适用于计算机图像观看的实时广角图像校正系统和方法

文档序号:6369880阅读:193来源:国知局
专利名称:适用于计算机图像观看的实时广角图像校正系统和方法
技术领域
本发明主要涉及利用计算机观看图像,尤其涉及实时校正广角摄像机拍摄的图像以减少与这样的图像关联的变形和感觉问题。
背景技术
广角摄像机常常用于拍摄大场景。广角摄像机一般具有比大约60度更大的视野。广角摄像机也包括全景摄像机,这是具有高达360度的视野的广角摄像机。
能用至少两种类型的投影观看广角图像。线性透视投影是由广角镜拍摄的、投影到平面胶片上的图像。线性透视投影保持直线笔直而损害形状的保持。这引起透视变形。如果图像的观众将它们的眼睛放在投影中心则这幅图像将显得正确且没有变形。可是,在以较小的视野观看广角图像时,观众期望物体旋转时在图像平面中既要图像的尺寸增加较少还要变形量较小。这就是为什么物体在边缘出现拉伸。尺寸上比期望的变化大和在图像平面上的变形使用户感到场景不是固定的,好象场景在围绕观众漂浮,特别是在观看全景图像时。
柱面投影是用具有弯曲的薄膜和旋转式棱镜制作的。柱面投影在保持形状上比线性投影好。此外,柱面投影减轻任何明显的漂浮运动。即使柱面投影与线性投影相比是一个观看的改进,但仍存在变形和感觉问题。特别地,柱面投影将直线弯曲得比所需要的更多。此外,柱面投影在观看全景图像时几乎完全地去除了转动头部的错觉。
在广角图像中的变形和弯曲问题是由于视野失配引起的。特别地,由于在计算机显示器上限制观看的尺寸和标准观看距离,在观看时对着图像的角度比将场景最初投影到图像平面的摄像机视野小得多。这种失配是许多变形和感觉问题的起因。
由在观看时较小的视野所引起的一个相关的问题是深度的错觉。广角图像放大了在近的和远的物体之间深度差异。在场景中物体深度的一个重要视觉暗示是位于近与远位置的相似物体的图像尺寸之间的比例(被称为深度透视缩短比)。较小的视野导致较小的透视缩短比。例如,假定一场景包括两个人彼此挨着站在一起,其中一人离摄像机比另一个人稍远些。如果该场景是采用常规的(大约60度)视野的摄像机拍摄的以及利采用广角视野的摄像机拍摄相同的场景,那么场景中物体的尺寸会显得不同。特别地,用常规视野的摄像机,离摄像机较远的人会显得比另一个人离摄像机稍微更远一些。不过,用广角视野的摄像机,离摄像机较远的人会显得比另一个人更小。因为这放大的尺寸是不同的,离摄像机较远的人显得比他实际的位置更远些。当在计算机显示器观看广角图像的深场景(如视频会议场景)时,一般而言,观众的视野比实际图像的视野要小得多。因此,观众感觉的深度比实际深度大得多。
一种暴露这些变形和感觉问题的应用是在视频会议系统中,在视频会议中经常使用广角摄像机拍摄和传送包含在会议室中所有与会者的图像。可是在观看视频会议时的一个问题是广角图像放大了会议室的深度。这使在图像中间的人(离摄像机最远的人)与会议室中的其它人相比显得非常小,这是由于极度透视缩短。
在用目前全景观看软件观看广角图像时,这些变形和感觉问题更为明显。当用户(在视觉上)转动他的头部,在一边出现的物体已经拉长,然后随它们经过中间的距离而缩小。最后,该物体在另一边时再次拉长。这使固体物体随着视野旋转而出现变形和远近的漂浮着。
因此,这就需要能实时校正由广角摄像机拍摄的图像以减轻与这样的图像关联的变形和感觉问题的系统和方法。
发明概述这里公开的本发明包括用于提供对广角摄像机所拍摄的广角图像进行实时校正变形和感觉的系统和方法。实时广角图像校正系统和方法使用一类参量弯曲函数有效地和高效地校正在广角图像中的变形和感觉错误。此外,该系统校正深度错误,如在视频会议应用程序中出现的。校正深度错误可以得到更有用的和有意义和视频会议显示。此外,参量弯曲函数能用于在观看广角图像时消除漂浮运动的人工痕迹。
一般而言,实时广角图像校正方法输入一有缺陷的广角图像,校正放大的深度和水平变形,并输出经校正的广角图像。使用一类弯曲函数执行校正,这可以设计为对所引入新的变形最小化同时克服与广角摄像机关联的大多数问题。这类新的弯曲函数包括空间变化均匀缩放函数。通常,在局部程度上执行缩放同时保持整体环境。对于视频会议应用来说,这意味着弯曲放大远处的人而不是变形每个人并保持会议室的背景。
实时广角图像校正方法包括接收一广角图像的象素坐标并对广角图像的象素坐标执行垂直和水平缩放。使用参量图像弯曲函数执行缩放。这个缩放产生对应于一保持垂直线笔直但水平线可能变形的图像的一初级弯曲表。为了校正这个变形,该方法包括对该初级弯曲表执行一水平变形校正函数。其结果输出是一将经校正的图像象素坐标映射到原图的象素坐标的弯曲表。换言之,弯曲表为每个原象素坐标指出在一新的经校正的广角图像中的位置。使用弯曲表,实时地从原广角图像构成经校正的广角图像。经校正的广角图像在视觉上免除了变形和感觉问题。
使用参量图像弯曲函数和一弯曲系数单独地对图像中每条垂直扫描线执行垂直缩放。使用源曲线、弯曲系数和由源曲线和弯曲系数计算出的目标曲线计算主缩放系数。本发明的一个方面具有由用户定义的源曲线和弯曲系数。主缩放系数用于在垂直方向上缩放象素坐标。在实际上,这个垂直缩放用主缩放系数量垂直地“拉伸”广角图像中所选择垂直扫描线。同样对垂直扫描线执行水平缩放并使用相同的主缩放系数以保持纵横比。与垂直缩放相似,水平缩放在实际上可被认为用主缩放系数量局部地垂直地“拉伸”广角图像的垂直扫描线。在虚拟感觉中,对原广角图像应用垂直和水平缩放,我们就获得一经初级校正的图像。为了加快计算,我们产生一初级弯曲表,将经初级校正的图像的初级象素坐标映射到原图的象素坐标。
通过将初级弯曲表按照象素坐标的位置分割成部分来校正水平变形。使用不同缩放系数垂直地缩放每个部分。在本发明的一个方面,第一部分被定义为包含对应位于底部源曲线和顶部源曲线之间象素的那些象素坐标。然后使用主缩放系数垂直地缩放这个部分的象素坐标。使用一与主缩放系数不同值的第二缩放系数垂直地缩放其它部分中的象素坐标。为了保持连续性,用平滑函数连接每个部分。一旦对初级弯曲表中的象素坐标完成水平变形校正函数过程,产生一弯曲表。使用这个弯曲表,对一广角图像执行实时变形以实时地产生一经校正的广角图像。
本发明的一实时广角图像校正系统使用上述的方法以提供实时校正和观看广角图像。


