计算机视觉——目标检测(R-CNN、Fast R-CNN、Faster R-CNN )

前言、相关知识

1.闭集和开集

  • 开集:识别训练集不存在的样本类别。
  • 闭集:识别训练集已知的样本类别。

2.多模态信息融合

文本和图像,文本的语义信息映射成词向量,形成词典,嵌入到n维空间。
图片内容信息提取特征,形成n维向量,嵌入到n维空间。
文本和图像的特征距离要尽量近一点,这样文本信息和图像内容信息特征相似。可以根据一种模态输入获得另一模态类型的输出。

3. 计算机视觉任务

  • 分类问题
  • 语义分割
  • 物体检测
  • 示例分割
    Alt

一、目标检测基础知识

1. 目的:输入彩色RGB图像,输出检测的物体。
2. 过程:分类+定位
3. 最新的目标检测技术:文本 + 图像,制定类别检测
4. 现有方法分类

1. 一步法(SSD、YOLO):仅使用一个卷积神经网络CNN直接预测不同目标和位置
2. 两步法(R-CNN、Fast R-CNN、Faster R-CNN)
step1:先生成候选框(利用Region Proposal Network(RPN))
step2:根据候选框分类+精调

二、目标检测——R-CNN(regional with cnn feature)

![R-CNN论文](https://img-blog.csdnimg.cn/direct/587d375e082d4b0aa1605822a0031212.png #pic_center=50%x50%)
R-CNN算法步骤
R-CNN过程

  • 用selective search划分出候选区域(1k-2k),区域之间可能会有重合。
    候选区域生成
  • 对每一个候选区域,使用深度网络提取特征
    提取特征
  • 每一个特征送入SVM分类器,判断是否属于该类别(ps:非极大值抑制剔除就是将重合区域最大的区域删除)
    分类过程
    ps:非最大值抑制剔除IOU
    IOU
  • 使用回归器(最小二乘)精细调整候选框位置
    修正框
  • R-CNN框架:划分区域——ss算法,特征提取——CNN网络,分类器——SVM支持向量机、回归期——最小二乘法。
    在这里插入图片描述)
  • R-CNN缺点:速度慢、空间占用多

三、目标检测—— Fast R-CNN( fast regional with cnn feature)

Fast R-CNN是R-CNN作者在原有基础上的改善,对于推理速度,准确率,训练时间都远远超于R-CNN。
Alt
Fast R-CNN算法步骤

  • 一张图像生成多个候选区域(1K~2K)使用selective search 方法。
  • 通过深度卷积神经网络,将图像输入之后得到相应的图像,将SS算法生成的候选框投影到特征图上获得相应的特征矩阵。
    ps:此处和R-CNN的区别,R-CNN将候选框输入到卷积神经网络得到特征,Fast R-CNN直接将整幅图像给卷积神经网络,在根据特征网络进行计算特征,避免了计算重复的区域。
  • 将特征矩阵根据ROI pooling 缩放到7*7大小的特征图,然后通过一系列全连接层得到结果。
    Alt
    每一个区域的有很多像素,对于像素上的特征数据进行最大池化或者平均池化就会得到比较规整的图像。
  • Fast R- Cnn分类器介绍
    假如有n个类别,如果没有满足这n个类别,那么他就是背景,所以一共有n+1个类别的概率,我们根据每个类别的概率,概率最大的类别就是最终预测的类别。
    Alt
  • Fast R- Cnn回归器介绍
    Fast R- Cnn分类器是根据缩放来实现的。
    Alt%)
  • Fast R- Cnn损失函数介绍
    Fast R- Cnn论文中提出了一种新的损失函数SmoothL1Loss损失函数,改善了欧氏距离L1 loss和L2 loss损失函数。主要改善的地方在于其他两个损失函数对于离群点的梯度变化过于敏感或者是不够精细,SmoothL1Loss损失函数能够:
  • 当预测值与真实值误差过大时,梯度值不至于过大;
  • 当预测值与真实值误差很小时,梯度值足够小。
    想详细了解差异可看这篇文章:目标检测三种损失函数

四、目标检测—— Faster R-CNN( faster regional with cnn feature)

Fast R-CNN是R-CNN作者在原有基础上的改善,骨干网络使用VGG16,对于推理速度,准确率,训练时间成倍提高。

Faster R-CNN最好能够自己执行代码运行一下,需要重点掌握。
Faster R-CNN 算法步骤

  • 将图像输入网络得到特征图
  • 使用RPN结构生成候选框,将生成的候选框投影到特征图上得到对应的特征矩阵。
  • 将每一个特征矩阵通过ROI pooling层,缩放到7*7的大小,接着通过特征图展平通过一系列全连接层得到预测结果。
    主要特点是:RPN+Fast R-CNN
    在这里插入图片描述
    RPN Faster R-CNN计算总结
    在这里插入图片描述
  • 先网络获得特征图
  • 在特征图上使用3x3卷积获得目标得分,调整锚点框位置,确定候选框
  • 删除重叠和边缘候选框
  • 将最终获得的候选框投影到特征图上
  • 通过ROI pooling变成7x7的图像
    PS:ROI pooling:感兴趣区域池化(Region of interest pooling)(也称为RoI pooling)是使用卷积神经网络在目标检测任务中广泛使用的操作。例如,在单个图像中检测多个汽车和行人。其目的是对非均匀尺寸的输入执行最大池化以获得固定尺寸的特征图(例如7×7)。
  • 最后进行分类(class)和目标优化(loc:定位损失,能够是的预测框更加接近目标框。)
    在这里插入图片描述
    VGG16输入图像至少是600分辨率,如果不够600分辨率,会进行图像预处理
    (600/16,800/16,512)的特征输入RPN。
    RPN网络

