如何解决如何获取mediapipe返回的每个人脸地标的模型视图矩阵?
我正在尝试为 mediapipe 返回的每个人脸地标提取模型视图矩阵,就像我们在 here 中使用 ARCore 所做的那样,以便我可以在精确的地标处渲染 3D 对象。
使用the face geometry example of mediapipe,我可以提取人脸几何图形,并通过访问 VertexBufferList 中的相应索引来粗略估计每个地标点:
List<FaceGeometry> multiFaceGeometry =
PacketGetter.getProtoVector(packet,FaceGeometry.parser());
// Get x,y,z translation to landmark 100
x = multiFaceGeometry.get(0).getMesh().getVertexBufferList().get(100*5 + 0);
y = multiFaceGeometry.get(0).getMesh().getVertexBufferList().get(100*5 + 1);
z = multiFaceGeometry.get(0).getMesh().getVertexBufferList().get(100*5 + 2);
MatrixData poseTransformMatrix = multiFaceGeometry.get(0).getPoseTransformMatrix();
Matrix.translateM(poseTransformMatrix,x,z);
然而,问题是当我尝试移动我的脸时,地标位置不正确。在 ARCore 中,我可以通过获取 centerPose 然后像上面一样通过 x、y、z 进行平移来获得一个漂亮而精确的地标位置。所以我的问题是,有没有办法为 mediapipe 返回的每个地标点获得精确的模型视图矩阵?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。