接上一篇:
http://www.cnblogs.com/letben/p/5446074.html#3538201
捆绑调整
(好开心有同学一起来看看这些问题,要不然就是我自己的话,我应该也不会看的吧,所以某种程度上说,他也帮了我呢。。。吼吼吼)
关于捆绑调整,由于摄影设备本身的焦距、光圈等等问题,是容易导致图片集的结果不一致的。【但是原文里面提到的相机参数又包括什么呢? TODO 】那么问题就来了,如果要进行拼接,第一幅图拼接第二幅的时候,会遵从一个标准(比如,以第一幅为标准的亮度,或者是第二幅,或者是两个图片的均值),接下来如果第三幅图片拼接一跟二的结果的时候,又出现了这种标准不一致的问题,要怎么办,照这个情况下去,都拼接完,全景图也还是不能看的。所以。要是能为所有的图像给出一个基准的容器或者模板或者说相框的话,把每一次都要放到模板中的图片进行旋转和焦距长度的初始化以后,【所以相机参数指的是 悬着和焦距么?】最后在使用L-M算法更新。
执行一个调用:关于L-M算法。【大概是工程数学学到的拟合问题,有一个我记得叫龙格库塔?大概是这么个人吧,总之就是利用给的一些离散的点(算了还是不要装逼了,就是 初中数学学到的,在xy轴上随意的几个点,如果他们是(1,2) (3,6)的话就好了,这样必然有一条曲线(这里面是直线)能够描述,如果这个线比较特殊,点也比较多,不能用一条直线,甚至不能用某一条曲线刻画的话,那么一定在误差允许范围内有一条大概能够描述这些点的曲线,说白了,就是用手画一条平滑(当然是不是可以有顿点,拐点,不连续点也未可知)曲线(或者直线或者几次函数)来尽量把所有的点都描起来,如果还是描不起来的话,那就让点距离曲线的距离尽量小,)】
还是不好理解的话,就是因为我们所有相机参数比较离散(分散,且不具有可描述的规律),不能通过以前学的初中甚至高中数学知识来精确算得,这样在大学学到的近似描述可以大概确定一个比较靠谱的点,实际应用也不要求我们找到这样一个曲线,所以只要能定参数就够了,这里采用了Levenberg Marquardt这个算法来确定一个近似最优解。
那这里面的求解最优解,其实可以比如用别的算法,
http://www.cppblog.com/abilitytao/archive/2010/12/10/136058.html
这里面提到了他,是不是用了12步?
【那采用龙格库塔的话算法速度应该还会快吧~~~毕竟龙格库塔四阶趋近的速度?印象中是,这不就是一个算法速度的改进嘛~~~至于效率,,,其实感觉上是杯水车薪,能快个几百纳秒?】
龙格库塔:http://blog.sina.com.cn/s/blog_418394a90101jy26.html
然后是L-M 的具体算法,如果 你有工程数学那本书的话,可以翻翻,就是一些书上内容的叙述。
以及图片到文章的对应。
接下来是 Huber函数
http://blog.csdn.net/u010922186/article/details/41217847
这里在众多的函数中挑选了这个,倒是也没说为什么,就可以试一下别的误差函数收敛一下。看看效果。
然后4.1通过一堆理论的推导,发现可以通过算
来近似计算矩阵转置残差
(虎头蛇尾了。。。)