ThibaultGROUEIX / AtlasNet

This repository contains the source codes for the paper "AtlasNet: A Papier-Mâché Approach to Learning 3D Surface Generation ". The network is able to synthesize a mesh (point cloud + connectivity) from a low-resolution point cloud, or from an image.
http://imagine.enpc.fr/~groueixt/atlasnet/
MIT License
678 stars 120 forks source link

To be honest, the latest code is very hard to understand #42

Closed hzxie closed 4 years ago

hzxie commented 4 years ago

I compare our method with AtlasNet several times. I need to edit the source code each time. However, the latest code is very hard to understand because it is of high abstraction. It takes me an hour to understand the relationship between each module.

hzxie commented 4 years ago

Look at the commit 2f38c18f198bf79d7bd14dd17e18783b924bef29. The code is easy to understand.

ThibaultGROUEIX commented 4 years ago

Interesting Github bug related to time difference : this issue is scheduled in 10 days on my computer.

Hi @hzxie

Yes, there is much more flexibility in the latest code : it does come at the cost of more abstraction. You can still use the first version. I will revert to the old version and keep the new one to myself if i get similar feedback.

Just to recap your issue here since you also send me a mail :

[Upsampling] You're trying to increase the number of generated points with atlasnet from the default 2500 to 16,384.

You can use --run_single_eval --number_points_eval 16384. Number_points_eval defaults to the nearest squared number in this case (2562) because the patches are sampled with a regular grid (hence the squared since it's a 2D grid).

Best regards, Thibault

hzxie commented 4 years ago

Thank you very much for your reply.

hzxie commented 4 years ago

BTW, how to upsample points for AtlasNet v2 (Point translation)?

hzxie commented 4 years ago

In AAAI'20, there is a work named "Morphing and Sampling Network for Dense Point Cloud Completion". In this work, it combines the generated points of 4 forward propagation and randomly sample 8192 points. Is it OK as an upsampling strategy?

ThibaultGROUEIX commented 4 years ago

Can you create an issue here : https://github.com/TheoDEPRELLE/AtlasNetV2 ? I am planning to incorporate atlasv2 soon in this repo and it will inherit the modularity and all the current options, but it'll take a few weeks.

ThibaultGROUEIX commented 4 years ago

In AAAI'20, there is a work named "Morphing and Sampling Network for Dense Point Cloud Completion". In this work, it combines the generated points of 4 forward propagation and randomly sample 8192 points. Is it OK as an upsampling strategy?

It really depends on what they did. Atlasnet patches can be sampled randomly (for training) or regularly with a 2D grid (for testing).

The clean way to proceed is to sample a denser regular grid on each patch. As an example, if you have 4 patches, you want to use a regular grid at a resolution of 50 because 4 * (50^2) = 10 000.

hzxie commented 4 years ago

@ThibaultGROUEIX Thank you for your response. By default, AtlasNet AE generates 25 patches, right? If I want to generate 16,384 points, I need to sample math.ceil(16384 / 25) = 656 points for each patch.

ThibaultGROUEIX commented 4 years ago

Just use --number_points_eval 16384 the script takes care of the division by number of patch. Yes, by default, AtlasNet AE generates 25 patches.

hzxie commented 4 years ago

@ThibaultGROUEIX Thank you very much!