一种不同行驶方向的道路范围1+1分割方法技术

技术编号:36894775 阅读:69 留言:0更新日期:2023-03-15 22:21
一种不同行驶方向的道路范围1+1分割方法,利用深度学习模型得到图像中道路的粗糙分割掩码mask_dl;利用传统算法获取图像的纹理特征;得到优化后的掩码mask;对优化后的mask进行逐级的膨胀;提取每个mask_dk中的所有离散区域,得到comp_map_mask_dk;为该帧图像中道路分割的comp_map_road_mask;计算视频流中第一帧图像不同ID区域的正确行驶方向;进行前后帧车道范围内ID的匹配。本发明专利技术通过不断合并优化后的分割掩码内部的区域得到包含不同行驶方向的分割掩码,根据预先定义的正确行驶方向以及不同帧之间分割掩码的重叠关系对视频帧中的道路分割掩码进行匹配,并完成逆行判断。断。断。

【技术实现步骤摘要】
一种不同行驶方向的道路范围1+1分割方法


[0001]本专利技术属于智能交通系统
,具体地,涉及一种不同行驶方向的道路范围1+1分割方法。

技术介绍

[0002]传统的道路交通管制方法存在着人力成本高、作业效率低、容易受气候条件影响等一系列问题。而随着计算机视觉算法的不断成熟,基于机器学习和深度学习的交通执法管理系统具有全自动化、全天候、高速度响应的优势。道路范围的分割作为交通执法管理系统中的基础,其作用是对道路范围和非道路范围之间进行区分,以协助后续的决策。
[0003]目前现有的道路范围分割技术主要包括基于传统算法的和基于深度学习算法的两种。基于传统算法的道路分割容易受外界光照强度、背景复杂度等因素的影响。而基于深度学习算法的道路分割在训练阶段需要满足数据量大、数据覆盖场景丰富等要求。并且基于深度学习算法的道路分割很难将不同行驶方向的道路进行区分,因此诸如在判断是否有逆行、获取某段道路范围内的行驶方向等任务中仅依赖基于深度学习算法的道路分割很难满足需求。

技术实现思路

[0004]专利技术目的:本专利技术的目的是提供一种不同行驶方向的道路范围1+1分割方法,解决现有技术中基于传统算法的和基于深度学习算法均难达到道路准确分割的问题。
[0005]技术方案:本专利技术提供了一种不同行驶方向的道路范围1+1分割方法,包括如下步骤:步骤S1:针对视频流中的某一帧图像,利用深度学习模型得到该图像中道路的粗糙分割掩码mask_dl;步骤S2:利用传统算法获取该图像的纹理特征,纹理特征中平滑的零碎区域组成道路的初始掩码mask_texture;步骤S3:利用mask_dl去除mask_texture中道路范围之外的掩码,得到优化后的掩码mask;步骤S4:对优化后的mask进行逐级的膨胀,使得mask中离散的区域进行合并,得到不同膨胀核对应的mask_dk;步骤S5:提取每个mask_dk中的所有离散区域,并为这些区域赋予不同的ID,得到comp_map_mask_dk;步骤S6:终止膨胀时前一级膨胀核对应的comp_map_mask_dk为该帧图像中道路分割的comp_map_road_mask;步骤S7:计算视频流中第一帧图像不同ID区域的正确行驶方向;步骤S8:进行前后帧车道范围内ID的匹配,以及判断是否有逆行的车辆,并更新后一帧ID范围内的正确行驶方向。
[0006]进一步的,上述的不同行驶方向的道路范围1+1分割方法,所述步骤S1,包括:通过训练少量数据的深度学习分割模型得到道路的大致范围。
[0007]进一步的,上述的不同行驶方向的道路范围1+1分割方法,所述步骤S2,包括:利用灰度共生矩阵得到道路的纹理特征。进一步的,上述的不同行驶方向的道路范围1+1分割方法,上述利用灰度共生矩阵获取纹理特征对应掩码的步骤具体包括:S21:对原始帧图像进行灰度化,并设置不同的像素区间对灰度图进行二值化,灰度图中像素属于该区间,则该区间的值为1,否则为0,得到不同的mask_b,接着对所有的mask_b进行滤波,使得每个mask_b中周围1越多的位置值越大,值越大的位置代表该位置所属区域的纹理越平滑;S22:将滤波后的每个mask_b中的值归一化到像素值范围0

