
# 基于精确人体模型的激光雷达自动标注点云数据生成

Wonjik Kim、Masayuki Tanaka、Masatoshi Okutomi、Yoko Sasaki

摘要——随着深度神经网络的发展，目前已有利用激光雷达捕获的点云数据开展人体识别的先进网络被提出。然而，这些网络的性能高度依赖训练数据，标注是收集训练数据过程中的一大难题。要获得真值标签必须进行人工标注，但标注需要耗费巨大成本。因此，本文提出一种可任意更改参数和数据生成环境的自动标注数据生成流水线。我们的方法使用名为Dhaiba的人体模型和Miraikan背景，最终生成了逼真的人工数据。本文展示了通过所提流水线生成的50万余组数据，还说明了该流水线的规格、数据细节，以及对多种方法的评估。

## 一、引言

深度神经网络对计算机视觉、机器人应用等诸多领域产生了深远影响。例如，目前已有多种针对RGB图像像素级分割的高性能深度神经网络被提出 [^1] [^2] [^3]。继在RGB图像分割领域取得成功后，针对深度图和点云数据的分割网络也得到了大量研究 [^4] [^5] [^6] [^7]。人体分割是众多机器人应用中十分重要的一项任务。近年来，激光探测与测距（Light Detection and Ranging, LiDAR）已成为人体分割与检测的强大工具。因此，本研究聚焦于基于激光雷达采集的三维点云数据的人体分割任务。

深度神经网络通常需要大量人工标注的训练数据才能实现高性能，收集足够数量的标注数据会耗费大量时间与金钱成本。本研究开发了一种可降低人工标注成本的数据生成流水线。所提出的数据生成流水线包含三个步骤：1）背景数据采集；2）人体模型构建；3）带人体标签的激光雷达数据生成。该数据生成流水线可提供深度图、带xyz坐标的点云数据以及真值人体标签。生成的数据本身已经包含真值人体标签，因此无需人工标注过程。此外，所提出的数据生成流水线可通过更改数个参数生成适配任意人体尺寸、任意类型激光雷达的点云数据。

我们的目标是推动基于学习的点云人体分割研究发展。为此，我们利用所提出的数据生成流水线生成了大规模带标注深度图（超过50万张），并使用生成的训练数据训练了多个分割网络，最后使用真实激光雷达传感器采集的实际数据对训练得到的网络进行了评估。

本文结构安排如下：我们在第二节快速回顾相关工作；第三节结合对每个步骤的说明，详细介绍了完整的数据生成流程；第四节A小节简要介绍了分割任务以及三种不同网络；第四节说明了训练与评估方法的具体策略；第五节给出结论。

所有生成数据和带标注的真实数据都已发布在以下链接中，其中还包含训练完成的网络权重和测试示例代码。

### II. 相关工作

2010年微软Kinect发布后，多个RGB-D数据集陆续被公开。研究人员也推出了用于人体识别的RGB-D数据集，例如针对RGB-D传感器行人重识别的数据集[^8]、BIWI RGBD-ID数据集[^9]，以及UPCV步态数据集[^10]。由于Kinect无法测量超过10 [m]的深度，研究人员采用激光雷达传感器来处理10 [m]以上深度的场景。此外，激光雷达传感器也被应用于自动驾驶技术中。在该领域，KITTI数据集[^11]被众多研究人员广泛使用[^12]，[^13]。但KITTI仅提供了9.3万余帧无标注深度数据，采集带标注深度图仍然是一项挑战。对三维深度数据进行逐像素或逐点标注通常是一项成本高昂的挑战性工作。在这种情况下，有研究借助电子游戏《侠盗猎车手》来采集数据[^4]，[^14]，[^15]。这种方法可以降低数据构建的成本，但仍然存在局限性。《侠盗猎车手》并非为研究目的设计，因此我们无法控制仿真场景的具体属性，例如人体体型和模型放置位置。

<http://www.ok.sc.e.titech.ac.jp/res/LHD/>

针对上述问题，本文构建了一套数据生成流程。该流程允许我们在生成深度图时修改任意参数和环境。此外，本文提出的生成器会在生成过程中自动生成人体标注，从而将人体标注任务整合到计算成本中。因此，只要拥有足够的计算资源，我们就可以持续生成数据。

---

![Image](images/9cb1a3455133e6d5ffd2b72735de1b5992b50bbe13b856d6b3deb95272cc6dcb.jpg)

<div style="text-align: center;">Fig. 1: Overview of the pipeline. Red words represent controllable parameters. (Green boxes: Human model building) Human models are built by weight and height, then they are combined with a human walking motion. (Blue boxes: LiDAR data generation) Random models are picked and deployed into the simulation field. Then, the depth map with human models is synthesized with a randomly picked background depth map. The depth map is labeled based on the information from the human model deployed location.</div>

### III. 本文提出的数据生成流程

### A. 概述

本文的主要贡献之一是无需人工标注即可自动生成带标注深度图。带标注深度图的生成包含三个步骤：1) 背景数据采集，2) 人体模型构建，3) 结合自动标注的深度图合成。不含人体的背景深度图已提前采集完成。我们使用Velodyne HDL-32E激光雷达传感器[^16]，在东京日本未来科学馆（Miraikan）的三楼共采集了2363张背景深度图[^17]。我们基于名为Dhaiba的数字人体模型合成了精确逼真的三维人体模型，再通过组合采集到的背景深度图和三维人体模型生成最终深度图。由于我们预先知晓三维人体模型的位置，因此可以直接得到标注数据。这意味着我们无需人工输入即可自动生成带标注深度图，这是本文提出方法的优势之一。具体细节将在后续小节介绍，该流程的整体概览如图1所示。

