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

文档序号:31072802发布日期:2022-08-09 21:18阅读:49来源:国知局
图像处理方法、装置、设备及计算机可读存储介质与流程

1.本技术涉及图像处理技术,尤其涉及一种图像处理方法、装置、设备及计算机可读存储介质。


背景技术:

2.随着移动通信技术的发展,特别是移动网络和智能终端的推广应用,移动互联网领域发展迅猛。目前来说,智能终端的功能早已不是单纯用来满足人们的相互联系,而成为人们日常生活中十分重要的移动个人娱乐终端。
3.如今拍照、录像功能已成为智能终端必不可少的功能,人们可以随时随地的记录精彩瞬间。而目前的智能终端大多都包括前置摄像头,方便用户进行自拍。爱美是人们的天性,大家都想要自己拍出来的照片更加好看,因此就催生了各种美颜方法。目前相关技术中进行美颜时,首先需要确定出五官的关键点,进而再基于关键点进行美颜特效。因此五官的关键点的精确度与对美颜效果的贴合度和真实度紧密相关。


技术实现要素:

4.本技术实施例提供一种图像处理方法、装置及计算机可读存储介质,能够提高图像处理精度。
5.本技术实施例的技术方案是这样实现的:本技术实施例提供一种图像处理方法,包括:获取待处理图像、训练好的第一模型和训练好的第二模型;利用所述训练好的第一模型对所述待处理图像进行预测处理,得到第一关键点集合;基于所述第一关键点集合从所述待处理图像中确定目标区域图像;利用所述训练好的第二模型对所述目标区域图像进行预测处理,得到第二关键点集合,所述第一关键点集合为所述第二关键点集合的子集;基于所述第二关键点集合对所述目标区域图像进行特效处理,得到处理后的图像。
6.本技术实施例提供一种图像处理装置,包括:第一获取模块,用于获取待处理图像、训练好的第一模型和训练好的第二模型;第一预测模块,用于利用所述训练好的第一模型对所述待处理图像进行预测处理,得到第一关键点集合;第一确定模块,用于基于所述第一关键点集合从所述待处理图像中确定目标区域图像;第二预测模块,用于利用所述训练好的第二模型对所述目标区域图像进行预测处理,得到第二关键点集合,所述第一关键点集合为所述第二关键点集合的子集;特效处理模块,用于基于所述第二关键点集合对所述目标区域图像进行特效处
理,得到处理后的图像。
7.在一些实施例中,目标区域图像包括对称的第一目标子区域图像和第二目标子区域图像,该第二预测模块,还用于:利用所述训练好的第二模型对所述第一目标子区域图像进行预测处理,得到第一预测点集合;对所述第二目标子区域图像进行翻转处理,得到处理后的第二目标子区域图像;利用所述训练好的第二模型对所述处理后的第二目标子区域图像进行预测处理,得到第二预测点集合;将所述第一预测点集合和所述第二预测点集合的并集确定为所述第二关键点集合。
8.在一些实施例中,该装置还包括:第二获取模块,用于获取预设的第一模型和训练数据,所述训练数据包括多个训练图像和所述训练图像中的标注关键点集合,所述标注关键点集合包括第一标注关键点子集合;第一处理模块,用于对所述训练图像进行对正和增强处理,得到处理后的训练图像;第三预测模块,用于利用所述预设的第一模型对所述处理后的训练图像进行预测处理,得到所述处理后的训练图像对应的预测关键点;第一训练模块,用于基于各个处理后的训练图像的预测关键点和所述第一标注关键点子集合对所述第一模型进行训练,得到训练好的第一模型。
9.在一些实施例中,该第一处理模块,还用于:获取参考图像中参考关键点集合;基于所述训练图像的标注关键点集合和所述参考关键点集合,确定用于进行对正处理的仿射矩阵;利用所述仿射矩阵对所述训练图像进行对正处理,得到对正后的训练图像;基于所述对正后的训练图像的中心坐标、旋转角度和缩放因子确定增强矩阵;利用所述增强矩阵对所述对正后的训练图像进行增强处理,得到处理后的训练图像。
10.在一些实施例中,该装置还包括:第三获取模块,用于获取预设的第二模型和训练数据,所述训练数据包括多个训练图像和所述训练图像中的标注关键点集合;第二确定模块,用于基于各个训练图像的标注关键点集合从所述各个训练图像中确定出训练区域图像;第二处理模块,用于对所述训练区域图像进行对正和增强处理,得到处理后的训练区域图像;第四预测模块,用于利用所述预设的第二模型对所述处理后的训练区域图像进行预测处理,得到所述处理后的训练区域图像对应的预测关键点;第二训练模块,用于基于各个处理后的训练区域图像的预测关键点和所述标注关键点集合对所述第二模型进行训练,得到训练好的第二模型。
11.在一些实施例中,该装置还包括:第四获取模块,用于获取多个人工标注的训练图像和各个人工标注的训练图像的人工标注信息;第三训练模块,用于利用所述各个人工标注的训练图像和所述各个人工标注的训练图像的人工标注信息对预设的标注模型进行训练,得到训练好的标注模型;第五获取模块,用于获取多个待标注的训练图像;第五预测模块,用于利用所述训练好的标注模型对所述多个待标注的训练图像进行预测处理,得到所述多个待标注的训练图像的预测标注信息;第三确定模块,用于当待标注的训练图像的预测标注信息满足标注条件,将所述各个人工标注的训练图像、所述各个人工标注的训练图像的人工标注信息、所述待标注的训练图像和所述待标注的训练图像的预测标注信息确定为训练数据。
12.在一些实施例中,该装置还包括:第四确定模块,用于当待标注的训练图像不满足标注条件时,将所述待标注的训练图像确定为目标训练图像,获取针对所述目标训练图像的预测标注信息的更新操作;更新模块,用于响应于所述更新操作,对所述目标训练图像的预测标注信息进行更新,得到更新后的预测标注信息;第四确定模块,用于将所述各个人工标注的训练图像、所述各个人工标注的训练图像的人工标注信息、满足标注条件的待标注的训练图像、所述满足标注条件的待标注的训练图像的预测标注信息、所述目标训练图像和所述目标训练图像的更新后的预测标注信息确定为训练数据。
13.在一些实施例中,该装置还包括:第六获取模块,用于获取原始图像,对所述原始图像进行人脸检测,得到检测结果;第五确定模块,用于确定所述检测结果表征所述原始图像中包括人脸区域图像,将所述原始图像确定为待处理图像。
14.本技术实施例提供一种计算机设备,包括:存储器,用于存储可执行指令;处理器,用于执行所述存储器中存储的可执行指令时,实现本技术实施例提供的方法。
15.本技术实施例提供一种计算机可读存储介质,存储有可执行指令,用于引起处理器执行时,实现本技术实施例提供的方法。
16.本技术实施例提供一种计算机程序产品,包括计算机程序或指令,所述计算机程序或指令被处理器执行时实现本技术实施例提供的方法。
17.本技术实施例具有以下有益效果:在获取到待处理图像之后,首先利用训练好的第一模型对所述待处理图像进行预测处理,得到第一关键点集合,然后再基于所述第一关键点集合从所述待处理图像中确定目标区域图像,并利用训练好的第二模型对所述目标区域图像进行预测处理,得到第二关键点集合,所述第一关键点集合为所述第二关键点集合的子集,也就是说,第一关键点集合为稀疏关键点,第二关键点集合为稠密关键点,最后基于所述第二关键点集合对所述目标
区域图像进行特效处理,得到处理后的图像。由于在确定待处理图像中的关键点时,是利用两个级联的模型进行预测确定的,能够解决用一个模型确定关键点所带来的数据耦合问题,并且能够提升确定出的关键点的精度,从而进一步提高图像处理的精确度。
附图说明
18.图1是相关技术中人脸眼部稀疏关键点和稠密关键点的示意图;图2是本技术实施例提供的图像处理系统架构的网络架构示意图;图3是本技术实施例提供的终端400的结构示意图;图4为本技术实施例提供的图像处理方法的一种实现流程示意图;图5a为本技术实施例提供的训练第一模型的实现流程示意图;图5b为本技术实施例提供的训练第二模型的实现流程示意图;图6为本技术实施例提供图像处理方法的另一种实现流程示意图;图7为本技术实施例提供的眼部稀疏关键点的示意图;图8为本技术实施例提供的眼部稠密关键点的示意图;图9为本技术实施例提供的第一个模型的训练过程实现流程图;图10为对训练图片进行对齐和增强模块的效果示意图;图11为对眼部图片进行对齐和增强模块的效果示意图;图12为本技术实施例提供的利用模型进行关键点预测的实现流程示意图;图13为利用相关技术中的图像处理方法进行眼妆处理的效果示意图;图14为利用本技术实施例提供的图像处理方法进行眼妆处理的效果示意图。
具体实施方式
19.为了使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术作进一步地详细描述,所描述的实施例不应视为对本技术的限制,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本技术保护的范围。
20.在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。
21.在以下的描述中,所涉及的术语“第一\第二\第三”仅仅是是区别类似的对象,不代表针对对象的特定排序,可以理解地,“第一\第二\第三”在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本技术实施例能够以除了在这里图示或描述的以外的顺序实施。
22.除非另有定义,本文所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本技术实施例的目的,不是旨在限制本技术。
23.为了更好地理解本技术实施例提供的图像处理方法,首先对相关技术中的图像处理方法及存在的缺点进行说明。
24.在本技术实施例中,以对图像中的眼部区域进行特效处理为例进行说明。在相关技术中,首先通过一个模型直接预测人脸的106个关键点。其中,人脸106个关键点中眼部的
关键点如图1中的101所示,数目不多较为稀疏,达不到美妆精度的要求,因此相关技术中,还可以用一个模型预测出人脸的240个稠密关键点,其中人脸240个关键点中眼部关键点如图1中的102所示。在确定出眼部关键点后,基于眼部关键点对眼部区域进行特效处理。
25.在相关技术中,通过一个模型直接回归人脸所有关键点,会存在数据耦合的问题,而该问题主要的原因是数据分布多样性不足导致。例如:人脸数据大多都是双闭眼的情况,那么一个模型的方案遇到单闭眼时会输出双闭眼的关键点。采用一个模型的方案往往需要花费极大的人力去收集多样的数据,因此这种方案虽然简单,但是在精度上无法满足眼部美妆特效的需求。
26.本技术实施例提供一种图像处理方法、装置、设备和计算机可读存储介质,能够提高图像处理的精度,下面说明本技术实施例提供的计算机设备的示例性应用,本技术实施例提供的设备可以实施为笔记本电脑,平板电脑,台式计算机,机顶盒,移动设备(例如,移动电话,便携式音乐播放器,个人数字助理,专用消息设备,便携式游戏设备)等各种类型的用户终端,也可以实施为服务器。下面,将说明设备实施为终端时示例性应用。
27.参见图2,图2是本技术实施例提供的图像处理系统100的网络架构示意图,如图2所示,该网络架构包括:服务器200、网络300和终端400。其中,终端400通过网络300连接服务器200,网络300可以是广域网或者局域网,又或者是二者的组合。
28.终端400可以安装有各种应用程序,例如拍照应用程序、视频观看应用程序、即时通讯应用程序以及图像处理应用程序等。本技术实施例提供的图像处理方法可以是以插件的形式作为拍照应用程序、直播应用程序或者图像处理应用程序中的附加功能,用于进行面部图像美颜。
29.当终端400接收到进行图像处理的操作指令,且基于该操作指令确定是利用本技术实施例提供的图像处理方法进行图像处理时,获取到待处理图像后,获取训练好的第一模型和训练好的第二模型,该训练好的第一模型和训练好的第二模型可以是从服务器200获取的,然后再利用所述训练好的第一模型对所述待处理图像进行预测处理,得到第一关键点集合,并基于所述第一关键点集合从所述待处理图像中确定目标区域图像;之后利用所述训练好的第二模型对所述目标区域图像进行预测处理,得到第二关键点集合,所述第一关键点集合为所述第二关键点集合的子集;最后基于所述第二关键点集合对所述目标区域图像进行特效处理,得到处理后的图像。
30.在一些实施例中,服务器200可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、cdn、以及大数据和人工智能平台等基础云计算服务的云服务器。终端400可以是智能手机、平板电脑、笔记本电脑、台式计算机、智能音箱、智能手表、车载智能终端等,但并不局限于此。终端以及服务器可以通过有线或无线通信方式进行直接或间接地连接,本技术实施例中不做限制。
31.参见图3,图3是本技术实施例提供的终端400的结构示意图,图3所示的终端400包括:至少一个处理器410、存储器450、至少一个网络接口420和用户接口430。终端400中的各个组件通过总线系统440耦合在一起。可理解,总线系统440用于实现这些组件之间的连接通信。总线系统440除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图3中将各种总线都标为总线系统440。
32.处理器410可以是一种集成电路芯片,具有信号的处理能力,例如通用处理器、数字信号处理器(dsp,digital signal processor),或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等,其中,通用处理器可以是微处理器或者任何常规的处理器等。
33.用户接口430包括使得能够呈现媒体内容的一个或多个输出装置431,包括一个或多个扬声器和/或一个或多个视觉显示屏。用户接口430还包括一个或多个输入装置432,包括有助于用户输入的用户接口部件,比如键盘、鼠标、麦克风、触屏显示屏、摄像头、其他输入按钮和控件。
34.存储器450可以是可移除的,不可移除的或其组合。示例性的硬件设备包括固态存储器,硬盘驱动器,光盘驱动器等。存储器450可选地包括在物理位置上远离处理器410的一个或多个存储设备。
35.存储器450包括易失性存储器或非易失性存储器,也可包括易失性和非易失性存储器两者。非易失性存储器可以是只读存储器(rom,read only memory),易失性存储器可以是随机存取存储器(ram,random access memory)。本技术实施例描述的存储器450旨在包括任意适合类型的存储器。
36.在一些实施例中,存储器450能够存储数据以支持各种操作,这些数据的示例包括程序、模块和数据结构或者其子集或超集,下面示例性说明。
37.操作系统451,包括用于处理各种基本系统服务和执行硬件相关任务的系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务;网络通信模块452,用于经由一个或多个(有线或无线)网络接口420到达其他计算设备,示例性的网络接口420包括:蓝牙、无线相容性认证(wifi)、和通用串行总线(usb,universal serial bus)等;呈现模块453,用于经由一个或多个与用户接口430相关联的输出装置431(例如,显示屏、扬声器等)使得能够呈现信息(例如,用于操作外围设备和显示内容和信息的用户接口);输入处理模块454,用于对一个或多个来自一个或多个输入装置432之一的一个或多个用户输入或互动进行检测以及翻译所检测的输入或互动。
38.在一些实施例中,本技术实施例提供的装置可以采用软件方式实现,图3示出了存储在存储器450中的图像处理装置455,其可以是程序和插件等形式的软件,包括以下软件模块:第一获取模块4551、第一预测模块4552、第一确定模块4553、第二预测模块4554和特效处理模块4555,这些模块是逻辑上的,因此根据所实现的功能可以进行任意的组合或进一步拆分。将在下文中说明各个模块的功能。
39.在另一些实施例中,本技术实施例提供的装置可以采用硬件方式实现,作为示例,本技术实施例提供的装置可以是采用硬件译码处理器形式的处理器,其被编程以执行本技术实施例提供的图像处理方法,例如,硬件译码处理器形式的处理器可以采用一个或多个应用专用集成电路(asic,application specific integrated circuit)、dsp、可编程逻辑器件(pld,programmable logic device)、复杂可编程逻辑器件(cpld,complex programmable logic device)、现场可编程门阵列(fpga,field-programmable gate array)或其他电子元件。
40.在一些实施例中,终端或服务器可以通过运行计算机程序来实现本技术实施例提供的图像处理方法。举例来说,计算机程序可以是操作系统中的原生程序或软件模块;可以是本地(native)应用程序(app,application),即需要在操作系统中安装才能运行的程序,如直播app、视频观看app或者即时通信app;也可以是小程序,即只需要下载到浏览器环境中就可以运行的程序;还可以是能够嵌入至任意app中的小程序。总而言之,上述计算机程序可以是任意形式的应用程序、模块或插件。
41.将结合本技术实施例提供的终端的示例性应用和实施,说明本技术实施例提供的图像处理方法。
42.本技术实施例提供一种图像处理方法,应用于计算机设备,该计算机设备可以是终端,也可以是服务器,在本技术实施例中以计算机设备为终端为例进行说明。图4为本技术实施例提供的图像处理方法的一种实现流程示意图,以下将结合图4示出的步骤对本技术实施例提供的图像处理方法进行说明。
43.步骤s101,获取待处理图像、训练好的第一模型和训练好的第二模型。
44.在本技术实施例中,获取待处理图像可以是获取终端的图像采集设备实时采集到的图像,或者是获取图像采集设备采集到的视频中的各个视频帧图像,此时待处理图像为真实的人脸图像,在一些实施例中,获取待处理图像可以是获取终端从网络中下载到本地的图像或视频,也可以是获取通过即时通讯应用程序接收到的图像,此时待处理图像可以是真实的人脸图像,也可以是卡通人物图像。
45.训练好的第一模型和训练好的第二模型可以是神经网络模型,也可以是深度学习网络模型、卷积网络模型等。第一模型和第二模型的训练过程可以是由服务器实现的,在实现时可以是终端从服务器获取训练好的第一模型和训练好的第二模型。
46.步骤s102,利用所述训练好的第一模型对所述待处理图像进行预测处理,得到第一关键点集合。
47.在本技术实施例中,第一模型可以是轻量级的神经网络模型,例如可以是mobilenet系列神经网络模型:mobilenetv2、mobilenetv1、mobilenetv3等等,当然第一模型还可以是其他类型的神经网络模型,在本技术实施例中并不对第一模型的类型进行限定。
48.以第一模型为mobilenetv2为例进行说明。该步骤在实现时,该训练好的第一模型首先将输入的低维压缩表示扩展到高维,然后使用轻量级深度卷积做过滤,最后用线性卷积将特征投回低维表示,从而得到第一关键点集合。
49.在本技术实施例中,第一关键点集合可以是面部五官中某一器官对应的关键点,例如可以是眼部区域对应的关键点,或者是眉毛区域对应的关键点,也可以是耳朵区域对应的关键点。第一关键点集合中包括各个第一关键点以及各个第一关键点的位置信息。
50.步骤s103,基于所述第一关键点集合从所述待处理图像中确定目标区域图像。
51.该步骤在实现,可以基于第一关键点集合中各个第一关键点的位置信息,连接相邻的各个第一关键点,从而从待处理图像中确定目标区域图像。
52.步骤s104,利用所述训练好的第二模型对所述目标区域图像进行预测处理,得到第二关键点集合。
53.这里,第一关键点集合为所述第二关键点集合的子集,也即第一关键点为稀疏关
键点,第二关键点集合为稠密关键点。第一关键点集合用于初步定为要进行特效处理的部位的位置。第二关键点集合用于对目标区域图像进行特效处理。
54.该步骤在实现时,将目标区域图像作为训练好的第二模型的输入,利用训练好的第二模型对目标区域图像进行预测处理,得到目标区域图像的第二关键点集合。在本技术实施例中,第二模型也可以为轻量级神经网络模型,并且第二模型和第一模型可以是相同结构的神经网络模型,例如都为mobilenetv2模型,也可以是结构不同的神经网络模型,例如第一模型为mobilenetv1模型,第二模型为mobilenetv2,在本技术实施例中对此不作限定。
55.步骤s105,基于所述第二关键点集合对所述目标区域图像进行特效处理,得到处理后的图像。
56.该步骤在实现时,可以按照预设的特效处理算法基于第二关键点集合对目标区域图像进行特效处理,从而得到处理后的图像。例如特效处理算法为大眼特效算法,那么在实现时,可以利用第二关键点集合中各个第二关键点的位置信息,对目标区域图像进行三角剖分处理,然后再对利用三角剖分后得到的多个三角面片进行局部缩放处理,确定每个第二关键点缩放后对应的各个更新后的第二关键点,再将更新后的第二关键点确定出更新后的目标区域图像,并确定更新后的目标区域图像中各个像素点的像素值,从而实现对目标区域图像的特效处理,得到处理后的图像。
57.在本技术实施例提供的图像处理方法,在获取到待处理图像之后,首先利用训练好的第一模型对所述待处理图像进行预测处理,得到第一关键点集合,然后再基于所述第一关键点集合从所述待处理图像中确定目标区域图像,并利用训练好的第二模型对所述目标区域图像进行预测处理,得到第二关键点集合,所述第一关键点集合为所述第二关键点集合的子集,也就是说,第一关键点集合为稀疏关键点,第二关键点集合为稠密关键点,最后基于所述第二关键点集合对所述目标区域图像进行特效处理,得到处理后的图像。由于在确定待处理图像中的关键点时,是利用两个级联的模型进行预测确定的,能够解决用一个模型确定关键点所带来的数据耦合问题,并且能够提升确定出的关键点的精度,从而进一步提高图像处理的精确度。
58.在一些实施例中,所述目标区域图像包括对称的第一目标子区域图像和第二目标子区域图像,上述步骤s104“利用所述训练好的第二模型对所述目标区域图像进行预测处理,得到第二关键点集合”,可以通过以下步骤实现:步骤s1041,利用所述训练好的第二模型对所述第一目标子区域图像进行预测处理,得到第一预测点集合。
59.在本技术实施例中,目标区域图像可以是眼睛所在区域的图像、鼻子所在区域的图像、眉毛所在图像的区域、嘴巴所在区域的图像、耳朵所在的区域图像等。当目标区域图像为眼睛所在区域的图像、眉毛所在区域的图像或者耳朵所在区域的图像时,目标区域图像包括对称的两个子图像:第一目标子区域图像和第二目标子区域图像,例如第一目标子区域图像为左眼所在区域的图像,第二目标子区域图像为右眼所在图像的区域;或者第一目标子区域图像为左边眉毛所在区域的图像,第二目标子区域图像为右边眉毛所在区域的图像。此时,训练好的第二模型可以仅对第一目标子区域图像进行预测处理,得到第一目标子区域图像对应的第一预测点集合。
60.在一些实施例中,当该图像处理方法是对包括对称的两个目标子图像的目标区域图像进行特效处理时,那么训练第二模型时,可以是仅仅利用训练图像中的第一目标子区域图像对第二模型进行训练。
61.步骤s1042,对所述第二目标子区域图像进行翻转处理,得到处理后的第二目标子区域图像。
62.由于目标区域图像为面部区域图像中的一部分,因此如果目标区域图像中包括对称的第一目标子区域图像和第二目标子区域图像,那么第一目标子区域图像和第二目标子区域图像一般为左右对称,例如,两个眼睛是左右对称的、两个眉毛也是左右对称的。那么为了能够使得训练好的第二模型能够准确的预测出第二目标子区域图像中的关键点,需要对第二目标子模型进行左右翻转处理,从而得到处理后的第二目标子区域图像。
63.步骤s1043,利用所述训练好的第二模型对所述处理后的第二目标子区域图像进行预测处理,得到第二预测点集合。
64.步骤s1044,将所述第一预测点集合和所述第二预测点集合的并集确定为所述第二关键点集合。
65.在上述步骤s1041至步骤s1044中,对于包括两个对称子区域的目标区域图像来说,利用训练好的第二模型对其中的第一目标子区域图像进行预测处理,得到对应的第一预测点集合,然后对第二目标子区域图像进行翻转处理,利用训练好的第二模型对翻转处理后的第二目标子区域图像进行预测处理,得到第二预测点集合,如此,终端中只用获取用于对第一目标子区域图像进行预测处理的第二模型即可完成对第一目标子区域图像和第二目标子区域图像的预测过程,而无需再获取对第二目标子区域图像进行预测处理的模型,能够降低模型所占用的终端存储空间。
66.在一些实施例中,在步骤s101之前可以通过图5a所示的步骤s001至步骤s005得到训练好的第一模型,以下结合图5a对训练第一模型的实现流程进行说明。
67.步骤s001,获取预设的第一模型和训练数据。
68.其中,训练数据包括多个训练图像和所述训练图像中的标注关键点集合,训练图像中的标注关键点集合包括整个面部区域的标注关键点。所述标注关键点集合包括第一标注关键点子集合。也就是说第一标注关键点子集合中的关键点数量小于标注关键点集合中的关键点数量,也即第一标注关键点子集合中包括的是标注出的稀疏关键点,标注关键点集合中包括的是标注出的稠密关键点。
69.步骤s002,对所述训练图像进行对正和增强处理,得到处理后的训练图像。
70.该步骤在实现时,可以首先利用训练图像和参考图像计算仿射矩阵,并利用仿射矩阵对训练图像进行对正处理,得到对正后的训练图像;然后再利用对正后的训练图像的中心坐标、旋转角度和缩放因子确定增强矩阵,利用增强矩阵对处理后的训练图像进行增强处理,得到处理后的训练图像。
71.步骤s003,利用所述预设的第一模型对所述处理后的训练图像进行预测处理,得到所述处理后的训练图像对应的预测关键点。
72.这里,将处理后的训练图像作为预设的第一模型的输入,利用第一模型对处理后的训练图像进行预测处理,得到处理后的训练图像对应的预测关键点。在本技术实施例中,该步骤得到的处理后的训练图像对应的预测关键点为稀疏关键点。
73.步骤s004,基于各个处理后的训练图像的预测关键点和所述第一标注关键点子集合对所述第一模型进行训练,得到训练好的第一模型。
74.这里,可以基于各个处理后的训练图像的预测关键点、第一标注关键点子集合和预设的损失函数(例如可以是l1损失函数),确定预测关键点和第一标注关键点子集合之间的差异值,然后基于该差异值对第一模型进行反向传播训练,也即对第一模型的模型参数进行调整,从而得到训练好的第一模型。
75.在一些实施例中,上述步骤s002“对所述训练图像进行对正和增强处理,得到处理后的训练图像”,可以通过以下步骤实现:步骤s0021,获取参考图像中参考关键点集合。
76.参考图像也即标准面部图像,标准面部图像是指面部正对前方,且未发生倾斜的图像。参考图像中的参考关键点集合包括参考图像(标准面部图像)中的各个参考关键点。
77.步骤s0022,基于所述训练图像的标注关键点集合和所述参考关键点集合,确定用于进行对正处理的仿射矩阵。
78.在实现时,可以通过计算来确定仿射矩阵,其中,仿射矩阵为,仿射矩阵由4个参数表示,这4个参数可以通过最小二乘法求解得到。
79.步骤s0023,利用所述仿射矩阵对所述训练图像进行对正处理,得到对正后的训练图像。
80.利用所述仿射矩阵对所述训练图像进行对正处理在实现时,可以是将训练图像对应的像素矩阵与仿射矩阵进行乘积运算,得到的乘积结果也即为对正后的训练图像。
81.步骤s0024,基于所述对正后的训练图像的中心坐标、旋转角度和缩放因子确定增强矩阵。
82.在本技术实施例中,旋转角度可以通过公式(1-1)确定:(1-1);其中,rot_std是超参数,一般可以设置为10度。[-45,45]表示旋转范围。图像缩放因子,可以利用第一模型的网络输入大小、控制缩放因子的变量以及人脸包围框长宽中的最大值根据计算得出,其中,maxhw是人脸包围框的长宽中的最大值,netinputsize为网络输入大小,一般128*128,sc是控制放缩因子的变量,sc可以通过公式(1-2)确定:
ꢀꢀꢀꢀꢀꢀꢀ
(1-2);其中,scale_std是超参数,在实现时可以取0.05,randn()为取随机数的函数。
[0083]
步骤s0025,利用所述增强矩阵对所述对正后的训练图像进行增强处理,得到处理后的训练图像。
[0084]
与步骤s0023的实现过程类似,利用所述增强矩阵对所述对正后的训练图像进行增强处理,在实现时,可以是将对正后的训练图像与增强矩阵进行乘积运算,得到的乘积结果也即为处理后的训练图像。
[0085]
通过上述步骤s0021至步骤s0025,能够实现对训练图像进行对正和增强的处理过程,从而使得处理后的训练图像中的面部区域图像是正面且清晰的面部图像,从而使得在训练过程中提高训练效率和训练好的模型的预测准确性。
[0086]
在一些实施例中,在步骤s101之前可以通过如图5b所示的步骤s011至步骤s015得到训练好的第二模型,以下结合图5b对训练第二模型的实现流程进行说明。
[0087]
步骤s011,获取预设的第二模型和训练数据。
[0088]
所述训练数据包括多个训练图像和所述训练图像中的标注关键点集合。训练图像中的标注关键点集合包括整个面部区域各个部位的标注关键点。该标注关键点集合中包括第一标注关键点子集合,第一标注关键点子集合中也是包括整个面部各个部位的关键点,但是第一标注关键点子集合为该标注关键点集合的子集,因此第一标注关键点子集合中包括的是稀疏关键点,标注关键点集合中包括的是稠密关键点。
[0089]
步骤s012,基于各个训练图像的标注关键点集合从所述各个训练图像中确定出训练区域图像。
[0090]
该步骤在实现时,从各个训练图像的标注关键点集合中确定出目标部位对应的第一目标关键点集合,然后连接各个训练图像的第一目标关键点集合中相邻的关键点得到各个训练图像中的训练区域图像,此时也即将相邻的稠密关键点连接,得到各个训练区域图像,从而保证训练区域图像的准确性更高。
[0091]
例如,目标部位为眼睛时,可以从各个训练图像的标注关键点集合中确定出眼睛部位的第一目标关键点集合,第一目标关键点集合中包括的可以是眼睛部位(左眼和右眼)的稠密关键点,也可以是左眼的稠密关键点。该步骤在实现时,可以将第一目标关键点集合中相邻的关键点连接,从而确定出各个训练图像中眼睛部位对应的训练区域图像。
[0092]
在一些实施例中,也可以是从各个训练图像的第一标注关键点子集合中确定目标部位对应的第二目标关键点集合,然后连接第二目标关键点集合中的相邻关键点得到各个训练图像的训练图像图像,也即将相邻的稀疏关键点连接,得到各个训练区域图像,如此能够降低确定训练区域图像的复杂度,提高处理效率。
[0093]
步骤s013,对所述训练区域图像进行对正和增强处理,得到处理后的训练区域图像。
[0094]
该步骤在实现时,可以获取参考图像以及参考图像中的目标部位对应的参考关键点,然后基于训练区域图像对应的关键点集合和参考图像中目标部位对应的参考关键点集合确定出仿射矩阵和增强矩阵,然后利用仿射矩阵和增强矩阵对训练区域图像进行对正和增强处理,得到处理后的训练区域图像。
[0095]
在一些实施例中,还可以基于上述的步骤s0021至步骤s0025获取到处理后的训练图像,然后将处理后的训练图像中目标部位对应的区域图像确定为训练区域图像。
[0096]
步骤s014,利用所述预设的第二模型对所述处理后的训练区域图像进行预测处理,得到所述处理后的训练区域图像对应的预测关键点。
[0097]
这里,将处理后的训练区域图像作为预设的第二模型的输入,利用第二模型对处理后的训练区域图像进行预测处理,得到处理后的训练区域图像对应的预测关键点。在本技术实施例中,该步骤得到的处理后的训练区域图像对应的预测关键点为稠密关键点。
[0098]
步骤s015,基于各个处理后的训练区域图像的预测关键点和所述标注关键点集合对所述第二模型进行训练,得到训练好的第二模型。
[0099]
在实现时,可以基于各个处理后的训练区域图像的预测关键点、标注关键点集合中目标部位对应的标注关键点和预设的损失函数(例如可以是l1损失函数),确定预测关键点和目标部位对应的标注关键点之间的差异值,然后基于该差异值对第二模型进行反向传播训练,也即对第二模型的模型参数进行调整,从而得到训练好的第二模型。
[0100]
在一些实施例中,在训练第一模型和第二模型之前,可以通过以下步骤获取训练数据:步骤s201,获取多个人工标注的训练图像和各个人工标注的训练图像的人工标注信息。
[0101]
在本技术实施例中,人工标注的训练图像中包括面部图像,并且人工标注的训练图像的人工标注信息包括人工标注出的面部区域图像的关键点,该关键点可以为稠密关键点。
[0102]
步骤s202,利用所述各个人工标注的训练图像和所述各个人工标注的训练图像的人工标注信息对预设的标注模型进行训练,得到训练好的标注模型。
[0103]
这里,预设的标注模型为神经网络模型,例如可以为深度学习神经网络模型、卷积神经网络模型等。利用预设的标注模型对各个人工标注的训练图像进行预测处理,得到各个人工标注的训练图像的预测关键点,然后利用预测关键点、各个人工标注的训练图像的人工标注信息和预设的损失函数,确定预测关键点和人工标注信息的差异值,利用该差异值对标注模型的参数进行调整,直至得到训练好的标注模型。
[0104]
步骤s203,获取多个待标注的训练图像。
[0105]
待标注的训练图像中包括面部区域图像,但未标注出面部区域图像的关键点。
[0106]
步骤s204,利用所述训练好的标注模型对所述多个待标注的训练图像进行预测处理,得到所述多个待标注的训练图像的预测标注信息。
[0107]
步骤s205,确定待标注的训练图像的预测标注信息是否满足标注条件。
[0108]
在实现时,在确定出待标注的训练图像的预测标注信息后,可以输出具有预测标注信息的待标注训练图像,而确定待标注的训练图像的预测标注信息是否满足标注条件可以是确定是否接收到满足标注条件的确认操作,当接收到该确认操作,确定待标注的训练图像的预测标注信息满足标注条件,进入步骤s206;当未接收到确认操作时,确定待标注的训练图像不满足标注条件,进入步骤s207。
[0109]
步骤s206,将所述各个人工标注的训练图像、所述各个人工标注的训练图像的人工标注信息、所述待标注的训练图像和所述待标注的训练图像的预测标注信息确定为训练
数据。
[0110]
步骤s207,将所述待标注的训练图像确定为目标训练图像,获取针对所述目标训练图像的预测标注信息的更新操作。
[0111]
当确定待标注的训练图像不满足标注条件时,说明待标注的训练图像中的预测标注信息中存在需要进行调整的预测关键点,此时可以由人工对利用标注模型输出的部分预测关键点进行调整。在本技术实施例中,针对目标训练图像的预测标注信息的更新操作可以是对目标训练图像中的预测关键点的移动操作。
[0112]
步骤s208,响应于所述更新操作,对所述目标训练图像的预测标注信息进行更新,得到更新后的预测标注信息。
[0113]
步骤s209,将所述各个人工标注的训练图像、所述各个人工标注的训练图像的人工标注信息、满足标注条件的待标注的训练图像、所述满足标注条件的待标注的训练图像的预测标注信息、所述目标训练图像和所述目标训练图像的更新后的预测标注信息确定为训练数据。
[0114]
通过上述步骤s201至步骤s209,在获取用于训练第一模型和第二模型的训练数据时,只需要人工标注出少量的训练图像,然后利用人工标注出的训练图像先训练出自动标注图像的标注模型,进而利用训练好的标注模型对待标注的训练图像进行自动标注,当确定需要对自动标注出的标注关键点进行调整时,则进行人工调整,最终将人工标注的训练图像以及更新后的自动标注出的训练图像确定为训练数据,如此不仅能够提高标注速度,还能有效地提升训练图像中关键点标注的质量和一致性,如此迭代直到数据量和多样性基本满足需求即可。
[0115]
基于前述的实施例,本技术实施例再提供一种图像处理方法,应用于图2所示的网络架构,图6为本技术实施例提供图像处理方法的另一种实现流程示意图,如图6所示,该流程包括:步骤s301,终端响应于接收到的图像处理指令,获取原始图像。
[0116]
步骤s302,终端对所述原始图像进行人脸检测,得到检测结果。
[0117]
该检测结果能够表征原始图像中是否包括区域面部图像,其中确定检测结果表征原始图像中包括面部区域图像时,说明可以利用本技术实施例提供的图像处理方法进行图像处理,此时进入步骤s303;如果确定检测结果表征原始图像中未包括面部区域图像时,说明不能利用本技术实施例提供的图像处理方法进行图像处理,此时结束流程。
[0118]
步骤s303,确定所述检测结果表征所述原始图像中包括人脸区域图像,将原始图像确定为待处理图像。
[0119]
步骤s304,终端从服务器获取训练好的第一模型和训练好的第二模型。
[0120]
训练好的第一模型和训练好的第二模型可以是神经网络模型,也可以是深度学习网络模型、卷积网络模型等。第一模型和第二模型的训练过程可以是由服务器实现的。
[0121]
步骤s305,终端利用所述训练好的第一模型对所述待处理图像进行预测处理,得到第一关键点集合。
[0122]
该步骤在实现时,该训练好的第一模型首先将输入的低维压缩表示扩展到高维,然后使用轻量级深度卷积做过滤,最后用线性卷积将特征投回低维表示,从而得到第一关键点集合。
[0123]
在本技术实施例中,第一关键点集合可以是面部五官中某一器官对应的关键点,例如可以是眼部区域对应的关键点,或者是眉毛区域对应的关键点,也可以是耳朵区域对应的关键点。第一关键点集合中包括各个第一关键点以及各个第一关键点的位置信息。
[0124]
步骤s306,终端基于所述第一关键点集合从所述待处理图像中确定目标区域图像。
[0125]
步骤s307,终端利用所述训练好的第二模型对所述目标区域图像进行预测处理,得到第二关键点集合。
[0126]
所述第一关键点集合为所述第二关键点集合的子集。
[0127]
步骤s308,终端基于所述第二关键点集合对所述目标区域图像进行特效处理,得到处理后的图像。
[0128]
需要说明的是,本技术实施例中与其他实施例相同的技术术语和步骤的实现过程,可参考其他实施例。
[0129]
在本技术实施例提供的图像处理方法中,终端在接收到进行图像处理的操作指令后,首先对获取到的图像进行人脸检测,并且在确定图像中包含面部区域图像时,再将该图像确定为待处理图像,如此能够保证待处理图像中是包含面部区域图像的,从而能够保证利用本技术实施例提供的图像处理方法对待处理图像进行处理的准确性。之后首先利用训练好的第一模型对所述待处理图像进行预测处理,得到第一关键点集合,然后再基于所述第一关键点集合从所述待处理图像中确定目标区域图像,并利用训练好的第二模型对所述目标区域图像进行预测处理,得到第二关键点集合,所述第一关键点集合为所述第二关键点集合的子集,也就是说,第一关键点集合为稀疏关键点,第二关键点集合为稠密关键点,最后基于所述第二关键点集合对所述目标区域图像进行特效处理,得到处理后的图像。由于在确定待处理图像中的关键点时,是利用两个级联的模型进行预测确定的,能够解决用一个模型确定关键点所带来的数据耦合问题,并且能够提升确定出的关键点的精度,从而进一步提高图像处理的精确度。
[0130]
下面,将说明本技术实施例在一个实际的应用场景中的示例性应用。
[0131]
本技术实施例提供一种图像处理方法,在本技术实施例中以该图像处理方法应用于眼部区域为例进行说明。该图像处理方法可以是针对移动端实时的眼部关键点的眼妆特效方案。本技术实施例提供的图像处理方法可以利用以下三个步骤实现:步骤s501,数据定义和标注。
[0132]
步骤s502,模型训练。
[0133]
步骤s503,推理逻辑。
[0134]
以下对各个步骤的实现过程进行说明。
[0135]
s501,数据定义和标注。
[0136]
在本技术实施例中,会分别定义稀疏和稠密两种类型的眼部关键点,其中稀疏眼部点定义如图7所示:左眼和右眼均由9个点构成,其中8个点分布在眼部轮廓线上,1个点分布在瞳孔中心,稀疏的点位仅提供眼部的基本定位。仅用8个眼部轮廓点无法较好地表达眼部轮廓曲线,因此基于稀疏点位无法达到眼妆贴合的精度需求。在本技术实施例中,在每两个稀疏点间新插入2个点构成如图8下稠密眼部关键点的定义:左眼和右眼均由27个点构成,并且左眼上排1~11号点所处的位置是眼睫毛所在的黑线位置,而下排13~23号点所处位
置是眼白和肉的分界线上。
[0137]
严格的定义关键点的语义是非常重要的,不仅可以保证人工标注的一致性高,还能降低模型学习的难度提升模型精度。定义良好的眼部关键点是提升眼妆特效的关键,常常需要美妆工程师和视觉算法工程师不断联调试错,而在本技术实施例提供的稀疏点和稠密点的定义是经过许多效果验收、打磨和对比竞品总结出来的一套眼部关键点定义。另外针对瞳孔新增24,26,51,53号点初步给出瞳孔定位,是支持后续美瞳特效的点位。
[0138]
在本技术实施例中,稀疏关键点是稠密关键点的子集,因此在进行数据标注时能极大地降低复杂度,仅需要标注稠密关键点即可得到稀疏关键点。
[0139]
为了继续加速标注速度和节省标注成本,在本技术实施例中,设计了一种基于热图的眼部关键点模型方案用于预打标。实现步骤如下:步骤s5011,人工标注约几千张的眼部关键点数据。
[0140]
步骤s5012,训练热图的眼部关键点模型,并用该模型预测未标注的眼部图片。
[0141]
步骤s5013,人工修复预标注的眼部图片,并加入训练集。
[0142]
步骤s5014,重复步骤s5012,s5013。
[0143]
该标注方案不仅可以提高标注的速度,还能有效地提升眼部关键点标注的质量和一致性,如此迭代直到数据量和多样性基本满足需求即可。
[0144]
步骤s502,模型训练。
[0145]
在相关技术中,采用一个模型的方案完全回归稠密眼部关键点会存在部件耦合的问题。为了解决该问题,在本技术实施例中,采用级联的方案,即存在两个模型。第一个模型输入人脸图片,会预测眼部稀疏点,初步定位眼部的位置。基于稀疏点裁出眼部区域的图像作为第二个模型的输入,预测眼部稠密关键点,这种级联的方案既可以解决数据耦合问题,还能极大的提升眼部关键点的精度。本技术实施的第一个模型采用的结构是mobilenetv2_025,将1000类的分类层改为回归关键点坐标,图9为本技术实施例提供的第一个模型的训练过程实现流程图,以下结合图9对各个步骤进行说明。
[0146]
步骤s5021,获取训练图片。
[0147]
该训练图片为进行标注的图片。
[0148]
步骤s5022,对训练图片进行随机水平翻转。
[0149]
步骤s5023,对正人脸块。
[0150]
步骤s5024,增强人脸块。
[0151]
步骤s5025,获取预设的第一模型。
[0152]
步骤s5026,利用第一模型预测关键点。
[0153]
步骤s5027,计算损失。
[0154]
在实现时,利用预测关键点和标注关键点计算损失,以对第一模型进行训练。
[0155]
由于第一模型在训练过程中接收到的图像是对正人脸块区图进行增强后的图像。由于在训练图片中已经标注好了人脸关键点,k为关键点的个数,假设标准脸关键点,对正操作即计算如下仿射矩阵,使得:
仿射矩阵由4个参数表示,这4个参数可以通过最小二乘法求解得到,而它的输入是需对正的人脸和标准脸的关键点。训练中还需要在尺度,旋转和平移上增强对齐操作,因此对正仿射矩阵m,需要再乘尺度矩阵s,旋转矩阵r和平移矩阵t。用对正矩阵m作用于人脸关键点,得到对正关键点人脸关键点,再计算出其中心,可如下计算增强矩阵a:其中,表示旋转的中心点;rot表示旋转的角度;表示图像缩放因子,maxhw是人脸包围框的长宽中的最大值,netinputsize为网络输入大小,一般128*128,sc是控制放缩因子的变量,另外旋转角度rot可以通过公式(1-1)确定:(1-1);其中,rot_std是超参数,一般可以设置为10度。[-45,45]表示旋转范围。sc可以通过公式(1-2)确定:
ꢀꢀꢀꢀꢀ
(1-2);其中,scale_std是超参数,取0.05,randn()为取随机数的函数。
[0156]
a*m仍然是仿射操作,可以在平移项中加入平移增强参数,得到公式(1-3):
ꢀꢀꢀꢀꢀ
(1-3);其中,sh为平移增强的参数,shift
std
是超参数,可以取0.039。
[0157]
x方向的平移量tx、y方向上的平移量ty可以通过下式(1-4)、(1-5)得出:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1-4);其中,sh0为sh的第一维度,也即sh的x方向分量,w为netinputsize的宽度,一般为128。
[0158]
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1-5);
其中,sh1为sh的第二维度,也即sh的y方向分量,h为netinputsize的高度,一般也为128。
[0159]
将该增强后的人脸块输入到模型中,模型预测的关键点和人工标注的关键点计算l1损失函数。图10为对训练图片进行对齐和增强模块的效果示意图:其中,1001为训练图片,1002为进行对正后得到的图片,1003为进行增强后的图片。
[0160]
第二模型的训练和第一模型类似,唯一有区别的是眼睛有2只,如果允许模型大小占用多几百kb,可采用左眼模型和右眼模型,然而移动端通常对几百kb的模型都非常敏感,在本技术实施例中只有左眼模型,右眼的关键点可以将右眼图像进行翻转当成左眼预测。第二模型的训练也会有随机翻转、对正平均左眼、增强等操作,这些基本和第一模型的训练过程类似,图11为对眼部图片进行对齐和增强模块的效果示意图:其中,1101为训练图片,1102为进行对正后得到的图片,1103为进行增强后的图片。
[0161]
图12为本技术实施例提供的利用模型进行关键点预测的实现流程示意图,如图12所示,该流程包括:步骤s5031,获取待预测图片。
[0162]
步骤s5032,对该待预测图片进行人脸检测。
[0163]
其中,如果进行人脸检测得到的检测结果表征待预测图片中包括人脸区域时,进入步骤s5033;如果检测结果表征待预测图片中不包括人脸区域时,结束流程。
[0164]
步骤s5033,利用一级稀疏点模型进行稀疏关键点预测。
[0165]
步骤s5034,基于确定出的稀疏关键点进行抠图。
[0166]
步骤s5035,利用二级稠密点模型进行稠密关键点预测。
[0167]
在上述的推理逻辑过程中,是将稀疏点模型和稠密点模型进行级联,先由一级模型预测稀疏眼部点,基于稀疏眼部点可初步定位眼睛的块图,并进行抠图处理,再将抠图处理后得到的眼部区域图像输入到二级模型得到更精准和稠密的二级模型点。
[0168]
图13为利用相关技术中的图像处理方法进行眼妆处理的效果示意图,其中1301为双眼均为睁开状态的处理效果图,1302为两只眼睛闭合的处理效果图,通过对比1301和1302可以看出,相关技术中提供的图像处理方法,在两眼均为睁开时,处理效果尚可,但是在两只眼睛闭合的处理效果不佳。
[0169]
图14为利用本技术实施例提供的图像处理方法进行眼妆处理的效果示意图,其中1401为双眼均为睁开状态的处理效果图,1402为两只眼睛闭合的处理效果图,通过对比1401和1402可以看出,利用本技术实施例提供的图像处理方法,在两眼均为睁开以及两眼闭合时,处理效果俱佳。
[0170]
可以理解的是,在本技术实施例中,涉及到用户信息的内容,例如,待处理图像等相关的数据,当本技术实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
[0171]
下面继续说明本技术实施例提供的图像处理装置455的实施为软件模块的示例性结构,在一些实施例中,如图3所示,存储在存储器450的图像处理装置455中的软件模块可以包括:第一获取模块4551,用于获取待处理图像、训练好的第一模型和训练好的第二模型;
第一预测模块4552,用于利用所述训练好的第一模型对所述待处理图像进行预测处理,得到第一关键点集合;第一确定模块4553,用于基于所述第一关键点集合从所述待处理图像中确定目标区域图像;第二预测模块4554,用于利用所述训练好的第二模型对所述目标区域图像进行预测处理,得到第二关键点集合,所述第一关键点集合为所述第二关键点集合的子集;特效处理模块4555,用于基于所述第二关键点集合对所述目标区域图像进行特效处理,得到处理后的图像。
[0172]
在一些实施例中,目标区域图像包括对称的第一目标子区域图像和第二目标子区域图像,该第二预测模块,还用于:利用所述训练好的第二模型对所述第一目标子区域图像进行预测处理,得到第一预测点集合;对所述第二目标子区域图像进行翻转处理,得到处理后的第二目标子区域图像;利用所述训练好的第二模型对所述处理后的第二目标子区域图像进行预测处理,得到第二预测点集合;将所述第一预测点集合和所述第二预测点集合的并集确定为所述第二关键点集合。
[0173]
在一些实施例中,该装置还包括:第二获取模块,用于获取预设的第一模型和训练数据,所述训练数据包括多个训练图像和所述训练图像中的标注关键点集合,所述标注关键点集合包括第一标注关键点子集合;第一处理模块,用于对所述训练图像进行对正和增强处理,得到处理后的训练图像;第三预测模块,用于利用所述预设的第一模型对所述处理后的训练图像进行预测处理,得到所述处理后的训练图像对应的预测关键点;第一训练模块,用于基于各个处理后的训练图像的预测关键点和所述第一标注关键点子集合对所述第一模型进行训练,得到训练好的第一模型。
[0174]
在一些实施例中,该第一处理模块,还用于:获取参考图像中参考关键点集合;基于所述训练图像的标注关键点集合和所述参考关键点集合,确定用于进行对正处理的仿射矩阵;利用所述仿射矩阵对所述训练图像进行对正处理,得到对正后的训练图像;基于所述对正后的训练图像的中心坐标、旋转角度和缩放因子确定增强矩阵;利用所述增强矩阵对所述对正后的训练图像进行增强处理,得到处理后的训练图像。
[0175]
在一些实施例中,该装置还包括:第三获取模块,用于获取预设的第二模型和训练数据,所述训练数据包括多个训练图像和所述训练图像中的标注关键点集合;第二确定模块,用于基于各个训练图像的标注关键点集合从所述各个训练图像中
确定出训练区域图像;第二处理模块,用于对所述训练区域图像进行对正和增强处理,得到处理后的训练区域图像;第四预测模块,用于利用所述预设的第二模型对所述处理后的训练区域图像进行预测处理,得到所述处理后的训练区域图像对应的预测关键点;第二训练模块,用于基于各个处理后的训练区域图像的预测关键点和所述标注关键点集合对所述第二模型进行训练,得到训练好的第二模型。
[0176]
在一些实施例中,该装置还包括:第四获取模块,用于获取多个人工标注的训练图像和各个人工标注的训练图像的人工标注信息;第三训练模块,用于利用所述各个人工标注的训练图像和所述各个人工标注的训练图像的人工标注信息对预设的标注模型进行训练,得到训练好的标注模型;第五获取模块,用于获取多个待标注的训练图像;第五预测模块,用于利用所述训练好的标注模型对所述多个待标注的训练图像进行预测处理,得到所述多个待标注的训练图像的预测标注信息;第三确定模块,用于当待标注的训练图像的预测标注信息满足标注条件,将所述各个人工标注的训练图像、所述各个人工标注的训练图像的人工标注信息、所述待标注的训练图像和所述待标注的训练图像的预测标注信息确定为训练数据。
[0177]
在一些实施例中,该装置还包括:第四确定模块,用于当待标注的训练图像不满足标注条件时,将所述待标注的训练图像确定为目标训练图像,获取针对所述目标训练图像的预测标注信息的更新操作;更新模块,用于响应于所述更新操作,对所述目标训练图像的预测标注信息进行更新,得到更新后的预测标注信息;第四确定模块,用于将所述各个人工标注的训练图像、所述各个人工标注的训练图像的人工标注信息、满足标注条件的待标注的训练图像、所述满足标注条件的待标注的训练图像的预测标注信息、所述目标训练图像和所述目标训练图像的更新后的预测标注信息确定为训练数据。
[0178]
在一些实施例中,该装置还包括:第六获取模块,用于获取原始图像,对所述原始图像进行人脸检测,得到检测结果;第五确定模块,用于确定所述检测结果表征所述原始图像中包括人脸区域图像,将所述原始图像确定为待处理图像。
[0179]
需要说明的是,本技术实施例针对图像处理装置的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0180]
本技术实施例提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行本技术实施例上述的图像处理方法。
[0181]
本技术实施例提供一种存储有可执行指令的计算机可读存储介质,其中存储有可执行指令,当可执行指令被处理器执行时,将引起处理器执行本技术实施例提供的图像处理方法,例如,如图4和图6示出的图像处理方法。
[0182]
在一些实施例中,计算机可读存储介质可以是fram、rom、prom、eprom、eeprom、闪存、磁表面存储器、光盘、或cd-rom等存储器;也可以是包括上述存储器之一或任意组合的各种设备。
[0183]
在一些实施例中,可执行指令可以采用程序、软件、软件模块、脚本或代码的形式,按任意形式的编程语言(包括编译或解释语言,或者声明性或过程性语言)来编写,并且其可按任意形式部署,包括被部署为独立的程序或者被部署为模块、组件、子例程或者适合在计算环境中使用的其它单元。
[0184]
作为示例,可执行指令可以但不一定对应于文件系统中的文件,可以可被存储在保存其它程序或数据的文件的一部分,例如,存储在超文本标记语言(html,hyper text markup language)文档中的一个或多个脚本中,存储在专用于所讨论的程序的单个文件中,或者,存储在多个协同文件(例如,存储一个或多个模块、子程序或代码部分的文件)中。
[0185]
作为示例,可执行指令可被部署为在一个计算设备上执行,或者在位于一个地点的多个计算设备上执行,又或者,在分布在多个地点且通过通信网络互连的多个计算设备上执行。
[0186]
以上所述,仅为本技术的实施例而已,并非用于限定本技术的保护范围。凡在本技术的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1