摄像机自标定

2024-06-21

摄像机自标定(精选五篇)

摄像机自标定 篇1

传统标定方法有一共同的局限性,即需要在摄像机前放一个已知二维或三维物体,称为标定靶标。在标定过程中,利用靶标上的一些点的已知三维世界坐标和它们的图像点坐标,或者是靶标上一些图形的特征参数,来计算摄像机的内外参数。由于此类方法需要有精度很高的靶标,算法复杂而且标定过程费时费力,所以其实际应用受到了很大限制。而自标定方法不需要精确的标定物及其位置信息,直接利用图像坐标中的信息来标定内外参数。

在实际标定中,利用数字图像处理技术得到的图像上的直线、平面参数比图像上点的位置更不易受到图像上噪声的影响,把直线、平面等信息引入视觉模型标定中,能降低噪声影响,提高模型标定的精度。作为射影几何中一个重要特征,消失点[10,11,12]被广泛应用于摄像机自标定,文中应用了一种以正方形作为标定物的自标定方法,利用其在图像平面上形成的消失点之间的约束关系来建立标定方程,从而求解出摄像机的内外参数,再结合双目视觉原理标定双目摄像机的结构参数。该方法算法简单且易于实现,不用解复杂的Kruppa方程就能线性地求解各参数,对标定物要求简单,只需场景中有正方形就可以标定。

1 基本原理

1.1 双目立体视觉数学模型

双目立体视觉是基于视差原理,由多幅图像获取物体三维几何信息的方法。其数学模型为两个摄像机的图像平面和被测物体之间构成一个三角形,如图1所示。

1.2 摄像机参数

以左摄像机为例:假设摄像机的成像模型为针孔成像模型,从三维空间点P=(Xw,Yw,Zw)T到二维图像点Pl=(u,v,1)T的成像关系可描述为

其中,s为一比例因子,fu,fv为图像坐标系上u,v轴上归一化焦距,(u0,v0)为图像坐标系的原点。R,T分别为摄像机坐标系与世界坐标系之间的旋转矩阵和平移矩阵,R是3*3正交单位矩阵;T为三维平移向量,O=(0,0,0)T。即fu,fv,u0,v0构成摄像机的内参数,R,T构成摄像机的外参数。

1.3 双目立体视觉系统结构参数

在双目立体视觉系统中,分别对左右摄像机进行标定后,可以得到左右两个摄像机的内外参数。设得到的左右摄像机的外部参数分别为Rl,Tl与Rr,Tr,则Rl,Tl表示左摄像机与世界坐标系的相对位置,Rr,Tr表示右摄像机与世界坐标系的相对位置。R,T表示左摄像机与右摄像机的相对位置,即左摄像机坐标系与右摄像机坐标系之间的旋转矩阵和平移矩阵,也称系统结构参数。对特征对应点P在视觉系统的左右摄像机的图像坐标进行归一化处理,设获得的理想图像坐标分别是Pl(ul,vl),Pr(ur,vr)。假设它在世界坐标系、左摄像机坐标系和右摄像机坐标系下的非齐次坐标分别为,,,则有

即左右摄像机之间的几何关系为

因此,如果对双目摄像机分别标定,得到Rl,Tl与Rr,Tr,则双目摄像机的相对几何位置即结构参数就可以确定。

2 摄像机自标定

射影几何中,两平行直线相交于无穷远处一点,该点在图像平面上的投影点称为消失点,消失点有一个重要的性质[13]:连接消失点与摄像机光心O的连线与形成该消失点的空间平行线平行。以左摄像机为例,利用消失点标定摄像机方法如下。

2.1 确定消失点

采用文中方法标定相机时,要求场景中有两组正交的平行直线即可。这里以正方形为例给出参数求解过程。

设场景中有正方形模板ABCD,经摄像机拍摄对应于图像平面上为EFGH,O为摄像机的光心,假设EF与GH方向上的消失点为M,利用上述消失点的性质,即OM//AB,EH与FG方向上的消失点为N,ON//BC。如图2所示。

2.2 线性求解内参数

已知OM//AB,ON//BC,又因为AB⊥BC,所以OM⊥ON,得出O位于MN为直径的球上。若已知点M(um,vm),N(un,vn),而光心O(0,0,0)T在球体上,得到关于内参数的约束方程

而,,d X,d Y分别为每个像素在X轴和Y轴上的物理尺寸。所以式(5)中有4个未知数,至少需要4个独立方程才能求解,在不考虑畸变的情况下,拍摄4幅以上不同角度的图像就能线性地求出摄像机的四个内参数。

2.3 坐标系及其转换关系

图3分别示意了世界坐标系、图像坐标系、摄像机坐标系和消失点坐标系及其关系。

世界坐标系Owxwywzw,选择B为世界坐标系原点Ow,BA方向为xw方向,BC方向为yw方向,按右手系规则确定zw。

图像坐标系Ouxuyuzu,Ou为图像坐标系的原点,图像坐标系以像素为单位,图像的u轴为xu方向,图像的v轴为yu方向,光轴z方向为zu方向。

摄像机坐标系Oxcyczc,原点O在摄像机光心,xc轴yc轴分别平行于图像坐标系的xu轴yu轴。光轴z方向为zc方向。

消失点坐标系Oxxyxzx,令光心O为消隐点坐标系的原点,OM方向为xx方向,ON方向为yx方向,按右手系规则确定zx。

消失点坐标系与世界坐标系的转换关系:因为OM//AB,ON//BC,z轴都是按右手系规则确定的,所以消失点坐标系与世界坐标系平行。

2.4 求旋转矩阵R

R是摄像机坐标系与世界坐标系的旋转矩阵,因为世界坐标系与消失点坐标系平行,所以摄像机坐标系与消失点坐标系的旋转矩阵就是摄像机坐标系与世界坐标系的旋转矩阵。

在摄像机坐标系下:已知M点、N点的坐标,内参数也已经求出,所以可以得到

分别对,,归一化后得到,,,即世界坐标系与摄像机坐标系的旋转矩阵为

2.5 求平移矩阵T

设平移矩阵为T=(x,y,z)T,已知世界坐标系原点Ow(0,0,0)在图像平面成像Ow’(uw,vw),代入式(1)得

即如果已知s,世界坐标系与摄像机坐标系的平移向量为

假设已知世界坐标系上另一点及其在图像平面的坐标,就可以得到s的值,这样T就可以求解出来。

3 实验结果

为了验证此方法的有效性,进行了一系列的标定实验。实验室现有的设备是美国SRI International公司生产的型号为STH-MDCS3-VAR的Small Vision System,该双目成像系统的成像器件是两个分辨率大小为640×480的CMOS.,如图4所示。

文中方法采用的模板是正方形模板,场景中有一个正方形就满足实验条件,但为了与上述双目立体视觉系统自带的标定方法进行对比实验,用来拍摄的模板是上述系统标定用的平面棋盘格,用双目摄像机对模板从不同角度进行拍摄,给出其中一组图像对,如图5所示。

以左摄像机拍摄的图像为例,对图像进行预处理后,切割出第四行第五列的正方形,把这个正方形作为文中方法的标定模板。因为这个正方形在图片的中间部分,受到的畸变影响较小,能得到更精确稳定的结果,用harris角点法提取正方形的四个角点,如图6所示。

每次实验拍摄五组以上图片对,利用每四组图像的正方形的四个角点代入文中方法做一次实验,得到五次实验结果,然后取平均值,就是文中方法得到的摄像机标定参数。

文中方法的实验结果与双目立体视觉系统自带的标定方法计算的内参数做比较,结果如表1所示。

对左右两个摄像机进行外参数标定后,得到双目摄像机的结构参数

4 结论

摄像机自标定 篇2

基于模型也就是说目标模型是先验已知的。该算法是从单视图的情况下发展而来的, 在单视图中, 该算法从单视图的模拟特征点集数据和目标模型形状数据, 实现目标三维位姿的线性精确复原。具体地, 首先, 通过对中心化后的模型点集进行SVD分解, 得到其右奇异矩阵信息;然后, 根据单视图深度矢量所在的零空间和目标模型矩阵的零空间之间的关系, 把该右奇异矩阵与单视图模拟特征点集数据组成以单视图深度矢量作为其零空间的联立线性方程组系数矩阵, 该系数矩阵的最小右奇异矢量给出了单视图模拟特征点集的相对深度的最优估计;最后, 计算深度信息的常数因子, 并进而实现了摄像机自标定。为了获得更高的标定精度, 我们整合利用摄像机获取的动目标视频图像中的多帧数据信息, 将单视图算法推广到多视图算法, 提出了本文所阐述的基于模型的多视图线性自标定。

基于基础矩阵的算法是使用八点算法有效地估计相邻两帧视图之间的基础矩阵, 并进而计算相应的极点, 然后通过发掘存在于极点反对称阵的奇异矢量、基础矩阵和摄像机内参数阵三者之间的关系进行摄像机自标定。

1 预备知识

1.1 摄像机内参数阵

在假设摄像机模型为经典的针孔模型, 即摄像机内参数矩阵为:

Κ=[fxsxcfyycΙ] (1)

其中, (xc, yc) 是图像主点, (fx, fy) 是图像水平轴和垂直轴的尺度因子, s是畸变因子, 该矩阵完成以象素计的数字坐标系与以摄像机焦长f计的图像坐标系之间的转换, 即:

Pi, j (d) =KPi, j (2) 式中Pi, j (d) 代表第i帧图像的第j个匹配点的数字像点坐标, Pi, j代表第帧图像的第j个匹配点的模拟像点坐标。假设共有q帧图像, 每帧图像有N个匹配点。

1.2 摄像机成像的透视投影模型

假设摄像机成像服从针孔成像的透视投影模型, 则三维点Xi, j在摄像机坐标系中的坐标Pi, j及数字坐标Pi, j (d) 与其二维像点的模拟齐次坐标mi, j及数字齐次坐标mi, j (d) 服从透视投影公式

Pi, j=zi, jmi, j=zi, jK-1mi, j (d) =K-1Pi, j (d) (3)

其中, 点Xi, j的深度zi, jPi, j的第3分量。

2 基于模型的多视图线性摄像机自标定算法

为了讨论方便, 先讨论单帧的情况, 然后扩展到多帧的情况。

假设, 摄像机历经三维运动 (R, T) , 其中, R为三维旋转阵, T为三维平移矢量, 则三维点从模型位置Pi (0) 到实拍位置Pi经历经如下几何变换:

Ρi=Ρ°i+Ρ=RΡi (0) +Τ=RΡi (0) °+Τ (4)

其中, Τ=RΡ (0) +Τ=ΡΡ°i=RΡi (0) °Ρi (0) =Ρi (0) °+Ρ (0) Ρ=1Νi=1ΝPiΡ (0) =1Νi=1ΝPi (0) , 注意, 本文用上圈表示中心化, 用上横杠表示求平均。

于是, 中心化实拍点集为

Ρ°=[Ρ°1Ρ°Ν]=R[Ρ1 (0) °ΡΝ (0) °]=RΡ (0) ° (5)

对中心化模型数据阵进行奇异值分解 (SVD) 后, 有:

Ρ (0) °=UΡ (0) °[Ρ (0) °0][VΡ (0) °, 1ΤVΡ (0) °, 2Τ]=UΡ (0) °Ρ (0) °VΡ (0) °, 1Τ (6)

使得Ρ (0) °VΡ (0) °, 2=0。这表明, VΡ (0) °, 2是中心化模型数据阵的零空间的正交基, 利用该式和式 (5) 知, VΡ (0) °, 2也是单视图三维形状的中心化矩阵的零空间的正交基, 即:

Ρ°VΡ (0) °, 2=Ρ (Ι-1Ν1Ν1ΝΤ) VΡ (0) , 2°=ΡV˜Ρ (0) °, 2=0 (7)

其中, 1N是个N×1的全1矢量, 并且定义了V˜Ρ (0) °, 2= (Ι-1Ν1Ν1ΝΤ) V˜Ρ (0) °, 2。这建立了单视图形状矩阵的零空间正交基和中心化模型阵的零空间正交基之间的关系。利用它, 可直接开发出摄像机自标定线性算法。

具体地, 列写N× (N-3) 维矩阵V˜Ρ (0) °, 2, 有:

V˜Ρ (0) °, 2=[v1, 1v1, Ν-3vΝ, 1vΝ, Ν-3] (8)

代入式 (7) 并由式 (3) 得:

ΡV˜Ρ (0) °, 2=Κ-1Ρ (d) V˜Ρ (0) °, 2=Κ-1[m1 (d) z1mΝ (d) zΝ][v1 (0) Τv1 (0) Τ]=0 (9)

构造aki (d) =m (d) ivi, k。可把式 (9) 改写成:

用3 (N-3) ×N维矩阵A (d) 的最小右奇异矢量emin在仅相差一常数因子k意义上最优估计N×1维矢量Z, 即Ζ=kΖ^其中, Ζ^=emin

考虑到Ρ (d) =kΡ^ (d) =ΚΡ=Κ (RΡ (0) +Τ) , 对P (d) 数点集取中心化可得

Ρ (d) °=kΡ^ (d) °=kΡ^ (d) (Ι-1Ν1Ν1ΝΤ) =ΚΡ (Ι-1Ν1Ν1ΝΤ) =ΚΡ°=ΚRΡ (0) ° (11)

对中心化模型数据阵进行奇异值分解 (SVD) 后, 由式 (6) 与 (11) 可知

kΡ^ (d) °VΡ (0) °, 1Ρ (0) °-1=ΚRUΡ (0) ° (12)

如果对 (12) 左边进行RQ分解, 即令Ρ^ (d) °VΡ (0) °, 1Ρ (0) °-1=RdecomposeQ (这里为了与三维旋转矩阵R区别, 以Rdecompose表示RQ分解结果) , 则可知kRdecompose=KK=Rdecompose/Rdecompose.33, 完成单视图摄像机内参数自标定。

由式 (11) , 将单帧情况推广到多帧, 可知:

Ρk (d) °=skΡ^k (d) °=ΚΡ°k=ΚrkΡ (0) °=

ΚrkUΡ (0) °Ρ (0) °VΡ (0) , 1°Τ (13)

其中, 下标k表示第k帧数据, k=1, …, q, rk表示第k帧数据对应的三维旋转矩阵, 定义因子sk=tks1, 可知:

s12tk2tr (Ρ^k (d) °Ρ^k (d) °Τ) =s12tr (Ρ^1 (d) °Ρ^1 (d) °Τ) (14)

由 (14) 可推出:

tk=Ρ^1 (d) °F2/Ρ^k (d) °F2=Ρ^1 (d) °F/Ρ^k (d) °F (15)

定义Ρk (d) °´=tkΡ^k (d) °则由 (13) 可知s1Ρk (d) °´=ΚrkΡ (0) °=ΚrkUΡ (0) °Ρ (0) °VΡ (0) , 1°Τ, 于是s1Ρk (d) °´VΡ (0) , 1°Ρ (0) °-1UΡ (0) °Τ=Κrk, Ρ (0) °的伪逆记为 (Ρ (0) °) +=VΡ (0) , 1°Ρ (0) °-1UΡ (0) °Τ, 因此:

s1Ρk (d) °´ (Ρ (0) °) +=Κrk (16)

定义Wk=Ρk (d) °´ (Ρ (0) °) +, 由 (16) 式构造

s1[W1…Wq]=K[r1…rq] (17)

如果对[W1…Wq]进行RQ分解, 即[W1…Wq]=RdecomposeQ, 那么由 (17) 式可得s1RdecomposeQ=Κ[r1rq]=qΚ[r1qrqq]=s1Rdecompose[Q1Qq], 由此使得s1R=qΚ, 即知K=Rdecompose/Rdecompose.33, 至此完成了多视图摄像机自标定。

3 基于基础矩阵的多视图线性摄像机自标定算法

假设从目标模型到第i帧图像历经了三维运动 (Ri, ti) , 其中, Ri为三维旋转矩阵, ti为三维平移矢量, 则三维点Xi, j模型位置Pj (0) 与第帧位置Pi, j满足三维几何变换:

Pi, j=RiPj (0) +ti (18)

这使得相邻两帧之间服从三维几何变换

Pi+1, j=Ri+1, iPij+ti+1, i (19)

其中, Ri+1, i=Ri+1RiΤti+1, i=ti+1-Ri+1, iti分别是从第i帧到第i+1帧的旋转矩阵和平移矢量。

根据式 (18) 和式 (3) , 帧间双视图必须满足外极线约束

m (d) i+1, jTFimij (d) =0 (20)

其中, 极点、单应性矩阵和基础矩阵分别定义为Pi=KTi+1, iHi=KRi+1, iK-1和Fi=p×iHi, 并且p×i用来标记用矢量pi叉乘的反对称矩阵。

依据式 (20) 使用任一八点算法, 例如Hartey的正则化八点算法, 可线性最优地估计每个基础矩阵Fi, 然后取相应的极点Pi的单位矢量Ρ˜i=pipi为基础矩阵Fi的最小左奇异矢量, 但要注意与已标定情况不同, 虽然极点pi可从Fi计算, 但Hi却不能单从Fi计算, 因为前者的秩为3, 后者的秩为2。

易证, p˜i×的SVD表示式为

p˜i×=Uip[Ι00Τ0]VipΤ (21)

其右奇异阵为Vip=[vi1vi2vi3]、左奇异阵为Uip=[vi2-vi1vi3]和vi3=p˜i是其最小左 (和右) 奇异矢量。

从上述关系式易证

[vi2ΤFiΚvi1ΤFiΚ]=[vi1ΤΚRi-vi2ΤΚRi]

, 它使得,

[vi2ΤFiΦFiΤvi2-vi2ΤFiΦFiΤvi1vi1ΤFiΦFiΤvi1]=[vi1ΤΦvi1vi1ΤΦvi2vi2ΤΦvi2]

iφ=0 (22)

其中,

