一种图像处理方法、装置、设备以及计算机可读存储介质与流程

文档序号:23161877发布日期:2020-12-04 13:55阅读:119来源:国知局
一种图像处理方法、装置、设备以及计算机可读存储介质与流程

本申请涉及互联网技术领域,尤其涉及一种图像处理方法、装置、设备以及计算机可读存储介质。



背景技术:

随着互联网技术的不断进步,基于一张或多张二维(2dimensions,2d)图像的图像数据所创建的三维(3dimensions,3d)人脸得到广泛应用,例如人脸识别技术、人脸3d动画和虚拟技术等,这些应用使得人类与虚拟世界的交互愈发丰富。

在一些相关技术中,通过深度摄像机获取目标对象的一张或多张人脸图像,该人脸图像携带目标对象的深度信息,然后基于非刚性迭代最近点(non-rigiditerativeclosestpoint,nicp)对多角度的深度信息恢复3d点云。

因为深度摄像机的精度有限,对眼睛、鼻子以及嘴巴等位置的深度采样不佳,所以由上述技术所恢复的3d点云存在精度较低的缺陷,进而导致所生成的3d人脸的人脸质量不佳。



技术实现要素:

本申请实施例提供一种图像处理方法、装置、设备以及计算机可读存储介质,可以提高三维点云精度,以提高三维人脸的人脸质量。

本申请实施例一方面提供一种图像处理方法,包括:

获取包含目标对象的监督图像,根据监督图像对应的深度信息,生成针对目标对象的监督三维点云;

获取初始重建参数,根据初始重建参数生成初始重建三维点云以及初始渲染图像;初始渲染图像包括渲染对象;

获取监督图像中针对目标对象的目标对象特征,获取初始渲染图像中针对渲染对象的渲染对象特征;

根据目标对象特征、渲染对象特征、监督图像、初始渲染图像、监督三维点云以及初始重建三维点云,对初始重建参数进行优化调整,得到优化重建参数;

根据优化重建参数生成用于表征目标对象的目标重建三维点云。

本申请实施例一方面提供一种图像处理装置,包括:

第一获取模块,用于获取包含目标对象的监督图像,根据监督图像对应的深度信息,生成针对目标对象的监督三维点云;

第一生成模块,用于获取初始重建参数,根据初始重建参数生成初始重建三维点云以及初始渲染图像;初始渲染图像包括渲染对象;

第二获取模块,用于获取监督图像中针对目标对象的目标对象特征,获取初始渲染图像中针对渲染对象的渲染对象特征;

优化参数模块,用于根据目标对象特征、渲染对象特征、监督图像、初始渲染图像、监督三维点云以及初始重建三维点云,对初始重建参数进行优化调整,得到优化重建参数;

第二生成模块,用于根据优化重建参数生成用于表征目标对象的目标重建三维点云。

其中,优化参数模块,具体用于获取目标对象在监督图像中的目标对象关键点;

优化参数模块,还具体用于根据初始重建参数以及初始重建三维点云,确定渲染对象在初始渲染图像中的渲染对象关键点;

优化参数模块,还具体用于获取监督图像中每个像素点的监督颜色信息,获取初始渲染图像中每个像素点的渲染颜色信息;

优化参数模块,还具体用于根据目标对象特征、渲染对象特征、监督三维点云、初始重建三维点云、目标对象关键点、渲染对象关键点、监督颜色信息以及渲染颜色信息,对初始重建参数进行优化调整,得到优化重建参数。

其中,初始重建参数包括初始姿势参数;

优化参数模块,包括:

调整姿势单元,用于根据初始姿势参数对初始重建三维点云进行姿势角度调整,得到姿势角度调整后的初始重建三维点云;

第一确定单元,用于将从姿势角度调整后的初始重建三维点云中识别到的关键点,确定为渲染对象在初始渲染图像中的渲染对象关键点。

其中,优化参数模块,包括:

第一生成单元,用于根据目标对象特征、渲染对象特征、监督三维点云、初始重建三维点云、目标对象关键点、渲染对象关键点、监督颜色信息以及渲染颜色信息,生成总损失值;

第二确定单元,用于根据总损失值对初始重建参数进行优化调整,当优化后的初始重建参数满足参数收敛条件时,将优化后的初始重建参数确定为优化重建参数。

其中,第一生成单元,包括:

第一确定子单元,用于根据目标对象特征以及渲染对象特征,确定目标对象以及渲染对象之间的对象特征损失值;

第二确定子单元,用于根据监督颜色信息以及渲染颜色信息,确定监督图像以及初始渲染图像之间的颜色损失值;

第三确定子单元,用于根据监督三维点云以及初始重建三维点云,确定点云损失值;

第四确定子单元,用于根据目标对象关键点以及渲染对象关键点,确定关键点损失值;

第五确定子单元,用于根据初始重建参数,确定调节损失值;

生成损失子单元,用于根据对象特征损失值、颜色损失值、点云损失值、关键点损失值以及调节损失值,生成总损失值。

其中,目标对象特征包括目标对象特征pi以及目标对象特征pi+1,渲染对象特征包括渲染对象特征ti,i为正整数;

第一确定子单元,具体用于根据目标对象特征pi以及初始渲染特征ti,确定目标对象mi以及渲染对象xi之间的对象特征损失值si;其中,目标对象mi为包含目标对象特征pi的对象,渲染对象xi为包含初始渲染特征ti的对象;

第一确定子单元,还具体用于根据目标对象特征pi+1以及初始渲染特征ti,确定目标对象mi+1以及渲染对象xi之间的对象特征损失值si+1;其中,目标对象mi+1为包含目标对象特征pi+1的对象,且目标对象mi对应的姿势与目标对象mi+1对应的姿势不相同;

第一确定子单元,还具体用于根据对象特征损失值si以及对象特征损失值si+1,确定对象特征损失值。

其中,目标对象特征包括目标对象特征pi以及目标对象特征pi+1,渲染对象特征包括渲染对象特征ti以及渲染对象特征ti+1,i为正整数;

第一确定子单元,具体用于根据目标对象特征pi以及初始渲染特征ti,确定目标对象mi以及渲染对象xi之间的对象特征损失值si;其中,目标对象mi为包含目标对象特征pi的对象,渲染对象xi为包含初始渲染特征ti的对象;

第一确定子单元,还具体用于根据目标对象特征pi+1以及初始渲染特征ti+1,确定目标对象mi+1以及渲染对象xi+1之间的对象特征损失值si+1;其中,目标对象mi+1为包含目标对象特征pi+1的对象,且目标对象mi对应的姿势与目标对象mi+1对应的姿势不相同;渲染对象xi+1为包含初始渲染特征ti+1的对象,且渲染对象xi对应的姿势与渲染对象xi+1对应的姿势不相同;

第一确定子单元,还具体用于根据对象特征损失值si以及对象特征损失值si+1,确定对象特征损失值。

其中,第三确定子单元,具体用于获取监督三维点云中像素点的第一位置信息,获取初始重建三维点云中像素点的第二位置信息;

第三确定子单元,还具体用于根据第一位置信息和第二位置信息,确定监督三维点云中的像素点与初始重建三维点云中的像素点之间的像素对应关系;

第三确定子单元,还具体用于根据像素对应关系以及初始重建三维点云,生成点云损失值。

其中,第一生成模块,包括:

第一获取单元,用于获取初始重建参数以及三维对象基;初始重建参数包括初始重建对象参数、初始光照参数以及初始姿势参数;

第二生成单元,用于对三维对象基以及初始重建对象参数进行线性组合,得到初始重建三维点云以及初始重建三维对象;

第二生成单元,还用于根据初始光照参数以及初始姿势参数对初始重建三维对象进行渲染,生成初始渲染图像。

其中,初始重建对象参数包括初始形状参数以及初始纹理参数;三维对象基包括三维形状基以及三维纹理基;

第二生成单元,包括:

第一初始子单元,用于对初始形状参数以及三维形状基进行线性组合,得到初始重建三维点云;

第二初始子单元,用于对初始纹理参数以及三维纹理基进行线性组合,得到初始重建三维纹理;

第三初始子单元,用于根据初始重建三维点云以及初始重建三维纹理,得到初始重建三维对象。

其中,第二生成模块,具体用于对优化形状参数以及三维形状基进行线性组合,得到用于表征目标对象的目标重建三维点云。

其中,第二获取模块,包括:

第二获取单元,用于获取对象识别网络;对象识别网络包括输入层以及特征提取层;

第一处理单元,用于将监督图像输入对象识别网络,通过输入层,得到监督图像对应的第一原始对象特征;

第二处理单元,用于通过特征提取层对第一原始对象特征进行卷积处理以及池化处理,得到监督图像对应的目标对象特征;

第三处理单元,用于将初始渲染图像输入对象识别网络,通过输入层,得到初始渲染图像对应的第二原始对象特征;

第四处理单元,用于通过特征提取层对第二原始对象特征进行卷积处理以及池化处理,得到初始渲染图像对应的渲染对象特征。

本申请一方面提供了一种计算机设备,包括:处理器、存储器、网络接口;

上述处理器与上述存储器、上述网络接口相连,其中,上述网络接口用于提供数据通信功能,上述存储器用于存储计算机程序,上述处理器用于调用上述计算机程序,以执行本申请实施例中的方法。

本申请实施例一方面提供了一种计算机可读存储介质,上述计算机可读存储介质存储有计算机程序,上述计算机程序包括程序指令,上述程序指令被处理器执行时,以执行本申请实施例中的方法。

本申请实施例一方面提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中;计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本申请实施例中的方法。

本申请实施例通过获取包含目标对象的监督图像,根据监督图像对应的深度信息,可以生成针对目标对象的监督三维点云;获取初始重建参数,根据初始重建参数可以生成初始重建三维点云以及初始渲染图像,该初始渲染图像包括渲染对象;然后获取监督图像中针对目标对象的目标对象特征,获取初始渲染图像中针对渲染对象的渲染对象特征;再根据目标对象特征、渲染对象特征、监督图像、初始渲染图像、监督三维点云以及初始重建三维点云,对初始重建参数进行优化调整,得到优化重建参数;最后根据优化重建参数生成用于表征目标对象的目标重建三维点云。上述可知,本申请实施例不仅利用点云信息(包括监督三维点云以及初始重建三维点云),以及图像信息(包括监督图像以及初始渲染图像)对初始重建参数进行优化调整,还结合对象特征信息(包括目标对象特征以及渲染对象特征)对初始重建参数进行优化调整,得到优化重建参数,使得根据优化重建参数所生成的目标重建三维点云可以更好的表征目标对象的三维信息,即目标重建三维点云具有更高的三维点云精度,进而可以提高基于目标重建三维点云所生成的重建三维人脸的人脸质量。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是本申请实施例提供的一种系统架构示意图;

图1b是本申请实施例提供的一种图像处理的场景示意图;

图1c是本申请实施例提供的一种图像处理方法的流程示意图;

图2是本申请实施例提供的一种图像处理方法的流程示意图;

图3a是本申请实施例提供的一种图像处理的场景示意图;

图3b是本申请实施例提供的一种图像处理的场景示意图;

图4是本申请实施例提供的一种图像处理方法的流程示意图;

图5是本申请实施例提供的一种图像处理装置的结构示意图;

图6是本申请实施例提供的一种计算机设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

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

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

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

本申请实施例提供的方案涉及人工智能的计算机视觉技术以及深度学习等技术,具体过程通过如下实施例进行说明。

请参见图1a,图1a是本申请实施例提供的一种系统架构示意图。如图1a所示,该系统可以包括服务器10a以及用户终端集群,用户终端集群可以包括:用户终端10b、用户终端10c、...、用户终端10d,其中,用户终端集群之间可以存在通信连接,例如用户终端10b与用户终端10c之间存在通信连接,用户终端10b与用户终端10d之间存在通信连接,且用户终端集群中的任一用户终端可以与服务器10a存在通信连接,例如用户终端10b与服务器10a之间存在通信连接,用户终端10c与服务器10a之间存在通信连接,其中,上述的通信连接不限定连接方式,可以通过有线通信方式进行直接或间接地连接,也可以通过无线通信方式进行直接或间接地连接,还可以通过其他方式,本申请在此不做限制。

服务器10a通过通信连接功能为用户终端集群提供服务,当用户终端(可以是用户终端10b、用户终端10c或用户终端10d)获取到图像,并需要对该图像进行处理时,例如该图像是包含人脸的2d图像,该图像处理可以为根据2d图像中的2d人脸生成3d人脸,则用户终端可以将2d图像发送至服务器10a。服务器10a接收到用户终端所发送的2d图像后,基于本申请实施例所提出的优化管线,生成针对2d图像中2d人脸的目标重建三维点云,然后基于该目标重建三维点云生成与2d人脸高度相似和高度逼真的3d人脸。其中,上述优化管线是基于2d人脸的人脸点云、人脸深度信息、人脸关键点以及人脸特征来优化一组重建参数,基于优化好的重建参数可以重建出一个更精确的目标重建三维点云,该目标重建三维点云可以用来重建质量更高的3d人脸。

后续,服务器10a可以将生成的目标重建三维点云以及3d人脸发送至用户终端,并将2d图像、目标重建三维点云以及3d人脸关联存储在数据库中。用户终端接收到服务器10a发送的目标重建三维点云以及3d人脸后,可以在其对应的屏幕上显示该目标重建三维点云以及3d人脸。

可选的,服务器10a可以将目标重建三维点云发送至用户终端,用户终端基于目标重建三维点云得到3d人脸;若用户终端的本地存储器存储了本申请实施例所提出的优化管线,则用户终端可以在本地中,根据2d图像生成2d人脸的目标重建三维点云,然后基于目标重建三维点云生成3d人脸。其中,用户终端本地的优化管线可以由服务器10a所发送。

可以理解的是,本申请实施例所提供的方法可以由计算机设备执行,计算机设备包括但不限于终端或服务器。本申请实施例中的服务器10a或用户终端(包括用户终端10b、用户终端10c或用户终端10d)可以为计算机设备。上述服务器可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。上述终端可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本申请在此不做限制。

其中,图1a中的服务器10a、用户终端10b、用户终端10c以及用户终端10d可以包括手机、平板电脑、笔记本电脑、掌上电脑、智能音响、移动互联网设备(mid,mobileinternetdevice)、pos(pointofsales,销售点)机、可穿戴设备(例如智能手表、智能手环等)等。

下述以对2d人脸图像生成重建人脸3d点云(即重建目标三维点云)为例(可以是在服务器10a中处理,也可以是在用户终端中处理),进行叙述,请参见图1b,图1b是本申请实施例提供的一种图像处理的场景示意图。首先通过图像采集设备围绕目标对象的脸部(或整个头部)进行连续拍摄,该图像采集设备是指能够拍摄彩色图像(rgb图像)和深度图像的设备,连续拍摄是按照预设频率进行照片拍摄,或是进行视频拍摄,以获取监督图像以及深度图像,如图1b所示,监督图像可以包括正脸姿态图像100a、右侧脸姿态图像100b以及左侧脸姿态图像100c等多个视角的图像,深度图像具有监督图像的深度信息,然后根据nicp得到深度图像对应的监督三维点云100d;根据关键点检测方法提取监督图像中关键部位的关键点,关键部位可以包括目标对象的五官,如眼睛、鼻子以及嘴巴等,如图1b所示,得到正脸姿态图像100a对应的目标对象关键点100e、右侧脸姿态图像100b对应的目标对象关键点100f,以及左侧脸姿态图像100c对应的目标对象关键点100g,然后将正脸姿态图像100a、目标对象关键点100e、右侧脸姿态图像100b、目标对象关键点100f、左侧脸姿态图像100c、目标对象关键点100g以及监督三维点云作为监督数据输入至优化管线。

其中,nicp是一种点云匹配算法,其可以匹配两帧或两帧以上点云数据,从而得到传感器(激光雷达或摄像头)前后的位姿差,即里程数据。nicp在异常值处理(trimoutlier)和误差项里考虑了更多的因素,这也是它根据监督图像的深度信息所生成的监督三维点云100d具有效果良好的原因。nicp充分利用实际曲面的特征对错误点进行滤除,主要使用的特征包括法向量和曲率。其次,在误差项里除了考虑了点到对应点切面的距离,还考虑了对应点法向量的角度差。

其中,该优化管线基于人脸三维形变模型、人脸识别网络100r以及可导渲染器100h(differentiablerenderer)组成,其中,人脸三维形变模型可以根据初始重建参数,生成初始重建三维点云以及初始重建三维纹理;根据初始重建三维点云、初始重建三维纹理、环境光照参数x(light)以及人脸姿势参数x(pose),可导渲染器100h生成初始渲染图像;人脸识别网络100r可以获取监督图像的目标对象特征,以及初始渲染图像的渲染对象特征;优化管线根据目标对象特征、渲染对象特征、监督图像、初始渲染图像、监督三维点云以及初始重建三维点云,对初始重建参数进行优化调整,得到优化重建参数;基于优化重建参数可以重建出一个更精确的目标重建三维点云,该目标重建三维点云可以用来重建质量更高的3d人脸。上述的具体生成过程如下所述。

