spencer_people_tracking  by spencer-project

ROS-based framework for multi-modal people detection and tracking on mobile robots

created 10 years ago
703 stars

Top 49.6% on sourcepulse

GitHubView on GitHub
Project Summary

This framework provides a multi-modal ROS-based system for people and group detection and tracking, designed for mobile robots operating in dynamic, crowded environments. It targets researchers and developers in service robotics, offering robust, real-time performance and extensible components for socially compliant navigation.

How It Works

The system employs a modular pipeline that fuses data from multiple RGB-D and 2D laser sensors. It supports various detection algorithms, including a 2D laser segment classifier, an RGB-D upper-body detector, and a GPU-accelerated monocular HOG detector. Tracking is achieved via a nearest-neighbor data association with IMM-based motion models for robustness. Social relations and group tracking are inferred from coherent motion indicators.

Quick Start & Requirements

  • Installation: Via apt-get install ros-${ROS_DISTRO}-spencer-people-tracking-full (packaged version) or build from source using catkin.
  • Dependencies: ROS Kinetic, Melodic, or Noetic. CUDA SDK (v6.5 recommended) for the groundHOG detector.
  • Environment: 64-bit Ubuntu (16.04, 18.04, 20.04).
  • Resources: Real-time performance (20-30 Hz) achieved on gaming laptops with Intel Core i7 and NVIDIA GeForce 765M.
  • Docs: Quick start tutorial, Demo, YouTube Channel

Highlighted Details

  • Multi-modal detection fusion from RGB-D and 2D laser sensors.
  • Robust tracking with IMM-based motion models and track initiation logic.
  • Social relation and group tracking capabilities.
  • Highly configurable RViz plugins for visualization.
  • Includes evaluation tools with CLEAR-MOT and OSPA metrics.

Maintenance & Community

Maintained by Timm Linder and Stefan Breuers, with contributions from the SPENCER project and others. Supported by EU FP7 and Horizon 2020 grants.

Licensing & Compatibility

Most ROS packages are BSD licensed, with potential exceptions noted in individual package files. The software is a research prototype, not production-ready.

Limitations & Caveats

The packaged version's groundHOG detector is non-functional. The cudaHOG library requires manual compilation and an NVIDIA GPU with CUDA SDK. Advanced internal tracking methods are not yet publicly available. The raw airport dataset cannot be shared due to privacy concerns.

Health Check
Last commit

4 years ago

Responsiveness

1 week

Pull Requests (30d)
0
Issues (30d)
0
Star History
9 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.