RCNN算法
其实RCNN的算法思想依旧是没能抛弃传统检测方法的思想,把检测问题看作为一个特征分类的问题来看待和解决,于是也便诞生了Two-Stage方法,即先提取图像的候选框,然后对候选框内的特征进行提取和分类。
算法具体步骤:
1、候选框生成:
采用Region Proposal来提取图像中的候选框(Selective Search算法),先将图像分割为很小的区域,然后合并包含同一个物体可能性高的区域,进而输出,RCNN的这个过程大概会产生2000个候选框。
在提取完候选框后还需要对每一块区域进行归一化处理,得到固定大小的图像,以供后续CNN网络的输入统一。
2、CNN提取特征:
将第一步归一化后的大小一样的图像送入CNN网络,得到固定维度的特征输出。
3、SVM分类:
使用线性二分类器对输出的特征进行分类,得到是否属于此类的结果,并采用难样本挖掘来平衡正负样本的不平衡问题;
4、位置精修:
通过一个回归器,对特征进行边界回归以得到更为精准的目标区域。
存在的问题
1、RCNN训练比较繁琐,训练时间比较久;
2、由于设计分类网络的FC网络,因此CNN的输入必须保持尺寸的统一,这样对于大多数的区域目标来说,可能都会出现畸变,进而导致精度降低;
3、候选区域需要提前保存以供CNN网络使用,占用资源较大。