www.machinelearningmastery.ru

Машинное обучение, нейронные сети, искусственный интеллект
Header decor

Home
Занимательная история, выдающиеся люди, малоизвестные факты, находки, открытия, фальсификации. Присоединяйся!

Модели обнаружения объектов измерений - mAP - Что такое средняя точность?

Дата публикации Jan 26, 2018

Для наиболее распространенных проблем, которые решаются с помощью машинного обучения, обычно доступно несколько моделей. Каждый из них имеет свои причуды и будет действовать по-разному в зависимости от различных факторов.

Каждая модель оценивается по ее производительности над набором данных,обычно называется набором данных «валидация / тест», Эта производительность измеряется с использованием различных статистических данных - точность, точность, отзыв и т. Д. Статистика выбора обычно зависит от вашего конкретного применения и варианта использования. И для каждого приложения очень важно найти показатель, который можно использовать для объективного сравнения моделей.

В этой статье мы поговорим о наиболее распространенной метрике выбора, используемой для задач обнаружения объектов -Средняя средняя точностьиначекарта.

В большинстве случаев показатели легко понять и рассчитать. Например, в бинарной классификации,точность и отзывслужить простой и интуитивно понятной статистикой.

С другой стороны, обнаружение объектов - это совсем другая и ... интересная проблема.

Даже если ваш детектор объектов обнаружит кошку на изображении, это бесполезно, если вы не можете найтигдена изображении он расположен.

Так как вы предсказываетевстречаемостиа такжепозицияиз объектов в изображении, довольно интересно, как мы вычисляем эту метрику.

Во-первых, давайте определим проблему обнаружения объекта, чтобы мы были на одной странице.

Проблема обнаружения объекта

Под «проблемой обнаружения объекта» я имею в виду

По заданному изображению найдите в нем объекты, найдите их положение и классифицируйте их.

Модели обнаружения объектов обычно обучаются на фиксированном наборе классов, поэтому модель будет определять местонахождение и классифицировать только те классы в изображении.

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

Таким образом, обнаружение объекта включает в себя каклокализацияобъекта на изображении исортировкаэтот объект.

Изображение 1 - Немногочисленные проблемы обработки изображений [Изображение взято со слайдов курса Stanford CS231n Course (лекция 8)]

Средняя средняя точность, как описано ниже, особенно используется для алгоритмов, где мы прогнозируем местоположение объекта вместе с классами. Следовательно, изИзображение 1,мы видим, что это полезно для оценки моделей локализации, моделей обнаружения объектов и моделей сегментации.

Оценка моделей обнаружения объектов

Почему карта?

Каждое изображение в проблеме обнаружения объекта может иметь разные объекты разных классов. Как упоминалось ранее, необходимо оценить как классификацию, так и локализацию модели.
Следовательно, стандартная метрика точности, используемая в задачах классификации изображений, не может быть непосредственно применена здесь. Вот где на карте появляется мАП (средняя средняя точность). Я надеюсь, что в конце этой статьи вы сможете понять, что это значит и представляет.

О земной правде

Для любого алгоритма метрики всегда оцениваются по сравнению с основными данными истинности. Мы знаем только информацию об основах истины для наборов данных обучения, проверки и тестирования.

Для проблем с обнаружением объектов, основная истина включает в себяобраз,классы объектовв этом иистинные ограничивающие рамкикаждого из объектов**в этом изображении.

Пример:

Человеческая визуализация земной правды

Нам дано фактическое изображение (jpg, png и т. Д.) И другие аннотации в виде текста (координаты ограничивающего прямоугольника (x, y, ширина и высота) и класса), красный прямоугольник и текстовые метки нарисованы только для нас на этом изображении. люди для визуализации.

Так что для этого конкретного примера, что наша модель получает во время обучения, это

Фактическое изображение

И 3 набора чисел, определяющих основную правду (давайте предположим, что это изображение 1000x800px, и все эти координаты в пикселях,также аппроксимируется)

Теперь давайте запачкаем руки и посмотрим, как рассчитывается карта.

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

Расчет КАРТА

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

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

