Метод реконструкции лица на основе 3D модели черепа

25 сентября 2018
реконструкция лица по форме черепа

Метод реконструкции лица на основе 3D модели черепа

«Всё в порядке, просто ему нравится твоя форма черепа» Доктор Гонзо Реконструкция лица используется преимущественно в двух областях: криминалистике и антропологии. Реконструкция заключается в следующем: на основе входных данных (форма черепа),…

«Всё в порядке, просто ему нравится твоя форма черепа» Доктор Гонзо

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

Ранние подходы к компьютерному восстановлению

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

Terner и коллеги в своей работе A novel method of automated skull registration for forensic facial approximation ввели новый метод для автоматизированного получения 3D модели черепа и восстановления черепно-лицевой части головы, который основан на получении отдельных поверхностей из данных томографии. Для получения трёхмерной модели предложенный метод находит грани лица, например, надбровные дуги и подбородок, с помощью алгоритма ICP, а затем применяет сплайновый алгоритм интерполяции под названием “thin plate spline warping — TPPW”.

Shui и коллеги в своей работе Densely Calculated Facial Soft Tissue Thickness for Craniofacial Reconstruction in Chinese Adults представили подход, основанный на FSTT статистике томографических данных (FSTT — Facial soft tissue thickness – толщина лицевого кожного покрова).  Их метод использует 78 меток, вручную выбираемых на черепе, которые определяют общие особенности его строения. Затем происходит более точное определение его структуры и реконструкция лица с использованием алгоритмов ICP и TPPW.

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

Предлагаемый подход

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

  • Параметрическая модель черепа.
  • FSTT статистика.
  • Параметрическая модель головы.

Генерация моделей

реконструкция лица
Рис.1. Обзор процесса генерации модели.

Рассмотрим процесс создания моделей. Первый шаг заключается в установлении зависимости между различными моделями черепа и моделями головы. Для этой цели посредством аппроксимации происходит определение подходящей шаблонной модели черепа для каждой заданной сетки, построенной по определенным входным данным (см. Рис.1). Затем появляется возможность использовать шаблоны аппроксимации для определения геометрической вариативности моделей черепа и, соответственно, лиц, что происходит посредством PCA алгоритма. В результате мы определяем сразу две параметрических модели: модель черепа и модель головы. И далее на основе томографических сканов полученных 3D моделей черепа и головы строится FSTT карта.

Генерация параметрической модели черепа

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

  1. Глобальная трансформация. В рамках этого этапа происходит наложение входной модели черепа на шаблонную модель, и в качестве результата мы получаем грубо аппроксимированную параметрическую модель.
  2. Точная аппроксимация. На данном этапе происходит уточнение шаблонной модели с помощью ICP алгоритма. Уточнение деталей происходит итерационно, на каждой итерации минимизируется энергия для определения подходящего закона трансформации:

3D модель черепа

где S – вершина сетки, Efit – аппроксимирующее слагаемое, Ereg – регулиризующее слагаемое. В случае используемой нежёсткой трансформации Efit может быть записано как:

реконструкция лица f1

где sc – вершина шаблона, fc – точка, близкая к сетке входной модели черепа. Ereg может быть записано как:

реконструкция лица по черепу

Это слагаемое выражает геометрическое расхождение шаблона и входной модели в ходе аппроксимации.

Генерация статистики толщины лицевой ткани

В процессе статистической оценки измеряются дистанции между 43-мя моделями черепа и соответствующими моделями голов, полученными из данных томографии.  Для этой цели определяется кратчайшее расстояние между каждой точкой черепа и поверхностью кожи полученной головы. И наконец, для каждой точки вычисляются стандартное отклонение и среднее для FSTT. Рис.2 иллюстрирует распределение этих величин по поверхности черепа.

FSTT по поверхности черепа
Рис.2. Распределение стандартного отклонения и среднего для FSTT по поверхности черепа

Генерация параметрической модели формы головы

Так же как и модель черепа, модель головы генерируется посредством аппроксимации шаблонной моделью сканов реальных объектов: сначала устанавливается соответствие между ними и затем производится статистический анализ на основе PCA алгоритма. Для генерации модели извлекаются лицевые поверхности с 43-х томографических сканов,  которые затем используются для построения FSTT статистики. Далее скан головы представляется в виде набора точек Q = {q1, … , qn}. Так как модель головы представляет собой только поверхности кожи, то аппроксимирующий шаблон головы является трёхмерной треугольной сеткой, состоящей из примерно 6000 вершин H = {h1, … , hn}. Процесс аппроксимации шаблоном состоит из двух этапов, сходных с этапами аппроксимации формы черепа:

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

а1

Аппроксимирующее слагаемое Efit выражает квадрат расстояния между точками набора Q и соответствующими точками набора H:

а2

Регулиризующее слагаемое Ereg выражает геометрическое расхождение состояния модели на предыдущей итерации и состояния модели на текущей итерации:

а3  поверхности черепа

Заключение

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

восстановления лица
Рис.3. Этапы автоматизированного восстановления лица

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

Сравнение полученных моделей головы и лица, извлеченных из томографических сканов
Рис.4. Сравнение полученных моделей головы и лица, извлеченных из томографических сканов. Слева направо: аппроксимация на основе среднего FSTT, аппроксимация на основе среднеквадратичного FSTT, аппроксимация на основе оригинального FSTT, поверхность кожи, извлеченная из томографических сканов.

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

Реконструкция фотографий методом частичной свертки от Nvidia

8 мая 2018
Image Inpainting for Irregular Holes Using Partial Convolutions

Реконструкция фотографий методом частичной свертки от Nvidia

“Image inpainting” — задача заполнения пробелов в изображении (реконструкция, дорисовка). Цель работы, проделанной авторами — предложить модель для реконструкции изображений, которая надежно работает на нерегулярных пробелах и создает семантически значимые прогнозы, которые сочетаются с…

“Image inpainting” — задача заполнения пробелов в изображении (реконструкция, дорисовка). Цель работы, проделанной авторами — предложить модель для реконструкции изображений, которая надежно работает на нерегулярных пробелах и создает семантически значимые прогнозы, которые сочетаются с остальной частью изображения без необходимости дополнительных операций пост-обработки или смешивания. Модель используется со многими приложениями, например, при редактировании изображений для удаления нежелательных деталей в изображении, заполняя приемлемым контентом.

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

Метод частичной свертки

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

Новшества:

  • Использование частичных сверток с автоматическим шагом обновления маски для достижения современных результатов в дорисовывании изображений (image-inpainting).
  • При помощи замены сверточных слоев частичными свертками и обновления масок удалось достичь самых высоких результатов в реконструкции изображений.
  • Продемонстрирована эффективность обучения image-inpainting моделей на пробелах неправильной формы.

Частичный сверточный слой

Модель использует операции стекирования частичной свертки и операции обновления маски для выполнения image inpainting. Операция частичной свертки и функция обновления маски работают совместно как частичный Сверточный слой.

Пусть W — вес фильтра свертки, а b — соответствующее смещение. X — значения пикселей для текущего окна свертки, а M — соответствующая бинарная маска. Частичная свертка в каждом месте выражается следующим образом:

Partial Convolutional Layer

Где ⊙ обозначает умножение по элементам. Как видно, выходные значения зависят только от немаскируемых входных значений. С помощью масштабного коэффициента 1/sum(M) подбирается подходящее масштабирование, чтобы скорректировать изменяющиеся действительные (незамаскированные) входные данные. После каждой операции частичной свертки маска обновляется. Правило unmasking простое: если с помощью свертки получилось вывести результат, по крайней мере, для одного допустимого входного значения, тогда маска для этого местоположения удаляется. Это выражается следующим образом:

Partial Convolutional Layer

и легко реализуется в любой системе глубокого обучения как часть forward pass.

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

Частичный слой свертки реализуется путем расширения существующего стандартного PyTorch. Прямая реализация заключается в определении двоичных масок размера C × H × W, того же размера с их связанными изображениями или элементами, а затем, чтобы обновить маску, требуется использование фиксированного слоя свертки с тем же размером ядра, что и операция частичной свертки , но с весами, равными 1, и нулевым смещением. Весь вывод сетью изображения 512 × 512 занимает 0,23 с на одном графическом процессоре NVIDIA V100, независимо от размера пробела.

Используется Unet-like архитектура, заменяющая сверточные слои частичными сверточными слоями, а также на этапе декодирования используется nearest neighbour up-sampling .

Network Architecture

ReLU используется на этапе кодирования, и LeakyReLU с альфа = 0,2 используется между декодирующимися слоями. Кодер состоит из восьми частичных сверточных слоев с шагом 2. Размеры ядра — 7, 5, 5, 3, 3, 3, 3 и 3. Размеры канала — 64, 128, 256, 512, 512, 512, 512 и 512. Входные данные последнего частичного сверточного слоя будут содержать конкатенацию исходного входного изображения с пробелами и оригинальной маской.

Функция потери

Функция потери направлена как на точность пиксельной реконструкции, так и на композицию, т. е. как плавно перетекают предсказанные значения пробелов в окружающее изображение. Учитывая входное изображение с пробелом Iin и маской M, предсказание сети Iout и ground truth изображение Igt, то потеря пикселя определяется как:

Loss Function

Функция perceptual loss измеряет перцептуальные и семантические различия между изображениями. Функция использует сеть потерь, которая предварительно обучена для классификации изображений, perceptual loss функция является глубокой сверточной нейронной сетью. Perceptual loss определяются как:

Функция perceptual loss вычисляет расстояния L1 одновременно между Iout и Icomp и ground truth. Для выполнения автокорреляции, на каждой карте характеристик вводится термин style loss.

Perceptual loss

Loss Function

Общая потеря — комбинация всех вышеперечисленных потерь:

Total Loss

Результаты

Частичная свертка превосходит другие методы. Чтобы доказать, что частичная свертка работает лучше, чем другие методы, используются I1-ошибка, пиковое отношение сигнала к шуму (peak signal-to-noise ratio — PSNR), индекс структурного сходства (Structural SIMilarity — SSIM) и начальная оценка (Inception score — IScore). Ниже в таблице показаны результаты сравнения. Видно, что метод PConv превосходит другие методы в этих измерениях на нерегулярных масках.

measurements on irregular masks

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

Сorresponding inpainted results
Рисунок 2: Верхняя строка: ввод; нижняя строка: соответствующие результаты
Comparison convolution layer and partial convolution results
Рисунок 3: Сравнение между типичными результатами на основе сверточного слоя (Conv) и результатами на основе частичного сверточного слоя (PConv)

Больше результатов метода частичной свертки (PConv):

PConv PConv

Руслан Хабибуллин

 

«Что я вижу» vs «Что видит моя камера»: как DNN улучшает детали на изображениях с плохой экспозицией

28 апреля 2018
How DNN Can Bring Details

«Что я вижу» vs «Что видит моя камера»: как DNN улучшает детали на изображениях с плохой экспозицией

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

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

what i see

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

Предлагаемый метод исправляет изображение со слишком или недостаточно долгой экспозицией и привносит много деталей. Метод работает со стандартным LDR изображением (изображение LDR — это изображение с низким динамическим диапазоном), и создает улучшенное изображение, всё ещё в диапазоне LDR, но визуально обогащенное восстановленными деталями. Глубокая нейронная сеть возвращает детали, которые лежат в диапазоне HDR (высокий динамический диапазон), но уменьшились в диапазоне LDR. Здесь и кроется вся магия.

Как это работает?

Новый метод называется Deep Reciprocating HDR Transformation, он работает путем применения взаимного преобразования, использующего две глубокие нейронные сети. Идея работы проста: взяв образ LDR, детали реконструируются в области HDR и изображение переводится обратно в область LDR, обогащенную деталями. Хотя это звучит просто, есть два трюка, о которых расскажем ниже.

Чтобы сделать взаимное преобразование, используются две сверточные нейронные сети (CNN). Первая называется сетью HDR оценки, она принимает входное изображение, кодирует в скрытое представление более низкого диапазона, а затем декодирует это представление для восстановления HDR изображения. Вторая, называемая сетью LDR коррекции, выполняет обратное преобразование: принимает оцененное HDR изображение из первой сети и выводит исправленное LDR изображение. Обе сети — простые автокодировщики, кодирующие данные в скрытое представление размера 512.

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

underexposed image in dark scene
Визуальное сравнение нового метода (DRHT) на примере изображения с недостаточно долгой выдержкой в темное время суток.

Сеть оценки HDR

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

Коррекция LDR

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

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

HDR Estimation Network and LDR Correction Network
Две сети автокодировщика: сеть оценки HDR (слева) и сеть коррекции LDR (справа)

Каждая сеть состоит из пяти convolutional (сверточных) и пяти deconvolution (развертывающихся) слоев:

Conv 1 Layer: 9 x 9 размер ядра, 64 карты признаков
Conv 2 Layer: 5 x 5 размер ядра, 64 карты признаков
Conv 3 Layer: 3 x 3 размер ядра, 128 карт признаков
Conv 4 Layer: 3 x 3 размер ядра, 256 карт признаков
Conv 5 Layer: 3 x 3 размер ядра, 256 карт признаков

Скрытое представление: 1 x 512

Deconv 1 Layer: 3 x 3 размер ядра, 256 карт признаков
Deconv 2 Layer: 3 x 3 размер ядра, 256 карт признаков
Deconv 3 Layer: 3 x 3 размер ядра, 128 карт признаков
Deconv 4 Layer: 5 x 5 размер ядра, 64 карты признаков
Deconv 5 Layer: 9 x 9 размер ядра, 64 карты признаков

Обучение проводилось с использованием алгоритма оптимизатора ADAM с начальной скоростью обучения 1e-2.

Набор данных

Два набора данных используются для обучения и тестирования метода: набор данных городской панорамы и уличной панорамы Sun360. Также, авторы отмечают, что использовали Photoshop при создании правдивых LDR изображений с человеческим контролем для промежуточной задачи. Размер тренировочного набора, который используется для тренировки обеих сетей, составляет 40 000 изображений (исходное изображение LDR, истинное HDR и истинное LDR изображение).

Результаты

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

Оценка сложная, так как главной целью является создание визуально приятных изображений, которые трудно поддаются количественной оценке, а также субъективны. Однако авторы используют ряд различных оценочных показателей. Авторы использовали HDR-VDP-2 характеристику для оценки первой сети, которая отражает восприятие человека, а для оценки метода и сравнения с существующими методами использовались показатели: PSNR, SSIM, FSIM.

Quantitative evaluation
Таблица 1: Количественная оценка предлагаемого метода коррекции изображения и других существующих методов.

Quantitative evaluation of the HDR prediction method

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

DRHT
Сравнение предлагаемого метода (DRHT) с существующими методами и LDR ground truth.

DRHT 2
Сравнение предлагаемого метода (DRHT) с существующими методами и LDR ground truth.

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

Руслан Хабибуллин