CN110827195A - 虚拟物品添加方法、装置、电子设备及存储介质 - Google Patents

虚拟物品添加方法、装置、电子设备及存储介质 Download PDF

Info

Publication number
CN110827195A
CN110827195A CN201911049234.4A CN201911049234A CN110827195A CN 110827195 A CN110827195 A CN 110827195A CN 201911049234 A CN201911049234 A CN 201911049234A CN 110827195 A CN110827195 A CN 110827195A
Authority
CN
China
Prior art keywords
image
pixel
target
classification
identifier
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.)
Pending
Application number
CN201911049234.4A
Other languages
English (en)
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.)
Reach Best Technology Co Ltd
Beijing Dajia Internet Information Technology Co Ltd
Original Assignee
Reach Best 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 Reach Best Technology Co Ltd filed Critical Reach Best Technology Co Ltd
Priority to CN201911049234.4A priority Critical patent/CN110827195A/zh
Publication of CN110827195A publication Critical patent/CN110827195A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/0012Context preserving transformation, e.g. by using an importance map
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K9/00Methods or arrangements for recognising patterns
    • G06K9/62Methods or arrangements for pattern recognition using electronic means
    • G06K9/6267Classification techniques
    • G06K9/6268Classification techniques relating to the classification paradigm, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001Image restoration
    • G06T5/002Denoising; Smoothing
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/20Scenes; Scene-specific elements in augmented reality scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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/161Detection; Localisation; Normalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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; 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; 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/172Classification, e.g. identification
    • GPHYSICS
    • G06COMPUTING; CALCULATING; COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING; 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

Abstract

本公开是关于一种虚拟物品添加方法、装置、电子设备及存储介质,属于图像处理领域。方法包括:获取像素分类模型;基于像素分类模型,获取目标人脸图像中多个像素点的分类标识;根据多个像素点的分类标识,在目标人脸图像中属于第一人脸部位的目标区域上添加虚拟物品。当该人脸部位区域被遮挡时,被遮挡的人脸部位区域的分类标识应为第二标识,因此不会出现由于人脸部位区域被遮挡后,在遮挡的脸部区域上仍然添加虚拟物品的情况,而是仅在第一标识指示的像素点对应的区域上添加虚拟物品,提高了添加虚拟物品的准确性,且提高了显示虚拟物品的效果。

Description

