deep-motion-editing
deep-motion-editing copied to clipboard
关于retargting中IK的一些疑问
你好,我目前对bvh里骨骼结构的处理有点疑问:
- bvh_parser.py中的rotation函数中, position[1:, ...] -= position[0:-1, ...]这是减去上一帧的结果吗?获得两帧之间的差值?按照我的理解,不是应该都是减去第一帧么,望解惑。
- 同样的IK.py中get_foot_contact函数得到脚触地的标签也是ee_pos[1:, ...] - ee_pos[:-1, ...],通过判断脚的移动距离来判断有没有接触地吗?感觉有点问题额
- fix_foot_contact函数中的大致流程是啥样的,能具体说一下吗
- 两帧之间的差值可以看作速度。这里应该是等价的。
- 首先,foot_contact是根据heuristic判断的,很难做到100%正确,只能说在目前的测试数据上效果不错。在related work中,通常在判断速度的同时也会判断高度,由于此前涉及处理一些行走高度发生变化的动作,e.g.走楼梯,我们去掉了对于高度的判断,目前这里判断的foot_contact的heuristic是脚的速度小于某个threshold,更接近于“脚静止”。
- 可以参考这里
多谢回答,我还有个问题,我把一个bvh中脚尖坐标打印出来,发现实际数值是不变的,但是blender里面脚尖会滑动,可能的原因是什么呢?