当前位置: 首页 > 专利查询>东南大学专利>正文

一种基于机载摄像机的高速公路车道线检测方法技术

技术编号:13284453 阅读:88 留言:0更新日期:2016-07-09 01:18
本发明专利技术是一种基于机载摄像机的高速公路车道线检测方法。第一步逐帧读入图像,第二步截取感兴趣区域图像,第三步对感兴趣区域图像进行降采样,第四步基于彩色图像进行二值化,获取含有车道线的二值图像,第五步利用车道线宽度信息去除车辆和路边建筑物等干扰物,然后根据图像中每个连通域的面积进行滤波,去除面积较小的杂散点,得到车道线图像,第六步获取直线段参数,第七步根据车道线分布特点剔除非车道线直线,第八步更新感兴趣区域ROI宽度和左上角点坐标。本发明专利技术是一种基于机载摄像机的高速公路车道线检测方法,可以检测视频图像中的所有车道线,为进行高速公路上各车辆的违法行为分析提供了重要保障,而且该方法准确性高,鲁棒性好。

【技术实现步骤摘要】
一种基于机载摄像机的高速公路车道线检测方法
本专利技术涉及图像处理和交通视频检测领域,是一种基于机载摄像机的高速公路车道线检测方法,其主要是用于进一步的高速公路违法事件检测。
技术介绍
交通拥挤,事故频发目前正困扰着我国乃至全世界人民,俨然已经成为社会一大公害,近年来我国车辆数量急剧增加,但是道路交通管理相对滞后,随之而来的交通事故也快速增加,因此急需强有力的交通监测手段,尽管目前很多城市都已经使用了视频监控,但是缺乏有效的自动事件检测方法,尤其是高速公路上的违法事件检测,考虑到高速公路上车辆行驶速度快,而且高速公路延伸范围长,不似城市交通集中,所以为了实现大范围的交通监控,提出使用无人机搭载摄像机进行交通监控,其中,实现车道线的准确检测是完成高速公路上的违法事件检测分析的重要内容。使用无人机搭载摄像机监控与智能驾驶系统中的车载摄像机以及固定摄像机监控有很大的不同:(1)不论是车载摄像机,还是固定摄像机,道路基本上都在图像的正中央,车道以外的背景物相对较少,但是由于无人机的控制问题,拍摄到的图像很难保证道路就在图像正中央,而且可能存在较大的偏角;(2)无人机搭载的摄像机视野更加广阔,不可避免的将很多复杂背景拍摄下来,同时车辆在车道中会显得更加密集,对车道线的检测带来很大的影响;(3)无人机的高度会发生变化,这会使得高速公路在图像中的比例发生较大的变化,以至于检测车道线更加困难。
技术实现思路
技术问题:本专利技术提供一种精度较高的、易实现的基于机载摄像机的高速公路车道线检测方法,技术方案:本专利技术为了实现一种基于机载摄像机的高速公路车道线检测方法,按照以下步骤进行:步骤1:逐帧读取无人机上的摄像机拍摄的大小为M1×M2×3的三通道BGR彩色图像,并将当前读取的三通道BGR彩色图像记为S1,其中,M1,M2分别表示三通道BGR彩色图像S1的高度和宽度;步骤2:在三通道BGR彩色图像S1上截取一个左上角点坐标为(x0,y0)、高度为M3像素、宽度为M4像素的感兴趣区域ROI,得到大小为M3×M4×3的BGR彩色图像S2,感兴趣区域ROI的初始值设定如下:高度M3=M1,宽度M4=M2,左上角点坐标(x0,y0)=(0,0),之后在每一帧的检测完成后按照步骤8对感兴趣区域ROI的高度M3、宽度M4、左上角点坐标(x0,y0)自动进行调整;步骤3:首先创建一个大小为M5×M6×3的BGR彩色图像作为采样图像S3,其中M5=M3/scale,M6=M4/scale,然后对BGR彩色图像S2进行降采样,获得采样图像S3,降采样公式为其中,dst3(x3,y3)为采样图像S3在第x3行、第y3列的像素点的像素值,src2(x,y)为BGR彩色图像S2在第x行、第y列的像素点的像素值,scale是图像降采样系数,初始值为1,之后根据感兴趣区域ROI的宽度与三通道BGR彩色图像S1的宽度的比值进行调整,调整规则为步骤4:对采样图像S3进行二值化处理,得到一个二值图像S4,二值化处理过程为其中,x4=x3,y4=y3;dst4(x4,y4)为二值图像S4中的第x4行、第y4列的像素点的像素值;src_B(x3,y3),src_G(x3,y3),src_R(x3,y3)分别为采样图像S3的第x3行、第y3列的像素点在BGR颜色空间蓝色、绿色、红色分量的值;th1、th2、th3分别为蓝色、绿色、红色分量的阈值,th1、th2、th3都取为180;步骤5:获取车道线二值图像步骤5.1首先利用车道线的宽度信息按照如下步骤剔除二值图像S4的每一行中宽度大于给定阈值的连续白色点,去掉比较大的干扰物,如车辆、建筑物等:步骤5.1.1从二值图像S4的第一行第一个像素点开始进行扫描,然后进入步骤5.1.2;步骤5.1.2如果当前扫描像素点为黑色点,则进入步骤5.1.6,如果当前扫描像素点为白色点,则进入步骤5.1.3;步骤5.1.3若当前扫描像素点为每行的第一个像素点或者当前扫描像素点的前一个像素点为黑色点,则用index_1记录当前扫描像素点所在列坐标,作为这段连续白色点的起始位置,然后进行步骤5.1.4,若当前扫描像素点的前一个像素点为白色点,则进入步骤5.1.4;步骤5.1.4若当前扫描像素点为每一行的最后一个像素点或者当前扫描像素点的下一个像素点为黑色点,则用index_2记录当前扫描像素点所在列坐标,作为这段连续白色点的结束位置,然后进行步骤5.1.5,若当前扫描像素点的后一个像素点为白色点,则进入步骤5.1.6;步骤5.1.5计算这段连续白色点个数n=(index_2-index_1)+1,连续白色点数的阈值thresh=3,如果n>thresh,将二值图像S4中当前扫描行的列坐标在index_1和index_2之间的像素点全部赋值为0,变为黑色点,然后进入步骤5.1.6;如果n≤thresh,则进入步骤5.1.6;步骤5.1.6若二值图像S4中所有的点都扫描结束,则进入步骤5.2,否则,继续扫描下一像素点并返回步骤5.1.2;步骤5.2首先采用传统的两次扫描法检测步骤5.1处理后的二值图像S4的中的白色点形成的连通域,第一遍扫描对每个白色像素点进行标号,像素点的像素值就是它的标号,第二次扫描对等价的标号进行替换处理以及统计每个标号的像素点个数,最后标记为同一个标号的像素点形成一个连通域,标记为这个标号的像素点个数就是这个连通域的像素点个数,可以用来表示这个连通域的面积,然后再一次扫描图像,将图像中像素点的个数少于30的连通域去掉,得到车道线二值图像S5,其详细步骤如下:5.2.1从步骤5.1中处理后的二值图像S4的第一行第一列进行扫描,进入步骤5.2.2;5.2.2如果当前扫描像素点B为白色点,则进入步骤5.2.3,如果当前扫描像素点B为黑色点,则进入步骤5.2.4;5.2.3此时存在以下几种情况,需要分别进行处理:(1)若当前扫描像素点B为第一行第一列的像素点,则将当前扫描像素点B的值赋值为1,即当前扫描像素点B被标号为1,label=1,然后进入步骤5.2.4;(2)若当前扫描像素点B是第一行但不是第一列的像素点,则将当前扫描像素点B赋值为label+1,即将该点标号为label+1,label=label+1,然后进入步骤5.2.4;(3)若当前扫描像素点B为第一列但不是第一行的像素点,则如果当前扫描像素点B的正上方和右上方的像素点的值均为0,就将当前扫描像素点B的值赋值为label+1,即将该点标号为label+1,label=label+1,然后进入步骤5.2.4,如果当前扫描像素点B的正上方或右上方的像素点中只有一个像素点的值(即标号)不为0或者两个像素点的值都不为0但是相等,就将这个不为0的值赋值给当前扫描像素点B作为标号,然后进入步骤5.2.4;如果当前扫描像素点B的正上方或右上方的像素点中两个像素点的像素值(即标号)都不为0且不相等,则取其中较小的值赋值给当前扫描像素点B作为标号,并记录当前两个像素点标号的等价关系,然后进入步骤5.2.4;(4)若当前扫描像素点B不为第一行也不为第一列的像素点,则如果8邻域像素点中的左上角点、正上方点、右上方点、正前方点的值都为0,则将当前扫描像素点B的值赋值为label本文档来自技高网...

