武非凡,梁浩翔,宋煥生,賈金明,劉蒞辰
(長安大學 信息工程學院,西安 710064)
智能交通監控系統(ITS)是現代交通體系中不可或缺的一部分[1,2],智能交通監控系統伴隨著圖像視頻處理、模式識別和機器視覺等多種技術的發展,已經越來越廣泛的應用到城市道路[3]、高速公路[4]、橋梁[5]和隧道[6]等不同場景道路下,其廣泛的應有除了與技術本身發展有關外,還與不斷降低的監控相機與處理器成本、豐富的數據收集有著密切的關系.目前,大多數基于視頻的研究還僅限于單場景下[7,8],但是由于單相機場景視野小等因素的影響難以實現對整個交通場景進行智能監控應用,本文借助單場景下的相機標定以及場景中相機的幾何關系來實現多場景的綜合相機標定,并結合多場景綜合相機標定來實現交通場景道路拼接,從而為以后跨相機的廣泛應用奠定基礎.
相機標定是一個重要的研究領域,通過相機標定可以實現基于視頻的車輛尺寸測量[9]、車輛速度監測[10]和車輛空間位置定位等交通參數信息的獲取.確立相機標定能夠構建出圖像平面與真實物理世界之間的映射關系[11],該映射關系的確立來源于簡單的相機針孔模型并被定義為相機內參數矩陣和相機外參數矩陣.相機內參數矩陣表示了相機內部固有的參數,例如焦距、主點和縱橫比等,而相機外參數表示相機所在坐標系與真實世界坐標系所建立的位置關系參數.近年來,科研工作者提出許多交通場景下的相機標定方法,如嚴紅平等人[12]依據道路標識信息提出基于3個消失點的道路云臺相機標定方法.Sochor等人[13]基于車輛3D模型提出交通場景的相機標定方法,并依據該方法實現車輛速度測量.
場景拼接[14,15]是將帶有重疊區域的數張圖像或相機場景拼接成一幅完整圖像,其中數張重貼圖像或場景可以是同一相機的不同角度拍攝,也可以是不同相機的相同或不同角度所拍攝,其中研究較為廣泛的是同一相機的不同角度拍攝的場景拼接,如馬嘉林等人[16]通過棋盤標定實現兩幅圖像的拼接.但本文所研究是不同相機的不同角度拍攝的道路場景拼接,其場景拼接是建立在相機標定基礎上,依據逆投影思想和平移矢量關系來實現的.
本文針對單相機由于視野和分辨率有限,無法對完整道路實現監控與應用,因此通過基于相機標定的場景拼接方法能夠有效的實現全場景覆蓋.首先采用基于消失點的相機標定方法分別對不同相機場景進行標定,并建立其子世界坐標系關系,之后依據公共區域特征,求解兩個相機場景對應子世界坐標系之間的旋轉平移關系,最后結合逆投影思想和平移矢量關系,將不同相機下的子世界坐標系統一到以第一相機為基準的世界坐標系中,將場景道路信息融入到世界坐標系,生成完整道路全景拼接俯視圖.
相機標定是通過計算相機的內部參數和外部參數來實現的,本質上是為了構建圖像上的像素信息和世界坐標系中物理信息的幾何映射關系.其中內部參數主要包含焦距、主點、縱橫比和畸變參數等,表示圖像坐標系上像素信息與相機坐標系中的物理信息的投影變換,外部參數主要包含旋轉矩陣和平移向量,表示相機坐標系和世界坐標系之間的位置關系[17].整個過程(假設世界坐標中的一個點P(x,y,z)到像素坐標系中的一個點p(u,v)的映射)可以通過式(1)表示:

其中,K表示相機內部參數,R表示旋轉矩陣,T表示平移向量,α為比例因子.KRT可通過H3×4進行表示,這里H3×4稱映射矩陣.
道路場景中的監控相機滿足小孔成像模型且其具有自旋角為零、主點位于圖像中心等特點.通常情況下,監控相機架設在道路旁的支柱上,該類支柱等距離等高度分布.依據監控相機自身屬性和架設特點,建立出合理簡化的單場景下相機標定模型,如圖1所示,將世界坐標系原點設置在相機正下方的路面上.YcoZc平面與YwoZw平面均處于平面Ω內,且平面Ω與道路方向成夾角為θ,Xc軸與Xw軸相互平行且方向一致.

