标定学习笔记(八)-- 基于单幅图像的完全标定

        本文的内容归纳了李竹良,赵宇明于2013年发表的期刊文章《基于单幅图片的相机完全标定》中的相关处理思想,仅做记录与分享。


1  相机标定模型与方法

1.1  相机模型

        相机的投影模型可以用下式描述:

P=s \cdot K \cdot R \cdot T

        其中,P 表示一个 3X4 的投影矩阵;R 是相机的外参旋转矩阵,T 是相机的外参位移矩阵;K 表示相机的内参矩阵,由相机本身的属性确定;s 为非零尺度因子。

        一般相机的内参矩阵 K 可以表示为如下一个 3X3 矩阵:

K = \begin{pmatrix} f_x & 0 & u \\ 0 & f_{y} & v \\ 0 &0 &1 \end{pmatrix}

        其中,f_x 和 f_y 为相机在 x 和 y 方向上的焦距;u 和 v 是光心的坐标,需要标定的内参矩阵 K 拥有 4 个自由度。在某些情况下可以对 K 进一步进行简化,可以假设相机的 f_x = f_y,将待求 K 的自由度降至 3 。

1.2  镜头畸变模型

        可以将理想成像点记作 (u_p,v_p) ,而经过镜头畸变的点记作 (u_d,v_d) ,两者之间存在如下的关系:

\left\{\begin{matrix} u_p=u_d-\delta_u \\ v_p = v_d-\delta_v \end{matrix}\right.

        其中:

\left\{\begin{matrix} \delta_u = \Delta u_d \cdot(k_1 \cdot r_d^2 + k_2 \cdot r_d^4 + ...)+p_1 \cdot (3 \Delta u_d^2+\Delta v_d^2)+2p_2 \cdot \Delta u_d \cdot \Delta v_d +s_1 \cdot r_d^2 \\ \delta_v = \Delta v_d \cdot(k_1 \cdot r_d^2 + k_2 \cdot r_d^4 + ...)+p_2 \cdot (3 \Delta v_d^2+\Delta u_d^2)+2p_1 \cdot \Delta u_d \cdot \Delta v_d +s_2 \cdot r_d^2 \end{matrix}\right.

        将光心记作 (u_0,v_0) ,其中:

\left\{\begin{matrix} \Delta u_d = u_d - u_0 \\ \Delta v_d = v_d - v_0 \\ r_d^2 = \Delta u_d^2+\Delta v_d^2 \end{matrix}\right.

        其中的系数 k_i 表示镜头的径向畸变,p_i 表示镜头的切向畸变,s_i 表示棱镜畸变,由这三者结合得到的镜头即便模型已经很好地概括了相机可能存在的畸变。通常高于两阶的系数由于其微小影响可以忽略,棱镜畸变一半也较小,可以忽略。

1.3  绝对二次曲线与消失点

        消失点是图像上平行线的交汇点,基于针孔相机的透视模型,空间中不与想平面平行的平行线簇,经投影后,将交汇于一点,即消失点。也成为灭点。

        利用消失点求解相机内参主要是利用了空间绝对二次曲线的性质,若将空间绝对二次曲线用矩阵 C 表示,对于任意 C 上的点向量 x 有:

x^TCx=0

        x 和 C 可以确定一条直线 l=Cx,此直线称为 x 关于二次曲线 C 的极线,若 w 是 C 在成像平面上的投影矩阵,相机内参和 w 之间关系如下:

w = s \cdot K^TK

        由上式可知,若有足够多的消失点约束,则可以直接线性求解相机内参。

2  一种单张图像标定的思路

        首先,需要声明该标定方法适用于圆点阵列标定板来进行辅助标定。

        从摄像机获得的标定模板图像上,获取得到每个圆点的中心坐标。对提取出的点进行网格重建后,求解镜头畸变。

标定学习笔记(八)-- 基于单幅图像的完全标定_第1张图片

        求解得到的镜头畸变参数,可以对获得的图像点阵进行矫正。并且,从镜头的畸变系数中,可以获得相机的光心坐标,这样内参矩阵 K 就仅剩下一个自由度。可以利用之后获得的一个消失点约束来求解 K

标定学习笔记(八)-- 基于单幅图像的完全标定_第2张图片

       镜头畸变矫正之后,通过已经完成矫正的图像上网格,可以方便地获得空间中 2 组正交的平行线在图像上的投影。

标定学习笔记(八)-- 基于单幅图像的完全标定_第3张图片

        从 2 组正交的平行线可以获得 2 个消失点,进而可获得一个消失点约束:

v_1^Twv_2=0

        其中,v_1 和 v_2 即 2 个正交方向的消失点。则可以得到这 2 个消失点与 f 之间的关系如下:

(x_{v_1}-u_0)(x_{v_2}-u_0)+(y_{v_1}-v_0)(y_{v_2}-v_{0})+f^2=0

        通过对上式的求解,即可得到 f 。

你可能感兴趣的:(标定学习笔记,机器视觉学习笔记,计算机视觉)