一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像处理、模型训练、直播间背景切换方法与流程

2022-06-05 12:50:53 来源:中国专利 TAG:


1.本技术涉及计算机视觉技术领域,尤其涉及一种图像处理、模型训练、直播间背景切换方法。


背景技术:

2.在许多场景中,需要对图像进行抠图(image matting)处理,以将图像中的前景与背景分割出来。在一些场景下,需要对图像进行实时抠图处理,以满足背景或场景替换要求。例如,在直播场景中,需要从直播视频的实时画面中分割出人、物品等前景对象,并实时替换直播环境。
3.然而,现有的抠图算法计算量较大,抠图效率较低,无法满足实时性较高的抠图需求。因此,有待提出一种新的解决方案。


技术实现要素:

4.本技术的多个方面提供一种图像处理、模型训练、直播间背景切换方法,用以降低抠图操作的计算量,提升抠图效率。
5.本技术实施例提供一种图像处理方法,包括:获取待抠图的目标图像以及所述目标图像的背景图像;利用抠图模型中的特征提取网络,对所述目标图像以及所述背景图像进行特征提取,得到特征图;利用所述抠图模型中的解码器,结合所述背景图像和/或所述目标图像,对所述特征图进行特征解码,得到第一解码结果图;利用所述抠图模型中的深度引导滤波网络,在所述目标图像的引导下,对所述第一解码结果图进行深度引导滤波,得到目标抠图蒙版。
6.本技术实施例还提供一种抠图模型的训练方法,包括:获取待抠图的目标图像以及所述目标图像的背景图像;利用抠图模型中的特征提取网络,对所述目标图像以及所述背景图像进行特征提取,得到特征图;利用所述抠图模型中的解码器,结合所述背景图像和/或所述目标图像,对所述特征图进行特征解码,得到第一解码结果图;利用所述抠图模型中的深度引导滤波网络,在所述目标图像的引导下,对所述第一解码结果图进行深度引导滤波,得到目标抠图蒙版;根据所述目标抠图蒙版以及所述目标图像的期望抠图蒙版之间的差异,对所述抠图模型进行参数优化。
7.本技术实施例还提供一种直播间背景切换方法,包括:获取直播间的背景图像并获取所述直播间实时产生的直播视频流;针对所述直播视频流中的任一帧直播图像,利用抠图模型中的特征提取网络,对所述直播图像以及所述背景图像进行特征提取,得到特征图;利用所述抠图模型中的解码器,结合所述背景图像和/或所述直播图像,对所述特征图进行特征解码,得到第一解码结果图;利用所述抠图模型中的深度引导滤波网络,在所述直播图像的引导下,对所述第一解码结果图进行深度引导滤波,得到目标抠图蒙版;根据所述目标抠图蒙版,对所述直播图像进行抠图处理,得到前景图像;将所述前景图像与预设图像进行融合,得到新的直播图像。
8.本技术实施例还提供一种电子设备,包括:存储器和处理器;所述存储器用于存储一条或多条计算机指令;所述处理器用于执行所述一条或多条计算机指令以用于:执行本技术实施例提供的方法中的步骤。
9.本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被处理器执行时能够实现本技术实施例提供的方法中的步骤。
10.本技术实施例提供的图像处理方法中,抠图模型在特征提取阶段的输入数据为目标图像及其背景图像,可对目标图像以及背景图像上的特征进行挖掘。在解码阶段,抠图模型可在背景图像和/或目标图像的辅助下,对特征提取阶段输出的特征图进行解码,可使得解码过程进一步聚焦在目标图像与背景图像的差异上。在输出阶段,抠图模型使用深度引导滤波网络对解码结果图进行深度引导滤波,可对解码结果进行修正以使得抠图结果更加准确。基于这种根据已知的背景信息对前景与背景分离进行指导的实施方式,可在无需进行大量计算的情况下在目标图像和/或背景图像的辅助下得到较为准确的抠图结果,极大提升了抠图效率。
附图说明
11.此处所说明的附图用来提供对本技术的进一步理解,构成本技术的一部分,本技术的示意性实施例及其说明用于解释本技术,并不构成对本技术的不当限定。在附图中:
12.图1为本技术一示例性实施例提供的图像处理的方法流程示意图;
13.图2为本技术一示例性实施例提供的抠图模型的结构示意图;
14.图3为本技术另一示例性实施例提供的抠图模型的结构示意图;
15.图4a为本技术一示例性实施例提供的部署有抠图模型的直播系统的示意图;
16.图4b为本技术一示例性实施例提供的直播间背景切换方法的流程示意图;
17.图5为本技术一示例性实施例提供的抠图模型训练方法的流程示意图;
18.图6为本技术一示例性实施例提供的电子设备的结构示意图。
具体实施方式
19.为使本技术的目的、技术方案和优点更加清楚,下面将结合本技术具体实施例及相应的附图对本技术技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
20.在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义,“多种”一般包含至少两种,但是不排除包含至少一种的情况。
21.应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
22.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的商品或者系统不仅包括那些要素,而且还包括没有明确
列出的其他要素,或者是还包括为这种商品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的商品或者系统中还存在另外的相同要素。
23.在许多场景中,需要对图像进行抠图(image matting)处理,以将图像中的前景与背景分割出来。在一些场景下,需要对图像进行实时抠图处理,以满足背景或场景替换要求。例如,在直播场景中,需要从直播视频的实时画面中分割出人、物品等前景对象,并实时替换直播环境。然而,现有的抠图算法计算量较大,抠图效率较低,无法满足实时性较高的抠图需求。
24.针对上述技术问题,在本技术一些实施例中,提供了一种解决方案,以下将结合附图,详细说明本技术各实施例提供的技术方案。
25.图1为本技术一示例性实施例提供的图像处理方法的流程示意图,如图1所示,该方法包括:
26.步骤101、获取待抠图的目标图像以及该目标图像的背景图像。
27.步骤102、利用抠图模型中的特征提取网络,对该目标图像以及该背景图像进行特征提取,得到特征图。
28.步骤103、利用该抠图模型中的解码器,结合该背景图像和/或该目标图像,对该特征图进行特征解码,得到第一解码结果图。
29.步骤104、利用该抠图模型中的深度引导滤波网络,在该目标图像的引导下,对该第一解码结果图进行深度引导滤波,得到目标抠图蒙版。
30.本实施例的执行主体可以是运行有抠图模型的电子设备。在不同的应用场景中,该电子设备的实现形态不同。例如,在一些场景中,该电子设备可实现为手机、平板电脑、计算机等终端设备,上述终端设备上运行有抠图模型,用户可基于该抠图模型实现离线抠图。在另一些场景中,该电子设备可实现为服务器,例如常规服务器或者云服务器,上述服务器上运行有抠图模型,并可向终端设备提供远程的抠图服务。
31.其中,该抠图模型,可预先根据图像样本对神经网络模型(neural networks,nn)进行训练得到,具体的训练过程将在后续实施例中进行介绍,此处暂不赘述。
32.其中,目标图像,指的是任意一张待抠图的图像,该目标图像中可包括前景部分以及背景部分。其中,前景部分指的是图像中的主体对象,例如人物、商品、道具等。主体对象位于某一目标环境中时,对主体对象及其所在环境进行拍摄,即可得到目标图像。目标图像的背景图像,不包含主体对象。该背景图像,可在主体对象未进入目标环境时,通过对目标环境进行拍摄得到。目标图像及其背景图像上包含不同的信息,抠图模型可基于学习到的前景与背景的分辨能力,对目标图像上的前景以及背景进行分割。
33.在本实施例中,抠图模型的结构如图2所示,至少包括:特征提取网络、解码器以及精炼机(refiner)。其中,精炼机可基于深度引导滤波网络(deep guided filter,dgf)实现。
34.其中,特征提取网络,用于从输入的图像上抽取特征,得到用于充分表达输入图像的特征的矩阵或者张量。特征提取网络,可包括多个特征计算层,多个特征计算层由低到高形成深度特征提取网络,可对输入的图像进行深度特征提取操作,得到低层级特征以及高层语义特征。其中,高层语义特征是经过若干次卷积(特征提取)后得到的抽象的特征信息,
具有较大的感受野(receptive field),有利于对图像上的对象进行分类。其中,高层语义特征,采用具有特定分辨率的特征图进行表达,该特定分辨率远小于目标图像以及背景图像的分辨率,从而,增大特征图上的像素点的感受野。其中,特征图上的像素点的感受野,指的是该像素点在目标图像以及背景图像上对应的图像区域的尺寸。
35.抠图模型中的特征提取网络提取到特征图后,该特征图可输入抠图模型的解码器(decoder)。其中,解码器,用于将输入的特征图,映射至原图的尺寸。在本实施例中,解码器的输入数据还可包括目标图像和/或目标图像的背景图像。从而,在对特征图进行解码的过程中,解码器可充分利用背景图像和/或目标图像上的已有信息,对特征图上的像素点进行解码。其中,背景图像上包含已知的背景信息,目标图像上包含已知的背景和前景之间的边缘信息。在本实施例中,背景图像和/或目标图像上的上述信息可对解码器的解码过程形成辅助与指导,从而解码器无需大量计算也可实现较为准确的解码操作,提升最终的抠图结果的质量。为便于描述,在本实施例中,将解码器输出的解码结果描述为第一解码结果图。
36.其中,第一解码结果图,是对分辨率较低的特征图进行解码得到的结果,第一解码结果图中的解码结果较为粗略,提供了大致的区域定位,但是部分像素存在解码结果不够准确的情况。因此,在本实施例中,可进一步采用精炼环节对较为粗略的解码结果进行修正。其中,解码器输出的第一解码结果图可输入抠图模型的深度引导滤波网络,以基于深度引导滤波网络对第一解码结果图进行修正,从而得到更加准确的解码结果。
37.其中,深度引导滤波网络的输入数据包括目标图像。目标图像包含完整的图像信息,深度引导滤波可在目标图像的引导下,对第一解码结果图进行深度引导滤波,得到目标抠图蒙版(mask)。
38.其中,该抠图蒙版中像素点的值用于表示前景透明度。通常,像素点的前景透明度的值在0到1之间,若像素点的前景透明度为0,则确定该像素点属于前景;若像素点的前景透明度为1,则确定该像素点属于背景。
39.在本实施例中,抠图模型在特征提取阶段的输入数据为目标图像及其背景图像,可对目标图像以及背景图像上的特征进行挖掘。在解码阶段,抠图模型可在背景图像和/或目标图像的辅助下,对特征提取阶段输出的特征图进行解码,可使得解码过程进一步聚焦在目标图像与背景图像的差异上。在输出阶段,抠图模型使用深度引导滤波网络对解码结果图进行深度引导滤波,可对解码结果进行修正以使得抠图结果更加准确。基于这种根据已知的背景信息对前景与背景分离进行指导的实施方式,可在无需进行大量计算的情况下在目标图像和/或背景图像的辅助下得到较为准确的抠图结果,极大提升了抠图效率。
40.同时,将背景图像作为预设的已知信息进行建模,可降低抠图模型的参数的数量。当抠图模型的计算量以及参数数量降低后,抠图模型对计算资源的需求也随之降低,从而使得该抠图模型可应用在cpu(central processing unit,中央处理器)上进行实时计算。利用抠图模型中的特征提取网络,对目标图像以及背景图像进行特征提取之前,可通过cpu加载并运行该抠图模型。
41.除此之外,在精炼环节中,上述抠图模型基于深度引导滤波网络实现了对低分辨率的抠图结果进行细化处理,实现了端到端的模型处理,在训练阶段以及训练完成后的预测阶段,无需对抠图模型的结构进行差异化调整,有利于模型的优化及部署。
42.在一些示例性的实施例中,如图3所示,抠图模型中的特征提取网络包括编码器
(encoder)以及特征计算网络。
43.相应地,利用抠图模型中的特征提取网络,对该目标图像以及该背景图像进行特征提取得到特征图时,可首先采用编码器,对该目标图像以及该背景图像进行下采样编码,得到编码特征图。
44.其中,编码器作为抠图模型的主干网络(backbone),可基于mobilenetv3(large)模型、vgg模型、resnet模型实现或者其他可选的神经网络模型实现,本技术对此不做限制。
45.可选地,该编码器,包括:不同分辨率的多个编码层,多个编码层的分辨率依次递减。即,编码层的深度越深,则下采样率越大,输出的编码特征图的尺寸越小。针对该多个编码层中的任一编码层,可根据该编码层的预设的卷积核以及下采样率,对该编码层的输入数据进行下采样编码,得到具有设定分辨率的编码特征图。
46.如图3所示,该多个编码层中,首个编码层的输入数据为该目标图像以及目标图像的背景图像,非首个编码层的输入数据为前一层输出的编码特征图。基于这种实施方式,可采用多层下采样编码的方式对输入的目标图像及其背景图像进行深度编码,得到分辨率较低的编码特征图,该分辨率较低的编码特征图尺寸较小,有利于降低后续计算量。
47.编码器输出的编码特征图可输入特征计算网络。其中,特征计算网络可基于改进的深度分离空洞卷积池化金字塔网络(depthwise-atrous spatial pyramid pooling,dw-aspp)实现。在特征计算网络中,可利用空洞卷积核对该编码特征图执行深度分离卷积计算,得到多通道的语义特征;并采用逐点卷积,对该多通道的语义特征进行通道整合,得到该特征图。
48.其中,空洞卷积核是通过在标准的卷积核中注入空洞得到的卷积核。该空洞卷积核的计算量较小,且感受野较大。深度分离卷积是一种参数较少的卷积计算方式,在深度分离卷积计算的过程中,每个通道可使用相同的卷积核进行计算,不进行通道间的加和计算。在本实施例中,抠图模型利用空洞卷积核进行深度分离卷积计算,可极大降低卷积计算中的乘法以及加法的计算量,提升计算效率,提升抠图处理操作的实时性。
49.在一些示例性的实施例中,如图3所示,抠图模型中的解码器包括:不同分辨率的多个解码层,该多个解码层的分辨率依次递增。
50.相应地,解码器在结合该背景图像和/或该目标图像,对该特征图进行特征解码时,该多个解码层中的任一解码层,可根据该解码层的预设的卷积核以及上采样率,对该解码层的输入数据进行上采样解码,得到具有设定分辨率的第二解码结果图。
51.其中,该多个解码层中,首个解码层的输入数据包括:特征计算网络输出的特征图,非首个解码层的输入数据包括前一层输出的解码结果图。
52.其中,该多个解码层中,至少一个解码层的输入数据包括下采样至对应分辨率的背景图像和/或目标图像。例如,在多个解码层中,一部分解码层的输入数据可包括背景图像以及目标图像,另一部分解码层的输入数据可包括目标图像。以下将结合图3进行示例性说明。
53.如图3所示,解码器包括解码层d1、d2、d3以及d4。其中,解码层d1以及d2的输入数据包括目标图像及其背景图像,解码层d3以及d4的输入数据包括目标图像。从而,解码层d1以及d2可根据目标图像及其背景图像之间的差异进行解码,提升解码速度以及解码结果的准确性。解码层d3以及d4可在目标图像的辅助下进行解码,进一步提升解码速度,降低解码
计算量。
54.需要说明的是,目标图像或者背景图像在输入任一解码层之前,可根据解码层对应的分辨率,对目标图像或者背景图像进行下采样,从而使得解码层输入的图像以及特征图具有相同的分辨率,以便于计算。如图3所示,可基于平均池化层(avg pool)对目标图像或者背景图像进行下采样,以得到不同分辨率的标图像或者不同分辨率的背景图像。
55.可选地,解码器的多个解码层中,任一解码层的输入数据还包括:分辨率相同的编码层输出的编码特征图。如图3所示,解码层d1的输入数据包括分辨率相同的编码层e4输出的编码特征图、解码层d2的输入数据包括分辨率相同的编码层e3输出的编码特征图、解码层d3的输入数据包括分辨率相同的编码层e2输出的编码特征图、解码层d4的输入数据包括分辨率相同的编码层e1输出的编码特征图。
56.基于这种实施方式,解码层可在解码的过程中,充分利用编码层提取到的低层级的特征,低层级的特征具有较为明显的纹理、形状特征,因此可辅助解码层在无需大量计算的情况下实现更准确的解码结果。
57.在上述实施方式中,随着解码层的分辨率不断提升,每一解码层的计算任务的计算量将随之增大。为降低计算量,在较高层的解码层中,可采用空洞卷积核对输入数据执行卷积计算,以下将进行示例性说明。
58.可选地,针对任一解码层,若该解码层对应的分辨率大于预设分辨率阈值,则根据该解码层预设的空洞卷积核以及上采样率,对该解码层的输入数据进行深度分离卷积,得到该解码层对应的具有设定分辨率的该第二解码结果图。其中,该预设分辨率阈值,可以是目标图像或输入抠图模型的推理图像的分辨率的二分之一、三分之一或者四分之一等,本实施例不做限制。其中,该推理图像可由目标图像进行下采样得到。
59.继续结合图3的示意进行说明。
60.如图3所示,解码层d1、解码层d2、解码层d3以及解码层d4的分辨率分别为推理图像的1/16、1/8、1/4、1/2。若该预设分辨率阈值为1/4,则解码层d4的分辨率大于该预设分辨率阈值,解码层d4可利用空洞卷积核对输入数据执行深度分离卷积,从而降低高分辨率特征图所需的计算量。
61.基于上述各实施例获取到第一解码结果图后,可利用该抠图模型中的深度引导滤波网络,在该目标图像的引导下,对该第一解码结果图进行深度引导滤波,得到目标抠图蒙版。
62.其中,深度引导滤波(deep guided filter)网络,主要用于基于引导图来进行上采样,该网络中有可学习的参数,可在监督信号的监督下通过不断训练学习基于引导图对输入数据进行上采样的能力。深度引导滤波可基于学习到的参数对输入的低分辨率输出和高分辨率引导图执行联合上采样(joint upsampling),并生成高分辨率输出。深度引导滤波网络输出的图像通常贴合引导图的边缘,可对输入数据进行修正。以下将进行示例性说明。
63.在本实施例中,抠图蒙版采用像素点的透明度进行表示,通常,像素点的透明度为0到1之间的值。解码器输出的第二解码结果图上的像素点中,可能存在部分像素点的特征值未在[0,1]的范围内,因此,可在深度引导滤波网络中,根据该第一解码结果图上的像素点的特征值以及预设的透明度算子,对该第一解码结果图上的像素点的透明度进行归一化
处理,得到低分辨率的抠图蒙版。在归一化处理过程中,针对任一像素点,若该像素点的特征值小于0,则将该像素点的特征值标记为0;若该像素点的特征值大于1,则将该像素点的特征值标记为1。
[0064]
基于上述归一化处理得到低分辨率的抠图蒙版后,可将该低分辨率的抠图蒙版与第一解码结果图进行通道合并,得到通道合并结果。对该通道合并结果进行上采样,可得到与该目标图像具有相同分辨率的目标通道合并结果。基于该步骤,可确保引导图以及待滤波的图具有相同的分辨率。接下来,可在该目标图像的引导下,对该目标通道合并结果进行联合上采样,得到高分辨率的抠图蒙版,作为目标抠图蒙版。
[0065]
在这种实施方式中,通过dgf的滤波操作,可对低分辨率的抠图结果进行修正,提升抠图结果的准确性。
[0066]
本技术实施例提供的上述图像处理方法,可应用在多种需要抠图的场景中,例如商品海报自动绘制场景、直播或者视频通话中的背景替换场景、人像美图场景等等。在上述场景中对目标图像进行抠图的需求,通常不单单是人像抠图。例如,在直播场景中,需要抠图的对象不但包括主播,还包括直播间的物品摆设,例如桌子、摆件、凳子、主播手持的物品等等。上述需要抠图的对象为“非背景”对象,使用简单的人像抠图则无法得到准确的抠图结果。基于本实施例提供的抠图模型,可将目标图像的背景图像作为预设的已知信息,使得抠图模型感知到实际的背景信息与前景信息的差异,从而将目标图像中的“非背景”对象准确分割出来,满足直播场景下的准确性需求以及实时性需求。
[0067]
在上述场景中,可基于由终端设备和服务器组成的系统架构实现图像处理,以下将结合具体的场景进行示例性说明。
[0068]
其中,终端设备是指能够向用户提供图像处理操作,并且具有通信功能的设备。在不同的应用场景下,终端设备的实现形态也会有所不同。例如,在一些场景下,终端设备可表现为用户侧的手机、平板电脑、计算机设备等,用户可通过上述终端设备提供的插件、应用程序或者浏览器等发起针对图像或者视频的处理操作。
[0069]
其中,服务器可实现为常规服务器、云服务器、云主机、虚拟中心等服务器等设备,本实施例对此不做限制。其中,服务器设备的构成主要包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,不再赘述。服务器上可运行有前述实施例记载的抠图模型。终端设备可将待抠图的图像发送至服务器,并可提供该图像或者视频对应的背景图像。服务器接收到该图像及其背景图像后,可将该图像及其背景图像输入抠图模型,并由抠图模型输出抠图结果。
[0070]
在一些情况下,终端设备可将视频数据(例如推流端直播产生的流式视频数据)及视频画面中的背景图像发送至直播服务器,直播服务器接收到视频数据后,可提取出视频中的每一帧图像,并将每一帧图像及其背景图像输入抠图模型,得到每一帧图像的抠图结果。
[0071]
在一些实施例中,服务器获取抠图结果后,可将抠图结果返回至终端设备,以供终端设备使用。例如,在人像美图场景中,服务器获取人像图片中的前景与背景的分割结果后,可将该分割结果返回至终端设备,以使终端设备执行背景替换操作。
[0072]
在另一些实施例中,服务器获取抠图结果后,可根据用户提供的新的背景,将抠图结果与新的背景进行融合,得到新的图像,并将该新的图像发送至数据接收方进行观看。例
如,如图4a所示,在直播场景中,直播推流端可将实时产生的直播视频流发送至直播服务器,并可指定用于替换的背景图像。直播服务器替换背景图像后,可将新生成的直播视频流发送至拉流端进行观看。
[0073]
以下将结合图4b,以直播场景为例进行进一步示例性说明。
[0074]
图4b为本技术一示例性实施例提供的一种直播间背景切换方法的流程示意图,如图4b所示,该方法包括:
[0075]
步骤401、获取直播间的背景图像并获取该直播间实时产生的直播视频流。
[0076]
步骤402、针对该直播视频流中的任一帧直播图像,利用抠图模型中的特征提取网络,对该直播图像以及该背景图像进行特征提取,得到特征图。
[0077]
步骤403、利用该抠图模型中的解码器,结合该背景图像和/或该直播图像,对该特征图进行特征解码,得到第一解码结果图。
[0078]
步骤404、利用该抠图模型中的深度引导滤波网络,在该直播图像的引导下,对该第一解码结果图进行深度引导滤波,得到目标抠图蒙版。
[0079]
步骤405、根据该目标抠图蒙版,对该直播图像进行抠图处理,得到前景图像。
[0080]
步骤406、将该前景图像与预设图像进行融合,得到新的直播图像。
[0081]
本实施例的执行主体可以为直播服务器。直播服务器可接收推流端(例如主播的手机、电脑)发送的直播视频流,并将直播视频流发送至拉流端(例如直播观众的手机、电脑)。在本实施例中,直播服务器还可获取直播间的背景图像。其中,该背景图像可由主播提供。或者,在直播开始前,直播服务器可通过推流端提示主播移除直播间需抠图的物品,并由推流端对直播环境进行拍摄后得到直播间的背景图像。
[0082]
对于直播间实时产生的直播视频流,直播服务器可对直播视频流进行分帧处理,得到每一帧直播图像,并基于抠图模型进行逐帧抠图。针对每一帧直播图像,直播服务器可执行步骤402~步骤404进行抠图处理,得到每一帧直播图像的抠图蒙版。其中,步骤402~步骤404的具体实施方式可参考前述实施例的记载,此处不赘述。
[0083]
目标抠图蒙版中,每个像素点的透明度值表示了该像素点属于前景的概率。针对直播图像上的任一像素点,若该像素点在目标抠图蒙版中对应的透明度大于设定的透明度阈值,则可认为该像素点属于前景区域。其中,该透明度阈值可以为0.6、0.8、0.9等等,本实施例不做限制。基于目标抠图蒙版判断出直播图像上每个像素点所属的区域后,可从直播图像中分割出前景图像。
[0084]
直播服务器对直播视频流中的每一帧直播图像进行抠图后,可得到直播场景中的前景(例如人、物)与背景的分割结果。将该前景与预设图像进行融合,即可得到替换背景后的新的直播图像,并生成新的直播视频流。其中,该预设图像可由主播提供,也可由直播服务器提供。在一些实施例中,直播服务器可提供多种不同场景下的背景模板供主播选择,例如会议室背景模板、风景区背景模板、主题乐园背景模板、演播厅背景模板等等,本实施例不做限制。
[0085]
获取到新的直播视频流后,直播服务器可直接将新的直播视频流发送至直播拉流端进行观看。在这种实施方式中,直播服务器可基于抠图模型,高效地进行抠图处理,满足了直播场景的高实时性要求。
[0086]
除前述实施例记载的图像处理方法之外,本技术实施例还提供了一种抠图模型的
训练方法,以下将进行示例性说明。如图5所示,该抠图模型的训练方法包括:
[0087]
步骤501、获取待抠图的目标图像以及该目标图像的背景图像。
[0088]
步骤502、利用抠图模型中的特征提取网络,对该目标图像以及该背景图像进行特征提取,得到特征图。
[0089]
步骤503、利用该抠图模型中的解码器,结合该背景图像和/或该目标图像,对该特征图进行特征解码,得到第一解码结果图。
[0090]
步骤504、利用该抠图模型中的深度引导滤波网络,在该目标图像的引导下,对该第一解码结果图进行深度引导滤波,得到目标抠图蒙版。
[0091]
步骤505、根据该目标抠图蒙版以及该目标图像的期望抠图蒙版之间的差异,对该抠图模型进行参数优化。
[0092]
其中,步骤501~步骤504的可选实施方式可参考前述实施例的记载,此处不赘述。
[0093]
在步骤505中,目标图像的期望抠图蒙版为训练过程的监督信号,用于监督抠图模型的训练过程。该期望抠图蒙版,可预先通过标注的方式生成。上述参数优化操作可迭代进行,在多轮迭代训练过程中不断优化抠图模型的参数,以使得抠图模型的抠图误差不断收敛并最终收敛至预设值或者预设范围内。
[0094]
可选地,在每个训练轮次中,可利用大量的图像样本对抠图模型进行训练,每张图像样本的训练过程可如前述步骤501~步骤505所示。为提升抠图模型的鲁棒性,使得抠图模型能够感知目标图像与背景图像之间的微小差异,可采用如下的方式生成训练数据:
[0095]
获取前景样本集以及背景样本集,并将该前景样本集中的前景样本分别与该背景样本集中的背景样本进行合成,得到图像样本集。
[0096]
其中,针对前景样本集中的任一前景样本,将该前景样本与背景样本集中的任一背景样本进行合成的操作,可基于以下公式实现:
[0097]
i=αf (1-α)b
[0098]
其中,i表示合成之后的图像样本,a表示透明度,a的范围在0~1之间,f表示前景样本,b表示背景样本。基于该公式,可将前景样本集中的每一前景样本与背景样本集中的每一背景样本进行合成,得到大量的训练数据。其中,在每一训练轮次中,可从该图像样本集中选取任意一张图像作为目标图像,并将该目标图像与该目标图像的背景图像输入抠图模型进行训练。
[0099]
为增强模型对细微背景差异(例如光照、抖动、噪声)的适应能力,与目标图像一并输入抠图模型的背景图像,与合成目标图像的背景样本的像素并可以不完全一一对应,即与目标图像一并输入抠图模型的背景图像上的背景信息,与目标图像上的背景信息可以不完全一致。
[0100]
为满足上述要求,可选地,在合成得到目标图像后,可对目标图像在背景样本集中对应的背景样本进行增强处理,得到目标图像的增强的背景样本集。在每个训练轮次中,与目标图像一并输入抠图模型的背景图像可以是该增强的背景样本集中的任一图像。以下将结合具体的例子进行说明。
[0101]
假设,图像a由前景样本a以及背景样本b合成;对背景样本b进行增强处理后,得到背景图像b1、b2、b3以及b4。在基于图像a进行训练时,可将图像a与背景图像b1输入抠图模型,或者,可将图像a与背景图像b2输入抠图模型,或者,可将图像a与背景图像b3输入抠图
模型,或者,可将图像a与背景图像b4输入抠图模型。进而,抠图模型可在不断地迭代训练过程中,学习背景具有微小变化情况下的前景、背景的分辨能力,提升模型的鲁棒性。
[0102]
可选地,上述针对背景样本的增强处理包括:仿射变换处理、噪声添加处理、亮度调整处理、对比度调整处理以及前景局部区域贴合处理中的至少一种。其中,前景局部区域贴合处理是指,按照一定的概率从前景样本上随机选取部分区域贴合在背景样本上,以提升抠图模型对前景与背景颜色接近或一致的图像的分辨能力。
[0103]
在一些可选的实施例中,为提升训练效率,本技术实施例提供的抠图模型的训练方法可以分阶段执行,例如可至少划分为两个训练阶段。以下将进行示例性说明。
[0104]
训练阶段一、采用低分辨率的图像样本,对抠图模型中的特征提取网络以及解码器进行训练。
[0105]
可选地,基于前述实施例提供的方式获取图像样本集后,可对图像样本集中的图像样本以及该图像样本的背景图像进行降分辨率处理,得到降分辨率后的图像样本以及降分辨率后的背景图像。接下来,可采用该降分辨率后的图像样本以及该降分辨率后的背景图像,对该抠图模型中的该特征提取网络以及该解码器进行训练,直至该特征提取网络以及该解码器的误差收敛至指定范围。
[0106]
在训练过程中,将上述降分辨率后的图像样本以及降分辨率后的背景图像输入抠图模型后,抠图模型中的特征提取网络,可对降分辨率后的图像样本以及降分辨率后的背景图像进行特征提取,得到特征图。抠图模型中的解码器,可结合该降分辨率的背景图像和/或降分辨率的图像样本,对该特征图进行特征解码,得到解码结果图。计算该解码结果图与图像样本对应的预期解码结果图之间的差值,即可得到特征提取网络以及解码器的训练损失。基于该训练损失,可对特征提取网络以及解码器的参数进行优化,直至训练损失满足收敛条件。
[0107]
在这一训练阶段中,通过降低输入图像的分辨率的方式,可降低训练所需的计算量,提升训练效率。
[0108]
当特征提取网络以及解码器的误差收敛至指定范围后,可执行下一训练阶段:
[0109]
训练阶段二、对抠图模型整体进行训练。
[0110]
该训练阶段中,可基于上述步骤501~步骤505执行每一次迭代。值得说明的是,在该训练阶段中,主要的训练对象是深度引导滤波网络,因此,在对抠图模型进行参数优化时,可设置深度引导滤波网络的学习率大于特征提取网络以及解码器的学习率(learning rate)。基于这种实施方式,可加速深度引导滤波网络的学习率,从而提升训练效率。
[0111]
其中,抠图模型的训练损失函数,可采用以下公式进行表达:
[0112]
l=md(||pre-α||1 ||sobel(pre)-sobel(α)||1)
[0113]
其中,md表示静态抠图算法(trimap)给出的权重,其中,静态抠图算法计算出的不确定区域的权重可设置为5,其余区域的权重为1;pre表示抠图模型输出的目标抠图蒙版,α表示目标图像的期望抠图蒙版;|| ||1表示l1范数函数;sobel()表示用于提取边缘信息的函数。其中,sobel()可使用3*3的sobel卷积核卷积进行边缘提取。例如,sobel卷积核可实现为[[-1,-2,-1],[0,0,0],[1,2,1]],或者,可实现为[[-1,0,1],[-2,0,2],[-1,0,1]],本实施例不做限制。
[0114]
还值得说明的是,在对抠图模型整体进行训练时,还可采用低分辨率训练与高分
辨训练交错的训练方式,以增强抠图模型的处理性能。在低分辨率训练环节中,可抠图模型的输入图像可以是低分辨率的图像样本以及低分辨率的背景图像;在高分辨率训练环节中,可抠图模型的输入图像可以是高分辨率的图像样本以及高分辨率的背景图像。通过这种变换分辨率的方式,可使得模型学习应对复杂输入数据的能力,从而提升模型的鲁棒性以及泛化能力。
[0115]
需要说明的是,上述实施例所提供方法的各步骤的执行主体均可以是同一设备,或者,该方法也由不同设备作为执行主体。比如,步骤501至步骤504的执行主体可以为设备a;又比如,步骤501和502的执行主体可以为设备a,步骤503的执行主体可以为设备b;等等。
[0116]
另外,在上述实施例及附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如501、502等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。
[0117]
需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
[0118]
图6是本技术一示例性实施例提供的电子设备的结构示意图,如图6所示,该电子设备包括:存储器601以及处理器602。
[0119]
存储器601,用于存储计算机程序,并可被配置为存储其它各种数据以支持在电子设备上的操作。这些数据的示例包括用于在电子设备上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。
[0120]
其中,存储器601可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
[0121]
处理器602,与存储器601耦合,用于执行存储器601中的计算机程序,以用于执行前述实施例记载的图像处理方法和/或前述实施例记载的抠图模型的训练方法。
[0122]
在一些实施例中,图6所示的电子设备在执行图像处理方法时,处理器602主要用于:获取待抠图的目标图像以及该目标图像的背景图像;利用抠图模型中的特征提取网络,对该目标图像以及该背景图像进行特征提取,得到特征图;利用该抠图模型中的解码器,结合该背景图像和/或该目标图像,对该特征图进行特征解码,得到第一解码结果图;利用该抠图模型中的深度引导滤波网络,在该目标图像的引导下,对该第一解码结果图进行深度引导滤波,得到目标抠图蒙版。
[0123]
进一步可选地,该特征提取网络包括编码器以及特征计算网络;处理器602在利用抠图模型中的特征提取网络,对该目标图像以及该背景图像进行特征提取,得到特征图时,具体用于:采用该编码器,对该目标图像以及该背景图像进行下采样编码,得到编码特征图;采用该特征计算网络,利用空洞卷积核对该编码特征图执行深度分离卷积计算,得到多通道的语义特征;并采用逐点卷积,对该多通道的语义特征进行通道整合,得到该特征图。
[0124]
进一步可选地,该编码器,包括:不同分辨率的多个编码层;处理器602在采用该编码器,对该目标图像以及该背景图像进行下采样编码,得到编码特征时,具体用于:针对该
多个编码层中的任一编码层,根据该编码层的预设的卷积核以及下采样率,对该编码层的输入数据进行下采样编码,得到具有设定分辨率的编码特征图;该多个编码层的分辨率依次递减;其中,该多个编码层中,首个编码层的输入数据为该目标图像以及该背景图像,非首个编码层的输入数据为前一层输出的编码特征图。
[0125]
进一步可选地,该解码器包括:不同分辨率的多个解码层;处理器602在利用该抠图模型中的解码器,结合该背景图像和/或该目标图像,对该特征图进行特征解码,得到第一解码结果图时,具体用于:针对该多个解码层中的任一解码层,根据该解码层的预设的卷积核以及上采样率,对该解码层的输入数据进行上采样解码,得到具有设定分辨率的第二解码结果图;该多个解码层的分辨率依次递增;其中,该多个解码层中,首个解码层的输入数据包括:该特征图,非首个解码层的输入数据包括前一层输出的解码结果图;该多个解码层中,至少一个解码层的输入数据包括下采样至对应分辨率的背景图像和/或目标图像。
[0126]
进一步可选地,该多个解码层中,任一解码层的输入数据还包括:分辨率相同的编码层输出的编码特征图。
[0127]
进一步可选地,处理器602在根据该解码层的预设的卷积核以及上采样率,对该解码层的输入数据进行上采样解码,得到具有设定分辨率的第二解码结果图时,具体用于:若该解码层对应的分辨率大于预设分辨率阈值,则根据该解码层预设的空洞卷积核以及上采样率,对该解码层的输入数据进行深度分离卷积,得到该解码层对应的具有设定分辨率的该第二解码结果图。
[0128]
进一步可选地,处理器602在利用该抠图模型中的深度引导滤波网络,在该目标图像的引导下,对该第一解码结果图进行深度引导滤波,得到目标抠图蒙版时,具体用于:在该深度引导滤波网络中,根据该第一解码结果图上的像素点的特征值以及预设的透明度算子,对该第一解码结果图上的像素点的透明度进行归一化处理,得到低分辨率的抠图蒙版;将该低分辨率的抠图蒙版与该第一解码结果图进行通道合并,得到通道合并结果;对该通道合并结果进行上采样,得到与该目标图像具有相同分辨率的目标通道合并结果;在该目标图像的引导下,对该目标通道合并结果进行联合上采样,得到高分辨率的抠图蒙版,作为该目标抠图蒙版。
[0129]
在另一些实施例中,图6所示的电子设备在执行图像处理方法时,处理器602主要用于:获取待抠图的目标图像以及该目标图像的背景图像;利用抠图模型中的特征提取网络,对该目标图像以及该背景图像进行特征提取,得到特征图;利用该抠图模型中的解码器,结合该背景图像和/或该目标图像,对该特征图进行特征解码,得到第一解码结果图;利用该抠图模型中的深度引导滤波网络,在该目标图像的引导下,对该第一解码结果图进行深度引导滤波,得到目标抠图蒙版;根据该目标抠图蒙版以及该目标图像的期望抠图蒙版之间的差异,对该抠图模型进行参数优化。
[0130]
进一步可选地,处理器602在获取待抠图的目标图像之前,还用于:获取前景样本集以及背景样本集;将所述前景样本集中的前景样本分别与所述背景样本集中的背景样本进行合成,得到图像样本集;所述目标图像为所述图像样本集中的任一图像;针对所述目标图像,将所述目标图像在所述背景样本集中对应的背景样本进行增强处理,得到所述目标图像的增强的背景样本集;所述目标图像的背景图像为所述增强的背景样本集中的任一图像。
[0131]
进一步可选地,该增强处理包括:仿射变换处理、噪声添加处理、亮度调整处理、对比度调整处理以及前景局部区域贴合处理中的至少一种。
[0132]
进一步可选地,处理器602在根据该目标抠图蒙版以及该目标图像的期望抠图蒙版之间的差异,对该抠图模型进行参数优化之前,还用于:对该图像样本集中的图像样本以及该图像样本的背景图像进行降分辨率处理,得到降分辨率后的图像样本以及降分辨率后的背景图像;采用该降分辨率后的图像样本以及该降分辨率后的背景图像,对该抠图模型中的该特征提取网络以及该解码器进行训练,直至该特征提取网络以及该解码器的误差收敛至指定范围。
[0133]
进一步可选地,处理器602还用于:对该抠图模型进行参数优化时,设置该深度引导滤波网络的学习率大于该特征提取网络以及该解码器的学习率。
[0134]
进一步,如图6所示,该电子设备还包括:通信组件603、显示器604、电源组件605、音频组件606等其它组件。图6中仅示意性给出部分组件,并不意味着电子设备只包括图6所示组件。
[0135]
上述图6中的通信组件被配置为便于通信组件所在设备和其他设备之间有线或无线方式的通信。通信组件所在设备可以接入基于通信标准的无线网络,如wifi,2g、3g、4g或5g,或它们的组合。在一个示例性实施例中,通信组件经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,通信组件可基于近场通信(nfc)技术、射频识别(rfid)技术、红外数据协会(irda)技术、超宽带(uwb)技术、蓝牙(bt)技术和其他技术来实现。
[0136]
上述图6中的显示器包括屏幕,其屏幕可以包括液晶显示器(lcd)和触摸面板(tp)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。该触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与该触摸或滑动操作相关的持续时间和压力。
[0137]
上述图6中的电源组件,为电源组件所在设备的各种组件提供电力。电源组件可以包括电源管理系统,一个或多个电源,及其他与为电源组件所在设备生成、管理和分配电力相关联的组件。
[0138]
本实施例中,电子设备中运行的抠图模型在特征提取阶段的输入数据为目标图像及其背景图像,可对目标图像以及背景图像上的特征进行挖掘。在解码阶段,抠图模型可在背景图像和/或目标图像的辅助下,对特征提取阶段输出的特征图进行解码,可使得解码过程进一步聚焦在目标图像与背景图像的差异上。在输出阶段,抠图模型使用深度引导滤波网络对解码结果图进行深度引导滤波,可对解码结果进行修正以使得抠图结果更加准确。基于这种根据已知的背景信息对前景与背景分离进行指导的实施方式,可在无需进行大量计算的情况下在目标图像和/或背景图像的辅助下得到较为准确的抠图结果,极大提升了抠图效率。
[0139]
相应地,本技术实施例还提供一种存储有计算机程序的计算机可读存储介质,计算机程序被执行时能够实现上述方法实施例中可由电子设备执行的各步骤。
[0140]
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实
施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0141]
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0142]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0143]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0144]
在一个典型的配置中,计算设备包括一个或多个处理器(cpu)、输入/输出接口、网络接口和内存。
[0145]
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram)。内存是计算机可读介质的示例。
[0146]
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0147]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0148]
以上所述仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献