圖1 單場景下相機標定模型
根據單場景下的相機標定模型,內參數矩陣為:

其中,f為相機焦距,其單位為像素,(Cx,Cy)為主點位置是已知參數,矩陣表示如式(2)所示.

旋轉矩陣R是世界坐標系繞X軸逆時針旋轉?+π/2,如式(3)所示.因道路上安裝監控相機高度h有統一標準,因此平移向量T定義為原點沿著世界坐標系的Z軸移動h距離至相機原點,可表示為式(4).


在消失點標定原理中,兩個正交方向的消失點可以實現相機焦距和旋轉參數的標定,相機標定模型中選擇Y軸方向的消失點vp0(u0,v0)在世界坐標系中無窮遠處,用齊次坐標表示為[0,1,0,0],X軸方向的消失點vp1(u1,v1),用齊次坐標表示為[1,0,0,0],將這兩個點代入式(5)、式(6)可得:

從式(7)可以看出f的確定與消失點vp0(u0,v0)和消失點vp1(u1,v1)有關,如果f可以通過其他方式確定,則可避免求解垂直道路方向的消失點vp1(u1,v1),只需要通過計算俯仰角?、掃視角θ和相機高度h,就可以實現單場景下的相機標定.?與θ可以通過式(8),式(9)獲得,h為已知信息.接下來則重點說明f的計算過程.
沿道路方向消失點可以通過對道路上實線進行檢測,從而獲得第一個方向消失點vp0(u0,v0),如圖2所示,但是垂直道路方向因不存在標志線,難以獲取該方向消失點,因而采用沿道路方向一段實際物理標志線長度l來解決該方向消失點難以提取的情況.如圖3所示,實線長度l可以選擇道路上一段虛線或其它線段長短,將線段前段點(·,yf,0)投影到圖像上的坐標是(·,yf),同時將線段后端點(·,yb,0)投影到圖像上的坐標為(·,yb),其中yf、yb之間滿足yb=yf+lcosθ,之后通過將該式及線段上的兩組點代入式(5)和式(6)可以得出如下關系式:


圖2 沿車道方向消失點的確定

圖3 世界坐標系中的線段示意圖
通過式(8)和式(9)得出:

將式(10)代入式(11)可得式(12),通過解該方程即可求解出焦距值f,并依據場景信息匹配排除錯誤焦距值.通過道路方向消失點vp0、道路線段長度l和相機高度h即可完成單場景下的相機標定.

本章節的目的是依據不同相機下提取的相同特征信息來尋求最佳匹配關系,為完成場景道路拼接奠定基礎.待拼接的圖像或待拼接圖像的子世界坐標系之間存在旋轉、平移在內的多種變換關系,該部分就是求解待拼接圖像的子世界坐標系之間的變換關系.
在交通監控場景下,針對同一空間位置點在相機視野1中處于較近和清晰位置,在相機視野2中處于較遠和模糊位置,通過特征點匹配無法實現位置匹配,本文設計在兩個重疊視野里放置不少于4個圓形標志點(假設兩個相機視野之間存在少量重疊區域),人工選取標志點中心,通過單場景相機標定獲取其在相機1所在子世界坐標系坐標P1i(x1i,y1i,z1i),該子坐標系稱作參考坐標系,參考坐標系表示其他子世界坐標系經過旋轉平移的映射變換可以變換到該參考坐標系上.相機2中標志點中心在子世界坐標系坐標為P2i(x2i,y2i,z2i),該坐標系稱作非參考坐標系,因此參考坐標系和非參考坐標系之間可用式(13)表示:

其中,M表示4×4的投影變換矩陣,r是3×3的旋轉矩陣,表示非參考坐標系經過旋轉矩陣r可以與參考系坐標系X軸、Y軸和Z軸方向保持一致.t是3×1的平移矩陣,表示非參考坐標系原點經過平移矩陣可以與參考坐標系原點重合.通過上面的變換關系式(13),將n組坐標點代入,之后通過最小二乘法可以求解出該投影變換矩陣M.到此該部分建立起了兩個子世界坐標系之間的映射關系,結合單場景的相機標定,構建出多相機視野和同一個世界坐標系的一一對應關系,其中統一世界坐標系的原點與參考坐標系的原點相同.
在交通監控場景中,監控相機架設在道路旁,相機視野覆蓋監控道路,如圖4(a),由于存在透視變換,導致道路在視野中呈現出近處場景道路寬遠處場景道路窄的變化,顯然通過現有拼接技術難以直接對不同相機所在道路進行拼接,因此本文通過逆投影思想對道路進行含有物理信息的場景道路拼接,拼接模擬示意圖如圖4(b)所示,將場景以俯視圖的方式計算在在一個坐標系中,其中俯視圖中任何位置可表示真實場景物理信息.

圖4 道路場景拼接模擬示意圖
在2.1節中我們建立起了不同相機視野和統一世界坐標系的一一對應關系,也就是說不同相機視野中的點在統一的世界坐標系中能夠找到對應的點,這樣能將圖像信息變換到世界坐標系中,從而結合逆投影思想和平移矢量完成帶有物理信息的道路場景拼接.逆投影思想方法具體流程如下.
Step 1.構建一個容納兩個場景的世界坐標系W1,從世界坐標系W1原點開始向X軸、Y軸方向以cm級步階獲取世界坐標點(因對道路場景拼接因而始終世界坐標系Z=0),記為(xi,yi,0).
Step 2.因統一世界坐標系與參考坐標系原點、方向一致,所以兩個坐標系之間變換矩陣為單位矩陣E,因此將該世界坐標點(xi,yi,0)通過相機標定,結合式(14)計算出其在相機視野1(參考坐標系所在視野)的位置(ui,vi),獲取相機視野(ui,vi)的像素值,將該像素值放入統一世界坐標系W2的(xi,yi,0)位置,整個過程如圖5,依次經過該過程,直到相機視野1中的道路信息全部放入世界坐標系W2中.

Step 3.對于相機視野2,因統一世界坐標系與非參考坐標系存在位置和方向上的差別,因此通過2.1節中所求得的透視變換M,同樣將世界坐標點(xi,yi,0)通過相機標定,結合式(15)計算出其在相機視野2(非參考坐標系所在視野)的位置(ui,vi),獲取相機視野(ui,vi)的像素值,將該像素值放入統一世界坐標系W2的(xi,yi,0)位置,對于部分世界坐標系中的位置不在相機視野范圍內可將像素信息記為0.

圖5 像素信息獲取示意圖

到此為止如果對于相機視野2整體采用世界坐標系到圖像(獲取像素信息)再到世界坐標系的思想完成道路場景拼接是不準確的,這樣對相機視野2遠處視野是存在巨大誤差的,拼接結果也是大打折扣.誤差體現在求解兩個子世界坐標系之間的旋轉平移矩陣M時,依據的是重疊區域中公共特征,這是一種局部最優的解決方式,也就是說在相機2中公共特征處透視變換M是非常準確的,但是公共特征只存在視野下方(近處),那么對于上方(視野遠處)通過透視變換M誤差就會產生,并且會伴隨視野變遠誤差會越來越大.針對上述誤差,提出一種平移矢量思想:
Step 1.求取相機場景2中多個圓標志物中心點在該子世界坐標系下的坐標,記為(X2i,Y2i,0),并通過式(16)和式(17)求解多個標志物的中心坐標為其中n表示標志物的個數.
Step 2.通過透視變換M求取在相機場景1下子世界坐標下的坐標之后求解?X=
Step 3.如此在統一世界坐標系W1對相機場景2遠處進行拼接時,可對W1中(xi,yi,0)進行矢量偏移計算得(xi??X,yi??Y,0),這樣結合式(15)計算出其在相機視野2(非參考坐標系所在視野)的位置(ui,vi),獲取相機視野(ui,vi)的像素值,將該像素值放入統一世界坐標系W2的(xi,yi,0)位置.

