WoodYOLO:用于木材种类鉴定的YOLO改进版

259 阅读8分钟

Figure_0.jpg

论文地址:arxiv.org/abs/2411.11…

论文许可协议:CC BY. creativecommons.org/licenses/by…

封面图:Elena Rouame、Unsplash

在欧洲,防止滥伐森林的法规对于木制产品的木材种类和木材来源地有严格的限制。然而,欧洲市场仍有相当比例的进口木材使用的是非法采伐的林木,说明木材种类和木材来源地的书面申报也不一定准确。为了保障上述法规的实施,以及核查木制产品的书面申报是否准确,木材种类鉴定这一冷门行业热了起来。

位于德国的图能木材研究所(Thünen Institute of Wood Research)拥有上万种不同树木的样本,是世界上最大的木材标本收藏地之一。该研究所还负责检查各式各样的木制产品(儿童玩具、家具等等),以确定木制产品的产地、以及木制产品是否涉及受保护的树木种类[1]。鉴定木材种类的工序主要包括从木制产品的样品上切下木块、将木块浸泡在溶剂中、将浸泡后的木块刨成切片、在显微镜下对切片进行分析(包括将切片与收藏的木材样本进行比对)等步骤。

木材的切片在显微镜下是什么样子的呢?以下四张图像是经过染色的四种木材的切片在显微镜下的图像[2],这四种木材分别是:A,金合欢木;B,杨木;C,胶木;D,柳木。

Figure_B1_A.jpg

Figure_B1_B.jpg

Figure_B1_C.jpg

Figure_B1_D.jpg

在鉴定木材种类的工序中,在显微镜下对切片的分析枯燥单调,费时费力,需要专门经验,同时行业内相关的专业人才也有限。对纸制品的分析则更为复杂——纸制品在生产时,有可能混合了多种纸浆,从而有可能含有多种木材成分。

在显微镜下对切片的分析能否自动化呢?为了探索这一可能,图能木材研究所与德国的弗劳恩霍夫工业数学研究所(Fraunhofer ITWM)已经开展了有关的合作。近期,来自这两家研究所以及德国的奥芬堡大学(Offenburg University)的研究人员共同发布了一篇论文[3],介绍了这几家机构联合研发的、专门用于木材切片显微图像的目标检测模型——WoodYOLO。

Figure_1.jpg

上图是一张含有WoodYOLO检测结果的木材切片显微图像。其中,蓝色框标出的是WoodYOLO正确检测出的导管分子(vessel element;该概念将在下段文字中解释),粉色框标出的是假阴性(false negatives)的导管分子的检测结果,红色框标出的是假阳性(false positives)的导管分子的检测结果。

在部分植物中,导管主要用来在植物体内输导水分和无机盐。不同种类木材的导管分子具有不同的形状特征。以下的两张图显示了在显微镜下,荷木(A)和杨木(B)切片中的导管分子[2]。

Figure_B4_A.jpg

Figure_B4_B.jpg

WoodYOLO简介

在木材切片的显微图像中定位导管分子,是鉴定木材种类中的重要一环。WoodYOLO的设计目的就是自动、快速地检测出木材切片中尽可能多的导管分子。

在计算机视觉领域中,目标检测(object detection)的算法有很多种。较新的目标检测算法包括基于transformer的DETR、DINO等;YOLO系列目标检测算法则始终具有独特的优势:实时性能好,训练速度快,对于超大图像的处理要容易一些。

上述几家机构的研究人员曾经试验过采用通用的YOLO算法,训练木材显微图像的目标检测模型,用于检测木材切片中的导管分子[2]。尽管有关试验取得了良好的效果,但也遇到了召回率还不够高、处理超大图像时计算量大等问题。

通用的YOLO算法一般针对COCO等通用数据集来进行设计,如果用来针对显微镜下的木材图像进行训练和检测,效果不一定理想。为了进一步提升木材导管分子的检测效果,上述几家机构的研究人员围绕木材导管分子这一类专门的检测目标,改进了YOLO的设计,构建了这个名为WoodYOLO的专用的目标检测器。

WoodYOLO的架构

WoodYOLO的架构主要由Backbone、Neck和Head三部分组成,如下图所示。

Figure_2.jpg

Backbone

在选择Backbone时,WoodYOLO的研究人员采用了VGG11、ConvNext、ResNet、EfficientNet等能够处理大型图像的模型进行了测试;VGG11在测试中表现相对较好。Backbone部分输出多种大小的特征图(feature map)至Neck部分。下图是放大一些的Backbone部分的示意图。

Figure_2_Backbone.jpg

Neck

