葉子豪
(中國民用航空華東地區(qū)空中交通管理局 技術保障中心,上海 200335)
無人值守臺站和無人值守機房已經成為空管發(fā)展的趨勢。通過在機房中安裝視頻監(jiān)控實現(xiàn)無人值守臺站/機房實時情況的了解是保障空管安全生產運行的重要手段。視頻監(jiān)控可以實時為機房管理人員遠程提供機房運行環(huán)境和現(xiàn)場信息,結合設備巡視系統(tǒng)可以較為準確地掌握現(xiàn)場設備的運行狀態(tài)。但目前的視頻監(jiān)控和巡視系統(tǒng)保障的主要部分依然是硬件和網絡,大量的異常報警仍然需要機房管理人員進行實時判斷和分析,這對機房管理人員的負荷無疑是巨大的。對于已經設置了視頻監(jiān)控的無人值守機房,期望通過ViBe算法對視頻監(jiān)控中的各類無效信息進行過濾,對有效信息進行篩選,對異常情況及時報警,實現(xiàn)對機房情況的準確判斷,對機房內出現(xiàn)的運動目標進行檢測和分析,減少人為因素所造成的不必要的意外發(fā)生和伴隨意外發(fā)生所造成的各類經濟損失以及人員傷亡??展軣o人值守臺站視頻監(jiān)控使值班人員對于無人值守的實時信息了解更加及時,當出現(xiàn)意外狀況時,可以結合設備監(jiān)控數(shù)據(jù)和視頻監(jiān)控對現(xiàn)場情況進行更加有效的判斷?,F(xiàn)階段,無人值守臺站正在從僅對現(xiàn)場設備進行數(shù)據(jù)監(jiān)控向視頻監(jiān)控與數(shù)據(jù)監(jiān)控相結合的階段過渡,在過渡過程中結合現(xiàn)階段已經實現(xiàn)的機器人巡檢和無人機巡檢對空管無人值守臺站進行展望。在實際應用場景中,視頻監(jiān)控大多數(shù)是固定位置攝像頭,大量無效信息仍然在干擾機房管理人員,想要實現(xiàn)對視頻監(jiān)控的有效分析,第一步就是對視頻監(jiān)控中出現(xiàn)的運動目標進行檢測,檢測出運動目標才能對視頻內容進行分析[1]。
運動目標檢測技術是計算機視覺在工程層面應用的重要單元。計算機視覺涵蓋眾多內容,如果要進行另外的圖像處理操作,第一步就是對采集的圖像序列進行運動目標檢測,只有準確地檢測到圖像中的運動目標,后續(xù)算法才能對檢測到的運動目標進行處理后的圖像分類、對檢測目標進行跟蹤進而分析其行為。如果檢測時運動目標攜帶陰影,需要將陰影消除,以得到預估的良好效果。
運動目標檢測是有效地從采集到的連續(xù)圖像里檢測和跟蹤所需要的運動目標[2],無視不發(fā)生移動的背景或暫時不移動的目標,從檢測到的運動目標里得到需要采集的信息。運動目標檢測是步入智能化視頻監(jiān)控系統(tǒng)的最重要的功能之一,更是所有監(jiān)控系統(tǒng)有效運行的基礎和前提。對于建立完善的監(jiān)控系統(tǒng),監(jiān)控系統(tǒng)所使用的運動目標檢測技術是良是莠,不僅僅影響到運動目標檢測的準確性,更是影響到了監(jiān)控系統(tǒng)的品質[1]。
通過對各種常見的背景建模算法進行研究和比較后,選擇近10年較為熱門的ViBe算法對運動目標檢測進行研究。ViBe算法即visual background extraction ,翻譯成中文是視覺背景提取算法。視覺背景提取算法與其他的運動目標檢測算法相比,構筑背景模型的速度很快且算法復雜程度不高,背景模型與時間同步進行更新的效果更好,對于視頻序列幀的處理效果好,而且不需要進行大量籌算。憑借著這些優(yōu)點,視覺背景提取算法在需要的檢測場景中有著廣泛的應用。
運用視覺背景提取算法在現(xiàn)實世界的各類復雜場景中完成運動目標檢測與跟蹤,需要解決三個問題:一是設法構建出背景模型,在ViBe算法中怎樣運用背景模型;二是在ViBe算法的設計預處理環(huán)節(jié),預處理后的視頻序列怎樣完成初始化;三是怎樣保證在檢測場景的背景模型發(fā)生變化后,在短時間內構筑出新的背景模型。
2011年Dr. Bamich提出ViBe算法時,對上述問題進行了探索。Bamich等人在算法過程設計中加入快速構建背景模型的模塊,建立樣本充足的背景模型進行前景像素與背景模型的分離,利用設定好的背景模型更新模塊根據(jù)視頻序列變化更新背景模型。原始的背景模型利用鄰域像素點的值相似的原理,完成背景模型的形成。背景模型建立后,從連續(xù)采集圖像的第二幀伊始進行對前景像素點與背景模型的拆分工作,與此同時,背景模型隨著視頻序列幀的不斷載入和讀取也開始進行更新?;赩iBe算法,可以實現(xiàn)對視頻序列進行像素點的背景模型建立。ViBe算法的基本思想可以總結為以下三點:
(1)對背景模型進行初始化。ViBe算法首先為背景模型構建一個容量為N的樣本集,參照背景模型樣本集所存儲的同一個位置像素點波動范圍,獲取某個像素點和其鄰近像素點的像素值以及這個點的歷史像素值。
(2)對新載入的圖像進行像素點分類,繼而進行運動目標檢測。首先,想要判斷新載入的圖像像素點屬于前景像素(即運動目標)還是屬于背景像素,需要將新載入一幀圖像對應位置的像素點和此前所建立的背景模型樣本集進行做差比較,如果滿足所設定于背景比較的條件,可判斷為背景像素,否則判斷為前景像素。該點實際的意義是對前景像素和背景像素進行分類。
(3)由于多種因素的影響(如光線、噪音、緩慢移動的物體),需要隨著視頻序列的讀取實現(xiàn)對背景模型的迭代。如果當前讀取視頻幀的某個像素點被判定為背景模型像素[3],則根據(jù)設置好的方式用所檢測到的背景像素對當前的背景模型抑或對它鄰域的像素點的值更新,最終完成對背景模型的更新。
現(xiàn)階段空管動力系統(tǒng)無人值守臺站視頻監(jiān)控技術是參照2020年1月1日實施的《無人值守變電站監(jiān)控系統(tǒng)技術規(guī)范》(GB/T 37546—2019)[4]制定的。《無人值守變電站監(jiān)控系統(tǒng)技術規(guī)范》適用于35kV及其以上電壓等級無人值守變電站監(jiān)控系統(tǒng)設計、建設、設備研制、實驗及驗收??展軇恿ο到y(tǒng)無人值守臺站電壓等級主要為230V至10kV,因此使用該規(guī)范在電力系統(tǒng)安全方面是可以滿足的。
3.2.1 算法平臺
該算法構建在Qt5.7平臺上,Qt平臺可以在多個平臺為C++圖形用戶建立程序框架。Qt支持下述平臺:MS/Windows95、Windows98、WindowsNT4.0、WindowsME、Windows2000、WindowsXP 、WindowsVista、Windows7、Windows8、Windows2008、Windows10Unix/X11 -Linux、SunSolaris、HP-UX、CompaqTru64 UNIX、IBMAIX、SGI IRIX、FreeBSD、BSD/OS和其他很多X11平臺Macintosh -Mac OS XEmbedded - 有幀緩沖(framebuffer)支持的嵌入式Linux平臺,Windows CE、Symbian、Symbian^3、Symbian Anna、Symbian Belle、MeeGo、haiku-os等。
運行Qt5.7平臺的硬件的要求為 :Intel Corei3-530 GPU、Intel HD 4600集顯 RAM、2GB 硬盤空間和50GB HDD。
3.2.2 ViBe算法完成步驟
1)建立UI并且加入窗口最大化和最小化按鍵、創(chuàng)建菜單、創(chuàng)建定時器及調用按鈕、創(chuàng)建兩個顯示窗口(label)用來顯示處理前和處理后的圖像。
2)定義colortable、定義current函數(shù)、定義pixel函數(shù)、定義pixel函數(shù)、定義mframe函數(shù)。
3)創(chuàng)建子菜單,點擊調用按鈕啟動程序后加載數(shù)據(jù)庫所截取的image圖片,按照current函數(shù)設定縮放成合適的大小。
4)利用pixel函數(shù)進行image圖片和pixmap圖片的轉換,利用mframe函數(shù)得到類pixmap類圖像并且轉換的pixmap圖像申請內存空間并且在窗口1顯示。
5)利用生成的類pixmap圖像轉換得到imagray背景圖像,利用vibeforground函數(shù)轉換得到imgfore前景圖像,利用Qstring類函數(shù)填充前景圖像文件名前綴,拼接好絕對路徑將前景圖像存儲在指定路徑,并在窗口2顯示。
6)利用framecount函數(shù)實現(xiàn)對數(shù)據(jù)庫image圖片的遍歷。
算法所處理的視頻監(jiān)控是從火車站臺視頻監(jiān)控中所截取,通過ViBe算法對視頻監(jiān)控進行應用前后景分離,從而實現(xiàn)運動目標檢測。
3.3.1 ViBe算法可以實現(xiàn)運動目標檢測和背景分離
如圖1所示,通過ViBe算法可以較好地將視頻監(jiān)控中的前后景進行分離,實現(xiàn)有效的運動目標檢測和背景分離。
3.3.2 ViBe算法可以實現(xiàn)背景的實時更新
在運動目標檢測算法中,背景能否實時更新一直是一個重要的問題,我們在算法中設計了前景點計數(shù)法的背景更新策略,如圖2所示,當行人放下的背包滿足本算法的背景更新策略時,靜止的背包由前景點變?yōu)榱吮尘啊?/p>
(a) (b)圖2 原圖像與處理圖像(a原圖像,b處理圖像)
3.4.1 存在鬼影區(qū)域
由于ViBe算法可以只依靠第一幀圖像就建立背景模型,難以構建出完美的背景模型,當進行后續(xù)的運動目標檢測時,必然會出現(xiàn)部分Ghost區(qū)域(即鬼影)。Ghost區(qū)域是指那些與運動目標相連接被判定為前景的像素點,實際上并沒有真正的運動目標。盡管隨著ViBe背景模型的不斷更新,鬼影區(qū)域會不斷削弱,如果在沒有完全減去之前有較快的運動目標經過鬼影區(qū)域,顯然無法有效地檢測出這類運動目標。因此鬼影區(qū)域出現(xiàn)明顯降低了運動目標檢測的實時性和準確性。如圖1(b)所示。
3.4.2 難以快速分離運動目標所攜帶的陰影
ViBe算法和它的前輩算法都存在難以快速分離運動目標所攜帶的陰影這一缺陷。運動目標的陰影是伴隨運動目標進行移動的,因此與運動目標擁有一樣的運動特征。現(xiàn)階段所有的運動目標檢測算法都難以把運動目標與運動目標受到光照影響產生的陰影進行分離,這種情況導致陰影伴隨運動目標被運動目標檢測算法視為前景點像素。所以對于后續(xù)的ViBe算法改進時,需要加入后處理過程,對運動目標與陰影進行有效地分離,最終得到改善ViBe算法提升檢測前景像素點的有效性。使用ViBe算法對圖1(b)進行背景更新和檢測運動目標時,大量行人同時出現(xiàn)會導致陰影區(qū)域檢測為運動像素,極大地影響了前景目標檢測的效果。怎樣實現(xiàn)高效分離運動目標與陰影,這個問題是ViBe算法在未來需要解決的。
ViBe算法相較于其他運動目標檢測算法已經有了較大的進步,如可以快速完成首幀圖像的處理后進行背景模型的構筑,按照一定原則進行背景像素點的迭代進而完成背景模型的更新。當然ViBe算法仍然有許多不足需要改進,如怎樣實現(xiàn)對于鬼影區(qū)域的快速消除,通過怎樣的方法可以削弱運動目標的陰影對于前景檢測的影響。
運動目標檢測與跟蹤技術是這個時代所需要的,必然會隨著時代不斷發(fā)展,從當下應用的情況預測,ViBe算法在未來必定會繼續(xù)提高在空管智能監(jiān)控場景下的適應度,最終達成使用ViBe算法在不同類型的智能機房完成運動目標檢測與跟蹤的任務,這是ViBe算法未來研究的重要方向。以下是ViBe算法亟待解決的兩個實際問題,可以作為本文未來繼續(xù)研究方向。
(1)ViBe算法進行分析和處理的視頻序列都是來自無法進行動態(tài)目標捕捉的固定視頻采集設備,然而在許多基于視覺系統(tǒng)的實際應用中,例如機器人按照所采集到的視頻信息進行下一步動作時,必然采用可移動的視頻檢測設備,這對于ViBe算法能否快速實現(xiàn)背景的快速生成并分離出前景是巨大的挑戰(zhàn)。能否解決動態(tài)視頻采集的問題,對于視覺技術是一個巨大挑戰(zhàn),后期將改進算法來進行相關的研究。
(2)基于ViBe算法對于運動目標所檢測的結果研究了兩種狀態(tài),處于運動狀態(tài)或者靜止狀態(tài)。在需要使用運動目標檢測的生活場景中,例如在公共場合進行可疑人物的排查時,不僅需要檢測運動目標的運動狀態(tài),更需要在檢測到運動目標后對目標的行為進行分析,通過與AI算法的結合,使視覺系統(tǒng)可以理解運動目標的行為,提高系統(tǒng)的智能性。賦予運動目標檢測技術理解檢測目標的行為是未來的研究方向。