roboforum.ru

Технический форум по робототехнике.

KINECT

Re: KINECT

Сообщение Madf » 04 мар 2014, 13:03

Если тема вам интересна и есть желание просто поделиться с народом - выкладывайте. )
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: KINECT

Сообщение Myp » 04 мар 2014, 13:52

виндовс версия вроде бы как фокусируется на более близком расстоянии
и более мелкие предметы можно сканировать
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: KINECT

Сообщение lorry » 04 мар 2014, 14:23

ОК
Начну публиковать
:D
Аватара пользователя
lorry
 
Сообщения: 448
Зарегистрирован: 04 фев 2014, 13:53
Откуда: Комсомольск-на-Амуре
прог. языки: машинные коды
ФИО: Иван Иваныч

Re: KINECT

Сообщение Scorpio » 12 мар 2014, 00:19

Похоже скоро кинект встроят в смарты.
Аватара пользователя
Scorpio
 
Сообщения: 2683
Зарегистрирован: 30 сен 2008, 18:49
Откуда: Где-то в Латинской Америке

Re: KINECT

Сообщение lorry » 12 мар 2014, 01:07

Наконец нашел время, приступаю понемногу публиковать.
Начну с того, что из себя собственно представляет KINECT
Microsoft-Kinect-1-468x205.jpg

Это устройство оснащенное несколькими датчиками
IC584396.png

1. IR Emitter - это не что иное как инфракрасная пушка излучающая структурированный ИК свет - сетку. Структурированный, это значит что на объекты проецируется неповторимая сетка ИК излучения.
2. IR Depth Sensor - это ИК датчик для приема отраженного от объектов структурированного света излучаемого ИК пушкой.
Так выглядит структурированный свет излучаемый сенсором:
Kinect2-ir-image.png

Карта глубины, используется для отображения глубины сцены: цветовой градиент от белого (ближе) до синего (дальше):
Kinect2-deepmap.png

3. Color Sensor - это обычная цветная камера разрешением 640*480
4. Microphone Array - четыре направленных микрофона прослушивающих пространство перед сенсором и могущих локализовать звук.
5. Tilt Motor - эл.двигатель в основании сенсора для поворота сенсора в вертикальной плоскости.
6. Еще сенсор оснащен датчиком наклона для детектирования положения.
В корпусе сенсора стоит плата электроники, которая отвечает за прием данных от датчиков, первичную обработку полученных данных, формирования потоков данных в компьютер или приставку XBOX. На плате электроники установлен чип с нейросетью, обученной на распознавание фигуры и лица человека, так что все основные операции реализованы и выполняются на аппаратном уровне и совсем не занимают процессорного времени от компьютера.
ИК датчик KINECT это не просто дальномер. Обычный дальномер формирует данные содержащие информацию о расстоянии до одной единственной точки объекта находящийся перед датчиком. ИК камера Kinect формирует облако таких точек позволяющее построить трехмерную картинку сцены перед сенсором. Дальность работы ИК сенсора от 0,8 до 6,0 метров. На выходе получаем карту глубины с частотой до 30 кадров в секунду.
Видео камера передает поток видео кадров с частотой 30 кадров в секунду.
Вот такие основные датчики и устройства находятся на боту нашего Kinect-а.
Продолжение следует.
Последний раз редактировалось lorry 01 май 2014, 08:30, всего редактировалось 9 раз(а).
Аватара пользователя
lorry
 
Сообщения: 448
Зарегистрирован: 04 фев 2014, 13:53
Откуда: Комсомольск-на-Амуре
прог. языки: машинные коды
ФИО: Иван Иваныч

Re: KINECT

Сообщение Scorpio » 12 мар 2014, 02:31

Начало интересное. :good: Я так понимаю, глубина определяется анализом размера ИК точек на картинке, считанной ИК камерой. И это делает сам сенсор. А передает он уже кадр глубины. И при желании может наложить его на изображение, полученное с VGA камеры. Что известно о протоколе передачи данных? А второго сервомотора для регулировки положения по вертикали разве нет?
Аватара пользователя
Scorpio
 
Сообщения: 2683
Зарегистрирован: 30 сен 2008, 18:49
Откуда: Где-то в Латинской Америке

Re: KINECT

Сообщение lorry » 12 мар 2014, 05:32

Scorpio писал(а):Начало интересное. :good: Я так понимаю, глубина определяется анализом размера ИК точек на картинке, считанной ИК камерой. И это делает сам сенсор. А передает он уже кадр глубины. И при желании может наложить его на изображение, полученное с VGA камеры. Что известно о протоколе передачи данных? А второго сервомотора для регулировки положения по вертикали разве нет?


