---恢复内容开始---

一、创新点

针对two-stage的速度慢以及one-stage精度不足提出的方法,refinedet 包括三个核心部分:使用TCB来转换ARM的特征,送入ODM中进行检测;

两步级连回归;过滤较多的负样本(容易分类的,类似于ohem)。

(1)anchor refine module 和object detect module。前者类似于rpn,用于剔除过多的负样本和粗略调整anchor位置和尺寸(都是二分类);后者

将refine过的anchor进行进一步的微调(感觉跟two stage很像,为什么能快呢?)。整体结构如下图

                                            图1

  (2)在两个部分之间,设计了一个transfor connection block(TCB),如下图。TCB包括两个功能,一是转换ARM的特征,另一个是转换不同层的特征, 使用deconv来扩大特征,

用于后续特征的 element sum 。这一部分更新是FPN,融合多层特征。

              图2

---恢复内容结束---

(3)ODM

两步级连回归,有利于小物体检测。先使用ARM生成refined anchors boxes,再将其输入ODM再次回归和分类。此外还包括负样本过滤:当负样本的置信值超过阈值时直接丢弃。

总的来看, 该网络融合了one-stage 和 two-stage的特点,在ARM阶段生成先refined anchor box(类似于RPN), 在ODM,一方面输入refined anchor,另一方面融合多层特征(类似FPN)。

(4) loss

损失函数包括ARM loss 和 ODM loss,对于ARM,包括cross-entropy(二分类)和smoth-L1。对于ODM,则是softmax-loss和smoth-L1

(5)实验

结果还是挺不错的,在精度上,即使是320×320, mAP也能上80;速度很有优势,在500*500这一级别上,仅次于yolov2。

参考:https://blog.csdn.net/u014380165/article/details/79502308

(7)网络结构

以vgg16 320*320为例,主干网络的conv4_3(512*40*40),conv5_3 (512*20*20),  fc7(1024*10*10),  conv6_2(512*5*5)分别对应图1的主干网络四个特征图,用这四个特征图

1、每个特征图分别生成mbox_loc、mbox_conf、mbox_priorbox,    并通过concat操作,得到ARM相关的arm_priorbox、arm_loc、arm_conf

     2、

RefineDet算法笔记的更多相关文章

  1. 学习Java 以及对几大基本排序算法(对算法笔记书的研究)的一些学习总结(Java对算法的实现持续更新中)

    Java排序一,冒泡排序! 刚刚开始学习Java,但是比较有兴趣研究算法.最近看了一本算法笔记,刚开始只是打算随便看看,但是发现这本书非常不错,尤其是对排序算法,以及哈希函数的一些解释,让我非常的感兴 ...

  2. 算法笔记--数位dp

    算法笔记 这个博客写的不错:http://blog.csdn.net/wust_zzwh/article/details/52100392 数位dp的精髓是不同情况下sta变量的设置. 模板: ]; ...

  3. 算法笔记--lca倍增算法

    算法笔记 模板: vector<int>g[N]; vector<int>edge[N]; ][N]; int deep[N]; int h[N]; void dfs(int ...

  4. 算法笔记--STL中的各种遍历及查找(待增)

    算法笔记 map: map<string,int> m; map<string,int>::iterator it;//auto it it = m.begin(); whil ...

  5. 算法笔记--priority_queue

    算法笔记 priority_queue<int>que;//默认大顶堆 或者写作:priority_queue<int,vector<int>,less<int&g ...

  6. 算法笔记--sg函数详解及其模板

    算法笔记 参考资料:https://wenku.baidu.com/view/25540742a8956bec0975e3a8.html sg函数大神详解:http://blog.csdn.net/l ...

  7. 算法笔记——C/C++语言基础篇(已完结)

    开始系统学习算法,希望自己能够坚持下去,期间会把常用到的算法写进此博客,便于以后复习,同时希望能够给初学者提供一定的帮助,手敲难免存在错误,欢迎评论指正,共同学习.博客也可能会引用别人写的代码,如有引 ...

  8. 算法笔记_067:蓝桥杯练习 算法训练 安慰奶牛(Java)

    目录 1 问题描述 2 解决方案   1 问题描述 问题描述 Farmer John变得非常懒,他不想再继续维护供奶牛之间供通行的道路.道路被用来连接N个牧场,牧场被连续地编号为1到N.每一个牧场都是 ...

  9. 算法笔记(c++)--回文

    算法笔记(c++)--回文 #include<iostream> #include<algorithm> #include<vector> using namesp ...

随机推荐

  1. matplotlib-2D绘图库学习目录

    matplotlib的安装和 允许中文及几种字体 散点图 直线和点 子图 点的形状 条形图 堆叠条形图 直方图 颜色和样式字符串 饼状图  画多个图  画网格 线的形状  图例  坐标轴  画注释   ...

  2. 第27月第18天 epoll lt et

    1. While the usage of epoll when employed as a level-triggered interface does have the same semantic ...

  3. [Ynoi2016]这是我自己的发明 莫队

    传送门:here 很棒的莫队题啊..... 题意: 有一棵$ n$个点的树,树上每个点有点权,有$ m$次询问: 操作1:给定两个点$ x,y$,求二元组$ (a,b)$的数量,要求$ a$在$ x$ ...

  4. zabbix系列 ~ 自动监控多实例功能

    一 场景     监控mongo的多实例端口二 目标 定制一套模板,根据不同的端口进行批量监控项的生成三 步骤  1 编写py脚本实现端口josin化输出,以便zabbix_server能进行识别  ...

  5. Mybatis--课程中循序渐进的体会 《黑马程序员_Springmvc+Mybatis由浅入深全套视频教程video》

    mybatis 刚开始是用最原始的方法开发了一个入门程序,(没有dao) 1.将数据源配置在SqlMapConfig.xml 2.写一个po类 和映射文件User.xml(中的namespace=“名 ...

  6. Eclipse打印GC日志

    一.生成gc.log 第一步:右键项目或文件——Run As——Run Configurations. 第二步:点击Arguments,在VM arguments中填写-Xloggc:F:/gc.lo ...

  7. CF1102F Elongated Matrix

    题目地址:CF1102F Elongated Matrix 没想到Div.3里还有这么好的题 其实就是求Hamilton路径 预处理 \(d\) 数组: \(d1_{i,j}\) 表示第 \(i,j\ ...

  8. 【转】python f-string

    [转]python f-string   文章目录 1. 主要内容 1.1. 旧时代的格式化字符串 1.1.1. Option #1: %-formatting 1.1.2. 怎样使用 %-forma ...

  9. 【转】Vim速查表-帮你提高N倍效率

    Vim速查表-帮你提高N倍效率 转自:https://www.jianshu.com/p/6aa2e0e39f99 去年上半年开始全面使用linux进行开发和娱乐了,现在已经回不去windows了. ...

  10. 通过全备+relaylog同步恢复被drop的库或表【转】

    MySQL 中drop 等高危误操作后恢复方法 实验目的: 本次实验以恢复drop操作为例,使用不同方法进行误操作的数据恢复. 方法: 利用master同步 伪master+Binlog+同步 利用b ...