A detailed description of the annotation position estimation of the annotation location report.
The annotation location report requires several fields for image metadata to compute the estimated annotation positions. In addition, the positions are computed based on a number of assumptions which are described below.
The annotation location report requires the following image metadata fields. Images or volumes where this information is not available will be ignored for the report.
1The image width and height is determined automatically by BIIGLE when a new volume is created. It may take a few minutes for all images to be processed.
The estimated annotation positions are calculated based on the following assumptions. Please bear in mind that these assumptions are never 100% met in a real environment and therefore the annotation positions are just estimates.
The annotation position estimation is performed in multiple steps:
The annotation position relative to the image center is calculated (annotation offset) and then rotated according to the yaw around the image center.
The annotation offset in pixels is transformed to the offset in meters. For this, the assumptions about the camera opening angle and orientation are used. If the opening angle is 90° and the camera points straight down, the width of the image content can be assumed to be twice the distance of the camera to the sea floor (as the camera viewport is a right-angled triangle). The image width in meters determines the width of a single pixel (which is assumed to be a square) in meters, which in turn is used to transform the annotation offset to meters.
The final annotation position on the world map is determined by shifting the image center latitude/longitude coordinates by the previously calculated offset of the annotation in meters. The coordinate shift is calculated using the following simplified flat earth calculation in pseudo code (reference):
// Position, decimal degrees. lat lon // Offsets in meters (north, east). dn de // Earth's radius, sphere. R = 6378137 // Coordinate offsets in radians. dLat = dn / R dLon = de / (R * COS( PI * lat / 180 )) // Offset position, decimal degrees. latO = lat + dLat * 180 / PI lonO = lon + dLon * 180 / PI
If the previously mentioned assumptions are met, the displacement error introduced by this calculation should be quite small, as the offset from the image center position should be very small as well.
Filtering of an annotation location report is done in the same way than filtering of an image annotation image location report. However, the annotation location report contains a different and fixed set of properties for each annotation. The most important properties are probably "_label_name" and "_label_id", which allow you to filter the annotation positions based on the label that is attached to the annotation. For example, a query to show only positions of annotations that have the "Sponge" label attached may look like this:
"_label_name" = 'Sponge'
Please note the different use of
"" to enclose a field identifier and
'' to enclose a fixed string.