Project Topics
1. Texture Synthesis
For this project, you will implement an algorithm that will generate a texture image of a specific size given a small input texture
patch. A few illustrative outputs are shown in the image below.

You are free to implement any algorithm (including your own) to meet the specification. However, the following two papers
should be very helpful,
The related chapter in the textbook is Chapter 8.
Project Data
2. Hand-Written Digit Recognition
For this project, you will implement an algorithm that can recognize hand-written digits. Two illustrative outputs are shown in the image below.

Again, you are free to implement any algorithm (including your own) to meet the specification, and the following paper should be relevant.
This paper is somewhat longer than most papers; however, it contains a description of several different algorithms on hand-written digit recognition.
You don't need to understand the whole paper but only a part that is relevant (once you have identified what algorithm you'd like to investigate and implement). The related chapters in the textbook are Chapters 22, 23 and 24.
Project Data
3. Pedestrian Detection
For this project, you will implement an algorithm that can detect pedestrians in an image. Several illustrative outputs are shown in the image below.

The algorithm described in this paper has several (somewhat) independent components. A few of these components have codes/implementations available online (For example, the code that extract HOG features). The related chapters in the textbook are Chapters 22, 23 and 24.
Project Data
4. Panoramic Images
In this project, we will implement a system that will compute a panoramic image from a collection of input images. To construct the panoramic
images, we need to specify a few correspondences between images. In a typical commercially-available software package that produces panoramic images, this step is accomplished automatically (without human inputs). For this project, however, the inputs will be provided by the user (i.e., by clicking corresponding points). Obviously, we would like to minimize the number of point clicks and the following paper shows that for a pair of images we need only to click three corresponding points:
An illustrative output is
The algorithm described in this paper has several (somewhat) independent components. A few of these components have codes/implementations available online (For example, bundle adjustment.). The related chapters in the textbook are Chapters 10, 11, 12 and 13.
Project Data
5. Image InPainting
Inpainting is the technique of modifying an image in an undetectable way, and two examples of image inpainting are shown below.
Somewhat differently from the above four projects, you are required to implement the inpainting algorithm described in the following paper,
The related chapters in the textbook are Chapters 7, 9 and 26.
Project Data