周獻(xiàn)珍,張抒
(1.常州旅游商貿(mào)高等職業(yè)技術(shù)學(xué)校, 督導(dǎo)評估處, 江蘇, 常州 213033;2.杭州有情文化藝術(shù)有限公司, 浙江, 杭州 310000)
運動目標(biāo)識別是機(jī)器視覺領(lǐng)域和視頻處理技術(shù)的基礎(chǔ)研究課題,其目的是在圖像序列或視頻中把感興趣的背景和運動目標(biāo)分離,獲得運動目標(biāo)位置信息[1-2]。提取目標(biāo)對象可為之后的跟蹤提供基礎(chǔ),因為識別結(jié)果影響后期應(yīng)用效果,所以很多學(xué)者一直對運動目標(biāo)的識別算法進(jìn)行不斷地改進(jìn)來獲取準(zhǔn)確的圖像[3]。
運動目標(biāo)的識別方法針對視頻圖像的特殊性,常用的運動目標(biāo)識別方法有:亢潔等[4]研究的基于RPCA與三幀差分融合的運動目標(biāo)檢測方法;張彩珍等[5]研究的基于五幀差分和模板匹配的運動目標(biāo)檢測識別方法。這2種方法雖然簡單,但對運動目標(biāo)的識別存在空洞、輪廓不完整的問題。
計算機(jī)視覺主要應(yīng)用在圖像處理、人工智能、模式識別等方面。機(jī)器學(xué)習(xí)作為計算機(jī)視覺的一種,其主要研究目的是為了獲取環(huán)境中的物體信息,實現(xiàn)用計算機(jī)代替人眼和大腦,最后解決真實描述、識別和存儲圖像中的高級視覺問題。為此本文提出了基于機(jī)器學(xué)習(xí)的動態(tài)環(huán)境運動目標(biāo)自動識別方法,檢測圖像序列中的所有運動目標(biāo),并將檢測到的目標(biāo)特征作為一類目標(biāo)進(jìn)行目標(biāo)跟蹤,提升圖像跟蹤識別效果,為后續(xù)應(yīng)用提供強(qiáng)有力的數(shù)據(jù)支撐。
運動目標(biāo)檢測常用的方法之一是幀間差分法。通過視頻圖像中相鄰兩幀圖像的差異,用一個閾值來判斷是否存在運動物體,并對時間上相鄰的圖像在視頻圖像中的絕對差進(jìn)行求解[6-7]。幀間差分法原理為假設(shè)視頻圖像中第k幀圖像各像素點的灰度值為Ik(i,j),第k-l幀圖像各像素點的灰度值為Ik-1(i,j),則差分圖像為
Dk(i,j)=|Ik(i,j)-Ik-1(i,j)|
(1)
通過設(shè)定閾值T來對上述得到的差分圖像中的各個像素點進(jìn)行判斷,視頻圖像中的運動區(qū)域提取為

(2)
針對三幀差分法的不足之處[8],在三幀差分法基礎(chǔ)上對五幀差分法進(jìn)行改進(jìn),5幀圖像在預(yù)處理后表示為ft(x,y)、ft-1(x,y)、ft-2(x,y)、ft+1(x,y)、ft+2(x,y)。其中,利用中間幀ft(x,y)分別和前后2幀做差分運算,計算結(jié)果為
D13(x,y)=|ft(x,y)-ft-2(x,y)|
(3)
D23(x,y)=|ft(x,y)-ft-1(x,y)|
(4)
由于運算造成的目標(biāo)重疊現(xiàn)象和克制空洞現(xiàn)象進(jìn)行目標(biāo)輪廓優(yōu)化,獲得最后的目標(biāo)輪廓為
D34(x,y)=|ft(x,y)-ft+1(x,y)|
(5)
D35(x,y)=|ft(x,y)-ft+2(x,y)|
(6)
用“與”運算方法分別對差分后的結(jié)果D35(x,y)和D13(x,y),D34(x,y)和D23(x,y)進(jìn)行運算:
D1=D13(x,y)?D35(x,y)
(7)
D2=D23(x,y)?D34(x,y)
(8)
“與”運算通過采用中值濾波對圖像中的部分噪聲進(jìn)行去除[9],通過對圖像進(jìn)行差分,有利于運動目標(biāo)的提取,實現(xiàn)D1和D2的濾波處理,同時運用動態(tài)閾值進(jìn)行二值化處理。將結(jié)果使用“或”運算,可以有效克制運算造成的目標(biāo)重疊現(xiàn)象和克制空洞現(xiàn)象[10],獲得最后的目標(biāo)輪廓:
D(x,y)=D1⊕D2
(9)
改進(jìn)五幀差分的運動目標(biāo)檢測算法是以五幀差分算法為基礎(chǔ),利用中值濾波對圖像進(jìn)行去噪處理,通過改進(jìn)的五幀差分法檢測到比較完整的運動目標(biāo)輪廓[11]。最后經(jīng)過后期處理可以準(zhǔn)確完整提取運動目標(biāo)區(qū)域。改進(jìn)算法整體流程如圖1所示。

