
这是书籍部分的接受版本：

Fang, Zhijie; López Peña, Antonio M. «行人是否会横穿道路？：通过2D姿态估计来判断》。发表于：2018 IEEE 智能车辆研讨会 (IV)。2018 年，第 1271-1276 页。6 页。电气和电子工程师协会 (IEEE)。DOI 10.1109/IVS.2018.8500413

---

# 行人是否会横穿道路？：通过2D姿态估计来判断

Zhijie Fang 和 Antonio M. López

摘要：我们最近的研究表明，得益于现代强大的 CNN，基于图像的 2D 姿态估计是确定行人意图的一个有希望的线索，例如横穿道路进入车辆行驶路径、在进入道路前停止，以及开始行走或弯腰接近道路。这个结论是基于在非自然场景（Daimler 数据集）中的结果，即在专门为研究而设计的序列中获得的结果。幸运的是，最近出现了一个新的公开数据集 (JAAD)，可以用于在自然驾驶条件下开发检测行人意图的方法；更具体地说，用于解决相关问题：行人是否会横穿道路？因此，在本文中，我们使用 JAAD 来评估 2D 姿态估计在回答这个问题方面的有效性。我们结合基于 CNN 的行人检测、跟踪和姿态估计，从单目图像中预测横穿行为。总体而言，所提出的流程提供了新的最先进结果。

## I. 引言

即使在行人检测和跟踪方面仍然有改进的空间，但目前的技术已经足够成熟[^1]，[^2]，[^3]，这使得我们可以更多地关注对（辅助或自动驾驶）安全和舒适性至关重要的更高层次的任务。 尤其是，了解行人越过车辆前方的道路的意图，即在行人实际上进入道路之前，可以让车辆警告驾驶员或自动执行更平稳、更尊重行人的操作；这甚至可以显著降低在车辆与行人发生碰撞时需要住院的风险[^4]。

这个想法可以用图 1 来说明。 我们可以看到两个行人，一个似乎停在路边，另一个正在走向同一个路边。 仅根据框住这些行人的（黄色）边界框的位置，我们会说他们此时不在车辆的行驶路径上。 然而，我们想知道接下来会发生什么：停着的行人会突然横穿马路吗？ 正在行走的行人会横穿马路而不停下来吗？ 如果是这样，车辆可以提前开始减速，以进行更安全的 maneuver，从而提高乘客的舒适度以及行人的信心（这对于自动驾驶汽车尤其重要）。

最近，我们通过基于图像的 2D 姿态估计来解决横穿/不横穿分类（C/NC）任务[^5]。 提出的方法显示出最先进的结果，并且与以前的方法（见

![Image](images/e42ffbae72b27dc3c5eb3418fa24806de58ef6dd2dee73e3630e1993818c42bc.jpg)

<div style="text-align: center;">Fig. 1: Our focus: is the pedestrians going to cross?</div>

在第二节（Sect. II）中，该方法不需要立体视觉、光流或自运动补偿这类信息。按照当前前沿文献中的通用做法，我们在[^5]中使用了当时针对C/NC任务唯一公开可用的数据集，该数据集由戴姆勒研究人员慷慨发布[^6]。尽管该数据集是验证不同研究思路的良好起点，但它由非自然场景序列构成，即序列中展示的都是单独行人，其执行的动作是专门为C/NC任务编排的。幸运的是，近期一个新数据集（自动驾驶联合注意力数据集——Joint Attention for Autonomous Driving–JAAD）已公开发布[^7]，它支持我们在自然驾驶条件下研究C/NC任务。据此，本文我们提出（参见Sect. III）一套由行人检测器、多行人跟踪器和二维行人姿态估计器组成的处理流水线，用于获取每个行人的多帧特征集，从而完成C/NC任务。检测器、跟踪器和姿态估计器均基于为这类通用任务设计的现成CNN模块，我们在此将这些模块适配到我们的C/NC任务中。通过这种方式，我们可以在JAAD数据集上开展我们的实验（参见Sect. IV）。

因此，与 [^5] 相比，我们面临着一个更具挑战性的数据集，对于该数据集，使用最先进的行人检测和跟踪是强制性的。请注意，对于 [^5] 中使用的该数据集，仅依靠简单的 HOG/线性 SVM 行人检测器就足够了，因为该数据集中的序列仅显示在良好照明条件下的单个行人，并且不需要跟踪。此外，由于最近 CNN 驱动的特征已被用于 JAAD 中的 C/NC 任务 [^8]，因此我们还比较了基于姿态估计的特征与基于 CNN 的特征。如我们所见，前者明显优于后者。此外，作为一项额外的创新，我们还报告了 JAAD 中的时间到事件 (TTE) 结果，这增强了我们使用姿态估计来检测行人交叉意图的论点。总的来说，我们认为我们为 JAAD 贡献了一个新的最先进的基线，该基线是目前唯一可公开获取且在自然驾驶条件下采集并包含 C/NC 任务的地面真值注释的数据集。

---

### II. 相关工作

最初，C/NC 任务被视为一个明确的行人路径预测问题；通过依赖行人动态模型来估计行人的未来位置、速度和加速度 [^6]、[^9]。但是，这些模型难以调整，并且为了具有鲁棒性，需要依赖于密集立体数据、密集光流和自运动补偿。直观地说，诸如 [^9] 的方法实际上试图预测跟踪行人的轮廓随时间的变化。事实上，[^10] 使用立体视觉系统和自运动补偿来显式评估行人的轮廓（其他方法依赖于 $360^{\circ}$ LiDAR [^11]）。请注意，虽然我们的方法将应用于 JAAD，因为它仅依赖于单目图像流，但由于缺乏立体信息和车辆数据进行自运动补偿，因此这些其他方法无法应用。

还提出了基于头部和身体方向的近似方法，以估计行人的意图，这些方法包括从单目 [^12] 和立体 [^13]、[^14] 图像以及自运动补偿。但是，尚不清楚我们如何实际使用这些方向来提供意图估计。此外，[^14] 中报告的实验表明，头部检测对于 C/NC 任务没有用。

这些提到的基于视觉的研究依赖于戴姆勒的数据集。通过使用在JAAD上训练的基于AlexNet的CNN，[^8]验证了全身外观是否能改善C/NC任务的结果，与仅分析包含头部或下半身的子窗口相比。结论相似，即专门关注腿部或头部似乎不会带来更好的性能。

事实上，在[^15]中，得出的结论是，缺乏关于行人姿势和身体运动的信息会导致延迟检测行人的意图变化。 顺应这一建议，在[^5]中，我们依赖于一种最先进的2D姿态估计方法，该方法在静态图像中运行[^16]。 尤其是，我们采用滑动时间窗口的方法，将估计的行人骨骼随时间累积（参见图2），并在这些骨骼之上应用特征（参见图3），从而在戴姆勒的数据集中获得了最先进的C/NC任务结果； 这非常出色，因为我们仅依赖于单目图像流，而没有使用立体视觉、光流或自运动补偿。 在本文中，我们通过补充2D姿态估计，将我们的研究扩展到更具挑战性的JAAD数据集，并采用了最先进的行人检测和跟踪方法。 此外，我们比较了基于骨骼的特征与如[^17]中建议的人类动作识别的基于CNN外观的特征，看看前者是否能带来更高的准确性。 此外，我们还报告了TTE结果。

### III. 方法

为了解决C/NC任务，我们需要检测行人，跟踪他们，为每个人逐帧调整一个骨骼（参见图2），并对每个行人应用C/NC分类器，从而依赖于在相应骨骼上定义的功能（参见图3）。 因此，在本节中，我们将简要描述用于检测、跟踪、骨骼拟合（姿态估计）和C/NC分类的组件。

对于行人检测，我们微调了一个基于流行的Faster R-CNN的通用对象检测器[^18]。 尤其是，我们使用了TensorFlow公开可用的实现，该实现基于VGG16 CNN架构，如[^19]中所述。 在C/NC分类流程的训练阶段，我们使用JAAD训练图像微调了该模型。

