两种特征提取方法与深度学习方法对比的小型金属物体分类分析研究

本文讨论了用于对包括螺丝、螺母、钥匙和硬币在内的小型金属物体进行分类的两种特征提取方法的效率:定向梯度直方图 (HOG) 和局部二进制模式 (LBP)。首先提取标记图像的所需特征并以特征矩阵的形式保存。使用三种不同的分类方法(非参数 K 最近邻算法、支持向量机和朴素贝叶斯方法),将图像分为四个不同的类别。然后,通过检查生成的混淆矩阵,比较这四个类的 HOG 和 LBP 方法的性能。这两种方法的有效性也与基于深度学习的“You Only Look Once”和更快的基于区域的卷积神经网络方法进行了比较。本文采集的图像集包括800张带标签的训练图像和180张测试图像。结果表明,使用 HOG 比使用 LBP 更有效。此外,HOG 和 LBP 的组合提供了比单独使用任何一个更好的结果。

介绍

目标分类是图像处理和机器视觉领域中最重要的问题之一 [ 1 , 2 ]。一般来说,分类方法分为参数方法和非参数方法。参数化方法寻求提取参数来描述基于训练数据分析的特定模型。创建所需模型后,可以对新样本进行分类 [ 3、4 ]。支持向量机 (SVM)和朴素贝叶斯 (NB)分类器是最重要的参数化方法[ 5、6、7、8、9]. 在参数方法中,对所有输入数据考虑单个模型。尽管将分类问题简化为寻找几个有限参数似乎是合乎逻辑的,但这种假设可能不正确,可能导致对输出的误诊。

非参数算法涉及基于合适的距离函数找到接近或相似的样本,然后进行插值以找到正确的输出。k 最近邻 ( KNN )算法是最流行的非参数方法之一[ 10、11、12]. 在非参数方法中,不需要在训练阶段计算参数;然而,算法是通过使用训练示例来对新数据进行分类来设计的。由于这些方法直接建立在数据之上,而不是估计或预测参数,因此它们通常比参数方法具有更高的准确性。特别是在训练数据的分布无法用有限数量的参数建模的情况下,使用非参数方法似乎更合乎逻辑。非参数方法(包括 KNN)的主要缺点是需要所有的训练样本才能对新样本做出决策。这会导致内存和计算成本增加,尤其是对于大型数据集。如果训练样本以简单简短的描述符形式表示,

深度学习和深度网络近年来取得了进展,并在许多应用中取得了可接受的结果,包括目标检测和识别[ 4、13、14、15、16、17、18、19 ]。与传统方法不同,这些方法不需要单独的步骤来手动提取必要的特征。

为使用深度学习 [ 16 ]进行对象检测而提出的最著名的架构之一是“You Only Look Once”(YOLO)[ 20 ]。深度学习对农业、医学、监视和监控系统等各种应用的重要性与日俱增 [ 21、22、23]. YOLO 算法于 2016 年首次推出,旨在高速准确地检测物体。这种方法为物体识别系统引入了一种新的结构。由于受到了极大的关注,已经实现了不同版本的 YOLO。YOLO 代表“你只看一次图像”。该术语指的是人类视觉系统一眼就能检测到物体的能力。因此,YOLO物体识别系统旨在提供一种类似于人类视觉系统的检测方法。YOLO 算法由一个用于特征提取的 24 层卷积神经网络 (CNN) 和两个用于预测对象概率和坐标的全连接层组成。

更快的基于区域的 CNN(更快的 R-CCN​​)[ 24 ] 是另一种最先进的基于深度学习的技术。它于 2015 年作为区域提议网络 (RPN) 引入,用于与检测网络共享全图像卷积特征,从而实现几乎无成本的区域提议。RPN 是一个全卷积网络,可同时预测每个位置的边界框和目标分数。它是基于区域的 CNN (R-CNN) [ 25 ]中使用最广泛的最新版本。

金属物体的检测和分类是机器图像和视觉处理的重要应用,尤其是在工业和商业领域 [ 26,27,28 ]。在参考。[ 26 ],提出了一种基于深度 CNN 的技术来检测金属螺钉及其表面的微缺陷。使用工业相机拍摄了不同类型的金属螺钉的图像。然后使用所提出的深度网络架构来诊断和检查螺丝的无瑕疵。实验结果表明,该技术可以达到98%的检测准确率。然而,该方法仅针对螺丝图像进行训练,并未包括其他类别的金属物体。

