當(dāng)前位置:首頁 > 嵌入式 > 嵌入式教程
[導(dǎo)讀]IEEE1394視頻視覺系統(tǒng)中DSP軟硬件設(shè)計(jì)

介紹了用數(shù)字信號(hào)處理器實(shí)現(xiàn)視頻流控制處理功能的軟硬件設(shè)計(jì)方案。重點(diǎn)論述了如何設(shè)計(jì)DSP的軟件及外圍硬件,完成IEEE1394設(shè)備自標(biāo)識(shí)及數(shù)據(jù)傳輸?shù)脑敿?xì)過程。同時(shí)還提出了一種用于運(yùn)動(dòng)目標(biāo)檢測的變加權(quán)背景恢復(fù)算法及其DSP實(shí)現(xiàn)方案。這種用DSP實(shí)現(xiàn)數(shù)字視覺算法的成功嘗試,對(duì)于實(shí)現(xiàn)其他視覺功能具有一定的借鑒意義。

本文介紹了一種以DSP為核心、基于IEEE1394總線的圖像實(shí)時(shí)采集處理系統(tǒng)的軟硬件設(shè)計(jì)。此外還提出了一種易于用DSP實(shí)現(xiàn)且存儲(chǔ)器資源占用率小的運(yùn)動(dòng)目標(biāo)檢測算法。據(jù)了解,目前國內(nèi)外大多數(shù)的計(jì)算機(jī)視覺研究都是用計(jì)算機(jī)軟件處理實(shí)現(xiàn)的,因此在實(shí)時(shí)性和成本方面受計(jì)算機(jī)平臺(tái)的制約。本文討論了一種計(jì)算機(jī)視覺系統(tǒng)的硬件平臺(tái)設(shè)計(jì)方案,并在此平臺(tái)上實(shí)現(xiàn)了運(yùn)行目標(biāo)檢測??梢哉f,這是一次用DSP實(shí)現(xiàn)計(jì)算機(jī)視覺算法的成功嘗試,對(duì)于其它算法的硬件實(shí)現(xiàn)有一定的借鑒意義。

 

 

圖1 硬件系統(tǒng)框圖

采用IEEE1394總線作為傳輸接口是實(shí)現(xiàn)實(shí)時(shí)圖像采集的根本保證。IEEE1394是由國際電氣和電子工程師協(xié)會(huì)(IEEE)制定的一種高速串行總線協(xié)議。1394總線具有以下優(yōu)點(diǎn):

支持熱插拔和即插即用:

提供統(tǒng)一的通用接口,并且具有總線供電能力(每一端口的最大輸出電流為1.5A,輸出電壓8~33Vdc);

·傳輸速率高100~400Mbps;

·不依賴計(jì)算機(jī),支持1394設(shè)備間的點(diǎn)對(duì)點(diǎn)傳輸。

其中第四點(diǎn)是目前常用的USB2.0總線無法實(shí)現(xiàn)的,也正是這一優(yōu)點(diǎn)使得1394不僅是一種計(jì)算機(jī)外設(shè)連接總線,更是多種消費(fèi)類電子產(chǎn)品的連接方案。

 

 

圖2 幀緩存訪問次序

另外,為了實(shí)現(xiàn)數(shù)字視頻圖像的實(shí)時(shí)采集和處理,充分發(fā)揮1394總線的高速傳輸速率,筆者選用了TI公司的TMS320VC33數(shù)字信號(hào)處理器作為主控制器。這是一款高性能浮點(diǎn)DSP,它具有17ns的指令周期和60MIPS的處理能力。

下面將分別介紹這套DSP系統(tǒng)的工作原理,軟、硬件設(shè)計(jì)以及運(yùn)動(dòng)目標(biāo)檢測算法的改進(jìn)和實(shí)現(xiàn)。

系統(tǒng)組成及工作原理

本系統(tǒng)是為驗(yàn)證并實(shí)現(xiàn)各種計(jì)算機(jī)視覺算法而搭建的一個(gè)硬件平臺(tái),用五片512K×8bit的SRAM分別作為幀緩沖和DSP的擴(kuò)展RAM。還有一片20萬門的FPGA用作系統(tǒng)的邏輯控制及以后機(jī)器視覺算法的硬件實(shí)現(xiàn)。系統(tǒng)的結(jié)構(gòu)框圖如圖1所示。

