| 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/
|
---|