用VLM训练实时计算机视觉模型

经过数十亿个参数训练的 AI 模型非常强大,但并不总是适合实时使用。但是,它们可以通过自动监督快速专用模型的标注来减少人力投入。

如果你曾经构建过计算机视觉模型,就就会知道监督需要大量工作——人类花时间(数小时或数天)绘制边界框并添加标签来注释训练图像。最终结果是快速的机器学习模型,可用于实时检测和自动化。

但是,随着收集更多数据,人工参与的要求不仅会减慢模型的初始训练速度,还会减慢模型的任何迭代微调或改进速度。

NSDT工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 - REVIT导出3D模型插件 - 3D模型语义搜索引擎 - Three.js虚拟轴心开发包 - 3D模型在线减面 - STL模型在线切割 

1、VLM 的兴起

在过去的一年里,我们看到了多模态 LLM(有时称为 VLM 或视觉语言模型)AI 模型的兴起,这些模型已经经过数十亿个参数的训练,并且能够以复杂的方式查看图像。

虽然传统的计算机视觉模型通常经过训练以识别“人”或“狗”等基类,但 VLM 可以利用其语言能力来特异性地识别“戴眼镜的人”或“毛茸茸的棕色狗”等事物,而无需额外训练。

但是,无论是使用 ChatGPT 等非常大的云 VLM,还是使用 Moondream 等更紧凑但功能更强大的本地 LLM,这些推理都需要几秒钟的时间,因此对于许多实时场景来说通常太慢了。

如果 VLM 目前“足够聪明”以执行复杂的视觉推理,但对于实时任务来说太慢,它们可以在其他方面提供帮助吗?我们现在看到答案是肯定的。这些速度较慢但功能更强大的模型可用于在监督标注任务中取代人类。

2、“两阶段”自动标记方法

零样本模型(如 Grounding DINO 和 Segment Anything)已被 autodistill 等项目所利用,因为它们可以识别许多常见类别进行标注,尽管它们本身相当慢。这使得创建快速自定义计算机视觉模型成为可能,而无需人工监督。然而,这些模型有一个权衡:虽然它们可以识别许多简单类别,但它们没有完整 VLM 执行完整上下文推理的能力。

假设我们想使用计算机视觉向电子标志上戴眼镜的人推销眼镜产品,而人们则在城市街道上行走。我们需要它实时响应,出于隐私原因,我们不能将图像发送到云端进行推理;它需要在设备上进行。因此,我们将训练一个快速的本地模型来区分戴眼镜的人和不戴眼镜的人。

将图像的特定区域与相应的短语关联起来,例如“人”和“眼镜”

使用像 Grounding DINO 这样的基础模型可以让我们实现部分目标:它使用一种称为短语基准(phrase grounding)的方法,该方法涉及将图像的特定区域与文本描述中的相应短语关联起来——这增加了计算负荷,使模型相对较慢。当被要求识别“戴眼镜的人”时,它正确地识别了“人”和“眼镜”。

我们可以考虑做一些计算来确定“眼镜”是否在与“人”相同的区域内被检测到,但这可能会变得复杂;特别是如果我们试图确定某人是否在脸上戴着眼镜(而不是在头顶脖子上戴眼镜)。

使用 VLM 作为短语基准模型之外的“第二阶段”可以更准确地确定一个人是否戴眼镜

相反,我们可以利用 VLM 作为“第二阶段”,因为它可以更准确地确定 Grounding Dino 检测到的“人”是否确实戴了眼镜。

如果我们的基准模型和 VLM 都确认有人戴眼镜,则可以使用此信息自动将带标注的图像添加到我们的数据集中。一旦我们为“戴眼镜的人”和“不戴眼镜的人”收集了足够的带标注的图像,人类就可以选择查看带标注的数据,然后就可以训练模型了。

基准模型与 VLM 结合使用的两阶段过程

许多可用的模型都是开源的,你可以构建自己的收集和训练管道,使用它们和你选择的编程语言尝试基于 VLM 的自动标注。还有像 Viam 这样的平台提供数据和 ML 解决方案来简化此过程。

