Stable Video 3D震撼登场:单图生成无死角3D视频、模型权重开放

Stability AI 的大模型家族来了一位新成员。

昨日,Stability AI 继推出文生图 Stable Diffusion、文生视频 Stable Video Diffusion 之后,又为社区带来了 3D 视频生成大模型「Stable Video 3D」(简称 SV3D)。

该模型是基于 Stable Video Diffusion 构建的,其主要优势在于显著提升了3D生成的质量和多视角一致性。相较于之前的Stability AI推出的Stable Zero123以及联合开源的Zero123-XL,该模型的效果更为出色。

目前,Stable Video 3D 既支持商用,需要加入 Stability AI 会员(Membership);也支持非商用,用户在 Hugging Face 上下载模型权重即可。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

Stable Video 3D震撼登场:单图生成无死角3D视频、模型权重开放

Stability AI 提供了两个模型变体,分别是 SV3D_u 和 SV3D_p。SV3D_u 基于单个图像输入,无需进行相机调整即可生成轨道视频;而 SV3D_p 则进一步扩展了生成能力,通过适配单个图像和轨道视角,允许用户沿指定的相机路径创建 3D 视频。

目前,Stable Video 3D 的研究论文已经放出,核心作者有三位。

Stable Video 3D震撼登场:单图生成无死角3D视频、模型权重开放

论文地址:https://stability.ai/s/SV3D_report.pdf博客地址:https://stability.ai/news/introducing-stable-video-3dHuggingface 地址:https://huggingface.co/stabilityai/sv3d

技术概览

Stable Video 3D 在 3D 生成领域实现重大进步,尤其是在新颖视图生成(novel view synthesis,NVS)方面。

以往的方法通常倾向于解决有限视角和输入不一致的问题,而 Stable Video 3D 能够从任何给定角度提供连贯视图,并能够很好地泛化。因此,该模型不仅增加了姿势可控性,还能确保多个视图中对象外观的一致性,进一步改进了影响真实和准确 3D 生成的关键问题。

如下图所示,与 Stable Zero123、Zero-XL 相比,Stable Video 3D 能够生成细节更强、更忠实于输入图像和多视角更一致的新颖多视图。

Stable Video 3D震撼登场:单图生成无死角3D视频、模型权重开放

此外,Stable Video 3D 利用其多视角一致性来优化 3D 神经辐射场(Neural Radiance Fields,NeRF),以提高直接从新视图生成 3D 网格的质量。

为此,Stability AI 设计了掩码分数蒸馏采样损失,进一步增强了预测视图中未见过区域的 3D 质量。同时为了减轻烘焙照明问题,Stable Video 3D 采用了与 3D 形状和纹理共同优化的解耦照明模型。

下图为使用 Stable Video 3D 模型及其输出时,通过 3D 优化改进后的 3D 网格生成示例。

Stable Video 3D震撼登场:单图生成无死角3D视频、模型权重开放

下图为使用 Stable Video 3D 生成的 3D 网格结果与 EscherNet、Stable Zero123 的生成结果比较。

Stable Video 3D震撼登场:单图生成无死角3D视频、模型权重开放

架构细节

Stable Video 3D 模型的架构如下图 2 所示,它基于 Stable Video Diffusion 架构构建而成,包含一个具有多个层的 UNet,其中每一层又包含一个带有 Conv3D 层的残差块序列,以及两个带有注意力层(空间和时间)的 transformer 块。

Stable Video 3D震撼登场:单图生成无死角3D视频、模型权重开放

具体流程如下所示:

(i) 删除「fps id」和「motion bucket id」的矢量条件, 原因是它们与 Stable Video 3D 无关;

(ii) 条件图像通过 Stable Video Diffusion 的 VAE 编码器嵌入到潜在空间,然后在通向 UNet 的噪声时间步 t 处连接到噪声潜在状态输入 zt;

(iii) 条件图像的 CLIPembedding 矩阵被提供给每个 transformer 块的交叉注意力层来充当键和值,而查询成为相应层的特征;

(iv) 相机轨迹沿着扩散噪声时间步被馈入到残差块中。相机姿势角度 ei 和 ai 以及噪声时间步 t 首先被嵌入到正弦位置嵌入中,然后将相机姿势嵌入连接在一起进行线性变换并添加到噪声时间步嵌入中,最后被馈入到每个残差块并被添加到该块的输入特征中。

此外,Stability AI 设计了静态轨道和动态轨道来研究相机姿势调整的影响,具体如下图 3 所示。

Stable Video 3D震撼登场:单图生成无死角3D视频、模型权重开放

在静态轨道上,相机采用与条件图像相同的仰角,以等距方位角围绕对象旋转。这样做的缺点是基于调整的仰角,可能无法获得关于对象顶部或底部的任何信息。而在动态轨道上,方位角可以不等距,每个视图的仰角也可以不同。

为了构建动态轨道,Stability AI 对静态轨道采样,向方位角添加小的随机噪声,并向其仰角添加不同频率的正弦曲线的随机加权组合。这样做提供了时间平滑性,并确保相机轨迹沿着与条件图像相同的方位角和仰角循环结束。

实验结果

Stability AI 在未见过的 GSO 和 OmniObject3D 数据集上,评估了静态和动态轨道上的 Stable Video 3D 合成多视图效果。结果如下表 1 至表 4 所示,Stable Video 3D 在新颖多视图合成方面实现了 SOTA 效果。

表 1 和表 3 显示了 Stable Video 3D 与其他模型在静态轨道的结果,表明了即使是无姿势调整的模型 SV3D_u,也比所有先前的方法表现得更好。

消融分析结果表明,SV3D_c 和 SV3D_p 在静态轨道的生成方面优于 SV3D_u,尽管后者专门在静态轨道上进行了训练。

Stable Video 3D震撼登场:单图生成无死角3D视频、模型权重开放

Stable Video 3D震撼登场:单图生成无死角3D视频、模型权重开放

下表 2 和表 4 展示了动态轨道的生成结果,包括姿势调整模型 SV3D_c 和 SV3D_p,后者在所有指标上实现了 SOTA。

Stable Video 3D震撼登场:单图生成无死角3D视频、模型权重开放

Stable Video 3D震撼登场:单图生成无死角3D视频、模型权重开放

下图 6 中的视觉比较结果进一步表明,与以往工作相比,Stable Video 3D 生成的图像细节更强、更忠实于条件图像、多视角更加一致。

Stable Video 3D震撼登场:单图生成无死角3D视频、模型权重开放

更多技术细节和实验结果请参阅原论文。

以上就是Stable Video 3D震撼登场:单图生成无死角3D视频、模型权重开放的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/424613.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年11月7日 10:59:11
下一篇 2025年11月7日 11:00:17

相关推荐

  • Go语言中实现惯用的文件日期提取函数:最佳实践指南

    本文探讨如何在go语言中编写一个惯用的函数,用于从文件名中提取最新日期。我们将对比初始实现,并逐步优化,涵盖正则表达式的编译与重用、go风格的错误处理(如早期返回和命名返回值),以及如何通过重构提升代码的清晰度和性能,旨在帮助开发者掌握go语言的核心编程范式。 在Go语言中,编写高效、可读且符合语言…

    2025年12月16日
    000
  • Go语言中判断文件夹存在性与可写性

    本文探讨了在Go语言中如何判断一个文件夹是否存在且可写。对于类Unix系统,可利用`golang.org/x/sys/unix`包中的`unix.Access`函数配合`unix.W_OK`进行检查。文章同时强调了权限检查的局限性,如权限可能瞬时变化,并建议在某些场景下直接尝试操作可能更为稳健。 G…

    2025年12月16日
    000
  • Go语言:使用io.Pipe和Goroutine构建透明的gzip数据流管道

    本文探讨了在go语言中实现透明、实时gzip压缩与解压缩数据流的方法。针对直接连接`gzip.writer`和`gzip.reader`失败的问题,文章详细阐述了如何利用`io.pipe`作为数据管道,并结合go协程(goroutine)实现并发读写,从而高效地创建出一个“过滤器式”的压缩/解压缩机…

    2025年12月16日
    000
  • Go语言中Goroutine同步的最佳实践:使用sync.WaitGroup

    在Go语言中,当使用多个goroutine并行执行任务时,确保所有并发任务完成是常见的需求。`sync.WaitGroup`是Go标准库提供的一种高效且惯用的同步原语,它通过一个内部计数器来跟踪活跃的goroutine数量,允许主goroutine阻塞等待,直到所有子goroutine都完成其工作,…

    2025年12月16日
    000
  • Go语言函数优化实践:提升代码可读性与效率

    本文通过一个从文件名中提取最新日期的go函数为例,深入探讨了go语言中的惯用编程实践。内容涵盖了正则表达式的编译与复用、早期返回的错误处理模式、命名返回参数的灵活运用以及直接返回函数结果等优化技巧,旨在帮助开发者编写更高效、更具可读性的go代码。 在Go语言开发中,编写“惯用”(idiomatic)…

    2025年12月16日
    000
  • Go语言内存映射文件与数据持久化:RDWR模式下的Flush机制解析

    本文深入探讨了内存映射文件(mmap)在读写(rdwr)模式下的数据持久化机制。尽管rdwr模式允许修改底层文件,但操作系统通常不会立即将这些修改写入磁盘。为了确保数据及时同步到文件系统,需要显式调用`flush`(对应于`msync`系统调用)。文章将详细解释不同访问模式、`flush`的必要性及…

    2025年12月16日
    000
  • Go net/http 服务器处理无路径HTTP请求的原理与限制

    本文深入探讨了go语言`net/http`服务器在接收到缺少url路径组件的http请求时,为何会直接返回400 bad request,而无法进入自定义处理器。我们将分析go标准库内部的请求解析流程,特别是`url.parserequesturi`函数在此过程中的关键作用,揭示其对空路径的严格校验…

    2025年12月16日
    000
  • Go语言中实现AWS SNS消息签名验证教程

    本教程旨在指导开发者如何在go语言中安全有效地验证aws sns(simple notification service)消息的签名。通过介绍sns签名验证的重要性,并详细展示如何利用`go.sns`这一第三方库来简化复杂的验证流程,本文将提供一个清晰、实用的解决方案,帮助您确保接收到的sns消息的…

    2025年12月16日
    000
  • Go HTTP 服务器:解析无路径请求的限制与内部机制

    go的`net/http`包在处理http请求时,对请求uri的格式有严格要求。本文深入探讨了go http服务器为何会拒绝缺少路径组件的请求(例如`post http/1.1`),并解释了其内部解析机制。通过分析`readrequest`和`url.parserequesturi`函数,揭示了这类…

    2025年12月16日
    000
  • Go语言中nil指针与接口类型在依赖注入中的应用解析

    本文深入探讨go语言中(*type)(nil)语法的含义及其在实际应用,特别是依赖注入框架中的作用。我们将解析这种语法如何表示一个带有特定类型的nil指针,以及为何它能有效地用于提供接口类型信息,而无需实例化具体对象。同时,文章也将澄清go接口与指针之间的关系,帮助读者更全面地理解go的类型系统。 …

    2025年12月16日
    000
  • Go语言中实现透明(过滤式)Gzip/Gunzip数据流处理

    本文探讨了在go语言中实现透明、过滤式数据流处理的有效方法,特别以`gzip`压缩/解压为例。针对直接连接`gzip.writer`和`gzip.reader`到同一`bytes.buffer`导致的并发问题和死锁,文章提出了使用`io.pipe`和go协程的解决方案。`io.pipe`提供同步的内…

    2025年12月16日
    000
  • Go语言中切片与数组的转换:理解底层差异与实践

    在go语言中,切片(slice)不能直接隐式转换为数组(array)并作为函数参数传递。这源于它们在内存表示和行为上的根本差异:数组是固定大小的值类型,传递时进行完整复制;而切片是引用类型,传递时复制其头部结构,指向同一底层数组。因此,若需将切片内容传递给期望数组的函数,必须通过显式复制操作来完成,…

    2025年12月16日
    000
  • 深入理解 Go pprof:解决性能分析结果不完整的问题

    go pprof 作为一款采样式性能分析工具,其结果中可能不会显示应用程序中的所有方法。这通常是由于方法在调用栈上停留时间过短,不足以被 pprof 的采样机制捕获,或者性能分析的持续时间不足。本文将深入探讨 pprof 的采样工作原理,解释为何会出现方法缺失的情况,并提供相应的策略,帮助用户获取更…

    2025年12月16日
    000
  • Go语言协程同步:使用 sync.WaitGroup 的最佳实践

    本文深入探讨了在go语言中,当启动多个goroutine并行处理任务时,如何优雅且高效地等待所有goroutine完成其工作。我们将重点介绍并演示 `sync.waitgroup` 这一标准库提供的机制,它是实现此类并发同步的惯用且推荐方式,相比于手动管理通道,`waitgroup` 提供了更简洁、…

    2025年12月16日
    000
  • Go 语言 (*Type)(nil) 表达式:接口类型与依赖注入中的应用解析

    本文深入探讨 go 语言中 `(*type)(nil)` 表达式的含义及其在接口类型映射中的作用,特别是在依赖注入框架中的应用。我们将解析 `nil` 指针的类型特性,阐明该构造如何提供类型信息而无需实例化对象,并澄清 go 接口与指针之间的关系,旨在帮助读者理解其在构建灵活系统中的价值。 理解 (…

    2025年12月16日
    000
  • Go语言:实现Goroutine数据定时输出与状态共享的最佳实践

    本文将深入探讨在go语言中如何优雅地实现从长时间运行的goroutine中定时获取并输出数据。我们将介绍一种通过共享受保护状态(利用sync.rwmutex保障并发安全)结合定时器机制(time.tick)的解决方案,以确保主程序能按固定间隔读取并打印goroutine的最新进展,同时避免复杂的通道…

    2025年12月16日
    000
  • 基于内存消耗的自动缓存淘汰机制实现教程

    本文深入探讨了如何在go语言中实现基于系统内存消耗的lru缓存自动淘汰机制。文章详细介绍了通过周期性轮询操作系统内存统计信息(如linux上的`syscall.sysinfo`和macos上的`mach`接口)来获取实时的内存使用情况。通过示例代码展示了跨平台获取内存数据的具体实现,并讨论了将这些数…

    2025年12月16日
    000
  • 如何在Golang中实现简单的错误统一处理_Golang错误处理项目实战汇总

    通过自定义AppError结构体封装错误,提供工厂函数生成标准错误,结合中间件统一捕获并响应JSON格式错误信息,同时集成日志记录与追踪,实现Go项目中一致、可观测的错误处理体系。 在Go语言开发中,错误处理是日常编码的重要部分。虽然Go没有异常机制,而是通过返回error类型来传递错误信息,但如果…

    2025年12月16日
    000
  • Golang如何实现文件内容搜索与统计_Golang文件内容搜索统计实践详解

    使用Golang实现文件内容搜索与统计,首先通过filepath.Walk遍历目录并筛选.txt、.log、.go等文本文件,将匹配文件路径发送至通道;接着启动多个协程并发读取文件,利用bufio.Scanner逐行扫描,结合strings.Contains或regexp.Regexp进行关键词匹配…

    2025年12月16日
    000
  • 如何在Golang中实现Web请求参数自动绑定_Golang Web请求参数自动绑定方法汇总

    Go语言中实现Web请求参数自动绑定可提升开发效率,常见方法包括:使用%ignore_a_1%.com/mholt/binding库进行结构体映射与验证;利用Gin框架的ShouldBind或BindJSON等方法自动解析JSON、表单数据;采用Echo框架的Context.Bind()支持多格式绑…

    2025年12月16日
    000

发表回复

登录后才能评论
关注微信