图像处理装置、图像处理方法、图像处理系统和存储介质与流程

文档序号:17299580发布日期:2019-04-03 04:48阅读:98来源:国知局
图像处理装置、图像处理方法、图像处理系统和存储介质与流程

本发明特别涉及一种用于生成虚拟视点图像的图像处理系统。



背景技术:

需要从通过使用放置在现实世界中的多个不同位置和姿势上的照相机(下文中,“真实照相机”)拍摄被摄体的图像而获取的图像中实时生成放置在虚拟空间中的位置和姿势的虚拟照相机的图像(下文中,“虚拟视点图像”)。如果实现这一点,例如,用户可以从各种角度观看足球或篮球比赛的精彩片段,以与诸如观看电视机的正常观看相比感觉到高度逼真的感觉。

然而,难以在短时间内生成虚拟视点图像,因为需要花费很长时间来执行从多个图像中估计被摄体的三维形状(下文中,“形状模型”)的形状估计处理和判断形状模型是否从照相机可见的可见性判断处理。为了解决该问题,日本专利第5945255号讨论了一种基于照相机与虚拟照相机之间的几何关系,高速生成虚拟视点图像的方法。

用户观看虚拟视点图像的情况之一是观看多个虚拟视点图像的情况。一个示例是同时观看用于观看特写镜头中的运动员(player)的虚拟视点图像和用于从更高的角度观看地面上的运动员的移动的虚拟视点图像的情况,并且另一示例是场地的大量观众分别使用智能手机操作虚拟照相机来观看图像的情况。如果针对各个虚拟视点进行上述形状估计处理和可见性判断处理以同时生成多个虚拟视点图像,则用于进行这些处理的信息量变得巨大。日本专利第5945255号中讨论的技术需要大量信息来生成多个虚拟视点图像,因为形状估计处理和可见性判断处理依赖于虚拟照相机。特别地,可见性判断处理所需的范围图像的数量根据拍摄图像的大小和照相机的数量而增加,使得生成多个虚拟视点图像导致传送时间和数据量的增加。



技术实现要素:

根据本发明的一个方面,一种图像处理系统,其用于基于通过使用多个照相机从多个方向对图像拍摄目标区域的图像进行拍摄而获取的多个拍摄图像,来生成虚拟视点图像,所述图像处理系统包括:存储控制部,其用于在存储部中存储关于如下内容的可见性信息:关于图像由所述多个照相机中的至少一个照相机拍摄的对象的三维形状模型的元素,其中所述可见性信息指示,针对所述多个拍摄图像当中的一个或更多个拍摄图像中的各个拍摄图像,与所述元素相对应的像素是否被包括在拍摄图像中;获取部,其用于获取,指示一个或更多个虚拟视点的视点信息;以及图像生成部,其用于基于所述多个拍摄图像、三维形状模型以及由存储控制部存储在存储部中的可见性信息,生成与通过由获取部获取的视点信息而识别的所述一个或更多个虚拟视点相对应的虚拟视点图像。

根据下面参照附图对示例性实施例的描述,本发明的其他特征将变得清楚。

附图说明

图1例示了根据示例性实施例的图像生成装置的硬件构造的示例。

图2是例示根据第一示例性实施例的图像处理系统的功能构造的示例的框图。

图3是例示第一示例性实施例中的生成虚拟视点图像的处理的流程图。

图4例示了作为可见性信息的比特阵列的示例。

图5是例示根据第二示例性实施例的图像处理系统的功能构造的示例的框图。

图6是例示第二示例性实施例中的生成虚拟视点图像的处理的流程图。

图7例示了范围图像(rangeimage)中的围绕被摄体区域的矩形区域。

具体实施方式

在第一示例性实施例中,将描述存储关于被摄体的估计形状模型的可见性信息并且此后使用可见性信息生成多个虚拟视点图像的示例。如这里所使用的,术语“可见性信息”指的是如下信息,该信息指示形状模型的元素从位于现实世界中的不同位置和姿势的多个照相机(真实照相机)中的各个可见/不可见的信息。此外,可见性信息还可以被定义为关于如下内容的判断信息:关于表示由多个照相机中的至少任何一个拍摄的图像的对象的形状的形状模型的元素。判断信息指示,与该元素相对应的像素是否被包括在拍摄图像中。在下文中,将形状模型的元素描述为三维点。形状模型的元素不限于上面所描述的,并且被摄体的存在/不存在可以由表示被摄体的1位标志或诸如网格等的信息来表示。换句话说,形状模型的元素是在形状模型被表示为点的集合的情况下的点,或者是在形状模型被表示为网格的集合的情况下的网格。将形状模型表示为点的集合在如下方面是有利的,它使得能够详细再现对象的形状,并且将形状模型表示为网格的集合在如下方面是有利的,它可以减少形状模型的数据量。虽然在本示例性实施例中将主要描述虚拟视点图像是静止图像的情况,但是虚拟视点图像可以是运动图像。

[系统构造]

下面将参照附图描述本发明的各种示例性实施例。本发明的各个实施例都可以单独实现,也可以在必要的情况下,或者在单个实施例中,对来自独自的实施例的元素或特征的组合的情况下,将本发明的各个实施例作为多个实施例或特征的组合进行实现。下面将参照图1和图2描述被构造为生成并输出虚拟视点图像的图像处理系统的构造。图1例示了根据示例性实施例的图像生成装置1的硬件构造的示例。图2是例示根据第一示例性实施例的图像处理系统的功能构造的示例的框图。本示例性实施例中的图像处理系统包括图像生成装置1、图像拍摄装置2和显示装置3。

下面将描述图1中所示的图像生成装置1的硬件构造的示例。

图像生成装置1包括中央处理单元(cpu)101、只读存储器(rom)102、随机存取存储器(ram)103、硬盘驱动器(hdd)104、显示接口(i/f)105、输入单元106和通信接口(i/f)107。cpu101读取存储在rom102中的控制程序以执行各种类型的处理。ram103用作cpu101的主存储器和诸如工作区的临时存储区域。hdd104存储各种类型的数据、程序等。显示i/f105将各种类型的信息输出到显示装置3。输入单元106包括键盘或鼠标并接收各种用户操作。

通信i/f107经由网络与外部装置进行通信处理。可选地,通信i/f107可以与外部装置无线通信。

cpu101读取存储在rom102或hdd104中的程序,并执行该程序以实现下面描述的图像生成装置1的功能和处理。可选地,cpu101可以读取不存储在rom102等中,而是存储在诸如安全数字(sd)卡等的记录介质中的程序。

虽然在示例性实施例中图像生成装置的单个处理器(cpu101)使用单个存储器(rom102)执行下述流程图中所示的处理,但是可以采用任何其他形式。例如,多个处理器、多个ram、rom和存储器可以协作以实现流程图中所示的处理。硬件电路可用于执行这些处理中的部分。此外,可以使用除cpu之外的处理器来实现下面描述的图像生成装置1的功能和处理。(例如,可以使用图形处理单元(gpu)代替cpu。)

以下将参照图2描述根据本示例性实施例的图像处理系统。

图像生成装置1从通信i/f107获取由图像拍摄装置2在同一时间点拍摄的图像和各真实照相机的照相机参数,并生成虚拟视点图像。然后,图像生成装置1经由显示器i/f105将所生成的虚拟视点图像发送到显示装置3。照相机参数包括外部参数和内部参数。外部参数是关于照相机的放置状态的参数,并且示例包括关于照相机的位置和姿势的信息。内部参数是关于照相机状态的参数,并且示例包括关于真实照相机的焦距的信息和关于图像传感器的中心坐标的信息。

图像拍摄装置2包括多个真实照相机,并且真实照相机分别从不同方向拍摄被摄体的图像。在本示例性实施例中,图像拍摄装置2的多个真实照相机中的各个,具有用于识别照相机的照相机号。真实照相机连接到图像生成装置1,并将由真实照相机拍摄的图像和真实照相机的照相机参数发送到图像生成装置1。真实照相机根据现实世界的单个时间点信息被同步,并且时间点信息被给予各个拍摄的图像。照相机参数可以与拍摄的图像同步发送,或者可以在图像拍摄之前发送,或者根据需要异步发送。

显示装置3接收在图像生成装置1中生成的图像并显示虚拟视点图像。

图像生成装置1包括照相机信息获取单元200、形状估计单元210、距离估计单元220、可见性信息存储单元230和虚拟视点图像生成单元240。