Φ=ΚΚΤ=[φ1φ2φ3φ2φ4φ5φ3φ5φ6]φ=[φ1φ6] (23)

i根据式 (22) 导生。所以矢量φ的最优估计是正半定实对称矩阵i=1qiΤi的最小特征矢量。然后, 从矢量φ依据式 (23) 导生的正定实对称矩阵Φ进行Cholesky分解为Φ=VVT, 其中, V是个上三角阵。最后, 考虑到内参数阵的右下角元素为1, 取内参数阵为Κ=Vv33。至此完成了多视图摄像机自标定。

4 实验

实验参数设置:

仿真程序在每种噪声下运行100次, 取各误差的均值。摄像机内参数阵K的理论值为:

fx=1000, fy=1000, s=0, xc=500, yc=500。

三维点集由N个在 (-10, 10) , (-10, 10) 和 (5, 15) 内随机取值的三维点组成, 由此生成的三维点集组成了模型数据集合。运动组参数设置:

α (i) =π11+π30×[0.001×i2-0.02× (i-1) 2-1]β (i) =π12+π35×[0.001×i2-0.02× (i-1) 2-1]γ (i) =π3+π18×[0.001×i2-0.02× (i-1) 2-1]tx (i) =0.012211+0.337235×[0.001× (i-1) 2-0.02× (i-1) 2]ty (i) =0.140538+0.311721×[0.001× (i-1) 2-0.02× (i-1) 2]tz (i) =0.990000+0.123498×[0.001× (i-1) 2-0.02× (i-1) 2]

噪声参数设置:

噪声分别取均值为0, 方差为0.001、0.002、0.004、0.008、0.016、0.032的Gauss白噪声。因为本仿真试验中, 噪声加在三维点对模拟坐标上, 因此这里的噪声强度不是像素级。本文中的所有仿真试验均以此方法加入噪声。

算法精度用所有估计项目的相对误差衡量。用Κ-Κ^Κ的统计平均值总体度量自标定误差, 其中, K是设定的内参数阵, Κ^是内参数阵的估计, 矩阵范数采用Frobenius范数, 矢量范数采用欧几里得范数。

表1和图1示出了当帧数q=6、点数N=40时的噪声标准离差对精度的影响, 表2和图2示出了当帧数q=6和噪声标准离差σn=0.001时的点数对精度的影响, 表3和图3示出了当点数N=40和噪声标准离差σn=0.001时的点数对精度的影响。

实验表明:

①不论是基于模型的算法还是基于基础矩阵的算法, 噪声越大, 误差就会越大。在同等条件下, 基于基础矩阵的算法性能要优于基于模型的算法性能。在基于模型的算法中, 噪声和误差基本上成线性关系。在基于基础矩阵的算法中, 当噪声小于0.016时, 误差基本上都在0.5%以下, 当噪声大于0.016时, 误差就增加的很快。

②不论是基于模型的算法还是基于基础矩阵的算法, 特征点数越多, 误差就会越小。在同等条件下, 基于基础矩阵的算法性能要优于基于基础矩阵的算法性能。无论是基于模型的算法还是基于基础矩阵的算法, 当特征点数小于20点时, 误差减小的较快, 当特征点数在40和120之间时, 点数和误差基本上成线性关系, 当匹配点数大于80时, 误差减小的较慢, 这表明, 点数一般不小于20, 但是过多的点数也无太大的益处。

③不论是基于模型的算法还是基于基础矩阵的算法, 帧数越多, 误差就会越小。在同等条件下, 基于基于基础矩阵的算法性能要优于基于模型的算法性能。无论是基于模型的算法还是基于基础矩阵的算法, 当帧数小于6时, 随着帧数的增多, 误差减小较快, 当帧数在6和9之间时, 帧数和误差基本上成线性关系, 当帧数大于9时, 误差减小较慢, 这表明, 帧数一般不小于6, 但是过多的帧数也无太大的益处。

6 结束语

通过实验结果的对比可知, 在同等的条件下, 基于基础矩阵的算法性能要优于基于模型的算法性能, 但是本文所讨论的两种算法都只是完成了摄像机自标定, 并没有进行三维重建, 下一步的研究工作将把重点放在三维重建上。

参考文献

[1]Yang Z G, et al.A Real-Time Underwater 3D Vision System GuidingAUVin Underwater Missions[C].IEEE ACCV’95, 1995, 3 (3) :509-519.

[2]马颂德, 张正友.计算机视觉计算理论与算法基础[M].科学出版社, 1998.

[3]Hartley R.Estimation of relative camera positions for uncalibratedcamera[C]∥Proc.European Conference on Computer Vision, NLCS 588, Springer-Verlag, 1992:579-587.

[4]Faurgeras O D.What can be seen in three dimensions with an unca-librated stereo rig[C]∥Proc.European Conference on ComputerVision, NLCS 588, Springer-Verlag, 1992:563-578.

[5]张葆成.摄像机自标定和三维重建算法研究[D].硕士学位论文, 上海海事大学, 2005.

[6]吴朝福, 胡占义.摄象机自标定的理论与算法[J].计算机学报, 2001, 24 (11) :1121-1135.

[7]Yang Z G, Ren L.ANewAlgorithm for Linearly Reconstructing theInfinite Homography Matrix and Intrincic Parameter Matrix of a Ca-mera[C].7th International Conference on Signal Processing Pro-ceedings, Vol.II of III, 1247-1251, Aug.2004.

摄像机自标定 篇3

摄像机标定是计算机视觉中的一个基本问题,是利用物体的二维图像获取三维信息的关键步骤,主要是获得摄像机几何参数和光学参数(内部参数)以及摄像机相对于世界坐标系的空间位置、方向关系(外部参数)的过程。现有的摄像机标定方法大体分两大类:传统的摄像机标定方法和摄像机自标定方法。传统的标定方法需要有一个标定物,在很多实际应用中往往难以实现。自标定方法不需要放置参照物,只利用摄像机在运动过程中的周围环境及图像之间的对应关系便得到摄像机的内部参数[6],因此成为标定技术的研究热点[7,8,9,10]。

