一文读懂传统目标检测和YOLO

传统目标检测算法综述 阅读详情

在这里插入图片描述

一、传统的目标检测思路

目标检测简而言之就是识别图片上的物体,标注位置,并将其分类。传统目标检测包括物体定位和物体分类,即先确定物体位置,再进行物体特征的提取,再分类。
大致分为三步:

  1. 选取感兴趣区域,即选取可能包含物体的区域——选取区域;
  2. 对可能包含物体的区域进行特征提取——特征提取;
  3. 对提取的特征进行检测分类——目标分类。

其中最重要的就是候选区域的生成,传统的候选区域生成大致有三种方法,分别是滑动窗口(Sliding Window),选择性搜索(Selective Search),EdgeBoxes。

1.1. 滑动窗口(Sliding Window)

传统的目标检测算法采用滑动窗口的方式,即一个固定大小的窗口在检测图片上滑动,依次选取区域进行特征提取,再对提取的特征进行分类,判断是否包含某类物体。

但物体有大有小,用同一尺寸的窗口选取区域会出现三种情况

  • 理想情况,滑动窗口正好框住物体
  • 滑动窗口>物体大小,会选取较多背景,物体识别效果较差,准确率低。
  • 滑动窗口<物体大小,对物体局部进行特征提取。产生误分类或多个正确识别的分类

因此需要设计不同大小的窗口,进行区域选取,会产生大量的计算,影响运行速度。

1.2选择性搜索

既然一副图像中物体可能只占一小部分,那着重扫描可能含有物体的区域效率不是更高吗?这也是后续优化的主要思想和方向。
选择性搜索是一种启发式算法,通过分割和合并图像区域来生成可能包含物体的候选框。通俗地来说选择性搜索类似于拼图。
在这里插入图片描述

  • 一个物体由一些相似的小部分构成,在颜色、纹理等方面会非常相似。
  • 选择性搜索把图片切割成许多小区域,小区域如同小拼图块,再逐步把相似的拼图块合并在一起,形成更大的拼图块。
  • 如此产生一些不同大小和形状的大拼图块,即是候选框,每个候选框会有一个分数,对应物体存在的可能性大小,最后根据分数确定一些候选框进入下一步处理,判断是否有物体。

1.3EdgeBoxes

EdgeBoxes利用图像中的物体的边缘信息来估计物体的位置和大小,从而生成可能包含物体的候选框。

  • 图中包含的物体肯定会有边界,找到边界也就大致找到了物体。
  • EdgeBoxes在图片上移动一个特殊的检测区域,检测不同的边缘变化,如果存在就可能存在物体。
  • 如此产生一些可能的区域,再用固定大小的窗口去检测可能的区域,并赋一个分数,作为可能的候选框,最后根据分数去选择候选框,进入下一步处理,判断是否有问题。

传统的物体定位不管选用何种的候选区域生成方法,选取候选框花费的时间都是难以避免的,那么去除候选框选取的步骤能否大幅加快检测速度呢?

二、YOLO

2.1YOLO

上述的传统目标检测基本都是**双阶段(two-stage)检测,即先选取候选框,再进行检测,精度较高,但速度较慢,不能满足实时性需求,速度更快的单阶段(one-stage)**检测算法YOLO(YouOnlyLookOnce)应运而生。

2.2单阶段检测和双阶段检测

单阶段(one-stage)目标检测网络与双阶段(Two-stage)检测的有着显著区别,简单来说双阶段检测需要经历定位(候选框生成)和检测识别(物体分类和定位)两个阶段,而单阶段的定位和检测识别在同一阶段。

  • 双阶段检测由算法计算出目标候选框,再通过神经网络对目标候选框进行分类与回归。
  • 单阶段检测,不再需要候选区域,仅使用卷积神经网络直接将目标定位框转为回归问题。

传统目标检测的两个阶段二合一之后速度显著提升,能满足实时检测的要求。那么YOLO不使用目标候选框是如何定位问题的呢?

2.3YOLO检测策略

YOLO抛弃了传统的的候选区域检测策略,而是采用**“分而治之”**的策略。
YOLO将输入图像均匀划分为许许多多大小相同的网格,由每个网格单元去检测其范围内是否存在目标,在网格内部使用不同的大小锚框(Anchor boxes)进行捕捉物体,并完成对物体的定位,特征提取,物体分类等。
具体的检测策略如下:

YOLO v1将一张图片平均分成7×7个网格,如果某个object的中心落在这个网格中,则这个网格就负责预测这个object。

