Решение давней проблемы обнаружения объектов

Обнаружение всех объектов в реальной сцене — сложная задача любой модели обнаружения объектов. Но если у вас есть серия изображений, снятых камерой с фиксированным положением, вы можете воспользоваться преимуществами временного контекста, доступного через несколько изображений. В этой статье мы рассмотрим документ, посвященный Context R-CNN, который использует этот механизм для достижения невероятной производительности при обнаружении реальных объектов, т. е. обнаружении закрытых, плохо освещенных, удаленных объектов. и движущиеся вне изображения объекты. Публикация называется «Context R-CNN: долгосрочный временной контекст для обнаружения объектов в каждой камере» и была опубликована Beery et al. от Калифорнийского технологического института и Google. Я постарался сделать статью простой, чтобы даже читатели с небольшими предварительными знаниями могли ее прочитать. Без дальнейших церемоний, давайте погрузимся!

Предпосылки: Обнаружение объектов и более быстрый R-CNN

Если вы уже знакомы с обнаружением объектов и архитектурой модели Faster R-CNN, можете пропустить эту часть.

Обнаружение объектов — одна из самых сложных задач в Computer Vision. По сути, цель состоит в том, чтобы обучить модель, которая может как локализировать объект в сцене, прогнозируя ограничивающую рамку (выше в синем/зеленом цвете) вокруг него, так и классифицировать объект чтобы предсказать, какой класс объекта (например, собака, кошка и т. д.).

Одна из самых популярных архитектур для обнаружения объектов называется Faster R-CNN. Не вдаваясь в подробности, имеет смысл быстро представить основные концепции модели, поскольку они становятся актуальными для понимания документа Context R-CNN.

Faster R-CNN использует сверточную основу для извлечения признаков из изображения. Это может быть любой тип ConvNet, такой как ResNet-50 или AlexNet. Эта основа с выходной картой объектов, которая содержит все функции изображения. Теперь наступает важная часть: эти функции передаются в сеть предложений регионов (RPN), где модель определяет регион, который, по ее прогнозам, содержит объекты, на которых она обучалась. Регион — это область, отмеченная ограничивающей рамкой, которая содержит объект. Предложения регионов затем объединяются с картами объектов на этапе объединения области интереса, а затем передаются в классификатор для окончательного вывода ограничивающих рамок и предсказанные классы.

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

Теперь давайте перейдем к Context R-CNN. Обычно модели обнаружения объектов работают с однокадровым входом, т. е. используют информацию только из одного изображения для прогнозирования. Вот чем отличается Context R-CNN.

Давайте разберем всю архитектуру: в качестве входных данных используются несколько кадров одной и той же сцены из разных времен. Один из этих кадров (синий) — это изображение, на котором мы хотим выполнить обнаружение объекта. Это окно может быть установлено, например, на 5, тогда 5 изображений будут служить входными данными. Возможно, первый был сделан в 5 утра, а последний в 3 часа дня. Для каждого из этих изображений функции извлекаются Faster R-CNN для создания функций RPN для каждого блока (именно поэтому мы повторно посетили RPN ранее). Итак, теперь у нас есть особенности каждой ограничивающей рамки для каждого из изображений. Затем мы передаем все эти функции в банк кратковременной памяти и сохраняем их там. Банк долговременной памяти также содержит функции из прошлых кадров, но за гораздо более длительный период времени, т.е. 50 образов из прошлого. Только функции ключевого кадра, т. е. функции изображения, на котором мы действительно хотим выполнить обнаружение объекта, передаются непосредственно в механизм внимания.

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

Полученные результаты

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

Эти результаты выглядят довольно впечатляюще! Слева вы видите производительность без контекста, справа Context R-CNN использует банки памяти для обнаружения дополнительных объектов. Давайте посмотрим на некоторые количественные результаты:

Неудивительно, что Context R-CNN превосходит обнаружение на одном кадре для всех классов в наборе данных о животных (Снимок Серенгети для тех, кому интересно). Это можно объяснить механизмом контекста.

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

Еще одним большим преимуществом этой модели является то, что механизмы контекста могут быть легко интегрированы в любую архитектуру Fast, Faster или Mask R-CNN.

Завершение

В этой статье вы узнали о Context R-CNN, документе, который использует временной контекст в виде краткосрочных и долгосрочных банков памяти признаков для обнаружения объектов. Хотя я надеюсь, что эта история дала вам хорошее первое представление о статье, еще многое предстоит узнать. Поэтому я бы посоветовал вам прочитать статью самостоятельно, даже если вы новичок в этой области. С чего-то надо начинать ;)

Если вас интересуют более подробные сведения о методе, представленном в статье, не стесняйтесь, напишите мне сообщение в Твиттере, моя учетная запись связана с моим профилем на Medium.

Надеюсь, вам понравилось это бумажное объяснение. Если у вас есть какие-либо комментарии к статье или вы видите какие-либо ошибки, не стесняйтесь оставлять комментарии.

И последнее, но не менее важное: если вы хотите глубже погрузиться в область передового компьютерного зрения, рассмотрите возможность стать моим последователем. Я стараюсь публиковать статью раз в неделю и информировать вас и всех, кто интересуется, о том, что нового в исследованиях компьютерного зрения!

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

[1] Бири, Сара и др. Контекст r-cnn: долгосрочный временной контекст для обнаружения объектов для каждой камеры. Материалы конференции IEEE/CVF по компьютерному зрению и распознаванию образов. 2020. https://arxiv.org/pdf/1912.03538.pdf

[2] Рен, Шаоцин и др. Быстрее r-cnn: на пути к обнаружению объектов в реальном времени с сетями региональных предложений. Достижения в области нейронных систем обработки информации 28 (2015): 91–99. https://arxiv.org/pdf/1506.01497.pdf