宮法明,李翛然,馬玉輝
(中國石油大學(華東)計算機與通信工程學院,青島 266580)
近年來,運動目標識別[1]已經成為計算機視覺領域的研究熱點,引起了眾多學者的關注.隨著大數據的到來,引用大數據的治理體系包括對大數據的采集、存儲、管理、應用的全生命周期的管理,人們希望計算機能夠自主的識別并且理解人類的日常動作,使計算機能夠和人們更加自然的交流.目前運動目標識別主要應用于人機交互、醫療保健、智能安防、家居智能等領域.
針對這一課題,國內外的研究人員提出了多種解決方法.根據種類可以分為基于背景建模的目標檢測和基于前景建模的目標檢測.其中常見的基于背景建模的方法有光流法[2]、背景減法、幀間差分法[3]等.該類型的方法精確度低且受環境因素的影響非常大.基于前景建模的目標檢測方法通過對大量的目標數據進行訓練學習,得到相應的檢測器對目標進行分類,通常分為基于全局模板的目標檢測器[4]、基于部件模型的目標檢測器[5]以及基于深度學習的目標檢測器[6],該類型的方法可以更準確的檢測目標,但是對計算機計算硬件要求過高,檢測速度慢,很難實現實時檢測.
綜上所述,運動目標檢測技術在我們的生活中得到了應用,但大多適用于場景簡單、目標單一的情況.對于場景復雜的環境,往往得不到滿意的結果.針對這一問題,本文提出了一種復雜場景下的運動目標識別算法.
我們的實驗數據來源于海上平臺的監控視頻.由于在海上平臺上工作存在一定的危險性,以及與石油生產相關的化工原料和設備至關重要,所以對海上平臺狀況的監控就顯得尤為重要.所有的海上平臺都配備了視頻監控,以監測工作人員的安全和非法人員入侵等情況,這就要求我們能夠在大量的視頻中識別出運動目標.在傳統的行人檢測算法中,高分辨率的圖像提高了滑動窗口檢測[7]程序的操作復雜性.此外,人體還可能被海上平臺的復雜管道所遮擋,海水的流動會影響移動區域劃分的準確性,使得目標識別更加困難.
針對海上工作平臺監控視頻中管道遮擋復雜、色調單一、人體角度變形等問題.我們提出適用于該復雜場景下的運動目標識別算法進行解決.如圖1所示,為目標識別算法流程圖.首先,我們改進了光流算法,以圖像序列中光流向量為基礎,利用數據和空間約束檢測出圖像序列之間的光流向量變化,利用魯棒性[8]對參數進行優化,進行迭代和矯正獲得光流信息,對運動目標區域進行快速標記,從而過濾掉視頻中的靜態目標區域,大大降低計算量,提高了目標檢測的速度;其次,將運動目標區域進行矩形標準化處理,提取的運動區域進行滑動窗口檢測,比對圖像與身體部分外形模板的相似度,利用樹形結構對人體進行3D骨架建模[9],將圖像對人體各個部分的響應以信息傳遞的方式綜合計算,實現人體在圖像中的定位;通過回傳進行人體部分的定位[10],使用滑動窗口的方法獲取運動目標的動作時序,通過連接各個局部動作片段的特征描述整個動作序列;通過構建的人體模型進行復雜場景下的運動目標檢測.
本文的以下部分組織如下:在第2節中,介紹了在復雜場景下實現運動目標檢測的算法原理.在第3節中,在海上石油平臺的監控視頻數據集中對本文提出的算法進行實驗驗證,并分析了其優劣.在第4節中對本文內容進行了總結,并提出了未來的研究方向.

圖1 目標識別算法流程圖
傳統的光流算法可以看作一種簡單實用的圖像運動表達式.通常情況下,該算法會根據物體的運動信息來判斷物體是否發生移動.從圖像像素的角度觀察物體,圖像中亮度模式的變化是物體表面上的點在空間中移動速度的表達方式.光流的研究是通過時域變化來確定像素位置的移動以及圖像序列中像素強度數據的相關性,即研究圖像灰度在時間上的變化和物體結構與運動之間的關系.基于匹配、灰度、頻域和神經動力學四個方面,我們得到了光流的計算方法.此外,因為缺乏魯棒性的最小二乘估計,所以光流問題的許多常見解決方案由此而制定.光流估計中的當前工作忽略了違背亮度恒定性假設的問題,反而側重解決違背運動邊界的空間平滑度的問題,使得計算量較大,檢測速度較慢,檢測結果為物體輪廓.針對傳統光流算法存在的不足,我們提出了改進后的光流法.如圖2所示為改進的光流算法流程圖.

