张正友相机标定-笔记

张正友相机标定论文笔记

精读张正友论文之后把主要步骤概括为:
Print a pattern 并把它attach 到一个平面上,通常这个pattern是个棋盘图
从不同角度对平面拍照,可以变换棋盘的位置,也可以变换棋盘的位置。
检测Image中的特征点
求解利用三维坐标和四组图像坐标,求解单应性矩阵,并根据矩阵分解理论求解外部参数与内部参数。
求解distort的系数
利用系数修正迭代模型,不断修改初始求出的内部参数和外部参数。

求单应性矩阵

 
   
   
   
   
  • 1

目前正在实现求解单应性矩阵。因为求特征点是后边考虑的内容,因此简化模型,特征点是自己选取的角点,之后深入学习了特征提取方面的知识后,回来修改这里的程序。

张的模型是对拍摄的平面做恢复,修改上一节提出的坐标变换公式

pm=(KRT|KRTC)(M1)pm=(KRT|−KRTC)(M1)

写成具体的坐标形式为

p⎛⎝⎜uv1⎞⎠⎟=K[r1,r2,r3,t]⎛⎝⎜⎜⎜XYZ1⎞⎠⎟⎟⎟p(uv1)=K[r1,r2,r3,t](XYZ1)

利用四个对应点可以求出H,已经通过编程实现求单应性矩阵(12月4日修改)。

解决相机标定问题

 
   
   
   
   
  • 1

相机标定问题是为了求解相机的内外参数我们设内参数矩阵为AA
其中
这里写图片描述

由于B是hermitian的,所以需要求解B中上(下)对角的六个元素。利用H矩阵的定义:
这里写图片描述
把求B的六个元素化简成等价的线性方程组
这里写图片描述
其中:
这里写图片描述
找出图像与三维平面之间任意三个以上的对应点就可以求解出B的六个参数,如果只有两个对应点则需要假设内参矩阵A中的c为0。求解出H与A之后,利用以下公式可以找出外部参数中的旋转矩阵与平移向量:

这里写图片描述
再利用以下公式可以求出内部参数:
这里写图片描述
求解出的相机参数(外部+内部)只是初始值,仍有很大的误差,我们需要把distort考虑进去,然后使用求最优化的方法反复迭代求解出误差最小的参数。具体步骤如下:

考虑radial distortion为多项式模型,即与半径r有关,令 (u,v)(u,v) 为标准化的坐标:利用两个坐标的变换公式
这里写图片描述

得到distortion模型
这里写图片描述
为了估计多项式中的两个参数
这里写图片描述
需要求解以上线性方程组,上式中的系数矩阵都是已知的,很容易得到两个参数

注意考虑到distortion之后要直接把原来坐标经过distortion变换即
这里写图片描述

最后就是求解一个非线性最优化模型
这里写图片描述

其中 是空间中的点M投影到图像上,同时考虑扭曲(也就是DK[R|t]MDK[R|t]M)使用LM算法可以求出最优解。


Zhang Z. Flexible camera calibration by viewing a plane from unknown orientations[C]// IEEE International Conference on Computer Vision. IEEE, 1999:666.

你可能感兴趣的:(张正友相机标定)