pytorch-deeplab-xception icon indicating copy to clipboard operation
pytorch-deeplab-xception copied to clipboard

VOC 2012 TEST results

Open shaibagon opened this issue 6 years ago • 17 comments

Hi, I took the liberty of submitting the resnet pre-trained model results on VOC2012 TEST to the evaluation server. These are the results on the TEST set:

Competition | Category | Score Object Segmentation (comp6) | background | 94.55750 Object Segmentation (comp6) | aeroplane | 92.93460 Object Segmentation (comp6) | bicycle | 40.53500 Object Segmentation (comp6) | bird | 92.66040 Object Segmentation (comp6) | boat | 66.97070 Object Segmentation (comp6) | bottle | 76.63850 Object Segmentation (comp6) | bus | 94.08540 Object Segmentation (comp6) | car | 89.05940 Object Segmentation (comp6) | cat | 91.52270 Object Segmentation (comp6) | chair | 37.15340 Object Segmentation (comp6) | cow | 89.01260 Object Segmentation (comp6) | diningtable | 67.03180 Object Segmentation (comp6) | dog | 86.18840 Object Segmentation (comp6) | horse | 90.35510 Object Segmentation (comp6) | motorbike | 85.19530 Object Segmentation (comp6) | person | 85.28630 Object Segmentation (comp6) | pottedplant | 67.78140 Object Segmentation (comp6) | sheep | 86.65630 Object Segmentation (comp6) | sofa | 56.42840 Object Segmentation (comp6) | train | 85.75310 Object Segmentation (comp6) | tvmonitor | 76.54340   | Object Segmentation (comp6) | 78.68330

Note that I changed the evaluation to include the entire image at scale 513px (fixing #51)

These results are SIGNIFICANTLY lower (~10%) than reported results on deeplab v3 + aspp (88.5%)

shaibagon avatar Jan 09 '19 08:01 shaibagon

Hi, Could you share your training settings in detail? To reproduce the result in pascal voc leader board, you need to follow these steps:

  1. Pretrain on COCO
  2. Train with pascal voc aug dataset, use one-tenth of the learning rate in the previous step
  3. Train with pascal voc dataset, use the training set and validation together and use one-tenth of the learning rate in the previous step
  4. inference with multi scale and flip

zhijiew avatar Jan 09 '19 09:01 zhijiew

@zhijiew I did not train the model. I used the pretrained weights @jfzhang95 kindly provided for resnet backbone.

As for inference: I did not do any "tricks": single scale (@513px resolution) no flipping.

shaibagon avatar Jan 09 '19 09:01 shaibagon

OK, I see, the pretrained weights provided in this report is for validation set, not for test set, you need use different training methods if you want to get better result in test set, you can try to follow my steps mentioned above. More details can be found here : )

zhijiew avatar Jan 09 '19 09:01 zhijiew

hi @zhijiew I tried to use the same network backbone and pre-trained the network on COCO, but when I start to finetune, I tried learning rate of 0.001, 0.0005, 0.0001 for 50 epochs, the performance is around 78 but never get improved. Did I do anything wrong?

ymli39 avatar Jan 17 '19 01:01 ymli39

@ymli39 Could you give more details about your training settings? Like data set split, batch size, input size, crop size and inference strategy (flip or multi scale etc.)?

zhijiew avatar Jan 17 '19 03:01 zhijiew

hi @zhijiew , I used same data setting code as provided (train set + trainaug), batchsize of 24, input size and crop size of 513. I did not do any flip or multiscale during training's validation. I trained the model without coco pretrain first, the validation accuracy is 78.5, then I trained coco using provided coco code, after finish coco pretrain, I start to train pascal based on coco pretrain, I did 50 epochs, but the iou did not improve at all.

ymli39 avatar Jan 17 '19 05:01 ymli39

@ymli39 You training steps are incomplete, as I said, the whole training process to reproduce the best performance on test set including 3 stages:

  1. Train the model on coco.
  2. Fine tune the model on pascal voc aug data set, which should include 11355 samples, here is the file list.
  3. Fine tune the model original pascal voc data set, which should include 2912 samples (including the original training set and validation set), here is the file list.

And finally, inference the test input images with flip and multi scale.

zhijiew avatar Jan 17 '19 06:01 zhijiew

thanks! @zhijiew , for trainaug, do I save model for every epoch or I just save the best model on validation (I found that if I save the best model, the performance might not improve so the model will not be saved)? Right now I run trainaug set for 50 epochs, would it be too much?

ymli39 avatar Jan 17 '19 06:01 ymli39

@ymli39 I see you get 78.5 in validation dataset. I used code that jfzhang95 provided and settings are default, lr is 0.007,lr-scheduler(poly),loss-type(ce),data(train set + trainaug), batchsize of 24, input size and crop size of 513. I did 50 epoch,but the validation accuracy is 75.5,do you have other operations?

Barry-Zhou avatar Jan 23 '19 02:01 Barry-Zhou

uracy i

Hi, My validation set result is 0.7506687327823487, similar to your situation, have you solved it?

Vipermdl avatar Apr 05 '19 07:04 Vipermdl

Hi,I am a new at deep learning research, can you share your test code? Thank you very much! @shaibagon

z-kkk avatar May 07 '19 02:05 z-kkk

@ymli39 I see you get 78.5 in validation dataset. I used code that jfzhang95 provided and settings are default, lr is 0.007,lr-scheduler(poly),loss-type(ce),data(train set + trainaug), batchsize of 24, input size and crop size of 513. I did 50 epoch,but the validation accuracy is 75.5,do you have other operations? @Barry-Zhou I have the same question with you, have you solved it?

Alex6D avatar Jun 07 '19 07:06 Alex6D

@Barry-Zhou @Alex6D Sorry about late response, I stopped working this project half year ago. I do not have any other operations. I also tried the coco pretrain model, there is no luck I can get test set score above 80% (for me coco pretrain does not improve at all). If you want to improve the validation score, (it might be just overfitting, without actually improving the test score) you could do a hard negative mining on specific classes.

ymli39 avatar Jun 10 '19 15:06 ymli39

So should I resize the picture to 513*513,then crop;or crop the picture directly?

dayekuaipao avatar Jul 08 '19 04:07 dayekuaipao

Why is my validation mIoU just ≈0.6? Input shape: (256, 256) batch size: 4 lr: 0.001 epoch: 30

clownrat6 avatar Apr 23 '20 04:04 clownrat6

Hi, Could you share your training settings in detail? To reproduce the result in pascal voc leader board, you need to follow these steps:

  1. Pretrain on COCO
  2. Train with pascal voc aug dataset, use one-tenth of the learning rate in the previous step
  3. Train with pascal voc dataset, use the training set and validation together and use one-tenth of the learning rate in the previous step
  4. inference with multi scale and flip

should we freeze the syncbn when we finetune the model trained after coco?

xLuge avatar May 12 '21 06:05 xLuge

Hi, Could you share your training settings in detail? To reproduce the result in pascal voc leader board, you need to follow these steps:

  1. Pretrain on COCO
  2. Train with pascal voc aug dataset, use one-tenth of the learning rate in the previous step
  3. Train with pascal voc dataset, use the training set and validation together and use one-tenth of the learning rate in the previous step
  4. inference with multi scale and flip

I want to know more detail about inference with multi scale and flip, it is used in the inference of the 3 point or all about the 4 point?

HongkLin avatar Dec 25 '21 15:12 HongkLin