R-CNN系列演变:(区别与联系)

RCNN

卷积神经网络的物体检测奠基之作,核心思想是对每张图片选取多个区域,然后对每个区域样本进行卷积神经网络,来抽取特征,最后使用分类器来对齐分类和一个回归器来得到准确的边框。

R-CNN系列演变:(区别与联系)_第1张图片
来自沐神动手学深度学习系列教程

框的选择采用启发式搜索(selective search),此处的卷积神经网络主要用来提取特征,SVM用于对每一个框进行分类。

Fast R-CNN

改进:

  1. 考虑到R-CNN中含有大量相互重叠的选取的框,针对每一个框都需要做卷积比较浪费,因此Fast-RCNN先对输入图片抽取特征,然后再选取区域。
  2. 用单个的多类逻辑回归代(softmax)替多个SVM进行分类。
R-CNN系列演变:(区别与联系)_第2张图片
来自沐神动手学深度学习系列教程

每个区域都是不同的大小,不方便分类,可选用resize将框变到同一大小,然后实现分类,但是resize无法求导。此处采用ROI pooling 将框变到同一大小,方便后边网络进入全连接层,实现分类。
ROI pooling 解释:将经过卷积之后的特征加上建议的方框,对每一个框划分成n×m大小的格子,然后对每一个小块选取最大值保留,最终实现将所有建议框变成同样大小的框n×m。

Faster R-CNN

selective research 比较慢,属于传统目标检测中方法,不容易实现,而且不好说明原理,解释。
改进:将这部分变成RPN(region proposal network)


R-CNN系列演变:(区别与联系)_第3张图片
来自沐神动手学深度学习系列教程

以任意一个像素为中心生成n个大小形状不同的框,锚框anchor box。(不同的长宽比,不同大小)此处n=9,三种不同的大小,和三种长宽比(3×3)共9个。
每个锚框抽取特征,然后做bounding box regression 判断与真实框距离。
同时判断框内是否有物体,将初步判断有物体的框送入ROI Pooling,然后送入softmax判断是什么物体,同时再做refine,生成更准确的BBox。
RPN只负责产生一些边框。特征来自Conv。

总体:分两步,先生成box,然后与特征结合,做分类。

只是自己做的一个笔记,具体可看沐神视频https://www.bilibili.com/video/av42355860/?p=8

你可能感兴趣的:(R-CNN系列演变:(区别与联系))