参考文献中介绍了一种用于将硬币与纸币分开的自动移动识别系统。[ 27 ]。所提出的方法基于尺度不变的特征变换颜色描述符提取方法,并且可以在智能手机上运行。根据一组约旦常见的纸币和硬币图像审查了该方法的结果。尽管此方法在将硬币与纸币分离方面具有良好的准确性,但该问题(和方法)似乎更像是形状检测而不是对象分类。因为硬币都是圆形的,而钞票是矩形的,所以所提出的方法不能推广到检测其他物体。

参考文献中提出的方法。[ 28 ] 专注于用于各种行业,特别是汽车行业的螺丝识别系统。所提出的方法基于反向传播神经网络。实验结果表明,该系统能够以适当的精度检测生产线上的移动物体;然而,它仅限于检测两类(螺丝和螺母)。

对象分类中最关键的挑战之一是选择合适的特征提取方法 [ 13 ]。此阶段选择不当会影响分类的准确性,并导致决策失误。因此,有必要对各种特征提取方法的效率进行综合研究。一种特征提取方法可能适用于特定的分类算法,但如果用于其他分类器则可能效果不佳。因此,有必要比较几种分类算法的结果以进行详细的分析研究。鉴于上述情况,本研究的主要目的是综合比较方向梯度直方图(HOG)和局部二元模式(LBP)特征向量的性能。

本研究探讨了 HOG 和 LBP 方法在对四组金属物体(螺丝、螺母、钥匙和硬币)进行分类时的效率。为了详细研究这些特征,采用了三种不同的分类方法,即非参数 KNN 算法、SVM 和 NB 方法。使用 HOG 和 LBP 特征向量以及这两个特征向量的组合来研究每种方法的准确性。然后,将这些方法的有效性与 YOLO 和更快的 R-CNN 深度学习方法进行比较。

本研究的主要贡献包括:(1)提供了使用 HOG 和 LBP 方法对小物体进行分类的分析研究;(2) 使用三种常规方法(KNN、SVM 和NB)对HOG 和LBP 进行综合比较;(3)使用YOLO作为深度学习方法进行更详细的对比;(4) 提供多样化的金属物体图像集,可在未来的研究中用作比较不同方法的基准集。

下一节讨论所提出结构中的方法。结果和讨论部分分析了从传统技术和深度学习方法(例如 YOLO 和更快的 R-CNN)获得的结果。最后一节介绍了本研究的结论。

方法

图1显示了所提出的图像分类方法的一般结构。通过为每一个训练样本提取对应的描述符,所有的训练数据都是矩阵的形式,其中每一行代表一个样本的特征向量,每一列代表特征空间中的一个特征。训练数据被标记;因此,每个相关类在建议的算法开始时都是可用的。基于这些训练样本创建参数或非参数模型,用于预测测试图像的类别。如图1所示,特征提取涉及使用 HOG 或 LBP 方法之一,或这两种方法的组合。分类指的是上述三种方法中的一种:KNN、SVM、NB。随着新样本(测试图像)的到来,提取所需的特征,并使用创建的模型估计未知样本的标签。确定测试样本后,为每个分类模型生成一个混淆矩阵。使用混淆矩阵检查不同方法的效率。两种特征提取方法与深度学习方法对比的小型金属物体分类分析研究_第1张图片

要计算梯度的直方图,将 0-180° 之间的距离除以n 个相等的距离,表示梯度或直方图条的方向数。这些距离中的每一个都形成一个直方图通道。使用 0–180° 的范围而不是 360° 范围,因为通常需要额外的杆才能在 0–360° 的范围内提取。因此,较小的范围可以节省更多的特征提取时间。实验观察还表明,相对于 180° 范围,使用 360° 范围对改善结果的影响很小。正如参考文献中所讨论的。[ 29 ],一个九柱直方图在实验中取得了更好的效果;因此,本研究使用相同数量的柱来计算 HOG。

为了计算直方图,图像被分成几个单元格。然后每个像素根据其梯度方向为直方图通道之一投票。这些投票根据该像素中梯度的大小进行加权。这会为每个单元格生成一个直方图,用于描述像素的梯度。在某些情况下,通过连接相邻单元格的直方图来计算块(由多个单元格组成)的 HOG(图2)。

图 2两种特征提取方法与深度学习方法对比的小型金属物体分类分析研究_第2张图片

