一种基于自监督学习的掩码图像建模算法的制作方法
未命名
10-09
阅读:166
评论:0
1.本发明涉及掩码图像建模技术领域,尤其涉及一种基于自监督学习的掩码图像建模算法。
背景技术:
2.自监督学习可以利用大量无标注数据进行训练,提高模型的泛化能力和效率,被广泛应用于图像、语音、文本等领域。得益于掩码语言建模(masked language modeling,mlm)在自然语言处理上成功和视觉transformer的发展,掩码图像建模(masked image modeling,mim)在自监督视觉表示学习领域取得了卓越的成功。mim通过首先掩蔽输入的一些部分,然后基于未掩蔽的部分预测其信号来学习语义表示,例如,归一化像素、离散标记、hog特征、深度特征或频率。
3.mae(maskedautoencoders)是用于mim的自监督学习方法,优点是扩展性强,方法简单。mae会随机mask输入图片的部分patches,然后重构这些缺失的像素。mae采用非对称的编码解码结构,编码器仅仅对可见的patches进行编码,不对mask tokens进行任何处理,解码器将编码器的输出和mask tokens作为输入,重构图像。由于图像和语言数据的信息密度的差异,mae使用较高的mask比例。然而,这样会导致具有巨大的计算负担和缓慢的学习过程。且随机mask不同的patches,模型会产生不同预测结果,存在较高的不确定性。此类问题也是掩码图像建模的共性问题。
4.综上所述,本发明通过设计一种基于自监督学习的掩码图像建模深度学习范式实现高精度和高效率的掩码图像建模。
技术实现要素:
5.针对现阶段自监督掩码图像建模算法的存在缺陷,本发明提供一种新的基于自监督学习的掩码图像建模算法,首将图像划分为patches并随机分为4等份,每份patches作为可见patches,其余作为掩码patches,由此的到4张掩码图像,可见patches作为编码器输入得到潜在特征表示,编码后的可见patches和掩码patches共同作为编码器的输入进行图像重建,通过将同一图像得到的不同掩码图像中的掩码patches重叠部分预测结果的平均绝对误差最小化,以增强模型重建结果的确定性。在开源数据集上掩码图像建模方法中位于前列位置。
6.为实现上述目的,本发明提供如下技术方案:
7.一种基于自监督学习的掩码图像建模算法,包括以下步骤:
8.步骤s1:mim主要使用的开源数据集是imagenet dataset、coco dataset和places365 dataset等,如需在自己的数据集上进行训练,需要将数据格式准备为与上述数据集一致,首先对数据进行转换,图像缩放到相同的大小并进行归一化处理;
9.步骤s2,将图像划分为相同大小的patches,随机对部分patches添加掩码(高掩码比),未添加掩码的可见patches作为编码器(vit)的输入进行编码,对可见patches执行线
性投影,再加上位置嵌入,然后送入transformer块得到潜在特征表示;
10.步骤s3,将掩码patches和编码器的输出按照原始图像中的顺序合并,作为解码器(vit)的输入,解码器最后一层为线性投影,将潜在特征映射回像素空间,完成整张图像的重建预测;
11.步骤s4,对同一张图像,采用s2中添加掩码的方式,可以得到可见patches不重叠的多个掩码图像,任意两个掩码图像的重建预测中存在部分相同的掩码patches,将不同掩码图像中相同掩码patches的重建结果的平均绝对误差最小化,以增强模型预测结果的确定性;
12.步骤s5,根据上面重建的掩码patches,计算与原始图像patches的均方误差(mse),最小化以优化模型,模型可以直接执行图像重建任务,也可以使用不同模块替换解码器,经过微调后执行相应的下游任务。
13.一种基于自监督学习的掩码图像建模算法,s1中使用的图像数据统一缩放至224
×
224大小。
14.s2中划分的图像patches大小为16
×
16,一张224
×
224大小的图像可划分为14
×
14个图像patches,把14
×
14个图像patches随机等分为4部分,作为可见patches,对其余patches添加掩码,通过这种方式,一张原始图像可以得到4个可见patches互不重叠且掩码比为75%的掩码图像,每个掩码图像使用一个长度为14
×
14的向量t表示位置信息,向量t中每个元素都满足{0,1}二值分布,0表示掩码patches,1表示可见patches,元素索引为图像patches位置信息,每个掩码图像中包含一对互补组合x:可见patchesxv=x
⊙
t和掩码patches xm=x
⊙
(1-t),图像patches的随机划分采用以下策略:
15.(1)初始化一个14
×
14的向量d=[0,1,
…
,195];
[0016]
(2)随机打乱向量d中的元素的顺序;
[0017]
(3)初始化4个14
×
14的零向量t0,t1,t2,t3用来保存掩码图像信息;
[0018]
(4)设i={0,1,2,3},ti更新过程如公式(1)所示:
[0019]
ti[d[4*i:4*(i+1)]]=1
ꢀꢀꢀꢀꢀꢀꢀ
(1)
[0020]
由此一张原始图像可以得到4个可见patches互不重叠且掩码比为75%的掩码图像。其中75%为最佳掩码比,降低掩码比会增加图像冗余信息,过高掩码比会由于图像信息过少导致图像重建效果不佳。
[0021]
编码器采用vit,输入为向量t中位置元素为1的可见patches,就像在标准的vit中一样,编码器通过线性投影嵌入patches(为每个输入的patch生成一个token),并添加位置嵌入,然后通过一系列transformer块来处理嵌入序列,由于编码器只处理整个patches集合中的25%可见patches,可以使用较少的计算资源和硬件成本训练一个较大大的编码器,同时对图像数据的充分利用也大大减少了模型的训练难度。
[0022]
s3中的解码器是轻量级的,由一系列transformer块组成,输入为可见patches经过编码器处理后得到的潜在特征表示和掩码tokens(向量t中位置元素为0的patches),掩码tokens是一个共享的可学习向量,表示存在一个需要预测的缺失的patch,并添加位置嵌入,解码器的最后一层是线性投影,为方便重建掩码patches,输出通道数量和一个patch内的pixel数量相同,输出的每个元素都是一个表示patch的像素值向量,然后再reshape,得到重建图像,以每个掩码patch的归一化像素值为重建目标可以有效提高特征表示的质量,
解码器与编码器采用非对称设计,解码器对每个token的计算量在编码器的10%以下,大大减少模型训练时间,编解码的过程如公式(2)所示:
[0023]
y=g(f(xv)∪xm)
ꢀꢀꢀꢀꢀꢀꢀ
(2)
[0024]
其中xv表示可见patches,xm表示掩码patches,f(
·
)表示编码器,g(
·
)表示解码器,编码后的可见patches和掩码patches排列顺序与原始图像patches一致,位置信息记录在向量t中。
[0025]
s4中的来自同一原始图像的4个不同掩码图像的重建结果中,两两之间有50%的掩码patches是重叠的,重叠部分o
ij
定义为:
[0026]oij
=ti∩t
j (3)
[0027]
其中,ti和tj为掩码图像i和j向量表示,o
ij
为ti和tj中同为0的元素,表示重叠的掩码patches。
[0028]
由于可见patches的不同,相同的掩码patches的重建结果也会存在一定差异,将不同掩码图像中相同掩码patches的重建结果平均绝对误差最小化,指导掩码patches重建,以增强模型预测结果的确定性,计算过程如公式(4)所示:
[0029][0030]
其中,pi和pj表示掩码图像i和j的重建结果。
[0031]
s5中的掩码patches的重建结果与原始图像patches在像素空间中的均方误差计算过程如公式(5)所示:
[0032][0033]
其中xm表示掩码patches,ym表示xm的重建结果,最终训练模型使用的损失可以用公式(6)表示。
[0034]
l
total
=lc+l
w (6)
[0035]
训练好的模型可以直接执行图像重建任务,也可以将其当作一个预训练模型,采用不同模块替换解码器后进行微调,执行分类、目标检测、实例分割等下游任务任务。
[0036]
与现有技术相比,本发明的有益效果是:
[0037]
针对现阶段自监督掩码图像建模算法的存在缺陷,本发明提供一种新的基于自监督学习的掩码图像建模算法,首将图像划分为patches并随机分为4等份,每份patches作为可见patches,其余作为掩码patches,由此的到4张掩码图像,可见patches作为编码器输入得到潜在特征表示,编码后的可见patches和掩码patches共同作为编码器的输入进行图像重建,通过将同一图像得到的不同掩码图像中的掩码patches重叠部分预测结果的平均绝对误差最小化,以增强模型重建结果的确定性。通过充分利用数据,大大节省了训练时间和硬件资源,在开源数据集上掩码图像建模方法中位于前列位置。
具体实施方式
[0038]
下面将结合本发明实施例中,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例,于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,
都属于本发明保护的范围。
[0039]
一种基于自监督学习的掩码图像建模算法,包括以下步骤:
[0040]
步骤s1:mim主要使用的开源数据集是imagenet dataset、coco dataset和places365 dataset等,如需在自己的数据集上进行训练,需要将数据格式准备为与上述数据集一致,首先对数据进行转换,图像缩放到相同的大小并进行归一化处理;
[0041]
步骤s2,将图像划分为相同大小的patches,随机对部分patches添加掩码(高掩码比),未添加掩码的可见patches作为编码器(vit)的输入进行编码,对可见patches执行线性投影,再加上位置嵌入,然后送入transformer块得到潜在特征表示;
[0042]
步骤s3,将掩码patches和编码器的输出按照原始图像中的顺序合并,作为解码器(vit)的输入,解码器最后一层为线性投影,将潜在特征映射回像素空间,完成整张图像的重建预测;
[0043]
步骤s4,对同一张图像,采用s2中添加掩码的方式,可以得到可见patches不重叠的多个掩码图像,任意两个掩码图像的重建预测中存在部分相同的掩码patches,将不同掩码图像中相同掩码patches的重建结果的平均绝对误差最小化,以增强模型预测结果的确定性;
[0044]
步骤s5,根据上面重建的掩码patches,计算与原始图像patches的均方误差(mse),最小化以优化模型,模型可以直接执行图像重建任务,也可以使用不同模块替换解码器,经过微调后执行相应的下游任务。
[0045]
s1中使用的图像数据统一缩放至224
×
224大小。
[0046]
s2中划分的图像patches大小为16
×
16,一张224
×
224大小的图像可划分为14
×
14个图像patches,把14
×
14个图像patches随机等分为4部分,作为可见patches,对其余patches添加掩码,通过这种方式,一张原始图像可以得到4个可见patches互不重叠且掩码比为75%的掩码图像,每个掩码图像使用一个长度为14
×
14的向量t表示位置信息,向量t中每个元素都满足{0,1}二值分布,0表示掩码patches,1表示可见patches,元素索引为图像patches位置信息,每个掩码图像中包含一对互补组合x:可见patches xv=x
⊙
t和掩码patchesxm=x
⊙
(1-t),图像patches的随机划分采用以下策略:
[0047]
(1)初始化一个14
×
14的向量d=[0,1,
…
,195];
[0048]
(2)随机打乱向量d中的元素的顺序;
[0049]
(3)初始化4个14
×
14的零向量t0,t1,t2,t3用来保存掩码图像信息;
[0050]
(4)设i={0,1,2,3},ti更新过程如公式(1)所示:
[0051]
ti[d[4*i:4*(i+1)]]=1
ꢀꢀꢀꢀꢀꢀ
(1)
[0052]
由此一张原始图像可以得到4个可见patches互不重叠且掩码比为75%的掩码图像。其中75%为最佳掩码比,降低掩码比会增加图像冗余信息,过高掩码比会由于图像信息过少导致图像重建效果不佳。
[0053]
编码器采用vit,输入为向量t中位置元素为1的可见patches,就像在标准的vit中一样,编码器通过线性投影嵌入patches(为每个输入的patch生成一个token),并添加位置嵌入,然后通过一系列transformer块来处理嵌入序列,由于编码器只处理整个patches集合中的25%可见patches,可以使用较少的计算资源和硬件成本训练一个较大大的编码器,同时对图像数据的充分利用也大大减少了模型的训练难度。
[0054]
s3中的解码器是轻量级的,由一系列transformer块组成,输入为可见patches经过编码器处理后得到的潜在特征表示和掩码tokens(向量t中位置元素为0的patches),掩码tokens是一个共享的可学习向量,表示存在一个需要预测的缺失的patch,并添加位置嵌入,解码器的最后一层是线性投影,为方便重建掩码patches,输出通道数量和一个patch内的pixel数量相同,输出的每个元素都是一个表示patch的像素值向量,然后再reshape,得到重建图像,以每个掩码patch的归一化像素值为重建目标可以有效提高特征表示的质量,解码器与编码器采用非对称设计,解码器对每个token的计算量在编码器的10%以下,大大减少模型训练时间,编解码的过程如公式(2)所示:
[0055]
y=g(f(xv)∪xm)
ꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0056]
其中xv表示可见patches,xm表示掩码patches,f(
·
)表示编码器,g(
·
)表示解码器,编码后的可见patches和掩码patches排列顺序与原始图像patches一致,位置信息记录在向量t中。
[0057]
s4中的来自同一原始图像的4个不同掩码图像的重建结果中,两两之间有50%的掩码patches是重叠的,重叠部分o
ij
定义为:
[0058]oij
=ti∩t
j (3)
[0059]
其中,ti和tj为掩码图像i和j向量表示,o
ij
为ti和tj中同为0的元素,表示重叠的掩码patches。
[0060]
由于可见patches的不同,相同的掩码patches的重建结果也会存在一定差异,将不同掩码图像中相同掩码patches的重建结果平均绝对误差最小化,指导掩码patches重建,以增强模型预测结果的确定性,计算过程如公式(4)所示:
[0061][0062]
其中,pi和pj表示掩码图像i和j的重建结果。
[0063]
s5中的掩码patches的重建结果与原始图像patches在像素空间中的均方误差计算过程如公式(5)所示:
[0064][0065]
其中xm表示掩码patches,ym表示xm的重建结果,最终训练模型使用的损失可以用公式(6)表示。
[0066]
l
total
=lc+l
w (6)
[0067]
训练好的模型可以直接执行图像重建任务,也可以将其当作一个预训练模型,采用不同模块替换解码器后进行微调,执行分类、目标检测、实例分割等下游任务任务。
[0068]
实施例:
[0069]
算法的步骤具体如下:
[0070]
(1)图像重建任务
[0071]
输入一张224
×
224大小缺陷图像,将其划分为14
×
14个大小为16
×
16的patches,完好的patches为可见patches,存在缺陷的patches为掩码patches,将可见patches输入到编码器中,执行线性投影,再加上位置嵌入,然后送入transformer块得到潜在特征表示,将掩码patches和编码后的可见patches按照原始图像中的顺序合并,作为解码器(vit)的输
入,解码器最后一层为线性投影,将潜在特征映射回像素空间,输出重建缺陷patches后的图像。
[0072]
(2)图像分类任务
[0073]
下游任务的检测中,以图象分类任务为例进行说明,使用多层感知器(mlp)头或线性层取代解码器,经过微调后执行图像分类任务。输入一张224
×
224大小自然图像,将其划分为14
×
14个大小为16
×
16的patches,所有的patches全部输入到编码器中,编码器输出大小为196
×
1024,其中每一行表示一个patch的特征向量,将得到的潜在特征表示输入多层感知器(mlp)头或线性层得到分类结果。
[0074]
目标检测和实例分割等下游任务方式与之类似,仅替换解码器所采用的模块不同。
[0075]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
技术特征:
1.一种基于自监督学习的掩码图像建模算法,其特征包括以下步骤:步骤s1:mim主要使用的开源数据集是imagenet dataset、coco dataset和places365 dataset等,如需在自己的数据集上进行训练,需要将数据格式准备为与上述数据集一致,首先对数据进行转换,图像缩放到相同的大小并进行归一化处理;步骤s2,将图像划分为相同大小的patches,随机对部分patches添加掩码(高掩码比),未添加掩码的可见patches作为编码器(vit)的输入进行编码,对可见patches执行线性投影,再加上位置嵌入,然后送入transformer块得到潜在特征表示;步骤s3,将掩码patches和编码器的输出按照原始图像中的顺序合并,作为解码器(vit)的输入,解码器最后一层为线性投影,将潜在特征映射回像素空间,完成整张图像的重建预测;步骤s4,对同一张图像,采用s2中添加掩码的方式,可以得到可见patches不重叠的多个掩码图像,任意两个掩码图像的重建预测中存在部分相同的掩码patches,将不同掩码图像中相同掩码patches的重建结果的平均绝对误差最小化,以增强模型预测结果的确定性;步骤s5,根据上面重建的掩码patches,计算与原始图像patches的均方误差(mse),最小化以优化模型,模型可以直接执行图像重建任务,也可以使用不同模块替换解码器,经过微调后执行相应的下游任务。2.根据权利要求1所述的一种基于自监督学习的掩码图像建模算法,s1中使用的图像数据统一缩放至224
×
224大小。3.根据权利要求1所述的一种基于自监督学习的掩码图像建模算法,s2中划分的图像patches大小为16
×
16,一张224
×
224大小的图像可划分为14
×
14个图像patches,把14
×
14个图像patches随机等分为4部分,作为可见patches,对其余patches添加掩码,通过这种方式,一张原始图像可以得到4个可见patches互不重叠且掩码比为75%的掩码图像,每个掩码图像使用一个长度为14
×
14的向量t表示位置信息,向量t中每个元素都满足{0,1}二值分布,0表示掩码patches,1表示可见patches,元素索引为图像patches位置信息,每个掩码图像中包含一对互补组合x:可见patches x
v
=x
⊙
t和掩码patchesx
m
=x
⊙
(1-t),图像patches的随机划分采用以下策略:(1)初始化一个14
×
14的向量d=[0,1,
…
,195];(2)随机打乱向量d中的元素的顺序;(3)初始化4个14
×
14的零向量t0,t1,t2,t3用来保存掩码图像信息;(4)设i={0,1,2,3},t
i
更新过程如公式(1)所示:t
i
[d[4*i:4*(i+1)]]=1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)由此一张原始图像可以得到4个可见patches互不重叠且掩码比为75%的掩码图像。其中75%为最佳掩码比,降低掩码比会增加图像冗余信息,过高掩码比会由于图像信息过少导致图像重建效果不佳。编码器采用vit,输入为向量t中位置元素为1的可见patches,就像在标准的vit中一样,编码器通过线性投影嵌入patches(为每个输入的patch生成一个token),并添加位置嵌入,然后通过一系列transformer块来处理嵌入序列,由于编码器只处理整个patches集合中的25%可见patches,可以使用较少的计算资源和硬件成本训练一个较大大的编码器,同时对图像数据的充分利用也大大减少了模型的训练难度。
4.根据权利要求1所述的一种基于自监督学习的掩码图像建模算法,s3中的解码器是轻量级的,由一系列transformer块组成,输入为可见patches经过编码器处理后得到的潜在特征表示和掩码tokens(向量t中位置元素为0的patches),掩码tokens是一个共享的可学习向量,表示存在一个需要预测的缺失的patch,并添加位置嵌入,解码器的最后一层是线性投影,为方便重建掩码patches,输出通道数量和一个patch内的pixel数量相同,输出的每个元素都是一个表示patch的像素值向量,然后再reshape,得到重建图像,以每个掩码patch的归一化像素值为重建目标可以有效提高特征表示的质量,解码器与编码器采用非对称设计,解码器对每个token的计算量在编码器的10%以下,大大减少模型训练时间,编解码的过程如公式(2)所示:y=g(f(x
v
)∪x
m
)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中x
v
表示可见patches,x
m
表示掩码patches,f(
·
)表示编码器,g(
·
)表示解码器,编码后的可见patches和掩码patches排列顺序与原始图像patches一致,位置信息记录在向量t中。5.根据权利要求1所述的一种基于自监督学习的掩码图像建模算法,s4中的来自同一原始图像的4个不同掩码图像的重建结果中,两两之间有50%的掩码patches是重叠的,重叠部分o
ij
定义为:o
ij
=t
i
∩t
j (3)其中,t
i
和t
j
为掩码图像i和j向量表示,o
ij
为t
i
和t
j
中同为0的元素,表示重叠的掩码patches。由于可见patches的不同,相同的掩码patches的重建结果也会存在一定差异,将不同掩码图像中相同掩码patches的重建结果平均绝对误差最小化,指导掩码patches重建,以增强模型预测结果的确定性,计算过程如公式(4)所示:其中,p
i
和p
j
表示掩码图像i和j的重建结果。6.根据权利要求1所述的一种基于自监督学习的掩码图像建模算法,s5中的掩码patches的重建结果与原始图像patches在像素空间中的均方误差计算过程如公式(5)所示:其中x
m
表示掩码patches,y
m
表示x
m
的重建结果,最终训练模型使用的损失可以用公式(6)表示。l
total
=l
c
+l
w (6)训练好的模型可以直接执行图像重建任务,也可以将其当作一个预训练模型,采用不同模块替换解码器后进行微调,执行分类、目标检测、实例分割等下游任务任务。
技术总结
本发明涉及掩码图像建模(MaskedImageModeling,MIM)技术领域,尤其涉及一种基于自监督学习(Self-SupervisedLearning)的掩码图像建模算法,首将图像划分为patches并随机分为4等份,每份patches作为可见patches,其余作为掩码patches,由此的到4张掩码图像,可见patches作为编码器输入得到潜在特征表示,编码后的可见patches和掩码patches共同作为解码器的输入进行图像重建,通过将同一图像得到的不同掩码图像中的掩码patches重叠部分预测结果的平均绝对误差最小化,以增强模型重建结果的确定性。本发明通过充分利用数据,大大节省了训练时间和硬件资源,在开源数据集上掩码图像建模方法中位于前列位置。方法中位于前列位置。
技术研发人员:张正卿 胡超 朱力强 黄家耀 赖盛鑫 邬伟杰
受保护的技术使用者:联通(上海)产业互联网有限公司
技术研发日:2023.06.12
技术公布日:2023/10/8
版权声明
本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
飞行汽车 https://www.autovtol.com/
