FlaPer87 - import freedom; print everything

  • galería de imagenes
  • presentaciones
  • proyectos
  • copyright
  • contacto
  • acerca de...
Home

Google Adsense

Navigation

  • Recent posts

User login

  • Request new password

mouseTrap: An accessible Control of the mouse via Web Cam

Submitted by flaper87 on Wed, 05/21/2008 - 08:22.

mouseTrap: This is the name of my new application. It is being developed using python and its main and most important function is allow users to control their mouse using a Web Cam and their faces by tracking specific points of the face previously detected. It is also capable to perform clicks and all the mouse options (at least it will). At this moment it is completely capable to perform mouse movements using at-spi's python bindings (pyatspi).

1) History:

mouseTrap started as a simple widgetsTrap (read bellow), while the development advanced new ideas were coming and one of them was the idea of creating an application to move the mouse with the head using a simple and low cost web cam. After doing some research I found OpenCV ( base library of mouseTrap ). After downloading and testing OpenCV I found out that it is capable to do amazing things including face detection. After this I just performed some other tests and apply everything into mouseTrap and so the Web Cam feature became the main function of it.

2) Project Main Goal:

The main goal of the project is to become a completely accessible application for people with movement impairments and so take care of that important part of accessibility that wasn't covered until now. With this, It's possible to expand even more the Assistive Technology and Computer Accessibility and so make the technology accessible for more people.

3) What does mouseTrap use to model the head movement into mouse movement?

It calculates the 2D coordinates variation of the face movement on the Web Cam image and after that it executes the required movements with the pointer. It is a really simple calculation that gives an absolute and flexible control. The required movement is completely customizable by the user through the gtk based GUI.

4) Other Important Features:

  • WidgetsTrap: The widgetsTrap is a time-out focus executer feature that catches all the selectable and focusable widgets of the current window ( Desktop or any other application ) and if the mouse hasn't been moved in the setted time-out the nearest selectable or focusable widget will be focused. A demonstration video can be found here
  • HttpServer: It is a basic httpServer to communicate with mouseTrap using command line ( wget ) or a simple web browser.
  • KeyBindings: Yes Keybindings! The keybindings let the user perform some extra mouseTrap actions like, re-detect points, enable/disable features and so on...
  • Mousebindings: There are also mousebindings for the main or most important actions ( like re-detect points ) so the can be executed using the Web Cam too requiring less movement.
  • Internationalisation: multi language support.

5) Future Features:

  • Eyetraking: This is the most important feature to implement, hopefully in a short future. This will allow the user to move the mouse just with the eyes, just watching the point in the screen where the mouse should be moved.
  • Plugins Interface: a simple interface for plugins implementations.
  • More Features to add soon...

I've recorded a Demo Video where is possible to appreciate how mouseTrap works. [video here]

There is a lot more to write, but i wanted to give a resume.

I hope you like the Video and even better the project.

Best Regards to all.

P.S: SPONSORS, Ideas, Suggestions, Opinions, Helps, DESIGNERS are welcomed so don't think twice and feel free to submit a comment or mail me to: flaper87 at flaper87 dot com    :P

Video on youtube:


Latest videos:

First MouseTrap Click: http://www.youtube.com/watch?v=jfNRS1oSb34

MouseTrap + MouseTweaks: http://www.youtube.com/watch?v=kqaT0YhPpjU

MouseTrap + MouseTweaks using screen mode: http://www.youtube.com/watch?v=O5jPzbCIlOE

  • a11y-es
  • Accessibility
  • Anuncios
  • ArchLinux
  • Debian
  • English
  • handicaps
  • impairments
  • mouse
  • mouseTrap
  • Python
  • Tiflotecnología
  • Ubuntu
  • webcam

Flavio, looks to be a really

Submitted by peepo (not verified) on Thu, 05/22/2008 - 16:50.

Flavio, looks to be a really exciting project.

had you tried this with os x**?

the avi demo does not work for me using
ppc 10.5.2
quicktime Version 7.4.5 (25)
the video downloads and plays 'white-screen' with no audio.

**I filed a bug enhancement with apple when they introduced the webcam in laptops, along these lines...

  • reply

@peepo I uploaded the video

Submitted by flaper87 (not verified) on Thu, 05/22/2008 - 20:47.

@peepo

I uploaded the video to youtube. I hope you like it.

Thanks for the comment.

  • reply

When will this be able to be

Submitted by zDeathzClockz (not verified) on Tue, 05/27/2008 - 02:03.

When will this be able to be downloaded I need something Not becuase im impared but because I need something cool and eye tracking could be cool
i mean point where the mouse is and just move ur eyes thats good but what about eye dragging how would u drag with eye mouse?

  • reply

@zDeathzClockz Hi!! I hope

Submitted by flaper87 (not verified) on Tue, 05/27/2008 - 04:31.

@zDeathzClockz

Hi!!

I hope to release a testing version really soon. I don't want to give dates but I think that it will be in a few weeks (1 or 2).

The dragging process is completely related to 2 mouse actions, the first one is the "button press" action and the second one is the "movement" action, once the application is capable to perform clicks and movements then the drag and drop process will be already supported. (At this moment it's almost supported)

About the eye tracking:

It's not yet supported, the eye tracking feature is not that simple to implement because it's not only about performing the tracking of the eye, we've also to be aware of the CPU and/or RAM usage.

As I said in the post it's not impossible and I'm working hard on this but I'm 80% sure (don't think that I'm glad about this :( ) that the first release won't have eye tracking but it will be able to completely control the mouse which is a big step :D (I think)

Thanks for the comment, and if you have more questions don't hesitate.

Bests

  • reply

Ok Thx For The Info Oh Well

Submitted by zDeathzClockz (not verified) on Tue, 05/27/2008 - 09:25.

Ok Thx For The Info Oh Well Ill Deal With no Eye Traking And Wait 1-3 weeks or so Thx For Reply In Short time

  • reply

I'm just starting out

Submitted by blackheart (not verified) on Sun, 06/01/2008 - 10:43.

I'm just starting out programing, but have had this idea for something similar (but with the hand moving in different directions instead... though this is much more amazing if you get the eye movements to work). I know you probably already figured this out, but just wanted to point out that the position of the eye can probably be figured out be the whitespace... which at least in me appears very different from the rest of the face (in coloring). Basically when the eye appears centered (from where my webcam is) you are looking down, if there is a solid block of white going under the eye you are looking up, if there is one block on the side, you are looking towards the other side, etc. Though I understand how this can be hard to implement... Maybe if you start off looking at the center? you can somehow locate the eye and find the mean of three whitespaces (bellow, to the right, and left) and pixel check those... just keep your head REALLY still and you will be fine... Anyhow, can't wait to see how it turns out... goodluck... and at @zDeathClockz you just focus... a lot.

  • reply

@blackheart Thanks for your

Submitted by flaper87 (not verified) on Mon, 06/02/2008 - 00:36.

@blackheart

Thanks for your comment and your good advise.

Yes, you're right the color matching is a good way to do eye detection and as you said it is still hard to implement. In any of the cases I'm hardly considering it. Lets see what happens.

Again thanks a lot for commenting. I hope to have a demo release soon (without eye tracking) so you can test it.

Bests

  • reply

Great. Sorry to reply so

Submitted by blackheart (not verified) on Mon, 06/02/2008 - 11:47.

Great. Sorry to reply so soon, but something to elaborate on what I said earlier came up. I figure you could probably process image of the general location of the eye based on the relative "weighting" of the color... Instead of locating the eyes position, you move based on the center of color. As you move your eye, the white changes positions, shifting the center of color. Still hard to implement, at least for me, but seems more practical. And good luck with the clicking, personally wouldn't mind using the hand for that (conducter at the end of index and thumb, tap fingers together to click. Again, goodluck.

  • reply

Hi, Really good work,

Submitted by Knuthy (not verified) on Tue, 06/03/2008 - 23:55.

Hi,

Really good work, waiting to test it :)

Just an idea, It'll be good if you could make it compatible with MPX so a user can use both his hands to manipulate a window, and we'll have a "Multi-touch" like support (just like "Minority Report")

Thanks.

  • reply

[...] been programming the

Submitted by FlaPer87 » Communicating with our application using python a (not verified) on Wed, 06/04/2008 - 10:32.

[...] been programming the httpServer and the dbusServer for mouseTrap and I wanted to share how simple is communicate with our applications using dbus and its python [...]

  • reply

Good job, another idea

Submitted by Dasgil (not verified) on Sat, 06/14/2008 - 08:03.

Good job,
another idea concerning eye tracking,
You probably need to estimate the direction of the face. Maybe this work could be help you:
http://lcv.stat.fsu.edu/research/geometrical_representations_of_faces/PA...
and also an amazing video
http://www.youtube.com/watch?v=nice6NYb_WA
goodluck

  • reply

@Dasgil Thanks a lot for

Submitted by flaper87 (not verified) on Sat, 06/14/2008 - 16:22.

@Dasgil

Thanks a lot for your comment and the urls.

I'll check them and I'll work on it. The eye tracking thing is something that has to be implemented definitely.

Thanks a lot again

  • reply

Hey, I'd like to know how

Submitted by Marcelo (not verified) on Sat, 06/21/2008 - 14:05.

Hey,

I'd like to know how did you do to make the mouse move in that soft way...
As you can see in my videos I'm working on an eyetracking project, but the mouse movements are not very precise...
So I'd like to know if you or anybody knows how can I improve the precision...

in advance, thanks a lot for any help.
Regards.

  • reply

Very interesting project -

Submitted by Anders Feder (not verified) on Tue, 07/15/2008 - 04:20.

Very interesting project - best of luck.

If it is hard to get precision right, your software will still be a great help as a secondary pointer input if it can move the pointer to the general area I'm looking at and then let me use the mouse to point out the exact point of interest. This would save a lot of mouse travel time.

  • reply

Any realess dates

Submitted by Anonymous on Sun, 07/27/2008 - 07:02.

Hello i was wondering when any realess dates are planned for any of the versions

~Evumeimei

  • reply

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
3 + 14 =
Solve this simple math problem and enter the result. E.g. for 1+3, enter 4.

Search

  • a11y-en
  • a11y-es
  • Anuncios
  • ArchLinux
  • curiosidades
  • Debian
  • Docbook
  • Drupal
  • English
  • Enlightenment
  • Español
  • Eventos
  • GNU/Linux
  • Italiano
  • Latex
  • mouseTrap
  • opencv
  • Poesias
  • Python
  • Reflexiones
  • Subversion
  • Tiflotecnología
  • Ubuntu
  • Uncategorized
  • Web
  • wordpress

Twitter Updates

Twitter Logo

    follow me on Twitter



    • galería de imagenes
    • presentaciones
    • proyectos
    • copyright
    • contacto
    • acerca de...