Backbone
Given an input image of size , SimCC employs either CNNbased
or Transformer-based network (e.g., HRNet [29], TokenPose [18]) as the
backbone to extract n keypoint representations for n corresponding keypoints.
Head
As shown in Fig. 2, horizontal and vertical classifiers (i.e., only one linear
layer for each classifier) are appended after the backbone to perform coordinate
classification, respectively. For the CNN-based backbone, we simply flatten the
outputted keypoint representations from (n,H′,W′) to (n,H′ x W′) for classification.
创新点:
- 坐标分类视角:SimCC将人体姿态估计(HPE)问题重新定义为水平和垂直坐标的两个分类任务,与传统的基于2D热图的方法不同。
- 子像素级定位精度:通过将每个像素均匀划分为多个bin,SimCC实现了子像素级的定位精度,从而降低了量化误差。
- 简化的模型结构:SimCC省去了昂贵的上采样层和后处理步骤,使得模型结构更简单,更适用于实际应用。
模型组成和原理:
- 主干网络:SimCC使用卷积神经网络(CNN)或基于Transformer的主干网络来提取关键点表示。
- 坐标分类头:在主干网络的基础上,SimCC添加了两个分类头(每个头只有一个线性层),分别独立地对水平和垂直坐标进行分类,以产生最终的预测结果。
- 量化误差降低:SimCC通过将每个像素划分为多个bin来减少量化误差,从而提高了定位精度。
- 标签平滑:为了提高模型性能,SimCC采用了标签平滑技术,以增强模型的泛化能力。
局限性:
- 多人体姿态估计:SimCC主要在自顶向下的人体姿态估计设置中工作,对于自底向上的多人姿态估计,由于存在多个人体,会带来识别的歧义。
- 未来工作:论文提出,未来的工作可以探索在SimCC中引入额外的嵌入,类似于AE(Associative Embedding)方法,以解决候选坐标x和y值之间的匹配问题。
SimCC(Simple Coordinate Classification)的核心思想是将人体关键点的位置估计问题分解为两个独立的分类问题:一个是水平坐标(x坐标)的分类,另一个是垂直坐标(y坐标)的分类。在数学上,这可以通过以下步骤来实现:
Label smoothing
Label smoothing 是一种在深度学习中用于分类任务的技术,特别是在目标检测和关键点估计等任务中。它旨在提高模型的泛化能力,减少过拟合,并提高模型对未见数据的鲁棒性。Label smoothing 通过修改标签的表示方式,将传统的“硬”标签(即标准的0和1标签)转换为“软”标签,这些标签表示类别成员关系的不确定性。
基本原理
在传统的分类任务中,每个样本的标签是硬标签,即正确类别的标签为1,其他所有类别的标签为0。例如,对于一个3类分类问题,如果真实标签是第二类,则标签向量将是 [0, 1, 0]。
Label smoothing 则将这些硬标签替换为软标签,使得即使是正确类别的标签也不是绝对的1,而是略小于1的值(如0.9),而错误类别的标签也不是绝对的0,而是一个小的正数(如0.1)。这样做的目的是减少模型对于硬标签的过度自信,鼓励模型对所有类别都保持一定程度的不确定性。
数学表达
应用和效果
- 提高泛化能力:通过减少模型对硬标签的依赖,label smoothing 帮助模型在训练过程中不过分自信,从而在面对新、未见过的样本时表现更好。
- 减少过拟合:在训练数据有限或模型容量较大时,label smoothing 可以减少模型对训练数据的过拟合。
- 提高鲁棒性:在数据标注不准确或存在噪声的情况下,使用label smoothing 可以提高模型对错误标签的鲁棒性。
Object Keypoint Similarity (OKS)
Object Keypoint Similarity (OKS) 是一种在计算机视觉领域用于评估关键点检测算法性能的度量标准,特别是在人体姿态估计任务中。OKS 衡量预测的关键点位置与真实标注之间的相似度,它考虑了关键点的可见性、尺度和位置误差。