Русский
Русский
English
Статистика
Реклама

Танцы

Зачем инженеру начинать танцевать танго

15.02.2021 22:09:28 | Автор: admin

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

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

Ключевое слово тут "социальное". Это не спорт (бывают спортивно-бальные танцы, в программу которых входит латина, и в её числе танго), не фитнес, не фольклорный кружок. Социальные танцы это хобби, которым занимаются миллионы людей во всём мире, и сейчас я вам расскажу, почему это идеальное занятие для аудитории Хабра: инженеров-разработчиков ПО, тестировщиков, SRE и прочих, кого ещё недавно снисходительно называли nerds и geeks (пока наши компании не стали получать миллиардные оценки, а мы сами - становиться миллионерами в те самые 30).

Ещё один важный признак социальных танцев они танцуются в парах, где есть роли ведущего и ведомого, leader и follower (вот во что, кстати, надо было переименовывать неполиткорректные master и slave). Пары эти формируются экспромтом: в танго есть понятие кабесео/мирада, когда потенциальные партнёры встречаются взглядами, кивают друг другу, партнёр подходит к партнёрше и приглашает её жестом на танцпол. В других социальных танцах наверное есть свои, более или менее формальные способы договориться о танце. Сами социальные танцы в значительной мере импровизационные, в них, конечно, есть отдельные фигуры и связки, но как именно и в каком порядке их компоновать ведущий в паре решает в процессе танца, исходя из музыки, своего настроения и наличия свободного места на танцполе.

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

Таким образом, типичная неделя ученика в группе социальных танцев состоит из двух групповых уроков по полтора часа и минимум трёх часов самостоятельной практики, без которой уроки практически не имеют смысла: на уроках мы только усваиваем материал, а для механического запоминания требуется его многократное повторение. Помимо уроков и практик вам придётся хотя бы минимально потратиться на одежду и обувь. Со временем вы захотите посещать более дорогие семинары и интенсивы и даже брать частные уроки (я со своим более чем десятилетним стажем продолжаю это делать регулярно), а также покупать или шить на заказ танцевальную "экипировку". Ради чего, спрашивается, такие вложения денег, и, что важнее, времени? И почему именно работникам сферы IT я так настойчиво рекомендую этим заниматься?

В первую очередь, социальные танцы это замечательный способ социализации (каламбур намеренный). На уроках и практиках, а также на милонгах (так называются танго-вечеринки), сальсатеках и вечеринках других танцев встречаются самые разные люди, с которыми вас будут объединять общие интересы, темы для бесед, и это прекрасно как для удовлетворения базовой потребности в общении, так и для заведения новых полезных контактов, а также, last but not least, знакомств с противоположным полом. Женщины в социальных танцах отрываются по полной по части платьев, обуви, причёсок и макияжа: всё, чего им иногда не хватает в повседневной жизни, они могут в полной мере воплотить на танцполе, поэтому с непривычки глаза разбегаются, а пульс учащается до легкой тахикардии. Ритуалы выбора партнёров и партнёрш изрядно напоминают аналогичные гендерные ритуалы флирта и соблазнения, а сам пятнадцатиминутный танец может выразить без слов множество эмоций и помогает узнать друг друга лучше, чем переписки в Тиндере или свидания в кофейнях. Впрочем, перейти от танца к непринуждённой беседе проще простого: напоминаю, работает бар!

Это снимок с настоящей московской милонги, взят с сайта LocalWayЭто снимок с настоящей московской милонги, взят с сайта LocalWay

(не прерывайте чтение на предыдущем абзаце, это не все ништяки социальных танцев!)

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

Я уже не говорю о том, что формирование новых нейронных связей гиперполезный для мозга, особенно с возрастом, процесс. Если вы не хотите к 40 превратиться в зануду-консерватора, бухтящего на распоясавшуюся со своими фонариками во дворе молодёжь, то ли дело в наше время! надо постоянно учиться чему-то новому, помогая мозгу и психике сохранять пластичность и лабильность. Учить что-то, что находится не просто за рамками ваших рабочих обязанностей и профессиональных интересов, а перпендикулярно им полезно стократ. Я со своим десятилетним стажем постоянно продолжаю учиться чему-то в танго, посещать семинары аргентинских маэстро, обмениваться новыми фишками с друзьями-тангерос, изучать музыку танго и немного учить испанский язык, чтобы лучше понимать тексты.

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

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

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

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

