目标检测 - TridentNet
转载: https://zhuanlan.zhihu.com/p/54334986
http://haha-strong.com/2019/07/25/20190725-TridentNet/
开源代码:https://github.com/TuSimple/simpledet/tree/master/models/tridentnet
Facebook detectron2 官方收录:https://github.com/facebookresearch/detectron2/tree/master/projects/TridentNet
算法思路
将网路backbone最后一个改成三个不同卷积率的卷积层并联,实现对不同尺度特征的提取。
如下图所示:

motivation
对于一个backbone net而言有几个因素会影响他们的性能,下采样率、网络深度以及感受野。前面两个因素已经有人研究过了,对于目标检测中的感受野的影响还没有人专门对此进行研究。本文通过对网的最后一个backbone中的卷积层改变卷积的空洞率以实现输出特征的感受野的调整。实验证明,不同的感受野对不同尺度目标的检测有着不同的影响,大的感受野对尺度较大的目标检测性能较好,小的感受野对小目标的检测性能较好。
做法
作者提出的网络框架如下图所示:

如上图所示,作者在特征提取的最后一层增加了一个多分支的卷积层,用来提取不同尺度的特征信息。为了减少网络参数量这几个网络共享参数,便于网络的优化,在这里作者通过实验验证当采用三个不同卷积空洞率时网络的性能最佳。实验结果如下图所示:


Figure 3: A trident block constructed from a bottleneck residual block.
同时,作者也通过实验证明将TridentNet添加在最后一层对网络的性能提升是最佳的:

facebook/detectron2中TridentNet快速版本就是将ResNet50中的res4中某个卷积替换为TridentConv即可,并且这里TridentConv中不同空洞率的卷积最后是通过concat后输出,也就是可以无缝替换到ResNet结构中:

Scale-aware training Scheme
最后一个设计则是借鉴SNIP,为了避免receptive field和scale不匹配的情况,TridentNet对于每一个branch只训练一定范围内尺度样本,避免极端scale的物体对于性能的影响,根据ground truth box的宽w和高h,对每个分支branch i 选择proposal 的ROI的最大最小尺度为:li和ui。

性能

