目标检测:RCNN核心思想

简介: 目标检测:RCNN核心思想

R-CNN

在这里插入图片描述

候选框生成

在这里插入图片描述

本文采用Selective Search方法来提取候选框,每一张图片提取2000-3000个候选框,提取流程如下:

  1. 根据图像像素聚类,产生初始分割区域。
  2. 根据纹理、纹理大小、形状、相似度进行加权合并。
  3. 重复上述操作,产生2000-3000个候选框。

上述方法产生的候选框宽高不一,但是后续提取特征用到的CNN需要固定宽高,作者对图像resize到227*227。
因为直接resize这种做法会让图像失真,作者采用各向异性缩放+16padding的方式

Training

迁移学习

由于当时的目标检测数据集规模有限,于是先用了ILSVRC2012这个训练数据库(这是一个图片分类训练数据库),先进行网络图片分类训练。这个数据库有大量的标注数据,共包含了1000种类别物体,因此预训练阶段CNN模型的输出是1000个神经元,这样就可以通过图像分类数据集获得一定先验知识,然后把全连接层1000个神经元换成21个神经元(20个类别+背景),随机初始化新的Linear权重,固定卷积层的权重,调小学习率在目标检测数据集上拟合新的全连接层的权重。

分类与回归候选框

在这里把候选框与真实框计算IOU,如果IOU>0.5则被认为是正类,反之认为是负类(背景类),用来训练全连接层权重,收敛后,把4096维的特征拿出来,放入SVM模型进行分类。
用SVM的原因是,利用CNN训练需要大量的数据,否则会过拟合,而SVM则不需要大量的数据,在训练SVM的时候把IOU>0.7才标注为正类,这样会增大map。
回归

R-CNN存在的问题

  1. 训练时间长:主要原因是分阶段多次训练,而且对于每个region proposal都要单独计算一次feature map,导致整体的时间变长。
  2. 占用空间大:每个region proposal的feature map都要写入硬盘中保存,以供后续的步骤使用。
  3. multi-stage:文章中提出的模型包括多个模块,每个模块都是相互独立的,训练也是分开的。这会导致精度不高,因为整体没有一个训练联动性,都是不共享分割训练的,自然最重要的CNN特征提取也不会做的太好。
  4. 测试时间长,由于不共享计算,所以对于test image,也要为每个proposal单独计算一次feature map,因此测试时间也很长。
目录
相关文章
|
4月前
|
计算机视觉
5.1.2.3 目标检测基本概念和YOLOv3设计思想——交并比 NMS
这篇文章详细解释了目标检测中的关键概念交并比(IoU)和非极大值抑制(NMS),包括它们的定义、计算方法和在目标检测中的应用,以及如何使用这些技术来优化预测结果和减少冗余预测框。
|
4月前
|
监控 算法 自动驾驶
RetinaNet算法1
8月更文挑战第6天
|
4月前
|
机器学习/深度学习 监控 算法
RetinaNet算法2
8月更文挑战第7天
|
7月前
|
机器学习/深度学习 人工智能 算法
详细介绍卷积神经网络(CNN)的原理 !!
详细介绍卷积神经网络(CNN)的原理 !!
204 0
|
机器学习/深度学习 人工智能 算法
目标检测技术演进:R-CNN、Fast R-CNN、Faster R-CNN 之 RCNN
这篇文章的内容总结翻译自 A Step-by-Step Introduction to the Basic Object Detection Algorithms (Part 1) ,文中有加入自己的理解。
141 1
|
计算机视觉
目标检测 :YOLO V1思想总结
目标检测 :YOLO V1思想总结
211 0
目标检测 :YOLO V1思想总结
|
机器学习/深度学习 算法 计算机视觉
经典神经网络 | fast rcnn目标检测算法详解
经典神经网络 | fast rcnn目标检测算法详解
经典神经网络 | fast rcnn目标检测算法详解
|
机器学习/深度学习 计算机视觉 异构计算
目标检测:SppNet核心思想
目标检测:SppNet核心思想
137 0
目标检测:SppNet核心思想
|
机器学习/深度学习 编解码 算法
目标检测算法之FPN(附FPN代码实现)
目标检测算法之FPN(附FPN代码实现)
目标检测算法之FPN(附FPN代码实现)
|
机器学习/深度学习 并行计算 异构计算
Faster R-CNN思想总结
Faster R-CNN思想总结
152 0
Faster R-CNN思想总结

相关实验场景

更多