董延超, 劉宇灝, 李勁松, 張露露, 曾 超, 鄧海洋
(同濟大學電子與信息工程學院,上海 201804)
車載視覺系統[1-2]通過攝像頭獲取車輛周邊環境信息,是目前應用最廣泛、最有前景的傳感器之一。車載環視系統通過安裝在車輛前、后、左、右的多臺魚眼廣角相機實時采集車輛四周視頻數據,經過一系列的圖像矯正、變換等處理生成以車輛為參考中心的俯視圖,然后通過合成算法拼接為一幅完整的環視鳥瞰圖,以“天空視角”為駕駛員提供無死角的車輛360°實時環境視覺信息。
設計并開發了一款車載環視系統實驗平臺,該實驗平臺的理論及技術涉及多項計算機視覺內容,如魚眼相機成像原理、相機參數標定、最優化求解、圖像矯正、投影變換、圖像拼接融合[3]等。
本實驗平臺將縮小版汽車模型作為載體,在周邊安裝了4 臺魚眼相機,如圖1 所示。
相機選用海康的PoE(Power over Ethernet)供電板級工業相機,分辨率為1 440 ×1 080,可以通過程序控制相機的運行參數(曝光時間、白平衡、gamma 矯正、同步觸發等)。鏡頭焦距為1.7 mm,是M12 標準接口。本實驗平臺的其他主要部件包括移動電源、PoE交換機、MiniPC、便攜式顯示器。只要一條網線連接相機與PoE交換機就可進行供電及圖像采集。
考慮到魚眼相機的視野范圍可達180°左右,傳統小孔相機模型不適用于魚眼相機,因此本實驗平臺使用統一相機模型(UCM)[4-5]對環視系統的魚眼相機進行建模。UCM 如圖2 所示,在UCM 中,空間中的點χ首先投影到單位球體上得到點xs,然后投影到針孔相機的圖像平面上得到點mu。UCM 由i=(γx,γy,cx,cy,ξ)T5 個參數構成,其中γx、γy為相機焦距,cx、cy為相機光軸在圖像坐標系中的偏移量,ξ 為參考坐標系Fp與Fm在z方向的偏移量。空間中的一個點X=(x,y,z)的成像過程可表示為如下數學模型:

圖2 UCM成像過程
考慮到實際工程中的數值穩定性問題[6],上述UCM的投影成像過程可重新表達為
變換后的數學方程(3)依然由5 個參數構成:i=(fx,fy,cx,cy,α)T,α∈[0,1],其中fx、fy為相機焦距。方程(1)與方程(3)是等價的,其中,ξ = α/(1 - α),γx=fx/(1 -α),γy=fy/(1 -α),當α =0 時,本模型退化為小孔相機模型。因此,UCM適應于魚眼相機和普通小孔相機。
相應地,圖像上一個點U=(u,v)的反投影數學模型為
為生成沒有畸變的俯視鳥瞰圖,需要對多臺魚眼相機捕捉的圖像進行精確的內部和外部參數標定。相機內部參數誤差主要由相機底座、感光芯片、鏡頭之間的裝配公差引起的。通過大量實驗發現,同一型號相機的參數不一致性問題主要體現在光心點(cx,cy)上。針對本實驗平臺,設計了專門的標定場地和自適應標定算法解決相機參數的一致性問題以及車輛在標定場地中的停放誤差問題。
設計的標定場地如圖3 所示。其中,紅色矩形框略大于車輛的長寬尺寸,使得車輛可以方便地停入其中。每臺相機的標定板有左、中、右3 塊構成,標定板的坐標系原點在中間標定板的左下角,標定板坐標系x、y、z軸指向如圖3 所示。標定場地的尺寸參數由棋盤格方塊尺寸、方塊數量以及距離參數a~h等唯一確定。距離參數的正負號以標定板的局部坐標系為參考。標定場地的全局坐標系與前方標定板坐標系重合。車輛坐標系的原點位于前相機在地面上的投影點,x軸指向車輛右側,y軸指向車輛前方,z軸指向車輛上方。環視鳥瞰圖的坐標系與車輛坐標系重合,以便生成環視鳥瞰圖時各個投影面與車輛坐標系對齊。利用標定場地中的棋盤格特征點計算相機的外部姿態參數和內部參數(cx,cy),可以自適應車輛與標定場地之間的停放誤差。

