r-lidar / lidR

Airborne LiDAR data manipulation and visualisation for forestry application
https://CRAN.R-project.org/package=lidR
GNU General Public License v3.0
571 stars 130 forks source link

Use for photogrammetry data? #75

Closed SAhmed48 closed 6 years ago

SAhmed48 commented 6 years ago

Hi I am working on photogrammetry data. Can i use this Package for pointcloud classification(classify buildings and trees). if there is any support of it for photogrammetry data please tell me. This package contains lot of good features and tools which help me to perform my operations on pointcloud data.

Thanks.

Jean-Romain commented 6 years ago

Hi,

lidR is designed to process point clouds. Photogrammetry is based on pictures so I think this package will no be very helpful for your purpose. But you have point clouds and pictures. So what kind of process would you like to do with your pictures and your point cloud?

Regards

SAhmed48 commented 6 years ago

I have only example.las file which contains data as a lidar file contains but the classification column and return number in a file contain '0'. I just want to classify pointcloud data and separate out buildings and trees from it. I have not much knowledge about it how i can achieve this. So if you have any good guideline related to it please help me.

bi0m3trics commented 6 years ago

I think he may be talking about Structure from Motion-based (some call it "phodar") point clouds, in which case you could process the resulting point cloud using lidR. You may run into some issues since you don't have information about returns (so no "ground" points) and the fact that sub-canopy penetration is difficult, the scan angle and gps time will be dummy variables (one single time for everything), however as long as the point cloud is structured using the asprs las/laz format you should be able to at least process/play woth it the data.

Also, some of the awesome functionality (say the Li et al algorithim for segmentation) may not make sense (versus a watershed segmentation), but as long as the data adhere to the las format you could load it and process it. Especially the RGB information that is usually already attached...

Andrew

Sent from my Verizon 4G LTE smartphone

-------- Original message -------- From: Jean-Romain Roussel notifications@github.com Date: 9/14/17 1:18 PM (GMT-08:00) To: Jean-Romain/lidR lidR@noreply.github.com Cc: Subscribed subscribed@noreply.github.com Subject: Re: [Jean-Romain/lidR] Use for photogrammetry data? (#75)

Hi,

lidR is designed to process point clouds. Photogrammetry is based on pictures so I think this package will no be very helpful for your purpose. But you have point clouds and pictures. So what kind of process would you like to do with your pictures and your point cloud?

Regards

- You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/Jean-Romain/lidR/issues/75#issuecomment-329597136, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADxf70aElRH_DBxF7JVSUNdNVCYQskseks5siYoZgaJpZM4PYFDt.

Jean-Romain commented 6 years ago

My mistake... photogrammetry! Photogrammetry generates point clouds

Well, I don't know. A point cloud is a point cloud. Building segmentation definitively not because there is no algorithm for that in lidR. Tree segmentation maybe. It depends on the orientation of the source. The algorithms implemented are made for point clouds acquired from sky. I can't swear they are suitable for other data but who knows... However if the source is from the ground such as TLS no, definitively no, it won't work.

At least you can read and display the point cloud for sure

bi0m3trics commented 6 years ago

Agreed... I have a simple example I wrote up for a lab minimally processing a SfM point cloud derived from DJI Phantom 4 photos.... I'd be happy to share it and the data once I'm back in my office.

Andrew

Sent from my Verizon 4G LTE smartphone

-------- Original message -------- From: Jean-Romain Roussel notifications@github.com Date: 9/14/17 1:40 PM (GMT-08:00) To: Jean-Romain/lidR lidR@noreply.github.com Cc: Andrew Joel Sanchez Meador Andrew.SanchezMeador@nau.edu, Comment comment@noreply.github.com Subject: Re: [Jean-Romain/lidR] Use for photogrammetry data? (#75)

My mistake... photogrammetry! Photogrammetry generates point clouds

Well, I don't know. A point cloud is a point cloud. Building segmentation definitively not because there is no algorithm for that. Trees maybe. It depend on the orientation of the source. The algorithms implemented are made for point clouds acquired from sky. I can't swear they are suitable for other data but who knows...

- You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/Jean-Romain/lidR/issues/75#issuecomment-329602572, or mute the threadhttps://github.com/notifications/unsubscribe-auth/ADxf73N-9bW4GUOb0EeIGkA-_oX0djh5ks5siY8rgaJpZM4PYFDt.

SAhmed48 commented 6 years ago

Thank you so much for your informative reply. Its help me to understand the Lidar data more clearly. I am going to share the procedure how we generate Point cloud. we are using pix4d mapper software to create “.las” file which contains point cloud data. I am sharing “sample.las” file data screenshot so you can understand it more clearly that the las file we generate from pix4d mapper how actually looks like and data it contains: sample_file

This file only contains X ,Y , Z and R ,G ,B value. @bi0m3trics I am very thankful if you share something related to “Sfm point cloud” maybe its point me to correct direction. Any Further suggestions related to this topic from your side help me a lot to further continue my work. If you want more information related to this process you can ask and i discuss it more deeply.

Jean-Romain commented 6 years ago

A las file is simply a convention for how to store point clouds. It contains X Y Z coordinates of each point as well as other scalar for each point independently of the source or the software. In your case all the ALS specific fields are empty since they do not makes sense for your source.

You should display your point cloud instead of a table if you want to give us an idea of what it looks like. From a table it is not easy to guess anything.

las = readLAS("file", Intensity = F, ReturnNumber = F, NumberOfReturn = F, ScanAngle = F, EdgeOfFlightline = F, ScanDirectionFlag = F, UserData = F, PointSourceId = F, color = T)
plot(las, color = "color")

Or using the lastest develpement version from github

las = readLAS("file", select = "xyzRGBC")
plot(las, color = "color")