虚拟物品添加方法、装置、电子设备及存储介质
技术领域
本公开涉及图像处理领域,尤其涉及一种虚拟物品添加方法、装置、电子设备及存储介质。
背景技术
随着图像处理技术的快速发展,在人脸图像中添加虚拟物品已成为一种常用的虚拟物品添加方式,通过在人脸图像中添加虚拟物品,可以丰富人脸图像中的内容,提高该人脸图像的美观性。
相关技术中,当获取到人脸图像时,采用关键点检测算法,检测该人脸图像中属于多个人脸部位的关键像素点,如眼睛关键像素点、鼻子关键像素点、嘴唇关键像素点等。根据属于多个人脸部位的关键像素点,分别确定人脸图像中的每个人脸部位,在任一人脸部位上可以添加与该任一人脸部位匹配的虚拟物品。
但是,当人脸图像中包括被遮挡的人脸部位时,由于该关键点检测算法还可以估计出被遮挡的人脸部位中的关键像素点,从而在被遮挡的人脸部位上误添加虚拟物品,影响人脸图像的显示效果。
发明内容
本公开提供了一种虚拟物品添加方法、装置、电子设备及存储介质,可以克服相关技术中误添加虚拟物品的问题。
根据本公开实施例的第一方面,提供一种虚拟物品添加方法,所述方法包括:
获取像素分类模型,所述像素分类模型用于确定任一图像中每个像素点的分类标识,所述分类标识为第一标识或第二标识,所述第一标识用于指示对应的像素点属于第一人脸部位,所述第二标识用于指示对应的像素点属于第二人脸部位,所述第一人脸部位为未被遮挡的人脸部位,所述第二人脸部位包括被遮挡的人脸部位或非人脸部位中的至少一种;
基于所述像素分类模型,获取目标人脸图像中多个像素点的分类标识;
根据所述多个像素点的分类标识,在所述目标人脸图像中属于所述第一人脸部位的目标区域上添加虚拟物品。
在一种可能实现方式中,所述方法还包括:
获取多个样本人脸图像和所述多个样本人脸图像中每个像素点的分类标识,所述分类标识为所述第一标识或所述第二标识;
根据所述多个样本人脸图像和所述多个样本人脸图像中每个像素点的分类标识进行模型训练,得到所述像素分类模型。
在另一种可能实现方式中,所述根据所述多个样本人脸图像和所述多个样本人脸图像中每个像素点的分类标识进行模型训练,得到所述像素分类模型,包括:
将所述多个样本人脸图像中的每个样本人脸图像输入至像素分类模型,获取所述样本人脸图像中每个像素点的测试分类标识,根据所述样本人脸图像中每个像素点的分类标识和测试分类标识的差异,对所述像素分类模型的模型参数进行调整,得到调整后的像素分类模型;所述测试分类标识为所述第一标识或所述第二标识。
在另一种可能实现方式中,所述根据所述多个像素点的分类标识,在所述目标人脸图像中属于所述第一人脸部位的目标区域上添加虚拟物品,包括:
根据所述目标人脸图像中每个像素点的分类标识,获取第一参考图像,所述第一参考图像中每个像素点的像素值由所述目标人脸图像中每个像素点的分类标识确定;
根据所述第一参考图像中像素值为所述第一标识的像素点构成的参考区域,在所述目标人脸图像中与所述参考区域对应的目标区域中添加虚拟物品。
在另一种可能实现方式中,所述根据所述目标人脸图像中每个像素点的分类标识,获取第一参考图像,包括:
将所述目标人脸图像中每个像素点的分类标识作为所述第一参考图像中对应像素点的像素值,得到所述第一参考图像;或者,
将所述目标人脸图像中每个像素点的分类标识作为第二参考图像中对应像素点的像素值,得到所述第二参考图像;
确定所述第二参考图像中像素值为所述第一标识的像素点构成的区域,作为第一区域;
确定所述第二参考图像中像素值为所述第二标识的像素点构成的区域,作为第二区域;
对所述第二参考图像中的多个像素点进行平滑处理,将平滑处理后得到的图像作为所述第一参考图像,所述多个像素点包括所述第一区域中与所述第二区域相邻的多个第一像素点,以及所述第二区域中与所述第一区域相邻的多个第二像素点。
在另一种可能实现方式中,所述基于所述像素分类模型,获取目标人脸图像中多个像素点的分类标识,包括:
采用关键点检测算法,检测所述目标人脸图像中属于人脸部位的多个关键像素点;
从所述目标人脸图像中提取所述多个关键像素点构成的区域,作为第一人脸图像;
将所述第一人脸图像输入至所述像素分类模型,基于所述像素分类模型,确定所述第一人脸图像中每个像素点的分类标识。
在另一种可能实现方式中,所述根据所述多个像素点的分类标识,在所述目标人脸图像中属于所述第一人脸部位的目标区域上添加虚拟物品,包括:
根据所述第一人脸图像中每个像素点的分类标识,获取第三参考图像,所述第三参考图像中每个像素点的像素值由所述第一人脸图像中每个像素点的分类标识确定;
在所述第三参考图像的外侧添加像素值为所述第二标识的像素点,得到第四参考图像,以使所述第四参考图像的尺寸与所述目标人脸图像的尺寸相同,且所述第三参考图像中的每个像素点在所述第四参考图像中的位置与所述第一人脸图像中对应的像素点在所述目标人脸图像中的位置相同;
根据所述第四参考图像中像素值为所述第一标识的像素点构成的参考区域,在所述目标人脸图像中与所述参考区域对应的目标区域中添加虚拟物品。
在另一种可能实现方式中,所述根据所述第一人脸图像中每个像素点的分类标识,获取第三参考图像,包括:
将所述第一人脸图像中每个像素点的分类标识作为所述第三参考图像中对应像素点的像素值,得到所述第三参考图像;或者,
将所述第一人脸图像中每个像素点的分类标识作为第五参考图像中对应像素点的像素值,得到所述第五参考图像;
确定所述第五参考图像中像素值为所述第一标识的像素点构成的区域,作为第三区域;
确定所述第五参考图像中像素值为所述第二标识的像素点构成的区域,作为第四区域;
对所述第五参考图像中的多个像素点进行平滑处理,将平滑处理后得到的图像作为所述第三参考图像,所述多个像素点包括所述第三区域中与所述第四区域相邻的多个第三像素点,以及所述第四区域中与所述第三区域相邻的多个第四像素点。
在另一种可能实现方式中,所述第一标识为1,第二标识为0,所述根据所述多个像素点的分类标识,在所述目标人脸图像中属于所述第一人脸部位的目标区域上添加虚拟物品,包括:
根据所述目标人脸图像中每个像素点的分类标识获取参考图像,所述参考图像中每个像素点的像素值由所述目标人脸图像中每个像素点的分类标识确定;
获取第一矩阵、第二矩阵、第三矩阵和第四矩阵,所述第一矩阵中每个位置上的元素等于所述目标人脸图像中相同位置上的像素点的像素值,所述第二矩阵与所述第一矩阵的尺寸相同,且每个位置上的元素均等于1,所述第三矩阵中每个位置上的元素等于所述参考图像中相同位置上的像素点的像素值,所述第四矩阵中每个位置上的元素等于所述虚拟物品中相同位置上的像素点的像素值;
根据所述第一矩阵、所述第二矩阵、所述第三矩阵和所述第四矩阵,采用以下公式,获取第五矩阵:
z=x*(a-mask)+y*mask;
其中,z为所述第五矩阵,x为所述第一矩阵,a为所述第二矩阵,y为所述第三矩阵,mask为所述第四矩阵;
根据所述第五矩阵,生成添加所述虚拟物品后的目标人脸图像,以使添加所述虚拟物品后的目标人脸图像中每个位置上像素点的像素值等于所述第五矩阵中相同位置上的元素。
根据本公开实施例的第二方面,提供一种虚拟物品添加装置,所述装置包括:
模型获取模块,用于获取像素分类模型,所述像素分类模型用于确定任一图像中每个像素点的分类标识,所述分类标识为第一标识或第二标识,所述第一标识用于指示对应的像素点属于第一人脸部位,所述第二标识用于指示对应的像素点属于第二人脸部位,所述第一人脸部位为未被遮挡的人脸部位,所述第二人脸部位包括被遮挡的人脸部位或非人脸部位中的至少一种;
标识获取模块,用于基于所述像素分类模型,获取目标人脸图像中多个像素点的分类标识;
添加模块,用于根据所述多个像素点的分类标识,在所述目标人脸图像中属于所述第一人脸部位的目标区域上添加虚拟物品。
在一种可能实现方式中,所述装置还包括:
样本获取模块,用于获取多个样本人脸图像和所述多个样本人脸图像中每个像素点的分类标识,所述分类标识为所述第一标识或所述第二标识;
训练模块,用于根据所述多个样本人脸图像和所述多个样本人脸图像中每个像素点的分类标识进行模型训练,得到所述像素分类模型。
在另一种可能实现方式中,所述训练模块,包括:
标识获取单元,用于将所述多个样本人脸图像中的每个本人脸图像输入至像素分类模型,获取所述样本人脸图像中每个像素点的测试分类标识;
调整单元,用于根据所述样本人脸图像中每个像素点的分类标识和测试分类标识的差异,对所述像素分类模型的模型参数进行调整,得到调整后的所述像素分类模型,所述测试分类标识为所述第一标识或所述第二标识。
在另一种可能实现方式中,所述第一标识为不为0的数值,所述第二标识为0,所述添加模块,包括:
第一图像获取单元,用于根据所述目标人脸图像中每个像素点的分类标识,获取第一参考图像,所述第一参考图像中每个像素点的像素值由所述目标人脸图像中每个像素点的分类标识确定;
第一添加单元,用于所述第一参考图像中像素值为所述第一标识的像素点构成的参考区域,在所述目标人脸图像中与所述参考区域对应的目标区域中添加虚拟物品。
在另一种可能实现方式中,所述第一确定单元,还用于:
将所述目标人脸图像中每个像素点的分类标识作为所述第一参考图像中对应像素点的像素值,得到所述第一参考图像;或者,
将所述目标人脸图像中每个像素点的分类标识作为第二参考图像中对应像素点的像素值,得到所述第二参考图像;
确定所述第二参考图像中像素值为所述第一标识的像素点构成的区域,作为第一区域;
确定所述第二参考图像中像素值为所述第二标识的像素点构成的区域,作为第二区域;
对所述第二参考图像中的多个像素点进行平滑处理,将平滑处理后得到的图像作为所述第一参考图像,所述多个像素点包括所述第一区域中与所述第二区域相邻的多个像素点,以及所述第二区域中与所述第一区域相邻的多个像素点。
在另一种可能实现方式中,所述标识获取模块,包括:
检测单元,用于采用关键点检测算法,检测所述目标人脸图像中属于所述人脸部位的多个关键像素点;
提取单元,用于从所述目标人脸图像中提取所述多个关键像素点构成的区域,作为第一人脸图像;
标识确定单元,用于将所述第一人脸图像输入至所述像素分类模型,基于所述像素分类模型,确定所述第一人脸图像中每个像素点的分类标识。
在另一种可能实现方式中,所述添加模块,包括:
第二图像获取单元,用于根据所述第一人脸图像中每个像素点的分类标识,获取第三参考图像,所述第三参考图像中每个像素点的像素值由所述第一人脸图像中每个像素点的分类标识确定;
像素点添加单元,用于在所述第三参考图像的外侧添加像素值为所述第二标识的像素点,得到第四参考图像,以使所述第四参考图像的尺寸与所述目标人脸图像的尺寸相同,且所述第三参考图像中的每个像素点在所述第四参考图像中的位置与所述第一人脸图像中对应的像素点在所述目标人脸图像中的位置相同;
第二添加单元,用于根据所述第四参考图像中像素值为所述第一标识的像素点构成的参考区域,在所述目标人脸图像中与所述参考区域对应的目标区域中添加虚拟物品。
在另一种可能实现方式中,所述第二图像获取单元,还用于:
将所述第一人脸图像中每个像素点的分类标识作为所述第三参考图像中对应像素点的像素值,得到所述第三参考图像;或者,
将所述第一人脸图像中每个像素点的分类标识作为第五参考图像中对应像素点的像素值,得到所述第五参考图像;
确定所述第五参考图像中像素值为所述第一标识的像素点构成的区域,作为第三区域;
确定所述第五参考图像中像素值为所述第二标识的像素点构成的区域,作为第四区域;
对所述第五参考图像中的多个像素点进行平滑处理,将平滑处理后得到的图像作为所述第三参考图像,所述多个像素点包括所述第三区域中与所述第四区域相邻的多个第三像素点,以及所述第四区域中与所述第三区域相邻的多个第四像素点。
在另一种可能实现方式中,所述第一标识为1,第二标识为0,所述根据所述多个像素点的分类标识,所述添加模块,包括:
根据所述目标人脸图像中每个像素点的分类标识获取参考图像,所述参考图像中每个像素点的像素值由所述目标人脸图像中每个像素点的分类标识确定;
矩阵获取单元,用于获取第一矩阵、第二矩阵、第三矩阵和第四矩阵,所述第一矩阵中每个位置上的元素等于所述目标人脸图像中相同位置上的像素点的像素值,所述第二矩阵与所述第一矩阵的尺寸相同,且每个位置上的元素均等于1,所述第三矩阵中每个位置上的元素等于所述参考图像中相同位置上的像素点的像素值,所述第四矩阵中每个位置上的元素等于所述虚拟物品中相同位置上的像素点的像素值;
所述矩阵获取单元,还用于根据所述第一矩阵、所述第二矩阵、所述第三矩阵和所述第四矩阵,采用以下公式,获取第五矩阵:
z=x*(a-mask)+y*mask;
其中,z为所述第五矩阵,x为所述第一矩阵,a为所述第二矩阵,y为所述第三矩阵,mask为所述第四矩阵;
生成单元,用于根据所述第五矩阵,生成添加所述虚拟物品后的目标人脸图像,以使添加所述虚拟物品后的目标人脸图像中每个位置上像素点的像素值等于所述第五矩阵中相同位置上的元素。
根据本公开实施例的第三方面,提供一种电子设备,所述电子设备包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行命令的易失性或非易失性存储器;
其中,所述一个或多个处理器被配置为执行如第一方面所述的虚拟物品添加方法。
根据本公开实施例提供的第四方面,提供一种非临时性计算机可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的虚拟物品添加方法。
根据本公开实施例的第五方面,提供一种计算机程序产品,当所述计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备能够执行如第一方面所述的虚拟物品添加方法。
本公开的实施例提供的技术方案可以包括以下有益效果:
通过获取目标图像和已训练的像素分类模型,可以根据该像素分类模型,确定该目标图像中的每个像素的分类标识,根据获取的目标图像中分类标识中的第一标识,确定该第一标识对应的第一像素,按照该第一像素,在该第一像素对应的区域上添加虚拟装饰,该第一像素均为人脸部位区域,当该人脸部位区域被遮挡时,被遮挡的人脸部位区域的分类标识应为第二标识,因此不会出现由于人脸部位区域被遮挡后,在遮挡的脸部区域上仍然添加虚拟装饰的情况,而是仅在第一标识对应的像素对应的区域上添加虚拟装饰,提高了添加虚拟装饰的准确性,且提高了添加虚拟装饰的效果。
并且,通过对第二像素和第三像素进行羽化处理,得到处理后的第四像素,该第四像素的像素值呈线性关系,因此,该第四像素对应的目标图像中的区域为过渡区域,按照该第四像素在对应的区域上添加虚拟装饰,使添加的虚拟装饰与第四像素的过渡效果相同,提高了目标图像中交界处过渡的自然性,以使在该区域上添加的虚拟装饰更加美观。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种虚拟物品添加方法的流程图。
图2是根据一示例性实施例示出的一种虚拟物品添加方法的流程图。
图3是根据一示例性实施例示出的一种虚拟物品添加方法的流程图。
图4是根据一示例性实施例示出的一种虚拟物品添加装置的结构示意图。
图5是根据一示例性实施例示出的另一种虚拟物品添加装置的结构示意图。
图6是根据一示例性实施例示出的一种终端的框图。
图7是根据一示例性实施例示出的一种服务器的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
本公开实施例提供了一种虚拟物品添加方法,能够在目标人脸图像中添加虚拟物品,可以应用于多种场景下。
例如,本公开实施例提供的方法,应用于视频通话场景中,任两个终端建立通信连接,通过该通信连接进行视频通话,在进行视频通话的过程中,任一终端获取视频中的图像作为人脸图像,采用本公开实施例提供的方法,即可在终端显示的人脸图像中添加虚拟物品。
或者,本公开实施例提供的方法,还可以应用于图片美化场景中,终端获取待处理的人脸图像,将该人脸图像进行显示,采用本公开实施例提供的方法,即可在终端显示的人脸图像中添加虚拟物品。
或者,本公开实施例提供的方法,还可以应用于视频直播场景中,直播用户可以通过终端录制视频,并发布所录制的视频,供其他用户观看,任一用户的终端可以采用本公开实施例提供的方法,在视频的人脸图像中添加虚拟物品。
图1是根据一示例性实施例示出的一种虚拟物品添加方法的流程图,如图1所示,该方法包括:
在步骤101中,获取像素分类模型。
其中,像素分类模型用于确定任一图像中每个像素点的分类标识,分类标识为第一标识或第二标识,第一标识用于指示对应的像素点属于第一人脸部位,第二标识用于指示对应的像素点属于第二人脸部位,第一人脸部位为未被遮挡的人脸部位,第二人脸部位包括被遮挡的人脸部位或非人脸部位中的至少一种。
在步骤102中,基于像素分类模型,获取目标人脸图像中多个像素点的分类标识。
在步骤103中,根据多个像素点的分类标识,在目标人脸图像中属于第一人脸部位的目标区域上添加虚拟物品。
本公开实施例提供的方法,获取像素分类模型,该像素分类模型用于确定任一图像中每个像素点的分类标识,且该分类标识包括第一标识和第二标识,该第一标识用于指示对应的像素点属于第一人脸部位,该第二标识用于指示对应的像素点属于第二人脸部位,该第一人脸部位为未被遮挡的部位,该第二人脸部位包括被遮挡的人脸部位或非人脸部位中的至少一种,基于该像素分类模型,获取目标人脸图像中的多个像素点的分类标识,根据该多个像素点的分类标识,在目标人脸图像中属于第一人脸部位的目标区域上,添加与人脸部位匹配的虚拟物品。当该人脸部位区域被遮挡时,被遮挡的人脸部位区域的分类标识应为第二标识,因此不会出现由于人脸部位区域被遮挡后,在遮挡的脸部区域上仍然添加虚拟物品的情况,而是仅在第一标识指示的像素点对应的区域上添加虚拟物品,提高了添加虚拟物品的准确性,且提高了显示虚拟物品的效果。
在一种可能实现方式中,方法还包括:
获取多个样本人脸图像和多个样本人脸图像中每个像素点的分类标识,分类标识为第一标识或第二标识;
根据多个样本人脸图像和多个样本人脸图像中每个像素点的分类标识进行模型训练,得到像素分类模型。
在另一种可能实现方式中,根据多个样本人脸图像和多个样本人脸图像中每个像素点的分类标识进行模型训练,得到像素分类模型,包括:
将多个样本人脸图像中的每个样本人脸图像输入至像素分类模型,获取样本人脸图像中每个像素点的测试分类标识,根据样本人脸图像中每个像素点的分类标识和测试分类标识的差异,对像素分类模型的模型参数进行调整,得到调整后的像素分类模型;测试分类标识为第一标识或第二标识。
在另一种可能实现方式中,根据多个像素点的分类标识,在目标人脸图像中属于第一人脸部位的目标区域上添加虚拟物品,包括:
根据目标人脸图像中每个像素点的分类标识,获取第一参考图像,第一参考图像中每个像素点的像素值由目标人脸图像中每个像素点的分类标识确定;
根据第一参考图像中像素值为第一标识的像素点构成的参考区域,在目标人脸图像中与参考区域对应的目标区域中添加虚拟物品。
在另一种可能实现方式中,根据目标人脸图像中每个像素点的分类标识,获取第一参考图像,包括:
将目标人脸图像中每个像素点的分类标识作为第一参考图像中对应像素点的像素值,得到第一参考图像;或者,
将目标人脸图像中每个像素点的分类标识作为第二参考图像中对应像素点的像素值,得到第二参考图像;
确定第二参考图像中像素值为第一标识的像素点构成的区域,作为第一区域;
确定第二参考图像中像素值为第二标识的像素点构成的区域,作为第二区域;
对第二参考图像中的多个像素点进行平滑处理,得到平滑处理后的第一参考图像,多个像素点包括第一区域中与第二区域相邻的多个第一像素点,以及第二区域中与第一区域相邻的多个第二像素点。
在另一种可能实现方式中,基于像素分类模型,获取目标人脸图像中多个像素点的分类标识,包括:
采用关键点检测算法,检测目标人脸图像中属于人脸部位的多个关键像素点;
从目标人脸图像中提取多个关键像素点构成的区域,作为第一人脸图像;
将第一人脸图像输入至像素分类模型,基于像素分类模型,确定第一人脸图像中每个像素点的分类标识。
在另一种可能实现方式中,根据多个像素点的分类标识,在目标人脸图像中属于第一人脸部位的目标区域上添加虚拟物品,包括:
根据第一人脸图像中每个像素点的分类标识,获取第三参考图像,第三参考图像中每个像素点的像素值由第一人脸图像中每个像素点的分类标识确定;
在第三参考图像的外侧添加像素值为第二标识的像素点,得到第四参考图像,以使第四参考图像的尺寸与目标人脸图像的尺寸相同,且第三参考图像中的每个像素点在第四参考图像中的位置与第一人脸图像中对应的像素点在目标人脸图像中的位置相同;
根据第四参考图像中像素值为第一标识的像素点构成的参考区域,在目标人脸图像中与参考区域对应的目标区域中添加虚拟物品。
在另一种可能实现方式中,根据第一人脸图像中每个像素点的分类标识,确定第三参考图像中对应像素点的像素值,得到第三参考图像,包括:
将第一人脸图像中每个像素点的分类标识作为第三参考图像中对应像素点的像素值,得到第三参考图像;或者,
将第一人脸图像中每个像素点的分类标识作为第五参考图像中对应像素点的像素值,得到第五参考图像;
确定第五参考图像中像素值为第一标识的像素点构成的区域,作为第三区域;
确定第五参考图像中像素值为第二标识的像素点构成的区域,作为第四区域;
对第五参考图像中的多个像素点进行平滑处理,将平滑处理后得到的图像作为第三参考图像,多个像素点包括第三区域中与第四区域相邻的多个第三像素点,以及第四区域中与第三区域相邻的多个第四像素点。
在另一种可能实现方式中,第一标识为1,第二标识为0,根据多个像素点的分类标识,在目标人脸图像中属于第一人脸部位的目标区域上,添加与人脸部位匹配的虚拟物品,包括:
根据目标人脸图像中每个像素点的分类标识获取参考图像,参考图像中每个像素点的像素值由目标人脸图像中每个像素点的分类标识确定;
获取第一矩阵、第二矩阵、第三矩阵和第四矩阵,第一矩阵中每个位置上的元素等于目标人脸图像中相同位置上的像素点的像素值,第二矩阵与第一矩阵的尺寸相同,且每个位置上的元素均等于1,第三矩阵中每个位置上的元素等于参考图像中相同位置上的像素点的像素值,第四矩阵中每个位置上的元素等于虚拟物品中相同位置上的像素点的像素值;
根据第一矩阵、第二矩阵、第三矩阵和第四矩阵,采用以下公式,获取第五矩阵:
z=x*(a-mask)+y*mask;
其中,z为第五矩阵,x为第一矩阵,a为第二矩阵,y为第三矩阵,mask为第四矩阵;
根据第五矩阵,生成添加虚拟物品后的目标人脸图像,以使添加虚拟物品后的目标人脸图像中每个位置上像素点的像素值等于第五矩阵中相同位置上的元素。
图2是根据一示例性实施例示出的一种虚拟物品添加方法的流程图,如图2所示,该虚拟物品添加方法用于处理装置中,处理装置可以为手机、计算机、服务器、摄像头等具有图像处理功能的装置,该方法包括:
在步骤201中,获取像素分类模型。
其中,该像素分类模型用于确定任一图像中每个像素点的分类标识,将任一图像输入至该像素分类模型,能够确定该图像中每个像素点的分类标识,实现图像中像素点的分类。
该分类标识为第一标识或第二标识,第一标识用于指示对应的像素点属于第一人脸部位,第二标识用于指示对应的像素点属于第二人脸部位,第一人脸部位为未被遮挡的人脸部位,第二人脸部位包括被遮挡的人脸部位或非人脸部位中的至少一种。该第一标识和该第二标识为不同的两个标识,例如该第一标识为1,该第二标识为0,或者,该第一标识为0,该第二标识为1。
在训练像素分类模型时,获取多个样本人脸图像和多个样本人脸图像中每个像素点的分类标识,根据多个样本人脸图像和多个样本人脸图像中每个像素点的分类标识进行模型训练,得到训练后的像素分类模型。
其中,每个样本人脸图像中可以包括第一人脸部位或第二人脸部位中的其中一项,属于第一人脸部位的像素点的分类标识为第一标识,属于第二人脸部位的像素点的分类标识为第二标识。
在一种可能实现方式中,在训练像素分类模型的过程中,对于多个样本人脸图像中的任一样本人脸图像,基于像素分类模型,获取样本人脸图像中每个像素点的测试分类标识,根据样本人脸图像中每个像素点的分类标识和测试分类标识,对像素分类模型的模型参数进行调整,得到调整后的像素分类模型。
其中,在训练像素分类模型时,可以先构建初始像素分类模型,该初始像素分类模型可以为已训练过一次或多次的像素分类模型,或者还可以为未经过训练的像素分类模型,再根据样本人脸图像中每个像素点的分类标识和测试分类标识的差异,对像素分类模型的模型参数进行调整,得到调整后的像素分类模型。
例如,该像素分类模型为神经网络模型,该神经网络模型包括多层网络,将人脸图像输入至该神经网络模型后,采用该神经网络模型中的多层网络,依次对该人脸图像进行处理,得到人脸图像的特征,按照该人脸图像的特征计算每个像素点的预测值,进而得到该人脸图像中像素点的分类标识。且该神经网络模型采用的损失函数可以为softmax(一种损失函数),或者为其他类型的损失函数。
在一种可能实现方式中,在训练像素分类模型时可以采用卷积神经网络模型、全卷积神经网络模型、VGG16(一种神经网络结构)模型、InceptionV1(一种神经网络结构)模型、InceptionV2(一种神经网络结构)模型、resnet模型、Inception-resnet(一种残差神经网络结构)模型等。
其中,该像素分类模型可以由处理装置训练得到,由该处理装置存储。或者,该像素分类模型可以由训练装置训练,将训练后的像素分类模型发送给处理装置,由处理装置存储。
后续过程中,还可以获取新的样本人脸图像以及该样本人脸图像中多个像素点的分类标识,继续训练该像素分类模型,以使该像素分类模型对人脸图像中的第一人脸部位和第二人脸部位进行分类的准确性更高,提高该像素分类模型的准确性。
在步骤202中,基于像素分类模型,获取目标人脸图像中多个像素点的分类标识。
其中,该目标人脸图像可以由处理装置拍摄得到,或者从处理装置拍摄到的视频中提取得到,或者由处理装置从互联网中下载得到,或者由其他设备发送给处理装置。或者,在处理装置进行视频直播的过程中,可以获取视频流中的每张图像,将每张图片分别作为目标人脸图像,以便对视频流中的每张图像进行处理。
目标人脸图像中包括人脸部位和非人脸部位,该人脸部位包括鼻子部位、嘴部部位和眼睛部位等。且该人脸部位包括未被遮挡的人脸部位和被遮挡的人脸部位两种,其中未被遮挡的人脸部位为第一人脸部位,被遮挡的人脸部位和目标人脸图像中的非人脸部位为第二人脸部位。
例如,该目标人脸图像中的人脸部位为鼻子部位、嘴部部位和眼睛部位,且该鼻子部位和嘴部部位未被遮挡,而眼睛部位被遮挡,因此,该鼻子部位和嘴部部位为第一人脸部位,而眼睛部位和目标人脸图像中除鼻子部位、嘴部部位和眼睛部位以外的其他部位为第二人脸部位。
处理装置将目标人脸图像输入至该像素分类模型中,基于该像素分类模型对该目标人脸图像进行处理,根据目标人脸图像中的多个像素点的分类标识对目标人脸图像中的像素点进行分类。
当该目标人脸图像中的像素点的分类标识为第一标识时,表示该像素点属于第一人脸部位,当该目标人脸图像中的像素点的分类标识为第二标识时,表示该像素点属于第二人脸部位。因此,根据得到的目标人脸图像中每个像素点的分类标识,即可确定该目标人脸图像中的第一人脸部位和第二人脸部位。
在一种可能实现方式中,当目标人脸图像中多个像素点的分类标识中包括第一标识时,表示该目标人脸图像中包括第一人脸部位,执行下述步骤203。
需要说明的是,本公开实施例仅是以目标人脸图像中包括第一人脸部位为例进行说明,在另一实施例中,当目标人脸图像中每个像素点的分类标识中不包括第一标识时,表示该目标人脸图像中不包括第一人脸部位,则不再执行步骤203。
在步骤203中,根据目标人脸图像中每个像素点的分类标识,获取第一参考图像。
其中,该第一参考图像中每个像素点的像素值由目标人脸图像中每个像素点的分类标识确定。第一参考图像用于指示目标人脸图像中的第一人脸部位和第二人脸部位所在的位置,通过该第一参考图像即可确定目标人脸图像中的像素点是属于第一人脸部位还是属于第二人脸部位。
在一种可能实现方式中,该步骤203包括步骤2031和步骤2032中的任一项:
2031、将目标人脸图像中每个像素点的分类标识作为第一参考图像中对应像素点的像素值,得到第一参考图像。
则第一参考图像中分类标识为第一标识的像素点所在的位置即为目标人脸图像中第一人脸部位所在的位置,第一参考图像中分类标识为第二标识的像素点所在的位置即为目标人脸图像中第二人脸部位所在的位置。
例如第一标识为1,第二标识为0,该第一参考图像为二值化图像,且在该二值化图像中,像素点的像素值为1表示该像素点在目标人脸图像中对应的像素点属于第一人脸部位,像素点的像素值为0表示该像素点在目标人脸图像中对应的像素点属于第二人脸部位。
2032、将目标人脸图像中每个像素点的分类标识作为第二参考图像中对应像素点的像素值,得到第二参考图像,确定第二参考图像中像素值为第一标识的像素点构成的区域,作为第一区域,确定第二参考图像中像素值为第二标识的像素点构成的区域,作为第二区域,在第二参考图像中,对第二参考图像中的多个像素点进行平滑处理,得到平滑处理后的第一参考图像,该多个像素点包括第一区域中与第二区域相邻的多个像素点,以及第二区域中与第一区域相邻的多个像素点。
由于该目标人脸图像中的像素点包括属于第一人脸部位的像素点和属于第二人脸部位的像素点,且该第一人脸部位和该第二人脸部位之间存在边界,也即是该第一人脸部位和该第二人脸部位之间存在断层,导致在该第一人脸部位上添加的虚拟物品与第二人脸部位之间也会存在断层,进而导致该虚拟物品的过渡性较差。
因此可以根据该目标人脸图像中每个像素点的分类标识确定第二参考图像,将该第二参考图像中的第一区域和第二区域的边界进行平滑处理,得到处理后的第一参考图像,后续根据第一参考图像在目标人脸图像上添加虚拟物品时,相当于将目标人脸图像中的第一人脸部位和第二人脸部位进行了平滑处理,将该第一人脸部位和第二人脸部位之间的断层消除,且对该虚拟物品也进行了平滑处理,因此,该虚拟物品也不会与第二人脸部位之间存在断层,提高了该虚拟物品的显示效果。
其中,该平滑处理技术即为对像素点的羽化处理,可以采用导向滤波的方式对像素点进行处理,或者采用其他方式对像素点进行处理。
在一种可能实现方式中,当从第二参考图像中获取第一区域中与第二区域相邻的多个第一像素点时,可以获取该第一区域中与第二区域相邻的多个像素点,再分别获取与该多个像素点相邻的像素点,将获取的像素点作为第一像素点,也即是获取了该第一区域中的多圈像素点作为第一像素点,当从第二参考图像中获取第二区域中与第一区域相邻的多个第二像素点时,可以获取该第二区域中与第一区域相邻的多个像素点,再分别获取与该多个像素点相连的像素点,将获取的第二区域中的像素点作为第二像素点,也即是获取了第二区域中的多圈像素点作为第二像素点,因此将第二参考图像中的多个像素点进行平滑处理,将平滑处理后得到的图像作为第一参考图像,该多个像素点包括第一像素点和第二像素点。
在步骤204中,根据第一参考图像中像素值为第一标识的像素点构成的参考区域,在目标人脸图像中与参考区域对应的目标区域中添加虚拟物品。
其中,该虚拟物品可以为虚拟眼影、虚拟唇彩、虚拟耳钉等。该虚拟物品可以为与目标人脸图像中的第一人脸部位匹配的虚拟物品,或者,该虚拟物品为用户选择的虚拟物品,或者,该虚拟物品还可以为通过其他方式获取的虚拟物品。
该第一参考图像中像素点的像素值为第一标识或者第二标识,当像素点的像素值为第一标识时,表示该像素点属于第一人脸部位,而当像素点的像素值为第二标识时,表示该像素点属于第二人脸部位。
因此,将该第一参考图像中像素值为第一标识的像素点构成的区域作为参考区域,根据该第一参考图像中的参考区域即可确定目标人脸图像中属于第一人脸部位的目标区域,当在目标人脸图像中添加虚拟物品时,即可将虚拟物品添加在目标区域中。
需要说明的是,每个图像均由多个像素点构成,不同的图像的尺寸可能相同也可能不同。例如,当图像由9个像素点构成时,则这9个像素点可以按照3*3的方式进行排布,或者,当图像由12个像素点构成时,则这12个像素点可以按照3*4的方式进行排布。
并且,每个图像中的像素点均具有像素值,每个图像中多个像素点的像素值可以构成一个矩阵,该矩阵中每个元素与图像中相同位置上的像素点的像素值相等。例如,当图像由9个像素点构成时,则该图像对应的矩阵如下:
由于每个图像均对应一个矩阵,因此,当在目标人脸图像中添加虚拟妆容时,可以将目标人脸图像和虚拟妆容分别转换为对应的矩阵,通过对矩阵的运算,生成添加虚拟物品后的目标人脸图像。
在一种可能实现方式中,获取第一矩阵、第二矩阵、第三矩阵和第四矩阵,第一矩阵中每个位置上的元素等于目标人脸图像中相同位置上的像素点的像素值,第二矩阵与第一矩阵的尺寸相同,且每个位置上的元素均等于1,第三矩阵中每个位置上的元素等于第一参考图像中相同位置上的像素点的像素值,第四矩阵中每个位置上的元素等于虚拟物品中相同位置上的像素点的像素值;
根据第一矩阵、第二矩阵、第三矩阵和第四矩阵,采用以下公式,获取第五矩阵:
z=x*(a-mask)+y*mask;
其中,z为第五矩阵,x为第一矩阵,a为第二矩阵,y为第三矩阵,mask为第四矩阵;
根据第五矩阵,生成添加虚拟物品后的目标人脸图像,以使添加虚拟物品后的目标人脸图像中每个位置上像素点的像素值等于第五矩阵中相同位置上的元素。
其中,该目标人脸图像和该虚拟物品的尺寸相同,第一参考图像中的像素点的像素点不为0时,表示该像素点属于第一人脸部位,而当像素点的像素值为0时,表示该像素点属于第二人脸部位,获取该目标人脸图像中属于第二人脸部位的第一区域,再获取虚拟物品中属于第一人脸部位的第二区域,将第一区域和第二区域进行组合,得到组合后的目标人脸图像,该组合后的目标人脸图像即为添加了虚拟物品的目标人脸图像。
本公开实施例中,处理装置安装有目标应用,且该目标应用中设置有虚拟物品,当用户使用该目标应用时,该用户选择任一图像作为目标人脸图像,终端通过该目标应用读取待添加虚拟物品的目标人脸图像,在该目标应用的显示界面中显示该目标人脸图像,当用户希望在目标人脸图像中添加虚拟物品时,则可以在该目标应用程序中触发对任一虚拟物品的选中操作,此时即可执行步骤201-204,在该目标人脸图像中添加用户选择的虚拟物品。
其中,该目标应用可以为社交应用、视频交互应用、图片美化应用等。该触发操作可以为单击操作、双击操作、长按操作等。
需要说明的第一点是,本公开实施例仅是以像素分类模型针对任一人脸部位,能够将未被遮挡的人脸部位,与被遮挡的人脸部位或非人脸部位进行区分,而在另一种可能实现方式中,人脸部位包括多种类型,像素分类模型针对特定类型的目标人脸部位,能够将未被遮挡的目标人脸部位,与被遮挡的目标人脸部位或目标人脸图像中的非目标人脸部位进行区分。
此种情况下,第一人脸部位为目标人脸图像中未被遮挡的目标人脸部位,第二人脸部位为人脸图像中被遮挡的目标人脸部位和人脸图像中的非目标人脸部位。
其中,该目标人脸部位包括鼻子部位、嘴部部位或者眼睛部位等。
例如,该目标人脸图像中的目标人脸部位为嘴部部位,且该嘴部部位包括被遮挡的部分和未被遮挡的部分,因此,目标人脸图像中的第一人脸部位为未被遮挡的嘴部部位,第二人脸部位为被遮挡的嘴部部位和目标人脸图像中除该嘴部部位以外的部位。
因此,在本公开实施例中,将要在特定类型的目标人脸部位上添加虚拟物品时,确定用于区分该特定类型的目标人脸部位的像素分类模型,采用该像素分类模型即可对目标人脸图像中的多个像素进行分类,以将属于第一人脸部位的像素的分类标识确定为第一标识,将属于第二人脸部位的像素的分类标识确定为第二标识,后续即可根据确定的像素的分类标识,在第一人脸部位上添加虚拟物品。
需要说明的第二点是,本公开实施例仅是以第一标识为不为0,第二标识为0为例进行说明。在另一实施例中,第一标识为1、第二标识为0,采用上述步骤201-204即可实现在目标人脸图像中添加虚拟物品。在另一实施例中,第一标识与第二标识为其他数值,且在目标人脸图像中添加虚拟物品的方式与上述步骤相似,在此不再赘述。
需要说明的第三点是,本公开实施例仅是以获取目标人脸图像的第一参考图像,根据第一参考图像在目标人脸图像中添加虚拟物品为例进行说明。在另一实施例中,步骤203和步骤204为可选步骤,当执行步骤202后,可以将目标人脸图像中,分类标识为第一标识的像素点对应的区域确定属于第一人脸部位的目标区域,再根据多个像素点的分类标识,在目标人脸图像中属于第一人脸部位的目标区域上,添加与第一人脸部位匹配的虚拟物品。当在目标人脸图像中添加虚拟物品时,直接将该虚拟物品添加在第一标识指示的第一人脸部位上。
本公开实施例提供的方法,获取像素分类模型,该像素分类模型用于确定任一图像中每个像素点的分类标识,且该分类标识为第一标识或第二标识,该第一标识用于指示对应的像素点属于第一人脸部位,该第二标识用于指示对应的像素点属于第二人脸部位,该第一人脸部位为未被遮挡的部位,该第二人脸部位包括被遮挡的人脸部位或非人脸部位中的至少一种,基于该像素分类模型,获取目标人脸图像中的多个像素点的分类标识,根据该多个像素点的分类标识,在目标人脸图像中属于第一人脸部位的目标区域上,添加与人脸部位匹配的虚拟物品。当该人脸部位区域被遮挡时,被遮挡的人脸部位区域的分类标识应为第二标识,因此不会出现由于人脸部位区域被遮挡后,在遮挡的脸部区域上仍然添加虚拟物品的情况,而是仅在第一标识指示的像素点对应的区域上添加虚拟物品,提高了添加虚拟物品的准确性,且提高了显示虚拟物品的效果。
并且,根据目标人脸图像中的第一标识和第二标识,获取第二参考图像,确定该第二参考图像中像素值为第一标识的像素点构成的区域作为第一区域,确定第二参考图像中像素值为第二标识的像素点构成的区域作为第二区域,对第二参考图像中的多个像素点进行平滑处理,将平滑处理后得到的图像作为第一参考图像,且多个像素点包括第一区域中与第二区域相邻的多个第一像素点,以及第二区域中与第一区域相邻的多个第二像素点,从而根据该第一参考图像对第一人脸部位添加虚拟物品。通过对参考图像中的第一像素点和第二像素点进行平滑处理,得到处理后的第一参考图像,该第一像素点和第二像素点之间存在过渡效果,因此,按照该第一参考图像在目标区域上添加虚拟物品,使添加的虚拟物品也存在过渡效果,提高了在目标人脸图像中添加虚拟物品的自然性,以使在该目标人脸图像上添加的虚拟物品更加美观。
图2所示的实施例中仅是基于像素分类模型获取目标人脸图像的分类标识,在根据该分类标识在目标人脸图像中添加虚拟物品。而图3所示的实施例是通过关键点检测算法检测目标人脸图像中属于人脸部位的关键像素点,再根据该关键像素点确定人脸区域,再根据像素分类模型获取该人脸区域的分类标识,根据确定的分类标识在目标人脸图像中添加虚拟物品。图3是根据一示例性实施例示出的一种虚拟物品添加方法的流程图。如图3所示,应用于处理装置中,处理装置可以为手机、计算机、服务器、摄像头等具有添加虚拟物品功能的装置,该方法包括:
在步骤301中,采用关键点检测算法,检测目标人脸图像中属于人脸部位的多个关键像素点。
其中,关键点检测算法用于确定任一人脸图像中的关键像素点。当该关键点检测算法仅可以检测属于一种人脸部位的关键像素点时,检测出来的关键像素点可以为嘴部关键像素点或者鼻部关键像素点或者脸部轮廓关键像素点等,而当该关键点检测算法可以检测属于多种人脸部位的关键像素点时,检测出来的关键像素点可以为嘴部关键像素点、鼻部关键像素点和脸部轮廓关键像素点等。
采用关键点检测算法,即可检测该目标人脸图像中属于人脸部位的多个关键像素点,后续即可通过该多个关键像素点即可确定该多个关键像素点所属于的人脸部位。
在一种可能实现方式中,采用该关键点检测算法,可以检测出目标人脸图像中属于人脸部位的多个轮廓关键像素点,后续将该多个轮廓关键像素点连接,得到连接后的连接线,位于该连接线内的区域即为属于人脸部位的区域。或者,采用该关键点检测算法,可以检测出目标人脸图像中位于属于人脸部位的区域内的多个关键像素点,后续从该多个关键像素点中获取边缘像素点,将该多个边缘像素点连接,得到连接后的连接线,位于该连接线内的区域即为属于人脸部位的区域。
在一种可能实现方式中,该关键点检测算法可以为关键点检测模型,基于关键点检测模型对目标人脸图像进行关键像素点检测,以得到该目标人脸图像中的关键像素点。
在训练关键点检测模型时,可以先获取多个样本人脸图像和多个样本人脸图像中的关键像素点,根据该多个样本人脸图像以及该多个样本人脸图像中的关键像素点进行模型训练,得到关键点检测模型。
在一种可能实现方式中,在训练关键点检测模型时,可以构建初始的关键点检测模型,获取训练数据集和测试数据集,训练数据集和测试数据集中均包括多个样本人脸图像以及每个样本人脸图像中的关键像素点。
在训练关键点检测模型的过程中,将训练数据集中的多个样本人脸图像作为关键点检测模型的输入,将该多个样本人脸图像中的关键像素点作为关键点检测模型的输出,对该关键点检测模型进行训练,使关键点检测模型对关键像素点进行学习,使关键点检测模型具备检测关键像素点的能力。之后,将测试数据集中的每个样本人脸图像输入到关键点检测模型中,基于关键点检测模型分别确定每个样本人脸图像中的测试关键像素点,将测试关键像素点和标注关键像素点进行对比,根据对比结果对关键点检测模型进行调整,得到调整后的关键点检测模型。
其中,该关键点检测模型可以由处理装置训练得到,由该处理装置存储。或者,该关键点检测模型可以由训练装置训练,将训练后的关键点检测模型发送给处理装置,由处理装置存储。
后续过程中,还可以获取新的样本人脸图像以及该样本人脸图像中的关键像素点,继续训练该关键点检测模型,得到训练后的关键点检测模型,从而可以提高该关键点检测模型检测关键像素点的准确率。
在步骤302中,从目标人脸图像中提取多个关键像素点构成的区域,作为第一人脸图像。
当采用关键点检测算法确定出多个人脸部位的关键像素点时,根据确定的多个关键像素点即可确定出该多个人脸部位,例如该多个人脸部位可以为嘴部区域和鼻部区域等。或者,当采用关键点检测算法确定出目标人脸部位的关键像素点时,根据确定的关键像素点即可确定出该目标人脸部位,例如该目标人脸部位可以为嘴部区域或者鼻部区域等。
在一种可能实现方式中,当确定的多个关键像素点为人脸部位的轮廓关键像素点时,将该多个轮廓关键像素点连接,构成相互连接的连接线,将位于该连接线内的区域作为第一人脸图像。或者,当确定的多个关键像素点为位于属于人脸部位的区域的多个关键像素点时,获取该多个关键像素点的边缘像素点,将该多个边缘像素点连接,得到连接后的连接线,将位于该连接线内的区域作为第一人脸图像。
在步骤303中,获取像素分类模型。
在步骤304中,将第一人脸图像输入至像素分类模型,基于像素分类模型,确定第一人脸图像中每个像素点的分类标识。
步骤303-步骤304中的过程与上述实施例中的步骤201-步骤202类似,在此不再赘述。区别在于:步骤201和步骤202中,在训练像素分类模型时所采用的样本人脸图像中包括人脸部位。而步骤303和步骤304中,在训练像素分类模型时所采用的样本人脸图像仅为人脸部位的图像。
在步骤305中,根据第一人脸图像中每个像素点的分类标识,获取第三参考图像,该第三参考图像中每个像素点的像素值由第一人脸图像中每个像素点的分类标识确定。
其中,第三参考图像用于指示第一人脸图像中的第一人脸部位和第二人脸部位所在的位置,通过该第三参考图像即可确定第一人脸图像中的像素点是属于第一人脸部位还是属于第二人脸部位。
其中,该步骤305包括步骤3051和步骤3052中的任一项:
3051、将第一人脸图像中每个像素点的分类标识作为第三参考图像中对应像素点的像素值,得到第三参考图像。
例如,第一标识为1,第二标识为0,该第三参考图像为二值化图像,且在该二值化图像中,像素点的像素值为1表示该像素点在第一人脸图像中对应的像素点属于第一人脸部位,像素点的像素值为0表示该像素点在第一人脸图像中对应的像素点属于第二人脸部位。
3052、将第一人脸图像中每个像素点的分类标识作为第五参考图像中对应像素点的像素值,得到第五参考图像,确定第五参考图像中像素值为第一标识的像素点构成的区域,作为第三区域,确定第五参考图像中像素值为第二标识的像素点构成的区域,作为第四区域,对第五参考图像中的多个像素点进行平滑处理,将平滑处理后得到的的图像作为第三参考图像,多个像素点包括第三区域中与第四区域相邻的多个第三像素点,以及第四区域中与第三区域相邻的多个第四像素点。
由于该第一人脸图像中的像素点包括属于第一人脸部位的像素点和属于第二人脸部位的像素点,且该第一人脸部位和该第二人脸部位之间存在边界,也即是该第一人脸部位和该第二人脸部位之间存在断层,导致在该第一人脸部位上添加的虚拟物品与第二人脸部位之间也会存在断层,进而导致该虚拟物品的过渡性较差。
因此可以根据第一人脸图像中每个像素点的分类标识确定第五参考图像,将该第五参考图像中与用于指示第一人脸部位的像素点相邻的像素点和与用于指示第二人脸部位的像素点相邻的像素点进行平滑处理,得到处理后的第三参考图像,此时也就是将第一人脸图像中的第一人脸部位和第二人脸部位进行了平滑处理,将该第一人脸部位和第二人脸部位之间的断层消除,且在第一人脸部位上添加虚拟物品时,该虚拟物品也进行了平滑处理,因此,该虚拟物品也不会与第二人脸部位之间存在断层,提高了显示该虚拟物品的效果。
其中,该平滑处理技术即为对像素点的羽化处理,可以采用导向滤波的方式对像素点进行处理,或者采用其他方式对像素点进行处理。
在一种可能实现方式中,当从第五参考图像中获取第三区域中与第四区域相邻的多个第三像素点时,可以获取该第三区域中与第四区域相邻的多个像素点,再分别获取与该多个像素点相邻的像素点,将获取的第三区域中的像素点作为第三像素点,也即是获取了该第三区域中的多圈像素点作为第三像素点,当从第五参考图像中获取第四区域中与第三区域相邻的多个第四像素点时,可以获取该第四区域中与第三区域相邻的多个像素点,再分别获取与该多个像素点相连的像素点,将获取的第四区域中的像素点作为第四像素点,也即是获取了第四区域中的多圈像素点作为第四像素点,因此对第五参考图像中的多个像素点进行平滑处理,将平滑处理后得到的图像作为第三参考图像,该多个像素点包括第三像素点和第四像素点。
在步骤306中,在第三参考图像的外侧添加像素值为第二标识的像素点,得到第四参考图像,以使第四参考图像的尺寸与目标人脸图像的尺寸相同,且第三参考图像中的每个像素点在第四参考图像中的位置与第一人脸图像中对应的像素点在目标人脸图像中的位置相同。
该第三参考图像中的像素点的像素值为第一标识或者第二标识,像素点的像素值为第一标识时,表示该像素点属于第一人脸部位,而当该像素点的像素值为第二标识时,表示该像素点属于第二人脸部位。
由于第一人脸图像中包括了人脸部位,且该第一人脸图像为目标人脸图像中的提取的图像,对该第一人脸图像进行分类后,即可根据确定的第一标识确定该第一人脸图像中的第一人脸部位,而目标人脸图像中除第一人脸图像以外的区域属于第二人脸部位,因此在第三参考图像的外侧添加像素值为第二标识的像素点,即可确定与目标人脸图像对应的第四参考图像,且该第四参考图像用于指示目标人脸图像中属于第一人脸部位的像素点和属于第二人脸部位的像素点。
在步骤307中,根据第四参考图像中像素值为第一标识的像素点构成的参考区域,在目标人脸图像中与参考区域对应的目标区域中添加虚拟物品。
其中,该虚拟物品可以为虚拟眼影、虚拟唇彩、虚拟耳钉等。该虚拟物品可以为与目标人脸图像中的第一人脸部位匹配的物品,或者,该虚拟物品为用户选择的物品,或者,该虚拟物品还可以为通过其他方式获取的物品。
因此,将该第一参考图像中像素值为第一标识的像素点构成的区域作为参考区域,当在目标人脸图像中添加虚拟物品时,根据该第一参考图像中的参考区域即可确定目标人脸图像中属于第一人脸部位的目标区域,当在目标人脸图像中添加虚拟物品时,即可将虚拟物品添加在目标区域中。
在一种可能实现方式中,获取第一矩阵、第二矩阵、第三矩阵和第四矩阵,第一矩阵中每个位置上的元素等于目标人脸图像中相同位置上的像素点的像素值,第二矩阵与第一矩阵的尺寸相同,且每个位置上的元素均等于1,第三矩阵中每个位置上的元素等于第四参考图像中相同位置上的像素点的像素值,第四矩阵中每个位置上的元素等于虚拟物品中相同位置上的像素点的像素值;
根据第一矩阵、第二矩阵、第三矩阵和第四矩阵,采用以下公式,获取第五矩阵:
z=x*(a-mask)+y*mask;
其中,z为第五矩阵,x为第一矩阵,a为第二矩阵,y为第三矩阵,mask为第四矩阵;
根据第五矩阵,生成添加虚拟物品后的目标人脸图像,以使添加虚拟物品后的目标人脸图像中每个位置上像素点的像素值等于第五矩阵中相同位置上的元素。
其中,该目标人脸图像和虚拟物品的尺寸相同,第四参考图像中的像素点的像素点为1时,表示该像素点属于第一人脸部位,而像素点的像素值为0时,表示该像素点属于第二人脸部位,获取该目标人脸图像中属于第二人脸部位的第一区域,再获取虚拟物品中属于第一人脸部位的第二区域,将第一区域和第二区域进行组合,得到组合后的目标人脸图像,该目标人脸图像即为添加了虚拟物品的图像。
在一种可能实现方式中,该目标人脸图像的尺寸与虚拟物品的尺寸可能不同,此时可以按照目标人脸图像的尺寸调整虚拟物品的尺寸,以使该虚拟物品的尺寸与目标人脸图像的尺寸相同,后续即可将虚拟物品添加在目标人脸图像中。
需要说明的第一点是,本公开实施例仅是以第一标识为不为0,第二标识为0为例进行说明。在另一实施例中,第一标识为1,第二标识为0,采用上述步骤301-307即可是实现在目标人脸图像中添加虚拟物品。在另一实施例中,第一标识与第二标识为其他数值,且在目标人脸图像中添加虚拟物品的方式与上述步骤类似,在此不再赘述。
需要说明的第二点是,本公开实施例仅是以生成第一人脸图像的第三参考图像,再根据该第三参考图像在目标人脸图像中添加虚拟物品为例进行说明。在另一实施例中,步骤305-307为可选步骤,当执行步骤304之后,还可以获取第一人脸图像中像素值为第一标识的像素点在目标人脸图像中的区域,作为属于第一人脸部位的目标区域,直接在该目标区域中添加虚拟物品。
需要说明的第三点是,本公开实施例仅是以通过第四参考图像,在目标人脸图像中添加虚拟物品为例进行说明。在另一实施例中,当在目标人脸图像中添加虚拟物品时,可以根据第三参考图像,采用以下公式,对第一人脸图像进行处理,得到添加虚拟物品后的第一人脸图像:
获取第一矩阵、第二矩阵、第三矩阵和第四矩阵,第一矩阵中每个位置上的元素等于目标人脸图像中相同位置上的像素点的像素值,第二矩阵与第一矩阵的尺寸相同,且每个位置上的元素均等于1,第三矩阵中每个位置上的元素等于第三参考图像中相同位置上的像素点的像素值,第四矩阵中每个位置上的元素等于虚拟物品中相同位置上的像素点的像素值;
根据第一矩阵、第二矩阵、第三矩阵和第四矩阵,采用以下公式,获取第五矩阵:
z=x*(a-mask)+y*mask;
其中,z为第五矩阵,x为第一矩阵,a为第二矩阵,y为第三矩阵,mask为第四矩阵;
根据第五矩阵,生成添加虚拟物品后的目标人脸图像,以使添加虚拟物品后的目标人脸图像中每个位置上像素点的像素值等于第五矩阵中相同位置上的元素。
其中,该第一人脸图像和虚拟物品的尺寸相同,第三参考图像中的像素点的像素点为1时,表示该像素点属于第一人脸部位,而像素点的像素值为0时,表示该像素点属于第二人脸部位,获取该第一人脸图像中属于第二人脸部位的第一区域,再获取虚拟物品中属于第一人脸部位的第二区域,将第一区域和第二区域进行组合,得到组合后的第一人脸图像,该组合后的第一人脸图像即为添加了虚拟物品的第一人脸图像,由于添加虚拟物品后的第一人脸图像的尺寸与未添加虚拟物品的第一人脸图像的尺寸相同,因此,可以直接将添加虚拟物品后的第一人脸图像添加在目标人脸图像中,生成处理后的目标人脸图像,该目标人脸图像即为添加了虚拟物品的人脸图像。
在一种可能实现方式中,当虚拟物品的尺寸与第一人脸图像的尺寸不同时,按照第一人脸图像的尺寸,对虚拟物品的尺寸进行调整,以使虚拟物品的尺寸与第一人脸图像的尺寸相同。
在另一种可能实现方式中,当虚拟物品的尺寸与第一人脸图像的尺寸不同时,按照确定的第一人脸图像的关键像素点,对虚拟物品的尺寸进行调整,以使虚拟物品的尺寸与第一人脸图像的尺寸相同。
本公开实施例提供的方法,采用关键点检测算法,检测目标人脸图像中属于人脸部位的多个关键像素点,从目标人脸图像中提取多个关键像素点构成的区域,作为第一人脸图像,将第一人脸图像输入至像素分类模型,基于像素分类模型,确定第一人脸图像中每个像素点的分类标识,根据第一人脸图像中每个像素点的分类标识,确定目标人脸图像的第四参考图像,根据第四参考图像中像素值为第一标识的像素点确定参考区域,在目标人脸图像中与参考区域对应的目标区域中添加虚拟物品。先获取目标人脸图像中的关键像素点,确定第一人脸图像,再对第一人脸图像进行分类,先确定出了目标人脸图像中属于人脸部位的区域,提高了对像素点分类的准确性,且由于像素点分类的准确性提高,也保证在目标人脸图像中添加虚拟物品的准确性,提高了显示虚拟物品的效果。
并且,根据第一人脸图像中的第一标识和第二标识,生成第五参考图像,确定该第五参考图像中像素值为第一标识的像素点构成的区域作为第三区域,确定第五参考图像中像素值为第二标识的像素点构成的区域作为第四区域,对第五参考图像中的多个像素点进行平滑处理,将平滑处理后得到的图像作为第三参考图像,多个像素点包括第三区域中与第四区域相邻的多个第三像素点,以及第四区域中与第三区域相邻的多个第四像素点,在第三参考图像的外侧添加像素值为第二标识的像素点,得到第四参考图像,从而根据该第四参考图像对第一人脸部位添加虚拟物品。通过对第三参考图像中的第三像素点和第四像素点进行平滑处理,得到处理后的第四参考图像,该第三像素点和第四像素点之间存在过渡效果,因此,按照该第四参考图像在目标区域上添加虚拟物品,使添加的虚拟物品也存在过渡效果,提高了在目标人脸图像中添加虚拟物品的自然性,以使在该目标人脸图像上添加的虚拟物品更加美观。
图4是根据一示例性实施例示出的一种虚拟物品添加装置的结构示意图。参见图4,该装置包括:
模型获取模块401,用于获取像素分类模型,像素分类模型用于确定任一图像中每个像素点的分类标识,分类标识为第一标识或第二标识,第一标识用于指示对应的像素点属于第一人脸部位,第二标识用于指示对应的像素点属于第二人脸部位,第一人脸部位为未被遮挡的人脸部位,第二人脸部位包括被遮挡的人脸部位或非人脸部位中的至少一种;
标识获取模块402,用于基于像素分类模型,获取目标人脸图像中多个像素点的分类标识;
添加模块403,用于根据多个像素点的分类标识,在目标人脸图像中属于第一人脸部位的目标区域上添加虚拟物品。
本公开实施例提供的装置,获取像素分类模型,该像素分类模型用于确定任一图像中每个像素点的分类标识,且该分类标识包括第一标识和第二标识,该第一标识用于指示对应的像素点属于第一人脸部位,该第二标识用于指示对应的像素点属于第二人脸部位,该第一人脸部位为未被遮挡的部位,该第二人脸部位包括被遮挡的人脸部位或非人脸部位中的至少一种,基于该像素分类模型,获取目标人脸图像中的多个像素点的分类标识,根据该多个像素点的分类标识,在目标人脸图像中属于第一人脸部位的目标区域上,添加与人脸部位匹配的虚拟物品。当该人脸部位区域被遮挡时,被遮挡的人脸部位区域的分类标识应为第二标识,因此不会出现由于人脸部位区域被遮挡后,在遮挡的脸部区域上仍然添加虚拟物品的情况,而是仅在第一标识指示的像素点对应的区域上添加虚拟物品,提高了添加虚拟物品的准确性,且提高了显示虚拟物品的效果。
在一种可能实现方式中,参见图5,装置还包括:
样本获取模块404,用于获取多个样本人脸图像和多个样本人脸图像中每个像素点的分类标识,分类标识为第一标识或第二标识;
训练模块405,用于根据多个样本人脸图像和多个样本人脸图像中每个像素点的分类标识进行模型训练,得到像素分类模型。
在另一种可能实现方式中,参见图5,训练模块405,包括:
标识获取单元4051,用于将多个样本人脸图像中的每个本人脸图像输入至像素分类模型,获取样本人脸图像中每个像素点的测试分类标识;
调整单元4052,用于根据样本人脸图像中每个像素点的分类标识和测试分类标识的差异,对像素分类模型的模型参数进行调整,得到调整后的像素分类模型,测试分类标识为第一标识或第二标识。
在另一种可能实现方式中,参见图5,添加模块403,包括:
第一图像获取单元4031,用于根据目标人脸图像中每个像素点的分类标识,获取第一参考图像,第一参考图像中每个像素点的像素值由目标人脸图像中每个像素点的分类标识确定;
第一添加单元4032,用于第一参考图像中像素值为第一标识的像素点构成的参考区域,在目标人脸图像中与参考区域对应的目标区域中添加虚拟物品。
在另一种可能实现方式中,第一图像获取单元4031,还用于:
将目标人脸图像中每个像素点的分类标识作为第一参考图像中对应像素点的像素值,得到第一参考图像;或者,
将目标人脸图像中每个像素点的分类标识作为第二参考图像中对应像素点的像素值,得到第二参考图像;
确定第二参考图像中像素值为第一标识的像素点构成的区域,作为第一区域;
确定第二参考图像中像素值为第二标识的像素点构成的区域,作为第二区域;
对第一参考图像中的多个像素点进行平滑处理,将平滑处理后得到的图像作为第一参考图像,多个像素点包括第一区域中与第二区域相邻的多个像素点,以及第二区域中与第一区域相邻的多个像素点。
在另一种可能实现方式中,参见图5,标识获取模块402,包括:
检测单元4021,用于采用关键点检测算法,检测目标人脸图像中属于人脸部位的多个关键像素点;
提取单元4022,用于从目标人脸图像中提取多个关键像素点构成的区域,作为第一人脸图像;
标识确定单元4023,用于将第一人脸图像输入至像素分类模型,基于像素分类模型,确定第一人脸图像中每个像素点的分类标识。
在另一种可能实现方式中,参见图5,添加模块403,包括:
第二图像获取单元4033,用于根据第一人脸图像中每个像素点的分类标识,获取第三参考图像,第三参考图像中每个像素点的像素值由第一人脸图像中每个像素点的分类标识确定;
像素点添加单元4034,用于在第三参考图像的外侧添加像素值为第二标识的像素点,得到第四参考图像,以使第四参考图像的尺寸与目标人脸图像的尺寸相同,且第三参考图像中的每个像素点在第四参考图像中的位置与第一人脸图像中对应的像素点在目标人脸图像中的位置相同;
第二添加单元4035,用于根据第四参考图像中像素值为第一标识的像素点构成的参考区域,在目标人脸图像中与参考区域对应的目标区域中添加虚拟物品。
在另一种可能实现方式中,第二图像获取单元4033,还用于:
将第一人脸图像中每个像素点的分类标识作为第三参考图像中对应像素点的像素值,得到第三参考图像;或者,
将第一人脸图像中每个像素点的分类标识作为第五参考图像中对应像素点的像素值,得到第五参考图像;
确定第五参考图像中像素值为第一标识的像素点构成的区域,作为第三区域;
确定第五参考图像中像素值为第二标识的像素点构成的区域,作为第四区域;
对第五参考图像中的多个像素点进行平滑处理,将平滑处理后得到的图像作为第三参考图像,多个像素点包括第三区域中与第四区域相邻的多个第三像素点,以及第四区域中与第三区域相邻的多个第四像素点。
在另一种可能实现方式中,第一标识为1,第二标识为0,根据多个像素点的分类标识,参见图5,添加模块403,包括:
根据目标人脸图像中每个像素点的分类标识获取参考图像,参考图像中每个像素点的像素值由目标人脸图像中每个像素点的分类标识确定;
矩阵获取单元4036,用于获取第一矩阵、第二矩阵、第三矩阵和第四矩阵,第一矩阵中每个位置上的元素等于目标人脸图像中相同位置上的像素点的像素值,第二矩阵与第一矩阵的尺寸相同,且每个位置上的元素均等于1,第三矩阵中每个位置上的元素等于参考图像中相同位置上的像素点的像素值,第四矩阵中每个位置上的元素等于虚拟物品中相同位置上的像素点的像素值;
矩阵获取单元4036,还用于根据第一矩阵、第二矩阵、第三矩阵和第四矩阵,采用以下公式,获取第五矩阵:
z=x*(a-mask)+y*mask;
其中,z为第五矩阵,x为第一矩阵,a为第二矩阵,y为第三矩阵,mask为第四矩阵;
生成单元4037,用于根据第五矩阵,生成添加虚拟物品后的目标人脸图像,以使添加虚拟物品后的目标人脸图像中每个位置上像素点的像素值等于第五矩阵中相同位置上的元素。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
图6是根据一示例性实施例示出的一种终端的框图。该终端600可以是便携式移动终端,比如:智能手机、平板电脑、MP3播放器(Moving Picture Experts Group AudioLayer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts GroupAudio Layer IV,动态影像专家压缩标准音频层面4)播放器、笔记本电脑或台式电脑。终端600还可能被称为用户设备、便携式终端、膝上型终端、台式终端等其他名称。
通常,终端600包括有:一个或多个处理器601和一个或多个存储器602。
处理器601可以包括一个或多个处理核心,比如4核心处理器、8核心处理器等。处理器601可以采用DSP(Digital Signal Processing,数字信号处理)、FPGA(Field-Programmable Gate Array,现场可编程门阵列)、PLA(Programmable Logic Array,可编程逻辑阵列)中的至少一种硬件形式来实现。处理器601也可以包括主处理器和协处理器,主处理器是用于对在唤醒状态下的数据进行处理的处理器,也称CPU(Central ProcessingUnit,中央处理器);协处理器是用于对在待机状态下的数据进行处理的低功耗处理器。在一些实施例中,处理器601可以在集成有GPU(Graphics Processing Unit,图像处理器),GPU用于负责显示屏所需要显示的内容的渲染和绘制。一些实施例中,处理器601还可以包括AI(Artificial Intelligence,人工智能)处理器,该AI处理器用于处理有关机器学习的计算操作。
存储器602可以包括一个或多个计算机可读存储介质,该计算机可读存储介质可以是非暂态的。存储器602还可包括易失性存储器或非易失性存储器,比如一个或多个磁盘存储设备、闪存存储设备。在一些实施例中,存储器602中的非暂态的计算机可读存储介质用于存储至少一个指令,该至少一个指令用于被处理器601所具有以实现本申请中方法实施例提供的虚拟物品添加方法。
在一些实施例中,终端600还可选包括有:外围设备接口603和至少一个外围设备。处理器601、存储器602和外围设备接口603之间可以通过总线或信号线相连。各个外围设备可以通过总线、信号线或电路板与外围设备接口603相连。具体地,外围设备包括:射频电路604、触摸显示屏605、摄像头组件606、音频电路607、定位组件608和电源609中的至少一种。
外围设备接口603可被用于将I/O(Input/Output,输入/输出)相关的至少一个外围设备连接到处理器601和存储器602。在一些实施例中,处理器601、存储器602和外围设备接口603被集成在同一芯片或电路板上;在一些其他实施例中,处理器601、存储器602和外围设备接口603中的任意一个或两个可以在单独的芯片或电路板上实现,本实施例对此不加以限定。
射频电路604用于接收和发射RF(Radio Frequency,射频)信号,也称电磁信号。射频电路604通过电磁信号与通信网络以及其他通信设备进行通信。射频电路604将电信号转换为电磁信号进行发送,或者,将接收到的电磁信号转换为电信号。可选地,射频电路604包括:天线系统、RF收发器、一个或多个放大器、调谐器、振荡器、数字信号处理器、编解码芯片组、用户身份模块卡等等。射频电路604可以通过至少一种无线通信协议来与其它终端进行通信。该无线通信协议包括但不限于:城域网、各代移动通信网络(2G、3G、4G及5G)、无线局域网和/或WiFi(Wireless Fidelity,无线保真)网络。在一些实施例中,射频电路604还可以包括NFC(Near Field Communication,近距离无线通信)有关的电路,本申请对此不加以限定。
显示屏605用于显示UI(User Interface,用户界面)。该UI可以包括图形、文本、图标、视频及其它们的任意组合。当显示屏605是触摸显示屏时,显示屏605还具有采集在显示屏605的表面或表面上方的触摸信号的能力。该触摸信号可以作为控制信号输入至处理器601进行处理。此时,显示屏605还可以用于提供虚拟按钮和/或虚拟键盘,也称软按钮和/或软键盘。在一些实施例中,显示屏605可以为一个,设置终端600的前面板;在另一些实施例中,显示屏605可以为至少两个,分别设置在终端600的不同表面或呈折叠设计;在再一些实施例中,显示屏605可以是柔性显示屏,设置在终端600的弯曲表面上或折叠面上。甚至,显示屏605还可以设置成非矩形的不规则图形,也即异形屏。显示屏605可以采用LCD(LiquidCrystal Display,液晶显示屏)、OLED(Organic Light-Emitting Diode,有机发光二极管)等材质制备。
摄像头组件606用于采集图像或视频。可选地,摄像头组件606包括前置摄像头和后置摄像头。通常,前置摄像头设置在终端的前面板,后置摄像头设置在终端的背面。在一些实施例中,后置摄像头为至少两个,分别为主摄像头、景深摄像头、广角摄像头、长焦摄像头中的任意一种,以实现主摄像头和景深摄像头融合实现背景虚化功能、主摄像头和广角摄像头融合实现全景拍摄以及VR(Virtual Reality,虚拟现实)拍摄功能或者其它融合拍摄功能。在一些实施例中,摄像头组件606还可以包括闪光灯。闪光灯可以是单色温闪光灯,也可以是双色温闪光灯。双色温闪光灯是指暖光闪光灯和冷光闪光灯的组合,可以用于不同色温下的光线补偿。
音频电路607可以包括麦克风和扬声器。麦克风用于采集用户及环境的声波,并将声波转换为电信号输入至处理器601进行处理,或者输入至射频电路604以实现语音通信。出于立体声采集或降噪的目的,麦克风可以为多个,分别设置在终端600的不同部位。麦克风还可以是阵列麦克风或全向采集型麦克风。扬声器则用于将来自处理器601或射频电路604的电信号转换为声波。扬声器可以是传统的薄膜扬声器,也可以是压电陶瓷扬声器。当扬声器是压电陶瓷扬声器时,不仅可以将电信号转换为人类可听见的声波,也可以将电信号转换为人类听不见的声波以进行测距等用途。在一些实施例中,音频电路607还可以包括耳机插孔。
定位组件608用于定位终端600的当前地理位置,以实现导航或LBS(LocationBased Service,基于位置的服务)。定位组件608可以是基于美国的GPS(GlobalPositioning System,全球定位系统)、中国的北斗系统、俄罗斯的格雷纳斯系统或欧盟的伽利略系统的定位组件。
电源609用于为终端600中的各个组件进行供电。电源609可以是交流电、直流电、一次性电池或可充电电池。当电源609包括可充电电池时,该可充电电池可以支持有线充电或无线充电。该可充电电池还可以用于支持快充技术。
在一些实施例中,终端600还包括有一个或多个传感器610。该一个或多个传感器610包括但不限于:加速度传感器611、陀螺仪传感器612、压力传感器613、指纹传感器614、光学传感器615以及接近传感器616。
加速度传感器611可以检测以终端600建立的坐标系的三个坐标轴上的加速度大小。比如,加速度传感器611可以用于检测重力加速度在三个坐标轴上的分量。处理器601可以根据加速度传感器611采集的重力加速度信号,控制触摸显示屏605以横向视图或纵向视图进行用户界面的显示。加速度传感器611还可以用于游戏或者用户的运动数据的采集。
陀螺仪传感器612可以检测终端600的机体方向及转动角度,陀螺仪传感器612可以与加速度传感器611协同采集用户对终端600的3D动作。处理器601根据陀螺仪传感器612采集的数据,可以实现如下功能:动作感应(比如根据用户的倾斜操作来改变UI)、拍摄时的图像稳定、游戏控制以及惯性导航。
压力传感器613可以设置在终端600的侧边框和/或触摸显示屏605的下层。当压力传感器613设置在终端600的侧边框时,可以检测用户对终端600的握持信号,由处理器601根据压力传感器613采集的握持信号进行左右手识别或快捷操作。当压力传感器613设置在触摸显示屏605的下层时,由处理器601根据用户对触摸显示屏605的压力操作,实现对UI界面上的可操作性控件进行控制。可操作性控件包括按钮控件、滚动条控件、图标控件、菜单控件中的至少一种。
指纹传感器614用于采集用户的指纹,由处理器601根据指纹传感器614采集到的指纹识别用户的身份,或者,由指纹传感器614根据采集到的指纹识别用户的身份。在识别出用户的身份为可信身份时,由处理器601授权该用户具有相关的敏感操作,该敏感操作包括解锁屏幕、查看加密信息、下载软件、支付及更改设置等。指纹传感器614可以被设置终端600的正面、背面或侧面。当终端600上设置有物理按键或厂商Logo时,指纹传感器614可以与物理按键或厂商标志集成在一起。
光学传感器615用于采集环境光强度。在一个实施例中,处理器601可以根据光学传感器615采集的环境光强度,控制触摸显示屏605的显示亮度。具体地,当环境光强度较高时,调高触摸显示屏605的显示亮度;当环境光强度较低时,调低触摸显示屏605的显示亮度。在另一个实施例中,处理器601还可以根据光学传感器615采集的环境光强度,动态调整摄像头组件606的拍摄参数。
接近传感器616,也称距离传感器,通常设置在终端600的前面板。接近传感器616用于采集用户与终端600的正面之间的距离。在一个实施例中,当接近传感器616检测到用户与终端600的正面之间的距离逐渐变小时,由处理器601控制触摸显示屏605从亮屏状态切换为息屏状态;当接近传感器616检测到用户与终端600的正面之间的距离逐渐变大时,由处理器601控制触摸显示屏605从息屏状态切换为亮屏状态。
本领域技术人员可以理解,图6中示出的结构并不构成对终端600的限定,可以包括比图示更多或更少的组件,或者组合某些组件,或者采用不同的组件布置。
图7是根据一示例性实施例示出的一种服务器的结构示意图,该服务器700可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(CentralProcessing Units,CPU)701和一个或一个以上的存储器702,其中,所述存储器702中存储有至少一条指令,所述至少一条指令由所述处理器701加载并执行以实现上述各个方法实施例提供的方法。当然,该服务器还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该服务器还可以包括其他用于实现设备功能的部件,在此不做赘述。
服务器700可以用于执行上述虚拟物品添加方法中处理装置所执行的步骤。
在示例性实施例中,还提供了一种非临时性计算机可读存储介质,当存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述虚拟物品添加方法中虚拟物品添加装置所执行的步骤。
在示例性实施例中,还提供了一种计算机程序产品,当计算机程序产品中的指令由电子设备的处理器执行时,使得电子设备能够执行上述虚拟物品添加方法中虚拟物品添加装置所执行的步骤。
本领域技术人员在考虑说明书及实践这里的公开后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种虚拟物品添加方法,其特征在于,所述方法包括:
获取像素分类模型,所述像素分类模型用于确定任一图像中每个像素点的分类标识,所述分类标识为第一标识或第二标识,所述第一标识用于指示对应的像素点属于第一人脸部位,所述第二标识用于指示对应的像素点属于第二人脸部位,所述第一人脸部位为未被遮挡的人脸部位,所述第二人脸部位包括被遮挡的人脸部位或非人脸部位中的至少一种;
基于所述像素分类模型,获取目标人脸图像中多个像素点的分类标识;
根据所述多个像素点的分类标识,在所述目标人脸图像中属于所述第一人脸部位的目标区域上添加虚拟物品。
2.根据权利要求1所述的方法,其特征在于,所述根据所述多个像素点的分类标识,在所述目标人脸图像中属于所述第一人脸部位的目标区域上添加虚拟物品,包括:
根据所述目标人脸图像中每个像素点的分类标识,获取第一参考图像,所述第一参考图像中每个像素点的像素值由所述目标人脸图像中每个像素点的分类标识确定;
根据所述第一参考图像中像素值为所述第一标识的像素点构成的参考区域,在所述目标人脸图像中与所述参考区域对应的目标区域中添加虚拟物品。
3.根据权利要求2所述的方法,其特征在于,所述根据所述目标人脸图像中每个像素点的分类标识,获取第一参考图像,包括:
将所述目标人脸图像中每个像素点的分类标识作为所述第一参考图像中对应像素点的像素值,得到所述第一参考图像;或者,
将所述目标人脸图像中每个像素点的分类标识作为第二参考图像中对应像素点的像素值,得到所述第二参考图像;
确定所述第二参考图像中像素值为所述第一标识的像素点构成的区域,作为第一区域;
确定所述第二参考图像中像素值为所述第二标识的像素点构成的区域,作为第二区域;
对所述第二参考图像中的多个像素点进行平滑处理,将平滑处理后得到的图像作为所述第一参考图像,所述多个像素点包括所述第一区域中与所述第二区域相邻的多个第一像素点,以及所述第二区域中与所述第一区域相邻的多个第二像素点。
4.根据权利要求1所述的方法,其特征在于,所述基于所述像素分类模型,获取目标人脸图像中多个像素点的分类标识,包括:
采用关键点检测算法,检测所述目标人脸图像中属于人脸部位的多个关键像素点;
从所述目标人脸图像中提取所述多个关键像素点构成的区域,作为第一人脸图像;
将所述第一人脸图像输入至所述像素分类模型,基于所述像素分类模型,确定所述第一人脸图像中每个像素点的分类标识。
5.根据权利要求4所述的方法,其特征在于,所述根据所述多个像素点的分类标识,在所述目标人脸图像中属于所述第一人脸部位的目标区域上添加虚拟物品,包括:
根据所述第一人脸图像中每个像素点的分类标识,获取第三参考图像,所述第三参考图像中每个像素点的像素值由所述第一人脸图像中每个像素点的分类标识确定;
在所述第三参考图像的外侧添加像素值为所述第二标识的像素点,得到第四参考图像,以使所述第四参考图像的尺寸与所述目标人脸图像的尺寸相同,且所述第三参考图像中的每个像素点在所述第四参考图像中的位置与所述第一人脸图像中对应的像素点在所述目标人脸图像中的位置相同;
根据所述第四参考图像中像素值为所述第一标识的像素点构成的参考区域,在所述目标人脸图像中与所述参考区域对应的目标区域中添加虚拟物品。
6.根据权利要求5所述的方法,其特征在于,所述根据所述第一人脸图像中每个像素点的分类标识,获取第三参考图像,包括:
将所述第一人脸图像中每个像素点的分类标识作为所述第三参考图像中对应像素点的像素值,得到所述第三参考图像;或者,
将所述第一人脸图像中每个像素点的分类标识作为第五参考图像中对应像素点的像素值,得到所述第五参考图像;
确定所述第五参考图像中像素值为所述第一标识的像素点构成的区域,作为第三区域;
确定所述第五参考图像中像素值为所述第二标识的像素点构成的区域,作为第四区域;
对所述第五参考图像中的多个像素点进行平滑处理,将平滑处理后得到的图像作为所述第三参考图像,所述多个像素点包括所述第三区域中与所述第四区域相邻的多个第三像素点,以及所述第四区域中与所述第三区域相邻的多个第四像素点。
7.根据权利要求1-6任一所述的方法,其特征在于,所述第一标识为1,第二标识为0,所述根据所述多个像素点的分类标识,在所述目标人脸图像中属于所述第一人脸部位的目标区域上添加虚拟物品,包括:
根据所述目标人脸图像中每个像素点的分类标识获取参考图像,所述参考图像中每个像素点的像素值由所述目标人脸图像中每个像素点的分类标识确定;
获取第一矩阵、第二矩阵、第三矩阵和第四矩阵,所述第一矩阵中每个位置上的元素等于所述目标人脸图像中相同位置上的像素点的像素值,所述第二矩阵与所述第一矩阵的尺寸相同,且每个位置上的元素均等于1,所述第三矩阵中每个位置上的元素等于所述参考图像中相同位置上的像素点的像素值,所述第四矩阵中每个位置上的元素等于所述虚拟物品中相同位置上的像素点的像素值;
根据所述第一矩阵、所述第二矩阵、所述第三矩阵和所述第四矩阵,采用以下公式,获取第五矩阵:
z=x*(a-mask)+y*mask;
其中,z为所述第五矩阵,x为所述第一矩阵,a为所述第二矩阵,y为所述第三矩阵,mask为所述第四矩阵;
根据所述第五矩阵,生成添加所述虚拟物品后的目标人脸图像,以使添加所述虚拟物品后的目标人脸图像中每个位置上像素点的像素值等于所述第五矩阵中相同位置上的元素。
8.一种虚拟物品添加装置,其特征在于,所述装置包括:
模型获取模块,用于获取像素分类模型,所述像素分类模型用于确定任一图像中每个像素点的分类标识,所述分类标识为第一标识或第二标识,所述第一标识用于指示对应的像素点属于第一人脸部位,所述第二标识用于指示对应的像素点属于第二人脸部位,所述第一人脸部位为未被遮挡的人脸部位,所述第二人脸部位包括被遮挡的人脸部位或非人脸部位中的至少一种;
标识获取模块,用于基于所述像素分类模型,获取目标人脸图像中多个像素点的分类标识;
添加模块,用于根据所述多个像素点的分类标识,在所述目标人脸图像中属于所述第一人脸部位的目标区域上添加虚拟物品。
9.一种电子设备,其特征在于,所述电子设备包括:
一个或多个处理器;
用于存储所述一个或多个处理器可执行命令的易失性或非易失性存储器;
其中,所述一个或多个处理器被配置为执行如权利要求1-7任一项权利要求所述的虚拟物品添加方法。
10.一种非临时性计算机可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得所述电子设备能够执行如权利要求1-7任一项权利要求所述的虚拟物品添加方法。
CN201911049234.4A 2019-10-31 2019-10-31 虚拟物品添加方法、装置、电子设备及存储介质 Pending CN110827195A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911049234.4A CN110827195A (zh) 2019-10-31 2019-10-31 虚拟物品添加方法、装置、电子设备及存储介质

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201911049234.4A CN110827195A (zh) 2019-10-31 2019-10-31 虚拟物品添加方法、装置、电子设备及存储介质
US17/086,798 US20210134022A1 (en) 2019-10-31 2020-11-02 Method and electronic device for adding virtual item

