深度相机—TOF、RGB双目、结构光原理及优势对比

2023-12-22 07:36

本文主要是介绍深度相机—TOF、RGB双目、结构光原理及优势对比,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

烟台致瑞图像视觉技术2021-03-18 15:14

目前的深度相机根据其工作原理可以分为三种:TOF、RGB双目、结构光。

一、TOF

TOF是Time of flight的简写,直译为飞行时间的意思。所谓飞行时间法3D成像,是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离。这种技术跟3D激光传感器原理基本类似,只不过3D激光传感器是逐点扫描,而TOF相机则是同时得到整幅图像的深度信息。TOF相机与普通机器视觉成像过程也有类似之处,都是由光源、光学部件、传感器、控制电路以及处理电路等几部单元组成。与同属于非嵌入式三维探测、适用领域非常类似的双目测量系统相比,TOF相机具有根本不同的3D成像机理。双目立体测量通过左右立体像对匹配后,再经过三角测量法来进行立体探测,而TOF相机是通过入、反射光探测来获取的目标距离获取。微软kinect2即是基于TOF原理的深度相机。

TOF 相机目前的主要应用领域包括:

1、物流行业:通过 TOF 相机迅速获得包裹的抛重(即体积),来优化装箱和进行运费评估;

2、安防和监控:进行 People counting 确定进入人数不超过上限;通过对人流或复杂交通系统的counting,实现对安防系统的统计分析设计;敏感地区的检测对象监视;

3、机器视觉:工业定位、工业引导和体积预估;替代工位上占用大量空间的、基于红外光进行安全生产控制的设备;

4、机器人:在自动驾驶领域提供更好的避障信息;机器人在安装、质量控制、原料拣选应用上的引导;

5、医疗和生物:足部矫形建模、病人活动/状态监控、手术辅助、面部3D 识别;

6、互动娱乐:动作姿势探测、表情识别、娱乐广告。

二、RGB双目

RGB双目指的是目前大家都在热点研究的,仅依靠双相机的视差获取深度信息的方式。RGB双目相机因为非常依赖纯图像特征匹配,所以在光照较暗或者过度曝光的情况下效果都非常差,另外如果被测场景本身缺乏纹理,也很难进行特征提取和匹配。看看下面的图就懂了。

三、结构光

以激光三维扫描仪为例,其原理是通过发射激光来扫描被测物,以获取被测物体表面的三维坐标。三维激光扫描技术又被称为实景复制技术,具有高效率、高精度的测量优势。有人说,三维激光扫描是继GPS技术以来测绘领域的又一次技术革命。三维激光扫描仪被广泛应用于结构测量、建筑测量、船舶制造、铁路以及工程的建设等领域。近些年来,三维激光扫描仪已经从固定朝移动方向发展,最具代表性的就是车载三维激光扫描仪和机载三维激光雷达。

三种相机的参数对比:

从分辨率、帧率、软件复杂度、功耗等方面来考虑

(1)分辨率

TOF方案深度图分辨率很难提高,一般都达不到VGA(640×480)分辨率。比如Kinect2的TOF方案深度图分辨率只有512×424。而Google和联想合作的PHAB2手机的后置TOF深度相机分辨率只有224×171。TOF方案受物理器件的限制,分辨率很难做到接近VGA的,即使做到,也会和功耗呈指数倍增长。结构光的分辨率在较近使用范围内,结构光方案的分辨率会大大高于TOF方案。比如目前结构光方案的深度图最高可以做到1080p左右的分辨率了。

(2)帧率

帧率的话,TOF方案可以达到非常高的帧率,差不多上百fps吧。结构光方案帧率会低点,典型的是30fps,不过这也基本够用了。

(3)软件复杂度

结构光因为需要对编码的结构光进行解码,所以复杂度要比直接测距的TOF高一些。

(4)功耗

TOF是激光全面照射,而结构光是只照射其中局部区域,比如PrimeSense的伪随机散斑图案,只覆盖了不到十分之一的空间。另外,TOF发射的是高频调制脉冲,而结构光投射图案并不需要高频调制,所以结构光的功耗要比TOF低很多。还是以伪随机散斑结构光为例,结构光方案功耗只有TOF的十分之一不到吧。

下面是三种方案在分辨率,帧率,软件复杂度和功耗方面的对比结果。

结构光方案还有一个优势在于技术成熟,PrimeSense很早就把结构光技术用在kinect一代产品中了。目前结构光技术有如下几种变种:一种是单目IR+投影红外点阵,另外一种是双目IR+投影红外点阵,这样相当于结构光+双目立体融合了,深度测量效果会比前者好一些,比如Intel RealSense R200采用的就是双目IR+投影红外点阵,不足之处就是体积较大。而单目IR+投影红外点阵的方案虽然体积较小,但是效果会差一点。

(5)计算复杂度

