王曉寧,宮法明,時念云,呂軒軒
(中國石油大學(華東)計算機與通信工程學院,青島 266580)
海上石油平臺環境復雜,實現海上石油平臺的目標檢測和定位,其難點主要體現在如下幾個方面:現有運行的采油工作平臺類型非常多,攝像頭的安裝位置各不相同,加之海上環境復雜多變,使得視頻背景及海上石油平臺工作人員在視頻中出現的位置復雜多變;海上情況復雜,受天氣影響嚴重,霧天、雨天等天氣下,攝像頭圖片模糊不清,增加了目標檢測的難度;海上石油平臺中采油設備密集,攝像頭可選擇的安裝位置有限,這一限制條件決定了視頻畫面中的待檢測目標遮擋程度各異、截斷情形較多;攝像頭安裝位置不定,導致所得到的圖片的拍攝角度各異,部分攝像頭甚至從頭部向下俯拍,此類目標難以良好檢測.
隨著計算機視覺技術的不斷發展與進步,深度學習作為計算機視覺領域中越來越火熱和成熟的部分,人們希望深度學習能夠代替人類完成更多的工作,甚至能在某些領域有更大的突破.目標檢測是計算機視覺中的基本挑戰難題之一.近幾年,目標檢測等領域取得了重大進展,這主要得益于深度學習.R-CNN[1],SPP-NET[2],Fast R-CNN[3]和Faster R-CNN[4]等結合了候選區域和卷積神經網絡(CNN)實現目標檢測.YOLO[5]和SSD[6]等將目標檢測轉換為回歸問題的目標檢測框架.
目前基于深度學習的目標檢測研究很多,應用在目標檢測中效果十分突出,現有的方法檢測精確,但計算量相對較大,檢測效率達不到實時應用的要求.這些方法的檢測速度通常以秒/幀為單位,Faster R-CNN 只能以每秒7 幀的速度工作.目前為止,速度的顯著提高會大大降低檢測精度.復雜場景目標檢測算法不僅在檢測精度上取得了一定提高,同時檢測效率方面也能夠滿足實時應用的要求.
復雜場景目標檢測方法(簡稱ODCS)可以有效地實現海上石油平臺的目標檢測和定位,從輸入的監控視頻中,確定檢測目標在圖像中的位置和大小,將基于深度學習的目標檢測應用于視頻監控實際應用中.ODCS 消除了特征重采樣,從而避免了破壞原來的像元值,最終使計算量大大減少,提高了算法的檢測效率.
本文的組織結構如下:在第2 節中,介紹現階段目標檢測的相關研究;在第3 節中,介紹本文提出的方法思想以及本文模型的訓練過程;第4 節中,針對石油平臺的監控視頻數據集進行實驗驗證;第5 節中,對本文內容進行總結.
在卷積神經網絡出現之前,目標檢測方法最先進的領域——可變形部分模型(DPM)[7]和選擇性搜索[8]——具有類似的性能.然而,在R-CNN 帶來戲劇性的改善后,結合選擇性搜索候選區域和基于卷積網絡分類,區域提案的目標檢測方法變得流行.
R-CNN 在各種方式上都得到了改進,提高了后分類的質量和速度.但是因為它需要對數千幅圖像進行分類,既昂貴又耗時.SPP-NET 引入了空間金字塔池層,對區域大小和規模更有魯棒性,并且允許分類層重用在幾種圖像分辨率生成的特征映射上計算出來的特征,大大加快了R-CNN.Fast R-CNN 延伸SPP-NET 使它可以很好的通過最小化為信心和包圍盒回歸損失調整所有層的端到端的,這是第一次在MultiBox[9,10]學習對象.
利用卷積神經網絡可以提高提案生成的質量,比如MultiBox 基于低層圖像特征的選擇性搜索區域方案被直接由一個單獨的卷積神經網絡生成的正函數所取代.這進一步提高了檢測的準確性,但需要訓練兩個神經網絡之間的依賴關系.Faster R-CNN 取代了從區域建議網絡(RPN)中學習的選擇性搜索方案,并提出了一種將RPN 與Fast R-CNN 相結合的方法,在這兩種網絡之間交替調整共享卷積層和預測層.這樣,區域提案被用于集合中層特征,最后的分類步驟更便宜.SSD 非常類似于R-CNN 中的區域提案網絡(RPN),因為SSD 也使用固定的(默認)框來預測,類似RPN 中的錨框.但是,SSD 可以同時為每個框中的每個對象類別生成一個分數,而不是使用這些到池特征并對另一個分類器進行評估.因此,SSD 避免了RPN 與Fast RCNN 合并的復雜性,并且更容易訓練,更快、更直接地集成到其他任務中.
OverFeat[11]完全跳過建議步驟,直接預測多個類別的邊界框和置信度,在了解基本對象類的置信度后直接從最高的特征圖預測一個包圍盒.YOLO 使用整個最頂層特征圖來預測多個類別的置信度和邊界框.SSD 沒有建議步驟,直接使用默認框,比之前的方法更靈活,因為可以在每個特征位置上使用不同的縱橫比的默認框,在不同的尺度上使用多個特征映射.如果在最上面的功能圖中每個位置只使用一個默認框,SSD就會擁有類似于OverFeat 的架構.如果使用整個上面的特征映射和添加一個完全連接層,而不是SSD 的卷積因子的預測,并沒有明確地考慮多方面的比例,可以近似地再現YOLO.
為了處理不同的對象尺度,一些方法[12]建議首先處理不同尺寸的圖像,然后將結果合并.然而,通過利用單個網絡中幾個不同層的特征映射進行預測,我們可以模擬相同的效果,同時還可以跨所有對象尺度共享參數.已有工作[13,14]已經表明,使用低層的特征圖可以提高語義分割的質量,因為低層的特征圖能夠捕捉輸入對象的更多細節.同樣,文獻[15]表明,從特征映射匯集的全局上下文可以幫助平滑分割結果.受這些方法的啟發,我們使用較低和較高的特征圖進行檢測.
復雜場景目標檢測算法(簡稱ODCS)的完整流程如圖1所示,步驟總結如下.
Step 1:對原始圖像進行圖像預處理,并在多級特征圖上生成默認候選區域.
Step 2:拒絕最有可能是背景的默認候選區域.
Step 3:多級特征圖輸入到目標檢測網絡中,獲得檢測分數,每個檢測分數包含一個特定對象類的檢測置信度.
Step 4:使用邊界框回歸進一步提煉邊界框,減少定位誤差.
Step 5:利用深度模型的全圖像分類評分作為上下文信息來細化每個對象框的檢測.
ODCS 結合不同分辨率的多個特征圖的預測來自然處理各種尺寸的對象,每個特征圖上的每一個小格子為一個特征圖單元.本算法中,首先定義默認候選區域為在特征圖的每個小格上的一系列固定大小的包圍盒.假設每個特征圖單元有k個默認候選區域,那么對于每個默認候選區域都需要預測c個類別得分和4 個偏移坐標,那么如果一個特征圖的大小為m×n.經過候選區域拒絕后,保留下q(q<m×n×k)個候選區域,那么這個特征圖一共有(c+4)×q個輸出.然后,利用全圖像分類評分作為上下文信息細化對每個對象框的檢測,以提高檢測精確度.最后,使用邊界框回歸精確定位,以減少定位誤差.
ODCS 實現了海上石油平臺的目標實時檢測,從輸入的監控視頻中,確定檢測目標在圖像中的位置和類別,將基于深度學習的目標檢測應用于視頻監控實際應用中.ODCS 消除了特征重采樣,從而避免了破壞原來的像元值,最終大大減少了計算量,提高了目標檢測效率.ODCS 將計算封裝在單個網絡中,這樣易于訓練且可以直接集成到需要檢測組件的系統中.
在訓練期間,需要建立真實標簽框和候選區域之間的對應關系.每個真實標簽框都是從候選區域中選擇,這些候選區域根據位置和長寬比而變化.首先,我們將每個真實標簽框與具有Jaccard 相似系數的候選區域匹配.將任何具有Jaccard 相似系數高于閾值的候選區域與真實標簽相匹配,這簡化了學習問題,多個重疊候選區域時,網絡預測獲得高置信度,而不是要求它僅挑選具有最大重疊的一個,所以一個真實標簽可能對應多個候選區域.
在預測階段,直接預測每個候選區域的偏移以及對每個類別相應的得分,最后通過NMS 得到最終的結果.對于每個候選區域,同時預測它的偏移坐標和所有類的置信度.因此,對于每個特征圖單元而言,一共有4 種候選區域.可以看出這種候選區域在不同的特征層有不同的大小,在同一個特征層又有不同的縱橫比,因此基本上可以覆蓋輸入圖像中的各種形狀和大小的對象.
第i個候選區域與第p個第j個真實標簽框匹配的指示器:

整體目標損失函數是本地化損失:

其中,N是匹配的默認框的數量.如果N= 0,則將損失設置為0.定位損失是預測框(l)和真實標簽框(g)參數之間的平滑損失.置信度損失是多級置信度(c)的最大值損失.
預訓練和微調階段的深層結構僅在用于預測標簽的最后完全連接層中不同.除了最后完全連接的分層以外,在訓練階段學習的參數直接作為微調階段的初始值.
已知網絡中不同層次的特征圖具有不同大小的接受區域 .在我們的框架內,候選區域不需要對應于每個層的實際接受字段.我們設計默認候選區域的平鋪,以便特定的特征圖學習響應物體的特定尺度.假設我們想使用m個特征映射進行預測,每個特征映射的候選區域的尺度計算如下:

其中,smin為0.2,smax為0.9,中間的所有層均勻分布.
通過將許多特征圖的所有位置的預測誤差都包含在不同的誤差范圍之內,我們有了各種各樣的預測,涵蓋了輸入對象的各種大小和形狀.
對于窗口一般使用四維向量(x,y,w,h)來表示,分別表示窗口的中心點坐標和寬高.對于圖2,紅色的框P 代表原始的窗口,綠色的框O 代表目標的真實窗口,我們的目標是尋找一種關系使得輸入原始的窗口P 經過映射得到一個跟真實窗口G 更接近的回歸窗口Q.
對于圖像分類任務學習的深度模型考慮到場景信息,而深度模型的對象檢測集中在局部邊界框.將1000 級圖像分類分數作為上下文特征,與200 級對象檢測分數連接形成1200 維特征向量,在此基礎上學習線性支持向量機對200 個分類檢測分值進行優化.

圖2 邊界框回歸
使用圖像分類任務,使用海上石油平臺281 個攝像頭的監控視頻數據的圖像進行注釋,預訓練深度模型.本次選取的攝像頭安裝的位置、角度各不形同,視頻涵蓋全天2 4 小時所有時間段,數據總量達到28891 組.微調對象檢測任務的深度模型,使用來自對象檢測訓練數據的對象級別注釋.
本實驗的原始數據來自海洋采油廠的流媒體服務器,各個海洋平臺上的監控設備保持固定不動,以海洋工作平臺作為監控場景,并通過微波的方式將實時的監控視頻傳輸并存儲到流媒體服務器中.在原始視頻庫數據集上,使用關鍵幀圖像提取法選取帶有目標的圖像數據集,即在1 秒的間隔內將首幀、中間幀和尾幀視為關鍵幀圖像,然后通過人工標注圖像形成目標檢測所使用的標簽數據庫.該數據庫存儲了目標的標簽類型和位置信息,包含了2 萬張目標圖像,由204 路攝像頭采集各個場景的圖像組成.
本文使用同一組訓練數據分別對Faster R-CNN、SSD 和本文提出的復雜場景目標檢測方法進行訓練,并使用同一組測試數據在相同配置的計算機上對兩種方法進行檢測.實驗所用的訓練數據和測試數據均取自石油平臺監控視頻.數據涵蓋了石油平臺281 個攝像頭,圖3為復雜場景目標檢測算法所得到的實驗結果,分別展示了不同場景下人員、車輛和船只的檢測結果.其中,紅色框代表檢測結果為人員,綠色框代表檢測結果為車輛,藍色框代表檢測結果為船只.
設計實驗將ODCS 與Faster R-CNN、SSD 的訓練迭代次數與錯誤率進行對比實驗.采用隨機梯度下降的方法輸入樣本進行訓練,學習率為0.01.圖4為實驗結果對比.由圖4可以看出,與其他兩種方法相比,ODCS 的識別錯誤率更低,當訓練迭代次數達到30 次時,ODCS 基本達到收斂狀態,其識別錯誤率已低于1%.

