Werkende opensource-pc-driver voor Kinect beschikbaar

Het is de Spaanse hacker Héctor Martín Cantero gelukt om een werkende driver te maken voor Kinect, de bewegingsherkennende controller die Microsoft deze week in Europa uitbracht. De driver werkt onder Linux en is publiekelijk beschikbaar.

Met zijn driver heeft Héctor Martín Cantero niet alleen de beveiliging van Kinect weten te omzeilen, hij is bovendien tot winnaar uitgeroepen van de wedstrijd die website Adafruit uitschreef. Martín Cantero wint de 3000 dollar die Adafruit had uitgeloofd en de site maakt bovendien 2000 dollar extra over aan de Electronic Frontier Foundation. De Spaanse hacker had volgens eigen zeggen niet meer dan drie uur nodig om zijn driver te maken, waarna hij van het resultaat een video maakte, die hij als bewijs van zijn claim op YouTube plaatste. De drivers zijn, geheel volgens de eis van Adafruit, openbaar gemaakt. Ze zijn te downloaden van de site van Martín Cantero. De driver werkt onder Linux en maakt gebruik van OpenGL om het beeld van de twee camera's van Kinect weer te geven. De software geeft een dieptebeeld en een kleurenbeeld weer dat door Kinect wordt opgevangen.

De Amerikaanse opensource-hardwareleverancier Adafruit loofde de beloning uit voor de eerste ontwikkelaar die opensource-drivers voor Microsofts bewegingssensor Kinect online wist te zetten. Kinect is bedoeld om samen te werken met Microsofts Xbox 360. Adafruit zocht naar drivers waarmee Kinect ook op andere hardware dan de Xbox 360 werkt. Martín Cantero, die zelf geen Xbox 360 bezit, demonstreerde zijn driver op een oude Acer Aspire 8930G-laptop die op Linux draait. De Spanjaard heeft al aangegeven dat hij het prijzengeld gaat gebruiken om apparatuur voor nieuwe hack-projecten te kopen. Hij is actief betrokken bij hack-projecten voor de iPhone en Wii.

Eerder deze week was er al een andere hacker die een video van een hack voor Kinect op YouTube plaatste. Deze KinectMan2 wilde zijn software echter niet openbaar maken en maakte dus geen kans op de beloning van Adafruit.

Helaas!
De video die je probeert te bekijken is niet langer beschikbaar op Tweakers.net.

Door Paul Hulsebosch

Redacteur

11-11-2010 • 10:53

93

Submitter: Sk0Ne

Lees meer

Sony brengt Move naar pc
Sony brengt Move naar pc Nieuws van 1 februari 2011
Divine Souls
Divine Souls Video van 22 december 2010

Reacties (93)

93
91
38
4
0
28
Wijzig sortering
Ik vraag me af wat de bedoelingen zijn van Adafruit hiermee?
Het is natuurlijk leuk om de Kinect op de PC werkend te krijgen, maar wat gaan ze er nou mee doen? :)
Is niet echt moeilijk hoor. Adafruit verkoopt electronica o.a. voor robotica. De Kinect is een goedkope (als je vergelijkt met andere alternatieven spotgoedkoop) diepte camera (wie zegt dat het een simpele webcam is heeft het fout) en dus vind het vooral zijn gading in die sector.

Als ik wat verder kijk naar andere open source projecten dan denk ik bvb aan blender voor een simpel mocap systeem. Het zal niet zo precies zijn als een echte mocap systeem maar lijkt mij al een stuk beter dan manueel keyframes toe te voegen.

Er zijn mogelijkheden zat enkel maar je creativiteit is een limiet.
Eerder deze week was er al een andere hacker die een video van een hack voor Kinect op YouTube plaatste. Deze KinectMan2 wilde zijn software echter niet openbaar maken en maakte dus geen kans op de beloning van Adafruit.
Klopt eigenlijk niet echt KinectMan2 (trouwens is dezelfde man achter de PS EYE driver...) vroeg 10.000 dollar om de driver open source te maken. Je kon zelf doneren.

[Reactie gewijzigd door simplicidad op 27 juli 2024 17:50]

