Git Product home page Git Product logo

Comments (37)

Arthur151 avatar Arthur151 commented on May 30, 2024 1

2D pose estimation分支的训练主要是在预训练阶段进行的,对模型最后的性能(尤其是泛化性)影响很大,还是需要使用一些比较有挑战的2D pose数据集来强化模型对2D关键点位置的感知能力,这样估计3D mesh的时候才能对得好。简单来说,当模型对关键点位置的检测能力足够强,再训3D会比较快的训出来,不然基于center表征的这种监督很弱的架构真的要训非常非常久,这个应该不难理解。3DPW目前的评测protocol实际上测试的就是模型的泛化性。训练tricks上是有一些,但我目前没有对所有tricks进行对比实验,没法说具体每个影响有多大。在合适的时候我会把我训出来的pretrain model开源出来,让大家可以快速复现。目前,建议你在我现在放出来的模型基础上fine-tuning,如果精度不降,就说明你的训练代码可以有效训练。

from romp.

Arthur151 avatar Arthur151 commented on May 30, 2024

Sorry, I haven't managed to project the posed mesh back to 2D image too.
I have talked with the author. The pose parameters seem precise enough for training the model.
But there are something wrong with the global orientation (pose[:3]), which cause the failure.

from romp.

zhLawliet avatar zhLawliet commented on May 30, 2024

ok,thanks

from romp.

zhLawliet avatar zhLawliet commented on May 30, 2024

你好,请问下,movi,hm3.6这些数据在训练的时候,是否做了背景增强?如果做了,他们的人像mask是通过某个开源人像分割模型得到的吗

from romp.

zhLawliet avatar zhLawliet commented on May 30, 2024

@Arthur151 目前根据论文看到你这边用到的数据集主要是hm3.6,3dpw,mpi-3dhp,movi, mscoco,不知道是否还用到了其他数据集没?

from romp.

Arthur151 avatar Arthur151 commented on May 30, 2024

我训练的时候没有用背景增强。我的训练数据集主要是Human3.6M, MPI-INF-3DHP, MSCOCO, MPII, LSP, UP, AI Challenger(keypoint). 增强版模型还用了MuCo-3DHP, Crowdpose, 3DOH50K。

from romp.

zhLawliet avatar zhLawliet commented on May 30, 2024

好的,谢谢,那像 MPI-INF-3DHP这种只有2d,3d标签的数据集,你会自己去fitting出SMPL系数作为gt吗?

from romp.

Arthur151 avatar Arthur151 commented on May 30, 2024

我是直接用的关节点监督的。fit的感觉形状很怪。

from romp.

zhLawliet avatar zhLawliet commented on May 30, 2024

嗯,谢谢,我确认一下,所以2d数据集,就只能用于重投影监督loss,有2d和3d的数据集,就只监督重投影监督loss和3dloss,有SMPL系数的数据集,则都会进行监督;对于只有2d和3d的数据集,不会去特定通过2d和3d去fiting出smpl系数作为标签。
另外再请教一个问题:训练的时候一个batch里面会包含不同数据类型(类型1:只有2d标签,类型2:只有2d和3d标签,类型3:包含2d,3d,smpl系数标签),那么每一种数据类型在一个batch里面的比值有讲究吗?

from romp.

Arthur151 avatar Arthur151 commented on May 30, 2024

肯定有啊,需要去调整的。主要还是看数据能贡献出来的训练价值和模型每个阶段的学习状态。

from romp.

zhLawliet avatar zhLawliet commented on May 30, 2024

好的,非常感谢了

from romp.

zhLawliet avatar zhLawliet commented on May 30, 2024

你好,想确认一下,hm3.6数据集你是怎么使用的,只是使用了他的3d点和基于相机参数投影得到的2d点吗?我看有的工作会fitting出SMPL系数进行监督。

from romp.

Arthur151 avatar Arthur151 commented on May 30, 2024

hm3.6数据集可以通过MoSh算法求得SMPL参数,用于训练。

from romp.

