视频抠像处理方法、处理装置及计算机可读存储介质转让专利

申请号 : CN201711218897.5

文献号 : CN108305256B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈贻东汪大伟

申请人 : 腾讯科技(深圳)有限公司

摘要 :

本发明提供一种视频抠像处理方法,其包括:获取抠像视频,并从服务器上获取抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型;对抠像视频进行视频解码,以得到抠像视频的视频图片帧;根据抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型,确定视频图片帧的前景像素、背景像素以及前景像素透明度,以便对抠像视频进行视频抠像处理。本发明还提供一种视频抠像处理装置,本发明保证了终端进行视频抠像处理的准确度,简化了终端进行视频抠像处理的流程,且提高了终端进行视频抠像处理的效率。

权利要求 :

1.一种视频抠像处理方法,其特征在于,包括:

获取抠像视频,并从服务器上获取所述抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型;

对所述抠像视频进行视频解码,以得到所述抠像视频的视频图片帧;以及根据所述抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型,确定所述视频图片帧的前景像素、背景像素以及前景像素透明度,以便对所述抠像视频进行视频抠像处理;

所述抠像视频的视频图片帧的图片像素颜色的前景像素透明度估算模型的生成过程包括:获取抠像视频的视频图片序列;

从所述视频图片序列中选择多张视频图片帧作为抠像训练图片;

基于视频抠像人工辅助算法,得到所述抠像训练图片的图片像素颜色的前景透明度值;以及基于图像像素颜色关系模型,使用所述抠像训练图片的图片像素颜色的前景透明度值对所述图片像素颜色关系模型的参数进行机器训练,以得到所述抠像视频的视频图片帧的图片像素颜色的前景像素透明度估算模型。

2.根据权利要求1所述的视频抠像处理方法,其特征在于,所述从视频图片序列中选择多张视频图片帧作为抠像训练图片的步骤包括:按设定时间间隔,从视频图片序列中选择多张视频图片帧作为抠像训练图片;或按视频图片帧的画面内容变化量,从视频图片序列中选择多张视频图片帧作为抠像训练图片。

3.根据权利要求1所述的视频抠像处理方法,其特征在于,所述视频抠像处理方法还包括步骤:使用所述视频图片帧的图片像素的红色颜色分量、所述视频图片帧的图片像素的绿色颜色分量、所述视频图片帧的图片像素的蓝色颜色分量、所述视频图片帧的图片像素的红绿颜色分量、所述视频图片帧的图片像素的红蓝颜色分量、所述视频图片帧的图片像素的蓝绿颜色分量、以及所述视频图片帧的图片像素与背景像素的颜色差异量中的多个构成所述图像像素颜色关系模型。

4.根据权利要求1所述的视频抠像处理方法,其特征在于,所述基于图像像素颜色关系模型,使用所述抠像训练图片的图片像素颜色的前景透明度值对所述图片像素颜色关系模型的参数进行机器训练,以得到所述抠像视频的视频图片帧的图片像素颜色的前景像素透明度估算模型的步骤包括:将每个抠像训练图片划分为多个抠像训练图片块;以及

基于图像像素颜色关系模型,使用对应的抠像训练图片块的图片像素颜色的前景透明度值对所述图片像素颜色关系模型的参数进行机器训练,以得到所述抠像视频的抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型;

所述根据所述抠像视频的视频图片帧的图片像素颜色的前景像素透明度估算模型,确定所述视频图片帧的前景像素、背景像素以及前景像素透明度,以便对所述抠像视频进行视频抠像处理的步骤包括:根据抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型,确定所述视频图片序列中的所有视频图片帧的抠像训练图片块对应区域的前景像素、背景像素以及前景像素透明度;以及根据所有抠像训练块对应区域的前景像素、背景像素以及前景像素透明度,对所述抠像视频进行视频抠像处理。

5.根据权利要求1所述的视频抠像处理方法,其特征在于,所述获取抠像视频的视频图片序列的步骤包括:对所述抠像视频进行视频解码,以得到所述抠像视频的视频画面帧;以及对每个所述视频画面帧进行纹理绑定,以形成具有图片像素的视频图片帧,其中所述抠像视频的所有视频图片帧构成所述抠像视频的视频图片序列。

6.根据权利要求1所述的视频抠像处理方法,其特征在于,所述视频抠像处理方法还包括:将视频抠像处理后的抠像视频与设定背景视频进行合成操作,以生成目标视频。

7.根据权利要求1所述的视频抠像处理方法,其特征在于,所述前景像素透明度估算模型为多元线性表达式或多元非线性表达式。

8.一种视频抠像处理方法,其特征在于,包括:

获取抠像视频,并从服务器上获取所述抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型;

对所述抠像视频进行视频解码,以得到所述抠像视频的视频图片帧;以及根据所述抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型,确定所述视频图片帧的前景像素、背景像素以及前景像素透明度,以便对所述抠像视频进行视频抠像处理;

所述抠像视频的视频图片帧的图片像素颜色的前景像素透明度估算模型的生成过程包括:获取抠像视频的视频图像序列,并将所述视频图像序列中的视频图片帧按画面内容变化量分成多个视频图片组;

从每个视频图片组中选择多张视频图片帧作为所述视频图片组对应的抠像训练图片;

基于视频抠像人工辅助算法,得到所述抠像训练图片的图片像素颜色的前景透明度值;以及基于图像像素颜色关系模型,使用每个视频图片组的抠像训练图片的图片像素颜色的前景透明度值对所述图片像素颜色关系模型的参数进行机器训练,以得到视频图片组的图片像素颜色的前景像素透明度估算模型。

9.根据权利要求8所述的视频抠像处理方法,其特征在于,所述从每个视频图片组中选择多张视频图片帧作为所述视频图片组对应的抠像训练图片的步骤包括:按设定时间间隔,从每个视频图片组中选择多张视频图片帧作为抠像训练图片。

10.根据权利要求8所述的视频抠像处理方法,其特征在于,所述基于图像像素颜色关系模型,使用每个视频图片组的抠像训练图片的图片像素颜色的前景透明度值对所述图片像素颜色关系模型的参数进行机器训练,以得到视频图片组的图片像素颜色的前景像素透明度估算模型的步骤包括:将每个抠像训练图片划分为多个抠像训练图片块;以及

基于图像像素颜色关系模型,使用每个视频图片组对应的抠像训练图片块的图片像素颜色的前景透明度值对所述图片像素颜色关系模型的参数进行机器训练,以得到所述视频图片组的抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型;

所述根据所述抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型,确定所述视频图片帧的前景像素、背景像素以及前景像素透明度,以便对所述抠像视频进行视频抠像处理的步骤包括:使用抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型,确定所述视频图片组中的所有视频图片帧的抠像训练图片块对应区域的前景像素、背景像素以及前景像素透明度;

根据所述视频图片组中的视频图片帧的所有抠像训练块对应区域的前景像素、背景像素以及前景像素透明度,对所述视频图片组中的视频图片帧的视频抠像处理;以及根据所有视频图片组的视频抠像处理结果,合成视频抠像处理后的抠像视频。

11.一种视频抠像处理装置,其特征在于,包括:

数据获取模块,用于获取抠像视频,并从服务器上获取所述抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型;

视频图片帧获取模块,用于对所述抠像视频进行视频解码,以得到所述抠像视频的视频图片帧;以及视频抠像处理模块,用于根据所述抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型,确定所述视频图片帧的前景像素、背景像素以及前景像素透明度,以便对所述抠像视频进行视频抠像处理;

所述服务器包括:

视频图片序列获取模块,用于获取抠像视频的视频图片序列;

抠像训练图片选择模块,用于从所述视频图片序列中选择多张视频图片帧作为抠像训练图片;

前景透明度值计算模块,用于基于视频抠像人工辅助算法,得到所述抠像训练图片的图片像素颜色的前景透明度值;以及机器训练模块,用于基于图像像素颜色关系模型,使用所述抠像训练图片的图片像素颜色的前景透明度值对所述图片像素颜色关系模型的参数进行机器训练,以得到所述抠像视频的视频图片帧的图片像素颜色的前景像素透明度估算模型。

12.一种视频抠像处理装置,其特征在于,包括:

数据获取模块,用于获取抠像视频,并从服务器上获取所述抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型;

视频图片帧获取模块,用于对所述抠像视频进行视频解码,以得到所述抠像视频的视频图片帧;以及视频抠像处理模块,用于根据所述抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型,确定所述视频图片帧的前景像素、背景像素以及前景像素透明度,以便对所述抠像视频进行视频抠像处理;

所述服务器包括:

视频图片组获取模块,用于获取抠像视频的视频图像序列,并将所述视频图像序列中的视频图片帧按画面内容变化量分成多个视频图片组;

抠像训练图片选择模块,用于从每个视频图片组中选择多张视频图片帧作为所述视频图片组对应的抠像训练图片;

前景透明度值计算模块,用于基于视频抠像人工辅助算法,得到所述抠像训练图片的图片像素颜色的前景透明度值;以及机器训练模块,用于基于图像像素颜色关系模型,使用每个视频图片组的抠像训练图片的图片像素颜色的前景透明度值对所述图片像素颜色关系模型的参数进行机器训练,以得到视频图片组的图片像素颜色的前景像素透明度估算模型。

13.一种计算机可读存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行如权利要求1-10中任一的视频抠像处理方法。

说明书 :

视频抠像处理方法、处理装置及计算机可读存储介质

技术领域

[0001] 本发明涉及视频处理领域,特别是涉及一种视频抠像处理方法、处理装置及计算机可读存储介质。

背景技术

[0002] 视频抠像处理就是分离视频图像中前景和背景的操作,属于图像合成的逆过程。其中图像合成的公式为:
[0003] Ii=αiFi+(1-αi)Bi;
[0004] 其中Fi为前景像素点的颜色;αi为前景像素点的透明度,代表的前景占比;Bi为背景像素点的颜色;Ii为合成后的图像像素点的颜色。其中i为像素编号,αi大于0小于1。
[0005] 对于要进行抠像处理的视频(如绿幕视频),合成后的图像像素点的颜色Ii以及背景像素点的颜色Bi为已知要素,前景像素点的透明度αi以及前景像素点的颜色Fi为未知要素,由于该图像合成公式具有两个未知量,不能直接求解,只能利用已知信息进行近似估计。
[0006] 现有的视频抠像处理方法大致可分为两类:
[0007] 一、通过比较已知的合成后的图像像素点的颜色Ii以及背景像素点的颜色Bi的差异性来估计前景像素点的透明度αi以及前景像素点的颜色Fi,如利用Difference Keyer、Chroma Keyer、Luma Keyer等算法进行视频抠像处理。此类视频抠像处理方法对为针对单个像素点进行,算法的额外输入较为简单,但是常常会出现前景部分与前景边缘部分的背景色抠像不完全的问题。
[0008] 二、人工辅助抠像,通过涂鸦(Strokes)或三分图(Trimap)的方式预先标记视频图像的背景、前景以及混合部分,再通过Closed-Form Matting、Shared Matting、KNN Matting、Bayesian Matting等alpha-matting等算法估算透明通道,从而实现将背景去除,实现抠像处理。此类视频抠像处理方法需要人工预先标记,并且alpha-matting抠像算法比较复杂且耗时,不易实现视频的实时抠像。故现有的视频抠像处理方法的准确度较差或抠像处理的效率较低。

