物体检测技术的简单介绍

article/2025/10/16 12:11:20

1. 物体检测技术概念
物体检测技术,通常是指在一张图像中检测出物体出现的位置及对 应的类别,主要包括物体类别、 x m i n x_{min} xmin y m i n y_{min} ymin x m a x x_{max} xmax y m a x y_{max} ymax。它是一项非常基础的任 务,图像分割、物体追踪、关键点检测等通常都要依赖于物体检测。

2. 图像分类、物体检测与图像分割的区别

  • 图像分类:输入图像往往仅包含一个物体,目的是判断每张图像 是什么物体,是图像级别的任务,相对简单,发展也最快。
  • 物体检测:输入图像中往往有很多物体,目的是判断出物体出现 的位置与类别,是计算机视觉中非常核心的一个任务。 ·
  • 图像分割:输入与物体检测类似,但是要判断出每一个像素属于 哪一个类别,属于像素级的分类。图像分割与物体检测任务之间有很多 联系,模型也可以相互借鉴

3. 传统的物体检测
传统的物体检测,不涉及深度学习之前,通常分 为区域选取、特征提取与特征分类这3个阶段

  • 区域选取:首先选取图像中可能出现物体的位置,由于物体位 置、大小都不固定,因此传统算法通常使用滑动窗口(Sliding Windows)算法,但这种算法会存在大量的冗余框,并且计算复杂度 高
  • 特征提取:在得到物体位置后,通常使用人工精心设计的提取器 进行特征提取,如SIFT和HOG等。由于提取器包含的参数较少,并且 人工设计的鲁棒性较低,因此特征提取的质量并不高。
  • ·特征分类:最后,对上一步得到的特征进行分类,通常使用如 SVM、AdaBoost的分类器。

4. 深度学习时代的物体检测
深度神经网络大 量的参数可以提取出鲁棒性和语义性更好的特征,并且分类器性能也更 优越。
2014年的RCNN(Regions with CNN features)算是使用深度学习 实现物体检测的经典之作,从此拉开了深度学习做物体检测的序幕。
在这里插入图片描述

  • 在RCNN基础上,2015年的Fast RCNN实现了端到端的检测与卷积 共享,Faster RCNN提出了锚框(Anchor)这一划时代的思想,将物体 检测推向了第一个高峰。在2016年,YOLO v1实现了无锚框(Anchor- Free)的一阶检测,SSD实现了多特征图的一阶检测,这两种算法对随 后的物体检测也产生了深远的影响
  • 在2017年,FPN利用特征金字塔实现了更优秀的特征提取网络, Mask RCNN则在实现了实例分割的同时,也提升了物体检测的性能。 进入2018年后,物体检测的算法更为多样,如使用角点做检测的 CornerNet、使用多个感受野分支的TridentNet、使用中心点做检测的 CenterNet等。
  • 在物体检测算法中,物体边框从无到有,边框变化的过程在一定程 度上体现了检测是一阶的还是两阶的。
    • 两阶:两阶的算法通常在第一阶段专注于找出物体出现的位置, 得到建议框,保证足够的准召率,然后在第二个阶段专注于对建议框进 行分类,寻找更精确的位置,典型算法如Faster RCNN。两阶的算法通 常精度准更高,但速度较慢。当然,还存在例如Cascade RCNN这样更 多阶的算法。
    • 一阶:一阶的算法将二阶算法的两个阶段合二为一,在一个阶段里完成寻找物体出现位置与类别的预测,方法通常更为简单,依赖于特 征融合、Focal Loss等优秀的网络经验,速度一般比两阶网络更快,但 精度会有所损失,典型算法如SSD、YOLO系列等

锚框(Anchor)这一划时代的思想,,最早出现在Faster RCNN中,其本质 上是一系列大小宽高不等的先验框,均匀地分布在特征图上,利用特征 去预测这些Anchors的类别,以及与真实物体边框存在的偏移。Anchor 相当于给物体检测提供了一个梯子,使得检测器不至于直接从无到有地 预测物体,精度往往较高,常见算法有Faster RCNN和SSD等。
当然,还有一部分无锚框的算法,思路更为多样,有直接通过特征 预测边框位置的方法,如YOLO v1等。最近也出现了众多依靠关键点来 检测物体的算法,如CornerNet和CenterNet等。