圖3 ODCS 實驗結果圖

圖4 訓練迭代次數與錯誤率
為了客觀地驗證復雜場景目標檢測算法的檢測效果如何,針對檢測結果現在做如下的定義:TP 定義為人(車或船)的圖片被正確識別成人(車或船);TN 定義為未包含目標的圖片沒有被識別出來,系統正確地認為無目標;FP 無目標的圖片被錯誤地識別為人(車或船);FN 人(車或船)的圖片沒有被識別出來,系統錯誤地認為無目標.采用3 個參數指標對本文提出的算法進行比較分析,分別為精確率(Precision)、召回率(Recall)和誤檢率(PBC).依據上述3 個參數指標得到的對比實驗結果,表1為實驗結果分析表,圖5所示為三種方法的準確率、召回率和誤檢率對比結果圖.
由圖5實驗結果可以直觀的看出,復雜場景目標檢測算法在整體性能上要優于其他2 種算法:精確率平均提高了2%左右,召回率提高了大約3%,誤檢率也降低了2%左右.
由上述實驗結果得知,三種方法對車輛船只的檢測效果優于對人員的檢測,分析原因如下:首先,車輛、船只等本身屬于剛性物體,不存在形變,人員屬于非剛性目標,存在形變等現象;其次,人員檢測中的檢測環境存在很大的誤導性,周圍環境復雜,人員遮擋嚴重.

圖5 實驗結果對比表
在目標檢測中,光線對于目標檢測的結果影響很大,光照強度的變化可能會導致結果的誤判,如光的反射或者光照射角度所產生的陰影的不同;同樣,天氣原因如雨霧天等會使視頻中目標模糊,使得提取的特征有細微的變化從而影響檢測結果.本文提出的復雜場景目標檢測算法具有很好的魯棒性,可以在不同的復雜場景下進行目標檢測,檢測結果良好.
如何從復雜場景中實現目標的識別與檢測則成為更加重要和困難的問題.針對該問題,我們提出了一種基于卷積神經網絡來檢測圖像中的對象的方法.我們的方法將邊界框的輸出空間離散化為根據不同長寬比和每個特征映射位置縮放的一組默認框.在預測時,網絡會在每個默認框中為每個對象類別的出現生成分數,并對框進行調整以更好地匹配對象形狀.另外,網絡結合不同分辨率的多個特征圖的預測來自然處理各種尺寸的對象.相對于需要對象提議的方法,我們的方法非常簡單,因為它完全消除了提案生成和隨后的像素或特征重新采樣階段,并將所有計算封裝在單個網絡中.這使得我們的方法易于訓練和直接集成到需要檢測組件的系統中.與其他單級方法相比,即使輸入圖像尺寸較小,我們的方法也具有更高的精度.