曹榮剛,馬 嘯,胡雪儀,周 宇,李發(fā)棟
(1.北京理工大學(xué)機電動態(tài)控制重點實驗室,北京 100081;2.北京理工大學(xué)唐山研究院,河北 唐山 063611)
電磁軌道發(fā)射器的彈丸初速度可達到2 km/s以上,彈丸在內(nèi)膛運動過程中滑動接觸面的壓力可達到MPa量級,且接觸面的高溫會使軌道材料的剪切強度降低[1]。數(shù)次發(fā)射后,軌道內(nèi)表面將產(chǎn)生多種類型的損傷,包括邊緣槽蝕、中心磨損、刨削和轉(zhuǎn)捩燒蝕等[2]。內(nèi)膛損傷將直接影響電樞和軌道的電接觸特性,導(dǎo)致精度降低、初速度降低和軌道壽命減少,因此,研究不同類型損傷的位置、形態(tài)和規(guī)??蔀殡姶跑壍腊l(fā)射器優(yōu)化提供依據(jù)。電磁軌道發(fā)射器是一種狹長腔體結(jié)構(gòu),長徑比大,內(nèi)表面損傷探測難度高,設(shè)計軌道內(nèi)膛損傷探測系統(tǒng)具有很高的工程價值。
利用微型相機陣列采集電磁軌道發(fā)射器內(nèi)表面紋理圖像,使用FPGA系統(tǒng)控制20臺微型相機采集內(nèi)膛四個表面的局部圖片,并通過圖像拼接方法將局部圖像拼接為全景圖像,實現(xiàn)內(nèi)膛損傷探測。與普通工業(yè)相機不同,微型相機成像平面平行于軌道表面采集圖像,優(yōu)點是體積小、焦距短,但是存在單個微型相機圖像視野范圍窄的問題,很難對損傷進行完整采集,因此使用20臺微型相機組成的陣列采集局部圖像進行圖像拼接。全景圖像可用于判斷損傷的類別、位置和規(guī)模。
圖像拼接技術(shù)是將有重疊部分的圖像拼成一幅無縫的全景圖或高分辨率圖像的技術(shù)。圖像拼接過程主要包含圖像采集、預(yù)處理、圖像配準、圖像融合4個步驟[3]。其中,圖像配準是計算出兩幅圖像間的空間變換模型并進行空間變換,使兩幅圖像的重疊部分在空間上對準,是圖像拼接的關(guān)鍵[4]。微距圖片視野存在局限,且圖像中存在大量微觀相似特征,配準難度大。
目前圖像拼接技術(shù)根據(jù)配準原理不同主要有兩個分支:基于像素到像素的拼接和基于特征的拼接算法[5]?;谙袼氐较袼氐钠唇邮抢脜⒖紙D像中重疊部分信息,從空域或者頻域角度在待拼接的圖像中尋找最相似的部分,完成圖像之間的匹配?;谔卣鞯钠唇臃椒ㄊ峭ㄟ^檢測圖像中的特定特征進行配準的,在解決圖像尺度不變形和透視不變性上具有優(yōu)勢[6]。目前,基于SIFT(scale invariant feature transform)特征提取的方法應(yīng)用最為廣泛。使用SIFT算法提取特征會造成大量的誤匹配且很難剔除[7]。文獻[8—9]對火炮身管內(nèi)膛圖像采用基于頻域的方法, 通過求得炮管內(nèi)膛圖像在頻域上的相位相關(guān)特點來找到特征位置,但該方法仍然需要強化微小的特征以保證配準成功率。
本文針對上述相似紋理圖像配準過程中誤匹配率高的問題,提出一種基于多相機融合的電磁軌道發(fā)射器內(nèi)表面圖像采集方法。該方法利用微型相機陣列獲取高清晰度紋理圖像,通過廣角相機標定微型相機之間的單應(yīng)矩陣以獲取微型相機陣列圖像之間的位置關(guān)系,實現(xiàn)圖像的拼接。
電磁軌道發(fā)射器內(nèi)膛探傷系統(tǒng)分為兩個子系統(tǒng):下位機圖像采集子系統(tǒng)和上位機圖像處理子系統(tǒng)。原理框圖如圖1所示。

