本發明屬于圖像處理技術領域,具體涉及一種航拍公路圖像的公路定位方法,特別是利用梯度、顏色信息以及定位公路兩側白色標線的方法實現對公路的精確定位算法。
背景技術:
隨著無人機技術的快速發展,公路路面檢測又多了一個新的有效的方法。以往,對于公路的檢測工作需要路政工作人員開車對每一條公路路段進行人工檢查,這種方式不僅費時費力同時由于人工檢測受到工作人員精神狀態等影響容易出現較大的誤差。利用無人機航拍公路圖像,并對公路路面進行自動分析可以有效克服以上局限性,同時減少路政工作人員的勞動力,提高工作效率。
目前公路檢測算法主要由公路定位、標線檢測、標線識別和損壞程度判斷幾部分組成[6](葉云.基于機器視覺的道路標線損壞智能檢測設想[j].公路與汽運,2016(3):55-57.)所以在分析之前,對路面區域的檢測是一個關鍵問題。
目前對于航拍公路圖像路面定位的研究較少。高志峰等利用改進的hough變換車道線直線檢測方法,該方法利用車道線的線特征以及方向特性和強度信息以及最小二乘擬合方法,提高檢測直線的精確性,但該方法較為復雜,計算量較高,適用性不強(高志峰,汪渤,周志強,等.一種魯棒的非平坦路面車道線檢測算法[j].北京理工大學學報,2013,33(1).)。劉富強等提出了一種適用于自主駕駛的車道標線檢測跟蹤算法,該算法可同時適應彎曲道路和直道路的檢測,但該方法適用于車載環境,對環境要求較高(劉富強,張姍姍,朱文紅,等.一種基于視覺的車道線檢測與跟蹤算法[j].同濟大學學報:自然科學版,2010,38(2).)。胡曉等根據道路圖像不同物體顏色特征,按照特征顏色設計轉移函數,標記佳通視頻圖像中的特征顏色區域,提出了基于特征顏色的車道檢測算法,由于顏色特征存在局限,不同公路,不同時間,顏色差異較大,所以該方法容易存在較大誤差(胡驍,李歲勞,吳劍.基于特征顏色的車道線檢測算法[j].計算機仿真,2011,28(10):344-348.)。
技術實現要素:
發明目的:為了克服現有技術存在的問題,使公路定位更加高效、準確度更好、適應性更強,本發明提供一種航拍公路圖像的公路定位方法。
技術方案:一種航拍公路圖像的公路定位方法,包括以下步驟:
步驟s1:對公路進行航拍,得到航拍圖像,對航拍圖像進行預處理,得到待檢測的規范化圖像,并輸入圖像基本信息,所述圖像基本信息包括公路的數量、每條公路的寬度、現實中對應的公路寬度、公路標線的顏色及寬度;
步驟s2:利用hough變換方法定位規范化圖像中的最長直線,依據所述最長直線的傾斜角度將規范化圖像旋正;
步驟s3:從旋正的規范化圖像中獲取顏色信息和梯度信息,根據所述顏色信息以及梯度信息粗分割出公路區域;
步驟s4:根據步驟s3得到的粗分割出的公路區域以及步驟s1輸入的圖像基本信息,定位圖像內所有符合步驟s1中輸入的公路標線的顏色以及寬度條件的白色標線,從所述白色標線中篩選出所有符合步驟s1中輸入的公路的寬度條件的擬公路區域;
步驟s5:對于所有的擬公路區域,計算步驟s3粗分割出的公路區域的像素個數以及公路區域占比,將公路區域占比按由大到小排序,并結合步驟s1中輸入的公路的數量,得到最終定位結果。
進一步的,所述步驟s1中預處理的步驟包括:手動篩選航拍圖像中公路為上下方向且傾斜角度小于45度的航拍圖像;然后將篩選出來的航拍圖像按等比例縮放到寬度為2000像素,并記錄縮放比例。
進一步的,所述步驟s2的方法為:對規范化圖像進行灰度化;利用canny算子進行邊緣檢測;利用hough變換方法檢測直線,檢測直線角度范圍為-45度到45度,并從檢測到的直線中篩選出最長直線;計算所述最長直線的傾斜角度;將規范化圖像反向旋轉傾斜角度至公路在圖像中豎直分布。
進一步的,所述步驟s3粗分割出公路區域的方法包括:
步驟s31:對規范化圖像進行復制,得到復制圖像,所述復制圖像用于繪制梯度與顏色檢測結果;
步驟s32:用豎向sobel算子對規范化圖像進行邊緣檢測,得到梯度圖像;
步驟s33:利用滑動窗口從所述梯度圖像中提取局部梯度信息,所述滑動窗口的大小為白色標線寬度的兩倍;
步驟s34:對于所述局部梯度信息,計算平均梯度以及梯度大于50的像素點的比例,如果平均梯度大于20,并且梯度大于50的像素點的比例大于30%,則在所述復制圖像的對應滑動窗口位置的像素值設置為0,判定此處不是公路區域;
步驟s35:對圖像進行顏色檢驗,對于不符合公路顏色條件的像素點,在所述復制圖像中對應的像素位置的像素值設置為0;
步驟s36:對處理后的圖像進行形態學閉操作,得到更完整的公路區域;
步驟s37:對步驟s36的結果進行豎向投影,以圖像高度的50%為閾值,得到符合步驟s1中輸入的公路的寬度條件的最左邊與最右邊位置,并將最左邊向左外擴5%的寬度,最右邊向右外擴5%的寬度,得到粗分割公路區域。
進一步的,所述步驟s35中公路顏色條件為:r、g、b三通道的灰度值相差小于25,且r、g、b三分量的最小值大于70。
進一步的,步驟s4具體包括:
步驟s41,根據步驟s3得到的粗分割的公路區域結果,在旋正的規范化圖像中分割出相應區域作為精確定位區域;
步驟s42,利用豎向sobel算子對步驟s41分割的精確定位區域進行邊緣檢測;
步驟s43,利用hough變換方法對圖像進行直線檢測,hough變換檢測角度在-5度到5度之間;
步驟s44,對步驟s43檢測到的直線進行歸類,將直線間角度差小于5度且截距小于25像素的直線歸為一類,根據直線的歸類結果,計算等效直線方程以及等效直線的寬度和顏色;
步驟s45,根據等效直線的長度、傾斜角度、寬度以及顏色篩選出公路白色標線;
步驟s46,根據步驟s1中輸入的圖像基本信息中的每條公路的寬度對步驟s45找到的白色標線進行道路的寬度篩選,找到所有符合公路寬度的直線對,每對直線中間區域作為擬公路區域。
進一步的,所述步驟s44中,等效直線的寬度和顏色的計算方法為:以等效直線上每個像素點為中心,左右各取20像素,然后逐一計算相鄰像素的梯度,找到梯度最大以及梯度最小對應的像素坐標,坐標差即為當前像素點的寬度,同時記錄下坐標間的所有像素顏色值,對整條等效直線所有像素點按此方法求得所有寬度并記錄對應的像素顏色值,最終取所有寬度的眾數以及所有像素顏色值的眾數為等效直線的寬度以及顏色。
進一步的,所述步驟s45中的篩選條件為:直線的長度大于圖像高度的2/3,傾斜角度在-5度到5度之間,寬度在步驟s1中輸入的圖像基本信息中白色標線寬度之間,顏色灰度大于150。
進一步的,所述步驟s5中,公路區域占比為:計算每一組擬公路區域在步驟s3得到的粗分割結果圖像上相應區域的有效像素個數,所述有效像素個數與圖像總像素個數相除得到公路區域占比。
有益效果:相比較現有技術,本發明提供的一種航拍公路圖像的公路定位方法,具有以下有益效果:降低了對圖片質量的要求,算法簡單,運行速度快,準確率高,實用性強,具有較好的適應性以及可靠性。有效解決了航拍高度不定,公路顏色分布不均,以及航拍角度不同引起的圖像畸變給公路定位分割帶來的影響,同時適用于多條公路的定位分割。
附圖說明
圖1是本發明一種航拍公路圖像的公路定位方法的流程圖;
圖2(a)是輸入的帶有傾斜的原始圖像;
圖2(b)是將圖像旋正(公路豎直)結果示意圖;
圖3(a)是利用sobel算子計算梯度的結果示意圖;
圖3(b)利用梯度與顏色篩選后的結果示意圖;
圖3(c)形態學閉操作后的結果示意圖;
圖4(a)直線歸類的結果示意圖;
圖4(b)利用標線顏色、寬度篩選后留下的直線示意圖;
圖5為定位結果示意圖。
具體實施方式
下面結合附圖和具體實施例對本發明作進一步說明。
本發明是一種航拍公路圖像的公路定位方法,特別是利用梯度、顏色信息以及定位公路兩側白色標線的方法實現對公路的精確定位,方法流程見圖1。
步驟s1:對公路進行航拍,得到航拍圖像,對航拍圖像進行預處理,得到待檢測的規范化圖像,并輸入圖像基本信息。所述圖像基本信息包括公路的數量、每條公路的寬度、現實中對應的公路寬度、公路標線的顏色及寬度。圖像預處理包括:圖像的縮放、圖像的灰度化、圖像基本信息的輸入。
(1)圖像輸入為rgb格式圖像。
(2)篩選條件為公路在圖像中為豎直方向,并且傾斜角小于45度,如圖2(a)所示。
(3)圖像等比例縮放至圖像寬度為2000像素。
(4)圖像灰度化公式為gray=(306*r+601*g+117*b)>>10。
(5)輸入的圖像基本信息包括:公路的數量,每條公路的寬度(單位像素)、現實中對應的公路寬度(單位米)、白色標線的寬度(單位像素)。
步驟s2:首先對規范化圖像進行灰度化,利用canny算子進行邊緣檢測,然后利用hough變換方法檢測直線,檢測直線角度范圍為-45度到45度之間,之后檢測出其中最長的直線,計算該直線傾斜角度,并根據該傾斜角度將圖片旋正至圖像中公路豎直分布。旋正的圖像如圖2(b)所示。
步驟s3:從旋正的規范化圖像中獲取顏色信息和梯度信息,根據公路顏色信息以及梯度信息粗分割出公路區域,得到粗分割結果圖像。
步驟s31:對規范化圖像進行復制,得到復制圖像gradcolorimage,用于繪制梯度與顏色檢測結果。
步驟s32,首先對圖像進行sobel邊緣檢測,得到梯度圖像gradimage,如圖3(a)所示。
步驟s33,對步驟s32中得到的梯度圖像gradimage,利用滑動窗口提取圖像局部梯度信息,滑動窗口的大小計算方法為:標線寬度的2倍。
步驟s34,對步驟s33中提取的每一個局部梯度信息,計算平均梯度averagegrad。同時計算梯度大于50的像素點的比例ratiograd。averagegrad大于20并且ratiograd大于30%,則將gradcolorimage圖像上滑動窗口對應位置的像素值設置為0,判定此處不是公路區域。
步驟s35,對原圖像進行顏色檢驗,對于不符合公路顏色條件的像素點,將gradcolorimage圖像上對應的像素位置的像素值設置為0。公路顏色條件為:r、g、b三通道的灰度值相差小于25,且r、g、b三分量的最小值大于70。
如圖3(b)為顏色梯度檢測結果圖像gradcolorimage。
步驟s36,對篩選過后得到的圖像進行形態學閉操作,使公路區域更連貫,得到更完整的公路區域。如圖3(c)為閉操作的結果圖像。
步驟s37,根據步驟s36的結果進行豎向投影,以圖像高度50%為閾值,得到符合條件的最左邊與最右邊位置,并將最左最右分別向外擴寬度的5%,以此位置作為粗分割公路區域。
步驟s4,在步驟s3得到的粗分割公路區域內,定位公路內部白色標線,并找到所有符合道路寬度條件的擬公路位置。
步驟s41,首先根據步驟s3得到的粗分割公路區域的結果,進行圖像分割,在旋正的規范化圖像中分割出相應區域作為精確定位區域,得到精確定位圖像probimage。
步驟s42,對probimage,利用豎向sobel算子進行邊緣檢測。
步驟s43,利用hough變換方法對圖像進行直線檢測,hough變換檢測角度范圍在-5度到5度之間。
步驟s44,對步驟s43找到的直線進行歸類,歸類條件為:角度差小于5度,截距小于25像素,如圖4(a)。并計算等效直線以及等效直線的寬度和顏色。等效直線的寬度以及顏色的計算方法為:對等效直線上每個像素點橫坐標x,在x-20到x+20范圍內,逐一計算相鄰像素的梯度,找到梯度最大值以及梯度最小值對應的像素的坐標max_x和min_x,坐標差即為當前像素點的寬度,即abs(max_x–min_x),同時記錄下坐標間的所有像素顏色值,對整條等效直線所有像素點按此方法求得所有寬度并記錄對應的像素顏色值,最終取所有寬度的眾數以及所有像素顏色值的眾數為等效直線的寬度以及顏色。
步驟s45,根據等效直線的長度、傾斜角度、寬度以及顏色信息篩選出符合條件的標線。篩選條件為:
(1)直線的長度大于圖像高度的2/3。
(2)傾斜角度小于5度。
(3)寬度在步驟1中輸入的標線寬度之間。
(4)顏色灰度值大于150。
步驟s46,根據步驟s1中輸入的公路路寬信息對步驟s45得到的標線進行篩選,找到所有符合路寬條件的等效直線對作為擬公路區域,如圖4(b)為符合條件的示意圖。
步驟s5,對所有擬公路區域,計算步驟s3粗分割結果gradcolorimage中對應區域的像素個數以及占比,對占比由大到小排序,并結合步驟s1中輸入的公路數量信息,得到最終定位結果,如圖5所示。公路區域占比計算方法為:對步驟s4確定的每一組擬公路區域,計算其在步驟s3得到的粗分割結果圖像gradcolorimage相應區域的有效像素個數,與圖像總像素個數相除得到公路區域占比。
本發明對公路的定位準確度達到95%以上,單次定位時間小于0.5s,對于公路顏色的適應性較廣,對于由于拍攝原因產生的畸變同樣具有較好的效果,同時適應多條公路的定位。
以上所述僅是本發明的優選實施方式,應當指出:對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。