HOPE-Net: A Graph-based Model for Hand-Object Pose Estimation解读
一、文章来源
- CVPR 2020
- Indiana University Bloomington & University of Washington,
- Bardia Doosti, Shujon Naha等
- code: http://vision.sice.indiana.edu/projects/hopenet
二、简介
本文提出一种轻量级的网络,可实时的用于手-物品的姿态估计。文中,作者使用了两个级联的自适应图卷积神经网络(GCN)用于建模,第一个GCN用于二维空间下的姿态估计,后一个用来估计三维坐标下的姿态。本文在速度和精度上都取得了不错的效果。
三、 实验动机
- 为什么联合检测手和物品呢?
我们在手拿东西的时候,手的姿势和物品的形状是息息相关的,检测手的姿势可以提供关于物体的姿势和身份的线索,而物体的姿势可以约束握住它的手的姿势。因此,两者是不可分离的。
- 先进行2D估计再进行3D估计的原因?
基于检测的模型在检测2D手关键点方面表现更好,但在3D中,由于高度的非线性和巨大的输出空间,基于回归的模型更为流行
四、 Contributions
- 提出轻量级的可实时的检测人手和物品的网络——HOPENet,只需输入RGB即可准确地估计
- 提出Adaptive Graph U-Net,包括graph convolution, pooling and unpooling 层
- 取得state of the art
五、 网络结构
解读:
- 首先对数据进行预处理,生成.npy格式的数据
- 然后用ResNet10(或者ResNet50)提取特征,Figure 2中的“2D Keypoints Predictor”是对提取的特征后接全连接层进行预测,下面一路特征不做任何处理
- 再将上下两路特征cat在一起送入第一个GCN,来预测2D下的手和物品的姿势
- 最后将第一个GCN的输出作为Adaptive Graph U-Net的输入来预测3D姿态
- 文中共计3个loss函数,将其相加最为总的loss
六、 各模块分析
- Image Encoder and Graph Convolution
本文使用了轻量级的残差网络ResNet10用于特征的提取,输入的图像经过特征提取器后得到2048维的特征向量,然后使用一个全连接层来初步的预测2D下的关键点坐标,然后将2048维的特征向量与经过全连接层预测的两个x, y坐标(2维)拼接起来,构成2050维的向量,送到GCN中学习节点之间的关系,此处的GCN主要是要来修改更新节点的坐标
- Adaptive Graph U-Net
该模块主要包括graph convolution、pooling和unpooling。对于输入的2D坐标,来估计3D坐标的位置,Figure 3中的pooling表示将节点减少将近一半,unpooling表示将节点增加将近一倍,红色箭头表示特征没有通过pooling和unpooling操作,红色箭头与黑色箭头汇合表示cat操作。
七、 实验结果
- Figure 5表示2D预测的精度,说明GCN的有效性;
- Figure 6表示3D预测的精度,说明在GCN的基础之上,加上Adaptive Graph U-Net可以提升预测的精度。
八、 感想
在该论文中,作者巧妙地将GCN和U-Net结合用于姿态的估计,在速度和精度上都取得了不错的效果。但是,在该论文中还可以加入其他attention模块来提升性能,数据增强部分可以改进。