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.hqwc.cn/news/486421.html

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

相关文章

发现Ollama的Python和JavaScript库,探索令人惊叹的Web项目和强大的IDE插件

最近我注意到Ollama提供了Python和JavaScript库的Libraries。 我通过GitHub搜寻了一些Web项目,并尝试了其中一些项目。以下是我体验过的几个项目: open-webuiollama-webui-liteollama-guinextjs-ollama-llm-uillamazing 客户端 客户端中,…

智慧物业信息管理系统平台及APP建设项目

随着城市化步伐的不断加快,物业管理成为城市建设中不可或缺的一部分。为了更好地满足各方对物业管理的全面需求,智慧物业信息管理系统平台及APP项目,融合了八大子系统,旨在为其提供更全面、高效的物业管理解决方案。 1. 物业信用…

[OpenAI]继ChatGPT后发布的Sora模型原理与体验通道

前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家:https://www.captainbed.cn/z ChatGPT体验地址 文章目录 前言OpenAI体验通道Spacetime Latent Patches 潜变量时空碎片, 建构视觉语言系统…

苹果分拣检测YOLOV8NANO

苹果分拣,可以检测成熟、切片、损坏、不成熟四种类型,YOLOV8NANO,训练得到PT模型,然后转换成ONNX,OPENCV的DNN调用,支持C,PYTHON 苹果分拣检测YOLOV8NANO,检测四种类型苹果

SpringBoot对于SpringMVC的支持

创建项目 版本说明这里使用的 SpringBoot 2.0.0.Release SpringBoot对于SpringMVC的支持 在之前的开发中很多场景下使用的是基于xml配置文件或者是Java配置类的方式来进行SpringMVC的配置。一般来讲,初始的步骤如下所示 1、初始化SpringMVC的DispatcherServlet2、…

【PostgreSQL】Windows安装PostgreSQL数据库图文详细教程

Windows安装PostgreSQL数据库图文详细教程 一、前言二、PostgreSQL简介三、软件下载四、安装步骤4.1 安装向导4.2 选择安装目录4.3 选择组件4.4 选择数据存放目录4.5 选择密码4.6 选择端口号4.7 等待安装完成4.8 取消勾选,安装完成 五、启动教程5.1 搜索pgAdmin4&am…

【前端素材】推荐优质后台管理系统Minia平台模板(附源码)

一、需求分析 后台管理系统是一种用于管理网站、应用程序或系统的工具,它通常作为一个独立的后台界面存在,供管理员或特定用户使用。下面详细分析后台管理系统的定义和功能: 1. 定义 后台管理系统是一个用于管理和控制网站、应用程序或系统…

概率密度函数(PDF)与神经网络中的激活函数

原创:项道德(daode3056,daode1212) 在量子力学中,许多现象都是统计的结果,基本上用的是正态分布,然而,从本质上思考,应该还存在低阶的分布,标准的正态分布是它的极限,这样一来,或许在…

P8630 [蓝桥杯 2015 国 B] 密文搜索

P8630 [蓝桥杯 2015 国 B] 密文搜索 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)https://www.luogu.com.cn/problem/P8630 题目分析 基本上是hash的板子,但实际上对于密码串,只要判断主串中任意连续的八个位置是否存在密码串即可;那么我们…

关于设备连接有人云的使用及modbus rtu协议,服务器端TCP调试设置

有人云调试 调试过程问题1. 关于modbus rtu协议,实质上有三种modbus基本原理modbus 格式2. 关于modbus crc16通信校验3. 关于在ubuntu阿里云服务器端,监听网络数据之调试mNetAssist4. 使用有人FAE传给的设置软件问题???之前的一个项目,再拿出来回顾下。 调试过程 先 要在有…

linux增加物理磁盘并挂载到文件系统

centos7增加物理磁盘并挂载到文件系统 1、查看所有磁盘情况 fdisk -l2、创建挂载路径 mkdir /data3、格式化磁盘 #磁盘filesystem(上图标红处) mkfs.xfs -f /dev/sda建议 与其它磁盘文件系统保持一致,我这里是xfs 可通过 cat /dev/sda查看 4、挂载 mount /dev/…

音频的“隐形保镖”——音频数字水印

在互联网时代,多媒体数字资源可以快捷地传播和获取,但同时也导致了数字音频产品的非法扩散、非法拷贝和非法篡改猖獗,数字音频产品的完整性和版权保护问题越来越凸显。文档和图像可以添加水印,音频同样可以添加水印,让…