Требуется ли изменение размера изображения для обучения новой модели Yolo?

Я хотел бы обучить новую модель, используя свой собственный набор данных. Я буду использовать для этого Darkflow/Tensorflow.

Что касается моих сомнений:

(1) Должны ли мы изменять размер наших обучающих изображений для определенного размера?

(2) Я думаю, что изображения меньшего размера могут сэкономить время, но могут ли изображения меньшего размера повредить точности?

(3) А как насчет изображений, которые нужно предсказать, мы должны изменить их размер, или это не обязательно?


person Kleyson Rios    schedule 24.07.2018    source источник


Ответы (3)


(1) Он уже изменяет его размер с помощью random=1 в файле .cfg. Ответ «да». Входное разрешение изображений такое же. Вы можете изменить его размер самостоятельно или Yolo может это сделать.

(2) Если ваше оборудование достаточно хорошее, я предлагаю вам использовать изображения большого размера. Также в качестве предложения, если вы будете использовать веб-камеру, используйте изображения с тем же разрешением, что и ваша веб-камера.

(3) Да, так же, как обучение.

person dasmehdix    schedule 20.08.2019

(1) Да, нейронные сети имеют фиксированные входные параметры. Их можно настроить в соответствии с вашими целями, но, наконец, вам нужно зафиксировать определенное входное измерение, и, следовательно, вам нужно ввести изображения, соответствующие этим размерам. Для YOLO я нашел следующее:

    layer      filters     size           input                  output
    0 conv     32          3 x 3 / 1      416 x 416 x   3   ->   416 x 416 x  32  

Возможно, используемый вами фреймворк уже делает этот шаг за вас. Может быть, кто-то мог бы прокомментировать это.

(3) Изображения/образцы, которые вы подаете во время логического вывода, для прогнозирования должны быть максимально похожи на обучающие изображения/образцы. Итак, какую бы предварительную обработку вы ни выполняли со своими обучающими данными, вы обязательно должны сделать то же самое со своими логическими данными.

(2) Меньшие изображения имеют смысл, если ваше аппаратное обеспечение не может хранить в памяти большие изображения или если вы тренируетесь с большими размерами пакетов, поэтому что ваше оборудование должно хранить несколько изображений в памяти по одному. В конце концов, время вычислений скорее пропорционально количеству операций вашей архитектуры, а не обязательно размеру изображений.

person mrk    schedule 20.08.2019

(1) Нет, не нужно. Но если ваш набор данных содержит случайные разрешения, вы можете поставить

random = 1

в файле .cfg для лучших результатов.

(2) Меньшие изображения не сокращают время сходимости, но если ваш набор данных содержит только маленькие изображения, Yolo, вероятно, не сойдется (Yolov3 не является хорошим детектором для большого количества крошечных объектов).

(3) Не нужно

person paul.ruelle    schedule 25.07.2018