
# 混合分布式智能相机网络中人体跟踪的3D相机基准测试

安德烈斯·布尔巴诺 $^{\#\#*}$，马里乌斯·瓦西柳 $^{\#+}$，萨米尔·布阿齐兹 $^{\#+}$

## SATIE - CNRS UMR 8029

+巴黎南大学，巴黎-萨克莱大学，法国

 $^{*}R\&D$, Shopline Electronic, 78220, Viroflay, France

{andres-alberto.burbano-lopez, samir.bouaziz, marius.vasiliu}@u-psud.fr

## ABSTRACT

本文介绍了一种比较不同类型的深度传感器，这些传感器目前市面上可用，这是因为 PrimeSense 技术已经停止生产。 许多学术研究项目使用这种传感器技术进行 3D 计算机视觉研究。 为了找到一种在质量和价格方面可以替代这种摄像头的产品，我们研究了可以用于实时和低成本应用的现有 3D 几何传感器。 这项工作是我们用于检测和计数混合智能摄像头网络中人员的 SHuKB SDK 的一部分。 我们的主要贡献是定量和定性地评估市场上现有的传感器，以改进产品识别，使其更接近我们的需求，并提供可行的替代方案。 这一目标旨在避免因传感器产品突然停止生产而产生的后果，例如 PrimeSense 传感器。 评估基于一组属性和与人员检测和传感相关的特征。 我们将介绍这项研究的结果，并分析不同的 3D 传感器，以及我们对它们应用领域的看法，重点是智能摄像头网络和人员跟踪。

## CCS Concepts

•计算方法 → 计算机图形学；图像处理；•计算机系统组织 → 嵌入式系统；硬件 → 覆盖度指标；等效性检查；

### 关键词

3D 传感；深度图像；立体相机；人体检测；智能相机网络

### 1. INTRODUCTION

智能城市、智能建筑和智能环境通常使用图像以及其他传感器。 图像传感器是所谓的智能摄像头的主要组件 [^20]。 不同技术的数量以及小型化水平使制造商能够开发各种类型的摄像头，具体取决于使用约束、融合技术以及为图像传感提供多种解决方案。 与此同时，这些技术的成熟为新一代 3D 传感器铺平了道路。 在低成本深度传感器 Kinect 出现后，大量的基于 3D 的研究在图像处理的许多主要研究领域中进行，包括智能环境 [^7] [^3]。 这种 3D 摄像头概念的成功促进了研究和发展，吸引了许多全球制造商开发自己的解决方案。 由于缺乏制造商和摄像头性能之间比较研究的信息，我们决定定量和定性地评估市场上当前的 3D 检测摄像头。 本文分析了不同摄像头之间的比较及其特征，以评估性能、可靠性和可能的应用。 我们的目标是鼓励对摄像头的早期评估，以确定其合适的应用，解决跨领域的问题，并加速深度传感研究。

同时，这项评估解决了我们在工作 [^4] 中的需求，通过识别能够在室内和室外环境中采集图像的摄像头。这项工作描述了一个用于人员跟踪的 3D 传感分布式嵌入式系统。此外，它定义了一种可扩展和动态的软件架构，基于组件积木的组装。这些积木是可互换的，并且执行系统的特定任务。此外，该架构允许构建积木以克服技术限制或标准化系统的流程。

我们的主要贡献是摄像头表征方法、对各种最近发布的低成本 3D 传感摄像头进行分析和实验以及它们的评估。此外，我们提出了对 [^4] 中描述的 SDK 的扩展，通过实现摄像头 I/O 积木和一个快速摄像头表征工具包 (FCCT)，而无需我们的方法。摄像头的表征是通过比较（提供技术规格和技术开发环境的概述）和使用三种不同的程序进行评估，这些程序侧重于智能摄像头网络和人员跟踪应用。这些实验评估了摄像头测量的准确性和精度、信号的稳定性以及人类检测的可靠性。I/O 积木允许高效地将新的摄像头集成到混合智能摄像头网络中，并提供访问系统功能的途径。如前所述，FCCT 提供了各种软件工具。

---

以促进摄像头的表征。

本文的组织结构如下：第 2 节描述相关工作。第 3 节描述并比较摄像头的技术特性和功能。第 4 节描述评估过程：实验程序和结果。最后，第 5 节总结了我们的工作。

### 2. 相关工作

Reisslein 等人 [^18] 描述智能摄像头网络为 "计算机视觉、图像传感器、嵌入式计算和传感器网络" 技术的集合。他们设计的关键挑战包括：系统设计（硬件和软件）、视频分析、传感、隐私保护、混合传感器网络、网络部署以及高级数据处理和管理，这些内容来自 [^18] [^19] [^20] [^4]。

最近，一些智能相机倾向于使用3D传感器作为图像传感器解决方案。此外，近年来，大量使用深度传感器技术的作品 [^5] [^11] [^14] 已经开发出来，包括我们之前的工作 [^4]，该工作描述了一个智能相机网络，其中每个节点由深度传感器、嵌入式计算机和通信单元组成，用于构建相机网络。因此，我们认为创建一个深度相机表征方法是有用的。有关相机评估的先前工作在文献中有所记载。论文 [^9] 描述了不同3D相机的飞行时间 (ToF) 技术。在 [^17] 中，我们找到了微软两代传感器的比较。在 [^22] 中，作者描述了3D位置测量的信号稳定。此外，Nair 等人 [^16] 提出了一个地面真实数据集的表征，确定了一组重要的要求，重点是算法，如低延迟、低噪声或深度范围。然而，尽管人们对深度传感技术和应用越来越感兴趣，但尚未提出一种通用的评估方法，该方法侧重于深度图像传感器的评估。因此，我们计划创建一个评估方法并实现一个工具包，该工具包能够执行第 4 节中描述的程序。

### 3. 深度相机

本节描述并比较从市场上选择的几种相机。选择标准考虑了深度、实时图像采集能力、低成本、最新发布以及易于集成到智能相机网络节点以及在不同环境中的可用性。

相机的描述包含信号 [^21]、技术描述、专利或参考、传感器数量和类型、框架或 SDK 以及当电源来自与 USB 连接不同的电源时，电源供应。

### 3.1 ASUS Xtion Pro

Asus Xtion Pro 是一种基于结构光模式的活动相机，如 [^9] 所示。该相机由固定模式 IR 发射器、IR 相机和辅助 RGB 相机组成。它可以同时采集深度和彩色图像。提供的 SDK 是广为人知的 OpenNI，该 SDK 允许控制 Kinect 和 PrimeSense Carmine（所有三款相机都使用相同的传感器）。该相机只能在室内环境中使用，并且已集成到智能相机系统中 [^4]。此外，我们选择了 th:frame of reference,drRD 传感器,ir

### 3.2 Microsoft Kinect for Xbox One

这种相机，也称为 Kinect 2.0，是一种基于飞行时间技术的活动相机 $^{[17]}$。它由红外 (IR) 发射器、IR 相机和辅助彩色 (RGB) 相机组成。它具有 Kinect for Windows 软件开发工具包 (SDK) 2.0，该工具包包括示例以及对源代码的访问。此外，此 SDK 支持 .NET 语言。该模块由专有的 Microsoft 电源适配器供电。

### 3.3 Intel SR300

Intel SR300 是一款基于编码光的技术的活动相机 [^2]。它由一个红外相机、一个红外图案投影仪和一个辅助 1080p RGB 卷帘快门传感器组成。它具有适用于 Windows 的完整 RealSense SDK，以及一种名为 libRealSense 的跨平台 API。该 API 允许更改传感器属性和立体算法参数。可以配置以下颜色和红外相机的方面：亮度、增益、曝光、每秒帧数 (fps)、白平衡、自动曝光和自动增益。此外，可以在图像中设置感兴趣区域，以计算自动值。此外，RealSense 驱动程序与机器人操作系统 (ROS) 兼容，并提供一套完整的示例源代码。

### 3.4 Intel R200

Intel R200 相机是一款基于结构立体的活动/被动立体相机 [^1] [^10]。该相机由两个红外相机和一个红外激光器组成，该激光器投影纹理，可在室内环境中提高短距离测量精度。此外，它还提供一个 1080p 卷帘快门 RGB 相机，并使用与 SR300 型号相同的 SDK。该模块通过 USB 供电，但由于功耗限制，USB 电缆的长度较短。不幸的是，Intel 相机只能与 Intel 处理器配合使用。

### 3.5 University of Bologna Camera

University of Bologna 的解决方案是一款被动立体相机，具有 2 个 RGB 传感器和一个 FPGA，用于计算视差图。该相机可用于室内和室外环境，并已集成到智能相机实现中 [^14]。有关更多信息，请参见 [^15]。相机的设计允许修改基线距离和 RGB 与灰度的成像传感器。它具有一个专有库，该库提供图像采集功能和参数设置。

### 3.6 Etron eSP870

Etron eSP870 芯片组是一个 USB 3.0 和 2.0 立体深度图控制器，可用于构建立体相机，该控制器可提供彩色和深度图像 [^12]。Etron 为 Linux、嵌入式 Linux 提供 eSPDI 库，并为 Windows 提供一个更完整的框架。Windows 框架提供由主机 CPU 执行的后处理功能。使用的模型由两个高清 720P (1280x720) CMOS 图像传感器和 eSP870 芯片组组成。该控制器提供一对同步的 1080p 彩色图像，以每秒 60 帧的速度通过 USB 3.0 传输，并以高达每秒 30 帧的速度提供 VGA 深度图像。

---

在 Windows 上可达每秒 1080 帧，但在 Linux 上可达每秒 15 帧。但是，在我们的测试中，该相机无法同时提供 1080p 图像对和深度图像。目前，Etron 生产 3 厘米和 12 厘米基线相机型号。

### 3.7 Parrot Kalamos

Parrot 最近发布的导航解决方案的代号是 Kalamos。3D 传感器系统由两个高清鱼眼相机组成。每个相机具有 1500x1500 像素的分辨率。视差图以图像的中心像素的 640x480 像素分辨率计算。该解决方案与机器人操作系统 (ROS) 兼容。它可以作为传感器或自主导航系统使用，因为它具有惯性测量单元 (IMU)、超声波传感器、一个 Tegra K1 (NVidia) 处理器和一个嵌入式 Ubuntu 操作系统。由于相机的特性，它适用于室内和室外环境。该相机采用 12V 电源供电。

### 3.8 Sony PS4eye

PS4eye 是一款同步的彩色 CMOS 传感器对。 它是索尼 PS4 游戏机的一个专有解决方案。 但是，通过反向工程构建了一个开源驱动程序，并且可在网上获得。 该摄像头由 AUX 端口供电，AUX 端口是索尼专有的连接器。 为了测试摄像头，需要修改电缆以使用标准 USB 3.0 接口。 此摄像头仅提供彩色同步图像。 立体视差图必须由主机 CPU 计算。

### 3.9 Stereolabs ZED

Stereolabs 提出的这款高分辨率深度传感器，提供一对彩色摄像头，最大分辨率为 $2208 \times 1242$ 像素，帧率为 15 fps，VGA 分辨率可达 100 fps。 ZED SDK 在主机上处理立体视差图，需要配备最近的 NVIDIA GPU 和 CUDA API 6.0。 其他主机最低要求包括双核 2.4 GHz CPU 和 4GB 内存。 该摄像头主要设计用于自主导航和地图绘制。

### 3.10 摄像头比较

摄像头比较如表所示：表 1 列出了每个摄像头框架支持的操作系统，表 2 介绍了摄像头 SDK 或 API 支持的语言，表 3 比较了摄像头的通用规格。

这项工作旨在寻找适合集成到混合智能相机网络中的相机。因此，SR300、ZED 相机和 Kinect 2 未包含在以下评估部分，因为 PS4eye 必须进行物理修改，以将 AUX 连接器（专有）更改为 USB3 连接器才能获取图像。此外，可用的驱动程序是使用逆向工程开发的，因此它不直接从传感器提供任何深度图像。因此，必须由主机 CPU 执行视差计算，就像 ZED 相机一样。这个要求肯定限制了它在低成本嵌入式解决方案（如智能相机网络）中的使用。但是，ZED 相机具有完整的官方 SDK，支持高达 2208x1242 像素的分辨率。另一方面，Kinect 的主要缺点是专有电源和能源消耗要求，这限制了其在嵌入式系统中的应用。

<div style="text-align: center;">Table 1: Supported OS</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Camera SDK/API</td><td style='text-align: center; word-wrap: break-word;'>Embedded Linux</td><td style='text-align: center; word-wrap: break-word;'>Linux</td><td style='text-align: center; word-wrap: break-word;'>Windows</td><td style='text-align: center; word-wrap: break-word;'>Mac OS</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Xtion Pro</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Kinect v2</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SR300</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>R200</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>UniBo</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>eSP870</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Parrot</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PS4eye</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>X</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ZED</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'>X</td><td style='text-align: center; word-wrap: break-word;'></td></tr></table>

<div style="text-align: center;">Table 2: Programming languages</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Camera SDK/API</td><td style='text-align: center; word-wrap: break-word;'>C</td><td style='text-align: center; word-wrap: break-word;'>C++</td><td style='text-align: center; word-wrap: break-word;'>Java</td><td style='text-align: center; word-wrap: break-word;'>Other(s)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Xtion Pro</td><td style='text-align: center; word-wrap: break-word;'>x</td><td style='text-align: center; word-wrap: break-word;'>x</td><td style='text-align: center; word-wrap: break-word;'>x</td><td style='text-align: center; word-wrap: break-word;'>x</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Kinect v2</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>x</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>.NET</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>SR300</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>x $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>R200</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>x $^{{*}}$</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>UniBo</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>x</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>eSP870</td><td style='text-align: center; word-wrap: break-word;'>x</td><td style='text-align: center; word-wrap: break-word;'>x</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Parrot</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>x</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>Python</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>PS4eye</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>x</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>Python</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>ZED</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>x</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr></table>

$^{*}$ 需要 C++11/14 编译器。

设备。 我们认为其尺寸在智能摄像头领域是一个缺点。 尽管如此，Kinect 2 的详细评估可以在 [^17] 中找到。 至于 SR300，其视场范围（表 3）太短，编码光图案会产生破坏性噪声，从而无法将其集成到传感器网络中。 由博洛尼亚大学开发的摄像头在截止日期之前未提供。

### 4. 摄像头特性

在本节中，我们描述了一组用于深度摄像头特性的程序。 我们扩展了 [^17] 中对摄像头评估的描述，并提出了 3 个主要实验。 首先，我们分析了深度信号随时间的稳定性。 然后，我们研究了摄像头相对于地面真实值的深度测量精度和准确性。 最后，我们估计了覆盖人类的人员像素比例，该比例取决于视场中的位置，当摄像头向下对准时。 这最后一点专门解决了我们执行公共空间中人员检测和计数的任务。

所测量的摄像头分辨率为 640x480 像素，帧速率采集性能为 30 fps，除了 Etron 摄像头，其在 Linux 上的最大性能为 15 fps。 在采集深度帧之前，稳定了摄像头的曝光和自动增益。

我们的实验使用了英特尔 Core i7 4712MQ 处理器，主频 2.3GHz，16GB DDR3 内存，250GB 固态硬盘，以及 Linux Ubuntu 14.04 操作系统。实验在室内封闭环境中进行。我们假设，如 [^17] 所述，深度数据采集过程中不会发生重大的环境变化（典型的采集时间小于一分钟）。

#### 4.1 深度稳定性

---

<div style="text-align: center;">Table 3: General depth cameras specifications</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Specifications</td><td style='text-align: center; word-wrap: break-word;'>Xtion</td><td style='text-align: center; word-wrap: break-word;'>Kinect v2</td><td style='text-align: center; word-wrap: break-word;'>SR300</td><td style='text-align: center; word-wrap: break-word;'>UniBo</td><td style='text-align: center; word-wrap: break-word;'>R200</td><td style='text-align: center; word-wrap: break-word;'>eSP870</td><td style='text-align: center; word-wrap: break-word;'>Parrot</td><td style='text-align: center; word-wrap: break-word;'>PS4eye</td><td style='text-align: center; word-wrap: break-word;'>ZED</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Depth Sensors</td><td style='text-align: center; word-wrap: break-word;'>IR</td><td style='text-align: center; word-wrap: break-word;'>IR</td><td style='text-align: center; word-wrap: break-word;'>IR</td><td style='text-align: center; word-wrap: break-word;'>2 RGB</td><td style='text-align: center; word-wrap: break-word;'>2 IR</td><td style='text-align: center; word-wrap: break-word;'>2 RGB</td><td style='text-align: center; word-wrap: break-word;'>2 RGB</td><td style='text-align: center; word-wrap: break-word;'>2 RGB</td><td style='text-align: center; word-wrap: break-word;'>2 RGB</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Resolution</td><td style='text-align: center; word-wrap: break-word;'>VGA(D)</td><td style='text-align: center; word-wrap: break-word;'>512x424D</td><td style='text-align: center; word-wrap: break-word;'>VGA</td><td style='text-align: center; word-wrap: break-word;'>VGA</td><td style='text-align: center; word-wrap: break-word;'>VGA</td><td style='text-align: center; word-wrap: break-word;'>HD</td><td style='text-align: center; word-wrap: break-word;'>1500x1500</td><td style='text-align: center; word-wrap: break-word;'>WXGA</td><td style='text-align: center; word-wrap: break-word;'>2208x1242</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Depth Shutter</td><td style='text-align: center; word-wrap: break-word;'>Global</td><td style='text-align: center; word-wrap: break-word;'>Global</td><td style='text-align: center; word-wrap: break-word;'>Global</td><td style='text-align: center; word-wrap: break-word;'>Global</td><td style='text-align: center; word-wrap: break-word;'>Global</td><td style='text-align: center; word-wrap: break-word;'>Global</td><td style='text-align: center; word-wrap: break-word;'>Rolling</td><td style='text-align: center; word-wrap: break-word;'>Rolling</td><td style='text-align: center; word-wrap: break-word;'>Rolling</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Auxiliary Cameras</td><td style='text-align: center; word-wrap: break-word;'>RGB</td><td style='text-align: center; word-wrap: break-word;'>RGB</td><td style='text-align: center; word-wrap: break-word;'>RGB</td><td style='text-align: center; word-wrap: break-word;'>N/A</td><td style='text-align: center; word-wrap: break-word;'>RGB</td><td style='text-align: center; word-wrap: break-word;'>N/A</td><td style='text-align: center; word-wrap: break-word;'>N/A</td><td style='text-align: center; word-wrap: break-word;'>N/A</td><td style='text-align: center; word-wrap: break-word;'>N/A</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Resolution</td><td style='text-align: center; word-wrap: break-word;'>VGA</td><td style='text-align: center; word-wrap: break-word;'>FHD</td><td style='text-align: center; word-wrap: break-word;'>VGA</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'>FHD</td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td><td style='text-align: center; word-wrap: break-word;'></td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Color Shutter</td><td style='text-align: center; word-wrap: break-word;'>Global</td><td style='text-align: center; word-wrap: break-word;'>Global</td><td style='text-align: center; word-wrap: break-word;'>Rolling</td><td style='text-align: center; word-wrap: break-word;'>N/A</td><td style='text-align: center; word-wrap: break-word;'>Rolling</td><td style='text-align: center; word-wrap: break-word;'>N/A</td><td style='text-align: center; word-wrap: break-word;'>N/A</td><td style='text-align: center; word-wrap: break-word;'>N/A</td><td style='text-align: center; word-wrap: break-word;'>N/A</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Depth Measure</td><td style='text-align: center; word-wrap: break-word;'>Active</td><td style='text-align: center; word-wrap: break-word;'>Active</td><td style='text-align: center; word-wrap: break-word;'>Active</td><td style='text-align: center; word-wrap: break-word;'>Passive</td><td style='text-align: center; word-wrap: break-word;'>Mix</td><td style='text-align: center; word-wrap: break-word;'>Passive</td><td style='text-align: center; word-wrap: break-word;'>Passive</td><td style='text-align: center; word-wrap: break-word;'>Passive</td><td style='text-align: center; word-wrap: break-word;'>Passive</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Calibration</td><td style='text-align: center; word-wrap: break-word;'>Prop.</td><td style='text-align: center; word-wrap: break-word;'>Prop.</td><td style='text-align: center; word-wrap: break-word;'>Prop.</td><td style='text-align: center; word-wrap: break-word;'>OpenCV</td><td style='text-align: center; word-wrap: break-word;'>Prop.</td><td style='text-align: center; word-wrap: break-word;'>OpenCV</td><td style='text-align: center; word-wrap: break-word;'>Prop.</td><td style='text-align: center; word-wrap: break-word;'>Prop.</td><td style='text-align: center; word-wrap: break-word;'>Prop.</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>FoV WXH (deg)</td><td style='text-align: center; word-wrap: break-word;'>58x45</td><td style='text-align: center; word-wrap: break-word;'>70x60</td><td style='text-align: center; word-wrap: break-word;'>68x54</td><td style='text-align: center; word-wrap: break-word;'>var.</td><td style='text-align: center; word-wrap: break-word;'>59x46</td><td style='text-align: center; word-wrap: break-word;'>62x38</td><td style='text-align: center; word-wrap: break-word;'>200x200</td><td style='text-align: center; word-wrap: break-word;'>85x53</td><td style='text-align: center; word-wrap: break-word;'>96x54</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>USB Interface</td><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>2/3</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>2/3</td><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>Aux/3</td><td style='text-align: center; word-wrap: break-word;'>2/3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Baseline (mm)</td><td style='text-align: center; word-wrap: break-word;'>74</td><td style='text-align: center; word-wrap: break-word;'>25</td><td style='text-align: center; word-wrap: break-word;'>47</td><td style='text-align: center; word-wrap: break-word;'>var.</td><td style='text-align: center; word-wrap: break-word;'>70</td><td style='text-align: center; word-wrap: break-word;'>120</td><td style='text-align: center; word-wrap: break-word;'>200</td><td style='text-align: center; word-wrap: break-word;'>85</td><td style='text-align: center; word-wrap: break-word;'>120</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Indoor range(m)</td><td style='text-align: center; word-wrap: break-word;'>0.8-4</td><td style='text-align: center; word-wrap: break-word;'>0.5-4.5</td><td style='text-align: center; word-wrap: break-word;'>0.20-1.50</td><td style='text-align: center; word-wrap: break-word;'>1-5</td><td style='text-align: center; word-wrap: break-word;'>0.7-3.5</td><td style='text-align: center; word-wrap: break-word;'>1-10</td><td style='text-align: center; word-wrap: break-word;'>1-5</td><td style='text-align: center; word-wrap: break-word;'>0.3-inf</td><td style='text-align: center; word-wrap: break-word;'>1-15</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Outdoor range(m)</td><td style='text-align: center; word-wrap: break-word;'>N/A</td><td style='text-align: center; word-wrap: break-word;'>N/A</td><td style='text-align: center; word-wrap: break-word;'>N/A</td><td style='text-align: center; word-wrap: break-word;'>1-5</td><td style='text-align: center; word-wrap: break-word;'>1-10</td><td style='text-align: center; word-wrap: break-word;'>1-10</td><td style='text-align: center; word-wrap: break-word;'>1-5</td><td style='text-align: center; word-wrap: break-word;'>N/A</td><td style='text-align: center; word-wrap: break-word;'>1-15</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Frame rate(fps)</td><td style='text-align: center; word-wrap: break-word;'>30</td><td style='text-align: center; word-wrap: break-word;'>30</td><td style='text-align: center; word-wrap: break-word;'>30</td><td style='text-align: center; word-wrap: break-word;'>22</td><td style='text-align: center; word-wrap: break-word;'>30</td><td style='text-align: center; word-wrap: break-word;'>15</td><td style='text-align: center; word-wrap: break-word;'>30</td><td style='text-align: center; word-wrap: break-word;'>7.5-240</td><td style='text-align: center; word-wrap: break-word;'>15-100</td></tr></table>

由于深度数据计算的特性 [^9] [^10] [^13]，即使是固定摄像头观察静态场景，在连续帧之间也会产生噪声深度信号 [^17]。本实验的目的是估计深度图的变化，换句话说，是深度图信号的稳定性。

#### 4.1.1 实验流程描述

在第一个实验中，我们创建了一个合适的场景，其中大部分表面与摄像机的平面平行，以避免由于背景和物体之间的场景不均匀性而引起的飞像素现象 [^9]。此外，我们用合适的反射材料覆盖了非反射表面，以隔离技术问题，从而评估算法的性能。我们使用 T 个连续帧计算深度信号随时间的均方误差 RMSE $D^{t}$，其中 t = 1, T。对于属于有效深度像素集合 R 的每个像素 p，设 $D^{t}(p)$ 为其在第 t 帧中的深度值，设 $\bar{D}(p)$ 为其在整个帧序列中的时间平均值。然后：

 $$ RMSE(p)=\sqrt{\frac{1}{T}\sum_{t=1}^{T}(D^{t}(p)-\bar{D}(p))^{2}} $$

为了获得全局的摄像头行为指标，我们定义了全局信号稳定性为：

 $$ GSS=\frac{1}{|R|}\sum_{p\in R}RMSE(p) $$

其中，$|R|$ 是集合 R 的基数。这些全局指标（见表 4）仅表征深度信号的时间噪声，而不表征其精度。

图 1 呈现了 1800 个连续深度帧的 RMSE 及其直方图，针对每种评估的摄像头。较低的 RMSE 表示更稳定的深度信号。所有摄像头都朝向静态场景，从同一位置观察。该场景由两个与摄像头图像平面平行的长方形表面和一个背景平面组成。以下分析考虑了摄像头视场的差异、时间测量稳定性以及每种摄像头采集的像素数量。

### 4.1.2 测试结果

Xtion Pro 摄像头视场是我们的参考。在结果图像（图 1a）中，我们发现大多数测量变化出现在物体的轮廓区域，而

<div style="text-align: center;">Table 4: Global results for depth sequences</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>Pixels</td><td style='text-align: center; word-wrap: break-word;'>Valid %</td><td style='text-align: center; word-wrap: break-word;'>Outliers %</td><td style='text-align: center; word-wrap: break-word;'>Invalid %</td><td style='text-align: center; word-wrap: break-word;'>GSS(mm)</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Xtion Pro</td><td style='text-align: center; word-wrap: break-word;'>98.3</td><td style='text-align: center; word-wrap: break-word;'>0.5</td><td style='text-align: center; word-wrap: break-word;'>1.2</td><td style='text-align: center; word-wrap: break-word;'>0.77</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>R200</td><td style='text-align: center; word-wrap: break-word;'>66.6</td><td style='text-align: center; word-wrap: break-word;'>13.2</td><td style='text-align: center; word-wrap: break-word;'>20.1</td><td style='text-align: center; word-wrap: break-word;'>14.53</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Etron</td><td style='text-align: center; word-wrap: break-word;'>67.4</td><td style='text-align: center; word-wrap: break-word;'>17.3</td><td style='text-align: center; word-wrap: break-word;'>15.3</td><td style='text-align: center; word-wrap: break-word;'>6.19</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Parrot</td><td style='text-align: center; word-wrap: break-word;'>90.9</td><td style='text-align: center; word-wrap: break-word;'>5.7</td><td style='text-align: center; word-wrap: break-word;'>3.4</td><td style='text-align: center; word-wrap: break-word;'>20.64</td></tr></table>

平面区域非常稳定。我们还发现，在图像的边界区域存在一些测量变化。图像的大部分像素包含有效的深度信息。

R200 摄像头（如图 1b 所示）的视场与参考摄像头相同。图像显示，即使在靠近物体的平面表面，也存在不稳定的测量结果，排除了飞像素现象的可能性。R200 摄像头的稳定性问题源于深度图估计过程，该过程取决于投影纹理和算法参数的设置。靠近的测量结果更稳定，而较远的物体测量结果会变得更嘈杂，直到出现无法计算视差的无效像素，这些像素显示为黑色。

The Parrot (参见图 1c) 摄像头的垂直视野比参考帧大，水平视野更广。生成的视差图由 10x10 像素的块组成（每个块的深度恒定）。靠近的物体表现稳定，但图像的其他部分存在变形和不稳定问题。由于鱼眼边界效应，图像中的一些像素没有信息。

Etron 摄像头（参见图 1d）的视野范围最小。在平坦表面上的测量结果比 Parrot 和 R200 摄像头更稳定。我们发现主要的测量误差出现在轮廓和最远距离（图像顶部）的地方。此外，在深度图的右侧，有一条狭窄的垂直带上的许多像素没有深度数据。

一般来说，由于遮挡和飞像素效应，主要测量不稳定出现在物体的边界处。立体摄像头由于技术的限制，信息量较少。此外，与基于立体技术的其他摄像头相比，Etron 摄像头的测量结果更稳定，尽管视野范围较小。R200 的视野范围比 Etron 摄像头更大，但 R200 信号的稳定性会随着距离的增加而降低。最后，Parrot 摄像头的更广视野可以跟踪更大的区域，但分块的深度图无法实现详细的人体检测。

---

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

![Image](images/94404f10c8fe82d6050089c40d4daa42a7fd1e6c3627ebb67289764c4b4cb298.jpg)

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

<div style="text-align: center;">(c) Parrot Kalamos</div>

<div style="text-align: center;">(d) Etron eSP870</div>

<div style="text-align: center;">Figure 1: RMSE and associated histograms of 1800 depth frames acquired by different cameras looking the same static scene. The scene is composed by two flat rectangular surfaces at 2 and 4 meters away from the camera. Each RMSE image uses the same color-map in the range 0 .. 30 mm. The outlier pixels (with a depth error higher than 30 mm) are in dark red and the invalid pixels (with no depth data from the sensor) are in black.</div>

#### 4.2 深度图精度和准确性

由于深度图计算算法，视差不确定性会随着距离摄像头的增加而增加 [^8]。因此，测量深度和地面真实值之间的误差会随着距离的增加而增加。相反，鲁棒的算法倾向于在稳定的场景中为每个帧计算规则的深度图。因此，我们进行了这个实验来评估摄像头的准确性、精度和有效范围。

#### 4.2.1 实验描述

在第二个实验中，我们沿着与参考墙正交的轴移动 3D 传感器，同时保持摄像头的光学轴与该墙正交。典型的移动步长为 40 厘米，距离墙壁 80 厘米至 520 厘米。对于每个步长 s，我们从一个平坦表面采集 T 个深度帧，以避免飞像素。同时，我们确保测量的像素与传感器、相机和墙壁平面之间的距离相同，相机、传感器和墙壁平面平行。对于每个步长 s，我们估计深度数据在特定区域 $E_{s}$ 的准确误差 $R^{c}$ 为该区域 $\bar{D}_{s}$ 随时间的平均深度与手动测量的距离 $d_{s}$ 之间的差值：

 $$ E_{s}=\left[\frac{1}{\left|R^{c}\right|}\sum_{p\in R^{c}}\bar{D}_{s}(p)\right]-d_{s} $$

为了评估光学畸变对精度误差的影响，我们针对$R^{c}$在图像中选取了两个不同的特定区域：一个位于光学中心，另一个靠近边缘。我们在每一步对两个区域和每台相机都进行了方程3的评估。

### 4.2.2 测试结果

上述实验允许我们估计摄像头的准确性、范围（摄像头测量可靠的最小和最大距离）。

在图 2 中，我们展示了摄像头的精度。在图 3 中，我们展示了不同摄像头在不同距离上的准确性比较。该图显示了每个摄像头在不同距离上的准确性表现。Y 轴表示 $E_{s}$，X 轴表示测量的距离 $d_{s}$。该图显示了摄像头的有效范围。

#### 4.3 人体检测可靠性

#### 4.3.1 程序描述

第三次实验评估人体检测可靠性（HDR），以及3D摄像头朝下方向时的视角影响。HDR通过测量与视场中人体相关联的深度像素数量，并将其与使用RGB或辅助摄像头（来自3D传感器）在图像中实际占据的像素数量进行比较来测量。我们选择将摄像头置于向下位置，以最大限度地减少遮挡，优化覆盖范围并增加每人获取的像素点数量[^4][^6]。同时，我们过滤了位于人体胸部以下的像素点。视角影响是通过分析人体在视场中的不同位置和方向的分割区域大小来测量的。在这个过程中，我们像图4a一样，将视场水平分成三个相等区域$R_n$。我们定义了图4b所示的4个不同方向$\phi_m$。

---

![Image](images/a9e9b59a0e655f1005b7d79ba9ac4bf4c50fafcfdd22ff652c8f9d543f317981.jpg)

<div style="text-align: center;">Figure 2: Depth data histogram for several cameras. Zoom windows at ranges 1900-2000 mm and 3800-4200 mm show the local precision of depth for each camera technology. Vertical axis uses a normalized scale, meaningless here.</div>

![Image](images/046590a9146f65304c13a3ff7867a5131ce5775ce9cf0ef79a416fe7b7c2b749.jpg)

<div style="text-align: center;">Figure 3: Camera Depth Accuracy</div>

<div style="text-align: center;">Each sample  $S_m^n$ consisted of placing a person in each  $R_n$ looking at each  $\phi_m$ direction. At each position, a synchronized color and depth image were acquired. We ensured that every  $S_m^n$ images contained the person and the background. We used an easy-to-identify color for the background to facilitate the person segmentation in the color image. Then, we counted the residual pixels to obtain the amount of person expected pixels  $P_x(S_m^n)$. Immediately after, we repeated the process of person segmentation and pixels count in depth image in order to obtain the person acquired pixels  $P_a(S_m^n)$. Finally, we compared the amount of pixels counted in each image calculating the pixels rate  $P_a/P_x$.</div>

类似地，我们比较了来自同一人体在不同位置，但朝向相同方向时的像素数量。

### 4.3.2 测试结果

这些结果对于智能摄像头集成来说是最重要的。该实验评估哪种摄像头最适合在向下位置检测人体。

![Image](images/208471515bc262c64f921016678c3219eb25d89d2a9623683f2b42a3b064ec4e.jpg)

<div style="text-align: center;">(a) Different self occlusion cases (b) Front directions Figure 4: (a) Rough partition of the FOV of a downward-looking 3D-camera in 3 regions  $R_{n}$ having a different behavior with respect of the self occlusion mechanism. Red dotted regions have a privileged exposition to the camera. (b) Four different front directions  $\phi_{m}$ taken by the human target during the detection test.</div>

<div style="text-align: center;">Table 5: Human detection ratio between regions, relative to region 2</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;'>Region 1</td><td style='text-align: center; word-wrap: break-word;'>Region 3</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Etron</td><td style='text-align: center; word-wrap: break-word;'>1.02</td><td style='text-align: center; word-wrap: break-word;'>1.18</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Parrot</td><td style='text-align: center; word-wrap: break-word;'>1.34</td><td style='text-align: center; word-wrap: break-word;'>1.92</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Intel</td><td style='text-align: center; word-wrap: break-word;'>1.39</td><td style='text-align: center; word-wrap: break-word;'>1.33</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Asus</td><td style='text-align: center; word-wrap: break-word;'>1.14</td><td style='text-align: center; word-wrap: break-word;'>1.23</td></tr></table>

从这些结果，我们推断出，为了取代Xtion Pro，最佳的摄像头是配备更好人体检测可靠率的Etron。即使获得的像素数量低于Xtion，15%也足以确定和分割头部和肩膀。我们已成功地将此摄像头集成到计数和跟踪智能摄像头系统中。

图5展示了使用Xtion摄像头评估位置和方向影响的结果。该图显示了人体目标的分割区域大小（以像素为单位），按位置和方向分组。系统地，我们观察到在中心位置，无论方向如何，都会发生自遮挡。对于摄像头网络，我们在图像的外部位置获得了更多的像素，这些位置是摄像头重叠区域。因此，

---

![Image](images/386454c63eedc6872d75e9d08ee22f122fd66e371822fa5ddecc262166273267.jpg)

<div style="text-align: center;">Figure 5: Acquired pixels per direction and position the target handover (the step where one camera pass the responsibility to another for tracking the person in the system) between cameras will be done with more pertinent data.</div>

图6展示了同一人体在同一位置和正面方向的深度图像。我们注意到，Intel R200在检测头部顶端方面存在问题，而Parrot具有较低分辨率的深度图（由于10x10像素的网格），并且在检测人体方面存在一些困难。

![Image](images/563725bf5a4037d67c14b7ec20f38f3d37af03f9a65ab6d7e61714966ceda125.jpg)

<div style="text-align: center;">Figure 6: Different 300x300 pixels depth images of the same person. Invalid (no-data) pixels have dark blue color.</div>

### 4.4 实现

为了运行这些实验，我们创建了一个I/O摄像头接口和一个快速摄像头特性工具包（FCCT）。所有软件均使用C++开发。我们的通用设计使用摄像头的抽象模型和I/O接口功能。这使得可以创建单个测试实现，而无需考虑摄像头型号，以及不同的格式和图像分辨率。同样重要的是，我们开发了用户图形界面，用于控制摄像头和修改测试参数。图7展示了用于评估3D摄像头的FCCT、I/O接口和GUI面向对象的架构。

### 5. 结论

近年来，利益相关者对智能环境的兴趣迅速增加。学术界已经产生了大量的3D传感研究成果。与此同时，全球和地方制造商，在众多新产品和解决方案的推动下，正在开发自己的3D传感解决方案。因此，市场上涌现出许多新型设备。

图 7：FCCT 架构的类图。

![Image](images/7843a726c55bde9b5a501a413cbf206269f951dd8e7a8b449cdf6a942842ca6f.jpg)

本文，我们提出了一组用于表征 RGB-D 摄像头的特性。每项特性都通过一套程序进行评估，这些程序可以重复并在任何新的深度传感器上执行。我们比较和评估了最近发布的一组摄像头，并展示了我们分析的结果。

此外，我们生成了表 6，评估了每种 3D 摄像头在某些主要应用领域的适用性，具体取决于每种摄像头的特性。

我们评估了生成的深度图的可用性，以实现以下目的：检测患者的身体部位（健康）；检测手势并触发操作（手势控制）；在室内环境中稳健地检测人员（房间监控）；为驾驶辅助提供行人、车辆和其他障碍物检测；为 SLAM 应用提供 3D 点云（机器人）；录制 3D 媒体内容（多媒体）；执行 3D 图像配准（3D 重建）；支持受阳光影响的室外应用（户外）；集成实时且计算资源有限的解决方案（嵌入式解决方案）。

我们的主要贡献是开发了一个用于快速和早期 3D 传感器表征的评估框架平台，该平台专注于集成到混合智能摄像头网络中。该框架具有分层、面向对象的架构，用于定量和定性分析。

基于 [^4]，我们扩展了硬件和软件设计，并简化了 I/O 接口架构，以加速将新的 3D 摄像头添加到智能摄像头网络系统中。我们通过优化用于聚合传感器的软件层来改进摄像头集成，从而缩短了产品上市时间，并标准化了模块之间的通信。在表 6 中，我们根据给定的结果，对每个应用领域进行了评估，特别是对智能摄像头和系统集成进行了评估。

最后，我们感谢 Kalamos Parrot 团队，感谢他们允许我们测试他们的摄像头。

---

<div style="text-align: center;">Table 6: Cameras Applications Evaluation: ++ highly recommended, + recommended, 0 feasible, - not recommended, --strongly not recommended</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td rowspan="2">Applications</td><td colspan="9">Cameras</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Xtion</td><td style='text-align: center; word-wrap: break-word;'>Kinect v2</td><td style='text-align: center; word-wrap: break-word;'>SR300</td><td style='text-align: center; word-wrap: break-word;'>UniBo</td><td style='text-align: center; word-wrap: break-word;'>R200</td><td style='text-align: center; word-wrap: break-word;'>eSP870</td><td style='text-align: center; word-wrap: break-word;'>Parrot</td><td style='text-align: center; word-wrap: break-word;'>PS4eye</td><td style='text-align: center; word-wrap: break-word;'>ZED</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Smart cameras</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>--</td><td style='text-align: center; word-wrap: break-word;'>--</td><td style='text-align: center; word-wrap: break-word;'>--</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Health</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>--</td><td style='text-align: center; word-wrap: break-word;'>+</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Gesture Control</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>++</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>--</td><td style='text-align: center; word-wrap: break-word;'>++</td><td style='text-align: center; word-wrap: break-word;'>0</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Room Supervision</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>--</td><td style='text-align: center; word-wrap: break-word;'>--</td><td style='text-align: center; word-wrap: break-word;'>+</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Driver Assistance</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>++</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>++</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Robotics</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>++</td><td style='text-align: center; word-wrap: break-word;'>--</td><td style='text-align: center; word-wrap: break-word;'>++</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Multimedia</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>+</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3D reconstruction</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>++</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>++</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Outdoors</td><td style='text-align: center; word-wrap: break-word;'>--</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>--</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>++</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>+</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>Embedded solutions</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>-</td><td style='text-align: center; word-wrap: break-word;'>0</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>+</td><td style='text-align: center; word-wrap: break-word;'>++</td><td style='text-align: center; word-wrap: break-word;'>--</td><td style='text-align: center; word-wrap: break-word;'>--</td></tr></table>

#### 6. 参考文献

[^1]: Z. Aviv, D. Stanhill, D. Reif, R. Ziss, J. Danowitz, and E. Pertzov. Structured stereo. WO2015163995 A1, Oct. 2015.

[^2]: S. Ben-Moshe, R. Kimmel, and M. Bronstein. Method and system for structured light 3D camera. US20120218464 A1, Aug. 2012.

[^3]: K. Berger, S. Meister, R. Nair, and D. Kondermann. A state of the art report on kinect sensor setups in computer vision. In Time-of-Flight and Depth Imaging. Sensors, Algorithms, and Applications, pages 257–272. Springer, 2013.

[^4]: A. Burbano, S. Bouaziz, and M. Vasiliu. 3d-sensing Distributed Embedded System for People Tracking and Counting. In Int. Conf on Computational Science and Comp. Intelligence, pages 470–475, Dec. 2015.

[^5]: H. Fu, H. Ma, and H. Xiao. Real-time accurate crowd counting based on RGB-D information. In Int. Conf. on Image Processing, pages 2685–2688, Sept. 2012.

[^6]: D. F. Glas, D. Brscic, T. Miyashita, and N. Hagita. SNAPCAT-3d: Calibrating networks of 3d range sensors for pedestrian tracking. In Int. Conf. on Robotics and Automation), pages 712–719, May 2015.

