
# 面向可轻松部署室内WSN的轻量级人员计数与定位

蒂亚戈·特谢拉、安德烈亚斯·萨维德斯

摘要——我们提出了一种轻量级方法，可利用摄像头传感器网络实现人员计数与定位。该算法借助运动直方图，基于运动和尺寸准则检测人员。运动直方图是一种平均平移直方图，可根据帧差分得到的“运动”图像中超过阈值的像素，估计房间内的人员分布。该算法计算复杂度低，且能获得良好的检测率。本文介绍了我们的设计细节，并通过实验确定了所提直方图的合适参数。最终的直方图和计数算法已在iMote2传感器节点网络上实现并测试。我们在传感器节点上的实现使用了搭载商用现成摄像头的定制传感器板，但该运动直方图的设计可轻松适配超低功耗地址事件运动成像器。

索引术语——辅助生活、人员计数、无线传感器网络。

![Image](images/e51f50c75a376ba231eb53d1591100490a41012d0c23c82381c61983a1d4a1da.jpg)

## 一、引言

<div style="text-align: center;">Fig. 1. Our custom camera board with wide-angle lenses mounted onto the iMote2 sensor node.</div>

能够对人员进行计数和定位的系统是广泛应用场景的普遍需求，例如辅助生活、家庭护理、安保、工作场所安全和娱乐等。要让这类系统在室内环境中长期运行，应对人员进出、物品新增替换或移动的变化，它不能依赖可穿戴传感器或物品标签。同时，出于可扩展性考虑，系统应成本低廉、易于安装，仅需很少甚至不需要现场校准。此外，出于多种原因，许多应用要求系统对场景中的人员保障一定程度的隐私。

针对这些需求，我们的研究致力于开发轻量级运动识别传感器，填补专用标量传感器（如被动红外（PIR））与通用阵列式传感器（如摄像头）之间的技术空白。我们应对这一挑战的方法是探索受生物启发的地址事件（AE）架构，该架构在像素层面异步运行，可提供特征信息而非仅输出图像。AE传感器还具有通常为超低功耗的优势。本文介绍了一种可基于运动识别地址事件成像器的输出实现人员计数与定位的轻量级算法。

我们在[^1]中的前期工作对新型地址事件成像器架构进行了初步评估，并提供了一个在无线传感器节点上仿真此类架构以测试AE算法的模型。本文针对安装在天花板、朝下放置的一组广角相机传感器节点，提出并评估了一种在室内空间对人员进行定位和计数的设计。本研究的初步结果已发表在[^2]中，我们在该文献中简要介绍了我们的人员计数与定位网络。本文在该工作的基础上进行扩展，进一步阐释了行人检测器的运行原理，并在实验中采用了经过改进的跟踪器。我们的设计针对[^1]中提出的架构，利用从运动和尺寸信息得到的直方图实现人员定位与计数。最终得到的算法可在iMote2相机传感器节点（图1）上实时运行，目前已部署在一个用于辅助生活的家庭测试平台中。本文所述工作的主要贡献是设计并评估了这种基于轻量级直方图、利用运动和尺寸信息进行人员定位的方法。通过采用地址事件运动成像器，直方图的计算需求可进一步降低，使其能够在体积更小的处理器上运行。

本研究的成果应用于耶鲁大学BehaviorScope项目[^3]，该项目利用人员在空间中的移动信息推断其行为，以辅助生活作为核心驱动应用。从部署在住宅内部的无线传感器网络（WSN）收集到的人员位置信息会结合建筑平面图进行处理，以识别住宅住户的活动。住宅住户一天当中的时空位置信息提供

---

一组宏手势，这些宏手势会通过分层概率上下文无关文法框架解析为一组预定义活动[^4][^5]。

本文其余部分结构如下：第二节介绍该问题的研究背景并综述相关工作；第三节和第四节概述我们的研究方法，介绍运动直方图的细节；第五节说明传感器节点如何利用直方图实现定位与计数；第六节展示我们的实验结果，我们的实验视频演示可在<http://www.eng.yale.edu/enalab/behaviorscope/counting.htm>查看；第七节总结全文。

现有文献中有大量旨在检测、计数、定位和/或跟踪人员的系统。近年来，大多数系统都采用相机作为主要传感模态，但也有其他系统依靠更特殊的模态，例如压力传感器[^6]和PIR阵列[^7]。在[^6]中，研究人员安装了压敏地砖，通过监测连续脚步声来分辨多个人的轨迹，但这种方法的安装过程十分繁琐，不适合大多数现有环境。而[^7]中的PIR阵列被用于对楼梯上的人员进行计数，这与[^8]的方法类似，该文献虽然也使用相机，但仅利用其中央扫描线包含的信息。这类方法被用于对封闭空间出入口的人员进行计数，仅需要很少的传感器；但另一方面，检测阶段产生的计数误差会无限传播下去。

### 二、研究背景与相关工作

![Image](images/e4b0f97d3c040cc3924c9c137d215d42db26b7a7edd0a0c301155ab3e0c1f107.jpg)

至于更传统的基于摄像头的人体检测器，一类方法通过将图像与空背景帧对比来从图像中分割出人体，另一类则直接采用某种模式匹配。待匹配的模式可以是人体图像库经主成分分析得到的特征向量，也可以是SIFT [^9]、[^10]和梯度方向直方图 [^11]这类特征元组。模式匹配方法依赖大量训练，特征提取和匹配过程的计算强度通常很高。

更典型的方法是先使用背景差分，再进行一系列形态学操作，以得到可用于分割（或称“分团”）人体的有效轮廓。参见图2(a)。该轮廓可用于确认分团得到的目标确实是人体 [^12]，或是确定边界框的形状，后续将从该边界框提取其他特征来完成上述确认目的 [^13]。由于底层形态学操作无法保证每个人恰好对应一个团，因此需要额外进行一步处理，将距离足够近的团合并。最终结果中，不属于同一目标的团常被合并，而同一目标的团常被拆分，这种情况可见于 [^14] 和 [^15]。这类算法通常会在分团完成后执行额外步骤，试图修正这类异常情况。

一些研究者利用立体相机辅助图像分割过程，[^14]中的研究就是这类情况。在该论文中，

<div style="text-align: center;">Fig. 2. Advantages of employing address-event (AE) imagers: since the computation starts at the pixel level, initial feature-detection steps can be skipped. Furthermore, the algorithms that operate on AE data are typically simpler.</div>