照相机信息获取单元200经由通信i/f107从图像拍摄装置2获取由多个真实照相机在同一时间点拍摄的图像和真实照相机的照相机参数,作为照相机信息。形状估计单元210、距离估计单元220、可见性信息存储单元230和虚拟视点图像生成单元240从照相机信息获取单元200获取照相机参数。

形状估计单元210基于拍摄图像和照相机参数,估计被摄体的三维形状。然后,形状估计单元210将形状模型作为形状估计结果输出到距离估计单元220、可见性信息存储单元230和虚拟视点图像生成单元240。

距离估计单元220使用形状模型和照相机参数,估计形状模型的各个点与根据照相机的位置之间的距离,并将这样的距离信息输出到可见性信息存储单元230。根据照相机的位置可以是照相机的摄像面(摄像传感器)的位置。

可见性信息存储单元230使用形状模型和距离信息,来判断指示形状模型的各个点或元素是否从各个真实照相机可见的可见性,并且将判断结果存储在hdd104中。除了可见性判断信息之外,可见性信息存储单元230还可以存储形状模型和距离信息中的至少一个。

为了生成单个虚拟视点图像,虚拟视点图像生成单元240接收基于虚拟视点信息(虚拟照相机的照相机参数)的对虚拟视点的指定,并基于该指定生成虚拟视点图像。尝试指定虚拟视点的用户(操作者)操作输入单元106以指定虚拟视点信息。虚拟视点信息的指定不限于前述,并且可以通过辨识被摄体等来进行。生成的虚拟视点图像被输出到显示装置3。不需要包括单个图像生成装置1中的图2中所示的所有功能单元。例如,包括照相机信息获取单元200、形状估计单元210和距离估计单元220的第一装置,包括可见性信息存储单元230的第二装置,以及包括虚拟视点图像生成单元240的第三装置可以可通信地彼此连接。此外,在这种情况下,包括虚拟视点图像生成单元240的多个第三装置可以连接到包括可见性信息存储单元230的第二装置。该构造使得多个虚拟视点图像生成单元240能够共享存储在可见性信息存储单元230中的信息,以有效地生成多个虚拟视点图像。

[操作流程]

下面将参照图3详细描述图像生成装置1的处理。在图3的流程图中,步骤s310是获取由多个真实照相机在同一时间点拍摄的图像和各照相机的照相机参数的步骤,步骤s320是进行形状估计处理的步骤,步骤s330是进行距离估计处理的步骤。此外,步骤s340是进行可见性判断处理并存储判断结果的步骤,并且,步骤s350是生成并输出多个输入虚拟视点图像的步骤。下面将详细描述该处理。

<步骤s310>

在步骤s310中,照相机信息获取单元200获取由真实照相机在同一时间点拍摄的图像和真实照相机的照相机参数作为照相机信息。然后,照相机信息获取单元200将获取的照相机参数发送到形状估计单元210、距离估计单元220、可见性信息存储单元230和虚拟视点图像生成单元240。此外,照相机信息获取单元200将由真实照相机拍摄的图像发送到形状估计单元210。

<步骤s320>

在步骤s320中,形状估计单元210获取由真实照相机拍摄的图像和真实照相机的照相机参数,并估计被摄体的三维形状。然后,形状估计单元210将作为估计结果的形状模型发送到距离估计单元220、可见性信息存储单元230和虚拟视点图像生成单元240。

三维形状估计处理包括例如生成被摄体(拍摄图像中的特定对象)的轮廓图像(silhouetteimage)的处理和估计三维形状的处理。轮廓图像是例如如下的二值图像,在该二值图像中,被摄体区域以白色显示而其他区域以黑色显示。轮廓图像的内容不限于前述内容,并且可以是可识别地指示与拍摄图像中的特定对象相对应的区域的任何信息。通过诸如背景差分方法的常用方法从被摄体的拍摄图像生成轮廓图像,在背景差分方法中,计算与在没有被摄体的情况下预先拍摄的背景图像的差分,并且将具有大于或等于阈值的值的区域确定为轮廓(前景区域)。然而,轮廓图像生成方法不限于前述方法。例如,可以使用通过图像辨识来检测作为被摄体的人体以生成轮廓图像的方法,或者可以使用检测运动对象以生成运动对象区域的轮廓图像的方法。