获取初始重建参数以及三维对象基,初始重建参数是优化管线的优化目标参数,可以包括人脸纹理参数x(alb)、人脸形状参数x(shp)、环境光照参数x(light)以及人脸姿势参数x(pose),其中,环境光照参数x(light)以及人脸姿势参数x(pose)每个图像均有一个,故有3个环境光照参数x(light)以及3个人脸姿势参数x(pose);三维对象基包括三维形状基s以及三维纹理基a。请再参见图1b,本申请实施例先利用人脸三维形变模型(3dmorphablemodel,3dmm)对人脸纹理参数x(alb)和三维纹理基a进行线性组合,得到人脸uv纹理图(即初始重建三维纹理);利用人脸3dmm对人脸形状参数x(shp)和三维形状基s进行线性组合,得到3d形状图像100m(即初始重建三维点云)。

将人脸uv纹理图以及3d形状图像100m输入可导渲染器100h,得到重建3d人脸,通过环境光照参数x(light)以及人脸姿势参数x(pose)给重建3d人脸进行打光和旋转,把重建3d人脸渲染成不同角度的重建2d图像,如图1b所示初始渲染图像100i、初始渲染图像100j以及初始渲染图像100k,在本申请实施例中,当优化管线优化完成时,所优化完成的初始渲染图像100i中的渲染对象的对象姿势以及对象纹理,与正脸姿态图像100a中的目标对象的对象姿势以及对象纹理高度吻合;所优化完成的初始渲染图像100j中的渲染对象的对象姿势以及对象纹理,与右侧脸姿态图像100b中的目标对象的对象姿势以及对象纹理高度吻合;所优化完成的初始渲染图像100k中的渲染对象的对象姿势以及对象纹理,与左侧脸姿态图像100c中的目标对象的对象姿势以及对象纹理高度吻合。

请再参见图1b,通过人脸姿势参数x(pose)对初始重建三维点云进行姿势角度调整,得到3个姿势角度调整后的初始重建三维点云,将从姿势角度调整后的初始重建三维点云中识别到的关键点,确定为渲染对象在初始渲染图像(包括初始渲染图像100i、初始渲染图像100j以及初始渲染图像100k)中的渲染对象关键点,即图1b中的渲染对象关键点100n、渲染对象关键点100p以及渲染对象关键点100q。

可以理解的是,优化管线初期生成的初始重建三维点云以及初始渲染图像(包括初始渲染图像100i、初始渲染图像100j以及初始渲染图像100k),与监督数据中的监督三维点云以及监督图像存在误差或损失,所以本申请利用点云信息(包括监督三维点云以及初始重建三维点云),图像信息(包括监督图像以及初始渲染图像),关键点信息(包括目标对象关键点以及渲染对象关键点)以及对象特征信息(包括目标对象特征以及渲染对象特征),对初始重建参数进行优化调整,得到优化重建参数,使得根据优化重建参数所生成的目标重建三维点云可以更好的表征目标对象的三维信息,进而可以提高基于目标重建三维点云所生成的重建三维人脸的人脸质量。

随着互联网技术的不断进步,基于2d图像创建的3d人脸得到广泛应用,例如人脸识别技术、人脸3d动画和虚拟技术等,可以将本申请实施例所生成的重建三维人脸输出给驱动系统,驱动系统会根据重建出来的3d人脸,进行不同的表情变化以及说话,具体过程为:获取表情基,驱动系统通过将表情基与重建三维人脸进行组合,则可以切换不同表情下的三维人脸,此外,本申请实施例还可以用于游戏中的ai捏脸,以及其他需要3d人脸的应用场景,如,虚拟主播。

综合上述,本申请实施例提出一种优化管线,该优化管线基于三维形变模型、人脸识别网络以及可导渲染器组成,通过2d人脸的人脸点云、人脸深度信息、人脸关键点以及人脸特征,优化管线可以优化一组重建参数,基于优化好的重建参数可以重建出一个更精确的目标重建三维点云,该目标重建三维点云可以用来重建质量更高的3d人脸。基于该优化管线生成3d人脸的大致过程可以参见图1c,图1c是本申请实施例提供的一种图像处理方法的流程示意图。如图1c所示,该图像处理方法可以分为以下步骤:

a、采集照片。

需要注意的是,本申请实施例中的图像采集设备包括彩色摄像头以及深度摄像头,同时采集rgb图像以及深度图像,在3d计算机图像中,depthmap(深度图像)是包含与视点的场景对象的表面的距离有关的信息的图像或图像通道,即深度图像的每个像素值是传感器距离物体的实际距离,通常rgb图像和depth图像是配准的,因而像素点之间具有一对一的对应关系。

b、重建系统。

重建系统先利用nicp得到rgbd照片的点云数据,再利用点云数据和rgb照片进行3d人脸的重建。

c、人脸驱动。

根据实际应用场景,驱动系统会基于重建3d人脸进行不同的表情变化或说话等。

进一步地,请参见图2,图2是本申请实施例提供的一种图像处理方法的流程示意图。如图2所示,该图像处理过程包括如下步骤:

步骤s101,获取包含目标对象的监督图像,根据监督图像对应的深度信息,生成针对目标对象的监督三维点云。

具体的,请一并参见图3a,图3a是本申请实施例提供的一种图像处理的场景示意图。在本申请实施例中,以智能终端(图3a中的移动终端30b)所设置的摄像头300b(是彩色摄像头+深度摄像头形成的三维摄像头)为例进行描述,终端用户通过摄像头300b采集目标用户30a(即目标对象)的人脸图像时,可以通过拍照或者拍视频的方式,以通过拍视频的方式获取目标用户30a的人脸图像为例,通过设置于移动终端30b上的摄像头300b对目标用户30a进行拍摄得到目标视频30c,若为目标用户30a使用移动终端30b进行自拍,那么目标用户30a在自拍时,采集系统会提示目标用户30a,使其头部按照系统说明向左转,向右转,向上抬,向前看等;若是其他用户使用移动终端30b对目标用户30a进行拍摄,则此过程可以为围绕目标用户30a的脸部(或整个头部)进行连续拍摄。

得到目标视频30c后,采用选帧算法选择3张rgbd照片作为优化管线的输入,例如,通过视频处理软件(例如opencv)对目标视频30c进行处理,将目标视频30c拆分为若干帧画面,通过定时采样方式从目标视频30c中抽取画面图像。例如以0.5秒一张的频率在目标视频30c中抽取一张目标图片,然后在得到的若干目标图片中再次随机抽取3张目标图片作为目标用户30a的人脸图像(即图3a中的正脸姿态图像100a、右侧脸姿态图像100b以及左侧脸姿态图像100c);选择目标图像的方法不局限于此,根据具体应用场景的不同,采集画面图像的频率能够进行适应性的调整,当然,也可以直接在目标视频30c的若干帧画面中随机抽取3张画面作为目标用户30a的人脸图像,需要注意的是,3张人脸图像中的人脸需要存在明显地方向差异,例如人脸向上抬、人脸向下低、人脸向左以及人脸右向。可以理解的是,本实施例采用了3张人脸照片,实际应用时,可以采用任意数量的人脸照片,此时,只需要多张人脸照片中存在方向差异即可。

可选的,目标用户30a的脸部图片还可以是预先存储于移动终端30b中的,例如移动终端30b中的本地数据库,本地数据库中存储有多张目标用户30a的人脸图片,人脸图片可以是目标用户30a上传并保存至该本地数据库中的,也可以是在网络上下载得到的。

请再参见图3a,移动终端30b在采集目标视频30c的同时,还会通过深度摄像头采集深度视频,通过深度视频获取深度图像的具体过程与通过目标视频30c获取人脸图像(rgb图像)的具体过程一致,在此不再进行赘述获取深度图像30d、深度图像30e以及深度图像30f的详细过程。

三维人脸点云100d,即三维人脸网格(mesh),是指采用多面体的顶点与多边形所形成的集合来描述目标对象30a的人脸的三维数据,该多边形是三角形、四边形或者其它简单的凸多边形中的至少一种,以便简化渲染过程。可选地,三维人脸点云100d也可以包括带有空洞的普通多边形组成的三维数据,本申请对此不加以限定。三维人脸点云100d适用于旋转、平移、缩放和仿射等变换。在本申请实施例中,三维人脸点云100d相当于点数较多的模型(高模)。将采集到的多个角度的深度图像(即深度图像30d、深度图像30e以及深度图像30f),输入至nipc模型中得到目标对象30a的三维人脸点云100d。

步骤s101还可以包括,获取目标对象在监督图像中的目标对象关键点。

在获取目标用户30a的人脸图像后,需要对该人脸图像中的目标用户30a的脸部信息进行识别并提取人脸关键点坐标信息,人脸关键点是指精准定位人脸关键部位并精准跟随,例如明确人脸轮廓及眉、眼、鼻和嘴等各关键部位,在本申请实施例中,采集目标用户30a的正脸姿态图像100a、右侧脸姿态图像100b以及左侧脸姿态图像100c,然后根据正脸姿态图像100a、右侧脸姿态图像100b以及左侧脸姿态图像100c提取目标用户30a的人脸关键点。

人脸关键点检测方法根据是否需要参数化模型包括基于参数化形状模型的方法和基于非参数形状模型的方法,例如asm和aam,asm(activeshapemodel)是一种经典的人脸关键点检测算法,主动形状模型即通过形状模型对目标物体进行抽象,asm是一种基于点分布模型(pointdistributionmodel,pdm)的算法。在pdm中,外形相似的物体,例如人脸、人手、心脏或者肺部等的几何形状可以通过若干关键点(landmarks)的坐标依次串联形成一个形状向量来表示。asm算法需要通过人工标定的方法先标定训练集,经过训练获得形状模型,再通过关键点的匹配实现特定物体的匹配。

此处不限定提取人脸关键点的方法,实际应用时,可以跟随应用场景选择方法。请再参见图3a,对正脸姿态图像100a进行人脸关键点提取,得到目标对象关键点100e,对右侧脸姿态图像100b进行人脸关键点提取,得到目标对象关键点100f,对左侧脸姿态图像100c进行人脸关键点提取,得到目标对象关键点100g。

步骤s101还可以包括,获取监督图像中每个像素点的监督颜色信息。

具体的,监督图像中每个像素点的监督颜色信息,主要是指监督图像中每个像素点的rgb色彩,也可以理解成像素值。

rgb色彩模式是工业界的一种颜色标准,是通过对红(r)、绿(g)、蓝(b)三个颜色通道的变化以及它们相互之间的叠加来得到各式各样的颜色的,rgb即是代表红、绿、蓝三个通道的颜色,这个标准几乎包括了人类视力所能感知的所有颜色,是目前运用最广的颜色系统之一。

步骤s102,获取初始重建参数,根据初始重建参数生成初始重建三维点云以及初始渲染图像;初始渲染图像包括渲染对象。

具体的,获取初始重建参数以及三维对象基,初始重建参数包括初始重建对象参数、初始光照参数以及初始姿势参数;初始重建对象参数包括初始形状参数以及初始纹理参数,三维对象基包括三维形状基以及三维纹理基。

对初始形状参数以及三维形状基进行线性组合,得到初始重建三维点云;对初始纹理参数以及三维纹理基进行线性组合,得到初始重建三维纹理;根据初始重建三维点云以及初始重建三维纹理,得到初始重建三维对象;根据初始光照参数以及初始姿势参数对初始重建三维对象进行渲染,生成初始渲染图像。

初始重建参数是本申请实施例所提出的优化管线的优化目标参数,如图1b所示,初始重建参数可以包括人脸纹理参数x(alb)、人脸形状参数x(shp)、环境光照参数x(light)以及人脸姿势参数x(pose),其中,环境光照参数x(light)以及人脸姿势参数x(pose)每个图像均有一个,故有3个环境光照参数x(light)以及3个人脸姿势参数x(pose)。三维对象基包括三维形状基s以及三维纹理基a。利用人脸3dmm对人脸纹理参数x(alb)和三维纹理基a进行线性组合,得到初始重建三维纹理的方式可以参加下述公式(1):

其中,a表示初始重建三维纹理,a是三维纹理基a,是常数,xalb是人脸纹理参数x(alb)。

利用人脸3dmm对人脸形状参数x(shp)和三维形状基s进行线性组合,得到初始重建三维点云的方式可以参加下述公式(2):

其中,s表示初始重建三维点云,也称作初始重建三维形状,s是三维形状基s,是常数,xshp是人脸形状参数x(shp)。

将初始重建三维纹理以及初始重建三维点云(即图1b中的3d形状图像100m)输入可导渲染器100h,得到重建3d人脸,其中,可导渲染器100h,用于对重建3d人脸进行渲染,并提供优化梯度,通过环境光照参数x(light)以及人脸姿势参数x(pose)给重建3d人脸进行打光和旋转,把重建3d人脸渲染成不同角度的重建2d图像,如图1b所示初始渲染图像100i、初始渲染图像100j以及初始渲染图像100k,在本申请实施例,想要将初始渲染图像100i调整为与正脸姿态图像100a相同的姿势角度,将初始渲染图像100j调整为与右侧脸姿态图像100b相同的姿势角度,将初始渲染图像100k调整为与左侧脸姿态图像100c相同的姿势角度。

初始重建参数包括初始姿势参数,根据初始姿势参数对初始重建三维点云进行姿势角度调整,得到姿势角度调整后的初始重建三维点云;将从姿势角度调整后的初始重建三维点云中识别到的关键点,确定为渲染对象在初始渲染图像中的渲染对象关键点。

本申请实施例在优化初始重建参数时,还考虑到人脸关键点,请再参见图1b,上述提及的初始重建三维点云(即图1b中的3d形状图像100m)是规整的三维点云,通过人脸姿势参数x(pose)对初始重建三维点云进行姿势角度调整,得到3个姿势角度调整后的初始重建三维点云,将从姿势角度调整后的初始重建三维点云中识别到的关键点,确定为渲染对象在初始渲染图像(包括初始渲染图像100i、初始渲染图像100j以及初始渲染图像100k)中的渲染对象关键点,即图1b中的渲染对象关键点100n、渲染对象关键点100p以及渲染对象关键点100q。其中,点云关键点检测方法与人脸关键点检测方法一致,次过程可以参见步骤s101,此处不再进行赘述。

步骤s102还可以包括,获取初始渲染图像中每个像素点的渲染颜色信息。

具体的,初始渲染图像中每个像素点的渲染颜色信息,主要是指初始渲染图像中每个像素点的rgb色彩,也可以理解成像素值。

步骤s103,获取监督图像中针对目标对象的目标对象特征,获取初始渲染图像中针对渲染对象的渲染对象特征。

具体的,获取对象识别网络;对象识别网络包括输入层以及特征提取层;将监督图像输入对象识别网络,通过输入层,得到监督图像对应的第一原始对象特征;通过特征提取层对第一原始对象特征进行卷积处理以及池化处理,得到监督图像对应的目标对象特征;

将初始渲染图像输入对象识别网络,通过输入层,得到初始渲染图像对应的第二原始对象特征;通过特征提取层对第二原始对象特征进行卷积处理以及池化处理,得到初始渲染图像对应的渲染对象特征。

由于单纯基于nicp恢复点云的工作难以对人脸的五官的精细位置做好约束,因此本申请实施例结合根据人脸识别网络所提取的人脸特征信息优化初始重建参数,优化的过程中利用了人脸识别网络对五官的鉴别能力,并回传梯度给3d人脸的目标优化参数,使得重建的2d人脸(包括图1b中的初始渲染图像100i、初始渲染图像100j以及初始渲染图像100k)跟原20d人脸(包括正脸姿态图像100a、右侧脸姿态图像100b以及左侧脸姿态图像100c)高度相似和高度逼真。

请一并参见图3b,图3b是本申请实施例提供的一种图像处理的场景示意图。可以理解的是,获取监督图像中针对目标对象的目标对象特征,与获取初始渲染图像中针对渲染对象的渲染对象特征的过程是一致的,本申请实施例以获取初始渲染图像100i中针对渲染对象的渲染对象特征为例进行叙述。需要理解的是,虽然图3b中示意的对象识别网络只标注出特征提取层(即第一卷积层、第一池化层、第二卷积层以及第二池化层),但实际应用时,上述对象识别网络的可以包括输入层、特征提取层、标准化(batchnorm,bn)层、激活层。由于对象识别网络的线性表达能力不够,因此需要使用激活函数(激活层),以加入非线性因素,常用的激活函数有sigmod函数、tanh函数、修正线性单元(rectifiedlinearunit,relu)函数等。

在神经网络中,输入图像(初始渲染图像100i)通过多个连续的卷积层和池化层进行特征提取,逐步将低层特征变为高层特征,如图3b所示,通过第一卷积层,得到初始渲染图像100i对应的第一渲染对象特征300c,通过第一池化层,对第一渲染对象特征300c进行池化处理,得到初始渲染图像100i的第二渲染对象特征300d,通过第二卷积层,对第二渲染对象特征300d进行卷积处理,得到初始渲染图像100i的第三渲染对象特征300e,通过第二池化层,对第三渲染对象特征300d进行池化处理,得到初始渲染图像100i的第四渲染对象特征300e,且通过连续的卷积操作和池化操作(子采样)可以增加更深层次的网络的感受野,捕获更多上下文信息。

可以理解的是,图3b中对象识别网络中的特征提取层可以只有一个,也可以有多个。

步骤s104,根据目标对象特征、渲染对象特征、监督图像、初始渲染图像、监督三维点云、初始重建三维点云,对初始重建参数进行优化调整,得到优化重建参数。

具体的,根据目标对象特征、渲染对象特征、监督三维点云、初始重建三维点云、目标对象关键点、渲染对象关键点、监督颜色信息以及渲染颜色信息,生成总损失值;根据总损失值对初始重建参数进行优化调整,当优化后的初始重建参数满足参数收敛条件时,将优化后的初始重建参数确定为优化重建参数。