### B. 人体模型构建

本文提出的数据生成流程的核心组件之一是精确的三维人体模型。我们采用DhibaWorks的数字人体模型“Dhaiba”[^18]来构建精确的三维人体模型。Dhaiba是人体功能模型，DhaibaWorks是基于Dhaiba开发的数字人体模型生成平台。DhaibaWorks支持对基础模型进行编辑和可视化，包括三维网格、骨骼结构，以及带动作的人体模型[^19]。借助DhaibaWorks，我们可以通过设置身高、体重和动作状态等人体参数，轻松生成特定的人体模型[^20]。

![Image](images/bebe19f3675f6024ab68941728b003a49c780e05a57501d1cf4462fc1e9c3fd6.jpg)

我们假设在深度图生成过程中，人体模型处于行走状态。构建人工行走人体模型需要行走运动数据。一个周期的

<div style="text-align: center;">(a) Human mesh</div>

![Image](images/1d9da25dade02e1fc72f310ee5bced1edde48e5bd5624fac368a308dcc3ed7c9.jpg)

<div style="text-align: center;">(b) Walking human mesh</div>

<div style="text-align: center;">Fig. 2: Example of built human models based on Dhaiba</div>

<div style="text-align: center;">TABLE I: Human model specification</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Height (mm)</td><td style='text-align: center; word-wrap: break-word;'>1200</td><td style='text-align: center; word-wrap: break-word;'>1400</td><td style='text-align: center; word-wrap: break-word;'>1600</td><td style='text-align: center; word-wrap: break-word;'>1700</td><td style='text-align: center; word-wrap: break-word;'>1800</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Weight (kg)</td><td style='text-align: center; word-wrap: break-word;'>15 20 30</td><td style='text-align: center; word-wrap: break-word;'>20 30 40</td><td style='text-align: center; word-wrap: break-word;'>40 50 70</td><td style='text-align: center; word-wrap: break-word;'>50 60 80</td><td style='text-align: center; word-wrap: break-word;'>50 70 90</td></tr></table>

行走数据通过动作捕捉系统采集得到 [^21]。单次行走运动的行走运动数据共包含230帧。在此基础上，我们可以很方便地构建用于深度图生成的人工行走人体网格模型。包括动作捕捉系统在内的相关细节已在Kobayashi的工作中进行了描述 [^21]。

本研究选取了如表I所示的15组典型身高体重组合，我们认为这些组合覆盖了多种不同场景。目前我们拥有230帧行走运动数据和15组身高体重组合，因此总共可以生成3450种不同的行走人体模型。图2展示了一个构建完成的人体模型示例。

---

![Image](images/6766d7c53ef46307754336012ff4b93bc1af5a0eac48491c18b9dd10573bb4d4.jpg)

<div style="text-align: center;">(a) Generated data</div>

![Image](images/18fe3707267783d888ebec682b099d41f36c84d613c38f1fe23d12ccbceb61d8.jpg)

<div style="text-align: center;">(b) Real data</div>

### C. 带人体标注的LiDAR数据生成

<div style="text-align: center;">Fig. 3: Example of data. Blue points denote background and red points denote human, and real data labeled manually.</div>

在LiDAR数据生成步骤中，我们首先合成已构建人体模型的深度图。之后，将合成得到的人体模型深度图与随机选取的背景深度图相结合，生成用于人体分割的训练深度图。

为了合成人体模型深度图，我们将LiDAR传感器虚拟放置在$(0, 0, z_{s})$处，其中$z_{s}$与背景采集所用传感器的高度一致。我们假设LiDAR传感器为水平安装。随后，针对给定的人体模型合成人体模型深度图，将人体模型虚拟插入到$(x_{s}, y_{s}, 0)$处，其中$(x_{s}, y_{s})$为随机采样得到的位置。人体模型的朝向也为随机采样。一旦确定了LiDAR传感器和人体模型的几何位置，就可以很容易地合成对应的深度图。

合成人体模型深度图后，我们只需通过逐像素最小深度选择即可将其与背景深度图结合。在这一步中，深度大于背景的人体模型部分会被最小深度选择步骤删除。LiDAR传感器采集的深度图通常会存在孔洞，也就是无法测量深度的缺失像素。我们在合成过程中保留了这些孔洞，因为这类孔洞在真实传感过程中也同样会出现。此外，由于我们明确知道哪些像素对应人体模型深度图，因此可以同时完成人体标注任务。

LiDAR数据生成的参数汇总在表II中。图3展示了生成点云数据与真实点云数据的示例，点云数据由深度图转换得到。