系統(tǒng)的工作原理如下:系統(tǒng)上電或復(fù)位后,DSP首先從FlashROM中自動(dòng)裝入代碼并開始運(yùn)行,等待1394電纜插入。當(dāng)電纜插入后,DSP通過解析根節(jié)點(diǎn)發(fā)來的請求包發(fā)出對(duì)應(yīng)的內(nèi)容作為應(yīng)答,直至根節(jié)點(diǎn)發(fā)現(xiàn)該設(shè)備。之后,只要根節(jié)點(diǎn)發(fā)出讀數(shù)據(jù)請求,DSP就根據(jù)請求包的內(nèi)容從幀緩沖RAM中取出 數(shù)據(jù),通過1394鏈路層和物理層芯片將其送到1394總線上。

圖像數(shù)據(jù)的采集、處理和傳輸三個(gè)步驟以流水線的方式,在同一時(shí)刻各掌握一片幀緩存RAM的訪問權(quán),并行工作。當(dāng)各個(gè)步驟都完成后,在FPGA的控制下同時(shí)切換各片幀緩存的控制權(quán),開始流水線的下一個(gè)周期。各個(gè)步驟對(duì)三片幀緩存RAM的控制次序如圖2所示。

這種流水線式的電路結(jié)構(gòu)實(shí)現(xiàn)了圖像采集、圖像處理、圖像傳輸三個(gè)步驟并行工作,極大地提高了處理的連續(xù)性和實(shí)時(shí)性。

 

 

圖3 DSP軟件流程圖

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

DSP在本系統(tǒng)中的任務(wù)有三個(gè):首先是通過鏈路層和物理層芯片與根節(jié)點(diǎn)通信,完成自標(biāo)識(shí)過程;其二是處理采集好的一幀圖像,并把它再存回幀緩存;其三是自標(biāo)識(shí)完成后,響應(yīng)根節(jié)點(diǎn)發(fā)來的數(shù)據(jù)讀請求,從幀緩沖RAM中讀出處理過重的圖像數(shù)據(jù)并送到總線上。整個(gè)系統(tǒng)由一片TMS320VC33、一片20萬門的 FPGA(EP20k200EBC356)、五片512KB高速SRAM(IS61LV5128AL)、一片F(xiàn)lash(AM29LV400B)、一片 1394鏈路層芯片(TSB12LV32)、一片1394物理層芯片(TSB41LV04a)以及DSP電源看門狗芯片(PS767D301)組成。其中 TMS320VC33作為主控制器與TSB12LV32的主控制器接口相連。FPGA在DSP的控制下向1394鏈路層芯片的DataMover端口發(fā)送數(shù)據(jù)。此外FPGA還有地址譯碼、時(shí)序調(diào)整以及幀緩存切換等功能。三片SRAM作為幀緩沖存,另外兩片作為DSP的擴(kuò)展RAM,每片RAM內(nèi)存放一幀圖像(300K字節(jié)),其訪問時(shí)間為12ns,因此完全適合TMS320VC33以零等待方式訪問。物理層芯片TSB12LV04a只與鏈路層芯片通信,與 DSP無關(guān),它負(fù)責(zé)進(jìn)行總線上的差分模擬信號(hào)與系統(tǒng)的數(shù)字信號(hào)之間的轉(zhuǎn)換。Flash用來存放DSP代碼,它經(jīng)過地址譯碼直接與DSP相連。DSP復(fù)位后由BootLoader將代碼從Flash加載到DSP片內(nèi)RAM中開始運(yùn)行??梢酝ㄟ^DSP的JTAG接口方便地進(jìn)行Flash的在系統(tǒng)擦寫。由于AM12LV400B的訪問時(shí)間為70ns,DSP訪問Flash時(shí)至少應(yīng)加入5個(gè)等待周期。

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

DSP的軟件開發(fā)是在TI公司提供的Code Composer(CC)環(huán)境一,結(jié)合DSP硬件仿真器完成。代碼的開發(fā)根據(jù)實(shí)際情況使用C語言和匯編語言的混合編程。在實(shí)際設(shè)備自標(biāo)識(shí)的過程中使用C語言,這是因?yàn)檫@個(gè)過程邏輯關(guān)系比較復(fù)雜,但只在總線復(fù)位初始化時(shí)執(zhí)行一次,用C語言可以提高可讀性,減小開發(fā)難度,同時(shí)也不會(huì)對(duì)系統(tǒng)的性能有太大影響。而在進(jìn)行圖像處理和響應(yīng)數(shù)據(jù)讀請求包時(shí),則使用了匯編語言。原因是這些代碼使用頻繁,直接影響系統(tǒng)的速度。

響應(yīng)1394總線的自標(biāo)識(shí)過程是系統(tǒng)設(shè)計(jì)的難點(diǎn),也是1394接口設(shè)計(jì)最重要的部分。DSP的響應(yīng)必須符合IEEE1394a協(xié)議中規(guī)定的自標(biāo)識(shí)步驟,圖3描述了DSP的動(dòng)作流程。

自標(biāo)識(shí)過程實(shí)際上是根節(jié)點(diǎn)(主機(jī))請求讀取葉節(jié)點(diǎn)(設(shè)備)配置ROM的過程。可以執(zhí)行事務(wù)的1394串行總線節(jié)點(diǎn)都應(yīng)該實(shí)現(xiàn)配置ROM,它為配置和參數(shù)與設(shè)備相關(guān)的問題提供了一些必要的信息。例如,對(duì)于一個(gè)連接到計(jì)算機(jī)上的1394設(shè)備而言,設(shè)備中電后,計(jì)算機(jī)首先讀取配置ROM中的內(nèi)容,從而分辨出這是一個(gè)什么樣的設(shè)備。配置ROM中包含的信息有:[!--empirenews.page--]

·為識(shí)別本設(shè)備驅(qū)動(dòng)程序所需要的信息;

·為識(shí)別診斷軟件所必須的信息;

·為指定設(shè)備設(shè)計(jì)總線的各種性能所需要的信息;

·為指定可選的模塊、節(jié)點(diǎn)以及元件特征和參數(shù)所需要的信息。

正常格式的配置ROM形成了一個(gè)樹結(jié)構(gòu),它包括很多分支和葉子,這些分支和葉子都是由指針聯(lián)系起來的,其中有限選項(xiàng)也有任務(wù)項(xiàng)。

DSP要做的就是把配置ROM的內(nèi)容以異步讀應(yīng)答包的形式發(fā)出計(jì)算機(jī),而配置ROM的內(nèi)容是開發(fā)人員根據(jù)所開發(fā)的系統(tǒng)自已定義的。當(dāng)計(jì)算機(jī)正確讀完配置ROM的內(nèi)容后,就會(huì)顯示發(fā)現(xiàn)新硬件或自動(dòng)裝入相應(yīng)的1394設(shè)備驅(qū)動(dòng)程序。

所有的1394數(shù)據(jù)傳輸都是以包為單位。其中包頭含此次傳輸?shù)膫鬏斔俾?Spd)、事務(wù)標(biāo)簽(tLable)、事務(wù)代碼(tCode)、源節(jié)點(diǎn)ID、目的節(jié)點(diǎn)ID等信息。這些信息必須符合協(xié)議要求,例如一個(gè)讀請求數(shù)據(jù)塊應(yīng)答包,傳輸速率為400Mbps,那么Spd=10、tCode=7,源節(jié)點(diǎn)ID和目的節(jié)點(diǎn)ID分別是請求包的目的節(jié)點(diǎn)ID和源節(jié)點(diǎn)ID,tLable和請求包的相等。