灰度图像的 LBP 中的特征向量计算如下。

  • 想要的图像被分成几个块,每个块又被分成几个单元格。

  • 对单元格中的每个像素执行以下计算。

  • 每个像素都与它的八个相邻像素进行比较。在特定方向(例如,顺时针)上单独检查相邻像素。

  • 当中心像素大于相邻像素时,写入数字“0”;否则,写入数字“1”。以这种方式,通过将中心像素与其八个相邻像素进行比较来获得八位数。为方便起见,该数字通常转换为 0-255 之间的十进制数(图3)。

  • 为每个单元格计算上一步中获得的数字的直方图。此直方图有 256 个条(从 0-255),每个条显示该单元格中特定数字的重复次数。

  • 如有必要,对所需的直方图进行归一化。

  • 整个块的直方图是通过连接相邻单元格的直方图得到的。因此,如果一个块包含四个单元格,则生成的特征向量的长度为 256 × 4。

图 3

两种特征提取方法与深度学习方法对比的小型金属物体分类分析研究_第3张图片

图3显示了 3 × 3 邻域中的二进制模式计算示例。二进制模式 00010011 被分配给中心像素,左侧图像中的灰度级为“5”。在完成所有块的计算后,通过使用适当的模型对生成的特征向量进行处理以对所需图像进行分类。这些分类器可用于对象分类、人脸识别、纹理分析等。

已经提出了不同类型的 LBP 算法,相对于原始算法有各种变化。最有用和广泛使用的 LBP 类型之一是统一模式,它可以显着减少特征向量的长度 [ 35 ]。这个想法源于这样一个事实,即某些二进制模式(称为统一二进制模式)的出现次数特别重要。

如果一个像素生成的二进制模式最多有两个 0-1 或 1-0 转换,则称为统一模式。例如,00010000 是具有两个转换的统一模式,0-1 和 1-0,但具有五个转换的模式 01010111 是不统一的。具有最多事件数的统一二进制模式对应于图像的基本特征,例如图像的边缘、角和重要点 [ 34 ]。

因此,均匀的图案可以被认为是识别图像主要特征的因素。所有非均匀模式都分配给一个单独的容器,每个均匀模式都有一个单独的容器。由于 58 个统一模式在 0-255 范围内,因此统一 LBP 特征向量的长度为 59;这比普通 LBP 中 256 的长度显着减少。

以这种方式,通过比较局部邻域并计算统一的 LBP 直方图,创建图像签名来表示纹理的类型。生成的签名对于属于不同类别的图像来说足够独特。因此,LBP 可用于对纹理进行分类。

KNN算法

KNN 算法是最常见的非参数分类方法之一[ 10,11,12,38 ] 。在非参数方法中,不需要在学习阶段计算参数。使用数据本身,设计了一种算法来检查新数据是否属于训练类。这些方法的优点是不需要参数估计,通常比参数方法更准确;然而,它们的主要局限是它们需要所有的训练样本来对新样本进行分类。这会增加内存和计算成本,尤其是对于大型数据集。用于对图像进行分类的 KNN 分类步骤如下。

  • 上传训练数据集和相关标签,然后选择 K 的值作为邻居数。

  • 计算测试图像和每个训练样本之间的距离。

  • 根据上一步计算的距离,训练样本按升序排序。

  • 前 K 个项目是从排序集中选择的。

  • 在上一步中检查所选项目的标签。

  • 选择最频繁标记的类作为测试样本的预测类。

图4显示了使用 KNN 算法进行二分类的示例。在这种情况下,如果k = 3,则测试样本被认为属于 B 类,因为在三个近邻中,两个邻居被标记为 B,一个邻居被标记为 A。

图 4两种特征提取方法与深度学习方法对比的小型金属物体分类分析研究_第4张图片

如果k = 6,情况会有所不同,因为在这种情况下,四个邻居被标记为 A,两个邻居被标记为 B;因此,测试样本被归为A类。分类算法的准确性可以通过将预测标签与测试样本的实际标签进行比较来验证。

基于 SVM 的分类器

SVM是目前广泛使用的分类方法之一[ 5 , 6 ]。SVM 方法目前的流行程度可以与过去十年神经网络的流行程度相提并论。SVM 基于数据的线性分类。图5显示了一个可以线性分类的数据集示例。绘制了几条线来对数据进行分类。在数据的线性划分中,试图选择具有更可靠余量的行。二次规划用于寻找最优线性分离器;这是解决有限问题的已知方法。两种特征提取方法与深度学习方法对比的小型金属物体分类分析研究_第5张图片

SVM的基本思想是,假设类别是线性可分的,得到一条具有最大边距的线来分隔类别。为了找到这样的分隔符,两条边界线平行于分隔线绘制,并且被分开使得它们与数据碰撞。最大化线性分隔符之间训练数据余量的分隔最小化泛化误差。最靠近分隔线的训练数据称为支持向量(图5)。值得注意的是,对于大于二的维度,使用术语“超平面”而不是“线”。超平面是一个几何概念,表示n维平面概念的推广。换句话说,超平面定义了后续的kn维空间中的子空间,使得k < n

