【1】前言
目标识别(objec recognition)是指明一幅输入图像中包含那类目标。其输入为一幅图像,输出是该图像中的目标属于哪个类别(class probability)。而目标检测(object detection)除了要告诉输入图像中包含了哪类目前外,还要框出该目标的具体位置(bounding boxes)。rcnn系列网络用于目标检测,并且检测精度逐步增高。目标检测的传统过程如下所示。
(1)输入图像,采用提取框。(2)提取特征。(3)图像分类。(4)极大值抑制。
【1】R-CNN
1.1 相比传统算法的的创新点
(1)将传统的特征(如SIFT, HOG特征等)换成了深度卷积网络提取的特征。
(2)Selective Search搜寻可能存在物体的区域,传统方法是直接把图像分成许多子块(sub-regions / patches),然后把子块作为输入,送到目标识别的模型中。
1.2 实现流程
(1)在数据集上训练CNN 。R-CNN论文中使用的CNN网络是AlexNet,数据集为ImageNet 。
(2)在目标检测的数据集上,对训练好的CNN做微调。
(3)用Selective Search搜索候选区域,统一使用微调后的CNN对这些区域提取特征,并将提取到的特征存储起来。
(4)使用存储起来的特征,训练SVM分类器。
1.3 流程图
参考文献:目标检测之R-CNN
【2】Fast-R-CNN
2.1 创新点
(1)使用神经网络进行分类,而不是传统的支持向量机进行分类。
(2)使用ROIPolling
2.2 实现流程
(1)载入图像,selectsearch选取区域。
(2)卷积网络提取特征。
(3)ROIPolling保证不同大小的特征图具有相同的维度。
(4)全连接层进行分类和回归
2.3流程图
2.4 相关名词解释
ROIPolling
设卷积层输出的宽度为w,高度为h,通道为c。其中wh为变值,c为定值。
(1)把卷积层划分为4x4的网格,每个网格的宽是w/4、高是h/4、通道数为c。当不能整除时,需要取整。每个网格内的特征做最大值池化,得到4*4*c.
(2)再把网络划分成2x2的网格,用同样的方法提取特征,提取的特征的长度为4c。
(3)再把网络划分为1x1的网格,提取的特征的长度就是c。
最后,将得到的特征拼接起来,得到的特征是16c+4c+c = 21c维的特征。
框回归
参考文献:目标检测之 Fast R-CNN
【3】Faster-R-CNN
3.1 创新点
(1)用RPN网络(Region Proposal Network)取代了Selective Search,不仅速度得到大大提高而且还获得了更加精确的结果。
3.2 实现流程
(1)载入图像,RPN网络提取区域。
(2)卷积网络提取特征。
(3)ROIPolling保证不同大小的特征图具有相同的维度。
(4)全连接层进行分类和回归