Мы запускаем исходное изображение через нашу модель, и это то, что алгоритм обнаружения объекта возвращает после доверительного порога,

Изображение с ограничивающими рамками -

Результаты от нашей модели

Теперь, поскольку мы, люди, являемся опытными детекторами объектов, мы можем сказать, что эти обнаружения верны Но как мы можем это измерить?

Сначала нам нужно узнать, насколько правильна каждая из этих обнаружений., Метрика, которая говорит нам правильность данного ограничивающего прямоугольника, -долговая расписка-Пересечение через Союз, Это очень простая визуальная величина.

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

долговая расписка

Пересечение через объединение - это соотношение между пересечением и объединением предсказанных блоков и базовых блоков истинности.Эта статистика также известна как индекс Жакара и была впервые опубликована Полом Жакаром в начале 1900-х годов.

Чтобы получить значения пересечений и объединений, сначала наложим блоки предсказания на базовые блоки истинности. (см. изображение)

Теперь для каждого класса область, перекрывающая окно предсказания и поле истинности земли, являетсяпересечениеплощадь и общая площадь охватываетсоюз,

Мы покажем этот пример только для лошади

Пересечение и объединение для класса лошади в вышеприведенном виде будет выглядеть так,

В этом случае пересечение довольно большое

Пересечение включает область перекрытия (область, окрашенную в голубой цвет), а объединение включает в себя оранжевую и голубую области.

IOU будет рассчитываться следующим образом

Это изображение вдохновлено статьей pyimagesearch, которая была вдохновлена ​​заданием CS1699 HW университета Питтсбурга4

Выявление правильных обнаружений и расчет точности

Длярасчет точности и отзываКак и во всех проблемах машинного обучения, мы должны идентифицировать Истинные Положительные, Ложные Положительные, Правильные Отрицательные и Ложные отрицательные

Чтобы получить истинные положительные и ложные положительные результаты, мы используем IoU. Используя IoU, мы теперь должны определить, является ли обнаружение (положительное) правильным (True) или нет (False). Наиболее часто используемое пороговое значение составляет 0,5, т. Е. Если IoU> 0,5, оно считаетсяИстинный Позитивиначе это считаетсяложно положительный, Метрика оценки COCO рекомендует измерение через различные пороги IoU, но для простоты мы будем придерживаться 0,5, что является метрикой POSCAL VOC.

Для расчета Recall нам нужно количество негативов. Поскольку каждая часть изображения, где мы не предсказывали объект, считается негативной, измерение «истинных» негативов немного бесполезно. Таким образом, мы только измеряем«Ложные» негативыто есть. объекты, которые пропустила наша модель.

Кроме того, еще одним фактором, который принимается во внимание, являетсяуверенностьчто модель сообщает для каждого обнаружения. Изменяя наш доверительный порог, мы можем изменить, является ли предсказанная коробка положительной или отрицательной. По сути, все прогнозы (поле + класс) выше порога считаются положительными ячейками, а все, что ниже, являются отрицательными.

Теперь для каждого изображения у нас есть наземные данные правды, которые говорят намколичество реальных объектовданного класса в этом изображении.

Теперь мы рассчитываем IoU с правдой Основания для каждого положительного поля обнаружения, о котором сообщает модель. Используя это значение и наш порог IoU (скажем, 0,5), мы вычисляемколичество правильных обнаружений ()для каждого класса в изображении. Это используется для расчета точности для каждого класса [TP / (TP + FP)]

Точность = TP / (TP + FP)

Поскольку мы уже рассчиталиколичество правильных прогнозов ()(Истинные Позитивы) иПропущенные обнаружения(Ложные негативы) Следовательно, теперь мы можем вычислитьНапомним (/В)модели для этого класса, используя эту формулу.

Напомним = TP / (TP + FN)

Расчет средней средней точности

Средняя средняя точность - это термин, который имеет разные определения. Этот показатель обычно используется в областях поиска информации и обнаружения объектов. Оба этих домена имеют разные способы расчета mAP. Мы поговорим об обнаружении объектов соответствующих карт.

Популярное в настоящее время определение mAP обнаружения объектов впервые было формализовано в рамках задачи PASCAL Visual Objects Classes (VOC) в 2007 году, которая включала различные задачи обработки изображений. Для точной бумаги обратитесь кэто,

Мы используем те же подходы для расчета точности и отзыва, как упоминалось в предыдущем разделе.

Но, как уже упоминалось, у нас есть по крайней мере 2 другие переменные, которые определяют значения Precision и Recall, они являютсядолговая распискаиуверенностьпороги.

IOU - это простая геометрическая метрика, которую можно легко стандартизировать, например, вызов PASCAL VOC оценивает mAP на основе фиксированного 50% IOU. (MSCOCO Challenge идет дальше и оценивает mAP при различных пороговых значениях от 5% до 95%) Коэффициент достоверности, с другой стороны, варьируется в зависимости от модели, 50% -ная уверенность в моем дизайне модели, вероятно, может быть эквивалентна 80% -ной уверенности в дизайне чужой модели, что может изменить форму кривой точного отзыва. Поэтому организаторы POSCAL VOC придумали способ объяснить это изменение.

Теперь нам нужна метрика для оценки моделей независимым от модели способом.

В документе рекомендуется рассчитать меру под названием AP т.е. Средняя точность

For a given task and class, the precision/recall curve is
computed from a method’s ranked output. Recall is defined
as the proportion of all positive examples ranked above a
given rank. Precision is the proportion of all examples above
that rank which are from the positive class. The AP summarises
the shape of the precision/recall curve, and is de-
fined as the mean precision at a set of eleven equally spaced
recall levels [0,0.1,...,1]:

Это означает, что мы выбрали 11 различных доверительных порогов (которые определяют «ранг»). Пороговые значения должны быть такими, чтобыОтзывпри этих значениях достоверности 0, 0,1, 0,2, 0,3,…, 0,9 и 1,0. AP теперь определяется как среднее значениеточностьзначения в этих выбранных 11 Напомним значения. Это приводит к тому, что mAP представляет собой общее представление всей кривой возврата точности.

Далее в статье подробно рассматривается расчет точности, использованной в приведенном выше расчете.

The precision at each recall level r is interpolated by taking
the maximum precision measured for a method for which
the corresponding recall exceeds r.

В основном мы используем максимальную точность для данного значения отзыва.

Следовательно, mAP является средним значением всех значений средней точности для всех ваших классов, измеренных выше.

По сути, так рассчитывается средняя средняя точность для оценки обнаружения объекта. Время от времени могут быть некоторые различия, например, оценка COCO является более строгой, применяя различные метрики с различными IOU и размерами объектов (подробнее здесь). Если кто-то из вас хочет, чтобы я подробно рассказал об этом, дайте мне знать в комментариях.

Итак, в заключение, средняя средняя точность - это, буквально, среднее значение всех средних значений точности (AP) наших классов в наборе данных.

Некоторые важные моменты, которые следует помнить при сравнении значений MAP

  1. MAP всегда рассчитывается по фиксированному набору данных.
  2. Хотя непросто интерпретировать абсолютную количественную оценку выходных данных модели, MAP помогает нам с помощью довольно хорошей относительной метрики. Когда мы вычисляем этот показатель по популярным общедоступным наборам данных, этот показатель можно легко использовать для сравнения старых и новых подходов к обнаружению объектов.
  3. В зависимости от того, как классы распределены в данных обучения, значения средней точности могут варьироваться от очень высокого для некоторых классов (которые имели хорошие данные обучения) до очень низкого (для классов с меньшим / плохие данные). Таким образом, ваш MAP может быть умеренным, но ваша модель может быть действительно хорошей для определенных классов и очень плохой для определенных классов. Следовательно, желательно проанализировать индивидуальный класс Average Precision при анализе результатов вашей модели. Эти значения могут также служить индикатором для добавления большего количества обучающих образцов.

Первоначально опубликовано наtarangshah.com27 января 2018 г. Обновлено 27 мая 2018 г.

Оригинальная статья

Footer decor

© www.machinelearningmastery.ru | Ссылки на оригиналы и авторов сохранены. | map