Машинное обучение делает Instagram доступным для слабовидящих

3 декабря 2018
instagram стал доступен слабовидящим

Машинное обучение делает Instagram доступным для слабовидящих

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

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

Facebook использует машинное обучение для создания текстовых описаний к фотографиям с 2016 года. Instagram будет использовать технологию, разработанную в Facebook AI Research, для распознавания объектов и создания описаний к фото. Описание, содержащее список объектов на изображении, будет доступно в аудиоформате.

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

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

NYU School of Medicine выпустила датасет c 1,5 млн сканов МРТ

28 ноября 2018
датасет мрт-снимков

NYU School of Medicine выпустила датасет c 1,5 млн сканов МРТ

Центр инновационных исследований в области радиологии NYU School of Medicine совместно с Facebook AI Research (FAIR) выпустили крупный датасет, который содержит 1,5 млн МРТ-изображений коленных суставов. Набор данных создан в…

Центр инновационных исследований в области радиологии NYU School of Medicine совместно с Facebook AI Research (FAIR) выпустили крупный датасет, который содержит 1,5 млн МРТ-изображений коленных суставов. Набор данных создан в рамках The fastMRI Challenge — проекта по разработке моделей машинного обучения для ускорения МРТ-диагностики.

Сейчас датасет состоит из 1,5 млн МРТ-изображений коленных суставов, полученных из 10 000 сканов, и 1600 необработанных снимков. В будущих версиях появятся сканы печени и мозга. Запросить доступ к датасету можно на сайте. При этом нужно объяснить, как вы собираетесь его использовать.

The fastMRI Challenge

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

Стандартное МРТ-сканирование занимает 30-45 минут. Руководители исследования говорят, что в случае успеха, fastMRI поможет снизить потребность в анестезии и седации и будет полезен людям, которые тяжело переносят длительные сканирования, например маленьким детям, пожилым пациентам и людям с клаустрофобией.

Deep Claster — алгоритм глубокой кластеризации. Он почти достиг человеческой точности

19 октября 2018
deep claster - кластеризация изображений

Deep Claster — алгоритм глубокой кластеризации. Он почти достиг человеческой точности

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

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

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

Обучение без учителя

Можете ли Вы представить количество вручную сделанных меток, необходимых для такого датасета? Очевидно, что их требуется невероятно много. Замена меток необработанными метаданными не решет проблему, так как это приведет к отклонениям в визуальных представлениях с непредсказуемыми последствиями. Хуже недостатка данных только неверно размеченные данные.

Истинным решением может стать обучение без учителя с использованием изображений из интернета. Именно этот подход предлагают исследователи из Facebook AI Research. DeepCluster – это новейший метод кластеризации путем «крупномасштабного обучения» свёрточных нейронных сетей.

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

Ранние работы

Каждая из работ по рассматриваемой теме может быть отнесена к одной из категорий:

  • Нейросети с неконтролируемым обучением: к примеру, Yang и коллеги создали нейросеть, которая итеративно изучает отдельные особенности и их кластеры с повторяющейся структурой, а метод Bojanowski и Joulin изучает визуальные особенности на большом датасете при помощи функции потерь, которая позволяет сохранять информацию, проходящую через нейросеть.
  • Нейросети с самообучением: например, в своей работе Doersch и коллеги ставят в качестве предварительной задачи предсказание относительной позиции патчей особенностей на изображении, а Noroozi и Favaro обучают нейросеть переставлять эти патчи на изображении.
  • Генеративные модели: к примеру, Donahue и коллеги, а также Dumoulin и коллеги показали, что GAN с энкодером изучает визуальные особенности на довольно высоком уровне в сравнении с другими нейросетями.

Deep Claster

DeepCluster – это метод кластеризации, который итеративно группирует особенности с помощью стандартного алгоритма кластеризации (метод К-средних) и использует последовательные приписывания в качестве контролирующего фактора для обновления весов нейросети. Исследователи используют в работе метод К-средних из-за его простоты, однако, ничто не мешает применять другие методы кластеризации, такие как, например, Power Iteration Clustering (PIC).

Images and their 3 nearest neighbors: query –> results from randomly initialized network –> results from the same network after training with DeepCluster PIC
Изображения и три наиболее сходных с каждым из них: исходные изображения (Query), результаты работы случайно инициализированной нейросети (Random), результаты той же нейросети после обучения с использованием DeepClustering PIC.

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

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