上图所示,是该算法与现有算法的性能比较。这些算法都采用相同的网络backbone,ResNet-101.
与采用多层特征融合的SSD算法相比,本算法性能提升10个点左右。
与Fastr-RCNN相比,本算法较之有8个点的性能提升。
同时,多分支不同空洞率和可行变卷积的联合使用可以将网络的性能比提升6个点左右。表明不同感受野的应用有助于算法对不同目标的检测。
总结一下
TridentNet在原始的backbone上做了三点变化:第一点是构造了不同receptive field的parallel multi-branch,第二点是对于trident block中每一个branch的weight是share的。第三点是对于每个branch,训练和测试都只负责一定尺度范围内的样本,也就是所谓的scale-aware。这三点在任何一个深度学习框架中都是非常容易实现的。
目标检测 - TridentNet的更多相关文章
- AI佳作解读系列(五) - 目标检测二十年技术综述
计算机视觉中的目标检测,因其在真实世界的大量应用需求,比如自动驾驶.视频监控.机器人视觉等,而被研究学者广泛关注. 上周四,arXiv新出一篇目标检测文献<Object Detection ...
- 基于COCO数据集验证的目标检测算法天梯排行榜
基于COCO数据集验证的目标检测算法天梯排行榜 AP50 Rank Model box AP AP50 Paper Code Result Year Tags 1 SwinV2-G (HTC++) 6 ...
- 目标检测方法——SSD
SSD论文阅读(Wei Liu--[ECCV2016]SSD Single Shot MultiBox Detector) 目录 作者及相关链接 文章的选择原因 方法概括 方法细节 相关背景补充 实验 ...
- 目标检测方法总结(R-CNN系列)
目标检测方法系列--R-CNN, SPP, Fast R-CNN, Faster R-CNN, YOLO, SSD 目录 相关背景 从传统方法到R-CNN 从R-CNN到SPP Fast R-CNN ...
- #Deep Learning回顾#之基于深度学习的目标检测(阅读小结)
原文链接:https://www.52ml.net/20287.html 这篇博文主要讲了深度学习在目标检测中的发展. 博文首先介绍了传统的目标检测算法过程: 传统的目标检测一般使用滑动窗口的框架,主 ...
- 目标检测的图像特征提取之(一)HOG特征(转载)
目标检测的图像特征提取之(一)HOG特征 zouxy09@qq.com http://blog.csdn.net/zouxy09 1.HOG特征: 方向梯度直方图(Histogram of Orien ...
- (转) 技术揭秘:海康威视PASCAL VOC2012目标检测权威评测夺冠之道
技术揭秘:海康威视PASCAL VOC2012目标检测权威评测夺冠之道 原创 2016-09-21 钟巧勇 深度学习大讲堂 点击上方“深度学习大讲堂”可订阅哦!深度学习大讲堂是高质量原创内容平台,邀请 ...
- 目标检测--Rich feature hierarchies for accurate object detection and semantic segmentation(CVPR 2014)
Rich feature hierarchies for accurate object detection and semantic segmentation 作者: Ross Girshick J ...
- Adaboost原理及目标检测中的应用
Adaboost原理及目标检测中的应用 whowhoha@outlook.com Adaboost原理 Adaboost(AdaptiveBoosting)是一种迭代算法,通过对训练集不断训练弱分类器 ...
随机推荐
- Java字节码文件结构剖析
今天起开启JVM的新的知识学习篇章----Java的字节码,那学习Java字节码有啥用呢?我们知道Java是跨平台的一门语言,编写一次到处运行,而支撑着这个特性的根基为两点:JVM和.class字节码 ...
- 【好好补题,因为没准题目还会再出第三遍!!】ACM字符串-组合数学(官方题解是数位DP来写)
ACM字符串 .长度不能超过n .字符串中仅包含大写字母 .生成的字符串必须包含字符串“ACM”,ACM字符串要求连在一块! ok,是不是很简单?现在告诉你n的值,你来告诉我这样的字符串有多少个 输入 ...
- python 2.7安装pygame报错解决办法pygame-1.9.4-cp27-cp27m-win_amd64.whl is not a supported wheel on this platform.
python下载python安装包 https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame 下载完后进入cmd命令行执行安装,报错: pygame-1.9 ...
- 一步一步pwn路由器之wr940栈溢出漏洞分析与利用
前言 本文由 本人 首发于 先知安全技术社区: https://xianzhi.aliyun.com/forum/user/5274 这个是最近爆出来的漏洞,漏洞编号:CVE-2017-13772 固 ...
- 部署 & virtualen
安装:apt-get install virtualen virtualenv --no-site-packages venv 加上了参数--no-site-packages,这样,已经安装到系统Py ...
- Angular4的dom事件
Angular4的dom事件 差值表达式和属性绑定其实是一样的(例) <!-- 这两个是一样的效果,使用哪个都可以 --> <img src="{{imgUrl}}&quo ...
- java-十五周作业
题目1:编写一个应用程序,输入用户名和密码,访问test数据库中t_login表(字段包括id.username.password),验证登录是否成功. 题目2:在上一题基础上,当登录成功后,将t_u ...
- 自制tomcat镜像
1.编写dockerfile FROM centos MAINTAINER raygift@qq.com # 安装vim RUN yum -y install vim net-tools ENV BA ...
- BZOJ 2169 连边 DP
思路:DP 提交:\(1\)次(课上刚讲过) 题解: 如果不管重边的话,我们设\(f[i][j]\)表示连了\(i\)条边,\(j\)个点的度数是奇数的方案数,那么显然我们可以分三种状态转移: \(f ...
- 【基础算法-树状数组】入门-C++
目录 基本定义 如何理解树状数组 主要操作 @ 基本定义 树状数组(Binary Indexed Tree(B.I.T), Fenwick Tree)是一个查询和修改复杂度都为log(n)的数据结构. ...