董延超, 劉宇灝, 李勁松, 張露露, 曾 超, 鄧海洋
(同濟(jì)大學(xué)電子與信息工程學(xué)院,上海 201804)
車載視覺系統(tǒng)[1-2]通過攝像頭獲取車輛周邊環(huán)境信息,是目前應(yīng)用最廣泛、最有前景的傳感器之一。車載環(huán)視系統(tǒng)通過安裝在車輛前、后、左、右的多臺魚眼廣角相機(jī)實(shí)時采集車輛四周視頻數(shù)據(jù),經(jīng)過一系列的圖像矯正、變換等處理生成以車輛為參考中心的俯視圖,然后通過合成算法拼接為一幅完整的環(huán)視鳥瞰圖,以“天空視角”為駕駛員提供無死角的車輛360°實(shí)時環(huán)境視覺信息。
設(shè)計(jì)并開發(fā)了一款車載環(huán)視系統(tǒng)實(shí)驗(yàn)平臺,該實(shí)驗(yàn)平臺的理論及技術(shù)涉及多項(xiàng)計(jì)算機(jī)視覺內(nèi)容,如魚眼相機(jī)成像原理、相機(jī)參數(shù)標(biāo)定、最優(yōu)化求解、圖像矯正、投影變換、圖像拼接融合[3]等。
本實(shí)驗(yàn)平臺將縮小版汽車模型作為載體,在周邊安裝了4 臺魚眼相機(jī),如圖1 所示。
相機(jī)選用海康的PoE(Power over Ethernet)供電板級工業(yè)相機(jī),分辨率為1 440 ×1 080,可以通過程序控制相機(jī)的運(yùn)行參數(shù)(曝光時間、白平衡、gamma 矯正、同步觸發(fā)等)。鏡頭焦距為1.7 mm,是M12 標(biāo)準(zhǔn)接口。本實(shí)驗(yàn)平臺的其他主要部件包括移動電源、PoE交換機(jī)、MiniPC、便攜式顯示器。只要一條網(wǎng)線連接相機(jī)與PoE交換機(jī)就可進(jìn)行供電及圖像采集。
考慮到魚眼相機(jī)的視野范圍可達(dá)180°左右,傳統(tǒng)小孔相機(jī)模型不適用于魚眼相機(jī),因此本實(shí)驗(yàn)平臺使用統(tǒng)一相機(jī)模型(UCM)[4-5]對環(huán)視系統(tǒng)的魚眼相機(jī)進(jìn)行建模。UCM 如圖2 所示,在UCM 中,空間中的點(diǎn)χ首先投影到單位球體上得到點(diǎn)xs,然后投影到針孔相機(jī)的圖像平面上得到點(diǎn)mu。UCM 由i=(γx,γy,cx,cy,ξ)T5 個參數(shù)構(gòu)成,其中γx、γy為相機(jī)焦距,cx、cy為相機(jī)光軸在圖像坐標(biāo)系中的偏移量,ξ 為參考坐標(biāo)系Fp與Fm在z方向的偏移量??臻g中的一個點(diǎn)X=(x,y,z)的成像過程可表示為如下數(shù)學(xué)模型:
圖2 UCM成像過程
考慮到實(shí)際工程中的數(shù)值穩(wěn)定性問題[6],上述UCM的投影成像過程可重新表達(dá)為
變換后的數(shù)學(xué)方程(3)依然由5 個參數(shù)構(gòu)成:i=(fx,fy,cx,cy,α)T,α∈[0,1],其中fx、fy為相機(jī)焦距。方程(1)與方程(3)是等價的,其中,ξ = α/(1 - α),γx=fx/(1 -α),γy=fy/(1 -α),當(dāng)α =0 時,本模型退化為小孔相機(jī)模型。因此,UCM適應(yīng)于魚眼相機(jī)和普通小孔相機(jī)。
相應(yīng)地,圖像上一個點(diǎn)U=(u,v)的反投影數(shù)學(xué)模型為
為生成沒有畸變的俯視鳥瞰圖,需要對多臺魚眼相機(jī)捕捉的圖像進(jìn)行精確的內(nèi)部和外部參數(shù)標(biāo)定。相機(jī)內(nèi)部參數(shù)誤差主要由相機(jī)底座、感光芯片、鏡頭之間的裝配公差引起的。通過大量實(shí)驗(yàn)發(fā)現(xiàn),同一型號相機(jī)的參數(shù)不一致性問題主要體現(xiàn)在光心點(diǎn)(cx,cy)上。針對本實(shí)驗(yàn)平臺,設(shè)計(jì)了專門的標(biāo)定場地和自適應(yīng)標(biāo)定算法解決相機(jī)參數(shù)的一致性問題以及車輛在標(biāo)定場地中的停放誤差問題。
設(shè)計(jì)的標(biāo)定場地如圖3 所示。其中,紅色矩形框略大于車輛的長寬尺寸,使得車輛可以方便地停入其中。每臺相機(jī)的標(biāo)定板有左、中、右3 塊構(gòu)成,標(biāo)定板的坐標(biāo)系原點(diǎn)在中間標(biāo)定板的左下角,標(biāo)定板坐標(biāo)系x、y、z軸指向如圖3 所示。標(biāo)定場地的尺寸參數(shù)由棋盤格方塊尺寸、方塊數(shù)量以及距離參數(shù)a~h等唯一確定。距離參數(shù)的正負(fù)號以標(biāo)定板的局部坐標(biāo)系為參考。標(biāo)定場地的全局坐標(biāo)系與前方標(biāo)定板坐標(biāo)系重合。車輛坐標(biāo)系的原點(diǎn)位于前相機(jī)在地面上的投影點(diǎn),x軸指向車輛右側(cè),y軸指向車輛前方,z軸指向車輛上方。環(huán)視鳥瞰圖的坐標(biāo)系與車輛坐標(biāo)系重合,以便生成環(huán)視鳥瞰圖時各個投影面與車輛坐標(biāo)系對齊。利用標(biāo)定場地中的棋盤格特征點(diǎn)計(jì)算相機(jī)的外部姿態(tài)參數(shù)和內(nèi)部參數(shù)(cx,cy),可以自適應(yīng)車輛與標(biāo)定場地之間的停放誤差。
圖3 環(huán)視系統(tǒng)標(biāo)定場地設(shè)計(jì)
(1)單相機(jī)標(biāo)定。相機(jī)的外部參數(shù)包括標(biāo)定板坐標(biāo)系CSpi在相機(jī)坐標(biāo)系CSci中的位置(txcpi,tycpi,tzcpi)和旋轉(zhuǎn)角度(rxcpi,rycpi,rzcpi),其中i=0,1,2,3 代表前、后、左、右相機(jī)索引。同一型號的相機(jī)名義內(nèi)部參數(shù)通過標(biāo)定工具可以獲得[7]。通過Levenberg-Marquardt數(shù)值優(yōu)化求解算法[8-9]對停入標(biāo)定場地中的車輛在線估計(jì)相機(jī)外部姿態(tài)參數(shù)及內(nèi)部參數(shù)(cxi,cyi),其中Rcpi為旋轉(zhuǎn)矩陣,tcpi為平移向量。因此,系統(tǒng)的待優(yōu)化狀態(tài)量包括xc=(txcpi,tycpi,tzcpi,rxcpi,rycpi,rzcpi,cxi,cyi)。系統(tǒng)的觀測為各相機(jī)檢測出的棋盤格角點(diǎn)[10-11]坐標(biāo)fc,j=(uc,j,vc,j),表示第c臺相機(jī)檢測到的第j個棋盤格角點(diǎn)。定義系統(tǒng)的成本函數(shù)為棋盤格角點(diǎn)的反投影誤差[12]之平方和,則標(biāo)定問題變成了如下最優(yōu)化問題:
式中:Xc為待求解狀態(tài)量;fc,j為觀測量;πc(Xc,F(xiàn)j)為相機(jī)投影模型,也是系統(tǒng)的觀測模型;Fj為與fc,j相對應(yīng)的棋盤格角點(diǎn)在棋盤格坐標(biāo)系中的三維坐標(biāo)值。利用Levenberg-Marquardt非線性優(yōu)化算法求解得到使得反投影誤差最小的系統(tǒng)狀態(tài)量。
各相機(jī)單獨(dú)標(biāo)定完成后,假設(shè)標(biāo)定板坐標(biāo)系CSpi中一個點(diǎn)的齊次坐標(biāo)為,轉(zhuǎn)換到相機(jī)坐標(biāo)系CSci后的齊次坐標(biāo)為,則兩者之間的轉(zhuǎn)換關(guān)系為:
(2)坐標(biāo)系統(tǒng)間變換。對于車載環(huán)視系統(tǒng)的標(biāo)定而言,其目的是要找到車輛坐標(biāo)系CSv中地面上任一點(diǎn)與相機(jī)坐標(biāo)系CSci中相應(yīng)點(diǎn)的變換關(guān)系[13]。因此,必須確定世界坐標(biāo)系CSw、車輛坐標(biāo)系CSv及相機(jī)坐標(biāo)系CSci的變換關(guān)系。利用上文所述單相機(jī)標(biāo)定方法對每臺相機(jī)相對于各自標(biāo)定板的姿態(tài)Tcpi標(biāo)定完畢之后,就可以將標(biāo)定板坐標(biāo)系CSpi中的任一點(diǎn)變換到相機(jī)坐標(biāo)系CSci中,進(jìn)而利用魚眼相機(jī)模型得到圖像坐標(biāo)系CSimgi中的坐標(biāo)。
為便于表述,選擇將世界坐標(biāo)系CSw放置于前相機(jī)中間標(biāo)定板上,如圖3 標(biāo)定場地設(shè)計(jì)所示。
由于標(biāo)定場地中每個標(biāo)志物的尺寸及相對位置關(guān)系已知,因此不難求得各標(biāo)定板坐標(biāo)系在世界坐標(biāo)系中的位姿,其中i=0,1,2,3,分別表示前、后、左、右4 組標(biāo)定板,Rwpi為旋轉(zhuǎn)矩陣,twpi為平移向量。假設(shè)標(biāo)定板坐標(biāo)系中一個點(diǎn)的齊次坐標(biāo)為,轉(zhuǎn)換到世界坐標(biāo)系后的齊次坐標(biāo)為,則兩者之間的轉(zhuǎn)換關(guān)系為:
根據(jù)式(6)、(7)就可計(jì)算得到相機(jī)坐標(biāo)系相對于世界坐標(biāo)系的位姿
由于相機(jī)是安裝在車輛上且其裝配位置是預(yù)設(shè)好的,因此可以根據(jù)4 臺相機(jī)在世界坐標(biāo)系中的相對位置來計(jì)算車體的尺寸。這里假定左右相機(jī)安裝在車輛左右后視鏡處,前相機(jī)安裝在車輛頭部中間位置,后相機(jī)則安裝在車輛尾部中間位置。根據(jù)這個假設(shè),車體的長度(lv)可以近似為前后相機(jī)的水平距離,而車體的寬度(記為wv)可以近似為左右相機(jī)的水平距離,即:
式中:projGND()表示將向量投影到地面;norm()表示求向量的模。
通過在線計(jì)算車輛尺寸,可以自適應(yīng)多種型號的車輛,也可以自適應(yīng)確定環(huán)視系統(tǒng)所要顯示區(qū)域的大小,還可以得出車體圖標(biāo)的大小。
車體縱軸與世界坐標(biāo)系y軸方向的夾角為θwv,即車體坐標(biāo)系CSv的z軸相對于世界坐標(biāo)系CSw的z軸的旋轉(zhuǎn)角度,也可根據(jù)4 臺相機(jī)在世界坐標(biāo)系中的具體位置來確定。車輛坐標(biāo)系CSv的(x,y)平面位于車輛所停放的水平面,z軸豎直向上,y軸方向?yàn)檐圀w縱向方向。選擇用左右相機(jī)的位置來計(jì)算θwv,即:
車輛坐標(biāo)系CSv在世界坐標(biāo)系CSw中的旋轉(zhuǎn)矩陣為
車輛坐標(biāo)系CSv原點(diǎn)放置于前端相機(jī)在水平面的投影處,因此其在世界坐標(biāo)系CSw中的位置
車輛坐標(biāo)系CSv在世界坐標(biāo)系CSw的位姿
整理式(6)、(7)、(14)可得車輛坐標(biāo)系到相機(jī)坐標(biāo)系的變換矩陣
基于上述車輛、相機(jī)標(biāo)定結(jié)果,將各相機(jī)的圖像數(shù)據(jù)投影到車輛周邊的水平面上并進(jìn)行融合,得到車輛的俯視鳥瞰圖[14]。圖4 為環(huán)視鳥瞰圖的基本構(gòu)成。鳥瞰圖作為一張數(shù)字圖像,其坐標(biāo)系位于左上角,單位為像素。車輛坐標(biāo)系位于前相機(jī)在地面上的投影,x軸指向車輛右方、y軸指向車輛前方。當(dāng)車輛的尺寸、環(huán)視區(qū)域四周的尺寸按需確定之后,鳥瞰圖坐標(biāo)系與車輛坐標(biāo)系存在相似變換關(guān)系,其中s為比例尺因子,Rvb為旋轉(zhuǎn)矩陣,tvb為平移向量。假設(shè)鳥瞰圖上一個像素為Ub,則其在車輛坐標(biāo)系中的表達(dá)為
圖4 環(huán)視鳥瞰圖構(gòu)成
鳥瞰圖的生成過程即是對鳥瞰圖各區(qū)域用合適的魚眼相機(jī)圖像像素進(jìn)行填充或插值的過程。圖4 中,鳥瞰圖的IMGF、IMGB、IMGL、IMGR4 個區(qū)域的圖像數(shù)據(jù)分別來自車輛前、后、左、右4 臺相機(jī),如圖4 所示。
鳥瞰圖的IMGLF、IMGLB、IMGRB、IMGRF4 個角落區(qū)域可以被相鄰的2 臺相機(jī)同時觀測到,因此這4 個區(qū)域的圖像數(shù)據(jù)是由2 臺相機(jī)圖像數(shù)據(jù)融合而成。本文給出2 種融合方法:一種方法是以BLF、BLB、BRB、BRF4條人工設(shè)定的斜線為融合區(qū)域的分界線,融合權(quán)重按離分界線的遠(yuǎn)近逐漸降低,如圖4 中的IMGLF區(qū)域所示;另一種方法,以IMGRF區(qū)域?yàn)槔?,對融合區(qū)域的像素Ub計(jì)算其在相鄰兩相機(jī)中的對應(yīng)坐標(biāo)Uc0和Uc3,并計(jì)算Uc0和Uc3距離各自圖像中心點(diǎn)的距離dc0和dc3,然后根據(jù)各自的距離遠(yuǎn)近設(shè)計(jì)融合權(quán)重。此方法具有自適應(yīng)清晰度優(yōu)化的特點(diǎn)?;谏鲜龇椒ǖ玫降镍B瞰圖如圖5 所示。
圖5 環(huán)視鳥瞰圖合成
提出了一款車載環(huán)視系統(tǒng)實(shí)驗(yàn)平臺,使用UCM對環(huán)視系統(tǒng)的魚眼相機(jī)進(jìn)行建模,以適應(yīng)魚眼相機(jī)的超大視野特性。設(shè)計(jì)了專門的標(biāo)定場地和自適應(yīng)標(biāo)定算法,解決了相機(jī)內(nèi)部參數(shù)誤差及車輛自由停放誤差?;谏鲜鲕囕v、相機(jī)標(biāo)定結(jié)果,設(shè)計(jì)了鳥瞰圖生成方法,將各相機(jī)的圖像數(shù)據(jù)融合得到了車輛的俯視鳥瞰圖。
在所設(shè)計(jì)的環(huán)視系統(tǒng)軟硬件平臺基礎(chǔ)上,可以進(jìn)一步提高環(huán)視系統(tǒng)的各項(xiàng)功能和性能。例如,改進(jìn)標(biāo)定方案和算法,進(jìn)一步提高標(biāo)定精度和效率,改善多相機(jī)融合拼接的色彩一致性問題,車輛姿態(tài)在線估計(jì)及環(huán)視系統(tǒng)矯正等。此外,也可以拓展深層次研究應(yīng)用。例如,基于環(huán)視鳥瞰圖的語義檢測與分割、實(shí)時建圖與定位[15-16]、小車自主運(yùn)動控制等。