SVM 的最佳特性之一是,在数据不可线性分离的情况下,SVM 使用非线性映射函数 Φ 将数据映射到更大的维度。这样,数据就可以在这个新的空间中线性分离。

这意味着在其原始空间中不可线性分离的样本移至称为 F 的新特征空间以创建用于分离它们的超平面。当这个超平面回到原来的空间I时,它形成了一条非线性曲线。如图6所示,输入数据不是线性可分的,没有一条线可以准确地表示两个类之间的边界。然而,通过将它们从二维空间映射到三维空间,可以创建一个超平面来分隔这两个类的边界。两种特征提取方法与深度学习方法对比的小型金属物体分类分析研究_第6张图片

注意类别

NB是一种基于概率的机器学习算法,可用于广泛的分类问题 [ 7、8、9 ]。NB 算法的常见应用包括垃圾邮件过滤、文档分类和情绪预测。

这种 NB 算法使用贝叶斯定理来产生结果,基于特征之间强独立性的假设。这意味着更改一个特征的值不会直接影响任何其他特征的值。尽管这个假设对于真实世界的数据集来说过于简单(正如算法的名称所暗示的那样),但 NB 分类器仍然在分类算法中找到了一个有价值的位置。

假设X  = ( 1 ,  2 , .. n ) 将数据样本表示为n 个独立变量的向量。计算概率P [ k | ( 1 ,  2 , .. n )],使用联合概率就足够了,并使用关于变量独立性的条件概率来简化它。

深度学习方法

YOLO 是最先进的实时目标检测系统。它使用单个神经网络来获取完整图像。该网络将图像划分为区域,并预测每个区域的边界框和概率。使用预测概率对这些边界框进行加权。

要使用YOLO算法,首先需要准备训练图像。

为 YOLO 算法准备训练集的方法不同于传统方法,例如 SVM 或 KNN。需要在每个对象周围绘制一个边界框,对应的类由用户确定。可以使用各种程序来绘制边界框并对其进行标记。在这项研究中,MAKESENSE ( Make Sense ) 程序用于标记训练图像。

以这种方式,为每个训练图像创建一个文本文件,其中每一行都写有对象的规格。第一个数字与对象的类别有关;然后写入矩形中心的坐标及其长度和宽度。文件中的行数等于图像中的对象数。图7显示了来自 MAKESENSE 程序输出的训练数据和生成文件的示例。该程序还用于为另一种深度学习方法(更快的 R-CNN)标记图像。

图 7两种特征提取方法与深度学习方法对比的小型金属物体分类分析研究_第7张图片

Faster R-CNN 是一种用于对象检测的深度卷积网络,作为用户使用的单个端到端统一网络。该网络可以在短时间内预测多个物体的位置。加州大学伯克利分校的研究人员于 2014 年开发了 R-CNN [ 25 ]。R-CNN 是一种深度卷积网络,能够检测图像中的 80 种不同类型的对象。与目标检测方法的通用管道相比,R-CNN 最重要的贡献是基于 CNN 的特征提取。

R-CNN 由三个主要模块组成。第一个模块使用选择性搜索算法生成 2000 个区域建议。在调整到固定的预定义大小后,下一个模块从每个候选区域中提取长度为 4096 的特征向量。第三个模块利用预训练的 SVM 算法将区域提议分类为对象类之一,或作为背景。R-CNN 模型有一些弱点:它是一个多阶段模型,其中每个阶段都是一个独立的部分。因此,它不能进行端到端的训练。它从磁盘上预训练的 CNN 中捕获提取的特征来训练 SVM。这需要千兆字节量级的大容量存储。R-CNN 依赖于选择性搜索算法来创建区域建议,这需要很长时间。此外,该算法不能针对检测问题进行定制。每个区域提案都在不依赖 CNN 的情况下进行特征提取,因此不适合实时运行 R-CNN。作为R-CNN模型的扩展,提出了fast R-CNN模型[24 ] 来克服其中的一些限制。

结果与讨论

在本研究中,使用 MATLAB 软件 2019 版实现了传统分类方法(SVM、KNN 和 NB)。准备了一组图像,包括 800 张训练图像和 180 张测试图像,用于分析 HOG 和 LBP 方法的效率。更具体地说,为四个类别(螺丝、螺母、钥匙和硬币)中的每一个考虑了 200 个训练图像和 45 个测试图像。