[^7]: M. Grzegorzek, C. Theobalt, R. Koch, and A. Kolb. Time-of-Flight and Depth Imaging. Sensors, Algorithms and Applications, volume 8200. Springer, 2013.

[^8]: B. Khaleghi, S. Ahuja, and Q. J. Wu. An improved real-time miniaturized embedded stereo vision system (MESVS-II). In Computer Vision and Pattern Recognition Workshops, pages 1–8. IEEE, 2008.

[^9]: D. Lefloch and et al. Technical foundation and calibration methods for time-of-flight cameras. In Time-of-Flight and Depth Imaging. Sensors, Algorithms, and Applications, pages 3–24. Springer, 2013.

[^10]: Q. Li, M. Biswas, M. R. Pickering, and M. R. Frater. Accurate depth estimation using structured light and passive stereo disparity estimation. In Int. Conf. on Image Processing, pages 969–972. IEEE, 2011.

[^11]: J. Liu, G. Zhang, Y. Liu, L. Tian, and Y. Q. Chen. An ultra-fast human detection method for color-depth camera. Journal of Visual Communication and Image Representation, 31:177–185, 2015.

[^12]: C.-C. Lu. Image process apparatus. US20150319425 A1, Nov. 2015.

[^13]: S. Mattoccia. Stereo vision algorithms for fpgas. In Proceedings of the Int. Conf. on Computer Vision and Pattern Recognition, pages 636–641, 2013.

[^14]: S. Mattoccia and P. Macri. A Real Time 3d Sensor for Smart Cameras. In Int. Conf. on Distributed Smart Cameras, page 29. ACM, 2014.

[^15]: S. Mattoccia and M. Poggi. A passive RGBD sensor for accurate and real-time depth sensing self-contained into an FPGA. In Int. Conf. on Distributed Smart Camera, pages 146–151. ACM, 2015.

[^16]: R. Nair, S. Meister, M. Lambers, M. Balda, H. Hofmann, A. Kolb, D. Kondermann, and B. Jahne. Ground truth for evaluating time of flight imaging. In ToF and Depth Imaging. Sensors, Algorithms, and Applications, pages 52–74. Springer, 2013.

[^17]: D. Pagliari and L. Pinto. Calibration of Kinect for Xbox One and Comparison between the Two Generations of Microsoft Sensors. Sensors, 15(11):27569–27589, 2015.

[^18]: M. Reisslein, B. Rinner, and A. Roy. Smart Camera Networks. Computer, 47(5):23–25, May 2014.

[^19]: B. Rinner and T. Winkler. Privacy-protecting Smart Cameras. In Int. Conf. on Distributed Smart Cameras, page 40. ACM, 2014.

[^20]: B. Rinner, T. Winkler, W. Schriebl, M. Quaritsch, and W. Wolf. The evolution from single to pervasive smart cameras. In Int. Conf. on Distributed Smart Cameras, pages 1–10. IEEE, 2008.

[^21]: T. Teixeira, G. Dublon, and A. Savvides. A survey of human-sensing: Methods for detecting presence, count, location, track, and identity. ACM Computing Surveys, 5:427–450, 2010.

[^22]: J. Thollot, X. Baele, and I. Ravyse. Stabilization of 3d Position Measurement. In Time-of-Flight and Depth Imaging. Sensors, Algorithms, and Applications, pages 46–51. Springer, 2013.