圖1 改進(jìn)算法流程
整個算法流程中,對連讀的5幀圖像分別進(jìn)行中值濾波處理,其他4幀圖以中間幀為基礎(chǔ)分別進(jìn)行差分運算,得到的差分結(jié)果D13、D23、D34、D35分為2組分別進(jìn)行取“異或”、取“與”操作。將同時存在的前景運動目標(biāo)取出進(jìn)行取“與”操作,將分差后各自的運動目標(biāo)取出進(jìn)行“異或”操作,操作中會比原來存在更多的噪聲。當(dāng)存在的前景運動目標(biāo)像素最多,重現(xiàn)現(xiàn)象和噪聲也增多的情況下,把相同的以及各自的運動像素合在一起進(jìn)行“或”操作,將生成的2幀進(jìn)行“與”操作,得到前景運動目標(biāo),能改善重影以及消除大部分噪聲,實現(xiàn)對運動目標(biāo)的初步檢測。
采用CamShift算法(continuously adaptive MeanShift algorithm,連續(xù)自適應(yīng)的均值漂移算法)實現(xiàn)動態(tài)環(huán)境運動目標(biāo)自動跟蹤識別。Camshift算法是以MeanShift為基礎(chǔ),將MeanShift算法擴(kuò)展到視頻圖像序列中,將MeanShift迭代作為核心,自適應(yīng)調(diào)節(jié)搜索窗的寬度來適應(yīng)運動目標(biāo)在圖像中的尺寸變化,是一種圖像的顏色概率統(tǒng)計和分布直方圖的算法[12]。
因為RGB顏色空間對光照亮度的變化比較敏感,CamShift算法需要基于顏色特征的跟蹤算法,把圖像RGB顏色空間轉(zhuǎn)換到顏色空間來減少光照對跟蹤的影響。根據(jù)每個像素點的HSV顏色空間在目標(biāo)區(qū)域的色度值建立的顏色直方圖和顏色概率分布圖為反向投影圖(Back-projection Image),輸入像素點為目標(biāo)像素點的概率通過查詢顏色概率分布圖可獲取;然后對MeanShift進(jìn)行迭代運算;最后調(diào)整搜索窗的大小、目標(biāo)的位置、質(zhì)心的計算,密度分布的最大值收斂在目標(biāo)反向投影圖上[13]。CamShift算法是將全部幀實施MeanShift運算,把上一幀搜索窗口的中心和大小的結(jié)果當(dāng)作下一幀MeanShift算法的窗口初始值[14-15],迭代之后,直至找到目標(biāo)位置。
圖2為CamShift算法流程圖,步驟具體如下:確定搜索窗口以及跟蹤目標(biāo);提取Hue分量生成顏色直方圖,把輸入圖像變換成HSV空間;反向投影圖的建立需要根據(jù)顏色直方圖把窗口中心移動到質(zhì)心,質(zhì)心為跟蹤搜索窗口內(nèi)計算坐標(biāo)的期望;收斂時通過MeanShift算法迭代進(jìn)行搜索;在此基礎(chǔ)上獲得搜索新的窗口大小和窗的中心位置,以此參數(shù)進(jìn)入下一幀圖像的目標(biāo)跟蹤和搜索,用S來調(diào)整搜索窗口的大小。

圖2 CamShift算法流程圖
像素在搜索窗中的位置用點(x,y)表示,點(x,y)是二值圖像I(x,y)中的像素值。得到搜索窗口的一階矩和零階矩為

(10)
質(zhì)心位置為
(11)
為了固定運動識別窗口大小,進(jìn)行圖像的二階矩計算目標(biāo)的尺寸和方向:

(12)
假設(shè)參數(shù):

(13)
下一幀圖像中,搜索窗口長軸l,短軸長度w與旋轉(zhuǎn)角θ分別為

(14)
CamShift算法計算量小,跟蹤效果好,當(dāng)跟蹤的運動目標(biāo)速度過快時,也不會致使跟蹤失敗,至此完成了動態(tài)環(huán)境運動目標(biāo)自動識別方法設(shè)計。
通過某機(jī)器視頻截取動態(tài)環(huán)境運動目標(biāo)樣本,針對視頻中的室內(nèi)人物、室外車輛以及飛機(jī)降落時的運動目標(biāo)進(jìn)行研究。實驗結(jié)果主要選取基于RPCA與三幀差分融合的運動目標(biāo)檢測(文獻(xiàn)[4]方法),以及基于五幀差分和模板匹配的運動目標(biāo)檢測(文獻(xiàn)[5]方法)為本研究所提方法的對比方法。
3種方法運動目標(biāo)檢測完整度如圖3~圖5所示。從圖3~圖5可知:室內(nèi)測試視頻中,文獻(xiàn)[4]方法有明顯的輪廓“空洞”現(xiàn)象,文獻(xiàn)[5]方法有明顯的輪廓陰影出現(xiàn),本研究運動目標(biāo)提取完整;室外測試視頻中,文獻(xiàn)[4]方法仍然存在有輪廓“空洞”現(xiàn)象,文獻(xiàn)[5]方法同樣有明顯的輪廓陰影,而本研究所提方法解決了陰影和輪廓不明顯的問題,檢測目標(biāo)完整。飛機(jī)降落視頻的運動目標(biāo)檢測是一種快速的運動目標(biāo)檢測。文獻(xiàn)[4]方法有“雙影”現(xiàn)象,文獻(xiàn)[5]方法有拖尾現(xiàn)象出現(xiàn),本研究所提方法的檢測效果最清晰,輪廓提取最完整,檢測效果優(yōu)勢顯著。

(a) 室內(nèi)視頻原始圖像

(c) 文獻(xiàn)[5]方法檢測結(jié)果

(a) 室外視頻原始圖像

(c) 文獻(xiàn)[5]方法檢測結(jié)果
將識別率和誤識別率2項指標(biāo)作為驗證對本研究所提方法識別效果的指標(biāo)。在同等條件下,分析3種方法識別結(jié)果,如表1所示。檢測視頻中3種方法都能有效地檢測出運動目標(biāo),并且識別率都能達(dá)到90%以上,但誤識別率有明顯差距,文獻(xiàn)[4]方法的誤識別率和文獻(xiàn)[5]方法的誤識別率都較高,而本研究所提方法在誤識別率上有明顯改進(jìn),視頻識別結(jié)果能夠準(zhǔn)確完整地表現(xiàn)運動目標(biāo),運動目標(biāo)輪廓清晰。

(a) 飛機(jī)降落原始圖像

(c) 文獻(xiàn)[5]方法檢測結(jié)果

表1 不同視頻類型中3種方法的識別率與誤檢率
動態(tài)環(huán)境運動目標(biāo)的自動識別研究一直廣受關(guān)注,相對于靜態(tài)環(huán)境的運動目標(biāo)識別,動態(tài)環(huán)境下的運動目標(biāo)識別難度更大,所面臨的挑戰(zhàn)也更大。伴隨機(jī)器學(xué)習(xí)技術(shù)應(yīng)用的逐漸廣泛,使得利用機(jī)器視覺實現(xiàn)動態(tài)環(huán)境運動目標(biāo)識別成為可能,為此本文研究并提出了基于機(jī)器學(xué)習(xí)的動態(tài)環(huán)境運動目標(biāo)識別方法。所提方法能有效結(jié)合改進(jìn)五幀差分法和CamShift算法,共同完成運動目標(biāo)跟蹤識別,可有效避免當(dāng)前目標(biāo)識別存在的空洞、重影問題,可以識別到輪廓明顯、完整性較好的運動目標(biāo),且該方法的識別率高、誤識別率低。但本研究仍存在一些不足,未對不同氣候環(huán)境的動態(tài)運動目標(biāo)進(jìn)行識別,在今后的研究中會針對該方面加以改進(jìn),以確保研究更加深入完整。