裴莉莉,張 赫,楊 波
(1.長安大學信息工程學院,陜西 西安 710064;2.西安翔騰微電子科技有限公司,陜西西安 710068;3.大唐移動通信設備有限公司西安分公司,陜西西安 710061)
智能視頻監控技術是一個眾多學科共同作用下的新興研究領域,也是當前計算機視覺、圖像處理等方面的研究熱點[1],能夠為政府部門、公共區域等場所進行實時、自動全時段的監控[2]。
智能視頻監控系統最早出現于歐美等發達國家[3-4],歐盟程序委員會設立ADVISOR 項目,實現對機場、金融機構、地鐵等公共場所的監控[5]。我國中科院自動化研究所在城市交通監控方面有深入的研究,其開發的VSTAR 系統可以實現對行人的實時監控以及行為檢測[6]。
在目標檢測方面,文獻[7]提出一種改進的ViBe算法,通過對背景進行填充得到真實背景圖像,最后對運動目標進行檢測。文獻[8]提出一種改進的三幀差分算法,該算法對尺度變化和部分遮擋的目標跟蹤魯棒性更優。文獻[9]結合內輪廓填充法,對運動目標檢測區域起到增強和濾除干擾的作用。
在目標跟蹤方面,文獻[10]實現了以HSV 色彩空間為基礎的Camshift 算法,能夠較準確地跟蹤視頻中不同速度的車輛。文獻[11]提出一種改進的Camshift 跟蹤算法來獲得目標質心的位置,并成功應用在移動機器人系統中。文獻[12]提出一種結合Kalman 濾波和LBP 紋理的改進Camshift 算法,能夠在顏色相似干擾、目標快速運動等復雜背景中跟蹤目標。
以上各類智能監控系統的設計與研發和三幀差分算法與Camshift 算法在目標跟蹤中的應用為該研究提供了良好的實現思路。基于此,文中首先對三幀差分算法進行改進,得到前景檢測方法;其次針對目標被干擾后出現無法跟蹤的情況,對Camshift 算法進行改進,提高了目標跟蹤算法的準確性與檢測效率;然后將上述兩種算法相結合,實現檢測物體是否被放回原位的功能;最后利用Qt 軟件設計上位機界面,實現智能目標跟蹤與移位還原監控系統。
監控系統的核心算法主要有3 個部分,分別是運動目標檢測算法、運動目標跟蹤算法、移位還原算法。
在該模塊中,將本地視頻或攝像頭采集的序列作為當前系統的輸入視頻序列,然后對三幀差分算法進行改進,實現對運動目標的檢測,并與GUI 設計相結合。
由于傳統幀間差分算法[13]在前景目標提取時,檢測到的目標不完整,其外輪廓常常出現“雙邊”現象。同時目標的運動速度越快,產生的這種“雙邊”現象就越明顯,還會伴隨很大的空洞[14]。因此,文中在三幀差分算法的基礎上又作了如下處理:
將三幀差分算法處理得到的三幀連續圖像進行“與”運算,并保留其公共部分,消除部分噪聲后進一步去除噪點和閃爍像素點;之后進行中值濾波處理,消除閃爍點,提取圖像輪廓,并將此步驟重復進行10 次;最后對該圖像進行腐蝕操作,從而得到運動目標。
三幀差分算法與改進的三幀差分算法對背景復雜的視頻處理結果如圖1 所示。可以看出,原始算法只能夠檢測到運動目標的輪廓信息,目標內部存在明顯的黑色空洞現象,且伴有一定的噪聲;而改進的三幀差分算法可以準確地檢測出運動目標,并且圖像中的噪聲得到了有效消除。

圖1 改進前后三幀差分算法的實驗結果對比
當背景顏色與目標顏色相似或者與目標附近有相似的運動物體時,僅采用Camshift 算法會導致目標跟蹤失敗。而AKAZE 算法不依賴目標的顏色特征,通過視頻序列中的運動圖像與目標模板之間進行特征匹配,從而得到運動目標的位置信息。在Camshift 算法中融合AKAZE 算法可以解決背景顏色對運動目標的干擾。當目標被嚴重遮擋時,通過Kalman 濾波對跟蹤目標下一時刻在圖像中可能運動到的位置進行預先判斷[15],再通過融合后的Camshfit 算法搜索目標并調整搜索框的大小和位置,從而實現跟蹤目標被遮擋后不丟失目標。
基于以上分析,改進后的算法流程如圖2 所示。

圖2 改進后Camshift算法實現流程
具體步驟如下:
1)讀取圖像序列,將圖像序列由原來的RGB 色彩空間轉換到HSV 色彩空間,提取圖像的H 通道。
2)選取待跟蹤目標,用選出的目標框作為目標的初始狀態,計算并顯示目標的顏色直方圖Hobj,計算出目標模板的AKAZE 特征點,為后續的特征匹配做準備。
3)初始化Kalman 濾波器的參數。
4)預測下一時刻前景目標在場景中可能出現的位置以及得到目標框的寬度和高度。
5)計算場景中被跟蹤的目標顏色直方圖Hsce,并結合步驟2)計算得到的Hobj,從而得到相似度D(Hobj,Hsce)。以該相似度作為目標是否被遮擋的判斷依據[16]。
6)判斷D(Hobj,Hsce)與Tth大小。當D(Hobj,Hsce)>Tth時,表示目標被遮擋,此時將視頻序列中的目標子圖與目標模板進行AKAZE 特征點匹配,并統計出兩者之間的最優匹配數N。將N與閾值Nth進行比較,若N≥Nth,則采用隨機抽樣一致算法來確定被跟蹤目標在場景中的位置信息以及包圍運動目標的矩形框的寬度和高度。根據得到的數據更新Kalman 濾波算法中的參數。若N<Nth,則直接更新Kalman 濾波器中的參數。
當D(Hobj,Hsce)≤Tth時,表示目標沒有被遮擋,此時采用Camshift 算法實時跟蹤前景目標,并將得到的前景目標位置信息以及矩形框的大小作為Kalman濾波器的參數,實時更新Kalman濾波器參數。
7)在圖像序列中畫出矩形運動目標。
8)判斷是否為最后一幀圖像,如果不是最后一幀圖像則跳轉到步驟4),如果是則結束跟蹤。
采用RANSAC算法(Random Sample Consensus)[17]將目標模板的圖像特征與視頻序列中的目標子圖按單映射進行匹配。將目標模板圖像4 個角的映射點顯示在當前的圖像中,從而得到運動目標在當前視頻序列中的位置,此時跟蹤丟失后的目標將再一次出現在區域當中。
使用OpenCV3.1 計算機視覺算法庫中的測試視頻vtest.avi,對Camshift 算法以及改進后的目標跟蹤算法進行測試,結果如圖3 所示。

圖3 有遮擋目標跟蹤結果
從圖3 中可以發現,當運動目標被部分遮擋并且在背景中存在干擾時,改進后算法可以準確并持續性地對目標進行跟蹤,而原始算法則會出現明顯的目標誤判。
移位還原技術首先檢測項目中是否存在殘留的工程圖像,然后再采集圖像。將采集到的圖像與現有視頻圖像進行目標移位還原對比,若繼續還原目標物體則繼續進行檢測,直到目標物體不再進行還原動作后,記錄結果并保存,流程如圖4 所示[18-19]。

圖4 移位還原流程
監控系統的設計采用GUI 用戶界面、接口、圖像處理算法,整個系統由一個主窗口和多個對話框組成。所采用的軟件開發環境、運行環境及開發語言如表1 所示。

表1 智能系統監控系統開發環境需求
系統在界面設計方面主要包括登錄界面和目標跟蹤還原等子功能界面。
系統登錄界面分為系統管理員登錄和操作人員登錄,系統管理員有最高權限并且是唯一的,管理員可以對其他人員進行授權,授權后的其他人員就可以通過指定的用戶名和密碼進行后續操作。
運動目標跟蹤界面主要由3 部分組成:圖像顯示區、控制區和參數顯示區。
移位還原界面主要包含3 部分:位于左上角多攝像頭間的切換區域、位于左側的工具箱和圖像顯示區。
目標跟蹤模塊首先啟動攝像頭或打開視頻文件,然后選擇目標,選出待跟蹤的目標。此時算法中目標模板被初始化,接著開始跟蹤目標。其中算法計算得到特征點匹配對數為10,巴氏距離為0.348,圖5 為目標跟蹤結果。

圖5 目標跟蹤的結果
在啟動系統后,進入移位還原系統。從攝像頭中采集一幀圖像并將其顯示在圖像采集區。然后移走目標物體,在攝像頭顯示區域顯示物體的輪廓信息。
當需要對物體進行還原時,只需將目標物體逐漸向原位置移動,右側圖像采集區的圖像可以幫助對目標物體進行快速定位。在目標物體逐漸被還原的過程中,已被完全還原的部分外部輪廓會消失,如圖6 所示,從“驗證還原結果”處可以看到,目標物體已被大部分還原,并且在“圖像還原程度”區,定量地顯示物體被還原99.83%。

圖6 目標物體臨近還原
當移動目標物體與初始輪廓完全融合時,目標被完全還原,如圖7 所示。從圖中可以得到,像素值的對比為0,目標物體被100%還原。為了進一步檢驗目標物體的還原程度,采用AKAZE 算法對目標物體的特征點進行檢測,并對前后兩張圖像的特征點進行匹配,結果顯示兩幅圖特征點100%匹配。

圖7 目標物體完全被還原
針對復雜場景下目標跟蹤和移位還原的問題,設計了一種智能監控系統。首先,對三幀差分檢測算法和Camshift 目標跟蹤算法進行改進,通過AKAZE特征匹配算法獲得當前圖像序列中跟蹤目標的位置和大小。當目標失去跟蹤能力時,能夠重新定位移動目標。當運動目標被完全遮擋時,Kalman 濾波算法可以實現對前景目標位置的預測,從而確保目標的定位。其次,實現了目標的移位還原功能。之后轉換圖像格式,基于Qt 語言和OpenCV 完成軟件界面設計。最后,通過實際復雜與有遮擋場景中運動目標的測試,可視化地展示了算法在監控系統的實際運行效果。
良好的測試效果表明,設計的監控系統可以很好地用于復雜背景下的目標檢測與跟蹤,也可以用于刑偵案件中的目標移位還原,對保障人民生命財產安全具有積極意義。