百科解釋
運(yùn)動(dòng)偵測(cè),英文翻譯為“Motion detection technology”,一般也叫移動(dòng)檢測(cè),常用于無(wú)人值守監(jiān)控錄像和自動(dòng)報(bào)警。通過(guò)攝像頭按照不同幀率采集得到的圖像會(huì)被CPU按照一定算法進(jìn)行計(jì)算和比較,當(dāng)畫面有變化時(shí),如有人走過(guò),鏡頭被移動(dòng),計(jì)算比較結(jié)果得出的數(shù)字會(huì)超過(guò)閾值并指示系統(tǒng)能自動(dòng)作出相應(yīng)的處理。移動(dòng)偵測(cè)技術(shù)是運(yùn)動(dòng)檢測(cè)錄像技術(shù)的基礎(chǔ),現(xiàn)在已經(jīng)被廣泛使用于網(wǎng)絡(luò)攝像機(jī)、汽車監(jiān)控鎖、數(shù)字寶護(hù)神、嬰兒監(jiān)視器、自動(dòng)取樣儀、自識(shí)別門禁等眾多安防儀器和設(shè)施上。常見(jiàn)的移動(dòng)偵測(cè)系統(tǒng)還允許使用者可以自由設(shè)置布防撤防時(shí)間、偵測(cè)的靈敏度、探測(cè)區(qū)域。當(dāng)觸發(fā)時(shí)應(yīng)可聯(lián)動(dòng)錄像、聯(lián)動(dòng)報(bào)警輸出、聯(lián)動(dòng)攝像機(jī)轉(zhuǎn)到相應(yīng)的預(yù)置位。
運(yùn)動(dòng)偵測(cè)允許在指定區(qū)域能識(shí)別圖像的變化,檢測(cè)運(yùn)動(dòng)物體的存在并避免由光線變化帶來(lái)的干擾。但是如何從實(shí)時(shí)的序列圖像中將變化區(qū)域從背景圖像中提取出來(lái),還要考慮運(yùn)動(dòng)區(qū)域的有效分割對(duì)于目標(biāo)分類、跟蹤等后期處理是非常重要的,因?yàn)橐院蟮奶幚磉^(guò)程僅僅考慮圖像中對(duì)應(yīng)于運(yùn)動(dòng)區(qū)域的像素。然而,由于背景圖像的動(dòng)態(tài)變化,如天氣、光照、影子及混亂干擾等的影響,使得運(yùn)動(dòng)檢測(cè)成為一項(xiàng)相當(dāng)困難的工作。
早期的運(yùn)動(dòng)檢測(cè)如MPEG1是對(duì)編碼后產(chǎn)生的I幀進(jìn)行比較分析,通過(guò)視頻幀的比較來(lái)檢測(cè)圖像變化是一種可行的途徑。原理如下:MPEG1視頻流由三類編碼幀組成,它們分別是:關(guān)鍵幀(I幀),預(yù)測(cè)幀(P幀)和內(nèi)插雙向幀(B幀)。I幀按JPEG標(biāo)準(zhǔn)編碼,獨(dú)立于其他編碼幀,它是MPEG1視頻流中唯一可存取的幀,每12幀出現(xiàn)一次。截取連續(xù)的I幀,經(jīng)過(guò)解碼運(yùn)算,以幀為單位連續(xù)存放在內(nèi)存的緩沖區(qū)中,再利用函數(shù)在緩沖區(qū)中將連續(xù)的兩幀轉(zhuǎn)化為位圖形式,存放在另外的內(nèi)存空間以作比較之用,至于比較的方法有多種。此方法是對(duì)編碼后的數(shù)據(jù)進(jìn)行處理,而目前的MPEG1/MPEG4編碼都是有損壓縮,對(duì)比原有的圖像肯定存在誤報(bào)和不準(zhǔn)確的現(xiàn)象。
運(yùn)動(dòng)偵測(cè)可以降低公共機(jī)構(gòu)和企業(yè)場(chǎng)所的人工監(jiān)控成本,并且避免人員長(zhǎng)期值守疲勞導(dǎo)致的監(jiān)察失誤,可以極大地提高監(jiān)控效率和監(jiān)控精度。主要被用于以下場(chǎng)合
1、遠(yuǎn)程無(wú)線嬰幼兒監(jiān)護(hù)
2、家庭、企業(yè)、銀行、碼頭、倉(cāng)庫(kù)防盜
3、設(shè)備智能啟動(dòng)、自動(dòng)觸發(fā)門禁
4、交通、鐵路等違規(guī)拍攝和記錄
5、教學(xué)取樣、實(shí)驗(yàn)室數(shù)據(jù)無(wú)人值守采集
6、保育、醫(yī)療、養(yǎng)老等護(hù)理機(jī)構(gòu)和場(chǎng)所的監(jiān)控報(bào)警
(一)背景減除法(Background Subtraction )
背景減除方法是目前運(yùn)動(dòng)檢測(cè)中最常用的一種方法,它是利用當(dāng)前圖像與背景圖像的差分來(lái)檢測(cè)出運(yùn)動(dòng)區(qū)域的一種技術(shù)。它一般能夠提供最完全的特征數(shù)據(jù),但對(duì)于動(dòng)態(tài)場(chǎng)景的變化,如光照和外來(lái)無(wú)關(guān)事件的干擾等特別敏感。最簡(jiǎn)單的背景模型是時(shí)間平均圖像,大部分的研究人員目前都致力于開(kāi)發(fā)不同的背景模型,以期減少動(dòng)態(tài)場(chǎng)景變化對(duì)于運(yùn)動(dòng)分割的影響。
(二)時(shí)間差分法(Temporal Difference )
時(shí)間差分(又稱相鄰幀差)方法是在連續(xù)的圖像序列中兩個(gè)或三個(gè)相鄰幀間采用基于像素的時(shí)間差分并且閾值化來(lái)提取出圖像中的運(yùn)動(dòng)區(qū)域。時(shí)間差分運(yùn)動(dòng)檢測(cè)方法對(duì)于動(dòng)態(tài)環(huán)境具有較強(qiáng)的自適應(yīng)性,但一般不能完全提取出所有相關(guān)的特征像素點(diǎn),在運(yùn)動(dòng)實(shí)體內(nèi)部容易產(chǎn)生空洞現(xiàn)象。
(三)光流法(Optical Flow)
基于光流方法的運(yùn)動(dòng)檢測(cè)采用了運(yùn)動(dòng)目標(biāo)隨時(shí)間變化的光流特性,如Meyer[2] 等通過(guò)計(jì)算位移向量光流場(chǎng)來(lái)初始化基于輪廓的跟蹤算法,從而有效地提取和跟蹤運(yùn)動(dòng)目標(biāo)。該方法的優(yōu)點(diǎn)是在攝像機(jī)運(yùn)動(dòng)存在的前提下也能檢測(cè)出獨(dú)立的運(yùn)動(dòng)目標(biāo)。然而,大多數(shù)的光流計(jì)算方法相當(dāng)復(fù)雜,且抗噪性能差,如果沒(méi)有特別的硬件裝置則不能被應(yīng)用于全幀視頻流的實(shí)時(shí)處理。
此外,在運(yùn)動(dòng)檢測(cè)中還有一些其他的方法,運(yùn)動(dòng)向量檢測(cè)法,適合于多維變化的環(huán)境,能消除背景中的振動(dòng)像素,使某一方向的運(yùn)動(dòng)對(duì)象更加突出的顯示出來(lái),但運(yùn)動(dòng)向量檢測(cè)法也不能精確地分割出對(duì)象。
(一)主要模塊
1、信號(hào)輸入處理模塊:標(biāo)準(zhǔn)模擬視頻信號(hào)(CVBS彩色或黑白)是亮度信號(hào)和色度信號(hào)通過(guò)頻普間置疊加在一起,需經(jīng)過(guò)A/D芯片(如philips7113)的解碼,將模擬信號(hào)轉(zhuǎn)成數(shù)字信號(hào),產(chǎn)生標(biāo)準(zhǔn)的ITU 656 YUV格式的數(shù)字信號(hào)以幀為單位送到編碼卡上的DSP和內(nèi)存中。
2、CP(Image Coprocessor 圖象協(xié)處理器)處理模塊:YUV數(shù)據(jù)在DSP中加上OSD(字符時(shí)間疊加)和LOGO(位圖)等,復(fù)合后通過(guò)PCI總線送到顯存中,供視頻實(shí)時(shí)預(yù)覽用,還將復(fù)合后的數(shù)據(jù)送到編碼卡的內(nèi)存中,供編碼使用。
3、ENCODER(編碼)模塊:將編碼卡內(nèi)存中的YUV數(shù)據(jù)送到MPEG4/H264編碼器中,產(chǎn)生壓縮好的碼流,送到主機(jī)內(nèi)存中,供錄像或網(wǎng)絡(luò)傳輸使用。
4、MOTIONDETECT處理模塊:對(duì)編碼卡內(nèi)存中的以幀為單位YUV數(shù)據(jù)進(jìn)行處理。
(二)實(shí)現(xiàn)步驟
1、設(shè)置運(yùn)動(dòng)檢測(cè)區(qū)域等參數(shù):
用戶可以通過(guò)SDK中的函數(shù),來(lái)設(shè)置1-99個(gè)有效的矩形,還可以設(shè)置快速和慢速兩種運(yùn)動(dòng)檢測(cè)狀態(tài)?焖贆z測(cè)是對(duì)每隔兩幀的兩幀數(shù)據(jù)進(jìn)行差分運(yùn)算,慢速檢測(cè)是指對(duì)相隔12幀以上的兩幀數(shù)據(jù)進(jìn)行差分運(yùn)算。
2、啟動(dòng)運(yùn)動(dòng)檢測(cè)功能:
因?yàn)榻?jīng)過(guò)A/D轉(zhuǎn)換后的數(shù)據(jù)是標(biāo)準(zhǔn)的ITU 656 YUV 4:2:2格式,而人眼又是對(duì)亮度最敏感,為了簡(jiǎn)化算法,提高效率,直接對(duì)亮度(Y)值進(jìn)行處理。對(duì)于某個(gè)檢測(cè)區(qū)域內(nèi)每個(gè)象素點(diǎn)(x,y),T時(shí)刻與T-n時(shí)刻亮度(Y)的差值為Mx,y(T)=||Yx,y(T) – Yx,y(T-n)||,IF ||Mx,y(T) – Mx,y(T-n)||≥Ta THEN L=TRUE,得到區(qū)域差分系數(shù)IMsum=ΣL。
實(shí)際決定是否報(bào)警,可由整個(gè)設(shè)置檢測(cè)區(qū)域的IMsum值來(lái)判斷。
報(bào)警 = 真, IF||ΣIMsum( ) ||≥Tb
假, ELSE
Ta,Tb為適當(dāng)閾值量。
在CIF格式下,整個(gè)畫面的分辨率是352*288(PAL),按16*16像素宏塊大小來(lái)劃分整個(gè)檢測(cè)區(qū)域,宏塊內(nèi)的像素點(diǎn)是逐點(diǎn)從左到右,從上到下進(jìn)行差分運(yùn)算并得到宏塊差分系數(shù)。整個(gè)檢測(cè)區(qū)域又是按16*16的宏塊從左到右,從上到下進(jìn)行掃描,最后計(jì)算出整個(gè)區(qū)域的差分系數(shù)。
3、返回運(yùn)動(dòng)檢測(cè)結(jié)果
如果整個(gè)區(qū)域的差分系數(shù)大于設(shè)定的閥值,置報(bào)警狀態(tài)并實(shí)時(shí)將每個(gè)檢測(cè)區(qū)域的宏塊差分系數(shù)都返回。根據(jù)預(yù)先設(shè)置的快速和慢速兩種檢測(cè)狀態(tài),對(duì)畫面進(jìn)行不間斷的分析處理,并返回結(jié)果,直到停止運(yùn)動(dòng)檢測(cè)。
如果整個(gè)區(qū)域的差分系數(shù)小于設(shè)定的閥值,復(fù)位報(bào)警狀態(tài)。
這種基于幀差分算法的運(yùn)動(dòng)檢測(cè)完全獨(dú)立于編碼,可以靈活的任意啟動(dòng)停止。實(shí)現(xiàn)“動(dòng)則錄,不動(dòng)則不錄”。配合其它接口函數(shù),還可以實(shí)現(xiàn)預(yù)錄像功能,即通常狀態(tài)下只是進(jìn)行畫面預(yù)覽監(jiān)控和運(yùn)動(dòng)檢測(cè),編碼后的數(shù)據(jù)不寫入文件,只暫時(shí)寫入一個(gè)FIFO緩沖區(qū)里,一旦發(fā)生運(yùn)動(dòng)檢測(cè)報(bào)警,可以先將報(bào)警之前緩沖區(qū)的數(shù)據(jù)寫入文件,然后再實(shí)時(shí)將編碼后的數(shù)據(jù)寫入文件,報(bào)警解除后,延時(shí)一段時(shí)間再停止寫文件,轉(zhuǎn)入寫緩沖區(qū)狀態(tài)。實(shí)現(xiàn)運(yùn)動(dòng)檢測(cè)報(bào)警的全過(guò)程錄像。這樣既可以完整獲取整個(gè)報(bào)警事件的過(guò)程,又可以節(jié)約系統(tǒng)的資源,在相同的存儲(chǔ)空間下,可以大大延長(zhǎng)保存錄像的時(shí)間。
移動(dòng)偵測(cè)評(píng)估
要對(duì)運(yùn)動(dòng)檢測(cè)技術(shù)的性能進(jìn)行評(píng)估并不容易,特別是要進(jìn)行定量的分析時(shí),必須提供一個(gè)供作比較、研究的標(biāo)準(zhǔn)視頻序列,它應(yīng)該包括突然場(chǎng)景變化,攝像機(jī)移動(dòng)以及光線明暗變換等特殊效果。檢測(cè)方案可用多種參數(shù)來(lái)評(píng)估,比如檢測(cè)成功率、檢測(cè)失敗率等等。在實(shí)際應(yīng)用環(huán)境中,可以通過(guò)調(diào)節(jié)閥值對(duì)室內(nèi)普通環(huán)境,室外環(huán)境獲得比較好的監(jiān)測(cè)效果。
還可根據(jù)功能實(shí)現(xiàn)的方法分類,主要是對(duì)軟件和硬件兩大類實(shí)現(xiàn)方法進(jìn)行一些定性的分析。
(一)硬件評(píng)估
采用硬件來(lái)實(shí)現(xiàn)監(jiān)測(cè)功能,不占用CPU,擁有較快的處理速度,因而可以采用一些較為復(fù)雜的算法以獲得更為準(zhǔn)確的監(jiān)測(cè)結(jié)果,并且有很好的實(shí)時(shí)性。譬如數(shù)字寶護(hù)神、無(wú)線嬰兒監(jiān)視器等監(jiān)控設(shè)備會(huì)通過(guò)內(nèi)置VMD(Video Motion Detector視頻移動(dòng)探測(cè)器)電路可以當(dāng)報(bào)警探頭使用。檢測(cè)電路首先會(huì)將靜態(tài)圖像貯存起來(lái),之后,如果發(fā)現(xiàn)畫面的變化量超過(guò)了預(yù)先設(shè)定的值,系統(tǒng)就會(huì)發(fā)出報(bào)警信號(hào),以提醒安防人員或啟動(dòng)錄像機(jī)。然而硬件實(shí)現(xiàn)也意味著較高的成本,而且一旦系統(tǒng)對(duì)動(dòng)態(tài)監(jiān)測(cè)功能提出了更新更高的要求,那么原來(lái)的硬件系統(tǒng)只能棄而不用,必須采購(gòu)新的硬件,造成浪費(fèi)。
(二)軟件評(píng)估
用軟件實(shí)現(xiàn)的監(jiān)測(cè)功能,如果用主機(jī)的CPU來(lái)完成數(shù)值計(jì)算,算法不能太復(fù)雜,而且計(jì)算量不宜太大,否則會(huì)影響監(jiān)控系統(tǒng)其他功能(如顯示、錄像等)的實(shí)現(xiàn)。如果算法下載到DSP上運(yùn)行,就可以解決這個(gè)問(wèn)題,首先它的功能擴(kuò)充非常容易,算法的優(yōu)化不會(huì)造成不必要的浪費(fèi),可以生成新的微碼下載到DSP上,就可以提升性能,并且可以根據(jù)用戶不同的需求提供一些個(gè)性化的功能組合。