作为射影几何中一个非常重要的特征,消失点被广泛应用于摄像机标定[11,12,13,14]。本文利用射影几何中的调和共轭特性,并结合消失点对摄像机内参数的约束,给出了一种基于正方形模板的摄像机自标定方法。该方法由于充分利用了正方形对角线相互垂直的性质,根据一副图片便可以得到两组相互正交的消失点连线,所以只要拍摄三幅图像就可以线性求取全部内参数,从而大大地降低了标定的复杂度。与其他方法相比,该方法对摄像机运动没有什么要求,也无需知道正方形的任何几何信息。由于不涉及图像匹配问题,避免边缘检测和直线拟合所带来的误差,因此该方法计算精度比较高。

二、基本原理

摄像机的成像模型通常可以用针孔模型来表示如图1所示。设(Xw,Yw,Zw)是三维世界坐标系中物体点P的三维坐标。(Xc,Yc,Zc)是同一点P在摄像机坐标系中的三维坐标,定义摄像机坐标系的中心在Oc点(光学中心),zc轴与光轴重合,xc轴、yc轴分别平行于X轴、Y轴。定义OXY平面为图像平面,则空间点与图像平面间构成理想的透视对应。f为理想成像系统的焦距,(u,v)是计算机帧存图像坐标系中坐标,单位是像素。设(u0,v0)为计算机图像中心坐标(即O点的帧存图像坐标)[1]。空间点P的三维坐标(xw,yw,zw)T和对应的图像平面的像素点坐标(u,v)T之间的投影关系可以表示为:

式中是任意常数,(u,v,l)T和(Xw,Yw,Zw,1)T是(u,v)T和(Xw,Yw,Zw)T对应的齐次坐标,M是对应的3×4投影矩阵。R和T分别对应摄像机坐标系在世界坐标系中的旋转矩阵和平移矩阵。K则定义为摄像机的内参数矩阵,即:

式中(u0,v0)是主点坐标,fu,fv分别表示u和v方向上的焦距,单位为像素。s是描述图像平面两个轴之间的偏斜系数。欧氏空间中两平行直线永不相交,但在射影几何中两平行直线相交于无穷远处一点,该点在图像平面上的投影点称为消失点。在射影几何中,消失点有无限多个,不同方向的平行线在投影面上形成不同的消失点。在摄像机针孔模型中,消失点有一个重要的性质即连接消失点和摄像机光心O的连线与形成该消失点的空间平行线平行如图2所示。

三、摄像机内参数求解方法

3.1由正方形模板确定消失点

设场景中有一正方形ABCD,模板如图3(a)所示,A、B、C、D分别是正方形的四个顶点,E、F、G、H分别是其四条边的中点,O是正方形对角线的交点。AC、GH、DB、FE方向的无穷远点分别是P1∞、P2∞、P3∞、P4∞该模板的像如图3(b)所示。Am、Bm、Cm、Dm、Em、Fm、Gm、Hm、Om分别是A、B、C、D、E、F、G、H、O的像点。P1、P2、P3、P4分别是Am Cm、GmHm、DmBm、FmEm方向上的消失点。根据射影几何中调和共轭理论[15],容易证明一条线段被它的中点和这直线上无穷远点调和分离。因为在正方形中O分别是AC、BD、EF和GH的中点,所以得到如下一组交比等式:

根据摄像机透视变换相应顶点的对应性和交比不变性,将(2)转化为下面一组等式(3):

在图3(b)中,设Am、Bm、Cm、Dm、Em、Fm、Gm、Hm、Om的坐标为、(uA,vA),(uB,vB),(uC,vC),(uD,vD),(uE,vE),(uF,vF),(uG,vG),(uH,vH),(uO,vO),设P1、P2、P3、P4的坐标分别是(up1,vp1)、(up2,vp2)、(up3,vp3)和(up4,vp4),因此,在正方形的图像平面上检测出点A、B、C、D、E、F、G、H、O的坐标后,根据等式(3)即可求出两组正交方向消失点的坐标(up1,vp1)、(up2,vp2)、(up3,vp3)和(up4,vp4)。

3.2摄像机内参数的线性求解方法

假设空间中存在一对垂直方向上的平行线段,它们的无穷远点分别为P1∞,P2∞,相应的消失点为P1,P2。根据成像原理可得(7):

将(7)做简单的变化得到下面的方程(8)与(9):

由消失点的重要性质可知光心和消失点的连线方向与无穷远点的坐标矢量方向一致,即光心O与P1∞的连线OP1∞和O与P2∞的连线OP2∞相互垂直,因此可以得到下面一个通用的等式:

本文中由于采用的是正方形模板,因此可以得到下面两个等式:

令,则C的真实含义是无穷远平面上绝对二次曲线在图像平面上的像。

C是一个对称矩阵,包含6个未知量。将(11)写成线性方程形式:

对正方形模板从不同位置拍摄N幅图片,建立N组类似于式(12)的方程A2N×6C6×1=0,A2N×6是关于第i幅图像的up1,up2,up3,up4的函数,C6×1=[C1,C2,C3,C4,C5,C6]T。当N≥3时,我们可以用最小二乘法求解出C6×1,C6×1的解就是的最小特征值所对应的特征向量,也是将矩阵奇异值分解时所对应的第2N列奇异向量。

一旦计算出C6×1,相应的对称矩阵C也可以得到,进一步就可以求解出所有的内部参数。通过矩阵C计算内部参数的常用方法是对矩阵C进行Cholesky分解,即先分解出K-1,然后再对K-1求逆得到K,但是这个方法比较复杂,而且精度不是很高。本文采用了Zhang提出的较为简单、灵活摄像机标定方法[4],对矩阵C的计算进行了简化。根据点阵模板数据和摄像机在三个不同方位拍摄获得的图像数据计算出图像与模板间的单应矩阵,从而确定矩阵C。最后,利用下面的一组公式(14)逐个地求解摄像机全部的内参数:

四、实验结果及分析

