一种虚拟人脸合成方法、系统、装置和存储介质与流程

文档序号:20448226发布日期:2020-04-17 22:53阅读:176来源:国知局
一种虚拟人脸合成方法、系统、装置和存储介质与流程

本发明涉及视频数据处理技术,尤其涉及一种虚拟人脸合成方法、系统、装置和存储介质。



背景技术:

随着图像处理技术的发展,现在很多智能终端上都带有自动美图和ps的功能,基于人脸检测技术,用户可以修改图片上的人脸,比如修改眉毛和嘴唇,甚至可以更换人脸,给用户带来了极大的乐趣。但是,目前技术只能实现单张图像的人脸合成,无法实现对视频中人脸的修改,随着人脸跟踪技术越来越成熟,用户迫切希望一种能够在视频中修改脸部画面的技术。



技术实现要素:

为了解决上述技术问题,本发明的目的是提供一种能够在视频中进行虚拟人脸合成的方法、系统、装置和存储介质。

本发明所采用的第一技术方案是:

一种虚拟人脸合成方法,包括以下步骤:

获取视频数据后,根据视频数据获取视频序列及每一帧图片;

依次对图片中的人脸进行识别,并获得人脸的位置信息和轮廓信息;

结合位置信息、轮廓信息和预设的人脸3d模型进行人脸合成;

将经过人脸合成后的图片按照视频序列进行组合,以生成人脸合成的视频数据。

进一步,还包括建立人脸3d模型的步骤,所述建立人脸3d模型这一步骤,具体为:

获取不同角度的人脸图片,并根据人脸图片构建人脸3d模型。

进一步,所述轮廓信息包括轮廓面积信息和脸部角度信息,所述结合位置信息、轮廓信息和预设的人脸3d模型进行人脸合成这一步骤,具体包括以下步骤:

根据轮廓面积信息将图片分割成背景图片和脸部图片;

根据轮廓面积信息判断脸部图片的面积是否大于预设面积值,若是,执行下一步骤;反之,终止该图片的人脸合成步骤,并切换下一张图片进行人脸识别;

根据脸部角度信息从人脸3d模型中获取对应的脸部数据,并根据轮廓面积信息对获得的脸部数据进行处理;

根据处理后的脸部数据对脸部图片进行修改后,与背景图片进行合成。

进一步,还包括以下步骤:

获取背景图片的颜色信息,根据颜色信息修改脸部图片的颜色;

根据颜色信息对脸部图片与背景图片的交界处进行虚化处理。

进一步,所述脸部角度信息包括五官角度信息和基准点信息,所述根据脸部角度信息从人脸3d模型中获取对应的脸部数据这一步骤,具体包括以下步骤:

根据五官角度信息获取人脸3d模型的角度;

将基准点信息与该角度下人脸3d模型的基准点进行匹配,并获取对应的二维的脸部数据。

本发明所采用的第二技术方案是:

一种虚拟人脸合成系统,包括:

分解模块,用于获取视频数据后,根据视频数据获取视频序列及每一帧图片;

识别模块,用于依次对图片中的人脸进行识别,并获得人脸的位置信息和轮廓信息;

合成模块,用于结合位置信息、轮廓信息和预设的人脸3d模型进行人脸合成;

组合模块,用于将经过人脸合成后的图片按照视频序列进行组合,以生成人脸合成的视频数据。

进一步,还包括人脸模型建立模块,所述人脸模型建立模块用于获取不同角度的人脸图片,并根据人脸图片构建人脸3d模型。

进一步,所述轮廓信息包括轮廓面积信息和脸部角度信息,所述合成模块包括:

分割单元,用于根据轮廓面积信息将图片分割成背景图片和脸部图片;

面积判断单元,用于根据轮廓面积信息判断脸部图片的面积是否大于预设面积值,若是,执行下一步骤;反之,终止该图片的人脸合成步骤,并切换下一张图片进行人脸识别;

数据获取单元,用于根据脸部角度信息从人脸3d模型中获取对应的脸部数据,并根据轮廓面积信息对获得的脸部数据进行处理;

合成单元,用于根据处理后的脸部数据对脸部图片进行修改后,与背景图片进行合成。

本发明所采用的第三技术方案是:

一种计算机代码自动生成装置,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行上所述方法。

