国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于DSP的雙目同步圖像拼接系統(tǒng)研究

2021-08-23 03:17李金科
數(shù)字制造科學(xué) 2021年2期
關(guān)鍵詞:雙目框圖芯片

祝 和,趙 燕,李金科

(1.武漢理工大學(xué) 機(jī)電工程學(xué)院,湖北 武漢 430070;2.中國科學(xué)院 深圳先進(jìn)技術(shù)研究院,廣東 深圳 440305)

隨著人工智能的發(fā)展,通過圖像處理實(shí)現(xiàn)目標(biāo)識別、信息提取等任務(wù)已廣泛應(yīng)用于軍事、生產(chǎn)生活等領(lǐng)域。而當(dāng)單目圖像傳感器由于視野等性能的限制難以滿足獲取足夠場景信息的需求時(shí),選取雙目相機(jī)進(jìn)行圖像拼接以獲取更大視野是理想方案之一。

目前的圖像拼接工作通常是由上位機(jī)完成,在嵌入式圖像拼接技術(shù)方面,文獻(xiàn)[1]通過FPGA(field programmable gate array)實(shí)現(xiàn)圖像采集與增強(qiáng),DSP(digital signal processing)實(shí)現(xiàn)圖像拼接,通過求解特征點(diǎn)最近鄰與次近鄰的比值確定最合適特征點(diǎn)配準(zhǔn);文獻(xiàn)[2]以多核高性能AM5728為硬件平臺,采用ORB+FLANN以及RANSAC(random sample consensus)算法計(jì)算重疊區(qū)域,通過最佳縫合線實(shí)現(xiàn)圖像拼接;文獻(xiàn)[3]采用FPGA負(fù)責(zé)完成視頻采集,DSP內(nèi)部運(yùn)行SIFT(scale invariant feature transform)算法實(shí)現(xiàn)圖像拼接等。

對于無視差以及較少視差圖像拼接而言,主流基于特征點(diǎn)配準(zhǔn)的圖像拼接算法有SIFT及其改進(jìn)SURF(speeded-up robust features)算法、ORB(oriented fast and rotated brief)算法。ORB算法繼承了FAST(features from accelerated segment test)搜索算法的快速以及BRIEF(binary robust independent elementary features)描述子占用內(nèi)存較少及快速匹配的特點(diǎn)[4],更適用于實(shí)時(shí)嵌入式系統(tǒng),但同時(shí)其特征子匹配質(zhì)量不高,易出現(xiàn)大量誤匹配點(diǎn)。

鑒于此,筆者通過合理的硬件設(shè)計(jì)無需FPGA直接實(shí)現(xiàn)了雙目相機(jī)的同步曝光與采集;在軟件上通過改進(jìn)ORB算法保證了ORB算法實(shí)時(shí)性的同時(shí)彌補(bǔ)了其大量誤匹配點(diǎn)的不足。

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

系統(tǒng)硬件結(jié)構(gòu)框圖如圖1所示,系統(tǒng)以DSP為中央處理器,采用兩個(gè)相同型號的CMOS(complementary metal oxide semiconduction)圖像傳感器同步獲取圖像,DSP通過SCCB(serial camera control bus)接口協(xié)議對CMOS圖像傳感器進(jìn)行參數(shù)配置,圖像傳感器以DVP(digital video port)傳輸方式發(fā)送圖像數(shù)據(jù),與DSP之間通過異步FIFO(frist input first output)實(shí)現(xiàn)圖像同步采集;DSP以EMIF(external memory interface)外部接口方式外接SRAM(static random access memory)內(nèi)存實(shí)現(xiàn)圖像臨時(shí)存儲(chǔ);通過在高速USB模塊實(shí)現(xiàn)與上位機(jī)之間的圖像傳輸。

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

1.1 CMOS圖像傳感器模塊

由于系統(tǒng)設(shè)計(jì)為可用于移動(dòng)智能機(jī)器人等領(lǐng)域,因此必須實(shí)現(xiàn)在運(yùn)動(dòng)狀態(tài)下雙目相機(jī)的同步信息采集,且生成圖像效果良好。綜合考慮選用全局快門型并具有外部觸發(fā)模式的MT9V034圖像傳感器,并搭配無畸變鏡頭以減少后續(xù)圖像處理工作。

MT9V034與DSP硬件連接框圖如圖2所示。DSP通過SCCB接口對MT9V034內(nèi)部寄存器進(jìn)行設(shè)置,通過同一引腳與兩個(gè)MT9V034圖像傳感器的EXPOSURE引腳相連實(shí)現(xiàn)同步曝光。MT9V034的DVP數(shù)據(jù)傳輸接口分別接異步FIFO存儲(chǔ)器的輸入口,幀傳輸起始信號FRAME_VALUE與行傳輸起始信號LINE_VALUE接DSP,當(dāng)MT9V034傳輸圖像時(shí)通過幀傳輸起始信號與行傳輸起始信號以引腳中斷方式通知DSP,此時(shí)DSP開啟異步FIFO存儲(chǔ)器寫使能,將圖像數(shù)據(jù)存入其中,需要讀入圖像數(shù)據(jù)時(shí)從兩個(gè)異步FIFO存儲(chǔ)器中同時(shí)讀取。

圖2 MT9V034與DSP連接圖

1.2 高速USB通信模塊

選用的USB接口芯片CY7C68013為Cypress公司的EZ-USB FX2系列中的一種,該芯片以加強(qiáng)型8051內(nèi)核為微處理器,內(nèi)嵌USB2.0通信協(xié)議,可通過Cypress公司提供的驅(qū)動(dòng)軟件進(jìn)行參數(shù)配置[5],有效減少開發(fā)人員與USB相關(guān)驅(qū)動(dòng)的工作及主控芯片的運(yùn)行任務(wù)。其最高傳輸速率為480 Mbit/s,十分適合圖像的傳輸[6]。

CYC7C68013可工作在GPIF、PORTS和Slave FIFO模式下,由于需要持續(xù)傳輸大量圖像數(shù)據(jù),因此選取異步Slave FIFO工作模式[5],該工作模式下其內(nèi)部相關(guān)結(jié)構(gòu)及與DSP連接方式如圖3所示。

圖3 Slave FIFO模式與DSP連接圖

1.3 SRAM存儲(chǔ)模塊

系統(tǒng)需同時(shí)采取兩幅VGA灰度圖像,大小約為5.5 M,常規(guī)DSP內(nèi)部存儲(chǔ)不足以存下兩幅圖像,因此需要增加額外存儲(chǔ)空間。選用SRAM其內(nèi)存大小為16 M,可通過EMIF接口作為DSP的E2片外存儲(chǔ),內(nèi)部結(jié)構(gòu)及與DSP連接框圖如圖4所示。

圖4 SRAM內(nèi)部結(jié)構(gòu)及與DSP連接框圖

1.4 DSP中央處理模塊

DSP采用TI公司的TMS320C600系列芯片,該系列芯片以高性能著稱,廣泛應(yīng)用于圖像處理方面。同時(shí)選取芯片應(yīng)滿足上述COMS圖像傳感器、高速USB接口以及大小為8 M的SRAM的EMIF的I/O接口要求,經(jīng)濟(jì)成本合適的情況下運(yùn)算速率能滿足實(shí)時(shí)性要求,綜合考慮選取型號為TMS320DM642芯片。TMS320DM642采用二級緩存架構(gòu),內(nèi)核為TMS320C64xTM,最高主頻為720 MHz,一個(gè)片內(nèi)最高可支持24位EMIF地址總線尋址,運(yùn)算速度最高達(dá)5 760 MIPS,足以滿足本系統(tǒng)需求。

1.5 電源模塊

本系統(tǒng)外部電源接口為工業(yè)常用DC 12 V,電源模塊框圖如圖5所示,外界12 V電壓經(jīng)LM2596系列芯片降壓為DC 5 V,TPS70302輸出1.4 V以及3.3 V為DSP(TMS320DM642工作于720 MHz時(shí)內(nèi)核供電電壓為1.4 V)、IS61LV51216、CY7C68013、MT9V034等提供電源。

