Используйте менее 5 шкал привязки в модели обнаружения объектов FPN

#computer-vision #object-detection

#компьютерное зрение #обнаружение объекта

Вопрос:

Обычно размеры привязок устанавливаются равными {32, 64, 128, 256, 512}. Однако в моем наборе данных у меня нет блоков размером 512 x 512. Итак, я хотел бы использовать только 4 шкалы привязки, т. Е. {32, 64, 128, 256}. Как это возможно, поскольку FPN имеет 5 уровней?

Для уточнения рассмотрим следующее изображение. (Это из статьи о detectron2)

Обобщенный RCNN с FPN

Уменьшить количество привязок на самом деле непросто, поскольку удаление шкалы включает в себя удаление этапа resnet (блока resnet) из использования. Как BoxHead, так и RPN ожидают от P2 до P5 (RPN также ожидает res5 / P6). Итак, мой вопрос заключается в том, должен ли я удалить масштаб привязки (в моем случае 512 x 512, поскольку мои изображения имеют размер всего 300 x 300, а объекты не будут превышать этот размер), какой блок resnet следует игнорировать. Следует ли игнорировать блок низкого разрешения (res2) или удалить блок высокого разрешения (res5)?

Или структура не позволяет удалить шкалу привязки, и необходимо использовать 5 шкал?

Ответ №1:

Вы можете удалить шкалу привязки, но помните, что необходимо также изменить свой RPN и свой BoxHead. P2 будет иметь наибольшее измерение (512 в вашем случае).

Но, возможно, подумайте о том, чтобы сохранить их все и изменить только разрешения, начиная с 16 до 256. Я думаю, это может избавить вас от значительной реорганизации вашей модели плюс улучшит обнаружение объектов меньшего размера.