木材种类识别在各个行业中起着关键作用,从确保木材制品的合法性到推进生态保育工作。
本文介绍了 WoodYOLO,一种专门针对显微木材纤维分析的目标检测算法。
作者的方法将 YOLO 架构适应于解决大型高分辨率显微图像带来的挑战,以及需要对感兴趣的细胞类型(管状元素)进行高召回率定位的需求。
作者的结果表明,WoodYOLO 在 F2 分数方面显著优于最先进的模型,分别比 YOLOv10 和 YOLOv7 提高了 12.9%和 6.5%。
这种提高的自动化木材细胞类型定位能力有助于提高监管合规性,支持可持续的林业实践,并推动全球生物多样性保护工作。
1 Introduction
森林砍伐是全球生物多样性丧失和气候变化的原因。最近,欧洲联盟采纳了《欧盟森林砍伐法规》(EUDR,议会[2023 年]),取代了《欧盟木材法规》(EUTR),要求在欧盟内交易的产品基于无森林砍伐供应链。这增加了对木材产品和其原产地声明的确认需求。
这对于纸制品来说是一个特定的挑战,因为在生产过程中,DNA 会被破坏,不同纸浆会混合在一起。
因此,无法使用遗传学、稳定同位素或近红外光谱学进行分析。因此,无法分析木材种类的起源(Tsuchikawa 和 Kobori,2015;Schmitz 等人,2020)。最近,首次引入了一种非常复杂的新化学分类学方法来确定木材种类(Flaig 等人,2023)。然而,检查纸张中声明的木材种类的标准分析方法仍然是解剖学(Helming 等人,2018;Ilyessalo-Pfaffili,1995)。在样本准备完成后,专家对细胞特征进行显微镜检查需要花费时间,并需要高度的个人经验。图 1 展示了一种分析被浆化的细胞显微镜图像的示例。该领域的专家数量有限,使得满足木材种类验证的需求日益增长(Ruffinatto 和 Crivellaro,2019)。
为了应对这些挑战,计算机视觉和机器学习的最新进展为自动化木材种类识别提供了有前景的途径(Silva 等人,2022 年)。特别是深度神经网络等机器学习技术在分析大规模图像数据集和提取对物种分类至关重要的复杂特征方面表现出了显著的能力。然而,尽管存在用于宏观木材分析的自动化系统,但纤维材料如纸的显微分析的自动化方法仍然处于初级阶段。
最近,一种基于深度学习的针对微磨碎木材样本显微图像中船体元素检测和分类的方法被提出(Nieradzik 等,2023)。这些努力突显了自动化在简化传统手动任务方面的潜力。然而,现有方法通常面临召回率不理想和计算资源需求高的挑战,尤其是在处理大型和高分辨率显微图像时。
为了克服这些局限性,并进一步推动自动化木材种类识别,作者提出了 WoodYOLO,这是一种专门针对显微镜下木材纤维分析的新颖目标检测算法。WoodYOLO 在 YOLO(仅看一次)架构的基础上构建,并采用了针对高分辨率显微镜性能的定制优化。
作者的算法引入了几个关键创新:
专门针对显微图像优化的 YOLO 基础架构,与 YOLOv10 和 YOLOv7 相比,在 F2 分数方面分别实现了 12.9%和 6.5%的显著性能提升,同时使用了大约 3-4 倍的 less VRAM。
一种新型的 Anchor 框规格方法介绍,用户仅定义物体的最大宽度和高度。这种方法提高了 F2 分数 0.7%。
全面评估现代目标检测器中的各种架构决策。作者的研究结果表明,针对通用数据集(如 COCO,Lin 等人,2015)进行优化的方法,不一定能在实际数据集或不同领域中提高性能。
通过提高自动化木材种类识别能力,作者的工作有助于提高监管合规性,支持可持续的林业实践,并在全球范围内促进生物多样性保护努力。WoodYOLO 代表了在纤维材料显微图像中开发可扩展、可靠和高效木材种类识别方法的重要一步。
2 Related Work
近年来,在纤维材料显微图像中的木材种类的自动化识别已引起广泛关注。这种关注度主要源于对全球木材纤维制品控制高效、准确方法的需求。
Nieradzik 等人(2023 年)提出了一种使用深度学习技术识别显微图像中硬木种类的开创性方法。他们开发了一种生成大量软化木材参考数据集的方法,重点关注九种硬木属。这种方法采用两步过程:首先,使用 YOLOv7(Wang 等人,2022 年)检测细胞元素,然后使用卷积神经网络(CNNs)对这些元素进行分类。
虽然物体定位取得了有前途的结果,但仍存在改进空间。最近开发的目标检测算法,尤其是基于 Transformer 的算法,如 DETR(DEtection TRansformer)模型家族(Carion 等人,2020 年;Zhao 等人,2024 年;Zhang 等人,2022 年;Ouyang-Zhang 等人,2022 年),显示出潜力。然而,由于更高的时间复杂度、较慢的训练速度或实际数据集上的较低 mAP,它们尚未得到广泛应用。
另一项研究是 YOLO 的持续发展。值得注意的是,YOLO 中的更高版本号并不一定表示改进;相反,应用了不同的技术,这些技术可能在特定的数据集上工作,也可能不工作。自 YOLO 原始出版物(Redmon 等,2016 年)以来,原作者仅开发了 YOLOv2 和 YOLOv3 。其他版本由不同的机构或公司引入,包括 YOLOv4 ,Scaled-YOLOv4 ,YOLOX ,YOLOv6,DAMO-YOLO ,YOLOv9(Wang 等,2024a),YOLOv10 ,PP-YOLO(Long 等,2020 年),PP-YOLOv2(Huang 等,2021 年),以及 PP-YOLOE(Xu 等,2022 年)。值得注意的是,YOLOv5 和 YOLOv8 从未发表。在方法部分,作者将分析这些论文中找到的一些不同组件。
最近,Qamar 等人(2024 年)发表的一项研究题为“利用深度学习对木质纤维和管状物的分割和表征”展示了 YOLOv8 在分析木质纤维显微图像方面的应用。
在大多数实际机器学习研究和数据竞赛中,YOLO 仍然是最新一代的。因此,作者的重点是开发一个基于这一文献的目标检测器。作者的工作建立在这些基础上,通过引入一种专门针对纤维材料显微图像中船舶元素检测的目标检测算法。通过为这一任务设计作者的检测算法,作者可以进行更好的优化,并避免关注通用检测数据集,如 COCO。
尽管显微镜和卫星成像领域的许多论文都将 YOLO 应用于高分辨率图像分析,但它们通常依赖于原始 YOLO 代码库,只进行少量修改。例如,Lopez Florez 等人 将 YOLOv5 应用于细胞计数。还有许多关于卫星图像的研究,其中 YOLO 只做了一些微调。因此,与基准的改进往往只是微不足道的。相比之下,作者从零开始开发了作者的 YOLO 版本,并测试了不同版本的组件。这使得作者可以针对作者的应用进行更显著和定制的改进。
3 Materials and methods
常用的用于纸浆、纸张和纤维板生产的木材,如杨树或桉树等,被选中进行研究。具体的属种可以在 Nieradzik 等人(2023)的文章中找到。图们研究所木材收藏的 vouchered 标本以及其他有记录的来源为训练和测试的参考材料。类似于纸浆生产,木材组织的细胞结构根据 Franklin 的方法通过浸泡分解为单个细胞。每个属至少产生了 3 个宏观酯。浸泡和染色在 Helmling 等人(2016)和 Helmling 等人(2018)的文章中详细描述。对于每个浸泡,准备了 20 张玻片。其中 10 张用 Alexander Herzberg 溶液染色,10 张用 nigrosine(1 wt%)染色。
作者的检测框架旨在在显微镜图像中定位木质部元素,这是在纤维材料中自动化硬木种识别的至关重要的一步。木质部元素是 conducting water 在落叶树中的细胞元素,它们在属之间具有独特的形态特征,与纤维不同。作者针对这一领域调整了 YOLO 架构,解决了大型图像尺寸(高达 54,000 x 31,000 像素)带来的挑战,并需要高召回率。与像 DETR 这样的算法相比,YOLO 在实际应用中证明非常有效,使其成为作者任务的首选。
尽管 YOLO 家族包括针对通用数据集(如 COCO)优化的多种模型,但这些模型由于设计为多类别和通用图像,因此不直接适用于作者的问题。因此,作者通过整合 YOLO 不同版本的组件,对其进行定制,以优化其用于船舶检测,无需分类。
在本节中,作者描述了模型的架构、损失函数、指标以及评估的额外方法,以提高检测性能。
Architecture
作者的模型架构首先选择一个能够高效从大型显微图像中提取特征的 Backbone 网络。Backbone 网络处理输入数据,生成多尺度特征图。作者测试了几个 Backbone 网络,如 VGG11(Simonyan 和 Zisserman,2015 年),ConvNext 和 ResNet ,并通过一个名为 Neck 的组件将它们的特征图组合在一起,输出三个特征图。尽管可以使用更多的特征图,但作者的评估显示这样做没有显著的优势。
作者的 Neck 架构基于 YOLOv7-tiny。作者还测试了 YOLOx 的 CSPNet(Wang 等人,2019 年),但发现前者表现更好。使用较小的架构是因为需要考虑内存效率。由于作者希望训练网络的图像分辨率高于常规的 640x640 或 1280x1280,作者需要降低内存需求。此外,当需要区分不同类别时,通常会选择更深层的网络。在这里,作者只需要找到目标,而无需进行分类。因此,更简单的网络效果更好。
图 2 显示,作者的 Neck 由几个卷积层组合而成,这些层以不同的方式结合在一起。一个"c"块包括一个简单的卷积, followed by a batch normalization 和一个 ReLU 函数。而"b"块则由并行的卷积层通过 ConCat 组合而成。图 3 详细展示了"b"块。
图 2 中的三个橙色方块表示 Neck 的输出。这三个模块然后被用作头的输入。由于在某些卷积中使用了更大的步进尺寸,因此输出具有不同的尺寸。
Head 分负责神经网络的预测。它只包含一个卷积块和一个输出卷积。如 YOLOX 中使用的解耦头,在作者的情况下并未证明效果更好。
采用两个超参数而非 Anchor 框的优势在于,无需使用诸如聚类(Redmon 和 Farhadi,2016)等技术来确定它们。此外,损失函数更为简单,训练速度更快。
Loss Function
作者的损失函数由两个组成部分构成:
在作者的情况下,n=3,m为边界框的数量。回归损失可以通过与该网格单元对应的边界框或附加的相邻网格单元(多正样本)进行评估。
不同版本的 IoU 有:完全 IoU(cIoU)[Zheng 等,2021],距离 IoU(DIoU)[Zheng 等,2019],广义 IoU(GIoU)[Rezatofighi 等,2019]和标准 IoU。在评估部分,作者将评估不同的方法,以确定哪个方法最大化了作者的度量。
Metric
目标检测中占主导地位的指标是平均精确度(AP)[Everingham 等人,2010],在不同的阈值下计算,可以概括精度与召回率:
召回率r表示正确预测的边界框数量与所有预测的边界框数量之比,精确率 p(r)表示正确预测的边界框数量与实际边界框数量之比。如果预测的边界框与真实边界框的 IoU 超过预先定义的阈值,那么该预测被认为是正确的。
然而,在作者的具体应用中,AP 的使用并不理想。由于作者的目标是找到所有物体,因此召回率优先于精确度。
此外,作者并不关心与真实值的完全重叠。边界框中的微小偏移或大小变化不应受到该指标的惩罚。因此,作者只希望考虑一个单一的低 IoU 阈值。通常 AP 会在多个阈值下计算。
因此,作者提出了一种替代的度量标准:F2 分数,该分数使用固定 IoU 阈值 0.3 计算。这个选择强调召回率高于精确率。在后期处理阶段,可以通过训练分类器来区分正确和错误的检测,从而处理假阳性。如图 4 所示,30%的覆盖率就足够了。
尽管通常的阈值为 0.5,但作者选择了一个更低的阈值 0.3。这个阈值考虑到了与真实边界框完全对齐并非作者目标中至关重要的实际情况。
Additional Approaches
作者探索了 YOLO 系列中的几个创新,以进一步改进作者的检测框架,并评估它们在性能方面的影响。其中一些结果将在评估部分展示。
中心取样与多正样本作者探讨了使用邻域网格细胞进行匹配真实框的技术,这在文献中被称为多正样本 [Ge et al., 2021a] 或中心取样 [Tian et al., 2019]。
在这里, o 表示原始边界框,× 代表相邻框, 0 表示“空单元格"。对于 0 个邻居配置,损失 Lr保持不变,因为它只考虑原始框。在 2 个邻居配置中,选择网格内的最近边界框,在这种情况下,是右上角和右下角框。对于 4 个邻居配置,作者使用所有方向的边界框:左、右、上、下。请注意,对角线框从不被选择。
由于目标检测是一种一对多的映射关系(一个真实边界框对应多个正确预测的边界框),这种策略试图通过损失函数来模拟这种映射关系。
标签分配
边界框(bounding boxes)被预测为每个特征图上的。使用中心取样进一步增加了预测的边界框数量。为管理这一增加的边界框数量,作者评估了旨在减少每个目标有效边界框数量标签分配策略。
作者尝试了现代标签分配技术,如 SimOTA 和 TAL(Ge 等人,2021b;Feng 等人,2021)。然而,这些方法在作者的场景中并未产生更好的结果。作者将这一归因于作者的度量标准,该标准优先考虑最大召回率,而不是平衡精确率和召回率。
辅助头损失深度监督技术,如 YOLOv7(王等人,2022 年)中使用的方法,涉及在引导更深网络时添加辅助损失。作者的附加模型层实验没有发现任何益处,因此这种方法被排除在作者的最终模型之外。
Anchor 框(Anchor Boxes)在 YOLOv2(Redmon 和 Farhadi,2016)中引入,用于预测物体位置。与 YOLOX 的研究结果(Ge 等人,2021a)一致,作者的结果显示使用 Anchor 框没有提高性能,因此为了简洁,作者排除了它们。相反,作者将参数和纳入范围,以约束边界框的预测宽度和高度,如前所述。
无 NMS 的检测方法 YOLOv10 在作者的测试中表现不佳。作者保留了传统的非极大值抑制(NMS),因为它具有鲁棒性和简单性。
训练策略技术如 mosaic 增强和梯度累积,在其他 YOLO 实现中具有有效性,但对作者应用中的检测并未显著提高。因此,它们被排除在最终模型配置之外。
4 Results
作者在构建的一个用于自动检测和识别硬木种类的 vessel 元素的数据集上评估 WoodYOLO。这是向木材分类迈出的关键一步。硬木中的 vessel 元素是导水细胞,由于其独特的形态特征,不同属之间存在差异。这些 vessel 元素为木材识别提供了重要信息,并且很容易与其他细胞类型(如纤维或薄壁细胞)区分开来。
在本文中,作者特别关注改进这些结构单元的本地化。数据集包括使用 ZEISS Axioscan 7 显微镜捕获的高分辨率软木样本图像。每个图像,原本的 czi 格式,约 54,000 x 31,000 像素的分辨率,文件大小为 1GB,通过降低 10%(5,400 x 3,100 像素)的尺寸来提高训练效率并减少内存使用。最终数据集包括 767 张带有 118,287 个边界框识别出结构单元的图像。
只有每张图像的第三个焦点平面用于训练,因为其余的平面并没有对检测船舶元素提供显著的信息。标注好的数据集被分为 613 张用于训练和 154 张用于验证。作者进行了初步的实验,使用了 5 折交叉验证,但发现不同折的指标相对稳定。由于时间限制,作者使用简单的训练验证划分。
在本节中,作者评估了作者的船体检测框架在不同配置下的性能,并将其与其他最先进的模型进行了比较。评估是在固定 IoU 阈值 0.3 下进行的 F2 分数,如前所述。
Detection Model and backbone comparison
由于作者以 YOLO 为基础,因此与其它 YOLO 变体进行比较是有意义的。在表 1 中,作者展示了不同检测模型的 F2 分数。
作者的自定义 YOLO 变体在其他模型中表现出色,实现了 F2 分数 0.848,突显了其在大型显微图像中检测血管元素的高级能力。
YOLOv10 和 YOLOv7 的参数都已优化。值得注意的是,作者使用 5184x5184 像素分辨率的第二好模型 YOLOv7-W6,这需要使用 A100。作者的模型使用 2048x2048 分辨率,并且可以在不到 10 GB 的 VRAM 下进行训练。
作者还评估了各种 Backbone 网络,以确定它们对检测性能的影响。表 2 总结了结果,并包括参数数量。
VGG11-bn Backbone 产生了最高的 F2 分数(0.8316),同时保持了合理的参数数量和 VRAM 占用。除了 YOLOv7-tiny,其他 Backbone (包括 skip 连接、更复杂的激活函数或特殊层,如 Squeeze-and-Excitation 块)的 VRAM 要求都更高。VGG 的简单性使其更容易扩展到更高的分辨率。
Effect of Neighboring Cells and IoU Loss function
作者评估了考虑邻近网格单元(多正样本)对匹配真实边界框的影响。如表 3 所示,使用 0 个邻近网格单元产生了最高的 F2 分数(0.8481)。
增加更多的相邻细胞导致了性能下降,这表明精度下降过高。接下来,作者比较了不同的 IoU 基础损失函数,以确定它们在模型中的有效性。表 4 显示,广义 IoU(GIoU)损失函数获得了最佳性能,其 F2 分数为 0.8340。
然而,F2 处的差异相当小。因此,该参数对结果没有重大影响。
Impact of Image Size and training techniques
表 5 评估了不同图像大小对检测性能的影响。在大小为 2048 的图像上进行训练,获得了最高的 F2 分数(0.8316)。
因此,作者可以得出结论,作者不需要 54000 x 31000 的高分辨率来找到船舶元素。因此,也不需要将图像分割以执行单个 Patch 的检测。由于作者采用的方法只需要预测一个图像,因此预测速度更快。
作者已成功在具有 40GB VRAM 的 A100 GPU 上训练了一个分辨率为 6144 x 6144 的模型。通过进一步调整架构,实现更高的分辨率是可能的。需要强调的是,作者的标准模型,分辨率为 2048 x 2048,旨在提高可访问性。该模型可以在消费级硬件上进行训练,仅需要约 8GB 的 VRAM 进行训练。
在训练基于 YOLO 的模型时,作者探索了多种先进技术以提高性能,包括 mosaic augmentation 和 gradient accumulation。Mosaic augmentation 是一种数据增强策略,它通过将数据集中的四个不同图像组合成一个新训练图像来创建一个新的训练图像。这种技术旨在在训练期间提供更多的上下文和变异性,可能提高模型的泛化能力。然而,如表 6 所示,mosaic augmentation 并未导致作者任务 F2 分数的提高。
梯度累积是另一种作者评估的技术。它允许在 GPU 内存中容纳更大的批量大小进行有效训练,通过在多个子批次上累积梯度并在更新模型权重之前进行。
尽管其有可能稳定训练并提高收敛速度,但作者的结果表明,梯度累积在作者的实验中并未带来显著的优势。
关键的一个修改是实现了最大目标宽度和高度(之前讨论过的 Anchor 框变种)。移除这个限制导致 F2 分数明显下降,这表明这种技术在提高检测性能方面是有效的。
Summary of the results
作者已经证明,WoodYOLO 在作者的特定用例中优于其他 YOLO 变体。有趣的是,在 COCO 上始终显示改进的 mAP 某些技术在这里并未带来类似的收益。例如,YOLOv4 中引入的 mosaic augmentation,在他们的 ablation study 中,AP 增加了 1.8%。然而,作者的实验表明,当应用此技术时,F2 分数出现了 6.2%的显著下降。同样地,尽管 YOLOX 报告了 2.1%的改进,但作者在使用多正样本时并未观察到优势。
作者将这些差异归因于几个因素:
metric difference: 作者关注的是召回率和近似边界框重叠,而不是标准 COCO 指标。
任务简化:由于作者只需要对物体进行本地化,因此作者的架构可以比设计更简单。
重复可实现性挑战:深度学习,尤其是在目标检测方面,往往面临重复实现的问题。许多 YOLO 实现使用遗留代码和未记录的变通方法来提高 AP,这些在原始论文中并未提及。这可能包括任意的损失函数权重或不同的权重衰减策略(He 等人,2018 年)。
为减轻这些混淆因素,作者从零开发了作者的检测器,避免依赖先前的代码库。这种方法使作者能够更准确地评估单个修改的影响。
结论,作者的研究结果表明,对于与标准 COCO 使用案例有显著差异的专业领域,开发定制检测器可能比调整现有通用模型更有益。这种方法可以实现一个更符合任务具体要求的定制解决方案。
5 Discussion and Conclusion
在本文中,作者提出了 WoodYOLO,一种专门针对显微镜木纤维分析设计的创新目标检测算法。作者的方法基于 YOLO 架构,通过定制优化来提高在高分辨率显微镜图像上的性能。作者引入了几个关键创新,包括一个专为显微图像优化的基于 YOLO 的架构和一种新颖的 Anchor 框规格方法。
作者的全面评估表明,WoodYOLO 在 F2 分数方面明显优于最新的模型,如 YOLOv10 和 YOLOv7。作者还分析了在木质容器检测背景下各种架构决策和训练技术的有效性。
木材 YOLO 在检测纤维材料显微图像中的船体元素方面的优越性能,代表了自动化木材种类识别的重大进步。这一贡献对提高监管合规性、支持可持续林业实践以及全球生物多样性保护工作具有深远的影响。
Future Work
WoodYOLO 的发展为未来的研究和改进开辟了几个有前景的途径。一个值得探索的关键领域是将旋转边界框集成到模型中,以提高船舶元素定位的准确性,特别是对于长或斜结构的定位。这一进一步的发展需要对模型架构和数据集标注进行调整,并具有相当大的潜力来提高检测准确性。
同时,可以继续优化 WoodYOLO 架构,以降低 GPU 需求并提高召回率。减少模型的内存需求至关重要,以实现对更大、更高分辨率的显微图像的处理。
参考文献
[0]. WoodYOLO: A Novel Object Detector for Wood Species Detection in Microscopic Images.
END
作者:小书童
来源:集智书童
推荐阅读
- 视觉 Transformer 与目标检测的完美融合:解读 ViTOC 架构 !
- PyTorch 通讯实践
- CUDA-MODE 课程笔记 第 29 课 Triton 内部机制
- 预训练视觉 Transformer (ViT) 的核心:特征表示还是注意力模式?
欢迎大家点赞留言,更多 Arm 技术文章动态请关注极术社区嵌入式 AI 专栏欢迎添加极术小姐姐微信(id:aijishu20)加入技术交流群,请备注研究方向。