前言
结合上部分的ROI区域设定可以滤除大量干扰,并且只针对设定ROI区域内直线检测可以快速定位
自适应中值滤波的Canny边缘检测和限定ROI滤除干扰边缘
一、霍夫变换直线检测
Hough变换是利用图像局部特性而将边缘像素连接起来组成封闭边界的一种方法。在预先知道区域形状的条件下,利用Hough变换可以方便地得到边界曲线而将不连续的边缘像素点连接起来。其基本原理在于利用点与线的对偶性,将原始图像空间的给定的曲线通过曲线表达形式变为参数空间的一个点。这样就把原始图像中给定曲线的检测问题转化为寻找参数空间中的峰值问题,也即把检测整体特性转化为检测局部特性,如直线、椭圆、圆、弧线等。
二、改进霍夫变换
标准Hough变换算法是目前广泛用于图像中直线检测的方法。它具有较强的抗噪声能力,但运算量较大、耗时长,不适合用于实时性要求高的系统。因此本文在ROI区域内采取累积概率霍夫变换算法检测车辆尾部边缘线,并增加空间位置的约束条件,实现对车尾底部边缘线的检测。
改进霍夫变换是在标准Hough变换的基础上,增加一个累计的概率投票,其基本想法是如果峰值足够高,只用较短的时间就可以搜索到,只累计一部分点而不是全部点,所以相比标准Hough变换减少了很多计算量,具有较高的执行效率。结合实验情况,在ROI区域内进行累计概率霍夫变换,此时会检测处车辆尾部底边直线和大量的干扰直线。然后,利用车辆检测定位的目标框〖target〗_Box底边线中心纵坐标y_box,并对在ROI区域检测出的直线分别求中心点纵坐标值y_i=(y_1+y_2)/2,满足y_min=min(|y_i-y_box |),确定最终需要保留直线所对应的坐标(x_1,y_1),(x_2,y_2),并框选固定的矩形区域作为黑烟特征提取区域。如下图所示。
本文在ROI区域结合位置约束条件的累积概率霍夫变换算法提取黑烟车尾部感兴趣区域的具体步骤如下:
步骤1.在ROI区域内进行自适应Canny边缘检测,构建图像前景点集P;
步骤2.从点集P中随机选取一个像素点,且每个区间对应一个累加器,在参数空间下计算θ对应的ρ值,对应的累计器A(ρ,θ)加1;
步骤3.从点集中删除该点并更新累加器;
步骤4.根据设定的阈值,若累加器的值大于阈值,则表示已检测到直线,返回线段端点坐标(x_1,y_1),(x_2,y_2),重复以上3个步骤,直至点集为空;
步骤5.在ROI区域内利用空间位置约束,确定距离当前目标检测框底端边缘中心点距离最小检测线。在检测线上按固定比例截取检测框,得到黑烟车的尾部感兴趣区域;
1.实验
输入:
自适应中值的Canny检测-只针对ROI区域:
ROI区域所有直线检测:
空间位置约束:
保留感兴趣区域:
总结
限定的设置可以更好的定位,并且可以滤除更多的干扰物。