一种基于Labelimg 的辅助标注方法

2023-10-18 13:32王景鑫
科技创新与应用 2023年29期
关键词:对象样本图像

王景鑫,潘 欣*

(1.吉林化工学院信息与控制工程学院,吉林 吉林 132000;2.长春工程学院计算机技术与工程学院,长春 130012)

自2016 年YOLO 神经网络被提出后,因其具有识别速度快、网络结构简单等优点迅速火遍了整个计算机视觉领域。目前YOLO 的应用范围十分广泛,大到国防军事,小到家庭门禁,可以说只要是有目标检测的地方就有YOLO。而YOLO 能否应用于某一实际问题上的决定性因素便是其网络模型,而网络模型又是需要该领域大量的样本数据进行样本训练得到。虽然YOLO 作者在每一代YOLO 发布之后都会给出几个相对应的预训练模型,这种预训练模型的识别目标类别非常多,因此,使用这种预训练模型应用于实际问题并不具有针对性。而开源的一些样本数据集像COCO 数据集、OpenImages 样本集,大部分包含的目标对象也是上百种并没有针对某一领域的样本数据集。因此,最好的解决方式即为通过拍摄某一领域内的样本数据自行制作样本数据集,用于该领域网络模型的训练,通过这种方式训练得到的网络模型应用于此领域的识别效果更佳,例如自制的苹果花样本集[1]、生姜样本集[2]、甘蔗样本集[3]、番茄样本集[4]和茶叶样本集[5]可以分别在苹果区分工作、姜芽和生姜的识别研究、甘蔗茎节的识别研究、番茄识别和茶叶嫩芽的识别工作上训练具有针对性的网络模型,且检测效果极佳。因此,如需在特定领域发挥YOLO 的目标识别能力就必须使用含有该区域的特定目标类别的数据进行训练。

1 方法描述

1.1 传统样本数据集的制作过程

YOLO 神经网络的训练样本数据集格式为yolo 格式,该格式的文件结构的层级结构如图1 所示。

图1 YOLO 样本集结构图

如图1 所示,YOLO 样本集包括2 部分。

1)图像集部分:在图像集文件夹中存放YOLO 样本集的图像样本,这些图像样本又被分为训练图像样本和验证图像样本。

2)标签集部分:在标签集文件夹中存放YOLO 样本集的标签样本,这些标签样本又被分为训练标签样本和验证标签样本。这些标签样本文件存储格式为txt 格式,内容包含5 个数据,分别为

对于该类型描述文件,目前领域内经常使用图像标注工具(labelimg)或近似的软件工具进行标记。如图2 所示。

图2 人工标记图

如图2(a)所示,可以利用labelimg 工具快捷地进行人工对象标记。然而,在进行人工标记的时候不同人、同一人的不同时间所标记的内容可能存在细微差别,如图2(b)所示。

标记框边界的差距:图中标记对象为一棵树,在图2(b)中①处的标记框紧紧贴合标记对象,②处的标记框边界和标记对象之间还留有大片背景。

标记框尺寸的差距:在图2(b)中③处的标记框长度比④处的标记框长度短。

总结,在采用人工对样本集进行标注时,即使是同一人对同一图像进行标记,所生成的标注框也是有所差别的。

针对模型的评价指标包括交并比(IoU)、精确率(Precision)、召回率(Recall)等。其中,IoU(Intersection over Union)[6]是计算目标检测算法中对象预测框的精度,是目标检测的预测框和真实框之间的重叠面积与这两框面积之和的比值。公式如下

式中:Ao是真实框与预测框的交集(Area of Overlap),表示的是预测框与真实框的交集;Au是预测框与真实框的并集(Area of Union),表示的是预测框与真实框的并集。经过多次迭代,目前IoU 指标已经更新为CIoU[7],该损失函数即为YOLOv5 中使用的损失函数,其公式为

式中:αv为长宽比;w、h和wgt、hgt分别表示预测框的高宽和标注框的高宽。

从以上目标检测技术的评估指标来看,无论IoU如何更新迭代,其评价标准都与真实框有关,真实框是否理想决定了评估指标的精度,从而影响整个训练模型的精准程度,但是想要人工标注几千张样本集并保证标记框与理想的真实框完全符合,无论从数量上还是在质量上都难以达到要求。因此,本文引入了基于SAM 辅助标记的方法来解决这个问题。

1.2 SAM 模型的原理

分割一切图像模型(Segment Anything Model,SAM)是Alexander Kirillov 等在2023 年提出的一种基于深度学习的端到端图像分割模型。在SAM 模型的设计中,Alexander Kirillov 等提到SAM 模型设计满足了3 个约束条件:一个能力强大的图片编码器(encoder)用来计算图片嵌入,一个提示(prompt)编码器用来嵌入提示,然后将这2 种信息源组合在一个轻量级的解码器(decoder)用来预测分割掩码(segmentation masks)。如图3 所示。

