郝慧琴,王耀力
(太原理工大學(xué) 信息工程學(xué)院,山西 太原 030024)
?
基于幀間差分和金字塔光流法的運(yùn)動(dòng)目標(biāo)檢測
郝慧琴,王耀力
(太原理工大學(xué) 信息工程學(xué)院,山西 太原 030024)
針對(duì)用于運(yùn)動(dòng)目標(biāo)檢測的光流算法存在處理復(fù)雜、計(jì)算量大等問題,提出一種幀間差分算法和金字塔LK光流法相結(jié)合的運(yùn)動(dòng)目標(biāo)檢測方案。該方法先對(duì)視頻圖像進(jìn)行幀間差分處理,得到圖像的運(yùn)動(dòng)區(qū)域,再對(duì)該運(yùn)動(dòng)區(qū)域進(jìn)行金字塔LK光流計(jì)算,減少了計(jì)算區(qū)域,提高目標(biāo)檢測的速度。最后在搭建的視覺避障平臺(tái)上使用LabVIEW語言進(jìn)行算法程序驗(yàn)證,實(shí)驗(yàn)結(jié)果證明了算法的有效性。
幀間差分法;金字塔LK光流法;運(yùn)動(dòng)目標(biāo)檢測;視覺避障平臺(tái)
運(yùn)動(dòng)目標(biāo)檢測是目前機(jī)器視覺領(lǐng)域的研究熱點(diǎn),廣泛應(yīng)用于安防保衛(wèi)、機(jī)器人避障、人臉識(shí)別等領(lǐng)域。目前常用的運(yùn)動(dòng)目標(biāo)檢測方法有:背景差分法、幀間差分法、光流法。
背景差分法[1-2],通過將當(dāng)前圖像和背景圖像作對(duì)比來檢測出運(yùn)動(dòng)物體,該方法檢測運(yùn)動(dòng)目標(biāo)速度快、檢測準(zhǔn)確、易于實(shí)現(xiàn),但是其檢測效果依賴于背景模型的選取。在實(shí)際應(yīng)用中,隨著背景圖像的運(yùn)動(dòng)需要進(jìn)行背景模型更新。
幀間差分法[3],通過對(duì)視頻圖像序列中的相鄰兩幀圖像做差分運(yùn)算來獲得運(yùn)動(dòng)目標(biāo)輪廓,該算法實(shí)現(xiàn)簡單、對(duì)光線變化不太敏感、穩(wěn)定性較好,但是不能提取出對(duì)象的完整區(qū)域,只能提取出邊界,且?guī)g時(shí)間間隔的選擇直接影響檢測效果。
光流法[4],通過研究圖像灰度在時(shí)間上的變化與影像中物體結(jié)構(gòu)及其運(yùn)動(dòng)的關(guān)系來檢測運(yùn)動(dòng)物體,該算法不需要預(yù)先知道場景的任何信息,避免了背景模型的更新以及幀間時(shí)間間隔的選取問題,但是該算法的實(shí)現(xiàn)有三個(gè)假設(shè)前提,但在實(shí)際應(yīng)用中,光流法的三個(gè)假設(shè)前提很難滿足,基于此,本文提出了基于幀間差分法和金字塔LK光流法[5]的運(yùn)動(dòng)目標(biāo)檢測,并在實(shí)驗(yàn)平臺(tái)上驗(yàn)證,結(jié)果表明該方法不受光線變化和運(yùn)動(dòng)快慢的影響,可以更精確地檢測到運(yùn)動(dòng)目標(biāo)。
1.1幀間差分法
幀間差分法是將視頻序列中的相鄰兩幀圖像做差分運(yùn)算,當(dāng)某像素點(diǎn)前后兩幀圖像的灰度差絕對(duì)值大于閾值時(shí),標(biāo)記該位置為運(yùn)動(dòng)區(qū)域。通過對(duì)圖像中所有像素點(diǎn)進(jìn)行灰度值對(duì)比得到運(yùn)動(dòng)目標(biāo)的輪廓。
取相鄰兩幀圖像I(t)、I(t+1),圖像中的像素點(diǎn)(x,y)在t時(shí)刻的灰度值為f(x,y,t),像素點(diǎn)(x,y)在t+1時(shí)刻的灰度值為f(x,y,t+1),得到的差值圖像為
(1)
式中:T為閾值,當(dāng)像素點(diǎn)(x,y)在相鄰圖像的灰度差絕對(duì)值大于T時(shí),標(biāo)記差值圖像中點(diǎn)(x,y)的灰度值為1,當(dāng)灰度差絕對(duì)值小于T時(shí),標(biāo)記差值圖像中點(diǎn)(x,y)的灰度值為0。其中,T的選取非常重要,既要能忽略背景灰度的微小變化,也必須精確地標(biāo)記出變化區(qū)域。
這種算法將前一幀圖像作為背景模型,對(duì)當(dāng)前圖像做差分運(yùn)算,避免了背景差分法中背景模型的更新,算法簡單,計(jì)算量小,且對(duì)光線變化不敏感。但該算法只能提取出運(yùn)動(dòng)目標(biāo)的邊界,對(duì)幀間時(shí)間間隔和閾值的選擇有較高的要求。當(dāng)物體運(yùn)動(dòng)較快,而時(shí)間間隔較大時(shí),物體在前后兩幀圖像沒有重疊,這樣會(huì)被檢測為兩個(gè)分開的物體;當(dāng)物體運(yùn)動(dòng)較慢,而時(shí)間間隔較小時(shí),物體在前后兩幀圖像中幾乎完全重疊,則會(huì)檢測不到物體。
1.2LK光流法
光流法利用圖像序列中像素強(qiáng)度數(shù)據(jù)的時(shí)域變化和相關(guān)性來確定各像素位置的“運(yùn)動(dòng)”。LK(Lucas-Kanade)光流算法[6-7]是一種兩幀差分的光流估計(jì)算法,被廣泛應(yīng)用于稀疏光流場,假設(shè)前提是:1)亮度恒定不變;2)時(shí)間連續(xù)或者運(yùn)動(dòng)是“小運(yùn)動(dòng)”;3)空間一致,臨近點(diǎn)運(yùn)動(dòng)情況相似且這些點(diǎn)在圖像上的投影也在臨近區(qū)域。假設(shè)1)是為了保證等號(hào)成立不受亮度的影像,假設(shè)2)是為了保證KLT[8]能夠找到點(diǎn),假設(shè)3)則是為了保證同一窗口中所有點(diǎn)的偏移量都相等。
圖像約束方程為
I(x,y,t)=I(x+dx,y+dy,t+dt)
(2)
I(x,y,t)表示t時(shí)刻點(diǎn)(x,y)的灰度,假設(shè)圖像移動(dòng)足夠小,對(duì)圖像約束方程使用泰勒公式,得到
(3)
Ixu+Iyv=-It
(4)
(5)
普通的最小二乘解是指窗口內(nèi)的n個(gè)像素的光流值一樣,但是隨著各點(diǎn)光流與中心點(diǎn)距離的增加,光流偏差會(huì)有所增加,所以設(shè)W2為一個(gè)窗口權(quán)重函數(shù),該函數(shù)使窗口中心點(diǎn)的加權(quán)比周圍大,得到加權(quán)版本
r=(ATW2A)-1ATW2b
(6)
計(jì)算得光流值:
(7)
1.3金字塔LK光流法
J(x+dx,y+dy))2
(8)
將圖像的寬高每次縮放為原來的一半,共縮放Lm層,第0層為原圖像。設(shè)已知原圖的速度為d,則每一層的速度為
(9)
假設(shè)在L層求解光流,將此層的計(jì)算結(jié)果反饋給上一層L-1,作為該層初始時(shí)的光流估計(jì)g。依此類推,直到第0層,即原圖,如圖1所示。
圖1 分層分解金字塔模型
對(duì)于每一層L,方程(8)變?yōu)?/p>
(10)
每一層的計(jì)算結(jié)果dL通過如下方程反饋給上一層作為初始的光流估計(jì)
gL-1=2(gL+dL)
(11)
由于金字塔的縮放減小了光流值,最底層即Lm層的光流估計(jì)值設(shè)為0,即
(12)
以此方式迭代,可以得到最頂層(即0層)的光流值
d=g0+d0
(13)
(14)
(15)
(16)
(17)
函數(shù)EL(dL)取最小值時(shí)得到最優(yōu)光流矢量
dL=G-1b
(18)
1.4改進(jìn)算法
金字塔光流法可以檢測出運(yùn)動(dòng)速度過快的物體,取消了LK光流法的2)、3)假設(shè),但是計(jì)算量大,對(duì)硬件要求高,且不能消除光照對(duì)該算法的影響。本文將幀間差分法和金字塔光流法相結(jié)合,先對(duì)圖像進(jìn)行幀間差分運(yùn)算,得到運(yùn)動(dòng)目標(biāo)區(qū)域,再進(jìn)行金字塔光流運(yùn)算,這樣既避免了光線的影響(消除了1)假設(shè)),又可以檢測到運(yùn)動(dòng)速度過大的目標(biāo),并且降低了計(jì)算量,提高了系統(tǒng)的實(shí)時(shí)性。算法流程如圖2所示。
圖2 改進(jìn)算法流程
具體步驟如下:
1)視頻序列預(yù)處理、去噪。
2)取視頻序列的連續(xù)三幀圖像Ii-1(x,y),Ii(x,y),Ii+1(x,y)。
3)對(duì)Ii-1(x,y),Ii(x,y)做差分運(yùn)算,得到幀差圖像fi(x,y),對(duì)Ii(x,y),Ii+1(x,y)做差分運(yùn)算,得到幀差圖像fi+1(x,y)。
4)對(duì)幀差圖像fi(x,y),fi+1(x,y)做二值化處理,并進(jìn)行邏輯與操作,得到運(yùn)動(dòng)區(qū)域圖像J(x,y)。
9)計(jì)算Lm層的光流值dL=G-1b。
10)計(jì)算L-1層的光流:gL-1=2(gL+dL),以此類推得到最后的光流值:d=g0+d0。
11)圖像P(x,y)的對(duì)應(yīng)特征點(diǎn)為v=u+d。
12)得到運(yùn)動(dòng)目標(biāo)圖像P(x,y)。
NI Starter Kit是美國國家儀器公司(National Instruments)設(shè)計(jì)的一款可以實(shí)現(xiàn)自治系統(tǒng)的原型,包含NI sbRIO-9632嵌入式控制器、超聲波傳感器、編碼器、電機(jī)、電池等。它通過超聲波傳感器探測前方障礙物,人們可使用LabVIEW語言編寫避障程序,實(shí)現(xiàn)機(jī)器人的自主避障。NI起步包原型如圖3所示。
圖3 NI起步包原型
為了對(duì)本文提出的改進(jìn)算法進(jìn)行驗(yàn)證,筆者將NI起步包改裝為視覺避障平臺(tái)。使用網(wǎng)絡(luò)攝像機(jī)AXIS 206代替超聲波傳感器,使用華碩路由器RT-G32完成機(jī)器人、網(wǎng)絡(luò)攝像機(jī)和服務(wù)端的通信,并在NI起步包平臺(tái)上實(shí)現(xiàn)網(wǎng)絡(luò)攝像機(jī)(額定電壓5 V)和路由器(額定電壓12 V)的電源供應(yīng)。實(shí)驗(yàn)平臺(tái)如圖4所示。
圖4 NI起步包視覺平臺(tái)
本設(shè)計(jì)使用LabVIEW語言實(shí)現(xiàn)運(yùn)動(dòng)物體的實(shí)時(shí)監(jiān)控,并將本文提出算法在上述平臺(tái)進(jìn)行驗(yàn)證,完成機(jī)器人的自主避障。
為了近距離檢測到運(yùn)動(dòng)目標(biāo)后,再進(jìn)行機(jī)器人的運(yùn)動(dòng)姿態(tài)調(diào)整,本設(shè)計(jì)將所獲取的視頻截取下半部分進(jìn)行處理,圖5是沒有運(yùn)動(dòng)目標(biāo)情況下攝像機(jī)采集到的圖像,圖6中出現(xiàn)了一雙腳,圖7和圖8分別是經(jīng)過金字塔光流法處理得到的閾值圖像和實(shí)時(shí)檢測圖像,圖9和圖10分別是經(jīng)過幀間差分+金字塔光流法處理得到的閾值圖像和實(shí)時(shí)檢測圖像。
圖5 無運(yùn)動(dòng)目標(biāo)情況下采集的圖像(截圖)
圖6 出現(xiàn)運(yùn)動(dòng)目標(biāo)的視頻圖像(截圖)
圖7 經(jīng)過金字塔光流法處理后得到的閾值圖像(截圖)
圖8 經(jīng)過幀間差分+金字塔光流法處理后得到的閾值圖像(截圖)
圖9 經(jīng)過金字塔光流法處理后得到的實(shí)時(shí)檢測圖像(截圖)
圖10 經(jīng)過幀間差分+金字塔光流法處理后得到的實(shí)時(shí)檢測圖像(截圖)
從圖7~8的對(duì)比,以及圖9~10的對(duì)比,可以清楚地看出,結(jié)合幀差法和金字塔光流法改進(jìn)后的目標(biāo)檢測算法可以更精確地檢測到運(yùn)動(dòng)目標(biāo),并且不受光線的影響。
經(jīng)過實(shí)驗(yàn),優(yōu)化后的運(yùn)動(dòng)目標(biāo)檢測算法對(duì)于分辨率為320×240的視頻圖像平均可達(dá)18.9 f/s(幀/秒)的處理速度,滿足了避障平臺(tái)實(shí)時(shí)性的要求。
本文提出的基于幀間差分法和金字塔L-K光流法的組合算法,結(jié)合了各自算法的優(yōu)勢(shì),對(duì)運(yùn)動(dòng)目標(biāo)的檢測有更好的效果,并且大大提高了視頻處理的速度,在機(jī)器人自主避障的過程中提高了實(shí)時(shí)性,適當(dāng)增加了機(jī)器人前進(jìn)的速度。
[1]丁磊,宮寧生.基于改進(jìn)的三幀差分法運(yùn)動(dòng)目標(biāo)檢測[J]. 電視技術(shù),2013,37(1):151-153.
[2]CUCCHIARA R, PICCARDI M, PRATI A. Detecting moving objects,ghosts,and shadows in vedio streams[J]. IEEE transactions on pattern analysis and machine intelligence,2003,25 (10):12-15.
[3]熊英. 基于背景和幀間差分法的運(yùn)動(dòng)目標(biāo)提取[J]. 計(jì)算機(jī)時(shí)代,2014(3):38-41.
[4]ENKELMANN W. Investigations of multigrid algorithms for the estimation of optical flow fields in image sequences[J]. Computer vision,graphics and image processing, 1988,43(2):150-177.
[5]LUCAS B D,KANADE T. An iterative image registration technique with an application to stereo vision[J]. Proceedings of artifical intelligence,1981(4):1-4.
[6] 任克強(qiáng),余啟明,羅會(huì)蘭. 一種改進(jìn)的混合高斯模型運(yùn)動(dòng)目標(biāo)檢測算法[J]. 電視技術(shù),2012,36(23):168-171.
[7] 袁寶紅.基于視頻的運(yùn)動(dòng)目標(biāo)檢測與跟蹤[D].合肥:安徽大學(xué),2014.
[8]胡社教,葛西旺,陳宗海. 基于角點(diǎn)特征的KLT跟蹤全景圖像拼接算法[J]. 系統(tǒng)仿真學(xué)報(bào),2007(8):1742-1744.
[9]HORN B K P, SCHUNCK B G. Determining optical flow[J].Artificial intelligence,1981(17):185-203.
[10]吳新根,羅立民. 一種改進(jìn)的光流場計(jì)算方法[J]. 電子學(xué)報(bào),2000(1):130-131.
郝慧琴(1991— ),女,碩士生,主研單目視覺機(jī)器人避障;
王耀力(1965— ),副教授,主要研究方向?yàn)槿藱C(jī)視覺分析與處理、信息系統(tǒng)設(shè)計(jì)和嵌入式系統(tǒng)電路等。
責(zé)任編輯:閆雯雯
Algorithmformovingobjectdetectionbasedoninter-framedifferencingandpyramidopticalflowmethods
HAOHuiqin,WANGYaoli
(College of Information Engineering,Taiyuan University of Technology,Taiyuan 030024,China)
AmethodtodetectmovingobjectsusingInter-framedifferencingandpyramidLKopticalflowisproposed,asopticalflowalgorithmhasahighcomputationalcomplexityandlargecomputation,whichmakethelimitationcertain.Firstly,themotionareaofthevideoimagecanbedetectedbytheinter-framedifferencingmethod,andthentheopticalflowofthisareaiscalculatedusingpyramidLKflowmethod.Thecomputedareaisreduced,andthereforethedetectionspeedisimproved.Finally,thisimprovedmethodisverifiedonthevisualobstacleavoidanceplatformbyLabVIEWprogramsandtheexperimentresultsshowtheeffectivenessofthisalgorithm.
inter-framedifferencingmethod;pyramidLKopticalflowmethod;movingobjectdetection;visualobstacleavoidanceplatform
TP391
ADOI:10.16280/j.videoe.2016.07.029
山西省自然科學(xué)基金項(xiàng)目(2013011015-1)
2015-10-15
文獻(xiàn)引用格式:郝慧琴,王耀力. 基于幀間差分和金字塔光流法的運(yùn)動(dòng)目標(biāo)檢測[J].電視技術(shù),2016,40(7):134-138.
HAOHQ,WANGYL.Algorithmformovingobjectdetectionbasedoninter-framedifferencingandpyramidopticalflowmethods[J].Videoengineering,2016,40(7):134-138.