作者介绍了他们用于辅助生活的追踪系统。他们的背景模型仅考虑了像素强度的波动，在控制度较低的环境中会失效。更重要的是，他们的系统无法处理面积大于单组立体对视野的房间。

另一种方法 [^16] 利用多台视野高度重叠的摄像头获取房间二维横截面、房间内物体以及居住者的信息。该算法能提供不错的定位精度，但即使是覆盖一个小房间，也需要使用多台摄像头才能达到该精度。此外，该方法要求对相机的内参和外参进行精确校准。然而在辅助生活场景中，最大的问题是计算得到的横截面无法检测到坐在沙发上、躺下或是跌倒在地板上的人。

最后，背景模型的维护和更新本身就是一个问题。由于帧序列中存在一系列变化因素，这一过程必不可少，这些因素包括：

1) 像素强度的自然波动；

2) 光照的渐变，例如太阳移动带来的光照变化；

3) 存在重复性背景运动，例如枝叶晃动；

4) 静态物体的位置变化，例如家具移动。

已有许多算法尝试解决这些问题 [^17]。例如，情况1)可以通过将每个像素建模为高斯随机变量，并在短校准阶段估计其均值和标准差来处理。但这种方法无法应对需要背景自适应的2)、3)或4)情况。

最简单的自适应背景建模技术是对所有帧进行连续平均。这种方法会产生不良后果：在活动最频繁的区域生成“重影”，最终导致这些区域的分割结果可靠性降低。性能更好的自适应背景建模方法通常计算成本较高，有时会将每个像素建模为高斯混合模型[^18]或卡尔曼滤波[^19]。这类方法大多要求初始化时视场（FOV）内为空——这在我们关注的实际场景中往往无法满足。即使

---

如此，在第4种场景下，大多数方法要么失效，要么恢复缓慢。但在辅助生活和办公场景中，这类背景变化十分常见。举例来说，办公椅会在有人坐下或站起时被移动。

针对上述背景差分法存在的诸多问题，本文研究通过采用帧间差分法绕开了其中大部分问题[图 2(b)]。帧间差分法的原理是将当前帧减去前一帧，检测出亮度发生变化的像素。随后对得到的结果帧进行阈值处理，得到二值图像。这种简单计算对上述列表中的场景1）、2）和4）都具有鲁棒性，而这些正是室内部署中最常见的场景。通过这种方式，复杂的背景建模步骤变得不再必要，释放了系统资源。但帧间差分法得到的图像往往更难分割。这可能就是计算机视觉领域大多更偏好背景减除法的主要原因之一。我们针对该问题的解决方案是，对部署的部分条件加以约束，从而做出简化假设。具体来说，我们将相机安装在天花板上，镜头垂直向下，并假设天花板高度已知。正如第三节将要讨论的，这一设置让我们可以通过使用运动直方图彻底解决分割问题。帧间差分法的另一个问题是仅能检测到移动中的目标。本文中，我们使用额外特征来跟踪静止目标。

更重要的是，我们的方法从设计之初就围绕地址事件图像传感器展开。这类传感器是仿生相机，受角膜启发，将特征检测步骤移入成像器像素内部。和角膜中的神经元类似，每个像素在捕获到事件时会异步发出脉冲（也称为尖峰）。此处的“事件”指任何可被测量的变化。在我们为其设计运动直方图的这类成像器的具体场景中，当像素检测到一定强度变化时就会发出事件信号。随后地址事件表示（AER）协议会将所有这些尖峰多路复用到输出数据总线上。对于来自像素$x_i$的每个输入尖峰，AER编码器都会将$x_i$的地址输出到总线上。事件的幅度信息不会被直接编码，这和传统相机不同：传统相机中幅度是核心信息单元，无论场景是否包含关注内容，都会传输完整的大阵列数据。在AE相机中，幅度会被自然编码到事件频率中，也就是说，在对运动敏感的AE成像器中，检测到越多运动的像素触发频率越高。两类相机的另一区别是，地址事件相机不会将时间离散化为帧，因此能够实现只有超高速相机才能获得的高精度时间测量。令人惊讶的是，AE成像器的功耗通常仅为毫瓦或数百微瓦量级[^20]，[^21]。本文中，我们通过传统成像技术模拟AE输入，因此在当前设置下，我们未能获得AE高精度时间测量带来的优势。此外，若要用于地址事件硬件，我们的算法需要调整为每接收一个事件就运行一次，而非逐帧运行，这可以通过与[^1]中类似的方法轻松实现。

### III. 我们的方法

人类可以根据形状、尺寸和运动识别并统计其他人类的数量。背景差分法主要尝试提取和利用前两类信息。我们选择聚焦于后两类信息，同时通过对部署和环境引入一组约束来简化问题。首先，我们假设房间内的人员通常处于运动状态。尽管这一点并非始终成立，但每个人一定会在某些时刻满足该条件。其次，为了覆盖更大区域（所需传感器数量更少）并最小化遮挡，我们选择将相机安装在天花板上，镜头垂直向下。在这种配置下，结合已知的天花板高度，我们可以合理假设人体尺寸处于某个预先定义的范围内。基于这两个假设，我们的目标是将所有满足运动和尺寸条件的图像实体分类为人体，并从测量结果中提取他们离散的物理位置。

为此，我们从帧差分图像构建运动直方图，并利用该信息精确定位每个人的位置。结合已知的相机参数和天花板高度，该直方图在设计时就考虑了人体对应的典型像素尺寸，并利用该尺寸计算出最能解释帧差分图像中运动像素的离散人体位置（直方图峰值）。这些位置随后可由更高层级的算法处理，用于跟踪每个人并识别他们的行为[^4]，[^3]，[^5]。但本文的重点并非为每个人分配唯一标识以及由此产生的数据关联问题，而是我们提出的用于人体检测和定位的轻量级感知算法。

### 四、运动直方图

### A. 概述

为简便起见，我们考虑在经过背景差分、阈值处理的图像横截面中检测行人的一维场景。如图3(a)所示，理想情况下每个行人对应的所有前景像素都是连通的。但实际情况往往并非如此——尤其是帧差分图像中，超过阈值的“运动”像素通常分布稀疏。本文提出的方法通过假设人体尺寸近似已知来解决这些问题，在此基础上构建运动直方图，该直方图本质上是对运动物体位置未知二元概率密度函数的估计，随后将局部概率最高的位置选为行人检测结果。

