买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!
申请/专利权人:中国人民解放军国防科技大学
摘要:本发明公开了一种基于虚拟特征生成与重放的类增量图像分类方法,目的是解决现有图像分类方法分类准确度有待提高的问题。先构建由文本提示构建模块、文本特征提取模块、图像特征提取模块、虚拟特征生成模块、虚拟特征重放模块和主任务模块组成的基于虚拟特征生成与重放的类增量图像分类系统。构建训练集、验证集和测试集。采用训练集对图像分类系统进行训练,得到训练后的图像分类系统。使用验证集对训练后的图像分类系统进行验证,将含有最好的文本提示的权重参数赋值到图像分类系统,得到性能最优的训练后的图像分类系统;最后采用性能最优的训练后的图像分类系统对图像进行分类,得到图像的类别。采用本发明能防止灾难性遗忘,提升准确度。
主权项:1.一种基于虚拟特征生成与重放的类增量图像分类方法,其特征在于包括以下步骤:第一步,构建基于虚拟特征生成与重放的类增量图像分类系统;类增量图像分类系统由文本提示构建模块、文本特征提取模块、图像特征提取模块、虚拟特征生成模块、虚拟特征重放模块和主任务模块组成;文本提示构建模块与文本特征提取模块相连,文本提示构建模块采用一组可学习的向量与类别名称的组合来构建文本提示,得到与类别相关的文本提示列表,将构建好的文本提示列表发送给文本特征提取模块;文本特征提取模块与文本提示构建模块、主任务模块相连,文本特征提取模块对从文本提示构建模块接收的文本提示列表进行特征提取,得到文本提示特征,将文本提示特征发送给主任务模块;文本特征提取模块采用Transformer架构,其参数采用CLIP在Transformer架构进行预训练的参数;Transformer架构中的编码器用于理解输入文本提示,得到上下文信息,Transformer架构中的解码器用于根据从编码器接收的上下文信息生成输出序列;图像特征提取模块与虚拟特征生成模块、虚拟特征重放模块和主任务模块相连,训练时,图像特征提取模块提取训练集图像特征,将训练集图像特征发送给虚拟特征生成模块,用于生成新类别的虚拟特征,增强现有数据的多样性;同时将训练集图像特征发送给虚拟特征重放模块;验证时,图像特征提取模块提取验证集图像特征,将验证集图像特征发送给主任务模块;在对用户输入的待分类图像进行分类时,将用户输入的待分类图像特征发送给主任务模块;图像特征提取模块采用ResNet网络或ViT网络;虚拟特征生成模块与图像特征提取模块和主任务模块相连,其功能是利用从图像特征提取模块接收的训练集图像特征,生成新类虚拟特征,包括虚拟在群值和虚拟离群值,将新类虚拟特征发送给主任务模块;虚拟特征重放模块与图像特征提取模块和主任务模块相连,其功能是接收来自图像特征提取模块的训练集图像特征,根据训练集图像特征估计训练集列表Dt′rain中的每个类别特征级的高斯分布;对于每个类别,虚拟特征生成模块从特征级的高斯分布中随机采样一个旧类虚拟特征即重放旧类别的虚拟特征,将旧类虚拟特征发送给主任务模块;主任务模块与文本特征提取模块、图像特征提取模块、虚拟特征生成模块和虚拟特征重放模块相连,从文本特征提取模块接收文本提示特征,在训练时,从图像特征提取模块接收训练集图像特征,从虚拟特征生成模块接收新类虚拟特征,从虚拟特征重放模块接收旧类虚拟特征,利用训练集图像特征、新类虚拟特征、旧类虚拟特征和文本提示特征之间的相似度来完成分类,得到图片的类别;在验证时,利用验证集图像特征对文本提示特征进行测试,得到最优文本提示特征;在对用户输入的待分类图像进行分类时,从图像特征提取模块接收用户输入的待分类图像的特征,利用最优的文本提示特征对图像进行分类,得到分类结果;第二步,构建训练集、验证集和测试集,方法是:2.1收集类增量图像分类场景图像作为类增量图像分类场景数据集,方法是:使用通用场景数据集ImageNet100、CIFAR100共2个数据集作为类增量图像分类场景数据集;这2个数据集的每张图像都进行了人工标注,即每张图像都标注了物体的类别及其对应的真实标签;2.2根据数据集划分文件,将类增量图像分类数据集划分为训练集Dtrain,测试集Dtest,验证集Dval,令数据集的类别总数为C,每张图片有其对应的类别标签,表示为[1,2,…,C],在类增量图像分类领域,训练过程被划分为T个训练阶段,以模拟数据不断增加的过程;对训练集Dtrain根据训练阶段进行再次划分,得到训练集列表为第t个训练阶段的子训练集,t∈[1,2,…,T],T为正整数,第t个阶段包含的类别数Nt=CT,第t个阶段包含的类别标签列表It=Nt*t-1+1,…,Nt*t];2.3令每个类别的测试集中元素个数Nptest张,对测试集Dtest根据训练阶段进行再次划分,得到测试集列表为第t个训练阶段的子测试集;2.3.4验证集列表Dval采用与测试集一致的列表,即Dval=Dt′est;第三步,利用梯度反向传播方法对第一步构建的基于虚拟特征生成与重放的类增量图像分类系统进行训练,得到Nm个模型参数,Nm为需要保存的训练步长个数;方法是:3.1初始化类增量图像分类系统中各模块的模型参数;采用预训练模型CLIP初始化文本特征提取模块中的Transformer框架的参数、图像特征提取模块中的ResNet或ViT的参数;3.2令阶段t=1;3.3对于阶段t,需构建文本提示的类别标签序列为:[1,2,...,n,...,Nt*t],文本提示构建模块初始化文本提示,得到第t个阶段的文本提示列表Lt,n为类别标签序号,1≤n≤Nt*t,方法是:3.3.1令类别n=1,初始化第t个阶段的文本提示列表Lt=[];3.3.2令m=1;3.3.3采用CoOp中的提示构建方法构建第n个类别的文本提示Pn,如公式1所示:Pn=[V]1[V]2…[V]m…[V]M[CLASS]公式1其中a[V]1[V]2…[V]m…[V]M作为可训练的文本提示参数WP,[V]m为第m个可学习的向量,是一个维度为512的向量;“[CLASS]”代表类别名称;M为可学习的向量的个数,M为正整数;3.3.4采用随机初始化的方式初始化[V]m的每个维度;3.3.5若mM,令m=m+1,转3.3.3;若m≥M,对[V]1[V]2…[V]m…[V]M初始化完毕,转3.3.6;3.3.6将n对应的类别名称classn替换掉公式1中的“CLASS”,利用CLIP的tokenize方法,将classn转化为序列token;此时M个可学习的向量初始化完毕,将[V]1[V]2…[V]m…[V]M与序列token进行拼接,得到第n个类别的可学习的文本提示Pn,将Pn添加至Lt;3.3.7若nNt*t,令n=n+1,转3.3.2;若n≥Nt*t,说明第t个阶段所有类别的文本提示Lt已构建完毕,得到了第t个阶段的文本提示列表Lt,转3.3.8;3.3.8将第t个阶段的文本提示列表Lt发送给文本特征提取模块,转3.4;3.3.9文本提示构建模块加载t-1阶段保存好的文本提示参数WP,即[y]1[V]2…[y]m…[V]M,令n=1,转3.3.6;3.4设置类增量图像分类系统训练参数,包括初始学习率learning_rate,网络训练的批次大小mini_batch_size,最大训练步长maxepoch,设置学习率调整函数;选用随机梯度下降作为模型训练优化器;3.5文本特征提取模块利用Transformer网络提取Lt中的文本提示特征FT,将FT发送给主任务模块,FT是一个二维矩阵,维度为Nt*t,D,D是特征维度,为正整数;3.6令训练轮数epoch=1;3.7令批次序号b=1,表示第b个图像批次,每个批次共B个图像,总批次为NB,Ntrain为训练集图像个数,B为正整数;3.8图像特征提取模块从训练集列表D′train取出第t阶段的训练集从读取第b批次的B个图像,将第b批次的B个图像记为矩阵形式Itrain,Itrain中包含B个H×W×3的图像;其中H表示输入图像的高,W表示输入图像的宽,“3”代表图像的RGB三个通道;3.9图像特征提取模块采用ResNet或ViT提取Itrain中B个图像的图像特征fv,将图像特征fv发送给虚拟特征生成模块、虚拟特征重放模块和主任务模块;fv是一个二维矩阵,维度为B,D;3.10虚拟特征生成模块从图像特征提取模块接收图像特征fv,根据第t阶段的类别标签序列[Nt*t-1+1,…c,…,Nt*t],对于第t阶段类别标签为c的特征构成的特征空间Fc,采用k近邻算法k-NN来选择边界样本,根据边界样本点,为类别标签为c的类别的训练集数量,生成虚拟在群点和虚拟离群点,方法是:3.10.1令类别标签c=Nt*t-1+1,初始化虚拟在群点集合FP=[],初始化虚拟离群点集合FQ=[];3.10.2令变量i=1,初始化k-NN距离列表Dis=[];3.10.3对于中第i个图像特征fi,采用公式2计算k-NN距离 其中,‖·‖2表示计算两个向量之间的欧式距离,fk是特征空间中的第k超参数,根据每个类别训练样本数量设置fk=Nptrain*0.1;将加入到k-NN距离列表Disc;3.10.4若令i=i+1,转3.10.3;若说明对于同一个类别的Nptrain个样本的k-NN距离列表Disc计算完毕,转3.10.5;3.10.5基于k-NN距离Disc,虚拟特征生成模块从Dis筛选出B个具有最大k-NN距离的特征作为边界样本,用表示边界样本的集合,hxb代表第b个边界样本,1≤b≤B;3.10.6令b=1;3.10.7虚拟特征生成模块从围绕hxb的多变量高斯分布中采样来合成虚拟在群点和虚拟离群点,虚拟在群点指与fv分布一致的虚拟特征,虚拟离群点指与fv的分布不一致的虚拟特征,围绕hxb的多变量高斯分布如公式3所示:v~Nhxb,σ2I公式3其中v表示围绕边界样本hxb生成的虚拟特征,σ2是调节方差;3.10.8对于边界样本hxb,将方差σ2设为0.1,虚拟特征生成模块利用公式3采样p个虚拟特征,作为边界样本hxb对应的虚拟在群点作为正样本增强现有数据的多样性,将加入到虚拟在群点集合FQ;p是超参数,为正整数,是二维矩阵,维度为p,D;3.10.9对于边界样本hxb,将方差σ2设为50,虚拟特征生成模块利用公式3采样q个特征,共采样q个虚拟特征,作为边界样本hxb对应的虚拟离群点选择具有最高k-NN距离的虚拟异常值进行过滤处理,将作为负样本,以收缩分类边界,虚拟特征生成模块将加入到虚拟离群点集合FQ;q为超参数,为正整数,是二维矩阵,维度为q,D;3.10.10若bB,令b=b+1,转3.10.7;若b≥B,说明已根据第c个类别的B个边界点生成虚拟在群点和虚拟离群点,转3.10.11;3.10.11若cNt*t,令c=c+1,转3.10.2;若c≥Nt*t,说明生成了Nt个类别对应的虚拟在群点集合FP和虚拟离群点集合FQ,转3.10.12;3.10.12虚拟特征模块将FP和FQ作为新类虚拟特征发送至主任务模块;3.11虚拟特征重放模块从图像特征提取模块接收图像特征fv,根据第t阶段的类别标签序列[Nt*t-1+1,…c,…,Nt*t],将fv中类别标签为c的类别的特征统计为高斯分布每个特征维度近似为独立分布,其中μc表示高斯分布的均值向量,表示协方差矩阵,为维度d对应的第c个类别的协方差,采用公式4和公式5来估计μc和 fid是第i个图像特征fi的第d个维度的特征值,将每个类别的均值保存到均值列表μ,将维度d对应的第c个类别的协方差保存到类别c对应的协方差矩阵3.12若t=1,直接转3.13;若t1,虚拟特征重放模块从阶段t以前的类别即类别标签属于[1,…,Nt*t-1]的类别中随机抽取O个类别,然后从O个类别的特征分布中随机抽取一个虚拟特征,得到旧类虚拟特征列表Fo;为类别o对应的高斯分布的均值向量,为类别o对应的协方差矩阵,用于重放先前类别的特征,O为超参数,为正整数,方法如下:3.12.1从类别标签[1,Nt*t-1]中随机抽取O个标签,记为标签集合CO,CO=[c1,…co,…cO];3.12.2令o=1,初始化旧类虚拟特征列表Fo=[];3.12.3找出3.11.7步保存的类别标签中与co一致的类别标签对应的特征分布从随机抽取一个虚拟特征将加入到Fo;3.12.4若oO,令o=o+1,转3.12.3;若o≥O,说明旧类虚拟特征列表Fo构建完毕,转3.12.5;3.12.5将Fo发送给主任务模块;3.13主任务模块从图像特征提取模块接收图像特征fv,从虚拟特征生成模块接收FP和FQ,从虚拟特征重放模块接收Fo,从文本特征提取模块接收文本提示特征FT;3.14主任务模块构建原始图像特征的损失函数构建虚拟在群点图像特征的损失函数构建虚拟离群点图像特征的损失函数旧类虚拟特征的损失函数3.15构建最终的损失函数L如公式6所示: 其中,λin,λout,λo分别为调节损失函数Lin,Lout,Lo的比例系数,分别设置为0.1,0.1,2;3.16计算公式6,得到最终的损失值Loss,利用梯度反向传播方法优化文本提示构建模块的参数;3.17若epoch≤maxepoch,转3.5;若epochmaxepoch,说明第epoch轮训练结束,转3.18;3.18保存最后一个epoch的文本提示参数权重WP,若t<T,令t=t+1,转3.3.9;若t≥T,说明T个阶段的训练均已结束,转3.19;3.19保存后Nm个epoch的文本提示参数权重,Nm为正整数;第四步,使用验证集验证装载后Nm个epoch的文本提示参数权重的类增量图像分类系统的检测精度,保留性能最好的文本提示特征作为类增量图像分类系统的文本提示参数权重,得到训练后的基于虚拟特征生成与重放的类增量图像分类系统;方法是:4.1令变量nm=1,令正确分类的总个数total_correct=0;4.2类增量图像分类系统加载后Nm个epoch的网络权重参数中的第nm个网络权重参数;将验证集Dval输入类增量图像分类系统;4.3令v=1;4.4图像特征提取模块接收第v张验证集图像Dv,提取Dv的图像特征fval,将fval发送给主任务模块;4.5文本提示特征提取模块加载第nm个网络权重参数,与测试集对应的类别名称的序列token拼接,得到验证时所需的文本提示,然后文本提示特征提取模块提取第nm个epoch对应的文本提示特征ft,将文本提示特征ft发送给主任务模块;4.6主任务模块利用ft与fval进行相似度计算,得到N个类别的预测概率logits,logits是一个维度为N的一维向量,对于阶段t,N=Nt*t,具体过程如公式7所示:logits=fval·ftT公式7·代表计算两个向量之间的相似度,logits中第二个维度的最大值对应的类别即为第v张图片的预测结果,ftT表示ft的转置;4.7判断预测结果与2.1步数据集获取时的真实标签是否相同,若相同,第v张图片的预测结果为正确分类,转4.8;若不相同,转4.9;4.8将正确个数累加至验证集中正确分类的总个数totalcorrect,具体过程如公式8所示:total_correct=total_correct+1公式84.9若vV,V是验证集的图像数量,令v=v+1,转4.4;若v≥V,说明验证完毕,转4.10;4.10计算分类准确度acc,具体过程如公式9所示: 4.11若nmNm,令nm=nm+1,转4.2;若nm≥Nm,说明所有权重参数验证完毕,转4.12;4.12对Nm组权重参数进行准确度对比,找到准确度最高的权重参数,其对应的文本提示特征为最优的文本提示特征将该权重参数作为基于虚拟特征生成与重放的类增量图像分类系统选定的权重参数,将该选定权重参数加载到基于虚拟特征生成与重放的类增量图像分类系统,加载了此选定权重参数的基于文本提示加权聚合的类增量图像分类系统成为训练后的基于虚拟特征生成与重放的类增量图像分类系统;第五步,采用训练后的基于虚拟特征生成与重放的类增量图像分类系统对用户输入的待分类图像进行分类,得到待分类图像的预测结果,方法是:5.1图像特征提取模块接收用户输入的待分类图像Itest;5.2图像特征提取模块提取Itest的图像特征ftest;5.3主任务模块加载4.12步得到的最优文本提示特征与测试集图像特征ftest进行相似度计算,得到N个类别的预测概率logits_test,logits_test是一个维度为N的一维向量,具体过程如公式7所示: ·代表计算两个向量之间的相似度,表示的转置,logits_test中第二个维度的最大值对应的类别即为待分类图像的预测结果,图像分类结束。
全文数据:
权利要求:
百度查询: 中国人民解放军国防科技大学 一种基于虚拟特征生成与重放的类增量图像分类方法
免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。