5. 技术应用领域

  • 安防(行人与车辆的检测。将检测技术融入到摄像头中, 形成智能摄像头)
  • 自动驾驶(行人、车辆等障碍物的检测)
  • 机器人(工业机器人自动分拣,识别要分拣的物体或部件;移动智能机器人用于检测各种障碍物,以实现安全的避障与导航)
  • 搜索推荐(对于包含特定物体的图像过滤、筛选、推荐和水印处理)
  • 医疗诊断(对CT、MR等医疗图 像中特定的关节和病症进行诊断)

6. 评价指标
(1)评价指标需要针对不同的运用给出不同的指标

  • 图像分类
    对于图像分类任务来讲,由于其输出是很简单的图像 类别,因此很容易通过判断分类正确的图像数量来进行衡量。
  • 物体检测
    对于具 体的某个物体来讲,我们可以从预测框与真实框的贴合程度来判断检测 的质量,通常使用IoU(Intersection of Union)来量化贴合程度。

(2) 物体检测指标:IoU
① IoU的计算方式如图:
在这里插入图片描述
它通过使用两个边框的交集与并集的比 值,就可以得到IoU,公式如下:
I o U A , B = S A ∩ S B S A ∪ S B IoU_{A,B}=\frac{S_A \cap S_B}{S_A \cup S_B} IoUA,B=SASBSASB显而易见,IoU的取值区间是[0,1],IoU值越大,表明两个框重合越好

② Python实现IoU的计算
在这里插入图片描述
备注:个人觉得,这参考代码是以左上角为原点。
源码:

# -*- coding: utf-8 -*-
def iou(boxA, boxB):# 计算重合部分的上、下、左、右4个边的值,注意最大最小函数的使用left_max = max(boxA[0], boxB[0])top_max = max(boxA[1], boxB[1])right_min = min(boxA[2], boxB[2])bottom_min = min(boxA[3], boxB[3])# 计算重合部分的面积inter = max(0, (right_min-left_max)) * max(0, (bottom_min-top_max))Sa = (boxA[2]-boxA[0]) * (boxA[3]-boxA[1])  # A的面积Sb = (boxB[2]-boxB[0]) * (boxB[3]-boxB[1])  # B的面积# 计算所有区域的面积并计算iou,如果是Python 2,则要增加浮点化操作union = Sa + Sb - inter  # 不重叠部分的面积iou = inter / unionreturn iou

对于IoU而言,通常会选取一个阈值,如0.5,来确定预测框是 正确的还是错误的。当两个框的IoU大于0.5时,我们认为是一个有效的 检测,否则属于无效的匹配。
关于检测评测,可以先读这篇文字:分类效果评价
结合分类效果评级,我们可以得到如下图左侧的部分知识

在这里插入图片描述
评测需要每张图片的预测值与标签值,对于某一个实 例,二者包含的内容分别如下: ·

  • 预测值(Dets):物体类别、边框位置的4个预测值、该物体的得分。
  • 标签值(GTs):物体类别、边框位置的4个真值。
    在预测值与标签值的基础上,AP的具体计算过程如下:
    AP的计算过程
    我们首先将所有的预测框按照得分从高到低进行排序(因为得分越高的边框其对于真实物体的概率往往越大),然后从高到低遍历预测框
    对于遍历中的某一个预测框,计算其与该图中同一类别的所有标签框GTs的IoU,并选取拥有最大IoU的GT作为当前预测框的匹配对象如果该IoU小于阈值,则将当前的预测框标记为误检框FP。
    如果该IoU大于阈值,还要看对应的标签框GT是否被访问过。如果 前面已经有得分更高的预测框与该标签框对应了,即使现在的IoU大于 阈值,也会被标记为FP。如果没有被访问过,则将当前预测框Det标记 为正确检测框TP,并将该GT标记为访问过,以防止后面还有预测框与 其对应
    在遍历完所有的预测框后,我们会得到每一个预测框的属性,即TP 或FP。在遍历的过程中,我们可以通过当前TP的数量来计算模型的召 回率(Recall,R),即当前一共检测出的标签框与所有标签框的比值,