Обзор метода

Результат случайных (random) сверточных сетей тесно связан с их структурой, который получает предысторию на входном сигнале. Идея DeepCluster — в использовании этого слабого сигнала для усиления разрешающей способности сверточной сети.

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

DeepCluster
Схема алгоритма

Такой тип чередующихся действий подвержен тривиальным решениям (trivial solutions), о которых мы кратко поговорим сейчас:

  • Пустые кластеры. Автоматическое переприсвоение пустых кластеров решает эту проблему во время оптимизации методом K-средних.
  • Тривиальная параметризация. Если большая часть картинок приписаны к нескольким кластерам, параметры будут дискриминировать исключительно среди них. Решение этой проблемы лежит в выборке картинок из равномерного распределения по всем классам или псевдо-меткам.

DeepCluster основан на стандартной AlexNet архитектуре с пятью сверточными и тремя полносвязными слоями. Чтобы удалить цвет и увеличить локальную контрастность, исследователи применяют фиксированную линейную трансформацию, основанную на фильтрах Sobel.

Модель не выглядит сложной. Давайте проверим её производительность на трансферных задачах и задачах ImageNet классификации.

Результаты

Ниже представлены предварительные результаты:

  •  (a) Эволюция нормализованной взаимной информации (Normalized Mutual Information) между кластерными присвоениями и ImageNet метками во время тренировки;
  •  (b) Развитие стабильности модели на протяжении тренировочной сессии;
  •  (в) Влияние количества кластеров k на качество модели (k = 10000 показывает наилучший результат)
Preliminary studies
Результаты предварительного исследования

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

Filter visualization and top 9 activated images for target filters in the layers conv1, conv3, and conv5 of an AlexNet trained with DeepCluster
Визуализация фильтров и первые 9 активированных изображений для целевого фильтра в слоях conv1, conv3 и conv5 в AlexNet, обученной с DeepCluster.

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

Ниже можно наблюдать результаты последних сверточных сетей. Стоит заметить, в этот раз используется архитектура VGG-16 вместо AlexNet.

Filter visualization and top 9 activated images for target filters in the last convolutional layer of VGG-16 trained with DeepCluster
Визуализация фильтров и первые 9 активированных изображений для целевого фильтра в последнем сверточном слое в VGG-16, обученном с DeepCluster.

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

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

Top 9 activated images for target filters in the last convolutional layer
Первые 9 активированных изображений для выбранного фильтра в сверточном слое.

Сравнение

Чтобы сравнить DeepCluster с остальными методами, исследователи тренируют линейный классификатор поверх различных замороженных сверточных слоев. Таблица ниже показывает точность классификации различных современных подходов в ImageNet и Places датасетах.

В ImageNet DeepCluster превосходит в результатах современные подходы с conv2 до conv5 слоев на 1-6%. Плохой результат на первом слое связан, возможно, с Собель-фильтрацией, отбрасывающей цвет. Заметим, различие в результате между DeepCluster и AlexNet с учителем возрастает с 4% в conv2-conv3 слоях до 12.3% в conv5. Этот факт показывает, где AlexNet хранит большую часть информации о классе.

Table 1. Linear classification on ImageNet and Places using activations from the convolutional layers of an AlexNet as features
Таблица 1. Линейная классификация на датасетах ImageNet и Places, использующая активационные функции из сверточных слоев AlexNet в качестве признаков

Такой же эксперимент на датасете Places показывает, что DeepCluster даёт признаки на conv3-conv4, сравнимые с теми, которые получены при тренировке с ImageNet метками. Это означает, что в случаях, когда целевая задача достаточно далека от покрываемой ImageNet области, метки менее важны.

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

Table 2: Comparison of the proposed approach to state-of-the-art unsupervised feature learning on classification, detection, and segmentation on Pascal VOC
Таблица 2. Сравнение предложенных подходов для современного признакового обучения без учителя для задач классификации, детектирования и сегментации на Pascal VOC.

Резюме

Предложенный командой исследователей из Facebook AI Research метод DeepCluster позволяет достичь результатов, которые существенно превосходят существующие методы при решении каждой стандартной трансферной задачи. Более того, при тестировании на Pascal VOC 2007 для задачи детектирования при хорошей регулировке параметров DeepCluster показывает результат лишь на 1.4% ниже верхней линии обучения с учителем.

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

