Each time you take a photo, you capture information that is referred to as metadata. This data is extremely useful when creating 3D reconstructions.

Metadata is stored in two types of files:

  • EXIF (Exchangeable Image File): contains information about the specific camera settings used when capturing a specific image. This information includes details such as GPS position, camera make and model, date and time, shutter speed, focal length and more.
  • XMP (Extensible Metadata Platform): the data standard for Adobe’s Extensible Metadata Platform

The information included in metadata files consists of camera intrinsics and camera extrinsics.

  • Camera intrinsics refers to the focal length and optical center of the camera
  • Camera extrinsics refers to the camera’s physical location and the direction it is pointing.

Using the extrinsic parameters, we can create camera coordinates which are mapped into the image plane using the intrinsics parameters.

[accordion heading="Skydio Camera Information"]

Photo Camera Intrinsics

Below are example values from EXIF/XMP data relevant to camera intrinsics. The values are from our “prototype” calibrations which should be very close for a drone of that type. Image files from a specific drone will have factory-calibrated values that will be even more accurate.

Skydio 2/2+ and X2 Color 

Calibrated Focal Length X

2376.5625
Calibrated Focal Length Y 2376.5625

Calibrated Optical Center X

2027.5000
Calibrated Optical Center Y 1519.5000
Dewarp Data 0.13000, -0.24000, 0.10400
Image Width 4056
Image Height 3040
Focal Length 3.7 mm
Focal Length in 35mm Format 21 mm
Focal Length 3.7 mm (35 mm equivalent: 21.0 mm)
Hyperfocal Distance 0.92 m
Horizontal Field of View 80°
Vertical Field of View 64°
Diagonal Field of View 94°
Resolution 4056 x 3040 (12.3 MP)

X2 Color/Thermal 

Calibrated Focal Length X

4848.1875

Calibrated Focal Length Y

4832.3438

Calibrated Optical Center X

2027.5000

Calibrated Optical Center Y

1519.5000

Dewarp Data

0.00000, 0.00000, 0.00000

Image Width

4056

Image Height

3040

Focal Length

7.5 mm

Focal Length in 35mm Format

41 mm

Focal Length

7.5 mm (35 mm equivalent: 41.0 m)

Hyperfocal Distance

3.73 m

Thermal sensor size

3.84mm x 3.072mm

Horizontal Field of View

45°

Vertical Field of View

35°

Diagonal Field of View

55°

Resolution

4056 x 3040 (12.3 MP)

Computing pixel from point

The model we use is a simplification of the standard OpenCV model with the denominator coefficients and tangential coefficients omitted. This is a similar to the model from A Flexible New Technique for Camera Calibration, 1998

Below is an example of how to compute the projection of a point from the example Skydio 2 calibration in Python:

Screen

[/accordion]

[accordion heading="EXIF/XMP Tag Descriptions"]

To access EXIF or XMP data, use a metadata reader tool such as https://exif.tools/

Coordinate Conventions

GPS

Latitude and longitude are in WGS84 coordinates.

Altitude is geoid (or orthometric). Height/altitude (roughly equivalent to height above mean sea level) in EGM96 computed by interpolation from a 10 deg x 10 deg grid.

FLU Front left up coordinates
NED North East Down local cartesian coordinates relative to an arbitrary GPS linearization point. Yaw north is zero, yaw east is 90 degrees

Reference frames

Visual Frame

From our visual system, relative to where the drone turned on

World Frame

GPS based reference frame, linearized about an arbitrary point near where the drone is turned on

Hybrid Frame

From our visual system, transformed into the world frame

Standard EXIF GPS Field

GPSVersionID
GPSProcessingMethod
GPSLatitude
GPSLongitude
GPSAltitude
GPSAltitudeRef
GPSTimeStamp
GPSSatellites
GPSHPositioningError
GPSImgDirection
GPSImgDirectionRef
GPSSpeed
GPSSpeedRef
GPSTrack
GPSTrackRef

Images captured in Skills and 3D Scan

VehicleID

Unique vehicle ID

VehicleName

Drone name

  • Both Skydio 2 and Skydio 2+ will show "2" as the VehicleName
  • If you are using a Skydio X2 Color the VehicleName is displayed as X2 Wide
  • If you are using a Skydio X2 Color/Thermal the VehicleName is displayed as X2 Narrow

ReleaseKey

Software release key

FlightId

Unique flight ID

LogHandle

Log name

TakeoffUtime

Drone time since boot [microseconds]

CaptureUtime

Photo capture time [microseconds]

Latitude

Drone latitude [degrees]

Longitude 

Drone longitude [degrees]

AbsoluteAltitude

Absolute altitude above sea level [meters]

VehiclePositionNED

Position of the drone in the hybrid frame (north-east-down) [meters]

VehicleSpeedNED

Velocity of the drone in the hybrid frame (north-east-down) [meters /second]

VehicleOrientationNED

Orientation of the drone in the hybrid frame (roll, pitch, yaw) [degrees]

VehicleOrientationQuatNED

Orientation of the drone in the hybrid frame [quaternion]

CameraPositionNED

Position of the gimbal in the hybrid frame (north-east-down) [meters]

CameraOrientationNED

Orientation of the gimbal in the hybrid frame (roll, pitch, yaw)[degrees]

CameraOrientationQuatNED

Orientation of the gimbal in the hybrid frame [quaternion]

VehiclePositionFLU

Position of the drone in the visual frame (forward-left-up) [meters]

VehicleSpeedFLU

Velocity of the drone in the visual frame (forward-left-up) [meters /second]

VehicleOrientationFLU

Orientation of the drone in the visual frame (roll, pitch, yaw) [degrees]

VehicleOrientationQuatFLU

Orientation of the drone in the visual frame [quaternion]

CameraPositionFLU

Position of the gimbal in the visual frame (forward-left-up) [meters]

CameraOrientationFLU

Orientation of the gimbal in the visual frame (roll, pitch, yaw) [degrees]

CameraOrientationQuatFLU

Orientation of the gimbal in the visual frame [quaternion]

CalibratedFocalLength

Focal length of the user camera lens [pixels]

CalibratedOpticalCenter

Optical center of the user camera lens [pixels]

DewarpData

Vector of distortion coefficients specific to the camera model used

We can provide the distortion polynomial these correspond to

Images captured in 3D Scan

ScanSkillStateId

UUID of this scan

The polygon prism is a bounding prism that defines the volume being scanned. It is defined by a list of 2D lat/lon points, and a min and max altitude.
PolygonPrismLatitudes

Comma-separated list of polygon vertex latitudes

Example:

"34.711897674098346, 34.711934502374667,

34.711825992904018"

PolygonPrismLongitudes

Comma-separated list of polygon vertex longitudes

Example:

"-86.654600276271509,-86.654718602075093,

-86.654606026734086"

PolygonPrismMinAltitude

Minimum altitude of the polygon prism

PolygonPrismMaxAltitude

Maximum altitude of the polygon prism

The GPS position of the linearization point used as an ENU Euclidean frame for poses:

  • GpsLinearizationPointLatitude
  • GpsLinearizationPointLongitude
  • GpsLinearizationPointAltitude
Position and orientation (RDF) of the gimbal in the linearized GPS frame. These poses are the most accurate photo poses as determined by 3D Scan
  • GpsFrameCameraPosition
  • GpsFrameCameraOrientationQuat

[/accordion]

Explore More

Explore related articles for additional information:

How to create 3D reconstructions

What Is Camera Calibration? by MathWorks

 

Skydio, Inc. A0088

Was this article helpful?