Hey JEM3345. I am no expert, but I have spent quite a bit of time working toward the same goal. I’ll share what I have found and have learned from other experienced mappers on this forum.
Extracting reliable elevation data from uav mapping is not super easy. But it can be done with proper planning and effort. As far as time, it takes a lot of planning and processing time on my part to get good data. But if it keeps my guys out of traffic, I think it is worth the effort.
There are a few things that you need to consider. Elevation data is two to three times as unreliable as horizontal data from the point cloud.
Fly as low as you can. 200-250 feet is okay, But if you can drop down to 100-150 feet, that’s all the better. Trees and buildings often prevent this. You will also need plenty of GCP’s. My rule of thumb is to keep GCP spacing about twice the flight altitude. So if you fly at 150 feet, set GCP’s at 300 feet. Better yet, set them at 150 feet, and use half as check points to verify your model. Then reset the checkpoints to GCP’s to tighten up the model more. And make sure the vertical accuracy of your control points is tight.
If your flight plan is along (longitudinal) the roadway, I recommend a minimum of four paths. 80% frontal and 75% side overlap is good.
Also, do the best you can to fly in overcast conditions. This is the hardest to plan for, especially on projects far from home base. But it is critical for accurate mapping. Casting shadows wreak havoc on the elevations. Just look at a point cloud with heavy shadows. You can see the dips it causes in the point cloud. Sometimes you can clean up the point cloud by clipping out the shadowed areas. But this is tedious, and results are not great. An overcast condition provides a more homogenous lighting condition and better point cloud. Also, pay attention to lighting on your GCP’s. Are some in full sun and others in shadows? That can mess up the model. If the roadway is completely open, with no shadows, full sun conditions are okay. But it is rare, as usually something casts a shadow across the roadway.
Now I am not trying to push one processing program over another. But I used Pix4D exclusively for three years. Contouring seemed adequate. Until I tested Metashape. Metashape allows so much more control in producing contours and DEMs. Contours produced from Metashape are much more finely tuned. It also allows you to create contours and dem’s from smoothed meshes, which helps average and smooth out the elevations. You can vary the “smoothing” effect as much as you find necessary. But be ready for a difficult learning curve transitioning from P4D to Metashape. It is different in many aspects.
As for the elevation models, I started out importing contours into Microstation/Geopak to create a tin model. I have found that loses a lot of data in flatter areas. Exporting the DEM instead of contours gives you a much better triangulation model.
Another thought. If you are extracting profiles from edges of pavement, where a grade change (like drop from asphalt to shoulder) may be present. Cut your profile a foot or so into the pavement. Elevation differences here should be negligible, but it will help eliminate problems with the software trying to map across a grade change.
As far as mapping oblique vs. nadir, I commonly shoot at 75-80 degrees to help with getting images with more info (like sign faces), but as far as accuracy, I have not seen a difference in the point cloud.
Finally, I would recommend testing this on a section of roadway that has been surveyed conventionally. Extract elevations from your DEM at locations that were shot conventionally. Compare the elevation differences. Don’t expect all elevations to be 0.04 or 0.06 feet different. But overall, you should see a RMS of about the same. Is a tenth of a foot adequate? Maybe 0.15 feet? I think on most of our projects that some variation in this range would be fine. Cut a profile along your conventionally surveyed points, and compare it to a profile cut along you uav mapped model. Prove it to yourself before accepting the results of your mapping unverified.
Hope this helps. Try different things. Verify results with field data. And keep us posted if you discover ways to improve accuracy of your mapping. We are always interested in improving our results.