高 峰,陳 雄,陳婉秋
(南京理工大學 機械工程學院,江蘇 南京 210094)
基于樹莓派B+微處理器的視頻檢測跟蹤系統
高 峰,陳 雄,陳婉秋
(南京理工大學 機械工程學院,江蘇 南京 210094)
針對目前視頻檢測跟蹤系統大多是在PC機上實現的現狀,設計了一種基于樹莓派B+微處理器的嵌入式檢測跟蹤系統,實現了視頻檢測跟蹤系統的便攜式小型化。在圖像處理算法上采用幀間差分方法進行目標檢測,通過形心標記進行目標跟蹤。本系統采用基于Linux操作系統的樹莓派B+微處理器進行算法移植,通過遠程桌面連接工具和小型液晶顯示器進行視頻顯示。實驗結果表明,該系統可以很好地實現視頻檢測跟蹤的基本功能。
目標檢測跟蹤;樹莓派B+微處理器;幀差法;形心標記;圖像處理
視頻檢測跟蹤技術是一門融合了圖像處理、計算機視覺、模式識別、人工智能等學科的技術[1]。所謂視頻跟蹤,是指對視頻圖像序列中的特定目標進行檢測、提取、識別和跟蹤,獲得目標的位置參數,或者目標整體所占的圖像區域,亦或是目標的運動軌跡等[2-3],從而進行后續深入的處理與分析,以實現對特定目標的行為理解。目標檢測跟蹤技術在諸如安全與監控系統、交通控制系統、定位導航系統、虛擬現實等諸多方面均有廣闊的應用,具有重要的軍事、商業價值。
由于上位機可利用資源豐富,同時圖像處理的大運算量需要較高配置的支持,現在大多數的視頻檢測跟蹤系統是在PC機或工控機上實現。然而,PC機和工控機集成了更多與檢測跟蹤系統無關的功能,這樣就使得系統成本增加[4],可移動性較差,同時造成資源浪費,針對于一些特定的場合,急需一些精簡的嵌入式系統來實現小型化的需要。鑒于此,本系統使用基于Linux操作系統的樹莓派B+微處理器作為控制核心,移植幀間差分和形心標記的目標檢測跟蹤的圖像處理算法,通過遠程桌面連接工具或小型液晶顯示器進行視頻顯示,最后實現了低成本、便攜式、小型化的視頻檢測跟蹤系統。
本設計是基于樹莓派B+微處理器的簡易式視頻檢測跟蹤系統,系統總體組成包括視頻采集模塊、圖像處理算法實現模塊、顯示輸出模塊。其中圖像處理算法實現模塊包括圖像預處理、目標檢測、目標跟蹤3個方面,顯示輸出模塊包括遠程視頻顯示和顯示器輸出。系統總體設計框圖如圖1所示。

圖1 系統總體設計框圖
1.1 系統硬件設計
本系統的硬件部分主要由視頻采集模塊、顯示輸出模塊和樹莓派B+微處理器及其周邊外設配置組成。系統在基于樹莓派B+微處理器和嵌入式Linux系統平臺上,首先通過USB攝像頭捕獲視頻圖像,將圖像信息傳入到樹莓派開發板內,通過圖像處理算法程序來實現目標檢測跟蹤的功能,然后通過液晶顯示器將處理結果進行視頻輸出或遠程連接軟件進行遠程視頻顯示。系統硬件結構方框圖如圖2所示。

圖2 系統硬件結構框圖
本系統移植的是基于OpenCV視覺庫的圖像處理算法程序,在圖像采集方面,直接可以調用視覺庫中讀取攝像頭的函數,因此避免了編寫比較繁瑣的視頻采集程序,同時在視頻采集模塊直接采用免驅的USB攝像頭即可。樹莓派B+(Raspberry Pi Model B+)微處理器作為嵌入式開發平臺,是基于ARM11核的信用卡大小的微處理器,通過運行定制的Linux操作系統,實現了系統的精簡化,在硬件配置方面,512 Mbyte RAM,700 MHz運行頻率,支持OpenGL ES 2.0,OpenVG硬件加速,1 080p H.264高清解碼,10/100以太網接口(RJ-45接口)可以實現網絡連接,支持HDMI和AV輸出,同時樹莓派B+還具有40 Pin GPIO口可以實現對外接設備的自動控制。
1.2 系統算法設計及實現
1.2.1 運動目標檢測
常用的運動目標檢測方法有光流法、背景減除法、幀間差分法。幀間差分法是基于視頻中連續幀間的相關性,對相鄰兩幀間的對應像素值做差分,背景像素被減掉,目標像素被保留[5],然后對結果做二值化處理,進而實現運動目標的檢測,幀間差分法的基本框圖如圖3所示。這種方法原理簡單,計算量較小,易于實現。該算法也有不足之處,缺點是兩幀作差容易出現“雙影”和“空洞”現象。在此問題的基礎上,改進的幀間差分算法有很多,其中一個就是用相鄰三幀差分來代替兩幀差分。三幀差分就是利用兩次相鄰幀的差,進行與操作,得到更加真實的運動目標[6]。但是,三幀差分相比于兩幀差分加入了與運算,其算法運行時間和復雜度要比兩幀差分高。