---

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

![Image](images/a95d3324c440afe282959bd646ac1d727b9709a017a8a021ece818fa4a16aae8.jpg)

<div style="text-align: center;">(b) histogram with 3-pixel-wide bins</div>

![Image](images/ebdb801820b27cd759ccb45d3012590464a6cadab919e650a98db3f52c970ee1.jpg)

<div style="text-align: center;">(c) 3 superimposed shifted histograms</div>

![Image](images/c4da41028bed8853ec313cb38fd6783fe41db786838d3994e4fc9f6ef2a487cd.jpg)

<div style="text-align: center;">(d) average shifted histogram</div>

<div style="text-align: center;">Fig. 3. (a) Cross section of thresholded background-differenced image with two people present. (b) Histogram with three-pixel-wide bins. People are detected at the histogram peaks, but the right-most person's position is ambiguous. (c) Superimposition of three histograms with same bin width but different bin origins. (d) Combining the three histograms from (c), an averaged shifted histogram is formed. Notice how the histogram peak is now a better estimate of the person's position. Since the origin shift was in 1-pixel increments, this last histogram looks like the result of a convolution, but other shifts may be used as described in the text.</div>

已知天花板高度（即相机的z坐标），包围人体图像的边界框尺寸可以通过已知平均值近似得到。设w为图像帧横截面中人体的平均宽度，我们可将前景像素划入宽度为w的区间来生成直方图，图3(b)展示了w=3时的情况，之后可利用模态搜索算法区分场景中的每个运动行人。尽管图中的直方图能非常精确地检测出第一个行人的位置，第二个行人的位置却十分模糊，这种效应是由区间原点的特定选择导致的。当然，在这种情况下，我们可以根据每个区间的值对区间坐标进行巧妙加权，从而更好地估计第二个行人的位置，但这会重新出现传统图像团块检测中的连通性问题。更好的方法是同时使用多个不同的区间原点，由此可以由多个平移后的直方图组合得到单个高分辨率直方图，如图3(c)和(d)所示。这种直方图被称为平均偏移直方图（ASH）。

图3(d)中ASH的众数对每个人位置的估计精度要好得多。尽管图3(c)中的移位直方图偏移了$\delta = 1$个像素，实际中常使用更大的$\delta s$。当参数为$\delta = 1$时，ASH退化为卷积。显然，$\delta$越小，获得的分辨率越高，因为直方图的最坏情况峰值位置误差由$\delta/2$给出。然而，当使用帧差图像时，更高分辨率往往会产生无法代表底层分布众数的直方图峰值。要理解这一现象，需要将每个经阈值处理的像素看作一个伯努利变量。在这种情况下，运动边缘处像素$x_e$高于阈值的概率为$Pr(x_e) = p_e$，而非边缘像素$x_{ne}$高于阈值的概率为$Pr(x_{ne}) = 0$（在理想无噪声场景下）。此时，运动直方图可以建模为每个区间服从二项分布binomial $(n_i, p_e)$，其中样本量$n_i$是区域$B_i$范围内的边缘像素数量。基于这些假设，通过为每个区间分配其二项分布的期望值，即可得到不同$\delta$取值下直方图的期望形状。对于这个“期望”直方图，能使人定位误差最小的$\delta$确实就是$\delta = 1$。但该直方图在大多数实际情况中会呈现非常锯齿化的形态，很容易产生假阳性峰值检测。这种情况可以通过对直方图做低通处理（例如使用高斯核，或ASH权重）来平滑这些假峰。但这又引入了选择最佳截止频率以避免滤除有效峰值的问题。而带$\delta > 1$的ASH在此时就很有优势：直观来看，大的区间偏移量就能在不增加额外成本的情况下产生类似低通的效果，优势还在于ASH的参数具有物理解释。

ASH与卷积的另一个相似之处在于，ASH也可以根据像素到区间中心的距离为像素分配不同权重，以进一步提高直方图的精度。这类似于将阈值处理后的图像与给定核做卷积——二者的主要区别仍然是，卷积的$\delta$参数始终为1。

综上所述，本文所描述的运动直方图是一种带均匀权重的二维ASH（均匀权重使得该ASH可与方形掩码的卷积类比）。该直方图是对当前图像帧与前一帧图像差值的绝对值计算得到的。此外，正如第IV-D节将要讨论的，当使用广角镜头时，我们的ASH由非均匀区间构建而成，这些区间是根据人远离光轴移动时呈现的不同形态建模得到的。这种效应在使用广角镜头时会明显加剧，而我们的部署场景恰好就是这种情况。

### B. 直方图结构

运动直方图的核心目标是，基于与前一帧相比变化最大的像素确定每个人的位置。接下来，我们考虑将图像I划分为多个部分重叠的区域（图4）。每个区域B都是图像的一个子集。为简化起见，假设所有这些区域的并集恰好覆盖整个图像：$\bigcup B_i = I$。随后我们构建尺寸为$H_X \times H_Y$的运动直方图H，图像中的每个区域$b = H[j, k]$都对应直方图中的一个仓$j \in H_X$、$k \in H_Y$、$B_i$。在不失一般性的前提下，本节剩余部分我们假设区域中心排列成网格结构，直方图的仓也同样排列为网格。

---

![Image](images/651ebd829522b2eb86a93776be895a58fbcc5490cce5b2663024bd0a89d3ee0a.jpg)

<div style="text-align: center;">Fig. 4. (a) Histogram structure: histograms are composed of multiple bins defined from overlapping areas in the image (left). The bin size is calculated from human dimensions, and each bin can be uniquely identified by its top-left corner position. Using these positions, a more traditional representation of the histogram may be composed (right).</div>

每个直方图仓$b_i$的值等于对应区域$B_i$中高于阈值的像素数量。在图4中，仓b对应图像左上角的蓝色区域。因此我们可以定义关系$g: H \mapsto 2^I$，将直方图中的每个仓映射到图像I中其对应的像素集合$B_i$。符号$2^I$用于表示I的幂集（即I所有子集构成的集合），因此有$g(b_i) = \{x: x \in B_i\}$。反之则有$h: I \mapsto 2^H$，其中$h(x) = \{b_i: x \in B_i\}$对每个像素给出了包含该像素的所有仓的集合。

若图4左侧的仓区域为宽度等于w的正方形，且仓中心之间的最小距离为$\delta$，则g可以定义为

 $$ g(b)=\{x:x_{x}\in[b_{x}\delta,b_{x}\delta+w]\land x_{y}\in[b_{y}\delta,b_{y}\delta+w]\} $$

其中$b_{x}$和$b_{y}$是直方图中仓b的x坐标和y坐标，$x_{x}$和$x_{y}$是图像中像素x的坐标。同理，图中所示方形仓ASH的映射h为：

 $$ h(x)=\left\{b:b_{x}\in\left[\frac{x_{x}}{\delta},\frac{x_{x}-w}{\delta}\right]\wedge b_{y}\in\left[\frac{x_{y}}{\delta},\frac{x_{y}-w}{\delta}\right]\right\}. $$

关系g和h不必像这里给出的这么简单，正如我们将在第IV-D节介绍的，采用不规则仓可以获得更好的结果。

### C. 填充直方图

正如前文解释和图5所示，我们利用相邻两帧差分得到的运动信息来填充直方图。每帧的直方图填充算法会先将所有仓的值重置为0，随后对每个高于阈值的像素，将包含该像素的所有仓的值加1。也就是说，给定一个高于阈值的像素x，我们会对集合$h(x)$中的所有仓进行增量操作。最终每个直方图仓都会被赋予一个值，对应它所包含的前景像素总数。

 $$ b=\left|\left\{x:x\in g(b)\land x>T\right\}\right| $$

![Image](images/c048782460191afabc4fae7253c09572bf7783f29355a1f96f286b289b9e065f.jpg)

<div style="text-align: center;">Fig. 5. Detecting positions from motion images: each pixel in the image is mapped to one or more histogram bins (as shown in Fig. 4). Bin values are incremented for each foreground pixel the bin contains. Histogram peaks detect people's positions. Note that, for simplicity, this diagram shows each bin connected to a different four-pixel area. In reality, however, bins encompass many more pixels.</div>

## 过程 FillHistogram()

对于每个 $b \in H$

 $$ b\leftarrow b\times\alpha $$

对每个 $x \in I$

 $$ \left\lfloor\begin{array}{l}\mathbf{i f}x>T\\\left\lfloor\begin{array}{l}\mathbf{f o r}e a c h b\in h(x)\\\left\lfloor b\leftarrow b+(1-\alpha)\right.\end{array}\right.\end{array}\right. $$

<div style="text-align: center;">Fig. 6. Pseudocode for histogram computation algorithm.</div>

![Image](images/5b58be1150dfe7ac887ba6caecc95ff3f16f36e015ac8ec072aeb2a9f78a3f3a.jpg)

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

![Image](images/f8c8d95060c6151a2241f7fd671b13b78281b245212bb23dc861a33da1a01d88.jpg)

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

<div style="text-align: center;">Fig. 7. Example histogram frame. (a) Moving pixels. (b) Resulting histogram. People are detected at histogram peaks.</div>

其中竖线表示集合的基数，T是强度变化的阈值。随后，我们可以通过在直方图上运行峰值检测算法得到图像平面上的人员位置。

为了进一步提升抗噪声鲁棒性，可以对直方图填充算法进行修改，以纳入来自前序帧的信息。这可以通过使用变量$\alpha$实现，如图6中的伪代码所示。通过这种方式，每个新直方图都会叠加到之前的直方图之上，并且

---

 $\alpha \in [0,1)$ 充当融合因子。因此，丢弃历史直方图过往值的情况是该方法的一个特例，对应参数为 $\alpha = 0$。图7展示了当 $\alpha = 0.4$ 时，该算法生成的直方图。使用较大的 $\alpha$ 会带来一个不良影响：人体对应的峰值会滞后于人体的实际位置，但我们发现，小于0.5的参数值在此方面通常能产生可接受的结果。

抑制直方图噪声的另一项措施是在峰值查找算法后加入阈值，仅保留高度足够的峰值用于人数统计和定位。该阈值可以通过以下方式估算：计算空场景的运动直方图，选取bin的平均高度加上两倍标准差作为阈值。虽然该阈值是经验值，但我们发现它不需要设置得很大（约为bin中像素总数的 $\sim$0.5%），且该值通常很少需要进一步调整。

图6中直方图填充算法的复杂度为 $O(I_X I_Y (w/\delta)^2)$，其中 $I_X$、$I_Y$ 为图像的尺寸，$(w/\delta)^2$ 是每个像素被包含在不同bin中的平均数量。我们实验中使用的峰值查找算法复杂度为 $O(H_X H_Y)$，因为该算法的原理是在直方图的每个 $5 \times 5$ 区域中搜索局部极大值点。由于直方图的尺寸通常远小于图像尺寸，整个人体检测算法的复杂度上限由直方图填充步骤决定。

### D. 直方图调整：广角镜头相关考量

当每个bin映射到图像中大小相等、位置错开的区域时，直方图可以看作图像与人体模型互相关的结果。最简单的情况就如我们前文讨论的，模型为正方形。另一种方案是使用更复杂的函数作为核，例如多元高斯分布。对于本文后续讨论的其他类型模型，生成直方图的操作将不再是互相关，因为核的形状会随其位置变化。

所选用的模型类型对直方图的性能影响极大。这是互相关效应的延伸：当核与目标完美匹配时，相关峰值的锐度和高度达到最佳。对于运动直方图，如果模型太小，同一个人体可能会在直方图中产生多个峰值。反之，如果模型太大，两个人体被错误合并为一个峰值的概率就会上升。在选择窗口移动步长 $\delta$ 时也需要做类似的考量：如果bin之间距离太近，同一个人体可能会被多个bin包围；如果距离太远，则可能完全检测不到该人体。这些参数初始会根据场景设置中人体的平均尺寸选定，之后再通过经验微调（第六-A节）。

还有两种尚未被考虑的额外影响，在构建直方图时必须加以考量：透视效应和镜头畸变。对于广角镜头，以及物体沿光轴方向的长度相对于物距较大的场景，这两种影响会尤其突出。由于人体的尺寸相对较大

![Image](images/3155db731f9e3dbfbde1706e2023caf05fa54b9e784f893d197198c428f5c5a4.jpg)

<div style="text-align: center;">Fig. 8. Effect of perspective and lens distortion on histogram. (a) Ground-truth positions. (b) Image from top-view camera. (c) 3D bin model in the two locations that best match the ground-truth position. (d) Bins projected using camera and deployment parameters. These are the h mappings of the two peak bins of the motion histogram.</div>

