/victim-tracker

This project aims at detecting and tracking of drowning victims using an unmanned surface vehicle (USV). This program can track a victim wearing red or yellow live jacket using USV's on-board visual camera.

Primary LanguageC++

Tracking of Drowning Victims Using Unmanned Surface Vehicle

This project aims at detecting and tracking of drowning victims using an unmanned surface vehicle (USV). This program can track a victim wearing red or yellow live jacket using USV's on-board visual camera. The output of the program is the victim's position and relative size.

Installation on macOS

  1. Install Homebrew:

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  2. Install OpenCV with FFmpeg support:

    brew tap homebrew/science

    brew install opencv3 --with-contrib --with-ffmpeg --with-tbb --with-qt5

  3. Link OpenCV:

    brew link --force --override opencv3

  4. Install CMake:

    https://cmake.org

  5. In terminal, change directory into the root directory of the project and run the following command to generate makefile:

    cmake .

  6. Compile the project:

    make

Settings

The Settings.hpp file can be used to select video source.

Input

Create input folder in the root directory. Put there any videos you want to use.

Output

Create output folder in the root directory. The output video and logs will be put there.

Manual

The graphical user interface has the following functionality:

  • If automatic histogram construction is enabled: Select the victim by holding CTRL key and making the selection using left mouse button.

  • Zoom with mouse wheel or touchpad scroll.

  • Drag with left mouse button.

  • Show histogram backprojection view by pressing b key. Switch back by pressing b again.

  • Pause the video feed by pressing p key.

  • Press escape key to exit.

  • Use the sliders to adjust program parameters.