maria-korosteleva / Garment-Pattern-Estimation

Reconstructing garment sewing patterns from 3D point clouds
MIT License
112 stars 15 forks source link

Failure of inference #6

Closed qiqigit closed 11 months ago

qiqigit commented 1 year ago

@maria-korosteleva Thank you for sharing this interesting work with us!

When I tried to do inference for a single t-shirt from the deepFashion3D dataset (the same one shown on the upper left of Fig.10 of the paper), I ran into the following warnings (errors?) and could not get expected 2D patterns.

BasicPattern::Warning::144-2 with panel panel_0::Edge sequence do not return to origin. Creating extra vertex BasicPattern::Warning::144-2 with panel panel_2::Edge sequence do not return to origin. Creating extra vertex BasicPattern::Warning::144-2 with panel panel_18::Edge sequence do not return to origin. Creating extra vertex BasicPattern::Warning::144-2::Panels were updated but new stitches info was not provided. Stitches are removed. x_order_2: colinear! x_order_2: colinear! x_order_2: colinear! x_order_2: colinear!

I am wondering if your code requires any form of extra pre-processing for the input data.

maria-korosteleva commented 1 year ago

Hi @qiqigit Thank you for your interest in our work!

The warnings you see are from pattern serializer due to some errors in predicted patterns (e.g. An edge loop in a panel is not closed). The serializer then tries it's best to output something reasonable from it. (please, attach what you got though, even if it looks rubbish)

One source of a problem with predicting on Deep Fashion3D models is that they are not aligned with our training data in terms of their world rotation, translation, and body size. For the results in our paper we had to do this alignment manually. We approximated Body size differences with uniform scaling.

Please, try to do such alignement before running the model, and tell me how it goes :)

Overall, Deep Fashion3D data is quite different from the training dataset we used in terms of design distribution, so even with placement alignement, errors will sneak in 😥

qiqigit commented 1 year ago

@maria-korosteleva Thank you for your prompt reply! For your information, the previous result looks like this: 144-2_pattern

Following your suggestion, I've placed the garment at the origin and have enlarged it by 200 times. Now the result is as follows. The generated pattern contains 2 panels which do not seem to cover the sleeves of the t-shirt. 144-2_pattern

I am also curious about how you decided on the scale of garments in the training data. Did you choose to use "huge" garments for training for a specific reason?

maria-korosteleva commented 1 year ago

Yep, that looks like something I would expect, and quite close to the result in our paper. Designs from Deep Fashion3D are out-of-distribution, so the networks can only approximate the result the best they can. The shirt in question is quite close to being sleeveless =)

The garment meshes use cm as base units, and they could be perceived as "huge" by the tools that use meters as a base unit =) All units are normalized for training (the network is supplied the values between 0 and 1), but the normalization process is oriented on cm since those are the units of the dataset