基于虚幻引擎的AI训练合成数据生成

news2024/11/19 1:49:19

在这里插入图片描述

推荐:用 NSDT编辑器 快速搭建可编程3D场景

近年来,合成数据生成(Synthetic Data Generation)已成为手动收集和注释数据集的替代方法。

数据合成器的优点主要有两个。 首先,它使获取数据的成本几乎为零,同时消除了几乎所有的数据处理工作。 其次,即使在没有数据的情况下,它也有可能实现新机器学习想法的快速原型设计。

简而言之,一个结构良好的合成数据生成器可以为任何机器学习案例生成现成格式的数据。 然而,合成数据生成器面临的挑战是,它们通常是特定领域的,应用范围狭窄,并且远不如网络架构和学习方法成熟。

在计算机视觉领域,合成数据生成特别有趣,因为多年来相关资源和工具的数量不断增长和显着改进。 不过,这种发展并不是在机器学习领域,而是在虚幻引擎、Blender 和 Unity 等游戏引擎领域。 通常由专业设计师制作,逼真的场景提供了精彩的细节,如下面的视频所示。

在这里插入图片描述

视频 1:在虚幻引擎中徒步游览

Modulai 已在多个项目中部署了经过合成数据训练的模型,现在寻求了解 3D 渲染数据在解决计算机视觉任务方面的潜力。 具体来说,在这个项目中,任务是使用虚幻引擎生成由文本组成的合成数据图像。 这些数据将用于训练网络,旨在检测从真实环境捕获的图像中的文本。

1、使用静态背景合成场景文本数据

场景文本检测应用程序已经采用了合成数据的使用。 几乎所有最先进的网络都是根据合成数据进行预训练,然后根据真实数据进行微调。 用于预训练的最常见的合成数据集是 SynthText 数据集 [1]。 该数据集是由 8,000 张背景图像生成的。 通过在背景图像的不同位置粘贴各种颜色、字体和大小的文本,生成了80万张图像的数据集。 以下是 SynthText 数据集中的两个示例。
在这里插入图片描述

图 1:使用背景图像获得的场景文本数据

SynthText 提供了生成场景文本数据的基本方法和一组原则。 最重要的一点是文本的嵌入方式应该尽可能自然。 因此,渲染引擎旨在生成逼真的场景文本图像,其中使用语义分割和深度估计将文本混合到背景图像的合适区域中。 在图 2 中,合适的区域和不合适的区域都被可视化。

在这里插入图片描述

图 2:合适(左)和不合适(右)文本区域的示例。

将文本粘贴到背景图像上的过程会导致场景与人类在现实世界环境中自然观察到的场景不同。 从现实世界获得的文本可能具有视点、照明条件和遮挡的变化。 通过将文本插入 2D 背景图像很难产生这些变化。

2、使用 3D 引擎合成场景文本数据

随着游戏引擎缩小现实世界和合成世界之间的差距,探索基于游戏引擎的合成数据生成的可能性是很自然的。 游戏引擎的优点首先是可以通过将场景和文本作为一个整体渲染来实现现实世界的变化。 此外,3D 引擎提供真实场景信息,从而产生更真实的文本区域,并具有许多优点。

该项目使用游戏引擎Unreal Engine 4。当使用游戏引擎渲染场景文本图像时,[2]的工作提供了四个模块。 这些模块为游戏引擎获取带有文本的图像提供了基线,按以下顺序执行。

  • 取景器:数据生成器用取景器初始化,自动确定场景中适合文本渲染的一组坐标。 这是通过在 3D 场景中移动相机来完成的。
  • 环境随机化:在取景器之后,应用环境随机化。 该模块的目的是通过随机化场景中的参数来增加生成图像的多样性。
  • 文本区域生成:然后使用文本区域生成模块来查找环境参数随机化的有效视点的文本区域。 第一阶段是基于 2D 场景信息提出文本区域。 然后使用从游戏引擎获得的 3D 信息完善最初的建议。
  • 文本渲染:最后,应用文本渲染模块,其目的是生成文本实例并将其渲染到场景中。 此外,包含文本的图像部分的边界框是以标准对象检测格式获得的。

