武旭娟
(遼寧省交通規(guī)劃設(shè)計(jì)院有限責(zé)任公司公路養(yǎng)護(hù)技術(shù)研發(fā)中心 沈陽(yáng)市 110111)
橋梁在經(jīng)過(guò)長(zhǎng)時(shí)間的服役之后,會(huì)產(chǎn)生很多病害,其中一些病害會(huì)對(duì)橋梁長(zhǎng)期運(yùn)行產(chǎn)生致命的影響,所以需要定期對(duì)橋梁進(jìn)行檢測(cè)。橋梁病害比如長(zhǎng)度比較長(zhǎng)的裂縫,單個(gè)相機(jī)的視野并不能看到完整的病害信息,所以需要對(duì)單個(gè)相機(jī)采集到的圖像進(jìn)行拼接,去除圖像中的重疊區(qū)域,形成一幅完整的、視角更大的全景圖,使圖像能夠更加全面、直觀地顯示橋梁情況。
當(dāng)今社會(huì),科學(xué)技術(shù)的發(fā)展日新月異,圖像配準(zhǔn)技術(shù)作為數(shù)字圖像處理的一部分已成為圖像信息處理、模式識(shí)別領(lǐng)域中的一項(xiàng)非常重要的技術(shù),并在立體視覺(jué)、航空攝影測(cè)量、資源分析、醫(yī)學(xué)圖像配準(zhǔn)、光學(xué)和雷達(dá)跟蹤、檢測(cè)等領(lǐng)域得到了廣泛的應(yīng)用[1]。
圖像配準(zhǔn)是計(jì)算機(jī)視覺(jué)領(lǐng)域的一個(gè)經(jīng)典問(wèn)題,因此現(xiàn)有的圖像配準(zhǔn)方法有很多。從選擇的配準(zhǔn)基元和配準(zhǔn)方式的不同出發(fā),常用的圖像配準(zhǔn)算法大體有:基于區(qū)域的配準(zhǔn)算法[2]、基于特征的配準(zhǔn)算法[3]和基于相位的配準(zhǔn)算法[4]?;趨^(qū)域的配準(zhǔn)算法直接對(duì)圖像像素進(jìn)行配準(zhǔn),配準(zhǔn)結(jié)果不受特征檢測(cè)精度的影響,可得到比較好的定位精度,但是該方法對(duì)光照條件、對(duì)比度的變化和圖像的旋轉(zhuǎn)比較敏感,而且當(dāng)兩幅圖像相關(guān)像素鄰域內(nèi)存在遮擋和有重復(fù)的紋理特征時(shí),會(huì)引起匹配的混淆,從而得到錯(cuò)誤的匹配結(jié)果,再加上配準(zhǔn)基元的數(shù)目很多會(huì)使得計(jì)算量很大,處理速度慢,并且容易受到噪聲干擾,魯棒性差。相位配準(zhǔn)法有相位相關(guān)法和相位差頻率法。由于配準(zhǔn)基元是相位,本身就是信號(hào)的結(jié)構(gòu)信息,對(duì)圖像的高頻噪聲有很好的抑制作用,但存在相位奇點(diǎn)和相位卷繞,隨著視差范圍的增大,其精度下降。然而基于特征的配準(zhǔn)算法利用圖像中的拐點(diǎn)、直線、圓弧、自由曲線和邊緣的朝向等幾何特征信息,配準(zhǔn)速度快,精度高,對(duì)光照變化、噪聲等不敏感,解決了測(cè)量環(huán)境變換這一因素帶來(lái)的問(wèn)題,所以選擇基于特征的配準(zhǔn)方法。
基于特征點(diǎn)的圖像匹準(zhǔn)算法,需要先在基準(zhǔn)圖像中選擇特征區(qū)域,應(yīng)用角點(diǎn)檢測(cè)算法提取角點(diǎn),通過(guò)從檢測(cè)出的角點(diǎn)中選擇其中三個(gè)點(diǎn)作為特征點(diǎn),然后在待配準(zhǔn)圖像中找到與之相匹配的特征點(diǎn),根據(jù)這三對(duì)特征點(diǎn)的坐標(biāo)構(gòu)成的矩陣計(jì)算出從基準(zhǔn)圖像到待配準(zhǔn)圖像的仿射變換矩陣,最后對(duì)待配準(zhǔn)圖像運(yùn)用仿射變換得到定位后的結(jié)果圖像。整個(gè)流程如圖1所示。
圖1 匹配流程
考慮獲取特征的便捷性,通常以閉合區(qū)域、物體邊緣、輪廓、線的交叉點(diǎn)和角點(diǎn)等作為特征。為了便于進(jìn)一步處理,常用控制點(diǎn)(CPs)(質(zhì)心、端點(diǎn)、突出點(diǎn))來(lái)表征這些特征。在理想的情況下,好的檢測(cè)算法不管圖像出現(xiàn)何種畸變,都應(yīng)具有在兩幅圖像中檢測(cè)出相同特征的能力。由于選擇的控制點(diǎn)的精度、數(shù)量以及它們?cè)趫D像上分布情況會(huì)影響幾何校正和配準(zhǔn)的精度,所以控制點(diǎn)一般應(yīng)選擇較為明確、穩(wěn)定,并且在參考圖像和待配準(zhǔn)圖像上容易辨認(rèn)、目標(biāo)較小的突出特征點(diǎn);控制點(diǎn)需分布均勻,否則在控制點(diǎn)較為密集的區(qū)域內(nèi)匹配的準(zhǔn)確度較好,而在控制點(diǎn)分布稀疏的地方,配準(zhǔn)的精確度就差,而且需注意控制點(diǎn)的數(shù)量要適當(dāng),控制點(diǎn)過(guò)多計(jì)算機(jī)處理的時(shí)間加長(zhǎng),控制點(diǎn)過(guò)少不利于精確配準(zhǔn)。
特征選取之后,需要建立參考圖像與待配準(zhǔn)圖像特征之間的對(duì)應(yīng)關(guān)系,按上述流程圖來(lái)進(jìn)行。
圖像采集過(guò)程中由于受到光照、拍攝時(shí)間、拍攝角度等的不同,兩幅圖像重疊區(qū)域中的同一個(gè)點(diǎn)拍攝效果可能并不完全一樣。特征點(diǎn)匹配就是把兩幅重合圖像中提取出的特征點(diǎn)匹配起來(lái),找到正確的匹配點(diǎn)對(duì)。每一個(gè)匹配點(diǎn)對(duì)中的兩個(gè)點(diǎn)雖然是來(lái)自兩幅圖像,但是他們對(duì)應(yīng)的卻是圖像中的同一個(gè)點(diǎn)。特征點(diǎn)匹配采用knnMatch算法,這是一種蠻力匹配,基本原理是將待匹配圖片的SURF特征與目標(biāo)圖片中的全部SURF特征一對(duì)n的全量遍歷,找出相似度最高的前2個(gè)點(diǎn)。
為了排除因?yàn)閳D像遮擋或背景混亂而產(chǎn)生的無(wú)匹配關(guān)系的關(guān)鍵點(diǎn),Lowe提出了比較最近鄰距離與次近鄰距離的匹配方式:取一幅圖像中的一個(gè)SURF關(guān)鍵點(diǎn),并找出其與另一幅圖像中歐式距離最近的前兩個(gè)關(guān)鍵點(diǎn),在這兩個(gè)關(guān)鍵點(diǎn)中,如果最近的距離除以次近的距離得到的比率少于某個(gè)閾值T,則接受這一對(duì)匹配點(diǎn)。
應(yīng)用halcon中的proj_match_points_ransac(Image1,Image2::Rows1,Cols1,Rows2,Cols2,GrayMatchMethod,MaskSize,RowMove,ColMove,RowTolerance,ColTolerance,Rotation,MatchThreshold,EstimationMethod,DistanceThreshold,RandSeed::HomMat2D,Points1,Points2) 算子來(lái)實(shí)現(xiàn)特征點(diǎn)的正確匹配。halcon中,函數(shù)參數(shù)包括四部分:圖像數(shù)據(jù)輸入、圖像數(shù)據(jù)輸出、控制輸入和控制輸出,每一個(gè)函數(shù)并不一定都包括這四部分。此算法中,沒(méi)有圖像數(shù)據(jù)輸出,其中[Image1,Image2]代表左右兩幅圖像,[Rows1,Cols1,Rows2,Cols2,]為左右兩幅圖像中提取的特征點(diǎn)的橫縱坐標(biāo)。
整個(gè)匹配過(guò)程分兩步:首先,確定兩幅圖像中特征點(diǎn)周圍掩模窗口的灰度相關(guān)性,特征點(diǎn)之間的初始匹配由兩幅圖像窗口的相似性來(lái)生成。然后應(yīng)用RANSAC算法確定極限約束下的對(duì)應(yīng)關(guān)系。掩模窗口為MaskSize×MaskSize,灰度相似性度量方法(GrayMatchMethod)有三種,且最簡(jiǎn)單的計(jì)算相似度量的方法是SAD(sum of absolute gray value difference)和SSD(sum of squared gray value difference),這兩種相似測(cè)量方法的運(yùn)算速度非???。不幸的是,這兩個(gè)方法有一個(gè)缺點(diǎn),就是光照變化對(duì)算法影響比較大。而在本試驗(yàn)中,由于兩個(gè)相機(jī)的視角不同,光線是有變化的,所以選擇使用歸一化互相關(guān)方法(NCC-normalied cross-correlation)計(jì)算相似度量。使用歸一化互相關(guān)系數(shù)的優(yōu)點(diǎn)就是線性的光照變化不會(huì)導(dǎo)致該系數(shù)發(fā)生變化,這個(gè)不變性是通過(guò)直接減去平均灰度值消除加法對(duì)圖像的影響,用灰度值的標(biāo)準(zhǔn)方差消除乘法對(duì)圖像的影響,然而此方法計(jì)算過(guò)程比較耗時(shí)。
為了提高算法的速度,搜索區(qū)域可以限制,這就需要標(biāo)定得到的平移與旋轉(zhuǎn)參數(shù),即[RowMove,ColMove,Rotation],最重要的便是旋轉(zhuǎn)參數(shù),此參數(shù)的精確性關(guān)系到匹配的準(zhǔn)確度。
參數(shù)EstimationMethod表示根據(jù)攝像機(jī)之間的位置來(lái)選擇應(yīng)用那種方法,如果攝像機(jī)之間既有平移又有旋轉(zhuǎn),則設(shè)置為“normalized_dlt”或者“gold_standard”;如果攝像機(jī)之間只有平移,則設(shè)置為“trans_normalized_dlt”或“trans_gold_standard”。
參數(shù)error是控制輸出參數(shù),是對(duì)整個(gè)匹配過(guò)程中精度的一個(gè)評(píng)價(jià),是點(diǎn)到核線的平均歐式距離,用像素值來(lái)表示。
[Points1,Points2]也是控制輸出參數(shù),是應(yīng)用此算法匹配成功的特征點(diǎn)。
整個(gè)匹配過(guò)程流程圖如圖2所示。
圖2 配準(zhǔn)流程圖
由于橋梁病害識(shí)別系統(tǒng)采集到的圖像像素尺寸較大,特征點(diǎn)較多,在尋找特征點(diǎn)時(shí)耗時(shí)久,為了提高拼接效率,先對(duì)感興趣區(qū)域進(jìn)行提取。為了盡可能多地獲得重疊區(qū)域,選取一定的感興趣區(qū)域進(jìn)行特征點(diǎn)提取。
圖3 原圖
圖4 感興趣區(qū)域提取
特征點(diǎn)匹配結(jié)果如圖5所示,為了清晰展示匹配結(jié)果,圖5所展示的是部分區(qū)域放大圖像。可以看出,由于消除了大部分不合格的特征點(diǎn),能夠得到比較精準(zhǔn)的匹配效果。
圖5 配準(zhǔn)結(jié)果
通過(guò)上述過(guò)程可以得到兩幅待拼接圖像的匹配點(diǎn)集,根據(jù)匹配點(diǎn)集對(duì)圖像進(jìn)行配準(zhǔn),即將兩張圖像轉(zhuǎn)換到同一坐標(biāo)下,并通過(guò)兩個(gè)匹配點(diǎn)集求得變換矩陣,找出特征點(diǎn)之間的映射關(guān)系。由于系統(tǒng)采集到的橋梁圖像尺寸較大,拼接多幅圖像對(duì)硬件要求高、耗時(shí)長(zhǎng),為了加快計(jì)算速度,本算法采用縮略圖進(jìn)行拼接,拼接圖像長(zhǎng)、寬各縮小到原圖的1/16。根據(jù)匹配點(diǎn)集計(jì)算出拼接圖像區(qū)域大小,用變換矩陣對(duì)右圖進(jìn)行仿射變換,并對(duì)左圖進(jìn)行拷貝。仿射變換結(jié)果如圖6所示,拼接結(jié)果如圖7所示。
圖6 仿射變換結(jié)果
圖7 拼接結(jié)果
從圖7可以看出,拼接效果并不自然,造成這一問(wèn)題的主要原因是兩幅圖像的光照條件不同,色調(diào)也不相同,因此使用加權(quán)融合來(lái)降低這一影響,即在重疊部分由前一幅圖像慢慢過(guò)渡到第二幅圖像,將圖像的重疊區(qū)域的像素值按一定的權(quán)值相加合成新的圖像,融合效果如圖8所示。
圖8 圖像融合結(jié)果
多幅圖像拼接結(jié)果如圖9所示。
對(duì)單反相機(jī)采集的圖像,應(yīng)用基于特征點(diǎn)的配準(zhǔn)方法,實(shí)現(xiàn)了圖像的拼接。經(jīng)過(guò)多次實(shí)驗(yàn)驗(yàn)證,此配準(zhǔn)方法切實(shí)可行,改善了單個(gè)相機(jī)不能拍攝大視場(chǎng)圖像、不能完整查看病害信息的情況。
圖9 多幅圖像拼接結(jié)果