何英高,鄭學洪
(無錫工藝職業(yè)技術學院 江蘇無錫 214221)
智能視頻分析系統設計與實現
何英高,鄭學洪
(無錫工藝職業(yè)技術學院 江蘇無錫 214221)
針對當前嵌入式智能視頻分析系統圖像易抖動、漏報和誤報率高、檢測規(guī)則少等現狀,提出了通過在視頻服務器端應用視頻穩(wěn)定模塊、采用多高斯分布的算法和引入規(guī)則引擎等方法的嵌入式智能視頻分析系統設計方案。并通過交通流量檢測實踐結果驗證該設計方案提高了視頻圖像防抖能力,降低了漏報和誤報率,方便用戶實現檢測規(guī)則的靈活設置。
嵌入式系統;智能視頻分析;視頻監(jiān)控
從上世紀90年代智能視頻分析技術誕生到現在,在近20年的時間里,智能視頻分析技術一直都在不斷的發(fā)展,隨著商業(yè)化的逐步應用正日益受到人們的普遍重視[1-3],并且成長為視頻監(jiān)控的關鍵部分和重要賣點。國內的嵌入式智能視頻分析技術起步較晚,許多廠家通過購買ObjectVideo和ioimage等國外的技術授權快速地實現了智能視頻分析服務器量產上市。由于嵌入式智能視頻分析產品具備較少的后端硬件、更低的耗電以及更小的產品尺寸等優(yōu)點,使得整個智能監(jiān)控產品正在由基于PC的架構轉向嵌入式架構[4]。隨著移動互聯網高速發(fā)展,基于B/S架構的智能視頻分析產品已經成為智能安防監(jiān)控產品主流。文中基于多高斯分布運動目標檢測與跟蹤算法,提出了采用B/S軟件架構、視頻穩(wěn)定模塊和引入檢測規(guī)則引擎等方法實現嵌入式智能視頻分析系統,提高了智能視頻分析系統防抖能力,降低漏報和誤報率,實現檢測規(guī)則靈活配置。
目前智能視頻分析硬件多采用TI公司芯片[5-6],本系統的硬件系統基于TI公司達芬奇(Davinci)芯片,總體設計框圖如圖1所示。硬件系統采用模塊化設計,系統由多個模塊組成,根據功能的不同主要有視頻輸入模塊、處理器模塊、視頻輸出模塊、報警外設模塊(音頻模塊和ATA硬盤模塊)、存儲模塊(NOR、NAND、SRAM等)、UART模塊 (RS232和RS485)、10/100M自適應以太網物理層電路模塊和USB接口模塊等模塊組成。實時視頻圖像由圖像采集設備(CCD/CMOS)采集得到,采集的視頻信號經過視頻解碼芯片轉換為數字視頻信號傳入DM6446的視頻處理前端 (VFPE),然后由VPSS處理后存入DDR2SDRAM,或者通過外部顯示設備輸出;DSP子系統從DDR2SDRAM中讀入視頻圖像數據,根據檢測規(guī)則調用相關應用程序對其進行處理、分析判斷和入侵檢測,最后將檢測結果傳給ARM子系統,由ARM子系統來控制外圍接口輸出報警信息并將入侵視頻存儲到ATA硬盤模塊。
圖1 系統硬件結構
本項目所采用的智能視頻分析系統的原理如圖2。
圖2 智能視頻分析原理
2.1視頻穩(wěn)定模塊
視頻穩(wěn)定模塊是為了消除攝像機抖動對跟蹤結果的影響,避免不必要的誤報。視頻穩(wěn)定是通過對背景特征的篩選和匹配,得出水平/垂直方向的位移,對視頻進行實時的補償。
2.2背景提取
智能視頻分析運動目標檢測主要算法有3種:幀間差分法、背景差分法和光流法[7-9]。背景提取是基于在一定時間t內對固定像素的觀察得出的統計可能性(statistical likelihood),建立一個基于像素點的場景模型。我們采用的背景提取方法是基于Stauffer和Grimson的多高斯分布的方法(mixture of Gaussians,MOG).背景提取算法分為兩個步驟:用當前圖像和背景模型相結來得出圖像差異,以及用當前圖像來更新背景模型,如圖3所示。
圖3 背景提取方法
背景模型的建立是基于多高斯分布的。傳統的方式是用多高斯分布 (每個高斯分布都有自己的均值μ和標準差σ)來對每個像素點的亮度進行建模,因為每個獨立的像素點都有可能是動態(tài)背景的一部分。例如交通燈里面閃爍的黃燈,相應的像素會從黃色便成黑色,這種情況就不能用單一的高斯分布來建模,而只能用多高斯分布。
2.3圖像形態(tài)學操作
對于生成的圖像差異進行二值化,就可以得到大概的圖像前景輪廓圖 (blobs)。但是我們還需要對這一輪廓圖進行進一步的“清理”,例如移除那些獨立的像素(噪聲),以及把那些臨近的像素連接起來。這些都可以通過圖像閉運算操作來完成,閉運算操作就是對圖像先膨脹后腐蝕。圖4給出了圖像形態(tài)學操作前后的例子:
2.4連通區(qū)域
連通區(qū)域是用來將所有相鄰的像素連接起來并標記的算法。常用的有4方向連通(上下左右)見圖5和8方向連通(再加上4個對角)見圖6:
圖4 圖像形態(tài)學操作
圖5 4方向連通
圖6 8方向連通
所有連通的區(qū)域包括標記,位址,大小等等,都會被傳給跟蹤算法做進一步處理。
2.5多假設跟蹤算法
多假設跟蹤的算法的目的在于將t時刻的二值化前景和t-1時刻的二值化前景建立起對應的關系。這是一個很基本的數據關聯問題,在這里我們將使用多種特征來建立這種對應關系。
2.6目標匹配
采用了以下幾種特征的組合作為匹配的標準:
blob的中心位置 (x,y)
blob的像素面積
blob所對應像素(灰度)的歸一化直方圖(16 bins)
下面給出了blob和已跟蹤的物體 (tracker)之間的距離的公式:
在上式(1)中,最后一項其實就是計算了blob直方圖和tracker直方圖之間的Bhattacharyya距離。
根據上面的公式,我們可以計算出每個blob和tracker之間的距離,從而生成一個匹配矩陣。根據這個矩陣,會有4種可能的匹配結果:
blob找不到相匹配的tracker(新的tracker出現)
tracker找不到相匹配的blob(tracker消失或者被遮擋)
tracker找到一個相匹配的blob(tracker還存在或者不再被遮擋)
blob找到多個相匹配的tracker(假設多個tracker正處于合并中)
2.7三維校正
多假設跟蹤算法的輸出(大小,高度,速度等等)都是基于像素點的,不是現實的單位。通過設置攝像機的一些參數,如視角(field angle),傾斜角(tilt angle),像機高度等等,我們可以建立一個二維到三維的轉化關系,借此將跟蹤算法的輸出轉化成現實世界的單位。
2.8物體分類
我們這里采用了比較簡單直觀的物體分類。根據三維校正的輸出,我們可以得到物體在現實世界中大概的大小,高度,速度,長寬比等等。根據一些常識性的知識進行簡單的分類,如汽車的面積都比人的面積大等等。
2.9規(guī)則判定引擎
規(guī)則判定引擎支持非常強大且靈活的規(guī)則判定,它既支持簡單的預設規(guī)則(存在/出現/消失/進入/離開/徘徊/停留/方向/遺棄/尾隨/計數),又提供強大的自定義規(guī)則設置,用戶可以根據自己的需要進行相關的規(guī)則設置。
2.10XML生成器
考慮到XML的普及性,XML生成器是用來將所有的智能視頻分析引擎的輸出轉化成XML格式并輸出的工具。
系統采用window7操作系統搭建軟件平臺,嵌入式智能視頻分析系統內核采用Linux2.6.18作為嵌入式Linux操作系統。Linux2.6采用可搶占內核、更加有效的調度算法以及同步性的提高,同時添加了新的體系結構和處理器類型,可以支持大容量內存模型、微控制器,同時還改善了I/O子系統,增添更多的多媒體應用功能。
3.1視頻采集軟件實現
由于Linux kernel中的V4L(video4linux)提供了支持影像設備的一組API,使得 Linux在智能視頻、TV、多媒體等產品上廣泛應用,成為目前相當熱門的研究領域。本實現方案中通過調度嵌入式Linux操作系統的V4L(video4linux)和影像設備驅動程序來完成視頻捕獲,完成整個智能視頻分析系統的視頻采集第一步重要工作。具體過程:本系統采用內置OV511芯片的攝像頭,Linux內核中含有對OV511芯片的USB攝像頭的驅動。驅動加載過程如下:在kernel目錄中選擇Multimedia device下的Video for Linux,在usb support目錄下選擇support for usb和usb camera ov511 support,保存退出,新內核加載到開發(fā)板上,啟動板子后ov511.o就可以成功加載,在監(jiān)控端ARM的LCD上就可以看到攝像頭所采集到的圖像。
3.2智能視頻分析實現
智能視頻分析需要完成智能視頻分析、視頻編碼與發(fā)送兩個功能模塊。智能視頻分析模塊收到原始視頻后,先將多路行交叉模式輸出的復合視頻數據解復用,并對解復用后的單路視頻標記通道ID,然后把空buffer返回給采集線程,再按照通道ID分別對采集到的視頻原始數據根據智能分析算法和規(guī)則進行處理;視頻編碼與發(fā)送模塊將經過智能分析處理后的視頻數據通過DSP進行實時的H.264編碼,并生成NAUL數據,然后利用RTP流媒體實時傳輸協議封裝NAUL數據,建立傳輸鏈路,創(chuàng)建socket,把RTP數據包以組播方式發(fā)送到網絡當中。為了能將采集到的視頻圖像傳輸到基于瀏覽器的客戶端并實時顯示,可以通過在目標板系統中移植一個Web服務器來實現。
3.3客戶端監(jiān)控實現
B/S模式的視頻服務機制是隨著Internet技術的興起對C/S(Client/Server)服務機制的一種改進,由于其先進的開發(fā)技術,優(yōu)越的可管理性和可維護性以及簡單方便的應用模式,已經成為視頻監(jiān)控系統最流行的應用方式。
為了方便基于瀏覽器模式瀏覽智能視頻,客戶端通過開發(fā)ActiveX控件實現視頻接收和解碼,在ActiveX控件中實現與Web服務器端的網絡通信顯示圖像等功能。由于ActiveX控件可以嵌入到網頁中所以就可以通過瀏覽器訪問基于Linux的Web服務器,用戶在瀏覽器端下載ActiveX控件,通過Web頁面輸入監(jiān)控方的IP地址可以查看監(jiān)控方的信息。智能監(jiān)控系統用于交通流量檢測效果如圖7所示。
圖7 交通流量檢測
文中介紹了以DM6446+Linux+WebServer體系架構結合先進智能分析算法開發(fā)了嵌入式智能監(jiān)控系統,降低了當前智能視頻分析系統漏報和誤報率;由于采用IP接入方式,用戶利用現有網絡資源,通過瀏覽器下載ActiveX控件就可以實現客戶端規(guī)則配置,實時查看智能分析監(jiān)控視頻,具有很強的實用性和通用性,滿足了徘徊檢測、流量檢測等高難度、復雜環(huán)境下的視頻監(jiān)控要求,目前已經實現試點推廣應用。
[1]董宏輝,葛大偉,秦勇,等.基于智能視頻分析的鐵路入侵檢測技術研究[J].中國鐵道科學,2010,31(2):121-124.
[2]曾令卉.城市視頻監(jiān)控系統解決方案[J].電視技術,2012,36 (5):131-133.
[3]付蓉,嚴建亮.智能家居遠程視頻監(jiān)控系統的設計與實現[J].計算機技術與發(fā)展,2012,22(3):137-140.
[4]趙瑤池,胡祝華,胡詩雨.嵌入式網絡智能視頻監(jiān)控系統設計與實現[J].現代電子技術,2012,35(4):68-70.
[5]陳先玉,帥建平.基于DM642平臺的智能視頻分析系統設計.現代電子技術[J],2013,36(23):47-48.
[6]鄭靜,王新萍.基于TMS320DM6446的智能視頻分析系統設計[J].山西煤炭管理干部學院學報,2011,24(3):100-103.
[7]李鵬飛,陳朝武,李曉峰.智能視頻算法評估綜述[J].計算機輔助設計與圖形學報,2010,22(2):352-360.
[8]朱映映,朱艷艷,梁葉,等.結合運動估計的自適應運動目標檢測改進算法.小型微型計算機系統 [J],2014,35(1): 129-132.
[9]譚筠梅,王履程,雷濤,等.城市軌道交通智能視頻分析關鍵技術綜述[J].計算機工程與應用,2014,50(4):1-6.
Design and implementation of embedded intelligent video analysis system
HE Ying-gao,ZHENG Xue-hong
(Wuxi Institute of Arts&Technology,Wuxi 214221,China)
In view of shortage of current embedded intelligent video image analysis system,such as image dithering,high rate of false alarm and missing alarm,little rules setting and so on,this paper designs a solution of embedded intelligent video analysis system,through application of video stability module,adoption of mixture of Gaussians and usage of rules engine in video server.Practice verifies this solution can improve capability of protection image dithering,reduce rate of false alarm and missing alarm and set rules flexibly for user through a traffic flow detection case.
embedded system;intelligent video analysis;video surveillance
TN919.85
A
1674-6236(2016)22-0036-03
2015-10-28稿件編號:201510205
國家自然科學基金項目(61271333)
何英高(1972—),男,湖南衡陽人,碩士,高級工程師。研究方向:智能視頻分析和智慧校園。