We're using Metashape 2.1.2 for underwater SfM from one of our autonomous underwater vehicles (AUVs) which has a down-looking camera but are having some issues with the pitch, roll, and yaw errors when aligning images. The alignment process is "successful" in that it aligns many of the images; however, viewing the resulting point cloud and reference data errors suggest that something is happening with the pitch, roll, and yaw, which are recorded from the INS onboard the AUV. Yaw is measured clockwise from North. Pitch and roll are measured in-line with the AUV vessel, therefore aligned with the camera. Altitude only varies from ~1.18m to ~2.38m from the bottom but is relatively consistent around ~1.75m.
Images are being aligned with the following settings, but we've tried numerous other settings:
Accuracy: High
Keypoint limit: 60,000
Tiepoint limit: 0
Generic preselection: True
Reference preselection mode: Source
We are also using a pre-calibrated camera model where f is fixed based on camera-specific lens and f-stop parameters.
There are a few missing images in the surveyed line, causing periodic breaks in the data. But there are still 20+ images in each aligned chunk. If the elevation is set to 0 for every image (which is inaccurate, then the resulting alignment is pool table flat and the excessive rotation is not present. Another option we've explored is grouping images together based on their continuity with other images and breaking camera groups across these gaps in the surveyed line. While this may be an option, it is more time-intensive to setup. It would be ideal if we could align all the images at once, but it looks like Metashape is trying to rotate some groups of images to try and make them align across these gaps in the surveyed line.
Wondering if others have run into similar challenges and, if so, how you may have addressed them.