
# 基于单光子直接飞行时间传感器的人类活动识别

GERMÁN MORA-MARTÍN、$^{1,*}$ ☑ STIRLING SCHoles、$^{2}$ ROBERT K. HENDERSON、$^{1}$ ☑ JONATHAN LEACH、$^{2}$ ☑ 以及 ISTVAN GYONGY $^{1}$ ☑

$^{1}$英国爱丁堡大学工程学院、集成微纳系统研究所，爱丁堡 EH9 3FF，英国

$^{2}$英国赫瑞-瓦特大学工程与物理科学学院，爱丁堡 EH14 4AS，英国

 $^{*}$<mailto:german.mora@ed.ac.uk>

摘要：单光子雪崩二极管（SPAD）直接飞行时间（dToF）传感器能够在远距离下实现深度成像，即便物体没有颜色或纹理对比度也能被检测到。然而，远距离物体仅由少数几个像素表示，且易受太阳干扰产生的噪声影响，这限制了现有计算机视觉技术在高层场景解析中的应用。我们提出了一种基于SPAD的人类活动识别视觉系统，该系统采用卷积神经网络和循环神经网络，且完全基于合成数据进行训练。在使用来自$64\times32$像素SPAD、在40米距离处采集的真实数据进行的测试中，该方案成功克服了横向分辨率有限的问题（人类肢体宽度大约仅为一个像素），在区分七种不同活动时平均准确率达到了89%。该方法可在GPU上以最高66帧/秒的速率处理连续视频流形式的深度数据，因此非常适合用于监控或自动驾驶系统中的态势感知等实时应用场景。

© 2024 Optica Publishing Group，依据Optica开放获取出版协议条款发布

## 1. 引言

由于视频监控、医疗保健服务、人机交互以及自动驾驶等领域的应用需求，人类活动识别（HAR）在计算机视觉领域的重要性日益凸显 [^1] [^2] [^3] [^4]。在自动驾驶领域，相较于物体检测，活动识别能通过提供对环境的更高层次解读来提升态势感知能力 [^5]，从而帮助自动驾驶汽车更有效地预判并应对各类危险情况。

早期的人类活动识别方法涉及将运动相关信息编码到单张RGB图像中 [^6]，或计算时空体（STV）中物体的方向、速度和形状变化 [^7]。不过，这些方法在适应活动差异方面灵活性较差，比如无法应对不同的视角或遮挡情况。基于局部描述符的更复杂算法，如方向梯度直方图 [^8]、光流直方图 [^9] 或支持向量机（SVM） [^10]，能够提升人类活动识别的性能。然而，这些方法往往计算开销较大，无法满足实时处理需求。深度学习方法的出现给人类活动识别领域带来了变革，采用三维卷积神经网络（CNN）等时空网络时性能提升显著 [^11] [^12]。此外，循环神经网络（RNN）通常更擅长处理序列数据，其中卷积长短期记忆（ConvLSTM）层更是进一步提升了人类活动识别的性能 [13–15]。

基于深度数据的人体动作识别技术日益受到青睐，因为它能确保人物与背景之间具有良好的对比度（即使使用伪装时也是如此 [^16]），同时还能保护隐私。该技术通常会在进行动作识别之前，先通过光流或动态图像（结合RGB信息）来计算三维骨骼数据[17–20]。在 [^21] 中，研究人员采用基于ConvLSTM层的循环神经网络，利用高分辨率、室内、短距离的深度数据来进行人体动作识别，在NTU RGB+D数据集上的平均识别准确率达到了75%。

---

在本文中，我们将基于深度的人体动作识别技术拓展到室外远距离场景，以适配自主系统的应用需求。现有技术在这一领域并不适用，因为它们依赖的是测距范围有限的间接飞行时间传感器。此外，这些技术假设人物能被以高像素分辨率捕捉到，但远距离成像时并非如此（除非视场角受到限制）。因此，我们采用了基于单光子雪崩二极管传感器的直接飞行时间成像技术，该技术通过用脉冲光源照射场景，并测量后向散射光子的到达时间来估算深度 [^22]。这类传感器非常适合用于远距离激光雷达，因为即便光子回波数量较少，它们也能获得精确的深度估计值[23–26]。近期研发的SPAD直接飞行时间相机采用了图像传感器格式，配合泛光照明使用时，无需光学扫描即可实现高速三维成像 [^27] [^28]。

即便找到了合适的深度传感器，远距离人体动作识别仍面临诸多挑战，比如横向分辨率低以及太阳干扰产生的噪声 [^29]。因此，需要一种鲁棒性强的方案来克服像素化（物体仅由几个像素表示）、噪声等问题，同时还要能实时运行。虽然市面上已有分辨率更高的激光雷达系统（这类系统通常采用机械或微机电系统扫描 [^30] [^31]），但我们选择在此使用SPAD传感器主要有两个原因：（1）有精确的仿真模型可用于生成神经网络训练所需的合成数据；（2）能够获取原始的单光子直方图数据，从而掌控深度图的生成过程（例如可选择多个表面回波）。不过，此处提出的方法预计也能适配其他激光雷达系统。事实上，即便是高分辨率激光雷达（如 $0.1^{\circ}$，参见 [^30]）在捕捉远距离目标时也会存在明显的像素化问题（200米外的人物仅占据1-2个像素）。

