|
Instructor: David Lowe
January-April 2014.
A major course requirement for CPSC 525 will be a multi-stage project,
with the following deadlines:
Tuesday, March 4: Project proposal. Write a review of
the literature relevant to your topic, describe the initial progress
that has been made, and outline plans for completion. The length
should be no longer than 4 pages. The proposal should be written in
the usual form of scientific presentation, including abstract, introduction,
previous work, research plans, and references.
April 1-8: Project presentations. Class members will give
10 minute presentations on their projects. This is optional, but
evaluation will be designed so that a presentation can only add to the
course grade.
Monday, April 28: Final report. Hand in the final project
report, which may include material from the progress report. The
length should be no more than 8 pages and should be similar in
organization to a conference paper. In addition, the final report should
contain a listing of any source code that was written (not part of
the page limit).
Project Ideas
The purpose of the project is to gain in-depth knowledge of some
aspect of the computer vision field and to gain experience with using
the primary research literature and doing research.
The following project examples are meant to provide ideas and
guidelines. Students are free to develop their own topics, which may
also include topics related to their thesis research or covered in
CPSC 505 or other related courses. Any sharing of projects between
courses should be clearly documented. Group projects are allowed, but
in this case the report should also briefly describe the specific work
that each student contributed to the overall project.
Improved methods for stereo vision
Experiment with better methods for stereo matching than what were used
in the first homework assignment. For example, source code is
available for the efficient belief propagation method for stereo
matching by Felzenszwalb and Huttenlocher at http://cs.brown.edu/~pff/bp/.
One problem with applying this algorithm to realistic stereo data is
that it performs very poorly when the images have differing intensity
or contrast. You could test this by synthetically modifying
brightness for one of the images, and develop normalization methods
that avoid this problem. Other projects could be to modify this code
to use colour images or apply the algorithm to an up-sampled image to
avoid the loss of information caused by added blur as described in the
paper.
Recognition of UBC buildings
Extend the approach of SIFT feature matching from the second homework
assignment to handle large numbers of object training images. This
can be done efficiently by using FLANN
(Fast Library for Approximate Nearest Neighbors). You can test this
by taking many images of buildings on the UBC campus and seeing if
other images taken at different times can be correctly recognized.
Use OpenCV or other open source software
OpenCV is a free
open-source system of software for performing computer vision tasks.
It has a large number of existing modules and allows new features
to be added. Many potential course projects could be designed to
use the existing OpenCV capabilities and extend them by making some
improvements. For example, OpenCV has modules for face detection
and gesture recognition that could be improved by adding more training
data or improving segmentation from cluttered backgrounds. Another
project would be to systematically test various algorithms, such as
feature detectors, against some data with known ground truth, and report
the results.
Object category recognition using boosting
One of the most popular approaches to object category recognition is
the use of the AdaBoost machine learning algorithm.
Matlab source code is available for performing a variant of AdaBoost
(called GentleBoost) in the short course on object category recognition
by Li, Fergus, and Torralba. You can experiment with this source
code on various object category recognition tasks and report on its
performance under varying training conditions. You could try to
improve its performance by using additional image features as input.
Improving Wikipedia articles on computer vision
Many Wikipedia articles in the area of computer vision are unclear,
missing information, or could use other improvements. You could
choose some articles on topics related to the course, and work to
improve them. These could be on specific topics such as the Hough
Transform, or general topics such as Computer Vision itself. Your
project report should describe the problems you addressed, what
changes you proposed, and whether they were accepted by the other Wikipedia
editors.
Review paper
A project could consist of an in-depth literature review and analysis
of some area. Possible topics are the neurophysiology of vision,
visual psychology, or some area of the computer vision industry. The
report should synthesize and summarize the previous literature and
attempt to draw original conclusions.
Sources for more ideas
Look at the suggested implementation exercises at the end of most chapters
of the Szeliski book. Many of these would be suitable as a basis for a
course project.
|