DataDreamer:让创建自定义数据集轻松无比!还自带标注!

编辑:OAK中国
首发:oakchina.cn
喜欢的话,请多多👍⭐️✍
内容可能会不定期更新,官网内容都是最新的,请查看首发地址链接。

▌前言

Hello,大家好,这里是OAK中国,我是Ashely。

每年都有朋友咨询我们零基础怎么做模型训练?后来发现大家对这方面需求较大,所以我们研发了OAK训练机,让小白用户能全程0代码体验模型训练并部署到OAK相机上。
在这里插入图片描述

虽然OAK训练机极大得简化了训练过程,但是在为特定目的训练模型时,收集数据集现在却成了最耗时的事情。而且自行收集的数据集可能存在版权和隐私问题,有些数据集只能保存在用户手上,不方便交给第三方训练。

那么有没有什么方案可以优化这一过程呢?

今天给大家分享一款超乎想象的解决方案——DataDreamer!

【开源】用DataDreamer生成10K图像训练yolov8头盔检测模型

▌DataDreamer:一步生成1000+带标注的图像

随着ChatGPT、Midjourney等生成式AI的爆火,数据在人工智能领域的重要性愈发弥足重要。而在模型训练这一任务中,往往第一步——收集数据,就让不少人头疼不已。传统的做法不仅耗时,还存在各种潜在风险。

那么想象一下,是否有可能绕过传统方式,可以在不需要真实世界数据的情况下创建数据集呢?DataDreamer让这一想法成为现实!

假设你需要一个应用程序来检测视频和图像中的机器人,你现在只需要输入一个命令即可生成数千张带标准的图像。

datadreamer –class_names robot

这种创新方法不仅节省了时间,而且为人工智能开发开辟了新的途径,不受传统数据收集方法的限制。

在这里插入图片描述
Prompt: A photo of robot interacting with nature in a serene field. The bot seems to meditate & appreciate the beauty of the environment as it soaks up the suns rays.
提示:机器人在宁静的田野中与大自然互动的照片。机器人似乎在冥想和欣赏环境的美丽,因为它吸收了太阳光线。

在这里插入图片描述
Prompt: A photo of robot assisting a human in the kitchen, as they cook a meal together, showing the collaboration between man and machine.
提示:机器人在厨房里协助人类一起做饭的照片,展示了人与机器之间的协作。

利用此数据集,你可以有效地训练专为OAK相机使用的模型,该模型能够在各种真实场景中检测真实的机器人。在下面的视频中,我们演示了在 DataDreamer 生成的 2,000 张图像数据集上训练的模型的性能。

DataDreamer:让创建自定义数据集轻松无比!还自带标注!

▌三步使用DataDreamer

DataDreamer 是一个库,它使你能够从头开始创建几乎任何你能想象到的类的自定义数据集。此过程简化为三个关键步骤:

  1. 提示生成:在这个阶段,我们利用强大的 Mistral-7B-Instruct-v0.1 来生成语义丰富的提示,这对于在生成的图像中准确描绘目标对象至关重要。对于更直接的方法,我们还提供了简单地连接目标对象的选项。
  2. 图像生成:用户可以在两个图像生成器之间进行选择。首先是 Stable Diffusion XL,它以遵守提示和卓越的图像质量而闻名,尽管生成速度较慢。第二种选择是 SDXL-Turbo,它提供了更快的生成时间,但在图像保真度方面略有妥协。
  3. 图像标注:在最后一步中,我们使用 OWLv2 等模型来注释生成的图像。此过程利用了一开始提供的类名,确保每个图像都根据你的规范准确标记。

通过集成这些先进的模型,DataDreamer 不仅简化了为计算机视觉领域的各种应用创建定制数据集的过程,而且还增强了效果。
在这里插入图片描述

▌性能比较:DataDreamer数据集VS真实数据集

用Datadreamer生成的数据集训练出来的模型,与用真实世界的数据集训练的模型相比,具体性能如何呢?我们做了一个有趣的实验。

我们使用PASCAL VOC数据集(这是目标检测中著名的基准),作为真实数据的基础。在此基础上,我们使用 DataDreamer 创建了一个可比较的数据集,针对 PASCAL VOC 数据集中存在的相同 20 个类别。

我们用于 DataDreamer 的命令如下:

datadreamer --save_dir generated_dataset_voc_2k --class_names aeroplane bicycle bird boat bottle bus car cat chair cow dining\ table dog horse motorbike person potted\ plant sheep sofa train tv --prompts_number 2000 --prompt_generator lm --num_objects_range 1 3 --image_generator sdxl

此命令生成一个包含 2000 个提示的数据集,每个图像聚焦 1 到 3 个对象,并使用 SDXL 图像生成器获得高质量结果。对于 17k 数据集,我们将提示数字更改为 17,000(与真实数据集中的图像数量相同),并将图像生成器更改为 sdxl-turbo。

下面,我们展示了来自生成的 DataDreamer 数据集的一些示例:
在这里插入图片描述
为了进行比较,以下是来自原始 VOC PASCAL 数据集的注释图像:
在这里插入图片描述
为了评估使用合成数据训练计算机视觉模型的有效性,我们开始使用 YOLOv8n 模型对两种不同的训练场景进行实验:

  1. 在合成数据上训练,然后在真实数据上进行微调:在这种方法中,我们首先完全在 DataDreamer 生成的合成数据集上训练 YOLOv8n 模型。一旦模型从这些生成的图像中学习,我们就会根据PASCAL VOC数据集中的真实数据对其进行微调。这个两步过程旨在通过微调来了解在合成数据上训练的模型对真实世界图像的适应程度。
  2. 仅使用真实数据进行训练:在这里,YOLOv8n 模型仅使用来自 PASCAL VOC 数据集的真实图像进行训练。这种传统方法可以作为基准,比较在训练过程中纳入合成数据的有效性。

通过比较这两种场景,我们旨在了解合成数据对模型学习能力及其在真实场景中的性能的影响。这种比较将阐明使用合成数据集进行初始训练的潜在优势,特别是在收集大量真实世界数据具有挑战性或不切实际的情况下。

▌结果

在这里插入图片描述
真实数据集大小:17k 张图片、1% – 170 张图片、10% – 1.7k 张图片、25% – 4.25k 张图片。性能是根据实际验证数据来衡量的。

根据结果,很明显DataDreamer 生成的合成数据集在真实标注图像稀缺或根本没有的情况下特别有用。对于收集大量真实世界数据不切实际或不可能的情况,这是一个至关重要的发现。

观察结果表明,虽然合成数据在数据稀缺的情况下显著提高了模型性能,但随着真实数据数量的增加,优势会减弱。这种逐渐缩小的差异表明,虽然合成数据是初始训练阶段的强大工具,尤其是在真实数据稀缺的情况下,但随着更多真实世界的数据可用于训练,其影响会减弱。

▌总结

通过简化数据集创建过程,DataDreamer 不仅让每个人都能访问它,而且让它变得高效——从经验丰富的数据科学家到该领域的初学者。它是数据收集领域的游戏变革者,使用户能够快速生成合成数据,训练初始模型,并在可用时使用真实世界的数据增强这些模型。

▌今后的工作

DataDreamer 背后的团队致力于发展和增强其功能,以满足 AI 模型训练日益增长的需求和复杂性。DataDreamer 的未来路线图包括几项令人兴奋的增强功能和新增功能:

扩展任务种类:我们计划集成其他任务,如实例分割和关键点检测。这些高级功能将允许更细致和详细的数据生成,以满足更广泛的人工智能应用。
加快数据集生成速度:重点将放在提高数据集生成效率上。此增强功能将显著减少创建大型、多样化数据集所需的时间,从而加快模型开发周期。
模型更新和添加:计划在数据集生成过程的每个步骤中使用的模型进行持续更新和添加。这将确保 DataDreamer 始终处于技术前沿,利用 AI 的最新进展来创建卓越的数据集。
功能增强:我们的目标是为 DataDreamer 添加更复杂的功能。这些功能旨在进一步减少对真实数据的依赖,允许使用最少的真实数据集训练稳健的模型。
通过这些改进,DataDreamer 不仅将简化模型训练的初始阶段,还将突破合成数据可以实现的界限,使其成为 AI 开发领域更强大的工具。

最后,我们邀请更广泛的社区加入我们这个激动人心的旅程。你的贡献,无论是以反馈、想法还是直接参与开发的形式,对于塑造 DataDreamer 的未来都是无价的。我们可以一起重新定义 AI 模型训练的前景。让我们携手合作,让 DataDreamer 不仅仅是一个工具,而是一个社区驱动的 AI 创新催化剂!

了解更多,请访问Github-luxonis/datadreamer,Colab notebook link。

▌参考资料

https://www.oakchina.cn/2024/02/22/datadreamer/
https://github.com/luxonis/datadreamer


OAK中国
| OpenCV AI Kit在中国区的官方代理商和技术服务商
| 追踪AI技术和产品新动态

戳「+关注」获取最新资讯↗↗

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

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

相关文章

C语言----字符数组指针

1.char arr[] {a,b,c,d,e,f}; sizeof分析类型就可以计算所占的内存空间的大小; (1)printf("%d\n", sizeof(arr)); 数组名单独放进里面,计算整个数组大小,所以是6字节; (2&#xff…

设置主从复制时发生报错Could not find first log file name in binary log index file‘;解决方案

如图所示,slave_io_runnind:no,slave_sql_running:yes 此时,主从配置错误,我们可以查看Last_IO_Error:来查看报错信息 此时,我们需要停止从服务器的主从服务, mysql> stop slave; Query OK, 0 rows affected, 1 w…

k8s-heml管理 17

Helm是Kubernetes 应用的包管理工具,主要用来管理 Charts,类似Linux系统的 yum。Helm Chart 是用来封装 Kubernetes 原生应用程序的一系列 YAML 文件。可以在你部署应用的时候自定义应用程序的一些 Metadata,以便于应用程序的分发。 对于应用…

压缩感知(Compressed Sensing,CS)的基础知识

压缩感知(Compressed Sensing,CS)是一种用于信号处理的技术,旨在以少于奈奎斯特采样定理所要求的样本频率来重构信号。该技术利用信号的稀疏性,即信号可以用较少的非零系数表示。压缩感知在图像获取中的应用使得在采集…

LabVIEW多场景微振动测试平台与教学应用

LabVIEW多场景微振动测试平台与教学应用 在多种工程实践中,微振动的测试与分析对于评估结构的稳定性及其对环境的影响至关重要。针对这一需求,开发了一套基于NI-cDAQ和LabVIEW的多场景微振动测试平台,提高微振动测试的精确度与灵活性&#x…

Python和Jupyter简介

在本notebook中,你将: 1、学习如何使用一个Jupyter notebook 2、快速学习Python语法和科学库 3、学习一些IPython特性,我们将在之后教程中使用。 这是什么? 这是只为你运行在一个个人"容器"中的一个Jupyter noteboo…

vivado FSM Components

Vivado合成功能 •同步有限状态机(FSM)组件的特定推理能力。 •内置FSM编码策略,以适应您的优化目标。 •FSM提取默认启用。 •使用-fsm_extraction off可禁用fsm提取。 FSM描述 Vivado综合支持Moore和Mealy中的有限状态机(…

C语言特殊函数

静态函数 背景知识:普通函数都是跨文件可见的,即在文件 a.c 中定义的函数可以在 b.c 中使用。 静态函数:只能在定义的文件内可见的函数,称为静态函数。 语法 staitc void f(void) // 在函数头前面增加关键字 static &#xff…

读取7400MB/s!华为发布eKitStor Xtreme M.2闪存条

今日,华为举行数据存储新春新品发布会,不仅发布全新数据湖解决方案,华为还针对商业市场与分销市场发布了全闪存存储新品。 据介绍,面向游戏加速、影视编辑、户外作业等场景,华为发布eKitStor Xtreme系列高性能M.2闪存条…

常用的函数式接口(Supplier、Consumer、Predicate、Function)

目录 一.函数式接口作为方法的参数 二.函数式接口作为方法的返回值 三.常用的函数式接口 3.1生产型Supplier接口 3.2消费型Consumer接口 抽象方法:accept 默认方法:andThen 3.3判断型Predicate接口 抽象方法:test 默认方法&#xf…

力扣基础刷题---二分查找

704. 二分查找 给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。 中心思想:找到中间值,跟中间值比…

2024.2.23

1、消息队列代码 msgsnd.c #include<myhead.h> //定义一个消息类型 struct msgbuf {long mtype; //消息类型char mtext[1024]; //消息正文 };//定义一个宏&#xff0c;表示消息正文大小 #define MSGSIZE sizeof(struct msgbuf)-sizeof(long)int main(int …

Docker容器故障排查与解决方案

Docker是一种相对使用较简单的容器&#xff0c;我们可以通过以下几种方式获取信息&#xff1a; 1、通过docker run执行命令&#xff0c;或许返回信息 2、通过docker logs 去获取日志&#xff0c;做有针对性的筛选 3、通过systemctl status docker查看docker服务状态 4、通过…

数据安全治理实践路线(上)

基于以上数据安全治理实践理念&#xff0c;可以按照自顶向下和自底向上相结合的思路推进实践过程。一方面&#xff0c;组织自顶向下,以数据安全战略规划为指导,以规划、建设、运营、优化为主线&#xff0c;围绕构建数据安全治理体系这一核心&#xff0c;从组织架构、制度流程、…

“从根到叶:深入理解排序数据结构“

一.排序的概念及引用 1.1排序的概念 排序是指将一组数据按照一定的规则重新排列的过程。排序的目的是为了使数据具有有序性&#xff0c;便于查找、插入、删除等操作&#xff0c;提高数据的组织和管理效率。 稳定性是指如果序列中存在相等元素&#xff0c;在排序完成后&#…

网卡本质,网络发展(局域网,广域网概念)

目录 引入 网卡的本质 网络的发展 引入 早期 局域网LAN&#xff08;Local Area Network&#xff09; 广域网WAN&#xff08;Wide Area Network&#xff09; 注意 引入 前面我们已经学习了很多关于linux系统的知识,其中文件系统和线程尤为繁杂 而网络其实也算系统的一部…

2024年开发者的最好选择!!没有之一

中国银河证券1月23日明确指出&#xff1a;鸿蒙应用将在2024年迎来爆发。 2024年Q2推出开发者Beta版&#xff0c;2024年Q4推出商用版。今年年终将有 5000 款应用完成原生鸿蒙开发&#xff0c;未来支持 50 万款应用。覆盖便捷生活、出行文旅、金融便利、社交资讯、生产力工具、影…

2024能源动力、机械自动化与航天航空技术国际学术会议(ICEPMAT2024)

2024能源动力、机械自动化与航天航空技术国际学术会议(ICEPMAT2024) 会议简介 能源动力、机械自动化和航空航天技术国际学术会议&#xff08;ICEPMAT2024&#xff09;将于2024年在北京举行。会议将探讨能源动力、机械自动化、航空航天技术领域的新研究热点、核心技术和发展趋…

【Git】:远程仓库操作

远程仓库操作 一.理解版本控制系统二.远程仓库1.克隆2.Push操作3.fetch操作4. .gitnore文件 一.理解版本控制系统 我们⽬前所说的所有内容&#xff08;⼯作区&#xff0c;暂存区&#xff0c;版本库等等&#xff09;&#xff0c;都是在本地&#xff01;也就是在你的笔记本或者计…

Camtasia Studio2024破解版屏幕录像和视频编辑软件

Camtasia Studio是一款专业的屏幕录像和视频编辑软件&#xff0c;它可以用来进行多种工作&#xff1a; 屏幕录制&#xff1a;Camtasia Studio可以录制电脑屏幕上的任何活动&#xff0c;如软件操作、演示、游戏过程等&#xff0c;非常适合制作教学视频、软件教程、游戏解说等。…