一种图像背景替换方法、系统、电子设备及存储介质

文档序号:9190 发布日期:2021-09-17 浏览:33次 英文

一种图像背景替换方法、系统、电子设备及存储介质

技术领域

本公开涉及金融科技领域

技术领域

,具体涉及一种图像背景替换方法、系统、电子设备及存储介质。

背景技术

在疫情防控的需求下,银行的远程视频坐席客服成为银行重要的业务。而传统的视频坐席客服只是简单的视频通话,当用户考虑到个人隐私不方便客服看到自己背景的情况下,这种服务就很难满足用户需要。因此对用户的视频进行背景替换是银行视频客服服务需要做出的改善,而人像分割算法就能够实现这一功能。

在目前的人像分割算法中,往往存在分割精度不高,细节处理不好等问题。人像分割出来的效果只是一个轮廓,人像边缘处的细节很容易被过度分割或分割不足。因此考虑使用改进的background-matting算法实现人像分割,并将分割出来的人像放在新的背景下达到背景替换的目的。

发明内容

(一)要解决的技术问题

针对上述问题,本公开提供了一种图像背景替换方法、系统、电子设备及存储介质,用于至少部分解决传统图像背景替换中边缘分割精度不高,细节处理不好等技术问题。

(二)技术方案

本公开一方面提供了一种图像背景替换方法,包括:获取第一图像中每个像素点的前景预测概率;选取前景预测概率接近特征值的点作为不确定点;将不确定点的不同尺度的特征图进行融合,得到边界清晰的前景图和α遮罩;使用待替换的背景图像与前景图和α遮罩进行合成,得到新背景下的第二图像。

进一步地,获取第一图像中每个像素点的前景预测概率包括:获取第一图像;将第一图像输入卷积神经网络得到该图像的特征图;将特征图输入金字塔池化模块,以获得每个像素点的前景预测概率。

进一步地,将特征图输入金字塔池化模块包括:构建多层的特征金字塔,将特征图输入各层金字塔进行不同尺度的池化;进行上采样、全连接层、激活函数处理后,得到每个像素点的前景预测概率。

进一步地,选取前景预测概率接近特征值的点作为不确定点还包括:反卷积处理,得到粗糙分割的特征图。

进一步地,选取前景预测概率接近特征值的点作为不确定点包括:采用双线性插值对粗糙分割的特征图的边界进行上采样;获取边界的像素点的前景预测概率;选择概率接近特征值的点作为不确定点。

进一步地,前景预测概率来于抠图算法的公式:

I=αF+(1-α)B

其中I为图像,F为I的前景,α为像素的前景预测概率,B为I的背景。

进一步地,选取前景预测概率接近特征值的点作为不确定点中特征值为0.5。

进一步地,将不确定点的不同尺度的特征图进行融合,得到边界清晰的前景图和α遮罩包括:将特征图输入各层金字塔进行不同尺度的池化,得到不同尺度的特征图;将不确定点的不同尺度的特征图进行融合,得到边界清晰的特征图。

进一步地,将不确定点的不同尺度的特征图进行融合还包括:解码,分别得到边界清晰的前景图和α遮罩。

进一步地,解码得到边界清晰的前景图包括:双线性差值上采样、卷积、BN、ReLU处理,得到预测的特征图;对预测的特征图和边界清晰的特征图进行双线性差值上采样、卷积、BN、ReLU、镜面Padding、卷积,得到边界清晰的前景图。

进一步地,解码得到边界清晰的α遮罩包括:双线性差值上采样、卷积、BN、ReLU处理,进行解码;镜面Padding、卷积、Tanh处理,得到边界清晰的α遮罩。

进一步地,使用待替换的背景图像与前景图和α遮罩进行合成包括:将α遮罩与前景图进行处理得到第二图像的前景部分;将α遮罩与待替换的背景图像进行处理得到第二图像的背景部分;将前景部分与背景部分进行叠加得到第二图像。

本公开另一方面提供了一种视频图像背景替换方法,包括:获取当前视频中的第一视频图像;根据前述图像背景替换方法对第一视频图像进行背景替换,得到新背景下的第二视频图像。

进一步地,得到新背景下的第二视频图像包括:使用rtmp传输协议进行实时视频的传输。

本公开还有一方面提供了一种图像背景替换系统,包括:图像获取模块,用于获取第一图像中每个像素点的前景预测概率;选取模块,用于选取前景预测概率接近特征值的点作为不确定点;融合模块,用于将不确定点的不同尺度的特征图进行融合,得到边界清晰的前景图和α遮罩;合成模块,用于使用待替换的背景图像与前景图和α遮罩进行合成,得到新背景下的第二图像。

本公开还有一方面提供了一种视频图像背景替换系统,包括:视频获取模块,用于获取当前视频中的第一视频图像;背景替换模块,用于根据前述图像背景替换方法对第一视频图像进行背景替换,得到新背景下的第二视频图像。

本公开还有一方面提供了一种电子设备,包括:存储器,处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时,使得处理器执行如前述的图像背景替换方法或视频图像背景替换方法。

本公开还有一方面提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时,实现如前述的图像背景替换方法或视频图像背景替换方法。

本公开还有一方面提供了一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如前述的图像背景替换方法或视频图像背景替换方法。

(三)有益效果

本公开提供的一种图像背景替换方法、系统、电子设备及存储介质,在前景与背景分割过程中,通过将前景与背景之间的边缘部分进行边缘轮廓处理,将边缘轮廓的不确定点进行上采样、特征融合,由此该不确定点的特征既包含检测大目标的特征,又包含检测细节的特征,将更多的细节保留下来,得到了分割精度更高的背景替换图像。同样的方法还可以应用于视频的背景替换中,得到了分割精度更高的背景替换视频图像。

附图说明

为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:

图1示意性示出了根据本公开实施例图像背景替换方法的应用场景示意图;

图2示意性示出了根据本公开实施例的图像背景替换方法的具体应用示例的场景图;

图3示意性示出了根据本公开实施例的图像背景替换方法的流程图;

图4示意性示出了根据本公开实施例的获取第一图像中每个像素点的前景预测概率的方法流程图;

图5示意性示出了根据本公开实施例的将特征图输入金字塔池化模块的方法流程图;

图6示意性示出了根据本公开实施例的金字塔池化模块的结构图;

图7示意性示出了根据本公开实施例的选取前景预测概率接近特征值的点作为不确定点的方法流程图;

图8示意性示出了根据本公开实施例的将不确定点的不同尺度的特征图进行融合的方法流程图;

图9示意性示出了根据本公开实施例的使用待替换的背景图像与前景图和α遮罩进行合成的方法流程图;

图10示意性示出了根据本公开实施例的图像背景替换完整方法的流程图;

图11示意性示出了根据本公开实施例的边缘轮廓处理的流程图;

图12示意性示出了根据本公开实施例的上采样步骤的的示意图;

图13示意性示出了根据本公开实施例的视频背景图像替换的示意图;

图14示意性示出了根据本公开实施例的实时视频传输的示意图;

图15示意性示出了根据本公开实施例的实时视频传输的流程图;

图16示意性示出了根据本公开实施例的图像背景替换系统的方框图;

图17示意性示出了根据本公开实施例的视频图像背景替换系统的方框图;

图18示意性示出了根据本公开一实施例的适于实现上文描述的方法的电子设备方框图。

具体实施方式

以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本公开实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本公开的概念。

在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本公开。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。

在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。

在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。

附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。本公开的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本公开的技术可以采取存储有指令的计算机可读存储介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。

本公开的实施例提供了一种图像背景替换方法、系统、电子设备及存储介质,在图像分割过程中,将前景与背景之间的边缘部分进行边缘轮廓处理,将更多的细节保留,得到了分割精度更高的背景替换图像。

图1示意性示出了根据本公开实施例的可以应用于图像背景替换方法方法的示例性系统架构100。需要注意的是,图1所示仅为可以应用本公开实施例的系统架构的示例,以帮助本领域技术人员理解本公开的技术内容,但并不意味着本公开实施例不可以用于其他设备、系统、环境或场景。

如图1所示,根据该实施例的系统架构100可以包括终端设备101、102、103,网络104和服务器105。网络104用以在终端设备101、102、103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

用户可以使用终端设备101、102、103通过网络104与服务器105交互,以接收或发送消息等。终端设备101、102、103上可以安装有各种通讯客户端应用,例如摄像功能应用、拍照功能应用、网页浏览器应用、搜索类应用、即时通信工具、社交平台软件等(仅为示例)。

终端设备101、102、103可以是具有显示屏并且支持网页浏览的各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。

服务器105可以是提供各种服务的服务器,例如对用户利用终端设备101、102、103所浏览的网站提供支持的后台管理服务器(仅为示例)。后台管理服务器可以对接收到的用户请求等数据进行分析等处理,并将处理结果(例如根据用户请求获取或生成的网页、信息、或数据等)反馈给终端设备。

需要说明的是,本公开实施例所提供的图像背景替换方法方法一般可以由服务器105执行。相应地,本公开实施例所提供的用于图像背景替换方法的系统一般可以设置于服务器105中。本公开实施例所提供的图像背景替换方法也可以由不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群执行。相应地,本公开实施例所提供的用于图像背景替换方法的系统也可以设置于不同于服务器105且能够与终端设备101、102、103和/或服务器105通信的服务器或服务器集群中。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。

图2示意性示出了根据本公开实施例的图像背景替换方法的具体应用示例的场景图。

终端设备101、102或103可以对其自身存储的或者从外部拍摄的图像201经由网络104传输至服务器105,服务器105提取其前景图像202,并可以在提取前景图像的基础上进行图像背景的替换,从而得到替换背景后的图像203,将该图像203通过网络104传输至其他的网络终端,并在其他的网络终端进行显示或播放。

为了提高人像分割中边缘处理的效果,在算法中通常需要用户手动提供一个草图(Scratch)或者一个三元图(Trimap)做辅助处理,background-matting算法中使用了类似的策略,不同的是background-matting算法使用的是完全没有前景的背景作为输入。在实际使用中很不方便,一方面需要手动拍摄没有前景的背景图这会给实时处理带来很大不便,另一方面虽然是在完全相同的条件下拍摄有无前景的两张图片,但是想要这种条件过于苛刻了。因此本公开使用了一种边缘优化的方法应用于background-matting,从而解决传统方法需要额外拍摄背景图片的问题。

图3示意性示出了根据本公开实施例的图像背景替换方法的流程图。

如图3所示,该像背景替换方法包括:

在操作S1,获取第一图像中每个像素点的前景预测概率。

前景图像的提取是进行图像背景替换过程中的一个重要步骤,在该提取方式中,首先需要获取第一图像中每个像素点的前景预测概率,当某一像素点的概率更接近1被认为是前景,更接近0被认为是背景,从而将图像的像素点简单的区分为前景像素和背景像素,但是该方法容易在前景边缘处留下背景颜色带,使得最终融合得到的新背景的图片边缘轮廓不自然,影响替换了图像背景的图像的质量。

在操作S2,选取前景预测概率接近特征值的点作为不确定点。

在获取每个像素点的前景预测概率之后,将前景边缘部分的像素点选取出来,以进一步对该边缘的点进行细化处理;则选取像素点的概率既不接近1、也不接近0,而是接近某一特征值的点作为不确定点。

在操作S3,将不确定点的不同尺度的特征图进行融合,得到边界清晰的前景图和α遮罩。