zhLawliet avatar zhLawliet commented on May 30, 2024

好的,非常感谢

from romp.

zhLawliet avatar zhLawliet commented on May 30, 2024

你好,有几个问题请教一下:
问题1:hm3.6这里可以理解有两个3d标签,一个是hm3.6数据集本身提供了3d点,,另外一个是通过其smpl系数导入SMPL得到的3d点,在监督3dloss的时候,这种真实采集的的3d点和这种smpl输出的3d点是等价的吗?因为我使用相同相机参数可视化这两个3d点的时候,存在scale有明显偏差。

问题2:补充问题1:发现smpl输出的3d点需要乘以代码里面的cam参数的s才等价真实的3d点的scale。这里真实3d点认为是米为单位。如果这个成立的话,那你在训练的时候,smpl输出的3d会乘以相机参数里面的s后,再和真实3d点进行loss计算吗?

问题3:在设计centermap 的标签的时候,因为不同数据集在标注2d点的时候存在主观不一致性,这里对center影响大吗?

from romp.

Arthur151 avatar Arthur151 commented on May 30, 2024

1.我还没观察过经相机投影矩阵处理过后的h36m的3D关键点数据是否和smpl参数转化的3D点有尺度偏差,如果有图的化我也方便判断是什么问题。
2.监督3D关节点误差的时候不会乘相机参数。相机参数只是用于投影监督2D关节点误差的。
3.正是为了尽量减低不同数据集关节点定义的差异,ROMP的Center定义是专门设计的,跨数据集稳定的。详情可以看论文方法部分,简单来说就是肢体关节点的中心点。

from romp.

zhLawliet avatar zhLawliet commented on May 30, 2024

好的,谢谢,关于”相机投影矩阵处理过后的h36m的3D关键点数据是否和smpl参数转化的3D点有尺度偏差“,我后面整理一下图像和数据发出来。

from romp.

zhLawliet avatar zhLawliet commented on May 30, 2024

您好,我目前尝试复现你的开源模型效果,在训练的时候,
相关loss设置如下:
e_center_loss_weight: 500.
e_2d_loss_weight: 400.
e_3d_loss_weight: 500.
e_pose_loss_weight: 500.
e_shape_loss_weight: 50.
(w_prior,w_paj3d,L_2D 没有)
训练集采用了Movi,hm3.6,3dpw,mpi-3dhp,mscoco;
见下图:左边是您的模型输出效果,右边是我的模型输出效果,效果还存在距离,尤其是贴合度方面,尝试通过提升2d loss权重,贴合度会改善,但是影响pose的准确性,尤其global pose。
企业微信截图_61ed750e-3f87-4d71-b2a6-bad5d49d7174
疑问:我目前训练中没有2D pose estimation loss,�不知道这个对模型的效果影响多大?您有相关的独立实验对比吗?以及完全按照论文的配置进行训练,是否能够快速复现论文效果?还是说这里存在一些训练技巧需要注意?非常期待你的解答,谢谢

from romp.

zhLawliet avatar zhLawliet commented on May 30, 2024

好的,谢谢你的答复

from romp.

zhLawliet avatar zhLawliet commented on May 30, 2024

你好,请问下,你谈到训练tricks上是有一些,不知道方便说一下吗?目前我按照你前面谈到的,先训练好2D pose estimation,然后基于它进行fintune训练,效果还是和你的有差距。另外也在放出来的模型基础上fine-tuning,精度没有明显下降。

from romp.

Arthur151 avatar Arthur151 commented on May 30, 2024

你目前测试3DPW上是多少啊?训了多久?

from romp.

zhLawliet avatar zhLawliet commented on May 30, 2024

我这边计算的MPJPE 和 MPJPE_PA 分别是105.21和77.22。目前用到的总的训练样本数为48.6w(主要是Human3.6M, MPI-INF-3DHP, MSCOCO, MPII, LSP,3dpw),先只训练了2D pose estimation,heatmap_loss为mse,训练了120个epoch,收敛到1.1e-3。然后基于它进行fintune训练,训练了35个 epoch,其中pj2d loss能够收敛到1.4e-3,Lj3d loss收敛到4e-3。

