一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

图像处理方法、服务器以及存储介质与流程

2022-02-21 03:58:00 来源:中国专利 TAG:


1.本技术涉及计算机技术领域,尤其涉及一种图像处理方法、服务器以及存 储介质。


背景技术:

2.随着社会的不断发展,电子设备在人们的学习、娱乐、工作等方面扮演着 越来越重要的角色。在这些电子设备中通常配置有摄像头,可用于拍照、录像 或者直播等。其中,在制作表情或特效等应用中,用户通过上传一张符合规范 的原始面部图像,该应用根据原始面部图像及驱动视频通过一阶运动模型对该 原始面部图像进行驱动,以使得在该原始面部图像上表达该驱动视频中的面部 状态,即让静态的原始面部图像运动起来等功能。但是,这对用户上传的原始 面部图像要求严苛,当原始面部图像中存在面部占比较小、面部存在倾斜、面 部位置与驱动视频中的面部位置差异较大等情况时,驱动效果差,甚至会出现 人像扭曲等情况。基于此,如何提高对原始面部图像的驱动效果成为当前亟待 解决的问题之一。


技术实现要素:

3.本技术实施例提供一种图像处理方法、装置、服务器以及存储介质,可提 高对目标图像的驱动效果,适用性高。
4.第一方面,本技术实施例提供了一种图像处理方法,该方法包括:
5.获取目标图像以及确定驱动视频;
6.当检测到所述目标图像中的面部图像为倾斜状态时,通过旋转所述目标图 像以校正所述面部图像的角度为预设角度,并截取旋转后目标图像中的面部图 像,得到第一面部图像;
7.将所述第一面部图像和所述驱动视频输入一阶运动模型,以使所述一阶运 动模型驱动所述第一面部图像模拟所述驱动视频运动,得到第一面部图像驱动 视频;
8.将所述第一面部图像驱动视频贴回所述目标图像中所述面部图像所在位置, 以得到目标驱动视频。
9.结合第一方面,在一种可能的实施方式中,所述确定驱动视频,包括:
10.获取初始驱动视频,所述初始驱动视频包括多帧参考图像,所述多帧参考 图像中每帧参考图像包括参考面部图像;
11.当检测到所述多帧参考图像中第一帧参考图像包括的参考面部图像为倾斜 状态时,旋转所述多帧参考图像中每一帧参考图像,以使所述参考面部图像的 角度为所述预设角度;
12.基于旋转后的多帧参考图像,得到所述驱动视频。
13.结合第一方面,在一种可能的实施方式中,所述基于旋转后的多帧参考图 像,得到所述驱动视频,包括:
14.截取旋转后的多帧参考图像中每帧参考图像包括的参考面部图像,得到多 个参考面部图像;
15.根据预设帧率和所述多个参考面部图像生成驱动视频。
16.结合第一方面,在一种可能的实施方式中,所述方法还包括:
17.对所述目标图像进行面部关键点检测处理,得到所述目标图像包括的多个 面部关键点对应的位置信息;
18.根据所述多个面部关键点的位置信息确定所述目标图像中的面部图像是否 为倾斜状态。
19.结合第一方面,在一种可能的实施方式中,所述多个面部关键点包括左眼 和右眼,每个面部关键点的位置信息包括横坐标值和纵坐标值;所述根据所述 多个面部关键点的位置信息确定所述目标图像中的面部图像是否为倾斜状态, 包括:
20.根据所述左眼的横坐标值与所述右眼的横坐标值的差值绝对值,以及所述 左眼的纵坐标值与右眼的纵坐标值的差值绝对值,确定所述左眼与所述右眼之 间的连线与水平方向的夹角;
21.若所述夹角大于或者等于第一预设阈值,则确定所述目标图像中的面部图 像为倾斜状态。
22.结合第一方面,在一种可能的实施方式中,所述第一面部图像驱动视频包 括多帧面部驱动图像;
23.所述将所述第一面部图像驱动视频贴回所述目标图像中所述面部图像所在 位置,以得到目标驱动视频,包括:
24.获取所述第一面部图像驱动视频中目标面部驱动图像对应的目标掩码图像, 所述目标面部驱动图像为所述多帧面部驱动图像中的任一帧面部驱动图像;
25.根据所述目标掩码图像对所述目标面部驱动图像和所述旋转后目标图像进 行融合,得到所述目标面部驱动图像对应的融合图像;
26.根据所述多帧面部驱动图像对应的多帧融合图像生成目标驱动视频。
27.结合第一方面,在一种可能的实施方式中,所述获取所述第一面部图像驱 动视频中目标面部驱动图像对应的目标掩码图像,包括:
28.对所述第一面部图像驱动视频中的目标面部驱动图像进行语义分割处理, 得到初始掩码图像;
29.对所述初始目标掩码图像进行羽化处理,并将羽化处理后的初始目标掩码 图像确定为所述目标面部驱动图像对应的目标掩码图像。
30.结合第一方面,在一种可能的实施方式中,所述根据所述目标掩码图像对 所述目标面部驱动图像和所述旋转后目标图像进行融合,得到所述目标面部驱 动图像对应的融合图像,包括:
31.获取所述目标掩码图像对应的高斯金字塔gm;
32.获取所述目标面部驱动图像对应的第一拉普拉斯金字塔la,以及所述旋转 后目标图像对应的第二拉普拉斯金字塔lb;
33.根据所述高斯金字塔gm、第一拉普拉斯金字塔la以及所述第二拉普拉斯 金字塔lb生成第三拉普拉斯金字塔ls,以通过所述第三拉普拉斯金字塔ls确 定所述融合图像。
34.第二方面,本技术实施例提供了一种图像处理装置,该装置包括:
35.收发单元,用于获取目标图像以及确定驱动视频;
36.处理单元,用于当检测到所述目标图像中的面部图像为倾斜状态时,通过 旋转所述目标图像以校正所述面部图像的角度为预设角度,并截取旋转后目标 图像中的面部图像,得到第一面部图像;
37.所述处理单元,用于将所述第一面部图像和所述驱动视频输入一阶运动模 型,以使所述一阶运动模型驱动所述第一面部图像模拟所述驱动视频运动,得 到第一面部图像驱动视频;
38.所述处理单元,用于将所述第一面部图像驱动视频贴回所述目标图像中所 述面部图像所在位置,以得到目标驱动视频。
39.结合第二方面,在一种可能的实施方式中,所述处理单元用于:
40.获取初始驱动视频,所述初始驱动视频包括多帧参考图像,所述多帧参考 图像中每帧参考图像包括参考面部图像;
41.当检测到所述多帧参考图像中第一帧参考图像包括的参考面部图像为倾斜 状态时,旋转所述多帧参考图像中每一帧参考图像,以使所述参考面部图像的 角度为所述预设角度;
42.基于旋转后的多帧参考图像,得到所述驱动视频。
43.结合第二方面,在一种可能的实施方式中,所述处理单元用于:
44.截取旋转后的多帧参考图像中每帧参考图像包括的参考面部图像,得到多 个参考面部图像;
45.根据预设帧率和所述多个参考面部图像生成驱动视频。
46.结合第二方面,在一种可能的实施方式中,所述处理单元用于:
47.对所述目标图像进行面部关键点检测处理,得到所述目标图像包括的多个 面部关键点对应的位置信息;
48.根据所述多个面部关键点的位置信息确定所述目标图像中的面部图像是否 为倾斜状态。
49.结合第二方面,在一种可能的实施方式中,所述多个面部关键点包括左眼 和右眼,每个面部关键点的位置信息包括横坐标值和纵坐标值;所述处理单元 用于:
50.根据所述左眼的横坐标值与所述右眼的横坐标值的差值绝对值,以及所述 左眼的纵坐标值与右眼的纵坐标值的差值绝对值,确定所述左眼与所述右眼之 间的连线与水平方向的夹角;
51.若所述夹角大于或者等于第一预设阈值,则确定所述目标图像中的面部图 像为倾斜状态。
52.结合第二方面,在一种可能的实施方式中,所述第一面部图像驱动视频包 括多帧面部驱动图像;
53.所述处理单元用于:
54.获取所述第一面部图像驱动视频中目标面部驱动图像对应的目标掩码图像, 所述目标面部驱动图像为所述多帧面部驱动图像中的任一帧面部驱动图像;
55.根据所述目标掩码图像对所述目标面部驱动图像和所述旋转后目标图像进 行融
合,得到所述目标面部驱动图像对应的融合图像;
56.根据所述多帧面部驱动图像对应的多帧融合图像生成目标驱动视频。
57.结合第二方面,在一种可能的实施方式中,所述处理单元用于:
58.对所述第一面部图像驱动视频中的目标面部驱动图像进行语义分割处理, 得到初始掩码图像;
59.对所述初始目标掩码图像进行羽化处理,并将羽化处理后的初始目标掩码 图像确定为所述目标面部驱动图像对应的目标掩码图像。
60.结合第二方面,在一种可能的实施方式中,所述处理单元用于:
61.获取所述目标掩码图像对应的高斯金字塔gm;
62.获取所述目标面部驱动图像对应的第一拉普拉斯金字塔la,以及所述旋转 后目标图像对应的第二拉普拉斯金字塔lb;
63.根据所述高斯金字塔gm、第一拉普拉斯金字塔la以及所述第二拉普拉斯 金字塔lb生成第三拉普拉斯金字塔ls,以通过所述第三拉普拉斯金字塔ls确 定所述融合图像。
64.第三方面,本技术实施例提供了一种终端设备,该终端设备包括处理器、 存储器和收发器,该处理器、存储器和收发器相互连接。该存储器用于存储支 持该终端设备执行上述第一方面和/或第一方面任一种可能的实现方式提供的方 法的计算机程序,该计算机程序包括程序指令,该处理器和收发器被配置用于 调用上述程序指令,执行上述第一方面和/或第一方面任一种可能的实施方式所 提供的方法。
65.第四方面,本技术实施例提供了一种服务器,该服务器包括处理器、存储 器和收发器,该处理器、存储器和收发器相互连接。该存储器用于存储支持该 服务器执行上述第一方面和/或第一方面任一种可能的实现方式提供的方法的计 算机程序,该计算机程序包括程序指令,该处理器和收发器被配置用于调用上 述程序指令,执行上述第一方面和/或第一方面任一种可能的实施方式所提供的 方法。
66.第五方面,本技术实施例提供了一种计算机可读存储介质,该计算机可读 存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令当被处 理器执行时使该处理器执行上述第一方面和/或第一方面任一种可能的实施方式 所提供的方法。
67.在本技术实施例中,获取目标图像以及确定用户选定的驱动视频;当检测 到目标图像中的面部图像为倾斜状态时,通过旋转目标图像以校正面部图像的 角度为预设角度,并截取旋转后目标图像中的面部图像,得到第一面部图像。 将第一面部图像和驱动视频输入一阶运动模型,通过一阶运动模型驱动第一面 部图像模拟驱动视频运动,以得到第一面部图像驱动视频。将第一面部图像驱 动视频贴回目标图像中面部图像所在位置,以得到目标驱动视频。在本技术实 施例,为了保证人脸图像的质量,需要先对目标图像中的人脸图像进行旋转矫 正对齐,并裁剪出目标图像中的人脸图像,以保证无论输入图像中的人脸是倾 斜的,还是在人脸图像占比很小的情况下,都可以有效地对输入图像进行驱动, 提高对目标图像的驱动效果,适用性高。
附图说明
68.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所 需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术 的一些实施例,
对于本领域普通技术人员来讲,在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
69.图1是本技术实施例提供的图像处理的一场景示意图;
70.图2是本技术实施例提供的图像处理方法的一流程示意图;
71.图3是本技术实施例提供的基于人脸检测的自动人脸对齐的流程示意图;
72.图4是本技术实施例提供的一阶运动模型的结构示意图;
73.图5是本技术实施例提供的人像语义分割的场景示意图;
74.图6是本技术实施例提供的图像处理过程的场景示意图;
75.图7是本技术实施例提供的图像处理装置的结构示意图;
76.图8是本技术实施例提供的网络设备的结构示意图。
具体实施方式
77.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清 楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是 全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有作出创造 性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
78.本技术实施例涉及人工智能(artificial intelligence,ai)及机器学习(machinelearning,ml)。其中,ai是利用数字计算机或者数字计算机控制的机器模拟、 延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、 方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术, 其主要通过了解智能的实质,生产出一种新的能以人类智能相似的方式做出反 应的智能机器,使得智能机器具有感知、推理与决策等多种功能。
79.ai技术是一门综合学科,其主要包括计算机视觉技术(computer vision, cv)、语音处理技术、自然语言处理技术以及机器学习(machine learning,ml) /深度学习等几大方向。其中,计算机视觉技术是一门研究如何使机器“看”的 科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪 和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或 传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技 术,试图建立能够从图像或者多维数据中获取信息的人工智能系统;其通常包 括图像处理、视频处理、视频语义理解、视频内容/行为识别等技术。
80.机器学习是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、 算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为, 以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。 机器学习是ai的核心,是使计算机具有智能的根本途径,其应用遍及人工智能 的各个领域。机器学习/深度学习通常包括人工神经网络、置信网络、强化学习、 迁移学习、归纳学习、式教学习等技术。
81.基于ai技术中的计算机视觉技术和机器学习技术,本技术实施例提供了一 种图像处理方法,该方法包括:获取目标图像以及确定驱动视频;当检测到目 标图像中的面部图像为倾斜状态时,通过旋转目标图像以校正面部图像的角度 为预设角度,并截取旋转后目标图像中的面部图像,得到第一面部图像。将第 一面部图像和驱动视频输入一阶运动模型,通过一阶运动模型驱动第一面部图 像模拟驱动视频运动,以得到第一面部图像驱动视
频。将第一面部图像驱动视 频贴回目标图像中面部图像所在位置,以得到目标驱动视频。
82.请参见图1,图1是本技术实施例提供的图像处理的一场景示意图。如图1 所示,图像处理场景中包括了终端设备101和服务器102。其中,终端设备101 为用户所使用的设备,终端设备101可以包括但不限于:智能手机(如android 手机、ios手机等)、平板电脑、便携式个人计算机、移动互联网设备(mobileinternet devices,mid)等设备;终端设备配置有显示装置,显示装置也可为显 示器、显示屏、触摸屏等等,触摸屏也可为触控屏、触控面板等等,本技术实 施例不做限定。
83.服务器102是指能够对终端设备101提供的目标图像和选定的驱动视频进 行处理的后台设备,在根据目标图像和驱动视频得到目标驱动视频后,服务器 102可以向终端设备101返回该目标驱动视频。服务器102可以是独立的物理服 务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是 提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间 件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计 算服务的云服务器。此外,还可以将多个服务器组成为一个区块链网络,每个 服务器为区块链网络中的一个节点。终端设备101和服务器102之间可以通过 有线通信或者无线通信方式进行直接或间接地连接,本技术在此不做限制。
84.需要说明的是,图1所示的模型处理场景中终端设备和服务器的数量仅为 举例,例如,终端设备和服务器的数量可以为多个,本技术并不对终端设备和 服务器的数量进行限定。其中,本技术实施例提供的方法可适用于服务器,也 可以适用于终端设备等,在此不做限制,为方便描述,本技术实施例可将终端 设备和服务器统称为网络设备,以下皆以网络设备为例进行说明。
85.下面将结合图2至图8分别对本技术实施例提供的方法及相关装置分别进 行详细说明。
86.请参见图2,图2为本技术实施例提供的图像处理方法的一流程示意图。本 申请实施例提供的方法可以包括如下步骤s201至s204:
87.s201、获取目标图像以及确定驱动视频。
88.在一些可行的实施方式中,网络设备获取目标图像以及确定驱动视频。具 体地,网络设备可获取用户上传或在预设图像库中选定的目标图像,以及确定 用户上传或在预设视频库中选定的驱动视频。其中,该驱动视频包括多帧参考 图像,多帧参考图像中每帧参考图像包括参考图像对象。例如,当用户想要驱 动一张图片中静止的人物图像运动时,用户即可上传一张包括人物图像(例如, 人物图像可以是用户本身,或者也可以是该用户的朋友、或者也可以是该用户 喜欢的明星等)的图片,以及选定想要模仿动作的视频。通常而言,上述包括 人物图像的图片即目标图像,选定的视频即驱动视频,因此,网络设备可对用 户上传的目标图像和驱动视频进行处理。
89.可理解的,驱动视频可以是预先存储在网络设备中的视频,因此用户可从 驱动视频列表或者从驱动视频库中选择想要模仿的视频作为驱动视频。通常而 言,驱动视频列表中包括的各个视频都是经过严格筛选的,已经预先做好了评 估的视频,即符合作为驱动视频条件的视频。可选的,若预先建立的驱动视频 列表中没有用户想要模仿的驱动视频,也可以由用户自己上传一段想要模仿的 视频作为驱动视频。通常而言,若由用户自己上传视频作为驱动视频,则需要 先对用户上传的视频进行检测、评估和筛选,并在确定该上传的
视频符合作为 驱动视频的条件时,再基于用户上传的视频对目标图像进行处理,以驱动目标 图像中人物运动。为方便描述,可将用户上传的视频描述为初始驱动视频。
90.其中,对用户上传的视频(即初始驱动视频)进行检测、评估和筛选可理 解为:在获取到用户上传的初始驱动视频后,可对该初始驱动视频进行拆帧处 理,得到组成初始驱动视频的多帧图像,然后将多帧图像中包括参考面部图像 的图像作为参考图像,以得到多帧参考图像。也就是说,可舍弃多帧图像中不 包括参考面部图像(例如人脸)的图像,只保留包括了参考面部图像的图像作 为参考图像。然后,对多帧参考图像中的第一帧图像进行检测,并在检测到多 帧参考图像中第一帧参考图像包括的参考面部图像为倾斜状态时,旋转多帧参 考图像中每一帧参考图像,以使参考面部图像的角度为预设角度。进而,可基 于旋转后的多帧参考图像,得到驱动视频。可选的,也可以是对多帧参考图像 中的每一帧图像进行检测,当检测到多帧参考图像中任一帧参考图像包括的参 考面部图像为倾斜状态时,旋转该一帧参考图像,保证多帧参考图像中每一帧 图像中的参考面部图像的角度为预设角度。为方便理解,本技术皆以对多帧参 考图像中的第一帧图像进行检测,并在检测到多帧参考图像中第一帧参考图像 包括的参考面部图像为倾斜状态时,旋转多帧参考图像中每一帧参考图像,以 使参考面部图像的角度为预设角度为例进行说明。
91.其中,对多帧参考图像中的第一帧图像进行检测,并在检测到多帧参考图 像中第一帧参考图像包括的参考面部图像为倾斜状态时,旋转多帧参考图像中 每一帧参考图像,以使参考面部图像的角度为预设角度,可理解为:对多帧参 考图像中的第一帧图像进行面部关键点检测处理,以得到该第一帧图像中包括 的多个人脸关键点的位置信息。选取多个人脸关键点中代表左眼和右眼的关键 点,计算这两点之间连线相较于水平的倾斜角度,进而根据该倾斜角度旋转多 帧参考图像中每一帧参考图像,以使多帧参考图像中参考面部图像的角度为预 设角度,或理解为使得多帧参考图像中参考面部图像的两眼之间的连线相较于 水平的倾斜角度变为预设角度,其中,预设角度可以设置为0度等,在此不做 限制。可理解的,每个面部关键点的位置信息包括横坐标值和纵坐标值,因此, 左眼和右眼之间连线相较于水平的倾斜角度可满足:其中,θ为 倾斜角度,d2表示左眼的横坐标值与右眼的横坐标值的差值绝对值,d1表示左 眼的纵坐标值与右眼的纵坐标值的差值绝对值。
92.其中,上述基于旋转后的多帧参考图像,得到驱动视频可理解为:截取旋 转后的多帧参考图像中每帧参考图像包括的参考面部图像,得到多个参考面部 图像,根据预设帧率和多个参考面部图像生成驱动视频,为了与初始驱动视频 等其他驱动视频区分,由参考面部图像生成的驱动视频可以称为参考驱动视频, 后续步骤203输入一阶运动模型的驱动视频即参考驱动视频。具体地,按照预 设帧率播放该多个参考面部图像,即可生成驱动视频。其中,预设帧率可以为 初始驱动视频的帧率,在此不做限制。
93.s202、当检测到目标图像中的面部图像为倾斜状态时,通过旋转目标图像 以校正面部图像的角度为预设角度,并截取旋转后目标图像中的面部图像,得 到第一面部图像。
94.在一些可行的实施方式中,当网络设备检测到目标图像中的面部图像为倾 斜状态时,旋转目标图像以校正面部图像的角度为预设角度,并截取旋转后目 标图像中的面部图像,得到第一面部图像。也就是说,为了保证人脸图像的质 量,需要先对目标图像中的人
脸图像进行旋转校正对齐,并裁剪出目标图像中 的人脸图像,以保证无论输入图像中的人脸是倾斜的,还是在人脸图像占比很 小的情况下,都可以有效地对输入图像进行驱动。
95.其中,检测目标图像中的面部图像是否为倾斜状态的过程可理解为:对目 标图像进行面部关键点检测处理,得到目标图像包括的多个面部关键点对应的 位置信息。根据多个面部关键点的位置信息确定目标图像中的面部图像是否为 倾斜状态。其中,多个面部关键点包括左眼和右眼,每个面部关键点的位置信 息包括横坐标值和纵坐标值。根据多个面部关键点的位置信息确定目标图像中 的面部图像是否为倾斜状态可理解为:根据左眼的横坐标值与右眼的横坐标值 的差值绝对值,以及左眼的纵坐标值与右眼的纵坐标值的差值绝对值,确定左 眼与右眼之间的连线与水平方向的夹角。若夹角大于或者等于第一预设阈值, 则确定目标图像中的面部图像为倾斜状态。进而,旋转目标图像以校正面部图 像的角度为预设角度。其中,目标图像中面部图像的左眼与右眼之间的连线与 水平方向的夹角满足:其中,θ为倾斜角度(即夹角),d2表示左 眼的横坐标值与右眼的横坐标值的差值绝对值,d1表示左眼的纵坐标值与右眼 的纵坐标值的差值绝对值。
96.示例性地,请参见图3,图3是本技术实施例提供的基于人脸检测的自动人 脸对齐的流程示意图。如图3所示的(a)图为对目标图像进行面部关键点检测 处理后得到多个人脸关键点,其中,选取其中代表左眼和右眼的关键点,计算 这两点之间连线相较于水平的倾斜角度,因此,可根据该倾斜角度旋转图片(即 目标图像),使得两眼之间的连线相较于水平的倾斜角度变为0度(如图3所示 的(b)图)。进一步地,根据基于面部关键点检测得到的人脸范围参数,编写 人脸截取函数,并根据人脸范围参数调整截取人脸的范围,以截取出旋转后目 标图像中包括的人脸(如图3所示的(c)图)。
97.s203、将第一面部图像和驱动视频输入一阶运动模型,以使一阶运动模型 驱动第一面部图像模拟驱动视频运动,得到第一面部图像驱动视频。
98.在一些可行的实施方式中,当网络设备获取到旋转后目标图像中的面部图 像(即第一面部图像)后,可将第一面部图像和驱动视频一并输入一阶运动模 型,通过一阶运动模型驱动第一面部图像模拟驱动视频运动,以得到第一面部 图像驱动视频。其中,一阶运动模型的思路是用一组自学习的关键点和局部仿 射变换来建立复杂的运动模型,目的是为了解决大目标姿势动态变化的情况下, 传统模型生成质量较差的问题,另外通过引入遮挡感知生成器,可以指示原图 像中不可见的物体部分,从而利用上下文推断这部分的内容。
99.也就是说,在本技术实施例中,一阶运动模型的输入可以是用户提供一张 源图像(即本技术中目标图像中的第一面部图像)及一段驱动视频,进而,该 一阶运动模型可以根据所提供的驱动视频中的动作驱动源图像做出相同的动作。
100.请参见图4,图4是本技术实施例提供的一阶运动模型的结构示意图。如图 4所示,一阶运动模型由运动估计模块和图像生成模块两个主要组成部分构成, 在运动估计模块中,该模型通过自监督学习将目标物体的外表和运动信息进行 分离,并进行特征表示,而在图像生成模块中,模型会对目标运动期间出现的 遮挡进行建模,然后从给定的名人图像中提取外观信息,结合之前获得的特征 表示,进行视频合成。也就是说,一阶运动模型是使用大量同一视频中提取的 相同对象的视频序列,通过组合单帧和学习到的视频中运动的
潜在表示来重建 训练视频的。其中,一阶运动模型中的运动估计模块可以预测驱动视频中的某 一帧(driving video)到源视频(source image),这个图像之间的密集运动场 ts

