Deep3DFaceReconstruction icon indicating copy to clipboard operation
Deep3DFaceReconstruction copied to clipboard

Reconstructed image

Open KhurramPirov opened this issue 5 years ago • 8 comments

After launching demo and visualization recon_img I got only grey contour of the face and some trace of the mouth. All other stuff works well, thank you!

KhurramPirov avatar Apr 28 '20 11:04 KhurramPirov

Hi, can you post the recon_img here so that I might figure out what is wrong.

YuDeng avatar Apr 28 '20 11:04 YuDeng

Hi, can you post the recon_img here so that I might figure out what is wrong.

Recon_img_3DMM I have just plotted recon_img_ for vd051.png,

KhurramPirov avatar Apr 28 '20 19:04 KhurramPirov

This is quite strange. Does the output .obj file seems reasonable? You can also check the value of each pixel in the recon_img to see if there is any illegal value (for example out of the range of 0-255). And you can try to convert the pixel value to uint8 then plot the image again.

YuDeng avatar Apr 29 '20 04:04 YuDeng

This is quite strange. Does the output .obj file seems reasonable? You can also check the value of each pixel in the recon_img to see if there is any illegal value (for example out of the range of 0-255). And you can try to convert the pixel value to uint8 then plot the image again.

All is in right range, type uint8, mesh is reasonable. snapshot_vd05100

@YuDeng any suggestions, ideas, what is wrong?

KhurramPirov avatar Apr 29 '20 08:04 KhurramPirov

0001_01 0001_01_colors_yadira I've also tried to use rendering from PR_Net and texture coeffs from your work but got artefacts.

KhurramPirov avatar Apr 30 '20 22:04 KhurramPirov

Hi, seems that the renderer from PR_Net do not handle self-occlusion so it may cause artifacts for certain part (e.g nose). I'm not sure why tf_mesh_renderer does not work in your circumstance. You can try to build it with bazel following their instruction instead of using pip install.

YuDeng avatar May 01 '20 03:05 YuDeng

This is quite strange. Does the output .obj file seems reasonable? You can also check the value of each pixel in the recon_img to see if there is any illegal value (for example out of the range of 0-255). And you can try to convert the pixel value to uint8 then plot the image again.

All is in right range, type uint8, mesh is reasonable. snapshot_vd05100

@YuDeng any suggestions, ideas, what is wrong?

Hi, Could you fix this problem? I have the same one when try to plot the rendered face! The output is the same as yours. Appreciate your help

HOMGH avatar Jul 11 '20 17:07 HOMGH

Solution I come with is first convert it to uint8 then convert it to RGB.

recon_img = mat["recon_img"] recon_img = recon_img.astype(np.uint8) recon_img = Image.fromarray(recon_img) recon_img = recon_img.convert("RGB") recon_img.show() ## should work

ChunpongLai-Danny avatar Jan 20 '21 19:01 ChunpongLai-Danny