然后,形状估计单元210使用所生成的所有真实照相机的轮廓图像和照相机参数来估计被摄体的三维形状。诸如视觉外壳(visualhull)方法的已知方法可用于估计三维形状。作为估计处理的结果,获取表示被摄体的形状模型的三维(3d)点群(具有三维坐标的点的集合)。3d点群的坐标xw由例如以现实世界中的位置为原点、具有三个正交轴(x轴、y轴和z轴)的世界坐标系表示。被摄体的形状模型可以由多个网格的集合表示。在三维形状估计(三维模型生成)中,使用所有照相机的拍摄图像不是必不可少的,并且可以基于一个或更多个拍摄图像来进行三维形状估计。

<步骤s330>

在步骤s330中,距离估计单元220获取真实照相机的照相机参数和由形状估计单元210获取的3d点群,并估计从各个真实照相机到被摄体的距离。然后,距离估计单元220向可见性信息存储单元230发送作为估计结果的范围图像。与各个照相机相对应的范围图像是如下信息,该信息指示被摄体的形状模型的元素与照相机之间的距离。

下面将描述估计从真实照相机到被摄体的距离并生成范围图像的方法的示例。范围图像具有与拍摄图像相同的宽度和相同的高度,并且各个像素存储距离值。例如,首先,将3d点群的点p的坐标xw乘以外部矩阵te,以将坐标xw变换为照相机坐标系的照相机坐标xc。外部矩阵te是由真实照相机的外部参数配置的矩阵。当在照相机位置为原点的情况下真实照相机的镜头面向的方向是照相机坐标系的z轴的正方向时,照相机坐标xc的z坐标是从真实照相机中观看此点的情况下的距离值。

接下来,计算照相机坐标xc的图像坐标xi,以获得存储距离值的范围图像的坐标。通过将内部矩阵ti乘以通过用z坐标归一化照相机坐标xc而获得的归一化照相机坐标来计算图像坐标xi。内部矩阵ti是由真实照相机的内部参数配置的矩阵。在先前计算的另一点的距离值存储在图像坐标xi的像素中的情况下,将所存储的值与图像坐标xi的z坐标进行比较。然后,如果z坐标小于存储值,则将z坐标存储为图像坐标xi处的新像素值。对3d点群的每个点p执行上述处理,以生成单个真实照相机的范围图像。此外,对所有真实照相机执行上述处理,以生成所有真实照相机的范围图像。生成关于各个照相机与模型的元素之间的距离的距离信息的方法不限于上述方法。不需要为系统中的每一个照相机生成距离信息,并且生成一个或更多个照相机的距离信息就足够了。

<步骤s340>

在步骤s340中,可见性信息存储单元230获取真实照相机的范围图像和照相机参数以及3d点群,判断构成3d点群的每个点的可见性,并将判断结果存储在hdd104中。此外,可见性信息存储单元230将结果发送到虚拟视点图像生成单元240。虽然下面将主要描述,判断从系统中的各个照相机的被摄体的形状模型的每一个元素的可见性的情况,但是本示例性实施例不限于该情况。要判断的元素可以是形状模型的元素的一部分,并且要判断的照相机可以是系统中的照相机的一个或更多个。换句话说,针对表示对象形状的形状模型的至少一个元素,获取判断信息,并且该判断信息针对一个或更多个拍摄图像中的各个,指示与该元素相对应的像素是否包括在拍摄图像中。

下面将描述判断可见性和存储判断结果的方法的示例。首先,将3d点群的点p的坐标xw变换为照相机坐标系和图像坐标系,以计算照相机坐标xc和图像坐标xi。然后,将范围图像在图像坐标xi处的像素值与范围图像的照相机坐标xc的z坐标(从真实照相机到该点的距离)进行比较。作为比较的结果,在范围图像的像素值与z坐标之间差分d不大于阈值的情况下,判断点p是从真实照相机可见的。另一方面,在差分d大于阈值的情况下,判断点p是从照相机不可见的。换言之,基于与点p相对应的像素是否被包括在由真实照相机拍摄的图像中的比较的结果,来进行判断。对每一个真实照相机进行上述处理,以判断单个点p是否时从各个真实照相机可见的。此外,对3d点群的每一个点进行前述处理以生成可见性信息。