R = T P l e n ( G T s ) R=\frac{TP}{len(GTs)} R=len(GTs)TP也可以计算准确率(Precision,P),即当 前遍历过的预测框中,属于正确预测边框的比值 P = T P T P + F P P=\frac{TP}{TP+FP} P=TP+FPTP
遍历到每一个预测框时,都可以生成一个对应的P与R,这两个值 可以组成一个点(R,P),将所有的点绘制成曲线,即形成了P-R曲线,如图:
在这里插入图片描述
从图中可以看出,如果直接取曲线 上的点,在哪里选取都不合适,因为召回率高的时候准确率会很低,准 确率高的时候往往召回率很低。这似乎与我们想要的P越高的同时R也越大互相矛盾,但是我们可以使用AP,AP顾名思义就是平均精准度,简单来说就是对PR曲线上的Precision值求均值
A P = ∫ 0 1 P d R AP=\int^1_0 PdR AP=01PdR从公式中可以看出,AP代表了曲线的面积,每个类别的AP是相互独立 的,将每个类别的AP进行平均,即可得到mAP。严格意义上讲,还需 要对曲线进行一定的修正,再进行AP计算。除了求面积的方式,还可 以使用11个不同召回率对应的准确率求平均的方式求AP。


http://chatgpt.dhexx.cn/article/R3cvSwxU.shtml

相关文章

Opencv项目实战:05 物体检测

1,效果展示 为此,我专门还去查了查,怎么将视频转化为gif图,不知不觉中,我又多学会了一项技能。 OK!cool,效果很不错,今天需要搭配一些文件,都是可以从官网里找到的,那么我为了方便,专门去学习怎么在GitHub上托管项目,还下载了VScode和Git,我太难受了,如果不是要写…

百万youtube高清视频数据集采集

HD-VILA-100M是什么? HD-VILA-100M是一个大规模、高分辨率、多样化的视频语言数据集,有助于多模态表示学习。 数据统计 该数据集共包含330万个视频,视频质量较高,均衡分布在15个类别中。 下载(Download) 您可以通…

100多万个视频短片数据集来啦!

本文经授权转载自 IEEE电气电子工程师学会(ID: IEEE_China) 想象一下,如果我们必须向外星人解释地球上发生的所有行为。我们可以为他们提供非小说类书籍或BBC纪录片。我们可以尝试口头解释什么是电臀舞。但是,实际上,没…

大数据视频课程汇总

