Writing
Splatting Lidar Scans
Reconstructing a surface from a Lidar scan and resampling with oriented splats
So yet again I find myself distracted by Lidar on the weekend. I'm 100% blaming Josh Passenger
I got an oblique question about how I would go about doing splatting for Lidar scans. The problem with Lidar is usually there is an uneven scan distribution, particularly radially as you get further away from the scanner. This can make naive local PCA based 3D splatting do some wonky things.
So in a "show, don't tell" exercise, I thought I would share this. Approach in my weekend hack was to split it into two steps
- surface reconstruction from the scan as a preprocessing step
- resample with oriented splats as a dense surface
the key trick is rather than splatting with raw points, there is a surface inference step (in this case as bounded little local tangent patches). If the surface has enough local support we then resample evenly with splats.
There are of course a million corner cases to chase down around occlusions and edge detection, but it is doing ok for the poorly sampled scan in the vid.