关于各个点的可见性信息以例如位阵列的形式存储,以指定各个真实照相机的可见性。图4例示了作为可见性信息的位阵列400的示例。在位阵列400中,最低有效位410是第一真实照相机的可见性信息,并且最高有效位420是n个真实照相机的第n个真实照相机的可见性信息。各个位指示来自相应的真实照相机的点p的可见性,“0”指示点p是不可见的,而“1”指示点p是可见的。例如,图4中示为8位的位阵列400指示关注的点从第一、第二、第五、第七和第八真实照相机可见,但是从第三、第四和第六真实照相机不可见。为3d点群的每个点提供这样的位阵列,以存储关于与该点相关联的各个点的可见性信息。虽然在图4所示的示例中可见性信息由0或1表示,但是可见性信息可以使用差分d以多级表示。在这种情况下,各个点被表示为具有差分d,使得差分d的数量对应于真实照相机的数量。此外,在形状模型的元素是网格等的情况下,类似地,针对各个网格,存储具有与真实照相机的数量相对应的位数的可见性信息,如图4中的位阵列400所指定的。关于存储在可见性信息存储单元230中的形状模型的元素的可见性的信息的格式不限于上述格式。例如,可以存储关注元素从其可见的照相机的识别信息或关注元素从其不可见的照相机的识别信息,或者可以仅针对元素的可见性的判断结果变化的帧来存储可见性信息。可见性信息可以通过任何其他已知的数据压缩方法压缩并存储。以这种方式,减少了存储在可见性信息存储单元230中的数据量,以实现存储器的有效使用。

<步骤s350>

在步骤s350中,虚拟视点图像生成单元240获取真实照相机的照相机参数、3d点群和可见性信息,并生成一个或更多个虚拟视点图像。一个或更多个虚拟视点图像的虚拟视点可以通过用户操作经由输入单元106获取,或者可以基于一个或更多个虚拟照相机的位置和姿势预先确定。获取一个或更多个虚拟视点的方法可以是任何其他方法。最后,经由显示器i/f105将一个或更多个生成的虚拟视点图像输出到显示装置3。

下面将描述虚拟视点图像生成单元240生成虚拟视点图像的方法。虚拟视点图像生成单元240确定要生成的、与形状模型的元素相对应的虚拟视点图像的像素的值。虚拟视点图像的像素的值基于根据可见性判断从判断信息识别的拍摄图像(由元素从其可见的照相机拍摄的图像)的像素当中的、与该元素相对应的像素的值来确定。下面将描述生成虚拟视点图像的方法的具体示例。首先,虚拟视点图像生成单元240生成从虚拟照相机观看的前景图像(被摄体的区域的图像)以及背景图像(不包括被摄体的图像)。然后,虚拟视点图像生成单元240将所生成的背景图像与所生成的前景图像进行组合(combine),以生成虚拟视点图像。

下面将描述生成虚拟视点图像的前景图像的方法。通过使用现有计算机图形(computergraphics,cg)渲染方法对3d点群着色并渲染着色的3d点群来生成虚拟视点图像的前景图像。为了对3d点群进行着色,首先,参照3d点群和可见性信息,并且获取要着色的点p的坐标xw和可见性信息。由于在步骤s340中将可见性信息给予3d点群的各个点,因此可以使用点p的识别号来获取点p的可见性信息。

接下来,通过参照可见性信息的位阵列来识别点p从其可见的真实照相机。将点p的坐标xw变换为所识别的真实照相机的图像坐标系,并且基于拍摄的照相机图像上的图像坐标xi的像素,来确定点p的颜色(color)。在点p从多个真实照相机可见的情况下,从由各真实照相机拍摄的图像中获取像素值,并且例如,获取的像素值的平均值被确定为点p的颜色。针对3d点群的每个点进行相同的处理以对所有点着色。在点p的可见性信息不是由1或0的位阵列表示而是由多级值表示的情况下,将从点p被判断为从中可见的真实照相机获取的像素值的加权平均值确定为点p的颜色。通过设置阈值来确定可见性判断,如在位阵列的情况下那样。通过计算点p被判断为从中可见的真实照相机的差分d的比率,可以获得权重。然而,如何确定前景图像的像素值不限于上述方法。例如,在从基于可见性判断的信息识别具有与形状模型的元素相对应的像素的多个拍摄图像的情况下,可以基于从多个识别的拍摄图像中选择的拍摄图像的像素值,来确定前景图像中的与元素相对应的像素的值。具体地,可以选择由位于距元素的最短距离处的真实照相机拍摄的拍摄图像以使用所选图像的像素值,或者可以选择由位于距元素的短距离处的多个真实照相机拍摄的多个拍摄图像,以根据所选图像的像素值来计算前景图像的像素值。在该方法中,使用被摄体的与元素相对应的部分的分辨率高的拍摄图像,从而以高精度进行形状模型的着色。前景图像的像素值可以通过如下确定:选择并使用由位于距指定的虚拟视点的短距离处的真实照相机拍摄的图像,或者,由在与指定的虚拟视点的视线方向的差异小的图像拍摄方向上拍摄图像的真实照相机拍摄的图像。利用这些方法,在被摄体表面的颜色或光泽根据视角变化的情况下,生成虚拟视点图像,该虚拟视点图像高精度地再现被摄体如何从指定的虚拟视点出现。