<div style="text-align: center;">TABLE II: Data generation properties</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Description</td><td style='text-align: center; word-wrap: break-word;'>Specification</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Number of detector pairs</td><td style='text-align: center; word-wrap: break-word;'>32</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Limitation in horizontal scanning</td><td style='text-align: center; word-wrap: break-word;'>1024</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Vertical scanning range</td><td style='text-align: center; word-wrap: break-word;'>+10.67 to -30.67°</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Angular resolution in vertical</td><td style='text-align: center; word-wrap: break-word;'>1.33°</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Angular resolution in horizontal</td><td style='text-align: center; word-wrap: break-word;'>0.2°</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Human number in one image</td><td style='text-align: center; word-wrap: break-word;'>0 to 10</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Model located area</td><td style='text-align: center; word-wrap: break-word;'>0 to 25000[mm] from origin</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Rotation angle of Dhaiba</td><td style='text-align: center; word-wrap: break-word;'>0 to 360 degrees</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Output depth image size</td><td style='text-align: center; word-wrap: break-word;'>32 $\times$ 1024 $\times$ 1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Output xyz map size</td><td style='text-align: center; word-wrap: break-word;'>32 $\times$ 1024 $\times$ 3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Output label data size</td><td style='text-align: center; word-wrap: break-word;'>32 $\times$ 1024 $\times$ 1</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>LiDAR position</td><td style='text-align: center; word-wrap: break-word;'>(0, 0, 800) [mm]</td></tr></table>

### D. 生成数据的提供

我们通过所提出的流程生成了500K+份深度数据，这些数据以HDF5格式存储，包含深度、xyz坐标和人体标注。我们还为这500K+份深度数据分别提供了xml格式的具体信息文件，Xml文件包含深度场景中的人体数量、每个Dhaiba的位置、体重和身高信息。所提出的流程可以很方便地控制各类属性。我们还生成了第IV-C.2节所述的10K数据集、第IV-C.3节所述的对应每个Dhiba属性的1K数据集、第IV-C.4节所述的对应不同背景的1K数据集，以及0.1K人工标注的真实数据。

### IV. 评估

我们使用4.7万生成数据进行训练，100张带人工标注的真实数据用于验证和评估。在4.7万生成数据中一共部署了24101个人体模型。按距离划分的模型占比为：0-5米区间占74.45%，5-10米区间占14.78%，10-15米区间占4.726%，15-20米区间占3.301%，20-25米区间占2.734%。如果有人体模型放置在距离激光雷达很近的位置，远处的模型很容易被遮挡。这可能就是0和5 [m]区间的模型占比高达74.45%的原因之一。

在本节中，四种不同网络在第IV-A节介绍，训练方法在第IV-B节介绍。第IV-C节包含：IV-C.1 训练数据量的影响，IV-C.2 人体模型精度的有效性验证，IV-C.3 不同身高体重组合的验证，以及IV-C.4。随后，四种网络在生成数据和真实数据上的结果在第IV-D节展示。

### A. 分割神经网络

语义分割已经针对各类应用研究了多种实现方法。其应用范围十分广泛，包括场景理解、深度分析和自动驾驶。随着深度学习技术的发展，语义像素级标注方法引发了大量关注[^2], [^22] [^23] [^24]。本文选取了四种不同网络，用于评估分割网络在生成人体深度图中的效果。

---

![Image](images/a17beb7a163b30543a4a60d3af432727cc174b3c74dcb5817723616946f9b81d.jpg)

<div style="text-align: center;">Fig. 4: Effect of training data number</div>

1) 全卷积网络：用于分割任务的全卷积网络（Fully Convolutional Network, FCN）由Long等人提出$^{[1]}$。分类网络通常在网络末端使用全连接层计算类别得分。与之相反，FCN将全连接层替换为卷积层，网络输出也从预测得分变为热力图。因此，基于FCN的思想可以很容易地将分类网络改造为分割网络。

2) U-net：U-net由Ronneberger等人提出[^23]。U-net架构包含用于捕获上下文信息的收缩路径和对称的扩张路径。这两条路径让网络能够实现精准定位。该网络以大幅优势赢得了2015年ISBI细胞追踪挑战赛，作者指出U-net可以在有限数据下完成端到端训练，并且获得高性能。

3) 全卷积DenseNets：全卷积DenseNets由Jégou等人提出[^25]，其设计灵感来自稠密连接卷积网络（Densely Connected Convolutional Networks, DenseNets）[^26]。DenseNets在图像分类任务中表现出色，它的设计思想基于这一观察：如果每一层都以前馈方式直接连接到其他所有层，那么网络会更准确，也更容易训练。Jégou将DenseNets的思想进行扩展，用于解决语义分割问题。本文将该网络简称为FCDN。

4) Pointnet：Pointnet由Charles等人提出[^5]。Pointnet专为处理三维空间中的无序点集设计，不受旋转或平移变换的影响。此外，通过在Pointnet中引入变换网络，它实现了点间交互，并能从邻点中捕获局部结构。Pointnet有两个版本：分类版本和分割版本，两个版本的架构在后半部分存在差异。本文中我们选用Pointnet作为分割网络。

### B. 训练策略

我们使用500个训练轮次对所有网络进行训练。在每个轮次中，我们从47K数据集中随机选取500个场景。我们

![Image](images/519069ff69dd4d668ccf19db57afb0f4feb7534009f2c9d19367d16a3d0e0cea.jpg)

<div style="text-align: center;">(a) Example of real data</div>

![Image](images/7f6c65084b8eda3c1c4cf6c58cd94ca9e62329dad933a103d1ccc46f3f7eeaa6.jpg)

<div style="text-align: center;">(b) Ground truth</div>

![Image](images/3f494bd463de31b14f9c03fe4ef8ab8b40e30418fcd15a9d01ff850bf2eb4f08.jpg)

<div style="text-align: center;">(c) Prediction with 0.1K training</div>