Heb ergens gelezen dat ze iets wilden gaan doen met Microsoft Office met spraakbesteuring.
Ah dus bijv. PowerPoint aansturen met spraak en gebaren?
Dat is wel interessant natuurlijk
Maar daar heb je mijns inziens geen Kinect voor nodig.
Dat kan met elke cheap-ass mic wel gemaakt worden denk ik?
Het plaatsen van plaatjes bijvoorbeeld met je handen. Lijkt me niet erg handig om zo iets te doen met je spraak
Maar waarom zou dat dan niet kunnen met een webcam van 9,95 in plaatsvan een dure Kinect?
Omdat je dan twee camera's nodig zult hebben om de diepte te kunnen zien.
Ook zullen de afstand tussen de twee losse camera verschillen en niet altijd hetzelfde zijn.
Iets als gebaren maken om naar een volgende dia zou natuurlijk wel briljant zijn, mits die gebaren niet té debiel zijn :)
Op de PC programma's ontwikkelen die met de kinect bestuurd kunnen worden bijv.

Zie je het straks al voor je dat je op een HTPC met XBMC een kinect aansluit, en dan met je handen door alle menu's kan scrollen enz? Dat is echt wel prettig :) .
Zie je het straks al voor je dat je op een HTPC met XBMC een kinect aansluit, en dan met je handen door alle menu's kan scrollen enz? Dat is echt wel prettig
Of erg vermoeiend...
Tevens, als je in gesprek bent en je armen daarbij beweegt om iets aan te geven (Gevangen vis was zooo groot...), gaat dan je TV zappen?
Lijkt mij niet handig...
Daarvoor zijn ze dus software nodig ;) om bijv de diepte te kunnen zien, en de software kun je laten schatten of de persoon wel of niet beweegt om iets af te spelen ect.

Erg vermoeiend? Ik geef een voorbeeld, dan heeft het weinig nut om het af te gaan kraken.
5000 dollar in drie uur werk, dat is niet mis! Ik ben benieuwd wat voor applicaties de bedrijven die de beloningen uitdelen hiermee gaan maken.
Klinkt toch wel erg weinig, 3 uur om echte drivers te maken :P

Als je echter de sources bekijkt dan tref ik helemaal geen driver of iets aan, maar enkel een stukje source dat over usb een usb-camera uitleest (ergo standaard aanroepen) en via OpenGL vervolgens de ingelezen beelden op het scherm zet.

Welke 'beveiliging' hier nu mee omzeild is is me ook een raadsel eerlijk gezegd...
Is er wel een beveiliging, of is die beveiliging er alleen om bijvoorbeeld het draad model uit te lezen dat de software ook produceert en om de camera de te kunnen draaien etc...

De huidige resultaten zien er wat mij betreft nog al simpel uit en het lijkt inderdaad alleen het uitlezen van de camera's en niets meer dan dat terwijl het gerucht gaat dat deze hardware ook instaat is om bijvoorbeeld de handen en het hoofd van een speler te onderscheiden en om een model van het gezicht van een speler te maken om op die manier het gezicht te herkennen etc...
Ik neem aan dat Microsoft met Kinect echt niet alleen een dubbele camera heeft geleverd. Ook zie ik nog helemaal geen microfoon of word herkenning iets dat me doet denken dat de huidige "hack" als we het zo mogen noemen niets meer is dan alleen het opvangen van de basis data maar de opvraag van de uitgebreidere informatie het aansturen van het geheel nog helemaal niet gekraakt zijn.

