车道线检测(LD)论文精读----HybridNets: End-to-End Perception Network

原文地址:https://arxiv.org/pdf/2203.09035v1.pdf

论文源代码:https://github.com/datvuthanh/HybridNets

 声明:本文所用图均来源于原论文中。


摘要:

        端到端网络在多任务处理中变得越来越重要。 这方面的一个突出例子是驾驶感知系统在自动驾驶中日益重要。 本文系统地研究了一种面向多任务的端到端感知网络,并提出了几个关键的优化方法来提高精度。 首先,本文提出了基于加权双向特征网络的高效分割头和盒/类预测网络。 其次,针对加权双向特征网络中的每一个层次提出了自动定制锚点的方法。 第三,提出了一种有效的训练损失函数和训练策略来平衡和优化网络。 基于这些优化,我们开发了一个端到端感知网络,可以同时执行多任务,包括交通对象检测、可行驶区域分割和车道检测,称为混合网络,它获得了比现有技术更好的准确性。 特别是HybridNets在Berkeley DeepDrive数据集上的平均精度为77.3,平均交集为31.6,优于Union,具有1283万个参数和156亿次浮点运算。 此外,它还可以实时执行视觉感知任务,是解决多任务问题的一种实用而准确的方法。

Introduction

        嵌入式系统的计算能力和神经网络性能的最新发展使得自主驾驶成为计算机视觉领域的一个活跃领域。理想情况下,要创造一辆能够自动驾驶的车辆,就需要向其提供周围环境中的每一个可用信息。然而,与传统思维不同的是,激光雷达和雷达并不需要为智能车辆创建精确的感知场,只需要一个摄像头连接在前面。人们普遍的共识是,引导智能车辆最关键的三项任务是:交通目标检测、可行驶区域分割和车道线分割。

        这些任务中的每一个都有其最先进的网络,包括但不限于SSD [14]、YOLO [21]用于物体检测; UNet [23]、SegNet [1]、ERNet [10]用于语义分割; LaneNet [29]和SCNN [19]用于车道线检测。不过,通过三个不同的网络传递图像会造成不合理的延迟。许多研究人员(MultiNet [28],DLT-Net [20],YOLOP [30])已经考虑过将网络组合成一个简单的编码器-解码器架构,其中主干和颈部为三个不同的头部生成上下文来处理。该架构可以进一步改进,甚至与特征提取器的适当选择和融合车道线与可驾驶区域到一个分割头。该实验实现了92.8%的最高召回率和70.8%的分割IoU,在具有挑战性的BDD 100 K数据集上优于现有的多任务网络[31],如图1定性所示。 

        为了进一步调整,我们还在本研究中修改了锚盒生成[22]。由于锚框理论上不能很好地为每个数据集推广,但对单级检测器的性能有显着影响,我们凭经验选择最好的可能的纵横比和比例为驾驶数据集BDD100K,其中对象从大的前端卡车到微小的汽车。

本文主要贡献:

1.HybridNets,一个端到端感知网络,在BDD100K数据集上实时实现出色的结果。

2.在任意数据集上为加权双向要素网络中的每个级别自动自定义锚点。

3.一种有效的训练损失函数和训练策略来平衡和优化多任务网络。


本文提出的网络架构:

        本研究提出了一种端到端的多任务网络架构HybridNets。我们的单级网络包括一个共享编码器和两个分离的解码器,以解决不同的任务。

HybridNets架构有一个编码器:骨干网和颈部网;两个解码器:检测头和分割头。骨干网从到生成了5个特征图p1-p5。通过对特征图进行下采样,我们获得了两个特征图和𝑃6-p7。特征图传递的计算方式,每一个特征图分辨率的级别Pi代表了输入图像分辨率的\frac{1}{2^{i}}

        特征提取是该模型的一个重要组成部分,它可以帮助各种网络在各种任务中获得优异的性能。许多现代网络架构目前重用ImageNet数据集中具有良好准确性的网络来提取特征。最近,EfficientNet表现出比现有CNN高的准确性和高效性能,将FLOP减少了几个数量级。我们选择EfficientNet-B3作为骨干,它通过基于神经结构搜索找到深度、宽度和分辨率参数来设计稳定的网络,解决了网络优化问题。因此,我们的骨干可以降低网络的计算成本,并获得几个重要的功能。

        来自骨干网络的特征图被馈送到颈部网络管线。多尺度特征表示是主要挑战; FPN最近提出了一种特征提取器设计,以生成多尺度特征图,以获得更好的信息。然而,FPN的局限性是信息特征被单向流继承。因此,我们的颈部网络使用基于EfficientDet的BiFPN模块。BiFPN基于通过每个双向(自上而下和自下而上)路径的每个节点的跨尺度连接以不同的分辨率融合特征,并为每个特征添加权重以了解每个级别的重要性。我们在工作中采用了该方法来融合特征。来自颈部网络的多尺度融合特征图的每个网格将被分配具有不同纵横比的九个先前锚点。与YOLOv4 [2]类似,本文使用kmeans聚类[16]来确定锚框。此外,我们选择了9个集群和3个不同的尺度为每个网格单元。为了实现不同层次的特征图,本文利用尺度常数创建包围盒先验,覆盖了由小到大的所有区域。因此,该网络可以很好地工作在复杂的数据集。检测头将预测边界框的偏移和每个类别的概率以及预测框的置信度。这被描述为:

分割头分为背景、可行驶区域和车道线三类输出。本文从颈部网络到分割分支保留了5个特征层次。首先,本文将每一个level上采样到具有和尺寸(\frac{w}{4}\frac{h}{4},64)相同的特征图。第二,将P2级别的特征图输入CNN获得具有和其他级别相同的特征图的通道数。然后,我们将它们组合起来,通过对所有级别求和来获得更好的特征融合。最后,我们将输出特征恢复为表示每个所属像素类的(W,H,3)概率的大小。本研究将特征映射缩放到P2级别的大小,因为P2级别是一个强语义的特征映射。这样能提高最终预测网络的精准度。

Loss Function:

本文采用多任务丢失训练端到端网络。下图公式通过两个部分的求和来表达总损失函数。

而Ldet损失又分为了三部分,分别是L_{class}L_{obj}L_{box}

 实验:

Berkeley DeepDrive Dataset(BDD 100 K)用于训练和验证模型。由于20 K图像的测试标签不可用,我们选择在10 K图像的验证集上进行评估。三个任务的数据集是根据在BDD 100 K上训练的现有多任务网络准备的,以帮助比较。在对象检测的所有十个类别中,只有{car,truck,bus,train}被选择并合并为单个类别{vehicle},因为DLT-Net和MultiNet只能检测车辆。两个分段类{direct,alternative}也合并到{drivable}中。我们遵循将两个车道线注释计算成一个中心注释的做法,将训练集中的注释扩展到8个像素,同时保持验证集完整[8]。图像的大小从1280 x720调整到640 x384,主要有三个原因,按重要性排列:考虑到原始纵横比,保持性能和精度之间的良好折衷,并确保BiFPN的尺寸可被128整除。基本的增强技术,如旋转,缩放,平移,水平翻转,和HSV移位被使用,马赛克增强,首次在YOLOv 4中引入并取得了很好的效果[2],在训练检测头时被使用。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值