[发明专利]一种基于K-SVD学习字典的机织物纹理瑕疵检测方法有效
申请号: | 201711297535.X | 申请日: | 2017-12-08 |
公开(公告)号: | CN108154499B | 公开(公告)日: | 2021-10-08 |
发明(设计)人: | 汪军;吴莹;史倩倩;范居乐;江慧;肖岚;李冠志 | 申请(专利权)人: | 东华大学 |
主分类号: | G06T7/00 | 分类号: | G06T7/00;G06T9/00 |
代理公司: | 上海统摄知识产权代理事务所(普通合伙) 31303 | 代理人: | 金利琴 |
地址: | 201620 上*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 svd 学习 字典 机织 纹理 瑕疵 检测 方法 | ||
1.一种基于K-SVD学习字典的机织物纹理瑕疵检测方法,其特征是:将整幅机织物纹理图像分解为多个子图像后,判别出含有瑕疵的子图像,进而由含有瑕疵的子图像的位置信息确定织物瑕疵的位置;
瑕疵的判别是通过比较子图像和重构子图像实现的,所有的子图像展开为列向量后进行联合得到测试样本图像矩阵,通过选用离散余弦变换作为初始字典并采用正交匹配追踪算法由初始字典和训练样本图像矩阵计算得到初始稀疏系数矩阵后,对训练样本图像矩阵进行K-SVD字典学习得到字典,再采用正交匹配追踪算法由字典和测试样本图像矩阵计算得到稀疏系数矩阵后对测试样本图像矩阵进行重构得到重构测试样本图像矩阵,重构样本图像矩阵的列向量转化即得重构子图像;
所述训练样本图像和测试样本图像为不同的机织物纹理图像;
具体步骤如下:
(1)图像处理;
先将整幅机织物纹理图像等分为n个按行和列排列的子图像后,从1到n开始编号,每行的编号从左到右递增,每列的编号自上而下递增,每个子图像都有其对应的编号、行号和列号,再将每个子图像展开为列向量,n个列向量联合组成测试样本图像矩阵Y,Y=[y1,y2,…yt,…yn],yt∈Ru,yt为编号为t的子图像展开得到的列向量,t=1,2,…,n,yt=[ylt,…,yqt,…,yut]',yqt为yt中的第q个元素,q=1,2,…,u,u是yt的维数;
(2)构建初始字典D;
首先构造一个维的DCT矩阵D1D,即矩阵D1D由个列向量dj组成,且列向量dj代表字典原子;
然后计算每个字典原子中的元素,公式如下:
当j=1时,D1D(:,1)表示D1D第一列的所有元素,即第一个字典原子;
当j1时,D1D(:,j)表示D1D第j列的所有元素,即第j个字典原子;
最后由计算得到大小为m×k的初始字典D,即D拥有k个维数为m的字典原子;
(3)采用正交匹配追踪算法计算初始稀疏系数矩阵α;
(3.1)以v为迭代次数,令当前迭代次数v为1;
(3.2)计算初始字典D的第w列dw的误差ε(w),公式如下:
式中,rv-1为迭代v-1次后更新得到的残差,v=1时,rv-1=X,X为训练样本图像矩阵;
(3.3)确定误差ε(w)最小的初始字典D的列w0后更新支撑集Sv,更新公式如下:
Sv=Sv-1∪{w0};
式中,Sv和Sv-1分别为迭代v和v-1次后更新得到的支撑集,v=1时,Sv-1=φ,φ为空集;
(3.4)根据Sv计算αv,support{αv}=Sv,αv满足最小,同时更新rv,更新公式如下:
rv=X-Dαv;
式中,αv为迭代v次后更新得到的初始稀疏系数矩阵,rv为迭代v次后更新得到的残差;
(3.5)判断||rv||2<ε0是否成立,ε0为误差阈值,如果否,则令v=v+1,返回步骤(3.2);反之,则输出最后一次更新得到的αv作为最终确定的初始稀疏系数矩阵α;
(4)对训练样本图像矩阵进行K-SVD字典学习更新D得到
(4.1)以p为迭代次数,令当前迭代次数p为1;
(4.2)更新字典Dp-1的所有列得到字典Dp,Dp-1为迭代p-1次后更新得到的字典,p=1时,Dp-1=D,更新是逐列进行的,当对字典Dp-1的第j0列进行更新时,保持字典Dp-1其余的列不变,更新得到的公式如下:
式中,αj中非零元素构建成一个新的矩阵Ω,αj是αp-1的第j列,代表αp-1中的第j行,αp-1为迭代p-1次后更新得到的稀疏系数矩阵,p=1时,αp-1=α,代表更新后的代表在稀疏系数矩阵中对应的稀疏系数,U、V和Δ分别是通过奇异值分解得到的秩为1的左奇异向量、右奇异向量和特征值,dj为Dp-1的第j列;
(4.3)采用正交匹配追踪算法计算αp,即用Dp替换D后进行步骤(3)的操作;
(4.4)判断是否满足终止条件,如果否,则令p=p+1,返回步骤(4.2);反之,则输出最后一次更新得到的字典Dp作为所述终止条件如下:
式中,为训练样本图像矩阵X重构得到的矩阵,RMSE表示X和的均方根误差,X(a,b)表示X的第a行b列的元素,表示第a行b列的元素,e和f分别为训练样本图像的高度和宽度;
(5)采用正交匹配追踪算法计算即用替换D同时用测试样本图像矩阵Y替换X后进行步骤(3)的操作;
(6)对测试样本图像矩阵Y进行重构得到重构测试样本图像矩阵
(7)瑕疵检测;
判断每个子图像是否含有瑕疵,方法为逐列计算Y与的重构误差,重构误差超过预先设定的阈值,则Y中该列对应的子图像含有瑕疵,反之,则没有,按此方法找到所有含有瑕疵的子图像后,由这些子图像的行号和列号信息确定织物瑕疵的位置;编号为t的子图像对应的重构误差Et的计算公式如下:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东华大学,未经东华大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711297535.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:一种裂缝缺陷检测系统及其实现方法
- 下一篇:一种检测瓶盖变形的方法