Friday, April 17, 2009


Don't hope other guys will help you to solve your shit problem. You always need do it by yourself.
Don't hope some intelligent man who has a bigger brain will teach you or guide you. The intelligent man never consider to help some people who are not intelligent. If you are intelligent man , why you need other intelligent guys to help you.
In one word, you need build your own house on your hand. If it's beautiful or not depend on how you design it. If it's built fast enough before the rain come depend on how diligent you are.

Thursday, April 16, 2009

Structure from motion

1, After you get essential matrix , you can use SVD to recover rotation and translation matrix. But the translation vector is normalized vector or say unit vector or say up to a scale. The rotation matrix is correct.
2, You can never get this scale factor from images without additional information. If you are using stereo vision, you know the baseline, so you can recover the scale factor by this baseline, then you can get Euclidean coordinate. OTHERWISE you can use some known landmark whose world coordinate is already known.
3, So, what's the structure or motion? Now you should get Euclidean transformation is not only transformation. It's a children of metric transformation which is children of affine transformation. All above transformation are children of projective transformation. From multi-view image, you just can recover to metric transformation with some constraint about the camera model.
4, The different between metric and euclidean is a scale factor. That means metric transformation can change object's size or line's length and rotation , translation. But euclidean is just contain rotation and translation.

It's really difficulty to understand these geometry stuff. But if I feel difficult, so do other guys. Who win depend on who can continue and insist on.

Friday, April 3, 2009

Opencv with Octave

The new opencv SVN version can support octave, BUT not download version.
If you download the source and try to install it which can support octave, you will find it can not find octave.
You need install most new version of octave and swig. For ubuntu , apt-get can find a old version of swig, but that can not support this function.
After install swig and octave.
$./configure --with-swig --with-octave

It will show you it can find octave and swig.
Then do :

Now you will get error like:
"can not find octcvseq.hpp" or "INDEX",etc ..

Now you need find these files from SVN opencv version.
Copy these files to /opencv/interface/swig/octave/
Dont copy all files, just copy what it need, otherwise you will get more errors.

Wednesday, April 1, 2009

Open Source SLAM Software

Author Description Link
Kai Arras
The CAS Robot Navigation Toolbox, a Matlab simulation toolbox for robot localization and mapping.

Tim Bailey Matlab simulators for EKF-SLAM, UKF-SLAM,and FastSLAM 1.0 and 2.0.

Mark Paskin Java library with several SLAM variants, including Kalman filter, information filter, and thin junction tree forms. Includes a Matlab interface.

Andrew Davison Scene, a C++ library for map-building and localisation. Facilitates real-time single camera SLAM.

Jos ́ Neira
e Matlab EKF-SLAM simulator that demonstrates joint compatibility branch-and-bound data association.

Dirk H ̈hnel
a C language grid-based version of FastSLAM.

Various Matlab code from the 2002 SLAM summer school.

Table 2: Online Datasets
Author Description Link
Jose Guivant, Juan Nieto Numerous large-scale outdoor datasets, notably and Eduardo Nebot the popular Victoria Park data.

Chieh-Chih Wang Three large-scale outdoor datasets collected by the Navlab11 testbed.

Radish (The Robotics Many and varied indoor datasets, including large-Data Set Repository) area data from the CSU Stanislaus library, the
Intel Research Lab in Seattle, the Edmonton Con-
vention Centre, and more.

IJRR (The International IJRR maintains a webpage for each article, often Journal of Robotics Research containing data and video of results. A good example is a paper by Bosse et al. [3], which has data from Killian Court at MIT.