图像合成方法及设备与流程

文档序号:12126251阅读:506来源:国知局
图像合成方法及设备与流程

本公开总体涉及计算机视觉领域,具体涉及图像合成方法及设备。



背景技术:

图像合成指的是将多幅图像合成为一幅新的图像,并且使合成后的图像尽可能显得自然真实。例如,从一幅图像中提取出前景对象图像(下文中简称前景图像),并将其合成到另一幅背景图像以形成一幅新的图像就是一个典型的图像合成。图像合成在图像与视频编辑应用中具有重要的意义,其使得用户可以将一幅图像中提取出的对象无缝地合成到另外一幅图像中,因而在例如增强现实、视频会议等需要将人或其他对象与虚拟背景进行合成的许多场合中有着广泛的应用。

关于图像合成,本领域中的常用方法包括泊松图像编辑、颜色传递等。前者利用泊松方程将图像合成问题表示为插值问题,但是利用该方法合成的图像中可能存在颜色偏移问题。后者应用在PhotoShop的MatchColor功能中,其通过将待合成的例如前景图像和背景图像的颜色直方图的均值和方差对齐来进行合成。但是,由于该方法将图像的光照和反射性质合并在一起处理,因此前景图像会受到背景图像的干扰而导致合成后的结果呈现不自然的效果。另一方面,通常待合成的各幅图像是在不同的时间、地点、场景下获得的,因而具有不同的光照条件。因此如果在图像合成时不考虑光照问题而直接将一副图像添加到另一幅图像中,则由于光照条件的不一致,将导致生成的合成图像有明显的人工合成痕迹,显得不自然不真实。本领域中上述的两种常用合成方法均未能够很好地解决这一问题。



技术实现要素:

鉴于以上问题而提出了本公开。

根据本公开的一个方面的实施例,提供了一种图像合成方法,包括:获取第一图像和第二图像;将第一图像分解为第一光照图像和第一反射图像; 根据第一光照图像将第二图像变换为第一图像的光照条件下的图像;将变换后的第二图像合成到第一图像中。

根据本公开的另一个方面的实施例,提供了一种图像合成设备,包括:获取部件,配置为获取第一图像和第二图像;分解部件,配置为将第一图像分解为第一光照图像和第一反射图像;变换部件,配置为根据第一光照图像将第二图像变换为第一图像的光照条件下的图像;合成部件,配置为将变换后的第二图像合成到第一图像中。

根据本公开的另一个方面的实施例,提供了一种图像合成设备,包括:处理器;存储器;和存储在所述存储器中的计算机程序指令,在所述计算机程序指令被所述处理器运行时执行以下步骤:获取第一图像和第二图像;将第一图像分解为第一光照图像和第一反射图像;根据第一光照图像将第二图像变换为第一图像的光照条件下的图像;将变换后的第二图像合成到第一图像中。

通过根据本公开的上述方面的图像合成方法和设备,能够将不同光照条件下的两幅图像合成在一起,并且使合成后的图像呈现自然的效果。

附图说明

通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。

图1示意性地示出了根据本发明实施例的图像合成技术的可能的应用场景。

图2示出了根据本公开实施例的图像合成方法的流程图。

图3例示了示例性的背景图像以及由该背景图像分解得到的背景光照图像和背景反射图像。

图4示出了根据本公开实施例的、根据背景光照图像将前景图像变换为背景图像的光照条件下的图像的处理的流程图。

图5例示了示例性的前景图像以及由该前景图像分解得到的前景光照图像和前景反射图像。

图6示出了根据本公开实施例的、根据背景光照图像将前景光照图像变换为背景图像的光照条件下的图像的处理的流程图。

图7示出了由示例的变换后的前景光照图像和前景反射图像合成得到变换后的前景图像的示例情形。

图8示出了将示例的变换后的前景图像合成到背景图像中的示例情形。

图9示出了根据本公开实施例的图像合成设备的功能配置框图。

图10示出了用于实现根据本公开实施例的示例性图像合成设备的计算设备框图。

具体实施方式

下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