在本文中，为了尽量降低延迟，我们跳过了姿态估计或深度放大等中间步骤[32–34]。具体而言，我们首先针对基于深度的图像（采用直接飞行时间相机的原生分辨率）训练用于人物和物体分割的卷积神经网络；随后借鉴 [^21] 中的思路，对卷积 LSTM网络进行调整，用于人体动作识别。该方法假定使用的是像素分辨率为 $64 \times 32$ 的SPAD直接飞行时间传感器，且其视场角能使人类肢体的宽度约为一个像素。合成训练集和测试集的生成采用了与 [^34] 中类似的方法。随后，我们分别针对合成数据集以及从最先进的SPAD直接飞行时间传感器获取的真实数据，对该方法的性能进行了分析 [^35]。

### 2. 数据准备

开源的Airsim平台与Unreal Engine配合使用，如同在[^34]中一样，用于生成用于训练和测试分割网络及HAR网络的合成数据集[^36] [^37]。利用合成数据，我们能够比通过物理实验更快地创建大规模且多样化的数据集。不过，我们必须确保生成的数据能够准确反映真实世界数据的特征。在本研究中，我们在Unreal中生成了RGB图像、分割图（背景对应0，人物对应1，物体对应2）以及深度图，其横向分辨率为$512 \times 128$，水平视场角为$20^{\circ}$；随后利用这些资料创建分辨率为$64 \times 32$的模拟深度帧，以模拟用于采集真实数据的SPAD传感器[^35]。该传感器的每个像素由$4 \times 4$个SPAD探测器组成，由于每列像素旁都有处理单元，因此整个阵列的宽高比为4:1。高分辨率深度图以及RGB数据的灰度版本（代表表面反射率）被用于合成具有8个时间区间的光子直方图，采用的是可调节区间大小的多事件、像素内直方图记录TDC架构。在该模型中，信号光子速率与从灰度图中提取的表面反射率成正比，而与到表面的距离的平方成反比[^38]。另一方面，背景光子速率与表面反射率及环境光强度成正比，这两个参数都会被随机化，以生成不同信背比（SBR）水平的场景。

---

信背比定义为直方图中所有区间内信号光子数与背景光子数的比值，再对所有SPAD像素取平均值。为了考虑信号和背景光子计数中的泊松噪声，每个像素计算出的光子时间直方图会根据泊松统计规律进行随机化处理。最终，通过质心峰值提取法从直方图中获取深度信息[^39]。为了定义dToF SPAD帧中的信噪比（SNR），我们采用了来自[^40]的公式(1)，该公式给出了深度精度与信号及背景光子水平等参数之间的关系[^41]。

 $$ \delta=\frac{\sigma}{\sqrt{N_{s i g}}}\sqrt{1+\frac{1}{12}\left(\frac{a}{\sigma}\right)^{2}+4\sqrt{\pi}\left(\frac{\sigma}{a}\right)\frac{b}{N_{s i g}}}, $$

其中$\sigma$表示红外脉冲响应的标准差，$N_{sig}$是直方图中主要信号峰预期的光子总数，a为直方图区间宽度，b为每个直方图区间内预期的背景光子数。如果深度估计误差主要由背景因素决定（这在闪光激光雷达配置中很常见），那么深度估计的标准差就与$\frac{\sqrt{b}}{N_{sig}}$成正比。因此，我们将某个像素的SNR定义为$\frac{N_{sig}}{\sqrt{b}}$，它反映了信号峰的清晰程度（因为$N_{sig}$代表了峰的大小，而$\sqrt{b}$则对应噪声基底的标准差）。某一帧中的整体SNR则是所有SPAD像素SNR的平均值。

为了获得与合成SPAD帧中物体轮廓精确匹配的基准分割数据，我们会将Unreal Engine提供的高分辨率分割图通过SPAD模型进行下采样处理（注意：简单的最近邻下采样会导致轮廓出现差异）。在此下采样过程中，我们使用的是

![Image](images/2328ed972e974a50f9d770769102c13c50119ef2d19d75542eec08f0b9ef713a.jpg)

<div style="text-align: center;">Fig. 1. Synthetic data generation workflow diagram. RGB (converted to its grayscale equivalent), depth, and segmentation frames are captured from Unreal Engine using Airsim. The SPAD optical model is used to obtain low-resolution SPAD depth and segmentation data to train and test the scene segmentation and HAR networks.</div>

---

将高分辨率分割结果作为伪深度输入，将分割结果的二值化版本作为伪强度输入（背景设为0，物体和人设为1）。图1展示了利用Unreal数据通过光学模型获取合成SPAD dToF数据的流程图。

### 3. 场景分割与人体活动识别网络

如[^42]所述，此处对U-net [^43]的结构进行了调整，以实现对人体和一般物体的快速定位。网络的输入是归一化到0到1之间的$64 \times 32$深度图像，输出包含三个通道（$64 \times 32 \times 3$），分别对应背景（0）、人（1）和物体（2）的检测结果。若缺少物体类别，网络的鲁棒性会有所下降，因为在特征间的深度对比度较低时，网络容易将物体误判为人而非背景。

在HAR任务中，本文采用的网络源自[^21]中提出的无状态网络，因其结构简单、速度快且在高分辨率深度序列上精度较高。需注意，[^21]的研究未包含分割步骤，因为其中人体特征占主导地位；而本文场景中人体仅占少数像素，且可能被其他元素遮挡。此外，我们的方法旨在分析包含多人的连续深度数据流中的HAR信息。调整后的网络层数更少，参数也经过修改以适应此处较低的数据分辨率（例如采用更小的卷积核和步长）。该网络包含两个分支，每个分支都设有多个循环模块，用于从视频中提取特征。两个分支的输出会被合并，再送入包含卷积层和池化层的决策模块。最终通过softmax激活函数得到输出类别。网络的逐层描述详见补充材料。网络以无状态模式训练，即固定每个序列中待处理的输入帧数量；在本研究中，输入序列被重采样为共32帧，以在性能与推理时间之间取得平衡。虽然在处理HAR任务时，有状态训练似乎更适合应对可变长度的数据，但需注意有状态网络更复杂且训练稳定性较差[^21]（训练过程中极易出现发散现象）。此外，由于无法预先获知动作的起始和结束时间，有状态网络在实时场景中也不具备实用性。

整个方案的工作流程如下：首先，将 $64 \times 32 \times 32$ 深度序列通过分割网络，以在每一帧中定位人员并分配相应的边界框。分割图中每个像素的检测置信度必须 >80% 才能被视为有效检测。接下来，深度序列在每一帧中以 $32 \times 32$ 像素为大小围绕每个人进行空间裁剪。请注意，对数据进行空间裁剪并不是 HAR 的必要步骤，但这样做可以提高网络的处理速度，因为输入尺寸减小（从而去除了冗余数据）。裁剪后的序列还会经过滤波处理，即为背景或物体对应的像素赋予固定值 1，以限制它们对推理的影响。最后，由 HAR 网络分析裁剪后的序列，并从以下集合中输出一种活动：保持静止、行走、奔跑、蹲下、站起、挥手或跳跃。训练数据集会被随机打乱，以防止网络权重偏向特定场景。图 2 展示了总结该 HAR 方法各步骤的示意图。

当场景中检测到多个人时，为每个人一致地分配相同的边界框标签至关重要。为避免边界框标签被意外互换，系统会对比每个人之前的边界框位置与当前位置，并据此进行恰当标记。这能防止输入到人体活动识别网络的序列出现突变，从而减少误分类的情况。如果某人在某一帧中未被检测到，就会沿用其之前的边界框标签（除非该人已移出画面）。两人交叉的情况是指他们边界框中心之间的横向距离。

---

![Image](images/928a46b7453e61f59fc5e317590981cbb2df7f347776c60cc562d96da5e684ef.jpg)

<div style="text-align: center;">Fig. 2. Human activity recognition workflow diagram. A low-resolution depth sequence is captured and segmented via a scene segmentation network. Based on the localisation of the person, the sequence is cropped and filtered by assigning a fixed value of 1 to pixels that correspond to background and objects. The cropped sequence (32 frames) is passed through a second network evaluating the activity performed (e.g. running).</div>

当横向距离小于5像素时，标签分配容易出错。为防止这种情况，会在两人交叉前后分别计算每个人的平均深度位置，再据此标注边界框（例如两人交叉时位于前方的人，在交叉后仍保持在前方）。需要注意的是，虽然可能存在两人交叉轨迹复杂导致边界框标注错误的情况，但在本研究涉及的案例中并未观察到此类现象。

神经网络是基于Tensorflow和Keras实现的[^44]。训练阶段采用Adam优化器[^45]，在配备RTX2070 GPU的台式机（HP EliteDesk 800 G5 TWR）上开展，以加速训练过程。对于定位网络，每一步都会通过F分数来跟踪其性能，需要最小化的损失函数为Tversky损失。

---

训练过程最多进行50个epoch，批量大小设为32。该损失函数用于补偿类别不平衡问题，因为背景类别的样本量通常比其他类别更多。为防止模型过拟合，引入了提前停止机制：训练进行5个epoch后便终止，并记录此时损失最小的模型权重。模型的学习率被设定为$1 \times 10^{-3}$。对于人体活动识别网络，每一步会通过分类准确率来跟踪其性能，需要最小化的损失函数为分类交叉熵，同样最多训练50个epoch，批量大小设为8。与之前一样，训练5个epoch后也会触发提前停止机制，此时学习率被设定为$5 \times 10^{-5}$。

### 4. 实验结果

#### 4.1. 合成数据上的人体活动识别

针对使用8万个样本训练的模型，我们对分割网络的性能进行了评估。这些样本包含多种随机生成的深度数据，数据中有一到两个人（其朝向也是随机的），并且存在位于不同位置和深度（30至40米之间）的多个物体。场景中的反射率和背景光子水平也是随机的（SBR范围为0.15–0.7，信噪比范围为2–10）。验证数据集占训练集的10%，用于对神经网络进行无偏评估。测试数据集包含2,100个序列，每个序列有32帧。我们以交并比（IoU）阈值为0.5作为评估网络性能的指标，结果显示正确定位的样本占比为96%。图3展示了两个网络未能正确分割人物的示例：在第一个示例中，对该人的检测置信度低于80%；而在第二个示例中，尺寸与人相似的物体被错误标记了。

![Image](images/bb8089a79c7fb4070f31e882d807d24d162f2365793b7538d5f208290256d7d0.jpg)

<div style="text-align: center;">Fig. 3. Examples of poor segmentation from the synthetic test dataset, showing depth information, segmentation output, and segmentation ground truth. (1) example where the detection confidence for the person is below 80% and as a consequence, the person is not detected. (2) example of misclassification where an object has been detected as a person.</div>

针对使用7,600个深度序列训练的模型，我们对人体活动识别（HAR）的性能进行了评估，其中10%的数据被预留作验证数据集。测试数据集与分割网络所使用的数据集相同。图4(a)展示了此处考虑的所有活动的混淆矩阵，反映了测试数据集（模型未见过的数据）中各类别样本的预测百分比；表1则给出了召回率、精确度和F值方面的结果。精确度衡量真正例预测数与总预测正例数之比；召回率（或称灵敏度）衡量真正例预测数与某类别所有观测值之比；而F值是精确度和召回率的调和平均值。整体加权平均准确率以及简单平均准确率（各类别权重相同）均为92%，该网络能够…

---

以最高66帧/秒的速率从原始数据序列中执行人体活动识别任务。除步行外，所有活动的召回率均高于90%（不过步行的精确度达到了98%）。我们注意到，由于某些动作之间的相似性，该网络对训练数据极为敏感（表现出较高的方差），这导致在相同数据集上重复训练时推理性能会有所不同。因此，网络的权重很容易偏向某一特定类别，进而形成非对称的混淆矩阵。不过我们观察到，各类别的平均性能往往较为稳定。误报主要源于两种动作之间的相似性（如跑步和步行），或者较少情况下是由于无法准确定位人物（如图3所示，有时是背景中的干扰特征所致）。可视化1展示了本文中考虑的各类活动的示例序列，这些序列均被正确分割和分类。视频包含了RGB数据、分割输出结果以及深度信息与人体活动识别结果的结合。

![Image](images/ec57b714217daec16cbbbb062f5fbf6fb687889aa66dc446737c644c532937d9.jpg)

![Image](images/4b14b34ea5397c524b87dd7663bf4cdda9424d29bd9e9e107e27f88e5bc375cc.jpg)

![Image](images/44997c877562e2fa5ca8818e10317ec95c46df54e771d3f1d2cc8b6a538d692b.jpg)

<div style="text-align: center;">Fig. 4. Confusion matrix of activities representing \% of samples predicted in each class for a) synthetic dataset and b) real dataset. Example: 4.2\% of waving data is confused with remaining idle.</div>

