AndresCasado / pergamo

Code for PERGAMO, a two step approach to learn deformable models
http://mslab.es/projects/PERGAMO/
38 stars 4 forks source link

The partial code is now runnable, but there are still some minor issues. #13

Closed Liu-xiaoyu11 closed 4 months ago

Liu-xiaoyu11 commented 5 months ago

Hello @AndresCasado : I'm sorry for bothering you again with another question. After several days of debugging, the code can now run preliminarily. However, I'm a bit unclear about which files correspond to the train and test processes. If I want to train, what sequence of files should I execute? If I want to test, what sequence of files should I execute? My current understanding is that during training, I should first run run_recons.sh, then train_regressor.py. During testing, I should first run run_recons.sh, then run_regression.sh. I'm not sure if my understanding is correct. When I run the file train_regressor.py, it throws the following error:

3fd9c6bb8785d5dd781b9b3e48970e6

Does the dataset originally included in the project, as shown in the image, still needed?

7a2c617388289bda0168efa634e8e0d

I'm eagerly awaiting your response. Thank you so much in advance.

AndresCasado commented 5 months ago

Hello again!

The problem is it doesn't find the file named 0030_enc.pkl. If I remember correctly, you need to encode the poses first, which can be done with run_regression.sh. If you open and edit the file, you can choose between using the AMASS dataset or our own dataset. Please uncomment the lines for our dataset and remove or comment out the lines for the AMASS dataset.

Let me know if this is enough!

Liu-xiaoyu11 commented 5 months ago

Hello again!

The problem is it doesn't find the file named 0030_enc.pkl. If I remember correctly, you need to encode the poses first, which can be done with run_regression.sh. If you open and edit the file, you can choose between using the AMASS dataset or our own dataset. Please uncomment the lines for our dataset and remove or comment out the lines for the AMASS dataset.

Let me know if this is enough!

Hey, @AndresCasado I'm sorry for the late response. Based on your guidance, I understand that the command in run_recons.sh is for reconstructing our dataset, and run_regression.sh is for building the regressor. If we want to use our own dataset, should the last command in run_regression.sh be changed to python3 predict_reconstructed_sequences.py?

61fcc9bded62b4220e4a79cf718406a

I'm not entirely sure about this question yet. Also, I have questions about the testing process, as I'm not clear on which .py file corresponds to testing this regressor, and I haven't seen any division between test and train datasets in the dataset. Thank you very much for your patient guidance, and I look forward to your reply.

AndresCasado commented 5 months ago

Hi!

run_recons.sh runs the reconstruction script on a given dataset. You will need to adapt your dataset so that it has the same structure as the one provided by us.

After you have reconstructed the dataset, you can train the regressor, using train_regressor.py. There is no Bash script provided for it. You may need to modify and adapt the Python code to use it, but that's the one you'll need to run in order to train it.

After that, you can run the prediction with run_regression.sh. Again, you may need to modify or adapt it. Please take a look inside the scripts used in it.

Sorry if it's not "plug and play". Let me know if you need more help.

Liu-xiaoyu11 commented 5 months ago

Hello, @AndresCasado You're very welcome! I'm glad I could help clarify things for you, and I'm happy to hear that you're gaining confidence in this field. Thank you very much, I basically understand now, and the code runs almost smoothly. I just have one small question remaining: if I want to test the model that has been trained, do I need to use the AMASS dataset? I'm not sure about this question at the moment. It's rare to see such patient responses like yours. I'm just starting out in this field, and your help has given me a lot of confidence. Once again, thank you very much. I've been bothering you these days, I hope I haven't caused you any trouble.

Liu-xiaoyu11 commented 5 months ago

Hello, @AndresCasado You're very welcome! I'm glad I could help clarify things for you, and I'm happy to hear that you're gaining confidence in this field. Thank you very much, I basically understand now, and the code runs almost smoothly. I just have one small question remaining: if I want to test the model that has been trained, do I need to use the AMASS dataset? I'm not sure about this question at the moment. It's rare to see such patient responses like yours. I'm just starting out in this field, and your help has given me a lot of confidence. Once again, thank you very much. I've been bothering you these days, I hope I haven't caused you any trouble.

If I need the AMASS dataset, which specific version should I download?

Liu-xiaoyu11 commented 5 months ago

Hello, @AndresCasado The .pc2 format data in the project requires a specific plugin or configuration for 3ds Max, right?

AndresCasado commented 5 months ago

Hello again!

Sorry for the late response.

I'll check the AMASS dataset when I get the chance and try to tell you what you need.

About the .pc2 file, I use it with Blender. To use it you need to import a .obj file and then add a Mesh Cache modifier, change the format to PC2 and then select the file. I can't tell you anything about 3ds Max as I've never used it.

Liu-xiaoyu11 commented 5 months ago

Hi, @AndresCasado : It would be my great honor to respond. I just downloaded Blender and followed the steps you guided me through. The clothes are moving, but the 'character' isn't visible; only the clothes are moving. I'm not sure what went wrong. In the end, I found there are two .pc2 files. Do both of these files have to be used, or is one of them enough?

294809f6cae17995304e566fdaaad9a

My understanding is that _body.pc2 should be the animation for the character, but I'm not sure if I'm interpreting this correctly. https://github.com/AndresCasado/pergamo/assets/165904272/4b7ec778-0a2a-45f2-b791-ae7df4d2b423 Thank you very much for your patient guidance, and I look forward to your reply.

Liu-xiaoyu11 commented 5 months ago

Hello, @AndresCasado Currently, I still have a question. I downloaded the dataset DatosDan and then ran run_recons.sh which should correspond to the part of reconstructing the dataset in the article.

88994e6af271bcd2f2f183421cd37fa

However, there is no .pkl file in the reconstructed data, which means the subsequent step of run_regression.sh cannot be executed. So, what is the purpose of this dataset DatosDan?

ea3bc74aa7f4fd68ecdf6e45856200d

Currently, I'm using the dataset train_sequence and validation_sequence provided in the project。

9e4e5e98a4caac1cbe317ca4bd2bd74
Liu-xiaoyu11 commented 5 months ago

The regressor has out_channels=4424. Is there any special meaning to this? I couldn't find an answer in the article.

微信图片_20240416105834
AndresCasado commented 4 months ago

Hi, @AndresCasado : It would be my great honor to respond. I just downloaded Blender and followed the steps you guided me through. The clothes are moving, but the 'character' isn't visible; only the clothes are moving. I'm not sure what went wrong. In the end, I found there are two .pc2 files. Do both of these files have to be used, or is one of them enough? 294809f6cae17995304e566fdaaad9a My understanding is that _body.pc2 should be the animation for the character, but I'm not sure if I'm interpreting this correctly. https://github.com/AndresCasado/pergamo/assets/165904272/4b7ec778-0a2a-45f2-b791-ae7df4d2b423 Thank you very much for your patient guidance, and I look forward to your reply.

I no longer have the development environment installed, so I cannot generate the files right now. Please, try to use the *_body.pc2 file with a SMPL-X mesh.

Hello, @AndresCasado Currently, I still have a question. I downloaded the dataset DatosDan and then ran run_recons.sh which should correspond to the part of reconstructing the dataset in the article. 88994e6af271bcd2f2f183421cd37fa However, there is no .pkl file in the reconstructed data, which means the subsequent step of run_regression.sh cannot be executed. So, what is the purpose of this dataset DatosDan? ea3bc74aa7f4fd68ecdf6e45856200d Currently, I'm using the dataset train_sequence and validation_sequence provided in the project。 9e4e5e98a4caac1cbe317ca4bd2bd74

I can see the .pkl files in data/train_sequence/poses. Please, provide the error message so that I can better understand the problem.

The regressor has out_channels=4424. Is there any special meaning to this? I couldn't find an answer in the article. 微信图片_20240416105834

It's the number of vertices of the garment template. You can find a reference (which I admit is a bit hard to find) just above paragraph 6 in the paper. https://github.com/AndresCasado/pergamo/blob/bfa1b4c0c85dcc3d8e6c2f9f4153c86b9581c3bb/regressor.py#L23-L24 Here you can see the size is actually multiplied by 3 for the 3 spatial dimensions.


I'm closing the issue as it is diverging from the original problem. From now on, please, open a different issue for each individual problem or question. I'll be glad to help.