参考链接:
【深度学习】R-CNN 论文解读及个人理解:https://blog.csdn.net/briblue/article/details/82012575
深度学习(十八)基于R-CNN的物体检测:https://blog.csdn.net/hjimce/article/details/50187029
R-CNN网络结构学习:https://blog.csdn.net/strawqqhat/article/details/103296241
1、RCNN 是什么
RCNN(Region with CNN features) 是第一个将深度学习的卷积网络应用在目标检测领域的算法,它通过使用卷积网络、SVM 和线性回归等算法来实现目标检测
2、RCNN 的网络结构图
3、RCNN 共有 4 个步骤
第一步:利用选择性搜索算法在图片上生成 2000 个候选区域
第二步:对这些候选区域进行归一化,变成固定尺寸大小的候选区域,然后将归一化后的候选区域输入到卷积网络中进行特征提取
第三步:将第二步中提取到的特征分别输入到每一类的 SVM 二分类器中进行二分类,判断是否属于这一类,然后对分好类的所有候选区域,进行非极大值抑制,得到筛选后的候选区域
第四步:将筛选后的候选区域输入到每个类的线性回归器中进行边框坐标回归,然后使用边框坐标回归值来校正原来的候选区域的坐标,最后输出预测坐标
3、RCNN 的优点
① 引入了可以学习参数的 CNN 来学习图片的特征,而不是使用传统的方法来人工设计特征描述子,节省大量的人工,而且还提高了模型的目标检测效果
② 提出了候选区域的概念,影响了后续的 Fast RCNN 、Faster RCNN 和 CTPN 等目标检测算法
4、RCNN 的缺点
① 使用选择性搜索算法来生成候选区域,浪费了大量的时间和存储空间
② 没有使用端到端的方法,使得需要存储大量的中间特征
③ 生成的候选区域存在大量重叠的区域,而且还直接将候选区域输入到 CNN 中进行特征学习,使得 CNN 学习了大量重复的特征,浪费了大量的算力,增加了模型训练的时间
④ SVM 跟 CNN 的过程断裂开,导致模型无法利用分类信息来更新模型的参数
⑤ 在测试阶段,每张图片的每个候选区域都要输入到 CNN 网络中,导致耗时太长
5、简述选择性搜索算法
选择性搜索算法英文名是 selective search,它通过颜色、纹理、形状等特征对图片进行分割
具体可看:目标检测算法:Selective Search(选择性搜索)简述 https://www.cnblogs.com/littlenyima/p/13358125.html
6、选择性搜索算法生成的候选区域大小不一样,但 CNN 网络却需要输入的图片的尺寸一样,因此需要对候选区域的大小进行统一。使用到的方法有:
① 各向异性,即直接将图片的大小 resize 到统一的大小
② 各向同性,则是分两个情况
a、先将候选区域的边框扩展成正方形,然后再进行裁剪。如果已经延伸到了原图中的边界之外,则超出原图的部分使用候选区域的像素均值进行填充
b、先将候选区域裁剪出来,然后扩充成正方形,最后再使用候选区域的像素均值进行填充
7、简述 SVM
8、简述 SVM 的核函数
网友评论