基于图像处理的隧道洞口自动识别与应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于图像处理的隧道洞口自动识别与应用
熊显名;肖青山
【摘要】针对隧道洞外亮度测量时隧道洞口居中的圆形目标区域受自然环境影响发生偏移,导致根据当前圆形区域的灰度信息得到的隧道洞外亮度值不准确的问题,提出了一种基于图像处理的方法.让微处理器重新自动识别出隧道洞口并选定圆形目标区域,使测得的亮度值恢复正常.该方法利用相机采集图像,让微处理器(树莓派)对采集的图片采用图像处理技术自动识别出隧道洞口,选定隧道洞口居中的圆形目标区域,使根据圆形目标区域灰度值得到的洞外亮度值恢复正常.结果表明,该方法能准确识别出隧道洞口,目前已成功应用在广西境内合那高速猪谷山隧道.
【期刊名称】《桂林电子科技大学学报》
【年(卷),期】2018(038)004
【总页数】5页(P308-312)
【关键词】隧道洞外亮度;圆形目标区域;图像处理;隧道洞口识别
【作者】熊显名;肖青山
【作者单位】桂林电子科技大学电子工程与自动化学院,广西桂林541004;桂林电子科技大学电子工程与自动化学院,广西桂林541004
【正文语种】中文
【中图分类】TP391
近年来,由于相机性能的提高、数字图像处理技术的飞速发展及相机标定仪器成像
式亮度计的发展,数码成像技术得到迅速发展。
在2000年就有国外学者提出,相机获得的照片可以用于亮度测量,而且目前已广泛应用于道路和隧道亮度测量[1]。
近些年国内很多高校和研究所也进行了相关研究,并取得了一定进展。
利用相机获取亮度相比利用照度计或亮度计具有清晰度高、定位准确、测试时间短、重复性好、成本低、携带方便以及测试范围广等优势[2]。
其中,利用相机测量高速公路隧道
洞外亮度已成为一种新的趋势。
利用相机测量隧道洞外亮度时,其测量的目标区域是隧道洞口居中的圆形区域,通过测量圆形区域内的灰度值得到隧道洞外的亮度值。
因此,圆形目标区域是否选取准确,直接影响洞外亮度测量结果的准确性。
若通过隧道洞口不再居中的圆形目标区域的灰度值计算隧道洞外的亮度,则会使得到的亮度值不准确。
亮度值增大则不利于节能,减小则不利于驾驶员的行车安全。
针对以上问题,提出了一种基于图像处理的方法,该方法通过微处理器利用图像处理技术自动识别出隧道洞口,并能够准确选定隧道洞口居中的圆形区域,使所测的洞外亮度值恢复正常。
该方法具有自校正、识别准确等优点。
1 隧道口识别原理
由于隧道洞口轮廓在图片中非常明显且呈圆形,因此,可以采用图像处理的方法识别出隧道洞口。
首先,将图片灰度化后利用Sobel算子对图片在水平和垂直2个
方向进行卷积,并设定阈值对卷积后的图片进行二值化处理。
其次,采用非极大值抑制剔除伪边缘像素点;接着利用高斯滤波平滑图像,最后采用霍夫圆检测技术检测出隧道洞口,其原理如图1所示。
图1 隧道洞口识别原理框图Fig.1 Principle diagram of tunnel hole recognition
1.1 Sobel边缘检测
Sobel算子[4]是应用最广泛的离散微分算子之一,是常用的图像边缘检测方法。
传统Sobel算子包含水平和垂直2个方向卷积模板,式(1)为水平梯度方向模板,主要用来检测图像的垂直方向边缘,式(2)为垂直梯度方向模板,主要用来检测图
像的水平方向边缘[5]。
该算子先采用3×3卷积模板对检测图像进行加权平均或邻域平均,然后通过进行一阶离散微分计算检测出图像边缘点。
,
(1)
(2)
设图像某点的像素为I(x,y),则图像在水平和垂直的方向的卷积如式(3)和式(4)。
Gx ={I(x-1,y+1)+2I(x,y+1)+
I(x+1,y+1)}-{I(x-1,y-1)+
2I(x,y-1)+I(x+1,y-1)},
(3)
Gy ={I(x+1,y-1)+2I(x+1,y)+
I(x+1,y+1)}-{I(x-1,y-1)+
2I(x-1,y)+I(x-1,y+1)}。
(4)
由式(3)和式(4)可求出图像中每一点像素的水平和垂直结合后的近似梯度幅度G:
(5)
Sobel算子算法的基本思想:因为图像的边缘位于图像中亮度变化比较显著的地方,将邻域内像素梯度值超过设定阈值的像素点视为边缘点[6]。
Sobel算子算法的具
体步骤为:
1)用OpenCV中的cvtColor()函数对原图进行灰度化处理,原图如图2所示。
图2 原图Fig.2 Source image
2)根据式(3)和式(4)对原图像进行窗遍历,分别求出模板中心点对应的像素点在水
平和垂直方向的梯度值。
3)根据式(5)计算出模板中心点对应的像素点的近似梯度幅值,计为px。
4)设定适当的阈值TH与梯度幅值px进行比较。
若TH≥px,则判断像素点为图像边缘。
因此得到二值化图像如图3所示。
图3 二值化图像Fig.3 Binary image
从图3可看出,二值化后的图像虽然隧道洞口轮廓清晰,但还是存在较多噪点(伪
边缘点)。
1.2 非极大值抑制
当采用Sobel算子检测图像边缘时,只能初略检测出边缘,存在较多伪边缘,为
了解决图3的噪点问题,采用了非极大值抑制方法[8]。
非极大值抑制操作可以剔
除伪边缘信息,被广泛应用于图像边缘处理,其原理是寻找邻域像素点局部梯度幅值最大值,将非极大值点对应的灰度值置为0,如像素邻域区域满足梯度局部最大值,则判断为该像素的边缘,对其余非极大值的相关信息进行抑制[7],这样可以
剔除一大部分的非边缘像素点。
如图4所示,中心点的像素为P0,梯度方向θ与其8-邻域的交点为PM和PN。
根据非极大值抑制原理[10],要确定P0像素值是否满足邻域内最大,需要判断P0与邻域像素值和梯度方向PM与PN对应的值,即要把当前位置的梯度值与梯度方向上两侧的梯度值进行比较[7]。
在实际应用中,当PM不与P2或P3重合时,如图5所示,则PM和PN是非8-邻域点,这样计算该点的梯度值需要进行线性插值,会增加时间复杂度。
取θ为90°和0°,即只
需将P0点的梯度值与其水平和垂直方向的4个像素点的梯度进行比较,这样可减少计算的时间复杂度。
若满足P0像素值为邻域内的最大值,且梯度值最大,可判断该点是边缘像素点,否则P0像素点不是局部最优值,是可剔除的伪边缘点[7],
这样就将非边缘点像素点剔除,疑似为边缘的局部灰度值保存下来。
图4 中心像素8-邻域图Fig.4 Center pixel 8-neighborhood
图5 梯度方向分布图Fig.5 Gradient direction distribution image
按上述原理对图3的图像进行非极大值抑制操作后的图像如图6所示。
从图6可
看出,图像的伪边缘点减少,实现了隧道洞口与背景的进一步分离。
图6 非极大值抑制后的图像Fig.6 Images after suppression of non-maximum 1.3 高斯滤波
高斯滤波器是一种线性平滑滤波器,能够有效抑制噪声[11]。
其原理是将图像的每个像素点与高斯内核进行卷积运算,用卷积和替代当前像素值。
高斯滤波后图像被平滑的程度取决于标准差。
如果标准差σ较少,那么生成的高斯内核模板的中心
系数较大,而周围的系数逐渐减少,这样对图像的平滑效果不是很明显,反之标准差σ较大,则生成的高斯内核模板的各个系数差别不是很大,这样对图像的平滑
效果比较明显。
采用离散化窗口滑窗卷积方式,经过多次试验比较,在兼顾时间复杂度与霍夫圆检测效果的基础上,高斯内核模板采用的是9×9的矩阵,标准差σ
为2。
则图6经过OpenCV中的GaussianBlur()函数高斯滤波后得到的图像如图
7所示。
图7 高斯滤波后的图像Fig.7 Gaussian filtered image
从图7可看出,滤波后的图像相对于图6的滤波前图像变得模糊,消除了一些高
频噪点信号,同时保留了大部分的所需信号。
1.4 霍夫圆检测
对于圆而言,在笛卡尔坐标系中需要圆心坐标(a,b)和半径r三个参数来确定一个圆。
霍夫圆变换是将二维图像空间中一个圆转换为该圆半径r、圆心横纵坐标(a,b)所确定的三维参数空间中一个点的过程。
所以在(a,b,r)组成的三维坐标系中,一个点可以唯一确定一个圆。
而在笛卡尔的xy坐标系中经过某一点的所有圆映射到abr坐
标系中就是一条三维的曲线,则经过xy坐标系中所有的非零像素点的所有圆就构成了abr坐标系中很多条三维的曲线。
所以在(a,b,r)组成的三维空间中,曲线中相交于一点的边缘点集越多,那么它们经过的共同圆上的像素点就越多,通过设定一个阈值则可判断一个圆是否被检测到,这就是标准霍夫圆变换的原理[12]。
但由于三维空间的计算量很大,标准霍夫圆变换很难应用到实践中,而依据标准霍夫圆变换改进的霍夫梯度算法则做了优化。
霍夫梯度算法的检测思路是去遍历累加所有非零像素点对应的圆心,对圆心进行考量。
圆心一定是在圆上的每个点的模向量上,即在垂直于该点并且经过该点的切线的垂直线上,这些圆上的模向量的交点就是圆心。
霍夫梯度算法的第一步就是找到这些圆心,根据该“圆心”上模向量相交数量的多少,根据阈值进行最终的判断,这样三维的累加平面就转化为二维累加平面,减少了计算量;第二步就是根据所有候选中心的边缘非零像素点对其的支持程度来确定半径。
将图7利用OpenCV中HoughCircles()函数进行霍夫圆检测得到的图像如图8所示。
图8 霍夫圆检测Fig.8 Hoffe circle detection
从图8可看出,通过霍夫梯度算法检测出的圆与隧道内圈吻合度很高,那么通过
这个圆心坐标与半径即可得到隧道洞口居中的圆(目标测量区域),如图9所示。
图9 目标测量区域Fig.9 The target area of the measurement
2 应用结果与分析
在实际应用中,有可能隧道洞口在图片中所占的比例和位置不一样,以下分析隧道洞口在图片中占不同比例时采用前文所述步骤的检测效果。
对比图10~14可看出,当隧道洞口在图片中的比例不同时,采用洞口识别原理能取得良好的检测效果。
同样,对比图2和图10霍夫检测后的图像可以得出,当隧道洞口在图片中的位置发生偏移时,采用洞口识别原理也能很好地检测出隧道洞口。
该方法已成功应用于合那高速猪谷山隧道洞外的亮度测量,现场环境示意图如图
14所示。
图10 第一组:原图Fig.10 The first set of source images
图11 第一组:霍夫圆检测Fig.11 The first set of Hoffe circle detection
图12 第二组:原图Fig.12 The second set of source images
图13 第二组:霍夫圆检测Fig.13 The second set of Hoffe circle detection
图14 现场示意图Fig.14 Field application map
3 结束语
针对相机法测量隧道洞外亮度时目标测量区域受自然环境等因素的影响发生偏移的问题,提出利用图像处理方法自动识别出隧道洞口,并自动划定目标测量区域,以消除隧道洞口偏离目标测量区域中心给洞外亮度测量带来的影响。
为了准确地识别出隧道洞口,采用Sobel算子对灰度图像进行卷积及二值化处理,初步实现隧道
洞口边缘检测;并利用非极大值抑制消除一些伪边缘点;进一步用高斯滤波对图像进行平滑以消除噪点;最后利用霍夫梯度算法准确地检测出隧道洞口。
结果表明,采用的图像处理方法能准确地识别出隧道洞口,同样适应于图片中隧道洞口比例及位置不同。
目前,该方法已成功应用在广西境内合那高速猪谷山隧道洞外亮度测量。
参考文献:
【相关文献】
[1] 吕涛,张景旭,付东辉,等.成像法测量积分球的亮度均匀性[J].应用光学,2013,34(2):308-312.
[2] 俞文杰,郭子杨,廖启栗,等.数码相机的亮度分布测试研究[J].中国计量学报,2014, 25(3):273-278.
[3] HEATH M,SARKAR S,SANOCKI T,et parison of edge detectors[J].Computer Vision & Image Understanding,1998,69(1):38-54.
[4] 沈德海,张龙昌,鄂旭.基于Sobel算子的改进边缘检测算法[J].信息技术,2015(4):15-18.
[5] 袁春兰,熊宗龙,周雪花,等.基于Sobel算子的图像边缘检测研究[J].激光与红外,2009, 39(1):85-87.
[6] 李旭,王正勇,吴晓红,等.一种改进非极大值抑制的Canny边缘检测算法[J].成都信息工程学院学报,2011,26(5):564-569.
[7] 朱伟,赵春光,欧乐庆.OpenCV图像处理编程实例[M].北京:电子工业出版社,2016:180-215.
[8] 王静,王海亮,向茂生,等.基于非极大值抑制的圆目标亚像素中心定位[J].仪器仪表学
报,2012,33(7):1460-1468.
[9] 姒绍辉,胡伏原,顾亚军,等.一种基于不规则区域的高斯滤波去噪算法[J].计算机科
学,2014,41(11):313-316.
[10] NAIR P S, SUNDERS A T Jr.Hough transform based ellipse detection
algorithm[J].Pattern Recognition Letters,1996,17(7):777-784.
[11] 王红茹,丁文.一种改进的基于对称性的Hough变换圆检测算法[J].微电子学与计算
机,2014,31(6):121-124.
[12] 何春华,张雪飞,胡迎春.基于改进Sobel算子的边缘检测算法的研究[J].光学技
术,2012,38(3):323-327.
[13] PRATTWK.数字图像处理[M].邓鲁华,张延恒,译.北京:机械工业出版社,2005:330-331.
[14] 袁理,叶露,贾建禄.基于Hough变换的椭圆检测算法[J].中国光学与应用光学,2010,3(4):379-384。