目标检测: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,因此测试时间也很长。
目录
相关文章
|
2天前
|
机器学习/深度学习 计算机视觉 网络架构
改进YOLOv8:添加CBAM注意力机制(涨点明显)
改进YOLOv8:添加CBAM注意力机制(涨点明显)
1516 1
|
机器学习/深度学习 算法 数据挖掘
目标检测算法——YOLOv3
目标检测算法——YOLOv3
203 0
目标检测算法——YOLOv3
|
2天前
|
机器学习/深度学习 人工智能 算法
详细介绍卷积神经网络(CNN)的原理 !!
详细介绍卷积神经网络(CNN)的原理 !!
89 0
|
2天前
|
机器学习/深度学习 数据可视化 数据处理
【DeepViT】我们能否通过使用更深层来进一步提高vit的性能,就像cnn一样?
【DeepViT】我们能否通过使用更深层来进一步提高vit的性能,就像cnn一样?
44 0
【DeepViT】我们能否通过使用更深层来进一步提高vit的性能,就像cnn一样?
|
2天前
|
机器学习/深度学习 自然语言处理 算法
从滑动窗口到YOLO、Transformer:目标检测的技术革新
从滑动窗口到YOLO、Transformer:目标检测的技术革新
110 0
|
11月前
|
编解码 算法 数据挖掘
FCOS—分割思想做目标检测
FCOS—分割思想做目标检测
155 0
|
计算机视觉
目标检测 :YOLO V1思想总结
目标检测 :YOLO V1思想总结
182 0
目标检测 :YOLO V1思想总结
|
机器学习/深度学习 算法 计算机视觉
经典神经网络 | fast rcnn目标检测算法详解
经典神经网络 | fast rcnn目标检测算法详解
经典神经网络 | fast rcnn目标检测算法详解
|
机器学习/深度学习 计算机视觉 异构计算
目标检测:SppNet核心思想
目标检测:SppNet核心思想
112 0
目标检测:SppNet核心思想
|
机器学习/深度学习 算法 计算机视觉
目标检测算法——R-CNN
目标检测算法——R-CNN
136 0
目标检测算法——R-CNN