EDoF-ToF: extended depth of field time-of-flight imaging解读, OE 2021

1. 核心问题:iToF相机的“景深”死穴

我们之前已经详细讨论过,iToF相机的“景深”(有效测量范围)受到光学散焦的严重制约。

  • 问题根源: 当iToF相机的镜头散焦时,来自场景不同深度的光信号会在传感器像素上发生混合(信号污染/Optical Crosstalk)
  • 后果: 传感器像素测量的不再是单一深度的纯净相位信息,而是一个被污染的、错误的平均相位。这会导致在深度边缘产生**“飞点”(Flying Pixels)严重的深度测量误差**。
  • 传统困境:
    • 大光圈(如f/1.4): 进光量大,信噪比高,适合远距离或暗光环境。但光学景深极浅,散焦问题非常严重。
    • 小光圈(如f/8.0): 光学景深大,散焦问题缓解。但进光量急剧减少,导致信噪比极低,在远距离或暗光下几乎无法工作。

这个“景深-信噪比”的矛盾,是所有iToF相机在设计时都必须面对的、无法两全其美的根本性权衡。

2. 本文解决方案:EDoF-ToF 硬件-软件协同系统

这篇文章提出的EDoF-ToF系统,旨在彻底打破上述的权衡关系,实现一个**既有大光圈(高信噪比),又能抵抗散焦(大有效景深)**的iToF相机。

其核心思想与EDoF投影仪一脉相承,但应用在成像端:

硬件端:学习一个“深度不变”的成像PSF

  1. 定制的衍射光学元件 (DOE): 他们在iToF相机的镜头前,放置了一块经过特殊设计的DOE。这个DOE的作用,是对进入相机的光场进行相位调制。
  2. AI设计DOE: 同样地,他们建立了一个端到端的可微分模型,该模型模拟了光线从场景发出 -> 通过DOE和镜头 -> 在传感器上形成点扩散函数(PSF)的全过程。
  3. 优化目标: 优化的目标是让这个PSF具备两个关键特性:
    • 深度不变性 (Depth-invariance): PSF的形状不随物体的远近而发生剧烈变化。
    • 紧凑性 (Compactness): PSF的能量要尽可能集中,不能过度弥散,以免过度降低对比度。
  4. 最终产物: AI最终设计出的DOE,能将传统镜头随深度变化的“高斯状”模糊PSF,转换成一个在很大深度范围内都保持形态一致的、经过编码的“工程化PSF”(Engineered PSF)。

软件端:利用PSF先验知识进行解码

由于光学硬件产生的PSF是已知且深度不变的,软件算法就可以利用这个强大的先验信息来“解开”信号污染。

  1. 建立前向模型: 他们建立了一个精确的物理模型,描述了场景的真实深度和反射率,在经过这个已知的、深度不变的PSF模糊后,会如何在iToF传感器上产生测量的原始相关数据(相位、幅度和偏移量)
  2. 反问题求解 (Inverse Problem): 深度重建过程就变成了一个求解反问题的过程。算法的任务是:“寻找一个什么样的真实场景(深度图和反射率图),在经过我们设计的EDoF光学系统成像后,会产生我们实际测量到的这些被‘编码污染’的数据?”
  3. 高效重建网络: 他们设计了一个轻量级的神经网络,该网络学习如何高效地执行这个反演过程,从传感器读出的原始数据中,同时恢复出无失真的深度图清晰的反射率(幅度)图

3. 核心创新与实验效果

  • 打破权衡: 实验结果惊人。他们的EDoF-ToF系统原型,使用了一个f/1.4的大光圈镜头,但在深度测量的准确性上,却媲美甚至超越了使用f/8.0小光圈的传统ToF相机。这意味着,它在享受大光圈带来的高信噪比(进光量是f/8的32倍!)的同时,几乎完全免疫了光学散焦带来的深度误差

  • 全场景鲁棒性:

    • 复杂边缘: 在人和背景、物体和桌面的复杂边缘处,传统ToF相机产生了大量的飞点和扭曲,而EDoF-ToF系统恢复的边缘则干净利落,深度准确。
    • 细小结构: 对于场景中的细小物体(如栏杆),传统大光圈ToF相机由于散焦,几乎无法分辨其深度,而EDoF-ToF则能清晰地重建其三维结构。
    • 全深度范围: 从几十厘米的近处到数米的远处,系统都能保持很高的深度精度。

