Handling different hairstyles and beards when batch processing 3D scans

Hey again!

I am looking into a dataset where the people in the 3D scans have a number of different hair and beard styles. Some men have either long or short hair or beards and some women have all different kinds of hairstyles. How should I approach wrapping these models in a batch method?

One way I am thinking is to create a separate Python program that detects the parts of the mesh that are hair, what should I then do with this information? Is there a way to do this using just the nodes inside Wrap? If I detect the hair mesh outside of Wrap, can I bring that data into Wrap? Should I delete the hair and leave a hole in the face? How do I estimate where the chin will be if the subject has a thick beard?

Please help me with discussion, thanks.

Hello!

If I understood you correctly, you need to exclude beard areas from the wrapping process. To do this, you need to wrap your basemesh onto the character?s head with a beard.

After that, if you get beard polygons on the scan using Python scripting, you can transfer these polygons to the SelectPolygons node and apply the DeletePolygons node to the scan with this polygon selection.

Next, use the ImageToVertexMask node, where the first input will be your wrapped model, and the second input- the result of the TextureTransfer node. This is the result of projecting your wrapped mesh to the character’s head with the removed polygons.

Next, the mask can be applied to the Wrapping /FastWrapping node using the VertexMaskToPolygonSelection node. The result will be a beardless model of your character. In this case, the area without a beard will deform as rigid as possible.

If you got your own generated SelectPolygons for beard removal for each scan, then in the SelectPolygons node you could change the source from UserInput to File and run the entire scan sequence in batch mode.