Чем может быть полезна реконструкция замаскированных частей изображения

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

В этой статье мы рассмотрим недавно опубликованную статью «Маскированные автоэнкодеры — обучающиеся масштабируемому зрению» He et al. с 2021 года. Кайминг Хе является одним из самых влиятельных исследователей в области компьютерного зрения, совершившим такие прорывы, как ResNet, Faster R-CNN и Mask R-CNN вместе с другими исследователями из Meta AI Research. В своей последней статье они представили новый подход к использованию автоэнкодеров для самоконтролируемой предварительной подготовки моделей компьютерного зрения, в частности преобразователей зрения.

Прежде чем мы углубимся в представленный ими метод, важно быстро вернуться к предварительному обучению с самостоятельным наблюдением, чтобы установить правильный контекст. Если вы уже знакомы с самоконтролируемой предварительной тренировкой, не стесняйтесь пропустить эту часть. Я постарался сделать статью простой, чтобы даже читатели с небольшими предварительными знаниями могли ее прочитать. Без дальнейших церемоний, давайте погрузимся!

Предварительные требования: предварительное обучение компьютерному зрению с самостоятельным наблюдением.

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

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

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

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

Используйте маскирование, чтобы автоэнкодеры понимали визуальный мир

Ключевое нововведение в этой статье уже включено в название: Маскировка изображения. Перед подачей изображения в преобразователь кодера к нему применяется определенный набор масок. Идея здесь состоит в том, чтобы удалить пиксели из изображения и, следовательно, скормить модели неполное изображение. Теперь задача модели состоит в том, чтобы узнать, как выглядело полное исходное изображение.

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

  1. Обучение модели в 3 раза быстрее, так как ей нужно обрабатывать гораздо меньше фрагментов изображения.
  2. Точность увеличивается, поскольку модель должна тщательно изучать визуальный мир по изображениям.

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

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

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

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

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

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

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

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

Теперь, когда мы рассмотрели методологию, представленную в статье, давайте посмотрим на некоторые результаты.

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

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

По сравнению с другими методами, при предварительном обучении модели на ImageNet-1K и последующей точной настройке от начала до конца, MAE (маскированный автоэнкодер) демонстрирует более высокую производительность по сравнению с другими подходами, такими как DINO, MoCov3 или БЭиТ. Улучшения остаются стабильными даже при увеличении размера модели, производительность является лучшей с ViT-H (Vision Transformer Huge). MAE достигает невероятной точности 87,8.

Эта производительность верна и для трансферного обучения на последующих задачах:

При использовании предварительно обученного преобразователя в качестве основы для Mask R-CNN, обученного на наборе данных обнаружения и сегментации MS COCO, MAE снова превосходит все другие методы на основе преобразователя. Он достигает невероятных 53,3 AP (средняя точность) для ящиков. Mask R-CNN также выводит маску сегментации объекта. Для этой оценки MAE снова превосходит все другие методы с показателем до 47,2 AP для маски. Этот метод даже превосходит полностью контролируемое обучение Mask R-CNN, снова демонстрируя преимущество самоконтролируемого предварительного обучения.

Завершение

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

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

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

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

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

[1] Он, Кайминг и др. Автоэнкодеры в масках — это масштабируемые обучающиеся видения. препринт arXiv arXiv:2111.06377 (2021 г.). https://arxiv.org/pdf/2111.06377.pdf