7.7.1 RCNN
7.7.1 rcnn
介绍rcnn之前先介绍几个目标检测领域的常用概念。
region proposals,即推荐框,如图7-27所示,目标检测算法通常会在图片中识别出物体的轮廓,并用一个长方形表示物体的范围。
图7-27 region proposals示例
ground truth,即标定过的真实数据,指的是人工标记的物体的真实范围。
detection result,即模型检测出的物体的范围。
iou,如图7-28所示,可以理解为系统预测出来的框与原来图片中标记的框的重合程度。计算方法即detection result与ground truth的交集比上它们的并集。
rcnn的预测阶段的基本流程如图7-29所示,分为三个步骤。
? 产生2000个不依赖于特定类别的region proposals
? 通过卷积神经网络,对每个region proposals先转换成固定的大小227x227,产生一个固定长度的特征向量,特征向量的大小通常为4096维。
? 通过一系列特定类别的线性svm分类器,得出物体分类结果。
这里需要指出的是,rcnn为每个类别都构造了一个svm的二分类器。比如要识别小猪,就把训练集中ground truth为小猪的作为正样本,iou大于0.5的均为正样本,iou小于0.3的均为负样本,负样本有可能是背景,也有可能包含了其他目标。svm的输入为卷积神经网络提取的固定长度的特征向量。
图7-28 iou示意图
图7-29 rcnn流程图
为了让预测的iou尽量大,也就是说预测的物体的范围更加准确,还需要使用回归算法对预测的detection result进行微调,尽可能接近ground truth。
从上述过程可以看到,rcnn需要训练多个svm分类器,也要训练多个回归器,训练的数据都是很高的维度(4096维),并且整个过程都是串行进行的,因此rcnn训练效率非常低。即使是在预测阶段,也需要在图像上产生2000个region proposals,然后针对每个region proposals进行卷积计算,在多个svm分类器上进行预测,因此预测性能也很差。科研人员使用gpu测试,平均每张图片的处理延时都达到了13秒,在cpu上甚至达到53秒。
介绍rcnn之前先介绍几个目标检测领域的常用概念。
region proposals,即推荐框,如图7-27所示,目标检测算法通常会在图片中识别出物体的轮廓,并用一个长方形表示物体的范围。
图7-27 region proposals示例
ground truth,即标定过的真实数据,指的是人工标记的物体的真实范围。
detection result,即模型检测出的物体的范围。
iou,如图7-28所示,可以理解为系统预测出来的框与原来图片中标记的框的重合程度。计算方法即detection result与ground truth的交集比上它们的并集。
rcnn的预测阶段的基本流程如图7-29所示,分为三个步骤。
? 产生2000个不依赖于特定类别的region proposals
? 通过卷积神经网络,对每个region proposals先转换成固定的大小227x227,产生一个固定长度的特征向量,特征向量的大小通常为4096维。
? 通过一系列特定类别的线性svm分类器,得出物体分类结果。
这里需要指出的是,rcnn为每个类别都构造了一个svm的二分类器。比如要识别小猪,就把训练集中ground truth为小猪的作为正样本,iou大于0.5的均为正样本,iou小于0.3的均为负样本,负样本有可能是背景,也有可能包含了其他目标。svm的输入为卷积神经网络提取的固定长度的特征向量。
图7-28 iou示意图
图7-29 rcnn流程图
为了让预测的iou尽量大,也就是说预测的物体的范围更加准确,还需要使用回归算法对预测的detection result进行微调,尽可能接近ground truth。
从上述过程可以看到,rcnn需要训练多个svm分类器,也要训练多个回归器,训练的数据都是很高的维度(4096维),并且整个过程都是串行进行的,因此rcnn训练效率非常低。即使是在预测阶段,也需要在图像上产生2000个region proposals,然后针对每个region proposals进行卷积计算,在多个svm分类器上进行预测,因此预测性能也很差。科研人员使用gpu测试,平均每张图片的处理延时都达到了13秒,在cpu上甚至达到53秒。