Размер изображения в DefaultPredictor из Detectron2

Для обнаружения объектов я использую detectron2. Я хочу исправить размер входного изображения, поэтому я сделал свой собственный загрузчик данных:

def build_train_loader(cls, cfg):
    dataloader = build_detection_train_loader(cfg,
        mapper=DatasetMapper(cfg, is_train=True, augmentations=[
            T.Resize((1200, 1200))
        ]))

Что мне интересно, так это для прогноза: я могу использовать DefaultPredictor из detectron2 и изменить размер своих изображений до (1200, 1200) перед отправкой в ​​предсказатель? Или DefaultPredictor изменяет размер изображения перед предсказанием, и мне нужно переопределить функцию для изменения размера до (1200, 1200)?


person Kosar KAZEMI    schedule 15.02.2021    source источник


Ответы (1)


Вы должны сами предварительно обработать изображения или написать свой собственный предиктор, который будет применять изменение размера перед вызовом модели.

ResizeShortestEdge можно изменить , но это не совсем то, что вам нужно.

person Rémi Chauvenne    schedule 16.02.2021
comment
Спасибо за ответ. Мне также известны функция ResizeShortestEdge и конфигурации INPUT.MIN_SIZE_ {TRAIN, TEST}. Как вы думаете, мне нужно изменить их, чтобы убедиться в размере входа в сеть? - person Kosar KAZEMI; 17.02.2021
comment
Кроме того, я не понимаю с помощью ResizeShortestEdge, как входные изображения могут быть разных размеров, а не квадратной формы? - person Kosar KAZEMI; 17.02.2021
comment
Да, вам нужно изменить INPUT.MIN_SIZE_ {TRAIN, TEST}, чтобы убедиться, что размер ввода будет таким, как вы хотите. - person Rémi Chauvenne; 17.02.2021
comment
ResizeShortestEdge будет увеличивать размер до тех пор, пока самый короткий край не достигнет заданного значения, и таким образом, чтобы сохранялось исходное соотношение сторон изображения. Затем, если самый длинный край стал больше заданного предела, изображение уменьшится в соответствии с требованиями. Я бы посоветовал написать собственный предиктор, использующий преобразование изменения размера. - person Rémi Chauvenne; 17.02.2021
comment
@ RémiChauvenne, у меня простой вопрос: что в данном контексте означает край? Не могли бы вы помочь мне в этом вопросе? - person Saeed Masoomi; 16.05.2021
comment
В этом контексте самый короткий край - это min (высота, ширина) изображения. - person Rémi Chauvenne; 16.05.2021