多摄像机网的广义视图变形的系统和方法与流程

文档序号:11532805阅读:168来源:国知局
多摄像机网的广义视图变形的系统和方法与流程

本发明通常涉及视频处理,尤其涉及多摄像机网的广义视图变形系统和方法。



背景技术:

摄像机网络如今几乎随处可见,从工厂,停车场,高速公路,银行的视频监控摄像机到智慧家庭中用于安全保障以及看护老人/儿童的摄像机,再到智能会议室中实现智真和增强现实的摄像机。为保证充分的覆盖,每年有数以千万的此类网络化摄像机被安装使用,然而盲点依旧是个问题。



技术实现要素:

根据一实施例,提供了一种广义视图变形方法。所述方法包括:基于与期望虚拟图像关联的虚拟摄像机的预定视点确定摄像机平面,所述摄像机平面包括至少三个真实摄像机;预扭曲至少三个图像平面,使得全部图像平面平行于所述摄像机平面,且每个图像平面与位于所述摄像机平面的真实摄像机之一关联;通过对所述至少三个图像平面进行线性插值变形确定虚拟图像平面;后扭曲所述虚拟图像平面至预定位姿。

根据另一实施例,提供了一种广义视图变形装置。所述装置包括至少一个存储器和耦合至所述至少一个存储器的至少一个处理器。所述至少一个处理器用于:基于与期望虚拟图像关联的虚拟摄像机的预定视点确定摄像机平面,所述摄像机平面包括至少三个真实摄像机;预扭曲至少三个图像平面,使得全部图像平面平行于所述摄像机平面,且每个图像平面与位于所述摄像机平面的真实摄像机之一关联;通过对所述至少三个图像平面进行线性插值变形确定虚拟图像平面;后扭曲所述虚拟图像平面至预定位姿。

根据又一实施例,提供了一种体现为计算机程序的非瞬时性计算机可读介质。所述计算机程序包括计算机可读程序代码,用于:基于与期望虚拟图像关联的虚拟摄像机的预定视点确定摄像机平面,所述摄像机平面包括至少三个真实摄像机;预扭曲至少三个图像平面,使得全部图像平面平行于所述摄像机平面,且每个图像平面与位于所述摄像机平面的真实摄像机之一关联;通过对所述至少三个图像平面进行线性插值变形确定虚拟图像平面;后扭曲所述虚拟图像平面至预定位姿。

在一示例实施例中,使用一种用于广义视图变形的装置。所述装置包括基于与期望虚拟图像关联的虚拟摄像机的预定视点确定摄像机平面的确定元件,其中,所述摄像机平面包括至少三个真实摄像机。所述装置还包括预扭曲至少三个图像平面使得全部图像平面平行于所述摄像机平面的预扭曲元件,其中,每个图像平面与位于所述摄像机平面的真实摄像机之一关联;进一步地,所述确定元件通过对所述至少三个图像平面进行线性插值变形确定虚拟图像平面,所述后扭曲元件后扭曲所述虚拟图像平面至预定位姿。

附图说明

为了更完整地理解本发明及其优点,现在参考下文结合附图进行的描述,相同的数字表示相同的对象,其中:

图1a至1c示出了自由视点变形的各种示例图像;

图2a至2c示出了自由视点变形技术的不同例子;

图3示出了参与变形操作的多个共面真实摄像机和一个虚拟摄像机;

图4示出了本发明提供的多摄像机网的广义视图变形方法;

图5a至5d示出了本发明提供的图4中广义视图变形方法中的操作;

图6示出了本发明提供的用于执行图4中广义视图变形方法的计算设备的例子。

具体实施方式

以下列出的图1a至图6和说明以及该专利文档中的各种实施例仅通过举例说明的方式描述本发明的原理,而不应以任何方式理解为对本发明范围的限制。本领域技术人员可以理解的是,本发明的原理可通过任何一种设置合理的设备和系统实现。

以下文档已并入本发明,如同在这里已充分阐述:(1)furukawa和ponce,《准确、密集、稳固的多视点立体影像》,ieeetrans。pami,2010(以下称为“参考1”);(2)m.levoy,《光场渲染》,siggraph,1996(以下称为“参考2”);(3)s.seitz和c.dyer,《视图变形》,siggraph,1996(以下称为“参考3”);(4)t.beier和s.neely,《基于特征的图像变形》,siggraph,1992(以下称为“参考4”);(5)s.lee等人,《蛇模型图像变形和自由变形》,siggraph,1992(以下称为“参考5”)。

摄像机网络如今几乎随处可见,从工厂,停车场,高速公路,银行的视频监控摄像机到智慧家庭中用于安全保障以及看护老人/儿童的摄像机,再到智能会议室中实现智真和增强现实的摄像机。为保证充分的覆盖,每年有数以千万的此类网络化摄像机被安装使用,然而盲点依旧是个问题。例如,在一天的某些时候(例如中午),通过一些摄像机捕捉的视图因日光太强可能不理想,但在当天的其他时候可能就比较适宜。在其他网络中,摄像机放置若有一个或多个损坏或故障的摄像机,可能导致闭塞情况。

为解决这些问题,在针对摄像机网络的“自由视点”特征上做了大量研究。多个临近的摄像机利用自由视点特征捕捉重叠的视觉信息。然后,重叠的视觉信息用于产生“虚拟图像”,就像在期望位置和朝向上有虚拟摄像机一样。该过程也被称为自由视点变形。许多应用都迫切需要自由视点变形(即通过已有摄像机合成任意虚拟视图)这一特征,例如视频监控,数字取证等。

图1a到1c示出了自由视点变形的各种示例。在图1a中,三维空间100(例如:会议室、停车场、办公室等)配备有一个网络,该网络由围绕在该空间100周围不同位置和不同朝向的摄像机101组成。如图1a所示,摄像机位于该空间100的较高的点,并且一般直接朝下。然而,可以理解的是另外的或可替代的摄像机能位于较低的点(包括与地面平行或地面以下)且朝向其他方向(例如:朝上、一般朝上、或水平)。多个摄像机101可以捕捉对象102的局部,但却没有摄像机101能调整其位置或朝向来捕捉对象102的特定期望特征或角度。“虚拟摄像机”103示出能够捕捉对象102的期望特征或期望角度的摄像机(如果存在的话)的位置和朝向。

例如,在图1b和1c中,第一真实(即现实的、非虚拟的)摄像机101捕捉到图像110a-110b,第二真实摄像机101捕捉到图像112a-112b,摄像机101捕捉的110a-110b、112a-112b中的每张图像都缺失了关键期望特征。例如,室内有两个人,但在图像110a中只能看到一个人的脸;在图像110b中,只能看到一个人的正脸,另一个人则是侧脸;在图像112a中,一只包被挡在门后;在图像112b中,能看见这只包,但只能看见背着包的人的一部分。

由于信息缺失,摄像机101捕捉到的图像110a-110b、112a-112b都不适用于视频监控等应用。自由视点变形的目的是合成多个图像以生成一个包括所有期望特征的合成的“虚拟”图像,就如同有一个虚拟摄像机捕捉到了该图像。例如,使用自由视点变形将图像110a-110b合成为虚拟图像110c,将图像112a-112b合成为虚拟图像112c。从虚拟图像110c和112c上看,就像有一个虚拟摄像机102在最理想视觉位置用最佳朝向进行拍摄而成。此类合成虚拟图像110c和112c可能更适用于特定应用。

图2a至2c示出了自由视点变形技术的不同示例。参考1描述了一种技术,如图2a所示,通过一种或多种多视点立体(multi-viewstereo,简称mvs)算法生成目标场景的三维(3d)纹理模型。该3d模型能从任意视图渲染得到。该技术通常带来好的结果。然而,在有挑战性的条件下,例如弱纹理区域、闭塞和反射或透明材质,其效果易受影响。此外,此技术计算成本高昂,且由于依赖硬件,运行较慢。参考2描述了第二种技术,如图2b所示,通过摄像机阵列进行的光场渲染。光场渲染通过二维(2d)摄像机阵列从场景捕捉光线,并通过光线插值来创建合成视图。该技术完全基于图像,但其通常需要密集的摄像机阵列配置以及大宽带来捕捉、传输和存储数据。此外,该技术的特点通常为低空间分辨率。参考3描述了第三种技术,如图2c所示,为视图变形。视图变形在两个摄像机之间的一个或多个中间视图中插入多种用户指定的特征。视图变形技术复杂度低,成本低。视图变形和光场渲染一样,不需要3d建模。然而,视图变形要求对两个摄像机拍到的图像中至少少量的匹配特征进行手动标记。此外,视图变形受针对仅两个摄像机的插值的限制。

为克服这些自由视点变形技术的上述缺点,本发明实施例提供了一种新型系统和方法来合成摄像机网表面的任意虚拟摄像机拍到的虚拟视图。在此类多摄像机网中,每个摄像机被视为一个顶点。公开的实施例显著概括和延伸了其他视图变形技术,从使用仅两个摄像机演变为使用任意多摄像机网。可通过结构地理或几何模式(例如,在矩形房间的八个角上安装八个摄像机来形成一个立方体网),或无结构模式(例如,在不规则形状的停车场随机放置多个摄像机来构成一个普通网)来设置多摄像机网。

此处公开的实施例基于一些关键概念。第一个关键概念为:对于共面摄像机,若所有的图像平面与摄像机平面平行,图像间的线性插值相当于摄像机插值(即该插值为“保形”的(见参考3))。例如,图3所示为多个共面摄像机301-303,每个摄像机301-303在对应图像平面311-313上捕捉图像。由于摄像机301-303朝向同一个方向,图像平面311-313相互平行且平行于摄像机平面(由虚线三角形304表示)。每张图像301-303中都捕捉到了3d物理对象(未示出)的p点的图像。例如,图像平面311中的p点的图像示为u0,图像平面312中的p点的图像示为u1,图像平面313中的p点的图像示为u2。虚拟摄像机305位于摄像机平面304,图像平面311-313能使用线性插值来确定虚拟图像平面315,就好像有虚拟摄像机305来捕捉其中的图像。具体地,如图3所示,p点在虚拟摄像机305的虚拟图像平面315上的投影(示为ust)相当于其在三个真实图像平面311-313上对应的点u0、u1、u2的重心加权插值,由以下公式(1)得出:

ust=kstp=s·u0+t·u1+(1-s-t)·u2(1)

其中,kst为虚拟摄像机305的内在矩阵,s和t为重心加权因子。

将以下两条定义(2)和(3)代入上述公式(1)可证实上述结论。

其中,k为给定摄像机的内在矩阵,p为其图像被拍摄的物理点的位置(由坐标{x,y,z}得出),fx和fy为摄像机在x和y方向的焦距值,a为摄像机的宽高比,cx和cy为在x和y方向时图像平面上的摄像机中心。

其中,kst为虚拟摄像机305的内在矩阵;k0、k1、k2分别为真实摄像机301、302、303的内在矩阵;f0x、f0y、f1x、f1y、f2x、f2y分别为摄像机301、302、303在x和y方向的焦距值;a0、a1、a2分别为摄像机301、302、303的宽高比;c0x、c0y、c1x、c1y、c2x、c2y分别为在x和y方向时图像平面311-313上的摄像机中心。

第二个关键概念概括了通过重心加权进行的从两张图片到多张图片的基于特征的线性图像变形。具体地,为创建具有一组特征的图像,该组特征由多个图像的特征集通过重心加权组合而成,可使用以下公式(4),公式(4)为公式(1)的广义版本。

u=w1*u1+w2*u2+……+wn*un(4)

其中,w1、w2……wn为重心加权因子,其值为w1、w2……wn≥0,且w1+w2+……+wn=1。

插值图像i由以下公式得出:

i=w1*warp(i1,u1,u)+w2*warp(i2,u2,u)+…+wn*warp(in,un,u)(5)

其中,i1、i2……in为真实摄像机捕捉的真实图像,warp(.)为针对任意传统的基于特征的双图扭曲的操作(例如参考4和参考5中描述的操作)。

图4示出了本发明提供的多摄像机网的广义视图变形方法。图4所示的方法400基于上述关键概念。可关联下述图6的计算设备600执行方法400。然而,也可借助其他合适的设备或系统使用方法400。

在方法400中,物理空间中设置了多个真实摄像机。摄像机的不同子集能构成摄像机平面(也被称为“面”),例如图3中的摄像机平面304。作为一个说明性示例,在一个四面是墙,天花板和地板四角均安装了摄像机的矩形房间内,全部的八个摄像机能构成六个不同的摄像机平面或面。即地板上的四个摄像机能构成形状大致为矩形的第一摄像机面,天花板上的四个摄像机能构成大致矩形的第二摄像机面,与每面墙关联的四个摄像机能构成第三至第六摄像机面。当然,摄像机在其他物理空间内可以设置为其他形式。另外,摄像机面除了可以为矩形外,还可以为三角形或其他形状。

最初,在操作401中确定了虚拟摄像机视点c。虚拟摄像机视点c用位置坐标、朝向和内在矩阵k来表示。可以基于用于监控或视频取证的物理对象的期望视点来确定虚拟摄像机视点。例如,在图5a中,确定具有视点c的虚拟摄像机505。

在确定虚拟摄像机视点后,在操作403中确定包含该虚拟摄像机视点的摄像机面。例如,在图5a中,一旦确定了虚拟摄像机505,就确定了摄像机面504(真实摄像机501-503为该面的顶点)包含虚拟摄像机505。

此后,在操作405中,对摄像机面上的每个摄像机顶点进行预扭曲操作,使所有图像平面平行于该摄像机平面。例如,在图5b中,对图像平面511-513进行预扭曲,使得图像平面511-513全部平行于摄像机面504。为进行预扭曲操作,确定每个摄像机的单应性变换,以便旋转图像平面至平行于该摄像机平面。要做到这一点,要确定摄像机面(例如,三角形的,四边形的)上经过摄像机中心的摄像机平面法线。预扭曲单应性变换由以下公式得出:

hi=kir(kiri)-1(6)

其中,hi为摄像机面(例如摄像机511-513)上的真实摄像机i的单应性变换矩阵,ki为真实摄像机i的内在矩阵,ri为真实摄像机i的旋转矩阵。旋转矩阵r由以下定义确定:

r=[n×y1,(n×y1)×n,n](7)

其中,n为摄像机平面的法线。

预扭曲操作405之后,在操作407中对虚拟摄像机视点c进行重心插值。该操作可包括使用上述公式(1)和针对每个真实摄像机的摄像机视点c1、c2……cn进行重心插值。该操作也包括计算每个真实摄像机的重心加权。

此后,在操作409中,基于摄像机的重心加权,对真实图像平面进行基于特征的线性变形来确定虚拟图像平面。例如,在图5c中,对真实图像平面511-513进行基于特征的线性变形来确定虚拟图像平面515。

此后,在操作411中,对虚拟图像平面进行后扭曲操作,使虚拟图像旋转至期望位姿获取虚拟视图。例如,在图5d中,通过后扭曲操作使虚拟图像515旋转至期望位姿。对于后扭曲操作,虚拟视图的期望位姿为内插得到,并进行单应性变换hst。在一些实施例中,可使用三个四元数的球面线性插值来实现插值,如下所示:

qst=spherical_interp(q1,q2,q3,s,t)

rst=rotation_matrix(qst)(8)

hst=kstr(kstrst)-1

其中,qi为摄像机的对应旋转矩阵的四元数。

在虚拟图像平面被后扭曲至期望位姿后,虚拟视图的合成图像就能被输出至显示设备。

尽管图4示出了多摄像机网的广义视图变形方法400的一个示例,但是图4可以有各种改变。例如,尽管示出了一系列步骤,但是图4中的各个步骤可重叠、可并行发生、可按不同的顺序发生或发生多次。另外,一些步骤可以合并或移除,也可根据特定需要添加额外的步骤。作为一个特定的例子,方法400还可包括预计算的操作,来对多个视图进行特征匹配。该操作可在视图变形前离线完成。作为另一个特定的例子,可以使用gpu(图形处理单元)加速来提高实时性能。

广义视图变形方法400也可扩展至立体应用,用于创建虚拟3d图像。例如,有可能执行方法400两次来确定表示两个物理分开的视点的两个虚拟视图,而不是仅确定一个虚拟视图。然后,可在立体应用中整合或合并这两个虚拟视图来创建虚拟3d图像。

广义视图变形方法400的测试结果是有前景的。在执行该方法400的原型系统中,通过gpu加速已经可以达到大于90帧每秒(90fps)的性能。在一些原型系统中,带有gpu的并行图像扭曲通过统一计算设备架构(computeuniteddevicearchitecture,简称cuda)平台实现,以达到实时性能。

图6示出了本发明提供的用于执行图4中广义视图变形方法400的计算设备600的例子。如图6所示,计算设备600包括具有处理块605的计算块603和系统存储器607。处理块605可以为执行软件指令的任意类型的可编程电子设备,但传统上为一个或多个微处理器。系统存储器607可包括只读存储器(read-onlymemory,简称rom)609和随机存取存储器(randomaccessmemory,简称ram)611。本领域技术人员应理解,只读存储器609和随机存取存储器611可存储处理块605执行的软件指令。

