This is a PyTorch implementation of baseline model of IROS2019 lifelong object recognition challenge (link). This repository provides:
- MobileNetV2 [1] backbone for the task:
- input size: Using random crop for input images
- Pretrained models for specific batches:
- Training schemes: Two training methods (naive and cumulative) using backbone model are provided. Detailed definition of these two schemes are included in this paper [2].
- Hyperparameters: We set 50 epochs for training and 30 epochs for finetuning each task with
learning_rate = 0.01
,momentum=0.9
,weight_decay=5e-4
,batch_size=16
. - Model files: Note that models after batch 3 and batch 5 for multitask (cumulative) training scheme (named
model_1.pth
andmodel_2.pth
), model after batch 9 for finetuning (naive) scheme (namedmodel_3.pth
) are provided under/model
. - To run model: Feel free to load specific model in
evaluate.py
. - Please note that multitask (cumulative) training scheme is prohibited in the competition.
- Script for running the baseline model (with dataloader module for reference):
- You can load the pretrained model and will generate results samples in your specified directory.
- The output files (in
csv
) are in the same format and name with the files to be submitted on our official online judgement platform CodaLab (link). The script will generate nine results csv files and our platform will compute the average precision score automatically.
-
The current version of the code has been tested with following libs:
python 3.7
numpy 1.16.2
pandas 0.24.2
pytorch 1.1.0
torchvision 0.2.2
PIL 6.0.0
-
recommend install in virtual environment
$ conda create -n yourenvname python=3.7 anaconda
- Install the required the packages inside the virtual environment
$ source activate yourenvname
$ pip install -r requirements.txt
Script for running the baseline model can be run with evaluate.py
. Here testset_path
and output_path
is the path you stored your testset data and output prediction results for each batch. Results files will generated under specified output path.
python3 evaluate.py testset_path output_path
[1] Sandler, Mark, et al. "Mobilenetv2: Inverted residuals and linear bottlenecks." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2018. [pdf]
[2] Lomonaco, Vincenzo, and Davide Maltoni. "CORe50: a New Dataset and Benchmark for Continuous Object Recognition." Conference on Robot Learning. 2017. [pdf]