技术领域
[0001] 本
发明涉及互联网直播领域,具体涉及一种直播换脸交互实现方法、存储介质、设备及系统。
背景技术
[0002] 随着移动互联网的飞速发展,直播行业也呈现出蓬勃发展之势,越来越多的年轻人喜欢通过观看直播的方式来打发业余时间。
[0003] 主播在直播的过程中,为了提升自身直播内容的趣味性,增加直播间的人气值,主播一般会与观众进行互动,但在现有的交互方式中,仅仅限于主播通过语言或肢体动作、观众发送弹幕的方式,主播和观众间进行交互,交互方式较为单一。
发明内容
[0004] 针对
现有技术中存在的
缺陷,本发明的目的在于提供一种直播换脸交互实现方法,能够有效增加主播和观众间的互动感。
[0005] 为达到以上目的,本发明采取的技术方案是,包括:
[0006] 基于弹幕投票方式,对多个待选脸部进行投票;
[0007] 选取投票数最多的待选脸部作为目标脸部;
[0008] 基于脸部关键点检测
算法,对目标脸部进行脸部关键点检测,并对检测出的关键点进行三
角剖分,确定目标脸部的三角形区域;
[0009] 对主播脸部进行脸部关键点检测,确定主播脸部的三角形区域;
[0010] 通过三角形的仿射变换,将目标脸部三角形区域的
像素覆盖到主播脸部三角形区域。
[0011] 在上述技术方案的
基础上,所述进行脸部关键点检测中,检测的关键点包括额头、眉毛、眼睛、鼻子、嘴巴和脸颊。
[0012] 在上述技术方案的基础上,所述基于弹幕投票方式,对多个待选脸部进行投票,具体步骤为:
[0013] S101:选取设定数目的脸部图像作为待选脸部,且每个待选脸部的样式均不相同;
[0014] S102:按照选取的先后顺序,依次对待选脸部进行数字编号;
[0015] S103:观众在待选脸部中进行选择,并以弹幕形式发送所选待选脸部对应的数字编号;
[0016] S104:弹幕
服务器对观众发送的数字编号进行统计,将发送次数最多的数字编号对应的待选脸部作为目标脸部。
[0017] 在上述技术方案的基础上,所述待选脸部包括动物脸部类别、明星人物脸部类别和卡通人物脸部类别,且每个类别中包括多个样式。
[0018] 在上述技术方案的基础上,当将目标脸部三角形区域的像素覆盖到主播脸部三角形区域之后,用户以弹幕形式发送分数,对直播画面中主播的图像进行打分,弹幕服务器对观众发送的分数进行统计,并取平均分数,若平均分数少于预设平均分,则按照由高至低顺序,选取发送次数排名第二的数字编号对应的待选脸部作为目标脸部。
[0019] 在上述技术方案的基础上,当将目标脸部三角形区域的像素覆盖到主播脸部三角形区域之后,还包括以下步骤:
[0020] S501:弹幕服务器对实时统计单位时间内的弹幕数量,若单位时间内的弹幕数量大于预设弹幕数,则转到S502,若单位时间内的弹幕数量不大于预设弹幕数,则转到S503;
[0021] S502:目标脸部三角形区域的像素继续覆盖于主播脸部三角形区域之上;
[0022] S503:撤销主播脸部三角形区域上目标脸部三角形区域像素的覆盖。
[0023] 在上述技术方案的基础上,当将目标脸部三角形区域的像素覆盖到主播脸部三角形区域之后,对主播脸部三角形区域的边界进行融合处理,所述融合处理的具体步骤为:更改主播脸部三角形区域边界附近新覆盖的目标脸部三角形区域像素的透明度,且离主播脸部三角形区域边界越近,像素的透明度越高。
[0024] 本发明还提供一种存储介质,该存储介质上存储有
计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0025] 基于弹幕投票方式,对多个待选脸部进行投票;
[0026] 选取投票数最多的待选脸部作为目标脸部;
[0027] 基于脸部关键点检测算法,对目标脸部进行脸部关键点检测,并对检测出的关键点进行三角剖分,确定目标脸部的三角形区域;
[0028] 对主播脸部进行脸部关键点检测,确定主播脸部的三角形区域;
[0029] 通过三角形的仿射变换,将目标脸部三角形区域的像素覆盖到主播脸部三角形区域。
[0030] 本发明还提供一种
电子设备,所述电子设备包括:
[0031] 投票单元,其用于基于弹幕投票方式,对多个待选脸部进行投票;
[0032] 选取单元,其用于选取投票数最多的待选脸部作为目标脸部;
[0033] 第一确定单元,其用于基于脸部关键点检测算法,对目标脸部进行脸部关键点检测,并对检测出的关键点进行三角剖分,确定目标脸部的三角形区域;
[0034] 第二确定单元,其用于对主播脸部进行脸部关键点检测,确定主播脸部的三角形区域;
[0035] 换脸执行单元,其用于通过三角形的仿射变换,将目标脸部三角形区域的像素覆盖到主播脸部三角形区域。
[0036] 本发明还提供一种直播换脸交互实现系统,包括:
[0037] 投票模
块,其用于基于弹幕投票方式,对多个待选脸部进行投票;
[0038] 选取模块,其用于选取投票数最多的待选脸部作为目标脸部;
[0039] 第一确定模块,其用于基于脸部关键点检测算法,对目标脸部进行脸部关键点检测,并对检测出的关键点进行三角剖分,确定目标脸部的三角形区域;
[0040] 第二确定模块,其用于对主播脸部进行脸部关键点检测,确定主播脸部的三角形区域;
[0041] 换脸执行模块,其用于通过三角形的仿射变换,将目标脸部三角形区域的像素覆盖到主播脸部三角形区域。
[0042] 与现有技术相比,本发明的优点在于:通过弹幕投票的方式,由观众来选择确定目标脸部,然后基于脸部关键点检测算法,对目标脸部进行脸部关键点检测,对主播脸部进行脸部关键点检测,确定目标脸部的三角形区域,确定主播脸部的三角形区域,最后通过三角形的仿射变换,将目标脸部三角形区域的像素覆盖到主播脸部三角形区域,通过换脸,实现直播趣味性的同时,带动观众进行弹幕投票,增加主播和观众之间的交互感。
附图说明
[0043] 图1为本发明
实施例中一种直播换脸交互实现方法的
流程图;
[0044] 图2为本发明实施例中一种电子设备的结构示意图。
具体实施方式
[0045] 以下结合附图及实施例对本发明作进一步详细说明。本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全
硬件实施例、完全
软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘
存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0046] 实施例1
[0047] 参见图1所示,本发明实施例提供一种直播换脸交互实现方法,用于在主播直播过程中,实现对主播换脸的自动处理,有效提升直播内容的趣味性,同时保证主播和观众间的交互性。本发明实施例的直播换脸交互实现方法,具体包括以下步骤:
[0048] S1:基于弹幕投票方式,观众对多个待选脸部进行投票。观众在直播的观看过程中,一般通过发送弹幕文字的方式,与主播或其他观众进行交流,发送的弹幕会经过弹幕服务器,然后在直播画面上进行显示,通过弹幕投票的方式,即能很好地表达观众的意愿,同时也能方便观众的操作,避免复杂的投票方式给观众带来繁琐的使用体验。基于弹幕投票方式,观众对多个待选脸部进行投票,具体步骤为:
[0049] S101:选取设定数目的脸部图像作为待选脸部,且每个待选脸部的样式均不相同。待选脸部包括动物脸部类别、明星人物脸部类别和卡通人物脸部类别,且每个类别中包括多个样式。如动物脸部类别可以包括猴子的脸部、大猩猩的脸部等,明星人物脸部类别为各个明星人物的脸部,卡通人物脸部类别为卡通动画人物的脸部、卡通动物的脸部等,为保证后续换脸后画面的融洽以及和谐,所选择的脸部图像中动物类的脸部应与人的脸部类似,如猴子、猩猩此类动物,避免换脸后呈现的直播画面过于丑陋或低俗,即避免低级趣味的产生,增加直播趣味性的同时,还能保证直播的
质量。为进一步保证待选脸部的质量,可以在后台服务器中预先对待选脸部的脸部图像进行过滤,将过滤后的脸部图像作为待选脸部的候选项。
[0050] S102:按照选取的先后顺序,依次对待选脸部进行数字编号。如依次选取猴子脸部、狗的脸部和某位明星的脸部作为待选脸部,则将猴子脸部标号为1,狗的脸部标号为2,明星的脸部标号为3.
[0051] S103:观众在待选脸部中进行选择,并以弹幕形式发送所选待选脸部对应的数字编号。观众在投票时,以弹幕形式发送数字“1”、“2”或“3”,其中,1代表的就是猴子脸部,2代表的是狗的脸部,3代表的是明星的脸部,将选择权交由观众,由观众来决定将主播的脸部换成什么样式的脸部。
[0052] S104:弹幕服务器对观众发送的数字编号进行统计,后续将发送次数最多的数字编号对应的待选脸部作为目标脸部。例如,统计的结果中,1的发送次数是3万,2的发送次数是1.5万,3的发送次数是2万,则将猴子脸部作为目标脸部,后续主播的脸部和猴子脸部进行更换。
[0053] S2:选取投票数最多的待选脸部作为目标脸部,通过对弹幕统计的方式,对用户发送的弹幕内容进行统计,以此来知道用户的选择,将选取投票数最多的待选脸部作为目标脸部。
[0054] S3:基于脸部关键点检测算法,对目标脸部进行脸部关键点检测,并对检测出的关键点进行三角剖分,确定目标脸部的三角形区域。在数学几何中,三角剖分的定义为:假设V是二维实数域上的有限点集,边e是由点集中的点作为端点构成的封闭线段,E为e的集合。那么该点集V的一个三角剖分T=(V,E)是一个平面图G,同时平面图G满足:1.除了端点,平面图中的边不包含点集中的任何点;2.没有相交边;3.平面图中所有的面都是三角面,且所有三角面的合集是散点集V的凸包。本发明实施例中,通过三角剖分的方式,确定目标脸部的三角形区域,脸部的三角形通常指的是两侧口角至鼻根连线所形成的三角形区域。进行脸部关键点检测中,检测的关键点包括额头、眉毛、眼睛、鼻子、嘴巴和脸颊。
[0055] S4:对主播脸部进行脸部关键点检测,确定主播脸部的三角形区域。同样的对主播脸部进行关键点检测,以确定主播脸部的三角形区域。
[0056] S5:通过三角形的仿射变换,将目标脸部三角形区域的像素覆盖到主播脸部三角形区域。具体的,通过仿射变换算法,实现目标脸部三角形区域的像素在主播脸部三角形区域的覆盖,对于仿射变换算法,具体的为:一个任意的仿射变换都能表示为乘以一个矩阵(线性变换)接着再加上一个向量(平移),如:
[0057]
[0058]
[0059] 其中,矩阵A为线性变换矩阵,矩阵B为非线性变换矩阵,即平移矩阵,M矩阵为仿射变换矩阵;
[0060] 使用矩阵A和矩阵B对二维向量 做变换,便可以表示为下列形式:
[0061]
[0062]
[0063] 上述即为仿射变换的过程,通过三角形的仿射变换将目标脸部三角形区域的像素覆盖到主播脸部三角形区域,此时便完成了将目标脸部变换到主播脸部的过程,实现对主播的换脸。
[0064] 进一步的,当将目标脸部三角形区域的像素覆盖到主播脸部三角形区域之后,对主播脸部三角形区域的边界进行融合处理,使目标脸部三角形区域边界附近像素和主播脸部三角形区域边界附近像素融合的更加自然,避免出现不协调的感觉,融合处理的具体步骤为:更改主播脸部三角形区域边界附近新覆盖的目标脸部三角形区域像素的透明度,且离主播脸部三角形区域边界越近,像素的透明度越高,这样在融合的过程中,越是靠近主播脸部三角形区域边界,原主播脸部上的像素所占比重就越大,有效保证换脸后画面的协调性。
[0065] 在一种实施方式中,当将目标脸部三角形区域的像素覆盖到主播脸部三角形区域之后,用户以弹幕形式发送分数,对直播画面中主播的图像进行打分,弹幕服务器对观众发送的分数进行统计,并取平均分数,若平均分数少于预设平均分,则按照由高至低顺序,选取发送次数排名第二的数字编号对应的待选脸部作为目标脸部。因为
互动性是评判直播间人气的重要指标之一,当直播间中主播和观众互动的越多,该直播的人气值越高,越能吸引更多的观众到该直播间进行观看,从而该直播间的人气值继续增高,故通过观众打分的方式,以此种方式带动观众参与到直播中来,增加观众和主播之间的互动性。通过采用评分的机制,若平均分数少于预设平均分,则也可以说明观众对主播的当前换脸不是很满意,选取发送次数排名第二的数字编号对应的待选脸部作为目标脸部,实现换脸操作,相当于在观众层面进行了更多考虑。
[0066] 进一步的,当将目标脸部三角形区域的像素覆盖到主播脸部三角形区域之后,还包括以下步骤:
[0067] S501:弹幕服务器对实时统计单位时间内的弹幕数量,若单位时间内的弹幕数量大于预设弹幕数,则转到S502,若单位时间内的弹幕数量不大于预设弹幕数,则转到S503;弹幕数量可以作为评判当前直播间人气是否活跃的一项指标,若单位时间内的弹幕数量大于预设弹幕数,则说明当前直播间较为活跃,主播通过换脸的方式很好地带动了观众的参与热情,即直播和观众之间进行了很好地互动,若单位时间内的弹幕数量不大于预设弹幕数,则说明通过换脸的方式,并没有带动观众的参与热情,也可能是观众对主播当前的换脸操作不是很满意,采用统计弹幕的方式,间接的也知道了观众的心理。
[0068] S502:目标脸部三角形区域的像素继续覆盖于主播脸部三角形区域之上;
[0069] S503:撤销主播脸部三角形区域上目标脸部三角形区域像素的覆盖,因为弹幕数量少,表明观众可能对主播当前的换脸操作不是很满意,故也没有必要继续维持当前的换脸操作。
[0070] 本发明实施例的直播换脸交互实现方法,通过弹幕投票的方式,由观众来选择确定目标脸部,然后基于脸部关键点检测算法,对目标脸部进行脸部关键点检测,对主播脸部进行脸部关键点检测,确定目标脸部的三角形区域,确定主播脸部的三角形区域,最后通过三角形的仿射变换,将目标脸部三角形区域的像素覆盖到主播脸部三角形区域,通过换脸,实现直播趣味性的同时,带动观众进行弹幕投票,增加主播和观众之间的交互感。
[0071] 实施例2
[0072] 本发明实施例提供一种存储介质,该存储介质上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
[0073] 基于弹幕投票方式,对多个待选脸部进行投票;
[0074] 选取投票数最多的待选脸部作为目标脸部;
[0075] 基于脸部关键点检测算法,对目标脸部进行脸部关键点检测,并对检测出的关键点进行三角剖分,确定目标脸部的三角形区域;
[0076] 对主播脸部进行脸部关键点检测,确定主播脸部的三角形区域;
[0077] 通过三角形的仿射变换,将目标脸部三角形区域的像素覆盖到主播脸部三角形区域。
[0078] 本发明实施例的存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读
信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于:电、磁、光、电磁、红外线、或
半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个
导线的电连接、便携式计算机磁盘、
硬盘、
随机存取存储器(RAM)、
只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0079] 计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、
光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0080] 计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
[0081] 可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的
软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0082] 实施例3
[0083] 参见图2所示,本发明实施例提供一种电子设备,电子设备包括投票单元、选取单元、第一确定单元、第二确定单元和换脸执行单元。
[0084] 投票单元用于基于弹幕投票方式,对多个待选脸部进行投票;选取单元用于选取投票数最多的待选脸部作为目标脸部;第一确定单元用于基于脸部关键点检测算法,对目标脸部进行脸部关键点检测,并对检测出的关键点进行三角剖分,确定目标脸部的三角形区域;第二确定单元用于对主播脸部进行脸部关键点检测,确定主播脸部的三角形区域;换脸执行单元用于通过三角形的仿射变换,将目标脸部三角形区域的像素覆盖到主播脸部三角形区域。
[0085] 进行脸部关键点检测中,检测的关键点包括额头、眉毛、眼睛、鼻子、嘴巴和脸颊。待选脸部包括动物脸部类别、明星人物脸部类别和卡通人物脸部类别,且每个类别中包括多个样式。当将目标脸部三角形区域的像素覆盖到主播脸部三角形区域之后,用户以弹幕形式发送分数,对直播画面中主播的图像进行打分,弹幕服务器对观众发送的分数进行统计,并取平均分数,若平均分数少于预设平均分,则按照由高至低顺序,选取发送次数排名第二的数字编号对应的待选脸部作为目标脸部。
[0086] 动物脸部类别可以包括猴子的脸部、大猩猩的脸部等,明星人物脸部类别为各个明星人物的脸部,卡通人物脸部类别为卡通动画人物的脸部、卡通动物的脸部等,为保证后续换脸后画面的融洽以及和谐,所选择的脸部图像中动物类的脸部应于人的脸部类似,如猴子、猩猩此类动物,避免换脸后呈现的直播画面过于丑陋或低俗,即避免低级趣味的产生,增加直播趣味性的同时,还能保证直播的质量。
[0087] 实施例4
[0088] 本发明实施例提供一种基于实施例1的直播换脸交互实现系统,包括投票模块、选取模块、第一确定模块、第二确定模块和换脸执行模块。
[0089] 投票模块用于基于弹幕投票方式,对多个待选脸部进行投票;选取模块用于选取投票数最多的待选脸部作为目标脸部;第一确定模块用于基于脸部关键点检测算法,对目标脸部进行脸部关键点检测,并对检测出的关键点进行三角剖分,确定目标脸部的三角形区域;第二确定模块用于对主播脸部进行脸部关键点检测,确定主播脸部的三角形区域;换脸执行模块用于通过三角形的仿射变换,将目标脸部三角形区域的像素覆盖到主播脸部三角形区域。
[0090] 进行脸部关键点检测中,检测的关键点包括额头、眉毛、眼睛、鼻子、嘴巴和脸颊。待选脸部包括动物脸部类别、明星人物脸部类别和卡通人物脸部类别,且每个类别中包括多个样式。当将目标脸部三角形区域的像素覆盖到主播脸部三角形区域之后,用户以弹幕形式发送分数,对直播画面中主播的图像进行打分,弹幕服务器对观众发送的分数进行统计,并取平均分数,若平均分数少于预设平均分,则按照由高至低顺序,选取发送次数排名第二的数字编号对应的待选脸部作为目标脸部。动物脸部类别可以包括猴子的脸部、大猩猩的脸部等,明星人物脸部类别为各个明星人物的脸部,卡通人物脸部类别为卡通动画人物的脸部、卡通动物的脸部等,为保证后续换脸后画面的融洽以及和谐,所选择的脸部图像中动物类的脸部应于人的脸部类似,如猴子、猩猩此类动物,避免换脸后呈现的直播画面过于丑陋或低俗,即避免低级趣味的产生,增加直播趣味性的同时,还能保证直播的质量。
[0091] 本发明实施例的直播换脸交互实现系统,通过弹幕投票的方式,由观众来选择确定目标脸部,然后基于脸部关键点检测算法,对目标脸部进行脸部关键点检测,对主播脸部进行脸部关键点检测,确定目标脸部的三角形区域,确定主播脸部的三角形区域,最后通过三角形的仿射变换,将目标脸部三角形区域的像素覆盖到主播脸部三角形区域,通过换脸,实现直播趣味性的同时,带动观众进行弹幕投票,增加主播和观众之间的交互感。
[0092] 本发明不局限于上述实施方式,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围之内。本
说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。