车道线检测(一)——PINet论文阅读

目录

摘要

简介

方法

网络结构

Resizing Network

Predicting Network

Loss Function

实现细节

实验

结论


《Key Points Estimation and Point Instance Segmentation Approach for Lane Detection》

论文:https://arxiv.org/abs/2002.06604

代码:https://github.com/koyeongmin/PINet_new

摘要

        2020年的一篇论文,基于关键点检测和实例分割技术提出一个Point Instance Network(PINet)来检测车道线。网络中包含几个同时训练的stacked hourglass networks,可裁切后不用再训练直接使用来减小模型运算量。网络可适应不同数量的车道线,在TuSimple数据集和Culane数据集上获得不错的精度和较低的false postitve。网络的框架示意图如下。

简介

        车道线检测是自动驾驶系统中一项基础且重要的能力,作者提出一种网络,可从RGB输入图中检测得到车道线的关键点,然后使用网络输出的嵌入特征将关键点进行分类。同时该网络具有可裁切的特性,即裁切后无需训练即可使用,可应对运算平台算力吃紧的情况。

        很多方法基于CNN和语义分割,但数据标注复杂、网络输出大小等于输入使得输出包含很多无用信息且计算量大;同时后处理时点数多导致计算量也很大,整体巨大的计算量限制了工程落地。

        hourglass net经常用于关键点检测领域,譬如位姿估计和物体检测,该网络使用一系列的下采样和上采样操作实现不同尺度层级的信息。stacked hourglass network中包含了数个使用相同损失函数训练的hourglass module,使得可以方便的裁切来控制网络的参数量。

        有关hourglass net的引入可参考Hourglass Network 沙漏网络 (pose estimation姿态估计)_hxxjxw的博客-CSDN博客_沙漏网络,我认为是多尺度+resnet的一种形式,单个模块中引入了多尺度/层级的特征;多个模块并联则通过加深网络来提高表现

        作者认为误检测对下游的影响更大,而当时很多sota方法的误检率都相对较高,因此作者将false positive也作为一项对比测试指标。

        下图是网络结构,作者认为有四点主要创新:1)网络输出的是关键点而不是区域,输出大小极大减小;2)使用堆叠的hourglass module,可以直接裁切来减小网络参数并无需重新训练直接使用;3)对车道线数量、朝向没有限制;4)在公开数据集上具有更低的误检率和不错的精度

方法

        网络有三路输出,分别是置信度、偏移信息、嵌入特征。置信度和偏移信息用于车道线关键点定位,YOLO中的损失函数将应用其中;嵌入特征用于后处理中的关键点分类,其损失函数借鉴了SPGN中的实例分割方法。

网络结构

Resizing Network

        输入RGB尺寸为512X256,送入resizing network,变为64x32;这部分网络模型如下

Predicting Network

        之后是预测网络,包括4个hourglass模块,每个模块包括编码、解码和三个输出分支,组成如下图所示。

        上图中的每个色块代表一个bottle neck,具体组成如下图所示,其中使用转置卷积实现上采样。

        下表详细给出了一个hourglass module的输入输出尺寸信息,输出的三路branch中,置信度通道数为1,offset通道数为2,embedding为4。hourglass module堆叠的数量增加可以提高检测效果,因此可以作为一个teacher network,使用知识蒸馏的方法提升包含较少数量hourglass module的网络效果。

Loss Function

        网络输出一个64x32大小的cell,每个cell的通道数为7,包括置信度、偏移、嵌入特征,相应的各有一个loss function;同时在训练中使用了蒸馏方法,对应的有一个distillation loss。具体定义参考论文,这里简单介绍如下。

对于confidence的loss func如下

对于offset的loss func如下

        对于embedding feature的loss func,其设置的目标为属于同一实例时feature要尽量接近,不属于同一实例时feature要尽量远离

        引入一个蒸馏的loss func,尝试将每个hourglass module的输出都尽量接近最后一个hourglass module的输出,达到将hourglass network裁切后不需训练直接使用的效果。

实现细节

        输入图尺寸为512x256,bgr格式(读代码后确认),归一化为(0,1);

        数据集中对接近水平的车道线标注数据点过少,作者做了插值增加数量处理

        作者认为数据集中的场景数据数量分布不均匀,在训练中标记那些表现不好的数据,在后续训练中提高对这些数据的选取概率,类似于hard negative mining technique

实验

        使用TuSimple和CULane数据集,每个数据集对应的评价指标不同;结果表明PINet的精度相当不错,同时具有较低的false positive。

        验证distillation模块具有减小前面三个hourglass module和最后一个hourglass module输出差异的能力。

结论

        提出一种全新的车道线检测网络,通过提取关键点和实例分割实现,可处理任意方向的车道线且不限制数量。使用堆叠的hourglass module并在训练中应用蒸馏学习策略,使得模型在部署时可根据平台算力做裁切,不用重新训练权重而直接使用。通过实验验证其具有不错的精度和较低的误检率。

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: MA-PINet 网络模型是基于多智能体系统的关系网络模型,主要用于解决图像处理中的图像分割任务,包括语义分割和实例分割。该模型通过对多智能体系统中智能体之间的相互作用进行建模,实现了对图像中不同部分的划分。 ### 回答2: MA-PINet是一种用于深度学习的网络模型,其名称均来自于英文单词。M代表多任务(Multi-Task),A代表注意力(Attention),P代表图像分割(Segmentation),I代表实例分割(Instance Segmentation),Net代表网络(Network)。 MA-PINet的设计目标是同时处理多个任务,并且能够自动学习图像中不同目标的特征表示。这种网络模型结合了多任务学习和注意力机制以及分割技术,使其在目标识别、图像分割以及实例分割等任务中具有出色的性能。 首先,在多任务学习方面,MA-PINet可以同时处理多个任务,例如目标识别、图像分割和实例分割。通过共享多个任务之间的特征表示和权重参数,使得神经网络能够更好地解决这些任务。这样的设计有助于提高模型的效率和准确性。 其次,MA-PINet中的注意力机制允许模型集中学习目标感兴趣的区域。通过分析图像中不同位置的重要性,可以自动调整模型的关注程度。这意味着模型将更加专注于目标区域,从而提高目标识别和分割的性能。 最后,MA-PINet还利用了图像分割和实例分割技术。图像分割是将图像分成若干个区域的过程,而实例分割则是将每个区域分配给不同的目标实例。这种结合可以更好地理解图像的语义内容,并实现对不同目标实例的准确识别。 总之,MA-PINet是一种多任务、注意力和分割相结合的网络模型,具有处理多个任务和自动学习目标特征的能力。通过将这些技术融合在一起,MA-PINet在目标识别、图像分割和实例分割等任务中具有较高的性能表现。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mega_Li

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值