利索能及
我要发布
收藏
专利号: 2022115255116
申请人: 复亚智能科技(太仓)有限公司
专利类型:发明专利
专利状态:已下证
更新日期:2026-09-09
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

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范围内的正确行驶方向;

所述步骤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中匹配的元素;

S84:若ID_1中每个元素和ID_2中每个元素均未找到匹配的元素,则重新将当前帧的所有ID设为参考ID,并将每个ID区域内所有车辆行驶方向偏转角的均值记为对应ID区域的正确行驶方向,若ID_1中或ID_2中存在没有找到匹配对象的元素,并且其面积比大于给定的阈值iso_size_ratio,则重新将当前帧的ID设为参考ID,并将每个ID区域内所有车辆行驶方向偏转角的均值记为对应ID区域的正确行驶方向,面积比=该元素的面积 / 该元素所属帧中所有元素的面积和;

S85:根据得到的size_2以及给定的阈值combined_size_ratio,判断当前帧的ID_2中是否有合并后元素过大的情况,若合并后的元素面积比上当前帧的所有元素面积和大于给定的阈值combined_size_ratio,则重新将当前帧的所有ID设为参考ID,并将每个ID区域内所有车辆行驶方向偏转角的均值记为对应ID区域的正确行驶方向;

S86:根据ID_2中每个元素和ID_1中元素的匹配关系获得新的new_ID_2 ,并判断new_ID_2 中每个元素的凸包面积比上每个元素的面积convex_fat_ratio是否大于给定的阈值,若存在某个元素的convex_fat_ratio大于给定的阈值,则重新将当前帧的所有ID设为参考ID,并将每个ID区域内所有车辆行驶方向偏转角的均值记为对应ID区域的正确行驶方向;

S87:若以上情况均没有导致重新将当前帧的所有ID设为参考ID,则更新当前帧的ID_2为new_ID_2;S88:对new_ID_2中每个ID区域内所有车辆行驶方向偏转角与上一帧该ID区域的正确行驶方向估计值作差再取绝对值,绝对值大于给定阈值的车辆认定为逆行车辆;

S89:将当前ID区域内逆行车辆滤除后,对该ID区域内剩余车辆行驶方向偏转角求均值,该均值与上一帧该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的面积 ,并与前一级对应的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的比值两者中有其一个大于给定的阈值,则视为存在不属于同一行驶方向的区域进行了合并,即终止膨胀,否则,继续膨胀过程。

9.根据权利要求1所述的不同行驶方向的道路范围1+1分割方法,其特征在于:所述步骤S7,包括:取当前帧下每个ID区域内所有车辆行驶方向偏转角的均值记为对应ID区域的正确行驶方向。

10.根据权利要求1所述的不同行驶方向的道路范围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中匹配的元素;

S84:若ID_1中每个元素和ID_2中每个元素均未找到匹配的元素,则重新将当前帧的所有ID设为参考ID,并将每个ID区域内所有车辆行驶方向偏转角的均值记为对应ID区域的正确行驶方向,若ID_1中或ID_2中存在没有找到匹配对象的元素,并且其面积比大于给定的阈值iso_size_ratio,则重新将当前帧的ID设为参考ID,并将每个ID区域内所有车辆行驶方向偏转角的均值记为对应ID区域的正确行驶方向,面积比=该元素的面积 / 该元素所属帧中所有元素的面积和;

S85:根据得到的size_2以及给定的阈值combined_size_ratio,判断当前帧的ID_2中是否有合并后元素过大的情况,若合并后的元素面积比上当前帧的所有元素面积和大于给定的阈值combined_size_ratio,则重新将当前帧的所有ID设为参考ID,并将每个ID区域内所有车辆行驶方向偏转角的均值记为对应ID区域的正确行驶方向;

S86:根据ID_2中每个元素和ID_1中元素的匹配关系获得新的new_ID_2 ,并判断new_ID_2 中每个元素的凸包面积比上每个元素的面积convex_fat_ratio是否大于给定的阈值,若存在某个元素的convex_fat_ratio大于给定的阈值,则重新将当前帧的所有ID设为参考ID,并将每个ID区域内所有车辆行驶方向偏转角的均值记为对应ID区域的正确行驶方向;

S87:若以上情况均没有导致重新将当前帧的所有ID设为参考ID,则更新当前帧的ID_2为new_ID_2;S88:对new_ID_2中每个ID区域内所有车辆行驶方向偏转角与上一帧该ID区域的正确行驶方向估计值作差再取绝对值,绝对值大于给定阈值的车辆认定为逆行车辆;

S89:将当前ID区域内逆行车辆滤除后,对该ID区域内剩余车辆行驶方向偏转角求均值,该均值与上一帧该ID区域的正确行驶方向估计值进行加权平均,以加权平均后的值作为当前ID区域的正确行驶方向。