張友軍,張持健,謝婉怡,劉 勇,夏營威,王依人
(1.安徽師范大學(xué) 物理與電子信息學(xué)院,安徽 蕪湖 241002;2.中國科學(xué)院 合肥物質(zhì)科學(xué)研究院,安徽 合肥 230031)
云是大氣層中的水滴和冰晶[1],在降雨、氣候變化等物理過程中充當(dāng)著重要的角色[2]。云底高度[3-4]作為云參數(shù)的一種在航空安全、氣候研究等許多鄰域有著重要的作用。
云底高測量方法主要有人工目測、探空、雷達(dá)探測、雙目成像技術(shù)[5]。人工目測和探空觀察時(shí)間長、效率低;雷達(dá)只能單點(diǎn)測量且成本高。隨著視覺傳感器的發(fā)展,雙目成像技術(shù)被應(yīng)用于地基云底高觀測。Mark等人[6]利用雙目魚眼相機(jī)拍攝云體,采用光流法匹配云圖同名點(diǎn),計(jì)算云底高度。光流法受到光照、相機(jī)曝光值的影響會(huì)產(chǎn)生一定的誤差。陶法等人[7]采用基線60 m的一對(duì)攝像機(jī),搭建雙目云高系統(tǒng),采用歸一化互相關(guān)方法尋找同名點(diǎn),然后匹配特征點(diǎn)得到相對(duì)視差計(jì)算云底高度,選擇星星作為標(biāo)定物易受天氣環(huán)境影響。
采用雙目成像技術(shù)測量云底高度時(shí),針對(duì)無法準(zhǔn)確獲取同名點(diǎn)對(duì)以及外參標(biāo)定不準(zhǔn)確問題,本研究將視覺里程計(jì)[8]法運(yùn)用到相機(jī)的外參標(biāo)定上,采用特征點(diǎn)提取與匹配獲取同名點(diǎn),根據(jù)對(duì)極約束[9]求出外參。
本文搭建的雙目云高系統(tǒng)由2臺(tái)自主研發(fā)的ASC100成像儀[10]組成,外形結(jié)構(gòu)如圖1所示。該設(shè)備可通過網(wǎng)絡(luò)對(duì)時(shí),同一時(shí)刻采集左右2張?zhí)炜請(qǐng)D像,為云高數(shù)據(jù)反演提供原始數(shù)據(jù)。
圖1 全天空云圖儀機(jī)械外形圖Fig.1 Mechanical outline diagram of all-sky nephogram instrument
雙目云高系統(tǒng)工作流程如圖2所示。其中,系統(tǒng)標(biāo)定是整個(gè)系統(tǒng)有效工作的重要環(huán)節(jié),直接決定整個(gè)系統(tǒng)的觀測精度。系統(tǒng)參數(shù)主要包括左右相機(jī)的畸變參數(shù)、焦距和兩相機(jī)的旋轉(zhuǎn)平移位置參數(shù),即相機(jī)的內(nèi)參和外參。
圖2 系統(tǒng)工作流程圖Fig.2 Flow chart of system work
云低至形成于2 000 m的大氣中,高至可達(dá)8 000 m,為適應(yīng)云高變化范圍廣的特點(diǎn),需探究雙目系統(tǒng)有關(guān)參數(shù)對(duì)探測范圍的影響,并對(duì)系統(tǒng)可選參數(shù)進(jìn)行配置。系統(tǒng)工作原理是基于三角測量原理,如圖3所示,Z為實(shí)際距離,Z′為觀測距離,點(diǎn)P和點(diǎn)P′分別為待測點(diǎn)和觀測點(diǎn),左右相機(jī)成像的點(diǎn)分別為PL和PR。理想情況下,2個(gè)相機(jī)安裝只在水平方向有位移,P的像只在水平方向有差異,記PL的橫坐標(biāo)為uL,PR的橫坐標(biāo)為uR。OL,OR為相機(jī)的光圈中心,f為焦距,t為基線(左右相機(jī)之間的距離),δ表示像元的寬度[11],設(shè)點(diǎn)在圖像中的定位誤差為 δ/2。 根據(jù) ΔPPLPR和 ΔPOLOR的相似關(guān)系,有:
整理得:
式中,d為左右圖橫坐標(biāo)之差,稱為視差。根據(jù)(2)式同理可得:
得到精度誤差為
圖3 系統(tǒng)誤差分析圖Fig.3 Analysis diagram of system error
基線是雙目云高系統(tǒng)的重要參數(shù),它不僅影響系統(tǒng)的結(jié)構(gòu),還影響測量精度。由(4)式可知,基線t增大,測量誤差減?。唤咕嘣龃?,測量誤差減小。t的增大需要和實(shí)際情況相結(jié)合,測量較近物體時(shí),基線不宜過大,基線較大,左右相機(jī)采集的相同區(qū)域減少,影響圖像的匹配精度,測量較遠(yuǎn)物體時(shí),為保證較高的測量精度,基線應(yīng)盡可能大。焦距越大,視場越小,拍攝圖像的特征減少,影響圖像的匹配精度。為提高系統(tǒng)觀測精度,需要選擇合適的基線與焦距。
采用焦距4 mm、6 mm、8 mm和基線20 m、60 m分別進(jìn)行兩兩實(shí)驗(yàn)。如圖4所示,云底高度為0~3 km時(shí),焦距一定,基線越大,單位視差的改變引起的云底高度變化越大,測量精度越高,而基線越大,測量同一云底高度所需的視差越大即共勢面越小,影響圖像的匹配精度;當(dāng)基線一定時(shí),焦距越大,單位視差的改變引起的云底高度變化越大,測量精度越高,而焦距越大,視場越小,影響圖像的匹配精度。云底高度大于3 km時(shí),焦距一定,基線越小,精度越高;當(dāng)基線一定時(shí),焦距越小,測量精度越高。整合6條折線,選擇基線為60 m,焦距為4 mm的系統(tǒng)較為合適。
圖4 系統(tǒng)參數(shù)圖Fig.4 Diagram of system parameters
里程計(jì)法采用的是精度高且速度快的ORB算法[12],該算法特征點(diǎn)提取方式為FAST[13]角點(diǎn)提取。算法思想為:若圖像中某點(diǎn)的灰度值連續(xù)大于或小于周圍一定數(shù)量的像素點(diǎn)時(shí),則該點(diǎn)為特征點(diǎn)。特征點(diǎn)用函數(shù)判斷為
式中:I(p)是 待測點(diǎn)的灰度值;I(x)是圓周點(diǎn)的灰度值;η為設(shè)置的閾值(一般為I(p)的20%);圓周點(diǎn)與待測點(diǎn)的響應(yīng)函數(shù)值的和定義為N,當(dāng)N大于或等于 12時(shí),點(diǎn)p為特征點(diǎn)。
ORB算法采用BRIEF[14]特征描述子,函數(shù)表達(dá)式定義為
式中:p(x)、p(y)表示點(diǎn)對(duì)的灰度,選擇多組點(diǎn)對(duì)來生成一個(gè)二進(jìn)制字符串表示為
式中:n取256。計(jì)算特征點(diǎn)的漢明距離(用D(vp,vq)表示)來匹配同名點(diǎn),其中vp是左圖像中某一特征點(diǎn)p的 特征向量;vq是右圖像中鄰近特征點(diǎn)p的全部特征向量,D(vp,vq)越小說明2個(gè)特征點(diǎn)越相似,距離最小的即為匹配的點(diǎn)對(duì)。
外參標(biāo)定在云底高觀測過程中起著重要的作用。獲取同名點(diǎn)對(duì)后,采用對(duì)極幾何約束求出相機(jī)的外參。如圖5,I1與 I2為左右相機(jī)拍攝的圖像,設(shè)兩個(gè)相機(jī)之間的運(yùn)動(dòng)為R、t。 假設(shè) I1中有一個(gè)特征點(diǎn)p1,它在 I2中對(duì)應(yīng)著特征點(diǎn)p2,兩者是通過匹配得到的。
圖5 對(duì)極幾何約束Fig.5 Antipode geometric constraints
設(shè)點(diǎn)P的空間位置為
點(diǎn)p1與p2的像素位置為
式中:K為相機(jī)的內(nèi)參矩陣,使用齊次坐標(biāo)將上式改寫成非零常數(shù)下成立的等式:
可以得到:
x1、x2是2個(gè)像素點(diǎn)歸一化平面上的坐標(biāo),帶入上式得到:
在等式的兩邊同時(shí)左乘xT2t∧得:
t∧x2向量與t和x2都垂直。把它和x2做內(nèi) 積時(shí),得到0。所以:
帶入p1,p2:
(18)式和(19)式稱為對(duì)極約束。對(duì)極約束中包含了旋轉(zhuǎn)矩陣和平移矩陣。
令:
EF和 為本質(zhì)矩陣和基礎(chǔ)矩陣[15]。根據(jù)本質(zhì)矩陣或基礎(chǔ)矩陣即可求出相機(jī)的外參。
為確定里程計(jì)法用于大基線外參標(biāo)定的精度,在室外搭建雙目云高探測系統(tǒng),以自主研制的2臺(tái)全天空云圖儀代替左右相機(jī),開展室外標(biāo)定實(shí)驗(yàn)。搭建雙目云高系統(tǒng)如圖6所示,2個(gè)云圖儀的距離為60 m,2臺(tái)設(shè)備安裝時(shí)經(jīng)過調(diào)整,保持正南正北朝向,兩者只在水平方向上移動(dòng)。
圖6 雙目云高探測系統(tǒng)Fig.6 Binocular cloud height detection system
云圖儀可全天拍攝大范圍的云圖,取其中一組圖像對(duì)進(jìn)行實(shí)驗(yàn)。實(shí)驗(yàn)得到外參數(shù)據(jù)為
數(shù)據(jù)中,R式中左對(duì)角線的值接近于1,表明左右圖像的相對(duì)傾斜角度較小,與實(shí)際情況相符。t式中2個(gè)相機(jī)水平距離為60.344 4 m,而實(shí)際值為60 m,誤差為34.44 cm,精度較高,達(dá)到99.43%。得到外參數(shù)據(jù)進(jìn)行立體校正,結(jié)果如圖7所示,左右圖像上的同名像素點(diǎn)基本上只在水平方向上有偏移,說明標(biāo)定的外參數(shù)據(jù)較為準(zhǔn)確。
圖7 雙目立體校正圖Fig.7 Binocular stereo correction images
然后進(jìn)行立體匹配得到視差圖,如圖8所示,觀測的云底高度越高,視差越小,對(duì)應(yīng)的視差圖顏色越淺。視差圖可以將圖像的大部分紋理表示出來,效果較好,表明里程計(jì)法用于大基線外參標(biāo)定的可行性。
圖8 云圖視差圖Fig.8 Parallax diagram of cloud image
采用雙目相機(jī)探測云底高度時(shí),本研究將里程計(jì)法運(yùn)用到相機(jī)的外參標(biāo)定上,通過室外標(biāo)定實(shí)驗(yàn),確定了里程計(jì)法標(biāo)定外參的精確性,解決了大基線外參標(biāo)定困難以及標(biāo)定不準(zhǔn)確的問題。
采用里程計(jì)法標(biāo)定雙目相機(jī)的外參還存在一些不足之處:在陰天或者霧霾天氣時(shí),自主研制的2臺(tái)全天空云圖儀拍攝的云圖紋理較少,采用特征點(diǎn)提取與匹配的方法很難提取圖像的特征點(diǎn),匹配同名點(diǎn)時(shí)會(huì)產(chǎn)生較多的誤匹配,很大程度上影響了標(biāo)定的結(jié)果。在今后的學(xué)術(shù)研究中,對(duì)于低紋理問題擬采用圖像增強(qiáng)的方法,先增強(qiáng)圖像的紋理,再進(jìn)行外參的標(biāo)定。