b) 跟踪：行人跟踪被视为一种基于检测的多目标跟踪范式。一种解决此范式的最先进跟踪器可以在 [^3] 中找到，该跟踪器具有公开可用的代码，我们已将其直接使用。此跟踪器使用以下状态表示行人检测：$(u, v, \lambda, h, \dot{x}, \dot{y}, \dot{\lambda}, \dot{h})$；其中 $(u, v)$ 表示 BB 的中心像素，$\lambda$ 是其宽高比，h 是其高度，而 $\dot{x}$、$\dot{y}$、$\dot{\lambda}$ 和 $\dot{h}$ 分别是相应的速度。这些状态变量根据卡尔曼滤波进行更新。为了执行数据关联，它使用基于 CNN 特征的余弦距离（这些特征是在大型人员重新识别数据集 [^20] 上训练的），用于衡量 BB 检测和预测之间的视觉相似度。与某些预测的匹配分数较低的检测将被预先跟踪；如果在连续的几帧中（对于 JAAD，我们设置了 3 帧，即 0.1 秒），缺乏匹配的情况持续存在，则该跟踪被认为是对应于一个新的行人。与新的检测在几帧（对于 JAAD，我们设置了 30 帧，即 1 秒）内没有高匹配分数的预测被认为是消失的行人（结束的跟踪）。请注意，此跟踪过程完全基于图像，不需要自运动补偿。

c) 骨骼拟合（姿态估计）：正如在 [^5] 中取得的良好结果一样，我们应用在 [^16] 中提出的基于 CNN 的姿态估计方法，该方法具有公开可用的代码。此方法可以在静态单目图像中运行，并且已在 Microsoft COCO 2016 关键点数据集 [^21] 上进行训练。它被设计用于同时执行行人检测和姿态估计。然而，在我们使用 JAAD 数据集的初步实验中，检测本身不如 Faster R-CNN 准确。我们认为这是因为，虽然我们使用 JAAD 图像对后者进行了微调，但我们没有对姿态估计方法进行相同的操作，因为这需要对行人身体级别的注释。因此，我们只在 Faster R-CNN 预测的 BB 范围内运行姿态估计方法，从而获得所需的骨骼（图 2）。

d) C/NC 分类：在 [^5] 中，我们从拟合的骨骼中提取特征，并将其用作分类器（SVM/随机森林）的输入。 图 3 显示，拟合的骨骼基于 18 个关键点。 我们使用最稳定的 9 个关键点，这些关键点以星号突出显示，对应于腿和肩膀。 这些非常重要的关键点，因为腿会执行开始或停止行走动作；而肩膀和腿的关键点可以提供有关全身姿态的信息。 我们从选定的关键点计算特征。 首先，我们根据与高度 h 成比例的因子，对关键点坐标进行归一化。

---

![Image](images/1802280667ccb02dc55f66cab754b15d2cbe0641c267a4c380ce6597081a1c37.jpg)

<div style="text-align: center;">Fig. 2: Examples of 2D pose estimation by skeleton fitting. Top: pedestrian in side-view walking. Bottom: pedestrian standing still. From left to right we see 14 consecutive frames of two JAAD sequences, which roughly correspond to half a second.</div>

![Image](images/a677caeeec8a86f1ac398f66c7c1f3196b56784134f30e77d858e86ff1e7108b.jpg)

<div style="text-align: center;">Fig. 3: Figure reproduced from [^2]. Skeleton fitting is based on 18 keypoints, distinguishing left and right [^16]. We use the 9 keypoints highlighted with stars. The upper keypoint among those and the lower are used to compute height h, which is used as scaling factor for normalizing the keypoint coordinates. Then, using the normalized keypoints, different features based on relative angles and distances are computed as features. For instance, to the right we see several examples: (1) distance in the x (column) and y (row) axes and Euclidean distance between two keypoints ($\Delta x$, $\Delta y$, $\|v\|$); (2) angle between two keypoints ($\theta$); (3) the three angles of a triangle formed by three keypoints. After normalizing by h these seven values, they become components of the feature vector $\psi_i$ of frame i. Computing similar values by taking into account all the keypoints we complete $\psi_i$.</div>

行人高度（图 3）。然后，通过考虑关键点对之间的距离和相对角度，以及由关键点三元组诱导的三角形角度，计算出不同的特征（包含冗余信息）。总共得到 396 个特征。由于我们将最后 T 帧收集的特征连接起来，我们的特征向量的维度为 396T。此外，为了进行比较，如在通用动作识别文献中 [^17] 所述，我们还测试了 Faster R-CNN 提供的 fc6 特征，每个行人边界框都有一个；一个 4096T 维的向量。最后，由于随机森林 (RF) 直接提供概率度量，以便进行有意义的阈值处理，因此我们使用它来基于选定的特征（基于骨骼或 fc6 的特征）执行 C/NC 分类。

### IV. 实验

### A. 数据集

第一个公开可用的、用于研究检测行人意图的数据集来自 Daimler [^6]。它包含 68 个短序列（总共 9,135 帧），在非自然条件下获取，每个视频显示一个行人，行人被迫执行预定的动作。最近，公开了 Joint Attention for Autonomous Driving (JAAD) 数据集 [^7]，该数据集是在自然条件下获取的，并标注了用于检测 C/NC 动作。它包含 346 个视频（大多数视频长 5-10 秒），使用单目系统在车载上录制，帧率为 30 FPS，分辨率为 $1920 \times 1080$ 像素。视频包括北美和东欧的场景。总的来说，JAAD 包含 $\approx 88,000$ 帧，包含 2,624 个独特的行人，标注了 $\approx 390,000$ 个边界框 (BB)。此外，还提供了每个 BB 的遮挡标签。其中，$\approx 72,000$ (18%) 的 BB 被标记为部分遮挡，$\approx 46,000$ (11%) 被标记为严重遮挡。此外，虽然我们在本文中没有使用它，但 JAAD 还包含上下文信息（交通标志、道路宽度等），我们可以在未来的研究中利用这些信息来补充纯粹的行人信息。

### B. 评估协议

在 [^8] 中，JAAD 被用于评估一种提出的 C/NC 方法。但是，没有解释如何将 JAAD 数据划分为训练集和测试集，并且相应的代码不可用。因此，我们遵循了一种我们认为合理且可以重现的协议。首先，我们使用 JAAD 的前 250 个视频作为训练集，其余作为测试集。此外，行人的动作被标注为许多不同的类别，我们将其映射为 C/NC，如下所示。我们将 JAAD 中的交叉动作以及分配给具有横向运动方向的行人的 {清晰路径、移动速度快、移动速度慢、减速、加速} 标签定义为 C；其余定义为 NC。

---

将 {减速、加速} 动作分配给具有横向运动方向的行人；其余动作被标记为 NC。

1) 训练：为了微调 Faster R-CNN，我们考虑所有训练帧，并且基本上遵循与 [^19] 相同的设置，但使用 {8, 16, 32, 64} 作为锚点，并将 BB 宽高比设为 2.5（即行人方向）。在微调过程中，我们进行 110,000 次迭代（请记住，一次迭代由来自同一图像的 256 个区域组成，并且输入图像垂直翻转以将训练样本数量翻倍）。关于学习率，我们从 0.001 开始，并在 80,000 次迭代后将值降低到 0.0001。

为了训练 C/NC 分类器，我们需要依赖于清晰可见的人行者，并且需要平衡 C 和 NC 类的样本数量。为了实现这一目标，我们只考虑具有最小 Bounding Box 宽度为 60 像素且没有遮挡的人行者训练样本。此外，对于一个被跟踪的人行者，这些条件必须在超过 T 帧的时间内成立，因为我们需要将最后 T 帧连接起来进行 C/NC 分类。因此，对于长度超过 T 帧的跟踪，我们可以通过应用大小为 T 的时间滑动窗口，获得不同的训练样本。