from romp.

Arthur151 avatar Arthur151 commented on May 30, 2024

你这还是在3DPW上fine-tunned了的结果啊。。。那这也太离谱了,你确定你的代码fine-tune我开源的模型没掉点么?
这绝对不是什么trick的问题了。。这差的也太多了,在3DPW上fine-tunned了应该PA-MPJPE能到47左右,就算啥也不调估计应该也能到50左右吧。。请问batch size多少?

from romp.

zhLawliet avatar zhLawliet commented on May 30, 2024

嗯,有一点忘记说了,我在finetune的时候,将输入改成了128*224了,可视化效果看着差异不大(从pj2d loss的角度上看的话,
0.0009涨到0.0011,在3DPW上的数值分别为100.5,70.1,如果单纯从数值上看,确实增大了,但是可视化的效果感觉差别不是很大,不知道是不是输入分辨率降低的原因,你说的batch size,验证的时候设置为32,训练的时候是96。

from romp.

Arthur151 avatar Arthur151 commented on May 30, 2024

这种输入大小我还真没试过。。而且点掉这么多。。感觉可能训练是有点问题的。

from romp.

zhLawliet avatar zhLawliet commented on May 30, 2024

好的,谢谢,我再看看,争取先到50

from romp.

Arthur151 avatar Arthur151 commented on May 30, 2024

加油。我还在等一个月后的结果,希望可以尽早开源所有代码。

from romp.

Arthur151 avatar Arthur151 commented on May 30, 2024

训练代码已开源~

from romp.

zhLawliet avatar zhLawliet commented on May 30, 2024

好的,谢谢

from romp.

littlejiumi avatar littlejiumi commented on May 30, 2024

想问一下作者h36m标签中kp3d_mono和kp3d有什么区别呀?实际用的是哪个呢?

from romp.

Arthur151 avatar Arthur151 commented on May 30, 2024

我们在这里,用的kp3d_mono。kp3d_mono是在每个相机坐标系里的3D关节点的位置,kp3d是在世界坐标系下的位置。

from romp.

littlejiumi avatar littlejiumi commented on May 30, 2024

谢谢您的回复!还请问一下h36m的poses为什么是[3,72]维度的?想得到smpl的24个3d点怎么转换呢?

我们在这里,用的kp3d_mono。kp3d_mono是在每个相机坐标系里的3D关节点的位置,kp3d是在世界坐标系下的位置。

from romp.

Arthur151 avatar Arthur151 commented on May 30, 2024

h36m是视频数据,我们每5帧取一下标注,但其实它的gt给的还是挺高频的,还提供了中间帧周围的gt,我就一起保存了,如果只用中间帧,就选1就好了。
建议看一下我代码吧,地址都给你了,别偷懒哦

from romp.

littlejiumi avatar littlejiumi commented on May 30, 2024

哈哈 好嘞~

from romp.

yunshangyue71 avatar yunshangyue71 commented on May 30, 2024

想请问一下作者,hm36以及mupo-3dph数据集的关节点怎么匹配呢?比如我想使用两个数据集进行训练,即便是同一个joint, neck 每个数据集的标注也不是相同的,这个整合的过程,没有看到您的处理。所以有点疑惑。
新年快乐

from romp.

Arthur151 avatar Arthur151 commented on May 30, 2024

您说的很对,现在确实有这个问题,所以导致模型的训练也会有点受这个影响,目前,还是直接默认他们是一个关键点。但最近的有篇文章,可能对您有帮助:
Learning 3D Human Pose Estimation from Dozens of Datasets using a Geometry-Aware Autoencoder to Bridge Between Skeleton Formats
Istva ́n Sa ́ra ́ndi
他们的做法很有意思,而且看起来还很不错,可以了解一下。

from romp.

yunshangyue71 avatar yunshangyue71 commented on May 30, 2024

from romp.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.