Menu:

6/2 until 8/29:

MTWRF:
10a-2a Thesis

Intro to Computer Vision Project Page


Seam Carving Example

Input image
Input image
Image with 100 lowest energy seams shown (in black)
Image with 100 lowest energy seams shown
Image with 100 seams removed (no noticeable artifacts)
Image with 100 seams removed
Image with 250 seams removed (artifacts start to appear)
Image with 250 seams removed

Seam Carving Video

11.06.07 - Project Writeup

Final report available here!

11.06.07 - Project Source Code

Java code available here!
Matlab code available here!

10.30.07 - Project Presentation

Presentation available here!

10.25.07 - Weekly Update #3

I read Automatic Image Retargeting with Fisheye-View Warping by Feng Liu and Michael Gleicher from the University of Wisconsin. The paper proposes using a non-linear fisheye-view warp that emphasizes parts of an image while shrinking others. It uses image information such as low-level salience and high-level object recognition to find important regions. These regions are automatically identified in the input image.

It differs from other approaches because it uses a non-linear image warping function to emphasize the important areas of the image while still retaining the surrounding context. Other approaches completely remove non-important regions. The fisheye-warping technique doesn't remove them, but instead de-emphasizes them. Using a fisheye warp is a commonly used method to provide a "focus+context" display that emphasizes the focus area while still retaining the context of the original image. The fisheye warpings are visible to the user, but it serves to let the user know that the image has been resized (where other methods available do not make this apparent). Other available methods will completely remove a feature if it is deemed unimportant, but the fisheye warping method will just distort it (rather than remove it).

10.18.07 - Weekly Update #2

This week I read Automatic Image Retargeting by Vidya Setlur et al. of Northwestern University. They propose a non-photorealistic algorithm for retargeting images (similar to the Seam Carving paper read last week). The algorithm automatically attempts to preserve important features and qualities. It works by minimizing the unimportant space between important regions.

The algorithm works as follows: segment the image into regions by applying the mean-shift algorithm [Comaniciu and Meer 2002]. Based on spatial distribution of color and intensity, combine adjacent regions. Generate an importance map using saliency [Itti et al. 1998] and face detection [Robotics Institute]. Identifiy the most important regions using this importance map. If the desired output size can fit around all of the important regions, then simply crop the image. Otherwise, remove the important regions from the image. Fill the 'holes' left behind with inpainting [Harrison 2001]. The image is then resized to the desired output size, and the important regions that were previously cut are pasted back onto the background. If the important regions are still too big to fit into the desired output size, the regions are resized inverse proportionately to their relative importance.

More generally speaking, the algorithm moves important regions closer together while still maintaining key features and their relationships. The limitations of the algorithm include inability to correctly process object shadows and incorrect resizing when the important object is too similar to the background.

10.11.07 - Weekly Update #1

For this update, I read Seam Carving for Content-Aware Image Resizing by Shai Avidan of Mitsubishi Electronic Research Labs and Ariel Shamir of The Interdisciplinary Center and MERL. They explain that image resizing should be performed with respect to the content of the image. They propose a system for removing 'seams' from the image that are of low energy. A seam is an optimal 8-connected path of pixels from one side of an image to another (top to bottom, left to right, etc). Optimality is defined using an image energy function. Seam carving can also be used to remove objects from an image (eg, an ex-girlfriend). By repeatedly removing low energy seams, an image can be resized while still preserving the original content.

They explored several different types of energy functions and methods for removing pixels. It is rather easy to see that they must be careful when removing pixels so as to not distort the original image. Images can also be enlarged beyond their original size by applying the algorithm in reverse (that is, adding seams of low energy instead of removing them). To remove objects or content from an image, the object is labeled as low energy. The algorithm then picks the object to be removed first.

10.04.07 - Proposal Posted

My project proposal has been posted. It can be viewed here.