当前位置: 首页 > news >正文

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分割模型进行了进行了学习,之后会在此基础上深入学习和对代码的复现。

相关文章:

2023.4.7 机器学习周报

目录 引言 Abstract 文献阅读 1、题目 2、引言 3、过去方案和Motivation 4、Segment Anything模型 5、创新点 6、实验过程 7、实验结果 1、评价绩效 2、检测评价 3、跟踪评价 8、 结论 总结 引言 本周阅读了一篇关于高效的任意分割模型的文献,用于自…...

如何将平板或手机作为电脑的外接显示器?

先上官网链接:ExtensoDesk 家里有一台华为平板,自从买回来以后除了看视频外,基本没什么作用,于是想着将其作为我电脑的第二个屏幕,提高我学习办公的效率,废物再次利用。最近了解到华为和小米生态有多屏协同…...

Tuxera NTFS for Mac2023绿色免费版 免费的ntfs for mac 免费读写硬盘U盘工具

Tuxera NTFS 2023 Mac免费版是款适合Mac用户使用的磁盘读写工具。Tuxera NTFS 2023 Mac可以很好的帮助用户在Mac上打开、编辑、复制、移动或删除存储在Windows NTFS格式的USB驱动器上的文件。并且Tuxera NTFS 2023 Mac还可以无阻碍地使用各种文件系统磁盘,还能解决磁…...

使用阿里云试用Elasticsearch学习:3.6 处理人类语言——同义词

词干提取是通过简化他们的词根形式来扩大搜索的范围,同义词 通过相关的观念和概念来扩大搜索范围。 也许没有文档匹配查询 “英国女王“ ,但是包含 “英国君主” 的文档可能会被认为是很好的匹配。 用户搜索 “美国” 并且期望找到包含 美利坚合众国 、…...

018——红外遥控模块驱动开发(基于HS0038和I.MX6uLL)

目录 一、 模块介绍 1.1 简介 1.2 协议 二、 驱动代码 三、 应用代码 四、 实验 五、 程序优化 一、 模块介绍 1.1 简介 红外遥控被广泛应用于家用电器、工业控制和智能仪器系统中,像我们熟知的有电视机盒子遥控器、空调遥控器。红外遥控器系统分为发送端和…...

【学习心得】Python中的queue模块使用

一、Queue模块的知识点思维导图 二、Queue模块常用函数介绍 queue模块是内置的,不需要安装直接导入就可以了。 (1)创建一个Queue对象 import queue# 创建一个队列实例 q queue.Queue(maxsize20) # 可选参数,默认为无限大&am…...

ubuntu-server部署hive-part4-部署hive

参照 https://blog.csdn.net/qq_41946216/article/details/134345137 操作系统版本:ubuntu-server-22.04.3 虚拟机:virtualbox7.0 部署hive 下载上传 下载地址 http://archive.apache.org/dist/hive/ apache-hive-3.1.3-bin.tar.gz 以root用户上传至…...

贪心算法|135.分发糖果

力扣题目链接 class Solution { public:int candy(vector<int>& ratings) {vector<int> candyVec(ratings.size(), 1);// 从前向后for (int i 1; i < ratings.size(); i) {if (ratings[i] > ratings[i - 1]) candyVec[i] candyVec[i - 1] 1;}// 从后…...

c# wpf template itemtemplate+ListBox

1.概要 2.代码 <Window x:Class"WpfApp2.Window7"xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:d"http://schemas.microsoft.com/expression/blend/…...

关于JVM-三色标记算法剖析

相关系列 深入理解JVM垃圾收集器-CSDN博客 深入理解JVM垃圾收集算法-CSDN博客 深入理解jvm执行引擎-CSDN博客 jvm优化原则-CSDN博客 jvm流程图-CSDN博客 三色标记产生的原因&#xff1f; 在并发标记的过程中&#xff0c;因为标记期间应用线程还在继续跑&#xff0c;对象间的引…...

怎么看有没有装python

windows系统&#xff0c;运行——cmd&#xff0c;进入dos窗口&#xff0c;输入python&#xff0c;安装成功的话可以看到版本信息并进入编程模式。 如下图&#xff08;我安装的版本是python 3.5.1&#xff09;&#xff1a;...

VS CODE环境安装和hello world

SAP UI5 demo walkthrough tutorial step1 hello word 首先要安装nodejs&#xff0c;然后才能执行下面的操作 nodejs vscode 安装ui5 npm install --global ui5/cli报错解决: idealTree:npm: sill idealTree buildDeps 这个信息说明npm正在构建&#xff0c;如一直停留在这个…...

mysql性能索引调优易混点总结

文章目录 一、 前言二、explain相关三、索引优化相关联合索引索引下推排序和分组相关优化分页优化表关联优化嵌套循环连接 Nested-Loop Join(NLJ) 算法in和exsits优化 一、 前言 近几年看了很多和mysql相关的书&#xff0c;文章或视频&#xff0c;但仍然有一些点&#xff0c;看…...

区块链与数字身份:探索Facebook的新尝试

在数字化时代&#xff0c;随着区块链技术的崛起&#xff0c;数字身份成为了一个备受关注的话题。作为全球最大的社交媒体平台之一&#xff0c;Facebook一直在探索如何利用区块链技术来改善数字身份管理和用户数据安全。本文将深入探讨Facebook在这一领域的新尝试&#xff0c;探…...

【pycharm】在debug循环时,如何快速debug到指定循环次数

【pycharm】在debug循环时&#xff0c;如何快速debug到指定循环次数 【先赞后看养成习惯】求关注收藏点赞&#x1f600; 在 PyCharm 中&#xff0c;可以使用条件断点来实现在特定循环次数后停止调试。这可以通过在断点处右键单击&#xff0c;然后选择 “Add Breakpoint” -&g…...

【蓝桥杯每日一题】4.8 公约数

题目来源&#xff1a; 4199. 公约数 - AcWing题库 问题描述&#xff1a; ​ 找到最大整数x&#xff0c;需满足下面两个条件 x x x是 a a a, b b b的公约数 l < x < r l<x<r l<x<r 思路&#xff1a; 找到 a a a, b b b两个数的最大公约数 g c g c d (…...

【MySQL学习】MySQL的慢查询日志和错误日志

꒰˃͈꒵˂͈꒱ write in front ꒰˃͈꒵˂͈꒱ ʕ̯•͡˔•̯᷅ʔ大家好&#xff0c;我是xiaoxie.希望你看完之后,有不足之处请多多谅解&#xff0c;让我们一起共同进步૮₍❀ᴗ͈ . ᴗ͈ აxiaoxieʕ̯•͡˔•̯᷅ʔ—CSDN博客 本文由xiaoxieʕ̯•͡˔•̯᷅ʔ 原创 CSDN …...

# C++之functional库用法整理

C之functional库用法整理 注&#xff1a;整理一些突然学到的C知识&#xff0c;随时mark一下 例如&#xff1a;忘记的关键字用法&#xff0c;新关键字&#xff0c;新数据结构 C 的function库用法整理 C之functional库用法整理一、functional库的内建仿函数1. 存储和调用函数2. 存…...

查看MySQL版本的方式

文章目录 一、使用cmd输入命令行查看二、在mysql客户端服务器里查询 一、使用cmd输入命令行查看 1、打开 cmd &#xff0c;输入命令行&#xff1a; mysql --version 2、还是打开cmd&#xff0c;输入命令行&#xff1a;mysql -V (注意了&#xff0c;此时的V是个大写的V) 二、…...

k8s_入门_命令详解

命令详解 kubectl是官方的CLI命令行工具&#xff0c;用于与 apiserver进行通信&#xff0c;将用户在命令行输入的命令&#xff0c;组织并转化为 apiserver能识别的信息&#xff0c;进而实现管理k8s各种资源的一种有效途径 1. 帮助 2. 查看版本信息 3. 查看资源对象等 查看No…...

Appium+python自动化(十六)- ADB命令

简介 Android 调试桥(adb)是多种用途的工具&#xff0c;该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具&#xff0c;其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利&#xff0c;如安装和调试…...

java 实现excel文件转pdf | 无水印 | 无限制

文章目录 目录 文章目录 前言 1.项目远程仓库配置 2.pom文件引入相关依赖 3.代码破解 二、Excel转PDF 1.代码实现 2.Aspose.License.xml 授权文件 总结 前言 java处理excel转pdf一直没找到什么好用的免费jar包工具,自己手写的难度,恐怕高级程序员花费一年的事件,也…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

Java入门学习详细版(一)

大家好&#xff0c;Java 学习是一个系统学习的过程&#xff0c;核心原则就是“理论 实践 坚持”&#xff0c;并且需循序渐进&#xff0c;不可过于着急&#xff0c;本篇文章推出的这份详细入门学习资料将带大家从零基础开始&#xff0c;逐步掌握 Java 的核心概念和编程技能。 …...

多模态大语言模型arxiv论文略读(108)

CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文标题&#xff1a;CROME: Cross-Modal Adapters for Efficient Multimodal LLM ➡️ 论文作者&#xff1a;Sayna Ebrahimi, Sercan O. Arik, Tejas Nama, Tomas Pfister ➡️ 研究机构: Google Cloud AI Re…...

Mysql8 忘记密码重置,以及问题解决

1.使用免密登录 找到配置MySQL文件&#xff0c;我的文件路径是/etc/mysql/my.cnf&#xff0c;有的人的是/etc/mysql/mysql.cnf 在里最后加入 skip-grant-tables重启MySQL服务 service mysql restartShutting down MySQL… SUCCESS! Starting MySQL… SUCCESS! 重启成功 2.登…...

【JVM面试篇】高频八股汇总——类加载和类加载器

目录 1. 讲一下类加载过程&#xff1f; 2. Java创建对象的过程&#xff1f; 3. 对象的生命周期&#xff1f; 4. 类加载器有哪些&#xff1f; 5. 双亲委派模型的作用&#xff08;好处&#xff09;&#xff1f; 6. 讲一下类的加载和双亲委派原则&#xff1f; 7. 双亲委派模…...

Linux nano命令的基本使用

参考资料 GNU nanoを使いこなすnano基础 目录 一. 简介二. 文件打开2.1 普通方式打开文件2.2 只读方式打开文件 三. 文件查看3.1 打开文件时&#xff0c;显示行号3.2 翻页查看 四. 文件编辑4.1 Ctrl K 复制 和 Ctrl U 粘贴4.2 Alt/Esc U 撤回 五. 文件保存与退出5.1 Ctrl …...

基于鸿蒙(HarmonyOS5)的打车小程序

1. 开发环境准备 安装DevEco Studio (鸿蒙官方IDE)配置HarmonyOS SDK申请开发者账号和必要的API密钥 2. 项目结构设计 ├── entry │ ├── src │ │ ├── main │ │ │ ├── ets │ │ │ │ ├── pages │ │ │ │ │ ├── H…...

VisualXML全新升级 | 新增数据库编辑功能

VisualXML是一个功能强大的网络总线设计工具&#xff0c;专注于简化汽车电子系统中复杂的网络数据设计操作。它支持多种主流总线网络格式的数据编辑&#xff08;如DBC、LDF、ARXML、HEX等&#xff09;&#xff0c;并能够基于Excel表格的方式生成和转换多种数据库文件。由此&…...