Using a Laser Scanned Exemplar to Model Crush from Photos
How to measure crush from photographs using PhotoModeler and a laser scanned exemplar from Lightpoint. This process will help the reconstructionist determine speeds and impact severity.
A rough transcript of the video can be found below.
(00:09):
I am Lou Peck, principal engineer at Lightpoint Scientific and today I'm going to be showing you how we model crush from photos using a point cloud for the control measurements. Okay, so here we have two photographs of a Dodge Dart that we're going to be hoping to model. There's a photograph from the right front and then a photograph from the left front. So before you start this process, you have to ensure that the photographs not only show the damage of course, but they also show a portion of the vehicle that's not damaged. We're going to essentially survey point cloud data and find the three-dimensional coordinates of some control geometry back here and that will tie the point cloud into this photograph so that we can then start to solve for the camera, position the camera focal length, and then start modeling between the two photographs.
(01:02):
So here on the left front, you can see we have some good control back here. The windshield corners should work as good control. The left front window and the left rear window should serve as good control. You have the door handles. So you need at least four points and I think we'll be able to get probably seven plus on the left side. So that's a good photograph that we can use. On the right, similar situation, these are good photographs that show a good amount of control. And then simultaneously the damaged area, there's a good amount of overlap between the two photographs with respect to the damaged area. So not only will we be able to solve for the camera position and solve for the focal length of that camera, we'll also be able to model the damage that we're interested in well, because there's a good amount of overlap.
(01:50):
So here the mission is going to be to model the hood line damage and then compare that to where the hood line was on the exemplar. So to do that we need the control geometry. Many of you are probably used to using an exemplar photogrammetry project to do that. We obviously offer those at lightpointdata.com. And then shortly we're going to be offering exemplar point clouds as well. So this is what will come in that exemplar point cloud package. There'll be photographs of the vehicle that we scanned and then there will be a project report from Leica Cyclone. There will also be a calibration certificate. These point clouds are generated using Leica's RTC 360. Then there's just a quick preview of what the data will look like as an image, and then you have the data itself. Okay, so the way that we're going to start this process is just by going to PhotoModeler. We'll start a new project and this is going to be a manually marked project.
(02:54):
So the first thing the program's going to do is just ask you to select the photographs that you're interested in. So if you click on this button right here, then we can go to the photographs that we were just looking at. So if you hit shift or control, then you can bring them both in at the same time. And now we'll click next. We've selected the photographs. Now this is not a calibrated camera, that's the point. This is an unknown camera. And the geometry from the point cloud is going to serve to solve the camera parameters that are necessary for this photogrammetry analysis. So click on unknown camera whose parameters will be solved by, and here we'll need five or more control points.
(03:36):
Okay. So now we're in, first thing that we're going to do, let me just get organized here a little bit. I like to put the photo list over here, make that one column and that helps to just move around PhotoModeler in a organized fashion. So first we're going to actually start with the right front photograph. There's a window pane hanging out over here. Visibility on photos, I like to have that at times as well, but we're going to close that for now. So the first step here is just to mark some points that you think we'll be able to use as control. So one of those would be the corner of the windshield. And then just as a good practice, one of the first things I do when I'm in PhotoModeler and I start marking points is go to visibility and then just turn on IDs and then residuals and then close that out. That just helps keep you organized, it makes the points a little bit more visible as well so that you know what you've selected.
(04:33):
So now we have the corner of the windshield. I think that'll be a good point. The corner of this left front window will probably be a good point. You want to have good spread on these points across the photo. So having two points next to each other like this doesn't do a lot mathematically speaking, so it's better to just spread them out a little bit over the photograph. So let's get the leading edge of this door handle. Let's get the bottom of this A pillar here. You can see that there's a little bit of a misalignment here between the fender and the A pillar, but the A pillar itself is very unlikely to have moved in this crash. Here when you are finding points to pick, you will get some feedback later on in the process as to whether or not that was an appropriate pick.
(05:23):
So if the residual is too large on the point, it's a good indication that something that you might not have thought was damaged was damaged. We'll pick this door handle as well and we'll pick up here. I don't know if this is damaged or not, so this will be a good test, this fender. We know that there's a little bit of a misalignment back here, so it's possible that this is misaligned as well and it might not be a good pick, but that'll be a good experiment.
(05:49):
And then sometimes I'll use wheels, the center of wheels. I use that as a last resort, or at least when I select it, I understand that there might be some misalignment between the wheel within the exemplar and the photograph just because the wheel is independent of the body. So the geometry of the body is is all constrained with respect to each other. But that wheel has the potential to move independently of the body. I generally try to avoid those. Same goes with emblems and things that are stuck onto the car at the factory because there could be a little bit of slop in where that's placed.
(06:28):
All right, so now if I hit control A in here, all the points show up in red. So we have one, two, three, four, five, six, seven, eight points on the left side of the car. These are going to be our potential control points and we'll see how everything works. Now we have the point cloud. This is the point cloud. These are what are going to be available in the next couple of weeks at lightpointdata.com. And it's in a PTS format. This point cloud is pretty large. It's 34 million points. It has the inside of the vehicle as well as the outside of the vehicle. And you can see we're looking at it in CloudCompare here, which is freeware that is fantastic. If it's not a program that's currently in your toolkit, I highly recommend getting it. It's very useful when you're dealing with point clouds on any level really, but especially when you're trying to do photogrammetry analyses using point clouds.
(07:20):
All right, so now we're going to head over to the left side of the vehicle and pick some points. So these are going to be the same control points that we had in PhotoModeler. So I have two screens that I'm working with right now. You're only going to be able to see one of those screens, but on the other screen I'm going to put up the PhotoModeler project. So I'm going to drag that over to this screen and that just helps remind me what points points I'm looking for. All right, so this is the most critical portion of the project I would say and the most time-consuming.
(07:57):
It doesn't take a tremendous amount of time, maybe five minutes per photograph, but the goal here is to accurately select those control points that we just identified in the photograph. So to do that, I zoom way in on the part of the car that I'm interested in and then I also rotate around to make sure that I'm selecting the appropriate part. One thing that's helpful in CloudCompare is right now I'm going to be selecting a point around the windshield. So you can select this tool right here, which sets the rotation point for the point cloud. So now that that is set, I think it got set, this point cloud will rotate around that area and that makes it a little bit easier. So I'm actually going to put it a bit off of that area so it's not in my way, but it's still easier to control what I'm up to.
(08:47):
Okay, so now if you select the point cloud and then click the point picking list right here, it'll bring up this table and now anything you select will be there and we'll be able to export that as a comma separated file and bring that into PhotoModeler and that will serve as our control. So it's interesting if you get too close, you lose your way, but when you zoom out you can see what you're after. So here we're going to select this corner of the windshield. So that's going to be point zero in this case. Then we selected the A pillar down here. Okay, good. Now we've got two. So now I'm just going to speed this process up and select the rest of the points.
(10:14):
So now we have all seven points selected. They are displayed in CloudCompare, so you have a visual reference as to what you selected and then they show up here in a tabular format. So if you click the checkbox here, that stays in CloudCompare on the project tree to the left here, it shows every point and then you can just reopen it at any time by clicking on the point cloud and then selecting the point tool again. So at the same time if you select a point that you didn't mean to select or it didn't end up being exactly where you thought it would be, you can just click it here and then hit delete and then get back into that point picking list and it'll be gone and then you can start adding again.
(10:55):
So here it's important that once you do select them, you rotate around and make sure they're at the right depth as well. Sometimes if the point cloud's not very dense, it doesn't happen a lot with the Leica point clouds, but if the point cloud's not very dense and you go to try to select this door handle at times you'll select the seat behind it or something because you selected between a couple points. So now we're good with this. If you click the little carrot here next to the save icon, I usually do local index X, Y, Z. So that'll give us the point number and then the X, Y, Z coordinates for those points and then you can put that into your project folder.
(11:38):
So I'm going to name this Dodge Dart and then let's call it Left Control.csv. So that should now be in the project folder. I meant to put that out one folder, so I'm going to put that right here. And then when you go into PhotoModeler now we'll bring that back up again. I had that on my second screen for reference. Now when you're back in PhotoModeler, you have this control geometry. If you go to imports in coordinates, click on that and that'll bring up the imports in coordinates pane. Right now it's hidden over here unfortunately.
(12:24):
So now if you click this little icon, it'll import data. And here we're going to bring in data that will control the solution. And we are going to use known X, Y, Z locations from a file. The file name if you click on the triple dot here, just allows you to navigate to the file and this is going to be the left side control. And the units here are feet just because the units for the point cloud are feet. So whatever units your point cloud is in, that's where you should set for this section of the import process. All the points we're bringing in are going to be fixed, they're not allowed to change, we know that they're appropriate control. And then click next. And one of the great things about PhotoModeler's import process is it gives you a preview of what's there. You can select the delimiter in this portion of the import process and then you can skip rows if you have a header or something like that, which we'll use later on.
(13:24):
So now we have seven, well eight points that we're using for control and they just show up here in tabular format. So these are what we're going to assign to these points. So it's pretty straightforward from here. So again, I have two screens, you're not going to be able to see both of them, but I'm going to open this CloudCompare, this view and CloudCompare on my second screen and that'll just help me to understand what each point is. So point zero here, just bringing this back in, point zero is the windshield. Point one is the A pillar, point two is the top portion, the top corner of the driver's window. So if you can either print that or put it up on a second screen, it just keeps the process a lot more organized and ensures that you don't make any mistakes. Generally speaking, if you do miss reference a point here, it's going to be readily apparent and the residuals will be way off. So it's usually pretty easy to identify.
(14:25):
So I'm going to click on ID number one. I'm going to click on the assign button and then I'm going to click for one. And if you click this, it'll auto advance to the next point after you've assigned. So we'll go to ID two, which is ID one, and that is right here and that did not move forward. So let's go. It must be this is the auto advance, my apologies. Now we're looking at point number two, which is the corner up here. Number three, which is right here. Number four, which is this door handle. Number five, which is the front door handle, number six, which is the rear wheel, and number seven, which is that fender point, which we're not sure if it's going to be good or not. So you can see as you're doing that the photo is orienting and the project is solving, you can turn that on or off the automatic processing by clicking the little running man in the bottom right.
(15:26):
So I'll keep that on for now. We have a max residual 4.29 pixels and everything came in well. We have a little bit of a big residual back here. These other residuals are seeming to make a lot of sense. A bit of this is certainly trial and error. So if you have a control point that doesn't make sense, you go back in and maybe pick a new control point. But these are all good. It's tough to select the center of a wheel when it's this far off. So who knows exactly how accurate I am right here with my first selection. The residual seems to be pointing in a reasonable direction. My max residual is 3.5. That's great. In a project like this, I really want my residual to be below 10 and below five is preferred. And then if it's below three or something in that range, I'm really happy and sometimes surprised.
(16:25):
But it depends on the quality of the photographs and it depends on how much distortion the camera had that originally took the photo because at this point we're solving for the focal length, we're solving for the camera's position, but we're not solving for the distortion. So any distortion that does exist is affecting the solution. And if we're not accounting for that, then you might have higher residuals. So now everything's solved. Up to this point, you could have done everything that we just did in a regular PhotoModeler, the base version, but now we're going to bring in the point cloud and see how it aligns with this photograph. And to do that you need PhotoModeler premium, which comes, I think it's about three times the price as the base version right now. But it's really a useful tool, especially when you're working with point cloud.
(17:13):
So now we're going to go back to CloudCompare. And here's how I do that. So we have the point cloud down here. We see in CloudCompare that it's 34,500,000 points. That's going to be a lot for PhotoModeler. We don't need that many points. When we're selecting control points, it's really useful to have an extremely dense point cloud so that we're sure that we're picking the right point and we have a lot of options when we're picking a point. But when we're just bringing it into PhotoModeler to check the fit, 5 million points is plenty as you'll see. And as a side note, the process that we just did in CloudCompare where we're selecting control geometry, that's a process that can be performed in PhotoModeler as well. It's just a little bit more finicky and the navigation isn't as smooth so I've found it better to use the process that I'm showing you here right now.
(18:07):
So to get a smaller point cloud, I'm just going to click on the point cloud. I'm going to click this little sub-sample icon up in the toolbar and hit random and just tell it, "Hey, I want 5 million points." Five. One, two, three, four, five, six. Okay, so now we'll have a five million point point cloud and it's called subsample. I'll just double click on that and call it five mill so that I don't get confused. Click the save icon and put this onto the desktop into the project folder. And in CloudCompare you have to tell it what kind of file you want it to be. So let's just call this dot PTS and click okay.
(18:52):
So now in the project folder we should have that five million point cloud. And there it is. So now we'll go back into PhotoModeler where we'll import some new geometry, but this geometry is not going to control the solution. It'll be on the same coordinate system of course as the control units, as the control coordinates, but it's not going to control the solution. We're just adding three D data here and it's going to be from a point cloud and we just click the triple dot here to find the file that we're interested in importing.
(19:21):
The units are going to be in feet again and it's going to give us the option to ignore a header and it'll bring everything in. So we have X, Y, Z that looks right and then it wants to ignore the first thing, but that's not right, it should be RGB. So now everything's set up right. That's one of the other things that I really like about the PhotoModeler import algorithm and that process is it really just very easily allows you to re-identify each column. So we're good there. We'll bring that in. That'll take a quick second. We'll speed that up. It'll probably take about one minute or so to bring that file in and then we'll be able to overlay it on top of the photograph to see how our fit is working.
(20:04):
Okay. So the point cloud is now in. I'm going to control close the import coordinate system pane just to give us a better view of the fit. So now if you click on visibility, it'll open up the visibility pane and now we click on point clouds and we'll see the exemplar point cloud come in right on top of the photograph. And this gives us, we could fade it in using this transparency scale right here. I generally put the point size down to one and then you can just slowly bump it up to see how everything's fitting and everything looks really good. So a couple points that I was worried about were number eight here on the fender and then I was also worried about this wheel, but so far there doesn't seem to be a reason for that. They're lining up really well.
(21:03):
The mirror lines up really well. The bumper, we don't necessarily expect to line up perfectly because we know that that's damaged, but it's even lining up pretty well. And then this antenna, you can see there's a little bit of a misalignment with this antenna, but that's something that is likely to bend or move depending on what it's been through in its life. I don't expect it to move during its life, but it might bend during its life and it might've been installed a little bit differently at the factory car to car. So overall, really happy with that overlay. And one of the really cool things about using the point cloud for this process as opposed to the photogrammetry project, which is technically speaking just a similarly accurate method, but the graphics that you get from bringing the point cloud into PhotoModeler really help to illustrate to the jury exactly what you're doing and the confidence of your fit so that they can get a visual understanding of computational photogrammetry.
(22:09):
If you're trying to describe to a jury computational photogrammetry from a technical standpoint, it's going to be very complex. I don't think that it would go over very well, but being able to show them this overlay, they understand the general process of what you're doing. So if you're not using that point cloud overlay, it's a good idea to turn it off. It just frees up computer resources. And even further than that, I'll generally turn off that point cloud as being active while I'm working on other things. So now the program just has more resources to do the normal stuff. So we're done with this photograph, everything's looking pretty good. And now it's time to move on to the second photograph. So we'll just do the exact same thing we did with that left side photograph with the right side photograph. So I'm going to hit two as my shortcut for marking points.
(23:04):
We'll get the corner of this windshield, we'll get the base of the A pillar. We'll get the leading edge of this door handle. Now technically you only need about I think four points. I know that pane at the beginning says you need five, but I think you can get away with four. It's certainly not optimal, but I try to get as many as I can. If it's for a case, I'll get as many points as I possibly can. Here for the purposes of expediting the process, I'll just get seven or so. And then it'd be good to have one down here. A lot of times I can follow this seam down and figure out where it is, but with this car being black and ducking down behind this seam line, I can't really see that point. So I'll go down to the wheel and see if we have any luck there.
(23:54):
All right, so if I get to press one, that'll bring me back to my selection tool and then control A will show up all the points. So we got one, two, three, four, five, six, seven. That should be good. I'll try. This is a bit of a dark area over here and who knows if I'll be exactly in the right spot, but I'll try to bring that in. That's visible in the other photograph as well. And those are generally good control points to try to grab because they tie the two photographs together pretty well. All right, so we have these photographs. I'll go back into CloudCompare and do the same process, the same thing that we did for the left side of the vehicle. We'll do that same process for the right side. So I'm going to move this over to my second screen and bring up CloudCompare.
(24:39):
I'll turn off the five million point point cloud and put on the beefy one again and then head over to the right side and select some points. So I'll do the point selection here and speed up the process so you don't have to sit through it all. One thing to mention though is I'm going to use that same point picking list and just add onto it. And then once we import it into PhotoModeler, we'll ignore everything prior to line eight and I'll show you how that's done. All right, I'm going to start selecting away now.
(25:26):
Okay, I've selected all the points now. That probably took two to three minutes and we have everything we need here. It looks like they've got two points up here, point eight and point six. All right, so let's march on and see what happened there with point number six. Point six is just visible through the back, I'm sorry. So that can be one of the confusing parts about doing two sides simultaneously is sometimes it looks like you have a point right next to another one, like six and eight look right here. I thought that maybe I created two points by accident on the corner, but we're good. So now we're going to export that again just like we did on the first revision.
(26:15):
And I'm going to call this right control and that will have all of the points of course, not just the right side points, but in PhotoModeler when we import them, we go back to the imports in coordinates pane, add new geometry. This is going to help to control the solution again and we're going to be using known X, Y, and Z locations from a file. The file name is going to be control for the right and the units are going to be feet and they're fixed again and then we'll bring them in.
(26:49):
So now the first seven lines are from the left side. So here where it says number of header rows to skip, you can just click down until you get to seven. So now the first one that'll come in for this CSV, we'll start with row number eight and then that'll just keep things nice and tidy where we have a CSV for the right side and the left side. Now if you wanted to it's no problem at all with just doing this all in one fell swoop and going into CloudCompare and creating one CSV to bring in instead of doing it in two iterations. So click okay, and now we have the control points here. So again, I'm going to bring this image up and this view in CloudCompare I should say, and I'm going to put this onto my second screen, which you won't see.
(27:41):
So that just helps keep me organized. Click on the first row, click the assign mode and then just fire away. So this is going to be number eight. This is going to be number nine. This is number 10 here, the door handle. Number 11 is the other door handle. Number 12 is the wheel. Number 13 is this junction back here at the rear window and that is it. Actually 15, which I did not select in CloudCompare. So this is a good time to show a method that you'll end up implementing at one point or another. Either one of your control points doesn't work or you forgot to select the control point in CloudCompare like I did here. So there should be a control point right up here at this corner of the window and I didn't do that so I'm going to get back into the point picking tool.
(28:37):
I'll go down and make sure that everything's kosher and it's still the way I remember it being. And then bring up the photographs. So I'm interested in the corner here of the moldings. In the scan data, when we create those scans, we put the window down. So we're looking at the molding junction, which is going to be somewhere right around here. So that's point 14 now. And then here's the X, Y, Z coordinates for that point. So back in PhotoModeler, we can just add a point and that'll tack on right to this table. So this is going to be ID number 17, number seven, I'm sorry, and with two screens it is pretty easy to do this. You just click right here and you can see a little box highlights the outside perimeter of that cell and then you can just hit control+C and then you can paste it.
(29:28):
So I'll just show you right here. I click in there, hit control C, and then we have the X coordinate and the Y coordinate. And if you have two screens, you don't have to go back and forth between the windows like this. So now we just have a new point that's not assigned. So if I click this little assign tool again, I'm on ID number seven, and then sometimes you got to go between a couple points to get it to the right tool again and we click there and we're good. Now we have that point.
(30:02):
So like I said, sometimes if you selected this wheel by accident or something and thought that that would be a control point, you find out it doesn't, it's got a really high residual, then you might have to make some tweaks and you can do that all right here in PhotoModeler by deleting points, adding new points and you can get the coordinates in CloudCompare either using the point picking tool or if you click on this little crosshairs here, the point picking tool itself, I'm sorry, this is the point list, I think point list picking tool and then this is the point picking, you could just select on any point and the three D coordinates of it will come up there. So it's pretty easy to work between the two programs.
(30:39):
So now we're good. Our residual didn't jump up at all, which is great. So we expect that this would be a good fit between the photograph and the point cloud. So let's just check out and make sure that that's true. So we'll turn on the point cloud again, close this so we get a good view of what's going on. And so we can have room for the visibility pane, turn on the point cloud and then modify the transparency. Excellent. So that's a beautiful fit. Here even the antenna is aligned well, which is interesting. So it probably tells me that we're not perfectly accounting for distortion in this photograph since there's a little bit of alignment there and there's not much of a misalignment here. So it's probably some distortion that we're not counting for.
(31:26):
There's almost certainly some distortion we're not counting for just because every camera and lens setup has some distortion and if you have more control points, basically if I have 10 or more control points that are well dispersed around the frame, then I will have the program solve for distortion of the camera as well. And one way you can do that, if you click F5 and go into optimize, if you hit include camera optimization in here, then you can account for lens distortion. I don't have enough to confidently do that here. So here if you go to review cameras, you'll see we have a camera for each photograph that was solved by these control points from the point cloud and the distortion factors are all zero. So that just is a good check for you when you're going through the project to open up that pane, look at it and say, "All right, those are all zero. So we're not accounting for distortion, we have not solved for distortion," which here I think is the right move. So great, looking at these fits, they're beautiful.
(32:26):
So now from here it just becomes a regular photogrammetry project as many of you are probably used to. One thing I'll actually do is I'll try to link up 17, which we talked about before with this control point from the left side photograph. So if you just hit 17 and then shift select point number one and then hit shift Q, that does a quick link. And you can see the point cloud moved a little bit behind it. We have a bit of a new solution and we can go to view visibility and point cloud I think is already on, but we can now check out what that's looking like. So let's just look at one at a time.
(33:07):
And the fit looks really good. So let's check out the other one, the right side view, and that looks really good too. So now there is a bit of a misalignment here. So now that's consistent on both of them I think. The angles plays a little bit of tricks but it looks like it's off in both of them in any case. And everything else is pretty darn good. Like I said, this is not a good indicator if you have a good fit, you should be looking at A pillars, mirrors, the door panels, parts of the vehicle that are solid and not likely to be different between vehicles that are coming out of the factory.
(33:53):
All right, so everything's good there. We're going to turn off the point cloud now to do the rest of the project and that should make everything run a little bit more quickly and smoothly. So now I'm going to pull up the photo pane and we'll have both of these open. And now the project becomes very similar to what you're used to where you're just going to be referencing points between these two images. So the way that I like to do this, it comes with a lot of experience getting comfortable with this, but what I like to do is select points on the photographs that are extremely easy to identify and very distinct. And that will help the program figure out the solution, figure out where the cameras are, tighten it up a little bit and then you can start to use the epipolar lines which kind of predict from one photo to the next where that point is going to fall.
(34:47):
And then you can start trusting them if the solution is looking good. So I'll pick really distinct things like paint missing here. Let me get this out of there. Go to this missing paint here on the top of the hood and just click it on both. And even though this isn't a point that I care about, the goal here of course is to model the leading edge of the hood really. That's going to be the most useful thing for a crush analysis and an underride impact like this. But even though I might not care about it for the modeling, the model itself and the crush measurements, it's important to the modeling process and important to the photogrammetric solutions. So I'll pick really distinct points even if they don't matter for the crush. So let's find a couple more of those and just make sure that this is a really solid solution.
(35:42):
So you can see this is the epipolar line, it thinks that that point's going to be up here, we know that it's actually down here a little bit and that will help the program figure itself out. This corner is really good on this hood as a distinct point and that's good. And while I'm going through this, we have the running man on so it's going to be processing, but it depends on your preferences if you want to keep that on or not. A lot of the times I'll just continue to process throughout and you'll see the epipolar lines will update as the solution becomes stronger. So let's find some other points. It looks like there's these two little dings right here, so let's try to see if this is that ding. It appears to be, it's a little wide though, so I'm going to ditch that because I don't know exactly where on that damage that ding was, that missing paint. This one looks a little bit more confined.
(36:51):
This area of discoloration here is a good spot to give it a try, especially where it meets the edge of the hood. That gives you a nice intersection and that's looking really good. So the epipolar line is starting to get us in the right spot. Similar to the point cloud, sometimes when you're looking at these photos, it's better to be a little bit farther out than it is to be way in. You lose the context at times and some of that comes with feel. So there's also this really distinct area. This actually will be a spot that we're interested in modeling. So that's a bonus.
(37:26):
I think that's right there. So for context, I was confused for a second, I thought maybe this was that point, but you can see this area of discoloration and that area of discoloration is here and that's below that and to the right or to the driver's side of it. So I think that here and here is probably the right spot on both. Looking for some other spots here. Let's go to these bolt heads on the reinforcement mount. Actually let's go to this little cutout because it's so distinct. There's great contrast there. So we can get this upper left corner here and then we'll get that same upper left corner over here. The residual is still looking good down here. You can see it on the bottom right 3.47. Just as a trick that's really useful for maximizing efficiency, if you click on that, it'll take you to the point with the biggest residual, which is point number three on that left side photo.
(38:40):
And another really useful tool is to hit shift two and that'll bring up the point quality table. And then you can sort by the largest residual. So you can see really the only residual that's off is this 3.46 that's above two even. And the rest of them are below that. So it's a good indication that we might not have selected the appropriate spot in CloudCompare on the point cloud and you might want to go just update the coordinates for that point. Just to maximize efficiency, we'll just keep on moving forward. It's a good project, we know it's solving well/ but if this was the case that I was working on, I would go update that control point and make sure that it was selected appropriately and I suspect we'd see some improvement with that modification.
(39:27):
All right, so let's select the point up here on this sticker up in the corner. Again, not something we care about but just helps with the solution. And now let's test out some epipolar lines and see how everything is looking if we're in good shape. So we have this corner up here and that corner seems to be about here. It's not going to be perfect, we don't know exactly where it is, but it looks like that should be right around there. So it's a little bit off over here, but not too much. Process that project. And you'll get some updates in the epipolar line. And let's just try to get one more point that's going to make us comfortable. Sometimes looking for these points can take a lot of time and other times they come more quickly.
(40:46):
So we can see these tabs here. There's one, two, three. That might be a good thing to check is just try to grab one of the tops of those tabs. This is the third one. Epipolar line is hitting it pretty well. Looks pretty good. All right, so we're going to move on, start trusting those epipolar lines. If it's a case that I'm working, I'll probably spend another 15 minutes or so, just picking as many points as I can to make sure that the project is solving really well. But just to show you the process, we'll move on from here and we can start tracing the hood using these epic polar lines. And then the geometry of the hood itself.
(41:28):
So here I'm just hitting R. R is the button that starts the referencing process. It's a good shortcut. And then basically I'm usually working between R and one at this point. So if you hit one, you go to the selection tool. If you hit R, you go to the reference point tool. So you can see there's a little crease here, which should help us. We have the crease, we have the hood line itself, and then we should get an epipolar line. So it's all going to point us to the right spot so that we know we're modeling things accurately.
(42:09):
Again, here we have some natural geometry from the damage and then we have the hood. So we can get that, 29, 27, 47. Probably get one more point in between here. And then let's start tracing up the other side of the hood. All right, so now that we have the edge of the hood mapped out, we can draw lines in between all of those points and then we can export that for measurement, I generally don't do my measuring and PhotoModeler. I'll generally use a PhotoModeler for modeling and then export to some 3D CAD program. We found Rhino to be really useful. It handles point clouds well. The licenses are not very expensive and it is a really diverse tool that can do a lot of things. So it's very versatile. That's the word I was looking for. Very versatile tool. So a good program to pick up if you're doing a lot of 3D CAD work. So if you hit four then you'll be able to draw a line between every point and you can just connect the dots and that will give you a good profile of that hood.
(43:42):
We are good there. So between 29 and 27, I'd like to add one more point. I don't like the way that that looks. So I'll just get in here, click R, find the edge of the hood there, the edge of the hood here. And then four, press four on the keyboard to go into drawing lines again. Okay, so we're pretty much done in here. You might want to do a little bit more QC if you're bringing this to a case or a deposition or anything like that. But for the purposes of this, I feel comfortable that everything's modeled well. And now what I'll do is click the review pane and then click renumber and renumber all the points starting at one and that just cleans up the project. So now when you go into the point quality table, there are no points that are out of order with numbers and there's no points that aren't referenced. So that's a good check at the end before you export. Of course you should be saving this project as you go. I did not do that, rookie mistake there. We'll just call it Dodge Dart for tutorial.
(45:03):
All right, so now you can see that hood line that we just modeled. If you click F7, that gets you into the 3D viewer. Right now my 3D viewer is floating, I'll put it in the middle and here's what that damage looks like, which of course doesn't mean too much to you right now, but if we go into the imports and coordinates tab, we can turn on our point cloud and then that should show up in the 3D viewer. And now we can see where that hood line is with respect to the exemplar vehicle. So from here I generally, this is the top down view, I don't do too much exploring in here other than to ensure that it's a good fit. It's just a little bit of a finicky program for dealing with 3D measurements and views and whatnot. So I go from here straight into Rhino or CloudCompare depending on what I'm doing.
(45:58):
So from here we're going to export, file export and then go to export model. And I'm going to do a 3D, DXF, that'll come into any 3D CAD program really well layers to export. I didn't create any layers, so we're just going to export the default layer. And then for items, we want the points, we'd like the point IDs as well. We'll bring in the lines because that's going to be the hood profile. We'll bring in the imported points just to see how they line up with the point cloud. I often check and make sure that that's all good. We don't need the point cloud. We're going to bring the point cloud into Rhino separately. And now this will just be a small tight file that will be on the same coordinate system as the point cloud. So when you bring this DXF into any program and then bring the point cloud into that program, they'll be on the same coordinate system and everything should overlay nicely.
(46:52):
Click export and that's Dodge Dart for tutorial DXF. And it tells you, it gives you a summary of what was exported and where it was and then you should be good. So now there's a couple things that you can do from here. So I've worked out this process to make it a little bit smoother over the years and you could bring in the entire point cloud into Rhino or the 3D CAD program you're using whatever program. And I do do that eventually, but I also just bring in a slice because we're going to want to trace the leading edge of this hood in the 3D CAD program that we're using so that we have a profile of the exemplar hood and then we have a profile of our damaged hood and we can easily just map that out.
(47:42):
So I'm going to turn off this point picking list so it's just not in the way. I'm going to go to the side view. I'm going to try to go to the side view. So this side view. So this one we're interested in modeling the hood line. If you have a case where you're interested in modeling the bumper, which is probably most of the cases, then you just bring this right down to the bumper line and then you can export this slice with this little button right here.
(48:11):
And then when you turn off the big point cloud, you'll see just a slice. And then you go to the top down view and you have the profile there. And that's really nice and easy. You bring this into a 3D CAD program, take a poly line and trace that point cloud. And then you have a geometry that's really easy to take measurements from when you're getting your crush measurements. So I'm going to delete that here and go back to my full point cloud. I'm going to do something very similar to that, except I am going to try to get a slice that helps me trace the hood geometry instead of the bumper geometry. A little more tricky in this case, but using this tool up here, the slicing tool, it shouldn't be too hard. So first I'm going to rotate it a little bit and then bring it up so that we're right along that hood area.
(49:02):
Just for the purposes of keeping the point cloud really small that we bring into the next program, I'm going to cut off the tail end and we'll bring the whole thing in eventually, but this just helps with this part, with the tracing part. Okay, so I'm going to export that slice, turn off the big cloud and now we just have this little slice of the hood. So now I'm going to click that in the project tree, hit save. And I'm just going to call this hoodslice.PTS. So now we have, what is that? 405 or four million points? How many points was that? That's a lot of points still, but Rhino should have no problem handling that. So now we're in Rhino. This is a new file. The units are in feet, which is the same units as the point cloud, same units as the photogrammetry project. And we'll just bring in the point cloud, that little slice.
(50:06):
So you could just drag it into Rhino and I click import and it'll take a few seconds and then it'll show up. All right, so it's in. Take a look at it, everything makes sense. We do not want to move that. So control Z, which brings up a good point. At this point I would generally just delete all the layers that are in there except for the default of course, which I didn't mean to delete. I'll create a new one and I'll call this PC for point cloud and then hood slice. Just keep yourself organized however you do it. Click that, go to properties layer, PC hood slice. So now when we're in layers, we can turn that on and off if we want. And then we can also freeze that so we don't do something silly like move it when we're not dealing with it.
(51:07):
Okay, so now we're going to go to the top down view. And so now that we don't have really any points below this hood line, you can confidently trace that hood line just using the poly tool. And I zoom way in on this and depending on how much time I have and what my budget looks like, I'll get really detailed on this or fly along like I'm flying along right now. So I'm just going to trace this whole thing out. And we're looking for the leading edge of the hood, depending on how you do your method of crush measurements, I generally follow the 88 Tumbas and Smith SAE paper and take my measurements accordingly and perform the analysis as such. So here I'm just going to be modeling the leading edge.
(52:08):
Well, I say that as I'm going up the side, but sometimes it's just nice to have a complete picture. Right click to end that. And then I rotate around and make sure that I didn't click, get any points that are way off from the actual point cloud. So that looks good. We have a good measurement of the exemplar there. And now we'll bring in the DXF from the photo modular project. So Dodge Dart for tutorial, this is the DXF, bring that in, we'll import the file. It's going to be feet and now it's just on the same coordinate system as the point cloud. And we can turn off the point cloud if we want. Let's put the default here, turn off the point cloud if we want. And now we have the damaged hood line and have that in direct comparison to the exemplar hood line. So let's see, probably would've been smart before bringing that in. I'm going to control Z my way back.
(53:38):
It would've been smart to put this on its own layer, but it's not necessary. I'll just move forward. But I would recommend putting the photogrammetry project on its own layer, the point cloud on its own layer, and then the exemplar line work on its own layer. It'll just make things easier. So now we're in 3D land, so taking measurements between these two profiles might not be the easiest thing to do. So what I do to simplify that process, learned it the hard way over the years and it makes things a lot easier if you create a surface that is below all of this stuff.
(54:21):
So now we have a surface that's a little bit below all this stuff. Now we can just project those curves onto this plane and then very easily take measurements between them. So if I had made a layer for this, it'd make this a little bit easier as opposed to trying to select between the two, but it's not a big deal. So I'm just hitting shift here to select them both, to select multiple curves I should say. And now if you just type in project in the command bar and it asks you what surfaces you want to project to and then you click the surface that we just made, press enter. And now we have both curves. We have the projected version onto the plane, onto that surface and then we also have the original. And I'll do that same thing with the exemplar project to here.
(55:29):
And now it's really easy to take measurements. So now when we go to the top view, everything looks the same. It looks like there's just one set of curves, but we have one that's off the plane and one that's on the plane. So just for the purposes, I wouldn't recommend doing this. I would put these on a layer and just turn them off with the visibility toggle. But here I'm just going to delete them for the simplicity of the tutorial.
(55:58):
Okay, so now if you go down to the top down view, you can easily just draw lines and take these measurements. So you would want to separate them out with respect to the collision reconstruction protocol and figure out what your crush width is. But for now, I'll just show you the process. Just type in line and let's just start a line from here. And here I'll turn on the ortho and let's just spread them out in a somewhat logical manner but not too tedious. So now if you select this, the damage profile, this is just how I do it. I'm sure everybody's got different 3D CAD methodologies, but I select that, type in trim, and then you can select the object to trim and then you'll get all the crush measurements that you need. So here, if you just click on this, you can type length and it tells you it's 0.21 feet. Alternatively, you can go to dimension, linear dimension and display each measurement.
(57:23):
And now you have what you need to perform the crush analysis and help you with delta V and speed determination and whatever you're trying to get from that crush analysis. And this generally, I'll save this and make a nice exhibit with it. So at the same time we now have the point cloud in here. You could bring in, instead of just that slice, you could bring in the entire point cloud. I deleted those a little while back now the original profiles. But just to show you, I'll go create a new one. Won't save this, we'll make it a large project with units of feet. And then we'll bring in, let's just bring in the five million point point cloud that's on the same coordinate system as everything else. Might take a few minutes, but we'll speed that up, or a few seconds anyway.
(58:20):
All right, so the point cloud's in there now, and then we could just grab the DXF. Bring that in the same units and that'll pop up just on top of that. So if you wanted to make an exhibit just showing what the damage looked like with respect to the exemplar, you could do that in here. All right, so that's the process. Really useful for a few reasons. One, obviously just modeling crush from damage, crush from photographs is a really useful process. You can do that with a photogrammetry project, with an exemplar photogrammetry project, or you can do that with a point cloud. One of the advantages of doing it with a point cloud is you get the associated exhibits, things can look a little bit ... You can make some flashier exhibits and you have the underlying appeal of the 3D scan data.
(59:19):
So we'll be offering this data soon at lightpointdata.com, filming this in April, and we expect in May that we'll have a database of a hundred scanned vehicles and then we'll be continually adding to that database over the years. So hope you found that useful, and if you have any questions, just reach out and hopefully we can help walk you through the process.