28、卷积神经网络在纹理分析中的应用与性能评估

卷积神经网络在纹理分析中的应用与性能评估

1. 深度学习算法与卷积神经网络

在纹理分析领域,深度学习算法展现出了强大的潜力。本次研究考虑了四种深度学习算法,分别是 AlexNet、VGG19、GoogLeNet 和 ResNet50。这些网络架构的深度和权重各不相同,具体信息如下表所示:
| 神经网络 | 深度(权重) |
| — | — |
| AlexNet | 8(6100 万) |
| VGG19 | 19(1.44 亿) |
| GoogLeNet | 22(700 万) |
| ResNet50 | 50(2560 万) |

2. 案例研究 1:Voronoi 模拟材料纹理
2.1 Voronoi 材料纹理模拟

由于天然材料的纹理与 Voronoi 镶嵌的图形表示相似,因此在第一个案例研究中,使用 Voronoi 镶嵌来模拟天然材料的纹理结构。图像纹理被分为两个大小相等的类别 A 和 B,每个类别包含 1000 张图像,它们均由相同的二元均匀分布生成。不同之处在于,类别 A 的图像是由 100 个数据点的分布实现镶嵌得到的,而类别 B 的图像是由 120 个数据点的分布实现镶嵌得到的。因此,类别 A 中颗粒的平均尺寸大于类别 B 中颗粒的平均尺寸。

2.2 卷积神经网络与传统算法的比较分析

使用 PyTorch 后端构建用于案例研究的卷积神经网络(CNNs),实验在 Google Colab 平台上运行。Voronoi 图像的识别采用了基于灰度共生矩阵(GLCMs)、局部二值模式(LBPs)和纹理元(textons)的特征,以及在 ImageNet 数据库上预训练的 AlexNet、VGG19、GoogLeNet 和 ResNet50 的特征。后者使用 CNNs 的方法可称为深度特征提取。

深度特征有三种提取方式:
1. 仅训练网络的全连接层。
2. 除训练全连接层外,还训练部分特征层。
3. 训练全连接层和所有特征层。

为了进行准确的比较,将特征集用作随机森林(RF)模型的预测器,以区分类别 A 和 B 的图像。随机森林模型的超参数如下表所示:
| 超参数 | 描述 | 值 |
| — | — | — |
| mtry | 每个节点分裂时评估的候选变量数量 | √m |
| ntree | 每棵树评估的样本总数比例 | 70% |
| K | 森林中的树的数量 | 500 |
| 节点大小 | 支持终端节点的最小样本数 | 1 |
| 替换 | 是否有放回地抽取样本 | 有 |
| 分裂规则 | 节点分裂的标准 | Gini |

对于从部分或完全重新训练特征层的 CNNs 中提取的特征,将网络正确分类类别 A 和 B 图像的能力作为特征质量的指标。为此,将图像数据集分为训练集(70%)和测试集(30%),测试集用于评估在训练过程中使用 ADAM(自适应动量估计)算法优化的 CNNs 的性能。

假设预训练的神经网络已经具有接近最优的权重,因此使用 0.0001 的小学习率,以避免不必要地破坏网络的权重设置。为防止过拟合,在训练过程中使用了图像增强技术,包括水平翻转、随机旋转、剪切和移动原始图像。

不同模型的性能总结如下表所示:
| 模型 | 特征数量 | 准确率(%) |
| — | — | — |
| ResNet50 | 2048 | 99.0 |
| VGG19
| 4096 | 98.5 |
| GoogLeNet | 1024 | 98.3 |
| ResNet50* | 2048 | 98.3 |
| AlexNet
| 4096 | 95.8 |
| GoogLeNet | 1024 | 93.8 |
| VGG19
| 4096 | 93.8 |
| AlexNet* | 4096 | 93.3 |
| ResNet50 | 2048 | 91.4 |
| LBP | 59 | 89.2 |
| AlexNet | 4096 | 88.3 |
| Textons | 20 | 87.1 |
| GLCM | 4 | 87.0 |
| VGG19 | 4096 | 81.6 |
| GoogLeNet | 1024 | 78.3 |

注:标有一个或多个“ ”的模型,准确率代表端到端分类器的性能。“ ”和“**”分别表示部分或全部特征层被重新训练的网络。其他模型为随机森林,准确率为训练数据集的袋外误差值。

通过 t 分布随机邻域嵌入(t - SNE)算法将特征映射到二维得分图,可以更深入地了解算法的性能。该算法将特征嵌入到低维空间中,以最佳地保留原始高维空间中各点的相似性。结果表明,所有传统方法和直接深度特征提取方法都能在一定程度上区分两个类别,但使用从部分或完全重新训练的网络中提取的深度特征时,能形成两个明显分离的聚类,这证实了重新训练 CNNs 特征层的优势。

3. 案例研究 2:浮选泡沫纹理
3.1 浮选泡沫图像分析

泡沫浮选是矿物加工中的重要操作,在搅拌槽或浮选池中,通过向矿浆中添加化学试剂,使矿浆表面形成泡沫层,并增强有价值材料的疏水性,从而使有价值的物质富集在泡沫中以便回收。泡沫的外观是浮选池性能的有用指标,但操作人员很难区分不同的泡沫结构,因此计算机视觉长期以来一直被研究作为浮选厂决策支持的更可靠方法。

在这个案例研究中,考虑将深度学习应用于从南非铂金属组浮选厂获得的泡沫图像。在 4 小时内收集了 6856 张初级清洁浮选池(尺寸为 256 × 256 像素)的泡沫图像,在此期间,向池中通入的空气流量定期变化。此外,在实验室中分析了泡沫样本的铂含量,并将这些结果与收集的泡沫图像相关联。

与正常操作条件下高铂浓度相关的泡沫被标记为类别 A,另外还确定了三种其他操作状态,分别标记为类别 B、类别 C 和类别 D,这些类别的铂含量逐渐降低。四个操作状态分别由 1960、1260、1722 和 1940 张图像表示。类别 A 的较粗泡沫结构与其他三个类别的较细泡沫结构明显不同,这些结构与图像中的不同铂品位相关,因此识别特定的泡沫类别可以估计图像对应的铂品位。

3.2 卷积神经网络识别操作状态

在这个案例研究中,使用与案例研究 1 相同的框架对类别 A - D 进行分类,并使用相同的超参数优化随机森林模型。但在本案例中,仅将 GoogLeNet 与三种传统模型进行比较,同样基于网络特征层的不同训练水平进行比较。

不同模型的性能总结如下表所示:
| 模型 | 特征数量 | 准确率(%) |
| — | — | — |
| GoogLeNet* | 1024 | 99.5 |
| GoogLeNet
| 1024 | 94.4 |
| Textons | 20 | 81.8 |
| GoogLeNet | 1024 | 79.9 |
| GLCM | 4 | 71.8 |
| LBP | 59 | 69.8 |

注:标有一个或多个“ ”的模型,准确率代表端到端分类器的性能。“ ”和“**”分别表示部分或全部特征层被重新训练的网络。其他模型为随机森林,准确率为训练数据集的袋外误差值。

使用主成分分析(PCA)将从泡沫图像中提取的特征投影到二维空间进行可视化。具体来说,首先从类别 A 的特征构建主成分模型,然后将其他类别的图像特征投影到该模型上。结果表明,重新训练 GoogLeNet 的特征层显著提高了分类准确率,证实了重新训练 CNNs 的有效性。

4. 案例研究 3:成像信号纹理
4.1 将信号视为图像

在深度学习中,迁移学习在信号处理中也起着重要作用。可以通过将信号转换为图像,直接使用 ImageNet 架构。具体操作是:使用指定长度(b)的滑动窗口,以步长 s 在多元时间序列上移动。每个窗口内的数据用于生成捕获窗口信息的图像,例如构建大小为 b × b 的距离图,其 (i, j) 元素是窗口内点 i 和点 j 之间的距离。这些图像将显示与时间序列行为相应的纹理。

随后,可以使用专门为此目的设计的算法从图像中提取特征,并将这些特征与从时间序列导出的标签收集在一个数据矩阵中,作为时间序列分析或时间序列模型开发的基础。常见的时间序列或信号的图像表示包括欧几里得距离图、格拉姆角场、马尔可夫转移场和连续小波变换。

4.2 使用卷积神经网络监测股票价格

考虑从 1979 年到 2021 年初的历史每日黄金价格数据集,该数据集包含超过 11000 个美元计价的黄金每日收盘价。黄金价格的百分比变化随时间的变化情况如图所示,价格变化的基本统计信息如下表所示:
| 统计指标 | 价格变化 | 绝对价格变化 |
| — | — | — |
| 计数 | 11170 | 11170 |
| 均值 | 0.026 | 0.755 |
| 标准差 | 1.183 | 0.910 |
| 最小值 | -13.24 | 0.000 |
| 最大值 | 13.32 | 13.315 |
| 25%分位数 | -0.465 | 0.190 |
| 50%分位数 | 0.000 | 0.489 |
| 75%分位数 | 0.517 | 0.995 |

研究了窗口大小为 100、200 和 300 天的影响,将黄金价格百分比变化的时间序列分别分割成 111 × 100、55 × 200 和 37 × 300 的矩阵,然后将每个小时间序列段转换为归一化的距离矩阵(维度分别为 100 × 100、200 × 200 和 300 × 300),再通过颜色映射将距离矩阵转换为真实图像矩阵。

从不同窗口大小的时间序列中提取的纹理图像数量分别为 111 张(100 × 100 × 3)、55 张(200 × 200 × 3)和 37 张(300 × 300 × 3)。将这些图像通过未在目标数据上训练的 GoogLeNet 以获取直接深度特征,并使用 t - SNE 算法对这些深度特征进行可视化。结果显示,300 天移动窗口对应的模式最清晰,较近期的模式(黄色和橙色)与较早的模式(蓝色调)在一定程度上分离。

5. 讨论与结论
5.1 讨论

卷积神经网络(CNNs)凭借其深度架构,在越来越多的领域中继续超越传统的图像识别方法。由于从头设计和训练大型 CNNs 成本高昂,且获取足够的数据可能不可行,因此使用预训练网络可能是唯一可行的方法。

所有案例研究都表明,通过 CNNs 提取的特征优于传统方法(如 GLCM、LBP 和 textons 算法)提取的特征,特别是在通过端到端分类重新训练 CNNs 的特征层时。即使在无法重新训练特征层的情况下,在 ImageNet 数据上预训练的 CNNs 也能取得与传统方法相当的结果。

然而,CNNs 的可靠性可能受到用作源数据的 ImageNet 图像与用作目标数据的纹理图像之间差异的影响,案例研究 1 和 2 中目标数据集的相对较小规模也可能对模型产生抑制作用。重新训练网络的特征层通常可以弥补源数据集和目标数据集的不相似性。

对于预训练网络的重新训练,使用反向传播来微调预训练网络的权重。预训练网络的早期层倾向于捕获通用特征,这些特征对不同领域的不同任务都有用,而网络处理路径中较深的层倾向于捕获更复杂的特定于目标领域的特征。因此,仅重新训练后期层的权重是有意义的,这可以迫使 CNNs 学习特定于目标数据集的高级特征。此外,在案例研究 1 和 2 中,分别对 ResNet50 和 GoogLeNet 的所有层进行完全重新训练,都实现了接近完美的准确率。

最后,与传统方法相比,深度学习方法的一个缺点是模型开发成本高。大规模模型开发最好在高性能计算环境中进行,尽管通过云计算等方式这些环境变得越来越容易访问,但与未来的大规模需求相比,当前的大规模可能显得微不足道。未来可以通过专注于使用更紧凑的 CNNs(如 MobileNet 或 SqueezeNet)进行纹理分析来在一定程度上解决这个问题。

5.2 结论
  • 基于在 ImageNet 常见物体数据库上预训练的 CNNs(如 ResNet50、GoogLeNet、VGG19 和 AlexNet)的迁移学习,无需进一步训练即可生成图像纹理的高度判别性特征。
  • 对这些网络进行部分或完全重新训练可以进一步提高性能,在案例研究 1 中实现了对不同 Voronoi 纹理的显著更高甚至接近完美的分类,在案例研究 2 中实现了对铂金属组浮选厂泡沫状态的准确识别。
  • 在案例研究 1 和 2 中比较的四个 CNNs(AlexNet、VGG19、GoogLeNet 和 ResNet50)中,ResNet50 产生的特征最可靠。所有网络的表现都与传统方法(LBP、GLCM 和 textons)相当或更好,这些结果与其他新兴研究一致。

卷积神经网络在纹理分析中的应用与性能评估

6. 技术点深入分析
6.1 卷积神经网络特征提取

卷积神经网络(CNNs)在纹理分析中能够提取强大的特征。不同的 CNN 架构,如 AlexNet、VGG19、GoogLeNet 和 ResNet50,在特征提取能力上有所不同。以 AlexNet 为例,它是早期较为经典的 CNN 架构,具有 8 层深度和 6100 万权重。其结构相对简单,在特征提取时能够捕捉到图像的一些基本特征。而 ResNet50 则具有更深的网络结构(50 层)和 2560 万权重,能够学习到更复杂、更高级的特征。

在特征提取过程中,预训练网络在 ImageNet 数据集上学习到的特征具有一定的通用性。但对于特定的纹理分析任务,需要对网络进行调整。重新训练特征层可以使网络更好地适应目标数据集,从而提高特征的判别性。例如,在案例研究 1 中,重新训练 ResNet50 的特征层后,分类准确率从 91.4% 提升到了 99.0%。

6.2 随机森林模型

随机森林(RF)模型在纹理分类中作为分类器被广泛应用。它通过集成多个决策树来进行分类,具有较好的稳定性和泛化能力。在使用随机森林模型时,需要设置一些超参数,如 mtry(每个节点分裂时评估的候选变量数量)、ntree(每棵树评估的样本总数比例)、K(森林中的树的数量)等。

在案例研究中,随机森林模型的超参数设置如下:
| 超参数 | 描述 | 值 |
| — | — | — |
| mtry | 每个节点分裂时评估的候选变量数量 | √m |
| ntree | 每棵树评估的样本总数比例 | 70% |
| K | 森林中的树的数量 | 500 |
| 节点大小 | 支持终端节点的最小样本数 | 1 |
| 替换 | 是否有放回地抽取样本 | 有 |
| 分裂规则 | 节点分裂的标准 | Gini |

这些超参数的设置会影响随机森林模型的性能。例如,增加树的数量(K)可以提高模型的准确性,但同时也会增加计算成本。

6.3 迁移学习与信号处理

迁移学习在信号处理中具有重要意义。通过将信号转换为图像,可以直接利用 ImageNet 架构进行特征提取。具体操作步骤如下:
1. 信号转换为图像 :使用指定长度(b)的滑动窗口,以步长 s 在多元时间序列上移动。每个窗口内的数据用于生成捕获窗口信息的图像,如构建大小为 b × b 的距离图,其 (i, j) 元素是窗口内点 i 和点 j 之间的距离。
2. 特征提取 :使用专门的算法从生成的图像中提取特征。
3. 模型构建 :将提取的特征与从时间序列导出的标签收集在一个数据矩阵中,作为时间序列分析或时间序列模型开发的基础。

在监测股票价格的案例中,通过将黄金价格时间序列转换为图像,再使用 GoogLeNet 提取特征,能够发现不同时间窗口下的价格变化模式。

7. 实际应用建议
7.1 选择合适的模型

在进行纹理分析时,需要根据具体的任务和数据集选择合适的模型。如果数据集较小,可以考虑使用在 ImageNet 上预训练的网络,通过微调来适应目标任务。例如,在案例研究 2 中,GoogLeNet 在重新训练特征层后取得了较好的分类效果。如果数据集较大且任务复杂,可以尝试使用更深的网络,如 ResNet50。

7.2 数据处理与增强

数据处理和增强是提高模型性能的重要步骤。在训练过程中,使用图像增强技术(如水平翻转、随机旋转、剪切和移动原始图像)可以增加数据的多样性,防止过拟合。同时,对数据进行归一化处理可以加快模型的收敛速度。

7.3 模型调优

模型调优是一个不断尝试和优化的过程。在重新训练网络时,可以尝试不同的学习率、优化算法和超参数设置。例如,在案例研究中,使用 ADAM 算法优化 CNNs 的权重,同时使用较小的学习率(0.0001)来微调预训练网络的权重。

8. 总结与展望
8.1 总结

本文通过多个案例研究,展示了卷积神经网络在纹理分析中的强大应用能力。通过迁移学习,在 ImageNet 上预训练的 CNNs 能够在不同的纹理分析任务中取得较好的效果。重新训练特征层可以进一步提高模型的性能,使分类准确率显著提升。同时,随机森林模型作为分类器,在结合 CNNs 提取的特征时,能够有效地进行纹理分类。

在信号处理中,通过将信号转换为图像,利用迁移学习的思想,也能够实现对时间序列的有效分析。

8.2 展望

未来,随着深度学习技术的不断发展,卷积神经网络在纹理分析和信号处理领域将有更广泛的应用。可以进一步研究更紧凑、更高效的 CNN 架构,以降低模型开发成本。同时,结合更多的领域知识和数据,提高模型的泛化能力和准确性。

此外,随着数据量的不断增加,如何更好地处理和利用大规模数据也是一个重要的研究方向。可以探索分布式计算和云计算等技术,以提高模型训练的效率。

以下是一个 mermaid 格式的流程图,展示了信号处理中迁移学习的流程:

graph LR
    A[多元时间序列] --> B[滑动窗口处理]
    B --> C[生成图像]
    C --> D[特征提取]
    D --> E[构建数据矩阵]
    E --> F[时间序列分析或模型开发]

通过以上的分析和总结,我们可以看到卷积神经网络在纹理分析和信号处理领域具有巨大的潜力,未来的研究和应用将不断推动这些领域的发展。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值