魔改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
相关文章:
魔改Stable Diffusion,开源创新“单目深度估计”模型
单目深度估计一直是计算机视觉领域的难点。仅凭一张 RGB 图像,想要还原出场景的三维结构,在几何结构上非常不确定,必须依赖复杂的场景理解能力。 即便使用更强大的深度学习模型来实现,也面临算力需求高、图像数据注释量大、泛化能力弱等缺点。 为了解决这些难题&a…...
使用JAVA Zookeeper构建分布式键值存储
在这篇文章中,我将使用 JAVA 和网络套接字构建一个简单的分布式键值存储。 我将展示如何在具有多个分区和复制的集群中使用 Zookeeper 作为协调服务。 本系统中Zookeeper服务的功能如下: 维护从服务器到分区的映射,即哪些服务器属于分区“i”。这些数据还可用于推断哪些服务…...
2023-12-19 LeetCode每日一题(寻找峰值 II)
2023-12-19每日一题 一、题目编号 1901. 寻找峰值 II二、题目链接 点击跳转到题目位置 三、题目描述 一个 2D 网格中的 峰值 是指那些 严格大于 其相邻格子(上、下、左、右)的元素。 给你一个 从 0 开始编号 的 m x n 矩阵 mat ,其中任意两个相邻格子的值都 不…...
gin框架使用系列之五——表单校验
系列目录 《gin框架使用系列之一——快速启动和url分组》《gin框架使用系列之二——uri占位符和占位符变量的获取》《gin框架使用系列之三——获取表单数据》《gin框架使用系列之四——json和protobuf的渲染》 一 、表单验证的基本理论 在第三篇中,我们介绍了如何…...
HackTheBox - Medium - Linux - Interface
Interface Interface 是一种中等难度的 Linux 机器,具有“DomPDF”API 端点,该端点通过将“CSS”注入处理后的数据而容易受到远程命令执行的影响。“DomPDF”可以被诱骗在其字体缓存中存储带有“PHP”文件扩展名的恶意字体,然后可以通过从其…...
C++ 字符串操作说明 续
一、strstr函数 extern char *strstr(char *str1, const char *str2); 1. strstr(str1,str2) 函数用于判断字符串str2是否是str1的子串。如果是,则该函数返回str2在str1中首次出现的地址;否则,返回NULL。 2. str1: 被查找目标 string …...
[情商-7]:如何回答没有标准答案的两难问题
目录 前言: 一、用“逻辑推理思维”回答两难问题 二、用“情绪思维”回答两难问题 1.1 关注提问者提出问题背后的情绪状态和情绪/情感诉求 1.2 常见的常见的情绪和情感诉求 1.3 女性情感分析 1.4 理解女性情感的语言 1.5 如何通过语言理解女性的情绪需求 三…...
对偶问题的基本性质
写于:2024年1月3日晚 修改于: 原规划与对偶规划 原规划对偶规划 max z C T X s.t. { A X ≤ b , 其中 X ( m ∗ 1 ) X ≥ 0 \begin{aligned} & \max \mathrm{z}\mathbf{C}^T \mathbf{X} \\ & \text { s.t. }\left\{\begin{array}{l}\mat…...
Google Chrome 现在会在后台扫描泄露的密码
谷歌表示,Chrome 安全检查功能将在后台运行,检查网络浏览器中保存的密码是否已被泄露。 如果桌面用户正在使用标记为危险的扩展程序(从 Chrome Web Store 中删除)、最新的 Chrome 版本,或者如果启用安全浏览来阻止 Go…...
【Matlab】PSO-BP 基于粒子群算法优化BP神经网络的数据时序预测(附代码)
资源下载: https://download.csdn.net/download/vvoennvv/88689096 目录 【Matlab】BP 神经网络时序预测算法 【Matlab】CNN卷积神经网络时序预测算法 【Matlab】ELM极限学习机时序预测算法 【Matlab】基于遗传算法优化BP神经网络 (GA-BP)的数据时序预测 【Mat…...
Linux 485驱动通信异常
背景 前段时间接到一个项目,要求用主控用485和MCU通信。将代码调试好之后,验证没问题就发给测试了。测试测的也没问题。 但是,到设备量产时,发现有几台设备功能异常。将设备拿回来排查,发现是485通信有问题ÿ…...
mybatis配置与标签大全
文章目录 mybatis配置与标签大全mybatis的配置属性(properties)设置(settings)类型别名(typeAliases)类型处理器(typeHandlers)对象工厂(objectFactory)插件&…...
Mysql的基本用法(上)非常详细、快速上手
上篇结束了java基础,本篇主要对Mysql中的一些常用的方法进行了总结,主要对查询方法进行了讲解,包括重要的多表查询用到的内连接和外连接等,以下代码可以直接复制到可视化软件中,方便阅读以及练习; SELECT *…...
使用Vite创建React + TypeScript(node版本为16.17.0,含资源下载)
PC端 安装指令: npm create vitelatest react-ts-pro -- --template react-tsVite是一个框架无关的前端工具链,可以快速的生成一个React TS的开发环境,并且可以提供快速的开发体验说明: 1. npm create vitelatest固定写法&#…...
Springboot集成RabbitMq二
接上一篇:Springboot集成RabbitMq一-CSDN博客 1、搭建项目-消费者 与之前一样 2、创建配置类 package com.wym.rabbitmqconsumer.utils;import org.springframework.amqp.core.Binding; import org.springframework.amqp.core.BindingBuilder; import org.spring…...
机器学习笔记 - 基于Python的不平衡数据的欠采样技术
一、简述 随着从不同的来源生成和捕获大量数据。尽管信息量巨大,但它往往反映了现实世界现象的不平衡分布。数据不平衡的问题不仅仅是统计上的挑战,它对数据驱动模型的准确性和可靠性具有深远的影响。 以金融行业欺诈检测为例。尽管我们希望避免欺诈,因为其具有高度破坏性,…...
facebook广告的基础知识
Facebook广告是在Facebook、Instagram、Audience Network等与Facebook相关的SNS和服务上投放的广告。以下是关于Facebook广告的基础知识: 广告类型: 静态图片广告:主要通过Facebook的新闻提要投放的图片广告,可以张贴产品和服务…...
java常见面试题:什么是异常?Java中的异常有哪些分类?
异常是一个汉语词语,读音为y chng,指非正常的;不同于平常的;非常。在Java中,异常(Exception)是程序在运行过程中出现的不正常情况,例如除以零、数组越界等。异常分为两大类ÿ…...
类的加载顺序问题-demo展示
面试的的时候经常会被问到包含静态代码块、实例代码块和构造器等代码结构的加载顺序问题,下面借用一个面试题,回顾一下类的代码加载顺序。 public class AooTest {public static void main(String[] args) {AooTest.f1();}static AooTest test1 new Ao…...
[蓝桥杯2020国赛]答疑
答疑 题目描述 有 n 位同学同时找老师答疑。每位同学都预先估计了自己答疑的时间。 老师可以安排答疑的顺序,同学们要依次进入老师办公室答疑。 一位同学答疑的过程如下: 首先进入办公室,编号为 i 的同学需要 si 毫秒的时间。然后同学问…...
2026年AI前20岗位薪酬出炉!搞AI大模型的远超同行?
AI相关,细分技术领域,薪资前20岗位,都有哪些。 今天这篇文章与铁铁们分享一下。 1 薪资榜单 如下图所示,排名第一:深度学习算法工程师,平均月薪达到3万1千; 排名第二的架构师,薪资与…...
告别Win11无边框窗口的‘残疾’体验:Qt自定义标题栏完美集成Snap Layout保姆级教程
现代Qt应用开发:Win11无边框窗口与Snap Layout深度整合实战 当微软推出Windows 11时,其标志性的Snap Layout功能彻底改变了多窗口管理体验。然而对于使用Qt框架开发无边框窗口应用的开发者来说,这却带来了一个棘手的问题——自定义标题栏与系…...
深入STM32F407 USART收发机制:用逻辑分析仪解读数据帧与中断处理流程
深入解析STM32F407 USART通信机制:从数据帧捕获到中断优化实战 在工业自动化、智能硬件等高可靠性应用场景中,串口通信的稳定性和效率往往决定着整个系统的性能边界。STM32F407作为ARM Cortex-M4内核的经典代表,其USART模块在异步通信场景下展…...
新书推荐:《尊严的颓败》在废墟之上,寻找灵魂的微光
当世界沦为巨大的名利场,当人被简化为数据与欲望的载体,我们该如何定义“人”?又该如何安放那颗被称为“灵魂”的种子?洛本的《尊严的颓败》并非一本让人阅读时感到轻松愉悦的书,它更像是一把手术刀,精准地…...
多代理系统架构实战:Supervisor 与 Swarm 的选型与落地策略
1. 多代理系统架构的核心价值 想象一下你正在组织一场大型会议:需要预订场地、安排餐饮、发送邀请函、准备会议材料。如果让一个人完成所有工作,要么质量难以保证,要么时间拖得很长。这就是多代理系统要解决的问题——通过专业分工和高效协作…...
OpenClaw自动化测试框架:百川2-13B驱动的CI/CD辅助方案
OpenClaw自动化测试框架:百川2-13B驱动的CI/CD辅助方案 1. 为什么选择OpenClaw做测试自动化 去年我在重构一个中型前端项目时,遇到了测试覆盖率不足的老问题。手动补测试用例不仅耗时,还经常遗漏边界条件。当我尝试用传统测试生成工具时&am…...
GitHub访问加速终极指南:5分钟告别龟速访问的完整解决方案
GitHub访问加速终极指南:5分钟告别龟速访问的完整解决方案 【免费下载链接】fetch-github-hosts 🌏 同步github的hosts工具,支持多平台的图形化和命令行,内置客户端和服务端两种模式~ | Synchronize GitHub hosts tool, support m…...
抖音音频提取工具 v1.0 - 快速提取抖音视频音频
抖音音频提取工具 v1.0 是可快速提取抖音短视频音频并保存本地的实用工具,依托 WebView2 与 FFmpeg 技术实现,操作简单易上手,能满足车机播放等个人娱乐音频使用需求,工具仅支持个人娱乐使用。抖音音频提取工具 v1.0 抖音短视频音…...
别再乱填了!手把手教你配置Keil的IROM1和IRAM1,让STM32程序跑得更稳
深度解析Keil内存配置:从原理到实战的STM32开发指南 当你第一次在Keil MDK的"Target"选项卡中看到IROM1和IRAM1的配置项时,是否感到困惑?这些看似简单的地址和大小设置,实际上关系到整个嵌入式系统的稳定运行。许多开发…...
别再手动填Token了!用Knife4j的OAuth2配置,一键搞定接口文档自动化认证
告别手动Token时代:Knife4j与OAuth2的自动化认证实战 每次调试API都要复制粘贴Token的日子该结束了。作为后端开发者,我们花了大量时间在接口文档和认证流程之间来回切换——这不仅是效率问题,更是一种思维中断。想象一下,当你的微…...