4. 分析与意义

这篇文章是计算成像领域**“软硬件协同设计”**思想的又一个巅峰之作,其意义深远:

  1. 解决了iToF的核心痛点: 它从根本上解决了困扰iToF相机多年的“景深-信噪比”矛盾,为设计新一代高性能iToF传感器指明了方向。

  2. 极大的应用价值:

    • 自动驾驶LiDAR: 未来的车载LiDAR可以采用更大光圈的光学设计,从而看得更远、更清楚,同时不必担心近处物体的深度失真问题。这对于探测远处的微小障碍物和处理近处的复杂场景(如行人、自行车)至关重要。
    • AR/VR头显: 用于手势追踪和环境感知的iToF相机可以做得更小、更省电(因为进光效率高),同时精度更高,带来更流畅、更真实的交互体验。
    • 机器人和无人机: 在复杂的室内或室外环境中,机器人可以更可靠地进行导航和避障,因为它获得的深度信息更加干净和准确。
    • 消费电子: 手机上的ToF相机可以实现更精准的人像虚化、更逼真的3D扫描。
  3. 范式引领: 它再次证明,通过AI设计传统光学无法实现的“不可能”光学元件(Computational Optics),再结合匹配的解码算法,是突破现有成像系统物理极限的最有效途径。这种“端到端联合优化”的范式,将持续引领未来光学和成像系统的发展。

结论: 《EDoF-ToF》这篇文章通过将创新的大景深计算光学ToF深度感知相结合,打造出了一款性能远超传统设计的iToF相机原型。它不仅在学术上展示了计算成像的强大威力,更在工程上为解决自动驾驶、AR/VR等关键领域的实际问题提供了一个极具潜力的解决方案,是2024年ToF成像领域最值得关注的突破之一。

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

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

相关文章

符号引用与直接引用:概念对比与实例解析

符号引用与直接引用:概念对比与实例解析 符号引用和直接引用是Java虚拟机(JVM)中类加载与执行机制的核心概念,理解它们的区别与联系对于深入掌握Java运行原理至关重要。下面我将从定义、特性、转换过程到实际应用,通过具体示例全面比较这两类…

每日一讲——Podman

