CN116977539A - 图像处理方法、装置、计算机设备、存储介质和程序产品 - Google Patents
图像处理方法、装置、计算机设备、存储介质和程序产品 Download PDFInfo
- Publication number
- CN116977539A CN116977539A CN202310068091.1A CN202310068091A CN116977539A CN 116977539 A CN116977539 A CN 116977539A CN 202310068091 A CN202310068091 A CN 202310068091A CN 116977539 A CN116977539 A CN 116977539A
- Authority
- CN
- China
- Prior art keywords
- target
- point
- depth
- image
- patch
- 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
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 24
- 239000000463 material Substances 0.000 claims abstract description 133
- 238000012545 processing Methods 0.000 claims abstract description 72
- 238000009877 rendering Methods 0.000 claims abstract description 70
- 238000000034 method Methods 0.000 claims abstract description 44
- 238000012360 testing method Methods 0.000 claims abstract description 29
- 239000000872 buffer Substances 0.000 claims description 41
- 238000010586 diagram Methods 0.000 claims description 26
- 238000013507 mapping Methods 0.000 claims description 26
- 238000004590 computer program Methods 0.000 claims description 25
- 230000001815 facial effect Effects 0.000 claims description 14
- 239000012634 fragment Substances 0.000 claims description 7
- 230000001360 synchronised effect Effects 0.000 claims description 6
- 210000000697 sensory organ Anatomy 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 16
- 238000005516 engineering process Methods 0.000 abstract description 16
- 238000013473 artificial intelligence Methods 0.000 abstract description 8
- 210000001508 eye Anatomy 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000004891 communication Methods 0.000 description 8
- 238000001514 detection method Methods 0.000 description 8
- 239000010421 standard material Substances 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 5
- 238000012805 post-processing Methods 0.000 description 5
- 230000004927 fusion Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 210000004709 eyebrow Anatomy 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000002537 cosmetic Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 210000001061 forehead Anatomy 0.000 description 1
- 238000007499 fusion processing Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 238000003706 image smoothing Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010030 laminating Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000003058 natural language processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/10—Geometric effects
- G06T15/20—Perspective computation
- G06T15/205—Image-based rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/04—Texture mapping
-
- 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/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4023—Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/30—Determination of transform parameters for the alignment of images, i.e. image registration
- G06T7/33—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods
- G06T7/337—Determination of transform parameters for the alignment of images, i.e. image registration using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
- G06T7/536—Depth or shape recovery from perspective effects, e.g. by using vanishing points
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30196—Human being; Person
- G06T2207/30201—Face
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Graphics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Computing Systems (AREA)
- Geometry (AREA)
- Image Generation (AREA)
Abstract
本申请涉及一种图像处理方法、装置、计算机设备、存储介质和程序产品,以结合人工智能技术实现对二维图像的虚拟上妆效果。所述方法包括:获取待处理图像,确定所述待处理图像的目标部位中的多个参考点位;根据预设置的先验深度大小关系,设置各个参考点位的深度信息;根据各参考点位的深度信息进行深度测试,以在存在深度遮挡的情况下,确定与目标区域相匹配的目标面片;基于各目标面片所对应的素材纹理进行渲染处理,得到目标图像。采用本方法能够使得虚拟上妆效果更加真实自然。
Description
技术领域
本申请涉及图像技术领域,特别是涉及一种图像处理方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着图像处理技术的发展,当用户开启摄像头进行拍照、录像时,往往会开启美颜功能对图像进行处理,以将虚拟妆容素材添加到人脸上。通常情况下,可以将虚拟妆容素材中的关键点与人脸中的关键点进行匹配,并基于相匹配的关键点对虚拟妆容素材进行渲染,从而将虚拟妆容素材与人脸图像进行融合。
然而,由于人脸在转动过程中人脸关键点通常会发现偏移(特别在侧脸的情况),即实际的人脸关键点与检测出来的人脸关键点之间存在偏差,如果基于检测出的人脸关键点进行融合,会导致出现素材被截断的情况,导致素材贴合不自然。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高素材贴合度的图像处理方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
一方面,本申请提供了一种图像处理方法。所述方法包括:
获取待处理图像,确定所述待处理图像的目标部位中的多个参考点位;所述待处理图像为平面图像,所述参考点位用于构成多个面片单元;
根据预设置的先验深度大小关系,设置各个参考点位的深度信息;
根据各参考点位的深度信息进行深度测试,以在存在深度遮挡的情况下,确定与目标区域相匹配的目标面片;所述目标区域为所述目标部位的像素区域;
基于各目标面片所对应的素材纹理进行渲染处理,得到目标图像。
另一方面,本申请还提供了一种图像处理装置。所述装置包括:
获取模块,用于获取待处理图像,确定所述待处理图像的目标部位中的多个参考点位;所述待处理图像为平面图像,所述参考点位用于构成多个面片单元;
设置模块,用于根据预设置的先验深度大小关系,设置各个参考点位的深度信息;
测试模块,用于根据各参考点位的深度信息进行深度测试,以在存在深度遮挡的情况下,确定与目标区域相匹配的目标面片;所述目标区域为所述目标部位的像素区域;
渲染模块,用于基于各目标面片所对应的素材纹理进行渲染处理,得到目标图像。
在一些实施例中,获取模块还用于识别所述待处理图像中的目标部位,并对所述目标部位进行关键点检测,得到多个关键点;基于检测得到的多个关键点进行插值处理,得到插值点;将所述关键点和所述插值点共同作为参考点位。
在一些实施例中,所述参考点位包括处于所述目标部位中间区域内的第一点位、处于所述目标部位左右侧区内的第二点位、以及用于构成所述目标部位轮廓的第三点位;所述先验深度大小关系包括:所述第一点位的深度值小于所述第二点位的深度值,所述第二点位的深度值小于所述第三点位的深度值。
在一些实施例中,所述深度信息包括深度值,测试模块还用于根据各参考点位的深度值,确定由各参考点位构成的多个面片单元中各中间点位的深度值;针对目标区域中的任一可见像素,在所针对的可见像素对应有多个点位时,将相对应的各点位中深度值最小的点位,作为与所针对的可见像素相匹配的目标点位;所述点位为参考点位和中间点位中的任一点位;基于各目标点位所属的面片单元,确定与所述目标区域相匹配的目标面片。
在一些实施例中,上述装置还包括写入模块,用于针对任一可见像素,将与所针对的可见像素相匹配的目标点位的深度值,作为所针对的可见像素的深度值;将各可见像素的深度值写入深度缓冲区;所述深度缓冲区的更新用于触发相应的色彩缓冲区中的色彩信息的同步更新,以实现图像渲染。
在一些实施例中,渲染模块还用于获取标准姿态下目标部位与当前姿态下目标部位间的映射关系;根据所述映射关系,并基于标准姿态下的素材图,确定当前姿态下与各目标面片分别对应的素材纹理;从所述素材纹理中确定与各可见像素分别对应的色彩信息,并基于各可见像素分别对应的色彩信息进行渲染处理,得到目标图像。
在一些实施例中,渲染模块还用于获取标准姿态下的素材图,并按照标准姿态下目标部位的多个面片单元间的拓扑结构,将所述素材图划分成多个素材片段;按照所述映射关系,将各素材片段进行形变处理以匹配当前姿态,得到对应的素材纹理。
在一些实施例中,测试模块还用于确定由各参考点位构成的多个面片单元;基于各参考点位的深度值和所述多个面片单元,进行光栅化处理,得到每个片面单元中各中间点位的深度值。
在一些实施例中,测试模块还用于针对面片单元中的任一中间点位,确定所针对的中间点位分别与所属面片单元的各参考点位间的距离;根据所属面片单元的各参考点位的深度值、以及所述距离,确定所针对的中间点位的深度值。
在一些实施例中,所述目标部位为面部,所述参考点位包括位于面部五官处的点位、位于脸颊处的点位、以及位于面部轮廓处的点位;所述素材纹理包括虚拟妆容。
另一方面,本申请还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述图像处理方法的步骤。
另一方面,本申请还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述图像处理方法的步骤。
另一方面,本申请还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述图像处理方法的步骤。
上述图像处理方法、装置、计算机设备、存储介质和计算机程序产品,通过在待处理图像中确定目标部位中的多个参考点位,根据预设置的先验深度大小关系,设置各个参考点位的深度信息,利用目标部位的各点位的深度分布先验,弥补二维虚拟上妆场景下相较于三维虚拟上妆场景自带深度信息的不足;通过根据各参考点位的深度信息进行深度测试,以在存在深度遮挡的情况下,确定与目标区域相匹配的目标面片,基于所确定的目标面片对应的素材纹理进行渲染处理,避免在存在深度遮挡的情况下直接渲染导致的素材重叠的情况,得到渲染完成的目标图像为虚拟上妆后的待处理图像。由此,通过上述方式解决二维虚拟上妆的场景下出现的妆容素材被截断的问题,提升了虚拟素材的贴合感和自然感,提高了虚拟上妆效果。
附图说明
图1为一个实施例中图像处理方法的应用环境图;
图2为一个实施例中图像处理方法的流程示意图;
图3A为一个实施例中参考点位的简易示意图;
图3B为一个实施例中参考点位的检测结果示意图;
图4为另一个实施例中目标部位的网格结构示意图;
图5为一个实施例中侧脸情况下深度遮挡的示意图;
图6为一个实施例中标准姿态下的素材图;
图7为一个实施例中计算中间点位的深度值的原理示意图;
图8为一个实施例中深度缓冲区的原理示意图;
图9A为一个实施例中虚拟上妆的流程示意图;
图9B为一个实施例中侧脸情况下虚拟上妆的效果示意图;
图10为一个实施例中虚拟上妆时多个子能力的渲染示意图;
图11为一个实施例中图像处理装置的结构框图;
图12为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的图像处理方法,可以应用于如图1所示的应用环境中。其中,终端102与服务器104连接以进行通信。终端102和服务器104可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。数据存储系统可以存储服务器104需要处理的数据。数据存储系统可以集成在服务器104上,也可以放在云上或其他服务器上。
终端102或服务器104获取待处理图像,确定待处理图像的目标部位中的多个参考点位,并根据预设置的先验深度大小关系,设置各个参考点位的深度信息。终端102或服务器104根据各参考点位的深度信息进行深度测试,以在存在深度遮挡的情况下,确定与目标区域相匹配的目标面片,从而基于各目标面片所对应的素材纹理进行渲染处理,得到目标图像。
其中,终端102可以但不限于是各种台式计算机、笔记本电脑、智能手机、平板电脑、物联网设备、或者便携式可穿戴设备等中的一种或多种,物联网设备可为智能音箱、智能电视、智能空调、或者智能车载设备等中的一种或多种。便携式可穿戴设备可为智能手表、智能手环、或者头戴设备等中的一种或多种。
在一些实施例中,终端102上安装有图像采集元件,图像采集元件用于采集待处理图像。在一些实施例中,图像采集元件例如为照相机、视频摄像机、集成有光学系统或CCD(Charge-coupled Device,电荷耦合元件)芯片的摄像模块、或者集成有光学系统和CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)芯片的摄像模块等。其中,图像采集元件可以集成于终端102中,也可以独立于终端102设置。例如,图像采集元件可以外接于终端102设置,并通过有线或无线的方式进行通信连接。
在一些实施例中,终端102上还安装有显示元件。显示元件用于提供界面以供用户查看渲染前的待处理图像、或者渲染完成后的目标图像等中的至少一种。在一些实施例中,显示元件例如为液晶显示屏、或者投影仪等。其中,显示元件可以集成于终端102中,也可以独立于终端102设置。例如,显示元件可以外接于终端102设置,并通过有线或无线的方式进行通信连接。
其中,服务器104可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)、以及大数据和人工智能平台等基础云计算服务的云服务器。
人工智能(Artificial Intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。人工智能技术是一门综合学科,涉及领域广泛,既有硬件层面的技术也有软件层面的技术。人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
其中,计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、OCR、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实、同步定位与地图构建等技术,还包括常见的人脸识别、指纹识别等生物特征识别技术。
在一些实施例中,终端上可装载有APP(Application)应用程序,包括传统需要单独安装的应用程序、以及不需要下载安装即可使用的小程序应用,例如浏览器客户端、网页客户端、或者拍照客户端等中的一种或多种。终端可以通过应用程序调用终端的图像采集元件以采集待处理图像,并对待处理图像进行处理以得到渲染完成的目标图像。
在一些实施例中,如图2所示,提供了一种图像处理方法,该方法可以应用于终端或服务器,也可以由终端和服务器协同执行。下面以该方法应用于计算机设备为例进行说明,该计算机设备可以是终端或服务器。该方法包括以下步骤:
步骤S202,获取待处理图像,确定待处理图像的目标部位中的多个参考点位;待处理图像为平面图像,参考点位用于构成多个面片单元。
其中,待处理图像为待进行虚拟上妆的图像。需要说明的是,本申请实施例中所获取的待处理图像为平面图像,即二维图像。待处理图像中包括至少一个目标部位,目标部位例如可以是对象的面部、颈部、手部、或者躯干等部位。对象可以为人或动物等。在一些实施例中,在待处理图像中包括多个目标部位的情况下,各目标部位可以为一个对象的多个目标部位,也可以为多个对象的目标部位。
在一些实施例中,在计算机设备为终端的情况下,终端可以通过调用图像采集装置采集得到待处理图像、调用本地存储的图像作为待处理图像、或者通过网络传输从服务器获取待处理图像,等等。
在一些实施例中,在计算机设备为服务器的情况下,服务器可以通过网络传输获取由终端采集或存储的待处理图像、或者调用数据库中存储的图像作为待处理图像,等等。
具体地,计算机设备获取待处理图像,并对待处理图像进行图像识别,从而识别到待处理图像的目标部位中的多个参考点位。在一些实施例中,计算机设备对待处理图像进行图像识别,包括:通过预先训练好的图像检测模型对待处理图像进行识别,以由图像检测模型输出目标部位中的多个参考点位。
其中,参考点位用于构成多个面片单元,也可称为关键点或关键点位。面片单元由顶点和索引组成。计算机设备可根据索引将多个顶点连接在一起,组成面片单元。
其中,面片单元为计算机设备利用着色器程序(Shader)渲染图像时的基本单元,通常面片单元为三角形,即三角面片。例如,着色器程序中的顶点着色器(Vertex Shader)通过计算每个三角面片的顶点进行渲染。在一些实施例中,面片单元也可以为矩形、或者多边形等。基于各个参考点位,计算机设备可以构建目标部位的网格结构,其中,在网格结构中参考点位为网格顶点。
在一些实施例中,参考点位包括处于目标部位中间区域内的第一点位、处于目标部位左右侧区内的第二点位、以及用于构成目标部位轮廓的第三点位。即,计算机设备将目标部位大致分为几个区域,比如将目标部位划分成中间区域、左侧区域、右侧区域、以及轮廓。以目标部位为面部为例,面部的参考点位的简易示意图如图3A所示。位于同一个区域内的参考点位的深度差异在一定范围之内。不同区域的参考点位之间具有先验深度大小关系。比如,处于目标部位中间区域内的第一点位的深度小于处于目标部位左右侧区内的第二点位的深度,或者,处于目标部位左右侧区内的第二点位的深度小于构成目标部位轮廓的第三点位,等等。例如,在图3A中,{p1,p2,p3}的深度值应小于{p4,p5}的深度值,{p4,p5}的深度值应小于{p6-p9}的深度值。
示例性地,待处理图像中目标部位为面部,计算机设备对待处理图像进行图像识别后,所得到的参考点位如图3B所示。其中,每个参考点位例如对应有一个数字序号以进行标识,例如1-8点为用于构成目标部位轮廓的第三点位,表示面部轮廓;9-14点表示眉毛上边沿;15-19点为处于目标部位中间区域内的第一点位,表示鼻梁;20-22点表示嘴唇,等等。由此,基于所得到的各个参考点位,计算机设备即可构建多个面片单元,进而根据各个面片单元构建如图4所示的目标部位的网格结构。
步骤S204,根据预设置的先验深度大小关系,设置各个参考点位的深度信息。
其中,预设置的先验深度大小关系用于表示目标部位中各个参考点位之间的深度大小关系。具体地,计算机设备根据预先设置的各个参考点位之间的先验深度大小关系,设置各个参考点位的深度信息。其中,计算机设备根据预设置的先验深度大小关系设置各个参考点位的深度信息,包括:根据预设置的先验深度大小关系设置各个参考点位的深度值。
其中,深度值一般由16位、24位或者32位的数值表示,位数越高,深度的精度越好。深度值的范围在[0,1]之间,值越小表示越接近相机,值越大表示越远离相机。
在一些实施例中,先验深度大小关系包括:第一点位的深度值小于第二点位的深度值,第二点位的深度值小于第三点位的深度值。以目标部位为面部为例,右侧脸情况下五官中的鼻子、嘴巴等位置的参考点位,相对于右侧脸轮廓的参考点位而言更靠近相机,也就是说,鼻子、嘴巴等位置的参考点位的深度应当小于右侧脸轮廓的参考点位的深度。利用这一先验信息,可以预先设置各个参考点位之间的先验深度大小关系。例如,处于目标部位中间区域内的第一点位的深度小于处于目标部位左右侧区内的第二点位的深度,则计算机设备按照上述先验深度大小关系,分别设置第一点位的深度值和第二点位的深度值。
步骤S206,根据各参考点位的深度信息进行深度测试,以在存在深度遮挡的情况下,确定与目标区域相匹配的目标面片;目标区域为目标部位的像素区域。
其中,深度测试用于将深度缓存区中存储的深度值和当前面片单元的深度值进行比较,以计算是否需要更新深度缓存和颜色缓存。
具体地,计算机设备根据各参考点位的深度信息进行深度测试,从而测试待处理图像中是否存在深度遮挡的情况。其中,深度遮挡指的是待处理图像中点位之间存在重叠的情况,即不同的点位位于同一位置。
在一些实施例中,点位之间存在重叠的情况包括:不同的面片单元内的点位存在重叠。例如,对于面部而言,侧脸情况下会导致面片单元的重叠情况,如图5所示,鼻子对应的面片单元与侧脸轮廓对应的面片单元重合而导致存在深度遮挡。
在另一些实施例中,点位之间存在重叠的情况还包括:同一个面片单元内的点位存在重叠。例如,对于面部而言,标准姿态(例如正脸姿态)下面片单元在侧脸情况下会发生偏转,导致面片单元内的不同点位重叠,进而导致存在深度遮挡的情况。
在存在深度遮挡的情况下,计算机设备根据存在重叠的点位各自的深度信息,确定与目标区域相匹配的目标面片。在一些实施例中,计算机设备在目标部位的多个面片单元中,确定与目标区域相匹配的目标面片,包括:在存在深度遮挡的多个点位中,确定深度值较小的点位,并确定该深度值较小的点位所属的面片单元,从而将该面片单元作为与目标区域相匹配的目标面片。
在另一些实施例中,计算机设备在目标部位的多个面片单元中,确定与目标区域相匹配的目标面片,还包括:在同一个面片单元内不同点位存在深度遮挡的情况下,由于不同点位仍属于同一个面片单元,则计算机设备仍将该面片单元作为与目标区域相匹配的目标面片。
其中,目标区域为目标部位的像素区域,即待处理图像中真实构成的像素区域。目标区域表示在存在深度遮挡的情况下,待处理图像中所呈现的区域。示例性地,在右侧脸情况下,鼻子对应的面片单元与侧脸轮廓对应的面片单元存在深度遮挡,即鼻子对应的面片单元遮挡了侧脸轮廓对应的面片单元,则计算机设备确定鼻子区域为目标区域,并确定与鼻子区域相匹配的面片单元作为目标面片。
步骤S208,基于各目标面片所对应的素材纹理进行渲染处理,得到目标图像。
其中,针对目标部位为面部的情况,计算机设备预先设置有标准姿态下的素材图,例如正脸姿态下的妆容素材图,如图6所示。在标准姿态下,每个部位对应的一或多个面片单元所对应的妆容素材图,称之为素材片段。例如,眼睛部位对应有眼影的素材片段,脸颊部位对应有腮红的素材片段,等等。
具体地,在确定待处理图像中的目标区域、以及与该目标区域相匹配的目标面片之后,计算机设备分别确定与各目标面片所对应的素材纹理。
在标准姿态的情况下,计算机设备从标准姿态下的素材图中,提取与目标面片对应的素材片段作为素材纹理,并进行渲染处理,从而得到目标图像。
在非标准姿态的情况下,计算机设备在提取与目标面片对应的素材片段之后,根据待处理图像中目标部位的姿态,对素材片段进行形变处理,从而适配当前姿态,再进行渲染处理,从而得到目标图像。
上述图像处理方法中,通过在待处理图像中确定目标部位中的多个参考点位,根据预设置的先验深度大小关系,设置各个参考点位的深度信息,利用目标部位的各点位的深度分布先验,弥补二维虚拟上妆场景下相较于三维虚拟上妆场景自带深度信息的不足;通过根据各参考点位的深度信息进行深度测试,以在存在深度遮挡的情况下,确定与目标区域相匹配的目标面片,基于所确定的目标面片对应的素材纹理进行渲染处理,避免在存在深度遮挡的情况下直接渲染导致的素材重叠的情况,得到渲染完成的目标图像为虚拟上妆后的待处理图像。由此,通过上述方式解决二维虚拟上妆的场景下出现的妆容素材被截断的问题,提升了虚拟上妆的贴合感和自然感,提高了虚拟上妆效果。
在一些实施例中,确定待处理图像的目标部位中的多个参考点位,包括:识别待处理图像中的目标部位,并对目标部位进行关键点检测,得到多个关键点;基于检测得到的多个关键点进行插值处理,得到插值点;将关键点和插值点共同作为参考点位。
具体地,计算机设备在待处理图像中,识别出目标部位,并对目标部位进行关键点检测,得到多个关键点。例如,在待处理图像中存在目标部位和背景区域,则无需对背景区域进行渲染处理以实现虚拟上妆。或者,在待处理图像中存在多个对象的目标部位,则计算机设备确定当前对象的目标部位,并对该当前对象的目标部位进行关键点检测。计算机设备可以在完成对当前对象的目标部位的渲染后,再继续处理下一个对象的目标部位的渲染操作。
由于检测得到的目标部位的关键点数量有限,为了进一步精细化网格结构,计算机设备可以基于所检测得到的关键点进行插值处理,得到插值点。其中,计算机设备进行插值处理的方式包括但不限于最邻近法、双线性插值法、或者双三次插值法等中的一种或多种。由此,计算机设备将检测得到的多个关键点和插值处理得到的多个插值点,共同作为参考点位,以用于后续构成面片单元。
上述实施例中,通过插值处理增加参考点位的数量,增加待处理图像的目标部位的网格结构的顶点数量,从而使得目标部位的网格结构更加精细化,从而使得渲染效果更加细腻。
在一些实施例中,深度信息包括深度值。则计算机设备根据各参考点位的深度信息进行深度测试,以在存在深度遮挡的情况下,确定与目标区域相匹配的目标面片,包括:根据各参考点位的深度值,确定由各参考点位构成的多个面片单元中各中间点位的深度值;针对目标区域中的任一可见像素,在所针对的可见像素对应有多个点位时,将相对应的各点位中深度值最小的点位,作为与所针对的可见像素相匹配的目标点位;点位为参考点位和中间点位中的任一点位;基于各目标点位所属的面片单元,确定与目标区域相匹配的目标面片。
其中,基于多个参考点位相连接可以构成一个面片单元,一个面片单元内还包括有至少一个中间点位。中间点位包括但不限于面片单元的中心、重心等位置。在一些实施例中,一个面片单元内包括有多个中间点位,中间点位可以基于各个参考点位插值处理得到。在一些实施例中,面片单元内的中间点位可以位于面片单元的边界之内的任意位置。
具体地,计算机设备根据所设置的各参考点位的深度值,确定由各参考点位构成的多个面片单元中各中间点位的深度值。其中,中间点位的深度值基于用于构成其所属的面片单元的顶点的多个参考点位各自的深度值得到。例如,中间点位的深度值可以是构成其所属的面片单元的顶点的各参考点位的深度值进行加权计算得到。
示例性地,如图7所示,假设面片单元为三角面片,构成该三角面片的顶点的各参考点位的深度值分别为z1、z2和z3,则对于中间点位z’,计算机设备基于该中间点位z’分别与各个参考点位的距离l1、l2和l3,即可根据如下公式计算得到中间点位z’的深度值:z'=(l1*z1+l2*z2+l3*z3)/(l1+l2+l3)。
在待处理图像中,计算机设备针对目标区域中的任一可见像素,在所针对的可见像素对应有多个点位时,说明该点位存在深度遮挡的情况。任一可见像素对应的点位可以是参考点位,也可以是中间点位。
在存在深度遮挡的情况下,则计算机设备将与可见像素所对应的各点位中深度值最小的点位,作为与所针对的可见像素相匹配的目标点位。例如,对于右侧脸的情况,其中一可见像素既对应于鼻子的点位,又对应于左侧脸轮廓的点位,则计算机设备将相对应的各点位中深度值最小的点位,作为与所针对的可见像素相匹配的目标点位。由此,计算机设备基于各目标点位所属的面片单元,确定与目标区域相匹配的目标面片。
当目标区域中的任一可见像素仅对应于一个点位时,说明该点位不存在深度遮挡的情况。则计算机设备直接将该点位作为与所针对的可见像素相匹配的目标点位。
在确定作为与所针对的可见像素相匹配的目标点位之后,计算机设备根据各目标点位所属的面片单元,将各目标点位所属的面片单元,作为与目标区域相匹配的目标面片。
上述实施例中,对于待处理图像中目标区域中的任一可见像素,通过比较其所对应的点位的深度值来确定目标面片,以用于后续的渲染,由此实现渲染深度值较小的面片,抛弃深度值较大的面片,从而解决面片重叠导致的渲染错误的问题。
在一些实施例中,该图像处理方法包括:获取待处理图像,确定所述待处理图像的目标部位中的多个参考点位;根据预设置的先验深度大小关系,设置各个参考点位的深度信息;根据各参考点位的深度值,确定由各参考点位构成的多个面片单元中各中间点位的深度值;针对目标区域中的任一可见像素,在所针对的可见像素对应有多个点位时,将相对应的各点位中深度值最小的点位,作为与所针对的可见像素相匹配的目标点位;基于各目标点位所对应的素材纹理进行渲染处理,得到目标图像。
具体地,计算机设备获取待处理图像,对待处理图像进行识别,从而确定待处理图像的目标部位中的多个参考点位。进而,计算机设备根据预设置的先验深度大小关系,设置各个参考点位的深度信息,例如设置各个参考点位的深度值。计算机设备根据各参考点位的深度值,确定由各参考点位构成的多个面片单元中各中间点位的深度值,具体计算方式可参照上述实施例。
在待处理图像中,针对目标区域中的任一可见像素,在所针对的可见像素对应有多个点位时,即存在深度遮挡的情况下时,计算机设备将相对应的各点位中深度值最小的点位,作为与所针对的可见像素相匹配的目标点位。在确定目标点位之后,计算机设备即可基于各目标点位所对应的素材纹理,直接进行渲染处理,从而得到目标图像。
在一些实施例中,计算机设备基于各目标点位所对应的素材纹理进行渲染处理,包括:基于各目标点位,在标准姿态的素材图中确定与目标点位相对应的素材片段,并获取该素材片段对应的素材纹理以进行渲染处理,从而得到目标图像。计算机设备确定与目标点位相对应的素材片段,可以是确定目标点位所属的面片单元,并在标准姿态的素材图中确定与该面片单元相匹配的素材片段。由此,计算机设备基于该素材片段进行形变处理,获得当前姿态下与目标点位相对应的素材纹理,并基于此进行渲染处理,从而得到目标图像。
上述实施例中,对于待处理图像中目标区域中的任一可见像素,通过确定目标点位后直接基于目标点位获取相应的素材纹理并进行渲染,实现渲染深度值较小的点位,抛弃深度值较大的点位,从而解决点位重叠导致的渲染错误的问题。
在一些实施例中,上述方法还包括:针对任一可见像素,将与所针对的可见像素相匹配的目标点位的深度值,作为所针对的可见像素的深度值;将各可见像素的深度值写入深度缓冲区;深度缓冲区的更新用于触发相应的色彩缓冲区中的色彩信息的同步更新,以实现图像渲染。
具体地,针对目标区域中的任一可见像素,计算机设备在确定与之相匹配的目标点位后,将与所针对的可见像素相匹配的目标点位的深度值,即作为所针对的可见像素的深度值。则计算机设备将各可见像素的深度值写入深度缓冲区(Depth Buffer),以执行深度写操作。
其中,深度缓冲区用于存储像素的深度值,即z坐标。深度缓冲区通常组织成一个保存每个屏幕像素深度的x-y二维数组,其中x-y为屏幕二维坐标。在深度缓冲区被写入深度值时,深度缓冲区即进行更新。
其中,深度缓冲区的更新用于触发相应的色彩缓冲区(Color Buffer)中的色彩信息的同步更新,以实现图像渲染。色彩缓冲区存储像素的颜色信息。当计算机设备确定与一可见像素相匹配的目标点位时,基于该相匹配的目标点位的深度值进行深度缓冲区中存储信息的更新,同时计算机设备也对色彩缓冲区中存储的颜色信息进行更新,从而基于更新后的颜色信息进行图像渲染。
上述实施例中,通过确定可见像素的深度值,并在将各可见像素的深度值写入深度缓冲区的同时对色彩缓冲区进行更新,以供后续根据色彩缓冲区中所存储的最新的颜色信息实现图像的渲染,能够基于像素的遮挡关系正确地渲染,避免渲染出错。
在一些实施例中,计算机设备可以针对不同的目标区域,分别创建深度缓冲区以存储该目标区域的深度信息。在一些实施例中,计算机设备针对不同的上妆效果,可以共用同一个深度缓冲区,从而避免额外的性能开销,减少资源消耗和内存占用。例如针对于眼部区域的眼影上妆效果,对应于眼部区域的多个面片单元可以共用同一个深度缓冲区。
示例性地,以目标部位为面部为例,写入有深度信息的深度缓冲区可如图8所示。可以看出,额头、眉部、笔尖、嘴唇等部位的颜色更深,代表深度值更小;脸颊、轮廓等部位的颜色更浅,代表深度值更大。
在一些实施例中,基于各目标面片所对应的素材纹理进行渲染处理,得到目标图像,包括:获取标准姿态下目标部位与当前姿态下目标部位间的映射关系;根据映射关系,并基于标准姿态下的素材图,确定当前姿态下与各目标面片分别对应的素材纹理;从素材纹理中确定与各可见像素分别对应的色彩信息,并基于各可见像素分别对应的色彩信息进行渲染处理,得到目标图像。
具体地,计算机设备获取标准姿态下目标部位与当前姿态下目标部位间的映射关系,进而基于标准姿态下的素材图,确定当前姿态下与各目标面片分别对应的素材纹理。
在当前姿态即为标准姿态的情况下,计算机设备即可根据标准姿态下的素材图,在标准姿态下的素材图中,确定各目标面片分别对应的标准的素材纹理,并将标准的素材纹理作为当前姿态下与各目标面片分别对应的素材纹理。
在当前姿态为非标准姿态的情况下,计算机设备在标准姿态下的素材图中,确定各目标面片分别对应的标准的素材纹理,并基于映射关系对标准的素材纹理进行映射形变,从而得到当前姿态下与各目标面片分别对应的素材纹理。
其中,计算机设备对标准的素材纹理进行映射形变,包括:根据映射关系对标准的素材纹理进行扭曲、拉伸、裁剪等处理,从而使得标准的素材纹理适配于当前姿态。
由此,计算机设备确定当前姿态下与各目标面片分别对应的素材纹理之后,从素材纹理中提取与各可见像素分别对应的色彩信息。例如,在标准姿态的素材图中确定鼻子部位,并从鼻子部位对应的素材纹理中提取色彩信息。计算机设备即可基于各可见像素分别对应的色彩信息进行渲染处理,从而得到目标图像。
在一些实施例中,计算机设备进行渲染处理包括基于后处理算法将目标部位的图像与素材纹理进行融合,从而将颜色信息渲染到屏幕。其中,后处理算法包括但不限于基于素材纹理的半透明通道进行融合、高反差算法进行融合处理等等。在一些实施例中,后处理算法还可用于实现图像平滑、纹理增强、亮度调整、或者颜色调整等。
上述实施例中,通过当前姿态与标准姿态之间目标部位的映射关系,基于标准姿态下的素材图映射形变得到素材纹理,从而基于素材纹理进行渲染,能够适配不同的姿态,渲染效果更加贴合、准确。
在一些实施例中,根据映射关系,并基于标准姿态下的素材图,确定当前姿态下与各目标面片分别对应的素材纹理,包括:获取标准姿态下的素材图,并按照标准姿态下目标部位的多个面片单元间的拓扑结构,将素材图划分成多个素材片段;按照映射关系,将各素材片段进行形变处理以匹配当前姿态,得到对应的素材纹理。
具体地,计算机设备获取标准姿态下的素材图,并确定标准姿态下目标部位的多个面片单元间的拓扑结构。面片单元间的拓扑结构包括面片单元的连接关系等。各个面片单元组成了标准姿态下的网络结构,相应地,标准姿态下的素材图也对应有各个面片单元及拓扑结构。
由此,计算机设备按照标准姿态下目标部位的多个面片单元间的拓扑结构,将素材图划分成多个素材片段。例如,将面中区域的多个面片单元划分成面中区域对应的素材片段,用于实现例如腮红等上妆效果;又如,将轮廓的多个面片单元划分成轮廓对应的素材片段,用于实现例如修容等上妆效果,等等。
而在当前姿态非标准姿态的情况下,由于当前姿态与标准姿态之间存在差异,则计算机设备需要对素材片段进行形变处理,以匹配当前姿态。形变处理包括但不限于拉伸、扭曲、或者裁剪等中的一种或多种。
上述实施例中,通过对标准姿态下的素材图进行划分,得到多个素材片段,后续即可根据目标区域确定相应的素材片段,例如眼睛对应于眼部的素材片段;由此通过形变处理适配当前姿态,使得虚拟上妆效果更加贴合、自然。
在一些实施例中,根据各参考点位的深度值,确定由各参考点位构成的多个面片单元中各中间点位的深度值,包括:确定由各参考点位构成的多个面片单元;基于各参考点位的深度值和多个面片单元,进行光栅化处理,得到每个片面单元中各中间点位的深度值。
具体地,计算机设备确定由各参考点位构成的多个面片单元。例如,计算机设备基于各个参考点位作为顶点构建三角面片,从而得到多个面片单元。计算机设备基于各参考点位的深度值,以及多个参考点位所构成的面片单元,进行光栅化处理,从而得到每个片面单元中各中间点位的深度值。
其中,光栅化处理用于将面片单元映射为最终屏幕上显示的像素。光栅化处理中,首先根据各个面片单元的顶点(即参考点位)的像素坐标,计算面片单元边界上的像素的坐标信息。计算机设备会遍历每一个像素,并确定该像素是否被一个面片单元所覆盖,这一过程即确定每个像素各自所属的面片单元的过程。由此,计算机设备在确定像素所属的面片单元之后,即可根据该所属的面片单元的参考点位的坐标信息来计算像素的坐标信息。
上述实施例中,通过光栅化处理将图元映射为最终屏幕上显示的像素,将深度信息由顶点扩充到面,实现像素级的图像渲染,渲染效果更加精确。
在一些实施例中,基于各参考点位的深度值和多个面片单元,进行光栅化处理,得到每个片面单元中各中间点位的深度值,包括:针对面片单元中的任一中间点位,确定所针对的中间点位分别与所属面片单元的各参考点位间的距离;根据所属面片单元的各参考点位的深度值、以及距离,确定所针对的中间点位的深度值。
具体地,针对面片单元中的任一中间点位,计算机设备确定所针对的中间点位分别与所属面片单元的各参考点位间的距离。其中,该距离可以是像素距离。由此,计算机设备根据所属面片单元的各参考点位的深度值、以及距离,即可计算确定所针对的中间点位的深度值。
示例性地,再如图7所示,假设面片单元为三角面片,构成该三角面片的顶点的各参考点位的深度值分别为z1、z2和z3,则对于中间点位z’,计算机设备基于该中间点位z’分别与各个参考点位的距离l1、l2和l3,即可根据如下公式计算得到中间点位z’的深度值:z'=(l1*z1+l2*z2+l3*z3)/(l1+l2+l3)。
上述实施例中,通过由点及面的方式计算中间点位的深度值,由此能够确定面片单元中任一中间点位对应的深度值;通过增加中间点位并获取中间点位的深度值,扩充了点位的数量,使得后续深度遮挡的判断能够更加精准,进而使得渲染效果更加准确。
在一些实施例中,目标部位为面部,参考点位包括位于面部五官处的点位、位于脸颊处的点位、以及位于面部轮廓处的点位;素材纹理包括虚拟妆容。再参照图3B,计算机设备对面部进行识别后,得到面部的各个参考点位,包括了面部五官处的点位、位于脸颊处的点位、以及位于面部轮廓处的点位。针对不同的点位,计算机设备确定相应的素材纹理,以实现将虚拟妆容与面部融合,从而达到虚拟上妆的效果。
本申请还提供一种应用场景,该应用场景应用上述的图像处理方法。具体地,该图像处理方法在该应用场景的应用例如如下:终端通过调用图像采集装置获取待处理图像,并确定待处理图像的目标部位中的多个参考点位;根据预设置的先验深度大小关系,设置各个参考点位的深度信息。终端根据各参考点位的深度信息进行深度测试,以在存在深度遮挡的情况下,确定与目标区域相匹配的目标面片,最后基于各目标面片所对应的素材纹理进行渲染处理,得到目标图像。当然并不局限于此,本申请提供的图像处理方法还可以应用在其他应用场景中,例如直播场景或会议场景下的虚拟上妆、虚拟背景,或者拍摄模板等等。
在一个具体的示例中,计算机设备获取待处理图像,并对待处理图像进行识别,从而识别得到待处理图像中的目标部位。计算机设备对目标部位进行关键点检测,得到多个关键点,并基于检测得到的多个关键点进行插值处理,得到插值点,由此,计算机设备将关键点和插值点共同作为参考点位,并根据预设置的先验深度大小关系,设置各个参考点位的深度信息。其中,参考点位包括处于目标部位中间区域内的第一点位、处于目标部位左右侧区内的第二点位、以及用于构成目标部位轮廓的第三点位;先验深度大小关系包括:第一点位的深度值小于第二点位的深度值,第二点位的深度值小于第三点位的深度值。
由此,计算机设备根据各参考点位的深度信息进行深度测试,以在存在深度遮挡的情况下,确定与目标区域相匹配的目标面片。具体而言,计算机设备根据各参考点位的深度值,确定由各参考点位构成的多个面片单元中各中间点位的深度值。针对目标区域中的任一可见像素,计算机设备在所针对的可见像素对应有多个点位时,将相对应的各点位中深度值最小的点位,作为与所针对的可见像素相匹配的目标点位,并基于各目标点位所属的面片单元,确定与目标区域相匹配的目标面片。
进而,计算机设备获取标准姿态下目标部位与当前姿态下目标部位间的映射关系,并根据映射关系和标准姿态下的素材图,确定当前姿态下与各目标面片分别对应的素材纹理。其中,计算机设备通过获取标准姿态下的素材图,并按照标准姿态下目标部位的多个面片单元间的拓扑结构,将素材图划分成多个素材片段;再按照映射关系,将各素材片段进行形变处理以匹配当前姿态,得到对应的素材纹理。
由此,计算机设备即可从素材纹理中确定与各可见像素分别对应的色彩信息,并基于各可见像素分别对应的色彩信息进行渲染处理,得到目标图像。
在一些实施例中,如图9A所示,以目标部位为面部为例,虚拟上妆的流程包括:计算机设备首先确定标准姿态下的素材图。对于待处理图像,计算机设备进行图像识别以确定各个参考点位,并基于各个参考点位构建面部的三角面片。由此,基于标准姿态与当前姿态之间面部的映射关系,计算机设备基于标准姿态下的素材图进行后处理以实现渲染上妆。在图9A中,当前姿态即为标准姿态,则计算机设备根据各个三角面片与标准姿态下面部网络结构之间的映射关系,采样标准人脸下对应点位的素材纹理,实现素材片段到实际人脸的位置映射与形变,然后使用一定的后处理算法将人脸皮肤跟素材进行融合,得到上妆之后的结果渲染到屏幕。
在一些实施例中,针对侧脸的情况下,会出现三角面片的重合问题。则计算机设备在判定存在深度遮挡的情况下,确定与目标区域相匹配的目标面片,并基于各目标面片所对应的素材纹理进行渲染处理,以解决渲染时三角面片的重叠导致渲染冲突的问题。如图9B所示,针对于侧脸的情况,计算机设备通过比较深度值,渲染深度值较小的片段,抛弃深度值较大的片段,从而实现侧脸妆容上妆。
如图10所示,在一些实施例中,对于待处理图像,计算机设备识别其中目标部位的参考点位,并根据多个参考点位构建网格,即多个三角面片构成的网络结构。计算机设备在进行渲染之前,先进行深度测试,对网格中顶点(参考点位)的深度值进行更新。同时,计算机设备还可以通过光栅化处理由点及面,生成像素级的深度先验信息。之后,计算机设备进行深度写操作,即将深度值写入深度先验缓冲区。在存在深度遮挡的情况下,计算机设备比较可见像素对应的多个面片单元的深度值,并渲染深度值较小的面片单元。其中,每种美妆子能力可以使用一个深度缓冲区,例如,脸颊区域的像素共用同一个深度缓冲区,以进行后续的腮红上妆。由此,一定范围区域内的像素的深度值均被写入同一个深度缓冲区,以此降低计算资源的消耗。最后,计算机设备利用着色器进行片段绘制,从而实现将像素渲染到屏幕并进行显示。
由此,通过根据人脸五官在相机拍摄侧脸角度下的深度分布先验,人为调整五官等部位的深度值大小关系,生成深度先验缓冲区,然后根据深度先验缓冲区,在绘制妆容效果时,对像素点进行深度测试,并在三角面片重合的情况下只渲染深度值较小的面片,避免了侧脸美妆效果错误重叠现象,能够生成更加真实的虚拟美妆图像。
应该理解的是,虽然如上的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的图像处理方法的图像处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个图像处理装置实施例中的具体限定可以参见上文中对于图像处理方法的限定,在此不再赘述。
在一些实施例中,如图11所示,提供了一种图像处理装置1100,包括:获取模块1101、设置模块1102、测试模块1103和渲染模块1104,其中:
获取模块1101,用于获取待处理图像,确定待处理图像的目标部位中的多个参考点位;待处理图像为平面图像,参考点位用于构成多个面片单元。
设置模块1102,用于根据预设置的先验深度大小关系,设置各个参考点位的深度信息。
测试模块1103,用于根据各参考点位的深度信息进行深度测试,以在存在深度遮挡的情况下,确定与目标区域相匹配的目标面片;目标区域为目标部位的像素区域。
渲染模块1104,用于基于各目标面片所对应的素材纹理进行渲染处理,得到目标图像。
在一些实施例中,获取模块还用于识别待处理图像中的目标部位,并对目标部位进行关键点检测,得到多个关键点;基于检测得到的多个关键点进行插值处理,得到插值点;将关键点和插值点共同作为参考点位。
在一些实施例中,参考点位包括处于目标部位中间区域内的第一点位、处于目标部位左右侧区内的第二点位、以及用于构成目标部位轮廓的第三点位;先验深度大小关系包括:第一点位的深度值小于第二点位的深度值,第二点位的深度值小于第三点位的深度值。
在一些实施例中,深度信息包括深度值,测试模块还用于根据各参考点位的深度值,确定由各参考点位构成的多个面片单元中各中间点位的深度值;针对目标区域中的任一可见像素,在所针对的可见像素对应有多个点位时,将相对应的各点位中深度值最小的点位,作为与所针对的可见像素相匹配的目标点位;点位为参考点位和中间点位中的任一点位;基于各目标点位所属的面片单元,确定与目标区域相匹配的目标面片。
在一些实施例中,上述装置还包括写入模块,用于针对任一可见像素,将与所针对的可见像素相匹配的目标点位的深度值,作为所针对的可见像素的深度值;将各可见像素的深度值写入深度缓冲区;深度缓冲区的更新用于触发相应的色彩缓冲区中的色彩信息的同步更新,以实现图像渲染。
在一些实施例中,渲染模块还用于获取标准姿态下目标部位与当前姿态下目标部位间的映射关系;根据映射关系,并基于标准姿态下的素材图,确定当前姿态下与各目标面片分别对应的素材纹理;从素材纹理中确定与各可见像素分别对应的色彩信息,并基于各可见像素分别对应的色彩信息进行渲染处理,得到目标图像。
在一些实施例中,渲染模块还用于获取标准姿态下的素材图,并按照标准姿态下目标部位的多个面片单元间的拓扑结构,将素材图划分成多个素材片段;按照映射关系,将各素材片段进行形变处理以匹配当前姿态,得到对应的素材纹理。
在一些实施例中,测试模块还用于确定由各参考点位构成的多个面片单元;基于各参考点位的深度值和多个面片单元,进行光栅化处理,得到每个片面单元中各中间点位的深度值。
在一些实施例中,测试模块还用于针对面片单元中的任一中间点位,确定所针对的中间点位分别与所属面片单元的各参考点位间的距离;根据所属面片单元的各参考点位的深度值、以及距离,确定所针对的中间点位的深度值。
在一些实施例中,目标部位为面部,参考点位包括位于面部五官处的点位、位于脸颊处的点位、以及位于面部轮廓处的点位;素材纹理包括虚拟妆容。
上述图像处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是终端或者服务器。下面以该计算机设备为终端为例进行说明,其内部结构图可以如图12所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口、显示单元和输入装置通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过WIFI、移动蜂窝网络、NFC(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种图像处理方法。该计算机设备的显示单元用于形成视觉可见的画面,可以是显示屏、投影装置或虚拟现实成像装置。显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图12中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
在一些实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于面部特征、五官分布等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (15)
1.一种图像处理方法,其特征在于,所述方法包括:
获取待处理图像,确定所述待处理图像的目标部位中的多个参考点位;所述待处理图像为平面图像,所述参考点位用于构成多个面片单元;
根据预设置的先验深度大小关系,设置各个参考点位的深度信息;
根据各参考点位的深度信息进行深度测试,以在存在深度遮挡的情况下,确定与目标区域相匹配的目标面片;所述目标区域为所述目标部位的像素区域;
基于各目标面片所对应的素材纹理进行渲染处理,得到目标图像。
2.根据权利要求1所述的方法,其特征在于,所述确定所述待处理图像的目标部位中的多个参考点位,包括:
识别所述待处理图像中的目标部位,并对所述目标部位进行关键点检测,得到多个关键点;
基于检测得到的多个关键点进行插值处理,得到插值点;
将所述关键点和所述插值点共同作为参考点位。
3.根据权利要求1所述的方法,其特征在于,所述参考点位包括处于所述目标部位中间区域内的第一点位、处于所述目标部位左右侧区内的第二点位、以及用于构成所述目标部位轮廓的第三点位;所述先验深度大小关系包括:所述第一点位的深度值小于所述第二点位的深度值,所述第二点位的深度值小于所述第三点位的深度值。
4.根据权利要求1所述的方法,其特征在于,所述深度信息包括深度值,所述根据各参考点位的深度信息进行深度测试,以在存在深度遮挡的情况下,确定与目标区域相匹配的目标面片,包括:
根据各参考点位的深度值,确定由各参考点位构成的多个面片单元中各中间点位的深度值;
针对目标区域中的任一可见像素,在所针对的可见像素对应有多个点位时,将相对应的各点位中深度值最小的点位,作为与所针对的可见像素相匹配的目标点位;所述点位为参考点位和中间点位中的任一点位;
基于各目标点位所属的面片单元,确定与所述目标区域相匹配的目标面片。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
针对任一可见像素,将与所针对的可见像素相匹配的目标点位的深度值,作为所针对的可见像素的深度值;
将各可见像素的深度值写入深度缓冲区;所述深度缓冲区的更新用于触发相应的色彩缓冲区中的色彩信息的同步更新,以实现图像渲染。
6.根据权利要求4所述的方法,其特征在于,所述基于各目标面片所对应的素材纹理进行渲染处理,得到目标图像,包括:
获取标准姿态下目标部位与当前姿态下目标部位间的映射关系;
根据所述映射关系,并基于标准姿态下的素材图,确定当前姿态下与各目标面片分别对应的素材纹理;
从所述素材纹理中确定与各可见像素分别对应的色彩信息,并基于各可见像素分别对应的色彩信息进行渲染处理,得到目标图像。
7.根据权利要求6所述的方法,其特征在于,所述根据所述映射关系,并基于标准姿态下的素材图,确定当前姿态下与各目标面片分别对应的素材纹理,包括:
获取标准姿态下的素材图,并按照标准姿态下目标部位的多个面片单元间的拓扑结构,将所述素材图划分成多个素材片段;
按照所述映射关系,将各素材片段进行形变处理以匹配当前姿态,得到对应的素材纹理。
8.根据权利要求4所述的方法,其特征在于,所述根据各参考点位的深度值,确定由各参考点位构成的多个面片单元中各中间点位的深度值,包括:
确定由各参考点位构成的多个面片单元;
基于各参考点位的深度值和所述多个面片单元,进行光栅化处理,得到每个片面单元中各中间点位的深度值。
9.根据权利要求8所述的方法,其特征在于,所述基于各参考点位的深度值和所述多个面片单元,进行光栅化处理,得到每个片面单元中各中间点位的深度值,包括:
针对面片单元中的任一中间点位,确定所针对的中间点位分别与所属面片单元的各参考点位间的距离;
根据所属面片单元的各参考点位的深度值、以及所述距离,确定所针对的中间点位的深度值。
10.根据权利要求1至9中任一项所述的方法,其特征在于,所述目标部位为面部,所述参考点位包括位于面部五官处的点位、位于脸颊处的点位、以及位于面部轮廓处的点位;所述素材纹理包括虚拟妆容。
11.一种图像处理装置,其特征在于,所述装置包括:
获取模块,用于获取待处理图像,确定所述待处理图像的目标部位中的多个参考点位;所述待处理图像为平面图像,所述参考点位用于构成多个面片单元;
设置模块,用于根据预设置的先验深度大小关系,设置各个参考点位的深度信息;
测试模块,用于根据各参考点位的深度信息进行深度测试,以在存在深度遮挡的情况下,确定与目标区域相匹配的目标面片;所述目标区域为所述目标部位的像素区域;
渲染模块,用于基于各目标面片所对应的素材纹理进行渲染处理,得到目标图像。
12.根据权利要求11所述的装置,其特征在于,所述参考点位包括处于所述目标部位中间区域内的第一点位、处于所述目标部位左右侧区内的第二点位、以及用于构成所述目标部位轮廓的第三点位;所述先验深度大小关系包括:所述第一点位的深度值小于所述第二点位的深度值,所述第二点位的深度值小于所述第三点位的深度值。
13.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至10中任一项所述的方法的步骤。
14.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
15.一种计算机程序产品,包括计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至10中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310068091.1A CN116977539A (zh) | 2023-01-11 | 2023-01-11 | 图像处理方法、装置、计算机设备、存储介质和程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310068091.1A CN116977539A (zh) | 2023-01-11 | 2023-01-11 | 图像处理方法、装置、计算机设备、存储介质和程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116977539A true CN116977539A (zh) | 2023-10-31 |
Family
ID=88475503
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310068091.1A Pending CN116977539A (zh) | 2023-01-11 | 2023-01-11 | 图像处理方法、装置、计算机设备、存储介质和程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116977539A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117830587A (zh) * | 2024-03-05 | 2024-04-05 | 腾讯科技(深圳)有限公司 | 地图标注的绘制方法、装置、计算机设备和存储介质 |
-
2023
- 2023-01-11 CN CN202310068091.1A patent/CN116977539A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117830587A (zh) * | 2024-03-05 | 2024-04-05 | 腾讯科技(深圳)有限公司 | 地图标注的绘制方法、装置、计算机设备和存储介质 |
CN117830587B (zh) * | 2024-03-05 | 2024-05-28 | 腾讯科技(深圳)有限公司 | 地图标注的绘制方法、装置、计算机设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109859098B (zh) | 人脸图像融合方法、装置、计算机设备及可读存储介质 | |
CN109829930B (zh) | 人脸图像处理方法、装置、计算机设备及可读存储介质 | |
CN111243093B (zh) | 三维人脸网格的生成方法、装置、设备及存储介质 | |
CN111787242B (zh) | 用于虚拟试衣的方法和装置 | |
CN112819947A (zh) | 三维人脸的重建方法、装置、电子设备以及存储介质 | |
JP2023545200A (ja) | パラメータ推定モデルの訓練方法、パラメータ推定モデルの訓練装置、デバイスおよび記憶媒体 | |
CN109584327B (zh) | 人脸老化模拟方法、装置以及设备 | |
CN111652123B (zh) | 图像处理和图像合成方法、装置和存储介质 | |
CN111652807B (zh) | 眼部的调整、直播方法、装置、电子设备和存储介质 | |
CN110378947B (zh) | 3d模型重建方法、装置及电子设备 | |
CN111553284A (zh) | 人脸图像处理方法、装置、计算机设备和存储介质 | |
CN113052951B (zh) | 物体的渲染处理方法、装置、计算机设备和存储介质 | |
WO2023066120A1 (zh) | 图像处理方法、装置、电子设备及存储介质 | |
CN113593001A (zh) | 目标对象三维重建方法、装置、计算机设备和存储介质 | |
CN113628327A (zh) | 一种头部三维重建方法及设备 | |
CN111815768B (zh) | 三维人脸重建方法和装置 | |
CN113822965A (zh) | 图像渲染处理方法、装置和设备及计算机存储介质 | |
CN115239861A (zh) | 人脸数据增强方法、装置、计算机设备和存储介质 | |
CN113610958B (zh) | 一种基于风格迁移的3d图像构建方法、装置及终端 | |
CN111652791B (zh) | 人脸的替换显示、直播方法、装置、电子设备和存储介质 | |
CN111382618B (zh) | 一种人脸图像的光照检测方法、装置、设备和存储介质 | |
CN113139992A (zh) | 多分辨率体素网格化 | |
CN115984447A (zh) | 图像渲染方法、装置、设备和介质 | |
CN116977539A (zh) | 图像处理方法、装置、计算机设备、存储介质和程序产品 | |
CN112258435A (zh) | 图像处理方法和相关产品 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication |