Glossary of SLAM Terms: A-K
Guest blog by MHI member Slamcore
This glossary of Simultaneous Localization and Mapping (SLAM) related terms is intended to help demystify some of the language that is commonly used, and explain the concepts in a simplified way to a newcomer. (It is assumed that the reader has at least a basic understanding of linear algebra and statistics, though explanations try to be accessible even without this knowledge.). This blog covers terms A-K; a second blog, which will cover terms L-Z, will be published on October 21.
Note: SLAM in this glossary context is different from the MHI Industry Group SLAM, whose acronym stands for Scan, Label, Apply, Manifest.
Bag-of-Words (BoW)
A method for building a frequency distribution of words in a document. The resulting distribution can be used to classify the document, usually based on what the most common words are.
Although originally designed for readable text documents, the concept of a “word” and a “document” can be translated to other domains. In computer vision, an image may be treated as a document, and descriptors of the features found in the image may be treated as words. The bag-of-words approach may then be used as a way to identify images whose features have similar distributions.
Bundle (Geometry)
A group of geometric items which share a common property, eg. passing through the same point.
Bundle Adjustment
The process of refining estimates of where 3D points lie in the surrounding environment. Estimates of the camera’s movement and optical distortion may also be refined as part of the process. “Bundle” in this name refers to geometric bundles of light rays, whose common property is that they pass through the optical centre of the camera.
In principle, a sensor such as a stereo camera can allow a program to estimate the 3D location of a feature that has been identified. However, if more information is available (for example, many stereo images of the feature, taken from different viewpoints), this information can be combined to improve the accuracy of the estimate.
Given a 3D estimate of a feature’s location, and a mathematical model of the camera, the accuracy of the estimate can be measured by projecting the 3D point back onto the camera’s mathematical image plane. The co-ordinates of this point on the plane are compared to the co-ordinates of the actual feature in the original image. The more accurate the 3D estimate, the smaller the distance on the plane between its projected point and the image feature point. This distance is known as the reprojection error.
Bundle adjustment attempts to minimise the reprojection error for every image feature, across all images in which they are seen. This equates to solving a least squares optimisation problem, where the 3D locations of the points, along with the camera parameters, are refined to minimise the total reprojection error across all the points.
Calibration (Of Camera)
The process of collecting sensor data from a camera, and establishing a mathematical model of the properties of that camera.
The collected data includes image data, and possibly also IMU data if an IMU is built into the camera. The resulting mathematical model of the camera can include both intrinsic and extrinsic parameters. Applications such as Kalibr can determine these parameters given a carefully captured video sequence.
Note that the strict definition of “calibration” means only to compare measurements of a device against a known reference. However, the common usage of the word often includes the process of correcting the device’s measurement error. The computed intrinsics and extrinsics can be used for this purpose.
Computing the camera intrinsics is closely related to the process of camera resectioning.
Covariance
A measure of the joint variability of two random variables. This means that if the covariance is positive, greater values in one of the variables are correlated with greater values in the other. If the covariance is negative, greater values in one of the variables are correlated with lesser values in the other. A covariance of around zero implies no correlation between the values of the variables.
The correlation coefficient also exists, which is essentially a normalised form of the covariance. This is 1 if there is a perfect positive linear correlation between the two variables, and -1 if there is a perfect negative linear correlation.
Degrees of Freedom (DoF)
The number of parameters in which a system may vary independently.
In Slamcore, the SLAM agent is often described as having six degrees of freedom – these are translation in X, Y and Z, and rotation around X, Y and Z.
Descriptor (Of Feature)
An encoding of information about an image feature.
Descriptors can be used to refer to features identified in images. This is essential for processes such as image registration, where features are used to identify common objects across different images. A descriptor is generated for each feature, and descriptors that are sufficiently similar across the different images are likely to identify the same object.
Drift (Of Trajectory)
The error in the localisation of the SLAM agent with respect to its environment, when accumulated over time.
A SLAM agent will almost always have uncertainty inherent in its movement commands (as well as in its sensing of its surrounding environment). As the agent continues to move through the environment, this causes the error between its estimated position and its actual position to compound. As a consequence, the accuracy of the agent’s estimated location appears to get worse the longer it runs for.
This drift can be corrected by detecting loop closures. A loop closure helps the SLAM agent re-localise itself against an area it has already seen in the past, which provides an “anchoring” effect. The process of pose graph optimisation propagates this correction to the agent’s entire trajectory.
Extrinsics (Parameters Of Camera)
The parameters of a camera that relate to its position and orientation in its environment. These are usually separated from the intrinsic parameters.
Feature (Of Image)
A part of an image that is considered interesting or useful. In SLAM, image features often refer to visual structures that are distinctive. These features have a good likelihood of being identified consistently and unambiguously, and therefore can be matched between different images.
Fiducial (Marker)
A marker that serves as a visual point of reference in an environment. Fiducial markers can act as visual anchors for location, orientation and scale, and can also distinguish between different locations in an environment if each marker is uniquely identifiable.
At Slamcore, the SLAM system uses fiducial markers to provide the SLAM agent with known points of reference about its environment. This can aid loop closures, as if a fiducial is detected, the agent can be highly confident of its location in the environment.
Frame (Image)
A visual sensor reading, as opposed to data that comes from an IMU or a wheel encoder.
Slamcore often equates frames and poses, since visual data is required for the Slamcore system to take a meaningful observation of its environment, and therefore to produce a pose.
Frame is an overloaded term! See also: Frame (Of Reference) and Frame (Iteration)
Frame (Of Reference)
A particular co-ordinate system in the physical world. Can be used interchangeably with “reference frame”.
Co-ordinates exist with respect to a frame of reference, and can be transformed between different frames of reference. Some common frames of reference used by Slamcore are:
- World: Co-ordinates in the map of the environment
- Fiducial-world: Co-ordinates with respect to the placed fiducials
- Sensor: Co-ordinates with respect to a particular sensor, eg. a camera
Frame is an overloaded term! See also: Frame (Image) and Frame (Iteration).
Hessian (Matrix)
A matrix of a function’s second-order partial derivatives. The function must take one or more input variables, and output a single variable.
In (relative) layman’s terms, each cell in the matrix describes the curvature of the function with respect to some of its variables. For the details of the underlying mathematics, see the Wikipedia page’s definition of a Hessian matrix.
Hessian matrices are often used to determine the maxima and minima of a function .
Inertial Measurement Unit (IMU)
A sensor which reports measurements of forces acting upon it. IMUs often include an accelerometer to measure 3D accelerations, and a gyroscope to measure 3D rotations. Some IMUs also use magnetometers to measure magnetic fields, eg. to determine the direction of magnetic north.
In a robot, an IMU can be used to infer the robot’s orientation via the gyroscope, or to infer its acceleration or deceleration via the accelerometer. The latter can also be used to estimate the robot’s velocity, though this can be unreliable as it requires integrating the measurements of acceleration over time, leading to accumulation of error.
Intrinsics (Parameters Of Camera)
The parameters of a camera that relate to how the camera captures images. These include aspects like the focal length, the aperture, and the lens distortion. These are usually separated from the extrinsic parameters.
Jacobian (Matrix)
A matrix of a function’s first-order partial derivatives.
In (relative) layman’s terms, each cell in the matrix describes the gradient of part of the function, with respect to one of the function’s input variables. For the details of the underlying mathematics, see the Wikipedia page’s definition of a Jacobian matrix.This page contains more information about when and how a Jacobian matrix may be useful in machine learning.
