Learning Computer Vision through the Development of a Camera-Trackable Game Controller

Learning Computer Vision through the Development of a Camera-Trackable Game Controller

Andrea Albarelli (Dipartimento di Scienze Ambientali, Informatica e Statistica, Università Ca’ Foscari di Venezia, Italy), Filippo Bergamasco (Dipartimento di Scienze Ambientali, Informatica e Statistica, Università Ca’ Foscari di Venezia, Italy) and Andrea Torsello (Dipartimento di Scienze Ambientali, Informatica e Statistica, Università Ca’ Foscari di Venezia, Italy)
DOI: 10.4018/978-1-4666-4490-8.ch015
OnDemand PDF Download:


The trade-off between the available classroom time and the complexity of the proposed task is central to the design of any Computer Science laboratory lecture. Special care must be taken to build up an experimental setup that allows the students to get the most significant information from the experience without getting lost in the details. This is especially true when teaching Computer Vision concepts to prospective students that own little or no previous background in programming and a strongly diversified knowledge with respect to mathematics. In this chapter, the authors describe a setup for a laboratory lecture that has been administered through several years to prospective students of the Computer Science course at the University of Venice. The goal is to teach basic concepts such as color spaces or image transforms through a rewarding task, which is the development of a vision-based game controller similar in spirit to the recent human-machine interfaces adopted by the current generation of game consoles.
Chapter Preview


The laboratory is a tool of paramount importance in science education for several reasons. Experimentation and hands-on activities allow students to connect theoretical facts with their effects. Moreover, challenges and intellectual rewards coming from such activities help in providing motivation for further studying. However, the design of good laboratory experiences is not an easy task (Hofstein, A., & Lunetta, V., 2004). The quandary between the conceptual complexity of the activities to be offered and the limited scope of an experimental session is even more noticeable when dealing with advanced subjects such as Computer Vision (Bebis, G., Egbert, D., & Shah, M., 2003; Maxwell, B., 2001) or even Image Processing (Roman, D., Fisher, M., & Cubillo, J., 1998; Greenberg, R., 1998). In fact, these topics tend to be taught in graduated courses (Pridmore, T., & Hales, W., 1995) still, given the increasing importance of vision algorithms in the industry, they begin to be introduced also at undergraduate level (Sarkar, S., & Goldgof, D., 1998; Egbert, D., Bebis, G., McIntosh, M., LaTouttette, N., & Mitra, A., 2003; Hoover, A., 2003) or even during the high school (Greenberg, R., Raphael, J., Keller, J., & Tobias, S., 1998). In this paper we describe a laboratory setup that has been designed to be useful in teaching some basic Computer Vision concepts to high school students that are keen to join the undergraduate Computer Science course at the University of Venice. These prospective students exhibited a wide range of different knowledge backgrounds, since some of them have attended humanities studies, whilst others were more at ease with mathematics and physics.

For this reason it has been necessary to assume no previous programming skills and a very limited set of mathematical tools. To this end, we designed a laboratory session that includes about an hour of theoretical foundations and four hours of lightweight programming activity. The theoretical session introduces two concepts that will be central in the following experience: the YUV colorspace and the Hough Transform. They are both introduced with a minimal level of technicality and using very simple math notations. The programming session is performed within a custom environment that allows to write the body of the required functions directly without the need to know details such as how the images are acquired or how the methods are called. The functions have to be written with a subset of the Java syntax, that has proved to be simple to understand and suitable for this kind of laboratory lectures (Moscariello, S., Kasturi, R., & Camps, O., 1997). Before starting the programming activity itself, each student was supplied with a one-sheet handbook of the needed Java syntax and with some general instructions about the use of the integrated editor. The overall lab experience, which will be explained in detail in the following sections, imply the use of a simple game controller cut-out (see Figure 1) made out of a PVC sheet that must be recognized from an image with the help of the color of the band printed on it. Once the recognition happens, the orientation of the band must be determined and used to control a little game.

Figure 1.

Shots of the vision-based controller and of the main panel of the educational application

Complete Chapter List

Search this Book: