Omniverse合成数据生成【城市交通场景】

news2024/12/27 2:30:53

智慧城市是城市生活的未来。 然而,它们可能给城市规划者带来各种挑战,尤其是在交通领域。 为了取得成功,城市的各个方面—从环境和基础设施到商业和教育—必须在功能上整合。

这可能很困难,因为单独管理交通流量是一个复杂的问题,充满了拥堵、事故应急响应和排放等挑战。

为了应对这些挑战,开发人员正在创建具有现场可编程性和灵活性的人工智能软件。 这些软件定义的物联网解决方案可以为交通管理、车牌识别、智能停车和事故检测等实时环境提供可扩展、可立即部署的产品。

尽管如此,构建有效的人工智能模型说起来容易做起来难。 遗漏值、重复示例、错误标签和错误特征值是训练数据的常见问题,可能导致模型不准确。 对于自动驾驶汽车来说,不准确的结果可能是危险的,还可能导致交通系统效率低下或城市规划不良。

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器 

1、实时城市交通的数字孪生

NVIDIA Metropolis 合作伙伴、端到端 AI 工程公司 SmartCow 在 NVIDIA Omniverse 上创建了交通场景的数字孪生。 这些数字孪生生成合成数据集并验证人工智能模型的性能。

该团队通过使用 NVIDIA Omniverse Replicator 生成合成数据,解决了由于缺乏足够数据来构建优化的 AI 训练管道而导致的常见挑战。

所有 Omniverse 扩展的基础是通用场景描述,称为 OpenUSD。 USD 是一种功能强大的交换工具,具有高度可扩展的属性,虚拟世界就建立在其基础上。 智慧城市的数字孪生依赖于高度可扩展和可互操作的 USD 功能来实现准确模拟现实世界的大型高保真场景。

Omniverse Replicator 是 Omniverse 平台的核心扩展,使开发人员能够以编程方式生成带注释的合成数据,以引导 AI 模型感知的训练。 当真实数据集有限或难以获取时,合成数据特别有用。

通过使用数字孪生,SmartCow 团队生成了准确代表现实世界交通场景和违规情况的合成数据。 这些合成数据集有助于验证人工智能模型并优化人工智能训练管道。

2、构建车牌检测扩展

智能交通管理系统面临的最重大挑战之一是车牌识别。 开发一个适用于具有不同规则、法规和环境的多个国家和城市的模型需要多样化且强大的训练数据。 为了为模型提供充足且多样化的训练数据,SmartCow 在 Omniverse 中开发了一个扩展来生成合成数据。

Omniverse 中的扩展是可重用的组件或工具,可提供强大的功能来增强管道和工作流程。 在 Omniverse Kit 中构建扩展后,开发人员可以轻松地将其分发给客户,以便在 Omniverse USD Composer、Omniverse USD Presenter 和其他应用程序中使用。

SmartCow 的扩展名为车牌合成生成器 (LP-SDG),它使用环境随机化器和物理随机化器来使合成数据集更加多样化和真实。

环境随机发生器模拟数字孪生环境中的照明、天气和其他因素(例如雨、雪、雾或灰尘)的变化。 物理随机发生器模拟可能影响模型识别车牌号码的能力的划痕、污垢、凹痕和变色。

3、用Omniverse Replicator 生成合成数据

数据生成过程从在 Omniverse 中创建 3D 环境开始。 Omniverse 中的数字孪生可用于许多模拟场景,包括生成合成数据。 最初的 3D 场景是由 SmartCow 的内部技术艺术家构建的,确保数字孪生尽可能与现实相匹配。

生成场景后,将使用域随机化来改变光源、纹理、相机位置和材质。 整个过程是使用内置的 Omniverse Replicator API 以编程方式完成的。

生成的数据与边界框标注和训练所需的其他输出变量一起导出。

4、模型训练

初始模型使用 3,000 张真实图像进行训练。 目标是了解基线模型性能并验证正确的边界框尺寸和光线变化等方面。

接下来,该团队进行了实验,以比较综合生成的 3,000 个样本、30,000 个样本和 300,000 个样本的数据集的基准。

SmartCow 软件工程师 Natalia Mallia 表示:“凭借 Omniverse 获得的真实感,基于合成数据训练的模型有时会优于基于真实数据训练的模型。” “使用合成数据实际上消除了真实图像训练数据集中自然存在的偏差。”

为了提供准确的基准测试和比较,该团队在对三种大小的综合生成的数据集进行训练时,将数据随机化到一致的参数(例如一天中的时间、划痕和视角)。 真实世界数据不会与合成数据混合进行训练,以保持比较准确性。 每个模型都根据大约 1,000 张真实图像的数据集进行了验证。

SmartCow 的团队将 Omniverse LP-SDG 扩展的训练数据与 NVIDIA TAO 集成,后者是一个低代码 AI 模型训练工具包,利用迁移学习的力量来微调模型。

该团队使用 NGC 目录中提供的预训练车牌检测模型,并使用 TAO 和 NVIDIA DGX A100 系统对其进行微调。

5、使用 NVIDIA DeepStream 进行模型部署

然后使用 NVIDIA DeepStream SDK 将 AI 模型部署到自定义边缘设备上。

然后,他们实施了一个持续学习循环,其中包括从边缘设备收集漂移数据,将数据反馈回 Omniverse Replicator,并合成可重新训练的数据集,这些数据集通过自动标记工具传递并反馈回 TAO 进行训练。

这个闭环管道有助于创建准确有效的人工智能模型,用于自动检测每条车道的交通方向以及任何异常时间停滞的车辆。

6、结束语

用于生成合成数据集和验证人工智能模型性能的数字孪生工作流程是为智慧城市交通构建更有效的人工智能模型的重要一步。 使用合成数据集有助于克服数据集有限的挑战,并提供准确有效的人工智能模型,从而实现高效的交通系统和更好的城市规划。


原文链接:Omniverse合成数据生成 - BimAnt

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

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

相关文章

购买Zoho CRM系统要花多少钱?

相信对CRM系统有过了解的人都知道,CRM系统的价格取决于功能需求,用户数量,部署方式,定制开发等因素。Zoho CRM是全球领先的云CRM系统,自2005年推出以来,累计服务25万企业,那么Zoho CRM系统的价格…

可编程交流回馈式负载箱在电源设备中的应用

可编程交流回馈式负载箱可以用于测试电源设备的输出能力,通过在负载箱中设置不同的负载条件,可以模拟不同的工作负载情况,从而测试电源设备在不同负载下的输出能力和稳定性。这对于电源设备的设计和生产非常重要,可以帮助制造商评…

中国跨境电商暴露数百万用户隐私数据,部分含身份证照片

近日,据外媒TechCrunch报道称,云安全公司CloudDefense.ai的安全研究员发现,由于一家中国电商店铺的数据库暴露在互联网上,数百万中国公民的隐私数据遭到泄露,这些数据包括了客户送货地址、电话号码、身份证号码及身份证…

2011-2022年地级市互联网普及率数据

2011-2022年地级市互联网普及率数据 1、时间:2011-2022年 2、指标:行政区划代码、年份、地区、互联网宽带接入用户_千户、常住人口数_千人、户籍人口数_千人、每百人互联网宽带用户_常住人口口径、每百人互联网宽带用户_户籍人口口径 3、来源&#xf…

【HMS Core】推送问题的小九九

【问题描述1】 不在华为应用市场上架,是否可以使用推送服务,申请自分类? 【解决方案】 目前使用推送服务不强制要求上架,不上架也可正常使用、申请自分类权限。 【问题描述2】 数据存储位置改变后,自分类权限申请按…

Zoho Bigin和标准版CRM有什么区别?

Zoho Bigin是Zoho公司推出的一款针对小微企业设计的CRM系统,它与Zoho CRM一脉相承,但更加轻量级,快速帮助小微企业实现数字化销售。下面来说说,Zoho Bigin是什么?它适合哪些企业? 什么是Zoho Bigin&#x…

Python潮流周刊:Rust 让 Python 再次伟大

文章&教程 1、Python修饰器的函数式编程 介绍了装饰器的实现原理、带参装饰器、多装饰器、类装饰器和几个典型的示例。文章发布于 2014 年,代码用的还是 Python 2。之所以分享这篇文章,因为它是左耳朵耗子唯一以 Python 为话题的文章,而…

Springboot_文件下载功能(前端后端)

