首页 / 专利库 / 人工智能 / 三维人脸重建 / 一种图像处理方法、装置、电子设备和存储介质

一种图像处理方法、装置、电子设备和存储介质

阅读:309发布:2020-05-19

专利汇可以提供一种图像处理方法、装置、电子设备和存储介质专利检索,专利查询,专利分析的服务。并且本公 开关 于一种 图像处理 方法、装置、 电子 设备和存储介质,属于图像处理技术领域,该方法包括:接收对图像中的人脸进行三维整形的 请求 ,请求中携带有整形模式的标识信息,根据检测到的人脸关键点和标准人脸三维模型,对图像中的人脸进行 三维重建 ,根据标识信息获取对应相应整形模式下对标准人脸三维模型预标注的整形信息,根据该整形信息对重建的人脸三维模型进行整形,根据整形后的人脸三维模型确定整形图像。这样,借助于标准人脸三维模型对图像中的人脸进行三维重建,并根据在对应整形模式下标准人脸三维模型的整形信息对重建的人脸三维模型进行整形,人脸三维模型上的网格比较稠密,可很容易做到精细整形,最终得到的图像中人脸的真实度较好。,下面是一种图像处理方法、装置、电子设备和存储介质专利的具体信息内容。

1.一种图像处理方法,其特征在于,包括:
接收对图像中的人脸进行三维整形的请求,所述请求中携带有整形模式的标识信息,所述整形模式用于指示待整形的人脸部位和对所述人脸部位采用的整形方式;
对所述图像中的人脸进行关键点检测,根据检测到的人脸关键点和标准人脸三维模型,对所述图像中的人脸进行三维重建,得到所述图像中人脸的三维模型;
根据所述标识信息获取在对应整形模式下对所述标准人脸三维模型预标注的整形信息,根据所述整形信息对所述图像中人脸的三维模型进行整形;
根据整形后所述图像中人脸的三维模型确定整形后的图像。
2.根据权利要求1所述的方法,其特征在于,根据所述整形信息对所述图像中人脸的三维模型进行整形,包括:
对所述整形信息中记录的标准人脸三维模型中的每个第一顶点,确定所述图像中人脸的三维模型中与所述第一顶点对应的第二顶点;
根据所述第一顶点对应的三维坐标调整信息对所述第二顶点的三维坐标进行调整。
3.根据权利要求1或2所述的方法,其特征在于,根据整形后所述图像中人脸的三维模型确定整形后的图像,包括:
对所述图像中人脸的三维模型进行渲染,得到对所述人脸部位整形后的人脸信息;
以所述整形后的人脸信息替代所述图像中的人脸信息,得到对所述人脸部位整形后的图像。
4.根据权利要求3所述的方法,其特征在于,对所述图像中人脸的三维模型进行渲染,得到对所述人脸部位整形后的人脸信息,包括:
对所述图像中人脸的三维模型中的每个网格,确定所述网格在二维平面上对应的像素区域;
根据所述网格对应的人脸纹理信息对所述像素区域进行纹理填充,得到所述像素区域的人脸信息。
5.根据权利要求1所述的方法,其特征在于,所述根据检测到的人脸关键点和标准人脸三维模型,对所述图像中的人脸进行三维重建,包括:
根据检测到的人脸关键点,确定设备在采集所述图像时所述图像中人脸的姿态信息,所述姿态信息至少包括人脸的位置和朝向;
根据所述图像中人脸的姿态信息、所述设备的投影参数和所述标准人脸三维模型中各顶点的三维坐标,确定所述标准人脸三维模型在对应姿态下各顶点投影到二维平面上的坐标;
根据各顶点投影到二维平面上的坐标和所述图像,对所述标准人脸三维模型进行纹理贴图,得到所述图像中人脸的三维模型。
6.一种图像处理装置,其特征在于,包括:
接收模,被配置为执行接收对图像中的人脸进行三维整形的请求,所述请求中携带有整形模式的标识信息,所述整形模式用于指示待整形的人脸部位和对所述人脸部位采用的整形方式;
重建模块,被配置为执行对所述图像中的人脸进行关键点检测,根据检测到的人脸关键点和标准人脸三维模型,对所述图像中的人脸进行三维重建,得到所述图像中人脸的三维模型;
整形模块,被配置为执行根据所述标识信息获取在对应整形模式下对所述标准人脸三维模型预标注的整形信息,根据所述整形信息对所述图像中人脸的三维模型进行整形;
确定模块,被配置为执行根据整形后所述图像中人脸的三维模型确定整形后的图像。
7.根据权利要求6所述的装置,其特征在于,所述整形模块具体被配置为执行:
对所述图像中人脸的三维模型中的每个顶点,从所述整形信息中查找所述顶点对应的三维坐标调整信息;
根据所述三维坐标调整信息对所述顶点的三维坐标进行调整。
8.根据权利要求6或7所述的装置,其特征在于,所述确定模块具体被配置为执行:
对所述图像中人脸的三维模型进行渲染,得到对所述人脸部位整形后的人脸信息;
以所述整形后的人脸信息替代所述图像中的人脸信息,得到对所述人脸部位整形后的图像。
9.一种电子设备,其特征在于,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至5任一项权利要求所述的方法。
10.一种存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,所述电子设备能够执行如权利要求1至5中任一项权利要求所述的方法。

