没有合适的资源?快使用搜索试试~ 我知道了~
压缩单光子3D相机的CSPH编码方案及其效果评估
aft 240*320*2000*2*30 / (1000*1000*1000) ==9.2GB/s== PSeriesFourier K==20counts == 1000intensity value integrated over micro-to-millisecond time-scales, a SPAD pixel generates an electrical pulse for eachphoton detection event. A time-to-digital conversion circuitconverts each pulse into a timestamp recording the time-of-arrival of each photon. Under normal illumination condi-tions, a SPAD pixel can generate millions of photon times-tamps per second. The photon timestamps are often cap-tured with respect to a periodic synchronization signal gen-erated by a pulsed laser source. To make this large volumeof timestamp data more manageable, SPAD-based SPCsbuild a timing histogram in-sensor instead of transferringthe raw photon timestamps to the processing chip. The his-togram records the number of photons as a function of thetime delay with respect to the synchronization pulse.Consider a megapixel SPAD-based 3D camera. For shortrange indoor applications (up to tens of meters), a millime-ter depth resolution would be desirable. For longer range178540压缩单光子3D相机0Felipe Gutierrez-Barragan, Atul Ingle, Trevor Seets, Mohit Gupta, AndVelten威斯康星大学麦迪逊分校0{fgutierrez3, ingle, seets}@wisc.edu, mohitg@cs.wisc.edu, velten@wisc.edu0摘要0基于单光子雪崩二极管(SPADs)的单光子相机是一种用于飞行时间(ToF)3D相机的新兴像素技术,可以以皮秒级分辨率捕获单个光子的到达时间。目前的SPAD-基于的3D相机通过构建每个像素的光子时间戳的直方图来测量激光脉冲的往返时间以估计深度。随着SPAD-基于的相机的空间和时间戳分辨率的提高,其输出数据速率远远超过现有数据传输技术的容量。SPAD的带宽密集操作的一个主要原因是深度分辨率和直方图分辨率之间存在紧密的耦合。为了减弱这种耦合,我们提出了压缩单光子直方图(CSPH)。CSPH是高分辨率直方图的每个像素的压缩表示,它是在每个光子被检测到时即时构建的。它们基于一系列线性编码方案,可以表示为简单的矩阵运算。我们为3D成像设计了不同的CSPH编码方案,并在不同的信号和背景水平、激光波形和照明设置下对它们进行评估。我们的结果表明,经过精心设计的CSPH可以在不损害深度精度的情况下,一致地将数据速率降低1-2个数量级。01. 引言0单光子相机(SPC)是一种新兴的传感器技术,具有极高的灵敏度,可以达到单个光子的水平[7,9]。除了极高的灵敏度外,基于单光子雪崩二极管(SPADs)的SPC还可以以极高(亚纳秒级)的时间分辨率记录光子到达的时间戳[43]。此外,基于SPAD的SPC与互补金属氧化物半导体(CMOS)光刻工艺兼容,可以以较低成本制造千至百万像素分辨率的SPAD阵列[12,40]。由于这些能力,基于SPAD的SPC在包括3D成像[14, 48, 49,55]、被动低光成像[3, 38, 51]、HDR成像[29, 30]、非直视成像[5, 36,58]、荧光寿命成像(FLIM)显微镜[61]和扩散光学层析成像[37,60]在内的各种成像应用中越来越受欢迎。与传统相机像素输出单个像素不同,它在微秒到毫秒时间尺度上集成的平均光子强度值,SPAD像素为每个光子检测事件生成一个电脉冲。时间到数字转换电路将每个脉冲转换为记录每个光子到达时间的时间戳。在正常照明条件下,SPAD像素每秒可以生成数百万个光子时间戳。光子时间戳通常是相对于脉冲激光源产生的周期性同步信号进行捕获的。为了使这个大量的时间戳数据更易管理,基于SPAD的SPC在传感器内部构建一个时间直方图,而不是将原始的光子时间戳传输到处理芯片。直方图记录了光子数与与同步脉冲的时间延迟之间的关系。考虑一个百万像素的基于SPAD的3D相机。对于短距离室内应用(最多几十米),毫米级的深度分辨率是理想的。对于较长距离的应用0引言图v2-最终版0全分辨率直方图数据速率=9.2GB/秒0Naïve粗糙直方图0数据速率=0.18GB/秒0压缩直方图(我们的)数据速率=0.09GB/秒0(a)0(b)0Gated有40个代码,提出的0图1. 压缩单光子3D成像。 (a)使用传统(完整直方图)捕获、粗糙分辨率捕获和我们的压缩捕获方法的示例深度图。在这个模拟中,我们的方法生成的数据量比传统方法低100倍,但生成的深度图与传统方法在视觉上无法区分。(b)使用传统采集方案,数据带宽要求与所需深度分辨率成线性关系。我们提出的压缩采集不会与深度分辨率成强烈的线性关系,使得输出数据速率可以通过现有的数据传输标准(如USB和PCIe)进行管理。Φ(t) = ah(t − tz) + Φbkg = Φsig(t) + Φbkg(1)178550对于户外应用(数百米),厘米级深度分辨率是理想的。假设采用最先进的子区处理技术[22],这相当于每个像素的直方图具有数千个bin。此外,获取这些直方图的速率可以从每秒几十帧(fps)的低速应用到每秒数百帧(fps)的高速应用,例如汽车应用中物体可能以高速移动。即使对于30fps的百万像素相机的保守估计,也会产生大量的数据速率,即10^6像素/帧 × 1000 bin/像素 × 2字节/bin × 30fps =60GB/秒。如图1(b)所示,这种传统的完整直方图捕获方法产生的数据量与所需的深度分辨率呈线性关系,并且远远超过了现有数据传输总线(如USB和PCIe)的带宽。本文提出了一种称为压缩单光子直方图(CSPH)的带宽高效的采集策略。CSPH不是在每个像素中捕获完整的时间直方图,而是通过编码步骤将完整直方图的时间bin映射到多个“压缩bin”上。我们考虑了一族压缩编码器,它们是线性的,这意味着它们可以表示为简单的矩阵运算。因此,它们可以使用即时计算的矢量加法操作高效地实现,而无需在传感器中存储大量的光子时间戳数组。与所需的深度分辨率相比,CSPH将输出数据速率的依赖性解耦。虽然完整直方图需要更多的时间bin来实现更高的深度分辨率,但CSPH可以使用(几乎)相同数量的压缩bin来表示它们。如图1(a)所示,与完整直方图情况相比,CSPH可以将所需数据速率降低1-2个数量级。我们为基于SPAD的3D相机设计和评估了各种CSPH编码方案。我们提出了一种通用的解码算法,根据结构光的最新工作[39],直接从CSPH估计每个像素的场景深度。我们的方法还考虑了不同的激光脉冲形状和像素响应特性,即系统的脉冲响应函数(IRF)。我们进行了广泛的模拟,涵盖了各种背景和信号功率、激光波形和照明方案。我们还使用单像素光栅扫描硬件原型捕获的真实数据评估了我们的压缩采集方法的深度重建精度。02. 相关工作0粗略的像素直方图是减少基于SPAD的3D相机数据速率的一种常见策略[8, 22, 27, 28,50]。尽管粗糙直方图的时间分辨率较低,但通过使用宽脉冲[22]、脉冲抖动[47]或粗到细的直方图结构[59],可以实现高深度分辨率。本文表明,与粗糙直方图相比,粗略直方图是次优的。0与其他压缩直方图策略相比,还提出了其他数据减少策略,例如运动驱动操作[8]或多光子触发[28]。此外,在基于扫描的系统的背景下,还提出了自适应采样方法来减少采样率和数据传输[4, 24,46]。这些更复杂的方法可以与CSPH相互补充,进一步降低数据速率。最近,提出了傅里叶域直方图(FDH)用于快速NLOS重建[35, 41]和单光子3D成像[52,53]。FDH是CSPH的一种类型,可以在常规直方图上实现显著的压缩[52]。在本文中,我们提出的CSPH策略不仅比FDH更适用于3D成像,而且还能够处理闪光照明系统中常见的漫反射间接反射。在3D成像的编码矩阵设计方面,已经在基于相关的飞行时间(C-ToF)[18, 19, 21, 31, 32,56]和结构光(SL)[6, 16, 17,39]的背景下进行了研究。特别是,CSPH和C-ToF编码矩阵之间存在有趣的相似之处,因为两种3D相机都基于飞行时间原理。然而,C-ToF编码是根本不同的。在C-ToF中,每个编码测量是使用编码光信号和传感器依次捕获的,使得跨测量的噪声统计独立。在CSPH中,所有编码投影都在同一信号上同时执行,使得跨投影的噪声统计相关。03. 单光子3D图像形成0单光子3D相机由SPAD传感器和周期性脉冲激光组成,用于照亮场景。假设仅考虑直接反射,SPAD像素捕获的返回光子通量信号可以写成:0其中 h ( t )是系统的脉冲响应函数,考虑了脉冲波形和传感器的脉冲响应,a表示返回信号的光子通量,t z是与距离成比例的时间偏移量,Φ bkg对应背景光子通量。尽管简单,方程1的模型在各种主动照明场景中是一个有效的近似,特别是对于扫描系统[1]。基于SPAD的3D相机使用时间相关单光子计数(TCSPC)[43,59]对Φ( t)进行采样。一旦触发SPAD像素,它开始获取光子。在检测到一个光子后,记录光子的时间戳,并且SPAD在一个称为死时间(约50纳秒)的时间段内处于非活动状态。如图2所示,上述过程在M个周期内重复进行,并构建时间戳的直方图,该直方图近似表示Φ( t)。如果光子的时间标记具有分辨率∆,我们可以写成均值Histogram ForΦbkg [background light]timeτtime-of-flight Single-Photon Histogram Formati1st cycle2nd cyclenth cycle ⋮∑𝑡1Detected Photonsphoton countsτ𝑡2𝑡𝑀𝑡1𝑡2Φi = Φsigi+ ∆Φbkg(2)17856v1变换0在0Φ sig (�) + Φ bkg [真实波形]0时间戳的直方图 � Φ0真实波形 Φ(t)0第1个周期0第2个周期0第M个周期 �0检测到的光子0Φ bkg [背景光]0飞行时间 = � �0光0在第i个bin处0图2.单光子直方图形成。基于SPAD的3D相机通过构建每个像素的到达时间的直方图来估计距离。该直方图是像素上入射光子通量的离散近似,其中通过脉冲的时间偏移量( t z )编码距离。0直方图第i个bin的光子通量为:0向量 Φ = (Φ i ) N − 1 i =0 是光子通量波形直方图,其中N =τ/∆,τ是时间戳范围,通常等于激光脉冲重复周期。在这里,我们假设SPAD传感器以异步模式运行[14]或具有多事件时间戳收集能力[22],这最小化了堆积失真[15, 25,42],并确保 Φ i 是 Φ(t)的适当近似。直方图形成过程生成一个像素的3D直方图图像,每个直方图对应一个像素。在具有皮秒时间分辨率的新型百万像素SPAD阵列中,将直方图图像构建在传感器外部需要传输每个像素的数千个时间戳,导致TB/s的数据速率。此外,即使构建像素内的直方图,仍然需要将3D数据体积从传感器传输出来进行处理,这仍然导致每秒数十GB的不切实际的数据速率。总体而言,数据带宽是新型单光子3D相机面临的重要实际挑战。04. 压缩单光子直方图0一般来说,如果我们拥有整个直方图图像,我们可以有效地压缩3D直方图图像。然而,构建和传输传感器上的直方图图像是昂贵的。这引发了一个问题,我们能否在不明确构建直方图的情况下压缩直方图?回想一下,这些直方图是逐个光子创建的,这引发了一个后续问题:我们能否以在线方式压缩直方图,只看到一个光子(及其时间信息)一次?这是具有挑战性的,因为压缩方案通常需要访问整个0在执行压缩之前,需要了解数据。为了回答上述问题,我们做出了两个关键观察。首先,有一类线性压缩技术可以表示为简单的矩阵-向量乘法。具体而言,压缩表示是K×N编码矩阵C和N×1直方图Φ的乘积。C的有效性可以通过实现的压缩比(N/K)来衡量,同时保持下游任务(例如深度估计)的性能。其次,我们观察到整个直方图可以写成几个单热编码向量的和,每个向量表示一个时间戳。形式上,设tj =(tj,i) N−1i=0是第j个光子时间戳(Tj)的单热编码向量,其中所有元素为0,除了tj,l = 1,其中l = �Tj mod τ∆�。如图所示03 ,测量到的直方图Φ可以写成:0Φi =0j =0 tj,i (3)0其中M是检测到的光子总数。根据这些观察结果,我们可以通过简单地将编码矩阵与单热编码时间戳向量相乘来设计在线直方图压缩算法:0Bk =0i =0 Ck,i Φi=0N −10j =0 Ck,i tj,i (4)0B是压缩单光子直方图(CSPH),其元素是Φ的编码投影。虽然方程4被表示为矩阵-向量乘法,但实际的CSPH实现将执行低计算操作,每个光子,就像传统直方图一样。一种可能的实现方法是将C存储为在像素之间共享的查找表。对于每个新的tj,其中tj,l =1,将C的第l列添加到每个像素的CSPH(B = B + C:,l)。请注意,我们永远不需要显式存储时间信息,也不需要创建直方图。压缩SPAD像素存储和输出的唯一数据是B。鉴于这种即时压缩方法,一个自然的问题是,对于压缩单光子3D相机来说,什么是好的编码矩阵?04.1. 如何设计3D成像的编码矩阵?0理论上,C可以选择为任何K个线性投影的集合。然而,在实践中,我们可以定义C应具备的某些属性,以实现高压缩率同时保持3D成像性能。C的第i列可以被解释为长度为K的码字,表示第i个时间段。我们可以将这个码字向量视为K维空间中的一个点。此外,考虑由N个点追踪而成的曲线Compressive Histograms Overview V1Coding Matrix [C]∑𝐶𝑡𝑖 =𝐾(Hist Length)Uncompressed Histogram (K = N)𝑡𝑖 =Photon Timestamp One-hot Encoding00010000𝑡𝑖∑𝑁 (𝜏 / Δ𝑡)=00𝐶 =𝑁 (𝜏 / Δ𝑡)Down-Sampling Matrix𝐾𝐶 =𝑁 (𝜏 / Δ𝑡)∑𝐶𝑡𝑖 =Coarse Histogram(K < N)Compressive Histogram (K < N)𝑡𝑗 =𝑡𝑗∑=0 00 10⋮⋮0 0𝑁 = 𝜏/Δ𝐶 =𝐶𝑡𝑗∑=𝑁 = 𝜏/Δ𝐾Coarse BinSize (𝑁/𝐾)00𝐶 =𝐶𝑡𝑗∑=𝐾 Coded Projections of ∑𝑡𝑗𝑁 = 𝜏/Δ𝐾000178570时间 τ τ � (直方图长度)0τ � (直方图长度)0未压缩直方图( � = � )0光子时间戳的单热编码0具有 � 个bin的直方图0粗糙直方图( � < � )0粗糙直方图矩阵( � × � )0具有 � 个bin的粗糙直方图0压缩直方图( � < � )0示例灰度编码矩阵( � × � )0图3.即时直方图形成。单光子时间戳直方图通常是在每个光子时间戳到达时即时生成的。左列显示了如何形成一个直方图,其bin宽度与时间戳分辨率(∆)相匹配,作为一组以单热编码向量表示的时间戳的和。对于每个像素传输这样一个庞大的直方图可能是不切实际的。通过将每个时间戳与下采样矩阵相乘以将时间戳分组到更粗的bin中,可以减小直方图的大小,但会损失分辨率(中列)。或者,如右列所示,可以通过将每个时间戳与编码矩阵相乘并在每个光子时间戳到达时将它们相加来创建一个压缩直方图。设计良好的编码矩阵可以有效地编码峰值的位置,从而可以计算距离。编码矩阵V20截断傅里叶编码 � = 120基于格雷码的傅里叶编码 � = 120图4.示例编码矩阵。具有12个码(行)的截断傅里叶和基于格雷码的傅里叶矩阵。截断傅里叶矩阵的奇数行和偶数行分别为cos(2πfi0和sin(2πfi0分别为f = �0.5k�,1 < k < K,i是列。基于格雷码的傅里叶矩阵的奇数行和偶数行分别为cos(2π2f−1i0分别为k ≤ log2(N)和k >log2(N)生成行,其中k是列。使用未使用的截断傅里叶矩阵中的码生成大于log2(N)的行。0(C的列),称为编码曲线C。在本节中,我们利用编码曲线的概念来定义C的理想属性。我们想指出的是,编码曲线构造在其他主动成像系统中已经被使用,包括:C-ToF [19,21],SL [17]和FLIM[33]。一个“好”的压缩单光子3D成像编码矩阵将具有以下属性:0唯一性属性:C中的每个点都是唯一的,即C应该是非自交的。这保证了两个不同的bin不会由相同的码字表示。0鲁棒性属性:C应该保持局部性。这意味着如果我们对曲线上的一个点添加一个小扰动,它应该映射到沿曲线的相邻点,这些点对应于具有相似时间bin的码字。0间接反射属性:编码函数(C的行)以与相关函数在C-ToF成像中所做的方式对光子通量波形进行编码[18,19]。在存在扩散间接光反射的情况下,来自等式1的仅直接模型将无效。扩散间接反射在成像凹凸几何体或存在体积散射时产生,0在闪光照明系统中,这是一个特别棘手的问题。Gupta等人[18]表明,扩散间接反射在Φ(t)中表现为平滑的带限信号。因此,当编码函数的频率高于场景相关阈值时,仅直接模型仍然适用。带限属性:当目标是用平滑的系统IRF(h(t))对光子通量波形进行编码时,编码函数不应全部是高频函数。这是因为如果给定的编码函数由高于h(t)带宽的频率组成,则预期的编码值将为0(见补充材料)。图5的橙色和绿色线显示了平滑IRF的示例。这意味着,尽管高频可以减轻间接反射,但如果它们超出了h(t)的带宽,非常高频的码可能是无用的。04.2. CSPH编码方案0在本文中,我们分析和评估以下CSPH编码矩阵:1.粗直方图:C是一个下采样矩阵,其中每一行都是一个长度为N/K的矩形窗口,如图3所示。该矩阵不满足唯一性属性,因为每个窗口将多个bin映射到相同的码字向量。这种类型的CSPH等效于常用的粗像素直方图[8, 27, 28, 50]。02.截断傅里叶变换[52]:C由离散傅里叶变换矩阵的前K行组成,跳过零阶谐波。该矩阵满足唯一性属性,并且在较高的K值下可能包含可以减轻间接反射的高频码。03.连续格雷码(提出的):也称为Hamiltonian码[19],连续格雷码曲线是K维超立方体上的Hamiltonian循环,它被证明具有保持局部性(鲁棒性属性)。−2−2178580示例IRF0脉冲响应函数(IRFs)0窄脉冲(∝�0Δ)0宽脉冲(∝�0真实世界校准的IRF0频率响应函数0图5.系统脉冲响应函数(h(t))。高斯脉冲是用于系统IRF的常用近似,因为单光子3D相机使用脉冲照明信号。尽管这种近似对于某些系统可能是有效的,但在第6.1节中的结果所使用的实验系统展示了具有长尾的IRF(绿线)。在设计压缩单光子3D相机的编码矩阵时,分析IRF的频域表示是一个有用的步骤。0erty)[11]。矩阵C的行通过构造K位格雷码[13]生成,其中每个码的长度为2K,并进行线性插值以使其长度为N。对于长度为N =2K的直方图,该编码矩阵变为完全二进制。图3显示了一个具有K = 8的灰度C。04.基于灰度的傅里叶(提出的):对于N个直方图bin,灰度编码仅在K≤log2(N)时有效,因为高阶编码函数开始混叠。然而,在较低的信噪比情况下,有时希望增加K以保持深度精度。为此,我们设计了一种新的编码方案,结合了灰度和傅里叶编码的特性。对于前k≤2log2(N)行,使用在图3中的灰度编码矩阵中观察到的频率加倍模式对傅里叶分量进行采样。对于其余的2log2(N)K。虽然不是CSPH,但这是对应于最简单的SPAD像素的重要基准,它传输的数据量与大小为K的CSPH相同。0极端压缩:图6a显示了不同CSPH的相对平均深度误差和中位数深度误差,其中K =8,压缩比为128x。理想FRH在可视化的SBR和光子计数水平上获得接近0的误差。在这个极端压缩范围内,灰度编码是唯一实现等压缩的CSPH,其中εdiff ≤0.01%,在各种SBR和光子计数水平上,基本上与FRH的性能相匹配(图6b)。平均误差和中位数误差趋势的差异表明,在低SBR和低光子计数下,灰度编码产生的误差要么很高,要么接近零。另一方面,截断傅里叶编码的误差大小在各种SBR和光子计数水平上相似。不幸的是,即使在高SBR水平下,截断傅里叶仍然无法实现εdiff ≤0.01%的等压缩。基于灰度的傅里叶编码始终优于截断傅里叶,并且在低SBR下对异常值更具鲁棒性。如预期的那样,粗略直方图方法要么由于时间分辨率低而受到量化限制,要么在使用宽脉冲时受到噪声限制。最后,只有传输01 SBR =0N∆Φbkg,光子计数 = �N−1i=0Φi0.01%<𝜀diff≤0.1%𝜀diff≤0.01%0.1%<𝜀diff≤1%1%<𝜀diff≤10%10%<𝜀diff≤25%25%<𝜀diff178590K = 8分析(高压缩)V30相对平均深度误差(%)0相对中位深度误差(%)0连续灰度(我们的方法)0截断0傅里叶0基于灰度0粗略直方图(量化)0粗略直方图(宽脉冲)0时间戳0传输0相对MDE等高线0截断傅里叶(K = 8)0相对MDE等高线0连续灰度(K = 8)0长度为K = 8的C-SPH等压缩分析(CR = 128x)0对数尺度的光子计数0(a)(b)0对数尺度的信号与背景比(SBR)0理想FRH(N = 1024)0图6. 128x压缩下的等高线压缩分析。 (a)显示了相对平均深度误差和中位数深度误差,计算方法如第5节所述。在这个高压缩水平下,CSPH方法使用K =8个代码,只有基于灰度和基于傅里叶的CSPH在广泛的SBR和光子计数水平上实现了低误差。对于固定的SBR和光子计数,灰度编码和时间戳成的。(b)和光子计数 ≥1000的情况下,这些CSPH的深度误差始终在F数 ≥1000的情况下,它们相对于理想FRH的性能显著下降。最后,在低SBR和光子匮乏的情况下(左下角),相对性能差异再次减小,因为FRH的性能也开始变差。0等压缩等高线v30相对平均深度误差等高线0εdiff < 0.01≤% 图7. 压缩与性能。随着K的增加,所有方法的εdiff≤0.01%的等压缩区域增加。对于SBR和光子计数水平大于�0.1和�1000,基于灰度的傅里叶编码与K ≥ 16的FRH(N =1024)的性能相当。另一方面,截断傅里叶编码需要更高的K才能在这些SBR和光子计数水平上达到εdiff ≤0.01%。总体而言,精心设计的编码矩阵(如傅里叶和基于灰度的)始终优于标准方法(粗略直方图和时间戳传输)。08个时间戳,虽然实用,但在低SBR下性能较差,在高SBR下有很多异常值。0压缩与性能:图7显示了随着K的增加,不同编码方案的等距压缩轮廓如何变化。随着K的增加和压缩的减少,所有方法的性能都得到改善,并接近FRH的性能,特别是对于精心设计的基于灰度和0截断傅里叶。当K≤64时,基于灰度的傅里叶编码的优势更为明显,因为其性能与FRH相匹配的等距轮廓覆盖了最大范围的SBR和光子计数水平(即εdiff≤0.01%)。随着K的继续增加,截断傅里叶编码矩阵和基于灰度的傅里叶编码矩阵变得相似,使它们的性能几乎相同,如K=128的情况所示。总体而言,基于灰度和基于傅里叶的CSPH编码始终优于当前的光子时间戳存储和传输方法,即粗直方图和时间戳的直接传输。有趣的是,仅传输K个时间戳在许多SBR和光子计数水平上的性能明显优于粗直方图。具有宽脉冲的等距压缩:在这里,我们分析了用于宽度∆的CSPH的高斯脉冲。随着脉冲宽度的增加,系统的有效时间分辨率降低,影响FRH基线的性能,使得低相对差异的等距压缩区域在较低的K下变得更大。此外,如图5所示,稍微扩大脉冲会显著降低信号的频率内容,使得压缩编码策略更加高效,因为它们只需要采样非零频率。更多使用更宽脉冲的结果和分析请参考补充材料。06.压缩单光子三维成像0在本节中,我们评估了来自基于扫描的系统[14]的真实世界数据和来自闪光照明系统的模拟数据上的CSPH编码方法。06.1.真实世界中基于扫描的系统结果0为了评估CSPH在实际SPAD时间戳数据上的有效性,我们下载并预处理了使用基于扫描的系统[14]获取的数据。预处理的原始直方图具有∆=8ps和N=832。K = 8 Analysis (HighCompressio178600n)0连续灰度0K=8(我们的)0基于灰度的傅里叶0K=8(我们的)0截断傅里叶0K=80粗直方图0K=803D重建深度误差(毫米)0未压缩的原始直方图0光子计数0(A)鼻子直方图。(B)额头直方图。(C)背景直方图。0A0B0C0图8.真实世界中基于扫描的单光子三维成像。不同CSPH和K=8码的深度和深度误差图像。从左到右,每种方法的平均绝对误差和中位数绝对误差(以毫米为单位)分别为:[7, 1],[6, 4],[9, 6],[23,13]。0(例如,图8中的直方图)。对于深度估计,我们提取中心像素的直方图,对其进行去噪,并将其用作系统IRF(图5中的绿线)。地面真实深度是从具有轻微高斯去噪的FRH中获得的,并且我们屏蔽了即使FRH的SBR太低以至于无法估计可靠深度的像素(图8中的白色区域)。图8显示了使用不同CSPH在CR = 104 x (K =8)下的恢复的3D重建。与我们的模拟类似,我们发现灰度编码在具有足够信号的像素上基本上可以实现0误差,但有时会产生较大的误差(异常值)。相反,截断傅里叶和基于灰度的傅里叶对异常值具有鲁棒性,但会产生许多小型和中型误差,导致此示例中的3D重建质量较低。此外,我们发现背景墙的直方图由于间接反射而呈现出较长的尾部(请参见补充材料)。间接反射会导致截断傅里叶中的系统性误差,而基于灰度的傅里叶和灰度编码对这些误差更具鲁棒性,因为它们的C具有更高的频率编码函数,如第4.1节所讨论的。最后,宽系统IRF允许粗直方图使用ZNCC解码实现亚bin精度。然而,其性能明显低于其他CSPH方法。更多不同K和另一个扫描的结果请参考补充材料。06.2. 模拟闪光照明系统结果0SPAD阵列通常用于闪光照明系统以实现全固态单光子LiDAR [ 22 ]。为了0像素内存0像素内计算(每个光子)0像素内计算(每个深度)0每像素输出数据速率0深度精度0全分辨率直方图(传感器内深度估计)0高O(N)0中等O(1)0高O(≥N)0低O(1)高0全分辨率直方图(传感器外深度估计)0高O(N)0中等O(1)0低(无)0高O(N)高0时间戳传输(传感器外深度估计)0低O(1)0低(无)0低(无)0高O(M)高0粗糙直方图(传感器外深度估计)0中等O(K)0中等O(1)0低(无)0中等O(K)低0CSPH(提出的)0(传感器外深度估计)0中等O(K)0高O(K)0低(无)0中等O(K)中等0表1.基于SPAD的3D相机设计权衡。不同基于SPAD的3D相机设计的内存、计算和数据速率要求的定性比较。0为了在闪光照明系统中评估CSPH,我们使用了由Mit-subaToF [ 42 ](∆ = 50 ps,N = 2000)从[ 20]获得的物理准确的直方图图像。为了模拟FRH,我们为场景设置了平均光子计数和平均SBR水平,并相应地缩放直方图和背景图像(RGB的R通道)。图9显示了两个不同场景的深度图像和深度误差。除了真实深度不明确的边缘外,这两个场景还有一些SBR非常低的区域,即使是FRH也会有一些深度误差(厨房中的炉子和浴室中的垫子)。由于间接反射,截断傅里叶变换即使使用K =40个编码也会产生显著的系统误差。另一方面,基于灰度的傅里叶变换可以像FRH一样恢复高精度的深度,同时使用50-100倍更少的数据。请参阅补充材料进行其他比较。07. 讨论和限制0基于SPAD的高时空分辨率的3D相机可能产生难以处理的数据速率。为了减少数据带宽,我们提出了一种捕获高分辨率时间直方图的压缩表示(CSPH),从中可以计算出深度。CSPH是通过使用编码矩阵对每个光子时间戳进行投影并聚合它们的在线方式构建的。通过适当设计编码矩阵,CSPH可以在各种场景中与全分辨率直方图的深度精度相匹配,同时输出更少的数据。0传感器内存和计算考虑:尽管CSPH可以减少像素内存和传感器数据传输速率,但这是以每光子计算量增加为代价的,如表1所总结的。传统直方图每光子只需要进行一次加法(增加直方图柱),而CSPH每光子需要进行K次加法。然而,可以使用SIMD处理有效地实现这K次加法。这项工作的下一步是从硬件角度进一步分析这些内存、计算和数据传输的权衡。0为什么不在传感器内计算深度?减少数据速率的一种方法是在像素内计算每个像素的深度。然而,由于深度估计的非线性,这种方法不适用。1e3178610浴室-循环-2 | SBR=0.5 | 光子数 =0深度图像(毫米)深度误差(毫米)和RGB0完整直方图 � =20000截断0傅里叶0� = [20,20,40]0基于灰度0傅里叶0� = [20,20,40]0深度图像(毫米)深度误差(毫米)和RGB0图9.闪光照明压缩单光子3D成像。应用于闪光照明场景的直方图的CSPH方法的深度图像和深度误差。厨房和浴室场景的模拟平均光子计数和平均SBR分别为(1000,0.25)和(1000,0.5)。顶行为具有2000个bin的FRH的恢复深度和深度误差,以及场景的RGB图像。第二行和第三行为CSPH深度(K = 20)以及K = 20(中列)和K =40(右列)的深度误差。厨房场景的平均和中位绝对误差(以毫米为单位)为:FRH-2000:(14,3),截断傅里叶-20:(26,10),灰度傅里叶-20:(22,3),截断傅里叶-40:(16,4),灰度傅里叶-40:(14,3)。类似地,浴室场景的结果为:FRH-2000:(10,3),截断傅里叶-20:(24,11),灰度傅里叶-20:(12,3),截断傅里叶-40:(14,4),灰度傅里叶-40:(11,3)。0tion(例如通过峰值查找),需要在SPAD传感器芯片中构建和存储全分辨率的直方图。尽管这种方法可以提供接近最优的压缩,但它需要大量的像素内存。此外,先进的深度估计算法,如匹配滤波,其计算复杂度可能大于直方图的长度(N)。硬件实现:CSPH旨在降低每像素的输出数据速率,这需要像素内实现。最近在3D堆叠CMOS技术方面的进展已经实现了一种类型的CSPH,即粗直方图[8,27,28,50]。这一工作的下一步是探索实现不同CSPH的SPAD像素架构,这可能对C的结构施加有趣的约束。例如,二进制C(例如粗直方图或K =log2(N)的灰度编码)的架构可能比连续值的C更简单。代码优化:可以通过优化C来设计基于Sec.4.1中讨论的启发式方法的编码矩阵。我们尝试通过将C设置为在平移的高斯脉冲字典上学习的PCA基础来优化C。不幸的是,这种方法只会导致傅里叶矩阵(见补充材料)。未来的工作方向可以通过梯度下降来探索通过梯度下降来优化C。光子匮乏区域:当记录的光子少于20个时,时间戳传输可以在SBR >1的情况下胜过CSPH。在较低的SBR水平下,所有方法开始失败并表现出相似的性能。我们在补充材料中提供了这个分析。最终,低SBR和光子匮乏的场景需要去噪来恢复可靠的深度[34,44]。0与完整的3D直方图图像相比,对CSPH进行去噪可能会带来一些有趣的计算优势。非线性压缩:设计一种非线性的即时压缩方法可能是可能的。这种方法的设计挑战之一是它可能无法利用使编码矩阵对噪声和间接反射具有鲁棒性的先验知识。尽管如此,探索非线性在线压缩算法仍然是未来工作的一个有趣方向。高效的深度估计:ZNCC深度估计允许在一个单一框架下比较不同的编码矩阵。我们的ZNCC实现的一个局限性是它的线性计算和内存复杂度。鉴于ZNCC是一种模板匹配算法,可能存在高效的粗到细的实现方法。或者,针对特定C的算法可能提供进一步的计算优势。例如,傅里叶编码具有不同的分析[10,45]、基于优化的[26,52]和数据驱动的[54]深度解码算法。社会影响:本文的工作可能有助于SPAD基础的3D相机的
下载后可阅读完整内容,剩余1页未读,立即下载
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功