一种简易的摄像机标定方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

1
引言
立体视觉系统的设计目标是从摄像机获取的图像
标定平面( 标定板)2 幅以上的图像, 就可以求出摄像机的 内外参数, 由于该方法不需要知道平面模板移动的具体 方位和位移信息 , 而且平面模板的制作简单 , 因此这种 方法更简单、灵活[5]。 本文采用的即为张正友的平板标定法。对于标定 点阵列中心提取运用椭圆拟合获得 ; 由于张正友平板标 定法对模板和图像点的单应性要求 , 本文还给出了简 单易行的圆阵列排序方法 , 从而给出了完整的摄像机 标定方案。
图3
已处理图像
(4) 利用 MATLAB 中的 Canny 算子边缘检测命令 对图像进行处理得到边缘图像 , 如图 4 所示。
图6 图4 边缘检测
排序完毕
(7) 设定一阈值 ε ( ε > 0 ), 使当对一个中心点进行排 序时, 图像点到其相对应排序点的距离小于 ε , 而到其他 排序点的距离均大于 ε 。由于摄像机畸变并不很大, 所 以容易知道 ε 是存在的, 由此便得到了排序好的中心点 数据。如图 6 所示。 (8) 利用张正友标定算法完成标定。
2
标定原理
摄像机模型的选择直接影响了最后的标定结果。
2.1 摄像机模型
常用的针孔模型[6,7]忽略了透镜的厚度和畸变的存在, 因 此不能很好的反映实际情况。本文算法中考虑了二阶 径向畸变, 比只引入一阶径向畸变的 Tasi 模型和针孔模 型更加真实地反映了透镜实际的畸变情况[8]。在该模型 中 , 将空间点 P 在世界坐标系中的坐标值 ( X w ,Y w , Z w ) 变
信息出发 , 计算三位空间物体的位置、形状等信息 , 并 由此识别环境中的物体。图像上每一点亮度反映了空 间物体表面某点反射光的强度 , 而该点在图像上的几何 位置则与空间物体表面相应点的几何位置有关。这些 位置的相互关系, 由摄像机成像的几何模型所决定。该 几何模型的参数称为摄像机参数, 这些参数必须由实验 与计算来确定 , 实验与计算的过程称为摄像机标定[1 ,2 ] 。 至今已经有许多摄像机标定的方法。如 T sa i 提出的基 于三维标定参照物的标定方法[ 3] , 标定参照物一般由两 块互相垂直的平面模板组成, 标定前需要知道参照物表 面标定点的空间三维坐标, 因而这种方法需要一套昂贵 的精密标定设备。张正友提出了基于二维平面模板的 标定方法[ 4] , 张氏标定法只要求从不同角度拍摄的同一
102 | Techniques of Automation & Applications
(2) 利用 ACDSee( 版本号 12.0.0.58849, 此处亦可 用其他软件) 的曝光功能将所采集图像进行曝光, 使图像 背景与标定板灰度反差极大 , 如图 2 所示。
图2
曝光图像
经验交流
Technical Com munications
(7)
由此可以通过解矩阵形式表示的线性方程组得到 (1) A, B, C, D, E 之后, 利用式 (8 ) 可得椭圆中心 :
x0 = 2 BC − AD A2 − 4 B
式中 : R ——一个 3 × 3 的旋转矩阵 ;
t ——一个平移向量。
, y0 = A 2 − 4 B
2 D − AD
(8)
(5) 对边缘图像进行扫描。当扫描到一个与背景灰 度值不同的像素点时 , 设定合适的区域 , 程序只在此区 域内进行扫描 , 从而得到与此边缘点所在椭圆的所有 边缘点 , 运用椭圆拟合即可得到此标定圆中心。完成 此过程后将上述边缘点像素值设置为背景像素值 , 继 续进行扫描。最后即可得到标定圆阵列各个圆的中心 坐标值。
4
实验
实验采用 DH-SV1410FM CCD 相机, 焦距 12mm 的
镜头, 所采集到的图像分辨率为 1392 ×1040 像素。标定 板为深圳科创公司的圆阵列标定板( 条件有限亦可采用 打印标定板 ), 圆直径 5mm , 圆心距 10m m 。
表1
标定结果
根据上述标定原理和实验步骤进行实验。为了验 证标定程序的结果 , 利用深圳科创公司的标定软件对同 样的原始图像进行标定 , 将所得到的标定值与本文的标 定结果进行比较 , 比较结果如表 1 所示 , 其中计算值为 (6) 以上所得到的圆阵列的中心坐标为无序的, 为了 是圆阵列与其图像点一一对应, 我们还设计了简易的排序 算法。利用 MATLAB 所提供的功能, 我们先获得圆阵列 本文实验得到的值 ; 给定值为科创公司的标定软件的 值。从表中可以看到 , 两者的值是非常接近的。 (下转第 106 页)
wk.baidu.com
(2)
(3) 引入透镜的畸变 , 畸变后的规范化坐标值可以 用 Pd ( xd , yd ) 表示为
xd 2 4 x = (1 + k1 r + k 2 r ) y yd
(3)
式中: r 2 = x 2 + y 2 ; k1 、 k 2 ——径向畸变系数。 将 Pd ( xd , yd ) 转换为图像上像素坐标系上的坐标值
Pv (u , v )
u = f x xd + u 0 v = f y y d + v0
(4)
3
标定系统实现
首先本文所采用模板为 18 × 18 的圆阵列标定板 , 使
其中
f x = f g sx / dpx f y = f / dpy
用 CCD 相机自带的编程接口完成图像采集工作。上述 (5) 工作都完成之后 , 我们将按照以下步骤完成标定 : (1) 获得一组( ≥ 2 )标定用实验图像数据, 如图 1 所示。
Techniques of Automation & Applications | 101
* 基金项目: 国家 8 6 3 计划项目资助(编号 2 0 0 7 A A 7 0 4 3 3 8 ) 收稿日期: 2 0 0 6 - 0 4 - 1 8
《 自动化技术与应用 》2 0 1 0 年第 2 9 卷第 1 期
各参数的意义 : f 为摄像机的有效焦距 ; sx 为比例 因子, 用来适应在计算机图像( 帧存) 水平方向( x 方向) 上 带来的种种不确定因素 ; d p x 为计算机图像在水平方向 ( x 方向) 上相邻两像素之间的有效距离( mm / pixel ); dpy 为计算机图像在垂直方向( y 方向) 上相邻两像素之间的 有效距离( mm / pixel ); u0 为镜头光轴 Z 与图像平面的交 点 Oi 在像素坐标系 u 轴上的坐标值; v0 为 Oi 在像素坐标 系 v 轴上的坐标值。
《自动化技术与应用》2 0 1 0 年第 2 9 卷第 1 期
(3) 利用 Wi ndows XP 操作系统自带画图软件将 除标定板图像以外的其他多余部分去掉 , 如图 3 所示。
四个角圆的中心坐标, 然后计算出相邻两点之间在图像坐 标系上的距离, 将其 17 等分( 因为圆阵列为 18 × 18 ), 由此便 可得到有序的与圆阵列一一对应的辅助排序阵列, 如图 5 中加号所示。
经验交流
Technical Com munications
换为图像平面上像素坐标系中的坐标值 (u , v ) 的过程可 分解为下述的 4 步变换 : (1) 三维空间刚体变换 : 将世界坐标系中的坐标值
P ( Xc ,Yc , Zc ) 。 P w ( Xw , Yw , Zw ) 变换为摄像机坐标系中的坐标值 c
[ 8]
目标函数为 :
F ( A , B , C, D, E ) = ∑ (x 2 + Axy + By 2 + Cx + Dy + E )
i =1 N
(6)
为使上式最小 , 应用极值原理可得 :
∂F ∂F ∂F ∂F ∂F = = = = =0 ∂A ∂B ∂C ∂D ∂E
如下
Xc X w Y = R Y +t c w Zc Zw r1 R= r4 r7 r2 r5 r8 r3 tx t , r6 t = y r9 tz
图1
原始图像
2.2 拟合法求椭圆中心
由于本文实现部分采用标志为圆形标志, 在投影后 成为椭圆形图像 , 因此此处讨论在获得目标点边缘之 后 , 利用椭圆拟合的方法获得椭圆的方程 , 进而求得椭 圆的中心坐标。 如果已知超过 5 个椭圆上的点, 就可以依据最小二 乘准则确定最适合的椭圆。最小二乘求解过程如下 : 设 Pi ( xi , yi ) (i = 1, 2,L, N ) 为椭圆轮廓上的 N 个测量 点 , 根据椭圆的理想方程式并依据最小二乘原理 , 设定
A Simple Camera Calibration Method
WANG Wei-hua, SONG Shen-min
( School of Astronautics, Harbin Institute of Technology, Harbin 150001 China )
Abstract: For the simplification of previous camera calibration method,the pre-processing requirements of the method are dicussed, a simple camera calibration method based on MATLAB is given. This method completes lots of pre-processing by popular software,reduces the difficulty of programming and workload.The experimental results show that this method has high accuracy.It can meet the needs of august reality and other computer vision systems. Key words: somputer vision;circle array plate; MATLAB; august reality; camera calibration
Techniques of Automation & Applications | 103
图5
经验交流
Technical Com munications
《自动化技术与应用》2 0 1 0 年第 2 9 卷第 1 期
一种简易的摄像机标定方法 *
王伟华, 宋申民
( 哈尔滨工业大学航天学院, 黑龙江 哈尔滨 150001)
摘 要:以简化以往的摄像机标定技术为研究目的, 分析了标定算法对于前期图像处理的要求, 给出了基于 MATLAB 的简易摄像机标 定方法。该方法借助于常用软件完成了以往摄像机的标定算法中的大量前期图像处理工作,大大降低了编程难度,减少了工作 量。实验结果表明, 该方法具有很高的标定精度, 可以满足增强现实和其他计算机视觉系统的需要。 关键词: 计算机视觉; 圆阵列模板;MATLAB; 增强现实; 摄像机标定 中图分类号 :TH761.7 文献标识码 :B 文章编号:1003-7241(2010)01-0101-04
(2) 将坐标值 Pc ( X c , Yc , Z c ) 在针孔模型中进行规范化 投影 , 得到归一化的坐标值 Pn ( x, y ) 为
X / Z x Pn = c c = Yc / Zc y
2.3 标定方法
张氏标定法要求一个精确定位点阵的平面模板。 然后通过自由移动摄像机或标定模板, 使得摄像机至少 在 2 个不同的位置 ( 相对标定模板 ) 拍摄模板图像 , 通过 模板上的点和其图像的单应性(Homograph) 来确定摄像 机内参 , 可以进一步解出摄像机的外参。 然后再以这些参数为初始值 , 在考虑畸变的同时 应用 Levenber g-Ma rquar dt 算法对图像点与再投影点 间的距离之和进行非线性最小优化 , 以得到一组精度 更高的值。
相关文档
最新文档