增强视觉传感器功能:3D图像拼接算法帮助扩大视场

摘要

得益于出色的深度计算和红外(IR)成像能力,飞行时间(TOF)摄像头在工业应用,尤其是机器人领域越来越受欢迎。尽管具有这些优势,但光学系统的固有复杂性往往会约束视场,从而限制独立功能。本文中讨论的3D图像拼接算法专为支持主机处理器而设计,无需云计算。该算法将来自多个TOF摄像头的红外和深度数据实时无缝结合,生成连续的高质量3D图像,该图像具有超越独立单元的扩大视场。借助拼接的3D数据,应用先进的深度学习网络能够彻底改变可视化及与3D环境的交互,深度学习网络在移动机器人应用中特别有价值。

简介

飞行时间(TOF)摄像头作为出色的测距成像系统脱颖而出,它利用TOF技术来确定摄像头与图像中每个点之间的距离。通过测量激光器或LED发射的人造光信号的往返时间,便可计算出距离。TOF摄像头提供精确的深度信息,因此在准确距离测量和3D 可视化至关重要的应用中,比如在机器人和工业技术应用中,该摄像头是极具价值的工具,例如能够在270°的视场(FOV)范围执行碰撞检测和人体检测,从而提高安全性。

ADTF3175 TOF传感器的校准FOV可达到75°。然而,当应用的FOV超出该区域时,挑战出现,此时就需要多个传感器。如果通过集成各个传感器的数据来为整个视场提供全面的分析,这可能会造成困难。一个潜在解决方案是让传感器对部分FOV执行算法,然后将输出传输至主机以进行整理。然而,该方法面临区域重叠、死区和通信延迟等问题,导致其成为很难有效解决的复杂问题。

另一种方法是将从所有传感器捕获的数据拼接成单个图像,随后在拼接的图像上应用检测算法。该过程可卸载至单独的主机处理器,从而减轻传感器单元的计算负荷,留出空间执行高级分析和其他处理选项。然而,值得注意的是,传统图像拼接算法本身非常复杂,会消耗主机处理器相当一部分的计算能力。此外,由于隐私原因,在许多应用中,数据无法发送到云端进行拼接。

ADI公司的算法解决方案可使用深度数据的点云投影,拼接来自不同传感器的深度和红外图像。这包括使用摄像头外部位置转换捕获到的数据并将其投影回到2D空间,从而生成单张连续显示的图像。

该方法能够大幅减少计算量,有助于在边缘达到实时运行的速度,并确保主机处理器的计算能力仍可用于其他高级分析。

解决方案描述

ADI的3D TOF解决方案分4个阶段运行(参见图1):

  1. 预处理红外和深度数据:红外和深度数据的时间同步及预处理。
  2. 将深度数据投影到3D点云:利用摄像头内参将深度数据投影到3D点云。
  3. 转换和合并点:使用摄像头的外部位置对点云进行坐标转换,并合并重叠区域。
  4. 将点云投影到2D图像:采用圆柱投影将点云投影回到2D图像。
图1. 深度拼接算法。

系统与算法的挑战及解决方案

主机接收深度和红外帧

主机通过USB等高速连接方式连接到多个TOF传感器。主机收集深度和红外帧,并将其存储在队列中。

同步深度和红外数据

主机接收到的来自每个传感器的深度和红外帧在不同时间实例被捕获。为了避免因物体移动而造成的时间不匹配,所有传感器的输入需要同步到同一时间实例。使用时间同步器模块,该模块根据来自队列的时间戳匹配传入的帧。

投影到点云

通过使用每个传感器的同步深度数据,在主机上生成点云。然后,每个点云根据其各自在真实场景中的摄像头位置(参见图2)进行转换(平移和旋转)。接着,这些转换后的点云合并形成单个连续点云,覆盖传感器的组合FOV(参见图3)。

图2. 相机外参。
图3. 合并的点云。

3D到2D投影

通过使用圆柱投影算法,也称为前视图投影,FOV的组合点云投影到2D画布上(参见图4)。换言之,该算法将合并点云的每个点投影到2D平面的像素上,从而生成单一连续全景图,覆盖所有传感器的组合视场。这会产生两个2D拼接图像:一个用于拼接的红外图像,另一个用于投影到2D平面的拼接深度图像。

图4. 圆柱投影算法。

提高投影质量

将3D组合点云投影到2D图像仍无法生成高质量图像。图像存在失真和噪点。这不仅影响视觉质量,对投影上运行的任何算法也会产生不利影响。以下章节记录了3个关键问题(参见图5)及其解决方法。

