目标检测——概述

2023-11-03

学习视觉与深度学习有一年了,想把以前看到的文章和资料整理一下,不知道从哪些开始,这个暑假,趁着刚刚开完题,稍微闲一些,把目标检测相关的经典论文逐一记录一下,有时间跑一下作者的原码,水平有限,如涉及的内容有误,恳请大家指出。

前言

计算机视觉领域最基本的三个任务是:分类、目标定位、目标检测。分类的目标是要识别出给出一张图像是什么类别标签(在训练集中的所有类别标签中,给出的这张图属于那类标签的可能性最大);定位的目标不仅要识别出来是什么物体(类标签),还要给出物体的位置,位置一般用bounding box(边框)标记;目标检测是多个物体的定位,即要在一张图中定位出多个目标物体,目标检测任务包含分类和目标定位,学过计算机视觉相关课程的都应该知道,这三个视觉任务中,最基本最重要的是分类,其他的两个任务都是在解决分类任务的基础上,通过一些技术手段进行解决,比如在图片中随机加入很多窗口,提取每一个窗口的特征,然后预测分类,将分类一样并且相邻的窗口合并,就成了目标定位和目标检测。

                   

 

上图对应着分类、目标定位、目标检测:

 

  1. 分类任务:给图片预测一个类别标签:狗
  2. 目标定位任务:用边框物体圈出来,给出标签:狗(单个物体)
  3. 目标检测:用多个边框把分别把多个物体圈出来,并分别给出预测的类别标签(多个物体的定位任务)。

这些计算机视觉的任务,对于我们人来说很简单,只要见过这个物体或者类似的物体,基本上就可以给出一个类别预测,并且准确率超级高;但是在好多应用领域不能只靠人去识别图像中的物体,对于海量图像、视频数据,靠人去识别效率低、每一个人的知识认知不一样等原因,最终还是需要计算机去识别,对于计算机来说,识别一个图像中的物体,比较难。我们都知道,当一个技术应用到生活或者工业,基本上这个技术已经被研究烂了,比如人脸识别。上面三个计算机视觉任务,目标检测包含了前两个任务,解决目标检测以前都是用传统方法,核心的思路就是:窗口提取特征+分类器预测。

主要是三个操作:

 

  • 借助多尺度滑动窗口技术(Multiple-scale Sliding Window Method)等,圈出图中的某些部分作为候选区域;
  • 提取候选区域的视觉特征,比如HOG、GLOH等等;
  • 训练分类器,最经典最常用的SVM系列。

传统方法中有一些比较经典的方法:

1.尺度不变特征 (Scale invariant feature transform, SIFT),Lowe提出通过获取图像关键点附近的梯度信息来描述运动目

标;

2.梯度直方图特征 (Histogram of oriented gradient, HOG),Dalal 等人第一次提出并用于解决静态图像的行人检测问题;

3.可变形部件模型 (Deformable part model, DPM),Felzenszwalb等人将 HOG 与SVM相结合用于目标检测,这个方法在当时计算机视觉目标检测领域无人不晓(嗯,拿了好多奖)。

这个时候,其实也有很多研究者已经在使用深度学习的方法去解决目标检测问题,但是效果一直不好,比如OverFeat等。直到RCNN的横空出世,给深度学习解决目标检测问题重新注入活力,随后SPP-net、Fast R-CNN、YOLO、SSD等方法的提出.........(省略)。

深度学习用于目标检测主要分为两大类:

 

  • 基于区域提名方法,如R-CNN系列、SPP-net、R-FCN;
  • 基于端到端(End-to-End),如YOLO、SSD。

后续

1.即使应用深度学习方法解决目标检测问题,很多地方需要借助传统图像处理技术,比如图像金字塔(Pyramid)等,冈萨雷斯的《数字图像处理》值得细看;

2.RCNN是目标检测领域第一个工业级应用的解决方案,推动深度学习相关应用研究成为当今的研究最热点之一。

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

