说明: 本文为学习深度学习相关知识时所做笔记,不保证完全正确,错误和描述不当的地方欢迎也感谢提出。
学习参考链接
文章目录
1 FAST R-CNN
1.1 one-stage和two-stage
one-stage[1]: 直接回归物体的类别概率和位置坐标值(无region proposal),但准确度低,速度比two-stage快;经典算法有YOLO系列、SSD系列等。
two-stage: 先由算法生成一系列作为样本的候选框,再通过卷积神经网络进行样本分类;经典算法有R-CNN、Fast-RCNN、Faster-RCNN等
1.2 回归方法和分类方法
分类方法: 若需要检测的候选类别共3个,分别是A,B,C;输入一张图片,算法只能输出确定的结果即A,B,C中的一个;分类一般适合类别比较少的情况
回归方法: 若需要检测的候选类别共3个,分别是A,B,C;输入一张图片,系统会返回一个3(类别的数量)维的矩阵[p1,p2,p3],p1,p2,p3分别是模型预测该图片是A,B,C的概率,若其中最大的一个概率大于某个阈值,则认为此概率对应的类别为检测结果。
例如[p1,p2,p3]=[0.87,0.03,0.1],则认为检测结果为A
1.3 YOLO统一网络
YOLO训练和检测均是在一个单独网络中进行,没有显示地求取region proposal的过程。
而rcnn/fast-rcnn采用分离的模块(独立于网络之外的selective search方法)求取候选框(可能会包含物体的矩形区域),训练过程因此也是分成多个模块进行。
Faster-rcnn使用RPN(region proposal network)卷积网络替代rcnn/fast rcnn的selective search模块,将RPN集成到fast-rcnn检测网络中,得到一个统一的检测网络。
尽管RPN与fast-rcnn共享卷积层,但是在模型训练过程中,需要反复训练RPN网络和fast-rcnn网络
1.4 Region Proposal(候选区域)
整个RCNN系列是基于Region Proposal(可译为候选区域)做的。简单来说,这种做法就是先在图上提取很多个候选区域,然后判断这个区域是否包含物体以及包含什么物体,最后对包含物体的候选区域位置进行精修[2]。
1.5 RPN(region proposal network)卷积网络
1.6 VGG16网络
1.7 softmax函数
(1)将模型的预测结果转化到指数函数上,这样保证了概率的非负性
(2)将转化后的结果除以所有转化后结果之和,可以理解为转化后结果占总数的百分比
参考链接
1.8 anchor、anchorbox
- Faster RCNN首先使用一组基础的conv+relu+pooling层提取image的feature
maps - 将feature maps中的某一个元素映射回原图像image,得到一个anchor(图中红色区域)
- 以该anchor为中心会生成不同的基础框anchorbox
- 通过bounding box regression进行分类和回归处理得到region proposals
- 关于anchor的窗口尺寸,三个面积尺寸(128^2, 256^2, 512^2),然后在每个面积尺寸下,取三种不同的长宽比例(1:1,1:2,2:1).这样一来,我们得到了一共9种面积尺寸各异的anchor
1.8 feature map
通过使用卷积核对图像进行卷积处理,生成一张记录图像特定特征的图像,有多少个卷积核则生成多少个feature Map
参考链接
2 YOLO系列
2.1 Epoch, Batch, Iteration
epoch: 将训练集所有样本进行训练一次成为1个epoch
batch: 当训练样本的数据太大时,需要将训练样本分成多批也就是多个batch进行训练
iteration: 每完成对1个batch的训练称之为1次iteration:
参考链接