抠像模型训练和图像抠像方法、装置和系统及存储介质与流程

文档序号:16042118发布日期:2018-11-24 10:33阅读:191来源:国知局

本发明涉及图像处理领域,更具体地涉及一种抠像模型训练方法、装置和系统以及图像抠像方法、装置和系统以及存储介质。

背景技术

现有的抠像技术存在边缘模糊的问题。例如,人形抠像在直播视频等领域有着广泛的应用,其目的在于把前景的人像和背景的环境分割开,并在此基础之上加入特定的特效,达到更好的展示和娱乐效果。现有的人形抠像系统很难解决物体边缘模糊现象,给用户的视觉体验较为糟糕。



技术实现要素:

考虑到上述问题而提出了本发明。本发明提供了一种抠像模型训练方法、装置和系统以及图像抠像方法、装置和系统以及存储介质。

根据本发明一方面,提供了一种抠像模型训练方法。该抠像模型训练方法包括:获取样本图像和对应的标注数据,所述标注数据用于指示所述样本图像中目标对象所在位置;根据所述标注数据确定所述样本图像中所述目标对象的对象边缘区域;根据为所述样本图像中的所述对象边缘区域以及所述样本图像中的其他区域分别分配的采样权重对所述样本图像中的像素进行采样;以及根据采样到的像素计算用于训练抠像模型的损失函数,利用所述损失函数、所述样本图像和所述标注数据对所述抠像模型进行训练。

示例性地,所述根据所述标注数据确定所述样本图像中所述目标对象的对象边缘区域包括:根据所述标注数据确定所述样本图像中所述目标对象的边缘;以及利用形态学膨胀算法扩展所述边缘,以获得所述对象边缘区域。

示例性地,所述根据所述标注数据确定所述样本图像中所述目标对象的边缘包括:根据所述标注数据,利用坎尼算子确定所述样本图像中所述目标对象的边缘。

示例性地,所述根据为所述样本图像中的所述对象边缘区域以及所述样本图像中的其他区域分别分配的采样权重对所述样本图像中的像素进行采样包括:根据所述对象边缘区域和所述标注数据将所述样本图像划分为三个区域:所述对象边缘区域、对象中心区域和背景区域,其中,所述对象中心区域包括属于所述目标对象并且不属于所述对象边缘区域的像素,所述背景区域包括不属于所述目标对象并且不属于所述对象边缘区域的像素;以及根据为所述对象边缘区域、所述对象中心区域和所述背景区域分别分配的采样数目对所述对象边缘区域、所述对象中心区域和所述背景区域分别进行采样,其中,所述采样数目基于所述采样权重确定。

示例性地,分配给所述对象边缘区域、所述对象中心区域和所述背景区域的采样数目是相等的。

示例性地,根据所述采样到的像素计算用于训练抠像模型的损失函数包括:根据所述采样到的像素的坐标生成与所述标注数据尺寸一致的矩阵m,其中m(x,y)=1代表像素点(x,y)被采样,m(x,y)=0代表像素点(x,y)被舍弃;将所述损失函数l构建为其中,yi代表所述标注数据中针对第i个像素点标注的类别,代表所述抠像模型针对第i个像素点预测的类别,n为所述样本图像中的像素的数目,l为交叉熵函数。

示例性地,所述抠像模型采用神经网络实现。

根据本发明另一方面,提供了一种图像抠像方法,包括:获取待处理图像;以及利用通过上述抠像模型训练方法训练的抠像模型对所述待处理图像进行抠像处理。

根据本发明另一方面,提供了一种抠像模型训练装置,包括:样本获取模块,用于获取样本图像和对应的标注数据,所述标注数据用于指示所述样本图像中目标对象所在位置;边缘区域确定模块,用于根据所述标注数据确定所述样本图像中所述目标对象的对象边缘区域;采样模块,用于根据为所述样本图像中的所述对象边缘区域以及所述样本图像中的其他区域分别分配的采样权重对所述样本图像中的像素进行采样;以及训练模块,用于根据采样到的像素计算用于训练抠像模型的损失函数,利用所述损失函数、所述样本图像和所述标注数据对所述抠像模型进行训练。

示例性地,边缘区域确定模块包括:边缘确定子模块,用于根据所述标注数据确定所述样本图像中所述目标对象的边缘;以及边缘扩展子模块,用于利用形态学膨胀算法扩展所述边缘,以获得所述对象边缘区域。

示例性地,边缘确定子模块包括:边缘确定单元,用于根据所述标注数据,利用坎尼算子确定所述样本图像中所述目标对象的边缘。

示例性地,采样模块包括:区域划分子模块,用于根据所述对象边缘区域和所述标注数据将所述样本图像划分为三个区域:所述对象边缘区域、对象中心区域和背景区域,其中,所述对象中心区域包括属于所述目标对象并且不属于所述对象边缘区域的像素,所述背景区域包括不属于所述目标对象并且不属于所述对象边缘区域的像素;以及采样子模块,用于根据为所述对象边缘区域、所述对象中心区域和所述背景区域分别分配的采样数目对所述对象边缘区域、所述对象中心区域和所述背景区域分别进行采样,其中,所述采样数目基于所述采样权重确定。

