图像处理方法、图像处理装置、终端及可读存储介质

文档序号:9331 发布日期:2021-09-17 浏览:20次 英文

图像处理方法、图像处理装置、终端及可读存储介质

技术领域

本申请涉及影像

技术领域

,特别涉及一种图像处理方法、图像处理装置、终端及非易失性计算机可读存储介质。

背景技术

目前,通常会采用语义分割或者matting抠图等方式获取图像中的人像区域,语义分割主要是多类别的分割,分割出来的图像细节粗糙;matting抠图主要是对于一些边缘细节做了增强,增加过渡带。然而,无论采用哪一种方式都只能够获得单一的人像区域,而在对含有人像的图像进行背景虚化、美颜等图像处理时,通常需要对人体不同部分做不同的分割要求,传统的人像分割模型很难做到这一点。

发明内容

本申请实施方式提供了一种图像处理方法、图像处理装置、终端及非易失性计算机可读存储介质。

本申请实施方式提供一种图像处理方法。所述图像处理方法包括将获取的原始图像输入至分割模型,以获取至少一帧第一图像及至少一帧第二图像,所述原始图像中包含人像,所述第一图像为包括人像区域及第一背景区域的人像分割图像,所述第二图像包括部位分割图像和关联物分割图像中的至少一种,所述部位分割图像包括人体部位区域及第二背景区域,所述关联物分割图像包括关联物区域及第三背景区域;及根据所述第一图像和/或至少一帧所述第二图像,对所述原始图像进行图像处理以获取目标图像。

本申请实施方式还提供一种图像处理装置。所述图像处理装置包括输入模块及处理模块。所述图像输入模块用于将获取的原始图像输入至分割模型,以获取至少一帧第一图像及至少一帧第二图像,所述原始图像中包含有人像,所述第一图像为包括人像区域及第一背景区域的人像分割图像,所述第二图像包括部位分割图像和关联物分割图像中的至少一种,所述部位分割图像包括人体部位区域及第二背景区域,所述关联物分割图像包括关联物区域及第三背景区域。所述图像处理模块根据所述第一图像和/或至少一帧所述第二图像,对所述原始图像进行图像处理以获取目标图像。

本申请实施方式还提供一种终端。所述终端包括壳体及一个或多个处理器。一个或多个所述处理器与所述壳体结合。一个或多个所述处理器用于将获取到的原始图像输入至分割模型,以获取至少一帧第一图像及至少一帧第二图像,所述原始图像中包含有人像,所述第一图像为包括人像区域及第一背景区域的人像分割图像,所述第二图像包括部位分割图像和关联物分割图像中的至少一种,所述部位分割图像包括人体部位区域及第二背景区域,所述关联物分割图像包括关联物区域及第三背景区域;及根据所述第一图像和/或至少一帧所述第二图像,对所述原始图像进行图像处理以获取目标图像。

本申请实施方式还提供一种包含计算机程序的非易失性计算机可读存储介质。所述计算机程序被处理器执行时,使得所述处理器执行下述的图像处理方法。所述图像处理方法包括将获取的原始图像输入至分割模型,以获取至少一帧第一图像及至少一帧第二图像,所述原始图像中包含有人像,所述第一图像为包括人像区域及第一背景区域的人像分割图像,所述第二图像包括部位分割图像和关联物分割图像中的至少一种,所述部位分割图像包括人体部位区域及第二背景区域,所述关联物分割图像包括关联物区域及第三背景区域;及根据所述第一图像和/或至少一帧所述第二图像,对所述原始图像进行图像处理以获取目标图像。

本申请实施方式中的图像处理方法、图像处理装置、终端及非易失性计算机可读存储介质,通过将含有人像的原始图像预处理后输入分割模型中,分割模型能够同时输出人像分割图像、人像中不同部位的部位分割图像和/或关联物的关联物分割图像,相较于获取单一的人像区域,多种分割图像能够获取人像区域、人体部位区域和/或关联物区域,以利于后续根据人像分割图像、部位分割图像和/或关联物分割图像对原始图像进行图像处理。

本申请实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。

附图说明

本申请的上述和/或附加的方面和优点可以从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:

图1是本申请某些实施方式中图像处理方法的流程示意图;

图2是本申请某些实施方式中图像处理装置的结构示意图;

图3是本申请某些实施方式中终端的结构示意图;

图4及图5是本申请某些实施方式中图像处理方法的流程示意图;

图6是本申请某些实施方式中原始图像为横拍图的示意图;

图7是本申请某些实施方式中原始图像为竖拍图的示意图;

图8是本申请某些实施方式中将横拍图旋转为竖拍图的原理示意图;

图9至图10是本申请某些实施方式中分割模型分割预处理图像的原理示意图;

图11是本申请某些实施方式中图像处理方法的流程示意图;

图12是本申请某些实施方式中根据第一图像及第二图像获取第三图像的原理示意图;

图13至图16是本申请某些实施方式中图像处理方法的流程示意图;

图17是本申请某些实施方式中获取第一掩膜图像及第二掩膜图像的原理示意图;

图18是本申请某些实施方式中图像处理方法的流程示意图;

图19是本申请某些实施方式中获取第一掩膜图像及第二掩膜图像的原理示意图;

图20至图21是本申请某些实施方式中初始模型分割样本图像的原理示意图;

图22及图23是本申请某些实施方式中图像处理方法的流程示意图;

图24是本申请某些实施方式中获取第一图像及第二图像的原理示意图;

图25是本申请某些实施方式中非易失性计算机可读存储介质与处理器的交互示意图。

具体实施方式

下面详细描述本申请的实施方式,所述实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请的实施方式,而不能理解为对本申请的实施方式的限制。

请参阅图1,本申请实施方式提供一种图像处理方法。图像处理方法包括:

02:将获取的原始图像输入至分割模型,以获取至少一帧第一图像及至少一帧第二图像,原始图像中包含有人像,第一图像为包括人像区域及第一背景区域的人像分割图像,第二图像包括部位分割图像和关联物分割图像中的至少一种,部位分割图像包括人体部位区域及第二背景区域,关联物分割图像包括关联物区域及第三背景区域;及

03:根据第一图像和/或至少一帧第二图像,对原始图像进行图像处理以获取目标图像。

请参阅图1及图2,本申请实施方式还提供一种图像处理装置100。图像处理装置10输入模块12及处理模块13。上述图像处理方法中的步骤02可以由输入模块12执行实现,步骤03可以由处理模块13执行实现。也即是说,输入模块12用于将获取的原始图像输入至分割模型,以获取至少一帧第一图像及至少一帧第二图像,原始图像中包含有人像,第一图像为包括人像区域及第一背景区域的人像分割图像,第二图像包括部位分割图像和关联物分割图像中的至少一种,部位分割图像包括人体部位区域及第二背景区域,关联物分割图像包括关联物区域及第三背景区域;处理模块13用于根据第一图像和/或至少一帧第二图像,对原始图像进行图像处理以获取目标图像。

请参阅图1及图3,本申请实施方式还提供一种终端100,终端100包括壳体20及一个或多个处理器30,一个或多个处理器30与壳体20结合。上述图像处理方法中的步骤02及步骤03还可以由一个或多个处理器20执行实现。也即是说,一个或多个处理器30用于将获取的原始图像输入至分割模型,以获取至少一帧第一图像及至少一帧第二图像,原始图像中包含有人像,第一图像为包括人像区域及第一背景区域的人像分割图像,第二图像包括部位分割图像和关联物分割图像中的至少一种,部位分割图像包括人体部位区域及第二背景区域,关联物分割图像包括关联物区域及第三背景区域;及根据第一图像和/或至少一帧第二图像,对原始图像进行图像处理以获取目标图像。需要说明的是,终端100可以是手机、相机、笔记本电脑或是智能穿戴设备等等,下文实施例中仅以终端100为手机进行说明。

需要说明的是,上述任意一项实施例中,将获取到的原始图像输入至分割模型后,获取的第二图像可以均是部位分割图像;或者,第二图像也可以均是关联物分割图像;或者,多帧第二图像中及包括部位分割图像也包括关联物分割图像。其中,若第二图像中包括多帧部位分割图像时,每帧部位分割图像中人体部位区域可以是不同的人体部位(例如,第二图像包括两帧人体部位分割图,其中一帧部位分割图像中的人体部位区域为头发区域,另一帧部位分割图像中的人体部位区域为人脸区域)。

本申请实施例中的图像处理方法、图像处理装置10及终端100,通过将含有人像的原始图像预处理后输入分割模型中,分割模型能够同时输出人像分割图像、人像中不同部位的部位分割图像和/或关联物的关联物分割图像,相较于获取单一的人像区域,多种分割图像能够获取人像区域、人体部位区域和/或关联物区域,以利于后续根据人像分割图像、部位分割图像和/或关联物分割图像对原始图像进行图像处理。

其中,在一个例子中,终端100或图像处理装置10还可以包括成像模组40,终端100或图像处理装置10可通过成像模组40对人物进行图像采集,以获取原始图像;在另一个例子中,终端100或图像处理装置10还可以包括存储器50,存储器50中预先存储有含有人像的原始图像,终端100的处理器30可从存储器50获取原始图像;在又一个例子中,终端100或图像处理装置10也可以通过用户的输入获取含有人像的原始图像。获取原始图像的具体方法在此不作限制,获取的原始图像中均需要含有人像。

输入至分割模型的图像需要满足输入图像的要求,也即,分割模型对于输入的图像的属性可能会有一些要求,输入的图像应当符合这些要求,分割模型才能够正确处理。因此,在获取到含有人像的原始图像后,需要对原始图像进行处理之后才能输入分割模型。请参阅图4,在一些实施例中,图像处理方法还包括:

01:对原始图像进行第一预处理,以获得预处理图像;

步骤02:将预处理图像获取的原始图像输入至分割模型,以获取至少第一图像及至少一帧第二图像,包括:

021:将预处理图像输入至分割模型,以获取至少一帧第一图像及至少一帧第二图像。

请结合图2,在一些实施例中,图像处理装置100还包括第一预处理模块11。步骤01可以由第一预处理模块11执行实现,步骤021可以由输入模块12执行实现。也即是说,第一预处理模块11还用于对原始图像进行第一预处理,以获得预处理图像。输入模块12还用于将预处理图像输入至分割模型,以获取至少一帧第一图像及至少一帧第二图像。

请结合图3,在一些实施例中,步骤01及步骤021均可以由一个或多个处理器30执行实现。也即是说,处理器30还用于对原始图像进行第一预处理,以获得预处理图像;及将预处理图像输入至分割模型,以获取至少一帧第一图像及至少一帧第二图像。

由于对原始图像进行第一预处理,以获取预处理图像,且预处理图像能够满足分割模型对输入图像的要求。如此,将预处理图像输入分割模型后,分割模型能够对预处理图像进行正确处理。具体地,请参阅图1及图5,在一些实施例中,步骤01:对获取的原始图像进行第一预处理,以获得预处理图像,包括:

011:检测原始图像为横拍图还是竖拍图;

012:若原始图像为横拍图,则旋转原始图像使其变为竖拍图;及对旋转后的原始图像执行归一化处理,以获得预处理图像;

013:若原始图像为竖拍图,则对原始图像执行归一化处理,以获得预处理图像。

请结合图2,在一些实施例中,步骤011、步骤012及步骤013均可以由第一预处理模块11执行实现。也即是说,第一预处理模块11还用于检测原始图像为横拍图还是竖拍图;若原始图像为横拍图,则旋转原始图像使其变为竖拍图;及对旋转后的原始图像执行归一化处理,以获得预处理图像;若原始图像为竖拍图,则对原始图像执行归一化处理,以获得预处理图像。

请结合图3,在一些实施例中,步骤011、步骤012及步骤013均可以由一个或多个处理器30执行实现。也即是说,处理器30还用于检测原始图像横拍图还是竖拍图;若原始图像为横拍图,则旋转原始图像使其变为竖拍图;及对旋转后的原始图像执行归一化处理,以获得预处理图像;及若原始图像为竖拍图,则对原始图像执行归一化处理,以获得预处理图像。

示例地,在获取到含有人像的原始图像后,检测原始图像为横拍图还是竖拍图。需要说明的是,若终端100或图像处理装置10在拍摄当前原始图像时是处于横拍模式时,则当前原始图像为横拍图;若终端100或图像处理装置10在拍摄当前原始图像时是处于竖拍模式时,则当前原始图像为竖拍图。在一些实施例中,可通过原始图像的宽度及高度检测原始图像是横拍图还是竖拍图。例如,以终端100拍摄当前原始图像为例。如图6及图7所示,终端100包括相邻的第一侧101及第二侧102,并且第一侧101的长度比第二侧102的长度更长。第一侧101为终端100的长边,第二侧102为终端100的宽边。获取原始图像的宽度w及高度h,其中原始图像与终端100的长边平行的一侧的长度为原始图像的高度h,原始图像与终端100的宽边平行的一侧的长度为原始图像的宽度w。若原始图像的宽度w大于高度h(如图6),则该原始图像为横拍图;若原始图像的宽度w小于高度h(如图7),则该原始图像为竖拍图。

请参阅图8,当确定当前图像为横拍图时,则旋转原始图像使其变为竖拍图,并对旋转后的原始图像执行归一化处理以获得预处理图像,如此有利于分割模型能够正确处理预处理器图像。例如,在一个例子中,可以通过将旋转后的原始图像中的所有像素的像素值均除以255的方式进行归一化;在另一个例子中,也可以将旋转后的原始图像中的所有像素的像素值减去127.5的差除以127.5的方式进行归一化,在此不作限制。进一步地,在一些实施例中,将作为原始图像的横拍图旋转为竖拍图之后,先将旋转后的原始图像缩放至预设尺寸后,再对缩放后的原始图像进行归一化处理。其中预设尺寸为分割模型所需的输入图像的尺寸。

当确定当前图像为竖拍图时,直接对原始图像执行归一化处理以获得预处理图像,如此有利于分割模型能够正确处理预处理器图像。归一化处理的具体方式与上述对旋转后的原始图像进行归一化处理的具体方式相同,在此不作赘述。当然,在一些实施例中,也可以对作为原始图像的竖拍图缩放至预设尺寸后,再对缩放后的原始图像进行归一化处理。

请参阅图9,分割模型200可以包括编码器201、第一解码器202及至少一个第二解码器203。编码器201能够对输入分割模型200的预处理图像进行多次的卷积及池化以获取特征图,特征图中包含人像特征信息、及人体部位特征信息与关联物特征信息中的至少一种。第一解码器202用于根据特征图中的人像特征信息获取包含有人像区域的第一图像,并输出第一图像,第二解码器203用于根据特征图中的人体部位特征信息获取包含有对应人体部位区域的第二图像,并输出第二图像;和/或根据特征图中的特征图中的关联物特征信息获取包含有关联物区域的第二图像,并输出第二图像。

在一些实施例中,将预处理图像输入分割模型后获得的第二图像,与第二解码器203及编码器201获取到的特征图中包含的人体部位特征信息及关联物特征信息相对应。例如,在一个例子中,分割模型200能够输入三张第二图像,其中一张第二图像为第一人体部位分割图像,一张第二图像为第二人体部位分割图像,另一张第二图像为关联物分割图像。此时,解码器201获取的特征图中至少还包括第一人体部位特征信息、第二人体部位特征信息及关联物特征信息。分割模型200包括三个第二解码器202,一个第二解码器202能够根据特征图中的第一人体部位特征信息获取为第一人体部位分割图像的第二图像;一个第二解码器202能够根据特征图中的第二人体部位特征信息获取为第二人体部位分割图像的第二图像;另一个第二解码器202能够根据特征图中的关联物特征信息获取为关联物分割图像的第二图像。

需要说明的是,人像区域包括图像中人像的整个区域,包括但不限于人脸、头发、四肢及躯干等,但需要注意的是人像区域不包括关联物区域。人体部位区域为图像中人像的其中一个部位的区域,例如,人体部位区域可以是图像中人像的人脸区域;或者,也可以是图像中人像的头发区域;或者,还可以是图像中人像的手部区域等等。关联物为图像中与人像有关联的物体,关联物可以是图像中人像携带的物体,例如,手持物、背的背包、腰部的腰包等等,关联物区域为关联物所在的区域,人像区域为人像(包含人脸、头发、四肢及躯干等)所在的区域;人体部位区域为人体部位所在的区域,例如若人体部位为人脸,则人体部位区域为人脸区域,若人体部位为人眼,则人体部位区域为人眼区域,若人体部位为人手,则人体部位区域为人手区域;关联物区域为关联物所在的区域,例如手持物所在的区域、背包所在的区域、或腰包所在的区域。此外,第一图像为包含人像区域及第一背景区域的人像分割图像。例如,如图10所示,第一图像中白色区域表征人像区域,黑色区域表征第一背景区域。也即,第一图像中除人像区域之外的区域均为第一背景区域。第二图像包括部位分割图像和关联物分割图像中的至少一种。其中,部位分割图像中白色区域表征人体部位区域,黑色区域表征第二背景区域。也即,部位分割图像中除人体部位区域之外的区域均为第二背景区域。关联物分割图像中白色区域表征关联物区域,黑色区域表征第三背景区域。也即,关联物分割图中除关联物区域之外的区域均为第三背景区域。

在获取到至少一帧第一图像及至少一帧第二图像后,可以根据第一图像和/或第二图像,对原始图像进行图像处理以获取目标图像。

在一些实施例中,可以根据包含有人像区域的第一图像对原始图像进行图像处理以获取目标图像。具体地,在一些实施例中,处理器30(或处理模块13)根据第一图像中人像区域(即图10的第一图像中白色区域部分)获取原始图像中的人像区域。示例地,在一个例子中,若原始图像在进行第一预处理时进行了缩放,则将第一图像放大至与原始图像的尺寸相同大小;若原始图像在进行第一预处理时进行了旋转,则对第一图像进行逆旋转。例如,原始图像在进行第一预处理时向左旋转了90°,则将第一图像向右旋转90°,以使第一图像与原始图像对应。在第一图像与原始图像对应后,原始图像中与第一图像中人像区域(即图10的第一图像中白色区域)对应位置即为原始图像中的人像区域。当然,也可以采用其他方式根据第一图像中的人像区域获取原始图像中的人像区域,在此不作限制。在获取到原始图像的人像区域后,处理器30(或处理模块13)可以对原始图像中除人像区域之外的区域进行背景虚化处理;或者,处理器30(或处理模块13)可以对原始图像中人像区域进行美化处理;再或者,处理器30(或处理模块13)还可以将原始图像中的人像区域从原始图像中抠取出来放置到另一帧图像中,以生成包含有原始图像中人像的新图像。需要说明的是,输出的第一图像的数量可以是一帧也可以是多帧。当输出多帧第一图像时,用户可以自由从多帧第一图像中选择一帧第一图像对原始图像进行处理,以获得目标图像。如此能够使获得的目标图像更满足用户需求。或者,在一些实施例中,也可以将多帧第一图像进行融合获得融合后的第一图像,再根据融合后的第一图像对原始图像进行处理,以获得目标图像,在此均不作限制。

请参阅图1及图11,在一些实施例中,可以根据第一图像及第二图像,对原始图像进行图像处理以获取目标图像。示例地,在一些实施例中,其中一帧第二图像包括部位分割图像,部位分割图像中的人体部位区域为第一头发区域H1(图12中的第二图像所示),人像区域中包含有第二头发区域H2(如图12中的第一图像所示),部位分割图像中的第一头发区域H1与人像分割图像中的第二头发区域不同。步骤03:根据第一图像和/或及至少一帧第二图像,对原始图像进行图像处理以获取目标图像,包括:

031:将部位分割图像中的第一头发区域融合进人像分割图像中的第二头发区域以获取第三图像;及

032:根据第三图像对原始图像进行图像处理以获取目标图像。

请结合图2,在一些实施例中,上述步骤031及步骤032可以由处理模块13执行实现。也即是说,处理模块13用于将部位分割图像中的第一头发区域H1(图12中的第二图像所示)融合进人像分割图像中的第二头发区域H2(如图12中的第一图像所示)以获取第三图像;及根据第三图像对原始图像进行图像处理以获取目标图像。

请结合图3,在一些实施例中,上述步骤031及步骤032还可以由一个或多个处理器30执行实现。也即是说,处理器30还用于将部位分割图像中的第一头发区域H1(图12中的第二图像所示)融合进人像分割图像中的第二头发区域H H2(如图12中的第一图像所示)以获取第三图像;及根据第三图像对原始图像进行图像处理以获取目标图像。

具体地,请结合图12,在一些实施例中,有一帧第二图像包括部位分割图像,部位分割图像中的人体部位区域为第一头发区域H1。此时,分割模型200中解码器201获取到特征图像中包括头发的特征信息,并且一个第二解码器203用于根据头发的特征信息获取包含头发区域的部位分割图像。第一图像中的人像区域中也包含有第二头发区域H2,部位分割图像中的第一头发区域H1与人像分割图像中的第二头发区域H2不同。更进一步地,在一些实施例中,第一图像中人像区域中的第二头发区域H2的头发相较于部位分割图像中的第一头发区域H1的头发更向内收敛(向脸部收敛);部位分割图像中的第一头发区域H1相较于第一图像中人像区域中的第二头发区域H2的头发更向外扩散(向第二背景区域扩散)。

在获得第一图像及包含第一头发区域H1的部位分割图像后,将部位分割图像中的第一头发区域H1融合进人像分割图像中的第二头发区域H2以获取第三图像。需要说明的还是,如图12所示,第一图像中人像区域为白色区域,第二图像中的其他区域为黑色区域(第一背景区域),可以理解,位于白色区域的像素点的像素值为255、位于黑色区域的像素值为0。也即,在第一图像中,位于人像区域的像素点的像素值为255,位于人像区域以外的像素点的像素值为0。同样的,在包含第一头发区域H1的部位分割图像中,位于第一头发区域H1的像素点的像素值为255,位于第一头发区域H1以外的像素点的像素值为0。

请继续参阅图12,在一些实施例中,依次获取包含第一头发区域H1的部位分割图像中各个像素点的像素值,当获取到某一像素点的像素值为255时,也即该像素点位于部位分割图像中的第一头发区域H1,获取第一图像中与该像素点位于相同位置的像素点的像素值。若第一图像中与该像素点位于相同位置的像素点的像素值为255,则说明在第一图像中对应位置的像素点位于人像区域中,此时继续获取包含第一头发区域H1的部位分割图像中下一个像素点的像素值;若第一图像中与该像素点位于相同位置的像素点的像素值为0,则说明在第一图像中对应位置的像素点不位于人像区域中,则将第一图像中对应位置的像素点的像素值更新为255,随后继续获取包含第一头发区域H1的部位分割图像中下一个像素点的像素值,直至将包含第一头发区域H1的部位分割图像中所有像素点遍历完成,并将更新后的第一图像作为第三图像。第三图像中包含有融合后的人像区域及第一背景区域,由于第三图像中的人像区域是通过将部位分割图像中的第一头发区域H1融合进人像分割图像中的第二头发区域H2获得的,如此,第三图像中的人像区域中的头发区域靠近人体部分的头发是向内收敛的,远离人体部分的头发是向外扩的,有利于对头发区域更精细的提取,也即,能够使第三图像中的头发区域与原始图像中实际的头发区域更加贴合,从而提升第三图像中人像区域的准确性。

