车道线检测论文阅读:Towards End-to-End Lane Detection: an Instance Segmentation Approach

Towards End-to-End Lane Detection: an Instance Segmentation Approach

论文链接:https://arxiv.org/abs/1802.05591
代码链接:https://github.com/MaybeShewill-CV/lanenet-lane-detection (tf实现,并不完整,部分功能未实现)
因为最近的项目了解到的论文,查了一下是2018 IEEE IV上的论文,本身比较偏向应用层面,理论上的创新不是太多。严格上讲,我更愿意把它看作分割问题……
主要贡献是两点,一个是利用Semantic Instance Segmentation with a Discriminative Loss Function的思路来实现对任意数量车道线的检测;另一个是车道线检测往往要通过变换矩阵来进行角度变换来使车道线平行从而拟合出可靠的车道线数学模型,但是固定的变换矩阵参数难以适应不同图片或者图片中的地平线变化,作者通过CNN学习矩阵参数解决了这个问题。面临类似问题的同学不妨一读。

1. Introduction

车道线检测实际上属于自动驾驶算法范畴的一部分,可以用来辅助进行车辆定位和进行决策等等。由于车道线本身狭长和弯曲的特性,实际上这个问题更合适看作分割问题而不是检测问题。
如果只是检测固定数量的车道线,可以将不同车道线看作不同的类别,比如左车道线类、右车道线类和背景类等等……但是,如果车道线数量是不固定的呢?无论是常见的对pixel进行softmax分类或者decouple的多个二分类,似乎都没办法解决这个问题了。这个问题其实更像是semantic instance segmentation,不仅要分类,还要精确描述每个个体。
在这里,作者应用了Semantic Instance Segmentation with a Discriminative Loss Function中的思路;同时利用CNN网络来预测车道线的mask,并对所有属于车道线的像素点进行聚类,得到不同的车道线,示意图如下……
这里写图片描述
最后,再来拟合每条车道线的数学模型。

2. Method

LaneNet

首先是主体网络部分,两条分支,一条分支预测mask,另一条分支给每个lane pixel分配所属lane的id。
binary segmentation 和常规的分割问题一样,没有太多特别的。值得一提的是,无论是车道线还是虚线或者车道线被遮挡的情况,作者在生成ground truth的时候都把它们标注了出来,这样就算对车道线没有完全露出来的情况,网络也可以比较好的学习。
重点是instance segmentation 分支,这个就是利用了上面提到的那篇文章的设计思路,分支的设计思想和传统统计学习的很多算法都类似,不同的lane看作不同的类,而预测的结果力求类内最小化和类间最大化。本着这个原则设计了loss函数。
这里写图片描述
第一项的主要作用就是把属于同一条lane的像素点往一起推,如果像素点和中心点距离超过一定阈值,就会产生loss;第二项的作用是把不同类中心点往距离加大的方向拉,如果中心点之间的距离小于一定阈值,就会产生loss(+号的意思代表若大于等于0不变,否则看作0),关于这两个阈值怎么选具体可以看论文,作者的设置和原文有一定的差别。
有了这个loss函数,就可以根据lane的mask和不同lane的像素点集合进行训练了。inference的时候思路如下:随机选取一个lane pixel视作当前lane的点集,然后将周围和它距离小于类内点阈值的所有点视作同一类,然后再遍历其它点,如果有某个点和点集内任意点距离小于类内阈值,则将该点加入点集,重复该过程直到点集不再发生变化,给这些点集分配一个lane的id;然后再选取没有被分配id的任意一个pixel,重复该过程。
关于network architecture,作者用的是 encoder-decoder ENet,这个网络共有三个阶段,这两个分支共享前两个阶段,而第三个阶段的encoder和整个网络的decoder部分则是独立

curve fitting

车道线检测一般是给y轴坐标,求车道线上对应的点的x轴的值。仅仅求出所有lane pixel是不够的,还要进行直线拟合,求出对应的数学模型。一般来说,现在在拟合曲线时候都会把图像转化到bird’s-eye view角度,就是让车道线都平行,这些便于拟合、可靠性更高,然后求出相应的点后,再映射回来。
转化到bird’s-eye view是利用矩阵来求的,问题来了,这个矩阵一般是计算一次后就对所有图像都使用的,一个问题就是,如果地平线发生变化,比如汽车行驶在山峦的公路上,很容易产生误差,因此作者就利用一个CNN网络,作者称之为H-Net来学习相关参数。
变换矩阵有6个自由度:
这里写图片描述
这部分的数学表述参考这里:
这里写图片描述
将所有点集构成矩阵,可以写作P’=HP‘,作者拟合的是三次曲线,实验表明三次的效果较好:
这里写图片描述
拟合曲线的参数求法如下:
这里写图片描述
最后,通过标注的点的y坐标求出其x坐标,然后根据求出坐标和实际值之间的差来计算这部分网络的loss,从而对H-Net进行参数更新,以更好地学习变换矩阵:
这里写图片描述