1.由于未经视频版权方授权,很可能会被下架,请各位需要的同仁及时下载,如果被下架,请留言说明。 2.视频为大数据梅峰谷整理,所有视频不加密,不收费,不做机构的宣传品,(因为微信和各大…

视频分类数据集介绍

视频分类数据集 在视频分类项目中,有很多经典的公开数据集,目前主要的数据集如列表所示: 重点介绍三个中等规模的数据集。 1. UCF101 动作识别数据集,从youtube收集而得,共包含101类动作。其中每类动作由25个人做动作…

Python毕业设计 抖音短视频数据分析与可视化 - python 大数据 可视化

文章目录 0 前言1 课题背景2 数据清洗3 数据可视化地区-用户观看时间分界线每周观看观看路径发布地点视频时长整体点赞、完播 4 进阶分析相关性分析留存率 5 深度分析客户价值判断 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,传统的毕…

大数据分析视频全套

一、全套视频总览 二、大数据分析之level2 三、大数据分析之level3 四、大数据分析之level4 五、课程相关资料 具体详细内容及目录结构如下: 注: 大数据分析与大数据开发的区别在于:本套课程涵盖算法更多,需掌握python语言&#…

AI大数据可视化EasyCVR视频融合平台的部署操作流程详解

EasyCVR视频融合平台基于云边端一体化架构,具有强大的数据接入、处理及分发能力,平台支持海量视频汇聚管理,能在复杂的网络环境中,将分散的各类视频资源进行统一汇聚、整合、集中管理,实现视频直播、云端录像、云存储、…

音视频造数据的路

目录 1、多路数据制造 (1)合并多路 (2) 视频修改分辨率 (3) 修改视频码率 (4)修改帧率 2、音频流多声道合成 (1)双声道合并单声道 (2&…

音视频数据介绍

1、前言 在诸如安防系统标准GB28181和“电网视频监控系统及接口”中,固定视频流的传输格式为PS格式。PS流和TS流的概念是在MPEG2的ISO/IEC-13818标准的第一部分“系统”中提出的。其提出的目的是提供MPEG2编码比特的存储与传输方案。 2、先介绍PS封装中的…

互联网海量视频数据的存储

原文链接:http://www.docin.com/p-86312184.html?docfromrrela 一、背景 互联网内容提供方式转变:用户创造内容。视频应用、网络游戏、搜索引擎等互联网衍生业务迅速发展,使得海量数据存储、管理和处理成为当今互联网公司面临的严峻问题。这…

浅析大数据时代下的视频技术发展趋势以及AI加持下视频场景应用

视频技术的发展可以追溯到19世纪初期的早期实验。到20世纪初期,电视技术的发明和普及促进了视频技术的进一步发展。 1)数字化:数字化技术的发明和发展使得视频技术更加先进。数字电视信号具有更高的清晰度和更大的带宽,可以更快地…

音视频数据方案

一点点想法:还请各路大神多多指点! 技术栈: 1、数据存储、数据缓存、数据索引:springboot redis mysql elasticSearch 2、数据抓取:python mysqlBeautifulSoup、Selenium、lxml 3、图片分析:pythonPill…

浅析基于EasyCVR视频技术构建工业园区视频安防大数据监管平台的方案

随着社会经济的快速发展,越来越多的工业园区也正在加快智能化建设的步伐,为入驻企业提供舒适、安全、科技、智慧的办公及生产环境。在建设园区的智能化安防视频监管平台时,需要满足两方面的需求:一是园区内部及周边公共区域安全防…

某马大数据全套视频

某马大数据 01、阶段一 Python大数据开发基础 01、第一章大数据介绍及开发环境 02、第二章 linux命令 03、第三章 MySQL数据库 04、第四章 excel的使用 05、第五章 kettle的使用 06、第六章 数据分析及可视化 07、第七章 大数据框架与数仓基础 08、第八章 数仓实战项目 …

视频观看行为高级分析(大数据分析)

今天介绍一下我们的视频观看行为高级分析功能。 一、观看行为分析 观看行为分析,基于Polyv大数据分析,能够以秒为粒度展示观众如何观看您的视频。 视频观看热力图是单次观看行为的图形化表示,Polyv云点播视频的每一次播放,都会产…

【毕业设计】基于大数据的抖音短视频数据分析与可视化 - python 大数据 可视化

文章目录 0 前言1 课题背景2 数据清洗3 数据可视化地区-用户观看时间分界线每周观看观看路径发布地点视频时长整体点赞、完播 4 进阶分析相关性分析留存率 5 深度分析客户价值判断 5 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要求和难度不断提升,…

五分钟读懂视频大数据分析

 发展至今,大数据不再为互联网企业独有,而是逐渐成为覆盖各行业、可以为具体业务服务的技术。如今,春节不仅演化成了一年一度的“人口迁徙”大节,还成了交通、安保等领域接受技术检验的关键时刻&#xff…

视频大数据的三大发展趋势

趋势一:系统集成下的技术融合 智能视频分析计算本身就是一个非常耗计算资源的过程,利用分布式计算平台的并行计算能力及云平台的计算资源弹性分配机制,可以有效利用平台的计算资源提高视频处理能力。同时,视频分析算法也需要不断…

大数据与视频技术的融合趋势将带来怎样的场景应用?

视频技术和AI技术的融合是一种新兴的技术趋势,它将改变视频行业的运作方式。视频技术和AI技术的融合主要包括以下几个方面: 1)人脸识别技术 人脸识别技术是AI技术的一个重要应用场景。它可以通过对视频中的人脸进行识别和分析,实…