学习本课程的前提:学完深度学习的基础以及掌握卷积神经网络。
原创课程,第一时间送达
前言
传统目标检测算法:
传统的目标检测算法大部分是通过不同大小的滑动窗口扫描图片,然后进行特征提取,最后使用分类器分类,这样做的缺点是:
1)基于滑动窗口的区域选择策略没有针对性,时间复杂度高,窗口冗余
2)手工设计的特征对于多样性的变化没有很好的鲁棒性
RCNN算法
Region CNN(RCNN)可以说是利用深度学习进行目标检测的开山之作。作者Ross Girshick多次在PASCAL VOC的目标检测竞赛中折桂,2010年更带领团队获得终身成就奖,如今供职于Facebook旗下的FAIR。
RCNN可分为四个步骤:
一张图像生成1K~2K个候选区域
对每一个候选区域,使用CNN来提取特征
特征送入每一类的SVM分类器,判断是否属于该类
使用回归器精细修正候选框位置。
下面详细讲解一下每一个步骤:
候选区域的生成
利于Selective Search算法通过图像分割的方法得到一些矩形框,矩形框当中就可能包含目标物体。
对每个候选区域,使用深度网络提取特征
将2000个候选区域缩放到227*227,接着将候选区域输入事先训练好的AlexNet CNN网络中,获得4096维的特征得到2000*4096维矩阵。这里的卷积神经网络并没有全连接层,直接从POOLING层中提取出特征后展平。
将特征向量送到每一类的SVM分类器,判定类别
将2000*4096的特征矩阵与4096*20的权值矩阵进行相乘,最后得到2000*20的评分矩阵,评分矩阵表示的是每个建议框是某个目标类别的得分,然后对上述2000*20维矩阵的每一列即每一类进行非极大值抑制来剔除重叠建议框,得到该列即该类中得分最高的一些建议框。
4.使用回归器精细修正候选框位置
对剩余的建议框进一步筛选,接着分别用20个回归器对上述20个类别中剩余的建议框进行回归操作,最终得到每个类别修正后的得分最高的bounding box。
缺点:
领取专属 10元无门槛券
私享最新 技术干货