前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >思考: R-CNN系列 网络结构 设计缺陷

思考: R-CNN系列 网络结构 设计缺陷

作者头像
JNingWei
发布2018-09-27 15:49:48
1.2K0
发布2018-09-27 15:49:48
举报
文章被收录于专栏:JNing的专栏JNing的专栏

观察

在 Fast R-CNN 中,网络最后部分的 cls reg (分类回归,即对框内实例进行标签分类)和 bbox reg (边界框回归,即对边界框进行平移回归)采用的是 双分支 并行 结构:

这里写图片描述
这里写图片描述

而且在 Faster R-CNN 中照搬了这一结构。

甚至在 Mask R-CNN 中,更是将 cls regbbox regmask 设计成 三分支 并行

这里写图片描述
这里写图片描述

思考

anchor中,绝大部分是要被打上 bg 标签 (即 分类为 “背景”)的。而 bbox reg 和 mask 又是很花时间的。

这就意味着:绝大部分被送入 bbox reg 分支mask 分支anchor,不仅是 无用的 anchor,更是 浪费GPU劳动力的 anchor

那么为何不把 多分支 并行 改成 多分支 串行 呢?

串行顺序: cls reg 分支 (分类任务) ——> bbox reg 分支 (检测任务) ——> seg 分支 (分割任务)

把 RPN(或FPN)生成的 海量 anchor 首先送入 cls reg 分支 (分类任务) 。既完成了分类任务,同时大浪淘沙,筛选后仅剩下少量的 非背景anchor,大大减少了后续的 bbox reg 分支 (检测任务) 乃至 seg 分支 (分割任务) 的工作量。

附加

但是 Kaiming He 和 Ross Girshick 怎么可能犯这么低级的错误?!所以十有八九是我错了。

后面我会仔细捋清楚 Faster R-CNN 和 Mask R-CNN 的源码实现细节,再回过头来补充。

后记

经过和师兄的讨论,发现如果要是设计为串行,那么就无法实现end-to-end训练了。说明我之前想错了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018年01月06日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 观察
  • 思考
  • 附加
  • 后记
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档