对于每个跟踪的行人，分配给长度为 T 的生成序列的 C/NC 标签对应于最晚一帧中的标签（即，必须在该帧中做出 C/NC 决策）。我们为 JAAD 设置 T=14（即，遵循 [^5]，该值约为 0.5 秒以下）。需要注意的是，由于我们处于训练阶段，因此这里指的是 JAAD 中提供的地面真实跟踪。为了完整起见，我们还测试了 T=1 的情况；这意味着我们仅使用与 T=14 情况相同的序列的最后一帧进行训练。总共有 8,677 个长度为 T=14 的 NC 标签序列，而有 36,253 个 C 标签序列；因此，在后一种情况下，我们随机选择 36,253 个可能的序列中的 8,677 个。相应地，我们拟合姿态估计骨架，并计算 C/NC 特征（图 3），对于 8,677 个 C 和 8,677 个 NC 样本，进行 T=14 的实验，对于 T=1 的实验，则进行另一组实验。这些特征随后用作 scikit-learn [^22] 函数 GridSearchCV 的输入；该函数配置为使用 5 折交叉验证训练随机森林 (RF) 分类器，其中树的数量为 $\{100, 200, 300, 400, 500\}$，最大深度为 $\{7, 15, 21, 30\}$。在准确性方面，最佳的 RF 对应于 400 棵树和最大深度为 15，但我们注意到所有配置都提供了非常相似的准确性。

为了比较基于骨架的特征与基于 CNN 的特征，我们采用以下过程。对于所有训练图像，我们运行 Faster R-CNN 微调期间获得的 VGG16。然后，对于前面提到的相同跟踪，我们将基于骨架的特征替换为跟踪行人 BB 内部的 fc6 层的特征。需要注意的是（第 3 部分），每个样本有 396T 个基于骨架的特征和 4096T 个基于 fc6 的特征，用于 RF 训练。在 RF 参数优化（树的数量和最大深度）方面，基于 CNN 的特征报告的准确性与基于骨架的特征的准确性相似。因此，我们设置相同的

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

<div style="text-align: center;">Fig. 4: Results of C/NC classification. The ground truth label is indicated with a "C" or a "NC"; when written in green color, it means that the prediction agrees with the ground truth, otherwise it would be written in red. Pedestrians are framed with two BBs: detection and tracing ones, the latter with the corresponding track ID. The estimated pedestrian skeleton is also shown. When annotated, time-to-event (TTE) is also shown in frame units. Negative TTE values mean that the even happened before this frame, while positive values indicate that it will happen after.</div>

参数，即 400 棵树和最大深度为 15。为了完整起见，我们还使用相同的 RF 参数组合基于骨架和 CNN 的特征。

2) 测试：在 [^8] 的评估中，基于单个帧（我们使用 T=1 的表示方法），并且仅考虑具有动作标签的行人（映射到 C/NC）。在设计我们的实验时，我们发现 JAAD 中的并非所有行人都有标注。因此，当我们运行检测和跟踪模块时，我们正在检测和跟踪一些没有所需地面真实信息（BB 等）的行人。因此，为了遵循与 [^8] 类似的方法，我们不将这些情况用于定量评估。但是，它们出现在定性评估中（例如，请参阅提供的补充材料中的视频）。总而言之，我们确保 T=1 和 T=14 实验应用于相同的跟踪行人，以及相同的帧，因此我们执行了公平的比较。

在 Faster R-CNN 中检测行人时，我们使用默认阈值 5% 和 30% 的重叠进行非最大抑制。对于启动新的跟踪，行人必须在连续 3 帧中被检测到；而对于结束跟踪，在 30 帧内必须没有新的匹配观察结果（检测结果）。对于姿态估计（骨架拟合），我们使用 3 个比例；特别是，$\{1, (1-0.15), (1-0.15*2)\}$。对于 C/NC 分类器，我们使用 0.5 作为分类阈值。

我们根据广泛定义的 $Acc = (TP + TN)/(P + N)$ 来评估准确性，其中 P 代表总的正例（此处为“C”），N 代表总的负例（此处为“NC”），TP 和 TN 分别代表正确分类的正例和负例（C 和 NC 的正确分类）。 根据我们定义的测试协议，我们发现 $P = 17045$ 和 $N = 5161$，因此，准确率可能对“C”结果产生偏差。 为了避免这种情况，我们随机选择 $P = N$ 个案例。 因此，准确率将基于 10,322 个测试决策。

此外，类似于 [^5]，我们有兴趣为关键情况（即“C”）提供

---

<div style="text-align: center;">TABLE I: Classification accuracy (Acc) in JAAD. SKLT stands for the use of our skeleton-based features, while CNN (fc6) are the features we take from a VGG16 fine-tuned in JAAD (see main text). We have included here the results reported in [^8], where CNN features are based on a non-fine-tuned AlexNet and Context refer to features of the environment, not of the pedestrian itself (see main text).</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Method</td><td style='text-align: center; word-wrap: break-word;'>T</td><td style='text-align: center; word-wrap: break-word;'>features</td><td style='text-align: center; word-wrap: break-word;'>Acc</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>[^8]</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>CNN</td><td style='text-align: center; word-wrap: break-word;'>0.39</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>[^8]</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>CNN&amp;Context</td><td style='text-align: center; word-wrap: break-word;'>0.63</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>CNN(fc6)</td><td style='text-align: center; word-wrap: break-word;'>0.68</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>SKLT</td><td style='text-align: center; word-wrap: break-word;'>0.80</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>CNN(fc6) + SKLT</td><td style='text-align: center; word-wrap: break-word;'>0.81</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>14</td><td style='text-align: center; word-wrap: break-word;'>CNN(fc6)</td><td style='text-align: center; word-wrap: break-word;'>0.70</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>14</td><td style='text-align: center; word-wrap: break-word;'>SKLT</td><td style='text-align: center; word-wrap: break-word;'>0.88</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Ours</td><td style='text-align: center; word-wrap: break-word;'>14</td><td style='text-align: center; word-wrap: break-word;'>CNN(fc6) + SKLT</td><td style='text-align: center; word-wrap: break-word;'>0.87</td></tr></table>

事件发生时间 (TTE) 结果。 但是，JAAD 没有为此进行标注。 然后，我们添加了 9 个序列的 TTE 信息，这些序列可以描述为“继续行走以过马路”，以及 14 个可以描述为“开始行走以过马路”的序列。 TTE = 0 表示感兴趣的事件发生时。 在这里，我们分别考虑 (a) 向人行道行走而未停车的行人；和 (b) 靠近人行道的行人开始行走进入马路。 正的 TTE 值对应于事件之前的帧，负值对应于事件之后的帧。 图 4 显示了一个示例结果，我们可以看到不同行人的 TTE 值，这些行人被正确分类为正在过马路（补充视频中包含更多示例）。 通过 TTE，我们提供了两个不同的图表：意图概率与 TTE 的关系图，以及可预测性与 TTE 的关系图。 在前者中，我们可以看到我们可以在多少帧内预测行人的动作。 由于每个意图有多个测试序列，因此绘制了平均值和标准偏差。 可预测性图显示了一个归一化的测量值，用于衡量在每个 TTE 值下检测正在考虑的动作的可行性。 可预测性为零表示我们无法检测到该动作，而可预测性为一表示我们可以。

3) 结果：表 I 报告了准确率结果。 为了完整起见，我们包括了 [^8] 中报告的结果；但是，由于在训练和测试中使用了哪些帧，因此我们的结果可能不直接可比。 该论文提到，未被遮挡的行人不被用于测试。 在我们的实验中，我们不排除由于遮挡而导致的行人。 此外，我们还报告了 TTE 信息。 但是，我们仍然觉得将结果包含在 [^8] 中是有意义的，因为该论文基于 CNN 特征，并且 T=1。 尤其是，该论文训练了一个行走/站立分类器，以及一个面向/未面向（行人到车辆）分类器，这两个分类器都基于修改后的 AlexNet CNN。 实际上，这些分类器的分类分数未用于最终的 C/NC 决策。 而是，两个 CNN 的 fc8 层的输出被用作特征，以便基于线性 SVM 在 CNN 特征空间中进行最终的 C/NC 分类。 此外，还建议添加通过一个类似 AlexNet 的“地点分类器”捕获的上下文信息。

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

