2023.4.7 机器学习周报

目录

引言

Abstract

文献阅读

1、题目

2、引言

3、过去方案和Motivation

4、Segment Anything模型

5、创新点

6、实验过程

7、实验结果

1、评价绩效

 2、检测评价

3、跟踪评价

8、 结论

总结

引言

本周阅读了一篇关于高效的任意分割模型的文献,用于自动提取畜牧监测中的掩膜区域。通过结合Segment Anything Model (SAM)、Grounded SAM、Grounding Dino、YOLOv8和DeepOCSort算法进行检测和跟踪,实现了黑色牛的自动提取掩膜区域,并改进了畜牧监测的效果。

Abstract

This week, I read a literature on efficient arbitrary segmentation models for automatically extracting mask regions in livestock monitoring. By combining Segment Anything Model (SAM), Grounded SAM, Grounded Dino, YOLOv8, and DeepOCSort algorithms for detection and tracking, automatic extraction of mask regions for black cattle was achieved, and the effectiveness of livestock monitoring was improved.

文献阅读

1、题目

Efficient Segment-Anything Model for Automatic Mask Region Extraction in Livestock Monitoring

2、引言

本文提出了一种有效的分割模型,用于牲畜跟踪中掩模区域的自动提取。研究的重点是开发和评估用于跟踪黑牛的自动掩模分割模型。主要贡献是一个量身定制的提取分割模型,用于自动提取牛面具区域,利用牲畜跟踪。该方法利用Segment Anything Model(SAM)、Grounded SAM、Grounding Dino、YOLOv8和DeepOCSort算法进行检测和跟踪。实验结果表明,该方法在提取黑牛面具区域和提高牲畜跟踪的有效性。YOLOv8和DeepOCSort的集成确保了跨帧的掩模区域的准确关联和跟踪。这些发现推进了牲畜跟踪,并应用于精准农业。该模型为前景背景分离中掩模区域的自动提取提供了一种有效的工具。

3、过去方案和Motivation

  • 过去方案:传统的图像处理技术和手动标注方法在复杂场景下的效果有限,而现有的模型和数据集也无法准确地处理黑色牛的特征。
  • 论文的Motivation: 鉴于以上问题,本研究旨在结合生成式人工智能模型和先进的检测和跟踪算法,开发一种针对黑色牛的自动分割方法,以提高畜牧监测的准确性和效率。

4、Segment Anything模型

可提示的分割任务和在真实世界使用的目标对模型架构施加了约束。特别是,模型必须支持灵活的提示,需要以平摊实时计算掩模以允许交互使用,并且必须具有模糊性。我们发现一个简单的设计满足所有三个约束条件:一个强大的图像编码器计算图像嵌入,一个提示编码器嵌入提示,然后将两个信息源组合在一个轻量级掩码解码器中来预测分割掩码。将此模型称为Segment Anything,或SAM(如下图所示)。

SAM有三个组件,如上图所示:图像encoder、灵活的提示encoder和快速掩码decoder。建立在Vision Transformer上,对实时性能进行特定的权衡。

1. 图像编码器

基于可扩展和强大的预训练方法,我们使用MAE预训练的ViT,最小限度地适用于处理高分辨率输入。图像编码器对每张图像运行一次,在提示模型之前进行应用。

2. 提示编码器

考虑两组prompt:稀疏(点、框、文本)和密集(掩码)。通过位置编码来表示点和框,并将对每个提示类型的学习嵌入自由形式的文本CLIP中的现成文本编码相加。密集的提示(即掩码)使用卷积进行嵌入,并通过图像嵌入进行元素求和。

3. 掩码解码器

掩码解码器有效地将图像嵌入、提示嵌入和输出token映射到掩码。该设计的灵感来自于DETR,采用了对(带有动态掩模预测头的)Transformer decoder模块的修改。

为了实现自动分割,遵循一步一步的方法。首先,策划了一系列多样化的牛图像,包括各种姿势和一天中的不同时间,包括白天和夜间场景。接下来,使用SAM模型分割每个单独的图像,如下图使用SAM模型的自动注释流程所示。

为了便于与后续训练过程兼容,将这些掩码转换为JSON格式,该格式广泛用于训练对象检测和分割模型,如下图所示。

这种格式可以简化注释,从而实现与YOLOv8模型的无缝集成。通过定制数据集,可以专门为准确和高效的牛分割而量身定制。通过这个自动分割模型,目标是减轻与手动注释和传统的图像处理技术的挑战。

5、创新点

  • 本研究通过引入一种新的方法来追踪黑色牛的方法,为黑色牛追踪提供了强大而准确的跟踪能力。
  • 通过结合SAM模型和YOLOv8与Deep OCSORT模型的综合能力,有效地融合了运动和外观信息,从而实现了显著的多目标跟踪效果。
  • 该方法在复杂的牛场场景中的应用表明其在实际牛类监测中的潜力,为牲畜管理和相关应用提供了有价值的解决方案

6、实验过程

