王 凱,吳 敏,姚 輝,楊 樊,張 翔
1(中國民用航空總局第二研究所 科研中心,成都 610041) 2(電子科技大學 電子工程學院,成都 611731)E-mail:minhang_wangkai@163.com
智能視頻監控技術作為計算機視覺領域的研究熱點之一,涉及到數學、數字圖像處理、模式識別等眾多學科.該技術通過對視頻序列進行理解分析,檢測并標記出人們感興趣的運動目標,進而實現對目標的跟蹤、識別,還可對目標的后續行為進行高級理解分析.其中,目標檢測技術是智能視頻監控系統的基礎問題,目標檢測技術的優劣會直接關聯智能視頻監控系統后續跟蹤、識別及智能分析的好壞[1].針對固定場景[2]中采進行視頻分析處理,常用的目標檢測方法如:幀差法、背景差分法及光流法等.其中幀差法和背景差法計算量較少,運算速度比光流法快,然而無法檢測出場景中逗留和靜止的目標;光流法容易對場景中背景噪聲和光照不均等情況干擾[3].
采用背景差分法進行動目標檢測過程中,其較重要模塊是背景圖像的獲取、更新及閾值的確定.其中,常用的背景模型構建方法如:背景統計法、卡爾曼濾波法及背景模型法[4-6].對于背景統計法和卡爾曼濾波法計算簡單,運算速度快,背景統計法是對初始時間內對原始視頻圖像灰度值進行統計求均值,卡爾曼濾波法是將圖像序列中的相同位置像素點的灰度值時間序列視為帶有噪聲的背景灰度觀測值,通過遞歸來預測估計出實際背景灰度值,然而均不能獲得高質量的背景圖像;背景模型法可獲得高質量的背景圖像,其將視頻圖像所有像素點構建一定概率分布相對應的背景統計模型,然而其計算量較大.對于選取閾值策略有固定閾值和自適應閾值.其中,固定閾值法較單一,僅僅應用于單一監視環境,若在天空區變化較大、背景干擾多及光照變化快等條件下,無法檢測出動目標.自適閾值法[9]可根據前景與背景不斷變化,自適應獲取相對應的閾值,如文獻[9]利用自適應單門限值進行前景與背景圖像分割,將計算圖像中每個像素點的灰度值來獲取相對應的灰度值作為閾值用于前景與背景圖像的分割.
本文結合自適應背景匹配與門限值選取的策略,提出了一種改進Mode算法與雙門限融合的目標檢測方法.其基本思想是采用改進的Mode算法來提取監控場景的初始背景圖像,采取緩沖幀機制逐漸對背景模型進行更新,以獲取高質量的背景圖像,同時利用雙門限閾值對差分圖像進行動目標檢測,其中低門限值可以檢測分割出明顯變化的動目標,在低門限的基礎上利用高門限值以解決低門限檢測分割中存在的噪聲目標及假目標,最后獲得視頻監控復雜環境下動目標的精確檢測.同時本實驗中在視頻監控下車輛、行人及飛機等不同目標的采集視頻對本文方法、背景差法(固定閾值)、文獻[9]方法進行了檢測效果及性能對比.
Mode算法是對視頻序列的圖像中每個像素點(x,y)沿時間軸分別統計其前m幀圖像中該點灰度值形成一個沿時間軸統計的灰度直方圖Histgram(x,y,0),Histgram(x,y,1),…,Histgram(x,y,255),然后將該沿時間軸統計的灰度直方圖中出現頻率最高的灰度值對應作為該像素點(x,y)的當前背景灰度值(初始背景灰度值),即計算公式如下:
Mode(x,y)=MAX(Histgram(x,y,0),…,
Histgram(x,y,255))
(1)
在Mode算法獲取初始背景時,先通過圖像幀序列的前m=110(即獲得理想的初始背景圖,其優于取m<110幀均值獲得的初始背景圖,保證算法的實時性)幀圖像統計并得出每個像素點的灰度Mode值,然后重新構造初始背景的圖像,實現其更符合真實背景的灰度值.
然而在實際監控場景中,由于天氣光照變化、背景物體輕微擾動、短暫停留物體等不可避免的干擾,像素點的灰度值不是理想下的某一確定值,而是圍繞著這個確定值左右波動分布在一個較小的區域中.針對這個問題,文獻[6]中在獲得小區間中分布值最大的區間后,取得該區間的中值,用該中值作為相應像素點的Mode值,并且做出了以下改進:在獲得小區間中分布值最大的區間后,取得該區間的平均值,最后用該平均值作為相應像素點的Mode值,即當前像素點的背景灰度值.
本文針對以上取區間的中值和均值,及實際背景灰度值處于所劃分區間的邊界問題,對傳統的Mode算法作如下改進:統計獲得像素點沿時間軸的灰度分布直方圖后,按灰度值分布軸平均劃分為大小相等的小區間,然后利用二次分段累加統計(將256灰度級先分為64個小區間,再分為32個小區間)找到灰度級頻數和最大的區間以及與其相鄰的頻數次大的區間,相鄰的兩個區間內的灰度級值按出現的頻率的高低排序后,即按其權重從大到小依序排列,保留排在前面的幾個數值,舍棄其余占權重較小的數值,然后保留數值的平均值,作為該點的Mode值.因此,改進的Mode算法既考慮了區間內數值的權重問題,也兼顧了實際背景灰度值處于區間邊界的問題.
實驗中區間的劃分跨度是以4個灰度級為單位,在灰度軸上將256個灰度級劃分為64個小區間,分別為[0,3],[4,7],…,[252,255].然后沿時間軸統計某像素點(x,y)的直方圖,根據前面的假設可以得知,獲得某兩個小區間[i,i+3]和[i+4,i+7]內,i到i+7這8個灰度級出現的頻數最大,之后對這八個灰度級按其頻數的大小一次排列,在實驗的過程中,發現一般視頻的幀數m一般取110左右,且取到兩個相鄰區間內的頻數最大的五個灰度級,再取平均值就可以獲得準確的Mode值.同時,考慮到像素點的位圖數據類型(Byte型),統計所得的Mode值需要進行四舍五入的處理.
獲取到噪聲少、質量可靠的初始背景,由于背景會隨著時間的推移而變化,如:屬于背景的物體被移除或背景中存在暫時停留的物體等,導致初始背景不能適應于后續目標檢測,因此需要對初始背景進行不斷更新.本文提出了一種結合改進Mode算法和緩沖幀機制的背景更新策略,將實時視頻幀信息引入到緩沖幀,通過緩沖幀的中間緩沖和屏蔽過濾作用,利用簡單加減運算,緩沖完成對背景的逐漸匹配更新,其流程圖如圖1所示.該過程計算量小,且短暫停留的目標不會立刻顯現到背景圖像中,實現背景的魯棒性更新過程.

