作者 | dianyunPCL 编辑 | 点云PCL
本文只做学术分享,如有侵权,联系删文
点击下方卡片,关注“自动驾驶之心”公众号
ADAS巨卷干货,即可获取
点击进入→自动驾驶之心【硬件交流】技术交流群
摘要
在过去的十年里,3D传感器已成为机器人技术中最多用途和普及性最广的传感器之一。在许多机器人应用中,3D传感器已成为近场物体检测和避障、表面和物体检测以及地图创建等任务的首选。本文将重点介绍使用的三种最常见的3D传感技术:CMOS双目视觉(主动和被动)、结构光和飞行时间法。尽管激光雷达(LiDAR)的数据也是三维的,但本文不涉及LiDAR。
立体传感器
这些普遍存在的传感器具有良好的整体性能和低成本的组合,立体3D传感器有两种基本类型:被动型和主动型。
被动型立体3D传感器是所有3D传感器中最廉价的,因为它们使用易于获得和制造成本低廉的现成组件,此外,它们有多种基线可供选择,使用户可以根据其使用情况选择最适合的感知范围,然而,大多数被动型立体3D传感器依赖可见光来有效运行,这意味着它们在光线较暗或无光照条件下表现较差。
主动型立体3D传感器增加了一个红外(IR)图案投射器,这既提高了捕获的3D数据的准确性,也增加了在较低光照条件下的可靠性。然而,这些传感器上的IR投射器的作用范围有限,使得这些传感器无论基线如何,只适用于近距离和中距离的应用。添加了IR图案投射器后,这些传感器实际上成为了混合立体/结构光传感器
立体3D传感器有哪些:
Stereolabs Zed — 提供大型和小型被动型立体3D传感器,有宽基线和窄基线的选择。Zed Mini和Zed 2具有集成的惯性测量单元(IMU),可提供动态数据流。
Ensenso- 工业级别的立体3D传感器,具有坚固的结构和千兆以太网连接。
Occipital Structure Core — 带有定制的红外投射器和内置IMU的主动型立体3D传感器,用于获取动态数据。可作为可嵌入模块或独立封装传感器提供。
Intel RealSense — D系列(D415、D435、D435i、D455)是一系列低成本的主动型立体3D传感器。D435i添加了内置IMU以获取动态数据,而最新的D455具有适用于中距离机器人导航的扩展范围。
结构光传感器
结构光是机器人领域中最常见的3D感知方式,这要归功于最初的PrimeSense 3D传感器的普及,其中包括第一代微软Kinect。
结构光3D传感器将低成本与高保真度的3D数据采集相结合,同时在各种光照条件下表现出良好的性能,但有一个显著的特例是:阳光直接照射或明亮阳光。这是因为结构光传感器使用的红外光源在相同频段的红外光中被阳光中的自然红外光压制。与立体视觉3D传感器类似,结构光传感器也提供多种基线长度的选择,适用于传感器与目标之间不同距离探测的任务。
结构光传感器有哪些:
Orbbec Astra — 一款低成本的结构光3D传感器,常被用作原始的Microsoft Kinect的替代品。
Occipital Structure Sensor(不再有新产品)— 第一个独立的3D传感器,专门设计用于与Apple iPad和iPhone等移动设备配合使用。兼容OpenNI用于深度应用程序开发。现已由Occipital Structure Sensor Mark II主动立体传感器取代。
Microsoft Kinect V1(不再有新产品)— 最常见的消费级3D传感器。最初推出以支持Xbox游戏,第一代Kinect因其低成本为机器人、无人机和其他平台增加了强大的3D感应而受到机器人学家和黑客的欢迎。兼容OpenNI用于深度应用程序开发。
PrimeSense Carmine(不再有新产品)— Carmine系列在规格上与原始的Microsoft Kinect几乎相同,提供短距离和中距离模型,与原始的Microsoft Kinect不同,Carmine不包括麦克风阵列。兼容OpenNI用于深度应用程序开发。
Photoneo — 用于工业应用的耐用3D传感器,Photoneo phoXi系列提供多种基线长度。
Zivid 一系列结构光3D传感器,提供多种基线长度,Zivid One系列采用USB3连接,Zivid Two采用CAT 6A以太网连接。
飞行时间(ToF)
ToF传感器实质上是LiDAR传感器,也称为光雷达,它们发射红外光信号包,并记录红外光信号返回所花费的时间。尽管与结构光传感器一样使用红外光源,但ToF传感器发送和接收光信号的方式使其对来自强光和间接阳光的干扰更不敏感。使用ToF相机时,提供能够照亮整个场景的光源可以让传感器确定所有点的深度。其结果可以得到一个范围图,其中每个像素编码了与场景上对应点的距离。下面是一个ToF范围图的示例:
飞行时间(ToF)传感器通常具有比结构光传感器更广泛的范围能力,并且可以在更长的距离范围内准确运行。然而,它们无法像结构光或立体声3D传感器那样提供高保真度的3D图像,因此,它们更适用于导航辅助等任务,而不是表面检查等任务。
TOF传感器有哪些?
微软Azure Kinect - 微软Kinect系列最新成员,是一款紧凑的ToF模块,配备一颗1200万像素RGB视频摄像头,与深度流进行配准,实现高质量的彩色成像和纹理。Azure Kinect还内置了一个IMU以获取动态数据。
PMD Pico - 简单、紧凑的ToF 3D传感器,可作为嵌入式模块或独立封装的传感器购买。
华硕Xtion 2 - 越来越难找到。然而与原始的微软Kinect、PrimeSense Carmine和原始Occipital Structure Sensor 3D传感器一样,Xtion 2与OpenNI兼容,可用于深度驱动的应用程序开发。
传感器比较
将立体感知传感器与结构光和ToF感知传感器进行比较,选择3D传感器的主要需要考虑的因素包括:
传感器性能
对主机的影响
环境限制
让我们详细探讨每个因素,然后看看每种传感器之间的区别。
传感器性能
这里要探讨的主要参数是感知范围、分辨率和可靠性。
感知范围可能是最重要的参数,因为不同的机器人任务是由它们发生的范围所定义的。例如,对于自动驾驶车辆的高速环境地图生成,通常采用旋转式LiDAR装置,因为它们的探测范围可以超过100米,这使得它们可以在自动驾驶车辆到达障碍物之前就能很好地观察到远处的障碍物。然而,这些同样的LiDAR装置在近距离的视觉检查方面效果较差,因为这些任务需要具有亚米级范围的传感器,以支持更高的细节捕捉和精确度。
对于立体和结构光3D传感器来说,范围是传感器本身的光学元件之间基线的一个函数,经验法则是,基线越宽,范围越远。同样,较窄的基线会导致较短的感知范围,基线较宽的传感器的感知范围从传感器较远的位置开始。这意味着宽基线传感器可能会忽略距离传感器不到2米的物体,基线较短的传感器可能没有那么远的范围,但它可能能够在距离传感器0.25米内开始感知,因此,基线和由此产生的范围成为需要感知的近距离和需要感知的远距离之间的权衡,您只能选择其中一种,而不能同时获得两者。
大多数3D传感器的范围从传感器约0.5-1米开始,最多可延伸到3-6米。注意在传感器范围的最远处,分辨率和精确度可能迅速下降。ToF 3D传感器通常比结构光或立体3D传感器具有更大的范围,并且通常可以从距离传感器多达25米的物体接收可靠信号。然而,ToF传感器通常存在过多的噪声,并且分辨率可能比价格相似的其他3D技术低。
说到分辨率,这既取决于感知范围,也取决于传感器使用的光学器件的性质。结构光传感器的分辨率受到它们投射的图案密度的限制(随着距离的增加而变得更稀疏),以及读取图案的红外相机的分辨率,因为图案落在要感知的物体和环境上。立体传感器的分辨率受限于用于传感器的相机的固有分辨率。对于导航等任务,高分辨率不是必需的,除非可能导致阻塞的物体非常细小(例如,对于某些低分辨率的3D传感器来说,延长电缆可能处于可检测性的边缘)。对于表面检查和3D建模等任务,高分辨率更加可取。因为这些任务通常发生在近距离,所以许多结构光和立体传感器非常适合这种任务。ToF传感器最适合中距离导航任务或骨骼跟踪。这些任务不需要高分辨率感知,但可以受益于ToF传感器的范围和操作速度。
最后,让我们谈谈可靠性。对于传感器来说,这有两种形式:数据采集可靠性和机械可靠性。数据采集的可靠性取决于每种传感器模式的固有限制。例如立体传感器需要足够的可见光谱的环境光才能正常工作。相反,结构光和ToF等基于红外的传感器在暴露于过多环境光时会遇到问题,导致传感器的输出过曝和数据完整性问题。这些传感器还难以处理黑色表面(它们吸收红外波长)和光亮表面(它们散射投射的红外光)。具有红外图案投射器的主动立体传感器为各种环境和照明条件下的传感器可靠性提供了一种“兼顾两全”的方法。
机械可靠性通常是特定传感器模式固有的妥协或制造商降低成本的结果。许多消费级传感器使用USB进行数据和电源传输;在实验室或测试环境中这是可以接受的。然而,在实际应用中,USB可能不稳定且容易出错,导致间歇性传感器故障和数据受损。以太网更加稳定,但在消费级传感器上很少见。它更有可能在价格更昂贵的工业级传感器上找到,在购买决策中是先决条件。
对主机的影响
这里将探讨功耗、计算资源使用、散热、数据传输和形式因素等主要参数。所有机器人主机都有有限的计算和功耗资源,机器人、无人机和其他具备视觉功能的设备通常是资源平衡的过程,其中多个传感器、马达、执行器和其他组件争夺有限的系统资源。不同的传感器对系统的影响不同。例如,与被动立体3D传感器相比,带有主动红外(IR)元件的传感器对功耗需求更高。但是,具有高动态范围(HDR)相机的被动立体传感器可能比结构光传感器需要更多的计算资源,因为它们捕获的图像具有更丰富的数据。因此,在传感器决策中必须综合考虑其他需要系统资源的组件。类似地,对于机器人和无人机来说,数据传输和存储通常是有限的。再举一个例子,使用配备HDR的3D传感器,鉴于所捕获和传输的数据流的巨大规模,甚至可以对强大的WiFi网络造成压力。
最后,工业设计考虑因素可能会限制可选择的传感器选项。这些考虑因素包括传感器的尺寸和重量(对于轻型设备如无人机尤为重要),以及传感器散热能力。对于配备红外的传感器,后者尤为重要。这些传感器中基于激光的红外元件依赖于在特定温度范围内运行以维持其操作带宽。即使温度偏离工作温度范围仅几华氏度,也会导致传感器读数的显著变化,破坏所生成的数据,使其变得无用。因此,必须考虑在使用环境中对这些传感器进行通风或隔热的因素。
环境限制
在这里探讨环境光照和连接性这两个主要参数,之前提到过许多传感器对环境光照敏感,但这值得再次强调。对于机器人而言,光照问题是导致3D传感器故障最常见的原因之一。在实验室环境中表现出色、具有一致光照条件的机器人,一旦放置在实际环境中,面对变化不一致的光照条件,就会突然出现严重且间歇性的故障,因此,在选择传感器时,了解部署中可能存在的所有光照变化,并在选择传感器时加以考虑,是非常重要的。
连接性也是重要的考虑因素。如果传感器数据要在本地进行处理和使用,那么连接性就不是问题,然而对于将在带宽较低的环境中部署的机器人,必须在传输之前在主机上进行传感器数据的压缩或过滤,或者选择低带宽的传感器类型(例如ToF)。同样,重要的是在实际的带宽限制条件下测试数据包大小的阈值,因为实验室环境可能无法充分揭示问题。根据已经制作了一张方便的图表,显示了不同的机器人任务以及适合这些场景的3D传感器。
参考文献
https://hackernoon.com/3-common-types-of-3d-sensors-stereo-structured-light-and-tof-194033f0
https://www.seeedstudio.com/blog/2020/07/03/3d-imaging-technology-comparison-tof-time-of-flight-vs-stereo-vision-m/
① 全网独家视频课程
BEV感知、毫米波雷达视觉融合、多传感器标定、多传感器融合、多模态3D目标检测、点云3D目标检测、目标跟踪、Occupancy、cuda与TensorRT模型部署、协同感知、语义分割、自动驾驶仿真、传感器部署、决策规划、轨迹预测等多个方向学习视频(扫码学习)