在 HOG 的情况下,每个单元格的大小为 64 × 64 像素,每个块包含 2 × 2 个单元格,方向直方图中的 bin 数量为 10,HOG 特征向量的长度为 360。对于LBP,单元格大小为64,采用长度为160的旋转不变均匀特征向量。因此,组合特征向量 (HOG-LBP) 的长度为 520。尝试在对象类型和照明条件方面提供足够的多样性。图8显示了收集的数据集中的图像示例。两种特征提取方法与深度学习方法对比的小型金属物体分类分析研究_第8张图片

在检测坚果时,使用 HOG 得到 34 次正确检测,但 LBP 的这个值为 36。该表还表明,使用 HOG-LBP 特征向量组合(由两个单独的特征向量的连接产生)比单独使用这些特征中的任何一个产生更好的结果。图9显示了 SVM 的接收器操作特性 (ROC) 曲线和三个不同特征向量的曲线下面积 (AUC) 值。该图表明,组合特征向量 (HOG-LBP) 比单独使用 HOG 和 LBP 取得了更好的结果。两种特征提取方法与深度学习方法对比的小型金属物体分类分析研究_第9张图片 

在实施深度学习方法时,10% 的训练图像被用作验证集。表4显示了使用 YOLO 版本 5 和更快的 R-CNN 获得的混淆矩阵。如表4所示,这两种方法的分类精度都很高。在 YOLO 中,一个 nut 没有被放置在任何一个类中。所示. YOLO 和 Faster R-CNN 等深度学习方法的优势之一是它们能够识别对象的位置并在多对象条件下对它们进行分类,即一帧中有多个对象。相比之下,在传统方法中,这种能力是不存在的,需要使用辅助算法来检测物体的位置。图12中示出了多次检测的示例。两种特征提取方法与深度学习方法对比的小型金属物体分类分析研究_第10张图片  两种特征提取方法与深度学习方法对比的小型金属物体分类分析研究_第11张图片

 值得注意的是,YOLO 和更快的 R-CNN 算法不需要单独的步骤来提取特征向量。在这方面,它们可能优于基于特征的方法,如 KNN 和 SVM。然而,与基于特征的提取方法相比,实施深度学习算法对硬件的要求更高。在本研究中,YOLO 和更快的 R-CNN 算法是使用 Google Colab 实现的。YOLO 和 Faster R-CNN 的另一个缺点是标记训练数据的方法,这使得这些算法的训练阶段比传统方法更加困难和耗时。

考察表1、2、3、4中的混淆矩阵表明,一般来说,HOG方法的特征提取性能优于LBP方法,但它们的组合特征向量(HOG- LBP)比单独使用更准确用于对小型金属物体进行分类。此外,基于 SVM 的方法比基于 KNN 和基于 NB 的方法表现更好,而基于 NB 的方法的精度低于其他方法。尽管基于 SVM 的方法不如 YOLO 和更快的 R-CNN 准确,但与深度学习方法相比,它对硬件的要求更少,训练阶段也更容易。

结论

在这项研究中,评估了两种特征提取方法(HOG 和 LBP)在对螺丝、螺母、钥匙和硬币等小金属物体进行分类时的效率。使用了三种不同的分类,包括基于 KNN、SVM 和 NB 的方法。实验表明,一般来说,HOG 优于 LBP,并且使用它们的组合特征向量(HOG-LBP)优于单独使用它们。还将这两种方法的有效性与基于深度学习的 YOLO 和 Faster R-CNN 的方法进行了比较。尽管深度学习方法不需要单独的特征提取步骤,但它们需要比传统方法更强大的平台。

传统的特征提取方法,如 HOG 和 LBP,其优势在于提取的特征向量可以用于不同的分类器,以选择更准确的分类器。然而,这些方法的缺点是它们只能对检测到的对象进行分类。换句话说,它们无法检测图像中前景物体的位置。在这种情况下,必须应用前景提取方法,然后可以使用传统方法(如HOG)为每个前景区域生成特征向量。相比之下,深度学习方法确定图像中的对象位置,并对这些对象进行分类。这是 YOLO 和 Faster R-CNN 算法最积极的地方,但它们的缺点是在训练阶段需要手动图像标注,这对于大型数据集来说既费时又费力。尽管如此,深度学习方法在各种应用中的重要性正在增加,例如农业、医学和监控系统。

在继续本研究中所做的研究时,可以检查其他纹理特征分析,例如 Gabor 滤波器。可以发展四级分类以对更大的数进行分类。此外,可以采用集成方法来考虑各种大小的对象。与其他深度学习方法的比较将更好地理解不同特征提取方法的效率。总的来说,这项研究的结果可以应用于工厂和工业车间。因此,在未来的研究中可以探索获取工业图像并在真实环境中提供所提出方法的实际实现。

你可能感兴趣的:(cv,深度学习,分类)