其中,(u,v)表示點(x,y)在時間t時的狀態,(u,v)是一個點的水平和豎直方向的速度,當δt很小時,數據約束的目標函數為:

其中,Ix表示在?目標區域上I對x的部分推導.當?非常小時,需要通過增加空間一致性來進一步限制u=(u,v)的解,空間一致性的目標函數是:

其中,ux表示u對x的部分推導,通過不斷改變目標函數和優化魯棒性估計,結合數據約束和空間一致性約束,總目標函數為:


圖2 改進的光流算法流程圖
魯棒性估計解決了在一組測試數據中找到最適合模型的參數值問題.我們的目標是找到使剩余錯誤達到最小的值,在獲得估計值之后,我們需要完善光流算法的目標函數.經過這些步驟之后,根據目標函數和優化約束得到的集合,再經過幾次迭代,計算出與最優解一致的優化約束和目標函數.此外,通過使用同時過度松弛算法(SOR)[11]找到局部最小值.
在我們的方法中使用的圖像具有各種分辨率,并且采用了多層的金字塔表示法.第一次迭代中的圖像輸入就具有4層金字塔的高分辨率,下抽樣時逐層減少,迭代次數為3時,每次迭代的金字塔有2層.此時,第二層是第一層的0.8倍.
通過上述過程,我們通過計算獲得了描述圖像運動屬性的光流場,并且根據運動背景的具體特點,設定光流的閾值.然后我們提取每個有效運動區域以及每個區域和邊界框的像素列表.
因為兩個連續圖像之間的時間間隔很短,所以我們可以得出結論:連續圖像中的對象的位置是相似的.此外,兩個連續圖像中的一個對象表明它們的位置的邊界框可以重疊,如果邊界框的重疊比例較大,那么兩個邊界框代表相同目標的可能性將會更大.由于運動的連續性,我們計算出兩個連續幀之間的運動物體的速度,以便估計該物體在第三幀中的位置,并把該結果與通過找到兩個運動矢量的最小點乘積而獲得的計算結果進行比較.我們還提出一個公式來計算可能性,D表示兩個邊界框之間的距離,比率是這兩個邊界框的重疊系數.當比值為1時,即邊界框完全重疊,此時計算結果即為邊界框之間的距離.
我們采用了部位混合(MoP)模型,其中人體的左側部分和右側部分由圖像中的位置定義,軀體部分用多個模板的混合來表示.通過對訓練人員身體部位輪廓的相對位置模型進行圖像計算,計算出每個滑動窗口位置對身體部位輪廓的響應值[12].
我們認為如頭、頸、肩、肘、手、軀干、胯部、膝蓋和腳等主要關節作為樹結構的節點,人的肢體作為樹結構中的節點與節點之間的連接.頭部是根節點,雙手和雙腳都是葉節點,這種樹型結構可以表示人體的鉸鏈模型.
利用訓練好的人體各部位相對位置關系模型,對圖像進行卷積操作,計算圖像中每個滑動窗口位置對身體部分外形的響應S(pi):

利用身體部分混合模型,將每個身體部分的響應通過消息傳遞的方式傳遞到人體樹形模型的根節點,得到圖像各個位置對整個人體模型的響應值S(t):

將利用滑動窗口得到的每個動作片段用特征直方圖表達;使用一個長向量把所有片段的特征直方圖表達串聯起來,使用局部訓練法,通過單獨對每個動作樣本集訓練特征詞匯從而得到覆蓋整個動作訓練集的特征詞匯表;特征碼本得到后,對每一個目標特征描述子[13]進行量化編碼;令P為從動作序列中獲得的目標特征描述子,每個特征描述子的維度為D,總共有N個特征:

令訓練得到的碼本有M個碼字,通過改進局部坐標編碼方式進行編碼:

其中,Δ表示元素間相乘,di是局部適配因子,它是根據輸入目標pi與碼本中各碼字間的相似性來賦值,看作特征基的權值;di的選取首先要滿足相似距離越近權值越大;選取di為非線性的表達式,同時引入了最近相似距離DM 作為比較對象:

其中,D(Pi,F)表示Pi和Fi的歐氏距離.

利用身體部位的混合模型,通過消息傳遞的方式將人體各部位的響應值傳遞給人體樹結構模型的根節點(相應的頭節點),然后,將每個部分的響應值都轉換為人體模型.根據對人體定位的結果,在樹結構中,MoP從樹結構的葉節點開始,并從每個子節點向其父節點傳遞最大匹配的分數值.通過消息傳遞的方式,所有的身體部位都會向根節點傳遞分數值.然后,根節點位置的分數值是評定在該位置的人體姿態的最終得分.最后,通過從根節點追溯到葉節點,MoP將固定身體各部位的位置.
利用樹形結構對人體建模,將圖像對人體各個部分的響應以信息傳遞的方式綜合計算,實現人體在圖像中的定位[14].通過回傳進行人體部分的定位,使用滑動窗口的方法獲取運動目標的動作時序,通過連接各個局部動作片段的特征描述整個動作序列.最后,根據構建的人體模型來完成特征匹配識別工作,計算出運動區域的對應關系,實現復雜場景下運動目標識別.
在計算機視覺領域,基于深度學習的卷積神經網絡算法是當前熱門的一種視頻識別算法.本實驗將使用同樣配置的計算機,分別使用基于深度學習的算法和本文提出的基于復雜場景的識別算法對相同視頻進行檢測,并得出兩組實驗的速度參數與準確率參數.
本實驗采用普通的PC機,將CPU為2.4 GHz,內存為8 G的PC機作為硬件平臺,搭載英偉達GTX 1060型號顯卡.采用Matlab R2014a和Caffe作為Windows 10系統中的程序環境.
實驗所用的視頻來自海上平臺,由監控設備提供.在實驗中,監控設備保持不動,視頻序列以海洋工作平臺作為背景

圖3 復雜場景下的目標檢測法所得結果圖

圖4 卷積神經網絡法所得結果圖

表1 實驗檢測結果對比表
如圖3、圖4所示,分別是使用本文提出的復雜場景下的目標檢測算法和使用卷積神經網絡算法所得出的結果圖.其結果表明兩種算法均能在復雜的場景下實現目標物體的準確識別.本文提出的目標檢測算法可以通過估算邊界框的大小來判斷待檢測人體的大小,然后檢測人體的所有部位,并用不同的顏色標記它們,以便于實現人體的姿態識別.
如表1所示,為兩組檢測算法在在同一數據集的基礎上進行實驗的結果圖.其中,包含目標幀為視頻幀中包含運動目標的個數,不包含目標幀為視頻幀中不包含運動目標的個數,誤測率為檢測錯誤的視頻幀占不包含目標幀的比率,漏測率為檢測遺漏的視頻幀占包含目標幀的比率,檢測時間為檢測該組數據集所消耗的時間.通過實現可以得出:
(1)在相同的數據檢測中,本文提出的方法在檢測效率上要優于基于深度學習的檢測算法.
(2)在相同的數據檢測中,本文提出的方法在檢測質量上略低于基于深度學習的檢測算法,但在資源的消耗程度上要優于深度學習檢測算法.
實驗表明,我們所提出的基于復雜場景下的目標識別算法,在復雜場景下進行目標檢測比基于深度學習的方法更具適應性.
本文所提出的復雜場景下的運動目標識別算法,可以在保證在較高準確率的情況下,更快地實現運動目標的識別與跟蹤,該方法可以對需要安全監控的特定區域(如復雜的工作環境)內的異常事件進行有效自動的報警.由于海上平臺遠離陸地,且工作環境相對復雜,因此,該項技術的應用有效地保證了工作人員的安全以及平臺工作的順利開展.下一步工作,將計劃利用檢測到的運動目標進行特征提取[15],實現運動目標的多姿態識別.