Fast-Rcnn学习笔记

Fast-RCNN总览



step1:图片先放进卷积层
step2:再卷积层的特征图谱上回映射出对应的感兴趣区域
step3:集过一层ROI Pooling(后面介绍)
step4:每一个ROI变成一维的向量送入两个全连接层
step5:在最后的全连接层再分别将向量送入到分类框/回归框

Fast-RCNN与SPPNet的比较

  • Fast-Rcnn在SPPNet上再进行改进
  • SPP-net上的不足之处
    1. 训练比较慢(25h),需要许多磁盘空间
    2. 再训练时不能更新SPP层下的参数
  • Fast R-CNN有点
    1. 测试是更快
    2. 一步训练
    3. 更高的map
  • Fast R-CNN的ROI跟sPPNet类似但是又不太一样
    • Fast R-CNN是用固定大小的H*W的框(H,W是需要设置的超参数)
    • 假设从特征图谱出来的特征图大小为(hw),则每一个小格的大小为(h/Hw/W)
    • 然后从每个小的格子中max-pooling,在每个特征图的通道中最大池化都是独立的

在测试时和训练时的过程

  • 测试时

  • 训练时

关于在分类器和回归器中的详解

在分类器

  • 说明
step1:这里包括N+1个类别(包括1个背景类)
step2:对这一个类别使用softmax进行打分(总和为1)
step3:从这N+1中选择一个分最大的,则该ROI属于的类别为该类

在回归器

  • 说明
step1:每一个类别对应4个参数(后面介绍dx,dy,dw,dh这四个参数)
step2:同理选出属于该类的dx,dy,dw,dh
  • 详解边界框回归器

  • 说明
step1:绿色的G是Ground Truth,黄色框P是预选框,红色框是最终预测的边界框
step2:dx(P) = (Gx-px)/Pw。同理可以求得dy(p),dw(p),dh(p)
step3:将求得的带入上面的公式中即可求得最终的预测框

关于Fast-RCnn中的Multi-task loss

分类损失

  • 因为是属于分类任务,所以使用Cross Entropy loss
  • 关于Cross Entropy

  • 本文对应的是多分类任务
step1:假设真实标签的one-hot编码是:[0,0,...,1,...,0]
step2:预测的softmax概率为[0.1,0.3,...,0.4,...,0.1]
step3:那么Loss=-log(0.4)

边界框回归损失

  • 说明
针对[u>=1]艾弗森括号:如果是背景类别则该项为0,即:背景不用边界框回归
  • 总上所述:fast-rcnn除了没用将selective search融为一体,将Feature extraction,classification,bounding-box regression都融为一体了
  • 后面提出的Faster-RCNN将解决这一问题

最新文章

  1. Thrift的TJsonProtocol协议分析
  2. 【原】iOS学习之应用程序的启动原理
  3. Junit测试打印详细的log日志,可以看到sql
  4. window_x64微信小程序环境搭建
  5. 2D Tookit (一) 精灵切割
  6. 重学STM32---(十) ——CAN通信(二)
  7. 学习笔记--Git安装 创建版本库 图文详解
  8. Android Service的生命周期
  9. 【转】(总结)Linux下su与su -命令的本质区别
  10. EGit with eclipse to clone project from GitHub(Step by step)
  11. wpf之ListBox中ListBoxItem横向排列
  12. vue项目通过webpack打包生成的dist文件放到express环境里运行(vue+webpack+express)
  13. 解决jQuery的$符号的冲突问题
  14. Ionic3关闭弹出页面,跳转到列表后刷新父页面
  15. CentOS6.8 下RPM方式安装MySQL5.6
  16. swiper,一个页面使用多个轮播
  17. Android USB Host框架
  18. BootStrap Table显示行号,并且分页后依然递增
  19. yii framework config 可以被配置的项目
  20. 学习MongoDB 四: MongoDB查询(一)

热门文章

  1. 要多简单就有多简单的H5拍照加水印
  2. ffmpeg将视频生成gif
  3. 各种类型的Dialog
  4. java中的排序除了冒泡以来, 再给出一种方法, 举例说明
  5. java中操作符的用法
  6. JS判断数组中的对象的每一个值不能为空
  7. Elasticsearch 使用-安装
  8. Codeforces Round #719 (Div. 3) C. Not Adjacent Matrix
  9. 技术管理进阶——一线Leader与大Leader的差异是什么?
  10. 眼见不一定为实:调用链HBase倾斜修复