目标检测(object detection)

2023-10-30

目标检测

目标检测的任务是找出图像中所感兴趣的目标,并确定它们的类别和位置。
算法分类:
两步走的目标检测:先进行区域推荐,然后进行目标分类。
R-CNN、 SPP-Net 、Fast R-CNN 、R-FCN
端到端的目标检测:直接在网络中提取特征来预测物体分类和位置。
OverFeat、YOLOv3、SSD和RetinaNet

目标检测的任务

分类的损失和优化
分类:评估指标Accuracy
定位:主要评估指标IOU(bbox,bounding box)

对于分类的概率使用交叉熵损失,位置信息具体数值可以使用MSE均方误差损失(L2损失)

R-CNN

目标检测-Overfeat模型

目标检测的暴力方法是从左到右、从上到小滑动窗口,利用分类识别目标。
滑动窗口需要初始设定一个固定大小的窗口,所以需要提前设定窗口数量和大小。
把图像变形为固定大小输入到CNN分类器后,提取特征后,使用一些分类器识别类别和该边界框的另一个线性回归分类器。

候选框区域提案+极大值抑制
选择性搜索候选框区域:是一个语义分割方法,它通过在像素级的标注,把颜色边界纹理等信息作为合并条件,多尺度的综合采样方法,划分出一系列的区域,这些区域要远远少于传统的滑动窗口的穷举法产生的候选区域。

首先通过CNN提取高级特征作为下一步的分类器、回归的输入数据。
CNNs需要固定尺寸,因为后面的全连接层部分需要固定尺寸的输入。
训练一个线性回归模型去预测一个新的检测窗口,回归用于修正筛选后的候选区域。
非最大抑制(NMS):筛选候选区域,目标删除那些冗余的候选框。
IOU交并比:主要用于在CNN和SVM训练时计算正负样本使用,以及测试阶段的NMS使用。
平均精确率(mAP)
缺点:训练阶段多,训练耗时,处理速度慢,图片形状变化。

SPPNet

SPPNet引入一种空间金字塔池化层易移除对网络固定尺寸的限制。
SPP层放在最后一个卷积层后。SPP层对特征进行池化,并产生固定长度的输出,这个输出再喂给全连接层。
首先选择性搜索,对待检测的图片进行搜索出2000个候选窗口。这然后把整张图片输入到CNN中进行一次性的特征提取,然后feature maps中通过映射关系找到各个候选框区域。
在这里插入图片描述
优点:通过候选区域和feature map的映射,配合SPP层的使用,从而达到了CNN层的共享计算,减少了运算时间
缺点:训练依旧过慢、效率低,特征需要写入磁盘,分阶段训练网络

Fast R-CNN

采用了多项创新提高训练和测试速度来提高检测精度。
改进:提出了一个Rol pooling layer,然后整合整个模型,把CNN、Rolpooling、分类器、bbox回归几个模块整个一起训练。

Faster R-CNN

在Fast RCNN还存在着瓶颈问题:选择性搜索
加入了一个提取边缘的神经网络。
目标检测的四个基本步骤(候选区域生成,特征提取,分类,位置精修)终于被统一到一个深度网络框架中。
RPN:是一个全卷积网络,可以同时在每个位置预测目标边界和目标分数。
可以简单的看成是区域生成网络+Fast R-CNN的模型

RPN原理:区域提议网络以任意大小的图像作为输入,输出一组矩形的目标提议,每个提议都有一个目标得分。
平移不变性anchors:在图像中平移了物体,窗口建议也会跟着平移。
总结:优点:提出RPN网络、端到端网络模型
缺点:训练参数过大、小目标检测效果不好。

YOLO介绍

端到端的目标检测方法。
使用单个神经网络,在一次评估中直接从完整图像上预测边界框和类别概率。由于整个检测流程仅用一个网络,所以可以直接对检测性能进行端到端的优化。
过程:
把图像缩放到448*448、利用卷积神经网络在该图像上进行处理、根据模型的置信度对检测结果进行处理NMS。获取最终的检测结果
每个网格会预测边框以及置信度分数
预测位置大小-回归offset代替直接回归坐标。

yolo预测的是类的条件概率。

YOLOV2

批标准化、高分辨率分类器、基于卷积的Anchor机制,使用k-means对训练集中边框做了聚类分析尝试找到合适的anchor

YOLOV3

在三个不同尺度的特征图上进行预测。
每个尺度特征设置的先验框大小。
逻辑回归替代softmax作为分类器。
在训练过程中,使用二元交叉熵损失来进行类别预测。

SSD算法原理

结合了YOLO中的回归思想和Faster-RCNN的anchor机制,使用全图各个位置的多尺度区域进行回归,既保持了YOLO速度快的特性也保证了窗口预测的跟Faster-RCNN一样比较精准。
SSD的核心是在不同尺度的特征图上采用卷积核来预测一系列Default Bounding Boxes的类别、坐标偏移。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

目标检测(object detection) 的相关文章

随机推荐

  • K-means聚类算法的应用以及实现

    K means 聚类算法属于无监督学习 它会将相似的对象归到同一个簇中 该算法原理简单 执行效率高 并且容易实现 是解决聚类问题的经典算法 尽管如此 任何一款算法都不可能做到完美无瑕 K measn 算法也有自身的不足之处 比如 K mea
  • k8s deployment 以root角色启动容器

    containers name image securityContext runAsUser 0 这样可以使容器以root用户运行 0指root用户的uid
  • C# 新增

    C 三层架构实现新增功能 第一步 用WPF实现用户界面代码 WPF中的代码就不详细说明了 现在只要和大家分享一下的是它们的后台的实现新增方法的代码 要实现我们的新增 并且新增数据 数据库必不可少 在数据库中写个新增方法的存储过程 用一个 t
  • [数学建模]MATLAB回归分析

    一 前言 第24届冬季奥林匹克运动会在北京隆重展开 我们要研究一个问题 奥运会东道主是否有优势 在历史数据中 我们发现好像东道主的国家在当年奥运会上获得金牌的数目比四年前非东道主国家获得的金牌数多 我们需要探究这个规律 二 历史背景 回归
  • 自学Python05-学会Python中的函数定义

    亲爱的同学们 今天我们将开始学习 Python 中的函数 函数就像一个魔法盒子 可以让我们在程序中执行一段代码 并且可以反复使用 这样 我们的程序就可以变得更加简洁和易于理解 现在 让我们一起来学习如何使用函数吧 首先 我们需要知道如何定义
  • Linux操作系统之进程命令和库文件

    文章目录 一 有关进程命令 1 ps命令 显示当前终端信息 2 ps ef命令 查看当前终端进程的详细信息 二 前台程序和后台程序模式的切换 1 首先了解前台后台命令 2 前后台的切换 1 kill 命令 2 进程前后台切换 三 runle
  • 第六章习题

    R1 个无线网络运行在 基础设施模式 下是什么含义 如果某网络没有运行在基础设施模式下 那么它运行在什么模式下 这种运行模式与基础设施模式之间有什么不同 在基础结构操作模式下 每个无线主机都通过基站连接到较大的网络 如果未在基础架构模式下运
  • 图灵携手全球机器学习技术大会,拥抱 AGI 变革时代

    备受行业关注的 2023 全球机器学习技术大会 ML Summit 将于10月20 21日在北京金茂威斯汀大饭店隆重举行 此次大会由 Boolan 和 CSDN 联合主办 秉承 全球专家 卓越智慧 的宗旨 特邀近 50 位人工智能与机器学习
  • 判断cuda是否安装成功

    进入环境中 输入以下命令 python import torch torch cuda is available 返回结果如下图
  • sklearn 中的线性回归、岭回归、Lasso回归参数配置及示例

    文章目录 线性回归 引入 重要参数 重要属性 重要方法 例子 岭回归 引入 重要参数 重要属性 重要方法 示例 Lasso 回归 引入 重要参数 重要属性 重要方法 示例 本文主要讲一些sklearn中回归模型的使用 如果需要了解相关理论
  • marquee的滚动属性参数

    null从
  • 泛型编程杂谈

    谈 泛型 GP 之前 先谈一下面向对象 OO OO强调世界是由对象组成的 对象是由方法和属性组成的 个人感觉还应该加上事件 而对象之间又有继承 is a 和组合等 关系 OO很符合我们认识世界的直觉 它以封装 继承和多态为特性 我们在现实工
  • 关于ESP8266自动下载和CH340的几件事

    最近在玩ESP8266 做了些东西 比如考研倒计时器 网络闹钟 网络灯 用手机控制亮度 气象站等等 ESP8266本身挺简单的 倒是这个自动下载电路 我还是第一次玩 以前玩51也用过串口下载 都是自己冷启动 玩STM32用的ST LINK
  • MobileNetV2-SSDLite的安装使用

    前两篇文章已经安装了caffe并切换到ssd分支 同时添加了对ReLU6的支持 接着这里开始安装和使用MobileNetV2 SSDLite 首先安装MobileNetV2 SSDLite git clone https github co
  • 虚拟机ubuntu18.04+opencv4.6.0安装一篇足矣!!【指路合集】【亲测有效】

    写在前面 下面的方法都是本人实测遇到问题时采用的学习到的方法 亲测有效 其他根据教程走没什么问题 希望能有所帮助 本篇分两部分 一部分是虚拟机ubuntu18 04的安装 完整详细教程写在另一篇中 亲测有效 VM虚拟机安装Ubantu18
  • 关于标签的 的target属性

    如果 有一个页面上为这样两个超链接 a href http www baidu com 超链接1 a a href http www sohu com target self 超链接2 a 点击超链接1 的时候会弹出一个页签 内容是 htt
  • 卷积神经网络应用之图像分割

    SPP结构主要学自该博客 深度学习 十九 基于空间金字塔池化的卷积神经网络物体检测 FNC FNC主要做的是基于像素的图像分割预测 其做法是先按照传统的CNN结构得到feature map 将传统的全连接层替换成相应的卷积层 如最后一层特征
  • JSON与文件互转

    JSON转文件 createJsonFile package util import java io File import java io FileOutputStream import java io OutputStreamWrite
  • C++初始化类的对象错误,表达式必须具有类类型,但它具有类型 “类名(*)()“

    如果时创建类的对象的时候 调用了一个无参构造 那么这时候的括号 主函数的创建类的对象的括号 就不要写啦
  • 目标检测(object detection)

    目标检测 目标检测 目标检测的任务 R CNN 目标检测 Overfeat模型 SPPNet Fast R CNN Faster R CNN YOLO介绍 YOLOV2 YOLOV3 SSD算法原理 目标检测 目标检测的任务是找出图像中所感