赞
踩
论文题目:Objects as Points
本论文并没有收录在会议论文。
对象检测为许多视觉任务提供支持,例如实例分割 [7、21、32]、姿势估计 [3、15、39]、跟踪 [24、27] 和动作识别 [5]。
检测将对象识别目前:大多数成功的对象检测器都会列举几乎详尽的潜在对象位置列表,并对每个位置进行分类。这是浪费的、低效的,并且需要额外的后处理。当前的对象检测器通过一个bbox边界框来表示每个对象[18、19、33、43、46]。然后,他们将对象检测简化为大量潜在对象边界框的图像分类。对于每个边界框,分类器确定图像内容是特定对象还是背景。
后处理,即非最大值抑制,然后通过计算边界框 IoU 重新移动同一实例的重复检测。这种后处理很难区分和训练[23],因此大多数当前的检测器都不是端到端可训练的。尽管如此,在过去的五年里[19],这个想法已经取得了很好的经验成功[12,21,25,26,31,35,47,48,56,62,63]。然而,基于滑动窗口的对象检测器有点浪费,因为它们需要枚举所有可能的对象位置和尺寸。
在本文中,我们提供了一种更简单、更高效的替代方案。 我们采样的方法:我们将一个对象建模为一个点——它的边界框的中心点。我们的检测器使用关键点估计来找到中心点并回归到所有其他对象属性,例如大小、3D 位置、方向,甚至姿势。我们基于中心点的方法 CenterNet 比相应的基于边界框的检测器具有端到端的可微分、更简单、更快且更准确。
我们通过边界框中心的一个点来表示对象(参见图 2)。 然后直接从中心位置的图像特征回归其他属性,例如对象大小、尺寸、3D 范围、方向和姿势。 目标检测是一个标准的关键点估计问题[3,39,60]。 我们只需将输入图像输入到生成热图的完全卷积网络 [37, 40]。 此热图中的峰值对应于对象中心。 每个峰值的图像特征预测对象边界框的高度和宽度。 该模型使用标准的密集监督学习进行训练 [39,60]。 推理是单个网络前向传递,没有用于后处理的非最大抑制。
图 2:我们将对象建模为其边界框的中心点。 边界框大小和其他对象属性是从中心的关键点特征推断出来的。 最好以彩色观看。
我们的方法是通用的,可以轻松扩展到其他任务。 我们通过预测每个中心点的附加输出来提供 3D 对象检测 [17] 和多人人体姿态估计 [4] 的实验(见图 4)。 对于 3D 边界框估计,我们回归到对象绝对深度、3D 边界框尺寸和对象方向 [38]。 对于人体姿态估计,我们将 2D 关节位置视为距中心的偏移量,并在中心点位置直接回归到它们。
通过区域分类进行对象检测。 第一个成功的深度对象检测器之一,RCNN [19],从大量候选区域 [52] 中枚举对象位置,裁剪它们,并使用深度网络对每个对象进行分类。 Fast-RCNN [18] 改为裁剪图像特征,以节省计算量。 然而,这两种方法都依赖于缓慢的低级区域提议方法。
使用隐式锚点进行对象检测。 Faster RCNN [46] 在检测网络中生成区域提议。 它在低分辨率图像网格周围对固定形状的边界框(锚点)进行采样,并将每个边界框分类为“前景与否”。 锚点被标记为前景,与任何地面实况对象的重叠 >0.7,背景与 <0.3 的重叠,否则被忽略。 每个生成的区域提议再次被分类[18]。 将提议分类器更改为多类分类构成了一级检测器的基础。 对一级检测器的一些改进包括锚形状先验[44、45]、不同的特征分辨率[36]以及不同样本之间的损失重新加权[33]。
我们的方法与基于锚的一阶段方法密切相关[33,36,43]。 中心点可以看作是一个与形状无关的锚(见图 3)。 但是,有一些重要的区别。 首先,我们的 CenterNet 仅根据位置分配“锚点”,而不是框重叠 [18]。 我们没有用于前景和背景分类的手动阈值 [18]。 其次,我们每个对象只有一个正“锚”,因此不需要非最大抑制(NMS)[2]。 我们只是在关键点热图中提取局部峰值 [4, 39]。 第三,与传统的目标检测器 [21, 22](输出步幅为 16)相比,CenterNet 使用更大的输出分辨率(输出步幅为 4)。 这消除了对多个锚点的需要 [47]
通过关键点估计进行对象检测。 我们不是第一个使用关键点估计进行对象检测的人。 CornerNet [30] 检测两个边界框角作为关键点,而 ExtremeNet [61] 检测所有对象的顶部、左侧、底部、最右侧和中心点。 这两种方法都建立在与我们的 CenterNet 相同的稳健关键点估计网络上。 但是,它们需要在关键点检测之后进行组合分组阶段,这会显着减慢每个算法的速度。 另一方面,我们的 CenterNet 只需为每个对象提取一个中心点,而无需分组或后处理。
单目 3D 物体检测。 3D 边界框估计为自动驾驶提供动力 [17]。 Deep3Dbox [38] 使用慢速 RCNN [19] 样式框架,首先检测 2D 对象 [46],然后将每个对象馈送到 3D 估计网络。 3D RCNN [29] 为 Faster-RCNN [46] 添加了一个额外的头部,然后是 3D 投影。 Deep Manta [6] 使用经过许多任务训练的从粗到细的 Faster-RCNN [46]。 我们的方法类似于 Deep3Dbox [38] 或 3DRCNN [29] 的单阶段版本。 因此,CenterNet 比竞争方法更简单、更快
让 I ∈ R{W ×H×3} 是宽度 W 和高度 H 的输入图像。我们的目标是生成关键点热图 ^Y ∈[0, 1]{ W/R × H/R ×C} ,其中 R 是输出步幅,C 是关键点类型的数量。
关键点类型C包括:
步幅:
我们在文献 [4,40,42] 中使用 R = 4 的默认输出步幅。 输出步幅通过因子 R 对输出预测进行下采样。
输出:
预测 ^Y{x,y,c} = 1 对应于检测到的关键点,而 ^Y{x,y,c} = 0 是背景。
使用的编码器:
我们按照 《CornerNet: Detecting Objects as Paired Keypoints》 训练关键点预测网络。
处理真值:
对于 c 类的每个 ground truth 关键点
p
∈
R
2
p ∈ R^{2}
p∈R2,我们计算一个低分辨率等价 p* = [p/R]。 然后,我们将所有的ground truth 关键点投射到热图上 Y ∈[0, 1]{ W/R × H/R ×C} ,使用的高斯核计算,其中 σp 是对象尺寸自适应标准差 [30]。
Y
x
y
c
=
e
x
p
(
−
(
(
x
−
p
∗
x
)
2
+
(
y
−
p
∗
y
)
2
)
/
σ
p
2
)
Y{xyc} = exp{(−((x−p*_x)^{ 2}+(y−p*_y )^{2})/σ^{2}_{p})}
Yxyc=exp(−((x−p∗x)2+(y−p∗y)2)/σp2)
如果同一类的两个高斯重叠,我们采用元素方式的最大值[4]。
训练目标:
a penalty-reduced pixelwise logistic regression,像素级别回归,
使用focal loss[33],其中 α 和 β 是焦点损失的超参数 [33],N 是图像 I 中关键点的数量。选择 N 的归一化以将所有正焦点损失实例归一化为 1。我们使用 α = 2 和 β = 4 在我们所有的实验中,遵循《CornerNet: Detecting Objects as Paired Keypoints》。
为了恢复由输出步幅引起的离散化误差,我们额外预测了每个中心点的局部偏移 ^O ∈ R{W/R × H/R ×2}。 所有类 c 共享相同的偏移量预测。 使用 L1 损失训练偏移量。监督仅作用于关键点位置 ̃p,所有其他位置都被忽略
重点看一下中心点预测的损失函数,原始论文中因为篇幅关系将第二个otherwise的公式挤一块了,这里我们展平看一下就比较清爽:
Y
Y
Y ground truth值
Y
^
\hat{Y}
Y^预测heatmap值
其中 α和 β 是Focal Loss的超参数,N 是图像 I 的的关键点数量,用于将所有的positive focal loss标准化为1。在这篇论文中 α和 β 分别是2和4。这个损失函数是Focal Loss的修改版,适用于CenterNet。
这个损失也比较关键,需要重点说一下。和Focal Loss类似,对于easy example的中心点,适当减少其训练比重也就是loss值。
1、当 Y x y z = 1 Y_{xyz}=1 Yxyz=1 的时候, ( 1 − Y x y z ^ ) α (1-\hat{Y_{xyz}})^α (1−Yxyz^)α就充当了矫正的作用,假如 Y x y z ^ = 1 \hat{Y_{xyz}}=1 Yxyz^=1 接近1的话,说明这个是一个比较容易检测出来的点,那么 ( 1 − Y x y z ^ ) α (1-\hat{Y_{xyz}})^α (1−Yxyz^)α 就相应比较低了。而当 Y x y z ^ = 1 \hat{Y_{xyz}}=1 Yxyz^=1 接近0的时候,说明这个中心点还没有学习到,所以要加大其训练的比重,因此 ( 1 − Y x y z ^ ) α (1-\hat{Y_{xyz}})^α (1−Yxyz^)α 就会很大, α 是超参数,这里取2。
高斯生成的中心点
2、当 o t h e r w i s e otherwise otherwise的时候,这里对实际中心点的其他近邻点的训练比重(loss)也进行了调整,首先可以看到 ( Y x y z ^ ) α (\hat{Y_{xyz}})^α (Yxyz^)α ,因为当 o t h e r w i s e otherwise otherwise 的时候 ( Y x y z ^ ) α (\hat{Y_{xyz}})^α (Yxyz^)α 的预测值理应是0,如果不为0的且越来越接近1的话, ( Y x y z ^ ) α (\hat{Y_{xyz}})^α (Yxyz^)α 的值就会变大从而使这个损失的训练比重也加大;而 ( 1 − Y x y z ) β (1-{Y_{xyz}})^β (1−Yxyz)β 则对中心点周围的,和中心点靠得越近的点也做出了调整(因为与实际中心点靠的越近的点可能会影响干扰到实际中心点,造成误检测),因为 Y x y z Y_{xyz} Yxyz 在上文中已经提到,是一个高斯核生成的中心点,在中心点 Y x y z = 1 Y_{xyz}=1 Yxyz=1 ,但是在中心点周围扩散 Y x y z Y_{xyz} Yxyz 会由1慢慢变小但是并不是直接为0,类似于上图,因此 ( 1 − Y x y z ) β (1-{Y_{xyz}})^β (1−Yxyz)β ,与中心点距离越近, Y x y z Y_{xyz} Yxyz 越接近1,这个值越小,相反则越大。那么 ( 1 − Y x y z ) β (1-{Y_{xyz}})^β (1−Yxyz)β和 ( Y x y z ^ ) α (\hat{Y_{xyz}})^α (Yxyz^)α 是怎么协同工作的呢?
另外看一下官方的这张图可能有助于理解:传统的基于anchor的检测方法,通常选择与标记框IoU大于0.7的作为positive,相反,IoU小于0.3的则标记为negative,如下图a。这样设定好box之后,在训练过程中使positive和negative的box比例为1:3来减少negative box的比例(例如SSD没有使用focal loss)。
而在CenterNet中,每个中心点对应一个目标的位置,不需要进行overlap的判断。那么怎么去减少negative center pointer的比例呢?CenterNet是采用Focal Loss的思想,在实际训练中,中心点的周围其他点(negative center pointer)的损失则是经过衰减后的损失(上文提到的),而目标的长和宽是经过对应当前中心点的w和h回归得到的
在推理的时候,我们分别提取热力图上每个类别的峰值点。如何得到这些峰值点呢?做法是将热力图上的所有响应点与其连接的8个临近点进行比较,如果该点响应值大于或等于其八个临近点值则保留,最后我们保留所有满足之前要求的前100个峰值点。
设 P c P_c Pc 是属于 c 类的 n 个检测到的中心点的集合, P = ( x i , y i ) i = 1 n P = {(xi, yi)}^{n}_{i=1} P=(xi,yi)i=1n
每个关键点位置由整数坐标 (xi, yi) 给出。 我们使用关键点值 Y{xiyic} 作为其检测置信度的度量,并在位置生成一个边界框
其中 ( δ x i , δ y i ) = O x i , y i (δxi, δyi) = O_{xi,yi} (δxi,δyi)=Oxi,yi 是偏移预测, ( w i , h i ) = S x i , y i (wi, hi) = S_{xi,yi} (wi,hi)=Sxi,yi 是尺寸预测。 所有输出都是直接从关键点估计产生的,不需要基于 IoU 的非极大值抑制 (NMS) 或其他后处理。 峰值关键点提取可作为 NMS 的充分替代方案,并且可以使用 3 × 3 最大池化操作在设备上高效实现。
我们尝试了 4 种架构:ResNet-18、ResNet-101 [55]、DLA-34 [58] 和 Hourglass-104 [30]。 我们使用可变形卷积层 [12] 修改 ResNets 和 DLA-34,并按原样使用 Hourglass 网络
Hourglass 堆叠的沙漏网络 [30, 40] 将输入下采样 4 倍,然后是两个连续的沙漏模块。 每个沙漏模块都是一个具有跳跃连接的对称 5 层上下卷积网络。 这个网络非常大,但通常会产生最佳的关键点估计性能。
ResNet Xiao 等人 [55] 用三个上卷积网络增强了标准残差网络 [22],以允许更高分辨率的输出(输出步幅 4)。 我们首先将三个上采样层的通道分别更改为 256、128、64,以节省计算量。 然后,我们分别在通道 256、128、64 的每个上卷积之前添加一个 3 × 3 可变形卷积层。 上卷积核被初始化为双线性插值。 有关详细的架构图,请参阅补充。
DLA 深层聚合(DLA)[58] 是一个具有分层跳跃连接的图像分类网络。 我们利用 DLA 的完全卷积上采样版本进行密集预测,它使用迭代深度聚合来对称地增加特征图分辨率。 我们使用从较低层到输出的可变形卷积 [63] 来增加跳跃连接。 具体来说,我们在每个上采样层用 3 × 3 可变形卷积替换原始卷积。 有关详细的架构图,请参阅补充。
我们在每个输出头之前添加一个 3 × 3 卷积层,256 通道。 最后的 1 × 1 卷积然后产生所需的输出。 我们在补充材料中提供了更多细节。
训练 我们在 512 × 512 的输入分辨率上进行训练。这为所有模型产生了 128×128 的输出分辨率。我们使用随机翻转、随机缩放(在 0.6 到 1.3 之间)、裁剪和颜色抖动作为数据增强,并使用 Adam [28] 来优化整体目标。我们不使用增强来训练 3D 估计分支,因为裁剪或缩放会改变 3D 测量值。对于残差网络和 DLA-34,我们使用 128 的批量大小(在 8 个 GPU 上)和 5e-4 的学习率进行 140 个 epoch 的训练,在 90 和 120 个 epoch 时学习率分别下降了 10 倍(如下[55])。对于 Hourglass-104,我们遵循 Ex-tremeNet [61] 并使用批量大小 29(在 5 个 GPU 上,主 GPU 批量大小为 4)和学习率 2.5e-4 进行 50 轮学习率下降 10 倍在 40 纪元。对于检测,我们微调了 ExtremeNet [61] 中的 Hourglass-104 以节省计算量。 Resnet-101 和 DLA-34 的下采样层使用 ImageNet 预训练初始化,上采样层随机初始化。 Resnet-101 和 DLA-34 在 8 个 TITAN-V GPU 上训练需要 2.5 天,而 Hourglass-104 需要 5 天。
推理我们使用三个级别的测试增强:无增强、翻转增强、翻转和多尺度(0.5、0.75、1、1.25、1.5)。 对于翻转,我们在解码边界框之前平均网络输出。 对于多尺度,我们使用 NMS 来合并结果。 这些增强会产生不同的速度-准确度权衡,如下一节所示
我们评估我们的目标检测性能,MS COCO 数据集 [34],
表 1 显示了我们使用不同主干和测试选项进行 COCO 验证的结果,而图 1 将 CenterNet 与其他实时检测器进行了比较。 运行时间在我们的本地机器上测试,使用 Intel Core i7-8086K CPU、Titan Xp GPU、Pytorch 0.4.1、CUDA 9.0 和 CUDNN 7.1。 我们下载代码和预训练模型 12 以测试同一机器上每个模型的运行时间
Hourglass-104 以相对较好的速度达到了最好的精度,在 7.8 FPS 时的 AP 为 42.2%。 在这个主干上,CenterNet 在速度和准确度上都优于 CornerNet [30](4.1 FPS 中 40.6% AP)和 ExtremeNet [61](3.1 FPS 中 40.3% AP)。 运行时间的改进来自于更少的输出头和更简单的盒解码方案。 更好的精度表明中心点比角落或极值点更容易检测。
使用 ResNet-101,我们在具有相同网络主干的情况下优于 RetinaNet [33]。 我们仅在上采样层中使用可变形卷积,这不会影响 RetinaNet。 在相同的准确度下,我们的速度是原来的两倍多(CenterNet 34.8%AP 在 45 FPS(输入 512 × 512)与 RetinaNet 34.4%AP 在 18 FPS(输入 500 × 800))。 我们最快的 ResNet-18 模型在 142 FPS 时也实现了 28.1% COCO AP 的可观性能。
DLA-34 提供了最佳的速度/准确性权衡。 它以 52FPS 的速度运行,AP 为 37.4%。 这比 YOLOv3 [45] 快两倍多,准确率提高了 4.4%。 通过翻转测试,我们的模型仍然比 YOLOv3 [45] 更快,并达到了 Faster-RCNN-FPN [46] 的准确度水平(CenterNet 39.2% AP in 28 FPS vs Faster-RCNN 39.8% AP in 11 FPS)。
最先进的比较 我们在表 2 中与 COCO test-dev 中的其他最先进的检测器进行了比较。通过多尺度评估,使用 Hourglass-104 的 CenterNet 实现了 45.1% 的 AP,优于所有现有的 一级探测器。 复杂的两级检测器 [31,35,48,63] 更准确,但也更慢。 对于不同的对象大小或 IoU 阈值,CenterNet 和滑动窗口检测器之间没有显着差异。 CenterNet 的行为类似于常规检测器,只是速度更快。
在不幸的情况下,如果两个不同的对象完全对齐,它们可能会共享同一个中心。 在这种情况下,CenterNet 只会检测到其中一个。 我们首先研究这种情况在实践中发生的频率,并将其与竞争方法的缺失检测联系起来
中心点碰撞 在 COCO 训练集中,有 614 对对象在步幅 4 处碰撞到同一个中心点。总共有 860001 个对象,因此 CenterNet 无法预测 < 0.1% 的对象由于碰撞 中心点。 这比由于不完美的区域提议[52](~2%)而导致的慢速或快速 RCNN 丢失要少得多,并且由于锚位置不足而导致的基于锚的方法丢失[46](20.0% for Faster- RCNN 有 15 个锚点,IOU 阈值为 0.5)。 此外,715 对对象的边界框 IoU > 0.7 并将分配给两个锚点,因此基于中心的分配导致更少的碰撞
NMS 为了验证 CenterNet 不需要基于 IoU 的 NMS,我们将其作为预测的后处理步骤运行。 对于 DLA-34(翻转测试),AP 从 39.2% 提高到 39.7%。 对于 Hourglass-104,AP 保持在 42.2%。 鉴于影响较小,我们不使用它
接下来,我们消融模型的新超参数。 所有实验均在 DLA-34 上完成
训练和测试分辨率 在训练过程中,我们将输入分辨率固定为 512 × 512。在测试过程中,我们遵循 CornerNet [30] 保持原始图像分辨率并将输入零填充到网络的最大步幅。对于 ResNet 和 DLA ,我们用最多 32 个像素填充图像,对于 HourglassNet,我们使用 128 个像素。 如表所示。 3a,保持原始分辨率略好于固定测试分辨率。 在较低分辨率 (384 × 384) 下的训练和测试运行速度提高了 1.7 倍,但下降了 3AP。
回归损失我们将普通 L1 损失与平滑 L1 [18] 进行大小回归比较。 我们在表 3c 中的实验表明 L1 明显优于 Smooth L1。 它在 COCO 评估指标敏感的精细尺度上产生了更好的准确度。 这在关键点回归 [49, 50] 中独立观察到。
边界框大小权重我们分析了我们的方法对损失权重 λsize 的敏感性。 表 3b 显示 0.1 给出了很好的结果。 对于较大的值,AP 会显着降低,因为损失的范围从 0 到输出大小 w/R 或 h/R,而不是 0 到 1。但是,对于较低的权重,该值不会显着降低
训练计划 默认情况下,我们训练关键点估计网络 140 个 epoch,学习率在 90 个 epoch 下降。 如果我们在降低学习率之前将训练周期加倍,性能会进一步提高 1.1 AP(表 3d),但代价是更长的训练计划。 为了节省计算资源(和北极熊),我们在消融实验中使用了 140 个 epoch,但与其他方法相比,DLA 坚持使用 230 个 epoch。
最后,我们通过回归到多个对象大小尝试了多个“锚”版本的 CenterNet。 实验没有取得任何成功。 见补充。
总之,我们提出了一种新的对象表示:作为点。 我们的 CenterNet 对象检测器建立在成功的关键点估计网络之上,找到对象中心并回归到它们的大小。 该算法简单、快速、准确、端到端可微分,无需任何 NMS 后处理。 这个想法是普遍的,并且除了简单的二维检测之外还有广泛的应用。 CenterNet 可以在一次前向传递中估计一系列附加对象属性,例如姿势、3D 方向、深度和范围。 我们的初步实验令人鼓舞,并为实时对象识别和相关任务开辟了新方向
参考:https://zhuanlan.zhihu.com/p/66048276
论文地址:https://arxiv.org/pdf/1904.07850.pdf
发布时间:2019.4.16
机构:UT Austin,UC Berkeley
代码:https://github.com/xingyizhou/CenterNet
3D 检测估计每个对象的 3D 边界框,并且每个中心点需要三个附加属性:深度、3D 维度和方向。 我们为每个添加一个单独的头部。
深度 d 是每个中心点的单个标量。 然而,深度很难直接回归。 我们改为使用 Eigen 等人 [13] 的输出变换和 d = 1/σ( ^d) - 1,其中 σ 是 sigmoid 函数。 我们将深度计算为关键点估计器的附加输出通道 D ∈ [ 0 , 1 ] W / R × H / R D ∈ [0, 1]^{W/R × H/R} D∈[0,1]W/R×H/R。 它再次使用由 ReLU 分隔的两个卷积层。 与以前的模式不同,它在输出层使用反 sigmoidal 变换。 在 sigmoidal 变换之后,我们使用原始深度域中的 L1 损失来训练深度估计器。
对象的 3D 维度是三个标量。 我们使用单独的 head Γ ∈ R W / R × H / R × 3 Γ ∈ R^{W/R × H/R ×3} Γ∈RW/R×H/R×3 和 L1 损失直接回归到它们的绝对值(以米为单位)。
默认情况下,方向是单个标量。 但是,它可能很难回归。 我们遵循 Mousavian 等人 [38] 并将方向表示为两个带有 in-bin 回归的 bin。 具体来说,使用 8 个标量对方向进行编码,每个 bin 有 4 个标量。 对于一个 bin,两个标量用于 softmax 分类,其余两个标量回归到每个 bin 内的一个角度。 有关这些损失的详细信息,请参阅补充。(38 论文的翻译在:https://blog.csdn.net/djfjkj52/article/details/120470951)
3D detection estimation:
我们在 KITTI 数据集 [17] 上执行 3D 边界框估计实验,该数据集包含在驾驶场景中经过仔细注释的车辆 3D 边界框。 KITTI 包含 7841 张训练图像,我们遵循文献 [10, 54] 中的标准训练和验证拆分。 评估指标是汽车在 11 次召回(0.0 到 1.0,增量为 0.1)时的平均精度,IOU 阈值为 0.5,如对象检测 [14]。 我们基于 2D 边界框 (AP)、方向 (AOP) 和鸟瞰边界框 (BEV AP) 评估 IOU。 我们保持原始图像分辨率和填充为 1280×384 用于训练和测试。 训练在 70 个 epoch 内收敛,学习率分别在 45 和 60 个 epoch 下降。 我们使用 DLA-34 主干,并将深度、方向和维度的损失权重设置为 1。所有其他超参数与检测实验相同
由于召回阈值的数量非常少,因此验证 AP 波动高达 10% AP。 因此,我们训练了 5 个模型并用标准差报告平均值。
我们与基于慢速 RCNN 的 Deep3DBox [38] 和基于 Faster-RCNN 的方法 Mono3D [9] 进行了比较,它们的特定验证拆分。 如表 4 所示,我们的方法在 AP 和 AOS 中的表现与其对应的方法相当,并且在 BEV 中的表现略好。 我们的 CenterNet 比这两种方法都快两个数量级
人体姿态估计旨在为图像中的每个人体实例估计 k 个 2D 人体关节位置(对于 COCO,k = 17)。 我们将姿势视为中心点的 k × 2 维属性,并通过到中心点的偏移量对每个关键点进行参数化。 我们直接回归到具有 L1 损失的关节偏移量(以像素为单位) J ∈ R W / R × H / R × k × 2 J ∈ R W/R × H/R ×k×2 J∈RW/R×H/R×k×2。 我们通过掩盖损失来忽略不可见的关键点。 这导致了一个基于回归的单阶段多人人体姿势估计器,类似于慢速 RCNN 版本的对应物 Toshev 等人 [51] 和 Sun 等人 [49]。
为了细化关键点,我们使用标准的自下而上的多人体姿态估计 [4,39,41] 进一步估计 k 个人体关节热图 ^Φ ∈ R W/R × H/R ×k。 我们训练具有焦点损失和局部像素偏移的人体关节热图,类似于本节中讨论的中心检测3
然后,我们将初始预测捕捉到该热图上最近检测到的关键点。 在这里,我们的中心偏移充当分组提示,将单个关键点检测分配给他们最近的人实例。 具体来说,让 (x, y) 为检测到的中心点。 我们首先回归到所有联合位置 lj = (x, y) + Jxyj 。 我们还从相应的热图 Φ 中提取所有关键点位置 Lj = {lji}nji=1,每个关节类型 j 的置信度 > 0.1。 然后,我们将每个回归位置 lj 分配给它最近的检测到的关键点 arg minl∈Lj (l − lj )2,仅考虑检测对象边界框内的联合检测
Pose estimation:
最后,我们在 MS COCO 数据集 [34] 中评估 CenterNet 对人体姿势估计的影响。我们评估关键点 AP,它类似于边界框 AP,但将边界框 IoU 替换为对象关键点相似度。我们在 COCO test-dev 上测试并与其他方法进行比较。我们对 DLA-34 和 Hourglass-104 进行了实验,两者都通过中心点检测进行了微调。 DLA-34 在 320 个 epoch 内收敛(在 8 个 GPU 上大约需要 3 天),而 Hourglass-104 在 150 个 epoch 内收敛(在 5 个 GPU 上 8 天)。所有额外的损失权重都设置为 1。所有其他超参数与目标检测相同。结果如表 5 所示。对关键点的直接回归表现合理,但不是最先进的。它在高 IoU 制度下尤其挣扎。将我们的输出投影到最接近的联合检测可以改善整个结果,并与最先进的多人姿势估计器竞争[4,21,39,41]。这验证了 CenterNet 是通用的,易于适应新任务。
图 5 显示了所有任务的定性示例
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。