Во-вторых, в танго больше всего сложных эмоций и чувств. Нормой для танго является близкое объятие, когда корпуса партнёра и партнёрши плотно прижаты в районе груди. Мы фактически танцуем, обнявшись! Чувствовать микродвижения друг друга, деликатно касаться ступнями, слышать дыхание, замирать или срываться с места в унисон для меня бесценно. Ну и просто обниматься с другими людьми полезно для здоровья (да, есть научные исследования).

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

А это уже фото вашего непокорного слуги в эмоциональный момент танцаА это уже фото вашего непокорного слуги в эмоциональный момент танца

Лично для меня не последнюю роль играет такая штука, как танго-туризм. Аргентинское социальное танго так широко раскинулось по планете, что танцующие тусовки есть практически в любом крупном городе мира, кроме стран, где телесный контакт между малознакомыми людьми считается неэтичным или вообще запрещён. Отправляясь в любую поездку, я кидаю в сумку пару танцевальной обуви, и практически уверен, что если захочу пойти потанцевать без труда найду себе такую возможность, как это много раз бывало в Израиле, на Кипре, в Турции, Греции, Хорватии, Италии, Франции, Испании, Германии, Дании, США, да где только не бывало. До коронавируса по всему миру, и в том числе в России и Беларуси проводились танго-фестивали, включающие как просто милонги, так и мастер-классы маэстро мирового уровня. Это было отличным поводом выбрать место для очередного отпуска: и город посмотреть, и вечером всегда есть чем заняться. Питер, Нижний, Челябинск, Минск, Стамбул, Неаполь, Генуя, Барселона вот только некоторые места, где я посещал отличные эвенты и знакомился с классными людьми.

И напоследок: когда базовые движения затанцованы до автоматизма, а нужные группы мышц постоянно находятся в тонусе, требования к физической форме становятся не такими острыми, как в начале пути. В результате танго можно танцевать и в достаточно преклонном возрасте 60-70 лет, в отличие от остальных социальных танцев, где такое скорее исключение. На милонгах в Аргентине, где танго-культура наиболее жива и интегрирована в общество, не будет сюрпризом встретить танцоров 80 лет и даже старше. Просто посмотрите, как великий Карлос Гавито в почти 60 лет танцует с 35-летней Марселой Дюран под музыку Освальдо Пульезе. Это шоу стало одним из катализаторов моего прихода в танго, а мелодия до сих пор одна из самых любимых:

Теперь у вас, наверное, остался один вопрос: с чего начать свой путь в социальные танцы, как понять, моё это или нет? Если статья вызовет интерес я напишу продолжение об этом и многом другом, что встретится на пути социального танцора, а также поделюсь личным опытом. А пока вместо ссылки на продолжение ссылка на открытый урок, который пройдёт 19 февраля (пятница) в 20:00 в московской студии El Gato Tango в Армянском переулке, где я занимаюсь бльшую часть своей танго-жизни и которую, разумеется, от души рекомендую. Преподаватели расскажут об истории и современности танго, покажут танцевание в разных стилях и под разную музыку, а под конец поставят желающих в пары и покажут несколько простых движений в учебном объятии.

Подробнее..

Music2Dance как мы пытались научиться танцевать

19.05.2021 08:16:04 | Автор: admin

Всем привет! Меня зовут Владислав Мосин, я учусь на 4-м курсе бакалаврской программы Прикладная математика и информатика в Питерской Вышке. Прошлым летом вместе с Алиной Плешковой, магистранткой нашего факультета, я проходил стажировку в JetBrains Research. Мы работали над проектом Music2Dance, цель которого научиться генерировать танцевальные движения, подходящие под заданную музыку. Это может быть использовано, например, при самостоятельном обучении танцам: услышал музыку, запустил приложение, и оно показало движения, которые гармонично с этой музыкой сочетаются.

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

Из к/ф Криминальное чтивоИз к/ф Криминальное чтиво

Существующие подходы

Идея генерации танца по музыке довольно стара. Наверное, самый яркий пример это танцевальные симуляторы типа Dance Dance Revolution, где игрок должен наступать на светящиеся в такт музыке панели на полу, и таким образом создается некоторое подобие танца. Также красивый результат в этой области это создание танцующих геометрических фигур или 2D-человечков.

Cуществуют и более серьезные работы генерация 3D-движений для людей. Большинство таких подходов основываются исключительно на глубоком обучении. Лучшие результаты на лето 2020 года показывала архитектура DanceNet, и мы решили взять именно её в качестве бейзлайна. Дальше мы обсудим их подход подробнее.

Предобработка данных

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

Музыка: onset, beats, chroma

