This project is based on Mask R-CNN implementation.
The model generates bounding boxes and segmentation masks for each instance of a kayaker in the image.
Model is trained on custom dataset and it's based on Feature Pyramid Network (FPN) and a ResNet101 backbone.
The custom dataset consists of 65 kayaker images with pixel-by-pixel polygon annotations.
Input | Output |
---|---|
Model | Starting weights | Training Layers | Epochs | Training mAP | Test mAP |
---|---|---|---|---|---|
M1 | COCO | heads | 5 | 0.844 | 0.800 |
M2 | COCO | heads | 10 | 0.824 | 0.867 |
M3 | COCO | heads | 15 | 0.844 | 0.867 |
M4 | COCO | heads | 20 | 0.844 | 0.800 |
M5 | COCO | all | 5 | 0.865 | 0.867 |
M6 | COCO | all | 10 | 0.885 | 0.933 |
M7 | COCO | all | 15 | 0.865 | 0.867 |
M8 | COCO | all | 20 | 0.885 | 0.933 |
- Python 3.7
- Clone this repository
git clone https://github.com/ndakic/kayaker-detection
- Download yolov3 weights (237 MB) from here and add it to your model folder.
- Install the requirements using pip and venv
pip install -r requirements.txt
- Clone and install the Mask R-CNN Library
git clone https://github.com/matterport/Mask_RCNN
cd Mask_RCNN
python setup.py install
- Run the following command in the command line
python application.py