有效
一种基于文本提示加权聚合的小样本图像分类方法
陈微、寻天赐、何玉麟、李晨、汤明鑫、谭春娇、郑伟巍、高心谨、杨森
中国人民解放军国防科技大学
陈
陈微 专利 29
中国人民解放军国防科技大学计算技术物理仪器电子数据处理
寻
寻天赐 专利 4
中国人民解放军国防科技大学视觉识别图像视频识别计算技术
何
何玉麟 专利 13
广州软件学院视觉识别图像视频识别生物模型计算
李
李晨 专利 65
中国人民解放军国防科技大学电子数据处理计算技术物理仪器
汤
汤明鑫 专利 9
中国人民解放军国防科技大学视觉识别图像视频识别计算模型系统
谭
谭春娇 专利 1
中国人民解放军国防科技大学视觉识别图像视频识别计算技术
郑
郑伟巍 专利 2
中国人民解放军国防科技大学视觉识别图像视频识别计算技术
高
高心谨 专利 3
中国人民解放军国防科技大学计算技术物理仪器知识系统
杨
杨森 专利 9
中国人民解放军国防科技大学物理仪器计算模型系统计算技术
摘要
本发明公开了一种基于文本提示加权聚合的小样本图像分类方法,目的是解决现有小样本图像分类方法分类准确度不高的问题。技术方案是:构建由文本提示生成模块,文本特征提取模块、图像特征提取模块、置信度计算模块、软加权模块、主任务模块组成的基于文本提示加权聚合的小样本图像分类系统。构建训练集、验证集和测试集。采用训练集对小样本图像分类系统进行训练并使用验证集对训练后的小样本图像分类系统进行测试,将含有最好文本分类器的超参数加载到小样本图像分类系统中,得到性能最优的训练后的小样本图像分类系统;训练后的小样本图像分类系统对用户输入的图像进行分类,得到图像类别。本发明能缓解文本特征多样性不足,提升分类准确度。
1.一种基于文本提示加权聚合的小样本图像分类方法,其特征在于包括以下步骤:第一步,构建基于文本提示加权聚合的小样本图像分类系统;小样本图像分类系统由文本提示生成模块,文本特征提取模块、图像特征提取模块、置信度计算模块、软加权模块、主任务模块组成;文本提示生成模块与文本特征提取模块相连,文本提示生成模块引入大语言模型作为提示生成的引擎,通过设计6个提问模板询问大语言模型,得到与类别相关的文本提示;文本提示生成模块采用大语言模型作为文本提示生成的引擎,采用提问模板与大语言模型通过对话的方式得到文本提示,将文本提示发送给文本特征提取模块;文本特征提取模块与文本提示生成模块、置信度计算模块、软加权模块相连,文本特征提取模块采用Transformer架构,对从文本提示生成模块接收的文本提示进行特征提取,得到文本特征,将文本特征发送给置信度计算模块和软加权模块;图像特征提取模块与置信度计算模块和主任务模块相连,在训练时,图像特征提取模块提取训练集图像特征,将训练集图像特征发送给置信度计算模块,为置信度计算和获得超参数做准备;在验证超参数的准确度时,图像特征提取模块提取验证集图像特征,将验证集图像特征发送给主任务模块;在对用户输入的待分类图像进行分类时,将用户输入的待分类图像特征发送给主任务模块;图像特征提取模块采用ResNet或ViT;置信度计算模块与图像特征提取模块、文本特征提取模块、软加权模块相连,其功能是计算每个文本提示的置信度得分;利用文本和图像在同一特征空间内的相互监督关系,对从文本特征提取模块得到的文本特征与从图像特征提取模块得到的图像特征计算置信度得分,作为特征相似度来衡量每个文本的质量;置信度计算模块首先筛选同一类别n的图像和文本,同一类别n的图像用集合 表示, 同一类别n的文本用集合 表示, K为小样本个数,K为正整数;其次,对于类别n,使用 分别对 进行置信度计算并求和,得到第k个文本提示对应的置信度得分 同理,置信度计算模块对小样本图像分类场景数据集中的所有类别都进行相同的操作,将最终的置信度得分发送给软加权模块;软加权模块与文本特征提取模块、置信度计算模块和主任务模块相连,其功能是对从文本特征提取模块得到的文本提示特征进行进一步筛选,根据置信度得分对文本提示特征进行加权聚合,得到文本分类器集合W C ,将温度系数t,截断因子l及相应的文本分类器集合W C 作为一组超参数进行保存,并将超参数中的文本分类器发送给主任务模块;主任务模块与图像特征提取模块和软加权模块相连,从软加权模块接收文本分类器,在验证超参数的准确度时,从图像特征提取模块接收验证集图像特征,利用验证集图像特征对文本分类器进行测试,得到最优的文本分类器;在对用户输入的待分类图像进行分类时,从图像特征提取模块接收用户输入的待分类图像的特征,利用最优的文本分类器对图像进行分类,得到分类结果;第二步,构建训练集、验证集和测试集,方法是:2.1收集小样本场景图像作为小样本图像分类场景数据集,方法是:使用通用场景数据集ImageNet、遥感图像数据集Eurosat、纹理数据集DTD、花卉数据集Flowers102、汽车数据集StanfordCars、动作数据集UCF101、物体识别数据集Caltech101、场景分类数据集SUN397、飞机分类数据集Aircraft、宠物分类数据集OxfordPets共11个数据集作为小样本图像分类数据集,这11个数据集的每张图像都进行了人工标注,即每张图像都标注了物体的类别及其对应的真实标签;2.2根据研究人员普遍采用的数据集划分文件,将小样本图像分类场景数据集划分为训练集D train ,验证集D val ,测试集D test ;训练集中图像总数为S,验证集中图像总数为V,测试集中图像总数为T,S、V和T均为正整数;2.3根据小样本图像分类中设定的每个类别样本个数K,从训练集D train 中每个类别随机采样K个图像构建成一个列表,将此列表加入到新的训练集D′ train ,D′ train 中包含N个列表,D′ train ={dataset 1 ,…,dataset n ,…,dataset N },dataset n 为存储筛选后的第n类别图像的列表,N为D′ train 的类别数量,每个列表中有K个图像;具体如下:2.3.1令类别n=1,创建一个空的新的训练集D′ train 用于存储采样后的图像;2.3.2创建存储筛选后的第n类别图像的列表dataset n =[];2.3.3找出训练集D train 中属于第n类别的图像,方法是:2.3.3.1如果第n类别的图像数量num≥K,则从第n类别的图像中随机选择K个图像,此时K个图像中没有图像是重复的,转2.3.3.3;2.3.3.2如果第n类别的图像数量num<K,则从第n类别的图像中重复地随机选择K个图像,此时K个图像中有些图像是重复的,转2.3.3.3;2.3.3.3将选定的K个图像添加到dataset n 中;2.3.3.4将dataset n 添加到D′ train 中;2.3.3.5若n<N,令n=n+1,转2.3.2;若n≥N,得到最终的训练集D′ train ,D′ train ={dataset 1 ,…,dataset n ,…,dataset N };第三步,构建多样化文本提示,方法是:3.1获取6个提问模板:从CUPL获取5个提问模板,从CBD的特征相关的文本提示模板中获取1个提问模板;6个提问模板的序号为1~6;模板中均用“{}”表示可替换的类别名称;3.2令类别n=1,初始化文本提示字典P={};3.3令模板序号m=1,初始化第n类别对应的文本提示列表L n =[];3.4根据第n类别对应标签的类别名称class n ,将类别名称class n 替换3.1步中第m个模板的“{}”,得到第m个提问模板Q m ;3.5文本提示生成模块将提问模板Q m 输入到大语言模型,从大语言模型得到相应的文本提示,将这些文本提示加入第n类别对应的文本提示列表L n ;3.6若m<6,令m=m+1,转3.4;若m≥6,转3.7;3.7将第n类别对应标签的类别名称class n 和该类别对应的文本提示列表L n 构成键值对“class n :L n ”,class n 为键,L n 为值,将“class n :L n ”加入到字典P中;3.8若n<N,则令n=n+1,转3.3;若n≥N,转3.9;3.9此时N个类别都进行了文本提示生成,得到最终的文本提示字典P,P={class 1 :L 1 ,…,class n :L n ,…,class N :L N };第四步,采用训练集对基于文本提示加权聚合的小样本图像分类系统进行训练,得到N m 组超参数,N m 为正整数,方法是:4.1初始化小样本图像分类系统中各模块的模型参数;采用预训练模型CLIP初始化文本特征提取模块中的Transformer的参数及图像特征提取模块中的ResNet或ViT的参数;4.2初始化文本分类器集合W C =[],初始化超参数截断因子l=0.3;4.3令批次序号b=1,表示第b个图像批次,每个批次共B个图像,总批次为N B , B为正整数;4.4图像特征提取模块从训练集D′ train 读取第b批次的B个图像,记为矩阵形式I train ,I train 中包含B个H×W×3的图像;其中H表示输入图像的高,W表示输入图像的宽,“3”代表图像的RGB三个通道;B为一个批次中的图像个数;4.5图像特征提取模块采用图像特征提取方法根据类别标签n筛选出该类别的K个图像样本I K ,I K 是一个由K个图像组成的列表,提取I K 的图像特征f v ,将f v 发送给置信度计算模块,f v 是一个张量,维度为(B,D),D是特征维度;4.6文本特征提取模块根据类别标签n对应的类别名称class n ,从文本提示字典P中取出属于class n 的文本提示列表L n ,Ln是一个由M个文本提示组成的列表,提取L n 的文本提示特征f t ,将f t 发送给置信度计算模块和软加权模块,f t 是一个张量,维度为(M,D),D是特征维度;4.7置信度计算模块接收来自图像特征提取模块的图像特征f v 和文本特征提取模块的文本提示特征f t ,对置信度得分进行计算,得到置信度得分S:S=<f v ·f t T > 公式(1)其中,<·>表示计算两个向量之间的内积,将置信度得分S发送给软加权模块,S维度为(K,M);4.8软加权模块对置信度得分S的第一个维度进行求和,得到求和后的置信度得分S 1 ,再对S 1 由高到低进行排序,得到排序后的置信度得分S 2 ,采用超参数截断因子l从S 2 筛选前 个置信度较高的置信度得分S′,S 1 和S 2 维度为M,S′维度为 软加权模块接收来自文本特征提取模块的文本提示特征,并索引S′对应的文本提示特征f t ′,初始化超参数温度系数t=1;4.9软加权模块利用超参数温度系数t与置信度得分S′相乘,对置信度得分进行锐化,得到锐化后的置信度得分S″:S″=S′·t 公式(2)4.10软加权模块采用softmax函数根据锐化后的置信度得分S″对文本提示特征f t ′进行加权聚合,得到第b批次的文本提示特征W b :W b =<f t ′·softmax(S″)> 公式(3)4.11将此时的文本提示特征W b 添加至文本分类器集合W C ;4.12若b<N B ,令b=b+1,转4.4;若b≥N B ,说明文本分类器集合构建完毕,W C 是一个张量,维度为(N,D),D是特征维度,转4.13;4.13将此时的温度系数t,截断因子l及相应的文本分类器集合W C 作为一组超参数进行保存;4.14若t<10,令t=t+1,转4.9;若t≥10,转4.15;4.15若l<1,令l=l+0.1,转4.8;若l≥1,转4.16;4.16得到N m 组超参数,软加权模块将N m 组超参数中的文本分类器发送给主任务模块;第五步,主任务模块使用验证集验证超参数的准确度,保留性能最好的超参数作为基于文本提示加权聚合的小样本图像分类系统的超参数,获得最好的文本分类器 和训练后的小样本图像分类系统,方法是:5.1令变量n m =1,令正确分类的总个数total_correct=0;5.2主任务模块从N m 组超参数中取出第n m 组超参数的l、t及相应的W C ,并读取验证集D val ;5.3令批次序号c=1,表示第c个批次,每个批次包含B′=64个验证集图像,总批次为N C , 令正确分类总个数total_correct=0;5.4取出第c个批次的B′个验证集的图像,将这B′个图像记为矩阵形式I val ,I val 中包含B′个H×W×3的图像,B′=64;5.5图像特征提取模块接收B′张验证集D val 中的图像I val ,利用4.1步初始化后的ResNet或ViT网络提取I val 的图像特征f val ,f val 是一个张量,维度为(B′,D),D是特征维度,将征f val 发送给主任务模块;5.6主任务模块利用文本分类器W C 与f val 进行相似度计算,得到N个类别的预测概率logits,logits是一个张量,维度为(B′,N):logits=<f val ·W C T > 公式(4)logits中第二个维度的最大值对应的类别即为最终的预测结果;5.7判断预测结果与2.1步数据集获取时的真实标签是否相同,若相同则为正确分类,将正确分类的个数记为correct,转5.8;若不相同则直接转5.8;5.8将正确个数累加至验证集中正确分类的总个数total_correct:total_correct=total_correct+correct 公式(5)5.9若c<N C ,令c=c+1,转5.4;若c≥N C ,说明验证完毕,转5.10;5.10计算分类准确度acc,具体过程如公式(6)所示:其中,V是验证集的图像个数;5.11若n m <N m ,令n m =n m +1,转5.2;若n m ≥N m ,说明所有超参数组合验证完毕,转5.12;5.12对N m 个超参数进行准确度对比,找到准确度最高的超参数,将该超参数作为小样本图像分类系统选定的超参数,该超参数含有最好的文本分类器 将该选定超参数加载到基于文本提示加权聚合的小样本图像分类系统,加载了此选定超参数的基于文本提示加权聚合的小样本图像分类系统成为训练后的基于文本提示加权聚合的小样本图像分类系统,此时主任务模块加载了最优文本分类器 第六步,采用训练后的基于文本提示加权聚合的小样本图像分类系统对用户输入的待分类图像进行分类,得到待分类图像的预测结果,方法是:6.1图像特征提取模块接收用户输入的待分类图像集合I test ,I test 中图像数量为N test ;6.2图像特征提取模块提取I test 的图像特征f test ;6.3主任务模块加载最优文本分类器 与测试集图像特征f test 进行相似度计算,得到N个类别的预测概率logits_test,logits_test是一个张量,维度为(N test ,N):logits_test中第二个维度的最大值对应的类别即为待分类图像的预测结果,图像分类结束。
2.如权利要求1所述的一种基于文本提示加权聚合的小样本图像分类方法,其特征在于所述文本提示生成模块采用的大语言模型为GPT-3或ChatGLM,采用的6个提问模板分别为:(1)“Describe what a(n){}looks like.”,(2)“How can you identify a(n){}?”,(3)“What does a(n){}look like?”,(4)“A caption of an image of a(n){}.”,(5)“Describe an image from the internet of a(n){}.”,(6)“What are useful visualfeatures for distinguishing a(n){}in aphoto?”。
3.如权利要求1所述的一种基于文本提示加权聚合的小样本图像分类方法,其特征在于所述文本特征提取模块采用Transformer架构,其参数采用CLIP在Transformer架构进行预训练的参数;Transformer架构由编码器和解码器组成;编码器用于理解输入序列,解码器用于生成输出序列;编码器和解码器都由6个相同的层堆叠而成;每一层包含两个子层:一个是多头自注意力模块,采用自注意力机制允许大语言模型在处理一个序列的某个元素时同时关注序列中的其他元素,从而捕捉它们之间的依赖关系;另一个是全连接层,这两个子层之间通过残差连接;采用Transformer捕捉输入序列中不同位置之间的依赖关系,获取全局的上下文信息,使其在语义特征提取方面特别有效;Transformer的自注意力模块允许网络在不同位置的输入之间进行注意力计算。
4.如权利要求1所述的一种基于文本提示加权聚合的小样本图像分类方法,其特征在于根据网络深度的不同,所述图像特征提取模块为CLIP采用4亿个图像--文本对训练后的ResNet50、ResNet101、ViT-B/32,ViT-B/16和ViT-L/14中的任意一种网络。
5.如权利要求1所述的一种基于文本提示加权聚合的小样本图像分类方法,其特征在于所述小样本图像分类中每个类别样本个数K∈{1,2,4,8,16}。
6.如权利要求1所述的一种基于文本提示加权聚合的小样本图像分类方法,其特征在于第四步所述B=256,所述N m =80。



