Превратите любую веб-камеру в Microsoft Kinect


Для некоторых работ вам может даже не понадобиться камера глубины, такая как Kinect. Возьмите веб-камеру и Tensorflow, и вы сможете использовать ИИ для отслеживания скелетов — познакомьтесь с VNect.

Утрата Microsoft Kinect — удар для всех, кто хочет поэкспериментировать с трехмерным зрением, но ИИ развивается очень быстро. Существует ряд решений для отслеживания позы тела, которые используют только видеовход, но теперь очевидно, что достаточно легко создать свое собственное, используя порт недавно анонсированной нейронной сети — VNect — на Tensorflow.

Если учесть объем работы, затраченной на создание оригинального алгоритма скелетонизации Kinect, это знаменательный знак времени. Первоначальный алгоритм Kinect был основан не на нейронной сети, а на другом методе машинного обучения, называемом лесом деревьев — в основном множественные деревья решений. Конечно, алгоритм оригинала также работал с гораздо более чистыми данными в виде сигнала RGB и глубины с камеры. Кажется, что нейронная сеть может выполнять эту работу намного лучше и только с использованием RGB.

О VNect сообщили на прошлогодней (2017) конференции SIGRAPH, и приносим извинения за ее отсутствие командой из Института Макса Планка, Германия; Саарский университет, Германия, и Университет Рей Хуана Карлоса, Испания.

Вы можете увидеть эту систему в действии и узнать о ее конструкции в следующем видео:

Команда недавно улучшила VNect и создала дополнительное видео в реальном времени:

Модель нейронной сети с весами доступна для загрузки и встраивания в вашу собственную систему отслеживания тела. Если вы не хотите заниматься повторной реализацией сети, вы можете использовать неофициальный порт Тима Хо для TensorFlow, который доступен на GitHub. Это позволяет более или менее превратить любую недорогую веб-камеру в эквивалент Kinect в режиме отслеживания скелета.

И чтобы доказать, что это возможно, два программиста Ор Флейшер и Дрор Аялон объединили VNect с Unity, чтобы повеселиться:

Если вам нужно полное решение на C ++, взгляните на CMU Openpose. Это многопользовательская система в реальном времени, которая определяет ключевые точки тела, рук и лица. Он не выполняет ту же работу, что и решение нейронной сети, поскольку дает только координаты x, y ключевых точек на изображении, а не координаты x, y, z в реальном пространстве.

Оба являются полезными альтернативами, но камеры глубины предоставляют полные координаты x, y, z для каждой точки сцены, и иногда это именно то, что вам нужно, и ничего другого не подойдет.


Добавить комментарий