论文部分内容阅读
完成一个完整的三维重建过程,需要三个步骤:相机镜头标定,图像匹配技术,三维建模过程。相机标定作为第一步,标定精度与速度直接影响着后续工作。由于传统的相机标定算法存在解算精度低、算法结构复杂、程序实现困难、标定场地受限等问题,本文主要对传统的DLT算法进行改进,通过MATLAB编程实现,在3D和2D场地下分别实现了一种既快速又准确的新标定方法。具体工作如下: (1)改进了传统的3D DLT算法,改进后的算法不需预先设定初值。采用迭代线性化的方法在自行建立的场地下对非量测数码相机(本文选用佳能eos60D数码相机)进行标定,与同条件下的TASI非线性算法得到的标定系数进行对比。 本文改进的3D DLT算法在程序运行速度上,可以达到百分之一秒的数量级,比采用非线性的TSAI算法解算速率快了30倍左右;在求解精度上,改进的3D DLT算法的残差值可以控制在2个像素内波动,而非线性的TSAI算法精度则要低于本文所改进的3D DLT算法。 (2)当Z取某一常数时,对改进后的3D DLT算法再进行变换,提出了一种新的2D平面标定算法,这种改进的2D DLT算法也是采用迭代线性化的方程进行程序实现,建立简易的标定场地,对非量测数码相机(本文选用尼康D3100数码相机)标定,与同条件下的张正友平面法进行对比。 本文提出的2D DLT算法在计算速度上要快于张正友平面法,经检验速度快了30倍左右;改进的2D DLT算法在计算结果精度方面,回代后计算的坐标残差像素都在2以内,精度高于同一组数据下的张正友平面标定法。 综上,本文的算法对一种非量测数码相机能够准确快速的实现镜头标定,被标定之后的数码相机无论是应用于近景摄影测量还是大角度的无人机倾斜摄影都具有一定的参考意义。