Knowing how many and where are people in various indoor spaces is critical for reducing HVAC energy waste, space management, spatial analytics and in emergency scenarios. While a range of technologies have been proposed to detect and track people in large indoor spaces, ceiling-mounted fisheye cameras have recently emerged as strong contenders. Currently, RAPiD is the SOTA algorithm for people detection in images captured by fisheye cameras. However, in large spaces several overhead fisheye cameras are needed to assure high accuracy of counting and thus multiple instances of RAPiD must be executed simultaneously. This report evaluates inference time when multiple instances of RAPiD run in parallel on an Ubuntu NUC PC with Intel I7 8559U CPU. We consider three mechanisms of CPU-resource allocation to handle multiple instances of RAPiD: 1) managed by Ubuntu, 2) managed by user via operating-system calls to assign logical cores, and 3) managed by user via PyTorch-library calls to limit the number of threads used by PyTorch. Each scenario was evaluated on 300 images. The experimental results show, that when one or two instances of RAPiD are executed in parallel all three approaches result in similar inference times of 1.8sec and 3.2sec, respectively. However, when three or more instances of RAPiD run in parallel, limiting the number of threads used by PyTorch results in the shortest inference times. On average, RAPiD completes inference of 2 images simultaneously in about 3sec, 4 images in 6sec and 8 images in less than 14sec. This is important for real-time system design. In HVAC-application scenarios, with a typical reaction time of 10-15min, a latency of 14sec is negligible so a single 8559U CPU can support 8 camera streams thus reducing the system cost. However, in emergency scenarios, when time is of essence, a single CPU may be needed for each camera to reduce the latency to 1.8sec.
翻译:了解室内空间中人员的数量和位置对于减少暖通空调能源浪费、空间管理、空间分析以及紧急场景至关重要。虽然已有多种技术被提出用于检测和跟踪大型室内空间中的人员,但天花板安装的鱼眼摄像头最近已成为强有力的候选方案。目前,RAPiD是用于鱼眼摄像头拍摄图像中人员检测的最先进算法。然而,在大型空间中,需要多个俯视鱼眼摄像头以确保高精度计数,因此必须同时执行多个RAPiD实例。本报告评估了在配备英特尔I7 8559U CPU的Ubuntu NUC PC上并行运行多个RAPiD实例时的推理时间。我们考虑了三种CPU资源分配机制来处理多个RAPiD实例:1) 由Ubuntu管理,2) 由用户通过操作系统调用分配逻辑核心进行管理,3) 由用户通过PyTorch库调用限制PyTorch使用的线程数量进行管理。每种场景均在300张图像上进行了评估。实验结果表明,当并行执行一个或两个RAPiD实例时,三种方法得到的推理时间相似,分别为1.8秒和3.2秒。然而,当并行运行三个或更多RAPiD实例时,限制PyTorch使用的线程数量可得到最短的推理时间。平均而言,RAPiD同时完成2张图像的推理约需3秒,4张图像约需6秒,8张图像少于14秒。这对实时系统设计至关重要。在暖通空调应用场景中,典型反应时间为10-15分钟,14秒的延迟可忽略不计,因此单个8559U CPU可支持8个摄像头流,从而降低系统成本。但在时间至关重要的紧急场景中,每个摄像头可能需要一个独立的CPU,以将延迟降低至1.8秒。