说明书全文

一种图像处理方法、装置、电子设备和存储介质

技术领域

[0001] 本公开涉及图像处理技术领域,尤其涉及一种图像处理方法、装置、电子设备和存储介质。

背景技术

[0002] 目前,社交应用的种类越来越丰富如短视频应用、自拍美颜应用等,在这些社交应用中对图像中人脸进行美化的3维(dimension,D)整形也得到了广泛应用。
[0003] 相关技术中,对图像中人脸的3D整形实际上是利用对2D图像中的人脸进行变形得到的,具体地,确定2D图像中的一些人脸特征点,对每个人脸特征点,计算变形后该人脸特征点的2D坐标位置,根据变形后各人脸特征点的2D坐标位置构建变形后的人脸图像,然而,由于这些人脸特征点比较离散,所以很难对人脸图像做到精细的整形处理,并且,在2D平面上对人脸图像进行变形,最终得到的人脸图像的真实度也有所欠缺。发明内容
[0004] 本公开提供一种图像处理方法、装置、电子设备和存储介质,以至少解决相关技术中在对图像中的人脸进行整形时存在的整形精度低、且最终得到的图像中人脸的真实度不好的问题。本公开的技术方案如下:
[0005] 根据本公开实施例的第一方面,提供一种图像处理方法,包括:
[0006] 接收对图像中的人脸进行三维整形的请求,所述请求中携带有整形模式的标识信息,所述整形模式用于指示待整形的人脸部位和对所述人脸部位采用的整形方式;
[0007] 对所述图像中的人脸进行关键点检测,根据检测到的人脸关键点和标准人脸三维模型,对所述图像中的人脸进行三维重建,得到所述图像中人脸的三维模型;
[0008] 根据所述标识信息获取在对应整形模式下对所述标准人脸三维模型预标注的整形信息,根据所述整形信息对所述图像中人脸的三维模型进行整形;
[0009] 根据整形后所述图像中人脸的三维模型确定整形后的图像。
[0010] 可选地,根据所述整形信息对所述图像中人脸的三维模型进行整形,包括:
[0011] 对所述整形信息中记录的标准人脸三维模型中的每个第一顶点,确定所述图像中人脸的三维模型中与所述第一顶点对应的第二顶点;
[0012] 根据所述第一顶点对应的三维坐标调整信息对所述第二顶点的三维坐标进行调整。
[0013] 可选地,根据整形后所述图像中人脸的三维模型确定整形后的图像,包括:
[0014] 对所述图像中人脸的三维模型进行渲染,得到对所述人脸部位整形后的人脸信息;
[0015] 以所述整形后的人脸信息替代所述图像中的人脸信息,得到对所述人脸部位整形后的图像。
[0016] 可选地,对所述图像中人脸的三维模型进行渲染,得到对所述人脸部位整形后的人脸信息,包括:
[0017] 对所述图像中人脸的三维模型中的每个网格,确定所述网格在二维平面上对应的像素区域;
[0018] 根据所述网格对应的人脸纹理信息对所述像素区域进行纹理填充,得到所述像素区域的人脸信息。
[0019] 可选地,根据检测到的人脸关键点和标准人脸三维模型,对所述图像中的人脸进行三维重建,包括:
[0020] 根据检测到的人脸关键点,确定设备在采集所述图像时所述图像中人脸的姿态信息,所述姿态信息至少包括人脸的位置和朝向;
[0021] 根据所述图像中人脸的姿态信息、所述设备的投影参数和所述标准人脸三维模型中各顶点的三维坐标,确定所述标准人脸三维模型在对应姿态下各顶点投影到二维平面上的坐标;
[0022] 根据各顶点投影到二维平面上的坐标和所述图像,对所述标准人脸三维模型进行纹理贴图,得到所述图像中人脸的三维模型。
[0023] 根据本公开实施例的第二方面,提供一种图像处理装置,包括:
[0024] 接收模,被配置为执行接收对图像中的人脸进行三维整形的请求,所述请求中携带有整形模式的标识信息,所述整形模式用于指示待整形的人脸部位和对所述人脸部位采用的整形方式;
[0025] 重建模块,被配置为执行对所述图像中的人脸进行关键点检测,根据检测到的人脸关键点和标准人脸三维模型,对所述图像中的人脸进行三维重建,得到所述图像中人脸的三维模型;
[0026] 整形模块,被配置为执行根据所述标识信息获取在对应整形模式下对所述标准人脸三维模型预标注的整形信息,根据所述整形信息对所述图像中人脸的三维模型进行整形;
[0027] 确定模块,被配置为执行根据整形后所述图像中人脸的三维模型确定整形后的图像。
[0028] 可选地,所述整形模块具体被配置为执行:
[0029] 对所述图像中人脸的三维模型中的每个顶点,从所述整形信息中查找所述顶点对应的三维坐标调整信息;
[0030] 根据所述三维坐标调整信息对所述顶点的三维坐标进行调整。
[0031] 可选地,所述确定模块具体被配置为执行:
[0032] 对所述图像中人脸的三维模型进行渲染,得到对所述人脸部位整形后的人脸信息;
[0033] 以所述整形后的人脸信息替代所述图像中的人脸信息,得到对所述人脸部位整形后的图像。
[0034] 可选地,所述确定模块具体被配置为执行:
[0035] 对所述图像中人脸的三维模型中的每个网格,确定所述网格在二维平面上对应的像素区域;
[0036] 根据所述网格对应的人脸纹理信息对所述像素区域进行纹理填充,得到所述像素区域的人脸信息。
[0037] 可选地,所述重建模块具体被配置为执行:
[0038] 根据检测到的人脸关键点,确定设备在采集所述图像时所述图像中人脸的姿态信息,所述姿态信息至少包括人脸的位置和朝向;
[0039] 根据所述图像中人脸的姿态信息、所述设备的投影参数和所述标准人脸三维模型中各顶点的三维坐标,确定所述标准人脸三维模型在对应姿态下各顶点投影到二维平面上的坐标;
[0040] 根据各顶点投影到二维平面上的坐标和所述图像,对所述标准人脸三维模型进行纹理贴图,得到所述图像中人脸的三维模型。
[0041] 根据本公开实施例的第三方面,提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
[0042] 所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一图像处理方法。
[0043] 根据本公开实施例的第四方面,提供一种存储介质,当所述存储介质中的指令由电子设备的处理器执行时,所述电子设备能够执行上述任一图像处理方法。
[0044] 根据本公开实施例的第五方面,提供一种计算机程序产品,该程序产品在被电子设备调用执行时,可以使得电子设备执行上述任一图像处理方法。
[0045] 本公开的实施例提供的技术方案至少带来以下有益效果:
[0046] 接收对图像中的人脸进行三维整形的请求,该请求中携带有整形模式的标识信息,对图像中的人脸进行关键点检测,根据检测到的人脸关键点和标准人脸三维模型,对图像中的人脸进行三维重建,得到图像中人脸的三维模型,进而根据标识信息获取在对应整形模式下对标准人脸三维模型预标注的整形信息,根据该整形信息对图像中人脸的三维模型进行整形,根据整形后图像中人脸的三维模型确定整形后的图像,这样,在对图像中的人脸进行整形时,借助于标准人脸三维模型建立图像中人脸的三维模型,并根据在对应整形模式下标准人脸三维模型的整形信息对建立的人脸三维模型进行整形,因为建立的人脸三维模型上的网格比较稠密,所以对人脸部位可很容易做到精细整形,并且,最终得到的图像中人脸的真实度也较好。
[0047] 应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。附图说明
[0048] 此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理,并不构成对本公开的不当限定。
[0049] 图1是根据一示例性实施例示出的一种计算装置的结构示意图。
[0050] 图2是根据一示例性实施例示出的一种标准人脸三维模型的示意图。
[0051] 图3是根据一示例性实施例示出的一种图像处理方法的流程示意图。
[0052] 图4是根据一示例性实施例示出的一种图像处理方法的流程图
[0053] 图5是根据一示例性实施例示出的一种对图像中的人脸进行三维重建的方法流程图。
[0054] 图6是根据一示例性实施例示出的一副整形前的图像。
[0055] 图7是根据一示例性实施例示出的对图6所示的图像进行整形后的图像。
[0056] 图8是根据一示例性实施例示出的一种图像处理装置的框图