为了验证算法的有效性,我们进行了一系列实验。使用的是Canon Power Shot G5数码相机,利用地面的正方形地砖作为标定模板,图像分辨率为1600 1200。我们对正方形模板从不同角度拍摄了图片,给出其中的四幅图片,如图4所示。图中A、B、C、D、E、F、G、H分别表示正方形的4个顶点以及四条边上的中点,O表示的是正方形的中心点。我们将这15幅图片分成5组,每组分别做6次实验,对6次实验结果取平均值,再将5组计算结果取均值就得到摄像机的内部参数。

利用相机在不同方位拍摄的图片之后,重要的步骤就是求取正方形的角点A、B、C、D、E、F、G、H、O。角点提取一般都是通过边缘检测和直线拟合方法来完成的,即首先通过Canny算子进行边缘检测,然后对结果进行霍夫变换,通过拟合出的直线参数来求得直线的方程,再求取直线的交点。为了避免较大的误差,我们采用手工操作提取角点的方法,对每个角点手工操作3次,然后对3次提取出的角点坐标取平均值作为该点的图像坐标。

提取出正方形角点A、B、C、D、E、F、G、H、O之后,我们根据前述算法求解出摄像机内部参数,表1给出了5组实验的计算结果。为了比较,我们还仿真了文献[14]中的算法,还是用这些图片来标定这个相机。表2给出了两种方法运算结果的比较。

从两组数据的比较可以看出,本文方法计算出来的偏斜系数s是比较理想的,u0、v0相对于文献[14]中拟合直线方法更加接近标准值。因此本文的方法计算误差更小,更加有效,具有优越性。虽然存在一定的误差,但是基本上可以通过改善试验环境和实验设备来减少这些误差。

五、结论

摄像机自标定 篇4

近年来,随着立体视觉的发展,为无人机自主着陆提供了有效的技术方法[1]。为解决在下降过程中立体视觉的盲区问题,采用了模仿人体双眼异向运动的方法,改变双目视觉系统的视轴夹角以减少盲区区域。在改变视轴夹角的过程中,立体视觉的摄像机自标定技术是此方法实现的重要组成部分。

传统的摄像机自标定方法大多都是离线标定[2],在应用到这一摄像机姿态参数不断变化的环境中时会因误差不断增大而变得不可用。针对这一问题,很多学者将卡尔曼滤波引入摄像机标定中,实现摄像机在线自动标定[3,4],但这些研究是针对一直多个参考点位置的固定物体,标定计算其坐标变换矩阵,从而计算摄像机参数的。另外还有很多在线标定方法是针对车载视觉系统所提出的[5,6]。而文献[7]考虑了一定约束条件下的立体摄像机的运动序列,从运动过程中实现立体摄像机的自动标定。

上述方法都有一定的局限性,还无法运用到无人机下降过程中双目视觉系统的视轴夹角改变这一实际问题。据此,本文提出了一种简单有效的自动标定方法。该方法可以得到实时的摄像机外参数,满足摄像机视轴变化时的自适应变化情况。

1 双目立体视觉系统模型

在摄像机标定过程中,需要建立摄像机成像的几何模型,从而实现从二维图像提取空间三维信息。如图1所示,取左摄像机光心为世界坐标系原点(0,0,0),给出了两个摄像机中心连线所在平面(XWZW平面),两摄像机光心之间的距离为B,摄像机光轴在XWZW平面内与ZW轴的夹角为θ(未知)。Image1和Image2为两图像平面,(x1,y1)和(x2,y2)分别是两图像平面对应的图像点对坐标。(XW,YWZW)是P点的世界坐标。

从点P(XW,YWZW)分别向两摄像机坐标轴做垂线,则这两垂线与X轴的夹角都是θ,由两个坐标所围成的三角形关系得到下列关系:

由关系式(2)、(3)可得:

将式(4)代入关系式(1)中可得到:

上述公式变换涉及到几个摄像机参数:世界坐标ZW(即飞机距离地面的高度),摄像机光轴的旋转角θ,两个摄像机的图像坐标XR、XL,两摄像机光心间的距离B以及摄像机的内参数焦距f。其中,B和f均可用文献[8]中利用空间中三个特殊关系点的对应成像点进行标定得到,本文的算法是对光轴的旋转角θ、飞行高度ZW进行标定。

2 双摄像机外参数的在线标定

提取一幅无人机着陆点图像上的特征点,特征点在左右两个摄像机上的图像投影坐标(XR、YR)及(XL、YL)是可观测到的。假设无人机的降落是匀速运动的,设无人机上的摄像机云台降落从时刻0运动到时刻k,左右两个摄像机的图像坐标XR和XL作为观测值:z0,z1,…,zk。在上述分析中,根据式(5)利用观测值z0,z1,…,zk,求出任意时刻的ZWi。最后根据式(1)得到任意时刻的夹角信息,作为输入参数,精确控制摄像机光轴的旋转位置。这个旋转位置要满足着陆目标一直成像于图像中心位置的要求,来实现无人机自主着陆。

但在每次下降的过程中,每个时刻摄像机都处于不断循环的三种状态:

状态I1:摄像机处于初始位置或已完成一次在线外参自标定的位置(即摄像机处于图1的状态);

状态I2:经过状态I1后,无人机下降了一定的高度(未知),但是摄像机光轴位置仍保持不变;

状态I3:控制双目立体视觉系统改变光轴角度,满足着陆目标位于图像中心的要求。

为了使得每一时刻都满足公式适用条件,必须分析每个时刻在这三种状态下各个左右图像对的变化情况。下面以从时刻0到时刻1为例:

1)从状态I1至状态I2中,图像将产生偏移,其原因是由于高度的下降及由它引起的图像膨胀所致。通过特征点的提取,并对所引起的膨胀进行估算,得出仅仅由高度下降所导致的特征点图像偏移量∆x。

2)利用状态I2下所采集的左右图像对H1,进行补偿偏移处理,处理后的左右图像对记为H1'。处理后的图像与状态I3所要获得的左右图像对是一致的。此时,着陆目标图像位于图像的中心区域,重新满足图1的模型要求,根据式(1)、(5)计算出高度信息ZW1及夹角信息θ1。

当从时刻1到时刻2,时刻2到时刻3,…,时刻i-1到时刻i时重复上述步骤,就可实时地获取新的高度信息和云台夹角信息。该外参数在线标定算法的流程图如图2所示。

