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

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

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

Вступление

Конечная цель обнаружения объектов - найти важные элементы, нарисовать вокруг них прямоугольные ограничивающие рамки и определить класс каждого обнаруженного объекта. Приложения обнаружения объектов возникают во многих различных областях, включая обнаружение пешеходов для беспилотных автомобилей, мониторинг сельскохозяйственных культур и даже отслеживание мяча в реальном времени для занятий спортом. На протяжении многих лет исследователи посвятили этой цели значительный объем работы: от алгоритма обнаружения лиц Виола и Джонс, опубликованного в 2001 г., до RetinaNet, быстрого , высокоточная структура обнаружения с одним состоянием, выпущенная в 2017 году. Внедрение CNN знаменует поворотный момент в истории обнаружения объектов, поскольку почти все современные системы используют CNN в той или иной форме. Тем не менее, оставшаяся часть этого поста будет посвящена решениям глубокого обучения для обнаружения объектов, хотя аналогичные проблемы встречаются и с другими подходами. Чтобы узнать больше об основах обнаружения объектов, ознакомьтесь с моим сообщением в блоге Metis: Руководство по обнаружению объектов для новичков.

Вызовы

1. Двойные приоритеты: классификация и локализация объектов.

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

Региональные CNN представляют собой один популярный класс систем обнаружения объектов. Эти методы состоят из генерации предложений по регионам, в которых вероятнее всего будут расположены объекты, с последующей обработкой CNN для классификации и дальнейшего уточнения местоположений объектов. Росс Гиршик и др. разработали Fast R-CNN, чтобы улучшить свои первоначальные результаты с R-CNN. Как следует из названия, Fast R-CNN обеспечивает резкое ускорение, но точность также повышается, поскольку задачи классификации и локализации оптимизируются с использованием одной унифицированной многозадачной функции потерь. Каждая область-кандидат, которая может содержать объект, сравнивается с истинными объектами изображения. В этом случае регионы-кандидаты подвергаются штрафам как за ложную классификацию, так и за несовпадение ограничивающих рамок. Следовательно, функция потерь состоит из двух видов членов:

где термин классификации накладывает логарифмические потери на прогнозируемую вероятность истинного класса объектов u, а термин локализации представляет собой плавные потери L₁ для четырех позиционных компонентов, которые определяют прямоугольник. Обратите внимание, что штраф за локализацию не применяется к фоновому классу, когда объект отсутствует, u = 0. Также обратите внимание, что параметр λ можно отрегулировать, чтобы повысить приоритет классификации или локализации.

2. Скорость обнаружения в реальном времени

Алгоритмы обнаружения объектов должны не только точно классифицировать и локализовать важные объекты, они также должны быть невероятно быстрыми во время прогнозирования, чтобы соответствовать требованиям обработки видео в реальном времени. За прошедшие годы несколько ключевых усовершенствований повысили скорость этих алгоритмов, сократив время тестирования с 0,02 кадра в секунду (fps) R-CNN до впечатляющих 155 кадров в секунду Fast YOLO.

Fast R-CNN и Faster R-CNN направлены на ускорение оригинального подхода R-CNN. R-CNN использует выборочный поиск для генерации 2000 возможных областей интереса (RoI) и передает каждый RoI через базу CNN индивидуально, что вызывает огромные узкие места, поскольку обработка CNN довольно медленная. Fast R-CNN вместо этого отправляет все изображение через базу CNN только один раз, а затем сопоставляет RoI, созданные с помощью выборочного поиска, с картой характеристик CNN, что приводит к 20-кратному сокращению времени обработки. Хотя Fast R-CNN намного быстрее, чем R-CNN, сохраняется еще один барьер скорости. Быстрому R-CNN требуется примерно 2,3 секунды для обнаружения объекта на одном изображении, а выборочный поиск занимает полные 2 секунды из этого времени! Более быстрый R-CNN заменяет выборочный поиск отдельной субнейронной сетью для генерации RoI, создавая еще 10-кратное ускорение и, таким образом, тестирование со скоростью примерно 7–18 кадров в секунду.

