新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于PCI總線的實時圖像識別與跟蹤平臺設計

        基于PCI總線的實時圖像識別與跟蹤平臺設計

        作者: 時間:2016-12-13 來源:網絡 收藏
        在沒有紅外探測器或其它圖像采集設備的條件下,可以先開發基于PCI總線的圖像處理平臺,由計算機模擬圖像的生成并完成圖像的高速傳輸,以縮短系統開發周期,使系統靈活、實用、便于進行功能擴展。采用美國TI公司的新一代高性能浮點數字信號處理器TMS320C6701(以下簡稱C6701)研制了實時圖像識別與跟蹤處理平臺,利用不變矩進行圖像識別,采用質心跟蹤方案,獲得了很好的實驗效果。充分發揮了C6701強大的數字信號處理能力,并為后續的研究提供了很好的軟硬件平臺基礎。

        1 C6701數字信號處理器簡介

        本文引用地址:http://www.104case.com/article/201612/329191.htm

        C6701芯片內有8個并行處理單元,分為相同的兩組。采用甚長指令字VLIW結構,使C6701成為高性能的數字信號處理芯片。其單指令字長為32b,8個指令組成一個指令包,總字長為256b。芯片內部設置了專門的指令分配模塊,可以將每個256b指令包同時分配到8個處理單元,8個單元可同時運行。芯片的最高時鐘頻率達到167MHz,此時浮點運算處理能力可達到1GFLOPS。外部存儲器接口EMIF支持8/16/32b數據寬度的各種類型的同步、異步存儲器,便于系統擴展。C6701片內有64KB的數據RAM和64KB的程序RAM;片外存儲空間分為4個區(CE0、CE1、CE2、CE3);有4個相互獨立的可編程DMA通道,還有第五個DMA通道可與HPI接口。

        2 PCI9054的主要特點及應用

        PCI09054是美國PLX公司生產的一種32b 33MHz的PCI總線主控I/O加速器。采用先進的PLX流水線結構;符合PCI本地總線規范2.2版,突發傳輸速率達到132MB/s;本地總線復用/非復用的32b地址/數據線,有 M、J、C三種工作模式,但C模式的數據和地址總線是非復用的;支持8b、16b、32b外圍設備和存儲設備,本地總線操作速率高達50MHz;內部有6種可編程的FIFO,可實現零等待的突發傳輸及本地總線時鐘和PCI總線時鐘的異步操作,支持主模式、從模式和DMA傳輸模式。PCI9054是一種性價比高的PCI橋接芯片。

        圖1給出了PCI總線接口連接圖,使用2K的ST93CS56串行EEPROM作為PCI9054的配置芯片,圖中雙口RAM可設計成32b、16b或8b。PLX9054工作在C模式下。本地總線晶振為30MHz,經過測試PLX9054工作在從模式單字節讀寫的情況下,本地總線速度已達12MB/s。根據實際圖像傳輸需要(圖像大小為256×256,深度為8b的灰度圖像)幀頻為25幀/s,已經滿足需要。為了再提高傳輸速度,PLX9054可以開發成突發或DMA傳輸方式。使用CPLD(Xilinx的XC95108)完成PCI9054到雙口RAM的譯碼電路,本地地址空間可尋址大小為1MB,1MB的本地地址空間映射為地址00000000H~000fffffH,PCI總線的地址空間(計算機自動分配)為ef100000H~ef1fffffH,同時要求PCI基址空間2(對應寄存器PCIBAR2)映射到本地地址空間0(對應寄存器LAS0BA()即LAS0RR寄存器設為fff00000H,LAS0BA寄存器設為00000001H。其中,LAS0BA的最低位置成“1”,表示PCI直接從模式訪問本地地址空間0,使能譯碼;寫“0”則禁止使能。PCIBAR2的值為ef100000H。

        圖2 圖像處理系統硬件框圖

        利用WinDriver6.01驅動程序開發工具生成PCI圖像傳輸卡的WDM驅動程序代碼,用VisualC++6.0編寫應用程序,完成圖像處理版與PC機之間的高速率的圖像序列傳輸。

        3 圖像處理板硬件設計

        系統硬件框圖如圖2所示。圖像處理板以DSP C6701為核心,C6701主要負責圖像處理,包括對目標的識別和跟蹤,并給出最終的跟蹤角誤差。源圖像通過PCI接口卡傳入圖像處理板的兩片雙口RAM,兩片雙口RAM采用乒乓式存儲。即為了保證圖像處理的實時性,當一片RAM接收數據時,另一片RAM為DSP提供圖像處理的數據。SDRAM用作DSP RAM的擴展,存儲圖像處理的中間結果。圖像處理后的方位與俯仰角度數據通過82C52轉換成串行數據,再經DS8921轉換成RS-422電平,送給系統的后續電路。

        FPGA選用Altera公司的APEXEP20K200,完成整個圖像處理板的譯碼邏輯,并承擔部分圖像處理功能。APEXEP20K200門數為20萬門,采用串行配置時必須使用兩片EPC2。FPGA配置在C6701的CE0空間。FLASH選用4Mb的AM29LV040,用作DSP BootLoader加載程序時的8b ROM,只能配置在CE1空間,因為C6701只有CE1空間可以與8b/16b的“窄存儲器”接口。SDRAM的容量為4M×32b,配置在CE2空間。兩片雙口RAM為CY7C028V,容量為64K×16b,都配置在CE3空間,地址分別譯為0x03000000和0x03040000。C6701的BOOTMODE[4:0]=01101,即存儲器映射方式為MAP1、8bitROM加載、地址0處的存儲器對應為DSP內部程序RAM。

        4 軟件算法

        圖像由計算機經PCI卡傳到圖像處理板的雙口RAM后,DSP對圖像進行預處理,包括圖像校正、圖像濾波,之后進行圖像分割和識別。當識別出目標時設置跟蹤波門,則后續圖像序列在波門內進行跟蹤。本系統識別的目標為高空飛行的飛機圖像,采用的識別算法要求具有平移、旋轉和比例的識別特征不變性,同時要求跟蹤速度快。

        4.1 圖像分割

        圖像分割的目的是將圖像目標和背景分割開來,從而知道目標的大致位置。目前已有各種各樣的方法,其中簡單有效的方法是直方圖分割法中的最大距離法(類間方差門限法)。它的基本思想是:在直方圖取值范圍內,任一灰度級可將直方圖分為左右兩部分,如果這兩部分的灰度均值與總體的灰度均值相距最大,則該灰度級就取為分割門限。這種分割技術可由如下公式描述:

        D(l′)={[λ(l)-μPo(l)] 2}/Po(l)[1-Po(l)] (1)

        式中,,Pl為灰度l級處的概率。分割的準則是將D(l′)為最大值的灰度級l′作為圖像分割的門限值。圖像中凡是灰度值大于分割門限的像點,均認為是背景中的點;反之,則認為是潛在目標區域中的點。這種分割方法可以精確地找到分割門限,提取目標。

        4.2 圖像識別

        圖像經過分割后,接下來就要對目標圖像識別。實現目標識別技術的關鍵是如何利用一組特征參數對區域的本質特征進行有效的描述。適當地選擇特征是很重要的,因為在識別目標時它是唯一的依據。圖像的識別特征有各種各樣的描述,如目標形狀、大小、統計分布等。這里使用仿射矩不變量和分散度特征來識別目標,取得了較好的效果。

        對于經過分割(二值)處理的數字圖像f(x,y),可以定義(p+q)階矩:

        mpq=∑XpYqf(x,y) (2)

        式中, p,q=0,1,3……

        f(x,y)的(p+q)階中心矩可用下式表示:

        μ=∑(X-X)p(Y-Y)qf(x,y) (3)

        式中,X=m10/m00,Y=m01/m00,即(X,Y)為目標區域灰度質心。

        f(x,y)惟一地確定一個矩序列{mpq},反之,矩序列{mpq}也唯一確定f(x,y)。在此利用公式(4)的5個幾何矩不變量[4],再加上分散度特征一起代入目標匹配公式[2]進行目標識別。

        φ1=η20+η02

        φ2=(η20-η02)2+4η 2 11

        φ3=η20η022-η (4)

        φ4=(η30-3η12)2+(3η-η03)2

        φ5=(η30+η12)2+(η+η03)2

        其中,ηpq=μpq/(μ00)(p+q+2)/2。

        此5個不變矩對目標區域的平移(T)、旋轉(R)和區域的比例大小(S)保持不變。

        4.3 目標跟蹤與軌跡預測

        識別出目標后,根據目標確定跟蹤波門大小,在跟蹤波門內進行跟蹤,波門的大小采用自適應設置。常用的跟蹤算法有波門跟蹤、圖像匹配跟蹤和多模跟蹤算法,考慮到背景較簡單,采用基于公式(1)的質心跟蹤方案。把波門的中心G(xG,yG)和目標質心T(xT,yT)的偏差作為跟蹤誤差,通過RS-422接口輸出給后續處理板來實時進行跟蹤。

        在跟蹤過程中,目標的位置按照自身的運動方式不斷變化著,同時目標也會出現被遮擋的情況。此時,需要對目標的運動軌跡進行預測,可以采用基于最小二乘法的綜合預測器來預測[2],認為目標的運動軌跡可以是直線和二次曲線的某種組合。即

        f(k+1)=Wfl(k+1)+(1-W)fq(k+1) (5)

        式中,fl(·)為線性預測器;fq(·)為平方預測器,W為權函數(0≤W≤1)。

        權函數可以根據實時測得的平方預測器的誤差而實時構成。當平方預測器誤差較大時,則增大權值,否則減小權值。線性和平方預測器的記憶點數N的選取要視具體工作情形而定。當特征量的變化不是太快時,N值應選得稍大些,這樣也有利于抑制噪聲的干擾;若特征量變化甚快,則N應選用較小的值。一般選擇N≤5,當N=2時,線性預測有利于跟上機動性較高的目標;當N=5時,預測的目標運動軌跡比較平滑,有較強的抗干擾能力。

        5 實驗結果

        采用256×256大小、深度為8b的連續150幀灰度圖像進行試驗,達到跟蹤速度為25幀/s的實時跟蹤效果,整個系統工作穩定、可靠、靈活且易于擴展。圖3給出了跟蹤的結果。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 南和县| 临漳县| 乡城县| 友谊县| 尉犁县| 攀枝花市| 嫩江县| 湄潭县| 荔波县| 辽源市| 平潭县| 宜宾市| 固原市| 都兰县| 登封市| 潜江市| 上思县| 安化县| 崇义县| 永嘉县| 满城县| 武定县| 邵阳县| 长汀县| 阿尔山市| 宝山区| 吴忠市| 泉州市| 阿克苏市| 蕲春县| 巴彦淖尔市| 湘潭县| 民和| 十堰市| 山西省| 会昌县| 合江县| 张掖市| 五台县| 新昌县| 东辽县|