由步骤s101至步骤s103可知,将目标对象特征、监督颜色信息、监督三维点云以及目标对象关键点当作监督信息,将渲染对象特征、渲染颜色信息、初始重建三维点云以及渲染对象关键点作为优化信息,通过监督信息与优化信息的误差不断优化目标优化参数(即初始重建参数),具体过程为:根据目标对象特征以及渲染对象特征,确定目标对象以及渲染对象之间的对象特征损失值;根据监督颜色信息以及渲染颜色信息,确定监督图像以及初始渲染图像之间的颜色损失值;根据监督三维点云以及初始重建三维点云,确定点云损失值;根据目标对象关键点以及渲染对象关键点,确定关键点损失值;根据初始重建参数,确定调节损失值;根据对象特征损失值、颜色损失值、点云损失值、关键点损失值以及调节损失值,生成总损失值,总损失函数为公式(3)所示:

l(p)=w_rgbl_rgb(p)+w_pcdl_pcd(p)+w_idl_id(p)+w_lanl_lan(p)+w_regl_reg(p)(3)

其中,p表示初始渲染图像,l_rgb(p)表示颜色损失函数,w_rgb表示颜色损失函数的函数权重;l_pcd(p)表示点云损失函数,w_pcd表示点云损失函数的函数权重;l_id(p)表示人脸特征损失函数,w_id表示人脸特征损失函数的函数权重;l_lan(p)表示关键点损失函数,w_lan表示关键点损失函数的函数权重;l_reg(p)表示调节损失函数,w_reg表示调节损失函数的函数权重。

步骤s105,根据优化重建参数生成用于表征目标对象的目标重建三维点云。

具体的,优化重建参数包括优化形状参数,对优化形状参数以及三维形状基进行线性组合,得到用于表征目标对象的目标重建三维点云。

综合上述,本申请实施例使用图像采集设备,例如rgbd摄像头,拍摄多张rgbd照片,根据nicp得到rgbd照片的人脸点云,将人脸点云当作监督信息,再与人脸识别网络(即对象识别网络)结合,利用颜色信息,点云信息,人脸特征信息,对3d人脸重建结果(即初始重建三维点云)进行优化,最终得到高质量高逼真度的目标重建三维点云。

本申请实施例通过获取包含目标对象的监督图像,根据监督图像对应的深度信息,可以生成针对目标对象的监督三维点云;获取初始重建参数,根据初始重建参数可以生成初始重建三维点云以及初始渲染图像,该初始渲染图像包括渲染对象;然后获取监督图像中针对目标对象的目标对象特征,获取初始渲染图像中针对渲染对象的渲染对象特征;再根据目标对象特征、渲染对象特征、监督图像、初始渲染图像、监督三维点云以及初始重建三维点云,对初始重建参数进行优化调整,得到优化重建参数;最后根据优化重建参数生成用于表征目标对象的目标重建三维点云。上述可知,本申请实施例不仅利用点云信息(包括监督三维点云以及初始重建三维点云),以及图像信息(包括监督图像以及初始渲染图像)对初始重建参数进行优化调整,还结合对象特征信息(包括目标对象特征以及渲染对象特征)对初始重建参数进行优化调整,得到优化重建参数,使得根据优化重建参数所生成的目标重建三维点云可以更好的表征目标对象的三维信息,即目标重建三维点云具有更高的三维点云精度,进而可以提高基于目标重建三维点云所生成的重建三维人脸的人脸质量。

进一步地,请参见图4,图4是本申请实施例提供的一种图像处理方法的流程示意图。如图4所示,步骤s201-步骤s206可以看作是对上述图2所对应实施例中步骤s104的具体描述,该图像处理过程包括如下步骤:

步骤s201,根据目标对象特征以及渲染对象特征,确定目标对象以及渲染对象之间的对象特征损失值。

具体的,目标对象特征包括目标对象特征pi以及目标对象特征pi+1,渲染对象特征包括渲染对象特征ti,i为正整数;根据目标对象特征pi以及初始渲染特征ti,确定目标对象mi以及渲染对象xi之间的对象特征损失值si;其中,目标对象mi为包含目标对象特征pi的对象,渲染对象xi为包含初始渲染特征ti的对象;根据目标对象特征pi+1以及初始渲染特征ti,确定目标对象mi+1以及渲染对象xi之间的对象特征损失值si+1;其中,目标对象mi+1为包含目标对象特征pi+1的对象,且目标对象mi对应的姿势与目标对象mi+1对应的姿势不相同;根据对象特征损失值si以及对象特征损失值si+1,确定对象特征损失值。

可选的,目标对象特征包括目标对象特征pi以及目标对象特征pi+1,渲染对象特征包括渲染对象特征ti以及渲染对象特征ti+1,i为正整数;根据目标对象特征pi以及初始渲染特征ti,确定目标对象mi以及渲染对象xi之间的对象特征损失值si;其中,目标对象mi为包含目标对象特征pi的对象,渲染对象xi为包含初始渲染特征ti的对象;根据目标对象特征pi+1以及初始渲染特征ti+1,确定目标对象mi+1以及渲染对象xi+1之间的对象特征损失值si+1;其中,目标对象mi+1为包含目标对象特征pi+1的对象,且目标对象mi对应的姿势与目标对象mi+1对应的姿势不相同;渲染对象xi+1为包含初始渲染特征ti+1的对象,且渲染对象xi对应的姿势与渲染对象xi+1对应的姿势不相同;根据对象特征损失值si以及对象特征损失值si+1,确定对象特征损失值。

人脸特征损失函数l_id(p)可以评估真实照片(监督图像)以及重建人脸的渲染结果(初始渲染图像)之间的人脸特征向量的相近程度,如下述公式(4)所示:

l_id(p)=||\psi(i_rgb)-\psi(i_render)||_2^2(4)

其中,\psi(i_rgb)为人脸识别网络提取的目标对象特征向量,\psi(i_render)为人脸识别网络提取的渲染对象特征向量。

值得注意的是,本申请实施例使用的人脸特征损失函数包括如下两种不同的组合:

第一种:真正面vs假正面,真左侧面vs假左侧面,真右侧面vs假右侧面;

请再参见图1b,真正面表示图1b中的正脸姿态图像100a,真左侧面表示图1b中的左侧脸姿态图像100c,真右侧面表示图1b中的右侧脸姿态图像100b。假正面表示图1b中的初始渲染图像100i,假左侧面表示图1b中的初始渲染图像100k,假右侧面表示图1b中的初始渲染图像100j。

第二种:真正面vs假正面,真左侧面vs假正面,真右侧面vs假正面。

第二种人脸特征损失函数的目的是,保证正面观察下的五官(初始渲染图像100i)跟原图尽可能地相似。

步骤s202,根据监督颜色信息以及渲染颜色信息,确定监督图像以及初始渲染图像之间的颜色损失值。

具体的,对输入的监督图像以及重建人脸渲染结果进行逐像素的对比,即对正脸姿态图像100a中的每个像素点与初始渲染图像100i中对应的像素点进行比较,对右侧脸姿态图像100b中的每个像素点与左侧脸姿态图像100c中对应的像素点进行比较,对初始渲染图像100j中的每个像素点与初始渲染图像100k中对应的像素点进行比较,像素颜色损失函数l_rgb(p)如下述公式(5)所示:

l_rgb(p)=||i_rgb–i_render(p)||_2(5)

其中,i_rgb表示监督图像,i_render(p)表示初始渲染图像。

步骤s203,根据监督三维点云以及初始重建三维点云,确定点云损失值。

具体的,获取监督三维点云中像素点的第一位置信息,获取初始重建三维点云中像素点的第二位置信息;根据第一位置信息和第二位置信息,确定监督三维点云中的像素点与初始重建三维点云中的像素点之间的像素对应关系;根据像素对应关系以及初始重建三维点云,生成点云损失值。

对输入的监督三维点云以及初始重建三维点云进行逐像素对比,点云损失函数l_pcd(p)如下述公式(6)所示:

l_pcd(p)=||s_out–s_gt(s_out)||_2^2(6)

其中,s_out表示初始重建三维点云,s_gt表示监督三维点云,s_gt(s_out)是根据s_out去搜索最近的s_gt点云数据中的点,得到一对一的对应关系,然后根据上述公式(6)计算点云损失值。

在本申请实施例中,上述s_gt与s_out的对应关系在优化管线里面一共需要求两次,分别是优化前求一次,用于固定一个粗略的对应关系来优化;优化50步后再求一次,由于此时s_out已经变化很大,原来的对应关系已经不准,所以需要重新再求一次;然后再优化50步至收敛。可以理解的是,在其他应用场景中,上述过程亦适用,优化步数可以根据实际应用调整,且上述对应关系以及对应关系的调整步数亦可以根据实际场景调整,此处不限定。

步骤s204,根据目标对象关键点以及渲染对象关键点,确定关键点损失值。

具体的,关键点损失函数l_lan可以表示监督图像中的目标对象关键点,与初始渲染图像中的渲染对象关键点之间对象关键点的对比,在本申请实施例中,为目标对象关键点100e,与渲染对象关键点100n之间对象关键点的对比,目标对象关键点100f,与渲染对象关键点100p之间对象关键点的对比,目标对象关键点100g,与渲染对象关键点100q之间对象关键点的对比。关键点损失函数l_lan可以用下述公式(7)表示:

l_lan=||v_gt-v_pred||_2^2(7)

其中,v_gt表示目标对象关键点,v_pred表示渲染对象关键点。

步骤s205,根据初始重建参数,确定调节损失值。

具体的,调节项的主要目是给初始纹理参数x(alb)和初始形状参数x(shp)加上先验知识,避免优化过程中出现变形,调节损失函数如下述公式(8)所示:

l_reg(p)=w_shp||x_shp||_2^2+w_alb||x_alb||_2^2(8)

其中,w_shp是初始纹理参数x(alb)的调节权重,w_alb为初始形状参数x(shp)的调节权重,w_shp和w_alb均为常数。

步骤s206,根据对象特征损失值、颜色损失值、点云损失值、关键点损失值以及调节损失值,生成总损失值。

具体的,对步骤s201至步骤s205所述的5个损失函数,按照图2对应的实施例中步骤s104的总损失函数公式(3),得到总损失值,当总损失值小于总损失值阈值时,可以停止对初始重建参数的优化调整。

需要理解的是,图2以及图4所述的初始重建参数、初始重建三维点云以及初始渲染图像不仅仅可以是优化管线优化前或优化第一步的初始数据,还可以表示优化管线优化中期的优化数据。

本申请实施例通过获取包含目标对象的监督图像,根据监督图像对应的深度信息,可以生成针对目标对象的监督三维点云;获取初始重建参数,根据初始重建参数可以生成初始重建三维点云以及初始渲染图像,该初始渲染图像包括渲染对象;然后获取监督图像中针对目标对象的目标对象特征,获取初始渲染图像中针对渲染对象的渲染对象特征;再根据目标对象特征、渲染对象特征、监督图像、初始渲染图像、监督三维点云以及初始重建三维点云,对初始重建参数进行优化调整,得到优化重建参数;最后根据优化重建参数生成用于表征目标对象的目标重建三维点云。上述可知,本申请实施例不仅利用点云信息(包括监督三维点云以及初始重建三维点云),以及图像信息(包括监督图像以及初始渲染图像)对初始重建参数进行优化调整,还结合对象特征信息(包括目标对象特征以及渲染对象特征)对初始重建参数进行优化调整,得到优化重建参数,使得根据优化重建参数所生成的目标重建三维点云可以更好的表征目标对象的三维信息,即目标重建三维点云具有更高的三维点云精度,进而可以提高基于目标重建三维点云所生成的重建三维人脸的人脸质量。

进一步地,请参见图5,图5是本申请实施例提供的一种图像处理装置的结构示意图。上述图像处理装置可以是运行于计算机设备中的一个计算机程序(包括程序代码),例如该图像处理装置为一个应用软件;该装置可以用于执行本申请实施例提供的方法中的相应步骤。如图5所示,该图像处理装置1可以包括:第一获取模块11、第一生成模块12、第二获取模块13、优化参数模块14以及第二生成模块15。

第一获取模块11,用于获取包含目标对象的监督图像,根据监督图像对应的深度信息,生成针对目标对象的监督三维点云;

第一生成模块12,用于获取初始重建参数,根据初始重建参数生成初始重建三维点云以及初始渲染图像;初始渲染图像包括渲染对象;初始重建参数包括初始重建对象参数、初始光照参数以及初始姿势参数;初始重建对象参数包括初始形状参数以及初始纹理参数,三维对象基包括三维形状基以及三维纹理基;

第二获取模块13,用于获取监督图像中针对目标对象的目标对象特征,获取初始渲染图像中针对渲染对象的渲染对象特征;

优化参数模块14,用于根据目标对象特征、渲染对象特征、监督图像、初始渲染图像、监督三维点云以及初始重建三维点云,对初始重建参数进行优化调整,得到优化重建参数;

第二生成模块15,用于根据优化重建参数生成用于表征目标对象的目标重建三维点云。

其中,第一获取模块11、第一生成模块12、第二获取模块13、优化参数模块14以及第二生成模块15的具体功能实现方式可以参见上述图2对应实施例中的步骤s101-步骤s105,这里不再进行赘述。

再请参见图5,优化参数模块14,具体用于获取目标对象在监督图像中的目标对象关键点;

优化参数模块14,还具体用于根据初始重建参数以及初始重建三维点云,确定渲染对象在初始渲染图像中的渲染对象关键点;

优化参数模块14,还具体用于获取监督图像中每个像素点的监督颜色信息,获取初始渲染图像中每个像素点的渲染颜色信息;

优化参数模块14,还具体用于根据目标对象特征、渲染对象特征、监督三维点云、初始重建三维点云、目标对象关键点、渲染对象关键点、监督颜色信息以及渲染颜色信息,对初始重建参数进行优化调整,得到优化重建参数。

其中,优化参数模块14的具体功能实现方式可以参见上述图2对应实施例中的步骤s101-步骤s104,这里不再进行赘述。

再请参见图5,优化重建参数包括优化形状参数;

优化参数模块14可以包括:调整姿势单元141以及第一确定单元142。

调整姿势单元141,用于根据初始姿势参数对初始重建三维点云进行姿势角度调整,得到姿势角度调整后的初始重建三维点云;

第一确定单元142,用于将从姿势角度调整后的初始重建三维点云中识别到的关键点,确定为渲染对象在初始渲染图像中的渲染对象关键点。

其中,调整姿势单元141以及第一确定单元142的具体功能实现方式可以参见上述图2对应实施例中的步骤s102,这里不再进行赘述。

再请参见图5,优化参数模块14可以包括:第一生成单元143以及第二确定单元144。

第一生成单元143,用于根据目标对象特征、渲染对象特征、监督三维点云、初始重建三维点云、目标对象关键点、渲染对象关键点、监督颜色信息以及渲染颜色信息,生成总损失值;

第二确定单元144,用于根据总损失值对初始重建参数进行优化调整,当优化后的初始重建参数满足参数收敛条件时,将优化后的初始重建参数确定为优化重建参数。

其中,第一生成单元143以及第二确定单元144的具体功能实现方式可以参见上述图2对应实施例中的步骤s104,这里不再进行赘述。

再请参见图5,第一生成单元143可以包括:第一确定子单元1431、第二确定子单元1432、第三确定子单元1433、第四确定子单元1434、第五确定子单元1435以及生成损失子单元1436。

第一确定子单元1431,用于根据目标对象特征以及渲染对象特征,确定目标对象以及渲染对象之间的对象特征损失值;

第二确定子单元1432,用于根据监督颜色信息以及渲染颜色信息,确定监督图像以及初始渲染图像之间的颜色损失值;

第三确定子单元1433,用于根据监督三维点云以及初始重建三维点云,确定点云损失值;

第四确定子单元1434,用于根据目标对象关键点以及渲染对象关键点,确定关键点损失值;

第五确定子单元1435,用于根据初始重建参数,确定调节损失值;

生成损失子单元1436,用于根据对象特征损失值、颜色损失值、点云损失值、关键点损失值以及调节损失值,生成总损失值。

其中,第一确定子单元1431、第二确定子单元1432、第三确定子单元1433、第四确定子单元1434、第五确定子单元1435以及生成损失子单元1436的具体功能实现方式可以参见上述图4对应实施例中的步骤s201-步骤s206,这里不再进行赘述。

再请参见图5,目标对象特征包括目标对象特征pi以及目标对象特征pi+1,渲染对象特征包括渲染对象特征ti,i为正整数;

第一确定子单元1431,具体用于根据目标对象特征pi以及初始渲染特征ti,确定目标对象mi以及渲染对象xi之间的对象特征损失值si;其中,目标对象mi为包含目标对象特征pi的对象,渲染对象xi为包含初始渲染特征ti的对象;

第一确定子单元1431,还具体用于根据目标对象特征pi+1以及初始渲染特征ti,确定目标对象mi+1以及渲染对象xi之间的对象特征损失值si+1;其中,目标对象mi+1为包含目标对象特征pi+1的对象,且目标对象mi对应的姿势与目标对象mi+1对应的姿势不相同;

第一确定子单元1431,还具体用于根据对象特征损失值si以及对象特征损失值si+1,确定对象特征损失值。

