Components
A component is an atomic sensing unit (for instance, a camera) that can output zero or more streams of observations. The observations that it produces inform its type.
Common Features
Every component contains some common fields. These are primarily used for identification within the Plex.
Field | Type | Description |
---|---|---|
UUID | Uuid | A universally unique identifier for the component. |
Name | String | A name to reference the component. These must be unique, and MetriCal will treat them as the "topic" name to match within the provided dataset. |
Component Kinds
Camera
Cameras are a fundamental visual component. In addition to the common fields that every component contains, they are defined by the following types:
Field | Type | Description |
---|---|---|
Intrinsics | A camera intrinsics object | Intrinsic parameters that describe the camera model. |
Covariance | Matrix of floats | An n×n covariance matrix describing the variance-covariance of intrinsic parameters. |
Pixel pitch | float | The metric size of a pixel in real space. If unknown, should be equal to 1.0. |
It is common practice to leave most observations and arithmetic in units of pixels when dealing with image data. However, this practice can get confusing when trying to compare two different camera types, as "1 pixel" may not equate to the same metric error between cameras. Pixel pitch allows us to compare cameras using a common unit, i.e. units-per-pixel.
Note that we leave the unit ambiguous here, as this field is primarily for making analysis easier on human eyes. Common units include microns-per-pixel (μm / pixel) and meters-per-pixel (m / pixel).
Intrinsic Modeling
"Intrinsics" can refer to different models depending on the lens type. MetriCal provides the following intrinsics models for cameras:
Model Name | Description |
---|---|
"no_distortion" | No distortion model applied, i.e. an ideal pinhole model |
"opencv_radtan" | OpenCV RadTan |
"opencv_fisheye" | OpenCV Fisheye |
"opencv_rational" | OpenCV Rational, an extension of OpenCV RadTan with radial terms in the denominator |
"pinhole_with_brown_conrady" | Inverse Brown-Conrady, with correction in image space |
"pinhole_with_kannala_brandt" | Inverse Kannala-Brandt, with correction in image space |
"eucm" | Enhanced Unified Camera Model, i.e. EUCM |
"double_sphere" | Double Sphere |
"omni" | Omnidirectional |
"power_law" | Power Law |
One might choose each of these models based on their application, or dependent upon what software they wish to be compatible with. In many cases, the choice of model may not matter as much as the data capture process.
If you're having trouble deciding which model will fit your system best, contact us and we can help you understand the differences that will matter to you!
LiDAR
MetriCal's categorization of LiDAR comprises a variety of similar yet slightly-different sensors. Some examples could be:
- A Velodyne VLP-16 scanner
- An Ouster OS2 scanner
- A Livox HAP scanner
- etc.
All of the above LiDAR can be represented as LiDAR components within MetriCal.
Intrinsic Modeling
There is no intrinsics model for LiDAR in MetriCal. Hence, the only model available is:
Model Name | Description |
---|---|
"lidar" | Extrinsics calibration of lidar to other modalities. |
IMU
Inertial Measurement Units (IMU) measure specific-force (akin to acceleration) and rotational velocity. This is done through a combination of accelerometer and gyroscopic sensors. IMUs in MetriCal are a combined form of component as MEMS IMUs are rarely able to atomically and physically separate the accelerometer and gyroscope measurements.
Like other component types, aside from the common fields that every component contains, IMUs are defined by the following types:
Field | Type | Description |
---|---|---|
Bias | An IMU bias | IMU bias parameters |
Intrinsics | An IMU intrinsics object | IMU intrinsics model |
Noise Parameters | An IMU noise parameters object | Noise parameters |
Bias Covariance | A matrix of floats | A 6×6 covariance matrix describing the variance-covariance of the IMU bias parameters. |
Intrinsic Covariance | A matrix of floats | A n×n covariance matrix describing the variance-covariance of the IMU intrinsic parameters, with the value of n dependent on the intrinsics model used. |
Intrinsic Modeling
The following models are provided as part of MetriCal:
Model Name | Description |
---|---|
"scale" | Scale model |
"scale_shear" | Scale and shear model |
"scale_shear_rotation" | Scale, shear and rotation model |
"scale_shear_rotation_g_sensitivity" | Scale, shear, rotation and g-sensitivity model |