李哲 張迎
(西安郵電大學(xué)電子工程學(xué)院 西安 710061)
基于嵌入式ZedBoard和OpenCV的運(yùn)動(dòng)目標(biāo)檢測(cè)?
李哲 張迎
(西安郵電大學(xué)電子工程學(xué)院 西安 710061)
為了解決以往視頻監(jiān)控中對(duì)靜態(tài)背景長(zhǎng)時(shí)間的獲取而導(dǎo)致磁盤(pán)存儲(chǔ)量過(guò)大、搜索可疑動(dòng)態(tài)目標(biāo)不易的問(wèn)題,論文在ZedBoard開(kāi)發(fā)板上,構(gòu)建了一種基于OpenCV的嵌入式圖像處理平臺(tái),通過(guò)USB攝像頭進(jìn)行視頻圖像采集,并在此平臺(tái)上改進(jìn)了OpenCV中的金字塔Lucas-kanade光流法,旨在對(duì)目標(biāo)區(qū)域內(nèi)運(yùn)動(dòng)的目標(biāo)進(jìn)行檢測(cè)跟蹤并保存成視頻文件,而對(duì)靜止的背景不做寫(xiě)入處理。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)可以有效的監(jiān)測(cè)目標(biāo)區(qū)域內(nèi)的運(yùn)動(dòng)目標(biāo)并存儲(chǔ),減少了錄像的存儲(chǔ)量,具有一定的可行性,并對(duì)智能監(jiān)控有相應(yīng)的參考價(jià)值和實(shí)際意義。
ZedBoard;嵌入式Linux;OpenCV;智能監(jiān)控;金字塔Lucas-kanade光流法
近年來(lái),智能[1]視頻監(jiān)控技術(shù)越來(lái)越受市場(chǎng)的青睞,其涵蓋了計(jì)算機(jī)視覺(jué)、模式識(shí)別、數(shù)字圖像處理等眾多領(lǐng)域的知識(shí)。與靜態(tài)圖像相比,運(yùn)動(dòng)目標(biāo)的視頻圖像幀序列提供了更為豐富直觀(guān)的數(shù)字圖像信息。運(yùn)動(dòng)目標(biāo)檢測(cè)和跟蹤[2]是智能監(jiān)控的關(guān)鍵技術(shù),通過(guò)獲取運(yùn)動(dòng)目標(biāo)的運(yùn)動(dòng)參數(shù)(如:位置,時(shí)間等),可以描繪出運(yùn)動(dòng)目標(biāo)的移動(dòng)軌跡,從而實(shí)現(xiàn)了對(duì)目標(biāo)運(yùn)動(dòng)行為的檢測(cè)工作,可以有效地應(yīng)用在智能交通、刑偵偵測(cè)和防盜治安等眾多領(lǐng)域中。
本文提出了一種基于ZedBoard和 OpenCV[3]的運(yùn)動(dòng)目標(biāo)檢測(cè)方案,可以實(shí)時(shí)在線(xiàn)捕獲運(yùn)動(dòng)目標(biāo)。該系統(tǒng)不僅解決了基于A(yíng)RM平臺(tái)的圖像處理方法在運(yùn)行復(fù)雜算法上速度過(guò)慢的問(wèn)題,而且利用了OpenCV視覺(jué)庫(kù)可以?xún)?yōu)化運(yùn)動(dòng)目標(biāo)檢測(cè)算法編寫(xiě)的特點(diǎn),使得整個(gè)系統(tǒng)結(jié)構(gòu)緊湊、成本低。
Xilinx Zynq系列可編程SoC芯片將FPGA與雙核ARM Cortex-A9處理器有機(jī)融合在一個(gè)芯片內(nèi),由最新的高性能低功耗(High Performance Low Power,HPL)的28nm,高K金屬柵極(High-k Metal Gate,HKMG)工藝制造而成,不僅具有高速處理器的特點(diǎn),而且靈活性高。ZedBoard開(kāi)發(fā)板搭載Zynq-7000系列芯片,選用其作為硬件平臺(tái),可以滿(mǎn)足運(yùn)動(dòng)目標(biāo)檢測(cè)實(shí)時(shí)性的要求。
OpenCV(開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù))可以跨平臺(tái)運(yùn)行在 Linux、windows、Mac OS、Android、iOS、FreeBSD等操作系統(tǒng)上,不僅包含了常用的算法,而且代碼執(zhí)行速度快。它采用優(yōu)化的C/C++代碼編寫(xiě),能夠充分發(fā)揮多核處理器的優(yōu)勢(shì),快速構(gòu)建一個(gè)計(jì)算機(jī)視覺(jué)框架,使開(kāi)發(fā)人員將精力集中在計(jì)算機(jī)視覺(jué)相關(guān)的應(yīng)用程序上,而不是花費(fèi)大量的時(shí)間用于算法的設(shè)計(jì)。本文將OpenCV相關(guān)庫(kù)移植到ZedBoard上,通過(guò)嵌入式平臺(tái)完成改進(jìn)后的運(yùn)動(dòng)目標(biāo)檢測(cè)算法[4]對(duì)動(dòng)態(tài)目標(biāo)的檢測(cè)和寫(xiě)入保存測(cè)試,測(cè)試結(jié)果通過(guò)以太網(wǎng)口接入VNC遠(yuǎn)程桌面顯示。
3.1 運(yùn)動(dòng)目標(biāo)檢測(cè)的整體思路
運(yùn)動(dòng)目標(biāo)檢測(cè)系統(tǒng)主要由六個(gè)部分構(gòu)成,如圖1所示。
圖1 運(yùn)動(dòng)目標(biāo)檢測(cè)整體框架
通過(guò)ZedBoard板上的OTG USB接口接入攝像頭,調(diào)用OpenCV庫(kù)函數(shù)里的VideoCapture()函數(shù)打開(kāi)攝像頭對(duì)連續(xù)視頻幀進(jìn)行采集,由于原始的Luncas-Kanade光流算法采集的視頻圖像為RGB格式的三色圖像,存儲(chǔ)器占用量大,不方便動(dòng)態(tài)視頻的寫(xiě)入,所以本文對(duì)其做了改進(jìn):1)通過(guò)調(diào)用cvtColor()函數(shù)先將彩色圖像轉(zhuǎn)為灰度圖,使其只包含亮度信息,減少了對(duì)存儲(chǔ)器的使用量,提高了解算速度。接著采用金字塔Lucas-Kanade光流運(yùn)動(dòng)估計(jì)[5]算出稀疏光流后顯示特征點(diǎn)和運(yùn)動(dòng)軌跡從而進(jìn)行跟蹤,視頻跟蹤幀序列隨后會(huì)實(shí)時(shí)顯示在VNC遠(yuǎn)程桌面上;2)判斷跟蹤點(diǎn)當(dāng)前幀位置和上一幀初始化位置,倘若當(dāng)前幀位移小于或者等于上一幀位移,即points[1][i].x<=initial[i].x,則認(rèn)為目標(biāo)區(qū)域沒(méi)有運(yùn)動(dòng)目標(biāo)出現(xiàn),調(diào)用continue結(jié)束當(dāng)前幀的獲取,繼續(xù)下一幀檢測(cè),直到檢測(cè)出當(dāng)前幀的位移大于上一幀的位移后,調(diào)用VideoWriter()寫(xiě)入函數(shù),此時(shí)參數(shù)編碼格式設(shè)置成MJPG編碼,即CV_FOURCC(‘M’,‘J’,‘P’,‘G’),寫(xiě)入當(dāng)前運(yùn)動(dòng)幀到OpenCV默認(rèn)的.avi格式視頻文件中。
3.2 金字塔Lucas-kanade光流運(yùn)動(dòng)估計(jì)
光流是空間運(yùn)動(dòng)物體在觀(guān)察成像平面上像素運(yùn)動(dòng)的瞬時(shí)速度,而光流法是利用圖像序列中像素在時(shí)間域上的變化以及相鄰幀之間的相關(guān)性來(lái)找到上一幀跟當(dāng)前幀之間存在的對(duì)應(yīng)關(guān)系,從而計(jì)算出相鄰幀之間物體運(yùn)動(dòng)信息的方法。
OpenCV中的計(jì)算光流算法[6]有多種,例如calcOpticalFlowPyrLK(通過(guò)基于圖像信號(hào)泰勒級(jí)數(shù)的金字塔Lucas-Kanade光流法計(jì)算稀疏光流)、calcOpticalFlowFarneback(用Gunnar Farneback法計(jì)算稠密光流)、calcOpticalFlowHS(用Horn-Schunck法計(jì)算稠密光流)等。稠密光流是圖像中的每個(gè)像素均與速度相關(guān)聯(lián),并且需要特定的插值算法在比較容易跟蹤的像素之間通過(guò)插值來(lái)解決運(yùn)動(dòng)不明確的像素,計(jì)算量復(fù)雜。而稀疏光流的計(jì)算需要在被跟蹤之前指定一組具有某種明顯特征的點(diǎn),比如“角點(diǎn)”,不僅在檢測(cè)跟蹤中相對(duì)穩(wěn)定和可靠,而且計(jì)算量比稠密光流小的多。因此,本文采用金字塔Lucas-Kanade光流[7]算法,它是一種基于像素遞歸的光流算法,是預(yù)測(cè)校正型的位移估算器,主要計(jì)算兩幀在時(shí)間t到t+δt之間每個(gè)像素點(diǎn)位置的移動(dòng)。
Lucas-kanade算法是基于“三個(gè)假設(shè)”[8]的:1)亮度恒定:圖像場(chǎng)景中目標(biāo)像素在幀間運(yùn)動(dòng)時(shí)保持外觀(guān)上的不變;
2)時(shí)間連續(xù)或是“小運(yùn)動(dòng)”:時(shí)間變化相對(duì)圖像中運(yùn)動(dòng)的比例要足夠小,因此目標(biāo)在幀間的運(yùn)動(dòng)就比較??;
3)空間一致:同一個(gè)場(chǎng)景中的同一個(gè)表面上鄰近點(diǎn)具有相似運(yùn)動(dòng),在平面上的投影也在鄰近區(qū)域。
那么,基于第一個(gè)假設(shè):假設(shè)像素點(diǎn)(x,y)在t時(shí)刻灰度值為l(x,y,t),像素在被逐幀跟蹤時(shí),對(duì)于灰度圖,則亮度不發(fā)生變化,圖像的約束方程為
基于第二個(gè)假設(shè):每個(gè)像素點(diǎn)的移動(dòng)足夠小,對(duì)上述約束方程使用泰勒公式展開(kāi):
省略式(2)中的高階項(xiàng),將式(1)和式(2)對(duì)比,可以得出下列式(3):
其中Vx,Vy分別是 l(x,y,t)的光流向量中 x,y的組成,是圖像在像素點(diǎn)(x,y)相應(yīng)方向上的差分。
再令式(4)中的
式(5)即為二維空間光流像素運(yùn)動(dòng)的基本方程。
由式(5)可以得到:
其中:
由于Vx,Vy兩個(gè)分量的值不唯一,只可求得與光流方程描述的方向相垂直的運(yùn)動(dòng)分量,則方程存在病態(tài)問(wèn)題。基于假設(shè)三:若一局部區(qū)域的像素運(yùn)動(dòng)是一致的,則可以建立領(lǐng)域像素的系統(tǒng)方程來(lái)求解中心像素的運(yùn)動(dòng),因此,需要添加附加約束條件方可求解。
垂直光流由孔徑問(wèn)題[9]產(chǎn)生,那么可以用小孔或者小窗口去測(cè)量運(yùn)動(dòng)。窗口選取太大會(huì)違背運(yùn)動(dòng)一致的假設(shè),太小又會(huì)產(chǎn)生孔徑問(wèn)題,所以利用當(dāng)前像素5×5鄰域像素的亮度值計(jì)算此像素運(yùn)動(dòng)。
因此,根據(jù)式(6)可以得出以下結(jié)果:
由矩陣論知識(shí)可得方程有解是在(ATA)滿(mǎn)秩,即秩為2情況下,此時(shí)跟蹤窗口中心在圖像的角點(diǎn)區(qū)域。而對(duì)于It的求取,一般采用高斯導(dǎo)數(shù)濾波方法。
對(duì)于大多數(shù)圖像,大而不連貫運(yùn)動(dòng)是普遍存在的情況,在不違?!斑\(yùn)動(dòng)連貫”假設(shè)前提下,金字塔Lucas-kanade光流算法通過(guò)在圖像金字塔最高層計(jì)算光流,用得到的運(yùn)動(dòng)估計(jì)結(jié)果作為下一層金字塔的起點(diǎn),重復(fù)這一過(guò)程,直到達(dá)到金字塔最底層的跟蹤方法,可以將不滿(mǎn)足運(yùn)動(dòng)假設(shè)的可能性降到最小從而實(shí)現(xiàn)對(duì)更快更長(zhǎng)的運(yùn)動(dòng)目標(biāo)的跟蹤。
本文的算法實(shí)現(xiàn)分兩部分:主函數(shù)main()和跟蹤函數(shù)tracking()。其中,主函數(shù)模塊通過(guò)調(diào)用VideoCapture capture(0)打開(kāi)嵌入式平臺(tái)默認(rèn)的USB攝像頭,capture>>frame用來(lái)獲取連續(xù)的視頻幀,然后調(diào)用跟蹤模塊tracking(),直到按鍵Esc結(jié)束。跟蹤模塊 tracking()主要有 cvtColor()函數(shù)將獲取的視頻幀轉(zhuǎn)成灰度圖gray,對(duì)于稀疏光流而言,在運(yùn)動(dòng)估計(jì)計(jì)算時(shí)需要在被跟蹤前指定一組容易跟蹤的點(diǎn),通常是角點(diǎn),因?yàn)榻屈c(diǎn)被定義為兩條邊的交點(diǎn),在任意方向上的微小變動(dòng)都會(huì)引起灰度的很大變化,不僅在圖像中可以輕易的定位,而且在人造物體場(chǎng)景中,比如門(mén)、窗、桌等處也隨處可見(jiàn)。利用goodFeaturesToTrack()函數(shù)確定角點(diǎn)后調(diào)用calcOpticalFlowpyrLK()函數(shù)進(jìn)行金字塔Lucas-kanade光流運(yùn)動(dòng)估計(jì),接著調(diào)用布爾類(lèi)型函數(shù)acceptTrackedPoint()判斷——如果特征點(diǎn)在前后兩幀移動(dòng),則認(rèn)為該點(diǎn)是可以被跟蹤的目標(biāo)點(diǎn),將這一幀得到的運(yùn)動(dòng)估計(jì)作為下一幀的初始估計(jì)位置,最后調(diào)用line()和circle()函數(shù)顯示特征點(diǎn)并畫(huà)出運(yùn)動(dòng)軌跡,將運(yùn)動(dòng)的視頻幀通過(guò)VideoWriter write寫(xiě)入類(lèi)函數(shù)write<<gray保存成.avi視頻文件。
3.3 VNC實(shí)時(shí)顯示
VNC——Virtual Network Computer,虛擬網(wǎng)絡(luò)計(jì)算機(jī),是一款A(yù)T&T歐洲研究實(shí)驗(yàn)室開(kāi)發(fā)的優(yōu)秀遠(yuǎn)程控制工具軟件。VNC是在基于UNIX和Linux操作系統(tǒng)的免費(fèi)的開(kāi)源軟件,遠(yuǎn)程控制能力強(qiáng)大,高效實(shí)用。在Linux中,VNC包括以下四個(gè)命令:vncserver,vncviewer,vncpasswd,和 vncconnect。大多數(shù)情況下用戶(hù)只需要其中的兩個(gè)命令:vncserver和vncviewer。本文通過(guò)在Zed Board的嵌入式Linux系統(tǒng)上下載安裝好vncserver(xfce桌面環(huán)境下)后,PC機(jī)上安裝vncviewer進(jìn)行實(shí)時(shí)顯示。解決了在板子上安裝笨重的顯示屏的問(wèn)題。VNC效果圖如圖2所示。
圖2 VNC效果圖
啟動(dòng)VNC步驟:
1)將網(wǎng)絡(luò)雙絞線(xiàn)連接PC機(jī)和ZedBoard板子的以太網(wǎng)接口;
2)啟動(dòng)開(kāi)發(fā)板,將PC機(jī)和Zed Board板子IP地址設(shè)置在同一個(gè)網(wǎng)段并ping通二者;
3)終端下輸入“vncserver”;倘若之前打開(kāi)過(guò)若干X遠(yuǎn)程桌面,利用“vncserver-kill:(X桌面進(jìn)程號(hào))”殺掉之前進(jìn)程;若是之前未打開(kāi)過(guò),則此時(shí)顯示打開(kāi)第一個(gè)VNC的X桌面,桌面號(hào)為1;
4)啟動(dòng)PC機(jī)的vncviewer,登陸用戶(hù)即為開(kāi)發(fā)板的IP:1(例如:192.168.137.110:1),此時(shí)的1則為第一個(gè)X桌面。
5)vncserver將由X的桌面環(huán)境利用VNC通信協(xié)議送至客戶(hù)端vncviewer,并且允許客戶(hù)端控制vncserver的桌面環(huán)境及輸入裝置。
4.1 硬件結(jié)構(gòu)
嵌入式圖像處理系統(tǒng)硬件電路原型如圖3。
圖3 系統(tǒng)搭建原型
將ZedBoard開(kāi)發(fā)板的USB OTG(J13)接口接入U(xiǎn)SB攝像頭采集視頻圖像,此時(shí)需注意將USB OTG跳線(xiàn)JP2設(shè)置成OTG短接模式從而向外提供5V USB電壓。USB-UART(J14)接口和PC機(jī)USB口對(duì)接以便實(shí)現(xiàn)串口通信,網(wǎng)線(xiàn)兩端接口分別接入PC機(jī)和開(kāi)發(fā)板的以太網(wǎng)口用來(lái)實(shí)現(xiàn)VNC傳輸通信。
4.2 軟件環(huán)境
系統(tǒng)的軟件部分示意圖如下:
圖4 軟件平臺(tái)框架
構(gòu)建軟件環(huán)境的步驟需要以下幾步:
1)在Windows操作系統(tǒng)下的PC機(jī)上安裝好VMware虛擬機(jī)(Vmware10版本),并且在虛擬機(jī)下安裝 Ubuntu12.04-desktop-i386(32位)版本的Linux操作系統(tǒng)(若是64位系統(tǒng)版本在配置交叉編譯環(huán)境之前需要安裝ia32-libs兼容庫(kù));
2)通過(guò)github下載Xilinx公司支持的交叉編譯鏈,并對(duì)環(huán)境變量進(jìn)行配置——修改根目錄/etc/bash.bashrc文件,末行添加環(huán)境變量“export PATH=~/CodeSourcery/bin:$PATH Export CROSS_COMPILE=arm-xilinx-linux-gnueabi-”;然后source/etc/bash.bashrc使環(huán)境變量立即生效;
3)由于ZedBoard啟動(dòng)Linux有兩種方式:主啟動(dòng)(Master Method)和從啟動(dòng)(Slave Method)。本文采用主啟動(dòng)方式將啟動(dòng)鏡像文件存儲(chǔ)在非易失性存儲(chǔ)器SD卡中,所以交叉編譯環(huán)境搭建好后,進(jìn)行U-boot引導(dǎo)程序編譯(u-boot2015)生成u-boot.elf、uImage(uImage2014)內(nèi)核編譯(主要添加V4L2支持)產(chǎn)生內(nèi)核鏡像文件uImage、制作uramdisk.image.gz文件系統(tǒng)、創(chuàng)建 devicetree.dtb(devicetree.dtb2015)設(shè)備樹(shù)一系列啟動(dòng)文件的制作工作;
4)在 Vivado(2014)軟件環(huán)境下制作基于Zynq-7000的硬件工程文件system.bit,在Xilinx SDK 2014.4軟件環(huán)境中制作一級(jí)啟動(dòng)鏡像文件fsbl_zynq.elf,最后將 fsbl_zynq.elf→ system.bit→u-boot.elf相繼添加在SDK中的Creat Zynq Boot Image環(huán)節(jié)里,制作成BOOT.BIN文件;
5)將 BOOT.BIN、uramdisk.image.gz、devicetree.dtb、uImage文件放入SD卡的FAT分區(qū)中,啟動(dòng)引腳模式設(shè)置成SD卡啟動(dòng),接通開(kāi)發(fā)板電源,連接USB-UART口,啟動(dòng)開(kāi)發(fā)板中的Linux系統(tǒng)。
值得注意的是經(jīng)反復(fù)測(cè)試,本文嵌入式Linux系統(tǒng)制作過(guò)程中U-boot、uImage和devicetree.dtb設(shè)備樹(shù)的版本需要按照括號(hào)內(nèi)的相互配套才可順利進(jìn)行編譯。
在采集視頻過(guò)程中,出現(xiàn)無(wú)法打開(kāi)攝像頭的問(wèn)題[10],在終端輸入命令“l(fā)s/dev”查看是否存在video0設(shè)備,倘若沒(méi)有,此時(shí)只需將內(nèi)核kernel編譯配置中使用“make menuconfig”命令來(lái)添加攝像頭驅(qū)動(dòng);接著檢查ZedBoard開(kāi)發(fā)板的USB OTG接口,將跳線(xiàn)JP2設(shè)置為短接OTG模式向外輸出5V電壓。
OpenCV3.0是目前最新的版本,采用了cmake工具,并提供了友好的UI接口進(jìn)行makefile配置。安裝好cmake以及OpenCV源碼包后,配置cmake(指定交叉編輯器以及目標(biāo)平臺(tái)等信息并設(shè)置第三方庫(kù)的支持:選擇WITH-V4L和WITH-QT第三方庫(kù),其他庫(kù)均不編譯選擇),進(jìn)行編譯和安裝OpenCV鏈接庫(kù),之后將這些ARM構(gòu)架的鏈接庫(kù)復(fù)制到裝載有文件系統(tǒng)的SD卡(默認(rèn)路徑/usr/lib)中即可。
本文的系統(tǒng)平臺(tái)測(cè)試分別在光照強(qiáng)度適中的實(shí)驗(yàn)室和光照較強(qiáng)室外進(jìn)行。
系統(tǒng)上電,待穩(wěn)定后,切換至超級(jí)用戶(hù)root模式,先檢測(cè)USB連接是否正常。終端輸入:lsusb查看攝像頭ID號(hào),如圖5所示,USB攝像頭為設(shè)備002。利用USB攝像頭采集[11]視頻幀數(shù)據(jù),在光照強(qiáng)度適中的實(shí)驗(yàn)室內(nèi),圖6(a)為靜止的背景處于待檢測(cè)狀態(tài),圖6(b)為開(kāi)始檢測(cè)到晃動(dòng)的手,打印出檢測(cè)狀態(tài)信息,圖6(c)為經(jīng)Lucas-kanade光流運(yùn)動(dòng)估計(jì)檢測(cè)到運(yùn)動(dòng)目標(biāo)后進(jìn)行動(dòng)態(tài)視頻寫(xiě)入,對(duì)運(yùn)動(dòng)的軌跡進(jìn)行白色線(xiàn)條跟蹤并打印出存儲(chǔ)信息,圖6(d)為動(dòng)態(tài)檢測(cè)入侵目標(biāo)區(qū)域后發(fā)出報(bào)警信息。在強(qiáng)光照的室外,圖7(a)所示為目標(biāo)區(qū)域靜止的背景,圖7(b)為行人進(jìn)入目標(biāo)區(qū)域后檢測(cè)出運(yùn)動(dòng)軌跡。
圖5
圖6 室內(nèi)檢測(cè)
圖7 室外檢測(cè)
圖8 為檢測(cè)到運(yùn)動(dòng)目標(biāo)后被寫(xiě)入的avi視頻文件。實(shí)驗(yàn)結(jié)果表明,該系統(tǒng)能夠在不同的光照環(huán)境下,對(duì)目標(biāo)區(qū)域的運(yùn)動(dòng)目標(biāo)進(jìn)行檢測(cè)跟蹤后生成。avi格式的視頻文件,并且效果良好,適合嵌入式視頻監(jiān)控。
圖8 AVI視頻文件
本文提出在ZedBoard平臺(tái)上構(gòu)建嵌入式動(dòng)態(tài)檢測(cè)系統(tǒng),驗(yàn)證了OpenCV跨平臺(tái)的便捷性以及代碼的簡(jiǎn)易性,并采用改進(jìn)的金字塔Lucas-kanade光流運(yùn)動(dòng)估計(jì)和MJPG編碼來(lái)實(shí)現(xiàn)對(duì)運(yùn)動(dòng)目標(biāo)的跟蹤和監(jiān)測(cè)保存,實(shí)驗(yàn)結(jié)果證明該系統(tǒng)的可行性。本文的嵌入式動(dòng)態(tài)檢測(cè)系統(tǒng)可以有效地應(yīng)用在智能交通、刑偵偵測(cè)和防盜治安等眾多領(lǐng)域中。下一步的研究重點(diǎn)是如何在ZedBoard的PL端進(jìn)行光流算法的加速以便得到更好的實(shí)時(shí)性。
[1]光伏智能監(jiān)控運(yùn)維漸熱[N].中國(guó)電力報(bào),2016-06-16(6).Photovoltaic intelligent monitoring operation and maintenance heat[N].China Electric Power News,2016-06-16(6).
[2]ZHIHUI F,HUI W.Robust moving object detection based on spatio-temporal confidence relationship[J].Electronics Letters,2016,52(10):825-827.
[3]G.Bradski,G.&A.kaehler.Learning Open-CV[M].Oreilly&Associates Inc,2016.
[4]XUEGANG H,JIAMIN Z.An Improved Moving Object Detection Algorithm Based on Gaussian Mixture Models[J].Open Journal of Applied Sciences,2016,6(7):449-456.
[5]KARAMANIDIS K,TRAVLOU A,KRAUSS P,et al.Use of a Lucas-Kanade-Based Template Tracking Algorithm to Examine In Vivo Tendon Excursion during Voluntary Contraction Using Ultrasonography[J].Ultrasound in Medicine&Biology,2016,42(7):1689-700.
[6]謝紅,原博,解武.LK光流法和三幀差分法的運(yùn)動(dòng)目標(biāo)檢測(cè)算法[J].應(yīng)用科技,2016,43(3):23-27,33.XIE Hong,YUAN Bo,XIE Wu.Moving target detection algorithm based on LK optical flow and three-frame difference method[J].Applied Science and Technology,2016,43(03):23-27,33.
[7]肖軍,朱世鵬,黃杭,等.基于光流法的運(yùn)動(dòng)標(biāo)檢測(cè)與跟蹤算法[J].東北大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,37(6):770-774.XIAO Jun,ZHU Shipeng,HUANG Hang,et al.Object Detecting and Tracking Algorithm Based on Optical Flow[J].Journal of Northeastern University(Natural Science),2016,37(6):770-774.
[8]K.MOSTAFA A,ALI A A.Multiresolution Video Watermarking Algorithm Exploiting the Block-Based Motion Estimation[J].Journal of Information Security,2016,7(4):260-268.
[9]稂龍亞,錢(qián)雪忠.基于SURF特征點(diǎn)的多人臉跟蹤方法研究[J].計(jì)算機(jī)應(yīng)用與軟件,2016,32(2):178-181.LANG Longya,QIAN Xuezhong.Research On Multi-face Trackking Method Based On SURF Feature Points[J].Computer Applications and Software,2016,32(2):178-181.
[10]湯偉,王先通,王孟效.基于FPGA和DSP的車(chē)牌識(shí)別系統(tǒng)的研究[J].計(jì)算機(jī)測(cè)量與控制,2016,24(2):297-299.TANG Wei,WANG Xiantong,WANG Mengxiao.Study of FPGA&DSP-based vehicle license plate recognition system[J].Computer Measurement&Control,2016,24(2):297-299.
[11]黃凱奇,陳曉棠,康運(yùn)鋒,等.智能視頻監(jiān)控技術(shù)綜述[J].計(jì)算機(jī)學(xué)報(bào),2015,38(6):1093-1118.HUANG Kaiqi,CHEN Xiaotang,KANG Yunfeng,et al.Intelligent Visual Surveillance:A Review[J].Chinese Journal Of Computers,2015,38(6):1093-1118.
Moving Object Detection Based on OpenCV and Embedded ZedBoard
LI ZheZHANG Ying
(Xi'an University of Posts and Telecommunications,College of Electronic Engineering,Xi'an 710061)
In order to solve the problem that the disk storage is too large and the search for suspicious dynamic objects is not easy in the past,this paper builds an embedded image processing platform based on OpenCV at ZedBoard development board.By using USB camera to collect the video image and improving the the Pyramid Lucas-kanade optical flow method in OpenCV,the purpose of this paper is to detect and track the moving objects in the target area and also save them as video files without writing to the static background.Experimental results show that the system can effectively monitor moving objects in the target area and store them,not only reducing the storage capacity of video recording,but also having certain feasibility.The system of this paper has the corresponding reference value and the practical significance to the intelligent monitoring.
ZedBoard,embedded Linux,OpenCV,intelligent monitoring,Pyramid Lucas-kanade of optical flow
TP391.4
10.3969/j.issn.1672-9722.2017.11.015
Class Number TP391.4
2017年5月8日,
2017年6月22日
李哲,男,碩士,碩士生導(dǎo)師,研究方向:電路與系統(tǒng)、嵌入式系統(tǒng)、電子與通信工程。張迎,女,碩士研究生,研究方向:數(shù)字信號(hào)處理與嵌入式通信系統(tǒng)。