作者 | Tiancai Wang等

译者 | 路一直都在

出品 | AI科技大本营(ID:rgznai100)

one-stage的目标检测方法因其具有实时性强、检测精度高等特点,近年来受到广泛关注。目标检测包括分类和定位两个子任务,通常来说,one-stage目标检测有通用的策略:利用一个经过ImageNet预训练的backbone完成分类任务,利用一个自上而下的特征金字塔表示形式处理尺度变化问题。

与常见的策略相反,最近的工作已经证明了从零开始训练的好处,以减少分类和定位之间的任务差距,特别是在高重叠阈值的情况下。然而,与基于微调的检测模型相比,从零开始训练的检测模型需要的训练时间要长得多,不能满足实时的要求。

本文设计了一个one-stage检测框架,它结合了微调预训练模型和从零开始训练的优点。该框架包括一个预训练过的标准backbone网络,一个轻量级的从零开始训练的辅助网络。此外,作者认为通常使用的自顶向下的金字塔表示只关注于将高级语义从顶层传递到底层,因此在检测框架中引入了一个双向网络,它可以有效地传递中低层次和高层次的语义信息。

在COCO和UAVDT上的实验表明,以经典的VGG作为backbone,本文提出的方法相比baseline在AP指标上分别提高了7.4%和4.2%。在COCO测试集上,固定300×300输入,本文提出的以ResNet为backbone的检测器在单级推理方面超过了现有的单级检测方法,AP达到了34.3 ,在一个Titan X GPU上时间为19毫秒,同时兼顾了精度和速度。

引文

one-stage和two-stage目标检测框架

由于深度神经网络尤其是卷积神经网络在计算机视觉中的广泛应用,诸如目标识别,检测,分割,跟踪等很多视觉任务都取得了很好的发展。目标检测包括对目标的分类和定位两个任务,主流的检测框架可以大致分为两类:one-stage系列和two-stage系列。two-stage系列的代表算法有Faster R-CNN,首先选择出所有的候选区域,然后针对每个候选区域进行分类和回归,有效的提升了目标检测的正确率,但是这种先筛选后检测的策略,在速度上的表现不是很好,于是针对实时的要求,one-stage目标检测框架被提出,代表性算法YOLO,SSD等通过直接回归的策略,有效的提升了检测速度,但是准确性相比two-stage系列要略逊一筹。

小目标检测的难点

近来的one-stage探测器的目标是获得与two-stage相近的检测精度。尽管在大中型目标上效果较好,但这些探测器在小目标上的性能却低于预期。例如,当使用一个500×500的输入时,使用RetinaNet在COCO数据集上, AP为47,但在小目标上,AP只有 14。小目标检测是一个具有挑战性的问题,它既需要精确描述对象的低层/中层信息,也需要区分目标对象与背景或其他对象类别的高级语义信息。

预训练网络的利弊

主流的one-stage目标检测框架的通用策略是:利用一个经过ImageNet预训练的backbone完成分类任务。然后利用检测目标的数据集进行微调,从而达到快速收敛的效果。但是目标检测中的分类任务和定位任务之间仍然存在较大差异,尤其是在目标框重叠阈值高的情况下。在ICCV2019Kaiming He的最新论文中,也对利用ImageNet进行预训练然后fine-tune这种模式进行了思考,并且认为从零开始训练检测模型,有助于精确定位。但是另一方面,与典型的基于微调的网络相比,从零开始训练非常深的网络需要的训练时间要长得多。

本文引入一个新的检测框架,优势互补,将预训练和从零开始学习的优点结合起来,组成了一个标准网络,该网络使用一个预训练的backbone和一个从零开始训练的辅助网络。辅助网络为标准的预训练网络提供低/中级信息的补充,有利于中小目标的检测。

综上所述,在检测不同尺度的目标(尤其是小目标)时,需要低级/中级信息和高级语义信息。当前探测器通常使用自顶向下的金字塔特征表示,其中来自顶层或后一层的高层信息被融合到底层或前一层语义上较弱的高分辨率特征。尽管这种自顶向下的特征金字塔表示可以提高性能,但它只向前面的层注入了高级语义信息。此外,这种金字塔代表是由许多层以一层一层的方式融合而成。在本文中,作者认为高层信息与前一层,低层/中层信息与后一层的融合是多尺度目标检测的关键。

