倪文韜,鐘岱山,唐向遠(yuǎn)
(南京郵電大學(xué) 通信與信息工程學(xué)院,江蘇 南京 210003)
利用攝像頭進(jìn)行測(cè)距已經(jīng)不是新鮮的事情?,F(xiàn)階段,關(guān)于攝像頭測(cè)距有3種方式:第一種是在攝像頭上安裝測(cè)距設(shè)備包括激光測(cè)距儀、測(cè)距裝置、超聲波傳感器等,用于測(cè)量目標(biāo)物體與攝像頭之間的距離。這種測(cè)距方法有著成本高的特點(diǎn),需要測(cè)試裝備上都安裝測(cè)距設(shè)備。第二種是利用單目攝像頭進(jìn)行測(cè)距。這需要建立到一定的參考數(shù)據(jù),根據(jù)數(shù)據(jù)的對(duì)比,計(jì)算得出攝像頭和目標(biāo)物的位置。如需要收集的數(shù)據(jù)包括目標(biāo)物的尺寸數(shù)據(jù)、攝像頭和目標(biāo)物之間的夾角、相對(duì)位移、攝像頭高度等。該測(cè)距方法的實(shí)施,需要借助一些數(shù)據(jù),因此方法有一定的測(cè)試場(chǎng)景限制。第三種是借助雙目攝像頭完成測(cè)距。該方法利用立體標(biāo)定的方式,獲取攝像頭的參數(shù)矩陣,通過(guò)標(biāo)定結(jié)果匹配圖像,生成3D點(diǎn)云,深度成像,最后得到攝像頭和目標(biāo)物之間的距離。這種測(cè)距方式,有著復(fù)雜的計(jì)算方法,還會(huì)受到環(huán)境因素、立體標(biāo)定的影響,結(jié)果也缺乏穩(wěn)定性。
攝像頭進(jìn)行測(cè)距的方式,存在一系列的問(wèn)題,那就是成本偏高,容易受到場(chǎng)景的限制,算法十分復(fù)雜,需要經(jīng)過(guò)復(fù)雜的計(jì)算,而且計(jì)算結(jié)果還不太穩(wěn)定。文章針對(duì)攝像頭測(cè)距存在的問(wèn)題,以攝像頭測(cè)距為基礎(chǔ),提出雙目攝像頭測(cè)距,實(shí)現(xiàn)對(duì)攝像頭測(cè)距的優(yōu)化改良。該項(xiàng)技術(shù),可以實(shí)現(xiàn)準(zhǔn)確迅速地測(cè)距,利用目標(biāo)物在攝像頭中的投影,也可以迅速準(zhǔn)確地獲取距離數(shù)據(jù),不需要提前進(jìn)行攝像頭標(biāo)定,且沒(méi)有復(fù)雜的算法,更不會(huì)占用系統(tǒng)的資源。
為了實(shí)現(xiàn)攝像頭測(cè)距的優(yōu)化,提出雙目攝像頭測(cè)距,其工作原理如下:(1)選擇一個(gè)攝像頭作為基準(zhǔn),選擇另一個(gè)攝像頭作為參照,這樣可以獲取兩個(gè)圖像,一個(gè)是基準(zhǔn)攝像頭收集到的基準(zhǔn)圖像,另一個(gè)是參考攝像頭收集到的參考圖像。(2)將雙目攝像頭收集到的兩種圖像進(jìn)行對(duì)比,結(jié)合兩個(gè)圖像上目標(biāo)物呈現(xiàn)出來(lái)的特征數(shù)據(jù),計(jì)算之后完成測(cè)距。
利用雙目攝像頭進(jìn)行測(cè)距,需要做好校準(zhǔn)工作,一般而言,校準(zhǔn)工作的步驟如下:首先,采集圖像。雙目攝像頭范圍內(nèi),設(shè)置目標(biāo)物,需要確保攝像頭可以采集到目標(biāo)物的照片,分別進(jìn)行目標(biāo)物照片的采集。計(jì)算目標(biāo)物在圖像中存在的視差、目標(biāo)物投影在基準(zhǔn)圖像X軸上的坐標(biāo),并測(cè)量目標(biāo)物到攝像頭的距離。做好相關(guān)的數(shù)據(jù)記錄,如兩個(gè)圖像中目標(biāo)物投影的視差,基準(zhǔn)圖像X軸上的坐標(biāo)以及距離攝像頭的距離。進(jìn)行位置的調(diào)整,將目標(biāo)物的位置進(jìn)行調(diào)整,重復(fù)上面的操作,從而完成校準(zhǔn)。
具體而言,上面提到的工作還有著如下的操作步驟:(1)特征數(shù)據(jù)的提取,將目標(biāo)物在雙目攝像頭中投影的圖像數(shù)據(jù)進(jìn)行提取,比如,目標(biāo)物在基準(zhǔn)攝像頭和參考攝像頭中呈現(xiàn)出來(lái)的圖像視差,目標(biāo)物投影圖像在基準(zhǔn)攝像頭中的位置—X軸的坐標(biāo)。(2)根據(jù)收集到的目標(biāo)物投影圖像的數(shù)據(jù)特征,經(jīng)過(guò)一定的計(jì)算方法,得到加工處理之后的數(shù)據(jù)。(3)然后通過(guò)數(shù)據(jù)容器得到最終的距離數(shù)據(jù)。
本文以汽車(chē)測(cè)距系統(tǒng)為例,分析利用雙目攝像頭進(jìn)行汽車(chē)測(cè)距的可行性。測(cè)距系統(tǒng)主要由圖像采集、攝像機(jī)標(biāo)定、雙目立體校正、立體匹配、數(shù)據(jù)輸出等內(nèi)容。
采集使用到的攝像頭為CMOS攝像頭,幀數(shù)最大可到60幀/秒,利用USB數(shù)據(jù)實(shí)現(xiàn)與PC機(jī)的通信聯(lián)系。PC端顯示的實(shí)時(shí)畫(huà)面如圖1所示。
攝像機(jī)標(biāo)定的目的在于確定兩個(gè)攝像機(jī)處于平行的位置,這是使用雙目攝像機(jī)測(cè)距的關(guān)鍵。這里可以通過(guò)數(shù)據(jù)計(jì)算的方式,計(jì)算三維空間坐標(biāo)和二維圖像坐標(biāo)的對(duì)應(yīng)關(guān)系。從多個(gè)角度,進(jìn)行圖像測(cè)定,P在攝像機(jī)下的成像關(guān)系式如下:
可得,兩臺(tái)攝像頭設(shè)置距離100 mm,計(jì)算結(jié)果為-99.999 33 mm,差距很小,滿(mǎn)足測(cè)距的要求。
圖1 PC端顯示的實(shí)時(shí)畫(huà)面
考慮到攝像機(jī)會(huì)受到光學(xué)透鏡和自身工藝的影響,成像過(guò)程中容易出現(xiàn)畸變的情況,會(huì)影響到數(shù)據(jù)匹配的準(zhǔn)確性。如果要實(shí)現(xiàn)兩個(gè)投影圖的圖像對(duì)應(yīng)點(diǎn)匹配,需要大量的搜索工作,十分耗時(shí)。因此,考慮到加快匹配的速度,可以使用Bouguet的校正方法,減少重投影的次數(shù),這樣重投影畸變的情況最小化,最大化視圖的疊加面積。二維點(diǎn)和二維點(diǎn)可以借助重投影矩陣變換的方式,進(jìn)行相互轉(zhuǎn)換。
立體匹配主要目的在于將不同視點(diǎn)之下,同一物體的投影之間存在的對(duì)應(yīng)關(guān)系,也就是人們常說(shuō)的視差值。計(jì)算方法一般有兩種:一種是局部約束的立體匹配算法,另一種是全局約束的立體匹配算法。對(duì)比立體匹配算法,建議采用絕對(duì)誤差累計(jì)的方式計(jì)算出矯正圖形的匹配點(diǎn)。SAD匹配代價(jià)函數(shù):
通過(guò)視差圖的對(duì)比,可以直觀(guān)看到對(duì)比效果:如果匹配點(diǎn)多的情況下,那么出現(xiàn)的視差圖將更加接近原圖;如果匹配點(diǎn)少,那么視差圖和原圖之間的差異就較大。
通過(guò)實(shí)驗(yàn)的方式進(jìn)行驗(yàn)證,視差圖在25幀/秒的情況下,沒(méi)有出現(xiàn)卡頓的情況,可以實(shí)現(xiàn)實(shí)時(shí)工作的需要。通過(guò)移動(dòng)目標(biāo)物,調(diào)整攝像機(jī)和目標(biāo)物的距離,進(jìn)行測(cè)距,得出的數(shù)據(jù)如表1所示。
表1 實(shí)驗(yàn)數(shù)據(jù)
從表1中的數(shù)據(jù)來(lái)看,雙目攝像頭進(jìn)行系統(tǒng)測(cè)距,還是有著很高的精度的,誤差比較低,可以控制到5%以下,尤其是近距離的測(cè)距,精度很高。也就是說(shuō),使用雙目攝像頭測(cè)距有著一定的可行性。但是從實(shí)驗(yàn)數(shù)據(jù)來(lái)看,對(duì)于遠(yuǎn)距離的測(cè)距,誤差逐漸增加,距離6 200 mm的測(cè)量誤差是距離800 mm的測(cè)量誤差的42倍以上。主要是由于標(biāo)定環(huán)節(jié)和測(cè)量過(guò)程存在誤差的原因。