VGG16 — сверточная сеть для выделения признаков изображений

23 ноября 2018
vgg16 нейронная сеть

VGG16 — сверточная сеть для выделения признаков изображений

VGG16 — модель сверточной нейронной сети, предложенная K. Simonyan и A. Zisserman из Оксфордского университета в статье “Very Deep Convolutional Networks for Large-Scale Image Recognition”. Модель достигает точности 92.7% —…

VGG16 — модель сверточной нейронной сети, предложенная K. Simonyan и A. Zisserman из Оксфордского университета в статье “Very Deep Convolutional Networks for Large-Scale Image Recognition”. Модель достигает точности 92.7% — топ-5, при тестировании на ImageNet в задаче распознавания объектов на изображении. Этот датасет состоит из более чем 14 миллионов изображений, принадлежащих к 1000 классам.

VGG16 — одна из самых знаменитых моделей, отправленных на соревнование ILSVRC-2014. Она является улучшенной версией AlexNet, в которой заменены большие фильтры (размера 11 и 5 в первом и втором сверточном слое, соответственно) на несколько фильтров размера 3х3, следующих один за другим. Сеть VGG16 обучалась на протяжении нескольких недель при использовании видеокарт NVIDIA TITAN BLACK.

слои vgg16

Датасет

ImageNet — набор данных, состоящий из более чем 15 миллионов размеченных высококачественных изображений, разделенных на 22000 категорий. Изображения были взяты из интернета и размечены вручную людьми-разметчиками с помощью краудсорсинговой площадки Mechanical Turk от Amazon.

В 2010 году, как часть Pascal Visual Object Challenge, началось ежегодное соревнование — ImageNet Large-Scale Visual Recognition Challenge (ILSVRC). В ILSVRC используется подвыборка из ImageNet размером 1000 изображений в каждой из 1000 категорий. Таким образом, тренировочный сет состоял из примерно 1.2 миллионов изображений, проверочный — 50000 изображений, тестовый — 150000 изображений. Так как ImageNet состоит из изображений разного размера, то их необходимо было привести к единому размеру 256х256. Если изображение представляет из себя прямоугольник, то оно масштабируется и из него вырезается центральная часть размером 256х256.

Архитектура

Архитектура VGG16 представлена на рисунке ниже.

Архитектура нейросети vgg16

На вход слоя conv1 подаются RGB изображения размера 224х224. Далее изображения проходят через стек сверточных слоев, в которых используются фильтры с очень маленьким рецептивным полем размера 3х3 (который является наименьшим размером для получения представления о том,где находится право/лево, верх/низ, центр).

В одной из конфигураций используется сверточный фильтр размера 1х1, который может быть представлен как линейная трансформация входных каналов (с последующей нелинейностью). Сверточный шаг фиксируется на значении 1 пиксель. Пространственное дополнение (padding) входа сверточного слоя выбирается таким образом, чтобы пространственное разрешение сохранялось после свертки, то есть дополнение равно 1 для 3х3 сверточных слоев. Пространственный пулинг осуществляется при помощи пяти max-pooling слоев, которые следуют за одним из сверточных слоев (не все сверточные слои имеют последующие max-pooling). Операция max-pooling выполняется на окне размера 2х2 пикселей с шагом 2.

После стека сверточных слоев (который имеет разную глубину в разных архитектурах) идут три полносвязных слоя: первые два имеют по 4096 каналов, третий — 1000 каналов (так как в соревновании ILSVRC требуется классифицировать объекты по 1000 категориям; следовательно, классу соответствует один канал). Последним идет soft-max слой. Конфигурация полносвязных слоев одна и та же во всех нейросетях.

Все скрытые слои снабжены ReLU. Отметим также, что сети (за исключением одной) не содержат слоя нормализации (Local Response Normalisation), так как нормализация не улучшает результата на датасете ILSVRC, а ведет к увеличению потребления памяти и времени исполнения кода.

Конфигурация

Конфигурации сверточных сетей представлены на рисунке 2. Каждая сеть соответствует своему имени (A-E). Все конфигурации имеют общую конструкцию, представленную в архитектуре, и различаются только глубиной: от 11 слоев с весами в сети A (8 сверточных и 3 полносвязных слоя) до 19 (16 сверточных и 3 полносвязных слоя). Ширина сверточных слоев (количество каналов) относительно небольшая: от 64 в первом слое до 512 в последнем с увеличением количества каналов в 2 раза после каждого max-pooling слоя.

vgg16
Рисунок 2

Реализация

К сожалению, сеть VGG имеет два серьезных недостатка:

  1. Очень медленная скорость обучения.
  2. Сама архитектура сети весит слишком много (появляются проблемы с диском и пропускной способностью)

Из-за глубины и количества полносвязных узлов, VGG16 весит более 533 МБ. Это делает процесс развертывания VGG утомительной задачей. Хотя VGG16 и используется для решения многих проблем классификации при помощи нейронных сетей, меньшие архитектуры более предпочтительны (SqueezeNet, GoogLeNet и другие). Несмотря на недостатки, данная архитектура является отличным строительным блоком для обучения, так как её легко реализовать.

[Pytorch]

[Tensorflow]

[Keras]

Результаты

VGG16 существенно превосходит в производительности прошлые поколения моделей в соревнованиях ILSVRC-2012 and ILSVRC-2013. Достигнутый VGG16 результат сопоставим с победителем соревнования по классификации (GoogLeNet с ошибкой 6.7%) в 2014 году и значительно опережает результат Clarifai победителя ILSVRC-2013, который показал ошибку 11.2% с внешними тренировочными данными и 11.7% без них. Что касается одной сети, архитектура VGG16 достигает наилучшего результата (7.0% ошибки на тесте), опережаю одну сеть GoogLeNet на 0.9%.

Было показано, что глубина представления положительно влияет на точность классификации, и state-of-the-art результат на соревновательном датасете ImageNet может быть достигнут с помощью обычной сверточной нейронной сети с значительно большей глубиной.

Новые датасеты для оценки позы в 3D

12 ноября 2018

Новые датасеты для оценки позы в 3D

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

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

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

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

DensePose

Количество изображений: 50 000

Количество меток: 5 000 000

Год выпуска: 2018

 

DensePose — это крупный датасет с метками соответствия изображение-поверхность, вручную помеченный на 50000 изображениях COCO. Датасет создан Facebook AI Research. Команда привлекла сотрудников, которые вручную задавали соответствие глубины на 2D изображениях и поверхностей, отвечающих телам людей, с помощью специально разработанного ПО для аннотирования.

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

Схема аннотирования

Ниже представлены визуализации аннотаций на изображениях из набора для проверки: изображения (слева), U (посередине) и V (справа) для собранных точек.

Визуализация аннотаций

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

SURREAL

Количество кадров: 6 500 000

Количество объектов: 145

Год выпуска: 2017

Создание реалистичных искусственных изображений

SURREAL (Synthetic hUmans foR REAL tasks) — это новый большой датасет с искусственными, но реалистичными изображениями людей, получаемыми из трехмерных последовательностей данных захвата человеческого движения. Он включает 6 миллионов кадров с аннотациями, такими как поза, карты глубины и маски сегментации.

Как описано в статье, изображения в SURREAL получаются из трехмерных последовательностей данных MoCap. Степень реалистичности искусственных изображений обычно ограничена. Чтобы обеспечить реалистичность человеческих тел в этом датасете, исследователи решили создать искусственные тела с использованием модели SMPL, параметры которой подбирались с помощью MoSh по необработанному массиву 3D-маркеров MoCap. Более того, авторы датасета SURREAL обеспечили большое разнообразие углов зрения, одежды и освещения.

Ниже приведена схема создания искусственной модели человеческого тела:

  • человек фотографируется для получения 3D модели тела;
  • происходит рендеринг кадра с использованием фонового изображения, карты текстуры тела, освещения и положения камеры;
  • все «ингредиенты» генерируются случайным образом для увеличения разнообразия данных;
  • сгенерированные RGB изображения сопровождаются 2D/3D позами, нормалями к поверхности, потоком света, картами глубины и картами сегментации частей тела.
Схема получения искусственных данных

Получившийся датасет содержит 145 объектов, >67.5 тыс видео и >6.5 млн кадров:

 

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

UP-3D

Количество объектов: 5 569

Количество изображений: 5 569 изображений для обучения и 1208 тестовых изображений

Год выпуска: 2017

Снизу: сгенерированные модели 3D тела в различных датасетах, послужившие основой UP-3D. Сверху: улучшенные 3D-модели могут расширить исходный датасет

UP-3D — это датасет, который «объединяет людей» из различных датасетов для решения множества задач. В частности, используя недавно введенный метод SMPLify, исследователи получили высококачественную трехмерную модель тела человека. Аннотаторы вручную сортировали модели на хорошие и плохие.

Этот датасет объединяет два датасета LSP (11 000 изображений для обучения и 1000 тестовых изображений) и часть датасета MPII-HumanPose (13 030 изображений для обучения и 2622 тестовых изображения). Хотя можно было использовать метод автоматической сегментации для генерации силуэтов переднего плана, исследователи решили для надежности привлечь сотрудников для аннотирования. Ученые создали интерактивный инструмент аннотации поверх пакета Opensurfaces для работы с Amazon Mechanical Turk (AMT) и использовали интерактивных алгоритм Grabcut для получения изображений границ силуэтов.

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

В то время как в среднем задача маркировки переднего плана занимает 108 сек в LSP и 168 сек в MPII, сегментация занимает вдвое больше времени: 236 с.

Аннотаторы сортировали модели на хорошие и плохие. Ниже приведен процент принятых моделей в каждом датасете:

 

Таким образом, принятые модели сформировали датасет UP-3D с 5569 изображениями для обучения и 1208 тестовыми изображениями. После экспериментов по семантической сегментации частей тела, оценке позы и 3D-подбору улучшенные 3D-модели расширили исходный набор данных.

Результаты работы различных методов, обученных на метках, созданных с помощью датасета UP-3D

Датасет устанавливает новую планку уровня детализации — 31 метка для семантической сегментации частей тела с высокой точностью и 91 метка для оценки человеческой позы. Кроме того, обучение с использованием 91 метки улучшает качество оценки трехмерной человеческой позы на двух популярных датасетах HumanEva и Human3.6M.

Заключение

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


Интересные статьи: 

Fluid Annotation — инструмент для разметки изображений от Google AI

31 октября 2018

Fluid Annotation — инструмент для разметки изображений от Google AI

Работа моделей компьютерного зрения зависит от качества разметки объектов в обучающих датасетах. На разметку одного изображения из COCO+Stuff у человека уходит 19 минут, значит для обработки всего набора данных потребуется 53…

Работа моделей компьютерного зрения зависит от качества разметки объектов в обучающих датасетах. На разметку одного изображения из COCO+Stuff у человека уходит 19 минут, значит для обработки всего набора данных потребуется 53 000 часов. Google AI представила инструмент Fluid Annotation, который поможет сократить время разметки одного изображения в три раза.

Как работает Fluid Annotation

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

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

Команда представила разработку на ACM Multimedia Conference 2018, которая проходила 25 октября в Сеуле. Попробовать разметить границы объектов самостоятельно можно в демоверсии инструмента.

 

Нейронная сеть от Google AI выявляет раковые метастазы с точностью 99%

25 октября 2018

Нейронная сеть от Google AI выявляет раковые метастазы с точностью 99%

Google AI разрабатывают алгоритмы глубокого обучения для обнаружения раковых новообразований. Недавно алгоритм LYNA, первый раз представленный командой в 2017 году, достиг 99% точности в обнаружении метастаз рака молочной железы. В…
Google AI разрабатывают алгоритмы глубокого обучения для обнаружения раковых новообразований. Недавно алгоритм LYNA, первый раз представленный командой в 2017 году, достиг 99% точности в обнаружении метастаз рака молочной железы. В будущем разработка может использоваться для ускорения диагностики и уточнения диагнозов патологоанатомов.

Инструмент для помощи патологоанатомам

В основе LYNA (Lymph Node Assistant) лежит алгоритм Inception-v3 — open source модель для распознавания изображений, которая уже использовалась ранее для диагностики рака легких, меланомы и ретинопатии. Работу модели протестировали на двух наборах данных с образцами патологий рака молочной железы. В обоих наборах алгоритму удалось правильно отличить слайд с метастатическим раком от слайда без рака в 99% случаев. Кроме того, модель точно определила области с метастазами и другие подозрительные регионы на каждом слайде. Многие из них слишком малы, чтобы быть обнаруженными вручную. Таким образом, ещё одно из возможных применений  LYNA — выделение проблемных зон для патологоанатомов для помощи в анализе и постановке окончательного диагноза.
Слева: лимфатический узел с небольшой метастатической опухолью молочной железы. Справа: тот же слайд, с зонами, выделенными алгоритмом.

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

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

Нейросеть диагностирует болезнь Альцгеймера с точностью 94%

