本发明属于人脸替换,具体而言,涉及一种直播实时人脸替换方法、介质及系统。
背景技术:
1、换脸技术是一种人工智能图像处理技术,能够将一个人的脸部信息提取出来,然后将其与另一个人的脸部信息进行匹配,从而生成一个新的具有两者特征结合的人脸图像。在近几年,随着深度学习技术的发展,基于神经网络的人脸合成算法已经逐渐成为主流。
2、公开号为cn110969673a的中国发明专利(申请号cn201811163244.6)公开了一种直播换脸交互实现方法、存储介质、设备及系统,该方法包括基于弹幕投票方式,对多个待选脸部进行投票;选取投票数最多的待选脸部作为目标脸部;基于脸部关键点检测算法,对目标脸部进行脸部关键点检测,并对检测出的关键点进行三角剖分,确定目标脸部的三角形区域;对主播脸部进行脸部关键点检测,确定主播脸部的三角形区域;通过三角形的仿射变换,将目标脸部三角形区域的像素覆盖到主播脸部三角形区域。
3、上述发明专利提供了直播过程中的换脸,但是,换脸操作和直播流是串行的,会影响整个直播视频流的实时度和流畅度。
技术实现思路
1、有鉴于此,本发明提供一种直播实时人脸替换方法、介质及系统,能够解决串行的直播换脸操作影响整个直播视频流的实时度和流畅度的技术问题。
2、本发明是这样实现的:
3、本发明的第一方面提供一种直播实时人脸替换方法,其中,包括以下步骤:
4、s10、在直播视频流中得到上一帧和当前帧,并根据上一帧和当前帧得到预测帧;
5、s20、对预测帧进行换脸,即将预测帧中的目标人脸替换为所需人脸,所需人脸来自于预设;
6、s30、在直播视频流中得到下一帧,若下一帧与预测帧的非人脸区域相似度大于相似度阈值,则使用所述预测帧替换所述下一帧;否则,将下一帧中的目标人脸替换为所需人脸;
7、s40、重复步骤s10至s30,直到直播结束。
8、在上述技术方案的基础上,本发明的一种直播实时人脸替换方法还可以做如下改进:
9、其中,所述在直播视频流中得到上一帧和当前帧,并根据上一帧和当前帧得到预测帧的步骤,具体包括:
10、从直播源获取当前帧和上一帧;
11、对当前帧和上一帧进行预处理,所述预处理包括去噪、变形纠正、色彩校正、亮度调整、对比度增强,其中,预处理后的上一帧记为第一帧,预处理后的当前帧记为第二帧;
12、对第一帧和第二帧进行人脸特征提取,得到第一帧的脸特征向量和第二帧的人脸特征向量,其中,将第一帧的人脸特征向量记为第一人脸特征向量,将第二帧的人脸特征向量记为第二人脸特征向量;
13、根据第一人脸特征向量和上一帧的人脸特征向量计算上一帧到当前帧的变化函数;
14、利用所述变化函数,根据第二帧得到预测帧。
15、进一步的,所述对第一帧和第二帧进行人脸特征提取的步骤,具体为:
16、在第一帧和第二帧中,采用dlib人脸检测算法获取人脸识别关键点,将人脸识别关键点的坐标集合为一个向量,作为人脸特征向量。
17、进一步的,所述根据第一人脸特征向量和上一帧的人脸特征向量计算上一帧到当前帧的变化函数的步骤中,所述变化函数的计算公式为:
18、fx=x2-x1,式中,fx为变化函数,x1表示第一人脸特征向量,x2表示第二人脸特征向量。
19、进一步的,所述利用所述变化函数,根据第二帧得到预测帧的步骤,具体为:
20、利用所述变化函数,根据第二人脸特征向量计算得到第三人脸特征向量;
21、使用第三人脸特征向量对第二帧进行调整,得到预测帧;
22、其中利用所述变化函数,根据第二人脸特征向量计算得到第三人脸特征向量的步骤采用公式表示如下:
23、x3=x2+fx,式中,x3表示第三特征向量。
24、进一步的,所述使用第三人脸特征向量对第二帧进行调整,得到预测帧的步骤,具体包括:
25、在第二帧中,采用dlib人脸检测算法获取人脸识别关键点,并在第二帧上进行标记,记为基本关键点集;
26、根据基本关键点集,将所述第二帧划分成多个三角面片;
27、按照基本关键点集的编号,将第三人脸特征向量中的每个点的坐标对所述基本关键点集中的每个关键点进行坐标调整,并带动所述多个三角面片的调整;
28、以调整之后的第二帧作为预测帧。
29、进一步的,所述若下一帧与预测帧的非人脸区域相似度大于相似度阈值,则使用预测帧代替下一帧的步骤中,对下一帧和预测帧相似度判断的具体步骤包括:
30、对下一帧进行预处理得到第四帧;
31、对第四帧中的人脸进行抠除,得到第四帧的背景图像,记为第四背景图像;
32、对预测帧中的人脸进行抠除,得到预测帧的背景图像,记为第三背景图像;
33、计算第三背景图像和第四背景图像的相似度,作为下一帧与预测帧的相似度。
34、进一步的,所述换脸的方法为采用deepfake、faceswap和face2face算法中的任一种。
35、本发明的第二方面提供一种计算机可读存储介质,其中,所述计算机可读存储介质中存储有程序指令,所述程序指令运行时,用于执行上述的一种直播实时人脸替换方法。
36、本发明的第三方面提供一种直播实时人脸替换系统,其中,包括上述的一种计算机可读存储介质。
37、与现有技术相比较,本发明提供的一种直播实时人脸替换方法、介质及系统的有益效果是:由于直播视频流中,对每一帧进行实时换脸,会影响整个直播视频流的实时度和流畅度,因此,通过设置根据当前帧预先得到预测帧,并对预测帧进行换脸,待直播视频流播放到下一帧时,对下一帧和预测帧进行的非人脸区域的相似度分析,符合相似度条件时,则直接使用已经完成换脸的预测帧替换下一帧;由于直播过程中,直播播主的动作并不大,因此对于形成的直播视频流中,相邻的两个帧之间差距不大,多数都符合上述相似度条件的要求,因此利用本方案中的方法,可以使得下一帧的换脸和播放可以并行操作,极大的提高了整个直播视频流中每一帧的换脸效率,提高了直播视频流的实时度和流畅度。
1.一种直播实时人脸替换方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的一种直播实时人脸替换方法,其特征在于,所述在直播视频流中得到上一帧和当前帧,并根据上一帧和当前帧得到预测帧的步骤,具体包括:
3.根据权利要求2所述的一种直播实时人脸替换方法,其特征在于,所述对第一帧和第二帧进行人脸特征提取的步骤,具体为:
4.根据权利要求3所述的一种直播实时人脸替换方法,其特征在于,所述根据第一人脸特征向量和上一帧的人脸特征向量计算上一帧到当前帧的变化函数的步骤中,所述变化函数的计算公式为:
5.根据权利要求4所述的一种直播实时人脸替换方法,其特征在于,所述利用所述变化函数,根据第二帧得到预测帧的步骤,具体为:
6.根据权利要求5所述的一种直播实时人脸替换方法,其特征在于,所述使用第三人脸特征向量对第二帧进行调整,得到预测帧的步骤,具体包括:
7.根据权利要求6所述的一种直播实时人脸替换方法,其特征在于,所述若下一帧与预测帧的非人脸区域相似度大于相似度阈值,则使用预测帧代替下一帧的步骤中,对下一帧和预测帧相似度判断的具体步骤包括:
8.根据权利要求1-7任一项所述的一种直播实时人脸替换方法,其特征在于,所述换脸的方法为采用deepfake、faceswap和face2face算法中的任一种。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序指令,所述程序指令运行时,用于执行如权利要求1-8任一项所述的一种直播实时人脸替换方法。
10.一种直播实时人脸替换系统,其特征在于,包括如权利要求9所述的一种计算机可读存储介质。