三維圖像信息處理FPGA+DSP核心架構的設計與實(shí)現
2.3 DSP三維重建模塊
為了應對三維圖像大數據量復雜高速運算的需要,這里采用了兩片TigerSHARC 201芯片并行三維重建運算。由控制FPGA對兩片DSP所要處理的圖像進(jìn)行任務(wù)分配,DSP結合預處理FPGA存入FIFO的數據和PCI總線(xiàn)所給處理參數進(jìn)行定標參數計算、坐標計算、三維重建和構型。由于TS201內部集成的總線(xiàn)仲裁機制,雙DSP可以實(shí)現無(wú)縫連接,大大減小了多DSP協(xié)調工作的設計難度。DSP間的連接是依靠其擁有的全雙工LinkPort,它采用LVDS(低電平差分信號)輸入數據。鏈路口能獨立或同時(shí)工作,在時(shí)鐘的上升沿和下降沿鎖存數據。鏈路時(shí)鐘頻率最高可以與處理器核相同,高達500MHz,每個(gè)鏈路能完成500Mbps的單向數據傳輸。每個(gè)DSP的4個(gè)LinkPort合起來(lái)最大的通透率為4.0Gbps。連線(xiàn)短且簡(jiǎn)單,不需要額外的輔助電路,且可有效防止連線(xiàn)長(cháng)引起的信號畸變。LinkPort傳輸協(xié)議由控制FPGA完成。
2.4 PCI通信接口模塊
根據三維信息獲取系統的速度傳輸要求,采用PCI接口完成該系統與通用PC的信息交互。PCI接口控制器是硬件部分的控制中心和數據交換中心,它接收設備驅動(dòng)程序的命令和數據,配置和控制系統的各個(gè)模塊使其協(xié)調工作,完成系統任務(wù);它還負責將采集到和處理后的數據通過(guò)PCI總線(xiàn)轉送給通用PC。本系統采用PLX公司的32bit/33MHz PCI9030作為接口芯片,串行EEPROM-FM93CS56L電可擦除只讀存儲器保存PCI9030的配置信息。
2.5 系統控制與數據交換模塊
控制單元對處理器的數據處理單元和輸入數據格式轉換單元以及所有FIFO存儲器產(chǎn)生控制,與預處理FPGA配合完成DSP的LinkPort協(xié)議。由于數據處理單元中為流水處理,在控制單元的設計中要特別注意由流水線(xiàn)產(chǎn)生的固定周期的延時(shí),延時(shí)的周期數等于相應流水線(xiàn)的級數??刂茊卧€與PCI接口連接,接收來(lái)自主計算機的控制信號和背景閾值等信息??刂艶PGA還是SAA7111A、PCI接口和DSP之間的圖像和信息交換的橋梁,為其提供所需要的參數和數據信息。
3.1 圖像預處理算法
如圖3,激光帶預處理算法的實(shí)現[2]為:由于有激光幀和無(wú)激光幀是依次交替產(chǎn)生的,因此首先要保存一幀有激光幀,在其下一幀,即無(wú)激光幀到來(lái)時(shí),將保存的有激光幀和當前無(wú)激光幀的相同行、列的點(diǎn)相減,再對結果進(jìn)行亮度提取,處理完成后的數據存入目標緩存。
如圖4,實(shí)現提取輪廓線(xiàn)算法分為三個(gè)部分[3],首先由計算比較模塊對輸入像素點(diǎn)的值與預先計算好的閾值進(jìn)行比較,判斷其是否為目標像素;然后利用一個(gè)序列檢測模塊進(jìn)行一維尺度濾波以去除某些噪聲點(diǎn);再經(jīng)過(guò)一個(gè)邊緣檢測模塊,提取出每行的第一個(gè)目標像素作為目標的左邊緣點(diǎn);完成后將此點(diǎn)所對應的列地址數據存入目標緩存。在某些情況下,可能整行都檢測不到邊緣點(diǎn),這時(shí)將0存入目標緩存作為無(wú)邊緣點(diǎn)的標識。
提取中心線(xiàn)算法實(shí)現比較簡(jiǎn)單,只需對目標緩存的寫(xiě)允許信號加以控制,使RGB數據只能在每行的中心點(diǎn)處寫(xiě)入目標緩存即可。
3.2 三維重建和構型
如圖5所示,高速DSP將根據預處理信息得到的激光標志線(xiàn)、輪廓線(xiàn)和中心顏色線(xiàn)數據與源數字化圖像結合起來(lái)進(jìn)行三維重建。首先根據獲取的圖像標志點(diǎn)數據結合控制點(diǎn)三維坐標數據計算出系統定標數據;其次根據輪廓線(xiàn)計算物體外表面展開(kāi)圖,再依據定標數據結合展開(kāi)圖和機械參數對圖像中的坐標點(diǎn)進(jìn)行計算,給出數據集,輸出深度數據文件;最后對多次掃描的數據進(jìn)行融合,將離散點(diǎn)構型成立體模型(或立體彩色模型),將模型生成DXF、STL等數據文件傳入PC機,使用后端處理軟件進(jìn)行顯示[3]。
3.3 算法實(shí)現
圖像預處理算法設計使用Verilog HDL在Xilinx公司的ISE8.1集成編譯環(huán)境下成功實(shí)現;FPGA開(kāi)發(fā)流程不再贅述。
DSP三維重建算法已使用C語(yǔ)言在A(yíng)DI公司Visual DSP++環(huán)境下成功實(shí)現[4]。算法實(shí)現步驟如下:①用C語(yǔ)言編程實(shí)現算法。②使用Visual DSP++編譯器將源程序編譯成目標文件。③根據產(chǎn)生的目標文件,分析結果及源程序結構并優(yōu)化源代碼。④應用TigerSHARC 201評估板進(jìn)行運算時(shí)間評估。⑤重復上述步驟直至達到系統實(shí)時(shí)性要求,最后下載到目標板。
整個(gè)系統聯(lián)機運行穩定,滿(mǎn)足設計要求,實(shí)時(shí)性好。
實(shí)時(shí)三維圖像信息處理以其數據量大、速度要求高、處理過(guò)程復雜的特點(diǎn)使其難以使用集成電路實(shí)現。本文研究的以目前最新高性能處理器的FPGA+DSP為核心架構的三維圖像處理系統精心設計了算法的硬件實(shí)現,充分利用了兩種處理器的長(cháng)處。實(shí)驗表明,該系統有著(zhù)良好的性能,對實(shí)現基于網(wǎng)絡(luò )的實(shí)時(shí)三維掃描應用,如三維傳真、機械遠程加工、快速成型和虛擬現實(shí),有著(zhù)重要的意義。
評論