RiccardoGiubilato-Test_BA-d806a76
所属分类:matlab编程
开发工具:matlab
文件大小:6KB
下载次数:4
上传日期:2019-07-09 16:28:19
上 传 者:
mjantoun
说明: bundle adjustment optimization
文件列表:
RiccardoGiubilato-Test_BA-d806a76 (0, 2017-05-02)
RiccardoGiubilato-Test_BA-d806a76\fun (0, 2017-05-02)
RiccardoGiubilato-Test_BA-d806a76\fun\bundleAdj.m (3216, 2017-05-02)
RiccardoGiubilato-Test_BA-d806a76\fun\eul2rotm.m (410, 2017-05-02)
RiccardoGiubilato-Test_BA-d806a76\fun\pointIsVisible.m (752, 2017-05-02)
RiccardoGiubilato-Test_BA-d806a76\fun\proj.m (762, 2017-05-02)
RiccardoGiubilato-Test_BA-d806a76\fun\reproj.m (526, 2017-05-02)
RiccardoGiubilato-Test_BA-d806a76\fun\rotm2eul.m (163, 2017-05-02)
RiccardoGiubilato-Test_BA-d806a76\test_BA.m (4587, 2017-05-02)
### Bundle Adjustment problem in MATLAB.
This code implements Bundle Adjustment using the Matlab function "lsqnonlin".
##### Description
In the main file a set of points and cameras are randomly generated being the
points distributed on a plane and the cameras moving parallel to the plane.
2d image projections are computed per each point and camera observing that point
using the true locations. After this step, Gaussian noise is added to the 3D coordinates
of the points (x y z) and the 6D coordinates of the cameras (x y z phi theta psi).
Then an optimization problem is formulated by defining a cost function using the
reprojection error of the 3D points to the camera image planes.
Both Levenberg-Marquardt and Trust-Region-Reflective Least Squares are used. If it
is specified to use the second algorithm, a matrix representing the Jacobian sparsity
pattern is built to achieve a significant speedup of the optimization.
This code is written just to show the nature of a Bundle Adjustment problem and how it
can be implemented. It meant to be used for academic purposes.
##### Usage
Just run the main script. To change the geometry of the cameras or the geometry of the
point cloud just edit the main script under the part _Pose and Point Cloud Generation_.
##### Compatibility
Written and tested on Matlab 2016a
##### Notes
If you find this code useful and you want to check my recent publications, please visit my
ResearchGate page at this [link](https://www.researchgate.net/profile/Riccardo_Giubilato).
If you have any questions, my email address is riccardo.giubilato@gmail.com
近期下载者:
相关文件:
收藏者: