一、前言
此示例演示如何在视频序列中检测和跟踪道路车道标记,并在驾驶员穿过车道时通知驾驶员。该示例说明了如何使用霍夫变换、霍夫线和卡尔曼滤波器模块来创建线检测和跟踪算法。该示例使用以下步骤实现此算法:1) 检测当前视频帧中的车道标记。2) 将当前车道标记与前一视频帧中检测到的车道标记相匹配。3) 找到左右车道标记。4) 如果车辆越过任一车道标记,则发出警告消息。
为了处理低质量的视频序列,其中车道标记可能难以看到或隐藏在对象后面,该示例等待车道标记在多个帧中出现,然后才认为该标记有效。该示例使用相同的过程来决定何时开始忽略车道标记。
注:示例参数在模型工作空间中定义。若要访问参数,请单击“查看”>“模型资源管理器”。然后导航到模型名称下的“模型工作区”。
二、模型
下图显示了车道偏离警告系统示例模型:
三、车道检测子系统
该子系统使用二维FIR滤波器和自动阈值模块来检测当前视频帧中车道标记的左边界。车道标记的边界类似于直线,对应于霍夫变换矩阵中的峰值。此子系统使用查找局部最大值块来确定车道标记的 Polar 坐标位置。
四、车道跟踪子系统
该示例将先前检测到的通道保存在存储库中,并计算检测到每个通道的次数。此子系统将当前视频帧中找到的通道与存储库中的通道进行匹配。如果当前通道与存储库中的另一个通道足够相似,则该示例将使用通道的当前位置更新存储库。卡尔曼滤波模块可预测存储库中每条车道的位置,从而提高车道跟踪的准确性。
五、离港警告子系统
此子系统使用霍夫线块将线的极坐标转换为笛卡尔坐标。子系统使用这些笛卡尔坐标来计算车道标记与视频底部边界中心之间的距离。如果此距离小于阈值,则示例将发出警告。此子系统还确定线条是黄色还是白色,以及它是实线还是虚线。
六、车道偏离警告系统结果
〖安全裕度信号〗窗口显示安全裕度指标图。安全裕度指标由汽车与最近的车道标记之间的距离决定。当以黄色显示的安全裕度指标降至 0(以蓝色显示)以下时,汽车处于车道偏离模式,否则汽车处于正常驾驶模式。
结果窗口显示左右车道标记以及警告消息。警告消息指示车辆正在穿过右侧车道标记。车道标记的类型和颜色也显示在此窗口中。除了文本消息之外,该示例的 Windows 版本还会发出音频警告。
七、程序
使用Matlab R2022b版本,点击打开。(版本过低,运行该程序可能会报错)
程序有偿获取:评论区下留言,博主看到会私信你。