3 标定实验

3.1 实验系统布局

在标定实验中,整个实验系统包括模拟无人机自主着陆实验平台、带图像采集的PC机、伺服电机、着陆目标。其中摄像机选用的型号为Canon VC-C50i R,焦距可变。本次实验先经离线自标定后得到所用焦距为17.6mm,两个摄像机的光心距离B为456.5mm。

3.2 标定结果

实验中,设定初始的着陆高度为3m,并对此初始位置进行标定,获得云台上摄像机的初始夹角为4.5度。另外,控制无人机的下降速度(即视觉系统的下降速度)为50mm/s。

为了保证整个着陆过程中系统的安全性,验证算法的稳定性和标定精确度,设定在着陆初期,每隔10s采集一次着陆目标,随着高度下降至1.5m后,采集频率提高至5s,当高度下降至0.5m后,采集频率为2s,其各阶段采集的图像对结果如图4所示。

通过对各个时刻的立体图像对进行灰度处理、特征点像素坐标提取以及立体匹配后,可以得到各个标定点视差,从而根据上述在线标定算法就可以得到高度信息和夹角信息,如表1所示,实现对无人机自主着陆的实时控制。

通过对数据进行分析,发现当着陆高度越来越低的时候,标定高度与实际高度值差值越来越小,当高度低于400mm时,相对误差小于等于5%。对于各个阶段的夹角信息,误差精度在0.1°~1°之间。

4 结论

本文提出立体视觉的摄像外参数的在线自动标定方法实现了当摄像机视轴夹角发生改变时,系统能准确地对摄像机外参数进行在线标定,获得实时的高度信息及夹角信息,并将这些最新的外参数提供给导航系统,从而使得无人机的视觉导航程序能自动适应外参数的变化,实现无人机的自主着陆。

参考文献

[1]刘兴华,曹云峰,刘新华.计算机视觉在无人机着陆中的应用[J].航空计测技术,2004,24(6):1-3.

[2]孟晓桥,胡占义.摄像机自标定方法的研究与进展[J].自动化学报,2003,29(1):110-124.

[3]Tommaselli Antonio M G,Tozzi Clesio L.Line based cameracalibration in machine vision dynamic applications[J].SBA Controle&Automacao,1999,10(2):100-106.

[4]Elena Stringa,Carb S Regazzoni.A Novel Camera Calibration Algorithm based on Kalman Filter[J].IEEE,2000,872-875.

[5]Bucher T.Measurement of distance and height in imagesbased on easy attainable calibration parameters[A].IEEE Intelligent Vehicle Symposium,Dearborn,USA,2000.

[6]Schoepflin T N,Dailey D J.Dynamic camera calibration ofroadside traffic management cameras for vehicle speed esti-mation[J].IEEE Transaction on Intelligent Transportation Systems,2003,4(2),90-98.

[7]余洪山.主动立体视觉关键技术及其应用研究[D].湖南:湖南大学.2004.

摄像机自标定 篇5

1标定原理

为实现结构光手眼系统的标定, 提出了一种基于主动视觉的结构光手眼系统自标定方法。无需使用特定精确靶标, 只需场景中三个特征点, 通过精确控制机器人进行4次线性无关的平移运动和2次带旋转运动, 即可线性求解结构光手眼系统的摄像机参数, 手眼矩阵, 结构光光平面方程[6]。该方法有益于实现结构光手眼系统标定的流程化、自动化, 同时保证了系统精度, 对视觉测量和跟踪具有良好的实用性。

1. 1手眼系统中坐标变换关系

结构光手眼系统中机器人基坐标系、机器人末端坐标系、和摄像机坐标系之间的关系[7], 如图1所示。

得到机器人手眼系统中的坐标变换关系如式 ( 1) :

式 ( 1) 中XW是特征点在机器人基坐标系的坐标, ε 是特征点在摄像机坐标系的深度值, REW和tEW是机器人基坐标系与末端坐标系的旋转与平移部分, R、t是手眼矩阵的旋转与平移部分, ( u, v, 1) T是图像特征点的齐次坐标。

K是摄像机内参矩阵五参数模型, 即

式中 α、β 是图像x轴、y轴的比例系数, γ 表示两个轴的倾斜程度, u0和v0是光轴中心点。

1. 2摄像机内参数和手眼矩阵旋转部分标定

结构光手眼系统中, 摄像机刚性连接在机器人末端, 控制机器人做平移运动, 由Ma给出的扩展焦点 ( FOE) 的性质, FOE点的归一化坐标表示摄像机平移运动在平移前的摄像机坐标系中的方向[8,9]。 如图2所示。

P为场景中一特征点, F1、F2分别为平移运动前后的两幅图像, I1, I2为P点在平移前后图像上的像素点坐标位置, I'2为I2在图像F1上的对应点。 摄像机做平移运动, 直线O1O'1与O2O'2平行, 直线I'2O'1与I2O'2平行。对应点连线直线I'2I1与O1O2交于扩展焦点 ( FOE) ei, 直线O1ei方向即为相机的运动方向。任一特征点平移前后的对应点直线均通过FOE点, 所以可以通过场景中两个及以上特征点求解FOE点[10]。

由摄像机内参数模型和FOE点ei的图像坐标, 可以求出点ei[齐次坐标为 ( uei, vei, 1) T]的成像点在摄像机坐标系的坐标 ( xci, yci, zci) T, 得:

式 (2) 中, f为摄像机焦距, 为摄像机平移运动的单位向量, 则

设P为空间中的一点, XW、XE和XC分别为点P在机器人基坐标系、机器人末端坐标系和摄像机坐标系下的坐标, REW和tEW表示机器人基坐标系与机器人末端坐标系之间的关系, P在各坐标系的关系为[11]:

机器人初始位姿A在基坐标下的位姿为Ti1, 控制机器人沿末端坐标系平移运动, 平移后到达B, B在基坐标系的位姿为Ti2, 则两末端坐标系之间关系为T = ( Ti1) -1Ti2, 其中T的旋转部分为E , 平移运动为k1b。P点在A处和B处机器人末端坐标系下的坐标分别为XE和XE1= XE+ k1b, 在摄像机坐标系下的坐标分别是XC和XC1, 则有:

由式 ( 4) 得:

即b = Ra。

式 ( 6) 中 σ = k1/ f。

令带入式 (6) 可得:

如式 ( 7) 所示, 假定a33= 1, 控制摄像机做4次及以上线性无关的平移运动, 通过最小二乘法可唯一求解A1。

为了确定a33的真实值, 将矩阵A1写成式 ( 8) :

由式 ( 8) 可得a33a3= r3, 又R为单位正交向量, R-1= RT, 由式 ( 8) 可得所以a33= | a3| /|a3|=1/|a3|。

分解出内参K和手眼矩阵R如下:

式 ( 9) 中, |·| 表示取模, 向量r1、r2的方向取决于使得 α、β 值为正的方向。

2手眼矩阵平移部分和光平面的标定

2. 1手眼矩阵平移部分标定

选取场景中不在同一直线上的3个特征点, 进行2次带旋转运动, 每次带旋转运动后取特征点图像和打开激光器后带激光条纹的图像[12]。由结构光手眼系统之间的关系 ( 1) 可得:

式 ( 10) 中, i = 1, 2, 3表示第i个特征点。

以上方程两两相减可得:

式 (11) 中, Ai1=R1EWRK-1 (ui1, vi1, 1) T, Bi1=R1EW-R2EW, Ci1=t2EW-t1EW, 其余类推。将式 (11) 写成矩阵形式:

通过最小二乘求解每个位姿下每个特征点的深度信息和手眼矩阵平移部分t。

2. 2光平面方程标定

将求得的 εi1 ( i = 1, 2, 3) 带入方程 ( 10) , 可得3个特征点在机器人基坐标系中的坐标。如图4所示, 不在同一直线上的3个点P1、P2、P3可构成一平面, 激光条打在3个特征点构成的平面上。

可得3个特征点构成的平面方程为:

特征点平面在机器人基坐标系下的平面方程可以表示为 ( π1, x) = 0, 式中 π1= [a0, b0, c0, 1]T为特征点平面的四维齐次坐标向量表示。机器人基坐标系与摄像机坐标系的关系为TT6i, 其中为机器人基坐标系与机器人末端坐标系之间的关系, 为手眼矩阵。可得特征点平面在相机坐标系下方程为 ( ( T6iT) -Tπ1, x') = 0。x和x' 分别为特征点平面上的同一点在机器人基坐标系和摄像机坐标系的坐标。

在摄相机坐标系中, 设w、wi、wj、Υi、Υj分别代表激光平面法向坐标向量、第i个平面靶标的法向坐标向量、第j个平面靶标的法向坐标向量、第i个平面靶标内的激光交线图像的坐标向量、第j个平面靶标内的激光交线图像的坐标向量。第i个平面靶标图像上的激光交线图像的方程 Υi ( 像素坐标系下) , 与 Υi ( 相机坐标系下) 可由下式得出:

式 ( 14) 中, K为相机内参矩阵。

投影空间中两条激光交线及其相关联的平面的相互关系的对偶性表示如图4所示。

图2中, 要标定的激光平面坐标w在投影空间的对偶表示就是两条激光交线的交点。由于误差的影响, 两条激光交线在空间并不相交, 因此用距离两条激光线最近的点表示w。而距离两条激光线最近的点位于两条激光线的公垂线上[13]。因此, 计算激光平面坐标为:

由于公垂线与两条激光线分别垂直, 因此内积:

因此, 可求得:

将以上值分别带入即可得到激光平面方程坐标w。

3实验结果及分析

实验标定过程理论测试操作在Win7系统的MATLAB 2010b平台上完成, 使用重复定位精度为 ± 0. 02 mm的Denso机器人, 8 mm焦距的Computar工业镜头, 感光CCD 640 ×480。

3. 1标定特征点选取和自动匹配

特征角点的求解采用文献[8]的方法, 精度可达到0. 2 pixel, 匹配方法采用三特征角点之间距离进行匹配, 具体描述如下: 求解特征角点两两之间的距离, 选择除距离最大的两点外的一点作为编号1点, 另两点中, 离1点距离远的为编号2点, 剩余的为编号3点。特征角点的提取和自动匹配如图5所示。

取三特征角点对应连线的交点的均值作为FOE。为提高FOE点精度, 每次平移运动的方向在XOY平面的分量可沿三角形的中线方向, 且每次平移过程中取10幅图像。如图6所示, 10幅图像提取出的对应角点, 通过最小二乘拟合成直线, 求解FOE点。

3. 2光条细化和工件末端偏移修正

激光条纹线较粗, 一般提取光条中心线作为图像特征, 采用基于中轴变换原理[9]的光条细化方法, 细化后得到光条方程。

由于机器人重复定位精度高, 可以通过机器人对三维点的点触得到的坐标值, 作为验证结构光手眼系统的标定精度的基准。以一固定姿态控制机器人工件末端点触特征点1, 得到工件末端在机器人末端坐标系下的偏移修正值。

实验修正值:

3. 3三维测试和测量结果

结构光手眼系统参数和工件末端偏移值标定完成后, 在机器人姿态不变的前提下, 进行平面和三维数据测试, 测试结果如表1。

表1中, 1 ~ 3为标定特征点的平面测试数据, 最大误差 ±0. 40 mm。4 ~8为三维阶梯测试数据, 最大误差 ±1. 32 mm。特征点间的平面长度测量如表2所示。

测量值由系统标定完成后得到的特征点坐标值计算得出, 实际值由游标卡尺直接测量特征点间距离, 最大测量误差为 ±0. 73 mm。

4结束语

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【摄像机自标定】相关文章:

摄像机控制05-19

数码摄像机06-27

硬盘摄像机07-09

会议摄像机08-30

摄像机的调整07-02

高清数码摄像机08-09

球形摄像机施工方案04-13

网络摄像机设计方案06-12

DV数码摄像机09-09

基于摄像机的应用09-15

上一篇:昆明翠湖公园下一篇:钱荒