区域卷积神经网络:Regions with CNN features,简称 R-CNN

论文:Rich Feature Hierarchies for Accurate Object Detection and Semantic Segmentation (thecvf.com)

cnn识别整个图像,输出一个结果

R-cnn识别整个图像,输出多个结果

 

 

 RCNN分为四步:

  1. 提取候选区

  采用selective search(SS,选择性搜索)来进行region proposal的选取

  2. CNN进行分类

  使用CNN网络对选取的2000存在物体的潜在区域进行特征提取。但是可能存在一些问题,由于上一步Region proposals所提取出来的图像的尺寸大小是不一样的,我们需要卷积后输出的特征尺度是一样的,所以要将Region proposals选取的区域进行一定的缩放处理(warped region)成统一的227x227的大小,再送到CNN中特征提取。

  R-CNN特征提取用的网络 模型是对ImageNet上的AlexNet(AlexNet网络详解)的CNN模型进行pre-train(以下有解释,可先行了解pre-train)得到的基本的网络模型。

  然后需要对网络模型进行fine-tune,这时网络结构需要一些修改,因为AlexNet是对1000个物体分类,fc7输出为1000,因此我们需要改为(class + 1)若类别数为20则应改为20+1=21个节点,加一的原因是对图像背景类识别,判断是不是背景。其他的都用AlexNet的网络结构fine-tune(全连接),其中包括五层卷积和两层全连接层。

 

 

 

   

 

   参考文献:卷积神经网络(三,R-CNN) - 知乎 (zhihu.com)

  3. SVM进行分类

  训练一个SVM分类器(二分类)来判断这个候选框里物体的类别,每个类别对应一个SVM,判断是不是属于这个类别,是就是positive,反之nagative

  为什么训练一个分类器?

    效果不好

    IOU大于0.5标记为正样本,其他的标记为背景,而在训练SVM的时候,IOU小于0.3的标记为负样本,ground truth为正样本,其他的丢弃。

    在训练CNN的时候对正例样本定义相对宽松,会在一定程度上加大正例的数据量,防止网络的过拟合,而SVM这种算法的机制,适合小样本的训练,因此对真样本限制严格

  

 

 

 

  4. 边界盒回归

  就是将把图片变成正常的

  (98条消息) 边框回归(Bounding Box Regression)详解_南有乔木NTU的博客-CSDN博客_bounding box regression

中英文对照:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

posted on 2023-02-04 01:02  黑逍逍  阅读(22)  评论(0编辑  收藏  举报