<div style="text-align: center;">Table 1. Performance parameters (precision, recall, F1-score) and number of samples for synthetic test dataset (left) and real test dataset (right).</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td colspan="5">Synthetic</td><td colspan="4">Real</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Activity</td><td style='text-align: center; word-wrap: break-word;'>Precision [%]</td><td style='text-align: center; word-wrap: break-word;'>Recall [%]</td><td style='text-align: center; word-wrap: break-word;'>F-score [%]</td><td style='text-align: center; word-wrap: break-word;'># Samples</td><td style='text-align: center; word-wrap: break-word;'>Precision [%]</td><td style='text-align: center; word-wrap: break-word;'>Recall [%]</td><td style='text-align: center; word-wrap: break-word;'>F-score [%]</td><td style='text-align: center; word-wrap: break-word;'># Samples</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Crouching</td><td style='text-align: center; word-wrap: break-word;'>95</td><td style='text-align: center; word-wrap: break-word;'>92</td><td style='text-align: center; word-wrap: break-word;'>93</td><td style='text-align: center; word-wrap: break-word;'>302</td><td style='text-align: center; word-wrap: break-word;'>96</td><td style='text-align: center; word-wrap: break-word;'>91</td><td style='text-align: center; word-wrap: break-word;'>93</td><td style='text-align: center; word-wrap: break-word;'>121</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Idle</td><td style='text-align: center; word-wrap: break-word;'>77</td><td style='text-align: center; word-wrap: break-word;'>98</td><td style='text-align: center; word-wrap: break-word;'>86</td><td style='text-align: center; word-wrap: break-word;'>300</td><td style='text-align: center; word-wrap: break-word;'>82</td><td style='text-align: center; word-wrap: break-word;'>90</td><td style='text-align: center; word-wrap: break-word;'>86</td><td style='text-align: center; word-wrap: break-word;'>272</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Waving</td><td style='text-align: center; word-wrap: break-word;'>98</td><td style='text-align: center; word-wrap: break-word;'>99</td><td style='text-align: center; word-wrap: break-word;'>99</td><td style='text-align: center; word-wrap: break-word;'>312</td><td style='text-align: center; word-wrap: break-word;'>92</td><td style='text-align: center; word-wrap: break-word;'>93</td><td style='text-align: center; word-wrap: break-word;'>93</td><td style='text-align: center; word-wrap: break-word;'>142</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Running</td><td style='text-align: center; word-wrap: break-word;'>86</td><td style='text-align: center; word-wrap: break-word;'>96</td><td style='text-align: center; word-wrap: break-word;'>91</td><td style='text-align: center; word-wrap: break-word;'>294</td><td style='text-align: center; word-wrap: break-word;'>91</td><td style='text-align: center; word-wrap: break-word;'>83</td><td style='text-align: center; word-wrap: break-word;'>87</td><td style='text-align: center; word-wrap: break-word;'>180</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Walking</td><td style='text-align: center; word-wrap: break-word;'>98</td><td style='text-align: center; word-wrap: break-word;'>76</td><td style='text-align: center; word-wrap: break-word;'>86</td><td style='text-align: center; word-wrap: break-word;'>294</td><td style='text-align: center; word-wrap: break-word;'>90</td><td style='text-align: center; word-wrap: break-word;'>92</td><td style='text-align: center; word-wrap: break-word;'>91</td><td style='text-align: center; word-wrap: break-word;'>401</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Jumping</td><td style='text-align: center; word-wrap: break-word;'>99</td><td style='text-align: center; word-wrap: break-word;'>94</td><td style='text-align: center; word-wrap: break-word;'>96</td><td style='text-align: center; word-wrap: break-word;'>226</td><td style='text-align: center; word-wrap: break-word;'>84</td><td style='text-align: center; word-wrap: break-word;'>71</td><td style='text-align: center; word-wrap: break-word;'>77</td><td style='text-align: center; word-wrap: break-word;'>68</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Standing up</td><td style='text-align: center; word-wrap: break-word;'>100</td><td style='text-align: center; word-wrap: break-word;'>92</td><td style='text-align: center; word-wrap: break-word;'>96</td><td style='text-align: center; word-wrap: break-word;'>282</td><td style='text-align: center; word-wrap: break-word;'>90</td><td style='text-align: center; word-wrap: break-word;'>81</td><td style='text-align: center; word-wrap: break-word;'>85</td><td style='text-align: center; word-wrap: break-word;'>53</td></tr></table>

我们还采集并测试了涉及两人相互穿过的合成活动序列。尽管观察到的人体活动识别性能令人鼓舞，但由于主要目标是评估是否能为分割目的而准确跟踪人物，因此尚未开展详细评估。图5展示了两人跳跃和跑步的深度序列的示例帧，人物被准确定位和分类。这说明了该方法在人物相互穿过时仍能保持每个人物正确边界框的有效性。

---

![Image](images/a5c484b766e5c1af5b0cccb6c088ba9f5ecb334d5f6ebec29df3bd761210d901.jpg)

<div style="text-align: center;">Fig. 5. Example of a synthetic sequence where two people cross each other. The bounding boxes are preserved for each person throughout the sequence and the network is able to predict correctly their activities. On average, the sequence has a SBR of 0.13, SNR of 2.52 and 49 average signal photons.</div>

#### 4.2. 基于实验数据的人体活动识别

活动序列是在户外使用64×32 SPAD dToF传感器以50 FPS的速率采集的，从而利用真实数据生成测试数据集[^35]。该SPAD传感器具备片上多事件直方图功能，无需对光子时间戳的二进制帧进行求和即可实现高速3D成像。近红外激光源（850 nm）由SPAD触发，通过柱面透镜将其散射到传感器的视场范围内（20×5°）。该激光的光学峰值功率为60 W，发射10 ns脉冲，重复频率为1.2 MHz。在SPAD前方使用了25 mm/f1.4的物镜（Thorlabs MVL25M23），并搭配10 nm带通环境滤光片（Thorlabs FL850-10）。图6展示了用于采集真实数据的便携式摄像系统图像。图7将真实dToF传感器采集到的人体行走序列（图7(a)）与合成的SPAD dToF数据（图7(b)）进行了对比。这两个序列之间的视觉相似性证明了使用合成SPAD数据进行训练的可行性。

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

<div style="text-align: center;">Fig. 6. Picture of the portable camera system used in this paper to capture real SPAD dToF data. The system includes a SPAD dToF sensor, an FPGA integration module (Opal Kelly XEM7310), a 850 nm laser source, a 25 mm/f1.4 objective lens with a 10 nm bandpass filter, and a laptop for data capture.</div>

