前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【车道线检测】一种基于神经网络+结构约束的车道线检测方法

【车道线检测】一种基于神经网络+结构约束的车道线检测方法

作者头像
3D视觉工坊
发布2020-12-11 11:44:02
8840
发布2020-12-11 11:44:02
举报
文章被收录于专栏:3D视觉从入门到精通

标题: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,是一个非常闪光的结果!

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 3D视觉工坊 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档