Incorrectly Oriented Reconstructions in PIX4Dcloud or PIX4Dmatic
In some projects processed in PIX4Dcloud or PIX4Dmatic, users may notice that the final reconstruction is rotated or incorrectly oriented relative to the expected geographic orientation. This issue has been observed in datasets captured with certain DJI drones where the initial camera yaw orientation stored in the image metadata is incorrect. When the software relies on these incorrect values during calibration, the entire image block may be reconstructed with the wrong orientation.
IN THIS ARTICLE
Problem
Know affected drones
Possible workarounds
Additional notes
Problem
Some DJI drones incorrectly record the camera yaw orientation in the image metadata, specifically in the tag: Xmp.drone-dji.GimbalYawDegree
This tag is expected to represent the direction the camera (gimbal) is pointing. However, in some datasets the value is incorrect or inconsistent, causing the photogrammetry pipeline to interpret the camera orientation incorrectly.
As a result, during calibration the entire image block may be rotated away from the correct geographic orientation, even though the camera positions themselves appear correct.
Known affected drones
The issue has been observed in datasets captured with the following drones:
-
DJI Air 3
-
DJI Mavic 2 Pro
-
DJI Air 2S
In these cases, the difference between the drone yaw and the gimbal yaw recorded in metadata can be very large (often 40–55° on average). Since the reconstruction relies on this metadata, the final model orientation may appear rotated by a similar angle.
![]() |
|
| In blue, the initial yaw position read from the image's metadata | In green expected yaw position of the images |
Example: The following are several examples of problematic metadata values observed:
- Xmp.drone-dji.GimbalRollDegree +0.00
- Xmp.drone-dji.GimbalYawDegree +33.60
- Xmp.drone-dji.GimbalPitchDegree -90.00
Even though these values may appear reasonable, they may not correspond to the camera's actual direction, leading to incorrect initial camera orientations.
It is important to note that the issue originates from the drone metadata itself and, therefore, cannot always be corrected automatically during processing.
Possible workarounds
If a dataset produces a reconstruction with an incorrect orientation, the following workarounds may help.
a) Use the Standard calibration method (PIX4Dmatic only)
When available, use the Standard calibration pipeline (this calibration method is only available in PIX4Dmatic) instead of the Scalable Standard.
The Standard calibration method relies less heavily on the initial camera orientation, making it more robust when metadata orientation values are incorrect.
b) Remove the initial image orientations
Another workaround is to remove the initial orientations from the images before processing.
By removing the initial yaw values, the software estimates camera orientations solely from image matching, thereby preventing incorrect rotation caused by faulty metadata.
This workaround can be performed using:
- PIX4Dmatic or
- another third-party software like ExifTool
c) Process only nadir images
If the dataset includes both nadir and oblique images, removing the oblique images may improve robustness.
Datasets that follow a regular grid flight pattern with nadir images only tend to calibrate more reliably when initial orientation metadata is incorrect.
d) Avoid mixing multiple flight patterns
Datasets that combine grid flights, circular flights, and oblique imagery may be more sensitive to incorrect initial orientations.
If possible, process datasets captured with a consistent flight pattern.
Additional Notes
In theory, the yaw of the drone (FlightYawDegree) and the yaw of the gimbal (GimbalYawDegree) should be nearly identical during automated mapping missions, since the gimbal rarely rotates independently of the drone heading.
However, some firmware versions appear to incorrectly record the gimbal yaw, which leads to the reconstruction issues described above.
Since the issue originates from the drone metadata, users experiencing this behavior are encouraged to report the issue to the drone manufacturer and include information such as:
-
Drone model
-
Firmware version
-
Flight logs
-
Sample images
