劉鎮岐 湯本俊 陳若珠
(1.蘭州理工大學電氣工程與信息工程學院 蘭州 730050)
(2.蘭州理工大學甘肅省土木工程防災重點實驗室 蘭州 730050)
基于彩色空間轉換與Hough變換的直線檢測?
劉鎮岐1湯本俊1陳若珠2
(1.蘭州理工大學電氣工程與信息工程學院 蘭州 730050)
(2.蘭州理工大學甘肅省土木工程防災重點實驗室 蘭州 730050)
根據圖像在HSV色彩空間中,陰影在色度和飽和度通道中都與非陰影區域有明顯的區別的特性。利用連續兩次的HSV彩色空間變換,可以在圖像中有效地區分出陰影與非陰影區域。Hough變換被廣泛地應用于計算機視覺、圖像處理、模式識別等領域。利用Hough變換來檢測直線,其突出優點是魯棒性較好。所以論文采用這兩種方法相結合的算法對圖像中的直線進行檢測,并做了相應的實驗,結果表明這種算法不僅可以檢測背景比較復雜的情況,還可以提高檢測的準確性。
HSV彩色空間轉換;陰影檢測;Hough變換;直線檢測
在計算機視覺以及圖像處理[1]的應用中,直線或線段的檢測是一個非常重要的環節。在相機標定[2]、目標跟蹤[3]領域有著廣泛的應用。目前的直線檢測算法大部分都是基于標準Hough變換技術。由于標準Hough變換存在計算復雜度和空間復雜度高、運算量大、峰值難以確定以及空間量化精度低等問題[4],研究人員提出了諸多基于標準Hough變換的改進算法,并在直線檢測中得到很好的應用。一般的Hough變換都要經過圖像的預處理,其中包括圖像的灰度化、二值化以及邊緣檢測,然后再根據邊緣點進行直線檢測。在這次試驗中所用到的結構試件與試驗環境下,這種傳統的檢測方法達不到要求。所以本文在充分分析了目標圖像的復雜背景后,提出了一種彩色空間轉換和Hough變換相結合的方法來檢測直線。同時在Matlab以及C++技術支持下實驗,實驗結果與傳統的Hough變換檢測的直線相比較,在同等要求下,本文的方法不僅可以避免復雜背景的干擾,還可以提高直線檢測的準確性,為下一步特征點的檢測起到了重要作用。
Hough 變換的基本思想[5~7]是利用點—線的對偶性,即圖像空間共線的點對應在參數空間里相交的線,反過來,在參數空間中交與同一個點的所有直線在圖像空間里都有共線的點與之對應。
在圖像空間中,直線可以用表達式(1)來表示:

其中共線的點(xiyi)是圖像中的像素坐標,k為直線的斜率,b為截距,可以將式(1)改寫為下式:

而式(2)又可以看作是在另一個空間中的一條直線,這個空間成為參數空間,而直線的斜率與截距分別為-x與 y。
從上述式(1)和式(2)可以看出,圖像空間中的一點(x,y)對應參數空間中的一條直線,而圖像空間中的一條直線又是由參數空間中的一個點(k,b)來決定的。Hough變換的基本思想[5]就是將上述兩式看作是圖像空間中的點和參數空間中的點的共同的約束條件,并由此定義一個從圖像空間到參數空間的一對映射如圖1,表示了這種點—線之間的對偶關系。圖2(a)所示圖像空間中位于同一直線的點,圖2(b)所示是圖像中直線上的點經式(2)映射到參數空間中的一簇直線,對圖像空間中的一條直線上的所有點都做Hough變換后,對應的參數空間中的所有直線都相較于一點,而這一點是確定的,所以通過確定該點在參數空間中的位置,就可以知道圖像中直線的參數,從而檢測出圖像中的直線。通過Hough變換,我們可以通過檢測參數空間中的點的問題來代替在圖像空間中的直線檢測問題,所以通過統計參數空間中的點的數目,再根據設定的閾值來完成直線的檢測。

