1.一种车辆自动驾驶距离判断算法,其特征在于,包括以下步骤:步骤一:获取到的前方车辆图像进行图像预处理,对图像进行高斯滤波处理,即高斯模糊,去除图像的噪声;
步骤二:高斯滤波后的图像进行灰度化处理,得到图像灰度图,去除图像的彩色信息,减少计算量;
步骤三:通过边缘检测sobel算子对图像进行竖直方向的边缘特征提取操作;
步骤四:通过二值化将图像转化成二值图,即像素值只有0或者1的图像;
步骤五:通过对二值图进行闭操作处理,得到若干个矩形框;
步骤六:通过对图像进行求轮廓操作,得到图像中所有的轮廓,其中包含感兴趣区域,即长方形亮区域和黑色区域;随着车距离变化,所述长方形亮区域和所述黑色区域发生变形;
所述步骤六中长方形亮区域和黑色区域划分依据:
晴天时,汽车后保险杠、两侧车轮在太阳照射下在地上的影子会形成一个长方形的黑色区域,汽车后保险杠、两侧车轮与地面在竖直平面内形成长方形亮区域;
步骤七:通过对轮廓求最小外接矩形,根据感兴趣区域ROI的长宽比进行筛选,确定长方形亮区域和黑色区域;
步骤八:根据灰度值大小从而分别确定出长方形亮区域和黑色区域;
(8-1)
黑色区域的灰度值小,而亮色区域的灰度值大,根据这个确定出黑色区域和亮色区域;
还包括步骤九:通过收集大量的长方形亮区域和黑色区域不同大小、时间的样本图像,以这些样本图像作为输入、每个图像所对应的车距作为输出,进行BP神经网络训练,得到图像对应的车距判断的BP神经网络模型;
还包括步骤十:采集图像数据对模型进行测试,根据模型对图像所判断的距离与实际测量到的距离进行比对,纠正,不断增加新的样本数据,不断迭代升级模型,提升模型的判断精度;
其中,通过划分得到的所述长方形亮区域和所述黑色区域,在摄像头捕捉时,由于分层明显,便于摄像头捕捉;所述长方形亮区域和所述黑色区域的信息量小,方便构建数据库,不需要庞大的数据池;通过清晰的长方形亮的区域发生变形,方便测量确定包括车道车辆姿态在内的信息。
2.根据权利要求1所述的车辆自动驾驶距离判断算法,其特征在于:所述步骤一中高斯滤波的具体操作是:用一个模板扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值,对均值滤波和方框滤波来说,其邻域内每个像素的权重是相等的;而在高斯滤波中,会将中心点的权重值加大,远离中心点的权重值减小,在此基础上计算邻域内各个像素值不同权重的和。
3.根据权利要求1所述的车辆自动驾驶距离判断算法,其特征在于:所述步骤二中图像进行灰度化处理的方式为:(2-1)
其中:是灰度化后像素点的值;
、、分别是红、绿、蓝三个颜色通道的像素值;
红、绿、蓝三个颜色通道的像素值乘以对应的系数,最后计算得到这个像素点的灰度值。
4.根据权利要求1所述的车辆自动驾驶距离判断算法,其特征在于:所述步骤三中sobel算子用于获得数字图像的一阶梯度,常见的应用是对图像进行边缘检测提取;
sobel算子使用两个3*3的矩阵算子去和原始图像作卷积,分别得到横向和纵向的梯度值,如果梯度值大于某一个阈值,则认为该点为边缘点。
5.根据权利要求1所述的车辆自动驾驶距离判断算法,其特征在于:所述步骤四中图像二值化就是将图像上像素点的灰度值设置为0或255,也就是将整个图像呈现出明显的黑白效果的过程;
二值图像每个像素只有两种取值:要么纯黑即0,要么纯白即1;
(4-1)
其中:是图像;
是像素点的像素值;
是判断阈值;
图像二值化的方法选择最大类间方差法OTSU,找到一个阈值使得大于该阈值和小于该阈值的两部分像素的方差和最大;
对于图像属于前景的像素点数占整幅图像的比例记为ω0,其平均灰度μ0,背景像素点数占整幅图像的比例为ω1,其平均灰度为μ1,图像的总平均灰度记为μ,类间方差记为g;
假设图像的背景较暗,并且图像的大小为M×N,图像中像素的灰度值小于阈值的像素个数记作N0,像素灰度大于阈值的像素个数记作N1,则有:ω0=N0/ M×N
ω1=N1/ M×N
N0+N1=M×N
ω0+ω1=1
μ=ω0*μ0+ω1*μ1 (4-2)g=ω0(μ0-μ)^2+ω1(μ1-μ)^2 (4-3)将式(4-2)代入式(4-3),得到等价公式:g=ω0ω1(μ0-μ1)^2 (4-4)采用遍历的方法得到使类间方差g最大的阈值,即为所求。
6.根据权利要求1所述的车辆自动驾驶距离判断算法,其特征在于:所述步骤五的具体步骤如下:对图像先膨胀后腐蚀的过程称为闭运算,先进行膨胀以填充连通域内的小型空洞,扩大连通域的边界,连接邻近的两个连通域,之后通过腐蚀运算减少由膨胀运算引起的连通域边界的扩大及面积的增加,具有填充物体内细小空洞,连接邻近物体和平滑边界的作用。
7.根据权利要求1所述的车辆自动驾驶距离判断算法,其特征在于:所述步骤九中BP神经网络采用的传递函数是非线性变换函数Sigmoid函数。