Fabric defect inspection using prior knowledge guided least squares regression

前言

这是一篇用低秩矩阵分解做纺织物缺陷检测的文章,论文修改了传统的LRR模型,将原始的混合范数替换为F范数,起了一个新名字叫先验知识指导下的最小二乘回归,本质上并无明显区别。我认为该文实际出彩的地方是构建模板参照图像上,其基本思路是,缺陷只占纺织物图像的一小部分,那么我随机在纺织物图像上取块,很大可能是取得无缺陷的图像块,利用随机取得到的块来构建参照,当做无缺陷的纺织物图像。这和传统的纺织物缺陷检测需要“干净”的模板有所不同,也是在未来的研究中可以借鉴的地方。这篇文章大连理工大学一位老师的工作,发表在Multimedia
Tools and Applications上面,在计算机领域是一个3区的SCI期刊,IF在1.3左右。

相关工作

缺陷检测方法分类

现有的缺陷检测技术主要分为三类:基于模型的方法、基于频率域的方法(傅里叶变换、Gabor变换、小波变换)和基于统计的方法(实际上就是空间域方法)。下面简要介绍上述几类方法。

基于模型的方法通过模型和参数估计技术提取图像纹理特征。最常见的基于模型的方法是马尔科夫随机场模型,但是这个模型具体怎么搞我也不是很清楚。经常看到这几个字,但到底是什么,怎么发挥作用的需要我后续的研究。一般来说,基于模型的方法复杂度计算较高。

基于频率域的方法首先将纺织物图像转换到频率域上,然后通过一些能量准则提取特征。通俗地讲,就是数字图像处理中的滤波技术。可以这样理解,纺织物图像呈现出很强的规则性,对应在频率域上其应该也有固定的规律,缺陷会破坏这种规律性。通过滤波技术,将缺陷部分对应的“波”映射回空间域上,从而实现缺陷检测。

基于统计的方法,有文献也称之为空间域统计方法,即基于统计的方法和空间域方法在看文献的时候指的是同一类方法。如灰度共生矩阵、LBP、统计直方图等都属于空间域方法,简而言之就是在空间域上提取特征,对特征进行分类等操作实现纺织物的缺陷检测。

基于低秩表示的显著性检测

这篇文章的主体就是基于低秩表示模型(LRR)。LRR模型是刘光灿老师在博士阶段提出的模型,现在刘老师在南京信息工程大学做教授,非常厉害。刘老师的主页:http://web2.nuist.edu.cn:8080/jszy/Professor.aspx?id=1990原始论文可参照 Robust Subspace
Segmentation by Low-Rank Representation这篇论文,如果嫌费劲可在知网上搜索刘老师的博士论文。其基本模型是:

算法

图像分割和特征提取

首先图像I被分割为m*m的小块,每一个小块记作B,然后对每一个小块内的每一个像素点计算一个8维的texton特征,拿小块内所有像素点的特征取均值作为当前块的特征,该特征可以查看what are textons?这篇文献,不怎么好读。最终构成一个8*N维的特征矩阵,8是指每一个块都提取了8维特系统特征,N指的是块的个数。这一切可以表示为下面的公式:

纺织物缺陷检测模型

前面已经列出了LRR模型,可以看到在LRR模型中,原始特征矩阵X是通过自身乘以某系数矩阵Z加上噪声矩阵E进行重构的,其中Z具有低秩性。同时,E具有稀疏性,原因在于缺陷仅占整个纺织物的一小部分,而缺陷正好相当于噪声,因此矩阵E是稀疏的。在此基础上,定义非规则地图(irregularity map)如下:

表示第i列是缺陷的可能性。可以这样理解,我们是对每一块进行提取特征的,每一块对应矩阵的一列,该列中非零元素越多,也就是S(Bi)越大,说明该列越“显著”,越有可能是缺陷块。

PG-LSR

这是本文的创新点,其实并没有太强的创新。尽管LRR模型能粗略地识别出缺陷,但是核范数并不光滑(这是文章里说的,但是我不知道为什么不光滑,不是说核范数已经替换rank就是为了避免rank的非凸吗?)求解LRR模型需要计算SVD十分耗时,因此作者提出来将模型中的范数换成更容易求解的F范数,F范数是元素的平方和嘛,这也就是作者标题中所谓的最小二乘回归。因此作者提出的模型如下:

至此,其实只体现了标题中的最小二乘回归,但是标题中的先验知识还没有体现。为了获得更清楚的非规则地图,作者将先验知识添加到模型中得到下面的模型:

这里W是一个权值矩阵。其基本思路是,首先上面模型是最小化模型,如果认为某一块是无缺陷块,即E中对应的列S(Bi)很小,列种多为零元素,那么我就将W对应位置设置的大一些。如果当前块是缺陷块,那么就将W对应位置设置地小一些。那如何判定当前块最有可能是缺陷还是无缺陷呢?就是下面提到的构建参照图像块,实际上我认为这才是本文最出彩的地方。

构建参照图像

注意,我们的检测对象是每一个图像块,每一个图像块对应一个特征向量。因此,为了构建指导矩阵W,需要计算一个参照特征向量对应着无缺陷的特征块。基本思路是,缺陷仅占纺织物图像的一小部分,那么我随机取块得到的小块很有可能是无缺陷块。从图像中随机选取s个块,然后用这s个图像块的特征向量的均值做参照特征向量。这个过程重复k次,因此可以得到k个特征向量。最后特征向量可以通过下面的模型求解得到

得到了参照特征向量,就可以利用参照特征向量来构建权值矩阵。如果新来了一个图像块与参照特征向量的距离较大,那么我们就认为该图像块是缺陷块。反之,如果新来的图像块对应的特征向量与参照特征向量距离较小,那么我们就认为该图像块是无缺陷的。把待判图像块对应的特性向量与参照特征向量之间的距离记作Pi,根据前面的描述可以构建权值矩阵如下,这样就体现了标题中的先验知识了:

距离越大,是缺陷块,权值越小;距离越小,是无缺陷块,权值越大。

该文章的全部内容应该就是这样了。写此博文,目的是学习利用随机取块构建无缺陷参照的方法,同时还有可能帮助在阅读此文的同学更好的理解。有任何问题可以发邮件至[email protected]
进行沟通讨论,互相学习。

时间: 2024-10-29 03:23:21

Fabric defect inspection using prior knowledge guided least squares regression的相关文章

prior knowledge

https://en.wikipedia.org/wiki/Bayes'_theorem For example, if cancer is related to age, then, using Bayes' theorem, a person's age (prior knowledge) can be used to more accurately assess the probability that they have cancer, compared to the assessmen

斯坦福CS课程列表

http://exploredegrees.stanford.edu/coursedescriptions/cs/ CS 101. Introduction to Computing Principles. 3-5 Units. Introduces the essential ideas of computing: data representation, algorithms, programming "code", computer hardware, networking, s

Machine and Deep Learning with Python

Machine and Deep Learning with Python Education Tutorials and courses Supervised learning superstitions cheat sheet Introduction to Deep Learning with Python How to implement a neural network How to build and run your first deep learning network Neur

BAYESIAN STATISTICS AND CLINICAL TRIAL CONCLUSIONS: WHY THE OPTIMSE STUDY SHOULD BE CONSIDERED POSITIVE(转)

Statistical approaches to randomised controlled trial analysis The statistical approach used in the design and analysis of the vast majority of clinical studies is often referred to as classical or frequentist. Conclusions are made on the results of

Flipped

More praise for FLIPPED "We flipped over this fantastic book, its gutsy girl Juli and its wise, wonderful ending." --The Chicago Tribune "Delightful! Delicious! And totally teen." --BookPage * "With a charismatic leading lady kids

knowledge_based topic model - AMC

ABSTRACT摘要 Topic modeling has been widely used to mine topics from documents. However, a key weakness of topic modeling is that it needs a large amount of data (e.g., thousands of doc- uments) to provide reliable statistics to generate coherent topic

(译)Cg Programming/Unity(Cg编程/Unity)

最近在学习Unity3d中的shader编程,能找到的中文资料比较少,于是,尝试翻译一下wiki Books上的资料,以方便其他跟我一样的入门学习者.由于是第一次翻译技术资料,经验不足,难免出错,请路过的大神们批评指正,共同帮助我等新手少走弯路,谢谢. 下面翻译开始: (原文:https://en.wikibooks.org/wiki/Cg_Programming/Unity) Cg programming in the game engine Unity is considerably eas

Awesome Machine Learning

Awesome Machine Learning  A curated list of awesome machine learning frameworks, libraries and software (by language). Inspired by awesome-php. If you want to contribute to this list (please do), send me a pull request or contact me @josephmisiti Als

(转)A Beginner's Guide To Understanding Convolutional Neural Networks

Adit Deshpande CS Undergrad at UCLA ('19) Blog About A Beginner's Guide To Understanding Convolutional Neural Networks Introduction Convolutional neural networks. Sounds like a weird combination of biology and math with a little CS sprinkled in, but