KinechtMan2 toonde (als het echt is) een manier om de sensoren in de camera uit te lezen en een mogelijkheid om het draad model over de beelden heen te leggen ik neem aan dat Kinect deze informatie niet zo maar door stuurt maar dat het eerst de een of de andere opdracht van de XBOX nodig heeft... iets dat met de hier boven gemelde "hack" nog helemaal niet lijkt te gebeuren. :(
Als dat zo is moeten ze het geld terugeisen!

Nog steeds wel leuk dat je de camera's uit kan lezen, maar het ledematen herkennen is juist hetgeen wat dit stuk hardware (en de firmware) zo interessant maakt.
Als dat zo is moeten ze het geld terugeisen!
Hoezo? De opdracht was om een driver te creëren voor de Kinect-camera en dat is exact wat er gebeurd is. De organisatoren van deze wedstrijd verwachten echt niet dat iemand even een complete motion detection/recognition-interface in elkaar zou draaien. Daar zijn bij Microsoft met een legertje ontwikkelaars meerdere jaren mee bezig geweest.
Jij snapt het wel, maar Triblade weet niet dat die handen alleen maar herkent worden omdat er software is geschreven (al dan niet binnen de cam), die de handen en armen eruit vist.
Dus dat is een apart stukje software, niet onderdeel van de driver.

Een driver doet niets meer dan praten met het aangesloten apparaat.
Wat het apparaat dan verteld aan je systeem is OF Rauwe onbewerkte data, OF kant en klare packets.

In dit geval word er alleen met het apparaat gesproken, welke info er door het kabeltje gaat is dan niet belangrijk, ook al kun je zeggen dat de Kinect dit wel kan en dus de drivers niet compleet zijn. De data die de cam laten draaien zullen hoogstwaarschijnlijk gëncodeerd zijn, dus niet zomaar even open-source te maken (zie het eerst maar te lezen).

Hierdoor is de drempel ook hoger, want als dat de verwachting zou zijn, zou je gewoon om een open-source kopie vragen van de gesloten drivers.
En zou je je spelers verplichten de EULA van MS te crushen. (reverse engineering is nodig om perfecte "drivers" te krijgen.

[Reactie gewijzigd door Yezpahr op 27 juli 2024 17:50]

Gezien de hoeveelheid electronica in de camera (zie plaatje), zit minstens een deel van de herkenning wel degelijk in de camera en dient dus ook via de driver toegankelijk te zijn.
Ze zijn opensource-hardwareleverancier, volgens het artikel, dus ik gok dat ze dit ding willen koppelen aan een open gameconsole oid.
Zou bouwen oa robots, en willen gewoon dat dit soort lidar achtige technieken voor iedereen beschikbaar zijn, zodat er innovatieve toepassingen uit alle hoeken van de wereld op gaan duiken.
3000 dollar in 3 uur;) die 2000 andere gingen naar Electric Frontier Foundation. dus 1000 dollar p/u, netjes.

Wel een goede ontwikkeling, al denk ik dat MS er minder blij mee zal zijn?
Hoezo MS minder blij? Dat betekent alleen maar meer verkochte Kinects toch? Het lijken me niet echt kopers die de Kinect sowieso al hadden gekocht voor "Kiddy Dance Revolution"
Waarschijnlijk maakt MS geen winst op Kinect, of misschien zelfs verlies. Ze maken de winst op de spellen voor Kinect en de XBOX.
ik zou het niet te hard roepen

dat stukkie foxconn plastic is nogal behoorlijk prijzig :|
Dus dan is het zeker belangrijk om er veel te verkopen (als er marge op zit)
Als je kijkt wat erin zit wil ik best geloven dat het apparaatje redelijk wat kost: http://www.ifixit.com/Guide/Image/meta/xKZqFJXNYEGTvYbI
Ik zie dat er een fan in zit? Why? 8)7


ot:
Netjes gedaan van deze jongen. Het is nu afwachten wie de volgende stap maakt en het apparaat ook daadwerkelijk bruikbaar maakt.
Ik zie dat er een fan in zit? Why?
Waarom zit er een fan in een PC of een auto?
Om de boel te koelen natuurlijk. |:(
Het ding wordt blijkbaar warm genoeg om een fan te moeten gebruiken om de warmte af te voeren.
Daar kan ik me wel wat bij voorstellen aangezien het erg krap is in de behuizing met 3 PCB's.
Hier trouwens meer info en text bij het plaatje van bredend @ hierboven.

Belangrijk!:

In dit bericht meld de poster ook meteen even dat er voorzichtig om moet worden gegaan met de bewegings assen die het ding nodig heeft om de speler te volgen.
De tandwielen zijn nogal klein en van plastic dus de kans op schade is groot bij het vallen dan wel het (per ongeluk) blokkeren van de draaibare voet.

[Reactie gewijzigd door Sunbeam-tech op 27 juli 2024 17:50]

Ja dat had ik ook al door. Ik vind alleen niet iets wat je in zo'n apparaat verwacht.
Valt erg mee, veel apparaten die rond de 100 euro verkocht worden, bevatten vergelijkbare electronica.
in een eerder bericht hier op tweakers kon je al lezen dat ms had laten weeten niet blij te zijn met deze beloning. waarop de reactie van adafruit was dat het bedrag verdubbeld werd naar 3000 dollar.

Ot: wel erg snel gelukt na de uitkomst van kinect! Nou snap ik ook wel warom ms niet blij was met deze beloning. Ze hebben blijkbaar erg weinig aandacht besteed aan het beveiligen van het signaal.. 8)7
Hij krijgt 'maar' 3000 euro hoor, die andere 2000 zijn overgemaakt naar de Electronic Frontier Foundation

edit:

Hmm, net te laat zie ik.. Stijn was me voor

[Reactie gewijzigd door TheFes op 27 juli 2024 17:50]

Drie uur werk, maar mogelijk jarenlang (onbetaald) hobbyen om de kennis op te doen die hiervoor nodig was - moet je wel onthouden.
Anoniem: 295700 @YopY11 november 2010 13:20
Voor naar school gaan wordt je ook niet betaald.
Als je wel zou betaald worden, had je de grammaticaregels beter beheerst?
Er zijn zat hobby's waar men niet zoveel geld zo snel verdient ;).
wie zegt dat je met opensource geen geld kan verdienen ;)
Sowieso wordt er met open source wel geld verdiend hoor! Kijk bijvoorbeeld naar bepaalde sofwarepakketten waarbij de basic versie gratis is, maar de 'enterprise' editie met betere ondersteuning gewoon betaald dient te worden :)

Ook mogen mensen die opensource programmatuur schrijven en publiceren best geld voor hun producten vragen, het gaat er alleen om dat de broncode beschikbaar is voor iedereen die hier geïnteresseerd in is!
Ook mogen mensen die opensource programmatuur schrijven en publiceren best geld voor hun producten vragen, het gaat er alleen om dat de broncode beschikbaar is voor iedereen die hier geïnteresseerd in is!
Volgens mij niet. De broncode dient beschikbaar te zijn voor de afnemer van die code.
Er is gewoon Open Source software(/etc.) wat betaald is hoor. Weet alleen zo geen voorbeeld.

OT: Best wel netjes verdient zo, misschien nog een Windows driver, zodat we de 'leuke' kinect spellen op de pc kunnen spelen :).
red hat
Novell
etc..
- Alfresco
- SugarCRM
- Zarafa
- O3Spaces
Waarvan hij maar 3000 dollar in 't handje krijgt. Wel erg cool, ook van 't bedrijf wat de prijs heeft uitgeschreven. Vooral voor onderzoek kan dit een erg handige betaalbare tool zijn.
Adafruit heeft voor 5000 dollar mooi een driver! Hoeveel goedkoper wil je hem nog krijgen! Als ze hem zelf hadden moeten ontwikkelen had het waarschijnlijk meer gekost. Kans is groot dat ze zelf niet de kennis hebben om zoiets te schrijven en daarvoor een externe partij in moeten huren. De kosten lopen dan ook lekker op!

Nu dus voor 5000 dollar een driver in 3 uur en kunnen ze zelf waarschijnlijk geld opstrijken aan software die ze zelf schrijfen?
Zover ik weet geeft adafruit alles onder een open source licentie uit. Dus ze zullen geen geld gaan opstrijken met die driver.
Ze gaan waarschijnlijk geld verdienen met software waar deze driver in wordt gebruikt.
Zoals een robot besturings systeem.
Das wel mooi werk, als er opensource drivers voor windows worden gebouwd kan dat veel leuke ideeen voor ontwikkelaars oproepen.

race games met pedalen en een onzichtbaar stuur bijv. Kan je het via een usb splitter gewoon op je xbox en op je pc aansluiten en kies je zelf maar wanneer je het waar nodig heb.
Lijkt me niet erg ergonomisch om met een onzichtbaar stuur en pedalen te werken aangezien je geen steunpunten hebt. Ook is het de bedoeling dat games staand worden gespeeld.
Anoniem: 190996 11 november 2010 11:27
De analyse van de afstand wordt al in de Kinect gedaan. Het meest efficiënt zou één videostream zijn in een 'rgbd'-formaat. Waarbij de 'd' dan de diepte is. Het lijkt erop dat de Kinect de diepte info echter als aparte videostream verstuurt.

Maar dan die aparte videostream. Logisch zou dat een zwart wit/ monochroom beeld zijn. Dat is het niet. Er zijn eigenlijk maar een klein aantal kleuren aanwezig. De inhoudelijke analyse van het 3d beeld wordt dus ook al in de Kinect gedaan. Lichtblauw is de achtergond en groen en geel tot rood is de speler.

Een beetje weinig beelden om het precies uit af te leiden maar ik kan me voorstellen dat verdere analyse met software niet zo moeilijk is en niet zo belastend voor een processor.
Het kan natuurlijk ook zo zijn dat de diepte-info naar een kleurenbeeld wordt gemapped. Dus: 2m afstand is rood (ik noem maar iets) etc.

Voordat er uit komt "speler A is krijgt een blauw label, speler B kleuren we groen" ben je waarschijnlijk wat procenten van de rekenkracht verder.
9 op de 10 is dat effectief een monochroom signaal en is er een mapping gebeurd van grijswaarden naar kleurwaarden om de info duidelijker voor te stellen. Denk maar bv aan een warmtegevoelige camera. Daar wordt net hetzelfde gedaan.

[Reactie gewijzigd door Anoniem: 103563 op 27 juli 2024 17:50]

Het maakt in feite voor de efficientie niet uit of de videostream apart of als laag van het beeld wordt verstuurd. In feite is rgb ook gewoon 3 videostreams. Het is ook niet duidelijk of dit zo echt verstuurd wordt of alleen zo gepresenteerd is in de video. Het voordeel is wel dat je het zo beter kan visualiseren.
Hele goede ontwikkeling.
Naar mijn mening is Héctor Martín één van de betere sociale hackers op het internet.
Heb veel respect voor deze man. Vrijwel alle programma's en hacks die hij uitbrengt zijn allemaal open source. Zo ook AsbestOS voor de PS3, Homebrew Channel & Bootmii voor de Wii en nu ook libFreenect voor Kinect. :)

[Reactie gewijzigd door KirovAir op 27 juli 2024 17:50]

Anoniem: 325971 11 november 2010 10:59
is het niet mogelijk dat microsoft telkens in hun nieuwe updates ervoor zorgt dat dingen die voor kinect gemaakt zijn buiten de xbox blokkeert. Anders heeft het namelijk weinig zin om voor je laptop/computer zo'n kinect ding te kopen
Dat kan alleen als de Kinect Hardware enkel zou draaien als hij verbinging heeft met een officiële Microsoft update server, of via Windows update patches worden toegevoegd die speuren naar Kinect Hardware ID's om ze vervolgens uit te schakelen.

Al te meer reden om Linux als dual boot te installeren. Zou een leuke impuls voor Linux gaming zijn (naast Android)
Aangezien die driver open source is zal het niet lang duren voordat iemand ff een windows drivertje maakt, zodat het voor een groter publiek beschikbaar word
Microsoft zal misschien updates maken om te vookomen dat namaak kinects op de xbox worden aangesloten., net zo als sony bepaalde controllers weert met firmware updates. Maar om te voorkomen dat een kinect op een extern apparaat niet werkt is wel een heel groteo uitdaging.

Waarschijnlijk lost het probleem zich vanzelf op voor MS als ze geen losse kinects meer gaan verkopen, maar alleen nog maar met nieuwe x-boxen (of de opvolger) die zijn eigen stekker krijgt.