Несмотря на эти впечатляющие улучшения, видео обычно снимаются со скоростью не менее 24 кадров в секунду, а это значит, что Faster R-CNN, скорее всего, не поспеет за ним. Региональные методы состоят из двух отдельных этапов: предложение регионов и их обработка. Такое разделение задач оказывается несколько неэффективным. Другой важный тип систем обнаружения объектов вместо этого основан на едином подходе с одним государством. Эти так называемые однократные детекторы полностью обнаруживают и классифицируют объекты за один проход по изображению, что существенно сокращает время тестирования. Один такой однократный детектор YOLO начинается с размещения сетки поверх изображения и позволяет каждой ячейке сетки обнаруживать фиксированное количество объектов различных размеров. Для каждого истинного объекта, присутствующего на изображении, ячейка сетки, связанная с центром объекта, отвечает за предсказание этого объекта. Таким образом, сложная, многосторонняя функция потерь гарантирует, что вся локализация и классификация происходят в рамках одного процесса. Одна версия этого метода, Fast YOLO, даже достигла скорости 155 кадров в секунду; однако точность классификации и локализации резко падает на такой повышенной скорости.

В конечном счете, современные алгоритмы обнаружения объектов пытаются найти баланс между скоростью и точностью. На эти результаты влияет несколько вариантов дизайна, выходящих за рамки системы обнаружения. Например, YOLOv3 позволяет использовать изображения с различным разрешением: изображения с высоким разрешением обычно имеют более высокую точность, но более медленную обработку, и наоборот для изображений с низким разрешением. Выбор базы CNN также влияет на компромисс между скоростью и точностью. Очень глубокие сети, такие как 164 уровня, используемые в Inception-ResNet-V2, дают впечатляющую точность, но бледны по сравнению с фреймворками с VGG-16 с точки зрения скорости. Выбор схемы обнаружения объектов должен производиться с учетом контекста, в зависимости от того, какой приоритет имеет скорость или точность.

3. Несколько пространственных масштабов и соотношений сторон

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

Якорные ящики

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

Карты с несколькими объектами

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

Сеть функций пирамиды

Сеть пирамиды признаков (FPN) продвигает концепцию множественных карт признаков на один шаг вперед. Изображения сначала проходят типичный путь CNN, давая семантически богатые финальные слои. Затем, чтобы восстановить лучшее разрешение, FPN создает нисходящий путь, повышая дискретизацию этой карты функций. Хотя путь сверху вниз помогает обнаруживать объекты разных размеров, пространственное положение может быть искажено. Боковые связи добавляются между исходными картами объектов и соответствующими реконструированными слоями для улучшения локализации объекта. FPN в настоящее время предоставляет один из ведущих способов обнаружения объектов в различных масштабах, и YOLO был дополнен этим методом в его третьей версии.

4. Ограниченные данные

Ограниченный объем аннотированных данных, доступных в настоящее время для обнаружения объектов, оказывается еще одним серьезным препятствием. Наборы данных обнаружения объектов обычно содержат достоверные примеры от десятка до сотни классов объектов, в то время как наборы данных классификации изображений могут включать более 100 000 классов. Кроме того, краудсорсинг часто производит теги классификации изображений бесплатно (например, путем анализа текста предоставленных пользователями подписей к фотографиям). Однако сбор наземных меток вместе с точными ограничивающими рамками для обнаружения объектов остается невероятно утомительной работой.

Набор данных COCO, предоставленный Microsoft, в настоящее время является одним из лучших доступных данных по обнаружению объектов. COCO содержит 300 000 сегментированных изображений с 80 различными категориями объектов с очень точными метками местоположения. Каждое изображение содержит в среднем около 7 объектов, и они появляются в очень широком масштабе. Каким бы полезным ни был этот набор данных, типы объектов за пределами этих 80 выбранных классов не будут распознаваться при обучении исключительно на COCO.

Очень интересный подход к уменьшению дефицита данных исходит от YOLO9000, второй версии YOLO. YOLO9000 включает в себя множество важных обновлений YOLO, но он также направлен на сокращение разрыва в наборе данных между обнаружением объектов и классификацией изображений. YOLO9000 обучается одновременно на COCO и ImageNet, наборе данных классификации изображений с десятками тысяч классов объектов. Информация COCO помогает точно определять местонахождение объектов, а ImageNet увеличивает словарный запас классификации YOLO. Иерархическое дерево WordTree позволяет YOLO9000 сначала определять концепцию объекта (например, животное / собака), а затем углубляться в детали (например, сибирский хаски). Этот подход, по-видимому, хорошо работает для концепций, известных COCO, таких как животные, но плохо работает с менее распространенными концепциями, поскольку предложение RoI исходит исключительно от обучения с COCO.

5. Классовый дисбаланс

Несбалансированность классов является проблемой для большинства задач классификации, и обнаружение объектов не является исключением. Рассмотрим типичную фотографию. Скорее всего, фотография содержит несколько основных объектов, а остальная часть изображения заполнена фоном. Вспомните, что выборочный поиск в R-CNN дает 2000 потенциальных значений RoI на изображение - только представьте, сколько из этих областей не содержат объектов и считаются отрицательными!

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

где pᵤ - прогнозируемая вероятность класса для истинного класса, а γ ›0. Дополнительный коэффициент (*) снижает потери для хорошо классифицированных примеров с высокой вероятностью, а общий эффект снижает акцент на классах с множеством примеры, которые модель хорошо знает, например фоновый класс. Следовательно, интересующие объекты, принадлежащие к классам меньшинств, получают большую значимость и улучшенную точность.

Заключение

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

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

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

[1] Т.-Ю. Лин, П. Гойал, Р. Гиршик, К. Хе и П. Доллар, Потеря фокуса при обнаружении плотных объектов (2017), препринт arXiv arXiv: 1708.02002.

[2] Р. Гиршик, Дж. Донахью, Т. Даррелл и Дж. Малик, Богатые иерархии функций для точного обнаружения объектов и семантической сегментации (2014 г.), Конференция IEEE по компьютерному зрению и распознаванию образов (CVPR).

[3] Р. Гиршик, Fast R-CNN (2015), Международная конференция IEEE по компьютерному зрению (ICCV).

[4] С. Рен, К. Хе, Р. Гиршик и Дж. Сан. Быстрее r-cnn: к обнаружению объектов в реальном времени с помощью сетей региональных предложений. (2015) Нейронные системы обработки информации (НИПС).

[5] Дж. Редмон, С. Диввала, Р. Гиршик и А. Фархади, Вы смотрите только один раз: унифицированное обнаружение объектов в реальном времени (2015), препринт arXiv arXiv: 1506.02640.

[6] Дж. Редмон и А. Фархади, Yolo9000: лучше, быстрее, сильнее (2017), Компьютерное зрение и распознавание образов (CVPR).

[7] Дж. Редмон и А. Фархади, Yolov3: Постепенное улучшение (2018), arXiv.

[8] В. Лю, Д. Ангелов, Д. Эрхан, К. Сегеди и С. Э. Рид, SSD: одноразовый мультибокс-детектор (2015), CoRR.

[9] Т.-Ю. Лин, П. Доллар, Р. Гиршик, К. Хе, Б. Харихаран и С. Белонги, Сети пирамид признаков для обнаружения объектов (2017), Труды конференции IEEE по компьютерному зрению и распознаванию образов.

[10] Т.-Ю. Лин, М. Мэйр, С. Белонги, Дж. Хейс, П. Перона, Д. Раманан, П. Доллар и К. Л. Зитник, Microsoft coco: общие объекты в контексте (2014), Европейская конференция по компьютерному зрению.