图1示意性地示出了根据本发明实施例的图像合成技术的可能的应用场景。如图1所示,用户站在摄像头101的摄像范围内,该摄像头101对用户进行拍摄,该摄像头101可以是2D或3D摄像头。诸如计算机的处理设备102对由摄像头101拍摄的图像进行分析,提取前景对象,将前景对象与某一背景图像进行合成,生成新的合成图像。投影仪103和投影屏幕104用于显示目的,例如显示器,电视等的其他显示设备亦可作此用途。需要说明的是,图1仅仅图示了本发明的一种可能的应用场景,根据实际情况,应用场景中的装置可以相应地增加或减少,并具有不同的配置。

如前所述,图像合成用于将多幅图像合成为一幅新的图像。在下文中,为了便于描述,以将从一副图像中提取的前景对象的图像(以下简称前景图像)与一副背景图像合成为例,对根据本发明的图像合成技术进行描述,其中包含所述前景图像的图像和所述背景图像是在不同的时间、地点和场景下获得的,因而具有不同的光照条件。

下面参考图2对根据本公开实施例的图像合成方法进行描述。图2示出了根据本公开实施例的图像合成方法的流程图。

如图2所示,在步骤S210,获取前景图像和背景图像。

在该步骤中,可以通过任何方式获取要合成的前景图像和背景图像。例 如,可以从外部输入所述前景图像和背景图像,也可以拍摄得到所述前景图像和背景图像。

在步骤S220,将背景图像分解为背景光照图像和背景反射图像。

根据Edward Land于1986年提出的Retinex颜色恒常性理论,一幅图像可以如表达式(1)所示被分解为光照(illumination)图像和反射(reflectance)图像。

I(x,y)=S(x,y)·R(x,y) ...(1)

其中,S(x,y)表示光照图像,R(x,y)表示反射图像,(x,y)为图像中像素的坐标。

目前,在计算机视觉领域中,对于图像分解的技术已经进行了许多研究,并提出了许多具体的图像分解方法。例如,Arjan Gijsenij在2011年发表的“Color constancy using Natural Image Statistics and Scene Semantics”、Nikola Banic在2013年发表的“Using the random sprays retinex algorithm for global illumination estimation”,Sean Bell在2014年发表的“Intrinsic images in the wild”等文章中均给出了具体的图像分解方法。在本发明中,作为示例,采用Sean Bell所提出的图像分解方法。下面仅仅是为了说明的完整,对该图像分解方法进行简单的介绍。

根据Sean Bell提出的方法,图像分解即寻找最符合如下概率分布p的反射图像R和光照图像S:

满足

其中表示颜色通道c∈{r,g,b}

具体的,在Sean Bell提出的方法中,首先通过对像素颜色进行k-means聚类,初始化反射图像R的集合;然后,对每个像素从反射图像R的集合中选取一个进行标记,使得p(R,S|I)最大化;最后,通过最小化光照图像S中的不连续性,调整反射图像R。

图3例示了示例性的背景图像以及由该背景图像分解得到的背景光照图像和背景反射图像。能够看到,背景图像以及由此分解得到的背景光照图像、背景反射图像具有相同的尺寸。

上述图像分解方法仅仅是一个示例,在该步骤S220中,本领域技术人员 可以采用任何已知的图像分解方法将背景图像分解为背景光照图像SBG(x,y)和背景反射图像RBG(x,y)。

在步骤S230,根据背景光照图像将前景图像变换为背景图像的光照条件下的图像。下面将结合图4对该步骤中的处理进行详细的描述。图4示出了根据本公开实施例的、根据背景光照图像将前景图像变换为背景图像的光照条件下的图像的处理的流程图。

如图4所示,在步骤S2301,将前景图像分解为前景光照图像和前景反射图像。

与背景图像的分解相同,在该步骤中,可以采用本领域中任何已知的图像分解方法将前景图像分解为前景光照图像SFG(x,y)和前景反射图像RFG(x,y),此处不再赘述。图5例示了示例性的前景图像以及由该前景图像分解得到的前景光照图像和前景反射图像。

在步骤S2302,根据背景光照图像将前景光照图像变换为背景图像的光照条件下的图像。

作为示例,在该步骤中利用背景光照图像和前景光照图像的直方图对前景光照图像进行变换。另一方面,如前所述,前景图像是从一副图像中提取的前景对象的图像,其通常仅仅是整个图像的一部分,并且在合成时,也仅仅覆盖背景图像的部分区域。也就是说,被合成的前景图像仅会受到背景图像中局部光照条件的影响。因此,作为示例,在该步骤中,利用背景光照图像中局部区域的直方图对前景光照图像的直方图进行变换。

下面将结合图6对该步骤中的处理进行详细的描述。图6示出了根据本公开实施例的、根据背景光照图像将前景光照图像变换为背景图像的光照条件下的图像的处理的流程图。

在步骤S23021中,确定背景图像中、前景图像将被合成到其中的区域。

该步骤用于在背景图像中定位前景图像将要覆盖的区域。例如,以图4和图5所示的前景图像和背景图像为例,假设前景图像的宽度为w,高度为h,则在该步骤中在背景图像中定位一个前景图像将被合成到其中的宽度和高度分别为w和h的区域。

在步骤S23022,计算背景光照图像中与所述区域对应区域的局部直方图。

如前所述,背景图像以及分解得到的背景光照图像具有相同的尺寸。在 该步骤中,计算背景光照图像中与在背景图像中定位的区域对应区域的局部直方图。

图像的直方图是一种常用的用来描述图像灰度分布的图,其通常用横轴表示图像的灰度级,用纵轴表示各灰度级包含的像素个数。在该步骤中,作为示例,如表达式(3)所示计算背景光照图像中与在背景图像中定位的区域对应区域的局部直方图:

其中,rk表示第k级灰度值,ni表示图像中灰度为ri的像素的个数,n表示整个图像中像素的个数,P(rk)是灰度值rk在图像中出现的概率。

在步骤S23023,计算前景光照图像的直方图。

在该步骤中,与步骤S23022类似地计算前景光照图像的直方图,此处不再详述。

在步骤S23024,以背景光照图像的局部直方图作为目标直方图,对前景光照图像的直方图进行规定化,以得到变换后的前景光照图像。

直方图规定化是本领域中公知的常用图像处理方法。所谓直方图规定化,就是通过一个灰度映射函数,将原灰度直方图改造成规定的直方图形状。直方图规定化实际上是对直方图所代表的图像的处理,即通过对输入图像进行直方图规定化处理,使得输出图像具有规定的直方图形状。具体到该步骤中,则是如表达式(4)所示,对作为输入图像的前景光照图像的直方图进行规定化处理,以使其具有背景光照图像的局部直方图形状,由此得到作为输出图像的变换后的前景光照图像:

zk=G-1(sk),其中

其中G是灰度映射函数,zk表示希望输出图像具有的规定概率密度函数的离散化值,sk表示输入图像的概率密度函数的离散化值,Pr(rj)表示希望输出图像所具有的指定概率密度函数,rj表示第j级灰度值,L是离散灰度级的数量。

通过上述的直方图规定化处理,对于作为输入图像的前景光照图像中的每个像素,通过将其原始灰度值映射到新的灰度值,实现了前景光照图像的变换。

以上,结合图6对利用背景光照图像和前景光照图像的直方图对前景光 照图像变换为背景图像的光照条件下的示例处理进行了描述。可选的,在该处理中,可以将前景光照图像和背景光照图像划分为小块,并且通过逐个小块地进行直方图规定化来实现前景光照图像的变换。具体的,当在图6所示的步骤S23022中计算背景光照图像中与所述区域对应区域的局部直方图时,先将背景光照图像中与所述区域对应的区域划分为m×n个小块,然后针对每个所述小块计算其直方图;类似的,当在图6所示的步骤S23023中计算前景光照图像的直方图时,将前景光照图像同样划分为所述m×n个小块,然后针对每个所述小块计算直方图;随后,当在图6所示的步骤S23024中进行直方图规定化处理处理时,对于前景光照图像的每个小块的直方图,以背景光照图像中的对应小块的直方图作为目标,进行直方图规定化,由此实现前景光照图像的变换。通过如上逐块进行直方图的规定化,可以很好地保持光照变化的平滑性,使得变换后的前景光照图像与背景图像的光照分布位置相关,也能更好地模拟前景光照图像在背景图像的光照条件下的效果。

