李美燕,歐元漢
(廣西大學 計算機與電子信息學院,廣西 南寧530004)
運動獲取結(jié)構(gòu)[1](structure from motion,SFM)是由運動的相機獲取的多視圖像集估計相機外部參數(shù) (motion)并重建場景結(jié)構(gòu) (structure)的過程,它是計算機視覺領域中的一個核心問題。近年來,國內(nèi)外在SFM 的研究上有很大的發(fā)展,已成功應用于大數(shù)據(jù)集的自動重建[2]。而計算機視覺與攝影測量在技術上相近[3],許多研究嘗試將SFM 流程引入到航空攝影測量中進行空中三角解算,以提高航測的自動化程度[4]。目前使用最廣泛的SFM 方法是Bundler[5],增量的綁定調(diào)整 (bundler adjustment,BA)主要用于完成互聯(lián)網(wǎng)上非結(jié)構(gòu)化圖像的三維重建,而在恢復無人機航拍圖像3D 點時,BA 產(chǎn)生的累積誤差會導致特征點的重投影誤差不均勻,中間的點誤差較小,外圍點誤差卻非常大,精度很難達到攝影測量規(guī)范的要求[6]。BA 的結(jié)果很大程度上取決于初始圖像對的選擇和后續(xù)圖像的添加順序,因此找到精確的匹配點和準確的tarcks信息對SFM結(jié)果的精確度有重要的影響。
傳統(tǒng)SFM 使用SIFT[7]進行特征點的提取和匹配,許多文章驗證了SIFT 能在原圖提供很好的匹配結(jié)果,但它的運行時間較長,內(nèi)存開銷很大,因此在基于海量航拍圖像的三維重建中很難實現(xiàn)可擴展性。分層匹配方法有效解決了這一問題,通常金字塔第n+1層的圖像分辨率比第n層的要低4倍,SIFT 運行時間要比第n層少,由此減少程序運行時間和內(nèi)存開銷,實現(xiàn)BA 的可擴展性。然而,如果僅僅在圖像金字塔第三層 (或以上)執(zhí)行SIFT 特征檢測和匹配會出現(xiàn)大量匹配不準確或錯配。楊化超等[8]提出的SIFT 改進算法在匹配相似灰度的圖像時,正確匹配率得到了一定的提高,但該算法在原圖執(zhí)行SIFT 后僅使用NCC將一定閾值內(nèi)的錯配點剔除,并未修正錯配特征點中心位置,也未能印證該匹配算法的可擴展性和對圖像三維重建精確度的影響。Jose L.Lerma等[9]提出的自動定位和3D 建模方法最終得到較好的匹配結(jié)果和重建精度,但該方法未考慮旋轉(zhuǎn)圖像對歸一化互相關匹配的影響,而無人機航拍過程中很容易受到風力等自然條件的影響導致圖像存在旋轉(zhuǎn)。孫卜郊等[10]改進的NCC匹配算法利用參考圖進行多個角度旋轉(zhuǎn),以一定步長進行旋轉(zhuǎn)搜索,從而達到匹配的目的,但是搜索的時間代價非常大不利于大數(shù)據(jù)的三維重建。
SFM 為每張圖像計算相機位姿和3D 點坐標。傳統(tǒng)SFM 方法分為兩個部分,第一部分為特征的提取和匹配,第二部分為相機位姿估計和3D 點坐標恢復。第一部分輸入圖像序列,然后對每張圖像進行特征點的檢測和匹配,使用檢測到的匹配點進行基礎矩陣F 和單應矩陣H 的估計;第二部分輸入上一階段得到的特征匹配對和相機內(nèi)部參數(shù),計算相對應的tracks,生成連通圖G,依賴G 圖依次估計相機外部參數(shù)并恢復特征點坐標,迭代執(zhí)行BA 直至完成整個場景3D 點的恢復。
本文提出一種新的SFM 流程,將SIFT、NCC 和LSM相結(jié)合,目的是找到更精確的匹配對從而提高重建結(jié)果的精度。具體流程如下:在圖像金字塔頂層使用SIFT 進行特征點的提取和匹配,減少時間和內(nèi)存的開銷,使程序更具可擴展性;將匹配結(jié)果作為NCC校正的初始匹配集,結(jié)合SIFT 的尺度和旋轉(zhuǎn)信息對旋轉(zhuǎn)圖像進行局部矯正,然后逐層執(zhí)行歸一化互相關匹配,依次對錯配點位置進行修正得到較精確的匹配對;最后使用最小二乘匹配將圖像匹配的精度進一步提高到亞像素級甚至1/100個像素。修改特征文件中特征點的位置信息,估計基礎矩陣F和單應矩陣H,從而改變tracks的計算和連通圖G,最終提高三維重建的精度。同時,SIFT+NCC+LSM 的組合還可以分別設置閾值,作為一個過濾器,用來剔除誤配點。
SIFT 檢測到特征點的三個信息——位置 (x),尺度(δ)和主方向 (θ)并生成特征描述向量,利用歐氏距離作為度量進行特征點的匹配,將匹配的特征點作為NCC 匹配的初始匹配點,縮小NCC匹配范圍。歸一化互相關方法通過計算模板窗口和搜索窗口之間的相關值來確定匹配的程度,當互相關系數(shù)值最大時搜索窗口的位置決定了模板窗口圖像在待匹配圖像中的位置。
NCC相關 系數(shù)定義如 下[11,12]
式(1)中:NCC(pi,qj)為 點 (pi,qj)處 的NCC 系 數(shù),(2w+1)× (2h+1)為匹配模板的大小,I1(x,y)與I2(x,y)分別表示兩圖像 (x,y)處的灰度值,NCC 系數(shù)越大表示兩幅圖像越相似。
NCC互相關系數(shù)的分子本質(zhì)上是代表灰度圖的兩個矩陣中對應各點的像素值兩兩相乘再求和。在沒有旋轉(zhuǎn)的情況下,它可以得到較好的結(jié)果,但是NCC 對旋轉(zhuǎn)非常敏感,如果圖像存在旋轉(zhuǎn)NCC 將會面臨以下問題:首先,同樣大小的模板窗口與對應匹配點選取的搜索窗口覆蓋的圖像已經(jīng)不同,像素相差有可能很大;其次,窗口中除了中心點 (即特征點)的像素之外,窗口內(nèi)的像素不再存在一一對應關系 (如圖1所示);因此,NCC不適用于圖像存在旋轉(zhuǎn)的情況。而基于地面航拍圖像的三維重建中,數(shù)據(jù)的采集是通過小型無人機按照一定的軌道拍攝所得。由于風力等自然條件的影響,小型無人機在航拍過程中會出現(xiàn)航線偏移或晃動,使得獲取的圖像存在旋轉(zhuǎn)。因此在計算NCC系數(shù)之前要對圖像進行局部校正。SIFT 特征點描述算子的過程中,將坐標軸旋轉(zhuǎn)到關鍵點的主方向上,從而確保特征點的旋轉(zhuǎn)不變性 (如圖2所示)。因此,本文利用特征點主方向 (θ)將搜索模板做相對旋轉(zhuǎn)校正以解決NCC不適用的情況。
圖1 相關窗口
圖2 sift特征點主方向
假設有匹配對 (pi,qj),其中特征點qj的主方向與特征點pi的主方向的相對夾角為β=θi-θj,則圖像旋轉(zhuǎn)后坐標為
經(jīng)過旋轉(zhuǎn)校正后利用NCC算法的原理,將初始匹配點作為窗口的中心,待匹配的特征點從搜索窗口中心開始向四周移動,每次移動一個單位,遍歷整個搜索窗口,分別求出 (2w+1)× (2h+1)個NCC 系數(shù),NCC 系數(shù)最大時中心點位置為該匹配點的最終位置 (如圖3所示)。如果該點為原初始匹配點的位置,則不對該特征點的位置信息做改變;否則修改特征點文件,將新的匹配點位置 (m+x,n+y)作為匹配點中心位置。
提高企業(yè)工作效能,增加利潤,并不是只有與生產(chǎn)、銷售等工作直接相關的人員和部門才負有的責任,企業(yè)應該從上到下樹立一種效能思維,凡事都應該以提高工作效率,降低時間成本為目標進行。
圖3 NCC遍歷過程
無人機航拍采集圖像時會受到光照、視角的影響,僅利用NCC對特征點位置進行初步調(diào)整不能得到完全精確的匹配位置,需要進一步對其進行精確調(diào)整。最小二乘匹配方法 (LSM)利用了圖像窗口內(nèi)的信息進行平差計算,可以將圖像匹配的精度進一步提高到1/10 甚至1/100像素[13]。
對提取到的初始匹配點進行進一步匹配時,要為模板窗口與實際窗口引入變形系數(shù),由于圖像采集所使用的相機已標定,因此在只考慮幾何畸變的情況下,將幾何畸變看成是 仿射變換,即有[14,15]
式中:gl——實際窗口的灰度值,g2——模板窗口灰度值,h——線性系數(shù),n1、n2——圖像噪聲,ai、bi(i=0,l,2)為仿射變換的系數(shù)。上式經(jīng)過線性變化后可得到誤差方程如下
式中:ci(i=1,...,7)為變形系數(shù),Δg——窗口像素的灰度差。誤差方程的系數(shù)為
設未知數(shù)的初始值設為
在窗口區(qū)域內(nèi)逐像素建立誤差方程,使用CTCX =CTΔG 解出幾何變形系數(shù)。根據(jù)幾何變形系數(shù)計算匹配點的最佳位置
LSM 的過程可分為如下幾步:①采用NCC 相關系數(shù)對初始匹配點進行修正,得到準確度較高的初始值,分別對圖像的匹配點進行幾何變形改正;②重復采樣得到匹配點幾何變形改正后的灰度值;③計算實際窗口與搜索窗口間的相關系數(shù),判斷是否符合迭代條件 (此處設置一個閾值,可用于剔除誤配點);④計算系統(tǒng)變形參數(shù);⑤計算最佳匹配點位置。
本文選取一組210 張具高分辨率 (6000×4000)的無人機攝影圖像作為實驗數(shù)據(jù),圖像存在輕微的旋轉(zhuǎn),且拍攝場景均為無明顯亮度變化的田地或存在地勢高度差的山林。實驗分為兩部分:①在相似灰度的圖像金字塔頂層提取高準確度的特征匹配點;②驗證本文方法的重建精度;③驗證SFM 新流程的可擴展性。
建立圖像金字塔,在金字塔的第3層執(zhí)行SIFT 特征提取和匹配,得到的部分匹配對如圖4 (a)、(b)所示;從第2層到第0層逐層使用主方向?qū)πD(zhuǎn)圖像進行局部校正,然后使用NCC對特征點坐標進行調(diào)整,調(diào)整后的匹配點位置如圖4 (c)所示;最后在0層執(zhí)行LSM 對匹配點的位置進一步修正,得到更為精確的匹配點,如圖4 (d)所示。
圖4 特征點匹配位置
從圖4 (a)和圖4 (b)可看出僅在頂層金字塔執(zhí)行SIFT 會出現(xiàn)匹配不準確的情況;從圖4 (c)可看出,使用主方向進行局部校正后再使用NCC對匹配點進行初步調(diào)整后匹配點中心位置得到改善,結(jié)果表明本文算法的解決了NCC不適用于旋轉(zhuǎn)圖像的問題;從圖4 (d)看出匹配點經(jīng)LSM 進一步修正后可得到精確的匹配位置。
為了測試本文算法的精確度,圖5給出真實場景中的11個像控點的位置。設開源BA 算法恢復的像控點坐標和實際世界坐標的誤差為 (Δx,Δy,Δz),本文算法恢復的像控點坐標和實際世界坐標的誤差為 (Δx’,Δy’,Δz’),兩誤差之間的比較在圖6顯示。
圖5 像控點位置
圖6 改進算法與BA 回算3D 點的誤差比較
從圖6中可看出回算平面坐標 (x,y)時本文算法的誤差略小于BA 的誤差,但兩者相差不大,誤差都能保持在0.3~0.5之間,不能體現(xiàn)本文算法的優(yōu)勢。然而,在回算高程時本文算法體現(xiàn)了其高精確度。BA 回算的11個像控點的z坐標與像控點實際坐標相差都在1.5m 以上,最大的誤差出現(xiàn)在g109這個點,達到3.8m,這已超出了實際測量的誤差范圍。而本文算法經(jīng)絕對定向得到的高程誤差能保持在1m 左右,其中有5個像控點的誤差在0.5 m以內(nèi),只有g99-1這個像控點的誤差達到1.5m。由此可驗證本文算法在重建精度上優(yōu)于BA,在實際的攝影測量中有較高的應用價值。
圖7是3000張無人機航拍圖像使用本文SFM 方法估計出的相機位姿和恢復的3D 點云,其重投影誤差平均在0.5~0.7之間,運行時間為360min48s。實驗表明本文方法具有可擴展性,能夠自動、有效的處理海量數(shù)據(jù),在海量數(shù)據(jù)航空攝影測量中有一定的實際應用價值。
圖7 密集3D 點云
本文研究一種新的SFM 流程,使用分層匹配方法節(jié)省SIFT 特征點提取和匹配的時間和內(nèi)存開銷,使用特征點主方向?qū)πD(zhuǎn)圖像進行處理,使NCC 適用于無人機航拍圖像。采用改進后的NCC和LSM 依次對SIFT 初始匹配點的中心位置進行調(diào)整,有效的改善了匹配點的位置,提高匹配精度。利用這一匹配結(jié)果進行相機標定并回算3D 點坐標,為后續(xù)的三維重建提供高精確度的密集點云。實驗結(jié)果表明,ABM 與FBM 結(jié)合的SFM 方法在基于無人機海量航拍圖像的三維重建中具有高精確度和可擴展性,在攝影測量行業(yè)中具有一定的應用價值。
[1]Richard Szeliski.Computer vision:Algorithms and applications[M].AI Haizhou,transl.Beijing:Tsinghua University Press,2012:265-273(in Chinese).[Richard Szeliski.計算機視覺--算法與應用[M].艾海舟,譯.北京:清華大學出版社,2012:265-273.]
[2]Sameer Agarwal,Yasutaka Furukawa,Noah Snavely.Building Rome in a day [J].Communications of the ACM,2011,54 (10):105-112.
[3]ZHANG Zuxun.On informatization of surveying and mapping from the development of digital photogrammetry [J].Geomatics and Information Science of Wuhan University,2008,33(2):111-115 (in Chinese).[張祖勛.由數(shù)字攝影測量的發(fā)展談信息化測繪 [J].武漢大學學報·信息科學版,2008,33 (2):111-115.]
[4]Noah Snavely,Steven M Seitz,Richard Szeliski.Modeling the world from internet photo collections[J].International Journal of Computer Vision,2008,80 (2):189-210.
[5]Wu CC,Agarwal S,Curless B.Multicore bundle adjustment[C]//Conference On Computer Vision And Pattern Recognition,2011:3057-3064.
[6]Steve Harwin,Arko Lucieer.Assessing the accuracy of georeferenced point clouds produced via multi-view stereopsis from unmanned aerial vehicle(UAV)imagery [J].Remote Sensing,2012,4 (6):1573-1599.
[7]Sirmacek B,Unsalan C.Urban-area and building detection using SIFT keypoints and graph theory [J].IEEE Transactions on Geoscience and Remote Sensing,2009,47 (4):1156-1167.
[8]YANG Huachao,ZHANG Shubi,ZHANG Qiuzhao.Least squares matching methods for wide base-line stereo images based on SIFT features[J].Acta Geodaetica et Cartographica Sinica,2010,39 (2):187-194 (in Chinese). [楊化超,張書畢,張秋昭.基于SIFT 的寬基線立體影像最小二乘匹配方法 [J].測繪學報,2010,39 (2):187-194.]
[9]Jose L Lerma,Santiago Navarro,Miriam Cabrelles,et al.Automatic orientation and 3D modelling from markerless rock art imagery [J].ISPRS Journal of Photogrammetry and Remote Sensing,2013,76:64-75.
[10]SUN Bojiao,ZHOU Donghua.Rotated image registration method based on NCC [J].Transducer and Microsystem Technologies,2008,27 (5):43-45 (in Chinese). [孫 卜郊,周東華.基于NCC 的存在旋轉(zhuǎn)的圖像匹配方法 [J].傳感器與微系統(tǒng),2008,27 (5):43-45.]
[11]HUANG Zhenbao,CHEN Yang.A fast method for NCC algorithm in image matching [J].Informatization Research,2011,37 (2):48-52 (in Chinese). [黃真寶,陳陽.圖像匹配中NCC 算法的一種快速實現(xiàn)方法 [J].信息化研究,2011,37 (2):48-52.]
[12]WANG Wantong,LIU Pengfei,HAN Zhigang.Multi-sensor image registration method based on SIFT and NCC algorithm[J].Computer Engineering and Applications,2012,48(3):10-12 (in Chinese).[王萬同,劉鵬飛,韓志剛.基于SIFT 和NCC的多源遙感影像配準方法 [J].算機工程與應用,2012,48 (3):10-12.]
[13]ZHOU Shilun.The research and realization of the least squares image matching algorithm [J].Information &Communication,2013,27 (4):35-36 (in Chinese). [周時倫.最小二乘影像匹配算法的實現(xiàn)與研究 [J].信息通信,2013,27 (4):35-36.]
[14]ZHU Zunshang,ZHU Zhaokun,CHEN Shengyi,et al.An adaptive window affine least squares matching method [J].Journal of National University of Defense Technology,2013,35 (4):46-50 (in Chinese). [朱遵尚,朱肇昆,陳圣義,等.自適應窗口仿射最小二乘匹配方法 [J].國防科技大學學報,2013,35 (4):46-50.]
[15]KOU Rong.Study on the correlation coefficient and the least square image matching algorithm [J].Inner Mongolia Science Technology & Economy,2010 (17):60-63 (in Chinese).[寇蓉.相關系數(shù)與最小二乘影像匹配算法的研究 [J].內(nèi)蒙古科技與經(jīng)濟,2010 (17):60-63.]