Gebruikergeschiedenis

april 22, 2009

Het is nu ook mogelijk voor de gebruiker om een geschiedenis op te vragen van de laatste computeracties. Hierbij wordt getoond welke apparaten er actief waren op dat moment, en welke status er werd toegekend aan de gebruiker.

Het is voor de gebruiker nu ook mogelijk om zijn status op elk moment aan te passen. Ook wordt de gebruiker nu minder gestoord: het programma heeft nu enkele standaardstatussen, en het is ook mogelijk om de aan het systeem duidelijk te maken dat er aan de gebruiker om input gevraagd moet worden, en er dus voorspeld moet worden.

Userinput en voorspellingen

maart 16, 2009

De afgelopen dagen heb ik gewerkt aan het uitbreiden van mijn implementatie van een decision tree. Door deze aanpassingen is het mogelijk om de status van de gebruiker uit de boom te halen, en zelfs deze te gaan voorspellen.

De boom wordt nu opgebouwd door de gebruiker in een soort van proefperiode om input te vragen. Telkens het programma onzeker is van de status van de gebruiker zal deze om input gevraagd worden. Na dit voor een aantal situaties gevraagd te hebben is het ook mogelijk om de status te gaan voorspellen. Dit kan de gebruiker aangeven door de input te annuleren. Vanaf dan zal de gebruiker niks meer gevraagd worden.

Decision trees en Grahpviz

maart 9, 2009

De voorbije dagen ben ik bezig geweest met het opbouwen van een decision tree, om deze dan over te zetten naar een tekstuele of visuele versie. Op deze manier wordt het duidelijk welk apparaat het sterkst zal bijdragen tot de aanwezigheid van de gebruiker.

Een decision tree is een soort van graaf die getraind kan worden met data. Na deze getraind te hebben met data kan deze dan voorspellingen gaan doen over wat de activiteit van de gebruiker zal zijn. Momenteel zijn deze voorspellingen of de gebruiker al dan niet aanwezig is.

Om deze decision trees om te zetten naar iets dat duidelijk is voor de gebruiker gebruik ik pygraphviz, een python interface voor graphviz. Hiermee kan ik grafen omzetten naar een afbeelding. Een voorbeeld van zo’n afbeelding ziet er zo uit:

tree

Een groene node geeft het begin van de cyclus aan, een blauwe een apparaat, rood geeft de uiteindelijke status aan van de gebruiker.

Nieuwe apparaten en debian packaging

februari 14, 2009

De laatste paar dagen heb ik de kans gehad om de bestaande code te refactoren, en deze uit te breiden met nieuwe apparaten. Ook ben ik erin geslaagd om een debian package te voorzien voor dit programma.

De eerste apparaten die ik heb geimplementeerd zijn toetsenbord en muis: hiervoor moest ik de X library gebruiken, aangezien ik in linux werk en er hiervoor nog geen bestaande module is die naar toetsenbord en muisinput pollt. Op windows is hiervoor de library pyHook beschikbaar.

Het volgende apparaat is bluetooth: hiervoor gebruik ik de lightblue module, waardoor dit niet lang heeft geduurd om te verwerken in het project.

Aangezien er niet meer van 1 apparaat sprake is zoals in de oorspronkelijke code, werd het ook nodig om te code op te splitsen: de bestaande facedetection code werkt verwerkt in een nieuwe klasse, en een gedeelte van de daemon werd ook hergebruikt in de nieuwe daemon. Ook wordt er nu gebruik gemaakt van een presence level, hoe hoger deze waarde, hoe meer apparaten de gebruiker hebben ontdekt. Elk apparaat heeft echter een ander effect op het presence level: toetsaanslagen bijvoorbeeld spelen een belangrijkere rol bij de aanwezigheid van de gebruiker dan het detecteren van een bluetooth-apparaat in de buurt.

Ook heb ik besloten een debian package te voorzien, hierdoor wordt het eenvoudiger om dit project te herdistribueren, aangezien deze alle dependencies zelf berekent en installeert.

Bachelor Thesis

februari 6, 2009

Deze Blog zal gaan over mijn (Kristof Bamps) thesis voor mijn bachelorstudie in Informatica aan de UHasselt. Dit zal ik doen onder begeleiding van Jo Vermeulen en met Kris Luyten als promotor.

Deze thesis is een eigen voorstel, dat ik in overleg met Jo Vermeulen heb aangevraagd. De bedoeling achter deze thesis is om met allerhande sensoren de aanwezigheid van de gebruiker te detecteren. Dit zal gebeuren door onder andere te kijken naar toetsenbord- en muisaanslagen, alsook het gebruik van een webcam.

Een basisimplementatie heb ik al ontvangen, hierbij wordt er door middel van gezichtsherkenning gekeken of de gebruiker al dan niet achter zijn toestel zit. Wat ik nu hoor te doen is deze implementatie verder uitwerken en andere mogelijkheden te zoeken en implementeren.


Volg

Get every new post delivered to your Inbox.