• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種新的基于FPGA的立體圖像差異性算法

    2020-06-16 02:43:26李貞妮李晶皎王澤坤
    關(guān)鍵詞:像素點(diǎn)圖像處理立體

    李貞妮, 王 驕, 李晶皎, 王澤坤

    (東北大學(xué) 信息科學(xué)與工程學(xué)院, 遼寧 沈陽(yáng) 110819)

    隨著科學(xué)技術(shù)和工業(yè)生產(chǎn)的快速發(fā)展,許多領(lǐng)域都需要對(duì)立體物體的形狀進(jìn)行快速準(zhǔn)確的測(cè)量.現(xiàn)代大工業(yè)生產(chǎn)中,為獲取產(chǎn)品的空間信息而進(jìn)行的三維自動(dòng)測(cè)量是人們普遍關(guān)注的技術(shù)[1-2].而立體圖像差異性算法是立體視覺的關(guān)鍵研究?jī)?nèi)容,因此,研究立體圖像差異性算法具有重大的理論和現(xiàn)實(shí)意義[3-4].

    本文研究的立體圖像差異性算法是基于激光散斑的結(jié)構(gòu)光方法[5],該方法的實(shí)現(xiàn)需要一個(gè)能發(fā)射激光散斑的光源和一個(gè)灰度攝像頭.每次算法的計(jì)算只需要拍攝一張場(chǎng)景圖像,然后通過比較場(chǎng)景圖像和參考圖像之間的差異性得到立體圖像.其計(jì)算量非常大,需要進(jìn)行大量的乘法和除法運(yùn)算,因此保證該算法處理的實(shí)時(shí)性是設(shè)計(jì)立體圖像差異性算法處理系統(tǒng)的關(guān)鍵問題.

    目前已有的算法在實(shí)現(xiàn)的過程中,為了保證系統(tǒng)的實(shí)時(shí)性,通常采用基于高端顯卡的設(shè)計(jì).這種設(shè)計(jì)架構(gòu)方式具有很高的實(shí)時(shí)性,能夠滿足系統(tǒng)處理速度的要求.但是其電路結(jié)構(gòu)極其復(fù)雜,功耗很高,系統(tǒng)可擴(kuò)展性不高,價(jià)格昂貴,設(shè)備開發(fā)和調(diào)試十分困難,后期的升級(jí)和維護(hù)也十分不易[6-7].

    針對(duì)現(xiàn)有技術(shù)的不足,本文提出了一種適合于FPGA硬件實(shí)現(xiàn)的立體圖像差異性算法,對(duì)立體圖像差異性算法進(jìn)行了改進(jìn),并能夠充分利用FPGA的高速性和并行性,具有實(shí)時(shí)性、開發(fā)周期短、成本低、功耗小、控制方便等優(yōu)點(diǎn).改進(jìn)后的立體圖像差異性算法的實(shí)現(xiàn)和處理基于FPGA硬件開發(fā)平臺(tái),充分發(fā)揮了硬件加速的優(yōu)勢(shì);利用FPGA中的Nios II軟核處理器對(duì)數(shù)據(jù)進(jìn)行管理,該過程在FPGA片內(nèi)總線上完成,解決了數(shù)據(jù)傳輸?shù)钠款i,充分發(fā)揮了硬件設(shè)計(jì)的高速性和Nios II軟核處理器控制的靈活性.

    1 立體圖像差異性算法描述

    1.1 立體圖像差異性算法基本描述

    立體圖像差異性算法的具體方法為:輸入為兩張圖像,一張為需要到投影方向上確定深度的參考圖像;另一張為需要測(cè)量的未知物體表面的場(chǎng)景圖像.算法的輸出為差異性圖像,指示了從場(chǎng)景圖像到參考圖像的每個(gè)像素的位置移動(dòng),具體如圖1所示.

    圖1 差異性圖像

    1.2 立體圖像差異性算法設(shè)計(jì)

    基于散斑匹配,設(shè)計(jì)立體圖像差異性算法步驟如下.

    第一步:假設(shè)參考圖像和場(chǎng)景圖像有著相同的大小,均為W×H.設(shè)有部分重疊的大小為m×H的來(lái)自場(chǎng)景圖像的子圖像和對(duì)應(yīng)的大小為(m+2d)×H來(lái)自參考圖像的子圖像,具體如圖2所示.

    第二步:從場(chǎng)景子圖像中選入大小為m×m部分重疊的塊,在對(duì)應(yīng)的參考子圖像中找到與其最接近的塊,如圖3所示.

    塊匹配[8]過程詳細(xì)描述如下.

    1) 初始化大小為m×H的三張圖像:分別為水平差異性圖、垂直差異性圖和相關(guān)性圖,并將里面所有的元素均設(shè)為0.

    圖2 子圖像分割示意圖

    圖3 塊匹配示意圖

    2) 陰影檢測(cè).如果場(chǎng)景塊的灰度平均值小于閾值TS,則認(rèn)為這是陰影塊并跳過塊匹配.

    3) 兩個(gè)圖像塊之間的歸一化互相關(guān)[9]的計(jì)算:圖像相關(guān)性NCC[10]計(jì)算公式如式(1)所示:

    (1)

    4) 在參考圖像中搜索像素塊:具體方法分為兩種,分別是預(yù)測(cè)方式搜索和窮盡方式搜索.

    窮盡方式搜索:對(duì)于場(chǎng)景子圖像中的每個(gè)像素塊,先搜索參考子圖像中相同位置的像素塊.然后,一個(gè)像素一個(gè)像素的移動(dòng)搜索窗口,具體方式如圖4所示(先搜索左側(cè)再搜索右側(cè),然后上移搜索窗口,繼續(xù)搜索.不需要搜索下方的像素塊,因?yàn)樵谙到y(tǒng)中,物體的表面在參考平面的前面).在整個(gè)參考子圖像搜索完成之前,記錄每個(gè)位置NCC的值,如果當(dāng)前NCC的值大于閾值TB,則跳出搜索并保存NCC的值.當(dāng)搜索完成,找出最大的NCC的值,并保存更新后的NCC值.

    預(yù)測(cè)方式搜索:窮盡搜索方式十分耗時(shí),為了加速算法執(zhí)行,可以采用預(yù)測(cè)方式搜索.原因是附近的像素塊因?yàn)楸砻婀鉂崟?huì)有很大的相似性.所以,對(duì)于每個(gè)場(chǎng)景子圖像的像素塊,可以先檢查上一個(gè)像素塊所指示位置的附近大小為2d×2d的區(qū)域,如圖5所示.如果上述區(qū)域內(nèi)最大的NCC值大于閾值TP,保存這個(gè)NCC值,否則回到窮盡方式搜索.

    5)對(duì)重疊像素點(diǎn)的差異性和相關(guān)性的更新:在計(jì)算得到當(dāng)前像素塊中所有像素的NCC值和相關(guān)差異性后,如果當(dāng)前的NCC值增加,則與上個(gè)塊重疊的像素點(diǎn)的NCC值和差異性值將被更新.

    第三步:當(dāng)?shù)玫剿袌?chǎng)景子圖像的差異性和

    圖5 預(yù)測(cè)方式搜索

    相關(guān)性圖像后,重疊像素點(diǎn)的差異性取決于它們中最大的NCC值.

    在本系統(tǒng)中,參數(shù)的取值如下:

    m=16,d=1.

    TB=0.85,TP=0.80,TS=30.

    相鄰兩個(gè)子圖像和像素塊之間重疊的像素為14,即每次移動(dòng)2個(gè)像素點(diǎn).

    由于NCC的計(jì)算會(huì)占用系統(tǒng)大部分時(shí)間,所以需要盡可能地優(yōu)化NCC的計(jì)算方法.下面對(duì)NCC的計(jì)算公式進(jìn)行部分優(yōu)化,使之計(jì)算量減少,并且更適合FPGA的實(shí)現(xiàn).

    對(duì)式(1)的求和符號(hào)展開后得到式(2):

    (2)

    將常數(shù)從求和符號(hào)提出可得式(3):

    (3)

    (4)

    此時(shí),耗時(shí)較長(zhǎng)的計(jì)算為:參考?jí)K像素灰度值的累加和∑Ir,場(chǎng)景塊像素灰度值累加和∑Is,參考?jí)K像素灰度值平方的累加和∑(Ir)2,場(chǎng)景塊像素灰度值平方的累加和∑(Is)2和參考?jí)K與場(chǎng)景塊對(duì)應(yīng)像素灰度值相乘的累加和∑IrIs.這些值都可以在FPGA內(nèi)進(jìn)行并行計(jì)算,大大加快了算法的計(jì)算速度.

    2 基于FPGA的硬件加速設(shè)計(jì)

    2.1 硬件系統(tǒng)總體結(jié)構(gòu)

    根據(jù)系統(tǒng)的功能分析,將系統(tǒng)進(jìn)行模塊化劃分,系統(tǒng)的結(jié)構(gòu)示意圖如圖6所示.該系統(tǒng)分為以下幾個(gè)模塊:SD卡控制器模塊、圖像差異性算法IP核模塊、LTM控制器模塊和Nios II嵌入式系統(tǒng)模塊.

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

    Nios II軟核處理器模塊主要完成總體的核心控制以及各個(gè)模塊的協(xié)調(diào)作用.首先,Nios II軟核處理器控制SD卡控制器從SD卡中讀取圖片數(shù)據(jù)并存入DDR2存儲(chǔ)器中,之后將圖片數(shù)據(jù)按一定順序?qū)懭雸D像差異性算法IP核中進(jìn)行差異性處理,等待處理完成后,再將處理結(jié)果從算法IP核中讀取出來(lái),最后將讀取的結(jié)果數(shù)據(jù)寫入LTM控制器中顯示,再開始下一張圖片的處理.具體結(jié)構(gòu)如圖7所示.

    2.2 圖像差異性算法模塊硬件設(shè)計(jì)

    圖像差異性算法IP核的設(shè)計(jì)與實(shí)現(xiàn)是整個(gè)FPGA系統(tǒng)的關(guān)鍵部分,算法IP核通過Avalon從接口連接到系統(tǒng)總線.算法IP核每次輸入為若干個(gè)參考子圖像和對(duì)應(yīng)的場(chǎng)景子圖像,每次輸出為對(duì)應(yīng)的差異性子圖像.

    圖像差異性算法IP核在子圖像級(jí)采用并行計(jì)算,整個(gè)算法IP核由多個(gè)子圖像處理核組成,每個(gè)子圖像處理核可以處理一對(duì)參考和場(chǎng)景子圖像,并輸出對(duì)應(yīng)的差異性圖像.由于FPGA內(nèi)部資源限制,本系統(tǒng)中算法IP核由18個(gè)子圖像處理核組成,每個(gè)子圖像處理核還配有一個(gè)對(duì)應(yīng)的FIFO,用于緩存結(jié)果數(shù)據(jù).圖像差異性算法IP核內(nèi)部結(jié)構(gòu)如圖7所示.

    圖7 圖像差異性算法IP核內(nèi)部結(jié)構(gòu)圖

    多個(gè)參考子圖像和場(chǎng)景子圖像數(shù)據(jù)進(jìn)入算法IP核后,由總體控制模塊將各個(gè)參考子圖像和場(chǎng)景子圖像按序?qū)?yīng)分配給子圖像處理核,使每個(gè)子圖像處理核得到一個(gè)參考子圖像和對(duì)應(yīng)的場(chǎng)景子圖像.然后,多個(gè)子圖像處理核并行處理,當(dāng)處理好每對(duì)子圖像后,將結(jié)果輸出到對(duì)應(yīng)的FIFO中暫存.之后,由總體控制模塊按序讀取各個(gè)FIFO,將數(shù)據(jù)輸出到最大數(shù)產(chǎn)生模塊.最后,最大數(shù)產(chǎn)生模塊生成每個(gè)像素塊中最大的結(jié)果,將結(jié)果暫存到結(jié)果存儲(chǔ)FIFO中,當(dāng)Nios II需要讀取數(shù)據(jù)時(shí),讀取結(jié)果存儲(chǔ)FIFO,將結(jié)果讀到Nios II中.

    1) 總體控制邏輯模塊:算法IP核的總體控制模塊的主要功能是控制數(shù)據(jù)的分配和輸出,由一個(gè)5個(gè)狀態(tài)的有限狀態(tài)機(jī)實(shí)現(xiàn).其狀態(tài)轉(zhuǎn)移圖如圖8所示.

    圖8 總體控制模塊狀態(tài)轉(zhuǎn)移圖

    2) 子圖像處理核:能處理一張場(chǎng)景子圖像和對(duì)應(yīng)的參考子圖像,并輸出各個(gè)像素點(diǎn)的NCC值和差異性值.由于像素塊每次移動(dòng)的像素為2,所以相鄰的4個(gè)像素點(diǎn)會(huì)同時(shí)處理,本模塊將這4個(gè)像素點(diǎn)作為處理單元,這樣可以增大處理帶寬,提高系統(tǒng)的并行性.數(shù)據(jù)的移動(dòng)和計(jì)算的最小單位是一個(gè)處理單元.子圖像處理核進(jìn)一步可以劃分為子圖像存儲(chǔ)器、控制邏輯和NCC計(jì)算模塊等三個(gè)部分.其中,NCC計(jì)算模塊接收來(lái)自控制模塊的參考像素塊數(shù)據(jù)和場(chǎng)景圖像塊數(shù)據(jù),并計(jì)算兩個(gè)像素塊的NCC值.NCC計(jì)算模塊每次的輸入為8個(gè)參考子圖像的像素點(diǎn)和8個(gè)場(chǎng)景子圖像的像素點(diǎn).根據(jù)算法需求,NCC計(jì)算模塊需要并行進(jìn)行以下操作:將參考數(shù)據(jù)累加、將場(chǎng)景數(shù)據(jù)累加、將參考數(shù)據(jù)求平方再累加、將場(chǎng)景數(shù)據(jù)求平方再累加、將參考數(shù)據(jù)乘場(chǎng)景數(shù)據(jù)再累加.在一次搜索圖像塊中,場(chǎng)景像素塊并不移動(dòng),而相鄰的參考像素塊中有很大一部分像素點(diǎn)是重疊的,考慮將每3個(gè)像素塊作為一個(gè)組合,每次比較一個(gè)組合,產(chǎn)生3個(gè)NCC值.

    3 系統(tǒng)測(cè)試及結(jié)果分析

    基于FPGA的立體圖像差異性算法采用System Verilog語(yǔ)言,在Quartus II平臺(tái)上實(shí)現(xiàn)并仿真測(cè)試.PC機(jī)平臺(tái)為Intel Core 2 T6500 CPU,主頻為 2.1GHz,雙核,內(nèi)存為8GB.系統(tǒng)性能測(cè)試使用的硬件平臺(tái)為Intel公司的Stratix III系列的FPGA開發(fā)板DE3-115,F(xiàn)PGA的芯片型號(hào)為EP3S150F1152C2N.測(cè)試文件為1張參考圖片和500張場(chǎng)景圖片,大小為600×450.系統(tǒng)實(shí)物圖如圖9所示.

    圖9 圖像差異性處理系統(tǒng)實(shí)物圖

    3.1 1張參考圖像和1張場(chǎng)景圖像的差異性比較

    對(duì)1張參考圖像和1張場(chǎng)景圖像的差異性進(jìn)行測(cè)試,測(cè)試選用的場(chǎng)景圖像和參考圖像如圖10所示.

    分別在PC機(jī)上和FPGA上運(yùn)行圖像差異性算法程序,得到的差異性圖像如圖11所示.

    通過單張場(chǎng)景圖像和參考圖像差異性算法在PC和FPGA上的測(cè)試,得出立體圖像差異性算法在PC和FPGA上運(yùn)行的結(jié)果基本相同,運(yùn)行所需的時(shí)間及其比較如表1所示.

    圖10 參考圖像(左)和場(chǎng)景圖像(右)

    圖11 圖像差異性算法運(yùn)行結(jié)果

    表1 圖像差異性算法運(yùn)行時(shí)間對(duì)比

    由表1可知,由于FPGA的并行性和高速性,立體圖像差異性算法在FPGA上運(yùn)行的時(shí)間遠(yuǎn)小于PC上軟件運(yùn)行的時(shí)間,其運(yùn)行速度大概是PC機(jī)的兩百多倍.

    3.2 1張參考圖像和500張場(chǎng)景圖像的差異性比較

    本測(cè)試采用1張參考圖像和500張場(chǎng)景圖像進(jìn)行差異性比較,將差異性算法比較的結(jié)果連續(xù)輸出形成視頻,測(cè)試系統(tǒng)的穩(wěn)定性和實(shí)時(shí)性.參考圖像如圖10中左圖所示,分別測(cè)試第100,200,300,400,500幀的原始圖像在PC機(jī)上和FPGA上的處理結(jié)果,這里只給出第400和第500幀圖像在FPGA上的處理結(jié)果如圖12所示.在FPGA上使用立體圖像差異性算法處理500張場(chǎng)景圖像需要的總時(shí)間為14.897 s,處理每張圖像所需的平均時(shí)間為0.029 s,每秒可處理33張以上的圖像,達(dá)到了實(shí)時(shí)處理和顯示的要求.

    圖12 500張場(chǎng)景圖像的運(yùn)行結(jié)果

    4 結(jié) 論

    本文提出了一種基于FPGA的立體圖像差異性算法,并通過設(shè)計(jì)硬件算法的IP核,充分利用了FPGA獨(dú)特的并行處理機(jī)制和強(qiáng)大的運(yùn)算能力,極大提高了系統(tǒng)的處理速度和性能.利用FPGA中的Nios II軟核處理器對(duì)數(shù)據(jù)進(jìn)行控制,該過程在FPGA片內(nèi)總線上完成,解決了數(shù)據(jù)傳輸?shù)钠款i,充分發(fā)揮了硬件設(shè)計(jì)的高速性和Nios II軟核處理器控制的靈活性.系統(tǒng)測(cè)試結(jié)果表明,立體圖像差異性算法在PC機(jī)和在FPGA上的運(yùn)行結(jié)果基本相同,但FPGA的處理速度是PC機(jī)上處理速度的兩百多倍.FPGA可以流暢處理500張場(chǎng)景圖像且FPGA每秒可處理33張以上的圖像,說(shuō)明該系統(tǒng)具有穩(wěn)定性和實(shí)時(shí)性.立體圖像差異性算法是計(jì)算機(jī)視覺和圖像理解領(lǐng)域的基礎(chǔ)研究問題,因此本文提出的基于FPGA的立體圖像差異性算法處理系統(tǒng)具有較好的應(yīng)用前景.

    猜你喜歡
    像素點(diǎn)圖像處理立體
    念個(gè)立體咒
    機(jī)器學(xué)習(xí)在圖像處理中的應(yīng)用
    電子制作(2018年18期)2018-11-14 01:48:20
    立體登陸
    基于canvas的前端數(shù)據(jù)加密
    模糊圖像處理,刑事偵查利器
    圖像處理技術(shù)的實(shí)戰(zhàn)應(yīng)用
    基于逐像素點(diǎn)深度卷積網(wǎng)絡(luò)分割模型的上皮和間質(zhì)組織分割
    炫酷立體卡
    基于Node-Cell結(jié)構(gòu)的HEVC幀內(nèi)編碼
    Photo Shop通道在圖像處理中的應(yīng)用
    河南科技(2014年1期)2014-02-27 14:04:06
    凉城县| 桂阳县| 黄冈市| 滨州市| 虎林市| 平乐县| 望都县| 息烽县| 沙河市| 敦化市| 弥勒县| 星座| 林西县| 仁布县| 栾城县| 辉南县| 关岭| 蕉岭县| 临潭县| 河西区| 油尖旺区| 漳浦县| 化德县| 紫阳县| 建宁县| 高密市| 牙克石市| 巫溪县| 涞源县| 诸城市| 宣恩县| 宁海县| 全南县| 肥城市| 平邑县| 西林县| 山东省| 黄大仙区| 维西| 石景山区| 阜阳市|