专利名称:视频帧中基于三点共线标记点的三维定位方法
技术领域:
本发明涉及计算机视觉与图像处理技术,具体是一种对视频帧中特定目标的跟踪
定位技术。
背景技术:
增强现实(Augmented Reality)是利用虚拟信息对真实场景进行信息增强的技 术。增强现实将用户实际身处的物理环境作为用户的主要感知和交互环境,同时又根据该 环境实时生成包括文本、二维图像、三维物体的虚拟信息,通过配准技术将生成的虚拟信息 叠加在含有真实场景视频的输出设备上,达到对用户所在的真实场景的解释说明、信息增 强或三维展示等目的。 文 献《Marker Tracking and HMD Cal i brat ion for a video-based AugmentedReality Conferencing System》(H. Kato,M. Billinghurst,in Proceedings of the2nd International Workshop on Augmented Reality, San Francisco, USA, October, 1999)中提出了一种基于正方形标志物的用于增强现实的配准算法,并由此开发出一套开 源的增强现实软件开发包——ARToolkit。 ARToolkit使用计算机视觉技术得到摄像机在 标志物坐标系下的位置和姿态信息,实现了对平面物体的跟踪配准,使开发人员能够以该 标志物所在平面为基准设定坐标系,进行后续的可视化信息的叠加。其中用于跟踪配准算 法的流程为对视频帧进行二值化处理,寻找具有四个顶点的大面积区域轮廓,提取顶点的 图像坐标并与顶点在世界坐标系下的坐标进行对应,得到单应性矩阵(homogr即hy),该矩 阵反应了真实标志物到图像上的透视变换;结合模板匹配技术,可以得到正确的顶点对应 关系,从而实现跟踪配准。 由于ARToolkit的跟踪配准算法采用寻找平面标志物轮廓的4个顶点进行对应, 局限于平面物体或具有平坦表面物体的跟踪配准,在实际应用过程中需要较大的可视标志 物平面,不适合不具备平坦表面的目标跟踪,特别是对于三维空间(或三维虚实融合空间) 中类似鼠标、笔等指点式的交互设备的跟踪是不合适的。
发明内容
本发明所要解决的技术问题是针对现有跟踪配准算法局限于平面物体,需要较大 可视平面的缺陷,提供一种高效的基于三点共线标记的三维定位方法,用于对视频图像中 具有三点共线标记点的目标三维定位,为三维空间的线型目标定位及指点式交互操作提供 一种快速、准确的跟踪方法。 本发明的技术方案为解决上述技术问题提供一种高效的基于三点共线标记的三 维定位方法,该方法包括步骤 A:设置三点共线排列的定位标记点作为定位标记物,使之位于视频帧的可视范围 内。可选择三个等间距共线排列的,色彩与背景存在反差的标记点作为定位标记物。
B :获取视频帧中定位标记点的二维位置信息。对获取的视频帧进行颜色提取和二值化处理,建立二值化处理后的视频帧图片的累加直方图;根据累加直方图获取定位标记 点在图像坐标系中的坐标;如果是合法的定位标记点,记录其在图像坐标系中的二维坐标; 确定累加直方图的方法可为,首先根据视频帧图片的二值化图像沿X轴的直方图,获得定 位标记点的X坐标,然后在二值化图像上分别取各个定位标记点的X坐标领域内的子图像, 确定沿Y轴的直方图,获得各个定位标记点的Y坐标。 C :对图像坐标系中定位标记点的二维坐标进行处理,得到定位标记物的三维位置 信息和三维姿态信息。定位标记物的三维位置信息包括定位标记坐标系原点在摄像机坐 标系下的三维坐标,三维姿态信息包括定位标记点所共线与摄像机坐标系的三轴的夹角关 系,其中定位标记坐标系为极坐标系。 建立定位标记坐标系下定位标记点的坐标与图像坐标系下定位标记点的坐标的 对应关系,根据对应关系建立方程组,解方程组得到定位标记物的三维位置信息和三维姿 态信息。将定位标记坐标系下定位标记点的坐标按离坐标原点的距离值从小到大排列,图 像坐标系下定位标记点的坐标按X坐标值从小到大排列,形成定位标记点在两坐标系下的 点与点的对应关系,建立方程组。可使用奇异值分解求最优解,得到摄像机的外部参数,即 标记点的三维位置与姿态信息。定位标记物的三维位置信息包括定位标记坐标系原点在摄 像机坐标系下的三维坐标,三维姿态信息包括定位标记点所共直线与摄像机坐标系的三轴 的夹角关系。 由于本发明实现线型物体的在三维空间的定位定姿,具有以下有益效果本方案 使用三点共线标记跟踪定位技术,与ARToolkit的平面标志物的跟踪定位技术相比,更适 合于对线型物体(如棍、棒、笔等)的跟踪定位,特别是在三维空间指点式人机交互领域应 用有较大优势。首先,使用三个共线标记点,不要求的交互设备具备较大的可视平面,只要 求可视三点,因此使用本跟踪方案的交互设备比使用基于平面标志物的交互设备在外形设 计上相对灵活;其次,三点共线标记特别适合于线型物体的跟踪,这类线型物体用于指点式 交互设备是一种自然隐喻,可对应于现实中的笔式交互设备等,给用户的体验是自然合理 的。
图1定位标记点的排布示意图 图2定位标记点所确定的线段在定位标记坐标系中的位置关系示意图
图3基于三点共线标记的三维定位方法流程图
具体实施例方式
以下针对附图和具体实例对本发明的实施进行具体说明。 附图1是设置三点共线等距排列的定位标记点示意图。标记点设置应满足以下要 求 确保应用过程中摄像机对定位标记点的可见性,即定位标记点在具体应用环境中 不会被遮挡;定位标记点的间距视具体应用环境而定,根据实际场景中跟踪目标大小与摄 像机的视野确定定位标记点间距,定位标记点的间距与目标大小和摄像机的视野为正比关 系, 一般目标越大、视野越宽,标记点的间距就越大。通常,对于手持式笔形物体的跟踪,在距离摄像机约50厘米范围内的定位标志点的间距,取7到8厘米比较合适,从而保证笔的 长度不超过18厘米;标记点能够较容易地从图像中被提取出来,可采用与背景颜色差异较 大的LED亮点作为标记点,也可采用与背景有较大颜色差异的圆形标贴。为方便起见,标记 颜色一般选红、绿、蓝三元色中的一种。实例中采用绿色LED亮点。例如简单地,可将3个 LED以7厘米的距离等间距地安装在一根平直的塑料棒上,如附图1所示。
附图2是定位标记点对应线段在定位标记坐标系中的位置关系示意图。
本实施方案涉及到以下三个坐标系 (1)以图像的左上角为原点,水平轴为X轴,垂直轴为Y轴,单位为像素建立图像坐 标系,为二维直角坐标系。 (2)以镜头光心为原点,X轴和Y轴分别与图像坐标系的X轴和Y轴平行,Z轴与 图像平面垂直,单位为毫米,建立摄像机坐标系,为三维直角坐标系。 (3)建立定位标记坐标系,结合附图2,设定位标记点所在线段L0的一个端点0 为定位标记坐标系的原点,当把定位标记坐标系看成极坐标系时,极轴与摄像机坐标系的X 轴平行,LO上的任意一点坐标为(/,( ,。,其中1为线段L0上任意一点到原点0的距离,p为 线段LO与Z轴的夹角,e为线段LO到OXY平面的投影与X轴的夹角;当把定位标记坐标 系对应为直角坐标系时,X、 Y、 Z轴分别与摄像机坐标系的X、 Y、 Z轴平行,L0上的任意一点 坐标为[Xw, Yw, Zw]。 任一点从极坐标系到直角坐标系的变换式为
<formula>formula see original document page 5</formula>其中xw、yw、zw、1的单位均为毫米,p和e的单位为弧度。
由摄像机坐标系的点[r, r, ze]映射到图像坐标系的点[x, y]的变换关系式如<formula>formula see original document page 5</formula> 其中s是比例因子,u。、v。分别为摄像机光轴与图像平面的交点在图像坐标系中的 水平和垂直坐标,ax = f/dx, ay = f/dy,而f为摄像机的焦距,dx、 dy分别为每个像素在水 平与垂直方向上的物理尺寸,单位为毫米。
摄像机内部参数矩阵为
<formula>formula see original document page 5</formula>
由定位标志坐标系的点[xw,yw,zw]映射到摄像机坐标系点[r,r,z"的变换关系 式如下飞00i;010r
2C001
i
(4) 其中[Tx, Ty, TJ为定位标志坐标系的原点在摄像机坐标系中的坐标。
结合式(i),则定位标志坐标系中点的极坐标[/,^^]映射到摄像机坐标系点[r,
r, Zc]的变换关系如下:
_r,si拜cos^7;rsin p sin 0
cosp
(5)
二m,.
(6)
其中,
sin p cos <9 l sin p sin 6* 7^
cos p rz
为摄像机外部参数矩阵,根据每帧图像计算得到[ ; , ; ,t; , ^, 0]这五个参数。
由式(2)和式(5)可得,定位标志坐标系的点[/,伊W]映射到图像坐标系点[x, y]
的变换关系式为
0M0sin p cos 6rv—/— A'少=0sin p sin 6*『y(7)
1 —001cosp
<3L
MintM, 即
内部参数矩阵(式(3))与外部参数矩阵(式(6))相乘
(8)
0 wn
si,cos^ 0 fly v0 s一sin61 0 0 l丄 cos^) 其中矩阵
c
c
'3x2
12
C21 C22
ay s—sin6^+v。 +v0;
CO* l
(10)
c12
C22
C31C32
(9)
——,1 G32.
为点从定位标志坐标系到图像坐标系的变换矩阵,其中,cij为变换参数c
于是式(7)可表示为<formula>formula see original document page 7</formula>其中,C^ = (Cll C12 C21 C22 C31 C32)T为变换参数向量 (14)附图3所示是基于三点共线标记的三维定位方法流程图,其步骤如下
301设置定位标记物参数和摄像机内部参数。
定位标记物参数为定位标记点的相对位置信息。为了确定定位标记点在定位标记坐标系中的位置,优选地,设定具有端点位置的定位标记点为定位标记坐标系原点,测量确定其他定位标记点到原点的距离。 本实例中,定位标记点的间距为7厘米,则定位标记物参数为
。
摄像机内部参数在一定的使用时间内是固定不变的,所以,可事先通过外部独立标定过程获得这些参数,并以内部参数矩阵形式(如式(3)所示)保存于文件中,每次应用时直接调用即可。 302获取视频帧。本实施方案中使用VC调用DirectShow视频库(DSVL)可以直接获得视频帧数据。具体实现步骤为 (1)在程序初始化时调用,建立视频获取对象的实例并初始化,
DSVideo*dsv = new DSVideo();
dsv- > init(); (2)在程序的循环中调用以不断获取视频帧,采集视频帧并获得图像数据结构,
Ipllmage*image = dsv- > GetNextFrame (); 303 :对获取的视频帧进行图像处理,获取视频帧中定位标记点的二维位置信息,在本实例中,包括提取具有特定颜色的LED亮点,对其进行二值化处理获取二值化图像,从二值化图像中得到LED亮点的图像位置。 Bl :提取具有特定颜色的LED亮点的二值化处理。从原始彩色图像中获得具有特定颜色特征像素的灰度图像,确定对应位置的像素值,将灰度图像转为二值图像。以本方案中的绿色LED作为定位标记点为例,优选地,可采用如下步骤 Bll :从原始彩色图像中获得具有绿色颜色特征像素的灰度图像。由原始的RGB三
通道图像,算法模块使用颜色空间转换式,对每个像素点进行操作 t卿Pix = SrcPix_Green_SrcPix_RedXO. 3_SrcPix_Blue X 0. 3 ; (15)
<formula>formula see original document page 8</formula>
(16) 其中SrcPix_Red, SrcPix_Green, SrcPix_Blue分别为原始彩色图像的每个像素点的RGB分量,GrayPix则为所求灰度图像的对应位置的像素值。 B12 :采用阈值分割的方法将灰度图像转为二值图像。给定阈值T,则二值图像像素值BinaryPix的计算式为 此时得到的图像为提取了特定颜色的二值化图像,其中像素值为255区域对应到定位标记点的图像区域。同样,可以分别使用以下变换式替换式(15)得到特定颜色为红色和蓝色的定位标记点的二值化图像。 t卿Pix = SrcPix_Red_SrcPix_GreenXO. 3_SrcPix_Blue X 0. 3 ; (18)
t卿Pix = SrcPix_Blue_SrcPix_RedXO. 3_SrcPix_GreenX0. 3 ; (19)
B2 :从二值化图像中求得LED亮点在图像中的坐标。确定二值化图像沿X轴的直方图,获得定位标记点的X坐标,在二值化图像上分别取各个定位标记点的X坐标领域内的子图像,确定沿Y轴的直方图,获得各个定位标记点的Y坐标。 B21 :获得沿X轴的累加直方图。建立一个长度为二值化图像宽度的一维数组,将二值化图像的每一列像素值求和并将结果保存到一维数组的对应位置,得到累加直方图。
B22 :搜索累加直方图( 一维数组)的局部最大值,其对应位置即为LED亮点在图像中的水平坐标x。 一般情况下,对应到3个LED亮点,累加直方图会有3个局部最大值,按x坐标的顺序,由小到大排列,记录为Xl, x2, x3。 B23:以Xi(i = 1,2,3)为中心,S为领域,取原始图像中起点坐标为[x「S,0],宽高为[2 S , IMAGE_WIDTH]的子图像区域,计算该子图像沿Y轴的累加直方图,即建立一个长度为二值化图像高度的一维数组,将子图像的每一行像素值求和并将结果保存到一维数
组对应位置,得到沿Y轴的累加直方图;搜索累加直方图局部最大值,其对应位置即为Xi对
应的亮点在图像中的垂直坐标yi。于是从二值化图像中找到了代表LED亮点的亮度区域的图像坐标[Xi,yJ。 304 :记录合法的定位标记点。由于可能受到外界其他因素的影响,比如额外的光照、反射光等,根据步骤303提取到的亮度区域的图像坐标[Xi, 不一定全部是LED亮点的图像坐标。故引入如下判断根据近似共线的特征确定定位标记点。
理论上,所有定位标记点在图像上共线。考虑到设备采集精度以及噪声干扰,合法的定位标记点具有近似共线的特征。具体表达为对于一组待定的定位标记点,如果任意一点到某确定点(通常取一端点)的斜率相近,则认为它们为合法的定位标记点。如本次检测不是合法标记点,则进行下一帧检测。 305 :将定位标志点在定位标记坐标系中三维坐标与在图像坐标系中的坐标形成对应,建立方程组,具体为 Cll :标记点在定位标记坐标系中的顺序按离坐标原点的距离值从小到大排列,如由步骤301初始化时确定的定位标记物参数
,则三个定位标记点在定位标记坐
0, e/se;标系中的坐标为[d刀],其中I! = 0, 12 = 70, 13 = 140, i = 1,2,3。由于定位标记点是
共线的,则其P^参数相同,为待求参数,V 12, 13为个定位标记点距离原点的位置;
定位标记点在图像坐标系中的坐标[Xi, yj, i = l'2,3,按x坐标值从小到大排列。于是得到定位标记点在定位标记坐标系与图像坐标系的对应点关系,
{li, [Xi,yJh i = 1,2,3 (20)C12 :将上述的对应点对代入式(13),建立方程组
<formula>formula see original document page 9</formula> 306 :解方程组(21),得到定位标记物的三维位置坐标信息和三维姿态信息。
由于式(21)左边的6X6矩阵是不满秩的,所以有非零解。可以将式(21)化为超定方程组,然后对矩阵使用奇异值分解(SVD),来解该方程组。由于在解方程组的过程中不需要求逆,所以计算速度很快,可以满足实时性要求。具体如下对式(21)进行变形,两边同时除以c32得,
<formula>formula see original document page 9</formula>
1 00
00 /21-A力
4x5 二/2 01 0 o /20 1(24)
/31 00
00 /3i
B5X1 =b12 b21b3JT(25)
D6X 1 —y! x2 y2x3y3]T(26)
将式(23)简化为:
A6x5B5x1 —D6X1(27)
对矩阵Aex5进行奇异值分解得
45 =(28)
矩阵求逆得
《5 =(29)
则由式(27)和式(29)可得
从而解出方程(23)。由式(8)得
《,《cM
令
厂
附ll柳12
'"21W"
附31附32
—6n &
"3
/7Z
23
/77 由于,C
22
^」^
展开式(31)可得
33
'32
(30)(31)
(32)
(33)
sin p cos 6*-附u附12附13 一612
sin p sin 6 r=附21&22
cosp一附31附32附33匿631632_
C32 二
3 根据三角关系约束得到c32 =1/[(XWA)2十(l^Ai)2 +(1>3A1)2]I/2 (35)
,=i /=i /=i 最后由式(34)求出^刀,j;,7;,7;),即得到了摄像机的外部参数,即定位标记点的
10
4
3
2
3
2三维位置与姿态信息c
权利要求
基于三点共线标记的三维定位方法,其特征在于,包括以下步骤,A设置三点共线排列的定位标记点作为定位标记物;B获取包含定位标记点的视频帧,对获取的视频帧图像进行颜色提取和二值化处理,建立二值化处理后视频帧图片的累加直方图;根据累加直方图获取定位标记点在图像坐标系中的二维坐标,如果是合法的定位标记点,记录其在图像坐标系中的二维坐标;C建立定位标记坐标系下定位标记点的坐标与图像坐标系下定位标记点的坐标的对应关系,根据对应关系建立方程组,解方程组得到定位标记物的三维位置信息和三维姿态信息。
2. 根据权利要求1所述的三维定位方法,其特征在于,所述步骤A中选择三个等间距共 线排列的定位标记点作为定位标记物,定位标记点的颜色与背景存在反差。
3. 根据权利要求1所述的三维定位方法,其特征在于,所述二值化处理具体包括,从原 始彩色图像中获得具有特定颜色特征像素的灰度图像,确定对应位置的像素值,将灰度图 像转为二值图像。
4. 根据权利要求1所述的三维定位方法,其特征在于,建立累加直方图的方法具体为, 确定二值化图像沿X轴的直方图,获得定位标记点的X坐标,在二值化图像上分别取各个定位标记点的X坐标领域内的子图像,确定沿Y轴的直方图,获得各个定位标记点的Y坐标。
5. 根据权利要求1所述的三维定位方法,其特征在于,根据近似共线的特征确定定位 标记点,设定的定位标记点的间距与目标大小和摄像机的视野成正比关系。
6. 根据权利要求1所述的三维定位方法,其特征在于,定位标记物的三维位置信息包 括定位标记坐标系原点在摄像机坐标系下的三维坐标,三维姿态信息包括定位标记点所共 直线与摄像机坐标系的三轴的夹角关系。
7. 根据权利要求1所述的三维定位方法,其特征在于,所述对应关系具体为,将定位 标记坐标系下定位标记点的坐标按离坐标原点的距离值从小到大排列,图像坐标系下定位 标记点的坐标按X坐标值从小到大排列,形成定位标记点在两坐标系下的点与点的对应关 系。
8. 根据权利要求1所述的三维定位方法,其特征在于,使用奇异值分解求最优解,得到 定位标记点的三维位置与姿态信息。
全文摘要
本发明请求保护一种视频帧中基于三点共线标记点的三维定位方法,涉及计算机视觉与图像处理技术。本发明针对现有基于平面标志物的跟踪定位算法局限于平面物体,需要较大的可视平面的缺陷,提供一种基于三点共线标记的三维定位方法,获取视频帧中定位标记点的二维坐标信息,建立定位标记坐标系中标记点的坐标与图像坐标系中标记点坐标的对应关系,得到定位标记物在摄像机坐标系下的三维位置信息和三维姿态信息。用于对视频图像中具有三点共线标记的目标三维定位,为三维空间的指点式交互操作提供一种快速、准确的跟踪方法。
文档编号G06T7/00GK101702233SQ20091016792
公开日2010年5月5日 申请日期2009年10月16日 优先权日2009年10月16日
发明者康波, 程序贤 申请人:电子科技大学