Digital Image Processing
Projects Win 2017/18
Projects Aut 2016/17
Projects Aut 2015/16
Projects Spr 2014/15
Projects Spr 2013/14
Projects Win 2013/14
Projects Aut 2013/14
Projects Spr 2012/13
Projects Spr 2011/12
Projects Spr 2010/11
Projects Spr 2009/10
Projects Spr 2007/08
Projects Spr 2006/07
Projects Spr 2005/06
Projects Spr 2003/04
Projects Spr 2002/03
Final Project for Spring 2005-2006
The project should be done individually or in groups of up to 3 people and should require about 50 hours per person. Each group will develop and implement their own algorithm to detect an unknown number of visual code markers in an image captured by a cell-phone camera.
The project should be done individually or in groups of up to 3 people and should require about 50 hours per person. Each group will develop and implement their own algorithm. The task of the project is to detect and read visual code markers through the cell-phone camera. In the paper titled "Real-World Interaction with Camera-Phones", the author, Michael Rohs, describes the use of visual code markers in interacting with real-world objects. More information can be obtained by following this link. To give you an idea of the utility of visual code markers, the user could, for example, download the data embedded in the marker to his cell-phone, or follow a hyperlink embedded in the marker, or perform item-selection by rotating the camera-phone with respect to the marker, etc.
You will design and test your detection algorithm with a set of training images and the corresponding ground truth data that can be downloaded from the Downloads section. Once you submit your algorithm implementation, we will check its performance with a set of test images, which will be unknown to you while you work on your algorithm.
Visual Code Marker Details:
The visual code markers that we consider are 2-dimensional arrays. The array consists of 11x11 elements. Each element is either black or white. As shown in the figure below, we fix the elements in three of the corners to be black. One vertical guide bar (7 elements long) and one horizontal guide bar (5 elements long) are also included. The immediate neighbors of the corner elements and the guide bar elements are fixed to be white. This leaves us with 83 data elements which can be either black or white.
Training Images and Ground Truth Data
- The training images are regular JPEG images.
- The images can be read by imread( ) in MATLAB.
- The ground truth data are stored in the MATLAB data file called training_ground_truth.mat and can be read using load in MATLAB. The ground truth data consist of code marker data and position of upper left corner of the marker(s) in the given training images.
This is the MATLAB function which will be used to evaluate your code marker reading algorithm. You should use it to evaluate the performance of your algorithm on the training images.
Code Generation Program
This MATLAB function generates the code marker for a given input vector of 83 elements.
(1) Note that your detection algorithm has to output
Specifically, the interface between your code detection function and the function evaluate( ) is specified in MATLAB notation as follows:
(2) The performance metric (for a single input image):
(3) Positive scores will be added for different test images. Negative scores will be counted as zero.
(4) The maximum run time for a single image is 1 minute. We will abort your program if it takes longer.
(5) While still in the training and optimization phase, you can create your own code markers using generate_code.m, paste them on real-world objects, capture images using your humble cell-phone camera, and use them to check your performance.
(6) To register your group, please send an e-mail to email@example.com with the subject "group registration for project".
Deadline to register groups: May 12.
(1) Please mail to firstname.lastname@example.org (do not c.c. to TA's or Professor's personal e-mail address).
(2) For program, please include ONLY nessessary files in ONE ZIP file named "ee368groupXX.zip" and email it with subject "ee368 groupXX program". Your 2 digit group number XX is listed below.
(3) For report, please prepare in PDF format, name it "ee368groupXX.pdf" and email it with subject "ee368 groupXX report". Your 2 digit group number XX is listed below.
(4) Note that your code will be run on the SCIEN machines by the teaching staff. Hence, it is a good idea to get an account there and make sure that there are no platform-specific problems with your code.
(5) If you are a group, then you need to submit the log of who did what with your report.
2-member or 3-member groups:
01) Eric Chu, Erin Hsu, Sandy Yu. (project report)
20) Arayssi Sami. (project report)
Ground Truth Data for Test Images:
Updated evaluate function:
Histogram of scores:
project_histogram.pdf (each bin in the histogram is 100 points wide, maximum obtainable score is 1826, minimum possible score is 0.)
Please email email@example.com for questions or bug reports.