d,分以下几步得到:第一步,通过自我监督的方式学习训练的关键点检测 器网络(即图4中的keypointdetecotor)分别预测了关键点的位置,再以通过关 键点获得的稀疏轨迹集来对这两种变换进行近似。这种稀疏的运动表示非常适 合动画,因为在测试时,可以使用驱动视频(driving video)中的关键点轨迹来 移动源图像(source image)的关键点。再使用局部仿射变换对每个关键点附近 的运动进行建模。与仅使用关键点位移相比,局部仿射变换使模型可以建模更 大的变换族。得到关键点位置以及每个仿射变换的参数之后,使用泰勒一阶展 开式通过一组关键点位置和仿射变换来表示td

r及ts

r。在第二步中,密 集运动网络(图4中的dense motion网络)将局部近似值结合起来,从而得到 密集运动场ts

d。第三步,除了密集的运动场外,密集运动网络还输出遮挡 掩码(occlusion mask)os

d,该遮挡掩码不仅指示图形中的哪些部分被遮挡 了,还可以通过变形源图像来重构图像被遮挡部分(即从上下文语义(context) 中推断出)。最后,图像生成模块渲染图像,根据驱动视频中所提供动作的驱 动源对象。在这里,使用一个生成器网络g(encoder-decoder结构),该生成器 网络g根据运动场ts

