首页 >> 大全

第1篇 目标检测概述 —(1)目标检测基础知识

2024-01-07 大全 34 作者:考证青年

前言:Hello大家好,我是小哥谈。目标检测是计算机视觉领域中的一项任务,旨在自动识别和定位图像或视频中的特定目标,目标可以是人、车辆、动物、物体等。目标检测的目标是从输入图像中确定目标的位置,并使用边界框将其标记出来。为了让大家能够牢固地掌握目标检测基础知识,本系列文章就对目标检测进行详细介绍,希望大家学习之后能够有所收获!

目录

1.简介

1.1 什么是目标检测?

1.2目标检测算法难点

1.3目标检测主流目标检测技术

1.4目标检测算法未来趋势

1.5目标检测算法应用

2.目标检测发展历程与现状

2.1目标检测算法发展历程

2.2目标检测算法分类

3.目标检测原理

3.1 候选区域产生

3.2数据表示

3.3效果评估

3.4非极大值抑制

4.目标检测常用的数据集

4. VOC

4.2MS COCO

4. Open Image

4.

4.5DOTA

5.目标检测常用标注工具

5.

5.

5.

5.

5.5CVAT

5.6VIA

5.7 其他标注工具

6.目标检测常用术语表

1.简介 1.1 什么是目标检测?

目标检测是计算机视觉领域中的一个任务,其目的是在图像或视频中确定和定位感兴趣的物体。目标检测模型不仅可以识别物体的类别,还能够提供每个物体的边界框位置。由于各类物体有不同的外观、形状和姿态,加上成像时光照、遮挡等因素的干扰,目标检测⼀直是计算机视觉领域最具有挑战性的问题。目标检测通常涉及两个主要步骤:分类(判断物体类别)和定位(确定边界框位置)。

目标检测的位置信息一般由两种格式(以图片左上角为原点(0,0)):

(1)极坐标表示:(xmin, ymin, xmax, ymax)

(2)中心点坐标:(, , w, h)

在深度学习领域,目标检测通常使用卷积神经网络(CNN)模型来实现。常见的目标检测方法包括:

R-CNN系列:包括R-CNN、Fast R-CNN、 R-CNN等,这些方法使用候选区域提取技术(如选择性搜索)来生成感兴趣区域,然后通过分类器和回归器对这些区域进行分类和定位。

YOLO系列:包括YOLO、、等,这些方法将目标检测问题转化为一个回归问题,并将物体位置和类别同时预测出来,具有较快的速度和较高的精度。

SSD( Shot ):SSD将目标检测问题转化为一个多尺度检测问题,通过在不同层次上预测不同尺度的边界框和类别信息来实现目标检测。

等等......

计算机视觉中关于图像识别有四大类任务:

分类-:解决“是什么?”的问题,即给定⼀张图⽚或⼀段视频判断里面包含什么类别的目标。

定位-:解决“在哪里?”的问题,即定位出这个目标的的位置。

检测-:解决“是什么?在哪里?”的问题,即定位出这个⽬标的的位置并且知道目标物是什么。

分割-:分为实例的分割(-level)和场景分割(Scene-level),解决“每⼀个像素属于哪个目标物或场景”的问题。

除了图像分类之外,目标检测要解决的核心问题是:

1.2目标检测算法难点

目标检测算法的主要难点和挑战:

等等......

1.3目标检测主流目标检测技术

目前国内主流的目标检测技术:

等等......

1.4目标检测算法未来趋势

随着技术的发展和成熟应用,目标检测算法未来的发展趋势主要有:

等等......

1.5目标检测算法应用

目标检测具有巨大的实⽤价值和应⽤前景。

(1)人脸检测

(2)行人检测

(3)车辆检测

(4)遥感检测

2.目标检测发展历程与现状 2.1目标检测算法发展历程

过去的 20 年,目标检测的发展历程大致经历了两个历史时期:传统的目标检测时期(2014 年以前)和基于深度学习的检测时期(2014 年以后)。

传统的目标检测算法可以概括为以下几个步骤:

首先,采取滑动窗口的方式遍历整张图像,产生一定数量的候选框;

其次,提取候选框的特征;

最后,利用支持向量机(SVM)等分类方法对提取到的特征进行分类,进而得到结果。

由于当时缺乏有效的图像表示,人们只能设计复杂的特征表示,并通过各种加速技能来充分利用有限的计算资源。该时期主要的检测方法有:

早期的目标检测任务提取特征时,主要的方式是人工提取,具有一定的局限性,手工特征的性能也趋于饱和。2012 年起,卷积神经网络的广泛应用使得目标检测也开启了新的征程。2014年R-CNN算法横空出世,目标检测开始以前所未有的速度快速发展。深度学习时代,目标检测算法根据检测思想的不同通常可以分为两大类别:两阶段(two-stage)检测和一阶段(one-stage)检测。

两阶段检测算法基于提议的候选框,是一个“由粗到细”的过程。首先产生区域候选框,其次提取每个候选框的特征,最后产生位置框并预测对应的类别,特点是精度高但速度慢。最早期的R-CNN算法利用“选择性搜索”方法产生候选框、卷积神经网络提取特征、支持向量机分类器进行分类和预测。虽然R-CNN算法具有一定的开创性,但生成的候选框大量重叠,存在计算冗余的问题。

2014年提出的算法利用空间金字塔池化层对不同尺度的特征图进行池化并生成固定长度的特征表示,减少反复缩放图像对检测结果造成的影响。然而,的缺点是:模型的训练仍然是分多步的;很难对SPP层之前的网络进行参数微调,导致效率降低。2015 年提出的Fast R-CNN算法,对R-CNN与算法做出进一步改进,提出感兴趣区域池化层(ROI),使得检测的速度和精度大大提升。随后又出现的 R-CNN算法,实现了端到端地训练,用RPN网络代替选择性搜索,大大减少了训练和测试的时间。

一阶段检测算法基于边界框的回归,是一个“一步到位”的过程。一阶段检测网络在产生候选框的同时进行分类和边界框回归,特点是速度快但精度稍逊。2016年YOLO算法提出,该算法将图像分割成 S×S 个网格,基于每个网格对应的包围框直接预测类别概率和回归位置信息。随后有出现了SSD 算法,该算法借鉴YOLO算法的思想,并利用多尺度特征图进行预测。

2.2目标检测算法分类

基于深度学习的⽬标检测算法主要分为两类:

(1)Two stage目标检测算法

检测目标概述基础知识点__检测目标概述基础知识总结

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

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

常见的two stage目标检测算法有:R-CNN、SPP-Net、Fast R-CNN、 R-CNN和R-FCN等。✅

(2)One stage目标检测算法

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

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

常见的one stage目标检测算法有:、、、、SSD和等。✅

两阶段算法和一阶段算法对比:

算法类别

机制

优势

局限性

适用场景

两阶段算法

先生成候选区,再对候选区进行分类和回归。

算法精确度高

实时性差,检测小目标效果差。

高精度目标检测

一阶段算法

不生成候选区直接进行分类和回归

实时性高

成群目标和小目标检测精度低

实时目标检测

3.目标检测原理

目标检测主要分为两大系列——RCNN系列和YOLO系列,RCNN系列是基于区域检测的代表性算法,YOLO是基于区域提取的代表性算法。

3.1 候选区域产生

很多目标检测技术都会涉及候选框( boxes)的生成,物体候选框获取当前主要使用图像分割与区域生长技术。区域生长(合并)主要由于检测图像中存在的物体具有局部区域相似性(颜色、纹理等)。目标识别与图像分割技术的发展进一步推动有效提取图像中信息。

(1)滑动窗口

通过滑窗法流程图可以很清晰理解其主要思路:首先对输入图像进行不同窗口大小的滑窗进行从左往右、从上到下的滑动。每次滑动时候对当前窗口执行分类器(分类器是事先训练好的)。如果当前窗口得到较高的分类概率,则认为检测到了物体。对每个不同窗口大小的滑窗都进行检测后,会得到不同窗口检测到的物体标记,这些窗口大小会存在重复较高的部分,最后采用非极大值抑制(Non- , NMS)的方法进行筛选。最终,经过NMS筛选后获得检测到的物体。

滑窗法简单易于理解,但是不同窗口大小进行图像全局搜索导致效率低下,而且设计窗口大小时候还需要考虑物体的长宽比。所以,对于实时性要求较高的分类器,不推荐使用滑窗法。

说明:♨️♨️♨️