Чат-боты Facebook станут умнее благодаря комментариям на Reddit

27 сентября 2018

Чат-боты Facebook станут умнее благодаря комментариям на Reddit

Разработчики FAIR собрали датасет, который ускорит и повысит эффективность обучения диалоговых систем и чат-ботов Facebook. Датасет содержит 5 миллионов персонажей и 700 миллионов диалогов с сайта Reddit. В основе нового датасета набор данных PERSONA—CHAT,…

Разработчики FAIR собрали датасет, который ускорит и повысит эффективность обучения диалоговых систем и чат-ботов Facebook. Датасет содержит 5 миллионов персонажей и 700 миллионов диалогов с сайта Reddit.

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

«PERSONACHAT был создан с использованием механизма искусственного сбора данных на базе Mechanical Turk. В результате ни диалоги, ни персонажи не были репрезентативны для реальных взаимодействий пользователей и ботов, контекст оставался ограниченным» — объяснили исследователи в статье.

Чтобы устранить ограничения первого набора данных, исследователи Facebook создали новый крупный датасет с 5 миллионами персонажей и 700 миллионами диалогов. Он состоит из комбинаций реальных разговоров пользователей, извлеченных из онлайнплатформы Reddit.

Исследователи обучили диалоговую end-to-end модель на новом датасете.

 

Архитектура сети

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

Persona: [“I like sport,” “I work a lot”]

Context: “I love running.”

Response: “Me too! But only on weekends.”

Persona — личностные установки отвечающего, context — предложение, на которое нужно ответить. Response — это ответ, который даёт модель, опираясь на характеристику личности и контекст.

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

Facebook создали алгоритм для перевода с редких языков

5 сентября 2018

Facebook создали алгоритм для перевода с редких языков

Для изучения нового языка алгоритмы машинного перевода требуют много текстовых данных. Нужный объём сложно получить, особенно в случае с редкими языками, например урду. Facebook AI Research представили новый подход для…

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

Как работает

Нейросеть Facebook учится, используя векторные представления слов и контекст. Слова представляются в виде вектора в многомерном пространстве. Алгоритм анализирует семантические свойства пар слов, и находит слова близкие по контексту. Например, «котёнок» ближе к словам «кошка» и «животное», чем к слову «ракета», потому что чаще используется рядом с ними. Наличие контекста характерно для всех языков.

word embeddings

Грамматика

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

Результаты

Алгоритм протестировали на переводах с французского и немецкого  на английский. Эффективность оценивалась с помощью BLEU по шкале от 0 до 100. Качество перевода улучшилось на 10 баллов в сравнении с другими методами: word-by-word, Neural MT, Phrase-Based MT. 

German-English translation

Исходный код проекта доступен на GitHub.

DeepWrinkles — нейросеть для создания детальных 3D-моделей одежды

28 августа 2018

DeepWrinkles — нейросеть для создания детальных 3D-моделей одежды

Facebook AI Research представляет новый подход под названием «DeepWrinkles» для создания реалистичной деформации одежды. Реалистичное моделирование одежды, как известно, представляет собой сложную задачу, и трудно недооценить её значимость в AR/VR,…

Facebook AI Research представляет новый подход под названием «DeepWrinkles» для создания реалистичной деформации одежды. Реалистичное моделирование одежды, как известно, представляет собой сложную задачу, и трудно недооценить её значимость в AR/VR, видеоиграх, виртуальных примерочных. Нейросеть состоит из двух взаимодополняющих модулей:

  • Статистическая модель обучается на 3D-сканах одетых людей в движение, у которых шаблоны одежды не жестко выровнены;
  • Точные геометрические детали добавляются к картам нормалей, созданным с использованием conditional GAN, архитектура которой призвана обеспечить реализм и временную согласованность.

Цель состоит в том, чтобы восстановить видимые геометрические детали. Поэтому,

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

clothes modelling DeepWrinkles

Деформация ткани вычисляется по форме тела и позе путем изучения линейной модели подпространства. Модель обучается на реальных данных. Это гарантирует, что деформации представлены с высокой точностью. Авторы вычисляли робастные шаблонные нежесткие регистрации на основе 4х-мерного сканирования (3D + внутренние сечения), затем выводили статистическую модель деформации одежды, и, наконец, регрессионную модель обучали ретаргетингу поз.

Подготовка данных

Сбор: для каждого вида одежды производится сканирование со скоростью 60 FPS (10,8 тыс кадров за 3 минуты) полностью одетого субъекта в движении с подсвеченным цветными границами куском одежды. Каждый кадр состоит из трехмерной сетки с более чем 200 000 вершинами, что дает подробные изображения складок на поверхности, но частично засоряет шумом.

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

Регистрация: шаблон одежды T определяется путем выбора подмножества шаблонов человека с согласованной топологией. T должен содержать достаточно вершин для моделирования деформаций (~5 000 для футболки). Затем шаблон одежды регистрируется в 4х-мерных серии сканирований, используя нестрогий итеративный алгоритм ближайших точек (non-rigid ICP), основанный на деформации сетки.

Статистическая модель

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

Каждая регистрация Ri может быть представлена, как средняя форма M и смещение вершин oi, такими, что Ri  = M + oi, где средняя форма M принадлежит R3 * v и получается путем усреднения положений вершин. В общем случае, каждый Ri может быть компактно представлен, как функция линейного смещения формы B

 the blend shape can simply be replaced

Предсказание «из-позы-в-форму»

Предсказывающая модель f узнает, какую позу принимает на вход и на выходе выдает набор из k параметров формы (А). Чтобы учитывать динамику деформации, возникающую во время движения человека, модель также учитывает скорость, ускорение и параметры формы.

DeepWrinkles модель работы
Пайплайн сети

Архитектура DeepWrinkles

Цель состоит в том, чтобы восстановить все видимые геометрические детали. Предполагается, что все, даже самые маленькие детали, улавливаются высокоточным сенсором и реконструируются в 3D, все существующие геометрические детали представимы в виде карт нормалей для трехмерного скана поверхности более низкого разрешения. Чтобы автоматически добавлять мелкие детали «на лету» к реконструированной одежде, предлагается использовать GAN для создания карт нормалей.

neural network design clothing modelling

Предлагаемая сеть базируется на conditional Generative Adversarial Network (cGAN), основанной на передаче изображения. В генераторной сети используется структура свертки batchnorm-ReLu и U-Net, поскольку она передает и всю информацию по сетевым уровням, и общую структуру изображения, которую необходимо сохранить. Консистентность во времени достигается за счет продления времени потерь сети L1.

Для правдоподобной анимации важно не только, чтобы каждый кадр выглядел реалистично, но и не возникало внезапных скачков в рендеринге. Чтобы обеспечить плавный переход между последовательно созданными изображениями, вводятся дополнительные потери L относительно цели GAN, которая “наказывает” за несоответствия между сгенерированными изображениями на шаге t и ожидаемыми изображениями (из набора тренировочных данных) при t — 1:

loss function

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

Обучение сети

Сеть cGAN обучается на наборе данных из 9213 последовательных кадров. Первые 8000 изображений составляют тренировочный датасет, следующие 1000 изображений — тестовый, а остальные 213 изображений оставили на проверку. Наборы тестов и валидации содержат позы и движения, не наблюдаемые в учебном наборе.

Автокодер U-Net построен с 2 x 8 слоями и 64 фильтрами в каждом из первых сверточных слоев. Дискриминатор использует патчи размером 70 x 70. Вес L (data) установлен в 100, L (temp) вес равен 50, тогда как вес GAN равен 1. Изображения имеют разрешение 256 x 256, хотя ранние эксперименты также показали обнадеживающие результаты на 512 x 512.

В сухом остатке

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

a) Физическое моделирование; b) Подпространство (50 коэффициентов); c) Регистрация; d) DeepWrinkles e) 3D-сканирование (истина)

Сегментация людей на фотографии в сложных условиях

23 августа 2018

Сегментация людей на фотографии в сложных условиях

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

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

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

Задача и подзадачи

Мы видим значительное продвижение в области получения 3D-информации из плоского изображения. Недавняя работа DeepMind AI продемонстрировала возможности рендеринга трехмерного изображения из двумерного. Решение таких задач расширяет границы человеческого понимания о изображениях.

