Эта статья изначально была размещена в блоге Sightcorp. Посетите веб-сайт, чтобы узнать о наших потрясающих API и SDK для анализа лиц!

Любой, кто занимается обнаружением объектов, рано или поздно сталкивается с этой проблемой: вы создали свой первый детектор объектов и теперь хотите узнать его производительность. Конечно, вы можете видеть, что модель находит все объекты на картинках, которые вы ей кормите. Большой! Но как это измерить? Вы знакомы с точностью и отзывчивостью и, возможно, даже видели некоторые кривые точности-отзыва в документе, который вы только что прочитали, но как именно вы заставите свою модель создавать эти кривые? И что это за магическое число - «AP», которое они поместили в таблицу 1? Больше не бойтесь, мы преодолеем это вместе.

Метрики обнаружения объектов становятся беспорядочными. Им необходимо фиксировать как локализацию, так и классификацию объектов на изображении, что менее просто, чем простая точность классификации. Из-за сложности проблемы на протяжении многих лет в нескольких соревнованиях были установлены варианты с одним и тем же показателем: средняя точность. К сожалению, эти немного разные реализации легко запутать. Как разобраться в этом лабиринте различий между PASCAL VOC, ImageNet и COCO? И даже если мы выберемся из этого, стоит ли оно того? Подходит ли даже средняя точность для обнаружения объектов? Или нам нужно что-то еще, что-то большее, чем точность и отзывчивость?

Ступени: точность и отзывчивость

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

В любом новом эксперименте один из самых важных вопросов - что именно мы хотим измерить. Мы можем рассматривать обнаружение объектов как частный случай модели поиска. Точность и отзыв напрямую связаны с обнаружением объектов: точность сообщает нам, сколько ограничивающих прямоугольников, которые мы обнаружили, являются фактическими объектами, а отзыв сообщает нам, сколько объектов мы на самом деле нашли. Если мы предположим, что наша модель дает оценки достоверности для всех обнаружений, мы можем ранжировать все наши обнаружения по этой достоверности, что дает нам возможность вычислять точность и отзыв с заданным рангом K. При использовании модели в приложении мы обычно выбираем фиксированную степень достоверности. порог c (часто c = 0,5), который мы используем для фильтрации наших обнаружений только до достоверных. Давайте зафиксируем рейтинг K, чтобы он соответствовал c = 0,5. Полученная в результате точность и отзыв дают нам точную производительность нашей модели, как если бы мы использовали ее в приложении.

Последняя часть этой головоломки - это то, как мы определяем, какие обнаружения являются истинными и ложными, соответственно. Предупреждение о спойлере: это один из самых сложных компонентов оценки обнаружения объектов. Руководящим принципом всех современных показателей является так называемая мера перекрытия пересечения по объединению (IoU). Это буквально определяется как пересечение по объединению ограничивающего прямоугольника обнаружения и ограничивающего прямоугольника наземной истины:

Мы считаем обнаружение истинно положительным, если перекрытие IoU превышает фиксированный порог r, который обычно составляет r = 0,5. Обратите внимание, что это значение установлено произвольно. Насколько нам известно, настоящего обоснования этой конкретной ценности нет. Несмотря на то, что на практике кажется, что это хорошо работает для относительно больших лиц, это известная проблема, что для очень маленьких объектов (например, 10 × 10 пикселей) IoU не работает. Похоже, это связано с тем, что небольшие вариации в предсказанных координатах пикселей могут значительно ухудшить перекрытие на крошечных объектах.

Это не единственная проблема с использованием точности и отзыва. Напомним (каламбур), что нам пришлось сократить наши прогнозы до порога достоверности, чтобы получить эти показатели. Это означает, что точность и отзывчивость, которые мы получаем, представляют только одну настройку модели. Мы обучили нашу модель давать нам уверенность, поэтому теоретически у нас есть доступ к целому ряду моделей, каждая со своим собственным порогом достоверности. Если бы мы могли избавиться от этой фильтрации по порогу достоверности, тогда мы могли бы фиксировать производительность модели по всему спектру, давая гораздо более полную картину нашей модели.

Средняя точность

Многие улучшения в компьютерном зрении явились результатом подачи заявок на участие в одном из многочисленных конкурсов, проводимых в рамках конференций. Возможно, первым крупным соревнованием по обнаружению объектов было соревнование по классам визуальных объектов PASCAL 2007 (VOC) [Everingham 2010]. Этот конкурс длился до 2012 года, когда авторы начали сотрудничать с новым конкурсом Imagenet ILSVRC. Оба соревнования проводили оценку на собственном наборе данных, но поскольку новое соревнование ImageNet предлагало гораздо больший и блестящий набор данных для тренировки, вскоре он стал намного более популярным, чем PASCAL. Глубокое компьютерное зрение начало набирать обороты примерно в то время, за что конкуренция ImageNet заслужила большую заслугу с такими конкурентами, как определяющее эпоху издание AlexNet [Крижевский 2012]. В 2018 году самым популярным преемником ImageNet стал конкурс Microsoft Common Objects in Context (COCO), который расширил размер обучающего набора данных даже дальше, чем ImageNet.

Конечно, соревнованиям нужны показатели, чтобы определять победителей. Самый плодотворный показатель для обнаружения объектов появился в первом из этих соревнований, PASCAL VOC, авторы которого решили использовать меру средней точности (AP) [Salton & McGill 1983] для своих соревнований. . Они определили его как площадь под кривой точности-отзыва, полученной путем выборки точности и отзыва при одиннадцати дискретных значениях отзыва [0,0: 1,1: 0,1]. В случае мультиклассового детектора объектов точность и отзыв должны вычисляться для каждого класса объектов отдельно, а окончательная метрика средняя средняя точность (mAP) представляет собой среднее значение средней точности каждого класса. .

Итерация конкурса VOC 2012 года внесла небольшое изменение в вычисление AP за счет точности выборки и повторения во всех уникальных интервалах повторения вместо одиннадцати заранее определенных интервалов отзыва. Соревнования, последовавшие за VOC, продолжили использование AP, как это определено VOC 2012, хотя каждый по-своему. ILSVRC изменил только порог перекрытия IoU для крошечных объектов, эффективно увеличив размер аннотации наземной истины:

Что касается нынешнего современного конкурса: COCO внесла гораздо большие изменения в метрику, но прежде чем мы углубимся в это, нам придется решить еще одну проблему с AP.

Наказание за локализации

Напомним, что назначение истинных и ложных срабатываний зависит от перекрытия IoU между обнаружением и заземлением. AP использует фиксированный порог для этого перекрытия IoU, но не пересматривает аспект локализации модели обнаружения где-либо еще в своем определении. Единственный способ наказать модель за плохие локализации - это если они настолько плохи, что истинные положительные результаты превращаются в ложные.

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

Этот хвост сложно обнаружить и правильно локализовать. Возникает вопрос: заботимся ли мы о включении хвоста в ограничивающую рамку? Возможно, ваше приложение классифицирует кошек на картинках по кошачьим бегам. Форма и цвет хвоста могут быть важны для этой задачи, поэтому вы не хотите потерять хвост при обнаружении. Возможно, ваше приложение является частью автономного транспортного средства, которому необходимо обнаруживать детей и домашних животных на улице, чтобы знать, когда задействовать экстренный тормоз. В этом случае мы больше заботимся о поиске кошки, чем о том, где именно находится ее хвост, поэтому нас, вероятно, меньше заботит конкретная локализация.

AP в его первоначальном виде не допускает явных штрафов за локализацию. Это проблема, если вы оцениваете свой детектор на предмет чувствительности к локализации. Один из способов изменить AP - это изменить порог IoU, используемый для определения истинных и ложных срабатываний. Если мы увеличим порог, модели с худшей локализацией пострадают от AP, поскольку они начнут давать больше ложных срабатываний. Это подход соревнования COCO, хотя вместо того, чтобы просто повышать порог, они требуют, чтобы AP вычислялся с превышением порогов [0,5: 0,95: 0,05], а затем усреднялся. Это усредненное число обозначается как AP, в то время как исходный VOC AP (r = 0,5 обозначается как AP (50). Во многих документах также сообщается об AP (75) (т.е. AP при τ = 0,75). Сравнение между AP (50) и AP (75) используется, чтобы показать, как модели улучшаются или ухудшаются с более строгими порогами перекрытия IoU, в качестве суррогата явных штрафов за локализацию. Новая точка доступа по-прежнему не накладывает явных штрафов за локализацию.Просто отсутствует штрафной срок за локализацию в точке доступа, поэтому невозможно получить явное представление о производительности локализации.

Точность вызова локализации

Здесь мы обращаемся к недавно предложенной метрике под названием Точность вызова локализации (LRP) [Oksuz 2018]. По сути, он просто добавляет локализацию в качестве явного третьего члена к отзыву и точности, найденным в AP. Однако результирующая метрика работает немного иначе, чем AP. Сначала все три компонента вычисляются для каждого уникального порога достоверности модели c. Общие метрики на самом деле являются метрикой ошибок (поэтому чем меньше, тем лучше), поэтому компоненты отзыва (LRP (FN)) и точности (LRP (FP)) должны быть инвертированы:

Компонент локализации довольно прост. Это просто средний инвертированный IoU истинно положительных обнаружений, сопоставленных с наземной истиной y:

Общий LRP для данного порога достоверности представляет собой нормализованную взвешенную сумму всех трех компонентов:

Мы вычисляем LRP для каждого порога достоверности в области [1,00: 0,00: 0,01], затем строим эти LRP (с порогами достоверности на оси x), чтобы получить кривую LRP. См. Эти примеры кривых, где крайняя правая кривая - это кривая LRP, а остальные - кривые трех компонентов:

На данный момент у нас есть кривая, представляющая нашу метрику. Однако нам бы очень хотелось иметь единый номер. Как мы знаем, AP использует площадь под кривой PR, чтобы преобразовать кривую в единую метрику. Для AP это необходимо, потому что одна точка не отражает производительность всей модели. Даже если бы у нас был метод выбора одной точки, эта точка была бы представлена ​​двумя значениями: точность и отзыв. У LRP нет последней из этих проблем, поскольку одна точка на кривой LRP моделирует значение метрики LRP. Поэтому авторы метода определяют самую низкую точку кривой LRP как оптимальную LRP (oLRP). Преимущество этого метода заключается в том, что в качестве побочного эффекта мы получаем идеальный порог достоверности c для использования с этой моделью, который предположительно лучше всего уравновешивает три компонента LRP.

Однако у этой метрики есть и обратная сторона. Ранее мы говорили, что основной мотивацией для использования AP было то, чтобы наша метрика измеряла не просто один экземпляр нашей модели, а, скорее, весь спектр моделей, которые мы получаем, варьируя порог достоверности. Похоже, что oLRP на самом деле не удовлетворяет этому свойству, поскольку oLRP дает LRP единственного лучшего экземпляра нашей модели. Другими словами, в то время как AP объединяет производительность всех моделей в окончательной метрике, oLRP использует производительность всех моделей для определения лучшей модели, но затем измеряет производительность только этой единственной модели.

Есть много аргументов в пользу того, какой из этих подходов является более надежным способом сравнения детекторов объектов. Можно утверждать, что важен только лучший экземпляр модели, поскольку он будет использоваться. Тем не менее, соревнования могут ценить методы, дающие стабильные результаты во всех параметрах модели, а не методы, которые могут вознаграждать модели, которые «превосходят» определенные параметры. В конце концов, оба подхода имеют свои достоинства. Пока рано что-либо говорить о возможном принятии LRP в качестве метрики обнаружения объектов. Академическому сообществу придется разобраться в этом, поэтому нам придется пока оставить вас без ответа.

Так какое же применение oLRP в качестве метрики обнаружения объектов? Самая большая ценность oLRP заключается в его разложении на составляющие метрики. Отдельные показатели ошибок отзыва, точности и локализации - это интуитивно понятные средства отладки, которые можно показать вместе с AP, например, показывая их для модели oLRP. Реализация довольно проста: просто отслеживайте компоненты для каждого порога достоверности, затем извлекайте и показывайте значения метрик компонентов для модели oLRP. Что наиболее важно, это дает пользователю явную меру производительности локализации вашей модели, которую мы и пытались найти. Несмотря на то, что LRP может быть не идеальным в качестве общей метрики обнаружения объектов, по крайней мере, он имеет применение в этом смысле.

Заключение

Мы рассмотрели два основных показателя для обнаружения объектов: средняя точность (AP) и точность вызова локализации (LRP). Ожидается, что самые современные методы будут публиковать результаты с использованием AP, главным образом потому, что основные соревнования всегда и продолжают основываться на нем. Новая метрика LRP служит своей собственной цели, которая в основном состоит в предоставлении явных метрик компонентов. Побочный эффект LRP - получение наилучшего порога достоверности - также очень полезен. В целом, однако, использование LRP, возможно, будет ограничено ролью дополнительного анализа, по крайней мере, на данный момент. Время покажет, будет ли в будущем большая роль в литературе по обнаружению объектов.

Давайте перейдем к личному. Что следует использовать? Прежде всего, какую бы метрику вы ни использовали, используйте официальные реализации. Они часто ужасно написаны (почему исследователи не могут писать читаемый код ?!), но, по крайней мере, ваши результаты будут напрямую сопоставимы с опубликованными результатами. Что касается показателей, используйте AP для измерения вашего прогресса и используйте LRP для дополнительного анализа. Вы можете получить их обе из официальной реализации LRP, которая является форком официальной реализации COCO AP и включает как AP, так и LRP.

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

использованная литература

  • Русаковский О., Дэн Дж., Су, Х., Краузе Дж., Сатиш, С., Ма, С.,… Фей-Фей, Л. (2014). ImageNet - крупномасштабная задача визуального распознавания. Получено с http://arxiv.org/abs/1409.0575
  • Крижевский А., Суцкевер И., Хинтон Г. Э. (2012). Классификация ImageNet с глубокими сверточными нейронными сетями. Достижения в системах обработки нейронной информации, 1–9. Https://doi.org/http://dx.doi.org/10.1016/j.protcy.2014.09.007
  • Солтон, Г., и МакГилл, М. Дж. (1983). Введение в современный поиск информации. Макгроу-Хилл. Получено с https://dl.acm.org/citation.cfm?id=576628
  • Эверингем, М., Ван Гул, Л., И. Уильямс, К. К., Винн, Дж., Зиссерман, А., Эверингем, М.,… Зиссерман, А. (2010). Задача PASCAL Visual Object Classes (VOC) Challenge. Int J Comput Vis, 88, 303–338. Https://doi.org/10.1007/s11263-009-0275-4
  • Оксуз К., Кам Б. К., Акбас Э. и Калкан С. (2018). Точность вызова локализации (LRP): новый показатель производительности для обнаружения объектов. Получено с http://arxiv.org/abs/1807.01696

Первоначально опубликовано на https://sightcorp.com 12 августа 2019 г.