1. 概述

  • 目标检测领域中,目标的多尺度是指:对待检测的目标,其bounding box的长宽比、大小具有很大的跨度。如何实现对不同目标的多尺度检测是目标检测领域面临的难题之一,也是制约目标检测精度提升的瓶颈。
  • 目前常用的提高网络多尺度检测性能的方式有以下几种:①训练阶段使用不同分辨率的图像训练网络;②测试阶段使用不同分辨率的图像测试,再融合;③网络结构的改进,以FPN结构为典型,目前FPN是采用较多的可提高网络多尺度检测性能的方式。
  • M2Det以提高网络的多尺度检测性能为出发点,以SSD为骨干网络,对FPN进行了改进,在coco数据集上的AP为41%

2. Motivation

作者认为,FPN结构存在两个主要的缺陷:

  • 首先,用于构成FPN结构的feature maps取自骨干网络,而骨干网络一般情况下是个分类网络,因此,由骨干网络得到的feature maps不能直接用于目标的分类及定位。
  • 其次,FPN结构中的每一层feature maps通常只包含某一level的信息(原文翻译),换句话说,一层feature maps只能检测某一类尺度的目标。

那么,要如何设计一个提高多尺度目标检测性能的网络结构,来规避FPN存在的缺陷?请往下看。

1.对于第一个缺陷,个人认为其解释有些牵强,显然,在骨干网络得到的feature maps中,既包含了目标的分类信息,又包含了位置信息,这些feature maps也自然可以应用于目标检测的后续环节
2.论文中提到:神经网络得到的深层特征更有利于目标分类任务,浅层特征更有利于目标定位任务;同时,深层特征更有利于复杂目标的检测,浅层特征更有利于简单物体的检测

3. 网络结构

M2Det整体网络结构如下图所示:

  • 首先需要明确的是,该网络结构基于SSD,是个一阶段(one-stage)的目标检测框架
  • 框架中被框选出的部分虽然看着复杂,归根结底,是对骨干网络得到的特征进行处理,最终生成proposal的

下面分别对框架中的各个模块进行介绍:

3.1 FFM1

该模块内部结构如下图所示:(模块中的数字分别表示:输入channel大小,卷积核大小,stride大小,输出channel大小)

  • 该模块完成骨干网络得到的浅层特征和深层特征的融合,再将融合后的特征送入后续网络中进行处理。以VGG16为例,分别选取conv4_3conv5_3卷积层得到的特征进行融合
  • 这里融合的作用是:同时获取神经网络的浅层特征和深层特征

3.2 TUM

该模块内部结构如下图所示:

  • 对送入TUM结构的特征,经过多层卷积以及上采样、相加的操作,得到channel相同,尺寸不同的一系列feature maps的输出
  • 该结构的作用是通过使用多层卷积神经网络,进一步提取特征,同时通过上采样并相加的操作,保证在卷积过程中,特征不消失
  • 此图请按照红色箭头指示方向看

3.3 FFMv2

该模块内部结构如下图所示:

  • 该结构完成是FFM1得到的特征与TUM模块得到的分辨率最大的特征的融合

3.4 SFAM

该模块进行两步操作:

  • 对前面多个TUM结构得到的特征金字塔,按大小分类(论文中使用了8个TUM结构,每个TUM结构输出一个包含6种不同分辨率feature maps的特征金字塔,每个分辨率共有128层;按大小分类后,得到6个特征块,每个特征块共有8x128=1024层特征)
  • 应用注意力机制分别对得到的特征块进行处理。①对某一特征块(共1024层),按层进行平均池化,得到1x1x1024维度的特征,然后将该特征送入两层全连接层(fc1:1024->64,fc2:64->1024),最终还是得到1x1x1024的特征,此处的特征代表权重,再与最开始得到的特征块分别相乘,得到新的特征块
  • 该模块的作用是,对TUM得到的特征,按分辨率大小不同进行分类,小分辨率特征负责大尺度目标检测,大分辨率特征负责小尺度目标检测,同时应用注意力机制,让网络自适应调整特征。
  • 整体过程如下图所示

骨干网络得到的特征在经过上述模块的层层处理后,最终得到的特征如下,这些特征既包含了骨干网络不同feature maps层的信息,又包含了不同尺度的语义信息。

4.实验

4.1 与其它模型的对比

  • 可以看到,M2Det相比两阶段state of the art的方法仍旧稍显不足,但相比一阶段方法,效果最好
  • 通过应用多尺度推理的方法,可以有效提高检测准确率
  • resnet101骨干网络确实很不错

4.2 消融实验

  • 通过实验证明了该网络提出的子模块的有效性

4.3 TUM数量和生成feature map层数的探究

  • 随着TUM数量和channel的增加,检测效果越来愈好

5 总结

  • 所谓TUM模块,个人感觉只是对FPN结构的加强,核心仍旧是在使用卷积层抽象特征的同时通过上采样及相加的操作保证特征不丢失
  • 应用的注意力机制挺有意思,值得再研究一下,这里放上参考文献

Hu, J.; Shen, L.; and Sun,
G. 2017. Squeeze-and-excitation networks. CoRR
abs/1709.01507.

  • 一个疑问是:为什么只从骨干网络得到的特征中取出两层进行处理,如果取更多层,效果应该会更好,这里是一个可以研究的点
  • 最后,这篇文章提出的网络结构似乎有些不够优美

目标检测(Object Detection)—— M2Det相关推荐

  1. CV之OD:计算机视觉之目标检测(Object Detection)方向的简介、使用方法、案例应用之详细攻略

    CV之OD:计算机视觉之目标检测(Object Detection)方向的简介.使用方法.案例应用之详细攻略 目录 OD目标检测的简介 1.Selective Search for Object Re ...

  2. 同r做一个窗口_目标检测(Object Detection):R-CNN/SPPnet/R-FCN/Yolo/SSD

    这篇文章我是Survey目标检测(Object Detection)系列论文的一个总结. 包括R-CNN系列.SPP-net.R-FCN.YOLO系列.SSD.DenseBox等. 基本概念 目标识别 ...

  3. [Intensive Reading]目标检测(object detection)系列(九) YOLOv3:取百家所长成一家之言

    目标检测系列: 目标检测(object detection)系列(一) R-CNN:CNN目标检测的开山之作 目标检测(object detection)系列(二) SPP-Net:让卷积计算可以共享 ...

  4. 快速目标检测--Object detection at 200 Frames Per Second

    Object detection at 200 Frames Per Second 本文在 Tiny Yolo 的基础上设计了一个目标检测网络,在 Nvidia 1080ti 上可以达到 100帧每秒 ...

  5. 目标检测--Object Detection via Aspect Ratio and Context Aware

    Object Detection via Aspect Ratio and Context Aware Region-based Convolutional Networks https://arxi ...

  6. 深度学习目标检测(object detection)系列(一) R-CNN

    原文链接 R-CNN简介 R-CNN提出于2014年,应当算是卷积神经网络在目标检测任务中的开山之作了,当然同年间还有一个overfeat算法,在这里暂不讨论. 在之后的几年中,目标检测任务的CNN模 ...

  7. 什么是目标检测--Object Detection

    目标检测,也叫目标提取,是一种基于目标几何和统计特征的图像分割.它将目标的分割和识别合二为一,其准确性和实时性是整个系统的一项重要能力.目标检测不仅要用算法判断图片中物品的分类, 还要在图片中标记出它 ...

  8. 对象检测(Object Detection)DNN-YOLOv3讲解

    文章目录 1 概述 2 如何衡量对象检测的结果 2.1 准确性(precision)和召回率(recall) 2.2 准确率-召回率曲线(precision-recall curve).平均准确率(A ...

  9. [caffe]深度学习之CNN检测object detection方法摘要介绍

    [caffe]深度学习之CNN检测object detection方法摘要介绍  2015-08-17 17:44 3276人阅读 评论(1) 收藏 举报 一两年cnn在检测这块的发展突飞猛进,下面详 ...

  10. 【手把手AI项目】八、MobileNetSSD通过Ncnn前向推理框架在Android端的使用--Cmake编译(目标检测 objection detection)

    一.前言 安装win10+linux-Ubuntu16.04的双系统(超细致) ubuntu16.04+caffe+CUDA10.0+cudnn7.4+opencv2.4.9.1+python2.7 ...

最新文章

  1. 浅析网页界面设计——首页设计
  2. Java 强、弱、软、虚,你属于哪一种?
  3. easyui增删改查前段代码
  4. Mac 运行 psql postgres 报错
  5. VSTO 得到Office文档的选中内容(Word、Excel、PPT、Outlook)
  6. ​BAT 等 34 家企业签署合规经营承诺书;美团被判赔偿饿了么 35.2 万元;FreeBSD 13.0 发布|极客头条...
  7. 苹果手机耗电快_苹果手机耗电快怎么解决?我有2个小技巧能帮到你
  8. 一道关于CSS选择器优先级的题
  9. jquery 使用下拉效果的实现
  10. 21个以Bootstrap为框架的WordPress免费主题模板下载
  11. MATLAB 绘制柱状图
  12. DBeaver Enterprise 算法注册机
  13. 简单工厂模式(静态工厂方法模式)
  14. 2014腾讯实习生招聘数组墙算法
  15. opencv-python傅里叶变换以及逆变换
  16. 环形队列数组展示(韩顺平)
  17. 新时期计算机网络通信发展现状与趋势
  18. 计算机主机无反应,电脑突然开不了机、主机没反应、不显示,几个方法轻松解决...
  19. 【人脸识别】基于dlib库实现人脸特征值提取
  20. python画一朵“玫瑰”

热门文章

  1. you-get下载酷我音乐付费歌曲
  2. 微信小程序学习日记---模板(template)全解析
  3. 分享卸载multisim软件的工具NI卸载工具
  4. Synopsys VCS vY-2006.06
  5. 计算机软件工程常用英语词汇,软件工程常用英文词汇缩写汇总(1)
  6. (转)软件工程 英文缩写
  7. WinRAR 6.0 永久去除广告
  8. 安卓linux关机命令行,linux定时关机命令?安卓定时关机命令?windows关机命令?Linux系统下定时关机命令shutdown...
  9. 计算机桌面颜色如何设置标准,电脑桌面背景字体颜色设置小技巧
  10. 机器学习数据导入方法总结