【目标检测算法系列】一、R-CNN算法

R-CNN是首个将深度学习应用于目标检测的算法,它包括候选区域提取、CNN特征提取、SVM分类和边界框回归四个模块。通过ImageNet预训练、选择性搜索获取候选框、CNN微调和SVM训练来实现目标检测。然而,其速度慢、过程繁琐及特征提取可能导致信息丢失等问题限制了其应用,后续算法对此进行了优化。
摘要由CSDN通过智能技术生成

R-CNN 是第一个成功将深度学习应用到目标检测上的算法,也是后续Fast R-CNN , Faster R-CNN等系列算法的鼻祖

一、R-CNN整体架构

R-CNN的全貌如下图所示 

它主要分为4个模块

  1. 候选区域(region proposal)提取
  2. 一个大型的CNN网络用来特征提取
  3. 使用SVM分类模型进行类别分类
  4. 使用回归(Regression)模型进行具体定位

具体RCNN的训练流程如下:

  1. 先使用ImageNet数据集训练一个CNN网络(论文中使用的是AlexNet)
  2. 使用选择性搜索(selective search)算法提取出2000个候选框
  3. 将提取出来的候选框统一resize到 CNN网络所需要的尺寸
  4. 使用自己的数据集对CNN网络进行fine-tuning(微调)
  5. 利用fine-tuning后的CNN网络对候选框进行特征提取
  6. 训练多个二元SVM分类模型
  7. Bounding-box回归来减少候选区域误差

二、具体模块设计

1.在ImageNet数据集上训练一个CNN网络

论文中提到,因为实际标签数据太少,远远不够去训练一个大型的CNN网络模型,所以需要先借助ImageNet数据集进行训练CNN网络,也就是预训练过程,然后再在自己的数据集上针对特定任务进行微调,也就是调优。这是在训练数据稀少的情况下一个非常有效的训练大型卷积神经网络的方法

2. 候选区域提取

R-CNN算法使用的 选择性搜索(selective search)算法提取出了2000个候选框,Selective search综合考虑图像的颜色、纹理、尺寸相似性和空间重合度来划分区域,并将小区域按照相似性合并为大区域。

具体选择SS算法的大概思路如下:

    1. 使用图像分割算法创建候选区域

    2. 使用贪心算法来进行候选区域合并:

        计算所有候选区域的相似度

        将最相似的两个候选区域合并为一个区域

    3. 重复迭代2过程,直到满足条件</

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值