李俊
摘 要: 研究目標(biāo)檢測、背景提取、目標(biāo)像素的處理、跟蹤框生成算法,詳細(xì)分析目標(biāo)離開偵測算法的思路和原理,實現(xiàn)目標(biāo)離開算法在不同環(huán)境下的識別、跟蹤。通過測試結(jié)果表明,該算法模型在目標(biāo)離開過程的偵測、跟蹤效果都表現(xiàn)的不錯,算法的效果良好。
關(guān)鍵詞: 計算機(jī)視覺; 視頻圖像處理; 偵測算法; 樹莓派
中圖分類號: TN911.73?34; TP391.4 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2017)09?0043?03
Abstract: The thought and principle of the surveillance algorithm for target leaving are analyzed in detail by means of research on the algorithms of target detection, background extraction, target pixel processing and tracking box generation. The recognition and tracking of the surveillance algorithm for target leaving in different environments are realized. The test results show that the algorithm has perfect performance on surveillance and tracking in the target leaving process, and good effect.
Keywords: computer vision; video image processing; surveillance algorithm; Raspberry Pi
0 引 言
伴隨著圖像處理和視覺算法的快速發(fā)展,可通過成像系統(tǒng)代替人眼對周邊事物進(jìn)行視覺觀察,檢測識別出目標(biāo)物體及運(yùn)動情況等信息。研究目標(biāo)物體離開的偵測算法,實現(xiàn)對視頻數(shù)據(jù)流的挖掘,是目前需要研究的一個熱點(diǎn)問題[1]。
圖像處理技術(shù)作為一門專業(yè)學(xué)科,產(chǎn)生了很多優(yōu)秀的算法,蘋果、華為手機(jī)之所以全球暢銷,其優(yōu)秀的圖像處理技術(shù)就是其亮點(diǎn)之一,對視頻圖像進(jìn)行算法研究也是當(dāng)前遇到的熱點(diǎn)問題,研究如何識別出目標(biāo)物體,并對目標(biāo)進(jìn)行跟蹤和檢測,實現(xiàn)對目標(biāo)離開的偵測,將對人們的日常生活產(chǎn)生重要影響。
1 目標(biāo)離開偵測算法的研究
1.1 目標(biāo)檢測提取的算法
目前用于視頻中目標(biāo)檢測常用到算法有以下幾種:光流法、幀間差分算法和背景相減法[4]。與光流法相比,背景相減法能檢測到場景中靜止的物體,也能偵測、追蹤運(yùn)動的物體,而且算法不像光流法那么繁瑣,大大提高了運(yùn)算的速率,與幀間差分算法相比,背景相減法在背景圖像提取質(zhì)量較好的情況下,對目標(biāo)的偵測也有較強(qiáng)的自適應(yīng)能力。綜合以上三種算法的優(yōu)缺點(diǎn)及對比結(jié)果,選擇背景相減法作為本次研究目標(biāo)像素提取的算法。
1.2 提取背景圖像的算法
目標(biāo)檢測提取算法中選擇了背景相減算法,從視頻中提取一張質(zhì)量較好的背景圖片對目標(biāo)像素的提取是相當(dāng)重要的[5]。目前,最常用的背景圖像提取算法主要有時間中值算法、直方圖統(tǒng)計法和高斯背景估計算法。
考慮本次研究是實現(xiàn)對目標(biāo)離開的偵測,因此需要目標(biāo)在沒有運(yùn)動的情況下能檢測并跟蹤物體,算法模型設(shè)計如圖1所示。
背景圖像提取中分別使用了時間中值和高斯背景估計兩種算法。時間中值算法提取到的背景圖像效果最好,但是它的運(yùn)算稍微費(fèi)時間。而高斯背景估計算法的提取速率相當(dāng)快,但是提取出來的背景圖像的質(zhì)量較前者來說稍差一些。綜上所述,分別設(shè)計了兩種方式的背景提取算法,驗收時按效果選擇。
1.3 對目標(biāo)像素的處理
視頻輸入的圖像與提取的背景圖像相減后,得到的目標(biāo)像素不是很清晰,會給后續(xù)的矩形框跟蹤目標(biāo)帶來很大的誤差,甚至?xí)霈F(xiàn)完全不能進(jìn)行跟蹤的情況[6]。因此,在視頻圖像與背景相減后需要對所得目標(biāo)像素進(jìn)行再次處理。相應(yīng)的處理包括取絕對值、二值化、中值濾波、膨脹運(yùn)算、閉運(yùn)算等。如圖2所示,上方箭頭指的是視頻幀流的輸入,下方箭頭指的是背景圖像的輸入。Subtract模塊表示視頻的每一幀圖像都與背景圖像進(jìn)行相減運(yùn)算,Abs模塊表示對相減結(jié)果取絕對值,Autothreshold模塊表示對圖像取二值化,Median Filter模塊表示中值濾波模塊,Dlate模塊表示膨脹算法,最后Close模塊表示做閉運(yùn)算。經(jīng)過這一系列的處理之后就能得到有利于后續(xù)跟蹤,且干擾像素點(diǎn)較少的目標(biāo)像素。
1.3.1 絕對值運(yùn)算
在視頻圖像和背景圖像相減之后,顯示出像素點(diǎn)的值可能是正值也可能出現(xiàn)負(fù)值。因為后一步所做的二值化運(yùn)算中閾值的設(shè)定都是針對正值,所以進(jìn)行絕對值運(yùn)算可以讓相減為負(fù)值但其絕對值又大于閾值的像素點(diǎn)顯示出來。這樣便可以更好地表現(xiàn)出目標(biāo)的所有像素點(diǎn),而不至于漏掉原本屬于目標(biāo)的像素點(diǎn),在很大程度上保持了目標(biāo)像素點(diǎn)的完整性。
1.3.2 中值濾波
使用中值濾波的部分有三處。前面兩處是視頻圖像和背景圖像在進(jìn)行相減之前都用中值濾波先做預(yù)處理,在視頻圖像的二維空間里,通過濾波窗口達(dá)到中值濾波的效果,濾波窗口可以根據(jù)所要濾掉像素的種類做相應(yīng)的選擇,對于奇數(shù)個像素點(diǎn)的濾波窗口,中值就是指中心的灰度值。對于偶數(shù)個像素點(diǎn)的濾波窗口,中值則指窗口像素排序之后中間的兩個灰度值求平均所得。Simulink環(huán)境下默認(rèn)的濾波窗口大小為3×3的矩陣,還可以設(shè)置成5×5,7×7的矩陣,直到達(dá)到所需要的濾波效果為止。
1.3.3 膨脹運(yùn)算
膨脹(dilation)和腐蝕屬于對偶運(yùn)算[7],可以解釋為:把結(jié)構(gòu)元素的中心點(diǎn)移到與被處理圖像的每個像素重合,如果結(jié)構(gòu)元素中心點(diǎn)與原圖像像素取交集,且交集不為空,則對該像素按結(jié)構(gòu)元素進(jìn)行膨脹運(yùn)算。所有滿足上述條件的像素點(diǎn)膨脹后共同組成了膨脹運(yùn)算后圖像,用公式可以表示為:
通過對目標(biāo)像素進(jìn)行膨脹處理后,目標(biāo)與背景相接處的像素點(diǎn)被合并到目標(biāo)像素中,擴(kuò)大了目標(biāo)像素的邊界,同時也填補(bǔ)了目標(biāo)像素中一些空白的像素點(diǎn)[5],這樣確保了矩形跟蹤框生成的惟一性。
1.3.4 閉運(yùn)算
閉運(yùn)算實際上就是先對圖像進(jìn)行一次膨脹運(yùn)算,然后再進(jìn)行一次腐蝕運(yùn)算。用公式可以表示為:
下面以圖3中的例子來說明閉算法的具體思路。圖中標(biāo)注的點(diǎn)陣區(qū)域代表待處理的圖像,點(diǎn)陣代表閉運(yùn)算的結(jié)構(gòu)元素,區(qū)域表示待處理圖像經(jīng)過膨脹運(yùn)算之后的圖像像素構(gòu)成,區(qū)域表示在區(qū)域圖像的基礎(chǔ)上再進(jìn)行一次腐蝕運(yùn)算后的圖像像素構(gòu)成。
1.4 跟蹤框的生成
經(jīng)過對目標(biāo)像素處理之后,在各模塊閾值、參數(shù)選擇合理的條件下,所提取到的目標(biāo)像素質(zhì)量應(yīng)該飽滿、清晰[8]。接下來,就是要對目標(biāo)進(jìn)行捕捉和偵測。這個過程分為兩個步驟,如圖4所示。輸入Image的箭頭為視頻輸入口,輸入BW的箭頭為閉運(yùn)算后的二值圖像。
1.4.1 Blob Analysis
Blob分析(Blob Analysis)是對圖像的二值圖中物體的像素進(jìn)行連通域區(qū)域分析,Blob Analysis算法可以為視頻、圖像提供其中連通像素的位置、形狀、方向、大小、數(shù)量,甚至是各個連通域之間的拓?fù)浣Y(jié)構(gòu)等信息。Blob分析塊支持可變信號輸入和輸出,還可以應(yīng)用于視頻圖像中運(yùn)動物體的檢測和跟蹤[9]。
1.4.2 繪制矩形框圖
Draw Shape模塊可以在圖4中看到。模塊中視頻的輸入通過Image端口進(jìn)入模塊中,輸入PTS端口的數(shù)據(jù)類型是目標(biāo)像素的一系列四元位置坐標(biāo)[x y width height]。視頻圖像和目標(biāo)像素四元坐標(biāo)兩路信號的時時輸入同時進(jìn)入Draw Shape模塊后,兩者在算法中進(jìn)行疊加,然后把疊加的圖像一同輸出。這樣一來就能得到對目標(biāo)物體的時時偵測和監(jiān)控效果,在繪制形狀(Draw Shape)模塊中可以繪制多種形狀的框圖。
2 目標(biāo)離開偵測算法的測試
方案選擇確認(rèn)以后,接下來是在樹莓派上運(yùn)行模型,并在不同環(huán)境條件下測試目標(biāo)離開檢測算法的效果。此次測試的條件分為兩類環(huán)境:正常的光照環(huán)境、光照不足的環(huán)境。首先是在正常光照條件下進(jìn)行,因為監(jiān)控設(shè)備通常都是在正常光照、視野較大的環(huán)境下運(yùn)行的。此環(huán)境下,對被測目標(biāo)讀卡器離開的連續(xù)時間內(nèi)偵測效果截圖如圖5所示,算法模型在正常光照環(huán)境下對目標(biāo)離開過程的偵測、跟蹤效果都表現(xiàn)的不錯,算法的效果良好。
監(jiān)控設(shè)備在大多數(shù)情況下都是在正常條件下工作,但是也不排除在一些極端條件下的工作情況,光線不足也是其中的一種情況,測試效果如圖6所示,有時會檢測出目標(biāo)像素之外的幾個雜質(zhì)像素點(diǎn)群,使得跟蹤的矩形框并不是完全惟一的,測試效果還算可以。
3 結(jié) 語
基于Simulink環(huán)境下在樹莓派開發(fā)板上實現(xiàn)的目標(biāo)離開的偵測算法,采用當(dāng)前廣泛使用的背景相減法提取目標(biāo)像素,節(jié)省了算法調(diào)試的時間。如何在極端條件下檢測目標(biāo),提取背景和處理目標(biāo)對象像素等算法方面還有很多熱點(diǎn)問題需要深入研究,相信在未來幾年里相關(guān)算法模型的發(fā)展會更全面、更多樣化。
參考文獻(xiàn)
[1] 蔣钘.人體運(yùn)動目標(biāo)檢測與跟蹤關(guān)鍵問題研究[D].湖南:中南林業(yè)科技大學(xué),2013.
[2] 趙小川.Matlab圖像處理:程序?qū)崿F(xiàn)與模塊化仿真[M].北京:北京航空航天大學(xué)出版社,2013:41.
[3] 趙小川.現(xiàn)代數(shù)字圖像處理技術(shù)提高及應(yīng)用案例詳解[M].北京:北京航空航天大學(xué)出版社,2011:235?251.
[4] 朱參世,安利.運(yùn)動目標(biāo)識別方法與仿真研究[J].計算機(jī)與現(xiàn)代化,2010(5):63?65.
[5] 蘇書杰.視頻檢測系統(tǒng)中的背景檢測及更新算法研究[D].西安:長安大學(xué),2009.
[6] 王愛玲,葉明生,鄧秋香.Matlab R2007圖像處理技術(shù)與應(yīng)用[M].北京:電子工業(yè)出版社,2007.
[7] 張紅源,陳自力.基于Simulink的目標(biāo)跟蹤系統(tǒng)仿真[J].電光與控制,2009,16(6):62?65.
[8] 姚進(jìn).基于數(shù)學(xué)形態(tài)學(xué)的圖像邊緣檢測研究[D].山東:山東師范大學(xué),2005.
[9] SZELISKI R.計算機(jī)視覺:算法與應(yīng)用[M].北京:清華大學(xué)出版社,2012.