Как научить мою модель рисовать ограничивающую рамку вокруг текста, присутствующего на изображении?

Я пытаюсь нарисовать bounding_box вокруг изображения. У меня есть другая модель для предсказания класса обнаруженного текста. Везде реализация yolo основана на ограничивающем прямоугольнике + предсказании класса. Таким образом, функция потерь, которую они определили, представляет собой потерю для предсказания класса, уверенности и вероятности данного класса. Я просто хочу, чтобы моя функция потерь определялась только в терминах ограничивающего прямоугольника. Пожалуйста, подскажите мне, как это сделать, или предложите мне прочитать несколько статей.


person Shivam Sahu    schedule 30.05.2019    source источник
comment
Я смущен. В вашем случае у вас есть 2 класса: текстовый и нетекстовый. Итак, используйте Yolo для классификации между этими двумя классами и ограничивающей рамкой рисования.   -  person Illuminati0x5B    schedule 30.05.2019


Ответы (1)


Таким образом, функция потерь, которую они определили, представляет собой потерю для предсказания класса, уверенности и вероятности данного класса.

Собственно функция потерь YOLO состоит из

  1. потеря классификации
  2. потеря локализации (ошибки между прогнозируемой рамкой границы и наземной истиной)
  3. потеря уверенности (объектность коробки).

https://medium.com/@jonathan_hui/real-time-object-detection-with-yolo-yolov2-28b1b93e2088

Если вам нужна точность только для ограничивающей рамки, то то, что вам нужно, называется mAP (средняя точность). Чтобы понять, как рассчитывается mAP, новичку в обнаружении объектов потребуется некоторое время, поэтому я просто поставлю хорошую ссылку для дальнейшего изучения https://medium.com/@jonathan_hui/map-mean-средняя-точность-для-обнаружения-объекта-45c121a31173.

Если вы хотите визуализировать MAP для своей модели YOLO во время обучения, вы можете использовать этот популярный репозиторий github, созданный AlexeyAB https://github.com/AlexeyAB/darknet.

Например, вы можете обучить свою модель, введя флаг -map следующим образом:

./darknet detector train data/obj.data yolo-obj.cfg darknet53.conv.74 -map 

Будет сгенерирована диаграмма ниже: красная линия указывает карту, а синяя линия указывает среднюю потерю вашей обученной модели.

введите описание изображения здесь

Наконец, после тренировки вы можете проверить, какие веса лучше всего подходят для вас (проверка значения mAP)

./darknet detector map data/obj.data yolo-obj.cfg backup\yolo-obj_7000.weights

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

Дополнительная информация
Я делаю то же самое, что и вы, для моего текущего проекта. Я использую YOLO только для обнаружения объекта и рисования ограничивающего прямоугольника. Но для классификации я использую другую модель CNN.

person gameon67    schedule 31.05.2019