当前位置: 首页 > news >正文

目标检测(Object Detection)

The essence of object detection is to get category and location through input images.

1、CV

计算机视觉概述

2、Classification of Object Detection

基于深度学习的目标检测算法主要分为两类:Two stageOne stage

(1)Tow Stage

先进行区域生成,该区域称之为 region proposal(简称 RP,一个有可能包含待检物体的预选框),再通过卷积神经网络进行样本分类。

任务流程:特征提取 --> 生成RP --> 分类/定位回归。

常见 tow stage 目标检测算法有:R-CNN、Fast R-CNN 和 Faster R-CNN 等。

(2)One Stage

不用RP,直接在网络中提取特征来预测物体分类和位置。

任务流程:特征提取–> 分类/定位回归。

常见的 one stage 目标检测算法有:YOLO 系列和 DETR 等。

3、滑动窗口

滑动窗口的策略:在输入图像中产生不同大小的窗口,不同窗口大小的滑窗进行从左往右、从上到下的滑动,每次滑动时候对当前窗口执行分类器(分类器是事先训练好的);如果当前窗口得到较高的分类概率,则认为检测到了物体。对每个不同窗口大小的滑窗都进行检测后,会得到不同窗口检测到的物体标记,这些窗口大小会存在重复较高的部分,最后采用非极大值抑制方法进行筛选。

在这里插入图片描述

4、选择性搜索(Selective Search ,SS)

选择性搜索基于论文《Graph Based Image Segmentation》中图表示的图像分割方法,主要介绍了一种基于图表示(graph-based)的图像分割方法。图像分割(Image Segmentation)的主要目的也就是将图像分割成若干个特定的、具有独特性质的区域,然后从中提取出感兴趣的目标。

在这里插入图片描述

选择性搜索的思想:

1)使用一种图像分割手段,将图像分割成小区域 (1k~2k 个);

2)查看现有小区域,按照合并规则合并可能性最高的相邻两个区域。重复直到整张图像合并成一个区域位置;

3)输出所有曾经存在过的区域,所谓候选区域;

5、Anchor

Anchor 机制是在图像上预设好的不同大小,不同长宽比的参照框(anchor boxes)。(其实非常类似于上面的滑窗法所设置的窗口大小)

anchor boxes 是一组提前预定义的边框,这些框的宽高和数据集中目标物体的宽高大体是一致的,换句话说,数据集中的绝大多数物体都能找到与其大小一致的 anchor box 。举例来说,如果数据集中包含苹果、猫,那么这组 anchor boxes 中就需要有和苹果、猫大小相仿的边框。为了尽可能多的检测出数据集中可能出现的不同大小目标检测物体,具有不同的宽高比(aspect ratio)和尺度(scale)的 anchor boxes 。

在这里插入图片描述

使用 Anchor 的好处:

1)使用 anchor 机制产生密集的 anchor boxes ,使得网络可直接在此基础上进行目标分类及边界框坐标回归;

2)密集的 anchor boxes 可有效提高网络目标召回能力,对于小目标检测来说提升非常明显。

6、非极大值抑制(Non-Maximum Suppression,NMS)

NMS 的主要作用是去除的冗余框。其思想是搜素局部最大值,抑制非极大值。

步骤流程:

(1)根据置信度大小进行排序;

(2)计算置信度最大的边界框与其它候选框的IoU;

(3)删除IoU大于阈值的边界框;

(4)然后通过循环遍历方式,重复以上流程。

在这里插入图片描述

7、目标检测模型评价指标

【目标检测】模型评估指标

【COPY】
目标检测(Object Detection)
【目标检测】Selective Search (SS) 选择性搜索算法
目标检测中的anchor机制

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 深度学习 --- VGG16各层feature map可视化(JupyterNotebook实战)
  • Qt生成.exe文件
  • Windows上传Linux文件行尾符转换
  • 使用kubekey快速搭建k8s集群
  • fastadmin 安装
  • 信息学奥赛一本通编程启蒙题解(3031~3035)
  • Python正则表达式提取车牌号
  • C#:从HttpResponseMessage获取想要的内容(字符串或类型)
  • 深入浅出:你需要了解的用户数据报协议(UDP)
  • java设计模式--结构型模式
  • STM32——PWM波形输出
  • C#实现数据采集系统-数据反写(1)MQTT订阅接收消息
  • 【回文数判断】输入一个5位数,判断它是不是回文数
  • springboot后端开发-自定义参数校验器
  • Win 10高效录屏指南:四大神器助力屏幕录制!
  • Angular 4.x 动态创建组件
  • Apache Pulsar 2.1 重磅发布
  • Git 使用集
  • JavaScript设计模式系列一:工厂模式
  • JS 面试题总结
  • KMP算法及优化
  • passportjs 源码分析
  • React-Native - 收藏集 - 掘金
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • VUE es6技巧写法(持续更新中~~~)
  • 翻译 | 老司机带你秒懂内存管理 - 第一部(共三部)
  • 码农张的Bug人生 - 初来乍到
  • 排序算法学习笔记
  • 深入浏览器事件循环的本质
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • 积累各种好的链接
  • 如何通过报表单元格右键控制报表跳转到不同链接地址 ...
  • 小白应该如何快速入门阿里云服务器,新手使用ECS的方法 ...
  • ​软考-高级-系统架构设计师教程(清华第2版)【第1章-绪论-思维导图】​
  • # 20155222 2016-2017-2 《Java程序设计》第5周学习总结
  • #if和#ifdef区别
  • $forceUpdate()函数
  • (2)空速传感器
  • (day 12)JavaScript学习笔记(数组3)
  • (利用IDEA+Maven)定制属于自己的jar包
  • (图文详解)小程序AppID申请以及在Hbuilderx中运行
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • *算法训练(leetcode)第四十七天 | 并查集理论基础、107. 寻找存在的路径
  • .gitignore
  • .NET 6 在已知拓扑路径的情况下使用 Dijkstra,A*算法搜索最短路径
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .NET Micro Framework初体验
  • .net 使用ajax控件后如何调用前端脚本
  • .Net环境下的缓存技术介绍
  • /usr/bin/python: can't decompress data; zlib not available 的异常处理
  • [ vulhub漏洞复现篇 ] JBOSS AS 5.x/6.x反序列化远程代码执行漏洞CVE-2017-12149
  • [ 云计算 | AWS 实践 ] Java 如何重命名 Amazon S3 中的文件和文件夹
  • [2024-06]-[大模型]-[Ollama]- WebUI
  • [AIGC 大数据基础]hive浅谈