Professional Documents
Culture Documents
基于改进K-SVD算法在牛脸识别上的应用 赵建敏
基于改进K-SVD算法在牛脸识别上的应用 赵建敏
*
基于改进 K-SVD 算法在牛脸识别上的应用
赵建敏,姜世奇,李 琦
( 内蒙古科技大学 信息工程学院,内蒙古 包头 014000)
Abstract: In order to adapt to concept of precise animal husbandry,an improved K-SVD algorithm is proposed for
individual identification of cattle. On the basis of K-SVD algorithm,selection mode of dictionary atoms in sparse
encoding phase is changed,making the algorithm more suitable for image classification problems. A cattle face
image dataset IMCFR20 containing 20 cattle is constructed and using this dataset to analyze the impact of sparsity
and dictionary atomic number on recognition effect. The experimental results show that the improved algorithm has
recognition rate of above 90 % ,and the recognition effect is greatly improved,which provides a feasible solution for
individual recognition of cattle using images.
Keywords: individual identification; cattle face; sparse representation; K-SVD algorithm
收稿日期: 2020—04—07
* 基金项目: 内蒙古自然科学基金资助项目( 2019LH06006) ; 内蒙古自治区科技重大专项资助项目( 2019ZD025)
第 10 期 赵建敏,等: 基于改进 K-SVD 算法在牛脸识别上的应用 159
1 材 料
‖Y - DX‖ F = ‖Y - ∑dx ‖
j =1
j L F
j
数据来源于内蒙古自治区乌兰察布市察哈尔地区某牧 = ‖( Y - ∑dx ) j L - d k x kL ‖2F
j≠k
场,
为了更好地采集完整的牛脸图像,选取了牛在饮水期间
= ‖E k - d k x kL ‖2F ( 2)
进行图像采集,经过挑选后构造了一 个 牛 脸 图 像 数 据 集 k
式中 d k 为 D 的第 k 列,x 为 X 的第 k 行,E k 为去掉 d k 列
L
IMCFR20。该数据集中包含 20 头牛,每头牛挑选 20 张正 k
的残差,对其进行 SVD 分解,得到更新后的 d k 和 x R
面牛脸图片,共计 400 张。采集时间为 2018 年 7 月,采集
E Rk = UΔV T ,d k = U(︰,
1) ,x kR = ∑( 1,
1) V(︰,
1) ( 3)
设备为高清数码摄像机。
2. 2 K-SVD 算法的改进
图 1 为 IMCFR20 数据集中部分牛只 ID 对应的牛脸图
K-SVD 在稀疏编码阶段是通过求解一个稀疏矩阵来
像,可以看出除 ID17 的花纹毛色呈现明显 区 别 外,其 余
对算法进行优化,通常采用 OMP 算法。具体是通过反复迭
ID02,
03, 15 所代表的牛只外形极为相似,只在牛角以
06,
代求解样本向量与字典原子的内积来寻找一个最佳的正交
及毛发的弯曲程度以及其他细节特征上有所区别。除此以
投影进行信号的稀疏逼近。在利用牛脸图像进行牛个体身
相似的养殖环境进一步提升了识别难度,依赖人的主观
外,
份的识别问题上,希望通过输入的牛脸图像尽可能准确地
判断很难对其进行准确识别。
对牛个体进行分类和识别,不需要对原始的牛脸图像进行
ID 02 精准的重构,而对于输入样本的稀疏表达形式提出了不同
要求。因此针对分类与识别问题,使残差尽可能取最小并
ID 03 不是目的,而是需要使稀疏向量的系数尽可能非负。借鉴
文献[12]的思想对 OMP 算法进行改进,为了使负值系数
ID 06
尽可能少出现,在迭代过程中不再选取使内积最大的字典
原子作为最优解,而是保留使系数取最大值的原子,将其
ID 15
余原子去除,进而实现稀疏表示的优化。具体流程如下:
输入: 字典 D,样本 Y,稀疏度 L,迭代次数 N
ID 17
输出: 稀疏矩阵 X
图1 IMCFR20 部分牛脸图像 ( 0)
初始化: 残差 r0 = y,索引集 Λ = Ø,J = 1
2 方 法
过程:
2. 1 K-SVD 算法
1) 计算 r J - 1 与 D 中原子 d j 内积,求取使系数最大的原
K-SVD 算法的提出将 K-Means 与 SVD 进行了有机结
子( P d j 表示在原子 d j 上的投影)
合,
通过得到一个对原始样本进行学习的冗余字典,利用其
〈r ( J - 1) ,d j 〉
原子的线性组合来实现近似表示。对于样本集合 Y =[y1 , λ = argmax ;
2,…,N 1 -〈d j ,
j = 1, Pdj dj 〉
…,y N]∈R n × N ,可以近似描述为 Y≈DX,D =[d1 ,…,d K]∈ 2) 更新索 引 集 和 字 典 原 子: Λ ( J) J = λ,D ( J) J = D (︰,
R n × K 表示过完备字典,X =[x1 ,…,x N]∈R K × N 表示 Y 对应 Λ
( J)
J( 1︰J) ) ;
稀疏系数构成的矩阵。算法可表示为以下问题的优化 3) x( J) = ‖y - D ( J) x‖2 ;
2
〈D,X〉= argmin‖Y - DX‖ s. t. ∀i,‖x i ‖0 ≤L ( 1)
F 4) 更新残差 r ( J) = D ( J) x ( J) ,J = J + 1;
式中 L 为稀疏度,‖Y - DX‖22 为重构误差,即在一定的 5) 若 J > N,
则停止迭代,
否则,
循环步骤( 1) ~ 步骤( 5) 。
稀疏约束下,利用最小化重构误差对 D 进行求解。 3 结果与分析
在求解过程中大致分为三个步骤: 第一步是初始化 实验环境为 CPU: Intel Core i7 —7700K; 内存: 32 GB; 显
D0 ,在 Y 中随机选取 K 个样本对字典进行初始化。第二步 卡: GTX 1080Ti; OS: Ubuntu16. 04; MATLAB 2016a。IMC-
是稀疏编码过程,将式( 1) 的优化问题转换为求解 Y 对应 FR20 数据集中包含 20 头牛的 400 张牛脸图像,样本大小
[11]
稀疏矩阵 X,这里采用 OMP 算法 进行求解,通过不断迭 为 128 × 128。
代计算样本向量与字典原子的内积,选择与信号残差最匹 通过牛脸图像数据集 IMCFR20 对本文算法进行验证。
配的原子,直到满足稀疏度限制。第三步是字典更新过程, 首先进行数据的预处理,将 IMCFR20 数据集中的图像进行
160 传 感 器 与 微 系 统 第 40 卷
K-SVD 83. 4 85. 1 86. 9 86. 5 86. 1 based techniques for individual cattle identification[J]. IET
改进 K-SVD 86. 7 88. 2 90. 1 88. 4 89. 0 Image Processing, 11( 10) : 805 - 814.
2017,
[10] AHARON M,ELAD M,BRUCKSTEIN A. K-SVD: An algorithm
分析字典原子数量对识别效果的影响,随机选取每类
for designing overcomplete dictionaries for sparse representa-
牛脸图像中的 16 张用于训练,
4 张用于测试,共20 类。稀疏
tion[J]. IEEE Transactions on Signal Processing, 54( 11) :
2006,
度 L = 6,字典原子数 K 分别取 300,400,500 进行测试,结
4311 - 4322.
果如表 2 所示。 [11] TROPP J A,GILBERT A C. Signal recovery from random
表2 不同数量的字典原子对识别率的影响 measurements via orthogonal matching pursuit[J]. IEEE Trans-
不同 K 取值下的识别率 / % actions on Information Theory, 53( 12) : 4655 - 4666.
2007,
算法
K = 300 K = 400 K = 500 [12] 殷爱菡,姜辉明,张清淼. 改进 OMP 算法在人脸识别中的应
K-SVD 86. 8 87. 3 88. 3 用[J]. 计算机工程, 38( 12) : 146 - 148.
2012,
改进 K-SVD 90. 1 90. 5 90. 9
作者简介:
实验表明,在一定范围内增加字典原子个数可以提升 赵建敏( 1982 - ) ,男,硕士,副教授,研究领域为计算机视觉,
识别效果,当 K = 500 时,本文算法可以达到 90. 9 % ,具有 人工智能。