其中,第一确定子单元1431的具体功能实现方式可以参见上述图4对应实施例中的步骤s201,这里不再进行赘述。

再请参见图5,目标对象特征包括目标对象特征pi以及目标对象特征pi+1,渲染对象特征包括渲染对象特征ti以及渲染对象特征ti+1,i为正整数;

第一确定子单元1431,具体用于根据目标对象特征pi以及初始渲染特征ti,确定目标对象mi以及渲染对象xi之间的对象特征损失值si;其中,目标对象mi为包含目标对象特征pi的对象,渲染对象xi为包含初始渲染特征ti的对象;

第一确定子单元1431,还具体用于根据目标对象特征pi+1以及初始渲染特征ti+1,确定目标对象mi+1以及渲染对象xi+1之间的对象特征损失值si+1;其中,目标对象mi+1为包含目标对象特征pi+1的对象,且目标对象mi对应的姿势与目标对象mi+1对应的姿势不相同;渲染对象xi+1为包含初始渲染特征ti+1的对象,且渲染对象xi对应的姿势与渲染对象xi+1对应的姿势不相同;

第一确定子单元1431,还具体用于根据对象特征损失值si以及对象特征损失值si+1,确定对象特征损失值。

其中,第一确定子单元1431的具体功能实现方式可以参见上述图4对应实施例中的步骤s201,这里不再进行赘述。

再请参见图5,第三确定子单元1433,具体用于获取监督三维点云中像素点的第一位置信息,获取初始重建三维点云中像素点的第二位置信息;

第三确定子单元1433,还具体用于根据第一位置信息和第二位置信息,确定监督三维点云中的像素点与初始重建三维点云中的像素点之间的像素对应关系;

第三确定子单元1433,还具体用于根据像素对应关系以及初始重建三维点云,生成点云损失值。

其中,第三确定子单元1433的具体功能实现方式可以参见上述图4对应实施例中的步骤s203,这里不再进行赘述。

再请参见图5,初始重建对象参数包括初始形状参数以及初始纹理参数;三维对象基包括三维形状基以及三维纹理基;

第一生成模块12可以包括:第一获取单元121以及第二生成单122。

第一获取单元121,用于获取初始重建参数以及三维对象基;初始重建参数包括初始重建对象参数、初始光照参数以及初始姿势参数;

第二生成单124,用于对三维对象基以及初始重建对象参数进行线性组合,得到初始重建三维点云以及初始重建三维对象;

第二生成单元122,还用于根据初始光照参数以及初始姿势参数对初始重建三维对象进行渲染,生成初始渲染图像。

其中,第一获取单元121以及第二生成单122的具体功能实现方式可以参见上述图2对应实施例中的步骤s102,这里不再进行赘述。

再请参见图5,第二生成单元122可以包括:第一初始子单元1221、第二初始子单元1222以及第三初始子单元1223。

第一初始子单元1221,用于对初始形状参数以及三维形状基进行线性组合,得到初始重建三维点云;

第二初始子单元1222,用于对初始纹理参数以及三维纹理基进行线性组合,得到初始重建三维纹理;

第三初始子单元1223,用于根据初始重建三维点云以及初始重建三维纹理,得到初始重建三维对象。

其中,第一初始子单元1221、第二初始子单元1222以及第三初始子单元1223的具体功能实现方式可以参见上述图2对应实施例中的步骤s102,这里不再进行赘述。

再请参见图5,优化重建参数包括优化形状参数;

第二生成模块15,具体用于对优化形状参数以及三维形状基进行线性组合,得到用于表征目标对象的目标重建三维点云。

其中,第二生成模块15的具体功能实现方式可以参见上述图2对应实施例中的步骤s105,这里不再进行赘述。

再请参见图5,第二获取模块13可以包括:第二获取单元131、第一处理单元132、第二处理单元133、第三处理单元134以及第四处理单元135。

第二获取单元131,用于获取对象识别网络;对象识别网络包括输入层以及特征提取层;

第一处理单元132,用于将监督图像输入对象识别网络,通过输入层,得到监督图像对应的第一原始对象特征;

第二处理单元133,用于通过特征提取层对第一原始对象特征进行卷积处理以及池化处理,得到监督图像对应的目标对象特征;

第三处理单元134,用于将初始渲染图像输入对象识别网络,通过输入层,得到初始渲染图像对应的第二原始对象特征;

第四处理单元135,用于通过特征提取层对第二原始对象特征进行卷积处理以及池化处理,得到初始渲染图像对应的渲染对象特征。

其中,第二获取单元131、第一处理单元132、第二处理单元133、第三处理单元134以及第四处理单元135的具体功能实现方式可以参见上述图2对应实施例中的步骤s103,这里不再进行赘述。

本申请实施例通过获取包含目标对象的监督图像,根据监督图像对应的深度信息,可以生成针对目标对象的监督三维点云;获取初始重建参数,根据初始重建参数可以生成初始重建三维点云以及初始渲染图像,该初始渲染图像包括渲染对象;然后获取监督图像中针对目标对象的目标对象特征,获取初始渲染图像中针对渲染对象的渲染对象特征;再根据目标对象特征、渲染对象特征、监督图像、初始渲染图像、监督三维点云以及初始重建三维点云,对初始重建参数进行优化调整,得到优化重建参数;最后根据优化重建参数生成用于表征目标对象的目标重建三维点云。上述可知,本申请实施例不仅利用点云信息(包括监督三维点云以及初始重建三维点云),以及图像信息(包括监督图像以及初始渲染图像)对初始重建参数进行优化调整,还结合对象特征信息(包括目标对象特征以及渲染对象特征)对初始重建参数进行优化调整,得到优化重建参数,使得根据优化重建参数所生成的目标重建三维点云可以更好的表征目标对象的三维信息,即目标重建三维点云具有更高的三维点云精度,进而可以提高基于目标重建三维点云所生成的重建三维人脸的人脸质量。

进一步地,请参见图6,图6是本申请实施例提供的一种计算机设备的结构示意图。如图6所示,上述计算机设备1000可以包括:处理器1001,网络接口1004和存储器1005,此外,上述计算机设备1000还可以包括:用户接口1003,和至少一个通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。其中,用户接口1003可以包括显示屏(display)、键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是非易失性的存储器(non-volatilememory),例如至少一个磁盘存储器。存储器1005可选的还可以是至少一个位于远离前述处理器1001的存储装置。如图6所示,作为一种计算机可读存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及设备控制应用程序。

在图6所示的计算机设备1000中,网络接口1004可提供网络通讯功能;而用户接口1003主要用于为用户提供输入的接口;而处理器1001可以用于调用存储器1005中存储的设备控制应用程序,以实现:

获取包含目标对象的监督图像,根据监督图像对应的深度信息,生成针对目标对象的监督三维点云;

获取初始重建参数,根据初始重建参数生成初始重建三维点云以及初始渲染图像;初始渲染图像包括渲染对象;

获取监督图像中针对目标对象的目标对象特征,获取初始渲染图像中针对渲染对象的渲染对象特征;

根据目标对象特征、渲染对象特征、监督图像、初始渲染图像、监督三维点云以及初始重建三维点云,对初始重建参数进行优化调整,得到优化重建参数;

根据优化重建参数生成用于表征目标对象的目标重建三维点云。

在一个实施例中,上述处理器1001在执行根据目标对象特征、渲染对象特征、监督图像、初始渲染图像、监督三维点云以及初始重建三维点云,对初始重建参数进行优化调整,得到优化重建参数时,具体执行以下步骤:

获取目标对象在监督图像中的目标对象关键点;

根据初始重建参数以及初始重建三维点云,确定渲染对象在初始渲染图像中的渲染对象关键点;初始重建参数包括初始重建对象参数、初始光照参数以及初始姿势参数;初始重建对象参数包括初始形状参数以及初始纹理参数,三维对象基包括三维形状基以及三维纹理基;

获取监督图像中每个像素点的监督颜色信息,获取初始渲染图像中每个像素点的渲染颜色信息;

根据目标对象特征、渲染对象特征、监督三维点云、初始重建三维点云、目标对象关键点、渲染对象关键点、监督颜色信息以及渲染颜色信息,对初始重建参数进行优化调整,得到优化重建参数。

在一个实施例中,初始重建参数包括初始姿势参数;

上述处理器1001在执行根据初始重建参数以及初始重建三维点云,确定渲染对象在初始渲染图像中的渲染对象关键点时,具体执行以下步骤:

根据初始姿势参数对初始重建三维点云进行姿势角度调整,得到姿势角度调整后的初始重建三维点云;

将从姿势角度调整后的初始重建三维点云中识别到的关键点,确定为渲染对象在初始渲染图像中的渲染对象关键点。