图5. 2D投影问题。

投影无效深度区域

对于超出传感器工作范围(8000 mm)的点,ADTF3175的深度数据的无效深度值为0 mm。这会导致深度图像上出现大片空白区域,并形成不完整的点云。将深度值8000 mm(摄像头支持的最大深度)分配给深度图像上的所有无效点,并利用该值生成点云。这确保了点云没有间隙。

填充未映射的像素

将3D点云投影到2D平面时,2D图像中存在未映射/未填充的区域。许多点云(3D)像素映射至同一个2D像素,因此多个2D像素仍是空白。这就会产生如图6所示的拉伸图案。为解决该问题,我们使用3 × 3过滤器,用其相邻的8个具备有效值的像素的平均红外/深度值来填充未映射的像素。这样便可获得更完整的输出图像,并消除伪影(参见图6)。

图6. 填充未映射的像素。

重叠点产生的噪点

得益于圆柱投影算法,重叠区域上的许多点最终在2D投影输出上获得相同的静止坐标。由于背景像素与前景像素重叠,因此会产生噪点。为解决该问题,我们将每个点的径向距离与现有点进行比较,仅当与摄像头原点的距离小于现有点时,才会替换该点。这有助于仅保留前景点,并提高投影质量(参见图7)。

图7. 重叠噪点修复。

结论

该算法能够以小于5°的重叠度拼接来自不同摄像头的图像,相比之下,传统关键点匹配算法至少需要20°的重叠度。该方法所需的计算量极少,因此非常适用于边缘系统。由于没有图像失真,深度数据在拼接后仍具有完整性。该解决方案进一步支持了ADTF3175传感器的模块化实现,以极小的损失获得所需FOV。

FOV的扩展不限于水平维度,相同技术也可用于在垂直方向上扩展视场,从而获得真正的球形视觉。该解决方案可以在连接了4个传感器的Arm® V8 6核边缘CPU上以10 fps的速度运行,提供275°的FOV。当仅使用两个传感器时,帧速率可达30 fps。

该方法的主要优势之一是实现了巨大的计算效率增益,基本计算效率的增益超过3倍(参见表1)。

表1. 计算复杂性比较:针对512 × 512 QMP输入,传统算法 与本文所提算法比较
算法 平均浮点运算
传统图像拼接算法 8.57亿
本文提出的PCL深度拼接算法 2.6亿(减少3.29倍)

图8和图9展示了使用该解决方案获得的一些结果。

图8. 拼接的红外数据提供210°的FOV。
图9. 具有278° FoV的拼接红外和深度图像。

参考电路

ADI公司的3DToF ADTF31xx”。GitHub, Inc.

ADI公司3DToF地面探测器”。GitHub, Inc.

ADI公司3DToF图像拼接”。GitHub, Inc.

ADI公司3DToF安全气泡探测器”。GitHub, Inc.

ADI公司3D ToF软件套件”。GitHub, Inc.

He、Yingshen、Ge Li、Yiting Shao、Jing Wang、Yueru Chen和Shan Liu. “通过球面投影的点云压缩框架”。2020年IEEE视觉通信和图像处理国际会议,2020年。

工业视觉技术。ADI公司

Topiwala、Anirudh。“点云的球面投影”。Towards Data Science, 2020年3月。

作者

Rajesh Mahapatra

Rajesh Mahapatra

Rajesh Mahapatra拥有超过30年的工作经验,目前就职于班加罗尔ADI公司的软件和安全部门。他热衷于使用基于ADI硬件解决方案的算法和嵌入式软件来帮助客户解决问题。他与非政府组织密切合作,植树造林,并为城市里经济困难的人群提供培训,帮助他们谋生。他在系统、图像处理和计算机视觉领域拥有5项专利。

Anil Sripadarao

Anil Sripadarao

Anil Sripadarao于2007年加入ADI公司,目前就职于班加罗尔ADI公司的软件和安全部门。他感兴趣的领域包括音频/视频编解码器、AI/ML、计算机视觉算法和机器人技术。他在图像处理和计算机视觉领域拥有6项专利。

Swastik Mahapatra

Swastik Mahapatra

Swastik Mahapatra是软件和安全部门的高级机器学习工程师。他于2018年加入ADI公司,致力于开发各种计算机视觉技术和机器人安全解决方案。他在深度学习边缘推理框架开发、机器人应用开发方面拥有丰富的经验,并精通卷积神经网络。他的专业领域包括计算机视觉、3D视觉、机器学习和机器人的算法开发。