本发明涉及图像处理技术领域,特别是涉及一种绿幕图像与虚拟图像实时合成的方法和装置。
背景技术:
随着视频技术向数字化、多媒体方向发展,人们对视觉感官的需求不断提高,以虚拟视频为代表的视频对象提取技术逐渐展现出了广阔的应用前景。
最广为应用的便是抠像技术,通俗可以理解为将画面当中某一部分的颜色与背景进行分离,进而创建前景遮罩,将前景遮罩与虚拟图像通过合成后形成已抠像目标在虚拟环境中活动的图像。
而传统的抠像技术中,视频流中的每帧图像通常为yuv格式,在抠像的过程中往往需要将yuv格式转换为rgb格式,然后再进行抠像处理,现有的将yuv格式的数据流转换为rgb处理的数据量较大,处理时间慢,难以适应实时视频中的绿幕合成处理。
技术实现要素:
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种绿幕图像与虚拟图像实时合成的方法和装置。
为了解决上述问题,本发明实施例公开了一种绿幕图像与虚拟图像实时合成的方法,其特征在于,包括:
获取当前帧绿幕图像数据;
提取所述当前帧绿幕图像数据中每一像素点的亮度分量y、色度分量uv,通过预设转换算法确定与所述亮度分量y、色度分量uv对应的不透明度
根据所述不透明度
发送所述绿幕图像和所述虚拟图像进行合成后的图像数据
进一步地,所述提取所述当前帧绿幕图像数据中每一像素点的亮度分量y、色度分量uv,之前,包括:
构建图像训练数据集,对所述图像训练数据集中的所有图像进行图像处理,得到所有图像中每一像素点的像素值和对应的不透明度α,将每一像素点的像素值和对应的不透明度α作为图像训练数据集的训练数据;
通过预设的相关性函数对所述每一像素点的像素值和对应的不透明度α进行训练,确定加权平均后的关联参数λ1~λ9,得到所述像素值和对应的不透明度α之间的相关性函数。
进一步地,所述转换算法为:
进一步地,所述根据所述不透明度
将所述绿幕图像中的每一像素点与所述虚拟图像中的每一像素点一一对应,通过以下公式计算所述绿幕图像和所述虚拟图像相对应的像素点中的不透明度
上式中,yd、ud、vd为合成后的目标的yuv分量,yf、uf、vf为绿幕图像中的yuv分量,yb、ub、vb为虚拟图像中的yuv分量。
进一步地,还包括:
选取所述绿幕图像中绿色值g大于红色值r和蓝色值b之和的平均值的像素点作为溢色点;
将所述溢色点中红色值r和蓝色值b之和的平均值作为溢色点的绿色值gd,其中,
还提供一种绿幕图像与虚拟图像实时合成的装置,包括:
获取模块,用于获取当前帧绿幕图像数据;
提取模块,用于提取所述当前帧绿幕图像数据中每一像素点的亮度分量y、色度分量uv,通过预设转换算法确定与所述亮度分量y、色度分量uv对应的不透明度
合成模块,用于根据所述不透明度
发送模块,发送所述绿幕图像和所述虚拟图像进行合成后的图像数据。
进一步地,所述提取模块,还包括:
构建模块,构建图像训练数据集,对所述图像训练数据集中的所有图像进行图像处理,得到所有图像中每一像素点的像素值和对应的不透明度α,将每一像素点的像素值和对应的不透明度α作为图像训练数据集的训练数据;
计算模块,通过预设的相关性函数对所述每一像素点的像素值和对应的不透明度α进行训练,确定加权平均后的关联参数λ1~λ9,得到所述像素值和对应的不透明度α之间的相关性函数。
进一步地,所述合成模块,还包括:
将所述绿幕图像中的每一像素点与所述虚拟图像中的每一像素点一一对应,通过以下公式计算所述绿幕图像和所述虚拟图像相对应的像素点中的不透明度
上式中,yd、ud、vd为合成后的目标的yuv分量,yf、uf、vf为绿幕图像中的yuv分量,yb、ub、vb为虚拟图像中的yuv分量。
本发明实施例包括以下优点:
本申请实施例通过神经网络训练将计算步骤作预处理,使实时合成时仅需一步相对简单的转换步骤便可得到像素点的不透明度
附图说明
图1是本发明的一种绿幕图像与虚拟图像实时合成的方法实施例的步骤流程图;
图2是本发明的一种绿幕图像与虚拟图像实时合成的装置实施例的结构框图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
本申请实施例提供一种绿幕图像与虚拟图像实时合成的方法,用于将实时拍摄于绿幕环境中的视频流图像实时合成至虚拟图像图像中,可以理解为,将实时视频流数据中的绿幕背景替换为虚拟图像。
众所周知,在播放流畅的视频流转中,每一帧图像的读取速度不超过33ms,也就是说,绿幕图像与虚拟图像实时合成时间必须在这33ms内完成,要在有限的时间内完成合成过程还要使得合成效果精准,这边需要快速且精确的计算方法,否则,要么合成效果不佳,要么降低帧频以增加合成时间,造成视频播放卡滞、顿挫。
采用本申请实施例中所提供的方法,可大幅缩短合成时间,将实时图像从形成到与虚拟图像合成的时间控制在10ms之内,保证精度的同时还保证合成后的图像能在有效帧频内被读取并用于显示。
下面,将对上述事实合成的方法进行详细的阐述。
如图1,本申请实施例所提供的一种绿幕图像与虚拟图像实时合成的方法,包括如下步骤:
s100,获取当前帧绿幕图像数据;
s200,提取所述当前帧绿幕图像数据中每一像素点的亮度分量y、色度分量uv,通过预设转换算法确定与所述亮度分量y、色度分量uv对应的不透明度
s300,根据所述不透明度
s400,发送所述绿幕图像和所述虚拟图像进行合成后的图像数据。
两张图像进行合成,实则可以理解为两相对应的像素点合成,其中,越不透明的像素点在合成后色度的占比就越大。上述技术方案中,当绿幕图像的其中一像素点的不透明度
本申请实施例中,视屏流中的每一帧绿幕图像的像素格式为yuv,实时合成时,必须确定当前帧绿幕图像每一个像素点的不透明度
在神经网络训练的过程中,对g(green,绿色)值最大的像素点默认为其不透明度α为最小,即不透明度α=0,;这样,将rgb中的不透明度α和yuv中的不透明度
为实现实时合成的效果,避免在合成时大量计算影响实时视频流的帧频,基于有限个数的色彩组合,本申请实施例通过神经网络训练将计算步骤作预处理,使实时合成时仅需一步相对简单的转换步骤便可得到像素点的不透明度
下面,对预处理步骤进行详细说明。
所述提取所述当前帧绿幕图像数据中每一像素点的亮度分量y、色度分量uv,之前,包括:
构建图像训练数据集,对所述图像训练数据集中的所有图像进行图像处理,得到所有图像中每一像素点的像素值和对应的不透明度α,将每一像素点的像素值和对应的不透明度α作为图像训练数据集的训练数据;
通过预设的相关性函数对所述每一像素点的像素值和对应的不透明度α进行训练,确定加权平均后的关联参数λ1~λ9,得到所述像素值和对应的不透明度α之间的相关性函数。
所述相关性函数如下:
α=λ1r λ2g λ3b (λ4r λ5g λ6b)(λ7r λ8g λ9b)
上式中,r、g、b以及α都为图像训练数据集中的确定因子,通过不断地梯度下降算法找到r、g、b分别与α之间误差最低的参数λ~λ,从而得到r、g、b以及
所述转换算法如下:
通过上式转换矩阵,又可得到所述绿幕图像中每一像素点的不透明度
由上所述,得到所述绿幕图像中每一像素点的不透明度
将所述绿幕图像中的每一像素点与所述虚拟图像中的每一像素点一一对应,通过以下公式计算所述绿幕图像和所述虚拟图像相对应的像素点中的不透明度
上式中,yd、ud、vd为合成后的目标的yuv分量,yf、uf、vf为绿幕图像中的yuv分量,yb、ub、vb为虚拟图像中的yuv分量。
在另一实施例中,需要说明的是,由于待抠像图像中的前景图像可能折射或反射背景图像中的颜色,即溢色,需要对该溢色的像素点进行消除,以提高合成的精度。
可选的,
选取所述绿幕图像中绿色值g大于红色值r和蓝色值b之和的平均值的像素点作为溢色点;
将所述溢色点中红色值r和蓝色值b之和的平均值作为溢色点的绿色值gd,其中,
如图2所示,本申请实施例还提供一种绿幕图像与虚拟图像实时合成的装置,包括:
获取模块100,用于获取当前帧绿幕图像数据;
提取模块200,用于提取所述当前帧绿幕图像数据中每一像素点的亮度分量y、色度分量uv,通过预设转换算法确定与所述亮度分量y、色度分量uv对应的不透明度
合成模块300,用于根据所述不透明度
发送模块400,发送所述绿幕图像和所述虚拟图像进行合成后的图像数据。
进一步地,所述提取模块200,还包括:
构建模块,构建图像训练数据集,对所述图像训练数据集中的所有图像进行图像处理,得到所有图像中每一像素点的像素值和对应的不透明度α,将每一像素点的像素值和对应的不透明度α作为图像训练数据集的训练数据;
计算模块,通过预设的相关性函数对所述每一像素点的像素值和对应的不透明度α进行训练,确定加权平均后的关联参数λ1~λ9,得到所述像素值和对应的不透明度α之间的相关性函数。
进一步地,所述合成模块300,还包括:
将所述绿幕图像中的每一像素点与所述虚拟图像中的每一像素点一一对应,通过以下公式计算所述绿幕图像和所述虚拟图像相对应的像素点中的不透明度
上式中,yd、ud、vd为合成后的目标的yuv分量,yf、uf、vf为绿幕图像中的yuv分量,yb、ub、vb为虚拟图像中的yuv分量。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种绿幕图像与虚拟图像实时合成的方法和装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
1.一种绿幕图像与虚拟图像实时合成的方法,其特征在于,包括:
获取当前帧绿幕图像数据;
提取所述当前帧绿幕图像数据中每一像素点的亮度分量y、色度分量uv,通过预设转换算法确定与所述亮度分量y、色度分量uv对应的不透明度
根据所述不透明度
发送所述绿幕图像和所述虚拟图像进行合成后的图像数据。
2.根据权利要求1所述的方法,其特征在于,所述提取所述当前帧绿幕图像数据中每一像素点的亮度分量y、色度分量uv,之前,包括:
构建图像训练数据集,对所述图像训练数据集中的所有图像进行图像处理,得到所有图像中每一像素点的像素值和对应的不透明度α,将每一像素点的像素值和对应的不透明度α作为图像训练数据集的训练数据;
通过预设的相关性函数对所述每一像素点的像素值和对应的不透明度α进行训练,确定加权平均后的关联参数λ1~λ9,得到所述像素值和对应的不透明度α之间的相关性函数。
3.根据权利要求1所述的方法,其特征在于,所述转换算法为:
4.根据权利要求1所述的方法,其特征在于,所述根据所述不透明度
将所述绿幕图像中的每一像素点与所述虚拟图像中的每一像素点一一对应,通过以下公式计算所述绿幕图像和所述虚拟图像相对应的像素点中的不透明度
上式中,yd、ud、vd为合成后的目标的yuv分量,yf、uf、vf为绿幕图像中的yuv分量,yb、ub、vb为虚拟图像中的yuv分量。
5.根据权利要求1所述的方法,其特征在于,还包括:
选取所述绿幕图像中绿色值g大于红色值r和蓝色值b之和的平均值的像素点作为溢色点;
将所述溢色点中红色值r和蓝色值b之和的平均值作为溢色点的绿色值gd,其中,
6.一种绿幕图像与虚拟图像实时合成的装置,包括:
获取模块,用于获取当前帧绿幕图像数据;
提取模块,用于提取所述当前帧绿幕图像数据中每一像素点的亮度分量y、色度分量uv,通过预设转换算法确定与所述亮度分量y、色度分量uv对应的不透明度
合成模块,用于根据所述不透明度
发送模块,发送所述绿幕图像和所述虚拟图像进行合成后的图像数据。
7.根据权利要求6所述的装置,其特征在于,所述提取模块,还包括:
构建模块,构建图像训练数据集,对所述图像训练数据集中的所有图像进行图像处理,得到所有图像中每一像素点的像素值和对应的不透明度α,将每一像素点的像素值和对应的不透明度α作为图像训练数据集的训练数据;
计算模块,通过预设的相关性函数对所述每一像素点的像素值和对应的不透明度α进行训练,确定加权平均后的关联参数λ1~λ9,得到所述像素值和对应的不透明度α之间的相关性函数。
8.根据权利要求6所述的装置,其特征在于,所述合成模块,还包括:
将所述绿幕图像中的每一像素点与所述虚拟图像中的每一像素点一一对应,通过以下公式计算所述绿幕图像和所述虚拟图像相对应的像素点中的不透明度
上式中,yd、ud、vd为合成后的目标的yuv分量,yf、uf、vf为绿幕图像中的yuv分量,yb、ub、vb为虚拟图像中的yuv分量。
9.电子设备,其特征在于,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至5中任一项所述的绿幕图像与虚拟图像实时合成的方法。
10.计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如权利要求1至5中任一项所述的绿幕图像与虚拟图像实时合成的方法。
技术总结