在获取像素点的前景预测概率之前,已经对每个点进行了不同尺度的特征提取。选取出既不能确定为前景像素、也不能确定为背景像素的点之后,即确定了不确定点之后,进一步将不确定点的不同尺度的特征图进行融合,这样的特征既包含检测大目标的特征,又包含检测细节的特征,再通过该不确定点的特征预测前景图和α遮罩,此时得到的前景图和α遮罩边界更加清晰,保证了图像背景替换的图像的质量。

在操作S4,使用待替换的背景图像与前景图和α遮罩进行合成,得到新背景下的第二图像。

通过利用α遮罩,将前景图中像素点的像素值,作为替换背景后图像中、与前景图中像素点对应位置处像素点的像素值;并将待替换的背景图像中、与背景像素点对应位置处像素点的像素值,作为替换背景后图像中、与背景像素点对应位置处像素点的像素值。

图4示意性示出了根据本公开实施例的获取第一图像中每个像素点的前景预测概率的方法流程图。

如图4所示,获取第一图像中每个像素点的前景预测概率的方法包括:

在操作S11,获取第一图像。

首先,获取待进行背景替换的第一图像。这里对第一图像不做具体限定,可以是已存储的图像,也可以是实时拍摄的图像。

在操作S12,将第一图像输入卷积神经网络得到该图像的特征图。

将该第一图像导入CNN网络,得到一个具有较大不确定区域的初步特征图。

在操作S13,将特征图输入金字塔池化模块,以获得每个像素点的前景预测概率。

利用基于不同区域的信息集合,通过金字塔池化模块,使用金字塔场景解析网络(PSPNet)来发挥解析上下文信息的能力。

图5示意性示出了根据本公开实施例的将特征图输入金字塔池化模块的方法流程图。

如图5所示,将特征图输入金字塔池化模块的方法包括:

在操作S131,构建多层的特征金字塔。

请参见图6,金字塔池化结构,融合了四种不同尺度下的特征,将输入特征图划分成1×1,2×2、3×3、6×6个不同的子区域。

在操作S132,将特征图输入各层金字塔进行不同尺度的池化。

对每个子区域进行池化,最后将包含位置信息的池化后的单个特征图组合起来。金字塔池化模块中不同层级输出不同尺度的特征图,为了保持全局特征的权重,在每个金字塔层级后使用1x1的卷积核,当某个层级维数为n时,即可将语义特征的维数降到原始特征的1/n。

在操作S133,进行上采样、全连接层、激活函数处理后,得到每个像素点的前景预测概率。

然后,通过双线性插值直接对低维特征图进行上采样,使其与原始特征图尺度相同。再将不同层级的特征图拼接为最终的金字塔池化全局特征。其中金字塔池化结构中每个层级的大小都可以修改,与输入金字塔池化层的特征图大小有关。该结构采用不同的池化核,即可提取不同子区域的特征。最后,通过激活函数处理后,得到每个像素点的前景预测概率。

在上述实施例的基础上,选取前景预测概率接近特征值的点作为不确定点还包括:反卷积处理,得到粗糙分割的特征图。

激活函数处理后,继续输入反卷积层进行反卷积处理CONV,如图6所示,得到粗糙分割的特征图。

图7示意性示出了根据本公开实施例的选取前景预测概率接近特征值的点作为不确定点的方法流程图。

如图7所示,选取前景预测概率接近特征值的点作为不确定点的方法包括:

在操作S21,采用双线性插值对粗糙分割的特征图的边界进行上采样。

得到粗糙分割的特征图之后,需要对粗糙的边缘轮廓进行进一步处理。首先,采用双线性插值对粗糙分割的特征图的边界进行上采样,把图像中的像素分布看作一个网格的话,经过这一操作后网格的密度更大分辨率也更高。

在操作S22,获取边界的像素点的前景预测概率。

通过激活函数处理后,得到每个像素点的前景预测概率,从而可以获取该边界的像素点的前景预测概率。

在操作S22,选择概率接近特征值的点作为不确定点。

我们知道图像分割边界部分预测某一像素点的概率更接近1被认为是前景,更接近0被认为是背景;故选取像素点的概率既不接近1、也不接近0,而是接近某一特征值的点作为不确定点。

在上述实施例的基础上,前景预测概率来于抠图算法的公式:

I=αF+(1-α)B

其中I为图像,F为I的前景,α为像素的前景预测概率,B为I的背景。

该公式体现了人像分割的本质,当我们知道α的时候就可以从一个图像中分割出前景和背景。

在上述实施例的基础上,选取前景预测概率接近特征值的点作为不确定点中特征值为0.5。

图像处理过程中,大部分前景预测概率接近0.5的点被忽略,而这种不确定点会直接影响边界分割的效果;因此我们在密度更大的网格上选择多个概率接近0.5的点;前景预测概率接近0.5基本认为该像素点为前景图的边缘部分。

图8示意性示出了根据本公开实施例的将不确定点的不同尺度的特征图进行融合,得到边界清晰的前景图和α遮罩的方法流程图。

如图8所示,将不确定点的不同尺度的特征图进行融合,得到边界清晰的前景图和α遮罩的方法包括:

在操作S1321,将特征图输入各层金字塔进行不同尺度的池化,得到不同尺度的特征图。

在步骤S132中,已经将特征图输入各层金字塔进行不同尺度的池化;这里先获取不确定点的不同尺度的特征图。

在操作S1322,将不确定点的不同尺度的特征图进行融合,得到边界清晰的特征图。

将不确定点的不同尺度的特征图进行融合作为不确定点的特征,这样的特征既包含检测大目标的特征,又包含检测细节的特征,将更多的边界细节保留了下来。

在上述实施例的基础上,将不确定点的不同尺度的特征图进行融合还包括:解码,分别得到边界清晰的前景图和α遮罩。

边缘轮廓处理之前的过程均可以看作是编码的过程,这里再进行解码过程,对图像进行还原,分别得到前景图和α遮罩。

在上述实施例的基础上,解码得到边界清晰的前景图包括:双线性差值上采样、卷积、BN、ReLU处理,得到预测的特征图;对预测的特征图和边界清晰的特征图进行双线性差值上采样、卷积、BN、ReLU、镜面Padding、卷积,得到边界清晰的前景图。

前景预测分支:在这个分支中,它首先经过一组3个残差块的解码器进行解码,得到相应的特征图。解码的第一部分使用之前得到的特征图作为输入,经过一组双线性差值上采样,卷积,BN,ReLU操作后得到预测的特征图。解码的第二部分使用预测的特征图和原特征图拼接之后的结果,依次经过双线性差值上采样,卷积,BN,ReLU,镜面Padding,卷积后得到前景图。

在上述实施例的基础上,解码得到边界清晰的α遮罩包括:双线性差值上采样、卷积、BN、ReLU处理,进行解码;镜面Padding、卷积、Tanh处理,得到边界清晰的α遮罩。

α预测分支:和前景预测分支类似,它首先经过一组3个残差块的解码器进行解码,然后经过两组双线性差值,卷积,BN,ReLU操作进行解码,最后经过一组镜面Padding,卷积以及Tanh之后得到最终预测的alpha matte,使用Tanh的原因是因为alpha matte的每个像素的值需要介于0和1之间。

图9示意性示出了根据本公开实施例的使用待替换的背景图像与前景图和α遮罩进行合成的方法流程图。

如图9所示,使用待替换的背景图像与前景图和α遮罩进行合成的方法包括:

在操作S41,将α遮罩与前景图进行处理得到第二图像的前景部分。

在操作S42,将α遮罩与待替换的背景图像进行处理得到第二图像的背景部分。

在操作S43,将前景部分与背景部分进行叠加得到第二图像。