参考下面说明本发明的方面的说明和附图能进一步理解本发明。从下面以实例说明本发明原理并结合附图的本发明详细说明中,其它特点和优势将是显而易见的。
现在参照附图,在所有附图中相似的参考数字代表相应的部分
图1是说明本发明的实时广角图像校正系统的总体概观的一方框图。
图2是说明适于进行本发明一个计算设备的方框图。
图3是详细说明图1所示的实时广角图像校正系统的弯曲表生成模块的方框图。
图4是说明图1所示的实时广角图像校正系统的操作的总体流程图,。
图5是详细说明图3所示的垂直缩放模块的流程图。
图6说明由两组曲线确定的弯曲函数。
图7是详细说明图3所示的水平缩放模块的流程图。
图8是详细说明图3所示的水平变形校正函数模块的流程图。
图9说明了垂直缩放函数和初级象素坐标分成三部分的概念图。
图10A示出未经任何校正的舞厅的透视图。
图10B示出与图10A相同的、在应用SVU缩放函数后的场景。
图11示出由工作实例的广角摄像机所产生的最终柱面广角图像。
图12示出都具有弯曲系数α=0.3的源曲线和目标曲线。
图13示出工作实例的经初级校正的图像,这是应用SVU缩放弯曲函数而没有水平变形校正函数的结果。
图14示出应用SVU缩放函数和水平变形校正函数的结果。
图15示出使用弯曲系数α=0.2的工作实例的经校正的广角图像。
图16示出使用弯曲系数α=0.4的工作实例的经校正的广角图像。
图17说明一矩形物体绕摄像机旋转的透视投影。
图18A说明深度错觉概念和示出用普通视野摄像机拍摄的场景。
图18B示出与图18A相同的场景,是用广角摄像机拍摄的。
图19说明了正圆柱面和椭圆柱面的横截面的二维图。
图20说明图4所示的实时广角图像校正方法的操作实例。
发明详细说明在本发明的以下说明中参照构成说明一部分的附图,并且为了说明本发明借以实现的特殊实例而示出的。应当理解在不脱离本发明的范围内可利用其它的实施例并作出结构改变。
I.概述本发明包括一实时广角图像校正系统和方法,以获得和处理广角图像从而输出非失真的正确的广角图像。实时广角图像校正系统和方法能被用于观看广角图像且不存在拉长、弯曲失真和放大深度这些困扰传统广角图像的问题观看广角图像。利用一新的参量弯曲函数类完成广角图像的校正。在本发明的一个方面,这些参量弯曲函数是保持局部缩放透视并校正深度错觉的空间变化均匀(SVU)缩放函数。SVU缩放函数和缩放系数用于对图像的象素坐标进行垂直缩放和水平缩放。这产生一个将经初级校正的图像的象素位置映射到原象素坐标的初级弯曲表。该经初级校正的图像是一虚拟的图像而不是实际创建的。不过,经初级校正的图像保持垂直线为直但扭曲垂直线。通过执行使用SVU缩放函数和至少两个不同的缩放系数的水平变形校正函数来校正这个水平变形。这一处理产生一弯曲表。弯曲表将经校正的广角图像的位置映射到被扭曲的广角图像的原象素坐标。利用弯曲表,原广角图实时创建经校正的广角图像。
图1是说明本发明的实时广角图像校正系统100的总体概观的方框图。通常,系统100获得广角图像110并输入对应于广角图像中每个象素坐标的广角象素图像坐标120。广角象素图像坐标120由实时广角图像校正系统100处理并输出经校正的广角图像130。
广角图像110可能是单一的图像(如来自一静态照相机)或一图像序列的一部分(如来自一摄像机)。获得广角图像110的每个象素坐标,就可以产生广角象素图像坐标120。例如,在一直线坐标帧中,象素坐标120是广角图像110中每个象素的(x,y)位置。实时广角图像校正系统100包括一弯曲表生成模块140、一弯曲表150和一实时图像弯曲系统160。
弯曲表生成模块140常利用参量图像弯曲函数来产生弯曲表150。广角象素图像坐标120经处理产生弯曲表150。关于弯曲表生成模块140的详细内容在下面讨论。弯曲表150包含对应经校正的广角图像130中位置方式所排列的广角象素图像坐标120。因此,弯曲表150为广角象素图像坐标120确定在经校正的广角图像130中的新位置。
一旦产生了弯曲表150,则接收广角图像110且作为实时弯曲系统160的输入。实时图像弯曲系统160将弯曲表150应用于广角图像110以创建经校正的广角图像130。实时弯曲系统160通过为经校正的广角图像130中的每个位置得到广角图像110在弯曲表150中象素坐标位置上的RGB值而创建广角图像130。在广角象素坐标120上的RGB值于是重新定位在经校正的广角图像130中。于是使用弯曲表150确定新的位置。
因为弯曲表的产生意味着创建经校正的广角图像130所要求的所有一切就是将弯曲表150应用于广角图像110,这能够快速地完成的,所以可实时地进行弯曲处理。总之,实时广角图像校正系统100通过处理广角象素图像坐标120产生一弯曲表,并随后利用弯曲表150从广角图像110创建经校正的广角图像130。
II.典型运行环境本发明的实时广角图像校正系统100被设计运行在计算环境。下面的讨论试图提供适合于实现本发明的计算环境的简要全面的说明。
图2是说明适于实现本发明的一个计算装置的方框图。尽管不是必需的,本发明将在计算机可执行指令如由计算机执行的程序模块的背景中描述。通常,程序模块包括执行特定的任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。此外,本领域的技术人员将意识到本发明可以在各种各样的计算机系统配置中实行,包括个人计算机、服务器计算机、手持设备、多处理器系统、基于微处理器或可编程的消费电子设备、网络PC、小型机、大型机等等。本发明也可以在由通过通信网络连接的远程处理设备执行任务的分布式计算环境中实行。在一分布式计算机环境中,程序模块可以设置在本地和远程计算机包括存贮器存储设备在内的存储介质中。
参照图2,实现本发明的一个典型系统包括一通用计算设备200。特别地,计算设备202包括处理单元202、系统存贮器204、以及将包括系统存贮器204在内的各种系统部件连接至处理单元202的系统总线206。系统总线206可以几种类型的总线结构的任意一种,它包括存贮器总线或存贮器控制器、外部总线和使用各种总线结构的任意一种的本地总线。系统存贮器包括只读存贮器(ROM)210和随机存取存贮器(RAM)212。基本输入/输出系统(BIOS)214存贮在ROM210中,它包含基本例程,它帮助在启动时计算设备200中部件之间传输信息。计算设备200还包括用于读写硬盘的硬盘驱动器216(未显示)、用于读写可移动磁盘220的磁盘驱动器218、和用于读写可移动光盘224如CD-ROM或其它光学介质的光盘驱动器222。硬盘驱动器216、磁盘驱动器228和光盘驱动器222通过硬盘驱动器接口226、磁盘驱动器接口228和光盘驱动器接口230分别连接至系统总线206。驱动器和它们的关联的计算机可读介质提供了适用于计算设备200的计算机可读指令、数据结构、程序模块和其它数据的非易失的存储。
尽管这里所描述的典型环境使用硬盘、可移动磁盘220和可移动光盘224,但本技术领域的技术人员应该意识到能存储计算机可访问的数据的其它类型的计算机可读介质,诸如磁带、闪存卡、数字视频盘、伯努利盒、随机存贮存贮器(RAM)、只读存贮器(ROM)等等,也可用在此典型运行环境中。
许多程序模块可以存储在硬盘、磁盘220、光盘224、ROM210或RAM212中,程序模块包括操作系统232、一个或多个应用程序234、其它程序模块236(如广角图像去除弯曲系统100)和程序数据238。用户(未示出)可以通过输入设备(如,键盘240和定位设备242)向计算设备200输入命令和信息。另外,摄像机243(如摄像机)可以和其它输入设备(未示出)一样连接至计算设备200,包括例如话筒、操纵杆、游戏垫、卫星电视天线、扫描仪等等。这些其它输入设备常常通过连接至系统总线206的串行接口244连接到处理单元202,但可以通过其它接口连接,如并行口、游戏口或通用串行总线(USB)。监视器246(或其它类型显示设备)通过一个接口如视频适配器248也连接到系统总线206。除监视器246之外,计算设备如个人计算机一般包括其它外部输出设备(未示出)如扬声器和打印机。
计算设备200可以运行于网络环境中使用逻辑连接至一或多个远程计算机如远程计算机250。远程计算机250可能是另一台个人计算机、服务器、路由器、网络PC、对等设备或其它普通网络节点,并且一般包括上面有关计算设备200描述的许多或全部部件,尽管图2只图示一个存贮器存储设备252。图2所示的逻辑连接包括局域网(LAN)254和广域网(WAN)256。这样的网络环境在办公室、企业级计算机网络、企业内部互联网和国际互联网中是普遍的。
当在LAN网络环境中使用时,计算设备200通过网络接口或适配器258连接到本地网络254。当在wAN网络环境中使用时,计算设备200一般包括与广域网256如互联网建立通信的调制解调器260或其它设备。调制解调器260,可以是内置的或外置的,通过串行接口244连接至系统总线206。在网络化环境中,有关计算设备200所描述的程序模块或其部分可以存贮在远程存贮器存储设备252。可以意识到所示的网络连接只是用于举例,并且也可以使用在计算机之间建立通信连接的其它设备。
III.系统细节一般而言,实时广角图像校正系统100提供广角图像100的实时校正。系统100校正在垂直和水平方向上的弯曲和变形。另外,系统100校正诸如深度和眩晕运动等感觉问题。
图3是详细说明图1所示的弯曲表生成模块140的方框图。特别地,弯曲表生成模块140包括用于输入广角象素图像坐标120的输入模块300。这些象素坐标120代表在广角图像110中每个象素的位置。应该注意图像110可以是单一图像或一个图像序列,例如来自摄像机的视频序列。模块140也包括垂直缩放模块310。垂直缩放模块310用弯曲函数处理广角象素图像坐标120的每个垂直扫描线,使得广角象素图像坐标120在垂直方向缩放。概念上,这可以被认为在垂直方向上“拉伸”广角图像110。这个垂直缩放部分地校正了广角图像110中放大的深度。
弯曲表生成模块140也包括一个水平缩放模块320,使用参量图像弯曲函数在水平方向缩放广角象素图像坐标120。与垂直缩放相似,概念上这可以被认为在水平方向上“拉伸”广角图像110。另外,对每个垂直扫描线单独地进行水平缩放,从而保持广角图像110的纵横比。
垂直缩放模块310和水平缩放模块320建立一个初级弯曲表,它将初级象素坐标映射至原象素坐标。能用初级弯曲表创建初级校正的图像。实际上并没有这么做,初级校正的图像只是虚拟的图像。初级校正的图像具有垂直线保持垂直但水平线被变形的性质。
为了校正这种水平变形,水平变形模块330也被包括在弯曲表生成模块140中。水平变形模块330根据初级弯曲表中的初级象素坐标的位置以不同的量缩放初级象素坐标。弯曲表生成模块140的输出是弯曲表150。弯曲表将校正的广角图像130中的象素坐标映射到原广角图像素坐标120。
IV.广角图像校正操作概述本发明的实时广角图像校正方法使用了参量类图像弯曲函数。这些参量图像弯曲函数试图将具有比图像设备更小的视野的观察器所引起的图像感觉问题最小化。参量类图像弯曲函数被称为空间变化均匀缩放函数或SVU缩放函数。尽管SVU缩放函数可以局部地重建一个均匀缩放函数以保持纵横比,但是在要产生弯曲的图像上缩放系数是变化的。此外,保角投影类能提供局部均匀缩放,但这些函数引入了可视干扰的旋转。空间变化均匀缩放函数在观看全景图像时避免旋转并去除了漂浮运动。
图4是说明图1所示实时广角图像校正系统100的实时广角图像校正方法的操作主流程图。一般而言,该方法由广角象素图像坐标产生一个弯曲表并用弯曲表处理广角图像以创建经校正的广角图像。更特别地,来自广角图像110的广角象素图像坐标120作为输入接收(方框400)。下一步,产生弯曲表150(方框410)。弯曲表150被用于确定在广角象素图像坐标120中经校正的广角图像象素坐标130的位置。
如下面详细讨论,弯曲表150的产生包括垂直缩放、水平缩放和水平变形校正函数。垂直缩放校正广角图像110的放大的深度。为了校正放大的深度,在广角图像110中心的远距离物体或人相对于那些离摄像机近的物体或人需要被放大。换言之,弯曲函数应该这样,在模拟统一缩放时它们中间比边上要多放大一些。SVU缩放函数保持垂直线垂直。
为了保持广角图像110的纵横比,同样执行水平缩放。特别地,参量图像弯曲函数(如SVU缩放函数)被用于执行水平缩放为广角图像110的每个垂直扫描线产生新的宽度。当SVU缩放函数保持垂直线垂直时,它们将引入一个垂直剪切的确定量。在视觉上,会感觉到象是水平线的倾斜和变形。场景常常在图像的顶部或底部包含水平面,如桌子或房间的天花板,对于这些的变形可能是最值得注意的。
为了校正这个垂直剪切,实时广角图像校正方法进一步包括执行水平变形校正函数以校正广角图像110的水平变形。一般而言,这是通过放松垂直缩放的一致性并非线性地缩放广角图像110的垂直位置(如沿着一条垂直扫描线)。在垂直缩放、水平缩放和水平变形校正函数后,产生的弯曲表150将经校正的广角图像130中的一个象素映射到广角图像110。
一旦已经产生弯曲表150,广角图像110作为输入被接收(方框420)。广角图像110随后被实时地弯曲以创建经校正的广角图像130。所建立的弯曲表可在校正的广角图像130的每个位置能找到广角图像110中的一个象素以创建免除变形的广角图像。
为了更充分地理解本发明的实时广角图像校正方法,介绍一个实例。图20说明如图4所示的实时广角图像校正方法的操作的一个实例。特别地,接收包含由一广角摄像机(未示出)拍摄到的视频会议场景的广角图像110进行处理。
接着,确定在广角图像110中各个像素的坐标。在这个例子中,将所建立的具有垂直轴Y和水平轴X的直线坐标系统应用于广角图像110。源广角图像的宽度是w。来自广角图像110的象素2000由广角象素图像坐标120用象素坐标(x,y)表示(方框2010)。应该注意,x表示象素2000沿X轴的水平位置,且y表示象素2000沿Y轴的垂直位置。
随后产生弯曲表150,以确定象素坐标2010在校正的图像150中的位置。如图20所示,弯曲表具有一第二直线坐标系统,它具有垂直轴Y’和水平轴X’。经校正的图像150的宽度是w’。使用下面详述参量图像弯曲函数和的缩放系数,象素坐标2010在经校正的图像中的一个位置表示在经校正的图像150中的象素坐标的位置。如图20所示,在弯曲表中,用经校正的象素坐标(x’,y’)给出象素坐标2010的位置。同样,应该注意,x’表示象素2010沿X’轴的水平位置,且y’表示象素2010沿Y’轴的垂直位置。
通过使用弯曲表将(广角图像110的)象素2000映射经校正的图像150中的经校正的象素2020来实时创建经校正的图像150。一旦确定了在经校正的图像150中的象素2000位置,就能将象素2000的RGB值应用于经校正的图像150中的经校正的象素2020。在这种方式中,能实时地校正广角图像110,以创建经校正的图像150,它在视觉上没有通常与广角图像关联的变形和其它感觉问题。
V.操作细节实时广角图像校正方法实时地处理广角图像以校正与广角图像关联的变形和感觉问题。使用具有缩放系数的参量类图像弯曲函数进行校正处理。使用这些参量图像弯曲函数和缩放系数来产生直接应用于广角图像的弯曲表。在本发明的一个方面,广角图像是一个柱面投影。同样,在本发明的一个方面参量图像弯曲函数是SVU缩放函数。
垂直缩放图5是详细说明图3所示的垂直缩放模块310的流程图。广角象素坐标120作为输入接收(方框500)。下一步,用一组曲线和缩放系数来确定参量图像弯曲函数(如SVU缩放函数)。特别地,连同弯曲系数(方框520)一起指定源曲线(方框510)。使用这些源曲线和弯曲系数就可能计算目标曲线(方框530)。
图6说明弯曲函数是由两组曲线确定的(1)源曲线;和(2)目标曲线。在本发明的一个方面,源曲线是由用户通过一简单的用户接口提供的。这些源曲线提供参量图像弯曲函数的参数。通过用户接口,用户可以定义二条立方曲线。这两条源曲线定义共同的(真实世界)水平特征,例如人们头部的顶部和桌子的边界。如图6所示,指定了一条顶部源曲线St和一条底部源曲线Sb。
也可由用户选择的弯曲系数α确定图像的弯曲程度。弯曲系数α处于0和1之间,其中a=0为无弯曲而a=1为最大弯曲。概念上,指定a=0将使图像不被改变,而指定a=1将把源曲线上象素拉到终点之间的直线上。一般地,理想的弯曲系数放在0和1之间大约一半的地方。
一旦指定源曲线和弯曲系数,就能计算目标曲线(方框530)。设y=St(x)和y=Sb(x)分别是顶部和底部源曲线的方程。两条(源曲线上的点将移动至的)目标曲线由源曲线和确a定。特别地,定义了一条顶部目标曲线Tt和一条底部目标曲线Tb。如果在St(x)终点之间定义的曲线方程为y=yt(x),且连接底部源曲线终点的曲线方程为y=yb(x),那么Tt(x)=(1-a)St(x)+a yt(x),以及Tb(x)=(1-a)Sb(x)+a yb(x)。
随后用源曲线和目标曲线计算主缩放系数r(x)(方框540)。特别地,图6所示给定任何垂直扫描线x,设A、B表示它与源曲线的交叉点,而A’、B’为与目标曲线的交叉点。SVU缩放函数将AB缩放至A’B’。设r(x)=||A′B′||||AB||---(1)]]>=Tt(x)-Tb(x)St(x)-Sb(x)]]>这个比例r(x)就是位于水平位置x的垂直扫描线的主缩放系数。随后在垂直方向用主缩放系数r(x)缩放该垂直扫描线的广角象素坐标120(方框550)。
水平缩放为了保持纵横比,也同样在水平方向上缩放广角象素坐标120。水平缩放使用相同的主缩放系数r(x)。换言之,就象垂直缩放垂直扫描线一样,同样用主缩放系数r(x)水平地缩放它,以保持纵横比。
图7是详细说明图3所示的水平缩放模块的流程图。接受垂直缩放的广角象素坐标作为输入(方框700)。使用主缩放系数r(x)在水平方向缩放经垂直缩放的广角象素坐标(方框710)。一旦经垂直缩放的广角象素坐标120缩放之后,经初级校正的图像的总宽度w’变成w′=∫0wr(x)dx---(2)]]>其中w是广角图像(或源图)110的宽度。
接着,产生初级弯曲表(方框720)。初级弯曲表包含初级象素坐标。初级象素坐标是已经被垂直和水平缩放后的广角象素坐标。概念上,初级象素坐标可以用于构成经初级校正的图像。因此,对于广角图像110中任意象素(x,y),设(X’,y’)表示在经初级校正的图像中的新位置。这产生x′=∫0xr(x)dx---(3)]]>y′=Tt(x)+r(x)*(y-St(x))]]>方程式(3)是SVU缩放函数的前向映射方程式。SVU缩放函数不是在所有位置完全均匀的缩放。容易证明在所有位置完全均匀的缩放的函数是一个均匀球面缩放函数。
SVU缩放函数与在一般的圆柱表面上的投影相似。不过,如附录II所示,这样一个简单的投影不会产生局部均匀缩放。所需要的是局部一致缩放,而缺少局部一致缩放引起经初级校正的图像中出现的物体象被拉伸过一样。
水平变形校正一旦已经在垂直和水平方向上缩放了广角象素坐标120,就要校正结果初级弯曲表的水平变形。需要水平变形校正函数因为参量类图像弯曲函数(如SVU缩放函数)保持垂直线垂直时却使水平线变形。要最小化这个问题,放松缩放的灵活地和线性地缩放每条垂直扫描线。
图8是详细说明图3所示的水平变形模块330的流程图。一般而言,模块330将初级弯曲表中的初级象素坐标分成部分并根据适用于每个部分所指定的缩放系数在垂直方向上缩放该部分。部分之间的缩放系数可以不同,且至少与一个部分不同。
特别地,水平变形校正模块330首先将初级弯曲表分成部分(方框800)。在本发明的一个方面,如图9所示在概念上分割经初级校正的图像。图9说明垂直缩放函数和将经初级校正的图像分割为三个部分的概念图。应该注意图9中,y是垂直方向。参照图9,第一部分900定义在底部源曲线Sb和顶部源曲线St之间。其它部分包括源曲线外面的部分,包括低于源曲线的第二部分910和高于源曲线的第三部分。
在垂直方向上使用主缩放系数r(x)缩放位于源曲线之间的第一部分900的初级象素坐标(方框810)。如上所述,执行在垂直方向上的缩放。在垂直方向上较小地缩放位于源曲线的外面部分(第二部分910和第三部分920)。首先指定第二缩放系数(方框820)来执行这个。图9所示的第二缩放系数s低于主缩放系数r(x)。下一步,在垂直方向上使用第二缩放系数缩放位于源曲线的外面的其它部分910、920的初级象素坐标(方框830)。应该注意,水平缩放保持相同(换言之,使用主缩放系数r(x)),从而保持垂直线的笔直。为了在各部分之间保持连续,在各部分之间通过应用一个平滑参数w产生过渡(方框840)。平滑参数平滑垂直缩放函数并在垂直缩放函数经过源曲线时平滑地连接全离的缩放系数。
参考图6和9,考虑位于图6所示x的垂直线。如图9所示,g(y)是垂直缩放函数,它能被定义成在这条垂直线上的任意点y的垂直缩放系数。应该注意,g(y)信赖于x。函数g(y)是由两个参数控制,第二缩放系数s和平滑参数w。在源曲线之间的距离源曲线超过w/2的垂直扫描线部分按主缩放系数r(x)缩放,在源曲线外面的按第二缩放系数s缩放。这三个常数段用两个立方样条函数在[St-0.5w,St+0.5w]中粘合在一起。每个立方样条函数结束于值s和r(x)并在终点的斜率为0。
平滑参数w控制源曲线处的连续性。例如,如果在源曲线处不连续,人们可以选择一个非常小的不值得注意人工制造的w。当在s=r(x)的特殊情况下,g(y)变成一个常数,这就是导出方程式(3)所假定的。一旦将水平变形校正函数应用于初级弯曲表,产生包含在经校正的广角图像130中广角象素坐标位置的弯曲表150(方框850)。随后弯曲表150作为输出发出(方框860)。弯曲表用于从广角图像110构成经校正的广角图像130。
校正广角图像的观察错觉漂浮运动可被认为是一种特殊类型的深度错觉。如场景旋转时,采用较小视野的观察器,当物体经过视野时会感到它们的尺寸发生意外的变化。当一个物体第一进入观察器时因几何变形而显得太大,随后因放大的透视在观察器的中央太小,最后在它离开观察器时再次太大。这个结果是该物体看来好象移离观察器而随后移回到观察器。换言之,该物体看来好象在“漂浮”。
SVU缩放函数有助于校正深度错觉的问题。这是通过对观看的全景图像使用对称SVU缩放函数完成的。底部源曲线构成了顶部源曲线的镜像。源曲线经过图像的边角并在中央的垂直扫描线上具有一个最小值(或最大值)。一个参数指定中央点的高度以及另一个参数是弯曲系数α,如上所述。
为了可视地说明实时广角图像校正系统和方法去除漂浮运动的效果,出示图10A和10B。图10A和10B所示的都是用透视投影和100度视野全景观看一个舞厅时的快照。图10A所示的是没有任何校正的舞厅透视图。图10B所示的是在与图10A相同的图应用SVU缩放函数之后。从图10A和10B中,能看到在用SVU缩放函数后图像变形较小。更重要地,当用透视投影旋转图10A的场景时,观察到墙和桌子严重的拉伸和漂浮运动。在应用SVU缩放函数后,观察到很小的拉伸并且在视觉上消除了漂浮运动。这个结果在旋转场景时会使场景看上去更为稳定。
VI.工作实例和结果下面的工作实例用于说明本发明的操作细节。工作实例包括图4的方法的实现。应该注意,工作实例只是本发明可以操作和使用的一种方式,且只是为了说明的目的而提供的。
在这个工作实例中,在一个视频会议环境中实现本发明的系统和方法。视频会议系统需要能显示一组宽阔的视图允许远程观众看见所有的与会者。一般地,这些与会者围绕桌子坐着。当前系统使用一个倾斜/全景/变焦摄像机为观看房间不同部分的可能性。可是,这些当前系统并不能提供一个全景的观察。他们也要忍受摇动镜头以覆盖新的发言人的潜在性。为了减少这些问题,可使用本发明的实时广角图像校正系统和方法。
在视频会议的场景直接使用一个广角摄像机得到具有一个柱面投影的广角图像。图11说明了由广角摄像机产生的结果圆柱广角图像。在图11中,值得注意是在桌子远端的人极小。尽管柱面投影可以校正围绕边缘的几何变形,但在深和小的感觉方面却只有很少的改进。在桌子远端的人们与靠近摄像机的人们相比仍看上去非常小。
在图12-16中,示出了用实时广角图像校正系统和方法处理图11的图像后的结果。图12说明了具有弯曲系数α=0.3的源曲线和目标曲线。图13说明了经初级校正的图像,它使用没有水平变形校正函数的SVU缩放函数的进行垂直缩放和水平缩放的结果。图14说明另应用具有水平变形校正函数的SVU缩放函数的结果。
此外,有些结果使用不同的弯曲系数α=0.2。图16说明了弯曲系数α=0.4的结果。应该注意,α=0的弯曲系数是最小弯曲而α=1的弯曲系数是最大弯曲。
为了说明和描述的目的,已经呈现了本发明的前述说明。不要穷举的或将本发明限制在所披露的精确格式内。很多修改方案和变化方案可能是按照上面教导的。本发明的详细说明以及这里所附的权利要求书并不试图限制本发明的范围。
附录I下面的讨论是想提供有关广角图像中明显变形原因的更多的数学上的细节。
形状变形和非固定的后果随着一广角图像中物体从中央移动至边缘时,会出现变形。图17说明一绕着摄像机旋转的矩形物体的透视投影。O是投影中心,π是投影平面,且f是焦距。设w和h是物体的宽度和长度。假定物体从P1旋转到P2,其中OP1与图像平面垂直且θ是0P2与0P1之间的角度。设d=‖OP1‖=‖OP2‖.在P1位置,它在图像平面上的宽度和高度是w1=fwd---(4)]]>h1=fhd---(5)]]>在P2位置,它在图像平面上的宽度和高度(与P2相邻的两条边的长度)是w2=fwd·cos2θ---(6)]]>h2=fhd·cosθ---(7)]]>这导出w2=1cos2θ·w1---(8)]]>h2=1cosθ·h1---(9)]]>和w2h2=1cosθw1h1---(10)]]>方程式(5)和(6)说明随着物体从图像中央转到边缘时,其宽度和高度都增加了。视角越大,增加的量就越大。方程式7说明当物体从图像中央到边缘时,其物体的图像也变形(拉伸)了。视角越大,变形量就越大。当视角接近90度时,变形比w2/h2接近无穷大。
如果图像的观众将他们的眼睛放在O处则透视变形仍然正确,图像将不会出现变形。可是,当用较小的视野观看广角图像时观众期望当物体旋转时图像尺寸增加较小而且变形量较小。这就是为什么物体在边缘时显得拉伸。现在没有两个相等的角度可以用于观看。在图像平面上尺寸和变形的变化比期望的大使用户感到场景不是固定的,好象在绕着用户漂浮。
深度错觉用较小的视野观看时引起的一个相关的问题是深度的错觉。广角图像在靠近和远离物体时放大了深度的差异。在场景中物体深度的一个重要的视觉暗示是在放置在近处与远处的相似物体的图像尺寸的比例(被称为深度透视缩短比)。较小的视野导致较小的透视缩短比。在两个人的两张照片中这是明显的,一个人比另一个人离摄像机稍远。图18A和18B说明了深度错觉的概念。图18A中,是用普通视野的摄像机拍摄的场景。在图18B中,是用广角摄像机拍摄的相同场景。如通过比较图18A和18B能看到的那样,广角摄像机(图18B所示)放大了两个人的尺寸之间的差异并因此在用广角摄像机拍摄的照片中显得两人之间的距离增加了。在视频会议应用程序中,广角摄像机图像导致场景中远处的与会者极小。
附录II以下讨论说明在普通圆柱表面上的投影不会产生局部均匀的缩放。考察将一个正圆柱视图投影到椭圆柱面(横截面是椭圆)的例子。图19示出正圆柱面和椭圆柱面的横截面的两维图。用a和b表示椭圆的短轴与长轴。那么椭圆的方程式为x=a cos(θ)和z=b sin(θ)。圆的方程式为x=a cos(θ)和z=a sin θ)。分别用s’和s表示椭圆和圆的弧长度。那么,ds′dθ=(dxdθ)2+(dxdθ)2---(11)]]>=a2sin2θ+b2cos2θ---(12)]]>dsdθ=a.---(13)]]>给定一个无限小dθ,圆和椭圆的弧长度分别是ds和ds’。因此,局部水平缩放为ds’/ds=sqrt(a2sin2θ+b2cos2θ)/a。当θ=π/2,局部水平缩放ds’/ds=1而垂直缩放(y轴)为b/a。因此,垂直缩放比水平缩放大且物体会显得垂直拉伸。在θ=0时准确的相反是真的。它的垂直缩放是1而水平缩放是b/a。因此,物体靠近θ=0时将出现水平拉伸。
权利要求
1.实现广角图像的实时校正的方法,包括从广角图像获得象素坐标,下文称之为广角象素图像坐标;通过对象素坐标应用参量图像弯曲函数产生弯曲表;以及使用弯曲表实时变形广角图像以创建经校正的广角图像。
2.如权利要求1所述的方法,其特征在于,参量图像弯曲函数是空间变化均匀(SVU)缩放函数。
3.如权利要求1所述的方法,其特征在于,产生弯曲表进一步包括使用参量图像弯曲函数垂直缩放广角象素图像坐标以创建经垂直缩放的广角图像象素坐标;使用参量图像弯曲函数水平缩放经垂直缩放的广角图像象素坐标以创建包含初级象素坐标的初级弯曲表;以及使用参量图像弯曲函数对初级弯曲表进行水平变形校正以创建弯曲表。
4.如权利要求3所述的方法,其特征在于,垂直缩放每条垂直扫描线进一步包括在垂直方向上使用主缩放系数缩放广角象素图像坐标。
5.如权利要求4所述的方法,其特征在于,进一步包括使用源曲线和目标曲线计算主缩放系数。
6.如权利要求5所述的方法,进一步包括指定源曲线;指定弯曲系数;以及使用源曲线和弯曲系数计算目标曲线。
7.如权利要求6所述的方法,其特征在于,源曲线进一步包括底部源曲线和顶部源曲线。
8.如权利要求6所述的方法,其特征在于,目标曲线进一步包括底部目标曲线和顶部目标曲线。
9.如权利要求3所述的方法,其特征在于,水平缩放进一步包括在水平方向上对每条垂直扫描线使用主缩放系数缩放广角象素图像坐标。
10.如权利要求9所述的方法,其特征在于,使用源曲线和目标曲线计算主缩放系数。
11.如权利要求4所述的方法,其特征在于,水平缩放进一步包括使用主缩放系数垂直地缩放经垂直缩放的广角图像象素坐标。
12.如权利要求3所述的方法,其特征在于,进行水平变形校正进一步包括将初级弯曲表分成多个部分;以及在垂直方向上使用至少两个不同的缩放系数缩放包含在每个部分中的初级象素坐标。
13.如权利要求12所述的方法,其特征在于,至少两个不同的缩放系数包括主缩放系数和第二缩放系数。
14.具有实现权利要求1所述方法的计算机可执行指令的计算机可读介质。
15.适用于校正由广角摄像机拍摄到的广角图像的变形的方法,包括输入相应于广角图像象素坐标广角象素坐标;使用具有缩放系数的空间变化均匀(SVU)缩放函数产生包含经校正的广角象素坐标的弯曲表;以及创建适用于校正广角图像中放大深度的经校正的广角图像。
16.如权利要求15所述的方法,进一步包括校正缩放系数以校正水平变形。
17.如权利要求15的所述的方法,进一步包括定义源曲线和目标曲线以确定SVU缩放函数。
18.如权利要求17所述的方法,其特征在于,由用户定义源曲线。
19.如权利要求15所述的方法,进一步包括让用户定义指定应用于广角图像变形量的弯曲系数。
20.如权利要求16所述的方法,其特征在于,调整缩放系数进一步包括定义垂直缩放系数以控制水平缩放。
21.具有用于实时校正和观看广角图像的计算机可执行指令的计算机可读介质,包括产生包含广角图像中的象素的坐标的弯曲表,进一步包括在广角图像上指定源曲线;指定对应于应用在广角象素图像坐标上的变形量的弯曲系数;使用源曲线和弯曲系数计算目标曲线;使用源曲线和目标曲线计算主缩放系数;使用主缩放系数缩放广角象素图像坐标以产生弯曲表;以及将弯曲表应用于广角图像以创建经校正的广角图像;
22.如权利要求21所述的计算机可读介质,其特征在于,使用主缩放系数进一步包括使用主缩放系数垂直地缩放广角象素图像坐标的每条垂直扫描线;以及使用主缩放系数水平地缩放广角象素图像坐标。
23.如权利要求21所述的计算机可读介质,其特征在于弯曲系数是一个在0和1之间并包括0和1的数字。
24.如权利要求21所述的计算机可读介质,其特征在于源曲线包括顶部源曲线和底部源曲线,顶部源曲线定义在广角图像顶部的水平特征且底部源曲线定义在广角图像底部的水平特征。
25.变形广角图像的方法,包括使用参量图像弯曲函数和主缩放系数垂直地缩放广角图像的每条垂直扫描线的象素坐标;使用参量图像弯曲函数和主缩放系数水平地缩放广角图像的象素坐标;产生包含初级象素坐标的初级弯曲表;以及通过对初级弯曲表应用参量图像弯曲函数和主缩放系数校正水平变形以产生弯曲表。
26.如权利要求25所述的方法,进一步包括将弯曲表应用于广角图像,以确定在经校正的广角图像中广角图像的象素坐标的位置;以及将广角图像的每个象素坐标的RGB值应用于经校正的广角图像。
27.如权利要求25所述的方法,其特征在于,使用由用户指定的源曲线和根据源曲线计算得到的目标曲线计算主缩放系数。
28.如权利要求25所述的方法,其特征在于,校正水平变形进一步包括应用第二缩放系数。
29.校正广角图像中的变形和感觉问题的方法,包括使用空间变化均匀(SVU)缩放函数和主缩放系数垂直地和水平地缩放广角图像的象素坐标以产生包含初级象素坐标的初级弯曲表;将初级弯曲表分成多个部分,每个部分至少包含一些初级象素坐标;指定不同于主缩放系数的第二缩放系数;以及对于多个部分中的第一组部分的初级象素坐标使用主缩放系数、对于多个部分中的第二组部分的初级象素坐标使用第二缩放系数进行垂直缩放多个部分中的各个部分以校正水平变形。
30.如权利要求29所述的方法,进一步包括使用底部源曲线、顶部源曲线、底部目标曲线和顶部目标曲线计算主缩放系数。
31.如权利要求30所述的方法,其特征在于,底部源曲线、顶部源曲线、底部目标曲线和顶部目标曲线是立方曲线。
32.如权利要求30所述的方法,其特征在于,分割进一步包括创建包含对应于位于顶部源曲线和底部源曲线之间广角图像中象素的初级象素坐标的第一部分。
33.如权利要求32所述的方法,其特征在于,部分的第一组是第一部分,以及其特征在于,垂直地缩放进一步包括在垂直方向上使用主缩放系数缩放第一部分。
34.如权利要求33所述的方法,其特征在于,部分的第二组包括除第一部分以外的多个部分的每个部分,并且其特征在于,垂直地缩放进一步包括使用第二缩放系数在垂直方向上缩放第二组部分。
35.如权利要求29所述的方法,进一步包括使用平滑函数连接多个部分中的每个部分。
36.如权利要求29所述的方法,进一步包括对初级弯曲表进行水平变形校正函数以产生弯曲表。
37.如权利要求36所述的方法,进一步包括由广角图像使用弯曲表创建经校正的广角图像。
38.校正广角图像中的变形和感觉缺陷的实时广角图像校正系统,包括弯曲表在广角图像中为其中的每个象素指定位置;使用参量图像弯曲函数的弯曲表生成模块;由弯曲表生成模块产生的包含广角象素图像坐标的弯曲表;以及将弯曲表应用于广角图像以创建经校正的广角图像的实时图像弯曲系统。
39.如权利要求38所述的实时广角图像校正系统,其特征在于,参量图像弯曲函数是空间变化均匀(SVU)缩放函数。
40.如权利要求38所述的实时广角图像校正系统,其特征在于,弯曲表生成模块进一步包括用于进行垂直和水平缩放的的主缩放系数。
41.如权利要求40所述的实时广角图像校正系统,进一步包括用于计算主缩放系数的源曲线和目标曲线。
42.如权利要求38所述的实时广角图像校正系统,其特征在于,弯曲表生成模块进一步包括用于进行垂直缩放和水平缩放的主缩放系数;以及用于进行水平变形校正函数的第二缩放系数。
43.如权利要求38所述的实时广角图像校正系统,其特征在于,弯曲表生成模块进一步包括接收广角象素图像坐标的输入模块;使用参量图像弯曲函数在垂直方向上缩放广角象素图像坐标的垂直缩放模块;使用参量图像弯曲函数在水平方向上缩放广角象素图像坐标的水平缩放模块。
44.如权利要求43所述的实时广角图像校正系统,进一步包括根据位置的不同量垂直地缩放初级弯曲表中初级象素坐标的水平变形校正函数模块。
全文摘要
本发明包括实时广角图像校正系统和方法,它适用于减轻由广角摄像机拍摄的图像中变形和感觉问题。一般而言,实时广角图像校正方法由广角图像的象素坐标产生弯曲表并将弯曲表应用于广角图像以创建经校正的广角图像。使用包括空间变化均匀(SVU)缩放函数的参量类弯曲函数进行校正。SVU缩放函数和缩放系数用于对广角象素图像坐标的进行垂直缩放和水平缩放。使用SVU缩放函数和至少两个不同缩放系数进行水平变形校正。该处理产生弯曲表,它能应用于广角图像以产生经校正的广角图像。
文档编号G06T3/00GK1477597SQ03145729
公开日2004年2月25日 申请日期2003年6月30日 优先权日2002年6月28日
发明者刘自成, M·科恩 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1