回到图4,在步骤S2303,合成变换后的前景光照图像S’FG(x,y)与前景反射图像RFG(x,y)以得到变换后的前景图像。

如前文中提到的,一幅图像可以如表达式(1)所示被分解为光照图像和反射图像。在该步骤中,同样可以通过该表达式(1),合成变换后的前景光照图像S’FG(x,y)与前景反射图像RFG(x,y)以得到变换后的前景图像。图7示出了由示例的变换后的前景光照图像和前景反射图像合成得到变换后的前景图像的示例情形。

可选的,如果在上述步骤S2302中将前景光照图像和背景光照图像划分为小块,并通过逐个小块地进行直方图规定化来实现前景光照图像的变换,则在该步骤S2303中,在进行合成处理之前,可以先对变换后的前景光照图像进行诸如高斯滤波等平滑滤波,以消除可能的“块效应”,随后将平滑滤波后的前景光照图像与前景反射图像进行合成以得到变换后的前景图像。

回到图2,在步骤S240,将变换后的前景图像合成到背景图像中。

在该步骤中,通过将变换后的前景图像直接覆盖到在背景图像中所定位的要被覆盖区域,得到合成的图像。图8示出了将示例的变换后的前景图像合成到背景图像中的示例情形。

以上已经参考附图描述了根据本公开实施例的图像合成方法。在该方法中,先根据由背景图像分解得到的背景光照图像将前景图像变换为背景图像 的光照条件下的图像,然后将变换后的前景图像合成到背景图像,从而能够将在不同光照条件下得到的两幅图像合成在一起,并且使合成后的图像呈现自然的效果。

需要说明的是,在以上的描述中以将前景图像与背景图像合成为例,对根据本公开的图像合成技术进行了描述。能够理解,本公开并不限于前景图像和背景图像的合成,而是可以用于任意两幅图像的合成。更明确的说,上文中描述的背景图像和前景图像可以分别是任意的第一图像和第二图像,只要第二图像的大小相对较小从而在合成时不会遮挡覆盖整个第一图像即可。

下面参考图9描述根据本公开实施例的图像合成设备。图9示出了根据本公开实施例的图像合成设备的功能配置框图。如图9所示,图像合成设备900可以包括:获取部件910,分解部件920,变换部件930,以及合成部件940。所述各部件的具体功能和操作与上文中针对图2-8描述的基本相同,因此为了避免重复,在下文中仅对所述设备进行简要的描述,而省略对相同细节的详细描述。

获取部件910配置为获取第一图像和第二图像。所述获取部件910可以通过各种适当的方式来获取要合成的前景图像和背景图像。例如,该获取部件910可以是摄像单元,以拍摄得到要合成的前景图像和背景图像,或者该获取部件910可以是输入单元,以从外部输入所述前景图像和背景图像。

分解部件920配置为将第一图像分解为第一光照图像和第一反射图像。具体的,分解部件920可以采用计算机视觉领域中任何已知的图像分解方法将第一图像分解为第一光照图像SBG(x,y)和第一反射图像RBG(x,y),此处不再详细描述。

变换部件930配置为根据第一光照图像将第二图像变换为第一图像的光照条件下的图像。作为示例该变换部件930可以包括子分解部件9301、子变换部件9302和子合成部件9303。

子分解部件9301配置为将第二图像分解为第二光照图像SFG(x,y)和第二反射图像RFG(x,y)。