由α遮罩与前景图相应的像素值相乘得到融合图像前景部分,由经(1-a)处理的α遮罩和新图像相应的像素值相乘得到融合图像背景部分,将前景部分与背景部分进行叠加得到融合图像。

本公开还提供了一种视频图像背景替换方法,包括:获取当前视频中的第一视频图像;根据前述图像背景替换方法对第一视频图像进行背景替换,得到新背景下的第二视频图像。

前述的处理方法还可以应用于视频图像背景替换中,获取视频中的视频帧,进行图像替换,即可得到新背景下的第二视频图像。

在上述实施例的基础上,得到新背景下的第二视频图像包括:使用rtmp传输协议进行实时视频的传输。

为了能够实现实时的视频背景替换,使用rtmp传输协议进行视频流的传输。

本公开的视频背景替换方法克服传统人像分割算法的缺点,将更多的人像细节保留下来;使得用户方便进行图像背景替换或在进行视频客服服务时既能够替换自己的背景保护个人隐私,同时能够更好的保留人像部分,提高用户体验。

下面以视频背景图像替换为例对本方法各步骤进行进一步说明。

请参见图10。

步骤1001,首先,获取视频中的视频帧;

步骤1002,将该视频帧图像输入卷积神经网络得到该图像的特征图;

步骤1003,将该特征图输入金字塔池化模块进行不同尺度的池化;

步骤1004,进行上采样、全连接层、激活函数处理后,得到每个像素点的前景预测概率;

通过双线性插值直接对低维特征图进行上采样,使其与原始特征图尺度相同。再将不同层级的特征图拼接为最终的金字塔池化全局特征。其中金字塔池化结构中每个层级的大小都可以修改,与输入金字塔池化层的特征图大小有关。该结构采用不同的池化核,即可提取不同子区域的特征。最后,通过激活函数处理后,得到每个像素点的前景预测概率。

步骤1005,输入反卷积层,得到粗糙分割的特征图1006;

传统语义分割网络,在进行一系列卷积池化后。会得到一定分辨率的特征图。这个特征图一般大小为原图的1/8、1/16或者1/32等等。特征图越小感受野越大,越适合检测大目标。反之越适合检测小目标。通过预测特征图上的点就有了类别标签,知道了某个像素归属于某类。然后通过一定的上采样方法将其恢复到原图大小,这样就得到原图的语义分割结果。

步骤1007,对粗糙分割的特征图1006进行边缘轮廓处理,得到边界清晰的特征图;

在本实施例中首先使用deeplabV3对原图进行特征提取并预测得到粗糙分割α遮罩,提取14*14的特征图。这个分割结果边缘部分并不是很好,原background-matting算法对边缘优化的策略是通过一个选择单元,在原图,无前景的背景图,α遮罩中选择性的保留前景和背景。虽然能够做到边缘优化的目的但是还需要输入无前景的背景图。在本公开中使用双线性插值对之前预测的粗糙的边界进行上采样,把图像中的像素分布看作一个网格的话,经过这一操作后网格的密度更大分辨率也更高,请参见图12。我们知道图像分割边界部分预测某一像素点的概率更接近1被认为是前景,更接近0被认为是背景。而很大部分概率接近0.5的点被忽略。而这种不确定点会直接影响边界分割的效果。因此我们在密度更大的网格上选择多个概率接近0.5的点。因为在deeplabv3中已经对每个点进行了不同尺度的特征提取,将原特征图的1/4和1/16进行融合作为不确定点的特征,这样的特征既包含检测大目标的特征,又包含检测细节的特征。

步骤1008,解码,分别得到边界清晰的前景图1009和α遮罩1010;

