Позвольте вам начать работу с алгоритмами обнаружения целей

искусственный интеллект

​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​Кратко изложены базовые знания об алгоритмах обнаружения целей, которые удобно изучать и просматривать каждому.

Эта статья опубликована в сообществе 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~