祝 和,趙 燕,李金科
(1.武漢理工大學(xué) 機電工程學(xué)院,湖北 武漢 430070;2.中國科學(xué)院 深圳先進技術(shù)研究院,廣東 深圳 440305)
隨著人工智能的發(fā)展,通過圖像處理實現(xiàn)目標識別、信息提取等任務(wù)已廣泛應(yīng)用于軍事、生產(chǎn)生活等領(lǐng)域。而當(dāng)單目圖像傳感器由于視野等性能的限制難以滿足獲取足夠場景信息的需求時,選取雙目相機進行圖像拼接以獲取更大視野是理想方案之一。
目前的圖像拼接工作通常是由上位機完成,在嵌入式圖像拼接技術(shù)方面,文獻[1]通過FPGA(field programmable gate array)實現(xiàn)圖像采集與增強,DSP(digital signal processing)實現(xiàn)圖像拼接,通過求解特征點最近鄰與次近鄰的比值確定最合適特征點配準;文獻[2]以多核高性能AM5728為硬件平臺,采用ORB+FLANN以及RANSAC(random sample consensus)算法計算重疊區(qū)域,通過最佳縫合線實現(xiàn)圖像拼接;文獻[3]采用FPGA負責(zé)完成視頻采集,DSP內(nèi)部運行SIFT(scale invariant feature transform)算法實現(xiàn)圖像拼接等。
對于無視差以及較少視差圖像拼接而言,主流基于特征點配準的圖像拼接算法有SIFT及其改進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)存較少及快速匹配的特點[4],更適用于實時嵌入式系統(tǒng),但同時其特征子匹配質(zhì)量不高,易出現(xiàn)大量誤匹配點。
鑒于此,筆者通過合理的硬件設(shè)計無需FPGA直接實現(xiàn)了雙目相機的同步曝光與采集;在軟件上通過改進ORB算法保證了ORB算法實時性的同時彌補了其大量誤匹配點的不足。
系統(tǒng)硬件結(jié)構(gòu)框圖如圖1所示,系統(tǒng)以DSP為中央處理器,采用兩個相同型號的CMOS(complementary metal oxide semiconduction)圖像傳感器同步獲取圖像,DSP通過SCCB(serial camera control bus)接口協(xié)議對CMOS圖像傳感器進行參數(shù)配置,圖像傳感器以DVP(digital video port)傳輸方式發(fā)送圖像數(shù)據(jù),與DSP之間通過異步FIFO(frist input first output)實現(xiàn)圖像同步采集;DSP以EMIF(external memory interface)外部接口方式外接SRAM(static random access memory)內(nèi)存實現(xiàn)圖像臨時存儲;通過在高速USB模塊實現(xiàn)與上位機之間的圖像傳輸。

圖1 系統(tǒng)硬件框圖
由于系統(tǒng)設(shè)計為可用于移動智能機器人等領(lǐng)域,因此必須實現(xiàn)在運動狀態(tài)下雙目相機的同步信息采集,且生成圖像效果良好。綜合考慮選用全局快門型并具有外部觸發(fā)模式的MT9V034圖像傳感器,并搭配無畸變鏡頭以減少后續(xù)圖像處理工作。
MT9V034與DSP硬件連接框圖如圖2所示。DSP通過SCCB接口對MT9V034內(nèi)部寄存器進行設(shè)置,通過同一引腳與兩個MT9V034圖像傳感器的EXPOSURE引腳相連實現(xiàn)同步曝光。MT9V034的DVP數(shù)據(jù)傳輸接口分別接異步FIFO存儲器的輸入口,幀傳輸起始信號FRAME_VALUE與行傳輸起始信號LINE_VALUE接DSP,當(dāng)MT9V034傳輸圖像時通過幀傳輸起始信號與行傳輸起始信號以引腳中斷方式通知DSP,此時DSP開啟異步FIFO存儲器寫使能,將圖像數(shù)據(jù)存入其中,需要讀入圖像數(shù)據(jù)時從兩個異步FIFO存儲器中同時讀取。

圖2 MT9V034與DSP連接圖
選用的USB接口芯片CY7C68013為Cypress公司的EZ-USB FX2系列中的一種,該芯片以加強型8051內(nèi)核為微處理器,內(nèi)嵌USB2.0通信協(xié)議,可通過Cypress公司提供的驅(qū)動軟件進行參數(shù)配置[5],有效減少開發(fā)人員與USB相關(guān)驅(qū)動的工作及主控芯片的運行任務(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連接圖
系統(tǒng)需同時采取兩幅VGA灰度圖像,大小約為5.5 M,常規(guī)DSP內(nèi)部存儲不足以存下兩幅圖像,因此需要增加額外存儲空間。選用SRAM其內(nèi)存大小為16 M,可通過EMIF接口作為DSP的E2片外存儲,內(nèi)部結(jié)構(gòu)及與DSP連接框圖如圖4所示。

圖4 SRAM內(nèi)部結(jié)構(gòu)及與DSP連接框圖
DSP采用TI公司的TMS320C600系列芯片,該系列芯片以高性能著稱,廣泛應(yīng)用于圖像處理方面。同時選取芯片應(yīng)滿足上述COMS圖像傳感器、高速USB接口以及大小為8 M的SRAM的EMIF的I/O接口要求,經(jīng)濟成本合適的情況下運算速率能滿足實時性要求,綜合考慮選取型號為TMS320DM642芯片。TMS320DM642采用二級緩存架構(gòu),內(nèi)核為TMS320C64xTM,最高主頻為720 MHz,一個片內(nèi)最高可支持24位EMIF地址總線尋址,運算速度最高達5 760 MIPS,足以滿足本系統(tǒng)需求。
本系統(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時內(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è)計的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)
系統(tǒng)軟件工作流程如圖7所示,當(dāng)系統(tǒng)從異步FIFO中讀取完圖像后,控制雙目圖像傳感器生成第二幅圖像并寫入異步FIFO中,等待下一次圖像讀取。將圖像數(shù)據(jù)讀入SRAM后進行圖像拼接流程,圖像拼接傳輸完成后從異步FIFO中讀取兩圖像傳感器的下一幀圖像。

圖7 軟件工作流程圖
ORB原算法中的特征子搜索方向為以像素坐標系原點為起點,分別沿著X軸和Y軸方向搜索。但對于本系統(tǒng)而言,雙目相機相對位置固定,重疊區(qū)域分別為左圖像右側(cè)以及右圖像左側(cè),因此對左相機圖像右側(cè)區(qū)域以及右相機左側(cè)區(qū)域的特征點檢測無意義,且檢測出的多余特征子會對后續(xù)匹配造成干擾。
本系統(tǒng)中特征子檢測策略如下:以圖像坐標系中y軸為分界線,將左右兩幅圖像分為左右兩部分。設(shè)定兩幅圖像中檢測到的最少特征子為N,分別在左圖、右圖的右半部與左半部進行特征子檢索。當(dāng)半圖內(nèi)檢索到的特征子數(shù)量大于等于N時,停止特征子檢索,否則繼續(xù)檢索,直到檢索到的特征子數(shù)量為N或者全圖全部檢索完畢。
對于特征子描述,ORB采用BRIEF描述子,并通過Intensity Centroid算法計算選中區(qū)域質(zhì)心來確定描述子方向使其具有旋轉(zhuǎn)不變性。為提高其計算速度,根據(jù)選取特征子分布區(qū)域自適應(yīng)構(gòu)建積分圖,通過積分圖提高質(zhì)心計算速度。雙目相機同一時刻采集到的待拼接的左右兩幅圖中選中計算積分圖區(qū)域如圖8所示。深色區(qū)域為選中積分圖區(qū)域,設(shè)所選取特征點構(gòu)成集合C,描述子選中區(qū)域為N×N(N為奇數(shù)),特征點P坐標為(Px,Py),其中P∈C,則計算公式為:

圖8 積分圖選中區(qū)域示意圖
(2)
(1)特征點的極線約束。對于特征子匹配,傳統(tǒng)ORB算法采用BM算法進行粗匹配后再采用RANSAC算法進行精確匹配,匹配效率與質(zhì)量不高,因此采用通過構(gòu)建極線約束的方法對匹配點進行匹配。
為增加雙目相機視野同時提高本系統(tǒng)適用性,構(gòu)建雙目相機模型如圖9所示。OL、OR分別為兩相機焦點,其連線稱為基線,基線與兩像平面交點分別為m、n。點P為三維空間中一點,與OL、OR形成平面稱為極平面,在兩相平面上投影點分別為PL、PR,線段mPL與nPR分別為相對于右相平面與左相平面的極線。若已知PL,則PR必定在左相平面對應(yīng)的極線上,稱為極線約束。

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

圖10 雙目平行極線約束示意圖
若經(jīng)過標定求得兩相平面之間的坐標轉(zhuǎn)換矩陣使得兩像平面轉(zhuǎn)換為雙目平行模型,則正確匹配的特征點在求得的坐標轉(zhuǎn)換矩陣進行坐標轉(zhuǎn)換后應(yīng)當(dāng)具有相同的縱坐標。
(2)轉(zhuǎn)換矩陣求解。雙目相機固定后將一張棋盤表格放置于兩相機共同成像區(qū)域內(nèi),通過張氏標定法[7]可求得棋盤從世界坐標系到兩相機坐標系下的旋轉(zhuǎn)與平移矩陣。設(shè)世界坐標系下一點P的坐標為Pw,在兩相機坐標系下的坐標分別為PL與PR,則有:

(3)
其中,R、T分別為張氏標定法求解出的旋轉(zhuǎn)和平移矩陣。根據(jù)式(3)可求得左右相機坐標系下的坐標轉(zhuǎn)換關(guān)系如式(4):
(4)
求得旋轉(zhuǎn)和平移矩陣后即可通過Bouguet算法[8]求取兩相平面的變換矩陣。
(3)特征點匹配。當(dāng)通過上位機進行標定求解出兩相平面之間的變換矩陣后,將特征點坐標進行矩陣變換,變換后的匹配策略如圖11所示。集合Tn為特征點集合,Cn為特征點按y坐標大小從小到大排序后的集合。

圖11 特征子匹配示意圖
設(shè)定集合Tn中的一個特征點標號為TN,其y坐標為Y,則將其與集合Cn中縱坐標為[Y-1,Y+1]范圍內(nèi)的所有特征點進行匹配。設(shè)定漢明距閾值V,當(dāng)選中范圍內(nèi)所有匹配點漢明距均大于閾值時,剔除該匹配點,否則選取縱坐標在[Y-1,Y+1]范圍內(nèi)漢明距最小的特征點為準匹配點。當(dāng)集合Tn內(nèi)所有特征點匹配完成后采用RANSAC算法的改進算法PROSAC(progressive sampling consensus)算法[9]進行特征點精匹配。
通過圖像配準計算出圖像變換單應(yīng)性矩陣后,利用透視變換的單應(yīng)性矩陣將兩幅圖像像素轉(zhuǎn)換為同一坐標系下即完成了圖像的初步拼接。由于計算誤差等原因?qū)е聢D像重疊部分出現(xiàn)重影、拼接縫等現(xiàn)象,可通過圖像融合對圖像做進一步處理以提高圖像拼接質(zhì)量。
對于重疊區(qū)域重影問題,采用漸入漸出的加權(quán)圖像融合算法[10],設(shè)圖像中坐標(x,y)的像素值為f(x,y),f1為待拼接左圖像素集合,f2為待拼接右圖像素集合,其計算公式為:
f(x,y)=
(5)
其中W1、W2表示同一坐標系下雙目相機同一時刻采集到待拼接的左右兩幅圖像中像素點所占權(quán)重,其計算公式為:
W1+W2=1
(6)
式中:WR為待拼接左圖的右邊界上與像素i相同縱坐標的像素點;WL為待拼接右圖的左邊界與像素i相同縱坐標像素點;Wi為當(dāng)前待計算融合后像素值的像素點。
完成圖像拼接系統(tǒng)軟硬件后,采用C++在上位機VS2015平臺上編程實現(xiàn)系統(tǒng)功能測試。
圖12為上位機OpenCV自帶原ORB結(jié)合最近鄰FLANN特征子匹配效果圖,拼接平均用時0.511 s,圖13為筆者改進效果圖,平均用時0.134 s,最終在DSP上實現(xiàn)該算法通過上位機顯示如圖14所示,其上傳最大速度為4 fps,具有一定實用性。

圖12 上位機Opencv自帶ORB特征點匹配效果圖

圖13 上位機改進ORB特征點匹配效果圖

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