- Seam carving
-
Seam carving (also known as image retargeting, content-aware image resizing, content-aware scaling, liquid resizing, or liquid rescaling), is an algorithm for image resizing, developed by Shai Avidan, of Mitsubishi Electric Research Labs (MERL), and Ariel Shamir, of the Interdisciplinary Center and MERL. It functions by establishing a number of seams (paths of least importance) in an image and automatically removes seams to reduce image size or inserts seams to extend it. Seam carving also allows manually defining areas in which pixels may not be modified, and features the ability to remove whole objects from photographs. The purpose of the algorithm is to display images without distortion on various media (cell phones, PDAs) using document standards, like HTML, that already support dynamic changes in page layout and text, but not images.[1]
Contents
Seams
Seams can be either vertical or horizontal. A vertical seam is a path of pixels connected from top to bottom in an image with one pixel in each row[1]. A horizontal seam is similar with the exception of the connection being from left to right. The importance/energy function values a pixel by measuring its contrast with its neighbor pixels.
Computing Seams
Computing the seam consists of finding the path of minimum cost from one end of the image to another. This can be done via Dijkstra's algorithm, dynamic programming, or graph cuts [1].
Dynamic Programing
Dynamic programming is a programming method that stores the results of sub-calculations in order to simplify calculating a more complex result. Dynamic programming is used in seam carving for computing seams.
If attempting to compute a vertical seam (path) of lowest energy, for each pixel in a row we compute the energy of the current pixel plus the energy of one of the three possible pixels above it.
This is better described by this image:
The first row has no rows above it, so the sum (black) is just the energy value of the current pixel (red).
The second row, if we look at the second pixel for example, we see its energy value is a 2 (red). If we look above it, it has a choice of either 1, 4, or 3 (black). Since 1 is the minimum number of the three values, we ignore the other two and set the sum of the pixel to its energy value which is 2 (red) plus 1 (black).
After the above operation is carried out for every pixel in the second row, we go to the third row:
We repeat the process in row two in row three to end up with the final cumultive sums for the seams/paths. The lowest value or values are the seams with the lowest energy, which would be in this example the seams with '5' in the last row.
To trace the seam/path, work from the last row and follow the green arrows:
Algorithm
1) We start with an image such as:
2) We then calculate the weight/density/energy of each pixel. This can be done by various algorithms: gradient magnitude, entropy, visual saliency, eye-gaze movement[1]. Although gradient magnitude gives 'satisfactory results.'
3) After we have the energy of the image, we generate a list of seams. Seams are ranked by energy, with low energy seams being of least importance to the content of the image. We can choose to calculate seams via the dynamic programming approach.Seams shown with the energy function:
Seams shown with the original image:
4) We then remove the seams from the image, reducing the size of the image as a result:The recalculated energy function of the image would be:
Issues
- The algorithm may need user provided information to reduce errors. This can consist of painting the regions which are to be preserved. With human faces it is possible to use face detection.
- Sometimes the algorithm by removing a low energy seam may end up inadvertently creating a seam of higher energy. The solution to this is to simulate a removal of a seam, and then check the energy delta to see if the energy increases. If it does, prefer other seams instead.[2]
Implementations
Adobe Systems acquired a non-exclusive license to seam carving technology from MERL[3], and implemented it as a feature in Photoshop CS4, where it is called Content Aware Scaling.[4] As the license is non-exclusive, other popular computer graphics applications, among which are GIMP, digiKam, and ImageMagick, as well as some stand-alone programs, also have implementations of this technique, some of which are released as free and open source software.[5][6][7]
Improvements and extensions
- Better energy function and application to video.[2]
- Combine with cropping and scaling.[8]
- Much faster removal of multiple seams[9]
- On-demand, server-side seam carving [10]
See also
References
- ^ a b c d Seam Carving for Content-Aware Image Resizing. Shai Avidan, Ariel Shamir, 2007.
- ^ a b Improved Seam Carving for Video Retargeting. Michael Rubinstein, Ariel Shamir, Shai Avidan. SIGGRAPH 2008.
- ^ Mitsubishi Electric press release, Business Wire, December 16, 2008.
- ^ Adobe Photoshop CS4 new feature list.
- ^ Liquid Rescale, seam carving plug-in for GIMP
- ^ Announcement of inclusion in digiKam
- ^ Seam carving capability included in ImageMagick
- ^ Multi-operator Media Retargeting. Michael Rubinstein, Ariel Shamir, Shai Avidan. SIGGRAPH 2009.
- ^ Real-time content-aware image resizing[dead link] Science in Chine Series F: Information Sciences, 2009 SCIENCE IN CHINA PRESS.
- ^ On-demand, server-side seam carving based on CAIR
External links
- Seam Carving demonstration videos:
- on YouTube
- on Ariel Shamir's pages on the Interdisciplinary Center web site (higher resolution)
- Explanation of seam carving (Liquid rescaling) at the ImageMagick website
Mitsubishi Electric Divisions and
subsidiariesCurrentGreen Cycle Systems Corporation · Mitsubishi Electric (China) · Mitsubishi Electric Europe · Mitsubishi Electric USDefunctJoint ventures and
shareholdingsCurrentPowerex (50%) · Renesas Electronics (25.05%) · Shanghai Mitsubishi Elevator · Shihlin Electric (20%) · TMEIC (TMEIC Corporation) (50%)DefunctProducts, services
and standardsCurrentMitsubishi AAM-4 · Camellia · CC-Link · DiamondTouch · Diamond Vision · Ecodan · KASUMI · MelsecNet · MISTY1 · Privacy Enhanced Computer Display · Saffron Type System · Seam carving · SERVIS-2 · Superbird-C2 · Type 3 Chū-SAMPastPeople Places Other Atacama Submillimeter Telescope Experiment · Mitsubishi Electric Championship at Hualalai · Mitsubishi Electric Cup · Mitsubishi Electric Diamond Dolphins · Mitsubishi Electric Koalas · Mitsubishi Foundation
Categories:- Image processing
- Mitsubishi Electric products, services and standards
Wikimedia Foundation. 2010.