示例性地,分配给所述对象边缘区域、所述对象中心区域和所述背景区域的采样数目是相等的。

示例性地,训练模块包括:矩阵生成子模块,用于根据所述采样到的像素的坐标生成与所述标注数据尺寸一致的矩阵m,其中m(x,y)=1代表像素点(x,y)被采样,m(x,y)=0代表像素点(x,y)被舍弃;损失函数构建子模块,用于将所述损失函数l构建为其中,yi代表所述标注数据中针对第i个像素点标注的类别,代表所述抠像模型针对第i个像素点预测的类别,n为所述样本图像中的像素的数目,l为交叉熵函数。

示例性地,所述抠像模型采用神经网络实现。

根据本发明另一方面,提供了一种图像抠像装置,包括:

待处理图像获取模块,用于获取待处理图像;以及

抠像处理模块,用于利用通过上述抠像模型训练方法训练的抠像模型对所述待处理图像进行抠像处理。

根据本发明另一方面,提供了一种抠像模型训练系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行以下步骤:获取样本图像和对应的标注数据,所述标注数据用于指示所述样本图像中目标对象所在位置;根据所述标注数据确定所述样本图像中所述目标对象的对象边缘区域;根据为所述样本图像中的所述对象边缘区域以及所述样本图像中的其他区域分别分配的采样权重对所述样本图像中的像素进行采样;以及根据采样到的像素计算用于训练抠像模型的损失函数,利用所述损失函数、所述样本图像和所述标注数据对所述抠像模型进行训练。

示例性地,所述计算机程序指令被所述处理器运行时所用于执行的根据所述标注数据确定所述样本图像中所述目标对象的对象边缘区域的步骤包括:根据所述标注数据确定所述样本图像中所述目标对象的边缘;以及利用形态学膨胀算法扩展所述边缘,以获得所述对象边缘区域。

示例性地,所述计算机程序指令被所述处理器运行时所用于执行的根据所述标注数据确定所述样本图像中所述目标对象的边缘的步骤包括:根据所述标注数据,利用坎尼算子确定所述样本图像中所述目标对象的边缘。

示例性地,所述计算机程序指令被所述处理器运行时所用于执行的根据为所述样本图像中的所述对象边缘区域以及所述样本图像中的其他区域分别分配的采样权重对所述样本图像中的像素进行采样的步骤包括:根据所述对象边缘区域和所述标注数据将所述样本图像划分为三个区域:所述对象边缘区域、对象中心区域和背景区域,其中,所述对象中心区域包括属于所述目标对象并且不属于所述对象边缘区域的像素,所述背景区域包括不属于所述目标对象并且不属于所述对象边缘区域的像素;以及根据为所述对象边缘区域、所述对象中心区域和所述背景区域分别分配的采样数目对所述对象边缘区域、所述对象中心区域和所述背景区域分别进行采样,其中,所述采样数目基于所述采样权重确定。

示例性地,分配给所述对象边缘区域、所述对象中心区域和所述背景区域的采样数目是相等的。

示例性地,所述计算机程序指令被所述处理器运行时所用于执行的根据所述采样到的像素计算用于训练抠像模型的损失函数的步骤包括:根据所述采样到的像素的坐标生成与所述标注数据尺寸一致的矩阵m,其中m(x,y)=1代表像素点(x,y)被采样,m(x,y)=0代表像素点(x,y)被舍弃;将所述损失函数l构建为其中,yi代表所述标注数据中针对第i个像素点标注的类别,代表所述抠像模型针对第i个像素点预测的类别,n为所述样本图像中的像素的数目,l为交叉熵函数。

示例性地,所述抠像模型采用神经网络实现。

根据本发明另一方面,提供了一种图像抠像系统,包括处理器和存储器,其中,所述存储器中存储有计算机程序指令,所述计算机程序指令被所述处理器运行时用于执行以下步骤:获取待处理图像;以及利用通过上述抠像模型训练方法训练的抠像模型对所述待处理图像进行抠像处理。

根据本发明另一方面,提供了一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行以下步骤:获取样本图像和对应的标注数据,所述标注数据用于指示所述样本图像中目标对象所在位置;根据所述标注数据确定所述样本图像中所述目标对象的对象边缘区域;根据为所述样本图像中的所述对象边缘区域以及所述样本图像中的其他区域分别分配的采样权重对所述样本图像中的像素进行采样;以及根据采样到的像素计算用于训练抠像模型的损失函数,利用所述损失函数、所述样本图像和所述标注数据对所述抠像模型进行训练。

示例性地,所述程序指令在运行时所用于执行的根据所述标注数据确定所述样本图像中所述目标对象的对象边缘区域的步骤包括:根据所述标注数据确定所述样本图像中所述目标对象的边缘;以及利用形态学膨胀算法扩展所述边缘,以获得所述对象边缘区域。