图3 SAM 网络结构图

如图3 所示,SAM 模型包括以下3 个关键的组成部分。

1)图片编码器。该部分的主要功能是在可扩展性和强大的预训练模型的激励下,使用MAE 预训练的视觉转换器(Vision Transformer,ViT),可以最小化地处理高分辨率输入。该图像编码器每运行一次,可以在提示模型之前应用。

2)提示编码器。该部分的主要作用是通过位置编码来表示points 和boxes,并将每一个提示类型的学习嵌入和自由形式的text 与CLIP 中的现成文本编码相加。dense 的提示使用卷积进行嵌入,并通过图像嵌入对元素进行求和。

3)掩码解码器。该部分的主要作用是将图片嵌入。提示嵌入和输出标记(token)映射到掩码(mask)上,使用自注意力机制(self-attention) 和跨注意力机制(cross-attention)在提示图片(prompt-to-image)和反之亦然(vice-versa)2 个方向上更新所有的嵌入。

1.3 自动化可交互对象样本标记方法描述

如何将不规则的mask 转换成为规则的标注框是本文的难点之一。设计由mask 转换标注框思路如图4所示。

图4 mask 转变标注框思路图

图4 为使用SAM 模型分割的一棵植被,假设以横坐标轴为X轴,纵坐标轴为Y轴,原点(0,0)建立坐标系,根据SAM 分割的mask,取最上边界点为(x1,y1),最下边界点为(x3,y3),最左边界点为(x2,y2),最右侧边界点为(x4,y4)。那么标注框的x、y、w、h就可以表示为

式中:(x,y)表示标注框的中心点坐标;w为标注框的宽;h为标注框的高,这样得到的标注框可以非常贴合对象目标,是理想的标注框。在经典的标注工具中,比如在labelimg 工具中,标注框的信息是通过标注框计算得来,这里使用逆反思维,通过x、y、w、h确定标注框的大小和位置。这说明引进无监督自动分割辅助进行标记是十分可能的。

在图5 中,将含有目标对象的图像首先经过SAM模型,这里得到的是图像中所有对象的mask 图,通过鼠标点击的方式选取目标对象的mask,通过计算获得标注框的x、y、w、h4 个标注信息,利用标注信息在原图像中画出标注框,再根据对象目标的类别确定标注框的文本信息。

图5 SAM 人工标记结构图

1.4 本文标注方法与传统标注方法对比

利用SAM 模型标注方法与传统的人工方法作对比,本章中使用的人工标注工具为labelimg 标注工具,选取的被标注图片中被标注目标为一棵植物,因其形状不规则更能检验标注的效果。效果对比如图6 所示。

图6 标注效果对比图

图6 (a)为使用labelimg 工具人工标注的标注框,图6(b)为SAM 模型辅助标注的标注框,对比可以看出图6(b)框贴合目标对象的边缘区域,而图6(a)框中存在着一些背景,目标对象的一小部分也没有框选在内。总体上,SAM 模型辅助标注的效果更好。

通过使用这2 种标注方法制作样本数据集进行训练,观察其模型识别性能,如图7 所示。

图7 检测结果对比图

为了更好地检测效果,选取了将目标堆叠的图片,观察模型是否能检测到被遮挡的目标。首先在检测数量上进行对比。图7(a)的检测数量为17 个,其中检测到被遮挡的目标数量为4 个。图7(b)的检测数量为15个,其中检测到被遮挡的目标数量为2 个。通过对比可以看出,由SAM 辅助标注方法制作的样本数据集训练得到的模型性能强于传统labelimg 标注方法制作的样本数据集训练得到的模型性能。

2 结束语

在使用YOLO 神经网络进行个性化目标识别时,通常需要自行制作相应的样本数据集用于模型训练,而传统制作样本数据集的方法繁琐且训练得到的模型效果一般。因此,本文提出了一个基于Labelimg 的SAM 辅助标注方法,将SAM 模型应用在Labelimg 图像标注工具中,使得样本数据只通过点击即可完成制作,使用该方法生成的标注框与目标的真实框的重叠度也得到了提升。通过实验证明,使用该方法制作的样本数据集训练得到的识别模型在识别数量和识别能力上都有所提升。

猜你喜欢
对象样本图像
神秘来电
改进的LapSRN遥感图像超分辨重建
用样本估计总体复习点拨
有趣的图像诗
推动医改的“直销样本”
攻略对象的心思好难猜
随机微分方程的样本Lyapunov二次型估计
基于熵的快速扫描法的FNEA初始对象的生成方法
村企共赢的样本
区间对象族的可镇定性分析