方法

网络结构

整体的网络结构如下图所示,由三部分组成:(1)标准的SSD网络结构作为backbone(2)从零开始训练的轻量级网络(LSN)(3)双向网络

1)标准SSD网络

将预训练的SSD网络作为backbone,SSD网络的结构如下图所示,在本文中,选取conv4_3,F C_7, conv8_2, conv9 _2, conv10 _2, and conv11 _2作为骨干网特征,使用不同分辨率的层来执行独立的预测。

2)轻量级辅助网络(LSN)

LSN网络与SSD特征层紧密相连,用于构造低层/中层特征表示,称为LSN特征。

如下图所示,现有的特征提取策略是:从主干网络中提取特征,在多个卷积块和最大池化层的重复堆叠中提取特征,以此产生语义信息丰富的特征。这种特征提取方式有利于图像分类任务,因为分类任务要求的是平移不变性的即目标位置发生变化,最后输出的类别信息也应该一致。但是在目标检测任务中,由于不仅仅有分类的要求,还需要进行目标的定位,因此更需要准确的轮廓信息,而特征中的低层,中层特征正是包含这种轮廓边缘信息,对于目标检测十分重要。

为了弥补主干网络在提取特征过程中的损失,本文提出了LSN特征提取方案。如下图所示,首先经过一个较大的下采样率进行池化操作,将输入图片的size调整到SSD中第一层的输入size,然后被送入到一个轻量级的连续操作LSO(Light-weight-serial operations)中去,LSO包括卷积层,BN层,ReLU层等结构。

需要注意的是,LSN是参数是随机初始化的。它遵循类似于标准SSD的金字塔特征层次结构

其中,n是特征金字塔的层数。

下图是LSN的具体结构,输入图片I首先经过一个降采样(DS)操作,得到与标准SSD网络第一层相同的尺寸,然后,利用降采样后的图片It生成初始的LSN特征 :

其中, φint(0)表示连续操作,包括1个3x3卷积,1个1x1卷积。然后,初始的卷积用来生成中间卷积 Sint,第K层的特征由第K-1层特征作为输入:

其中,k=(1,...,n),φint(k)表示一个3x3卷积。当k=1时,(k-1)层的特征就是上文的初始特征。最后,在第K层的中间特征上加入1x1卷积,产生LSN网络在第k层上在最终特征

其中 φtrans(k)表示1x1卷积,用来进行升降维,使得特征维度跟SSD中的特征维度匹配。下图是LSN网络的整体结构图

3)双向网络

与传统的FPN结构相比,有几个不同点:

1)双向网络中的自底向上方案以级联的方式将前一层的特征传播到后一层

2)FPN中的top-down通路通过级联操作逐层融合了许多CNN层。在双向网络的top-down通路,预测层通过独立的并行连接进行融合,而不是逐层逐层的级联/顺序融合。

双向网络,顾名思义,由两个方向(自底向上,自上而下)的网络构成。通过两个方向的通路,双向网络在检测网络中同时传递低层和高层语义信息。

自底向上的网络

下图是bottom-up网络的结构示意,结合backbone和来自LSN特征,将不同层次的特征以前级联的方式进行前向传播,得到前向特征。将此任务称为自底向上的特征传播,用B表示。

第K层前向特征可以通过下式计算得到:

其中,Sk是LSN在第K层得到的特征,Ok代表主干网络得到的特征,Wk-1表示一个3x3卷积块,包括卷积层和BN层,fk-1是前一层输出特征,在本层作为一个输入, φk表示一组连续操作,包括ReLu,3x3卷积。⊗和⊕分别表示元素相乘和元素相加。

最后,自底向上网络各层次的前向传播特征表示为一个前向特征金字塔:

自上而下的网络

为了进一步将高级语义信息从后一层注入到前一层,引入了自上而下的网络。如下图所示,该网络将所有后续层的所有特性连接到当前层,它通过网络中独立的并行连接来传递高级语义。

最后,自上而下网络各层次的后向传播特征表示为一个后向特征金字塔:

具体操作上,首先引入几个1x1卷积块来降低前向传播金字塔Fp中的特征维度。以第K层为例,降维后的所有高层特征叠加,获得最终预测需要的特征bk