示例性地,所述程序指令在运行时所用于执行的根据所述标注数据确定所述样本图像中所述目标对象的边缘的步骤包括:根据所述标注数据,利用坎尼算子确定所述样本图像中所述目标对象的边缘。

示例性地,所述程序指令在运行时所用于执行的根据为所述样本图像中的所述对象边缘区域以及所述样本图像中的其他区域分别分配的采样权重对所述样本图像中的像素进行采样的步骤包括:根据所述对象边缘区域和所述标注数据将所述样本图像划分为三个区域:所述对象边缘区域、对象中心区域和背景区域,其中,所述对象中心区域包括属于所述目标对象并且不属于所述对象边缘区域的像素,所述背景区域包括不属于所述目标对象并且不属于所述对象边缘区域的像素;以及根据为所述对象边缘区域、所述对象中心区域和所述背景区域分别分配的采样数目对所述对象边缘区域、所述对象中心区域和所述背景区域分别进行采样,其中,所述采样数目基于所述采样权重确定。

示例性地,分配给所述对象边缘区域、所述对象中心区域和所述背景区域的采样数目是相等的。

示例性地,所述程序指令在运行时所用于执行的根据所述采样到的像素计算用于训练抠像模型的损失函数的步骤包括:根据所述采样到的像素的坐标生成与所述标注数据尺寸一致的矩阵m,其中m(x,y)=1代表像素点(x,y)被采样,m(x,y)=0代表像素点(x,y)被舍弃;将所述损失函数l构建为其中,yi代表所述标注数据中针对第i个像素点标注的类别,代表所述抠像模型针对第i个像素点预测的类别,n为所述样本图像中的像素的数目,l为交叉熵函数。

示例性地,所述抠像模型采用神经网络实现。

根据本发明另一方面,提供了一种存储介质,在所述存储介质上存储了程序指令,所述程序指令在运行时用于执行以下步骤:获取待处理图像;以及利用通过上述抠像模型训练方法训练的抠像模型对所述待处理图像进行抠像处理。

根据本发明实施例的抠像模型训练方法、装置和系统以及图像抠像方法、装置和系统以及存储介质,由于允许自主设定每个区域的采样权重,使得对象边缘的像素点的信息所占比重能够根据需要提高,从而有利于提升抠像模型对对象边缘的预测精度。同时,这种方式不会引入任何额外的计算开销。因此,这种方式训练获得的抠像模型能够大大提升相关应用的用户体验。

附图说明

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

图1示出用于实现根据本发明实施例的抠像模型训练方法和装置或者图像抠像方法和装置的示例电子设备的示意性框图;

图2示出根据本发明一个实施例的抠像模型训练方法的示意性流程图;

图3示出根据本发明一个实施例的抠像模型训练流程的示意图;

图4示出根据本发明一个实施例的图像抠像方法的示意性流程图;

图5示出根据本发明一个实施例的抠像模型训练装置的示意性框图;

图6示出根据本发明一个实施例的图像抠像装置的示意性框图;

图7示出根据本发明一个实施例的抠像模型训练系统的示意性框图;以及

图8示出根据本发明一个实施例的图像抠像系统的示意性框图。

具体实施方式

为了使得本发明的目的、技术方案和优点更为明显,下面将参照附图详细描述根据本发明的示例实施例。显然,所描述的实施例仅仅是本发明的一部分实施例,而不是本发明的全部实施例,应理解,本发明不受这里描述的示例实施例的限制。基于本发明中描述的本发明实施例,本领域技术人员在没有付出创造性劳动的情况下所得到的所有其它实施例都应落入本发明的保护范围之内。

为了解决上文所述的问题,本发明实施例提供一种抠像模型训练方法、装置和系统以及图像抠像方法、装置和系统以及存储介质。本发明实施例提供的抠像模型训练方法能够提高抠像模型的边缘区域预测精度,其可以很好地应用于任何基于参数训练的抠像模型,例如基于神经网络的抠像模型。

首先,参照图1来描述用于实现根据本发明实施例的抠像模型训练方法和装置或者图像抠像方法和装置的示例电子设备100。

如图1所示,电子设备100包括一个或多个处理器102、一个或多个存储装置104、输入装置106、输出装置108。电子设备100还可以包括数据获取装置110和/或图像采集装置112,这些组件通过总线系统114和/或其它形式的连接机构(未示出)互连。应当注意,图1所示的电子设备100的组件和结构只是示例性的,而非限制性的,根据需要,所述电子设备也可以具有其他组件和结构。

所述处理器102可以是中央处理单元(cpu)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以控制所述电子设备100中的其它组件以执行期望的功能。

所述存储装置104可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(ram)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(rom)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器102可以运行所述程序指令,以实现下文所述的本发明实施例中(由处理器实现)的客户端功能以及/或者其它期望的功能。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据,例如所述应用程序使用和/或产生的各种数据等。

所述输入装置106可以是用户用来输入指令的装置,并且可以包括键盘、鼠标、麦克风和触摸屏等中的一个或多个。