在一个实施例中,上述处理器1001在执行根据目标对象特征、渲染对象特征、监督三维点云、初始重建三维点云、目标对象关键点、渲染对象关键点、监督颜色信息以及渲染颜色信息,对初始重建参数进行优化调整,得到优化重建参数时,具体执行以下步骤:

根据目标对象特征、渲染对象特征、监督三维点云、初始重建三维点云、目标对象关键点、渲染对象关键点、监督颜色信息以及渲染颜色信息,生成总损失值;

根据总损失值对初始重建参数进行优化调整,当优化后的初始重建参数满足参数收敛条件时,将优化后的初始重建参数确定为优化重建参数。

在一个实施例中,上述处理器1001在执行根据目标对象特征、渲染对象特征、监督三维点云、初始重建三维点云、目标对象关键点、渲染对象关键点、监督颜色信息以及渲染颜色信息,生成总损失值时,具体执行以下步骤:

根据目标对象特征以及渲染对象特征,确定目标对象以及渲染对象之间的对象特征损失值;

根据监督颜色信息以及渲染颜色信息,确定监督图像以及初始渲染图像之间的颜色损失值;

根据监督三维点云以及初始重建三维点云,确定点云损失值;

根据目标对象关键点以及渲染对象关键点,确定关键点损失值;

根据初始重建参数,确定调节损失值;

根据对象特征损失值、颜色损失值、点云损失值、关键点损失值以及调节损失值,生成总损失值。

在一个实施例中,目标对象特征包括目标对象特征pi以及目标对象特征pi+1,渲染对象特征包括渲染对象特征ti,i为正整数;

上述处理器1001在执行根据目标对象特征以及渲染对象特征,确定目标对象以及渲染对象之间的对象特征损失值时,具体执行以下步骤:

根据目标对象特征pi以及初始渲染特征ti,确定目标对象mi以及渲染对象xi之间的对象特征损失值si;其中,目标对象mi为包含目标对象特征pi的对象,渲染对象xi为包含初始渲染特征ti的对象;

根据目标对象特征pi+1以及初始渲染特征ti,确定目标对象mi+1以及渲染对象xi之间的对象特征损失值si+1;其中,目标对象mi+1为包含目标对象特征pi+1的对象,且目标对象mi对应的姿势与目标对象mi+1对应的姿势不相同;

根据对象特征损失值si以及对象特征损失值si+1,确定对象特征损失值。

在一个实施例中,目标对象特征包括目标对象特征pi以及目标对象特征pi+1,渲染对象特征包括渲染对象特征ti以及渲染对象特征ti+1,i为正整数;

上述处理器1001在执行根据目标对象特征以及渲染对象特征,确定目标对象以及渲染对象之间的对象特征损失值时,具体执行以下步骤:

根据目标对象特征pi以及初始渲染特征ti,确定目标对象mi以及渲染对象xi之间的对象特征损失值si;其中,目标对象mi为包含目标对象特征pi的对象,渲染对象xi为包含初始渲染特征ti的对象;

根据目标对象特征pi+1以及初始渲染特征ti+1,确定目标对象mi+1以及渲染对象xi+1之间的对象特征损失值si+1;其中,目标对象mi+1为包含目标对象特征pi+1的对象,且目标对象mi对应的姿势与目标对象mi+1对应的姿势不相同;渲染对象xi+1为包含初始渲染特征ti+1的对象,且渲染对象xi对应的姿势与渲染对象xi+1对应的姿势不相同;

根据对象特征损失值si以及对象特征损失值si+1,确定对象特征损失值。

在一个实施例中,上述处理器1001在执行根据监督三维点云以及初始重建三维点云,确定点云损失值时,具体执行以下步骤:

获取监督三维点云中像素点的第一位置信息,获取初始重建三维点云中像素点的第二位置信息;

根据第一位置信息和第二位置信息,确定监督三维点云中的像素点与初始重建三维点云中的像素点之间的像素对应关系;

根据像素对应关系以及初始重建三维点云,生成点云损失值。

在一个实施例中,上述处理器1001在执行获取初始重建参数,根据初始重建参数生成初始重建三维点云以及初始渲染图像时,具体执行以下步骤:

获取初始重建参数以及三维对象基;初始重建参数包括初始重建对象参数、初始光照参数以及初始姿势参数;

对三维对象基以及初始重建对象参数进行线性组合,得到初始重建三维点云以及初始重建三维对象;

根据初始光照参数以及初始姿势参数对初始重建三维对象进行渲染,生成初始渲染图像。

在一个实施例中,初始重建对象参数包括初始形状参数以及初始纹理参数;三维对象基包括三维形状基以及三维纹理基;

上述处理器1001在执行对三维对象基以及初始重建对象参数进行线性组合,得到初始重建三维点云以及初始重建三维对象时,具体执行以下步骤:

对初始形状参数以及三维形状基进行线性组合,得到初始重建三维点云;

对初始纹理参数以及三维纹理基进行线性组合,得到初始重建三维纹理;

根据初始重建三维点云以及初始重建三维纹理,得到初始重建三维对象。

在一个实施例中,优化重建参数包括优化形状参数;

上述处理器1001在执行根据优化重建参数生成用于表征目标对象的目标重建三维点云时,具体执行以下步骤:

对优化形状参数以及三维形状基进行线性组合,得到用于表征目标对象的目标重建三维点云。

在一个实施例中,上述处理器1001在执行获取监督图像中针对目标对象的目标对象特征,获取初始渲染图像中针对渲染对象的渲染对象特征时,具体执行以下步骤:

获取对象识别网络;对象识别网络包括输入层以及特征提取层;

将监督图像输入对象识别网络,通过输入层,得到监督图像对应的第一原始对象特征;

通过特征提取层对第一原始对象特征进行卷积处理以及池化处理,得到监督图像对应的目标对象特征;

将初始渲染图像输入对象识别网络,通过输入层,得到初始渲染图像对应的第二原始对象特征;

通过特征提取层对第二原始对象特征进行卷积处理以及池化处理,得到初始渲染图像对应的渲染对象特征。

本申请实施例通过获取包含目标对象的监督图像,根据监督图像对应的深度信息,可以生成针对目标对象的监督三维点云;获取初始重建参数,根据初始重建参数可以生成初始重建三维点云以及初始渲染图像,该初始渲染图像包括渲染对象;然后获取监督图像中针对目标对象的目标对象特征,获取初始渲染图像中针对渲染对象的渲染对象特征;再根据目标对象特征、渲染对象特征、监督图像、初始渲染图像、监督三维点云以及初始重建三维点云,对初始重建参数进行优化调整,得到优化重建参数;最后根据优化重建参数生成用于表征目标对象的目标重建三维点云。上述可知,本申请实施例不仅利用点云信息(包括监督三维点云以及初始重建三维点云),以及图像信息(包括监督图像以及初始渲染图像)对初始重建参数进行优化调整,还结合对象特征信息(包括目标对象特征以及渲染对象特征)对初始重建参数进行优化调整,得到优化重建参数,使得根据优化重建参数所生成的目标重建三维点云可以更好的表征目标对象的三维信息,即目标重建三维点云具有更高的三维点云精度,进而可以提高基于目标重建三维点云所生成的重建三维人脸的人脸质量。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序包括程序指令,该程序指令被处理器执行时实现图2和图4中各个步骤所提供的图像处理方法,具体可参见上述图2和图4各个步骤所提供的实现方式,在此不再赘述。

上述计算机可读存储介质可以是前述任一实施例提供的图像处理装置或者上述计算机设备的内部存储单元,例如计算机设备的硬盘或内存。该计算机可读存储介质也可以是该计算机设备的外部存储设备,例如该计算机设备上配备的插接式硬盘,智能存储卡(smartmediacard,smc),安全数字(securedigital,sd)卡,闪存卡(flashcard)等。进一步地,该计算机可读存储介质还可以既包括该计算机设备的内部存储单元也包括外部存储设备。该计算机可读存储介质用于存储该计算机程序以及该计算机设备所需的其他程序和数据。该计算机可读存储介质还可以用于暂时地存储已经输出或者将要输出的数据。

本申请实施例的说明书和权利要求书及附图中的术语“第一”、“第二”等是用于区别不同对象,而非用于描述特定顺序。此外,术语“包括”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、装置、产品或设备没有限定于已列出的步骤或模块,而是可选地还包括没有列出的步骤或模块,或可选地还包括对于这些过程、方法、装置、产品或设备固有的其他步骤单元。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

本申请实施例提供的方法及相关装置是参照本申请实施例提供的方法流程图和/或结构示意图来描述的,具体可由计算机程序指令实现方法流程图和/或结构示意图的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。这些计算机程序指令可提供到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或结构示意图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或结构示意一个方框或多个方框中指定的功能的步骤。

以上所揭露的仅为本申请较佳实施例而已,当然不能以此来限定本申请之权利范围,因此依本申请权利要求所作的等同变化,仍属本申请所涵盖的范围。

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