圖1 硬件系統(tǒng)框圖Fig.1 System principle diagram
下位機搭載在運動機構(gòu)上,沿電磁軌道發(fā)射器內(nèi)腔軸線運動。下位機包括超廣角相機、微型相機陣列以及運動裝置,由FPGA系統(tǒng)和ARM系統(tǒng)控制。其中,20臺微型相機組成微型相機陣列提供局部高清圖像,超廣角相機能采集大范圍內(nèi)表面圖像。電磁軌道發(fā)射器內(nèi)膛探傷系統(tǒng)如圖2所示。

圖2 下位機圖像采集子系統(tǒng)Fig.2 Measuring device
上位機在電磁軌道發(fā)射器外,通過Wi-Fi與下位機通信。在接收到圖像數(shù)據(jù)后可進行圖像預(yù)處理和多相機圖像融合拼接算法,得到內(nèi)膛高清全景圖像。
電磁軌道發(fā)射器損傷探測系統(tǒng)的圖像采集工作流程如下:
1) 系統(tǒng)初始化,使用Putty軟件連接下位機,根據(jù)待測電磁軌道發(fā)射器的內(nèi)膛口徑設(shè)置下位機的步長、相機分辨率等參數(shù);
2) 將下位機放在發(fā)射器一端,并使其對準發(fā)射器軸線,上位機發(fā)送步進電機驅(qū)動指令,下位機移動到初始待測位置;
3) 上位機發(fā)送“開始”指令,下位機ARM控制器運行圖像采集程序,調(diào)用超廣角相機拍攝一張圖片并編號,微型相機陣列拍攝一組圖像(20幅),通過FPGA程序編號并存儲;
4) 步進電機行進一定距離;
5) 重復(fù)執(zhí)行步驟3)、4)一直到全部軌道拍攝完成;
6) 導(dǎo)出圖像數(shù)據(jù)到上位機進行拼接。
經(jīng)實際測試,系統(tǒng)中的每一臺微型相機均可采集內(nèi)膛局部圖像,在100 mm典型口徑軌道內(nèi)可實現(xiàn)單像素對應(yīng)實際距離0.08 mm,可以為圖像融合拼接提供圖像數(shù)據(jù)。
上位機實現(xiàn)將微型相機拍攝的圖片拼接為全景圖像的任務(wù)。圖像拼接是將含有重疊部分的多幅圖像,通過圖像預(yù)處理、圖像配準和圖像融合步驟,拼接成一幅包含各圖像信息的高分辨率、寬視角圖像。預(yù)處理過程主要是調(diào)整圖像灰度差異和去噪,以便更好地進行圖像配準。
圖像配準和圖像融合是關(guān)鍵技術(shù),其中,配準是指將不同微型相機拍攝的圖片通過空間變換轉(zhuǎn)換到同一平面上,通過算法將相鄰圖片重疊部分進行匹配。選擇一個參考坐標系,例如其中一臺微型相機的坐標系,其他微型相機的坐標系可以通過一個單應(yīng)矩陣將轉(zhuǎn)換為參考坐標系,以實現(xiàn)圖像的配準。圖像融合指的是將配準后的多張圖片均放在參考坐標系平面上,并針對兩張圖像之間的空像素和重復(fù)像素進行處理,消除縫隙。
微型相機陣列和超廣角相機獲取到的圖像是一系列有序局部圖像。直接利用微型相機的局部圖像進行標定和圖像拼接是困難的,主要原因是微型相機視野窄,導(dǎo)致相鄰相機重合部分小,手動和自動特征提取困難。依據(jù)像素尺寸與實際物體尺寸的對應(yīng)關(guān)系,在保證單像素對應(yīng)的實際尺寸小于0.1 mm的情況下,最大視野僅為24 mm。其中相鄰相機的重合部分重合視野約為4 mm。在該尺度下,結(jié)合單臺微型相機很低的分辨率,導(dǎo)致很難通過常規(guī)的雙目標定方法進行精確的標定。
本文提出一種新的圖像拼接融合方法,使用一個超廣角相機輔助相機標定,同時還可以提供寬視野的內(nèi)膛圖像為后續(xù)研究提供冗余數(shù)據(jù)。該方法的創(chuàng)新點是通過增加一臺超廣角相機實現(xiàn)微型相機陣列的標定,解決傳統(tǒng)特征提取配準方法在高相似度和窄重合視野條件下,無法有效進行拼接的問題。
考慮一臺微型相機和廣角相機的相對位置關(guān)系,如圖3所示。上下黑色線段表示待測表面,電磁軌道發(fā)射器內(nèi)膛表面存在因損傷導(dǎo)致的局部凹凸不平問題,但是在簡化模型中可視為平面。對超廣角相機和微型相機分別建立針孔相機模型。其中,C1表示超廣角相機的光心,其像平面為圖像平面1;C2表示微型相機的光心,其像平面為圖像平面2。待測表面上,兩個相機共同視場范圍內(nèi)的取任意一點,用齊次坐標表示為X=(X,Y,Z,1)T,X投影于兩個圖像平面,坐標分別為x=(x,y,1)T,x′=(x′,y′,1)T。