计算方式也分几种:一是直接用ASIC(专用集成电路)进行计算,成本稍微高一点,但是处理速度快,支持高帧率和高分辨率深度相机,关键是比通用芯片功耗低。二是DSP+软件算法,成本跟用ASIC差不多,但支持不了高帧率高分辨率,功耗比ASIC稍高。三是直接用手机的AP(Application Processor)进行纯软件计算,这个不需要额外增加硬件成本,但是比较消耗AP的计算资源。同样也不支持高帧率高分辨率,功耗比较大。

iPhone X的深度相机技术方案:结构光原理的深度相机。具体来说是:单目IR+投影红外点阵+ASIC方案。该方案在深度分辨率、深度测量精度上有较大优势,实时性处理和全天候工作也都有保障,功耗也相对较低,就是成本稍高了一些。

总结:

1.双目方案,最大的问题在于实现算法需要很高的计算资源,导致实时性很差,而且基本跟分辨率,检测精度挂钩。也就是说,分辨率越高,要求精度越高,则计算越复杂,同时,纯双目方案受光照,物体纹理性质影响。

2.结构光方案,目的就是为了解决双目中匹配算法的复杂度和鲁棒性问题而提出,该方案解决了大多数环境下双目的上述问题。但是,在强光下,结构光核心技术激光散斑会被淹没,因此,不合适室外。同时,在长时间监控方面,激光发射设备容易坏,重新更换设备后,需要重新标定。

3.TOF方案,传感器技术不是很成熟,因此,分辨率较低,成本高,但由于其原理与另外两种完全不同,实时性高,不需要额外增加计算资源,几乎无算法开发工作量,是未来发展的一个重要方向。

这篇关于深度相机—TOF、RGB双目、结构光原理及优势对比的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/523111

相关文章

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

使用Python实现Word文档的自动化对比方案

《使用Python实现Word文档的自动化对比方案》我们经常需要比较两个Word文档的版本差异,无论是合同修订、论文修改还是代码文档更新,人工比对不仅效率低下,还容易遗漏关键改动,下面通过一个实际案例... 目录引言一、使用python-docx库解析文档结构二、使用difflib进行差异比对三、高级对比方

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

深度解析Python中递归下降解析器的原理与实现

《深度解析Python中递归下降解析器的原理与实现》在编译器设计、配置文件处理和数据转换领域,递归下降解析器是最常用且最直观的解析技术,本文将详细介绍递归下降解析器的原理与实现,感兴趣的小伙伴可以跟随... 目录引言:解析器的核心价值一、递归下降解析器基础1.1 核心概念解析1.2 基本架构二、简单算术表达

深度解析Java @Serial 注解及常见错误案例

《深度解析Java@Serial注解及常见错误案例》Java14引入@Serial注解,用于编译时校验序列化成员,替代传统方式解决运行时错误,适用于Serializable类的方法/字段,需注意签... 目录Java @Serial 注解深度解析1. 注解本质2. 核心作用(1) 主要用途(2) 适用位置3

深入浅出Spring中的@Autowired自动注入的工作原理及实践应用

《深入浅出Spring中的@Autowired自动注入的工作原理及实践应用》在Spring框架的学习旅程中,@Autowired无疑是一个高频出现却又让初学者头疼的注解,它看似简单,却蕴含着Sprin... 目录深入浅出Spring中的@Autowired:自动注入的奥秘什么是依赖注入?@Autowired

Java MCP 的鉴权深度解析

《JavaMCP的鉴权深度解析》文章介绍JavaMCP鉴权的实现方式,指出客户端可通过queryString、header或env传递鉴权信息,服务器端支持工具单独鉴权、过滤器集中鉴权及启动时鉴权... 目录一、MCP Client 侧(负责传递,比较简单)(1)常见的 mcpServers json 配置

从原理到实战解析Java Stream 的并行流性能优化

《从原理到实战解析JavaStream的并行流性能优化》本文给大家介绍JavaStream的并行流性能优化:从原理到实战的全攻略,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的... 目录一、并行流的核心原理与适用场景二、性能优化的核心策略1. 合理设置并行度:打破默认阈值2. 避免装箱

Maven中生命周期深度解析与实战指南

《Maven中生命周期深度解析与实战指南》这篇文章主要为大家详细介绍了Maven生命周期实战指南,包含核心概念、阶段详解、SpringBoot特化场景及企业级实践建议,希望对大家有一定的帮助... 目录一、Maven 生命周期哲学二、default生命周期核心阶段详解(高频使用)三、clean生命周期核心阶

深度剖析SpringBoot日志性能提升的原因与解决

《深度剖析SpringBoot日志性能提升的原因与解决》日志记录本该是辅助工具,却为何成了性能瓶颈,SpringBoot如何用代码彻底破解日志导致的高延迟问题,感兴趣的小伙伴可以跟随小编一起学习一下... 目录前言第一章:日志性能陷阱的底层原理1.1 日志级别的“双刃剑”效应1.2 同步日志的“吞吐量杀手”