Rock Art Detection Network.
Built for usage with Keras and Tensorflow backend.
Code repository that has been based on:
- https://github.com/kbardool/keras-frcnn
- https://github.com/RockyXu66/Faster_RCNN_for_Open_Images_Dataset_Keras
Create a data folder through using the preprocess tool in the sibling folder.
- train.py - Training a model from scratch.
- cont_train.py - Continue to train from an existing model.
- test.py - Evaluate model after training.
- predict.py - Make predictions from a trained model on a single panel.
- test_data.py - Script for exploring training data and see that data processing is working properly.
- faster_rcnn/
- augmentation.py - Methods for performing data augmentation.
- config.py - Defines model configuration.
- losses.py - Includes all losses used when training.
- RADNet.py - Class for creating the network for prediction.
- RoiPoolingConv.py - Class for performing RoI Pooling.
- rpn.py - Methods for creating the RPN network together with helper functions.
- utils.py - Various utility functions for reading and feeding data.
- base_models/ - Different base networks for processing images.
- Create model folder in root directory.
- Create environment based on environment.yml.
- Download the model weights here
- Place the weights in faster_rcnn/base_models/
- Setup faster_rcnn/config.py.
- Run test_data.py to see that data reading/feeding works and get some plots and outputs that could be used for changing the config.
- Edit test.py and cont_train.py to setup epoch length, nr of epochs and if validation is going to be applied.
- For running training and testing in background:
nohup bash -c 'python train.py; sleep 60; python cont_train.py; sleep 60; python test.py' &