FreeTrack

FreeTrack
Stabil frisättning
v2.2 / 7 oktober 2008
Operativ system Microsoft Windows
Typ Optisk rörelsespårning
Licens GNU General Public License
Hemsida www.free-track.net

FreeTrack är ett allmänt ändamål för optisk rörelsespårning för Microsoft Windows , släppt under GNU General Public License, som kan användas med vanliga billiga kameror. Dess primära fokus är huvudspårning med användning i virtuell verklighet , simulering , videospel , 3D-modellering , datorstödd design och allmän handsfree-beräkning för att förbättra datortillgängligheten . Spårning kan göras så pass känslig att endast små huvudrörelser krävs så att användarens ögon aldrig lämnar skärmen.

En kamera är placerad för att observera en stel punktmodell som bärs av användaren, vars punkter måste isoleras från bakgrundsljus med hjälp av fysisk filtrering och mjukvarufiltrering. Rörelse spåras med upp till sex frihetsgrader (6DOF): girning, pitch, roll, vänster/höger, upp/ner och framåt/bakåt. Windows-kompatibla videoenheter som webbkameror stöds, såväl som speciell Nintendo Wii Remote- kamera, iPhone Truedepth-kamera med Eyeware Beam och NaturalPoint-kameror ( TrackIR , SmartNav och OptiTrack).

FreeTrack kan mata ut head-tracking-data till program direkt med sitt eget öppna gränssnitt, såväl som TrackIR , SimConnect och FSUIPC-gränssnitt. Program som stöder dessa gränssnitt anses vara FreeTrack-kompatibla . FreeTrack kan också emulera mus , tangentbord och joystick (via PPJoy) om ett program inte stöder ett direkt gränssnitt.

FreeTrack är kodat i Delphi 7 och använder DirectShow och DirectX . Head tracking uppnås med hjälp av implementeringar av DeMenthons fyrpunkts iterativa poseringsuppskattningsalgoritm (POSIT) och Alters trepunkts geometriska algoritm .

programvara

FreeTrack använder en kamera för att samla in realtidsinformation om punktmodellen som bärs av användaren. Närmare bestämt bildkoordinaterna för modellpunkterna, som antingen tas emot direkt från kameran eller extraheras från en videoström. Dessa koordinater används för att generera en uppskattning av den verkliga huvudställningen, som kan omvandlas av användaren på ett antal sätt för att skapa en virtuell pose. En av de mest grundläggande transformationerna innebär att förstärka rotationen så att endast små huvudrörelser krävs. Slutligen skickas den virtuella posen till användarens val av utgångar. Allt detta görs i bakgrunden, med spårningsstatus som visas i systemfältet .

En 3D-förhandsvisning är tillgänglig som visar den virtuella huvudpositionen och orienteringen för en given verklig huvudställning och kan ses från flera perspektiv, inklusive förstaperson. Detta underlättar mycket vid testning och gör det lättare att experimentera med olika inställningar.

Varje frihetsgrad (axel) har en svarskurva som kan modifieras för att ändra hur det virtuella huvudet rör sig för en given verklig huvudrörelse. Detta används vanligtvis för att skapa en central dödzon så att användarens huvud kan vara mer avslappnat där.

Tangentbord, mus och joystick-knappar kan användas för att växla spårningsinställningar, inklusive den virtuella mittplatsen (som justering av sätespositionen i en bil) och individuellt växla axlar och utgångar.

För NaturalPoint-kameror kan FreeTrack tillhandahålla avancerade funktioner och en anpassningsnivå som inte är tillgänglig med officiell programvara.

Kamera

