source: liacs/mms/project/README@ 178

Last change on this file since 178 was 23, checked in by Rick van der Zwet, 15 years ago

Final commit of report to be handed in.

File size: 4.1 KB
Line 
1MotionMouse, Rick van der Zwet - 0433373 <hvdzwet@liacs.nl>
2
3= Abstract =
4'Enhanced' presentation utility. Mouse interaction device using gestures or a
5laser pointer and a WiiRemote controllor.
6
7= Introduction =
8Current presentation devices only have a few forward/backward buttons and a
9laser pointer, this is not suffient when presenting interactive media (e.g.
10switching between many diffent input sources.). As now-a-days almost all
11laptops has a high quality webcam included and are powerful devices. Using
12commodity tools there needs to make a much better use of the resources
13available.
14
15= Background =
16Alternative available devices 'emulate' the mouse using gyrosensors or a
17trackball. The combination with laser tracking has been tried already in a
18different form with a more fixed setup [1]. Laser pointer tracking has also
19been done, but most of the times not in lively envirionments. Gesture tracking
20has been done in a fixed setup with a easy distinguable object like a dark
21background [2], or a well coloured glove [3] or in a more advanced but static
22setup [4]. Also using high-tech equipment [5].
23
24= Implementation =
25The system is build on a Macbook Pro (model:4,1) running Ubuntu 9.10 amd64. The
26Webcam used for tracking is an USB Trust WB-6250X Webcam (145f:0142). The
27OpenCV package (2.0.0) is compiled from source. The WiiRemote is an model from
28late 2008. The laser pointer used is a green laser pointer with high density
29(50mW, WARNING: use in protected envirionments with IR safety eye wear).
30
31The Beamer used had an resolution of 800x600 and was projecting on a white
32stone wall. The webcam was placed on top of the beamer.
33
34= Description =
35The system consists of 3 components. The buttons and it's handeling are done
36using the WiiRemote which connects to the laptop using bluetooth and the Open
37Source program cwiid [6].
38
39The second component is build on the OpenCV [7] package. It detect the laser
40pointer using a difference-algoritm. 1) Blurring is applied to get rid of the
41webcam detections errors (.e.g wrong pictures). 2) The current frame values are
42subtracted by the previous frame. 3) The spot of X times Y with the highest Red
43and Green density is detected as the current laser pointer position, if the
44threshold is above a certain value. The C source code is found at [8].
45
46The mouse location is updated to it's right location taking into count
47transformation from the virtual to the real screen. The UNIX X11 implementation
48is done using parts of the xdotool [9] package.
49
50= Discussion and Conclusions =
51The status of the project could be marked as an early alpha. Mouse updates and
52clicking works fine, altough the initialisation phase (the so called pairing)
53could use some improvement. The tracking works if the image is static and there
54is not many distorting with regards to movement.
55
56The laser to mouse pointer caliberation is not yet working has has to be done
57by hand, the checkerboard image (in the source [8]) also needs to be done
58automatically.
59
60Brightness control is a part to focus on further research. The Webcam
61now tries to optimize for the whole screen, causing the laser pointer to
62disappear in a bright light blob.
63
64The tracking algoritm now has trouble using moving images. As the picture send
65to the output could be 'snooped' as well. There should be some more smarter
66detection posible of the laser pointer.
67
68= References =
69[1] Christopher Armenio, Design of a Laser Controlled Mouse Using OpenCV, 2008
70
71[2] Cristina Manresa, Javier Varona, Ramon Mas and Francisco J. Perales, Real
72 –Time Hand Tracking and Gesture Recognition for Human-Computer Interaction,
73 Electronic Letters on Computer Vision and Image Analysis 0(0):1-7, 2000
74
75[3] Robert Y. Wan, Jovan Popovi, Real-Time Hand-Tracking with a Color Glove,
76 2009
77
78[4] Shahzad Malik, Real-time Hand Tracking and Finger Tracking for Interaction,
79 2003
80
81[5] Daniel Kurz, et al., Laser Pointer Tracking in Projector-Augmented
82 Architectural Environments, 2007
83
84[6] cwiid, http://github.com/abstrakraft/cwiid
85
86[7] OpenCV, http://opencv.willowgarage.com
87
88[8] Detection software, http://rickvanderzwet.nl/svn/personal/liacs/mms/project/
89
90[9] xdotool, http://www.semicomplete.com/projects/xdotool/
Note: See TracBrowser for help on using the repository browser.