RPN使用3x3卷积的目的:通过3x3的卷积层获得目标得分和边界回归偏移,判断特征映射图中的是不是我们候选框的目标。
根据目标得分判断是不是我们需要的目标,调整我们的锚点框(3x3卷积层反向画在原图片上的框),如果该锚点框里面是目标,那么它就升级为候选框,否则的话就不画。
每个位置(滑动窗口)在原图上都对应33=9anchor。
Alt
在候选框筛选过程中,去掉边缘anchor和IOU重叠,就会删除掉很多现有的候选框,以1000x600x3为例,最终剩下2k候选框。
在这里插入图片描述
参数回归器和分类器用的是卷积,不是全连接层,原因是:1
1的就卷积就相当于全连接层。
最后,还是需要提醒大家看原文和源码~深入理解原理。

参考文献:陈万军(西安理工大学)——《目标检测》课件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/540190.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Javaweb-MyBatis

一、概念 MyBatis是一款优秀的持久层框架,用于简化JDBC开发 MyBatis本是Apache的一个开源项目iBatis,2010年这个项目由apache software found迁移到了google code,并且改名为MyBatis。2013年11月迁移到Github 持久层 负责将数据到保存到数…

泛目录站群程序,seo站群系统(川圣SEO)#蜘蛛池

baidu搜索:如何联系八爪鱼SEO? baidu搜索:如何联系八爪鱼SEO? baidu搜索:如何联系八爪鱼SEO? 功能介绍: (全新模板 PC、移动端自适应 无限泛二级域名首页,标题增加进制干扰码,关键词进制干…

深入理解 CSS——CSS进阶与实践(5w字高频面试题整理)

本文总结了CSS高频面试题,并搭配了演示动画进行CSS样式演示。介绍了关于如何理解盒模型,如何实现块级元素水平居中,如何实现两侧固定中间自适应的三栏布局、如何实现两栏布局,如何进行响应式设计,对BFC的理解&#xff…

迷你洗衣机排名前十名:2024年十大性能超强内衣洗衣机优选

随着现在的生活水平的不断提高,高科技能帮我们搞定不少问题,如果你比较注重个人卫生、追求生活品质,可以考虑选择一台专用的迷你洗衣机,我们就无须自己亲自动手去清洗内衣物,从而导致浪费时间,如果你担心孩…

如何在Tomcat中的webapp中手动发布

这里写目录标题 首先进入Tomcat文件夹进入webaaps中,编写Java代码最后进入浏览器打开就看可以进入这个界面了 首先进入Tomcat文件夹 如图: 进入webaaps中, 编写Java代码 最后进入浏览器打开 就看可以进入这个界面了

Java毕业设计-基于springboot开发的地方废物回收机构管理系统-毕业论文+答辩PPT(附源代码+演示视频)

文章目录 前言一、毕设成果演示(源代码在文末)二、毕设摘要展示1、开发说明2、需求分析3、系统功能结构 三、系统实现展示1、系统登录2、管理员功能模块3、员工功能模块 四、毕设内容和源代码获取总结 Java毕业设计-基于springboot开发的地方废物回收机构…

基于单片机的直流电机调速系统设计

摘 要 在电子机械行业快速发展的今天,各类电子机械类产品以飞快的步伐进入到人们的视野中。为人们的生活带来极大的便利。同时也以各种不同的方式解放着生产力。在这些电子机械领域,电机无疑占着举足轻重的位置。现在各类工厂里的自动化生产线&#xff…

QT使用dumpcpp为COM生成h及cpp的方式,COM是C#的dll注册的

目录 1.C#的dll注册为COM,采用bat的方式 2.通过qt的dumpcpp来生成h及cpp文件 3.h文件和cpp文件处理。 台达数控系统的C#的dll dumpcpp用的tlb文件 dumpcpp生成的原生h文件 dumpcpp生成的原生cpp dump生成后的的原生cpp文件修改后的cpp文资源 dump生成后的的…

如何区分工业以太网交换机和常规以太网交换机

工业以太网交换机和常规以太网交换机乍一看似乎很相似,但两者之间存在着一些关键区别。在本文中,我们将阐明这些差异,并为您提供一些快速区分两者的提示。 工业以太网交换机与常规以太网交换机的比较 工业以太网交换机和常规以太网交换机都…

邮件营销必备技能:邮件内容颜色如何选择?色彩搭配小窍门分享!

不同的色彩组合可以传达不同的信息内容。今天,小编将在这篇文章钟介绍在邮件营销中如何选择合适的邮件内容颜色,为营销助力! 一、什么时候应该选择哪种颜色? 每种颜色都有个人层面和公众层面的意义。就个人而言,一种…

uniapp-vue3 项目初始化集成配置【开箱即用】

地址 https://gitee.com/charrie/vue3-uniapp-init 部分截图展示 技术说明 采用vue3viteuniapp技术栈,setup语法糖编码方式使用完全免费的sard-uniapp组件库引入unocss量子化样式引擎,动态css不用自己写样式,引用class即可,降低…

深入浅出计算机网络 day.2 概论⑥ 计算机网络体系结构

上帝疯狂杜撰世界悲情的命题 将凉薄和荒芜尽写 —— 24.3.13 内容概述 1.常见的三种计算机网络体系结构 2.计算机网路体系结构分层的必要性 3.计算机网络体系结构分层思想举例 4.计算机网络体系结构中的专用术语 一、常见的三种计算机网络体系结构 1.OSI参考模型 …