自標(biāo)識(shí)完成后,DSP開始處理采集好的圖像數(shù)據(jù),同時(shí)以中斷子程序的方式啟動(dòng)數(shù)據(jù)發(fā)送。由于本系統(tǒng)采用1394總線的異步傳輸方式,每次數(shù)據(jù)傳輸都由主機(jī)(PC)發(fā)起,所以DSP以中斷的方式響應(yīng)主機(jī)發(fā)來的讀請求,每次中斷服務(wù)中發(fā)送一個(gè)數(shù)據(jù)包。在采集、處理、傳輸三個(gè)步驟中,顯然處理是最耗費(fèi)時(shí)間的,為了確保這三個(gè)步驟都完成后再切換到流水線的下一個(gè)周期,中斷子程序中還要判斷是否一幀圖像已經(jīng)發(fā)完,如果已經(jīng)發(fā)完一幀,則關(guān)閉中斷,等到圖像處理步驟完成后,幀緩存切換完畢再打開中斷。

整個(gè)軟件部分完成后,燒寫Flash并實(shí)現(xiàn)程序的引導(dǎo)加載(Boot-Loader)也是重要的一步。TMS320VC33的引導(dǎo)加載功能是通過DSP復(fù)位后自動(dòng)運(yùn)行駐留在片內(nèi)ROM的地址0x45處的一段代碼實(shí)現(xiàn)的。這段代碼可以根據(jù)復(fù)位時(shí)INT0~I(xiàn)NT3引腳上的狀態(tài)決定裝載的源地址(只能是0x1000、 0x400000、0xFFF000或串口0),并將源地址處的代碼轉(zhuǎn)移到指定的片內(nèi)RAM中,然后從指定的程序入口點(diǎn)開始運(yùn)行。

幀間平均運(yùn)行檢測算法的改進(jìn)與實(shí)現(xiàn)

運(yùn)動(dòng)目標(biāo)檢測跟蹤是計(jì)算機(jī)視覺中十分重要的一個(gè)熱門研究領(lǐng)域,近年來出現(xiàn)了許多新的算法。但可以歸結(jié)為以下四大類:基于光流場分析的算法、基于主動(dòng)輪廓的算法、基于編譯模型的算法以及基于圖像差分的方法。并三種算法與第四種方法相比,具有精度高、定位準(zhǔn)并且能夠得出運(yùn)動(dòng)參數(shù)的優(yōu)點(diǎn)。但是算法的復(fù)雜性較高,目前難以在普通的硬件平臺(tái)上實(shí)現(xiàn)實(shí)時(shí)處理。因此,圖像差分方波被廣泛用于實(shí)時(shí)運(yùn)動(dòng)檢測系統(tǒng)。

在實(shí)際應(yīng)用中差分圖像的獲得有兩種途徑:其一是利用相鄰兩幀之間的差來獲得差分圖像;其二是通過將當(dāng)前幀和固定的背景幀相減來獲得差分圖像。第一種方法在應(yīng)用中容易出現(xiàn)“空洞”現(xiàn)象,檢測結(jié)果的大小與目標(biāo)運(yùn)動(dòng)的速度有關(guān),從而影響了動(dòng)目標(biāo)檢測的精度;第二種方法,由于背景是固定的,那么若外界條件有較明顯的變化,例如光照等條件發(fā)生變化時(shí),當(dāng)前的實(shí)際背景圖像就會(huì)發(fā)生變化,從而獲得的差分圖像是不準(zhǔn)確的,噪聲比較大。故這種方法僅適用于背景條件不變或者是變化限制在一定范圍內(nèi)的情況。

本文針對(duì)背景和攝像機(jī)都靜止這一特定應(yīng)用場合,選用了基于背景消減的運(yùn)動(dòng)檢測和跟蹤算法。這種算法的關(guān)鍵在于背景重建,在此應(yīng)用了基于幀間平均的背景重建方法,并在此基礎(chǔ)上針對(duì)硬件可實(shí)現(xiàn)性和處理的實(shí)時(shí)性提出了改進(jìn)。最后,為了克服背景消減算法噪聲較大的先天不足,采用了形態(tài)學(xué)濾波的方法去處噪聲。

幀間平均算法使用當(dāng)前幀之間各幀的像素平均值作為當(dāng)前背景的估計(jì)值,如下式所示:

從公式中可以看出,這種算法只需要在圖像采集系統(tǒng)的基礎(chǔ)上多添加一片幀存儲(chǔ)器用來存儲(chǔ)估計(jì)背景即可,因此對(duì)硬件資源要求低。另外,背景是隨著n增加逐漸恢復(fù)的,所以背景過程并不影響圖像處理結(jié)果的實(shí)時(shí)傳輸和顯示。顯然,n越大,背景恢復(fù)越真實(shí),可以控制n的大小調(diào)整處理時(shí)間和處理效果之間的平衡。

然而,由于上面的公式中有除法運(yùn)算,所以無論使用FPGA還是DSP來實(shí)現(xiàn)都有一定的困難。以DSP為例,對(duì)于本系統(tǒng)所用的TMS320C3x系列DSP來說,一次整數(shù)除法運(yùn)算要用約100條指令,這顯然對(duì)處理的實(shí)時(shí)性有很大的影響。

為了克服這一算法缺陷,提出了如下的變加權(quán)均值算法:

上式中,各幀取平均值并沒有采用相同的加權(quán),而是以2的整數(shù)冪2m作為步長,在每個(gè)步長內(nèi),對(duì)已估計(jì)出的背景都給予該步長內(nèi)最大的加權(quán)值(2m-1) /2m,這比原算法中背景的加權(quán)值(n-1)/n更大,也就是說變加權(quán)算法在背景估計(jì)中列加依賴于已經(jīng)估計(jì)出的背景,這有利于消除當(dāng)前幀中噪聲對(duì)背景估計(jì)的影響。在整個(gè)背景估計(jì)過程中,m截止來,步長也越大,同時(shí)已估計(jì)出的背景的權(quán)重也越大。同時(shí)可以看到,除數(shù)都變成了2的整數(shù)冪,可以用移位來實(shí)現(xiàn),與原算法相比,運(yùn)算效率提高了近100倍。然而,處理效果并未因此而受到損失,這是因?yàn)檫@種加權(quán)值的改變遵循這樣一種事實(shí):隨著幀數(shù)的增加,估計(jì)出的背景的可信度越來越高,當(dāng)前幀對(duì)背景的影響也越來越小,所以已估計(jì)出的背景在公式中所占的比重也應(yīng)該越來越大。實(shí)驗(yàn)證明:m=6時(shí),已經(jīng)足可以估計(jì)出較為真實(shí)的背景了。

DSP的擴(kuò)展RAM用來了存放已經(jīng)估計(jì)出的背景,將當(dāng)前幀與背景相減取絕對(duì)值,再進(jìn)行二值化,就得到了運(yùn)動(dòng)目標(biāo)的二值化圖像。為了消除噪聲的影響,最后使用一個(gè)7×7的菱形結(jié)構(gòu)元素對(duì)圖像進(jìn)行形態(tài)學(xué)開運(yùn)算。最終的結(jié)果再存回幀緩存。

圖4是處理結(jié)構(gòu)傳回主機(jī)后,用VC實(shí)現(xiàn)的應(yīng)用程序界面,其中左上角是在原始圖像上添加的動(dòng)目標(biāo)檢測結(jié)果,右上角是二值化的動(dòng)目標(biāo),左下角是背景恢復(fù)圖,右下角是是運(yùn)動(dòng)跳躍軌跡;圖5是n=64時(shí),恢復(fù)出的背景;圖6是利用改進(jìn)的變加權(quán)幀間平均算法得到的目標(biāo)運(yùn)動(dòng)檢測結(jié)果,其中較大的方框是形態(tài)學(xué)濾波前的檢測結(jié)果,受到車燈倒影的影響 (如圖中白色圓圈標(biāo)示),檢測結(jié)果精度很差,內(nèi)部較小的方框則通過形態(tài)學(xué)濾波解決了這個(gè)問題。

經(jīng)測試表明:本系統(tǒng)工作穩(wěn)定,傳輸速率高(30fps@640×480),處理效果好,可擴(kuò)展性強(qiáng),是機(jī)器視覺算法硬件實(shí)現(xiàn)的一次成功嘗試。但是目前的算法還有待改進(jìn),例如在保證實(shí)時(shí)性和硬件易實(shí)現(xiàn)性的前提下,大片的燈光倒影很難再用形態(tài)學(xué)濾波的方法消除。這是下一步要著重解決的問題。[!--empirenews.page--]

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