[ 目标检测 ] 经典网络模型1——R-CNN 详解与复现


🤵 AuthorHorizon John

编程技巧篇各种操作小结

🎇 机器视觉篇会变魔术 OpenCV

💥 深度学习篇简单入门 PyTorch

🏆 神经网络篇经典网络模型

💻 算法篇再忙也别忘了 LeetCode


🚀 Regions with CNN features

近年来,目标检测性能在标准 PASCAL VOC 数据集上保持稳定 ;

性能最好的方法是复杂的集成系统(complex ensemble systems),通过将多个低维图像特征与高维背景结合 ;

利用 候选区域( region proposals )与 CNN 相结合 的方式,实现了平均精度(mAP)提高了30%以上 ;

R-CNNOverFeat(最近提出的一种基于类似CNN结构的滑动窗口检测器)相比,性能大大优于OverFeat ;


🔗 论文地址:Rich feature hierarchies for accurate object detection and semantic segmentation


在这里插入图片描述

Object detection system overview

🚀 R-CNN 详解

🎨 R-CNN 提出背景

自 CNN 于1990s 提出开始到 2012年 AlexNet 夺得 ILSVRC 2012 图像分类任务的冠军 ;
作者思考:如何将 图像分类 的性能泛化到 目标检测 任务上 ?
基于此提出了两个重点研究的问题 :

  • 使用深度卷积神经网络实现目标的定位 ;
  • 使用少量带标签的检测数据来训练较强的网络模型 ;

🚩 核心思想

(1)候选区域与CNN相结合( Regions with CNN features );

(2)利用利用大数据集 (ILAVRC) 预训练模型,然后利用小数据集 (PASCAL) 进行候选区域的微调,解决训练数据稀疏的问题 ;


🎨 R-CNN 网络结构

R-CNN 目标检测系统主要有4个步骤 :

  • 生成类别独立的 候选区域(Region proposals),这些候选区域组成了检测器的 检测集 ;
  • 利用 卷积神经网络 对每个候选区域提取固定长度的 特征向量 ;
  • 将 特征向量 输入到一系列特定类别的线性分类器 ( SVMs(二分类器) ) 进行分类 ;
  • 使用 回归器 调整修正候选框的位置 ;

🚩 Region proposals

使用 选择性搜索(selective search)来生成候选区域(数量:~2k) ;

在这里插入图片描述


🚩 Feature extraction

使用 AlexNet 对候选区域的特征进行提取 ;

将候选区域统一变换为 227×227 像素大小输入 AlexNet 网络 ;

特征矩阵通常为 2000×4096(2000个候选框,4096维特征向量);

SVM 权重矩阵为 4096×N,N为类别数,最后得到 2000×N 维矩阵,分别为每个候选框对应的每个类别的得分 ;

在这里插入图片描述


🚩 Test detection

总的来说:

  • 在测试环节,对图像进行选择性搜索,提取大约2000个 候选区域
  • 对候选区域进行尺寸变化并输入至 CNN 当中进行特征提取并输出特征向量 ;
  • 利用 SVM 对每个候选区域提取的特征向量进行评分分类 ;
  • 若候选区域存在着 ( IoU ) 重叠,采用 非极大值抑制 的方法进行抑制 ;
  • 对检测误差进行分析,借鉴 bounding-box regression 训练一个线性回归模型实现对 候选区域进行微调

注: bounding-box regression

建议框:Pi = ( P x i P^i_x Pxi P y i P^i_y Pyi P w i P^i_w Pwi P h i P^i_h Phi)

真实框:Gi = ( G x i G^i_x Gxi G y i G^i_y Gyi G w i G^i_w Gwi G h i G^i_h Ghi)

分别对应着建议框和真实框的 中心点坐标宽度高度

定义建议框到真实框之间的变换: dx( P ),dy( P ),dw( P ),dh( P ) ;

在这里插入图片描述

根据这些定义训练一个回归模型得到回归参数: tx,ty,tw,th

在这里插入图片描述


在这里插入图片描述


VOC 2010 检测平均精度(%)

在这里插入图片描述


ILSVRC 2013 检测平均精度

在这里插入图片描述


🚀 R-CNN 复现


🎨 详见下一章节 📕 :[ 目标检测 ] 经典网络模型2——Fast R-CNN 详解与复现


在这里插入图片描述



  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
目标检测是计算机视觉领域的重要任务,而Faster R-CNN作为目标检测领域的经典算法之一,具有较高的检测精度和鲁棒性。在睿智的目标检测系列中,我们将使用PyTorch搭建一个基于Faster R-CNN目标检测平台。 首先,我们将使用PyTorch构建一个深度学习模型的基础框架。PyTorch是一个开源的机器学习库,具有灵活的设计和易于使用的特点,因此非常适合用于搭建目标检测平台。我们将利用PyTorch提供的模块和工具,构建一个包含RPN模块、ROI pooling模块和分类回归模块的Faster R-CNN模型。 其次,我们将使用标记好的目标检测数据集,如COCO或PASCAL VOC数据集,对我们搭建的目标检测平台进行训练和验证。我们将利用PyTorch内置的数据加载和预处理工具,以及优化器和损失函数,对Faster R-CNN模型进行端到端的训练,以提高检测精度和泛化能力。 最后,我们将通过在真实场景下的目标检测任务中的应用,来验证我们搭建的Faster R-CNN目标检测平台的性能。我们将评估其在目标定位、多目标检测、不同尺寸目标检测等方面的表现,并对可能的改进和优化进行进一步的研究和实验。 通过这样一个基于PyTorch搭建的Faster R-CNN目标检测平台,我们将能够深入理解目标检测算法的原理和实现细节,提高对深度学习框架的应用能力,并为未来的研究和应用奠定基础。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Horizon John

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值