圖1 圖像空間點與參數空間的直線對偶示意圖

圖2 圖像空間中的直線與參數空間中點的對偶示意圖
在實驗的基礎上,發現在使用直角坐標系表示直線時的一個弊端,就是當直線為一條垂直直線或者接近垂直直線時,那么該直線的斜率就會無限大或者接近無限大,所以這樣的直線就無法在參數空間k-b中表示出來。為了解決這一問題,可以采用極坐標系。
在極坐標中可以用式(3)來表示一條直線:

其中ρ表示直線到原點的垂直距離,θ表示x軸與直線垂線的角度,取值范圍是[-90°+90°]。
檢測值線的方法與直角坐標系下的檢測方法類似,所以極坐標中的Hough變換也是將圖像坐標空間中的點變換到參數空間中。在極坐標下,圖像坐標空間中共線的點變換到參數空間中后,在參數空間都相交于同一點,這時得到的 ρ、θ即為所求直線的極坐標參數。而與直角坐標系不同的是,當用極坐標表示時,圖像坐標空間中共線的兩點映射到參數空間的是兩條正弦曲線并相交于點(ρ0,θ0)。其中 (ρ0,θ0)也就是圖像空間的擬和參數。所以,只要找到這個公共點就可以檢測出直線。如圖3所示就是檢測示意圖。

圖3 極坐標下的點一線對偶示意圖
總結傳統檢測直線的具體過程就是:首先讓θ取遍所有可能的取值,然后再計算相應的ρ值,通過在累加數組中對θ和ρ的值進行累加,就可以得到共線點的個數。最后再根據設定的閾值判斷出直線。
HSV模型[8]是基于人的視覺感知特性建立的色彩空間,其中色度(H)表示不同的顏色,如紅綠藍;飽和度(s)表示顏色的深淺,如深綠淺綠;亮度(y)表示顏色的明暗程度,如很亮(亮白)很暗(黑暗)。它具有兩個重要的特點[9]:其一,亮度分量(V)與圖像的彩色信息無關;其二,色度分量(H)、飽和度分量(S)與人感受顏色的方式是緊密相連的[6]。因此,結合本次試驗圖像的特殊要求和實驗環境的因素,本論文就是基于HSV模型中的的H分量或S分量對實驗圖象進行色彩的運算處理,從而達到最佳效果。
HSV(hue,saturation,value)顏色空間的模型[8~11]對應于圓柱坐標系中的一個圓錐形子集,圓錐的頂面對應于V=1。它包含RGB模型中的R=1,G=1,B=1的三個面,所代表的顏色較亮。通過V軸的旋轉角來確定色彩H的值。若用角度來度量,模型中的顏色所對應的角度R對應的角度為0°,G對應的角度為120°,B對應的角度為240°。由于在HSV顏色模型中,每一種顏色的角度值與它的補色的角度值是關于中心點對稱的。而飽和度S的取值范圍是[0,1],從而可以得到HSV模型中圓錐頂面的半徑為1。HSV顏色模型所代表的顏色域是CIE色度圖的一個子集[10],這個模型中飽和度為百分之百的顏色,其純度一般小于百分之百。其中代表黑色的時候,在圓錐的頂點(即原點)處,V=0,H和S無定義。而若圓錐的頂面中心處S=0,V=1,H無定義,則代表的是白色。
在從RGB顏色空間轉換到HSV空間時,我們把(r,g,b)的值規范到[0,1]之間的實數,而r、g、b分別表示某一種顏色的三個坐標。設max的值是r,g和b值中的最大者。而min的值是由這些值中的最小者。則RGB轉換為HSV的公式如下:

如果H<0,那么H=H+360。
由于每個像素由8位組成,所以R,G,B的取值范圍是[0,255];因為H表示的是圓,所以其取值范圍是[0,360];有上述研究得S的取值范圍是[0,1];V的取值范圍是[0,255]。但是,在實際圖像處理中,常常把H,S,V取值范圍歸一化為[0,1]。轉換之后突出重點彩色。
1)讀入一幅原彩色圖。
2)用rgb2hsv函數對原圖進行第一次色彩空間變換,然后將變換后的圖像的HSV值規范至[0,255]范圍內。
3)用rgb2hsv函數對原圖進行第二次色彩空間變換,然后再將變換后的圖像的HSV值規范至[0,255]范圍內。
4)將RGB圖像轉化為灰度圖像,然后利用閾值檢測算法得到圖像二值化的閾值,再根據此閾值對圖像進行二值化處理。
5)用canny算子對二值化后的圖像進行邊緣檢測,再根據圖像的大小尺寸決定Hough變換累加器的大小并分配內存。
6)對邊緣圖像的邊緣像素點作Hough變換,并將變換結果ρ、θ保存到Hough變換的累加器中。
7)根據設定判斷同一交點的直線的數目閾值,控制圖像中的直線數目,并在圖像中繪出直線。
檢測結果及分析如下:
1)首先是圖像前期處理的分析對比如下:

圖4 圖像前期處理分析對比
從圖4的結果可以得到:通過兩次的HSV空間轉換之后,可以很清楚地得到結構試件的輪廓,結構試件的邊緣輪廓得到很好的保留,相比于直接二值化的結果,避免了一些細節以及復雜背景對后續直線檢測的干擾,進而可以提高直線檢測的效率。
2)設定不同的閾值并對圖像進行直線檢測,其對比結果如下:
從圖5和圖6中可以看出:在Hough變換過程中,二值化圖像的細節多少可以通過對二值化的閾值調節來控制,閾值越大,細節越少。

圖5 對比結果(1)

圖6 對比結果(2)
從大量的檢測圖中的直線統計可以看出:提取直線的閾值與可檢測出來的直線的數目成反比關系,閾值小則更多的無關細節也可能被檢測為直線;閾值越大,雖然無關細節也會減少,可是被檢測出來的直線也越少,檢測不到結構全部的直線。
通過對程序中的兩個閾值參數的適當調節得到一系列的檢測直線的圖像:由圖5與圖6中設定的閾值所檢測出的直線效果較好。按照實驗要求檢測出結構試件中的直線,其中包括22條正面直線和4條側面直線,而正面的直線檢測是進行下一步實驗的關鍵步驟。在Matlab下實驗結果對比如下。

表1 兩種方法檢測直線的情況

