U-Net: нейросеть для сегментации изображений

30 ноября 2018
u-net

U-Net: нейросеть для сегментации изображений

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

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

Пример сегментации мозга

Сеть обучается сквозным способом на небольшом количестве изображений и превосходит предыдущий наилучший метод (сверточную сеть со скользящим окном) на соревновании ISBI по сегментации нейронных структур в электронно-микроскопических стеках. Используя ту же сеть, которая была обучена на изображениях световой микроскопии пропускания (фазовый контраст и DIC), U-Net заняла первое место в конкурсе ISBI 2015 года по трекингу клеток в этих категориях с большим отрывом. Кроме того, эта сеть работает быстро. Сегментация изображения 512×512 занимает менее секунды на современном графическом процессоре.

Для U-Net хатактерно:

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

Архитектура U-Net

архитектура u-net
Рисунок 1. Архитектура U-net (пример изображения с разрешением 32×32 пикселя — самым низким). Каждый синий квадрат соответствует многоканальной карте свойств. Количество каналов приведено в верхней части квадрата. Размер x-y приведен в нижнем левом краю квадрата. Белые квадраты представляют собой копии карты свойств. Стрелки обозначают различные операции.

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

На каждом этапе понижающей дискретизации каналы свойств удваиваются. Каждый шаг в расширяющемся пути состоит из операции повышающей дискретизации карты свойств, за которой следуют:

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

Обрезка необходима из-за потери граничных пикселей при каждой свертке.

Схема U-Net
Схема сети U-net

На последнем слое используется свертка 1×1 для сопоставления каждого 64-компонентного вектора свойств с желаемым количеством классов. Всего сеть содержит 23 сверточных слоя.

Обучение U-Net

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

кросс-энтропия u-net

Граница разделения вычисляется с использованием морфологических операций. Затем вычисляется карта весовых коэффициентов:

где wc — карта весов для балансировки частот классов, d1 — расстояние до границы ближайшей ячейки, а d2 — расстояние до границы второй ближайшей ячейки.

Примеры использования и реализации

U-net неоднократно использовалась для сегментации изображений. Ниже приведены некоторые из них:

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

[Pytorch][Tensorflow][Keras]

Результаты

Рисунок 2. Результаты сегментации (IOU) на соревновании ISBI 2015 года по трекингу клеток.

U-Net применялся в задаче сегментации клеток на изображениях с оптического микроскопа. Эта задача сегментации является частью конкурсов ISBI 2014 и 2015 годов по трекингу клеток.

Датасет PhC-U373 содержит изображения клетки U373 Glioblastoma-astrocytoma на полиакриламидной подложке, записанные методом фазово-контрастной микроскопии. Он содержит 35 частично помеченных изображений для обучения. В этом случае U-Net достигла среднего значения IOU (пересечение по объединению), равного 92%, что значительно лучше предыдущего результата: 83% (см. рис. 2).

Второй датасет DIC-HeLa содержит фотографии клеток HeLa на плоском стекле, записанные с помощью микроскопии дифференциального интерференционного контраста (DIC) (см. рисунки ниже). Он содержит 20 частично помеченных изображений для обучения. В этом случае U-Net достигла среднего значения IOU 77,5%, что значительно лучше, чем последующий алгоритм с его 46%.

результаты работы u-net
Результаты соревнования ISBI по трекингу клеток. (a) Часть входного изображения датасета PhC-U373. (b) Результат сегментации (голубая маска) и метка (желтая граница). (c) Входное изображение датасета DIC-HeLa. (d) Результат сегментации (цветные маски) и метки (желтая рамка).

Архитектура U-net достигает выдающейся производительности и точности в самых разных приложениях биомедицинской сегментации. Метод требует лишь нескольких помеченных изображений для тренировки и имеет приемлемое время обучения: всего лишь 10 часов на графическом процессоре NVidia Titan (6 ГБ).

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

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

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

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

Метод создания 3D-аватара на основе одной фотографии

14 июля 2018
3D аватар из одного изображения - маска

Метод создания 3D-аватара на основе одной фотографии

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

Создание реалистичных аватаров играет ключевую роль в достижении комфортной коммуникации между людьми в виртуальной среде. Идеальный способ получения реалистичного 3D аватара: человек делает селфи, загружает фото в сеть и получает аватара в виртуальной реальности, который имеет точные черты лица владельца и соответствующее альбедо (отражательная способность поверхности лица). Всё просто. Однако на практике для достижения поставленной цели приходится идти на значительные компромиссы между количеством входных изображений, объёмом вычислений и качеством результата.

Рис.1. 3D текстуры лица, полученные на основе одной фотографии
Рис.1. 3D текстуры лица, полученные на основе одной фотографии

Несмотря на сложность задачи, группа исследователей из Технологического Института Южной Калифорнии (USC Institute for Creative Technologies) заявила, что их нейросеть позволяет эффективно создавать точные 3D-текстуры на основе одной фотографии, снятой в произвольном ракурсе. Более того, такие текстуры отличаются высоким качеством исполнения, и при этом не требуют больших вычислительных затрат и работы профессионального фотографа для получения фото.

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

Итак, давайте рассмотрим этот подход к созданию 3D-текстур.

Краткий обзор метода

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

Поставленная задача разбита на несколько частей, каждая из которых решается отдельной свёрточной нейросетью:

  • 1-й шаг. Вначале система получает грубую геометрию лица посредством аппроксимации входного изображения 3D-шаблоном. Затем происходит получение из шаблона начальной карты альбедо. Далее используется нейросеть для оценки диффузного и зеркального альбедо и получения карт смещений входного изображения относительно шаблона.
  • 2-й шаг. Из-за условий съёмки или частичного затенения лица карты получаются с недостающими областями, поэтому они подаются на вход нейросетей, добавляющих недостающие участки текстур. Высокая точность добавленных текстур достигается с помощью image-to-image translation сетей, в которых особенности изгибов черт лица на скрытых пространствах доворачиваются таким образом, чтобы достичь естественной степени симметрии лица, сохраняя при этом локальные отклонения.
  • 3-й шаг. Ещё одна нейросеть используется для прорисовки деталей в дополненных областях.
  • 4-й шаг. Свёрточная нейросеть повышает разрешение конечного изображения с 512х512 до 2048х2048.

Рассмотрим структуру предлагаемой модели более детально.

Структура модели в деталях

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

Рис.2. Схема предлагаемого метода
Рис.2. Схема предлагаемого метода

Вывод геометрии и альбедо. Для вывода базовой геометрии лица и ориентации головы применяется алгоритм попиксельной оптимизации. Эти данные используются для создания карты текстур посредством UV-преобразования. Область вне лица удаляется. Далее для получения карт альбедо и смещения извлечённая текстура в RGB палитре передаётся в нейросеть архитектуры U-net с пропущенными соединениями.

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

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

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

Рис.3. Схема метода дополнения текстур
Рис.3. Схема метода дополнения текстур

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

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

Рис.4. Примеры полученных 3D-текстур лица в новых условиях освещения
Рис.4. Примеры полученных 3D-текстур лица в новых условиях освещения

Результаты

Количественные оценки способности системы восстанавливать альбедо и геометрию лица были сделаны на основе 100 тестовых изображений. Данные оценки представлены в таблице ниже.

Табл.1. Пиковое отношение сигнал-шум (PSNR) и структурная схожесть (SSIM) полученных 3D-текстур в сравнении с реальными значениями
Табл.1. Пиковое отношение сигнал-шум (PSNR) и структурная схожесть (SSIM) полученных 3D-текстур в сравнении с реальными значениями

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

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

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

Рис.6. Сравнение результатов различных методов: PCA, Visio-lization [Mohammed et al. 2009], современный метод извлечения карты диффузного альбедо [Saito et al. 2017], предлагаемый метод (Ours).
Рис.6. Сравнение результатов различных методов: PCA, Visio-lization [Mohammed et al. 2009], современный метод извлечения карты диффузного альбедо [Saito et al. 2017], предлагаемый метод (Ours).
Табл.2. Количественное сравнение предложенной модели с несколькими альтернативными методами, PSNR — пиковое отношение сигнал-шум, RMSE — среднеквадратичное отклонение.
Табл.2. Количественное сравнение предложенной модели с несколькими альтернативными методами, PSNR — пиковое отношение сигнал-шум, RMSE — среднеквадратичное отклонение.

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

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

Рис.7. Демонстрация ограничений модели
Рис.7. Демонстрация ограничений модели

Тем не менее, предлагаемый подход имеет несколько ограничений, которые продемонстрированы на рисунке выше:

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

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

Перевод — Борис Румянцев, оригинал — Kateryna Koidan.