/calicam

CaliCam: Calibrated Fisheye Stereo & Mono Camera

Primary LanguageC++

CaliCam: Calibrated Fisheye Stereo & Mono Camera

For more information see https://astar.ai.

Youtube Demo Video.

The following steps have been tested and passed on Ubuntu 16.04.5.

1. Theoretical Background

Fisheye Camera Model: C. Mei and P. Rives, Single View Point Omnidirectional Camera Calibration From Planar Grids, ICRA 2007.

2. OpenCV Installation

2.1 Required Dependencies

sudo apt-get install git cmake build-essential pkg-config libgtk2.0-dev libssl-dev libv4l-dev v4l-utils libjpeg-dev libtiff5-dev libjasper-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libxvidcore-dev libx264-dev libxine2-dev libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libqt4-dev libgtk-3-dev mesa-utils libgl1-mesa-dri libqt4-opengl-dev libatlas-base-dev gfortran libeigen3-dev python2.7-dev python3-dev python-numpy python3-numpy 

2.2 Install OpenCV 3.0 (or Above)

cd
mkdir library
cd library

git clone https://github.com/opencv/opencv_contrib.git
cd opencv_contrib
git checkout tags/3.0.0
cd ..

git clone https://github.com/opencv/opencv.git
cd opencv
git checkout tags/3.0.0
mkdir build
cd build
cmake -DOPENCV_EXTRA_MODULES_PATH=../../opencv_contrib/modules ..
make -j
sudo make install

echo 'export LD_LIBRARY_PATH=LD_LIBRARY_PATH:/lib:/usr/lib:/usr/local/lib' >> ~/.bashrc
source ~/.bashrc

3. Compile

git clone https://github.com/astar-ai/calicam.git
cd calicam
chmod 777 ./compile.sh
./compile.sh

4. Run

./calicam

5. Calibration Parameter File

To run CaliCam in the LIVE mode, you need to download the calibration parameter file from online. Each CaliCam stereo/mono camera has a UNIQUE parameter file. Please download the corresponding parameter file by following the instructions at https://astar.ai/collections/astar-products.

6. Operation

6.1 'Raw Image' window

There are 3 trackbars to adjust the vertical FoV, width, and height for the output image.

6.2 'Disparity Image' window

There are 2 trackbars to adjust the numDisparities and blockSize for OpenCV stereo matching functions.

6.3 Exit

Press 'q' or 'Esc' key to exit.

7. Live Mode

To run CaliCam in a live mode, please change the variable live to true:

bool      live = true;

and run

./calicam YOUR_CALIBRATION_FILE.yml

Note: A*SLAM can run with ANY CaliCam stereo camera under the TRIAL mode.

In TRIAL mode, the map cannot be saved to or loaded from the hard drive.

8. Reference: A Visualized Course of Linear Algebra

Inverse of Matrix

Eigenvector

Singular Vector Decomposition

For more information see http://linear-algebra.org.