② 国内首个自动驾驶学习社区
近2000人的交流社区,涉及30+自动驾驶技术栈学习路线,想要了解更多自动驾驶感知(2D检测、分割、2D/3D车道线、BEV感知、3D目标检测、Occupancy、多传感器融合、多传感器标定、目标跟踪、光流估计)、自动驾驶定位建图(SLAM、高精地图、局部在线地图)、自动驾驶规划控制/轨迹预测等领域技术方案、AI模型部署落地实战、行业动态、岗位发布,欢迎扫描下方二维码,加入自动驾驶之心知识星球,这是一个真正有干货的地方,与领域大佬交流入门、学习、工作、跳槽上的各类难题,日常分享论文+代码+视频,期待交流!

③【自动驾驶之心】技术交流群
自动驾驶之心是首个自动驾驶开发者社区,聚焦目标检测、语义分割、全景分割、实例分割、关键点检测、车道线、目标跟踪、3D目标检测、BEV感知、多模态感知、Occupancy、多传感器融合、transformer、大模型、点云处理、端到端自动驾驶、SLAM、光流估计、深度估计、轨迹预测、高精地图、NeRF、规划控制、模型部署落地、自动驾驶仿真测试、产品经理、硬件配置、AI求职交流等方向。扫码添加汽车人助理微信邀请入群,备注:学校/公司+方向+昵称(快速入群方式)