Sparse bundle adjustment(sba)即稀疏集束调整,现在广泛应用于计算机视觉领域,基本成为最后优化的标准算法,就是在已经得到的初始摄像机参数和三维点数据的基础针对投影误差进行优化,得到使得均方投影误差最小意义下的Motion和Structure。其算法的核心是利用Levenberg-Marquardt算法,由于视觉中问题的特殊性,造成矩阵稀疏,从而针对此特性进行求解。这篇博客我们对这个函数库进行编译。
下面是我们所需要的库的下载地址:
sba 1.6: http://users.ics.forth.gr/~lourakis/sba/
clapack3:http://www.netlib.org/clapack/CLAPACK3-Windows.zip
lapack是著名的矩阵运算库,是一以Fortran编程语言写就,用于数值计算的函式集。 LAPACK提供了丰富的工具函式,可用于诸如解多元线性方程式、线性系统方程组的最小平方解、计算特征向量、用于计算矩阵QR分解的Householder转换、以及奇异值分解等问题,也是sba库的依赖库,因此编译的时候需要将里面的lib文件添加到sba程序中才能成功的编译。
我们把sba包解压到F盘根目录,可以看到他的主要结构如下图所示