该项目属于公司的自研项目,希望通过拓展更多样化的三维检测功能,以提高自研产品的核心竞争力。
当前方案是rgb-based算法,模型共有三个网络。第一个网络检测21个骨骼点的uv坐标并提取深度特征信息。第二个网络利用特征信息估计出三维手部模型的所有顶点深度,然后经过第三个网络回归出21个骨骼点的深度。然后结合第一个网络的uv坐标及相机内参,将像素坐标转换到相机坐标系中。最后将预测出来的骨骼点坐标与初始姿态对齐后,再逐一计算局部旋转量,并以四元数的形式返回。运行耗时30ms(标准卷积,未压缩),经过训练后,可支持不同深度不同拍摄角度(能区分正对及背对姿势)的手部骨骼点检测。
● 实现了实时手部驱动功能
● 实现了pytorch到tensorflow再到c++工程的商业部署过程
● 复现了训练代码,可支持不同深度不同角度的手势检测
● 封装了一个直接求解旋转量的接口,将求解旋转量的耗时降低将近4倍
● 参与生成了大批量的手部合成数据集(含合成彩图、骨骼点坐标、顶点坐标、三角面顶点索引)
● 构建了一个可供平面检测模型训练的手部数据集,数据量约1万张左右(不同尺寸、不同角度)