Evaluation of deep learning approaches based on CNNs for corrosion detection

基于卷积神经网络的腐蚀检测深度学习方法评价
原文:https://doi.org/10.1177/1475921717737051
摘要
腐蚀是结构系统中的一个主要缺陷,具有重大的经济影响,如果不加以控制,可能会带来安全风险。目前,检查员通过目视评估结构的状况来识别腐蚀。这种方法费时、乏味且主观。机器人系统,如无人机,与计算机视觉算法相结合,具有执行自主损伤检测的潜力,可以显著减少检查时间,并导致更频繁和客观的检查。本研究评估了卷积神经网络在腐蚀检测中的应用。卷积神经网络学习适当的分类特征,在传统的算法是手工设计的。卷积神经网络的一个主要优点是不需要依赖于先验知识和人为设计特征。本文介绍了基于卷积神经网络的金属表面腐蚀评估方法。讨论了不同颜色空间、滑动窗口大小和卷积神经网络结构的影响。为此,评估了两种预训练的最新卷积神经网络结构以及两种提出的卷积神经网络结构的性能,结果表明,卷积神经网络的性能优于基于纹理和颜色分析的腐蚀检测方法。此外,研究还表明,与现有的预训练卷积神经网络相比,所提出的卷积神经网络在保持相当的腐蚀检测性能的同时,显著地提高了计算时间。
介绍
动机
腐蚀是美国和全球的一个主要问题。据估计,全球腐蚀成本为2.5万亿美元,美国为4513亿美元。这相当于全球国内生产总值(GDP)的3.4%和美国国内生产总值的2.7%。1除了腐蚀的经济成本外,它还可能对使用受损结构或其周围的人构成安全风险,或造成交通延误等不应有的负担。需要快速、准确和有效的方法来识别腐蚀。
目前,有兴趣使用无人驾驶飞行器对结构进行目视检查。2–4机器人对结构的检查将提高诊断速度并降低与检查相关的成本。此外,随着配备高质量摄像头的智能手机的大量出现,移动平台的计算能力不断增强,以及云计算的扩展,没有结构工程背景的人有机会使用这些平台进行自动检测。传统上,检查是由一个专家谁进行视觉检查的结构。这可能会非常耗时、昂贵且乏味。通过使用这些机器人和移动平台进行检测,图像处理和计算机视觉检测算法是实现完全自主检测系统的下一步。
由于基于视觉的数据采集是非接触式的,非常适合用于机器人系统,因此已经提出了几种腐蚀检测算法。为此,纹理和颜色分析的统计或过滤器为基础的方法已经很流行的技术。最常用的基于滤波器的方法之一是彩色小波滤波器组。这种方法需要一组纹理和颜色特征。如果不确定最佳特征,腐蚀检测的准确性就会受到影响。
最近,由于卷积神经网络的使用,计算机的分类能力得到了提高,CNNs已被证明在ImageNet挑战中达到了人类级别的分类精度。6这些CNNs所取得的成功表明,通过计算机视觉算法进行腐蚀检测也可以达到人类级别的精度。与以往的CNNs不同,CNNs不需要任何人类特征。网络从训练数据中学习特征。此外,该网络已显示出足够的鲁棒性,可以对具有不同尺度、方向和遮挡程度的对象进行分类。预计CNNs能比以往的方法更准确地检测腐蚀。
本研究的重点是量化腐蚀分类在各种类型腐蚀区域上的性能,并找到CNN的最佳输入以及CNN的最佳结构。这项研究的结果可以用来建立一个强大的系统,广泛应用于腐蚀检测。
背景
在基于视觉的腐蚀检测领域已有多个研究。Haralick等人使用了7个灰度共生矩阵(GLCMs)作为腐蚀检测的统计纹理特征。GLCMs表示图像中不同灰度组合的频率。
Valois等人9在一项心理物理学研究中提出人脑作为二维(2D)空间过滤器工作。这些见解启发了多尺度技术在损伤检测中的应用。
Furuta等人11提出了一种具有色调/饱和度/值(HSV)颜色空间特征的神经网络来确定漆膜的劣化程度。该系统帮助缺乏经验的检查员评估结构腐蚀的损害。
Livens等人12利用学习矢量量化(LVQ)网络对图像进行小波分解,将腐蚀图像分为两类。
结果表明,该方法优于高斯分类器。
Gunatilake等人13使用Daubechies提出的6阶小波检测飞机蒙皮上的腐蚀。14使用的特征是从8 3 8像素区域发现的能量值。用最近邻分类器对腐蚀区和非腐蚀区进行分类。
Gunatilake和Siegel15使用亮度/同相/正交(YIQ)颜色空间、Battle-Lemaire(BL)16小波变换滤波器和前馈神经网络将图像块分类为高置信度腐蚀或低置信度腐蚀,或无腐蚀。图像块是不重叠的32 3 32像素区域。
Choi和Kim17使用色调/饱和度/强度(HSI)颜色空间、主成分分析和varimax方法提取分类特征,对多种类型的腐蚀缺陷进行分类。利用GLCM方法进行了基于面上点的方位差的特征提取。这种方法不适用于数码相机的图像,因为测试图像的放大系数在50到500之间变化。
通过对红/绿/蓝(RGB)颜色通道的统计分析,Lee等人18能够对钢桥涂层上的锈迹进行分类。为了对腐蚀区域和非腐蚀区域进行分类,Palakal等人和Pidaparti使用了一个K-means分类器,其分类特征由Haar小波变换计算。腐蚀造成的材料损失用反向传播神经网络估算
Xie10指出了GLCM方法的几个缺点,例如降低灰度以克服计算限制、为每个矩阵找到适当的条目数以及优化位移向量。Medeiros等人21通过HSI颜色空间统计和GLCM概率的组合,检测了炼油厂内碳钢储罐和管道的腐蚀。
Bonnin Pascual和Ortiz22提出了一个弱分类器级联,将不同的弱但快速的分类器链接起来,以创建一个改进的全局分类器。通过使用GLCM,首先测量粗糙度。然后,利用HSV颜色空间获得颜色信息。这种腐蚀检测算法被用来帮助检查人员评估船体。
Pidaparti等人23使用Haar小波变换和分形检测镍铝青铜金属上的腐蚀。结果表明,利用小波滤波器组分解的分形维数和Shannon24熵的特征,裂纹和凹坑是线性可分的。
Pakrashi等人25提出了一种基于腐蚀区域与其周围区域的光学对比度的方法,用于检测和量化铝表面的点蚀。利用边缘检测技术对腐蚀区域进行识别。然而,并非所有形式的腐蚀都具有与点蚀相同的主要特征;因此,这种方法不适用于其他形式的表面腐蚀。
Ghanta et al.26能够使用应用于RGB子图像的一级Haar小波变换,并使用小波域中的熵和能量作为分类特征,检测钢涂层桥梁表面图像上的缺陷。找到的最佳子图像大小为8 3 8像素。
Jahanshahi和Masri7通过评估基于颜色小波的纹理分析算法中不同参数的影响,提高了颜色和纹理分析的可靠性。结果表明,基于小波变换的CbCr颜色通道特征相对于其他颜色空间通道(如YIQ、RGB、HSI)具有更好的性能。
在民用基础设施系统中,有许多基于自主视觉的腐蚀检测方法。Jahanshahi等人对许多最佳方法进行了调查和评估。27以前的方法要求了解腐蚀情况,并对特征进行手动识别和实验。然而,CNN能够学习特征,可以更广泛地应用于多种类型的腐蚀。目前对CNNs进行结构损伤检测的研究很少。为数不多的使用CNN进行裂纹检测的公司之一。
贡献
这项工作的主要贡献是提出了一种CNN和滑动窗口的腐蚀检测方法,其性能优于现有的最先进的腐蚀检测算法。评估了不同滑动窗口大小和颜色空间作为输入CNN用于腐蚀检测的效果。此外,本文还从信噪比和计算性能两方面评估了CNN的结构和微调CNN的效果,以确定最佳的结构和方法来训练CNN进行腐蚀分类。两个国家的最先进的CNN设计的ImageNet以及两个拟议的CNN架构进行了评估。
范围
本文的其余部分组织如下:“CNNs”一节概述了CNNs以及其中不同层的基础知识。“拟定方法”一节讨论了用于检测金属表面腐蚀的方法。这包括对滑动窗口方法、颜色空间、网络体系结构和用于评估的超参数的讨论。此外,本节还讨论了数据集的创建和现有cnn的微调。“实验结果和讨论”部分提供了使用不同图像输入参数和CNN结构的精度、召回率和计算性能。对CNN的特征和小波部分的特征进行了比较。“总结和结论”一节提供了结论和对今后工作的建议。
CNNs公司
1989年,CNN在基于图像的任务中取得了成功。29然而,由于当时的计算复杂性和计算能力不足,对CNN的持续研究兴趣微乎其微。2009年,创建了一个包含1000多万张图像和数千个对象类的数据库,称为ImageNet。30 ImageNet挑战赛是为了评估和比较一个数据集上的分类和检测算法,该数据集包含ImageNet数据库中的1000个类。随着强大图形处理单元(GPU)的开发、ImageNet的创建以及CNN在ImageNet挑战中的成功,5 CNN的研究兴趣显著增加。它们已用于目标分类、5,6目标检测、31,32目标分割、33个动作识别、34个医学领域、35个其它领域。CNN在其使用的大多数领域都表现出比最先进的分类算法更好的性能。CNNs是一种机器学习方法,结合卷积和池层以及完全连接的层来执行图像分析。
体系结构概述
CNN的基本结构有多个卷积层、激活层和池层,然后是完全连接层和分类层。CNN的基本结构概述如图1所示。网络的第一部分由许多卷积层组成。每个卷积层后面是一个用于激活的校正线性单元(ReLU)。另外,池层可以跟随卷积层。ReLUs是主要的激活层,因为它被证明可以获得更好的精度和更快的计算速度。36网络的第二部分类似于一个正常的人工神经网络(ANN),具有完全连接的隐藏层,然后是一个分类层(例如Softmax)。特征映射输出到完全连接的NN层之间的转换包含从特征映射中的每个特征到第一个完全连接层中的每个节点的完全连接。多层感知器(MLP)与CNNs的主要区别在于卷积层和池层,并对其进行了进一步的讨论。
在这里插入图片描述
卷积层。卷积层是CNN从输入图像中提取特征的方法。卷积层由一组小的(例如3 3或5 3 5)感受野组成,这些感受野被称为滤波器或核,它们根据输入数据对大小相等的子阵列进行操作。核的权值通常用随机值初始化,并在训练过程中用随机梯度下降算法更新。这些权重值也可以在一个称为微调的过程中用预训练值初始化,该过程在“微调”一节中讨论。在输入数据的核和子数组之间计算点积。将乘以的值相加,并添加一个偏差值。图2显示了一个示例卷积过程的图。为了对整个输入区域进行操作,内核会在输入数据上移动。每次新计算移动的索引数称为步长。步幅越小,提取的特征数量就越多,但计算成本也越高。
在这里插入图片描述
池化层。CNN的池层用于减少数据采样以降低网络的计算成本。为了减少数据采样,数据的每个子数组被压缩成一个值。两种主要方法是最大和平均池。在最大池中,子阵列中的最大值将成为子阵列的新值。在平均池中,子数组的值被平均以产生新的值。与卷积层一样,池层的步长决定了在新子数组上执行下一个池操作时要移动多少索引。在AlexNet.5的成功之后,目前大多数cnn使用重叠子阵列。
Dropout层。丢失层用于防止过度拟合。37过度拟合发生在网络针对训练数据进行了充分优化,以致网络无法处理测试图像中的新变化,因此在测试数据上表现不佳的情况下。在网络训练过程中,在前向传递过程中,退出层将一组随机激活设置为零。如果在训练过程中,网络的某些冗余激活被设置为零,则网络的某些冗余激活也会被设置为零。
现有体系结构
在设计最佳的网络体系结构方面已经有了重要的研究。Krizhevsky等人5提出了AlexNet,一种具有五个卷积层的八层体系结构。AlexNet通过创建ZF Net38得到了改进,ZF Net38基于对CNN所学内容的深入分析。VGG网络39是由牛津大学的视觉几何小组开发的,该小组对16-19层的体系结构进行了评估,这些网络的性能超过了以前规模较小的最先进的网络。训练更深层次网络的主要挑战之一是计算成本。GoogLeNet40是一种具有22层的架构,能够在不增加计算成本的情况下拥有更大的深度和宽度。ResNet是一个152层的体系结构,它的开发是为了在限制复杂性的同时最大限度地增加网络的深度。这种体系结构比VGG网络深8倍,同时它的复杂性比VGG网络低。这些网络主要是根据ImageNet挑战进行评估的;然而,它们的开发是为了对任何图像数据集都有效。
提议的方法
在本研究中,我们建议使用CNN来将影像区域分类为腐蚀与否。本节介绍了如何使用CNN对腐蚀进行分类的方法。为此,使用了在ImageNet上取得显著成功的两个现有网络30 VGG1639和ZF Net 38。此外,还提出了两种网络,它们比ZF-Net和VGG16更小更快,但可以实现类似的信噪比,如“实验结果和讨论”一节中所述,以确定使用CNN进行腐蚀检测的最佳颜色空间,即颜色空间RGB、YCbCr、CbCr和灰度用于训练和测试ZF网络。Jahanshahi等人7证明,在RGB颜色空间中,识别腐蚀并不总是最准确的。在确定了最佳的颜色空间后,对该颜色空间的不同体系结构进行了评估。此外,为了将图像区域分类为腐蚀与否,使用多种滑动窗口大小(128 3 128、64 3 64和32 3 32)。利用滑动窗口方法确定图像中的腐蚀区域。分析这些不同的窗口大小将有助于确定滑动窗口方法的最佳窗口大小。
滑动窗
为了将不同区域划分为腐蚀区域和非腐蚀区域,采用了滑动窗口方法。这种方法的示意图如图3所示。滑动窗口尺寸越小,腐蚀区域的定位就越准确。然而,输入图像的大小越小,CNN可以学习的特征就越少。特征数量的减少可能导致信噪比的降低。为了评估滑动窗口大小的影响,使用了128 3 128、64 3 64和32 3 32像素的图像,并针对这些滑动窗口大小评估了该方法的总体性能。该方法不存在重叠窗口。例如,对于新区域,将128 3 128像素滑动窗口区域水平或垂直移动128像素。在窗口之间没有重叠的情况下,每个窗口大小对相同数量的图像区域进行分类。这有助于在不同的滑动窗口尺寸之间进行公平的比较。
在这里插入图片描述

