Create Stunning 3D Mesh from Point Clouds (Python Version)
ฝัง
- เผยแพร่เมื่อ 26 มิ.ย. 2024
- In this video, you'll learn how to create stunning 3D meshes from point clouds using Python. We'll use the popular Python library Open3D to create a 3D mesh from a point cloud. We'll also show you how to visualize the mesh using CloudCompare or MeshLab
► OPEN TUTORIALS FOR 3D DATA PROCESSING
- Medium Articles: / florentpoux
► THE BEST COURSES FOR 3D DATA SCIENCE
- 3D Geodata Academy: learngeodata.eu
► FOLLOW ME
- Linkedin: / florent-poux-point-cloud
► ADDITIONAL KNOWLEDGE
Point clouds are a collection of 3D points that represent the surface of an object. They are often used in 3D scanning and photogrammetry. This video is for beginners who want to learn how to create 3D meshes from point clouds using Python. No prior experience with Python or Open3D is required.
Chapters
00:00 Transforming Point Cloud to 3D Mesh
00:36 3D Mesh Processing Software
01:38 3D Mesh Processing with Python
02:24 Step 1: Import libraries
02:43 Step 2: Preparing the data
05:52 Step 3: Choosing a 3D Modelling Strategy
06:02 Step 3.1: Ball Pivoting Algorithm
10:16 Step 3.2: Poisson Reconstruction
12:02 Step 4: 3D Real-Time Visualization of 3D Models (Python)
13:04 Step 5: 3D Data Export (I/O)
13:43 Step 6: 3D Model Visualization with CloudCompare
14:17 Step 7: 3D Mesh Level Of Detail (LoD) Creation
14:56 Conclusion: Point Cloud to Mesh - วิทยาศาสตร์และเทคโนโลยี
thank you so mush for your effort great videos and great information. If I want to calculate the volume of a shape like that what methods you advice me!!!!
Thanks, very interesting... Your point cloud voxelization to mesh approach is also very interesting, thanks 👌🏻👏🏻
I’d really love to see all the methods I’m glad I landed on this channel
Welcome aboard! Very happy to have you part of 3D learners :)
Thank you, Great introduction- just commenting on the background music kind of distracting- but the rest is golden 🔥
Haha thanks a lot for the feedback, indeed, I am learning how to edit, 1% better evry time haha!
great tutorial
Thanks a lot!
HAAAA! Merci beaucoup pour cette vidéo pépite!
Je suis en plein travail de recherche sur les techniques de cartographie et cette vidéo est très enrichissante.
Bravo et merci :)
great video!, actually i wanted to create a water tight mesh , can you tell me which algo is best suited for that?
In that case, you may take a spin the Poisson reconstruction approach
id love to see how you created this point cloud!
Noted :)! Coming soon!
do you think this procedure would also work well for less dense point clouds?
Yes it would! You just need to adjust the radius of your ball
I would love to learn how to turn images into point cloud.
Coming very soon ;)
Hey bro your content is awesome, I really liked it, can you please share the code resource for more guidance 🙏.
Hey alloc, Thanks a lot! Sure, I am sorting out the best way to do that! So far, the code is available in the description, on the tutorials page of learngeodata.eu
Hi Sir, thank you very much! May i ask what if i have some sample data of a building point cloud, but it has some open ends i think, making the mesh generate result has the warning: [Open3D WARNING] [SimpleShaderForTriangleMesh] Binding failed with empty triangle mesh. How could we overcome this? thank you!
Hmmm, the approach should work for any type of comple point clouds, therefore, it may be a good idea to investigate! You can reach me on learngeodata.eu, or in the discord channel and I will check out your dataset 😉
Hey this video is helpful so much, I have similar requirement to create a 3d object from series of 2d images is it possible
Super happy that it helps you a lot! Yes you can!
Loved the demonstration. Thank you! Would this apply to full building exterior scans?
I am working towards exporting building meshes out of a point clouds but the results have not been the best.
Thanks
Yes, absolutely! This is the advantage compared to using watertight meshes approaches, here you can generate a full mesh of the exterior scan of a building!
Could one create a dynamic mesh with 4D splat point cloud data?
Hi steve! I am not sure I understand the question. You want to animate a Mesh?
Are you using nerf to create 2D images into 3D point cloud ?, good video :)
Thanks @DeepApnea! In this tuto, I used photogrammetry, but Nerf works as well, I just finished testing it on a simple scene, I will make a video on it if you are interested
Sir, is there any way to export the mesh as one of these files? I am trying to model in ABAQUS using point cloud data and am trying really hard to bridge the gap with an efficient process....
FILES:
Nastran (.bdf, .dat, .nas)
ANSYS (.cdb)
STL (.stl)
Yes, you can export as .stl file. I am working on another tutorial for parametric modelling
Can I do this with iPhone LiDAR Scanning?
Yes you can ! A video on it is coming soon ;)
Thank you...Nice video
Is there any way to create texured mesh from this point cloud?
Thanks! Yes indeed, but then you would have to transfer the vertex colors to the faces, which will a bitdegrade the quality of the texture. I will make another episode on point cloud meshing with texture creation
hello , can i get the file point clouds example ?? thank you
Yes of course, you have that in the tutorials page in the description below
Can I use these tools on Mac?
Hi @jeffreypartridge7201 , yes you can use these tools on Mac as well!
would this work on like a 3d scan of a landscape from drone?
Yes it would!
@@FlorentPoux ok i have to try , let you know how its goes
Thanks. Great video. However, I have been having problems installing Open3d. My python is version 3.12. Is there a way to install it or do I have to install an older version of python?
Thanks! You have some ways but it is a bit broken (you have to compile from scratch). I would advise getting to work with an isolated environment with Python 3.9
@@FlorentPoux Thanks! It worked. I used Python 3.8
will you be doing the software version soon? I was wondering if you would do a quick consulting for me for hire?
Hi! Sure I can do both, and maybe also show to to create software from theses
Hello,
at 4:25 you show that the Point Cloud you captured has proper normals. Hos did you get these? Did you estimate them after acquisition or were they computed during the capture?
Actually, I'm really interested in learning about your capture method, and if it's possible to use a similar process for dynamic point clouds (volumetric video).
Hey @amartious2123 ! These where computed afterwards, as the initial ones where not properly oriented. The capture method is Photogrammetry, so I will make a video on that to show my process to get such point clouds and 3D meshes! It is indeed possible to capture dynamic point clouds, but the data volume will be on par :)!
Great video! Please also make a video on how to make a point cloud from photos
Great suggestion! And a Quick Wish granted 😉 I shot last week: th-cam.com/video/3TAs_xi6PAo/w-d-xo.htmlsi=6llRB8iYN2CW7Yj8
I cannot install Open3d with conda, which video has the instructions for obtaining open3d, please?
Hey paul! I will make a video on installing open3d with conda then (else I recomment pip: pip install open3D), as with the new version it looks like they do not have ithe possibility with conda. Else, if you want an older version, you can use this line: conda install -c open3d-admin -c conda-forge open3d
@@FlorentPoux Thanks. However, I am learning now that conda frequently has issues recently; I reinstalled Anaconda and conda failed to install some other libraries also. I am switching over to using pip/pipenv for everything. Thanks for the reply!
How can I get these point clouds?
You can download them from the article
Can you give le the code please
Yes of course, it is in the Medium article!
Squadrons sucked, i was hoping for an updated Tie Fighter, with great solo campaign and similar controls but instead we got an MMO
haha, I didn't play squadron! I am still stuck to the old X-Wing VS Tie Fighter
If we don't have normals, how can we compute them? I use pcd.estimate_normals(search_param=o3d.geometry.KDTreeSearchParamHybrid(radius=0.1, max_nn=30)), but the result is very bad
If you do not have normals, then, an approach like morphological deformation is better suited. I will do a video on it, on how to avoid computing normals. But maybe your point cloud has a geometry type that makes normal computation complex? Do not hesitate to share more on learngeodata.eu, we can deep dive your issue 🌞
Thank you, but I hope you will grow from adding disturbing music to your videos.
Noted