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
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
- Officiell FreeTrack-webbplats
- Daniel DeMenthons akademiska sida - papper och exempel på POSIT-algoritm
- FreeTrack YouTube-kanal