賈倩倩,韓麗娜,黃凌霄
(寧夏大學(xué)信息工程學(xué)院,寧夏 銀川 750021)
在數(shù)字化時代的潮流下,人們對圖像處理技術(shù)的應(yīng)用需求正在增加。檢測移動物體的技術(shù)是圖像處理的一個重要組成部分,在智能監(jiān)測、智能交通、工業(yè)化過程控制、航空航天、軍事勘察等領(lǐng)域廣泛應(yīng)用。另外,目標(biāo)檢測技術(shù)還是身份識別領(lǐng)域的一個基礎(chǔ)算法,其在人臉識別、步態(tài)識別、人群計(jì)數(shù)和實(shí)例分割等后續(xù)任務(wù)中發(fā)揮著重要作用。
在基于靜態(tài)背景的目標(biāo)識別中,由于實(shí)際應(yīng)用場景中各種因素的干擾,計(jì)算機(jī)受到硬件發(fā)展速度的制約,運(yùn)行速度、算法時間和空間復(fù)雜度具有一定上限,所以運(yùn)動目標(biāo)檢測的實(shí)時性和魯棒性難以同時取得最佳效果。通過幀間差分法、混合高斯算法和ViBe 算法的優(yōu)缺點(diǎn)對比,期望找到一個較好的算法,從而在靜態(tài)背景下可以獲取實(shí)時性較好、精度較高的目標(biāo)檢測結(jié)果。
目標(biāo)檢測是一種基于目標(biāo)對象形態(tài)學(xué)和特征區(qū)別的圖像分割技術(shù)。從這個角度來看,視頻圖像可以分為3 個部分,分別是目標(biāo)圖像、背景圖像和噪聲圖像,這可以將目標(biāo)檢測轉(zhuǎn)換為目標(biāo)對象和背景圖像之間的二元分割問題。根據(jù)運(yùn)動目標(biāo)的特性,通常根據(jù)監(jiān)視設(shè)備是否與運(yùn)動對象同步運(yùn)動,將其劃分為以下2 種類別。
2.1.1 動態(tài)背景下的運(yùn)動目標(biāo)檢測及其算法
動態(tài)背景下的目標(biāo)檢測是指運(yùn)動圖像場景中存在目標(biāo)對象和攝像儀器的相對運(yùn)動,相較靜態(tài)背景的情況更加復(fù)雜。目前大多采用的方法是計(jì)算監(jiān)控儀器的運(yùn)動參數(shù),采用背景補(bǔ)償?shù)姆椒z測運(yùn)動目標(biāo)。常見的動態(tài)背景下的運(yùn)動目標(biāo)檢測方法包括光流法、塊匹配補(bǔ)償背景算法等。伴隨著背景圖像的變化,運(yùn)動目標(biāo)也隨時發(fā)生著位置變化,攝像儀器處于相對運(yùn)動的狀態(tài),圖像中目標(biāo)的位置變化與背景本身的相對運(yùn)動就會疊加并且混合在一起,而且由于攝像儀器的運(yùn)動,將會導(dǎo)致目標(biāo)的形狀、尺寸以及視頻光照條件發(fā)生變化[1-2]。與此同時,現(xiàn)實(shí)中多運(yùn)動目標(biāo)的遮擋和外界干擾遮擋的情況常有發(fā)生,這些也都是動態(tài)背景下需要解決的問題。
2.1.2 靜態(tài)背景下的運(yùn)動目標(biāo)檢測及其算法
基于靜態(tài)背景的運(yùn)動目標(biāo)檢測算法包括幀間差分法、模板匹配、高斯混合算法和ViBe 算法等。一些人嘗試應(yīng)用一些優(yōu)秀的算法,如機(jī)器學(xué)習(xí)來檢測視頻序列圖像中的運(yùn)動目標(biāo)。然而,由于計(jì)算機(jī)硬件的限制,現(xiàn)實(shí)中的計(jì)算速度和算法復(fù)雜度都有一定的上限,難以在實(shí)時性和魯棒性方面達(dá)到某一個較高平衡點(diǎn),因此,本文選擇程序算法相對簡單、運(yùn)行效率高、實(shí)時性較好、識別結(jié)果較好的幀間差分法、混合高斯算法與ViBe 算法進(jìn)行比較。
2.2.1 幀間差分法
幀間差分法(Frame difference method)也稱二幀差分法,主要應(yīng)用場景是背景圖像固定,而運(yùn)動目標(biāo)隨時間動態(tài)變化的場景。在以上前提條件下,使鄰近2 個視頻幀的像素值發(fā)生相減操作。理想狀況下,背景的部分誤差為0,而運(yùn)動范圍的誤差不為0。此時,選擇一個適當(dāng)?shù)拈撝禐V波掉視頻幀的背景,以便獲取到完整的運(yùn)動目標(biāo)。其模型為:
式中:It(x,y)為t時刻像素點(diǎn)(x,y)的灰度值;It-1(x,y)為t-1 時刻像素點(diǎn)(x,y)的灰度值;Dt(x,y)為提取的運(yùn)動目標(biāo)的二值圖像;T為閾值。
具體步驟如下:將當(dāng)前幀進(jìn)行灰度化;通過中值濾波去除噪聲影響,保留邊緣特征;對相鄰兩幀求差值的絕對值,再進(jìn)行差值絕對值的二值化,這時閾值設(shè)置對實(shí)驗(yàn)結(jié)果有明顯影響,因此選擇一個合適的閾值是很重要的;進(jìn)行開運(yùn)算以及函數(shù)填充,一方面使邊界平滑,另一方面使圖形空洞被填充。
二幀差分法檢測結(jié)果如圖1 所示。
圖1 二幀差分法檢測結(jié)果
從圖1 可以看出,二幀差分法的優(yōu)點(diǎn)是運(yùn)算簡便、即時性較強(qiáng)、對各種動態(tài)環(huán)境的適應(yīng)力強(qiáng)、魯棒性較強(qiáng);缺陷是檢查的目標(biāo)輪廓不完整,檢查出的結(jié)果帶有“空洞”。另外,測試結(jié)果在運(yùn)動方向上目標(biāo)被拉長,在檢測快速運(yùn)動的物體時會出現(xiàn)“鬼影”,并且檢測不到慢速運(yùn)動的物體。
三幀差分法的具體步驟為:在二幀差分法的基礎(chǔ)上,同時獲取當(dāng)前幀、上一幀、下一幀。同時,對相鄰的三幀進(jìn)行灰度化處理,再使用中值濾波去除噪聲影響,保留邊緣特征,然后對當(dāng)前幀與上一幀的差值絕對值進(jìn)行閾值二值化,同理將后一幀與當(dāng)前幀差值絕對值閾值二值化,結(jié)果將所獲得的2 個差分圖進(jìn)行像素比較操作,所得差分圖即為三幀差分圖。
其數(shù)學(xué)模型如下:
式中:D1(x,y)、D2(x,y)分別為對應(yīng)的差分結(jié)果;fk-1(x,y)、fk(x,y)、fk+1(x,y)分別為第k-1、k、k+1 幀圖片像素點(diǎn)的灰度值;E1(x,y)、E2(x,y)為三幀差分圖的閾值二值化結(jié)果。
T為預(yù)先設(shè)點(diǎn)的閾值,如果T選取得過小,會出現(xiàn)大量噪聲,嚴(yán)重影響檢測結(jié)果;反之閾值選擇過大,則會出現(xiàn)運(yùn)動目標(biāo)檢測不完整或者漏檢的情況[3]。
三幀差分法檢測結(jié)果如圖2 所示。
從圖2 可以看出,三幀差分法具有原理簡潔、運(yùn)算量小、可以迅速監(jiān)測到現(xiàn)場中的運(yùn)動等優(yōu)點(diǎn)。當(dāng)運(yùn)動目標(biāo)速率較快時,運(yùn)動目標(biāo)的檢測結(jié)果比兩幀差分法更完整。然而,由于運(yùn)動目標(biāo)前后圖像存在重疊部分,檢測到的運(yùn)動目標(biāo)內(nèi)部會存在較大的連通空洞,降低了移動目標(biāo)的可識別性[4-5]。
通過三幀差分圖和二幀差分圖的比對,可以清晰地看到與二幀差分圖相比,雖然三幀差分法去掉了二幀差分圖出現(xiàn)的“重影” 現(xiàn)象,使運(yùn)動目標(biāo)輪廓更加清晰,但同時三幀差分法同樣在使用了閾值構(gòu)建差分圖進(jìn)行轉(zhuǎn)換后,幀間差分圖效果良好,三幀差分圖目標(biāo)的輪廓很多被“腐蝕” 掉了,讓“空洞” 變得更大,從而過程中不能準(zhǔn)確地檢測到目標(biāo)的輪廓以及內(nèi)部像素點(diǎn)信息,使目標(biāo)檢測的誤差變大。因此,三幀差分法適用于運(yùn)動目標(biāo)形體較小、運(yùn)動速度快、對輪廓信息要求不高的無遮擋的場景中。
2.2.2 混合高斯算法
混合高斯算法(Gaussian Mixture Model,GMM)克服了在常規(guī)的幀內(nèi)差分法和背景差分法等計(jì)算中普遍存在的光照突變對結(jié)果產(chǎn)生的重大干擾。其通過使用高斯模型的個數(shù)選擇場景,增強(qiáng)了對環(huán)境本身的適應(yīng)性功能。而混合高斯算法則需要對視頻圖像幀的每一像素點(diǎn)都進(jìn)行模擬,具體可以表示為:
式中:K為模型個數(shù);ωi,t為權(quán)重;μi,t為均值;φi,t為協(xié)方差矩陣。
高斯混合模型建模步驟如下。
模型初始化:將第一幀圖像作為初始背景圖像。
更新模型的參數(shù):把當(dāng)前幀的像素點(diǎn)和多個高斯點(diǎn)進(jìn)行比較。如果像素點(diǎn)不能和高斯分布共存,則會影響像素點(diǎn)的和的背景值。
背景提取和前景檢測:根據(jù)優(yōu)先排列,對高斯分布作出排序。根據(jù)以下公式判斷:
混合高斯算法檢測結(jié)果如圖3 所示。
圖3 混合高斯算法檢測結(jié)果
從圖3 可以看出,混合高斯算法的優(yōu)點(diǎn)是在背景情況較復(fù)雜的情況下表現(xiàn)良好,可以根據(jù)視頻環(huán)境動態(tài)建立背景模型。但在單一場景下的處理效果就不盡如人意了。在日常生活中,運(yùn)動目標(biāo)識別經(jīng)常被周圍環(huán)境等諸多因素干擾,如復(fù)雜背景、光照突變場景、目標(biāo)遮擋、陰影等。往往在復(fù)雜的場景下,對運(yùn)動目標(biāo)檢測算法的適應(yīng)性要求更高,顯然已有單一的實(shí)時算法還無法滿足復(fù)雜場景的變化。但是只對背景區(qū)域進(jìn)行更新,而對該幀的前景區(qū)域不進(jìn)行更新,容易在檢測過程中產(chǎn)生虛影。因此,混合高斯模型在復(fù)雜變化中的穩(wěn)定性要遠(yuǎn)高于幀間差分法。
該系統(tǒng)的開發(fā)環(huán)境選用Matlab,在算法選取后,開始以GUⅠ圖形用戶接口溝通的方式進(jìn)行了界面的設(shè)計(jì)。幀間差分法、混合高斯模型法、ViBe 算法雖然是比較主流的實(shí)時目標(biāo)檢測算法,能夠快速清晰地檢測到運(yùn)動對象的細(xì)節(jié)信息,但也存在部分缺陷,比如幀間差分法中視頻背景為固定的,ViBe 算法起始頁存在運(yùn)動的對象會產(chǎn)生鬼影區(qū)域,混合高斯算法運(yùn)行時效性較差等。目標(biāo)檢測算法在智能監(jiān)控系統(tǒng)、智能機(jī)器人檢測以及軍事戰(zhàn)略制導(dǎo)等領(lǐng)域中發(fā)揮著越來越重要的作用[6-7]。
根據(jù)檢測結(jié)果所呈現(xiàn)的問題來看,后續(xù)運(yùn)動目標(biāo)檢測的研究方向需要從以下幾個方面著手:①遮擋問題。移動目標(biāo)的識別具有一定的視野局限,希望能夠增加多角度目標(biāo)檢測,從而更加全面準(zhǔn)確地獲取并識別運(yùn)動目標(biāo),應(yīng)對在識別過程中產(chǎn)生運(yùn)動目標(biāo)相互遮擋或者外界遮擋物遮擋的特殊情況。②閾值自適應(yīng)選擇問題。幀間差分法和ViBe 算法的改進(jìn)自適應(yīng)選擇合適的閾值,讓運(yùn)動目標(biāo)的識別精度更加穩(wěn)定。③特殊環(huán)境下算法的健壯性和穩(wěn)定性。在遭遇雨、雪、霧、霾等影響視野距離的天氣時,期望仍然能夠利用該系統(tǒng)準(zhǔn)確地識別。本文所研究實(shí)現(xiàn)的實(shí)時算法在實(shí)際社會應(yīng)用中具有重大價值和意義。目前基于深度學(xué)習(xí)的運(yùn)動目標(biāo)識別已經(jīng)取得了重大發(fā)展成果,但在實(shí)際復(fù)雜場景中的目標(biāo)識別仍然面臨著很多挑戰(zhàn),需要進(jìn)一步研究。