arthurdouillard / CVPR2021_PLOP

Official code of CVPR 2021's PLOP: Learning without Forgetting for Continual Semantic Segmentation
https://arxiv.org/abs/2011.11390
MIT License
145 stars 23 forks source link

Experiments on cityscapes dataset #26

Closed dipamgoswami closed 2 years ago

dipamgoswami commented 2 years ago

Hello @arthurdouillard, I enjoyed reading your paper. I have a few queries regarding the implementation using the cityscapes dataset.

  1. I am reproducing the experiments for plop_cityscapesDomain_1-1.sh . I see that the method is specified as FT and not PLOP. I am unable to understand why that is the case here? Why is the method not PLOP?
  2. There is no explicit background class in the cityscapes dataset. How is that dealt with in plop implementation? It may not be an issue in domain-incremental but will be required in class-incremental experiments. I see one argument 'dont_predict_bg' but that hasn't been used.

Let me know if you can clarify these doubts. Thanks.

arthurdouillard commented 2 years ago

Hey,

Thank you for your interest in my work!

  1. Because they are slight difference in domain-incremental, we don't need pseudo-labeling (nor UNCE for MiB), so I set by hand the options of PLOP, see https://github.com/arthurdouillard/CVPR2021_PLOP/blob/main/scripts/cityscapesDomain/plop_cityscapesDomain_1-1.sh#L19
  2. In the domain-incremental cityscapes there are no class background, and all classes are known from the start. But you're right about the class-incremental cityscapes: I tackle this problem in my follow-up paper https://arxiv.org/abs/2106.15287 (whose code isn't yet released). In this case, I consider as background all pixels from past and future classes, but it's kind of a "fake" background. The argument dont_predict_bg is because multiple papers (including MiB & ILT if I'm not mistaken), see the background (the true one) as unknown (255) during test-time and thus doesn't consider it. Which I've found unrealistic as in a real-situation you cannot discard background pixels, especially in my situation where I eval the model after each step while MiB&ILT only eval at the last step.

Is that clearer? :)

dipamgoswami commented 2 years ago

Thank you for the clarifications. I see that you have merged the fake background class with the unlabelled class of cityscapes for the class-incremental setting. Makes sense.