目标检测 - 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)是一种迭代算法,通过对训练集不断训练弱分类器 ...
随机推荐
- idou教你学Istio10 : 如何用Istio实现K8S Egress流量管理
上一篇我们了解了如何控制入口流量,本文主要介绍在使用Istio时如何访问集群外服务,即对出口流量的管理. 默认安装的Istio是不能直接对集群外部服务进行访问的,如果需要将外部服务暴露给 Istio ...
- LoadRunner生成测试报告
loadrunner笔记(三):设置.运行场景和生成测试报告 //上一篇的代码有点问题,问题出在 web_reg_find()函数中,这个函数简单的说是搜索下一步操作的请求对象(html)页面中 ...
- python3 基础二——基本的数据类型二
一.数字(Number) 1.Python支持三种不同的数值类型:整型(int),浮点型(float),复数(complex) 2.Python数字数据类型用于存储数值 3.数据类型是不允许改变的,这 ...
- B-Tree目录和Hash索引的区别
Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-T ...
- adb连接MUMU模拟器
参考:http://mumu.163.com/2017/12/19/25241_730476.html?type=notice 通过adb就可以像操作linux一样来看看模拟器的文件什么的,难道刷机就 ...
- python基础认识
Python基础 一. 简介 Python是著名的“龟叔”Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言.豆瓣,Google.Yahoo等,甚至 ...
- BZOJ 3903 反垄断 (最大流推的结论题)
题目 中文题目,不解释: BZOJ传送门 分析 这道题BZOJ上也只有几个人过-奇怪了 下面是正解 原问题为一个二分图边染色问题.首先考虑最好情况.最理想情况的分配为:设一个点xxx的度为dgr(x) ...
- [Google Guava] 2.3-强大的集合工具类:java.util.Collections中未包含的集合工具
原文链接 译文链接 译者:沈义扬,校对:丁一 尚未完成: Queues, Tables工具类 任何对JDK集合框架有经验的程序员都熟悉和喜欢java.util.Collections包含的工具方法.G ...
- 参数类型 (@Service层) interface 常用参数类型举例
public AdvMessage getMessage(String message, String type); public List<Map<String,Object>&g ...
- 最简单的babel+webpack配置
首先先介绍一下2个重要的库:core-js 和 regenerator core-js core-js 是用于 JavaScript 的组合式标准化库,它包含 es5 (e.g: object.fre ...