当前位置: 首页 > news >正文

魔改Stable Diffusion,开源创新“单目深度估计”模型

单目深度估计一直是计算机视觉领域的难点。仅凭一张 RGB 图像,想要还原出场景的三维结构,在几何结构上非常不确定,必须依赖复杂的场景理解能力。

即便使用更强大的深度学习模型来实现,也面临算力需求高、图像数据注释量大、泛化能力弱等缺点。

为了解决这些难题,苏黎世联邦理工学院的研究人员开发了Marigold模型。Marigold不需要从零开始训练,而是在Stable Diffusion(著名开源文生图模型)的基础上进行微调,只需要使用合成数据微调了中间的去噪网络,其他模块例如,编码/解码结构均保持原样,极大降低了训练成本。

实验数据显示,尽管Marigold从未直接学习过真实的深度信息,但在真实场景的测试中,其性能却超越了其他专门训练过的模型,并且迁移、兼容性非常强。

开源地址:https://github.com/prs-eth/Marigold

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

图片

Marigold的核心技术思路是,利用Stable Diffusion模型所捕获的丰富先验知识,来提升深度估计的泛化能力和性能。

简单来说,就是把Stable Diffusion当成一个图片查询数据库,只修改其去噪模块,就变成了可实现单目深度估计的全新模型

Marigold的关键点在于保持预训练扩散模型的潜在空间,只对去噪U-Net进行修改和微调。

这种方法非常高效,无需实际深度图像的训练数据,就能在多个真实数据集上取得出色的性能表现。

图片

Marigold提供了一个简单而资源高效的微调协议,将预训练的扩散生成模型转化为图像条件的深度估计器,成为了一种功能强大的单目深度估计模块。

Marigold通过使用合成的RGB-D数据以及在一块消费级显卡上只训练了几天,将Stable Diffusion转化为Marigold模型。主要流程如下:

去噪U-Net

研究人员主要通过修改和微调Stable Diffusion模型的去噪U-Net模块,来实现深度估计。去噪U-Net是一个编码器-解码器结构的神经网络,用于从输入图像中学习去除噪声的表示。

图片

在Marigold模型中,研究人员保持了扩散模型的潜空间不变,只对去噪U-Net模块进行微调,以适应深度估计任务。

合成数据训练

为了微调Marigold模型,研究人员使用了合成的RGB-D训练数据,对模型进行训练。合成数据是通过在虚拟环境中,渲染图像并生成对应的深度图来创建的。

通过使用合成数据进行训练,Marigold可以学习到广泛的场景和物体形状,从而提高其在未见过数据集上的泛化能力。

仿射不变深度估计

Marigold使用了一种仿射不变的深度估计方法,能够估计图像中每个像素的深度值,而不受全局偏移和尺度的影响。

图片

这种仿射不变性对于在不同场景和尺度下进行深度估计非常重要。通过估计仿射不变的深度,Marigold可以消除由于相机内参的不确定性,而引入的深度估计误差。

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

END

http://www.lryc.cn/news/272500.html

相关文章:

  • 使用JAVA Zookeeper构建分布式键值存储
  • 2023-12-19 LeetCode每日一题(寻找峰值 II)
  • gin框架使用系列之五——表单校验
  • HackTheBox - Medium - Linux - Interface
  • C++ 字符串操作说明 续
  • [情商-7]:如何回答没有标准答案的两难问题
  • 对偶问题的基本性质
  • Google Chrome 现在会在后台扫描泄露的密码
  • 【Matlab】PSO-BP 基于粒子群算法优化BP神经网络的数据时序预测(附代码)
  • Linux 485驱动通信异常
  • mybatis配置与标签大全
  • Mysql的基本用法(上)非常详细、快速上手
  • 使用Vite创建React + TypeScript(node版本为16.17.0,含资源下载)
  • Springboot集成RabbitMq二
  • 机器学习笔记 - 基于Python的不平衡数据的欠采样技术
  • facebook广告的基础知识
  • java常见面试题:什么是异常?Java中的异常有哪些分类?
  • 类的加载顺序问题-demo展示
  • [蓝桥杯2020国赛]答疑
  • 【AIGC表情prompt】提示词练习技巧
  • SpringBoot项目的三种创建方式
  • 【docker实战】01 Linux上docker的安装
  • Baumer工业相机堡盟工业相机如何通过NEOAPI SDK设置相机的图像剪切(ROI)功能(C#)
  • 软件测试之安全测试
  • 【华为OD机试真题2023CD卷 JAVAJS】会议室占用时间
  • UR5机器人的旋转向量转换到四元数,再从四元数转换到旋转向量python代码
  • MD5--加密原理及代码示例(C#)
  • 理解 RPC 与 Protobuf:完整指南
  • 成为一名合格的前端架构师,前端知识技能与项目实战教学
  • 前端 富文本编辑器原理