其中,Wi是一个1x1卷积块,用来降维;Wmk是一个1x1卷积块,用来融合所有来自高层的特征;µk是上采样操作;γk是一个3x3卷积块,用来融合所有前向特征;∑表示特征维度叠加。

这里需要注意一点,在自上而下的网络中,如果本身处于特征中的最高层,就不需要融合任何底层特征。这意味着最高层的前向特征被直接用作预测。

实验

1)数据集

MS COCO:80类别,共包含160K图像数据

UAVDT dataset:车辆类别包括轿车、卡车和公共汽车。数据集包含从100个视频序列中选择的80k带注释的帧

2)实验结果

如下表所示,在COCO测试集上,SSD在大目标检测上的AP有43.3,但是在小目标的检测上,SSD的AP骤减到6.2,而本文提出的方法,在使用相同的VGG情况下,AP相比SSD总体提升了6.7%。更重要的是,与SSD框架相比,本文的检测器在小目标上实现了两倍以上的检测性能提升。

虽然基于two-stage的网络可以获得更高的精度,但是它们的计算开销很大,通常需要较大的输入分辨率,并且处理图像的时间通常超过100毫秒。例如,Cascade R-CNN的AP达到42.8,但是处理图像需要141ms。本文的检测器具有速度和精度的良好平衡。

3)消融实验

分别实验检测网络中SSD,LSN,bi-directional对性能的影响。结果如下所示,可以看到,LSN,bi-directional都对性能有提升,当组合在一起时,提升最大。

4)检测效果

下图是本文检测器在COCO和UAVDT数据集上的检测结果,可以看到,本文的方法对小目标的检测性能提升十分明显。

结论

本文提出了一种one-stage的目标检测方法,该方法由标准SSD网络、轻量级随机初始化网络(LSN)和双向网络三部分组成。

LSN是从零开始训练的,产生的特征用来补充主干网络得到的特征。双向网络的设计目的是在检测网络中同时传递中低层次和高层次的语义信息。在COCO和UAVDT数据集上的实验结果表明,本文提出的方法达到了精度和速度的良好均衡。

论文链接:

http://openaccess.thecvf.com/content_ICCV_2019/html/Wang_Learning_Rich_Features_at_High-Speed_for_Single-Shot_Object_Detection_ICCV_2019_paper.html

代码链接:

https://github.com/vaesl/LRF-Net

(*本文为AI科技大本营投稿文章,转载请微信联系 1092722531)

精彩推荐

开幕倒计时6天|2019 中国大数据技术大会(BDTC)即将震撼来袭!豪华主席阵容及百位技术专家齐聚,十余场精选专题技术和行业论坛,超强干货+技术剖析+行业实践立体解读。6.6 折票限时特惠(立减1400元)倒计时 3 天,学生票仅 599 元!

推荐阅读

  • 字节跳动李航入选ACL Fellow,他曾这样看待机器学习

  • IEEE Fellow 2020名单揭晓!BDTC 2019重磅嘉宾周伯文、叶杰平、陈宝权上榜

  • 谁是当今最顶级的技术?SQL、Java、Python、C++ 皆上榜!

  • 自学编程、玩 vlog,90 后程序员们的冠军之路

  • 科技公司最爱的50款开源工具,你都用过吗?

  • 大厂面试为什么总考算法?如何避开算法面试?

  • 全球 43 亿 IPv4 地址宣告耗尽

  • 华为电脑终于又能搭载正版 Windows 系统了

  • 初级运营与高级运营的区别:只要一招,快速提升运营效果

    昨天Upbit交易所34万ETH被盗,居然是这个服务器被攻击了……

  • 你点的每个“在看”,我都认真当成了AI

