目标检测: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,因此测试时间也很长。
目录
相关文章
|
7月前
|
资源调度 监控 调度
基于SCA的软件无线电系统的概念与架构
软件通信体系架构(SCA)是基于软件定义无线电(SDR)思想构建的开放式、标准化和模块化平台,旨在通过软件实现通信功能的灵活配置。SCA起源于美军为解决“信息烟囱”问题而推出的联合战术无线电系统(JTRS),其核心目标是提升多军种联合作战通信能力。 上海介方信息公司的OpenSCA操作环境严格遵循SCA4.1/SRTF标准,支持高集成、嵌入式等场景,适用于军用通信、雷达等领域。 SCA体系包括目标平台资源层(TRL)、环境抽象层(EAL)、SRTF操作环境(OE)及应用层(AL)。其中,SRTF操作环境包含操作系统、运行时环境(RTE)和核心框架(CF),提供波形管理、资源调度等功能。
|
9月前
|
数据采集 Oracle Java
如何使用Scala和Selenium爬取知乎视频并保存到本地
如何使用Scala和Selenium爬取知乎视频并保存到本地
252 16
|
分布式计算 大数据 数据处理
经典大数据处理框架与通用架构对比
【6月更文挑战第15天】本文介绍Apache Beam是谷歌开源的统一数据处理框架,提供可移植API,支持批处理和流处理。与其他架构相比,Lambda和Kappa分别专注于实时和流处理,而Beam在两者之间提供平衡,具备高实时性和数据一致性,但复杂性较高。选择架构应基于业务需求和场景。
827 3
经典大数据处理框架与通用架构对比
|
10月前
|
机器学习/深度学习 数据采集 搜索推荐
使用Python实现智能食品消费偏好预测的深度学习模型
使用Python实现智能食品消费偏好预测的深度学习模型
320 23
|
11月前
|
JSON 数据处理 Swift
Swift 中的网络编程,主要介绍了 URLSession 和 Alamofire 两大框架的特点、用法及实际应用
本文深入探讨了 Swift 中的网络编程,主要介绍了 URLSession 和 Alamofire 两大框架的特点、用法及实际应用。URLSession 由苹果提供,支持底层网络控制;Alamofire 则是在 URLSession 基础上增加了更简洁的接口和功能扩展。文章通过具体案例对比了两者的使用方法,帮助开发者根据需求选择合适的网络编程工具。
256 3
|
安全 网络安全 API
无需公网也可访问的ChatGPT WebUI服务
通过阿里云计算巢实现无需开启公网访问即可使用的ChatGPTWebUI服务。借助WEB安全代理功能保障安全,无公网费用,适合个人与团队内部使用。
|
JSON Kubernetes 数据格式
crictl 常见的命令大全
crictl(Container Runtime Interface Command Line Interface)是一个命令行工具,用于与符合Kubernetes容器运行时接口(CRI)规范的容器运行时进行交互。它提供了一系列命令来查看和管理容器、镜像、Pod等资源。以下是crictl的一些常见命令及其功能概述: ### 1. 镜像管理 * **查看镜像**: - `crictl images`:列出所有镜像。 - `crictl images | grep <image-name>`:查看特定镜像。 * **拉取镜像**: - `crictl pull <image_na
4856 9
|
监控 BI 数据安全/隐私保护
ERP系统中的成本核算与管理会计解析
【7月更文挑战第25天】 ERP系统中的成本核算与管理会计解析
967 4
|
数据采集 算法 数据处理
Python中的列表推导式:简介与应用
【9月更文挑战第14天】本文旨在介绍Python中一种强大且简洁的构造列表的方法——列表推导式。我们将从基础语法入手,通过实例演示其用法,并探讨在数据处理和算法优化中的应用价值。文章将不包含代码示例,而是专注于概念理解和应用场景的描述,以促进读者对列表推导式的深入认识。
306 3
|
Apache 数据中心 Windows
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?
将网站迁移到阿里云Windows系统云服务器,访问该站点提示连接被拒绝,如何处理?