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.
-
Install Homebrew:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
-
Install OpenCV with FFmpeg support:
brew tap homebrew/science
brew install opencv3 --with-contrib --with-ffmpeg --with-tbb --with-qt5
-
Link OpenCV:
brew link --force --override opencv3
-
Install CMake:
-
In terminal, change directory into the root directory of the project and run the following command to generate makefile:
cmake .
-
Compile the project:
make
The Settings.hpp file can be used to select video source.
Create input folder in the root directory. Put there any videos you want to use.
Create output folder in the root directory. The output video and logs will be put there.
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.