This repository contains the implementation of the paper:
Calibration Wizard: A Guidance System for Camera Calibration Based on Modelling Geometric and Corner Uncertainty
Songyou Peng and Peter Sturm
ICCV 2019 (Oral)
If you find our code or paper useful, please consider citing
@inproceedings{peng2019iccv,
author = {Songyou Peng and Peter Sturm},
title = {Calibration Wizard: A Guidance System for Camera Calibration Based on Modelling Geometric and Corner Uncertainty},
booktitle = {IEEE International Conference on Computer Vision (ICCV)},
year = {2019},
}
- CMake
- OpenCV
- MATLAB
git clone https://github.com/pengsongyou/CalibrationWizard
cd CalibrationWizard
mkdir build
cd build
cmake ..
make
Tested working on Mac OSX, OpenCV 2.4.11 and MATLAB R2015b.
- First step: run binary
./bin/CalibrationWizard
and choosemode=0
to capture images freely for initial calibration. Pressspace
to capture one image. After capturing, pressESC
and the calibration is automatically done. - Second step: run
src_matlab/main_estimate.m
to estimate the next best pose. - Third step: run binary
./bin/CalibrationWizard
again and choosemode=1
. The estimated next pose should be displayed. You can try to overlay the checkerboard with the new pose, and pressspace
to capture the image.
Loop over the second and third step until you are satisfied, or tired :)
mode=0
captures images for initial camera calibrationmode=1
shows the next best pose for capturing
In addition, we provide mode=2
if you only want to perform calibration on all the captured images listed in out/images/image_list.xml
.
- Release codes of the unified system in C++ which integrates the next best pose estimation.
Sometimes the next pose is extreme so the checkerboard cannot be detected. Please consider:
- Check if the values in the uncertainty map are low. If yes, then the calibration has more or less converged.
- Consider autocorrelation matrix, simply set
autoCorr_flag=1
insrc_matlab/main_estimate.m
. - Re-run
src_matlab/main_estimate.m
.
calibrationwizard's People
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.