圖1 背景匹配更新流程圖Fig.1 Flow chart of background matching and updating
緩沖幀對背景進行匹配更新流程包括三大部分:緩沖幀的更新、匹配過程、背景修正與更新.其實現步驟如下:
1)緩沖幀Rt(x,y)更新:利用改進的Mode算法計算出的初始背景對參考緩沖幀R0(x,y)和當前背景模型B0(x,y)進行初始化.而后在整個監控過程中,緩沖幀根據每一幀視頻幀所提供的實時信息進行逐幀迭代計算,隨著實際環境的變化而逐漸變化的.緩沖幀的更新計算公式如下:
Rt(x,y)=Rt-1(x,y)+η*sgn[It(x,y)-Rt-1(x,y)]
(2)
其中,Rt(x,y)為當前像素點(x,y)時緩沖幀的灰度值,Rt-1(x,y)為前一時刻像素點(x,y)時緩沖幀的灰度值;It(x,y)為當前像素點(x,y)的灰度值.η為一可變系數,其取值如下:
(3)
2)匹配過程:當視頻幀輸入時,利用當前視頻幀對緩沖幀上的每一個像素點進行匹配標記.如果滿足|It(x,y)-Rt(x,y)|<=1時,那么當前像素點為匹配成功點,否則為匹配失敗點,不予以考慮.
3)背景模型的修正與更新:通過上述匹配過程,獲得緩沖幀上匹配成功的像素點,然后利用匹配成功的點更新當前背景模型,其更新的公式如下:
Bt(x,y)=Bt-1(x,y)+λ*sgn[Rt(x,y)-Bt-1(x,y)]
(4)
其中,Bt(x,y)為當前時刻的背景模型,Bt-1(x,y)為前一時刻的背景模型,Rt(x,y)為緩沖幀上匹配成功像素點的灰度值.其中λ取值如下:
(5)
利用實時視頻幀所提供的實時場景信息來逐漸調整背景模型,可以消除短暫停留的目標或者運動較慢的目標對背景模型的污染,從而使所獲得的背景圖像更加接近真實視場背景.
在上述匹配和背景修正更新過程,可以分析得到緩沖幀的作用:它對前景目標對當前背景模型的影響有一種過濾作用.緩沖幀利用實時視頻幀中的信息,對影響當前背景模型的前景目標進行屏蔽過濾.同時它也是一種緩沖作用,通過緩沖幀對實時視頻幀的緩沖,可以大幅的濾除實時視頻幀中運動目標對背景的干擾,前景運動目標經過時對背景的遮擋不會立刻表現到背景模型上,即不會影響當前背景模型的質量.
對于現實場景中背景更新會受到天空區變化、光照變化或固定場景下靜止目標多等狀況,其均易造成背景圖像大幅改變,導致背景圖像全部更新改變.考慮到上述現實狀況,本文涉及到匹配過程中當前像素點的灰度值與當前像素點緩沖幀的灰度值計算差的絕對值會驟然變大,因此判斷為全局背景突變的狀況.當出現全局背景突變的狀況,本文方法將重新啟動對背景圖像進行初始化提取,快速找出突變后的背景圖像.

圖2 背景初始化效果圖(110幀)Fig.2 Diagram of background initialization(110 frame)
圖2分別為均值法、Mode算法、改進Mode算法(在圖像序列為110幀)獲得的初始背景.由圖2可知,在幀數同為110時,取均值法和Mode算法獲得初始背景在目標行走處會包含前景目標的信息,導致初始背景模糊并伴有噪聲,而采用改進Mode算法考慮了區間內數值的權重,因此所獲得的初始背景比較準確.

表1 頻數最大的兩個區間及頻數Table 1 Two largest intervals and frequency
以圖2中視頻幀中像素點(30,60)為例,對改進前后Mode算法的取值進行統計.表1為該像素點采用Mode算法在前110幀所取到灰度值出現的頻數最大兩個區間0-3、4-7以及各個灰度級出現的頻數.表2為改進前后Mode算法計算出該像素點的Mode值,對計算結果進行四舍五入的處理,可以看出改進前Mode算法四舍五入后所得數值為3,而改進后Mode算法四舍五入后所數值為2,與實際值是吻合的.
圖3(a)為實時視頻幀,左邊出現目標短暫逗留的情況;圖3(b)和圖3(c)分別為改進前后Mode算法進行背景更新的效果.可以得出傳統Mode算法直接用該像素值代替當前背景灰度值,所以會將短暫停留的目標較大部分刷新到背景區域,而本文改進Mode算法由于考慮了取值區間的中值和均值,幾乎不會出現動目標區域刷新到背景圖像中.

表2 改進前后Mode算法對比Table 2 Comparison of before and after of improvement Mode algorithm

圖3 目標短暫停留的背景圖像(1023幀)Fig.3 Background model on target briefly(1023 frame)
通過上述背景圖像初始化與不斷更新,后續目標檢測對于前景與背景差分中閾值選取極其關鍵.根據自適應閾值法在閾值選擇策略上能解決前景與背景差異問題,提出了一種自適應雙門限的目標檢測方法,本文采用的雙門限閾值選取及分割如下:

圖4 改進Mode算法與雙門限融合的目標檢測方法Fig.4 Moving target detection method based on improved mode algorithm and double-threshold
根據視頻連續圖像幀和更新獲得的背景圖像中全部像素點都可以利用多幀背景差分模型來處理,已知利用原始視頻幀與背景圖像通過差分計算后獲得的差分灰度圖像均可用于改進Mode算法中,所以計算出的背景范圍位置點普遍位于像素均值小空間區域內占大部分空間.如果視頻序列中能夠明確差分灰度圖像中目標像素點計算出的百分比,于是可根據正態函數分布表計算出目標范圍的大小(即與標準方差大小相關).考慮到無法統計出目標區域內像素點在整幅圖像中占據的百分比,因此需要在獲得圖像信息的基礎上采用近似估計方法,即將提取出的背景圖像與當前視頻幀圖像通過差分處理獲得差分灰度圖像的基礎上,分別獲得差分灰度圖像中占具的最大及最小百分占比.然后根據這兩個極值,可分別獲得兩個閾值范圍,最終獲得二值化的閾值,其檢測方法流程圖如圖4所示.
本文綜合改進Mode算法與緩沖幀機制進行背景更新策略,同時根據自適應雙門限進行動目標分割,提出了一種改進Mode算法與雙門限融合的目標檢測方法,其具體實現步驟如下:
1)采集視頻監控環境下的視頻序列幀,利用結合改進Mode算法與緩沖幀機制的背景法進行背景初始化和更新;
2)提取并不斷更新的背景圖像與當前實時視頻幀圖像通過差分計算,獲取灰度差分圖像;
3)獲取灰度差分圖像中所有像素點的平均值M及標準方差σ(每個像素點與均值M的差值平方和的平方根);
4)利用第3)步統計的數值,計算低門限閾值RL和高門限閾值RH的值如下:
RL=M+4σ
(6)
RH=M+10σ
(7)
5)通過差分灰度圖像分別對低門限閾值和高門限閾值進行二值化計算獲得相對應的二值化圖像信息;
6)將二值化圖像進行開運算處理,即對該圖像先進行腐蝕操作,再進行膨脹操作,采用3*3模板;
7)計算并標記高門限二值化圖像中像素面積V大于VTH的整個區域,并標記為Vhi,區域Vhi值的數量并無限制;
8)計算并標記高門限二值化圖像中每個Vhi對應的低門限二值化圖像區域中像素面積V大于VTL的整個區域,并標記為Vli,其中Vli值的數量并無限制;
9)統計并記錄相同目標在視頻序列幀中連續出現的次數m,并把次數m和設定的閾值Z進行判斷.若m ≥Z,則為動目標;否則為偽目標進行剔除.
本次實驗的硬件環境為Intel? Xeon(R)CPU E5-2603 v2 @ 1.80GHZ;4G內存;Windows 7 64位專業版系統,程序仿真軟件為Microsoft Visual Studio 2013和OPENCV2.4.3.實驗中測試視頻樣本分別采用10分鐘的車輛、行人(分辨率均為320×240@25fps)和飛機(分辨率為1280×720@25fps).視頻序列中存在動目標逗留及靜止、天空區域變化的情況.
測試實驗中將行人、車輛及飛機等不同運動目標下的視頻樣本進行本文檢測方法與背景差分法及文獻[9]方法的檢測效果及性能進行比較.并利用文獻[11]中涉及的精確度A、正確率B和C值來對三種目標檢測算法的性能作定量對比.其統計方法如下:
(8)
公式(8)中,mn為檢測目標準確的像素數目,x1為把背景錯誤作為目標的像素數目,x2為把目標錯誤作為背景的像素數目,精確度A為統計出的目標占真實目標比例,正確率B為正確判斷出真實目標比例,C值為檢測的總體性能.
利用采集學校走廊、道路十字路口、機場場面三種不同場景下的測試視頻,將簡單背景差法、 文獻[9]方法及本文方法對目標檢測效果測試和性能比較,其檢測結果如圖5所示(閾值Z取值26).圖5(a)、圖5(b)及圖5(c)分別為行人、繁忙交通路口和機場滑行道飛機檢測,圖5(a)、圖5(b)及圖5(c)中第一行為原始視頻幀圖像,第二行為背景差分法測試圖,第三行為文獻[9]方法測試圖,第四行為本文方法測試圖.實驗中原始視頻序列中包含動目標逗留及靜止、天空區域變化的情況.根據圖5(a)、圖4(b)和圖4(c)測試效果圖可以看出,本文方法比簡單背景差法、文獻[9]方法測試效果均好,檢測出運動目標分割較好.第二行在簡單背景差法檢測分割時,易受天空區域變化、動目標逗留及靜止的干擾,同時在場景中光照變化時,動目標檢測分割失效;第三行中文獻[9]方法通過自適應單門限值差分圖像,當遇到復雜環境變化以及前景目標與背景顏色相似時易受干擾,無法正確地檢測分割出動目標;本文方法采用改進Mode算法及緩沖幀更新機制提取干凈的背景圖像,然后通過自適應兩個門限值進行目標檢測分割,較更好地濾除天空區域變化、動目標逗留及靜止的干擾,最終獲得檢測分割出的動目標.

圖5 不同場景下三種方法檢測對比圖Fig.5 Comparison chart of three detection methods under different scenarios
為測試分析三種方法在目標檢測中的各個性能參數,將圖5(c)機場滑行道飛機測試視頻中手動提取出177幅含有運動目標活動的圖像當作對比基準,根據公式(8)分別統計并分析三種目標檢測方法在連續提取圖像中的三個性能指標,并且統計對應的曲線圖進行比較(橫坐標為視頻序列幀數,縱坐標為性能參數值),如圖6所示.

圖6 三種檢測方法曲線圖Fig.6 Curve chart of three detection methods
由圖6統計分析,本文方法計算出的精確度A、準確率B均較好于背景差分法及文獻[9]方法;并且本文方法計算出的C量較高于背景差分法和文獻[9]方法.
本實驗采用Intel VTune對三種方法在行人、車輛及機場測試視頻幀中分別進行平均耗時對比.利用對學校走廊、道路十字路口及機場滑行道的測試視頻進行22次測試,統計求出平均耗時.表3為不同測試場景下三種方法對目標檢測的平均耗時對比.由表3可知,本文方法在運算速度上較快于背景差法,并且比文獻[9]方法略快,基本滿足實時性需求.驗證了本文方法在背景提取與更新環節通過緩沖幀機制,可縮短更新處理時間;在目標分割模塊利用搜索目標像素面積區域來獲得運動目標,算法簡單、耗時少.

表3 三種方法平均耗時對比Table 3 Average consuming time of the comparison of three methods
本文在各個復雜視頻監控環境下,對車輛、飛機等不同監控對象進行運動目標檢測研究與測試,提出一種改進Mode算法與雙門限融合的目標檢測方法.主要內容為采用改進Mode算法提取初始背景,利用引入實時視頻幀信息的緩沖幀,對背景進行逐漸的更新,并對鬼影有一定的抑制作用,同時利用雙門限閾值對差分圖像進行動目標檢測,其中低閾值可以檢測分割出明顯變化的動目標,在低閾值檢測分割的基礎上利用高閾值以解決低閾值檢測分割中存在的噪聲目標和假目標.根據實驗證明了本文方法不僅能夠迅速、精確地檢測分割出前景目標,而且能夠有效地濾除噪聲目標和假目標的干擾.
在今后的研究中,還將圍繞復雜監控場景下運動目標停留、運動目標相互遮擋及基于深度學習的目標檢測算法進一步開展研究,用于實時視頻監控系統進行推廣應用需要.