曲兆松,謝宗彥
(北京尚水信息技術(shù)股份有限公司,北京 100000)
因河工模型試驗具有理論基礎(chǔ),并能直觀反映水流和船舶的相互作用,因此作為一種重要技術(shù)手段被廣泛應(yīng)用于水路交通的前期論證研究中。大型河工模型覆蓋面積能夠達到數(shù)十至數(shù)百平方米,由于單目相機的視野范圍有限制性,通常需要采用多相機構(gòu)建不同的陣列分布以實現(xiàn)全河工模型的覆蓋,進而不同陣列分布圖像的精確快速拼接成為大型河工模型試驗系統(tǒng)的一大關(guān)鍵步驟。
圖像拼接[1]即將數(shù)張有重疊區(qū)域的圖像序列,在不損失分辨率和圖像質(zhì)量的情況下,經(jīng)過處理實現(xiàn)空間配準變換融合后生成一幅無縫高分辨率全景圖像。圖像拼接的技術(shù)難點包括圖像配準和圖像融合,其中圖像配準用于生成圖像全局單應(yīng)性矩陣[2-4]或多個局部單應(yīng)性矩陣[5-7]。為避免拼接后圖像出現(xiàn)重影和錯位現(xiàn)象,計算圖像全局單應(yīng)性矩陣時要求圖像重疊區(qū)域盡可能處于同一平面;相比之下,多個局部單應(yīng)性矩陣的拼接算法具有很好的靈活性和拼接效果,但效率低,不能符合實時性要求[8]。圖像配準中的匹配算法一般包括Harris算法[9]、SIFT算法、SURF算法等;其中SIFT和SURF使用最為廣泛,SIFT算法魯棒性強,SURF算法效率高[10]。
河工模型測量實驗先對圖像進行標定,即分別獲取圖像中的標定點進行標定,因此圖像拼接后要能夠根據(jù)各個原圖中標定點的圖像坐標和世界坐標生成新的標定結(jié)果。針對以上問題,本文基于標定文件確定圖像陣列重疊范圍,再利用尺度不變特征轉(zhuǎn)換算法(Scale-invariant feature transform, SIFT)[11-12]進行圖像配準;利用配準點及隨機采樣一致性算法(Random Sample Consensus, RANSAC)[13-14]計算全局單應(yīng)性矩陣,最后進行圖像融合以實現(xiàn)陣列分布圖像拼接。
SIFT算法在不同尺度空間圖像中搜索關(guān)鍵點以進行多尺度特征的估計,通過高斯模糊來生成尺度空間。變化尺度高斯核G(x,y,σ)和圖像I(x,y)的卷積為尺度空間L(x,y,σ)的定義,公式為:
L(x,y,σ)=G(x,y,σ)*I(x,y)
(1)
其中:
(2)
式中:G(x,y,σ)為變化尺度高斯核,用來對輸入圖像進行高斯模糊;(x,y)為輸入圖像中像素的坐標;σ為空間尺度因子。
使用高斯差分函數(shù)(DOG)和相鄰尺度空間的倍數(shù)k進行領(lǐng)域極值檢測,以檢測特征點:
D(x,y,σ)=(G(x,y,kσ)-G(x,y,σ))*I(x,y)=L(x,y,kσ)-L(x,y,σ)
(3)
采用歐氏距離對源圖像與目標圖像中的特征點進行初匹配,匹配原則為目標圖中距離最近點和次近點的距離比值滿足給定閾值,則認為目標圖中距離最近的點與原圖中對應(yīng)的特征點為一對匹配點。根據(jù)上述匹配原則,依次為源圖中的特征點在目標圖中查找匹配點。
再利用RANSAC算法對初匹配結(jié)果進行錯誤剔除,去掉歐氏距離匹配得到的錯誤匹配結(jié)果,以改善實驗廳內(nèi)光照不均、水面噪聲等影響,增加匹配魯棒性。最后,基于源圖像和目標圖像的匹配特征點利用放射變換得到圖像全局單應(yīng)性轉(zhuǎn)換矩陣:
(4)
式中:(x,y)為目標圖像坐標點;(x′,y′)為源圖像坐標點。
用于拼接的兩張部分重疊的圖像存在亮度差異,拼接過程中的簡單疊加往往會在拼接邊緣產(chǎn)生明顯的拼接縫。本文采用最大值融合法對拼接縫進行過渡平滑,即將坐標轉(zhuǎn)換后圖像間重疊區(qū)域?qū)?yīng)像素點的灰度值用兩張圖對應(yīng)灰度值最大值進行替換。設(shè)兩張圖的灰度值為I1(x,y)和I2(x,y),I(x,y)為拼接后圖像灰度值:
(5)
本文以河工模型的左上角為世界坐標系的原點,采用多相機構(gòu)建不同的陣列分布進行整個河工模型的圖像采集。本文針對橫一字型、豎一字型、田字型和九宮格陣列圖像進行拼接,圖像拼接前根據(jù)對應(yīng)標定文件確定整列分布狀況即陣列的行列數(shù)量。見圖1。
圖1 圖像標定點
圖1所示每張圖像對應(yīng)4個標定點,標定文件中存儲標定點的圖像坐標及對應(yīng)世界坐標。利用標定點圖像坐標和世界坐標計算兩者之間的仿射變換矩陣Hi;計算圖像4個角的世界坐標:
(6)
根據(jù)圖像4個頂角的世界坐標求得世界坐標系下圖像覆蓋區(qū)域的寬度wi和高度hi,分別計算圖像與覆蓋區(qū)域的寬度比例系數(shù)kwi和高度比例系數(shù)khi:
(7)
依次計算陣列分布圖像與覆蓋區(qū)域的寬度比例系數(shù)kwi和高度比例系數(shù)khi,并選擇其中的最大值作為陣列分布圖像與覆蓋區(qū)域面積的比例系數(shù)k。將各陣列分布圖像標定點對應(yīng)世界坐標縮放k倍,并計算各矩型標定區(qū)域的中心點坐標,利用各中心點坐標X方向的最小值xmin、最大值xmax和Y方向的最小值ymin、最大值ymax生成對應(yīng)覆蓋區(qū)域的長度H和寬度W。
若W<圖像寬度/3,則為豎一字型陣列分布,對各中心點y進行排序以確定豎一字型陣列分布對應(yīng)圖像順序;若H<圖像高度/3,則為橫一字型陣列分布,對各中心點x進行排序確定橫一字型陣列分布對應(yīng)圖像順序。W≥圖像寬度/3,并且H≥圖像高度/3,若圖像數(shù)量為4則為田字型陣列分布,否則為九宮格陣列分布,根據(jù)各個中心點的坐標確定陣列分布對應(yīng)的圖像順序。
基于縮放后的標定點世界坐標計算圖像坐標和世界坐標間的仿射變換矩陣HHi,對圖像進行仿射變換并計算圖像4個頂角對應(yīng)的新的世界坐標值。見圖2。
圖2 基于HHi的仿射變換操作
(8)
(9)
圖3 圖像間重疊區(qū)域
本文針對不同陣列分布圖像采用不同的拼接順序,其中橫一字型陣列和豎一字型分別采用自左向右和自上向下的拼接順序,即根據(jù)圖像的坐標位置及重疊區(qū)域依次生成全局單應(yīng)性矩陣,并對圖像進行仿射后依次進行拼接融合。
針對田字型和九宮格陣列分布圖像采用先橫向后豎向的拼接順序,其中橫向拼接為將陣列中的一行圖像按照其相對坐標和圖像間的重疊區(qū)域依次生成全局單應(yīng)性矩陣并對圖像進行仿射后依次進行拼接融合,上述流程為陣列中的每一行生成一張拼接圖像;豎向拼接即將每一行生成的拼接圖像根據(jù)其坐標位置及圖像大小確定圖像間的重疊區(qū)域后依次生成全局單應(yīng)性矩陣進行圖像拼接融合。
本實驗圖像采集自某實驗廳河工模型,采用四點標定法對實驗圖像進行標定。拼接算法在Halcon環(huán)境中運行,根據(jù)河工模型的面積大小采用4路相機陣列,從左向右依次擺放。圖像大小為2592像素*2048像素,兩幅圖像的重疊區(qū)域約為50%;基于標定后的圖像構(gòu)建橫一字、豎一字和田字型陣列分布實驗圖像。見4-圖9。
圖4 基于HHi的仿射變換后橫一字型陣列分布圖像
圖7 田字型陣列分布拼接圖
圖8 基于HHi的仿射變換后豎一字型陣列分布圖像
圖9 豎一字型陣列分布拼接圖
本文方法利用標定信息對采集圖像進行仿射變換后對圖像進行拼接,拼接圖對標定信息進行保留。上述圖中所示3種陣列分布圖像都成功配準并拼接,證明本算法可以將色彩變化不明顯的陣列河工模型圖片進行準確的拼接。
本文利用仿射變換后圖像的相對位置坐標確定圖像間的重疊區(qū)域,并利用重疊區(qū)域進行特征點檢測及匹配的方法對比傳統(tǒng)的Harris拼接方法更優(yōu),能夠更快速和精確地進行陣列分布圖像的配準拼接。性能比較見表1。
表1 性能比較
本文提出的陣列分布拼接算法,通過標定結(jié)果對圖像進行放射變換后基于SIFT算法獲取圖像明顯特征點;并結(jié)合RANSAC算法對匹配點進行了凈化提純;最后采用最大值融合算法對拼接線進行過渡。通過河工模型圖像拼接實驗,驗證了本文拼接方法針對不同的陣列布局可以精確地實現(xiàn)拼接,并且能夠保留原有標定信息,具有良好的工業(yè)應(yīng)用價值。