WoodYOLO的Neck部分基于YOLOv7-tiny的设计。这种小型的设计便于在内存不是很大的情况下,应用大型图像进行训练。此外,由于WoodYOLO仅用于目标检测,不用于目标分类,因此,能够分辨很多特征的深层结构在WoodYOLO中并没有必要。

Figure_2_Neck.jpg

上图是放大一些的Neck部分的示意图。其中,“c”模块综合了卷积、Batch Normalization、以及ReLU函数;“+”表示连接(Concatenation);“m”表示最大池化(MaxPooling);“u”表示上采样(Upsampling);“b”是连接(Concatenation)模块,其内部结构如下图所示;橘红色表示由Neck部分输出至Head部分。Neck部分输出三张特征图至Head部分。

Figure_3.jpg

Head

下图是放大一些的Head部分的示意图。其中,“c”模块与上述Neck部分中的“c”模块完全相同;“o”模块通过卷积计算,输出检测到的目标的x坐标、y坐标、边界框的宽、边界框的高、以及可信度。

Figure_2_Head.jpg

WoodYOLO中没有直接使用锚框(anchor box),而是使用了两个超参,分别用来表示待检测目标占图像的宽和高的最大比例,这样就类似于使用了一个最大尺寸的锚框,从而省去了不少有关锚框的计算。

WoodYOLO的损失函数

WoodYOLO的损失函数由两部分组成:回归损失Lr和分类损失Lp

Formula_Loss.jpg

回归损失

回归损失衡量的是预测的边界框(bounding box)与实际的边界框之间的对齐程度,用公式来表示就是:

Formula_Regression_Loss.jpg

其中,n是特征金字塔的层数(= 3);m是边界框的数量;IoU是Intersection over Union的缩写;^符号表示预测;bi,j表示边界框。

分类损失

分类损失使用二元交叉熵(Binary Cross Entropy,简称BCE)来衡量Head部分预测的可信度是否准确。分类损失的计算公式是:

Formula_Classification_Loss.jpg

其中,o是Head部分预测的可信度;其它符号与回归损失的公式中的符号含义相同。

WoodYOLO的性能指标

衡量目标检测模型性能的一个常用的指标是AP(average precision),其公式为:

Formula_Metric.jpg

其中,r是召回率,p是准确率。

在检测木材切片中的导管分子时,鉴于有些种类的木材导管分子数量不多,因此,检测到尽可能多的导管分子是主要目标,召回率比准确率更为重要。为了强调召回率的重要性,WoodYOLO的性能衡量指标采用了F2。什么是F2指标?

F2指标

F1、F2等指标都是广义的Fβ指标的特例。Fβ指标的公式为:

Formula_F.jpg

其中,r是召回率,p是准确率。由上述的公式可以看出,当β的值为2、也就是计算F2时,召回率相对于准确率来说,对指标的值影响更大。

F2指标在医学检测、欺诈检测等领域应用较广。在医学检测中,检测出假阴性的后果比检测出假阳性的后果要严重(因为对于假阳性的情况可以进行进一步的检查);在这类情况下,能够在兼顾准确率的同时、发现尽可能多阳性的模型被认为是性能更好的模型,因此,重视召回率的F2与F1等指标相比,就成了更好的衡量模型性能的指标。

WoodYOLO的训练及性能

WoodYOLO的训练数据包括767张木材切片的显微图像,其中含有11万多个标注过的导管分子。木材切片的显微图像可能会达到54000 x 31000的分辨率。在模型的训练中,WoodYOLO的研究人员缩小了图像,用以提高训练效率,降低内存使用。采用不同分辨率的图像进行训练的实验表明,当采用2048 x 2048分辨率时,所取得的F2指标相对更好;有关实验的结果如下表所示。这表明使用原始的、高分辨率的图像没有必要,分割原始的、高分辨率的图像也没有必要。

Table_5.jpg

使用2048 x 2048分辨率的图像进行训练时,仅需要消费级的硬件及8GB显存。使用6144 x 6144分辨率的图像进行训练时,仅需要一张A100显卡和40GB显存。

训练后的WoodYOLO与其它的YOLO相比,完成木材导管检测这一任务的效果确实有了提升。以下是有关的测试结果,其中,最后一行是WoodYOLO的数值。

Table_1.jpg

参考文献

[1] 有一种职业,叫木材侦探. baijiahao.baidu.com/s?id=172789…

[2] Automating Wood Species Detection and Classification in Microscopic Images of Fibrous Materials with Deep Learning. arxiv.org/abs/2307.09…

[3] WoodYOLO: A Novel Object Detector for Wood Species Detection in Microscopic Images. arxiv.org/abs/2411.11…