在获取到第三图像后,处理器30根据第三图像对原始图像进行图像处理以获取目标图像。具体地,在一些实施例中,处理器30(或处理模块13)根据第三图像中人像区域(即第三图像中白色区域部分)获取原始图像中的人像区域,具体获取实施方式与上述实施例中根据第一图像中人像区域获取原始图像中的人像区域相同,在此不作赘述。根据由包含头发区域的部位分割图像及第一图像融合后的第三图像获取原始图像中的人像区域,相较于仅根据第一图像获取原始图像中的人像区域,能够获取到的原始图像中的人像区域的边缘与原始图像中人像的实际边缘更加贴合,也即提升了获取原始图像中人像区域的精确性。同样地,在获取到原始图像的人像区域后,处理器30(或处理模块13)可以对原始图像中除人像区域之外的区域进行背景虚化处理;或者,处理器30(或处理模块13)可以对原始图像中人像区域进行美化处理;再或者,处理器30(或处理模块13)还可以将原始图像中的人像区域从原始图像中抠取出来放置到另一帧图像中,以生成包含有原始图像中人像的新图像。

需要说明的是,在一些实施例中,处理器30(或处理模块13)还可对第一图像中的人像区域做连通域分析,去除面积小于一定阈值的区域,以避免将原始图像中非人像区域误检为人像区域。

请参阅图1及图13,在一些实施例中,可以根据第二图像,对原始图像行图像处理以获取目标图像。示例地,在一些实施例中,其中一帧第二图像包括部位分割图像,部位分割图像中的人体部位区域为人脸区域,步骤03:根据第一图像和/或至少一帧第二图像,对原始图像进行图像处理以获取目标图像,包括:

033:根据部位分割图像中人脸区域,获取原始图像中人脸区域;

034:对原始图像中人脸区域进行图像处理,以获取目标图像。

请结合图2,在一些实施例中,上述步骤033及步骤034可以由处理模块13执行实现。也即是说,处理模块13还用于根据部位分割图像中人脸区域,获取原始图像中人脸区域;及对原始图像中人脸区域进行图像处理,以获取目标图像。

请结合图3,在一些实施例中,上述步骤033及步骤034可以由一个或多个处理器30执行实现。也即是说,处理器30还用于根据部位分割图像中人脸区域,获取原始图像中人脸区域;及对原始图像中人脸区域进行图像处理,以获取目标图像。

具体地,在一些实施例中,有一帧第二图像包括部位分割图像,如图10中从上至下第二张第二图像所示,部位分割图像中的人体部位区域为人脸区域。此时,分割模型200中解码器201获取到特征图像中包括人脸的特征信息,并且一个第二解码器203用于根据人脸的特征信息获取包含人脸区域的部位分割图像。处理器30(或处理模块13)根据包含人脸区域的部位分割图像(即图10的人脸区域的部位分割图像中白色区域部分)获取原始图像中的人脸区域。示例地,在一个例子中,若原始图像在进行第一预处理时进行了缩放,则将包含人脸区域的部位分割图像放大至与原始图像的尺寸相同大小;若原始图像在进行第一预处理时进行了旋转,则对包含人脸区域的部位分割图像进行逆旋转。例如,原始图像在进行第一预处理时向左旋转了90°,则将包含人脸区域的部位分割图像向右旋转90°,以使包含人脸区域的部位分割图像与原始图像对应。在包含人脸区域的部位分割图像与原始图像对应后,原始图像中与包含人脸区域的部位分割图像中人脸区域(即图10的人脸区域的部位分割图像中白色区域)对应位置即为原始图像中的人脸区域。当然,也可以采用其他方式根据包含人脸区域的部位分割图像中的人脸区域获取原始图像中的人脸区域,在此不作限制。如此能够直接获取原始图像中的人脸区域,有利于后续对原始图像中人脸部分的处理。在获取到原始图像的人脸区域后,处理器30(或处理模块13)可以对原始图像中人脸进行图像处理,以获取目标图像。例如,处理器30(或处理模块13)可以对人脸部分进行美颜操作,或者,处理器30(或处理模块13)还可以将原始图像中的人脸区域从原始图像中抠取出来放置到另一帧图像中,以生成包含有原始图像中人脸的新图像。需要说明的是,在一些实施例中,处理器30(或处理模块13)做腐蚀运算,以消除头发等可能的边缘误检。也即,避免将原始图像中非人脸区域误检为人脸区域。

请参阅图1及图14,在一些实施例中,其中一帧第二图像包括关联物分割图像,步骤03:根据第一图像和/或至少一帧第二图像,对原始图像进行图像处理以获取目标图像,包括:

035:根据关联物分割图像中关联物区域,获取原始图像中关联物区域;及

036:对原始图像中关联物区域进行图像处理,以获取目标图像。

请结合图2,在一些实施例中,上述步骤035和步骤036可以由处理模块13执行实现。也即是说,处理模块13还用于根据关联物分割图像中关联物区域,获取原始图像中关联物区域;及对原始图像中关联物区域进行图像处理,以获取目标图像。

请结合图3,在一些实施例中,上述步骤035和步骤036还可以处理器30执行实现。也即是说,处理器30还用于根据关联物分割图像中关联物区域,获取原始图像中关联物区域;及对原始图像中关联物区域进行图像处理,以获取目标图像。

具体地,在一些实施例中,有一帧第二图像包括关联物分割图像,如图10中从上至下第三张第二图像所示。此时,分割模型200中解码器201获取到特征图像中包括关联物的特征信息,并且一个第二解码器203用于根据关联物的特征信息获取包含关联物区域的关联物分割图像。处理器30(或处理模块13)根据包含关联物区域的关联物分割图像(即关联物分割图像中白色区域部分)获取原始图像中的关联物区域。示例地,在一个例子中,若原始图像在进行第一预处理时进行了缩放,则将包含关联物区域的关联物分割图像放大至与原始图像的尺寸相同大小;若原始图像在进行第一预处理时进行了旋转,则对将包含关联物区域的关联物分割图像进行逆旋转。例如,原始图像在进行第一预处理时向左旋转了90°,则将包含关联物区域的关联物分割图像向右旋转90°,以使将包含关联物区域的关联物分割图像与原始图像对应。在将包含关联物区域的关联物分割图像与原始图像对应后,原始图像中与将包含关联物区域的关联物分割图像中关联物区域(即图10的关联物分割图像中白色区域)对应位置即为原始图像中的关联物区域。当然,也可以采用其他方式根据关联物分割图像中的关联物区域获取原始图像中的关联物区域,在此不作限制。处理器30在获取到关联物区域后,处理器30对原始图像中关联物区域进行图像处理,以获取目标图像。同样地,在一些实施例中,处理器30(或处理模块13)可以将原始图像中关联物区域虚化;或者,处理器30(或处理模块13)还可以将原始图像中的关联物区域从原始图像中抠取出来放置到另一帧图像中,以生成包含有原始图像中关联物的新图像;或者;处理器30(或处理模块13)还可以用其他物体替换或覆盖原始图中关联物区域,以生成包含原始图像中人像及替换或覆盖后的物体的新图像。