滑动窗口法中,事先规定一个固定大小的窗口,使用这个窗口在原图中滑动,滑动到每个位置,那么窗口与图像重合的部分就是一个候选区域,候选区域用来后续的检测任务(滑动窗口法类似于卷积神经网络中的卷积过程)。如果图片尺寸很大,会导致一张图片就能产生数量极多的候选区域。滑动窗口的尺寸设置需要与物体的尺寸相匹配才能带来好的效果,因此对于检测任务来说,滑动窗口法效率很低并且性能不优。

(2)选择性搜索

滑窗法类似穷举进行图像子区域搜索,但是一般情况下图像中大部分子区域是没有物体的。学者们自然而然想到只对图像中最有可能包含物体的区域进行搜索以此来提高计算效率。选择搜索( ,简称SS)方法是当下最为熟知的图像 boxes提取算法,由Koen E.A于2011年提出。

选择搜索算法的主要思想:图像中物体可能存在的区域应该是有某些相似性或者连续性区域的。因此,选择搜索基于上面这一想法采用子区域合并的方法进行提取 boxes。

首先,对输入图像进行分割算法产生许多小的子区域。

其次,根据这些子区域之间相似性(相似性标准主要有颜色、纹理、大小等等)进行区域合并,不断的进行区域迭代合并。每次迭代过程中对这些合并的子区域做 boxes(外切矩形),这些子区域外切矩形就是通常所说的候选框。

选择性搜索流程:

选择性搜索优点:

3.2数据表示

经过标记后的样本数据如下所示:

预测输出可以表示为:

其中,

为预测结果的置信概率,

为边框坐标,

为属于某个类别的概率。通过预测结果、实际结果,构建损失函数。

3.3效果评估

使用IoU( over Union,交并比)来判断模型的好坏。所谓交并比,是指预测边框、实际边框交集和并集的比率,一般约定0.5为一个可以接收的值。

3.4非极大值抑制

预测结果中,可能多个预测结果间存在重叠部分,需要保留交并比最大的、去掉非最大的预测结果,这就是非极大值抑制(Non- ,简写作NMS)。

如下图所示,对同一个物体预测结果包含三个概率0.8/0.9/0.95,经过非极大值抑制后,仅保留概率最大的预测结果。

说明:♨️♨️♨️

置信度:置信度是介于0-1(或100%)之间的数字,它描述模型认为此预测边界框包含某类别目标的概率。

IoU( over Union,IoU):即两个边界框相交面积与相并面积的比值,边界框的准确度可以用IoU进行表示;一般约定,在检测中,IOU>0.5,则认为检测正确,一般阈值设为0.5。

总结就是置信度和IoU一起用来计算精确率。

4.目标检测常用的数据集 4. VOC

VOC数据集是⽬标检测经常⽤的⼀个数据集,⾃2005年起每年举办⼀次⽐赛,最开始只有4类,到2007年扩充 为20个类,共有两个常⽤的版本:2007和2012。

学术界常⽤5k的train/val 2007和16k的train/val 2012作为训练集,test 2007作为测试集,⽤10k的train/val 2007+test 2007和16k的train/val 2012作为训练集,作为测试集,分别汇报结果。

4.2MS COCO

_检测目标概述基础知识点_检测目标概述基础知识总结

COCO数据集是微软团队发布的⼀个可以⽤来图像++ 数据集,该数据集收集了⼤量包含常见物体的⽇常场景图⽚,并提供像素级的实例标注以更精确地评估检测和分割算法的效果,致⼒于推动场景理解的研究进展。依托这⼀数据集,每年举办⼀次⽐赛,现已涵盖检测、分割、关键点识别、注释等机器视觉的中⼼任务,是继 以来最有影响⼒的学术竞赛之⼀。 相⽐,COCO更加偏好⽬标与其场景共同出现的图⽚,即non- 。这样的图⽚能够反映视觉上的语义,更符合图像理解的任务要求,⽽相对的 则更适合浅语义的图像分类等任务。

COCO的检测任务共含有80个类,在2014年发布的数据规模分train/val/test分别为80k/40k/40k,学术界较为通⽤的划分是使⽤train和35k的val⼦集作为训练集(),使⽤剩余的val作为测试集(),同时向官⽅的 提交结果(test-dev)。除此之外,COCO官⽅也保留⼀部分test数据作为⽐赛的评测集。

4. Open Image

Open Image是⾕歌团队发布的数据集。最新发布的Open V4包含190万图像、600个种类,1540万个 -box标注,是当前最⼤的带物体位置标注信息的数据集。这些边界框⼤部分都是由专业注释⼈员⼿动绘制的,确保了它们的准确性和⼀致性。另外,这些图像是⾮常多样化的,并且通常包含有多个对象的复杂场景(平均每个图像 8 个)。

