ucbdrive / few-shot-object-detection

Implementations of few-shot object detection benchmarks
Apache License 2.0
1.08k stars 225 forks source link

Should the image data be divided by variance before entering the network #119

Closed huangluyao closed 2 years ago

huangluyao commented 3 years ago

I found that the variance of detectron2 is 1 by default. If config file don't set variance , the input image data will be very large. Is the training network reasonable?

thomasehuang commented 2 years ago

You can find the reason for why it's 1 in the config.py of detectron2:

# Values to be used for image normalization (BGR order, since INPUT.FORMAT defaults to BGR).
# To train on images of different number of channels, just set different mean & std.
# Default values are the mean pixel value from ImageNet: [103.53, 116.28, 123.675]
_C.MODEL.PIXEL_MEAN = [103.530, 116.280, 123.675]
# When using pre-trained models in Detectron1 or any MSRA models,
# std has been absorbed into its conv1 weights, so the std needs to be set 1.
# Otherwise, you can use [57.375, 57.120, 58.395] (ImageNet std)
_C.MODEL.PIXEL_STD = [1.0, 1.0, 1.0]

We use the MSRA models, so it should be fine :)