255,并对所有的mask_b进行直方图统计,直方图中每个值的索引代表了一个平滑区域的大小,而每个值代表了该大小区域的个数,因此最大值对应的平滑区域是个数最多的平滑区域,将mask_b中等于最大值索引的位置置1,其余位置置0得到最终二值化的mask_texture。
[0008]进一步的,上述的不同行驶方向的道路范围1+1分割方法,所述步骤S3,包括:将初始掩码mask_texture中mask_dl为0的部分置0。
[0009]进一步的,上述的不同行驶方向的道路范围1+1分割方法,所述步骤S4,包括:利用K=10,20,以此类推等不同的膨胀核对初始掩码mask_texture进行膨胀。
[0010]进一步的,上述的不同行驶方向的道路范围1+1分割方法,所述步骤S5,包括:得到comp_map_mask_dk的步骤具体包括:S51:利用opencv中的findContours函数和convexHull函数获取mask_dk二值化后掩码中所有离散区域的外轮廓,以及外轮廓对应的凸包;S52:利用opencv中的fillPoly函数分别为每个外轮廓对应的凸包进行区域填充,并为所有的填充区域赋予不同的ID得到comp_map_mask_dk。
[0011]进一步的,上述的不同行驶方向的道路范围1+1分割方法,所述步骤S6,包括:判断终止膨胀的步骤具体包括:S61:记每一个comp_map_mask_dk中各元素的区域为component_i;S62:每一级膨胀,计算对应的comp_map_mask_dk中最大的n_empty_ratio,n_empty_ratio为component_i_2的面积
ꢀ‑ꢀ
component_i_2中包含的component_i_1的面积/ component_i_2的面积 ,并与前一级对应的comp_map_mask_dk中最大的n_empty_ratio比较;S63:每一级膨胀,计算对应的comp_map_mask_dk中最大的component_i_2_ratio,component_i_2_ratio为component_i_2的面积 / comp_map_mask_dk中所有component_i_2的面积和;S64:若n_empty_ratio的比值和component_i_2_ratio的比值两者中有其一个大于给定的阈值,则视为存在不属于同一行驶方向的区域进行了合并,即终止膨胀,否则,继续膨胀过程。
[0012]进一步的,上述的不同行驶方向的道路范围1+1分割方法,所述步骤S7,包括:取当前帧下每个ID区域内所有车辆行驶方向偏转角的均值记为对应ID区域的正确行驶方向。
[0013]进一步的,上述的不同行驶方向的道路范围1+1分割方法,上述步骤S8中前后帧车道范围内ID的匹配,以及计算后一帧ID范围内正确的行驶方向具体的包括:S81:依次取视频流中的前后两帧,分别求当前帧的ID_2中每个元素与前一帧的ID_1中每个元素的occupancy1_ratio和occupancy2_ratio,occupancy1_ratio为ID_2中元素与ID_1中元素的面积的交集 / ID_1中元素的面积,occupancy2_ratio为ID_2中元素与ID_1中元素的交集/ ID_2中元素的面积;S82:依次取视频流中的前后两帧,计算前一帧的ID_1中每个元素的面积组成的size_1和当前帧的ID_2中每个元素的面积组成的size_2;S83:根据得到的occupancy1_ratio和occupancy2_ratio以及给定的阈值occupancy_ratio分别为ID_1中每个元素寻找ID_2中匹配的元素,以及为ID_2中每个元素寻找ID_1中匹配的元素;S本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种不同行驶方向的道路范围1+1分割方法,其特征在于:包括如下步骤:步骤S1:针对视频流中的某一帧图像,利用深度学习模型得到该图像中道路的粗糙分割掩码mask_dl;步骤S2:利用传统算法获取该图像的纹理特征,纹理特征中平滑的零碎区域组成道路的初始掩码mask_texture;步骤S3:利用mask_dl去除mask_texture中道路范围之外的掩码,得到优化后的掩码mask;步骤S4:对优化后的mask进行逐级的膨胀,使得mask中离散的区域进行合并,得到不同膨胀核对应的mask_dk;步骤S5:提取每个mask_dk中的所有离散区域,并为这些区域赋予不同的ID,得到comp_map_mask_dk;步骤S6:终止膨胀时前一级膨胀核对应的comp_map_mask_dk为该帧图像中道路分割的comp_map_road_mask;步骤S7:计算视频流中第一帧图像不同ID区域的正确行驶方向;步骤S8:进行前后帧车道范围内ID的匹配,以及判断是否有逆行的车辆,并更新后一帧ID范围内的正确行驶方向。2.根据权利要求1所述的不同行驶方向的道路范围1+1分割方法,其特征在于:所述步骤S1,包括:通过训练少量数据的深度学习分割模型得到道路的大致范围。3.根据权利要求1所述的不同行驶方向的道路范围1+1分割方法,其特征在于:所述步骤S2,包括:利用灰度共生矩阵得到道路的纹理特征。4.根据权利要求3所述的不同行驶方向的道路范围1+1分割方法,其特征在于:上述利用灰度共生矩阵获取纹理特征对应掩码的步骤具体包括:S21:对原始帧图像进行灰度化,并设置不同的像素区间对灰度图进行二值化,灰度图中像素属于该区间,则该区间的值为1,否则为0,得到不同的mask_b,接着对所有的mask_b进行滤波,使得每个mask_b中周围1越多的位置值越大,值越大的位置代表该位置所属区域的纹理越平滑;S22:将滤波后的每个mask_b中的值归一化到像素值范围0

