This is simple RPN implementation using tensorflow. It can be used for Faster-RCNN. Most of the operations performed during the implementation were carried out as described in the paper. Batch operations supported.
Project models created in virtual environment using miniconda. You can also create required virtual environment with conda.
To create virtual environment (tensorflow-2 gpu environment):
conda env create -f environment.yml
To train your model:
python trainer.py
If you have gpu issues you can use -handle-gpu flag:
python trainer.py -handle-gpu
To predict using your model:
python predictor.py
You can also use -handle-gpu flag like on the training.
Grid - center of the every anchor boxes
Anchors output_width * output_height * anchor_count
The model was trained with the Pascal VOC 2007 dataset. Although the dataset did not contain any image of a lion, it was also able to identify the lion through images of cats and other animals used during training.
Photo by Werner van Greuning on Unsplash