胡鳳忠,高金定,龍貽建
(湖南涉外經(jīng)濟(jì)學(xué)院 信息科學(xué)與工程學(xué)院,長(zhǎng)沙 410205)
嵌入式運(yùn)動(dòng)目標(biāo)檢測(cè)及跟蹤系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
胡鳳忠,高金定,龍貽建
(湖南涉外經(jīng)濟(jì)學(xué)院 信息科學(xué)與工程學(xué)院,長(zhǎng)沙 410205)
運(yùn)動(dòng)目標(biāo)的檢測(cè)及跟蹤技術(shù)廣泛應(yīng)用于軍事與民用領(lǐng)域;傳統(tǒng)基于PC的目標(biāo)跟蹤系統(tǒng)不能滿足對(duì)體積、功耗及便攜性的需求,基于ARM處理器S3C2440A和嵌入式Linux操作系統(tǒng)構(gòu)建了一個(gè)比較完整、實(shí)用的目標(biāo)跟蹤系統(tǒng);該系統(tǒng)利用攝像頭采集運(yùn)動(dòng)目標(biāo)圖像,處理器進(jìn)行數(shù)字圖像處理,LCD顯示跟蹤目標(biāo)。闡述了實(shí)現(xiàn)原理及圖像獲取、目標(biāo)檢測(cè)、圖像分割和目標(biāo)跟蹤算法程序流程;通過(guò)實(shí)際測(cè)試,該系統(tǒng)能滿足對(duì)低速運(yùn)動(dòng)目標(biāo)的檢測(cè)、識(shí)別和跟蹤,且具有較好的實(shí)時(shí)性和穩(wěn)定性。
嵌入式系統(tǒng);運(yùn)動(dòng)目標(biāo)檢測(cè);目標(biāo)跟蹤;S3C2440A;Linux
運(yùn)動(dòng)目標(biāo)的檢測(cè)與跟蹤是指從視頻流中快速、準(zhǔn)確地提取出運(yùn)動(dòng)目標(biāo)并進(jìn)行連續(xù)的跟蹤,以確定其運(yùn)行軌跡[1]。其區(qū)別于傳統(tǒng)意義上的視頻監(jiān)控在于其智能性,是計(jì)算機(jī)視覺(jué)理論的一個(gè)新興應(yīng)用領(lǐng)域,在軍事、交通、工業(yè)檢測(cè)以及安防等民用領(lǐng)域都有很大的應(yīng)用價(jià)值。目前,基于PC機(jī)的視頻圖像處理技術(shù)日趨成熟,但PC機(jī)體積大、便攜性差,且在戶外連續(xù)運(yùn)行時(shí)穩(wěn)定性較差,限制了其應(yīng)用范圍[2]。ARM嵌入式系統(tǒng)由于其開(kāi)發(fā)成本相對(duì)較低、穩(wěn)定性好、運(yùn)算速度快等特點(diǎn)被逐漸應(yīng)用于圖像處理系統(tǒng)[3-4]。本文基于三星ARM處理器S3C2440A開(kāi)發(fā)板并移植嵌入式Linux操作系統(tǒng)的方案構(gòu)建了一個(gè)比較完整、實(shí)用的靜態(tài)背景下的運(yùn)動(dòng)目標(biāo)檢測(cè)與跟蹤系統(tǒng),并進(jìn)行了實(shí)際測(cè)試。能滿足對(duì)低速運(yùn)動(dòng)物體的檢測(cè)、識(shí)別和跟蹤,且具有較好的實(shí)時(shí)性和穩(wěn)定性,可應(yīng)用于某些環(huán)境較惡劣的場(chǎng)所。
本系統(tǒng)硬件采用的是三星嵌入式處理器S3C2440A開(kāi)發(fā)板。板上帶有64 MB SDRAM和256 MB NAND FLASH,LCD液晶顯示,時(shí)鐘電路,復(fù)位電路和各種I/O接口,主頻為400 MHz。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)硬件結(jié)構(gòu)
S3C2440A是ARM920T內(nèi)核的32位RISC處理器,主頻可達(dá)533 MHz,具有高性能、低功耗和低價(jià)格的優(yōu)良特性,是手持設(shè)備和電子產(chǎn)品的首選小型微控制器。S3C2440A提供了豐富的內(nèi)部資源和完整的通用外設(shè)接口,因此無(wú)需配置額外的組件,非常適合于本系統(tǒng)。該系統(tǒng)采用網(wǎng)絡(luò)攝像頭獲取視頻圖像,也可以采用USB攝像頭,成本雖然偏高,但易于實(shí)現(xiàn),節(jié)省CPU資源。攝像頭連接于開(kāi)發(fā)板的RJ-45接口,以每秒25幀的頻率采集被監(jiān)視場(chǎng)景的圖像,圖像的大小320×240pixel,為JPEG格式。LCD用于顯示目標(biāo)圖像。開(kāi)發(fā)板上的RS-232接口用于開(kāi)發(fā)調(diào)試,以驗(yàn)證和評(píng)估目標(biāo)檢測(cè)與跟蹤算法的效果。開(kāi)發(fā)板安裝有嵌入式Linux操作系統(tǒng),核心版本為V2.6.40,針對(duì)所用到的硬件資源和本系統(tǒng)所要實(shí)現(xiàn)的程序功能,重新進(jìn)行了Linux操作系統(tǒng)的移植和配置。
系統(tǒng)的工作原理是在監(jiān)視區(qū)域的運(yùn)動(dòng)目標(biāo)經(jīng)過(guò)靜止的網(wǎng)絡(luò)攝像頭實(shí)時(shí)采集后,由開(kāi)發(fā)板上的CS8900A接口芯片送入S3C2440A處理器,利用嵌入式處理器的強(qiáng)大運(yùn)算能力對(duì)采集到的圖像進(jìn)行各種運(yùn)算處理來(lái)實(shí)現(xiàn)目標(biāo)的檢測(cè)與跟蹤,并最終顯示在LCD顯示器上。
2.1 程序模塊劃分
系統(tǒng)中,運(yùn)行在ARM開(kāi)發(fā)板上的是一個(gè)圖像采集、解碼處理、運(yùn)動(dòng)目標(biāo)檢測(cè)、多目標(biāo)圖像分割、目標(biāo)跟蹤、LCD動(dòng)態(tài)顯示的多線程程序。采用模塊化設(shè)計(jì)本程序,本程序劃分的模塊以及各個(gè)程序模塊的流程關(guān)系如圖2所示。圖中,調(diào)試用顯示模塊是為了評(píng)估運(yùn)動(dòng)目標(biāo)檢測(cè)程序以及多運(yùn)動(dòng)目標(biāo)跟蹤程序所采用的算法及參數(shù)的優(yōu)劣,以最終確定這些程序模塊的優(yōu)化算法及其參數(shù)。
圖2 程序模塊劃分及關(guān)系
2.2 圖像采集模塊
程序使用JPEG壓縮格式的圖像文件作為視覺(jué)數(shù)據(jù)的來(lái)源,該模塊的任務(wù)是向攝像頭獲取JPEG格式的圖片,以供后續(xù)模塊進(jìn)行圖像處理。本系統(tǒng)采用的網(wǎng)絡(luò)攝像頭使用HTTP協(xié)議,以每秒25幀的速率輸出320×240像素的被監(jiān)視場(chǎng)景的圖像[5]。該模塊的實(shí)現(xiàn)利用了Linux下的3個(gè)函數(shù):Socket函數(shù)、Connect函數(shù)和Recv函數(shù),程序流程如圖3所示。用Connect函數(shù)連接網(wǎng)絡(luò)攝像機(jī)以后,再利用Recv函數(shù)接收來(lái)自網(wǎng)絡(luò)攝像機(jī)的視頻圖像數(shù)據(jù)。
圖3 圖像采集模塊流程
2.3 圖像解碼處理模塊
該模塊是把采集的壓縮格式圖片進(jìn)行解碼并變換為256級(jí)灰度圖像?;叶葓D像由于只使用8位二進(jìn)制數(shù)(一個(gè)字節(jié))來(lái)表示每個(gè)像素點(diǎn)的亮度而不需要表示其彩色信息,因此占用內(nèi)存少且容易運(yùn)算,從而減少微處理器的機(jī)時(shí),使后續(xù)的處理能夠更加可靠和有效的實(shí)施。
將彩色圖像轉(zhuǎn)換為灰度圖像的運(yùn)算公式為:
Y=a·R+b·G+c·B
(1)
其中:Y表示亮度值,a、b、c分別是RGB色彩模型中紅色、綠色、藍(lán)色3個(gè)色彩分量的權(quán)重系數(shù),且a + b + c = 1。在該模塊的設(shè)計(jì)中,取a=0.299,b=0.578,c=0.123。
2.4 運(yùn)動(dòng)目標(biāo)檢測(cè)模塊
運(yùn)動(dòng)目標(biāo)檢測(cè)模塊的任務(wù)是實(shí)時(shí)地在被監(jiān)視的場(chǎng)景中檢測(cè)出運(yùn)動(dòng)目標(biāo)并將其提取出來(lái),以便后續(xù)對(duì)運(yùn)動(dòng)目標(biāo)準(zhǔn)確地跟蹤。視頻流中運(yùn)動(dòng)物體檢測(cè)的算法有很多,各種檢測(cè)算法的適應(yīng)性和實(shí)時(shí)性有很大的差別。從效果上來(lái)說(shuō),混合高斯背景模型法自適應(yīng)能力較強(qiáng),效果較好,適用于多模態(tài)背景[6],是本系統(tǒng)使用的檢測(cè)算法。雖然這種檢測(cè)算法的實(shí)時(shí)性也就是運(yùn)算效率劣于其它檢測(cè)算法,但綜合效果和效率,本系統(tǒng)采用的是混合高斯背景模型檢測(cè)算法,其算法原理及程序流程如圖4所示。
圖4 混合高斯背景模型算法流程
2.5 運(yùn)動(dòng)目標(biāo)跟蹤模塊
運(yùn)動(dòng)目標(biāo)跟蹤的基本原理是利用目標(biāo)的有效特征,使用適當(dāng)?shù)钠ヅ渌惴?,在序列圖像中找出與目標(biāo)最相似的圖像位置[7-9]。本模塊是在運(yùn)動(dòng)目標(biāo)檢測(cè)結(jié)果的基礎(chǔ)上來(lái)進(jìn)行目標(biāo)跟蹤,因此可以跟蹤任何目標(biāo)而無(wú)需考慮目標(biāo)的形狀和尺寸。通過(guò)運(yùn)動(dòng)目標(biāo)檢測(cè),可以提取出運(yùn)動(dòng)目標(biāo)的輪廓,然后用最小外接矩形框標(biāo)識(shí)出運(yùn)動(dòng)目標(biāo),跟蹤最小外接矩形框便可以實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)的跟蹤。
運(yùn)動(dòng)目標(biāo)的最小外接矩形坐標(biāo)信息實(shí)際上可用兩個(gè)坐標(biāo)點(diǎn)(xmin,ymin),(xmax,ymax)來(lái)表示。其中(xmin,ymin)代表矩形的左下角坐標(biāo)點(diǎn)的值,(xmax,ymax)代表矩形右上角坐標(biāo)點(diǎn)的值,各個(gè)坐標(biāo)值的具體求解公式為:
(2)
用邊界框標(biāo)識(shí)的運(yùn)動(dòng)目標(biāo)外接矩形框的4個(gè)坐標(biāo)分別為A(xmin,ymin),B(xmax,ymin),C(xmin,ymax),D(xmax,ymax)。
跟蹤這4個(gè)坐標(biāo)點(diǎn)連接而成的矩形框即實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)的跟蹤,這是非常有效且實(shí)用的方法,其實(shí)現(xiàn)流程如圖5所示。
圖5 運(yùn)動(dòng)目標(biāo)跟蹤模塊流程圖
2.6 調(diào)試用顯示模塊
調(diào)試用顯示模塊是為了評(píng)估設(shè)計(jì)開(kāi)發(fā)過(guò)程中各模塊算法的性能。算法模塊中的各種參數(shù)的選取對(duì)算法處理的性能和效果有直接的關(guān)系,通過(guò)這一模塊可以比較各種算法和參數(shù)的優(yōu)劣以最終確定系統(tǒng)中所使用的參數(shù),獲得更佳的整體性能。
在靜態(tài)場(chǎng)景背景下,實(shí)際測(cè)試了本系統(tǒng)采用的混合高斯背景模型運(yùn)動(dòng)目標(biāo)檢測(cè)的結(jié)果,如圖6所示,是在不含運(yùn)動(dòng)目標(biāo)的靜態(tài)場(chǎng)景(第一幅)下,當(dāng)運(yùn)動(dòng)目標(biāo)出現(xiàn)時(shí)(第二幅)目標(biāo)的檢測(cè)結(jié)果(第三幅)。由于混合高斯背景模型的運(yùn)算量較大,每幀的處理時(shí)間大約為80 ms。由此可見(jiàn),采用混合高斯背景模型的運(yùn)動(dòng)目標(biāo)檢測(cè)效果是十分理想的,雖然處理時(shí)間稍長(zhǎng),但仍能滿足低速運(yùn)動(dòng)目標(biāo)檢測(cè)的實(shí)際需要。
圖6 混合高斯背景模型運(yùn)動(dòng)目標(biāo)檢測(cè)結(jié)果圖
圖7是對(duì)單個(gè)運(yùn)動(dòng)目標(biāo)、兩個(gè)運(yùn)動(dòng)目標(biāo)無(wú)遮擋、兩個(gè)運(yùn)動(dòng)目標(biāo)有遮擋情況下圖像分割及定位的測(cè)試效果圖,表明在無(wú)遮擋情景下能夠較好地實(shí)現(xiàn)運(yùn)動(dòng)目標(biāo)的分割及定位(第二幅),但當(dāng)兩個(gè)運(yùn)動(dòng)目標(biāo)有遮擋時(shí)(第三幅),不能有效地進(jìn)行分割與定位,這是因?yàn)楸徽趽醯倪\(yùn)動(dòng)目標(biāo)和沒(méi)有遮擋的運(yùn)動(dòng)目標(biāo)當(dāng)成了一個(gè)運(yùn)動(dòng)目標(biāo)。
圖7 目標(biāo)分割及定位的結(jié)果圖
圖8是對(duì)單個(gè)運(yùn)動(dòng)目標(biāo)(第一幅)、兩個(gè)運(yùn)動(dòng)目標(biāo)無(wú)遮擋(第二幅)、兩個(gè)運(yùn)動(dòng)目標(biāo)有遮擋(第三幅)情況下,對(duì)運(yùn)動(dòng)目標(biāo)跟蹤測(cè)試的效果圖。表明在無(wú)遮擋情景下目標(biāo)跟蹤的效果較好,但當(dāng)兩個(gè)運(yùn)動(dòng)目標(biāo)有遮擋時(shí),不能分別進(jìn)行跟蹤,這是因?yàn)楸徽趽醯倪\(yùn)動(dòng)目標(biāo)和沒(méi)有遮擋的運(yùn)動(dòng)目標(biāo)當(dāng)成了一個(gè)目標(biāo)來(lái)跟蹤[10]。
圖8 運(yùn)動(dòng)目標(biāo)跟蹤的結(jié)果圖
本文基于ARM微處理器S3C2440A和嵌入式Linux操作系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)了一個(gè)比較實(shí)用的運(yùn)動(dòng)目標(biāo)檢測(cè)及跟蹤系統(tǒng)。測(cè)試結(jié)果表明,能滿足對(duì)靜態(tài)場(chǎng)景下低速運(yùn)動(dòng)目標(biāo)的檢測(cè)、識(shí)別和跟蹤功能,且具有較好的實(shí)時(shí)性。該系統(tǒng)與傳統(tǒng)的PC平臺(tái)相比,能在較好地滿足基本功能的前提下,具有體積小、功耗低、便攜性和穩(wěn)定性好的特點(diǎn),適用于環(huán)境較惡劣的場(chǎng)所。當(dāng)然該系統(tǒng)還有待改進(jìn)和完善,如對(duì)目標(biāo)檢測(cè)、跟蹤算法的進(jìn)一步優(yōu)化以提高系統(tǒng)的整體性能。
[1] 韓 海.運(yùn)動(dòng)目標(biāo)檢測(cè)與跟蹤系統(tǒng)的嵌入式實(shí)現(xiàn)[D].大連:大連理工大學(xué),2010.
[2] 楊枝靈,王 開(kāi).數(shù)字圖像獲取處理及實(shí)踐應(yīng)用[M].北京:人民郵電出版社,2003.
[3] 魏 瑋,吳冠杰.嵌入式單目機(jī)器人視覺(jué)檢測(cè)及壁障系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2014,22(11):3487-3489.
[4] 喻武龍,陳倫海,蘇秉華,等.運(yùn)動(dòng)目標(biāo)跟蹤系統(tǒng)的圖像處理單元設(shè)計(jì)[J].儀表技術(shù)與傳感器,2012,(1):40-42.
[5] 于立男. 基于ARM平臺(tái)的單攝像頭運(yùn)動(dòng)目標(biāo)檢測(cè)與跟蹤系統(tǒng)[D].大連:大連理工大學(xué),2010.
[6] Zhao T, Nevatia R. Tracking multiple humans in complex situations[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2014, 26(9):1208-1221.
[7] Vu T, Burlet J, Aycard O. Grid-based localization and local mapping with moving object detection and tracking [J]. Information fusion. 2011,V12(l):58-69.
[8] 李亞玲.視頻監(jiān)控中運(yùn)動(dòng)目標(biāo)檢測(cè)與跟蹤算法的研究[D].南京:南京郵電大學(xué),2011.
[9] 何信華,趙 龍.基于改進(jìn)高斯混合模型的實(shí)時(shí)運(yùn)動(dòng)目標(biāo)檢測(cè)與跟蹤[J].計(jì)算機(jī)應(yīng)用研究,2010,27(12):4768-4771.
[10] 于乃功,黃 燦,林 佳.基于單目視覺(jué)的機(jī)器人目標(biāo)定位測(cè)距方法研究[J].計(jì)算機(jī)測(cè)量與控制,2012,20(10):2654-2656,2660.
Design and Implementation of Embedded Moving Object Detection and Tracking System
Hu Fengzhong, Gao Jinding, Long Yijian
(College of Information Science and Engineering, Hunan International Economics University, Changsha 410205, China)
Moving object detection and tracking technology is widely used in military and civil fields. The traditional target tracking system based on PC couldn’t meet the requirements of volume, power consumption and portability. Based on the ARM processor S3C2440A and embedded Linux operating system, a complete and practical target tracking system was built. The system used the camera to capture the moving target image, the processor to process digital image, the LCD to display tracking target. This paper described the realization principle and process of image acquisition, target detection, image segmentation and tracking algorithm. Through the actual test, the system can meet the detection, tracking and identification of low speed moving objects, and has good real-time performance and stability.
embedded system; moving object detection; target tracking; S3C2440A; Linux
2016-06-06;
2016-07-18。
湖南省教育廳資助科學(xué)研究項(xiàng)目(15A106)。
胡鳳忠(1964-),男,河北景縣人,教授,主要從事計(jì)算機(jī)測(cè)控技術(shù)與嵌入式系統(tǒng)的研究。
1671-4598(2016)12-0133-03
10.16526/j.cnki.11-4762/tp.2016.12.038
TP391.9
A