您的位置:  首页 > 技术杂谈 > 正文

Faster RCNN系列介绍

2022-01-21 21:00 https://my.oschina.net/u/3768341/blog/5407678 算法之名 次阅读 条评论

RCNN网络

RCNN网络是Ross B. Girshick大神2014年提出的,是第一个基于深度学习的目标检测算法,是基于深度特征的。它跟传统的目标识别不同的就是使用深度学习的特征代替了传统的基于低层次的颜色、纹理的特征提取。

因为RCNN并没有对整个传统目标检测的框架进行改进或者优化,因此RCNN网络依然存在传统目标检测算法所存在的问题,如检测速度或者效率低下,检测精度虽然相对于原先的目标检测算法有了一定的改善,但是依然难以满足实际的需要。这也是后续算法重要的改进方向。

RCNN网络是如何使用深度学习特征的。

  1. RCNN在使用深度学习特征的时候并没有直接使用卷积神经网去进行训练,而是使用了预训练模型AlexNet来训练分类模型,而这个模型是在ImageNet上训练好的模型。
  2. 在RCNN这个模型的分类任务上进行一个模型的fine-tuning(迁移)。在这个迁移的过程中主要将FC层去掉。因为AlexNet是面向1000个分类任务进行分类的,而在目标检测或者VOC数据集上,目标数为20,加上背景是21类。因此需要将FC层去掉,因为FC层的参数不同,只保留了主干网络层,也就是AlexNet卷积层的这些特征,利用这样的特征来进行模型进一步的训练。针对于CNN提取之后的特征,RCNN网络依然采用SVM分类器以及Bounding box回归的方式来得到最终的候选区域的类别和定位的位置信息。
  3. 在提取候选区域的时候采用选择性搜索策略而不是采用滑动窗口的策略。在采用滑动窗口策略一方面要考虑滑动窗口步长以及滑动窗口的大小,此时如果采用滑动窗口的策略,往往意味着要计算非常多的候选区域,而计算候选区域数量的增大,则直接带来了计算性能上的下降。整个目标检测的流程耗时会变得非常大。RCNN采用了选择性搜索的策略来提取候选框。
    1. 生成区域集R,具体参考论文《Efficient Graph-Based Image Segmentation》,采用区域分割的模型,进行区域分割之后就能得到一系列分割好的区域,这些区域往往是图像中某些可能的物体。
    2. 计算区域集R里每个相邻区域的相似度S={s1,s2,...}
    3. 找出相似度最高的两个区域,将其合并为新集,添加进R,减少生成的区域的个数。如何判断两个区域的相似度,通常也是采用颜色、纹理这样一些低层次的计算机视觉中的一些特征。
    4. 从S中移除所有与3中有关的子集
    5. 计算新集与所有子集的相似度
    6. 跳至3,直至S为空

 

展开阅读全文
  • 0
    感动
  • 0
    路过
  • 0
    高兴
  • 0
    难过
  • 0
    搞笑
  • 0
    无聊
  • 0
    愤怒
  • 0
    同情
热度排行
友情链接