请参阅图15,在一些实施例中,图像处理方法还可包括:

04:将样本图像集中多个样本图像输入至初始模型进行训练,以获取分割模型。

请结合图2,在一些实施例中,图像处理装置10还可包括训练模块14,步骤04可以由训练模块14执行实现。也即是说,训练模块14用于将样本图像集中多个样本图像输入至初始模型进行训练,以获取分割模型。

请结合图3,在一些实施例中,步骤04还可以由一个或多个处理器30执行实现。也即是说,一个或多个处理器30还用于将样本图像集中多个样本图像输入至初始模型进行训练,以获取分割模型。

在一些实施例中,为了使分割模型输出的图像能够达到预期效果,需要预先设置初始模型,并将样本图像集中多个样本图像输入至初始模型,对初始模型进行大量的训练以获得分割模型。在一个例子中,步骤04可以是用户在使用图像处理装置10或终端100的过程中执行的,此种方式使用的分割模型能够与当前使用场景是高度适配的,能够保证图像处理图像的精确度。在另一个例子中,步骤04可以是用户在使用图像处理装置10或终端100之前就已经执行完成的,并且获取到的分割模型可以预先存储在存储器50中,在用户使用图像处理装置10或终端100的过程中直接从存储器50中调用的,此种方式使用分割模型能够减少为了计算分割模型的处理量,提高整个图像处理的处理效率。

具体地,请参阅图15及图16,在一些实施例中,步骤04:将样本图像集中多个样本图像输入至初始模型进行训练,以获取分割模型,包括:

041:获取样本图像集,样本图像集包括多个样本图像,每个样本图像中包含人像;

042:对每个样本图像进行第二预处理,以获得第一掩膜图像及至少一帧第二掩膜图像,第一掩膜图像包括人像区域及背景区域,第二掩膜图像包括人体部位区域及背景区域,和/或包括关联物区域及背景区域;

043:将样本图像输入至初始模型,以获得第一训练图像及至少一帧第二训练图像,第一训练图像包括人像区域及背景区域,第二训练图像包括人体部位区域及背景区域,和/或包括关联物区域及背景区域;

044:根据第一掩膜图像、第二掩膜图像、第一训练图像、第二训练图像,计算初始模型的总损失函数的值;

045:根据总损失函数的值对初始模型进行迭代训练,以获得分割模型。

请结合图2,步骤041、步骤042、步骤043、步骤044及步骤045均可以由训练模块14执行实现。也即是说,训练模块14用于获取样本图像集,样本图像集包括多个样本图像,每个样本图像中包含人像;对每个样本图像进行第二预处理,以获得第一掩膜图像及至少一帧第二掩膜图像,第一掩膜图像包括人像区域及背景区域,第二掩膜图像包括人体部位区域及背景区域,和/或包括关联物区域及背景区域;将样本图像输入至初始模型,以获得第一训练图像及至少一帧第二训练图像,第一训练图像包括人像区域及背景区域,第二训练图像包括人体部位区域及背景区域,和/或包括关联物区域及背景区域;根据第一掩膜图像、第二掩膜图像、第一训练图像、第二训练图像,计算初始模型的总损失函数的值;及根据总损失函数的值对初始模型进行迭代训练,以获得分割模型。

请结合图3,步骤041、步骤042、步骤043、步骤044及步骤045均可以由一个或多个处理器30执行实现。也即是说,一个或多个处理器30还用于获取样本图像集,样本图像集包括多个样本图像,每个样本图像中包含人像;对每个样本图像进行第二预处理,以获得第一掩膜图像及至少一帧第二掩膜图像,第一掩膜图像包括人像区域及背景区域,第二掩膜图像包括人体部位区域及背景区域,和/或包括关联物区域及背景区域;将样本图像输入至初始模型,以获得第一训练图像及至少一帧第二训练图像,第一训练图像包括人像区域及背景区域,第二训练图像包括人体部位区域及背景区域,和/或包括关联物区域及背景区域;根据第一掩膜图像、第二掩膜图像、第一训练图像、第二训练图像,计算初始模型的总损失函数的值;及根据总损失函数的值对初始模型进行迭代训练,以获得分割模型。

具体地,处理器30(或训练模块14)获取到样本图像集,其中样本图像集中包括多个样本图像,每个样本图像中包含人像。对每个样本图像进行第二预处理,以获得第一掩膜图像及至少一帧第二掩膜图像。如图17所示,第一掩膜图像包括人像区域(第一掩膜图像中白色区域表征人像区域)、及背景区域(第一掩膜图像中黑色区域表征背景区域),第二掩膜图像包括人体部位区域(第二掩膜图像中白色区域表征人体部位区域)、及背景区域(第二掩膜图像中黑色区域表征背景区域);和/或,第二掩膜图像还包括关联物区域(第二掩膜图像中白色区域表征关联物区域)及背景区域(第二掩膜图像中黑色区域表征背景区域)。

需要说明的是,在一个例子中,每帧第二掩膜图像均包括人体部位区域及背景区域;或者,在另一个例子中,每帧第二掩膜图像均包括关联物区域及背景区域;或者,在又一个例子中,部分第二掩膜图像包括人体部位区域及背景区域,部分第二掩膜图像包括关联物区域及背景区域。更具体地,多帧第二掩膜图像中至少部分需要与第二图像对应,如此训练出来的分割模型才能够输出用户需要的第二图像。例如,用户需要在预处理后的图像输入至分割模型后,获得的第二图像包括一帧包含头发区域的部位分割图像、一帧包含人脸区域的部位分割图像及一帧包含关联物区域的关联物分割图;则第二掩膜图像也至少要包括一帧包含头发区域的掩膜图像、一帧包含人脸区域的掩膜图像及一帧包含关联物的掩膜图像。另外,每个样本图像中均标注有人像区域、多个人体部位区域(例如,头发区域、人脸区域、躯干区域等等)及关联物区域。处理器30(或训练模块14)能够根据标注的区域获取对应的掩膜图像,例如,以获取第一掩膜图像为例,处理器30(或训练模块14)依次获取样本图像中的像素点,若当前像素点位于样本图像中标注的人像区域内,则将第一掩膜图像与当前像素点对应位置的像素点的像素值设置为255(即将第一掩膜图像与当前像素点对应位置的像素点设置为白色),若当前像素点不位于样本图像中标注的人像区域内,则将第一掩膜图像与当前像素点对应位置的像素点的像素值设置为0(即将第一掩膜图像与当前像素点对应位置的像素点设置为黑色)。

进一步地,请参阅图16及图18,在一些实施例中,在第二掩膜图像中的人体部位区域为头发区域时,即有一帧第二掩膜图像包括人体部位,且该人体部位为头发区域时(图17中由上至下第一张第二掩膜图像),步骤042:对每个样本图像进行第二预处理,以获得第一掩膜图像及至少一帧第二掩膜图像,包括:

0421:识别样本图像中的头发区域及人像中的非头发区域;

0422:对样本图像执行灰度处理以获取灰度图像,灰度图像包括第一区域、第二区域及第三区域,第一区域为与样本图像中头发区域对应的区域中灰度值大于第一阈值的部分,第二区域为与样本图像中头发区域对应的区域中灰度值大于第二阈值的部分,第三区域为与样本图像中非头发区域对应的区域中灰度值大于第三阈值的部分;

0423:根据灰度图像的第一区域及第三区域获取第一掩膜图像,及根据第二区域获取包括头发区域的第二掩膜图像。