例如,Viam 能够让你无需编码即可设置数据收集和过滤到基于云的数据集中,并且还提供云内模型训练功能。 Grounding Dino、ChatGPT 和 Moondream 等模型可以配置为服务,而名为“自动标签过滤器”的服务利用所选模型以上述“两个阶段”进行监督。 Roboflow 是另一个提供自动标签产品的平台,该产品使用基础模型来创建标注。

无论你选择如何实施这些技术,结果都将是一个完全自动化的训练管道,可大大减少你在机器学习训练任务上花费的时间。如果想立即开始,请查看这个包含所有必需功能的存储库 - 只需单击几下即可在你创建的 Viam 机器上免费使用它。

正确识别“戴眼镜的人”


原文连接:用VLM训练实时CV模型 - BimAnt

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/43376.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自动化测试全攻略:从入门到精通!

1、自动化测试专栏 随着技术的发展和工作需求的增长,自动化测试已成为软件质量保障体系中不可或缺的一环。 为了帮助广大测试工程师、开发者和对自动化测试感兴趣的读者们更好地掌握这一技能,今年特别推出了全新的《自动化测试全攻略:从入门…

scratch绘制四个三角形 2024年6月中国电子学会 图形化编程 scratch编程等级考试二级真题和答案解析

scratch绘制四个三角形 一、题目要求 2024年6月电子学会图形化编程Scratch等级考试二级真题 1、准备工作 1.保留默认角色小猫; 2.添加背景Stars。 2、功能实现 1 .隐藏角色小猫,设置画笔裙始位置为(0,0),画笔颜色为黄色,画笔的粗细为5…

Scala Trait(特征)

Scala Trait(特征) Scala中的Trait是一种特殊的概念,它类似于Java中的接口,但提供了更多的功能。Trait允许我们定义一组方法,这些方法可以被子类实现,同时还可以包含方法的实现。这使得Trait既具有接口的灵活性,又具有抽象类的实用性。在本文中,我们将深入探讨Scala Tra…

NET Core 中的空对象设计模式

介绍 一种称为“空对象模式”的行为设计模式提供了一个对象来表示接口缺少的对象。在空对象会导致空引用异常的情况下,这是一种提供替代行为的方法。在本文中,我们将深入探讨 C# 空对象模式,并逐步解决更复杂的情况。 空对象设计模式它是什…

k8s离线部署芋道源码前端

目录 概述 编译Dockerfile 构建Dockerfilenginx.conf构建 k8s部署前端镜像部署ingress 概述 本篇将对 k8s离线部署芋道源码前端 进行详细的说明,对如何构建 Dockerfile,如何整合 Nginx,如何整合 ingress 进行实践。 相关文章:naco…

python 进阶教程--PIL图像处理

PIL图像处理 1. Pillow库简介2. 图像处理基础3. 图像操作4. 图像增强5. 图像处理进阶6. 图像绘制7. 图像序列和动画8. 图像识别和特征提取9. 实战项目10. 常见问题解答 1. Pillow库简介 PIL与Pillow的关系 PIL(Python Imaging Library)是一个提供图像处…

【云原生之kubernetes实战】在k8s环境下部署OrangeHRM人力资源管理系统

【云原生之kubernetes实战】在k8s环境下部署OrangeHRM人力资源管理系统 一、OrangeHRM介绍1.1 OrangeHRM 简介1.2 OrangeHRM特点1.3 OrangeHRM使用场景二、相关知识介绍2.1 本次实践存储介绍2.2 k8s存储介绍三、本次实践介绍3.1 本次实践简介3.2 本次环境规划3.3 部署前需准备工…

bash终端快捷键

快捷键作用ShiftCtrlC复制ShiftCtrlV粘贴CtrlAltT新建终端ShiftPgUp/PgDn终端上下翻页滚动CtrlC终止命令CtrlD关闭终端CtrlA光标移动到最开始为止CtrlE光标移动到最末尾CtrlK删除此处到末尾的所有内容CtrlU删除此处至开始的所有内容CtrlD删除当前字符CtrlH删除当前字符的前一个…