【技术保护点】
一种基于机载摄像机的高速公路车道线检测方法,其特征在于按照以下步骤进行:步骤1:逐帧读取无人机上的摄像机拍摄的大小为M1×M2×3的三通道BGR彩色图像,并将当前读取的三通道BGR彩色图像记为S1,其中,M1,M2分别表示三通道BGR彩色图像S1的高度和宽度;步骤2:在三通道BGR彩色图像S1上截取一个左上角点坐标、高度为M3像素、宽度为M4像素的感兴趣区域ROI,得到大小为M3×M4×3的BGR彩色图像S2,感兴趣区域ROI的初始值设定如下:高度M3=M1,宽度M4=M2,左上角点坐标(x0,y0)=(0,0);步骤3:对BGR彩色图像S2进行降采样,获得大小为M5×M6×3的采样图像S3,M5=M3/scale,M6=M4/scale,降采样公式为x=x3·scale,x3=1,2,...,M5y=y3·scale,y3=1,2,...,M6dst3(x3,y3)=src2(x,y)]]>其中,dst3(x3,y3)为采样图像S3在第x3行、第y3列的像素点的像素值,src2(x,y)为BGR彩色图像S2在第x行、第y列的像素点的像素值,scale是图像降采样系数,初始值为1,之后根据感兴趣区域ROI的宽度与三通道BGR彩色图像S1的宽度比值进行调整,调整规则为步骤4:对采样图像S3进行二值化处理,得到一个二值图像S4,二值化处理过程为其中,x4=x3,y4=y3;dst4(x4,y4)为二值图像S4中的第x4行、第y4列的像素点的像素值;src_B(x3,y3),src_G(x3,y3),src_R(x3,y3)分别为采样图像S3的第x3行、第y3列的像素点在BGR颜色空间蓝色、绿色、红色分量的值;th1、th2、th3分别为蓝色、绿色、红色分量的阈值,th1、th2、th3都取为180;步骤5:获取车道线二值图像步骤5.1利用车道线的宽度信息按照如下步骤剔除二值图像S4的每一行中宽度大于给定阈值的连续白色点:步骤5.1.1从二值图像S4的第一行第一个像素点开始进行扫描,然后进入步骤5.1.2;步骤5.1.2如果当前扫描像素点为黑色点,则进入步骤5.1.6,如果当前扫描像素点为白色点,则进入步骤5.1.3;步骤5.1.3若当前扫描像素点为每行的第一个像素点或者当前扫描像素点的前一个像素点为黑色点,则用index_1记录当前扫描像素点所在列坐标,作为这段连续白色点的起始位置,然后进行步骤5.1.4,若当前扫描像素点的前一个像素点为白色点,则进入步骤5.1.4;步骤5.1.4若当前扫描像素点为每一行的最后一个像素点或者当前扫描像素点的下一个像素点为黑色点,则用index_2记录当前扫描像素点所在列坐标,作为这段连续白色点的结束位置,然后进行步骤5.1.5,若当前扫描像素点的后一个像素点为白色点,则进入步骤5.1.6;步骤5.1.5计算这段连续白色点个数n=(index_2‑index_1)+1,连续白色点数的阈值thresh=3,如果n>thresh,将二值图像S4中当前扫描行的列坐标在index_1和index_2之间的像素点全部赋值为0,变为黑色点,然后进入步骤5.1.6;如果n≤thresh,则进入步骤5.1.6;步骤5.1.6若二值图像S4中所有的点都扫描结束,则进入步骤5.2,否则,继续扫描下一像素点并返回步骤5.1.2;步骤5.2检测步骤5.1处理过的二值图像S4的白色点形成的连通域,并且计算每个连通域中像素点的个数,将像素点的个数少于30的连通域去掉,得到车道线二值图像S5,车道线二值图像S5的行坐标表示为x5,列坐标表示为y5;步骤6:获取直线段参数检测车道线二值图像S5中的直线段,获取直线段参数集L1,其步骤如下:步骤6.1从车道线二值图像S5中收集所有白色点的一对行坐标和列坐标,得到一个坐标集C1,并创建一个总行数为181,总列数为2×(M5+M6)的参数空间矩阵D,参数空间矩阵D的所有元素的初值为0,然后进行步骤6.2;步骤6.2如果坐标集C1为空集,则得到一个直线段参数集L1,所述直线段参数集L1中的每条线段由两个端点坐标(xstart,i,ystart,i)、(xend,i,yend,i)共4个参数表示,每条线段的参数作为一组参数,则共有N1组,并结束步骤6,反之,则随机抽取C1中的一对行坐标xp和列坐标yp,并且从坐标集C1中去除当前抽取的这一对行坐标xp和列坐标yp,然后进行步骤6.3;步骤6.3将当前抽取的这一对行坐标xp和列坐标yp按如下公式进行变换:ρ=xp·cos(θ)+yp·sin(θ),θ=0°,1°,2°,…,180°总共得到181组ρ和θ,再对参数空间矩阵D中的第θ+1行、第[ρ]+M5+M6列的元素加1,[ρ]表示对ρ取整数,然后找出参数...

【技术特征摘要】
1.一种基于机载摄像机的高速公路车道线检测方法,其特征在于按照以下步骤进行:步骤1:逐帧读取无人机上的摄像机拍摄的大小为M1×M2×3的三通道BGR彩色图像,并将当前读取的三通道BGR彩色图像记为S1,其中,M1,M2分别表示三通道BGR彩色图像S1的高度和宽度;步骤2:在三通道BGR彩色图像S1上截取一个左上角点坐标、高度为M3像素、宽度为M4像素的感兴趣区域ROI,得到大小为M3×M4×3的BGR彩色图像S2,感兴趣区域ROI的初始值设定如下:高度M3=M1,宽度M4=M2,左上角点坐标(x0,y0)=(0,0);步骤3:对BGR彩色图像S2进行降采样,获得大小为M5×M6×3的采样图像S3,M5=M3/scale,M6=M4/scale,降采样公式为其中,dst3(x3,y3)为采样图像S3在第x3行、第y3列的像素点的像素值,src2(x,y)为BGR彩色图像S2在第x行、第y列的像素点的像素值,scale是图像降采样系数,初始值为1,之后根据感兴趣区域ROI的宽度与三通道BGR彩色图像S1的宽度比值进行调整,调整规则为步骤4:对采样图像S3进行二值化处理,得到一个二值图像S4,二值化处理过程为其中,x4=x3,y4=y3;dst4(x4,y4)为二值图像S4中的第x4行、第y4列的像素点的像素值;src_B(x3,y3),src_G(x3,y3),src_R(x3,y3)分别为采样图像S3的第x3行、第y3列的像素点在BGR颜色空间蓝色、绿色、红色分量的值;th1、th2、th3分别为蓝色、绿色、红色分量的阈值,th1、th2、th3都取为180;步骤5:获取车道线二值图像,其步骤如下:步骤5.1利用车道线的宽度信息按照如下步骤剔除二值图像S4的每一行中宽度大于给定阈值的连续白色点:步骤5.1.1从二值图像S4的第一行第一个像素点开始进行扫描,然后进入步骤5.1.2;步骤5.1.2如果当前扫描像素点为黑色点,则进入步骤5.1.6,如果当前扫描像素点为白色点,则进入步骤5.1.3;步骤5.1.3若当前扫描像素点为每行的第一个像素点或者当前扫描像素点的前一个像素点为黑色点,则用index_1记录当前扫描像素点所在列坐标,作为这段连续白色点的起始位置,然后进行步骤5.1.4,若当前扫描像素点的前一个像素点为白色点,则进入步骤5.1.4;步骤5.1.4若当前扫描像素点为每一行的最后一个像素点或者当前扫描像素点的下一个像素点为黑色点,则用index_2记录当前扫描像素点所在列坐标,作为这段连续白色点的结束位置,然后进行步骤5.1.5,若当前扫描像素点的后一个像素点为白色点,则进入步骤5.1.6;步骤5.1.5计算这段连续白色点个数n=(index_2-index_1)+1,连续白色点数的阈值thresh=3,如果n>thresh,将二值图像S4中当前扫描行的列坐标在index_1和index_2之间的像素点全部赋值为0,变为黑色点,然后进入步骤5.1.6;如果n≤thresh,则进入步骤5.1.6;步骤5.1.6若二值图像S4中所有的点都扫描结束,则进入步骤5.2,否则,继续扫描下一像素点并返回步骤5.1.2;步骤5.2检测步骤5.1处理过的二值图像S4的白色点形成的连通域,并且计算每个连通域中像素点的个数,将像素点的个数少于30的连通域去掉,得到车道线二值图像S5,车道线二值图像S5的行坐标表示为x5,列坐标表示为y5;步骤6:获取直线段参数检测车道线二值图像S5中的直线段,获取直线段参数集L1,其步骤如下:步骤6.1从车道线二值图像S5中收集所有白色点的一对行坐标和列坐标,得到一个坐标集C1,并创建一个总行数为181,总列数为2×(M5+M6)的参数空间矩阵D,参数空间矩阵D的所有元素的初值为0,然后进行步骤6.2;步骤6.2如果坐标集C1为空集,则得到一个直线段参数集L1,所述直线段参数集L1中的每条线段由两个端点坐标(xstart,i,ystart,i)、(xend,i,yend,i)共4个参数表示,每条线段的参数作为一组参数,则共有N1组,并结束步骤6,反之,则随机抽取C1中的一对行坐标xp和列坐标yp,并且从坐标集C1中去除当前抽取的这一对行坐标xp和列坐标yp,然后进行步骤6.3;步骤6.3将当前抽取的这一对行坐标xp和列坐标yp按如下公式进行变换:ρ=xp·cos(θ)+yp·sin(θ),θ=0°,1°,2°,L,180°总共得到181组ρ和θ,再对参数空间矩阵D中的第θ+1行、第[ρ]+M5+M6列的元素加1,[ρ]表示对ρ取整数,然后找出参数空间矩阵D中所有元素的最大值max及最大值max所在的行坐标θm+1和列坐标ρm+M5+M6,再判断这个最大值max是否大于给定阈值50,如果大于,则进行步骤6.4,否则返回步骤6.2;步骤6.4将参数空间矩阵D中所有元素的最大值max所在的行坐标θm+1和列坐标ρm+M5+M6代入以下公式:ρ=xi·cos(θ)+yi·sin(θ),得到车道线二值图像S5中的一条直线方程ρm=x5·cos(θm)+y5·sin(θm),然后在车道线二值图像S5中,以当前抽取的这一对行坐标xp、列坐标yp所对应的像素点为起始点,沿着ρm=x5·cos(θm)+y5·sin(θm)这条直线搜索白色点,当遇到图像边界或者连续黑色点的数量超过50时,结束搜索,得到一条白色直线段的两个端点坐标和在这条白色直线段上的N个白色点的行坐标和列坐标,如果当前直线段上的两个端点的距离等于或大于100像素,则记录当前直线段的两个端点坐标(xstart,i,ystart,i)、(xend,i,yend,i),然后去除坐标集C1中已经确定属于这条直线段的这N个白色点的行坐标和列坐标,并且将已经确定属于这条直线段的这N个白色点的每一对行坐标xi和列坐标yi,i为正整数,i=1,2,L,N,按照公式ρ=x...

【专利技术属性】
技术研发人员:路小波唐涛姜良维曾维理卫朋
申请(专利权)人:东南大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1