深度学习:第四章:循环神经网络RNN和LSTM-CSDN博客
深度学习:第六章:生成对抗网络GAN-CSDN博客
目标检测物体的位置用最小外接矩形描述
两步走的目标检测:先进行区域推荐,然后目标分类。如RCNN,SPPnet,fastRCNN等
端到端的目标检测:一个网络一步到位。如YOLO,SDD
图像bbox表示法
RCNN
RCNN方法需要两个模块:1. 提取物体区域 2. 对区域分类识别
- selective search
传统的CNN限制了输入必须固定大小,所以在实际使用中往往需要对原图片进行warp的操作改变图像大小
- 识别
从迁移学习开始说
迁移学习:是指利用数据或模型之间的相似性,将在旧领域学习过的模型,应用于新领域的一种学习过程
领域: 是进行学习的主体,对应于两个基本的领域: 源领域 (Source Domain) 和目标领域 (Target Domain)。源领域就是有知识、有大量数据标注的领域,是我们要迁移的对象;目标领域就是我们最终要赋予知识、赋予标注的对象。知识从源领域传递到目标领域,就完成了迁移。
分类:
fine tuning(微调):对现有的模型进行微调
当数据量较小时,运用深度学习很可能会出现严重的过拟合的现象。常见的做法是使用预训练的网络重新fine-tuning---只对于网络最后面的几层进行重新训练
SVM训练完训练完成后,如果完全分类正确,所有正样本的输出概率都大于0.5,而所有负样本的输出概率都小于0.5。
但常见的情况是有一部分的负样本的输出概率也大于0.5的, 这些样本就称之为“假阳性False Positives”。
如果把这些“False Positives”收集起来,对SVM进行二次训练,经过二次训练的SVM的分类准确度一般会有一定的提升
测试:
Selective Search(fast mode)提取~2000区域/图片;将所有区域膨胀+缩放到227x227;SVM分类器分类;非极大值抑制
性能评价:
图像识别的IoU
精确率:预测为1的样本中,真实值为1的比例
召回率:正样本中被正确预测的概率
RCNN缺点:训练过程复杂,占用空间,时间长
对RCNN的改进:
SPPnet
RCNN速度慢的原因之一:每张图片的2000各区域都卷积计算特征
SPP改进:
减少卷积运算:先分候选区域,再卷积--->先卷积,再在原图找候选区域,然后映射
金字塔池化(SPP):可以处理不同尺寸的图片
缺点:还是复杂,速度仍不够快;SPP层之前的卷积层不能fine tuning
Fast RCNN
改进:速度更快,端到端单阶段训练,所有层都可以fine tuning;不需要存储特征文件
(何谓端到端? 以往人们会将一次训练分为预处理,特征提取等阶段,而端到端整个学习的流程并不进行人为的子问题划分,而是完全交给深度学习模型)
创新点:感兴趣区域池化(金字塔池化的改良)
多任务损失函数:
FasterRCNN
用集成网络RPN代替候选区域SS
Yolo v1:
优点:速度快,假阳率低,更快学习到物体的特征
缺点:准确率低,易定位错误,对小物体检测效果差
Yolo v2
批标准化Batch Normalization:提高收敛速度,减少过拟合
高分辨率分类器:提高准确率
K聚类方法训练
借鉴RANN中anchor(候选区域)的方法
Yolo v3
多尺度预测:从三种不同尺度的特征图谱上进行预测任务