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

一、创新点

针对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. 近几年ACM/ICPC区域赛铜牌题

    2013 changsha zoj 3726 3728 3736 3735 2013 chengdu hud 4786 4788 4790 2013 hangzhou hdu 4770 4771 47 ...

  2. xtrabackup 在线主从搭建

    因为意外导致某个MySQL的从服务器宕机,且不可修复,因为是业务数据库,不能停机和锁表进行从库的搭建,所以考虑了使用xtrabackup 进行在线主从搭建. 一.数据库环境 注意:  主从搭建主库一定 ...

  3. mvc中异常页面的设置

    参考原文: http://blog.csdn.net/zjlovety/article/details/48734791 这种异常处理就是说,在mvc发生未处理异常时,对用户展示的页面. 第一种能被m ...

  4. vue工具知识

    1.访问数据自动格式化 Google jsonview插件(已用) 2.字体图标库. https://icomoon.io/  上传svg可生成字体图标

  5. CMakeLists 链接库相关指令

    set(LSTAR_DIR "$ENV{HOME}/LStar_build") include_directories(${LSTAR_DIR}) LINK_DIRECTORIES ...

  6. Node.js WEB服务器(1)——编写简单的HTTP服务器

    基于分而治之的思想,很多架构都会采用分层的模式来处理某类应用.Node.js在Web开发上也是采用这种模式,分别提供了如下的三个层: Node核心 社区模块 应用逻辑 下面是一个最简形式的web服务器 ...

  7. mysql使用group_by

    GROUP BY必须得配合聚合函数来用,分组之后你可以计数(COUNT),求和(SUM),求平均数(AVG)等 常用聚合函数 count() 计数 sum() 求和 avg() 平均数 max() 最 ...

  8. 在PHP中使用AES加密算法加密数据及解密数据

    这个算法可以将数据加密后,储存起来,到需要用的时候,用之前加密的秘钥将之还原. 除了这个之外,还有AES这个算法能够将数据很好的加密起来,在传输过程中不容易被破解. 在PHP中,我们必须先安装好mcr ...

  9. java二分查找

    二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好:其缺点是要求待查表为有序表,且插入删除困难.因此,折半查找方法适用于不经常变动而查找频繁的有序列表.首先,假设表中元素是按升序排列,将表 ...

  10. 装机uefi问题

    1 uefi不支持普通winpe启动,需要改为legacy 2 七代酷睿不支持win10以下版本 3 装机后无法启动是因为隐藏分区问题,删除掉,最好整个硬盘格式化 4 老毛桃一键装机不可以时,改为虚拟 ...