当前位置: 首页 » 资讯 » 科技头条 » 正文

约翰斯·霍普金斯大学造了一个"3D游乐场"

IP属地 中国·北京 科技行者 时间:2026-05-18 22:17:13


这项由约翰斯·霍普金斯大学研究团队完成的工作,以预印本形式发布于2026年5月,论文编号为arXiv:2605.12449,感兴趣的读者可通过该编号在arXiv平台查阅完整论文。

假设你是一个积木爱好者,平时搭积木有两个麻烦:一是要手动一块一块地放,非常耗时;二是搭完之后不知道哪里搭得不够好,只能靠肉眼去判断。现在,如果有人给你提供了一套自动化的搭积木系统——它不仅能按照你的想法自动摆好积木,还能拍照检查哪里搭歪了、哪里积木之间有空隙,甚至还能和你聊天,你说"把那张桌子挪近一点窗边",它立刻就能帮你调整——那该多方便?

这正是约翰斯·霍普金斯大学的研究团队用LychSim做的事情。只不过,他们的"积木"是逼真的3D虚拟世界,他们的"检查员"是计算机视觉模型,而那个能和你聊天的助手,则是接入了大型语言模型的智能代理。

一、为什么计算机视觉研究仍然离不开虚拟世界

近年来,AI领域出现了一种让人兴奋的趋势:机器视觉系统开始能从海量的网络图片和视频中"自学成才",而不再像过去那样依赖人工标注的数据集。这种叫做自监督学习的方式,让AI可以像人类婴儿一样,靠大量观察而不是手把手教导来学会辨认物体、理解空间关系。

然而,自学能力再强的学生,也需要一个可以反复练习、无限试错的"安全环境"。现实世界里的数据有两个根本缺陷:第一,你无法精确控制拍摄条件,比如你没办法让同一辆汽车在完全相同的环境下被从一千个不同角度拍摄;第二,你也无法给每一张照片都贴上精确到毫米的3D标注。而在虚拟世界里,这两件事都可以轻松实现。

此外,对于机器人或无人驾驶这类需要在真实环境中行动的AI系统来说,虚拟世界的作用更是不可替代。这些系统必须通过不断地和环境交互来学习,就像一个人必须通过大量实际驾驶经验才能成为好司机。在真实世界中大量试错代价极高,但在虚拟世界里,哪怕让汽车撞墙一百次也不会有任何损失。

问题在于,目前业界主流的虚拟仿真工具——比如著名的虚幻引擎5(Unreal Engine 5,简称UE5)——虽然能渲染出电影级别的真实画面,却并非为计算机视觉研究者设计的。要用好这些工具,研究者需要掌握复杂的图形学知识和C++编程技能,这对大多数视觉研究人员来说是一道难以逾越的技术壁垒。

LychSim的出现,正是为了拆掉这道墙。

二、搭建一个"傻瓜式"的虚拟3D工作台

LychSim本质上是搭建在虚幻引擎5之上的一套"翻译层"。它把那些原本需要写几百行C++代码才能完成的操作,包裹成了几行简单的Python命令。

以往,一个研究人员如果想在虚拟场景里放置一把椅子,他可能需要先搞清楚这把椅子在引擎里的类型是"静态网格体(StaticMesh)"还是"骨骼网格体(SkeletalMesh)"或者"蓝图(Blueprint)"——这三种类型在引擎内部的处理方式完全不同,对应的代码逻辑也截然不同。而在LychSim里,研究者完全不需要关心这些底层细节,无论是哪种类型的3D物体,他都只需要调用同一个`add_obj`命令,传入物体的路径和位置坐标,系统就会自动处理好剩下的一切。

从论文展示的代码示例来看,整个工作流清晰得令人印象深刻。研究者先用一行代码建立与仿真器的连接,然后直接用`add_obj`把各种类型的物体——无论是货叉车的骨骼网格还是轿车的蓝图——依次放到场景里,再用`get_cam_lit`、`get_cam_seg`、`get_cam_depth`、`get_cam_pointmap`这几个函数,像拨动相机快门一样,同时获取彩色照片、物体分割图、深度图和3D点云图,最后用`get_obj_annots`一键保存所有物体的空间标注信息,可用于完整重建整个3D场景。整个过程几十行代码就能搞定,不需要任何图形学背景知识。

这种易用性背后,是团队对虚幻引擎资产库的深度整合。研究团队从UE5的官方资产市场(Fab Asset Marketplace)获取了大量高质量的室内外场景和物体模型,这些场景涵盖了多种建筑风格、地理环境和光照条件。更重要的是,原始资产库里的模型往往是"散装的"——就像一堆没有标注的零件,你不知道每个零件叫什么名字、应该放多大、正面朝哪里。为此,研究团队为每个3D物体都补充了一套规范化的标注:语义类别标签(这是椅子还是桌子)、标准尺寸(确保来自不同来源的同类物体大小一致)、底部中心坐标(确保物体稳稳放在地面上)、正面朝向(确保所有椅子的正面方向一致,而不是乱朝各方),以及一段由大型语言模型生成的文字描述,比如"一把铁锈斑斑引擎盖的红色拖拉机"或"一只有扣子眼睛的棕色泰迪熊"。

三、给虚拟世界装上"全套传感器"

如果说Python接口解决了"怎么操控虚拟世界"的问题,那么丰富的标注数据输出则解决了"如何从虚拟世界获取有价值信息"的问题。

LychSim的数据输出体系分为三个层级,就像一个同时具备全景监控、精密测量和显微镜功能的实验室。

在场景这个整体层面,系统会记录当前的光照配置(包括方向光和环境光的参数)、能见度指标(用于模拟浓雾天气)以及降雨模拟参数。这些变量使研究者能够系统性地测试模型在各种极端天气和光照条件下的表现,而不必等待现实世界的恶劣天气出现。

在单帧图像层面,系统能同步生成多种像素级别的精确标注。深度图记录了场景中每个像素点到相机的距离;实例分割图用不同颜色标记出画面中每一个独立的物体;表面法向图记录了每个像素点所在表面的朝向,这在3D重建任务中极为关键;密集点云图则更进一步,直接输出每个像素点在三维空间中的精确坐标位置,与当下许多现代3D学习框架(如DUSt3R、MASt3R、VGGT等)天然兼容。

在单个物体层面,系统能提取出最精细的信息。除了常规的2D和3D边界框,LychSim还能输出两种在现有工具中相当罕见的标注——遮挡比例和零件分割。

遮挡比例的获取方式颇为巧妙。当画面中一个行人挡住了一辆自行车,我们通常只能看到自行车露出来的部分,并不知道它被遮挡了多少。LychSim的做法是:在渲染普通画面的同时,悄悄地用3D几何投影计算出每个物体的"完整轮廓",然后与实际可见部分做比较,就能得到精确的遮挡百分比,甚至还能判断出谁遮挡了谁的层次关系。论文里展示了一个例子,一辆自行车被行人遮挡,LychSim不仅渲染出了普通画面,还单独展示了自行车在被遮挡区域之外的完整形体,这对训练模型"脑补"被遮挡物体的真实形状具有相当价值。

零件分割则依赖于虚幻引擎5强大的渲染管线定制能力。研究团队直接修改了渲染器的输出目标,让它在渲染普通画面的同时,额外输出每个像素所属的物体零件编号和该像素在3D空间中的实际顶点坐标。这样,系统就能区分出一把椅子的椅背、椅腿和坐面分别在图像的哪个位置,进而分析每个零件的可见性。这种精细度在训练需要理解物体内部结构的AI模型时极有价值。

四、给场景建立"行为规则手册"

拥有了灵活的操控接口和丰富的数据输出,还缺最后一块拼图:如何自动生成大量既真实又多样的场景布局?

这正是LychSim的场景级程序化规则系统发挥作用的地方。研究团队为每个获取的3D场景制定了一套"行为规则手册",记录了该场景中哪些区域是可以行走的地面,哪些是道路,哪些是人行道,以及车辆和行人应该沿着怎样的轨迹运动。

为了方便标注这些规则,团队还专门开发了一个可视化标注工具,直接嵌入在虚幻编辑器界面里。用户只需要在场景中点选起点和终点,系统就会自动生成直线路径、样条曲线或矩形区域,并将这些空间规则导出为后续自动化生成使用的配置文件。从论文展示的截图来看,这个工具会在3D场景上叠加显示出各种彩色标注线和区域框,让空间规则一目了然。

有了这套规则,数据生成管线就能像一个有经验的舞台监督一样,在保持场景语义合理性的前提下,自动生成大量变体。室外场景中,车辆会沿着标注好的道路行驶,行人会在人行道上活动;室内场景中,家具会被放置在可导航区域内,不会穿墙而过。

更有趣的是,研究团队还用这套规则系统刻意生成了一批"反常识"的困难场景,用来考验和暴露AI模型的弱点。这些场景包括极端俯视或仰视角度的画面(模拟安装在天花板上的监控摄像头或贴近地面的摄像头)、大量物体相互遮挡的密集场景、以及同一类物体大量堆叠在一起造成的视觉混乱。这些场景在现实中偶尔会出现,但在标准数据集中极为罕见,正是AI模型最容易"翻车"的地方。

五、让大型语言模型直接"动手"改世界

LychSim的第三个核心设计,是将整套仿真系统与当下最火热的大型语言模型(LLM)技术打通。

具体的桥梁叫做模型上下文协议(Model Context Protocol,简称MCP)。简单理解,MCP就是一套标准化的"工具调用接口",让语言模型能够像使用手机应用一样,调用外部世界的各种工具来完成任务,而不仅仅停留在文字上的回答。

研究团队把LychSim的全套Python操作封装成了一组MCP工具,并运行了一个专门的MCP服务器。于是,一个接入了这个服务器的语言模型,就真正获得了在虚拟3D世界里"动手"的能力:它可以查询当前场景里有哪些物体、它们在哪里,可以放置新物体或删除已有物体,可以调整相机视角拍摄照片,还可以读取物体的精确位置和朝向信息。

在技术实现上,研究团队还处理了一个实际工程问题。原始的MCP服务器使用的是JSON格式定义工具,但在实践中发现,XML格式对于语言模型来说往往更友好,因为XML有明确的开始和结束标签,能大幅减少模型在生成工具调用指令时出现格式错误(比如漏写括号或引号没闭合)的概率。为此,系统与第三方MCP客户端配合,在Claude Code或Cursor这类常用开发环境中,系统会自动把JSON格式的工具定义翻译成XML格式给语言模型看,语言模型生成的XML指令再被解析回JSON格式,发送给仿真引擎执行。这套转换机制对用户完全透明,确保了整个交互的流畅性。

六、三个展示LychSim真实能力的实验案例

研究团队通过三个具体应用场景,展示了LychSim在实际研究工作中能带来哪些价值。

第一个案例是把LychSim当作训练数据的"工厂"。尽管合成数据和真实数据之间存在一定的视觉差距,但合成数据在研究中的价值已经被大量工作所证明。在诊断AI模型弱点方面,一项名为Unreal3DSpace的研究利用LychSim生成的场景分析了当前视觉语言模型在空间推理方面的失败模式,通过逐步分析模型的推理链条,发现了这些模型在判断"A能不能看到B"这类相对位置问题上的系统性缺陷。另一项名为PerceptualTaxonomy的研究则让模型从3D场景中推断出任务相关的属性,测试模型的目标导向推理能力。在直接用于模型训练方面,SAT、ScanForgeQA和SIMS-V等工作都证明了用高保真仿真数据进行后训练能够实质性地提升模型的空间理解性能。

第二个案例是训练一个专门寻找AI模型漏洞的"对抗性考官"。这个创意来自于一个洞察:现有的测试数据集都只覆盖了现实参数空间中一个相对狭窄的子集,比如物体总是以比较正常的角度出现,而不会以极度倾斜或极度近距离的方式呈现。研究团队基于强化学习训练了一个Gaussian策略模型,让它在3D场景中不断尝试不同的相机角度,目标是让另一个AI模型——专门用于物体分割的Segment Anything(SAM)——尽可能地预测失败。具体做法是:每次策略模型选择一个相机视角,LychSim就生成对应的画面,再把SAM的分割结果与真实标注做比较,计算出交并比(IoU)作为反馈信号,IoU越低说明SAM表现越差,策略模型就获得越高的奖励。

通过这套循环,策略模型逐渐学会了哪些视角最容易让SAM犯错。论文展示的失败案例很有意思:在一些看起来并不特别困难的普通室内环境中,当相机视角略有偏移时,SAM对椅子的分割交并比就从0.84骤降至0.64,说明该模型在某些特定视角下存在真实的系统性弱点,而这种弱点用普通的随机测试很难发现。

第三个案例是让AI代理通过聊天来生成和修改3D场景布局。研究团队展示了一套完整的交互流程:用户先提供一个markdown格式的场景规格说明文件,描述想要的场景类型(比如一个阁楼风格的办公室)、可用的3D资产列表、房间的几何尺寸,以及具体的布局要求(比如一张桌子上要有一台显示器和一叠书、三把椅子围绕桌子、角落里有一把软椅作为阅读区)。语言模型在接收到这个文件和一份描述可用MCP工具的技能文件之后,会自主地规划行动序列,调用`add_obj`放置各个家具,然后调用`get_cam_lit`从不同角度拍摄场景照片,仔细检查是否有物体漂浮在空中、椅子是否朝向错误,并在发现问题后自动调用`set_obj_loc`或`set_obj_rotation`进行修正,最后按照用户在规格文件中指定的"最终相机位置"拍摄一张英雄视角的成品图。

更有趣的是,这套系统还支持自然语言的持续修改。当用户在聊天框里输入"把工作台挪到靠近后面窗户的位置",模型会理解这个指令的空间含义,计算出新的位置坐标,调用工具完成移动,拍照确认效果,如果有必要还会继续调整周围受影响的其他家具。

研究团队同时用Claude Opus 4.6和Gemma 4两个模型测试了这个流程,两者都能生成视觉上相当连贯的场景布局,但也都暴露出了当前语言模型在3D空间推理上的限制,最常见的问题是物体之间发生穿插碰撞,或者物体被放置在从几何上不合理的位置。

七、这套系统站在哪些前人工作的肩膀上

LychSim并非凭空而来,它的设计深受此前多个相关工作的影响,同时也在多个维度上突破了这些前人工作的局限。

在整体框架层面,LychSim建立在UnrealCV的基础架构之上。UnrealCV是一个早期的工具,它提供了Python客户端和虚幻引擎后端之间的通信机制,但功能相对基础。LychSim在这个基础上做了大幅扩展,增加了丰富的2D和3D标注输出、程序化场景生成,以及与大型语言模型的原生集成。同期还有几个类似方向的工作——UnrealZoo侧重于加入丰富的人体运动,SimWorld则聚焦于城市级别的大场景——但都没有同时覆盖LychSim的全部三个设计维度。

在数据生成框架的竞品中,基于Blender的Infinigen系列工作非常有影响力,能通过程序化生成无限多样的室内外场景,近期还结合了Gemini-2.5-Pro来辅助生成更复杂的场景约束。LychSim选择虚幻引擎而非Blender的核心原因在于,虚幻引擎的资产市场提供了大量由专业艺术家精心制作的场景,其光照配置、材质细节和空间布局的真实感远超纯程序化生成的场景,从而在保持可控性的同时获得更高的视觉质量。

