Tof 深度相机原理

深度相机(TOF)的工作原理_tof相机原理-CSDN博客

深度剖析 ToF 技术:原理、优劣、数据纠错与工业应用全解析_tof技术-CSDN博客

飞行时间技术TOF_tof计算公式-CSDN博客

深度相机(二)——飞行时间(TOF)_飞行时间技术-CSDN博客

TOF飞行时间之dTOF、iTOF测距原理_哔哩哔哩_bilibili

记录学习,最近用了一款梅卡曼德的结构光+6轴机器人做了一个项目,但是我们的竞争对手说用的是TOF,故此来学习一下。

一、什么是TOF

ToF: Time of flight. 飞行时间。当然这只是一种翻译的方法,其实ToF是一种测距的方法,通过测量超声波/微波/光等信号在发射器和反射器之间的“飞行时间”来计算出两者之间距离。

能够实现ToF测距的传感器就是ToF传感器。ToF传感器种类很多,使用较多的是通过红外(一般都是不可见光)或者激光进行测距的ToF传感器。

ToF相机之所以受到青睐,主要归功于其多项优势,包括成本效益高、测量精度良好、可靠性强、能够实现深度数据采集,以及紧凑的硬件设计

二、工作原理

TOF 结构组成:

光源

光学部件

传感器

控制电路

处理电路

原理

其测距原理是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离,其中每个像素点都精确地编码了其对应场景中物体的距离信息,TOF相机则是同时得到整幅图像的深度信息

a) 发射光脉冲:ToF相机向目标物体发射出短暂的光脉冲,通常是红外光

b) 光线反射:光脉冲打到物体表面后会发生反射,一部分光线会返回到相机。

c) 测量飞行时间:相机内部的高速传感器会精确测量光脉冲从发射到返回所花费的时间。

d) 计算距离:根据光速和飞行时间,利用公式

 距离 = 光速 × 飞行时间 / 2

优势:

 1、与立体相机或三角测量系统比,TOF相机体积小巧,跟一般相机大小相去无几,非常适合于一些需要轻便、小体积相机的场合。

2、TOF相机能够实时快速的计算深度信息,达到几十到100fps  TOF的深度信息。而目立体相机需要用到复杂的相关性算法,处理速度较慢

3、TOF的深度计算不受物体表面灰度和特征影响,可以非常准确的进行三维探测。而双目立体相机则需要目标具有良好的特征变化,否则会无法进行深度计算。

4、TOF的深度计算精度基本能稳定在cm级

三、脉冲调制

四、连续调制

dToF技术

 

 对硬件的成本比较高,成本昂贵要求严格

iToF技术

相位测距原理

那么下面这个公式就很重要了

 我们可以修改一下这个公式,将

那么公式就会转变如下:

 

这里的N是一个正整数或者0 ,但是当我们在一个周期函数中找到是那个周期的时候是非常难找的,所以我们就干脆不找这个N,索性我们就将N=0(这一步非常重要)。

返回到相机里的时间不可能都是整数,如5.23,那么0.23 我们就可以理解为就是这个尾数。这个就是我们常说的相位差。

 说明:

我么这里可以让d<Ls(就是测尺长),那么就是我们测的距离d≤λ(调制)/2  ,也就是说当我们要测的距离大概是10m 的时候我们需要大概调制波长大概是20m 以上的激光

五、ITOP和DTOF的对比

基本原理

性能对比

典型应用场 

 未来趋势

 

六、对比传统

 基本原理对比

性能参数对比

优缺点总结

典型应用场景

 

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

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

相关文章

c++-函数增强

一、编译器对函数名的处理 1. C与C的差异 C编译器&#xff1a;保留原始函数名&#xff0c;无额外处理。例如&#xff1a; int add(int a, int b) { return a b; } 在汇编代码中仍为add。 C编译器&#xff1a;通过name mangling&#xff08;名称修饰&#xff09;生成唯一函数…

跟着StatQuest学知识08-RNN与LSTM

一、RNN &#xff08;一&#xff09;简介 整个过程权重和偏置共享。 &#xff08;二&#xff09;梯度爆炸问题 在这个例子中w2大于1&#xff0c;会出现梯度爆炸问题。 当我们循环的次数越来越多的时候&#xff0c;这个巨大的数字会进入某些梯度&#xff0c;步长就会大幅增加&…

HarmonyOS 之 @Require 装饰器自学指南

在 HarmonyOS 应用开发工作中&#xff0c;我频繁碰到组件初始化传参校验的难题。在复杂的组件嵌套里&#xff0c;要是无法确保必要参数在构造时准确传入&#xff0c;就极易引发运行时错误&#xff0c;而且排查起来费时费力。一次偶然的机会&#xff0c;我接触到了 Require 装饰…

CDN节点对网络安全扫描的影响:挑战与应对策略

引言 在当今互联网环境中&#xff0c;内容分发网络(CDN)已成为提升网站性能和用户体验的关键技术。然而&#xff0c;CDN的广泛应用也为网络安全扫描带来了新的挑战。本文将深入探讨CDN节点如何影响各类安全扫描工作&#xff0c;分析由此产生的安全风险&#xff0c;并提供有效的…

【Git多分支使用教程】

Git多分支使用教程 Git多分支使用手册目录多分支只拉取一个多分支拉取指定几个步骤 1&#xff1a;克隆第一个分支步骤 2&#xff1a;获取其他分支 常见问题与解决方法1. 错误&#xff1a;origin/分支名 is not a commit2. 分支名称冲突3. --single-branch 限制 总结 Git多分支使…

【身份安全】OAuth 2.0工作原理(一)

目录 OAuth 授权框架一、OAuth 角色二、协议流程三、应用注册&#xff08;Application Registration&#xff09;用户 ID&#xff08;Client ID&#xff09; 和 用户密码&#xff08;Client Secret&#xff09; 四、权限授予1、授权码链接2、用户授权申请3、应用程序接收授权码…

大疆上云api直播功能如何实现

概述 流媒体服务器作为直播画面的中转站,它接收推流端的相机画面,同时拉流端找它获取相机的画面。整个流程如下: 在流媒体服务器上创建流媒体应用(app),一个流媒体服务器上面可以创建多个流媒体应用约定推拉流的地址。假设流媒体服务器工作在1935端口上面,假设创建的流…

ESP-01模块连接手机热点问题及解决方法

在使用ESP-01模块连接手机热点时&#xff0c;可能会遇到一些问题。本文将详细介绍如何解决这些问题&#xff0c;并分享最终通过将WiFi切换到2.4GHz成功解决问题的经验。 一、问题描述 在尝试使用ESP-01模块连接手机热点时&#xff0c;遇到了连接失败的问题。以下是操作过程中…

NG-ZORRO中tree组件的getCheckedNodeList怎么使用

在 NG-ZORRO&#xff08;Ant Design for Angular&#xff09; 的 Tree 组件 中&#xff0c;getCheckedNodeList 方法用于获取当前选中的节点列表&#xff08;包括半选状态节点&#xff09;。以下是具体用法和示例&#xff1a; 基本用法 首先&#xff0c;确保你已通过 ViewChil…

业务流程先导及流程图回顾

一、测试流程回顾 &#xfeff; 1. 备测内容回顾 &#xfeff; 备测内容: 本次测试涵盖买家和卖家的多个业务流程&#xff0c;包括下单流程、发货流程、搜索退货退款、支付抢购、换货流程、个人中心优惠券等。 2. 先测业务强调 &#xfeff; 1&#xff09;测试业务流程 …

从ChatGPT到AutoGPT——AI Agent的范式迁移

一、AI Agent的范式迁移 1. ChatGPT的局限性与Agent化需求 单轮对话的“工具属性” vs. 多轮复杂任务的“自主性” ChatGPT 作为强大的生成式AI,虽然能够进行连贯对话,但本质上仍然是“工具型”AI,依赖用户提供明确的指令,而无法自主规划和执行任务。 人类介入成本过高:提…

【Kafka】分布式消息队列的核心奥秘

文章目录 一、Kafka 的基石概念​主题&#xff08;Topic&#xff09;​分区&#xff08;Partition&#xff09;​生产者&#xff08;Producer&#xff09;​消费者&#xff08;Consumer&#xff09;​ 二、Kafka 的架构探秘​Broker 集群​副本机制​ 三、Kafka 的卓越特性​高…

【蓝桥杯14天冲刺课题单】Day 1

1. 题目链接&#xff1a;19937 艺术与篮球 该题目的难点主要在20240413这个日期需要结束程序跳出循环。最开始将该输出ans的位置放在了for循环之外&#xff0c;此时的日期已经循环完了2024年所有的日期&#xff0c;则最后会统计多而导致结果错误。 AC代码&#xff1a; #incl…

AI人工智能-Jupyter NotbookPycharm:Py开发

安装 命令&#xff1a; pip install jupyter 启动 命令&#xff1a; jupyter notebook 启动成功后&#xff0c;下面网址会默认自动打开当前用户的根目录。 其实这个页面显示的内容&#xff0c;是我们电脑目录C:\Users\当前用户\下的文件夹 我们平常做实验&#xff0c;希望在…

命悬生死线:当游戏遭遇DDoS围剿,如何用AI破局?

文章作者&#xff1a;腾讯宙斯盾DDoS防护团队 一、血色战场&#xff1a;DDoS攻击游戏产业的致命瞬间 全球黑色星期五 这是一场波及全球的“黑色星期五”&#xff0c;起初无人察觉&#xff0c;包括小林。 他刚下班到家就迫不及待打开电脑&#xff0c;准备体验期待已久的《黑神话…

使用HTML5和CSS3实现3D旋转相册效果

使用HTML5和CSS3实现3D旋转相册效果 这里写目录标题 使用HTML5和CSS3实现3D旋转相册效果项目介绍技术栈核心功能实现思路1. HTML结构2. CSS样式解析2.1 基础样式设置2.2 3D效果核心样式2.3 卡片样式 3. JavaScript交互实现3.1 旋转控制3.2 自动播放功能 技术要点总结项目亮点总…

【HTML 基础教程】HTML <head>

HTML <head> 查看在线实例 <title> - 定义了HTML文档的标题 使用 <title> 标签定义HTML文档的标题 <base> - 定义了所有链接的URL 使用 <base> 定义页面中所有链接默认的链接目标地址。 <meta> - 提供了HTML文档的meta标记 使用 <me…

macbook电脑如何清理键盘防止误触

M1芯片的MacBook电脑关机后按任意键开机&#xff0c;是苹果的功能设计。这样设计的目的是为了方便用户&#xff0c;让用户在想要使用电脑时能快速开机。但是清理电脑键盘的时候却成为了一种苦恼 以下是一些清理 MacBook 键盘防止误触的方法&#xff1a; 使用工具锁定键盘 Cle…

Rust 面向对象

Rust 面向对象 引言 Rust 是一种系统编程语言,以其高性能、内存安全和并发支持而受到关注。Rust 的面向对象特性是其强大功能之一,它允许开发者以面向对象的方式构建复杂的应用程序。本文将深入探讨 Rust 的面向对象编程(OOP)特性,包括类的定义、继承、封装和多态等概念…

Redis 源码硬核解析系列专题 - 第二篇:核心数据结构之SDS(Simple Dynamic String)

1. 引言 Redis没有直接使用C语言的标准字符串(以\0结尾的字符数组),而是自定义了SDS(Simple Dynamic String)。SDS是Redis的基础数据结构之一,广泛用于键值存储、命令参数等场景。本篇将深入剖析SDS的实现原理、优势以及源码细节。 2. 为什么不用C标准字符串? C字符串…