人工智能学习之路-目标检测(r-cnn)

目标检测 分两大技术体系 two-stage 和 one-stage. 我们首先从two-stage说起

two-stage代表主要是:R-CNN,Fast-RCNN,Faster-Rcnn 这一章节,我们先从这三个说起

r-cnn属于卷积神经网络在目标检测的初探,他是首次将cnn网络运用在目标检测方面

我们首先介绍使用过程,然而说明其中的注意事项

首先原始图像通过 selected search(ss)获得预选框(region proposals)2000个

然而这些预选框通过图像裁剪获得统一的尺寸(227*227),而后输入到cnn网络,进

行特征提取,然而对每一个候选框进行多分类(svm)提取。

缺点:

1)候选框裁剪为统一的尺寸,会丢失特征信息,影响最终的结果

2)对2000个预选框进行神经网络训练需要消耗大量的内存和算力

3)最终的分类使用的经典的支持向量机(svm),会随着分类的变多,导致训练消耗的时长更严重

4)需要额外的精力提取候选框

问题一:为什么要统一尺寸 

答:cnn最后一层往往是全连接层fc,具有相同的尺寸。

问题二:最终目标检测为何要使用svm,而不是使用softmax?

之前作者也是使用的softmax,不过结果是相应的mAP下降,所以为了提高精度选择svm.主要是这样考虑的:在cnn中,由于边框标记可能仅仅是物体的一部分,但是我们同样被标记为正样本,由于正样本的数量大于负样本的数量,最终导致CNN会出现过拟合.然而svm训练的时候,因为svm适用于少样本训练,所以对于训练样本数据的IOU要求比较严格,我们只有当bounding box把整个物体都包含进去了,我们才把它标注为物体类别,然后训练svm。一旦CNN f7层特征被提取出来,那么我们将为每个物体累训练一个svm分类器。当我们用CNN提取2000个候选框,可以得2000*4096这样的特征向量矩阵,然后我们只需要把这样的一个矩阵与svm权值矩阵4096*N点乘(N为分类类别数目,因为我们训练的N个svm,每个svm包好了4096个W),就可以得到结果了。

问题三:

你可能感兴趣的:(人工智能学习之路-目标检测(r-cnn))