发明内容

[0009] 本发明实施例提供一种抠像处理的准确度较高且抠像处理的效率也较高的视频抠像处理方法、处理装置及计算机可读存储介质;以解决现有的视频抠像处理方法以及处理装置中抠像处理的准确度较差或抠像处理的效率较低的技术问题。
[0010] 本发明实施例提供一种视频抠像处理方法,其包括:
[0011] 获取抠像视频,并从服务器上获取所述抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型;
[0012] 对所述抠像视频进行视频解码,以得到所述抠像视频的视频图片帧;以及[0013] 根据所述抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型,确定所述视频图片帧的前景像素、背景像素以及前景像素透明度,以便对所述抠像视频进行视频抠像处理。
[0014] 本发明实施例还提供一种视频抠像处理装置,其包括:
[0015] 数据获取模块,用于获取抠像视频,并从服务器上获取所述抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型;
[0016] 视频图片帧获取模块,用于对所述抠像视频进行视频解码,以得到所述抠像视频的视频图片帧;以及
[0017] 视频抠像处理模块,用于根据所述抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型,确定所述视频图片帧的前景像素、背景像素以及前景像素透明度,以便对所述抠像视频进行视频抠像处理。
[0018] 在本发明所述的视频抠像处理装置中,所述抠像训练图片选择模块用于按设定时间间隔,从视频图片序列中选择多张视频图片帧作为抠像训练图片;或按视频图片帧的画面内容变化量,从视频图片序列中选择多张视频图片帧作为抠像训练图片。
[0019] 在本发明所述的视频抠像处理装置中,所述服务器还包括:图像像素颜色关系模型创建模块,用于使用所述视频图片帧的图片像素的红色颜色分量、所述视频图片帧的图片像素的绿色颜色分量、所述视频图片帧的图片像素的蓝色颜色分量、所述视频图片帧的图片像素的红绿颜色分量、所述视频图片帧的图片像素的红蓝颜色分量、所述视频图片帧的图片像素的蓝绿颜色分量、以及所述视频图片帧的图片像素与背景像素的颜色差异量中的多个构成所述图像像素颜色关系模型。
[0020] 在本发明所述的视频抠像处理装置中,所述机器训练模块包括:
[0021] 分割单元,用于将每个抠像训练图片划分为多个抠像训练图片块;以及
[0022] 机器训练单元,用于基于图像像素颜色关系模型,使用对应的抠像训练图片块的图片像素颜色的前景透明度值对所述图片像素颜色关系模型的参数进行机器训练,以得到所述抠像视频的抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型;
[0023] 所述视频抠像处理模块包括:
[0024] 抠像训练图片块像素确定单元,用于根据抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型,确定所述视频图片序列中的所有视频图片帧的抠像训练图片块对应区域的前景像素、背景像素以及前景像素透明度;以及
[0025] 视频抠像处理单元,用于根据所有抠像训练块对应区域的前景像素、背景像素以及前景像素透明度,对所述抠像视频进行视频抠像处理。
[0026] 在本发明所述的视频抠像处理装置中,所述视频图片序列获取模块包括:
[0027] 视频解码单元,用于对所述抠像视频进行视频解码,以得到所述抠像视频的视频画面帧;以及
[0028] 视频图片序列获取单元,用于对每个所述视频画面帧进行纹理绑定,以形成具有图片像素的视频图片帧,其中所述抠像视频的所有视频图片帧构成所述抠像视频的视频图片序列。
[0029] 在本发明所述的视频抠像处理装置中,所述视频抠像处理装置还包括:
[0030] 视频合成模块,用于将视频抠像处理后的抠像视频与设定背景视频进行合成操作,以生成目标视频。
[0031] 在本发明所述的视频抠像处理装置中,所述抠像训练图片选择模块用于按设定时间间隔,从每个视频图片组中选择多张视频图片帧作为抠像训练图片。
[0032] 在本发明所述的视频抠像处理装置中,所述机器训练模块包括:
[0033] 分割单元,用于将每个抠像训练图片划分为多个抠像训练图片块;以及
[0034] 机器训练单元,用于基于图像像素颜色关系模型,使用每个视频图片组对应的抠像训练图片块的图片像素颜色的前景透明度值对所述图片像素颜色关系模型的参数进行机器训练,以得到所述视频图片组的抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型;
[0035] 所述视频抠像处理模块包括:
[0036] 抠像训练图片块像素确定单元,用于使用抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型,确定所述视频图片组中的所有视频图片帧的抠像训练图片块对应区域的前景像素、背景像素以及前景像素透明度;
[0037] 视频抠像处理单元,用于根据所述视频图片组中的视频图片帧的所有抠像训练块对应区域的前景像素、背景像素以及前景像素透明度,对所述视频图片组中的视频图片帧的视频抠像处理;以及
[0038] 抠像视频合成单元,用于根据所有视频图片组的视频抠像处理结果,合成视频抠像处理后的抠像视频。
[0039] 本发明实施例还提供一种计算机可读存储介质,其内存储有处理器可执行指令,所述指令由一个或一个以上处理器加载,以执行上述的视频抠像处理方法。
[0040] 相较于现有技术,本发明的视频抠像处理方法、处理装置及计算机可读存储介质通过在服务器上对抠像训练图片进行机器训练,以生成抠像视频的视频图片帧的前景像素透明度估算模型,并使用该前景像素透明度估算模型进行抠像视频的视频抠像处理,保证了终端进行视频抠像处理的准确度,简化了终端进行视频抠像处理的流程,且提高了终端进行视频抠像处理的效率;解决了现有的视频抠像处理方法以及处理装置中抠像处理的准确度较差或抠像处理的效率较低的技术问题。

附图说明

[0041] 图1为本发明的视频抠像处理方法的第一实施例的流程图;
[0042] 图2为本发明的视频抠像处理方法的第二实施例的流程图;
[0043] 图3为本发明的视频抠像处理方法的第三实施例的流程图;
[0044] 图4为本发明的视频抠像处理方法的第四实施例的流程图;
[0045] 图5为本发明的视频抠像处理装置的第一实施例的结构示意图;
[0046] 图6为本发明的视频抠像处理装置的第二实施例的结构示意图;
[0047] 图7为本发明的视频抠像处理装置的第二实施例的视频图片序列获取模块的结构示意图;
[0048] 图8为本发明的视频抠像处理装置的第二实施例的机器训练模块的结构示意图;
[0049] 图9为本发明的视频抠像处理装置的第二实施例的视频抠像处理模块的结构示意图;
[0050] 图10为本发明的视频抠像处理装置的第三实施例的结构示意图;
[0051] 图11为本发明的视频抠像处理装置的第四实施例的结构示意图;
[0052] 图12为本发明的视频抠像处理装置的第四实施例的机器训练模块的结构示意图;
[0053] 图13为本发明的视频抠像处理装置的第四实施例的视频抠像处理模块的结构示意图;
[0054] 图14为本发明的视频抠像处理方法及视频抠像处理装置的具体实施例的流程图;
[0055] 图15A-图15C为本发明的视频抠像处理方法及视频抠像处理装置的具体实施例的抠像视频以及合成视频的示意图;
[0056] 图16为本发明的视频抠像处理装置所在的电子设备的工作环境结构示意图。

具体实施方式

