Instructions for the Project

Links to Image Datasets

List of potential project topics:

(Note: While reading a research paper for the first time, read its abstract, conclusion, experimental results (in that order). Leave most of the introduction for much later. The introduction often contains a literature survey which might be a tad overwhelming. Always start your project from simple implementations, building up step by step. Don't try the most challenging cases first or all at once.)

  1. Detection of citrus fruits from images of citrus plants. Background literature: here, and here.

  2. Image deblurring using reverse heat equation and reverse mean shift - read paper here and chapter 6 of the first author's PhD thesis here.

  3. This one uses principal components analysis (PCA) for object recognition: H. Murase and S. Nayar, "Visual learning and recognition of 3D objects from appearance", International Journal of Computer Vision, 1995. Useful data is here.

  4. Apply the PCA technique to detect faces in images. Can you handle variations in pose, illumination, scale? Can you make your technique fast, faster, fastest?

  5. Apply the PCA technique to detect cars in images. Can you handle variations in pose, illumination, scale, vehicle type and color? Can you make your technique fast, faster, fastest?

  6. Using partial differential equations (PDEs) for image compression: M. Mainberger and J. Weickert, "Edge-Based Image Compression with Homogeneous Diffusion", CAIP 2009 AND C. Schmaltz, J. Weickert and A. Bruhn, "Beating the Quality of JPEG 2000 with Anisotropic Diffusion", DAGM 2009.

  7. (This one is very mathematical but you will learn a lot from this paper and also generate some really cool-looking results on color images) Smoothing and inpainting of color images using PDEs: "Vector-Valued Image Regularization with PDEs: A Common Framework for Different Applications"

  8. For how many iterations does one run a PDE to smooth an image? Find out by analyzing the residual image: the difference between the noisy image and its filtered form. D. Brunet, E. Vrscay and Z. Wang, "The use of residuals in image denoising", ICIAR 2009 (be prepared for some math, though the implementation is not so hard!)

  9. A nice way of repairing holes in textures and text images (the math in the paper might seem daunting but the actual algorithm/technique is easy and intuitive). You may want to think of some nice application of this method for some image processing problem different from what is in the paper (if you want). Texture Synthesis by Non-parametric Sampling, Alexei A. Efros, Thomas Leung, In ICCV 1999

  10. Image Quilting for Texture Synthesis and Transfer, check out this webpage

  11. We will study a technique in class called the Hough Transform. It is used to detect shapes such as lines, circles, ellipses, etc. in images. Implement a Hough-transform based scheme to detect some or all of the following: roads and road-lanes in images, AND/OR buildings in urban panoramas, AND/OR vehicles such as trucks in traffic videos, AND/OR advertisement billboards or traffic sign-posts from images. Can you speed up your implementation?

  12. Detection of faces by detecting regions of skin from color images. Look for a short tutorial here. Check references therein.

  13. A technique to use joint entropy to detect cuts or sudden changes in a video sequence (called as video shot detection): "Information Theory-Based Shot Cut/Fade Detection and Video Summarization". Find the paper here.

  14. One more approach for video shot boundary detection using color image histograms: here.

  15. And one more approach to video shot detection: Theodore Vlachos, Cut Detection in Video Sequences Using Phase Correlation, IEEE Signal Processing Letters, Vol. 7, No. 7, July 2000, pp. 173-175

  16. For machine learning people: implement the technique in this paper, which compares eigenfaces with the so-called "fisherfaces".

  17. Application in forensics - detection of image splicing (a spliced image is a manipulated image created by pasting parts of different images to create a composite one that can trick a viewer into believing that it was a genuine/non-manipulated image): Exposing Image Splicing with Inconsistent Local Noise Variances

  18. Given an image frame, find the most similar image frame from a database of images, using color image histograms: see paper here.

  19. If you scan or take pictures of pages from a book, the resulting images have multiple problems. They can be noisy, have poor contrast, at improper orientation or they can be skewed (this especially happens to lines of text that happen to lie in the central portions of hard-bound books, because those pages cannot be laid out flat on a flat surface). Implement a system that can correct as many of these problems as you can. You may some of the steps interactively (in a semi-automatic way). You can see some links here or here.

  20. When you apply for a foreign country visa, you need to submit a photo. The photo has several specifications: it should contain a frontal view of your face, the entire face should be visible and no large head rotations are allowed, the expression should be neutral, the background should be of a particular color (no cluttered backgrounds allowed), the resolution should be acceptable (not too low), there should be no scarves or other accessories occluding parts of the face, the spectacles should not have a large glow on them, and so on. Try to implement a system that will check for as many of these specifications as you can (you need not do all). Let your imagination run wild! You can add other specs here that you deem fit. You can take a look at the photo requirements for a US visa .

  21. Take an image (a photo of a scene or a face) and convert it into a cartoon. You may apply anisotropic diffusion, or bilateral filtering to make the image look piecewise constant, and follow it up with edge detection. Make your outputs look as as good as possible. The process of converting a face image into a cartoon is called as toonification. Here is a sample course project done at Stanford. And here (Flow based image abstraction) is an interesting paper, which applies modification of the bilateral filter to convert a photo into a cartoon. Here is another idea - to extend this for video. The paper is here. You can try to explore: what happens if you independently applied the toonification procedure to individual frames? Do you think you will get weird results if one frame was sligthly noisier than the previous one? Is there something you can do about it?

  22. "A Fingerprint Recognition Algorithm Using Phase-Based Image Matching for Low-Quality Fingerprints", Koichi Ito et al, IEEE Conference on Image Processing (2005)

  23. Digital Photography with Flash and No-flash pairs, SIGGRAPH 2004, check out this webpage:

  24. An innovative (semi-)automated application of image warping – swapping faces between two images. See a sample course project done at Stanford here below:

  25. Let's say you urgently wanted to scan a document and send it out over email, but don't have access to a scanner. You can use your mobile phone to take pictures of the document, but if the document is large in size, any one picture might be insufficient to cover the entire document. In such a case, you will need to align the different images you clicked, and blend them to create a meaningful collage. You will also want the image to not be crooked but aligned with the horizontal and vertical axes. This is yet another fun application of image warping. See a sample project from Stanford here.

  26. Fast Bilateral Filtering:,

  27. Coherence-Enhancing Filtering