首页 > 其他分享 >Microsoft 推出 Trellis — 一种将图像转换为 3D 对象的 AI 模型

Microsoft 推出 Trellis — 一种将图像转换为 3D 对象的 AI 模型

时间:2025-01-16 21:45:08浏览次数:1  
标签:AI 模型 生成 -- video Trellis Microsoft 3D

微软Trellis:开启3D生成新纪元

  • 阅读时长:8分钟
  • 图片来源:微软研究院

近日热文:全网最全的神经网络数学原理(代码和公式)直观解释
欢迎关注知乎和公众号的专栏内容
LLM架构专栏
知乎LLM专栏
知乎【柏企
公众号【柏企科技说】【柏企阅文

几周前,微软推出了一种名为Trellis的全新3D生成方法,可用于创建多功能且高质量的3D资源。该模型使用统一的结构化潜在表示(SLAT),通过将稀疏3D网格与多视图视觉特征相结合,解码为多种格式,如辐射场、3D高斯和网格 。

听起来可能有点复杂,但简单来说,Trellis非常擅长创建看起来逼真且与你提供的描述或图片相匹配的高质量3D模型。对于艺术家、开发者和设计师而言,它是一个能够高效制作出令人惊叹的3D内容的强大工具。

我过去曾谈论过基于人工智能的3D对象生成器,但Trellis在速度和质量方面尤其令人印象深刻。

Trellis如何工作?

该方法使用整流流变换器,与现有方法相比取得了更优异的结果,并展现出灵活的编辑能力。

该模型在包含50万个对象的大型3D资源数据集上进行训练,通过大量实验和用户研究表明,它在质量和通用性方面超越了现有方法。

Trellis中的3D对象生成是一个两阶段的过程,使用一种名为“结构化潜在表示(SLAT)”的特殊代码 。

具体工作流程如下:

第一阶段:构建结构

  • 稀疏结构:Trellis首先使用一组“活动体素”创建对象的基本框架。体素就像是3D空间中的微小立方体,活动体素勾勒出对象的大致形状。可以想象搭建乐高模型时,先把主要的积木拼在一起以得到大致形状。
  • 结构压缩:为了提高效率,Trellis使用变分自动编码器(VAE)技术将这个框架压缩为一组更小的指令。
  • 生成框架:Trellis使用一种名为“整流流变换器”的特殊人工智能,将这些精简后的指令转化为对象框架的详细计划。这个计划会准确地告诉计算机在3D空间中放置活动体素的位置。

第二阶段:添加细节

  • 局部潜在表示:框架搭建好后,Trellis使用“局部潜在表示”为每个活动体素添加细节。这些潜在表示包含了对象外观的信息,如颜色和纹理。
  • 特征聚合:为了确定每个局部潜在表示的样子,Trellis使用强大的视觉模型DINOv2。这个视觉模型从多个不同角度分析对象的图片,并提取重要特征,如边缘、形状和颜色。
  • 生成细节:Trellis使用另一个整流流变换器将这些特征转化为详细的局部潜在表示。然后将这些潜在表示附加到活动体素上,从而完成3D模型的创建。

这个两阶段的过程使Trellis能够高效地创建高质量的3D模型。它利用人工智能和计算机视觉的力量,从文本描述或图片中理解并重新创建复杂的3D对象。

Trellis可以将这种SLAT表示转换为各种3D模型格式,例如:

  • 3D高斯
  • 辐射场
  • 网格

看看这些高质量的示例:

Trellis压缩结构和添加细节的方式,让人想起专业3D艺术家的工作流程 —— 从基础网格开始,然后分层添加细节。然而,与人类艺术家不同的是,Trellis完成这些工作所需的时间极短。

如何试用Trellis?

你可以在HuggingFace上试用Trellis。上传一张图片,然后点击“生成”即可创建一个3D资源。如果图片有alpha通道,它将被用作遮罩。你可以调整生成设置或GLB提取设置,也可以保留默认设置。

以下是示例3D输出:

如果你对生成的3D资源感到满意,点击“Extract GLB”提取GLB文件并下载。你还可以在GLTF Viewer等在线工具中查看3D资源。

注意:高斯文件可能非常大(约50MB),显示和下载可能需要一些时间。

以下是更多示例:

  • 提示词:具有金银设计的球形机器人。
  • 结果:整体看起来相当不错。金银纹理增添了不错的效果,从远处看很棒。但如果放大,会发现它仍然是低多边形模型。细节不够精细,有些边缘看起来很粗糙。不过,对于如此快速生成的模型来说,很难挑剔。如果你追求速度,并且该模型对于大多数用例来说已经足够好,那么这个结果是相当不错的。

这里还有一个以图片作为输入的示例。我真的很喜欢生成的3D模型与原始参考图片的高度相似性。整体形状和结构非常准确,这非常令人印象深刻。但是当你关注较小的细节,比如绳索或侧面复杂的纹理时,它们并不完美。即便如此,从正常观看距离看,它仍然看起来相当不错。对于在几秒钟内生成的模型来说,它比我预期的要好。如果你能接受一些小瑕疵,这是一个非常好的起点。

Trellis还擅长根据文本提示创建单个3D对象的多个变体。这个功能非常适合快速迭代设计。

不仅如此,Trellis在创作复杂且充满活力的3D艺术设计方面也表现出色。

这个3D场景的质量给我留下了深刻的印象。微软凭借这个高质量、可扩展的模型,为3D生成设定了新的标准。事实上,一些用户已经将使用Trellis创建的模型进行了3D打印,这太酷了!

在本地运行Trellis

你可以在GitHub上找到Trellis的代码,并按照以下步骤在本地运行:

  1. 克隆存储库
git clone --recurse-submodules https://github.com/microsoft/TRELLIS.git
cd TRELLIS
  1. 创建一个名为trellis的新conda环境并安装依赖项
. ./setup.sh --new-env --basic --xformers --flash-attn --diffoctreerast --spconv --mipgaussian --kaolin --nvdiffrast

运行. ./setup.sh --help可以查看setup.sh的详细用法。

Usage: setup.sh [OPTIONS]
Options:
 -h,

以下是如何使用预训练模型进行3D资源生成的示例:

import os
os.environ['SPCONV_ALGO'] = 'native'
import imageio
from PIL import Image
from trellis.pipelines import TrellisImageTo3DPipeline
from trellis.utils import render_utils, postprocessing_utils

pipeline = TrellisImageTo3DPipeline.from_pretrained("JeffreyXiang/TRELLIS-image-large")
pipeline.cuda()
image = Image.open("assets/example_image/T.png")
outputs = pipeline.run(
    image,
    seed=1,
)
video = render_utils.render_video(outputs['gaussian'][0])['color']
imageio.mimsave("sample_gs.mp4", video, fps=30)
video = render_utils.render_video(outputs['radiance_field'][0])['color']
imageio.mimsave("sample_rf.mp4", video, fps=30)
video = render_utils.render_video(outputs['mesh'][0])['normal']
imageio.mimsave("sample_mesh.mp4", video, fps=30)
glb = postprocessing_utils.to_glb(
    outputs['gaussian'][0],
    outputs['mesh'][0],
    simplify=0.95,
    texture_size=1024,
)
glb.export("sample.glb")
outputs['gaussian'][0].save_ply("sample.ply")

运行结果如下:

  • sample_gs.mp4:展示3D高斯表示的视频
  • sample_rf.mp4:展示辐射场表示的视频
  • sample_mesh.mp4:展示网格表示的视频
  • sample.glb:包含提取的带纹理网格的GLB文件
  • sample.ply:包含3D高斯表示的PLY文件

总结

Trellis不仅生成的模型质量不错,而且生成速度非常快,能在几秒钟内完成,这是向前迈出的一大步,也为未来的迭代发展展现出巨大的潜力。

