CN110728621A - 一种面部图像的换脸方法、装置、电子设备及存储介质 - Google Patents

一种面部图像的换脸方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110728621A
CN110728621A CN201910989199.8A CN201910989199A CN110728621A CN 110728621 A CN110728621 A CN 110728621A CN 201910989199 A CN201910989199 A CN 201910989199A CN 110728621 A CN110728621 A CN 110728621A
Authority
CN
China
Prior art keywords
face
image
facial
changed
deformation
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
Application number
CN201910989199.8A
Other languages
English (en)
Other versions
CN110728621B (zh
Inventor
刘晓强
张国鑫
马里千
张博宁
黄旭为
金博
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Beijing Dajia Internet Information Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Dajia Internet Information Technology Co Ltd filed Critical Beijing Dajia Internet Information Technology Co Ltd
Priority to CN201910989199.8A priority Critical patent/CN110728621B/zh
Publication of CN110728621A publication Critical patent/CN110728621A/zh
Priority to US17/073,840 priority patent/US20210118148A1/en
Application granted granted Critical
Publication of CN110728621B publication Critical patent/CN110728621B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/04Context-preserving transformations, e.g. by using an importance map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/155Segmentation; Edge detection involving morphological operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/174Segmentation; Edge detection involving the use of two or more images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/50Extraction of image or video features by performing operations within image blocks; by using histograms, e.g. histogram of oriented gradients [HoG]; by summing image-intensity values; Projection analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/54Extraction of image or video features relating to texture
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/74Image or video pattern matching; Proximity measures in feature spaces
    • G06V10/75Organisation of the matching processes, e.g. simultaneous or sequential comparisons of image or video features; Coarse-fine approaches, e.g. multi-scale approaches; using context analysis; Selection of dictionaries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/7715Feature extraction, e.g. by transforming the feature space, e.g. multi-dimensional scaling [MDS]; Mappings, e.g. subspace methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/169Holistic features and representations, i.e. based on the facial image taken as a whole
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20036Morphological image processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • G06T2207/30201Face
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/44Morphing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Geometry (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本公开实施例提供一种面部图像的换脸方法、装置、电子设备及存储介质。包括:对待换脸图像以及用于对待换脸图像进行换脸的指定图像进行三维面部重建,得到两个图像的三维的面部姿态信息和三维的面部关键点;将指定图像变形为面部姿态信息与待换脸图像相同的图像,作为第二指定图像;控制三维的面部关键点,对待换脸图像和第二指定图像进行预定的面部变形处理,得到三维的面部关键点匹配的两个图像;以面部变形处理后的第二指定图像的面部纹理,更新面部变形处理后的待换脸图像的面部纹理,得到换脸图像。本公开实施例提供的面部图像的换脸方法的鲁棒性较强,在指定图像与待换脸图像中的面部姿态不一致时,仍可实现对待换脸图像的换脸。

Description

一种面部图像的换脸方法、装置、电子设备及存储介质
技术领域
本公开涉及图像处理技术领域,尤其涉及一种面部图像的换脸方法、装置、电子设备及存储介质。
背景技术
在图像处理技术领域,对面部图像进行换脸是一种常见的图像处理方法。
相关技术中,对面部图像进行换脸所采用的方法包括:分别对指定图像和待换脸图像进行预定的面部变形处理,得到二维的面部关键点匹配的指定图像和待换脸图像,以面部变形处理后的指定图像的面部纹理,更新面部变形处理后的待换脸图像的面部纹理,得到待换脸图像对应的换脸后的图像。
然而,当指定图像与待换脸图像中的面部姿态不一致时,如其中一个为正脸,另一个为侧脸时,难以变形得到面部轮廓以及五官位置均匹配的指定图像和待换脸图像,从而无法实现对待换脸图像的有效换脸。可见,相关技术中的面部图像的换脸方法,鲁棒性较低。
发明内容
本公开提供一种面部图像的换脸方法、装置、电子设备及存储介质,以提高面部图像的换脸方法的鲁棒性,从而在指定图像与待换脸图像中的面部姿态不一致时,也可实现对待换脸图像进行换脸。本公开的技术方案如下:
根据本公开实施例的第一方面,提供一种面部图像的换脸方法,包括:
获取待换脸图像以及用于对所述待换脸图像进行换脸的指定图像;
对所述待换脸图像以及所述指定图像进行三维面部重建,得到所述待换脸图像的第一面部姿态信息和第一面部关键点,并得到所述指定图像的第二面部姿态信息和第二面部关键点;所述第一面部姿态信息和所述第二面姿态信息均为三维的面部姿态信息,所述第一面部关键点和所述第二面部关键点均为三维的面部关键点;
根据所述第一面部姿态信息和所述第二面部姿态信息,以所述第二面部关键点作为变形控制点,将所述指定图像变形为面部姿态信息与所述第一面部姿态信息相同的图像,作为第二指定图像,并将对所述指定图像进行变形后形成的三维的面部关键点作为所述第二指定图像的第三面部关键点;
分别以所述第一面部关键点和所述第三面部关键点作为变形控制点,对所述待换脸图像和所述第二指定图像进行预定的面部变形处理,得到三维的面部关键点匹配的两个图像;所述两个图像包括:面部变形处理后的第二指定图像和面部变形处理后的待换脸图像;
以所述面部变形处理后的第二指定图像的面部纹理,更新所述面部变形处理后的待换脸图像的面部纹理,得到换脸图像。
可选地,所述根据所述第一面部姿态信息和所述第二面部姿态信息,以所述第二面部关键点作为变形控制点,将所述指定图像变形为面部姿态信息与所述第一面部姿态信息相同的图像,包括:
根据所述第一面部姿态信息和所述第二面部姿态信息,计算将所述指定图像变形为三维面部姿态信息与所述第一面部姿态信息相同的图像所需的第一变形坐标;
利用预设的第一图像变形方法,将所述第二面部关键点拖拽至所述第一变形坐标所指示的位置,得到面部姿态信息与所述第一面部姿态信息相同的图像。
可选地,所述分别以所述第一面部关键点和所述第三面部关键点作为变形控制点,对所述待换脸图像和所述第二指定图像进行预定的面部变形处理,得到三维的面部关键点匹配的两个图像,包括:
根据预设的权重配比,求取所述第三面部关键点的坐标和所述第一面部关键点的坐标的加权平均坐标,作为第二变形坐标;
利用预设的第二图像变形方法,分别将所述第三面部关键点和所述第一面部关键点,均拖拽至所述第二变形坐标所指示的位置,得到三维的面部关键点匹配的两个图像。
可选地,在所述根据预设的权重配比,求取所述第三面部关键点的坐标和所述第一面部关键点的坐标的加权平均坐标,作为第二变形坐标的步骤之前,所述方法还包括:
确定将所述待换脸图像的嘴部开合比例调整为与所述第二指定图像的嘴部开合比例相同所需的、所述第一面部关键点中的嘴部关键点待被拖拽至的目标变形坐标;
利用预设的第三图像变形方法,将所述嘴部关键点拖拽至所述目标变形坐标所指示的位置,并将对所述嘴部关键点进行拖拽后形成的待换脸图像的三维的面部关键点重新作为所述待换脸图像的第一面部关键点。
可选地,所述第二图像变形方法为移动最小二乘法,所述第三图像变形方法为三角形变形法。
可选地,所述以所述面部变形处理后的第二指定图像的面部纹理,更新所述面部变形处理后的待换脸图像的面部纹理,得到换脸图像,包括:
确定所述指定图像的嘴部开合状态;
根据所确定的嘴部开合状态,确定以所述面部变形处理后的面部纹理,对所述面部变形处理后的待换脸图像的面部纹理进行更新的更新方式;
按照所确定的更新方式,以所述面部变形处理后的面部纹理,对所述面部变形处理后的待换脸图像的面部纹理进行更新,得到换脸图像。
可选地,所述按照所确定的更新方式,以所述面部变形处理后的面部纹理,对所述面部变形处理后的待换脸图像的面部纹理进行更新,得到换脸图像,包括:
当所确定的嘴部开合状态为张开状态时,将所述面部变形处理后的第二指定图像中,口腔部分的纹理,填充至所述面部变形处理后的待换脸图像的口腔部分中,并以所述面部变形处理后的第二指定图像中,皮肤所在区域的直方图为参考,对所述面部变形处理后的待换脸图像中,皮肤区域的直方图的设置参数进行更新。
可选地,所述按照所确定的更新方式,以所述面部变形处理后的面部纹理,对所述面部变形处理后的待换脸图像的面部纹理进行更新,得到换脸图像,包括:
当所确定的嘴部开合状态为闭合状态时,以所述面部变形处理后的第二指定图像中,皮肤所在区域的直方图为参考,对所述面部变形处理后的待换脸图像中,皮肤区域的直方图的设置参数进行更新。
根据本公开实施例的第二方面,提供一种面部图像的换脸装置,包括:
获取模块,被配置为获取待换脸图像以及用于对所述待换脸图像进行换脸的指定图像;
重建模块,被配置为对所述待换脸图像以及所述指定图像进行三维面部重建,得到所述待换脸图像的第一面部姿态信息和第一面部关键点,并得到所述指定图像的第二面部姿态信息和第二面部关键点;所述第一面部姿态信息和所述第二面姿态信息均为三维的面部姿态信息,所述第一面部关键点和所述第二面部关键点均为三维的面部关键点;
第一变形模块,被配置为根据所述第一面部姿态信息和所述第二面部姿态信息,以所述第二面部关键点作为变形控制点,将所述指定图像变形为面部姿态信息与所述第一面部姿态信息相同的图像,作为第二指定图像,并将对所述指定图像进行变形后形成的三维的面部关键点作为所述第二指定图像的第三面部关键点;
第二变形模块,被配置为分别以所述第一面部关键点和所述第三面部关键点作为变形控制点,对所述待换脸图像和所述第二指定图像进行预定的面部变形处理,得到三维的面部关键点匹配的两个图像;所述两个图像包括:面部变形处理后的第二指定图像和面部变形处理后的待换脸图像;
更新模块,被配置为以所述面部变形处理后的第二指定图像的面部纹理,更新所述面部变形处理后的待换脸图像的面部纹理,得到换脸图像。
可选地,所述第一变形模块,具体被配置为:
根据所述第一面部姿态信息和所述第二面部姿态信息,计算将所述指定图像变形为三维面部姿态信息与所述第一面部姿态信息相同的图像所需的第一变形坐标;
利用预设的第一图像变形方法,将所述第二面部关键点拖拽至所述第一变形坐标所指示的位置,得到面部姿态信息与所述第一面部姿态信息相同的图像。
可选地,所述第二变形模块,具体被配置为:
根据预设的权重配比,求取所述第三面部关键点的坐标和所述第一面部关键点的坐标的加权平均坐标,作为第二变形坐标;
利用预设的第二图像变形方法,分别将所述第三面部关键点和所述第一面部关键点,均拖拽至所述第二变形坐标所指示的位置,得到三维的面部关键点匹配的两个图像。
可选地,所述装置还包括:确定模块和第三变形模块;
所述确定模块,被配置为在所述第二变形模块根据预设的权重配比,求取所述第三面部关键点的坐标和所述第一面部关键点的坐标的加权平均坐标,作为第二变形坐标之前,确定将所述待换脸图像的嘴部开合比例调整为与所述第二指定图像的嘴部开合比例相同所需的、所述第一面部关键点中的嘴部关键点待被拖拽至的目标变形坐标;
所述第三变形模块,被配置为利用预设的第三图像变形方法,将所述嘴部关键点拖拽至所述目标变形坐标所指示的位置,并将对所述嘴部关键点进行拖拽后形成的待换脸图像的三维的面部关键点重新作为所述待换脸图像的第一面部关键点。
可选地,所述第二图像变形方法为移动最小二乘法,所述第三图像变形方法为三角形变形法。
可选地,所述更新模块,具体被配置为:
确定所述指定图像的嘴部开合状态;
根据所确定的嘴部开合状态,确定以所述面部变形处理后的面部纹理,对所述面部变形处理后的待换脸图像的面部纹理进行更新的更新方式;
按照所确定的更新方式,以所述面部变形处理后的面部纹理,对所述面部变形处理后的待换脸图像的面部纹理进行更新,得到换脸图像。
可选地,所述更新模块,按照所确定的更新方式,以所述面部变形处理后的面部纹理,对所述面部变形处理后的待换脸图像的面部纹理进行更新,得到换脸图像,包括:
当所确定的嘴部开合状态为张开状态时,将所述面部变形处理后的第二指定图像中,口腔部分的纹理,填充至所述面部变形处理后的待换脸图像的口腔部分中,并以所述面部变形处理后的第二指定图像中,皮肤所在区域的直方图为参考,对所述面部变形处理后的待换脸图像中,皮肤区域的直方图的设置参数进行更新。
可选地,所述更新模块,按照所确定的更新方式,以所述面部变形处理后的面部纹理,对所述面部变形处理后的待换脸图像的面部纹理进行更新,得到换脸图像,包括:
当所确定的嘴部开合状态为闭合状态时,以所述面部变形处理后的第二指定图像中,皮肤所在区域的直方图为参考,对所述面部变形处理后的待换脸图像中,皮肤区域的直方图的设置参数进行更新。
根据本公开实施例的第三方面,提供一种电子设备,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现上述任一所述的面部图像的换脸方法。
根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行上述任一所述的面部图像的换脸方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,当所述计算机程序产品由电子设备的处理器执行时,使得电子设备能够执行上述任一所述的面部图像的换脸方法。
本公开实施例提供的技术方案至少带来以下有益效果:
本公开实施例提供的面部图像的换脸方法中,对待换脸图像以及指定图像进行三维面部重建,得到待换脸图像的第一面部姿态信息和第一面部关键点,并得到指定图像的第二面部姿态信息和第二面部关键点;根据第一面部姿态信息和第二面部姿态信息,以第二面部关键点作为变形控制点,将指定图像变形为面部姿态信息与第一面部姿态信息相同的图像,作为第二指定图像。这样,第二指定图像和待换脸图像的面部姿态一致,从而分别以第一面部关键点和第三面部关键点作为变形控制点,对待换脸图像和所述第二指定图像进行预定的面部变形处理,很容易可以得到三维的面部关键点匹配的两个图像。这样,即使指定图像与待换脸图像中的面部姿态不一致时,仍可实现对待换脸图像的换脸。可见,本公开实施例提供的面部图像的换脸方法的鲁棒性较强。应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
图1是根据一示例性实施例示出的一种面部图像的换脸方法的流程图。
图2是根据一示例性实施例示出的用指定图像对待换脸图像进行换脸的示意图。
图3是根据一示例性实施例示出的一个直方图的示意图。
图4是根据一示例性实施例示出的一种面部图像的换脸装置的框图。
图5是根据一示例性实施例示出的一种电子设备的框图。
图6是根据一示例性实施例示出的一种用于对待换脸图像进行换脸的装置的框图。
图7是根据一示例性实施例示出的另一种用于对待换脸图像进行换脸的装置的框图。
具体实施方式
为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
为了提高面部图像的换脸方法的鲁棒性,从而在指定图像与待换脸图像中的面部姿态不一致时,也可以实现对待换脸图像进行换脸,本公开实施例提供了一种面部图像的换脸方法、装置、电子设备及存储介质。其中,指定图像为用于对所述待换脸图像进行换脸所指定的图像。
需要说明的是,本公开实施例提供的面部图像的换脸方法的执行主体,可以为一种面部图像的换脸装置,该装置用于电子设备中;该电子设备可以为客户端对应的服务器,也可以为安装有客户端的终端设备。在具体应用中,该终端设备可以为智能手机、计算机、数字广播终端、消息收发设备、游戏设备、平板设备、娱乐设备、医疗设备、健身设备,或个人数字助理等。
首先,对本公开实施例提供的一种面部图像的换脸方法进行详细说明。图1是根据一示例性实施例示出的一种面部图像的换脸方法的流程图,如图1所示,该方法可以包括以下步骤。
在步骤S11中,获取待换脸图像以及用于对待换脸图像进行换脸的指定图像。
其中,待换脸图像和指定图像均为面部图像,这里所说的面部,不包括头发以及头部的装饰。在实际应用中,待换脸图像和指定图像,可以为对真人或动物的面部进行拍摄获得的面部图像,也可以为卡通形象的面部图像等等。
可以理解的是,当用指定图像对待换脸图像进行换脸后,换脸后的图像的面部,可以与指定图像的面部非常相似。图2示例性的示出了用指定图像对待换脸图像进行换脸的示意图,可以看到,对待换脸图像进行换脸后,待换脸图像保留了原有的帽子,面部变成了指定图像的面部,而指定图像的发型并未相应的变到待换脸图像中。需要说明的是,该示意图仅仅用于说明对面部图像进行换脸的基本原理,图中所示的换脸后的显示效果并不构成对本公开的限定。
在步骤S12中,对待换脸图像以及指定图像进行三维面部重建,得到待换脸图像的第一面部姿态信息和第一面部关键点,并得到指定图像的第二面部姿态信息和第二面部关键点。
其中,第一面部姿态信息和第二面姿态信息均为三维的面部姿态信息,第一面部关键点和第二面部关键点均为三维的面部关键点。可以理解的是,相较于二维的面部关键点,三维的面部关键点增加了面部图像在深度方向的坐标,而二维的面部关键点的坐标,则是面部关键点在面部图像中的二维坐标。
可以理解的是,该步骤中所得到的面部姿态信息,所能够表征的面部姿态,为面部图像中的面部在三维方向上的姿态。在实际应用中,该面部姿态信息可以包括:表征面部图像的面部姿态的一种或多种数据。示例性的,面部姿态信息可以包括:面部图像相对于正脸图像的偏转角度、相对于预设的标准面部的缩放比例,以及相对于预设的标准面部的位移数据。其中,面部图像相对于正脸图像的偏转角度可以包含:面部图像相对于正脸图像在面部的轴方向的旋转角度以及Y方向的旋转角度。当然,能够表征面部图像面部姿态的数据并不局限于这里所示出的三种,任何能够表征面部图像的面部姿态的数据,均可以作为面部姿态信息应用于本公开中。
另外,该步骤中,对待换脸图像以及指定图像进行三维面部重建,得到待换脸图像的第一面部姿态信息和第一面部关键点,并得到指定图像的第二面部姿态信息和第二面部关键点的具体实现方式存在多种。示例性的,在一种实现方式中,对待换脸图像以及指定图像进行三维面部重建,得到待换脸图像的第一面部姿态信息和第一面部关键点,并得到指定图像的第二面部姿态信息和第二面部关键点,可以包括:
分别生成待换脸图像的二维的面部关键点以及指定图像的二维的面部关键点;
分别将待换脸图像的二维的面部关键点以及指定图像的二维的面部关键点输入至预设的三维面部重建模型,得到待换脸图像的第一面部姿态信息和第一面部关键点,并得到指定图像的第二面部姿态信息和第二面部关键点。
其中,该三维面部重建模型可以是具有三维面部重建所需的先验信息的模型。因此,将面部图像的二维的面部关键点输入至该三维面部重建模型后,该三维面部重建模型可以输出面部图像的面部姿态信息以及重建的三维的面部关键点。在实际应用中,进行三维面部重建所可以使用的三维面部重建模型存在多种,例如BFM(巴塞尔人脸模型,BaselFace Model)2009等等,并不局限于此。
该实现方式中,所用到的待换脸图像的二维的面部关键点以及指定图像的二维的面部关键点,为分别从这两个面部图像中所提取的特征点。具体的,可以利用特征点提取算法或特征点提取模型,从面部图像中提取二维的面部关键点。其中,特征点提取算法如Susan算子或OPENCV中的特征点提取算法等等,并不局限于此;特征点提取模型如Dlib的人脸识别模块等等,并不局限于此。其中,Susan算子是一种基于灰度的特征点获取方法;Dlib库是一个跨平台的C++库;OPENCV是一个跨平台计算机视觉库。
在步骤S13中,根据第一面部姿态信息和第二面部姿态信息,以第二面部关键点作为变形控制点,将指定图像变形为面部姿态信息与第一面部姿态信息相同的图像,作为第二指定图像,并将对指定图像进行变形后形成的三维的面部关键点作为第二指定图像的第三面部关键点。
可以理解的是,为了将指定图像变形为面部姿态信息与第一面部姿态信息相同的图像,需要知道变形前后,指定图像的面部姿态信息分别是怎样的;具体的,变形前,指定图像的面部姿态信息,即是第二面部姿态信息,变形后,指定图像的面部姿态信息需要与第一面部姿态信息相同。因此,根据第一面部姿态信息和第二面部姿态信息,以第二面部关键点作为变形控制点,可以将指定图像变形为面部姿态信息与第一面部姿态信息相同的图像,作为第二指定图像。并且,指定图像变形后,三维的面部关键点的位置发生了变化,因此,将对指定图像进行变形后形成的三维的面部关键点,作为变形得到的第二指定图像的第三面部关键点。
该步骤中,可以利用对指定图像进行图像变形的方法,将指定图像变形为面部姿态信息与第一面部姿态信息相同的图像,从而实现对指定图像的面部姿态的调整。其中,在对指定图像进行图像变形时,是以指定图像的第二面部关键点作为对指定图像进行变形的控制点来实现变形的。具体的,拖拽指定图像中,作为变形控制点的第二面部关键点,使拖拽后得到的图像的面部姿态信息,与第一面部姿态信息相同,即可实现对指定图像的面部姿态的调整。
在步骤S14中,分别以第一面部关键点和第三面部关键点作为变形控制点,对待换脸图像和第二指定图像进行预定的面部变形处理,得到三维的面部关键点匹配的两个图像。
其中,三维的面部关键点匹配的两个图像包括:面部变形处理后的第二指定图像和面部变形处理后的待换脸图像。
该步骤中,对待换脸图像和第二指定图像进行预定的面部变形处理,即是分别以第一面部关键点和第三面部关键点作为变形控制点,将待换脸图像和第二指定图像朝着一组相同的变形坐标进行图像变形,从而得到三维的面部关键点匹配的两个图。并且,这组变形坐标,是根据第一面部关键点的坐标以及第二面部关键点的坐标所计算的。为了方案清楚及布局清晰,后续对分别以第一面部关键点和第三面部关键点作为变形控制点,对待换脸图像和第二指定图像进行预定的面部变形处理,得到三维的面部关键点匹配的两个图像的具体实现方式进行示例性的说明。
可以理解的是,所谓的三维的面部关键点匹配,是指使两个图像的面部轮廓以及五官在几何学上的比例相同;并且,当采用面部相似算法计算两个图像的相似度时,所计算得到的相似度可以大于预定的阈值。当然,从视觉效果来看,面部变形处理后的第二指定图像和面部变形处理后的待换脸图像,面部轮廓和五官位置是趋于一致的。
在步骤S15中,以面部变形处理后的第二指定图像的面部纹理,更新面部变形处理后的待换脸图像的面部纹理,得到换脸图像。
这里,换脸图像即为面部纹理更新后的待换脸图像。
可以理解的是,面部变形处理后的第二指定图像和面部变形处理后的待换脸图像,面部图像的脸型、五官的位置和大小均已非常相似,但是,面部变形处理后的待换脸图像的面部纹理仍是原有的面部纹理。由于不同的面部纹理可以具有不同的肤色,不同的皮肤纹理等。因此,以面部变形处理后的第二指定图像的面部纹理,更新面部变形后的待换脸图像的面部纹理,可以使换脸图像与指定图像更为相似,从而达到更好的换脸效果。
本公开实施例提供的面部图像的换脸方法中,对待换脸图像以及指定图像进行三维面部重建,得到待换脸图像的第一面部姿态信息和第一面部关键点,并得到指定图像的第二面部姿态信息和第二面部关键点;根据第一面部姿态信息和第二面部姿态信息,以第二面部关键点作为变形控制点,将指定图像变形为面部姿态信息与第一面部姿态信息相同的图像,作为第二指定图像。这样,第二指定图像和待换脸图像的面部姿态一致,从而分别以第一面部关键点和第三面部关键点作为变形控制点,对待换脸图像和所述第二指定图像进行预定的面部变形处理,很容易可以得到三维的面部关键点匹配的两个图像。这样,即使指定图像与待换脸图像中的面部姿态不一致时,仍可实现对待换脸图像的换脸。可见,本公开实施例提供的面部图像的换脸方法的鲁棒性较强。
为了方案清楚及布局清晰,下面对分别以第一面部关键点和第三面部关键点作为变形控制点,对待换脸图像和第二指定图像进行预定的面部变形处理,得到三维的面部关键点匹配的两个图像的具体实现方式进行示例性的说明。
示例性的,在一种实现方式中,分别以第一面部关键点和第三面部关键点作为变形控制点,对待换脸图像和第二指定图像进行预定的面部变形处理,得到三维的面部关键点匹配的两个图像,可以包括:
根据预设的权重配比,求取第三面部关键点的坐标和第一面部关键点的坐标的加权平均坐标,作为第二变形坐标;
利用预设的第二图像变形方法,分别将第三面部关键点和第一面部关键点,均拖拽至第二变形坐标所指示的位置,得到三维的面部关键点匹配的两个图像。
其中,第三面部关键点的坐标和第一面部关键点的坐标所各自对应的权重配比可以是相等的,也可以区别设置,本公开实施例对此不做限定。
可以理解的是,求取两个坐标的平均坐标,即是计算两个坐标的中点位置的坐标;而求取加权平均坐标时,权重偏向于哪一个坐标,则所求取的加权平均坐标相应的向该坐标靠近。
该实现方式中,第二变形坐标,可以理解为待换脸图像和第二指定图像的融合面部图像的面部关键点的坐标。当预设的权重配比为1:1时,该融合图像,可以理解为待换脸图像和第二指定图像的平均脸的图像。
另外,该实现方式中,第二图像变形方法可以使用移动最小二乘法等等,并不局限于此。这里,使用移动最小二乘法,可以使变形后的图像较为平滑不会导致棱角。
在另一种实现方式中,在根据预设的权重配比,求取第三面部关键点的坐标和第一面部关键点的坐标的加权平均坐标,作为第二变形坐标的步骤之前,本公开实施例提供的面部图像的换脸方法,还可以包括:
确定将待换脸图像的嘴部开合比例调整为与第二指定图像的嘴部开合比例相同所需的、第一面部关键点中的嘴部关键点待被拖拽至的目标变形坐标;
利用预设的第三图像变形方法,将嘴部关键点拖拽至目标变形坐标所指示的位置,并将对嘴部关键点进行拖拽后形成的待换脸图像的三维的面部关键点重新作为待换脸图像的第一面部关键点。
这样,在后续根据预设的权重配比,求取第三面部关键点的坐标和第一面部关键点的坐标的加权平均坐标,作为第二变形坐标的步骤中,所使用的第一面部关键点,为对嘴部关键点进行拖拽后形成的待换脸图像的三维的面部关键点;以及,在后续利用预设的第二图像变形方法,分别将第三面部关键点和第一面部关键点,均拖拽至第二变形坐标所指示的位置,得到三维的面部关键点匹配的两个图像的步骤中,所使用的第一面部关键点,同样为对嘴部关键点进行拖拽后形成的待换脸图像的三维的面部关键点。
可以理解的是,在有些情况下,待换脸图像的嘴部开合比例和第二指定图像的嘴部开合比例可能不相同。当这两个面部图像的嘴部开合比例不同时,如果直接求解第二变形坐标,并以第二变形坐标分别对这两个面部图像进行面部变形处理后,所得到的两个图像的嘴部开合比例可能会影响最终的换脸效果。例如,假设第二指定图像的嘴部是张开的,而待换脸图像的嘴部是闭合的;那么,以第二变形坐标对这两个面部图像进行面部变形处理后,所得到的两个图像的嘴部开合比例,与这两个面部图像中的任一图像均不贴合,影响换脸效果。因此,可以先将待换脸图像的嘴部开合比例调整到与第二指定图像的嘴部开合比例相同,然后再计算第二变形坐标。这样,可以使最终得到的换脸图像的嘴部开合比例,较为贴合第二指定图像的嘴部开合比例,即较为贴合最初的指定图像的嘴部开合比例。
其中,第二指定图像和待换脸图像的嘴部开合比例,可以分别根据第一面部关键点和第三面部关键点的坐标确定。具体的,分别利用第一面部关键点和第三面部关键点中,位于两侧嘴角的关键点的坐标,计算嘴部的宽度,利用位于口腔上沿的关键点的坐标以及位于口腔下沿的关键点的坐标,计算嘴部张开的距离,用嘴部张开的距离除以嘴部的宽度,便可以得到嘴部开合比例。
该实现方式中,所利用的第三图像变形方法,可以为三角形变形法。使用三角形变形法,可以将待换脸图像的嘴部关键点完全变形到目标变形坐标所指示的位置,从而使嘴部变形后的待换脸图像的嘴部开合比例,与第二指定图像的嘴部开合比例完全贴合,不易出现偏差。
在一种可选的实现方式中,可以首先利用三角形变形法,使待换脸图像的嘴部开合比例与第二指定图像的嘴部开合比例完全贴合;然后,利用移动最小二乘法,对待换脸图像和第二指定图像进行变形,从而得到较为平滑的三维的面部关键点匹配的两个图像,
在步骤S13中,根据第一面部姿态信息和第二面部姿态信息,以第二面部关键点作为变形控制点,将指定图像变形为面部姿态信息与第一面部姿态信息相同的图像的具体实现方式存在多种。示例性的,在一种实现方式中,根据第一面部姿态信息和第二面部姿态信息,以第二面部关键点作为变形控制点,将指定图像变形为面部姿态信息与第一面部姿态信息相同的图像,可以包括:
根据第一面部姿态信息和第二面部姿态信息,计算将指定图像变形为三维面部姿态信息与第一面部姿态信息相同的图像所需的第一变形坐标;
利用预设的第一图像变形方法,将第二面部关键点拖拽至第一变形坐标所指示的位置,得到面部姿态信息与所述第一面部姿态信息相同的图像。
该实现方式中,所利用的第一图像变形方法可以存在多种。例如三角形变形法、移动最小二乘法、最小二乘规划算法或基于网格的自由形式变形法等等。
可以理解的是,第一面部关键点的坐标的分布情况,与第一面部姿态信息对应,第二面部关键点的坐标的分布情况,与第二面部姿态信息对应;因此,根据第一面部姿态信息和第二面部姿态信息,计算将指定图像变形为三维面部姿态信息与所述第一面部姿态信息相同的图像所需的第一变形坐标,即是基于第一面部姿态信息与第二面部姿态信息之间的差异,对第二面部关键点的坐标进行坐标变换,使变换得到的第一变形坐标的分布情况,与第一面部姿态信息相对应。这样,利用预设的第一图像变形方法,将指定图像的第二面部关键点拖拽至第一变形坐标所指示的位置,便可以得到面部姿态信息与第一面部姿态信息相同的图像。
举例而言,假设面部姿态信息包括上述所列举的偏转角度、缩放比例以及位移数据;并假设指定图像的面部姿态信息中,偏转角度为(90°,0°),缩放比例为1:1,位移数据为在水平方向上向左偏移了一个单位距离,以(-1,0)进行表示;待换脸图像的面部姿态信息中,偏转角度为(0°,0°),缩放比例为1:1,位移数据为(0,0),即待换脸图像相对于标准面部没有位移;其中,指定图像的面部姿态信息和待换脸图像的面部姿态信息的差异为:指定图像相对于待换脸图像在轴方向上偏转了90°,以及指定图像相对于待换脸图像向水平方向偏移了一个单位距离;基于该差异,可以将第二面部关键点的坐标在面部的轴方向上反向偏转90°,并在水平方向上向右偏移一个单位距离,得到第一变形坐标。需要说明的是,该示例中的单位距离可以自定义确定,本公开实施例对此不做限定。
另外,在步骤S15中,以面部变形处理后的第二指定图像的面部纹理,更新面部变形处理后的待换脸图像的面部纹理,得到换脸图像的具体实现方式存在多种。示例性的,在一种实现方式中,在不对待换脸图像的嘴部开合比例进行调整的方案中,以面部变形处理后的第二指定图像的面部纹理,更新面部变形处理后的待换脸图像的面部纹理,得到换脸图像,可以包括:
以面部变形处理后的第二指定图像中,皮肤所在区域的直方图为参考,对面部变形处理后的待换脸图像中,皮肤区域的直方图的设置参数进行更新。
其中,两个面部图像的直方图均可以如图3所示,横轴代表面部图像的各个像素值,纵轴代表每个像素值下的像素个数。可以理解的是,对面部变形处理后的待换脸图像中,皮肤区域的直方图的设置参数进行更新之后,所得到换脸图像的直方图,可以与面部变形处理后的第二指定图像的直方图非常相似。这样,换脸图像的皮肤,可以与面部变形处理后的第二图像的皮肤相同或相近,即与指定图像的皮肤相同或相近,从而较好的换脸效果。另外,关于直方图的生成方式和参数调整方式,非本公开的发明点,且与现有技术相同或相似,此处不再赘述。
可以理解的是,该实现方式较为适合指定图像的嘴部开合状态和待换脸图像的嘴部开合状态相同的情况。若二者的嘴部开合状态不同,则可以先将待换脸图像的嘴部开合比例调整为与第二图像的嘴部开合比例相同;在这种情况中,以面部变形处理后的第二指定图像的面部纹理,更新面部变形处理后的待换脸图像的面部纹理,得到换脸图像的实现方式,可以包括:
确定指定图像的嘴部开合状态;
根据所确定的嘴部开合状态,确定以面部变形处理后的面部纹理,对面部变形处理后的待换脸图像的面部纹理进行更新的更新方式;
按照所确定的更新方式,以面部变形处理后的面部纹理,对面部变形处理后的待换脸图像的面部纹理进行更新,得到换脸图像。
该实现方式中,指定图像的嘴部开合状态不同时,对应有不同的更新方式。
举例而言,当所确定的嘴部开合状态为闭合状态时,以面部变形处理后的面部纹理,对面部变形处理后的待换脸图像的面部纹理进行更新的更新方式,可以包括:
以面部变形处理后的第二指定图像中,皮肤所在区域的直方图为参考,对面部变形处理后的待换脸图像中,皮肤区域的直方图的设置参数进行更新。
可以理解的是,当指定图像的嘴部呈闭合状态时,若嘴部开合比例调整前的待换脸图像的嘴部呈张开状态,那么,对待换脸图像进行面部变形后,待换脸图像的嘴部已呈闭合状态。此时,只需以面部变形处理后的第二指定图像中,皮肤所在区域的直方图为参考,对面部变形处理后的待换脸图像中,皮肤区域的直方图的设置参数进行更新即可。当然,若嘴部开合比例调整前的待换脸图像的嘴部也呈闭合状态,同样只需对面部变形处理后的待换脸图像中,皮肤区域的直方图的设置参数进行更新即可。
再举例而言,当所确定的嘴部开合状态为张开状态时,以面部变形处理后的面部纹理,对面部变形处理后的待换脸图像的面部纹理进行更新的更新方式,可以包括:
将面部变形处理后的第二指定图像中,口腔部分的纹理,填充至面部变形处理后的待换脸图像的口腔部分中,并以面部变形处理后的第二指定图像中,皮肤所在区域的直方图为参考,对面部变形处理后的待换脸图像中,皮肤区域的直方图的设置参数进行更新。
可以理解的是,当指定图像的嘴部呈张开状态时,若嘴部开合比例调整前的待换脸图像的嘴部也呈张开状态,那么,将面部变形处理后的第二指定图像中,口腔部分的纹理,填充至面部变形处理后的待换脸图像的口腔部分中,可以使换脸图像中,口腔部分的纹理,与指定图像的口腔部分的纹理保持一致;例如,假如指定图像中的牙齿整齐,而嘴部开合比例调整前的待换脸图像中的牙齿为龅牙,如果不执行该口腔部分的纹理填充的步骤,则换脸图像仍保留龅牙,影响换脸效果;而执行该口腔部分的纹理填充的步骤后,换脸图像中,牙齿与指定图像的牙齿保持一致,换脸效果较好。
另外,当指定图像的嘴部呈张开状态时,若嘴部开合比例调整前的待换脸图像的嘴部呈闭合状态,那么对待换脸图像的嘴部开合比例进行调整后,待换脸图像的嘴部已调整为开合状态。然而,由于面部变形处理后的待换脸图像的口腔部分的纹理,是由嘴唇的纹理变形而得的,与真实的口腔部分的纹理不符,影响换脸效果。因此,将面部变形处理后的第二指定图像中,口腔部分的纹理,填充至面部变形处理后的待换脸图像的口腔部分中,可以解决这一问题,从而达到更好的换脸效果。
基于同一发明构思,本公开实施例还提供了一种面部图像的换脸装置。图4是根据一示例性实施例示出的一种面部图像的换脸装置的框图。参照图4,该装置可以包括:
获取模块401,被配置为获取待换脸图像以及用于对所述待换脸图像进行换脸的指定图像;
重建模块402,被配置为被配置为对所述待换脸图像以及所述指定图像进行三维面部重建,得到所述待换脸图像的第一面部姿态信息和第一面部关键点,并得到所述指定图像的第二面部姿态信息和第二面部关键点;所述第一面部姿态信息和所述第二面姿态信息均为三维的面部姿态信息,所述第一面部关键点和所述第二面部关键点均为三维的面部关键点;
第一变形模块403,被配置为根据所述第一面部姿态信息和所述第二面部姿态信息,以所述第二面部关键点作为变形控制点,将所述指定图像变形为面部姿态信息与所述第一面部姿态信息相同的图像,作为第二指定图像,并将对所述指定图像进行变形后形成的三维的面部关键点作为所述第二指定图像的第三面部关键点;
第二变形模块404,被配置为分别以所述第一面部关键点和所述第三面部关键点作为变形控制点,对所述待换脸图像和所述第二指定图像进行预定的面部变形处理,得到三维的面部关键点匹配的两个图像;所述两个图像包括:面部变形处理后的第二指定图像和面部变形处理后的待换脸图像;
更新模块405,被配置为以所述面部变形处理后的第二指定图像的面部纹理,更新所述面部变形处理后的待换脸图像的面部纹理,得到换脸图像。
可选地,所述第一变形模块403,具体被配置为:
根据所述第一面部姿态信息和所述第二面部姿态信息,计算将所述指定图像变形为三维面部姿态信息与所述第一面部姿态信息相同的图像所需的第一变形坐标;
利用预设的第一图像变形方法,将所述第二面部关键点拖拽至所述第一变形坐标所指示的位置,得到面部姿态信息与所述第一面部姿态信息相同的图像。
可选地,所述第二变形模块404,具体被配置为:
根据预设的权重配比,求取所述第三面部关键点的坐标和所述第一面部关键点的坐标的加权平均坐标,作为第二变形坐标;
利用预设的第二图像变形方法,分别将所述第三面部关键点和所述第一面部关键点,均拖拽至所述第二变形坐标所指示的位置,得到三维的面部关键点匹配的两个图像。
可选地,所述装置还包括:确定模块和第三变形模块;
所述确定模块,被配置为在所述第二变形模块根据预设的权重配比,求取所述第三面部关键点的坐标和所述第一面部关键点的坐标的加权平均坐标,作为第二变形坐标之前,确定将所述待换脸图像的嘴部开合比例调整为与所述第二指定图像的嘴部开合比例相同所需的、所述第一面部关键点中的嘴部关键点待被拖拽至的目标变形坐标;
所述第三变形模块,被配置为利用预设的第三图像变形方法,将所述嘴部关键点拖拽至所述目标变形坐标所指示的位置,并将对所述嘴部关键点进行拖拽后形成的待换脸图像的三维的面部关键点重新作为所述待换脸图像的第一面部关键点。
可选地,所述第二图像变形方法为移动最小二乘法,所述第三图像变形方法为三角形变形法。
可选地,所述更新模块405,具体被配置为:
确定所述指定图像的嘴部开合状态;
根据所确定的嘴部开合状态,确定以所述面部变形处理后的面部纹理,对所述面部变形处理后的待换脸图像的面部纹理进行更新的更新方式;
按照所确定的更新方式,以所述面部变形处理后的面部纹理,对所述面部变形处理后的待换脸图像的面部纹理进行更新,得到换脸图像。
可选地,所述更新模块405,按照所确定的更新方式,以所述面部变形处理后的面部纹理,对所述面部变形处理后的待换脸图像的面部纹理进行更新,得到换脸图像,包括:
当所确定的嘴部开合状态为张开状态时,将所述面部变形处理后的第二指定图像中,口腔部分的纹理,填充至所述面部变形处理后的待换脸图像的口腔部分中,并以所述面部变形处理后的第二指定图像中,皮肤所在区域的直方图为参考,对所述面部变形处理后的待换脸图像中,皮肤区域的直方图的设置参数进行更新。
可选地,所述更新模块405,按照所确定的更新方式,以所述面部变形处理后的面部纹理,对所述面部变形处理后的待换脸图像的面部纹理进行更新,得到换脸图像,包括:
当所确定的嘴部开合状态为闭合状态时,以所述面部变形处理后的第二指定图像中,皮肤所在区域的直方图为参考,对所述面部变形处理后的待换脸图像中,皮肤区域的直方图的设置参数进行更新。
本公开实施例提供的面部图像的换脸装置,对待换脸图像以及指定图像进行三维面部重建,得到待换脸图像的第一面部姿态信息和第一面部关键点,并得到指定图像的第二面部姿态信息和第二面部关键点;根据第一面部姿态信息和第二面部姿态信息,以第二面部关键点作为变形控制点,将指定图像变形为面部姿态信息与第一面部姿态信息相同的图像,作为第二指定图像。这样,第二指定图像和待换脸图像的面部姿态一致,从而分别以第一面部关键点和第三面部关键点作为变形控制点,对待换脸图像和所述第二指定图像进行预定的面部变形处理,很容易可以得到三维的面部关键点匹配的两个图像。这样,即使指定图像与待换脸图像中的面部姿态不一致时,仍可实现对待换脸图像的换脸。可见,本公开实施例提供的面部图像的换脸方法的鲁棒性较强。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图5是根据一示例性实施例示出的一种电子设备的框图。如图5所示,该电子设备包括:
处理器501;
用于存储所述处理器501可执行指令的存储器502;
其中,所述处理器501被配置为执行所述指令,以实现上述任一所述的面部图像的换脸方法。
在具体应用中,该电子设备可以为客户端对应的服务器,也可以为安装有客户端的终端设备。当该电子设备为终端设备时,该终端设备可以为智能手机、计算机、数字广播终端、消息收发设备、游戏设备、平板设备、娱乐设备、医疗设备、健身设备,或个人数字助理等。
在示例性实施例中,还提供了一种计算机程序产品,当所述计算机程序产品由电子设备的处理器执行时,使得电子设备能够执行上述任一所述的面部图像的换脸方法。
图6是根据一示例性实施例示出的一种用于面部图像的换脸的装置600的框图。例如,装置600可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等。
参照图6,装置600可以包括以下一个或多个组件:处理组件602,存储器604,电源组件606,多媒体组件608,音频组件610,输入/输出(I/O)接口612,传感器组件614,以及通信组件616。
处理组件602通常控制装置600的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件602可以包括一个或多个处理器620来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件602可以包括一个或多个模块,便于处理组件602和其他组件之间的交互。例如,处理组件602可以包括多媒体模块,以方便多媒体组件608和处理组件602之间的交互。
存储器604被配置为存储各种类型的数据以支持在装置600的操作。这些数据的示例包括用于在装置600上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器604可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件606为装置600的各种组件提供电力。电源组件606可以包括电源管理系统,一个或多个电源,及其他与为装置600生成、管理和分配电力相关联的组件。
多媒体组件608包括在所述装置600和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件608包括一个前置摄像头和/或后置摄像头。当装置600处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件610被配置为输出和/或输入音频信号。例如,音频组件610包括一个麦克风(MIC),当装置600处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器604或经由通信组件616发送。在一些实施例中,音频组件610还包括一个扬声器,用于输出音频信号。
I/O接口612为处理组件602和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件614包括一个或多个传感器,用于为装置600提供各个方面的状态评估。例如,传感器组件614可以检测到装置600的打开/关闭状态,组件的相对定位,例如所述组件为装置600的显示器和小键盘,传感器组件614还可以检测装置600或装置600一个组件的位置改变,用户与装置600接触的存在或不存在,装置600方位或加速/减速和装置600的温度变化。传感器组件614可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件614还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件614还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件616被配置为便于装置600和其他设备之间有线或无线方式的通信。装置600可以接入基于通信标准的无线网络,如WiFi,运营商网络(如2G、3G、4G或5G),或它们的组合。在一个示例性实施例中,通信组件616经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件616还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置600可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述任一所述的面部图像的换脸方法。
在示例性实施例中,还提供了一种包括指令的存储介质,例如包括指令的存储器604,上述指令可由装置600的处理器620执行以完成上述任一所述的面部图像的换脸方法。可选地,存储介质可以是非临时性计算机可读存储介质,例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
图7是根据一示例性实施例示出的一种用于面部图像的换脸的装置700的框图。例如,装置700可以被提供为一服务器。参照图7,装置700包括处理组件722,其进一步包括一个或多个处理器,以及由存储器732所代表的存储器资源,用于存储可由处理组件722的执行的指令,例如应用程序。存储器732中存储的应用程序可以包括一个或一个以上的每一个对应于一组指令的模块。此外,处理组件722被配置为执行指令,以执行上述任一所述的面部图像的换脸方法。
装置700还可以包括一个电源组件726被配置为执行装置700的电源管理,一个有线或无线网络接口750被配置为将装置700连接到网络,和一个输入输出(I/O)接口758。装置700可以操作基于存储在存储器732的操作系统,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或类似的操作系统。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求书指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由权利要求书来限制。

Claims (10)

1.一种面部图像的换脸方法,其特征在于,包括:
获取待换脸图像以及用于对所述待换脸图像进行换脸的指定图像;
对所述待换脸图像以及所述指定图像进行三维面部重建,得到所述待换脸图像的第一面部姿态信息和第一面部关键点,并得到所述指定图像的第二面部姿态信息和第二面部关键点;所述第一面部姿态信息和所述第二面姿态信息均为三维的面部姿态信息,所述第一面部关键点和所述第二面部关键点均为三维的面部关键点;
根据所述第一面部姿态信息和所述第二面部姿态信息,以所述第二面部关键点作为变形控制点,将所述指定图像变形为面部姿态信息与所述第一面部姿态信息相同的图像,作为第二指定图像,并将对所述指定图像进行变形后形成的三维的面部关键点作为所述第二指定图像的第三面部关键点;
分别以所述第一面部关键点和所述第三面部关键点作为变形控制点,对所述待换脸图像和所述第二指定图像进行预定的面部变形处理,得到三维的面部关键点匹配的两个图像;所述两个图像包括:面部变形处理后的第二指定图像和面部变形处理后的待换脸图像;
以所述面部变形处理后的第二指定图像的面部纹理,更新所述面部变形处理后的待换脸图像的面部纹理,得到换脸图像。
2.根据权利要求1所述的方法,其特征在于,所述根据所述第一面部姿态信息和所述第二面部姿态信息,以所述第二面部关键点作为变形控制点,将所述指定图像变形为面部姿态信息与所述第一面部姿态信息相同的图像,包括:
根据所述第一面部姿态信息和所述第二面部姿态信息,计算将所述指定图像变形为三维面部姿态信息与所述第一面部姿态信息相同的图像所需的第一变形坐标;
利用预设的第一图像变形方法,将所述第二面部关键点拖拽至所述第一变形坐标所指示的位置,得到面部姿态信息与所述第一面部姿态信息相同的图像。
3.根据权利要求1所述的方法,其特征在于,所述分别以所述第一面部关键点和所述第三面部关键点作为变形控制点,对所述待换脸图像和所述第二指定图像进行预定的面部变形处理,得到三维的面部关键点匹配的两个图像,包括:
根据预设的权重配比,求取所述第三面部关键点的坐标和所述第一面部关键点的坐标的加权平均坐标,作为第二变形坐标;
利用预设的第二图像变形方法,分别将所述第三面部关键点和所述第一面部关键点,均拖拽至所述第二变形坐标所指示的位置,得到三维的面部关键点匹配的两个图像。
4.根据权利要求3所述的方法,其特征在于,在所述根据预设的权重配比,求取所述第三面部关键点的坐标和所述第一面部关键点的坐标的加权平均坐标,作为第二变形坐标的步骤之前,所述方法还包括:
确定将所述待换脸图像的嘴部开合比例调整为与所述第二指定图像的嘴部开合比例相同所需的、所述第一面部关键点中的嘴部关键点待被拖拽至的目标变形坐标;
利用预设的第三图像变形方法,将所述嘴部关键点拖拽至所述目标变形坐标所指示的位置,并将对所述嘴部关键点进行拖拽后形成的待换脸图像的三维的面部关键点重新作为所述待换脸图像的第一面部关键点。
5.根据权利要求4所述的方法,其特征在于,所述第二图像变形方法为移动最小二乘法,所述第三图像变形方法为三角形变形法。
6.根据权利要求4或5所述的方法,其特征在于,所述以所述面部变形处理后的第二指定图像的面部纹理,更新所述面部变形处理后的待换脸图像的面部纹理,得到换脸图像,包括:
确定所述指定图像的嘴部开合状态;
根据所确定的嘴部开合状态,确定以所述面部变形处理后的面部纹理,对所述面部变形处理后的待换脸图像的面部纹理进行更新的更新方式;
按照所确定的更新方式,以所述面部变形处理后的面部纹理,对所述面部变形处理后的待换脸图像的面部纹理进行更新,得到换脸图像。
7.根据权利要求6所述的方法,其特征在于,所述按照所确定的更新方式,以所述面部变形处理后的的面部纹理,对所述面部变形处理后的待换脸图像的面部纹理进行更新,得到换脸图像,包括:
当所确定的嘴部开合状态为张开状态时,将所述面部变形处理后的第二指定图像中,口腔部分的纹理,填充至所述面部变形处理后的待换脸图像的口腔部分中,并以所述面部变形处理后的第二指定图像中,皮肤所在区域的直方图为参考,对所述面部变形处理后的待换脸图像中,皮肤区域的直方图的设置参数进行更新。
8.一种面部图像的换脸装置,其特征在于,包括:
获取模块,被配置为获取待换脸图像以及用于对所述待换脸图像进行换脸的指定图像;
重建模块,被配置为对所述待换脸图像以及所述指定图像进行三维面部重建,得到所述待换脸图像的第一面部姿态信息和第一面部关键点,并得到所述指定图像的第二面部姿态信息和第二面部关键点;所述第一面部姿态信息和所述第二面姿态信息均为三维的面部姿态信息,所述第一面部关键点和所述第二面部关键点均为三维的面部关键点;
第一变形模块,被配置为根据所述第一面部姿态信息和所述第二面部姿态信息,以所述第二面部关键点作为变形控制点,将所述指定图像变形为面部姿态信息与所述第一面部姿态信息相同的图像,作为第二指定图像,并将对所述指定图像进行变形后形成的三维的面部关键点作为所述第二指定图像的第三面部关键点;
第二变形模块,被配置为分别以所述第一面部关键点和所述第三面部关键点作为变形控制点,对所述待换脸图像和所述第二指定图像进行预定的面部变形处理,得到三维的面部关键点匹配的两个图像;所述两个图像包括:面部变形处理后的第二指定图像和面部变形处理后的待换脸图像;
更新模块,被配置为以所述面部变形处理后的第二指定图像的面部纹理,更新所述面部变形处理后的待换脸图像的面部纹理,得到换脸图像。
9.一种电子设备,其特征在于,包括:
处理器;
用于存储所述处理器可执行指令的存储器;
其中,所述处理器被配置为执行所述指令,以实现如权利要求1至7中任一项所述面部图像的换脸方法。
10.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1至7中任一项所述面部图像的换脸方法。
CN201910989199.8A 2019-10-17 2019-10-17 一种面部图像的换脸方法、装置、电子设备及存储介质 Active CN110728621B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201910989199.8A CN110728621B (zh) 2019-10-17 2019-10-17 一种面部图像的换脸方法、装置、电子设备及存储介质
US17/073,840 US20210118148A1 (en) 2019-10-17 2020-10-19 Method and electronic device for changing faces of facial image

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910989199.8A CN110728621B (zh) 2019-10-17 2019-10-17 一种面部图像的换脸方法、装置、电子设备及存储介质

Publications (2)

Publication Number Publication Date
CN110728621A true CN110728621A (zh) 2020-01-24
CN110728621B CN110728621B (zh) 2023-08-25

Family

ID=69220172

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910989199.8A Active CN110728621B (zh) 2019-10-17 2019-10-17 一种面部图像的换脸方法、装置、电子设备及存储介质

Country Status (2)

Country Link
US (1) US20210118148A1 (zh)
CN (1) CN110728621B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111599002A (zh) * 2020-05-15 2020-08-28 北京百度网讯科技有限公司 用于生成图像的方法和装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115018698B (zh) * 2022-08-08 2022-11-08 深圳市联志光电科技有限公司 一种用于人机交互的图像处理方法及系统
CN115393532B (zh) * 2022-10-27 2023-03-14 科大讯飞股份有限公司 脸部绑定方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108765265A (zh) * 2018-05-21 2018-11-06 北京微播视界科技有限公司 图像处理方法、装置、终端设备和存储介质
CN109961055A (zh) * 2019-03-29 2019-07-02 广州市百果园信息技术有限公司 人脸关键点检测方法、装置、设备及存储介质
CN110267079A (zh) * 2018-03-30 2019-09-20 腾讯科技(深圳)有限公司 待播放视频中人脸的替换方法和装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108335345B (zh) * 2018-02-12 2021-08-24 北京奇虎科技有限公司 面部动画模型的控制方法及装置、计算设备
CN110070611B (zh) * 2019-04-22 2020-12-01 清华大学 一种基于深度图像融合的人脸三维重建方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110267079A (zh) * 2018-03-30 2019-09-20 腾讯科技(深圳)有限公司 待播放视频中人脸的替换方法和装置
CN108765265A (zh) * 2018-05-21 2018-11-06 北京微播视界科技有限公司 图像处理方法、装置、终端设备和存储介质
CN109961055A (zh) * 2019-03-29 2019-07-02 广州市百果园信息技术有限公司 人脸关键点检测方法、装置、设备及存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111599002A (zh) * 2020-05-15 2020-08-28 北京百度网讯科技有限公司 用于生成图像的方法和装置

Also Published As

Publication number Publication date
US20210118148A1 (en) 2021-04-22
CN110728621B (zh) 2023-08-25

Similar Documents

Publication Publication Date Title
US11636653B2 (en) Method and apparatus for synthesizing virtual and real objects
CN107680033B (zh) 图片处理方法及装置
CN107818543B (zh) 图像处理方法及装置
EP3125158B1 (en) Method and device for displaying images
CN108470322B (zh) 处理人脸图像的方法、装置及可读存储介质
CN110929651A (zh) 图像处理方法、装置、电子设备及存储介质
CN107958439B (zh) 图像处理方法及装置
US20210118148A1 (en) Method and electronic device for changing faces of facial image
US11030733B2 (en) Method, electronic device and storage medium for processing image
CN107977934B (zh) 图像处理方法及装置
US11308692B2 (en) Method and device for processing image, and storage medium
CN111241887B (zh) 目标对象关键点识别方法及装置、电子设备和存储介质
CN114170302A (zh) 相机外参标定方法、装置、电子设备及存储介质
CN107657590B (zh) 图片处理方法、装置及存储介质
CN110580733B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN109410276B (zh) 关键点位置确定方法、装置及电子设备
WO2022088750A1 (zh) 图像生成方法和电子设备
CN110211211B (zh) 图像处理方法、装置、电子设备及存储介质
CN113643356B (zh) 相机位姿确定、虚拟物体显示方法、装置及电子设备
CN107403144B (zh) 嘴巴定位方法及装置
CN112509005B (zh) 图像处理方法、装置、电子设备及存储介质
CN114007099A (zh) 一种视频处理方法、装置和用于视频处理的装置
CN110580677B (zh) 一种数据处理方法、装置和用于数据处理的装置
CN114255496A (zh) 视频生成方法、装置、电子设备及存储介质
CN114140536A (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