5 октября 2018

Нейросеть диагностирует болезнь Альцгеймера с точностью 94%

Согласно данным Alzheimer’s Association, только в США болезнью Альцгеймера страдают 5,7 миллиона человек. В эту цифру входит 5,5 миллионов больных старше 65 лет, и 200 000 человек моложе 65 с…

Согласно данным Alzheimer’s Association, только в США болезнью Альцгеймера страдают 5,7 миллиона человек. В эту цифру входит 5,5 миллионов больных старше 65 лет, и 200 000 человек моложе 65 с ранними симптомами болезни. Учёные из Стэнфорда разработали алгоритм, который поможет врачам в ранней диагностике патологических изменений мозга. Модель распознаёт болезнь Альцгеймера и её биомаркеры на МРТ снимках с точностью 94%.

Метод

Команда разработала трёхмерную свёрточную нейронную сеть (3D-CNN), используя TensorFlow с расширенной cuDNN. Алгоритм обучили на данных из датасета ADNI, используя только МРТ-снимки. «Одно из достижений нашей работы — минимальная предварительная обработка МРТ, которая включает только удаление небольшого количества артефактов и обрезку изображений», — заявили исследователи в статье.

Алгоритм - нейросеть определяет болезнь Альцгеймера по МРТ снимкам
Архитектура 3D-CNN

Результаты

Нейронная сеть распознаёт патологические изменения, указывающие на болезнь Альцгеймера с точностью 94%. Результат превосходит предыдущие state-of-the-art методы распознавания. Алгоритм ошибается реже, чем более сложные архитектуры, потому что меньше подвержен переобучению. Кроме того, модель выявляет биомаркеры болезни — команда обнаружила, что область гиппокампа в мозге имеет решающее значение при диагностике заболевания.

болезнь Альцгеймера по МРТ снимкам
Сравнение результатов с другими методами

Нейросеть распознаёт рак лёгких на ранних этапах с точностью 97%

20 сентября 2018
нейросеть обнаружение рака легких на ранних стадиях

Нейросеть распознаёт рак лёгких на ранних этапах с точностью 97%

По данным Американского онкологического общества, только в США у 200 000 людей ежегодно диагностируют рак лёгких. Исследователи из Университета Нью-Йорка разработали алгоритм, который поможет ускорить и упростить выявление заболевания на…

По данным Американского онкологического общества, только в США у 200 000 людей ежегодно диагностируют рак лёгких. Исследователи из Университета Нью-Йорка разработали алгоритм, который поможет ускорить и упростить выявление заболевания на ранних этапах. Нейросеть распознаёт два из наиболее распространённых видов рака лёгких с точностью 97%, что сопоставимо с результатами патологоанатомов. 

Как основу нейронной сети разработчики взяли Inception v3 — open source модель для распознавания изображений. Inception v3 уже успешно использовалась для диагностики меланомы и ретинопатии. Исследователи обучили нейросеть на 3000 изображений с результатами гистологии патологических тканей, используя графические процессоры NVIDIA Tesla с расширенной cuDNN и платформу TensorFlow. Работу алгоритма сравнили с результатами диагностики трёх независимых патологоанатомов.

«Наше исследование демонстрирует, что свёрточные нейронные сети, такие как Google Inception v3, могут быть использованы для анализа результатов гистологии и диагностики рака легких: алгоритм классифицирует здоровые и опухолевые ткани с точностью ~ 0,99 AUC, и различает типы рака лёгких с высокой точностью — 0,97 AUC, достигая аккуратности, сравнимой с результатами патологоанатома» — отметили исследователи в статье.

Работа опубликована в журнале Nature Medicine. Исходный код модели доступен на GitHub.


Интересные статьи:

Нейросеть улучшила точность диагностики рака лёгких

3 сентября 2018

Нейросеть улучшила точность диагностики рака лёгких

Исследователи из Contextvision разработали метод глубокого обучения, который обнаруживает рак лёгких, анализируя образцы тканей пациентов. Точность работы модели 80%. «В клинической диагностике рака лёгких, при анализе микроскопических деталей, оценка сильно…

Исследователи из Contextvision разработали метод глубокого обучения, который обнаруживает рак лёгких, анализируя образцы тканей пациентов. Точность работы модели 80%.

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

