Как HMTL помогает улучшить итоговую точность в задачах NLP

5 декабря 2018
многозадачное обучение hmtl

Как HMTL помогает улучшить итоговую точность в задачах NLP

Да, вы правильно прочитали, это правда HMTL — модель Hierarchical Multi-Task Learning, что дословно переводится как Иерархическое многозадачное обучение. Наблюдается нарастающая волна как в NLP, так и в целом в глубоком…

Да, вы правильно прочитали, это правда HMTL — модель Hierarchical Multi-Task Learning, что дословно переводится как Иерархическое многозадачное обучение. Наблюдается нарастающая волна как в NLP, так и в целом в глубоком обучении, которая называется многозадачное обучение!

Перевод статьи Beating state-of-the-art in NLP with HMTL, автор — Victor Sanh.

Я работал с многозадачным обучением на протяжении года, и результатом работы является HMTL. Эта модель, которая превосходит современные state-of-the-art модели в некоторых задачах NLP, будет представлена на избирательной конференции AAAI. Была выпущена статья и представлен тренировочный код, которые стоит посмотреть.

Одна модель для нескольких задач

Дадим определение многозадачному обучению.

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

Создана качественная онлайн демо-версия, в которой можно интерактивно взаимодействовать с HMTL. Попробуйте сами!

Примеры полученных в демо HTML результатов.
Примеры полученных в демо HMTL результатов.

Традиционно, специальные модели обучались независимо для каждой из этих NLP задач (Named-Entity Recognition, Entity Mention Detection, Relation Extraction, Coreference Resolution).

В случае HMTL, все эти результаты получаются при помощи одной модели с одним прямым прохождением!

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

Многозадачное обучение (Multi-Task Learning, MTL) поощряет модели использовать признаки и методы, которые могут быть полезны в других задачах. Фундаментальная движущая сила MTL состоит в том, что близкие задачи должны получать преимущества друг от друга через индуцирование более богатых представлений.

Читайте также: Transfer learning с библиотекой Keras

Зачем применять многозадачное обучение

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

Покажем сравнение с Усейном Болтом — возможно одним из самых великих спринтеров, девятикратным олимпийским золотым медалистом и обладателем нескольких действующих мировых рекордов (на ноябрь 2018 года). Так вот, великий бегун тренируется интенсивно и разнообразно, большую часть сил на тренировках затрачивая не на бег, а на другие упражнения. Усейн Болт, например, поднимает железо, запрыгивает на возвышенности, делает прыжки. Эти упражнения не связаны напрямую с бегом, но развивают силу мускулатуры и взрывную силу для улучшения главной задачи — спринта.

В естественной обработке языка MTL сначала был использован в подходах на нейронной основе исследователями R. Collobert и J. Weston. Модель, которую они предложили, представляла из себя MTL-инстанс, в котором несколько разных задач (со слоями для узкоспециализированных задач) основаны на одних и тех же общих вложениях, тренируемых для выполнения различных задач.

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

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

В последнее время идеи общих представлений вновь появились в значительной степени из-за погони за универсальными вложениями предложений, которые могут быть использоваться во всех областях независимо от конкретной задачи. Некоторые полагаются на MTL. Subramanian et al., например, заметил: для того чтобы иметь возможность обобщать широкий круг разнообразных задач, необходимо кодировать несколько лингвистических аспектов предложения. Была предложена Gensen — архитектура MTL с общим представлением кодировщика с несколькими последующими слоями для конкретных задач. В этой работе использовались 6 различных слабо связанных задач — от поиска логических выводов из естественного языка до машинного перевода через разбор грамматики с фразовыми структурами.

Коротко говоря, многозадачное обучение сейчас привлекает к себе много внимания и становится обязательным для широкого спектра задач не только в естественной обработке языка, но и в компьютерном зрении. Совсем недавно бенчмарки, такие как GLUE benchmark (оценка общего понимания языка), были представлены для оценки обобщающей способности архитектур MTL и, в более общем смысле, моделей понимания языка (Language Understanding).

Многозадачное обучение на Python

Теперь давайте напишем код, чтобы увидеть как работает MTL на практике.

Очень важная часть программы многозадачного обучения — тренировка. Здесь необходимо ответить на вопросы:

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

По этим вопросам нет единого мнения, в литературе встречается много вариаций обучения.

Для начала давайте начнем с простой и общей части кода, которой будут безразличны обучающие процессы:

  • Выбираем задачу (независимо от выбора алгоритма);
  • Выбираем пакет (batch) в датасете для выбранной задачи (случайная выборка пакета — почти всегда хороший выбор);
  • Выполним прямой проход через нейросеть;
  • Распространим ошибку в обратном направлении.

Этих четырех шагов должно быть достаточно в большинстве случаев.

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

На сайте Hugging Face представлена хорошая библиотека AllenNLP, разрабатываемая Институтом ИИ Аллена. Эта библиотека — мощный и в то же время гибкий инструмент для проведения исследований в NLP. AllenNLP совмещает в себе гибкость PyTorch с умными модулями для загрузки и обработки данных, которые тщательно разрабатывались для задач NLP.

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

Код

Ниже я представлю простую часть кода для создания обучающей модели MTL на основе AllenNLP.

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

Теперь, когда у нас есть класс Task, мы можем определить нашу модель Model.

Создание модели в AllenNLP — весьма простое занятие. Для этого нужно просто сделать ваш класс наследуемым от класса allennlp.models.model.Model. В этом случае будет автоматически получено множество методов, таких как get_regularization_penalty(), который будет штрафовать модель (То есть L1 или L2 регуляризация) во время обучения.

Давайте поговорим о двух основных методах, которые мы будем использовать в работе сети, это forward() и get_metrics(). Эти методы во время обучения рассчитывают, соответственно, прямое прохождение (вплоть до вычисления потерь) и метрики обучения/оценки для данной задачи.

Важный элемент в многозадачном обучении — добавить конкретный аргумент task_name, который во время обучения будет использоваться для выбора текущей интересующей задачи. Давайте посмотрим, как это написать:

Ключевой пункт в MTL — выбор порядка выполнения (обучения) задач. Самый простой способ сделать это — производить выбор задачи случайно из равномерного распределения после каждого обновления параметров (прямой + обратный проход через нейросеть). Такой алгоритм использовался в нескольких ранних работах, таких как упомянутый ранее Gensen.

Однако мы можем поступить несколько умнее. Давайте выбирать задачу случайным образом, учитывая распределение вероятности, в котором каждая вероятность выбора задачи пропорциональна отношению количества пакетов (training batch) для задачи к общему числу пакетов. Как мы увидим позже, такая схема случайного выбора оказывается весьма полезной и является элегантным способом предотвратить забывание (catastrophic forgetting — явление в искусственных нейронных сетях, которое описывает потерю выученной ранее информации при получении новой информации).

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

Давайте запустим нашу MTL модель.

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

Итерации метода train() будут проходить по задачам в соответствии с их распределением вероятности. Метод также будет оптимизировать параметры MTL модели шаг за шагом.

Хорошей идеей будет добавить условие остановки во время обучения на основе валидационных метрик (_val_metric и _val_metric_decreases в классе Task). Например, можно останавливаться, когда валидационная метрика не улучшается в течение patience количества эпох. Такое условие проверяется после каждой тренировочной эпохи. Хотя мы этого не делали, вы должны легко разобраться, как модифицировать представленный код, чтобы он принимал во внимание это улучшение. В любом случае, здесь можно посмотреть на полный тренировочный код.

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

  • Последовательная регуляризация. Одна из основных проблем во время обучения MTL модели — забывание. Модель полностью или частично забывает часть информации, связанную с обучением прошлой задачи, после обучения новой задачи. Это явление повторяется вновь и вновь, когда несколько задач выполняются последовательно. Hashimoto et al. представляет последовательную регуляризацию: она предотвращает слишком сильное по сравнению с прошлыми эпохами обновление параметров при помощи добавления L2 штрафа к функции потерь. В таком конфигурации тренер MTL не меняет задачу после обновления параметров, а проходит полный тренировочный датасет интересующей задачи.
  • Многозадачное обучение как вопросно-ответная система. Недавно McCann et al. [7] представил новую парадигму в исполнении многозадачного обучения. Каждая задача переформулируется в вопросно-ответную задачу, а единственная модель (MQAN) обучается совместно отвечать на 10 разных задач, рассмотренных в этой работе. MQAN достигает state-of-the-art результатов в нескольких задачах, например, в таких WikiSQL — задача семантического парсинга. Вообще говоря, в этой работе обсуждаются ограничения монозадачного обучения и связи многозадачного обучения с Transfer Learning.

Улучшение state-of-the-art в семантических задачах: Модель иерархического многозадачного обучения (HMTL)

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

В недавней работе, представленной на AAAI в январе, было предложено сконструировать такую модель в виде иерархии. Если говорить более подробно, мы строим иерархию между набором точно подобранных семантических задач, чтобы отразить лингвистические иерархии между разными задачами (здесь также полезно посмотреть Hashimoto et al.).

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

Мы рассматриваем набор, состоящих их следующих семантических задач:

  • Named Entity Recognition;
  • Entity Mention Detection;
  • Relation Extraction;
  • Coreference Resolution.

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

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

  • Комбинация упомянутых 4 задач приводят к state-of-the-art результатам на 3 из них (Named Entity Recognition, Relation Extraction and Entity Mention Detection);
  • Фреймворк MTL значительно ускоряет скорость обучения по сравнению с фреймворками монозадачного обучения.

Мы также проанализировали  обучаемые и совместно используемые вложения в HMTL. Для анализа использовался SentEval — набор из 10 пробных задач, представленных Conneau et al. [8]. Эти пробные задания нацелены на оценку способности распознавать широкий набор лингвистических свойств (синтаксические, поверхностные и семантические).

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

Новый метод переноса движений из видео на виртуального персонажа

9 ноября 2018

Новый метод переноса движений из видео на виртуального персонажа

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

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

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

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

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

Новая идея

Недавно исследователи из Berkeley AI Research в Калифорнийском университете предложили новый подход, основанный на обучении с подкреплением, для обучения персонажей движениям из видео.

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

Схема предлагаемого метода для обучения акробатическим движениям по видео с Youtube

Метод

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

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

Этап оценки позы

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

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

Ученые обучили модель на расширенном датасете и получили оценки 2D и 3D позы для каждого кадра, которые определяют 2D и 3D траектории движения.

Сравнение движений, создаваемых на различных этапах метода для моделирование прыжка. Сверху вниз: входной видеоролик, оценка 3D-позы, оценка 2D-позы, моделируемый персонаж.

Этап восстановления движения

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

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

Этап имитации движения

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

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

Финальный результат метода: персонажи имитируют движение

Результаты

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

Смоделированный робот Atlas, выполняющий движения из видео
Качественная оценка с использованием смоделированных персонажей, выполняющих различные движения из видео

Выводы

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

Восстановление 3D-модели волос и головы из видео

6 ноября 2018

Восстановление 3D-модели волос и головы из видео

Трехмерные модели волос используются в виртуальной и дополненной реальности, видеоиграх, медицинском ПО. Однако создать реалистичную 3D-модель прически трудно даже в контролируемой среде. Исследователи предложили метод решения ещё более сложной задачи…

Трехмерные модели волос используются в виртуальной и дополненной реальности, видеоиграх, медицинском ПО. Однако создать реалистичную 3D-модель прически трудно даже в контролируемой среде. Исследователи предложили метод решения ещё более сложной задачи — реконструкции волос из обычных фотографий и видео.

Предыдущие работы

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

State-of-the-art идея

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

Метод

Модель состоит из 4 компонентов, которые показаны на рисунке ниже:

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

B: модуль, в котором применяется сегментация и определяется направление роста волос для каждого кадра. В этом модуле получается 2D-модель волос.

C: сегментация из модуля B используется для восстановления текстуры лицевой области. Для определения формы лица и головы без волос используется модель морфинга 3D-лица.

D: последний модуль — самый важный. В нём карты глубин и 2D-пряди используются для создания трехмерных прядей. Пряди сравниваются с базой данных волос. Те, которые лучше всего соответствуют, обрабатываются так, чтобы соответствовать входным кадрам из видео.

Таким образом получается надежный и гибкий метод, который восстанавливает 3D-пряди волос из необработанных видеокадров.

Архитектура сети предлагаемого метода

Модуль А

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

После предварительной обработки и удаления фона голова извлекается с использованием структуры «motion approach» — оценки позы камеры для каждого кадра и покадровой глубины для всех кадров в видео.

Модуль B 

Второй модуль содержит подготовленную сегментацию волос и классификаторы направления роста волос для маркировки и прогнозирования направления укладки волос в пикселях. Модуль основан на методе оценки направления прядей Chai 2016.

Результаты работы второго модуля

Модуль C 

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

Модуль D

Последний — основной модуль — оценивает трехмерные пряди волос, используя выходные данные модулей A, B и C. Полученные 3D-пряди волос являются неполными, так как основаны на 2D-прядях. Для того чтобы сделать их более реалистичными, модель обращается к набору данных трехмерных моделей волос. В работе использован набор, созданный Chai et al. 2016, который содержит 35 000 различных причесок. Каждая модель прически состоит из 10 000 прядей волос. В конце применяются глобальная и локальная деформация для обработки полученных прядей, для того чтобы они приняли форму прядей из оригинального видео.

Локальная и глобальная трансформация трехмерных прядей

Результаты

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

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

На рисунке показаны четыре примера кадров, сравнивающих силуэты реконструированных причесок с результатами сегментации волос.
compared to Hu et al. 2017 based on Amazon Mechanical Turk tests.
Сравнение метода с Hu и др. 2017 на основе тестов Amazon Mechanical Turk.
The ratio of preference of methods' results
Сравнение с Zhang и др. 2017 на основе тестов Amazon Mechanical Turk.

Вывод

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

The Sound Of Pixels: новый метод локализации и разделения звуков на видео

31 октября 2018

The Sound Of Pixels: новый метод локализации и разделения звуков на видео

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

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

Новая идея

В недавно опубликованной работе, представленной исследователями из Массачусетского технологического института, MIT-IBM Watson AI Lab и Колумбийского университета, рассматривается новый взгляд на взаимосвязь видео и звука. Исследователи разработали метод обучения без учителя, который позволяет находить области изображения, которые генерируют звук, и разделять звуки на набор компонент, которые создаются в разных пикселях изображения.

Архитектура предлагаемого метода

Метод

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

Примеры кадров и звуков из нового датасета MUSIC

 

 

 

 

 

 

 

Типы данных в датасете

 

 

 

 

 

 

 

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

Сеть анализа видео

Сеть анализа видео пытается извлечь визуальные свойства из каждого кадра в ролике. К каждому выделенному из кадра свойству применяется временное объединение для получения вектора визуальных свойств каждого пикселя. Для этого исследователи используют вариацию популярной сети ResNet-18 с расширенными свертками.

Сеть анализа аудио

Параллельно с извлечением визуальных свойств сеть анализа звука пытается разбить звук на видео на K штук компонент. Для решения этой задачи исследователи предлагают использовать звуковые спектрограммы вместо необработанных звуковых сигналов и сверточную архитектуру Audio U-Net, которая, как было показано ранее, эффективна для работы с аудиоданными. Используя эту ​​архитектуру энкодер-декодер, из спектрограммы извлекается карта K свойств, содержащая свойства различных компонент звука. Перед этим, чтобы получить звуковую спектрограмму для входных данных, использовалось оконное преобразование Фурье (STFT).

Сеть синтеза звука

Основной модуль предлагаемого метода — сеть синтеза звука, которая принимает на вход выходные данные двух предыдущих сетей. Она использует вектор визуальных свойств каждого пикселя и вектор звуковых свойств для вывода маски, которая выделяет из спектрограммы звук, исходящий от конкретного пикселя. В результате умножения маски на спектрограмму получается спектр звука каждого пикселя. Для получения аудиосигнала применяется обратное оконное преобразование Фурье.

Предлагаемый для обучения фреймфорк Mix-and-Separate

 

 

 

 

 

 

 

 

 

 

 

 

Для обучения сети без учителя, исследователи предложили фреймворк Mix-and-Separate (смешай и раздели). Идея основывается на предположении, что для звука выполняется принцип суперпозиции. Поэтому учёные смешивают звуки из разных видеороликов, чтобы сгенерировать сложный аудиосигнал, а затем разделяют интересующий звуковой источник на связанный с ним объект — в этом и заключается цель обучения.

Какие пиксели издают звук? Распределение энергии звуковых волн по пикселям

Какие звуки издают пиксели? Кластеризация звука по пикселям

Результаты

Для оценки метода авторы снова используют обучающий фреймворк Mix-and-Separate. Они создали набор синтезированных звуков для обучения, а оценка показывает успешность метода для их разделения. Поскольку цель состоит в том, чтобы составить спектрограмму, оценка состоит в сравнении оригинальной и сгенерированной спектрограмм. Для количественной оценки использовались нормированные отношения сигнал-шум (NSDR), сигнал-помеха (SIR) и сигнал-артефакт (SAR).

Количественная оценка и сравнение с традиционными методами, такими как неотрицательная факторизация матрицы (NMF) и спектральная регрессия. Также производится сравнение между двоичной и передаточной масками

 

 

Качественная оценка. Сравнение между истинной и сгенерированной спектрограммами

Заключение

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

BrainNet — интерфейс «мозг-мозг» для прямого взаимодействия людей

26 октября 2018

BrainNet — интерфейс «мозг-мозг» для прямого взаимодействия людей

Большинство исследований, связанных с коммуникационными интерфейсами мозга, сосредоточены на интерфейсах «мозг-компьютер». Меньше результатов получено в области соединения двух или нескольких мозгов. Недавно ученые представили новый метод, который позволяет трем людям сотрудничать…

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

Взаимодействие «мозг-мозг»

Несколько лет назад было проведено исследование под названием «20 вопросов». В эксперименте был представлен примитивный интерфейс «мозг-мозг» с простой схемой взаимодействия, включающей только двух субъектов-участников, которые отвечали на вопросы. Взаимодействие «мозг-мозг» анализировали с помощью ответов, которые выводились на экране.

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

Новый подход

Метод основан на ЭЭГ для регистрации сигналов мозга и транскраниальной магнитной стимуляции (ТМС), которая доставляет информацию в мозг неинвазивным способом. Архитектура предлагаемых интерфейсов «мозг-мозг» использует два типа модулей: интерфейс «мозг-компьютер», основанный на ЭЭГ, для передачи информации о совместной работе, и интерфейс «компьютер-мозг»на основе ТМС. Схема интерфейса приведена ниже.

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

BrainNet позволяет трем людям сотрудничать для решения задачи, используя прямую связь «мозг-мозг». В экспериментах новый интерфейс «мозг-мозг» используется для совместной деятельности: игры наподобие тетриса.

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

Первоначальная реализация BrainNet позволяет общаться двум субъектам — отправителю и получателю. Интерфейс не требует каких-либо физических действий со стороны субъектов.

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

Эксперимент и результаты

Эксперимент состоит из двух раундов. В первом раунде три участника (получатель и два отправителя) пытаются решить совместную задачу. Получатель отвечает за принятие решения о том, следует ли развернуть блок в тетрисе до того, как он заполнит пустое пространство в нижней части экрана. У него нет никакой информации о нижней части экрана, поэтому он не может принять логическое решение в ходе игры. Два других участника — отправители — могут видеть весь экран, и их задача состоит в том, чтобы сделать правильный выбор (развернуть блок или нет), основываясь на размерах блока и пространства внизу, и сообщить получателю решение через интерфейс «мозг-мозг».

Во втором раунде отправителям предоставляется возможность узнать решение получателя (см. рисунок выше) и предложить новое (возможно, скорректированное) решение.

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

Для оценки эффективности исследователи использовали как простые, так и глубокие методы. Они измерили частоту выбора правильного решения о развороте блока и получили среднюю точность 0,8125 (что намного превышает величину 0,5 при случайном выборе). Также были вычислены двоичные метрики классификации, такие как площадь под кривой эксплуатационной характеристики получателя.

Кривые эксплуатационной характеристики получателя для пяти групп субъектов

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

Вычисление ИМ: r — решение, принятое получателем (0 или 1, соответствуют «не разворачивать» и «разворачивать»), s — решение, принятое одним из отправителей, pR(r) — вероятность того, что получатель принял решение r, pS(s) — вероятность того, что получатель принял решение s, pR,S(r,s) — совместная вероятность того, что получатель принял решение r, а отправитель — решение s.
Различие в количестве переданной информации согласно ИМ у хорошего и плохого отправителей

Заключение

Работа внесла значительный вклад в исследование взаимодействия «мозг-мозг» и представляет собой метод нового поколения, который улучшает эффективность данного взаимодействия. Предлагаемый метод масштабирует интерфейс для использования несколькими людьми, совместно работающими над решением задачи.

Это первый интерфейс «мозг-мозг», который объединяет сигналы ЭЭГ и ТМС у одного и того же человека, позволяя осуществить дифференциацию достоверности информации. Таким образом, проведенный эксперимент является важным шагом на пути к реализации цельной коммуникации «мозг-мозг» и совместному решению задач с помощью данного интерфейса.

Selfie ID: подтверждение личности с помощью глубокого обучения

22 октября 2018
Selfie Matching DocFace+ DWI

Selfie ID: подтверждение личности с помощью глубокого обучения

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

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

DocFace+ Selfie Matching
Примеры автоматических систем сопоставления фотографий в документах при пересечении международных границ.

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

Современные исследования

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

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

Новый метод

В своей новой статье исследователи из Мичиганского университета предложили улучшенную версию DocFace — метода глубокого обучения для сопоставления документов с селфи.

В работе показано, что методы оптимизации на основе градиентного спуска сходятся медленно, если у большого числа классов мало выборок — как в случае существующих датасетов «документы-селфи». Для решения этой проблемы ученые предложили метод, названный Dynamic Weight Imprinting (DWI). Кроме того, они разработали новую систему распознавания для обучения единым представлениям на основе пар «документ-селфи» и проект с открытым исходным кодом под названием DocFace+ для сопоставления пар «документ-селфи».

Суть метода

Проблемы и ограничения предследуют разработчиков на каждом шагу при создании автоматизированной системы сопоставления пар «документ-селфи». Многие из них нетипичны для традиционных систем распознавания лиц.

Две основными проблемы: 

  • низкое качество как документов, так и селфи из-за сжатия;
  • большой промежуток времени между датой выпуска документа и моментом верификации.

Метод целиком основан на transfer learning. Модель основной нейронной сети обучается на большом датасете (MS-Celeb 1M), а затем свойства переносятся в целевой домен пар «документ-селфи».

DocFace+

Утверждая, что алгоритм сходится крайне медленно и часто обучение «застревает» в локальных минимумах при работе со многими классами, имеющими малую выборку, исследователи предлагают использовать функцию потерь Additive Margin Softmax (AM-Softmax) наряду с новым методом оптимизации, который они называют DWI.

Обобщающая способность различных функций потерь.
Обобщающая способность различных функций потерь

Dynamic Weight Imprinting

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

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

функция потерь AM Softmax vs Diam Softmax
Сравнение функций потерь AM-Softmax и DIAM.

Исследователи обучили популярную архитектуру Face-ResNet с использованием стохастического градиентного спуска и функции потерь AM-Softmax. Затем они точно настроили модель на датасет пар «документ-селфи», связывая предлагаемый метод оптимизации DWI с AM-Softmax. Наконец, на специфических для документов и селфи свойствах была обучена пара одноуровневых сетей, обменивающихся параметрами высокого уровня.

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

Результаты

DWI демонстрирует превосходные результаты, давая в координатах TAR 97,51 ± 0,40%. Авторы утверждают, что их подход с использованием датасета MS-Celeb-1M и функции потерь AM-Softmax дает 99,67% точности в стандартном протоколе проверки LFW и скорости верификации 99,60% при FAR, равному 0,1% по протоколу BLUFR.

DocFace+
Примеры неверно классифицированных новой моделью изображений в датасете пар «документ-селфи».
Средняя производительность сдерживания различных модулей, которыми обмениваются одноуровневые сети
Сравнение SWI и DWI в координатах TAR

Сравнение с другими подходами

Dynamic Weight Imprinting был сопоставлен с другими методами поиска совпадений лиц, так как на данный момент не существует подходов сопоставления пар «документ-селфи». Сравнение с этими методами проводилось в координатах TAR и FAR и приведено в таблице:

Средняя производительность и стандартное отклонение различных методов сопоставления пар документ-селфи
Результаты оценки различных методов на датасете Public-IvS

Заключение

Метод DocFace+ для сопоставления пар документ-селфи показывает потенциал transfer learning, особенно в случае недостатка данных. Высокая точность сопоставления пар документ-селфи доказывает, что алгоритм может потенциально использоваться в системах подтверждения личности. Кроме того, представлен новый метод оптимизации DWI с быстрой сходимостью и высокой обобщающей способностью.

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 эффективной моделью для обучения глубоким представлениям специальных областей, когда не доступен размеченный датасет.

Реконструкция 3D-модели головы по нескольким фотографиям

18 октября 2018
3D моделирование головы

