APP下载

基于改进Hough变换的非结构化道路检测

2022-02-06黄闽江刘康陈勇徐则中

常州工学院学报 2022年6期
关键词:结构化线性边界

黄闽江,刘康,陈勇,徐则中

(常州工学院计算机信息工程学院,江苏 常州 213032)

0 引言

道路检测是智能车自主导航的关键内容,特别是在非结构化道路场景,需要快速准确地检测出道路可行驶区域。研究复杂场景下的非结构化道路检测,对无人车导航系统具有重要意义。

现实中的道路一般分为结构化道路和非结构化道路。结构化道路具有清晰的道路边界和标志线,已有成熟的车道线检测技术。非结构化道路通常没有明显的道路边界和标志线,并且受到阴影、水迹等影响,导致路面检测更加困难。

目前关于非结构化道路检测的方法主要有三类:①基于道路特征的检测方法。该方法依靠路面本身的特征检测道路可行驶区域。先提取路面颜色[1]、灰度[2]、纹理[3]、熵[4]等特征,然后利用区域增长或聚类方法提取道路可行驶区域[5]。此方法不需要大量先验样本和道路模型假设,但容易受到阴影和水迹等的影响。②基于道路模型的检测方法。该方法先假设路面的形状,建立对应的道路模型,然后对道路模型进行拟合,得到道路边界线[6-7]。Moghadam等[8-9]为了有效地检测道路模型,提出了基于道路消失点的道路模型检测方法。此方法对路面光照、阴影、水迹具有很好的鲁棒性,但是很难对复杂多变的路面形状进行准确建模。③基于神经网络的检测方法。该方法运用大量的道路样本对神经网络模型进行训练,基于网络模型识别可行驶路面[10-11],检测精度高,但需要大量训练样本,识别出道路像素后还需要进一步处理。

除了在图像空间进行处理外,还可以通过对道路图像进行逆透视变换,在物理空间进行非结构化道路检测[12-13]。道路边界在图像中是相交的,而在物理空间中,道路边界呈现为近似平行的直线或曲线。通过逆透视变换,把道路特征从图像空间变换到物理空间,从而利用道路边界的平行约束条件,进行非结构化道路检测。此方法需要消除透视成像对路面检测的影响[14],以提高道路检测的准确率和鲁棒性。

本文针对非结构化道路存在着光照、阴影和水迹等各种干扰情况,将S分量图像进行逆透视变换,在物理空间上运用改进的Hough变换[15],可直接精确检测路面可行驶区域。

1 图像预处理

1.1 空间变换

由于非结构化道路会受到光照、阴影和水迹等的影响,在道路图像中,路面的灰度特征并不明显,因此很难依据灰度特征来识别可行驶路面区域,如图1(a)所示。将图1(a)进行灰度变换后,得到的图像如图1(b)所示。

为了更好地检测路面可行驶区域,把采集的RGB图像转换成HSV图像,其中,H、S、V分别表示色调、饱和度、明度,并提取S分量,如图1(c)所示,用于后续的处理。

(a)原始图像

1.2 逆透视变换

从图1(c)的S分量图像可以看出,路面的整体亮度比较低,可以综合运用阈值分割和区域增长技术,分割道路可行驶区域。由于路面边界并不清晰,路面区域也包含一些白色的干扰像素,因此直接在S分量图像上检测路面可行驶区域,比较困难。

为此,将S分量图像进行逆透视变换,从图像空间变换到物理空间,从图像坐标系变换到世界坐标系,如图2所示。

图2 世界坐标系下的道路图像

道路图像经过逆透视变换后,消除了路面的透视成像影响。道路边界线近似平行,路面可行驶区域呈现为一个近似线性区域。

2 线性区域检测

标准的Hough变换广泛用于检测直线或曲线,但是必须事先进行边缘检测,只有提取道路边缘点后,才能运用Hough变换检测道路边界线。通过对Hough 变换进行改进,无需进行边缘检测,直接运用黑点进行Hough投票。通过分析投票的统计均值和统计方差,运用函数拟合技术,计算线性区域的中心、方向、长度和宽度,进而得到整个线性区域的矩形表示。具体步骤如下:

步骤1:所有黑点向一个2D数组进行Hough投票;

步骤2:搜索最大投票值,也称作峰值,在峰值周围选择11列;

步骤3:计算11列的统计均值m(θ)、统计方差σ2(θ);

步骤4:把统计方差拟合成一个二次函数,根据拟合的系数计算线性区域的方向、长度、宽度;

步骤5:把统计均值拟合成一个线性函数,根据拟合的系数计算线性区域的中心坐标;

步骤6:运用改进的Hough变换,得到路面区域的中心、方向、长度和宽度。然后计算4个顶点坐标,组成一个矩形框,表示路面可行驶区域,如图3所示。

图3 检测到的线性区域

尽管道路边界不是完全线性的,整个路面也不是一个完整的线性区块,但通过改进的Hough变换,可以检测到一个矩形框,用于表示路面可行驶区域。

3 实验结果

选择不同的非结构化道路图像,运用本文提出的方法对道路图像进行处理,检测道路可行驶区域。原始道路图像和对应的处理结果如图4所示。

(a)原始图像1(b)原始图像1的检测结果(c)原始图像2(d)原始图像2的检测结果

在图4(a)中,道路的边界不明显,路面上存在水迹。无论是灰度图像,还是S分量图像,都很难分割出道路可行驶区域,因此通过变换到物理空间,运用改进的Hough变换直接检测路面可行驶区域,如图4(b)所示。在图4(c)中,路面上有杂草覆盖,边界也不清晰。运用本文提出的方法,检测出可行驶的路面区域,如图4(d)所示。

本文提出的道路检测方法的主要创新之处是经过逆透视变换后,选用改进的Hough变换区域算法检测道路可行驶的矩形区域。与同类检测方法进行对比,检测的结果如表1所示,改进的Hough变换区域算法检测出一个矩形,即图像中连通的黑色区域,常规Hough直线算法显示了4个最高投票值对应的直线。

在表1中分别显示了3个非结构化道路图像及检测结果,其中第1列分别是杂草道路、阴影道路和水迹泥泞道路,第2列是文中提出的基于改进的Hough变换区域算法的道路检测结果,第3列是基于常规Hough变换直线算法的道路检测结果。

在表1第1行,原始图像显示路面中间被杂草覆盖。基于区域像素的改进Hough区域算法检测出一个表示路面可行驶区域的矩形。基于边缘点的常规Hough直线算法受到杂草干扰,检测出4条直线,错误地把杂草边缘也检测为路面边界。

在表1第2行,原始图像显示路面上有阴影。改进的Hough区域算法检测出一个矩形来表示路面可行驶区域。常规Hough直线算法受到阴影干扰,除了检测出道路边界,还错误地检测出2条额外的直线。

表1 非结构化道路检测结果对比

在表1第3行,原始图像显示一条泥泞的道路,路面有水迹。改进的Hough区域算法检测出一个矩形,近似路面可行驶区域。常规Hough直线算法受到水迹干扰,检测出4条直线,错误地把水迹边缘也检测为路面边界。

改进的Hough变换算法,直接运用图像中连通的黑色像素进行投票,通过二次函数和线性函数拟合,得到一个矩形,即图像中连通的黑色区域。该算法不需要进行边缘检测,与图像中的边缘点无关,具有更好的鲁棒性。

4 结论

为了提高非结构化道路检测的鲁棒性,考虑到路面的阴影、水迹等影响,利用HSV图像的S分量,可以更好地区分道路的可行驶区域;把S分量图像进行逆透视变换,路面呈现为一个近似的线性区域;运用改进的Hough变换,忽略边缘检测,通过函数拟合得到路面可行驶区域。

猜你喜欢

结构化线性边界
渐近线性Klein-Gordon-Maxwell系统正解的存在性
拓展阅读的边界
探索太阳系的边界
促进知识结构化的主题式复习初探
改进的非结构化对等网络动态搜索算法
线性回归方程的求解与应用
结构化面试方法在研究生复试中的应用
左顾右盼 瞻前顾后 融会贯通——基于数学结构化的深度学习
意大利边界穿越之家
二阶线性微分方程的解法