Publications (1)

Publication Number Publication Date
CN110827195A true CN110827195A (zh) 2020-02-21

Family

ID=69551473

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911049234.4A Pending CN110827195A (zh) 2019-10-31 2019-10-31 虚拟物品添加方法、装置、电子设备及存储介质

Country Status (2)

Country Link
US (1) US20210134022A1 (zh)
CN (1) CN110827195A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111970575A (zh) * 2020-07-24 2020-11-20 网易(杭州)网络有限公司 一种虚拟礼物的处理方法、存储介质、处理器及电子设备
CN112348841A (zh) * 2020-10-27 2021-02-09 北京达佳互联信息技术有限公司 虚拟对象的处理方法、装置、电子设备及存储介质

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11144748B2 (en) * 2018-12-07 2021-10-12 IOT Technology, LLC. Classification system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111970575A (zh) * 2020-07-24 2020-11-20 网易(杭州)网络有限公司 一种虚拟礼物的处理方法、存储介质、处理器及电子设备
CN112348841A (zh) * 2020-10-27 2021-02-09 北京达佳互联信息技术有限公司 虚拟对象的处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US20210134022A1 (en) 2021-05-06

Similar Documents

Publication Publication Date Title
CN109379643B (zh) 视频合成方法、装置、终端及存储介质
CN109360222B (zh) 图像分割方法、装置及存储介质
CN110827195A (zh) 虚拟物品添加方法、装置、电子设备及存储介质
CN110865754B (zh) 信息展示方法、装置及终端
CN110929651A (zh) 图像处理方法、装置、电子设备及存储介质
CN110572711A (zh) 视频封面生成方法、装置、计算机设备及存储介质
CN110189340B (zh) 图像分割方法、装置、电子设备及存储介质
CN110933468A (zh) 播放方法、装置、电子设备及介质
CN111541907A (zh) 物品显示方法、装置、设备及存储介质
CN110650379B (zh) 视频摘要生成方法、装置、电子设备及存储介质
CN111880888A (zh) 预览封面生成方法、装置、电子设备及存储介质
CN109522863B (zh) 耳部关键点检测方法、装置及存储介质
CN110807361A (zh) 人体识别方法、装置、计算机设备及存储介质
CN111754386A (zh) 图像区域屏蔽方法、装置、设备及存储介质
CN112907725A (zh) 图像生成、图像处理模型的训练、图像处理方法和装置
CN112581358A (zh) 图像处理模型的训练方法、图像处理方法及装置
CN109815150B (zh) 应用测试方法、装置、电子设备及存储介质
CN110675473A (zh) 生成gif动态图的方法、装置、电子设备及介质
CN110853124A (zh) 生成gif动态图的方法、装置、电子设备及介质
CN111723615A (zh) 对检测物图像进行检测物匹配判定的方法和装置
CN111027490A (zh) 人脸属性识别方法及装置、存储介质
CN110991457A (zh) 二维码处理方法、装置、电子设备及存储介质
CN111586279A (zh) 确定拍摄状态的方法、装置、设备及存储介质
CN110662113B (zh) 视频播放方法、装置和计算机可读存储介质
CN111064994B (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