custom-humans/editable-humans

Can we use on our own image ?

Closed this issue · 10 comments

Hi, I want to know about your model can use my own image as an input? Is it possible to output the obj and texture ?

Thank you,

Hi,

Our model focuses on editing an existing mesh (given its SMPL-X registration). But it is easy to combine with other mesh reconstruction pipelines.

First, you may want to generate a mesh from your input photo. This can be done by other work like ECON. It also gives you SMPL-X registration.

However, the generated texture is not perfect because creating a 3D mesh from a single-view image is an ill-posed problem. Therefore, you can use our pipeline to render images and edit the texture on the 2D images.

Please let me know if you have any questions.

Thanks

I have existing SMPL body obj model without texture. So can I use your model to create from my own input image for the texture and apply it on my SMPL body mesh ? If yes, how can I apply it? Could you give me some instructions?

Thanks.
mesh

It sounds like our pipeline can help here, but let's first clarify your desired output:

If you're looking to apply a new texture to a SMPL mesh, we can definitely do that. Our pipeline can fit the geometry code book to the SMPL mesh. You'll just need to adjust the input file in the line of code you're working with (And possibly tweak the evaluator a bit - I can help update a version for you if that's needed).

However, it's important to know that the output mesh won't retain the SMPL (or SMPL-X) topology, because we use a marching cube to discretize the implicit representation. Also, it won't provide a texture map as we use vertex colors.

Since your task is simple, you might not need our pipeline at all. SMPL (or SMPL-X) already has its own fixed UV texture map. In fact, there are a number of existing works that show how to colorize this texture map to create a textured SMPL body. So, that might be a simpler solution for you.

Thank you for your reply. But I want to do body texture like same image input on SMPL model. I cannot find other work that can apply the texture on custom 3D body obj. If your model can do that part, could you give me some instructions ? Your repo seems to use your own training data but I am not sure about I can use it on my custom input data?

Thanks.

Let me rephrase my question:

What is the output you would like to have?

a texture map (image) with this kind of SMPL uv?

46127638-968fe980-c231-11e8-9ef9-f3730b9f888f

or you need a new mesh that has arbitrary topology but with the texture you want?


Regarding the custom data. Our method can be generalized to unseen 3D obj files.

I want to have a texture like yours( colorful one).

image

Okay, I guess you don't want an SMPL texture map as an output. (Correct me if I am wrong because I don't know what you mean by 'texture')

If you just want to draw something on the SMPL-X mesh without having a fixed mesh topology, that is easy. As I suggested in my previous post, you just need to change the input obj to your SMPL-X mesh here. (You might also need to tweak the evaluator a bit because it only supports textured and watertight mesh - I can help update a version for you if that's what you need).

E.g.,

evaluator.fitting_3D(32, 'data/test/mesh/mesh-f00194_smpl.obj', 'data/test/mesh/mesh-f00194_smpl.obj', fit_rgb=False)

Then uncomment Line 42 to render a new image of your SMPL-X mesh.

Once you get the rendered image, you can draw something with Photoshop or other editing tools. Put the image in a folder following Line 45 to update the mesh. Finally, you will get your new mesh after running Line 48 and Line 51.

I think you misunderstand a little bit. My model is SMPL based model and it is not SMPL-X model. I want to apply human skin texture on that model. How can I apply it?

I've done my best to provide a thorough explanation of what our pipeline can offer.

Unfortunately, there isn't a direct, out-of-the-box solution for what you're trying to achieve. Some modifications to the pipeline will be necessary to align it with your specific needs.

Hi, how did you extract the texture like this ?
image