与典型的天花板高度[图 8(a)]相比，我们的装置必须考虑这一因素。图 8(b)中的顶部摄像头拍摄得到的人像会根据人物到摄像头中心轴的距离呈现出明显不同的效果：图像中心附近的人物是俯视视角，而边缘区域的人物则是侧斜视角。因此，方形直方图分箱对图像中心附近处于近似俯视视角的目标能得到较好结果，但当人物移动到图像边缘时，效果就不尽如人意了。

针对这一问题，我们利用相机内参校准参数，将三维人体模型投影到图像平面得到修正模型。我们采用长方体作为三维模型[图 8(c)]，其宽和高取自人体平均测量值。通过对长方体每个角点坐标结合几何光学方程与布朗-康拉迪畸变方程 [^22] 计算得到模型的成像结果。模型在图像平面的投影被保存为布尔位图，这些位图共同构成了分箱到图像区域的映射g，映射h也通过类似方式计算得到。如图 8(d)所示，最终得到的分箱提供了更准确的模型。运动直方图可按如下方式构建：对于直方图中的每个分箱 $b_i$，将三维模型偏移量 $\delta$，并将 $b_i$ 处的g值映射到长方体投影图像内的区域 $B_i$： $g(b_i) = B_i$。使用该模型后，直方图参数w和 $\delta$ 可以用现实世界单位（如厘米）而非像素度量，更加直观。

### 五、相机节点级计数

运动直方图的设计目的是检测和定位运动物体。因此，只要相机FOV内没有物体停止运动，直方图的峰值数量就对应房间内的人数。但当有人停止移动时，必须采取措施来保持其位置一致性。因此，我们对运动直方图检测得到的位置进一步使用标准跟踪算法进行处理。

---

跟踪问题需要在目标出现的所有帧中，为每个检测到的目标标记同一个唯一ID。但出于本文讨论的目的，我们放宽了对唯一ID有效性长度的要求，因为我们的跟踪器主要用作“停止”检测器。因此，如果出现歧义情况（例如两人交叉经过），允许跟踪算法为歧义涉及的每个人分配新的ID。

基于上述原因，同时考虑到传感器节点平台的功耗和计算能力限制，我们采用的跟踪器不对传感器数据使用卡尔曼滤波或粒子滤波。相反，本节余下部分介绍的方法基于二分图匹配，如文献[^23]、[^24]中的方法。与我们先前工作[^2]中使用的轻量级跟踪器相比，本文当前的跟踪器将直方图特征（峰值高度）替换为图像特征（颜色直方图）。这样做的目的是提高对“停止”状态的鲁棒性，我们会在本节后续内容中对此进行说明。

我们的跟踪器工作流程如下：在每个时刻，算法将运动直方图中所有峰值构成的集合 $Q = \{\vec{\mathbf{q}}_j\}_{j=0}^m$ 以及上一时刻检测到的所有行人构成的集合 $P' = \{\vec{\mathbf{p}}_i'\}_{i=0}^n$ 作为输入。需要说明的是，我们用上撇号标记来自上一时刻的变量。变量 $m = |Q|$ 是当前帧的峰值数量，而 $n' = |P'|$ 是上一帧中检测到的行人数量。我们可以生成一个完全二分图 $G = (P' \cup Q, E)$，其中每条边的权重由函数 $w : P' \times Q \mapsto [0,1]$ 给出。跟踪器的目标是在G中选出一个最大权重匹配M，即找到峰值到行人的分配组合，使给定的相似度函数w全局最大化。该匹配可以使用匈牙利算法[^25]计算，复杂度上界为 $O(n^2m)$（其中n为顶点数，m为边数）。[^26]中描述的方法将该复杂度降低至 $O(n^2 \log(m) + nm)$。本文采用贪心方法后接穷举法来解决冲突。

每个峰值由向量$q = (q_x, q_y, q_C)$表示，每个检测到的行人由$p = (p_{id}, p_x, p_y, p_C)$表示。这些特征包括行人ID、x坐标与y坐标（基于运动直方图坐标系），以及对应bin所在图像区域的颜色直方图。该区域由第四节B部分描述的bin到图像平面的映射g给出。所用的颜色直方图将该区域内的每个像素分配到32个bin中的一个。我们选择这些特征（位置和颜色直方图），是因为它们对同类跟踪器的检测率有正向贡献[^24]。

因此，权重函数w定义为

 $$ w(p^{\prime},q)=\beta\operatorname{E u c}((p_{x}^{\prime},p_{y}^{\prime}),(q_{x},q_{y}))+(1-\beta)\operatorname{B h a t}(p_{C},q_{C}) $$

其中$\text{Euc}(\cdot, \cdot)$是由最大可能距离（图像对角线）归一化后的欧氏距离，$\text{Bhat}(\cdot, \cdot)$是巴氏系数，$\beta$是区间$[0,1]$内的经验常数。此外我们还加入了一个额外约束：为了完成正确匹配，行人相邻两帧之间的移动距离不能超过$d = 4 \text{bins}$。结合本文部署中使用的w和直方图的$\delta$，该约束允许行人的移动速度最高为6.7 m/s。

跟踪器的输出是所有$p = (p'_{id}, q_x, q_y, q_C)$对应的检测到的行人集合P $(p', q) \in M$。也就是说，每个新匹配的行人都由其新位置、颜色直方图以及原ID共同表示。

到目前为止描述的跟踪器假设图像中的行人始终处于运动状态。这是因为运动直方图存在局限性：如果行人停止移动就会从检测结果中消失。为了解决这个问题，我们在每个时刻向Q中添加一个虚拟峰值$q^*$。该虚拟峰值有一个特殊性质：它的位置取决于它匹配的$p'$。当计算边$(p', q^*)$的权重时，$q^*$变为$(p'_x, p'_y, C^*)$，其中变量$C^*$是当前帧中属于集合$B = g(H[p'_x, p'_y])$的所有像素的颜色直方图。因此，每个检测到的行人还会与当前帧中对应其原位置的区域进行比较。对于类型为( $\beta$, $\cdot$)的边，我们会选择更小的$p^*$来加权，以突出颜色直方图相较于位置的影响（位置直接复制自上一帧的检测结果）。

### 六、实验结果

直方图的精度通常通过平均积分平方误差或$L_{1}$范数期望值这类准则进行度量。通过针对直方图参数最小化该准则，即可得到给定分布的最优参数。但目前尚不明确运动人体高于阈值的像素分布规律。由于缺乏这类信息，我们按照第六-A节所述，通过经验方法优化直方图参数。在第六-B节中，我们基于第六-A节得到的参数测试了运动直方图的分辨率。最后，第六-C节将介绍我们部署人数统计传感器网络得到的初步结果。

### A. 直方图参数

为了找到最优的w和$\delta$尺寸，我们对安装在天花板的USB相机拍摄的多段视频计算了直方图。每段视频中的人数固定，且所有人员始终处于运动状态，人数范围为0到5人。对于直方图峰值数量与房间内实际人数不匹配的帧，错误计数器会加1。我们将错误数量最少（计数器值最低）的结构选为最优直方图结构。图9展示了固定$\delta = 15\,cm$时改变w产生的影响，图10则是固定w为50 cm、改变$\delta$得到的结果。两个图均使用三维bin模型生成，长方体高度设置为170 cm。由于当无人处于相机视场（FOV）时没有出现假阳性，因此图中省略了零人数的曲线。

图9和图10中的曲线展示了未使用任何跟踪或其他特征时，原始直方图输出的检测能力。在该条件下，对于$w \in [30\,cm, 50\,cm]$以及最多四人的场景，直方图峰值对人数的正确检测率超过60%。最优bin偏移量落在区间$\delta \in [8\,cm, 15\,cm]$内。本实验所在的房间

---

![Image](images/a510919213f8099ff69a14441578c50e558bc76469661fac9309b858729497de.jpg)

<div style="text-align: center;">Fig. 9. Effect of varying the bin width w in the 3-D bin model. The value of  $\delta$ was kept at 15 cm. The y-axis shows the number of detection errors, normalized for easier comparison between experiments with different numbers of people.</div>

![Image](images/411dcf331e79f26e8981cb787e9188b48a6652a4e291cdd729f39be256f5a210.jpg)

<div style="text-align: center;">Fig. 10. Effect of varying the model shift  $\delta$ in the 3-D bin model. The width was kept at 50 cm. The y-axis shows the number of detection errors, normalized for easier comparison between experiments with different numbers of people.</div>

开展这些实验的尺寸为$9\ m \times 5\ m$，天花板高度为$3\ m$。整个地面由安装在天花板、搭载$162^\circ$广角镜头的单个相机节点覆盖。如果将可用视场定义为能够完整呈现整个人的区域，那么可用区域的尺寸会缩小到约$3.2\ m \times 2.4\ m$。我们要求房间内的人员保持在该边界内，但在五人实验中，受空间限制，人员经常会移出边界。这一点也体现在图中：五人检测的错误率远高于其他场景。需要再次强调，这里展示的是运动直方图的原始输出。通常它会与其他数据模态结合，进一步提升结果，这一点在第五节介绍的跟踪器中通过融入颜色直方图信息已经实现。

图10中曲线的形状印证了我们选择直方图而非卷积的决定。显然，较小的bin偏移更理想，因为它能得到定位误差更小的直方图模式。但正如第四-A节所讨论的，这类直方图也更容易产生假阳性。这一效应在图中清晰体现：小bin的错误率很高，中等大小bin的错误率大幅下降，而大bin的错误率再次上升。

在本文剩余部分中，我们选择了$w = 50$ cm和$\delta = 15$ cm，因为它们是上文讨论的最优范围内的最大值。选择最大数值的目的是，在人员未站立的场景中提高对误报的鲁棒性。采用这些直方图参数后，直方图会将图像划分为$50$ cm $\times 50$ cm的区域，偏移量为$\delta = 15$ cm。使用这些参数，我们在允许人员坐下或躺下的测试中得到了零误报的结果，即使我们所用的长方体是站立人员的模型。

### B. 直方图分辨率

我们通过让两人相向行走并在图像中心相遇，测试了直方图的位置精度。该测试由单个相机采集数据，共进行了五组不同实验。直方图能够100%准确区分相距最远15 cm的两个目标。该分辨率非常适用于辅助生活场景，这类场景的核心需求是逻辑空间位置（例如“在沙发上”或“在炉灶旁”），而非更高精度的坐标。我们还对距离图像中心越来越远的位置进行了相同测试，结果显示在距离图像中心1米范围内（占可用区域的66%），测试结果保持一致。在该距离处，即使直方图有时会为两个人生成单个峰值，跟踪/计数算法也能够对二者进行区分消歧。在人员完全处于相机拍摄范围内的最远位置（距离中心1.5米），算法大约漏检了42%的所有检测结果。我们认为，通过采用更优秀的跟踪器，这类场景下的性能仍有提升空间。直方图在图像中心三分之二的区域能达到最佳精度，因为当两人近距离并肩行走在图像边缘附近时，经常会发生遮挡。在中心区域，五次平行行走测试（两人在不同位置并肩行走）中都达到了最高精度（15 cm，给定$\delta = 15$ cm）。此外，在两人从不同角度交错穿行的实验中，无论距离图像中心远近，跟踪算法都能够保持正确的计数和位置定位。这可能得益于这类实验中遮挡的持续时间较短。本节所有实验均在台式计算机上离线完成，使用Python实现了所有算法。

### C. 网络实现

我们在由多个Intel iMote2传感器节点组成的传感器网络中实现了运动直方图和计数算法。每个节点搭载一块定制相机板（图1），板上集成了OmniVision OV7649图像传感器。节点以$320 \times 240$分辨率采集图像，将其下采样为$80 \times 60$，随后运行图6所述的算法。网络在启动时通过广播

---

![Image](images/6f3a9f24816e487159936865332b18a5d64c3576e2ba6435e24c13a594947116.jpg)

<div style="text-align: center;">Fig. 11. Snapshot of the real-time visualization GUI: a composite of pretransferred images from all six nodes is used as the background where each detected person's locations is overlayed (blue circles). In the snapshot above there are three people in the scene. An orange circle is placed at each node's location, with the node IDs also displayed. The numbers on the blue circles are each person's temporary ID assigned by the tracker. The count reported by the base is shown in the top-left corner of the image.</div>

从基节点完成时间同步。映射g和h经过预计算后存储在节点内存中，以实现快速运行。对于每一帧，检测到的峰值数量$|P|$连同时间戳会被记录到一个小型缓冲区中。出于可视化目的，当缓冲区存满或超时后（以先发生者为准），缓冲区内容可通过无线传输发送至基节点。这使得我们可以在客户端台式机的图形界面中实时验证人员位置（图11）。当处理器配置为以208 MHz运行时，整个过程的重复帧率为 $\sim$ 14Hz。每个节点的本地计数发生变化时就会被发送出去。基站聚合所有计数后，将总计数上报给网关计算机。

这些节点部署在我们实验室天花板的测试平台结构上，与基站仅一跳距离，整体为星型拓扑。由于实验室天花板高度为240厘米，且存在隔间墙，因此需要六个节点才能覆盖整个区域。在此配置中，每个节点的可用FOV约为$3 \, m \times 2 \, m$。节点位置经过优化以减少FOV重叠，节点采集的图像会被裁剪，直到重叠几乎消除。通过这种方式，我们避免了大部分对应匹配问题，从而可以专注于直方图和计数性能的研究。此外，由于FOV不重叠，本文描述的系统可以轻松适配树形拓扑。在该配置中，每个节点对所有子节点的计数求和，加上自身的本地计数后将结果上报给父节点。该过程可以周期性重复（例如[^27]、[^28]中的方案），也可以仅在新本地计数与前一次不同时触发，例如[^29]中的方案。

实验过程中，人员在测试平台范围内行走，穿过每个节点的FOV。共进行了五次实验，允许人员随意停留，也可以坐下和站起。我们记录了覆盖区域内人数从1到5的所有实验结果。检测正确率从房间内仅有1人时的92.9%，下降到5人时的64.3%，如表I所示。对峰值的仔细检查

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

<div style="text-align: center;">NETWORK IMPLEMENTATION RESULTS</div>

<table border=1 style='margin: auto; word-wrap: break-word;'><tr><td style='text-align: center; word-wrap: break-word;'>people present</td><td style='text-align: center; word-wrap: break-word;'>correct detections</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>1</td><td style='text-align: center; word-wrap: break-word;'>92.9%</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>2</td><td style='text-align: center; word-wrap: break-word;'>88.6%</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>3</td><td style='text-align: center; word-wrap: break-word;'>80.1%</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>4</td><td style='text-align: center; word-wrap: break-word;'>71.6%</td></tr><tr><td style='text-align: center; word-wrap: break-word;'>5</td><td style='text-align: center; word-wrap: break-word;'>64.3%</td></tr></table>

定位数据表明，大多数误差可归因于人员暂时行走在FOV之间或FOV之外。随着人数增加，遮挡开始成为问题，但由于大多数遮挡持续时间很短，跟踪器能够纠正绝大多数错误。其他误差来源是传感器节点之间时间同步的微小偏差，这有时会导致系统在同一时钟时刻对同一个人重复计数两次。因此，通过实现诸如[^30] [^31] [^32]的时间同步协议，可以直接获得更好的结果。

### 七、结论

我们开发了一种利用运动直方图实现人员检测、计数和定位的算法。该算法轻量高效，可在无线传感器节点上实时运行。通过使用低功耗AER运动相机，整体计算复杂度可以进一步降低，从而允许采用更简单的处理器，降低系统整体功耗。由于部署时不需要在现场完成校准步骤，该系统仅通过添加更多节点即可快速扩展。唯一的校准要求是：当使用广角镜头时，必须大致已知相机的内参。如果所有使用的镜头都是同一型号，则仅需对一台相机进行内参校准，得到的参数就可以重用于所有节点。

我们在传感器节点上实现了第五节所述的运动直方图和跟踪算法，节点将检测到的人数传输到基站进行聚合。该网络要求相机FOV不重叠，但未来工作的一个可行方向是利用FOV重叠来提升系统对遮挡的鲁棒性。目前我们正在对该网络以及算法的误差来源开展更广泛的评估。

[^1]: T. Teixeira, E. Culurciello, E. Park, D. Lymberopoulos, and A. Savvides, “Address-event imagers for sensor networks: Evaluation and modeling,” in Proc. Inf. Process. Sens. Netw. IPSN, Apr. 2006, pp. 458–466.

[^2]: T. Teixeira and A. Savvides, “Lightweight people counting and localizing in indoor spaces using camera sensor nodes,” in Proc. ACM/IEEE Int. Conf. Distributed Smart Cameras, Sep. 2007, pp. 36–43.

[^3]: D. Lymberopoulos, T. Teixeira, and A. Savvides, “The Behaviorscope System and its application to assisted living,” Yale Univ., New Haven, CT, Tech. Rep. ENALAB 120407, 2007.

[^4]: D. Lymberopoulos, A. Ogale, A. Savvides, and Y. Aloimonos, “A sensory grammar for inferring behaviors in sensor networks,” in Proc. Inf. Process. Sens. Netw. IPSN, Apr. 2006, pp. 251–259.


## [^5]: D. Lymberopoulos, T. Teixeira, and A. Savvides, “Detecting patterns for assisted living: A case study,” in Proc. SensorComm, 2007, pp. 590–596.


---

[^6]: T. Murakita, T. Ikeda, and H. Ishiguro, “Human tracking using floor sensors based on the Markov chain Monte Carlo method,” in Proc. 17th Int. Conf. Pattern Recognition, Aug. 2004, pp. 917–920.

[^7]: K. Hashimoto, K. Morinaka, N. Yoshiike, C. Kawaguchi, and S. Matsueda, “People count system using multi-sensing application,” in Proc. IEEE Int. Conf. Solid-State Sens. Actuators, Jun. 1997, pp. 1291–1294.

[^8]: G. Conrad and R. Johnsonbaugh, “A real-time people counter,” in Proc. ACM Symp. Appl. Comput. SAC'94: , New York, 1994, pp. 20–24, ACM Press.

[^9]: D. G. Lowe, “Distinctive image features from scale-invariant key-points,” Int. J. Comput. Vision, vol. 60, no. 2, pp. 91–110, 2004.

[^10]: Y. Ke and R. Sukthankar, “Pea-sift: A more distinctive representation for local image descriptors,” in Proc. IEEE Conf. Comput. Vision and Pattern Recognition, 2004, pp. 506–513.

[^11]: N. Dalai and B. Triggs, "Histograms of oriented gradients for human detection," in Proc. IEEE Conf. Comput. Vision and Pattern Recognition, 2005, pp. 886–893.

[^12]: D. J. Lee, P. Zhan, A. Thomas, and R. Schoenberger, “Shape-based human intrusion detection,” in SPIE Int. Symp. Defense and Security, Visual Inf. Process. XIII, 2004, vol. 5438, pp. 81–91.

[^13]: A. M. Tabar, A. Keshavarz, and H. Aghajan, “Smart home care network using sensor fusion and distributed vision-based reasoning,” in Proc. 4th ACM Int. Workshop Video Surveillance and Sens. Netw. VSSN'06, New York, 2006, pp. 145–154, ACM Press.

[^14]: J. Krumm, S. Harris, B. Meyers, B. Brumitt, M. Hale, and S. Shafer, "Multi-camera multi-person tracking for easily living," in Proc. 3rd IEEE Int. Workshop Visual Surveillance (VS'2000), Washington, DC, 2000, pp. 3–10, IEEE Comput. Soc.

[^15]: J. Owens, A. Hunter, and E. Fletcher, “A fast model-free morphology-based object tracking algorithm,” in Proc. British Machine Vision Conf., 2002, pp. 767–776.

[^16]: D. Yang, H. Gonzalez-Banos, and L. Guibas, “Counting people in crowds with a real-time network of simple image sensors,” in Proc. 9th IEEE Int. Conf. Comput. Vision, Oct. 2003, pp. 122–129.

[^17]: D. Hall, J. Nascimento, P. Ribeiro, E. Andrade, P. Moreno, S. Pesnel, T. List, R. Emonet, R. B. Fisher, J. Santos Victor, and J. L. Crowley, "Comparison of target detection algorithms using adaptive background models," in Proc. VS-PETS, 2005, submitted for publication.

[^18]: C. Stauffer and E. L. Grimson, “Learning patterns of activity using real-time tracking,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 22, no. 8, pp. 747–757, Aug. 2000.

[^19]: C. Ridder, O. Munkelt, and H. Kirchner, “Adaptive background estimation and foreground detection using kalman filtering,” in Proc. Int. Conf. Recent Advances in Mechatronics, 1995.

[^20]: E. Culurciello and A. G. Andreou, “ALOHA CMOS imager,” in Proc. 2004 IEEE Int. Symp. Circuits and Systems ISCAS'04, May 2004.

[^21]: P. Lichtsteiner, J. Kramer, and T. Delbruck, “Improved on/off temporally differentiating address-event imager,” in IEEE Int. Conf. Electronics, Circuits and Systems, ICECS, Dec. 2004, vol. 4, pp. 211–214.

[^22]: D. C. Brown, “Decentering distortion of lenses,” American Society of Photo Grammetry, Annu. Conv., vol. 32, pp. 444–462, Mar. 1965.

[^23]: K. Shafique and M. Shah, “A non-iterative greedy algorithm for multi-frame point correspondence,” in Proc. ICCV, 2003.

[^24]: M. Taj, E. Maggio, and A. Cavallaro, “Multi-feature graph-based object tracking,” in CLEAR, 2006, pp. 190–199.

[^25]: H. W. Kuhn, “The Hungarian method for the assignment problem,” in Naval Research Logistic Quarterly, 1955, vol. 52.

[^26]: M. L. Fredman and R. E. Tarjan, “Fibonacci heaps and their uses in improved network optimization algorithms,” J. ACM, vol. 34, no. 3, pp. 596–615, 1987.

[^27]: J. Hellerstein, W. Hong, S. Madden, and M. Franklin, “Tag: A tiny aggregation service for ad-hoc sensor networks,” in 5th Symp. Operating Systems Design and Implementation, 2002.

[^28]: S. Madden, M. Franklin, J. Hellerstein, and W. Hong, “Tinydb: an acquisitional query processing system for sensor networks,” ACM Trans. Database Syst., vol. 30, no. 1, pp. 122–173, 2005.

[^29]: R. Manohar and K. Mani Chandy, “Delta-dataflow networks for event stream processing,” in IASTED Int. Conf. Parallel and Distributed Computing and Systems, 2004.

[^30]: S. Ganeriwal, R. Kumar, and M. B. Srivastava, “Timing-sync protocol for sensor networks,” in SenSys'03: Proc. 1st Int. Conf. Embedded Networked Sensor Systems, 2003, pp. 138–149, ACM.

[^31]: M. Maroti, B. Kusy, G. Simon, and A. Ledeczi, “The flooding time synchronization protocol,” in SenSys'04: Proc. 2nd Int. Conf. Embedded Networked Sensor Systems, 2004, pp. 39–49, ACM.

[^32]: R. Solis, V. S. Borkar, and P. R. Kumar, “A new distributed time synchronization protocol for multihop wireless networks,” in IEEE Conf. Decision and Control, 2006, IEEE.

![Image](images/044dcdb1944330f71fdfa8af02799dd1a38d9666a54b1f7832a66fa45180710d.jpg)

识别与数据挖掘。

蒂亚戈·特谢拉目前正在康涅狄格州纽黑文市耶鲁大学攻读博士学位。他分别于2003年获得电气工程学士学位、数学学士学位，2005年获得马里兰州巴尔的摩市约翰斯·霍普金斯大学工程硕士学位，在校期间他开发了一套地址事件成像传感器网络。

2005年，他加入耶鲁大学嵌入式网络与应用实验室（ENALAB），此后一直任职于此。他的研究兴趣包括无线传感器网络、嵌入式系统、传感器、模式识别。

![Image](images/a3921c724546001e754465d16553ff78f1304008508814ebc10f0edc0d9b95aa.jpg)

安德烈亚斯·萨维德斯在加州大学圣地亚哥分校获得计算机工程学士学位，在马萨诸塞大学阿默斯特分校获得电气与计算机工程硕士学位，于2003年在加州大学洛杉矶分校获得电气工程博士学位。

他现任康涅狄格州纽黑文市耶鲁大学电气工程与计算机科学系助理教授，是嵌入式网络与应用实验室（ENALAB）的创始人，该实验室专门致力于分布式传感器网络与智能空间的设计与实现。他的研究得到了美国国家科学基金会CAREER奖以及其他联邦拨款和产业资助的支持。他目前的研究方向聚焦于自配置传感器网络，尤其是可用于解读人类行为以提供辅助服务的传感器网络。