Yet Another Calibrator (YAC) is a calibration tool for calibrating RGB cameras. Specifically:
- Camera intrinsics and extrinsics
- Camera-IMU extrinsic
- Mocap-marker to camera extrinsics
Supported projection-distortion models:
- pinhole-radtan4
- pinhole-equi4
# Ubuntu packages
libyaml-cpp-dev
libeigen3-dev
libceres-dev
libopencv-dev
libomp-dev (optional)
# Custom (see deps dir)
Modified apriltags (https://github.com/chutsu/apriltags)
For the lazy :
git clone https://github.com/chutsu/yac
cd yac
make deps
make lib
Or standard approach:
git clone https://github.com/chutsu/yac
cd yac
mkdir -p build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release
make
yac
uses a grid of AprilTags, a.k.a an AprilGrid, as a calibration target.
Click here to download and print the AprilGrid. During data collection make sure the calibration target is as flat as possible.
First inorder to calibrate a camera or camera-IMU we need to create the
calibration configuration file. For example calib_intel_d435i.yaml
configuration file:
calib_target:
target_type: 'aprilgrid' # Target type
tag_rows: 6 # Number of rows
tag_cols: 6 # Number of cols
tag_size: 0.088 # Size of apriltag, edge to edge [m]
tag_spacing: 0.3 # Ratio of space between tags to tagSize
# Example: tag_size=2m, spacing=0.5m
# --> tag_spacing=0.25[-]
cam0:
proj_model: "pinhole"
dist_model: "radtan4"
resolution: [640, 480]
cam1:
proj_model: "pinhole"
dist_model: "radtan4"
resolution: [640, 480]
calib_camera <path to config file> <path to data>
calib_vi <path to config file> <path to data>
MIT