在欧洲,防止滥伐森林的法规对于木制产品所涉及的木材种类和木材来源地有严格的限制。然而,欧洲市场内仍有相当比例的进口木材来自于非法采伐的林木;申报的木材种类和木材来源地也不一定准确。为了保障上述法规的实施,以及核查木制产品的书面申报是否准确,木材种类鉴定这一行业变得兴旺起来。
位于德国的图能木材研究所(Thünen Institute of Wood Research)拥有上万种不同树木的样本,是世界上最大的木材标本收藏地之一。该研究所还负责检查各式各样的木制产品(儿童玩具、家具等等),以确定木材的产地、以及木制产品是否涉及受保护的树木种类[1]。
鉴定木材种类的主要工序一般包括从木制产品的样品上切下木块、将木块浸泡在溶剂中、将浸泡后的木块刨成切片、在显微镜下对切片进行分析(包括将切片与收藏的木材样本进行比对)等步骤。
木材的切片在显微镜下是什么样子的呢?以下四张图像是四种木材经过染色后的切片的显微图像[2];这四种木材分别是:A,金合欢木;B,杨木;C,胶木;D,柳木。
在鉴定木材种类的工序中,在显微镜下对切片的分析这一步骤枯燥单调,费时费力,需要专门经验,同时行业内相关的专业人才也有限。对纸制品的分析则更为复杂——纸制品在生产时,有可能混合了多种纸浆,因此有可能含有多种木材成分。
在显微镜下对切片的分析能否自动化呢?上述的图能木材研究所与德国的弗劳恩霍夫工业数学研究所(Fraunhofer ITWM)已经开展了有关的合作和探索。近期,来自这两家研究所以及德国的奥芬堡大学(Offenburg University)的研究人员共同发布了一篇论文[3],介绍了这几家机构联合研发的、专门用于木材切片显微图像的目标检测模型——WoodYOLO。
上图是一张含有WoodYOLO检测结果的木材切片显微图像。其中,蓝色框标出的是WoodYOLO正确检测出的导管分子(vessel element;该概念将在下段文字中解释),粉色框标出的是假阴性(false negative)的导管分子的检测结果,红色框标出的是假阳性(false positive)的导管分子的检测结果。
植物的导管主要用来在植物体内输导水分和无机盐。导管的构成中包含一个个导管分子。不同种类木材的导管分子具有不同的形状特征。以下两张图中的右上角显示了在显微镜下,荷木(A)和杨木(B)切片中的导管分子[2]。
WoodYOLO简介
在木材切片的显微图像中定位导管分子,是鉴定木材种类中的重要环节。WoodYOLO的研发目标就是自动、快速地检测出木材切片中尽可能多的导管分子。
在计算机视觉领域中,目标检测(object detection)的算法有很多种。较新的目标检测算法包括基于transformer的DETR、DINO等;YOLO系列算法则始终具有独特的优势:实时性能好,训练速度快,对于超大图像的处理要容易一些。
上述几家机构的研究人员曾经试验过采用通用的YOLO算法,训练木材显微图像的目标检测模型,用于检测木材切片中的导管分子[2]。尽管有关试验取得了良好的效果,但也遇到了召回率还不够高、处理超大图像时计算量大等问题。
通用的YOLO系列算法一般是针对COCO等通用数据集来进行设计的,如果用来针对木材的显微图像进行训练和分析,效果不一定理想。为了进一步提升木材导管分子的检测效果,上述几家机构的研究人员围绕木材导管分子这一类专门的检测目标,改进了YOLO的设计,构建了这个名为WoodYOLO的专用的目标检测器。
WoodYOLO的架构
WoodYOLO的架构主要由Backbone、Neck和Head三部分组成,如下图所示。
Backbone部分
下图是放大一些的Backbone部分的示意图。Backbone所采用的模型需要能够处理大型图像,可用的模型包括VGG11、ConvNext、ResNet、EfficientNet等。经测试,VGG11的表现相对较好。Backbone部分输出多种大小的特征图(feature map)至Neck部分。
Neck部分
WoodYOLO的Neck部分基于YOLOv7-tiny的设计。这样的小型结构便于在内存不是很大的情况下,应用大型图像进行训练。此外,由于WoodYOLO仅用于目标检测,不用于目标分类,因此,能够分辨很多特征的深层结构在这里并没有必要。
上图是放大一些的Neck部分的示意图。其中,“c”模块综合了卷积计算、Batch Normalization、以及ReLU函数;“+”表示连接(Concatenation);“m”表示最大池化(MaxPooling);“u”表示上采样(Upsampling);“b”是连接(Concatenation)模块,其内部结构如下图所示;橘红色表示由Neck部分输出至Head部分。Neck部分输出三张特征图至Head部分。
Head部分
下图是放大一些的Head部分的示意图。其中,“c”模块与上述Neck部分中的“c”模块完全相同;“o”模块通过卷积计算,输出检测到的目标的x坐标、y坐标、边界框的宽、边界框的高、以及可信度。
WoodYOLO中没有直接使用锚框(anchor box),而是使用了两个超参,分别用来表示待检测目标占图像的宽和高的最大比例,这样就类似于使用了一个最大尺寸的锚框,从而省去了不少有关锚框的计算。
WoodYOLO的损失函数
WoodYOLO的损失函数由两部分组成:回归损失Lr和分类损失Lp。
回归损失
回归损失衡量预测的边界框(bounding box)与实际的边界框之间的对齐程度,用公式来表示就是:
其中,n是特征金字塔的层数(=3);m是边界框的数量;IoU是Intersection over Union的缩写;^符号表示预测;bi,j表示边界框。
分类损失
分类损失使用二元交叉熵(Binary Cross Entropy,简称BCE)来衡量Head部分预测的可信度是否准确。分类损失的计算公式是:
其中,oi,j是Head部分预测的可信度;其它符号与回归损失的公式中的符号含义相同。
WoodYOLO的性能指标
在衡量目标检测模型的性能时,一个经常使用的指标是AP(average precision),其公式为:
其中,r是召回率,p是准确率。
在检测木材切片中的导管分子时,鉴于有些种类木材的导管分子数量不多,因此,检测到尽可能多的导管分子是主要目标,召回率比准确率更为重要。为了强调召回率的重要性,WoodYOLO的性能衡量指标采用了F2。什么是F2指标?
F2指标
F1、F2等指标都是广义的Fβ指标的特例。Fβ指标的公式为:
其中,r是召回率,p是准确率。由上述的公式可以看出,当β的值为2、也就是计算F2时,召回率相对于准确率来说,对指标的值影响更大。
F2指标在医学检测、欺诈检测等领域应用较多。在医学检测中,检测出假阴性的后果比检测出假阳性的后果要严重(因为对于假阳性的情况可以进行进一步的检查);在这类情况下,能够在兼顾准确率的同时、发现尽可能多阳性的模型被认为是性能更好的模型,因此,更重视召回率的F2指标与F1等指标相比,就成了更好的衡量模型性能的指标。
WoodYOLO的训练及性能
WoodYOLO的训练数据包括767张木材切片的显微图像,其中含有11万多个标注过的导管分子。
木材切片的显微图像可能会达到54000 x 31000的分辨率。在WoodYOLO的训练中,研究人员缩小了图像,用以提高训练效率,并降低内存使用。采用不同分辨率的图像进行训练的实验表明,当采用2048 x 2048分辨率时,所取得的F2指标相对更好。这表明使用原始的、高分辨率的图像没有必要;分割原始的、高分辨率的图像也没有必要。
使用2048 x 2048分辨率的图像进行训练时,仅需要消费级的硬件及8GB显存。使用6144 x 6144分辨率的图像进行训练时,仅需要一张A100显卡和40GB显存。
训练后的WoodYOLO与训练后的通用YOLO相比,检测木材导管分子的效果确实有了提升。以下是有关的测试结果,其中,最后一行是WoodYOLO的数值。
参考文献
[1] 有一种职业,叫木材侦探. https://baijiahao.baidu.com/s?id=1727899456360794665
[2] Automating Wood Species Detection and Classification in Microscopic Images of Fibrous Materials with Deep Learning. https://arxiv.org/abs/2307.09588
论文许可协议:CC BY. https://creativecommons.org/licenses/by/4.0/
[3] WoodYOLO: A Novel Object Detector for Wood Species Detection in Microscopic Images. https://arxiv.org/abs/2411.11738
论文许可协议:CC BY. https://creativecommons.org/licenses/by/4.0/