圖3 圖像拼接方法幾何原理Fig.3 Geometric principle of image stitching
單應(yīng)性矩陣是描述物體在世界坐標系和像素坐標系之間的位置映射關(guān)系的矩陣,是圖像拼接的核心。當(dāng)物體的一點Y成像于像平面上一個像素點y,物體在世界坐標系的三維坐標可通過一個映射H轉(zhuǎn)換為像素坐標系的二維坐標:
y=HX。
(1)
當(dāng)世界坐標系上的一點分別在兩個像平面成像為y和y′時,也可以通過一個映射矩陣H實現(xiàn)兩個像平面之間的像素坐標的轉(zhuǎn)換。該變換將一個像平面上像素點的坐標轉(zhuǎn)換為另一個像平面上的像素坐標,當(dāng)像平面上所有像素點都完成到另一個像平面的坐標變換以后,若兩個像平面之間存在重合部分,即實現(xiàn)了兩張相鄰圖像的圖像拼接。
若要建立兩個像平面像素坐標系之間的單應(yīng)矩陣H,需獲取至少4組兩個像平面視場中的對應(yīng)點,使用直接求解方法確定H。顯然,兩臺微型相機之間的重合部分僅4 mm左右,找到4組對應(yīng)點非常困難,因此本文圖像拼接的思路是:計算每臺微型相機分別與廣角相機的單應(yīng)矩陣Hi、Hj作為“中間媒介”,廣角相機可將兩臺微型相機變換到同一個平面。本文將根據(jù)圖3的廣角相機與一個微型相機組成的模型進行理論分析。
由圖3可知,微距相機的視場范圍也在廣角相機的視野范圍內(nèi),因此,計算兩個像平面1、2之間的映射關(guān)系以獲取兩個相機像素坐標之間的對應(yīng)關(guān)系。本文使用棋盤格作為待測表面進行單應(yīng)矩陣對應(yīng)點的提取,因為棋盤格可以方便地將角點特征作為對應(yīng)點,也容易保持與微型相機的固定距離。將兩個相機分別使用張氏標定法[10]標定,消除徑向畸變。后續(xù)討論均針對畸變校正過的相機。兩個像平面的像素坐標系之間存在唯一3×3單應(yīng)矩陣H,滿足:
x′=Hx,
(2)
式(2)中,H的秩為3,自由度為8。世界坐標系中的點X在廣角相機和微型相機上的投影分別為
(3)
(4)

