Kinect хакване Преводи
* Source text URL: http://idav.ucdavis.edu/~okreylos/ResDev/Kinect/Kinect е аксесоар за игра Xbox конзола на Microsoft. Той съдържа масив от микрофони, камера за активно наблюдение в дълбочина с помощта на структуриран светлина, и цветна камера. Kinect е предназначен да се използва като контролер без игрови контролер, проследяване на органа или органите, от един или повече играчи в областта на своята гледна.
Мотивацията за този проект беше да конвертирате Kinect в 3D камера чрез комбиниране на дълбочината и цветно изображение потоци, получени от устройството, и прожектирането им в 3D пространството по такъв начин, че реалните 3D обекти вътре в областта на камерите са пресъздадени виртуално, в техните собствени размери.
Kinect Сензори
Kinect съдържа обикновен фотоапарат цвят, изпращане на снимки на 640*480 пиксела 30 пъти в секунда. Той също така съдържа активно наблюдение дълбочина фотоапарат с помощта на структуриран подход светлина (с помощта на това, което изглежда да бъде инфрачервен лазер и масив микроогледала), който също изпраща изображения (дълбочина) 640*480 пиксела 30 пъти в секунда (макар че то се появява че не всеки пиксел се вземат проби на всеки кадър).
Какво прави Kinect Специална?
Важно е да се разбере разликата между 3D камери като Kinect, от една страна, редовни (2D) камери от друга страна, както и така наречените “3D камери” – всъщност, стереоскопични 2D камери – От трета страна (ох ).
Kinect – Редовен 2D камера
Всяка камера, 2D или по друг начин, действа чрез проектиране на 3D обекти (или хора), които можеш да се сетиш и колекции на 3D точки в 3D пространството, върху 2D равнина изображения (на снимката) по права линия преминава през камерата оптичен централната точка (обектива). Обикновено, след като 3D обекти се очаква да 2D равнина по този начин, че е невъзможно да се върна и да възстанови оригиналните 3D обекти. Докато всеки пиксел в 2D изображение определя линията от този пиксел през обектива обратно в 3D пространство, и,, докато оригиналната 3D точка, която генерира пиксел трябва да лежи някъде по тази линия, разстоянието, че 3D точка “пътувал” по своята линия се губи в проекция. Има подходи, за да прецени, че разстоянието за повече пиксели в изображението с помощта на множество изображения или добрата стара догадки, но те имат своите ограничения.
3D камера, като Kinect предоставя липсва малко информация, необходима за 3D реконструкция. За всеки 2D пиксел на изображението равнина, не само записите, които пиксела в цвят, т.е. цвета на оригиналната 3D точка, но също така, че разстоянието 3D точка по нейната проекция линия. Има множество технологии, за да усещат тази задълбочена информация, но подробностите не са наистина от значение. -Важната част е, че сега, знаейки проекция линия и на разстояние по това прожекционно линия на 2D пиксел, е възможно да се проектира всеки пиксел обратно в 3D пространство, което ефективно се възстановява първоначално заловен 3D обект (и). Тази реконструкция, която може да съдържа само едната страна на даден обект (пред камерата), създава така наречената фасада. Чрез комбиниране на фасади от различни калибрирани 3D камери, дори може да генерира по-пълни 3D реконструкции.
Kinect срещу така наречените “3D камера”
Съществуват стереоскопични камери на пазара, които обикновено са рекламирани като “3D камери. Това е донякъде подвеждащо. Стереоскопична камера, който обикновено може да бъде призната с две лещи, един до друг, не отразява 3D изображения, но по-скоро две 2D изображения от малко по-различни гледни точки. Ако тези две изображения са показани на зрителя, където ляво око на зрителя вижда на изображението заснето през лявото стъкло, и на правото око другия, мозъка на зрителя ще се слеят на т.нар. Чифт стерео с пълна 3D изображение. Основната разлика е, че реалната реконструкция на 3D не се случи в камерата, но в мозъка на зрителя. В резултат на изображения, заснети от тези камери са “фиксирани”. Тъй като те не са истински 3D, те могат да бъдат гледани от точния гледна точка, от която те първоначално са били взети. Real 3D снимки, от друга страна, могат да бъдат гледани от всяка гледна точка, тъй като това просто включва предоставяне на реконструирани 3D обекти, използващи различна перспектива.
Въпреки че е възможно да конвертирате стерео двойки в истински 3D изображения с помощта на подходи на компютърното зрение (т. нар. дълбочина от стерео методи), които не работят много добре на практика.
Цели на проекта
Целта на този проект е да се разработи софтуер, необходим, за да се свържете непроменен, на разстояние най-шелф, Kinect устройство на редовно компютър и да го използвате като 3D камера за разнообразие на 3D графики и виртуални приложения реалност. Софтуер се осъществява като набор от приложения, базирани на Vrui VR инструментариум, и освен това като vislet Vrui да се улесни с помощта на 3D видео поток, получен от Kinect с всички съществуващи приложения Vrui VR.
За проекта
Софтуерът е съставен на няколко класове опаковащите аспекти на основната libusb библиотека в един изключение-безопасно C + + рамкови класове капсулиране контрол на наклона на двигателя на Kinect, и цвят и камери дълбочина, и на клас капсулиране на операциите е необходимо да проектира повторно на комбиниран дълбочина и цвят видео потока в 3D пространството. Той също така съдържа няколко приложения за комунални услуги, в това число проста програма за калибриране.
Този софтуер е базиран на обратен инженеринг на работа Хектор Martin (marcan42 на Twitter и YouTube). Не съм ползвал кода си, но “магически заклинания”, които трябва да бъдат изпратени на Kinect, за да се позволи на камерите и да започнете стрийминг. Тези заклинания са от съществено значение, защото аз не притежавате Xbox себе си, така че не може да слухтя USB протокол. Благодаря Хектор!
Кодът Kinect водача и 3D код реконструкция са изцяло от нулата в C + +, с моята Vrui VR инструментариум за оказване на 3D управление и взаимодействие.
Страници в този раздел
Кино
Филми показващи 3D видео потоци от Kinect, както и начина, по който те могат да бъдат интегрирани в други 3D графика или VR софтуер.
Изтегляне
Страница за изтегляне на настоящите и няколко по-стари версии на Kinect проект 3D Video Capture, издадени под GNU General Public License.