现在,生成虚拟视点图像的背景图像。首先,在背景3d模型中,例如,设置诸如竞技场等的建筑物的顶点。预先生成并存储在系统中的竞技场等的cg(计算机图形)模型可以用作背景3d模型,或者可以基于由多个照相机拍摄的图像而生成背景3d模型。顶点被变换为位于虚拟视点附近的两个真实照相机(下文中,“第一照相机”和“第二照相机”)的照相机坐标系和虚拟视点的照相机坐标系。接下来,分别使用虚拟视点和第一照相机的对应点以及虚拟视点和第二照相机的对应点,来计算虚拟视点与第一照相机之间的第一变换矩阵以及虚拟视点与第二照相机之间的第二变换矩阵。为了计算虚拟视点的背景图像的各个像素值,使用第一变换矩阵和第二变换矩阵将像素的坐标变换为背景图像的坐标系,并且获取变换坐标的像素值。计算两个获取的像素值的平均值并将其确定为背景图像的像素值。然而,要使用的真实照相机的数量不限于上述数量。在使用位于虚拟视点附近的n个真实照相机的情况下,通过类似处理计算第一变换矩阵至第n变换矩阵,并且使用变换矩阵来获取变换坐标。然后,将n个像素值的平均值确定为背景图像的像素值。生成背景图像的方法不限于上述方法。例如,如在生成前景图像的情况下,获取关于背景3d模型的元素的可见性的判断信息,并且使用从判断信息中识别出的拍摄图像(由从其可见元素的照相机拍摄的图像)的像素值来确定背景图像的像素值。该方法降低了基于前景对象的颜色的值而被错误地设置为背景图像的像素值的可能性。

将所获取的虚拟视点图像的前景图像叠加在所获取的虚拟视点图像的背景图像上,以生成虚拟视点图像。此外,通过使用独立于虚拟视点的具有同一形状模型(关于3d点群或网格的信息)和同一可见性信息(关于形状模型的元素的可见性的判断信息)的多个不同的虚拟视点信息反复进行相同的处理,可以以减少的处理负荷生成与同一时间点的多个虚拟视点相对应的多个虚拟视点图像。

由于在本示例性实施例中使用关于形状模型的元素的可见性信息来生成虚拟视点图像,因此可见性信息存储单元230不必存储所有真实照相机的范围图像,从而减少了要存储的数据量。所获取的形状模型的元素的可见性信息是独立于虚拟视点的信息,使得在生成与同一时间点的多个虚拟视点相对应的多个虚拟视点图像时可以共享所存储的可见性信息。然后,多次进行仅依赖于虚拟视点的处理以生成虚拟视点图像,从而防止了处理负荷的增加。虽然在本示例性实施例中主要描述了存储关于构成形状模型的每个3d点群的可见性信息的情况,但是本示例性实施例不限于上述情况。例如,可以仅存储关于预定间隔的点的可见性信息,或者不必存储关于不太可能出现在虚拟视点图像上的点的可见性信息。

在上述第一示例性实施例中,在生成虚拟视点图像之前生成并存储可见性信息,并且使用所存储的可见性信息对3d点群进行着色以生成虚拟视点的前景图像。在第二示例性实施例中,下面将描述这样的示例,其中3d点群被着色,同时使用数据量减少的范围图像来判断3d点群的可见性,以生成虚拟视点的前景图像。根据本示例性实施例的图像生成装置的硬件构造类似于图1中所示的硬件构造,因此省略其描述。

