本申请实施例涉及图像处理领域,特别涉及一种图像处理方法、装置、设备及存储介质。
背景技术:
在图像处理领域,经常需要对图像中的指定目标进行处理,比如,对图像中人脸进行美颜处理,或者对图像中人脸的头发进行颜色变换等。但是在对图像中的指定目标进行处理之前,还需要先从图像中准确地识别出指定目标,才能对指定目标进行处理。
目前,通常采用目标分割算法对图像中的指定目标进行识别。具体地,先获取待处理的且存在指定目标的图像,然后采用目标分割算法,识别图像中的每个像素点是属于指定目标,还是属于指定目标之外的背景,并将属于指定目标的像素点所围成的区域确定为指定目标的轮廓区域,从而将指定目标从背景中识别出来。
但是,采用目标分割算法对图像进行目标识别时,仅能给出每个像素点属于还是不属于指定目标的绝对识别结果,但是在实际识别过程中,指定目标的形状可能并不规则,导致有些属于指定目标的像素点可能会被误识别为不属于指定目标,或者有些不属于指定目标的像素点被误识别为属于指定目标,进而导致识别出的轮廓区域不准确,影响图像处理效果。
技术实现要素:
本申请实施例提供了一种图像处理并方法、装置、设备及存储介质。所述技术方案如下:
一方面,本申请实施例提供了一种图像处理方法,所述方法包括:
获取待处理的图像,所述图像中存在指定目标;
将所述图像作为分割网络模型的输入,通过所述分割网络模型确定所述图像的目标分割信息,所述目标分割信息包括识别为指定目标的前景区域的位置信息、识别为非指定目标的背景区域的位置信息和无法识别是背景还是前景的未知区域的位置信息,所述分割网络模型用于确定任一图像的目标分割信息;
将所述图像和所述图像的目标分割信息作为抠图网络模型的输入,通过所述抠图网络模型确定所述图像的目标概率信息,所述图像的目标概率信息包括所述图像中的各个像素点属于所述指定目标的概率,所述抠图网络模型用于确定任一图像的目标概率信息;
根据所述图像的目标概率信息,对所述图像中的所述指定目标进行处理。
另一方面,提供了一种图像处理装置,所述装置包括:
第一获取模块,用于获取待处理的图像,所述图像中存在指定目标;
分割模块,用于将所述图像作为分割网络模型的输入,通过所述分割网络模型确定所述图像的目标分割信息,所述目标分割信息包括识别为指定目标的前景区域的位置信息、识别为非指定目标的背景区域的位置信息和无法识别是背景还是前景的未知区域的位置信息,所述分割网络模型用于确定任一图像的目标分割信息;
抠图模块,用于将所述图像和所述图像的目标分割信息作为抠图网络模型的输入,通过所述抠图网络模型确定所述图像的目标概率信息,所述图像的目标概率信息包括所述图像中的各个像素点属于所述指定目标的概率,所述抠图网络模型用于确定任一图像的目标概率信息;
处理模块,用于根据所述图像的目标概率信息,对所述图像中的所述指定目标进行处理。
另一方面,提供了一种电子设备,所述电子设备包括处理器和存储器;所述存储器存储有至少一条指令,所述至少一条指令用于被所述处理器执行以实现上述图像处理方法。
另一方面,提供了一种计算机可读存储介质,所述存储介质存储有至少一条指令,所述至少一条指令用于被处理器执行以实现上述图像处理方法。
另一方面,还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令用于被处理器执行以实现上述图像处理方法。
本申请提供的技术方案至少可以带来以下有益效果:
本申请实施例中,可以先将待处理的图像作为分割网络模型的输入,通过分割网络模型确定图像的目标分割信息,再将图像和图像的目标分割信息作为抠图网络模型的输入,通过抠图网络模型确定图像的目标概率信息,最后根据图像的目标概率信息即每个像素点属于指定目标的概率,来对图像中的指定目标进行不同强度的处理,如此,能够实现对指定目标的精细化分割和处理,提高了目标识别的准确度和目标处理的精细度,进而提高了图像处理效果。
附图说明
图1是本申请实施例提供的一种模型训练方法的流程图;
图2是本申请实施例提供的一种图像处理方法的流程图;
图3是本申请实施例提供的一种对近景人像的头发区域进行颜色变换的示意图;
图4是本申请实施例提供的一种图像处理装置的框图;
图5是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。
在本文中提及的“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
在对本申请实施例提供的图像处理方法进行详细说明之前,先对申请实施例的应用场景进行介绍。
本申请实施例应用于对图像中的指定目标进行特殊处理的场景中,比如对图像中的人脸进行美颜处理,或者对图像中人脸的头发进行颜色变化等场景中。当然,该指定目标也可以被设置为其他目标,该特殊处理方式也可以被设置为其他处理方式,可以根据实际需要进行设置,本申请实施例对此不做限定。
接下来,对本申请实施例涉及的实施环境进行介绍。
本申请实施例提供的图像处理方法可以应用于图像处理装置,该图像处理装置可以为终端或服务器等电子设备,终端可以为手机、平板电脑或计算机等,服务器可以为应用的后台服务器。作为一个示例,终端中安装有图像处理应用,终端可以通过安装的图像处理应用来执行本申请实施例提供的图像处理方法。
本申请实施例中提供的图像处理方法是一种基于深度学习的图像处理方法,在对图像中的指定目标进行处理之前,需要用到分割网络模型和抠图网络模型来对图像中的指定目标进行识别和分割,分割分割网络模型用于确定图像的目标分割信息,抠图网络模型用于根据图像和图像的目标分割信息,确定图像的目标概率信息。接下来,先对分割网络模型和抠图网络模型的模型训练方法进行介绍。
图1是本申请实施例提供的一种模型训练方法的流程图,该方法应用于图像处理装置中,该装置可以为终端或服务器等电子设备,如图1所示,该方法包括如下步骤:
步骤101:获取多个样本图像的目标概率信息,每个样本图像的目标概率信息包括每个样本图像中的各个像素点属于指定目标的概率。
其中,该多个样本图像为图像中存在指定目标的图像,而且,该多个样本图像符合模型训练要求,用于作为模型训练的训练样本。指定目标可以预先设置,比如,指定目标可以为人脸或头发等,当然,该指定目标还可以根据实际需要设置为其他目标,本申请实施例对此不做限定。
作为一个示例,若指定目标为头发,则可以收集多个近景人脸图像,将收集的多个近景人脸图像作为用于进行模型训练的多个样本图像。
需要说明的是,由于有些指定目标的形状不规则,通过目标分割算法很难准确地进行识别,比如当指定目标为头发时,目标分割算法往往只能识别出头发区域的大致轮廓,无法实现对精细发丝的分割,本申请实施例中,为了实现对精细发丝的分割,可以先获取存在头发的多个样本图像的目标概率信息,然后根据多个样本图像的目标概率信息进行深度学习,通过深度学习的网络模型来实现对精细发丝的分割。
作为一个示例,样本图像的目标概率信息的呈现形式可以为alpha(阿尔法)图,alpha图中存储有样本图像中的每个像素点属于指定目标的概率。示例的,alpha图可以是一个将样本图像中的每个像素点采用16比特存储的位图,比如,对于样本图像的每一个像素点而言,可以以5个比特表示红色,5个比特表示绿色,5个比特表示蓝色,最后一个比特是阿尔法,阿尔法用于指示对应像素点属于指定目标的概率。
作为一个示例,多个样本图像的目标概率信息可以由技术人员对样本图像中的指定目标进行人工标注得到,也可以通过其他目标识别算法对图像进行识别得到,本申请实施例对获取多个样本图像的目标概率信息的方式不做限定。示例的,技术人员可以采用图像处理软件对样本图像中的指定目标区域进行精细标注,得到样本图像的目标概率信息。示例的,该图像处理软件可以为ps软件等。
作为一个示例,样本图像的目标概率信息可以为0或1。0用于指示对应像素点不属于指定目标,即属于背景;1用于指示对应像素点属于指定目标。作为另一示例,样本图像的目标概率信息可以位于[0,1]的区间内。
步骤102:根据多个样本图像中每个样本图像的目标概率信息,确定每个样本图像的目标分割信息,目标分割信息包括识别为指定目标的前景区域的位置信息、识别为非指定目标的背景区域的位置信息和无法识别是背景还是前景的未知区域的位置信息。
也即是,目标分割信息指示样本图像中的前景、背景和未知区域的分割信息,可以指示样本图像中的哪部分区域属于前景,哪部分区域属于背景,以及哪部分区域是无法准确地识别是前景还是背景的位置区域。
作为一个示例,样本图像的目标分割信息的呈现形式可以为trimap(一种静态图像抠图算法)图,trimap图中存储有样本图像的目标分割信息。比如,在样本图像的trimap图中,将前景区域用第一种颜色展示,背景区域用第二种颜色展示,未知区域用第三种颜色展示,通过不同的颜色来区分前景区域、背景区域和位置区域。
作为一个示例,可以对每个样本图像的目标概率信息进行腐蚀和/或膨胀处理,得到每个样本图像的目标分割信息。比如,对每个样本图像的alpha图进行腐蚀和/或膨胀处理,得到每个样本图像的trimap图。
通常对每个样本图像的目标概率信息进行腐蚀和/或膨胀处理,可以消除每个样本图像的噪声,实现前景和背景的精细分割。
作为另一示例,根据多个样本图像中每个样本图像的目标概率信息,确定每个样本图像的目标分割信息时,对于样本图像中的每个像素点,若该像素点的目标概率信息大于或等于第一概率阈值,则将该像素点确定为前景区域的像素点,若该像素点的目标概率信息小于第一概率阈值且大于第二概率阈值,则将该像素点确定为未知区域的像素点,若该像素点的目标概率信息小于第二概率阈值,则将该像素点确定为背景区域的像素点。其中,第一概率阈值大于第二概率阈值。
其中,第一概率阈值和第二概率阈值可以预先设置,比如第一概率阈值和第二概率阈值位于[0,1]的区间内。示例的,第一概率阈值为1,第二概率阈值为0。
步骤103:根据多个样本图像和多个样本图像的目标分割信息,对待训练分割网络模型进行训练,得到分割网络模型。
其中,该待训练分割网络模型和分割网络模型为深度学习网络模型,比如,可以为cnn(convolutionalneuralnetworks,卷积神网络)模型或rnn(recurrentneuralnetwork,循环神经网络)等深度学习网络模型。示例的,该待训练分割网络模型和分割网络模型为deeplab模型(一种cnn与概率图模型结合的语义分割模型),比如deeplabv3+(第三版deeplab)模型。
通过根据多个样本图像和多个样本图像的目标分割信息,对待训练分割网络模型进行训练,可以使得待训练分割网络模型在训练过程中能够不断学习样本图像与样本图像的目标分割信息之间的关系,进而得到能够确定出任一图像的目标分割信息的分割网络模型。
作为一个示例,在模型训练过程中,可以将多个样本图像作为待训练分割网络模型的输入,通过待训练分割网络模型输出多个样本图像的预测目标分割信息,然后确定多个样本图像的预测目标分割信息与目标分割信息之间的预测误差,通过反向传播算法对预测误差进行反向传播,以对待训练分割网络模型的模型参数进行调整,将模型参数调整后的待训练分割网络模型确定为训练好的分割网络模型。
作为一个示例,该反向传播算法为随机梯度下降法。
步骤104:根据多个样本图像、多个样本图像的目标分割信息和目标概率信息,对待训练抠图网络模型进行训练,得到抠图网络模型。
其中,该待训练抠图网络模型和抠图网络模型为深度学习网络模型,比如,可以为cnn或rnn等深度学习网络模型。示例的,该待训训练抠图网络模型和抠图网络模型为mbv_dim网络模型(一种深度学习网络模型)。
通过根据多个样本图像、多个样本图像的目标分割信息和目标概率信息,对待训练抠图网络模型进行训练,可以使得待训练抠图网络模型在训练过程中能够不断学习样本图像、样本图像的目标分割信息和样本图像的目标概率信息之间的关系,进而得到能够根据任一图像和该任一图像的目标分割信息,确定出该任一图像的目标概率信息的抠图网络模型。
作为一个示例,在模型训练过程中,可以将多个样本图像以及这多个样本图像的目标分割信息作为待训练抠图网络模型的输入,通过该待训练抠图网络模型输出多个样本图像的预测目标概率信息,确定这多个样本图像的预测目标概率信息与目标概率信息之间的预测误差,通过反向传播算法对预测误差进行反向传播,以对待训练抠图网络模型的模型参数进行调整,将模型参数调整后的待训练抠图网络模型确定为训练好的抠图网络模型。
在对分割网络模型和抠图网络模型训练完成之后,即可根据训练好的分割网络模型和抠图网络模型来对图像进行处理。接下来,对本申请实施例的图像处理过程进行详细介绍。
图2是本申请实施例提供的一种图像处理方法的流程图,该方法应用于图像处理装置中,如图2所示,该方法包括如下步骤:
步骤201:获取待处理的图像,图像中存在指定目标。
其中,待处理的图像可以为照片或画像,也可以为视频中的视频帧图像。而且,该待处理的图像可以由用户上传得到,可以从装置的存储空间中获取得到,可以由其他设备发送得到,也可以从网络中获取得到,本申请实施例对获取待处理的图像的方式不做限定。
其中,指定目标可以预先设置,比如,指定目标可以为人脸或头发等,当然,该指定目标还可以根据实际需要设置为其他目标,本申请实施例对此不做限定。
步骤202:将图像作为分割网络模型的输入,通过分割网络模型确定图像的目标分割信息,目标分割信息包括识别为指定目标的前景区域的位置信息、识别为非指定目标的背景区域的位置信息和无法识别是背景还是前景的未知区域的位置信息。
其中,分割网络模型用于确定任一图像的目标分割信息。分割网络模型的输入为图像,输出为图像的目标分割信息,将待处理的图像输入到分割网络模型之后,分割网络模型即可输出图像的目标分割信息。
作为一个示例,图像的目标分割信息的呈现形式可以为trimap图,trimap图中存储有样本图像的目标分割信息。比如,在trimap图中,将前景区域用第一种颜色展示,背景区域用第二种颜色展示,未知区域用第三种颜色展示,通过不同的颜色来区分前景区域、背景区域和位置区域。
步骤203:将图像和图像的目标分割信息作为抠图网络模型的输入,通过抠图网络模型确定图像的目标概率信息,图像的目标概率信息包括图像中的各个像素点属于指定目标的概率。
其中,抠图网络模型用于确定任一图像的目标概率信息。抠图网络模型的输入为图像和图像的目标分割信息,输出为图像的目标概率信息,将图像和图像的目标分割信息输入到抠图网络模型之后,抠图网络模型即可输出该图像的目标概率信息。
作为一个示例,图像的目标概率信息的呈现形式可以为alpha图,alpha图中存储有图像中的每个像素点属于指定目标的概率。示例的,alpha图可以是一个将图像中的每个像素点采用16比特存储的位图,比如,对于图像的每一个像素点而言,可以以5个比特表示红色,5个比特表示绿色,5个比特表示蓝色,最后一个比特是阿尔法,阿尔法用于指示对应像素点属于指定目标的概率。
步骤204:根据图像的目标概率信息,对图像中的指定目标进行处理。
也即是,可以根据图像的目标概率信息,对图像中的指定目标进行不同强度的处理,比如,对于图像中的每个像素点,该像素点属于指定目标的概率越大,则对该像素点的处理强度越大,该像素点属于指定目标的概率越小,则对该像素点的处理强度越小。如此,即可实现对图像中的指定目标进行精细化的处理。
作为一个示例,若处理方式为颜色变化,则根据图像的目标概率信息,对图像中的指定目标进行处理的操作可以包括:确定指定目标待变换成的目标颜色值;根据图像中每个像素点的第一颜色值、每个像素点属于指定目标的概率和所述目标颜色值,确定图像中每个像素点的第二颜色值;将图像中每个像素点的第一颜色值变换为第二颜色值,以对图像中的指定目标进行颜色变换。
作为一个示例,根据图像中每个像素点的第一颜色值、每个像素点属于指定目标的概率和所述目标颜色值,确定图像中每个像素点的第二颜色值的操作包括:对于图像中的目标像素点,将第一乘积和第二乘积进行相加,得到目标像素点的第二颜色值;其中,第一乘积是指目标像素点属于指定目标的概率与目标颜色值之间的乘积,第二乘积为目标像素点属于背景的概率与目标像素点的第一颜色值之间的乘积。
其中,目标像素点属于背景的概率是根据目标像素点属于指定目标的概率确定得到,比如,将1与目标像素点属于指定目标的概率的差值,确定为目标像素点属于背景的概率。
作为一个示例,若待处理的图像为近景人像,指定目标为头发,图像的目标分割信息的呈现形式为trimap图,目标概率信息的呈现形式为alpha图,则对近景人像的头发区域进行颜色变化的处理过程可以如图3所示。如图3所示,可以先将近景人像作为分割网络模型的输入,通过分割网络模型对近景人像进行分割处理,输出近景人像的trimap图,然后将近景人像以及近景人像的trimap图作为抠图网络模型的输入,通过抠图网络模型近景人像的trimap图对近景人像进行抠图处理,得到近景人像的alpha图,最后根据近景人像的alpha图对近景人像中的头发区域进行精细的颜色变换。
如此,可以实现对头发区域中发丝级的精细抠图效果,用户在头发区域进行颜色变换时,发丝的颜色变换更加自然真实,提高了用户体验。另外,本申请实施例通过先基于分割算法来生成trimap图,然后基于trimap图采用抠图算法来实现精细的发丝级抠图,从而整个过程可以实现自动化处理,进而可以根据用户的喜好实现精细的头发颜色变换的效果。
本申请实施例中,可以先将待处理的图像作为分割网络模型的输入,通过分割网络模型确定图像的目标分割信息,再将图像和图像的目标分割信息作为抠图网络模型的输入,通过抠图网络模型确定图像的目标概率信息,最后根据图像的目标概率信息即每个像素点属于指定目标的概率,来对图像中的指定目标进行不同强度的处理,如此,能够实现对指定目标的精细化分割和处理,提高了目标识别的准确度和目标处理的精细度,进而提高了图像处理效果。
图4是本申请实施例提供的一种图像处理装置的框图,如图4所示,该装置包括第一获取模块401、分割模块402、抠图模块403和处理模块404。
第一获取模块401,用于获取待处理的图像,该图像中存在指定目标;
分割模块402,用于将该图像作为分割网络模型的输入,通过该分割网络模型确定该图像的目标分割信息,该目标分割信息包括识别为指定目标的前景区域的位置信息、识别为非指定目标的背景区域的位置信息和无法识别是背景还是前景的未知区域的位置信息,该分割网络模型用于确定任一图像的目标分割信息;
抠图模块403,用于将该图像和该图像的目标分割信息作为抠图网络模型的输入,通过该抠图网络模型确定该图像的目标概率信息,该图像的目标概率信息包括该图像中的各个像素点属于该指定目标的概率,该抠图网络模型用于确定任一图像的目标概率信息;
处理模块404,用于根据该图像的目标概率信息,对该图像中的该指定目标进行处理。
可选地,该处理模块包括:
第一确定单元,用于确定该指定目标待变换成的目标颜色值;
第二确定单元,用于根据该图像中每个像素点的第一颜色值、每个像素点属于该指定目标的概率和该目标颜色值,确定该图像中每个像素点的第二颜色值;
变换单元,用于将该图像中每个像素点的第一颜色值变换为第二颜色值,以对该图像中的该指定目标进行颜色变换。
可选地,该第二确定单元用于:
对于该图像中的目标像素点,将第一乘积和第二乘积进行相加,得到该目标像素点的第二颜色值;
其中,该第一乘积是指该目标像素点属于该指定目标的概率与该目标颜色值之间的乘积,该第二乘积为该目标像素点属于背景的概率与该目标像素点的第一颜色值之间的乘积,该目标像素点属于背景的概率是根据该目标像素点属于该指定目标的概率确定得到。
可选地,该装置还包括:
第二获取模块,用于获取多个样本图像的目标概率信息;
确定模块,用于根据该多个样本图像中每个样本图像的目标概率信息,确定每个样本图像的目标分割信息;
第一训练模块,用于根据该多个样本图像和该多个样本图像的目标分割信息,对待训练分割网络模型进行训练,得到该分割网络模型。
可选地,该确定模块用于:
对每个样本图像的目标概率信息进行腐蚀和/或膨胀处理,得到每个样本图像的目标分割信息。
可选地,该装置还包括:
第二训练模块,用于根据多个样本图像、该多个样本图像的目标分割信息和目标概率信息,对待训练抠图网络模型进行训练,得到该抠图网络模型。
可选地,该指定目标为头发或人脸。
本申请实施例中,可以先将待处理的图像作为分割网络模型的输入,通过分割网络模型确定图像的目标分割信息,再将图像和图像的目标分割信息作为抠图网络模型的输入,通过抠图网络模型确定图像的目标概率信息,最后根据图像的目标概率信息即每个像素点属于指定目标的概率,来对图像中的指定目标进行不同强度的处理,如此,能够实现对指定目标的精细化分割和处理,提高了目标识别的准确度和目标处理的精细度,进而提高了图像处理效果。
需要说明的是:上述实施例提供的图像处理装置在进行图像处理时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的图像处理装置与图像处理方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
图5是本申请实施例提供的一种电子设备500的结构示意图,该电子设备可以终端或服务器等,终端可以为手机、平板电脑或计算机等。该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器501和一个或一个以上的存储器502,其中,所述存储器502中存储有至少一条指令,所述至少一条指令由所述处理器501加载并执行以实现上述各个方法实施例提供的图像处理方法。当然,该电子设备还可以具有有线或无线网络接口、键盘以及输入输出接口等部件,以便进行输入输出,该电子设备还可以包括其他用于实现设备功能的部件,在此不做赘述。
本申请实施例还提供了一种计算机可读介质,该计算机可读介质存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的图像处理方法。
本申请实施例还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的图像处理方法。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本申请实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。