最終能夠將兩個相機的道路信息都準確無誤的放入到統一世界坐標系W2中,完成含有物理信息的道路場景拼接,該物理信息是圖像上的像素點在空間位置的映射即跨區域的相機標定.
對于在場景拼接的邊界處常會出現因像素信息突然過渡而出現明顯的拼接縫,可采用圖像融合技術進行處理,常用的方法有加權平均法、多尺度變換法和多分辨分析等方法.本文采用加權平均算法處理拼接縫問題,對拼接重疊區域中像素信息值F由相機視野1對應點像素信息值F1與相機視野2對應點像素信息值F2進行加權平均,即F=αF1+(1?α)F2,其中α是可調因子,0<α<1,重疊區域從一邊到另一邊α由1漸變為0,從而實現重疊區域的平滑拼接.
本文提出的方法本質上是通過對兩個監控場景的標定和投影變換來實現跨相機的標定和道路場景拼接.為了評價本文提出的方法的可靠性和有效性,在實際監控場景中進行實驗測試,選擇道路中存在重疊區域的兩個監控相機并對其圖像信息進行采集,系統的數據測試選在Windows 10系統的Visual Studio 2015開發平臺上.實驗分為兩個環節,在3.1對單相機的標定做了誤差分析,在章節3.2對雙相機的距離標定和拼接結果做了評價.
針對監控場景1和監控場景2,如圖6所示,分別對這兩個場景進行單相機標定,因兩個場景標定方法相同,現以監控場景1為例進行說明,通過章節1可知,要完成單場景的相機標定,需要知道沿道路方向消失點vp0(u0,v0),相機高度h和道路方向一段實際物理標志線長度l,因此對監控場景1相機高度進行測量,獲得其相機高度h為6.18 m,同時選取沿道路方向上黃色標志實線l,根據中國交通部發布的《公路工程技術標準》,可以了解到二級及以下公路虛線長度滿足“長2空4”,即黃色實線部分長2米,空白部分長4米,因此該黃色標志線長度應該為2米,為保證實驗精度,筆者也對其進行測量,實際長度為2.05米,對該場景下道路方向消失點vp0(u0,v0)采用圖2消失點確定過程進行確定,之后結合1.2節算法思想對該場景進行標定.

圖6 不同相機監控場景示意圖
為驗證對該單場景標定的準確性,本文通過標定方式對場景中的線段標志和道路寬度總計12條線段進行計算.并與場景中實際線段標志和道路寬度尺寸做對比,其中表1為相機1場景標定結果與真實尺寸的數據對比,表2為相機2場景標定結果與真實尺寸的數據對比,數據誤差w為對應線段標定值s?與真實線段s差值得w=s?,線段標定誤差為e=|s?s?|/s,對兩個場景所有線段的標定精度求和除以標定線段總數得到算法標定平均誤差.對不同場景下進行單場景相機標定,通過表1 (線段號1–6)和表2 (線段號1–6)發現近處視野標定誤誤差大約在2.8%左右,表1 (線段號7–12)和表2 (線段號7–12)發現遠處視野標定誤差大約在3.1%左右,對數據分析發現,在近場景下相機標定誤差較小,遠處誤差略微增大,通過兩個表格求取平均誤差為3.0%,說明本文單場景下標定精度較高,能夠滿足較好的應用需求.

表1 場景1下線段標定與測量值對比及分析

表2 場景2下線段標定與測量值對比及分析
對圖6中兩個相機單場景相機標定的基礎上,結合2.1節的子世界坐標系之間投影變化的求解和2.2節帶有真實物理信息的場景拼接,完成了整個多相機視野的道路拼接工作.本文道路場景拼接通過遍歷思想完成統一世界坐標系中每一個點與圖像道路像素信息的匹配,從而構建出帶有道路信息的世界坐標系,試驗中完成了相機場景1與相機場景2的道路拼接,其拼接結果如圖7所示.

圖7 兩個場景下的道路場景拼接
本文多場景下的拼接是含有道路物理信息的特殊拼接,物理信息是指拼接出的全景示意圖所有像素的所在位置帶有真實物理尺寸信息,即拼接圖中任意兩點之間的像素距離就是實際距離,單位為厘米.在全景示意圖中選了5段距離,如圖8所示,通過人工實際測量值和系統處理結果做對比,對比結果如圖9所示.通過圖表發現該方法能夠較好的實現跨區域道路測量,為實際應用奠定了良好基礎.

圖8 全景圖中線段選取

圖9 跨區域線段測量與對比
本文介紹了一種基于相機標定的跨相機場景拼接方法,該方法結合單相機標定和空間透視變換完成多相機標定工作,從而進一步結合逆投影思想和平移矢量思想實現了含有物理信息的道路場景拼接.實驗結果表明,該方法能夠較好的實現道路場景拼接和跨區域道路物理測量,從而為今后更多實際應用和理論研究奠定基礎.在未來研究工作中,一方面本文主要針對兩個相機進行場景道路拼接,往后可通過3個相機或更多相機來實現直道甚至彎道的拼接工作,另外一方面在該拼接方法的基礎上,實現跨區域的車輛空間位置、車輛速度和交通事件監測等應用.