GANerated Hands for Real-Time 3D Hand Tracking from Monocular RGB 论文解读
这篇文章是CVPR2018的一篇论文。
主要贡献点有以下几点:
1、使用cyclegan的思想 可以对没有成对的生成人手数据进行真实化。
2、能够从RGB图像(没有深度信息)生成3D人手模型
下图是作者的主要思想图
真实和生成图像通过GeoConGAN进行训练, 生成一张可以以假乱真的图像。
regnet是将2D的人手坐标映射到一个三维坐标。
然后再将这样一个三维坐标正和城skeleton fitting。
训练数据集:
真实数据集:自己拍摄的人手数据集
生成数据集:synthenic hand生成数据集 (数据下载地址:http://handtracker.mpi-inf.mpg.de/projects/OccludedHands/SynthHands.htm)
geocongan:
在cyclegan基础上 引入了一个交叉熵loss(关于这一点我在论文中 没有看到具体的实现办法)
regnet相当于一个multi task learning。
学习到一个heatmap 这个就是关节点的2D坐标 还回学习到一个3D坐标
projLayer的思想
从3D做一个正交投影 得到2D的heatmap
将三维坐标点 转换成人手运动骨架模型, 需要最小化以下的能量方程。
E2D 表示的是投影误差最小 也就是三维坐标点投影到二维平面与heatmap上的坐标点误差最小
E3Dloss是这样的
Zj表示的是第j个关节相对root节点的位置。
第j个节点的坐标可以表示为其父节点的坐标加上真实3D坐标的差的二范数除以regnet的输出差(2维坐标)的2范数 *(输出之差)
所以3D项的用途就是让3D坐标的相对距离在2范数上一致
Elimits这一个能量项的目的是防止关节扭曲过大
Etemp项是步长限制 限制每次优化不能变化太大
关于regnet 用的是stereo dataset进行的评估
作者还在Dexter+object 和 EgoDexter数据集上进行了测试