所述输出装置108可以向外部(例如用户)输出各种信息(例如图像和/或声音),并且可以包括显示器、扬声器等中的一个或多个。

在电子设备100用于实现根据本发明实施例的抠像模型训练方法和装置的情况下,电子设备100可以包括数据获取装置110。所述数据获取装置110可以获取样本图像(包括视频帧)和对应的标注数据,并且将所采集的样本图像和标注数据存储在所述存储装置104中以供其它组件使用。例如,数据获取装置110可以包括有线或无线网络接口、通用串行接口总线(usb)接口、光盘驱动器等中的一个或多个。

在电子设备100用于实现根据本发明实施例的图像抠像方法和装置的情况下,电子设备100可以包括图像采集装置112。所述图像采集装置112可以采集图像(包括视频帧),并且将所采集的图像存储在所述存储装置104中以供其它组件使用。图像采集装置112可以是摄像头。应当理解,图像采集装置112仅是示例,电子设备100可以不包括图像采集装置112。在这种情况下,可以利用其他具有图像采集能力的器件采集待处理图像,并将采集的图像发送给电子设备100。

示例性地,用于实现根据本发明实施例的抠像模型训练方法和装置的示例电子设备可以在诸如个人计算机或远程服务器等的设备上实现。

下面,将参考图2描述根据本发明实施例的抠像模型训练方法。图2示出根据本发明一个实施例的抠像模型训练方法200的示意性流程图。如图2所示,抠像模型训练方法200包括以下步骤。

在步骤s210,获取样本图像和对应的标注数据,标注数据用于指示样本图像中目标对象所在位置。

目标对象可以是任何物体,例如人、汽车、建筑等等。在下文的描述中,将以人形抠像为例描述本发明,然而这并非对本发明的限制,本发明可以适用于其他物体的抠像应用。

样本图像可以是电子设备100获取的原始图像,也可以是对原始图像进行预处理之后获得的图像。图像抠像通常包括对目标对象的位置及其所属类别的预测。标注数据(groundtruth)可以是人工标注好的。例如,标注数据可以指示样本图像中各像素的类别,属于不同对象的像素可以用不同颜色表示以进行区分。图3示出根据本发明一个实施例的抠像模型训练流程的示意图。参见图3,上方左侧示出一张样本图像,右侧示出与该样本图像对应的标注数据的一种图形表示。

样本图像和标注数据可以由远程设备(诸如存储有训练数据集的服务器)发送到电子设备100以由电子设备100的处理器102进行抠像模型训练,也可以由电子设备100包括的数据获取装置110获取并传送到处理器102进行抠像模型训练。

在步骤s220,根据标注数据确定样本图像中目标对象的对象边缘区域。

在人形抠像应用中,根据标注数据可以确定样本图像中所有人的边缘。随后,可以利用任何合适的方式确定包括该边缘在内的一个区域,即所述对象边缘区域。

示例性地,步骤s220可以包括:根据标注数据确定样本图像中目标对象的边缘;以及利用形态学膨胀算法扩展边缘,以获得对象边缘区域。例如,可以利用形态学膨胀算法将边缘扩展成为一条宽度为7个像素的线条型区域。当然,边缘扩展的宽度可以根据需要而定,不同的应用可能适用不同的扩展宽度。采用形态学膨胀算法对边缘进行扩展,可以获得光滑、连续的对象边缘区域,这种算法运算速度快,抗噪能力强,可以很好地保留对象的边缘信息,有利于提升抠像模型的边缘预测性能。然而,确定对象边缘区域的方式并不局限于本文所述的形态学膨胀算法,其他扩展算法对本发明也是适用的。

示例性地,根据标注数据确定样本图像中目标对象的边缘可以包括:根据标注数据,利用坎尼算子确定样本图像中目标对象的边缘。坎尼(canny)算子在像素级边缘检测方面具有较高的边缘定位精度和较强的抗噪能力,因此是一种比较适用于抠像应用的边缘检测算法。利用坎尼(canny)算子确定目标对象的边缘仅是一种示例,其他边缘检测算法对本发明也是适用的。继续参考图3,采用canny算子确定目标对象的边缘。随后,进行形态学膨胀,获得对象边缘区域。

在步骤s230,根据为样本图像中的对象边缘区域以及样本图像中的其他区域分别分配的采样权重对样本图像中的像素进行采样。

样本图像可以划分为包括对象边缘区域在内的若干区域。针对每个区域采样一些像素点。每个区域分配有预设的采样权重。基于预设的采样权重,可以确定每个区域的采样数目。例如,可以为每个区域分配相同的采样权重,也就是说针对每个区域采样相同数目的像素点。例如,可以将样本图像划分为对象边缘区域、对象中心区域和背景区域,该实施例将在下文描述。

继续参考图3,在确定对象边缘区域之后,对样本图像进行分区域采样。

在步骤s240,根据采样到的像素计算用于训练抠像模型的损失函数,利用损失函数、样本图像和标注数据对抠像模型进行训练。

示例性地,根据采样到的像素计算用于训练抠像模型的损失函数可以包括:根据采样到的像素的坐标生成与标注数据尺寸一致的矩阵m,其中m(x,y)=1代表像素点(x,y)被采样,m(x,y)=0代表像素点(x,y)被舍弃;将损失函数l构建为其中,yi代表标注数据中针对第i个像素点标注的类别,代表抠像模型针对第i个像素点预测的类别,n为样本图像中的像素的数目,l为交叉熵函数。

继续参考图3,在对样本图像进行分区域采样之后,获得矩阵m。随后,可以将矩阵m应用于损失函数运算。

需注意,标注数据通常用矩阵(例如二维矩阵)表示,因此标注数据与矩阵m尺寸一致是指两个矩阵的大小一致。

现有的抠像模型训练流程为:给定一张样本图像i和标注数据g,将它们输入抠像模型,并计算最终的逐点损失函数而根据本发明实施例,构建了一个矩阵m。在矩阵m中,被采样的像素点取值为1,被舍弃的像素点取值为0。因此,将矩阵m应用于损失函数l中之后,可以使得被采样的像素点的信息参与损失函数的运算,被舍弃的像素点则不参与损失函数的运算。通过这种方式可以根据需要加强对象边缘信息在抠像模型训练中的重要性,使得训练出的抠像模型能够更好地识别目标对象的边缘。上述矩阵m仅是示例,其可以具有其他的表达方式,例如被舍弃的像素点的取值可以是其他小的数值而非0。

在基于损失函数对抠像模型进行训练的过程中,可以采用反向传播算法调整抠像模型中采用的参数(或说权值),直到训练收敛,以获得训练好的抠像模型。

由上可知,在现有的抠像模型训练中,通常整个样本图像的全部像素点的信息均被计入损失函数,并没有对像素点进行取舍。由于对象边缘通常所占面积较小,因此其像素点的信息在整个样本图像中所占比重很小。通过这种方式训练获得的抠像模型对边缘的识别效果不好,导致边缘模糊不清。根据本发明实施例的抠像模型训练方法,由于允许自主设定每个区域的采样权重,使得对象边缘的像素点的信息所占比重能够根据需要提高,从而有利于提升抠像模型对对象边缘的预测精度。同时,这种方式不会引入任何额外的计算开销。因此,这种方式训练获得的抠像模型能够大大提升相关应用的用户体验。

示例性地,根据本发明实施例的抠像模型训练方法可以在具有存储器和处理器的设备、装置或者系统中实现。

根据本发明实施例的抠像模型训练方法可以独立部署在客户端或服务器处。替代地,根据本发明实施例的抠像模型训练方法还可以分布地部署在服务器端(或云端)和客户端处。例如,可以在客户端获取样本图像和标注数据,客户端将获取的图像传送给服务器端(或云端),由服务器端(或云端)进行抠像模型训练。

根据本发明实施例,步骤s230可以包括:根据对象边缘区域和标注数据将样本图像划分为三个区域:对象边缘区域、对象中心区域和背景区域,其中,对象中心区域包括属于目标对象并且不属于对象边缘区域的像素,背景区域包括不属于目标对象并且不属于对象边缘区域的像素;以及根据为对象边缘区域、对象中心区域和背景区域分别分配的采样数目对对象边缘区域、对象中心区域和背景区域分别进行采样,其中,采样数目基于采样权重确定。

例如,可以将样本图像i中的像素点p划分为以下三个区域:

1.对象边缘区域r1;

2.对象中心区域r2:p不属于r1且g(p)=1;

3.背景区域r3:p不属于r1且g(p)=0;

其中,g(p)代表像素点p在标注数据g上的取值。

根据这三个区域的划分,可以在r1、r2和r3区域采样预设数目的像素点,以此生成上述矩阵m。

根据本发明实施例,分配给对象边缘区域、对象中心区域和背景区域的采样数目是相等的。

如上文所述,可以在r1、r2和r3区域采样相同的像素点数n。例如,可以针对每个区域采样10个像素点。当然,也可以针对r1采样10个像素点,针对另外两个区域分别采样8个像素点。或者,可以针对r1采样8个像素点,针对另外两个区域分别采样10个像素点。每个区域采样的像素点的数目可以根据需要而定,本发明不对此进行限制。无论采用如何分配的采样数目,最终目的是使对象边缘区域的采样权重足够高,以使抠像模型能够高精度地预测对象边缘。

根据本发明实施例,抠像模型可以采用神经网络实现。当然,本发明不局限于神经网络,任何基于参数学习的模型都可以应用于本发明。神经网络是一种能够自主学习的网络,其具有强大的图像处理能力,是非常好的模型选择。

本发明实施例提供的抠像模型训练方法主要在训练过程中生效,并不影响抠像模型的部署使用。由于对象边缘区域的像素点的采样权重可以根据需要增加,抠像模型会因此拥有更强的边缘区域预测精度。与此同时,该方法并不会影响对象中心区域的预测精度,可以说能够零损耗增强抠像模型的预测能力。