本发明所采用的第四技术方案是:

一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行如上所述方法。

本发明的有益效果是:本发明通过对视频中的人脸进行识别,并结合预设的人脸3d模型对识别到的人脸进行更换,从而将视频中的人脸更换为自己的脸,满足了用户对视频进行换脸的高要求,间接地给用户带来更多的乐趣。

附图说明

图1是本发明一种虚拟人脸合成方法的步骤流程图;

图2是本发明一种虚拟人脸合成系统的结构框图。

具体实施方式

如图1所示,本实施例提供了一种虚拟人脸合成方法,包括以下步骤:

s1、建立人脸3d模型;

s2、获取视频数据后,根据视频数据获取视频序列及每一帧图片;

s3、依次对图片中的人脸进行识别,并获得人脸的位置信息和轮廓信息;

s4、结合位置信息、轮廓信息和预设的人脸3d模型进行人脸合成;

s5、将经过人脸合成后的图片按照视频序列进行组合,以生成人脸合成的视频数据。

本实施例方法中,当用户希望将某段视频中的人物的人脸虚拟更换成自己的脸型时,预先建立用户的人脸3d模型,通过建立人脸3d模型可以获得用户各个角度的脸部信息;其中,可以通过对人脸进行360°扫描建立人脸3d模型,也可以通过图像合成获得人脸3d模型。获取用户需要换脸的视频数据,并根据视频数据获取每一帧图片,采用预设的人脸识别算法对图像中的人脸进行识别,并将识别到的人脸的位置信息和轮廓信息,所述位置信息为人脸在图片中的位置坐标信息,所述轮廓信息为人脸在图片中的轮廓坐标信息,所述人脸识别算法可采用现有的人脸识别算法。结合位置信息、轮廓信息和预设的人脸3d模型进行人脸更换修改,从而使图片中的人脸更换为用户的脸。最后将所有经过人脸合成后的图片按照视频序列进行组合,以生成人脸合成的视频数据,用户可以将该合成的视频发朋友圈,或者转发微博,进行娱乐,极大地提高了用户的使用乐趣,满足了用户对视频换脸的高要求。

其中,步骤s1具体为:获取不同角度的人脸图片,并根据人脸图片构建人脸3d模型。

在本实施例中,在构建人脸3d模型时,只需获取用户多个不同角度的图片,即可建立人脸3d模型,比如用户通过相关地指示,通过智能终端的摄像头采集头部的不同角度的图片,例如分别获取正面图片和左右两侧面图片,将获得的图片构建成人脸3d模型。如此可方便用户构建自己的人脸3d模型,无需通过固定的扫描设备来实现。从而使本实施例能够得到广泛的应用。

其中,所述轮廓信息包括轮廓面积信息和脸部角度信息,所述步骤s4具体包括步骤s41~s44:

s41、根据轮廓面积信息将图片分割成背景图片和脸部图片;

s42、根据轮廓面积信息判断脸部图片的面积是否大于预设面积值,若是,执行下一步骤;反之,终止该图片的人脸合成步骤,并切换下一张图片进行人脸识别;

s43、根据脸部角度信息从人脸3d模型中获取对应的脸部数据,并根据轮廓面积信息对获得的脸部数据进行处理;

s44、根据处理后的脸部数据对脸部图片进行修改后,与背景图片进行合成。

所述轮廓面积信息为脸部的轮廓坐标及脸部的面积,当脸部面积比较小时,此时难以进行脸型更换。所述脸部角度信息为脸型角度的信息,比如脸部的正视图为0°,脸部的左视图为-90°,脸部的右视图为90°,同时还包括脸部上下的角度。根据轮廓面积信息将图片分割成背景图片和脸部图片,所述背景图片为除脸部外的其他图片,所述脸部图片为包含脸部信息的图片。判断脸部图片的面积是否大于预设面积值,如果大于,则进行换脸操作;如果小于,则该图片不进行换脸,直接跳过下一张图片,比如该图片的人脸被物体挡住,或者此时人物后转,显示后脑盖,而没有显示人脸。根据脸部角度信息从人脸3d模型中获取对应角度的脸部数据,并根据轮廓面积信息对获得的脸部数据进行处理,比如进行图片缩放或者图片修剪等操作,处理完后,将脸部数据渲染到脸部图片上,最后将渲染后的脸部图片和背景图片进行合成,生成了脸部合成的图片。

