CN110287884B - 一种辅助驾驶中压线检测方法 - Google Patents
一种辅助驾驶中压线检测方法 Download PDFInfo
- Publication number
- CN110287884B CN110287884B CN201910559581.5A CN201910559581A CN110287884B CN 110287884 B CN110287884 B CN 110287884B CN 201910559581 A CN201910559581 A CN 201910559581A CN 110287884 B CN110287884 B CN 110287884B
- Authority
- CN
- China
- Prior art keywords
- image
- vehicle
- point
- area
- gradient
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 29
- 238000000034 method Methods 0.000 claims abstract description 41
- 230000004927 fusion Effects 0.000 claims abstract description 16
- 230000009466 transformation Effects 0.000 claims abstract description 11
- 238000000605 extraction Methods 0.000 claims abstract description 9
- 238000012545 processing Methods 0.000 claims description 25
- 238000001914 filtration Methods 0.000 claims description 17
- 238000000354 decomposition reaction Methods 0.000 claims description 13
- 238000009499 grossing Methods 0.000 claims description 10
- 238000003708 edge detection Methods 0.000 claims description 9
- 238000007499 fusion processing Methods 0.000 claims description 6
- 230000000717 retained effect Effects 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 238000012217 deletion Methods 0.000 claims description 3
- 230000037430 deletion Effects 0.000 claims description 3
- 230000002452 interceptive effect Effects 0.000 claims description 3
- 239000000203 mixture Substances 0.000 claims description 3
- 238000012216 screening Methods 0.000 claims description 3
- 230000002401 inhibitory effect Effects 0.000 claims description 2
- 230000008569 process Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 235000002566 Capsicum Nutrition 0.000 description 1
- 239000006002 Pepper Substances 0.000 description 1
- 235000016761 Piper aduncum Nutrition 0.000 description 1
- 235000017804 Piper guineense Nutrition 0.000 description 1
- 244000203593 Piper nigrum Species 0.000 description 1
- 235000008184 Piper nigrum Nutrition 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000012850 discrimination method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000005764 inhibitory process Effects 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 150000003839 salts Chemical class 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/25—Fusion techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/20—Image enhancement or restoration using local operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; Smoothing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/187—Segmentation; Edge detection involving region growing; involving region merging; involving connected component labelling
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/194—Segmentation; Edge detection involving foreground-background segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/58—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads
- G06V20/584—Recognition of moving objects or obstacles, e.g. vehicles or pedestrians; Recognition of traffic objects, e.g. traffic signs, traffic lights or roads of vehicle lights or traffic lights
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/56—Context or environment of the image exterior to a vehicle by using sensors mounted on the vehicle
- G06V20/588—Recognition of the road, e.g. of lane markings; Recognition of the vehicle driving pattern in relation to the road
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20024—Filtering details
- G06T2207/20032—Median filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20092—Interactive image processing based on input by user
- G06T2207/20104—Interactive definition of region of interest [ROI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30248—Vehicle exterior or interior
- G06T2207/30252—Vehicle exterior; Vicinity of vehicle
- G06T2207/30256—Lane; Road marking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/07—Target detection
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种辅助驾驶中压线检测方法,与现有最新ImageAI检测识别技术结合,能够准确识别图像中的目标车辆,且能够利用Hough变换准确提取车道线,并能经过前后轮位置估计方法准确估计车轮位置,最终通过图像融合以及像素点RGB值提取准确检测车辆的压线情况,具有良好的检测精度。
Description
技术领域
本发明属于图像处理技术领域,具体涉及一种辅助驾驶中压线检测方法。
背景技术
众所周知,根据法规,机动车在公路上行驶,不允许倒车、逆行、穿越中央分隔带掉头或者在车道内停车,以及骑、轧车行道分界线或者在路肩上行驶,因此这就要求车辆在公路上行驶时不得压线。一方面,随着人们生活水平的提高,私家车的数量越来越多,这使得道路上的车辆越来越多,给执法部门执法带来了相当大的困难,另一方面,随着科技的发展,无人驾驶车辆逐步进入人们的生活,而且无人车在出厂前同样需要进行道路行驶压线检测,综上所述,一种便捷且准确的压线检测方法是非常必要的。
发明内容
本发明的目的在于提供一种辅助驾驶中压线检测方法,以克服现有检测技术存在的缺陷,本发明与现有最新ImageAI检测识别技术结合,能够准确识别图像中的目标车辆,且能够利用Hough变换准确提取车道线,并能经过前后轮位置估计方法准确估计车轮位置,最终通过图像融合以及像素点RGB值提取准确检测车辆的压线情况,具有良好的检测精度。
为达到上述目的,本发明采用如下技术方案:
一种辅助驾驶中压线检测方法,包括以下步骤:
步骤1:获取车辆在公路上行驶的交通图像,并获取感兴趣区域,即从交通图像中以方框截取出被测车辆和车道线所在的区域;
步骤2:对步骤1中获得的感兴趣区域进行灰度处理;
步骤3:对步骤2中获得的灰度图进行平滑处理;
步骤4:采用Canny边缘检测的方法,对步骤3获得的图像进行边缘检测,获得图像的边缘;
步骤5:将步骤4得到的图像在进行车道线参数提取后,进行Hough变换得到车道线;
步骤6:对步骤1中获得的感兴趣区域进行车辆目标检测;
步骤7:对步骤6中车辆目标检测后的图像进行定位并取出;
步骤8:对步骤7中得到的图像采用GrabCut算法进行车辆的交互式前景提取;
步骤9:对步骤8获得的车辆区域图像进行中值滤波以及图像二值化处理;
步骤10:对步骤9获得的图像进行删除小面积连通域处理,使图像仅留下最大的连通域,即目标车辆区域;
步骤11:对步骤10获得的车辆区域图像进行绘制最小外接矩形处理,并获取该矩形的宽高比,该值即为车辆近似的宽高比;
步骤12:对步骤10获得的图像进行区域边界追踪处理,以获取车辆区域的轮廓边缘坐标;
步骤13:对步骤12获得的车辆轮廓坐标进行条件判断,估计并画出车辆的前后轮位置;
步骤14:对步骤13获得的车辆前后轮位置估计图像与步骤5得到的车道线图像进行小波变换图像融合,并检测车道线与车前、后轮连接线是否相交,若相交说明车辆压线;否则说明车辆未压线。
进一步地,步骤3中采用高斯滤波进行平滑处理。
进一步地,步骤4中进行Canny边缘检测的具体步骤为:
步骤4.1:计算高斯平滑处理后的图片中在每个点的梯度,变化值越大表明是边缘的概率越高,计算梯度的时候使用了卷积,相关计算如下:
式中,Gx为x方向梯度,Gy为y方向梯度,G为梯度,θ为x和y两个方向梯度的夹角;
步骤4.2:非极大抑制,计算完梯度后,对整幅图像进行扫描,去除非边界上的点,具体是将每个像素点的梯度值与梯度方向上的两个点进行比较,当且仅当这个点的梯度值最大才保留,否则舍弃;
步骤4.3:设置两个阈值low_threshold、high_threshold,在经步骤4.2得到的图像中,由步骤4.1所求的每个点的梯度gradient与阈值的关系如下:
(1)gradient≤low_threshold:丢弃此点,即该点不是边界点;
(2)gradient≥high_threshold:保留此点,即该点是边界点;
(3)low_threshold<gradient<high_threshold:当且仅当此点的相连点的梯度值大于high_threshold时保留。
进一步地,步骤6中所述的车辆目标检测方法为:首先下载用于目标检测的RetinaNet模型文件,再使用ImageAI实现目标检测任务;
步骤7中对图像的定位取出方法为:记录车辆目标检测后的图像中的左上角顶点和右下角顶点坐标,再遍历图像中的所有点,将矩形区域以外的像素点的颜色改成黑色,最后保存修改像素点后的图像。
进一步地,步骤8中GrabCut算法具体为:输入一个矩形,矩形外的所有区域必为背景,矩形框内的图像是未知的,计算机使用一个高斯混合模型对前景和背景建模,再使用mincut算法后,区分前景和背景,其中GrabCut函数中的掩模图像采用掩码图像模式;
步骤9中采用中值滤波函数medfilt2对步骤8获得的车辆区域图像进行中值滤波处理,采用imbinarize函数对中值滤波后的图像进行二值化处理;
步骤10中利用bwareaopen函数删除图像中小面积连通域,其格式为BW2=bwareaopen(BW,P,conn),此函数用来删除二值图像BW中面积小于P的对象,默认情况下conn使用8邻域,此函数处理后即得到图像中的最大连通域,即目标车辆区域。
进一步地,步骤11中绘制车辆区域最小外接矩形的方法为:对于一个凸多边形O来说,其拥有两对和x及y方向上四个端点相切的切线,四条线确定了一个凸多边形的外接矩形,假设按照顺时针顺序输入一个凸多边形的n个顶点:①计算该凸多边形的外接矩形的四个端点,称之为xminO,xmaxO,yminO,ymaxO;②通过四个点构造凸多边形O的四条切线,该四条切线确定了两个卡壳集合;③如果一条切与凸多边形一条边重合,那么计算由这四条切线决定的矩形的面积,并且保存为当前最小值,否则将当前最小值定义为无穷大;④顺时针旋转线直到其中一条切线和凸多边形的一条边重合;⑤计算新矩形的面积,并且和当前最小值比较,如果小于当前最小值则更新,并保存确定最小值的矩形信息;⑥重复步骤④和步骤⑤,直到线旋转过的角度大于90度;⑦输出外接矩形的最小面积;⑧绘制凸多边形O的最小外接矩形。
进一步地,步骤12中获取车辆区域的轮廓边缘坐标的方法为:对图像中的每一个前景像素点都进行边缘追踪算法得到连通域边缘轮廓像素点,并将连通域边缘轮廓像素点坐标存进自定义数组coor中。
进一步地,步骤13中估计车辆后轮位置的方法为:遍历coor数组中的所有坐标值,分别找到其中与图像左下角与右下角的距离最近的两个像素点,这两个像素点的连线Line1即为车辆的后轮位置。
进一步地,步骤13中估计车辆前轮位置的方法分为两种情况:其一,当步骤11中获取的宽高比whb<阈值Q时,即车辆倾斜程度较小时,认为图像中车辆前轮连线由车辆后轮连线直接向垂直方向上移h得到,其中h为目标车辆前后轮之间的距离;其二,当宽高比whb≥阈值Q时,即车辆倾斜程度较大时,通过遍历coor数组中坐标值,找到横坐标最小或最大的像素点Leftpoint,当车辆前轮向左倾斜,则取横坐标最小的像素点,当车辆前轮向右倾斜,则取横坐标最大的像素点,此点即为车辆的左前轮位置,右前轮位置通过以Leftpoint为起点,绘制与两后轮位置连线Line1斜率相同且长度相同的线段Line2得到。
进一步地,步骤14中步骤13获得的车辆前后轮位置估计图像A与步骤5得到的车道线图像B进行融合,所用的方法具体如下:
步骤14.1:将两张图像转化为double类型;
步骤14.2:对步骤13获得的车辆前后轮位置估计图像A与步骤5得到的车道线图像B进行二层分解,建立图像的小波塔型分解;
步骤14.3:对各分解层分别进行融合处理,各分解层上的不同频率分量采用不同的融合算子进行融合处理,最终得到融合后的小波金字塔;
步骤14.4:对融合后所得小波金字塔进行小波重构,所得到的重构图像即为融合图像,而在最终的融合图像中,图像A与图像B中的显著目标,即车道线与车前、后轮连接线都被保留;
步骤14.5:对所得融合图像进行观察检测,即对融合图像各个像素点进行RGB数值筛选,若筛选出交点处像素点,则证明目标车辆压线;若没有筛选出交点处像素点,则证明目标车辆没有压线。
与现有技术相比,本发明具有以下有益的技术效果:
在对车辆进行提取时,传统的语义分割方法,对计算机配置要求较高,本发明中调用ImageAI库,ImageAI提供4种不同的算法和模型来进行图像预测,并在ImageNet-1000数据集上进行了训练,4种算法包括SqueezeNet,ResNet,InceptionV3和DenseNet,可以轻松实现多种物体的识别。
在对车辆区域的前后轮位置进行估计时,能对车辆的不同情况通过宽高比与阈值的比较进行准确的车轮位置估计,大大提高了检测的准确性。
在对车辆前后轮是否压线进行判断时,分别对车道线图像和车辆前后轮位置估计图像进行各个像素点RGB数值的提取,由于车道线与车前、后轮连接线交点处像素的RGB数值与未发生交点处像素RGB数值不同,故此可独立筛选出交点处像素点,最后若筛选出该像素点,则证明目标车辆压线;若没有筛选出该像素点,则证明目标车辆没有压线。
附图说明
图1是本发明流程示意图;
图2是图像融合原理图;
图3是提取车道线的过程,其中,(a)为感兴趣区域ROI,(b)灰度处理后的图像,(c)高斯平滑处理后的图像,(d)Canny边缘检测后的图像,(e)Hough变换后的图像(图中车道线用像素为RGB=[0,0,255]的直线表示);
图4和图5是提取车辆的过程和车辆压线检测的过程。
图5中,(a)为感兴趣区域ROI,(b)车辆目标检测后的图像,(c)车辆定位取出后的图像,(d)GrabCut算法提取后的图像,(e)、(f)为车辆区域最小外接矩形图像(图中用像素为RGB=[255,0,0]的矩形框表示);
图5中,(a)为车辆前后轮位置估计情况一(图中车辆前、后轮的连接线都用像素为RGB=[0,255,0]的线段表示),(b)为车辆区域前后轮位置估计情况二(图中车辆前、后轮的连接线都用像素为RGB=[0,255,0]的线段表示),(c)、(d)为车辆区域与车道线融合后的图像,(e)、(f)为提取融合后的图像中车轮线连线与车道线的交点图像。
具体实施方式
下面结合附图对本发明作进一步详细描述:
参见图1,一种辅助驾驶中压线检测方法,具体步骤如下:
步骤1:获取车辆在公路上行驶的交通图像,并获取感兴趣区域,即从交通图像中以方框截取出被测车辆和车道线所在的区域,初步实现定位功能,排除图像中多余元素的干扰;
步骤2:对步骤1中获得的交通图像进行预处理即灰度处理;
步骤3:对步骤2中获得的灰度图进行高斯平滑处理,即进行高斯滤波,高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。通俗的讲,高斯滤波就是对整幅图像进行加权平均的过程,每一个像素点的值,都由其本身和邻域内的其他像素值经过加权平均后得到。高斯滤波的具体操作是:用一个模板(或称卷积、掩模)扫描图像中的每一个像素,用模板确定的邻域内像素的加权平均灰度值去替代模板中心像素点的值。
步骤4:采用Canny边缘检测的方法,对步骤3获得的图像进行边缘检测,获得图像的边缘;
具体步骤为:
步骤4.1:计算高斯平滑处理后的图片中每个点的梯度,变化值越大表明是边缘的概率越高,计算梯度的时候使用了卷积,相关计算如下:
式中,Gx为x方向梯度,Gy为y方向梯度,G为梯度,θ为x和y两个方向梯度的夹角;
步骤4.2:非极大抑制,计算完梯度后,应该对整幅图像进行一个扫描,去除那些非边界上的点,具体是将每个像素点的梯度值与梯度方向上的两个点进行比较,当且仅当这个点的梯度值最大才保留,否则舍弃;
步骤4.3:设置两个阈值low_threshold、high_threshold,在经步骤4.2处理后的图像中,由步骤4.1所求的每个点的梯度gradient与阈值的关系如下:
(1)gradient≤low_threshold:丢弃此点,即该点不是边界点;
(2)gradient≥high_threshold:保留此点,即该点是边界点;
(3)low_threshold<gradient<high_threshold:当且仅当此点的相连点的梯度值大于high_threshold时保留。
这里的高低阈值都是因图片而异的,一般取高阈值为低阈值的3倍。
步骤5:将步骤4得到的图像在进行车道线参数提取后,进行Hough变换得到车道线;
步骤6:对步骤1中获得的交通图像进行车辆目标检测,首先下载用于目标检测的RetinaNet模型文件,再使用ImageAI实现目标检测任务;
步骤7:对步骤6中车辆目标检测后的图像进行定位并取出,具体为:记录选中车辆目标检测后的图像中目标车辆矩形的左上角顶点和右下角顶点坐标,再遍历图像中的所有点,将矩形区域以外的像素点的颜色改成黑色,最后保存修改像素点后的图像;
步骤8:采用GrabCut算法进行车辆的交互式前景提取,即输入一个矩形,矩形外的所有区域必为背景,矩形框内的图像是未知的,计算机会使用一个高斯混合模型(GMM)对前景和背景建模,再使用mincut算法后,区分前景和背景。其中GrabCut函数中的掩模图像可以采用矩形模式,也可以采用掩码图像模式,本步骤中采用的为后者,即可得到较好的车辆图像;
步骤9:对步骤8获得的车辆区域图像进行中值滤波以及图像二值化处理,所用中值滤波函数为medfilt2,应用此函数可对图像进行中值滤波处理,且能较好地降低椒盐噪声的影响;imbinarize函数可用来对图像进行二值化处理;
步骤10:对步骤9获得的图像进行删除小面积连通域处理,使图像仅留下最大的连通域,即车辆区域;可利用bwareaopen函数删除图像中面积较小的连通域。其格式为BW2=bwareaopen(BW,P,conn),此函数可用来删除二值图像BW中面积小于P的对象,默认情况下conn使用8邻域。此函数处理后即可得到图像中的最大连通域,即目标车辆区域;
步骤11:对步骤10获得的车辆区域图像进行绘制最小外接矩形处理,并获取该矩形的宽高比,该值即为车辆近似的宽高比;
绘制车辆区域最小外接矩形的方法为:对于一个凸多边形O来说,其拥有两对和x及y方向上四个端点相切的切线,四条线确定了一个多边形的外接矩形,但是除非多边形有一条水平的或是垂直的边,否则这个矩形的面积就不能算入最小面积中。然而,可以通过旋转线直到条件满足。假设按照顺时针顺序输入一个凸多边形的n个顶点:①计算该多边形的外接矩形的四个端点,称之为xminO,xmaxO,yminO,ymaxO;②通过四个点构造凸多边形O的四条切线,该四条切线确定了两个卡壳集合;③如果一条或两条线与一条边重合,那么计算由四条线决定的矩形的面积,并且保存为当前最小值,否则将当前最小值定义为无穷大;④顺时针旋转线直到其中一条和多边形的一条边重合;⑤计算新矩形的面积,并且和当前最小值比较,如果小于当前最小值则更新,并保存确定最小值的矩形信息;⑥重复步骤④和步骤⑤,直到线旋转过的角度大于90度;⑦输出外接矩形的最小面积;⑧绘制多边形O的最小外接矩形。
可通过步骤11获得的车辆区域的最小外接矩形的宽高比whb来近似车辆的宽高比。
步骤12:对步骤10获得的图像进行区域边界追踪处理,以获取车辆区域的轮廓边缘坐标;具体为:
①从左到右、从上到下的顺序扫描图像,这样首先会找到目标物体最左上方的边界点(像素点)X0,其具有最小行数值和最小列数值的特点。在此我们定义一个变量temp,用来存储边界点的移动方向。当按照八领域方式检测边界时,初始化temp=3;②在最初边界点X0位置时,按照逆时针方向搜素以当前像素X0为中心的3*3领域,执行以下公式并按从以下方式计算的Res的方向开始寻找:(当temp为偶数时:Res=(temp+7)mod8;当temp为奇数时:Res=(temp+6)mod8)。当遇到新的边界时(找到的第一个与当前像素值相同的像素是一个新的边界元素Xn),更新temp。③如果当前的边界元素Xn等于第二个边界元素X1,而且前面一个边界元素Xn-1等于X0,则停止;否则,重复第二步;④最终检测到的内边界由像素X0,X1,……,Xn-2构成。由此得到连通域边缘轮廓像素点,并将连通域边缘轮廓像素点坐标存进自定义数组coor中;
步骤13:对步骤12获得的数组coor中车辆轮廓坐标进行条件判断,估计并画出车辆的前后轮位置。通过计算所有坐标中分别与图像左下角以及右下角最近的两点,两点连线即为后轮位置;由于车辆可能会有不同程度的倾斜,汽车前轮位置估计有两种方式。
估计车辆后轮位置的方法为:遍历步骤5得到的coor数组中的所有坐标值,分别找到其中与图像左下角与右下角的距离最近的两个像素点,它们的连线Line1即为车辆的后轮大致位置。
估计车辆前轮位置的方法可分为两种情况,其一,当whb<阈值Q(即车辆倾斜程度较小)时:可认为图像中车辆前轮连线可由车辆后轮连线直接向垂直方向上移h得到,其中h为目标车辆实际车轮位置情况得到,不同车型的h不同。其二,当whb≥阈值Q(即车辆倾斜程度较大)时:可通过遍历coor数组中坐标值,找到横坐标最小(此处以车辆前轮向左倾斜为例,若车辆右斜,则应找到横坐标最大)的像素点Leftpoint,此点即为车辆的左前轮位置,右前轮位置可通过以Leftpoint为起点,绘制与两后轮位置连线Line1斜率相同且长度相同的线段Line2得到。
步骤14:对步骤13获得的车辆前后轮位置估计图像与步骤5得到的车道线图像进行小波变换图像融合,并检测车道线与车前、后轮连接线是否相交。
其中,将两张目标图像A、B进行融合所用的方法:
步骤14.1:将两张图像转化为double类型,否则使用小波变换输出的会有大量大于1的存在,会导致图像显示有问题。
步骤14.2:对图像进行二层分解,建立图像的小波塔型分解。
步骤14.3:对各分解层分别进行融合处理,各分解层上的不同频率分量可采用不同的融合算子进行融合处理,最终得到融合后的小波金字塔,即在两张图像的小波分解中,绝对值较大的小波高频系数对应着亮度急剧变化的点,也就是图像中对比度变换较大的边缘特征,对两张照片同样的目标,目标明显的被保留下来,目标不明显的就被忽略,两张图像中的目标的小波变换系数将在不同的分辨率水平上占统治地位。
步骤14.4:对融合后所得小波金字塔进行小波重构,所得到的重构图像即为融合图像,而在最终的融合图像中,图像A与图像B中的显著目标,即车道线与车前、后轮连接线都被保留,参见图2。
步骤14.5:对所得融合图像进行观察检测,设计了一种基于Pixels的RGB提取判别法来对车辆是否压线进行判断,即对融合图像各个像素点进行RGB数值筛选,由于车道线与车前、后轮连接线交点处像素的RGB数值与未发生交点处像素RGB数值不同,故此可独立筛选出交点处像素点。最后若筛选出该像素点,则证明目标车辆压线;若没有筛选出该像素点,则证明目标车辆没有压线。
本发明的具体思路是,分别提取出车道线和车辆,首先,在进行车道线提取的过程中,采用感兴趣区域ROI提取,灰度图转换,高斯平滑处理,Canny边缘检测,最后采用霍夫变换,将车道线较好提取出来,其次,在进行车辆提取的过程中,采用感兴趣区域ROI提取,ImageAI车辆识别,通过识别到的目标物的坐标将车辆区域锁定,最后利用GrabCut算法将车辆较好提取出。参见图4(e)、图4(f),在将车辆区域提取完毕后,首先,对其进行二值化处理,并绘出其最小外接矩形(图中用像素为GRB=(255,0,0)的矩形框标出)。其次,进行车辆的前后轮位置估计。其中车辆的两个后轮位置即为二值化图像中分别距离左下角和右下角最近的两个像素点,而车辆前轮位置估计时存在两种情况:当车辆倾斜程度较小时,如图5(a),车辆前轮连线可由车辆后轮连线直接向垂直方向上移h得到;当车辆倾斜程度较大时,如图5(b),可通过遍历二值化图像轮廓coor数组中坐标值,找到横坐标最小(此处以车辆前轮向左倾斜为例,若车辆右斜,则应找到横坐标最大)的像素点Leftpoint,此点即为车辆的左前轮位置,右前轮位置可通过以Leftpoint为起点,绘制与两后轮位置连线Line1斜率相同且长度相同的线段Line2得到。图5(c)、(d)为车辆区域图像和车道线图像融合后的效果图。图5(e)图像中无白色像素点,说明车轮线与车道线无交点,即不压线;图5(f)图像中有白色像素点,说明车轮线与车道线有交点,即压线。
Claims (4)
1.一种辅助驾驶中压线检测方法,其特征在于,包括以下步骤:
步骤1:获取车辆在公路上行驶的交通图像,并获取感兴趣区域,即从交通图像中以方框截取出被测车辆和车道线所在的区域;
步骤2:对步骤1中获得的感兴趣区域进行灰度处理;
步骤3:对步骤2中获得的灰度图进行平滑处理;
步骤4:采用Canny边缘检测的方法,对步骤3获得的图像进行边缘检测,获得图像的边缘;
步骤5:将步骤4得到的图像在进行车道线参数提取后,进行Hough变换得到车道线;
步骤6:对步骤1中获得的感兴趣区域进行车辆目标检测;
步骤7:对步骤6中车辆目标检测后的图像进行定位并取出;
步骤8:对步骤7中得到的图像采用GrabCut算法进行车辆的交互式前景提取;
GrabCut算法具体为:输入一个矩形,矩形外的所有区域必为背景,矩形框内的图像是未知的,计算机使用一个高斯混合模型对前景和背景建模,再使用mincut算法后,区分前景和背景,其中GrabCut函数中的掩模图像采用掩码图像模式;
步骤9:对步骤8获得的车辆区域图像进行中值滤波以及图像二值化处理;
采用中值滤波函数medfilt2对步骤8获得的车辆区域图像进行中值滤波处理,采用imbinarize函数对中值滤波后的图像进行二值化处理;
步骤10:对步骤9获得的图像进行删除小面积连通域处理,使图像仅留下最大的连通域,即目标车辆区域;
利用bwareaopen函数删除图像中小面积连通域,其格式为BW2=bwareaopen(BW,P,conn),此函数用来删除二值图像BW中面积小于P的对象,默认情况下conn使用8邻域,此函数处理后即得到图像中的最大连通域,即目标车辆区域;
步骤11:对步骤10获得的车辆区域图像进行绘制最小外接矩形处理,并获取该矩形的宽高比,该值即为车辆近似的宽高比;
绘制车辆区域最小外接矩形的方法为:对于一个凸多边形O来说,其拥有两对和x及y方向上四个端点相切的切线,四条线确定了一个凸多边形的外接矩形,假设按照顺时针顺序输入一个凸多边形的n个顶点:①计算该凸多边形的外接矩形的四个端点,称之为xminO,xmaxO,yminO,ymaxO;②通过四个点构造凸多边形O的四条切线,该四条切线确定了两个卡壳集合;③如果一条切线 与凸多边形一条边重合,那么计算由这四条切线决定的矩形的面积,并且保存为当前最小值,否则将当前最小值定义为无穷大;④顺时针旋转线直到其中一条切线和凸多边形的一条边重合;⑤计算新矩形的面积,并且和当前最小值比较,如果小于当前最小值则更新,并保存确定最小值的矩形信息;⑥重复步骤④和步骤⑤,直到线旋转过的角度大于90度;⑦输出外接矩形的最小面积;⑧绘制凸多边形O的最小外接矩形;
步骤12:对步骤10获得的图像进行区域边界追踪处理,以获取车辆区域的轮廓边缘坐标;
获取车辆区域的轮廓边缘坐标的方法为:对图像中的每一个前景像素点都进行边缘追踪算法得到连通域边缘轮廓像素点,并将连通域边缘轮廓像素点坐标存进自定义数组coor中;
步骤13:对步骤12获得的车辆轮廓坐标进行条件判断,估计并画出车辆的前后轮位置;
估计车辆后轮位置的方法为:遍历coor数组中的所有坐标值,分别找到其中与图像左下角与右下角的距离最近的两个像素点,这两个像素点的连线Line1即为车辆的后轮位置;估计车辆前轮位置的方法分为两种情况:其一,当步骤11中获取的宽高比whb<阈值Q时,即车辆倾斜程度较小时,认为图像中车辆前轮连线由车辆后轮连线直接向垂直方向上移h得到,其中h为目标车辆前后轮之间的距离;其二,当宽高比whb≥阈值Q时,即车辆倾斜程度较大时,通过遍历coor数组中坐标值,找到横坐标最小或最大的像素点Leftpoint,当车辆前轮向左倾斜,则取横坐标最小的像素点为左前轮位置,当车辆前轮向右倾斜,则取横坐标最大的像素点,此点即为车辆的右前轮位置,左前轮位置通过以Leftpoint为起点,绘制与两后轮位置连线Line1斜率相同且长度相同的线段Line2得到;
步骤14:对步骤13获得的车辆前后轮位置估计图像与步骤5得到的车道线图像进行小波变换图像融合,并检测车道线与车前、后轮连接线是否相交,若相交说明车辆压线;否则说明车辆未压线;
步骤13获得的车辆前后轮位置估计图像A与步骤5得到的车道线图像B进行融合,所用的方法具体如下:
步骤14.1:将两张图像转化为double类型;
步骤14.2:对步骤13获得的车辆前后轮位置估计图像A与步骤5得到的车道线图像B进行二层分解,建立图像的小波塔型分解;
步骤14.3:对各分解层分别进行融合处理,各分解层上的不同频率分量采用不同的融合算子进行融合处理,最终得到融合后的小波金字塔;
步骤14.4:对融合后所得小波金字塔进行小波重构,所得到的重构图像即为融合图像,而在最终的融合图像中,图像A与图像B中的显著目标,即车道线与车前、后轮连接线都被保留;
步骤14.5:对所得融合图像进行观察检测,即对融合图像各个像素点进行RGB数值筛选,若筛选出交点处像素点,则证明目标车辆压线;若没有筛选出交点处像素点,则证明目标车辆没有压线。
2.根据权利要求1所述的一种辅助驾驶中压线检测方法,其特征在于,步骤3中采用高斯滤波进行平滑处理。
3.根据权利要求1所述的一种辅助驾驶中压线检测方法,其特征在于,步骤4中进行Canny边缘检测的具体步骤为:
步骤4.1:计算高斯平滑处理后的图片中在每个点的梯度,变化值越大表明是边缘的概率越高,计算梯度的时候使用了卷积,相关计算如下:
式中,Gx为x方向梯度,Gy为y方向梯度,G为梯度,θ为x和y两个方向梯度的夹角;
步骤4.2:非极大抑制,计算完梯度后,对整幅图像进行扫描,去除非边界上的点,具体是将每个像素点的梯度值与梯度方向上的两个点进行比较,当且仅当这个点的梯度值最大才保留,否则舍弃;
步骤4.3:设置两个阈值low_threshold、high_threshold,在经步骤4.2得到的图像中,由步骤4.1所求的每个点的梯度gradient与阈值的关系如下:
(1)gradient≤low_threshold:丢弃此点,即该点不是边界点;
(2)gradient≥high_threshold:保留此点,即该点是边界点;
(3)low_threshold<gradient<high_threshold:当且仅当此点的相连点的梯度值大于high_threshold时保留。
4.根据权利要求3所述的一种辅助驾驶中压线检测方法,其特征在于,步骤6中所述的车辆目标检测方法为:首先下载用于目标检测的RetinaNet模型文件,再使用ImageAI实现目标检测任务;
步骤7中对图像的定位取出方法为:记录车辆目标检测后的图像中的左上角顶点和右下角顶点坐标,再遍历图像中的所有点,将矩形区域以外的像素点的颜色改成黑色,最后保存修改像素点后的图像。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910559581.5A CN110287884B (zh) | 2019-06-26 | 2019-06-26 | 一种辅助驾驶中压线检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910559581.5A CN110287884B (zh) | 2019-06-26 | 2019-06-26 | 一种辅助驾驶中压线检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110287884A CN110287884A (zh) | 2019-09-27 |
CN110287884B true CN110287884B (zh) | 2021-06-22 |
Family
ID=68005693
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910559581.5A Active CN110287884B (zh) | 2019-06-26 | 2019-06-26 | 一种辅助驾驶中压线检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110287884B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110909626A (zh) * | 2019-11-04 | 2020-03-24 | 上海眼控科技股份有限公司 | 车辆压线检测方法、装置、移动终端及存储介质 |
CN111539402B (zh) * | 2020-07-13 | 2020-10-20 | 平安国际智慧城市科技股份有限公司 | 基于深度学习的车道线检测方法、装置、终端及存储介质 |
CN112381084B (zh) * | 2020-10-12 | 2024-02-09 | 武汉沃亿生物有限公司 | 断层图像的轮廓自动识别方法 |
CN112465823B (zh) * | 2021-01-27 | 2021-06-04 | 聚时科技(上海)有限公司 | 一种基于视觉的集装箱门锁杆变形检测方法 |
CN113191974B (zh) * | 2021-04-29 | 2023-02-03 | 青岛科技大学 | 一种基于机器视觉获取船舶全景影像的方法及*** |
CN113256665B (zh) * | 2021-05-26 | 2023-08-08 | 长沙以人智能科技有限公司 | 一种基于图像处理的机动车与虚实线位置关系检测方法 |
CN115100620B (zh) * | 2022-08-22 | 2024-02-20 | 上海峰华人工智能科技有限公司 | 一种基于道路颜色和行驶方向的车道线拟合方法 |
CN115791791B (zh) * | 2022-11-14 | 2024-06-18 | 中国科学院沈阳自动化研究所 | 一种用于液晶面板装箱搭边的视觉检测方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760812A (zh) * | 2016-01-15 | 2016-07-13 | 北京工业大学 | 一种基于Hough变换的车道线检测方法 |
CN106097332A (zh) * | 2016-06-07 | 2016-11-09 | 浙江工业大学 | 一种基于角点检测的集装箱轮廓定位方法 |
CN106373218A (zh) * | 2016-10-28 | 2017-02-01 | 中山大学 | 一种具有压线报警功能的手机行车记录仪 |
CN108345855A (zh) * | 2018-02-08 | 2018-07-31 | 青岛慧拓智能机器有限公司 | 一种车道压线检测方法及*** |
CN108648233A (zh) * | 2018-03-24 | 2018-10-12 | 北京工业大学 | 一种基于深度学习的目标识别与抓取定位方法 |
CN108846397A (zh) * | 2018-05-31 | 2018-11-20 | 浙江科技学院 | 一种基于图像处理的电缆半导电层自动检测方法 |
CN109145713A (zh) * | 2018-07-02 | 2019-01-04 | 南京师范大学 | 一种结合目标检测的小目标语义分割方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101582164B (zh) * | 2009-06-24 | 2012-07-18 | 北京万得嘉瑞汽车技术有限公司 | 一种辅助倒车***的图像处理方法 |
CN102060234B (zh) * | 2010-10-26 | 2012-12-26 | 常州超媒体与感知技术研究所有限公司 | 轮胎吊车行进轨迹视频纠偏装置及方法 |
US20130141520A1 (en) * | 2011-12-02 | 2013-06-06 | GM Global Technology Operations LLC | Lane tracking system |
CN105922991B (zh) * | 2016-05-27 | 2018-08-17 | 广州大学 | 基于生成虚拟车道线的车道偏离预警方法及*** |
CN109827516B (zh) * | 2019-03-19 | 2020-09-04 | 魔视智能科技(上海)有限公司 | 一种通过车轮来测量距离的方法 |
-
2019
- 2019-06-26 CN CN201910559581.5A patent/CN110287884B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105760812A (zh) * | 2016-01-15 | 2016-07-13 | 北京工业大学 | 一种基于Hough变换的车道线检测方法 |
CN106097332A (zh) * | 2016-06-07 | 2016-11-09 | 浙江工业大学 | 一种基于角点检测的集装箱轮廓定位方法 |
CN106373218A (zh) * | 2016-10-28 | 2017-02-01 | 中山大学 | 一种具有压线报警功能的手机行车记录仪 |
CN108345855A (zh) * | 2018-02-08 | 2018-07-31 | 青岛慧拓智能机器有限公司 | 一种车道压线检测方法及*** |
CN108648233A (zh) * | 2018-03-24 | 2018-10-12 | 北京工业大学 | 一种基于深度学习的目标识别与抓取定位方法 |
CN108846397A (zh) * | 2018-05-31 | 2018-11-20 | 浙江科技学院 | 一种基于图像处理的电缆半导电层自动检测方法 |
CN109145713A (zh) * | 2018-07-02 | 2019-01-04 | 南京师范大学 | 一种结合目标检测的小目标语义分割方法 |
Non-Patent Citations (2)
Title |
---|
"基于视觉的小型冲压件识别定位研究";卢军等;《陕西科技大学学报》;20170831;第35卷(第4期);第71-73页 * |
"车辆压线检测方法";王建华等;《电子科技》;20160215;第26卷(第2期);第147-152页 * |
Also Published As
Publication number | Publication date |
---|---|
CN110287884A (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110287884B (zh) | 一种辅助驾驶中压线检测方法 | |
CN111145161B (zh) | 一种路面裂缝数字图像处理和识别的方法 | |
CN108549874B (zh) | 一种目标检测方法、设备及计算机可读存储介质 | |
CN107679520B (zh) | 一种适用于复杂条件下的车道线视觉检测方法 | |
CN109784344B (zh) | 一种用于地平面标识识别的图像非目标滤除方法 | |
CN110298216B (zh) | 基于车道线梯度图像自适应阈值分割的车辆偏离报警方法 | |
Oskoei et al. | A survey on edge detection methods | |
CN106778551B (zh) | 一种高速路段及城市道路车道线识别方法 | |
CN108280450A (zh) | 一种基于车道线的高速公路路面检测方法 | |
CN112488046B (zh) | 一种基于无人机高分辨率影像的车道线提取方法 | |
CN108171695A (zh) | 一种基于图像处理的高速公路路面检测方法 | |
CN113239733B (zh) | 一种多车道车道线检测方法 | |
CN117094914B (zh) | 基于计算机视觉的智慧城市道路监控*** | |
CN111652033A (zh) | 基于OpenCV的车道线检测方法 | |
Bisht et al. | Integration of hough transform and inter-frame clustering for road lane detection and tracking | |
CN110853000B (zh) | 一种车辙的检测方法 | |
CN114529715B (zh) | 一种基于边缘提取的图像识别方法及*** | |
CN116091933A (zh) | 基于遥感技术的水域地形的地质分析方法及装置 | |
Rui | Lane line detection technology based on machine vision | |
CN105069410A (zh) | 基于非结构化的道路识别方法及装置 | |
CN111428538A (zh) | 一种车道线提取方法、装置和设备 | |
Ab Ghani et al. | Lane detection using deep learning for rainy conditions | |
CN111191534B (zh) | 一种模糊航空图像中的道路提取方法 | |
CN110321828B (zh) | 一种基于双目摄像机和车底阴影的前方车辆检测方法 | |
CN115272995A (zh) | 一种基于生成对抗网络的雨雪天车道线检测方法及*** |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20230202 Address after: 230000 Room 203, building 2, phase I, e-commerce Park, Jinggang Road, Shushan Economic Development Zone, Hefei City, Anhui Province Patentee after: Hefei Jiuzhou Longteng scientific and technological achievement transformation Co.,Ltd. Address before: 710064 middle section, south two ring road, Shaanxi, Xi'an Patentee before: CHANG'AN University |
|
TR01 | Transfer of patent right |