Objection Detection View

2024-01-12 17:18
文章标签 detection view objection

本文主要是介绍Objection Detection View,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

从2001到2020年的 IOD

目前,目标检测可以根据以下5种技术难题进行课题研究:
多尺度检测(Multi-scale Detection)
边界框回归(Bounding Box Regression)
上下文启动(Context Priming)
非极大抑制(Non-Maximum Suppression)
困难负样本挖掘(Hard Negative Mining)
在这里插入图片描述

一、多尺度检测

多尺度检测从历史时间顺序可以划分为以下5种:

  1. 2014年以前:基于特征金字塔和滑动窗口的检测
    在这里插入图片描述
    这种基于范式或者混合的检测方法适用于PASCAL VOC,不适用于更多样化的数据集,例如MS-COCO。对于检测不同长宽比的目标,没有一种统一的多尺度方法。
  2. 2010-2015年间:基于目标候选的检测
    在这里插入图片描述
    基于目标候选的检测方法提出了一组与类无关的候选框,而该候选框可能包含任何目标。该方法通过一种统一的多尺度方法来检测不同长宽比的对象,避免对整个图像进行滑动窗口搜索。
  3. 2013-2016年间:基于深度回归的检测
    在这里插入图片描述
    基于深度回归的检测方法提出了直接利用深度学习特征预测边界框坐标,这种方法简单粗暴,需要更高的GPU计算性能。但是定位精确度不够,特别是对于小目标检测。
  4. 2015年以后:基于多参考的检测
    在这里插入图片描述
    基于多参考的检测方法提出了在图像的不同位置预先定义一组不同大小、宽高比的候选框,再根据这些候选框预测检测框。这是目前最流行的多尺度目标检测方法。
  5. 2016年以后:基于多分辨率的检测
    在这里插入图片描述
    作为另一种比较流行的多尺度目标检测方法,多分辨率检测提出了在网络的不同层检测不同尺度的目标。
二、边界框回归

边界框回归的目的是在初始候选(框)的基础上细化预测边界框的位置。按照历史时间可以划分为以下3种:

  1. 2008年以前:没有边界框回归
    早期的检测方法通常直接使用滑动窗口(结合金字塔)作为目标检测结果,而不使用边界框回归。
  2. 2008年以后:从边界框到边界框
    DPM首先在目标检测中使用边界框回归,这时的边界框回归还是作为一个单独的后处理块,是可选的。此时的边界框回归还只是基于候选框预测每个目标对应的边界框。DPM采用最小二乘损失函数作为其回归损失。
  3. 2013年以后:从特征到边界框
    Faster RCNN在2015年被提出后,边界框不再作为单独的后处理块,而是与检测器集成,以端到端的方式进行训练。边界框回归已经演变为基于CNN特征预测边界框。通常采用smooth-L1函数或者平方根函数作为回归损失,它们对异常值的鲁棒性比使用最小二乘损失函数更强。
三、上下文启动

上下文启动一直被用来改进检测方法,其常用的3种方法如下:

  1. 局部上下文检测
    在这里插入图片描述
    局部上下文是指待检测的目标周边区域的视觉信息。例如利用包含面部轮廓提高人脸检测性能,通过加入少量的背景信息提高行人检测的准确性,通过扩大网络的接受域或者目标候选大小改进目标检测效果。
  2. 全局上下文检测
    在这里插入图片描述
    全局上下文是指待检测的整张图片对应的视觉信息。例如利用整个场景集成的组成元素对应的统计摘要作为目标检测的额外信息源,通过(》=)输入图像的接受域或者CNN特征的全局池化集成全局上下文,将全局上下文作为一种序列信息,并采用RNN学习该信息。
  3. 上下文交互
    在这里插入图片描述
    上下文交互是指通过视觉元素的约束或者依赖等交互关系来表达的信息。例如利用两个目标间的关系或者目标与场景间的依赖关系。
四、非极大抑制

非极大抑制主要是作为后处理步骤,去除重复的边界框。目前NMS主要有以下3种:

  1. 贪心选择
    在这里插入图片描述
    贪心选择是目前最流行且资历比较老的基于NMS的目标检测方法,其思想简单直观:对于一组重叠的待检测目标,检测分数最大的边界框是被选择,并根据预定义好的IOU阈值删除其对应的相邻框。根据贪心算法迭代执行以上步骤。不足之处:1. 得分最高的框可能并不是最适合的,2. 临近的目标可能被抑制,3. 不抑制假阳性。
  2. 边界框聚合
    在这里插入图片描述
    边界框聚合是将多个重叠的边界框组合或者聚类成一个最终的检测结果,优势在于充分考虑了目标间的关系和空间布局。
  3. 学习NMS
    在这里插入图片描述
    学习NMS是将NMS看作是一个过滤器,对所有原始检测结果进行重新评分,并采用端到端的方式将NMS训练成网络的一部分。适用于改善遮挡和密集目标检测。
五、困难负样本挖掘(HNM)

目标检测器本质上是一个不平衡的数据学习问题。按照历史时间顺序,HNM可以划分为以下3种:

  1. 2014年以前:Bootstrap
    Bootstrap 是指一组训练技术,训练从一小部分背景样本开始,然后在训练过程中迭代地添加新的误分类背景,目的是减少对数百万个背景样本的训练计算。
  2. 2014-2016年: 没有HNM
    随着计算机计算性能的不断提升,Bootstrap不再适用。例如RCNN和YOLO只在正负样本间平衡权重。
  3. 2016年以后:采用新的损失函数和Bootstrap
    16年后,bootstrap被重新使用在基于深度学习的检测器中,通过重塑标准交叉熵损失函数使其更集中于困难的误分类例子上。

这篇关于Objection Detection View的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/598592

相关文章

MVC(Model-View-Controller)和MVVM(Model-View-ViewModel)

1、MVC MVC(Model-View-Controller) 是一种常用的架构模式,用于分离应用程序的逻辑、数据和展示。它通过三个核心组件(模型、视图和控制器)将应用程序的业务逻辑与用户界面隔离,促进代码的可维护性、可扩展性和模块化。在 MVC 模式中,各组件可以与多种设计模式结合使用,以增强灵活性和可维护性。以下是 MVC 各组件与常见设计模式的关系和作用: 1. Model(模型)

MFC中App,Doc,MainFrame,View各指针的互相获取

纸上得来终觉浅,为了熟悉获取方法,我建了个SDI。 首先说明这四个类的执行顺序是App->Doc->Main->View 另外添加CDialog类获得各个指针的方法。 多文档的获取有点小区别,有时间也总结一下。 //  App void CSDIApp::OnApp() {      //  App      //  Doc     CDocument *pD

时间序列|change point detection

change point detection 被称为变点检测,其基本定义是在一个序列或过程中,当某个统计特性(分布类型、分布参数)在某时间点受系统性因素而非偶然因素影响发生变化,我们就称该时间点为变点。变点识别即利用统计量或统计方法或机器学习方法将该变点位置估计出来。 Change Point Detection的类型 online 指连续观察某一随机过程,监测到变点时停止检验,不运用到

Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.B

一个bug日志 FATAL EXCEPTION: main03-25 14:24:07.724: E/AndroidRuntime(4135): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.syyx.jingubang.ky/com.anguotech.android.activity.Init

自定义view中常用到哪些方法作用分别是什么

目录 构造函数onMeasure(int widthMeasureSpec, int heightMeasureSpec)onDraw(Canvas canvas)onLayout(boolean changed, int left, int top, int right, int bottom)onTouchEvent(MotionEvent event)onSizeChanged(int

MACS bdgdiff: Differential peak detection based on paired four bedGraph files.

参考原文地址:[http://manpages.ubuntu.com/manpages/xenial/man1/macs2_bdgdiff.1.html](http://manpages.ubuntu.com/manpages/xenial/man1/macs2_bdgdiff.1.html) 文章目录 一、MACS bdgdiff 简介DESCRIPTION 二、用法

android 动画 ——视图动画(View Animation)

android动画分为视图动画(View Animation)、属性动画(Property Animation) 想看属性动画(Property Animation):请移步至http://blog.csdn.net/u013424496/article/details/51700312 这里我们来说下视图动画(View Animation)的纯代码写法,还有一种是xml调用, 对于xml调

Android 自定义View控件,实现跟随手指触摸移动的小球

Android UI组件是通过继承View类,然后绘制内容,比如ImageView,TextView等组件都是继承View类。 当Android系统提供的组件功能不能满足需求时,可以通过继承View类重写一个或多个方法,派生自定义的组件,View类常用重写方法: 1.构造器:View子类最基本的重写方法 protected voidonDraw(Canvas canvas) public

Learning Memory-guided Normality for Anomaly Detection——学习记忆引导的常态异常检测

又是一篇在自编码器框架中研究使用记忆模块的论文,可以看做19年的iccv的论文的衍生,在我的博客中对19年iccv这篇论文也做了简单介绍。韩国人写的,应该是吧,这名字听起来就像。 摘要abstract 我们解决异常检测的问题,即检测视频序列中的异常事件。基于卷积神经网络的异常检测方法通常利用代理任务(如重建输入视频帧)来学习描述正常情况的模型,而在训练时看不到异常样本,并在测试时使用重建误

REMEMBERING HISTORY WITH CONVOLUTIONAL LSTM FOR ANOMALY DETECTION——利用卷积LSTM记忆历史进行异常检测

上海科技大学的文章,上海科技大学有个组一直在做这方面的工作,好文章挺多的还有数据集。 ABSTRACT 本文解决了视频中的异常检测问题,由于异常是无界的,所以异常检测是一项极具挑战性的任务。我们通过利用卷积神经网络(CNN或ConvNet)对每一帧进行外观编码,并利用卷积长期记忆(ConvLSTM)来记忆与运动信息相对应的所有过去的帧来完成这项任务。然后将ConvNet和ConvLSTM与