施金君,廖彩鳳
(上海市政交通設計研究院有限公司,上海市 200030)
隨著社會經濟和交通運輸的發展,前期修建的高等級公路以及部分市政道路已不能滿足交通量的需求,普遍存在著改擴建的問題。沿用原路線的現有走向、充分利用公路兩側現有預留土地則可降低工程費用。所以如何充分利用既有道路進行拓寬改造,發揮更好的經濟效益,已是非常緊迫的任務。
但是在前期選線工作中,設計人員往往不能第一時間獲得老路的線形參數資料:道路修建較早,設計資料已丟失;一些路段經過多次改建擴建,原有設計文件已與實際情況不符;因早期的公路設計、施工及管理不規范,造成公路相關資料缺失,甚至有些低等級的公路根本沒有保留設計資料。
因此如何準確獲取道路參數信息,尤其是最基礎的平面線形數據資料,對實施改擴建工程的前期路線選線設計等方面具有重要意義[1]。
傳統方法采用經緯儀、水準儀、全站儀或者更先進的GPS技術等手段對公路平面線形中心線采集逐樁坐標數據,然后對采集的數據進行擬合[2]。傳統方法存在費時費力的缺點,對長距離的公路,設計人員要在前期工作中投入大量的時間。
鑒于目前商業衛星的廣泛運用和發展,使得城市和鄉村的地形圖能夠獲得較高的細節,從衛星圖上提取道路邊緣線是目前最流行、研究最廣泛的課題[3]。目前較多的研究重點只是怎么提取道路的邊緣線,但是沒有考慮如何去利用這些數據。
本文就是運用圖像處理技術,研究如何利用衛星圖像來獲取較為準確的平曲線半徑值,具有一定的工程實際意義。
在衛星圖片中,人類的肉眼之所以能迅速識別出一條與周邊環境不同的道路,是因為它具有明顯的幾何、材質和顏色的特征。為了能讓計算機自動識別一個物體,首先應對該物體的共性進行歸納,如圖1所示。

圖1 衛星圖片中的公路
首先市政道路和高速公路大多為瀝青或水泥路面,紋路顏色簡單單一,所以道路的大多數像素有著比較接近的光譜,能夠明顯區別于周圍環境。例如瀝青路面在圖片中顯示深色,水泥路顯示淺白色。因此可以定義道路為一系列像素值比較接近的點的集合。
其次道路的幾何特征也比較明顯,相對于其他人工建筑物,在衛星圖片中的高速公路具有以下特征:線條細長而且等寬,同時有著光滑的曲率。公路能連續跨越整張圖片。
目前所有道路識別的算法都不可避免地受以上道路的幾何特征所影響,但是衛星圖片還是會受到拍攝時間、氣候、大氣層、道路寬度、道路邊緣和建筑物植被接觸的不同程度影響,道路在不同的衛星圖片中表現出不同的特征。
在本文中,就把研究對象定為高精度衛星圖片中的絲帶狀高速公路。圖1展示了一幅高精度衛星圖片,圖片精度為1 m/像素(每個像素點等于1 m)。
想要獲取道路的平曲線,首先應能在圖片中獲取比較準確的道路邊緣線。目前圖像中提取道路的圖像處理技術和算法比較多,例如圖像分割、形態學分析、邊緣分析等。總的來說,道路提取算法被分為兩類:自動提取和半自動提取方法。自動算法包括以下步驟:發現道路、追蹤道路和道路鏈接。半自動的算法是需要操作者的參與,操作者可以人為提供一些道路的基本特征來提高精度[4]。
本文中的算法綜合考量了各種算法的優缺點,選取了以下的道路提取算法流程圖(見圖2)。

圖2 算法的流程圖
由于下載下來的圖片都是RGB格式的,所以首先要把RGB格式的衛星圖片轉化成可利用的灰度圖片,在轉化過程中要注意保留道路的基本特征。格式轉化的算法目前已經十分成熟,基本能保留圖片的原來信息。
在處理圖片中的道路時可以發現,路面的車輛和標線其實也是一種“噪聲”。在截取道路邊線的時候,在分辨率較低的情況下,車輛的形狀往往會和道路邊緣融合在一起,處理好車輛和道路標線能給以后的工作打下基礎。為了消除圖像噪聲,運用一個3×3窗口的中值過濾器去消除噪聲(Heijden,1995)[5]。
目前針對道路邊緣識別有大量的算法,在文獻[5]中有著詳細的描述。本文運用Canny operator算法去獲取道路邊緣。該算法認為如果某點像素與周圍像素具有最大坡度值,那么該點被視為道路邊緣點。
在本文中,最主要的步驟是對二進制圖片進行形態學圖像處理和圖像分割。形態學圖像處理能夠簡單消除圖片中干擾因子和噪聲,但是能較好地保護物體的基本形狀。因此道路邊緣的一些刺也將用該算法來剔除,以減少后面計算的誤差。
由于圖像的復雜性和多樣性,并不存在適用于所有圖像的通用分割算法。已有的各種圖像分割算法往往都具有很強的針對性,是基于特定的圖像內容和特定的物理模型的分割算法。對于道路圖像的分割,道路的特征是設計算法時必須考慮的重要因素。道路圖像分割的難點主要表現在以下幾個方面:
(1)道路圖像中道路的材質不同,瀝青和水泥路的檢測方法不一致。
(2)道路邊界處結構復雜,護欄以及道路標線可能會對道路邊界的確定帶來干擾。
(3)道路圖像中背景成分復雜,常含有建筑物、植物、河流、橋梁等,導致道路邊緣模糊,不易與背景區分。
(4)不同精度的衛星圖像也會影響道路邊緣的搜索。
圖1中的道路在上述步驟處理后,道路邊緣用光亮白點(白色像素值為1,黑色像素值為0)在圖3中顯示。可以從圖3中看到除了道路邊緣線外還有其他“噪聲”被一起識別出來,但是不影響道路邊緣線整體的提取,因此可以忽略。