圖3 幀間差分法基本框圖
由于本系統采用嵌入式微處理器,其性能要低于PC機或工控機,在滿足系統基本功能實現的基礎上,選擇更加簡單的兩幀差分算法,可以使嵌入式系統實現對目標的快速檢測,使系統的靈敏性更高。
其公式如下
(1)
(2)
式中:I(t)和I(t-1)分別為t和t-1幀對應像素點的像素值。Dt為兩幀差分后的圖像,T為設定的閾值,Rt為差分圖像閾值化后的二值圖像,即相鄰幀中對應點的像素值作差大于設定閾值,則判定該像素點為目標像素點,否則判定為背景像素點。
1.2.2 運動目標跟蹤
在運動過程中,目標的空間位置按照自身的運動規律不斷變化,目標跟蹤就是為了確定目標在視頻序列圖像中的位置軌跡[7]。本系統采取簡單的形心標記方法來實現目標跟蹤的功能。上一節中,幀差法將視頻序列圖像中的目標和背景分離,提取出只存在目標的二值圖像,形心標記就是利用目標的外接矩形框將視場中的目標標記出來,利用矩形的中心近似作為目標形心來跟蹤。
1.2.3 圖像處理算法實現
在進行運動目標檢測跟蹤之前,需要對視頻圖像進行一些預處理操作,包括濾波處理、灰度轉換以及幀差后的形態學處理等。本系統采用的圖像處理算法具體步驟如圖4所示。

圖4 圖像處理算法流程圖
圖像實質是光電信息,在圖像信號的采集、傳輸和變換過程中不可避免地會產生噪聲影響,噪聲惡化了圖像質量,因此在進行圖像分析識別之前有必要對噪聲圖像進行濾波處理[8]。
由于彩色圖像包含紅(R)、綠(G)、藍(B)3個通道,每個像素值需要3個字節數據來表示,這就增加了圖像處理的復雜度,因此在圖像處理過程中有必要將三通道的彩色圖像轉換成單通道的灰度圖像來進行處理。通過以下公式可以實現彩色圖像轉換為灰度圖像
Gray=0.30R+0.59G+0.11B
(3)
式中:R,G,B分別為彩色圖像每個像素值的3個顏色分量,Gray為轉換后的像素灰度值。
幀差法處理后,由于噪聲的影響得到的二值圖像通常會有一些孤立的點、小區域、孔洞和小間隙,這些都會對后續的目標檢測跟蹤產生影響。本文通過圖像形態學的膨脹腐蝕處理,去除這些孤立的點、小區域,連接間隙、填充孔洞。通過形態學處理后,目標的輪廓更加清晰完整。
以上圖像處理算法在上位機中基于VS2010+OpenCV實現。
圖5中顯示了一段視頻序列的處理效果。圖5a為視頻序列中某一幀的原始圖像,圖5b為濾波后轉灰度圖像,圖5c為該幀圖像與相鄰的前一幀圖像作差后的效果圖,圖5d為形態學處理后的圖像,圖5e為通過形心標記后的目標跟蹤圖像,圖像中實時顯示目標在視窗中的形心坐標。

圖5 圖像處理算法實現
2.1 微處理器實現
微處理器實現的具體過程包括制作樹莓派Linux系統、微處理器及其周邊外設配置、在處理器中安裝Linux平臺下的OpenCV、程序移植、顯示輸出幾個部分。樹莓派系統制作及Linux平臺下OpenCV視覺庫的配置可以參考文獻[9]和OpenCV官方教程,本文不再贅述。在程序移植部分,OpenCV程序具有良好的跨平臺移植特性,因此可以將Windows平臺下的算法程序移植到基于Linux系統的樹莓派B+微處理器中。處理器及其周邊外圍設備配置如圖6所示。