请结合图2,在一些实施例中,步骤0421、步骤0422及步骤0423均可以由训练模块14执行实现。也即是说,训练模块14还用于识别样本图像中的头发区域及人像中的非头发区域;对样本图像执行灰度处理以获取灰度图像,灰度图像包括第一区域、第二区域及第三区域,第一区域为与样本图像中头发区域对应的区域中灰度值大于第一阈值的部分,第二区域为与样本图像中头发区域对应的区域中灰度值大于第二阈值的部分,第三区域为与样本图像中非头发区域对应的区域中灰度值大于第三阈值的部分;及根据灰度图像的第一区域及第三区域获取第一掩膜图像,及根据第二区域获取包括头发区域的第二掩膜图像。

请结合图3,在一些实施例中,步骤0421、步骤0422及步骤0423均可以由一个或多个处理器30执行实现。也即是说,处理器30还用于识别样本图像中的头发区域及人像中的非头发区域;对样本图像执行灰度处理以获取灰度图像,灰度图像包括第一区域、第二区域及第三区域,第一区域为与样本图像中头发区域对应的区域中灰度值大于第一阈值的部分,第二区域为与样本图像中头发区域对应的区域中灰度值大于第二阈值的部分,第三区域为与样本图像中非头发区域对应的区域中灰度值大于第三阈值的部分;及根据灰度图像的第一区域及第三区域获取第一掩膜图像,及根据第二区域获取包括头发区域的第二掩膜图像。

请参阅图19,当第二掩膜图像包括人体部位,且该人体部位为头发区域时,在一些实施例中,根据样本图像中标注识别样本图像中的头发区域A及人像中的非头发区域B。处理器30(或训练模块14)对样本图像做灰度处理以获取灰度图像,灰度图像包括第一区域a1、第二区域a2及第三区域b1,第一区域a1为与样本图像中头发区域A对应的区域中灰度值大于第一阈值的部分,第二区域a2为与样本图像中头发区域A对应的区域中灰度值大于第二阈值的部分,第三区域b1为与样本图像中非头发区域B对应的区域中灰度值大于第三阈值的部分。具体地,在获取灰度图像后,处理器30(或训练模块14)依次获取灰度图像中所有像素点的灰度值,若在样本图像中,与当前像素点对应位置的像素点位于头发区域A,且当前像素点的灰度值大于第一阈值,则将当前像素点设置在第一区域a1内;若在样本图像中,与当前像素点对应位置的像素点位于头发区域A,且当前像素点的灰度值大于第二阈值,则当前像素点设置在第二区域a2内;若在样本图像中,与当前像素点对应位置的像素点位于人像中的非头发区域B,且当前像素点的灰度值大于第三阈值,则当前像素点设置在第三区域b1内。

在获取到第一区域a1、第二区域a2及第三区域b1后,根据第一区域a1及第三区域b1获取包含人像区域的第一掩膜图像,根据第二区域a2获取包括头发区域的第二掩膜图像。示例地,处理器30(或训练模块14)依次获取灰度图像中所有像素点,若当前像素点位于第一区域a1或第三区域b1内,则将第一掩膜图像与当前像素点对应位置的像素点的像素值设置为255(即将第一掩膜图像与当前像素点对应位置的像素点设置为白色);若当前像素点不位于第一区域a1、也不位于第三区域b1内,则将第一掩膜图像与当前像素点对应位置的像素点的像素值设置为0(即将第一掩膜图像与当前像素点对应位置的像素点设置为黑色),如此便根据第一区域a1及第三区域b1获取包含人像区域的第一掩膜图像。同样地,处理器30(或训练模块14)依次获取灰度图像中所有像素点,若当前像素点位于第二区域a2内,则将第二掩膜图像与当前像素点对应位置的像素点的像素值设置为255(即将第二掩膜图像与当前像素点对应位置的像素点设置为白色);若当前像素点不位于第二区域a2内,则将第二掩膜图像与当前像素点对应位置的像素点的像素值设置为0(即将第二掩膜图像与当前像素点对应位置的像素点设置为黑色),如此便根据第二区域a2获取包含头发区域的第二掩膜图像。

由于样本图像中的头发区域内的灰度值在第一阈值与第二阈值之间的像素点不在第一掩膜图像中人像的头发区域内,能够使第一掩膜图像中人像区域中的头发区域的头发向内收敛;样本图像中的头发区域内的灰度值大于较第一阈值小的第二阈值的像素点均在第二掩膜图像的头发区域内,能够使第二掩膜图像的头发区域向外扩,有利于后续训练好的分割模型能够获得具有内收头发区域的第一图像及具有外扩头发区域的第二图像。需要说明的是,第一阈值大于第二阈值。在一些实施例中,第二阈值可以等于第三阈值。特别地,在一个例子中,第一阈值可以为190,第二阈值等于第三阈值且为127.5。

在对每帧样本图像进行第二预处理后,也即,获取每帧样本图像的第一掩膜图像及第二掩膜图像后,将样本图像输入至初始模型以获得第一训练图像及至少一帧第二训练图像。第一训练图像包括人像区域(第一训练图像中白色部分表征人像区域)及背景区域(第一训练图像中黑色部分表征背像区域)。第二训练图像包括部位分割训练图像及关联物分割训练图像中的至少一种,其中,部位分割训练图包括人体部位区域(部位分割训练图像中白色部分表征人体部位区域)及背景区域(部位分割训练图像中黑色部分表征背像区域);关联物训练图像包括关联物区域(关联物训练图像中白色部分表征关联物区域)及背景区域(关联物训练图像中黑色部分表征背像区域)。需要说明的是,在一些实施例中,为了输入初始模型的样本图像能够满足初始模型输入图像的要求,先对样本图像进行第一预处理(包括:检测样本图像为横拍图还是竖拍图,若样本图像为横拍图将其旋转为竖拍图,对旋转后的样本图像执行归一化处理;若样本图像为竖拍图,则直接对样本图像执行归一化处理)后,再将经过第一预处理后的样本图像输入至初始模型中。对样本图像进行第一预处理的具体实施方式与上述实施例中对原始图像进行第一预处理的具体实施方式相同,在此不做赘述。

请参阅图20及图21,初始模型300可包括初始编码器301、第一初始解码器302及至少一个第二初始解码器303。初始编码器301用于对输入的样本图像进行多次的卷积及池化以获取特征图,特征图中包含人像特征信息、及人体部位特征信息与关联物特征信息中的至少一种。第一初始解码器202用于根据特征图中的人像特征信息获取包含有人像区域的第一训练图像,并输出第一训练图像,第二初始解码器203用于根据特征图中的人体部位特征信息获取包含有对应人体部位区域的第二训练图像,并输出第二训练图像;和/或根据特征图中的特征图中的关联物特征信息获取包含有关联物区域的第二训练图像,并输出第二训练图像。

在获取到第一训练图像及第二训练图像后,处理器30(或训练模块14)根据第一掩膜图像、第二掩膜图像、第一训练图像及第二训练图像,计算初始模型的总损失函数的值。具体地,请参阅图16及图22,在一些实施例中,步骤044:根据第一掩膜图像、第二掩膜图像、第一训练图像、第二训练图像,计算初始模型的总损失函数的值,包括:

0441:根据第一训练图像及第一掩膜图像计算第一损失函数的值;

0442:根据第二训练图像及对应的第二掩膜图像计算第二损失函数的值;

0443:根据第一损失函数的值、第二损失函数的值、与第一损失函数对应的第一权重及与第二损失函数对应的第二权重计算总损失函数的值。

请结合图2,在一些实施例中,步骤0441、步骤0442及步骤0443均可以由训练模块14执行实现。也即是说,训练模块14还用于根据第一训练图像及第一掩膜图像计算第一损失函数的值;根据第二训练图像及对应的第二掩膜图像计算第二损失函数的值;及根据第一损失函数的值、第二损失函数的值、与第一损失函数对应的第一权重及与第二损失函数对应的第二权重计算总损失函数的值。

请结合图3,在一些实施例中,步骤0441、步骤0442及步骤0443均可以由一个或多个处理器30执行实现。也即是说,一个或多个处理器30还用于根据第一训练图像及第一掩膜图像计算第一损失函数的值;根据第二训练图像及对应的第二掩膜图像计算第二损失函数的值;及根据第一损失函数的值、第二损失函数的值、与第一损失函数对应的第一权重及与第二损失函数对应的第二权重计算总损失函数的值。

具体地,在获取到第一训练图像及第二训练图像后,处理器30(或训练模块14)根据第一训练图像及第一掩膜图像计算第一损失函数L1的值,并根据第二训练图像及对应的第二掩膜图像计算第二损失函数L2的值。下面以第二训练图像包括两帧部位分割训练图像及一帧关联物分割训练图像,其中一帧部位分割训练图像为头发区域分割训练图像,另一帧部位分割训练图像为人脸区域分割训练图像,为例进行说明。此时,第二掩膜图像也包括包含头发区域的第二掩膜图像、包含人脸区域的第二掩膜图像及包含关联物的第二掩膜图像,第二损失函数L2的值包括头发区域的损失函数Lhair的值、人脸区域的损失函数Lface的值及关联物区域的损失函数Lhand的值。处理器30(或训练模块14)根据第一训练图像中人像区域及第一掩膜图像中人像区域之间的差异,以计算第一损失函数L1的值;根据头发区域分割训练图像中的头发区域、及包含头发区域的第二掩膜图像中的头发区域之间的差异计算头发区域的损失函数Lhair的值;根据人脸区域分割训练图像中的人脸区域、及包含人脸区域的第二掩膜图像中的人脸区域之间的差异计算人脸区域的损失函数Lface的值;根据关联物区域分割训练图像中的关联物区域、及包含关联物区域的第二掩膜图像中的关联物区域之间的差异计算关联物区域的损失函数Lhand的值。

在获得第一损失函数L1的值及第二损失函数L2的值后,处理器30(或训练模块14)根据第一损失函数L1的值、第二损失函数L2的值、与第一损失函数L1对应的第一权重α1及与第二损失函数L2对应的第二权重α2计算总损失函数Loss的值。在一些实施例中,总损失函数Loss的值等于第一损失函数L1与对应的第一权重α1的乘积、和多个第二损失函数L2与对应的第二权重α2的乘积的和。例如,以第二损失函数L2的值包括头发区域的损失函数Lhair的值、人脸区域的损失函数Lface的值及关联物区域的损失函数Lhand的值为例进行说明。第二权重α2包括头发区域的权重αhair、人脸区域的权重αface及关联物区域的权重αhand,并且头发区域的权重αhair与头发区域的损失函数Lhair对应、人脸区域的权重αface与人脸区域的损失函数Lface对应、及关联物区域的权重αhand与关联物区域的损失函数Lhand对应,则总损失函数Loss的值可以通过计算公式Loss=α1L1+αhairLhairfaceLfacehandLhand计算获得。

在获得初始模型的总损失函数Loss的值对初始模型之后,则可以根据总损失函数Loss的值对初始模型进行迭代训练,得到最终的分割模型。在一些实施例中,可以根据总损失函数Loss,使用Adam优化器对初始模型进行迭代训练,直至初始模型的输出结果的损失值收敛,并将此时的模型进行保存,作为训练后的分割模型。其中,Adam优化器,结合了AdaGra(AdaptiveGradient,自适应梯度)和RMSProp两种优化算法的优点,对梯度的一阶矩估计(First Moment Estimation,即梯度的均值)和二阶矩估计(Second MomentEstimation,即梯度的未中心化的方差)进行综合考虑,计算出更新步长。

需要说明的是,迭代训练的终止条件可以包括:迭代训练的次数达到目标次数;或者初始模型的输出结果的总损失值满足设定的收敛条件。在一个例子中,收敛条件是让总损失值尽可能小,使用初始学习率1e-3,学习率随步数余弦衰减,batch_size=8,训练16个epoch后,即可认为收敛完成。其中,batch_size可以理解为批处理参数,它的极限值为训练集样本总数,epoch指使用训练集中的全部样本训练的次数,通俗的讲epoch的值就是整个数据集被轮几次,1个epoch等于使用训练集中的全部样本训练1次。在另一个例子中,总损失值Loss满足设定的收敛条件可以包括:总损失值Loss小于设定阈值。当然,具体设定条件可以不作为限定。

在一些实施例中,由于总损失函数Loss的值等于第一损失函数L1与对应的第一权重α1的乘积、和多个第二损失函数L2与对应的第二权重α2的乘积的和。总损失Loss可以根据各个类别的具体要求做不同的设计,比如在上述实施例中,总损失Loss通过计算公式Loss=α1L1+αhairLhairfaceLfacehandLhand计算获得。在一个例子中,若对人脸区域的精确度较高,可以将于人脸区域的损失函数Lface对应的人脸区域的权重αface调高。在另一个例子中,假设当头发区域的损失的损失函数Lhair为第一值时,输出的包含头发区域的第二训练图像中的头发区域比较平滑,当头发区域的损失的损失函数Lhair为第二值时,输出的包含头发区域的第二训练图像中的头发区域比较稀疏。若想要获得包含头发区域的部位分割图中的头发区域比较平滑,则根据需要满足头发区域的损失的损失函数Lhair为第一值,对初始模型进行迭代训练,也即在完成对初始模型进行的迭代训练获得分割模型时,头发区域的损失的损失函数Lhair为第一值。当然,总损失Loss还可以根据各个类别的具体要求做不同的设计,在此不再一一举例。

在一些实施例中,训练得到的分割模型可以存储于终端100(或图像处理装置10)本地,例如存储器50中,该训练得到的分割模型也可以在与终端100(或图像处理装置10)通信连接的服务器,将分割模型存储在服务器的方式,可以减少占用终端100(或图像处理装置10)的存储空间,提升终端100(或图像处理装置10)运行效率。当然,在一些实施方式中,分割模型还可以周期性的或者不定期的获取新的训练数据,对该分割模型进行训练和更新。例如,在存在人像图像被误分割时,则可以将该人像图像作为样本图像,对样本图像进行标注后,通过以上训练方式,再进行训练,从而可以提升人像分割模型的准确性。

需要说明的是,在一些实施例中,可以先将初始编码器301放入单输出的预训练分割模型(单输出的预训练分割模型中仅包含一个解码器)中进行训练,具体训练过程与上述训练过程相同(输入样本图像至训练分割模型中,根据样本图像中的标注与训练分割模型输出的结果之间的差异获取损失,根据损失迭代更新训练分割模型)。当初始编码器301在单输出的预训练分割模型中完成训练后,再将完成训练的初始编码器301导入初始模型中,结合第一解码器202及一个第二解码器203共同训练,以获得分割模型。先将初始编码器301放入单输出的预训练分割模型中进行训练后,再将完成训练的初始编码器301导入初始模型中再次训练,相较于直接对初始模型进行训练降低了训练难度,并且有利于获得的分割模型对输入图像的分割效果。

在一些实施例中,分割模型中可以不采用如上述实施例中模型,可以直接对输入该分割模型的原始图像进行灰度阈值处理,以此获取至少一帧第一图像及至少一帧第二图像。具体地,请参阅图23,其中一帧第二图像包括部位分割图像,部位分割图像中的人体部位区域为第一头发区域H1(图12中的第二图像所示),人像区域中包含有第二头发区域H2(如图12中的第一图像所示),部位分割图像中的第一头发区域H1与人像分割图像中的第二头发区域不同,图像处理方法还包括:

022:识别输入分割模型的原始图像中的头发区域及人像中的非头发区域;

023:对原始图像执行灰度处理以获取原始图像的灰度图像,原始图像的灰度图像包括第一区域、第二区域及第三区域,第一区域为与原始图像中头发区域对应的区域中灰度值大于第一阈值的部分,第二区域为与原始图像中头发区域对应的区域中灰度值大于第二阈值的部分,第三区域为与原始图像中非头发区域对应的区域中灰度值大于第三阈值的部分;

024:根据原始图像的灰度图像的第一区域及第三区域获取第一图像,及根据第二区域获取人体部位区域为头发的部位分割图像。

请结合图2,在一些时候例中,上述步骤022、步骤023及步骤024均可以由输入模块12执行实现。也即是说,输入模块12用于识别输入分割模型的原始图像中的头发区域及人像中的非头发区域;对原始图像执行灰度处理以获取原始图像的灰度图像,原始图像的灰度图像包括第一区域、第二区域及第三区域,第一区域为与原始图像中头发区域对应的区域中灰度值大于第一阈值的部分,第二区域为与原始图像中头发区域对应的区域中灰度值大于第二阈值的部分,第三区域为与原始图像中非头发区域对应的区域中灰度值大于第三阈值的部分;及根据原始图像的灰度图像的第一区域及第三区域获取第一图像,及根据第二区域获取人体部位区域为头发的部位分割图像。

请结合图3,在一些实施例中,上述步骤022、步骤023及步骤024均可以由一个或多个处理器30执行实现,也即是说,一个或多个处理器30还用于识别输入分割模型的原始图像中的头发区域及人像中的非头发区域;对原始图像执行灰度处理以获取原始图像的灰度图像,原始图像的灰度图像包括第一区域、第二区域及第三区域,第一区域为与原始图像中头发区域对应的区域中灰度值大于第一阈值的部分,第二区域为与原始图像中头发区域对应的区域中灰度值大于第二阈值的部分,第三区域为与原始图像中非头发区域对应的区域中灰度值大于第三阈值的部分;根据原始图像的灰度图像的第一区域及第三区域获取第一图像,及根据第二区域获取人体部位区域为头发的部位分割图像。

具体地,请参阅图24,在一些实施例中,处理器30先对输入分割模型中的原始图像进行识别,以识别出原始图像的头发区域及非头发区域。需要说明的是,在一些实施例中,可以将原始图像依次输入两个输入encoder-decoder形式的编解码网络,其中一个encoder-decoder形式的编解码网络能够输出包含原始图像中人像的非头发区域的分割图像;另一个encoder-decoder形式的编解码网络能够输出包含原始图像中人像的头发区域的分割图像。再根据包含原始图像中人像的非头发区域的分割图像获取原始图像中人像的非头发区域,根据包含原始图像中人像头发区域的分割图像获取原始图像中人像的头发区域。或者,在一些实施例中,由于原始图像的人像中头发区域的颜色与非头发区域的颜色相差较大,分割模型能够根据原始图像中的颜色差异来识别人像中的头发区域及非头发区域。或者,在一些实施例中,可以由用户初步对原始图像中人像的头发区域及非头发区域进行初步标识(例如用户将人像中的头发区域与非头发区域的轮廓大致框选等),分割模型根据用户的标识识别人像中的头发区域及非头发区域。当然,还可以采用其他方式识别原始图像中人像的头发区域及非头发区域,在此均不作限制。

对输入分割模型的原始图像进行做灰度处理以获取原始图像的灰度图像,原始图像的灰度图像包括第一区域a1、第二区域a2及第三区域b1,第一区域a1为与原始图像中头发区域A对应的区域中灰度值大于第一阈值的部分,第二区域a2为与原始图像中头发区域A对应的区域中灰度值大于第二阈值的部分,第三区域b1为与原始图像中非头发区域B对应的区域中灰度值大于第三阈值的部分。具体地,在获取原始图像的灰度图像后,处理器30(或训练模块14)依次获取灰度图像中所有像素点的灰度值,若在原始图像中,与当前像素点对应位置的像素点位于头发区域A,且当前像素点的灰度值大于第一阈值,则将当前像素点设置在第一区域a1内;若在原始图像中,与当前像素点对应位置的像素点位于头发区域A,且当前像素点的灰度值大于第二阈值,则当前像素点设置在第二区域a2内;若在原始图像中,与当前像素点对应位置的像素点位于人像中的非头发区域B,且当前像素点的灰度值大于第三阈值,则当前像素点设置在第三区域b1内。

在获取到原始图像的灰度图像的第一区域a1、第二区域a2及第三区域b1后,根据第一区域a1及第三区域b1获取包含人像区域的第一图像,根据第二区域a2获取人体部位为头发的部位分割图像。示例地,处理器30(或训练模块14)依次获取原始图像的灰度图像中所有像素点,若当前像素点位于第一区域a1或第三区域b1内,则将第一图像中与当前像素点对应位置的像素点的像素值设置为255(即将第一图像中与当前像素点对应位置的像素点设置为白色);若当前像素点不位于第一区域a1、也不位于第三区域b1内,则将第一图像与当前像素点对应位置的像素点的像素值设置为0(即将第一图像与当前像素点对应位置的像素点设置为黑色),如此便根据第一区域a1及第三区域b1获取包含人像区域的第一图像。同样地,处理器30(或训练模块14)依次获取原始图像的灰度图像中所有像素点,若当前像素点位于第二区域a2内,则将第二图像与当前像素点对应位置的像素点的像素值设置为255(即将第二图像与当前像素点对应位置的像素点设置为白色);若当前像素点不位于第二区域a2内,则将第二图像与当前像素点对应位置的像素点的像素值设置为0(即将第二图像与当前像素点对应位置的像素点设置为黑色),如此便根据第二区域a2获取包含头发区域的第二图像,也即获取人体部位区域为头发的部位分割图像。

由于原始图像中的头发区域内的灰度值在第一阈值与第二阈值之间的像素点不在第一掩膜图像中人像的头发区域内,能够使第一图像中人像区域中的头发区域的头发向内收敛;原始图像中的头发区域内的灰度值大于较第一阈值小的第二阈值的像素点均在第二图像的头发区域内,能够使第二图像的头发区域向外扩。需要说明的是,第一阈值大于第二阈值。在一些实施例中,第二阈值可以等于第三阈值。特别地,在一个例子中,第一阈值可以为190,第二阈值等于第三阈值且为127.5。请参阅图25,本申请还提供一种包含计算机程序410的非易失性计算机可读存储介质400。该计算机程序被处理器60执行时,使得处理器60执行上述任意一个实施方式的图像处理方法。

请结合图1,例如,当计算机程序410被处理器60执行时,使得处理器30执行01、02、03、04、011、012、013、021、022、023、024、031、032、033、034、035、036、041、042、043、044、045、0421、0422、0423、0441、0442及0443中的方法。例如执行以下图像处理方法

02:将获取的原始图像输入至分割模型,以获取至少一帧第一图像及至少一帧第二图像,原始图像中包含有人像,第一图像为包括人像区域及第一背景区域的人像分割图像,第二图像包括部位分割图像和关联物分割图像中的至少一种,部位分割图像包括人体部位区域及第二背景区域,关联物分割图像包括关联物区域及第三背景区域;及

03:根据第一图像和/或至少一帧第二图像,对原始图像进行图像处理以获取目标图像。

需要说明的是处理器60可以设置在终端100中,即处理器60与处理器30为同一处理器,当然处理器60也可以不设置在终端100内,也即处理器60与处理器30不为同一处理器,在此不做限制。

在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。

流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。

尽管上面已经示出和描述了本申请的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施方式进行变化、修改、替换和变型。

完整详细技术资料下载
上一篇:石墨接头机器人自动装卡簧、装栓机
下一篇:用于图像自动化测试的方法及装置、设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!