鄧 晨,游 雄,張威巍,智梅霞
1. 信息工程大學(xué)地理空間信息學(xué)院,河南 鄭州 450052; 2. 武漢大學(xué)測繪遙感信息工程國家重點(diǎn)實(shí)驗(yàn)室,湖北 武漢 430079
近年來,增強(qiáng)現(xiàn)實(shí)(augmented reality,AR)技術(shù)與地理信息系統(tǒng)(geographic information system,GIS)結(jié)合應(yīng)用開始受到廣泛的關(guān)注[1-2],特別是在城市環(huán)境中,通過將3D城市建筑模型、路網(wǎng)信息、興趣點(diǎn)信息、交通信息、街道導(dǎo)航信息等數(shù)據(jù)逐層精確的疊加到對應(yīng)的建筑物和街道上,可以在戶外大范圍空間中為用戶提供AR平視導(dǎo)航與位置服務(wù),方便用戶日常出行[3]。
支持上述增強(qiáng)現(xiàn)實(shí)地理信息系統(tǒng)(augmented reality geographic information system,ARGIS)應(yīng)用的一項(xiàng)關(guān)鍵技術(shù)是戶外增強(qiáng)現(xiàn)實(shí)地理配準(zhǔn)技術(shù)(geo-registration),即在真實(shí)的地理空間中,將具有三維位置的地理信息疊加在AR顯示器上,使用戶從不同視角觀察時,虛擬信息都能夠與真實(shí)世界中的對象準(zhǔn)確套合。如圖1所示,地理配準(zhǔn)技術(shù)的突出特點(diǎn)是可以戶外大范圍空間中,將大量相關(guān)的地理信息直觀呈現(xiàn)在用戶視野中,顯然,虛擬信息與現(xiàn)實(shí)世界對象精確套合(配準(zhǔn))的程度,即虛實(shí)配準(zhǔn)的精確度,對戶外AR應(yīng)用的可用性有顯著的影響。實(shí)現(xiàn)高精度的地理配準(zhǔn)才能為用戶提供精細(xì)、精確、與位置相關(guān)的信息內(nèi)容服務(wù)。
圖1 在(a)中,用戶仍需要努力辨別信息與現(xiàn)實(shí)物體的對應(yīng)關(guān)系;(b)中,多種地理內(nèi)容如3D建筑輪廓、興趣點(diǎn)/區(qū)域、道路、街道名稱等混合在同一個虛實(shí)高精度配準(zhǔn)的增強(qiáng)現(xiàn)實(shí)視圖中,直觀增強(qiáng)用戶對周圍環(huán)境的感知Fig.1 In (a),the user still needs to work hard to distinguish the correspondence between the information and the real objects; in (b), a variety of geographic content such as 3D building outlines, points/ areas of interest, roads, street names, etc. are mixed in the same high-accuracy augmented reality view, and intuitively enhance the user’s perception of the surrounding environment
當(dāng)前,戶外ARGIS系統(tǒng)地理配準(zhǔn)技術(shù)主要有3類[4-6]。第1類是基于位姿傳感器的地理配準(zhǔn)方法。目前文獻(xiàn)[7—10]等基于各類便攜式位姿傳感器在戶外環(huán)境中進(jìn)行了實(shí)時定位與地理配準(zhǔn)研究,但試驗(yàn)結(jié)果表明普通便攜式位姿傳感器易受測量噪聲和干擾因素的影響而存在測量誤差,例如普通的GPS、北斗等衛(wèi)星定位接收終端(如手機(jī)中集成的定位芯片)通常會有米級到10 m級的定位誤差,磁力計(jì)受磁干擾影響通常也存在5°~10°的航向角偏差,因而直接使用移動便攜式位姿傳感器測量的6自由度(6 degree of freedom,6DOF)位姿往往難以實(shí)現(xiàn)較高精度的地理配準(zhǔn),仍需要通過人工交互方式[11]改善配準(zhǔn)精度。第2類方法是基于預(yù)先準(zhǔn)備的具有地理坐標(biāo)參考的點(diǎn)云數(shù)據(jù),根據(jù)PnP的基本原理進(jìn)行視覺地理定位進(jìn)而實(shí)現(xiàn)地理配準(zhǔn)[12-13]。這種方法通??梢赃_(dá)到較高的配準(zhǔn)精度,但是其必備的前提是必須要在試驗(yàn)區(qū)域預(yù)先采集大量的參考圖像并重建大量的點(diǎn)云數(shù)據(jù)庫,而后及時更新。根據(jù)文獻(xiàn)[14]的分析,即使在較小場景中這類方法所需的視覺參考庫也將是非常巨大的,例如,街景圖像采集設(shè)備在100 m的距離上平均采集的圖像數(shù)據(jù)約為3~5 GB,重建生成點(diǎn)云參考數(shù)據(jù)也通常也達(dá)數(shù)GB以上;在戶外較大的環(huán)境中,移動終端本身往往難以存儲所有的點(diǎn)云參考數(shù)據(jù),因而必須借助服務(wù)器和網(wǎng)絡(luò)給移動終端實(shí)時傳送視覺參考數(shù)據(jù)[15-16],這很容易給原本復(fù)雜、耗時、耗能的視覺計(jì)算帶來更大的延遲和消耗。第3類方法是在上述兩種方法基礎(chǔ)上實(shí)現(xiàn)視覺-位姿傳感器混合定位與配準(zhǔn)的方法,但目前這類方法研究較多的是將IMU與視覺SLAM方法結(jié)合進(jìn)行混合位姿跟蹤[17-18]。其特點(diǎn)是在臨時設(shè)置的局部坐標(biāo)系中實(shí)時、準(zhǔn)確的跟蹤用戶(或相機(jī))的相對位姿,較少顧及用戶(或相機(jī))相對于地理坐標(biāo)系的初始絕對6DOF位姿。近年來,文獻(xiàn)[19—20]提出了一種在野外條件下基于DEM數(shù)據(jù)進(jìn)行視覺定位進(jìn)而校正位姿傳感器初始定位結(jié)果的思路,特別的是該方法能通過視覺定向自動校正位姿傳感器水平航向角的測量誤差,輔助提高基于位姿傳感器的AR地理配準(zhǔn)絕對精度。受這一工作的啟發(fā),本文試圖建立一種在城市環(huán)境中借助廣泛易得的2D地圖數(shù)據(jù)為參考進(jìn)行視覺定位,并自動校正位姿傳感器的初始6DOF定位結(jié)果,進(jìn)而提高戶外AR地理配準(zhǔn)精度的技術(shù)框架與方法。
當(dāng)前,城市環(huán)境中2D地圖可以通過公開的地圖數(shù)據(jù)源(如通過OpenStreetMap)廣泛獲取,經(jīng)過適當(dāng)?shù)牡乩矶ㄎ恍U?,即可具備較高精度的地理參考。但是地圖只包括場景頂視圖的輪廓結(jié)構(gòu)信息,沒有場景的表面紋理信息,必須要通過圖像處理方法提取圖像中的特定特征(如線特征)與2D地圖進(jìn)行對應(yīng)才能求解圖像位姿。文獻(xiàn)[21]率先提出了一種從圖像中提取建筑分段線性輪廓結(jié)構(gòu)與2D地圖匹配求解圖像位姿的方法,但該方法定位精度不高,且需要使用寬視野的全景圖像為輸入;文獻(xiàn)[22]提出了一種使用圖像中建筑垂直輪廓線與2D地圖中建筑角點(diǎn)對應(yīng)求解單張圖像位姿的方法,該方法可以對普通視野圖像進(jìn)行處理并得到較高的定位精度,但是需要通過人工輔助以準(zhǔn)確提取建筑垂直輪廓線,尚不能完全自動實(shí)現(xiàn)。在參考借鑒文獻(xiàn)[21—22]工作的基礎(chǔ)上,本文借助當(dāng)前性能較好的圖像處理方法,實(shí)現(xiàn)了一種自動提取圖像上同一建筑的3條可見垂直邊緣輪廓線,并與2D地圖上相應(yīng)建筑的3個角點(diǎn)對應(yīng),求解相機(jī)在平面上的2D位置和水平航向角yaw(本文中稱為2D平面位姿)的方法;進(jìn)一步與重力加速度計(jì)測得的俯仰角pitch和滾動角roll,以及預(yù)先設(shè)定的高程值h(或者GNSS測量的高程值)組合后,可以得到優(yōu)化的相機(jī)6DOF絕對位姿(本文中稱為3D位姿),用于戶外AR地理配準(zhǔn)。如圖2所示,是本文研究的輸入與輸出:視覺輔助位姿優(yōu)化及相應(yīng)戶外AR地理配準(zhǔn)結(jié)果對比效果圖。
圖2 視覺輔助位姿優(yōu)化與地理配準(zhǔn)精度改進(jìn)效果對比Fig.2 Effects of visual aided pose optimization and geo-registration accuracy improvement
使用局部區(qū)域中的2D地圖,特別是只使用2D地圖中的建筑角點(diǎn)信息進(jìn)行視覺定位時,所需參考的數(shù)據(jù)量將到達(dá)非常小的量級(如KB級),因?yàn)樵?00 m×100 m區(qū)域范圍內(nèi)定位參考數(shù)據(jù)一般不超過十幾KB,并且容易準(zhǔn)備和獲得;這非常吻合本文研究的最終目標(biāo),即實(shí)現(xiàn)一種“輕量”的視覺定位方法對傳感器獲取的初始粗略6DOF絕對地理位姿進(jìn)行“離散”的校正和優(yōu)化,以期最終提高戶外AR“連續(xù)”地理配準(zhǔn)的精度。下面具體對基于2D地圖的視覺輔助位姿優(yōu)化方法進(jìn)行介紹。
如圖3所示,是基于2D地圖數(shù)據(jù)對圖像進(jìn)行定位進(jìn)而對位姿傳感器獲取的初始6DOF位姿進(jìn)行優(yōu)化的整體框架,其中,位姿傳感器獲取的粗略6DOF位姿是視覺定位的初始輸入,而視覺定位的結(jié)果反過來可以對傳感器的測量結(jié)果進(jìn)行校正。
2D地圖中的建筑底圖角點(diǎn)通常對應(yīng)于現(xiàn)實(shí)場景中建筑不同立面的垂直邊緣交線,通過將建筑底圖中的角點(diǎn)與圖像中提取的垂直邊緣線對應(yīng),可以求解出當(dāng)前圖像的平面2D位置和方向。但是在實(shí)際過程中,一方面從圖像多而雜的線特征中準(zhǔn)確、自動地識別出建筑垂直輪廓線就是相當(dāng)具有挑戰(zhàn)性的工作[22];另一方面,因?yàn)?D地圖并沒有場景表面描述信息,即使準(zhǔn)確識別出建筑垂直輪廓線,也難以直接通過特征描述符匹配建立垂直邊緣輪廓線與地圖建筑角點(diǎn)的對應(yīng)關(guān)系。因此,本文一方面借助當(dāng)前較好的圖像處理方法,實(shí)現(xiàn)自動識別圖像中的建筑垂直輪廓線;另一方面,采用先假設(shè)后驗(yàn)證的方式,在局部地圖范圍內(nèi)先假設(shè)垂直邊緣輪廓線與地圖建筑角點(diǎn)的對應(yīng)關(guān)系,建立起圖像所有可能的2D位姿假設(shè)集合,然后根據(jù)傳感器初始的位姿輸入篩選出可能的最優(yōu)解,最終實(shí)現(xiàn)對初始位姿的優(yōu)化校正。
因此,本文的位姿優(yōu)化方法實(shí)際上可以分為以下3個步驟:①對輸入圖像進(jìn)行校正和特征提?。虎诟鶕?jù)假設(shè)的圖像特征與2D地圖建筑角點(diǎn)對應(yīng)關(guān)系,計(jì)算可能的2D位姿假設(shè)集合;③根據(jù)位姿傳感器的初始位姿,篩選最優(yōu)解。下面具體對每一個步驟進(jìn)行介紹。
1.1.1 圖像滾動傾角校正
因?yàn)樵趯?shí)際觀察時,相機(jī)拍攝容易存在一定的滾動傾斜,會對建筑垂直輪廓線的準(zhǔn)確識別帶來影響,因此需要校正。文獻(xiàn)[22—23]提出了一種基于圖像特征自動校正滾動傾角的方法,一方面這種方法相對復(fù)雜,且能夠自動校正的傾角閾值范圍較??;另一方面,在相對靜態(tài)條件下,重力加速度計(jì)測得的俯仰角和滾動角通常具有較高的精度,因此本文使用重力加速度測得的滾動角對圖像進(jìn)行校正,使得從校正后的圖像中提取的垂直直線能夠匯聚交于以圖像主點(diǎn)為原點(diǎn)的y軸上,水平消隱點(diǎn)的連線與圖像x軸平行。后續(xù)的試驗(yàn)表明,在相對靜態(tài)條件下,重力加速度計(jì)測量的傾角具有較高的精度,可以基本滿足本文需求。
此外,攝像機(jī)的主點(diǎn)、焦距等內(nèi)參數(shù)可以通過離線校正[24]得到,相機(jī)與位姿傳感器的相對位姿可以通過文獻(xiàn)[25]中的方法進(jìn)行離線校正。
1.1.2 語義分割及建筑區(qū)域提取
經(jīng)過滾動校正后,圖像的基本姿態(tài)得到“歸正”,但是圖像中的戶外現(xiàn)實(shí)場景通常都是包含各類遮擋物的嘈雜場景,為了減小干擾和便于提取圖像中的建筑垂直輪廓線,需要先對圖像進(jìn)行過濾,提取出圖像中的建筑區(qū)域進(jìn)行后續(xù)處理??紤]到戶外場景通常光照明暗變化顯著、或遮擋嚴(yán)重,為了應(yīng)對戶外復(fù)雜場景,本文使用目前性能較好的開源深度語義分割網(wǎng)絡(luò)PSPNet[26]對戶外場景圖像進(jìn)行語義分割,以語義分割后的場景類別圖像為掩碼,對原始輸入圖像進(jìn)行過濾,可以快速高效的提取出圖像中的建筑區(qū)域,如圖4(a)、(b)、(c)所示。
另外,考慮到現(xiàn)實(shí)場景中通常會有樹木、車輛等遮擋物對建筑區(qū)域進(jìn)行遮擋,上述提取的建筑區(qū)域往往會存在“空洞”而導(dǎo)致建筑區(qū)域提取不全。為了彌補(bǔ)上述“空洞”并且兼顧算法效率,根據(jù)建筑區(qū)域在圖像平面上通常沿圖像y軸正向連續(xù)延伸的特點(diǎn),對上述語義分割后的圖像掩碼進(jìn)行補(bǔ)充,然后再對原始輸入圖像進(jìn)行過濾,可以提取出相對完整、且獨(dú)立的建筑區(qū)域,如圖4(d)所示。這為本文后續(xù)自動提取建筑角點(diǎn)邊緣線特征打下了良好基礎(chǔ)。
1.1.3 線特征提取及消隱點(diǎn)估計(jì)
為了提取建筑的角點(diǎn)邊緣線,首先需要提取建筑區(qū)域中的所有特征線,并計(jì)算水平和垂直消隱點(diǎn)。本文使用相對成熟的LSD直線段提取算法[27],對上述提取的建筑區(qū)域進(jìn)行線特征提取,如圖5(a)所示(只在未受遮擋的建筑區(qū)域中提取線特征)??紤]到建筑是一類特殊的人工建筑,其立面通常鉛垂于水平面(或地面),因此可以假設(shè)認(rèn)為建筑立面中提取的大多直線段為現(xiàn)實(shí)場景中水平或垂直直線[28]。
為了計(jì)算水平和垂直消隱點(diǎn),使用J-Linkage模型[29]對上述提取的直線段進(jìn)行分組,而后通過隨機(jī)選取同一組直線中的兩條直線計(jì)算可能的備選消隱點(diǎn),循環(huán)迭代多次,取其中包含的長直線最多的消隱點(diǎn)(即備選消隱點(diǎn)到同組每條直線距離小于一定閾值的所有直線的長度和最大)為最優(yōu)消隱點(diǎn),求解得到每一組直線較為可靠的消隱點(diǎn)位置。根據(jù)消隱點(diǎn)在圖像平面上的坐標(biāo),可以區(qū)分得到垂直直線組的消隱點(diǎn)和水平直線組的消隱點(diǎn),通常垂直消隱點(diǎn)只有一個,在圖像上方或下方(本案例垂直消隱點(diǎn)在圖像上方);而水平消隱點(diǎn)會在圖像左右兩邊各有一個,分別對應(yīng)不同建筑立面上提取的水平直線組。如圖5(b)所示,不同顏色的直線組分別對應(yīng)不同的消隱點(diǎn),其中,綠色對應(yīng)垂直消隱點(diǎn),紅色對應(yīng)圖像右邊水平消隱點(diǎn),藍(lán)色對應(yīng)圖像左邊水平消隱點(diǎn)。
1.1.4 左右及中間垂直角點(diǎn)邊緣線識別
在圖像建筑立面上提取特征線并估計(jì)垂直和水平消隱點(diǎn)后,下一步是要從提取的特征線中識別建筑垂直角點(diǎn)邊緣線。為了能夠相對準(zhǔn)確地識別建筑角點(diǎn)邊緣線,本文假設(shè)被分析的圖像中建筑區(qū)域位于圖像中間,且能夠觀察到建筑的3條垂直角點(diǎn)邊緣線,其中左、右角點(diǎn)邊緣線分別位于圖像主點(diǎn)的左右兩側(cè),中間角點(diǎn)邊緣位于左右邊緣之間。顯然,這一假設(shè)是合理且具有可操作性的,因?yàn)樵趯?shí)際拍攝圖像時,只需要用戶有意識地將建筑區(qū)域大致放于圖像中部區(qū)域即可。
從視覺上分析,建筑垂直角點(diǎn)邊緣通常是建筑兩個不同立面的交線,并且可以與2D地圖上的建筑底圖輪廓角點(diǎn)一一對應(yīng);從圖像處理的角度分析,建筑左、右垂直角點(diǎn)邊緣線附近水平方向的顏色梯度通常會有較大的突變,如圖4(d)所示,在經(jīng)過語義分析處理的圖像上,背景區(qū)域和建筑區(qū)域的交界處會有顯著的顏色梯度變化,且建筑區(qū)域的垂直長度也會發(fā)生較大的突變(這是需要對受遮擋的建筑區(qū)域補(bǔ)全的原因)。因此,根據(jù)圖像每一列像素的顏色梯度與該列建筑區(qū)域長度梯度之和,求取其最大值,可以作為判定建筑左右角點(diǎn)邊緣位置的參考依據(jù)。本文使用如下公式,計(jì)算圖像上每一列作為左、右角點(diǎn)邊緣的評估值,有
FinalScores(j)=ColorScores(j)+MaskScores(j)
(1)
式中,j代表的是經(jīng)過滾動傾斜校正后圖像的第j列,需要注意的是,列j上對應(yīng)的所有圖像像素并非是圖像上第j列沿y軸方向上的所有像素,因?yàn)樵跊]有經(jīng)過俯仰傾斜校正前,建筑立面中提取的垂直直線與圖像y軸是不平行的,圖像y軸方向的列像素并不能表達(dá)現(xiàn)實(shí)世界中的垂直線特征;因此,列j上對應(yīng)的像素,是垂直消隱點(diǎn)(本示例在圖像上方)與圖像第j列最底部像素的連線與圖像平面的所有交點(diǎn),這條連線與建筑立面中提取的垂直直線是平行的。FinalScores(j)是第j列作為角點(diǎn)垂直邊緣的最終評估值(即評估值加和),ColorScores(j)是第j列所有在建筑立面上的像素RGB三通道水平方向梯度之和,MaskScores(j)是第j列所有在建筑立面上的像素個數(shù)的梯度值(即相鄰列像素個數(shù)差值)。
圖4 圖像語義分割及建筑區(qū)域提取Fig.4 Image semantic segmentation and building area extraction
圖5 建筑立面線特征提取及消隱點(diǎn)估計(jì)Fig.5 Line segments extraction on building facades and vanishing points estimation
如圖6所示,當(dāng)計(jì)算出圖像的FinalScores(j)后,根據(jù)圖像中心位置(主點(diǎn)橫坐標(biāo))將FinalScores(j)分為LeftFinalS(j)和RightFinalS(j)兩部分,分別求取兩部分的最大值對應(yīng)的列坐標(biāo)j,分別作為圖中建筑的左右角點(diǎn)垂直邊緣線的邊界參考。
依據(jù)上述得到的左、右邊界范圍,建筑左、右角點(diǎn)垂直邊緣線的確切位置,可以在建筑立面上提取的垂直直線中,分別選取最接近左、右邊界的垂直直線作為最終的左右角點(diǎn)垂直邊緣線,如圖7(a)所示。
一旦左、右角點(diǎn)垂直邊緣確定后,中間角點(diǎn)邊緣的位置也可以確定,因?yàn)橹虚g角點(diǎn)邊緣通常位于左右角點(diǎn)邊緣中間,且具有如下特征:①中間角點(diǎn)邊緣位于建筑不同立面水平直線的交點(diǎn)上(如圖7(a)所示);②該邊緣線位置通常也是建筑區(qū)域垂直長度(列像素個數(shù))極大值點(diǎn)處(如圖7(b)所示)。本文綜合上述兩個條件,在保證位于兩組水平直線交點(diǎn)上的前提下,取建筑區(qū)域垂直長度最長的列為中間角點(diǎn)垂直邊緣的最佳位置,如圖7(c)所示。
圖6 建筑左、右角點(diǎn)垂直邊緣邊界估計(jì)Fig.6 Estimation of the boundary of vertical edges corresponding to the left and right corner of the building
圖7 建筑左、中、右角點(diǎn)垂直邊緣識別提取Fig.7 Recognition and extraction of the left, middle and right corner vertical edge of building
1.1.5 角點(diǎn)邊緣線水平分布特征
事實(shí)上,如圖7(a)中所示,建筑兩個不同立面上的兩組水平直線的交點(diǎn)為可以基本確定中間角點(diǎn)邊緣的位置,而同組直線間的交點(diǎn)則分別是圖像的左、右兩個水平消隱點(diǎn),連接兩個水平消隱點(diǎn),則得到水平消隱線,即過相機(jī)光心的水平面在圖像平面上的成像線,如圖8(a)所示的水平線,3條垂直邊緣線的分布特征可以通過水平消隱線與3條垂直邊緣線交點(diǎn)的橫坐標(biāo)進(jìn)行表征。根據(jù)2D-1D透視投影原理,如圖8(b)所示,圖像上3個交點(diǎn)可以分別和2D地圖上相應(yīng)建筑輪廓角點(diǎn)進(jìn)行對應(yīng),據(jù)此對應(yīng)關(guān)系可以進(jìn)一步求解相機(jī)中心的位置(x,y)和主軸水平方向yaw等2D位姿。
圖8 角點(diǎn)垂直邊緣線水平分布與對應(yīng)關(guān)系Fig.8 Horizontal distribution and correspondence of vertical edge of building corner points
需要注意的是,圖8(a)中的圖像拍攝時存在俯仰傾斜,3個交點(diǎn)的橫坐標(biāo)(u左,u中,u右)會隨圖像的俯仰角度變化而變化,因而,圖8(b)中所示的主軸方向是主軸在水平面上的投影方向,相機(jī)光心(相機(jī)原點(diǎn))沿該方向與圖像平面相交的水平直線長度為fx/cos(φ),這是經(jīng)過俯仰傾斜角度校正后的相機(jī)橫軸焦距,其中fx是相機(jī)橫軸方向的原始焦距,可以通過離線校正得到;φ是圖像的俯仰傾斜角,可以使用重力加速度計(jì)等傳感器進(jìn)行測量。
如圖8(b)所示,根據(jù)中心透視投影物點(diǎn)、像點(diǎn)和相機(jī)光心3點(diǎn)共線的規(guī)律,過相機(jī)光心Oc及上述圖像上交點(diǎn)Pi的反向投影直線必然會與現(xiàn)實(shí)場景中的建筑垂直邊緣相交;如果從頂部向下觀看,在相機(jī)光心Oc所在的水平面上,建筑的每一個輪廓角點(diǎn)Ci會在過相機(jī)中心Oc與圖像中交點(diǎn)Pi的反向投影直線上。事實(shí)上,只考慮相機(jī)光心Oc所在的水平面時,這是將2D平面空間投影變換到1D線性空間中,是退化的2D-1D透視投影(相對于常見的3D-2D透視投影而言)。
相機(jī)在水平面上的2D位姿包含3個參數(shù),即相機(jī)中心的平面坐標(biāo)位置Oc-(x,y),和相機(jī)坐標(biāo)系相對于平面坐標(biāo)系(地圖平面坐標(biāo)系)的旋轉(zhuǎn)角度yaw-θ(也即相機(jī)主軸OcOo相對于平面坐標(biāo)系Y軸的旋轉(zhuǎn)角度)。在有3對圖像交點(diǎn)與建筑角點(diǎn)對應(yīng)的條件下可以求解相機(jī)2D平面位姿的3個參數(shù)(x,y,θ)。
現(xiàn)在,定義建筑角點(diǎn)及其在世界平面坐標(biāo)系上的坐標(biāo)為C1-(cx1,cy1),C2-(cx2,cy2),C3-(cx3,cy3),相應(yīng)的圖像像點(diǎn)及其列(橫)坐標(biāo)為P1-u左,P2-u中,P3-u右,即
u左?(cx1,cy1)T,u中?(cx2,cy2)T,u右?(cx3,cy3)T
根據(jù)中心透視投影的規(guī)律,經(jīng)過相機(jī)坐標(biāo)變換和投影變換即可將現(xiàn)實(shí)世界中的物點(diǎn)變換為像平面中的像點(diǎn),對應(yīng)的變換公式為
K(RθCi+T))
(2)
式中
(3)
式中,ku=fx/cos(φ),是經(jīng)過俯仰傾斜校正的橫軸相機(jī)焦距,u0是圖像主點(diǎn)的橫坐標(biāo)(可以通過離線校正得到);Rθ是由世界平面坐標(biāo)到相機(jī)平面坐標(biāo)的2D旋轉(zhuǎn)變換矩陣,T是世界坐標(biāo)系原點(diǎn)在相機(jī)平面坐標(biāo)系中的2D位置。相機(jī)原點(diǎn)在世界坐標(biāo)系中的位置可以通過式(4)計(jì)算,即
(4)
事實(shí)上,式(2)中求解得到的是像點(diǎn)橫坐標(biāo)ui的齊次坐標(biāo)形式,根據(jù)齊次坐標(biāo)與原始坐標(biāo)的轉(zhuǎn)換關(guān)系,可以求得
(5)
式中,(*)0、(*)1分別表示向量(*)的第1維分量和第2維分量,而ui∈(u左,u中,u右)。
根據(jù)式(5),對每一對ui?(cxi,cyi)T,事實(shí)上可以得到一個關(guān)于(Tx,Ty,θ)的三元一次方程,當(dāng)有3對對應(yīng)點(diǎn)時,可以得到3個方程組。盡管這些方程是非線性的(因?yàn)橛腥呛瘮?shù)參數(shù)),但是通過方程組之間的線性變換(如高斯-約丹(Gauss-Jordan)消元法),可以將3個方程組化簡為如下形式
(6)
對于式(6)中的最后一行,有:asinθ+bcosθ=d,結(jié)合cos2θ+sin2θ=1,即可以求得θ值,代入式(6)的前兩行,即可以求得Tx、Ty;但通常θ會有兩個解,對應(yīng)可以求解得到兩組Tx、Ty,分別對應(yīng)兩組相機(jī)原點(diǎn)位置(x,y)。這兩組解互為對稱,相機(jī)方向恰好相反,其中在2D世界坐標(biāo)系中距離建筑中間角點(diǎn)距離更近的(x,y,θ)是本文要求的相機(jī)2D位姿,而另一組位姿可以舍棄。
綜合上述,在已知3組2D地圖建筑角點(diǎn)與圖像像點(diǎn)對應(yīng)的情況下,可以求解圖像2D位姿,但實(shí)際情況是2D地圖沒有現(xiàn)實(shí)世界的表面特征信息,難以通過特征描述符計(jì)算實(shí)現(xiàn)準(zhǔn)確的2D地圖建筑角點(diǎn)與圖像垂直輪廓線對應(yīng)。因此,如圖9所示,本文以初始定位位置(如GNSS定位位置)為參考,提取附近一定范圍的2D地圖(本文選取100 m×100 m范圍)并記錄范圍內(nèi)的有所建筑角點(diǎn);對每一棟建筑,依次取其中的3個角點(diǎn)作為圖像中3條垂直邊緣線的對應(yīng)點(diǎn),根據(jù)前述方法,計(jì)算假設(shè)的相機(jī)2D位姿;通過循環(huán)迭代,遍歷選取范圍內(nèi)的所有建筑角點(diǎn),可以求解得到一個相機(jī)2D位姿的假設(shè)集合(圖9中紅點(diǎn)表示相機(jī)中心平面位置,藍(lán)線表示相機(jī)平面朝向)。
通過前述方法求解得到的2D位姿假設(shè)集合,事實(shí)上是包含(x,y,θ)3個元素的數(shù)組,為了判斷哪一組數(shù)據(jù)是相機(jī)真實(shí)位姿或者最優(yōu)解,需要參考位姿傳感器獲取的初始位姿。通常而言,在大多數(shù)普通的環(huán)境中,磁力計(jì)測量的水平航向角度誤差為5°~10°,普通GNSS接收終端的水平定位精度會在米級到10米級左右。本文首先通過初始航向角角度對位姿假設(shè)集合進(jìn)行過濾,只保留與磁力計(jì)測量的初始航向角絕對差值不超過30°的位姿數(shù)據(jù)組,這樣可以過濾掉大部分無關(guān)的假設(shè)數(shù)據(jù);然后,在剩下的假設(shè)集合中,逐個計(jì)算假設(shè)集合中的(x,y)與傳感器初始位置(x0,y0)的兩點(diǎn)距離,選取距離初始位置距離最近的位姿數(shù)據(jù)組作為相機(jī)2D位姿的最優(yōu)解。如圖10所示,短紅線表示的是與初始位姿方向相近的假設(shè)位姿,長紅線是得到的最優(yōu)位姿。
一旦得到優(yōu)化后的2D位姿后,結(jié)合加速度計(jì)等位姿傳感器測量的滾動傾角ψ和俯仰傾角φ,以及設(shè)定的高程值h(如本文設(shè)定相機(jī)高度距離地面1.6 m),組合得到優(yōu)化的6DOF絕對位姿(x,y,h,φ,ψ,θ)(本文稱為3D位姿),用于戶外AR地理配準(zhǔn)。
上文中提出了一種使用位姿傳感器獲取位姿數(shù)據(jù)為初始輸入,然后基于2D地圖數(shù)據(jù)進(jìn)行視覺輔助位姿校正,最終用以提高戶外AR地理配準(zhǔn)精度的方法框架。本節(jié)中進(jìn)行試驗(yàn),用于驗(yàn)證:①基于2D地圖的視覺定位方法可以對位姿傳感器獲取的初始2D位姿進(jìn)行優(yōu)化校正;②使用優(yōu)化后組合得到的6DOF位姿進(jìn)行地理配準(zhǔn)可以提高原始配準(zhǔn)精度,從而證明本文所提方法的有效性。
試驗(yàn)使用的2D地圖是通過ArcGIS軟件從傾斜攝影三維重建生成的正射圖中采集、編輯得到2D矢量地圖,為了保證地圖地理參考的準(zhǔn)確性,三維重建時在地面布設(shè)了差分控制點(diǎn)。事實(shí)上,試驗(yàn)使用的2D地圖也可以來源于OpenStreetMap等網(wǎng)絡(luò)公開地圖數(shù)據(jù)源,即使其初始地理定位有所偏移,但經(jīng)過適當(dāng)?shù)恼w地理位置糾正,仍然可以得到比較精確的地理位置參考。試驗(yàn)使用的位姿傳感器和圖像采集設(shè)備是小米5X手機(jī)自帶的集成傳感器和攝像機(jī),其中集成的加速度計(jì)是BMI120,磁力計(jì)是AK09918。
2.2.1 位姿精度優(yōu)化分析
本次試驗(yàn)共在校區(qū)范圍內(nèi)采集了10組不同場景的數(shù)據(jù)(包括圖像、傳感器位姿數(shù)據(jù)等)以進(jìn)行位姿精度優(yōu)化和地理配準(zhǔn)精度優(yōu)化分析。因?yàn)樵谡Z義分割階段使用開源深度網(wǎng)絡(luò)PSPNet對圖像進(jìn)行語義分割,即使對于遮擋較為嚴(yán)重、明暗變化顯著的復(fù)雜場景,也能較為準(zhǔn)確地提取圖像中的建筑區(qū)域,這為準(zhǔn)確識別圖像中的邊緣線特征帶來了便利。對于測試的10組場景,或光照明暗變化顯著、或遮擋嚴(yán)重,本文方法都能自動、準(zhǔn)確地提取其中角點(diǎn)垂直邊緣特征,而文獻(xiàn)[22]的方法難以處理這類復(fù)雜場景,必須要借助人工干預(yù)才能實(shí)現(xiàn)特征線識別與提取,這是本文工作的一項(xiàng)重要改進(jìn)和發(fā)展。對于1280×720分辨率大小的輸入圖像,在MSI筆記本電腦上(CPU為intel core i7-6700HQ 2.6 GHz,內(nèi)存8 GB),在Matlab環(huán)境中算法對每張圖像處理的整體時間為3~4 s(不計(jì)PSPNet對圖像進(jìn)行語義分割處理的時間),為算法后續(xù)在其他平臺中的集成應(yīng)用奠定了基礎(chǔ)。如圖11所示,是本文試驗(yàn)測試的10組場景案例,是在保持AR用戶戶外自然觀察的前提下在“離散”時刻選取的,其基本要求是滿足本文算法的基本假設(shè),即可以看到目標(biāo)建筑的3條角點(diǎn)邊緣、且左右邊緣線大致位于圖像主點(diǎn)的兩側(cè)等。
圖9 相機(jī)初始位姿及2D位姿假設(shè)集合Fig.9 Initial 2D camera pose and the hypothetical 2D pose set
圖10 篩選得到相機(jī)2D位姿最優(yōu)解Fig.10 Screening to get the optimal 2D pose solution
圖11 本文的測試場景案例:縱向上每3幅圖像對應(yīng)一組測試場景,其中橫向第1層為從原始圖像中自動提取得到的3條角點(diǎn)邊緣線(經(jīng)滾動傾角校正);中間層為原始圖像語義分割結(jié)果;第3層為傳感器初始2D位姿和優(yōu)化的2D位姿Fig.11 The test scenarios of this experiment: each of the three images in the vertical direction corresponds to a set of test scenes, where in the first horizontal layer is the three corner edges automatically extracted from the original images (corrected by rolling inclination); the middle horizontal layer is the semantic segmentation results of original images; and the third horizontal layer is the sensor’s initial 2D pose and optimized 2D pose
為了能夠?qū)Ρ确治鰝鞲衅鳙@取的位姿與圖像定位方法校正的位姿精度,本文使用EPnP[30]定位得到的6DOF位姿作為每組場景的參考真實(shí)值,分別計(jì)算傳感器獲取的6DOF位姿和視覺定位得到的2D平面位姿與參考真值的誤差,計(jì)算它們在各自由度上的誤差最大值、最小值、平均值作為精度評價(jià)指標(biāo),結(jié)果如表1、表2所示。
表1 以EPnP定位3DOF位置為參考,本文方法位置精度優(yōu)化比較
Tab.1 The 3DOF position accuracy of our localization methods compared with the position acquired by EPnP localization methodsm
3DOF位置精度X(E)Y(N)Z(U)最大誤差最小誤差平均誤差最大誤差最小誤差平均誤差最大誤差最小誤差平均誤差傳感器獲取的初始位置誤差4.2860.7442.3076.7310.7553.2438.9060.7413.686視覺校正后位置誤差1.5900.0750.6301.2270.0420.550———
表2 以EPnP定位3DOF姿態(tài)為參考,本文方法姿態(tài)精度優(yōu)化比較
在位置精度方面,從表1中可以看出,在普通的城市建筑環(huán)境中,直接使用普通的衛(wèi)星定位信號接收終端(如手機(jī)GNSS芯片)獲取的位置,其水平單方向上的平均誤差接近3~4 m,這可能是因?yàn)榻陙硇l(wèi)星定位系統(tǒng)快速發(fā)展(如衛(wèi)星數(shù)量增多,芯片性能增強(qiáng),定位信號在電離層、對流層傳輸誤差模型得到改進(jìn)等原因),衛(wèi)星定位的精度水平整體有所提升;但顯然,這一精度不能滿足戶外AR高精度地理配準(zhǔn)的需求(相關(guān)分析參見下文地理配準(zhǔn)精度分析)。相比較而言,在上述初始位置的基礎(chǔ)上,基于2D地圖的視覺定位方法可以對水平初始位置進(jìn)行校正,如表1中所示,經(jīng)過視覺方法校正后,水平定位精度顯著提升,平均誤差在1 m以內(nèi),且最大的誤差值顯著較低,其中每一組場景的水平位置精度改進(jìn)對比如圖12所示。
圖12 每一組場景水平位置精度改進(jìn)對比Fig.12 Improvement of horizontal position accuracy of each set of scenes
在姿態(tài)精度方面,如表2所示,使用普通手機(jī)自帶的加速度計(jì)(BMI120)和磁力計(jì)(AK09918),在相對靜態(tài)條件下獲取的絕對姿態(tài),在某些自由度上也具有較高的精度,如使用重力加速計(jì)測得水平俯仰角和滾動角誤差大多不超過2°,平均值誤差在1°左右,這驗(yàn)證了本文在相對靜態(tài)條件下,使用重力加速度計(jì)測得俯仰角和滾動角進(jìn)行圖像滾動傾角校正的可行性。
但是,通過磁力計(jì)等傳感器直接測得的航向角誤差通常都相對較大,在沒有顯著磁干擾的環(huán)境中,平均誤差4°~5°,且測量結(jié)果不穩(wěn)定,易出現(xiàn)較大誤差值;如表2中所示,與之相比,使用基于2D地圖的視覺定位方法可以顯著提高航向角的測量精度,平均誤差降低到接近0.5°,且最大值誤差也顯著降低,達(dá)到2°以內(nèi),其中每一組場景的水平航向角精度改進(jìn)對比如圖13所示。
圖13 每一組場景水平偏航角精度改進(jìn)對比Fig.13 Improvement of yaw angle accuracy for each set of scenes
在試驗(yàn)過程中,筆者發(fā)現(xiàn)使用加速度計(jì)結(jié)合陀螺儀等傳感器,即使在運(yùn)動狀態(tài)下也可以獲取相對準(zhǔn)確的俯仰和滾動姿態(tài)值,但是直接使用磁力計(jì)測量航向角的結(jié)果極容易受環(huán)境中的磁性材質(zhì)的干擾而不準(zhǔn)確、甚至不可用,而這種磁干擾在現(xiàn)實(shí)世界中是普遍存在的。例如接近普通筆記本電腦內(nèi)置的擴(kuò)音器或接近停在路旁的汽車時,磁力計(jì)會迅速偏轉(zhuǎn)導(dǎo)致測量誤差明顯增大,這使得使用磁力計(jì)在戶外測量偏航角的穩(wěn)定性、準(zhǔn)確性難以保證,因而必須要借助其他方法進(jìn)行“間斷性”的校正。這也正是本文提出使用視覺定位方法輔助校正位姿傳感器位姿(特別是航向角)的出發(fā)點(diǎn)和著眼點(diǎn),而本文的實(shí)驗(yàn)結(jié)果驗(yàn)證了這一思路和方法的可行性和有效性。
需要說明的是,本試驗(yàn)中得到的偏航角誤差是經(jīng)過磁偏角校正后的誤差,試驗(yàn)中使用的磁偏角大小是-5.033 3°,即磁北方向相對當(dāng)?shù)卣姹蔽髌?.033 3°,這是根據(jù)當(dāng)?shù)亟?jīng)緯度和測試日期時間使用2015—2020地球磁場模型[31]計(jì)算得到的結(jié)果。
2.2.2 地理配準(zhǔn)精度優(yōu)化分析
本文研究的著眼點(diǎn)和最終目的是提高戶外AR地理配準(zhǔn)的精度,前文中已經(jīng)分析了基于2D地圖的視覺定位方法對位姿傳感器獲取的初始位姿的優(yōu)化校正作用,現(xiàn)在需要進(jìn)一步分析這種位姿優(yōu)化對最終地理配準(zhǔn)精度優(yōu)化的影響。
本文以虛實(shí)對象在合成圖像上的視角夾角作為評價(jià)虛實(shí)對象配準(zhǔn)精度的量化指標(biāo),如圖14所示,虛實(shí)對象視線夾角λ越大, 則配準(zhǔn)誤差越大;夾角λ越小,則虛實(shí)對象疊加越接近。因?yàn)榻嵌瓤梢院突《然Q,1毫弧度(mard),約等于0.057°,約等于橫向0.1 m與縱向100 m形成的夾角值;10 mard約等于0.57°,即約等于橫向1 m與縱向100 m形成的夾角值。考慮到使用毫弧度(mard)作為評估虛實(shí)配準(zhǔn)精度的單位,可以方便地將虛實(shí)視角誤差與虛實(shí)配準(zhǔn)的現(xiàn)實(shí)意義聯(lián)系起來,因此本文同時給出虛實(shí)視線夾角的角度值和毫弧度值。
圖14 虛實(shí)配準(zhǔn)量化精度求解原理Fig.14 Schematic diagram for quantitative registration accuracy evaluation
如表3所示,是10組場景分別使用位姿傳感器獲取的初始6DOF和經(jīng)過視覺位姿優(yōu)化校正組合得到6DOF位姿進(jìn)行虛實(shí)地理配準(zhǔn)的量化精度的最大值、最小值和平均值,而圖15則給出了相應(yīng)每一組場景虛實(shí)地理配準(zhǔn)精度優(yōu)化前和優(yōu)化后的量化折線圖。
表3 地理配準(zhǔn)技術(shù)方案及其配準(zhǔn)精度比較
從表3可以看出,使用位姿傳感器獲取的初始6DOF位姿進(jìn)行地理配準(zhǔn)的誤差整體相對較高,平均配準(zhǔn)誤差在120 mard左右,且最大值達(dá)到近200 mard,相當(dāng)于在距離目標(biāo)100 m距離觀察時,虛實(shí)配準(zhǔn)偏差接近20 m,實(shí)際觀察時會顯著影響AR用戶體驗(yàn);而經(jīng)過視覺位姿校正后,地理配準(zhǔn)精度顯著提高,平均配準(zhǔn)誤差達(dá)到20 mard以下,且最大配準(zhǔn)誤差也提高到35 mard左右,這顯然有助于支撐戶外AR為用戶提供精確、精細(xì)的信息內(nèi)容服務(wù)。如圖16、圖17所示,分別給出了兩組戶外場景實(shí)際地理配準(zhǔn)精度優(yōu)化前和優(yōu)化后的地理配準(zhǔn)效果定性對比。
高精度的虛實(shí)地理配準(zhǔn)技術(shù)是戶外ARGIS為用戶提供精細(xì)、精確信息內(nèi)容服務(wù)的基礎(chǔ)支撐,本文研究并實(shí)現(xiàn)了一種以2D地圖為參考數(shù)據(jù)對傳感器獲取的初始粗略6DOF絕對位姿進(jìn)行輔助校正,進(jìn)而提高戶外ARGIS地理配準(zhǔn)精度的方法和技術(shù)框架。試驗(yàn)表明,在城市戶外環(huán)境中,該方法可以有效對便攜式位姿傳感器獲取的初始6DOF位姿進(jìn)行優(yōu)化,顯著提高基于位姿傳感器的戶外AR初始地理配準(zhǔn)精度,為戶外ARGIS用戶提供精確、精細(xì)信息內(nèi)容服務(wù)提供重要基礎(chǔ)支撐。當(dāng)然,本文目前的測試場景仍具有一定的局限性,因?yàn)樗惴ň哂休^強(qiáng)的約束假設(shè),但是這些測試數(shù)據(jù)集仍是在保持AR用戶戶外自然觀察的前提下在“離散”時刻選取的。對于更為復(fù)雜的戶外三維場景,例如弧形結(jié)構(gòu)建筑,或者樹木等遮擋物遮擋目標(biāo)建筑的一個“角點(diǎn)”的情況,本文的算法尚不能魯棒處理。在2D地圖數(shù)據(jù)的基礎(chǔ)上,進(jìn)一步利用建筑的高度數(shù)據(jù)(即概略的2.5D地圖[32-33]),對上述更為復(fù)雜的情況進(jìn)一步研究是本文后續(xù)改進(jìn)的主要工作之一。
圖16 場景2虛實(shí)地理配準(zhǔn)精度優(yōu)化前與優(yōu)化后的效果對比Fig.16 Effects of geo-registration accuracy in scene 2 before and after optimization
圖17 場景4虛實(shí)地理配準(zhǔn)精度優(yōu)化前與優(yōu)化后的效果對比Fig.17 Effects of geo-registration accuracy in scene 4 before and after optimization
結(jié)合慣性、視覺SLAM[17-18]等相對位姿連續(xù)跟蹤方法,“間斷性”地采用上述方法對連續(xù)跟蹤的位姿進(jìn)行絕對初始化和“離散”的優(yōu)化校正,實(shí)現(xiàn)戶外ARGIS“連續(xù)、持續(xù)的”高精度虛實(shí)地理配準(zhǔn),進(jìn)一步提高算法的實(shí)際可用性和系統(tǒng)性,將是后續(xù)需要進(jìn)一步研究的內(nèi)容。
致謝:特別感謝慕尼黑工業(yè)技術(shù)大學(xué)的林雕同學(xué)和課題組徐旺、王瑋琦師弟分別在算法原理、虛實(shí)配準(zhǔn)和圖像語義分割方面提供的支持和幫助。