用于图像分类的位置约束线性编码(LLC)模型

论文:Locality-constrainedLinearCodingforImageClassification

代码:http://www.ifp.illinois.edu/~jyang29/LLC.htm

基础知识:该编码方式是在词袋模型(BOW)的基础上的改进

目标:使用LLC编码方式对特征编码,获得VQ编码得不到的位置信息,从而提高准确率
在VQ编码的基础上的改进方法:
输入:样本的N个特征,M个聚类中心
步骤:
1,对每个特征使用KNN最近邻算法找出5个与该特征的L2距离最小的聚类中心
2,设每个特征维数为n,计算该特征的每一维与最近的5个聚类中心的L1距离矩阵,距离矩阵的尺寸为n*5
3,对距离矩阵的距离求协方差,得到5*5的距离协方差矩阵Ci
4,对距离协方差矩阵加上0.0001的正则化对角矩阵,避免无法求逆
5,由作者给出的解析解公式,求出替代VQ编码的非零系数 w = Ci\ones(5,1)
6,归一化,w = w/sum(w); 


VQ编码与LLC编码的不同之处:
VQ编码向量中,只有1个系数为1,代表该特征属于该系数对应的簇,无法精确体现该特征在特征空间中的位置
LLC编码向量中,与该特征最近的5个簇的系数都不为0,较VQ编码进一步体现出该特征在特征空间中的位置


核心代码:
function [Coeff] = LLC_coding_appr(B, X, knn, beta)


if ~exist('knn', 'var') || isempty(knn),
    knn = 5;
end


if ~exist('beta', 'var') || isempty(beta),
    beta = 1e-4;
end


%% 初始化参数
nframe=size(X,1); % 该样本的特征个数
nbase=size(B,1); % 聚类个数


%% find k nearest neighbors 找k个最近邻
 %% 求每个特征与每个聚类中心的L2距离
XX = sum(X.*X, 2);
BB = sum(B.*B, 2);
D  = repmat(XX, 1, nbase)-2*X*B'+repmat(BB', nframe, 1);
IDX = zeros(nframe, knn);


 %% 对每个特征按距离远近选出最近的5个聚类中心
for i = 1:nframe,
d = D(i,:);
[dummy, idx] = sort(d, 'ascend');
IDX(i, :) = idx(1:knn);
end


%% llc approximation coding LLC近似编码
 %% 初始化参数
II = eye(knn, knn);
Coeff = zeros(nframe, nbase); % 该样本的每个特征按与聚类中心距离分配大小的LLC系数,只有离特征最近的5个聚类中心的LLC系数不为0
 
 %% 求ci系数
for i=1:nframe
    
    %% 计算特征与最近的5个聚类中心的L1距离
   idx = IDX(i,:);
   z = B(idx,:) - repmat(X(i,:), knn, 1);           % shift ith pt to origin
   
    %% 计算5个距离的协方差矩阵
   C = z*z';                                        % local covariance
   C = C + II*beta*trace(C);                        % regularlization (K>D)
   
    %% 由ci的解析解得系数w
   w = C\ones(knn,1);
   w = w/sum(w);                                    % enforce sum(w)=1
   Coeff(i,idx) = w';
end
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值