【机器学习】《动手学深度学习 PyTorch版》深度学习笔记(RCNN、fast-RCNN、faster-RCNN)

文章目录

    • RCNN
      • 一、RCNN系列简介
      • 二、RCNN算法流程的4个步骤
      • 三、RCNN存在的问题
    • fast-RCNN
      • 一、fast-RCNN简介
      • 二、fast-RCNN算法的3个步骤

RCNN

一、RCNN系列简介

R-CNN系列(R-CNN,fast-RCNN,faster-RCNN)是使用深度学习进行物体检测的鼻祖论文,其中fast-RCNN 以及faster-RCNN都是延续R-CNN的思路。

R-CNN全称region with CNN features,其实它的名字就是一个很好的解释。用CNN提取出Region Proposals中的featues,然后进行SVM分类与bbox的回归(定位置)。

【RCNN网络结构】
【机器学习】《动手学深度学习 PyTorch版》深度学习笔记(RCNN、fast-RCNN、faster-RCNN)_第1张图片【机器学习】《动手学深度学习 PyTorch版》深度学习笔记(RCNN、fast-RCNN、faster-RCNN)_第2张图片

二、RCNN算法流程的4个步骤

重要思想:
(1)通过专门模板去生成候选框(RPN),寻找前景以及调整边界框(基于锚框)
(2)基于之前生成的候选框进行进一步分类以及调整边界框(基于建议框)
具体步骤:
1.一张图像生成1k~2k个候选区域(使用Selective Search方法)
2.对每个候选区域,使用深度网络提取特征(CNN)
3.特征送入每一类的SVM分类器,判别是否属于该类(SVM)
4.使用回归器精细修正候选框位置
步骤详解:
【机器学习】《动手学深度学习 PyTorch版》深度学习笔记(RCNN、fast-RCNN、faster-RCNN)_第3张图片
【机器学习】《动手学深度学习 PyTorch版》深度学习笔记(RCNN、fast-RCNN、faster-RCNN)_第4张图片
【机器学习】《动手学深度学习 PyTorch版》深度学习笔记(RCNN、fast-RCNN、faster-RCNN)_第5张图片
【机器学习】《动手学深度学习 PyTorch版》深度学习笔记(RCNN、fast-RCNN、faster-RCNN)_第6张图片
【机器学习】《动手学深度学习 PyTorch版》深度学习笔记(RCNN、fast-RCNN、faster-RCNN)_第7张图片
【机器学习】《动手学深度学习 PyTorch版》深度学习笔记(RCNN、fast-RCNN、faster-RCNN)_第8张图片

三、RCNN存在的问题

1.测试速度慢
2.训练速度慢(过程复杂,cnn、svm、回归网络都要训练)
3.训练所需空间大
【机器学习】《动手学深度学习 PyTorch版》深度学习笔记(RCNN、fast-RCNN、faster-RCNN)_第9张图片

fast-RCNN

一、fast-RCNN简介

Fast R-CNN是作者Ross Girshick继R-CNN后的又一力作。同样使用VGG16作为网络的backbone,与R-CNN相比训练时间快9倍,测试推理时间快213倍,准确率从62%提升至66%(再Pascal VOC数据集上)。
【机器学习】《动手学深度学习 PyTorch版》深度学习笔记(RCNN、fast-RCNN、faster-RCNN)_第10张图片

二、fast-RCNN算法的3个步骤

1.一张图像生成1K~2K个候选区域(使用Selective Search方法)
2.将图像输入网络得到相应的特征图,将SS算法生成的候选框投影到特征图上获得相应的特征矩阵
3.将每个特征矩阵通过ROI pooling层缩放到7x7大小的特征图,接着将特征图展平通过一系列全连接层得到预测结果
【机器学习】《动手学深度学习 PyTorch版》深度学习笔记(RCNN、fast-RCNN、faster-RCNN)_第11张图片
注意:
与RCNN在第二步有所不同,RCNN是把候选框送入CNN这里是把整张图片送进去
【机器学习】《动手学深度学习 PyTorch版》深度学习笔记(RCNN、fast-RCNN、faster-RCNN)_第12张图片

你可能感兴趣的:(深度学习,pytorch)