表2 兩種方法漏檢的直線情況
從上面的結果可以看出:一般的Hough變換在背景比較復雜的情況下,檢測出的直線數目比較多,但是大部分直線都不是實驗所需要的直線,受背景影響較嚴重,所以檢測直線的干擾較嚴重。而本文直線檢測算法不僅能在復雜背景下很好的檢測出我們需要的直線,而且直線的數目更接近要求。減少直線的漏檢,提高檢測直線的完整性,為下一步的特征點檢測的準確性提供了保障。
通過傳統的Hough變換算法與本文突出的算法實驗結果對比,彩色空間轉換與Hough變換的直線檢測的方法效果很好,比較符合實驗的要求,不僅能有效地檢測出所有直線,還很大程度上減小了誤檢率,大大提高了算法的準確性,同時也為檢測復雜背景和顏色對比比較鮮明的圖像的直線提供了思路。
[1]王文鋒,朱書華,馮以浩,等.基于局部方向編碼的遙感影像平行邊緣識別[J].光學學報,2012,32(3):133-139.WANG Wenfeng,ZHU Shuhua,FENG Yihao,et al.Paral?lel edge detection from remote sensing image using local orientation coding[J].Acta Optica Sinica,2012,32(3):133-139.
[2]唐敏,李永樹,王生明.基于無人機影像的畸變校正研究[J].激光與光電子學進展,2013,50(6):83-88.TANG Min,LI Yongshu,WANG Shengming.Research of distortion correction based on UAV images[J].Laser&Optoelectronics Progress,2013,50(6):83-88.
[3]張建偉,張啟衡.基于直線邊緣特征匹配的擴展目標跟蹤方法[J].光學學報,2009,29(10):2826-2831.ZHANG Jianwei,ZHANG Qiheng.Extended object track?ing method based on straight line edge feature matching[J].Acta Optica Sinica,2009,29(10):2826-2831.
[4]張振杰,郝向陽,劉松林,等.基于Hough一維變換的直線檢測算法[J].光學學報,2016(4):158-165.ZHANG Zhenjie,HAO Xiangyang,LIU Songlin,et al.Line Detection Based on Hough One-Dimensional Trans?form[J].Acta Optica Sinica,2016(4):158-165.
[5]Duda R O,Hart P E.Use of the Hough Transformation to Detect Lines and Curves in Pictures[J].Ipsj Magazine,1975,13(1):512-513.
[6]章毓晉.圖像工程(上):圖像處理和分析[M].北京:清華大學出版社,2001.ZHANG Yujin.Image engineering(on):image process?ing and analysis[M].Beijing:Tsinghua University press,2001.
[7]鐘彩.基于Hough變換的直線檢測算法[J].時代教育,2016(8):96-96.ZHONG Cai.Line detection algorithm based on Hough transform[J].Time Education,2016(8):96-96.
[8]高曉旭,馮國瑞.基于HSV顏色空間的自適應性運動目標檢測[J].電視技術,2015,39(10):1-4.GAO Xiaoxu,FENG Guorui.Adaptive moving object de?tection based on HSV color space[J].video Engineering,2015,39(10):1-4.
[9]明巍,豐洪才.基于HSV顏色空間的視頻鏡頭檢測算法[J].湖北師范學院學報(自然科學版),2009,29(4):91-95.MING Wei,FENG Hongcai.Video camera lens detection algorithm based on HSV color space[J].Journal of Hubei Normal University(NATURAL SCIENCE EDITION),2009,29(4):91-95.
[10]趙紅雨,吳樂華,史燕軍,等.基于HSV顏色空間的運動目標檢測方法[J].現代電子技術,2013(12):45-48.ZHAO Hongyu,WU Yuehua,SHI Yanjun,et al.Moving object detection method based on HSV color space[J].Modern electronic technology,2013(12):45-48.
[11]Singh S,Patnaik T.利用HSV顏色空間有效的去除監控視頻中的陰影[C]//計算、通信與信息學國際會議.IEEE,2015:1454-1460.Singh S,Patnaik T.An efficient shadow removal method using HSV color space for video surveillance[C]//Inter?national Conference on Advances in Computing,Commu?nications and Informatics.IEEE,2015:1454-1460.
Straight-line Detection Based on Color Space Conversion and Hough Transform
LIU Zhenqi1TANG Benjun1CHEN Ruozhu2
(1.College of Electrical and Information Engineering,Lanzhou University of Technology,Lanzhou 730050)(2.Key Laboratory of Disaster Prevention in Civil Engineering of Gansu Province,Lanzhou University of Technology,Lanzhou 730050)
According to the image in HSV color space,hue and saturation characteristics of shadow in the channel and non shadow region are obviously different,the use of HSV color space transform two times continuously,can distinguish between effec?tive shadow and non shadow region in image.Hough transform is widely used in the fields of computer vision,image processing,pat?tern recognition;The advantage of Hough transform to detect the straight line is the robustness of the test results.So This article uses the combination of the two methods of the algorithm to detect the line in the image,and the corresponding experiment results show that this algorithm can not only detect the complex background of the situation,but also can improve the accuracy of detection.
HSV color space conversion,shadow detection,hough transform,straight line detection
Class Number TP391.41
TP391.41
10.3969/j.issn.1672-9722.2017.12.040
2017年6月9日,
2017年7月20日
劉鎮岐,高級工程師,研究方向:電氣工程與自動化。湯本俊,男,碩士,研究方向:智能信息處理與模式識別。陳若珠,女,碩士生導師,研究方向:智能控制理論與應用、模式識別。