Perl 语言开发(十):正则表达式,掌握强大文本处理的利器

目录 1. 正则表达式概述 2. 基础正则表达式语法 2.1 字符和字符类 2.2 预定义字符类 2.3 量词 2.4 分组和捕获 2.5 反向引用 3. Perl 中的正则表达式操作 3.1 匹配操作 3.2 替换操作 3.3 分割操作 4. 正则表达式的高级特性 4.1 非捕获分组 4.2 前瞻和后顾 4.3 负…

Hugging face Transformers(4)—— Model

Hugging Face 是一家在 NLP 和 AI 领域具有重要影响力的科技公司,他们的开源工具和社区建设为NLP研究和开发提供了强大的支持。它们拥有当前最活跃、最受关注、影响力最大的 NLP 社区,最新最强的 NLP 模型大多在这里发布和开源。该社区也提供了丰富的教程…

【Bug优化】支付宝支付中“交易订单处理失败,请稍后再试”问题

引言 近期,一位友友问:他在集成支付宝支付功能时遇到了一个棘手的问题,当用户在支付过程中选择放弃支付,尝试重新支付同一订单时,前端会显示“交易订单处理失败,请稍后再试”。 这个问题的核心在于支…

文章SameStr(一):图1代码

“Publication Figure 1” 百度云盘链接: https://pan.baidu.com/s/15g7caZp354zIWktpnWzWhQ 提取码: 4sh7 Libraries Standard Import library(tidyverse) library(cowplot) library(scales) library(ggpubr)Special # devtools::install_github("pmartinezarbizu/…

linux 代理export

export http_proxyhttp://10.67.11.138:7890 export https_proxyhttp://10.67.11.138:7890

大/小端模式与位操作

文章目录 1. 大小端模式 2. 大端模式(Big-endian) 3. 小端模式(Little Endian) 4. 判断和转换大小端模式 5. 位操作 5.1 移位操作 5.2 取反操作 5.3 位与操作 5.4 位或操作 5.5 置位操作 5.6 清位操作 1. 大小端模式 …

大数据学习之 scala基础(补充)

scala基础: hello world: 写scala可运行文件的注意事项1、如果一个scala文件要运行,class要改成object2、如果是class,就仅单纯代表一个类,如果是object代表的是单例对象3、scala语法中,一句话结束不需要加分号4、sca…

Spring的AOP基础以及AOP的核心概念

2. AOP基础 学习完spring的事务管理之后,接下来我们进入到AOP的学习。 AOP也是spring框架的第二大核心,我们先来学习AOP的基础。 在AOP基础这个阶段,我们首先介绍一下什么是AOP,再通过一个快速入门程序,让大家快速体…

Ubuntu配置GitHub(第一次clone/push)

文章目录 1. 安装Git&检查连接2. 注册GitHub3. 生成&GitHub添加SSH3.1. 检查&删除已有id_rsa3.2. 生成SSH3.3. GitHub添加id_rsa.pub SSH3.4. 检查SSH 4. 继续开发可以参考参考 1. 安装Git&检查连接 安装 sudo apt-get install git检查SSH连接 ssh -T gitgi…

【工具分享】零零信安攻击面管理平台

文章目录 00SEC-ASM™功能介绍功能演示 最近闲来无事,到处网上冲浪,无意间发现了长亭云图攻击面管理平台,无奈需要授权才能使用,于是就找到了平替:零零信安攻击面管理平台。 长亭云图攻击面管理平台:https:…

vue2封装向上滚动组件

目录 1.代码2.使用 1.代码 <template><div class"marquee-wrap" :style"{height: height px}"><ul class"marquee-list":style"animateUpStyle"v-on:mouseover"myMouseover"v-on:mouseout"myMouseout…

工厂方法模式在金融业务中的应用及其框架实现

引言 工厂方法模式&#xff08;Factory Method Pattern&#xff09;是一种创建型设计模式&#xff0c;它定义了一个创建对象的接口&#xff0c;但由子类决定实例化哪一个类。工厂方法模式使得类的实例化延迟到子类。在金融业务中&#xff0c;工厂方法模式可以用于创建不同类型…