圖5 電源模塊框圖

LM2596系列芯片為德州儀器公司3A電流輸出降壓開關(guān)型集成穩(wěn)壓芯片,本系統(tǒng)選用LM2596-50-E5。TPS70302是TI公司專為DSP應(yīng)用而設(shè)計(jì)的TIS703XX系列產(chǎn)品之一,具有雙路大電流輸出及加電定序功能。一路恒定輸出3.3 V,另一路輸出可調(diào),其第二路可調(diào)電壓輸出電路如圖6所示,R2為定值電阻30.1 kΩ,VREF為內(nèi)部參考電壓1.224 V,R1與輸出電壓VOUT關(guān)系如式1所示。

圖6 可調(diào)電源輸出模塊框圖

(1)

2 系統(tǒng)軟件設(shè)計(jì)

系統(tǒng)軟件工作流程如圖7所示,當(dāng)系統(tǒng)從異步FIFO中讀取完圖像后,控制雙目圖像傳感器生成第二幅圖像并寫入異步FIFO中,等待下一次圖像讀取。將圖像數(shù)據(jù)讀入SRAM后進(jìn)行圖像拼接流程,圖像拼接傳輸完成后從異步FIFO中讀取兩圖像傳感器的下一幀圖像。

圖7 軟件工作流程圖

2.1 ORB特征子檢測改進(jìn)

ORB原算法中的特征子搜索方向?yàn)橐韵袼刈鴺?biāo)系原點(diǎn)為起點(diǎn),分別沿著X軸和Y軸方向搜索。但對于本系統(tǒng)而言,雙目相機(jī)相對位置固定,重疊區(qū)域分別為左圖像右側(cè)以及右圖像左側(cè),因此對左相機(jī)圖像右側(cè)區(qū)域以及右相機(jī)左側(cè)區(qū)域的特征點(diǎn)檢測無意義,且檢測出的多余特征子會(huì)對后續(xù)匹配造成干擾。

本系統(tǒng)中特征子檢測策略如下:以圖像坐標(biāo)系中y軸為分界線,將左右兩幅圖像分為左右兩部分。設(shè)定兩幅圖像中檢測到的最少特征子為N,分別在左圖、右圖的右半部與左半部進(jìn)行特征子檢索。當(dāng)半圖內(nèi)檢索到的特征子數(shù)量大于等于N時(shí),停止特征子檢索,否則繼續(xù)檢索,直到檢索到的特征子數(shù)量為N或者全圖全部檢索完畢。

2.2 ORB特征子描述改進(jìn)

對于特征子描述,ORB采用BRIEF描述子,并通過Intensity Centroid算法計(jì)算選中區(qū)域質(zhì)心來確定描述子方向使其具有旋轉(zhuǎn)不變性。為提高其計(jì)算速度,根據(jù)選取特征子分布區(qū)域自適應(yīng)構(gòu)建積分圖,通過積分圖提高質(zhì)心計(jì)算速度。雙目相機(jī)同一時(shí)刻采集到的待拼接的左右兩幅圖中選中計(jì)算積分圖區(qū)域如圖8所示。深色區(qū)域?yàn)檫x中積分圖區(qū)域,設(shè)所選取特征點(diǎn)構(gòu)成集合C,描述子選中區(qū)域?yàn)镹×N(N為奇數(shù)),特征點(diǎn)P坐標(biāo)為(Px,Py),其中P∈C,則計(jì)算公式為:

圖8 積分圖選中區(qū)域示意圖

(2)

2.3 基于極線約束的特征子匹配

(1)特征點(diǎn)的極線約束。對于特征子匹配,傳統(tǒng)ORB算法采用BM算法進(jìn)行粗匹配后再采用RANSAC算法進(jìn)行精確匹配,匹配效率與質(zhì)量不高,因此采用通過構(gòu)建極線約束的方法對匹配點(diǎn)進(jìn)行匹配。