该处理块605和该系统存储器607通过总线613或交替的通信结构直接或间接连接至一个或多个外部设备。例如,该处理块605或该系统存储器607可直接或间接与一个或多个额外的内存存储设备615相连。内存存储设备615可包括,例如,“硬”磁盘驱动器、固态磁盘驱动器、光盘驱动器、可移动磁盘驱动器等。该处理块605或该系统存储器607还可直接或间接与一个或多个输入设备617以及一个或多个输出设备619相连。该输入设备617可包括,例如,键盘、定点设备(例如鼠标、触摸板、触笔、轨迹球、操纵杆等)、触摸屏、扫描器、摄像机、麦克风等。该输出设备619可包括,例如,显示设备、打印机和扬声器等。这类显示设备可以用于显示视频图像。由计算设备601的各个例子可知,外部设备615-619中的一个或多个中可以内置计算块603。或者,外部设备615-619中的一个或多个可以在计算块603的外壳的外部并通过,例如,通用串行总线(universalserialbus,简称usb)连接或数字视频接口(digitalvisualinterface,简称dvi)连接与总线613相连。

通过一些实施方案,计算块603也可以直接或间接连接至一个或多个网络接口卡(networkinterfacescard,简称nic)621,从而与组成网络的其他设备通信。根据一个或多个通信协议,如传输控制协议(transmissioncontrolprotocol,简称tcp)和互联网协议(internetprotocol,简称ip),网络接口卡621将来自计算块603的数据和控制信号转化为网络消息。并且,网络接口卡621可以使用任何合适的连接代理(或代理的组合)连接到网络,包括例如无线收发器、调制解调器或以太网连接。

需要理解的是,计算设备600只是作为一个例子说明,而不是为了限定。可以通过一个或多个计算设备实现本发明各实施例,该一个或多个计算设备包括图6所示的计算设备600的组件,或包括组件的交替组合,包括图6未示出的组件。例如,可以通过多处理器计算机、部署在网络中的多个单和/或多处理器计算机或二者的一些组合实现本发明各实施例。

此处公开的实施例提供了针对任意多摄像机网的广义视图变形方法,只要真实摄像机能覆盖虚拟视场,就可在摄像机网表面任意一点上合成虚拟视图。该公开的方法支持自动检测匹配特征的视图变形或手动标记特征的视图变形。这些方法在不牺牲分辨率和成本的情况下为多个摄像机的虚拟视图合成提供了开放式框架。该公开的方法容纳了许多基于特征的线性变形算法(例如基于点的算法、基于线的算法等等)。在一些实施例中,gpu可用于实现实时广义视图变形(>90fps)。

与图2a所示的多视点立体技术相比,该公开的方法是基于图像的方法且不需要3d重建。因此,该公开的方法足够稳固来应对弱纹理区域、闭塞、有挑战性的材质等情况。此外,该公开的方法比多视点立体技术更快捷且计算成本更低。

与图2b所示的光场技术相比,该公开的方法不需要密集的摄像机阵列设置,只需使用一些摄像机来进行插值。因此,此处描述的方法不需要大带宽和昂贵的硬件设置。该方法也支持高空间分辨率的图像扭曲。与图2c所示的传统双摄像机视图变形相比,该公开的方法能在普通多摄像机网中实现,因此更加灵活。此处描述的方法也不需要用户手动标记不同的特征。

在某些实施例中,一个或多个所述设备的部分或全部功能或流程由计算机可读程序代码构成的且内嵌于计算机可读介质中的计算机程序来实现或提供支持。短语“计算机可读程序代码”包括任意类型的计算机代码,包括源代码、目标代码以及可执行代码。短语“计算机可读介质”包括任何类型的可以被计算机访问的介质,比如,只读存储器(readonlymemory,简称rom)、随机存取存储器(randomaccessmemory,简称ram)、硬盘驱动器、光盘(compactdisc,简称cd)、数字化视频光盘(digitalvideodisc,简称dvd)或者任何其他类型的存储器。

为本专利文档中使用的特定术语和短语进行定义是有帮助的。术语“包括”和“包含”以及它们的派生词表示没有限制的包括。术语“或者”是包容性的,意为和/或。短语“与……关联”和“与其关联”以及其派生的短语意味着包括,被包括在内、与……互连、包含、被包含在内、连接到或与……连接、耦合到或与……耦合、可与……通信、与……配合、交织、并列、接近、被绑定到或与……绑定、具有、具有……属性,等等。

虽然本发明就某些实施例和一般相关方法方面进行了描述,但是对本领域技术人员而言,对实施例和方法的各种更改和变更将是显而易见的。因此,示例实施例的上述描述不限定或约束本发明。正如以下权利要求定义,其它修改、替代以及变更也是可能的,而不偏离本发明的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1