Skip to content

niteshjha08/Human-Detection-and-Tracking

 
 

Repository files navigation

Human Detection and Tracking

Build Status Coverage Status

Human detection and tracking module writtern in C++. The module is based on YOLO for object detection and multi-object tracking algorithm to continously track humans in the frame. The co-ordinates of the detections are received in the robot reference frame from the module.

Project Members

  • Nitesh Jha (UID - 117525366)
  • Tanuj Thakkar (UID - 117817539)

Overview

Real-time obstacle detection is necessary for robot motion in dynamic environments so that the robot has enough time to actively avoid the obstacle. We propose a module that can detect humans and track their movement, in robot reference frame, over time for this purpose. For the detection, we adopt a deep learning approach and use the YOLOv5 architecture, which is able to detect humans in real time and with high accuracy. Our module can be extended to detect and track any number of classes, although for our application, we only detect the "person" class. The input to the detection module is from a monocular camera.

The detections are used by the tracking module which distinguishes between entities being tracked using unique identifiers. This module is based on a multi-object tracking algorithm. Tracking is also essential so as to make the overall module reliable in cases when the detection intermittently fails.

The tracked objects are then transformed to obtain their positions with respect to the world. This information can be used by the robot to avoid obstacles or to execute tasks in their vicinity.

Deliverables

  • A C++ module to detect and track humans with a single RGB camera
  • UML Diagrams
  • Developer Documentation of the C++ module with ReadMe
  • Code-base following Google styling guidelines for C++
  • Github CI and Coveralls
  • Instructions

    Dependencies

        sh requirements.sh
    

    Build and Compile

        sh build.sh
    

    Running the package

        ./build/app/app
    

    Running tests

        ./build/test/cpp-test
    

    Running cpplint

        sh cpplint.sh
    

    Running cppcheck

        sh cppcheck.sh
    

    Generating Doxygen Documentation

        cd docs
        doxygen Doxygen
    

    Project Design

    Project Development

    • Agile Iterative Process (AIP)
    • Test Driven Development (TDD)
      • Phase 1
        • Driver: Nitesh Jha
        • Navigator: Tanuj Thakkar
      • Phase 2
        • Driver: Tanuj Thakkar
        • Navigator: Nitesh Jha

    Additional Links

    About

    No description, website, or topics provided.

    Resources

    License

    Stars

    Watchers

    Forks

    Packages

    No packages published

    Languages

    • HTML 97.3%
    • C++ 1.8%
    • Other 0.9%