flyywh / CVPR-2020-Semi-Low-Light

151 stars 22 forks source link

A question about training code of stage 2 #12

Closed UtopiaHu closed 2 years ago

UtopiaHu commented 3 years ago

It seems that in stage 2, you used testing images to train your recursive band learning model and recomposs model , right?

flyywh commented 3 years ago

Yes. But only the low-light versions of the testing images are used in the training to align their enhanced distributions close to the high-quality ones (Not the normal-light images in the testing set). Note that, it is can be implemented in real applications, e.g. capturing some low-quality examples in a given camera to adjust the enhancement model. For the comparison, it is still fair as the model does not peep at the information of normal-light images of the testing set in the training stage.

UtopiaHu commented 3 years ago

Yes. But only the low-light versions of the testing images are used in the training to align their enhanced distributions close to the high-quality ones (Not the normal-light images in the testing set). Note that, it is can be implemented in real applications, e.g. capturing some low-quality examples in a given camera to adjust the enhancement model. For the comparison, it is still fair as the model does not peep at the information of normal-light images of the testing set in the training stage.

Then why not just train the whole network ( recursive band learning model plus recomposs model) in one stage?

flyywh commented 3 years ago

We think the two-stage training stabilizes the training process and makes the model better handle different degradation via the stage-wise design.

In the first stage, noise can be significantly suppressed. In the second stage, adversarial learning does not need to pay more attention to the detailed structural modeling, which is exactly what adversarial learning not good at. Therefore, the model only needs to learn to adjust the color and illumination distributions to offer better overall visual quality.