基于全景高速球一体机的空间配准方法
技术领域
本发明涉及图像配准方法,属于图像信息处理领域,具体为一种基于全景高速球一体机的空间配准方法。
背景技术
近年来,随着视频监控技术的发展,广角度全景监控设备的市场需求度越来越大。全景监控技术利用鱼眼镜头或折反射全向成像装置,生成包含全方位场景信息的全景视频图像,能够实现大视野、宽视角场景图像的显示,在安防监控领域具有非常重要的应用价值。
全景高速球一体机是一种新型全景监控设备,由全景摄像机1和高速球型摄像机2组成,如图1所示。其中,全景摄像机采用环眼镜头装置,生成包含空间广角度场景信息的全景视频图像,如图2所示,使得用户可以更加便利和直观的实现全景视频监控。但全景视频监控不能够准确提供目标的细节信息(如可疑人物的面部特征、肇事车辆的车牌号等),当目标区域范围较小时,图像清晰度较差,从而影响到安防监控系统的总体性能。高速球摄像机是现今安防市场中的高端一体化摄像设备。这种摄像机能够拍摄局部场景图像如图3所示,实现快速精准的聚焦定位、缩小放大和快速平稳的环视浏览,使得用户可以快速监控目标的细节。但高速球型摄像机观察范围有限,不能同时兼顾多个不同的场景。
全景高速球一体机将广角度全景摄像机和高速球型摄像机一体化结合,快速联动,充分发挥两者的优势,可以提供最佳的监控方案。其中全景摄像机位于全景高速球一体机的前方,用于采集广角度全景图像,拍摄角度向重力方向倾斜;高速球摄像机位于全景高速球一体机的底部,可以通过旋转和变焦对用户感兴趣的局部区域进行拍摄,获得更多的细节信息。
在实际安装过程中,全景摄像机和高速球摄像机之间的相对位置往往存在着各种各样的偏差。对于不同的全景高速球一体机,全景坐标和高速球坐标之间的变换关系是不同的,因此每台全景高速球一体机都需要配准。如何确定全景图像和高速球局部场景图像素点坐标之间的变换关系,从而准确控制高速球摄像机旋转角度,显示用户选择的指定区域的视频图像,是需要解决的一个关键问题。解决该问题的一种常见方法是线性配准方法。在线性配准方法中,首先通过与高速球一体机相连接的计算机计算出全景图像中某些位置像素点对应的高速球摄像机旋转角度值,然后以这些点为基础,通过线性插值的方法得到任意一点对应的高速球摄像机旋转角度值,并通过控制系统操纵高速球的旋转。这种配准方法在靠近全景图中心的区域内比较准确,但在靠近边界的区域内则难以满足精度要求,其配准效果如图4所示,其中,全景图中的白色圆圈中心为用户点击选择的位置,而高速球局部场景图像中的白色圆圈中心为采用该配准方法时高速球摄像机定位并拍摄的局部场景图像的中心。局部场景图像的中心与用户选择的点或区域之间存在较大的误差。
发明内容
本发明为解决目前全景高速球一体机存在的配准难度大、高速球摄像机不能准确定位和拍摄的技术问题,提供一种基于全景高速球一体机的空间配准方法。
本发明是采用以下技术方案实现的:一种基于全景高速球一体机的空间配准方法,包括如下步骤:
步骤一:建立全景柱面坐标系统、高速球坐标系统和球面坐标系统;
(a)基于全景图像建立全景柱面坐标系统;
基于全景图像建立全景柱面坐标系统XOZ,其中O为全景图像中心,X轴指向水平方向,Z轴指向垂直向上方向,Y轴与XOZ平面所成平面垂直;设全景柱面图像的宽为W、高为H,水平视角AngleW、垂直视角AngleH,则全景柱面图像等效焦距Cf=W/AngleW=H/AngleH;全景柱面坐标系统中的图像像素坐标为[xf,zf];所述柱面所在圆柱的半径为R;R可由实际拍摄中相机到实物的距离获得;
(b)基于高速球建立高速球坐标系统;
设S为高速球拍摄方向与球面的交点,以高速球中心为原点O,高速球半球切面为XOY平面,X轴和Y轴分别为切面方向上的两条坐标轴,球心指向高速球最底端方向为Z轴方向,定义OS在XOY平面上的投影和X轴的夹角为偏航角α,从0度至360度按顺时针方向递增;定义OS与XOY平面的夹角为俯仰角β,从水平方向至垂直向下为0至90度;设高速球坐标系统中的像素坐标为[α,β];所述高速球坐标系统的X轴与全景柱面坐标系统的Y轴方向相反;高速球坐标系统的Y轴与全景柱面坐标系统的X轴同向;
(c)建立作为全景柱面坐标系统和高速球坐标系统之间的变换辅助坐标系的球面坐标系统;
同样以高速球中心为原点O,高速球半球切面为XOY平面,球心指向高速球最底端方向为Z轴方向,即俯仰角90度方向,建立球面坐标系o-xyz;设球面坐标系统中的像素坐标为[x
s,y
s,z
s],其中
角度坐标[α,β]与高速球坐标系统的像素坐标定义相一致;
步骤二:进行从全景柱面坐标系统到球面坐标系统的变换和从高速球坐标系统到球面坐标系统的变换,即将全景柱面坐标系统中的像素坐标[xf,zf]和高速球坐标系统中的像素坐标[α,β]分别转换成球面坐标系统中的像素坐标[xs,ys,zs]:
(a)从全景柱面坐标系统中的像素坐标[xf,zf]到球面坐标[xs,ys,zs]的变换,
首先求解全景柱面坐标系统中的像素坐标[xf,zf]对应的α,β,
然后变换到球面坐标[xs,ys,zs]:
(b)由高速球坐标[α,β]到球面坐标[xs,ys,zs]的变换为:
步骤三:根据偏航角和俯仰角将高速球所能拍摄的区域分割成n个区域,控制高速球摄像机分别转动到每个区域并拍摄,截取每个区域的高速球图像,对全景图像和高速球图像特征点进行匹配,即在截取下的高速球图像中选取一个点或该图像的区域中心,并找到该点或区域中心在全景图像中的对应点,然后分别根据(2)、(3)式计算出全景图像中对应点的球坐标以及高速球图像中对应点的球坐标;
全景图像中对应点的球坐标为:
{Ps1 i}={(xs1 i,ys1 i,zs1 i)}(i=1…n) (4)
高速球图像中对应点的球坐标为:
{Ps2 i}={(xs2 i,ys2 i,zs2 i)}(i=1…n) (5)
步骤四:利用配对特征点,将高速球点坐标和对应的全景图像点坐标变换到球面坐标,求解变换矩阵:
设全景柱面坐标上的点变换成球面坐标为:
S1(x,y,z)=[xs1,ys1,zs1] (6)
与式(6)点对应的高速球坐标上的点变换成球面坐标为:
S2(x,y,z)=[xs2,ys2,zs2] (7)
则两坐标之间满足关系(8):
S2=T·S1 (8)
其中T为全景柱面图像坐标系统和高速球坐标系统之间的变换矩阵;
在拍摄n幅高速球图像的情况下,分别得到全景柱面点坐标系统中的点坐标矩阵和高速球坐标系统中的点坐标矩阵:
A1,A2,T满足关系(10):
A2=T·A1 (10)
求解此方程即可得到变换矩阵T;
步骤五:在全景图像中选定要观察的点或区域,该点或区域中心的球面坐标为[xs1,ys1,zs1],根据公式(10)计算出在全景图像中所选择的点或区域中心对应的高速球图像的点或区域中心的球面坐标为[xs2,ys2,zs2],计算高速球旋转角度α和β,控制高速球旋转,对用户感兴趣点或区域进行拍摄;采用公式(11)计算出高速球旋转角度α和β:
由于全景摄像机是将拍摄到的图像投影到一个圆柱面上,因此需要建立一个柱面坐标,将图像上的各个像素点通过柱面坐标系统表示出来。所述的高速球坐标系统是在高速球的基础上建立的坐标系统,目的是将高速球的像素坐标表示出来;所述的球面坐标系统是同样基于高速球而建立的,并将球面的半径归一化为1,以方便计算。分别将全景柱面坐标系统中的像素坐标以及高速球的像素坐标转换成球面坐标系统中的表达式,这样统一在一个坐标系统下的像素才能进行转换。对于高速球所拍摄的高速球图像中的一个点,我们可以在全景图像中找到相对应的点(或区域中心点),然后分别计算这两点转换成的球面坐标系统中的点坐标;转换成球面坐标系统后,两个点会有一定的误差,二者之间存在一个变换矩阵T,我们先通过选定N对匹配点,从而计算出矩阵T,这样就能够在知道全景图像中某点的坐标时,得到与该点对应的高速球的点在球面坐标系统中的坐标。在实际应用中,当用户选择全景图像中某个点时,就可以采用上述方法计算出高速球摄像机旋转角度α和β,控制高速球摄像机快速旋转定位,并拍摄以用户选择的点或区域为中心的局部场景图像,可对全景图像中任意用户感兴趣的区域进行局部放大。高速球的旋转角度计算以及旋转的控制是通过全景高速球一体机所配置的计算机及控制系统在相应软件的支持下完成的。由于实际拍摄中R远大于Xf,因此公式(1)中 可近似写成
综上所述,本发明所述方法首先建立全景坐标系统、高速球坐标系统和球面坐标系统,然后确定全景图像和高速球场景图像像素点坐标之间的变换关系,对采集到的全景图像和高速球局部场景图像进行配准,从而准确控制高速球摄像机的旋转,对全景图像中任意感兴趣的区域进行局部放大。本发明所述方法能够对全景图像和高速球局部场景图像进行准确配准,当用户选择全景图中的某个点或区域时,能够快速准确计算出高速球旋转角度,并对局部场景进行拍摄,对于提高监控设备性能、满足用户需求具有非常重要的意义。
附图说明
图1本发明所述的全景高速球一体机的结构图。
图2为全景摄像机拍摄的包含广视角场景信息的全景视频图像。
图3为高速球摄像机拍摄的局部场景图像。
图4为线性配准方法的配准效果。
图5为本发明提出的空间配准方法的配准效果。
图6为全景坐标系统。
图7为高速球坐标系统。
图8为球面坐标系统。
1-全景摄像机,2-高速球摄像机。
具体实施方式
一种基于全景高速球一体机的空间配准方法,包括如下步骤:
步骤一:建立全景柱面坐标系统、高速球坐标系统和球面坐标系统;
(a)基于全景图像建立全景柱面坐标系统;如图6所示;
基于全景图像建立全景柱面坐标系统XOZ,其中O为全景图像中心,X轴指向水平方向,Z轴指向垂直向上方向,Y轴与XOZ平面所成平面垂直;设全景柱面图像的宽为W、高为H,水平视角AngleW、垂直视角AngleH,则全景柱面图像等效焦距Cf=W/AngleW=H/AngleH;全景柱面坐标系统中的图像像素坐标为[xf,zf];所述柱面所在圆柱的半径为R;R可由实际拍摄中相机到实物的距离获得;
(b)基于高速球建立高速球坐标系统;如图7所示;
设S为高速球拍摄方向与球面的交点,以高速球中心为原点O,高速球半球切面为XOY平面,X轴和Y轴分别为切面方向上的两条坐标轴,球心指向高速球最底端方向为Z轴方向,定义OS在XOY平面上的投影和X轴的夹角为偏航角α,从0度至360度按顺时针方向递增;定义OS与XOY平面的夹角为俯仰角β,从水平方向至垂直向下为0至90度;设高速球坐标系统中的像素坐标为[α,β];所述高速球坐标系统的X轴与全景柱面坐标系统的Y轴方向相反;高速球坐标系统的Y轴与全景柱面坐标系统的X轴同向;
(c)建立作为全景柱面坐标系统和高速球坐标系统之间的变换辅助坐标系的球面坐标系统;如图8所示;
同样以高速球中心为原点O,高速球半球切面为XOY平面,球心指向高速球最底端方向为Z轴方向,即俯仰角90度方向,建立球面坐标系o-xyz;设球面坐标系统中的像素坐标为[x
s,y
s,z
s],其中
角度坐标[α,β]与高速球坐标系统的像素坐标定义相一致;
步骤二:进行从全景柱面坐标系统到球面坐标系统的变换和从高速球坐标系统到球面坐标系统的变换,即将全景柱面坐标系统中的像素坐标[xf,zf]和高速球坐标系统中的像素坐标[α,β]分别转换成球面坐标系统中的像素坐标[xs,ys,zs]:
(a)从全景柱面坐标系统中的像素坐标[xf,zf]到球面坐标[xs,ys,zs]的变换,
首先求解全景柱面坐标系统中的像素坐标[xf,zf]对应的α,β,
然后变换到球面坐标[xs,ys,zs]:
(b)由高速球坐标[α,β]到球面坐标[xs,ys,zs]的变换为:
步骤三:根据偏航角和俯仰角将高速球所能拍摄的区域分割成n个区域,控制高速球摄像机分别转动到每个区域并拍摄,截取每个区域的高速球图像,对全景图像和高速球图像特征点进行匹配,即在截取下的高速球图像中选取一个点或该图像的区域中心,并找到该点或区域中心在全景图像中的对应点,然后分别根据(2)、(3)式计算出全景图像中对应点的球坐标以及高速球图像中对应点的球坐标;
全景图像中对应点的球坐标为:
{Ps1 i}={(xs1 i,ys1 i,zs1 i)}(i=1…n) (4)
高速球图像中对应点的球坐标为:
{Ps2 i}={(xs2 i,ys2 i,zs2 i)}(i=1…n) (5)
步骤四:利用配对特征点,将高速球点坐标和对应的全景图像点坐标变换到球面坐标,求解变换矩阵:
设全景柱面坐标上的点变换成球面坐标为:
S1(x,y,z)=[xs1,ys1,zs1] (6)
与式(6)点对应的高速球坐标上的点变换成球面坐标为:
S2(x,y,z)=[xs2,ys2,zs2] (7)
则两坐标之间满足关系(8):
S2=T·S1 (8)
其中T为全景柱面图像坐标系统和高速球坐标系统之间的变换矩阵;
在拍摄n幅高速球图像的情况下,分别得到全景柱面点坐标系统中的点坐标矩阵和高速球坐标系统中的点坐标矩阵:
A1,A2,T满足关系(10):
A2=T·A1 (10)
求解此方程即可得到变换矩阵T;
步骤五:在全景图像中选定要观察的点或区域,该点或区域中心的球面坐标为[xs1,ys1,zs1],根据公式(10)计算出在全景图像中所选择的点或区域中心对应的高速球图像的点或区域中心的球面坐标为[xs2,ys2,zs2],计算高速球旋转角度α和β,控制高速球旋转,对用户感兴趣点或区域进行拍摄;采用公式(11)计算出高速球旋转角度α和β:
为了进行全景和高速球图像特征点匹配,采用目前较为成熟的SIFT算法(尺度不变特征变换,Scale Invariant Feature Transform)寻找和匹配特征点。
在这一过程中可能会出现特征点错误匹配的情况,因此本方法引入RANSAC算法(随机抽样一致,Random Sample Consensus)剔除错误匹配点,进一步提高特征点匹配的精度。
在实际应用中,当用户选择全景图中某个点时,采用上述方法计算出高速球摄像机旋转角度α和β,控制高速球摄像机快速旋转定位,并拍摄以用户选择的点或区域为中心的局部场景图像,可对全景图像中任意用户感兴趣的区域进行局部放大。最后的配准效果如图5所示,高速球摄像机拍摄的局部场景图像的中心与用户点击选择的位置基本重合。