在场景布局自动生成这个子领域,LychSim也与一系列著名工作形成了呼应和互补。基于规则的方法(如ProcTHOR、Infinigen)能大规模生成语义合理的空间布局,但难以精确响应自然语言描述的特定需求。基于大型语言模型的方法(如SceneCraft、LayoutGPT、Holodeck、Idesign、LayoutVLM、CityCraft)能更灵活地理解用户意图,但通常是一次性生成,缺乏交互式修改的闭环能力。LychSim的MCP集成恰好为后一类方法提供了理想的交互环境:规则系统保证了基础场景的合理性,语言模型则负责理解和执行精细的自然语言指令,形成了互补的双引擎架构。

另外值得一提的是,在专注于物理仿真的另一条技术路线上,NVIDIA Isaac Sim、PyBullet和MuJoCo等平台以精确的刚体力学和碰撞物理见长,特别适合机器人操控类任务的强化学习训练。但这些平台的渲染质量和视觉多样性相对有限,无法满足计算机视觉研究对图像真实性的高要求。LychSim与这类平台形成了路线上的互补,各自擅长不同的应用场景。

八、开放共享的承诺与路线图

研究团队明确承诺将LychSim完全开源,这是一个相当重要的承诺,因为仿真框架本身的价值很大程度上来自于社区的共同使用和持续迭代。

具体来说,团队将公开的内容包括:完整的C++和Python源代码、MCP服务器实现、所有已用到的3D资产列表、以及为这些资产标注的全套程序化规则和物体级别的位姿对齐数据。此外,团队还计划提供完善的文档、API参考手册和快速入门教程。

在许可证方面,LychSim的源代码将采用MIT许可证开源,这是一种对学术和商业用途都非常友好的开放许可证。团队新增的数据标注将采用CC BY 4.0许可证发布,但底层3D网格体仍受Fab资产市场原有条款约束。

项目维护方面,核心团队表示将持续跟踪社区的bug报告,确保与未来引擎更新的兼容性,并积极审核社区提交的功能扩展请求。

说到底,LychSim的意义可能不仅在于它自身具备的功能,更在于它降低了整个计算机视觉研究社区使用高质量仿真工具的门槛。当更多的研究者能够轻松地用虚拟世界来严格测试他们的模型、生成他们需要的训练数据,整个领域的研究效率和结论可靠性都将受益。

而那个"让语言模型直接动手布置3D房间"的功能,除了作为研究工具之外,或许也让人看到了未来AI辅助设计工具的一种可能形态——你只需要用自然语言描述你想要的空间,AI就能一边看图、一边调整、一边和你确认,直到达到你满意的效果。当然,目前AI在理解"把椅子面对着桌子"这样的空间指令时还会犯各种低级错误,但这套框架至少提供了一个可以系统研究和改进这些问题的游乐场。

有兴趣深入了解的读者,可以通过arXiv编号2605.12449获取完整论文,项目主页为lychsim.github.io。

Q&A

Q1:LychSim和虚幻引擎有什么区别,直接用虚幻引擎不行吗?

A:虚幻引擎是LychSim的底层渲染引擎,直接用虚幻引擎需要掌握复杂的C++编程和图形学知识。LychSim相当于在虚幻引擎之上加了一层"翻译层",让研究者用简单的Python命令就能完成场景操控和数据获取,不需要任何游戏引擎开发经验。

Q2:LychSim生成的合成数据能用来训练真实场景下的AI模型吗?

A:可以,且已有多项研究证明了其有效性。SAT、ScanForgeQA和SIMS-V等工作都验证了用LychSim生成的高保真合成数据进行后训练,能显著提升模型在真实场景下的空间理解表现,关键在于LychSim能生成大量多样化且附带精确3D标注的训练样本。

Q3:LychSim里让语言模型布置3D场景的功能,目前效果怎么样?

A:整体已经能完成合理的场景布局,但仍存在明显缺陷。测试中,Claude Opus 4.6和Gemma 4两个模型都能生成视觉连贯的室内场景,并支持自然语言修改。主要问题是物体之间容易发生穿插碰撞,或被放置在空间上不合理的位置,研究团队将这归因于当前语言模型空间推理能力的根本性局限。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其内容真实性、完整性不作任何保证或承诺。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。