![Image](images/b06eb7e28a763adc56c257ea368041c92a6581edf0b05d73fbf17154355d4297.jpg)

<div style="text-align: center;">(d) Prediction with 1K training</div>

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

<div style="text-align: center;">(e) Prediction with 10K training</div>

![Image](images/c6d5e655c5168dde691e9dd11a851508e7cafe3033b72edef332c736e3d4d1af.jpg)

<div style="text-align: center;">(f) Prediction with 47K training</div>

<div style="text-align: center;">Fig. 5: Example of prediction result. In (b), white area denotes human label. From (c) to (f), white area denotes true positive, red area denotes false negative, while blue area denotes false positive.</div>

我们为每个网络通过实验确定了不同的批量大小：FCN为25，U-net为10，PointNet为16，FCDN为5。随后我们根据批量大小调整每个轮次的步数，除PointNet外满足 $\times$ 每轮步数 = 500。由于PointNet接收一维向量作为输入，我们将一个场景划分为16个向量。因此，PointNet每个轮次同样使用500个场景训练，批量大小为16。优化器我们选用Adam [^27]，设置学习率为0.001，衰减系数为0.001，目标函数使用分类交叉熵。

由表II可知，输入图像的尺寸为 $32 \times 1024$。因此我们对全卷积网络、U-net和FCDN算法的池化层进行了修改。由于输入图像的高度仅为32，我们仅在宽度方向对输入数据进行池化。对于PointNet，我们将输入图像沿垂直方向划分为16块，取2048个像素作为点输入进行处理。对于FCDN，我们同样将池化层修改为宽度池化层，每个稠密块的层数设置为3，增长率设置为8。

### C. 生成激光雷达数据评估

我们分析了生成数据的有效性，并通过多种方法对其进行验证。在本节中，Avg. Acc表示背景准确率和人体准确率的平均值。此外，我们将人体作为正类别，计算得到Avg. Acc、Precision、Recall和Threat score [^28]。我们使用表III中记载的真实数据对模型性能进行比较和评估。

1) 训练数据量的影响：一般而言，增加训练数据量能够提升基于学习的方法的性能，这一点在深度神经网络领域尤为明显。然而在实际中，它

---

<div style="text-align: center;">TABLE III: Real data for evaluation</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Description</td><td style='text-align: center; word-wrap: break-word;'>Specification</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Location</td><td style='text-align: center; word-wrap: break-word;'>Miraikan [^16]</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Date</td><td style='text-align: center; word-wrap: break-word;'>2017.Aug.04</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>LiDAR model</td><td style='text-align: center; word-wrap: break-word;'>Velodyne HDL32E</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>LiDAR height from ground</td><td style='text-align: center; word-wrap: break-word;'>800 [mm]</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Data number</td><td style='text-align: center; word-wrap: break-word;'>100</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Annotation method</td><td style='text-align: center; word-wrap: break-word;'>Manual</td></tr></table>

<div style="text-align: center;">TABLE IV: Comparison of results from different training data</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>Walking model</td><td style='text-align: center; word-wrap: break-word;'>Standing model</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Avg. Acc</td><td style='text-align: center; word-wrap: break-word;'>0.6922</td><td style='text-align: center; word-wrap: break-word;'>0.6058</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Precision</td><td style='text-align: center; word-wrap: break-word;'>0.5729</td><td style='text-align: center; word-wrap: break-word;'>0.7271</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Recall</td><td style='text-align: center; word-wrap: break-word;'>0.3504</td><td style='text-align: center; word-wrap: break-word;'>0.2047</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Threat score</td><td style='text-align: center; word-wrap: break-word;'>0.3448</td><td style='text-align: center; word-wrap: break-word;'>0.2061</td></tr></table>

由于标注成本高昂，很难收集大规模的训练数据。本文提出的深度图生成流程的一大优势是可自动完成标注，因此其标注成本远低于人工标注。在此，我们明确训练样本数量对模型性能的影响。我们准备了四种不同规模的训练数据集，分别为0.1K、1K、10K和47K，使用这四个数据集分别训练FCN网络，再用带标注的真实数据对训练好的网络进行评估。

图4展示了本次评估的结果。可以看到，随着训练数据量的增加，平均准确率、召回率和威胁评分均得到提升。但精确率呈现出不同的变化趋势：使用0.1K数据训练时，网络仅在置信度极高时才会将目标判定为人体，因此0.1K训练得到的网络的平均准确率、召回率和威胁评分均低于其他所有训练场景，但精确率高于0.7；使用47K数据训练得到的网络，除精确率外，在平均准确率、召回率和威胁评分上的性能均高于其他训练场景。

图5展示了真实数据预测结果的示例。从图5-(c)到图5-(f)可以看出，增加训练数据的数量会提高真阳性样本的数量。尽管假阳性也会随之上升，但在自动驾驶中，未检测出人体（假阴性）远比误检测（假阳性）更为关键。因此，召回率、平均准确率和威胁评分的提升可被视为整体性能的改进。此外，由于本实验仅存在两类标签，威胁评分在这里代表交并比（IoU）。因此，威胁评分随训练数据数量增加而上升的趋势表明IoU得到了提升。基于上述分析，我们可以得出结论：大规模数据有助于提升性能。

2）人体模型精度的有效性：我们提出了基于精确3D人体模型的深度图生成方法。在此，我们通过实验验证

<div style="text-align: center;">TABLE V: Comparison of results from different body types</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>1000mm, 12kg</td><td style='text-align: center; word-wrap: break-word;'>1500mm, 50kg</td><td style='text-align: center; word-wrap: break-word;'>2000mm, 80kg</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Avg. Acc</td><td style='text-align: center; word-wrap: break-word;'>0.7747</td><td style='text-align: center; word-wrap: break-word;'>0.7433</td><td style='text-align: center; word-wrap: break-word;'>0.7423</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Precision</td><td style='text-align: center; word-wrap: break-word;'>0.4409</td><td style='text-align: center; word-wrap: break-word;'>0.5403</td><td style='text-align: center; word-wrap: break-word;'>0.5437</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Recall</td><td style='text-align: center; word-wrap: break-word;'>0.3886</td><td style='text-align: center; word-wrap: break-word;'>0.3896</td><td style='text-align: center; word-wrap: break-word;'>0.3814</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Threat score</td><td style='text-align: center; word-wrap: break-word;'>0.3635</td><td style='text-align: center; word-wrap: break-word;'>0.4152</td><td style='text-align: center; word-wrap: break-word;'>0.3879</td></tr><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>1400mm, 20kg</td><td style='text-align: center; word-wrap: break-word;'>1600mm, 50kg</td><td style='text-align: center; word-wrap: break-word;'>1700mm, 80kg</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Avg. Acc</td><td style='text-align: center; word-wrap: break-word;'>0.7507</td><td style='text-align: center; word-wrap: break-word;'>0.7771</td><td style='text-align: center; word-wrap: break-word;'>0.7764</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Precision</td><td style='text-align: center; word-wrap: break-word;'>0.5110</td><td style='text-align: center; word-wrap: break-word;'>0.5119</td><td style='text-align: center; word-wrap: break-word;'>0.5716</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Recall</td><td style='text-align: center; word-wrap: break-word;'>0.3935</td><td style='text-align: center; word-wrap: break-word;'>0.4131</td><td style='text-align: center; word-wrap: break-word;'>0.4285</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Threat score</td><td style='text-align: center; word-wrap: break-word;'>0.4097</td><td style='text-align: center; word-wrap: break-word;'>0.4142</td><td style='text-align: center; word-wrap: break-word;'>0.4416</td></tr></table>

<div style="text-align: center;">TABLE VI: Comparison of results from different backgrounds</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>Different background</td><td style='text-align: center; word-wrap: break-word;'>Same background</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Avg. Acc</td><td style='text-align: center; word-wrap: break-word;'>0.6556</td><td style='text-align: center; word-wrap: break-word;'>0.7095</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Precision</td><td style='text-align: center; word-wrap: break-word;'>0.1297</td><td style='text-align: center; word-wrap: break-word;'>0.7047</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Recall</td><td style='text-align: center; word-wrap: break-word;'>0.3515</td><td style='text-align: center; word-wrap: break-word;'>0.4285</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Threat score</td><td style='text-align: center; word-wrap: break-word;'>0.1018</td><td style='text-align: center; word-wrap: break-word;'>0.3919</td></tr></table>

了精确3D人体模型的有效性。在本文提出的流程中，我们假设人体的身高和体重共有15种不同组合，且人体处于行走状态，据此构建了精确3D人体模型。为进行对比，我们构建了另一组人体模型：假设身高体重仅为1600 mm-60 kg，且人体正对LiDAR站立，如图2-(a)所示。我们将该模型称为站立模型。我们分别使用本文提出生成流程中的行走人体模型和对比用站立模型生成了10K数据集，随后使用这两组训练数据集分别训练FCN网络。两个训练得到的网络均使用人工标注的真实数据进行评估，评估结果如表IV所示。对比实验证明，精确人体模型能够提升网络的性能。

3）不同身高体重组合的验证：我们如表I总结的那样，假设了15种人体身高体重组合。但真实人体的身高体重并非离散的15种组合。本节我们使用训练中未用到的身高体重组合的验证数据，对FCN网络进行测试。我们选取了1000 mm-12 kg、1500 mm-50 kg和2000 mm-80 kg三种组合用于验证，验证数据所用的指标总结在表V中，本次验证使用FCN网络。我们还从表I中选取了1400 mm-20 kg、1600 mm-50 kg和1700 mm-80 kg三种组合用于对比。需要注意的是，训练数据不包含验证数据。从表V可知，1000 mm-12 kg、1500 mm-50 kg和2000 mm-80 kg三种组合的性能与表V中的结果相当。因此我们可以认为，训练得到的网络在人体身高体重组合方面具备足够的泛化能力。

4）背景深度图：人体分割的性能取决于背景场景。本文主要关注一个特定场地，即Miraikan。

---