[系统构造]

图5是例示在本示例性实施例中被构造为生成并输出虚拟视点图像的图像处理系统的功能构造的示例的框图。与第一示例性实施例中一样,本示例性实施例中的图像处理系统包括图像生成装置1、图像拍摄装置2和显示装置3。

图像生成装置1包括照相机信息获取单元200、形状估计单元210、距离估计单元220、范围图像存储单元530和虚拟视点图像生成单元540。照相机信息获取单元200、形状估计单元210和距离估计单元220与第一示例性实施例中的类似,因此省略其描述。

范围图像存储单元530根据由距离估计单元220生成并且具有与拍摄图像相同的图像尺寸的范围图像,来生成围绕被摄体的矩形区域的图像作为矩形区域范围图像,并将生成的矩形区域范围图像存储在hdd104中。然后,范围图像存储单元530将所有真实照相机的矩形区域范围图像输出到虚拟视点图像生成单元540。

虚拟视点图像生成单元540使用矩形区域范围图像生成一个或更多个虚拟视点图像。在本示例性实施例中,在使用矩形区域范围图像判断各个点的可见性的同时进行点着色处理,以生成虚拟视点图像的前景图像。这是与第一示例性实施例中的虚拟视点图像生成单元240进行的处理的不同之处。

[操作处理]

下面将参照图6所示的流程图描述根据本示例性实施例的图像生成装置1的处理。图6的流程图中的步骤s310、s320和s330类似于上面在第一示例性实施例中描述的图3中的那些步骤,因此,省略了其描述。步骤s640是根据范围图像计算围绕被摄体的矩形区域,进行图像获取处理以切割范围图像并获取矩形区域范围图像,以及存储所获取的矩形区域范围图像的步骤。步骤s650是在使用切割的范围图像进行可见性判断处理的同时对点着色的步骤。下面将描述步骤s640中的处理和步骤s650中的处理的详情。

<步骤s640>

在步骤s640中,范围图像存储单元530从距离估计单元220获取范围图像。然后,范围图像存储单元530计算在真实照相机的范围图像中围绕被摄体区域的矩形区域,从范围图像切割矩形区域的图像以生成矩形区域范围图像,并且将所生成的矩形区域范围图像存储在hdd104中。此外,范围图像存储单元530将关于矩形区域的信息和矩形区域范围图像发送到虚拟视点图像生成单元540。

下面将描述从真实照相机的范围图像生成矩形区域范围图像并存储所生成的矩形区域范围图像的方法。图7例示了范围图像中的围绕被摄体区域的矩形区域。范围图像700是在步骤s330中生成的真实照相机的范围图像。可以对范围图像700进行现有标记处理以生成标记了被摄体区域710和711的标记图像。因此,被摄体区域710的像素值标记为“1”,被摄体区域711的像素值标记为“2”,其他像素值标记为“0”。

矩形区域720由两个点(顶点730和731)表示,并且顶点730和731的坐标由范围图像700的坐标系740表示。这同样适用于矩形区域721。通过计算像素值为“1”的标记图像的像素集合中的x坐标的最小值xmin和最大值xmax以及y坐标的最小值ymin和最大值ymax来获得顶点730和731。因此,顶点730的坐标可以表示为(xmin,ymin),并且顶点731的坐标可以表示为(xmax,ymax)。可选地,可以通过基于由步骤s320中的形状估计处理生成的轮廓图像而进行与上述处理类似的处理,来计算矩形区域。

通过将范围图像的矩形区域中的像素值i(x,y)复制到矩形区域范围图像的像素ir(xr,yr)来生成具有所获取的矩形区域的尺寸作为其图像尺寸的矩形区域范围图像。值xr和yr由具有顶点730作为原点的矩形区域范围图像的坐标系741表示,并且被计算为xr=x-xmin和yr=y-ymin。在标签的数量是两个或更多的情况下,在各个标签中生成矩形区域信息和矩形区域范围图像。针对各个真实照相机生成的矩形区域信息和矩形区域范围图像与对应的真实照相机的照相机号一起存储,使得拍摄该范围图像的真实照相机是可识别的。

<步骤s650>

