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://xiahunao.cn/news/2803342.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

基于EasyCVR视频汇聚系统的公安网视频联网共享视频云平台建设思路分析(二)

一、需求分析 随着科技的飞速发展,视频监控联网技术在公安工作中发挥着越来越重要的作用。为了提高公安部门对各类事件的响应速度和处理能力,建设一个高效、稳定的公安视频联网共享云平台显得尤为重要。通过建设开放的视频联网共享云平台,实…

非洲数字经济持续崛起 本地化策略让传音提前入局

非洲市场,被誉为全球最后的“边疆级”市场,吸引着全球目光。近日,非洲开发银行最新报告指出,未来两年非洲的经济增长将优于世界其他地区,2023 年和 2024 年实际国内生产总值 (GDP) 平均约为 4%。广阔的非洲大陆焕发着勃…

【spring】 ApplicationListener的使用及原理简析

文章目录 使用示例:原理简析: 前言:ApplicationListener 是spring提供的一个监听器,它可以实现一个简单的发布-订阅功能,用有点外行但最简单通俗的话来解释:监听到主业务在执行到了某个节点之后&#xff0c…

【Python笔记-设计模式】对象池模式

一、说明 用于管理对象的生命周期,重用已经创建的对象,从而减少资源消耗和创建对象的开销 (一) 解决问题 主要解决频繁创建和销毁对象所带来的性能开销问题。如数据库连接、线程管理、网络连接等,对象的创建和销毁成本相对较高&#xff0c…

SOLIDWORKS Visualize 界面介绍

现在有越来越多的朋友在工作中选择使用SOLIDWORKS Visualize正版软件,这真是太棒了!这次的主题是小索带大家了解SOLIDWORKS Visualize界面,让更多的朋友快速的熟悉SOLIDWORKS Visualize界面。 【菜单栏】位于界面的顶端,菜单栏包含多个下拉菜…

[linux]进程间通信(IPC)———共享内存(shm)(什么是共享内存,共享内存的原理图,共享内存的接口,使用演示)

一、什么是共享内存 共享内存区是最快的(进程间通信)IPC形式。一旦这样的内存映射到共享它的进程的地址空间,这些进程间数据传递不再涉及到内核,换句话说是进程不再通过执行进入内核的系统调用来传递彼此的数据。注意:…

微软推出Windows照片编辑新功能:AI魔术橡皮擦生成擦除工具让照片修图更轻松

微软宣布推出生成擦除功能,该功能让用户在 Windows 捆绑的照片应用程序中使用人工智能技术对照片进行修改。这一功能类似于谷歌和三星设备上的 AI 选择性照片橡皮擦,让用户可以轻松消除照片中的不需要的元素,如狗的皮带或意外出现的人物。不仅…

一周学会Django5 Python Web开发-Django5路由变量

锋哥原创的Python Web开发 Django5视频教程: 2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili2024版 Django5 Python web开发 视频教程(无废话版) 玩命更新中~共计22条视频,包括:2024版 Django5 Python we…

Unity资源加密解决方案

据统计,全球范围内超过50%的游戏均使用Unity创作而成,作为游戏开发市场第一大游戏引擎占有者,Unity已经全面覆盖到各个游戏平台。 全球游戏引擎市场占有率 由于体量庞大,Unity游戏已成为受游戏黑灰产攻击的重灾区,因游…

C#_扩展方法

简述: 扩展方法所属类必需是静态类(类名依据规范通常为XXXExtension,XXX为被扩展类)扩展方法必需是公有的静态方法扩展方法的首个参数由this修饰,参数类型为被扩展类型 示例: static class DoubleExtens…

U盘故障频发?了解原因,掌握正确使用方法!

U盘文件夹变打不开的文件是一种常见的故障,表现为用户无法访问存储在U盘中的文件或文件夹。这种故障通常是由于各种原因引起的,包括物理损坏、文件系统错误、病毒感染等。当遇到这种情况时,用户需要采取一些方法来恢复文件。 U盘故障频发&…

Uniapp + VUE3.0 实现双向滑块视频裁剪效果

效果图 <template><view v-if"info" class"all"><video:src"info.videoUrl"class"video" id"video" :controls"true" object-fit"fill" :show-fullscreen-btn"false"play-btn…

缓存篇—缓存击穿

在很多场景下&#xff0c;我们的业务通常会有几个数据会被频繁地访问&#xff0c;比如秒杀活动&#xff0c;这类被频地访问的数据被称为热点数据。 如果缓存中的某个热点数据过期了&#xff0c;此时大量的请求访问了该热点数据&#xff0c;就无法从缓存中读取&#xff0c;直接…

【云动世纪:Apache Doris 技术之光】

本文节选自《基础软件之路&#xff1a;企业级实践及开源之路》一书&#xff0c;该书集结了中国几乎所有主流基础软件企业的实践案例&#xff0c;由 28 位知名专家共同编写&#xff0c;系统剖析了基础软件发展趋势、四大基础软件&#xff08;数据库、操作系统、编程语言与中间件…

WebStorm 2023:让您更接近理想的开发环境 mac/win版

JetBrains WebStorm 2023激活版下载是一款强大而智能的Web开发工具&#xff0c;专为提高开发人员的生产力而设计。这款编辑器提供了许多先进的代码编辑功能&#xff0c;以及一系列实用的工具和插件&#xff0c;可帮助您更快地编写、调试和测试代码。 WebStorm 2023软件获取 We…

【计算机网络】数据链路层--以太网/MTU/ARP/RARP协议

文章目录 一、以太网1.以太网帧格式2.MAC地址3.局域网的转发原理 二、MTU1.什么是MTU2.MTU对IP协议的影响3.MTU对UDP影响4.MTU对于TCP协议的影响 三、ARP协议1.ARP协议的作用2.ARP数据报的格式3.ARP协议的工作流程 一、以太网 “以太网” 不是一种具体的网络, 而是一种技术标准…

MariaDB落幕和思考

听过MySQL的基本也都知道 MariaDB。MariaDB由MySQL的创始人主导开发&#xff0c;他早前曾以10亿美元的价格&#xff0c;将自己创建的公司MySQL AB卖给了SUN&#xff0c;此后&#xff0c;随着SUN被甲骨文收购&#xff0c;MySQL的所有权也落入Oracle的手中。传闻MySQL的创始人担心…

SQL面试题及答案

介绍 在快节奏的数据管理和信息技术世界中,导航和操作结构化数据的能力是一项非常重要的技能。SQL,即结构化查询语言,是关系数据库的基石,掌握这种语言的专业人员的需求量很大。SQL 面试在科技行业很常见,潜在的候选人会接受测试以展示他们的知识和解决问题的能力。为了帮…

NOW 闹个元宵?与亚信安慧AntDB一起猜灯谜,抽奖品

关于亚信安慧AntDB数据库 AntDB数据库始于2008年&#xff0c;在运营商的核心系统上&#xff0c;服务国内24个省市自治区的数亿用户&#xff0c;具备高性能、弹性扩展、高可靠等产品特性&#xff0c;峰值每秒可处理百万笔通信核心交易&#xff0c;保障系统持续稳定运行超十年&a…

接口测试是什么?怎么做接口测试?

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号&#xff1a;互联网杂货铺&#xff0c;回复1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 1、什么是接口测试&#xff1f;为什么要做接口测试&…