不过,它并非完美无缺。复杂的模型,尤其是涉及人类特征的模型,可能会使它出现问题。但对于那些不懂或不想学习3D建模的人来说,它仍然是一个了不起的工具。

作为一名开发者,我迫不及待地想要获得API访问权限。能够快速创建3D资源开启了众多可能性。游戏开发者和动画师会发现它非常有用,我很期待看到社区利用它创造出什么。

相关文章:
本文发布于生成式人工智能板块。在领英上与我们联系,关注Zeniteq,及时了解最新的人工智能资讯。

订阅我们的时事通讯和YouTube频道,获取关于生成式人工智能的最新消息和更新。让我们一起塑造人工智能的未来! # 微软Trellis:开启3D生成新纪元

  • 阅读时长:8分钟
  • 发布时间:6天前
  • 图片来源:微软研究院

几周前,微软推出了一种名为Trellis的全新3D生成方法,可用于创建多功能且高质量的3D资源。该模型使用统一的结构化潜在表示(SLAT),通过将稀疏3D网格与多视图视觉特征相结合,解码为多种格式,如辐射场、3D高斯和网格 。

听起来可能有点复杂,但简单来说,Trellis非常擅长创建看起来逼真且与你提供的描述或图片相匹配的高质量3D模型。对于艺术家、开发者和设计师而言,它是一个能够高效制作出令人惊叹的3D内容的强大工具。

我过去曾谈论过基于人工智能的3D对象生成器,但Trellis在速度和质量方面尤其令人印象深刻。

Trellis如何工作?

该方法使用整流流变换器,与现有方法相比取得了更优异的结果,并展现出灵活的编辑能力。

该模型在包含50万个对象的大型3D资源数据集上进行训练,通过大量实验和用户研究表明,它在质量和通用性方面超越了现有方法。

Trellis中的3D对象生成是一个两阶段的过程,使用一种名为“结构化潜在表示(SLAT)”的特殊代码 。

具体工作流程如下:

第一阶段:构建结构

  • 稀疏结构:Trellis首先使用一组“活动体素”创建对象的基本框架。体素就像是3D空间中的微小立方体,活动体素勾勒出对象的大致形状。可以想象搭建乐高模型时,先把主要的积木拼在一起以得到大致形状。
  • 结构压缩:为了提高效率,Trellis使用变分自动编码器(VAE)技术将这个框架压缩为一组更小的指令。
  • 生成框架:Trellis使用一种名为“整流流变换器”的特殊人工智能,将这些精简后的指令转化为对象框架的详细计划。这个计划会准确地告诉计算机在3D空间中放置活动体素的位置。

第二阶段:添加细节

  • 局部潜在表示:框架搭建好后,Trellis使用“局部潜在表示”为每个活动体素添加细节。这些潜在表示包含了对象外观的信息,如颜色和纹理。
  • 特征聚合:为了确定每个局部潜在表示的样子,Trellis使用强大的视觉模型DINOv2。这个视觉模型从多个不同角度分析对象的图片,并提取重要特征,如边缘、形状和颜色。
  • 生成细节:Trellis使用另一个整流流变换器将这些特征转化为详细的局部潜在表示。然后将这些潜在表示附加到活动体素上,从而完成3D模型的创建。

这个两阶段的过程使Trellis能够高效地创建高质量的3D模型。它利用人工智能和计算机视觉的力量,从文本描述或图片中理解并重新创建复杂的3D对象。

Trellis可以将这种SLAT表示转换为各种3D模型格式,例如:

  • 3D高斯
  • 辐射场
  • 网格

看看这些高质量的示例:

Trellis压缩结构和添加细节的方式,让人想起专业3D艺术家的工作流程 —— 从基础网格开始,然后分层添加细节。然而,与人类艺术家不同的是,Trellis完成这些工作所需的时间极短。

如何试用Trellis?

