基于彩色空间转换与Hough变换的直线检测∗
2018-01-04刘镇岐汤本俊陈若珠
刘镇岐 汤本俊 陈若珠
(1.兰州理工大学电气工程与信息工程学院 兰州 730050)
(2.兰州理工大学甘肃省土木工程防灾重点实验室 兰州 730050)
基于彩色空间转换与Hough变换的直线检测∗
刘镇岐1汤本俊1陈若珠2
(1.兰州理工大学电气工程与信息工程学院 兰州 730050)
(2.兰州理工大学甘肃省土木工程防灾重点实验室 兰州 730050)
根据图像在HSV色彩空间中,阴影在色度和饱和度通道中都与非阴影区域有明显的区别的特性。利用连续两次的HSV彩色空间变换,可以在图像中有效地区分出阴影与非阴影区域。Hough变换被广泛地应用于计算机视觉、图像处理、模式识别等领域。利用Hough变换来检测直线,其突出优点是鲁棒性较好。所以论文采用这两种方法相结合的算法对图像中的直线进行检测,并做了相应的实验,结果表明这种算法不仅可以检测背景比较复杂的情况,还可以提高检测的准确性。
HSV彩色空间转换;阴影检测;Hough变换;直线检测
1 引言
在计算机视觉以及图像处理[1]的应用中,直线或线段的检测是一个非常重要的环节。在相机标定[2]、目标跟踪[3]领域有着广泛的应用。目前的直线检测算法大部分都是基于标准Hough变换技术。由于标准Hough变换存在计算复杂度和空间复杂度高、运算量大、峰值难以确定以及空间量化精度低等问题[4],研究人员提出了诸多基于标准Hough变换的改进算法,并在直线检测中得到很好的应用。一般的Hough变换都要经过图像的预处理,其中包括图像的灰度化、二值化以及边缘检测,然后再根据边缘点进行直线检测。在这次试验中所用到的结构试件与试验环境下,这种传统的检测方法达不到要求。所以本文在充分分析了目标图像的复杂背景后,提出了一种彩色空间转换和Hough变换相结合的方法来检测直线。同时在Matlab以及C++技术支持下实验,实验结果与传统的Hough变换检测的直线相比较,在同等要求下,本文的方法不仅可以避免复杂背景的干扰,还可以提高直线检测的准确性,为下一步特征点的检测起到了重要作用。
2 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 极坐标下的点一线对偶示意图
总结传统检测直线的具体过程就是:首先让θ取遍所有可能的取值,然后再计算相应的ρ值,通过在累加数组中对θ和ρ的值进行累加,就可以得到共线点的个数。最后再根据设定的阈值判断出直线。
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]。转换之后突出重点彩色。
4 检测结果及分析
4.1 本文检测直线方法的步骤
1)读入一幅原彩色图。
2)用rgb2hsv函数对原图进行第一次色彩空间变换,然后将变换后的图像的HSV值规范至[0,255]范围内。
3)用rgb2hsv函数对原图进行第二次色彩空间变换,然后再将变换后的图像的HSV值规范至[0,255]范围内。
4)将RGB图像转化为灰度图像,然后利用阈值检测算法得到图像二值化的阈值,再根据此阈值对图像进行二值化处理。
5)用canny算子对二值化后的图像进行边缘检测,再根据图像的大小尺寸决定Hough变换累加器的大小并分配内存。
6)对边缘图像的边缘像素点作Hough变换,并将变换结果ρ、θ保存到Hough变换的累加器中。
7)根据设定判断同一交点的直线的数目阈值,控制图像中的直线数目,并在图像中绘出直线。
4.2 结果及分析
检测结果及分析如下:
1)首先是图像前期处理的分析对比如下:
图4 图像前期处理分析对比
从图4的结果可以得到:通过两次的HSV空间转换之后,可以很清楚地得到结构试件的轮廓,结构试件的边缘轮廓得到很好的保留,相比于直接二值化的结果,避免了一些细节以及复杂背景对后续直线检测的干扰,进而可以提高直线检测的效率。
2)设定不同的阈值并对图像进行直线检测,其对比结果如下:
从图5和图6中可以看出:在Hough变换过程中,二值化图像的细节多少可以通过对二值化的阈值调节来控制,阈值越大,细节越少。
图5 对比结果(1)
图6 对比结果(2)
从大量的检测图中的直线统计可以看出:提取直线的阈值与可检测出来的直线的数目成反比关系,阈值小则更多的无关细节也可能被检测为直线;阈值越大,虽然无关细节也会减少,可是被检测出来的直线也越少,检测不到结构全部的直线。
通过对程序中的两个阈值参数的适当调节得到一系列的检测直线的图像:由图5与图6中设定的阈值所检测出的直线效果较好。按照实验要求检测出结构试件中的直线,其中包括22条正面直线和4条侧面直线,而正面的直线检测是进行下一步实验的关键步骤。在Matlab下实验结果对比如下。
表1 两种方法检测直线的情况
表2 两种方法漏检的直线情况
从上面的结果可以看出:一般的Hough变换在背景比较复杂的情况下,检测出的直线数目比较多,但是大部分直线都不是实验所需要的直线,受背景影响较严重,所以检测直线的干扰较严重。而本文直线检测算法不仅能在复杂背景下很好的检测出我们需要的直线,而且直线的数目更接近要求。减少直线的漏检,提高检测直线的完整性,为下一步的特征点检测的准确性提供了保障。
5 结语
通过传统的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日
刘镇岐,高级工程师,研究方向:电气工程与自动化。汤本俊,男,硕士,研究方向:智能信息处理与模式识别。陈若珠,女,硕士生导师,研究方向:智能控制理论与应用、模式识别。