<div style="text-align: center;">Fig. 5: Keep walking to cross, T=14. Blue curve: mean over sequences; blue area: standard deviation.</div>

![Image](images/ebe24eb30d6acda9baec73e9589d4a73f35bbe9e8272c40416e33282ed7f08c2.jpg)

<div style="text-align: center;">Fig. 6: Keep walking to cross, T=14, prob. thr. = 0.5.</div>

从表 I 中，我们可以看到，对于固定的 T，基于行人骨骼 (SKLT) 的特征优于基于 CNN fc6 层的特征。 结合 SKLT 和 fc6 并不会显著提高准确率。 我们可以看到，T=14 的结果优于 T=1，这表明结合不同的帧是很有用的。 从图 5 到图 8，我们可以看到，系统可以稳定地预测行走中的行人将继续从人行道移动，并最终到达前方车辆的 curbside。 我们可以看到，我们可以预测（可预测性 > 0.8），即站立的行人将在大约 8 帧后开始移动并过马路，这在 JAAD 中大约是 250 毫秒。

仔细分析结果，我们发现了一些需要考虑的问题，这些问题将作为未来工作的重点。例如，在图 9 中，有一个“C”被错误地标记为错误（红色）。实际上，行人正在过马路，但不是与自车行驶路径交叉的马路。因此，在评估中，它可能应该被认为是正确的。相反，在图 10 中，系统将一个没有过马路的行人错误地分类为“NC”，但实际上该行人正在沿着马路行走，在汽车前面。现在这种情况被认为是正确的，但可能应该是错误的。另一方面，在这种情况下，我们可以仅使用基于位置的推理来确定行人处于危险位置，这不再是预测行为的问题（如 C/NC 情况）。值得注意的是，我们观察到，当行人与汽车的运动方向平行时，通常会被正确地分类为 NC；但是，需要更多的标注才能进行合理的定量分析。有关更多信息，请查看我们的演示（<https://youtu.be/we4weU0NSGA>）。

### V. 结论

在本文中，我们评估了一种完全基于视觉的流程（检测、跟踪和姿态估计），以解决

---

![Image](images/57766f950fa71f1faef4a1d17fdd30b36498fb2b37061e4da322480d36cff020.jpg)

<div style="text-align: center;">Fig. 7: Start crossing, T=14.</div>

![Image](images/a21ab213eb72fb86796a4b635da29eb03d3c35a26d981573623e430693cdcea8.jpg)

<div style="text-align: center;">Fig. 8: Start crossing, T=14, prob. thr. = 0.5.</div>

在自然驾驶条件下（JAAD 数据集）的行人过马路/未过马路问题。我们发现，在时间上整合行人姿态特征，可以产生一个强大的过马路/未过马路分类器。据我们所知，目前本文在 JAAD 数据集上实现了最先进的结果。

## 鸣谢

作者感谢西班牙项目 TIN2017-88709-R（西班牙经济、工业和竞争力部）和西班牙 DGT 项目 SPIP2017-02237，以及加泰罗尼亚的 Generalitat de Catalunya CERCA 计划及其 ACCIO 机构，以及中国国家留学基金委员会，项目编号 201406150062。我们的研究也得到了 NVIDIA 公司的慷慨支持，他们捐赠了 GeForce GTX Titan X GPU 硬件。

## 参考文献

[^1]: D. Gerónimo and A. López, Vision-based Pedestrian Protection Systems for Intelligent Vehicles. Springer Briefs in Comp. Sc., 2014.

[^2]: S. Zhang, R. Benenson, M. Omran, J. Hosang, and B. Schiele, “Towards reaching human performance in pedestrian detection,” IEEE Trans. Pattern Anal. Machine Intell., May 2017.

![Image](images/558c4d32e18f867f8e7d83c8422185454f2016d9aec490d8e6f235ec105b9d76.jpg)

<div style="text-align: center;">Fig. 9: Results of C/NC classification</div>

![Image](images/e5d568e7bc68026d2a9b6504231dae4b12315c3a1114e01547b8a6db13214487.jpg)

