Мултитъч проект iBar. Модифициране на камерата.

от 31.01.2010 г. в /opensource

Всички неща, които са ми необходими за модифицирането на камерата и поръчах преди нова година, дойдоха. Време е да се захвана със същността. В интерес на истината, очаквах да е по-трудно и да прецакам нещо, но май успях :)

Какво точно и модифицираме?
Това, което трябва да направим с камерата за да върши работа за нашия проект, е да и махнем IR-блокиращия филтър и да и сложим такъв, който пропуска само IR. Понеже филтърът, който трябва да махнем е вграден в оптиката и има риск да я счупя, реших да сменя цялата оптика. Поръчах комплект от няколко лещи с различно фокусно разстояние, които смятам да използвам вместо вградената.

/images/ps3/P1080226.JPG

А ето и IR филтъра, който ще поставя между матрицата и оптиката

/images/ps3/P1080230.JPG

Имах известни проблеми с махането на капака на камерата, трябваше да използвам доста сила и леко го повредих и назъбих, но пластмасата ще я преглътна. Това са болтчетата, които държат оптиката.

/images/ps3/P1080248.JPG

Ето махнатата оригинална опитка и матрицата, върху която ще сложа новата.

/images/ps3/P1080250.JPG

Следва проблемът с държача (джаджата, която седи на платката и в която се завиват лещите). Оригиналният не върши работа, а да се намери такъв на разумна цена е мисия невъзможна. Не ми се дават $30+ за една малка пластмаска. Оказва се, че някои от най-евтините китайски уеб-камери използват същата джаджа и то с размер, който се предполага да пасне идеално. Купих ето тази камера от e-bay за $0.90 (но я чаках цял месец)

/images/ps3/P1080223.JPG

А ето това е заветния държач, току-що изваден от китайското чудо

/images/ps3/P1080235.JPG

Сега само трябва да го монтираме върху Sony-то. И нова греда - болтчетата на оригиналния държач са прекалено малки за новия, а тези на новия - прекалено големи за дупките на платката. Тук влезе в употреба силата ми и с доста зор успях да навия по-големите болтчета в платката. Най-хубавото е, че не я счупих :)
Държача, монтиран на платката:

/images/ps3/P1080253.JPG

Следва проба - работи - затваряме камерата. Вече мога да си сменям "обективите" в зависимост от ъгъла, под който ще трябва да снима.

/images/ps3/P1080256.JPG

Много съм доволен. Ето снимка, направена с 16mm лещи, от разстояние 2 метра (без IR филтъра):

/images/ps3/2010-01-31-122225.jpg

Следва пак опита с кашона. Но този път с инфраред светлина, идваща от него. Ето току-що пристигналите прожектори:

/images/ps3/P1080233.JPG

Ще използвам само единия. След опитите с няколко лещи, най-подходяща се оказа 6mm. Мисля, че стана страхотно с тези лещи, защото вече няма да мисля на какво разстояние трябва да монтирам камерата от дисплея и няма да се съобразявам с нейните фокусни ограничения.
Слагам прожектора и камерата в кашона, пускам прожектора и това е резултата:

/images/ps3/2010-01-31-133203.jpg

Всичко е като предния опит с разликата, че пръстите ми вече "светят", всичко работи доста по-плавно и вече не се влияе от странични светлинни източници.

След като имам повече увереност, следва реалната маса. Още се колебая за размера, тъй като следващото ограничение ще е на проектора. Но при всички положения май ще ставам дърводелец :)

p.s. Някой може ли да ми препоръча сравнително евтин мултимедиен проектор, който да може да покаже около 28-30 инчова картина от близко разстояние.

Още по темата:
Проект iBar. Началото
Проект iBar: камера и дисплей
Проект iBar: първи мултитъч резултати

Защо да използваме отворени формати

от 28.01.2010 г. в /opensource

Ако си задавате въпроса Защо да използвам отворени формати? или ако нямате идея какво се пита в него, задължително трябва да си дадете отговор. Ето тук: Да използваме отворени формати

Личният ми съвет е да прочетете тази малка книжка.

Испански в Сервантес

от 17.01.2010 г. в /unsorted

Курсът започна. Изненадващо, групата е пълна (12 човека) - нещо, което изглеждаше невъзможно според служителите в центъра при записването ни.

Първите ми впечатления са много добри, но ще имам повече яснота към края на курса. Надявам се :)

Карта на задръстванията в София

от 12.01.2010 г. в /unsorted

Едно голямо БРАВО на Столична Община и Центъра за градска мобилност:

http://www.sumc.bg/maps

Español

от 09.01.2010 г. в /unsorted

Записах се на испански в Институт Сервантес. Проблемът е, че групата трябва да е от минимум 6 човека. За сега сме 4.

Курсът е събота и неделя от 18:30 до 21:00. Започва на 16.01 и свършва на 21.02. Общо 30 часа на стойност 250 лева.

Та, търсят се още двама души, които искат да учат испански от 1 ниво :)

