向召利,馬寶成
(四川航天電子設(shè)備研究所,成都 610100)
基于計算機(jī)視覺的測距技術(shù)對于自主移動系統(tǒng)的智能化具有重要意義[1]。目前研究較多的視覺測距技術(shù)[2-3]是雙目與多目測距。雙目和多目視覺測距的精度相對較高,但其仍存在一些問題:一是需要精確的配準(zhǔn),耗時的配準(zhǔn)過程對實時視覺導(dǎo)航來說具有不可忽略的影響;二是要求基線和攝像機(jī)光軸嚴(yán)格地處于同一平面上,這使得攝像機(jī)的架設(shè)及測量平臺生產(chǎn)制造的難度極大[4-5]。單目深度提取方法具有操作簡單和成本低等優(yōu)點,但是傳統(tǒng)單目測距方法存在以下缺陷:需要固定參照物[6-10]、精度較低[11]、無法適應(yīng)遠(yuǎn)距離測量場合等。
文獻(xiàn)[12]采用人工標(biāo)記法建立地圖,利用單目相機(jī)采集圖片分析對相機(jī)進(jìn)行定位。文獻(xiàn)[13]利用單目攝像機(jī)進(jìn)行了視覺導(dǎo)航研究,該方法亦可應(yīng)用在已知環(huán)境下移動機(jī)器人的目標(biāo)識別及抓取。近年來,國內(nèi)有學(xué)者提出一種基于單攝像機(jī)鏡像的雙目視覺系統(tǒng)[14],該方法試圖融合單目與雙目視覺測距的優(yōu)點,然而存在以下問題:允許的圖像視差減小了一半,本來應(yīng)是受鏡頭畸變影響較小的圖像中央?yún)^(qū)域反而變得不可利用。
基于以上所述,本文提出了一種基于特征尺寸成像變化規(guī)律的單目視覺測距算法。該算法不需要固定參照物,且測距精度優(yōu)于傳統(tǒng)測距方法。
(1)
圖1 成像模型示意圖
對式(1)兩邊取對數(shù),得:
lnx′=lnS+lnf-lnL
(2)
焦距f不變,對式(2)兩邊微分,得:
(3)
圖2 目標(biāo)旋轉(zhuǎn)對成像影響分析模型
由圖2可知:
(4)
有:
(5)
將式(5)兩邊微分,然后同時除以式(6),可得式(7),將式(6)代入式(4)得式(7),即:
(6)
(7)
(8)
設(shè)目標(biāo)上有一組特征點(P,N1,N2,…,Nm),其中點P為該組特征點的形心,當(dāng)目標(biāo)繞過P點某直線旋轉(zhuǎn)時,PNk(k=1,2,…,m)與平面W的夾角在變化,并且夾角為k的函數(shù),處在平面W不同側(cè)的PNk所對應(yīng)的αk變化量正負(fù)不同。從統(tǒng)計學(xué)的角度來看,當(dāng)m足夠大時,可認(rèn)為式(9)成立,有:
(9)
因此有:
(10)
(11)
以上測距方法可總結(jié)為以下步驟:
步驟1控制相機(jī)始終對準(zhǔn)目標(biāo)圖像最接近形心的特征點,命名為P,保證該特征點、相機(jī)成像中心與光心共線;
步驟3根據(jù)式(11),利用相機(jī)-目標(biāo)相對距離的變化量ΔL以及步驟2中的計算結(jié)果計算相機(jī)與目標(biāo)之間的相對距離L;
步驟4根據(jù)式(1)求出每個特征尺寸對應(yīng)的Sk,比較Sk與L,若Sk>0.01L,將對應(yīng)的特征點剔除,剩下的特征點重新組成特征點組;
步驟5重復(fù)步驟3、步驟4,直至所有特征尺寸都滿足Ski≤0.01Li(i表示第i次迭代),Li即為所求目標(biāo)與相機(jī)之間距離。
拍攝目標(biāo)為自然環(huán)境下實景,拍攝設(shè)備為配備不同焦距可調(diào)鏡頭的相機(jī),拍攝相機(jī)固定在直線行駛的小車上,小車在平路上行駛,且小車上安裝有加速度傳感器。每次采集均對相機(jī)進(jìn)行標(biāo)定。具體試驗參數(shù)如表1所示。
表1 圖像采集試驗參數(shù)
數(shù)據(jù)采集完畢后,用Matlab對圖片進(jìn)行預(yù)處理。處理步驟參照第1節(jié)的測距方法總結(jié),但由于本文中的特征采用Harris角點,為了方便讀者閱讀,重新梳理了測距算法步驟如下:
步驟1首先利用Harris算法檢測實景角點,作為特征點,檢測出的特征點如圖3所示。
圖3 目標(biāo)圖像角點檢測結(jié)果
步驟3根據(jù)式(11)及相機(jī)與目標(biāo)相對距離的變化量ΔL以及步驟(2)中的計算結(jié)果,計算相機(jī)與目標(biāo)之間的相對距離L;
步驟4根據(jù)式(1)求出每個特征尺寸對應(yīng)的Sk,比較Sk與L,若Sk>0.01L,將對應(yīng)的特征點剔除,剩下的特征點重新組成特征點組;
步驟5重復(fù)步驟3、步驟4,直至所有特征尺寸都滿足Ski≤0.01Li(i表示第i次迭代),Li即為所求目標(biāo)與相機(jī)之間距離。
試驗結(jié)果如表2所示。
表2 每米2 500像素測距試驗結(jié)果
由表2試驗結(jié)果可知,受測距相機(jī)像素及特征點檢測算法的限制,當(dāng)距離L滿足40 m
1)當(dāng)L>100 m時,隨著L的變大,角點檢測難度變大,檢測到的角點數(shù)變少,進(jìn)而導(dǎo)致∑Δαk與0有一定的差距,從而增大了單目測距算法的測距誤差。為了減小誤差,通過提高每米像素數(shù)的方法(每米像素數(shù)為4 000)對L在150~300 m的范圍距離重新進(jìn)行測距驗證。結(jié)果表明,隨著相機(jī)像素數(shù)的提高,可檢測角點數(shù)量增加,進(jìn)而提高了遠(yuǎn)距離測距精度,擴(kuò)大了測距范圍。試驗具體結(jié)果如表3所示。
表3 每米4 000像素測距結(jié)果
2)當(dāng)L<20 m時,ρ<0.01L的算法限制導(dǎo)致可選的角點減少,∑Δαk值分布較分散,降低了單目測距算法的測距精度,如表2所示。本文中的測距理論表明,若目標(biāo)角點密集,即使近距離仍可檢測到足夠多的角點,測距精度依然可以保證。由此采用了具有尺度不變性的surf角點檢測算法,并增大了測距距離。試驗結(jié)果表明,改用surf角點檢測算法,遠(yuǎn)距離測距精度較高,但由于surf實時性較差,導(dǎo)致整體測距時間變長。具體試驗數(shù)據(jù)如表4所示。
表4 surf角點檢測測距試驗結(jié)果
采用了單目相機(jī)和加速度計的測距方案,通過建立相機(jī)-目標(biāo)距離與目標(biāo)特征尺寸成像的關(guān)系,利用目標(biāo)特征尺寸成像相對變化量的統(tǒng)計特性及特征尺寸與相機(jī)-目標(biāo)距離的比值關(guān)系,對距離輸出進(jìn)行估計并逐步修正。利用harris角點檢測法和surf角點檢測法分別驗證了測距算法。測距試驗表明:在不需要固定參照物的情況下,測距精度優(yōu)于傳統(tǒng)測距精度?;趆arris角點檢測的測距精度受距離限制較大,但實時性較好;基于surf角點檢測的測距精度基本不受距離影響,但是實時性較差。下一步工作是研究開發(fā)同時具備尺度不變性和實時性且適合本文中單目測距算法的特征尺寸檢測算法。