Jämförelse av vissa kameror som är kompatibla med FreeTrack
Kamera Sensorupplösning FPS Sensor Vinkel(°) Produktion CPU-användning Subpixelprecision IR lysdioder Cirka. pris (USD)
Perfekt webbkamera 640×480 ≥60 svartvit 42 mycket komprimerad små Mjukvaruberoende Ja ?
OEM IR webbkamera 640×480 30 Färg 42 JPEG komprimerad små Mjukvaruberoende Ja 5 USD
Sony PlayStation EyeToy 640×480 30 Färg 56 JPEG komprimerad små Mjukvaruberoende Nej 16 USD
Sony PlayStation 3 Eye 640×480 187@320x240( CLEye ), 125@320x240(Directshow), 75@640x480(DirectShow) Färg 75, 56 JPEG-komprimerad, rå små Mjukvaruberoende Nej 24 USD
Microsoft Xbox Live Vision 640×480 60@320×240, 30@640×480 Färg ? JPEG-komprimerad, rå små Mjukvaruberoende Nej 14 USD
Nintendo Wii fjärrkontroll 128×96 100( Bluetooth ), 250( I2C ) Färg 41 punktkoordinater ingen 1/8 Nej 23 USD
NaturalPoint TrackIR 1 60 000 pixlar (t.ex. 300×200) 60 svartvit 33 binär tröskel minimal Ja pensionerad
NaturalPoint TrackIR 2 60 000 pixlar (t.ex. 300×200) 100 svartvit 33 binär tröskel minimal Ja pensionerad
NaturalPoint TrackIR 3 355×288 80 svartvit 33 binär tröskel minimal Ja pensionerad
NaturalPoint TrackIR 3 Pro 355 x 288 120 svartvit 33 binär tröskel minimal Ja pensionerad
NaturalPoint TrackIR 4 Pro 355×288 (undersamplad vid 710×480) 120 svartvit 46 binär tröskel minimal 1/20:e Ja 99,95 USD
NaturalPoint TrackIR 5 640×480 120 svartvit 51,7 gråskaletröskel minimal 1/150:e Ja 149,95 USD
NaturalPoint SmartNav 1/2 60 000 pixlar (t.ex. 300×200) 60 svartvit 33 binär tröskel minimal Ja pensionerad
NaturalPoint SmartNav 3 355×288 120 svartvit 33 binär tröskel minimal 1/20:e Ja pensionerad
NaturalPoint SmartNav 4 640×480 (undersamplad vid 1280×480) 100 svartvit 41 gråskaletröskel minimal 1/150:e Ja $400 till $500

Upplösning

I de flesta fall är en upplösning på 320×240 tillräcklig, detta kan ge en mycket högre subpixelupplösning, tillräckligt för att tillåta exakt markörkontroll på en högupplöst bildskärm. Upplösningar 640×480 och högre har minskande avkastning och motsvarar en exponentiell [ varför? ] ökad CPU-användning när den inte är tillräckligt komprimerad innan den når datorn. Högre upplösningar blir viktigare på större avstånd från kameran. Wii använder en lågupplöst 128×96-sensor, som av vissa visar sig producera skakig spårning och kan kräva utjämning för att förbättra stabiliteten till priset av minskad respons.

Sensor

För samma upplösning kan monokroma sensorer lösa finare detaljer mycket bättre än färgsensorer på grund av avsaknaden av en färgfilteruppsättning .

Bildhastighet

FreeTrack använder interpolation med videoenheter med låg bildhastighet för att förbättra panoreringsjämnheten. Responsen är dock i grunden begränsad till bildfrekvensen; en webbkamera med 30 bildrutor/s har en maximal svarsfördröjning på 33,3 millisekunder jämfört med 8,33 millisekunder för en kamera med 120 bildrutor/s. För att sätta detta i perspektiv är en människas reaktionstid på visuell stimulans (fingerreflex) vanligtvis runt 200 ms; 30 ms kan betraktas som en konkurrenskraftig ping i onlinereflexbaserade spel, och en LCD-skärms uppdateringsfrekvens är vanligtvis 17 ms.

Högre lyhördhet ger en större känsla av kontroll, men eftersom virtuella huvudrörelser förstärks kan det också få det att röra sig orealistiskt snabbt. Av denna anledning begränsar vissa program huvudets rörelsehastighet, vilket slösar bort en del av reaktionsförmågan hos kameror med högre bildhastighet.

Vinkel

En bredare betraktningsvinkel möjliggör en större spårningsområde när du är i närheten av kameran. Vid längre avstånd är en vidvinkel inte önskvärd, mer av ramen är oanvänd och den effektiva upplösningen sjunker snabbare. Mer perifert ljus kan också ses, vilket kan störa spårningen. Betraktningsvinkeln kan minskas genom att använda digital zoom till bekostnad av upplösningen.

CPU-användning

Nintendo Wii Remote använder faktiskt ingen CPU, NaturalPoint-kameror använder en liten mängd och allmänna videoenheter kan använda en betydande mängd, beroende på märket och de specifika kamerainställningarna som används. Ett PlayStation Eye som körs med samma upplösning och bildhastighet som en TrackIR 4 skulle vara mycket krävande på en enkärnig CPU. Men moderna processorer med flera kärnor gör detta till ett mindre problem. Upplösning och bildhastighet kan alltid minskas för att spara på CPU-resurser.

Filter

FreeTrack kräver att spårningspunkterna är isolerade från allt annat ljus; Detta görs bäst med infraröda lysdioder och ett filter som blockerar synligt ljus framför kameran. Fotografisk film eller det magnetiska lagringsmediet inuti disketter kan användas som billiga filter för synligt ljus. Ytterligare filtrering kan göras i mjukvara genom att justera exponering och tröskel.

Alla videoenheter som webbkameror har ett inbyggt infrarött blockerande filter, som kan tas bort för att förbättra känsligheten för infrarött ljus, vilket möjliggör bättre punktisolering och möjlighet till retroreflekterande spårning. Detta är normalt en enkel och reversibel procedur för de flesta webbkameror.

Wii-fjärrkontroller och NaturalPoint-kameror är designade för spårning av infraröda punkter, så de har redan filter som blockerar synligt ljus.

Punktmodell

Modellkonfigurationer

  • Single point: en enda spårningspunkt, till exempel fäst på en baseballkeps eller tråd som sträcker sig framåt på huvudet. Kan enkelt uppnås med en liten ljuskälla som en pennlampa . Till skillnad från andra konfigurationer är detta begränsat till två frihetsgrader (giring och stigning) och kan vara känsligare för translation än rotation.
  • Trepunktsklämma: asymmetriskt triangulärt arrangemang av punkter som kan fästas på hörlurar och placeras vid sidan av huvudet.
  • Trepunktsmössa: symmetriskt triangulärt arrangemang av punkter, vanligtvis fäst vid kanten på en basebollkeps.
  • Fyrpunktsmössa: symmetriskt icke-coplanar arrangemang av punkter, även fäst vid kanten av en baseballkeps.

Modeller kan göras på ett gör-det -själv -sätt till minimal kostnad med hjälp av lättillgängliga elektroniska komponenter. Komponentsatser och färdigbyggda modeller finns också att köpa från vissa medlemmar av FreeTrack-communityt.

Aktiva poäng

En aktiv punktmodell använder synliga eller infraröda lysdioder (5 mm eller större) för att representera spårningspunkterna, drivna av batteri, transformator (kontaktpaket) eller USB . Den elektriska kretsen är väldigt grundläggande och kan göras av någon med liten eller ingen erfarenhet av elektronik.

Vanliga lysdioder, som de som finns i fjärrkontroller , har en smal, starkt fokuserad stråle som inte är lämplig för optisk rörelsespårning. De kan enkelt förvandlas till vidvinkellysdioder genom att fila ner linsspetsarna plant. Alternativt kan vidvinkellysdioder köpas från specialiserade elektronikåterförsäljare, som den infraröda Siemens/Osram SFH485P, med en halvvinkel på 40 grader.

Reflekterande punkter

Retroreflekterande material kan användas för att representera spårningspunkterna genom belysning med en infraröd ljuskälla. Denna konfiguration kräver inga kablar eller batterier anslutna till användaren men är mer mottagliga för störningar av bakgrundsljus. I de flesta fall måste en webbkameras interna infraröda blockeringsfilter tas bort för att öka känsligheten så mycket att det infraröda ljuset som reflekteras av spårningspunkterna kan ses.

FreeTrack-gränssnitt

FreeTrack har ett enkelt gränssnitt som fritt kan användas av tredjepartsprogram som Eyeware Beam för att komma åt 6DOF-spårningsdata, både riktiga råmätningar och virtuella. Det är hårdvaruagnostisk, så det är inte beroende av ett specifikt märke eller version av hårdvara och kan användas utan begränsningar. Bohemia Interactives ARMA 2 är det första spelet som stöder FreeTrack-gränssnittet och GP Bikes är det första som har exklusiv support.

TrackIR-gränssnitt

FreeTrack är kompatibel med den okrypterade versionen av NaturalPoints head tracking TrackIR-gränssnitt som har brett stöd i simuleringsspel. NaturalPoint har försett spelutvecklare med en krypterad version av gränssnittet för mer populära titlar sedan slutet av 2008, dessa kan identifieras som kräver TrackIR-programversion 4.1.036 eller högre och är inkompatibla med FreeTrack. Utvecklarna av det första spelet som påverkades, DCS: Black Shark , försökte släppa sitt eget huvudspårningsgränssnitt men avbröt det strax efter NaturalPoints begäran. FreeTrack-kompatibilitet är fortfarande möjligt med TrackIRFixer för att ta bort krypteringskravet i spel.

TIRViews.dll är en biblioteksfil med dynamisk länk distribuerad med TrackIR-mjukvara som ger skräddarsytt stöd för ett litet antal mestadels äldre spel, med hjälp av speciella gränssnitt eller minneshack för att underlätta vykontroll. Även om ett brott mot TrackIR-programvarans licensavtal är det möjligt att använda det med FreeTrack.

NaturalPoints TrackIR-gränssnitts -SDK är endast tillgänglig under ett undertecknat licensavtal och omfattas av en NDA , så även om FreeTrack är fri programvara , måste TrackIR-gränssnittskomponenten vara stängd källkod .

Se även

externa länkar