Кратко изложены базовые знания об алгоритмах обнаружения целей, которые удобно изучать и просматривать каждому.
Эта статья опубликована в сообществе HUAWEI CLOUD.«Основы обнаружения объектов», оригинальный автор: lutianfei.
Мы уже знакомы с задачей классификации изображений, которая представляет собой алгоритм классификации объектов в нем. И сегодня мы хотим разобраться в другой проблеме построения нейронных сетей, то есть в проблеме обнаружения объектов. Это означает, что мы не только используем алгоритм для определения наличия автомобиля на картинке, но и отмечаем его положение на картинке, обводим автомобиль рамкой или красной рамкой — это задача обнаружения объектов. В этой статье кратко изложены базовые знания об алгоритмах обнаружения целей, которые может изучить и просмотреть каждый.
Основы обнаружения объектов
Этапы сети
-
Двухэтапный: сеть первого этапа используется дляИзвлечение региона-кандидата; Сеть второго уровня выполняет извлечение регионов-кандидатовКлассификация и точная координатная регрессия, такие как серия RCNN.
-
Одноэтапный (одноэтапный): этап выделения области-кандидата отбрасывается, и толькоСеть первого уровня выполняет две задачи классификации и регрессии., такие как YOLO и SSD и т. д.
Причины, по которым одноступенчатые сети уступают двухступенчатым сетям
Потому что положительные и отрицательные примеры в обучении не сбалансированы.
-
Слишком много минусов, слишком мало плюсов, потери, вызванные отрицательными примерами, полностью превосходят положительные примеры;
-
Большинство отрицательных примеров легко отличить, сеть не может узнать полезную информацию. Если в обучающих данных будет большое количество таких выборок, это затруднит сходимость сети.
Как двухэтапные сети устраняют дисбаланс в обучении
-
В сети RPN наиболее вероятные области-кандидаты выбираются в соответствии с доверительной вероятностью переднего плана, что позволяет избежать большого количества легко различимых отрицательных примеров.
-
В процессе обучения выборка выполняется в соответствии с коэффициентом пересечения, а соотношение положительных и отрицательных образцов устанавливается равным 1:3, чтобы предотвратить появление слишком большого количества отрицательных примеров.
Общие наборы данных
Паскаль набор данных VOC
Разделенный на версии 2007 и 2012, предоставленный набор данных содержит 20 типов объектов.
Основные 5 задач PASCALVOC:
①Категория: для каждой категории определите, существует ли категория на тестовой фотографии (всего 20 категорий);
②Обнаружение: определите положение целевого объекта на проверяемом изображении и укажите координаты ограничивающей рамки;
③ Сегментация: для любого пикселя на тестируемой фотографии определите, какая категория содержит пиксель (если ни одна из 20 категорий не содержит пиксель, то пиксель принадлежит фону);
④ Распознавание действий человека (в случае заданного прямоугольного положения кадра);
⑤LargeScaleRecognition (размещено ImageNet).
Импортируйте файл .xml, соответствующий изображению, и каждая цель каждого изображения в файле аннотации соответствует словарю тела.
-
«коробки» свойств
-
свойство 'gt_classes'
-
свойство 'gt_overlaps'
-
свойство «перевернуто»
-
атрибут 'seg_areas'
Набор данных CoCo
Делится на три версии: 2014, 2015, 2017.
Унифицированное управление информацией об аннотациях данных в папке аннотаций. Например, файл аннотаций обнаружения и сегментации для train2014 — instances_train2014.json.
Objectinstances (целевой экземпляр), objectkeypoints (целевые ключевые точки), imagecaptions (см. изображения и обсуждение) три типа аннотаций
Общие показатели оценки
Истинные положительные результаты (TP): количество положительных примеров, которые правильно разделены на положительные примеры, то есть количество случаев, которые на самом деле являются положительными примерами и классифицируются как положительные примеры.
Ложные срабатывания (FP): количество ложных срабатываний, то есть количество случаев, которые на самом деле являются отрицательными, но классифицируются как положительные.
Ложноотрицательные результаты (FN): количество ложноотрицательных результатов, то есть количество случаев, которые на самом деле являются положительными, но классифицируются как отрицательные.
Истинные негативы (TN): количество правильно классифицированных как негативные примеры, фактическое количество негативных примеров и количество случаев, классифицированных как негативные примеры.
Точность = TP/(TP+FP)= TP/все данные, предсказанные моделью как положительные
Отзыв = TP/(TP+FN) = TP/все данные с положительными примерами истинной категории
Кривая PR
Мы надеемся, что чем выше результат обнаружения P, тем лучше R, но на самом деле в некоторых случаях они противоречат друг другу.
Итак, что нам нужно сделать, так это найти баланс между точностью и полнотой. Один из методов заключается в построении кривой PR, а затем использовании площади под кривой PR, AUC (AreaunderCurve), для оценки качества модели.
Показатели долговой расписки
IoU - это отношение пересечения и объединения предсказанных блоков и истинности основания.
Для каждого класса область, в которой перекрываются поле предсказания и наземная истина, является пересечением, а общая охватываемая область является объединением.
PR в обнаружении объектов
Расчет mAP в ЛОС
Через кривую PR мы можем получить соответствующее значение AP:
До 2010 года AP в конкурсе PASCALVOC определялся следующим образом:
-
Во-первых, результаты предсказания модели сортируются (то есть в порядке убывания достоверности каждого значения предсказания).
-
Делим значение отзыва от 0 до 1 на 11 частей: 0, 1, 0,2, 0,3, 0,4, 0,5, 0,6, 0,7, 0,8, 0,9, 1,0.
-
В каждом интервале отзыва (0-0,1, 0,1-0,2, 2-0,3, ..., 0,9-1,0) мы вычисляем максимальную степень точности, а затем вычисляем сумму и среднее значение этих максимальных скоростей точности, которое является значением AP. .
С 2010 года в конкурсе PASCALVOC эти 11 точек отзыва заменены всеми точками данных отзыва на кривой PR.
Для значения полноты r значение точности принимает максимальное значение среди всех значений полноты>=r (это гарантирует, что кривая p-r монотонно убывает, и позволяет избежать раскачивания кривой).Этот метод называется интерполяцией по всем точкам. Это значение АР также является площадью под кривой PR.
Конкретный пример:
Как рассчитать mAP в Coco
AP вычисляется 10 раз в [0,5:0,05:0,95] с использованием IOU (используется для определения, является ли это TP), а затем для расчета AP используется метод среднего значения.
не максимальное подавление
Алгоритм NMS обычно используется для удаления избыточных блоков после прогнозирования модели. Обычно он имеет nms_threshold = 0,5. Конкретные идеи реализации заключаются в следующем:
1. Выберите тот, у которого больше всего очков в этом типе ящика, запишите его как box_best и сохраните его.
2. Рассчитайте IOU box_best и остальных коробок.
3. Если IOU>0,5, то выбросите коробку (поскольку две коробки могут представлять одну и ту же цель, резервируется та, у которой больше баллов).
4. Из последних оставшихся ящиков узнайте, какой из них имеет наибольшее количество очков, и так далее.
Нажмите «Подписаться», чтобы впервые узнать о новых технологиях HUAWEI CLOUD~