接下来通过不确定点的特征预测前景和α遮罩。前景预测分支首先经过一组3个残差块的解码器进行解码,得到相应的特征图。解码的第一部分使用之前得到的特征图作为输入,经过一组双线性差值上采样,卷积,BN,ReLU操作后得到预测的特征图。解码的第二部分使用预测的特征图和原特征图拼接之后的结果,依次经过双线性差值上采样,卷积,BN,ReLU,镜面Padding,卷积后得到前景图。类似地,α预测分支首先经过一组3个残差块的解码器进行解码,然后经过两组双线性差值,卷积,BN,ReLU操作进行解码,最后经过一组镜面Padding,卷积以及Tanh之后得到最终预测的alpha matte,使用Tanh的原因是因为alphamatte的每个像素的值需要介于0和1之间。

步骤1011,使用待替换的背景图像与前景图和α遮罩进行合成,得到新背景下的视频图像,上述步骤901~步骤911请参见图13。

其中,边缘轮廓处理907具体包括以下步骤,请参见图11。

步骤1101,双线性插值对粗糙分割的特征图的边界进行上采样;

步骤1102,预测边界某一像素点的概率;

步骤1103,选择概率接近0.5的点作为不确定点;

步骤1104,将不确定点的金字塔池化模块中不同尺度下的特征图进行融合;

步骤1105,得到边界清晰的特征图。

得到新背景下的视频图像后,还要进行实时的视频传输,请参见图14~15。

实时视频传输的大致流程如图14所示,使用rtmp传输协议进行视频的传输。源站也就是服务器,使用nginx搭建。为了能够实现实时的视频背景替换,需要在服务器端加一层处理单元,整个流程图如图15所示,1客户端:前端的图像获取单元,通过摄像头采集视频,获取处理后的视频并通过屏幕显示;2服务端:视频流的服务器,通过指定的传输协议完成视频流的收发;3图像处理:实现人像分割和背景替换。

图16示意性示出了根据本公开一实施例的图像背景替换系统的方框图。

如图16所示,该图像背景替换系统1600包括:图像获取模块1610、选取模块1620、融合模块1630、合成模块1640。

图像获取模块1610,用于获取第一图像中每个像素点的前景预测概率;根据本公开的实施例,该图像获取模块1610例如可以用于执行上文参考图3所描述的S1步骤,在此不再赘述。

选取模块1620,用于选取前景预测概率接近特征值的点作为不确定点;根据本公开的实施例,该选取模块1620例如可以用于执行上文参考图3所描述的S2步骤,在此不再赘述。

融合模块1630,用于将不确定点的不同尺度的特征图进行融合,得到边界清晰的前景图和α遮罩;根据本公开的实施例,该融合模块1630例如可以用于执行上文参考图3所描述的S3步骤,在此不再赘述。

合成模块1640,用于使用待替换的背景图像与前景图和α遮罩进行合成,得到新背景下的第二图像;根据本公开的实施例,该合成模块1640例如可以用于执行上文参考图3所描述的S4步骤,在此不再赘述。

图17示意性示出了根据本公开一实施例的视频图像背景替换系统的方框图。

如图17所示,该视频图像背景替换系统1700包括:视频获取模块1710、背景替换模块1720。

视频获取模块1710,用于获取当前视频中的第一视频图像。

背景替换模块1720,用于根据前述图像背景替换方法对第一视频图像进行背景替换,得到新背景下的第二视频图像。

需说明的是,根据本公开的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本公开实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本公开实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

例如,图像获取模块1610、选取模块1620、融合模块1630、合成模块1640或视频获取模块1710、背景替换模块1720中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本公开的实施例,图像获取模块1610、选取模块1620、融合模块1630、合成模块1640或视频获取模块1710、背景替换模块1720中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,图像获取模块1610、选取模块1620、融合模块1630、合成模块1640或视频获取模块1710、背景替换模块1720中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。

本公开提供的一种图像背景替换方法系统及方法,可用于金融科技等领域,特别是远程视频坐席客服领域,提供了一种基于改进的background-matting算法实现人像分割,并将分割出来的人像放在新的背景下达到背景替换的目的。

