国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

視頻跟蹤算法在Davinci SOC上的實(shí)現(xiàn)與優(yōu)化

發(fā)布時(shí)間:2010-12-6 20:23    發(fā)布者:designer
關(guān)鍵詞: DaVinci , SoC , 跟蹤算法 , 視頻
目標(biāo)跟蹤作為計(jì)算機(jī)視覺的一個(gè)極具挑戰(zhàn)性的研究任務(wù),已被廣泛的應(yīng)用在人機(jī)交互、智能監(jiān)控、醫(yī)學(xué)圖像處理等領(lǐng)域中。目標(biāo)跟蹤的本質(zhì)是在圖像序列中識(shí)別出目標(biāo)的同時(shí)對(duì)其進(jìn)行精確定位。為了克服噪聲、遮擋、背景的改變等對(duì)目標(biāo)識(shí)別帶來的困難,出現(xiàn)了很多的跟蹤算法。

因?yàn)槟繕?biāo)跟蹤算法需要處理的數(shù)據(jù)量大、運(yùn)算復(fù)雜,需要性能強(qiáng)大的處理器才能實(shí)時(shí)處理。我們選用TI推出的最新產(chǎn)品TMS320DM6446實(shí)現(xiàn)算法。TMS320DM6446是一款高度集成的片上系統(tǒng),集成了可以運(yùn)行頻率高達(dá)594MHz的C64x+ DSP核和297MHz的ARM926處理器核。另外它還集成了數(shù)字視頻所需的許多外部組件,如視頻加速器,網(wǎng)絡(luò)外設(shè)及高速外部存儲(chǔ)接口。本設(shè)計(jì)充分利用DM6446的強(qiáng)大運(yùn)算能力,在DSP內(nèi)核上實(shí)時(shí)運(yùn)行目標(biāo)跟蹤算法。 設(shè)計(jì)還在ARM處理器上執(zhí)行多線程應(yīng)用程序,負(fù)責(zé)視頻采集,顯示,網(wǎng)絡(luò)通信,外圍器件控制等工作。

算法介紹

本系統(tǒng)實(shí)現(xiàn)的視頻跟蹤算法可參考文獻(xiàn)-,整個(gè)算法分為基本算法和改進(jìn)算法兩部分。本算法是一種基于模板匹配技術(shù)的跟蹤算法,即在手工選定或自動(dòng)選定了待跟蹤目標(biāo)后,提取目標(biāo)的外觀信息作為模板,在后續(xù)的視頻序列中,將候選圖像區(qū)域與目標(biāo)模板進(jìn)行匹配,將最相似的圖像區(qū)域作為運(yùn)動(dòng)目標(biāo)當(dāng)前的位置。在本文中,采用結(jié)構(gòu)相似度,即“歸一化互相關(guān)系數(shù)”作為候選區(qū)域與目標(biāo)模板相似程度的度量標(biāo)準(zhǔn),其計(jì)算公式如下所示:

上式中,f(m,n)和g(m,n)分別為目標(biāo)模板和候選區(qū)域的灰度值矩陣,尺寸為MxN。uf和ug分別為目標(biāo)模板和候選區(qū)域的灰度平均值,然后再求出f(m,n)和g(m,n)的協(xié)方差、f(m,n)的方差、g(m,n)的方差后,求出歸一化互相關(guān)系數(shù)。式(1)通過從灰度值矩陣中減去灰度均值,有效地消除了光照給跟蹤結(jié)果帶來的影響。而對(duì)于匹配圖像區(qū)域的搜索,為了達(dá)到減少匹配次數(shù)從而降低計(jì)算量的目的,我們借鑒了視頻壓縮領(lǐng)域中的三步搜索法(Three Step Search, TSS) 作為最匹配點(diǎn)的搜索算法。

