TheTempAccount / Co-Speech-Motion-Generation

Freeform Body Motion Generation from Speech
193 stars 25 forks source link

可视化openpose关键点请问是怎么定义的呢? #13

Open Olivia-Ye opened 2 years ago

Olivia-Ye commented 2 years ago

第一个问题: 我们从文件中输出了不同部位的keypoint的大小,可以看到: pose_keypoints_2d 75=25*3 face_keypoints_2d 204=68*3 hand_right_keypoints_2d 63=21*3 hand_left_keypoints_2d 63=21*3 这里pose,hands都和openpose给出的点数量一致,但是face的大小不一致呢。由项目生成出来的带有关键点信息的json文件中,脸部68个关键点,手部21个关键点*2,body有25个关键点,但是由openpose开源项目生成的关键点,脸部有70个,请问您是怎么进行修改调整的呢? 第二个问题: 000002 可视化的这个人的body部分只有12个点呀(我数的),远远不足25个点,但是keypoint文件中又是25*3的大小,这应该怎么理解呢?这样的话是不是代表keypoint中多余的点数据是无效的呢?这样在训练vid2vid模型可视化出真人的时候,会出现点的不匹配导致视频人物扭曲变形吧? 就像我下面尝试的这样,请问是如何解决的呢?(这两张图是对应的openpose和生成的动态图片,可以看到openpose图像中出现了下肢点跑到上面了,手也连在了一起) real_A_000117 B73E9789B3B7787735CAF99B98839700

希望能得到您的帮助呢,非常感谢!

TheTempAccount commented 2 years ago

脸部的68个关键点的定义应该是通用的,可以查一下,把多余的点去掉。我用的是https://github.com/MVIG-SJTU/AlphaPose.git检测的,把结果转成了OpenPose的格式。

模型里只使用了12个点,输出文件里多余的点是无效的,主要是为了和OpenPose的格式一致。训练Vid2Vid的时候也没有画这些无效的点。

Olivia-Ye commented 2 years ago

脸部的68个关键点的定义应该是通用的,可以查一下,把多余的点去掉。我用的是https://github.com/MVIG-SJTU/AlphaPose.git检测的,把结果转成了OpenPose的格式。

模型里只使用了12个点,输出文件里多余的点是无效的,主要是为了和OpenPose的格式一致。训练Vid2Vid的时候也没有画这些无效的点。

谢谢您的回复!!! 请问能否分享一下训练vid2vid的过程呢?我在尝试剔除openpose中无效的点之后,只剩下pose的12个点,face68个点,单核训练了30轮的效果并不好,从模型保存的每一轮的flow光流图像和conf图像上看,也不能达到网上的效果,请问您有没有遇到类似的情况呢?此外我也有一种猜想,是不是需要输入训练和测试的img是高分辨率呢? flow光流图像 epoch007_flow_ref

conf图像 epoch007_conf_ref

我在网上看到的训练10epoch的效果 20190416195413918