当前位置: 首页 > 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…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​&#xff0c;覆盖应用全生命周期测试需求&#xff0c;主要提供五大核心能力&#xff1a; ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

质量体系的重要

质量体系是为确保产品、服务或过程质量满足规定要求&#xff0c;由相互关联的要素构成的有机整体。其核心内容可归纳为以下五个方面&#xff1a; &#x1f3db;️ 一、组织架构与职责 质量体系明确组织内各部门、岗位的职责与权限&#xff0c;形成层级清晰的管理网络&#xf…...

【论文笔记】若干矿井粉尘检测算法概述

总的来说&#xff0c;传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度&#xff0c;通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...

Keil 中设置 STM32 Flash 和 RAM 地址详解

文章目录 Keil 中设置 STM32 Flash 和 RAM 地址详解一、Flash 和 RAM 配置界面(Target 选项卡)1. IROM1(用于配置 Flash)2. IRAM1(用于配置 RAM)二、链接器设置界面(Linker 选项卡)1. 勾选“Use Memory Layout from Target Dialog”2. 查看链接器参数(如果没有勾选上面…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...

es6+和css3新增的特性有哪些

一&#xff1a;ECMAScript 新特性&#xff08;ES6&#xff09; ES6 (2015) - 革命性更新 1&#xff0c;记住的方法&#xff0c;从一个方法里面用到了哪些技术 1&#xff0c;let /const块级作用域声明2&#xff0c;**默认参数**&#xff1a;函数参数可以设置默认值。3&#x…...

jdbc查询mysql数据库时,出现id顺序错误的情况

我在repository中的查询语句如下所示&#xff0c;即传入一个List<intager>的数据&#xff0c;返回这些id的问题列表。但是由于数据库查询时ID列表的顺序与预期不一致&#xff0c;会导致返回的id是从小到大排列的&#xff0c;但我不希望这样。 Query("SELECT NEW com…...

aardio 自动识别验证码输入

技术尝试 上周在发学习日志时有网友提议“在网页上识别验证码”&#xff0c;于是尝试整合图像识别与网页自动化技术&#xff0c;完成了这套模拟登录流程。核心思路是&#xff1a;截图验证码→OCR识别→自动填充表单→提交并验证结果。 代码在这里 import soImage; import we…...

从零手写Java版本的LSM Tree (一):LSM Tree 概述

&#x1f525; 推荐一个高质量的Java LSM Tree开源项目&#xff01; https://github.com/brianxiadong/java-lsm-tree java-lsm-tree 是一个从零实现的Log-Structured Merge Tree&#xff0c;专为高并发写入场景设计。 核心亮点&#xff1a; ⚡ 极致性能&#xff1a;写入速度超…...