為了增加模板匹配視頻目標(biāo)跟蹤算法的魯棒性,我們?cè)诨舅惴ǖ幕A(chǔ)上實(shí)現(xiàn)了改進(jìn)算法的部分。改進(jìn)算法具有自適應(yīng)遮擋處理與模板漂移抑制的能力,能夠很好地解決前面提到模板匹配的視頻目標(biāo)跟蹤算法需要解決的難題。具體來說,主要有如下四點(diǎn)改進(jìn):(1) 抑制漂移的帶掩蔽卡爾曼外觀濾波算法(Drift-Inhibitive Masked Kalman Appearance Filter, DIMKAF )  ;(2) 內(nèi)容自適應(yīng)漸進(jìn)式遮擋分析算法(Content-Adaptive Progressive Occlusion Analysis, CAPOA);(3) 可變掩蔽模板匹配算法(Variant-Mask Template Matching, VMTM);(4) 局部最優(yōu)匹配鑒定算法(Local Best Match Authentication, LBMA)。 改進(jìn)后整個(gè)算法的流程圖如下所示:







圖 1 跟蹤算法主流程圖

算法在DavinciSOC上的實(shí)現(xiàn)

DSP平臺(tái)的選擇

DM6446采用ARM與DSP 雙核結(jié)構(gòu),其中ARM子系統(tǒng)搭載297 MHz主頻的ARM926 核,DSP部分則采用594 MHz的C64x+DSP核,外圍存儲(chǔ)均支持256 MB DDR2 RAM和各類存儲(chǔ)卡,另外使用了VPSS 子系統(tǒng)豐富的視頻前后處理功能,且都配備了完善的外設(shè)接口。目標(biāo)跟蹤算法需要做大量運(yùn)算,DM6446 DSP核強(qiáng)大的運(yùn)算處理能力保證了算法的實(shí)時(shí)處理。同時(shí)DM6446的ARM核可以進(jìn)行系統(tǒng)管理,數(shù)據(jù)讀寫,網(wǎng)絡(luò)傳輸?shù)忍幚怼?

我們使用Spectrum Digital公司的DVEVM平臺(tái)進(jìn)行算法仿真、原型制作和軟件優(yōu)化。DVEVM?還可實(shí)現(xiàn)視頻輸入/輸出連接、網(wǎng)絡(luò)接口、存儲(chǔ)器接口以及標(biāo)準(zhǔn)的子卡連接等。

系統(tǒng)軟件框架

整個(gè)系統(tǒng)的軟件框架如圖2如示。DM6446的ARM核運(yùn)行基于Linux操作系統(tǒng)的應(yīng)用程序,所用的外圍設(shè)備都由ARM負(fù)責(zé)控制。ARM端的HTTP服務(wù)器通過Linux網(wǎng)絡(luò)協(xié)議棧來處理HTTP請(qǐng)求,并發(fā)送壓縮視頻數(shù)據(jù)。視頻跟蹤的應(yīng)用程序由五個(gè)POSIX線程組成,分別是視頻捕捉線程,視頻跟蹤線程,視頻壓縮線程,顯示線程,系統(tǒng)控制線程。視頻捕捉線程通過V4L2接口設(shè)備驅(qū)動(dòng)從攝像頭讀取原始視頻數(shù)據(jù)。視頻跟蹤線程把視頻數(shù)據(jù)送到ARM和DSP的共享緩沖內(nèi)存,并通知DSP執(zhí)行跟蹤算法。壓縮線程負(fù)責(zé)控制DSP側(cè)的壓縮算法并從共享內(nèi)存中讀取壓縮數(shù)據(jù)。視頻顯示線程從視頻緩存中讀取視頻數(shù)據(jù)幀,并疊加目標(biāo)跟蹤框,最后通過Frame Buffer設(shè)備驅(qū)動(dòng)輸出顯示。系統(tǒng)控制線程負(fù)責(zé)響應(yīng)遙控器和鼠標(biāo)并執(zhí)行相應(yīng)操作。




圖 2 軟件結(jié)構(gòu)圖

DM6446的DSP核上運(yùn)行DSP/BIOS實(shí)時(shí)操作系統(tǒng)和目標(biāo)檢測,跟蹤算法,視頻壓縮算法。所有的算法的接口都符合TI xDAIS標(biāo)準(zhǔn),由Codec Engine調(diào)用。除了算法,DSP核上還集成了管理內(nèi)存和DMA的Framework Component。

ARM核和DSP核的通信由TI提供的Codec Engine軟件框架負(fù)責(zé)。Codec Engine是介于應(yīng)用程序和具體算法之間的軟件模塊,其中的VISA API通過stub和skeleton訪問Engine SPI最終調(diào)用算法。ARM和DSP的所用共享緩沖內(nèi)存都是通過CMEM模塊在DDR中分配的,緩沖內(nèi)存地址連續(xù)且與DSP核Cache對(duì)齊。