在步骤s44后,还包括步骤s45~s46:

s45、获取背景图片的颜色信息,根据颜色信息修改脸部图片的颜色;

s46、根据颜色信息对脸部图片与背景图片的交界处进行虚化处理。

获取背景图片的颜色信息,所述颜色信息包括图片的亮度信息和人脸皮肤的颜色信息等,根据颜色信息修改脸部图片的颜色,使脸部图片与背景图片的颜色一致,同时对脸部图片和背景图片的拼接处进行虚化处理,以弱化图片合成的视觉效果。

其中,所述脸部角度信息包括五官角度信息和基准点信息,所述步骤s43中根据脸部角度信息从人脸3d模型中获取对应的脸部数据这一步骤,具体包括步骤a1~a2:

a1、根据五官角度信息获取人脸3d模型的角度;

a2、将基准点信息与该角度下人脸3d模型的基准点进行匹配,并获取对应的二维的脸部数据。

在本实施例中,预先对人脸3d模型进行基准点标定,在脸部的关键部位设置多些基准点,比如在眼睛和鼻梁处设置多些基准点。所述五官角度信息为通过五官进行区分的大概的角度信息,比如当在左视图和右视图时,都只能显示一只眼睛。通过五官角度信息快速获取人脸3d模型的角度。所述基准点信息为人脸图片上的基准点的信息,将基准点信息与人脸3d模型上的基准点进行匹配,获取相应的3d脸部数据,再将3d脸部数据转换为2d的脸部数据,如此便获得对应的脸部数据。

进一步作为优选的实施方式,获取用户多种表情图像,并建立多种表情对应的人脸3d模型,在识别人脸时,获取人脸的表情信息,并根据表情信息从不同的人脸3d模型上获取人脸数据,以使视频中的人脸具有更加丰富的表情。更好地满足用户的要求,提高用户的乐趣。

如图2所示,本实施例还提供了一种虚拟人脸合成系统,一种虚拟人脸合成系统,包括:

分解模块,用于获取视频数据后,根据视频数据获取视频序列及每一帧图片;

识别模块,用于依次对图片中的人脸进行识别,并获得人脸的位置信息和轮廓信息;

合成模块,用于结合位置信息、轮廓信息和预设的人脸3d模型进行人脸合成;

组合模块,用于将经过人脸合成后的图片按照视频序列进行组合,以生成人脸合成的视频数据。

进一步作为优选的实施方式,还包括人脸模型建立模块,所述人脸模型建立模块用于获取不同角度的人脸图片,并根据人脸图片构建人脸3d模型。

进一步作为优选的实施方式,所述轮廓信息包括轮廓面积信息和脸部角度信息,所述合成模块包括:

分割单元,用于根据轮廓面积信息将图片分割成背景图片和脸部图片;

面积判断单元,用于根据轮廓面积信息判断脸部图片的面积是否大于预设面积值,若是,执行下一步骤;反之,终止该图片的人脸合成步骤,并切换下一张图片进行人脸识别;

数据获取单元,用于根据脸部角度信息从人脸3d模型中获取对应的脸部数据,并根据轮廓面积信息对获得的脸部数据进行处理;

合成单元,用于根据处理后的脸部数据对脸部图片进行修改后,与背景图片进行合成。

本实施例的一种虚拟人脸合成系统,可执行本发明方法实施例一所提供的一种虚拟人脸合成方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。

本实施例还提供了一种计算机代码自动生成装置,所述存储器用于存储至少一个程序,所述处理器用于加载所述至少一个程序以执行上所述方法。

本实施例的一种计算机代码自动生成装置,可执行本发明方法实施例一所提供的一种虚拟人脸合成方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。

本实施例还提供了一种存储介质,其中存储有处理器可执行的指令,所述处理器可执行的指令在由处理器执行时用于执行如上所述方法。

本实施例的一种存储介质,可执行本发明方法实施例一所提供的一种虚拟人脸合成方法,可执行方法实施例的任意组合实施步骤,具备该方法相应的功能和有益效果。

以上是对本发明的较佳实施进行了具体说明,但本发明创造并不限于所述实施例,熟悉本领域的技术人员在不违背本发明精神的前提下还可做出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1