一、概念1、定义与定位Podman(Pod Manager)是符合OCI标准的容器引擎,用于管理容器、镜像及Pod(多容器组)。它无需守护进程(Daemonless),直接通过Linux内核功能(如命名空间…

Spring Boot DFS、HDFS、AI、PyOD、ECOD、Junit、嵌入式实战指南

Spring Boot分布式文件系统 以下是一些关于Spring Boot分布式文件系统(DFS)的实现示例和关键方法,涵盖了不同场景和技术的应用。这些示例可以帮助理解如何在Spring Boot中集成DFS(如HDFS、MinIO、FastDFS等)或模拟分布式存储。 使用Spring Boot集成HDFS 基础配置 // 配…

解决GoLand运行go程序报错:Error: Cannot find package xxx 问题

问题描述 一个简单的go程序,代码如下 package mainimport "fmt" func main() {// 占位符,和java的String.format用法一样fmt.Printf("我%d岁,我叫%s", 18, "yexindong") }结构如下当我想要运行时却报错 Error:…

Spring MVC设计精粹:源码级架构解析与实践指南

文章目录一、设计哲学:分层与解耦1. 前端控制器模式2. 分层架构设计二、核心组件源码解析1. DispatcherServlet - 九大组件初始化2. DispatcherServlet - 前端控制器(请求处理中枢)请求源码入口:FrameworkServlet#doGet()请求委托…

k8s之控制器详解

1.deployment:适用于无状态服务1.功能(1)创建高可用pod(2)滚动升级/回滚(3)平滑扩容和缩容2.操作命令(1)回滚# 回滚到上一个版本 kubectl rollout undo deployment/my-app# 回滚到特定版本&…

.NET Core中的配置系统

传统配置方式文件Web.config 进行配置。ConfigurationManager类配置。.NET配置系统中支持配置方式文件配置(json、xml、ini等)注册表环境变量命令行自定义配置源Json文件配置方式实现步骤:创建一个json文件,把文件设置 为“如果较…

kafka的消费者负载均衡机制

Kafka 的消费者负载均衡机制是保证消息高效消费的核心设计,通过将分区合理分配给消费者组内的消费者,实现并行处理和负载均衡。以下从核心概念、分配策略、重平衡机制等方面详细讲解。一、核心概念理解消费者负载均衡前,需明确三个关键概念&a…

腾讯云edges on部署pages

腾讯云edges on部署pages适用场景部署方式官方文档 适用场景 Next.js Hexo 以及用React Vue等现代前端框架构建的单页应用全栈项目开发 通过Pages Function KV等能力 实现轻量化的动态服务快速部署与迭代 通过Github等代码管理平台集成 每次代码提交时自动构建和部署网站 注…

SpringAI入门及浅实践,实战 Spring‎ AI 调用大模型、提示词工程、对话记忆、Adv‎isor 的使用

上一次写AI学习笔记已经好久之前了,温习温习,这一章讲讲关于Spring‎ AI 调用大模型、对话记忆、Adv‎isor、结构化输出、自定义对话记忆‍、Prompt 模板的相关知识点。 快速跳转到你感兴趣的地方一、提示词工程(Prompt)1. 基本概…

对抗攻击-知识点

文章目录自然图像往往靠近机器学习分类器学习到的决策边界(decision boundaries)。正交方向--改变某一个不影响其它的特征降采样(Feature Downsampling)通过黑盒攻击的持续挑战,我们才能构建真正安全可靠的智能系统DCT…

7.26 作业

一、实验要求及其拓扑图: 本次实验拓扑图: 二、实验IP地址划分: 1. 公网地址(R5 作为 ISP,使用公网地址): R1 与 R5 之间接口:15.1.1.0/24,R1 侧为 15.1.1…

Kafka运维实战 14 - kafka消费者组消费进度(Lag)深入理解【实战】

目录什么是消费者 Lag举例说明:Lag 的意义:Lag 监控和查询kafka-consumer-groups基本语法常用命令示例1. 查看单个消费者组的详细信息(最常用)2. 列出所有消费者组(只显示名称)3. 列出所有消费者组&#xf…

设计模式(十三)结构型:代理模式详解

设计模式(十三)结构型:代理模式详解代理模式(Proxy Pattern)是 GoF 23 种设计模式中的结构型模式之一,其核心价值在于为其他对象提供一种间接访问的机制,以控制对原始对象的访问。它通过引入一个…

24点数学游戏(穷举法求解表达式)

摘要本毕业设计旨在利用MATLAB技术实现一个24点数学游戏,采用穷举法求解所有可能的表达式组合。通过全排列数字、枚举运算符及括号位置,结合递归回溯算法,系统能够高效地搜索所有可能的运算路径,并验证结果是否为24。实验结果表明…

【web应用】如何进行前后端调试Debug? + 前端JavaScript调试Debug?

文章目录一、前后端:后端以Debug模式运行后端项目,打断点二、前后端:前端项目在浏览器中调试三、单独前端:前端JavaScript调试1、控制台输出2、网页调试器中添加断点3、debugger关键字一、前后端:后端以Debug模式运行后…

FreeCAD开发楼梯参数化三维模型和钢格栅

根据楼梯标准图集开发各种楼梯。上行左转,上行右转,对应的栏杆也是配套2种。楼梯总成钢格栅标准里的跨度和承载 扁钢尺寸,轻松切换和修改参数。格栅综合本来格栅上横杆是冷轧扭钢筋,先绘制一个圆柱,再做一个内切正方形…

【AcWing 836题解】合并集合

AcWing 836. 合并集合 【题目描述】 在查看解析之前,先给自己一点时间思考哦! 【题解】 并查集是一种用于处理集合合并与查询问题的数据结构,通常支持以下两种操作: Find:查询一个元素所在的集合。 Union&#xff1a…

MySQL锁机制与MVCC原理剖析

在MySQL中,我们使用到了它的各种类锁;按照它的维度,有各种锁 从数据库的操作粒度有,表锁,行锁。从数据库的操作的类型,有读锁和写锁。性能上有乐观锁和悲观锁。 在上一篇文章中的事务隔离级别,需…

C++学习(线程相关)

目录 一、线程库thread 1.使用外部函数 2. 使用类的函数 3. 添加参数 二、线程库 mutex 1.使用lock()方法 2.try_lock()方法 三、线程库lock_guard 四、线程库unique_lock 1.adopt_lock 2.defer_lock() 五、线程库call_once 六、线程库promise & future 七、c…