蔡偉立,卿粼波,滕奇志,何小海
(四川大學 電子信息學院,四川 成都 610065)
現在視頻監控的應用場景變得越來越多樣化,人們對監控系統的智能化、功能化要求也越來越高。例如家居安防監控,邊防、機場、重要工業場所周邊監控,隱蔽刑偵等場景下的智能監控,都需要自動識別入侵目標、智能跟蹤目標、通過遠程終端實現目標監控。國內在智能監控方面研究主要是本地監控[1],而在網絡視頻監控方面則是一些視頻實時傳輸[2-3]、發送異常圖像[4]等單一功能,且需要人工實時監控操作,不能實現完全自動智能處理,這些狀況很難滿足特定場景下的監控需求。國內主要的視頻監控廠家等開始在網絡監控方面做一些智能化處理,但更偏向于智能家居或物聯網,系統不能與其他廠家產品兼容。本文通過綜合考察目前國內關于視頻監控領域的研究現狀以及市場針對監控功能的需求,設計了在網絡監控背景下的基于嵌入式平臺的智能監控系統,該系統滿足特定場景下對目標自動識別與跟蹤、遠程通知用戶實時查看監控狀態等智能化功能,并且具有產品兼容性和功能擴展性,在監控系統的智能化和普及方面具有很重要的現實意義。
本文設計的監控系統具有遠程網絡監控功能、自動檢測入侵目標功能、智能跟蹤目標運動軌跡功能。因此需要采用網絡攝像頭進行前端視頻采集,并將采集的視頻數據送入嵌入式平臺進行智能算法處理,最后通過遠程終端設備或者本地設備監控。整體監控方案如圖1所示。

圖1 系統整體方案圖
前端采集設備選擇網絡PTZ攝像頭,具備云臺全方位移動功能,能夠滿足系統智能跟蹤目標運動軌跡的要求。嵌入式平臺選擇達芬奇系列TMS320DM8168芯片。作為高性能DMSoC,該芯片集成了一個主頻為1.2 GHz的Cotex-A8核、一個主頻為1GHz的C674x DSP核、一個控制HDVPSS子系統的VPSS M3核和一個控制HDVICP的Video Cortex M3核。同時該芯片還具有豐富的外設資源,支持擴展千兆位以太網MAC、SATA硬盤、DDR3、NAND Flash以及HDMI接口。其中DDR3運行Linux操作系統以及運算過程的數據存儲,NAND Flash 存儲Uboot引導程序和文件系統,HDMI接口用于監控畫面的本地顯示[5]。
TI公司提供的軟件開發包dvrrdk4.0, 在dvrrdk2.0基礎上加入了RTP等多種協議,包含開發DVR、DVS、NVR等產品視頻應用程序所需的所有組件,便于用戶開發實時傳輸多媒體數據的功能。開發包軟件平臺做了很好的分層,它的主體是多通道軟件框架(Multi-channel FrameWork, McFW)。McFW 在底層協調了VPSS M3、VIDEO M3、DSP以及Cortex A8多個核心進行數據處理,通過Link API機制和chain機制,實現視頻數據流在各個核心之間以及核內部不同線程之間并行處理。本文就是基于McFW API 接口進行開發的。
為了在嵌入式平臺上實現系統功能,本文將軟件設計部分分成三個模塊,包括獲取網絡視頻數據進行相關處理、進行智能算法運算以及控制PTZ并發送運算后的視頻數據到網絡。軟件設計流程如圖2所示。

圖2 軟件設計流程
首先在A8核中Linux系統調用live555內部接口函數實現RTP客戶端的創建,接收來自網絡攝像頭的視頻數據流。再調用Vdec_putBitstreamBuffer接口函數將視頻數據放入共享空間,與McFW結合,供多核心調用處理。在McFW中通過Link API創建數據鏈,將接收到的數據進行解包、解碼、去隔行、降噪、縮放處理。然后數據被送到DSP核內進行檢測跟蹤運算。最后根據算法處理信息控制PTZ,同時將處理后的視頻數據發送到網絡以及進行本地顯示。
考慮到監控畫面中的靜態背景復雜性,檢測部分系統選用檢測效果好、處理速度快、應對噪聲穩定可靠的視覺背景提取(ViBE)算法[6]。跟蹤部分選擇了跟蹤精確的CT(Real-Time Compressive Tracking)算法[7]。在DSP核中通過檢測和跟蹤算法的結合,系統不再依賴人工干預即可智能檢測入侵目標跟蹤運動軌跡。算法實現流程如圖3所示。