目标检测——概述 的相关文章

  • MacOS配置Sql Server环境

    看了网上大多都是介绍Windows系统的Sql Server配置 对于Mac用户来说 这是有些不太友好的 找了好久都没有详细的解答 故现在对此做一个教程 方便日后回顾 当然 如果对于Windows上配置有任何疑问也可以留言 下面则是教程 首
  • 如何在虚拟机Ubuntu下使用主机网络

    目录 配置 主要参考链接 详细步骤 第零步 确保主机网络可共享 第一步 第二步 第三步 第四步 配置 Win11 VMware Ubuntu 18 04 主要参考链接 Ubuntu虚拟机共享主机VPN 适用于NAT或桥接 百度文库 baid
  • 常用DateUtil

    导语 最近项目中用到一些时间的操作 当然我们可以选择lang3 或者其他三方的jar 来进行操作 小编将项目中用到的一些用于的时间工具整理了一下 给大家参考一下 先给大家展示一下使用及效果 使用 GetMapping value getTi
  • 现在才知道掌握IDEA、VS Code这些常用快捷键有多方便

    IDEA VS Code这些常用快捷键 文章目录 IDEA VS Code这些常用快捷键 前言 一 IDEA快捷键 1 控制台语句 System out 相关 2 查找 3 跳转切换 4 编码相关 public static void ma
  • sqlmap --os-shell 使用方法

    一 burp suite抓包 如上图所示 红框处很明显是一个传参点 我们就在这个页面抓包 抓到包之后将内容保存到桌面的1000 txt文件下 二 sqlmap跑包 打开sqlmap跑包 python sqlmap py r C Users
  • QT 信号和槽的四种连接方式

    QT 信号和槽的四种连接方式 一 右键点击UI中的控件 转到槽 二 使用宏 三 使用引用 四 使用Lambda表达式 假设使用场景为点击PushButton按钮 响应槽函数 mySlot 一 右键点击UI中的控件 转到槽 系统会自动在Mai