在训练YOLOv8分割模型时,数据集划分为80%的训练数据和20%的验证数据。训练过程中使用了2500张图像,包含40000个实例,使用批量大小为8进行训练。模型使用随机梯度下降(SGD)进行优化,动量为0.937,并使用yolov8x-seg权重文件进行初始化。模型的训练持续时间为46分钟74秒。在验证阶段,YOLOv8分割模型每张图像的处理速度为0.2毫秒,表明其适用于牲畜跟踪任务的实时应用。此外,还将HSV颜色模型、平移、缩放和应用马赛克效果等增强技术整合到训练过程中,以提高模型处理对象外观、大小和方向变化的能力。

7、实验结果

1、评价绩效

为了评估所提出的自动分割模型的性能,对不同的黑牛图像数据集进行了广泛的实验。评估的重点是比较融合的结果,接地SAM模型,和SAM的唯一模型的自动检测和分割牛对象的能力。总体流程图如下图所示。

首先,分析了融合模型的结果。融合模型结合了多个分割模型(包括SAM模型)的输出,以提高整体分割精度。

接下来,检查了接地SAM模型的性能。这个模型利用了Grounding Dino模型,它只需要类的文本输入就可以有效地运行。

相比之下,仅SAM模型在分割性能方面表现出限制。尽管SAM模型最初检测并分割了大量的牛对象,但在某些情况下,它在帧中遗漏了一些对象。因此,需要对剩余实例进行手动重新注释以获得令人满意的分割结果。这意味着仅仅依靠SAM模型可能不足以进行准确和全面的牛分割。

需要注意的是,通过手动重新注释任何剩余的实例,仍然可以有效地使用SAM only模型,尽管需要额外的工作和时间。总体而言,融合方法和扎根SAM模型为解决牛分割挑战做出了宝贵贡献,最终提高了牲畜管理实践和农业技术。比较结果如下图所示。

 2、检测评价

从各种YOLOv 8检测模型中获得的结果,每个模型都设计了特定的配置,以解决不同方面的性能问题。这些模型的评估包括三个关键指标:精度、在0.5至0.95的交集/并集(IOU)范围内计算的平均精度(mAP)和推理时间。提供这些指标的全面比较,揭示了每个YOLOv 8模型的优势和局限性如下表所示。

其中精度Precision和平均精度maP公式如下:

3、跟踪评价

在研究中,采用了多目标跟踪精度(MOTA)指标来彻底评估我们的跟踪方法在黑牛数据集上的有效性。

如下表所示,通过这个指标,对关键参数进行了定量分析,包括定位精度、身份转换、假阳性和假阴性。使用MOTA确保了标准化的评估,促进了与其他尖端方法的有意义的比较,并为算法在黑牛数据集上的性能提供了有价值的见解。MOTA能够测量三种类型的跟踪错误-假阳性(FP)、假阴性(FN)和ID开关(IDSW)-进一步丰富了评估,能够衡量跟踪解决方案的准确性和稳健性,从而为现代农业实践中牲畜监测和管理技术的进步做出贡献。

8、 结论

实验结果表明,所提出的方法在提取黑色牛口罩区域和改进整体牲畜监测过程方面具有潜力和效率。实验评估重点比较了融合结果、基于Grounding Dino模型的Grounded SAM模型和仅基于SAM模型的能力来自动检测和分割牛对象。融合模型将多个分割模型的输出结合起来,表现出优越的性能,成功检测和分割了更多的牛对象。基于Grounding Dino模型的Grounded SAM模型也表现出良好的性能,能够准确地检测和分割牛对象,无需额外的修改。另一方面,仅基于SAM模型的分割性能有限,需要对一些实例进行手动重新注释才能获得令人满意的结果。总体而言,融合结果和基于Grounding Dino模型的Grounded SAM模型在自动牛检测和分割方面优于仅基于SAM模型。这些模型为高效准确地分割黑色牛提供了有希望的解决方案,推动了牲畜跟踪和相关应用的发展。

总结

本周在阅读论文的同时,还对SAM分割模型进行了进行了学习,之后会在此基础上深入学习和对代码的复现。

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-02 19:42:01       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-02 19:42:01       5 阅读
  3. 在Django里面运行非项目文件

    2024-04-02 19:42:01       4 阅读
  4. Python语言-面向对象

    2024-04-02 19:42:01       6 阅读

热门阅读

  1. rust并行计算库Rayon

    2024-04-02 19:42:01       23 阅读
  2. 小波包变换(WPT)和OMP实现压缩感知

    2024-04-02 19:42:01       18 阅读
  3. k8s是什么

    2024-04-02 19:42:01       19 阅读
  4. vue获取上个月今天

    2024-04-02 19:42:01       19 阅读
  5. 数据库的介绍、分类、作用和特点

    2024-04-02 19:42:01       22 阅读
  6. 手写SpringBoot(五)之整合AOP

    2024-04-02 19:42:01       22 阅读
  7. [NOIP2005 普及组] 采药

    2024-04-02 19:42:01       25 阅读