游戏环境和数据生成器之间的链接是通过 UnrealCV 包实现的,这是一个开源项目,使计算机视觉研究人员能够轻松地与虚幻引擎 4 进行交互 [3]。 开始数据生成的要求是具有嵌入式 UnrealCV 插件的场景以及包含文本和字体的语料库。 由于虚幻市场上有各种不同的场景,因此创建自定义数据集的机会无穷无尽。 然而,出于该项目的目的,我们使用[2]提供的现成编译场景。 下图展示了使用来自虚幻引擎市场的场景真实渲染和自定义语料库生成的图像示例。

在这里插入图片描述

图 3:使用虚幻引擎 4 渲染的图像

3、网络训练及结果

[4] 中的网络仅针对合成图像以及合成数据和真实数据的组合进行训练。 通过将 3D 引擎生成的数据训练的模型与 SynthText 的性能进行比较,评估 3D 引擎解决场景文本检测问题的有效性。 在评估模型时,使用来自现实世界数据集 ICDAR15 [5] 和 Total-Text [6] 的测试集。

精度和召回率是用于评估网络预测的性能指标。 虽然最佳场景是同时实现高召回率和高精度,但需要决定如何调整模型。 在这项工作中,可以调整文本实例被分类为存在或不存在的概率阈值以获得所需的度量。 通过让阈值范围从 0 到 1,并报告每个阈值获得的精度和召回对,可以获得模型的精度-召回曲线。 从精确率-召回率曲线来看,精确率-召回率曲线下的面积(AUC)可以作为模型的评估工具。

当分别使用 SynthText 和 Unreal 生成的数据训练模型,并在 ICDAR15 和 Total-Text 上评估模型时,得到以下精确率-召回率曲线。

在这里插入图片描述

图 4:通过改变在 SynthText 和 Unreal 上训练的模型的推理阈值生成的精确召回图。 左边的模型是在 ICDAR15 上评估的,右边的模型是在 Total-Text 上评估的。

评估 ICDAR15 时,Unreal 模型的 AUC 为 0.45,SynthText 模型的 AUC 为 0.37。 在 Total-Text 上进行评估时,Unreal 模型的 AUC 为 0.45,SynthText 模型的 AUC 为 0.39。 下面显示了对现实世界测试集的预测示例。

在这里插入图片描述

图 5:模型推论示例。 左右示例分别利用在 SynthText 和 Unreal 上训练的模型对 ICDAR15 的推断。

在这里插入图片描述

图 6:模型推论示例。 左右示例分别利用在 SynthText 和 Unreal 上训练的模型对 Total-Text 的推断。

当用少量真实数据对预训练模型进行微调时,得到的精度-召回率曲线如下。
在这里插入图片描述

图 7:通过改变在 SynthText 和 Unreal 上训练的模型的推理阈值并使用真实数据进行微调而生成的精确召回图。 左边是在 ICDAR15 上评估模型,右边是在 Total-Text 上评估模型。

在 ICDAR15 上评估模型时,Unreal 模型的 AUC 为 0.77,SynthText 模型的 AUC 为 0.74。 在 Total-Text 上评估模型时,Unreal 模型的近似 AUC 为 0.62,SynthText 模型的近似 AUC 为 0.55。 微调模型的模型预测示例如下所示。

在这里插入图片描述

图 8:模型推论示例。 左右示例是分别在 SynthText 和 Unreal 上训练并使用真实数据进行微调的模型对 ICDAR15 的推论。
在这里插入图片描述

图 9:模型推论示例。 左右示例是分别在 SynthText 和 Unreal 上训练并使用真实数据进行微调的模型对 Total-Text 的推论。

4、结束语

与基于 2D 数据训练的模型相比,基于 3D 数据训练的网络对真实数据的泛化始终更好。 因此,3D 引擎可以在任何机器学习工程师的工具箱中发挥重要作用。

尽管回答为什么在 3D 数据上训练的模型能够获得更高的精确回忆分数很困难并且超出了本项目的范围,但对于大多数观察者来说,图 3 中的 3D 生成的数据似乎比图 1 中的 2D 生成的数据更真实 . 这表明现实主义确实很重要。 因此,即使游戏制作领域的发展是由对更美观的游戏的需求驱动的,这些游戏弥合了虚拟世界和现实世界之间的差距,但这项工作的结果表明,这些进步也为机器学习提供了巨大的价值。

5、参考文献