Исследователи из французского института INRIA и Facebook AI Research предложили метод распознавания сложных человеческих поз. В своей работе они представляют технику глубокого обучения, с помощью которой им удалось получить 3х-мерное поверхностное представление человеческого тела из двумерной картинки. Как было упомянуто выше, восприятие сцены и контекста, бьется на небольшие подзадачи:

  • детектирование,
  • классификация,
  • локализация и так далее.

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

COCO-DensePose датасет

Наличие большого и качественного набора данных очень важно для обучения с учителем. Задачи требуют отличной друг от друга маркировки данных, и очень часто это представляет собой узкое место в процессе моделирования. По этой причине исследователи создали аннотированный набор данных картинку-в-поверхность, взяв 50000 изображений из набора данных COCO. Они ввели новый набор данных под названием COCO-DensePose вместе с оценочными метриками. Новый набор данных создается путем внедрения “умного” конвейера аннотаций, позволяющего максимально уменьшить потребность в человеческих усилиях. Аннотация включает в себя сегментирование изображения, маркировку соответствий с использованием модели SMPL для получения UV-полей.

Конвейер аннотации

Архитектура сети

Чтобы решить проблему оценки поверхности человеческого тела из плоских 2D-изображений, авторы представляют проблему, как регрессию координат поверхности тела в пикселе изображения. Вручную аннотируя датасет, они используют архитектуру глубокой нейронной сети — MaskRCNN, которая обучается с учителем. Они объединяют сеть Mask-RCNN с DenseReg (Dense Regression System) для получения соответствий между RGB-изображением и 3D-моделью поверхности тела.

DensePose-RCNN архитектура

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

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

Результат работы метода (слева). Новый набор данных с сегментацией тела и параметризацией в новой 2D-системе координат (справа)

Авторы улучшили метод, введя регрессию по областям. Они вводят FCNN поверх ROI-pooling, которая целиком посвящена двум задачам: классификация и формировании базы регрессии, которая определяет, что это за область, и предсказывает координаты области.

Окончательная архитектура состоит из каскада proposing regions-of-interest (ROI), извлекающий особенности области  посредством ROI pooling и предоставляющий результаты в соответствующие ветки.

Финальная кросс-каскадная архитектура

Cross-modal supervision

Дальнейшее улучшение достигается за счет введения cross-modal supervision. Слабый supervion сигнал определяется путем аннотации небольшого подмножества пикселей на каждом обучающем экземпляре. Обучение сети таком образом допустимо, если исключить потери пикселей, которые не имеют соответствия в тренировочном датасете (ground-truth correspondance), при подсчете функции потерь для пикселей.

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

Cross-modal supervision используется путем включения сети-учителя, которая «дорисовывает» недостающие пиксели

Оценка и выводы

Сравнение с другими методами приведено в таблицах ниже. Стоит отметить, что сравнение между этим подходом и предыдущим подходом должно быть тщательно рассмотрено, поскольку новый метод использует новый набор данных, который они создали — DensePose-COCO.

AUC сравнение с разными методами
AUC и IoC сравнение с другими архитектурами и подходами

geodesic errorКачественная и количественная оценки показывают, что метод способен с высокой точностью определять координаты поверхности тела, способен обрабатывать большое количество окклюзий и различные позы. Более того, результаты показывают, что полностью сверточный подход уступает данному новому методу.

testing the method

Результаты тестов на различных реальных изображениях

Исследователи из Facebook AI предложили подход для сегментации всего

26 июня 2018
image segmentation

Исследователи из Facebook AI предложили подход для сегментации всего

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

Сегментация сущностей на переднем и заднем планах изображения — впечатляющая способность детекторов, которые становятся все точнее и вариативнее. Но на практике модели сегментации ограничены узким участком визуального мира, который включает примерно 100 категорий объектов. Причина этого ограничения проста — современные алгоритмы сегментации требуют обучения с учителем, а значит, данные должны быть размечены людьми, что дорого для сбора новых категорий. Для сравнения, ограничивающие объект рамки (bounding box) популярнее и дешевле для разметки (поместить объект в прямоугольник куда проще, чем аккуратно выделить).

Подход к сегментации от Facebook AI Research

FAIR (Facebook AI Research) представили новую задачу частичного обучения (partially supervised learning, похожую на semi-supervised learning, некоторые авторы не различают эти методы) сегментации сущностей и предложили новый метод обучения для ее решения. Частично контролируемая задача сегментации объекта формулируется следующим образом:

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

Поскольку обучающие данные представляют собой смесь сильно размеченных примеров (маска + рамки) и слабо размеченных примеров (только с рамками), задача относится к частично контролируемым. Для решения проблемы частично контролируемой сегментации экземпляров используется новый подход к обучению, основанный на Mask R-CNN. Mask R-CNN хорошо подходит для этой задачи, поскольку она разбивает задачу сегментации экземпляра на подзадачи обнаружения рамок и выделения масок.

Учимся сегментировать всё

Пусть C — набор категорий объектов, для которых обучается модель сегментации. Все обучающие примеры из C имеют маски. Предполагается, что С = А ∪ B, где образцы категорий A имеют маски, а B только рамки. Поскольку примеры категорий B размечены слабо, то задача (сегментация объектов) относится к обучению на комбинации сильно и слабо размеченных данных, как частично контролируемая задача.

Рис. 1. Подробная иллюстрация предложенного Mask^x R-CNN метода 
Рис. 1. Подробная иллюстрация предложенного Mask^x R-CNN метода

Этот метод основан на использовании Mask R-CNN, потому что это простая модель сегментации сущностей, которая достигает современных (state-of-the-art) результатов. В маске R-CNN присутствует две ветви. В конечном итоге одна ветвь предсказывает ограничивающие рамки (будем называть её ветвью рамок), а вторая маску объекта (будем называть её ветвью маски). В последних слоях данных веток содержатся дополнительные параметры для каждой категории, которые используются при предсказании. Вместо этого авторы предлагают в некоторый момент прокинуть веса с ветви рамок на ветвь масок и называют это transfer function. При этом функция передачи (transfer function) это тоже какая-то настраиваемая функция (может быть нейронной сетью) которая, вообще говоря, выбирается дифференцируемой, чтобы обучать end-to-end.

Пусть для заданной категории cat, w(det) — те самые индивидуальные веса объектов класса в последнем слое ветви рамок, а w(seg) — аналогичные веса в ветви маски. Вместо того, чтобы рассматривать w(seg) в качестве параметров модели, w(seg) параметризуется с помощью общей функции прогнозирования веса T(·):

segmentation

где θ не зависящие от класса настраиваемые параметры. Функция передачи T(·) может быть применена к любой категории cat и, таким образом, θ должна быть выбрана так, что T обобщается на классы, маски которых не наблюдаются во время обучения.

T(·) может быть реализована в виде небольшой полносвязной нейронной сети. На рис. 1 показано, как функция передачи помещается в маску R-CNN для формирования Mask^X R-CNN. Обратите внимание, что ветвь рамки содержит два типа весов: веса региона интересов(RoI) w(cls) и веса регрессии ограничивающей рамки w(box).

Эксперименты на наборе данных COCO

Этот метод был применен на наборе данных COCO, который включает в себя мало категорий, но содержит исчерпывающие маски для 80 категорий. Каждый класс имеет вектор параметров размерности 1024 для региона интересов(RoI) w(cls), вектор параметров размерности 4096 для регрессии ограничивающей рамки w(box) и вектор из 256 параметров для сегментации w(seg). Заметим, что последние два вектора w(box) и w(seg) находятся в голове сети. Разрешение выходной маски M × M = 28 × 28. В таблице ниже приведено сравнение с бейзлайнами.

Mask^X R-CNN превосходит эти подходы с большим отрывом (более чем на 20% относительное увеличение MAP)
Mask^X R-CNN превосходит эти подходы с большим отрывом (более чем на 20% относительное увеличение MAP)

Результаты

Сверху бейзлайн, снизу Mask^X R-CNN. Зеленые рамки соответствуют объектам из множества A, красные множеству B
Сверху бейзлайн, снизу Mask^X R-CNN. Зеленые рамки соответствуют объектам из множества A, красные множеству B

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

results Mask^X R-CNN
Предсказанные маски для данных Visual Genome (3000 классов) с помощью Mask^X R-CNN

Модель способна помочь построить крупномасштабную модель сегментации экземпляров на основе 3000 классов в наборе данных Visual Genome.