[0057] 请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。
[0058] 在以下的说明中,本发明的具体实施例将参考由一部或多部计算机所执行之作业的步骤及符号来说明,除非另有述明。因此,其将可了解到这些步骤及操作,其中有数次提到为由计算机执行,包括了由代表了以一结构化型式中的数据之电子信号的计算机处理单元所操纵。此操纵转换该数据或将其维持在该计算机之内存系统中的位置处,其可重新配置或另外以本领域技术人员所熟知的方式来改变该计算机之运作。该数据所维持的数据结构为该内存之实体位置,其具有由该数据格式所定义的特定特性。但是,本发明原理以上述文字来说明,其并不代表为一种限制,本领域技术人员将可了解到以下所述的多种步骤及操作亦可实施在硬件当中。
[0059] 本发明的视频抠像处理方法及视频抠像处理装置可设置在任何的电子设备中,用于对绿幕视频或蓝幕视频等视频进行视频抠像处理以及视频合成处理,且具有较高的抠像处理准确度以及抠像处理效率。该电子设备包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。该电子设备优选为安装有视频图像处理软件的移动电子终端,以便用户对各种视频进行视频图像处理。
[0060] 本发明的视频抠像处理方法以及处理装置通过在服务器上对抠像训练图片进行机器训练,以生成抠像视频的视频图片帧的前景像素透明度估算模型,并使用该前景像素透明度估算模型进行抠像视频的视频抠像处理,保证了终端进行视频抠像处理的准确度,简化了终端进行视频抠像处理的流程,且提高了终端进行视频抠像处理的效率;解决了现有的视频抠像处理方法以及处理装置中抠像处理的准确度较差或抠像处理的效率较低的技术问题。
[0061] 请参照图1,图1为本发明的视频抠像处理方法的第一实施例的流程图。本实施例的视频抠像处理方法可使用上述的电子设备进行实施,优选使用移动电子终端进行实施,本实施例的视频抠像处理方法包括:
[0062] 步骤S101,服务器获取抠像视频的视频图片序列;
[0063] 步骤S102,服务器从视频图片序列中选择多张视频图片帧作为抠像训练图片;
[0064] 步骤S103,服务器基于视频抠像人工辅助算法,得到抠像训练图片的图片像素颜色的前景透明度值;
[0065] 步骤S104,服务器基于图像像素颜色关系模型,使用抠像训练图片的图片像素颜色的前景透明度值对图片像素颜色关系模型的参数进行机器训练,以得到抠像视频的视频图片帧的图片像素颜色的前景像素透明度估算模型;
[0066] 步骤S105,终端获取抠像视频,并从服务器上获取抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型;
[0067] 步骤S106,终端对抠像视频进行视频解码,以得到抠像视频的视频图片帧;
[0068] 步骤S107,终端根据抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型,确定视频图片帧的前景像素、背景像素以及前景像素透明度,以便对抠像视频进行视频抠像处理。
[0069] 下面详细说明本实施例的视频抠像处理方法的各步骤的具体流程。
[0070] 在步骤S101中,服务器首先获取抠像视频的视频图片序列。这里服务器可通过ffmpeg等视频转化工具,将需要进行视频抠像操作的抠像视频转化为多个视频画面帧,每个视频画面帧可对应一具有图片像素的视频图片帧。这样抠像视频对应的所有视频图片帧构成该抠像视频的视频图片序列。
[0071] 在步骤S102中,服务器从步骤S101中获取的视频图片序列中选择多张视频图片帧作为抠像训练图片。
[0072] 具体的,服务器可按设定时间间隔,从视频图片序列中选择多张视频图片帧作为抠像训练图片;或按视频图片帧的画面内容变化量,从视频图片序列中选择多张视频图片帧作为抠像训练图片。如一段时间内视频画面中的人或物没有太大变化,则可在这段时间对应的视频图片帧中选择一张视频图片帧作为抠像训练图片。这样可在保证抠像训练图片的代表性的基础上,尽量减少抠像训练图片的数量。
[0073] 在步骤S103中,服务器基于alpha-matting等视频抠像人工辅助算法,对步骤S102获取的抠像训练图片进行抠像操作,以得到抠像训练图片的图片像素颜色的前景透明度值。如获取图像合成公式Ii=αiFi+(1-αi)Bi中的每个抠像训练图片的前景像素点的颜色Fi,每个抠像训练图片的前景像素点的透明度αi以及每个抠像训练图片的背景像素点的颜色Bi等。
[0074] 在步骤S104中,服务器获取图像像素颜色关系模型,该图像像素颜色关系模型应包括由视频图片帧的图片像素的各种颜色分量构成前景像素透明度估算模型,如多元非线性表达式α=M*X+b,其中X为视频图片帧的图片像素的各种颜色分量,M为待进行机器训练的多元线性参数,b为待进行机器训练的常数,α为视频图片帧的图片像素的透明度。
[0075] 其中视频图片帧的图片像素的各种颜色分量X包括但不限于视频图片帧的图片像素的红色颜色分量R、视频图片帧的图片像素的绿色颜色分量G、视频图片帧的图片像素的蓝色颜色分量B、视频图片帧的图片像素的红绿颜色分量RG(即红色颜色分量R和绿色颜色分量G的乘积)、视频图片帧的图片像素的红蓝颜色分量RB(即红色颜色分量R和蓝色颜色分量B的乘积)、视频图片帧的图片像素的蓝绿颜色分量BG(即蓝色颜色分量B和绿色颜色分量G的乘积)、视频图片帧的图片像素的红色颜色分量R2(即红色颜色分量R和绿色颜色分量R的乘积)、视频图片帧的图片像素的绿色颜色分量G2(即绿色颜色分量G和绿色颜色分量G的乘积)、视频图片帧的图片像素的蓝色颜色分量B2(即蓝色颜色分量B和蓝色颜色分量B的乘积)以及视频图片帧的图片像素与背景像素的颜色差异量dCbCr(即视频图片帧的图片像素与背景像素的颜色在YCbCr空间的CbCr平面上的距离)。
[0076] 随后服务器将抠像训练图片的图片像素颜色的前景透明度值,放入到tensorflow等机器学习平台中进行线性回归训练,训练出多元线性参数M以及常数b的近似最优解,从而得到抠像视频的视频图片帧的图片像素颜色的前景像素透明度估算模型。
[0077] 在步骤S105中,终端(视频抠像处理装置)需要对上述抠像视频进行抠像处理时,可获取抠像视频,同时从服务器获取上述抠像视频的视频图片帧的图片像素颜色的前景像素透明度估算模型。
[0078] 由于这里的抠像视频中的前景像素点具有透明度,因此这里必须使用抠像视频来承载前景像素点的颜色以及前景像素点的透明度。
[0079] 在步骤S106中,终端对步骤S105获取的抠像视频进行视频解码操作,以得到抠像视频的视频画面帧。随后终端对每个视频画面帧进行纹理绑定,以形成具有图片像素的视频图片帧,这样即可得到抠像视频的所有视频图片帧。
[0080] 在步骤S107中,终端根据步骤S105获取的抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型,如多元非线性表达式α=M*X+b,结合图像合成公式Ii=αiFi+(1-αi)Bi,确定步骤S106获取的视频图片帧的前景像素、背景像素以及前景像素透明度,即前景像素的颜色Fi、背景像素的颜色Bi以及前景像素透明度αi。
[0081] 这样终端可依据上述前景像素、背景像素以及前景像素透明度对抠像视频进行视频抠像处理,即获取抠像视频的所有视频图片帧的具有前景像素透明度的前景像素。
[0082] 这样即完成了本实施例的视频抠像处理方法的视频抠像处理过程。
[0083] 本实施例的视频抠像处理方法通过在服务器上对抠像训练图片进行机器训练,以生成抠像视频的视频图片帧的前景像素透明度估算模型,并使用该前景像素透明度估算模型进行抠像视频的视频抠像处理,保证了终端进行视频抠像处理的准确度,简化了终端进行视频抠像处理的流程,且提高了终端进行视频抠像处理的效率。
[0084] 请参照图2,图2为本发明的视频抠像处理方法的第二实施例的流程图。本实施例的视频抠像处理方法可使用上述的电子设备进行实施,优选使用移动电子终端进行实施,本实施例的视频抠像处理方法包括:
[0085] 步骤S201,服务器使用视频图片帧的图片像素的红色颜色分量、视频图片帧的图片像素的绿色颜色分量、视频图片帧的图片像素的蓝色颜色分量、视频图片帧的图片像素的红绿颜色分量、视频图片帧的图片像素的红蓝颜色分量、视频图片帧的图片像素的蓝绿颜色分量、以及视频图片帧的图片像素与背景像素的颜色差异量中的多个构成图像像素颜色关系模型;
[0086] 步骤S202,服务器对抠像视频进行视频解码,以得到抠像视频的视频画面帧;
[0087] 步骤S203,服务器对每个视频画面帧进行纹理绑定,以形成具有图片像素的视频图片帧,其中抠像视频的所有视频图片帧构成抠像视频的视频图片序列;
[0088] 步骤S204,服务器从视频图片序列中选择多张视频图片帧作为抠像训练图片;
[0089] 步骤S205,服务器基于视频抠像人工辅助算法,得到抠像训练图片的图片像素颜色的前景透明度值;
[0090] 步骤S206,服务器将每个抠像训练图片划分为多个抠像训练图片块;
[0091] 步骤S207,服务器基于图像像素颜色关系模型,使用对应的抠像训练图片块的图片像素颜色的前景透明度值对图片像素颜色关系模型的参数进行机器训练,以得到抠像视频的抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型;
[0092] 步骤S208,终端使用抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型,确定视频图片序列中的所有视频图片帧的抠像训练图片块对应区域的前景像素、背景像素以及前景像素透明度;
[0093] 步骤S209,终端根据所有抠像训练块对应区域的前景像素、背景像素以及前景像素透明度,对抠像视频进行视频抠像处理;
[0094] 步骤S210,终端将视频抠像处理后的抠像视频与设定背景视频进行合成操作,以生成目标视频。
[0095] 下面详细说明本实施例的视频抠像处理方法的各步骤的具体流程。
[0096] 在步骤S201中,服务器使用视频图片帧的图片像素的红色颜色分量R、视频图片帧的图片像素的绿色颜色分量G、视频图片帧的图片像素的蓝色颜色分量B、视频图片帧的图片像素的红绿颜色分量RG、视频图片帧的图片像素的红蓝颜色分量RB、视频图片帧的图片像素的蓝绿颜色分量BG、以及视频图片帧的图片像素与背景像素的颜色差异量dCbCr中的多个构成图像像素颜色关系模型。如可设置X=[R、G、B]T等。该图像像素颜色关系模型对应的前景像素透明度估算模型可为多元线性表达式α=M*X+b,其中X为视频图片帧的图片像素的各种颜色分量,M为待进行机器训练的多元线性参数,b为待进行机器训练的常数,α为视频图片帧的图片像素的透明度。
[0097] 在步骤S202中,服务器通过ffmpeg等视频转化工具,对需要进行视频抠像操作的抠像视频进行视频解码,得到抠像视频的多个视频画面帧。
[0098] 在步骤S203中,服务器对步骤S202获得的每个视频画面帧进行纹理绑定,以形成具有图片像素的视频图片帧。这样抠像视频的所有视频图片帧构成该抠像视频的视频图片序列。
[0099] 在步骤S204中,服务器从步骤S203的视频图片序列中选择多张视频图片帧作为抠像训练图片。
[0100] 具体的,服务器可按设定时间间隔,从视频图片序列中选择多张视频图片帧作为抠像训练图片;或按视频图片帧的画面内容变化量,从视频图片序列中选择多张视频图片帧作为抠像训练图片。如一段时间内视频画面中的人或物没有太大变化,则可在这段时间对应的视频图片帧中选择一张视频图片帧作为抠像训练图片。这样可在保证抠像训练图片的代表性的基础上,尽量减少抠像训练图片的数量。
[0101] 在步骤S205中,服务器基于alpha-matting等视频抠像人工辅助算法,对步骤S204中的抠像训练图片进行抠像操作,以得到抠像训练图片的图片像素颜色的前景透明度值。如获取图像合成公式Ii=αiFi+(1-αi)Bi中的每个抠像训练图片的前景像素点的颜色Fi,每个抠像训练图片的前景像素点的透明度αi以及每个抠像训练图片的背景像素点的颜色Bi等。
[0102] 在步骤S206中,服务器将步骤S204获取的抠像训练图片划分为多个抠像训练图片块,如将抠像训练图片划分为4*4的16个抠像训练图片块,由于每个抠像训练图片块单独进行机器训练,具有独立的前景像素透明度估算模型,因此可以减少前景像素透明度估算模型中参数所适应的范围,进一步提升前景像素透明度估算模型的准确度。这里的抠像训练图片块可为面积和形状相同的图片块或面积不等的图片块。
[0103] 在步骤S207中,服务器获取步骤S201创建的图像像素颜色关系模型,该图像像素颜色关系模型应包括由视频图片帧的图片像素的各种颜色分量构成前景像素透明度估算模型,如多元线性表达式α=M*X+b,其中X为视频图片帧的图片像素的各种颜色分量,M为待进行机器训练的多元线性参数,b为待进行机器训练的常数,α为视频图片帧的图片像素的透明度。
[0104] 随后服务器将抠像训练图片对应的抠像训练图片块的图片像素颜色的前景透明度值,放入到tensorflow等机器学习平台中进行线性回归训练,训练出多元线性参数M以及常数b的近似最优解,从而得到抠像视频的抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型。
[0105] 在步骤S208中,终端(视频抠像处理装置)从服务器获取抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型。
[0106] 随后终端根据抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型,确定视频图片序列中的所有视频图片帧的抠像训练图片块对应区域的前景像素、背景像素以及前景像素透明度。
[0107] 在步骤S209中,终端可依据所有抠像训练块对应区域的前景像素、背景像素以及前景像素透明度对抠像视频进行视频抠像处理,即获取抠像视频的所有视频图片帧的具有前景像素透明度的前景像素。
[0108] 在步骤S210中,终端将步骤S209获取的视频抠像处理后的抠像视频与预设的背景视频进行合成操作,从而生成具有特定背景,如虚拟现实背景的目标视频。
[0109] 这样即完成了本实施例的视频抠像处理方法的视频抠像处理过程。
[0110] 在第一实施例的基础上,本实施例的视频抠像处理方法通过在服务器上将抠像训练图片划分为多个抠像训练图片块进行机器训练,以生成抠像视频的抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型,并使用该前景像素透明度估算模型进行抠像视频的视频抠像处理;通过增加前景像素透明度估算模型的数量,提高了前景像素透明度估算模型中的参数的适应度,进一步提高了视频抠像处理的准确度。
[0111] 请参照图3,图3为本发明的视频抠像处理方法的第三实施例的流程图。本实施例的视频抠像处理方法可使用上述的电子设备进行实施,优选使用移动电子终端进行实施,本实施例的视频抠像处理方法包括:
[0112] 步骤S301,服务器获取抠像视频的视频图像序列,并将视频图像序列中的视频图片帧按画面内容变化量分成多个视频图片组;
[0113] 步骤S302,服务器从每个视频图片组中选择多张视频图片帧作为视频图片组对应的抠像训练图片;
[0114] 步骤S303,服务器基于视频抠像人工辅助算法,得到抠像训练图片的图片像素颜色的前景透明度值;
[0115] 步骤S304,服务器基于图像像素颜色关系模型,使用每个视频图片组的抠像训练图片的图片像素颜色的前景透明度值对图片像素颜色关系模型的参数进行机器训练,以得到视频图片组的图片像素颜色的前景像素透明度估算模型;
[0116] 步骤S305,终端使用视频图片组的图片像素颜色的前景像素透明度估算模型,确定视频图片组中的所有视频图片帧的前景像素、背景像素以及前景像素透明度,以便对所述抠像视频进行视频抠像处理。
[0117] 下面详细说明本实施例的视频抠像处理方法的各步骤的具体流程。
[0118] 在步骤S301中,服务器获取抠像视频的视频图片序列。这里通过ffmpeg等视频转化工具,将需要进行视频抠像操作的抠像视频转化为多个视频画面帧,每个视频画面帧可对应一具有图片像素的视频图片帧。这样抠像视频对应的所有视频图片帧构成该抠像视频的视频图片序列。
[0119] 随后服务器将视频图像序列中的视频图片帧按画面内容变化量分成多个视频图片组。每个视频图片组包括多个连续视频画面帧对应的视频图片帧。该视频图片组中的视频画面具体可为一段时间内画面中的人或物没有太大变化的视频画面,这样可按每个视频图片组的视频画面来生成对应的前景像素透明度估算模型,由于每个视频图片组中的视频画面的相似度较高,因此后续生成的前景像素透明度估算模型的准确度也更高。这样通过设置较多的前景像素透明度估算模型,减少了前景像素透明度估算模型中参数所适应的范围,进一步提高了前景像素透明度估算模型的准确度。
[0120] 在步骤S302中,服务器从步骤S301中获取每个视频图片组中的视频图片序列中选择多张视频图片帧作为抠像训练图片。
[0121] 具体的,服务器可按设定时间间隔,从视频图片序列中选择多张视频图片帧作为抠像训练图片。
[0122] 在步骤S303中,服务器基于alpha-matting等视频抠像人工辅助算法,对步骤S302获取的抠像训练图片进行抠像操作,以得到抠像训练图片的图片像素颜色的前景透明度值。如获取图像合成公式Ii=αiFi+(1-αi)Bi中的每个抠像训练图片的前景像素点的颜色Fi,每个抠像训练图片的前景像素点的透明度αi以及每个抠像训练图片的背景像素点的颜色Bi等。
[0123] 在步骤S304中,服务器获取图像像素颜色关系模型,该图像像素颜色关系模型应包括由视频图片帧的图片像素的各种颜色分量构成前景像素透明度估算模型,如多元非线性表达式α=M*X+b,其中X为视频图片帧的图片像素的各种颜色分量,M为待进行机器训练的多元线性参数,b为待进行机器训练的常数,α为视频图片帧的图片像素的透明度。
[0124] 随后服务器将每个视频图片组的抠像训练图片的图片像素颜色的前景透明度值,放入到tensorflow等机器学习平台中进行线性回归训练,训练出多元线性参数M以及常数b的近似最优解,从而得到视频图片组的图片像素颜色的前景像素透明度估算模型。
[0125] 在步骤S305中,终端(视频抠像处理装置)使用步骤S304获得视频图片组的图片像素颜色的前景像素透明度估算模型,如多元非线性表达式α=M*X+b,结合图像合成公式Ii=αiFi+(1-αi)Bi,确定视频图片序列中的所有视频图片帧的前景像素、背景像素以及前景像素透明度,即前景像素的颜色Fi、背景像素的颜色Bi以及前景像素透明度αi。这样终端可依据上述前景像素、背景像素以及前景像素透明度对抠像视频进行视频抠像处理,即获取抠像视频的所有视频图片帧的所有前景像素。
[0126] 这样即完成了本实施例的视频抠像处理方法的视频抠像处理过程。
[0127] 在第一实施例的基础上,本实施例的视频抠像处理方法通过在服务器上将视频图像序列中的视频图片帧划分为多个视频图片组进行机器训练,以生成视频图片组的图片像素颜色的前景像素透明度估算模型,并使用该前景像素透明度估算模型进行抠像视频的视频抠像处理;通过增加前景像素透明度估算模型的数量,提高了前景像素透明度估算模型中的参数的适应度,进一步提高了视频抠像处理的准确度。
[0128] 请参照图4,图4为本发明的视频抠像处理方法的第四实施例的流程图。本实施例的视频抠像处理方法可使用上述的电子设备进行实施,优选使用移动电子终端进行实施,本实施例的视频抠像处理方法包括:
[0129] 步骤S401,服务器获取抠像视频的视频图像序列,并将视频图像序列中的视频图片帧按画面内容变化量分成多个视频图片组;
[0130] 步骤S402,服务器按设定时间间隔,从每个视频图片组中选择多张视频图片帧作为抠像训练图片;
[0131] 步骤S403,服务器基于视频抠像人工辅助算法,得到抠像训练图片的图片像素颜色的前景透明度值;
[0132] 步骤S404,服务器将每个抠像训练图片划分为多个抠像训练图片块;
[0133] 步骤S405,服务器基于图像像素颜色关系模型,使用每个视频图片组对应的抠像训练图片块的图片像素颜色的前景透明度值对图片像素颜色关系模型的参数进行机器训练,以得到视频图片组的抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型;
[0134] 步骤S406,终端使用抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型,确定视频图片组中的所有视频图片帧的抠像训练图片块对应区域的前景像素、背景像素以及前景像素透明度;
[0135] 步骤S407,终端根据视频图片组中的视频图片帧的所有抠像训练块对应区域的前景像素、背景像素以及前景像素透明度,对视频图片组中的视频图片帧的视频抠像处理;
[0136] 步骤S408,终端根据所有视频图片组的视频抠像处理结果,合成视频抠像处理后的抠像视频。
[0137] 下面详细说明本实施例的视频抠像处理方法的各步骤的具体流程。
[0138] 在步骤S401中,服务器获取抠像视频的视频图片序列。这里通过ffmpeg等视频转化工具,将需要进行视频抠像操作的抠像视频转化为多个视频画面帧,每个视频画面帧可对应一具有图片像素的视频图片帧。这样抠像视频对应的所有视频图片帧构成该抠像视频的视频图片序列。
[0139] 随后服务器将视频图像序列中的视频图片帧按画面内容变化量分成多个视频图片组。每个视频图片组包括多个连续视频画面帧对应的视频图片帧。该视频图片组中的视频画面具体可为一段时间内画面中的人或物没有太大变化的视频画面,这样可按每个视频图片组的视频画面来生成对应的前景像素透明度估算模型,由于每个视频图片组中的视频画面的相似度较高,因此后续生成的前景像素透明度估算模型的准确度也更高。这样通过设置较多的前景像素透明度估算模型,减少了前景像素透明度估算模型中参数所适应的范围,进一步提高了前景像素透明度估算模型的准确度。
[0140] 在步骤S402中,服务器按设定时间间隔,从步骤S401的每个视频图片组中选择多张视频图片帧作为抠像训练图片。
[0141] 在步骤S403中,服务器基于alpha-matting等视频抠像人工辅助算法,对步骤S402中的抠像训练图片进行抠像操作,以得到抠像训练图片的图片像素颜色的前景透明度值。如获取图像合成公式Ii=αiFi+(1-αi)Bi中的每个抠像训练图片的前景像素点的颜色Fi,每个抠像训练图片的前景像素点的透明度αi以及每个抠像训练图片的背景像素点的颜色Bi等。
[0142] 在步骤S404中,服务器将步骤S403获取的抠像训练图片划分为多个抠像训练图片块,如将抠像训练图片划分为4*4的16个抠像训练图片块,由于每个抠像训练图片块单独进行机器训练,具有独立的前景像素透明度估算模型,因此可以减少前景像素透明度估算模型中参数所适应的范围,进一步提升前景像素透明度估算模型的准确度。这里的抠像训练图片块可为面积和形状相同的图片块或面积不等的图片块。
[0143] 在步骤S405中,服务器获取图像像素颜色关系模型。随后服务器将每个视频图片组对应的抠像训练图片块的图片像素颜色的前景透明度值,放入到tensorflow等机器学习平台中进行线性回归训练,训练出多元线性参数M以及常数b的近似最优解,从而得到视频图片组的抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型。这里每个视频图片组的每个抠像训练图片块均对应一前景像素透明度估算模型。
[0144] 在步骤S406中,终端(视频抠像处理装置)使用步骤S405获取的抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型,确定视频图片组中的所有视频图片帧的抠像训练图片块对应区域的前景像素、背景像素以及前景像素透明度。
[0145] 在步骤S407中,终端可依据视频图片组中的视频图片帧的所有抠像训练块对应区域的前景像素、背景像素以及前景像素透明度,对视频图片组中的视频图片帧进行视频抠像处理,即获取视频图片组中所有视频图片帧的具有前景像素透明度的前景像素。
[0146] 在步骤S408中,终端将步骤S407获取的所有视频图片组的视频图片帧的视频抠像处理结果进行合成,形成视频抠像处理后的抠像视频。
[0147] 这样即完成了本实施例的视频抠像处理方法的视频抠像处理过程。
[0148] 在第一实施例的基础上,本实施例的视频抠像处理方法通过在服务器上将视频图像序列中的图片划分为多个视频图片组,同时将抠像训练图片划分为多个抠像训练图片块进行机器训练,以生成视频图片组的每个抠像训练图片块的图片像素颜色的前景像素透明度估算模型,并使用该前景像素透明度估算模型进行抠像视频的视频抠像处理;通过增加前景像素透明度估算模型的数量,提高了前景像素透明度估算模型中的参数的适应度,进一步提高了视频抠像处理的准确度。
[0149] 本发明还提供一种视频抠像处理装置,请参照图5,图5为本发明的视频抠像处理装置的第一实施例的结构示意图。本实施例的视频抠像处理装置可使用上述的视频抠像处理方法的第一实施例进行实施,本实施例的视频抠像处理装置可设置在移动电子终端中,该视频抠像处理装置50包括数据获取模块51、视频图片帧获取模块52以及视频抠像处理模块53。
[0150] 数据获取模块51用于获取抠像视频,并从服务器54上获取抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型;视频图片帧获取模块52用于对抠像视频进行视频解码,以得到抠像视频的视频图片帧;视频抠像处理模块53用于根据抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型,确定视频图片帧的前景像素、背景像素以及前景像素透明度,以便对抠像视频进行视频抠像处理。
[0151] 其中服务器54包括视频图片序列获取模块541、抠像训练图片选择模块542、前景透明度值计算模块543以及机器训练模块544。
[0152] 视频图片序列获取模块541用于获取抠像视频的视频图片序列;抠像训练图片选择模块542用于从视频图片序列中选择多张视频图片帧作为抠像训练图片;前景透明度值计算模块543用于基于视频抠像人工辅助算法,得到抠像训练图片的图片像素颜色的前景透明度值;机器训练模块544用于基于图像像素颜色关系模型,使用抠像训练图片的图片像素颜色的前景透明度值对所述图片像素颜色关系模型的参数进行机器训练,以得到抠像视频的视频图片帧的图片像素颜色的前景像素透明度估算模型。
[0153] 本实施例的视频抠像处理装置50使用时,服务器54的视频图片序列获取模块541首先获取抠像视频的视频图片序列。这里视频图片序列获取模块541可通过ffmpeg等视频转化工具,将需要进行视频抠像操作的抠像视频转化为多个视频画面帧,每个视频画面帧可对应一具有图片像素的视频图片帧。这样抠像视频对应的所有视频图片帧构成该抠像视频的视频图片序列。
[0154] 随后服务器54的抠像训练图片选择模块542从获取的视频图片序列中选择多张视频图片帧作为抠像训练图片。
[0155] 具体的,抠像训练图片选择模块542可按设定时间间隔,从视频图片序列中选择多张视频图片帧作为抠像训练图片;或按视频图片帧的画面内容变化量,从视频图片序列中选择多张视频图片帧作为抠像训练图片。如一段时间内视频画面中的人或物没有太大变化,则可在这段时间对应的视频图片帧中选择一张视频图片帧作为抠像训练图片。这样可在保证抠像训练图片的代表性的基础上,尽量减少抠像训练图片的数量。
[0156] 然后服务器54的前景透明度值计算模块543基于alpha-matting等视频抠像人工辅助算法,对抠像训练图片选择模块542获取的抠像训练图片进行抠像操作,以得到抠像训练图片的图片像素颜色的前景透明度值。如获取图像合成公式Ii=αiFi+(1-αi)Bi中的每个抠像训练图片的前景像素点的颜色Fi,每个抠像训练图片的前景像素点的透明度αi以及每个抠像训练图片的背景像素点的颜色Bi等。
[0157] 随后服务器54的机器训练模块544获取图像像素颜色关系模型,该图像像素颜色关系模型应包括由视频图片帧的图片像素的各种颜色分量构成前景像素透明度估算模型,如多元非线性表达式α=M*X+b,其中X为视频图片帧的图片像素的各种颜色分量,M为待进行机器训练的多元线性参数,b为待进行机器训练的常数,α为视频图片帧的图片像素的透明度。
[0158] 其中视频图片帧的图片像素的各种颜色分量X包括但不限于视频图片帧的图片像素的红色颜色分量R、视频图片帧的图片像素的绿色颜色分量G、视频图片帧的图片像素的蓝色颜色分量B、视频图片帧的图片像素的红绿颜色分量RG(即红色颜色分量R和绿色颜色分量G的乘积)、视频图片帧的图片像素的红蓝颜色分量RB(即红色颜色分量R和蓝色颜色分量B的乘积)、视频图片帧的图片像素的蓝绿颜色分量BG(即蓝色颜色分量B和绿色颜色分量G的乘积)、视频图片帧的图片像素的红色颜色分量R2(即红色颜色分量R和绿色颜色分量R的乘积)、视频图片帧的图片像素的绿色颜色分量G2(即绿色颜色分量G和绿色颜色分量G的乘积)、视频图片帧的图片像素的蓝色颜色分量B2(即蓝色颜色分量B和蓝色颜色分量B的乘积)以及视频图片帧的图片像素与背景像素的颜色差异量dCbCr(即视频图片帧的图片像素与背景像素的颜色在YCbCr空间的CbCr平面上的距离)。
[0159] 随后机器训练模块544将抠像训练图片的图片像素颜色的前景透明度值,放入到tensorflow等机器学习平台中进行线性回归训练,训练出多元线性参数M以及常数b的近似最优解,从而得到抠像视频的视频图片帧的图片像素颜色的前景像素透明度估算模型。
[0160] 然后视频抠像处理装置50的数据获取模块51需要对上述抠像视频进行抠像处理时,可获取抠像视频,同时从服务器54获取上述抠像视频的视频图片帧的图片像素颜色的前景像素透明度估算模型。
[0161] 由于这里的抠像视频中的前景像素点具有透明度,因此这里必须使用抠像视频来承载前景像素点的颜色以及前景像素点的透明度。
[0162] 随后视频抠像处理装置50的视频图片帧获取模块52对获取的抠像视频进行视频解码操作,以得到抠像视频的视频画面帧。随后视频图片帧获取模块52对每个视频画面帧进行纹理绑定,以形成具有图片像素的视频图片帧,这样即可得到抠像视频的所有视频图片帧。
[0163] 最后视频抠像处理装置50的视频抠像处理模块53根据获取的抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型,如多元非线性表达式α=M*X+b,结合图像合成公式Ii=αiFi+(1-αi)Bi,确定视频图片帧获取模块52获取的视频图片帧的前景像素、背景像素以及前景像素透明度,即前景像素的颜色Fi、背景像素的颜色Bi以及前景像素透明度αi。
[0164] 这样视频抠像处理模块53可依据上述前景像素、背景像素以及前景像素透明度对抠像视频进行视频抠像处理,即获取抠像视频的所有视频图片帧的具有前景像素透明度的前景像素。
[0165] 这样即完成了本实施例的视频抠像处理装置50的视频抠像处理过程。
[0166] 本实施例的视频抠像处理装置通过在服务器上对抠像训练图片进行机器训练,以生成抠像视频的视频图片帧的前景像素透明度估算模型,并使用该前景像素透明度估算模型进行抠像视频的视频抠像处理,保证了终端进行视频抠像处理的准确度,简化了终端进行视频抠像处理的流程,且提高了终端进行视频抠像处理的效率。
[0167] 请参照图6,图6为本发明的视频抠像处理装置的第二实施例的结构示意图。本实施例的视频抠像处理装置可使用上述的视频抠像处理方法的第二实施例进行实施,本实施例的视频抠像处理装置60包括数据获取模块61、视频图片帧获取模块62、视频抠像处理模块63以及视频合成模块64。
[0168] 数据获取模块61用于获取抠像视频,并从服务器65上获取抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型。视频图片帧获取模块62用于对抠像视频进行视频解码,以得到抠像视频的视频图片帧。视频抠像处理模块63用于根据抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型,确定视频图片帧的前景像素、背景像素以及前景像素透明度,以便对抠像视频进行视频抠像处理。视频合成模块64用于将视频抠像处理后的抠像视频与设定背景视频进行合成操作,以生成目标视频。
[0169] 其中服务器65包括图像像素颜色关系模型创建模块651、视频图片序列获取模块652、抠像训练图片选择模块653、前景透明度值计算模块654以及机器训练模块655。
[0170] 图像像素颜色关系模型创建模块651用于使用视频图片帧的图片像素的红色颜色分量、视频图片帧的图片像素的绿色颜色分量、视频图片帧的图片像素的蓝色颜色分量、视频图片帧的图片像素的红绿颜色分量、视频图片帧的图片像素的红蓝颜色分量、视频图片帧的图片像素的蓝绿颜色分量、以及视频图片帧的图片像素与背景像素的颜色差异量中的多个构成图像像素颜色关系模型;视频图片序列获取模块652用于获取抠像视频的视频图片序列;抠像训练图片选择模块653用于从视频图片序列中选择多张视频图片帧作为抠像训练图片;前景透明度值计算模块654用于基于视频抠像人工辅助算法,得到抠像训练图片的图片像素颜色的前景透明度值;机器训练模块655用于基于图像像素颜色关系模型,使用抠像训练图片的图片像素颜色的前景透明度值对图片像素颜色关系模型的参数进行机器训练,以得到抠像视频的视频图片帧的图片像素颜色的前景像素透明度估算模型。
[0171] 请参照图7,图7为本发明的视频抠像处理装置的第二实施例对应服务器的视频图片序列获取模块的结构示意图。该视频图片序列获取模块652包括视频解码单元71以及视频图片序列获取单元72。
[0172] 视频解码单元71用于对所述抠像视频进行视频解码,以得到抠像视频的视频画面帧;视频图片序列获取单元72用于对每个视频画面帧进行纹理绑定,以形成具有图片像素的视频图片帧,其中抠像视频的所有视频图片帧构成抠像视频的视频图片序列。
[0173] 请参照图8,图8为本发明的视频抠像处理装置的第二实施例对应服务器的机器训练模块的结构示意图。机器训练模块655包括分割单元81以及机器训练单元82。
[0174] 分割单元81用于将每个抠像训练图片划分为多个抠像训练图片块;机器训练单元82用于基于图像像素颜色关系模型,使用对应的抠像训练图片块的图片像素颜色的前景透明度值对图片像素颜色关系模型的参数进行机器训练,以得到抠像视频的抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型。
[0175] 请参照图9,图9为本发明的视频抠像处理装置的第二实施例的视频抠像处理模块的结构示意图。视频抠像处理模块63包括抠像训练图片块像素确定单元91以及视频抠像处理单元92。
[0176] 抠像训练图片块像素确定单元91用于使用抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型,确定视频图片序列中的所有视频图片帧的抠像训练图片块对应区域的前景像素、背景像素以及前景像素透明度;视频抠像处理单元92用于根据所有抠像训练块对应区域的前景像素、背景像素以及前景像素透明度,对抠像视频进行视频抠像处理。
[0177] 本实施例的视频抠像处理装置60使用时,服务器65的视频图片序列获取模块661使用视频图片帧的图片像素的红色颜色分量R、视频图片帧的图片像素的绿色颜色分量G、视频图片帧的图片像素的蓝色颜色分量B、视频图片帧的图片像素的红绿颜色分量RG、视频图片帧的图片像素的红蓝颜色分量RB、视频图片帧的图片像素的蓝绿颜色分量BG、以及视频图片帧的图片像素与背景像素的颜色差异量dCbCr中的多个构成图像像素颜色关系模型。如可设置X=[R、G、B]T等。该图像像素颜色关系模型对应的前景像素透明度估算模型可为多元线性表达式α=M*X+b,其中X为视频图片帧的图片像素的各种颜色分量,M为待进行机器训练的多元线性参数,b为待进行机器训练的常数,α为视频图片帧的图片像素的透明度。
[0178] 服务器66的视频图片序列获取模块662的视频解码单元71通过ffmpeg等视频转化工具,对需要进行视频抠像操作的抠像视频进行视频解码,得到抠像视频的多个视频画面帧。
[0179] 服务器66的视频图片序列获取模块662的视频图片序列获取单元72对视频解码单元71获得的每个视频画面帧进行纹理绑定,以形成具有图片像素的视频图片帧。这样抠像视频的所有视频图片帧构成该抠像视频的视频图片序列。
[0180] 服务器66的抠像训练图片选择模块663从视频图片序列中选择多张视频图片帧作为抠像训练图片。
[0181] 具体的,抠像训练图片选择模块663可按设定时间间隔,从视频图片序列中选择多张视频图片帧作为抠像训练图片;或按视频图片帧的画面内容变化量,从视频图片序列中选择多张视频图片帧作为抠像训练图片。如一段时间内视频画面中的人或物没有太大变化,则可在这段时间对应的视频图片帧中选择一张视频图片帧作为抠像训练图片。这样可在保证抠像训练图片的代表性的基础上,尽量减少抠像训练图片的数量。
[0182] 服务器66的前景透明度值计算模块664基于alpha-matting等视频抠像人工辅助算法,对抠像训练图片进行抠像操作,以得到抠像训练图片的图片像素颜色的前景透明度值。如获取图像合成公式Ii=αiFi+(1-αi)Bi中的每个抠像训练图片的前景像素点的颜色Fi,每个抠像训练图片的前景像素点的透明度αi以及每个抠像训练图片的背景像素点的颜色Bi等。
[0183] 前景透明度值计算模块664将获取的抠像训练图片划分为多个抠像训练图片块,如将抠像训练图片划分为4*4的16个抠像训练图片块,由于每个抠像训练图片块单独进行机器训练,具有独立的前景像素透明度估算模型,因此可以减少前景像素透明度估算模型中参数所适应的范围,进一步提升前景像素透明度估算模型的准确度。这里的抠像训练图片块可为面积和形状相同的图片块或面积不等的图片块。
[0184] 服务器66的机器训练模块665获取图像像素颜色关系模型创建模块661创建的图像像素颜色关系模型,该图像像素颜色关系模型应包括由视频图片帧的图片像素的各种颜色分量构成前景像素透明度估算模型,如多元线性表达式α=M*X+b,其中X为视频图片帧的图片像素的各种颜色分量,M为待进行机器训练的多元线性参数,b为待进行机器训练的常数,α为视频图片帧的图片像素的透明度。
[0185] 随后机器训练模块665将抠像训练图片对应的抠像训练图片块的图片像素颜色的前景透明度值,放入到tensorflow等机器学习平台中进行线性回归训练,训练出多元线性参数M以及常数b的近似最优解,从而得到抠像视频的抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型。
[0186] 然后视频抠像处理装置60需要对上述抠像视频进行抠像处理时,视频抠像处理装置60的数据获取模块61可获取抠像视频,同时从服务器66获取抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型。
[0187] 随后视频图片帧获取模块62根据抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型,确定视频图片序列中的所有视频图片帧的抠像训练图片块对应区域的前景像素、背景像素以及前景像素透明度。
[0188] 然后视频抠像处理模块63可依据所有抠像训练块对应区域的前景像素、背景像素以及前景像素透明度对抠像视频进行视频抠像处理,即获取抠像视频的所有视频图片帧的具有前景像素透明度的前景像素。
[0189] 最后视频合成模块64将视频抠像处理模块63获取的视频抠像处理后的抠像视频与预设的背景视频进行合成操作,从而生成具有特定背景,如虚拟现实背景的目标视频。
[0190] 这样即完成了本实施例的视频抠像处理装置60的视频抠像处理过程。
[0191] 在第一实施例的基础上,本实施例的视频抠像处理装置通过在服务器上将抠像训练图片划分为多个抠像训练图片块进行机器训练,以生成抠像视频的抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型,并使用该前景像素透明度估算模型进行抠像视频的视频抠像处理;通过增加前景像素透明度估算模型的数量,提高了前景像素透明度估算模型中的参数的适应度,进一步提高了视频抠像处理的准确度。
[0192] 请参照图10,图10为本发明的视频抠像处理装置的第三实施例的结构示意图。本实施例的视频抠像处理装置可使用上述的视频抠像处理方法的第三实施例进行实施,本实施例的视频抠像处理装置100包括数据获取模块101、视频图片帧获取模块102以及视频抠像处理模块103。
[0193] 数据获取模块101用于获取抠像视频,并从服务器104上获取抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型;视频图片帧获取模块102用于对抠像视频进行视频解码,以得到抠像视频的视频图片帧;视频抠像处理模块103用于根据抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型,确定视频图片帧的前景像素、背景像素以及前景像素透明度,以便对抠像视频进行视频抠像处理。
[0194] 其中服务器104包括视频图片组获取模块1041、抠像训练图片选择模块1042、前景透明度值计算模块1043以及机器训练模块1044。
[0195] 视频图片组获取模块1041用于获取抠像视频的视频图像序列,并将视频图像序列中的视频图片帧按画面内容变化量分成多个视频图片组;抠像训练图片选择模块1042用于从每个视频图片组中选择多张视频图片帧作为视频图片组对应的抠像训练图片;前景透明度值计算模块1043用于基于视频抠像人工辅助算法,得到抠像训练图片的图片像素颜色的前景透明度值;机器训练模块1044用于基于图像像素颜色关系模型,使用每个视频图片组的抠像训练图片的图片像素颜色的前景透明度值对图片像素颜色关系模型的参数进行机器训练,以得到视频图片组的图片像素颜色的前景像素透明度估算模型。
[0196] 本实施例的视频抠像处理装置100使用时,首先服务器104的视频图片组获取模块1041获取抠像视频的视频图片序列。这里通过ffmpeg等视频转化工具,将需要进行视频抠像操作的抠像视频转化为多个视频画面帧,每个视频画面帧可对应一具有图片像素的视频图片帧。这样抠像视频对应的所有视频图片帧构成该抠像视频的视频图片序列。
[0197] 随后视频图片组获取模块1041将视频图像序列中的视频图片帧按画面内容变化量分成多个视频图片组。每个视频图片组包括多个连续视频画面帧对应的视频图片帧。该视频图片组中的视频画面具体可为一段时间内画面中的人或物没有太大变化的视频画面,这样可按每个视频图片组的视频画面来生成对应的前景像素透明度估算模型,由于每个视频图片组中的视频画面的相似度较高,因此后续生成的前景像素透明度估算模型的准确度也更高。这样通过设置较多的前景像素透明度估算模型,减少了前景像素透明度估算模型中参数所适应的范围,进一步提高了前景像素透明度估算模型的准确度。
[0198] 然后服务器104的抠像训练图片选择模块1042从视频图片组获取模块1041中获取每个视频图片组中的视频图片序列中选择多张视频图片帧作为抠像训练图片。
[0199] 具体的,抠像训练图片选择模块1042可按设定时间间隔,从视频图片序列中选择多张视频图片帧作为抠像训练图片。
[0200] 随后服务器104的前景透明度值计算模块1043基于alpha-matting等视频抠像人工辅助算法,对抠像训练图片选择模块1042获取的抠像训练图片进行抠像操作,以得到抠像训练图片的图片像素颜色的前景透明度值。如获取图像合成公式Ii=αiFi+(1-αi)Bi中的每个抠像训练图片的前景像素点的颜色Fi,每个抠像训练图片的前景像素点的透明度αi以及每个抠像训练图片的背景像素点的颜色Bi等。
[0201] 然后服务器104的机器训练模块1044获取图像像素颜色关系模型,该图像像素颜色关系模型应包括由视频图片帧的图片像素的各种颜色分量构成前景像素透明度估算模型,如多元非线性表达式α=M*X+b,其中X为视频图片帧的图片像素的各种颜色分量,M为待进行机器训练的多元线性参数,b为待进行机器训练的常数,α为视频图片帧的图片像素的透明度。
[0202] 随后机器训练模块1044将每个视频图片组的抠像训练图片的图片像素颜色的前景透明度值,放入到tensorflow等机器学习平台中进行线性回归训练,训练出多元线性参数M以及常数b的近似最优解,从而得到视频图片组的图片像素颜色的前景像素透明度估算模型。
[0203] 然后需要对上述抠像视频进行抠像处理时,视频抠像处理装置100的数据获取模块101获取抠像视频,同时从服务器104获取的上述视频图片组的图片像素颜色的前景像素透明度估算模型。
[0204] 随后视频图片帧获取模块102对抠像视频进行视频解码,以得到抠像视频的视频图片帧。
[0205] 最后视频抠像处理模块103使用视频图片组的图片像素颜色的前景像素透明度估算模型,如多元非线性表达式α=M*X+b,结合图像合成公式Ii=αiFi+(1-αi)Bi,确定视频图片序列中的所有视频图片帧的前景像素、背景像素以及前景像素透明度,即前景像素的颜色Fi、背景像素的颜色Bi以及前景像素透明度αi。这样视频抠像处理模块103可依据上述前景像素、背景像素以及前景像素透明度对抠像视频进行视频抠像处理,即获取抠像视频的所有视频图片帧的具有前景像素透明度的前景像素。
[0206] 这样即完成了本实施例的视频抠像处理装置100的视频抠像处理过程。
[0207] 在第一实施例的基础上,本实施例的视频抠像处理装置通过在服务器上将视频图像序列中的视频图片帧划分为多个视频图片组进行机器训练,以生成视频图片组的图片像素颜色的前景像素透明度估算模型,并使用该前景像素透明度估算模型进行抠像视频的视频抠像处理;通过增加前景像素透明度估算模型的数量,提高了前景像素透明度估算模型中的参数的适应度,进一步提高了视频抠像处理的准确度。
[0208] 请参照图11,图11为本发明的视频抠像处理装置的第四实施例的结构示意图。本实施例的视频抠像处理装置可使用上述的视频抠像处理方法的第四实施例进行实施,本实施例的视频抠像处理装置110包括数据获取模块111、视频图片帧获取模块112以及视频抠像处理模块113。
[0209] 数据获取模块111用于获取抠像视频,并从服务器114上获取抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型;视频图片帧获取模块112用于对抠像视频进行视频解码,以得到抠像视频的视频图片帧;视频抠像处理模块113用于根据抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型,确定视频图片帧的前景像素、背景像素以及前景像素透明度,以便对抠像视频进行视频抠像处理。
[0210] 其中服务器114包括视频图片组获取模块1141、抠像训练图片选择模块1142、前景透明度值计算模块1143以及机器训练模块1144。
[0211] 视频图片组获取模块1141用于获取抠像视频的视频图像序列,并将视频图像序列中的视频图片帧按画面内容变化量分成多个视频图片组;抠像训练图片选择模块1142用于从每个视频图片组中选择多张视频图片帧作为视频图片组对应的抠像训练图片;前景透明度值计算模块1143用于基于视频抠像人工辅助算法,得到抠像训练图片的图片像素颜色的前景透明度值;机器训练模块1144用于基于图像像素颜色关系模型,使用每个视频图片组的抠像训练图片的图片像素颜色的前景透明度值对图片像素颜色关系模型的参数进行机器训练,以得到视频图片组的图片像素颜色的前景像素透明度估算模型。
[0212] 请参照图12,图12为本发明的视频抠像处理装置的第四实施例对应服务器的机器训练模块的结构示意图。该机器训练模块1144包括分割单元121以及机器训练单元122。
[0213] 分割单元121用于将每个抠像训练图片划分为多个抠像训练图片块;机器训练单元122用于基于图像像素颜色关系模型,使用每个视频图片组对应的抠像训练图片块的图片像素颜色的前景透明度值对图片像素颜色关系模型的参数进行机器训练,以得到视频图片组的抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型。
[0214] 请参照图13,图13为本发明的视频抠像处理装置的第四实施例的视频抠像处理模块的结构示意图。该视频抠像处理模块113包括抠像训练图片块像素确定单元131、视频抠像处理单元132以及抠像视频合成单元133。
[0215] 抠像训练图片块像素确定单元131用于使用抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型,确定视频图片组中的所有视频图片帧的抠像训练图片块对应区域的前景像素、背景像素以及前景像素透明度;视频抠像处理单元132用于根据视频图片组中的视频图片帧的所有抠像训练块对应区域的前景像素、背景像素以及前景像素透明度,对视频图片组中的视频图片帧的视频抠像处理;抠像视频合成单元133用于根据所有视频图片组的视频抠像处理结果,合成视频抠像处理后的抠像视频。
[0216] 本实施例的视频抠像处理装置110使用时,服务器114的视频图片组获取模块1141获取抠像视频的视频图片序列。这里通过ffmpeg等视频转化工具,将需要进行视频抠像操作的抠像视频转化为多个视频画面帧,每个视频画面帧可对应一具有图片像素的视频图片帧。这样抠像视频对应的所有视频图片帧构成该抠像视频的视频图片序列。
[0217] 随后视频图片组获取模块1141将视频图像序列中的视频图片帧按画面内容变化量分成多个视频图片组。每个视频图片组包括多个连续视频画面帧对应的视频图片帧。该视频图片组中的视频画面具体可为一段时间内画面中的人或物没有太大变化的视频画面,这样可按每个视频图片组的视频画面来生成对应的前景像素透明度估算模型,由于每个视频图片组中的视频画面的相似度较高,因此后续生成的前景像素透明度估算模型的准确度也更高。这样通过设置较多的前景像素透明度估算模型,减少了前景像素透明度估算模型中参数所适应的范围,进一步提高了前景像素透明度估算模型的准确度。
[0218] 然后服务器114的抠像训练图片选择模块1142按设定时间间隔,从每个视频图片组中选择多张视频图片帧作为抠像训练图片。
[0219] 随后服务器114的前景透明度值计算模块1143基于alpha-matting等视频抠像人工辅助算法,对抠像训练图片进行抠像操作,以得到抠像训练图片的图片像素颜色的前景透明度值。如获取图像合成公式Ii=αiFi+(1-αi)Bi中的每个抠像训练图片的前景像素点的颜色Fi,每个抠像训练图片的前景像素点的透明度αi以及每个抠像训练图片的背景像素点的颜色Bi等。
[0220] 然后机器训练模块1144的分割单元121将获取的抠像训练图片划分为多个抠像训练图片块,如将抠像训练图片划分为4*4的16个抠像训练图片块,由于每个抠像训练图片块单独进行机器训练,具有独立的前景像素透明度估算模型,因此可以减少前景像素透明度估算模型中参数所适应的范围,进一步提升前景像素透明度估算模型的准确度。这里的抠像训练图片块可为面积和形状相同的图片块或面积不等的图片块。
[0221] 随后机器训练模块1144的机器训练单元122获取图像像素颜色关系模型。机器训练单元122将每个视频图片组对应的抠像训练图片块的图片像素颜色的前景透明度值,放入到tensorflow等机器学习平台中进行线性回归训练,训练出多元线性参数M以及常数b的近似最优解,从而得到视频图片组的抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型。这里每个视频图片组的每个抠像训练图片块均对应一前景像素透明度估算模型。
[0222] 然后需要对上述抠像视频进行抠像处理时,视频抠像处理装置110的数据获取模块111获取抠像视频,同时从服务器114获取上述抠像训练图片块对应的视频图片帧的图片像素颜色的前景像素透明度估算模型。
[0223] 随后视频抠像处理装置110的视频图片获取模块112对抠像视频进行视频解码,以得到抠像视频的视频图片帧。
[0224] 然后视频抠像处理装置110的视频抠像处理模块113的抠像训练图片块像素确定单元131确定视频图片组中的所有视频图片帧的抠像训练图片块对应区域的前景像素、背景像素以及前景像素透明度。
[0225] 随后视频抠像处理装置110的视频抠像处理模块113的视频抠像处理单元132依据视频图片组中的视频图片帧的所有抠像训练块对应区域的前景像素、背景像素以及前景像素透明度,对视频图片组中的视频图片帧进行视频抠像处理,即获取视频图片组中所有视频图片帧的具有前景像素透明度的前景像素。
[0226] 最后视频抠像处理装置110的视频抠像处理模块113的抠像视频合成单元133将获取的所有视频图片组的视频图片帧的视频抠像处理结果进行合成,形成视频抠像处理后的抠像视频。
[0227] 这样即完成了本实施例的视频抠像处理装置110的视频抠像处理过程。
[0228] 在第一实施例的基础上,本实施例的视频抠像处理装置通过在服务器上将视频图像序列中的图片划分为多个视频图片组,同时将抠像训练图片划分为多个抠像训练图片块进行机器训练,以生成视频图片组的每个抠像训练图片块的图片像素颜色的前景像素透明度估算模型,并使用该前景像素透明度估算模型进行抠像视频的视频抠像处理;通过增加前景像素透明度估算模型的数量,提高了前景像素透明度估算模型中的参数的适应度,进一步提高了视频抠像处理的准确度。
[0229] 下面通过一具体实施例说明本发明的视频抠像处理方法及视频抠像处理装置的具体工作原理。请参照图14、图15A-图15C,图14为本发明的视频抠像处理方法及视频抠像处理装置的具体实施例的流程图,图15A-图15C为本发明的视频抠像处理方法及视频抠像处理装置的具体实施例的抠像视频以及合成视频的示意图。
[0230] 本发明的视频抠像处理方法及视频抠像处理装置设置在一安装有视频图像处理软件的移动终端中,该移动终端通过从服务器下载抠像视频的视频图片帧的图片像素颜色的至少一个前景像素透明度估算模型,来提高移动终端对抠像视频的视频抠像处理效率。本具体实施例的视频抠像处理方法及视频抠像处理装置的视频抠像流程包括:
[0231] 步骤S1401,服务器获取待进行视频处理的抠像视频(如绿幕视频等)。抠像视频可如图15A所示。
[0232] 步骤S1402,服务器使用ffmpeg视频转化工具提取该抠像视频的多个视频画面帧。
[0233] 步骤S1403,服务器使用按设定时间间隔,从视频图片序列中选择多张视频图片帧作为抠像训练图片。
[0234] 步骤S1404,服务器使用alpha-matting等视频抠像人工辅助算法,对所有抠像训练图片进行抠像操作,以得到抠像训练图片的图片像素颜色的前景透明度值,如获取图像合成公式Ii=αiFi+(1-αi)Bi中的每个抠像训练图片的前景像素点的颜色Fi,每个抠像训练图片的前景像素点的透明度αi以及每个抠像训练图片的背景像素点的颜色Bi等。
[0235] 步骤S1405,服务器获取图像像素颜色关系模型α=M*X+b,其中X为视频图片帧的图片像素的各种颜色分量,M为待进行机器训练的多元线性参数,b为待进行机器训练的常数,α为视频图片帧的图片像素的透明度。如X=[R、G、B]T,M=[M1、M2、M3],则α=M1*R+M2*G+M3*B+b。
[0236] 随后服务器基于图像像素颜色关系模型将步骤S1404中的抠像训练图片的图片像素颜色的前景透明度值放入到tensorflow等机器学习平台中进行线性回归训练,训练出多元线性参数M以及常数b的近似最优解,从而得到抠像视频的视频图片帧的图片像素颜色的前景像素透明度估算模型。
[0237] 当然这里可基于抠像训练图片的分组或抠像训练图片中每个视频图片帧的图片分块,获取多个具有不同多元线性参数M以及常数b,从而得到抠像视频的视频图片帧的图片像素颜色的多个前景像素透明度估算模型。但是每个前景像素透明度估算模型均为图像像素颜色关系模型α=M*X+b的结构。
[0238] 这样即完成了服务器对抠像视频的视频图片帧的图片像素颜色的前景像素透明度估算模型的创建过程。
[0239] 步骤S1406,当移动终端需要抠像视频中的前景像素与预设的背景视频进行合成时,移动终端获取抠像视频,并从服务器获取抠像视频的视频图片帧的图片像素颜色的前景像素透明度估算模型,随后移动终端使用抠像视频的视频图片帧的图片像素颜色的前景像素透明度估算模型,确定抠像视频中的所有视频图片帧的前景像素点的颜色、背景像素点的颜色以及前景像素透明度。即获取该抠像视频的图像合成公式Ii=αiFi+(1-αi)Bi。当然这里基于抠像视频的不同视频画面帧以及同一视频画面帧的不同位置,可能会具有不同的图像合成公式。
[0240] 步骤S1407,移动终端依据上述前景像素点的颜色、背景像素点的颜色以及前景像素透明度对抠像视频进行视频抠像处理,即获取抠像视频的所有视频图片帧的具有前景像素透明度的所有前景像素。
[0241] 步骤S1408,移动终端将视频抠像处理后的抠像视频与设定背景视频进行合成操作,以生成目标视频。其中设定背景视频可如图15B所示,目标视频可如图15C所示。
[0242] 其中图15A为冰块破裂的视频,图15B为游戏人物狄仁杰的宣传视频,将图15A中具有一定透明度的冰块破裂的视频和图15B中游戏人物狄仁杰的宣传视频进行合成,得到图15C的游戏人物狄仁杰的宣传视频,以展现狄仁杰破冰而出的动效,从而达到用户想要的视频合成效果。
[0243] 这样即完成了本发明的视频抠像处理方法及视频抠像处理装置的具体实施例的视频抠像处理以及视频合成处理的过程。
[0244] 本发明的视频抠像处理方法以及处理装置通过在服务器上对抠像训练图片进行机器训练,以生成抠像视频的视频图片帧的前景像素透明度估算模型,并使用该前景像素透明度估算模型进行抠像视频的视频抠像处理,保证了终端进行视频抠像处理的准确度,简化了终端进行视频抠像处理的流程,且提高了终端进行视频抠像处理的效率;解决了现有的视频抠像处理方法以及处理装置中抠像处理的准确度较差或抠像处理的效率较低的技术问题。
[0245] 如本申请所使用的术语“组件”、“模块”、“系统”、“接口”、“进程”等等一般地旨在指计算机相关实体:硬件、硬件和软件的组合、软件或执行中的软件。例如,组件可以是但不限于是运行在处理器上的进程、处理器、对象、可执行应用、执行的线程、程序和/或计算机。通过图示,运行在控制器上的应用和该控制器二者都可以是组件。一个或多个组件可以有在于执行的进程和/或线程内,并且组件可以位于一个计算机上和/或分布在两个或更多计算机之间。
[0246] 图16和随后的讨论提供了对实现本发明所述的视频抠像处理装置所在的电子设备的工作环境的简短、概括的描述。图16的工作环境仅仅是适当的工作环境的一个实例并且不旨在建议关于工作环境的用途或功能的范围的任何限制。实例电子设备1612包括但不限于可穿戴设备、头戴设备、医疗健康平台、个人计算机、服务器计算机、手持式或膝上型设备、移动设备(比如移动电话、个人数字助理(PDA)、媒体播放器等等)、多处理器系统、消费型电子设备、小型计算机、大型计算机、包括上述任意系统或设备的分布式计算环境,等等。
[0247] 尽管没有要求,但是在“计算机可读指令”被一个或多个电子设备执行的通用背景下描述实施例。计算机可读指令可以经由计算机可读介质来分布(下文讨论)。计算机可读指令可以实现为程序模块,比如执行特定任务或实现特定抽象数据类型的功能、对象、应用编程接口(API)、数据结构等等。典型地,该计算机可读指令的功能可以在各种环境中随意组合或分布。
[0248] 图16图示了包括本发明的视频抠像处理装置中的一个或多个实施例的电子设备1612的实例。在一种配置中,电子设备1612包括至少一个处理单元1616和存储器1618。根据电子设备的确切配置和类型,存储器1618可以是易失性的(比如RAM)、非易失性的(比如ROM、闪存等)或二者的某种组合。该配置在图16中由虚线1614图示。
[0249] 在其他实施例中,电子设备1612可以包括附加特征和/或功能。例如,设备1612还可以包括附加的存储装置(例如可移除和/或不可移除的),其包括但不限于磁存储装置、光存储装置等等。这种附加存储装置在图16中由存储装置1620图示。在一个实施例中,用于实现本文所提供的一个或多个实施例的计算机可读指令可以在存储装置1620中。存储装置1620还可以存储用于实现操作系统、应用程序等的其他计算机可读指令。计算机可读指令可以载入存储器1618中由例如处理单元1616执行。
[0250] 本文所使用的术语“计算机可读介质”包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令或其他数据之类的信息的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。存储器1618和存储装置1620是计算机存储介质的实例。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字通用盘(DVD)或其他光存储装置、盒式磁带、磁带、磁盘存储装置或其他磁存储设备、或可以用于存储期望信息并可以被电子设备1612访问的任何其他介质。任意这样的计算机存储介质可以是电子设备1612的一部分。
[0251] 电子设备1612还可以包括允许电子设备1612与其他设备通信的通信连接1626。通信连接1626可以包括但不限于调制解调器、网络接口卡(NIC)、集成网络接口、射频发射器/接收器、红外端口、USB连接或用于将电子设备1612连接到其他电子设备的其他接口。通信连接1626可以包括有线连接或无线连接。通信连接1626可以发射和/或接收通信媒体。
[0252] 术语“计算机可读介质”可以包括通信介质。通信介质典型地包含计算机可读指令或诸如载波或其他传输机构之类的“己调制数据信号”中的其他数据,并且包括任何信息递送介质。术语“己调制数据信号”可以包括这样的信号:该信号特性中的一个或多个按照将信息编码到信号中的方式来设置或改变。
[0253] 电子设备1612可以包括输入设备1624,比如键盘、鼠标、笔、语音输入设备、触摸输入设备、红外相机、视频输入设备和/或任何其他输入设备。设备1612中也可以包括输出设备1622,比如一个或多个显示器、扬声器、打印机和/或任意其他输出设备。输入设备1624和输出设备1622可以经由有线连接、无线连接或其任意组合连接到电子设备1612。在一个实施例中,来自另一个电子设备的输入设备或输出设备可以被用作电子设备1612的输入设备1624或输出设备1622。
[0254] 电子设备1612的组件可以通过各种互连(比如总线)连接。这样的互连可以包括外围组件互连(PCI)(比如快速PCI)、通用串行总线(USB)、火线(IEEE1394)、光学总线结构等等。在另一个实施例中,电子设备1612的组件可以通过网络互连。例如,存储器1618可以由位于不同物理位置中的、通过网络互连的多个物理存储器单元构成。
[0255] 本领域技术人员将认识到,用于存储计算机可读指令的存储设备可以跨越网络分布。例如,可经由网络1628访问的电子设备1630可以存储用于实现本发明所提供的一个或多个实施例的计算机可读指令。电子设备1612可以访问电子设备1630并且下载计算机可读指令的一部分或所有以供执行。可替代地,电子设备1612可以按需要下载多条计算机可读指令,或者一些指令可以在电子设备1612处执行并且一些指令可以在电子设备1630处执行。
[0256] 本文提供了实施例的各种操作。在一个实施例中,所述的一个或多个操作可以构成一个或多个计算机可读介质上存储的计算机可读指令,其在被电子设备执行时将使得计算设备执行所述操作。描述一些或所有操作的顺序不应当被解释为暗示这些操作必需是顺序相关的。本领域技术人员将理解具有本说明书的益处的可替代的排序。而且,应当理解,不是所有操作必需在本文所提供的每个实施例中存在。
[0257] 而且,尽管已经相对于一个或多个实现方式示出并描述了本公开,但是本领域技术人员基于对本说明书和附图的阅读和理解将会想到等价变型和修改。本公开包括所有这样的修改和变型,并且仅由所附权利要求的范围限制。特别地关于由上述组件(例如元件、资源等)执行的各种功能,用于描述这样的组件的术语旨在对应于执行所述组件的指定功能(例如其在功能上是等价的)的任意组件(除非另外指示),即使在结构上与执行本文所示的本公开的示范性实现方式中的功能的公开结构不等同。此外,尽管本公开的特定特征已经相对于若干实现方式中的仅一个被公开,但是这种特征可以与如可以对给定或特定应用而言是期望和有利的其他实现方式的一个或多个其他特征组合。而且,就术语“包括”、“具有”、“含有”或其变形被用在具体实施方式或权利要求中而言,这样的术语旨在以与术语“包含”相似的方式包括。
[0258] 本发明实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。上述的各装置或系统,可以执行相应方法实施例中的方法。
[0259] 综上所述,虽然本发明已以实施例揭露如上,实施例前的序号仅为描述方便而使用,对本发明各实施例的顺序不造成限制。并且,上述实施例并非用以限制本发明,本领域的普通技术人员,在不脱离本发明的精神和范围内,均可作各种更动与润饰,因此本发明的保护范围以权利要求界定的范围为准。