<div style="text-align: center;">Fig. 10: Results of C/NC classification</div>

[^3]: N. Wojke, A. Bewley, and D. Paulus, “Simple online and realtime tracking with a deep association metric,” in ICIP, 2017.

[^4]: M. Meinecke, M. Obojski, D. Gavrila, E. Marc, R. Morris, M. Töns, and L. Lettelier, “Strategies in terms of vulnerable road users,” EU Project SAVE-U, Deliverable D6, 2003.

[^5]: Z. Fang, D. Vázquez, and A. López, “On-board detection of pedestrian intentions,” Sensors, September 2017.

[^6]: N. Schneider and D. Gavrila, “Pedestrian path prediction with recursive bayesian filters: A comparative study,” in GCPR, 2013.

[^7]: A. Rasouli, I. Kotseruba, and J. K. Tsotsos, “Agreeing to cross: How drivers and pedestrians communicate,” in IV, 2017.

[^8]: —., “Are they going to cross? a benchmark dataset and baseline for pedestrian crosswalk behavior,” in ICCV, Workshop, 2017.

[^9]: C. Keller and D. Gavrila, "Will the pedestrian cross? a study on pedestrian path prediction," IEEE Trans. Intell. Transport. Syst., vol. 15, no. 2, pp. 494–506, 2014.

[^10]: S. Köhler, M.Goldhammer, K. Zindler, K. Doll, and K. Dietmeyer, “Stereo-vision-based pedestrian’s intention detection in a moving vehicle,” in ITSC, 2015.

[^11]: B. Völz, K. Behrendt, H. Mielenz, I. Gilitschenski, R. Siegwart, and J. Nieto, "A data-driven approach for pedestrian intention estimation," in ITSC, 2016.

[^12]: E. Rehder, H. Kloeden, and C. Stiller, “Head detection and orientation estimation for pedestrian safety,” in IV, 2014.

[^13]: F. Flohr, M. Dumitru-Guzu, J. Kooij, and D. Gavrila, “A probabilistic framework for joint pedestrian head and body orientation estimation,” IEEE Trans. Intell. Transport. Syst., vol. 16, no. 4, pp. 1872–1882, 2015.

[^14]: A. Schulz and R. Stiefelhagen, “Pedestrian intention recognition using latent-dynamic conditional random fields,” in IV, 2015.

[^15]: F. Schneemann and P. Heinemann, “Context-based detection of pedestrian crossing intention for autonomous driving in urban environments,” in IROS, 2016.

[^16]: Z. Cao, T. Simon, S. Wei, and Y. Sheikh, “Realtime multi-person 2D pose estimation using part affinity fields,” in CVPR, 2017.

[^17]: G. Gkioxari, B. Hariharan, R. Girshick, and J. Malik, “R-CNNs for pose estimation and action detection,” arXiv:1406.5212, 2014.

[^18]: S. Ren, K. He, R. Girshick, and J. Sun, “Faster R-CNN: Towards real-time object detection with region proposal networks,” 2015.

[^19]: X. Chen and A. Gupta, “An implementation of Faster RCNN with study for region sampling,” arXiv preprint arXiv:1702.02138, 2017.

[^20]: L. Zheng, Z. Bie, Y. Sun, J. Wang, C. Su, S. Wang, and Q. Tian, "Mars: A video benchmark for large-scale person re-identification," in ECCV, 2016.

[^21]: T. Lin, M. Maire, S. Belongie, J. Hays, P. Perona, D. Ramanan, P. Dollar, and C. Zitnick, "Microsoft COCO: Common objects in context," in ECCV, 2014.

[^22]: F. Pedregosa, G. Varoquaux, A. Gramfort, V. Michel, B. Thirion, O. Grisel, M. Blondel, P. Prettenhofer, R. Weiss, V. Dubourg, J. Vanderplas, A. Passos, D. Cournapeau, M. Brucher, M. Perrot, and E. Duchesnay, “Scikit-learn: Machine learning in Python,” J. of Machine Learning Research, vol. 12, pp. 2825–2830, 2011.