d扭曲源图像,并修补源图像中被遮挡的图像部分,以 得到驱动后的图像。因此,根据驱动后得到的多帧图像,可生成新的驱动视频 (即第一面部图像驱动视频)。
101.s204、将第一面部图像驱动视频贴回目标图像中面部图像所在位置,以得 到目标驱动视频。
102.在一些可行的实施方式中,网络设备将第一面部图像驱动视频贴回目标图 像中面部图像所在位置,可以得到目标驱动视频。可理解的,第一面部图像驱 动视频包括多帧面部驱动图像,即第一面部图像驱动视频由多帧面部驱动图像 组成。其中,上述将第一面部图像驱动视频贴回目标图像中面部图像所在位置, 以得到目标驱动视频可理解为:获取第一面部图像驱动视频中目标面部驱动图 像对应的目标掩码图像。根据目标掩码图像对目标面部驱动图像(或经边界填 充后的目标面部驱动图像)和旋转后目标图像(即上述步骤s202中截取得到第 一面部图像前旋转得到的目标图像)进行融合,得到目标面部驱动图像对应的 融合图像。进而根据多帧面部驱动图像对应的多帧融合图像生成目标驱动视频。 其中,多帧面部驱动图像包括目标面部驱动图像,即目标面部驱动图像为上述 多帧面部驱动图像中的任一帧面部驱动图像。也就是说,可将多帧面部驱动图 像中每帧面部驱动图像依次作为目标面部驱动图像,并执行获取目标面部驱动 图像对应的目标掩码图像的操作,以及执行根据目标掩码图像对目标面部驱动 图像和旋转后目标图像进行融合的操作,以得到多帧面部驱动图像对应的多帧 融合图像。
103.具体地,上述获取第一面部图像驱动视频中目标面部驱动图像对应的目标 掩码图像可理解为:对第一面部图像驱动视频中的目标面部驱动图像进行语义 分割处理,得到初始掩码图像,对初始目标掩码图像进行羽化处理,并将羽化 处理后的初始目标掩码图像确定为目标面部驱动图像对应的目标掩码图像。其 中,上述根据目标掩码图像对目标面部驱动图像和旋转后目标图像进行融合, 得到目标面部驱动图像对应的融合图像可理解为:获取目标掩码图像对应的高 斯金字塔gm,获取目标面部驱动图像(或边界填充后的目标面部驱动图像)对 应的第一拉普拉斯金字塔la,以及旋转后目标图像对应的第二拉普拉斯金
字塔 lb。根据高斯金字塔gm、第一拉普拉斯金字塔la以及第二拉普拉斯金字塔lb 生成第三拉普拉斯金字塔ls,以通过第三拉普拉斯金字塔ls确定融合图像。
104.也就是说,在完成人脸驱动之后,需要把驱动之后的视频(即第一面部图像 驱动视频)贴回目标图像以达到整体的展示效果。其中,为了消除将驱动之后 的视频贴回原图产生的拼缝及色差,本技术实施例可通过对第一面部图像驱动 视频中的目标面部驱动图像进行语义分割处理,得到初始掩码图像。进一步地, 为了消减原始图像与驱动后图像在拼缝位置的撕裂感,还可以对人像分割的结 果(即初始掩码图像)执行羽化操作,即对初始目标掩码图像进行羽化处理, 并将羽化处理后的初始目标掩码图像确定为目标面部驱动图像对应的目标掩码 图像。再根据目标掩码图像对目标面部驱动图像和旋转后目标图像进行融合。
105.具体地,本技术实施例可以使用基于unet的人像语义分割模型对目标面部驱 动图像进行语义分割处理。该模型可以判断目标面部驱动图像中的每个像素是 否属于人,以得到一个和原始图片(即目标面部驱动图像)大小一致的二值图 (即初始掩码图像)。示例性地,请参见图5,图5是本技术实施例提供的人像 语义分割的场景示意图。如图5中(a)图为目标面部驱动图像,如图5中(b) 图为目标面部驱动图像对应的初始掩码图像。
106.可选的,当处理得到目标掩码图像后,还可以进一步对目标掩码图像进行 边界填充,以将目标掩码图像填充为与目标图像的大小一样,且目标掩码图像 中人脸位置在目标图像对应位置的掩码图。进一步地,根据目标掩码图像对目 标面部驱动图像和旋转后目标图像进行融合,得到目标面部驱动图像对应的融 合图像。具体地,图像融合的过程可理解为:第一步,分别建立目标面部驱动 图像(简称图像a)与旋转后目标图像(简称图像b)对应的高斯金字塔ga与 gb,并继续计算出拉普拉斯金字塔la与lb。第二步,建立目标掩码图像(简 称图像m)对应的高斯金字塔gm。其中,高斯金字塔gm用于将两个输入图像 (即图像a和图像b)更加平滑的融合起来。第三步,使用gm作为权重,融合 la与lb,以形成新的拉普拉斯金字塔ls,其中,新的拉普拉斯金字塔ls满足: ls=gm*la (1-gm)*lb。第四步,通过新的拉普拉斯金字塔ls获得最终的 融合图像(即在每个尺度通过gm与ga、gb相乘再与ls相加,之后进行上采 样再与上一尺度ls相加。如此反复操作,直到得到原始尺寸(即目标图像的尺 寸)的融合图像为止)。
107.在一些可行的实施方式中,将第一面部图像驱动视频中包括的每一帧面部 驱动图像分别作为目标面部驱动图像,并执行上述图像融合操作后,可得到多 帧面部驱动图像对应的多帧融合图像,进而,可以根据多帧面部驱动图像对应 的多帧融合图像生成目标驱动视频。其中,根据多帧面部驱动图像对应的多帧 融合图像生成目标驱动视频可理解为:旋转多帧融合图像,以使多帧融合图像 中面部图像的角度与用户上传的目标图像中的面部图像的角度相同,然后,根 据该预设帧率对转正后的多帧融合图像进行处理,以得到目标驱动视频。
108.示例性地,请参见图6,图6是本技术实施例提供的图像处理过程的场景示 意图。如图6所示,为了保证人脸图像的质量,需要裁剪出目标图像(如图6 所示的(a)图)和初始驱动视频(如图6所示的(b)图)中的人脸图像,并 对这些人脸图像进行旋转校正对齐,以得到旋转后目标图像中的第一面部图像 (如图6所示的(c)图)和驱动视频(如图6所示的(d)图)。然后通过一阶 运动模型驱动第一面部图像模拟驱动视频运动,可得到驱动后视频(即
本技术 实施例中所涉及的第一面部图像驱动视频)。其中,如图6中(e)图所示,针 对第一面部图像驱动视频中包括的每帧面部驱动图像(为方便描述,本技术实 施例以一帧面部驱动图像(即目标面部驱动图像)为例),对该目标面部驱动图 像依次进行语义分割处理、羽化处理以及边界填充处理,可得到目标面部驱动 图像对应的目标掩码图像(如图6所示的(f)图),最后,根据目标掩码图像对 边界填充后的目标面部驱动图像(如图6所示的(g)图)和旋转后的目标图像 (如图6所示的(h)图)进行融合,可得到目标面部驱动图像对应的融合图像, 通过对融合图像进行旋转,可得到如图6所示的(i)图中融合并旋转后的融合 图像,以用于生成目标驱动视频。
109.在本技术实施例中,获取目标图像以及确定用户选定的驱动视频;当检测 到目标图像中的面部图像为倾斜状态时,通过旋转目标图像以校正面部图像的 角度为预设角度,并截取旋转后目标图像中的面部图像,得到第一面部图像。 将第一面部图像和驱动视频输入一阶运动模型,通过一阶运动模型驱动第一面 部图像模拟驱动视频运动,以得到第一面部图像驱动视频。将第一面部图像驱 动视频贴回目标图像中面部图像所在位置,以得到目标驱动视频。采用本技术 实施例,可提高对目标图像的驱动效果,适用性高。
110.请参见图7,图7是本技术实施例提供的图像处理装置的结构示意图。本申 请实施例提供的图像处理装置包括:
111.收发单元71,用于获取目标图像以及确定驱动视频;
112.处理单元72,用于当检测到所述目标图像中的面部图像为倾斜状态时,通 过旋转所述目标图像以校正所述面部图像的角度为预设角度,并截取旋转后目 标图像中的面部图像,得到第一面部图像;
113.所述处理单元72,用于将所述第一面部图像和所述驱动视频输入一阶运动 模型,以使所述一阶运动模型驱动所述第一面部图像模拟所述驱动视频运动, 得到第一面部图像驱动视频;
114.所述处理单元72,用于将所述第一面部图像驱动视频贴回所述目标图像中 所述面部图像所在位置,以得到目标驱动视频。
115.在一种可能的实施方式中,所述处理单元72用于:
116.获取初始驱动视频,所述初始驱动视频包括多帧参考图像,所述多帧参考 图像中每帧参考图像包括参考面部图像;
117.当检测到所述多帧参考图像中第一帧参考图像包括的参考面部图像为倾斜 状态时,旋转所述多帧参考图像中每一帧参考图像,以使所述参考面部图像的 角度为所述预设角度;
118.基于旋转后的多帧参考图像,得到所述驱动视频。
119.在一种可能的实施方式中,所述处理单元72用于:
120.截取旋转后的多帧参考图像中每帧参考图像包括的参考面部图像,得到多 个参考面部图像;
121.根据预设帧率和所述多个参考面部图像生成驱动视频。
122.在一种可能的实施方式中,所述处理单元72用于:
123.对所述目标图像进行面部关键点检测处理,得到所述目标图像包括的多个 面部关键点对应的位置信息;
124.根据所述多个面部关键点的位置信息确定所述目标图像中的面部图像是否 为倾斜状态。
125.在一种可能的实施方式中,所述多个面部关键点包括左眼和右眼,每个面 部关键点的位置信息包括横坐标值和纵坐标值;所述处理单元72用于:
126.根据所述左眼的横坐标值与所述右眼的横坐标值的差值绝对值,以及所述 左眼的纵坐标值与右眼的纵坐标值的差值绝对值,确定所述左眼与所述右眼之 间的连线与水平方向的夹角;
127.若所述夹角大于或者等于第一预设阈值,则确定所述目标图像中的面部图 像为倾斜状态。
128.在一种可能的实施方式中,所述第一面部图像驱动视频包括多帧面部驱动 图像;
129.所述处理单元72用于:
130.获取所述第一面部图像驱动视频中目标面部驱动图像对应的目标掩码图像, 所述目标面部驱动图像为所述多帧面部驱动图像中的任一帧面部驱动图像;
131.根据所述目标掩码图像对所述目标面部驱动图像和所述旋转后目标图像进 行融合,得到所述目标面部驱动图像对应的融合图像;
132.根据所述多帧面部驱动图像对应的多帧融合图像生成目标驱动视频。
133.在一种可能的实施方式中,所述处理单元72用于:
134.对所述第一面部图像驱动视频中的目标面部驱动图像进行语义分割处理, 得到初始掩码图像;
135.对所述初始目标掩码图像进行羽化处理,并将羽化处理后的初始目标掩码 图像确定为所述目标面部驱动图像对应的目标掩码图像。
136.在一种可能的实施方式中,所述处理单元72用于:
137.获取所述目标掩码图像对应的高斯金字塔gm;
138.获取所述目标面部驱动图像对应的第一拉普拉斯金字塔la,以及所述目标 图像对应的第二拉普拉斯金字塔lb;
139.根据所述高斯金字塔gm、第一拉普拉斯金字塔la以及所述第二拉普拉斯 金字塔lb生成第三拉普拉斯金字塔ls,以通过所述第三拉普拉斯金字塔ls确 定所述融合图像。
140.在本技术实施例中,图像处理装置可获取目标图像以及确定用户选定的驱 动视频;当检测到目标图像中的面部图像为倾斜状态时,通过旋转目标图像以 校正面部图像的角度为预设角度,并截取旋转后目标图像中的面部图像,得到 第一面部图像。将第一面部图像和驱动视频输入一阶运动模型,通过一阶运动 模型驱动第一面部图像模拟驱动视频运动,以得到第一面部图像驱动视频。将 第一面部图像驱动视频贴回目标图像中面部图像所在位置,以得到目标驱动视 频。采用本技术实施例,可提高对目标图像的驱动效果,适用性高。
141.请参见图8,图8是本技术实施例提供的网络设备的结构示意图。如图8所 示,本实施例中的网络设备可以包括:一个或多个处理器801、存储器802和收 发器803。上述处理器801、存储器802和收发器803通过总线804连接。存储 器802用于存储计算机程序,该计算机程序包括程序指令,处理器801和收发 器803用于执行存储器802存储的程序指令,执行如下操作:
142.收发器803,用于获取目标图像以及确定驱动视频;
143.处理器801,用于当检测到所述目标图像中的面部图像为倾斜状态时,通过 旋转所述目标图像以校正所述面部图像的角度为预设角度,并截取旋转后目标 图像中的面部图像,得到第一面部图像;
144.处理器801,用于将所述第一面部图像和所述驱动视频输入一阶运动模型, 以使所述一阶运动模型驱动所述第一面部图像模拟所述驱动视频运动,得到第 一面部图像驱动视频;
145.处理器801,用于将所述第一面部图像驱动视频贴回所述目标图像中所述面 部图像所在位置,以得到目标驱动视频。
146.在一种可能的实施方式中,所述处理器801用于:
147.获取初始驱动视频,所述初始驱动视频包括多帧参考图像,所述多帧参考 图像中每帧参考图像包括参考面部图像;
148.当检测到所述多帧参考图像中第一帧参考图像包括的参考面部图像为倾斜 状态时,旋转所述多帧参考图像中每一帧参考图像,以使所述参考面部图像的 角度为所述预设角度;
149.基于旋转后的多帧参考图像,得到所述驱动视频。
150.在一种可能的实施方式中,所述处理器801用于:
151.截取旋转后的多帧参考图像中每帧参考图像包括的参考面部图像,得到多 个参考面部图像;
152.根据预设帧率和所述多个参考面部图像生成驱动视频。
153.在一种可能的实施方式中,所述处理器801用于:
154.对所述目标图像进行面部关键点检测处理,得到所述目标图像包括的多个 面部关键点对应的位置信息;
155.根据所述多个面部关键点的位置信息确定所述目标图像中的面部图像是否 为倾斜状态。
156.在一种可能的实施方式中,所述多个面部关键点包括左眼和右眼,每个面 部关键点的位置信息包括横坐标值和纵坐标值;所述处理器801用于:
157.根据所述左眼的横坐标值与所述右眼的横坐标值的差值绝对值,以及所述 左眼的纵坐标值与右眼的纵坐标值的差值绝对值,确定所述左眼与所述右眼之 间的连线与水平方向的夹角;
158.若所述夹角大于或者等于第一预设阈值,则确定所述目标图像中的面部图 像为倾斜状态。
159.在一种可能的实施方式中,所述第一面部图像驱动视频包括多帧面部驱动 图像;
160.所述处理器801用于:
161.获取所述第一面部图像驱动视频中目标面部驱动图像对应的目标掩码图像, 所述目标面部驱动图像为所述多帧面部驱动图像中的任一帧面部驱动图像;
162.根据所述目标掩码图像对所述目标面部驱动图像和所述旋转后目标图像进 行融合,得到所述目标面部驱动图像对应的融合图像;
163.根据所述多帧面部驱动图像对应的多帧融合图像生成目标驱动视频。
164.在一种可能的实施方式中,所述处理器801用于:
165.对所述第一面部图像驱动视频中的目标面部驱动图像进行语义分割处理, 得到初始掩码图像;
166.对所述初始目标掩码图像进行羽化处理,并将羽化处理后的初始目标掩码 图像确定为所述目标面部驱动图像对应的目标掩码图像。
167.在一种可能的实施方式中,所述处理器801用于:
168.获取所述目标掩码图像对应的高斯金字塔gm;
169.获取所述目标面部驱动图像对应的第一拉普拉斯金字塔la,以及所述目标 图像对应的第二拉普拉斯金字塔lb;
170.根据所述高斯金字塔gm、第一拉普拉斯金字塔la以及所述第二拉普拉斯 金字塔lb生成第三拉普拉斯金字塔ls,以通过所述第三拉普拉斯金字塔ls确 定所述融合图像。
171.应当理解,在一些可行的实施方式中,上述处理器801可以是中央处理单 元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信 号处理器(digital signal processor,dsp)、专用集成电路(application specificintegrated circuit,asic)、现成可编程门阵列(field programmable gate array, fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件 等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。 该存储器802可以包括只读存储器和随机存取存储器,并向处理器801提供指 令和数据。存储器802的一部分还可以包括非易失性随机存取存储器。例如, 存储器802还可以存储设备类型的信息。
172.具体实现中,上述网络设备可通过其内置的各个功能模块执行如上述图2 至图6中各个步骤所提供的实现方式,具体可参见上述各个步骤所提供的实现 方式,在此不再赘述。
173.在本技术实施例中,网络设备可获取目标图像以及确定用户选定的驱动视 频;当检测到目标图像中的面部图像为倾斜状态时,通过旋转目标图像以校正 面部图像的角度为预设角度,并截取旋转后目标图像中的面部图像,得到第一 面部图像。将第一面部图像和驱动视频输入一阶运动模型,通过一阶运动模型 驱动第一面部图像模拟驱动视频运动,以得到第一面部图像驱动视频。将第一 面部图像驱动视频贴回目标图像中面部图像所在位置,以得到目标驱动视频。 采用本技术实施例,可提高对目标图像的驱动效果,适用性高。
174.本技术实施例还提供一种计算机可读存储介质,该计算机可读存储介质存 储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实 现图2至图6中各个步骤所提供的图像处理方法,具体可参见上述各个步骤所 提供的实现方式,在此不再赘述。
175.上述计算机可读存储介质可以是前述任一实施例提供的图像处理装置或者 上述终端设备的内部存储单元,例如电子设备的硬盘或内存。该计算机可读存 储介质也可以是该电子设备的外部存储设备,例如该电子设备上配备的插接式 硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡, 闪存卡(flash card)等。进一步地,该计算机可读存储介质还可以既包括该电子 设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该 计算机程序以及该电子设备所需的其他程序和数据。
该计算机可读存储介质还 可以用于暂时地存储已经输出或者将要输出的数据。
176.本技术的权利要求书和说明书及附图中的术语“第一”、“第二”、“第三”、
ꢀ“
第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包 括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了 一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤 或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些 过程、方法、产品或设备固有的其它步骤或单元。
177.在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可 以包含在本技术的至少一个实施例中。在说明书中的各个位置展示该短语并不 一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。 本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实 施例相结合。在本技术说明书和所附权利要求书中使用的术语“和/或”是指相 关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组 合。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示 例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现, 为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地 描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决 于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用 来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范 围。
178.本技术实施例提供的方法及相关装置是参照本技术实施例提供的方法流程 图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结 构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结 合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或 其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可 编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个 流程和/或结构示意图一个方框或多个方框中指定的功能的装置。这些计算机程 序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的 计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令 装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图 一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或 其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操 作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指 令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方 框中指定的功能的步骤。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献