圖6 處理器及其周邊外設配置
免驅USB攝像頭用來采集視頻圖像;5 V電源模塊對處理器供電;外設鼠標、鍵盤對處理器進行直接控制;網絡連接用來實現對處理器的遠程控制及遠程視頻輸出;AV接口連接顯示器實現視頻的實時輸出。
為了使操作更加方便以及Linux平臺和Windows平臺交互性更強,本設計引入了終端仿真軟件SecureCRT和遠程桌面連接工具(mstsc.exe)實現了樹莓派和上位機的無線互通。上位機通過SecureCRT實現對處理器的遠程控制界面如圖7所示。

圖7 SecureCRT終端界面(截圖)
2.2 系統性能測試
系統性能的測試是對一個簡單環境下運動小球的實時檢測跟蹤。程序設置視頻采集分辨率為640×480,顯示器輸出及遠程輸出效果如圖8、圖9所示。在遠程視頻連接之前需要在樹莓派系統Raspbian下安裝一個支持Linux系統遠程桌面連接的服務xdrp: sudo apt-get install xrdp。

圖8 液晶顯示器輸出

圖9 遠程視頻顯示(截圖)
實驗結果表明,顯示器輸出中視頻比較流暢,目標跟蹤效果比較好,完全滿足了設計要求。在遠程輸出中,較之顯示器輸出視頻有少許卡頓現象,但也基本達到了設計的要求,在后續的研究工作中,有待進一步優化視頻的無線傳輸模塊。
本文設計了一種基于樹莓B+微處理器的嵌入式視頻檢測跟蹤系統。在圖像處理算法上采用幀間差分方法進行目標檢測,形心標記進行目標跟蹤,同時在上位機中利用 VS2010+OpenCV驗證了算法的可行性。在微處理器系統實現方面,將圖像處理算法移植到樹莓派B+中,通過液晶顯示器和遠程桌面連接工具進行視頻顯示。實驗結果表明本系統具有良好的穩定性,滿足了低成本、便攜式、小型化的實際要求,實現了視頻檢測跟蹤的基本功能。
[1] NAEEM H,AHMAD J,TAYYAB M. Real-time object detection and
tracking[C]//Proc. IEEE International Multi Topic Conference (INMIC 2013), Lahore, Pakistan:IEEE Presss,2013:148-153.
[2] HU Hongyu,QU Zhaowei,LI Zhihui. Robust detection and tracking algorithm of multiple objects in complex scenes[J].Applied Mathematics & Information Sciences,2014,8(5):2485-2490.
[3] 李文書,趙悅. 數字圖像處理算法及應用[M].北京:北京大學出版社,2012.
[4] 劉海濤,譚克俊,孫白. 基于ARM9 S3C2410微處理器的視頻跟蹤與云臺控制系統的實現[J].自動化信息,2007,75(7):36-37.
[5] TREPTOW A,ZELL A. Real-time object tracking for soccer-robots without color information[J].Robotics and Autonomous Systems,2004,48(1):41-48.
[6] 孫濤,陳瑞平. 視頻監控系統中一種運動目標的檢測方法[J].電視技術,2012,36(7):127-129.
[7] 翁木云,謝宇昕. 一種改進的自適應質心跟蹤算法[J].空軍工程大學學報,2009,10(2):81-85.
[8] 楊振永,王延杰,王明佳. V4L2在TMS320DM8168高清視頻監控系統中的實現[J].電視技術,2014,38(13):215-219.
[9] HORAN B. Raspberry Pi樹莓派實作應用[M].北京:人民郵電出版社,2014.
責任編輯:任健男
Implementation of Video Detection and Tracking SystemBased on Raspberry Pi B+ Microprocessor
GAO Feng, CHEN Xiong, CHEN Wanqiu
(SchoolofMechanicalEngineering,NanjingUniversityofScienceandTechnology,Nanjing210094,China)
In view of the current status that video detection and tracking system is mostly realized in PC, in this paper, an embedded design of detection and tracking system based on Raspberry Pi B+ microprocessor is introduced, and the portable miniaturization of the system is realized. In the image processing algorithm, inter frame difference method is used for target detection and centroid labeling for target tracking. Algorithm transplantation is executed in the Raspberry Pi B+ microprocessor based on Linux operating system. Finally, a video output is conducted through the remote desktop connection tools and small liquid crystal displays. The experiment results prove that this system can well realize the basic functions of video detection and tracking.
target detection and tracking; raspberry Pi B+ microprocessor; frame difference; centroid labeling; image processing
南京理工大學自主科研專項計劃資助項目(ZDJH02)
TN919.8;TP391.4
A
10.16280/j.videoe.2015.19.026
2015-01-28
【本文獻信息】高峰,陳雄,陳婉秋.基于樹莓派B+微處理器的視頻檢測跟蹤系統[J].電視技術,2015,39(19).