图解目标检测的现代历史

任务分类

图像分类

根据图像的主要对象对图像进行分类。

目标定位

预测包含主要对象的图像区域。然后,可以使用图像分类来识别该区域内的物体

目标检测

定位和分类出现在图像中的所有对象。这个任务通常包括:确定区域,然后对其中的对象进行分类。

语义分割

用图像所属的对象类来标记图像的每个像素,如示例中的人、羊和草。

实例分割

根据图像所属的对象类和对象实例来标记图像的每个像素

关键点检测

检测对象的一组预定义关键点的位置,例如人体或人脸中的关键点。

目标检测的关键核心概念

提取边界框

输入图像的一个矩形区域,其中可能包含一个对象。这些建议可以通过一些启发式搜索生成:客观性、选择性搜索,或通过区域建议网络(RPN)。

边界框可以表示为4元素向量,可以存储它的两个角坐标(x0、y0、x1、y1),也可以(更常见)存储它的中心位置及其宽度和高度(x、y、w、h)。边界框通常伴随着一个关于边界框包含对象的可能性的置信度分数。

两个边界框之间的差值通常用它们的向量表示的l2距离来衡量。W和h可以在距离计算之前进行对数变换。

IoU交并比

一个度量两个边界框之间的相似性在它们的联合区域上的重叠区域。

非极大值抑制

一种合并重叠边界框(建议或检测)的常用算法。任何与一个更高置信度的边界框显著重叠的边界框(IoU > IoU_threshold)都将被抑制(删除)。

边界框回归(边界框细化)

通过查看一个输入区域,我们可以推断出更适合于内部对象的边界框,即使该对象只是部分可见的。右边的例子说明了仅通过观察一个物体的一部分来推断地面真实框的可能性。因此,可以训练一个回归器来查看一个输入区域,并预测输入区域框和地面真实框之间的偏移量∆(x,y,w,h)。如果我们为每个对象类有一个回归变量,它被称为类特定的回归,否则,它被称为类不可知的(所有类的一个回归变量)。边界框回归器通常伴随着边界框分类器(置信度评分)来估计框中对象存在的置信度。分类器也可以是特定于类的或不依赖于类的。如果不定义先验框,输入区域框将扮演先验框的角色。

先验框

我们可以使用输入区域作为唯一的先验框,我们可以训练多个边界框回归器,每个查看相同的输入区域,但有不同的先验框,并学习预测自己的先验框和地面真实框之间的偏移量。通过这种方式,具有不同先验框的回归变量可以学习预测具有不同属性(高宽比、比例、位置)的边界框。先验框可以相对于输入区域进行预定义,也可以通过聚类进行学习。一个适当的边界框匹配策略是使训练收敛的关键。

边界框匹配策略

我们不能期望一个边界框回归器能够预测一个对象的边界框,因为它离其输入区域或其之前的边界框(更常见的是)有太远的距离。因此,我们需要一个边界框匹配策略来决定哪个先验框与真实目标匹配。每一场匹配都是一个回归的训练示例。可能的策略:(多边界框)将每个真实目标与一个IoU最高的先验框进行匹配(SSD,Faster RCNN)与任何IoU大于0.5的先验框进行匹配。

困难样本挖掘

对于每个先验框,都有一个边界框分类器来估计内部有一个对象的可能性。在框匹配后,所有匹配的先验框都是分类器的正例子。所有其他之前的边界框都是负样本。如果我们使用所有这些负样本,在正样本和负样本之间会有显著的不平衡。可能的解决方案:随机选择负的例子(Faster RCNN),或者选择分类器犯的错误最严重的例子(SSD),这样负和正之间的比例大约为3:1。

CNN的关键核心概念

特征

感受野

输入图像中影响特征激活的区域。换句话说,这是该特征所关注的区域。一般来说,更高层次的特征有更大的感受野,这允许它学习捕捉更复杂/抽象的模式。卷积神经网络体系结构决定了感受野如何逐层变化。

特征图

通过以滑动窗口的方式在输入映射的不同位置应用相同的特征检测器(即卷积)而创建的一组特征。同一特征图中的特征具有相同的接受大小,寻找相同的模式,但在不同的位置。这就创建了卷积神经网络的空间不变性属性。

Feature Volume

一组特征映射,每个映射在输入图上的一组固定位置上搜索特定的特征。所有的特征都有相同的感受野大小。

全连接层

具有k个隐藏节点的全连接层(fc层-通常连接到卷积神经网络的末端进行分类)可以看作是一个1x1xk的特征volume。这个特征volume在每个特征图中都有一个特征,其感受野覆盖了整个图像。fc层中的权值矩阵W可以转换为卷积核。将内核w x h x k卷积到CNN特性volume w x h x d将创建一个1x1xk特征volume(=具有k个节点的FC层)。将1x1xk滤波器内核卷积到1x1xd特性volume将创建一个1x1xk特征volume。用卷积层替换完全连接层,我们可以应用到任意大小的图像。

转置卷积

反向传播卷积运算的梯度的运算。换句话说,它是一个卷积层的向后传递。一个转置的卷积可以实现为一个在输入特征之间插入零的法向卷积。与滤波器大小k、步幅s和零填充p的卷积具有与滤波器大小k'=k、步幅s'=1、零填充p'=k-p-1和s-1零相关的转置卷积。

端到端目标检测流水线

一个目标识别管道,所有阶段(预处理、区域建议生成、候选框分类、后处理)都可以通过优化单个目标函数来训练,该目标函数是所有阶段变量的可微函数。这种端到端管道与传统的目标识别管道相反,后者以不可区分的方式连接阶段。在这些系统中,我们不知道改变一个阶段的变量如何影响整体性能,因此每个阶段必须独立或交替地训练,或者启发式地编程。

候选框或者滑窗

RCNN和OverFeat代表了两种早期进行目标识别的竞争方法:要么对另一种方法提出的区域进行分类(RCNN,Fast RCNN,SPPNet),要么对一组固定的均匀间隔的正方形窗口(OverFeat)进行分类。第一种方法有比其他类似网格的候选窗口更适合对象的区域建议,但要慢两个数量级。第二种方法利用卷积操作,以滑动窗口的方式对对象进行快速回归和分类

Multibox通过引入先验框和候选框网络RPN的想法,结束了这场竞争。从那时起,所有最先进的方法现在都有一组先验框(基于一组滑动窗口或通过聚类地面真实框生成),从中训练边界框回归器,以提出更好地适合内部对象的区域。新的竞争是在直接分类(YOLO,SSD)和细化分类方法(Faster RCNN,MaskRCNN)之间。

相关推荐
AI_NEW_COME4 分钟前
知识库管理系统可扩展性深度测评
人工智能
海棠AI实验室26 分钟前
AI的进阶之路:从机器学习到深度学习的演变(一)
人工智能·深度学习·机器学习
hunteritself29 分钟前
AI Weekly『12月16-22日』:OpenAI公布o3,谷歌发布首个推理模型,GitHub Copilot免费版上线!
人工智能·gpt·chatgpt·github·openai·copilot
IT古董1 小时前
【机器学习】机器学习的基本分类-强化学习-策略梯度(Policy Gradient,PG)
人工智能·机器学习·分类
centurysee1 小时前
【最佳实践】Anthropic:Agentic系统实践案例
人工智能
mahuifa1 小时前
混合开发环境---使用编程AI辅助开发Qt
人工智能·vscode·qt·qtcreator·编程ai
四口鲸鱼爱吃盐1 小时前
Pytorch | 从零构建GoogleNet对CIFAR10进行分类
人工智能·pytorch·分类
蓝天星空1 小时前
Python调用open ai接口
人工智能·python
睡觉狂魔er1 小时前
自动驾驶控制与规划——Project 3: LQR车辆横向控制
人工智能·机器学习·自动驾驶
scan7242 小时前
LILAC采样算法
人工智能·算法·机器学习