yfeng95 / PRNet

Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network (ECCV 2018)
http://openaccess.thecvf.com/content_ECCV_2018/papers/Yao_Feng_Joint_3D_Face_ECCV_2018_paper.pdf
MIT License
4.95k stars 947 forks source link

Training code attached, but the generated 3D face is not satisfying #140

Open michaelhuang74 opened 5 years ago

michaelhuang74 commented 5 years ago

I mainly borrowed the training code from https://github.com/jnulzl/PRNet I revised the code, which is attached as a zip file as follows. I run the code in Python 3.5 with Tensorflow 1.13.1 train.zip 1) I removed a few bugs in the original code. 2) I revised the part that reads the list of file names to deal with spaces in the file names in Linux. 3) I added the code to read the face mask and uv weight mask and applied it to the loss function. 4) The learning rate is halved for every 5 epoches. 5) I generated the ground truth uv map data from 300W-LP (122450 samples) following the code provided by Yadira (https://github.com/YadiraF/face3d).

After training the model for 20 epoches, I used run_basic.py to produce a few outputs. I found that the nose part is off the balance and is pointing out. Two examples are attached. The issue is present using either prn.process(image, kpt) or prn.process(image).

image

image

Any idea how to resolve this issue?

yexiaoxi01 commented 5 years ago

@michaelhuang74 hello,I meet the same problem, can you solved it.

michaelhuang74 commented 5 years ago

@yexiaoxi01, No, I have tried to deal with it for a week and no luck so far.

I also found that the 3D mesh generated by my model did not overlap well with the 3D mesh generated by the model provided by Yadira.

ava-YangL commented 4 years ago

Hi I meet the same problem, I wonder if you have solved this problem? o(╥﹏╥)o

michaelhuang74 commented 4 years ago

I changed the normalization as follows. labels_array_norm = (label_array)/(255.0*1.1) #seems good It outputs an OK results, but still not as good as the authors of the paper. The code is attached. train_updated.zip

ava-YangL commented 4 years ago

@michaelhuang74 I will try it again, you are so kind, thanks.

huyanfei-cqupt commented 4 years ago

I mainly borrowed the training code from https://github.com/jnulzl/PRNet I revised the code, which is attached as a zip file as follows. I run the code in Python 3.5 with Tensorflow 1.13.1 train.zip

1. I removed a few bugs in the original code.

2. I revised the part that reads the list of file names to deal with spaces in the file names in Linux.

3. I added the code to read the face mask and uv weight mask and applied it to the loss function.

4. The learning rate is halved for every 5 epoches.

5. I generated the ground truth uv map data from 300W-LP (122450 samples) following the code provided by Yadira (https://github.com/YadiraF/face3d).

After training the model for 20 epoches, I used run_basic.py to produce a few outputs. I found that the nose part is off the balance and is pointing out. Two examples are attached. The issue is present using either prn.process(image, kpt) or prn.process(image).

image

image

Any idea how to resolve this issue?

Hi, I would like to ask about the generated the ground truth uv map data from 300W-LP (122450 samples) following the code provided by Yadira (https://github.com/YadiraF/face3d). What are the specific implementation steps?because Something went wrong when I ran the program。details as follows: 图片 Thank you very much.

vitahsu commented 4 years ago

@ava-YangL @michaelhuang74 Hi! Could I ask that how much time you train for one model on GPU? Thanks!

punitha-valli commented 3 years ago

@michaelhuang74 @ava-YangL @vitahsu @yexiaoxi01 @huyanfei-cqupt

I have generated the depth_map, but it takes a very long time. can anyone please tell me how to increases the batch_size, so I can able to use all the GPU to increases the speed.

Thanks in advance.

ZHJNCUT commented 1 year ago

我主要是从https://github.com/jnulzl/PRNet借用了培训代码 我修改了代码,压缩包如下。我使用Tensorflow 1.13.1 train.zip在Python 3.5中运行代码

1. I removed a few bugs in the original code.

2. I revised the part that reads the list of file names to deal with spaces in the file names in Linux.

3. I added the code to read the face mask and uv weight mask and applied it to the loss function.

4. The learning rate is halved for every 5 epoches.

5. I generated the ground truth uv map data from 300W-LP (122450 samples) following the code provided by Yadira (https://github.com/YadiraF/face3d).

在对模型进行 20 个时期的培训后,我使用 run_basic.py 生成了一些输出。我发现鼻子部分丢失了平衡并指向外部。附上两个示例。使用 prn.process(image, kpt) 或 prn. process(image) 时会出现这个问题。 图片 图片 知道如何解决这个问题吗?

嗨,我想问一下根据Yadira ( https://github.com/YadiraF/face3d ) 提供的代码从300W-LP(122450个样机)生成的地面实际情况uv地图数据。具体现在这一步是什么?因为我走路程序的时候出错误了。具体如下: 非常感谢。 图片

Have you solved it? I have the same problem

huyanfei-cqupt commented 1 year ago

您的来信来信已收到,谢谢。