This project contains a pool game tracking system developed by Alessandro Bozzon, Federico Adami and Simone Peraro.
Project report: View the PDF
The project requires:
- CMake 3.5 or above
- C++11 or above
- OpenCV 4.8.0 or above
The project folder has te followiing structure:
- CMakeLists.txt file to configure the project building
- /include folder, containing headers to project's classes
- /src folder, containing code source files
- /res/assets folder, containing images used to show a schematic drawing of the game
- the project requirements
- the report of the project
In addition, also a copy of the final output of the system is provided, after being run in live and evaluation modes (see below).
- Create a new building directory inside the project folder
mkdir build & cd build- Run CMake to configure the project
cmake ..- Compile the source files using make
makeThe system can run in two modes (from build directory):
- a live mode, providing path to a game clip video and to a folder to write directory
./run_live path/to/dataset/gameclipfolder/gameclip.mp4 path/to/output/folder/- an evaluation mode, to compute the required metrics providing a true game clip folder and an output folder
./run_evaluation path/to/gameclip/folder/ path/to/output/folderAlso, a simple executable is provided to show two masks files, remapped in more visible colors (can be a true and a predicted masks or any two other masks)
./open_mask path/to/mask/file.png path/to/antoher/mask/file.pngThe project also provides outputs for each game clip already generated in /results/ folder. It is possible to regenerate those runnig the following commands:
./run_live path/to/dataset/gameX_clipY/gameX_clipY.mp4 ../results/gameX_clipY/;
./run_evaluation path/to/dataset/gameX_clipY/ ../results/gameX_clipY/;Tip: running ./run_evaluation first will create the gameX_clipY/ folder (if not existing), which can then be used as destination folder for ./run_live command