第28卷第1期2010年1月
北京工商大学学报(自然科学版)
J ou rnal of B eiji ng T echnology and Bu si ness Un i versity(Natural S ci en ce E diti on )
V ol 28N o 1Jan .2010
文章编号:1671 1513(2010)01 0038 05
基于OpenCV 的视觉测量技术中摄像机标定方法
程建璞 项辉宇 于修洪
(北京工商大学机械工程学院,北京 100048)
摘 要:以视觉测量系统中的摄像机标定为研究对象,分析了开源计算机视觉库OpenCV 中的摄像机模型,并考虑了镜头的畸变及求解方法,得出基于OpenC V 的摄像机标定方法.该方法利用了OpenC V 的函数库,简化了标定求解过程,提高了标定速率,并具有良好的移植性,适合于其他视觉测量系统.
关键词:视觉测量;OpenCV;摄像机标定
中图分类号:TP242 6+
2;TS976 9 文献标志码:A 收稿日期:2009-10-19
基金项目:北京市自然科学基金资助项目(3083018);北京市属市管高校中青年骨干教师计划和北京市优秀人才培养资助项目
(20061D0500300138).
作者简介:程建璞(1984 ),男,山西太原人,硕士研究生,研究方向为先进制造技术及计算机视觉技术;
项辉宇(1966 ),男,山东青岛人,教授,主要从事先进制造技术方面的研究.通讯作者.
视觉测量技术
[1]
是一种图像检测技术,其基本任务之一是从摄像机获取的图像信息出发计算三维空间中物体的几何信息,并由此重建和识别物体,而空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系是由摄像机成像的几何模型决定的,这些几何模型参数就是摄像机参数.在大多数条件下,这些参数必须通过实验与计算才能得到,这个过程被称为摄像机标定
[2]
或称为定标.摄像机
标定问题大致分为两类:标定物标定和摄像机自标定[3]
.本文提出的标定方法[4]
只需要摄像机从不同方向拍摄一个平面模板(作为标定物)的多幅图像,对于每个视点获得图像,提取图像上的网格角点;平面模板与图像间的网格角点对应关系,确定了单应性矩阵;那么对每幅图像,就可确定一个单应性矩阵,这样就能够进行摄像机标定;同时该方法也考虑了镜头畸变的影响.
OpenC V (open source co m puter vision li b rary)是I nte l 公司开发的开源计算机视觉库,由一系列C 函数和少量C ++类构成,实现了图像处理和计算机视觉方面的很多通用算法,具备强大的图像和矩阵运算能力,其中计算机视觉函数库包含图像处理、结构分析、运动分析、对象跟踪、模式识别、摄像机定标
和三维重建等算法.OpenCV 中摄像机标定模块为用户提供了良好的接口,同时支持W i n do w s 、L i n ux 平台,极大地提高了开发效率,执行速度快,具有良
好的移植性,可以很好地应用于工程实际中.
1 系统整体介绍
本系统可分为3个模块,即测量旋转工作台、图像采集模块和分析处理模块.图1为以车体覆盖件视觉测量系统为例的结构框图.视觉测量的成功与否很大程度上取决于摄像机标定是否成功
.
图1 视觉测量系统示意
F i g .1 F i gure of v isi on measure m ent syste m
38
2 标定原理
2 1 世界坐标系、摄像机坐标系与图像坐标系
在视觉测量中常用到3个坐标系:世界坐标系(X w ,Y w ,Z w )、摄像机坐标系(X c ,Y c ,Z c )及图像像素坐标系(u,v)和图像物理坐标系(x,y ),如图2
.
图2 坐标转换示意
F i g .2 D i agra m o f converted coo rdina te
2 2 坐标系转换
图像坐标系的两种形式间的关系:
u v 1
=1k 0u 001l v 00
1
x y 1
.(1)
其中,像素点的大小为k l .
这样,就可以在真实的物理尺寸和图像像素值之间进行坐标转换.
摄像机坐标系与图像像素坐标系转换关系:u
v 1
=
1Z c
1k 0u 001
l v 00
1
f -f cot 000f si n 000
10X c
Y c
Z c 1
=1
Z c f k -f k cot u 0
00
f l sin v 000
1
X c
Y c
Z c 1
=1Z c A P c .
(2)
矩阵A 包含了摄像机全部的6个内参(k,l ,u 0,
v 0,f, ),所以A 称为摄像机的内参数矩阵,在不考虑摄像机坐标系偏斜度的情况, 可认为是90!.
摄像机坐标系和世界坐标系的关系为:
X c Y c Z c
1=R 3 3t 3 30
T
1
X w
Y w Z w
1
.
(3)
其中,R 3 3=(r x r y r z )为旋转矩阵,t 3 1=(t x ,t y ,t z )T
为平移向量,(R t )称为摄像机的外参数矩阵.综合式(2)和(3)可以得出世界坐标系到图像坐标系的一个线性变换:
k m =1
Z c A R t 0
T
1X w
Y w Z w
1
=A (R t)M .(4)
其中,(R t )为摄像机的外参数矩阵,为图像点的齐次坐标,M =(X Y Z 1)T
为三维空间点的齐次坐标.这样就得到一个图像点和空间点之间的映射关系.
令H = A (R t ),其中 为比例系数,H 称为透视投影矩阵,则有(h 1 h 21 h 3)= A (r 1 r 2 t).
2 3 求取摄像机参数
透视投影矩阵H 中包含了所有的摄像机参数(内参、外参),可从中分解出各个摄像机参数.
R 为正交单位矩阵,可知r 1和r 2之间的关系,于是可得到最基本的内参约束关系:
h T
1A -T
A -1
h 2=0,
h T
1A
-T
A
-1
h 1=h T
2A -T
A
-1
h 2.
B =B 11
B 12B 13B 21
B 22B 23B 31
B 32
B 33
=k
2
f
2kl cos
f 2-klv 0cos -u 0k
2
f
2
kl cos f 2l 2
f
2-l 2
v 0-u 0kl cos
f
2-klv 0cos -u 0k
2
f
2-l 2
v 0-u 0kl cos f 2v 20l 2
+u 2
0k 2
-2u 0v 0kl cos
f
2
+1.(5)
39
第28卷第1期 程建璞等:基于O penCV 的视觉测量技术中摄像机标定方法
从式(5)可以看到,B 是一个对称矩阵,于是可以定义一个6维向量来表示它:b =(B 11 B 12 B 22 B 13 B 23 B 33)T
,然后可以得到:h T
i B h j =v T
ij b ,其中,h i =(h i 1 h i 2 h i 3)T
为透视投影矩阵H 的第i 列,于是根据内参数的约束关系可以改写为:
v T 12
(v 11-v 22)
T
b =0.(6)
这样,如果取得3幅以上两两摄像机光轴不平行的图像,就可以解得b 的值,接着可以得到矩阵A 的值,从而分解出所有的摄像机内参数.
在获取内参数矩阵中的所有参数后,就可以根
据矩阵A 来确定每幅图像的各个外参数,及旋转矩阵R 和平移向量t .2 4 畸变校正
由于透镜的结构特点,使透镜在成像过程中或多或少会产生一些畸变,而其中又以径向畸变最为明显,因而对畸变的校正就主要针对径向畸变.
径向畸变的畸变方程:
x ^=x +x [k 1(x 2+y 2)+k 2(x 2+y 2)2
],
y ^=y +y [k 1(x 2
+y 2
)+k 2(x 2
+y 2
)2
].
(7)
其中k 1、k 2为径向畸变系数,(x,y )为校正前的
图像坐标,(x ^,y ^)为校正后的图像坐标.由于透镜的中心对称性,所以可以认为x 和y 方向上的径向畸变率是相同的,于是有:
u ^=u +(u -u 0)[k 1(x 2+y 2)+k 2(x 2+y 2)2
],
v ^=v +(v -v 0)[k 1(x 2+y 2)+k 2(x 2+y 2)2].(8)其中(u,v)为校正前的像素坐标,(u ^,v ^)为校正
后的像素坐标
.通过给定n 幅图像的m 个点,用最小二乘法,可解得方程组的解,求得k 1、k 2.
3 OpenCV 标定方法
在OpenCV 函数库里已经提供了可以直接调用的利用黑白格标定板进行标定的一系列函数,因而
本文采用OpenC V 函数库进行摄像机标定研究,进而提出以下摄像机标定算法:
1)读取一组标定用图像数据,为了达到较为精确的效果,选用7幅光轴不平行的图像(如图3).
2)用cvC reaM t at ()函数,分别为摄像机的内外参数、角点在世界坐标系的坐标值以及在图像坐标
系的坐标值分配矩阵存储空间.
图3 平面标定板
F i g .3 P lane ca m era ca li bration plates
3)用cv F i n dChessboar dCorners ()函数,提取黑
白棋盘格角点位置,将每一幅图像数据分别代入该函数,如果该幅图像上提取的角点数目和设定的相同,则返回非零值,
角点提取成功,角点像素坐标用链表形式存储;否则返回0,角点提取失败(如图4).
4)将cvFindChessboar dCorners ()函数提取出的图像像素坐标系中坐标值代入cvFindC or ner SubP i x ()函数,进一步精确得到角点亚像素级的坐标值.
5)用cvDra wChessboar dCorners ()函数,将提取出的角点用红色圆圈标记,如果棋盘为完整的,则用直线连接所有的角点(如图5).
6)将角点在世界坐标系的坐标值以及在图像
图4 标定板角点提取
F i g .4 Co rners extraction o f cali brati on plates
坐标系的坐标值代入cv C ali b rate C a m era2()函数,求出摄像机的内外参数.
7)根据计算得到的摄像机各内外参数,计算已
知角点三维坐标在图像上的投影坐标,将其与通过角点提取得到的投影坐标比较,得到一个误差值.
40北京工商大学学报(自然科学版) 2010年1月
图5 软件界面
F i g.5 interface of soft w are
4 实验设计与计算结果
实验采用DH H V1303UM T CCD相机,最高分辨率12801024,像素尺寸为5 2m5 2m,清晰度为750线,帧率为15帧/秒.使用V isua l C+ +开发了摄像机标定的操作界面,可以快速调用OpenC V函数库,提高了系统的响应速度和适应性.
通过提取的黑白格标定板角点像素坐标可以得出三维坐标,利用OpenC V提供的摄像机标定函数可得摄像机的内外参数矩阵,部分数据见表1.
摄像机内
参数矩阵: 253 4330127 927
0259 466125 102
001
畸变系数:(0 120589 -1 95258 -0 0028296 0 008346)
表1 多幅图像实验数据
Tab.1 Experi m ental data of mu ltiple p ictures
第一幅第二幅第三幅第四幅第五幅第六幅第七幅
旋转向量
{1 798,2 318,
-0 215}{2 000,1 976,
0 255}
{0 215,-2 716,
-0 054}
{-0 032,3 089,
-0 199}
{-0 070,-2 410,
-1 123}
{-0 639,2 425,
0 699}
{1 649,-2 012,
0 182}
旋转矩阵{-0 241,0 968,
0 068}
{0 939,0 249,
-0 235}
{-0 244,0 007,
-0 969}
{0 029,0 938,
0 344}
{0 995,0 005,
-0 097}
{-0 093,0 345,
-0 933}
{-0 902,-0 143,
-0 406}
{-0 159,0 987,
0 006}
{0 400,0 070,
-0 913}
{-0 998,-0 018,
0 046}
{-0 024,0 991,
-0 128}
{-0 044,-0 128,
-0 990}
{-0 885,0 241,
-0 398}
{-0 149,0 662,
0 734}
{0 440,0 709,
-0 549}
{-0 746,-0 562,
0 354}
{-0 287,0 753,
0 590}
{-0 599,0 339,
-0 724}
{-0 116,-0 943,
-0 309}
{-0 872,0 246,
-0 421}
{0 474,0 221,
-0 852}
平移向量{-7 350,-32 63,
121 299}
{-9 015,-32 93,
106 043}
{37 330,-22 877,
90 870}
{32 319,-34 640,
179 636}
{24 527,-28 424,
149 372}
{34 625,-16 964,
162 685}
{14 103,13 893,
109 928}
5 结束语
在汽车覆盖件的视觉检测系统中,利用OpenC V开发的摄像机标定程序具有标定原理清晰、标定过程简便、标定结果准确、应用方便、执行速度快、可移植性强等优点,能够达到汽车覆盖件应力应变分析需要的检测精度.同时可以在机器人操作系统和计算机视觉检测等领域广泛推广.参考文献:
[1] 马颂德,张正友.计算机视觉 计算理论与算法基
础[M].北京:科学出版社,1998:52-59.
[2] T sa i R Y.A versatil e ca m era ca li brati on technique f o r
high ac curacy3D m achi ne vision m etro l ogy us i ng of
t he shelf TV ca m eras and l enses[J].IEEE Journa l of
R obotics and A uto m ation,1987,3(4):323-344.
[3] 赵小松.摄像机标定技术的研究[J].机械工程学报,
2002,38(3):149-151.
41
第28卷第1期 程建璞等:基于O penCV的视觉测量技术中摄像机标定方法
[4] Zhang Z.A fl ex i b l e ne w techn i que for ca m era ca li brati on
[J].IEEE T ransacti ons on Pattern Ana l ys i s and M
ach i ne Inte lli gence,2000,22(11):1330-1334.
[5] G i bson S,Cook J,H o w ard,et a.l A ccurate ca m era ca li
brati on fo r of li ne,v i deo based aug m ented rea lity[C].
P roceedi ngs o f the IEEE and A C M Internati onal Symposi
u m on M i xed and A ugm en ted R eality,2002:37-46.[6] T i an Y uan yuan,T an Q i ng chang.Study of CCD l aser
range finder based on static i m age[J].M icro Compu ter
Infor m ati on(微计算机信息),2007,11(31):96-98.
[7] 邱茂林,马颂德,李毅.计算机视觉中摄像机定标综
述[J].自动化学报,2000,26(1):43-55.
[8] D av i d A Fo rsyth,Jean P once.计算机视觉 一种现
代方法[M].北京:电子工业出版社,2004.
MEASURE OF OPENCV BASED CA MERA CALIBRATION FOR VISION M EAS URE MENT TECHNOLOGY
C HENG Jian pu, X I A NG H ui yu, YU X i u hong
(College of M echanical E ng ineering,B eijing Technolo gy and Business Universit y,B eijing100048,China)
Abst ract:For the research o f techno l o gy of ca m era ca li b ration,the ca m era m ode l i n OpenCV i s dis cussed,and considered on the influences and m ethods o f lens d istorti o n.An ar ith m etic of ca m era calibra ti o n based on OpenCV is g iven.Thism et h od m akes use o f t h e functions of the li b rary effectively,and i m proves t h e deficiency of co m puta ti o n,and has a good property for the application to mu lti platfor m.It Can m eet t h e needs o f o t h er vision m easure m ent syste m s.
K ey w ords:v ision m easure m en;t OpenC V;ca m era ca libration
(责任编辑:檀彩莲) (上接第17页)
DEVELOP MENT OF NONDESTRUCTIVE DETECTION
TECHNIQUES OF PORK FRES HNESS
XU Guan nan, GUO Pei yuan, YUAN Fang
(Co llege of Infor m ation Eng ineering,B eijing Technology and B usiness Un iversit y,B eijing100048,China)
Abst ract:I n this paper,pork freshness nondestructive detecti o n is summ arized,i n vo lving N I R detection technique,AOS and ATS detecti o n techn i q ues,co m puter vision detection technique and u ltrason ic detec ti o n techn ique.A cco ri n g to t h e pri m ary issues,a m ulti i n for m ation fusion technology w as put for w ar d i n th is paper.It w ill be the m ain research directi o n o f pork freshness nondestructi v e detecti o n in the future.
K ey w ords:por k;freshness;nondestr uctive detection techn ique;i n for m ation fusion;co m puter v ision detection techn i q ue
(责任编辑:邓清燕)
42北京工商大学学报(自然科学版) 2010年1月