博客
关于我
R-CNN算法
阅读量:577 次
发布时间:2019-03-10

本文共 1065 字,大约阅读时间需要 3 分钟。

R-CNN算法是目标检测领域的重要里程碑之一,该算法成功地将深度学习技术应用于目标检测,开创了历史新篇章。2012年AlexNet在ImageNet LSVRC中取得突破性成绩后,R-CNN的作者希望将AlexNet的图像分类能力迁移到PASCAL VOC目标检测任务中。这一目标需要解决两个关键问题:如何利用卷积网络进行目标定位,以及如何在小规模的数据集上训练出高性能的网络模型。

针对目标定位问题,R-CNN采用了候选区域(Region Proposal)的方法,这也是该算法得名的由来。通过生成一系列候选区域,结合与CNN特征提取的结果,从而实现对目标的定位。为了应对小规模数据集的训练挑战,R-CNN利用了AlexNet网络在ImageNet上的预训练模型进行微调,同时结合小规模、针对性的数据增加训练样本,使得模型性能得以显著提升。

R-CNN的完整流程可以分为以下几个关键步骤:

  • 候选区域的生成

    通过Selective Search算法对图像进行分割,得到原始候选区域,然后通过合并策略生成层次化的区域结构。这一层次化的区域结构能够有效覆盖图像中的潜在目标区域。

  • 特征提取

    将生成的2000个候选区域调整为227×227的尺寸,作为输入,发送到预训练好的AlexNet卷积神经网络中,提取4096维特征,形成2000×4096维的特征矩阵。

  • 分类与非极大值抑制

    将提取的4096维特征与20个SVM分类器结合,计算每个候选区域对应的类别得分。通过非极大值抑制(Non-Maximum Suppression,NMS)进一步优化,删除同一类中得分较低且与其他候选区域重叠较高的区域,确保每个类别只保留部分最优的候选框。

  • 回归调整

    使用20个回归器对剩余的候选框进行位置精细修正,最终生成对应类别的准确目标边界框输出。

  • R-CNN在实践中面临以下主要问题:

  • 检测速度较慢:特别是在CPU环境下,一张图像的处理时间可达53秒,主要原因在于Selective Search算法生成的候选框数量庞大且存在大量重叠,导致后续特征提取和分类过程的冗余计算。
  • 训练效率低下:整个训练过程耗时漫长,尤其是特征提取、SVM和回归器的训练需要从大量数据中获取特征,存储和处理成本高昂。
  • 存储需求过大:对于深度网络(如VGG16)和大型数据集(如VOCO7)的处理,所需存储空间达到数百GB,显著增加了硬件要求。
  • 模型更新受限:SVM分类器和回归器的训练与CNN特征提取过程并行,无法实现模型参数的联合优化,限制了模型性能的提升空间。
  • 转载地址:http://tqfvz.baihongyu.com/

    你可能感兴趣的文章
    oracle 嵌套表 例子,Oracle之嵌套表(了解)
    查看>>
    Oracle 常用命令
    查看>>
    Oracle 常用的V$视图脚本(二)
    查看>>
    Oracle 并行原理与示例总结
    查看>>
    oracle 并集 时间_Oracle集合运算符 交集 并集 差集
    查看>>
    Oracle 序列sequence 开始于某个值(10)执行完nextval 发现查出的值比10还小的解释
    查看>>
    ORACLE 异常错误处理
    查看>>
    oracle 执行一条查询语句,把数据加载到页面或者前台发生的事情
    查看>>
    oracle 批量生成建同义词语句和付权语句
    查看>>
    oracle 抓包工具,shell 安装oracle和pfring(抓包) 及自动环境配置
    查看>>
    Oracle 拆分以逗号分隔的字符串为多行数据
    查看>>
    Oracle 排序中使用nulls first 或者nulls last 语法
    查看>>
    oracle 插入date日期类型的数据、插入从表中查出的数据,使用表中的默认数据
    查看>>
    Oracle 操作笔记
    查看>>
    oracle 数据库 安装 和优化
    查看>>
    oracle 数据库dg搭建规范1
    查看>>
    Oracle 数据库常用SQL语句(1)
    查看>>
    Oracle 数据库特殊查询总结
    查看>>
    Oracle 数据类型
    查看>>
    Oracle 数据自动备份 通过EXP备份
    查看>>