summaryrefslogtreecommitdiff
path: root/libmoped/libs/sba-1.6/README.txt
blob: 6744d799452ec478c5111490e8a74e35634f683a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
    **************************************************************
                                 SBA 
                              version 1.6
                          By Manolis Lourakis

                     Institute of Computer Science
            Foundation for Research and Technology - Hellas
                       Heraklion, Crete, Greece
    **************************************************************


==================== GENERAL ====================
This is sba, a copylefted C/C++ implementation of generic bundle adjustment
based on the sparse Levenberg-Marquardt algorithm. sba can support a wide
range of manifestations/parameterizations of the multiple view reconstruction
problem such as arbitrary projective cameras, partially or fully intrinsically
calibrated cameras, exterior orientation (i.e. pose) estimation from fixed 3D
points, etc. sba can be downloaded from http://www.ics.forth.gr/~lourakis/sba

sba relies on lapack for solving the augmented normal equations arising in the
course of the Levenberg-Marquardt algorithm. if you don't already have lapack,
I suggest getting clapack from http://www.netlib.org/clapack.
Directory demo contains eucsbademo, a working example of using sba for Euclidean
bundle adjustment.

More details regarding sba can be found in ICS/FORTH Technical Report No. 340
entitled "The Design and Implementation of a Generic Sparse Bundle Adjustment
Software Package Based on the Levenberg-Marquardt Algorithm", by M.I.A. Lourakis
and A.A. Argyros (available from http://www.ics.forth.gr/~lourakis/sba)

In case that you use sba in your published work, please include a reference to
the above TR:

@techreport{lourakis04,
    author={M.I.A. Lourakis and A.A. Argyros},
    title={The Design and Implementation of a Generic Sparse Bundle Adjustment Software Package
           Based on the Levenberg-Marquardt Algorithm}
    institution={Institute of Computer Science - FORTH},
    address={Heraklion, Crete, Greece},
    number={340},
    year={2004},
    month={Aug.},
    note={Available from \verb+http://www.ics.forth.gr/~lourakis/sba+}
}

==================== FILES ====================
sba_levmar.c: SBA expert driver routines
sba_levmar_wrap.c: simple wrappers around the routines in sba_levmar.c
sba_lapack.c: LAPACK-based linear system solvers (LU, QR, SVD, Cholesky, Bunch-Kaufman)
sba_crsm.c: CRS sparse matrix manipulation routines
sba_chkjac.c: routines for verifying the correctness of user-supplied jacobians
sba.h: Function prototypes & related data structures
demo/*: Euclidean BA demo; see demo/README.txt for more details
matlab/*: sba MEX-file interface; see matlab/README.txt for more details
utils/*: Various utilities; see utils/README.txt for more details

==================== COMPILING ====================
 - On a Linux/Unix system, typing "make" will build both sba and the demo program.

 - Under Windows and if Visual C is installed & configured for command line use,
   type "nmake /f Makefile.vc" in a cmd window to build sba and the demo program.
   In case of trouble, read the comments on top of Makefile.vc


Send your comments/bug reports to lourakis@ics.forth.gr