深度相机—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

相关文章

深度解析Java DTO(最新推荐)

《深度解析JavaDTO(最新推荐)》DTO(DataTransferObject)是一种用于在不同层(如Controller层、Service层)之间传输数据的对象设计模式,其核心目的是封装数据,... 目录一、什么是DTO?DTO的核心特点:二、为什么需要DTO?(对比Entity)三、实际应用场景解析

从原理到实战深入理解Java 断言assert

《从原理到实战深入理解Java断言assert》本文深入解析Java断言机制,涵盖语法、工作原理、启用方式及与异常的区别,推荐用于开发阶段的条件检查与状态验证,并强调生产环境应使用参数验证工具类替代... 目录深入理解 Java 断言(assert):从原理到实战引言:为什么需要断言?一、断言基础1.1 语

深度解析Java项目中包和包之间的联系

《深度解析Java项目中包和包之间的联系》文章浏览阅读850次,点赞13次,收藏8次。本文详细介绍了Java分层架构中的几个关键包:DTO、Controller、Service和Mapper。_jav... 目录前言一、各大包1.DTO1.1、DTO的核心用途1.2. DTO与实体类(Entity)的区别1

MySQL中的表连接原理分析

《MySQL中的表连接原理分析》:本文主要介绍MySQL中的表连接原理分析,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、环境3、表连接原理【1】驱动表和被驱动表【2】内连接【3】外连接【4编程】嵌套循环连接【5】join buffer4、总结1、背景

深度解析Python装饰器常见用法与进阶技巧

《深度解析Python装饰器常见用法与进阶技巧》Python装饰器(Decorator)是提升代码可读性与复用性的强大工具,本文将深入解析Python装饰器的原理,常见用法,进阶技巧与最佳实践,希望可... 目录装饰器的基本原理函数装饰器的常见用法带参数的装饰器类装饰器与方法装饰器装饰器的嵌套与组合进阶技巧

深度解析Spring Boot拦截器Interceptor与过滤器Filter的区别与实战指南

《深度解析SpringBoot拦截器Interceptor与过滤器Filter的区别与实战指南》本文深度解析SpringBoot中拦截器与过滤器的区别,涵盖执行顺序、依赖关系、异常处理等核心差异,并... 目录Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现

深度解析Spring AOP @Aspect 原理、实战与最佳实践教程

《深度解析SpringAOP@Aspect原理、实战与最佳实践教程》文章系统讲解了SpringAOP核心概念、实现方式及原理,涵盖横切关注点分离、代理机制(JDK/CGLIB)、切入点类型、性能... 目录1. @ASPect 核心概念1.1 AOP 编程范式1.2 @Aspect 关键特性2. 完整代码实

MySQL中的索引结构和分类实战案例详解

《MySQL中的索引结构和分类实战案例详解》本文详解MySQL索引结构与分类,涵盖B树、B+树、哈希及全文索引,分析其原理与优劣势,并结合实战案例探讨创建、管理及优化技巧,助力提升查询性能,感兴趣的朋... 目录一、索引概述1.1 索引的定义与作用1.2 索引的基本原理二、索引结构详解2.1 B树索引2.2

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加

Java Stream的distinct去重原理分析

《JavaStream的distinct去重原理分析》Javastream中的distinct方法用于去除流中的重复元素,它返回一个包含过滤后唯一元素的新流,该方法会根据元素的hashcode和eq... 目录一、distinct 的基础用法与核心特性二、distinct 的底层实现原理1. 顺序流中的去重