255,并对所有的mask_b进行直方图统计,直方图中每个值的索引代表了一个平滑区域的大小,而每个值代表了该大小区域的个数,因此最大值对应的平滑区域是个数最多的平滑区域,将mask_b中等于最大值索引的位置置1,其余位置置0得到最终二值化的mask_texture。5.根据权利要求1所述的不同行驶方向的道路范围1+1分割方法,其特征在于:所述步骤S3,包括:将初始掩码mask_texture中mask_dl为0的部分置0。6.根据权利要求1所述的不同行驶方向的道路范围1+1分割方法,其特征在于:所述步骤S4,包括:利用K=10,20,以此类推等不同的膨胀核对初始掩码mask_texture进行膨胀。7.根据权利要求4所述的不同行驶方向的道路范围1+1分割方法,其特征在于:所述步骤S5,包括:得到comp_map_mask_dk的步骤具体包括:S51:利用opencv中的findContours函数和convexHull函数获取mask_dk二值化后掩码中所有离散区域的外轮廓,以及外轮廓对应的凸包;S52:利用opencv中的fillPoly函数分别为每个外轮廓对应的凸包进行区域填充,并为
所有的填充区域赋予不同的ID得到comp_map_mask_dk。8.根据权利要求1所述的不同行驶方向的道路范围1+1分割方法,其特征在于:所述步骤S6,包括:判断终止膨胀的步骤具体包括:S61:记每一个comp_map_mask_dk中各元素的区域为component_i;S62:每一级膨胀,计算对应的comp_map_mask_dk中最大的n_empty_ratio,n_empty_ratio为component_i_2的面积
ꢀ‑ꢀ
component_i_2中包含的component_i_1的面积/ component_i_2的面积 ,并与前一级...

【专利技术属性】
技术研发人员:曾雄梅张松林严雪飞
申请(专利权)人:复亚智能科技太仓有限公司
类型:发明
国别省市:

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

1