具体实施方式

[0057] 为了使本领域普通人员更好地理解本公开的技术方案,下面将结合附图,对本公开实施例中的技术方案进行清楚、完整地描述。
[0058] 需要说明的是,本公开的说明书和权利要求书中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开的实施例能够以除了在这里图示或描述的那些以外的顺序实施。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
[0059] 本公开提供的图像处理方法可以应用到多种计算装置中,图1给出了一种计算装置的结构示意图,这里,图1所示的计算装置10仅仅是一个示例,并不对本公开实施例的功能和使用范围带来任何限制。
[0060] 如图1所示,计算装置10以通用计算设备的形式表现,计算装置10的组件可以包括但不限于:至少一个处理单元101、至少一个存储单元102、连接不同系统组件(包括存储单元102和处理单元101)的总线103。
[0061] 总线103表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器、外围总线、处理器或者使用多种总线结构中的任意总线结构的局域总线。
[0062] 存储单元102可以包括易失性存储器形式的可读介质,例如随机存取存储器(RAM)1021和/或高速缓存存储器1022,还可以进一步包括只读存储器(ROM)1023。
[0063] 存储单元102还可以包括具有一组(至少一个)程序模块1024的程序/实用工具1025,这样的程序模块1024包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
[0064] 计算装置10也可以与一个或多个外部设备104(例如键盘、指向设备等)通信,还可与一个或者多个使得用户能与计算装置10交互的设备通信,和/或与使得该计算装置10能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口105进行。并且,计算装置10还可以通过网络适配器106与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图1所示,网络适配器106通过总线103与用于计算装置10的其它模块通信。应当理解,尽管图1中未示出,可以结合计算装置10使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
[0065] 本领域技术人员应当理解,图1仅仅是计算装置的举例,并不构成对计算装置的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
[0066] 为了便于理解本公开,先对标准人脸三维模型进行介绍,图2是根据一示例性实施例示出的一种标准人脸三维模型的示意图,标准人脸三维模型包括多个三形网格,每个三角形网格包含三个顶点,每个顶点会被若干个三角形共享。假设标准人脸三维模型中的顶点数量为n,则第i个顶点在三维空间中的位置为(xi,yi,zi)。
[0067] 具体实施时,预先选定几个可进行整形的人脸部位,如鼻子、眼睛、嘴巴、颧骨等,然后,对每种人脸部位确定至少一种整形方式,一种人脸部位+一种整形方式即得到一种整形模式,比如,瘦鼻头、隆鼻、开眼角、去眼袋、去除眼部皱纹、减小嘴唇厚度、颧骨增高等均是整形模式。
[0068] 进一步地,确定在每种整形模式下标准人脸三维模型的整形信息。具体地,对每种整形模式,根据该种整形模式指示的人脸部位和对人脸部位采用的整形方式,对标准人脸三维模型中相关顶点的三维坐标反复进行调整,以改变标准人脸三维模型中该人脸部位的3D形状,在得到满意的3D整形效果时,可记录调整前后标准人脸三维模型中发生了移动的每个顶点的标识信息和三维坐标调整信息,将各顶点的标识信息和三维坐标调整信息作为在该种整形模式下标准人脸三维模型预标注的整形信息。
[0069] 后续,可提供多种可选的整形模式,用户选择哪种整形模式,则根据标准人脸三维模型对图像中的人脸进行三维重建,并根据标准人脸三维模型在对应整形模式下的整形信息,对重建的人脸三维模型进行整形,根据整形后的人脸三维模型确定整形后的二维图像,以实现真正意义上的3D整形,提升最终得到的二维图像中人脸的真实感。
[0070] 图3是根据一示例性实施例示出的一种图像处理方法的流程示意图,具体过程如下:
[0071] 首先,获取包含有人脸的图像,将图像输入到电子设备中,电子设备可对图像提供多种整形模式。假设用户选择某种整形模式S,则可对图像进行人脸检测,并在检测到人脸的区域中进行人脸定位,即进行人脸关键点检测,进而根据检测到的人脸关键点和标准人脸三维模型,对图像中的人脸进行三维重建,获得人脸网格信息、人脸纹理图像和人脸网格到二维人脸的变换矩阵M。
[0072] 假设标准人脸三维模型为(V,G),重建的人脸三维模型为(U,G),其中,V={V1,V2,…Vn},表示标准人脸三维模型中的n个顶点,Vi为第i个顶点的三维坐标,1≤i≤n,U={U1,U2,…Un},表示重建的人脸三维模型中的n个顶点,即人脸网格信息,Ui为第i个顶点的三维坐标,1≤i≤n,G表示标准人脸三维模型的网格拓扑,即各顶点之间的连接关系,重建的人脸三维模型的网络拓扑与标准人脸三维模型一致。
[0073] 具体实施时,变换矩阵M可为4*4的矩阵,假设重建的人脸三维模型中特定位置(如鼻尖、左眼角等)的顶点Ui=(xi,yi,zi),二维图像中该特定位置的坐标为Bi=(ai,bi),则满足M*(xi,yi,zi,1)T=(ai,bi,ci,1)T,其中,ci是一个占位符。
[0074] 另外,若记人脸纹理图像为J,则重建的人脸三维模型在人脸区域内满足:Raster(V,G,M,J)=I,其中Raster()表示光栅化算子,功能是将三维模型(V,G)使用变换矩阵M进行变换后,进行光栅化,并使用人脸纹理图像J作为纹理贴图计算颜色值,根据计算的颜色值对光栅化后得到的像素区域进行着色,从而渲染出二维图像。
[0075] 其次,根据预先确定的在整形模式S下标准人脸三维模型的整形信息,对重建的人脸三维模型进行整形,得到整形后的人脸三维模型(W,G)。
[0076] 假设在整形模式S下,标准人脸三维模型的整形信息ΔV为:ΔV={ΔV1,ΔV2,…ΔVn},其中,ΔVi表示标准人脸三维模型中第i个顶点的三维坐标调整信息,那么,W=U+ΔV。
[0077] 然后,根据整形后的人脸三维模型(W,G)、人脸纹理图像J和映射矩阵M,渲染出整形后的面部区域图像,即求Raster(W,G,M,J)。
[0078] 最后,结合输入图像和整形后的面部区域图像,获得最终的整形图像。
[0079] 具体地,使用整形后的面部区域图像中的像素代替输入图像中同样位置上的像素。
[0080] 需要说明的是,如果图像中包含多个人脸,则对每个人脸依次按照上述过程进行处理,在此不再赘述。
[0081] 图4是根据一示例性实施例示出的一种图像处理方法的流程图,包括以下步骤。
[0082] S401:接收对图像中的人脸进行三维整形的请求,其中,请求中携带有整形模式的标识信息。
[0083] 这里,整形模式用于指示待整形的人脸部位和对人脸部位采用的整形方式,比如,瘦鼻头所指示的待整形的人脸部位为鼻头、对鼻头采用的整形方式为缩小;开眼角所指示的待整形的人脸部位为眼角、对眼角采用的整形方式为扩大。
[0084] S402:对图像中的人脸进行关键点检测。
[0085] 具体实施时,可先在图像中检测人脸区域,然后在人脸区域中进行关键点检测,其中,可进行检测的人脸关键点如脸的轮廓点、眼睛轮廓点、鼻子轮廓点、眉毛轮廓点、额头轮廓点、上嘴唇轮廓点、下嘴唇轮廓点等。
[0086] S403:根据检测到的人脸关键点和标准人脸三维模型,对图像中的人脸进行三维重建,得到图像中人脸的三维模型。
[0087] 具体实施时,可根据检测到的人脸关键点确定设备在采集该图像时图像中人脸的姿态信息,如人脸的位置和朝向,进而根据图像中人脸的姿态信息和设备的投影参数,将标准人脸三维模型中各顶点的三维坐标转换为二维坐标,根据这些二维坐标和该图像,对标准人脸三维模型进行纹理贴图,得到图像中人脸的三维模型。
[0088] 图5是根据一示例性实施例示出的一种对图像中的人脸进行三维重建的方法流程图,包括以下步骤。
[0089] S501a:根据检测到的人脸关键点,确定设备在采集图像时图像中人脸的姿态信息,其中,姿态信息至少包括图像中人脸的位置和朝向。
[0090] 这里,人脸的位置和朝向可以是指设备在采集图像时图像中人脸在三维空间中的位置和朝向,例如,人脸的位置可以是人脸在设备的视野范围内偏左的位置、偏右的位置或正中间等位置,人脸的朝向可以是正面人脸、左侧脸、右侧脸、抬头或低头等朝向。
[0091] 具体实施时,根据检测到的人脸关键点,可确定位移矩阵和旋转矩阵,其中,位移矩阵用于表示设备在采集图像时图像中人脸在三维空间中的位置;旋转矩阵用于表示设备在采集图像时图像中人脸在三维空间中的朝向,位移矩阵和旋转矩阵相乘后得到的矩阵(记作姿态矩阵)可作为图像中人脸的姿态信息。
[0092] S502a:根据图像中人脸的姿态信息、设备的投影参数和标准人脸三维模型中各顶点的三维坐标,确定标准人脸三维模型在对应姿态下各顶点投影到二维平面上的坐标。
[0093] 其中,设备的投影参数包括投影矩阵。
[0094] 具体实施时,对每个顶点,将该顶点的三维坐标与姿态矩阵和投影矩阵相乘,即可得到该顶点投影到二维平面上的坐标。
[0095] S503a:根据各顶点投影到二维平面上的坐标和图像,对标准人脸三维模型进行纹理贴图,得到图像中人脸的三维模型。
[0096] 具体实施时,可根据各顶点投影到二维平面上的坐标对图像进行纹理信息采集,再根据采集到的纹理信息对标准人脸三维模型进行纹理贴图,即可得到图像中人脸的三维模型。
[0097] 需要说明的是,图像中人脸的三维模型和标准人脸三维模型的顶点个数是相同的。假设标准人脸三维模型中的顶点统称为第一顶点,图像中人脸的三维模型中的顶点统称为第二顶点,则对标准人脸三维模型中的每个第一顶点,在图像中人脸的三维模型中均对应一个第二顶点,两者对应同一人脸位置。
[0098] S404:根据标识信息获取在对应整形模式下对标准人脸三维模型预标注的整形信息。
[0099] S405:根据在对应整形模式下对标准人脸三维模型预标注的整形信息对图像中人脸的三维模型进行整形。
[0100] 具体实施时,对整形信息中记录的标准人脸三维模型中的每个第一顶点,确定图像中人脸的三维模型中与第一顶点对应的第二顶点,进而根据第一顶点对应的三维坐标调整信息对第二顶点的三维坐标进行调整,这样,逐顶点地对图像中人脸的三维模型进行调整,整形的精细度更高,最终得到的整形图像中人脸的真实度也更好。
[0101] S406:对图像中人脸的三维模型进行渲染,得到对人脸部位整形后的人脸信息。
[0102] 具体地,对图像中人脸的三维模型中的每个网格,确定该网格在二维平面上对应的像素区域,比如,对该网格进行光栅化处理来确定该网格在二维平面上对应的像素区域,根据该网格对应的人脸纹理信息对该像素区域进行纹理填充,得到该像素区域的人脸信息,这样,得到每个网格对应的像素区域的人脸信息,即得到对人脸部位整形后的人脸信息。
[0103] S407:以对人脸部位整形后的人脸信息替代图像中的人脸信息,得到对人脸部位整形后的图像。
[0104] 具体实施时,对图像中人脸的三维模型进行渲染,得到对人脸部位整形后的人脸信息只有人脸信息,而图像中除了人脸信息通常还包含一些非人物信息如汽车杯等,因此,可以对人脸部位整形后的人脸信息替代图像中的人脸信息的方式来得到对人脸部位整形后的图像。
[0105] 下面结合具体的实施例对本公开实施例进行说明。
[0106] 假设获取到图6所示的图像,且用户选择了对图像中的人脸进行瘦鼻头处理的请求,则可在图像中检测人脸区域,然后在人脸区域中进行关键点检测,进而根据检测到的人脸关键点和标准人脸三维模型,对图像中的人脸进行三维重建,得到图像中人脸的三维模型。
[0107] 进一步地,从整形信息库中获取进行瘦鼻头处理时对标准人脸三维模型预标注的整形信息,对整形信息中记录的标准人脸三维模型中的每个第一顶点,确定图像中人脸的三维模型中与该第一顶点对应的第二顶点,进而根据该第一顶点对应的三维坐标调整信息对该第二顶点的三维坐标进行调整。
[0108] 然后,对图像中人脸的三维模型进行渲染,得到整形后的面部区域图像,对面部区域图像中的每个像素,以该像素替换图像中相同位置处的像素,从而得到整形后的图像,参见图7,图7是整形后的图像。
[0109] 当本公开实施例中提供的方法以软件或硬件或软硬件结合实现的时候,电子设备中可以包括多个功能模块,每个功能模块可以包括软件、硬件或其结合。
[0110] 图8是根据一示例性实施例示出的一种图像处理装置的框图,该装置包括接收模块801,重建模块802、整形模块803和确定模块804。
[0111] 接收模块801,被配置为执行接收对图像中的人脸进行三维整形的请求,所述请求中携带有整形模式的标识信息,所述整形模式用于指示待整形的人脸部位和对所述人脸部位采用的整形方式;
[0112] 重建模块802,被配置为执行对所述图像中的人脸进行关键点检测,根据检测到的人脸关键点和标准人脸三维模型,对所述图像中的人脸进行三维重建,得到所述图像中人脸的三维模型;
[0113] 整形模块803,被配置为执行根据所述标识信息获取在对应整形模式下对所述标准人脸三维模型预标注的整形信息,根据所述整形信息对所述图像中人脸的三维模型进行整形;
[0114] 确定模块804,被配置为执行根据整形后所述图像中人脸的三维模型确定整形后的图像。
[0115] 可选地,所述整形模块803具体被配置为执行:
[0116] 对所述图像中人脸的三维模型中的每个顶点,从所述整形信息中查找所述顶点对应的三维坐标调整信息;
[0117] 根据所述三维坐标调整信息对所述顶点的三维坐标进行调整。
[0118] 可选地,所述确定模块804具体被配置为执行:
[0119] 对所述图像中人脸的三维模型进行渲染,得到对所述人脸部位整形后的人脸信息;
[0120] 以所述整形后的人脸信息替代所述图像中的人脸信息,得到对所述人脸部位整形后的图像。
[0121] 可选地,所述确定模块804具体被配置为执行:
[0122] 对所述图像中人脸的三维模型中的每个网格,确定所述网格在二维平面上对应的像素区域;
[0123] 根据所述网格对应的人脸纹理信息对所述像素区域进行纹理填充,得到所述像素区域的人脸信息。
[0124] 可选地,所述重建模块802具体被配置为执行:
[0125] 根据检测到的人脸关键点,确定设备在采集所述图像时所述图像中人脸的姿态信息,所述姿态信息至少包括人脸的位置和朝向;
[0126] 根据所述图像中人脸的姿态信息、所述设备的投影参数和所述标准人脸三维模型中各顶点的三维坐标,确定所述标准人脸三维模型在对应姿态下各顶点投影到二维平面上的坐标;
[0127] 根据各顶点投影到二维平面上的坐标和所述图像,对所述标准人脸三维模型进行纹理贴图,得到所述图像中人脸的三维模型。
[0128] 关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0129] 本公开实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本公开各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。各个模块相互之间的耦合可以是通过一些接口实现,这些接口通常是电性通信接口,但是也不排除可能是机械接口或其它的形式接口。因此,作为分离部件说明的模块可以是或者也可以不是物理上分开的,既可以位于一个地方,也可以分布到同一个或不同设备的不同位置上。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
[0130] 本公开实施例还提供一种电子设备,包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中:
[0131] 所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,所述至少一个处理器能够执行上述任一图像处理方法中的步骤。
[0132] 本公开实施例还提供一种存储介质,当存储介质中的指令由电子设备的处理器执行时,所述电子设备能够执行上述任一图像处理方法中的步骤。
[0133] 在一些可能的实施方式中,本公开提供的图像处理方法的各个方面还可以实现为一种计算机程序产品的形式,当所述程序产品在电子设备上运行时,可使所述电子设备执行上述任一图像处理方法中的步骤。
[0134] 所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
[0135] 本公开的实施方式的用于图像处理的程序产品可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在计算设备上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0136] 可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0137] 可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、有线、光缆、RF等等,或者上述的任意合适的组合。
[0138] 可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
[0139] 应当注意,尽管在上文详细描述中提及了装置的若干单元或子单元,但是这种划分仅仅是示例性的并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多单元的特征和功能可以在一个单元中具体化。反之,上文描述的一个单元的特征和功能可以进一步划分为由多个单元来具体化。
[0140] 此外,尽管在附图中以特定顺序描述了本公开方法的操作,但是,这并非要求或者暗示必须按照该特定顺序来执行这些操作,或是必须执行全部所示的操作才能实现期望的结果。附加地或备选地,可以省略某些步骤,将多个步骤合并为一个步骤执行,和/或将一个步骤分解为多个步骤执行。
[0141] 本领域内的技术人员应明白,本公开的实施例可提供为方法、系统、或计算机程序产品。因此,本公开可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本公开可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0142] 本公开是参照根据本公开实施例的方法、装置(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0143] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0144] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0145] 尽管已描述了本公开的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本公开范围的所有变更和修改。
[0146] 显然,本领域的技术人员可以对本公开进行各种改动和变型而不脱离本公开的精神和范围。这样,倘若本公开的这些修改和变型属于本公开权利要求及其等同技术的范围之内,则本公开也意图包含这些改动和变型在内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