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

news/2024/7/10 2:53:30 标签: 计算机视觉, 目标检测, r语言

前言、相关知识

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损失函数能够:
  • 当预测值与真实值误差过大时,梯度值不至于过大;
  • 当预测值与真实值误差很小时,梯度值足够小。
    想详细了解差异可看这篇文章:目标检测三种损失函数

未完,待更新……

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


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

相关文章

云计算 3月11号 (NFS远程共享存储及vsftpd配置)

构建NFS远程共享存储 一、NFS介绍 文件系统级别共享(是NAS存储) --------- 已经做好了格式化,可以直接用。 速度慢比如:nfs,sambaNFS NFS:Network File System 网络文件系统,NFS 和其他文件…

CAD二次开发,启动加载界面,并在点击Ribbon按钮时热加载功能DLL,并提供打包的工程框架

整个思路为启动时运行lsp,lsp操作仅加载一个界面DLL,其中按钮绑定CAD内部任务,或者使用反射绑定到指定的DLL文件; 假设这里已经完成了一个功能,并编译为 CAD.Demo.dll 先写个lsp文件,很简单 就是加载Rib…

二叉树——501.二叉搜索树中的众数、 236. 二叉树的最近公共祖先

二叉搜索树中的众数 给你一个含重复值的二叉搜索树(BST)的根节点 root ,找出并返回 BST 中的所有 众数(即,出现频率最高的元素)。 如果树中有不止一个众数,可以按 任意顺序 返回。 假定 BST …

Facebook商城号为什么被封?如何防封?

由于Facebook商城的高利润空间,越来越多的跨境电商商家注意到它的存在。Facebook作为全球最大、用户量最大的社媒平台,同时也孕育了一个巨大的商业生态,包括广告投放、商城交易等。依托背后的大流量,Facebook商城起号较快&#xf…

Qt区分左右Shift按键

Qt 如何区分左右Shift 左右ctrl alt......_qt qkeyevent 判断shift-CSDN博客 左右 Shift 在 QKeyEvent::key() 中没有区分,左右 Shift 都是 Qt::Key_Shift。 但是可以通过调用 quint32 QKeyEvent::nativeScanCode() 区分,左Shift?&#xff…

2024/3/11打卡管道(14届蓝桥杯省赛)——二分+区间合并

目录 题目 思路 代码 题目 有一根长度为 len 的横向的管道,该管道按照单位长度分为 len 段,每一段的中央有一个可开关的阀门和一个检测水流的传感器。 一开始管道是空的,位于 Li 的阀门会在 时刻打开,并不断让水流入管道。 对…

GEE高阶应用——Sentinel-2数据集进行EVI和NDSI检索和加载(spectralIndices()函数使用)

这里我们需要使用eemont中的maskClouds、spectralIndices和scaleAndOffset的函数来进行快速的进行数据预处理和主要的指数选择,简化了很多代码。 简介 EVI(Enhanced Vegetation Index)和NDSI(Normalized Difference Snow Index)是遥感影像处理中常用的两个指数。它们都是…

Linux工具 - 好用的yum包管理器

~~~~ 前言yum是什么为什么有yum如何使用yum配置用户yum源为什么要配置yum源具体配置备份CentOS-Base.repo文件下载对应阿里yum源到本目录/etc/yum.repos.d/清理yum并生成缓存更改配置文件CentOS-Base.repo更新yum 常用命令listinstall选项-y remove选项-y update 结语 前言 本…