TOF、RGB双目、结构光优劣分析

2023-10-31 03:30
文章标签 分析 结构 优劣 tof rgb 双目

本文主要是介绍TOF、RGB双目、结构光优劣分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转自:https://blog.csdn.net/qq_37764129/article/details/81011221

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

一、RGB双目

    RGB双目相机因为非常依赖纯图像特征匹配,所以在光照较暗或者过度曝光的情况下效果都非常差,另外如果被测场景本身缺乏纹理,也很难进行特征提取和匹配。你看看下面的图就懂了。

三种相机的参数对比:

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

(1)分辨率

    TOF方案深度图分辨率很难提高,一般都达不到VGA(640x480)分辨率。比如Kinect2的TOF方案深度图分辨率只有512x424。而Google和联想合作的PHAB2手机的后置TOF深度相机分辨率只有224x171。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方案。该方案在深度分辨率、深度测量精度上有较大优势,实时性处理和全天候工作也都有保障,功耗也相对较低,就是成本稍高了一些。

    9月13日苹果发布了致敬十周年的新机型iPhone X,其中前置原深感(TrueDepth)相机引起了极大的舆论关注。该相机的构成如下图所示。从左到右,依次是红外镜头、泛光感应元件、距离传感器、环境光传感器、扬声器、麦克风、700万像素摄像头、点阵投影器。其中最有里程碑意义的当属红外镜头 + 点阵投影器 + RGB摄像头的组合。

 

转自:https://blog.csdn.net/electech6/article/details/78889057

https://blog.csdn.net/electech6/article/details/78348917

这篇关于TOF、RGB双目、结构光优劣分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark

C++ 各种map特点对比分析

《C++各种map特点对比分析》文章比较了C++中不同类型的map(如std::map,std::unordered_map,std::multimap,std::unordered_multima... 目录特点比较C++ 示例代码 ​​​​​​代码解释特点比较1. std::map底层实现:基于红黑

Spring、Spring Boot、Spring Cloud 的区别与联系分析

《Spring、SpringBoot、SpringCloud的区别与联系分析》Spring、SpringBoot和SpringCloud是Java开发中常用的框架,分别针对企业级应用开发、快速开... 目录1. Spring 框架2. Spring Boot3. Spring Cloud总结1. Sprin

Spring 中 BeanFactoryPostProcessor 的作用和示例源码分析

《Spring中BeanFactoryPostProcessor的作用和示例源码分析》Spring的BeanFactoryPostProcessor是容器初始化的扩展接口,允许在Bean实例化前... 目录一、概览1. 核心定位2. 核心功能详解3. 关键特性二、Spring 内置的 BeanFactory

MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析

《MyBatis-Plus中Service接口的lambdaUpdate用法及实例分析》本文将详细讲解MyBatis-Plus中的lambdaUpdate用法,并提供丰富的案例来帮助读者更好地理解和应... 目录深入探索MyBATis-Plus中Service接口的lambdaUpdate用法及示例案例背景

MyBatis-Plus中静态工具Db的多种用法及实例分析

《MyBatis-Plus中静态工具Db的多种用法及实例分析》本文将详细讲解MyBatis-Plus中静态工具Db的各种用法,并结合具体案例进行演示和说明,具有很好的参考价值,希望对大家有所帮助,如有... 目录MyBATis-Plus中静态工具Db的多种用法及实例案例背景使用静态工具Db进行数据库操作插入