基于人工智能的图像处理方法、装置、介质及电子设备与流程

文档序号:19932963发布日期:2020-02-14 22:14阅读:277来源:国知局
基于人工智能的图像处理方法、装置、介质及电子设备与流程

本公开涉及人工智能技术领域,具体而言,涉及一种基于人工智能的图像处理方法、基于人工智能的图像处理装置、计算机存储介质及电子设备。



背景技术:

随着计算机技术的变革以及人工智能的迅速发展,人工智能技术广泛应用于各种电子产品上,如智能手机、人像处理软件、扫地机器人等等。

目前,人们在拍照时喜欢使用诸如美颜相机之类的人像处理软件,希望能够对所拍摄的人像进行改变,例如对眼睛、鼻子、嘴巴、头发等部位进行修改优化,但是现有的人像处理软件很难实时在脸部角度变化时模拟出逼真的三维效果,并且可选择的特效较少、生成图像的分辨率低于原始图像,降低了用户体验。

鉴于此,本领域亟需开发一种新的基于人工智能的图像处理方法。

需要说明的是,在上述背景技术部分公开的信息仅用于加强对本公开的背景的理解,因此可以包括不构成对本领域普通技术人员已知的现有技术的信息。



技术实现要素:

本公开的实施例提供了一种基于人工智能的图像处理方法、基于人工智能的图像处理装置、计算机存储介质及电子设备,进而至少在一定程度上可以实时对人脸图像模拟三维效果,并且保持生成图像各部分的分辨率,进一步提高用户体验。

本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。

根据本公开实施例的一个方面,提供了一种基于人工智能的图像处理方法,包括:获取原始人脸图像,对所述原始人脸图像进行特征提取以获取人脸区域图像;将所述人脸区域图像输入至生成网络模型,通过所述生成网络模型对所述人脸区域图像进行特征提取,并基于所提取的特征生成第一图像;其中所述第一图像中目标对象的特征不同于所述原始人脸图像中所述目标对象的特征;将所述第一图像与所述原始人脸图像对齐叠加,以获取第二图像。

根据本公开实施例的一个方面,提供了一种基于人工智能的图像处理装置,包括:图像获取模块,用于获取原始人脸图像,对所述原始人脸图像进行特征提取以获取人脸区域图像;图像处理模块,用于将所述人脸区域图像输入至生成网络模型,通过所述生成网络模型对所述人脸区域图像进行特征提取,并基于所提取的特征生成第一图像;其中所述第一图像中目标对象的特征不同于所述原始人脸图像中所述目标对象的特征;图像叠加模块,用于将所述第一图像与所述原始人脸图像对齐叠加,以获取第二图像。

在本公开的一些实施例中,基于前述方案,所述图像获取模块配置为:检测所述原始人脸图像中的人脸区域,并对所述人脸区域进行特征配准以确定人脸特征点;根据所述人脸特征点的位置信息确定所述人脸特征点对应的特征区域;将所述特征区域扩大预设倍数,并根据扩大后的特征区域确定所述人脸区域图像。

在本公开的一些实施例中,基于前述方案,所述图像处理模块包括:通道图像生成单元,用于对所述人脸区域图像进行特征提取以获取轮廓特征及五官特征,基于所述轮廓特征和所述五官特征获取rgb通道图像和α通道图像,并将所述rgb通道图像和所述α通道图像、所述rgb通道图像作为所述第一图像;或者,用于对所述人脸区域图像进行特征提取以获取轮廓特征及五官特征,基于所述轮廓特征和所述五官特征获取rgb通道图像,并将所述rgb通道图像作为所述第一图像。

在本公开的一些实施例中,基于前述方案,所述图像叠加模块包括:图像对齐单元,用于根据所述人脸特征点将所述第一图像和所述原始人脸图像对齐;图像合成单元,用于将对齐后的所述第一图像与所述原始人脸图像进行叠加合成,以获取所述第二图像。

在本公开的一些实施例中,所述第一图像包括rgb通道图像和α通道图像;基于前述方案,所述图像合成单元配置为:将所述α通道图像作为权重,并对所述rgb通道图像和所述原始人脸图像加权求和,以获取所述第二图像。

在本公开的一些实施例中,基于前述方案,所述图像处理装置还包括:样本获取模块,用于获取人脸区域图像样本和与所述人脸区域图像样本对应的合成图像样本,所述合成图像样本为对所述人脸区域图像样本中的所述目标对象进行处理得到的;模型训练模块,用于根据所述人脸区域图像样本和所述合成图像样本对包含待训练生成网络和待训练判别网络的人脸图像模型进行训练,并将训练好的所述待训练生成网络作为所述生成网络模型。

在本公开的一些实施例中,基于前述方案,所述样本获取模块包括:特征点获取单元,用于获取人脸图像样本,对所述人脸图像样本进行检测配准,以获取与人脸图像样本对应的人脸特征点;人脸区域图像样本获取单元,用于从所述人脸特征点中确定目标特征点,并根据所述目标特征点抠取对应不同姿态的所述人脸区域图像样本;区域位置图获取单元,用于通过区域预测模块对所述人脸区域图像样本进行特征提取,以获取与所述目标对象对应的区域位置图;合成图像样本获取单元,用于获取与目标对象对应的二维纹理图像,并将所述人脸区域图像样本、所述区域位置图和所述二维纹理图像叠加以获得与所述人脸区域图像样本对应的合成图像样本。

在本公开的一些实施例中,基于前述方案,所述人脸区域图像样本获取单元配置为:根据所述目标特征点确定目标特征区域;固定所述目标特征区域的位置不变,获取对应不同姿态的人脸图像,并将所述人脸图像作为所述人脸区域图像样本。

在本公开的一些实施例中,基于前述方案,所述区域位置图获取单元配置为:对所述人脸区域图像样本进行图像分割,以获取所述目标特征点;根据所述目标特征点和预设距离确定与所述目标对象对应的区域,并根据所述目标对象对应的区域获得所述区域位置图。

在本公开的一些实施例中,基于前述方案,所述模型训练模块包括:待检测图像生成单元,用于将所述人脸区域图像样本输入至所述人脸图像模型,通过所述待训练生成网络对所述人脸区域图像样本进行特征提取,并基于所提取的特征生成包含优化后的所述目标对象的待检测图像;真实度获取单元,用于将所述待检测图像和所述合成图像样本输入至所述待训练判别网络,通过所述待训练判别网络对所述待检测图像和所述合成图像样本进行特征提取和特征比对,以获取所述待检测图像的真实度;参数调节单元,用于根据所述真实度调节所述人脸图像模型的参数,以使所述人脸图像模型收敛。

在本公开的一些实施例中,基于前述方案,所述待检测图像生成单元配置为:对所述人脸区域图像样本进行特征提取,并基于所提取的特征生成rgb通道图像样本和α通道图像样本;将所述α通道图像样本和所述rgb通道图像样本叠加,以获取所述待检测图像

在本公开的一些实施例中,基于前述方案,图像获取模块配置为:将接收到的单帧人脸图像作为所述原始人脸图像;或者,对接收到的视频所包含的各图像帧中的人脸信息进行提取,以获取所述原始人脸图像。

根据本公开实施例的一个方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述实施例所述的基于人工智能的图像处理方法。

根据本公开实施例的一个方面,提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器执行如上述实施例所述的基于人工智能的图像处理方法。

在本公开的一些实施例所提供的技术方案中,首先通过对原始人脸图像进行特征提取以获取人脸区域图像;接着将人脸区域图像输入至生成网络模型,通过生成网络模型对人脸区域图像进行特征提取,并基于所提取的特征生成第一图像;该第一图像中目标对象的特征不同于原始人脸图像中目标对象的特征;最后将第一图像与原始人脸图像对齐叠加,以获取第二图像。本公开的技术方案能够实时对接收到的人脸图像进行处理,对其中的目标对象进行改变,另外能够保持第二图像的分辨率与原始人脸图像的分辨率相同,提高了图像质量,进而提升了用户体验。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示出了可以应用本公开实施例的技术方案的示例性系统架构的示意图;

图2a-2b示意性示出了相关技术中的非实时单帧图片处理生成长发的界面示意图;

图3a-3c示意性示出了相关技术中的实时生成二维头发的界面示意图;

图4a-4c示意性示出了相关技术中的实时生成二维头发的界面示意图;

图5a-5c示意性示出了相关技术中的实时生成三维头发的界面示意图;

图6示意性示出了根据本公开的一个实施例的基于人工智能的图像处理方法的流程示意图;

图7示意性示出了根据本公开的一个实施例的获取人脸区域图像的流程示意图;

图8示意性示出了根据本公开的一个实施例的获取人脸区域图像样本和合成图像样本的流程示意图;

图9a-9f示意性示出了根据本公开的一个实施例的不同姿态下的长发合成图像样本的界面示意图;

图10示意性示出了根据本公开的一个实施例的训练人脸图像模型的流程示意图;

图11示意性示出了根据本公开的一个实施例的生成包含长发的人脸图像的流程示意图;

图12示意性示出了根据本公开的一个实施例的基于人工智能的图像处理装置的框图;

图13示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本公开的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本公开的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

图1示出了可以应用本公开实施例的技术方案的示例性系统架构的示意图。

如图1所示,系统架构100可以包括终端设备101、网络102和服务器103。网络102用以在终端设备101和服务器103之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线通信链路、无线通信链路等等。

应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实际需要,可以具有任意数目的终端设备、网络和服务器。比如服务器103可以是多个服务器组成的服务器集群等。终端设备101可以是诸如摄像机、照相机、智能手机等带有成像单元的拍摄装置,通过终端设备101可以获取包含目标对象的原始人脸图像。

