Я пытаюсь построить модель обнаружения + классификации, которая распознает объект на изображении и классифицирует его. Каждое изображение будет содержать не более 1 объекта среди моих 10 классов (т.е. одно и то же изображение не может содержать 2 класса). Однако изображение не может содержать ни одного из моих классов / объектов. Я борюсь с общим подходом к этой проблеме, особенно из-за характера моей проблемы; мои объекты имеют разные размеры. Вот что я попробовал:
Обучил классификатор изображениями, которые содержат только мои объекты / классы, т.е. каждое изображение - это сам объект с предварительно удаленным фоном. Теперь, поскольку объекты / изображения имеют разные формы (аспект крыса ios), мне пришлось изменить форму изображения до одного размера (уничтожив аспект крысы ios). Это работало бы отлично, если бы моей целью было только построить классификатор, но так как мне также нужно обнаруживать объекты, это не сработало так хорошо.
Второй подход был аналогичным в (1), за исключением того, что я не наивно изменял форму объектов, но сохранил аспект rat ios, дополнив изображение 0 (черный). Это полностью разрушило мою способность классификаторов работать хорошо (точность <5%). </p>
Маска RCNN - я следовал за этим блогом, чтобы попытаться построить детектор + классификатор в та же модель Подход длился вечно, и я не был уверен, что это был правильный подход. Я даже использовал внешние инструменты (RectLabel) для создания аннотированных файлов изображений, содержащих информацию о ограничивающих прямоугольниках.
Вопрос: Как мне подойти к этой проблеме на общем уровне:
Стоит ли строить 2 отдельные модели? (Один для обнаружения / локализации и один для классификации?)
Должен ли я аннотировать мои изображения, используя файл аннотаций, как в подходе (3)?
Должен ли я изменять форму моих изображений на любом этапе?
Спасибо,
PS. Во всех моих подходах я увеличивал изображения для генерации ~ 500-1000 изображений на класс.