文章目录
一.R-CNN
各个字母的含义
1.TP(真正,即命中)与TP(假正)
2.GT(great trueth)
3.IoU(交并集)
4.AP(average precision)精确率和mAP(mean average precision)平均精确率
5.召回率recal的计算是用检测正确的数据个数/GT之中所有正数据的个数
6.NMS(Non-maximum suppression)非极大值抑制
R-CNN的缺点
1.训练时间长,模型多个模型
2.处理速度慢(主要慢在卷积这个地方,)
候选的方法
1.滑窗法
2.选择性搜索
需要去考虑的问题
1.NMS的过程描述?以及作用?(筛选出最佳候选框)
答:NMS的过程描述
给出一张图片和其上面许多物体检测的候选框(即每个框可能代表某种物体),但是这些框很可能有相互重叠的部分,我们要做的就是只留下最优的框。假设有N个框,每个框被分类器计算得到的分数为Si,i∈[1,N]。
a、建造一个存放待处理候选框的集合H,初始化为包含全部N个框;建造一个存放最优框的集合M,初始化为空集。
b、将所有集合H中的框进行排序,选出分数最高的框m,从集合H移到集合M;
c、遍历集合H中的框,分别与框m计算交并比(Interection-over-union,IOU),如果高于某个阈值(一般为0~0.5),则认为此框与m重叠,将此框从集合H中去除;
d、回到b步骤进行迭代,直到集合H为空,集合M中的框为我们所需。
2.说明候选框的修正过程
3.IoU以及map计算过程
二.SPPNet
1.优点
1.提出了spp层
2.减少卷积运算
3.一张图片只卷积一次,不像R-CNN一个候选区域就要卷积一次
2.SPPNet的过程
1.把全图塞给CNN得到全图的feature map
2.让ss在原图得到候选区域直接映射特征向量中对应的位置
问:该如何映射呢?
答:
1.左上角的点:x’=[x/s]+1;
2.右下角的点: x’=[x/s]-1
3.映射过来的特征向量,经过spp层(空间金字塔变换层),S输出固定大小的特征向量给FC(全连接)层
3.spatial pyramid pooling(SPP)
1.通过spp讲图转化成固定大小的特征向量
2.spp layer会将每一个候选区域分成11,22,4*4三张子图
3.(16+4+1)256=21256=5376
Fast R-CNN
改进的地方:
- 提出一个Rol pooling,然后整合整个模型,把CNN,Rolpooling、分类器、bbox回归几个模块整个一起训练
- 分类使用sofmax计算
步骤
1.把全图塞给CNN得到全图的feature map
2.将选择性搜索算法的结果region proposal(Rol)直接映射特征向量中对应的位置
3.rol pooling layer提取一个固定长度的特征向量,每个特征会输入到一系列全连接层,得到一个rol特征向量(此步骤是对每一个候选区域都会进行同样的操作)
Rol pooling
1.为了减少计算时间并且得到固定长度的向量
2.使用一种4*4=16的空间盒数
3.英雌Fast R-CNN要比SPPNet快很多,但是准确率并没有多很多
Faster R-CNN
1.候选区域筛选融合到网络当中
四个基本步骤(候选区域生成,特征提取,分类,位置精修)终于被统一到一个深度网络框架
2.区域生成网络(RPN)+Fast R-CNN
3.RPN替代了SS选择性算法搜索
RPN是用来生成候选区域的
通过softmax判断其是属于foreground或者background
YOLO(You only look once)
结构:GoogleNet+4个卷积+2个全连接层
网络输出大小7730
流程
缺点
如果很多物体靠的很近,则测试效果不好,适合测试物体离得很远的图片
SSD(single shot multibox detector)
SSD的特点
1.SSD结合了YOLO中的回归思想和Faster-R-CNN中的anchor机制,使用全图各个位置的多尺度区进行回归,既保持了YOLO速度快的特性,也保证了窗口预测跟Faste -R-CNN一样精准
2.SSD的核心是在不同尺寸的特征图上采用卷积核来预测一系列Default Bounding Boxes的类别、坐标偏移
要求
输入的图片得变成300*300大小的