
# 基于脉冲神经网络的低成本单光子雪崩二极管阵列手势识别技术

臧振亚、$^{1}$ 李星达、$^{1}$ 以及 David Day Uei Li $^{1,*}$

$^{1}$英国格拉斯哥斯特拉斯克莱德大学生物医学工程系，Rottenrow East 106号，G4 0NW

 $^{*}$<mailto:david.li@strath.ac.uk>

摘要：我们提出了一种紧凑型脉冲卷积神经网络（SCNN）和脉冲多层感知机（SMLP），用于在暗光和亮光环境下识别十种不同的手势，该模型采用$9.6$单光子雪崩二极管（SPAD）阵列实现。在我们的手势识别系统中，利用光子强度数据对网络进行训练和测试。我们还实现了普通卷积神经网络（CNN），以便将所提出的SCNN与相同网络拓扑结构和训练策略下的CNN性能进行对比。我们的SCNN是从零开始训练的，而非由CNN转换而来。我们在暗光和环境光干扰条件下对这三种模型进行了测试。结果表明，SCNN的准确率（90.8%）与CNN（92.9%）相当，且仅需8个时间步即可完成计算，浮点运算量更低。SMLP同样呈现出计算工作量与准确率之间的权衡关系。本研究的代码和数据集可在以下地址获取：

<https://github.com/zzy6666662zy/TinyLiDAR_NET_SNN>.

## 1. 引言

脉冲神经网络（SNN）作为类脑计算的典型实现方式，因其极高的计算能效和准确率，已成为计算机视觉领域多种应用中的新兴算法[^1][^2][^3][^4]。它具有生物合理性，能够模拟生物神经机制：信息通过脉冲流传输，并累积成二进制电压以形成膜电位（MP）[^5]。与传统人工神经网络（ANN）以乘加运算（MAC）为基本操作单元不同，SNN包含累加和点积操作，所需的硬件资源更少，计算效率更高。此外，由于层间脉冲本身具有稀疏性，SNN无需通过剪枝操作来挖掘神经元连接的稀疏特性。

硬件研发领域利用这一高效特性设计了多款类脑芯片，例如天机芯[^6]、TrueNorth[^7]和Liohi[^8]。SNN通常处理来自事件驱动相机的数据，这类相机仅记录运动物体并生成事件序列，表现为脉冲流。SNN已被动态视觉传感器（DVS）用于手势识别任务[^9]、[^2]。IBM发布的动态手势数据集[^10]为基于SNN的手势识别研究提供了丰富素材[^9]、[^11]、[^12]、[^13]。不过，该数据集更适用于动态手势识别，且现有的DVS设备价格昂贵（通常高达数千美元）。其他采用传统高分辨率图像的数据集则分别使用ANN[^14]、[^15]或SNN[^16]来实现静态和动态手势识别。尽管背景掩码和框标注技术可以剔除不必要的数据，但预处理过程仍会产生额外的计算开销；而高分辨率的输入数据也会直接增加模型规模。

与DVS不同，DVS在前端传感硬件中使用差分器和比较器来测量相对亮度变化并生成事件脉冲，而单光子雪崩二极管（SPAD）阵列的机制则更为直接。在SPAD阵列中，单个光子触发的雪崩击穿会直接产生脉冲[^17]，这使得SPAD阵列非常适合用于SNN。然而，SPAD阵列的数据吞吐量较大，通常达到每秒千兆字节（Gbps）级别，这对实时处理构成了挑战。近期的研究在不利用每个光子的时间信息的情况下，成功利用SPAD前端电路产生的原始脉冲来进行回归[^4]和分类任务[^1]、[^18]、[^19]、[^20]，且这些任务均基于SNN实现。不过，这些研究中使用的SPAD传感器仍然价格昂贵（> $1000), customized for specific research purposes, and involve complex system setups. In contrast, low-cost (<$10）。由意法半导体®（以下简称ST®）设计的消费级SPAD传感器使得SPAD阵列更易于获取。尽管SNN最初是因SPAD阵列的高数据吞吐量而被应用于此类传感器，但ST的SPAD传感器由于空间和时间分辨率的限制，其数据吞吐量较低。即便如此，SNN仍适用于处理ST的SPAD传感器所采集的强度图像、深度图像或直方图，以实现模式识别。

---

在本研究中，我们提出了一种轻量级的解决方案：采用低成本的($10$) SPAD阵列以及两种轻量级的SNN模型，以实现精确的静态手势识别。

## 本研究的贡献主要有三方面

1. 我们创建并发布了一个由低成本SPAD阵列采集的手势数据集。利用该数据集，我们从零开始训练脉冲卷积神经网络（SCNN）和脉冲多层感知机（SMLP）模型，避免了从人工神经网络转换而来的过程，从而确保了模型的准确性和计算效率。

2. 我们在两种不同的环境下评估了SCNN和SMLP模型在推理阶段的分类准确率。第一种环境为黑暗条件，此时传感器仅接收由集成式垂直腔面发射激光器（VSCEL）发射的反射光子；第二种环境则为存在环境光（AL）的嘈杂环境，该环境光来自LED灯泡。

3. 我们分析了CNN、SCNN和SMLP模型的计算工作量和模型大小，同时揭示了其在硬件层面实现的潜在可行性。我们的成像与数据处理架构为未来更具挑战性的应用铺平了道路。

### 2. 相关工作

### 2.1 基于ST传感器的机器学习应用

ST®推出的低成本、便携式SPAD传感器在计算机视觉和模式识别领域日益受到青睐，其与机器学习的结合更是成效显著。一款集成了VSCEL模块和SPAD阵列的传感器VL53L1X，通过片上直方图方法捕捉物体反射的光子，用于对五种类型的物体进行分类$^{[21]}$。同一款传感器还被用于采集低分辨率深度图像，并通过深度学习（DL）技术生成高分辨率和骨架图像$^{[22]}$。此外，五颗VL53L1X传感器被安装在小型无人机上，用于实现避障和走迷宫任务$^{[23]}$。ST还开发了相应的软件工具，利用飞行时间技术实现动态手势识别$^{[24]}$。该传感器还成功与无人机上的定制RISC-V处理器集成，用于测量无人机的运动状态和距地距离，进而借助DL技术辅助人体姿态检测$^{[25]}$。

### 2.2 基于事件的SPAD传感器数据处理

由时间脉冲驱动的SNN [^18] 是首个利用SNN处理原始光子到达脉冲的研究。该研究在激光雷达数据中准确检测到了物体。研究人员设计了一款集成SPAD阵列和SNN处理器的单片芯片 [^19]，用于处理从二维强度、三维深度及弱光成像中编码得到的脉冲序列，以实现物体分类和三维定位。另一款嵌入模拟SNN处理器的单片芯片 [^20] 被提出，用于在同一芯片上处理来自SPAD传感器的原始光子事件。该芯片及算法通过十类分类任务的成功验证。Lin等人 [^4] 提出了两种SNN架构，并在SPAD上定制了脉冲读取电路，以生成相位编码和脉冲间隔编码的脉冲。这些SNN被用于重构荧光微珠的荧光寿命。Afshar等人 [^1] 定制了一款能生成原始光子事件的SPAD传感器，无需在硬件上实现完整的SNN即可完成分类。他们采用了一种用于事件生成及集成电路硬件的FIRST-AND方案。此外，还提出了一种软件定义的单光子成像方案，可将SPAD阵列产生的光子立方体转换为能够模拟基于事件的相机、高速相机及监控相机独特功能的数据 [^26]。最近，SNN被用于 [^27] 处理来自SPAD阵列的事件，从而直接重构深度图像，且无需时间数字转换器（TDC）。尽管该方法的精度不及配备TDC的SPAD，但增强型SNN无TDC SPAD传感器仍适用于低功耗和低延迟场景。

### 3. 数据采集与处理

### 3.1 传感器配置

所使用的SPAD传感器为VL53L8CH，安装在ST公司的NUCLEO-F401RE评估板上。该传感器的优势在于能以8×8的空间分辨率支持15帧/秒的采集速率。由于处理器内存有限，像素内直方图最多可配置为18个时间区间，时间分辨率（区间宽度）约为123.3皮秒（相当于37毫米）。因此，该传感器的检测范围受限，超过18 × 37 = 666毫米的区域无法被有效探测。积分时间设为5毫秒，测距频率为60赫兹。这些配置是通过评估板上的CPU借助固件实现的。该传感器的对角视场为固定的65°，无法调整。选择使用强度（光子计数）而非深度图像，是因为深度数据存在轻微误差。

---

这种误差是由ST公司的拟合算法在像素级深度数据重构过程中产生的。光子计数直接代表了各直方图中累积的数值。描述传感器配置的编译后C代码通过$I^{2}C$接口传输给SPAD传感器。

![Image](images/4618e62c4a0e028d464e210e6e309bb62a3529c81a9468861c774ff292ac4109.jpg)

<div style="text-align: center;">Figure 1. Overview of the imaging setup and data processing pipeline.</div>

图1展示了成像方案及数据处理流程。嵌入式VCSEL发射940纳米的不可见光，而处于时间相关单光子计数（TCSPC）模式下的SPAD阵列则负责收集反射光和环境光。传感器输出的强度图像通过泊松编码器被编码为脉冲，随后输入到SNN模型中。虽然传感器通常同时输出光子计数、深度数据和直方图，但我们也将固件配置为仅输出光子计数。Python脚本通过UART接口接收光子计数数据。

![Image](images/045e1c3de72053ea2fd116022e51d050437ece90c4cd7636364b2f1274ddac3a.jpg)

<div style="text-align: center;">Figure 2. Images in the first row are original normalized low-resolution photon count images. The second row is the interpolation result using Bicubic method. Images in the third row are encoded images using Poisson encoder, pixels' values are accumulated along 8 timesteps.</div>

---

![Image](images/b8da1a5a8cd3daf25dfb93306d4776673714bae727329a91b125be644709b490.jpg)

<div style="text-align: center;">Figure 3. (a) Neuron model of IF. (b) and (c) SCNN and SMLP architectures, images are flattened and encoded by a Poisson encoder, and then fed into the network.</div>

### 3.2 神经网络细节

训练数据集包含5,100张涵盖10种不同手势且带有旋转变化的图像，其中5,000张为手势图像，100张为非手势图像。按照相同比例，测试数据集包含1,100张图像，每种手势对应100张图像，非手势条件也对应100张图像。我们使用PyTorch实现了这些网络。SpikingJelley [^28]被引入用于训练SCNN和SMLP。由于脉冲神经元产生的类似狄拉克δ函数的脉冲在反向传播过程中不可微分，我们采用Sigmoid替代函数 $\sigma(x) = \frac{1}{1+\exp(-ax)}$ 来计算替代梯度，其中a是控制该函数斜率的参数。我们选用积分发放（Integrate-and-Fire, LF）神经元作为神经元模型。对于某个SNN层在时间点t的膜电位（MP）充电过程如下：

 $$ H(t)=V(t-1)+X(t),(1) $$

其中 $V(t-1)$ 表示现有的膜电位，$X(t)$ 表示输入电流。一旦 $H(t)$ 超过预设阈值 $V_{th}$，它就会向下一个神经元发射新脉冲，并重置当前节点的膜电位。

 $$ S(t)=\left\{\begin{aligned}&1,&H(t)\geq V_{th}\\ &0,&H(t)<V_{th}\end{aligned}\right.(2). $$

由于SPAD传感器的空间分辨率较低（4×4或8×8），识别多种手势十分困难。我们利用OpenCV中的双三次插值 [^29] 将空间分辨率从8×8提升至25×25，同时还能保持较高的保真度。在训练阶段，每个轮次中，每批归一化图像（x ∈ [^0] [^1]）会被编码为具有T个时间步长（此处配置为8）的泊松事件e[t]。我们使用带有时间步索引k ∈ {0,1, ...,T}的泊松编码器 [^28] 来对图像进行编码。

 $$ \mathcal{P}\left(\sum_{t=0}^{T-1}e[t]=k\right)=\Pr(X=k)=\frac{T x^{k}\exp(-T x)}{k!}, $$

原始低分辨率光子计数图像与编码后的图像如图2所示。值得注意的是，输入到脉冲神经网络的并非编码后的图像，而是每个时间步的脉冲。SCNN和SMLP的结构如图3所示。由于拓扑结构较为简单，我们采用了三种网络（CNN、SCNN和SMLP）进行训练。

---

训练是在Intel® Core i5 CPU @ 3.1 GHz上进行的。我们采用了早停策略，设置20个轮次的容忍度以避免过拟合。优化器选用Adam，学习率为 $10^{-3}$，损失函数为交叉熵。

<div style="text-align: center;">Training and Validation Acc. Over Epochs</div>

![Image](images/0ac5e033ef038506e97991f736f88afd0ea3c4a432d90cd05c0fdd1df80b10e3.jpg)

<div style="text-align: center;">Figure 4. Training and validation accuracy over epochs. CNN, SCNN, and SMLP terminate training at 58, 48, and 93 epochs, respectively.</div>

构建SCNN和SMLP是为了探究不同拓扑结构的性能差异。在SCNN中，每个卷积层后都添加了批量归一化层以加速训练收敛。此外，SMLP包含两个全连接层，其后还设有丢弃模块以减轻过拟合现象。SCNN和SMLP的结构以及各层的核大小如图3所示。SCNN和SMLP中的输入数据与中间结果均为脉冲。我们还设计了采用相同训练策略和网络拓扑结构的普通CNN，以便与SNN的训练性能进行对比。如图4所示，普通CNN的收敛速度比SCNN和SMLP更快，但三种网络的最终准确率几乎相同。

### 4. 测试数据集上的评估

我们收集了有/无AL的两组测试数据集，用以验证模型的鲁棒性。AL来自一个60瓦的LED灯泡，该灯泡用于照亮环境，且距离传感器约1米远。当AL照射到传感器时，来自AL的背景光子会随机散布到所有像素直方图的所有时间区间内。我们利用混淆矩阵来评估三种网络的分类准确率。如图5所示，所有模型在清晰数据集上的测试准确率均高于被AL干扰的噪声数据集。在图5(a)、(b)和(c)中，SCNN和SMLP的准确率与CNN相当。而在AL干扰条件下，SCNN的准确率较高，但略低于CNN。

---

![Image](images/faa67b52b0358b5a95d0e1e10814536f848b66778a766074f56dc47584fb01e2.jpg)

![Image](images/8db79a12a8c385da3777adeebee26c2a324b7e50af84648adf7d04580218d0ea.jpg)

![Image](images/7463aba6054af674b3bcd6637428238ab0be68c42c038ba193563a59e0e88749.jpg)

![Image](images/1626f0ba41ac5ba21e7a2be8c570c17ce7713d29807a850ad66330f304f7c94a.jpg)

![Image](images/ab2f489fe0d9aa271efe40bfe6b3e1fed5e0abd44d6a0fa45cd76ea4fa700c32.jpg)

![Image](images/94c1c821403454b8e05beefb02cb4007821a3cbcab99566183ec30832ee1e375.jpg)

<div style="text-align: center;">Figure 5. Confusion matrix of CNN, SCNN, and SMLP with and without AL, where accuracy in each figure indicates the performance of classification from models.</div>

我们评估了推理阶段的计算工作量，重点在于设计适用于低功耗设备的轻量级模型。三种模型在CPU上进行了测试，结果如表I所示。与CNN相比，SCNN和SMLP的训练及推理时间更长，这归因于CPU上受限的硬件架构无法充分利用SNN的稀疏性优势。不过，SNN的稀疏性在定制硬件实现中确实具备显著的推理加速潜力。与CNN中每个神经元涉及的浮点运算（FLOP/neuron）——即乘法与累加操作不同，SNN中的FLOP/neuron仅需累加操作。各网络的FLOP计算细节详见表I的脚注。尽管如此，拓扑结构相同的SCNN实际运算量仍比CNN减少了20.5%。值得注意的是，CNN中的乘加运算（MAC）在硬件上占用的计算时钟周期也多于SNN。此外，与CNN中的MAC相比，SNN中的加法操作能降低硬件资源消耗。具体的改进程度取决于加法器和乘法器的实现方式。

表1. CNN、SCNN和SMLP的计算性能评估。

---

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Model</td><td style='text-align: center; word-wrap: break-word;'>Model Size</td><td style='text-align: center; word-wrap: break-word;'>Parameters</td><td style='text-align: center; word-wrap: break-word;'>Training time</td><td style='text-align: center; word-wrap: break-word;'>Inference time</td><td style='text-align: center; word-wrap: break-word;'>No. operations $^{{1}}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>CNN</td><td style='text-align: center; word-wrap: break-word;'>0.34 MB</td><td style='text-align: center; word-wrap: break-word;'>0.042 MB</td><td style='text-align: center; word-wrap: break-word;'>203.52 s</td><td style='text-align: center; word-wrap: break-word;'>0.043 ms</td><td style='text-align: center; word-wrap: break-word;'>745,750 FLOPs $^{{2}}$</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SCNN</td><td style='text-align: center; word-wrap: break-word;'>0.34 MB</td><td style='text-align: center; word-wrap: break-word;'>0.042 MB</td><td style='text-align: center; word-wrap: break-word;'>939.21 s</td><td style='text-align: center; word-wrap: break-word;'>0.41 ms</td><td style='text-align: center; word-wrap: break-word;'>592,617 FLOPs $^{{3}}$ (reduced by 20.5%)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SMLP</td><td style='text-align: center; word-wrap: break-word;'>1.02 MB</td><td style='text-align: center; word-wrap: break-word;'>0.12 MB</td><td style='text-align: center; word-wrap: break-word;'>376.22 s</td><td style='text-align: center; word-wrap: break-word;'>0.064 ms</td><td style='text-align: center; word-wrap: break-word;'>482,620 FLOPs $^{{4}}$</td></tr></table>

1. 单张图像推理

<div style="text-align: center;">2. No. operations of CNN is defined by FLOPs. CNN's FLOPs =  $\sum_{c=1}^{C}(MAC\_conv) \times 2 + \sum_{f=1}^{F} MAC\_fc \times 2$, where C and F are amount of convolutional and fully connected layers. In each convolutional layer  $MAC\_conv = CH_{in} \times K_{x} \times K_{y} \times H \times W \times CH_{out}$, where  $CH_{in}$ and  $CH_{out}$ are numbers of input and output channel, H and W indicate output feature size,  $K_{x}$ and  $K_{y}$ indicate the kernel size. In fully connected layer  $MACs\_fc = 2 \times I \times O$, where I and O are numbers of nodes of input and output.</div>

3. SCNN的FLOPs =  $\sum_{c=1}^{C}ACC\_conv \times r + \sum_{f=1}^{F}ACC\_fc \times r$，其中r为脉冲发放率： $\frac{\#Spikes\ in\ the\ layer\ over\ all\ timesteps}{\#neurons\ of\ the\ layer}$。

4. SCMLP的FLOPs =  $\sum_{f=1}^{F} ACC\_fc \times r$。

### 5. 结论

我们采用低成本的SPAD阵列来实现手势成像与识别，所用模型为轻量级的SCNN和SMLP。研究结果表明，这种低成本、低空间分辨率的SPAD传感器能够准确分类10种手势。我们的SNN模型在FLOPs方面低于普通CNN，却仍能保持相近的推理准确率。为了模拟真实场景，我们分别评估了有无AL情况下的准确率。这种紧凑的成像方案与数据处理流程将助力更具挑战性的应用，比如更多手势的动态识别、穿透雾气与障碍物成像，以及非视距传感。此外，由于所提模型体积小且具备稀疏性特点，可将其集成到固件或协处理器中以实现片上处理。正如[^26]中所提及的，SPAD阵列产生的光子立方体可模拟为事件相机的事件流。我们的成像与处理流程也可用于事件相机的仿真。我们相信本研究为后续相关工作奠定了基础。

资助来源：英国工程与物理科学研究委员会资助项目（Grant EP/T00097X/1）；英国创新署资助项目（Grant 10005391）。

致谢：本研究部分得到了英国工程与物理科学研究委员会资助项目（Grant EP/T00097X/1）以及英国创新署资助项目（Grant 10005391）的支持。

利益声明：作者声明没有利益冲突。

## 参考文献

[^1]: S. Afshar, T. J. Hamilton, L. Davis, A. Van Schaik, and D. Delic, "Event-Based Processing of Single Photon Avalanche Diode Sensors," IEEE Sens. J. 20(14), 7677–7691 (2020).

[^2]: S. Singh, A. Sarma, S. Lu, A. Sengupta, V. Narayanan, and C. R. Das, "Gesture-SNN: Co-optimizing accuracy, latency and energy of SNNs for neuromorphic vision sensors," in 2021 IEEE/ACM International Symposium on Low Power Electronics and Design (ISLPED) (2021), pp. 1–6.

[^3]: X. She and S. Mukhopadhyay, "Speed: Spiking neural network with event-driven unsupervised learning and near-real-time inference for event-based vision," IEEE Sens. J. 21(18), 20578–20588 (2021).

## [^4]: Y. Lin and E. Charbon, "Spiking Neural Networks for Active Time-Resolved SPAD Imaging," in Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision (2024), pp. 8147–8156

---

[^5]: J. K. Eshraghian, M. Ward, E. O. Neftci, X. Wang, G. Lenz, G. Dwivedi, M. Bennamoun, D. S. Jeong, and W. D. Lu, "Training spiking neural networks using lessons from deep learning," Proc. IEEE (2023).

[^6]: J. Pei, L. Deng, S. Song, M. Zhao, Y. Zhang, S. Wu, G. Wang, Z. Zou, Z. Wu, W. He, and others, "Towards artificial general intelligence with hybrid Tianjic chip architecture," Nature 572(7767), 106–111 (2019).

[^7]: F. Akopyan, J. Sawada, A. Cassidy, R. Alvarez-Icaza, J. Arthur, P. Merolla, N. Imam, Y. Nakamura, P. Datta, G.-J. Nam, and others, "Truenorth: Design and tool flow of a 65 mw 1 million neuron programmable neurosynaptic chip," IEEE Trans. Comput.-Aided Des. Integr. Circuits Syst. 34(10), 1537–1557 (2015).

[^8]: M. Davies, N. Srinivasa, T.-H. Lin, G. Chinya, Y. Cao, S. H. Choday, G. Dimou, P. Joshi, N. Imam, S. Jain, and others, "Loihi: A neuromorphic manycore processor with on-chip learning," Ieee Micro 38(1), 82–99 (2018).

[^9]: A. M. George, D. Banerjee, S. Dey, A. Mukherjee, and P. Balamurali, "A reservoir-based convolutional spiking neural network for gesture recognition from dvs input," in 2020 International Joint Conference on Neural Networks (IJCNN) (IEEE, 2020), pp. 1–9.

[^10]: A. Amir, B. Taba, D. Berg, T. Melano, J. McKinstry, C. Di Nolfo, T. Nayak, A. Andreopoulos, G. Garreau, M. Mendoza, and others, "A low power, fully event-based gesture recognition system," in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (2017), pp. 7243–7252.

[^11]: R. Massa, A. Marchisio, M. Martina, and M. Shafique, "An efficient spiking neural network for recognizing gestures with a dvs camera on the loihi neuromorphic processor," in 2020 International Joint Conference on Neural Networks (IJCNN) (IEEE, 2020), pp. 1–9.

[^12]: A. K. Kosta, M. P. E. Apolinario, and K. Roy, "Live Demonstration: ANN vs SNN vs Hybrid Architectures for Event-Based Real-Time Gesture Recognition and Optical Flow Estimation," in Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (2023), pp. 4147–4148.

[^13]: S. U. Innocenti, F. Becattini, F. Pernici, and A. Del Bimbo, "Temporal binary representation for event-based action recognition," in 2020 25th International Conference on Pattern Recognition (ICPR) (IEEE, 2021), pp. 10426–10432.

[^14]: A. Kapitanov, K. Kvanchiani, A. Nagaev, R. Kraynov, and A. Makhliarchuk, "HaGRID–HAnd Gesture Recognition Image Dataset," in Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision (2024), pp. 4572–4581.

[^15]: T.-H. Tsai, Y.-J. Luo, and W.-C. Wan, "A Skeleton-based Dynamic Hand Gesture Recognition for Home Appliance Control System," in 2022 IEEE International Symposium on Circuits and Systems (ISCAS) (2022), pp. 3265–3268.

[^16]: D. Miki, K. Kamitsuma, and T. Matsunaga, "Spike representation of depth image sequences and its application to hand gesture recognition with spiking neural network," Signal Image Video Process. 1–9 (2023).

[^17]: F. Zappa, S. Tisa, A. Tosi, and S. Cova, "Principles and features of single-photon avalanche diode arrays," Sens. Actuators Phys. 140(1), 103–112 (2007).

[^18]: W. Wang, S. Zhou, J. Li, X. Li, J. Yuan, and Z. Jin, "Temporal pulses driven spiking neural network for time and power efficient object recognition in autonomous driving," in 2020 25th International Conference on Pattern Recognition (ICPR) (IEEE, 2021), pp. 6359–6366.

[^19]: X. Yang, C. Yao, L. Kang, Q. Luo, N. Qi, R. Dou, S. Yu, P. Feng, Z. Wei, J. Liu, and others, "A Bio-Inspired Spiking Vision Chip Based on SPAD Imaging and Direct Spike Computing for Versatile Edge Vision," IEEE J. Solid-State Circuits (2023).

[^20]: M. S. A. Shawkat, M. M. Adnan, R. D. Febbo, J. J. Murray, and G. S. Rose, "A Single Chip SPAD Based Vision Sensing System With Integrated Memristive Spiking Neuromorphic Processing," IEEE Access 11, 19441–19457 (2023).

[^21]: C. Callenberg, Z. Shi, F. Heide, and M. B. Hullin, "Low-cost SPAD sensing for non-line-of-sight tracking, material classification and depth imaging," ACM Trans. Graph. TOG 40(4), 1–12 (2021).

[^22]: A. Ruget, M. Tyler, G. Mora Martín, S. Scholes, F. Zhu, I. Gyongy, B. Hearn, S. McLaughlin, A. Halimi, and J. Leach, "Pixels2Pose: Super-resolution time-of-flight imaging for 3D pose estimation," Sci. Adv. 8(48), eade0123 (2022).

[^23]: S. Pikalov, E. Azaria, S. Sonnenberg, B. Ben-Moshe, and A. Azaria, "Vision-Less Sensing for Autonomous Micro-Drones," Sensors 21(16), 5293 (2021).

[^24]: STMicroelectronics, "Turnkey gesture recognition solution based on VL53L5CX, VL53L7CX and VL53L8CX multizone Time-of-Flight ranging sensors," (2023).

[^25]: D. Palossi, N. Zimmerman, A. Burrello, F. Conti, H. Müller, L. M. Gambardella, L. Benini, A. Giusti, and J. Guzzi, "Fully onboard ai-powered human-drone pose estimation on ultralow-power autonomous flying nano-uavs," IEEE Internet Things J. 9(3), 1913–1929 (2021).

[^26]: V. Sundar, A. Ardelean, T. Swedish, C. Bruschini, E. Charbon, and M. Gupta, "SoDaCam: Software-defined Cameras via Single-Photon Imaging," in Proceedings of the IEEE/CVF International Conference on Computer Vision (2023), pp. 8165–8176.

[^27]: J. MacLean, B. Stewart, and I. Gyongy, "TDC-less Direct Time-of-Flight Imaging Using Spiking Neural Networks," ArXiv Prepr. ArXiv240110793 (2024).

[^28]: W. Fang, Y. Chen, J. Ding, Z. Yu, T. Masquelier, D. Chen, L. Huang, H. Zhou, G. Li, and Y. Tian, "SpikingJelly: An open-source machine learning infrastructure platform for spike-based intelligence," Sci. Adv. 9(40), eadi1480 (2023).

## [^29]: "OpenCV: Geometric Image Transformations," (n.d.)

---
