创新性3D数据合成模型,微软推出EgoGen

news/2025/2/12 3:54:36/

随着AR、VR等设备的广泛应用,第一人称的应用开始增多。但在研发方面面临不同的挑战,例如,图像模糊、视觉混乱、遮挡更严重等,给视觉模型的训练带来重大挑战。

一方面,人工标注真实第一视角数据集,来培训深度学习模型的成本和难度都很高。另一方面,以往用于第三人称视角的虚拟渲染数据,无法很好地模拟第一视角下的真实人体运动与环境交互过程。

为了解决这些难题,微软和苏黎世联邦理工学院的研究人员推出了EgoGen,这是一个用于生成第一视角训练数据的模型。

EgoGen不仅具有高效的数据生成流程,还能够适用于多个自我中心感知任务,例如,生成的数据可以用于恢复自我中心视角下的人体网格。

论文地址:https://arxiv.org/abs/2401.08739

即将开源地址:https://github.com/ligengen/EgoGen

图片

EgoGen使用了一种创新的人体运动合成模型来合成高数据。该模型通过直接利用虚拟人的自我中心视觉输入,来感知周围3D环境。

与先前的方法相比,EgoGen的模型消除了对预定义全局路径的需求,并且可以直接应用于动态环境。

生成模型训练

EgoGen模型的第一阶段,研究人员使用了一种生成模型来训练虚拟人物的行为,将身体运动和感知过程无缝地结合起来。

身体运动与感知的关键点是使虚拟人能够通过自我感知的视觉输入看到他们的环境,并通过学习控制一组避免碰撞的运动基元的策略来做出相应的反应,这些基元可以组合以合成长期的多样化人类动作。

图片

通常我们生成的运动基元模型具有无界和高维的潜在动作空间,直接通过渲染的自我感知图像进行策略训练是很不稳定的。

图片

所以,EgoGen使用了一种高效的自我感知视觉代理的双阶段强化学习方案,无缝地将自我感知视觉线索和身体运动相结合,同时使用了“注意”奖励来激励自我感知行为。

强化学习优化

研究人员使用了强化学习优化方法对生成模型进行性能优化,可以让虚拟人物能够以最佳方式感知环境、规避障碍并达到目的地。

主要通过奖励函数的引导,使虚拟人物的运动变得更加自然和逼真。具体来说,当虚拟人物在生成过程中朝着期望的方向观察时,将受到"注意"奖励的正向反馈。

这意味着如果虚拟人物能够集中注意力并关注与任务相关的对象或区域,将获得额外的奖励信号。这鼓励虚拟人物在感知任务中更加专注和准确。

图片

"注意"奖励的实现方式可以根据具体情况进行调整。例如,在训练过程中,可以通过监测虚拟人物的视觉输入和目标方向之间的一致性来计算奖励值

如果虚拟人物的注意力与任务目标的位置或运动方向相一致,奖励值将增加;反之,如果虚拟人物的注意力偏离了任务目标,奖励值将减少或为负值。

图片

通过不断优化生成模型,并利用这些奖励信号进行反馈,逐步改进了虚拟人物的行为,使其能够准确地感知和适应复杂的环境。

图片

为了验证EgoGen方法的有效性,研究人员在三个第一人称的感知任务上进行了综合评估:头戴式摄像头的建图和定位、摄像头跟踪以及从第一视角恢复人体网格。

通过使用EgoGen生成的高质量合成数据,并提供精确的地面真实标注,现有的最先进算法在这些任务上的性能全部得到了大幅度增强。

本文素材来源EgoGen论文,如有侵权请联系删除

END


http://www.ppmy.cn/news/1361045.html

相关文章

Go slice的底层实现原理?

切片是基于数组实现的,它的底层是数组,可以理解为对 底层数组的抽象。 源码包中src/runtime/slice.go 定义了slice的数据结构: type slice struct {array unsafe.Pointerlen intcap int }slice占用24个字节 array: 指向底层数组的指针…

LabVIEW串口通信的激光器模块智能控制

LabVIEW串口通信的激光器模块智能控制 介绍了通过于LabVIEW的VISA串口通信技术在激光器模块控制中的应用。通过研究VISA串口通信的方法和流程,实现了对激光器模块的有效控制,解决了数据发送格式的匹配问题,为激光器模块的智能控制提供了一种…

使用Python制作进度条有多少种方法?看这一篇文章就够了!

前言 偶然间刷到一个视频,说到:当程序正在运算时,会有一个较长时间的空白期,谁也不知道程序运行的进度如何,不如给他加个进度条。 于是我今个就搜寻一下,Python版的进度条都可以怎么写! 送书…

gdb调试core文件和调试正在运行中的程序

在使用GDB进行调试时,可以调试core文件或者正在运行中的程序。下面我将详细介绍如何使用GDB进行这两种方式的调试。 调试core文件 获取core文件 当程序由于严重错误(如段错误)而终止时,操作系统会生成一个core文件,其…

多人协作记账账本小程序开源版开发

多人协作记账账本小程序开源版开发 支持多人协作的记账本小程序,可用于家庭,团队,组织以及个人的日常收支情况记录,支持周月年度统计 便捷记账 便捷的记账方式,支持多种记账类型,快捷切换账本等 多账本 支…

qt-动画圆圈等待-LED数字

qt-动画圆圈等待-LED数字 一、演示效果二、关键程序三、下载链接 一、演示效果 二、关键程序 #include "LedNumber.h" #include <QLabel>LEDNumber::LEDNumber(QWidget *parent) : QWidget(parent) {//设置默认宽高比setScale((float)0.6);//设置默认背景色se…

SpringBoot和SpringCloud的区别,使用微服务的好处和缺点

SpringBoot是一个用于快速开发单个Spring应用程序的框架&#xff0c;通过提供默认配置和约定大于配置的方式&#xff0c;快速搭建基于Spring的应用。让程序员更专注于业务逻辑的编写&#xff0c;不需要过多关注配置细节。可以看成是一种快速搭建房子的工具包&#xff0c;不用从…

【数据结构(顺序表)】

一、什么是数据结构? 数据结构是由“数据”和“结构”两词组合而来。 什么是数据&#xff1f;常见的数值1、2、3、4.....、教务系统里保存的用户信息&#xff08;姓名、性别、年龄、学历等等&#xff09;、网页里肉眼可以看到的信息&#xff08;文字、图片、视频等等&#xff…