圖3 算法實現流程圖
單純地對兩個算法進行移植還不能完成算法流程圖,本文根據系統的應用需求對算法進行了優化。
(1)ViBE算法的思想是,在第一幀圖像中按平均分布隨機選取多個鄰域像素點樣本為每個像素點建立一個基于樣本的背景模型,計算當前幀對應像素值與背景模型中的樣本值的距離,計數距離小于設定閾值的樣本個數,若個數超過一定值,判定對應像素點為背景像素點。當某個像素被判定為背景像素時,該像素點有一定的概率去更新自己和鄰域的模型樣本集,當像素點連續N次被判定為前景點時,將其更新為背景點。
ViBE算法對噪聲、光線反應比較靈敏,監控場景中的樹葉晃動、非人類物體運動都會被檢測為運動前景。為了避免類似前景被錯誤的跟蹤,系統設定了條件來判定檢測出的前景是否為需要跟蹤的感興趣區域(ROI)。通過多次測試,本系統設定前景目標高度寬度比值大于3∶2,且根據監控攝像頭安裝高度設定前景目標寬度占監控畫面比值。
(2) CT算法是基于壓縮感知的跟蹤算法。第一幀先采樣若干張正負樣本圖像并提取多尺度的廣義Haar-like特征值,利用隨機感知矩陣降維特征值來訓練樸素貝葉斯分類器參數(式(3)),然后在下一幀的對應位置周圍采樣若干窗口,同樣對它們的特征矩陣降維,并利用訓練好的樸素貝葉斯分類器(式(1))進行分類,選擇概率最大的窗口判定為目標窗口。

(1)
(2)
(3)
其中,y∈(0,1)表示樣本的正負標簽,學習因子λ>0。
原始CT算法通過在線學習更新分類器,無法處理drift問題。這就導致目標消失后系統會把消失處的背景作為跟蹤目標,進入跟蹤死循環。本系統對CT算法進行優化,計算并保存前兩幀目標框特征向量的歐氏距離作為初始距離,之后每幀目標框確定之后都計算其相對初始化目標框特征向量的歐氏距離。如果連續幾幀的歐氏距離與初始距離比值超過一定閾值,就判定目標消失,從而系統關閉跟蹤算法,重新進入檢測部分監控場景內的變化。
監控系統效果如圖4所示。前兩幅圖是算法優化前效果圖,后四幅圖是優化后的效果。其中圖4(a)顯示了目標進入監控后,系統檢測出ROI之后開始跟蹤ROI坐標。由目標在監控邊緣,系統控制PTZ轉動。圖4(b)顯示了目標從監控畫面消失之后系統的跟蹤狀態,進入跟蹤死循環。圖4(c)、(d)顯示了算法優化之后跟前兩幅圖的對比。

圖4 監控系統效果圖
本系統對網絡攝像頭采集的1 920像素×1 080像素的視頻幀進行下采樣處理,在VPSS M3核中通過scalar link將圖像下采樣為640像素×360像素的圖像。之后對DSP中的算法運行速度進行優化。代碼部分優化內容包括循環代碼優化、移位運算代替乘除運算等,DSP端軟件運行效率優化包括編譯選項優化、Cache配置優化,最終系統在跟蹤目標時的運行速度可以穩定達到18幀/s。表1列出了優化效果。

表1 運行速度優化效果
本文設計了是一套基于嵌入式平臺的用于檢測跟蹤的網絡PTZ球監控系統,主要目的是在小型化智能系統上通過算法智能控制球機云臺,供遠端監控目標運動軌跡。整個系統具有開放性,根據不同用戶需求還可以添加功能,例如在擴展的SATA硬盤存儲監控視頻,檢測到目標之后通過網絡發送通知到移動終端等。本系統的實現在防止目標入侵的隱蔽場所或者跟蹤移動目標軌跡的背景下具有現實意義,在網絡監控智能化發展方面有重要意義。
[1] 蔣巍,張健,曾浩. 基于智能視頻監控系統的運動目標檢測和跟蹤[J].電視技術,2012, 36(5): 110-114.
[2] 李江濱. 基于網絡的視頻監控系統實時傳輸研究與實現[D]. 鄭州:鄭州大學, 2016.
[3] 陳名松, 邱曉金, 許笑. 基于 OpenCV 與 Socket 的網絡視頻監控系統設計與實現[J]. 現代電子技術, 2017, 40(2): 57-59.
[4] 盛凱. 基于ARM 家居視頻安防監控的實現[D]. 淮南:安徽理工大學, 2017.
[5] 蘇莎莎. 基于TMS320DM8168多核處理器的嵌入式高清視音頻處理系統的研究與實現[D].南京:南京郵電大學,2014.
[6] BARNICH O, VAN DROOGENBROECK M. ViBe: a powerful random technique to estimate the background in video sequences[C]//Acoustics, Speech and Signal Processing, 2009. ICASSP 2009. IEEE, 2009: 945-948.
[7] ZHANG K, ZHANG L, YANG M H. Real-time compressive tracking[C]//European conference on computer vision. Springer, Berlin, Heidelberg, 2012: 864-877.