欢迎来到知嘟嘟! 联系电话:13095918853 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13095918853
知嘟嘟经纪人
收藏
专利号: 2019109306208
申请人: 重庆邮电大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-02-26
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.一种基于多样本字典学习和局部约束编码的图像分类方法,其特征在于,包括以下步骤:步骤S1:计算机输入数据集,该数据集是对公认图像集合的特征提取,是.m文件,该文件包含所有图片的特征信息与标签信息,并将数据集划分为训练样本Ytrain和测试样本Ytest;

步骤S2:计算机使用训练样本Ytrain生成虚拟训练样本Yvirtual_train;

步骤S3:计算机使用K‑SVD算法,对训练样本Ytrain计算初始化字典D0;

步骤S4:计算机使用训练样本Ytrain、虚拟训练样本Yvirtual_train以及初始化字典Do迭代生成字典D和训练样本的编码矩阵Xtrain;

步骤S5:计算机使用字典D计算测试样本的局部约束编码矩阵Xtest;

步骤S6:计算机使用训练样本的编码矩阵Xtrain计算线性分类器稀疏矩阵W,其计算公式T T ‑1为W=HXtrain(XtrainXtrain+I) ,其中H为数据集中提供的标签矩阵;

步骤S7:计算机使用线性分类器矩阵W对测试样本的编码矩阵Xtest进行图像分类,输出图像分类结果;

所述步骤S3计算机使用K‑SVD算法,对训练样本Ytrain计算初始化字典D0,具体包括:(1)在训练样本Ytrain中随机挑选K个样本,组成初始字典矩阵D0,初始化矩阵系数Xtrain全为0;

(2)计算D0与每个样本yi的点积,假设所有点积中最大值对应的原子为d1, 利用最小二乘法通过等式y‑b·d1=0,求解系数b,并根据公式y'=y‑b·d计算残差y';如果y'小于固定的阈值,则执行(3),否则计算字典中除d1以外其他原子中与y'的点积最大的向量,假设为d2,利用最小二乘法通过公式y‑b·d1‑c·d2=0,求解系数c,并根据公式y'=y‑b·d1‑c·d2更新残差y',如果y'小于固定的阈值,则执行(3),否则继续循环,最终所有的系数组成样本yi的系数向量xi,所有的xi组成系数矩阵X;

(3)将原子向量进行分解,即 剥离第k个原子向量对D0X的贡献,此时误差矩阵为 去除Ek中对应xk为0项对应的部分;

T

(4)对Ek进行SVD分解,即Ek=UΔV;

(5)判断是否达到停止条件,满足则退出优化,否则继续执行(2)~(4);

所述步骤S4用训练样本Ytrain、虚拟训练样本Yvirtual_train以及初始化字典Do迭代生成字典D和训练样本的编码矩阵Xtrain,具体包括:

3.1通过求解下面目标函数:

可以得

到字典和训练样本系数的求解公式分别为:

T T T T ‑1

D=(YtrainX+αYvirtual_trainX)(XX+αXX)T T ‑1 T T

Xtrain=(DD+αDD+βI) (DYtrain+αDYvirtual_train)K表示字典D的列数,即字典原子的个数,字典D相当于一个矩阵,每一列构成一个字典原子;

为了学习一个鲁棒的字典,采用交替的方法对字典和编码系数进行更新,直到满足收敛条件,其中,第i次的值作为第i+1次的输入;

α和β是正则化系数,其中α=1,β=0.0001;

所述步骤S4通过字典D计算测试样本的编码系数,具体包括:

4.1通过求解下面目标函数:

T 2 ‑1 T

可得到编码矩阵Xtest的计算公式为Xtest=(D D+γdiag(P)) DYtest,其中P表示字典D与测试样本Ytest之间的距离关系,即局部信息,它的计算公式为:此外,σ=1,γ=0.0001, 表示测试样本Ytest与字典D之间的欧式距离;

所述步骤S5通过编码系数Xtrain计算线性分类器系数矩阵W的步骤具体包括:

5.1对于一个分类器f(X),可以通过解决以下函数模型来获得:C×n T C

其中,H=[h1,...,hn]∈R (hi=[0,...,1,...0]∈R)是训练样本的标签信息,每一个列向量hi的非零元素的位置代表了当前训练样本所属的类别信息,Γ是损失函数,μ是正则化系数,通过求解上述函数模型,分类器系数矩阵W可以通过以下公式计算得到:T T ‑1

W=HXtrain(XtrainXtrain+I) 。

2.根据权利要求1所述的一种基于多样本字典学习和局部约束编码的图像分类方法,其特征在于,所述步骤S2根据训练样本Ytrain生成虚拟训练样本Yvirtual_train的公式具体包括:Yvirtual_train(p,q)=Ytrain(p,Q‑q+1),(p=1,...,P;q=1,...Q)其中,Ytrain(p,q)和Yvirtual_train(p,q)分别表示训练样本和虚拟样本的第p行,第q 列元素。