<div style="text-align: center;">TABLE VII: Result of the networks for human segmentation</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Network Input</td><td rowspan="2"></td><td colspan="3">FCN [^1]</td><td colspan="3">U-net [^23]</td><td colspan="3">FCDN [^25]</td><td style='text-align: center; word-wrap: break-word;'>Pointnet [^5]</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>depth</td><td style='text-align: center; word-wrap: break-word;'>xyz</td><td style='text-align: center; word-wrap: break-word;'>depth+xyz</td><td style='text-align: center; word-wrap: break-word;'>depth</td><td style='text-align: center; word-wrap: break-word;'>xyz</td><td style='text-align: center; word-wrap: break-word;'>depth+xyz</td><td style='text-align: center; word-wrap: break-word;'>depth</td><td style='text-align: center; word-wrap: break-word;'>xyz</td><td style='text-align: center; word-wrap: break-word;'>depth+xyz</td><td style='text-align: center; word-wrap: break-word;'>xyz</td></tr><tr><td rowspan="4">Generated data</td><td style='text-align: center; word-wrap: break-word;'>Avg. Acc</td><td style='text-align: center; word-wrap: break-word;'>0.7529</td><td style='text-align: center; word-wrap: break-word;'>0.7199</td><td style='text-align: center; word-wrap: break-word;'>0.7160</td><td style='text-align: center; word-wrap: break-word;'>0.5898</td><td style='text-align: center; word-wrap: break-word;'>0.5696</td><td style='text-align: center; word-wrap: break-word;'>0.5847</td><td style='text-align: center; word-wrap: break-word;'>0.4990</td><td style='text-align: center; word-wrap: break-word;'>0.5090</td><td style='text-align: center; word-wrap: break-word;'>0.5870</td><td style='text-align: center; word-wrap: break-word;'>0.4978</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Precision</td><td style='text-align: center; word-wrap: break-word;'>0.5292</td><td style='text-align: center; word-wrap: break-word;'>0.4776</td><td style='text-align: center; word-wrap: break-word;'>0.5112</td><td style='text-align: center; word-wrap: break-word;'>0.5441</td><td style='text-align: center; word-wrap: break-word;'>0.3481</td><td style='text-align: center; word-wrap: break-word;'>0.4213</td><td style='text-align: center; word-wrap: break-word;'>0.0328</td><td style='text-align: center; word-wrap: break-word;'>0.0564</td><td style='text-align: center; word-wrap: break-word;'>0.0577</td><td style='text-align: center; word-wrap: break-word;'>0.0443</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Recall</td><td style='text-align: center; word-wrap: break-word;'>0.3973</td><td style='text-align: center; word-wrap: break-word;'>0.3388</td><td style='text-align: center; word-wrap: break-word;'>0.3107</td><td style='text-align: center; word-wrap: break-word;'>0.1660</td><td style='text-align: center; word-wrap: break-word;'>0.1477</td><td style='text-align: center; word-wrap: break-word;'>0.1840</td><td style='text-align: center; word-wrap: break-word;'>0.0064</td><td style='text-align: center; word-wrap: break-word;'>0.0086</td><td style='text-align: center; word-wrap: break-word;'>0.7707</td><td style='text-align: center; word-wrap: break-word;'>0.1392</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Threat score</td><td style='text-align: center; word-wrap: break-word;'>0.4062</td><td style='text-align: center; word-wrap: break-word;'>0.3401</td><td style='text-align: center; word-wrap: break-word;'>0.3565</td><td style='text-align: center; word-wrap: break-word;'>0.1584</td><td style='text-align: center; word-wrap: break-word;'>0.1268</td><td style='text-align: center; word-wrap: break-word;'>0.1558</td><td style='text-align: center; word-wrap: break-word;'>0.0035</td><td style='text-align: center; word-wrap: break-word;'>0.0282</td><td style='text-align: center; word-wrap: break-word;'>0.0568</td><td style='text-align: center; word-wrap: break-word;'>0.0295</td></tr><tr><td rowspan="4">Real data</td><td style='text-align: center; word-wrap: break-word;'>Avg. Acc</td><td style='text-align: center; word-wrap: break-word;'>0.7095</td><td style='text-align: center; word-wrap: break-word;'>0.5661</td><td style='text-align: center; word-wrap: break-word;'>0.6178</td><td style='text-align: center; word-wrap: break-word;'>0.5396</td><td style='text-align: center; word-wrap: break-word;'>0.6364</td><td style='text-align: center; word-wrap: break-word;'>0.6070</td><td style='text-align: center; word-wrap: break-word;'>0.4990</td><td style='text-align: center; word-wrap: break-word;'>0.5088</td><td style='text-align: center; word-wrap: break-word;'>0.6050</td><td style='text-align: center; word-wrap: break-word;'>0.5035</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Precision</td><td style='text-align: center; word-wrap: break-word;'>0.7047</td><td style='text-align: center; word-wrap: break-word;'>0.6623</td><td style='text-align: center; word-wrap: break-word;'>0.4835</td><td style='text-align: center; word-wrap: break-word;'>0.5831</td><td style='text-align: center; word-wrap: break-word;'>0.2620</td><td style='text-align: center; word-wrap: break-word;'>0.6126</td><td style='text-align: center; word-wrap: break-word;'>0.0723</td><td style='text-align: center; word-wrap: break-word;'>0.1369</td><td style='text-align: center; word-wrap: break-word;'>0.1239</td><td style='text-align: center; word-wrap: break-word;'>0.0719</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Recall</td><td style='text-align: center; word-wrap: break-word;'>0.3508</td><td style='text-align: center; word-wrap: break-word;'>0.1345</td><td style='text-align: center; word-wrap: break-word;'>0.2238</td><td style='text-align: center; word-wrap: break-word;'>0.0785</td><td style='text-align: center; word-wrap: break-word;'>0.2948</td><td style='text-align: center; word-wrap: break-word;'>0.1894</td><td style='text-align: center; word-wrap: break-word;'>0.0031</td><td style='text-align: center; word-wrap: break-word;'>0.0349</td><td style='text-align: center; word-wrap: break-word;'>0.7848</td><td style='text-align: center; word-wrap: break-word;'>0.0865</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Threat score</td><td style='text-align: center; word-wrap: break-word;'>0.3919</td><td style='text-align: center; word-wrap: break-word;'>0.1310</td><td style='text-align: center; word-wrap: break-word;'>0.2146</td><td style='text-align: center; word-wrap: break-word;'>0.0802</td><td style='text-align: center; word-wrap: break-word;'>0.2003</td><td style='text-align: center; word-wrap: break-word;'>0.2063</td><td style='text-align: center; word-wrap: break-word;'>0.0035</td><td style='text-align: center; word-wrap: break-word;'>0.0278</td><td style='text-align: center; word-wrap: break-word;'>0.1194</td><td style='text-align: center; word-wrap: break-word;'>0.0487</td></tr></table>