子变换部件9302根据第一光照图像将第二光照图像变换为第一图像的光照条件下的图像。作为示例,该子变换部件9302利用第一光照图像和第二光照图像的直方图对第二光照图像进行变换。具体的,子变换部件9302确定第一图像中、第二图像将被合成到其中的区域,计算第一光照图像中与所述 区域对应区域的局部直方图,并计算第二光照图像的直方图。子变换部件9302进一步配置为以第一光照图像的局部直方图作为目标直方图,对第二光照图像的直方图进行规定化,以得到变换后的第二光照图像。直方图规定化是本领域中公知的常用图像处理方法。所谓直方图规定化,就是通过一个灰度映射函数,将原灰度直方图改造成规定的直方图形状。此处,子变换部件9302通过上文所述的表达式(4)对作为输入图像的第二光照图像的直方图进行规定化处理,以使其具有第一光照图像的局部直方图形状,由此得到作为输出图像的变换后的第二光照图像。可选的,子变换部件9302可以将第二光照图像和第一光照图像划分为小块,并且通过逐个小块地进行直方图规定化来实现第二光照图像的变换。具体的,子变换部件9302在计算第一光照图像中与所述区域对应区域的局部直方图时,先将第一光照图像中与所述区域对应的区域划分为m×n个小块,然后针对每个所述小块计算其直方图;类似的,在计算第二光照图像的直方图时,子变换部件9302将第二光照图像同样划分为所述m×n个小块,然后针对每个所述小块计算直方图;随后,在进行直方图规定化处理处理时,子变换部件9302对于第二光照图像的每个小块的直方图,以第一光照图像中的对应小块的直方图作为目标,进行直方图规定化,由此实现第二光照图像的变换。通过如上逐块进行直方图的规定化,可以很好地保持光照变化的平滑性,使得变换后的第二光照图像与第一图像的光照分布位置相关,也能更好地模拟第二光照图像在第一图像的光照条件下的效果。

子合成部件9303配置为合成变换后的第二光照图像与第二反射图像以得到变换后的第二图像。具体的,子合成部件9303可以通过上文中所述的表达式(1)来合成变换后的第二光照图像与第二反射图像以得到变换后的第二图像。可选在,如果子变换部件9302被配置为将第二光照图像和第一光照图像划分为小块,并通过逐个小块地进行直方图规定化来实现第二光照图像的变换,则子合成部件9303在进行合成处理之前,可以先对变换后的第二光照图像进行诸如高斯滤波等平滑滤波,以消除可能的“块效应”,随后将平滑滤波后的第二光照图像与第二反射图像进行合成以得到变换后的第二图像。

合成部件940配置为将变换后的第二图像合成到第一图像中。具体的,合成部件940通过将变换后的第二图像直接覆盖到在第一图像中所定位的要被覆盖区域,得到合成的图像。

以上已经参考图9描述了根据本公开实施例的图像合成设备900。该图像合成设备900根据由第一图像分解得到的第一光照图像将第二图像变换为第一图像的光照条件下的图像,随后将变换后的第二图像合成到第一图像,因而能够将在不同光照条件下得到的两幅图像合成在一起,并且使合成后的图像呈现自然的效果。

下面,参照图10来描述可用于实现本公开实施例的示例性图像合成设备的计算设备框图。

如图10所示,计算设备1000包括一个或多个处理器1002、存储装置1004、摄像头1006和输出装置1008,这些组件通过总线系统1010和/或其它形式的连接机构(未示出)互连。应当注意,图10所示的计算设备1000的组件和结构只是示例性的,而非限制性的,根据需要,计算设备1000也可以具有其他组件和结构。

处理器1002可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制计算设备1000中的其它组件以执行期望的功能。

存储装置1004可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器1002可以运行所述程序指令,以实现上文所述的本公开的实施例的功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如上述第一光照图像、第一反射图像、第二光照图像、第二反射图像、各个直方图、变换后的第二图像等等。

摄像头1006用于拍摄所述第一图像和第二图像,并且将所拍摄的第一图像和第二图像存储在存储装置1004中以供其它组件使用。

输出装置1008可以向外部输出各种信息,例如合成的图像,并且可以包括显示器、投影仪、电视等各种显示设备。

以上结合具体实施例描述了本公开的基本原理,但是,需要指出的是,在本公开中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优 点、优势、效果等是本公开的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本公开为必须采用上述具体的细节来实现。

本公开中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

本公开中的步骤流程图以及以上方法描述仅作为例示性的例子并且不意图要求或暗示必须按照给出的顺序进行各个实施例的步骤,某些步骤可以并行、彼此独立或按照其他适当的顺序执行。另外,诸如“其后”、“然后”、“接下来”等等的词语不意图限制步骤的顺序;这些词语仅用于引导读者通读这些方法的描述。

还需要指出的是,在本公开的装置和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本公开的等效方案。

提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本公开。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本公开的范围。因此,本公开不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

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