為增加雙目相機(jī)視野同時(shí)提高本系統(tǒng)適用性,構(gòu)建雙目相機(jī)模型如圖9所示。OL、OR分別為兩相機(jī)焦點(diǎn),其連線稱為基線,基線與兩像平面交點(diǎn)分別為m、n。點(diǎn)P為三維空間中一點(diǎn),與OL、OR形成平面稱為極平面,在兩相平面上投影點(diǎn)分別為PL、PR,線段mPL與nPR分別為相對于右相平面與左相平面的極線。若已知PL,則PR必定在左相平面對應(yīng)的極線上,稱為極線約束。

圖9 極線約束模型圖

當(dāng)兩相平面平行且與兩焦點(diǎn)連線平行時(shí),m、n兩極點(diǎn)位于無窮遠(yuǎn)處,此時(shí)左右極線重合,即PL與PR在兩幅圖像中的y坐標(biāo)相同,其模型如圖10所示。

圖10 雙目平行極線約束示意圖

若經(jīng)過標(biāo)定求得兩相平面之間的坐標(biāo)轉(zhuǎn)換矩陣使得兩像平面轉(zhuǎn)換為雙目平行模型,則正確匹配的特征點(diǎn)在求得的坐標(biāo)轉(zhuǎn)換矩陣進(jìn)行坐標(biāo)轉(zhuǎn)換后應(yīng)當(dāng)具有相同的縱坐標(biāo)。

(2)轉(zhuǎn)換矩陣求解。雙目相機(jī)固定后將一張棋盤表格放置于兩相機(jī)共同成像區(qū)域內(nèi),通過張氏標(biāo)定法[7]可求得棋盤從世界坐標(biāo)系到兩相機(jī)坐標(biāo)系下的旋轉(zhuǎn)與平移矩陣。設(shè)世界坐標(biāo)系下一點(diǎn)P的坐標(biāo)為Pw,在兩相機(jī)坐標(biāo)系下的坐標(biāo)分別為PL與PR,則有:

(3)

其中,R、T分別為張氏標(biāo)定法求解出的旋轉(zhuǎn)和平移矩陣。根據(jù)式(3)可求得左右相機(jī)坐標(biāo)系下的坐標(biāo)轉(zhuǎn)換關(guān)系如式(4):

(4)

求得旋轉(zhuǎn)和平移矩陣后即可通過Bouguet算法[8]求取兩相平面的變換矩陣。

(3)特征點(diǎn)匹配。當(dāng)通過上位機(jī)進(jìn)行標(biāo)定求解出兩相平面之間的變換矩陣后,將特征點(diǎn)坐標(biāo)進(jìn)行矩陣變換,變換后的匹配策略如圖11所示。集合Tn為特征點(diǎn)集合,Cn為特征點(diǎn)按y坐標(biāo)大小從小到大排序后的集合。

圖11 特征子匹配示意圖

設(shè)定集合Tn中的一個(gè)特征點(diǎn)標(biāo)號為TN,其y坐標(biāo)為Y,則將其與集合Cn中縱坐標(biāo)為[Y-1,Y+1]范圍內(nèi)的所有特征點(diǎn)進(jìn)行匹配。設(shè)定漢明距閾值V,當(dāng)選中范圍內(nèi)所有匹配點(diǎn)漢明距均大于閾值時(shí),剔除該匹配點(diǎn),否則選取縱坐標(biāo)在[Y-1,Y+1]范圍內(nèi)漢明距最小的特征點(diǎn)為準(zhǔn)匹配點(diǎn)。當(dāng)集合Tn內(nèi)所有特征點(diǎn)匹配完成后采用RANSAC算法的改進(jìn)算法PROSAC(progressive sampling consensus)算法[9]進(jìn)行特征點(diǎn)精匹配。

2.4 圖像融合