根据本发明另一方面,提供一种图像抠像方法。图4示出根据本发明一个实施例的图像抠像方法400的示意性流程图。如图4所示,图像抠像方法400包括以下步骤。

在步骤s410,获取待处理图像。

待处理图像可以是任何合适的需要抠像的图像。待处理图像可以是图像采集装置采集到的原始图像,也可以是对原始图像进行预处理之后获得的图像。待处理图像可以是静态图像,可以是视频流中的视频帧。

待处理图像可以由客户端设备(诸如包括摄像头的移动终端)发送到电子设备100以由电子设备100的处理器102进行图像抠像,也可以由电子设备100包括的图像采集装置110采集并传送到处理器102进行图像抠像。

在步骤s420,利用通过上述抠像模型训练方法200训练的抠像模型对待处理图像进行抠像处理。

例如,将待处理图像输入上述抠像模型,抠像模型可以输出每个目标对象所在的图像块。

如上文所述,利用上述抠像模型训练方法200训练的抠像模型能够很好地预测对象边缘,因此采用这样的抠像模型进行图像抠像,可以很好地改善边缘模糊现象,大大提升用户体验。该图像抠像方法可以很好地应用于直播视频等领域的抠像应用中。

示例性地,根据本发明实施例的图像抠像方法可以在具有存储器和处理器的设备、装置或者系统中实现。

根据本发明实施例的图像抠像方法可以部署在图像采集端处,例如,可以部署在移动终端或个人计算机的图像采集端。替代地,根据本发明实施例的图像抠像方法还可以分布地部署在服务器端(或云端)和客户端处。例如,可以在客户端采集待处理图像,客户端将采集到的待处理图像传送给服务器端(或云端),由服务器端(或云端)进行图像抠像。

根据本发明另一方面,提供一种抠像模型训练装置。图5示出了根据本发明一个实施例的抠像模型训练装置500的示意性框图。

如图5所示,根据本发明实施例的抠像模型训练装置500包括样本获取模块510、边缘区域确定模块520、采样模块530和训练模块540。所述各个模块可分别执行上文中结合图2-3描述的抠像模型训练方法的各个步骤/功能。以下仅对该抠像模型训练装置500的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。

样本获取模块510用于获取样本图像和对应的标注数据,所述标注数据用于指示所述样本图像中目标对象所在位置。样本获取模块510可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。

边缘区域确定模块520用于根据所述标注数据确定所述样本图像中所述目标对象的对象边缘区域。边缘区域确定模块520可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。

采样模块530用于根据为所述样本图像中的所述对象边缘区域以及所述样本图像中的其他区域分别分配的采样权重对所述样本图像中的像素进行采样。采样模块530可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。

训练模块540用于根据采样到的像素计算用于训练抠像模型的损失函数,利用所述损失函数、所述样本图像和所述标注数据对所述抠像模型进行训练。训练模块540可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。

示例性地,边缘区域确定模块520包括:边缘确定子模块,用于根据标注数据确定样本图像中目标对象的边缘;以及边缘扩展子模块,用于利用形态学膨胀算法扩展边缘,以获得对象边缘区域。

示例性地,边缘确定子模块包括:边缘确定单元,用于根据标注数据,利用坎尼算子确定样本图像中目标对象的边缘。

示例性地,采样模块530包括:区域划分子模块,用于根据对象边缘区域和标注数据将样本图像划分为三个区域:对象边缘区域、对象中心区域和背景区域,其中,对象中心区域包括属于目标对象并且不属于对象边缘区域的像素,背景区域包括不属于目标对象并且不属于对象边缘区域的像素;以及采样子模块,用于根据为对象边缘区域、对象中心区域和背景区域分别分配的采样数目对对象边缘区域、对象中心区域和背景区域分别进行采样,其中,采样数目基于采样权重确定。

示例性地,分配给对象边缘区域、对象中心区域和背景区域的采样数目是相等的。

示例性地,训练模块540包括:矩阵生成子模块,用于根据采样到的像素的坐标生成与标注数据尺寸一致的矩阵m,其中m(x,y)=1代表像素点(x,y)被采样,m(x,y)=0代表像素点(x,y)被舍弃;损失函数构建子模块,用于将损失函数l构建为其中,yi代表标注数据中针对第i个像素点标注的类别,代表抠像模型针对第i个像素点预测的类别,n为样本图像中的像素的数目,l为交叉熵函数。

示例性地,抠像模型采用神经网络实现。

根据本发明另一方面,提供一种图像抠像装置。图6示出了根据本发明一个实施例的图像抠像装置600的示意性框图。

如图6所示,根据本发明实施例的图像抠像装置600包括待处理图像获取模块610和抠像处理模块620。所述各个模块可分别执行上文中结合图4描述的图像抠像方法的各个步骤/功能。以下仅对该图像抠像装置600的各部件的主要功能进行描述,而省略以上已经描述过的细节内容。

待处理图像获取模块610用于获取待处理图像。待处理图像获取模块610可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。

抠像处理模块620用于利用通过上述抠像模型训练方法200训练的抠像模型对所述待处理图像进行抠像处理。抠像处理模块620可以由图1所示的电子设备中的处理器102运行存储装置104中存储的程序指令来实现。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

图7示出了根据本发明一个实施例的抠像模型训练系统700的示意性框图。抠像模型训练系统700包括数据获取装置710、存储装置720、以及处理器730。

数据获取装置710用于获取样本图像和标注数据。图像采集装置710是可选的,抠像模型训练系统700可以不包括数据获取装置710。在这种情况下,可以利用其他数据获取装置获取样本图像和标注数据,并将获取的样本图像和标注数据发送给抠像模型训练系统700。

所述存储装置720存储用于实现根据本发明实施例的抠像模型训练方法中的相应步骤的计算机程序指令。

所述处理器730用于运行所述存储装置720中存储的计算机程序指令,以执行根据本发明实施例的抠像模型训练方法的相应步骤,并且用于实现根据本发明实施例的抠像模型训练装置500中的样本获取模块510、边缘区域确定模块520、采样模块530和训练模块540。

在一个实施例中,所述计算机程序指令被所述处理器730运行时用于执行以下步骤:获取样本图像和对应的标注数据,所述标注数据用于指示所述样本图像中目标对象所在位置;根据所述标注数据确定所述样本图像中所述目标对象的对象边缘区域;根据为所述样本图像中的所述对象边缘区域以及所述样本图像中的其他区域分别分配的采样权重对所述样本图像中的像素进行采样;以及根据采样到的像素计算用于训练抠像模型的损失函数,利用所述损失函数、所述样本图像和所述标注数据对所述抠像模型进行训练。

示例性地,所述计算机程序指令被所述处理器730运行时所用于执行的根据所述标注数据确定所述样本图像中所述目标对象的对象边缘区域的步骤包括:根据所述标注数据确定所述样本图像中所述目标对象的边缘;以及利用形态学膨胀算法扩展所述边缘,以获得所述对象边缘区域。

示例性地,所述计算机程序指令被所述处理器730运行时所用于执行的根据所述标注数据确定所述样本图像中所述目标对象的边缘的步骤包括:根据所述标注数据,利用坎尼算子确定所述样本图像中所述目标对象的边缘。

示例性地,所述计算机程序指令被所述处理器730运行时所用于执行的根据为所述样本图像中的所述对象边缘区域以及所述样本图像中的其他区域分别分配的采样权重对所述样本图像中的像素进行采样的步骤包括:根据所述对象边缘区域和所述标注数据将所述样本图像划分为三个区域:所述对象边缘区域、对象中心区域和背景区域,其中,所述对象中心区域包括属于所述目标对象并且不属于所述对象边缘区域的像素,所述背景区域包括不属于所述目标对象并且不属于所述对象边缘区域的像素;以及根据为所述对象边缘区域、所述对象中心区域和所述背景区域分别分配的采样数目对所述对象边缘区域、所述对象中心区域和所述背景区域分别进行采样,其中,所述采样数目基于所述采样权重确定。

示例性地,分配给所述对象边缘区域、所述对象中心区域和所述背景区域的采样数目是相等的。

示例性地,所述计算机程序指令被所述处理器730运行时所用于执行的根据所述采样到的像素计算用于训练抠像模型的损失函数的步骤包括:根据所述采样到的像素的坐标生成与所述标注数据尺寸一致的矩阵m,其中m(x,y)=1代表像素点(x,y)被采样,m(x,y)=0代表像素点(x,y)被舍弃;将所述损失函数l构建为其中,yi代表所述标注数据中针对第i个像素点标注的类别,代表所述抠像模型针对第i个像素点预测的类别,n为所述样本图像中的像素的数目,l为交叉熵函数。

示例性地,所述抠像模型采用神经网络实现。

图8示出了根据本发明一个实施例的图像抠像系统800的示意性框图。图像抠像系统800包括图像采集装置810、存储装置820、以及处理器830。

图像采集装置810用于采集待处理图像。图像采集装置810是可选的,抠像模型训练系统800可以不包括图像采集装置810。在这种情况下,可以利用其他图像采集装置采集待检测图像,并将采集的图像发送给图像抠像系统800。

所述存储装置820存储用于实现根据本发明实施例的图像抠像方法中的相应步骤的计算机程序指令。

所述处理器830用于运行所述存储装置820中存储的计算机程序指令,以执行根据本发明实施例的图像抠像方法的相应步骤,并且用于实现根据本发明实施例的图像抠像装置600中的待处理图像获取模块610和抠像处理模块620。

在一个实施例中,所述计算机程序指令被所述处理器830运行时用于执行以下步骤:获取待处理图像;以及利用通过上述抠像模型训练方法训练的抠像模型对所述待处理图像进行抠像处理。

此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的抠像模型训练方法的相应步骤,并且用于实现根据本发明实施例的抠像模型训练装置中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、或者上述存储介质的任意组合。

在一个实施例中,所述程序指令在被计算机或处理器运行时可以使得计算机或处理器实现根据本发明实施例的抠像模型训练装置的各个功能模块,并且/或者可以执行根据本发明实施例的抠像模型训练方法。