Реконструкция 3D-модели головы по нескольким фотографиям

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

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

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

Предыдущие работы

Калиброванное моделирование головы достигло потрясающих результатов за последнее десятилетие. Реконструкция 3D-моделей людей из интернет-фотографий тоже достигла относительно хороших результатов.

  • Shlizerman et al. показали, что можно восстановить лицо по одной фотографии в Интернете, используя шаблонную модель другого человека. Один из способов приблизиться к задаче реконструкции головы — использовать подход, основанный на моделировании.
  • Hsieh et al. показал, что лицо находится в линейном пространстве с изменяемыми моделями из 200 сканов лица, голову также реконструют по этому пространству. На практике методы изменяемой модели хорошо подходят для распознавания лиц.
  • Adobe Research доказала, что моделирование волос можно сделать по одной фотографии путем подбора синтетических волос из базы данных или с помощью спиралей.

State-of-the-art идея

Новая идея относится к направлению реконструкции головы непосредственно из интернет-данных. Есть коллекция фотографий, полученная путем поиска фотографий конкретного человека в Google (Facebook, Instagram), задача — восстановить 3D-модель головы этого человека (основное внимание все равно уделяется области лица). Если есть только одна или две фотографии, задача сильно усложняется из-за несогласованности освещения, трудности в сегментировании профиля лица из фона и проблемы с объединением изображений. Ключевой идеей является то, что с большим количеством (сотнями) фотографий проблему можно преодолеть. Для знаменитостей можно быстро получить такие коллекции.

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

реконструкция 3D модели головы
Рисунок 2

Данные фотографии делятся на кластер представлений как Vi. Фотографии в том же кластере имеют примерно одинаковые 3D-позы и азимутальный угол. Фотографии с 7 кластерами с азимутами: i = 0, -30,30, -60,60, -90,90. На рисунке 2 показаны средние значения для каждого кластера после жесткого выравнивания с использованием опорных точек (1-я строка) и после последующего выравнивания с использованием метода Collection Flow (2-й ряд), который вычисляет оптический поток для каждой кластерной фотографии в среднем по кластеру.

Инициализация мэша головы

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

  • Плотное 2D-выравнивание: cначала фотографии жестко выравниваются с использованием двумерных точек. Область головы, включая шею и плечо в каждом изображении, сегментируется с использованием семантической сегментации. Затем Сollection Flow запускается на всех фотографиях в V0, чтобы выровнять их со средней фотографией этого набора более точно. Трудные фотографии не влияют на метод; учитывая, что большая часть изображений хорошо сегментирована, Collection Flow будет исправлять несоответствия. Кроме того, Collection Flow помогает преодолевать различия в прическе, деформируя все фотографии до доминирующего стиля.
  • Оценка нормалей поверхности: маска для лица используется для определения области лица на всех фотографиях. Фотометрическая стереосистема (PS) затем применяется к области лица выровненных по потоку фотографий. Область лица изображений расположена в матрице n × pk Q, где n — количество изображений, а pk — количество пикселей лица, определяемое матричной лицевой маской. Rank-4 PCA рассчитывается для факторизации в освещение и нормали: Q = LN. Получив оценку освещения L для каждой фотографии, вычисляют N для всех p головных пикселей, включая области уха, подбородка и волос. Два ключевых компонента, которые заставили PS работать с некалиброванными фотографиями на голове:
    1. Решение неоднозначности Generalized Bas-Relief (GBR) с использованием шаблона 3D-лица другого человека.
    2. Используя обычную оценку поверхности на пиксель, где каждая точка использует другой поднабор фотографий для оценки нормали.
  • Оценка карты глубины: нормали поверхности интегрированы для создания карты глубины. Решая линейную систему уравнений, которые удовлетворяют градиентным ограничениям dz / dx = -nx / ny и dz / dy = -nx / ny, где (nx, ny, nz ) являются компонентами поверхностного нормали каждой точки. Объединяя эти ограничения, для z-значения на карте глубины:

head reconstruction

Это генерирует разреженную матрицу M размера 2p × 2p и решает:

minimum

Граничный рост (Boundary-Value Growing)