В Сервантес казаха, че до сега този курс не е успявал да тръгне поради липса на достатъчно желаещи. Ако искаш да учиш испански, сега е шанса да се събере група. Пиши ми да дам подробности :)

Богатите също плачат

от 08.01.2010 г. в /unsorted

Ето какво се случва, когато популярността на услугата ти нараства неконтролируемо:

/images/twitter-overcapacity.jpg

И все пак, по-добре over capacity, от колкото game over. :)

Проект iBar: v.0 - първи мултитъч резултати.

от 28.12.2009 г. в /opensource

Софтуерът
Това, което ще ползвам като за начало се казва Community Core Vision (CCV), създадено от хората от nuigroup. Доста ядове имах с него, но на финала тръгна. За съжаление работеше без проблем само с вградената камера на лаптопа.
Целта на въпросния софтуер е да анализира видеото от камерата, като разпознае местоположението и движението на пръстите. След това, данните се предават посредством TUIO протокол (през TCP или UDP), който се използва от UI програмите (като pyMT например).

Драйверите
Новата камера тръгна без проблеми. Доста се зарадвах, тъй като бях подготвен за големи главоболия с нея. В последното ядро има драйвер за нея и Video4Linux се справи доста добре. При това с добра скорост при 640x480. Малката подробност е, че не работи с CCV. Оказа се, че проблемите са два: вграденият драйвер не поддържа всички необходими опции и версията на unicap, която идва с Ubuntu също не работи както трябва. За целта трябва да се пачнат и двете. Информация за това намерих тук. Следвайки инструкциите за модула и за unicap, след малко имах работещ CCV със Sony PS3 Eye.

Първи резултати
Време е да видим как работи. Напъхах камерата в кашон, като направих малка дупка в единия ъгъл за кабела, внимавайки да не влиза светлина през нея. Камерата има два светещи диода, които елиминирах с малко черен скоч върху тях.

/images/ibar-box-2.jpg

За късмет, размерът на кашона се оказа абсолютно същия като размера на плексигласа. Първите опити, които правих, бяха с обикновено стъкло, облепено с оризова хартия. Резултата беше същия.

/images/ibar-box-3.jpg

Ето как се справя CCV с анализа на видеото (клик за по-голям размер):

/images/ibar-box-4.jpg

Изображението горе в ляво е видеото от камерата, а в дясно са блобовете, координатите на пръстите след анализа.

/images/ibar-box-5.jpg

Разбира се, необходими са известни настройки за получаване на добри резултати, както и калибрация на координатите.

/images/ibar-box-6.jpg

Всяка от точките си има ID, като софтуера анализира и движението на различните точки. Това само по себе си също е трудна задача, като за решението и се предполага, че движението се извършва от пръстите на човек, което води до ограничения в скоростта и посоката. Следват два скрийншота от pyMT - питонската мултитъч библиотека. Тя използва готовите данни от CCV.

/images/ibar-box-7.jpg

/images/ibar-box-8.jpg

За съжаление, нямам с какво да направя видео - единствената ми читава камера е вътре в кашона :)

Това е за сега. Почивката свърши и ме чака доста работа. Така или иначе ще трябва да изчакам доставката на джаджите, които накупих тези дни без които не мога да продължа напред. Stay tuned.

Още по темата:
Проект iBar. Началото
Проект iBar: камера и дисплей

Проект iBar: камера и дисплей

от 28.12.2009 г. в /opensource

Камерата, която ще използвам за проекта е Sony PlayStation 3 Eye.

Оказва се, че за тази цена трудно може да се намери по-добра web камера. С подходящите драйвери, това устройство може да постигне скорост от цели 120 fps при резолюция 320x240 и 60 fps при 640х480.

/images/ps3eye.jpg


Купих камерата от ebay за £20 и независимо, че Video4Linux има поддъжка за нея, от известно време се мъча да я подкарам с unicap. Повече подробности за софтуера и драйверите, малко по-късно.

Тепърва ще трябва да я разглобявам, за да и махна IR-блокиращото нещо и да и добавя само-IR-пропускащ филтър, като най-вероятно ще и сменя цялата оптика. Искам първо да се уверя, че софтуерът работи както трябва, преди да я прецакам :)

Междувременно реших, че ще използвам Rear DI технология. Мисля, че ще е по-лесно, тъй като няма да е необходима специална рамка с вградени IR диоди (които се оказа, че греят много). Понеже не ме бива много в изработката на хардуер, ще гледам да мина с по-малко дърводелска работа. Източникът на IR светлина ще бъде този: http://www.dealextreme.com/details.dx/sku.15235, но искам да направя още малко рисърч преди да го поръчам (най-вероятно ще трябват поне 4 от тях).

Дисплеят
След обстойно проучване, реших да използвам най-доброто в тази област. Той се казва Plexiglas RP 7D006 на Evonik Industries. Въпреки доста високата си цена от 250 EUR/кв.м., мисля да не експериментирам с други пластмаси. Това е материалът, който се използва от Microsoft за техния Surface. Другото хубаво е, че производителят има онлайн магазин, който доставя до България. Поръчах си free sample от сайта им и наистина това парче пластмаса е уникално. Прожектирайки върху него се получава образ, в пъти по-добър от прожектирането върху платно или стена, като в същото време притежава всички свойства, необходими за такъв проект. С две думи - направено е специално за целта. За съжаление ми е трудно да прикача видео, но ето как изглежда то:

/images/7d006-1.jpg

Разбира се, съществуват доста по-евтини варианти, но те са свързани с не малко експерименти и крайният ефект от гледна точка на цена е непредвидим.

Следва експеримент "на сухо", без инфраред светлина, само с камерата и дисплея, набутани в кашон. За тази цел обаче, трябва да накарам пустия софтуер и драйвер за камерата да работят както трябва с Ubuntu.

Междувременно се оглеждам за нова опитка за камерата, която да не ми излезе златна. Не мога да разбера разни онлайн магазини отвъд океана, които искат за доставка до България по над $60 за въшки, които се събират в малко пощенско пликче и струват доста по-малко.

Още по темата: Проект iBar. Началото

Проект iBar. Началото

от 26.12.2009 г. в /opensource

От доста време проучвам възможностите да си направя multitouch маса. Зарибих се по тази идея след като попаднах на една Python библиотека за създаване на интерактивни мултитъч приложения - pyMT. Ето едно кратко видео (video link):



Преди всичко обаче е нужен хардуера. Оказа се, че има доста голяма общност - http://nuigroup.com, където човек може да намери цялата му необходима информация за създаването на интеркативна маса. След седмици събиране на смелост и доста четене по въпроса, реших да пробвам да направя подобно нещо.

Как работи
Технологията като цяло е оптична. Всичко се свежда до анализиране на видео от камера, която заснема дисплея. От него в реално време се извличат данните за местоположението на пръстите по дисплея. Самият дисплей е изработен от няколко слоя - плексиглас и прожекционен материал, върху който се проектира видеото от компютъра.

Анализът на данните от камерата е доста сложна задача, особено ако върху дисплея се проектира картина. За това едни умни хора са се сетили да улеснят софтуерните алгоритми като филтрират максимално входните данни посредством инфраред светлина.
Инфраред спектъра се намира между 750 - 1400nm и е невидим за човешкото око. Той има широко приложение - от дистанционните управления до системите за нощно виждане.
Но да се върнем на мултитъча. Това, което трябва да направим е да осветим достатъчно дисплея с инфраред светлина и да модифицираме камерата така, че да заснема САМО този спектър. Когато докоснем дисплея, независимо какво проектираме върху него, ще получим само отразената от пръстите ни светлина под формата на бели петна. Тогава анализа на видеото ще бъде драстично по-лесен.

Има няколко метода за постигане на това. Най-използваните са FTIR и DI.

Frustrated Total Internal Reflection (FTIR)
Това е метод, който използва свойството Total Internal Reflection, което притежават някои материали. Най-общо казано, когато инжектираме светлина в такъв материал (например Плексиглас), тя рефлектира вътре в него и остава там докато не срещне друг материал (например кожата на човек). Когато това се случи, светлината се отразява, излиза от плексигласа и може да бъде уловена от камерата.

/images/ftir.jpg

Rear Diffused Illumination (DI)
Тук инфраред светлината се излъчва под повърхността, която може да бъде дори обикновено стъкло. Върху стъклото се поставя дифузионен материал. Когато го докоснем се отразява повече светлина от обкръжението, която се улавя от камерата.

/images/reardi.jpg


Софтуерът
Има няколко multitouch библиотеки. Въпреки, че повечето са с отворен код, информация за работата им има основно за Windows и OSX. Не липсва и такава за Linux, но до колкото разбирам хакерстването тук ще е голямо.

Проектът iBar
Крайната ми цел е интерактивен мултитъч барплот, работещ с opensource софтуер. Надявам се, в новата ни кухня, барплотът да бъде точно такъв. Дали ще стане - само времето (и упоритостта ми) ще покаже. Ще гледам да описвам тук основните стъпки до постигането на тази цел. А те на първо четене са тези:
- Избор на технология (FTIR или DI).
- Избор на материал(и) за дисплея.
- Намиране на източник на инфраред светлина.
- Избор и модифициране на уеб-камера.
- Избор на проектор.
- Проектиране и изработка на кутия за експерименталната постановка.
- Доста работа по софтуера.
- Проектиране и изработка на пространството под барплота.

p.s. Не успях да намеря информация на български на тази тема и подозирам, че тя не е особено популярна. Ако има някой, който прави / е правил подобно нещо, ще се радвам да се запознаем за да впрегнем усилия в тази посока.

Честита Коледа

от 26.12.2009 г. в /unsorted

Пожелавам на всички от все сърце много здраве и късмет. Обичайте се много и дано лошите моменти останат завинаги в миналото.

<< ПО-СТАРИ

ТЪРСЕНЕ

Не е достъпен в момента
Виж повече >

/home/stan

(cc) 2007-2010 Станислав Михайлов

Съдържанието на този сайт може да бъде използвано съгласно условията на Криейтив Комънс Признание. Повече тук.