Тренировка YOLO (обнаружение объектов) на нескольких объектах в несбалансированном наборе данных? - PullRequest
0 голосов
/ 09 марта 2020

Я тренирую YOLO по пользовательскому набору данных (используя реализацию Алексея AB Dar knet). У него есть 3 класса изображений, где в классе 1 есть изображения по 45 тыс., А у оставшихся двух - около 1 тыс. Изображений.

После тренировки с итерациями по 6 тыс. Потеря составляет 1,5-2. Однако, когда я попытался запустить его на видео это только обнаружение класса 1.

Я хотел бы знать, в чем причина этого, из-за дисбаланса в количестве изображений в наборе данных? Есть ли способ решить эту проблему?

1 Ответ

2 голосов
/ 10 марта 2020

Да, для начала у вас несбалансированный набор данных. Рекомендуемое количество изображений на класс> 2000 (согласно указаниям в хранилище ).

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

Есть несколько способов решить эту проблему, но я предполагаю, что вы уже могли выяснить.

  • Соберите больше данных для других классов.
  • Попробуйте увеличить данные для других классов с вращением, шумом и т. Д. c.
  • Вы можете попробовать добавить синтетические c изображения для другие классы.
  • Несмотря на то, что не рекомендуется оставлять данные для 1-го класса, хотя бы попытайтесь уменьшить их, чтобы получить сбалансированный набор данных.

Я звоню другие классы для классов с меньшим количеством данных.

...