Verder wel leuk dat er nu een goedkope diepte camera beschikbaar komt via deze hack. Er zijn vast mensen die daar leuk mee kunnen hobbien.
Denk ook niet dat namaak kinects mogelijk zijn.
Denk dat er wel een special hand shake is die eerst nog moet worden gevonden.
Lijkt me ook. De Kinect heeft z'n eigen cpu aan boord dacht ik, waarom zouden ze nieuwe Kinects (en oude, met firmware-upgrade) niet uitrusten met een of andere encryptie voor het verkeer richting Xbox? Blijft kat-en-muis, maar MS kan het zo lastig maken als ze willen.
De Kinect heeft geen eigen CPU aan boord. Hij gebruikt nu tegen de 10% max van de xbox360 cpu om de noodzakelijke berekeningen te maken.
De Kinect heeft wel degelijk een CPU aan boord. Sterker nog; Kinect heeft een hele SoC (System-on-a-chip) aan boord. Deze Prime Sense PS1080-A2 is echter niet krachtig genoeg voor beeldanalyse, en dat wordt dus uitbesteed aan de processorkracht die de 360 zelf kan aanbieden.
De vraag is dan natuurlijk wel waarvoor de CPU nodig is. Alleen voor de encryptie?
Als je hem niet aan je xbox hangt kan microsoft er ook niet bij he..
das teminste de moeite waard, best slordig van MS
wat is er precies slordig van MS?
Dat het zo gemakkelijk is om dat ding te hacken en dan nog niet eens een persbericht uitbreng/reageren op de gehele situatie.
Kinect is niet "gehacked", er zijn drivers voor het cameratje geschreven.
Hier is Microsoft's reactie op de situatie: "Kinect for Xbox 360 has not been hacked--in any way--as the software and hardware that are part of Kinect for Xbox 360 have not been modified. What has happened is someone has created drivers that allow other devices to interface with the Kinect for Xbox 360. The creation of these drivers, and the use of Kinect for Xbox 360 with other devices, is unsupported. We strongly encourage customers to use Kinect for Xbox 360 with their Xbox 360 to get the best experience possible."
Maar je zorgt toch gewoon dat je eigen materiaal goed beschermd wordt, zodat het niet voor andere doeleinden gebrukt kan worden? Want ik zie mezelf niet met een WII-remote mijn tv bedienen.

en dat persbericht is toch van een aantal dagen terug ( als ik mij niet vergis )
Einde van het bericht staat duidelijk:

Eerder deze week was er al een andere hacker die een video van een hack voor Kinect op YouTube plaatste. Deze KinectMan2 wilde zijn software echter niet openbaar maken en maakte dus geen kans op de beloning van Adafruit.

Ze kunnen proberen om hun app. te beschermen, maar het is een kwestie van tijd totdat iemand het "hacked". In dit geval heeft hij gewoon een nieuwe progje geschreven om gebruik te maken van de Kinect camera. Nothing more..
De Wiimote is ook gewoon drivers voor te vinden ;) Zie de vele Wiimote whiteboard filmpjes op youtube.
Dus ik als mandarijnenverkoper moet het mij aantrekken als iemand ze als jeux-de-boules-ballen gebruikt ?
en dan nog niet eens een persbericht uitbreng/reageren op de gehele situatie
En wat zou er dan in dat persbericht moeten staan? "Wij raden af de adafruit driver te gebruiken omdat dat dit ons businessmodel rond Kinect ondermijnt". Negeren is gewoon het beste hier.
Dit verandert niks het is gewoon een driver die de informatie binnen krijgt als of je gewoon een willekeurige camera aansluit. Wat kinect kinect maakt is de software gemaakt door microsoft die in de 360 os waarschijnlijk zit. Persoonlijk hoop ik dat kinect over een jaar of zo kinect api in XNA gooit. Dan moet ik C# wel redelijk onder de knie hebben.
Dure webcam... 8)7

Maar even serieus, wat is het nut hier nu van? Ik neem toch aan de de software op de Xbox het meeste werk doet? Als je de kinect nu op de PC aansluit heb je toch nog software nodig die iets aan beeldverwerking doet?
Even heel simpel gezegd is de hardware van kinect toch gewoon een webcam met microfoon en doet de software het echte werk?
Dit is wel meer dan een gewone webcam he. Maar dat kon je ook wel weten als je meer onderzoek deed.

Zoals hij in het filmpje zegt, kan je dit perfect gebruiken voor robotics projecten. Een robot die geavanceerde bewegingen kan detecteren.
Ach mensen zien kinect toch als ps eye plus.
Een gewone webcam geeft geen dieptebeeld ;)

Op dit item kan niet meer gereageerd worden.