How to Quickly Calculate and Display Vehicular Crush using Point Clouds

How to compute the cloud-to-cloud distance between an exemplar and damaged vehicle point cloud using CloudCompare, and how to display the results in an appealing manner.


A rough transcript of the video can be found below.

(00:09):

Hey everyone. This is Lou at Lightpoint Scientific and today I'm going to show you how to compute the cloud to cloud distance between an exemplar vehicle and a damaged vehicle using CloudCompare. Okay, so now we're over in CloudCompare. We have the exemplar vehicle on the left and then the damaged vehicle on the right. So the first thing we're going to do is align these two vehicles manually. Just roughly. They don't need to be perfect. Once we get them roughly aligned, then we can ask CloudCompare it to make the fine adjustments from there.

(00:39):

So for this I like to go to the top down view and we are going to hold the exemplar vehicles position constant from here on out. So we will select the damaged model and then click on the translate and rotate tool and we're going to restrict rotation to the Z axis only and then right click on that point cloud to move it over to the approximate position of the exemplar.

(01:08):

I'm going to switch views here and just make sure it's pretty close in the Z direction as well. Turn off for the time being translate in the X in the Y and just look at Z and get those pretty close. So that should be close enough for CloudCompare to work its magic from here. All right. So if you control click the exemplar and the damage model and then go to the fine registration tool, which is right here.

(01:36):

Once we click on that, it's going to ask us for a little bit of input. First things first, the reference geometry. Again, we want that to be the exemplar model and not the damaged model. So if you just quick swap here, you can see now our reference is the exemplar, so we're good to go there. And then we just want to give CloudCompare a final overlap target so it has some idea how much these two point clouds should overlap. So for this, I think something around 90 is a good estimate and you could try iterate pretty quickly here. Try 80, try 90. And you'll know when everything aligns properly. If you select a number that's too high, the point clouds won't align and it should be visually obvious. Select okay. And this generally just takes five seconds or so.

(02:24):

And then it gives you a transformation matrix. Here we had scale set to fix, which should be the case. If you're using two point clouds, both from laser scanners, then you should not be asking the scale to be adjusted at all so we're keeping that fixed.

(02:39):

Okay. So now the damage model came up. Now the color is in a scaler format. I'm going to turn that back to RGB and then kind of zoom in and just visually inspect this alignment and make sure everything is looking good. And I have no reason to believe it wouldn't be, but just want to make sure. So I'm going to turn on and off the exemplar and kind of look in some certain key areas to see if everything is lining up well and it appears to be lined up great.

(03:09):

So from here we're just going to ask CloudCompare to compute the cloud to cloud distance between each point cloud essentially to its nearest neighbor. So we're going to click on the damaged model. We're going to click on the exemplar. And then up here there's a little icon for computing cloud to cloud distance. So we're going to click that. Again, we want the reference to be the exemplar, and here it is. So we're in good shape. Press okay. And it will do some preliminary math and calculate the cloud to cloud distance so that you can then fine tune here. So if you look at approximate results, it says the minimum distance is zero, the max distance is 0.56. And now when you go back to general parameters, you can set what you want that max distance to be in this computation. So I've generally just let CloudCompare establish what that is and move forward with that and have had good results.

(04:02):

So now if you click compute, it'll do the final calculation. And this takes a little bit more time, somewhere between 30 seconds and a minute, depending on how many points you have. Well that took about 10 seconds so we're good to go now. And you can see that it takes the damaged model and turns it into a scaler that is now based on the cloud to cloud distance. So the blue suggests that there is very little difference between the exemplar point cloud and the damaged point cloud. And then as you get towards the hotter colors, that means there's more of a disparity between them. So that's the crush distance. So now down in this properties pane, we can scroll down a little bit and ask it to show the scale for that scaler. So now you can see that the red is a cloud to cloud distance of 0.6, and I believe that's feet here. And then the blue is zero.

(05:03):

So we can make a beautiful graphic for demonstrating what the defamation is. And this allows you to perform really in-depth analysis for figuring out what the damage looks like, where the majority of the damage is. And this can also be exported as a CSV very easily to run any calculations that might be pertinent. And I find that export to a CSV to be most useful when doing motorcycle collision reconstruction, where we are most interested in the maximum crush to the car as opposed to calculating say six C measurements. So this process is pretty straightforward, just takes a couple minutes and you can make beautiful demonstratives for your report or presentations.