王安磊,甘淑,袁希平
(1.昆明理工大學(xué)國土資源工程學(xué)院,云南 昆明 650093; 2.云南省高校高原山地空間信息測繪技術(shù)應(yīng)用工程研究中心,云南 昆明 650093; 3.滇西應(yīng)用技術(shù)大學(xué)云南省高校山地實景點云數(shù)據(jù)處理及應(yīng)用重點實驗室,云南 大理 671006)
無人機航空攝影測量技術(shù)以其機動、靈活、高效率、低成本、易操作以及在應(yīng)急救災(zāi)和小范圍數(shù)據(jù)快速獲取和成圖方面的獨特優(yōu)勢成為常規(guī)航空攝影測量手段的有效補充,帶來航空攝影測量應(yīng)用領(lǐng)域的變革,同時為大比例尺地形圖測繪提供了新的技術(shù)手段[1]。但相比較傳統(tǒng)航空攝影的專用航攝儀而言,無人機通常選用廣角CMOS數(shù)碼相機作為成像系統(tǒng),而普通單反或無反相機屬非量測相機,其影像的光學(xué)畸變大,而相機鏡頭畸變差會造成相點坐標(biāo)位移,使鏡頭中心、像點和對應(yīng)的物點不能滿足中心投影的光學(xué)共軛關(guān)系,從而降低影響的配準(zhǔn)精度[2]。如果相機畸變不能有效去除,會直接導(dǎo)致空三無法滿足精度要求、立體像對模型差大、接邊工作量增大,也難以滿足 1∶500比例尺測圖的需要[3]。
相機檢校技術(shù)可以得到相機的內(nèi)方位元素和畸變參數(shù)[4],恢復(fù)正確的光束形狀,進而提高地形圖測繪和實景三維建模的精度。目前,相機檢校的方法較多,但是通常在實用性和精度兩方面難以兼得,在實際應(yīng)用中還要綜合考慮工作條件、成本高低、精度需求等因素來選擇一個合適的檢校方法[5]??傮w上相機檢校方法可以分為基于控制場和無須控制場的相機檢校兩類。具體檢校方法又可分為光學(xué)實驗室法、控制場檢校法、在任檢校法和恒星檢校法[6],其中基于控制場的檢校方法在可操作性和精度上相對最優(yōu),因此該類方法應(yīng)用較為廣泛。文獻[7]提出了一種基于棋盤格的標(biāo)定方法,該方法是研究相機標(biāo)定的經(jīng)典方法。該方法由兩部分組成,首先對相機的參數(shù)進行估計,再用優(yōu)化函數(shù)進行迭代改正,最終得到高精度解。文獻[8]提出了基于二維的直接線性變換算法和光束法的相機檢校方法。文獻[9]將張正友的棋盤格法進行簡化后,得到了一種快速平面標(biāo)定的方法,通過提高內(nèi)方位元素初始值的準(zhǔn)確度,減少了運算時迭代的次數(shù),使標(biāo)定變得更為快速。文獻[10]利用共面條件方程這一約束條件,建立了基于附加約束條件的光束網(wǎng)平差的相機標(biāo)定方法。文獻[11]進行了對張正友法的改進研究,將求解出來初始參數(shù)用非線性最小二乘法進一步完善,得到內(nèi)外方位元素,提高了初始數(shù)值的魯棒性,加入了切向畸變,提高了標(biāo)定的收斂速度。
在以往的標(biāo)定中,通常是利用經(jīng)典的Chessboard標(biāo)定,Chessboard圖案的每個角都用兩個黑色方塊圍繞,能夠更精確地細化,但是使用Chessboard存在缺點,其要求不可以有遮擋,即像場內(nèi)整個圖案可見。而ArUco圖案可以解決被遮擋的問題,使用ArUco模塊,可以通過ArUco標(biāo)記進行校準(zhǔn),同時使用ArUco進行校準(zhǔn)比使用傳統(tǒng)的Chessboard更為靈活和方便,但是ArUco標(biāo)定法仍存在的不足,即便其角點經(jīng)過亞像素細化,對該標(biāo)定板的角點位置的識別的準(zhǔn)確性也并不高。所以使用將Chessboard與ArUco結(jié)合的ChARUco圖案進行無人機鏡頭畸變解算,并與傳統(tǒng)的Chessboard圖案相比較,最后使用解算出的參數(shù)對實驗區(qū)的正射影像圖進行畸變校正,并檢驗檢查點的點位精度。
計算機視覺中,系統(tǒng)要完成計算對三維場景中目標(biāo)物體的描述、識別和理解等任務(wù),其中相機對目標(biāo)物體拍攝圖像是系統(tǒng)中必不可少的過程。相機拍攝所獲得的二維圖像是以像素為單位的,相機標(biāo)定要解決的問題就是建立物體的三維空間坐標(biāo)和對應(yīng)二維圖像坐標(biāo)之間的對應(yīng)關(guān)系。相機成像模型決定了目標(biāo)物體表面點的世界坐標(biāo)與其在二維圖像中的像素坐標(biāo)的對應(yīng)關(guān)系。成像模型的幾何參數(shù)代表了相機具有的參數(shù),為了描述相機成像模型中的各個參數(shù),在計算步驟中涉及四個坐標(biāo)系,即世界坐標(biāo)系、相機坐標(biāo)系、圖像坐標(biāo)系和像素坐標(biāo)系,并且需要知道這四個坐標(biāo)系之間的轉(zhuǎn)換關(guān)系[12]。
(1)相機參數(shù)的初始估計
標(biāo)定方法假定模板平面放置在世界坐標(biāo)系中Z=0的平面上,相機的成像模型則可以表示為:
(1)
(2)
因相機有五個位置參數(shù),所以當(dāng)相機拍攝得到的圖像數(shù)大于或等于3時,就可以求出唯一解。
令:
(3)
vij=[hi1hj1, hi2hj2+hi2hj1, hi2hj2, hi1hj3, hi3hj2+hi2hj2, hi3hj3]
再根據(jù)H=[h1h2h3]=λK[r1r2t]可以得到:
(4)
由‖r1‖=‖r2‖=1,可以求出λ的值。至此求出所有的相機參數(shù)。
(2)參數(shù)優(yōu)化
在理想的狀態(tài)下,像素坐標(biāo)系下的坐標(biāo)與三維空間點的坐標(biāo)通過所求出的相機參數(shù)矩陣投影到像素坐標(biāo)系是同一個點,但在實際應(yīng)用中會存在誤差,所以為了得到更加精確的相機參數(shù),可以通過投影誤差最小化函數(shù)來對相機參數(shù)迭代優(yōu)化。如下:
(5)
式中m為像素坐標(biāo)系下的坐標(biāo),m(K,Ri,ti,Mj)表示三維空間點的坐標(biāo)經(jīng)過初始估計的相機參數(shù)投影變換到像素坐標(biāo)系下的坐標(biāo)。
Chessboard是將約定大小的正方形黑白格子,規(guī)則排列形成的國際象棋棋盤狀的圖案,如圖1所示。使用Chessboard進行相機標(biāo)定時,檢測的特征點為黑白相間的格子的內(nèi)角點,其對應(yīng)數(shù)學(xué)上的鞍點的概念,理論無限小,所以針對內(nèi)角點的檢測可達到較高的精度。
圖1 Chessboared內(nèi)角點
檢測Chessboard內(nèi)角點時,因為局部平均自適應(yīng)閾值化方法對亮度不均勻情況適應(yīng)性強,所以首先將圖像二值化,圖像膨脹可以分離黑色塊與白色塊斷掉其銜接,而后計算每個輪廓的凸包,進行多邊形檢測以及判斷是否有且只有四個頂點,再應(yīng)用長寬比、周長和面積等指標(biāo)約束去除一些干擾計算的四邊形[13]。
但使用Chessboard仍存在著若干局限性,其要求整個圖案在像場中可見,否則便不能檢測;而且關(guān)于Chessboard檢測的一個重要細節(jié)是,為了保持其旋轉(zhuǎn)不變,其行列數(shù)必為一奇一偶,不可同為偶數(shù)或同為奇數(shù),否則會使圖像解算產(chǎn)生模糊性而導(dǎo)致歧義。
ArUco標(biāo)記是二進制正方形基準(zhǔn)標(biāo)志物,它由一個較寬的黑邊和一個嵌入其內(nèi)部的二進制矩陣組成,如圖2所示,該矩陣決定了它的ID。黑色的邊界有利于快速檢測到圖像,二進制編碼可以驗證ID,并允許錯誤檢測和矯正技術(shù)的應(yīng)用[14]。它的優(yōu)點是檢測快速,簡單而穩(wěn)健。
圖2 ArUco二維矩陣
ArUco檢測不要求圖案在像場內(nèi)全部可見,當(dāng)圖像中有一些標(biāo)記可見時,首先會對候選標(biāo)記進行檢測。該算法首先對圖像進行自適應(yīng)閾值分割,然后從分割后的圖像中提取輪廓線,剔除不凸或不近似正方形的輪廓線。在候選標(biāo)記檢測之后,需要通過分析它們的內(nèi)部編碼來確定它們是否是正確的標(biāo)記物。首先應(yīng)用透視變換來獲得標(biāo)準(zhǔn)形式的標(biāo)記以提取每個標(biāo)記的標(biāo)記位[15]。ArUco獲取的特征是其二進制矩陣的外輪廓線和該二進制矩陣本身,所以其對特征的定位精度相對較低。
研究工作的實驗條件主要包括硬件條件、軟件條件和研究實驗區(qū)三個方面。其中,硬件條件包括PENTAX K-3 Ⅱ型單鏡頭反光數(shù)碼相機、大疆Phantom 4 Pro四旋翼無人機、棋盤格標(biāo)定板、ChARUco標(biāo)定板、地面像控點若干;軟件條件涉及Cygwin64開源環(huán)境、Python 3.8.10、opencv-python 4.5.3、opencv-contrib-python 4.5.3、numpy 1.21.2、Pix4Dmapper 4.5.6、ArcGIS 10.3;研究實驗區(qū)選擇了昆明理工大學(xué)蓮華校區(qū)。
為保障數(shù)據(jù)成果精度,關(guān)于像控點的位置選取,在預(yù)設(shè)范圍內(nèi)盡量選擇平整地面明顯標(biāo)志點,如斑馬線角點、檢修井中心點等地面點點位[16],在研究區(qū)內(nèi)均勻布設(shè)14個控制點,5個作為像控點,9個作為檢查點。
表1 像控點坐標(biāo)列表
表2 部分檢查點坐標(biāo)列表
使用大疆Phantom 4 Pro四旋翼無人機對測區(qū)進行數(shù)據(jù)采集,航高 45 m,航向重疊度和旁向重疊度均設(shè)為80%,共獲取745張照片。
本研究使用Pix4Dmapper進行無人機影像的拼接和成果輸出:首先,導(dǎo)入POS數(shù)據(jù)和GCP點對應(yīng)的三維空間坐標(biāo)信息,對應(yīng)進一步優(yōu)化并生成飛行區(qū)域內(nèi)的稀疏點云;其次,基于具有空間信息的稀疏點云進行飛行區(qū)域內(nèi)的密集點云的構(gòu)建[17],生成飛行區(qū)域的3D多邊形格網(wǎng);最后,生成實驗區(qū)的正射影像圖DOM和數(shù)字地表模型DSM。
表3 檢查點與初始DOM測量值比較表
ChARUco標(biāo)定板規(guī)格如下:為8行9列,圖案中每個格子的邊長為 2.5 cm,其中的ArUco碼的邊長為 1 cm。Chessboard標(biāo)定板規(guī)格如下:為8行9列,圖案中每個格子的邊長為 2.5 cm。使用PENTAX K-3 Ⅱ型單鏡頭反光數(shù)碼相機固定焦距 70 mm對Chessboard標(biāo)定板從不同角度拍攝20幅圖像,由于Chessboard標(biāo)定本身的特點,要求每張照片中的標(biāo)定圖案完整無遮擋;再使用該型相機對ChARUco標(biāo)定板從不同角度拍攝20幅圖像,且不再要求標(biāo)定圖案完整。
表4 PENTAX K-3Ⅱ相機參數(shù)
將獲取的圖像導(dǎo)入Cygwin64開源環(huán)境,編寫對應(yīng)兩種標(biāo)定圖案的Python程序,標(biāo)定程序依賴opencv-python、opencv-contrib-python和numpy三種開源函數(shù)庫。
表5 ChARUco圖案檢校結(jié)果
表6 Chessboard圖案檢校結(jié)果
經(jīng)過這一步驟,可以得到如下結(jié)論:ChARUco標(biāo)定圖案可以在一定程度上彌補Chessboard標(biāo)定圖案的缺點和不足,可以在圖案不完整的情況下求得內(nèi)參矩陣和光學(xué)畸變參數(shù),提高了標(biāo)定的靈活性簡化了標(biāo)定的難度,但是在精度上有一定程度的下降。
使用大疆Phantom 4 Pro四旋翼無人機采集ChARUco標(biāo)定圖案的若干照片,再在Cygwin64開源環(huán)境中使用前一步驟的基于opencv-python的畸變計算程序求得其光學(xué)畸變參數(shù),將該畸變參數(shù)輸入到Pix4Dmapper的相機模型中,重新生成研究區(qū)的正射影像圖。
在ArcGIS中瀏覽該正射影像圖,顯示像控點與檢查點的坐標(biāo)。仍然將使用全站儀測得的像控點及檢查點的坐標(biāo)作為真值,校正后的DOM中獲得的控制點和檢查點的坐標(biāo)與真值對比如下。
表7 初始DOM測量值與改正后DOM測量值比較表
圖3 改正前后檢查點中誤差對照圖
實驗結(jié)果表明,ChARUco標(biāo)定圖案并結(jié)合張正友法對小型消費級無人機進行性相機標(biāo)定,從大比例尺測圖的要求出發(fā),點位精度無顯著差異,均滿足大比例尺測圖對點位精度的需要。
本文以昆明理工大學(xué)蓮華校區(qū)作為研究實驗區(qū),利用四旋翼輕型電動無人飛機航攝系統(tǒng)和常見的單鏡頭反光相機,基于Pix4dMapper以及Cygwin64開源環(huán)境和opencv-python等軟件,對Chessboard和ChARUco兩種標(biāo)定圖案的優(yōu)缺點及正射影像圖的點位精度影響進行探討,根據(jù)精度驗證的分析結(jié)果,得到以下結(jié)論:
(1)Chessboard標(biāo)定圖案進行相機標(biāo)定的重投影誤差較小,精度較高,但是對采集影像要求較高,需要圖像完整和清晰;而ChARUco標(biāo)定圖案可以在一定程度上彌補Chessboard標(biāo)定圖案的缺點和不足,可以在圖案不完整的情況下求得內(nèi)參矩陣和光學(xué)畸變參數(shù),提高了標(biāo)定的靈活性簡化了標(biāo)定的難度,但是在精度上有一定程度的下降。
(2)應(yīng)用ChARUco標(biāo)定圖案并結(jié)合張正友法對小型消費級無人機進行性相機標(biāo)定,從大比例尺測圖的要求出發(fā),點位精度無顯著差異,均滿足大比例尺測圖對點位精度的需要。
進一步思考,關(guān)于無人機測圖的質(zhì)量控制,建議除需要對非量測相機進行標(biāo)定之外,還要綜合考慮像控點的布設(shè)以及測區(qū)環(huán)境等因素,也有待進一步驗證和研究。