Pull to refresh

Comments 18

Очень интересно было бы посмотреть на подключение 4х сенсоров, ну и конечно хотелось бы увидеть в Ваших статьях ещё и Finger Tracking, или это будет включено в Skeletal Tracking?
Нет, в skeletal tracking этого не будет описано. Насколько я знаю, Finger Tracking не поставляется, что называется, из коробки, а реализуется сторонними библиотеками? В любом случае спасибо за комментарий, возможно если будет возможность поиграться с ним, то напишу статью.
Kinect for Windows SDK не поддерживает Finger Tracking.
UFO just landed and posted this here
А никто не подскажет, можно с помощью Кинекта (нескольких) строить 3х-мерную картинку пространства? Или, может, есть какие-то другие, возможно, более адекватные для этого средства?
В каком-то виде kinect может построить такую картинку с помощью IR камеры.
image
К сожалению, видимо, неточно выразился — меня интересует, есть ли какие-то примеры / проекты построения 3х мерной структуры с помощью кинекта (например с помощью от 2х до n кинектов строить 3х-мерную структуру, расположенную между ними?

И по картинке вопрос: яркость — это степень удалённости? А есть какие-то готовые схемы приведения координат? Ну понятно, что смещение в координатах — угловое, а с учётом дальности — точную точку пространства выловить можно?
Хм, честно не слышал о таких проектах.

В картинке не думаю, что просто удаленность, скорее всего еще какая-то обработка есть. По поводу приведения координат не совсем понял.
Приведение координат — грубо говоря по имеющемуся пикселу (я так понимаю что яркость сообщает об удалённости) вычислить координату (x,y,z) расстояния от кинекта.

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

Ну и потом было бы интересно проработать такую технологию — это может позволить реализовывать различные реал-3д игры ) Например интерактивный лабиринт способный взаимодействовать с посетителями с высокой точностью.

ps сорри, сейчас более точно выразить свои мысли не могу… завтра постраюсь выразить более точно… впрочем не уверен, что получится )
​Кажется понимаю о чём вы =). В следующей части (будет в понедельник) я расскажу о потоках данных, возможно станет чуточку яснее.
Если кратко, то у kinect каждый кадр инфракрасной камеры — это набор расстояний до объекта, т.е. пиксель в таком кадре характеризует не цвет, а расстояние до объекта в этой конкретной точке. И, чтобы, например, визуализировать такой кадр, вы вольны придать каждому расстоянию свой цвет и наслаждаться.
А по поводу построения 3D модели, идея интересная! Надо погуглить…
Высокая точность — это не про Kinect. Трехмерная картинка — пожалуйста, там как раз есть трехмерная система координат с расстояниями в метрах, а карта глубины дает облако точек, которое в каком-то роде уже 3d-модель. То есть худо-бедно построить модель можно.
Я работал в проекте, который отчасти занимался построением трехмерной модели человека, как можно более точно его описывающей, с помощью Kinect. Правда, только одного Kinect. Сложностей возникало немало: низкая точность, очевидно уменьшающаяся при удалении объектов, «тени», некоторые глюки в определении местоположения человека (стул принять за человека — как нечего делать), плюс сложность 3d-моделирования в принципе.
Ну точность больше 5ти сантиметров на начальном этапе и не обязательна (или он и такую не может обеспечить?).
Построение модели пространства — мне без разницы, человек там или не человек, по большому счёту мне вообще надо охватить объект и просто внести его в картину мира, ну и отслеживать (своим софтом) изменения объекта (например движение). Полагаться на автоматику кинекта в моей идее — вещь абсолютно не нужная (тем более, что кинект же вроде не сразу ловит человека? мне хотелось бы максимально быстро реагировать на появление нового объекта в картине).
Ну и один кинект для построения модели пространства — совершенно не вариант — нужно же учитывать, что за одним объектом может прятаться другой. 2-3 кинекта эту проблему решат хотя бы отчасти…
Точность 5 см — вполне обеспечивает :)
Человека кинект ловит достаточно быстро, если он движется. Может затупить в начале работы программы, когда человек неподвижен и ждет, пока программа запустится. И еще, что может быть вам полезно: kinectSDK определяет не только точки скелета человека, но и выделяет соответствующее ему облако точек на карте глубины. За это отвечает индексированная карта глубины (разрешение не более 320x240). Выделение в общем случае достаточно неплохое.
Было бы интересно увидеть реализацию вашей идеи :) Особенно интересны алгоритмы отслеживания изменений, определения положения человека и т.д.
Реализовать ещё не скоро могу… в ближайшие пару месяцев даже не планирую выделение средств на покупку кинектов для экспериментов… Ближе к новому году, возможно.
Структуру можно построить самому. В SDK где-то есть экзампл с RGB облаком точек.
Если память мне не изменяет, то в библиотеке PCL есть реализация kinfu(Kinect Fusion) для GPU, воторая умеет строить 3D модель пространства. Идея там в том, что множество облаков полученных с кинекта склеиваются во что-то типа 3D панорам(при помощи методов глобальной оптимизации каждое новое облако вписывается в уже существующую сцену).
Насчет «ИК датчика глубины»: насколько я знаю, строится не матрица расстояний до сенсора, а матрица глубины — расстояний до плоскости, параллельной сенсору, то есть по оси z трехмерной системы координат. Само собой, в процессе работы сенсора получаются именно расстояния, но в KinectSDK присутствует именно такая структура, как матрица глубины. Или я ошибаюсь?

Вы не собираетесь рассказывать в следующих частях о работе с несколькими Kinect-ами? Было бы интересно послушать об их взаимодействии, потому как одновременная работа нескольких сенсоров, подключенных к разным компьютерам, давала очень нехорошие шумы и искажения ( существенное снижение точности, большие «тени»). Интересно было бы узнать, есть ли аналогичная проблема при подключении к одному компьютеру и как с ней справляются.
Sign up to leave a comment.

Articles