我们提前收集了背景数据，本文通过实验评估了背景在训练过程中的影响。为此，我们采集了户外背景场景，而目标场景为建筑内部。接着我们针对户外背景场景，利用所提出的流水线生成了训练数据。我们使用包含户外背景场景和Miraikan背景场景的训练数据完成FCN网络训练后，用在Miraikan采集的真实深度图对训练后的网络进行了评估。评估结果汇总在表VI中。正如预期，若训练背景场景与目标背景不同，网络性能将会下降。因此，我们未来的工作将包括收集多种类型的背景数据。

### D. 现有网络基准测试

我们利用所提流水线生成的训练数据，对四种不同类型的网络进行了评估。针对FCN、U-net和FCDN网络，我们准备了三种不同的输入类型：仅深度数据、仅xyz数据、深度+xyz数据。受Pointnet网络结构限制，我们将xyz数据用作Pointnet的输入。我们采用人工标注的0.1K真实数据和所提流水线生成的1K测试数据进行评估，请注意训练数据不包含测试数据。

表VII展示了评估结果。从对比结果可以看出，除真实数据的召回率、生成数据的精确率和召回率外，引入深度信息的FCN网络整体性能更高。在召回率指标上，引入深度+xyz信息的FCDN网络表现最佳。可以观察到：如果在所提流水线生成的测试数据中，某网络除精确率外的任意指标超过0.5，那么该网络在真实数据上的对应指标也会超过0.5。同理，如果生成测试数据上除精确率外的指标低于0.5，那么真实数据上的对应指标也会低于0.5。因此我们可以认为，使用生成的测试数据进行评估有助于预测模型在真实数据上的效果。图6展示了一个由深度和xyz坐标训练得到的FCN的预测示例。

### V. 结 论

本文针对基于LiDAR的人体检测提出了一种全自动数据生成流水线。通过

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

<div style="text-align: center;">(a) Real data</div>

![Image](images/10c284944d9443108a2cc4cf7f113e9a5cdb7eade234146a0add7aff0c4b7bc1.jpg)

<div style="text-align: center;">(b) Prediction result of FCN trained by depth</div>

<div style="text-align: center;">Fig. 6: Example of result. Human label is colored red while background label is colored blue.</div>

该流程，我们可以轻松为LiDAR生成任意属性的标注数据。我们采用多种方法评估生成的数据并对比不同方案，根据实验结果得出结论：我们生成的数据可提升人体检测任务的训练效果。我们发布了0.1K标注真实数据集和500K+带人体标注的生成数据集，希望该数据集能为机器人学和计算机视觉多个领域的研究提供支持。

我们考虑了三点可改进本文工作的方向。第一点与人体模型有关：尽管我们采用了成熟方法生成人体模型，但该模型仍无法完全代表真实世界的情况。未来我们将考虑衣物、背包等其他条件，以实现更准确的仿真。第二点与背景有关：目前研究仅使用了来自Miraikan的数据，未来我们将采用其他背景，提升数据生成的多样性。第三点与人体样本比例平衡有关：由于遮挡的存在，当前模型中不同距离的样本比例不平衡，按距离过滤或采集数据平衡比例或许可以解决该问题。

---

## 参考文献

[^1]: J. Long, E. Shelhamer, and T. Darrell., “Fully convolutional networks for semantic segmentation.” Proceedings of the IEEE conference on computer vision and pattern recognition (CVPR), pp. 3431–3440, 2015.

[^2]: C. Farabet, C. Couprie, L. Najman, and Y. LeCun., “Learning hierarchical features for scene labeling.” IEEE transactions on pattern analysis and machine intelligence, vol. 35, pp. 1915–1929, 2013.

[^3]: L. Chen, G. Papandreou, F. Schroff, and H. Adam, “Rethinking atrous convolution for semantic image segmentation,” CoRR, vol. abs/1706.05587, 2017. [Online]. Available: <http://arxiv.org/abs/1706.05587>

[^4]: B. Wu, A. Wan, X. Yue, and K. Keutzer, “Squeezeseg: Convolutional neural nets with recurrent CRF for real-time road-object segmentation from 3d lidar point cloud,” CoRR, vol. abs/1710.07368, 2017. [Online]. Available: <http://arxiv.org/abs/1710.07368>

[^5]: C. R. Qi, H. Su, K. Mo, and L. J. Guibas, “Pointnet: Deep learning on point sets for 3d classification and segmentation.” Proceedings of the IEEE conference on computer vision and pattern recognition (CVPR), pp. 77–85, 2017.