3. 实验结果

由于该论文是图森某个比赛的方案,因此关于指标和指标结果就不做介绍了,简单地展示一下结果吧:
这里写图片描述
单纯从理论角度来说,笔者认为那篇提出聚类loss的论文其实更有意思,不过在解决实际问题上,这篇文章还是有可取之处,有兴趣的不妨了解学习一下。

### 回答1: Faster R-CNN是一种基于区域建议网络(Region Proposal Networks,RPN)的物体检测算法,旨在实现实时物体检测。它通过预测每个区域是否含有物体来生成候选框,并使用卷积神经网络(CNN)来确定候选框中的物体类别。Faster R-CNN在提高检测精度的同时,也显著提高了检测速度。 ### 回答2: 在计算机视觉领域中,目标检测一直是热门研究的方向之一。近年来,基于深度学习的目标检测方法已经取得了显著的进展,并且在许多实际应用中得到了广泛的应用。其中,Faster R-CNN 是一种基于区域建议网络(Region Proposal Networks,RPN)的目标检测方法,在检测准确率和速度之间取得了很好的平衡,能够实现实时目标检测。 Faster R-CNN 的基本框架由两个模块组成:区域建议网络(RPN)和检测模块。RPN 主要负责生成候选目标框,而检测模块则利用这些候选框完成目标检测任务。具体来说,RPN 首先在原始图像上以多个尺度的滑动窗口为基础,使用卷积网络获取特征图。然后,在特征图上应用一个小型网络来预测每个位置是否存在目标,以及每个位置的目标边界框的坐标偏移量。最终,RPN 根据预测得分和位置偏移量来选择一部分具有潜在对象的区域,然后将这些区域作为候选框送入检测模块。 检测模块的主要任务是使用候选框来检测图像中的目标类别和位置。具体来说,该模块首先通过将每个候选框映射回原始图像并使用 RoI Pooling 算法来获取固定大小的特征向量。然后,使用全连接神经网络对这些特征向量进行分类和回归,以获得每个框的目标类别和精确位置。 相比于传统的目标检测方法,Faster R-CNN 具有以下优点:首先,通过使用 RPN 可以自动生成候选框,避免了手动设计和选择的过程;其次,通过共享卷积网络可以大大减少计算量,提高效率;最后,Faster R-CNN 在准确率和速度之间取得了很好的平衡,可以实现实时目标检测。 总之,Faster R-CNN 是一种高效、准确的目标检测方法,是深度学习在计算机视觉领域中的重要应用之一。在未来,随着计算机视觉技术的进一步发展,Faster R-CNN 这类基于深度学习的目标检测方法将会得到更广泛的应用。 ### 回答3: Faster R-CNN是一种结合了深度学习和传统目标检测算法的新型目标检测方法,旨在提高目标检测速度和准确率。Faster R-CNN采用了Region Proposal Network(RPN)来生成候选区域,并通过R-CNN网络对候选区域进行分类和定位。 RPN是一种全卷积神经网络,用于在图像中生成潜在的候选区域。RPN通常在卷积特征图上滑动,对每个位置预测k个候选区域和其对应的置信度得分。这样,对于输入图像,在不同大小和宽高比的Anchor上预测候选框,可以在计算上更有效率。 R-CNN网络利用卷积特征图作为输入,对RPN生成的候选区域进行分类和精确定位。与以前的目标检测方法相比,Faster R-CNN使用了共享卷积特征,使得整个检测网络可以端到端地进行训练和优化,缩短了训练时间,同时也更便于理解和改进。 Faster R-CNN不仅具有较高的准确性,还具有较快的检测速度。在各种基准测试中,Faster R-CNN与其他目标检测算法相比,都取得了优异的性能表现。总之,Faster R-CNN将目标检测引入了一个新的阶段,为实时目标检测提供了一个良好的基础。
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值