I've been reading many papers over 3D building extraction using LiDAR data and Aerial images. I see that there are many different algorithms for doing such things, such as this and this.

Those papers, as far as I can see, describe mostly abstract concepts and math. I am a software developer, so how could I practically implement said algorithms into a piece of software? Also, what algorithm is best for extracting building data with minimal vegetation interference?

  • Do you specifically mean raw LiDAR, or are you looking more for classified LiDAR algorithms? – blord-castillo Sep 20 '13 at 3:45
  • @blord-castillo What do you mean by classified algorithms? – CC Inc Sep 21 '13 at 3:32
  • classified lidar means that the individual points have been classified as building, ground, high vegetation, low vegetation, etc. Raw lidar does not have these classifications. For the former, you are looking more at squaring algorithms to construct building features. For the later, you start getting into supervised and unsupervised classification and machine learning. – blord-castillo Sep 21 '13 at 4:19

Whitebox Geospatial Analysis Tools (http://www.uoguelph.ca/~hydrogeo/Whitebox/) has a tool that works with interpolated LiDAR DEMs called 'Remove Off-Terrain Objects' which is very effective at locating buildings in LiDAR. Here is the source code for that plugin. The algorithm is open-source and I have a manuscript describing it if you're interested. Here's a screenshot:

enter image description here

  • Thanks, I'll give this one a good look and get back to you. – CC Inc Sep 13 '13 at 22:46
  • Can I see the paper describing the specific algorithm? The manuscript you mentioned? @John Lindsay – CC Inc Sep 14 '13 at 23:35
  • @CC Inc Send me an email and I'll forward it to you. – user21951 Sep 15 '13 at 0:03
  • Okay, I sent the email to the address on your website. – CC Inc Sep 15 '13 at 15:23

You can prefer eCognition; there are lot many algorithms to process LiDAR data. You can use combination of following features to extract buildings from LiDAR; 1. Maximum Elevation from first return (in which trees are also included) 2. Eliminate the trees by using 'maximum number of returns'. 3. Use the brightness parameter from aerial images to eliminate ground.

If you want to write the program on your own; use the above parameters to extract buildings.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.