[1] Ankush Gupta, Andrea Vedaldi, and Andrew Zisserman. Synthetic data for text localization in natural images. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 2315–2324, 2016.

[2] Shangbang Long and Cong Yao. Unrealtext: Synthesizing realistic scene text images from the unreal world. arXiv preprint arXiv:2003.10608, 2020.

[3] Yi Zhang Siyuan Qiao Zihao Xiao Tae Soo Kim Yizhou Wang Alan Yuille Weichao Qiu, Fangwei Zhong. Unrealcv: Virtual worlds for computer vision. ACM Multimedia Open Source Software Competition, 2017.

[4] Minghui Liao, Zhaoyi Wan, Cong Yao, Kai Chen, and Xiang Bai. Real-time scene text detection with differentiable binarization. In Proceedings of the AAAI conference on artificial intelligence, volume 34, pages 11474–11481, 2020.

[5] Dimosthenis Karatzas, Lluis Gomez-Bigorda, Anguelos Nicolaou, Suman Ghosh, Andrew Bagdanov, Masakazu Iwamura, Jiri Matas, Lukas Neumann, Vijay Ramaseshan Chandrasekhar, Shijian Lu, et al. Icdar 2015 competition on robust reading. In 2015 13th international conference on document analysis and recognition (ICDAR), pages 1156-1160. IEEE, 2015.

[6] Chee Kheng Ch’ng and Chee Seng Chan. Total-text: A comprehensive dataset for scene text detection and recognition. In 2017 14th IAPR international conference on document analysis and recognition (ICDAR), volume 1, pages 935–942. IEEE, 2017.


原文链接:用虚幻引擎生成合成数据 — BimAnt

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

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

相关文章

Java读取Excel内容,最后获得一个list对象

代码层 public R importPackage(MultipartFile multipartFile) {try {log.info("multipartFile " multipartFile);log.info("ContentType " multipartFile.getContentType());log.info("OriginalFilename " multipartFile.getOriginalFil…

基于 FPGA 的机器博弈五子棋游戏

基于 FPGA 的机器博弈五子棋游戏 一,设计目的 五子棋是一种深受大众喜爱的游戏,其规则简单,变化多端,非常富有趣味性 和消遣性。棋类游戏在具备娱乐性、益智性的同时也因为其载体大多是手机, 电脑等移动互联网设备导致现代社会低头族等现象更加严重,危害青少年的身 体健康…

VR全景展示带来旅游新体验,助力旅游业发展!

引言: VR(虚拟现实)技术正以惊人的速度改变着各行各业,在旅游业中,VR全景展示也展现了其惊人的影响力,为景区带来了全新的宣传机会和游客体验。 一.什么是VR全景展示? VR全景展示是…

科创人·TATA木门CIO乐勇斌:数字化变革大坎儿在组织变革,天再冷也要拥抱智能

乐勇斌 TATA木门信息中心总监 10年信息化领域管理咨询经验,熟悉零售、电商、汽车、医药、制造、机械加工、家居制造等行业信息化规划、解决方案、建设和流程落地;具备跨区域、项目集和项目组合管控能力,擅于集团化产供销一体化规划&#xff…

【Vue基础-数字大屏】自定义主题

一、apache主题模板 链接https://echarts.apache.org/zh/download-theme.html 二、操作步骤 1、在apache主题模板中定制所需要的主题,如下图点击下载,复制其json 2、回到项目代码,在assets目录下新建index.js文件,新建变量&…

(三)行为模式:8、状态模式(State Pattern)(C++示例)

目录 1、状态模式(State Pattern)含义 2、状态模式的UML图学习 3、状态模式的应用场景 4、状态模式的优缺点 (1)优点 (2)缺点 5、C实现状态模式的实例 1、状态模式(State Pattern&#x…

【STM32单片机】俄罗斯方块游戏设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用STM32F103C8T6单片机控制器,使用按键、IIC OLED模块等。 主要功能: 系统运行后,OLED显示俄罗斯方块游戏界面并开始游戏,KEY1键用于方块方向旋转&…

【交互式阈值二进制图像】采用彩色或单色图像通过交互/手动方式阈值单色图像或彩色图像的单个色带研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

MFC ExtTextOut函数学习

ExtTextOut - 扩展的文本输出; win32 api的声明如下; ExtTextOut( DC: HDC; {设备环境句柄} X, Y: Integer; {起点坐标} Options: Longint; {选项} Rect: PRect; {指定显示范围; 0 表示限制范围} Str: PChar; {字符串…

论文分享 | 利用单模态自监督学习实现多模态AVSR

本次分享上海交通大学发表在 ACL 2022 会议 的论文《Leveraging Unimodal Self-Supervised Learning for Multimodal AVSR》。该论文利用大规模单模态自监督学习构建多模态语音识别模型。 论文地址: https://aclanthology.org/2022.acl-long.308.pdf 代码仓库&am…

ACM模板修改

修改为匿名版本 将 \documentclass[sigconf,authordraft]{acmart} 改为 \documentclass[sigconf,review,anonymous]{acmart} 去掉模板中的无用段落 添加如下语句删除上述段落 \renewcommand\footnotetextcopyrightpermission[1]{} 添加如下语句删除上述段落 \settopmatter…

2019款保时捷卡宴车发动机故障灯异常点亮

故障现象 一辆2019款保时捷卡宴车,搭载DCB发动机,累计行驶里程约为9万km。车主反映,该车行驶中发动机故障灯偶尔异常点亮(图1),其他无异常,为此在其他维修厂更换过燃油箱通风电磁阀、活性炭罐及…

品牌举办活动如何提高知名度?媒介盒子告诉你

2023年,线下消费端口迎来了迅猛爆发,多数行业进入“复苏反攻”状态之中,但在生活节奏加快,信息碎片化趋势之下,大众的注意力成为稀缺资源,逐渐趋同的套路式营销很难打动人心,对于品牌来说&#…

python3多线程处理文件

问题 现在需要对某个文本中的每一条进行处理,例如:对每一行进行同样的操作,现在采用多线程进行,而不是一条一条读取、执行 解决 #! /usr/bin/env python # encoding:utf-8 # Software:PyCharm # Time:2023/10/07 14:30 # Auth…

k8s 集群安装(vagrant + virtualbox + CentOS8)

主机环境:windows 11 k8s版本:v1.25 dashboard版本:v2.7.0 calico版本: v3.26.1 CentOS8版本:4.18.0-348.7.1.el8_5.x86_64 用到的脚本: https://gitcode.net/sundongsdu/k8s_cluster 1. Vagrant创建…

乌班图22.04 kubeadm简单搭建k8s集群

1. 我遇到的问题 任何部署类问题实际上对于萌新来说都不算简单,因为没有经验,这里我简单将部署的步骤和想法给大家讲述一下 2. 简单安装步骤 准备 3台标准安装的乌班图server22.04(采用vm虚拟机安装,ip为192.168.50.3&#xff0…

DP1363F与CLRC663的兼容性对比区别

DP1363F收发器DP1363F支持下列操作模式 • 替代兼容CLRC663/RC663 • 读写模式支持 ISO/IEC 14443A/MIFARE • 读写模式支持 SO/IEC 14443IB • JIS X 6319-4 读写模式支持(等效于FeliCa1方案) • 相应于 ISO/IEC 18092 的被动发起方模式 • 读写模式支持…

告别繁琐,轻松管理SQLite数据库!极简SQLite数据库管理器上线了

如果你是一名Mac用户,并且经常处理SQLite数据库,那么你一定会遇到繁琐的数据库操作,比如安装各种复杂的软件、编写复杂的SQL语句等等。这些操作不仅费时费力,而且还容易出错。那么是否有一种轻松快捷的方法可以管理SQLite数据库呢…

Springboot 音乐网站管理系统idea开发mysql数据库web结构java编程计算机网页源码maven项目

一、源码特点 springboot 音乐网站管理系统是一套完善的信息系统,结合springboot框架和bootstrap完成本系统,对理解JSP java编程开发语言有帮助系统采用springboot框架(MVC模式开发),系统 具有完整的源代码和数据库&…

口袋参谋:如何提升宝贝流量?这三种方法超实用!

​你的店铺能不能出爆款?提升单品流量是关键。 对于新手卖家来说,是缺乏运营技巧和运营经验的,运营技巧主要体现在标题写作、各种图片和视频制作等。 由于新手买家没有经验,习惯于直接使用数据包上传,导致宝贝没有展…