随机推荐

  • java抽象类实现接口可以不用实现方法

    java抽象类实现接口可以不用实现方法 学习struts2时 拦截器接口Interceptor继承了Serializable接口 拦截器抽象类AbstractInterceptor实现了Interceptor接口 在AbstractInte
  • 一段老师写的,C#文件读取代码例子

    using System using System IO using System Collections namespace FileOperation public class TestFile public static void M
  • TensorRT基于caffe模型加速MobileNet SSD

    TensorRT加速MobileNet SSD分解为三个问题 1 图像的预处理 2 结果的处理 3 depthwise convolution层的实现 针对1 图像预处理我就不多言了 针对2 结果处理 由于tensorRT中有SSD的det
  • mysql建表语句

    工作的时候总会写一些建表语句提交给db 有的时候就会忘记主键自增写法 以及一些类型的标注 下面是一个比较全的建表语句 包括各种类型 create table minisite lock site id int not null auto i
  • 使用OpenGL实现计算着色器

    使用OpenGL实现计算着色器 在OpenGL中 我们可以通过计算着色器来实现各种计算任务 计算着色器不同于传统的图形着色器 它只关注数据的计算 而无需输出任何图形 下面我们将以一个简单的示例为例 展示如何使用OpenGL实现计算着色器 首
  • 计算机图形学:光线追踪原理(ray tracing)

    现实中的光学模型 在现实中 当关闭屏幕光亮的时候 会看到屏幕反射到的一张帅气或者漂亮的脸 那么这个看到的物体就是从屏幕中反射出来 其实不光镜子 任何物体都存在反射 发光源发出光线 通过物体反射到人的眼睛中 这里要提出另一个概念 就是图形光栅
  • 「Python|音视频处理|场景案例」如何获取音视频中声音片段的起止时间?

    本文主要介绍如何使用python的第三方库moviepy找出音视频中声音开始出现的位置以及声音结束的位置 文章目录 场景描述 准备工作 解决方案 源代码 场景描述 假设我们有一段音频 音频开始有一段无声片段 音频结束也有一段无声片段 我们需
  • 问题解决:The project cannot be built until build path errors are resolved

    http blog csdn net marty zhu article details 2566299 1 看看project Build Automatically有没有勾上 如果没有 勾上以后 clean一下 重启eclipse 2
  • 无法连接到Windows服务——Windows无法连接到SENS服务

    前言 小编的电脑不知道发生了什么事情 突然变成了这个样子 开机本来十几秒 现在突然变成一分钟了 还有点不适应了 这也就罢了 他竟然还给我断了网 问题描述为 无法连接到Windows服务 因为没有联网 所以小编拍了张照片记录如下 不是很清晰
  • springcloud maven 打jar包 build配置

    父工程pom配置
  • 强化学习学习笔记(二):入门例子

    内容来自莫烦Python的教程 很适合入门理解 首先附上例子的代码 coding utf 8 import numpy as np import pandas as pd import time np random seed 2 repro
  • Jmeter 几个常见元素说明

    配置元件 脚本中格式 数据进行设置 统一管理 例如 http 请求默认值 定时器 控制线程如何执行测试 操作和操作之间等待时间 比如同步定时器 用来实现真正的 并发 前置处理器 用于实际请求发出之前对即将发生的请求进行特殊处理 后置处理器
  • python中实现分页

    分页使用 比如说在Python的django框架中使用 目录 分页使用比如说在Python的django框架中使用 1 先导入PageNumberPagination变量 2 自己定义的视图引用该变量 3 写默认每页信息条数和每页显示的最大
  • iwebsec靶场 文件包含漏洞通关笔记10-data伪协议利用

    目录 前言 1 data伪协议 2 使用条件 第10关 data 伪协议利用 1 打开靶场 2 源码分析 3 渗透 1 明文渗透 2 base64编码渗透 前言 1 data伪协议 data协议和input协议差不多 指定data是get方
  • chatgpt赋能python:如何放大Python界面?

    如何放大Python界面 Python的用户界面可能有时候会显得太小或太难看 因此 许多用户想要放大Python界面 这篇文章介绍了一些方法来放大Python界面 方法一 使用Tkinter库 Tkinter是Python中用来创建GUI应
  • IPv6地址简介

    今天继续给大家介绍IPv6 本文主要介绍IPv6的地址 一 IPv6地址格式 IPv6地址有128bit 在这128bit中 前64bit是网络前缀 后64bit是接口标识 在前64bit中 前48bit又是全球可汇总地址 在给一个公司分配
  • hal层修改屏幕亮度

    平台 rk3568 系统 Android11 我的板子有两块屏幕 而且背光用的不是同一个PWM来控制 所以要修改上层添加对另外一个屏幕亮度的调节 好了话不多少先找到在hardware rockchip light aidl Lights c
  • 导入keras包时,彻底解决Using TensorFlow backend问题(2022最新解决方案)

    说明 19 20 21年份搜到的方法都试了 都没用 改导包语句 降版本 重安装 直接跳过 下载vs插件 等等 结果依然如下图 解决方案 1 担心在原环境中装包卸载包容易搞混原环境 可以重新单独建立个tensorflow环境 2 安装最新版的
  • caffe中batch_norm层代码详细注解

    caffe中batch norm层代码注解 一 BN的解释 在训练深层神经网络的过程中 由于输入层的参数在不停的变化 因此 导致了当前层的分布在不停的变化 这就导致了在训练的过程中 要求 learning rate 要设置的非常小 另外 对
  • 目标检测——概述

    学习视觉与深度学习有一年了 想把以前看到的文章和资料整理一下 不知道从哪些开始 这个暑假 趁着刚刚开完题 稍微闲一些 把目标检测相关的经典论文逐一记录一下 有时间跑一下作者的原码 水平有限 如涉及的内容有误 恳请大家指出 前言 计算机视觉领