(5)
實際上,在工程應(yīng)用中通常使用4組對應(yīng)點求解方法,可避免旋轉(zhuǎn)矩陣和主點偏移量的求解過程。本文僅采用式(5)作為實驗驗證對應(yīng)點求解方法的效果。將棋盤格標定板放置在固定位置,拍攝一組棋盤格圖片,手動提取4組對應(yīng)角點,設(shè)H矩陣的參數(shù)為
(6)
將4組對應(yīng)點坐標分別代入式(2)計算出單應(yīng)矩陣H參數(shù)的值。該矩陣雖然有9個參數(shù),但包含一個尺度因子,實際上只有8個自由度。令一組對應(yīng)點分別為x1′,x1,可通過直接線性變換(DLT)法[11]求解。
將廣角相機和一個微型相機的情況推廣到廣角相機和相鄰兩臺微型相機。通過廣角相機分別與兩臺微型相機的單應(yīng)性關(guān)系間接計算兩臺微型相機之間的映射矩陣。設(shè)三臺相機視野中一公共點Xcom,在廣角相機像平面的投影點為xcom,兩臺相機分別與廣角相機的單應(yīng)矩陣為Hi、Hj,與xcom對應(yīng)點分別為xi,xj,則滿足
xcom=Hixi=Hjxj。
(7)
要計算xi和xj的單應(yīng)性關(guān)系,可將等式兩側(cè)左乘Hi-1,即
(8)
根據(jù)式(8),即可將廣角相機與不同微型相機之間的單應(yīng)性關(guān)系,轉(zhuǎn)換為微型相機之間的單應(yīng)矩陣。以其中一臺微型相機的像平面為基準,將其他微型相機的像素點都投影到該像平面上,當(dāng)相鄰相機之間存在一定重合部分時,即實現(xiàn)了圖像拼接。分析證明使用廣角相機作為“中間媒介”可避免利用兩臺微型相機之間僅4 mm的重合部分進行對應(yīng)點提取,降低了單應(yīng)矩陣的標定難度。
根據(jù)2.1節(jié)原理設(shè)計軟件方法如下:
1)使用棋盤格標定板對超廣角相機和微型相機陣列分別做標定,得到超廣角相機的外參和內(nèi)參矩陣Kw、Mw和微型相機的外參和內(nèi)參矩陣Km、Mm。
2)根據(jù)電磁發(fā)射器的口徑為100 mm,在距離微型相機一側(cè)放置棋盤格標定板,分別拍攝照片,手動提取四組以上匹配點。
3)根據(jù)DLT算法計算每個微型相機和廣角相機的對應(yīng)關(guān)系,即單應(yīng)矩陣Hi(i=1,2,…,20),其中i表示微型相機的編號。
4)采集電磁軌道發(fā)射器內(nèi)表面圖像完成后,將下位機每運動一步采集的廣角圖片和20張微距圖片導(dǎo)入上位機并進行如下處理:
①對每張微距圖片上的像素點坐標pij,左乘單應(yīng)矩陣Hi,計算該圖片每個像素在廣角相機像素坐標系中的對應(yīng)坐標;
②相鄰兩幅微型相機圖片存在重合部分,使用每個被測面上的一個微型相機作為原相機,像素坐標系作為原坐標系,該相機對應(yīng)的單應(yīng)矩陣為Hs,其他采集該平面圖像的每一個相機作為目標相機,單應(yīng)矩陣Hj,計算該相機與原坐標系相機的單應(yīng)性關(guān)系即:Hc=Hs-1Hj;
③創(chuàng)建1 600×1 200×3的零矩陣P,將原相機圖像RGB矩陣通過像素坐標平移 (m,n) 映射到P中居中位置上;每一個目標相機的像素坐標x= (x,y, 1),計算x′=Hcx;將x′坐標平移(m,n)為x″,并將x對應(yīng)的像素值映射到P的x″上;
④檢測重合部分取原始位置像素,對于映射過程中遺漏像素點,提取該像素周圍8-近鄰像素值,并取中位數(shù)填充。
5) 對比廣角相機拍攝的圖像和拼接后的微距圖像,分析拼接效果。
為驗證圖像拼接的實際效果,本文制作了原理樣機進行圖像采集實驗。原理樣機如圖4所示。

圖4 探傷系統(tǒng)原理樣機Fig.4 Principle prototype
使用木制電磁軌道發(fā)射器模型模擬實際的電磁軌道發(fā)射器內(nèi)腔環(huán)境,木制軌道紋理細密且相似性高,與電磁軌道發(fā)射器的局部紋理處理難度相近,因此實驗結(jié)果具有實際意義。木制軌道模型如圖5所示。木制軌道的局部紋理如圖6所示。

圖5 木制軌道模型Fig.5 Wooden launcher model

圖6 木制軌道模型的內(nèi)表面紋理Fig.6 Inner surface of wooden launcher model
使用棋盤格標定板標定超廣角相機和微型相機陣列。棋盤格標定板是一種常用的標定板,通過黑白相間且尺寸統(tǒng)一的方格可以作為參照物對相機的參數(shù)以及相機之間的關(guān)系進行標定。本文使用的棋盤格標定板如圖7所示。

圖7 棋盤格標定板Fig.7 Checkerboard
為得到每個微型相機和超廣角相機的相互位置關(guān)系,以計算單應(yīng)矩陣,將棋盤格緊貼在軌道內(nèi)表面,使相機可直接拍攝到棋盤格,拍攝一組圖像并提取特征點,選取4組匹配的特征點,計算該微型相機與廣角相機的單應(yīng)矩陣。
按照2.2節(jié)的算法執(zhí)行,獲取一系列的發(fā)射器內(nèi)表面圖像,并執(zhí)行拼接算法。使用帶數(shù)字標記的棋盤格測試拼接算法的效果,在棋盤格白色方格中寫入數(shù)字序號,同時因為棋盤格中存在很多相似角點,可以作為評估拼接效果的參照物。圖8是廣角相機拍攝和兩個微型相機拍攝的圖片。

圖8 超廣角相機圖像和相鄰微型相機圖像Fig.8 Wide-angle and mini camera images
若使用SIFT算法對兩幅微型相機圖像直接進行特征提取和匹配,因為兩幅圖片重疊區(qū)域太小,且棋盤格呈現(xiàn)出高相似度特點,匹配效果不好。將兩幅相似紋理圖像進行特征點匹配得到的結(jié)果如圖9所示,其中兩張圖片中的連接線為相互配對的特征點。

圖9 使用SIFT算法提取特征點時匹配效果Fig.9 Matching effect by SIFT algorithm
圖9兩張圖片中實際上存在重復(fù)部分,分別是左圖上部和右圖底部。但是因為局部棋盤格中的特征點都非常相似,大部分是方格角點,基于特征提取的方法匹配的結(jié)果顯然錯誤率很高。誤匹配點對多,大量序號為1′的白色方格被匹配到序號為2′、3′方格上。
使用本文的拼接方法拼接后的圖像如圖10所示。

圖10 使用本文提出算法的拼接圖像Fig.10 Stitched images by new algorithm
本文提出的方法在測試中獲得了比SIFT特征點提取的圖像拼接方法更好的效果。我們也測試了三臺微型相機的拼接,并將該方法用于電磁軌道發(fā)射器模型,如圖11所示。

圖11 三相機陣列的拼接效果Fig.11 Stitching image of three-camera array
為評估圖像拼接方法的可行性,需要對拼接誤差進行評估,使用棋盤格標定板分析圖像拼接效果。經(jīng)過棋盤格測試,兩張圖像的交界處單一方向上有最多3個像素點的偏移,包括像素的重合和縫隙。兩張圖像拼接的誤差為0.24 mm,一個表面5張圖像拼接的累積誤差為1.2 mm。實驗結(jié)果表明,本文提出的圖像融合拼接方法是可行的,并且可以達到良好的拼接效果。本文提出的內(nèi)膛損傷探測方法可以實現(xiàn)采集內(nèi)膛全景圖像的目標。
除此以外,本文還根據(jù)實驗結(jié)果分析了新拼接方法的誤差來源:
1) 相機系統(tǒng)包括超廣角相機和多相機模塊,相機存在徑向畸變和切向畸變,超廣角相機在標定過程中邊緣會損失像素。
2) 標定時棋盤格角點位置存在灰色像素,造成單應(yīng)矩陣計算中存在誤差,且轉(zhuǎn)換后的像素坐標需將浮點數(shù)取整,造成了個別像素點轉(zhuǎn)換坐標后的重疊。
3) 本文假設(shè)小車沿電磁軌道軸線運動,相機模組與電磁軌道發(fā)射器四面的距離大致不變。實際上,因為接觸面本身不是理想的運行環(huán)境,運動機構(gòu)的運動存在微小的偏移,該偏移將導(dǎo)致拼接存在誤差。
這些誤差將造成生成的圖像中每個像素表示的內(nèi)表面紋理的錯位、偏移和重疊等,導(dǎo)致對電磁軌道發(fā)射器內(nèi)表面損傷的統(tǒng)計和分析不準確??紤]在后續(xù)實驗中選用高性能相機、迭代優(yōu)化圖像拼接算法以及重新設(shè)計運動機構(gòu)以保證軸線運動。
為獲取電磁軌道發(fā)射器內(nèi)表面圖像以評估內(nèi)膛損傷情況,本文提出一種基于多相機融合的電磁軌道發(fā)射器內(nèi)表面圖像采集方法,利用多個微型相機采集內(nèi)膛局部圖像并進行拼接融合,獲得內(nèi)膛全景圖像,從而能獲得每臺微型相機之間的單應(yīng)矩陣,將多臺微型相機像素坐標轉(zhuǎn)換為同一平面,從而實現(xiàn)不依賴特征檢測的圖像拼接。通過實驗室軌道模型進行了圖像采集和拼接實驗,證明了該方法可以實現(xiàn)良好的拼接效果。