A Deep Learning model built using the same idea as YOLO, but with a 2-branch topology. This is its PyTorch implementation for Risiko! table game's pieces object detection.
In this repository there is also an ablated version of YOLOv9-C which has been studied during the development of BranchyYOLO.
For more information read the report.
- PyTorch
- YOLOv9-C official implementation:
git clone 'https://github.com/WongKinYiu/yolov9.git'After downloading it run the following commands:sed -i 's/opt.min_items/min_items/' yolov9/val.pysed -i 's/opt.min_items/min_items/' yolov9/val_dual.py
- Install the yolov9 requirements:
pip install -r yolov9/requirements.txt
We don't include our training dataset because it is too big
- The file
run.pycontains the code to train the model and also to test itImportant: modify
run.pyimports according to the model being trained: use*_dualfiles if and only if the ablated model is going to be used (since it has the DualDetect block instead of the Detect block at the end). - The file
BranchyYOLO.yamlcontains the definition of BranchyYOLO model; it will be imported bymodels.yolo.parse_model - The file
AblatedYOLOv9-C.yamlcontains the definition of the ablated version of YOLOv9-C - The file
hyp.yamlcontains the definition of some hyperparameters used during the training phase - The file
coco.yamlcontains the definition of the dataset used for training, validation and testing - The file
Detection.ipynbcan be used to perform object detection in images