-
Notifications
You must be signed in to change notification settings - Fork 3
About custom data #4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Hi Dingry, thanks for the interest. That dataset looks great to play with. Most likely it would need to adapt some parameters (this is one of the things we are hoping to improve, there is sensitivity to parameters). However, being Fantastic Breaks similar to Breaking Bad, it should not be too much of a change. Can you tell us what parameters you used? |
Yes, you are right. The segmentation relies heavily on the breaking curves, which in this case are not completely connected (meaning they do not form a closed curve). This is the issue, and is most likely due to a different density or point cloud size. Do you have any clue about the difference in terms of density / point cloud size / quality between meshes from Fantastic Breaks and the ones from Breaking Bad? Otherwise I will check with the data you provided above and take a look. |
Thanks for your reply. The Fantastic Breaks provides objects in mesh format. I sample 5000 points for each fracture. How does this affect the performance? Should I make the density of the two fractures equal and sample them more densely? |
Ah, okay. Breaking bad is similar. The procedure is fine, maybe it would be better to sample with higher number of points (10-30k). The density affects the results, in the sense that we build a graph with many connection from point to point. This graph is used to estimate which edges belong to these breaking curves, which are curves that separate the regions (the regions are then segmented, at the moment using a queue, but we already saw that there are quicker way like (h)dbscan for example, if you need to speed up the process). The parameter controlling how the graph is build and the pruning of the curves are usually depending on the density (lower density, you need to allow larger connection, and the opposite works as well). I would say for these parameters, a slightly larger sample size should work better. The larger you go, the slower it becomes (and mostly because of the segmentation, which, if the lines are correct, it is relatively straightforward, we hope to push soon some improvements there), so a trade-off should be found. Maybe try with 15k and then 30k if it does not work? I see in the config file we had set it to 30k. Otherwise you could try relaxing thresholds ( Today I don't think I manage, but I can also try to take a look in the next days. This is time-consuming, but I think and hope that once we find the correct set of parameters, it should work for all/most of the meshes in the dataset. And it would be great to push another config file for the Fantastic Breaks dataset! Thanks for the help! PS: Do they have inner structures? (I ask this because some data from Breaking Bad had inner structures which created sometimes trouble --> see this issue which had this workaround with visualization). If yes, it would be better to preprocess the data to make it manifold and watertight (we used ManifoldPlus when this happened). |
Thanks so much for your kind help. I will experiment with the parameters to see if I can improve the performance. PS: The objects in Fantastic Breaks look smooth and free of unwanted inner structures. |
Hi @Dingry, just for the sake of curiosity, did you manage to get good results? Do you have some insights to share? I would be interested to know your point of view and your results on the Fantastic Breaks dataset! Thanks in advance. |
Hi, I still cannot obtain good results after tuning a lot of hyper-parameters. I have no idea how to improve the results on Fantastic Breaks. |
Ok thanks for the feedback. Hopefully as soon as I have some spare time I will also try myself to see if it's possible, because I think it should work. Talking to some colleagues, someone pointed out to me that the meshes from the newer datasets have inner structures and different densities as well, so there may be the need for some pre-processing (hopefully manifoldplus should be enough). Unfortunately this is hard to bypass. |
Hi, I managed to take a look. Although it is nice to have realistic data (real broken scanned objects), these look very challenging due to different conditions:
So I think this dataset (Fantastic Breaks) may be suitable for learning shape and restoration, but it is not the best for geometry-based assembly. Some objects are in fact better and some worse, so result varies with the mesh you choose. Very thin surfaces may cause problem (or may need different parameters), "filled objects" work better. I show some pictures from the experiments:
You can see the difference in the two meshes.
As you can see segmentation and registration are better (with respect to the mug), but still unsatisfactory. I think at the current state of this algorithm, it is not a good match with this dataset and is most likely to fail/obtain poor performances, I agree. We will think if there is something we can improve (we are also working on some extension), because we did not expect the noisyness in the data (and it seems from this issue that we are not the only one) and we will see what can be done! Thanks for your insight! |
Hi, thanks for your exciting work. I have applied your method to the dataset https://terascale-all-sensing-research-studio.github.io/FantasticBreaks/. for fracture assembly. but I encountered some difficulties in achieving satisfactory results like the picture I showed. Could you please share some insights on how to improve the performance? I have attached the ply file of the raw fractures for your reference. Thank you very much.

objects.zip
The text was updated successfully, but these errors were encountered: