The web project is to be a tutorial of a topic in pattern
recognition. This consists of an HTML document worth 20% and a JAVA applet
worth 15% (due at the end of the term). You are not expected to do
original research here, just create a tutorial like the ones used as
Your project should be easier to read than the paper(s) it is based on.
Don't copy endless series of equations and text. Add lots of
pictures, examples, moving gifs and color. Explain things in a natural
manner, instead of using lots of notation.
Your applet must work on machines at the CS labs, as well as on windows.
Test a basic version of your applet well in advance of the deadline!!!
The minimum requirement is that the user can follow the steps of some
procedure. In other words, there may be no user interaction, but you have
one (or preferably more) example illustrated in great detail. There
should be some advantage of your applet over a gif movie.
A good applet will allow user interaction. This does not mean being able
to choose among 2-3 examples. The user should be able to enter/delete
objects and so on.
An excellent applet is one which can be used multiple times by the same
user, and each time they can potentially construct/discover something
new. This means that the applet is a (pattern recognition) tool, not
just an example.
Projects from past years
More projects from cs507 (identical project scheme)
After you have ENTIRELY finished your project, you must give me a
.tar.gz file: Place all your files in a directory named after you
(example: if your name is James Bond, then "mkdir JamesBond" ). Then
"tar cvf JamesBond.tar Jamesbond" , "gzip JamesBond.tar" and send
me the file JamesBond.tar.gz by email.
Note: exact commands may differ slightly. For example you might need
Your starting page must be called welcome.html - so that a link of
type http:cgm.cs....../JamesBond will open up your project.
If projects by two people are allowed, just use either name.
Please include your names, the title, and contact information in your html
Derek Rivait: The Euclidean algorithm and traditional musical rhythms
Alexandre Fortin: Relative hulls
Ran Chen: Distance transforms and Rosenfeld's algorithm for
Jean-Philippe Gravel and Donovan Parks:
Corner detection and interest point algorithms
Efficient shape matching through model-based shape recognition
Line-sweep algorithm for computing the Voronoi diagram
Implementation of contour tracing and hysteresis smoothing
Using neural networks to fit a continuous curve with a polynomial
Recognition of Chinese characters with application to online learning
An efficiently computable metric for comparing polygonal shapes
Forward-Backward and Floating Point feature selection
Reconfiguring trianglulations with edge-flips and point moves
Some available projects
- Contour tracing: design applets, update current tutorial, analyze
Moore tracing, etc
- Smoothing: make cleaner waterfall applet, describe proof on computing
a geodesic in a polygon (with applet)
Shape (polygon) morphing: pick a paper from
this bibliography list .
- More morphing:
- Flipping edges and moving points in triangulations.
this paper for general point sets, or
for points on grids.
Local operations on polygons: see
this paper .
Edge slides on trees. see
. I have more references if you are interested.
- Medial axis: description of a O(nlogn) time
- Voronoi diagram: description of the O(nlogn) time algorithm
which uses 3D convex hulls. This would be a good choice only if you are
good with 3D visualisations.
- Geometric feature extraction methods: browse through
topics. Suggestive contours (illusions) seem
- Decomposing polygons into star-shaped pieces
- Decomposing orthogonal polygons into rectangles
- Matching polygons: find the paper highlighted in
this page . I also have a copy that you can borrow.
Note that the link above also has other possible topics.
- Music matching: see these two sample projects:
There are other similar topics that could be presented.
Estimating centers of point sets: