CN113808277A - 一种图像处理方法及相关装置 - Google Patents
一种图像处理方法及相关装置 Download PDFInfo
- Publication number
- CN113808277A CN113808277A CN202111302904.6A CN202111302904A CN113808277A CN 113808277 A CN113808277 A CN 113808277A CN 202111302904 A CN202111302904 A CN 202111302904A CN 113808277 A CN113808277 A CN 113808277A
- Authority
- CN
- China
- Prior art keywords
- face
- training
- dimensional face
- target
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 50
- 238000000034 method Methods 0.000 claims abstract description 67
- 238000012549 training Methods 0.000 claims description 387
- 230000006870 function Effects 0.000 claims description 156
- 238000012545 processing Methods 0.000 claims description 78
- 230000001815 facial effect Effects 0.000 claims description 45
- 238000004590 computer program Methods 0.000 claims description 16
- 239000002131 composite material Substances 0.000 claims description 14
- 238000013507 mapping Methods 0.000 claims description 14
- 238000006243 chemical reaction Methods 0.000 claims description 10
- 230000015572 biosynthetic process Effects 0.000 claims description 7
- 238000003786 synthesis reaction Methods 0.000 claims description 7
- 238000000605 extraction Methods 0.000 claims description 6
- 238000001514 detection method Methods 0.000 claims description 4
- 238000013473 artificial intelligence Methods 0.000 abstract description 10
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 20
- 238000005516 engineering process Methods 0.000 description 17
- 230000008921 facial expression Effects 0.000 description 6
- 238000009877 rendering Methods 0.000 description 6
- 238000012360 testing method Methods 0.000 description 6
- 210000000887 face Anatomy 0.000 description 4
- 238000010606 normalization Methods 0.000 description 4
- 230000008447 perception Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 210000001508 eye Anatomy 0.000 description 3
- 210000000697 sensory organ Anatomy 0.000 description 3
- 238000000547 structure data Methods 0.000 description 3
- 238000013135 deep learning Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000005286 illumination Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
- G06T17/205—Re-meshing
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/30—Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
- A63F13/35—Details of game servers
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/65—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition
- A63F13/655—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor automatically by game devices or servers from real world data, e.g. measurement in live racing competition by importing photos, e.g. of the player
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F13/00—Video games, i.e. games using an electronically generated display having two or more dimensions
- A63F13/60—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor
- A63F13/67—Generating or modifying game content before or while executing the game program, e.g. authoring tools specially adapted for game development or game-integrated level editor adaptively or by learning from player actions, e.g. skill level adjustment or by storing successful combat sequences for re-use
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
- G06T19/20—Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/06—Topological mapping of higher dimensional structures onto lower dimensional surfaces
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63F—CARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
- A63F2300/00—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
- A63F2300/50—Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
- A63F2300/55—Details of game data or player data management
- A63F2300/5546—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
- A63F2300/5553—Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history user representation in the game field, e.g. avatar
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2219/00—Indexing scheme for manipulating 3D models or images for computer graphics
- G06T2219/20—Indexing scheme for editing of 3D models
- G06T2219/2021—Shape modification
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Architecture (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Processing Or Creating Images (AREA)
Abstract
本申请实施例公开了一种人工智能领域的图像处理方法及相关装置,其中该方法包括:获取目标图像,目标图像中包括目标对象的面部;根据目标图像确定目标对象对应的三维面部重建参数;基于目标对象对应的三维面部重建参数,构建目标对象对应的三维面部网格;将目标对象对应的三维面部网格转换为目标UV图,目标UV图用于承载目标对象对应的三维面部网格上各顶点的位置数据;根据目标UV图确定目标捏脸参数;基于目标捏脸参数,生成目标对象对应的目标虚拟面部形象。该方法能够使得捏脸生成的虚拟面部形象的三维立体结构与真实人脸的三维立体结构相符,提高捏脸生成的虚拟面部形象的准确性。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种图像处理方法及相关装置。
背景技术
捏脸是支持用户对虚拟对象面部进行自定义修改的功能,目前游戏应用程序、短视频应用程序、图像处理应用程序等均可以为用户提供捏脸功能。
捏脸功能的实现方式主要包括两种,一种是由用户手工操作进行捏脸,即用户通过手动调整捏脸参数的方式,调整虚拟对象的面部形象,直至得到符合其实际需求的虚拟面部形象为止。通常情况下,捏脸功能会涉及大量的可控制点,相应地,可供用户调整的捏脸参数也很多,用户往往需要耗费很长时间调整捏脸参数,才能得到符合其实际需求的虚拟面部形象,捏脸效率较低,无法满足用户期望快速生成个性化虚拟面部形象的应用需求。
另一种是照片自动捏脸,即用户输入人脸图像,由后台系统基于该人脸图像自动预测捏脸参数,进而,利用捏脸系统根据该捏脸参数生成与该人脸图像相似的虚拟面部形象。该种方式虽然具有较高的捏脸效率,但是在三维捏脸场景中的实现效果较差,具体的,该种方式预测捏脸参数时直接基于二维人脸图像进行端到端地预测,如此预测得到的捏脸参数缺乏三维空间信息,相应地,基于该捏脸参数生成的虚拟面部形象,通常存在严重的深度畸变的问题,即所生成的虚拟面部形象的三维立体结构与真实人脸的三维立体结构严重不符,虚拟面部形象上五官的深度信息非常不准确。
发明内容
本申请实施例提供了一种图像处理方法及相关装置,能够使得捏脸生成的虚拟面部形象的三维立体结构与真实人脸的三维立体结构相符,提高捏脸生成的虚拟面部形象的准确性。
有鉴于此,本申请第一方面提供了一种图像处理方法,所述方法包括:
获取目标图像;所述目标图像中包括目标对象的面部;
根据所述目标图像,确定所述目标对象对应的三维面部重建参数;基于所述目标对象对应的三维面部重建参数,构建所述目标对象对应的三维面部网格;
将所述目标对象对应的三维面部网格转换为目标UV图;所述目标UV图用于承载所述目标对象对应的三维面部网格上各顶点的位置数据;
根据所述目标UV图,确定目标捏脸参数;
基于所述目标捏脸参数,生成所述目标对象对应的目标虚拟面部形象。
本申请第二方面提供了一种图像处理装置,所述装置包括:
图像获取模块,用于获取目标图像;所述目标图像中包括目标对象的面部;
三维面部重建模块,用于根据所述目标图像,确定所述目标对象对应的三维面部重建参数;基于所述目标对象对应的三维面部重建参数,构建所述目标对象对应的三维面部网格;
UV图转换模块,用于将所述目标对象对应的三维面部网格转换为目标UV图;所述目标UV图用于承载所述目标对象对应的三维面部网格上各顶点的位置数据;
捏脸参数预测模块,用于根据所述目标UV图,确定目标捏脸参数;
捏脸模块,用于基于所述目标捏脸参数,生成所述目标对象对应的目标虚拟面部形象。
本申请第三方面提供了一种计算机设备,所述设备包括处理器以及存储器:
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序,执行如上述第一方面所述的图像处理方法的步骤。
本申请第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行上述第一方面所述的图像处理方法的步骤。
本申请第五方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述第一方面所述的图像处理方法的步骤。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种图像处理方法,该方法在基于二维图像预测其中对象面部对应的捏脸参数的过程中,引入了该二维图像中对象面部的三维结构信息,从而使得预测得到的捏脸参数能够表征该二维图像中对象面部的三维结构。具体的,在本申请实施例提供的方法中,获取到包括目标对象的面部的目标图像后,可以先根据该目标图像,确定该目标图像中目标对象对应的三维面部重建参数,并且基于该三维面部重建参数,构建该目标对象对应的三维面部网格;如此,确定出目标图像中目标对象面部的三维结构信息。为了将该目标对象面部的三维结构信息引入捏脸参数的预测过程,本申请实施例巧妙地提出了利用UV图承载三维结构信息的实现方式,即,将目标对象对应的三维面部网格转换为对应的目标UV图,利用该目标UV图承载该三维面部网格上各顶点的位置数据。然后,可以根据该目标UV图确定目标对象对应的目标捏脸参数;进而,基于该目标捏脸参数生成该目标对象对应的目标虚拟面部形象。由于预测捏脸参数时依据的目标UV图中承载有目标对象面部的三维结构信息,因此,使得预测得到的目标捏脸参数能够表征该目标对象面部的三维结构,相应地,基于该目标捏脸参数生成的目标虚拟面部形象的三维立体结构能够与目标对象面部的三维立体结构准确匹配,不再存在深度畸变的问题,提高了所生成的虚拟面部形象的准确性。
附图说明
图1为本申请实施例提供的图像处理方法的应用场景示意图;
图2为本申请实施例提供的图像处理方法的流程示意图;
图3为本申请实施例提供的一种捏脸功能的界面示意图;
图4为本申请实施例提供的三维面部的参数化模型的建模参数示意图;
图5为本申请实施例提供的三种UV图;
图6为本申请实施例提供的将三维面部网格上的面片映射至基础UV图中的实现示意图;
图7为本申请实施例提供的另一种捏脸功能的界面示意图;
图8为本申请实施例提供的三维面部重建模型的训练方法的流程示意图;
图9为本申请实施例提供的三维面部重建模型的训练架构示意图;
图10为本申请实施例提供的捏脸参数预测模型的训练方法的流程示意图;
图11为本申请实施例提供的捏脸参数预测模型的训练架构示意图;
图12为本申请实施例提供的三维面部网格预测模型的工作原理示意图;
图13为本申请实施例提供的图像处理方法的实验结果示意图;
图14为本申请实施例提供的图像处理装置的结构示意图;
图15为本申请实施例提供的终端设备的结构示意图;
图16为本申请实施例提供的服务器的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个综合技术,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。
人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习、自动驾驶、智慧交通等几大方向。
计算机视觉技术(Computer Vision,CV)是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟踪和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建、自动驾驶、智慧交通等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
本申请实施例提供的方案涉及人工智能的计算机视觉技术,具体通过如下实施例进行说明:
为了解决相关技术中通过捏脸功能生成的虚拟面部形象存在深度畸变,与真实对象面部的三维立体结构严重不符的问题,本申请实施例提供了一种图像处理方法。
在该图像处理方法中,先获取包括目标对象的面部的目标图像。然后,根据该目标图像确定其中目标对象对应的三维面部重建参数,并且基于该目标对象对应的三维面部重建参数,构建该目标对象对应的三维面部网格。接着,将该目标对象对应的三维面部网格转换为目标UV图,利用该目标UV图承载该目标对象对应的三维面部网格上各顶点的位置数据。进而,根据该目标UV图确定目标捏脸参数。最终,基于该目标捏脸参数,生成目标对象对应的目标虚拟面部形象。
上述图像处理方法,根据目标图像确定其中目标对象对应的三维面部重建参数,并基于该三维面部重建参数,构建该目标对象对应的三维面部网格,如此确定出目标图像中目标对象面部的三维结构信息。考虑到直接基于三维面部网格预测捏脸参数的实现难度较高,本申请实施例巧妙地提出了利用UV图承载三维结构信息的实现方式,即利用目标UV图承载目标对象对应的三维面部网格中各顶点的位置数据,进而,根据该目标UV图确定目标对象面部对应的目标捏脸参数;如此,将基于三维网格结构预测捏脸参数的问题转化为基于二维UV图预测捏脸参数的问题,降低了捏脸参数的预测难度,同时有利于提高捏脸参数的预测准确度,使得预测得到的目标捏脸参数能够准确表征该目标对象面部的三维结构。相应地,基于该目标捏脸参数生成的目标虚拟面部形象的三维立体结构能够与目标对象面部的三维立体结构准确匹配,不再存在深度畸变的问题,提高了所生成的虚拟面部形象的准确性。
应理解,本申请实施例提供的图像处理方法可以由具备图像处理能力的计算机设备执行,该计算机设备可以是终端设备或服务器。其中,终端设备具体可以为计算机、智能手机、平板电脑、个人数字助理(Personal Digital Assistant,PDA)等;服务器具体可以为应用服务器或Web服务器,在实际部署时,可以为独立服务器,也可以为由多个物理服务器构成的集群服务器或云服务器。本申请实施例涉及的图像数据(如图像本身、三维面部网格、捏脸参数、虚拟面部形象等)可以保存于区块链上。
为了便于理解本申请实施例提供的图像处理方法,下面以该图像处理方法的执行主体为服务器为例,对该图像处理方法的应用场景进行示例性介绍。
参见图1,图1为本申请实施例提供的图像处理方法的应用场景示意图。如图1所示,该应用场景中包括终端设备110和服务器120,终端设备110与服务器120之间可以通过网络通信。其中,终端设备110上运行有支持捏脸功能的目标应用程序,例如游戏应用程序、短视频应用程序、图像处理应用程序等;服务器120为目标应用程序的后台服务器,用于执行本申请实施例提供的图像处理方法,以支持该目标应用程序中捏脸功能的实现。
在实际应用中,用户可以通过终端设备110上运行的目标应用程序提供的捏脸功能,向服务器120上传包括目标对象面部的目标图像。例如,用户使用目标应用程序提供的捏脸功能时,可以通过该捏脸功能提供的图像选择控件,在终端设备110本地选择包括目标对象面部的目标图像,终端设备110检测到用户确认完成图像选择操作后,可以通过网络将用户选择的目标图像传输给服务器120。
服务器120接收到终端设备110传输的目标图像后,可以从该目标图像中提取出与目标对象面部相关的三维结构信息。示例性的,服务器120可以通过该三维面部重建模型121,根据该目标图像确定其中目标对象对应的三维面部重建参数,并基于该三维面部重建参数,构建该目标对象对应的三维面部网格。应理解,该目标对象对应的三维面部网格能够表征该目标对象的面部的三维结构。
然后,服务器可以将目标对象对应的三维面部网格转换为目标UV图,以利用该目标UV图来承载该三维面部网格中各顶点的位置数据。考虑到在实际应用中直接基于三维结构数据预测捏脸参数的实现难度较高,因此,本申请实施例提出了将三维图结构数据转换为二维UV图的方式,一方面,能够降低捏脸参数的预测难度,另一方面,能够保证在捏脸参数的预测过程中有效地引入目标对象面部的三维结构信息。
进而,服务器可以根据该目标UV图,确定目标对象对应的目标捏脸参数;示例性的,服务器可以通过捏脸参数预测模型122,根据该目标UV图确定目标对象对应的目标捏脸参数。并利用目标应用程序后台的捏脸系统,基于该目标捏脸参数,生成该目标对象对应的目标虚拟面部形象。该目标虚拟面部形象与目标对象的面部相似,并且该目标虚拟面部形象的三维立体结构与该目标对象的面部的三维立体结构相匹配,该目标虚拟面部形象上的五官的深度信息是准确的。相应地,服务器120可以将该目标虚拟面部形象的渲染数据发送给终端设备110,以使终端设备110基于该渲染数据渲染显示该目标虚拟面部形象。
应理解,图1所示的应用场景仅为示例,在实际应用中,本申请实施例提供的图像处理方法还可以应用于其它场景。例如,本申请实施例提供的图像处理方法可以由终端设备110独立完成,即由终端设备110独立根据用户选择的目标图像,生成该目标图像中目标对象对应的目标虚拟面部形象。又例如,本申请实施例提供的图像处理方法也可以由终端设备110与服务器120协同完成,即由服务器120根据终端设备110上传的目标图像,确定该目标图像中目标对象对应的目标捏脸参数,并将该目标捏脸参数返回给终端设备110,进而由终端设备110根据该目标捏脸参数生成目标对象对应的目标虚拟面部形象。在此不对本申请实施例提供的图像处理方法适用的应用场景进行任何限定。
下面通过方法实施例对本申请提供的图像处理方法进行详细介绍。
参见图2,图2为本申请实施例提供的图像处理方法的流程示意图。为了便于描述,下述实施例仍以该图像处理方法的执行主体为服务器为例进行介绍。如图2所示,该图像处理方法包括以下步骤:
步骤201:获取目标图像;所述目标图像中包括目标对象的面部。
在实际应用中,服务器执行自动捏脸处理前,需要先获取自动捏脸处理所依据的目标图像,该目标图像中应包括目标对象清晰且完整的面部。
在一种可能的实现方式中,服务器可以从终端设备处获取上述目标图像。具体的,在终端设备上运行有具备捏脸功能的目标应用程序的情况下,用户可以通过该目标应用程序中的捏脸功能选择目标图像,进而通过终端设备将用户选择的目标图像发送给服务器。
示例性的,图3为本申请实施例提供的一种捏脸功能的界面示意图。在用户尚未选择目标图像时,该捏脸功能界面上可以显示基础虚拟面部形象301以及该基础虚拟面部形象301对应的基础捏脸参数列表302,该基础捏脸参数列表302中包括基础虚拟面部形象对应的各项捏脸参数,用户此时可以通过调整该基础捏脸参数列表302中的捏脸参数(例如直接调整参数显示栏中的参数,或者通过拖拽参数调整滑条来调整参数),改变该基础虚拟面部形象301。上述捏脸功能界面中还包括图像选择控件303,用户可以通过点击该图像选择控件303,触发执行目标图像的选择操作;例如,用户点击图像选择控件303后,可以从终端设备本地的文件夹中选择任意一张图像作为目标图像。终端设备检测到用户完成目标图像的选择操作后,可以相应地将用户选择的目标图像通过网络发送给服务器。
应理解,在实际应用中,上述捏脸功能界面中还可以包括图像拍摄控件,用户可以通过该图像拍摄控件实时地拍摄目标图像,以使终端设备将所拍摄的目标图像发送给服务器。本申请在此不对终端设备处产生目标图像的方式做任何限定。
在另一种可能的实现方式中,服务器也可以从数据库中获取目标图像。具体的,数据库中存储有大量包括对象面部的图像,这些图像均为待生成与其中的对象对应的虚拟面部形象的图像,服务器可以从该数据库中调取任意一张图像作为目标图像。
应理解,当本申请实施例提供的图像处理方法的执行主体为终端设备时,终端设备可以响应用户操作从本地存储的图像中获取目标图像,也可以响应用户操作实时拍摄图像作为目标图像,本申请在此不对服务器以及终端设备获取目标图像的方式做任何限定。
步骤202:根据所述目标图像,确定所述目标对象对应的三维面部重建参数;基于所述目标对象对应的三维面部重建参数,构建所述目标对象对应的三维面部网格。
服务器获取到目标图像后,可以将该目标图像输入预先训练的三维面部重建模型中,该三维面部重建模型通过对所输入的目标图像进行分析处理,可以相应地确定该目标图像中目标对象对应的三维面部重建参数,并且可以基于该三维面部重建参数,构建该目标对象对应的三维面部网格(3D Mesh)。需要说明的是,上述三维面部重建模型是用于根据二维图像重建该二维图像中对象面部的三维结构的模型;上述三维面部重建参数是三维面部重建模型的中间处理参数,是重建对象三维面部结构所需的参数;上述三维面部网格能够表征对象的三维面部结构,该三维面部网格通常由若干三角形面片组成,此处的三角形面片的顶点是三维面部网格上的顶点,即将三维面部网格上的三个顶点连接起来即可得到三角形面片。
作为一种示例,本申请实施例可以使用三维可形变模型(3D Morphable models,3DMM)作为上述三维面部重建模型。在三维面部重建领域中,通过对3D扫描的面部数据进行主成分分析(Principal Component Analysis,PCA),发现三维面部可以表示为参数化的可形变模型,基于此,三维面部重建可以转化为对参数化面部模型中的参数进行预测,如图4所示,三维面部的参数化模型通常包括对面部形状、面部表情、面部姿态和面部纹理的建模;3DMM模型即是基于上述工作原理工作的。
具体实现时,将目标图像输入3DMM中后,该3DMM可以相应地对该目标图像中目标对象的面部进行分析处理,从而确定该目标图像对应的三维面部重建参数,所确定的三维面部重建参数例如可以包括面部形状参数、面部表情参数、面部姿态参数、面部纹理参数、球谐光照系数;进而,3DMM可以根据所确定的三维面部重建参数,重建该目标对象对应的三维面部网格。
需要说明的是,考虑到实际应用中很多捏脸功能重点在于调整基础虚拟面部形象的形态,使得该虚拟面部形象上五官的形态、以及该虚拟面部形象所呈现的表情与目标图像中的目标对象相接近,而并不考虑使虚拟面部形象的肤色等纹理信息与目标图像中的目标对象相接近,通常选择直接保留基础虚拟面部形象的纹理信息。基于此,本申请实施例通过3DMM确定出与目标图像中目标对象对应的三维面部重建参数后,可以丢弃其中的面部纹理参数,构建该目标对象对应的三维面部网格时直接基于默认的面部纹理数据构建;或者,本申请实施例通过3DMM确定三维面部重建参数时,也可以直接不对面部纹理数据进行预测。如此,减少后续数据处理过程中所需处理的数据量,减轻后续数据处理过程中的数据处理压力。
应理解,在实际应用中,本申请实施例除了可以使用3DMM作为三维面部重建模型外,也可以使用其它能够基于二维图像重建其中对象面部的三维结构的模型作为该三维面部重建模型,本申请在此不对三维面部重建模型做具体限定。
应理解,在实际应用中,服务器除了可以通过三维面部重建模型,确定目标对象对应的三维面部重建参数,构建目标对象对应的三维面部网格外,还可以采用其它方式确定目标对象对应的三维面部重建参数,构建目标对象对应的三维面部网格,本申请对此不做任何限定。
步骤203:将所述目标对象对应的三维面部网格转换为目标UV图;所述目标UV图用于承载所述目标对象对应的三维面部网格上各顶点的位置数据。
服务器构建得到目标图像中目标对象对应的三维面部网格后,可以将该目标对象对应的三维面部网格转换为目标UV图,利用该目标UV图承载目标对象对应的三维面部网格上各顶点的位置数据。
需要说明的是,在实际应用中,UV图是用于包装纹理的三维模型表面的平面表示,U和V分别代表二维空间中的水平轴和垂直轴;UV图中的像素点用于承载三维模型上网格顶点的纹理数据,即利用UV图中像素点的红绿蓝(Red Green Blue,RGB)通道承载三维模型上与该像素点对应的网格顶点的纹理数据(即RGB值),图5中(a)所示即是一种传统的UV图。
在本申请实施例中,不再利用UV图承载三维模型的纹理数据,而是创新性地利用UV图承载三维模型中网格顶点的位置数据。之所以如此处理的原因在于,若直接基于三维面部网格预测捏脸参数,则需要向捏脸参数预测模型输入图结构的三维面部网格,而目前常用的卷积神经网络通常难以直接处理图结构数据,为了解决该问题,本申请实施例提出了将三维面部网格转换为二维UV图的解决方式,从而将三维面部结构信息有效地引入捏脸参数预测过程。
具体将目标对象对应的三维面部网格转换为目标UV图时,服务器可以基于三维面部网格上的顶点与基础UV图中的像素点之间的对应关系、以及该目标对象对应的三维面部网格上各顶点的位置数据,确定该基础UV图中像素点的RGB通道值;然后,基于该基础UV图中像素点的RGB通道值,确定与目标对象面部对应的目标UV图。
需要说明的是,基础UV图是初始的未被赋予三维面部网格的结构信息的UV图,其中各个像素点的RGB通道值均为初始通道值,例如,各个像素点的RGB通道值可以均为0。目标UV图是基于三维面部网格的结构信息对基础UV图进行转换处理得到的UV图,其中像素点的RGB通道值是根据三维面部网格上顶点的位置数据确定的。
通常情况下,拓扑相同的三维面部网格可以共用相同的UV展开形式,即三维面部网格上的顶点与基础UV图中的像素点之间具有固定的对应关系。基于该对应关系,服务器可以相应地确定目标对象对应的三维面部网格上各顶点各自在基础UV图中对应的像素点,进而利用该像素点的RGB通道分别承载与其对应的顶点的xyz坐标。如此确定出基础UV图中与三维面部网格上各顶点各自对应的像素点的RGB通道值后,可以基于这些像素点的RGB通道值,进一步确定基础UV图中未与三维面部网格上的顶点对应的像素点的RGB通道值,从而将基础UV图转换为目标UV图。
具体将基础UV图转换为目标UV图时,服务器需要先利用三维面部网格上的顶点与基础UV图之间的对应关系,确定三维面部网格上的各个顶点各自在基础UV图中对应的像素点;然后,针对三维面部网格上的每个顶点,对其xyz坐标进行归一化处理,并将归一化处理后的xyz坐标分别赋予给其对应的像素点的RGB通道;如此,确定出基础UV图中各个与三维面部网格上的顶点具有对应关系的像素点的RGB通道值。进而,根据基础UV图中这些与三维面部网格上的顶点具有对应关系的像素点的RGB通道值,相应地确定该基础UV图中其它与三维面部网格上的顶点不具有对应关系的像素点的RGB通道值;例如,通过对基础UV图中与三维面部网格上的顶点具有对应关系的像素点的RGB通道值进行插值处理,来确定其它不具有对应关系的像素点的RGB通道值。如此,完成对于基础UV图中各像素点RGB通道的赋值处理后,即可得到对应的目标UV图,实现基础UV图至目标UV图的转换。
需要说明的是,在利用UV图承载目标对象对应的三维面部网格上顶点的xyz坐标值之前,为了适应UV图中RGB通道的取值范围,服务器需要先对目标对象对应的三维面部网格上顶点的xyz坐标值进行归一化处理,以使该三维面部网格上各顶点的xyz坐标值限缩到[0,1]的范围内。
更进一步的,服务器可以通过以下方式确定目标UV图中像素点的RGB通道值:针对目标对象对应的三维面部网格上的每个面片,基于上述三维面部网格上的顶点与基础UV图中的像素点之间的对应关系,在基础UV图中确定该面片的各个顶点各自对应的像素点,并根据每个顶点的位置数据确定其对应的像素点的RGB通道值;然后,根据该面片的各个顶点各自对应的像素点,确定该面片在基础UV图中的覆盖区域,并对该覆盖区域进行栅格化处理;进而,基于栅格化处理后的覆盖区域内包括的像素点的数量,对该面片的各个顶点各自对应的像素点的RGB通道值进行插值处理,并将插值处理后的RGB通道值作为该栅格化处理后的覆盖区域中的像素点的RGB通道值。
示例性的,图6为将三维面部网格上的一个面片映射至基础UV图中的实现示意图。如图6所示,服务器将三维面部网格上的该面片映射至基础UV图中时,可以先基于三维面部网格上的顶点与基础UV图中的像素点之间的对应关系,确定该面片的各个顶点各自在基础UV图中对应的像素点,例如,确定该面片的各个顶点各自在基础UV图中对应的像素点分别为像素点a、像素点b和像素点c;然后,服务器可以将归一化处理后的该面片上各顶点的xyz坐标值分别写入其对应的像素点的RGB通道。服务器确定出面片的各顶点各自在基础UV图中对应的像素点后,可以连接各顶点各自对应的像素点,得到该面片在基础UV图中的覆盖区域,如图6中的区域601;进而,服务器可以对该覆盖区域601进行栅格化处理,得到如图6中区域602所示的栅格化处理后的覆盖区域。
具体进行栅格化处理时,服务器可以确定覆盖区域601涉及的各个像素点,进而利用这些像素点各自对应的区域,组成栅格化处理后的覆盖区域602。或者,服务器也可以针对覆盖区域601涉及的每个像素点,确定其对应的区域与覆盖区域601之间的重合面积,并且判断该重合面积在该像素点对应的区域内的占比是否超过预设比例阈值,若是,则将该像素点作为参考像素点;最终,利用所有参考像素点对应的区域,组成栅格化处理后的覆盖区域602。
对于该栅格化处理后的覆盖区域,服务器可以基于该栅格化处理后的覆盖区域中包括的像素点的数量,对该面片的各顶点各自对应的像素点的RGB通道值进行插值处理,并将插值处理后的RGB通道值赋予给栅格化处理后的覆盖区域中对应的像素点。如图6所示,对于栅格化处理后的覆盖区域602,服务器可以基于其横向覆盖的5个像素点以及其纵向覆盖的5个像素点,对像素点a、像素点b和像素点c各自的RGB通道值进行插值处理,进而相应地将插值处理后得到的RGB通道值赋予给区域602中对应的像素点。
如此,通过上述方式对目标对象对应的三维面部网格上的各个面片分别进行映射处理,利用基础UV图中各个面片各自对应的覆盖区域中的像素点相应地承载三维面部网格上顶点的位置数据,实现了三维面部结构至二维UV图的转换,保证了维UV图可以有效承载三维面部网格对应的三维结构信息,从而有利于将三维面部网格对应的三维结构信息引入捏脸参数的预测过程。经上述处理将得到图5中(b)所示的UV图,该UV图中即承载有目标对象对应的三维面部网格的三维结构信息。
在实际应用中,经上述处理得到的UV图中可能存在部分区域,因三维面部网格中不存在与其对应的顶点而未承载任何位置信息,相应地呈现黑色,为了避免后续捏脸参数预测模型因对此部分区域过分关注,而影响捏脸参数预测结果的准确性,本申请实施例提出了对上述UV图进行缝补处理的方式。
即,服务器可以先通过上述方式,根据目标对象对应的三维面部网格上各顶点的位置数据,确定基础UV图中目标映射区域内各像素点各自的RGB通道值,实现将基础UV图转换为参考UV图;此处的目标映射区域是由目标对象对应的三维面部网格上各个面片各自在基础UV图中的覆盖区域组成的。在上述目标映射区域未覆盖基础UV图的情况下,服务器可以对该参考UV图进行缝补处理,从而将该参考UV图转换为目标UV图。
示例性的,在服务器完成对于基础UV图中与三维面部网格上各面片对应的覆盖区域内像素点的RGB通道值赋值后,即完成对于目标映射区域内各像素点的RGB通道值赋值后,可以确定完成将基础UV图转换为参考UV图的操作。此时,若检测到参考UV图中存在尚未赋值的区域(即黑色区域),服务器可以对该参考UV图进行缝补处理,从而将该参考UV图转换为目标UV图;即,服务器若检测到参考UV图中存在尚未赋值的区域,可以调用OpenCV中的图像修补函数inpaint,通过该图像修补函数inpaint对参考UV图进行缝补处理,使得其中存在的尚未赋值的区域被平滑过渡;若未检测到参考UV图中存在尚未赋值的区域,则可以直接将参考UV图作为目标UV图。
如此,通过对存在未赋值区域的参考UV图进行缝补处理,可以使该参考UV图中的未赋值区域被平滑过渡,从而可以避免后续捏脸参数预测模型因对此部分未赋值区域过分关注,而影响捏脸参数预测结果的准确性。图5中(c)所示的UV图即是通过上述缝补处理后得到的UV图。
步骤204:根据所述目标UV图,确定目标捏脸参数。
服务器得到用于承载目标对象面部的三维结构信息的目标UV图后,可以将该目标UV图输入预先训练的捏脸参数预测模型,该捏脸参数预测模型通过对输入的目标UV图中像素点的RGB通道值进行分析处理,可以相应地输出与目标对象面部对应的目标捏脸参数。需要说明的是,捏脸参数预测模型是预先训练好的用于根据二维UV图预测捏脸参数的模型;目标捏脸参数是构造与目标对象面部相匹配的虚拟面部形象所需的参数,该目标捏脸参数具体可以表现为滑条参数。
应理解,本申请实施例中的捏脸参数预测模型具体可以为残差神经网络(ResNet)模型,如ResNet-18;当然,在实际应用中,还可以使用其它模型结构作为该捏脸参数预测模型,本申请在此不对所使用的捏脸参数预测模型的模型结构做任何限定。
应理解,在实际应用中,服务器除了可以通过捏脸参数预测模型,根据目标UV图确定目标对象对应的捏脸参数外,还可以采用其它方式确定目标对象对应的目标捏脸参数,本申请对此不做任何限定。
步骤205:基于所述目标捏脸参数,生成所述目标对象对应的目标虚拟面部形象。
服务器获取到根据目标UV图预测的目标捏脸参数后,可以利用目标捏脸系统,根据该目标捏脸参数对基础虚拟面部形象进行调整,从而得到与目标对象面部相匹配的目标虚拟面部形象。
在服务器所获取的目标图像是用户通过终端设备上具备捏脸功能的目标应用程序上传的图像的情况下,服务器可以将目标虚拟面部形象的渲染数据发送给该终端设备,以使该终端设备渲染显示该目标虚拟面部形象;或者,在目标应用程序中包括目标捏脸系统的情况下,服务器也可以将所预测的目标捏脸参数发送给该终端设备,以使该终端设备利用目标应用程序中的目标捏脸系统,根据该目标捏脸参数生成该目标虚拟面部形象。
图7为本申请实施例提供的另一种捏脸功能的界面示意图。在该捏脸功能界面中,可以显示目标对象面部对应的目标虚拟面部形象701、以及该目标虚拟面部形象701对应的目标捏脸参数列表702,该目标捏脸参数列表702中包括通过步骤204确定的各项目标捏脸参数。若用户对目标虚拟面部形象701仍存在修改需求,则用户可以通过调整目标捏脸参数列表702中的捏脸参数(例如,直接调整参数显示栏中的参数,或者通过拖拽参数调整滑条来调整参数),调整该目标虚拟面部形象701。
上述图像处理方法,根据目标图像确定其中目标对象对应的三维面部重建参数,并基于该三维面部重建参数,构建该目标对象对应的三维面部网格,如此确定出目标图像中目标对象面部的三维结构信息。考虑到直接基于三维面部网格预测捏脸参数的实现难度较高,本申请实施例巧妙地提出了利用UV图承载三维结构信息的实现方式,即利用目标UV图承载目标对象对应的三维面部网格中各顶点的位置数据,进而,根据该目标UV图确定目标对象面部对应的目标捏脸参数;如此,将基于三维网格结构预测捏脸参数的问题转化为基于二维UV图预测捏脸参数的问题,降低了捏脸参数的预测难度,同时有利于提高捏脸参数的预测准确度,使得预测得到的目标捏脸参数能够准确表征该目标对象面部的三维结构。相应地,基于该目标捏脸参数生成的目标虚拟面部形象的三维立体结构能够与目标对象面部的三维立体结构准确匹配,不再存在深度畸变的问题,提高了所生成的虚拟面部形象的准确性。
针对图2所示实施例中步骤202使用的三维面部重建模型,本申请实施例还提出了对于该三维面部重建模型的自监督训练方式。
理论上,如果给出大量的训练图像及其各自对应的三维面部重建参数,可以采用有监督学习的方式训练出用于根据图像预测三维面部重建参数的模型,但是经本申请发明人研究发现,该种训练方法存在明显的弊端。一方面,大量的包括人物面部的训练图像及其对应的三维面部重建参数是很难获得的,需要耗费极高的成本获取训练样本;另一方面,通常情况下,需要使用既有的性能较优的三维重建算法计算训练图像对应的三维面部重建参数,进而以此作为有监督学习的训练样本,而这会使得所要训练的三维面部重建模型的精度受限于产生该训练样本的既有模型的精度。为了解决上述弊端,本申请实施例提出了如下的三维面部重建模型训练方法。
参见图8,图8为本申请实施例提供的三维面部重建模型的训练方法的流程示意图。为了便于描述,下述实施例以该模型训练方法的执行主体为服务器为例进行介绍,应理解,该模型训练方法在实际应用中也可以由其它计算机设备(如终端设备)执行。如图8所示,该模型训练方法包括以下步骤:
步骤801:获取训练图像;所述训练图像中包括训练对象的面部。
服务器训练三维面部重建模型前,需要先获取用于训练该三维面部重建模型的训练样本,即获取大量的训练图像。由于所训练的三维面部重建模型用于重建面部三维结构,因此所获取的训练图像中应包括训练对象的面部,该训练图像中的面部应尽量清晰且完整。
步骤802:通过待训练的初始三维面部重建模型,根据所述训练图像,确定所述训练对象对应的预测三维面部重建参数;基于所述训练对象对应的预测三维面部重建参数,构建所述训练对象对应的预测三维面部网格。
服务器获取到训练图像后,可以基于所获取的训练图像对初始三维面部重建模型进行训练。该初始三维面部重建模型是图2所示实施例中三维面部重建模型的训练基础,该初始三维面部重建模型与图2所示实施例中的三维面部重建模型的结构相同,但是该初始三维面部重建模型的模型参数是初始化的。
训练该初始三维面部重建模型时,服务器可以将训练图像输入该初始三维面部重建模型,该初始三维面部重建模型可以相应地确定训练图像中训练对象对应的预测三维面部重建参数,并基于该预测三维面部重建参数,构建该训练对象对应的预测三维面部网格。
示例性的,初始三维面部重建模型中可以包括参数预测结构和三维网格重建结构;该参数预测结构具体可以采用ResNet-50,假设参数化面部模型共需要239个参数表示(其中包括用于表示面部形状的80个参数、用于表示面部表情的64个参数、用于表示面部纹理的80个参数、用于表示面部姿态的6个参数、以及用于表示球谐光照系数的9个参数),在此情况下,可以将ResNet-50的最后一层全连接层替换为239个神经元。
图9为本申请实施例提供的三维面部重建模型的训练架构示意图,如图9所示,服务器将训练图像I输入初始三维面部重建模型中后,该初始三维面部重建模型中的参数预测结构ResNet-50可以相应地预测239维的预测三维面部重建参数x,进而,该初始三维面部重建模型中的三维网格重建结构,可以基于该239维的三维面部重建参数x,构建对应的预测三维面部网格。
步骤803:通过可微分渲染器,根据所述训练对象对应的预测三维面部网格,生成预测合成图像。
服务器通过初始三维面部重建模型,构建出训练图像中训练对象对应的预测三维面部网格后,可以进一步利用可微分渲染器,根据该训练对象对应的预测三维面部网格,生成二维的预测合成图像。需要说明的是,可微分渲染器用于将传统的渲染过程近似为可微分的过程,其中包括能够顺利求导的渲染管线;在深度学习的梯度回传过程中,可微分渲染器可以发挥重大作用,即使用可微分渲染器有利于实现模型训练过程中的梯度回传。
如图9所示,服务器通过初始三维面部重建模型生成预测三维面部网格后,可以使用可微分渲染器对该预测三维面部网格进行渲染处理,以将该预测三维面部网格转换为二维的预测合成图像I’。本申请训练初始三维面部重建模型时,旨在使得通过可微分渲染器生成的预测合成图像I’与输入至初始三维面部重建模型中的训练图像I相接近。
步骤804:根据所述训练图像和所述预测合成图像间的差异,构建第一目标损失函数;基于所述第一目标损失函数,训练所述初始三维面部重建模型。
服务器通过可微分渲染器生成训练图像对应的预测合成图像后,可以根据该训练图像与该预测合成图像之间的差异,构建第一目标损失函数;进而,以最小化该第一目标损失函数为目标,对初始三维面部重建模型的模型参数进行调整,实现对该初始三维面部重建模型的训练。
在一种可能的实现方式中,服务器可以构建图像重构损失函数、关键点损失函数和全局感知损失函数中的至少一种,作为上述第一目标损失函数。
作为一种示例,服务器可以根据训练图像中的面部区域与预测合成图像中的面部区域之间的差异,构建图像重构损失函数。具体的,服务器可以确定训练图像I中的面部区域Ii和预测合成图像I’中的面部区域Ii’,进而通过如下的式(1)构建图像重构损失函数Lp(x):
作为一种示例,服务器可以对训练图像和预测合成图像分别进行面部关键点检测处理,得到该训练图像对应的第一面部关键点集合、以及该预测合成图像对应的第二面部关键点集合;进而,根据该第一面部关键点集合与该第二面部关键点集合之间的差异,构建关键点损失函数。
具体的,服务器可以利用面部关键点检测器,分别对训练图像I和预测合成图像I’进行面部关键点检测处理,得到该训练图像I对应的第一面部关键点集合Q(其中包括训练图像中面部区域内的各个关键点q)、以及该预测合成图像I’对应的第二面部关键点集合Q’(其中包括预测合成图像中面部区域内的各个关键点q’);进而,可以将第一面部关键点集合Q和第二面部关键点集合Q’中具有对应关系的关键点组成关键点对,并根据各关键点对中分别属于两个面部关键点集合的两个关键点之间的位置差异,通过如下的式(2)构建关键点损失函数关键点损失函数Llan(x):
其中,N为第一面部关键点集合Q和第二面部关键点集合Q’各自包括的关键点的数量,第一面部关键点集合Q和第二面部关键点集合Q’各自包括的关键点的数量相同。qn为第一面部关键点集合Q中的第n个关键点,qn’为第二面部关键点集合Q’中的第n个关键点,qn与qn’之间具有对应关系。是为第n个关键点配置的权重,对于面部关键点集合中不同的关键点可以配置不同的权重,在本申请实施例中,可以提高嘴巴、眼睛、鼻子等关键部位处的关键点的权重。
作为一种示例,服务器可以通过面部特征提取网络,对训练图像和预测合成图像分别进行深层特征提取处理,得到该训练图像对应的第一深层全局特征、以及该预测合成图像对应的第二深层全局特征;然后根据该第一深层全局特征与该第二深层全局特征之间的差异,构建全局感知损失函数。
具体的,服务器可以通过面部识别网络f提取训练图像I和预测合成图像I’的各自深层全局特征,即第一深层全局特征f(I)和第二深层全局特征f(I’),然后计算第一深层全局特征f(I)与第二深层全局特征f(I’)之间的余弦距离,并基于该余弦距离构建全局感知损失函数Lper(x);具体构建全局感知损失函数Lper(x)的公式如下式(3)所示:
在服务器只构建了图像重构损失函数、关键点损失函数和全局感知损失函数中的一种损失函数的情况下,服务器可以直接将所构建的损失函数作为第一目标损失函数;并直接基于该第一目标损失函数,训练初始三维面部重建模型。在服务器构建了图像重构损失函数、关键点损失函数和全局感知损失函数中的多种损失函数的情况下,服务器可以将所构建的多种损失函数均作为第一目标损失函数;进而,对这多个第一目标损失函数进行加权求和处理,并利用加权求和处理后得到的损失函数,训练初始三维面部重建模型。
服务器通过上述方式基于训练图像及其对应的预测合成图像之间的差异,构建多种损失函数,并基于这多种损失函数训练初始三维面部重建模型,有利于快速提升所训练的初始三维面部重建模型的性能,并且保证训练得到的三维面部重建模型具有较优的性能,能够准确地基于二维图像重建三维结构。
在一种可能的实现方式中,服务器除了可以基于训练图像及其对应的预测合成图像之间的差异,构建用于训练初始三维面部重建模型的损失函数外,还可以基于初始三维面部重建模型中间生成的预测三维面部重建参数,构建用于训练初始三维面部重建模型的损失函数。
即,服务器可以根据训练对象对应的预测三维面部重建参数,构建正则项损失函数,作为第二目标损失函数。相应地,服务器训练初始三维面部重建模型时,可以基于上述第一目标损失函数和该第二目标损失函数,训练该初始三维面部重建模型。
具体的,各项三维面部重建参数本身应符合高斯正态分布,因此,可以出于将各项预测三维面部重建参数限制在合理范围内的考量,构建正则项损失函数Lcoef(x),作为用于训练初始三维面部重建模型的第二目标损失函数;该正则项损失函数Lcoef(x)具体可以通过如下的式(4)构建:
服务器基于第一目标损失函数和第二目标损失函数,训练初始三维面部重建模型时,可以对各第一目标损失函数(包括图像重构损失函数、关键点损失函数和全局感知损失函数中的至少一种)和该第二目标损失函数进行加权求和处理,进而利用加权求和处理后得到的损失函数,训练初始三维面部重建模型。
如此,同时基于根据训练图像及其对应的预测合成图像之间的差异构建的第一目标损失函数、以及根据初始三维面部重建模型确定的预测三维面部重建参数构建的第二目标损失函数,对初始三维面部重建模型进行训练,有利于快速地提高所训练的初始三维面部重建模型的模型性能,并且保证所训练的初始三维面部重建模型预测的三维面部重建参数具有较高的准确性。
步骤805:当所述初始三维面部重建模型满足第一训练结束条件时,确定所述初始三维面部重建模型作为所述三维面部重建模型。
基于不同的训练图像,循环执行上述步骤802至步骤804,直至检测到所训练的初始三维面部重建模型满足预设的第一训练结束条件为止,并将满足第一训练结束条件的初始三维面部重建模型,作为可以投入实际应用的三维面部重建模型,即图2所示实施例中步骤202中使用的三维面部重建模型。
应理解,上述第一训练结束条件可以是该初始三维面部重建模型的重建准确度高于预设准确度阈值;示例性的,服务器可以利用所训练的初始三维面部重建模型对测试样本集中的测试图像进行三维重建处理,并通过可微分渲染器根据重建得到的预测三维面部网格生成对应的预测合成图像,进而,根据各测试图像及其各自对应的预测合成图像之间的相似度,确定该初始三维面部重建模型的重建准确度;若该重建准确度高于预设准确度阈值,则可以将该初始三维面部重建模型作为三维面部重建模型。上述第一训练结束条件也可以是该初始三维面部重建模型的重建准确度不再有明显提高,还可以是对于初始三维面部重建模型的迭代训练轮次达到预设轮次,等等,本申请在此不对该第一训练结束条件做任何限定。
上述三维面部重建模型的训练方法,在训练三维面部重建模型的过程中引入了可微分渲染器,通过该可微分渲染器,基于三维面部重建模型重建的预测三维面部网格生成预测合成图像,进而利用该预测合成图像与输入至所训练的三维面部重建模型中的训练图像之间的差异,对该三维面部重建模型进行训练,实现了对于三维面部重建模型的自监督学习。如此,既无需获取大量的包括训练图像及其对应的三维面部重建参数的训练样本,节约了模型训练成本,又可以避免所训练的三维面部重建模型的精度受到既有模型算法精度的限制。
针对图2所示实施例中步骤204使用的捏脸参数预测模型,本申请实施例还提出了对于该捏脸参数预测模型的自监督训练方式。
给定一套捏脸系统,即可利用该捏脸系统,根据随机生成的若干组捏脸参数生成对应的三维面部网格,进而利用捏脸参数及其对应的三维面部网格组成训练样本,如此即可得到大量的训练样本。理论上,在拥有大量的训练样本的情况下,可以直接利用这些训练样本,完成对于用于根据UV图预测捏脸参数的捏脸参数预测模型的回归训练。但是经本申请发明人研究发现,这些训练方法存在很大的弊端;具体的,由于训练样本中的捏脸参数是随机生成的,因此可能存在大量训练样本中的数据并不符合真实的面部形态分布,基于这种训练样本训练得到的捏脸参数预测模型,可能难以准确地预测真实的面部形态对应的捏脸参数,即如果输入的UV图不是基于捏脸系统仿真得到的,而是基于三维面部重建模型重建得到的,该捏脸参数预测模型的表现能力可能会因这两种数据分布的不同而大幅降低。为了解决上述弊端,本申请实施例提出了如下的捏脸参数预测模型的训练方法。
参见图10,图10为本申请实施例提供的捏脸参数预测模型的训练方法的流程示意图。为了便于描述,下述实施例以该模型训练方法的执行主体为服务器为例进行介绍,应理解,该模型训练方法在实际应用中也可以由其它计算机设备(如终端设备)执行。如图10所示,该模型训练方法包括以下步骤:
步骤1001:获取第一训练三维面部网格;所述第一训练三维面部网格是基于真实的对象面部重建的。
服务器训练捏脸参数预测模型前,需要先获取用于训练该捏脸参数预测模型的训练样本,即获取大量的第一训练三维面部网格。为了保证所训练的捏脸参数预测模型能够准确地预测真实对象面部对应的捏脸参数,所获取的第一训练三维面部网格应是基于真实的对象面部重建得到的。
示例性的,服务器可以基于真实人物面部数据集CelebA,重建出大量的三维面部网格,作为上述第一训练三维面部网格。
步骤1002:将所述第一训练三维面部网格转换为对应的第一训练UV图。
由于本申请实施例所要训练的捏脸参数预测模型是基于UV图预测捏脸参数的,因此,服务器获取到第一训练三维面部网格后,还需要将所获取的第一训练三维面部网格转换为对应的UV图,即第一训练UV图,利用该第一训练UV图承载该第一训练三维面部网格上各顶点的位置数据。具体将三维面部网格转换为对应的UV图的实现方式,可以参见图2所示实施例中步骤203的相关介绍内容,此处不再赘述。
步骤1003:通过待训练的初始捏脸参数预测模型,根据所述第一训练UV图,确定所述第一训练三维面部网格对应的预测捏脸参数。
服务器转换得到第一训练三维面部网格对应的第一训练UV图后,可以基于该第一训练UV图对初始捏脸参数预测模型进行训练,该初始捏脸参数预测模型即是图2所示实施例中捏脸参数预测模型的训练基础,该初始捏脸参数预测模型与图2所示实施例中的捏脸参数预测模型的结构相同,但是该初始捏脸参数预测模型的模型参数是初始化得到的。
训练该初始捏脸参数预测模型时,服务器可以将第一训练UV图输入该初始捏脸参数预测模型,该初始捏脸参数预测模型通过对该第一训练UV图进行分析处理,可以相应地输出第一训练三维面部网格对应的预测捏脸参数。
示例性的,图11为本申请实施例提供的捏脸参数预测模型的训练架构示意图。如图11所示,服务器可以将第一训练UV图输入初始捏脸参数预测模型mesh2param中,该mesh2param通过对该第一训练UV图进行分析处理,可以相应地输出对应的预测捏脸参数param。此处使用的初始捏脸参数预测模型例如可以为ResNet-18。
步骤1004:通过三维面部网格预测模型,根据所述第一训练三维面部网格对应的预测捏脸参数,确定所述第一训练三维面部网格对应的预测三维面部数据。
服务器通过初始捏脸参数预测模型,预测出第一训练三维面部网格对应的预测捏脸参数后,可以进一步利用预先训练好的三维面部网格预测模型,根据该第一训练三维面部网格对应的预测捏脸参数,生成该第一训练三维面部网格对应的预测三维面部数据。需要说明的是,三维面部网格预测模型是用于根据捏脸参数预测三维面部数据的模型。
在一种可能的实现方式中,服务器通过三维面部网格预测模型确定的预测三维面部数据可以为UV图;即服务器可以通过三维面部网格预测模型,根据第一训练三维面部网格对应的预测捏脸参数,确定该第一训练三维面部网格对应的第一预测UV图;也即该三维面部网格预测模型是用于根据捏脸参数预测用于承载三维结构信息的UV图的模型。
如图11所示,服务器通过初始捏脸参数预测模型生成第一训练三维面部网格对应的预测捏脸参数后,可以进一步利用三维面部网格预测模型param2mesh,根据该预测捏脸参数,生成第一训练三维面部网格对应的第一预测UV图。如此,使得三维面部网格预测模型用于预测UV图,有利于后续基于训练UV图与预测UV图之间的差异构建损失函数,更有助于辅助提高所训练的初始捏脸参数预测模型的模型性能。
在该种实现方式中使用的三维面部网格预测模型,可以是通过以下方式训练得到的:获取网格预测训练样本;该网格预测训练样本中包括训练捏脸参数及其对应的第二训练三维面部网格,此处的第二训练三维面部网格是通过捏脸系统基于其对应的训练捏脸参数生成的。然后,将网格预测训练样本中的第二训练三维面部网格转换为对应的第二训练UV图。进而,通过待训练的初始三维面部网格预测模型,根据该网格预测训练样本中的训练捏脸参数,确定第二预测UV图。接着,根据第二训练UV图与第二预测UV图之间的差异,构建第四目标损失函数;并基于该第四目标损失函数,训练该初始三维面部网格预测模型。当确定该初始三维面部网格预测模型满足第三训练结束条件时,可以将该初始三维面部网格预测模型作为上述三维面部网格预测模型。
具体的,服务器可以预先随机生成若干组训练捏脸参数,针对每组训练捏脸参数,服务器可以利用捏脸系统根据该组训练捏脸参数生成对应的三维面部网格,作为该组训练捏脸参数对应的第二训练三维面部网格,进而利用该组训练捏脸参数及其对应的第二训练三维面部网格,组成网格预测训练样本。如此,基于随机生成的若干组训练捏脸参数,服务器可以通过上述方式生成大量的网格预测训练样本。
由于该种实现方式中使用的三维面部网格预测模型,用于基于捏脸参数预测用于承载三维面部网格的三维结构信息的UV图,因此,服务器还需要针对每个网格预测训练样本,将其中的第二训练三维面部网格转换为对应的第二训练UV图,具体将三维面部网格转换为对应的UV图的实现方式,可以参见图2所示实施例中步骤203的相关介绍内容,此处不再赘述。
然后,服务器可以将网格预测训练样本中的训练捏脸参数,输入至所需训练的初始三维面部网格预测模型中,该初始三维面部网格预测模型通过对输入的训练捏脸参数进行分析处理,将相应地输出第二预测UV图。示例性的,服务器可以将网格预测训练样本中的p个训练捏脸参数视为单一像素点,其特征通道数为p,即输入特征的尺寸为[1,1,p],如图12所示,本申请实施例可以采用反卷积的形式,逐步地对尺寸为[1,1,p]的特征进行反卷积、上采样处理,最终扩展成尺寸为[256,256,3]的第二预测UV图。
进而,服务器可以根据网格预测训练样本中的第二训练UV图与该第二预测UV图之间的差异,构建第四目标损失函数;并以使该第四目标损失函数收敛作为训练目标,调整初始三维面部网格预测模型的模型参数,实现对该初始三维面部网格预测模型的训练。当确认该初始三维面部网格预测模型满足第三训练结束条件时,服务器可以确定完成对该初始三维面部网格预测模型的训练,将该初始三维面部网格预测模型作为三维面部网格预测模型。
应理解,此处的第三训练结束条件可以为所训练的初始三维面部网格预测模型的预测准确度达到预设准确度阈值,或者也可以为所训练的初始三维面部网格预测模型的模型性能不再有明显提升,又或者还可以为对于该初始三维面部网格预测模型的迭代训练轮次达到预设轮次,本申请在此不对该第三训练结束条件做任何限定。
在另一种可能的实现方式中,服务器通过三维面部网格预测模型确定的预测三维面部数据可以为三维面部网格;即服务器可以通过三维面部网格预测模型,根据第一训练三维面部网格对应的预测捏脸参数,确定该第一训练三维面部网格对应的第一预测三维面部网格;也即该三维面部网格预测模型是用于根据捏脸参数预测三维面部网格的模型。
示例性的,服务器通过初始捏脸参数预测模型生成第一训练三维面部网格对应的预测捏脸参数后,可以进一步利用三维面部网格预测模型,根据该预测捏脸参数,生成第一训练三维面部网格对应的第一预测三维面部网格。如此,使得三维面部网格预测模型用于预测三维面部网格,有利于后续基于训练三维面部网格本身与该预测三维面部网格之间的差异构建损失函数,也有利于辅助提高所训练的初始捏脸参数预测模型的模型性能。
在该种实现方式中使用的三维面部网格预测模型,可以是通过以下方式训练得到的:获取网格预测训练样本;该网格预测训练样本中包括训练捏脸参数及其对应的第二训练三维面部网格,此处的第二训练三维面部网格是通过捏脸系统基于其对应的训练捏脸参数生成的。然后,通过待训练的初始三维面部网格预测模型,根据网格预测训练样本中的训练捏脸参数,确定第二预测三维面部网格。进而,根据该第二训练三维面部网格与该第二预测三维面部网格之间的差异,构建第五目标损失函数;并基于该第五损失函数,训练该初始三维面部网格预测模型。当确定该初始三维面部网格预测模型满足第四训练结束条件时,可以将该初始三维面部网格预测模型作为上述三维面部网格预测模型。
具体的,服务器可以预先随机生成若干组训练捏脸参数,针对每组训练捏脸参数,服务器可以利用捏脸系统根据该组训练捏脸参数生成对应的三维面部网格,作为该组训练捏脸参数对应的第二训练三维面部网格,进而利用该组训练捏脸参数及其对应的第二训练三维面部网格,组成网格预测训练样本。如此,基于随机生成的若干组训练捏脸参数,服务器可以通过上述方式生成大量的网格预测训练样本。
然后,服务器可以将网格预测训练样本中的训练捏脸参数,输入至所需训练的初始三维面部网格预测模型中,该初始三维面部网格预测模型通过对输入的训练捏脸参数进行分析处理,将相应地输出第二预测三维面部网格。
进而,服务器可以根据网格预测训练样本中的第二训练三维面部网格与该第二预测三维面部网格之间的差异,构建第五目标损失函数,具体的,服务器可以根据第二训练三维面部网格与第二预测三维面部网格中具有对应关系的顶点之间的位置差异,构建该第五损失函数。并以使该第五目标损失函数收敛作为训练目标,调整初始三维面部网格预测模型的模型参数,实现对该初始三维面部网格预测模型的训练。当确认该初始三维面部网格预测模型满足第四训练结束条件时,服务器可以确定完成对该初始三维面部网格预测模型的训练,将该初始三维面部网格预测模型作为三维面部网格预测模型。
应理解,此处的第四训练结束条件可以为所训练的初始三维面部网格预测模型的预测准确度达到预设准确度阈值,或者也可以为所训练的初始三维面部网格预测模型的模型性能不再有明显提升,又或者还可以为对于该初始三维面部网格预测模型的迭代训练轮次达到预设轮次,本申请在此不对该第四训练结束条件做任何限定。
步骤1005:根据所述第一训练三维面部网格对应的训练三维面部数据与预测三维面部数据之间的差异,构建第三目标损失函数;基于所述第三目标损失函数,训练所述初始捏脸参数预测模型。
服务器通过步骤1004获得第一训练三维面部网格对应的预测三维面部数据后,可以根据该第一训练三维面部网格对应的训练三维面部数据与该预测三维面部数据之间的差异,构建第三目标损失函数。进而,以使该第三目标损失函数收敛为训练目标,调整初始捏脸参数预测模型的模型参数,实现对于该初始捏脸参数预测模型的训练。
在一种可能的实现方式中,若步骤1004中使用的三维面部网格预测模型是用于预测UV图的模型,该三维面部网格预测模型根据输入的第一训练三维面部网格对应的预测捏脸参数,输出的是该第一训练三维面部网格对应的第一预测UV图,则服务器此时可以根据该第一训练三维面部网格对应的第一训练UV图与该第一预测UV图之间的差异,构建上述第三目标损失函数。
如图11所示,服务器可以根据输入至初始捏脸参数预测模型的第一训练UV图、以及三维面部网格预测模型输出的第一预测UV图之间的差异,构建用于训练初始捏脸参数预测模型的第三目标损失函数。具体的,服务器可以根据第一训练UV图的图像特征与第一预测UV图的图像特征之间的差异,构建第三目标损失函数。
在另一种可能的实现方式中,若步骤1004中使用的三维面部网格预测模型是用于预测三维面部网格的模型,该三维面部网格预测模型根据输入的第一训练三维面部网格对应的预测捏脸参数,输出的是该第一训练三维面部网格对应的第一预测三维面部网格,则服务器此时可以根据该第一训练三维面部网格与该第一预测三维面部网格之间的差异,构建上述第三目标损失函数。
具体的,服务器可以根据第一训练三维面部网格和第一预测三维面部网格中具有对应关系的顶点之间的位置差异,构建第三目标损失函数。
步骤1006:当所述初始捏脸参数预测模型满足第二训练结束条件时,确定所述初始捏脸参数预测模型作为所述捏脸参数预测模型。
基于不同的第一训练三维面部网格,循环执行上述步骤1002至步骤1004,直至检测到所训练的初始捏脸参数预先模型满足预设的第二训练结束条件为止,进而将该满足第二训练结束条件的初始捏脸参数预先模型,作为可以投入实际应用的捏脸参数预先模型,即图2所示实施例中步骤204中使用的捏脸参数预测模型。
应理解,上述第二训练结束条件可以是该初始捏脸参数模型的预测准确度达到预设准确度阈值;示例性的,服务器可以利用所训练的初始捏脸参数预测模型基于测试样本集中的测试UV图确定对应的预测捏脸参数,并通过三维面部网格预测模型根据该预测捏脸参数生成预测UV图,进而,根据各测试UV图及其各自对应的预测UV图之间的相似度,确定该初始捏脸参数的预测准确度;若该预测准确度高于预设准确度阈值,则可以将该初始捏脸参数预测模型作为捏脸参数预测模型。上述第一训练结束条件也可以是该初始捏脸参数预测模型的预测准确度不再有明显提高,还可以是对于初始捏脸参数预测模型的迭代训练轮次达到预设轮次,等等,本申请在此不对该第二训练结束条件做任何限定。
上述捏脸参数预测模型的训练方法,在训练捏脸参数预测模型的过程中,利用预先训练好的三维面部网格预测模型,基于所训练的捏脸参数预测模型确定的预测捏脸参数还原对应的UV图,进而,利用还原出的UV图与输入至捏脸参数预测模型中的UV图之间的差异,对该捏脸参数预测模型进行训练,实现了对于该捏脸参数预测模型的自监督学习。由于训练捏脸参数预测模型时使用的训练样本均是基于真实对象面部构建的,因此可以保证所训练的捏脸参数预测模型可以准确地预测真实的面部形态对应的捏脸参数,保证了捏脸参数预测模型的预测准确度。
为了便于进一步理解本申请实施例提供的图像处理方法,下面以该图像处理方法用于实现游戏应用程序中的捏脸功能为例,对该图像处理方法进行整体示例性介绍。
用户使用游戏应用程序时,可以选择使用该游戏应用程序中的捏脸功能,生成个性化的虚拟角色面部形象。具体的,游戏应用程序的捏脸功能界面中可以包括图像上传控件,用户点击该图像上传控件后,可以从终端设备本地选择包括清晰且完整的人脸的图像作为目标图像,例如,用户可以选择自拍照片作为目标图像;游戏应用程序检测到用户完成目标图像的选择后,可以使终端设备将用户选择的目标图像发送给服务器。
服务器接收到目标图像后,可以先利用3DMM重建该目标图像中的人脸对应的三维面部网格。具体的,服务器可以将目标图像输入3DMM中,3DMM可以相应地确定该目标图像中的人脸区域,并根据该人脸区域确定人脸对应的三维面部重建参数,例如面部形状参数、面部表情参数、面部姿态参数、面部纹理参数等;进而,3DMM可以根据所确定的三维面部重建参数,构建该目标图像中人脸对应的三维面部网格。
然后,服务器可以将该人脸对应的三维面部网格转换为对应的目标UV图,即根据预先设定的三维面部网格上的顶点与基础UV图中的像素点之间的对应关系,将该人脸对应的三维面部网格上各顶点的位置数据映射为基础UV图中对应的像素点的RGB通道值,并基于基础UV图中与网格顶点对应的像素点的RGB通道值,相应地确定基础UV图中其它像素点的RGB通道值,如此得到目标UV图。
进而,服务器可以将该目标UV图输入ResNet-18模型中,该ResNet-18模型是预先训练好的捏脸参数预测模型,该ResNet-18模型可以通过对输入的目标UV图进行分析处理,确定与目标图像中的人脸相对应的目标捏脸参数。服务器确定出目标捏脸参数后,可以将该目标捏脸参数反馈给终端设备。
最终,终端设备中的游戏应用程序,可以利用自身运行的捏脸系统根据该目标捏脸参数,生成与目标图像中的人脸相匹配的目标虚拟面部形象;若用户对该目标虚拟面部形象仍存在调整需求,用户还可以通过捏脸功能界面中的调整滑条,对该目标虚拟面部形象进行相应地调整。
应理解,本申请实施例提供的图像处理方法,除了可以用于实现游戏应用程序中的捏脸功能,还可以用于实现其它类型的应用程序(如短视频应用程序、图像处理应用程序等)中的捏脸功能,在此不对本申请实施例提供的图像处理方法具体适用的应用场景做任何限定。
图13示出了采用本申请实施例提供的图像处理方法的实验结果。如图13所示,采用本申请实施例提供的图像处理方法分别对三张输入图像进行处理,得到这三张图像中的人物面部各自对应的虚拟面部形象,无论从正脸来看,还是从侧脸来看,所生成的虚拟面部形象与输入图像中的人脸之间均有较高的匹配度,并且从侧脸来看,所生成的虚拟面部形象的三维立体结构与真实人脸的三维立体结构准确匹配。
针对上文描述的图像处理方法,本申请还提供了对应的图像处理装置,以使上述图像处理方法在实际中得以应用及实现。
参见图14,图14是与上文图2所示的图像处理方法对应的一种图像处理装置1400的结构示意图。如图14所示,该图像处理装置1400包括:
图像获取模块1401,用于获取目标图像;所述目标图像中包括目标对象的面部;
三维面部重建模块1402,用于根据所述目标图像,确定所述目标对象对应的三维面部重建参数;基于所述目标对象对应的三维面部重建参数,构建所述目标对象对应的三维面部网格;
UV图转换模块1403,用于将所述目标对象对应的三维面部网格转换为目标UV图;所述目标UV图用于承载所述目标对象对应的三维面部网格上各顶点的位置数据;
捏脸参数预测模块1404,用于根据所述目标UV图,确定目标捏脸参数;
捏脸模块1405,用于基于所述目标捏脸参数,生成所述目标对象对应的目标虚拟面部形象。
可选的,在图14所示的图像处理装置的基础上,所述UV图转换模块1403具体用于:
基于三维面部网格上的顶点与基础UV图中的像素点之间的对应关系、以及所述目标对象对应的三维面部网格上各顶点的位置数据,确定所述基础UV图中像素点的红绿蓝通道值;
基于所述基础UV图中像素点的红绿蓝通道值,确定所述目标UV图。
可选的,在图14所示的图像处理装置的基础上,所述UV图转换模块1403具体用于:
针对所述目标对象对应的三维面部网格上的每个面片,基于三维面部网格上的顶点与基础UV图中的像素点之间的对应关系,在所述基础UV图中确定所述面片的各个顶点各自对应的像素点,并根据每个顶点的位置数据确定其对应的像素点的红绿蓝通道值;
根据所述面片的各个顶点各自对应的像素点,确定所述面片在所述基础UV图中的覆盖区域,并对所述覆盖区域进行栅格化处理;
基于栅格化处理后的覆盖区域包括的像素点的数量,对所述面片的各个顶点各自对应的像素点的红绿蓝通道值进行插值处理,将插值处理后的红绿蓝通道值作为所述栅格化处理后的覆盖区域中的像素点的红绿蓝通道值。
可选的,在图14所示的图像处理装置的基础上,所述UV图转换模块1403具体用于:
基于所述基础UV图中目标映射区域内各像素点各自的红绿蓝通道值,确定参考UV图;所述目标映射区域包括所述目标对象对应的三维面部网格上各个面片各自在所述基础UV图中的覆盖区域;
在所述目标映射区域未覆盖所述基础UV图的情况下,对所述参考UV图进行缝补处理,得到所述目标UV图。
可选的,在图14所示的图像处理装置的基础上,所述三维面部重建模块1402具体用于:
通过三维面部重建模型,根据所述目标图像,确定所述目标对象对应的三维面部重建参数;基于所述目标对象对应的三维面部重建参数,构建所述目标对象对应的三维面部网格;
所述装置还包括:面部重建模型训练模块;所述面部重建模型训练模块包括:
训练图像获取子模块,用于获取训练图像;所述训练图像中包括训练对象的面部;
面部网格重建子模块,用于通过待训练的初始三维面部重建模型,根据所述训练图像,确定所述训练对象对应的预测三维面部重建参数;基于所述训练对象对应的预测三维面部重建参数,构建所述训练对象对应的预测三维面部网格;
可微分渲染子模块,用于通过可微分渲染器,根据所述训练对象对应的预测三维面部网格,生成预测合成图像;
模型训练子模块,用于根据所述训练图像和所述预测合成图像之间的差异,构建第一目标损失函数;基于所述第一目标损失函数,训练所述初始三维面部重建模型;
模型确定子模块,用于当所述初始三维面部重建模型满足第一训练结束条件时,确定所述初始三维面部重建模型作为所述三维面部重建模型。
可选的,所述模型训练子模块具体用于通过以下至少一种方式构建第一目标损失函数:
根据所述训练图像中的面部区域与所述预测合成图像中的面部区域之间的差异,构建图像重构损失函数,作为所述第一目标损失函数;
对所述训练图像和所述预测合成图像分别进行面部关键点检测处理,得到所述训练图像对应的第一面部关键点集合、以及所述预测合成图像对应的第二面部关键点集合;根据所述第一面部关键点集合与所述第二面部关键点集合之间的差异,构建关键点损失函数,作为所述第一目标损失函数;
通过面部特征提取网络,对所述训练图像和所述预测合成图像分别进行深层特征提取处理,得到所述训练图像对应的第一深层全局特征、以及所述预测合成图像对应的第二深层全局特征;根据所述第一深层全局特征与所述第二深层全局特征之间的差异,构建全局感知损失函数,作为所述第一目标损失函数。
可选的,所述模型训练子模块还用于:
根据所述训练对象对应的预测三维面部重建参数,构建正则项损失函数,作为第二目标损失函数;
基于所述第一目标损失函数和所述第二目标损失函数,训练所述初始三维面部重建模型。
可选的,在图14所示的图像处理装置的基础上,所述捏脸参数预测模块1404具体用于:
通过捏脸参数预测模型,根据所述目标UV图,确定所述目标捏脸参数;
所述装置还包括:参数预测模型训练模块;所述参数预测模型训练模块包括:
训练网格获取子模块,用于获取第一训练三维面部网格;所述第一训练三维面部网格是基于真实的对象面部重建的;
UV图转换子模块,用于将所述第一训练三维面部网格转换为对应的第一训练UV图;
参数预测子模块,用于通过待训练的初始捏脸参数预测模型,根据所述第一训练UV图,确定所述第一训练三维面部网格对应的预测捏脸参数;
三维重建子模块,用于通过三维面部网格预测模型,根据所述第一训练三维面部网格对应的预测捏脸参数,确定所述第一训练三维面部网格对应的预测三维面部数据;
模型训练子模块,用于根据所述第一训练三维面部网格对应的训练三维面部数据与预测三维面部数据之间的差异,构建第三目标损失函数;基于所述第三目标损失函数,训练所述初始捏脸参数预测模型;
模型确定子模块,用于当所述初始捏脸参数预测模型满足第二训练结束条件时,确定所述初始捏脸参数预测模型作为所述捏脸参数预测模型。
可选的,所述三维重建子模块具体用于:
通过所述三维面部网格预测模型,根据所述第一训练三维面部网格对应的预测捏脸参数,确定所述第一训练三维面部网格对应的第一预测UV图;
相应地,所述模型训练子模块具体用于:
根据所述第一训练UV图与所述第一预测UV图之间的差异,构建所述第三目标损失函数。
可选的,所述参数预测模型训练模块还包括:第一三维预测模型训练子模块;所述第一三维预测模型训练子模块用于:
获取网格预测训练样本;所述网格预测训练样本中包括训练捏脸参数及其对应的第二训练三维面部网格,所述第二训练三维面部网格是通过捏脸系统基于其对应的训练捏脸参数生成的;
将所述网格预测训练样本中的所述第二训练三维面部网格转换为对应的第二训练UV图;
通过待训练的初始三维面部网格预测模型,根据所述网格预测训练样本中的所述训练捏脸参数,确定第二预测UV图;
根据所述第二训练UV图与所述第二预测UV图之间的差异,构建第四目标损失函数;基于所述第四目标损失函数,训练所述初始三维面部网格预测模型;
当所述初始三维面部网格预测模型满足第三训练结束条件时,确定所述初始三维面部网格预测模型作为所述三维面部网格预测模型。
可选的,所述三维重建子模块具体用于:
通过所述三维面部网格预测模型,根据所述第一训练三维面部网格对应的预测捏脸参数,确定所述第一训练三维面部网格对应的第一预测三维面部网格;
相应地,所述模型训练子模块具体用于:
根据所述第一训练三维面部网格与所述第一预测三维面部网格之间的差异,构建所述第三目标损失函数。
可选的,所述参数预测模型训练模块还包括:第二三维预测模型训练子模块;所述第二三维预测模型训练子模块用于:
获取网格预测训练样本;所述网格预测训练样本中包括训练捏脸参数及其对应的第二训练三维面部网格,所述第二训练三维面部网格是通过捏脸系统基于其对应的训练捏脸参数生成的;
通过待训练的初始三维面部网格预测模型,根据所述网格预测训练样本中的所述训练捏脸参数,确定第二预测三维面部网格;
根据所述第二训练三维面部网格与所述第二预测三维面部网格之间的差异,构建第五目标损失函数;基于所述第五目标损失函数,训练所述初始三维面部网格预测模型;
当所述初始三维面部网格预测模型满足第四训练结束条件时,确定所述初始三维面部网格预测模型作为所述三维面部网格预测模型。
上述图像处理装置,根据目标图像确定其中目标对象对应的三维面部重建参数,并基于该三维面部重建参数,构建该目标对象对应的三维面部网格,如此确定出目标图像中目标对象面部的三维结构信息。考虑到直接基于三维面部网格预测捏脸参数的实现难度较高,本申请实施例巧妙地提出了利用UV图承载三维结构信息的实现方式,即利用目标UV图承载目标对象对应的三维面部网格中各顶点的位置数据,进而,根据该目标UV图确定目标对象面部对应的目标捏脸参数;如此,将基于三维网格结构预测捏脸参数的问题转化为基于二维UV图预测捏脸参数的问题,降低了捏脸参数的预测难度,同时有利于提高捏脸参数的预测准确度,使得预测得到的目标捏脸参数能够准确表征该目标对象面部的三维结构。相应地,基于该目标捏脸参数生成的目标虚拟面部形象的三维立体结构能够与目标对象面部的三维立体结构准确匹配,不再存在深度畸变的问题,提高了所生成的虚拟面部形象的准确性。
本申请实施例还提供了一种用于实现捏脸功能的计算机设备,该计算机设备具体可以是终端设备或者服务器,下面将从硬件实体化的角度对本申请实施例提供的终端设备和服务器进行介绍。
参见图15,图15是本申请实施例提供的终端设备的结构示意图。如图15所示,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。该终端可以为包括手机、平板电脑、个人数字助理、销售终端(Point ofSales,POS)、车载电脑等任意终端设备,以终端为计算机为例:
图15示出的是与本申请实施例提供的终端相关的计算机的部分结构的框图。参考图15,计算机包括:射频(Radio Frequency,RF)电路1510、存储器1520、输入单元1530(其中包括触控面板1531和其他输入设备1532)、显示单元1540(其中包括显示面板1541)、传感器1550、音频电路1560(其可以连接扬声器1561和传声器1562)、无线保真(wirelessfidelity,WiFi)模块1570、处理器1580、以及电源1590等部件。本领域技术人员可以理解,图15中示出的计算机结构并不构成对计算机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
存储器1520可用于存储软件程序以及模块,处理器1580通过运行存储在存储器1520的软件程序以及模块,从而执行计算机的各种功能应用以及数据处理。存储器1520可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器1520可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
处理器1580是计算机的控制中心,利用各种接口和线路连接整个计算机的各个部分,通过运行或执行存储在存储器1520内的软件程序和/或模块,以及调用存储在存储器1520内的数据,执行计算机的各种功能和处理数据,从而对计算机进行整体监控。可选的,处理器1580可包括一个或多个处理单元;优选的,处理器1580可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1580中。
在本申请实施例中,该终端所包括的处理器1580还具有以下功能:
获取目标图像;所述目标图像中包括目标对象的面部;
根据所述目标图像,确定所述目标对象对应的三维面部重建参数;基于所述目标对象对应的三维面部重建参数,构建所述目标对象对应的三维面部网格;
将所述目标对象对应的三维面部网格转换为目标UV图;所述目标UV图用于承载所述目标对象对应的三维面部网格上各顶点的位置数据;
根据所述目标UV图,确定目标捏脸参数;
基于所述目标捏脸参数,生成所述目标对象对应的目标虚拟面部形象。
可选的,所述处理器1580还用于执行本申请实施例提供的图像处理方法的任意一种实现方式的步骤。
参见图16,图16为本申请实施例提供的一种服务器1600的结构示意图。该服务器1600可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)1622(例如,一个或一个以上处理器)和存储器1632,一个或一个以上存储应用程序1642或数据1644的存储介质1630(例如一个或一个以上海量存储设备)。其中,存储器1632和存储介质1630可以是短暂存储或持久存储。存储在存储介质1630的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器1622可以设置为与存储介质1630通信,在服务器1600上执行存储介质1630中的一系列指令操作。
服务器1600还可以包括一个或一个以上电源1626,一个或一个以上有线或无线网络接口1650,一个或一个以上输入输出接口1658,和/或,一个或一个以上操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM, LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图16所示的服务器结构。
其中,CPU 1622用于执行如下步骤:
获取目标图像;所述目标图像中包括目标对象的面部;
根据所述目标图像,确定所述目标对象对应的三维面部重建参数;基于所述目标对象对应的三维面部重建参数,构建所述目标对象对应的三维面部网格;
将所述目标对象对应的三维面部网格转换为目标UV图;所述目标UV图用于承载所述目标对象对应的三维面部网格上各顶点的位置数据;
根据所述目标UV图,确定目标捏脸参数;
基于所述目标捏脸参数,生成所述目标对象对应的目标虚拟面部形象。
可选的,CPU 1622还可以用于执行本申请实施例提供的图像处理方法的任意一种实现方式的步骤。
本申请实施例还提供一种计算机可读存储介质,用于存储计算机程序,该计算机程序用于执行前述各个实施例所述的一种图像处理方法中的任意一种实施方式。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行前述各个实施例所述的一种图像处理方法中的任意一种实施方式。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (16)
1.一种图像处理方法,其特征在于,所述方法包括:
获取目标图像;所述目标图像中包括目标对象的面部;
根据所述目标图像,确定所述目标对象对应的三维面部重建参数;基于所述目标对象对应的三维面部重建参数,构建所述目标对象对应的三维面部网格;
将所述目标对象对应的三维面部网格转换为目标UV图;所述目标UV图用于承载所述目标对象对应的三维面部网格上各顶点的位置数据;
根据所述目标UV图,确定目标捏脸参数;
基于所述目标捏脸参数,生成所述目标对象对应的目标虚拟面部形象。
2.根据权利要求1所述的方法,其特征在于,所述将所述目标对象对应的三维面部网格转换为目标UV图,包括:
基于三维面部网格上的顶点与基础UV图中的像素点之间的对应关系、以及所述目标对象对应的三维面部网格上各顶点的位置数据,确定所述基础UV图中像素点的红绿蓝通道值;
基于所述基础UV图中像素点的红绿蓝通道值,确定所述目标UV图。
3.根据权利要求2所述的方法,其特征在于,所述基于三维面部网格上的顶点与基础UV图中的像素点之间的对应关系、以及所述目标对象对应的三维面部网格上各顶点的位置数据,确定所述基础UV图中像素点的红绿蓝通道值,包括:
针对所述目标对象对应的三维面部网格上的每个面片,基于三维面部网格上的顶点与基础UV图中的像素点之间的对应关系,在所述基础UV图中确定所述面片的各个顶点各自对应的像素点,并根据每个顶点的位置数据确定其对应的像素点的红绿蓝通道值;
根据所述面片的各个顶点各自对应的像素点,确定所述面片在所述基础UV图中的覆盖区域,并对所述覆盖区域进行栅格化处理;
基于栅格化处理后的覆盖区域包括的像素点的数量,对所述面片的各个顶点各自对应的像素点的红绿蓝通道值进行插值处理,将插值处理后的红绿蓝通道值作为所述栅格化处理后的覆盖区域中的像素点的红绿蓝通道值。
4.根据权利要求2或3所述的方法,其特征在于,所述基于所述基础UV图中像素点的红绿蓝通道值,确定所述目标UV图,包括:
基于所述基础UV图中目标映射区域内各像素点各自的红绿蓝通道值,确定参考UV图;所述目标映射区域包括所述目标对象对应的三维面部网格上各个面片各自在所述基础UV图中的覆盖区域;
在所述目标映射区域未覆盖所述基础UV图的情况下,对所述参考UV图进行缝补处理,得到所述目标UV图。
5.根据权利要求1所述的方法,其特征在于,所述根据所述目标图像,确定所述目标对象对应的三维面部重建参数;基于所述目标对象对应的三维面部重建参数,构建所述目标对象对应的三维面部网格,包括:
通过三维面部重建模型,根据所述目标图像,确定所述目标对象对应的三维面部重建参数;基于所述目标对象对应的三维面部重建参数,构建所述目标对象对应的三维面部网格;
所述三维面部重建模型是通过以下方式训练的:
获取训练图像;所述训练图像中包括训练对象的面部;
通过待训练的初始三维面部重建模型,根据所述训练图像,确定所述训练对象对应的预测三维面部重建参数;基于所述训练对象对应的预测三维面部重建参数,构建所述训练对象对应的预测三维面部网格;
通过可微分渲染器,根据所述训练对象对应的预测三维面部网格,生成预测合成图像;
根据所述训练图像和所述预测合成图像之间的差异,构建第一目标损失函数;基于所述第一目标损失函数,训练所述初始三维面部重建模型;
当所述初始三维面部重建模型满足第一训练结束条件时,确定所述初始三维面部重建模型作为所述三维面部重建模型。
6.根据权利要求5所述的方法,其特征在于,所述根据所述训练图像和所述预测合成图像之间的差异,构建第一目标损失函数,包括以下至少一种:
根据所述训练图像中的面部区域与所述预测合成图像中的面部区域之间的差异,构建图像重构损失函数,作为所述第一目标损失函数;
对所述训练图像和所述预测合成图像分别进行面部关键点检测处理,得到所述训练图像对应的第一面部关键点集合、以及所述预测合成图像对应的第二面部关键点集合;根据所述第一面部关键点集合与所述第二面部关键点集合之间的差异,构建关键点损失函数,作为所述第一目标损失函数;
通过面部特征提取网络,对所述训练图像和所述预测合成图像分别进行深层特征提取处理,得到所述训练图像对应的第一深层全局特征、以及所述预测合成图像对应的第二深层全局特征;根据所述第一深层全局特征与所述第二深层全局特征之间的差异,构建全局感知损失函数,作为所述第一目标损失函数。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
根据所述训练对象对应的预测三维面部重建参数,构建正则项损失函数,作为第二目标损失函数;
所述基于所述第一目标损失函数,训练所述初始三维面部重建模型,包括:
基于所述第一目标损失函数和所述第二目标损失函数,训练所述初始三维面部重建模型。
8.根据权利要求1所述的方法,其特征在于,所述根据所述目标UV图,确定目标捏脸参数,包括:
通过捏脸参数预测模型,根据所述目标UV图,确定所述目标捏脸参数;
所述捏脸参数预测模型是通过以下方式训练的:
获取第一训练三维面部网格;所述第一训练三维面部网格是基于真实的对象面部重建的;
将所述第一训练三维面部网格转换为对应的第一训练UV图;
通过待训练的初始捏脸参数预测模型,根据所述第一训练UV图,确定所述第一训练三维面部网格对应的预测捏脸参数;
通过三维面部网格预测模型,根据所述第一训练三维面部网格对应的预测捏脸参数,确定所述第一训练三维面部网格对应的预测三维面部数据;
根据所述第一训练三维面部网格对应的训练三维面部数据与预测三维面部数据之间的差异,构建第三目标损失函数;基于所述第三目标损失函数,训练所述初始捏脸参数预测模型;
当所述初始捏脸参数预测模型满足第二训练结束条件时,确定所述初始捏脸参数预测模型作为所述捏脸参数预测模型。
9.根据权利要求8所述的方法,其特征在于,所述通过三维面部网格预测模型,根据所述第一训练三维面部网格对应的预测捏脸参数,确定所述第一训练三维面部网格对应的预测三维面部数据,包括:
通过所述三维面部网格预测模型,根据所述第一训练三维面部网格对应的预测捏脸参数,确定所述第一训练三维面部网格对应的第一预测UV图;
所述根据所述第一训练三维面部网格对应的训练三维面部数据与预测三维面部数据之间的差异,构建第三目标损失函数,包括:
根据所述第一训练UV图与所述第一预测UV图之间的差异,构建所述第三目标损失函数。
10.根据权利要求9所述的方法,其特征在于,所述三维面部网格预测模型是通过以下方式训练的:
获取网格预测训练样本;所述网格预测训练样本中包括训练捏脸参数及其对应的第二训练三维面部网格,所述第二训练三维面部网格是通过捏脸系统基于其对应的训练捏脸参数生成的;
将所述网格预测训练样本中的所述第二训练三维面部网格转换为对应的第二训练UV图;
通过待训练的初始三维面部网格预测模型,根据所述网格预测训练样本中的所述训练捏脸参数,确定第二预测UV图;
根据所述第二训练UV图与所述第二预测UV图之间的差异,构建第四目标损失函数;基于所述第四目标损失函数,训练所述初始三维面部网格预测模型;
当所述初始三维面部网格预测模型满足第三训练结束条件时,确定所述初始三维面部网格预测模型作为所述三维面部网格预测模型。
11.根据权利要求8所述的方法,其特征在于,所述通过三维面部网格预测模型,根据所述第一训练三维面部网格对应的预测捏脸参数,确定所述第一训练三维面部网格对应的预测三维面部数据,包括:
通过所述三维面部网格预测模型,根据所述第一训练三维面部网格对应的预测捏脸参数,确定所述第一训练三维面部网格对应的第一预测三维面部网格;
所述根据所述第一训练三维面部网格对应的训练三维面部数据与预测三维面部数据之间的差异,构建第三目标损失函数,包括:
根据所述第一训练三维面部网格与所述第一预测三维面部网格之间的差异,构建所述第三目标损失函数。
12.根据权利要求11所述的方法,其特征在于,所述三维面部网格预测模型是通过以下方式训练的:
获取网格预测训练样本;所述网格预测训练样本中包括训练捏脸参数及其对应的第二训练三维面部网格,所述第二训练三维面部网格是通过捏脸系统基于其对应的训练捏脸参数生成的;
通过待训练的初始三维面部网格预测模型,根据所述网格预测训练样本中的所述训练捏脸参数,确定第二预测三维面部网格;
根据所述第二训练三维面部网格与所述第二预测三维面部网格之间的差异,构建第五目标损失函数;基于所述第五目标损失函数,训练所述初始三维面部网格预测模型;
当所述初始三维面部网格预测模型满足第四训练结束条件时,确定所述初始三维面部网格预测模型作为所述三维面部网格预测模型。
13.一种图像处理装置,其特征在于,所述装置包括:
图像获取模块,用于获取目标图像;所述目标图像中包括目标对象的面部;
三维面部重建模块,用于根据所述目标图像,确定所述目标对象对应的三维面部重建参数;基于所述目标对象对应的三维面部重建参数,构建所述目标对象对应的三维面部网格;
UV图转换模块,用于将所述目标对象对应的三维面部网格转换为目标UV图;所述目标UV图用于承载所述目标对象对应的三维面部网格上各顶点的位置数据;
捏脸参数预测模块,用于根据所述目标UV图,确定目标捏脸参数;
捏脸模块,用于基于所述目标捏脸参数,生成所述目标对象对应的目标虚拟面部形象。
14.一种计算机设备,其特征在于,所述设备包括处理器及存储器;
所述存储器用于存储计算机程序;
所述处理器用于根据所述计算机程序执行权利要求1至12中任一项所述的图像处理方法。
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质用于存储计算机程序,所述计算机程序用于执行权利要求1至12中任一项所述的图像处理方法。
16.一种计算机程序产品,包括计算机程序或者指令,其特征在于,所述计算机程序或者所述指令被处理器执行时,实现权利要求1至12中任一项所述的图像处理方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111302904.6A CN113808277B (zh) | 2021-11-05 | 2021-11-05 | 一种图像处理方法及相关装置 |
PCT/CN2022/119348 WO2023077976A1 (zh) | 2021-11-05 | 2022-09-16 | 一种图像处理方法、模型训练方法、相关装置及程序产品 |
US18/205,213 US20230306685A1 (en) | 2021-11-05 | 2023-06-02 | Image processing method, model training method, related apparatuses, and program product |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111302904.6A CN113808277B (zh) | 2021-11-05 | 2021-11-05 | 一种图像处理方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113808277A true CN113808277A (zh) | 2021-12-17 |
CN113808277B CN113808277B (zh) | 2023-07-18 |
Family
ID=78938146
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111302904.6A Active CN113808277B (zh) | 2021-11-05 | 2021-11-05 | 一种图像处理方法及相关装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20230306685A1 (zh) |
CN (1) | CN113808277B (zh) |
WO (1) | WO2023077976A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023077976A1 (zh) * | 2021-11-05 | 2023-05-11 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、模型训练方法、相关装置及程序产品 |
CN117036444A (zh) * | 2023-10-08 | 2023-11-10 | 深圳市其域创新科技有限公司 | 三维模型输出方法、装置、设备及计算机可读存储介质 |
CN117557241A (zh) * | 2024-01-11 | 2024-02-13 | 中国信息通信研究院 | 基于分布式网络的数据处理方法、装置、设备、介质 |
CN117557241B (zh) * | 2024-01-11 | 2024-05-31 | 中国信息通信研究院 | 基于分布式网络的数据处理方法、装置、设备、介质 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108921926A (zh) * | 2018-07-02 | 2018-11-30 | 广州云从信息科技有限公司 | 一种基于单张图像的端到端三维人脸重建方法 |
CN109325437A (zh) * | 2018-09-17 | 2019-02-12 | 北京旷视科技有限公司 | 图像处理方法、装置和系统 |
CN109508678A (zh) * | 2018-11-16 | 2019-03-22 | 广州市百果园信息技术有限公司 | 人脸检测模型的训练方法、人脸关键点的检测方法和装置 |
CN110517340A (zh) * | 2019-08-30 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 一种基于人工智能的脸部模型确定方法和装置 |
US20200151940A1 (en) * | 2018-11-13 | 2020-05-14 | Nec Laboratories America, Inc. | Pose-variant 3d facial attribute generation |
CN111354079A (zh) * | 2020-03-11 | 2020-06-30 | 腾讯科技(深圳)有限公司 | 三维人脸重建网络训练及虚拟人脸形象生成方法和装置 |
CN111445582A (zh) * | 2019-01-16 | 2020-07-24 | 南京大学 | 一种基于光照先验的单张图像人脸三维重建方法 |
CN111553835A (zh) * | 2020-04-10 | 2020-08-18 | 上海完美时空软件有限公司 | 一种生成用户的捏脸数据的方法与装置 |
CN112037320A (zh) * | 2020-09-01 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置、设备以及计算机可读存储介质 |
WO2021012590A1 (zh) * | 2019-07-22 | 2021-01-28 | 广州华多网络科技有限公司 | 面部表情迁移方法、装置、存储介质及计算机设备 |
CN112669447A (zh) * | 2020-12-30 | 2021-04-16 | 网易(杭州)网络有限公司 | 一种模型头像创建方法、装置、电子设备和存储介质 |
CN112734887A (zh) * | 2021-01-20 | 2021-04-30 | 清华大学 | 基于深度学习的人脸混合-变形生成方法和装置 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108805977A (zh) * | 2018-06-06 | 2018-11-13 | 浙江大学 | 一种基于端到端卷积神经网络的人脸三维重建方法 |
CN111632374B (zh) * | 2020-06-01 | 2023-04-18 | 网易(杭州)网络有限公司 | 游戏中虚拟角色的脸部处理方法、装置及可读存储介质 |
CN112950775A (zh) * | 2021-04-27 | 2021-06-11 | 南京大学 | 一种基于自监督学习的三维人脸模型重建方法及系统 |
CN113808277B (zh) * | 2021-11-05 | 2023-07-18 | 腾讯科技(深圳)有限公司 | 一种图像处理方法及相关装置 |
-
2021
- 2021-11-05 CN CN202111302904.6A patent/CN113808277B/zh active Active
-
2022
- 2022-09-16 WO PCT/CN2022/119348 patent/WO2023077976A1/zh unknown
-
2023
- 2023-06-02 US US18/205,213 patent/US20230306685A1/en active Pending
Patent Citations (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108921926A (zh) * | 2018-07-02 | 2018-11-30 | 广州云从信息科技有限公司 | 一种基于单张图像的端到端三维人脸重建方法 |
CN109325437A (zh) * | 2018-09-17 | 2019-02-12 | 北京旷视科技有限公司 | 图像处理方法、装置和系统 |
US20200151940A1 (en) * | 2018-11-13 | 2020-05-14 | Nec Laboratories America, Inc. | Pose-variant 3d facial attribute generation |
CN109508678A (zh) * | 2018-11-16 | 2019-03-22 | 广州市百果园信息技术有限公司 | 人脸检测模型的训练方法、人脸关键点的检测方法和装置 |
WO2020098686A1 (zh) * | 2018-11-16 | 2020-05-22 | 广州市百果园信息技术有限公司 | 人脸检测模型的训练方法、人脸关键点的检测方法和装置 |
CN111445582A (zh) * | 2019-01-16 | 2020-07-24 | 南京大学 | 一种基于光照先验的单张图像人脸三维重建方法 |
WO2021012590A1 (zh) * | 2019-07-22 | 2021-01-28 | 广州华多网络科技有限公司 | 面部表情迁移方法、装置、存储介质及计算机设备 |
CN110517340A (zh) * | 2019-08-30 | 2019-11-29 | 腾讯科技(深圳)有限公司 | 一种基于人工智能的脸部模型确定方法和装置 |
CN111354079A (zh) * | 2020-03-11 | 2020-06-30 | 腾讯科技(深圳)有限公司 | 三维人脸重建网络训练及虚拟人脸形象生成方法和装置 |
CN111553835A (zh) * | 2020-04-10 | 2020-08-18 | 上海完美时空软件有限公司 | 一种生成用户的捏脸数据的方法与装置 |
CN112037320A (zh) * | 2020-09-01 | 2020-12-04 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、装置、设备以及计算机可读存储介质 |
CN112669447A (zh) * | 2020-12-30 | 2021-04-16 | 网易(杭州)网络有限公司 | 一种模型头像创建方法、装置、电子设备和存储介质 |
CN112734887A (zh) * | 2021-01-20 | 2021-04-30 | 清华大学 | 基于深度学习的人脸混合-变形生成方法和装置 |
Non-Patent Citations (2)
Title |
---|
YAO FENG 等: "Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network", ECCV 2018 * |
吴迪: "三维可形变人脸重建与实时表情驱动系统", 中国优秀硕士学位论文全文数据库信息科技辑 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023077976A1 (zh) * | 2021-11-05 | 2023-05-11 | 腾讯科技(深圳)有限公司 | 一种图像处理方法、模型训练方法、相关装置及程序产品 |
CN117036444A (zh) * | 2023-10-08 | 2023-11-10 | 深圳市其域创新科技有限公司 | 三维模型输出方法、装置、设备及计算机可读存储介质 |
CN117557241A (zh) * | 2024-01-11 | 2024-02-13 | 中国信息通信研究院 | 基于分布式网络的数据处理方法、装置、设备、介质 |
CN117557241B (zh) * | 2024-01-11 | 2024-05-31 | 中国信息通信研究院 | 基于分布式网络的数据处理方法、装置、设备、介质 |
Also Published As
Publication number | Publication date |
---|---|
US20230306685A1 (en) | 2023-09-28 |
WO2023077976A1 (zh) | 2023-05-11 |
CN113808277B (zh) | 2023-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111598998B (zh) | 三维虚拟模型重建方法、装置、计算机设备和存储介质 | |
CN109325437B (zh) | 图像处理方法、装置和系统 | |
CN111354079B (zh) | 三维人脸重建网络训练及虚拟人脸形象生成方法和装置 | |
CN111325851B (zh) | 图像处理方法及装置、电子设备和计算机可读存储介质 | |
CN112037320B (zh) | 一种图像处理方法、装置、设备以及计算机可读存储介质 | |
CN106682632B (zh) | 用于处理人脸图像的方法和装置 | |
CN109859305A (zh) | 基于多角度二维人脸的三维人脸建模、识别方法及装置 | |
WO2019050808A1 (en) | SCANNING AVATAR FROM A SINGLE IMAGE FOR REAL TIME REALIZATION | |
CN116109798B (zh) | 图像数据处理方法、装置、设备及介质 | |
JP2022533464A (ja) | 三次元モデルの生成方法及び装置、コンピュータ機器並びに記憶媒体 | |
CN113496507A (zh) | 一种人体三维模型重建方法 | |
CN114863037B (zh) | 基于单手机的人体三维建模数据采集与重建方法及系统 | |
CN112419487A (zh) | 毛发三维重建方法、装置、电子设备及存储介质 | |
CN113808277B (zh) | 一种图像处理方法及相关装置 | |
CN113822982B (zh) | 一种人体三维模型构建方法、装置、电子设备及存储介质 | |
CN110796593A (zh) | 基于人工智能的图像处理方法、装置、介质及电子设备 | |
CN107767358B (zh) | 一种图像中物体模糊度确定方法和装置 | |
KR20210095696A (ko) | 얼굴 이미지 생성을 위한 데이터 프로세싱 방법 및 디바이스, 및 매체 | |
CN113570684A (zh) | 图像处理方法、装置、计算机设备和存储介质 | |
CN115601484B (zh) | 虚拟人物面部驱动方法、装置、终端设备和可读存储介质 | |
CN109271930A (zh) | 微表情识别方法、装置与存储介质 | |
CN113220251A (zh) | 物体显示方法、装置、电子设备及存储介质 | |
CN112598780A (zh) | 实例对象模型构建方法及装置、可读介质和电子设备 | |
CN114202615A (zh) | 人脸表情的重建方法、装置、设备和存储介质 | |
CN110458121B (zh) | 一种人脸图像生成的方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |