Unseen Drifts in 3D Reconstruction

Unseen Drifts in 3D Reconstruction

Problems with SLAM

In the current state of SLAM, most of the problems are solved, although there are some major inaccuracies that are easy to be left behind in the final map.

I'll be using point clouds from multiple competitors, i'll use the names C1, C2, C3 for them. C1 is really well funded and traded as well they do provide scan-to-bim services as well. C2 is relatively new but have done really good work. C3 is well established and a old company, which now is working on LiDAR solutions as well.

The lidar + point cloud output costs, C1 $4k, C2 $12K, C3 $13K.

The below map looks really good right? but there's a huge problem in this point cloud.



The problem with above map is it has drifts all over the place, which is not usable for scan-to-bim. It's not really visible here, but we'll slice this cloud to reveal its problems. It's from C3.

This map would probably be good enough for a virtual walkthrough after being converted to a mesh and textured. But is it really "as-built"?


The above map also looks quite well, it's an output from another competitor. It does not have large visible drifts, but the end-to-end measurement is way off, 1m off! which is a big problem for as-built. It's from C1.

1. Small Drifts

A drift is when the current lidar frame does not sit in the correct location, and hence it becomes slightly tilted, this just messes up the measurments, and no longer as-built. We can sort of work with drifts, as long as it's under 2cm overall. i.e. no absolute measurement should be off over 20mm.

Take a look at the below slice of the point cloud (XY slice). You can see the small room is slightly tilted, because of this the wall thickness is changing which is wrong.


This is simply not acceptable, the roof of the below floor is intersecting the above floor. Also there are multiple lines for the floor, which also suggests drift.


This is another site, where there are a lot of small rooms, and you can see multiple wall lines here, which is a big drift. If you were to put a Revit Wall here, where would you place it? That's the issue. No more as-built.

Above two clouds were from C3.


Another example of multiple walls


Above two clouds are from C2.

2. Bulge or Drift in Z Axis

This is also sort of a drift, but in the z axis.

We take a slice in the XZ or YZ plane for this.


If you take a close look, you can see the floor is slightly going up. This displaces the columns and the beams. There are ways to fix it, if the bulge point and bulge height is known. But this is a problem that occurs in many short to medium range lidars.

Let's take a closer look at this

Here's the start of the point cloud


Here's the other end



The bulge is over 425mm!

The above bulge point clouds above is from C2.

We can actually see it better here, i've aligned end to end with the axis line.


This is one problem that has been ignored by the industry, all these new lidars coming up are not really looking into this.

This point cloud is generated by a competitor, the lidar system with slam costs about $10-12K.


At Inkers we've been developing our in-house SLAM, and kept improving over time to reach a point where we could do scan-to-bim.

We've already identified these issues, and it was quite surprising that they were not observed by C1, C2 or C3. Neither of them knew about these 2 issues.

Majorly these issues occur when transitioning from large spaces to confined spaces and vice-versa. This is due to the inherent problem in LIO, specifially in the KNN search of ICP in odometry mapping.

Here's an example point cloud from Ink-SLAM after fixing these issues.


The site is over 132m, and has no bulge! also it has small spaces!





This was one of the extreme cases, which i'm sure would fail in C1, C2 & even C3.

Point Cloud cleaning is also now a part of Ink-SLAM

Before Noise Removal


After Noise Removal