Наверное, самый распространенный способ извлечение фичей из аудио это подсчет спектрограммы или мелграммы преобразование звука из амплитудного домена в частотный при помощи преобразования Фурье. Однако, в нашей задаче мы работаем с музыкой, а не произвольным аудиосигналом, и низкоуровневый анализ в данном случае не подходит. Нас интересуют ритм и мелодия, поэтому мы будем извлекать onset, beats и chroma (начало ноты, ритм и настроение мелодии).

Видео: извлечение позы человека

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

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

Синим отмечены ключевые точкиСиним отмечены ключевые точки

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

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

Архитектура DanceNet

Архитектура DanceNet. Источник: https://arxiv.org/abs/2002.03761Архитектура DanceNet. Источник: https://arxiv.org/abs/2002.03761

Архитектура DanceNet cocтоит из нескольких основных частей:

  • Кодирование музыки;

  • Классификация музыки по стилю;

  • Кодирование кадров видео;

  • Предсказание следующего кадра по предыдущим и музыке;

  • Декодирование полученного кадра.

Рассмотрим немного подробнее каждую из частей:

  1. Кодирование музыки. Предобратанный аудиосигнал кодируется при помощи сверточной нейросети с Bi-LSTM слоем.

  2. Классификация музыки по стилю. Аналогично предыдущему пункту, сверточная нейросеть с Bi-LSTM слоем.

  3. Кодирование-декодирование кадра. Маленькая двухслойная сверточная сеть.

  4. Предсказание следующего кадра. Самая содержательная часть архитектуры, которая собственно и предсказывает следующую позу по предыдущим и музыке. Состоит из блоков из dilated (расширенных) сверток со скип-соединениями.

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

Наше решение

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

Архитектура решения. Эпоха тренировкиАрхитектура решения. Эпоха тренировки

Наше решение состоит из четырех основных частей:

  • Датасет

  • Модель для предсказания следующего положения (DanceNet)

  • Модель для исправления следующего положения положения (RL модель)

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

Датасет

Одним из главных вопросов при решении задач машинного обучения является выбор датасета. Для задачи генерации танца на лето 2020 года не было открытых датасетов хорошего качества, и авторы существующих решений собирали их самостоятельно. В статье, взятой нами за бейзлайн, серьезно подошли к вопросу данных и отсняли несколько часов танцев профессионалов. К сожалению, на просьбы поделиться датасетом исключительно на благо науки они ответили отказом. Так как без датасета жить совсем грустно, пришлось что-то придумывать. В итоге мы решили создать датасет из того, что нашлось под рукой: видео с YouTube и библиотеки для детектирования положения человека VIBE.

DanceNet

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

RL модель

Задача RL модели исправить положение тела так, чтобы оно выглядело более реалистичным. На вход модель принимает движение (для каждой точки разность между новым и старым положениями) и старое положение тела, на выход выдает исправленное новое положение.

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

Структура алгоритмов обучения с подкреплениемСтруктура алгоритмов обучения с подкреплением

В качестве алгоритмов обучения с подкреплением мы решили выбрать один алгоритм, использующий Q-Learning (наш выбор пал на TD3, как на наиболее стабильный и выразительный) и один не использующий (мы остановились на PPO).

Со средой всё оказалось не так просто, как с алгоритмами. По-хорошему, для этой задачи не существует идеально подходящей готовой среды, и ее нужно реализовывать самостоятельно. Однако писать среду, которая будет полностью корректна с точки зрения физики, довольно сложное и долгое занятие, требующее дополнительных знаний. В связи с этим мы решили воспользоваться готовой средой Humanoid, которая предназначена для того, чтобы научить агента передвигаться как можно быстрее и не падать.

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

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

L(S, S_{real},R)=-\parallel S-S{real} \parallel_2-R ,

где S положение, Sreal правильное положение, R награда среды.

Модель на фазе тестирования

Архитектура решения. Эпоха тестированияАрхитектура решения. Эпоха тестирования

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

Результаты

К сожалению, у нас не получилось впечатляющих результатов, таких как у авторов DanceNet. Наш агент научился генерировать некоторые танцевальные движения, например, вращение вокруг своей оси и плавные движения руками, однако, в полноценный танец они не складываются. Мы связываем это в первую очередь с разницей в качествах датасетов. К сожалению, нам не удалось собрать действительно качественные данные автоматическое извлечение положения из видео с YouTube существенно отличается по качеству в худшую сторону от ручной съемки профессиональных танцоров, и компенсировать это RL алгоритм не сумел.

Наш грустный танец. Спасибо за ваш интерес!


Другие материалы из нашего блога о стажировках:


Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru