Faster R-CNNs
williamyi96
PhD Student on Machine Learning, Optimization, Federated Learning, and Data-Efficient Learning.
展开
-
Fast RCNN
基本介绍Fast RCNN应该是启发于ROI以及RCNN对SPP-Net以及R-CNN的优化。其主要的贡献点主要有两个方面,一方面是实现了大部分的端对端训练(提取proposal 阶段除外), 其将所有的特征都暂存在显存中,不需要额外的空间(将SVM分类和bounding box回归都整合到了CNN阶段进行训练);另外一方面提出了一个RoI层,实际上该层应该是SPP的变种,区别是SPP中是pooli原创 2017-08-18 20:33:16 · 510 阅读 · 0 评论 -
Faster RCNN 源码解读(1) -- 文件结构分析
基本介绍Faster RCNN 在目标检测及其相关领域得到了广泛的运用。其原型RCNN是将CNN引入到目标检测的开山之作,此外基于region proposal是一种十分值得学习的思想。因此将在后续的系列章节中,基于源码,对Faster RCNN进行深入的剖析。代码结构从github上的源码看上去就是这个样子:接下来将对各个文件夹的功能进行详细的分析:caffe-fast-rcnnFaster RC原创 2017-09-15 18:35:57 · 3423 阅读 · 5 评论 -
Faster RCNN 源码解析(3.2) -- Anchor 生成(generate_anchors.py)
基于源码的实现generate_anchors.py生成多尺度和多比例的锚点。这里由generate_anthors函数主要完成,可以看到,使用了 3 个尺度( 128, 256, and 512)以及 3 个比例(1:1,1:2,2:1)。一个锚点由w, h, x_ctr, y_ctr固定,也就是宽、高、x center和y center固定。<span style="font-size:24px原创 2017-09-15 22:46:12 · 2362 阅读 · 2 评论 -
Faster R-CNN基于代码实现的细节
Faster RCNN github : https://github.com/rbgirshick/py-faster-rcnnFaster RCNN paper : https://arxiv.org/abs/1506.01497Bound box regression详解 : http://download.csdn.NET/download/zy1034092330/9转载 2017-08-28 14:06:27 · 15778 阅读 · 16 评论 -
Faster RCNN 源码解读(2) -- NMS(非极大抑制)
NMS简介非极大抑制算法应用相当广泛,其主要目的是消除多余的框,找到最佳的物体检测位置。其实现的思想主要是将各个框的置信度进行排序,然后选择其中置信度最高的框A,将其作为标准选择其他框,同时设置一个阈值,当其他框B与A的重合程度超过阈值就将B舍弃掉,然后在剩余的框中选择置信度最大的框,重复上述操作。定义dets矩阵与阈值import numpy as npdets = np.array([原创 2017-09-15 21:54:01 · 9012 阅读 · 0 评论 -
Faster RCNN 源码解读(3.1) -- RPN源码结构介绍
RPN 总体介绍这里主要介绍了rpn的模型,其中,包含的主要文件如下:generate_anchors.py: 生成多尺度和多比例的锚点。这里由generate_anthors函数主要完成,可以看到,使用了 3 个尺度( 128, 256, and 512)以及 3 个比例(1:1,1:2,2:1)。一个锚点由w, h, x_ctr, y_ctr固定,也就是宽、高、x center和y center原创 2017-09-15 21:55:51 · 752 阅读 · 0 评论 -
ROI中feature map特征映射到perceptive fields难点解析
RCNN首次将CNN这一目标分类的王牌使用到了目标检测之中(虽然使用的过程中仍然将CNN当成是一个分类器),初代的R-CNN精度并不高,因此后续出现了诸如SPPNet, Fast R-CNN, Faster R-CNN等的一系列改进,最终实现了端对端的学习,同时带来了速度和精度上的提升。SPP-Net和Fast R-CNN本质上解决问题的思路都是一样的,也就是如何将候选框只用进行一次卷积得到feat原创 2017-08-18 18:11:15 · 5655 阅读 · 0 评论 -
Faster R-CNN(~ RPN + Fast R-CNN)
Faster R-CNN是一个真正意义上的端对端的目标检测模型,总体实现方式继承自RCNN, Fast RCNN, 而最大的改进是废除了上述两者的Selective Search 算法,同时也是其实现端对端的保证。论文中说,如果简单地在CNN前面加上一个专门提取proposal的网络显得不够优雅,所以最终把region proposal 提取和 Fast R-CNN部分融合进了一个网络模型,也就是区原创 2017-08-18 22:48:49 · 3907 阅读 · 0 评论 -
Bounding-box Regression深度解析
在R-CNN以及之后的系列文章中,都有Bounding-box Regression的使用,甚至到了MV3D等等的3D Bounding-box Regression, 其思想都是来源于最基础的Bb Regression的。我将从以下几个角度主要结合自己的理解来谈一谈Bounding-box Regression. 首先,讲一下bounding-box regression使用的动机及其解决的问题,原创 2017-08-24 15:51:17 · 6059 阅读 · 0 评论 -
RCNN
基本情况RBG大神的RCNN(Rich feature hierarchies for accurate object detection and semantic segmentation)是当之无愧的将CNN引入到目标检测的开山之作,其后续的Fast R-CNN, Faster R-CNN更是将CNN以及提出的RPN用到了高潮。之前拜读过大神的文章,但是有些理解不够深刻,今天斗胆进行归纳一二。首原创 2017-08-18 11:45:19 · 2614 阅读 · 0 评论 -
Faster RCNN 源码解析(3.3) -- proposal_layer.py
函数功能介绍这个函数是用来将RPN的输出转变为object proposals的。作者新增了ProposalLayer类,这个类中,重新了set_up和forward函数,其中forward实现了:生成锚点box、对于每个锚点提供box的参数细节、将预测框切成图像、删除宽、高小于阈值的框、将所有的(proposal, score) 对排序、获取 pre_nms_topN proposals、获原创 2017-09-16 10:30:41 · 1153 阅读 · 0 评论