颜色空间
Furuta et al.,11和Jahanshahi and Masri7先前已经表明,RGB并不总是用于颜色分析的最佳颜色空间,因为通道值不是独立的。RGB图像是图像中捕获的红光、绿光和蓝光的组合。一个蓝色物体的光量,和蓝色物体的光量有关。通常情况下,其他颜色空间会试图最小化这种相关性。一个不同于RGB的颜色空间的例子是YCbCr颜色空间,如图4所示。这个颜色空间有一个亮度信号(Y)和两个色度分量(Cb和Cr)。等式(1)显示了如何从RGB转换为YCbCr。测试灰度以评估仅使用单个像素值而不是使用多个通道的有效性。
在这里插入图片描述
在这里插入图片描述
目前对不同颜色空间对CNNs的影响的研究还很有限。Bojarski等人使用41张YUV图像作为CNN的输入,Ng等人42研究了不同颜色空间对性别分类的影响。为了确定腐蚀分类的最佳颜色空间,本研究评估了RGB、YCbCr、CbCr和灰度颜色通道。通过Jahanshahi和Masri的小波分解,CbCr对腐蚀检测的鲁棒性最强。7为了测试不同颜色空间的效果,将滑动窗口区域转换为上述颜色空间,然后输入CNN。
网络体系结构
为了分析网络体系结构的影响,研究了两种现有的体系结构和两种提出的体系结构。ZF-Net38是一种小型、快速、高效的CNN,VGG1639是一种更深入、计算量更大的CNN。之所以选择这两个网络,是因为它们在ImageNet挑战中表现出了最先进的性能,并提供了不同大小网络的分类和计算性能之间的比较。ZF网络由五个卷积层和三个完全连接的层组成。用softmax分类器判断滑动窗是否腐蚀。ZF-Net的体系结构如表1所示。VGG16包含13个卷积层,然后是三个完全连接的层。VGG16也使用softmax分类器。VGG16的体系结构如表2所示。此外,利用VGG15将CNN的使用与输入到神经网络的小波特征进行比较。VGG15使用与Jahanshahi和Masri7提出的NN相同的完全连接层大小,但使用VGG16的卷积层,如表3所示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此外,还提出了两种网络。Corrosion7是七层网络,由五个卷积层和两个完全连接的层组成。该网络包含的每个卷积层的特征图是ZF网络的一半。减少特征映射的数目将减少网络的计算时间。另外,第一个完全连接层有1024个神经元,第二个是分类层,有两个神经元。这是比较两层4096个神经元其次是分类层的两个神经元在ZF网络。提出了腐蚀分类的精度不受影响的观点,即腐蚀分类所需的特征比ZF网设计的1000个不同对象的分类所需的特征少。Corrosion5是第二个提出的CNN,是一个五层网络,由三个卷积层和两个完全连接的层组成。两个完全连接的层与腐蚀7相同。Corrosion5用于确定减少卷积层或特征映射的数量是否会产生更好的性能。表4和表5分别列出了腐蚀7和腐蚀5中各层的详细情况。总参数比较见表6。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
超参数
CNN需要设置几个超参数。这些参数包括初始学习率、批量大小、迭代次数和历元数。批大小是每次迭代的图像数。对于每个滑动窗口大小,批处理大小为256个图像。初始学习率是决定学习率的一个参数。较高的学习率意味着网络将学习得更快,但网络的价值可能会下降。所有三种窗口大小的初始学习率均为0.001。迭代次数是更新网络权重的次数。number of epochs是训练集中所有图像的网络更新次数。对于128 3 128窗口大小,使用的迭代次数是8800。由于图像数量的增加(在“数据集生成”一节中讨论),每减小一个窗口大小,它将增加4个。迭代次数的增加使每个窗口大小的历元数保持在22个不变。因此,对于每个滑动窗口大小,在相同数量的图像区域上训练网络。由于在评估超参数对训练的影响时,训练损失和验证损失已经收敛了22个时段,因此在训练期间将时段数设置为22。在网络上进行进一步的培训会有过度拟合的风险,即培训损失和验证损失是分开的。关于如何找到最佳超参数的进一步讨论见Bottou43和Bengio.44
微调
预训练的CNN架构通常在ImageNet上进行评估,ImageNet有数百万个图像和1000个类。通常,随着网络越来越深,它们在ImageNet上的准确度也越来越高。6本文分析的腐蚀分类是一种二进制分类,数据集明显更小。此外,腐蚀通常不被视为“目标”,因此本文分析了微调的有效性。微调是将预训练的卷积层权值作为初始权值,在新的数据集上训练CNN。在ImageNet这样的大数据集上训练网络,得到预训练的权值,使卷积层学习到鲁棒的特征。文中使用的ZF网和VGG16网的预训练权值分别由作者在ImageNet上训练。
数据集生成
为了创建数据集,使用不同的数码相机收集了926张图像。然后将这些图像裁剪成完全腐蚀的区域和不包含腐蚀的区域。然后将这些区域分割成128 3 128个图像,得到33039个腐蚀图像和34148个非腐蚀图像。然后将图像随机分为训练集、验证集和测试集,目标为70%训练、10%验证和20%测试。为了保持集合的独立性,从一个特定的图像裁剪区域只包括在一个集合中。例如,如果一个完整大小的图像中有150个裁剪过的图像,那么所有的150个图像将只在其中一个数据集中。因此,每套的最终细分并不完全符合目标百分比。表7显示了培训、验证和测试数据集的样本分解。生成了10种不同的训练、验证和测试集组合。
在这里插入图片描述
为了创建不同的滑动窗口大小,将128 3 128个图像分为64 3 64数据集的四分之一和32 3 32数据集的十六分之一。因此,随着滑动窗口大小的每一次减小,数据集中的图像数量也相应增加。但是,在所有三种滑动窗口尺寸之间,腐蚀区域的实际数量保持不变。由于在所有三种滑动窗口大小中,训练和测试区域的数量保持不变,因此可以比较它们的性能。
从926幅原始图像中获得的33039幅腐蚀图像和34148幅128 3 128像素的非腐蚀图像的数据集与ImageNet的大小相比相对较小。在这种情况下,过度装配可能是一个问题。使用“微调”一节中描述的预训练网络有助于限制过拟合。因为一个网络已经学习了大量的参数来提取特征,所以只需要轻微的优化就可以用更少的图像来执行。
实验结果与讨论
本节详细介绍了使用不同的输入参数和CNN训练CNN的结果架构评估了不同测试的召回率、精确度、F1分数和计算性能。召回率、精确度和F1分数的公式分别见公式(2)至(4)。F1分数是一种分类性能的度量,它同时考虑了准确率和召回率。它是精确性和召回率的调和平均值,其中对精确性和召回率的倒数进行算术平均。精确性和召回有不同的分母,但它们的倒数都有真正的积极作为分母。这就是为什么使用调和平均数
在这里插入图片描述
Caffe45是一个开源的深度学习框架,由加州大学伯克利分校的研究人员开发,用于训练网络。培训是在三台不同的电脑上进行的。使用的主要计算机是一台服务器,它有四个Nvidia Titan X Pascal gpu、两个Intel Xeon E5 cpu和264 GB的RAM。另外两台电脑分别是一台工作站,配有Nvidia Gigabyte GTX 1070 GPU、16 GB RAM和Intel i5 6600k CPU,以及一台配有Nvidia Quadro GPU、32 GB RAM和Intel Xeon CPU的电脑。所有性能测试都是在服务器上使用单个Titan X GPU进行的。
输入图像参数的影响
使用不同颜色空间和滑动窗口大小的ZF-Net的结果见表8。使用10个不同生成的训练和测试数据集对每个组合进行10次训练和测试。采用t检验比较不同参数的影响。t检验假设数据是正态分布的。为了验证数据是正态分布的,对数据进行Kolmogorov–Smirnov检验。测试没有拒绝数据正态分布的零假设。因此,在本研究中使用10的样本量是可以接受的(即数据是对称的,单峰的,没有异常值)。46基于中心极限定理,使用大样本量(如n30)的目的是确保样本数据近似正态分布,这已经满足本研究中样本量为10的要求。使用128×3×128窗口大小可获得最佳F1分数。RGB、YCbCr和CbCr颜色空间在每个窗口大小减小时显示F1平均得分减小,如图5(c)所示。灰度并没有显示出平均F1分数的变化,但显示出随着窗口大小的减小标准偏差的增加。使用t检验,显示具有128×3×128滑动窗口大小的RGB颜色空间比具有99.3%置信度的64×3×64窗口大小的RGB颜色空间具有更大的平均F1得分。
在这里插入图片描述
使用128×3×128窗口大小,显示RGB和YCbCr以获得类似的F1分数。使用t检验,具有128×3×128滑动窗口大小的RGB颜色空间和具有128×3×128窗口大小的YCbCr颜色空间的平均值相同,置信度为92.7%。使用128×3×128滑动窗口大小的RGB颜色空间比使用128×3×128滑动窗口大小的CbCr颜色空间具有更大的平均F1分数,使用t检验的置信度超过99.9%。CNN在培训期间学习识别检测腐蚀的重要特征。由于CbCr比YCbCr少了一个输入数据通道,因此CNN要学习的功能更少。因此,它的性能比YCbCr差。此外,由于RGB和YCbCr包含相同的图像但不同的表示,因此CNN应该能够以相似的能力识别每个颜色空间的显著特征。这是在128×3×128滑动窗口大小的情况下;然而,在32×3×32滑动窗口大小下,YCbCr颜色空间具有比RGB颜色空间更大的平均F1分数,置信度为99.8%。这意味着ZF-Net比RGB更有效地识别YCbCr颜色空间中的小特征,而在较大的滑动窗口大小下,CNN有足够的特征来对任一颜色空间执行类似的操作。值得注意的是,尽管RGB和YCbCr的F1分数相似,滑动窗口大小为128×3×128,但这两种颜色空间的精确度和召回率确实略有不同。在图5(a)中,可以看到RGB颜色空间趋向于具有更高的召回率,但是YCbCr颜色空间趋向于具有更高的精度,如图5(b)所示。
用滑动窗口方法将经过训练的CNN应用于图像的可视化表示如图6所示。较小的滑动窗口尺寸允许更精细地检测腐蚀区域;然而,它可能导致更多的误报和不准确。当比较图6(d)和图6(b)以及图6(p)和图6(n)时,可以看到假阳性的增加。从视觉上看,不同的cnn总体表现相当不错。
在这里插入图片描述
CNN结构的影响
为了比较CNN结构的效果,使用了ZF-Net、38vgg16、39corrosion7和Corrosion5。为了进行微调,权重是从各自作者在ImageNet数据集上训练的ZF-Net和VGG16的预训练模型中获得的。RGB颜色空间用于架构测试,因为在“输入图像参数的影响”一节中,它与YCbCr一起被证明是最好的。此外,RGB颜色空间用于ZF Net和VGG16的预训练权重。每个网络的第一卷积层内核的可视化如图7所示。微调的两个网络与未微调的网络明显不同。由于微调网络是在ImageNet上训练的,与本研究中的二进制问题相比,ImageNet有1000个类,因此网络学习了更多种类的特征,如边缘、形状、颜色和纹理特征,如图7(b)和(f)所示。仅在腐蚀数据集上训练的网络主要使用图7(a)和(c)–(e)所示的颜色和纹理特征。此外,未微调的网络具有更高的过度拟合风险。与图7(b)和(f)中的微调网络相比,图7(a)和(c)–(e)显示的特征变化较小,过度拟合的迹象较多。
在这里插入图片描述
不同网络和微调的结果见表9。对于窗口大小为128 3 128的ZF网络,微调网络会导致观察到的平均F1分数低于未微调的分数。然而,使用t检验,不能断定两者之间的均值是不同的。这意味着ZF-Net能够从腐蚀数据集中学习健壮的特征。与未经微调的VGG16和未经微调的ZF-Net相比,使用带有微调的VGG16的t检验显示具有更高的平均F1分数,置信度超过99.9%。F1成绩的直观比较如图8(c)所示。VGG16在每一个窗口大小上的F1分数以及召回率和准确率都优于微调,分别如图8(a)和(b)所示。
在这里插入图片描述
由于VGG16在ImageNet挑战赛上的表现优于ZF Net,因此预计在腐蚀数据集上的表现将优于ZF Net。但是,由于VGG16的深度和腐蚀数据集相对于ImageNet的相对较小,因此需要对VGG16进行微调,使其能够学习必要的特性,从而优于ZF Net。在没有微调的情况下,VGG16的性能往往类似于图8所示的ZF网络。原因是腐蚀数据集没有包含足够的图像,VGG16在没有微调的情况下比ZF-Net更好。VGG16有14710464个与卷积层相关的变量,而ZF Net有3725088个变量。如果腐蚀数据集要接近ImageNet的规模,预计没有微调的VGG16将优于ZF-Net,并且微调的影响将最小化,类似于本实验中ZF-Net所示。原因是VGG16体系结构与ZF-Net相比有更多的变量需要优化。
在这里插入图片描述
根据滑动窗口大小为128 3 128和64 3 64以及RGB颜色空间的t检验,提出的两个网络Corrosion7和Corrosion5的F1平均得分与ZF网络相似。这两个网络的目标是减少计算时间,同时保持与ImageNet挑战的最新架构相似的信噪比。网络的计算性能结果在“计算性能”一节中进行了讨论。这些网络能够在每个窗口大小上实现与ZF网络相似的信噪比,并且相互比较。使用32 3 32窗口大小,记录的腐蚀5的F1平均得分大于表9所示的ZF Net和腐蚀7;但是,使用t检验,不能得出平均值不同的结论。图8(c)表明,尽管记录的32 3 32窗口大小下腐蚀5的平均F1分数较大,但F1分数具有较大的标准偏差,不同网络的方框图具有显著重叠。这些结果表明,对于腐蚀的二元分类,CNN结构可以比为ImageNet设计的结构更小,同时实现相似的信噪比。相似性可以在图8的方框图中查看。
CNN特征与小波特征
为了与现有的CNN方法进行比较,我们将VGG16与Jahanshahi和Masri提出的小波神经网络进行了比较。7提出的小波神经网络方法在单个隐层中有50个神经元是最优的。这比本文中使用的CNN的隐藏完全连接层的大小要小。为了比较CNN特征和小波特征的鲁棒性,对VGG16结构进行了改进。一个完全连接的层被移除,另一个被减少到50个神经元。卷积层保持不变。这就产生了VGG15,它的完全连接层类似于小波神经网络。这两种方法的主要区别是特征被输入到完全连接的层中。试验结果见表10。每个场景重复10次,在10个不同的数据集中各重复一次。使用t检验,无论小波神经网络使用的颜色空间如何,带微调的VGG15比小波神经网络方法具有更大的平均值,置信度超过99.9%。由此,可以得出结论,使用CNN,特征优于使用小波特征。如表8所示,CNN方法在RGB或YCbCr颜色空间中表现最好。为了利用微调的好处,使用了RGB颜色空间。通过这些测试的另一个有趣的观察是,使用VGG卷积层和前面提出的完全连接层,VGG15的性能与VGG16类似。腐蚀的二元分类比在ImageNet中为VGG16的全连接层设计的1000个类的分类要简单得多。因此,使用CNN架构最重要的方面是从卷积层生成的改进的特征。与以前的NN尺寸相比,现代cnn完全连接层的尺寸增加对腐蚀分类几乎没有影响。
在这里插入图片描述
计算性能
在nvidiatitanxpascal图形处理器上对网络的计算性能进行了评估。性能测试使用了256幅图像的批量大小。表11总结了绩效结果。为了训练一个网络,使用了通过网络的前向和后向传递。预期的总训练时间是每批训练时间乘以迭代次数。例如,对于8800次迭代、ZF-Net和128 3 128滑动窗口大小,预期的训练时间稍微超过46分钟。在实践中,这个数字会稍微长一些,并且随着网络将定期在验证集上进行测试而变化。训练完成后,利用网络对图像进行分类,只使用前向传递。VGG16是最大的网络,也是最慢的,这是预期的。VGG15的完全连接层越来越少,并且与VGG16相比,在每个窗口大小上都实现了较小的速度提升。在前传中,ZF的网速是VGG16的三倍。与ZF网络相比,Corrosion7和Corrosion5的设计提高了计算性能。Corrosion7能够将每个窗口大小的前传球时间比ZF Net的时间缩短一半。此外,由于Corrosion7可以在33毫秒内对256个窗口进行分类,因此它可以用于以30 fps(视频馈送的典型帧速率)对2048 3 2048像素的图像进行腐蚀检测。与ZF-Net相比,Corrosion5的计算性能没有corrosion7显著提高。
在这里插入图片描述
如表11所示,在每减小一个滑动窗口大小时,图像数量增加四倍以覆盖相同的面积。但是,每次减小滑动窗口大小所需的时间不会减少四倍,这意味着使用较大的窗口大小来分析图像是否存在腐蚀会更快。由于CNNs和gpu的并行性,计算时间并没有以相同的速度减少。图像越大,并行计算的机会就越多。
总结与结论
CNN是一种强大的机器学习方法,用于许多图像检测和分类任务。这项研究检验了CNN对图像上滑动窗口的腐蚀检测。对输入CNN的区域的几个输入参数进行了评估。研究了滑动窗口大小(1283128、64364和32332像素)以及颜色空间RGB、YCbCr、CbCr和灰度的影响。此外,对两种最先进的CNN结构ZF-Net和VGG16进行了评估,并与三种提议的CNN Corrosion7、Corrosion5和VGG15进行了比较。另外,对ZF-Net和VGG16体系结构进行训练,对训练后的CNNs的权值和预训练权值进行随机初始化,以评价微调的效果。
结果表明,CNN的使用优于以前最先进的腐蚀检测方法,其中小波特征与神经网络一起使用。最稳健的输入参数是滑动窗口大小128 3 128和RGB或YCbCr颜色空间。VGG16,更深层的网络,经过微调,被证明是最健壮的架构。此外,还表明VGG16由于其卷积层而不是由于其全连接层尺寸的增加而最为健壮。据观察,在没有微调的情况下,ZF-Net和VGG16的性能相似。
在数据集接近ImageNet大小的情况下,不进行微调的VGG16将优于ZF-Net,因为进行微调的VGG16优于进行微调的ZF-Net。此外,较小的架构(如建议的Corrosion7和Corrosion5)能够实现与ZF网络类似的信噪比。不同体系结构对计算性能的影响最大。VGG16和VGG15都可以提供更健壮的分类,但代价是速度减慢。Corrosion7的正向传递时间是ZF Net的两倍,是VGG16的七倍以上。在未来的工作中,CNN在研究中的应用可以扩展到不同类型的腐蚀。对于多种腐蚀类型的分类,完全连接层中的神经元数量在性能上具有更大的意义。进一步评估腐蚀等级数量所需的神经元数量将是一个有趣的评估。此外,CNN可以用来量化腐蚀区域的面积使用滑动窗口方法在本文中,并通过继续研究腐蚀分割。具有自动检测腐蚀、识别类型和量化腐蚀量的能力将有助于人类检查员,并显著减少与检查民用基础设施相关的时间和成本。
利益冲突声明
作者声明与本文的研究、作者和/或发表没有潜在的利益冲突。
基金
作者(s)披露收到以下财政支持的研究,作者,和/或发表这篇文章:这项研究是部分由普渡荣誉学院支持。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值