图18示意性示出了根据本公开实施例的适于实现上文描述的方法的电子设备的方框图。图18示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图18所示,本实施例中所描述的电子设备1800,包括:处理器1801,其可以根据存储在只读存储器(ROM)1802中的程序或者从存储部分1808加载到随机访问存储器(RAM)1803中的程序而执行各种适当的动作和处理。处理器1801例如可以包括通用微处理器(例如CPU)、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。处理器1801还可以包括用于缓存用途的板载存储器。处理器1801可以包括用于执行根据本公开实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。

在RAM 1803中,存储有系统1800操作所需的各种程序和数据。处理器1801、ROM1802以及RAM 1803通过总线1804彼此相连。处理器1801通过执行ROM 1802和/或RAM 1803中的程序来执行根据本公开实施例的方法流程的各种操作。需要注意,程序也可以存储在除ROM 1802和RAM 1803以外的一个或多个存储器中。处理器1801也可以通过执行存储在一个或多个存储器中的程序来执行根据本公开实施例的方法流程的各种操作。

根据本公开的实施例,电子设备1800还可以包括输入/输出(I/O)接口1805,输入/输出(I/O)接口1805也连接至总线1804。系统1800还可以包括连接至I/O接口1805的以下部件中的一项或多项:包括键盘、鼠标等的输入部分1806;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1807;包括硬盘等的存储部分1808;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1809。通信部分1809经由诸如因特网的网络执行通信处理。驱动器1810也根据需要连接至I/O接口1805。可拆卸介质1811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1810上,以便于从其上读出的计算机程序根据需要被安装入存储部分1808。

根据本公开的实施例,根据本公开实施例的方法流程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读存储介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1809从网络上被下载和安装,和/或从可拆卸介质1811被安装。在该计算机程序被处理器1801执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

本公开实施例还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本公开实施例的图像背景替换方法。

根据本公开的实施例,计算机可读存储介质可以是非易失性的计算机可读存储介质,例如可以包括但不限于:便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。例如,根据本公开的实施例,计算机可读存储介质可以包括上文描述的ROM 1802和/或RAM 1803和/或ROM1802和RAM 1803以外的一个或多个存储器。

本公开的实施例还包括一种计算机程序产品,其包括计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。当计算机程序产品在计算机系统中运行时,该程序代码用于使计算机系统实现本公开实施例所提供的图像背景替换方法。

在该计算机程序被处理器1801执行时执行本公开实施例的系统/装置中限定的上述功能。根据本公开的实施例,上文描述的系统、装置、模块、单元等可以通过计算机程序模块来实现。

在一种实施例中,该计算机程序可以依托于光存储器件、磁存储器件等有形存储介质。在另一种实施例中,该计算机程序也可以在网络介质上以信号的形式进行传输、分发,并通过通信部分1809被下载和安装,和/或从可拆卸介质1811被安装。该计算机程序包含的程序代码可以用任何适当的网络介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

在这样的实施例中,该计算机程序可以通过通信部分1809从网络上被下载和安装,和/或从可拆卸介质1811被安装。在该计算机程序被处理器1801执行时,执行本公开实施例的系统中限定的上述功能。根据本公开的实施例,上文描述的系统、设备、装置、模块、单元等可以通过计算机程序模块来实现。

根据本公开的实施例,可以以一种或多种程序设计语言的任意组合来编写用于执行本公开实施例提供的计算机程序的程序代码,具体地,可以利用高级过程和/或面向对象的编程语言、和/或汇编/机器语言来实施这些计算程序。程序设计语言包括但不限于诸如Java,C++,python,“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。

需要说明的是,在本公开各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

本领域技术人员可以理解,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合,即使这样的组合或结合没有明确记载于本公开中。特别地,在不脱离本公开精神和教导的情况下,本公开的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本公开的范围。

尽管已经参照本公开的特定示例性实施例示出并描述了本公开,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本公开的精神和范围的情况下,可以对本公开进行形式和细节上的多种改变。因此,本公开的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:票据文档电子化处理方法

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!