在这里插入图片描述

  1. 将一幅图像分成S×S个网格(grid cell),如果某个物体的中心落在这个网格中,则这个网格就负责预测这个物体。
  2. 每个网格要预测B个边界框(bounding box),每个边界框要预测(x,y,w,h)和confidence共5个值,还要预测C个类别信息,记为C个类。
    (x,y指的是x,y坐标,w,h指宽和高,confidence为置信度即是某个类的可能性,C个类别信息为预设要检测的物体类别)

注:在目标检测模型中,边界框回归用于微调模型设定或者学习到的候选框位置,使这些边界框更加接近实际的标注框,是提高目标检测精度的关键步骤之一。

  1. S×S个网格,每个网格要预测B个边界框,还要预测C个类。网络输出就是一个S×S×(5×B+C)的张量。

在这里插入图片描述
YOLO v1把一张图片划分为了7×7个网格,每个网格预测2个Box(Box1和Box2),20个类别。网络输出的shape:7×7×30。


参考:
前奏 | 传统目标检测算法思路
YOLO系列算法精讲:从yolov1至yolov8的进阶之路

目标检测(Object Detection)学习笔记(概述与传统算法与基于深度学习算法) 目标检测(Object Detection)的任务是找出图像中所有感兴趣的目标(物体),不同于分类和回归问题,目标检测还需要确定目标在图像中的位置(定位),而确定识别目标的类别和位置(分类和定位),是计算机视觉领域的核心问题之一。 阅读详情

相关推荐

【YOLO 模型入门】(1)一文读懂 YOLO:从核心概念到检测原理

若需求是实时性(如自动驾驶、直播特效):优先选 YOLO 等单阶段算法;若需求是极致准确率(如医学影像分析、静态图像精细检测):可考虑 Faster R-CNN、Mask R-CNN 等两阶段算法。首先需要一个 “标准答案”——GT(Ground Truth,真值框),即人工标注的目标位置和类别(比如标注 “这是猫,位置在 (100,200,300,400)”)。然后对比模型预测的边界框(Pred Bbox)和 GT,用IoU(交并比)

2302_76756558的博客 2282

目标检测:传统目标检测方法

提到Computer Vision,可能我们会最先想到CV的基本任务Image Classification,但在此基础上,还有其他更为复杂和有趣的任务,如Object Detection、Object Localization、Image Segmentation等等,而其中目标检测(Object De...

SunshineSki的博客 4万+

(2-2)目标检测和识别:传统的目标检测方法

(2)现在开始训练模型,在本算法中可以设置多个参数,在shape_predictor_trainer的文档中说明了这些参数的含义,在Kazemi的论文中也详细解释了各个参数。这样设置的原因是,本实例用到的只是一个非常小的数据集。此外,如果在一个大的人脸标记数据集上训练它,可以获得最好的结果,正如Kazemi的论文所示。传统的目标检测方法是指基于手工设计的特征提取器和机器学习算法,这些方法使用人工定义的特征,如Haar特征、HOG特征等,结合分类器(如支持向量机、AdaBoost等)来检测和分类目标。

码农三叔 3416

目标检测-介绍及传统方法

计算机视觉中关于图像识别有四大类任务: 分类-Classification:解决"是什么?"的问题,即给定一张图片或一段视频判断里面包含什么类别的目标。 定位-Location:解决"在哪里?"的问题,即定位出这个目标的的位置。 检测-Detection:解决"是什么?在哪里?"的问题,即定位出这个目标的的位置并且知道目标物是什么。 分割-Segmentation:分为实例的分割(Instance-level)和场景分割(Scene-level),解决"每一个像素属于哪个目标物或场景"的问题。 一、

shanzsz的博客 1万+

一文教你读懂3D目标检测

本文共4593字,预计需要20分钟,可以先收藏再看哦1 简介目标检测是计算机视觉领域的传统任务,与图像识别不同,目标检测不仅需要识别出图像上存在的物体,给出对应的类别,还需要将该物体的位置通过最小包围框(Bounding box)的方式给出。根据目标检测需要输出结果的不同,一般将使用RGB图像进行目标检测,输出物体类别和在图像上的最小包围框的方式称为2D目标检测,而将使用RGB图像、RGB-D深度...

Z's Palace 2万+

目标检测 | 一文读懂YOLO系列算法(从YOLOv1到YOLOv8)

YOLO(You Only Look Once)系列算法是一种目标检测算法,主要用于实时物体检测。相较于传统的目标检测算法,YOLO具有更快的检测速度和更高的准确率。本节课就给大家重点介绍下YOLO系列算法,希望大家学习之后能够有所收获!

小哥谈 2625

一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD

转自:七月在线实验室 一、目标检测常见算法 object detection,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别。所以,object detection要解决的问题就是物体在哪里以及是什么的整个流程问题。 然而,这个问题可不是那么容易解决的,物体的尺寸变化范围很大,摆放物体的角度,姿态不定,而且可以出现在图片的任何地方,更何况物体还可以是多个类别。 目前学术和工业界...

lty_sky的专栏 1万+

PPPoe的抓包分析(详细)

PPPoe的报文结构 可以看出PPPoe的报文结构其实很简单,只不过是将PPPoe的报文塞到以太网的载荷中,而且它的头部字段也十分的简单,TLV就不说了,code字段表示了PPPoe不同的报文类型,比较常见的就是上面的五个报文了,PPPoe的报文类型其实还蛮多的。session ID主要的作用就是标识一段会话,因为使用PPPoe的最主要作用就是使得多台设备可以借助以太网多点接入多点访问的特点去和一台设备做上网认证请求,这样运营商一台认证设备就可以满足多个用户的认证请求,这和PPP相比起来好的不止一点。

qq_47529104的博客 7868

一文读懂目标检测之R-CNN系列,YOLO,SSD

一、目标检测常见算法 object detection,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别。所以,object detection要解决的问题就是物体在哪里以及是什么的整个流程问题。 然而,这个问题可不是那么容易解决的,物体的尺寸变化范围很大,摆放物体的角度,姿态不定,而且可以出现在图片的任何地方,更何况物体还可以是多个类别。 目前学术和工业界出现的目标检测算法分成3类: 传统的目标检测算法:Cascade + HOG/DPM + Haar/SVM以及上述方法的诸多改进、优化;

cengjing12的博客 2293

整理的15个公开且可直接使用的电力视觉输电线路领域数据集

而巡检数据是目前来说影响我们做科研的最大阻碍,为此本内容主要总结了,现有的且公开免费的巡检数据集,供大家使用。STN PLAD数据集133个航拍图像,五个电力部件:电力塔及其塔的ID、绝缘子,防震锤,联板(yoke),图像的尺寸在5472×3648到5472×3078。IDID数据集:2000张图像,包含三个类别,正常绝缘子,破损绝缘子和闪络绝缘子三个类别,用于目标检测的实验。TTPLA数据集,用于实例分割,1100张尺寸为3840×2160,包含两个类别,电力杆塔和电力线。主要用于电力杆塔的目标检测。

weixin_42048361的博客 5016

(四)美赛画图篇:画图模板+画图工具

美赛画图篇:画图模板+画图工具(一)画图模板(二)画图工具 因为散点图、折线图等多与数据有关,且需相关软件生成,故此处多是通用模板。直接替换文字内容即可。 (一)画图模板 1、Visio圆圈图 适合于:指标体系(E题常用) 点击下载:1 C币 如果不想花费且时间充足,悄咪咪地说,在visio-模板搜索可以找到很多。(稍微会耗一点时间) 2、简单指标体系图PPT 适合于指标体系 点击下载:0 C币...

weixin_43689393的博客 1万+

技术解析:一文读懂3D目标检测

点击上方“小白学视觉”,选择加"星标"或“置顶”重磅干货,第一时间送达本文转载自新机器视觉,文章仅用于学术分享。导读:目标检测与目标识别不同,不仅要识别图像中目标的类别,同时还要确定目标位置。与2D目标检测不同,3D目标检测是使用RGB图像、RGB-D深度图像和激光点云,输出物体类别及在三维空间中的长宽高、旋转角等信息的检测。1简介目标检测是计算机视觉领域的传统任务,与图像识别不同,目标检测不仅需...

小白学视觉 3531

OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南

OpenClaw已经开源3个月有余,作为深耕AI Agent领域的博主,我亲身探索了各种基于OpenClaw的赚钱方法,也踩过坑、付出了时间与精力。现在,我将这些真金白银砸出来的实战经验,毫无保留地总结成这个专栏,分享给不想从零开始摸索的你。博主在优快云已有7万+粉丝和1100万+阅读量,但这却是我的第一个付费专栏。正因如此,我比任何人都更珍惜这个“第一次”。我会像一个手艺人打磨作品一样,死磕每一篇文章的质量,并持续根据订阅者的反馈优化内容。也许你的疑问就是当篇文章的优化点。

冯·诺依曼 2440

一文读懂目标检测 R-CNN Fast R-CNN Faster R-CNN YOLO SSD

一文读懂目标检测 R-CNN Fast R-CNN Faster R-CNN YOLO SSD

gdfyug的博客 793

VHDL六层电梯控制器及仿真

六层电梯电梯 设计要求:设计一个六层电梯控制系统要求有超载、关门中断、提前关门清除报警信电梯外人的上升请求信号,电梯外人的下降请求信号, 电梯外人上升请求信号显示电梯外人下降请求信号显示到达楼层信号 设计思路:输入有clk时钟信号(频率为2Hz) full,deng,quick,clr超载、关门中断、提前关门清除报警c_u1,c_u2,c_u3,c_u4,c_u5电梯外人的上升请求c_d2,c_d3,c_d4,c_d5,c_d6 电梯外人的下降请求 d1,d2,d3,d4,d5,d6电梯内人的...

QQ_778132974的博客 1709

华为OD机试:使用Ascend C语言实现Matmul与LeakyReLU融合算子的全流程设计与优化解析

通过本文的详细解析,相信你已经对华为OD机试中基于Ascend C语言的Matmul+LeakyReLU融合算子的设计与实现有了深入的理解。我们不仅从理论上探讨了融合算子的核心优势,还通过实际的代码示例演示了如何一步步完成算子的实现与优化。融合算子在AI算子开发中的应用,尤其是在处理大规模矩阵计算的场景中,能够显著提升计算效率,优化内存占用,并减少数据传输的开销。通过合理的Tiling策略设计,我们还能够充分利用多核处理器的算力,进一步提升AI模型的训练与推理性能。

qq_38334677的博客 661

目标检测的各种算法总结

这里是引用腾讯云博客文章:一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD 文章目录一、目标检测常见算法二、传统的目标检测算法2.1 从图像识别的任务说起2.2 物体检测(Object Detection)三、候选区域/窗 + 深度学习分类3.1 R-CNN横空出世3.2 SPP Net3.3 Fast R-CNN3.4 Faster R-CNN...

librahfacebook的博客 1万+

C# 工业上位机集成 YOLOv8 全实战:模型转换→相机取流→PLC 联动落地部署

// 检测结果实体类,工业场景扩展置信度、坐标、类别字段set;set;set;set;/// 模型配置常量,与导出参数保持一致// 置信度阈值// 非极大值抑制阈值public static readonly string[] ClassNames = { "物料", "缺陷", "挡板" };// 自定义类别本文完整实现了YOLO模型转换→C#上位机集成→工业相机对接→PLC联动→现场部署标准化模型转换流程,杜绝C#端兼容性问题;解耦相机取流、推理、UI线程,满足工业高稳定性要求;

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 320

一文读懂 YOLO-V1 与 YOLO-V2:让目标检测更快更强

在深度学习目标检测领域,YOLO 系列凭借 “快速高效” 的特点占据重要地位。从 YOLO-V1 的开创性突破,到 YOLO-V2 的全面升级,每一代都在解决前作问题的同时,推动实时检测技术的落地应用。

mez666的博客 803

实用指南:制作通用的INCA和CANape兼容A2L文件

A2L(ASAM MCD-2 Measurement and Calibration Data)文件是描述ECU(电子控制单元)测量和校准数据的标准文件格式。在标定工作中,A2L文件扮演着极为重要的角色,它定义了测量通道、校准参数等关键信息,为工程师提供了统一的描述方式。INCA和CANape是两种常见的汽车电子系统标定工具,分别由ETAS和Vector公司开发。它们在汽车电子系统的开发和调试过程中发挥着重要作用,提供了丰富的标定功能和用户友好的界面。

一直在水些技术小文 2923

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

[转]一文读懂目标检测:R-CNN、Fast R-CNN、Faster R-CNN、YOLO、SSD

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.youkuaiyun.com/kwame211/article/details/88016151 一、目标检测常见算法 object detection,就是在给定的图片中精确找到物体所在位置,并标注出物体的类别。所以,object detection要解决的问题就是物体在哪里以及是什么的整个流程问题。 然而,这个问题可不是...

Admans的专栏 494

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: 深入理解linux进程切换
Flyy.
博客等级 码龄7年 6粉丝 9原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Flyy.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值