Multi-Scale Pyramidal Pooling Network for Generic Steel Defect Classification-论文阅读笔记
Posted wyypersist
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Multi-Scale Pyramidal Pooling Network for Generic Steel Defect Classification-论文阅读笔记相关的知识,希望对你有一定的参考价值。
Multi-Scale Pyramidal Pooling Network for Generic Steel Defect Classification
基于多尺度金字塔网络的钢材缺陷分类
//2022.5.16日下午13:56开始阅读笔记
论文地址
论文贡献
本文提出了一个多尺度金字塔池网络,该网络针对一般的钢材缺陷分类,具有一个新的多尺度金字塔池层和一个新的编码层。由于多尺度金字塔层的存在,该网络不要求给定分类任务的所有图像大小相等,同时,由于后者新的编码层的存在,其缩小了与bag-of-features方法的差距。本文提出的方法大大优于基于特征工程的方法,且可以被看作一个全监督的bag-of-features的扩展,并可以进行在线训练和针对任何任务的微调。
论文内容
1.介绍
作者首先介绍了新的高精度的采集系统使得原始的特征工程的效果不是很好。手工制作一套新的功能和相应的参数是一个繁琐的过程,可能需要花费数人年和大量资金。
然后,作者回顾了在计算机视觉和机器学习中的最佳框架。许多CV系统采用特征袋(BoF)方法[1]。对于给定的图像,提取一组特征(例如SIFT描述符[2]),然后使用基于词典的技术将其编码为超完备稀疏表示。这将生成代表图像内容的“活动”单词的直方图。特征提取是硬编码的,而字典是专门为给定任务构建的。也就是说,对于分类任务,从训练集中的所有或一个子集图像中收集特征向量并进行聚类。集群中心构成了基础编码阶段使用字典的基础,最后训练有监督分类器对图像的直方图表示进行分类。这种方法不会发现新的、可能非常有区别的特征,而是使用传统算法。这项工作都是在编码阶段进行的,在编码阶段,每个任务都会学习单词词典。
另一方面,有监督的ML方法尝试将基于像素的表示直接映射到标签向量,从标签数据集中学习特征提取和编码。从数据中学习特征有助于使系统易于适用于先验知识未得到充分整合的领域,尤其是在织构钢的情况下,即使对于最先进和整合的系统,也很难区分可接受模式和缺陷模式。也许最成功的图像分类方法是卷积神经网络[3]、[4]、[5]、[6](CNN)的变体,让人想起初级视觉皮层中的简单和复杂细胞[7]。通过这样的模型学习良好的特性,尤其是在训练样本数量较少的情况下,开启了无监督算法的研究,该算法可以用作预训练阶段。这种方法已经非常流行,并被广泛使用[8]、[9]、[10]、[11],以在此类设置中获得更好的特征提取器。尽管如此,预训练是否能提高分类任务的识别精度仍值得怀疑[12]。只要有标记的数据集可用,在许多基准测试中,完全监督的方法似乎更可取[13]。对于手写字符,弹性变形和变形是避免过度拟合和提高通用性的最佳方法[14]、[15]、[13]。CNN最近被证明[16]在钢材缺陷分类任务中优于任何传统特征,唯一的主要限制是数据的分区和大小调整,以适应大小相同的输入图像的约束。这就需要在数据子集上对多个网络进行训练,这大大减少了每个类的训练模式数量,并且使得在标记数据昂贵的领域中几乎不可能进行训练,这就要求系统能够仅从每个类的几个样本中学习。此外,一般钢铁缺陷识别所需的不变性并不容易合成,大多数缺陷无法通过旋转不变描述符检测到,在大多数情况下,尺度也至关重要。最好采用无失真/无变形的方法。
BoF和完全监督的CNN之间有明显的相似之处。这两种方法都是基于光度不连续性(例如,边缘)提取特征,或者是设计的,或者是从样本中学习的,然后是编码阶段。标准CNN网络缺乏多分辨率池和赢得BoF方法的明确编码步骤。然而,BoF缺乏可调的特征提取阶段,这可能会降低复杂编码的重要性。CNN的一个主要缺点是对恒定大小的输入图像的限制,钢铁行业无法简单地通过调整大小和填充来克服。
A.贡献
在这里,我们提出了MSPyrPool框架,旨在解决一般的钢缺陷识别问题。我们进一步缩小了BoF和CNN之间的差距,引入了钢铁行业常用的基于卷积的网络的扩展,包括三个新成分:
- 与反向传播兼容的金字塔池层,其产生与输入图像大小无关的固定维特征向量;
- 一个可学习的编码层,包含CV的常用编码策略;
- 一种多尺度特征提取策略。
我们的方法首次适用于具有任意大小图像的一般钢缺陷分类问题。它可以直接缩放到多变量(高光谱)图像,这是钢铁自动检测的未来标准.
2.相关工作
目标识别算法通常采用以下方案:特征提取、编码、分类。在CV中,需要获得一个线性可分离的代码,出于可伸缩性的原因,该代码可以使用线性SVM进行有效分类。这不会影响ML方法,因为预测是以网络前向传递的线性代价进行的。在接下来的内容中,我们首先简要回顾CNN的总体架构,然后回顾BoF系统的两个主要概念,这两个概念将在我们的MSPyrPool架构中重新解释。
A.CNN
CNN是交替进行两种基本操作(卷积和子采样)的分层模型,让人想起初级视觉皮层中的简单和复杂细胞[7]。他们通过权重共享利用图像的二维结构,学习一组卷积滤波器。这种强大的特性使它们在许多对象识别[17]、[6]、[15]、[16]和分割[18]、[19]基准测试中表现出色。
B.特征编码算法
在CV框架中,使用工程方法(例如SIFT描述符)提取特征。通常不同的不是特征提取过程,而是在图像中提取描述符的位置。最成功的方法是在密集、等间距的网格上提取特征[21]。最近在常用基准测试[22]上分类性能的改进主要是由于编码策略的改进,而不是新的特征描述符。为了生成直方图,需要对描述符进行量化,以便能够与给定的码本进行匹配。这一步对于生成具有适当细节级别的编码至关重要,这样可以避免过度拟合,并提高对未知数据的泛化能力。这一过程的事实标准似乎是由特征描述符的过度完备和稀疏编码给出的。这一步最常用的算法是:只选择一个基的矢量量化(VQ);保持小子集的稀疏编码(SC);局部约束线性编码(LLC),其中使用K-NN选择固定大小的基子集,导致快速系数估计,从而解决一个非常小的最小二乘问题。
C.特征池
一旦对特征进行编码,就会形成直方图。早期BoF系统中使用的naıve方法是对所有N维代码求和,其中N表示字典中的基数,从而生成全局表示。[23]中介绍了一种更强大的直方图生成技术,其中在空间位置考虑了特征。在四叉树的每一层l生成个图块,并为每个图块提取一个特征向量。这种方法用于PHOG描述符[21],这是对HOG[24]的改进。此外,还介绍了几种组合方法,如总和法、平均法等。
3.多尺度金字塔网络
CNN和BoF的方法有许多共同之处。这两种方法都使用卷积滤波器提取特征,唯一的区别是CNN的滤波器是从数据中学习的,而BoF中使用固定的特征提取器。此外,BoF本质上是单层结构,而深层多层结构能够提取更强大的功能[25]。对于HOG,使用卷积滤波器获得图像梯度,然后合并以获得最终描述符。在SIFT中,64×64像素的输入面片分为16个象限,每个象限提取8维梯度方向向量。由此产生的描述符是这些向量的串联,从而产生位于输入面片中心的128维特征向量。如果我们将CNN解释为许多功能(例如层)的组合,我们得到
其中f1到fe表示特征提取层,fe到fk表示编码层,fc表示剩余分类层。为每一层提供一个可微的定义会产生一个框架,该框架的参数可以从标记的训练数据集中联合学习。在接下来的内容中,我们将介绍MSPyrPool框架中使用的两个新层。
A.金字塔池化层
在之前的工作[26]中,动态池层用于获取与输入大小无关的特征,以检测1D信号的释义。在这里,我们提出了一种变化,它考虑到了图像的2D性质,并在[23]之后以多个分辨率生成空间定位的表示。让我们考虑一个有k个贴图的图层,每个贴图对应一个过滤的/池化的图像。如果对每个映射中的所有值求和,则获得不依赖于实际输入图像大小的k维特征向量。这将生成一个表示,该表示仅取决于生成不再需要固定大小图像的系统的地图数量。这已经代表了获得通用钢缺陷分类器的重大改进。但是,对贴图的所有激活进行求和,会得到更大图像的更高值。为了获得更稳定的度量,通常首选平均池。执行功能池的一种更有效的方法是使用max操作符,而不是平均值。这避免了所有的标准化,并且在我们的实验中总是加快了学习速度。此后,我们只考虑具有最大池的金字塔池层。
为了产生一个空间定位的特征向量,我们将图像分块,并在相应改变池窗口的象限上进行池化操作。然后,将每个级别的结果连接在一起,得到最终的表示,就像在BoF中一样,如图2所示。使用足够数量的分片金字塔池相当于CNN的常规池操作,因此可以被视为其推广。例如,让我们考虑10×10图像的情况,以及图像的2×2最大池化操作。这显然相当于一个金字塔池,每个维度有5个池化结果块。
金字塔池层没有任何可调参数,但为了在其之前训练特征提取层,需要对层的输出w.r.t.进行偏导数。需要输入。让我们用X表示图像的三维输入向量(例如,[行,#列,#映射])。在前向传递过程中,max pooling仅保留X的非重叠子区域中的最大值,以恒定因子对图像进行下采样。向后传递将增量值(应用链式规则进行部分微分的结果)放置在发现最大值的位置,向上采样到原始输入大小。在我们的金字塔池层中,前向传递相当于在金字塔的每个级别应用子采样操作,然后将结果连接到单个输出向量中。因此,在每个金字塔层级的反向传播中,反向传递求和。
B.多尺度提取
金字塔特征提取虽然本身已经是对传统CNN的改进,因为它允许放松对固定输入大小的限制,但只提取与单个尺度对应的特征(例如,执行合并的“简化”图像的标称大小)。在许多应用程序中,输入图像的比例非常不同,应用金字塔池层并不能完全解决问题。多尺度金字塔特征提取可以使用每个表示的金字塔池层(即网络中的层)来完成,然后连接分类阶段的各种特征向量。在子采样层之后,图像以恒定因子进行下采样,并在最大池操作前后附加金字塔池,因此提供了多尺度特征提取(图1)。
C.特征编码层
缩小传统BoF方法和CNN之间差距的下一步是引入特征编码层,这是这项工作的主要贡献。如果我们考虑BoF的最简单的特征量化算法,即具有硬分配的k-均值,我们注意到这种算法可以通过基于相关性的度量1来近似。这使我们能够导出这种编码方案的可微近似,我们称之为MLPDict。
1. MLPDict层:我们使用带有最大池的完全连接层来模拟k-means编码的行为。x和W的投影,即编码层的权重,是x和W的每一列之间的相关性。取最大值近似于VQ编码方案。与BoF方法相比,W充当字典,但它是一个自适应字典,需要一个接一个地调整。对这种编码的结果执行金字塔池操作将产生类似直方图的表示。
图3显示了编码层的示意图。基于卷积的网络的隐藏表示由D个图像组成;我们将每个像素视为一个D维特征向量(从最密集的网格中提取)。MLPDict将D重塑为一个矩阵,其行数为像素(#行×#列),列数和图像数量一样多(#maps)。应用一个权重矩阵为W∈RD×D'的完全连接的MLP层到重塑后的矩阵X∈RN×D将导致X'∈RN×D'。这将被重塑回D'图像,其中N对应于每个图像中的像素数。当D'≪D时,它充当减少冗余的特征选择层;图像处理中的常用策略,尤其是在高光谱数据处理中。当D'≫D时,由于最大池操作,该层充当传统的VQ编码层。这就是我们在所有实验中使用的;然而,这个方法具有通用性,可扩展到任何特征编码算法。
4.实验
在所有实验中,除非另有说明,否则我们评估每类的平均准确度,以确定分类性能,这是在数据集分布不均匀的情况下更具意义的度量。由于上述钢铁行业的要求,不需要进行额外的预处理,例如平移或变形。当然,数据的任何临时转换都可以轻松插入以提高性能。所有网络都使用随机梯度下降法(小批量1)进行训练,初始学习率为0.001,每个历元退火因子为0.97,动量项为0.9。最好的结果通常在几次训练中就能达到(≈ 30),而对于CNN,通常需要更多,尤其是在向输入添加转换时。输出层采用Softmax激活,多类交叉熵损失最小化。我们首先在公开的基准上验证我们的模型,并与其他已发布的方法进行比较。然后,我们在钢铁行业的一个具有挑战性的数据集上展示了结果,我们的MSPyrPool框架可以直接应用,但CNN失败了。
将我们的架构与CNN进行比较并非易事,因为这两种方法有很大不同。然而,我们试图通过在两种架构中采用大小相同的卷积层和子采样层,并让它们在编码和分类阶段的选择上有所不同,从而尽可能公平地进行比较。对于MSPyrPool参数化的特定选择,这两个系统相等。
A.常规基准
我们选择了三种常用的评估数据集:数字、纹理和对象识别。他们都属于相当正统的通常使用的特殊技术应用领域。特别是后者清楚地显示了MSPyrPool网络w.r.t.CNN在完全监督分类方面的优势。由于本节的目的是展示MSPyrPool网络相对于CNN的相对改进,因此未对架构进行任何特定调整。
1.MNIST数据集:作为将我们的方法与传统CNN进行比较的参考,我们采用了经过充分研究的手写字符MNIST[4]基准。CNN擅长于此数据集,其中所有数字大小相等,并位于28×28灰度图像的中间。在这个实验中,整体分类精度被用来与其他方法进行比较。我们使用了一个MSPyrPool网络,它有一个卷积层,带有5×5个滤波器和100个输出映射(C5×5×100),一个2×2最大子采样层(MP 2×2),在两个子采样层的输出端分别使用l=1,2,4,8和l=1,2,4象限的线性MLPDict金字塔池。结果如表1所示。有趣的是,我们的方法是全监督CNN方法中最好的,与使用无监督预训练的方法相当,而只使用一个非常小的单层网络和100个过滤器。
2. CUReT数据集:哥伦比亚乌得勒支(CUReT)数据库[29]包含61种纹理;每个都有205张在不同观察和照明条件下获得的图像。为了训练我们的架构,只需要一张图像作为输入,就像之前的工作[30]一样,没有关于照明和观看条件的信息(隐式或显式)。我们使用传统的评估方案[30],但数据的随机分割不同。图像被标准化为零均值和单位方差,以补偿非常不同的光照条件。我们训练了一个具有5个隐藏层的CNN:C11×11×20,MP5×5,C9×9×20,MP5×5,分类层。我们使用tanh作为每个卷积层的激活。我们将结果与在第一和第二卷积层的输出处具有tanh金字塔池MLPDict和码本大小为100的MSPyrPool进行比较,保持网络拓扑的其余部分。使用l=1,2,4和l=1,2,3级别汇集特征,生成3500维向量。
表二比较了我们新的MSPyrPool网络和传统的CNN。MSPyrPool网络能更好地推广到看不见的测试数据,并在纹理分类方面显示出优于传统CNN的优势,纹理分类是一个与钢铁分类密切相关的领域。我们还报告了不使用MLPDict的情况下的结果,以进一步表明编码阶段很重要,并在最终分类性能方面确实提供了非边际的改进。该方法在所有61个类别上的识别率均达到99.0%,因此大大优于过滤器银行和Texton(96.4%[30]),后者的类似架构具有预连线的特征提取器。因此,新的层次确实有助于学习更好的功能,是对CNN框架的宝贵贡献。
3. Caltech101数据集:在经典的模式识别基准Caltech101上对所提出的系统进行了进一步验证,在该基准上,完全监督的CNN很少成功应用。为了获得令人满意的性能,需要临时步骤和定制的非线性。我们将我们的结果与使用常规转炉和VQ的类似系统得到的结果进行了比较【23】。我们每堂课使用30张图像进行训练,我们测试了最多50张转换成灰度的剩余图像。我们考虑一个有或没有编码层的网络。这两个网络由以下部分组成:C16×16×100,MP 5×5。对于没有编码层的网络,使用l=1,2,4的金字塔池层创建2100维特征向量。对于带有编码层的网络,我们在金字塔池层之前使用了1024个字典大小。使用l=1,2,4的金字塔池层会产生21504维的特征向量。我们在编码层训练一个具有线性和非线性激活函数的网络。为了完整性,我们还训练了一个CNN,包括:C16×16×100;mp5×5;c13×13×100;mp5×5;完全连接的分类层。这种CNN体系结构绝不是完成这项任务的最佳体系结构,它只是用来量化使用MSPyrPool网络的改进。表III列出了所有实验的结果以及文献中的结果。
与同等大小的CNN相比,MSPyrPool网络明显提高了识别率。2使用编码层可以提高泛化性能,即使生成的网络有更多的自由参数。结果表明,我们能够在一个特别困难的领域中,在大多数ML系统中都需要无监督的预训练,在这个领域中,我们能够完全在线地联合学习特征提取、量化和分类阶段。我们还发现,编码阶段与CV系统的性能不匹配,这可能是因为采用了单层结构来模拟SIFT描述符之一。-
B.钢铁缺陷行业基准
钢是一种有纹理的材料,缺陷的规模各不相同,这使得对各种缺陷进行分类非常困难。在不破坏图像原始信息内容的情况下,很难找到一种好的缩放技术。事实上,如果给定分类任务中的图像/对象在几个数量级上发生变化,则甚至不可能调整图像大小或填充图像。在这种情况下,已建立的工业管道涉及一系列难以选择和调整的手工功能。对于多变量图像来说尤其如此,在这些图像中,先验知识仍然没有得到巩固,无法产生有效的钢铁特征提取方法。
在[16]中,作者表明,使用CNN可以有效地从钢缺陷的原始像素强度中学习特征,提供在线处理时间和优异的性能。他们的方法继承了CNN的所有优点,因此可以很好地扩展到任何类型的输入图像,并且不需要任何关于任务的先验知识。不幸的是,类内缺陷的可变性使得将图像划分为同质大小/比例簇的任务变得很麻烦(同一类内的缺陷可能会以非常不同的大小出现)。可用于培训的样本数量将大幅减少。由于与输入尺寸无关的特征提取是本工作的主要贡献之一,因此使用MSPyrPool网络避免了此类问题,并使基于卷积的网络首次适用于一般的钢铁缺陷识别任务。对于本次实验,我们使用ArcelorMittal专有数据集,来自一条热轧带钢生产线,包含30种不同的缺陷类别。为每个实例提供感兴趣区域(ROI),这些实例的大小与最小边缘长度相差很大≈ 20到最多≈ 2000像素(图4)。此外,数据集分布不均,每类样本数为w.r.t;这是一项能够充分发挥我们模型潜力的任务。为了获得执行金字塔池的良好支持,我们添加了背景信息,以便尽可能沿每个维度获得100像素的最小面片大小,否则为零。我们还将每个维度的最大大小限制为500像素,以加速训练。我们将我们的系统与一组使用[16]中描述的相同评估协议训练的常用特征分类器进行比较,但使用更大的分类MLP(500个单元)作为工作是更难的并且缺陷类别的数量要大得多。我们使用了一个MSPyrPool:C11×11×20,MP2×2,C9×9×20,分类层。tanh激活用于每个卷积层。在第一卷积层和第二卷积层的输出端附加tanh MLPDict和码本大小为100的金字塔池层。特征分别在l=1,2,4和l=1,2,3级别汇集,生成3500维的向量。
结果总结在表IV中。我们看到,MSPyrPool网络可以用于解决常规CNN无法应用的问题。在此设置中,调整大小基本上会破坏图像,并删除实际缺陷大小信息。我们还看到,我们的模型在没有先验知识的情况下学习像素表示的所有内容,其性能大大优于任何工程特征分类器。
5.总结
本文提出了一个CNN的扩展,专门用于一般的钢缺陷分类。它有三种新成分:
- 金字塔池化层,使网络独立于输入图像的大小;
- 多尺度特征提取;
- 模拟基于标准字典的编码策略的编码层。
我们在各种基准上验证了新的体系结构,包括一个非常具有挑战性的实际工业应用,并获得了与当前最先进水平相当或更好的结果。当一个给定分类任务的图像大小不同时,其全部潜力就变得明显了。到目前为止,这些问题还没有解决标准的CNN。
我们的工作弥补了基于神经网络的模型和弱分类器(如BoF)之间的差距。据我们所知,我们的体系结构是第一个在完全监督的情况下在线学习特征提取和编码的体系结构。
我们相信,更复杂的编码层可能会大大提高我们的多尺度金字塔池网络的识别率,我们认为这是一个新的和灵活的监督对象分类框架。
本文仅作为日后复习之用,并无他用。
以上是关于Multi-Scale Pyramidal Pooling Network for Generic Steel Defect Classification-论文阅读笔记的主要内容,如果未能解决你的问题,请参考以下文章
论文笔记:PYRAFORMER: LOW-COMPLEXITY PYRAMIDAL ATTENTION FOR LONG-RANGE TIME SERIES MODELING AND FORECAST
Multi-Scale Continuous CRFs as Sequential Deep Networks for Monocular Depth Estimation摘要和简介翻译
CrossViT: Cross-Attention Multi-Scale Vision Transformer for Image Classification(论文阅读笔记)
《From Big to Small:Multi-Scale Local Planar Guidance for Monocular Depth Estimation》论文笔记