Гадаете, как современные фильмоделы умудряются делать таких страшных, но реалистично двигающихся монстров? Задумывались, может ли корявый алгоритм распознавания движений с камеры стать хоть чуточку надежнее? Российская наука говорит — да, это реально! Но как именно? Об этом мы расскажем в нашем новом материале!
Технология захвата движений (она же motion capture) активно применяется довольно долгое время.
Пока что ее применение ограничивается в основном развлекательной индустрией. С ее помощью делают анимации для персонажей в компьютерных играх, и, например, такие любимые многими мультфильмы и фильмы про нечисть и прочих сверхъестественных существ ( тот же Голлум из "Властелина колец" создан с помощью motion capture).
Авторы игр и фильмов не стесняются заходить еще дальше — использовать захват движений не только для создания хорошей картинки на экране, но и для управления внутри самой игры.
Правда, здесь разработчики сталкиваются с целым рядом ограничений, неудобств и просто подзадач, из-за которых захват движения пока что не смог заменить все остальные виды управления. Ключевая проблема — точность считывания движений, которую пока никому не удалось довести до уровня, который, позволил бы корректно считывать, например, мелкую моторику.
Со схожими проблемами сталкиваются и те разработчики, которые работают не над развлечениями, а над прикладными технологиями: помочь в быту инвалидам или создать интуитивно понятное управление для роботов, и много еще чего.
Возникает логичный вопрос — если основа для технологии уже есть, то как ее улучшить? Как сделать точнее, мощнее, проще, а главное — дешевле для всех?
В решении именно этой проблемы сделали важный шаг наши ученые из Тамбовского государственного технического университета. Сейчас расскажем, что же у них получилось.
Для начала технари проанализировали, какие методы захвата движений были уже разработаны, чтобы выбрать наиболее результативный.
Всего ученые таких систем насчитали пять:
Заметили общую для почти всех этих способов тенденцию? Все они, кроме одного, требуют большое количество оборудования, которое часто нужно надевать на человека или отслеживаемую технику.
Тамбовских ученых такой подход не вдохновил, поэтому они решили развить идеи с безмаркерными оптическими системами.
Определившись с методом, ученые придумали универсальный алгоритм, по которому камеры должны отслеживать движение конечностей человека.
Работа алгоритма была разбита на несколько этапов, базировалась на языке программирования Python, а также опиралась на программное обеспечение OpenCV и Matplotlib.
Первый из них — предварительная калибровка. Ее смысл заключается в создании первоначального пула фотографий объекта, который предполагается отслеживать. При этом снимки нужно сделать так, чтобы заранее выбранные точки в пространстве были максимально заметны. Это помогает правильно настроить камеру, чтобы потом она не глючила и не выдавала при отслеживании движений очевидную чушь.
Второй этап — реализация процедур обнаружения человека в кадре и расчет скелетных точек. На этом этапе камера вычисляет среди изображения объект, который нужно отслеживать, в нашем случае — тело человека. Важный нюанс этого этапа: объект не просто отображается целиком, а делится на составные части — то есть на «скелет» — чтобы отслеживание было как можно более подробным.
Третий этап — трехмерная реконструкция модели отслеживаемого объекта (тела человека). В отличие от второго этапа, машина не просто отображает перемещение различных точек в пространстве, а делает из них полноценную 3D-картинку, которая адекватно отображает все нюансы перемещения человека в кадре.
Благодаря математическим преобразованиям ученым удалось добиться высокой точности отслеживания движений — искажение составило всего несколько пикселей, что можно считать успехом.
В первую очередь, разработка тамбовских ученых поможет дальнейшему развитию робототехники. С помощью motion capture в перспективе можно будет создать новые способы управления роботами, которые не потребуют джойстиков, пультов и других физических инструментов, кроме камеры.
Захват движений также может помочь в исследованиях биометрии — как для аутентификации (проверки подлинности личности), так и для сбора самих данных (это будет возможно благодаря возможности делать 3D-модели).
В целом, плюсы данной технологии очевидны. Теперь осталось главное — пустить её в массовое производство. Пожелаем тамбовским технарям с этим удачи.