Each team will have a different project, but based on common technologies. Students are encouraged to collaborate on these common technologies and make in-class presentations when they find a solution that will benefit other groups.
All code must be credited with the original author.
It is recommended that the project be coded in either Java, or C, but any computer language can be used.
The following are requirements common to all projects:
product shall be robust to variations in lighting and camera orientation and position
prototypical video input shall be saved and retrieved to disk so that the software can be tested and demonstrated without live video (this is useful at job interviews)
product be separated into at least two and preferably three separate executables. As an example
Image acquisition and enhancement
Image interpretation and speech generation
Graphical User Interface
Support multiple simultaneous instances on multiple machines
If Java is used the GUI should be implemented in Swing and Java 2D
save video to disk
analyze video from camera and disk
stream video to GUI
display the intermediate images from the image processing pipeline
support pull-down menus
support a properties file that saves the state of the program, including
window size and location
last subdirectory used
preferences
Following a brief description of each project are a list of requirements. Requirements are listed in order of importance to the customer.
|
Projects Selected - Winter 2005
All New Projects for Spring 2005 We have
these special projects thought up by
|
Using a autonomously controlled arm sort two kinds of marbles that are randomly placed in a 12-inch square box. There should be at least 15 marbles in the box. The Sorter should verbally announce the following:
what it is going to do next, just like when you are play billiards,
whether your move worked in separating more of the marbles,
how many more marbles you have to move and
when you are done.
Automatically knock marbles off the table using a marble "shooter". The shooter should automatically aim and shot the ball without human intervention. Use at the most ten marbles to knock 5 balls off the table. Must give verbal feedback on:
the number of balls left on the table,
whether the shooter had a direct hit or missed to the side, and
plays the theme to rocky when done.
OR
Robotic Pong
Have five cups on the table filled with your favorite beverage. Take less than 10 shots to get one ping pong ball into each cup.
Have your robot take a drink after each successful pong. Give verbal feedback similar to above.
Automate the climbing of a small robot up a wall using a series of pegs. Must do at least six moves without falling. Must give verbal feedback on:
difficulty of the next move,
estimate of length of reach for next hand holds,
slipping,
topping out.
The projects are from Winter 2003
|
Determines the time of day by analyzing the video of a wall clock.
The team shall develop a system that
finds a clock on a wall
locates the hands on the clock face and
tells the time.
Determines the time of day by analyzing the video of a digital alarm clock.
The team shall develop a system that
finds the clock
locates the digits,
tells the time, and
plays alarms or music at user set times.
Using a computer
vision system read a Backgammon board and give a auditory description of the
last move.
The team shall develop a system that
finds the Backgammon board
finds all the pieces
determines the location of the pieces
determines when a move is made and speaks-out the move.
Using a computer vision system read the dice thrown in a backgammon game.
The team shall develop a system that
detects if dice are on the table
locates the dice
determine the numbers on the dice
speaks out the numbers, and say "yes" like with Marv Albert when doubles are rolled.
Using a computer vision system track the orientation of the head of a person that is playing a video game. Use the head movement to change the view of a scene in the video game and give voice feed back on which way you are looking.
The team shall develop a system that
finds the persons head and frame it,
determine orientation of the head,
hack in to the OS's mouse or keyboard driver so that you can control the game using your head orientation.
Prototype a system for reading and translating signs for sight-impaired and hearing-impaired individuals who are either moving in a building or on the street.
The team shall develop a vision-based system that
assumes that the camera is head mounted,
finds and understands signs in a cluttered visual environment such as a hallway or a street in downtown Montreal,
translates French signs into English,
overlay translations on the image of the sign, and
use speech to give location of the sign and read the sign in both the original and translation.
The system shall support
a 10 word vocabulary,
multiple word signs,
find multiple signs in an image, and
give auditory cues on status (e.g. "found sign", "can not see a sign", "translating sign", and "move closer I can not read it")
The team shall demonstrate the system using
a camera mounted on the head of someone walking around in lab with a laptop, and
signs scattered around the walls and columns.