你可以在HuggingFace上试用Trellis。上传一张图片,然后点击“生成”即可创建一个3D资源。如果图片有alpha通道,它将被用作遮罩。你可以调整生成设置或GLB提取设置,也可以保留默认设置。

以下是示例3D输出:

如果你对生成的3D资源感到满意,点击“Extract GLB”提取GLB文件并下载。你还可以在GLTF Viewer等在线工具中查看3D资源。

注意:高斯文件可能非常大(约50MB),显示和下载可能需要一些时间。

以下是更多示例:

  • 提示词:具有金银设计的球形机器人。
  • 结果:整体看起来相当不错。金银纹理增添了不错的效果,从远处看很棒。但如果放大,会发现它仍然是低多边形模型。细节不够精细,有些边缘看起来很粗糙。不过,对于如此快速生成的模型来说,很难挑剔。如果你追求速度,并且该模型对于大多数用例来说已经足够好,那么这个结果是相当不错的。

这里还有一个以图片作为输入的示例。我真的很喜欢生成的3D模型与原始参考图片的高度相似性。整体形状和结构非常准确,这非常令人印象深刻。但是当你关注较小的细节,比如绳索或侧面复杂的纹理时,它们并不完美。即便如此,从正常观看距离看,它仍然看起来相当不错。对于在几秒钟内生成的模型来说,它比我预期的要好。如果你能接受一些小瑕疵,这是一个非常好的起点。

Trellis还擅长根据文本提示创建单个3D对象的多个变体。这个功能非常适合快速迭代设计。

不仅如此,Trellis在创作复杂且充满活力的3D艺术设计方面也表现出色。

这个3D场景的质量给我留下了深刻的印象。微软凭借这个高质量、可扩展的模型,为3D生成设定了新的标准。事实上,一些用户已经将使用Trellis创建的模型进行了3D打印,这太酷了!

在本地运行Trellis

你可以在GitHub上找到Trellis的代码,并按照以下步骤在本地运行:

  1. 克隆存储库
git clone --recurse-submodules https://github.com/microsoft/TRELLIS.git
cd TRELLIS
  1. 创建一个名为trellis的新conda环境并安装依赖项
. ./setup.sh --new-env --basic --xformers --flash-attn --diffoctreerast --spconv --mipgaussian --kaolin --nvdiffrast

运行. ./setup.sh --help可以查看setup.sh的详细用法。

Usage: setup.sh [OPTIONS]
Options:
 -h,

以下是如何使用预训练模型进行3D资源生成的示例:

import os
os.environ['SPCONV_ALGO'] = 'native'
import imageio
from PIL import Image
from trellis.pipelines import TrellisImageTo3DPipeline
from trellis.utils import render_utils, postprocessing_utils

pipeline = TrellisImageTo3DPipeline.from_pretrained("JeffreyXiang/TRELLIS-image-large")
pipeline.cuda()
image = Image.open("assets/example_image/T.png")
outputs = pipeline.run(
    image,
    seed=1,
)
video = render_utils.render_video(outputs['gaussian'][0])['color']
imageio.mimsave("sample_gs.mp4", video, fps=30)
video = render_utils.render_video(outputs['radiance_field'][0])['color']
imageio.mimsave("sample_rf.mp4", video, fps=30)
video = render_utils.render_video(outputs['mesh'][0])['normal']
imageio.mimsave("sample_mesh.mp4", video, fps=30)
glb = postprocessing_utils.to_glb(
    outputs['gaussian'][0],
    outputs['mesh'][0],
    simplify=0.95,
    texture_size=1024,
)
glb.export("sample.glb")
outputs['gaussian'][0].save_ply("sample.ply")

本文由mdnice多平台发布

标签:AI,模型,生成,--,video,Trellis,Microsoft,3D
From: https://www.cnblogs.com/tunancbq/p/18675801

相关文章

  • 利用AI大模型实现个性化视频配音
    打造个性化AI视频配音​​最近,我萌生了拍摄短视频的念头,希望通过这个平台与大家分享一些AI技术的实际应用。然而,在准备过程中,我遇到了一个难题——配音。家里的环境嘈杂,收音设备也不够专业,这让在录制配音时感到非常难受。一开始,我考虑使用机器配音来解决这个......
  • 分享10个好用的AI工具网站
    一、DeepSeek地址:DeepSeek简介:DeepSeek-V3在推理速度上相较历史模型有了大幅提升。在目前大模型主流榜单中,DeepSeek-V3在开源模型中位列榜首,与世界上最先进的闭源模型不分伯仲。二、网易见外地址:网易见外-AI智能语音转写听翻平台简介:网易见外是一个由网易人工智能......
  • JSP罗曼蒂克网上花店平台37xai(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表开题报告内容一、研究背景随着电子商务的蓬勃发展,线上购物已成为人们日常生活的重要组成部分。鲜花作为一种常见的礼品,广泛应用于各种场合,如生日、结婚、母亲节......
  • Gemini 多模态功能:七大应用场景,解锁 AI 无限可能
    你是否想象过,一台机器可以像人类一样,同时理解图像、视频和文字? GoogleGemini的诞生,让这一想象成为现实。作为GoogleAI的最新成果,Gemini的多模态能力为企业带来了前所未有的机遇。本文将以性能卓越的Gemini1.5Pro为例,分享Gemini在七大实际应用场景中的表现,并重点关注......
  • 当我用中国柔术对付AI恶徒
    近年来有很多AI对话情景模拟软件,小试牛刀当我用中国柔术对付AI恶徒: 结果:把昏君系统颠覆成明君和鼎盛国运,获得隐藏任务奖励:仙人卡把三分钟让你破防系统整破防,灰溜溜离开攻略约架对象萌化怪兽哥斯拉让骂人的萝卜怪脸红让前一万亿句话只会说o的玉米不说o把柯南聊害羞......
  • docker containner挂掉,无法exec进入bash,如何修改文件的终极解决方法.210730
    场景:Nginx在bash里面配置的时候挂掉了,然后dockerstart不起来,execbash进不去,造成无法再改里面的文件了解决方法:1,dockerps–a可以查到所有docker,包括没有运行的,找到containnerID[root@hecs-29489~]#dockerps-aCONTAINERIDIMAGECOMMANDC......
  • Flutter使用FractionallySizedBox组件报错Failed assertion: line 2164 pos 12: 'hasS
    这里从解决方法那里直接给出个有效的方式。就是如果你使用了FractionallySizedBox组件,第一是这个组件只能在固定宽高下或者Row,Flex,Column组件下使用。第二就是这个组件需要在Flexible下使用.结构就是:Row->Flexible->FractionallySizedBox给出简单的代码示例......
  • .Net的AppDomain
     一、AppDomain的作用 AppDomain(应用程序域)是一种在.NET中提供的隔离机制,用于将应用程序的不同部分隔离开来,以提高安全性、可靠性和可管理性。以下是其主要的功能和用途: 隔离性:允许在一个进程中运行多个应用程序,同时使它们相互隔离。这样可以避免一个应用程序中的错......
  • 打破写作瓶颈!2025年最好的AI免费写作工具全在这里
    AI写作工具推荐:从初学者到专业创作者,总有一款适合你!近年来,AI技术的发展可谓突飞猛进,尤其是在写作领域,许多AI写作工具已经成为内容创作者的重要助手。从灵感激发到长篇创作,再到SEO优化,无论是业余作者还是专业撰稿人,都能从这些工具中受益匪浅。今天,我就来为大家盘点几款国内......
  • IAR编译工程报错:CreateProcess failed:The system cannot find the file specified
    IAR安装完成后,编译STM32的工程时报如下错误信息:CreateProcessfailed:Thesystemcannotfindthefilespecified全网检索各种答案都有,尝试重新安装、版本升级等都没能解决。因为之前有过安装8.32版本,卸载后又进行安装的9.2版本,抱着试探的心理,打开注册表将和IAR相关......