1.基于自适应关注区域Transformer的图像分类方法,其特征在于,具体为:步骤1,选取n张图像作为训练样本集合P={p1,p2,…,pn},然后对训练样本集合P中的第i={1,
2,...,n}张图像pi使用尺度不变特征变换获得N个特征点;
步骤2,获得步骤1中的N个特征点中最密集区域的中心点M(x,y);
步骤3,根据步骤2获得的最密集区域的中心点M(x,y),确定关注区域及非关注区域;
步骤4,分别提取步骤3获得的关注区域和非关注区域的特征为F1和F2,进行融合组成图像特征F;
步骤5,MART网络创建一个新的分类标签和新的位置标签,然后将步骤4获得的图像特征F分别与新的分类标签和新的位置标签融合组成图像特征标签FT;
步骤5的具体过程为:
步骤5.1,将步骤4获得的图像特征图输入到MART网络;MART网络的网络结构由位置标签position、分类标签cls_token、Transformer Block和MLP Head组成,首先将输入图像特征图与位置标签position和分类标签cls_token进行拼接组成图像特征标签;然后将图像特征标签输入到Transformer Block中进行学习图像块间注意力获得注意力特征;MART网2
络创建一个行向量tensor名为cls_token作为分类标签,cls_token的维度是[1,12S];将分类标签cls_token和特征图F在第1个维度拼接,拼接之后组成新的特征图F’的维度是步骤5.2,创建一个维度是 的向量tensor名为position作为位置标签,将步骤5.1获得的新的特征图F’和位置标签position相加为图像特征标签FT,图像特征标签FT的维度是步骤6,将步骤5获得的图像特征标签FT进行学习图像块间注意力获得注意力特征AT,从而进行图像分类。
2.根据权利要求1所述的基于自适应关注区域Transformer的图像分类方法,其特征在于,步骤1的具体过程为:步骤1.1,选取n张图像作为训练样本集合P={p1,p2,…,pn};
步骤1.2,将步骤1.1获得的训练样本集合P中的第i={1,2,...,n}张图像pi使用cv2.normalize()方法将图像的值收缩到0‑255之间,从而获得量化成int8的图像信息;
步骤1.3,经过步骤1.2获得量化之后的图像信息,将该图像信息输入到cv2.xfeatures2d.SIFT_create().detectAndCompute()方法中,从而获得图像pi的N个特征点。
3.根据权利要求2所述的基于自适应关注区域Transformer的图像分类方法,其特征在于,步骤2的具体过程为:步骤2.1,将步骤1获得图像的N个特征点输入到numpy.mean()方法中获取N个特征点坐标的均值坐标位置Mean(x1,y1);
步骤2.2,将步骤2.1获得的均值坐标位置Mean(x1,y1)输入到方法sklearn.cluster.MeanShift()的参数seeds中,并且该方法的参数bin_seeding设置为True;调用该方法的fit()方法,并将步骤1.2获得的N个特征点输入fit()方法中,从而获得N个特征点的聚类信息L;
步骤2.3,调用步骤2.2获得的N个特征点的聚类信息L的cluster_centers_属性,获得N个特征点中的聚类中心坐标,即最密集区域的中心点M(x,y)。
4.根据权利要求3所述的基于自适应关注区域Transformer的图像分类方法,其特征在于,步骤3的具体过程为:步骤3.1,将步骤2.3获得的最密集区域的中心点M(x,y)作为关注区域的中心点M’(x′,y′);
步骤3.2,设置关注区域的宽度W和高度H,根据步骤3.1获得的关注区域的中心点M’(x′,y′)计算关注区域的左上角坐标A(xa,ya)和右下角坐标B(xb,yb);
步骤3.3,根据步骤3.2获得的关注区域的左上角顶点坐标A(xa,ya)和右下角顶点坐标B(xb,yb)进行判断坐标是否超出图像范围;创建 和分别作为左上角顶点A(xa,ya)在X轴和Y轴与右下角顶点B(xb,yb)在X轴和Y轴超出图像范围的值;图像的原始宽和高为OW和OH;
其中,关注区域的左上角顶点A在X轴上超出图像范围的值 的计算方式如公式(1)所示:式(1)中,x′是关注区域中心点M’的X轴坐标,W是关注区域的宽度;
关注区域的左上角顶点A在Y轴上超出图像范围的值 的计算方式如公式(2)所示:式(2)中,y′是关注区域中心点M’的Y轴坐标,H是关注区域的高度;
关注区域的右下角顶点B点在X轴上超出图像范围的值 的计算方式如公式(3)所示:式(3)中,x′是关注区域中心点M’的X轴坐标,W是关注区域的宽度,OW是图像的原始宽度;
关注区域的右下角顶点B点在Y轴上超出图像范围的值 的计算方式如公式(4)所示:式(4)中,y′是关注区域中心点M’的Y轴坐标,H是关注区域的高度,OH是图像的原始高度;
步骤3.4,根据步骤3.3获得的关注区域的左上角顶点A(xa,ya)在X轴和Y轴与右下角顶点B(xb,yb)在X轴和Y轴超出图像范围的值 和然后需要计算超出范围之后的左上角顶点A’(x′a,y′a)和右下角顶点B’(x′b,y′b)坐标;
其中,A’点的X轴坐标x′a的计算方式如公式(5)所示:
式(5)中,x′是关注区域中心点M’的X轴坐标,W是关注区域的宽度, 是关注区域的左上角顶点A点在X轴上超出图像范围的值, 是关注区域的右下角顶点B点在X轴上超出图像范围的值;
A’点的Y轴坐标y′a的计算方式如公式(6)所示:
式(6)中,y′是关注区域中心点M’的Y轴坐标,H是关注区域的高度, 是关注区域的左上角顶点A点在Y轴上超出图像范围的值, 是关注区域的右下角顶点B点在Y轴上超出图像范围的值;
B’点的X轴坐标x′b的计算方式如公式(7)所示:
式(7)中,x′是中心点M’的X轴坐标,W是关注区域的宽度, 是关注区域的左上角顶点A点在X轴上超出图像范围的值, 是关注区域的右下角顶点B点在X轴上超出图像范围的值;
B’点的Y轴坐标y′b的计算方式如公式(8)所示:
式(8)中,y′是中心点M’的Y轴坐标,H是关注区域的高度, 是关注区域的左上角顶点A点在Y轴上超出图像范围的值, 是关注区域的右下角顶点B点在Y轴上超出图像范围的值;
步骤3.5,根据步骤3.4获得的关注区域超出范围之后的左上角顶点A’(x′a,y′a)和右下角顶点B’(x′b,y′b)坐标,便可以获得关注区域的图像,剩余的图像区域便是非关注区域的图像。
5.根据权利要求4所述的基于自适应关注区域Transformer的图像分类方法,其特征在于,步骤4的具体过程为:步骤4.1,将步骤3.5获得的关注区域图像与非关注区域图像使用torch.as_tensor()方法将图像信息转换成float32类型的关注区域和非关注区域图像信息;
步骤4.2,将步骤4.1获得的转换成float32类型的关注区域图像信息使用较小的卷积核大小为 步长和卷积核大小相同为S,通道数为2S×
2S×3,进行卷积操作提取图像特征,获得关注区域小尺度的细粒度特征F1,细粒度特征F1的维度 将步骤4.1获得的转换成float32类型的非关注区域图像信息使用较大的卷积核大小为2S×2S,步长和卷积核大小相同为2S,通道数为2S×2S×3,进行卷积操作提取图像特征,从而将非关注区域图像划分成较大的图像块,进而获得非关注区域大尺度的粗粒度特征F2,粗粒度特征F2的维度步骤4.3,将步骤4.2获得的关注区域小尺度的细粒度特征F1的第2维度和第3维度合并,合并之后的细粒度特征F1的维度是 将步骤4.2获得的非关注区域大尺度的粗粒度特征F2的第2维度和第3维度合并,合并之后的粗粒度特征F2的维度是将细粒度特征F1和粗粒度特征F2在第2个维度拼接,拼接之后的图像特征图F的维度是 然后将图像特征图F的第1个维度和第2个维度互换,互换之后的图像特征图F的维度是
6.根据权利要求1所述的基于自适应关注区域Transformer的图像分类方法,其特征在于,步骤6的具体过程为:步骤6.1,将步骤5.2获得的图像特征标签FT输入到Transformer Block中进行学习块间注意力获得图像的注意力特征AT;
步骤6.2,将步骤6.1获得的图像的注意力特征AT输入到分类器MLP Head中将注意力特征AT通过线性连接层计算图像pi属于每个类别的概率,然后从这些概率中找出最大值,将概率最大的类别输出,即输出图像pi的分类结果;
步骤6.3,重复执行步骤1.2至步骤6.2获得图像pi+1的分类结果,直至i+1>n时结束执行。