跟蹤算法在DSP上的優(yōu)化

為了充分發(fā)揮出Davinci SOC強(qiáng)大的視頻處理能力,滿足實(shí)時(shí)跟蹤的需要,我們通過算法優(yōu)化和編程優(yōu)化相結(jié)合的方法對(duì)Codec程序進(jìn)行了大量的優(yōu)化。



算法優(yōu)化

算法優(yōu)化是指在不降低算法性能的情況下,采用等效算法來降低計(jì)算量,我們的工作主要集中在“歸一化互相關(guān)系數(shù)”的計(jì)算例程的簡化上。根據(jù)均值和方差的性質(zhì),我們可以將(1)式化簡為:





上式與式(1)比較,減少了大量的加減法計(jì)算,而且將方差和協(xié)方差的計(jì)算轉(zhuǎn)化為大量的乘加運(yùn)算,這為我們后面的編程優(yōu)化也提供了極大的便利。例如M=64, N="64時(shí)",加法次數(shù)從36864減少到12288。

編程優(yōu)化

編程優(yōu)化是在計(jì)算量不變的情況下,根據(jù)Davinci處理器DSP核心的特點(diǎn),通過優(yōu)化存儲(chǔ)器的存取效率和提高程序的并行化程度來縮短程序運(yùn)行所需要的指令周期數(shù),以使程序運(yùn)行得更快。我們的編程優(yōu)化工作主要包含使用dsplib、使用線性匯編、使用內(nèi)聯(lián)函數(shù)以及循環(huán)展開等五個(gè)方面,下面將一一加以介紹。

dsplib的使用

在優(yōu)化過程中,我們還采用了CCS中提供的庫函數(shù)來對(duì)代碼進(jìn)行優(yōu)化。CCS中針對(duì)c64x+ DSP提供了高度優(yōu)化的dsplib庫函數(shù)供用戶使用,這些庫函數(shù)提供了數(shù)字信號(hào)處理中常見的處理例程,而且由匯編語言寫成,具有極高效的代碼效率。特別是用于計(jì)算向量內(nèi)積的DSP_dotprod和DSP_vecsumsq函數(shù)正好滿足了我們的計(jì)算需求。在計(jì)算尺寸為32x32的“歸一化互相關(guān)系數(shù)”時(shí),優(yōu)化后計(jì)算

部分只需要271個(gè)DSP時(shí)鐘周期,而計(jì)算

和部分只需要267個(gè)DSP時(shí)鐘周期,這大大提高了程序運(yùn)行的速度。

線性匯編

對(duì)于uf和ug的計(jì)算,如果使用for循環(huán)實(shí)現(xiàn),將會(huì)大大拖累整個(gè)“歸一化互相關(guān)系數(shù)”計(jì)算例程的執(zhí)行效率。我們用手工編寫線性匯編代碼的方式實(shí)現(xiàn)了dspsum函數(shù),利用C64x + DSP中的8個(gè)并行計(jì)算單元,在每個(gè)DSP

   

時(shí)鐘周期內(nèi)同時(shí)進(jìn)行4個(gè)16位加16位的加法操作,對(duì)于尺寸為32x32的求和計(jì)算而言,該函數(shù)只需要258個(gè)DSP時(shí)鐘周期。

內(nèi)聯(lián)函數(shù)的使用

C64x+編譯器提供的內(nèi)聯(lián)函數(shù)可快速優(yōu)化C代碼。內(nèi)聯(lián)函數(shù)是直接映射為內(nèi)聯(lián)的C64x+指令的特殊函數(shù),內(nèi)聯(lián)函數(shù)用前下滑線(_)來表示,使用時(shí)同調(diào)用普通函數(shù)一樣使用它。我們?cè)趦?yōu)化過程中,使用了許多內(nèi)聯(lián)函數(shù),如_round()等,大大提高了代碼的執(zhí)行效率。

循環(huán)展開