Для завершения вида сбоку сетки вводится граничное значение. Начиная с фронтальной сетки V0, мы постепенно дополняем больше областей головы в порядке V30, V60, V90 и V-30, V-60, V-90 с двумя дополнительными ограничениями клавиш.

  • Восстановление неоднозначности: вместо того, чтобы восстанавливать неоднозначность А, возникающую из Q = LA ^ (- 1) AN с использованием шаблонной модели, используется уже вычисленный соседний кластер, т. Е. Для V ± 30 используется N (ноль) для V ± 60, N — 30, а для V — 90 — N — 60. В частности, он оценивает внеплановую позу от 3D-начальной сетки V0 до среднего изображения кластера позы V30.
  • Ограничение глубины: в дополнение к ограничениям градиента также изменяются граничные ограничения. Пусть Ω0 — граница D’0. Тогда часть Ω0, которая пересекает маску D30, будет иметь одинаковые значения глубины: D30 (Ω0) = D’0 (Ω0). Как с граничными ограничениями, так и с ограничениями градиента функция оптимизации может быть записана как:

После каждого шага реконструкции глубины (0,30, 60, … градусов) расчетная глубина проецируется в головную сетку. Посредством этого процесса, голова постепенно заполняется путем сбора вершин из всех фотографий.

Результат

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

Individual reconstructions per view cluster, with depth and ambiguity constraints
Рисунок 4

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

Figure 5. Comparison between without and with two key constraints
Рисунок 5. Сравнение без и с двумя ключевыми ограничениями

Левые две фигуры показывают модели без двух ключевых ограничений восстановленные независимо. Правые две фигуры показывают два результата с двумя ключевыми ограничениями. На рисунке 6 показан результат реконструкции для 4 предметов; каждая сетка поворачивается до пяти разных точек зрения.

Рис: 6 Окончательная реконструированная сетка повернута до 5 видов, чтобы показать реконструкцию со всех сторон. Каждое цветное изображение представляет собой пример изображения из около 1000 коллекций фотографий для каждого человека.

Сравнение с другими моделями

На рисунке 7 показано сравнение с программным обеспечением FaceGen, которое реализует подход изменяемой модели.

Рис.7 Сравнение подходов

Для количественного сравнения для каждого человека ошибка репроцессинга рассчитывается с помощью трех методов (предлагаемый подход, Space Carving и FaceGen) до 600 фотографий в разных позах и вариациях освещения. Трехмерная форма получена от каждого метода реконструкции.

Comparison with space carving Method
Сравнение с space carving
head reconstruction machine learning
Средняя ошибка репроекции трех методов реконструкции

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

head reconstruction neural networks
Рис.8 Визуализация ошибок

Вывод

Подход показывает, что можно восстановить модель головы из интернет-фотографий. Однако этот подход имеет ряд ограничений.

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

Во-вторых, опорные точки для боковых представлений были помечены вручную.

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

Как обмануть алгорим распознавания лиц: быстрая генерация состязательных данных

15 октября 2018
состязательные атаки распознаание лиц

Как обмануть алгорим распознавания лиц: быстрая генерация состязательных данных

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

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

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

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

Предыдущие работы

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

face adversarial attacks
Сравнение предлагаемой атаки (вторая колонка) и атаки, основанной на интенсивности (3 колонка)

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

State-of-the-art идея

Исследователи из Университета Западной Вирджинии предложили новый быстрый метод для создания состязательных изображений лица. Целью их подхода является определение модели трансформации лица на основе опорных точек (landmark) лица.

опорные точки лица

Новый метод

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

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

face adversarial attacks architecture
Оптимизация поля смещения для создания состязательных опорных точек (adversarial landmark locations)

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

face landmarks
Группировка опорных точек по семантическим областям

Результаты

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

Во-первых, производительность оценивалась по сценарию атаки «с белым ящиком» в наборе данных CASIA-WebFace. Было проведено шесть экспериментов для изучения важности каждого региона лица в предлагаемых методах атаки. Они оценивали эффективность атак на каждую из пяти основных областей лица, включая 1) брови, 2) глаза, 3) нос, 4) рот, 5) челюсть и 6) все области. Результаты приведены в таблице.

face adversarial comparison
Сравнение результатов атак FLM и GFLM с stAdv, и влияние различных областей лица

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

Сравнение с другими современными методами

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

Face adversarial
Сравнение предложенных атак FLM и GFLM с FGSM и stAdv при использовании современных средств защиты

face adversarial attacks technique
Линейная интерполяция заданных свойств лица

Заключение

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

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