Команда обучила сеть семантической сегментации на изображениях 712 пациентов с раком легких, используя графические процессоры NVIDIA TITAN Xp с расширенной cuDNN платформой и библиотеку TensorFlow. Слайды с образцами тканей пациентов были отсканированы и вручную аннотированы. Алгоритм протестировали на 178 изображениях. Достигнутая точность немного превосходит результаты других state-of-the-art моделей:

results lung cancer prediction

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

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

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

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

Метод моделирования новых поз человека на изображении

19 июля 2018
Моделирование позы на фотографии

Метод моделирования новых поз человека на изображении

Люди обладают удивительной способностью воображения. Воображение и обучение на опыте лежат в основе нашего интеллекта. Обе эти способности связаны – воображение работает благодаря памяти и опыту. Поэтому мы можем определить…

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

Исследователи из Массачусетского технологического института рассмотрели задачу моделирования человеческой позы на изображении. При помощи фотографии человека и модели целевой позы (target pose) нейросеть создаёт реалистичное изображение:

unseen poses

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

Постановка проблемы

Постановка проблемы: перестраивание позы человека с помощью заданного изображения и модели конкретной позы:

изменение позы с помощью нейросетей

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

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

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

A. Модуль сегментации исходного изображения;

B. Модуль пространственной трансформации;

C. Модуль синтеза переднего плана;

D. Модуль синтеза фона.

Предлагаемая архитектура, состоящая из 4-х модулей.
Предлагаемая архитектура, состоящая из 4-х модулей

Сегментация исходного изображения

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

Gaussian bumps сегментация
Сегментация частей тела

В качестве входных данных вводится совокупность исходного изображения и моделей начальной и желаемой поз. В отличие от исходного изображения, которое является RGB-изображением, позы определяются как стек из нескольких слоев. Поза представляет собой трехмерный объект, заданный в R (HxWxJ). Каждый из J-слоев (или каналов) в представлении позы содержит Гауссову кривую, центрированную в координатах (x,y) каждого сустава. Гауссово представление (вместо детерминированного представления) вводит определённую степень регуляризации, поскольку совместные оценки местоположения могут быть часто зашумлены и неточны. При проведении тестов авторы сегментировали 14 частей тела (голова, шея, плечи, локти, запястья, бедра, колени и лодыжки).

Результаты работы модуля сегментации

Модуль сегментации представляет собой нейросеть U-Net, которая принимает конкатенированный объем входного изображения и слоев позы в качестве входных данных и выдает L-слоев, определяя примерное местоположение каждого сустава. Выходной сигнал фактически представляет собой двумерную Гауссову маску над пространственной областью каждой части тела, которая позволяет получить желаемую сегментацию.

  1. Пространственная трансформация. Сегментированные слои из модуля сегментации преобразуютсятаким образом, чтобы соответствовать желаемым частям позы. Пространственное преобразование не изучается, а непосредственно вычисляется из входных моделей поз.
  2. Синтез переднего плана. Модуль синтеза переднего плана представляет собой U-образную нейросеть, которая принимает пространственно преобразованные слои со слоями моделируемой позы в виде конкатенированного объема и выдает два разных результата — первый из них является необходимым передним планом, а второй — необходимой маской.
  3. Синтез фона. Задача, которую решает модуль синтеза фона, заключается в заполнении отсутствующего, который закрывается человеком во входном изображении. Этот модуль также является U-сетью, работающей с объемом входного изображения (наряду с гауссовым шумом вместо пикселей переднего плана) и маской позы на входе. Он выводит реалистичный фон без переднего плана — то есть без человека на изображении.

Результаты работы отдельных модулей, создающих новое изображение.

Синтез изображений

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

формула

Как и во многих генеративных нейросетях, исследователи предлагают использовать дискриминатор, чтобы генерировать реалистичные изображения. Генеративная модель была обучена с использованием функций потерь L1, L-VGG и L-VGG + GAN с использованием бинарной классификационной ошибки дискриминатора.

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

Оценка

Оценка метода производилась на примере роликов на Youtube. Эксперименты проводились с использованием видеороликов, на которых происходили три класса действий: игра в гольф (136 роликов), занятие йогой (60 роликов) и занятие теннисом (70 роликов).

сравнение c U-net и VGG
Сравнение ошибки в различных метриках и баллов SSIM предлагаемого метода и Unet нейросети
сравнение методов сентезирования позы
Результаты работы нейросети
Сравнение результатов, полученных с использованием различных функций потерь
Сравнение результатов, полученных с использованием различных функций потерь

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

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