
1.本技术涉及计算机视频技术领域,特别是涉及一种图像处理方法、装置、设备及可读存储介质。
背景技术:2.在计算机视觉领域,自监督预训练模型的泛化性与适用性仍然面临诸多挑战与困难。
3.对比学习是计算机视觉领域中的一种主流自监督学习方法,对比学习中所涉及到的代理任务是实例判别(instance discrimination)。其主要思想是在学习的过程中使得来自同一张图像的不同增强样本对(正样本对)在特征表示空间中的距离尽可能近,而对于来自不同图像的增强样本对(负样本对)在特征表示空间中的距离尽可能远,从而达到区分不同实例的目的。当表示空间的高维特征达到预训练预期的效果之后,这些特征将被直接被应用于视觉领域不同的下游任务,比如目标检测、语义分割等任务。但是,在实际应用中可发现,对比学习,其泛化性能有限,难以适应实际应用需求。
4.综上所述,如何有效地提升视觉表示泛化性等问题,是目前本领域技术人员急需解决的技术问题。
技术实现要素:5.本技术的目的是提供一种图像处理方法、装置、设备及可读存储介质,能够有效提升视觉表示泛化性。
6.为解决上述技术问题,本技术提供如下技术方案:
7.一种图像处理方法,包括:
8.获取待处理的目标图像;
9.利用训练好的图像处理模型,对所述目标图像进行处理,得到处理结果;
10.其中,训练所述图像处理模型,包括:
11.在自监督学习框架中的上支路网络增加图像相互融合输入分支,得到训练模型;
12.利用训练图像,并结合目标损失函数对所述训练模型进行训练;所述目标损失函数包括对比损失学习函数和融合损失函数;
13.训练结束后,保留训练过程中编码器的网络结构和相对应的训练权重,得到所述图像处理模型。
14.优选地,利用训练好的图像处理模型,对所述目标图像进行处理,得到处理结果,包括:
15.将所述目标图像输入至所述图像处理模型进行内容识别,得到图像内容信息。
16.优选地,利用训练好的图像处理模型,对所述目标图像进行处理,得到处理结果,包括:
17.将所述目标图像输入至所述图像处理模型进行目标识别检测,得到检测结果。
18.优选地,利用训练好的图像处理模型,对所述目标图像进行处理,得到处理结果,包括:
19.将所述目标图像输入至所述图像处理模型进行语义分割,得到分割结果。
20.优选地,所述利用训练图像,并结合目标损失函数对所述训练模型进行训练,包括:
21.对所述训练图像进行两两融合,得到融合图像;
22.将所述训练图像和所述融合图像输入至所述训练模型进行训练;
23.利用所述目标损失函数计算所述训练模型的损失值。
24.优选地,在对所述训练图像进行两两融合之前,还包括:
25.对所述训练图像进行图像增强处理。
26.优选地,对所述训练图像进行两两融合,得到融合图像,包括:
27.获取随机的二值掩模图像;
28.利用所述二值掩膜图像,确定第一训练图像的第一丢弃图像块和第一保留图像块;
29.利用取反后的所述二值掩膜图像,确定第二训练图像的第二丢弃图像块和第二保留图像块;
30.合并所述第一保留图像块与所述第二保留图像块,得到所述融合图像。
31.一种图像处理装置,包括:
32.图像获取模块,用于获取待处理的目标图像;
33.图像处理模块,用于利用训练好的图像处理模型,对所述目标图像进行处理,得到处理结果;
34.模型训练模块,用于在自监督学习框架中的上支路网络增加图像相互融合输入分支,得到训练模型;利用训练图像,并结合目标损失函数对所述训练模型进行训练;所述目标损失函数包括对比损失学习函数和融合损失函数;训练结束后,保留训练过程中编码器的网络结构和相对应的训练权重,得到所述图像处理模型。
35.一种电子设备,包括:
36.存储器,用于存储计算机程序;
37.处理器,用于执行所述计算机程序时实现上述图像处理方法的步骤。
38.一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述图像处理方法的步骤。
39.应用本技术实施例所提供的方法,获取待处理的目标图像;利用训练好的图像处理模型,对目标图像进行处理,得到处理结果;其中,训练图像处理模型,包括:在自监督学习框架中的上支路网络增加图像相互融合输入分支,得到训练模型;利用训练图像,并结合目标损失函数对训练模型进行训练;目标损失函数包括对比损失学习函数和融合损失函数;训练结束后,保留训练过程中编码器的网络结构和相对应的训练权重,得到图像处理模型。
40.在本技术中,对图像处理模型进行训练时,针对训练图像进行融合,将融合所得的融合图像和训练图像并结合包括了对比损失学习函数和融合损失函数的目标损失函数。即将融合策略运用在自监督学习过程中,将不同输入图像进行融合,增加了模型区别正负样
本图像的难度,从而能够有效提升模型训练过程中对图像特征的抽象表示。因而,在训练完成后,所得的图像处理模型对目标图像进行处理,能够体现更好的泛化性。即,能够更好地对目标图像进行处理,得到更加精准的处理结果。
41.相应地,本技术实施例还提供了与上述图像处理方法相对应的图像处理装置、设备和可读存储介质,具有上述技术效果,在此不再赘述。
附图说明
42.为了更清楚地说明本技术实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
43.图1为本技术实施例中一种图像处理方法的实施流程图;
44.图2为本技术实施例中一种训练模型的示意图;
45.图3为本技术实施例中一种图像融合示意图;
46.图4为本技术实施例中一种图像处理装置的结构示意图;
47.图5为本技术实施例中一种电子设备的结构示意图;
48.图6为本技术实施例中一种电子设备的具体结构示意图。
具体实施方式
49.为了使本技术领域的人员更好地理解本技术方案,下面结合附图和具体实施方式对本技术作进一步的详细说明。显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
50.请参考图1,图1为本技术实施例中一种图像处理方法的流程图,该方法包括以下步骤:
51.s101、获取待处理的目标图像。
52.可以从可读存储介质中直接读取到该目标图像,也可以通过在线网络或近距离传输(如蓝牙等)等方式,接收到该目标图像。
53.s102、利用训练好的图像处理模型,对目标图像进行处理,得到处理结果。
54.在本实施例中,可以预先训练好图像处理模型,如此,在获取到目标图像之后,则可直接利用训练好的图像处理模型对目标图像进行处理,从而得到对应的处理结果。图像处理模型对目标图像进行处理可以为做图像分类,物体识别和检测,语义分割等常见的图像处理中的任意一种。
55.其中,图像分类(image classification),即识别图像中存在的内容;物体识别和检测(object recognition and detection),即识别图像中存在的内容和位置(通过边界框);语义分割(semantic segmentation)即识别图像中存在的内容以及位置(通过查找属于它的所有像素)。当然,当对目标图像进行某种图像处理时,对应的图像处理模型则已经过对应的图像处理训练学习。
56.其中,训练图像处理模型,包括:
57.步骤一、在自监督学习框架中的上支路网络增加图像相互融合输入分支,得到训练模型;
58.步骤二、利用训练图像,并结合目标损失函数对训练模型进行训练;目标损失函数包括对比损失学习函数和融合损失函数;
59.步骤三、训练结束后,保留训练过程中编码器的网络结构和相对应的训练权重,得到图像处理模型。
60.为便于描述,下面将上述三个步骤结合起来进行说明。
61.请参考图2,图2为本技术实施例中一种训练模型的示意图。即,该训练模型包括自监督学习框架,且在该框架的上支路网络中具有图像相互融合输入分支(如图中标示为
①
的框内容),在损失函数部分,该训练模型的损失模型对应目标损失函数(如图中标示为
②
的框内容),目标损失函数包括对比损失学习函数和融合损失函数。图2中的其他内容,如编码器、下游任务、映射头等内容均可参考自监督学习框架,在此不再一一赘述。
62.其中,目标损失函数:
63.l=l
contrast
+α*l
r_mix
64.其中,l
contrast
即对比损失学习函数,l
r_mix
即融合损失函数,α权值(其值大小,可根据实际应用需求进行设置)。
65.对比损失学习函数的一般化形式:
[0066][0067]
其中,n表示minibatch(最小输入批次)大小,z
′i表示与zi互为正样本对的样本特征表示,k表示负样本数量,zj表示负样本的特征表示。τ表示软化相似度表示的超参数温度值。
[0068]
融合损失函数:
[0069][0070]zmix_i
表示融合之后样本(即融合图像)的特征表示,z
′i表示参与融合样本(即训练图像)的特征表示。
[0071]
训练完成后,保留训练过程中编码器的网络结构和相对应的训练权重,即可得到图像处理模型,可作为面向其他任务的特征提取器,即进行相应的图像处理。
[0072]
在实际应用时,自监督学习框架中的encoder(编码器)和prejector(映射头)网络结构分别可采用卷积残差网络(resnet-50)和多层感知网络(mlp)。mlp网络由带有relu(线性整流函数,linear rectification function,,又称修正线性单元,一种人工神经网络中常用的激活函数(activation function),通常指代以斜坡函数及其变种为代表的非线性函数)的两层线性层组成,第一个线性层的输出维度为4096,第二个线性层的输出维度为256。另外,即可采用sgd(stochastic gradient descent,随机梯度下降算法)优化策略进
行参数的更新,总的mini-batch size(最小批次输入大小)大小设定为256。温度τ值设定为0.07。总共进行200epoch迭代训练,一个epoch,即表示所有的数据送入网络中,完成了一次前向计算+反向传播的过程。
[0073]
在对训练模型进行训练时,将训练图像输入到训练模型,基于图像相互融合输入分支,训练图像会相互融合,并且在损失值计算中,融合损失函数也会参与计算。也就是说,本技术中的模型训练,是一种结合了图像融合的自监督学习过程。如此,便可得到泛化性更好的图像处理模型。训练好的图像处理模型中,即无图像相互融合输入分支且可进行图像处理的模型。
[0074]
其中,泛化性也表示为泛化能力(generalization ability)是指机器学习算法对新鲜样本的适应能力。也就是说,学习的目的是学到隐含在数据背后的规律,对具有同一规律的学习集以外的数据,经过训练的网络也能给出合适的输出,该能力称为泛化能力。
[0075]
根据不同的图像处理场景而言,步骤s102对应的处理和处理结果对应不同。具体如下:
[0076]
对于内容识别场景:
[0077]
步骤s102利用训练好的图像处理模型,对目标图像进行处理,得到处理结果,包括:
[0078]
将目标图像输入至图像处理模型进行内容识别,得到图像内容信息。其中,内容识别即对输入图像进行识别、判断、分类等,识别的目的是确定是否为所需要的目标内容。该图像处理模型即通过训练,使得其能够有效识别出输入图像的内容。例如,当目标图像为小狗照片,将目标图像出入至图像处理模型进行内容识别,所得到的图像内容信息可以具体为狗。
[0079]
对于目标识别检测场景:
[0080]
步骤s102利用训练好的图像处理模型,对目标图像进行处理,得到处理结果,包括:
[0081]
将目标图像输入至图像处理模型进行目标识别检测,得到检测结果。其中,目标检测(target detection)即定位目标,确定目标位置和大小,检测目标的有无。检测有明确目的性,需要检测什么就去获取样本,然后训练得到模型,最后直接去图像上进行匹配,其实也是识别的过程。目标识别(target recognition),即定性目标,确定目标的具体模式(类别)。该图像处理模型即通过训练,使得其能够有效进行目标识别检测。例如,目标图像为行人图像,将目标图像输入至图像处理模型进行目标识别检测,所得到的检测结果可具体为已知人员在图像中所处区域。
[0082]
对于语义分割场景:
[0083]
步骤s103利用训练好的图像处理模型,对目标图像进行处理,得到处理结果,包括:
[0084]
将目标图像输入至图像处理模型进行语义分割,得到分割结果。其中,语义分割即对图像中每一个像素点进行分类,确定每个点的类别(如属于背景、人或车等),从而进行区域划分。目前,语义分割已经被广泛应用于自动驾驶、无人机落点判定等场景中。该图像处理模型即通过训练,使得其能够有效进行语义分割。例如,目标图像为交通监控视频中的其中一帧,通过图像处理模型进行语义分割,该分割结果可以具体为该目标图像中的车辆与
道路背景分别对应的区域。
[0085]
应用本技术实施例所提供的方法,获取待处理的目标图像;利用训练好的图像处理模型,对目标图像进行处理,得到处理结果;其中,训练图像处理模型,包括:在自监督学习框架中的上支路网络增加图像相互融合输入分支,得到训练模型;利用训练图像,并结合目标损失函数对训练模型进行训练;目标损失函数包括对比损失学习函数和融合损失函数;训练结束后,保留训练过程中编码器的网络结构和相对应的训练权重,得到图像处理模型。
[0086]
在本技术中,对图像处理模型进行训练时,针对训练图像进行融合,将融合所得的融合图像和训练图像并结合包括了对比损失学习函数和融合损失函数的目标损失函数。即将融合策略运用在自监督学习过程中,将不同输入图像进行融合,增加了模型区别正负样本图像的难度,从而能够有效提升模型训练过程中对图像特征的抽象表示。因而,在训练完成后,所得的图像处理模型对目标图像进行处理,能够体现更好的泛化性。即,能够更好地对目标图像进行处理,得到更加精准的处理结果。
[0087]
需要说明的是,基于上述实施例,本技术实施例还提供了相应的改进方案。在优选/改进实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在本文的优选/改进实施例中不再一一赘述。
[0088]
在本技术中的一种具体实施方式中,模型训练过程中,利用训练图像,并结合目标损失函数对训练模型进行训练步骤,可具体包括:
[0089]
步骤一、对训练图像进行两两融合,得到融合图像;
[0090]
步骤二、将训练图像和融合图像输入至训练模型进行训练;
[0091]
步骤三、利用目标损失函数计算训练模型的损失值。
[0092]
为便于描述,下面将上述三个步骤结合起来进行说明。
[0093]
在本技术中,可以对训练图像进行两两融合,从而得到融合图像。然后,将融合图像也视为训练图像参与训练。具体的,即将训练模型和融合图像均输入到训练模型进行训练。然后再利用目标损失函数计算损失值。
[0094]
进一步地,在本技术中的另一具体实施方式中,还可以对训练图像进行图像增强处理,从而优化训练。具体的,在对训练图像进行两两融合之前,可对训练图像进行图像增强处理。
[0095]
其中,图像增强处理,可具体为生成同一样本的不同视角样本采用3种级联的数据增强办法,首先将随机选取的图像块缩放至224x224大小(当然也可缩放至其他大小,在此不再一一列举),并进行水平翻转操作;其次,进行颜色色调失真操作;最后,进行高斯模糊操作。将这三种方式同时作用于同一张图像,目的在于使得生成的数据增强样本尽可能地与原样本不一致,增加网络学习任务的难度。
[0096]
如此,该融合图像即为基于图像增强后的训练图像进行融合而得到。为了便于区别,在本文中将经过图像增强处理的训练样本称之为增强图像。也就是说,每两个增强图像可以融合生成一个融合图像。
[0097]
在本技术中的一种具体实施方式中,上述步骤一对训练图像进行两两融合,得到融合图像,可以具体包括:
[0098]
步骤1、获取随机的二值掩模图像;
[0099]
步骤2、利用二值掩膜图像,确定第一训练图像的第一丢弃图像块和第一保留图像块;
[0100]
步骤3、利用取反后的二值掩膜图像,确定第二训练图像的第二丢弃图像块和第二保留图像块;
[0101]
步骤4、合并第一保留图像块与第二保留图像块,得到融合图像。
[0102]
其中,第一训练图像和第二训练图像仅是为了说明融合处理时,需要两个不同的训练图像,其一为称之为第一训练图像,另一称之为第二训练图像,即第一和第二仅用于区别存在不同训练图像,而并非是对训练图像进行先后、主次等的描述。相应地,第一丢弃图像块、第一保留图像块,第二丢弃图像块和第二保留图像块,其中的第一和第二也仅用于表示其与第一训练图像和第二训练图像存在所属关系,而并无其他限定含义。
[0103]
具体的,可以随机确定第一训练图像和第二训练图像中各自对应保留和舍弃一部分图像块。具体可采用随机的二值掩模图像,实现图像块的随机确定。为了便于区别,本技术将第一训练图像的丢弃图像块称之为第一丢弃图像块,将第一训练图像的保留图像块称之为第一保留图像块,相应地,对第二训练图像的丢弃图像块称之为第二丢弃图像块,将第二训练图像的保留图像块称之为第二丢弃图像块。需要注意的,针对第一训练图像和第二训练图像其丢弃和保留的区域是互补的。因而,可以直接将第一保留图像块和第二保留图像块直接拼出一个完整的融合图像。
[0104]
在实际应用中,可以采用cutmix算法,来实现上述融合过程。具体的,采用cutmix算法效果,可参考示意图3所示,具体的做法如下方公式所示:x
r_mix
=m
⊙
xa+(1-m)
⊙
xb其中,xa、xb分别表示训练图像,m∈{0,1}d是一个二值掩模图像,m是个随机值,意味着xa和xb训练图像的分别丢弃和保留的图像块,决定了xa与xb最终的融合效果。
⊙
表示逐像素乘积操作。x
r_mix
表示最终局部图像块相互拼接形成的融合样本。
[0105]
相应于上面的方法实施例,本技术实施例还提供了一种图像处理装置,下文描述的图像处理装置与上文描述的图像处理方法可相互对应参照。
[0106]
参见图4所示,该装置包括以下模块:
[0107]
图像获取模块101,用于获取待处理的目标图像;
[0108]
图像处理模块102,用于利用训练好的图像处理模型,对目标图像进行处理,得到处理结果;
[0109]
模型训练模块103,用于在自监督学习框架中的上支路网络增加图像相互融合输入分支,得到训练模型;利用训练图像,并结合目标损失函数对训练模型进行训练;目标损失函数包括对比损失学习函数和融合损失函数;训练结束后,保留训练过程中编码器的网络结构和相对应的训练权重,得到图像处理模型。
[0110]
应用本技术实施例所提供的装置,获取待处理的目标图像;利用训练好的图像处理模型,对目标图像进行处理,得到处理结果;其中,训练图像处理模型,包括:在自监督学习框架中的上支路网络增加图像相互融合输入分支,得到训练模型;利用训练图像,并结合目标损失函数对训练模型进行训练;目标损失函数包括对比损失学习函数和融合损失函数;训练结束后,保留训练过程中编码器的网络结构和相对应的训练权重,得到图像处理模型。
[0111]
在本技术中,对图像处理模型进行训练时,针对训练图像进行融合,将融合所得的
融合图像和训练图像并结合包括了对比损失学习函数和融合损失函数的目标损失函数。即将融合策略运用在自监督学习过程中,将不同输入图像进行融合,增加了模型区别正负样本图像的难度,从而能够有效提升模型训练过程中对图像特征的抽象表示。因而,在训练完成后,所得的图像处理模型对目标图像进行处理,能够体现更好的泛化性。即,能够更好地对目标图像进行处理,得到更加精准的处理结果。
[0112]
在本技术的一种具体实施方式中,图像处理模块102,具体用于将目标图像输入至图像处理模型进行内容识别,得到图像内容信息。
[0113]
在本技术的一种具体实施方式中,图像处理模块102,具体用于将目标图像输入至图像处理模型进行目标识别检测,得到检测结果。
[0114]
在本技术的一种具体实施方式中,图像处理模块102,具体用于将目标图像输入至图像处理模型进行语义分割,得到分割结果。
[0115]
在本技术的一种具体实施方式中,模型训练模块103,具体用于对训练图像进行两两融合,得到融合图像;
[0116]
将训练图像和融合图像输入至训练模型进行训练;
[0117]
利用目标损失函数计算训练模型的损失值。
[0118]
在本技术的一种具体实施方式中,模型训练模块103,具体用于在对训练图像进行两两融合之前,对训练图像进行图像增强处理。
[0119]
在本技术的一种具体实施方式中,模型训练模块103,具体用于获取随机的二值掩模图像;
[0120]
利用二值掩膜图像,确定第一训练图像的第一丢弃图像块和第一保留图像块;
[0121]
利用取反后的二值掩膜图像,确定第二训练图像的第二丢弃图像块和第二保留图像块;
[0122]
合并第一保留图像块与第二保留图像块,得到融合图像。
[0123]
相应于上面的方法实施例,本技术实施例还提供了一种电子设备,下文描述的一种电子设备与上文描述的一种图像处理方法可相互对应参照。
[0124]
参见图5所示,该电子设备包括:
[0125]
存储器332,用于存储计算机程序;
[0126]
处理器322,用于执行计算机程序时实现上述方法实施例的图像处理方法的步骤。
[0127]
具体的,请参考图6,图6为本实施例提供的一种电子设备的具体结构示意图,该电子设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,cpu)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储器332通信,在电子设备301上执行存储器332中的一系列指令操作。
[0128]
电子设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。
[0129]
上文所描述的图像处理方法中的步骤可以由电子设备的结构实现。
[0130]
相应于上面的方法实施例,本技术实施例还提供了一种可读存储介质,下文描述
的一种可读存储介质与上文描述的一种图像处理方法可相互对应参照。
[0131]
一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的图像处理方法的步骤。
[0132]
该可读存储介质具体可以为u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(random access memory,ram)、磁碟或者光盘等各种可存储程序代码的可读存储介质。
[0133]
本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。