RCNN网络原理详解

文章目录

  • 一、前言
  • 二、R-CNN原理步骤
    • 2.1.Selective Search生成目标检测
    • 2.2.对候选区域使用深度网络提取特征
    • 2.3.SVM分类
    • 2.4.使用回归器精细修正候选框位置
  • 三、总结
  • 参考博客与学习视频

一、前言

学习目标检测当然要学习目标检测领域的开山之作R-CNN,本文为个人笔记。
在这里插入图片描述

二、R-CNN原理步骤

R-CNN分为四个步骤:

1.由SS算法生成大约1-2k个候选框。
2.将候选框输入深度网络,提取特征。
3.使用SVM分类器得到每一个候选框属于每一个类别的分数。
4.使用回归器修正候选框位置
在这里插入图片描述

2.1.Selective Search生成目标检测

关于Selective search的原理,详细的可以去看我写的另一篇博客博客地址。简要来说:大概的意思就是首先根据图像分割的算法来初始化划分区域,

然后根据不同颜色模式、目标颜色、纹理、大小、形状等特征来计算相似度合并子区域,使得区域相比穷举法更少,节省计算资源,提高效率,

同时可以有很好的召回率,使得生成的候选框可以很好的覆盖所有待检测目标。

2.2.对候选区域使用深度网络提取特征

在这里插入图片描述

与之前不同的是这里的AlexNet去掉了后面的全连接层,只保留了一层全连接

2.3.SVM分类

在这里插入图片描述
因为这里使用的使PASCAL VOC数据集,所以最终是有20个SVM分类器
在这里插入图片描述

如上图,2000✖4096的特征矩阵代表了2000个候选框经过深度卷积网络后提取的特征,对于每一个候选框,也即对于每一个4096维特征向量,我们需要使用SVM去判断它的类别,对于每一个类别都需要判断,总共20个类别,因此权值矩阵为2000✖20,最终得到的2000✖20的概率矩阵,每一行代表了它属于这20个类别的概率分布,对于每一个20维的概率向量来说,当中的每一个位置上的概率表示这个候选框目标属于该对应位置类别的概率。

在这里插入图片描述
得到所有候选框的类别分数后,还要进行非极大值抑制来剔除一些重叠的候选框

举例:假设我们得到上图中对于向日葵的一些候选框,通过输入深度卷积网络提取特征,再使用SVM分类器,我们最终得到了这些候选框对于向日葵这个类别的分数,我们找出得分最高的候选框,计算该候选框与其他候选框的IOU,如果IOU大于某个阈值,我们可以认为这两个框是一样的,可以删除掉这个候选框。保留下来的多个候选框我们可以认为都是向日葵的候选框,只不过位置不一样,也就是说图片中有多个向日葵。
疑问1:可能有人在想为什么不直接保留最大得分的候选框,设定一个阈值大于某个分数不就也可以保留了多个候选框吗?
答:这么理解其实是不对的 ,因为我们并不能保证候选框检测的不是同一个目标,如果检测的的同一个目标,分数都大于这个阈值,岂不是保留了同一个目标的多个预测框,这里非极大值抑制个人理解是为了删除同一个目标的多余候选框,也就是说最后保留下来的候选框我们认为它们检测不是同一个目标。
疑问2:图中有循环的操作,是怎么进行的呢?
答:个人认为是我们先找最大的得分的检测框,然后计算其他的框与它的IOU,删除和它检测的是同一个目标的检测框,保留这个最大的检测框(这个检测框之后不再加入计算),然后再继续寻找一个得分最高的检测框,同样的删除与它检测是同一个目标但是得分没有它高的检测框,依此类推。

2.4.使用回归器精细修正候选框位置

在这里插入图片描述

这里的进一步筛选指的是:需要对上一步筛选后的候选框与真实框计算IOU,保留IOU大于某个阈值的候选框,目的是为了删除与真实框差别过大的候选框。之后同样使用回归器来回归修正候选框位置,得到修正的中心点的x,y偏移量与x,y方向缩放比例

三、总结

在这里插入图片描述
在这里插入图片描述

参考博客与学习视频

B站up主视频(强推)
原论文地址
代码地址


http://www.niftyadmin.cn/n/338953.html

相关文章

STM32+ov7725+ESP8266实现无线图传-完成上位机图像显示

一、需求 stm32f407探索者开发板和STM32F103ZET6战舰开发板。接正点原子ov5640、OV7725、OV2640摄像头,通过esp8266Wi-Fi模块(透传模式)将摄像头采集到的rgb565格式图片通过tcp/ip协议上传到上位机显示。 二、设计思路 【1】使用QT开发上位机,建立TCP服务器,接收ESP8266…

计算机组成原理硬件实验 - 计算机组成实验FAQ作业

一、 Quartus II 9.0 (32-Bit) 使用问题: Q1【示例】: 显示【未授权】或者【编译成功不能生成SOF文件】 A1: 在quartus中点击【TOOLS】→【license setup】,在license.DAT中修改“HOSTID”后的字段,设置为“你的电脑最新显卡ID” Q2【示例】…

【计算机视觉 | 目标检测】术语理解3:Precision、Recall、F1-score、mAP、IoU 和 AP

文章目录 一、Precision、Recall 和 F1-score二、IoU三、mAP四、AP4.1 定义4.2 分类4.2.1 APs4.2.2 APr4.2.3 两者之间的区别 一、Precision、Recall 和 F1-score 在图像目标检测中,常用的评估指标包括以下几项: 精确率(Precision&#xff…

Talk预告 | 香港中文大学博士生徐英豪:从不规则的单目图片数据构建3D生成模型

本期为TechBeat人工智能社区第498期线上Talk! 北京时间5月18日(周四)20:00,香港中文大学博士生 — 徐英豪的Talk将准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “从不规则的单目图片数据构建3D生成模型”,届时将介绍…

Unittest接口测试生成报告和日志方法

HTML报告 直接把HTMLTestRunner.py放入工程目录即可报告脚本封装 #HTNL格式报告now datetime.datetime.now().strftime(%Y-%m-%d_%H_%M_%S)htmlreport reportpath "/" now r"result.html"print("测试报告生成地址:%s"% htmlre…

应届生如何提高职场竞争力

应届生如何提高职场竞争力 在当前就业形势下,如何提高应届生在职场中的竞争力?具有哪些有效的方法和策略可供选择?这是一个备受关注的热点话题。哪些方面会对应届生的职场发展起到关键的推动和支撑作用呢? 如何提升职场竞争力 …

ActiveMQ笔记第四章 ActiveMQ与SpringBoot集成

第四章 ActiveMQ 与 SpringBoot 集成 动力节点ActiveMQ全套视频教程-7小时学会activemq消息中间件 4-1 ActiveMQ 与 SpringBoot 集成集成配置 1、加载 spring boot 的 activeMQ 的依赖 <dependency> <groupId>org.springframework.boot</groupId> <ar…

MTK平台的SWT异常的简单总结(1)——WatchDog

SWT系列资料很多来源于Google &#xff08;1&#xff09;概念相关 SWT是SoftWare Watchdog Timeout的缩写&#xff0c;在Android系统中&#xff0c;为了监控SystemServer是否处于正常运行状态&#xff0c;加入了SWT线程来监控SystemServer中重要线程和Service的运行情况。判断…