通過圖像配準(zhǔn)計(jì)算出圖像變換單應(yīng)性矩陣后,利用透視變換的單應(yīng)性矩陣將兩幅圖像像素轉(zhuǎn)換為同一坐標(biāo)系下即完成了圖像的初步拼接。由于計(jì)算誤差等原因?qū)е聢D像重疊部分出現(xiàn)重影、拼接縫等現(xiàn)象,可通過圖像融合對圖像做進(jìn)一步處理以提高圖像拼接質(zhì)量。

對于重疊區(qū)域重影問題,采用漸入漸出的加權(quán)圖像融合算法[10],設(shè)圖像中坐標(biāo)(x,y)的像素值為f(x,y),f1為待拼接左圖像素集合,f2為待拼接右圖像素集合,其計(jì)算公式為:

f(x,y)=

(5)

其中W1、W2表示同一坐標(biāo)系下雙目相機(jī)同一時(shí)刻采集到待拼接的左右兩幅圖像中像素點(diǎn)所占權(quán)重,其計(jì)算公式為:

W1+W2=1

(6)

式中:WR為待拼接左圖的右邊界上與像素i相同縱坐標(biāo)的像素點(diǎn);WL為待拼接右圖的左邊界與像素i相同縱坐標(biāo)像素點(diǎn);Wi為當(dāng)前待計(jì)算融合后像素值的像素點(diǎn)。

3 測試

完成圖像拼接系統(tǒng)軟硬件后,采用C++在上位機(jī)VS2015平臺上編程實(shí)現(xiàn)系統(tǒng)功能測試。

圖12為上位機(jī)OpenCV自帶原ORB結(jié)合最近鄰FLANN特征子匹配效果圖,拼接平均用時(shí)0.511 s,圖13為筆者改進(jìn)效果圖,平均用時(shí)0.134 s,最終在DSP上實(shí)現(xiàn)該算法通過上位機(jī)顯示如圖14所示,其上傳最大速度為4 fps,具有一定實(shí)用性。

圖12 上位機(jī)Opencv自帶ORB特征點(diǎn)匹配效果圖

圖13 上位機(jī)改進(jìn)ORB特征點(diǎn)匹配效果圖

圖14 DSP系統(tǒng)上傳拼接效果圖

4 結(jié)論

隨著人工智能、深度學(xué)習(xí)等領(lǐng)域的發(fā)展,圖像傳感器越來越多地應(yīng)用于智能機(jī)器人、智能駕駛目標(biāo)識別等領(lǐng)域。針對這些領(lǐng)域中單目相機(jī)由于視野限制而難以滿足使用需求問題,筆者通過合理硬件設(shè)計(jì)以及軟件算法改進(jìn),設(shè)計(jì)出具有較高實(shí)時(shí)性的雙目相機(jī)圖像同步采集的嵌入式系統(tǒng)。實(shí)驗(yàn)表明,設(shè)計(jì)的系統(tǒng)能同步獲取更大視野的同時(shí)具有最大4fps傳輸速度,具有一定實(shí)用性。

猜你喜歡
雙目框圖芯片
芯片會(huì)議
霜 降 蘇美玲
基于雙目視覺的機(jī)器人定位與導(dǎo)航算法
人體微芯片
關(guān)于射頻前端芯片研發(fā)與管理模式的思考
捷豹I-PACE純電動(dòng)汽車高壓蓄電池充電系統(tǒng)(三)
基于雙目測距的卡爾曼濾波船舶軌跡跟蹤
電路圖2017年凱迪拉克XT5
算法框圖的補(bǔ)全
基于雙目視覺圖像的長度測量方法
南乐县| 易门县| 辉南县| 东方市| 十堰市| 新郑市| 博罗县| 苏尼特右旗| 增城市| 固阳县| 榆中县| 安徽省| 兴业县| 南宫市| 白城市| 潜山县| 内乡县| 乌鲁木齐县| 万安县| 长泰县| 陈巴尔虎旗| 赤壁市| 林州市| 清流县| 常熟市| 达拉特旗| 天津市| 墨玉县| 彩票| 广元市| 象州县| 繁峙县| 麻阳| 桑植县| 特克斯县| 平果县| 台湾省| 沁水县| 宁武县| 宿迁市| 资溪县|