郝曉麗,劉 偉,牛保寧,呂進來
(太原理工大學信息與計算機學院 山西 晉中 030600)
運動目標檢測能夠識別目標運動所引起的幀間差異,是計算機視覺研究的一個重要分支[1]。運動目標檢測的核心是快速、完整地獲取視頻圖像中的運動物體??焖傩砸螳@取運動目標時,保持算法的低復雜度,實現(xiàn)實時檢測。完整性不僅要保證所獲取目標輪廓的完整性,更強調充分、完整地獲取運動目標的內部信息。
為了快速獲取目標,人們通常采用幀間差分法和基于Vibe的背景建模法[2]。幀間差分法依據(jù)相鄰幀間的圖像差異獲取目標,該方法計算簡單、實時性強。但由于幀間圖像同一位置的灰度值非常相近,容易導致空洞現(xiàn)象,使得運動目標的內部信息提取不完整。而基于Vibe的背景建模則是將當前幀的像素值與其鄰域N個樣本集建立起的背景模型進行比較,通過設定閾值將該像素點判定為前景或背景,該方法運算速率快,易于實現(xiàn)。但由于受限于基于少量樣本建立的背景模型,當樣本趨于無窮大時才能準確描述場景,在實際場景的應用中,當發(fā)生瞬時的光線突變時,背景模型來不及更新,容易將前景誤判為背景,產生“空洞”現(xiàn)象。針對此問題,文獻[3]采用膨脹、腐蝕形態(tài)學方法填充運動目標內部細小的空洞,解決了部分“空洞”現(xiàn)象;但由于像素點的擴充及消除,使得圖像中連通區(qū)域的大小發(fā)生改變,很難得到完整且面積接近真實目標的檢測結果。文獻[4]在傳統(tǒng)三幀差分基礎上,運用Canny算子擴充圖像邊緣,減弱了“空洞”現(xiàn)象,但對于運動過快的物體,由于相鄰幀間差異過大,易產生“重影”。而文獻[5]通過HSV顏色空間和Vibe算法的結合實現(xiàn)運動目標內部信息的檢測。
為了保證所獲取目標的完整性,通常采用背景差分法[6]和LK光流法[7],LK光流法通過各個像素的矢量特征對視頻圖像進行動態(tài)分析,從而得到完整目標,但其計算量過大,導致實時性和可用性差。背景差分根據(jù)當前幀與背景模型之間的差異,構建各像素點的高斯模型,通過目標像素與高斯模型的匹配,以獲取運動目標。此方法通過建立穩(wěn)定的背景模型來保證獲取目標內部信息的完整性[8]。建立背景模型的方法有均值背景建模[9]、CodeBook背景建模[10]、單高斯背景建模[11]等。但上述方法所建立的背景模型僅適用于單一場景,在復雜背景下由于背景像素點與噪音的干擾,易造成目標信息的丟失及誤判。而基于混合高斯建模的背景差分法[12]以不斷更新背景模型的方式實現(xiàn)運動目標的完整提取,但在學習過程中,高斯模型的更新多采用固定速率,忽略了在不同階段的背景建模中,其更新速率應存在差異的事實。若僅以固定的更新速率完成背景模型的更新,易造成算法復雜度增加,實時性受到影響。針對實時性差等問題,文獻[13]運用幀間差分實時性好的優(yōu)勢,來提高混合高斯建模的運算速度,但由于模型的更新速率無法適應背景信息的變化,使得算法對動態(tài)背景的適應性減弱;同時在物體運動緩慢或過快時,易造成像素點重疊較多或位置區(qū)域變化過大,若延用傳統(tǒng)相鄰幀間差分方式,會造成目標信息的丟失或“重影”。
運用深度學習的方法實現(xiàn)運動目標檢測是近幾年的研究熱點。如文獻[14]提出了基于Faster RCNN的行人檢測方法,利用CNN提取圖像特征,通過聚類和構建區(qū)域建議網(wǎng)絡(RPN)提取可能含有行人的區(qū)域,再利用檢測網(wǎng)絡對目標區(qū)域進行判別和分類,從而得到運動目標。它提高了目標檢測的準確度及速度,但會對一些形似目標的靜止物體產生虛警與誤判。
因此,目前的運動目標檢測算法主要存在兩方面的問題:1)當存在背景動態(tài)變化、噪聲干擾及物體運動緩慢時,目標圖像中對比度低的部分區(qū)域易被誤判為背景,導致內部信息無法完整獲取,易產生“空洞”問題;2)在物體快速運動時,由于邊緣像素的位置發(fā)生較大變化,在差分運算時運動目標的輪廓易產生“重影”及邊緣缺失的現(xiàn)象。
針對上述問題,本文提出了基于自適應學習率高斯建模的改進三幀差分算法,主要提出了兩點改進:1)鑒于三幀差分實時性強的優(yōu)勢,為保證快速且盡可能完整地獲取目標輪廓,采用任意幀間差分法,使差分結果不僅包括相鄰幀間的差分信息,還包括跨幀差分的目標信息,以此增加差分圖像所包含的邊緣信息,防止由于像素點獲取過多所造成的“重影”;2)鑒于混合高斯背景建模具有完整提取目標信息、抗干擾能力強的優(yōu)勢,為彌補三幀差分法極易帶來的“空洞”問題,提出基于自適應學習率的混合高斯背景建模法對目標的內部信息進行提取,通過背景模型的自適應修正,實現(xiàn)目標內部信息的充分獲取,提高目標檢測的完整性。
為了快速、完整地從視頻序列中獲取運動目標,本節(jié)分別就目標檢測中的混合高斯背景建模[15]以及三幀差分法[16]提出改進。
混合高斯建模運用不斷更新的背景模型,通過像素點與背景模型的匹配,實現(xiàn)像素點的準確分類,然而,由于現(xiàn)實場景環(huán)境復雜,易出現(xiàn)光照突變、物體遮擋等情況,若采用固定的模型更新速率,導致背景模型的更新速度無法適應背景信息的變化,易造成“鬼影”及誤檢現(xiàn)象。因此,為了解決上述問題,本文引入“自適應學習率”的概念,設計并實現(xiàn)基于自適應學習率的混合高斯背景建模,針對不同幀設定與之相適應的學習率,以達到背景模型不斷更新的目的。
1.1.1 問題與解決思路
為了更好地消除動態(tài)環(huán)境對目標獲取的影響,本文采用一種模型更新速率不斷調整的混合高斯背景建模法,通過設定幀數(shù)閾值TH,將背景建模劃分為兩個階段,當幀數(shù)小于閾值TH時,背景模型處于創(chuàng)建初期,為消除物體由靜止到運動造成的“鬼影”,需要通過較快的更新速度,增加高斯模型的權重及均值,以加速背景更新。當幀數(shù)大于閾值TH時,背景模型中的干擾信息得到去除,為避免將靜止或運動緩慢的目標吸收為背景的一部分,以目標像素及相鄰8像素在當前幀與背景模型中的差異度為依據(jù)調整學習率,實現(xiàn)背景模型的自適應修正,保證模型對動態(tài)環(huán)境的適應性。
1.1.2 高斯模型的更新
在模型創(chuàng)建之初,往往存在由靜止到運動的目標,若學習率 α取值過小,由于模型更新速度不及時,易出現(xiàn)“鬼影”現(xiàn)象;在模型中的干擾因素去除之后,若 α取值過大,容易將運動緩慢的目標判斷為背景,出現(xiàn)誤檢。因此,本文設定幀閾值,針對閾值之前視頻幀,以較快的、逐漸遞減的學習率更新背景模型,消除由于目標運動造成的“鬼影”;針對閾值之后的視頻幀,減慢更新速度,并依據(jù)檢測效果對學習率進行調整,保證模型的可靠性,以防止過度更新造成的目標丟失。學習率的設置為:
式中,α為學習率; λ1,λ2為常數(shù);f為幀數(shù);ΔD為目標像素與相鄰8像素在當前幀與背景模型中的差值,TH為幀數(shù)閾值,參考量 ΔD為:
式中,I(x+i,y+j)為目標圖像像素點;B(x+i,y+j)為背景模型像素點。
根據(jù)上述公式,在背景模型創(chuàng)建之初,模型的學習率隨著幀數(shù)f的增加不斷降低,但仍保持較高的更新速率,可以充分消除背景模型中的干擾信息。當幀數(shù)f大于閾值后,以目標像素及相鄰8像素在當前幀與背景模型中的差異度為依據(jù)調整學習率,充分、及時地反映目標像素的變化,從而調整背景模型的更新速度。
當f≤TH時,隨著幀數(shù)的增加,學習率逐漸遞減,模型更新速度由快減慢,通常 α為 [0.03,0.06]時模型的更新效果最優(yōu),即的取值應為[ 0.03,0.06]。當f>TH時,以目標圖像及相鄰像素點在當前幀與背景模型中的差值作為模型學習率修正的參考量,只需依據(jù)差異程度對學習率進行調整即可,即學習率隨著差值的減小而降低,從而保證所獲模型的可靠性,減少誤檢現(xiàn)象。
式(1)中,λ2(1?exp(?ΔD2))應滿足而即可得 λ1的取值范圍據(jù)此可得同時,閾值TH滿足求解其值為因其為整數(shù),取18。
因此,基于自適應學習率的混合高斯建模即可消除初始時期背景建模中的干擾因素,又能保證后續(xù)背景模型更新的可靠性。
1.2.1 問題與解決思路
基于自適應學習率的混合高斯背景建模通過設定不同的學習率,使得所獲目標更加完整,并通過自適應學習率加速背景模型的迭代速度,加快了目標檢測速度。但由于目標邊緣的位置不斷變化,使得像素點獲取不完整,目標邊緣缺失的問題仍然存在,且由于混合高斯建模的復雜性,算法復雜度依然較高。為解決算法實時性差的問題,本文運用三幀差分實現(xiàn)快速提取目標輪廓。然而在目標運動過快時,由于邊緣像素的位置發(fā)生較大變化,僅采用傳統(tǒng)相鄰幀間差分的方式,檢測出的運動目標輪廓易存在“重影”及邊緣缺失的現(xiàn)象。因此,本文提出改進的三幀差分方式,將相鄰幀間差分的方式改變?yōu)槿我鈳g差分法,增加差分圖像所包含的邊緣信息,消除“重影”。但其邊緣信息仍存在缺失的狀況,為解決此問題,本文借鑒Canny算子能夠有效讀取強邊緣和弱邊緣、抑制噪聲[17]的優(yōu)勢,運用其填充目標邊緣信息,進一步完善目標輪廓。
1.2.2 基于邊緣提取的三幀差分改進算法
本文采用任意幀間差分的方式,使差分結果充分包含視頻圖像中由于物體運動所體現(xiàn)出的差異,一定程度上增加目標的輪廓信息,避免目標快速運動時由于邊緣像素提取過多造成的“重影”問題,從而降低了邊緣像素點的誤檢率。其次,針對三幀差分中目標邊緣不連續(xù)的問題,引入Canny算子,將其所提取的目標輪廓與三幀差分結果融合,以此作為改進后的三幀差分結果的邊緣補充,使得物體的邊緣更加完整、連續(xù)、平滑。
算法描述如下:
1)圖像的預處理。對視頻圖像進行中值濾波處理,減少噪聲干擾,并提取三幀連續(xù)圖像Ik?2、Ik?1、Ik。
2)設定差分圖像。將Ik?1與Ik?2差分得到Dk1,Ik與Ik?1差分得到Dk2,Ik與Ik?2差分得到Dk3,使得差分圖像充分包含由于目標運動所造成的像素差異,以此增加目標信息,精確目標邊緣,減少由于像素點獲取過多造成的“重影”問題。
3)運用自適應閾值T實現(xiàn)差分圖像的二值化:
4)為使目標邊緣更完整、平滑,從以下4個方面補充邊緣像素點:
①運用Canny算子提取三幀圖像的邊緣信息,由于獲取的目標邊緣范圍較大,為更加精確目標邊緣,將三幀邊緣圖像“與”運算得到圖像C。
②由于二值圖像Rk3為跨幀差分結果,雖然其所包含的目標信息最為豐富,但差分固有特性易導致邊緣不連續(xù)、缺失的問題。運用RC=Rk3orC進一步補充邊緣像素點,提升目標邊緣的完整度。
③運用RR=Rk1orRk2一定程度上彌補由于物體運動緩慢所造成的空洞問題,避免漏檢。
④為過濾掉冗余像素點,將邊緣檢測與改進三幀差分算法所識別出的目標邊緣區(qū)域進行像素點匹配,確定兩者相交的區(qū)域FD,該區(qū)域即為FD=RC and RR,F(xiàn)D為運動目標。
為了直觀地表明本文所提出的基于邊緣提取的三幀差分改進算法與傳統(tǒng)三幀差分的不同,選用CAVIAR測試集中的兩個視頻作為測試數(shù)據(jù),視頻均為靜態(tài)背景下的單運動目標,幀速率為25幀/s,且視頻中目標所運動的距離相同,其中圖1a中的第一幅圖運動目標為行走狀態(tài),相同運動距離所得視頻幀數(shù)為83幀,即幀間差異較小,第二幅圖運動目標為奔跑狀態(tài),相同運動距離所得視頻幀數(shù)為45幀,即幀間差異較大。選擇視頻中第30幀圖像,用本文算法與傳統(tǒng)的三幀差分算法分別進行檢測,檢測結果如圖1所示。
由上圖可知,在目標運動緩慢時,傳統(tǒng)的三幀差分算法由于相鄰幀間重疊區(qū)域較大,同一位置的像素點未發(fā)生明顯變化,導致目標內部產生空洞且邊緣信息缺失,而本文的改進算法較大程度地獲取了目標的輪廓信息,并在一定程度上解決了目標空洞的問題;在目標快速運動時,傳統(tǒng)的三幀差分算法由于相鄰幀間差異過大,使得邊緣像素點在差分運算時產生重影,且空洞及邊緣不連續(xù)的現(xiàn)象仍然存在,而本文的改進算法有效解決了目標邊緣的“重影”問題,在充分提取目標邊緣的同時有效改善了目標內部信息獲取不完整的問題。
基于自適應學習率的混合高斯建模提高了運動目標的完整性,有效抑制了動態(tài)環(huán)境對目標檢測的影響,提高了目標檢測的準確率,但其算法復雜度高,且獲取的目標邊緣缺失、間斷。而基于邊緣提取的三幀差分改進算法實時性強,能充分獲取目標輪廓,但由于相鄰幀的重疊區(qū)域較大,“空洞”現(xiàn)象較為嚴重。因此,本文結合兩種算法的優(yōu)勢,提出基于自適應學習率高斯背景建模的改進三幀差分算法,在對前景圖像完整提取的同時,提高了算法的運行速度。圖2為算法的模塊圖。
為對本文算法進行驗證,采用配置為corei5-8300H,內存為8 GB,顯卡為MX150,硬盤容量為256 G的Windows操作平臺,并在matlab2014b中實現(xiàn)本文算法。本實驗的視頻數(shù)據(jù)選自CAVIAR測試集與IBM公開視頻集。
為了驗證自適應學習率的混合高斯建模算法能完整提取運動目標,將該算法分別與文獻[12]及文獻[15]進行比較,其中文獻[12]采用固定學習率的混合高斯建模,文獻[15]將傳統(tǒng)混合高斯模型與三幀差分結合,運用3種算法分別對第40幀視頻圖像中的運動目標進行檢測。圖3為檢測結果對比圖,圖3a為視頻圖像,圖3b、3c、3d分別為運用文獻[12]、文獻[15]和本文方法進行目標檢測的結果。圖3b中采用固定學習率的混合高斯建模進行目標檢測,在物體緩慢運動時,過快的高斯模型更新導致部分目標信息丟失;圖3c中通過混合高斯與三幀差分的結合,所得目標輪廓較為完整,但仍有部分目標信息無法獲取;本文算法采用自適應學習率進行混合高斯建模,提取的目標特征完整,且邊緣清晰,基本避免了信息丟失及邊緣間斷的問題。
為了更直觀地表明視頻幀數(shù)、自適應學習率、運動目標完整性之間的關系,本文針對CAVIAR數(shù)據(jù)集中運動物體突然進入的視頻進行檢測,檢測中學習率自適應調整的過程如圖4a所示。由圖中可以看出,在背景模型創(chuàng)建之初,為消除“鬼影”,需采用較快的學習率更新背景模型,但隨著背景模型的逐步穩(wěn)定,模型的學習率不斷降低;當背景模型中的干擾因素去除之后,模型的學習率自適應更新并減慢更新速度。圖4b反映了在不同學習率下所提取的目標像素點占總目標像素點的比例,得出所獲目標的完整度與學習率之間的關系。
為了進一步驗證自適應學習率對混合高斯背景建模檢測準確率的影響,將本文算法與上述算法對同一視頻圖像進行處理,分析三者所得目標的完整度,統(tǒng)計結果如圖5所示。
由圖5可知,相同目標的視頻圖像中,采用本算法所檢測到的目標像素大于文獻[12]及文獻[15],因此基于自適應學習率的混合高斯背景建模所提取的運動目標的完整度更高,即檢測準確率高于其他算法,相比文獻[12],本文算法的目標完整度提高了38.56%,相比文獻[15],本文算法的目標完整度提高了15.31%。
綜上所述,本文提出的基于自適應學習率的混合高斯建模,提高了算法的檢測準確率,使目標的完整度得到提升。
為了驗證本文提出的基于邊緣提取的三幀差分改進算法能有效提取目標邊緣,將該算法分別與文獻[3]、文獻[4]進行比較,其中,文獻[3]將三幀差分與數(shù)學形態(tài)性結合,文獻[4]將傳統(tǒng)三幀差分和邊緣檢測結合,分別將3種算法用于第35幀視頻圖像中的運動目標檢測。圖6為檢測結果對比圖,圖6a為視頻圖像,圖6b、6c、6d分別為運用文獻[3]、文獻[4]和本文方法進行目標檢測的結果。
可以看出,圖6b所得邊緣信息在經(jīng)過形態(tài)學處理后背景噪音基本消除,但目標輪廓的呈現(xiàn)仍有欠缺;圖6c在邊緣清晰度上較6b有所提升,但由于相鄰幀的差分方式,目標邊緣的像素點獲取過多,存在“重影”現(xiàn)象;圖6d采用本文算法,所得目標邊緣平滑且連續(xù),在保證輪廓信息準確性的同時完整性也有所提升。
為了充分驗證本文算法的優(yōu)越性,選用IBM數(shù)據(jù)集中不同背景下的多目標視頻作為測試數(shù)據(jù),其中視頻1用于靜態(tài)背景的運動目標檢測,視頻2用于動態(tài)背景的運動目標檢測。分別運用文獻[9]、文獻[5]、文獻[14]中的算法及本文算法對視頻數(shù)據(jù)進行處理,并對實驗結果進行分析。其中,文獻[9]采用均值背景建模與三幀差分相結合的方式,文獻[5]結合顏色特征與Vibe背景建模,文獻[14]采用Faster-RCNN神經(jīng)網(wǎng)絡檢測運動目標。
2.3.1 靜態(tài)背景的目標檢測
實驗選用靜態(tài)背景的視頻圖像對運動目標進行檢測。將其中第25幀作為檢測數(shù)據(jù),實驗結果如圖7所示,在靜態(tài)背景下對多個運動目標進行檢測,文獻[9]由于采用均值背景建模,基本提取了運動目標的輪廓信息,但由于對光照變化敏感,目標的內部信息沒有完整獲取,存在漏檢現(xiàn)象。文獻[5]所得目標圖像較為完整,但干擾像素點較多,存在誤檢目標,且目標邊緣間斷。文獻[14]采用Faster-RCNN神經(jīng)網(wǎng)絡,獲取了大部分運動目標,但對距離遠、目標小的物體無法準確檢測,且存在誤檢現(xiàn)象。本文算法基本提取了圖像中所包含的運動目標,過濾了圖像中的背景噪聲,使得邊緣信息連續(xù)、平滑,避免了文獻[9]算法的“空洞”問題以及文獻[5]算法與文獻[14]的誤檢現(xiàn)象。
2.3.2 動態(tài)背景的運動目標檢測
當運動目標處于動態(tài)環(huán)境,背景信息會不斷變化,易對目標檢測的準確性造成影響,因此本實驗選用動態(tài)背景視頻(晃動的燈)中第35幀圖像進行檢測。實驗結果如圖8所示,文獻[9]所提算法對環(huán)境光照變化和背景的多模態(tài)性比較敏感,目標圖像只獲取了部分目標信息,“空洞”現(xiàn)象嚴重,且存在背景像素的干擾(晃動的燈)。文獻[5]所得目標圖像較文獻[9]更為完整,消除了部分干擾信息,但受限于Vibe建立的樣本集數(shù)量,因此目標內部仍存在“空洞”,同時目標的邊緣信息缺失。文獻[14]采用Faster-RCNN神經(jīng)網(wǎng)絡,較為準確地檢測到了運動目標,但其所獲得的目標范圍較大,且過于依賴網(wǎng)絡訓練樣本的數(shù)量,準確率的波動性較大。本文算法完整地提取了運動目標,邊緣信息連續(xù)、平滑,并有效地抑制了動態(tài)背景對檢測準確性的影響。
為了進一步驗證本文所提算法在運動目標檢測中的可行性,選擇查全率(Recall)、查準率(Precision)及F-Measure(FM)3個標準作為目標檢測結果的評價指標,F(xiàn)-Measure為查全率與查準率的加權調和平均,其值越大代表算法越可靠:
式中,TP為正確檢測的運動目標數(shù);FN為未被檢測出的運動目標數(shù);FP為誤檢的運動目標數(shù)。
分別采用3種算法對視頻1及視頻2中前30幀圖像進行檢測,以5幀為間隔,獲取不同幀數(shù)下各算法的查全率、查準率及FM值,并求取平均值,結果如表1所示。可知,文獻[9]采用均值背景建模的檢測方法,通過多幀的平均值構建背景模型,運算速度快,但易受光照和復雜背景的影響,“漏檢”與“誤檢”目標較多,其查全率與查準率為三者最低。文獻[5]中檢測算法采用基于Vibe的背景建模,對動態(tài)環(huán)境有一定的抗干擾能力,運算效率高,因此查全率較文獻[9]算法有所提高,但受光照變換的影響,運動目標未能全部提取,存在漏檢現(xiàn)象,且目標信息獲取不完整。文獻[14]采用的Faster-RCNN神經(jīng)網(wǎng)絡具有較高的檢測準確率,且實時性好,但其在復雜環(huán)境中無法對較小的運動目標有效檢測,因此查全率較低。本文算法采用混合高斯背景建模,對動態(tài)環(huán)境適應性強,能準確檢測運動目標,在提升查全率的同時保證較高的查準率,并根據(jù)FM值進一步表明本文算法更為可靠。
表1 算法評價結果
本文為了提高運動目標檢測算法在動態(tài)背景中檢測的完整性及快速性,提出一種改進的基于自適應學習率高斯建模的改進三幀差分算法。針對目標檢測過程中背景變換及像素點獲取不完整所導致目標內部信息缺失的問題,采用基于自適應學習率的混合高斯背景建模,加快高斯模型的迭代速度,實現(xiàn)背景模型的自適應更新。考慮到基于自適應學習率的混合高斯背景建模算法復雜度仍然較高,且存在邊緣不連續(xù)的缺陷,提出基于邊緣提取的三幀差分改進算法,將采用任意幀間差分法的三幀差分與邊緣圖像結合,獲取更為完整的目標輪廓,并將結果作為基于自適應學習率的混合高斯背景建模算法的補充。本文算法結合了混合高斯建模,能完整地提取目標內部信息,抗干擾能力強,能快速提取目標輪廓、實時性高。實驗結果表明,本文算法可以有效地消除動態(tài)背景及光照變換造成的干擾,在復雜環(huán)境中仍可以完整提取目標。