得益於卓越的深度运算和红外线(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.预处理红外线和深度数据:红外和深度资料的时间同步及预处理;2.将深度资料投影到3D点云:利用摄影机内叁将深度资料投影到3D点云;3.转换和合并点:使用摄影机的外部位置对点云进行座标转换,合并并重叠区域;4.将点云投影到2D图像:采用圆柱投影将点云投影回到2D图像。
系统与演算法的挑战及解决方案
主机接收深度和 IR Frames
主机透过USB等高速连接方式连接到多个ToF感测器。主机收集深度和IR Frames,并将其储存在伫列中。
同步深度和IR Frames
主机接所收到来自每个感测器的深度和IR Frames在不同时间实例被撷获。为了避免因物体移动而造成的时间不匹配,所有感测器的输入需要同步到同一时间实例。此时可使用时间同步器模组,该模组将根据来自伫列的时间戳记匹配传入的帧。
投影到点云
透过使用每个感测器的同步深度资料,在主机上产生点云。然後,每个点云根据其各自在真实场景中的摄影机位置(图二)进行转换(平移和旋转)。接着,这些转换後的点云合并形成单个连续点云,覆盖感测器的组合FOV(图三)。
3D到2D投影
透过使用圆柱投影演算法,也称为前视图投影,FOV的组合点云投影到2D画布上(图四)。换言之,该演算法将合并点云的每个点投影到2D平面的像素上,进而产生单一连续全景图,覆盖所有感测器的组合视野。这会产生两个2D拼接图像:一个用於拼接的红外图像,另一个用於投影到2D平面的拼接深度图像。
提升投影品质
将3D组合点云投影到2D图像仍无法产生高品质图像。图像存在失真和杂讯。这不仅影响视觉品质,对投影上运行的任何演算法也会产生不利影响。以下章节记录了3个关键问题(图五)及其解决方法。
投影无效深度区域
对於超出感测器工作范围(8000 mm)的点,ADTF3175的深度数据的无效深度值为0 mm。这会导致深度图像上出现大片空白区域,并形成不完整的点云。将深度值8000 mm(摄影机支援的最大深度)分配给深度图像上的所有无效点,并利用该值产生点云,如此可确保点云没有间隙。
填充未映射的像素
将3D点云投影到2D平面时,2D图像中存在未映射/未填充的区域。许多点云(3D)像素映射至同一个2D像素,因此多个2D像素仍是空白。这就会产生如图6所示的拉伸图案。为解决该问题,我们使用3 × 3筛检程式,用其相邻的8个具备有效值的像素的平均红外线/深度值来填充未映射的像素。如此便可获得更完整的输出图像,并消除伪影(图六)。
重叠点产生的杂讯
得益於圆柱投影演算法,重叠区域上的许多点最终在2D投影输出上获得相同的静止座标。由於背景像素与前景像素重叠,因此会产生杂讯。为解决该问题,我们将每个点的径向距离与现有点进行比较,仅当与摄影机原点的距离小於现有点时,才会替换该点。这有助於仅保留前景点,并提升投影品质(图七)。
结论
该演算法能够以小於5。的重叠度拼接来自不同摄影机的图像,相较之下,传统关键点匹配演算法至少需要20。的重叠度。该方法所需的运算量极少,因此非常适用於边缘系统。由於图像无失真,深度资料在拼接後仍具有完整性。该解决方案可进一步支援ADTF3175感测器的模组化实现,以极小的损失获得所需FOV。
FOV的扩展不限於水准维度,相同技术也可用於在垂直方向上扩展视野,进而获得真正的球形视觉。该解决方案可以在连接了4个感测器的Arm V8 6核心边缘CPU上以10 fps的速度运行,提供275。的FOV。当仅使用两个感测器时,画面播放速率可达30 fps。
该方法的主要优势之一是实现了庞大的运算效率增益,基本运算效率的增益超过3倍(表一)。
图八和图九展示使用该解决方案所获得的一些结果。
表1.运算复杂性比较:针对512 × 512 QMP输入,传统演算法与本文所提演算法比较
演算法
|
平均浮点运算
|
传统图像拼接演算法
|
8.57亿
|
本文提出的PCL深度拼接演算法
|
2.6亿(减少3.29倍)
|

| 图九 : 具有278。 FoV的拼接红外线和深度图像。 |
|
(本文由ADI提供,作者为ADI资深经理 Rajesh Mahapatra、工程师 Anil Sripadarao 及资深工程师Swastik Mahapatra)