4.

是⼀个计算机视觉系统识别项⽬,是⽬前世界上图像识别最⼤的数据库。是美国斯坦福的计算机科学家,模拟⼈类的识别系统建⽴的。能够从图⽚识别物体。数据集⽂档详细,有专门的团队维护,使⽤⾮常⽅便,在计算机视觉领域研究论⽂中应⽤⾮常⼴,⼏乎成为了⽬前深度学习图像领域算法性能 检验的“标准”数据集。数据集有1400多万幅图⽚,涵盖2万多个类别;其中有超过百万的图⽚有明确的类别标注和图像中物体位置的标注。

4.5DOTA

DOTA是遥感航空图像检测的常⽤数据集,包含2806张航空图像,尺⼨⼤约为4kx4k,包含15个类别共计个实例,其中14个主类,small 和 large 都是的⼦类。其标注⽅式为四点确定的任意形状和⽅向的四边形。航空图像区别于传统数据集,有其⾃⼰的特点,如:尺度变化性更⼤;密集的⼩物体 检测;检测⽬标的不确定性。数据划分为1/6验证集,1/3测试集,1/2训练集。⽬前发布了训练集和验证集,图像尺⼨从到不等。

5.目标检测常用标注工具 5.

是⼀款开源的图像标注⼯具,标签可⽤于分类和⽬标检测,它是⽤ 编写的,并使⽤Qt作为其图形界⾯,简单好⽤。注释以 VOC 格式保存为 XML ⽂件,这是 使⽤的格式。 此外,它还⽀持 COCO 数据集格式。

5.

是⼀款开源的图像/视频标注⼯具,标签可⽤于⽬标检测、分割和分类。灵感是来⾃于 MIT 开源的⼀ 款标注⼯具 。

具有的特点是:

5.

是⼀家为机器学习应⽤程序创建、管理和维护数据集的服务提供商,其中包含⼀款部分免费的数据标签⼯具,包含图像分类和分割,⽂本,⾳频和视频注释的接⼝,其中图像视频标注具有的功能如下:

5.

是⼀款在线免费图像标注⼯具,标签可⽤于⽬标检测、分割和分类。具有的功能或特点:

5.5CVAT

CVAT 是⼀款开源的基于⽹络的交互式视频/图像标注⼯具,是对加州视频标注⼯具(Video Tool) 项⽬的重新设计和实现。团队正在使⽤该⼯具来标注不同属性的数百万个对象,许多 UI 和 UX 的决策 都基于专业数据标注团队的反馈。具有的功能

5.6VIA

VGG Image (VIA)是⼀款简单独⽴的⼿动注释软件,适⽤于图像、⾳频和视频。 VIA 在 Web 浏览 器中运⾏,不需要任何安装或设置。页⾯可在⼤多数现代Web浏览器中作为离线应⽤程序运⾏。

5.7 其他标注工具

:⼀个⽤ 写的轻量级语义/⽰例(/) 标注⼯具。

:⼀个开源的图 像标注平台。

Anno-Mage:⼀个利⽤深度学习模型半⾃动图像标注⼯具,预训练模型是基于MS COCO数据 集,⽤ 训练的。

当然还有⼀些数据标注公司,可能包含更多标注功能,例如对三维⽬标检测的标注(3D box ),激光雷达点云的标注(LIDAR 3D Point Cloud )等。

6.目标检测常用术语表

英文全写

英文简写

中文名称

one stage

一阶段检测

two stage

两阶段检测

RP

候选区域(一个有可能包含待检物体的预选框)

boxes

bb

候选框

Non-

NMS

非极大值抑制

SS

选择搜索

with CNN

R-CNN

You Only Look Once

YOLO

of

RoI

感兴趣区域(候选区域)

frame per

fps

帧/每秒

High

高分辨率分类器

Batch

BN

批量正则化

Mean

mAP

平均精度均值

over Union

IoU

交并比(“预测的边框” 和 “真实的边框” 的交集和并集的比值)

Fine-

细粒度特征

FPN

特征金字塔网络

关于我们

最火推荐

小编推荐

联系我们


版权声明:本站内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 88@qq.com 举报,一经查实,本站将立刻删除。备案号:桂ICP备2021009421号
Powered By Z-BlogPHP.
复制成功
微信号:
我知道了