遇到的问题: 文件下载后文件一直被破坏,无法正常打开文件名乱码,如图 刚开始一直在纠结,是不是后端没有写对,然后导致下载不能使用 后来搜索了一些资料,发现后端没什么问题 然后就开始找到其他项目对比…

【C语法学习】27 - 字符串转换为数字

文章目录 1 atoi()函数1.1 函数原型1.2 参数1.3 返回值1.4 转换机制1.5 示例1.5.1 示例1 1 atoi()函数 1.1 函数原型 atoi():将str指向的字符串转换为整数,函数原型如下: int atoi(const char *str);1.2 参数 atoi()函数只有一个参数str&…

创建vue项目体验

文章目录 使用vue-cli创建vue项目创建出的项目目录结构配置router 运行问题router未找到eslint报错 首页显示单页面内容替换 使用vue-cli创建vue项目 安装vue-cli,创建基本项目 选择步骤 一般创建成功后,提示使用下面的指令运行demo npm run serve创建…

CVE-2022-21661

简介 CVE-2022-21661是一个与WordPress相关的漏洞,涉及到SQL注入问题。该漏洞主要源于WordPress的WQ_Tax_Query类中的clean_query函数,可能允许攻击者通过控制传递给该函数的数据来控制生成的SQL查询,从而执行任意的SQL代码。 当WordPress的…

什么是高防IP?有什么优势?怎么选择高防IP?

在当今的互联网环境中,分布式拒绝服务(DDoS)攻击已经成为一种常见的安全威胁。这种攻击通过向目标服务器发送大量的无效流量,使其无法处理正常的请求,从而达到迫使服务中断的目的。作为一个用户,你是否曾遇…

Navicat 技术指引 | 适用于 GaussDB 的模型功能

Navicat Premium(16.2.8 Windows版或以上) 已支持对 GaussDB 主备版的管理和开发功能。它不仅具备轻松、便捷的可视化数据查看和编辑功能,还提供强大的高阶功能(如模型、结构同步、协同合作、数据迁移等),这…

在线工具收集

在线工具收集 1、在线P图 https://www.photopea.com/ 一款类似于PS的在线抠图软件 ①去除图片中的文字,并填充背景色 第一步:使用矩形选中要清除的文字 第二步:点击编辑选择填充 第三步:选择内容识别,保留透明区域…

Vatee万腾数字引领未来:vatee科技力量的独特路径

在当今数字化浪潮的推动下,Vatee万腾以其卓越的科技力量,正引领着未来的数字化时代,描绘着一条独特的发展路径。通过持续创新、前瞻思维和对技术的深度理解,Vatee万腾正在为未来的科技发展创造新的可能性,塑造着数字引…

操作系统(七)| 设备管理-- 端口 驱动程序 基本I/O控制 磁盘I/O

文章目录 1 设备管理概述1.1 系统总线结构1.2 设备控制器通用结构1.3 I/O设备的模型 2 I/O端口2.1 寻址方式 3 驱动程序4 基本I/O控制方式4.1 程序直接控制4.2 中断I/O方式4.3 DMA方式4.4 I/O通道控制方式 5 I/O管理中的重要思想5.1 设备独立性5.2 SPOOLing技术5.3 I/O软件的多…

4.18每日一题(极坐标累次积分到直角坐标累次积分的转换)

注:rdr化为直角坐标以后r直接消去了,不需要计算

csapp archlab part 1

part A [rootedb3963640a6 misc]#./yas sum.ys [rootedb3963640a6 misc]# ./yis sum.yo./yas 和 ./yis 是汇编语言编译器和模拟器的命令行工具。 ./yas 是一个汇编语言编译器,它将汇编语言代码转换为可执行的二进制文件。./yas sum.ys 将sum.ys文件编译成了sum.yo可…

Visual NLP:图像信息自动提取的未来

本文旨在以简单的方式解释 Visual NLP 的关键概念,让你了解 Visual NLP 的含义、它的用例是什么、如何使用它以及为什么它是构建自动提取管道的未来 。 NSDT在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在…

【坑】JDK21虚拟线程不支持run方法

【坑】JDK21虚拟线程不支持run方法 run // do nothing java.lang.VirtualThread Overridepublic void start() {start(ThreadContainers.root());}Overridepublic void run() {// do nothing}