在步骤s650中,虚拟视点图像生成单元540获取真实照相机的照相机参数、3d点群、矩形区域信息和矩形区域范围图像,并在判断关于3d点群的各个点的可见性信息的同时生成虚拟视点的前景图像。然后,虚拟视点图像生成单元540使用与步骤s350中的方法类似的方法生成虚拟视点的背景图像,并将前景图像叠加在背景图像上以生成虚拟视点图像。虚拟视点图像生成单元540将所生成的虚拟视点图像发送到显示装置3。

下面将描述在使用矩形区域范围图像判断3d点群的各个点的可见性的同时生成虚拟视点的前景图像的方法。如在步骤s350中那样,通过使用现有cg渲染方法对3d点群进行着色并渲染着色的3d点群来生成虚拟视点图像的前景图像。为了对3d点群进行着色,通过参照3d点群和关于矩形区域范围图像的信息来判断要着色的点p的坐标xw的可见性。

在可见性判断中,将3d点群的点p的坐标xw变换为照相机坐标系和图像坐标系,以计算照相机坐标xc和图像坐标xi。然后,从图像坐标xi中减去矩形区域范围图像的矩形区域的起点的坐标,以计算矩形区域范围图像的坐标xj。将坐标xj处的矩形区域范围图像的像素值与照相机坐标xc的z坐标(从真实照相机到该点的距离)进行比较。作为比较的结果,在差分d不大于阈值的情况下,判断点p从真实照相机可见,而在差分d大于阈值的情况下,判断点p从真实照相机不可见。对每一个真实照相机进行上述处理,以生成关于点p的可见性信息。

如上所述生成可见性信息,以使用与步骤s350中的方法类似的方法计算点p的颜色。对3d点群的每一个点进行上述处理以对3d点群进行着色。生成背景图像的方法类似于第一示例性实施例中的方法,并且前景图像被叠加在背景图像上以生成虚拟视点图像。

如上所述,在本示例性实施例中,不存储由真实照相机拍摄的图像的图像尺寸的范围图像,并且存储生成以减小范围图像的数据量的围绕被摄体区域的矩形区域的尺寸的范围图像。以这种方式,当要生成同一时间点的多个虚拟视点图像时,使用矩形区域范围图像进行可见性判断,以防止数据传送时间和数据量的增加。

虽然在上述示例性实施例中在图像生成装置1处估计被摄体的形状模型,但是由形状估计单元210进行的处理和由距离估计单元220进行的处理可以由另一个装置进行。在这种情况下,照相机信息获取单元200还从其他装置获取表示被摄体的形状模型的3d点群和范围图像。

上述示例性实施例能够容易地生成多个虚拟视点图像。

其它实施例

还可以通过读出并执行记录在存储介质(也可更完整地称为"非暂时性计算机可读存储介质")上的计算机可执行指令(例如,一个或更多个程序)以执行上述实施例中的一个或更多个的功能,和/或包括用于执行上述实施例中的一个或更多个的功能的一个或更多个电路(例如,专用集成电路(asic))的系统或装置的计算机,来实现本发明的实施例,并且,可以利用通过由系统或装置的计算机例如读出并执行来自存储介质的计算机可执行指令以执行上述实施例中的一个或更多个的功能,并且/或者控制一个或更多个电路以执行上述实施例中的一个或更多个的功能的方法,来实现本发明的实施例。计算机可以包括一个或更多个处理器(例如,中央处理单元(cpu)、微处理单元(mpu)),并且可以包括分开的计算机或分开的处理器的网络,以读出并执行计算机可执行指令。计算机可执行指令可以例如从网络或存储介质被提供给计算机。存储介质可以包括例如硬盘、随机存取存储器(ram)、只读存储器(rom)、分布式计算系统的存储器、光盘(诸如压缩光盘(cd)、数字通用光盘(dvd)或蓝光光盘(bd)tm)、闪存装置以及存储卡等中的一个或更多个。

本发明的实施例还可以通过如下的方法来实现,即,通过网络或者各种存储介质将执行上述实施例的功能的软件(程序)提供给系统或装置,该系统或装置的计算机或是中央处理单元(cpu)、微处理单元(mpu)读出并执行程序的方法。

虽然针对示例性实施例描述了本发明,但是,应该理解,本发明不限于公开的示例性实施例。下述权利要求的范围应当被赋予最宽的解释,以涵盖所有这类修改以及等同的结构和功能。

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