徐娜
(遼寧省基礎測繪院,遼寧錦州 121003)
利用像素工廠制作多源數據的正射影像產品時,空三加密處理是最為關鍵的一步,它直接影響到正射影像的整體精度,因此空三加密處理在整個正射影像過程中占有至關重要的地位[1]。本文對像素工廠空三加密過程中常遇到的問題進行總結和分析,并提供解決方案,為后續生產提供有利的技術依據。
空三加密通過連接點和控制點來確定平面和高程的位置,點的數量和分布直接決定空三加密的精度[2]。像素工廠下進行空三加密,首先是進行連接點的匹配和優化,然后匹配控制點,最后做連接點和控制點的聯合優化,直至最終成果符合要求[3]。
像素工廠導入影像后一般就開始空三加密處理,在開始空三加密之前要做好空三前的數據檢查[4]。
問題一:如何對空三加密前的數據進行檢查?
解決辦法:首先通過cli_calib_init命令創建一個空三文件夾是最簡單最直接的檢查方式。
要點一:利用specif_chantier查看影像數量是否有出入。
要點二:查看POS初始精度(多相機平臺只需要查看下視影像)。一般需導入一個外部的DEM作為空三的參考,比如免費的srtm或gdem,兩個數據精度差不多,在地形平坦起伏不大的區域建議用srtm,地形復雜的丘陵山區地帶建議用gdem。或者是自己已有更高精度的dem,總之dem精度越高越好。Bundleview打開所有影像,加載外部dem,選擇地形平坦的區域,點擊左上角的TIE綠色小圓圈,投一個點下去。觀察在pointview在各個影像上的位置相差多少,就能估算POS的初始精度。
問題二:如果在bundleview里面發現同一條航線內或不同航線間的影像連接不上,該如何處理?
解決辦法:這種情況一般是kappa角出了問題。
1. 轉角系統需要統一。像素工廠默認的旋轉角系統為Omega-phikappa轉角系統,國產有些軟件輸出的為zyx轉角系統。
2. 一個正常的初始影像數據需要做到同一條航線內或不同航線間的影像能連接上。
3.在bundleview選取一個明顯地物點,右鍵復制經緯度,然后粘貼到googleearth中,觀察googleearth中地物的方向是否跟bundleview中顯示的方向是否一致。如果不一致,可以對比觀察導入前的原始tif影像需要旋轉多少角度才能跟googleearth上一致,對比這個旋轉角跟EO中的kappa角相差多少,然后再根據具體情況分析如何調整kappa角。
像素工廠現有的連接點匹配方法分為兩大類[5]:基于物方的連接點匹配和SIFT特征點匹配(表1)。
像素工廠匹配連接點過程分為三個步驟[6]:每張影像打初始點(getgcp)、 將初始點投影到specif_chantier的所有影像上去(gcpi) 、 對投影點結果里進行連接點匹配(matchgcp),如圖1。
問題一:對于不同數據源應如何選擇連接點匹配方法?
解決辦法:對不同傳感器模型,對于連接點的匹配方法有以下建議:
UAV無人機數據:初始POS姿態較差,影像畸變大,可以SIFT為主匹配連接點,少數情況下點不夠可用point_repartition或matchgcp補點。

表1 像素工廠匹配方法

圖1 像素工廠連接點匹配過程示意圖
框幅Frame數據:POS精度高,影像畸變小,以matchgcp為主。
遙感衛星影像RPC數據和退掃式ADS數據:POS精度很高,影像無畸變,只能用matchgcp或point_repartition來匹配連接點。
問題二:困難地區匹配不上連接點該如何處理?
解決辦法:對于困難區域例如大面積的山地,林地或者時相不佳的數據,存在難以匹配到連接點的問題,針對這個問題有如下建議:
UAV無人機數據:已經基本不存在缺點的情況;
框幅Frame數據:可用SIFT補點;
遙感衛星影像RPC數據和退掃式ADS數據:
(1)getgcp 適當加大困難區域打點密度,可用-ix iy x y定義搜索范圍;
(2)gcpi 推薦使用srtm或者更高精度的dem作為參考輔助;
(3)針對地形起伏較大的數據,matchgcp給定合適的-zmin zmax范圍;
(4)降低matchgcp的參數-s 改成0.7或者0.65(注意不要低于0.6),-t改小(默認值為4,最小可改到1);
(5)根據影像原始姿態精度適當調整 xmax ymax(匹配搜索范圍);
(6)使用point_repartion, 調整-min_overlap_points或者-min_overlap_density參數增大打點密度。
像素工廠得到足夠且分布合理的連接點,如何檢測連接點分布是否足夠也非常關鍵。
問題一:如何檢查連接點分布和數量?
解決辦法:像素工廠提供兩個工具可以對連接點的分布和數量進行檢查:
工具一: blkprocess
blkprocess trace_calib -tracknum 9-sortby
這個工具可查看航帶間和航帶內的點數量,還能看到每張影像上所有連接點的中誤差。
工具二:QA工具檢查點的連通性
/home/pfuser/QA/qa_general_analy sis.sh -s specif_chantier -t tie.gcp -n 50-i 3
“-n 50 i 3 ”是決定輸出結果的參數,代表的意思是一張影像跟其他任意一張影像之間有至少50個點可以連起來,而且與其他影像之間貫通性不少于3個連接才能放到ConnectedComponent里面(可根據具體情況適當降低標準,最小建議值為-n 20 -i 1)[7]。
該工具輸出結果:生成QUALITY文件夾,及相應的5個文本文件,分別為PointNumPerImage;PointMultiplicity;SortedPairs;ConnectedComponent;CriticalPairs。該 工具主要查看ConnectedComponent,看是否最大的一個Component是否包含了所有的影像:
a.如果是,則可以說明點的數量足夠;
b.如果不是,則需要檢查在最大的Component里漏掉的影像,并針對這些影像進行補點。圖2和圖3兩張影像中分別是兩個項目的component情況。
可以看到,圖2影像斷成兩個connectedcomponent,這種情況下說明連接點分布不佳,需要用命令重新匹配加點。圖3幾乎所有影像連接成為一個完整的connected component,只有少量影像游離于這個component之外,可以檢查這些少量影像的分布是否重要,手動加一些點即可。如果這些影像在區域邊緣或其他不重要的地方,在不影響最終成果的基礎上,可以去掉這些影像。
空三加密的大部分時間都花在了調連接點上,所以如何快速高效地調連接點是空三最關鍵的一部分[8]。
問題一:如何快速高效地調連接點?
解決辦法:因為像素工廠連接點是全自動獲取的,所以不可避免地會存在一部分錯點,調連接點的過程實際上就是一個去掉錯點的過程。
第一步:全自動匹配獲取連接點,需要注意的是這個連接點必須符合以下要求:
均勻分布,維度合適,整個空三網結構才夠穩定;絕大部分是對的點,少量錯點,這樣才能保證殘差大的點為錯點。
第二步:優化,給定合適的sigma參數,clbc會根據絕大部分對的點整體運算返回一個殘差報告。
如果點的結構和sigma參數合理,我們可以判斷殘差大的點是錯點,其中會有少部分對點受到附近錯點的影像也會有一個大的殘差,但是總的基礎不影響。
第三步,根據殘差報告,設定一個閾值,濾除部分殘差大的點。需要注意的是,一次刪點不能過多,循序漸進。

圖2 斷開的component

圖3 滿足條件的component
第四步, 對上一步的點結果優化,根據上一步得到的殘差報告,設定合適的閾值,濾除部分錯點, 就這樣反復優化并濾點,直到最終的殘差報告符合要求。
因此,快速高效得到最終連接點結果最重要的幾點如下:
(1)分布均勻,維度足夠,也就是能夠把所有影像能夠緊密連接起來的初始連接點。這個連接點還必須是絕大部分是對的點,少量錯點,因此在一些困難區域想不建議把相似度-s降到0.6以下。
(2)在不同的階段根據數據點的特點,給定合適的sigma參數。sigma設置遵照由少到多,由小到大循序漸進的原則。
(3)在調點過程中,需要注意不時檢查點數量和component,如果最開始的點很好,但是調點過程中,點都被刪沒了,那就需要注意檢查一下使用的sigma和group文件參數是否有問題。
問題一:如何對空三加密進行精度控制?
解決辦法:空三加密的精度直接決定后期影像的精度,因此有如下建議:
(1)連接點數量與分布:QA和blkprocess工具在優化迭代過程中要反復使用,以保證整個空三調點過程中點數量足夠。
(2)控制點分布是否合理:控制點要均勻分布測區內部,對控制點需求視原始POS精度而定,連接點連接弱的區域,如水體,山區或者單獨凸出的航線分支需要適當加一些控制點。
(3)控制點權重設置 :關于控制點的權重設置一般都建議給影像分辨率大小,或者如果控制點可信度高,可根據其本身精度來設置權重。
問題二:如何進行空三加密接邊?
解決方法:如A區的數據已經導入做完空三,而與其接邊的B區數據還未做空三,那么在B區數據完成空三加密后,需要對A區和B區進行空三加密接邊來保證后期兩區數據能做到無縫拼接。
對于這種情況,建議流程如下:第一步,完成A區空三,提取A區最后一次優化輸出的點opt.gcp;第二步,提取A區opt.gcp中公共區的點文件,另外A區提取的公共點需要給出一定的控制權重,然后與B區的連接點進行聯合優化。這樣從理論上來兩個區域就可以實現空三加密的無縫拼接了。
利用像素工廠制作正射影像,無論是衛星影像、ADS推掃影像還是無人機以及框幅影像,空三加密處理是處理多源數據制作DOM流程中最為重要也是最難的一步。本文主要對空三加密處理過程中經常遇到的問題進行總結,并提出了相應的解決方案,為后續生產提供了有力的技術支撐。