最新单步目标检测框架,引入双向网络,精度和速度均达到不错效果相关推荐

  1. AAAI 2020论文解读:商汤科技提出新弱监督目标检测框架

    来源 | Object Instance Mining for WeaklySupervised Object Detection 编辑 | Carol 出品 | AI科技大本营(ID:rgznai1 ...

  2. YOLOv6:又快又准的目标检测框架开源啦

    近日,美团视觉智能部研发了一款致力于工业应用的目标检测框架 YOLOv6,能够同时专注于检测的精度和推理效率.在研发过程中,视觉智能部不断进行了探索和优化,同时吸取借鉴了学术界和工业界的一些前沿进展和 ...

  3. 阿里达摩院开源DAMO-YOLO:兼顾速度与精度的新目标检测框架

    作者丨陈威华 阿里达摩院智能计算实验室 编辑丨极市平台 1.简介 DAMO-YOLO是一个兼顾速度与精度的目标检测框架,其效果超越了目前的一众YOLO系列方法,在实现SOTA的同时,保持了很高的推理速 ...

  4. 达摩院 | DAMO-YOLO:兼顾速度与精度的新目标检测框架

    作者 | 陈威华  编辑 | 极市平台 点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心[目标检测]技术交流群 后台回复[2D检测综述] ...

  5. 一区SCI新目标检测框架 | one-shot的条件目标检测

    计算机视觉研究院专栏 作者:Edison_G 目前在目标检测方面的进展依赖于大规模的数据集来获得良好的性能.然而,在许多场景下可能并不总是有足够的样本,从而导致当前基于深度学习的目标检测模型的性能下降 ...

  6. 最新的目标检测的深度架构 | 参数少一半、速度快3倍+(文末福利)

    Matrix Nets 这是一个「矩阵网络」,它的参数少.效果好.训练快.显存占用低. 简要介绍 研究作者提出了 Matrix Net (xNet),一种用于目标检测的新深度架构.xNets将具有不同 ...

  7. 劲爆!YOLOv6又快又准的目标检测框架开源啦(附源代码下载)

    关注并星标 从此不迷路 计算机视觉研究院 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 代码地址:https://github.com/meituan/YOLOv6 ...

  8. YOLOv6:又快又准的目标检测框架开源啦《转载》

    转载的原文链接 1. 概述 YOLOv6 是美团视觉智能部研发的一款目标检测框架,致力于工业应用.本框架同时专注于检测的精度和推理效率,在工业界常用的尺寸模型中:YOLOv6-nano 在 COCO ...

  9. Det3D - 首个通用 3D 目标检测框架

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自知乎,已获作者授权转载,请勿二次转载. (原文链接:https://zhuanlan.zhihu.com/p/101346137) 背景介绍 ...

最新文章

  1. 从搭建脚手架到在npm上发布react组件
  2. ECMASCript 2019可能会有哪些特性?
  3. SSD: Signle Shot Detector 用于自然场景文字检测
  4. 清远工贸职业技术学校清远大学城网
  5. LeetCode 971. 翻转二叉树以匹配先序遍历(DFS)
  6. 杭电2149Public Sale
  7. mysql 模糊查询之特殊字符下划线 _
  8. 开发环境 测试环境 定义_如何快速搭建ES开发测试环境?
  9. .NET开源项目介绍及资源推荐:单元测试
  10. 《工程学导论》读书笔记-2
  11. HTML5如何把圆分成六等分,Photoshop怎么把一个圆64等分?
  12. WORD文档转换成HTML
  13. css数字怎么换行,css实现连续的英文或数字自动换行的方法
  14. 网络应用的基本原理(基础 !非常重要!)
  15. 微信公众号,JS-SDK获取位置信息,并调起第三方地图App导航
  16. android auto领动,动力系统非常出色 小试北京现代领动
  17. 我是如何用一行代码表白学妹~❤520情人节送女朋友的3D樱花雨相册礼物❤~(程序员表白专属)
  18. mac python3 调用 .so_Mac OS X链接.so文件到动态库
  19. 毕业之后从事前端工作月薪大概多少?
  20. 【细读Spring Boot源码】重中之重refresh()

热门文章

  1. 通过data:image/png;base64把图片直接写在src里
  2. 制作一个简单的linux
  3. HBase-1.3.1 集群搭建
  4. Linux环境下命令行截图【转】
  5. H5 客户端设置title 滑动验证码
  6. python基础类型
  7. python RSA 加密与签名
  8. 人月神话阅读笔记07
  9. 调用短信接口,先var_dump()看数据类型是object需要json_decode(json_encode( $resp),true)转换成array...
  10. [16] 螺旋面(Spire)图形的生成算法