圖3 用白線標注的高速公路中央分隔帶
接下來就需要對提取出來的像素進行擬合。
假設把該衛星圖片放入坐標系,圖片的左下角為坐標原點,那么圖片中每個像素可以視為坐標的單元,提取出來的道路點就有了它們的坐標(x,y)。本文運用最小二乘法來估算曲線半徑,尋找測量值和擬合值差值的平方和Z的最小值。所以目標函數可以列為

式中:α是曲線的參數向量,代表了擬合曲線的參數;fi是本文提取的道路像素點坐標;f(xi,yi,α)是擬合圓上點的坐標;xi,yi分別為像素點的坐標。
為求解Z的最小值,對式(1)求導:

展開得到

又圓曲線的一般式如下:

其中,圓曲線向量參數α=[a b c]T來控制圓的形狀。將式(4)化簡式(3)得到

對f(xi,yi,α)中的參數α分別求導,可以獲得

把式(6)~式(8)代入式(5),可以獲得三個方程組:

由于α=[a b c]T是未知變量,所以式(11)可以被寫為

于是式(9)~式(11)可以寫成矩陣的形式:

式(13)本質上說形式等同于式(5),但是可以用MATLAB來求解。給定一系列的像素點fi,就可以求解參數α=[a b c]T。考慮到圓的另外一個基本形式:

因此能求解出圓的半徑坐標(xc,yc)和半徑值r:

把道路半徑擬合出來后,標記在圖片上,方便道路工作者處理擬合數據,圖3中的圓曲線通過以上方法計算曲線半徑,如圖4所示。
本節將對該算法的可靠性進行案例驗證,研究對象是某立交(見圖5)。采用立交的原因如下:第一,立交衛星圖片比較復雜,周邊環境顏色干擾的因素太多;第二,圖面中有多個圓曲線;第三,擬合的結果正好與設計參數進行比較。

圖4 擬合的半徑值顯示圖

圖5 某立交的衛星圖片
選擇適當的圖片精度對算法比較重要:在比例尺較大的衛星圖中,道路像素與周邊環境相融合,道路邊緣線不易識別;相反如果比例尺過小,圖片將不能完整地顯示道路圓曲線形狀,像素過多也會增加計算量。考慮到不同的尺寸比例可能會影響到識別結果,本文經過測試發現圖片精度在0.49 m/像素的情況下,算法既能滿足精度要求,又能減少計算時間。
本文對該立交多條匝道的圓曲線(主要是左轉匝道)進行了識別計算,擬合結果顯示在表1和圖6中。

表1 不同匝道圓曲線的誤差百分比
從案例的表格可以看出,擬合結果和設計指標相比,該算法的誤差大概在5%以內,基本能滿足道路工作者前期工作的需要。采用從收費版本GE提供的照片會進一步提高算法的精度。當然圖片分辨率越高,帶來的計算量也越大。

圖6 NE匝道和WN匝道的擬合值
(1)本文結合數字圖像處理技術和數學分析工具,比較簡單地獲取道路的曲線半徑。該方法相比傳統的現場測量以及調取設計檔案資料方法來得更為省時省力,僅需要截取GE中高精度的衛星圖片,道路工程師可以在前期工作中運用該方法比較準確和快速地擬合現狀高速公路的線形。
(2)目前無人駕駛汽車也在大量地運用圖像自動識別技術,迅速地識別衛星圖片中的道路曲線參數也可以提供無人駕駛的汽車一個更好的行駛判斷。計算機的圖片識別目前仍是一個新興行業,未來也將會涌現出更多自動識別的數學理論和方法,這樣該方法中提取道路的精度也會更加準確。
(3)高等級道路在圓曲線兩端往往會設置緩和曲線以提高行駛舒適度,針對緩和曲線特殊的計算公式,該方法還不能有效地獲取長度。該方法未來研究的方向將是如何擬合緩和曲線甚至道路全線的曲線要素。