圖3 環視系統標定場地設計
(1)單相機標定。相機的外部參數包括標定板坐標系CSpi在相機坐標系CSci中的位置(txcpi,tycpi,tzcpi)和旋轉角度(rxcpi,rycpi,rzcpi),其中i=0,1,2,3 代表前、后、左、右相機索引。同一型號的相機名義內部參數通過標定工具可以獲得[7]。通過Levenberg-Marquardt數值優化求解算法[8-9]對停入標定場地中的車輛在線估計相機外部姿態參數及內部參數(cxi,cyi),其中Rcpi為旋轉矩陣,tcpi為平移向量。因此,系統的待優化狀態量包括xc=(txcpi,tycpi,tzcpi,rxcpi,rycpi,rzcpi,cxi,cyi)。系統的觀測為各相機檢測出的棋盤格角點[10-11]坐標fc,j=(uc,j,vc,j),表示第c臺相機檢測到的第j個棋盤格角點。定義系統的成本函數為棋盤格角點的反投影誤差[12]之平方和,則標定問題變成了如下最優化問題:
式中:Xc為待求解狀態量;fc,j為觀測量;πc(Xc,Fj)為相機投影模型,也是系統的觀測模型;Fj為與fc,j相對應的棋盤格角點在棋盤格坐標系中的三維坐標值。利用Levenberg-Marquardt非線性優化算法求解得到使得反投影誤差最小的系統狀態量。
各相機單獨標定完成后,假設標定板坐標系CSpi中一個點的齊次坐標為,轉換到相機坐標系CSci后的齊次坐標為,則兩者之間的轉換關系為:
(2)坐標系統間變換。對于車載環視系統的標定而言,其目的是要找到車輛坐標系CSv中地面上任一點與相機坐標系CSci中相應點的變換關系[13]。因此,必須確定世界坐標系CSw、車輛坐標系CSv及相機坐標系CSci的變換關系。利用上文所述單相機標定方法對每臺相機相對于各自標定板的姿態Tcpi標定完畢之后,就可以將標定板坐標系CSpi中的任一點變換到相機坐標系CSci中,進而利用魚眼相機模型得到圖像坐標系CSimgi中的坐標。
為便于表述,選擇將世界坐標系CSw放置于前相機中間標定板上,如圖3 標定場地設計所示。
由于標定場地中每個標志物的尺寸及相對位置關系已知,因此不難求得各標定板坐標系在世界坐標系中的位姿,其中i=0,1,2,3,分別表示前、后、左、右4 組標定板,Rwpi為旋轉矩陣,twpi為平移向量。假設標定板坐標系中一個點的齊次坐標為,轉換到世界坐標系后的齊次坐標為,則兩者之間的轉換關系為:
根據式(6)、(7)就可計算得到相機坐標系相對于世界坐標系的位姿
由于相機是安裝在車輛上且其裝配位置是預設好的,因此可以根據4 臺相機在世界坐標系中的相對位置來計算車體的尺寸。這里假定左右相機安裝在車輛左右后視鏡處,前相機安裝在車輛頭部中間位置,后相機則安裝在車輛尾部中間位置。根據這個假設,車體的長度(lv)可以近似為前后相機的水平距離,而車體的寬度(記為wv)可以近似為左右相機的水平距離,即:
式中:projGND()表示將向量投影到地面;norm()表示求向量的模。
通過在線計算車輛尺寸,可以自適應多種型號的車輛,也可以自適應確定環視系統所要顯示區域的大小,還可以得出車體圖標的大小。
車體縱軸與世界坐標系y軸方向的夾角為θwv,即車體坐標系CSv的z軸相對于世界坐標系CSw的z軸的旋轉角度,也可根據4 臺相機在世界坐標系中的具體位置來確定。車輛坐標系CSv的(x,y)平面位于車輛所停放的水平面,z軸豎直向上,y軸方向為車體縱向方向。選擇用左右相機的位置來計算θwv,即:
車輛坐標系CSv在世界坐標系CSw中的旋轉矩陣為
車輛坐標系CSv原點放置于前端相機在水平面的投影處,因此其在世界坐標系CSw中的位置
車輛坐標系CSv在世界坐標系CSw的位姿
整理式(6)、(7)、(14)可得車輛坐標系到相機坐標系的變換矩陣
基于上述車輛、相機標定結果,將各相機的圖像數據投影到車輛周邊的水平面上并進行融合,得到車輛的俯視鳥瞰圖[14]。圖4 為環視鳥瞰圖的基本構成。鳥瞰圖作為一張數字圖像,其坐標系位于左上角,單位為像素。車輛坐標系位于前相機在地面上的投影,x軸指向車輛右方、y軸指向車輛前方。當車輛的尺寸、環視區域四周的尺寸按需確定之后,鳥瞰圖坐標系與車輛坐標系存在相似變換關系,其中s為比例尺因子,Rvb為旋轉矩陣,tvb為平移向量。假設鳥瞰圖上一個像素為Ub,則其在車輛坐標系中的表達為

圖4 環視鳥瞰圖構成
鳥瞰圖的生成過程即是對鳥瞰圖各區域用合適的魚眼相機圖像像素進行填充或插值的過程。圖4 中,鳥瞰圖的IMGF、IMGB、IMGL、IMGR4 個區域的圖像數據分別來自車輛前、后、左、右4 臺相機,如圖4 所示。
鳥瞰圖的IMGLF、IMGLB、IMGRB、IMGRF4 個角落區域可以被相鄰的2 臺相機同時觀測到,因此這4 個區域的圖像數據是由2 臺相機圖像數據融合而成。本文給出2 種融合方法:一種方法是以BLF、BLB、BRB、BRF4條人工設定的斜線為融合區域的分界線,融合權重按離分界線的遠近逐漸降低,如圖4 中的IMGLF區域所示;另一種方法,以IMGRF區域為例,對融合區域的像素Ub計算其在相鄰兩相機中的對應坐標Uc0和Uc3,并計算Uc0和Uc3距離各自圖像中心點的距離dc0和dc3,然后根據各自的距離遠近設計融合權重。此方法具有自適應清晰度優化的特點。基于上述方法得到的鳥瞰圖如圖5 所示。

圖5 環視鳥瞰圖合成
提出了一款車載環視系統實驗平臺,使用UCM對環視系統的魚眼相機進行建模,以適應魚眼相機的超大視野特性。設計了專門的標定場地和自適應標定算法,解決了相機內部參數誤差及車輛自由停放誤差。基于上述車輛、相機標定結果,設計了鳥瞰圖生成方法,將各相機的圖像數據融合得到了車輛的俯視鳥瞰圖。
在所設計的環視系統軟硬件平臺基礎上,可以進一步提高環視系統的各項功能和性能。例如,改進標定方案和算法,進一步提高標定精度和效率,改善多相機融合拼接的色彩一致性問題,車輛姿態在線估計及環視系統矯正等。此外,也可以拓展深層次研究應用。例如,基于環視鳥瞰圖的語義檢測與分割、實時建圖與定位[15-16]、小車自主運動控制等。