打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
「车道线检测」一种基于神经网络 结构约束的车道线检测方法

作者:小魔方

「3D视觉工坊」技术交流群已经成立,目前大约有12000人,方向主要涉及3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等。工坊致力于干货输出,不做搬运工,为计算机视觉领域贡献自己的力量!欢迎大家一起交流成长~

添加小助手微信:CV_LAB,备注学校/公司+姓名+研究方向即可加入工坊一起学习进步。

标题:Ultra Fast Structure-aware Deep Lane Detection(ECCV 2020)

代码地址:在公众号「3D视觉工坊」,后台回复「车道线检测」,即可直接下载

亮点

1.提出了一个基于卷积神经网络进行车道线检测的新方法,区别于逐像素分割方法,该方法预测输入图像中每行的车道线位置。

2.该方法计算量小,能很好地满足自动驾驶场景对算法的速度要求;使用全局感受野,也能很好地处理复杂场景。

3.在训练网络时根据车道线的物理结构,加入了结构损失(structual loss),很好地利用了车道线的先验信息。

内容

在输入图像中每隔若干像素画水平线,将输入图像划分成若干个“细长条”,每个“细长条”称为1个row anchor。再将每个row anchor在垂直方向切割,形成若干个“块”,每个“块”称为1个cell。如下图所示:

此外,还需要在每个row anchor最后面“人为地”增加1个cell,这个cell表示该row anchor中没有车道线。希望能设计一个网络,达到如下功能:网络能够输出每个row anchor中含有车道线的cell的位置,当某个row anchor中没有车道线时,网络输出该row anchor中“人为增加”的cell的位置。


为了利用车道线物理结构的特性作为网络输出结果的约束,在上述方法的基础上,作者又构造了2个损失函数。

因为车道线是光滑的,所以相邻row anchor中车道线所在的cell的位置不会有突变。这意味着,相邻两个row anchor的cell类别概率分布应该是相似的,因此定义相似性损失函数如下:

使用相似性损失函数约束网络的输出结果,使得相邻两个row anchor的cell类别概率分布不会有突变。

此外,车道线一般是直线;由于视角的原因,弯曲的车道线在图像上大部分也近似直线。最小化相邻row anchor预测出车道线位置的二阶差分,能够约束网络预测结果,使得车道线不要“太弯”。

在车道线存在的情况下,使用如下公式能得到车道线所在的cell的位置


作者在实现过程中,使用了一些比较工程化的方法,下面加以阐述。首先,作者又增加了1个辅助的分割分支,有助于提取特征。整体算法流程如下图所示:

分割分支只在训练时使用,推理时不使用。分割分支使用交叉熵损失函数。最终的损失函数是分类损失函数、结构化损失函数和分割损失函数的加权和,表示如下:

其次,作者在实现过程中使用了数据增强的方法以减轻过拟合现象。使用了旋转、垂直和水平移位的方法,为了保持车道线的结构,在数据增强得到的图片上对车道线进行了延长,如下图所示

作者使用了ResNet-18和ResNet-34作为网络的backbone,在TuSimple和CULane这2个数据集上验证了上述方法。在这2个数据集上实现时一些参数设置如下:

在2个数据集上的性能如下所示:

其中使用ResNet-18作为backbone的版本在CULane数据集上能跑到322.5FPS,是一个非常闪光的结果!

本文仅做学术分享,如有侵权,请联系删文。

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
BEV和单目图像车道线检测方法总结
速度最快250fps!实时、高性能车道线检测算法LaneATT
java POI实现向Excel中插入图片
用条件格式实现聚光灯效果
未来函数检测工具,在线检测未来函数
Anchor绣线色卡
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服