LiDAR Point Cloud Vectorization: 3D Python Tutorial (+ LoD City Models)

Поделиться
HTML-код
  • Опубликовано: 10 сен 2024

Комментарии • 75

  • @cristianmaticiuc360
    @cristianmaticiuc360 8 месяцев назад +3

    Amazing, we can thank you enough! We're waiting for more tutorials like this!

    • @FlorentPoux
      @FlorentPoux  8 месяцев назад +2

      Thanks a lot @cristianmaticiuc360 ! Working on the follow ups!

  • @JoystickLab
    @JoystickLab 6 месяцев назад +1

    Amazing, I think in next 6 months this channel will blow up. I run a youtube channel focusing Augmented Reality and always wanted to go in depth of 3d AI. Glad I found this channel. Best of luck and keep feeding us amazing contents like this. If you publish a course on Nerf or Gaussian Splatting, it would be very helpful.

    • @FlorentPoux
      @FlorentPoux  6 месяцев назад

      Fingers crossed! May the RUclips gods hear you haha! Thanks a lot JoystickLab! Nerf and Gaussian Splatting are of course in the roadmap :)

  • @madhavsharma3054
    @madhavsharma3054 2 месяца назад +2

    Can you please give me the link for the files used in this video..I am not able to access them

    • @FlorentPoux
      @FlorentPoux  Месяц назад

      you can find them at learngeodata.eu, the tutorial section

  • @mandata143
    @mandata143 2 месяца назад

    I am trying to find a tutorial like this for point cloud / lidar and so far, this is the best.

    • @FlorentPoux
      @FlorentPoux  Месяц назад

      Thanks a lot for the kind words 🙏

  • @ghaniyd6292
    @ghaniyd6292 2 месяца назад

    sir, i have an error on crs = las.vlrs[2].string, the error is AttributeError: 'GeoAsciiParamsVlr' object has no attribute 'string'. I'm not using lidar data like in your video. how to solve this? thank you in advance.

    • @FlorentPoux
      @FlorentPoux  Месяц назад

      Hey! I guess you can remove this line, as vlr are records specified in las datasets, therefore, you may skip that step.

  • @user-yi8mb9ui7o
    @user-yi8mb9ui7o 5 месяцев назад +1

    This won't work for bigger data right? I tried with one of my lidar data and the jupyter lab freezes.

    • @FlorentPoux
      @FlorentPoux  5 месяцев назад

      Ha yes, in that case I think getting onto a local IDE (non-notebook) may help debug your case. I just tested it works for massive datasets as well. Also, you can tile your data if this make sense in your case! I hope this helps you debug the situation!

  • @nabinchhetri3836
    @nabinchhetri3836 Месяц назад +1

    Went through your github link given in the description but cannot find the specific files you're working. I have followed each and every steps until lunching jupyter lab.

    • @FlorentPoux
      @FlorentPoux  19 часов назад

      Sorry for the mistake, this is fixed, in the links you can find the code (updated)

  • @James-qy4es
    @James-qy4es 3 месяца назад

    where can I found the full python notebook? I have some errors in few places and it would be easier to just go through the notebook :)

  • @IcanCwhatUsay
    @IcanCwhatUsay День назад

    I cannot find any of the files mentioned on your github nor the website you've linked for the tutorials...6:52

    • @FlorentPoux
      @FlorentPoux  19 часов назад +1

      Hey 👋 Thanks for closing in! Indeed, I updated the link, thanks again for noticing!

  • @samaysingh5794
    @samaysingh5794 3 дня назад

    in my case it is showing after the point where I am loading the 3d points as kernal is dead it is starting automatically I have tried everything but with virtual environment it is not working like in spyder, in vscode, in jupyter

    • @FlorentPoux
      @FlorentPoux  19 часов назад

      Hey! Hmm, hard to debug from there 🌞 Did you find a solution? Else maybe you can try this: ruclips.net/video/82mihomheRM/видео.html&lc=UgwRyHu6GYGsR2Jf-hd4AaABAg

    • @samaysingh5794
      @samaysingh5794 18 часов назад

      @@FlorentPoux yay! I used google colab but since that is headless environment so for visualization part I downloaded those by saving them by using o3d.io.write_point_cloud or write_line_set then opened them in the CloudCompare so it worked.may be due to my pc configuration or something it was crashing in the Jupyter Lab

  • @AgusAmbarwari
    @AgusAmbarwari 7 месяцев назад +1

    thanks, Mr Florent, I have a problem installing "pip install laspy[lazrs, laszip]" and I got the error message ERROR: Invalid requirement: 'laspy[lazrs,'

    • @noorafeeda9022
      @noorafeeda9022 7 месяцев назад +4

      Same. I try remove spacing after comma and its succes. pip install laspy[lazrs,laszip]

    • @FlorentPoux
      @FlorentPoux  6 месяцев назад

      thanks for noticing, indeed! the space is problematic, well spotted!

  • @robrever
    @robrever 8 месяцев назад +1

    Hi Dr. Poux, I'm very new to all of this but doesn't KNN's performance degrade as the dimensionality of the feature space increase? In a more high dimensional space, would it be wise to use something else?

    • @FlorentPoux
      @FlorentPoux  8 месяцев назад

      Hey @robrever! Thanks for the question! Indeed, you are right, KNN may degrade if you have too many features, but in our case, we work only in the euclidean space to search for neighbors, thus, you can alleviate worries (very different from using K-NN classifiers)

  • @parvathyprasad5156
    @parvathyprasad5156 14 дней назад +1

    Can you please provide the github link for the code discussed in this video? Thank you.

  • @sun-toshi
    @sun-toshi 8 месяцев назад +3

    日本からとても感謝します

  • @Alex_2411
    @Alex_2411 5 месяцев назад +1

    Hi, great video! I'm new to python and I'm having some troubles installing open3d. I've searched and it isn't available for the latest versions. What do you suggest? Thanks :) (I'm working on vscode)

    • @FlorentPoux
      @FlorentPoux  5 месяцев назад +1

      Hey Alex, thanks! So for Open3d, I recommend using pip (pip install open3d), within a conda environment. this way you can get on with the latest version (in VSCode).

    • @Alex_2411
      @Alex_2411 5 месяцев назад

      Thank you! I managed to solve the problem. Now I can continue the video! :)

  • @jomsantony2550
    @jomsantony2550 7 месяцев назад +1

    Is there a way to convert Lidar point clouds to xyz format

    • @FlorentPoux
      @FlorentPoux  7 месяцев назад

      Yes of course! with Python you can use open3d or numpy or pandas when you save your file (just change the extension to .xyz); else with CloudCompare you can use the export as .xyz directly

  • @tarikdzambic1837
    @tarikdzambic1837 4 месяца назад

    How would I go about transforming the building shape from a simple polygon to an object that actually follows the points that the LiDAR scanned, basically reconstructing the original house shape? Do you have a tutorial on this already?

    • @FlorentPoux
      @FlorentPoux  4 месяца назад

      I think if you want to follow the point, a meshing strategy would be a good start. You can follow the 3D Point Cloud to Mesh Tutorial I did on that.

    • @tarikdzambic1837
      @tarikdzambic1837 4 месяца назад

      @@FlorentPoux I will check it out. This tutorial was very helpful so I hope I will find what I need in that one as well. Thank you for the fast response and keep up the good work!

  • @parvathyprasad5156
    @parvathyprasad5156 15 дней назад +1

    Hi, Thank you for the video. I just want to check with you can we use pip install inside a conda environment?

    • @FlorentPoux
      @FlorentPoux  19 часов назад

      Yes you can!

    • @parvathyprasad5156
      @parvathyprasad5156 19 часов назад

      @@FlorentPoux Thank you. I am actually trying to do point cloud classification for UK based point cloud dataset. There is no annotated dataset available to perform training of machine learning models. Please provide your suggestions how to proceed with this problem. Thank you.

  • @trollenz
    @trollenz 8 месяцев назад +1

    Goldmine 👌🏻👍🏻 Thanks.

    • @FlorentPoux
      @FlorentPoux  8 месяцев назад

      Thanks so much @trollenz!

  • @ahtiramqureshi7788
    @ahtiramqureshi7788 25 дней назад

    But how do you get the triangular roofs??

    • @FlorentPoux
      @FlorentPoux  19 часов назад

      This is for another episode haha

  • @bdamay
    @bdamay 7 месяцев назад

    This is awesome! Dealing so simply with rather complex matter. Brilliant! I tried that out with french data from IGN. and it works quite fine, even though i didn't really manage to get my sample variable cloud as clean as you do. (I have to dig into this a little bit more, to understand better). I was wondering if you have experiments like this that can create low poly mesh including basic lines of roof shapes as well, instead of simple extrusion. What do you think it would take to do this ? But, Thanks again, you enlighted my day. Benoit

    • @FlorentPoux
      @FlorentPoux  7 месяцев назад +1

      Thanks a lot for the heartwarming message! Very happy that it pushed you on a working solution , congrats! Hmm, very interesting case! To do this, I would leverage the bin histogram, and generate some keypoints there, to then link everything together through a bit more selection / regularization process! You know what, I will put that in my todo tutorial ;) and hit you up when the cooking is done!

    • @bdamay
      @bdamay 7 месяцев назад

      Thanks for your answer and the promise of digging into the roof shape matter. Don't bother hitting me up when it's cooked as you say, I've subscribed to your channel and your academy site and activated all flashing lights necessary to be informed in the minute whenever you post something. I also have some catch up to do on basics of point cloud to do before digging into more complex usecases, your site seem to be the right place to do that. Have a good day. Benoit @@FlorentPoux

  • @EngineerNick
    @EngineerNick 8 месяцев назад +1

    Nice, thankyou :)

  • @Knak123
    @Knak123 3 месяца назад +1

    Helpful stuff

  • @rafaelbomfim5539
    @rafaelbomfim5539 8 месяцев назад

    Excellent video. I'm a beginner. So I would like to know if there is a way to create a 3D modeling of a neighborhood or urban region, using a cloud of LiDAR points (.laz file), for 3D printing.

    • @FlorentPoux
      @FlorentPoux  7 месяцев назад

      Yes there is! I added that to the todo list, coming soon ;)

  • @kpj973
    @kpj973 6 месяцев назад

    Bonjour Florent ! Merci pour ces vidéos ! Je suis actuellement en train de chercher une solution pour imprimer des arbres en 3d à partir de données lidar. Aurais tu des suggestions ?
    Bonne journée

    • @FlorentPoux
      @FlorentPoux  6 месяцев назад

      Hey! Thanks a lot for the kind words! Yes, I have some ideas, but trees are tricky beasts :). Are these from Aerial LiDAR only or Terrestrial LiDAR? My hint: Go to voxelized approaches first at this stage. You can reach me on learngeodata.eu or in the Discord Channel if you want that we take more time and deep dive your application

    • @kpj973
      @kpj973 6 месяцев назад

      Hi @@FlorentPoux , Thnx a lot for your time ! I'm only using aerial LiDAR . For sure ill join your community !

  • @luongpham2587
    @luongpham2587 8 месяцев назад

    what version of python you use in this ?? thanks

  • @stagrei8233
    @stagrei8233 8 месяцев назад +1

    Great job. Can I use this method to segment out piping from a point cloud scanned from a process industry.

    • @FlorentPoux
      @FlorentPoux  8 месяцев назад +1

      Thanks a lot! Yes, absolutely! However some tweaking may be useful to fit cylindrical elements

  • @eschersky
    @eschersky 6 месяцев назад

    Bonjour Laurent! Wow, all your videos are mindblowing, I just started to play with LAZ files and as you mention, finding information about point clouds is hard, even for blender users. I'll need a few days to digest all your knowledge and setup a proper working environment. May I ask how did you end up being so proficient with all those tools? What kind of jobs did you have to acquire all those skills?

    • @FlorentPoux
      @FlorentPoux  5 месяцев назад

      Hey! Thanks a lot for the kind words! Haha, a bit of everything I guess? I started as an application engineer, then move to research doing a Ph.D, then a PostDoc in Computer Graphics, and after that Sirecting R&D teams. So I guess that it helped me get a pragmatic view with users in mind, to then develop some skills with the proper tools

  • @Rocker123uk
    @Rocker123uk 7 месяцев назад +1

    Thank you for the video, very informative. which LiDAR is used for this project?

    • @FlorentPoux
      @FlorentPoux  7 месяцев назад

      Happy that it helps! For this project, I used an Aerial LiDAR dataset from Open Source repositories. I think it is Riegl but I am not sure

  • @imizzbrezzy006
    @imizzbrezzy006 6 месяцев назад

    Great work man

    • @FlorentPoux
      @FlorentPoux  6 месяцев назад

      Thank you! Cheers with a beer 🍻

  • @user-sc8tv4dg2d
    @user-sc8tv4dg2d 8 месяцев назад

    great video !!

  • @luongpham2587
    @luongpham2587 8 месяцев назад +2

    building_gdf[['local_cx', 'local_cy', 'local_cz']] = np.asarray([building_vector.centroid.x, ... hey can u help me , fill the rest , thank u

    • @FlorentPoux
      @FlorentPoux  7 месяцев назад +1

      np.asarray([building_vector.centroid.x,building_vector.centroid.y,building_vector.centroid.z])

    • @hebibalili6725
      @hebibalili6725 5 дней назад

      @@FlorentPoux according to your code should be np.asarray([building_vector.centroid.x, building_vector.centroid.y, sample.get_center()[2]]) and NOT building_vector.centroid.z

    • @samaysingh5794
      @samaysingh5794 День назад

      @@hebibalili6725 thanks bro!, I was like what had he used

  • @ShivarajPanishettar-tp6nt
    @ShivarajPanishettar-tp6nt 4 месяца назад +1

    hey i am getting error in the scaling part .
    Its like i am getting only a single house in my output , the result data does not have all the houses ..
    can you help me with this one .

    • @FlorentPoux
      @FlorentPoux  4 месяца назад

      Hey! Sure! but I think we have to look at your code to understand better :)

    • @ShivarajPanishettar-tp6nt
      @ShivarajPanishettar-tp6nt 3 месяца назад

      @@FlorentPoux sorry for the late reply . I have got it right later . there was a problem with a function in my code which i rectified it later . thanks for making this content its very useful for the newbies like me .