计算机视觉基础(13)——深度估计

news2025/3/20 1:41:39

前言

本节是计算机视觉的最后一节,我们将学习深度估计。从深度的概念和度量入手,依次学习单目深度估计和双目/多目深度估计,需要知道深度估计的经典方法,掌握深度估计的评价标准,注意结合对极几何进行分析和思考。

一、深度的概念和度量方式

1.1  深度的概念

  • 深度指场景中物体表面到相机的距离,即图中𝑷 (𝑐)点的𝑍 (𝑐)坐标
  • 采用深度图(Depth Map)表征,图中每点的取值代表对应像素的深度值

1.2  深度的度量方式与设备

1.2.1  结构光

  • 结构光:将特殊结构图案(如离散光斑、条纹、编码结构光等)投影到空间物体表面上,用另一个相机观察在三维物理表面成像的畸变情况,进行图像匹配比较并计算出深度
  • 属于主动光探测方案
  • 技术成熟、便携、低延时,适用于较近距离

1.2.2  ToF

  • Time-of-Flight (ToF)向目标连续发送光脉冲,用传感器接收从物体返回的光,通过探测光脉冲的往返飞行时间测距
  • 属于主动光探测方案
  • 适用于较远距离,传感器复杂、成本高、深度图稀疏

1.2.3  双目视觉

  • 双目视觉技术:利用两个标定好的RGB摄像头采集图像,通过匹配对应点,获取的二维图像像素点的深度
  • 属于被动光探测方案
  • 精度依赖于双目匹配算法,易受到光照变化等因素影响,适用于较近距离
  • 但是,遇到重复纹理、⽆边缘特征时,识别的效果就会很差

二、计算机视觉中的深度估计问题

深度估计:设计计算机视觉算法,根据输入图像,估计出对应的深度图。

根据输入图像的数目分为单目深度估计(Monocular)、双目深度估计(Binocular)、多视角立体视觉 (Multi-View Stereo, MVS)

与基于传感器硬件的解决方案相比,软件算法的深度估计方案成本较低

三、深度估计的应用

3.1  自动驾驶、机器人导航

3.2  3D重构(三维建模、三维地图、3D打印)

3.3  增强现实

3.4  单目3D拍照

3.5  浅景深渲染

3.6  RGB-D 语义分割/目标检测/视觉跟踪

将深度作为额外的辅助信息应用在传统视觉任务中RGB-D:RGB-D 语义分割/目标检测/视觉跟踪

四、单目深度估计

4.1  单目深度估计的概念

目标:利用能够反映深度的线索/提示信息(Cues),从单幅图像中预测出对应的深度图

对弱纹理等挑战区域具有更强的鲁棒性

单目深度估计本身具有较强挑战性

4.2  单目深度线索

4.2.1  近大远小

近大远小:对常见物体的尺寸有大致的估计,根据其在图像中的大小,判断相对位置/距离

4.2.2  纹理的丰富程度

纹理丰富程度:近距离的区域更为清晰,纹理也较为丰富。

4.2.3  遮挡关系

遮挡关系:被遮挡的背景物体距离较远,前景距离较近

4.2.4  平行线与消失点

平行线与消失点:在远离相机的过程中,3D空间的平行线在2D图像上的投影逐渐接近,直至相较于消失点

4.2.5  光影/明暗/纹理

通过光影、明暗与纹理变化,可以轻易推断出物体的三维形状

4.3  单目深度估计的主流方法

  • 单目深度线索较为繁杂多样,手工设计的方法很难全面涵盖上述所有线索
  • 卷积神经网络通过端到端数据驱动的方式,可以很好地学习并集成上述线索,并且适合处理二维图像数据,因而成为单目深度估计的主流方法

4.3.1  基于卷积网络

4.3.2  基于全卷积网络

4.3.3  基于Transformer

4.3.4  基于多任务

4.3.5  基于弱监督

  • 与分割、检测等数据不同,深度真值不适合手工标注,主要依赖于深度传感器采集
  • 由于深度传感器应用场景受限,场景多样化的深度训练数据不易获取,导致模型的场景泛化性能较差

为解决上述问题,Chen et al. 2016年提出一种人工标注稀疏深度真值的方法,即从每一张图像中随机选两点,人工标出两点对应的前后顺序

通过上述标注方法构建了Depth-in-the-Wild (DIW)数据集

DIW数据集规模大(49.6万张图片),场景多样化,真值标注稀疏且是相对的 (每张只包含两个点的相对前后顺序)

由于每张图像仅包含一个深度真值,因而上述网络训练过程属于弱监督学习

由于DIW数据集场景多样化,即使采用弱监督学习,在DIW上训练的模型相较于其他数据集训练的模型具有更强的泛化性能

4.4  相对深度估计

4.5  常见的单目深度估计数据集

4.6  常见的深度估计评价指标(重点)

五、双目/多目立体匹配

5.1  双目/多目深度估计线索

5.2  对极几何回顾

5.3  特殊矫正后的情况

通过矫正两个相机的朝向与位置,使极线为水平线

同一点在两幅图中的视差 (Disparity) 𝑑 = 𝑥1 + 𝑥2 与其深度𝑍成反比

5.4  未经矫正的情况

5.5  基于深度学习的MVS:MVSNet

总结

在本节中,我们学习了深度估计的相关知识。读者需要重点掌握深度的概念和度量方式,单目深度估计和双目深度估计的主流方法,其中,深度估计的评价指标和对极几何是重点

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1335870.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

成为小leader后,最大的感受就是:领导真的更偏爱主动汇报的下属!

* 你好,我是前端队长,在职场,玩副业,文末有福利! 有些朋友在职场,可能会陷入一个误区,觉得我们的付出,领导都能看到。这就大错特错了,很简单,打个比方,你有10…

申请虚拟VISA卡Pokepay 教程来了

官网地址https://www.pokepay.cc/ ​​​​​ 填写邮箱地址 填写邀请码116780 会有20USD开卡优惠券 限时几天活动

网络安全法规和模型

基础 ISO信息安全:为数据处理系统建立和采取技术、管理的安全保护,保护计算机硬件、软件、数据不因偶然的或恶意的原因而受到破坏、更改、泄露 信息安全属性: CIA三元组:保密性、完整性、可用性 其他属性:真实性、不…

微短剧,会成为长视频的“救命稻草”吗?

职场社畜秒变霸道总裁,普通女孩穿越成为艳丽皇妃.......这样“狗血”的微短剧,最近不仅在国内各大视频平台上异常火爆,而且还直接火出了国外。 所谓微短剧,就是单集时长从几十秒到十几分钟的剧集,有着相对明确的主题和…

Android 手机对于Arduino蓝牙控制解决方案

1、Android系统概述 ​ Android 系统是 Google 公司基于 Linux 内核开发的移动端操作系统,适用于智能手机智能手表平板电脑等设备,最新的版本为 7.1。Android系统具有免费开源的优势,任何企业与个人都可以查阅公开的 API 文档,并在自己开发的应用中通过调…

【Gitlab】CICD流水线自动化部署教程

第一步,准备 GitLab 仓库 这个不用多说,得先保证你的项目已经托管在一个 GitLab 仓库中。 第二步,定义 .gitlab-ci.yml 文件 在你的项目根目录中创建一个 .gitlab-ci.yml 文件。这个文件将定义所有 CI/CD 的工作流程,包括构建、测…

IPC之十:使用共享文件进行进程间通信的实例

IPC 是 Linux 编程中一个重要的概念,IPC 有多种方式,常用的 IPC 方式有管道、消息队列、共享内存等,但其实使用广大程序员都熟悉的文件也是可以完成 IPC 的,本文介绍如何使用共享文件实现进程间通信,本文给出了具体的实…

基于电商场景的高并发RocketMQ实战-Commitlog基于内存的高并发写入优化、基于JVM offheap的内存读写分离机制

🌈🌈🌈🌈🌈🌈🌈🌈 【11来了】文章导读地址:点击查看文章导读! 🍁🍁🍁🍁🍁🍁&#x1f3…

linux:下载、网络请求、端口

一:ping命令 可以通过ping命令,检查指定的网络服务器是否是可联通状态 语法: ping [-c num] ip或主机名 1、选项:-c,检查的次数,不使用-c选项,将无限次数持续检查 2、参数:ip或主机名,被检查的服务器的…

NET中使用SQLSugar操作sqlserver数据库

目录 一、SqlSugar是什么? 二、迁移和建表 1.建立实体 2.创建上下文类 3.在Program中添加SqlSugar服务 4.在控制器中注入上下文类 三、简单实现CURD功能 总结 一、SqlSugar是什么? SqlSugar是一款老牌 .NET 开源ORM框架。 主要特点&#xff1a…

天啦撸 超级麻烦的MySQL索引和数据引擎,快拿小本本记好

1 MySQL的索引 1.1 索引 定义: 索引是一个排序的列表,包含索引字段的值和其对应的行记录的数据所在的物理地址 ●索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过…

边缘计算AI智能盒子的视频源必须是固定点监控摄像头吗?

边缘计算AI盒子的视频输入源,要求是RTSP或者GB28181,可以是固定点监控摄像头(枪机、球机等),也可以是移动摄像头,例如执法记录仪、智能安全帽、布控球等,但由于RTSP输入要求摄像头有固定IP&…

贪吃蛇小游戏的代码实现之知识点铺垫篇

今天给大家介绍一个很经典的小游戏,它和扫雷在经典小游戏这方面可以说是旗鼓相当,它的名字就是贪吃蛇。贪吃蛇游戏最初为单机模式,后续又陆续推出团战模式、赏金模式、挑战模式等多种玩法。该游戏具体玩法是:用游戏把子上下左右控…

redis复习笔记01(小滴课堂)

高并发的必备两大“核技术”队列和缓存 介绍本地缓存和分布式缓存 Nosql介绍和Reidis介绍 Linux服务器源码安装Redis6和相关依赖 在路径下上传压缩包。 上传压缩包。 版本更新了,但这是临时的。 版本更新了。 解压压缩包: 重命名: 我们可以看…

网页乱码问题(edge浏览器)

网页乱码问题(edge) 文章目录 网页乱码问题(edge)前言一、网页乱码问题1.是什么:(描述)2.解决方法:(针对edge浏览器)(1)下载charset插…

JavaWeb的Servlet的入门和使用方法

1 什么是Servlet Servlet是Server Applet的简称,是用Java编写的是运行在 Web 服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。使用 Servlet,可以收集来自网页表单的用户输…

树莓派开箱安装

树莓派摄像头安装教程: 百度安全验证 树莓派5代9层亚克力外壳安装: 百度安全验证

CGAL的三角曲面网格骨架化

1、介绍 马模型的曲线骨架。 骨架是用于分割、形状匹配、重建、虚拟导航等的有效形状抽象。顾名思义,曲线骨架是曲线结构的图(1D)。对于3D几何体来说,它不是由表面(2D)组成的中轴。如图所示,形…

IDEA的JavaWeb项目的webapp目录的小蓝点没亮怎么办???

我们可以看到没有小蓝点,正常的是有的。 没有小蓝点的原因:你的webapp 这个文件夹的路径不对。 解决方案:(修改webapp的路径) 我们可以看到,错误的路径是显示红色。 这个地方没有就添加一个路径&#xff0…

机器人制作开源方案 | 智能循迹搬运车

作者:范永晨 杨丽鹏 张东生 单位:唐山学院 指导老师:袁娜 都说21世纪为物流的天下,物流行业牵扯到各个领域。目前,劳动人口数量下降、老龄化现象加速、工资上涨,土地成本提升,随着市场不断发展…