This project is to produce the submitted results of the "Road Damage Detection and Classification Challenge of IEEE Big Data Cup 2018". The mainly idea has beed presented in our technical paper "Deep Proposal and Detection Networks for Road Damage Detection and Classification". The final submitted result can be regenerated by running the script of "results/Fusion_Results.py".
- Each result in the folder of "results/bdc/" can be regenerated by running the script "caffe/examples/ssd/predbdc2018.py" with the model in the folder of "caffe/models/VGGNet/VOC0712/SSD_1024x1024/". The file names in the folder of "results/bdc/" have some special meanings, the second number is equal to iters/1000, these names with and without "t" indicate use and not use "self.transformer.set_channel_swap('data', (2, 1, 0))" in the test file "caffe/examples/ssd/predbdc2018.py" (line 74).
- The result of "results/rh94000(1).txt" can be obtained by using the trained model of "caffe/models/VGGNet/VOC0712/SSD_1024x1024/VGG_VOC0712_SSD_1024x1024_iter_94000.caffemodel" and running the script of "caffe/examples/ssd/predbdc2018.py".
- Data set preparation: Download the training data set from the competition page and delete the category of "D30".
- Generate training and validation samples based on the training samples (99:1).
- Replacing the corresponding pathes in the scripts of "caffe/data/create_list.sh" and "caffe/data/create_data.sh", and running them.
- Runing the training script of "caffe/models/VGGNet/VOC0712/bdc2018/ssd_bdc2018.py". The training details are presented in the technical paper.
The trained models of Faster-RCNN can be downloaded from this link. Running the script of "python demo.py --image data/test_Adachi_00001.jpg --prefix model/trousers --epoch 0060 --gpu 0" to train the model of Faster-RCNN. The deatils can be found in the technical paper.
- Download the pretrained resnet-101 model with mxnet format from the website of mxnet repo.
- Run the script "python train_end2end.py --network resnet --pretrained model/resnet-101 --pretrained_epoch 0000 --gpu 0,1,2,3 --end_epoch 100 --lr_step 30"
- Run the script with the trained models "python train_end2end.py --network resnet --resume --begin_epoch 0014 --gpu 0,1,2,3 --end_epoch 60 --lr_step 25"