在本公开的一个实施例中,终端设备101获取包含目标对象的原始人脸图像后,可以通过网络102向服务器103发送该原始人脸图像,当服务器103获取原始人脸图像后,可以对原始人脸图像进行人脸检测和配准,以获取人脸特征点;接着根据人脸特征点计算并抠取各姿态均对齐的人脸区域图像;然后通过训练好的生成网络模型对人脸区域图像进行特征提取,并基于所提取的特征生成第一图像,该第一图像是对人脸区域图像中的目标对象进行变换后所生成的图像,例如将人脸区域图像中的短发变成长发、将小眼睛变为大眼睛等等;最后将具有变换后的目标对象的第一图像与原始人脸图像对齐叠加,以获取第二图像,该第二图像即为具有变换后的目标对象且保持了原始分辨率的人脸图像。进一步地,在本公开的实施例中,还可以在获取原始人脸图像后,对原始人脸图像中的面部妆容进行变换,例如将男性妆容变换为女性妆容,将女性妆容变换为男性妆容,等等,然后再对变换面部妆容后的原始人脸图像进行上述操作,以获取面部妆容和目标对象改变且保持原始分辨率的第二图像。本公开实施例的技术方案能够实时对接收到的原始人脸图像中的目标对象进行模拟生成三维效果,并且随着人脸角度的变化,目标对象的三维效果也相应变化;同时还能够获得具有多种造型、妆容的图像,并保持原始分辨率,进一步提升了用户体验。

需要说明的是,本公开实施例所提供的基于人工智能的图像处理方法一般由服务器执行,相应地,基于人工智能的图像处理装置一般设置于服务器中。但是,在本公开的其它实施例中,也可以由终端设备执行本公开实施例所提供的基于人工智能的图像处理方法。

在本领域的相关技术中,以对人脸图像实时生成头发为例,存在以下三种方式:(1)非实时单帧图片处理生成长发;(2)实时生成二维头发;(3)实时生成三维头发。具体地:

非实时单帧图片处理生成长发能够获取较为真实的三维效果,图2a-2b示出了非实时单帧图片处理生成长发的界面示意图,如图2a所示为原始人脸图像,头发为短发;经过处理后,短发转变为长发,且具有三维效果,如图2b所示,但是该方式只能单帧处理,无法实时模拟,并且模拟效率很低。

实时生成二维头发的方式,虽然能够做到实时处理,但是只能生成二维头发,无法生成三维头发,且侧脸的效果较差,图3a-3c和图4a-4c示出了实时生成二维头发的界面示意图,如图3a-3b和图4a-4c所示,图3a和图4a为人脸右转时生成的长发效果,可以看出长发与人脸轮廓不贴合,效果较差;图3b和图4b为人脸为正脸时生成的长发效果,可以看出长发与人脸轮廓较为贴合;图3c和图4c为人脸左转时生成的长发效果,与人脸右转时的长发效果相同,长发与人脸轮廓不贴合,效果较差。

实时生成三维头发的方式能够实时处理生成三维效果,也可以实现面部性别转变,但是生成图像中的发色单一。图5a-5c示出了实时生成三维头发的界面示意图,如图5a-5c所示,图5a为人脸右转时生成的长发效果,图5b为人脸为正脸时生成的长发效果,图5c为人脸左转时生成的长发效果,可以看出生成的长发与人脸轮廓较为贴合,且具有三维效果,但是发色单一,只能是原始人脸图像中的发色,无法为用户提供多种选择。

另外,上述三种方式还存在一个共同缺点,就是其所对应的应用程序较大,通常需要十几、几十甚至上百兆的存储空间,对于存储空间较小的终端设备而言,是很难安装并有效加载运行的,即使安装上后处理效率也很低。

