Проекция тела человека по параметрам
3 лучших визуализаторов тела
Сейчас многие активно пользуются различными редакторами чтобы более удачно смотреться на снимках. Но что, если использовать программу для того, чтобы примерить на себя новые параметры тела? Для этого есть специальное приложение, которое называется Bodywhat Morphing. Оно доступно для устройств на базе iOS, скачать его можно в официальном магазине AppStore.
Перевести это название можно как «модификатор телосложения». В нем вы сможете увидеть, как будете выглядеть с другим объемом талии или бедер, с лишними килограммами или без них.
Также есть еще несколько приложений для Айфонов, с помощью которых вы сможете примерить на себя новую версию собственного тела. Например, Model My Diet сможет сделать для вас моделирование ситуации, в которой вы теряете определенное количество лишнего веса. В интерактивном режиме вы сможете увидеть себя с новым телом – а это огромная мотивация для борьбы с лишним весом!
Мы расскажем вам о еще нескольких сервисах с похожими функциями.
Этот рейтинг составлен на основе ваших лайков и дизлайков. Хочешь участвовать в формировании ТОПа? Читай статью и голосуй с помощью кнопок «Мне нравится» или «Не нравится» для каждого рассмотренного приложения!
Body Visualizer
Это приложение было создано немецкими учеными-разработчиками, и оно абсолютно бесплатно. Главная цель его работы – возможность для каждого человека объективно оценить свое тело и физическую форму. Система работает автоматически, используя вычисления и данные статистики, а пользователю нужно только задать исходные параметры.
Для того, чтобы начать работу, необходимо ввести свой рост и вес. Приложение создаст модель в 3D, где будет представлена конституция вашего тела. Как правило, она составляется довольно точно, и вы сможете узнать в ней собственные контуры.
После этого вы сможете примерить на себя различные ситуации. Например, есть специальный ползунок «тренировок» (приложение англоязычное, поэтому он будет называться «Exercise»). Передвигая его, вы увидите, как растет на трехмерной модели мышечная масса. Так вы сможете наглядно примерить на себя регулярные тренировки в тренажерном зале. Обратите внимание, что этот ползунок предполагает определенную интенсивность нагрузок – вы задаете ее самостоятельно. По умолчанию стоит 2 часа в неделю, но вы можете изменить это значение, если планируете заниматься чаще.
Чтобы модель вашего тела была составлена абсолютно точно, мы рекомендуем вам ввести несколько дополнительных параметров:
Во время измерений не напрягайте мышцы, иначе вы можете исказить параметры. При замерах талии сделайте глубокий выдох, а бедра измеряйте в их наиболее широком месте.
По умолчанию приложение настроено на международную единицу измерения – дюймы (или американские инчи), каждый равен 2,54 см. Вы можете переключить настройки, чтобы использовать измерения в сантиметрах – это более привычно для пользователей из России и стран СНГ.
Если вам неудобно пользоваться приложением на английском языке, вы можете воспользоваться приложением-переводчиком от Гугла, работающим в фоновом режиме. Это будет не совсем точная интерпретация, но она поможет вам разобраться с основными функциями.
Приложение учитывает разницу в телосложении мужчины и женщины. С помощью кнопки Switch вы сможете переключиться на нужный вам пол, чтобы модификация была более точной.
Modelmydiet.com
Это сайт, работающий в браузерном режиме, который был создан одноименной компанией. Основная цель сервиса – визуализировать параметры человека, чтобы он смог увидеть свое тело со стороны и начать вести здоровый образ жизни. Сейчас у сайта уже более 10 миллионов пользователей из двух сотен стран.
Чтобы начать работу с сервисом, вам нужно ввести три главных параметра – свой вес, рост и тип телосложения (груша – для узких плеч и широких бедер, песочные часы – для широких бедер и большой груди в сочетании с тонкой талией, яблоко – для круглой формы). На экране отобразится виртуальная модель вашего тела, которую вы сможете эстетически откорректировать по своему вкусу. Доступно изменение цвета кожи и волос, прическа, форма лица, рта и глаз. Задав точные настройки, вы сможете буквально «слепить» самого себя! Экспериментируйте с разными образами, и у вас получится очень узнаваемая модель.
Правда, в бесплатной версии количество настроек ограничено. Чтобы получить доступ к большему количеству параметров, вам потребуется приобрести лицензию.
Model My Diet Inc. — это независимая компания, созданная для того, чтобы помогать своим пользователям контролировать и сбрасывать лишний вес с помощью бесплатного визуализатора Modelmydiet.com. Более 10 миллионов человек из 223 стран уже создали собственные модели.
Разработчики сайта также создали и мобильное приложение – эффективнее всего будет работать с ними комплексно. Так вы сможете спрогнозировать изменения своего тела и получите дополнительную мотивацию для поддержания диеты и регулярных тренировок.
Bodywhat.com
Это еще один сайт, где вы сможете увидеть свое тело со стороны и поставить себе цель по его изменению. Перед тем, как начать работу, вам потребуется сделать свою фотографию и загрузить на сервис.
Получив снимок, сайт проанализирует его и автоматически сравнит с телами лучших спортсменов и бодибилдеров мира. На основании этих данных сервис расскажет вам о:
Но мы должны предупредить вас, что этот сайт и его система работы подойдет далеко не всем. Если у вас есть проблемы с самооценкой или расстройства пищевого поведения, то сравнения с другими людьми и субъективная оценка вашей сексуальности может только навредить, а не придать дополнительной мотивации для работы над собой.
3 визуализатора тела по указанным параметрам для мужчин и женщин
Вы когда-нибудь задумывались о том, как будете выглядеть с добавлением пары килограммов мышц? Или если бы вы были более подтянутой или более толстой версией себя? У Bodywhat имеется визуализатор тела, названный Bodywhat Morphing. Вам обязательно следует его попробовать.
А потом посмотрите на себя со стороны и подумайте: хватит ли у вас мотивации, чтобы достичь таких результатов. С помощью приложения Model My Diet для iPhone, которое недавно получило обновление, можно визуализировать этот непростой путь к здоровому телу путём добавления всего одного фото. Они останутся приватными, а вы сможете сравнить, с чего начинали и как изменились.
Body Visualizer
Абсолютно бесплатный сервис Body Visualizer разработан Институтом вычислительных систем Макса Планка в Германии. Он был создан для того, чтобы каждый желающий мог оценить свою физическую форму. Большинство параметров анализатор вычисляет на основе статистических данных, достаточно лишь ввести два ключевых показателя: рост и вес. После этого показывается трёхмерная модель с указанными параметрами, причём конституция тела определяется довольно точно.
Передвигая в нижней части страницы ползунок Exercise, можно увидеть, как преобразится тело после регулярных тренировок в тренажёрном зале: чем больше часов нагрузки, тем более худым и мускулистым оно станет. Эти изменения тоже появятся на макете, расположенном в левой части экрана.
Сервис устроен очень просто, достаточно выставить свои параметры с помощью нескольких ползунков:
Inseam — шаговый шов брюк. Измерьте свой внутренний шов от промежности до пола. Ваша промежность — это самая верхняя внутренняя точка ноги. Exercise — интенсивность нагрузок, который измеряется в часах в неделю. По умолчанию стоит значение 2, его можно уменьшить или увеличить.
Важно! Когда будете снимать мерки, расслабьтесь: мышцы не должны быть напряжены. Замеряя талию, максимально выдохните. Измеряя объём бёдер, делайте это в самом широком их месте.
По умолчанию все величины приводятся в дюймах, но можно переключиться на более привычную метрическую систему (в сантиметрах), нажав кнопку Switch Units в нижней части экрана. Регуляторы имеют английские названия, есть возможность переключиться на немецкий язык. Хотя русский язык не поддерживается, можно перевести страницу с помощью встроенной функции в браузер Google Chrome. Для этого кликните правой кнопкой мыши и выберите в контекстном меню пункт «Перевести страницу».
Поскольку телосложение у мужчин и женщин разное, для них есть два отдельных модулятора. Переключение между ними происходит с помощью кнопки Switch to female (с мужчины на женщину и наоборот).
Обнуляется модулятор кнопкой RESET ALL MEASUREMENTS: она сбросит все ранее выставленные значения, и можно начинать процесс заново.
Modelmydiet.com
Model My Diet Inc. — это независимая компания, созданная для того, чтобы помогать своим пользователям контролировать и сбрасывать лишний вес с помощью бесплатного визуализатора Modelmydiet.com. Более 10 миллионов человек из 223 стран уже создали собственные модели.
Узнайте, как может измениться ваш облик! Для этого введите свой рост, вес и выберите форму тела (груша, яблоко, песочные часы). Виртуальная модель появится на экране с указанными габаритами. Ее можно сделать более похожей на оригинал: придав нужный цвет или оттенок коже и волосам, сформировав причёску, форму носа, глаз и рта, вы получите мини-версию самих себя!
Для этого задействуйте кнопку More Options: 12 стилей причёсок с 6 разными оттенками цвета волос станут доступны после покупки лицензии. Эти волосы даже будут расти так же, как настоящие. Персонализируйте свою модель, экспериментируйте с разными опциями, чтобы она выглядела максимально похожей на вас.
У сервиса имеется собственное мобильное приложение, которое показывает ваши персональные тенденции в похудении. Функция графика позволяет прогнозировать, что вас ждёт с таким темпом в будущем и каких целей вы можете добиться в ближайшее время.
Bodywhat.com
Сервис Bodywhat помогает отслеживать состояние тела и достигать поставленных целей. Перед тем как начать, нужно сделать всего одно фото.
Bodywhat начинался как эксперимент в рамках технологии компьютерного зрения, целью которого было узнать, сколько информации о здоровье человека можно получить из одной фотографии. Это детище Чарльза Лэброя, 25-летнего учёного в области больших данных родом из Франции, и Максима Лонна, 23-летнего бизнесмена и фитнес-энтузиаста. Bodywhat собирает информацию, сортирует её и использует технологии, такие как компьютерное зрение и байесовская статистика.
Хотите узнать, как ваше тело выглядит по сравнению с телом чемпиона мира по бодибилдингу? Благодаря искусственному интеллекту Bodywhat может рассказать массу любопытных вещей о вас, сравнивая с тысячами других тел, например:
Сравнивайте себя с другими и отслеживайте свой прогресс. А захотите проверить свои параметры до и после изменений, Bodywhat сделает и это!
Детектирование частей тела с помощью глубоких нейронных сетей
Сегодня я расскажу вам про один из методов решения задачи pose estimation. Задача состоит в детектировании частей тела на фотографиях, а метод называется DeepPose. Этот алгоритм был предложен ребятами из гугла еще в 2014 году. Казалось бы, не так давно, но не для области глубокого обучения. С тех пор появилось много новых и более продвинутых решений, но для полного понимания необходимо знакомство с истоками.
Обзор задачи
Давайте сначала вкратце про постановку задачи. У вас есть фотографии, на которых присутствует человек (один или несколько), и хочется на этих фото разметить части тела. То есть сказать, где находятся руки, ноги, голова и так далее.
Где бы такая разметка могла пригодиться? Первое же, что приходит на ум, это видеоигры. Можно играть в свою любимую RPG, размахивая виртуальным мечом, а не кликая мышкой. Для этого достаточно уметь лишь распознавать движения ваших рук.
Конечно, есть и куда более практичные применения. Например, отслеживание того, как покупатели в магазине кладут товары себе в корзину, а иногда ставят обратно на полочку. Тогда можно автоматически отслеживать, что купил посетитель, и необходимость в кассах исчезнет. Amazon уже реализовал эту идею в своих магазинах AmazonGo.
Думаю, приведенные примеры использования уже достаточно интересны, чтобы взяться за решение задачи. Однако, если у вас есть оригинальные идеи того, где еще можно применить рассмотренные концепты, смело пишите их в комментариях.
Обзор классики
Как решать эту задачу без нейронных сетей? Можно представить скелет человека в виде графа, где вершинами будут суставы, а ребрами — кости. А дальше придумать какую-нибудь математическую модель, которая будет описывать вероятность появления того или иного сустава в конкретном месте изображения, а также будет учитывать, насколько реалистично эти суставы расположены по отношению друг к другу. Например, чтобы ваша левая пятка не находилась на вашем же правом плече. Хотя, не исключаю того, что есть способные на это люди.
Один из вариантов такой мат. модели реализован во фреймворке pictorial structures model еще в 1973 году.
Но можно подойти к решению задачи и менее хитрым способом. Когда нам дают новую картинку, давайте просто искать в нашем исходном наборе размеченных картинок похожую и выдавать ее разметку. Если у нас изначально будет не очень много различных поз людей, то этот метод вряд ли взлетит, но, согласитесь, реализовать его не представляет труда. Для поиска похожих картинок тут обычно используют классические методы извлечения фич из области обработки изображений: HOG, дескриптор Фурье, SIFT и другие.
Есть и другие классические подходы, но здесь я не буду на них останавливаться и перейду к основной части поста.
Новый подход
Общая идея
Как вы уже могли догадаться, авторы статьи DeepPose (Alexander Toshev, Christian Szegedy) предложили своё решение с использованием глубоких нейронных сетей. Они решили рассмотреть эту задачу как задачу регрессии. То есть, для каждого сустава на фотографии нужно определить его координаты.
Предобработка данных
Далее я продолжу описание модели на более формальном языке. Но для этого необходимо ввести некоторые обозначения. Для удобства буду придерживаться нотаций авторов.
Обозначим входное изображение как , а вектор позы как
, где
содержит координаты
-го сустава. То есть мы сейчас представляем скелет человека графом из
вершин. Тогда размеченное изображение будет обозначаться как
, где
— наш тренировочный датасет.
Обозначим bounding box с центром в точке , шириной
и высотой
тройкой чисел
.
Тогда нормализованный вектор позы относительно области
можно записать так
То есть мы вычли из всех координат центр нужной области, а затем поделили -координату на ширину прямоугольника, а
-координату на высоту. Теперь все координаты стали лежать в интервале от
до
включительно.
Наконец, за обозначим обрезание исходной картинки
ограничивающей областью
. Тривиальный бокс, который равен исходной картинке, обозначим за
.
Если мы теперь возьмем функцию (
— входное изображение,
— параметры модели,
— количество определяемых суставов), которая по
выдает нормализованный вектор позы, то вектор позы в исходных координатах
.
В качестве функции у нас выступает нейронная сеть, веса которой описываются
. То есть мы подаем на вход трехканальное изображение фиксированного размера, а получаем на выходе
пар координат суставов:
Казалось бы, уже на данном этапе мы можем взять какую-нибудь глубокую нейронную сеть (например, AlexNet, которая отлично себя показала на задаче классификации изображений, выиграв соревнование ImageNet в 2012 году), и обучить ее регрессии. Найдем такие параметры модели, чтобы минимизировать сумму квадратов отклонений предсказанных координат от истинных. То есть идеальные параметры . Таким образом, мы пытаемся восстановить исходные координаты суставов независимо друг от друга.
Каскад сетей
Однако, поскольку на вход нейронная сеть принимает картинку фиксированного размера (а именно, пикселей), часть информации теряется, если картинка изначально была в лучшем разрешении. Поэтому у модели нет возможности проанализировать все мелкие детали изображения. Модель “видит” всё в крупном масштабе и может попытаться восстановить позу лишь приблизительно.
Можно было бы просто увеличить размер входа, однако вместе с этим пришлось бы увеличить и без того немаленькое число параметров внутри сетки. Напомню, что классическая архитектура AlexNet содержит более 60 миллионов параметров! Версия модели, описанная в этой статье, — более 40 миллионов.
Компромиссом в желании подавать на вход картинку в хорошем разрешении и в необходимости сохранить адекватное число параметров стало использование каскада нейронных сетей. Что это значит? Сначала по исходной картинке, сжатой до пикселей, предсказываются приблизительные координаты суставов, а каждая последующая нейронная сеть уточняет эти координаты уже по новой картинке. Эта новая картинка — не что иное, как некоторая нужная часть предыдущей (та самая ограничивающая область вокруг предсказаний с предыдущего этапа), тоже приведенная к размеру
.
Благодаря такому способу, последовательность моделей с каждым шагом наблюдает картинки все более высокого разрешения, что позволяет модели сосредоточиться на мелких деталях и поднять качество предсказаний.
Авторы используют одну и ту же архитектуру сети на каждом этапе (всего этапов ), однако обучают их отдельно. Давайте обозначим параметры сети на этапе
за
, а саму модель, предсказывающую координаты суставов, за
.
На начальном этапе () мы используем ограничивающую область
(исходную картинку полностью) для предсказания приблизительных координат суставов:
Далее, на каждой новой итерации () и для каждого сустава
мы уточняем его координаты
с помощью модели
:
Генерация данных
И уже теперь мы могли бы приступить к обучению такой модели, если бы не одно но. Обучение сложной нейронной сети, а тем более каскада сетей, требует большого количества сэмплов (размеченных изображений, в нашем случае). Например, AlexNet обучали на ImageNet-е, который состоит из 15 миллионов размеченных картинок размером . Но даже такой датасет Алекс и его команда увеличивали более чем в 2048 раз, путем выбора случайных подызображений меньшего размера и их зеркальных отображений.
Чтобы в рассматриваемой задаче небольшой размер датасета не стал серьезной проблемой, важно было придумать хороший способ аугментирования данных, который бы подошел для каскада сетей.
Однако и тут авторы нашли довольно изящное решение. Вместо того, чтобы использовать предсказания координат суставов только с предыдущего этапа, они предложили генерировать эти координаты самостоятельно. Это можно сделать, сместив координаты -го сустава на вектор, сгенерированный из двумерного нормального распределения
со средним и дисперсией, равными среднему значению и дисперсии наблюдаемых отклонений
от
по всем примерам из тренировочной выборки.
Таким образом, мы моделируем работу предыдущих слоев на якобы новых картинках. Классная особенность этого метода заключается в том, что мы не ограничены сверху каким-то фиксированным количеством изображений, которые мы можем сгенерировать. Однако же, если их будет очень много, то они будут сильно похожи друг на друга, а следовательно, это перестанет приносить пользу.
Датасеты
Для задачи pose estimation существуют два известных открытых датасета, которые исследователи часто используют в своих научных работах:
Frames Labeled In Cinema (FLIC)
Название этого датасета говорит само за себя. Он представляет собой 5000 аннотированных кадров из различных фильмов. Для каждой картинки нужно предсказать координаты 10 суставов.
Leeds Sports Pose Dataset (LSP)
Этот датасет состоит из фотографий людей, занимающихся спортом. Однако, не по всем фотографиям у вас сложится о нем правильное представление:
Но это скорее исключения, а типичные примеры с разметкой выглядят так:
Этот датасет содержит уже 12000 изображений. От FLIC он отличается тем, что здесь нужно предсказывать координаты 14 точек вместо 10.
Метрики
Последнее, с чем нам осталось разобраться, это понять, как оценивать качество полученной разметки. Авторы статьи в своей работе использовали сразу две метрики.
Percentage of Correct Parts (PCP)
Это процент корректно распознанных частей тела. Под частью тела подразумевается пара суставов, которые соединены между собой. Мы считаем, что корректно распознали часть тела, если расстояние между предсказанными и реальными координатами двух суставов не превышает половину ее длины. Как следствие, при одной и той же ошибке результат детекции будет зависеть от расстояния между суставами. Но, несмотря на этот недостаток, метрика является довольно популярной.
Percent of Detected Joints (PDJ)
Для компенсации минусов первой метрики, авторы приняли решение использовать еще одну. Вместо того, чтобы считать количество правильно распознанных частей тела, было решено смотреть на количество корректно предсказанных суставов. Это избавляет нас от зависимости от размеров частей тела. Сустав считается корректно распознанным, если расстояние между предсказанными и реальными координатами не превышает значения, зависящего от размера тела на картинке.
Эксперимент
Напомню, что вышеописанная модель состоит из этапов. Однако, мы пока так и не уточнили, как выбирается эта константа. Чтобы подобрать хорошие значения для этого и других гиперпараметров, в статье было взято 50 картинок из обоих датасетов в качестве валидационной выборки. Так авторы остановились на трех этапах (
). То есть по начальному изображению мы получаем первое приближение позы, а затем дважды делаем уточнение координат.
Начиная со второго этапа, было сгенерировано по 40 изображений для каждого сустава из реального примера. Например, таким образом для LCP датасета (где предсказываем 14 различных суставов), с учетом зеркальных отображений, получается миллионов примеров! Еще стоит отметить, что для FLIC в качестве исходного bounding box
использовались ограничительные прямоугольники, полученные детектирующим человека алгоритмом. Это позволяло заранее отсекать ненужные части изображения.
Первая нейросеть в каскаде обучалась приблизительно на 100 машинах в течение 3 дней. Однако утверждается, что точность, достаточно близкая к максимальной, была достигнута уже за первые 12 часов. Каждая из моделей на следующих этапах обучалась уже по 7 дней, поскольку работала с датасетом, который в 40 раз превосходил по размеру оригинальный.
Результаты
Далее на графиках можно увидеть точность распознавания кистей и локтей на разных этапах модели. По оси — значение трешхолда в метрике PDJ (если разность предсказанных и настоящих координат меньше трешхолда, считаем, что сустав определен верно). Из графиков видно, что дополнительные этапы дают существенное улучшение точности.
Интересно также посмотреть, как уточняет координаты каждая последующая нейронная сеть. На изображениях ниже зеленым цветом нарисована истинная поза, а красным — поза, предсказанная моделью.
Еще приведу сравнения результатов данной модели с другими пятью state-of-the-art алгоритмами того времени.
Выводы
На мой взгляд, из интересного в этой работе можно выделить способ построения модели, где путем последовательного соединения нескольких нейронных сетей одинаковой архитектуры получилось неплохо увеличить точность. А также метод генерации дополнительных примеров с целью расширения тренировочного датасета. Считаю, что задумываться над вторым стоит всегда, когда вы работаете с ограниченным набором данных. И чем больше способов аугментации вы знаете, тем проще придете к нужному именно вам.