您当前的位置: 首页 > 

暂无认证

  • 2浏览

    0关注

    96084博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

改进YOLO | 可能这才是用Transformer正确打开YOLO的方式吧?

发布时间:2022-03-08 11:00:00 ,浏览量:2

点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

869c4ce5386cbd112c74449913fbe249.png

作者丨ChaucerG

来源丨集智书童

553cd3e2a659a1fc8b43239734dfdbfb.png

目前最先进的One-Stage目标检测器的限制是只分别处理每个图像区域,而不考虑目标之间存在的可能关系。这就导致了模型只依赖于高质量的卷积特征来检测目标。然而,有时由于一些具有挑战性的条件,这可能是不可能的。

本文分析了推理特征在One-Stage目标检测中的应用。作者尝试了不同的架构,利用自注意力来解释图像区域之间的关系。YOLOv3-Reasoner2模型在空间上和语义上增强了reasoning层中的特征,并将其与原始的卷积特征进行融合以性能的提升。YOLOv3-Reasoner2模型在COCO上比YOLOv3 Baseline实现了约2.5%的提升。

1简介

目标检测的目的是在给定的图像中分类和定位感兴趣的目标。由于与其他计算机视觉应用的紧密联系,它已经引起了社会各界的极大关注。在深度学习领域取得重大突破之前,已有许多传统的方法被提出来解决目标检测问题。这些方法建立在手工制作的特征表示上。不可避免地依赖于手工制作的特征限制了传统方法的性能。

AlexNet的巨大影响使目标检测方法呈现出新的面貌,基于深度学习的方法已完全主导了目标检测的研究。基于深度学习的检测器可分为Two-Stage目标检测器和One-Stage目标检测器。由于中间层用于提出可能的目标区域,Two-Stage目标检测器的推理速度较低。区域建议层在第一阶段提取目标区域。在第二阶段,这些提出的区域用于分类和边界框回归。另一方面,One-Stage检测器可以以较高的推理速度在一次推理中预测所有的边界框和类概率。这使得One-Stage目标检测器更适合于实时应用。

最近的One-Stage目标检测器在诸如MS COCO和PASCAL VOC等数据集上取得了良好的性能。然而,他们缺乏考虑图像区域之间可能的关系的能力。目前的One-Stage目标检测器对每个图像区域进行单独处理。当考虑图像大小时,由于较小的感受野导致他们不知道不同的图像区域。它们完全依赖于高质量的局部卷积特征来检测目标。然而,这并不是人类视觉系统的工作方式。人类有一种reasoning能力,能够在获得的知识的帮助下完成视觉任务。许多方法已经被提出来模仿人类的推理能力在目标检测。另一方面,这些方法大多比较复杂,采用Two-Stage检测体系结构。因此,它们不适用于实时应用程序。

在本文中提出了一种将视觉reasoning纳入One-Stage目标检测的新方法。本文将基于Multi-Head Attention的reasoning层整合到Neck的顶部,而不是在Backbone上。通过这种方式,可以通过使用更有意义、更细粒度和更增强的特征映射来提取关于不同图像区域之间关系的reasoning信息。

本文的贡献可以总结如下:

  • 提出通过视觉reasoning改进One-Stage目标检测。提出了一种新的提取图像区域间语义关系来预测边界框和类概率的体系结构。

  • 分析了仅使用reasoning特征对目标检测性能的影响。证明了仅卷积和reasoning特征仍然能够实时运行,同时比Baseline模型取得了更好的性能。

  • 分析了利用reasoning对每个对象类别的平均精度提高的影响。

2本文方法

所提方法的总体结构如图1所示。首先,利用Darknet-53进行特征提取,与YOLOv3一样在3个不同的尺度上产生边界框预测。通过FPN进行必要的上采样操作后。然后,在reasoning层提取图像区域之间的语义关系。最后阶段由YOLO Head预测类概率和边界框。

b83ce54f8b442f0194c4e5b343a2138c.png 图1 YOLO-Reasoning 2.1 Reasoning Layer

采用类似transformer编码器的模型作为Reasoning层。Reasoning层的体系结构如图2所示。

73a5f60862ca68dfd8c713a37c22a885.png 图2 Reasoning层 1、Flatten

Multi-Head Attention层期望有一个序列作为输入。在Flatten中Tensor被reshape为一个序列,并以这种形式输入到Multi-Head Attention层。

2、Positional Encoding

就其本质而言,Multi-Head Attention层是不知道顺序的。然而区域位置的信息是有价值的。为了对图像区域的顺序进行建模,采用固定正弦位置编码:

a00196a8d2fa35a90ecba7a71677130d.png

