Both sides previous revision
Previous revision
Next revision
|
Previous revision
|
research:vslam:double-sphere [2018/08/20 17:18] usenko |
research:vslam:double-sphere [2021/07/07 10:43] (current) Nikolaus Demmel |
<keywords>double-sphere</keywords> | <keywords>double-sphere</keywords> |
</bibtex> | </bibtex> |
| |
| ==== Open-Source Calibration Tool ==== |
| |
| |
| {{:research:vslam:basalt:teaser.png?600|}} |
| |
| The open-source code for calibration is available here: |
| |
| https://gitlab.com/VladyslavUsenko/basalt. |
| |
| (GitHub mirror: https://github.com/VladyslavUsenko/basalt-mirror) |
| |
| Follow the corresponding [[https://gitlab.com/VladyslavUsenko/basalt/blob/master/doc/Calibration.md|tutorial]] to see the examples on Euroc, TUM-VI and UZH dataset calibration sequences. |
| |
| |
==== Datasets and Calibration Results ==== | ==== Datasets and Calibration Results ==== |
<tr> | <tr> |
<td>BF2M2020S23</td> | <td>BF2M2020S23</td> |
<td> <a href="http://vision.in.tum.de/double-sphere/dataset1/BF2M2020S23-1.bag" > BF2M2020S23-1.bag </a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/dataset1/BF2M2020S23-1.bag" download> BF2M2020S23-1.bag </a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/results/results-BF2M2020S23-1.zip" > results</a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/results/results-BF2M2020S23-1.zip" download> results</a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/dataset1/BF2M2020S23-2.bag" > BF2M2020S23-2.bag </a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/dataset1/BF2M2020S23-2.bag" download> BF2M2020S23-2.bag </a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/results/results-BF2M2020S23-2.zip" > results</a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/results/results-BF2M2020S23-2.zip" download> results</a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/dataset1/BF2M2020S23-3.bag" > BF2M2020S23-3.bag </a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/dataset1/BF2M2020S23-3.bag" download> BF2M2020S23-3.bag </a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/results/results-BF2M2020S23-3.zip" > results</a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/results/results-BF2M2020S23-3.zip" download> results</a></td> |
</tr> | </tr> |
| |
<tr> | <tr> |
<td>BF5M13720</td> | <td>BF5M13720</td> |
<td> <a href="http://vision.in.tum.de/double-sphere/dataset1/BF5M13720-1.bag" > BF5M13720-1.bag </a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/dataset1/BF5M13720-1.bag" download> BF5M13720-1.bag </a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/results/results-BF5M13720-1.zip" > results</a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/results/results-BF5M13720-1.zip" download> results</a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/dataset1/BF5M13720-2.bag" > BF5M13720-2.bag </a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/dataset1/BF5M13720-2.bag" download> BF5M13720-2.bag </a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/results/results-BF5M13720-2.zip" > results</a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/results/results-BF5M13720-2.zip" download> results</a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/dataset1/BF5M13720-3.bag" > BF5M13720-3.bag </a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/dataset1/BF5M13720-3.bag" download> BF5M13720-3.bag </a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/results/results-BF5M13720-3.zip" > results</a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/results/results-BF5M13720-3.zip" download> results</a></td> |
</tr> | </tr> |
| |
<tr> | <tr> |
<td>BM4018S118</td> | <td>BM4018S118</td> |
<td> <a href="http://vision.in.tum.de/double-sphere/dataset1/BM4018S118-1.bag" > BM4018S118-1.bag </a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/dataset1/BM4018S118-1.bag" download> BM4018S118-1.bag </a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/results/results-BM4018S118-1.zip" > results</a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/results/results-BM4018S118-1.zip" download> results</a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/dataset1/BM4018S118-2.bag" > BM4018S118-2.bag </a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/dataset1/BM4018S118-2.bag" download> BM4018S118-2.bag </a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/results/results-BM4018S118-2.zip" > results</a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/results/results-BM4018S118-2.zip" download> results</a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/dataset1/BM4018S118-3.bag" > BM4018S118-3.bag </a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/dataset1/BM4018S118-3.bag" download> BM4018S118-3.bag </a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/results/results-BM4018S118-3.zip" > results</a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/results/results-BM4018S118-3.zip" download> results</a></td> |
</tr> | </tr> |
| |
<tr> | <tr> |
<td>BM2820</td> | <td>BM2820</td> |
<td> <a href="http://vision.in.tum.de/double-sphere/dataset1/BM2820-1.bag" > BM2820-1.bag </a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/dataset1/BM2820-1.bag" download> BM2820-1.bag </a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/results/results-BM2820-1.zip" > results</a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/results/results-BM2820-1.zip" download> results</a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/dataset1/BM2820-2.bag" > BM2820-2.bag </a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/dataset1/BM2820-2.bag" download> BM2820-2.bag </a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/results/results-BM2820-2.zip" > results</a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/results/results-BM2820-2.zip" download> results</a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/dataset1/BM2820-3.bag" > BM2820-3.bag </a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/dataset1/BM2820-3.bag" download> BM2820-3.bag </a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/results/results-BM2820-3.zip" > results</a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/results/results-BM2820-3.zip" download> results</a></td> |
</tr> | </tr> |
| |
<tr> | <tr> |
<td>GOPRO</td> | <td>GOPRO</td> |
<td> <a href="http://vision.in.tum.de/double-sphere/dataset1/GOPRO-1.bag" > GOPRO-1.bag </a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/dataset1/GOPRO-1.bag" download> GOPRO-1.bag </a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/results/results-GOPRO-1.zip" > results</a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/results/results-GOPRO-1.zip" download> results</a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/dataset1/GOPRO-2.bag" > GOPRO-2.bag </a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/dataset1/GOPRO-2.bag" download> GOPRO-2.bag </a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/results/results-GOPRO-2.zip" > results</a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/results/results-GOPRO-2.zip" download> results</a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/dataset1/GOPRO-3.bag" > GOPRO-3.bag </a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/dataset1/GOPRO-3.bag" download> GOPRO-3.bag </a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/results/results-GOPRO-3.zip" > results</a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/results/results-GOPRO-3.zip" download> results</a></td> |
</tr> | </tr> |
| |
<tr> | <tr> |
<td>EUROC</td> | <td>EUROC</td> |
<td> <a href="http://vision.in.tum.de/double-sphere/dataset1/EUROC.bag" > EUROC.bag </a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/dataset1/EUROC.bag" download> EUROC.bag </a></td> |
<td> <a href="http://vision.in.tum.de/double-sphere/results/results-EUROC.zip" > results</a></td> | <td> <a href="https://vision.in.tum.de/double-sphere/results/results-EUROC.zip" download> results</a></td> |
<td> </td> | <td> </td> |
<td> </td> | <td> </td> |
| |
{{:research:vslam:double-sphere:screen_270_double-sphere.jpg?600|}} | {{:research:vslam:double-sphere:screen_270_double-sphere.jpg?600|}} |
| |
| |
| |
==== Kalibr Example ==== | ==== Kalibr Example ==== |
| |
We have contributed the implementation of **Extended Unified Camera Model (EUCM)** and **Double Sphere Camera Model (DS)** to [[https://github.com/ethz-asl/kalibr | Kalibr]]. See [[https://github.com/ethz-asl/kalibr/wiki/supported-models| Supported Camera Models]] and examples below for details. | We have contributed the implementation of **Extended Unified Camera Model (EUCM)** and **Double Sphere Camera Model (DS)** to open-source calibration tool [[https://github.com/ethz-asl/kalibr | Kalibr]]. See [[https://github.com/ethz-asl/kalibr/wiki/supported-models| Supported Camera Models]] and examples below for details. |
| |
{{:research:vslam:double-sphere:kalibr.png?600|}} | {{:research:vslam:double-sphere:kalibr.png?600|}} |
wget https://vision.in.tum.de/_media/data/datasets/visual-inertial-dataset/april_6x6_80x80cm.zip | wget https://vision.in.tum.de/_media/data/datasets/visual-inertial-dataset/april_6x6_80x80cm.zip |
unzip april_6x6_80x80cm.zip | unzip april_6x6_80x80cm.zip |
wget http://vision.in.tum.de/tumvi/calibrated/512_16/dataset-calib-cam1_512_16.bag | wget https://cdn3.vision.in.tum.de/tumvi/calibrated/512_16/dataset-calib-cam1_512_16.bag |
wget http://vision.in.tum.de/tumvi/calibrated/512_16/dataset-calib-imu3_512_16.bag | wget https://cdn3.vision.in.tum.de/tumvi/calibrated/512_16/dataset-calib-imu3_512_16.bag |
| |
cat > imu.yaml <<- EOM | cat > imu.yaml <<- EOM |
unzip april_6x6_80x80cm.zip | unzip april_6x6_80x80cm.zip |
for b in "${BAGS[@]}"; do | for b in "${BAGS[@]}"; do |
wget http://vision.in.tum.de/double-sphere/dataset1/${b}.bag | wget https://cdn3.vision.in.tum.de/double-sphere/dataset1/${b}.bag |
done | done |
| |
</code> | </code> |
| |
**Note:** Kalibr fails to calibrate pinhole-equi on the TUMVI calibration sequence, which might be a limitation of the way this is implemented in Kalibr. First, Kalibr implements Kannala-Brandt (which corresponds to pinhole-equi in Kalibr) as pinhole+distortion, which limits it to below 180 deg, where this lens is around 190 deg FOV. Second, Kalibr does initialization by optimizing with a single image, which may result in divergence when the parameters are not well constrained by a single image. We found with our own calibration tool that the Kanala-Brandt model can fit this lens quite well. | **Note:** Kalibr fails to calibrate pinhole-equi on the TUMVI calibration sequence, which might be a limitation of the model implementation by Kalibr. First, Kalibr implements Kannala-Brandt (which corresponds to pinhole-equi in Kalibr) as pinhole+distortion, which limits it to below field-of-view below 180 deg. The tested lens has 190 deg FOV. Second, Kalibr does initialization by optimizing with a single image, which may result in divergence when the parameters are not well constrained by a single image. We found with our own calibration tool that the Kanala-Brandt model can fit the lens quite well. |
| |