Вы совершенно правы. Структурированный свет (или попросту сетка) накладывается на объекты перед сенсором, а ИК камера считывает и, в том числе по размерам точек (узлов сетки), определяет расстояние до объектов. На выходе мы имеем кадр глубины.
В сам протокол передачи влезть нельзя, но мы имеем полный доступ к кадру сцены, и к каждой точке глубины этого кадра. Каждый пиксель которого представляет из себя двухбайтовое слово, содержащее информацию о расстоянии (в условных единицах, которые можно перевести в миллиметры, сантиметры, дюймы и т.п.) от сенсора до конкретной точки сцены, а так же информацию о том принадлежит ли данная точка человеку находящемуся в поле зрения сенсора или нет. Таким образом используя сенсор как датчик расстояния мы получаем не просто расстояние от датчика до какой то, единственной, точки впереди (как это делают обычные ИК датчики), а имеем целый кадр из таких точек размером 640 на 480 пикселей, и к каждому пикселю имеем доступ, а вот что с этими данными делать уже решать нам. Но об этом дальше.
Scorpio, я ошибся :sorry: , имеется только двигатель для поворота в вертикальной плоскости, в горизонтальной можно только вручную повернуть. (ошибку уже исправил).
Последний раз редактировалось lorry 01 май 2014, 08:32, всего редактировалось 4 раз(а).
Аватара пользователя
lorry
 
Сообщения: 448
Зарегистрирован: 04 фев 2014, 13:53
Откуда: Комсомольск-на-Амуре
прог. языки: машинные коды
ФИО: Иван Иваныч

Re: KINECT

Сообщение lorry » 12 мар 2014, 13:35

Продолжим.
Итак, мы выяснили что KINECT может выдавать нам три потока данных с которыми мы можем управляться так как нам угодно. Но это не совсем все. Кроме потока видео, аудио и глубины сенсор способен передать нам еще и поток скелетонов. Это упрощенная фигура человека (или людей) которые находятся в поле сцены сенсора.
Процесс детектирования скелетонов выглядит примерно так:
1. картинка с видео-камеры сенсора -
0335376.jpg

2. картинка с картой глубины от IR-камеры сенсора -
1934746.jpg

3. ну и собственно то, что я получил на выходе - два человека стоят перед сенсором, KINECT возвращает скелетоны и мы отрисовываем их в окне. Самое главное это то, что известны координаты всех узлов (суставов), таким образом можно четко детектировать движения и жесты человека, и жестами управлять роботом. Кстати, эту функцию можно применять и не только в робототехнике. Это как SmartTV с управлением жестами! там конечно не кинект, но идея та же, можно сделать устройство которым управлять при помощи жестов.
s7471359.jpg
s7471359.jpg (7.05 КиБ) Просмотров: 3828

Дальше будем разбираться с подключением KINECT с C++.
Аватара пользователя
lorry
 
Сообщения: 448
Зарегистрирован: 04 фев 2014, 13:53
Откуда: Комсомольск-на-Амуре
прог. языки: машинные коды
ФИО: Иван Иваныч

Re: KINECT

Сообщение AndreiSk » 12 мар 2014, 20:45

Мну интересует следующее. Как изменится картинка от ик сенсора при изменении освещения.
Ну другими словами, картинка в темноте и на свету (скажем под обычными вольфрамовыми лампами, несколько по 60-100ватт, ну как в люстре). Картинки отличаются? Просто пощелкайте выключателем и сравните.
Аватара пользователя
AndreiSk
 
Сообщения: 2639
Зарегистрирован: 23 апр 2009, 17:03
Откуда: Москва, Самара
прог. языки: C#

Re: KINECT

Сообщение lorry » 12 мар 2014, 23:21

AndreiSk писал(а):Мну интересует следующее. Как изменится картинка от ик сенсора при изменении освещения.
Ну другими словами, картинка в темноте и на свету (скажем под обычными вольфрамовыми лампами, несколько по 60-100ватт, ну как в люстре). Картинки отличаются? Просто пощелкайте выключателем и сравните.

Ну, а как вы думаете сами? Для инфракрасного излучения имеет разница какая лампочка горит, 60 Ватт или 100? Да хоть 1000 Ватт! ИК излучение на то и "излучение", что само дает свой собственный свет. Только этот свет не видим для человеческого глаза. К примеру, вы ведь можете включить телевизор или управлять вашим музыкальным центром при помощи пульта в полной темноте? или при самой яркой лампе? Конечно можете! Здесь тот же самый принцип.
Эксперименты с выключением света делали, вывод таков: сенсор видит в абсолютной темноте, но это и не удивительно, сенсор сканирует инфракрасным излучением.
Вот скрин, картинка сделана в полной темноте, как видно сенсор видит не только предметы интерьера, но и находит человека.
7452942.jpg

Так что робот на основе данного сенсора будет ориентироваться в помещении и без освещения, более того он еще и человека в полном мраке обнаружит.
Вот так!
ТЕРМИНАТОРЫ наступают! :x
скайнет не за горами! :)
А вот цветная камера сенсора в темноте ничего не видит. Хотя, у камеры есть возможность включить IR mode, при такой установке камера переключается в ИК режим, а ИК пушка сенсора будет работать как прожектор ИК излучения, при этом камера начинает видеть в темноте, правда картинка черно-белая, и дальность не большая (думаю, что если поставить прожектор мощнее, то и видимость быть дальше), собственно говоря это то же что и в системах видеонаблюдения - ночью используются прожекторы ИК подсветки.
Последний раз редактировалось lorry 01 май 2014, 08:34, всего редактировалось 8 раз(а).
Аватара пользователя
lorry
 
Сообщения: 448
Зарегистрирован: 04 фев 2014, 13:53
Откуда: Комсомольск-на-Амуре
прог. языки: машинные коды
ФИО: Иван Иваныч

Re: KINECT

Сообщение AndreiSk » 13 мар 2014, 00:00

Все же хотел чтобы вы проверили, я как бы не зря интересуюсь.
http://ru.wikipedia.org/wiki/%D0%9B%D0% ... 0%B8%D1%8F

"Почти вся подаваемая в лампу [накаливания] энергия превращается в излучение. Потери за счёт теплопроводности и конвекции малы. Человеческий глаз, однако, видит только узкий диапазон длин волн этого излучения — диапазон видимого излучения. Основная мощность потока излучения лежит в невидимом инфракрасном диапазоне и воспринимается в виде тепла. Коэффициент полезного действия (КПД) ламп накаливания (здесь под КПД понимается отношение мощности видимого излучения к полной мощности) достигает при температуре около 3400 K своего максимального значения 15 %."
Грубо говоря, 85% и больше энергии (скажем 200-300ватт) идет в ИК.
Видит ли сенсор сетку от слабенького ИК диода (пусть даже и лазерного).
Ну пощелкайте, что вам стоит... :)
Я где то читал что кинект не видит ничего на ярком солнечном свету...
Аватара пользователя
AndreiSk
 
Сообщения: 2639
Зарегистрирован: 23 апр 2009, 17:03
Откуда: Москва, Самара
прог. языки: C#

Re: KINECT

Сообщение lorry » 13 мар 2014, 00:41

AndreiSk, я ведь уже ответил, в предыдущем посте, на ваш вопрос по поводу выключения света. Прочитаете его внимательнее.
На счет перехода электрической энергии в тепловую скажу так: С кинектом никаких проблем при искусственном освещении нет. Я думаю, что диапазон излучения лампы накаливания и ИК пушки кинекта все же разный, да и природа излучения разная.
По поводу яркого солнечного света сказать ничего не могу, кинект в сторону солнца не направляли, но в общем случае это и бессмысленно. Дело в том, что устройство предназначено для работы в помещении, в помещении естественный солнечный свет не так ярок как на улице, а при любой яркости искусственного освещения кинект у нас замечательно работал.
Уверяю вас, никаких проблем нет. Иначе Microsoft со своим XBOX360 никогда не попал бы в книгу рекордов Гинеса как самое продаваемое электронное устройство.
:)
Аватара пользователя
lorry
 
Сообщения: 448
Зарегистрирован: 04 фев 2014, 13:53
Откуда: Комсомольск-на-Амуре
прог. языки: машинные коды
ФИО: Иван Иваныч

Re: KINECT

Сообщение Myp » 13 мар 2014, 09:34

наврятли лампочка накаливания может дать больше ИК излучения чем солнце днём в окошко
<telepathmode>На вопросы отвечает Бригадир Телепатов!</telepathmode>
Всё уже придумано до нас!
Аватара пользователя
Myp
скрытый хозяин вселенной :)
 
Сообщения: 18018
Зарегистрирован: 18 сен 2006, 12:26
Откуда: Тверь по прозвищу Дверь
прог. языки: псевдокод =) сила в алгоритме!
ФИО: глубокоуважаемый Фёдор Анатольевич

Re: KINECT

Сообщение Madf » 13 мар 2014, 11:29

lori писал(а):Ну, а как вы думаете сами? Для инфракрасного излучения имеет разница какая лампочка горит, 60 Ватт или 100? Да хоть 1000 Ватт! ИК излучение на то и "излучение", что само дает свой собственный свет. Только этот свет не видим для человеческого глаза. К примеру, вы ведь можете включить телевизор или управлять вашим музыкальным центром при помощи пульта в полной темноте? Конечно можете! Здесь тот же самый принцип.

На самом деле, всё зависит от длины волны (на какой он работает). Занимался я как-то EyeTracking-ом, солнечный свет имеет широкий спектр, надо на нём экспериментировать.
Madf
 
Сообщения: 3298
Зарегистрирован: 03 янв 2012, 12:55
Откуда: Москва
прог. языки: VB6, BASCOM, ASM...

Re: KINECT

Сообщение avr123.nm.ru » 13 мар 2014, 13:55

lori писал(а): Microsoft со своим XBOX360 никогда не попал бы в книгу рекордов Гинеса как самое продаваемое электронное устройство. :)
Вы сами то в это верите?

вас и не просили в сторону солнца направлять, просили направить на освещенную солнцем сцену.
Читайте !
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва
Предупреждения: -8

Пред.След.

Вернуться в Сенсорика

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3