针对包含多个序列、总计1,237个32帧数据块的测试数据集，对HAR的性能进行了评估。每个序列在时间上经过裁剪，使其长度为

---

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

<div style="text-align: center;">Fig. 7. Comparison of selected frames from a sequence of a person walking captured with a) real SPAD camera (50 FPS, mean SBR 0.17, mean SNR 11, and 716 average signal photons for the person in the first frame) and b) synthetic SPAD camera (model-generated data, mean SBR 0.19, mean SNR 2.82, and 42 average signal photons).</div>

32帧。每个数据块由64帧组成，与前一个数据块有50%的重叠（例如，数据块1包含第1-64帧，数据块2对应第32-96帧），随后这些帧被重采样为32帧。这样设计是为了确保所有活动——无论其持续时间如何——都能被包含在以50 FPS速率采集的单个数据块中。帧处理的最大速率为66 FPS，超过了采集速度，这体现了该方案在实时操作方面的潜力。图4(b)显示了用真实SPAD dToF采集到的所有活动的混淆矩阵，表1则给出了召回率、精确度和F分数方面的结果。总体加权平均准确率为89%，简单平均准确率为87%，这一结果与合成数据集的表现相当。少量误分类源于分割效果不佳。另一导致误分类的原因是数据被划分为多个数据块，这可能导致某些序列中包含两种动作之间的过渡，从而使得真实标签变得模糊。这种模糊性对某些动作的表现影响显著，尤其是跳跃动作，其召回率仅为70.6%。在27.9%的情况下，跳跃动作会被误判为静止状态，其中大部分情况属于这两种动作之间的过渡阶段。尽管误报数量较多，但我们注意到，在每个跳跃动作的实例中，至少会有一个数据块能准确检测到该动作（该动作通常分布在2-3个数据块中）。站立和蹲下与静止状态之间的混淆也可作类似解释。另一种常见混淆出现在行走和跑步之间，两者之间的差异较为细微。我们注意到，虽然网络训练所用的合成数据集中涵盖了多种行走和跑步速度，但在任意给定序列中运动速度是恒定的（即不存在加速度）；而在真实数据集中，序列内的速度会发生变化，这就使得区分这两种活动更加困难。这或许可以解释真实数据集与合成数据集在跑步和行走类别上的性能差异。蹲下、跳跃和站立之间的少量误报是由于这些动作的部分特征相似所致。我们注意到，某些类别的样本量较小（尤其是跳跃和站立，各约60个样本），因此混淆矩阵中的数值会受到一定的统计方差影响。不过，89%的综合准确率仍能很好地反映该方法的总体性能。

可视化2展示了一段利用SPAD dToF传感器采集的视频序列（帧率为50 FPS，探测范围超过30米），视频中记录了一个人执行本文所考虑的所有活动的过程。在整个序列中，该人都能被准确检测到，其活动也能被正确估计。

---

可视化3展示了另一个利用同一款SPAD传感器采集的示例：两个人多次相互穿行。结果显示，通过边界框能够成功追踪到这些人，同时他们的活动也能被准确预测。

### 5. 结论

我们提出了一种基于SPAD dToF数据的户外人体活动识别系统。该系统的开发过程中，先生成了包含七种不同动作的人体活动合成数据集，随后将其处理成具有随机信号和噪声水平的逼真SPAD dToF图像。这些合成数据被用于开发两套神经网络：用于人体检测的CNN以及用于活动分类的RNN。基于合成数据集以及真实数据集的测试结果表明，在探测距离超过30米且信噪比处于2到10的不同条件下，该系统的人体活动识别准确率分别达到了92%和89%。这一结果证明该方案能够有效克服像素化效应以及太阳干扰产生的深度噪声问题。该方法旨在分析连续的深度数据流，检测人体并对其活动进行分类，在GPU上运行时的最高处理速率可达66 FPS。

初步结果表明，该方法可扩展应用于视场内的多人场景，即使两人相互穿行也能被准确追踪。后续工作将侧重于收集和分析更多涉及多人的真实SPAD dToF数据。研究还将考虑将强度信息并入深度输入数据，以评估其在活动分类中的潜在优势。此外，深入了解人体活动识别技术的局限性（例如网络仍能可靠识别的最小人体像素尺寸）也颇具意义。

虽然目前该方案在30至40米的范围内得到了验证，但我们预计通过采用功率足够的激光源（并调整接收光学器件以保持视场内人体的尺寸），该方案能够轻松扩展到更远的探测范围。本研究中使用的激光器光学峰值功率为60瓦，而典型的汽车闪光激光雷达所使用的激光器功率超过1千瓦 [^46]。

该方法尤其适用于那些需要低延迟获取环境高层信息的自主系统。通过了解视场内人员的活动情况，系统更有可能预测事态的发展走向并避免潜在事故。该方法在安防和监控领域也具有实用价值，因为在这些场景中往往希望隐藏人员的身份信息。

资助方：国防科学技术实验室（DSTLX1000147352、DSTLX1000147844）。

致谢：作者感谢意法半导体公司提供的芯片制造支持。本研究的部分内容曾在2023年的国际图像传感器研讨会上展示 [^47]。

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

数据可用性：本文所呈现结果背后的数据目前尚未公开，但可根据合理请求从作者处获取。

补充文档：相关辅助内容请参阅补充材料1。

## 参考文献

[^1]: S. Vishwakarma and A. Agrawal, “A survey on activity recognition and behavior understanding in video surveillance,” The Visual Computer 29(10), 983–1009 (2013).

[^2]: X. Zhou, W. Liang, and K. I.-K. Wang, “Deep-learning-enhanced human activity recognition for internet of healthcare things,” IEEE Internet of Things Journal 7(7), 6429–6438 (2020).

[^3]: L. Chen, N. Ma, and P. Wang, “Survey of pedestrian action recognition techniques for autonomous driving,” Tsinghua Sci. Technol. 25(4), 458–470 (2020).

[^4]: A. Del Bimbo, R. Cucchiara, S. Sclarof, et al., “Pattern Recognition,” ICPR International Workshops and Challenges: Virtual Event, January 10–15, 2021, Proceedings, Part III, vol. 12663 (Springer Nature, 2021).

## [^5]: A. Gupta, A. Anpalagan, L. Guan, et al., “Deep learning for object detection and scene perception in self-driving cars: Survey, challenges, and open issues,” Array 10, 100057 (2021)

---

[^6]: A. F. Bobick and J. W. Davis, “The recognition of human movement using temporal templates,” IEEE Trans. Pattern Anal. Machine Intell. 23(3), 257–267 (2001).

[^7]: A. Yilmaz and M. Shah, “Actions sketch: A novel action representation,” in 2005 IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR’05), vol. 1 (IEEE, 2005), pp. 984–989.

[^8]: N. Dalal and B. Triggs, "Histograms of oriented gradients for human detection," in 2005 IEEE computer society conference on computer vision and pattern recognition (CVPR'05), vol. 1 (Ieee, 2005), pp. 886–893.

[^9]: N. Dalal, B. Triggs, and C. Schmid, “Human detection using oriented histograms of flow and appearance,” in Computer Vision–ECCV 2006: 9th European Conference on Computer Vision, Graz, Austria, May 7-13, 2006. Proceedings, Part II 9, (Springer, 2006), pp. 428–441.

[^10]: D. Weinland, R. Ronfard, and E. Boyer, “A survey of vision-based methods for action representation, segmentation and recognition,” Computer vision and image understanding 115(2), 224–241 (2011).

[^11]: S. Ji, W. Xu, M. Yang, et al., “IEEE Trans. Pattern Anal. Mach. Intell.,” IEEE transactions on pattern analysis and machine intelligence 35(1), 221–231 (2013).

[^12]: D. Tran, L. Bourdev, R. Fergus, et al., “Learning spatiotemporal features with 3D convolutional networks,” in Proceedings of the IEEE international conference on computer vision, (2015), pp. 4489–4497.

[^13]: X. Shi, Z. Chen, H. Wang, et al., “Convolutional LSTM network: A machine learning approach for precipitation nowcasting,” Advances in neural information processing systems 28, 1 (2015).

[^14]: S. K. Yadav, K. Tiwari, H. M. Pandey, et al., “Skeleton-based human activity recognition using convLSTM and guided feature learning,” Soft Computing pp. 1–14 (2022).

[^15]: Z. Zhang, Z. Lv, C. Gan, et al., “Human action recognition using convolutional LSTM and fully-connected LSTM with different attentions,” Neurocomputing 410, 304–316 (2020).

[^16]: J. Tachella, Y. Altmann, and N. Mellado, “Real-time 3D reconstruction from single-photon LIDAR data using plug-and-play point cloud denoisers,” Nat. Commun. 10(1), 4984 (2019).

[^17]: S. K. Yadav, K. Tiwari, H. M. Pandey, et al., “Skeleton-based human activity recognition using convLSTM and guided feature learning,” Soft Computing pp. 1–14 (2022).

[^18]: C. Feichtenhofer, A. Pinz, and A. Zisserman, “Convolutional two-stream network fusion for video action recognition,” in Proceedings of the IEEE conference on computer vision and pattern recognition, (2016), pp. 1933–1941.

[^19]: S. Kamal and A. Jalal, “A hybrid feature extraction approach for human detection, tracking and activity recognition using depth sensors,” Arab J Sci Eng 41(3), 1043–1051 (2016).

[^20]: M. K. Sain, R. H. Laskar, J. Singha, et al., “Hybrid deep learning model-based human action recognition in indoor environment,” Robotica 41(12), 3788–3817 (2023).

[^21]: A. Sánchez-Caballero, D. Fuentes-Jiménez, and C. Losada-Gutiérrez, "Real-time human action recognition using raw depth video-based recurrent neural networks," Multimed Tools Appl 82(11), 16213–16235 (2023).

[^22]: R. Horaud, M. Hansard, G. Evangelidis, et al., “An overview of depth cameras and range scanners based on time-of-flight technologies,” Machine Vision and Applications 27(7), 1005–1020 (2016).

[^23]: O. Kumagai, J. Ohmachi, M. Matsumura, et al., “7.3 a 189×600 back-illuminated stacked SPAD direct time-of-flight depth sensor for automotive LIDAR systems,” in 2021 IEEE International Solid-State Circuits Conference (ISSCC), vol. 64 (2021), pp. 110–112.

[^24]: J. Rapp, J. Tachella, and Y. Altmann, “Advances in single-photon LIDAR for autonomous vehicles: Working principles, challenges, and recent advances,” IEEE Signal Process. Mag. 37(4), 62–71 (2020).

[^25]: J. Peng, Z. Xiong, H. Tan, et al., “Boosting photon-efficient image reconstruction with a unified deep neural network,” IEEE Trans. Pattern Anal. Mach. Intell. 45, 1–18 (2022).

[^26]: Y. Hong, Y. Li, and C. Dai, “Image-free target identification using a single-point single-photon LiDAR,” Opt. Express 31(19), 30390–30401 (2023).

27. R. K. Henderson、N. Johnston和F. M. Della Rocca，“采用40纳米CMOS工艺的$192 \times 128$时间相关SPAD图像传感器”，《IEEE固态电路杂志》第54卷第7期，第1907–1916页（2019年）。

[^28]: M. Laurenzis, “Single photon range, intensity and photon flux imaging with kilohertz frame rate and high dynamic range,” Opt. Express 27(26), 38391–38403 (2019).

[^29]: S. Scholes, A. Ruget, G. Mora-Martín, et al., “Dronesense: The identification, segmentation, and orientation detection of drones via neural networks,” IEEE Access 10, 38154–38164 (2022).

30. V. L. Ouster公司生产的Puck高分辨率激光雷达传感器，（2016年）[检索于2024年3月21日]，<https://velodynelidar.com/products/puck-hi-res/>。

31. Titan m1，（2022年）[检索于2024年3月21日]，<https://www.neuvition.com/products/titan-m1.html>。

[^32]: A. Ruget, M. Tyler, and G. Mora Martín, “Pixels2pose: Super-resolution time-of-flight imaging for 3d pose estimation,” Sci. Adv. 8(48), eade0123 (2022).

[^33]: D. B. Lindell, M. O'Toole, and G. Wetzstein, "Single-photon 3d imaging with deep sensor fusion," ACM Trans. Graph. 37(4), 1–12 (2018).

[^34]: G. Mora-Martín, S. Scholes, and A. Ruget, “Video super-resolution for single-photon LIDAR,” Opt. Express 31(5), 7060–7072 (2023).

[^35]: I. Gyongy, A. T. Erdogan, N. A. Dutton, et al., “A direct time-of-flight image sensor with in-pixel surface detection and dynamic vision,” IEEE Journal of Selected Topics in Quantum Electronics pp.1–12 (2023).

## [^36]: Games Epic, Unreal engine, (2019)

---

[^37]: S. Shah, D. Dey, C. Lovett, et al., “AirSim: High-fidelity visual and physical simulation for autonomous vehicles,” in Field and Service Robotics, M. Hutter and R. Siegwart, eds. (Springer International Publishing, 2018), pp. 621–635.

[^38]: S. Scholes, G. Mora-Martín, and F. Zhu, “Fundamental limits to depth imaging with single-photon detector array sensors,” Sci. Rep. 13(1), 176 (2023).

[^39]: I. Gyongy, S. W. Hutchings, and A. Halimi, “High-speed 3D sensing via hybrid-mode imaging and guided upsampling,” Optica 7(10), 1253–1260 (2020).

[^40]: I. Gyongy, N. A. Dutton, and R. K. Henderson, “Direct time-of-flight single-photon imaging,” IEEE Trans. Electron Devices 69(6), 2794–2805 (2022).

[^41]: L. J. Koerner, “Models of direct time-of-flight sensor precision that enable optimal design and dynamic configuration,” IEEE Trans. Instrum. Meas. 70, 1–9 (2021).

[^42]: G. Mora-Martín, A. Turpin, and A. Ruget, “High-speed object detection with a single-photon time-of-flight image sensor,” Opt. Express 29(21), 33184–33196 (2021).

[^43]: O. Ronneberger, P. Fischer, and T. Brox, “U-net: Convolutional networks for biomedical image segmentation,” 2015.

[^44]: F. Chollet, “Keras.” (2015).

[^45]: D. P. Kingma and J. Ba, Adam: A method for stochastic optimization, 2017.

[^46]: M. E. Warren, “Automotive LIDAR technology,” in 2019 Symposium on VLSI Circuits, (2019), pp. C254–C255.

[^47]: G. Mora-Martín, J. Leach, R. K. Henderson, et al., “High-speed, super-resolution 3D imaging using a SPAD dToF sensor,” in Proc. Int. Image Sensor Workshop, (2023).
