• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于ARM的移動(dòng)目標(biāo)跟蹤系統(tǒng)設(shè)計(jì)

      2017-04-13 01:34:40劉昌華
      軟件導(dǎo)刊 2017年3期
      關(guān)鍵詞:卡曼開發(fā)板嵌入式

      郭 琪,劉昌華

      (武漢輕工大學(xué) 數(shù)學(xué)與計(jì)算機(jī)學(xué)院,湖北 武漢 430023)

      基于ARM的移動(dòng)目標(biāo)跟蹤系統(tǒng)設(shè)計(jì)

      郭 琪,劉昌華

      (武漢輕工大學(xué) 數(shù)學(xué)與計(jì)算機(jī)學(xué)院,湖北 武漢 430023)

      基于ARM9-S3C2440AL處理器提出一種移動(dòng)目標(biāo)跟蹤設(shè)計(jì)方案。研究如何將嵌入式平臺(tái)與移動(dòng)目標(biāo)跟蹤結(jié)合起來(lái),并對(duì)系統(tǒng)關(guān)鍵技術(shù)和方法進(jìn)行描述。系統(tǒng)包括軟硬件平臺(tái)設(shè)計(jì),主要完成了Bootloader向?qū)б浦?、Linux內(nèi)核制作、USB攝像頭驅(qū)動(dòng)程序編寫、聲卡驅(qū)動(dòng)設(shè)計(jì)、移動(dòng)目標(biāo)跟蹤系統(tǒng)應(yīng)用程序設(shè)計(jì)。在MATLAB軟件平臺(tái)上研究了基于卡曼濾波的單目標(biāo)和數(shù)學(xué)形態(tài)連通區(qū)域的多目標(biāo)移動(dòng)跟蹤算法,實(shí)現(xiàn)了移動(dòng)目標(biāo)跟蹤,結(jié)果達(dá)到預(yù)期目標(biāo);將在MATLAB平臺(tái)上運(yùn)行的程序轉(zhuǎn)化為適合開發(fā)板運(yùn)行的C程序,實(shí)現(xiàn)ARM開發(fā)板采集圖像并存儲(chǔ),可通過(guò)客戶端Web瀏覽器對(duì)存儲(chǔ)的圖像和視頻進(jìn)行查看。

      ARM9-S3C2440AL;移動(dòng)目標(biāo)跟蹤;卡曼濾波;數(shù)學(xué)形態(tài)連通區(qū)域

      0 引言

      近年來(lái),伴隨著社會(huì)的快速發(fā)展,移動(dòng)設(shè)備需求量不斷加大,對(duì)其性能要求也愈加嚴(yán)格。移動(dòng)目標(biāo)識(shí)別和跟蹤技術(shù)[1]是現(xiàn)代化視頻監(jiān)控領(lǐng)域一項(xiàng)非常重要的技術(shù),發(fā)展十分迅猛,得到了社會(huì)各界的廣泛關(guān)注。然而面向應(yīng)用的目標(biāo)跟蹤系統(tǒng)[2]卻不盡如人意,其指標(biāo)性能不能很好地滿足應(yīng)用要求。移動(dòng)目標(biāo)跟蹤系統(tǒng)基于PC機(jī)僅僅對(duì)視頻進(jìn)行采集、存儲(chǔ)和回看,考慮到實(shí)時(shí)性的要求,傳統(tǒng)的移動(dòng)目標(biāo)跟蹤系統(tǒng)越來(lái)越不能滿足實(shí)際需要,結(jié)合嵌入式技術(shù)可靠性高、成本低、體積小、實(shí)時(shí)性強(qiáng)等特點(diǎn),基于ARM的移動(dòng)目標(biāo)跟蹤系統(tǒng)具有廣泛的應(yīng)用前景。

      1 系統(tǒng)整體方案

      該移動(dòng)目標(biāo)跟蹤系統(tǒng)整體結(jié)構(gòu)主要由USB攝像頭、嵌入式軟硬件平臺(tái)和移動(dòng)目標(biāo)跟蹤系統(tǒng)的應(yīng)用程序組成。USB攝像頭用來(lái)采集視頻信號(hào),硬件部分以ARM9-S3C2440AL為核心,并擴(kuò)展了SDRAM內(nèi)存、Flash閃存等開發(fā)板外設(shè),嵌入式軟件平臺(tái)為底層硬件提供驅(qū)動(dòng)支持、內(nèi)存管理、中斷管理以及移動(dòng)目標(biāo)跟蹤處理,應(yīng)用程序主要實(shí)現(xiàn)移動(dòng)目標(biāo)跟蹤系統(tǒng)所需的算法,保證移動(dòng)目標(biāo)跟蹤系統(tǒng)的實(shí)現(xiàn)。

      2 硬件設(shè)計(jì)

      2.1 系統(tǒng)硬件總體設(shè)計(jì)

      該系統(tǒng)硬件部分主體結(jié)構(gòu)如圖1所示,主要由ARM9處理器S3C2440AL、SDRAM、Nand Flash、Nor Flash、RTC電路,復(fù)位電路、USB攝像頭和蜂鳴器等構(gòu)成,客戶端Web瀏覽器作為系統(tǒng)查看平臺(tái)。

      圖1 系統(tǒng)硬件結(jié)構(gòu)

      2.2 S3C2440AL處理器

      該移動(dòng)目標(biāo)跟蹤系統(tǒng)采用S3C2440AL處理器,該處理器采用ARM9內(nèi)核,ARM V4指令集,主頻可達(dá)400MHZ,核心開發(fā)板配64MB內(nèi)存、256MB Nand-Flash和2MB Nor-Flash。微處理器性能穩(wěn)定、功能強(qiáng)大且支持多種操作系統(tǒng),可以適應(yīng)處理能力要求較高的應(yīng)用。

      2.3 USB攝像頭

      攝像頭選用羅技720p高清USB攝像頭,采用CMOS成像元件獲取圖像,最高速度可達(dá)30f/s,支持USB2.0接口。該USB攝像頭不需要安裝驅(qū)動(dòng),是一種支持UVC(USB Video Class,視頻設(shè)備類)標(biāo)準(zhǔn)協(xié)議的攝像頭,將這種攝像頭連接到支持該標(biāo)準(zhǔn)的操作系統(tǒng),系統(tǒng)會(huì)自動(dòng)為其配置、安裝驅(qū)動(dòng)。

      3 軟件設(shè)計(jì)

      3.1 軟件主體結(jié)構(gòu)

      該系統(tǒng)軟件主體結(jié)構(gòu)如圖2所示,主要包括Linux操作系統(tǒng)、內(nèi)核驅(qū)動(dòng)程序和應(yīng)用程序3個(gè)部分。

      圖2 Linux系統(tǒng)架構(gòu)

      3.2 Linux操作系統(tǒng)移植

      Linux操作系統(tǒng)移植主要包括Bootloader移植、Linux內(nèi)核配置和根文件系統(tǒng)制作3個(gè)部分。系統(tǒng)使用Linux發(fā)行版紅帽RHEL6.3作為軟件開發(fā)平臺(tái),采用交叉編譯方式,交叉編譯器版本為arm-linux-gcc_4.3.2。

      (1)Bootloader移植。Bootloader遵循GPL公約,支持ARM處理器和Linux操作系統(tǒng),具有較高的可靠性和穩(wěn)定性,是Linux執(zhí)行前的一段初始化程序。將編寫好的Bootloader文件移植NANDflash中,啟動(dòng)后配置環(huán)境變量,確定Linux系統(tǒng)啟動(dòng)方式。

      (2)Linux內(nèi)核配置、編譯及下載。本系統(tǒng)選用Linux2.6.3版本的內(nèi)核,執(zhí)行make menuconfig ARCH=arm命令,通過(guò)菜單選項(xiàng)對(duì)Linux的功能進(jìn)行選擇和配置,配置完后,保存退出,執(zhí)行make uImage命令進(jìn)行編譯,生成內(nèi)核鏡像文件uImage,就可移植到開發(fā)板運(yùn)行。

      (3)構(gòu)建Linux根文件系統(tǒng)。

      3.3 移動(dòng)目標(biāo)跟蹤系統(tǒng)搭建

      在MATLAB平臺(tái)上搭建移動(dòng)目標(biāo)跟蹤的基本框架,對(duì)圖像目標(biāo)的背景進(jìn)行提取,將傳統(tǒng)幀差法加以改進(jìn)后,對(duì)視頻圖像中的移動(dòng)區(qū)域進(jìn)行檢測(cè),實(shí)現(xiàn)了移動(dòng)目標(biāo)的檢測(cè)以及移動(dòng)目標(biāo)的位置提取。對(duì)單目標(biāo)的移動(dòng),運(yùn)用卡曼濾波[3]實(shí)現(xiàn)了其跟蹤算法,能對(duì)單目標(biāo)的移動(dòng)路線進(jìn)行跟蹤,針對(duì)多目標(biāo)的跟蹤,基于數(shù)學(xué)形態(tài)連通區(qū)域的特征[4]實(shí)現(xiàn)其跟蹤算法。跟蹤效果可以用矩形框跟蹤的形式進(jìn)行演示,實(shí)驗(yàn)結(jié)果驗(yàn)證了該算法的有效性,結(jié)果也達(dá)到了預(yù)期目標(biāo)。

      嵌入式平臺(tái)移動(dòng)目標(biāo)跟蹤系統(tǒng)搭建如下:

      (1)聲音報(bào)警子系統(tǒng)開發(fā)。包括聲卡驅(qū)動(dòng)開發(fā),聲卡驅(qū)動(dòng)架構(gòu)采用ALSA-OSS封裝[5],聲卡驅(qū)動(dòng)集成通過(guò)make menuconfig ARCH=arm進(jìn)入配置菜單Device Drivers ---><*>Sound card support ---><*> Advanced Linux Sound Architecture ---><*> OSS Mixer API<*> OSS PCM (digital audio) API[*] OSS PCM (digital audio) API - Include plugin system后,移植madplay應(yīng)用程序。

      (2)攝像頭子系統(tǒng)開發(fā)。包括攝像頭驅(qū)動(dòng)開發(fā),攝像頭軟件架構(gòu)是當(dāng)前最流行的V4L2架構(gòu)[6],進(jìn)入配置菜單中配置攝像頭驅(qū)動(dòng)使能Device Drivers --->Multimedia devices --->[*] Video capture adapters --->[*] V4L USB devices ---><*> GSPCA based webcams ---><*> ZC3XX USB Camera Driver,保存配置并編譯內(nèi)核后,進(jìn)行攝像頭驅(qū)動(dòng)測(cè)試。

      (3)移動(dòng)監(jiān)控主系統(tǒng)設(shè)計(jì)。將攝像頭采集的視頻轉(zhuǎn)換成avi格式的文件進(jìn)行存儲(chǔ),首先進(jìn)行Ffmpeg移植[7],然后進(jìn)行Motion主程序移植[8],Motion是一個(gè)開源的移動(dòng)圖像監(jiān)控程序,配置motion參數(shù)使motion能使用Ffmpeg錄制視頻的功能,配置成功后通過(guò)命令motion -c /etc/motion.conf開啟motion直至成功啟動(dòng),通過(guò)samba進(jìn)入開發(fā)板的根文件系統(tǒng)目錄中發(fā)現(xiàn)有攝像頭采集的圖像,當(dāng)有物體在攝像頭前移動(dòng)時(shí)會(huì)報(bào)警。

      (4)嵌入式Web服務(wù)器開發(fā)。包括BOA嵌入式服務(wù)器[9]移植,首先編譯解壓源代碼,配置boa.conf文件,配置選項(xiàng)Port、User、Group、ErrorLog等,復(fù)制已經(jīng)存在的Web目錄到開發(fā)板根文件系統(tǒng)目錄中,之后啟動(dòng)boa程序,在PC瀏覽器輸入開發(fā)板的IP地址就可看到存儲(chǔ)的圖像;然后是CGIC庫(kù)移植,CGI就是通用網(wǎng)關(guān)接口,實(shí)際上是一個(gè)應(yīng)用程序,運(yùn)行在Web服務(wù)器上,可通過(guò)瀏覽器端的用戶輸入而觸發(fā),提供與客戶端HTML頁(yè)面的接口。它能讓網(wǎng)絡(luò)用戶訪問(wèn)和運(yùn)行遠(yuǎn)程服務(wù)器系統(tǒng)所在主機(jī)的應(yīng)用程序,進(jìn)一步控制相關(guān)硬件,并將結(jié)果格式化輸出為HTML格式,最終反饋到瀏覽器端。這樣就完成了HTML靜態(tài)頁(yè)面和WEB服務(wù)器的動(dòng)態(tài)交互,boa和CGIC移植成功后,接下來(lái)就是CGIC程序的編寫,CGI程序在瀏覽器能被調(diào)用,是通過(guò)表單來(lái)完成的,表單中標(biāo)識(shí)著表單的開始和結(jié)束,C語(yǔ)言編寫CGI程序時(shí)不能用main函數(shù)作為主函數(shù),因?yàn)閙ain函數(shù)在CGIC的庫(kù)文件中已經(jīng)被定義了,基于前面所述的C語(yǔ)言編寫CGI程序的知識(shí),可以很快編寫出顯示圖片的CGI程序。實(shí)際上,顯示圖片的還是HTML頁(yè)面文件,只不過(guò)通過(guò)CGI將HTML頁(yè)面的內(nèi)容輸出而已,其基本格式如下:

      首先添加必要的頭文件,然后int cgiMain()

      { cgiHeaderContentType("text/html");fprintf(cgiOut," ");

      fprintf(cgiOut," ");fprintf(cgiOut,"");

      fprintf(cgiOut,"");fprintf(cgiOut," ");

      fprintf(cgiOut," ");return 0;}

      將編譯好的CGI程序放到開發(fā)板根文件系統(tǒng)目錄中,修改該目錄下的.html文件。這里主要是修改“查看圖片”菜單,,讓其索引到一個(gè)超鏈接,也即.cgi,這樣在點(diǎn)擊查看圖片時(shí)就可以執(zhí)行.cgi程序,在cgi程序中還可以嵌入視頻,在HTML頁(yè)面中嵌入多媒體可以通過(guò)embed標(biāo)簽實(shí)現(xiàn),與之前顯示圖片的實(shí)現(xiàn)原理一樣,參考前面代碼修改即可,將編寫好的顯示視頻的.c文件編譯成cgi文件后,還需要修改相應(yīng)的.html文件,給“顯示視頻”菜單加上超鏈接以訪問(wèn)該cgi文件,顯示存儲(chǔ)目錄下的所有視頻,最終整個(gè)移動(dòng)目標(biāo)跟蹤系統(tǒng)搭建完成。

      4 系統(tǒng)測(cè)試

      在MATLAB平臺(tái)上,對(duì)單目標(biāo)圖3和多目標(biāo)圖4跟蹤基本實(shí)現(xiàn)預(yù)期效果。完成Linux系統(tǒng)搭建和移動(dòng)目標(biāo)跟蹤系統(tǒng)搭建后,啟動(dòng)開發(fā)板,攝像頭把采集到的圖像和視頻進(jìn)行存儲(chǔ),給顯示視頻和圖像菜單加上超鏈接以訪問(wèn)該cgi文件,顯示了存儲(chǔ)目錄下的所有視頻和圖片,查看存儲(chǔ)的視頻和圖像沒有明顯的失真和抖動(dòng),畫質(zhì)清晰流暢??傮w而言存儲(chǔ)效果良好。

      圖3 卡曼濾波后的結(jié)果

      圖4 多目標(biāo)連通區(qū)域結(jié)果

      5 結(jié)語(yǔ)

      在MATLAB代碼設(shè)計(jì)中,對(duì)于單目標(biāo)跟蹤和多目標(biāo)跟蹤采取了不同的設(shè)計(jì),單目標(biāo)識(shí)別是基于卡曼濾波實(shí)現(xiàn),多目標(biāo)跟蹤是采用數(shù)學(xué)形態(tài)學(xué)實(shí)現(xiàn)的,遺憾的是沒能利用卡曼濾波算法實(shí)現(xiàn)多目標(biāo)識(shí)別跟蹤,需后期進(jìn)一步完善。該移動(dòng)目標(biāo)跟蹤系統(tǒng)具有實(shí)時(shí)性高、成本低、體積小,且運(yùn)行穩(wěn)定、可靠等高特點(diǎn),在Linux-arm平臺(tái)上,通過(guò)PC瀏覽器可以看到存儲(chǔ)的圖像和視頻,但是界面不太美觀,一些后期功能也需繼續(xù)完善。

      [1] 余靜,游志勝.自動(dòng)目標(biāo)識(shí)別與跟蹤技術(shù)研究綜述[J].計(jì)算機(jī)應(yīng)用研究,2005(1):12-15.

      [2] 潘廣林,梁彥,劉寶霆,等.目標(biāo)跟蹤系統(tǒng)性能評(píng)估研究[J].系統(tǒng)仿真學(xué)報(bào),2007,19(24):5773-5777.

      [3] 王寶榮,楊華,王一程,等.基于卡曼濾波與均值偏移算法的目標(biāo)跟蹤[J].激光與紅外,2009,39(11):1233-1236.

      [4] 譚偉,方超,杜建洪,等.基于數(shù)學(xué)形態(tài)學(xué)的集裝箱箱號(hào)分割改進(jìn)算法[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(13):174-177.

      [5] 胡偉.Android系統(tǒng)架構(gòu)及其驅(qū)動(dòng)研究[J].廣州廣播電視大學(xué)學(xué)報(bào),2010(4):96-101.

      [6] 曹占中,周余,王自強(qiáng),等.基于s3c2440的Linux攝像頭驅(qū)動(dòng)開發(fā)[J].電子測(cè)量技術(shù),2009,32(2):108-111.

      [7] 劉紅,盧程.FFmpeg開源項(xiàng)目移植到Android的研究[J].價(jià)值工程,2016(4):166-169.

      [8] 康樂.基于ARM11的移動(dòng)圖像檢測(cè)與監(jiān)控系統(tǒng)的研究[J].電視技術(shù),2013,37(15):52-56.

      [9] 陸永健,王萍.嵌入式Web服務(wù)器Boa的移植及其應(yīng)用[J].河海大學(xué)常州分校學(xué)報(bào),2005,19(4):44-47.

      (責(zé)任編輯:孫 娟)

      郭琪(1992-),男,湖北仙桃人,碩士,武漢輕工大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院碩士研究生,研究方向?yàn)榍度胧郊夹g(shù);劉昌華(1963-),男,湖北武漢人,武漢輕工大學(xué)數(shù)學(xué)與計(jì)算機(jī)學(xué)院副教授、碩士生導(dǎo)師,研究方向?yàn)橛?jì)算機(jī)網(wǎng)絡(luò)及應(yīng)用、嵌入式FPGA設(shè)計(jì)。

      10.11907/rjdk.162644

      TP319

      A

      1672-7800(2017)003-0094-03

      猜你喜歡
      卡曼開發(fā)板嵌入式
      伊朗版“死神”首秀
      搭建基于Qt的嵌入式開發(fā)平臺(tái)
      Microchip最新推出兩款PIC32 Curiosity開發(fā)板
      淺析單片機(jī)開發(fā)板的設(shè)計(jì)與制作
      電子制作(2017年22期)2017-02-02 07:10:14
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
      Mouser為您呈上開發(fā)關(guān)鍵之STMicroelectronics Nucleo開發(fā)板
      Arduino和Atmel發(fā)布Arduino Zero開發(fā)板
      Altera加入嵌入式視覺聯(lián)盟
      倍福 CX8091嵌入式控制器
      德國(guó)艾瑞卡曼小學(xué)
      从化市| 囊谦县| 黑水县| 福海县| 高碑店市| 施甸县| 黄陵县| 彰武县| 昌图县| 宁陵县| 民丰县| 沁源县| 庐江县| 浮梁县| 平和县| 文登市| 卢氏县| 梁山县| 凤台县| 嫩江县| 朝阳市| 福泉市| 清新县| 昌邑市| 闽侯县| 无极县| 工布江达县| 饶平县| 辽中县| 河北区| 黄骅市| 宝兴县| 北碚区| 通河县| 定结县| 禹城市| 宁蒗| 茶陵县| 玉田县| 米易县| 游戏|