[^6]: I. Laina, C. Rupprecht, V. Belagiannis, F. Tombari, and N. Navab, “Deeper depth prediction with fully convolutional residual networks,” in 3D Vision (3DV), 2016 Fourth International Conference on. IEEE, 2016, pp. 239–248.

[^7]: F. Liu, C. Shen, and G. Lin, “Deep convolutional neural fields for depth estimation from a single image,” in Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2015, pp. 5162–5170.

[^8]: I. B. Barbosa, M. Cristani, A. Del Bue, L. Bazzani, and V. Murino, "Re-identification with rgb-d sensors," in European Conference on Computer Vision. Springer, 2012, pp. 433–442.

[^9]: M. Munaro, A. Basso, A. Fossati, L. Van Gool, and E. Menegatti, "3d reconstruction of freely moving persons for re-identification with a depth sensor," in Robotics and Automation (ICRA), 2014 IEEE International Conference on. IEEE, 2014, pp. 4512–4519.

[^10]: D. Kastaniotis, I. Theodorakopoulos, C. Theoharatos, G. Economou, and S. Fotopoulos, “A framework for gait-based recognition using kinect,” Pattern Recognition Letters, vol. 68, pp. 327–335, 2015.

[^11]: A. Geiger, P. Lenz, and R. Urtasun, "Are we ready for autonomous driving? the kitti vision benchmark suite," in Conference on Computer Vision and Pattern Recognition (CVPR), 2012.

[^12]: C. Premebida, J. Carreira, J. Batista, and U. Nunes, “Pedestrian detection combining rgb and dense lidar data,” in Intelligent Robots and Systems (IROS 2014), 2014 IEEE/RSJ International Conference on. IEEE, 2014, pp. 4112–4117.

[^13]: D. Levi, N. Garnett, E. Fetaya, and I. Herzlyia, “Stixelnet: A deep convolutional network for obstacle detection and road segmentation.” in BMVC, 2015, pp. 109–1.

[^14]: M. Johnson-Roberson, C. Barto, R. Mehta, S. N. Sridhar, K. Rosaen, and R. Vasudevan, “Driving in the matrix: Can virtual worlds replace human-generated annotations for real world tasks?” in Robotics and Automation (ICRA), 2017 IEEE International Conference on. IEEE, 2017, pp. 746–753.

[^15]: S. R. Richter, V. Vineet, S. Roth, and V. Koltun, “Playing for data: Ground truth from computer games,” in European Conference on Computer Vision. Springer, 2016, pp. 102–118.

[^16]: Miraikan, <https://www.miraikan.jst.go.jp>, accessed in 2018 May 27.

[^17]: V. LiDAR, <https://velodynelidar.com//hdl-32e.html>, accessed in 2018 May 25.

[^18]: M. Mochimaru, M. Kouchi, N. Miyata, M. Tada, Y. Yoshida, K. Aoki, K. Kawachi, and Y. Motomura, “Dhaiba: Functional human models to represent variation of shape, motion and subjective assessment,” SAE Technical Paper, Tech. Rep., 2006.

[^19]: Y. Endo, M. Tada, and M. Mochimaru, “Hand modeling and motion reconstruction for individuals,” Int. J. of Automation Technology Vol. vol. 8, no. 3, 2014.

[^20]: —, “Estimation of arbitrary human models from anthropometric dimensions,” in International Conference on Digital Human Modeling and Applications in Health, Safety, Ergonomics and Risk Management. Springer, 2015, pp. 3–14.

[^21]: Y. Kobayashi, H. Hobara, T. A. Heldoorn, M. Kouchi, and M. Mochimaru, “Age-independent and age-dependent sex differences in gait pattern determined by principal component analysis,” Gait & posture, vol. 46, pp. 11–17, 2016.

[^22]: S. Hong, H. Noh, and B. Han, “Decoupled deep neural network for semi-supervised semantic segmentation.” Advances in neural information processing systems (NIPS), pp. 1495–1503, 2015.

[^23]: O. Ronneberger, P. Fischer, and T. Brox, "U-net: Convolutional networks for biomedical image segmentation," pp. 234–241, 2015.

[^24]: D. Eigen and R. Fergus, “Predicting depth, surface normals and semantic labels with a common multi-scale convolutional architecture.” Proceedings of the IEEE International Conference on Computer Vision (ICCV), pp. 2650–2658, 2015.

[^25]: S. Jégou, M. Drozdzal, D. Vazquez, A. Romero, and Y. Bengio, “The one hundred layers tiramisu: Fully convolutional densenets for semantic segmentation,” in Computer Vision and Pattern Recognition Workshops (CVPRW), 2017 IEEE Conference on. IEEE, 2017, pp. 1175–1183.

[^26]: F. Iandola, M. Moskewicz, S. Karayev, R. Girshick, T. Darrell, and K. Keutzer, “Densenet: Implementing efficient convnet descriptor pyramids,” arXiv preprint arXiv:1404.1869, 2014.

[^27]: D. P. Kingma and J. Ba, “Adam: A method for stochastic optimization,” CoRR, vol. abs/1412.6980, 2014. [Online]. Available: <http://arxiv.org/abs/1412.6980>

[^28]: I. T. Jolliffe and D. B. Stephenson, Forecast verification: a practitioner's guide in atmospheric science. John Wiley & Sons, 2003.