由于for技術(shù)循環(huán)需要打斷C64x+ DSP內(nèi)部的軟件流水線,而頻繁的for循環(huán)會(huì)大大降低DSP的處理效率,所以我們?cè)趦?yōu)化過程中,將部分for循環(huán)進(jìn)行了展開,以代碼增加為代價(jià)提高了代碼的執(zhí)行效率。通過上述方法,可將代碼的處理效率提高3-5倍。

測試結(jié)果

為了獲得視頻跟蹤算法Codec運(yùn)行所需要的DSP時(shí)鐘周期數(shù),進(jìn)而估計(jì)出優(yōu)化后的算法代碼是否已經(jīng)滿足實(shí)時(shí)跟蹤的需要,我們使用CCStudio v3.3對(duì)同一測試序列,同一起始目標(biāo)位置,不同大小模板的情況進(jìn)行了離線仿真。

表 1 視頻跟蹤算法優(yōu)化結(jié)果




表 2 DSP負(fù)載測試





結(jié)論

我們?cè)诨陔p核DM6446的系統(tǒng)平臺(tái)上,利用改進(jìn)后的跟蹤算法實(shí)現(xiàn)了智能目標(biāo)跟蹤系統(tǒng)。DM6446 ARM核上的Linux操作系統(tǒng)上的多線程程序負(fù)責(zé)視頻采集、視頻顯示、算法控制、外圍設(shè)備處理等任務(wù)。通過在TI Codec Engine軟件架構(gòu)下擴(kuò)展目標(biāo)跟蹤算法的接口,我們成功在DM6446的DSP核上運(yùn)行了跟蹤算法。經(jīng)過算法優(yōu)化和編程優(yōu)化,系統(tǒng)可以對(duì)采集輸入的25fps,720×480分辨率視頻中的128×128大小的目標(biāo)進(jìn)行實(shí)時(shí)跟蹤。實(shí)驗(yàn)結(jié)果表明,該算法可以成功跟蹤目標(biāo),并具有較強(qiáng)的魯棒性。該技術(shù)將會(huì)在智能視頻監(jiān)控、智能用戶接口、基于對(duì)象的視頻壓縮、巡航導(dǎo)彈末端制導(dǎo)和輔助駕駛等領(lǐng)域有廣泛應(yīng)用前景。
本文地址:http://www.qingdxww.cn/thread-44473-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé);文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評(píng)論 登錄 | 立即注冊(cè)

廠商推薦

  • Microchip視頻專區(qū)
  • 基于CEC1712實(shí)現(xiàn)的處理器SPI FLASH固件安全彈性方案培訓(xùn)教程
  • 安靜高效的電機(jī)控制——這才是正確的方向!
  • 5分鐘詳解定時(shí)器/計(jì)數(shù)器E和波形擴(kuò)展!
  • 了解一下Microchip強(qiáng)大的PIC18-Q24 MCU系列
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)在線工具

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號(hào) | 京公網(wǎng)安備11010502021702
快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 中文字幕一区二区在线视频 | 精品国产一区二区三区在线观看 | h亚洲| 免费观看毛片的网站 | 国产在线视频91 | 国产精品国产三级国产专 | 青青草国产青春综合久久 | 黄色小视频在线播放 | 国产精品国产精品国产专区不卡 | 第一福利在线观看永久视频 | 麻豆按摩 | 成人在线免费播放 | 久久久精彩视频 | 亚洲婷婷第一狠人综合精品 | 69视频在线下载 | 精品国产无限资源免费观看 | 这里都是精品 | 一级毛片免费观看不卡的 | 国产日韩亚洲欧洲一区二区三区 | 日操操| 国产午夜视频在永久在线观看 | 国产激情视频在线观看 | 肉大捧一进一出视频免费播放 | 日本欧美一区二区三区视频 | 欧美在线一区二区三区不卡 | 中文字幕精品一区二区三区视频 | 国产亚洲精品成人久久网站 | 日本不卡视频免费 | 中文字幕天堂久久精品 | 成在线人永久免费播放视频 | 国产一区二区在线视频播放 | 欧美大片在线观看成人 | 亚洲高清二区 | 日本免费人成黄页网观看视频 | 国产成视频 | 日日夜夜噜 | 很黄很色很刺激视频播放 | 99精品视频在线视频免费观看 | 在线观看国产免费高清不卡 | 神兵小将第一季免费观看 | 国产一区在线观看免费 |