DIY head tracking, deel 2: IR-camera en software

Door K-Jay op woensdag 27 januari 2016 14:33 - Reacties (1)
Categorie: Geknutsel, Views: 2.461

Headtracking voor een paar tientjes, welke gamer wil dat nou niet? In mijn vorige blogpost over dit onderwerp heb ik beschreven hoe ik een IR-clip heb gemaakt.
In deze post vertel ik hoe ik een webcam heb aangepast om IR-licht op te vangen en doe ik mijn best-practice met de bijbehorende software uit de doeken.

Ik ga er even vanuit dat je zodanig geďnspireerd bent geraakt door mijn vorige blog dat je een prachtige IR-clip aan je headset hebt ge-tiewrapt, klaar om te gebruiken. Cool! Je hebt dan vast ook wel gezien dat die IR-ledjes voor het blote oog niet veel licht geven. Een beetje rood, dat was het wel. Richt je de ledjes op een webcam, dan zie je ze wit in beeld. Dat is al wat beter, maar eigenlijk willen we meer IR en minder omgeving. Tijd om de schroevendraaier in de webcam te zetten.

Wat heb je nodig?
Een webcam dus. Maar welke? De resolutie is niet zo belangrijk, de framerate wel: hoe hoger hoe beter, minimaal 25fps. Om die reden is de Sony eye camera bijvoorbeeld een populaire keuze.
Zelf heb ik een Trust Exis webcam gebruikt. Kost bijna niets bij de Mediamarkt, is makkelijk open te maken én heeft een verstelbare lens.
Naast de webcam heb je ook nog een floppy disk nodig. Succes met zoeken. Een stukje donker fotonegatief mag ook, maar dat is waarschijnlijk nog lastiger te vinden.

Aan de slag
We moeten de webcam zodanig aanpassen dat hij alleen nog maar het licht van onze IR-ledjes ontvangt. De eerste stap is het verwijderen van het IR-filter. Dat zit in elke webcam ergens tussen de lens en de lichtsensor.
Schroef de webcam open. Haal vervolgens de lens van het printplaatje af. Bij mijn Trust-webcam ging dat heel makkelijk door gewoon de verstelbare lens helemaal los te draaien. Bij een vaste lens zul je nog even met de schroevendraaier aan de slag moeten.
Het IR-filter is een klein, vierkant glazen plakje. Met wat voorzichtig gewrik krijg je het los van de lens. Pak nu je floppy disk, haal de behuizing eraf en snij een plakje dat net zo groot is als het IR-filter. Bevestig het op de plaats waar het IR-filter zat.

IR-filter
Ik heb niet veel foto's van het proces gemaakt, maar hier zie je het IR-filter en een stukje floppydisk

Schroef de webcam weer in elkaar en sluit hem aan. Je zult zien dat je standaard webcamviewer geen erg fraai beeld meer geeft. Dat geeft niet, we moeten toch met andere software aan de slag.

Software
Er zijn een paar open-source programma's die de IR-beelden omzetten naar bewegingen. Zelf gebruik ik Opentrack. Download, installeer en start het programma.
Zorg dat je in het hoofdscherm de volgende opties hebt geselecteerd:
  • Tracker: PointTracker 1.1
  • Protocol: freetrack 2.0 Enhanced
  • Filter: Accela
Klik nu op Start om het tracken te starten. Als het goed is worden je IR-ledjes als drie stipjes getoond in het camerabeeld. Nu zul je de boel moeten afstellen om tot het beste resultaat te komen. Het is namelijk de bedoeling dat Opentrack bij al je hoofdbewegingen altijd precies drie tracking points ziet. Een heleboel factoren kunnen van invloed zijn: type camera, type IR-leds, afstand tot de lens, overige lichtbronnen, etc.

Tracking points
Het beeld met de tracking points in Opentrack. Het aantal "Extracted Points" (linksonder) moet altijd 3 zijn.

Omdat elke situatie anders is, ga ik hier niet al mijn instellingen met je delen. Wel zet ik een aantal observaties op een rijtje:
  • In de Camera settings kun je heel veel aanpassen. Mijn ervaring is echter dat Opentrack je aanpassingen niet onthoudt;
  • Je kunt ergens tot op de millimeter nauwkeurig de afmetingen van je IR-clip opgeven. Ik heb het gedaan, maar merkte geen verschil;
  • Ik heb veel plezier gehad van de verstelbare lens van mijn webcam. Zo kon ik de stipjes goed scherp krijgen.
  • Bij mij steeg de framerate van 8fps naar 25 fps toen ik in de camerasettings de Belichting van -4 op -5 zette;
  • In het scherm Curves kun je precies de verhouding tussen input en output opgeven;
  • Definieer een sneltoets voor het centreren. Die zul je regelmatig gebruiken;
  • Als Opentrack vastloopt ("opentrack.exe reageert niet meer") dan is er te veel licht op de lens gekomen en daar houdt Opentrack niet van.
In-game
Als je dan uiteindelijk die paarse octopus naar tevredenheid kan laten bewegen, kun je je game opstarten. Als je game headtracking ondersteunt, zal dit automatisch geactiveerd worden. Daar hoef je verder niets voor te doen.
In-game kun je gelukkig eenvoudig via alt-tab even terug naar Opentrack om nog wat zaken aan te passen.


IR-camera
Mijn camera. Oplettende lezers zien meteen dat dit geen Trust is. Dat klopt, ik heb de hardware van mijn Trust-camera in de behuizing van een Logitech C210 ingebouwd. Zo kan ik hem makkelijk achter mijn TV-scherm verstoppen als ik hem niet gebruik.

Volgende: Snapshot op je mobiel als de bel gaat (pimatic deel 4) 12-'16 Snapshot op je mobiel als de bel gaat (pimatic deel 4)
Volgende: Notificatie deurbel op je smartphone (pimatic deel 3) 01-'16 Notificatie deurbel op je smartphone (pimatic deel 3)

Reacties


Door Tweakers user MsG, zondag 14 februari 2016 23:05

Leuke blog :), ben zelf ook fervent gebruiker van OpenTrack. Als het goed is is de bug geplet dat hij er uit knalt bij teveel licht. Hij detecteerde teveel puntjes dan, waardoor de boel er uitknalde. Als je het nog steeds krijgt moet je het maar even melden.

Reageren is niet meer mogelijk