式中,i为网格区域在序列中的位置,j为特征深度索引与特征深度相同。由正弦函数和余弦函数生成的值被成对cat,并添加到网格区域的卷积特征嵌入中。

3、Multi-Head Attention

Multi-Head Attention是在网格单元之间进行推理,即图像区域的主要层。输入序列不同区域之间的推理采用自注意力法进行建模,自注意法力基于query、key和value三个主要概念。在高级抽象中,query序列中的单个网格单元格会搜索潜在的关系,并试图通过key将该单元格与序列中的其他单元格关联起来,即图像区域。query对和key之间的比较给这个value的注意力权重。注意力权重和value之间的相互作用决定了在表示当前单元格时放置序列的其他部分的焦点是多少。

在自注意力过程中,query矩阵、key矩阵和value矩阵是通过将输入序列X乘以3个不同的权重矩阵来计算的:、和:

168828f92db3bd4c9495438209bce7cc.png

为了比较query和key矩阵,使用scaled dot product attention:

657a57906a6e542e40d65ce4b7c4b13e.png

每个网格单元,即图像区域,通过取注意力加权值矩阵列的求和来进行编码。注意力权重决定了在value矩阵中观察的位置。换句话说,在编码当前网格时,它们会告诉图像的哪些部分是有价值的、信息丰富的和相关的。

采用多头方式进一步完善了自注意力机制。在Multi-Head Attention中,对head进行并行计算自注意力。多头比单头的主要优势是它使模型能够在不同的关系子空间上工作。每个head都有一个不同的query、key和value矩阵,因为这些集合都是通过使用单独的和随机初始化的权重矩阵获得的。head i中的注意力计算为:

fbfd6a556d9e5d21d4606f66db00347e.png

然后,使用权重矩阵对注意力进行连接和变换:

c4be8a06b01e8cd2f4da396a4301e9d9.png

4、Skip Connections

在reasoning层中有2个Skip Connections。如ResNet论文所述,反向传播得到了改进,并通过残差跳跃连接将原始信息传播到以下各层。

5、Normalization

在reasoning层的2个地方应用了归一化方法。除了残差的跳跃连接外,归一化也是改善反向传播的另一个关键因素。为了处理 internal covariate shift,作者采用了层归一化。

6、MLP

Multi-Head Attention的输出经过归一化后被输入到多层感知器(MLP)。MLP层由2个线性层和中间的ReLU非线性层组成:

4d8c374b082f43434cdce42192e282d1.png

7、Rearrange

Rearrange是reasoning层的最后一个子层,在其中序列被转换回检测Head所期望的shape。

2.2 Reasoner配置 1、YOLOv3-Reasoner1

在这个配置中,FPN输出被直接输入到reasoning层。每个Head分别选择16、8和4的下采样scale,使每个Head的嵌入尺寸为64。reasoning层输出输入1×1卷积层。YOLOv3-Reasoner1的整个体系结构如图4所示。

3046d566dc1636c998ca20308af89af4.png

图4 YOLOv3-Reasoner1 2、YOLOv3-Reasoner2

在这种配置中,reasoning层的输出通过一个Shortcut的方式与FPN输出连接起来。然后,将连接层的输出输入到1×1的卷积层,以融合由推理和原始的单卷积特征组成的信息。有可能卷积特征的某些部分被减弱。本文的连接策略确保了原始卷积特征的可重用性。YOLOv3-Reasoner2的体系结构如图5所示。

fb68b34be906511dbf53b07532e15170.png

图5 YOLOv3-Reasoner2 3实验

ebe86ea8db6266c842fe457a54f62161.png

4参考

[1].ANALYSIS OF VISUAL REASONING ON ONE-STAGE OBJECT DETECTION

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

3D视觉精品课程推荐:

1.面向自动驾驶领域的多传感器数据融合技术

2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码) 3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进 4.国内首个面向工业级实战的点云处理课程 5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解 6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦 7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化 8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

9.从零搭建一套结构光3D重建系统[理论+源码+实践]

10.单目深度估计方法:算法梳理与代码实现

11.自动驾驶中的深度学习模型部署实战

12.相机模型与标定(单目+双目+鱼眼)

13.重磅!四旋翼飞行器:算法与实战

14.ROS2从入门到精通:理论与实战

重磅!3DCVer-学术论文写作投稿 交流群已成立

扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。

同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。

一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

f14b309532eaa8294ff273be4ada8f02.png

▲长按加微信群或投稿

a884f26d3ca5a298bc2becc598d90254.png

▲长按关注公众号

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近4000星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

1f5dd14789a25b8d4c59b709df1b51c2.png

 圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

关注
打赏
1655516835
查看更多评论
立即登录/注册

微信扫码登录

0.0837s