鉴于相关技术中存在的问题,本公开实施例提供了一种基于人工智能的图像处理方法,该基于人工智能的图像处理方法是基于机器学习实现的,机器学习属于人工智能的一种,人工智能(artificialintelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。

人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。

计算机视觉技术(computervision,cv)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、ocr、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3d技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。

机器学习(machinelearning,ml)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习、式教学习等技术。

随着人工智能技术研究和进步,人工智能技术在多个领域展开研究和应用,例如常见的智能家居、智能穿戴设备、虚拟助理、智能音箱、智能营销、无人驾驶、自动驾驶、无人机、机器人、智能医疗、智能客服等,相信随着技术的发展,人工智能技术将在更多的领域得到应用,并发挥越来越重要的价值。

本公开实施例提供的方案涉及人工智能的图像处理技术,具体通过如下实施例进行说明:

本公开实施例首先提出了一种基于人工智能的图像处理方法,以下以实时生成长发为例,对本公开实施例的技术方案的实现细节进行详细阐述:

图6示意性示出了根据本公开的一个实施例的基于人工智能的图像处理方法的流程图,该基于人工智能的图像处理方法可以由服务器来执行,该服务器可以是图1中所示的服务器103。参照图6所示,该基于人工智能的图像处理方法至少包括步骤s610至步骤s630,详细介绍如下:

在步骤s610中,获取原始人脸图像,对原始人脸图像进行特征提取以获取人脸区域图像。

在本公开的一个实施例中,通过终端设备101可以获取原始人脸图像,该原始人脸图像可以是通过终端设备101对包含目标对象的人脸进行拍摄,并通过其中的成像单元根据捕捉到的图像信号成像形成的;也可以是通过终端设备101从网络上下载得到的包含目标对象的人脸图像;当然也可以是终端设备101本地保存的包含目标对象的人脸图像,等等,其中该目标对象可以是五官中的任意一个,也可以是头发、脸型等对象,本公开实施例对此不作具体限定。为了清楚理解本公开实施例的技术方案,以头发作为目标对象进行说明。在获取终端设备101发送的原始人脸图像后,可以对原始人脸图像进行特征提取,以获取人脸区域图像。

图7示出了获取人脸区域图像的流程示意图,如图7所示,获取人脸区域图像的流程至少包括步骤s701-s703,具体地:

在步骤s701中,检测原始人脸图像中的人脸区域,并对人脸区域进行特征配准以确定人脸特征点。

在本公开的一个实施例中,可以将原始人脸图像输入至训练好的人脸检测模型,该人脸检测模型包括检测子模型和配准子模型,其中检测子模型用于检测原始人脸图像中的人脸区域,配准子模型用于对人脸区域进行特征配准以确定人脸特征点。人脸特征点具体可以包括左右眼睛的中心点、左右嘴角和鼻尖。

在步骤s702中,根据人脸特征点的位置信息确定人脸特征点对应的特征区域。

在本公开的一个实施例中,在确定人脸特征点后,可以获得人脸特征点的位置信息,例如左右眼睛中心点的位置信息、左右嘴角的位置信息和鼻尖的位置信息。根据人脸特征点的位置信息可以确定人脸特征点对应的特征区域,例如以左眼睛的中心点(x,y)为基准,将(x-10mm,x+10mm)作为左眼睛两端的位置信息,将(y-5mm,y+5mm)作为左眼睛上下顶点的位置信息,进而根据左眼睛两端的位置信息和上下顶点的位置信息可以确定左眼睛的特征区域,值得注意的是,不同人的眼睛尺寸不同,因此在确定眼睛两端及上下顶点的位置信息时,可以采用不同于10mm和5mm的数值。同样地,根据左右嘴角的位置信息和鼻尖的位置信息可以确定嘴巴对应的特征区域和鼻子对应的特征区域。

在步骤s703中,将特征区域扩大预设倍数,并根据扩大后的特征区域确定人脸区域图像。

在本公开的一个实施例中,在获得人脸特征点对应的特征区域后,可以将特征区域扩大预设倍数,以获取人脸区域图像。例如可以将特征区域扩大三倍、四倍等等,只要覆盖全部人脸和面部轮廓外部的部分区域即可。

在步骤s620中,将人脸区域图像输入至生成网络模型,通过生成网络模型对人脸区域图像进行特征提取,并基于所提取的特征生成第一图像;其中第一图像中目标对象的特征不同于原始人脸图像中目标对象的特征。

在本公开的一个实施例中,在获取人脸区域图像后,可以将该人脸区域图像输入至训练好的机器学习模型,以对人脸区域图像进行特征提取,并基于所提取的特征生成第一图像,其中该机器学习模型可以是对抗生成网络模型中的生成网络模型,在对生成对抗网络模型进行训练后,可以将训练完成的生成网络模型作为最终进行人脸图像处理的模型,这样可以减小模型的大小,提高图像处理效率。通过训练好的生成网络模型对人脸区域图像进行特征提取,并基于提取的特征生成具有长发的第一图像。值得说明的是,原始人脸图像或人脸区域图像中的头发可以是长发、短发,也可以没有头发,第一图像中的头发为不同于原始人脸图像或人脸区域图像中的头发,例如人脸区域图像为具有短发的男性人脸区域图像,通过生成网络模型可以将男性的短发变换为长发,同样,生成网络模型也可以将女性的长发或短发转换为短发或更长的长发,生成的头发还可以具有各种造型,例如卷发、直发、齐刘海、斜刘海、带有发髻的古装发型等等,并且头发还可以具有任意地发色。

在本公开的一个实施例中,在通过生成网络模型对人脸区域图像进行特征提取时,具体可以对人脸区域图像进行特征提取以获取轮廓特征及五官特征,并基于提取的轮廓特征和五官特征获取与人脸区域图像对应的rgb通道图像和α通道图像,该rgb通道图像和α通道图像即为第一图像。

值得说明的是,在本公开实施例中,还可以通过生成网络模型对输入的人脸区域图像进行特征提取以获取轮廓特征及五官特征,并基于提取的轮廓特征和五官特征获取与人脸区域图像对应的rgb通道图像,该rgb通道图像即为第一图像。

在本公开的一个实施例中,为了获取稳定的生成网络模型,需要对人脸图像模型进行训练,该人脸图像模型为生成对抗网络模型,其包括待训练生成网络和待训练判别网络,通过对人脸图像模型进行训练以获取训练好的生成网络模型。生成对抗网络(gan)是非监督式学习的一种方法,通过让两个神经网络相互博弈的方式进行学习。生成对抗网络由一个生成网络和一个判别网络组成,生成网络从潜在空间中随机取样作为输入,其输出结果需要尽量模仿训练集中的真实样本,判别网络的输入则为真实样本和生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能分辨出来,而生成网络则要尽可能地欺骗判别网络,两个网络相互对抗,不断调整参数,最终生成以假乱真的图像。

在本公开的一个实施例中,首先获取训练样本,然后采用训练样本对生成对抗网络模型进行训练。训练样本包括人脸区域图像样本和与人脸区域图像样本对应的合成图像样本,合成图像样本是对人脸区域图像样本中的目标对象进行变换得到的,例如对人脸区域图像样本中的头发进行变换生成的图像即为合成图像样本。在获取人脸图像样本和合成图像样本后,可以根据人脸图像样本和合成图像样本对人脸图像模型进行训练,并将训练好的待训练生成网络作为生成网络模型,用于后续的图像处理。

在本公开的一个实施例中,当训练数据不是成对数据、训练数据不对齐时,无监督的gan训练会比较困难,需要的网络比较大,无法满足实时性要求,因此为了降低训练难度并提高网络效率,可以通过构造成对训练数据的方式来训练gan,并且采用成对训练数据可以控制背景像素值对齐,使得生成结果融合进视频、图像后更自然。成对的真实长短发数据,也就是同一个人的长短发数据获取非常困难,通常可以通过戴假发的方式获取同一个人的长短发数据作为成对训练数据,也可以使用高精度的三维建模来合成三维头发效果,但是这些方法要么人力成本太高,要么计算成本太高,难以实现,因此为了降低人力成本和计算成本,本公开实施例采用二维纹理来模拟三维头发的转动变化。

图8示出了获取人脸区域图像样本和合成图像样本的流程示意图,如图8所示,该流程至少包括步骤s801-s804,具体地:

在步骤s801中,获取人脸图像样本,对人脸图像样本进行检测配准,以获取与人脸图像样本对应的人脸特征点。

在本公开的一个实施例中,与步骤s701类似,可以将获取的人脸图像样本输入至训练好的人脸检测模型,通过人脸检测模型中的检测子模型对人脸图像样本中的人脸区域进行检测,接着通过人脸检测模型中的配准子模型对检测到的人脸区域进行特征配准以确定人脸图像样本对应的人脸特征点。

在步骤s802中,从人脸特征点中确定目标特征点,并根据目标特征点抠取对应不同姿态的人脸区域图像样本。

在本公开的一个实施例中,可以从确定的人脸特征点中选择相对刚性的点作为目标特征点,根据目标特征点确定目标特征区域;然后固定目标特征区域的位置不变,获取对应不同姿态的人脸区域图像,并将获取的人脸区域图像作为人脸区域图像样本。例如可以将左右眼睛的中心点作为目标特征点,根据左右眼睛的中心点可以确定左右眼睛区域,在保证左右眼睛区域在画面中的位置基本不变的情况下抠取不同姿态下的人脸区域图像样本,例如可以抠取人脸正面、人脸左转、人脸右转、人脸上扬等不同姿态的人脸区域图像,并将获取的人脸区域图像作为人脸区域图像样本。

在步骤s803中,通过区域预测模块对人脸区域图像样本进行特征提取,以获取与目标对象对应的区域位置图。

在本公开的一个实施例中,在获取人脸区域图像样本后,可以通过区域预测模块对人脸区域图像样本进行特征提取,进而获得与目标对象对应的区域位置图。例如目标对象为头发,那么可以采用长发区域预测模块对人脸区域图像样本进行特征提取,根据人脸区域图像样本中的轮廓特征获得与人脸区域图像样本对应的长发区域位置图;若目标对象为鼻子,那么可以采用鼻子区域预测模块对人脸区域图像样本进行特征提取,根据人脸区域图像样本中的五官特征获得与人脸区域图像样本对应的鼻子区域位置图,等等。在通过区域预测模块对人脸区域图像进行特征提取以获得与目标对象对应的区域位置图时,具体可以包括以下步骤:首先对人脸区域图像样本进行图像分割,以获取目标特征点;然后根据目标特征点和预设距离确定与目标对象对应的区域,并根据该区域获得区域位置图。具体而言,在对人脸区域图像进行图像分割时,可以获取人脸区域图像样本中的五官特征,并从五官特征中选择相对刚性的部位特征点作为目标特征点,例如将左右眼睛的中心点作为目标特征点;然后根据左右眼睛的中心点与预设距离确定头发的区域,进而根据头发的区域确定头发区域位置图。其中预设距离是根据眼睛中心点与人脸轮廓之间的位置关系设定的距离,另外,头发的区域包含多个小区域,每个小区域与同侧眼睛的中心点的距离不随人脸角度的变化而变化,但是随着人脸角度的变化,该些小区域的显示属性会相应变化,例如当人脸右转时,随着右转角度的逐渐增大,右侧外侧头发会逐渐被隐藏,以呈现逼真的三维长发效果。值得说明的是,区域位置图实质上是预测的目标对象所处的区域模板,通过将二维纹理叠加到区域模板中即可获得目标对象发生变化的图像。

在步骤s804中,获取与目标对象对应的二维纹理图像,并将人脸区域图像样本、区域位置图和二维纹理图像叠加以获得与人脸区域图像样本对应的合成图像样本。

在本公开的一个实施例中,通过全图二维纹理设计可以获取与目标对象对应的二维纹理图像,例如二维头发纹理图像、二维鼻子纹理图像等等,在获得二维纹理图像后,可以将其与人脸区域图像样本和区域位置图进行叠加以获取与人脸区域图像样本对应的合成图像样本。在叠加时,需要根据目标特征点将二维纹理图像、人脸区域图像样本和区域位置图先对齐,然后再叠加,这样可以保证合成图像样本的逼真度;另外,二维纹理图像仅在区域位置图中显示,以获得目标对象发生变化的人脸图像。以实时生成长发为例,在获得长发区域位置图后,可以设计二维头发纹理,并通过纹理叠加模块将长发区域位置图、二维头发纹理和人脸区域图像对齐叠加以获取具有长发的合成图像样本,进一步地,在设计覆盖全图的二维头发纹理图像时还可以设计外侧透明度,该外侧透明度可以增加头发的立体感和逼真度,相应地,在对齐叠加时,可以将长发区域位置图、二维头发纹理、外侧透明度和人脸区域图像输入至纹理叠加模块,经过图像叠加以得到三维的长发合成图像样本。相应地,通过对各姿态的人脸区域图像进行上述操作即可获得具有三维转动效果的长发合成图像样本。图9a-9f示出了不同姿态下的长发合成图像样本的界面示意图,如图9a-9f所示,各图像分别展示了不同人脸姿态下的长发效果,生成的长发随头部的转动呈现出了三维转动效果,并且头发边缘、发梢处在外侧透明度的作用下显得更立体、更逼真。

在本公开的一个实施例中,在生成二维头发纹理图像时,可以生成具有不同颜色和/或发型的二维头发纹理,以形成多组具有不同颜色和/或发型的成对训练数据,并使得根据具有不同颜色和/或发型的成对训练数据训练得到的生成网络模型在对新的人脸图像进行图像处理时,能够生成具有多种颜色和/或发型的头发,进一步增加了模型可生成的特效的类型,提升了用户体验。

在本公开的一个实施例中,在获取人脸区域图像样本和合成图像样本后,可以根据人脸区域图像样本和合成图像样本对包含待训练生成网络和待训练判别网络的人脸图像模型进行训练。图10示出了训练人脸图像模型的流程示意图,如图10所示,将人脸区域图像样本输入至待训练生成网络1001,通过待训练生成网络1001对人脸区域图像样本进行特征提取,并基于所提取的特征生成包含变换后的目标对象的待检测图像,例如输入的人脸区域图像样本为一短发男性,生成的待检测图像为一长发男性;接着将待检测图像和与人脸区域图像样本对应的合成图像样本输入至待训练判别网络1002,通过待训练判别网络1002对待检测图像和合成图像样本进行特征提取和特征比对,以获取待检测图像的真实度;最后根据真实度调节人脸图像模型的参数,以使人脸图像模型收敛。

在本公开的一个实施例中,在通过待训练生成网络对人脸区域图像样本进行特征提取时,可以生成rgb通道图像样本和α通道图像样本,将rgb通道图像样本和α通道图像样本叠加可以获取待检测图像。当然也可以通过待训练生成网络只生成rgb通道图像样本,该rgb通道图像样本即为待检测图像,但是仅采用rgb通道图像样本会导致待检测图像的分辨率精度较低,进而导致采用训练后的生成网络模型所生成的人脸图像的分辨率低,用户体验差。而通过根据rgb通道图像样本和α通道图像样本叠加所生成的待检测图像进行模型训练,使得模型不再需要学习生成图片背景等无关部位,减小了训练难度,提高了生成图像的分辨率精度。进一步地,还可以将人脸图像样本作为输入图像直接输入至待训练生成网络中,这样可以保持生成的待检测图像的背景和脸部分辨率与输入的人脸图像样本一致。

在本公开的一个实施例中,对人脸图像模型完成训练后,可以将训练好的待训练生成网络作为生成网络模型,用于对后续接收到的人脸图像进行处理以获取包含变换后的目标对象的人脸图像。仅采用生成网络模型进行图像处理,避免了使用数百兆甚至数g大小的模型进行图像处理,提高了图像处理的效率。本公开中的生成网络模型大小仅1.4m,运算速度高,在移动端的实时处理效率能够达到每秒20帧画面(20fps),即使是中低端的移动终端,也能达到10fps的实时处理效率。

在步骤s630中,将第一图像与原始人脸图像对齐叠加,以获取第二图像。

在本公开的一个实施例中,在生成第一图像后,为了保持原始分辨率,可以将第一图像与原始人脸图像对齐叠加,以获取第二图像。在对齐叠加时,可以以人脸特征点中相对刚性的目标特征点为准进行对齐叠加,也可以以所有的人脸特征点为准进行对齐叠加。若第一图像包括rgb通道图像和α通道图像,在将对齐后的第一图像与原始人脸图像进行叠加合成时,可以将α通道图像作为权重,对rgb通道图像和原始人脸图像加权求和,以获取第二图像。具体地,可以采用公式(1)进行加权求和:

iout=irgb×α+iin×(1-α)(1)

其中,iout为第二图像,irgb为rgb通道图像,iin为原始人脸图像,α为α通道图像。

值得注意的是,若第一图像仅为rgb图像,只需将rgb通道图像与原始人脸图像进行对齐叠加即可,当然也可以设置权重对二者进行加权叠加,该权重可以根据实际需要进行设定,本公开实施例对此不做具体限定。

在本公开的一个实施例中,原始人脸图像可以是获取的单帧人脸图像,也可以是对接收到的视频中各图像帧中的人脸信息进行提取所获取的人脸图像,也就是说,本公开的技术方案可以对单帧的人脸图像进行实时处理获取目标对象发生变化的人脸图像,也可以对视频中连续的人脸图像进行实时处理以获取目标对象发生变化的人脸图像。

在本公开的一个实施例中,以对短发男性模拟生成长发为例,图11示出了生成包含长发的人脸图像的流程示意图,如图11所示,在步骤s1101中,获取短发男性的人脸图像或视频帧;在步骤s1102中,对人脸图像或视频帧中的人脸进行检测配准,以获取人脸特征点;在步骤s1103中,根据人脸特征点计算抠取各姿态对齐的人脸区域图像;在步骤s1104中,将人脸区域图像输入至生成网络模型,以获取rgb通道图像和α通道图像,其中rgb通道图像和α通道图像均为包含长发的通道图像;在步骤s1105中,通过合成模块将rgb通道图像、α通道图像和人脸图像或视频帧进行合成,形成长发男性的人脸图像或视频帧。

在本公开的一个实施例中,用户在使用图像处理软件时,可能不仅限于对头发、眼睛、鼻子等某一特征进行改变,也可能想对面部妆容进行改变,例如将男性面部妆容变换为女性面部妆容、将素颜的女性面部妆容变换为浓妆的面部妆容等等,鉴于此,在本公开实施例的技术方案中,可以在获取单帧人脸图像或视频帧后,对其中的人脸图像的面部妆容进行改变,接着对面部妆容改变后的人脸图像执行如图8所示的操作,以获取与面部妆容改变后的人脸图像对应的具有长发的人脸图像;接着可以根据面部妆容改变后的人脸图像和与面部妆容改变后的人脸图像对应的具有长发的人脸图像训练人脸图像模型,以获取训练好的生成网络模型,进而可以通过训练好的生成网络模型在接收到新的人脸图像后,生成与新的人脸图像对应的改变了面部妆容且带有长发的人脸图像。

在本公开的一个实施例中,除了实时对人脸图像中的头发进行模拟,还可以对人脸图像中的眼睛、鼻子、嘴巴、耳朵等部位进行模拟,例如将单眼皮的眼睛转换为双眼皮眼睛、将塌鼻转换为鹰钩鼻、将耳朵变成兔子耳朵等等,只要在获取成对训练数据时,通过相应地区域预测模块对姿态对齐的人脸区域图像预测得到对应部位的区域位置图,并设计与想要改变的部位对应的二维纹理图像,再通过纹理叠加模块将二维纹理图像、区域位置图和人脸区域图像进行叠加即可得到与输入的人脸图像对应的合成人脸图像,人脸图像/人脸区域图像和合成人脸图像即构成了成对训练数据。接着根据成对训练数据对生成对抗网络模型进行训练以获取生成网络模型,该生成网络模型即可对接收到的人脸图像中的相关部位进行相应变换,以生成相关部位特征发生变换的人脸图像。

本公开实施例中的基于人工智能的图像处理方法一方面能够实时对人脸图像进行处理,模拟得到三维效果,即使在人脸角度发生变化时,也能使变换的目标对象相应地发生旋转变化;另一方面通过将生成网络模型生成的图像与原始人脸图像对齐叠加,能够保持脸部和背景的分辨率,提高了生成图像的质量;再一方面,本公开实施例中的模型仅为生成对抗网络模型中的生成网络模型,模型小,图像处理效率高,能够在录制视频的同时实现对目标对象进行变换的效果,进一步提升了用户体验。

以下介绍本公开的装置实施例,可以用于执行本公开上述实施例中的基于人工智能的图像处理方法。对于本公开装置实施例中未披露的细节,请参照本公开上述的基于人工智能的图像处理方法的实施例。

图12示意性示出了根据本公开的一个实施例的基于人工智能的图像处理装置的框图。

参照图12所示,根据本公开的一个实施例的基于人工智能的图像处理装置1200,包括:图像获取模块1201、图像处理模块1202和图像叠加模块1203。

其中,图像获取模块1201,用于获取原始人脸图像,对所述原始人脸图像进行特征提取以获取人脸区域图像;图像处理模块1202,用于将所述人脸区域图像输入至生成网络模型,通过所述生成网络模型对所述人脸区域图像进行特征提取,并基于所提取的特征生成第一图像;其中所述第一图像中目标对象的特征不同于所述原始人脸图像中所述目标对象的特征;图像叠加模块1203,用于将所述第一图像与所述原始人脸图像对齐叠加,以获取第二图像。

在本公开的一个实施例中,所述图像获取模块1201配置为:检测所述原始人脸图像中的人脸区域,并对所述人脸区域进行特征配准以确定人脸特征点;根据所述人脸特征点的位置信息确定所述人脸特征点对应的特征区域;将所述特征区域扩大预设倍数,并根据扩大后的特征区域确定所述人脸区域图像。

在本公开的一个实施例中,所述图像处理模块1202包括:通道图像生成单元,用于对所述人脸区域图像进行特征提取以获取轮廓特征及五官特征,基于所述轮廓特征和所述五官特征获取rgb通道图像和α通道图像,并将所述rgb通道图像和所述α通道图像作为所述第一图像;或者,用于对所述人脸区域图像进行特征提取以获取轮廓特征及五官特征,基于所述轮廓特征和所述五官特征获取rgb通道图像,并将所述rgb通道图像作为所述第一图像。

在本公开的一个实施例中,所述图像叠加模块1203包括:图像对齐单元,用于根据所述人脸特征点将所述第一图像和所述原始人脸图像对齐;图像合成单元,用于将对齐后的所述第一图像与所述原始人脸图像进行叠加合成,以获取所述第二图像。

在本公开的一个实施例中,所述第一图像包括rgb通道图像和α通道图像;所述图像合成单元配置为:将所述α通道图像作为权重,并对所述rgb通道图像和所述原始人脸图像加权求和,以获取所述第二图像。

在本公开的一个实施例中,所述图像处理装置1200还包括:样本获取模块,用于获取人脸区域图像样本和与所述人脸区域图像样本对应的合成图像样本,所述合成图像样本为对所述人脸区域图像样本中的所述目标对象进行处理得到的;模型训练模块,用于根据所述人脸区域图像样本和所述合成图像样本对包含待训练生成网络和待训练判别网络的人脸图像模型进行训练,并将训练好的所述待训练生成网络作为所述生成网络模型。

在本公开的一个实施例中,所述样本获取模块包括:特征点获取单元,用于获取人脸图像样本,对所述人脸图像样本进行检测配准,以获取与人脸图像样本对应的人脸特征点;人脸区域图像样本获取单元,用于从所述人脸特征点中确定目标特征点,并根据所述目标特征点抠取对应不同姿态的所述人脸区域图像样本;区域位置图获取单元,用于通过区域预测模块对所述人脸区域图像样本进行特征提取,以获取与所述目标对象对应的区域位置图;合成图像样本获取单元,用于获取与目标对象对应的二维纹理图像,并将所述人脸区域图像样本、所述区域位置图和所述二维纹理图像叠加以获得与所述人脸区域图像样本对应的合成图像样本。

在本公开的一个实施例中,所述人脸区域图像样本获取单元配置为:根据所述目标特征点确定目标特征区域;固定所述目标特征区域的位置不变,获取对应不同姿态的人脸图像,并将所述人脸图像作为所述人脸区域图像样本。

在本公开的一个实施例中,所述区域位置图获取单元配置为:对所述人脸区域图像样本进行图像分割,以获取所述目标特征点;根据所述目标特征点和预设距离确定与所述目标对象对应的区域,并根据所述目标对象对应的区域获得所述区域位置图。

在本公开的一个实施例中,所述模型训练模块包括:待检测图像生成单元,用于将所述人脸区域图像样本输入至所述人脸图像模型,通过所述待训练生成网络对所述人脸区域图像样本进行特征提取,并基于所提取的特征生成包含优化后的所述目标对象的待检测图像;真实度获取单元,用于将所述待检测图像和所述合成图像样本输入至所述待训练判别网络,通过所述待训练判别网络对所述待检测图像和所述合成图像样本进行特征提取和特征比对,以获取所述待检测图像的真实度;参数调节单元,用于根据所述真实度调节所述人脸图像模型的参数,以使所述人脸图像模型收敛。

在本公开的一个实施例中,所述待检测图像生成单元配置为:对所述人脸区域图像样本进行特征提取,并基于所提取的特征生成rgb通道图像样本和α通道图像样本;将所述α通道图像样本和所述rgb通道图像样本叠加以获取所述待检测图像

在本公开的一个实施例中,图像获取模块1201配置为:将接收到的单帧人脸图像作为所述原始人脸图像;或者,对接收到的视频所包含的各图像帧中的人脸信息进行提取,以获取所述原始人脸图像。

图13示出了适于用来实现本公开实施例的电子设备的计算机系统的结构示意图。

需要说明的是,图13示出的电子设备的计算机系统1300仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。

如图13所示,计算机系统1300包括中央处理单元(centralprocessingunit,cpu)1301,其可以根据存储在只读存储器(read-onlymemory,rom)1302中的程序或者从存储部分1308加载到随机访问存储器(randomaccessmemory,ram)1303中的程序而执行各种适当的动作和处理,实现上述实施例中所述的图像标注方法。在ram1303中,还存储有系统操作所需的各种程序和数据。cpu1301、rom1302以及ram1303通过总线1304彼此相连。输入/输出(input/output,i/o)接口1305也连接至总线1304。

以下部件连接至i/o接口1305:包括键盘、鼠标等的输入部分1306;包括诸如阴极射线管(cathoderaytube,crt)、液晶显示器(liquidcrystaldisplay,lcd)等以及扬声器等的输出部分1307;包括硬盘等的存储部分1308;以及包括诸如lan(localareanetwork,局域网)卡、调制解调器等的网络接口卡的通信部分1309。通信部分1309经由诸如因特网的网络执行通信处理。驱动器1310也根据需要连接至i/o接口1305。可拆卸介质1311,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1310上,以便于从其上读出的计算机程序根据需要被安装入存储部分1308。

特别地,根据本公开的实施例,下文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1309从网络上被下载和安装,和/或从可拆卸介质1311被安装。在该计算机程序被中央处理单元(cpu)1301执行时,执行本公开的系统中限定的各种功能。

需要说明的是,本公开实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compactdiscread-onlymemory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。

作为另一方面,本公开还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的图像处理装置中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本公开实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。

应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

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