在一个实施例中,所述程序指令在运行时用于执行以下步骤:获取样本图像和对应的标注数据,所述标注数据用于指示所述样本图像中目标对象所在位置;根据所述标注数据确定所述样本图像中所述目标对象的对象边缘区域;根据为所述样本图像中的所述对象边缘区域以及所述样本图像中的其他区域分别分配的采样权重对所述样本图像中的像素进行采样;以及根据采样到的像素计算用于训练抠像模型的损失函数,利用所述损失函数、所述样本图像和所述标注数据对所述抠像模型进行训练。

示例性地,所述程序指令在运行时所用于执行的根据所述标注数据确定所述样本图像中所述目标对象的对象边缘区域的步骤包括:根据所述标注数据确定所述样本图像中所述目标对象的边缘;以及利用形态学膨胀算法扩展所述边缘,以获得所述对象边缘区域。

示例性地,所述程序指令在运行时所用于执行的根据所述标注数据确定所述样本图像中所述目标对象的边缘的步骤包括:根据所述标注数据,利用坎尼算子确定所述样本图像中所述目标对象的边缘。

示例性地,所述程序指令在运行时所用于执行的根据为所述样本图像中的所述对象边缘区域以及所述样本图像中的其他区域分别分配的采样权重对所述样本图像中的像素进行采样的步骤包括:根据所述对象边缘区域和所述标注数据将所述样本图像划分为三个区域:所述对象边缘区域、对象中心区域和背景区域,其中,所述对象中心区域包括属于所述目标对象并且不属于所述对象边缘区域的像素,所述背景区域包括不属于所述目标对象并且不属于所述对象边缘区域的像素;以及根据为所述对象边缘区域、所述对象中心区域和所述背景区域分别分配的采样数目对所述对象边缘区域、所述对象中心区域和所述背景区域分别进行采样,其中,所述采样数目基于所述采样权重确定。

示例性地,分配给所述对象边缘区域、所述对象中心区域和所述背景区域的采样数目是相等的。

示例性地,所述程序指令在运行时所用于执行的根据所述采样到的像素计算用于训练抠像模型的损失函数的步骤包括:根据所述采样到的像素的坐标生成与所述标注数据尺寸一致的矩阵m,其中m(x,y)=1代表像素点(x,y)被采样,m(x,y)=0代表像素点(x,y)被舍弃;将所述损失函数l构建为其中,yi代表所述标注数据中针对第i个像素点标注的类别,代表所述抠像模型针对第i个像素点预测的类别,n为所述样本图像中的像素的数目,l为交叉熵函数。

示例性地,所述抠像模型采用神经网络实现。

根据本发明实施例的抠像模型训练系统中的各模块可以通过根据本发明实施例的实施抠像模型训练的电子设备的处理器运行在存储器中存储的计算机程序指令来实现,或者可以在根据本发明实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计算机运行时实现。

此外,根据本发明实施例,还提供了一种存储介质,在所述存储介质上存储了程序指令,在所述程序指令被计算机或处理器运行时用于执行本发明实施例的图像抠像方法的相应步骤,并且用于实现根据本发明实施例的图像抠像装置中的相应模块。所述存储介质例如可以包括智能电话的存储卡、平板电脑的存储部件、个人计算机的硬盘、只读存储器(rom)、可擦除可编程只读存储器(eprom)、便携式紧致盘只读存储器(cd-rom)、usb存储器、或者上述存储介质的任意组合。

在一个实施例中,所述程序指令在被计算机或处理器运行时可以使得计算机或处理器实现根据本发明实施例的图像抠像装置的各个功能模块,并且/或者可以执行根据本发明实施例的图像抠像方法。

在一个实施例中,所述程序指令在运行时用于执行以下步骤:获取待处理图像;以及利用通过上述图像抠像方法训练的抠像模型对所述待处理图像进行抠像处理。

根据本发明实施例的图像抠像系统中的各模块可以通过根据本发明实施例的实施图像抠像的电子设备的处理器运行在存储器中存储的计算机程序指令来实现,或者可以在根据本发明实施例的计算机程序产品的计算机可读存储介质中存储的计算机指令被计算机运行时实现。

尽管这里已经参考附图描述了示例实施例,应理解上述示例实施例仅仅是示例性的,并且不意图将本发明的范围限制于此。本领域普通技术人员可以在其中进行各种改变和修改,而不偏离本发明的范围和精神。所有这些改变和修改意在被包括在所附权利要求所要求的本发明的范围之内。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个设备,或一些特征可以忽略,或不执行。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该本发明的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如相应的权利要求书所反映的那样,其发明点在于可以用少于某个公开的单个实施例的所有特征的特征来解决相应的技术问题。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域的技术人员可以理解,除了特征之间相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的抠像模型训练装置以及图像抠像装置中的一些模块的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

以上所述,仅为本发明的具体实施方式或对具体实施方式的说明,本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。本发明的保护范围应以权利要求的保护范围为准。

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