1 | MotionMouse, Rick van der Zwet - 0433373 <hvdzwet@liacs.nl>
|
---|
2 |
|
---|
3 | = Abstract =
|
---|
4 | 'Enhanced' presentation utility. Mouse interaction device using gestures or a
|
---|
5 | laser pointer and a WiiRemote controllor.
|
---|
6 |
|
---|
7 | = Introduction =
|
---|
8 | Current presentation devices only have a few forward/backward buttons and a
|
---|
9 | laser pointer, this is not suffient when presenting interactive media (e.g.
|
---|
10 | switching between many diffent input sources.). As now-a-days almost all
|
---|
11 | laptops has a high quality webcam included and are powerful devices. Using
|
---|
12 | commodity tools there needs to make a much better use of the resources
|
---|
13 | available.
|
---|
14 |
|
---|
15 | = Background =
|
---|
16 | Alternative available devices 'emulate' the mouse using gyrosensors or a
|
---|
17 | trackball. The combination with laser tracking has been tried already in a
|
---|
18 | different form with a more fixed setup [1]. Laser pointer tracking has also
|
---|
19 | been done, but most of the times not in lively envirionments. Gesture tracking
|
---|
20 | has been done in a fixed setup with a easy distinguable object like a dark
|
---|
21 | background [2], or a well coloured glove [3] or in a more advanced but static
|
---|
22 | setup [4]. Also using high-tech equipment [5].
|
---|
23 |
|
---|
24 | = Implementation =
|
---|
25 | The system is build on a Macbook Pro (model:4,1) running Ubuntu 9.10 amd64. The
|
---|
26 | Webcam used for tracking is an USB Trust WB-6250X Webcam (145f:0142). The
|
---|
27 | OpenCV package (2.0.0) is compiled from source. The WiiRemote is an model from
|
---|
28 | late 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 |
|
---|
31 | The Beamer used had an resolution of 800x600 and was projecting on a white
|
---|
32 | stone wall. The webcam was placed on top of the beamer.
|
---|
33 |
|
---|
34 | = Description =
|
---|
35 | The system consists of 3 components. The buttons and it's handeling are done
|
---|
36 | using the WiiRemote which connects to the laptop using bluetooth and the Open
|
---|
37 | Source program cwiid [6].
|
---|
38 |
|
---|
39 | The second component is build on the OpenCV [7] package. It detect the laser
|
---|
40 | pointer using a difference-algoritm. 1) Blurring is applied to get rid of the
|
---|
41 | webcam detections errors (.e.g wrong pictures). 2) The current frame values are
|
---|
42 | subtracted by the previous frame. 3) The spot of X times Y with the highest Red
|
---|
43 | and Green density is detected as the current laser pointer position, if the
|
---|
44 | threshold is above a certain value. The C source code is found at [8].
|
---|
45 |
|
---|
46 | The mouse location is updated to it's right location taking into count
|
---|
47 | transformation from the virtual to the real screen. The UNIX X11 implementation
|
---|
48 | is done using parts of the xdotool [9] package.
|
---|
49 |
|
---|
50 | = Discussion and Conclusions =
|
---|
51 | The status of the project could be marked as an early alpha. Mouse updates and
|
---|
52 | clicking works fine, altough the initialisation phase (the so called pairing)
|
---|
53 | could use some improvement. The tracking works if the image is static and there
|
---|
54 | is not many distorting with regards to movement.
|
---|
55 |
|
---|
56 | The laser to mouse pointer caliberation is not yet working has has to be done
|
---|
57 | by hand, the checkerboard image (in the source [8]) also needs to be done
|
---|
58 | automatically.
|
---|
59 |
|
---|
60 | Brightness control is a part to focus on further research. The Webcam
|
---|
61 | now tries to optimize for the whole screen, causing the laser pointer to
|
---|
62 | disappear in a bright light blob.
|
---|
63 |
|
---|
64 | The tracking algoritm now has trouble using moving images. As the picture send
|
---|
65 | to the output could be 'snooped' as well. There should be some more smarter
|
---|
66 | detection 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/
|
---|