SMPL (A Skinned Multi-Person Linear Model)

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

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


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


Давайте теперь посмотрим на технические детали, эта модель использует 3d сетку в качестве выходного представления и, как мы знаем, что сетка представлена через вершины и грани. Базовая сетка разработана художником, чтобы соответствовать большинству человеческих тел имеет 7000 вершин, что дает представление с 21 000 чисел, каждая вершина представляет собой трехмерный вектор и поэтому у нас есть 21 000 чисел для представления человеческого тела это то пространство, в котором  мы хотим работать, но это, конечно, очень высокоразмерное пространство, оно не столь высоко как типичные изображения, но все же очень высокоразмерное. Большинство параметров этих чисел на самом деле не соответствуют людям или фигурам, а просто случайный шум, случайный мусор Поэтому мы хотим найти разумные настройки этих чисел, которые соответствует фигурам в наборе данных которые мы использовали для обучения нашей модели.

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


Теперь давайте на минуту предположим, что мы уже решили проблему регистрации и  это позволяет нам преобразовать все сканы, полученные со сканера в каноническую позу.  Мы можем преобразовать каждый из сканов в эту позу. И затем мы можем подогнать эту модель тела к этим двум сканам в позе. У нас есть эта 3d сетка которая представляет собой набор из 21 000 номеров этих 7000 вершин, так что если мы хотим векторизовать вершины сетки, мы называем их Т, мы вычитаем среднее значение сеткиэтих вершин, затем мы можем применить главный компонентный анализ, чтобы получить линейную модель.
Теперь мы можем сложить их в столбцы матрицы и затем разложить эту матрицу так, чтобы наблюдения были линейные комбинации некоторых базисных форм, которые называются формами смеси. Они комбинируются линейно с весами бета.
Мы получаем размерность от 10 до 300 вместо 21000, чтобы выразить большую часть дисперсии наблюдений.