Fact-checked by Grok 2 weeks ago

Seam carving

Seam carving, also known as content-aware image resizing or liquid rescaling, is an algorithm that enables the resizing of images by selectively removing or inserting one-pixel-wide connected paths called seams, which follow low-energy regions to minimize distortion of important visual content. Developed by Shai Avidan of Mitsubishi Electric Research Laboratories and Ariel Shamir of the Interdisciplinary Center in , the technique was first introduced in a 2007 paper presented at the conference. It relies on an energy function, typically based on gradients measuring pixel intensity changes, to identify seams via dynamic programming, allowing for efficient computation with linear relative to image size. The algorithm supports both image reduction, by repeatedly carving out seams, and expansion, by inserting duplicated seams, making it suitable for adapting images to various display aspect ratios without uniform scaling that could warp key features like faces or objects. Additional features include forward energy mapping to predict and reduce artifacts from sequential seam removals, as well as integration of user-provided saliency maps or scribbles to guide the process toward specific regions of interest. Beyond basic resizing, seam carving facilitates applications such as object removal by targeting seams around specified areas and content enhancement through selective seam insertion. Since its inception, seam carving has been extended to video retargeting by incorporating temporal coherence and graph-based optimization to handle frame-to-frame consistency, enabling real-time adaptation for mobile devices and web media. Its impact lies in addressing the challenges of diverse screen sizes in , with implementations influencing tools for image processing and influencing subsequent research in content-aware scaling techniques.

Introduction and History

Overview

Seam carving is an algorithm for content-aware image resizing that alters the dimensions of an by systematically removing or inserting low-energy paths, known as seams, to maintain the salience of important visual elements such as edges, textures, and structures. This approach allows for flexible adjustments in image size and while prioritizing content preservation over uniform scaling. The primary objective of seam carving is to enable non-uniform resizing that adapts images to diverse display formats, such as varying screen sizes or orientations, without introducing significant visual distortions that plague conventional methods like proportional or rigid cropping. Unlike , which can stretch or compress the entire image and blur details, or cropping, which discards portions indiscriminately, seam carving targets less critical areas for modification. For instance, in resizing a to fit a screen, the algorithm might narrow expansive sky regions while leaving the foreground subject, like a mountain or tree, intact. Seam carving was introduced in 2007 by Shai Avidan of Mitsubishi Electric Research Laboratories (MERL) and Ariel Shamir of The Interdisciplinary Center, , marking a significant advancement in image retargeting techniques. At its core, the method relies on identifying seams—monotonic paths of pixels—and energy maps that quantify visual importance, though these elements are explored in greater detail elsewhere.

Development and Key Publications

The development of seam carving traces its origins to earlier efforts in content-aware image manipulation. In 2005, Vidya Setlur and colleagues published "Automatic Image Retargeting," which introduced a technique for resizing images by identifying and preserving regions of importance using saliency maps derived from visual attention models, though it relied on warping and cropping rather than seam removal. The seminal contribution came in 2007 with the paper "Seam Carving for Content-Aware Image Resizing" by Avidan of Electric Research Laboratories (MERL) and Ariel Shamir of the Interdisciplinary Center Herzliya. This work formalized the seam carving algorithm, defining seams as optimal paths of low-energy pixels and using dynamic programming for efficient detection and removal to achieve content-preserving resizing for both reduction and expansion. Developed at MERL, the algorithm was released under a non-exclusive to facilitate broad adoption. Key extensions followed rapidly. In 2008, the algorithm received patent protection through U.S. Patent Application Publication No. 2008/0219587, titled "Method for Retargeting Images," assigned to MERL and covering the core seam insertion and deletion processes. That same year, Systems integrated a version of the technology into Photoshop CS4 as "Content-Aware Scaling," marking its entry into commercial software and enabling users to resize images while minimizing distortion to salient features. Subsequent publications built on these foundations. Avidan and Shamir's 2009 article "Seam Carving for Media Retargeting" in Communications of the ACM extended the method to video, incorporating temporal to remove 2D seam manifolds across frames while preserving motion and . In 2009, Shamir, along with Michael Rubinstein and Avidan, proposed a multi-operator framework in "Multi-Operator Media Retargeting," combining seam carving with cropping and uniform scaling, guided by image similarity metrics, to optimize retargeting outcomes and reduce artifacts in extreme resizings. The open encouragement of implementations, including reference code provided by the authors on their project page, spurred rapid dissemination. By 2010, seam carving had seen widespread academic exploration in over 100 citations and commercial integration beyond , influencing tools in processing libraries and mobile applications.

Core Concepts

Seams

In seam carving, a seam is defined as a connected of pixels that traverses an from one to the opposite , specifically either vertically from top to bottom or horizontally from left to right. This is monotonic, meaning it moves consistently in a single direction without reversing course, ensuring a smooth progression across the image dimensions. Key properties of a seam include including exactly one from each row for a vertical seam or each column for a seam, which maintains the structural integrity of the image grid during . The path is 8-connected, with connectivity restricted such that each step moves to one of the three adjacent pixels in the next row (columns j-1, j, or j+1 for vertical seams) or next column (rows i-1, i, or i+1 for seams), while adhering to the monotonic constraint, which promotes smoothness and prevents abrupt jumps. For instance, a vertical seam might snake through a uniform background region, such as a clear in a photo, selecting pixels that minimally disrupt the overall visual content. Seams play a central role in content-aware resizing by representing paths of minimal perceptual change; removing a seam shrinks the by eliminating these s, while duplicating or inserting seams along similar paths expands it, thereby preserving important features like faces or objects. Seam selection is guided by an energy function that quantifies importance, though the structural definition of the seam itself remains independent of specific energy computations.

Energy Functions

In seam carving, the energy function assigns a numerical value to each that quantifies its visual importance, or saliency, within the . This measure typically assigns high to in areas with strong , textures, or structural details, while assigning low to uniform or smooth regions, thereby guiding the algorithm to prioritize the preservation of salient content during resizing. The foundational energy function, as introduced in the original seam carving algorithm, is based on the magnitude of the and is defined as
e(I) = \left| \frac{\partial I}{\partial x} \right| + \left| \frac{\partial I}{\partial y} \right|,
where I represents the input , and \frac{\partial I}{\partial x} and \frac{\partial I}{\partial y} denote the horizontal and vertical gradients, respectively. These gradients are commonly computed using discrete operators, such as the Sobel , to approximate the partial derivatives and emphasize .
Variations of the energy function extend this basic gradient-based approach to better capture perceptual importance. For instance, the L2-norm variant replaces the L1 summation with the Euclidean norm of the gradients, e(I) = \sqrt{ \left( \frac{\partial I}{\partial x} \right)^2 + \left( \frac{\partial I}{\partial y} \right)^2 }, while more advanced functions incorporate additional cues like over local windows or visual saliency maps derived from models. These alternatives aim to enhance seam selection by accounting for higher-level features beyond simple edges. The resulting energy is a two-dimensional matching the dimensions of the input , where each entry stores the computed energy value for the corresponding . This directs potential seams toward paths of minimal cumulative energy, ensuring that removed or inserted seams traverse low-importance regions to minimize visual disruption. For example, in an featuring a person's face against a uniform , the energy would exhibit high values around the facial contours and eyes due to discontinuities, while the sky background would show near-zero energy, allowing seams to preferentially route through the sky without altering the face.

Algorithm Details

Computing the Energy Map

The computation of the serves as a critical preprocessing step in seam carving, where an input is analyzed to assign an value to each based on its visual importance, typically derived from magnitudes that highlight edges and structural features. For an RGB color , one approach is to convert it to using a standard luminance formula, such as Y = 0.299R + 0.587[G](/page/G) + 0.114[B](/page/R), to simplify processing and focus on intensity changes. However, many implementations compute gradients separately for each RGB channel and the magnitudes across channels: e(I) = \sum_{c \in \{R,[G](/page/G),B\}} (|\partial_x I_c| + |\partial_y I_c|), providing a color-aware measure without grayscale conversion. Once prepared, filters are applied via convolution to estimate the partial derivatives \partial_x I and \partial_y I for each , with the e(I) then calculated as the of their absolute magnitudes: e(I) = |\partial_x I| + |\partial_y I|. To compute these gradients accurately, Sobel operators are widely employed due to their effectiveness in while providing smoothing to reduce noise sensitivity. The horizontal gradient kernel \nabla_x is defined as the 3x3 : \begin{bmatrix} -1 & 0 & 1 \\ -2 & 0 & 2 \\ -1 & 0 & 1 \end{bmatrix} and the vertical gradient kernel \nabla_y is its : \begin{bmatrix} -1 & -2 & -1 \\ 0 & 0 & 0 \\ 1 & 2 & 1 \end{bmatrix}. Convolving the with these kernels yields the gradient components, whose absolute values are summed to form the energy map, emphasizing pixels near high-contrast boundaries as having higher energy. Boundary pixels pose edge cases in gradient computation, as neighboring values outside the image are unavailable; different implementations handle this differently. For example, some pad the image with a 1-pixel of zero values (black pixels) to assume black outside, which can introduce high-energy artifacts at non-black borders. Others use , treating the as to avoid such artifacts. Energy values in the resulting map may be normalized to the [0,1] range by dividing by the maximum energy found for purposes, though this is not required for . The entire map computation achieves linear of O(N), where N is the total number of , since the operation processes each in constant time using the fixed-size 3x3 kernels. This map then represents the as a where low-energy seams correspond to of minimal visual disruption.

Seam Detection via Dynamic Programming

Seam detection in seam carving involves identifying an optimal of , known as a seam, that minimizes the total across the while adhering to connectivity constraints. For a vertical seam in an I of size n \times m, the seam s is defined as a connected of s_k = (x_k, y_k) for k = 1 to n, where each is 8-connected to the next, satisfying |x_k - x_{k-1}| \leq 1 and y_k = y_{k-1} + 1. The objective is to find the seam s^* that minimizes the of the function values along the , E(s) = \sum_{k=1}^n e(I(s_k)), where e is the derived from the 's . This formulation ensures the seam removes or inserts in low-importance regions, preserving content. The standard approach to solving this employs dynamic programming, which efficiently computes the by building a cumulative . Let M denote the minimum energy of any ending at (i, j). The is initialized for the first row as M{{grok:render&&&type=render_inline_citation&&&citation_id=1&&&citation_type=wikipedia}} = e(I(1, j)) for all columns j. For subsequent rows i = 2 to n, the is: M = e(I(i, j)) + \min \begin{cases} M[i-1][j-1] & \text{(if } j > 1\text{)} \\ M[i-1] \\ M[i-1][j+1] & \text{(if } j < m\text{)} \end{cases} This relation considers the three possible 8-connected predecessors from the previous row, selecting the one that yields the lowest cumulative energy. The table is filled row by row from top to bottom, ensuring each entry incorporates the optimal subpath to that pixel. Once the dynamic programming table is complete, the optimal seam is recovered via backtracking. Identify the minimum value in the last row, \min_j M, which corresponds to the ending pixel of the lowest-energy seam. Then, trace backwards to the top row by following the predecessor that achieves the minimum in the recurrence at each step, reconstructing the seam path in reverse. This process yields the exact coordinates of the seam pixels. The dynamic programming method operates in O(nm) time and , linear in the total number of pixels N = nm, making it highly efficient for large images without requiring excessive or . While alternatives such as Dijkstra's shortest path algorithm can model the problem as a where pixels are nodes and edges represent , dynamic programming is preferred due to its exploitation of the seam's row-ordered , avoiding the overhead of priority queues.

Resizing Operations

Seam carving achieves resizing by iteratively applying seam detection and modification to adjust the dimensions while preserving important . The process begins by defining the target width and height, which determines the number of seams to remove or insert. For shrinking, the algorithm repeatedly identifies and removes the lowest-energy seam until the desired size is reached, updating the and recomputing the energy map after each removal to account for changes in neighborhoods. This ensures that subsequent seams avoid regions already altered, maintaining structural integrity. In the shrinking operation, vertical seams reduce the width by one per row, while horizontal seams reduce the by one per column. To achieve balanced resizing, especially when altering the , the algorithm alternates between vertical and horizontal seam removals or uses a combined approach via a transport map that optimizes the sequence of operations across both directions. For instance, to resize an from dimensions m \times n to m' \times n', exactly m - m' vertical seams and n - n' horizontal seams are removed in an interleaved manner. Each removal shifts the coordinates of affected , requiring an update to the . The enlarging process reverses this by inserting seams rather than removing them. It identifies low-energy paths—typically the same seams that would be removed for shrinking—and duplicates them, interpolating values along the seam by averaging with neighboring to blend seamlessly and avoid visible artifacts. For expansion by k pixels, k such seams are inserted in the reverse order of a hypothetical removal sequence, ensuring content-aware growth. Gradient-based methods may further refine for seam pixels to match surrounding intensities. This mode supports moderate enlargements, with larger changes (exceeding 50% of original size) recommended in multiple passes to minimize distortion. The full resizing workflow can be outlined in pseudocode as follows, assuming vertical shrinking for simplicity (adaptations for horizontal or insertion follow analogous steps):
function resize_shrink(image, target_width):
    current_image = image  # Assume dimensions m x n, target m' < n
    num_seams_to_remove = n - target_width
    for i in 1 to num_seams_to_remove:
        energy_map = compute_energy(current_image)  # O(m*n) time
        seam = find_min_energy_seam(energy_map)     # Dynamic programming, O(m*n)
        current_image = remove_seam(current_image, seam)  # Update image and coordinates
    return current_image
For insertion, replace remove_seam with insert_seam, which duplicates and interpolates along the seam path. The seam detection step integrates dynamic programming as described in prior sections. Performance-wise, each iteration requires time linear in the number of pixels N = m \times n, leading to a total complexity of O(N \cdot K) for removing or inserting K seams, where K is typically much smaller than N. On standard hardware, resizing a 400×500 image to 100×100 takes approximately 2.2 seconds. This efficiency stems from the localized nature of updates, avoiding global recomputation.

Challenges and Mitigations

Distortion and Artifacts

Seam carving can introduce visual distortions, particularly in textured regions such as fur or grass, where repeated removal of low-energy seams leads to warping and unnatural deformations. These artifacts arise because the algorithm prioritizes energy minimization, often carving through repetitive patterns that lack distinct high-energy features, resulting in jagged edges or irregular pixel shifts that disrupt the texture's coherence. For instance, in images with dense foliage or animal fur, multiple iterations exacerbate the issue, creating visible discontinuities that degrade the overall visual quality. Another common problem is content displacement, where salient objects shift positions unnaturally across resizing iterations, altering the image's compositional balance. This occurs as seams accumulate around important elements, forcing peripheral content to compress or expand disproportionately, which can make foreground subjects appear to "slide" or warp relative to the background. In busy backgrounds with complex patterns, such displacements become more pronounced, leading to failure cases where the algorithm struggles to isolate and preserve key structures amid competing energy signals. Similarly, faces often suffer deformation due to their curved, high-energy contours; seams may squeeze or stretch facial features, producing unnatural distortions that are particularly noticeable in portraits. Over-removal poses additional challenges in uniform areas like skies or plain backgrounds, where low variance across the image prompts the algorithm to carve excessively, narrowing these regions and potentially eliminating them entirely. This is especially problematic in images with global low variance, where the lack of distinct seams causes the method to fail outright, as no "less important" areas exist for prioritization. Quantitative evaluations highlight these issues; for example, bidirectional similarity (), a patch-based assessing structural preservation, often reveals higher distortion in seam-carved images compared to simple , with BDS scores indicating poorer patch matching in textured or uniform regions. In comparative studies, seam carving exhibits elevated affine distortion , such as global affine changes averaging 0.33 versus lower values for , underscoring its tendency for non-uniform warping.

User Guidance and Enhancements

To mitigate distortions in seam carving, user guidance techniques allow for targeted protection of salient regions by incorporating human input or automated detection to modify the energy map. For instance, users can manually mark important areas, such as objects or faces, assigning them high energy values to prevent seam insertion or removal in those regions. Automated salient , exemplified by using Haar cascades, identifies key features and boosts their energy in the map, ensuring seams avoid disrupting them. Protection maps further enhance this by assigning infinite or very high to predefined important areas, derived from saliency detection methods like graph cuts, which the into foreground and based on visual cues to prioritize content preservation. These maps integrate with the energy function to guide seam paths away from critical structures, reducing artifacts in resized outputs. A key algorithmic enhancement is forward energy, which addresses cumulative distortions from sequential seam removals by recomputing the energy map after each operation to account for the impact on future seams. Unlike backward energy, which uses the original map, forward energy measures the change in energy introduced by a seam's removal, selecting paths that minimize overall disruption. The forward energy cost for a pixel at position (i,j) incorporates directional differences post-removal: \begin{align*} C_L(i,j) &= |I(i,j+1) - I(i,j-1)| + |I(i-1,j) - I(i,j-1)|, \\ C_U(i,j) &= |I(i,j+1) - I(i,j-1)|, \\ C_R(i,j) &= |I(i,j+1) - I(i,j-1)| + |I(i-1,j) - I(i,j+1)|, \end{align*} where the minimum is taken over neighboring transitions to update the dynamic programming cost matrix M(i,j) = P(i,j) + \min\{M(i-1,j-1) + C_L(i,j), M(i-1,j) + C_U(i,j), M(i-1,j+1) + C_R(i,j)\}, with P(i,j) as the original pixel energy. This approach integrates the effects of remaining seams, leading to smoother resizes. Additional mitigations include optimal seam ordering, such as removing all horizontal seams before vertical ones to preserve aspect ratios, and multi-scale carving, which processes the image at multiple resolutions for large-scale changes to avoid over-distortion in uniform areas. Recent advances as of 2025 incorporate deep learning and large language models (LLMs) for enhanced saliency detection and dynamic energy adjustment, as well as hybrid methods combining seam carving with image stitching or Bezier curve optimization to further reduce deformations in complex scenes. Evaluations on benchmarks like the RetargetMe dataset demonstrate that these enhancements, particularly forward energy and protection maps, improve Bidirectional Similarity (BDS) scores compared to basic seam carving, indicating reduced structural distortion while maintaining visual fidelity.

Implementations and Tools

Software Applications

Seam carving has been integrated into several commercial tools, enabling users to perform content-aware resizing through intuitive interfaces. , starting with version CS4 released in , introduced the Content-Aware Scale feature, which applies seam carving principles to adjust image dimensions while preserving important visual elements such as faces or objects. This tool allows users to protect specific areas, like skin tones, during scaling operations, making it suitable for professional workflows in and . In , the image editor supports seam carving via the Liquid Rescale plugin, which implements the algorithm for non-uniform resizing and object removal by carving seams of low-energy pixels. As of 3.0 (released March 2025), seam carving is also available through the G'MIC plugin's Seamcarve filter, with ongoing compatibility updates for the Liquid Rescale plugin. This plugin provides options to mark protected regions and adjust rigidity parameters, facilitating tasks like aspect ratio changes without distortion. Additionally, , a command-line tool for image manipulation, includes the -liquid-rescale option to apply seam carving directly in , allowing users to specify width, height, and delta parameters for precise control. Standalone applications like Seam Carving GUI, developed in the late 2000s, offer a simple graphical interface for Windows users to load, resize, and save images using the algorithm, emphasizing ease of use for non-experts. Mobile and web-based tools have also adopted seam carving for accessible editing. The LiquidScale iOS app, released around 2010, enables on-device content-aware resizing with a touch-friendly interface, allowing users to transform image aspect ratios quickly without cropping key content. For web applications, the js-image-carver library provides a JavaScript-based implementation that runs in browsers, supporting real-time previews of seam carving effects; its GitHub repository was actively updated as recently as 2023. In AI image generation tools, the ComfyUI-seam-carving node (released around 2023) integrates seam carving into ComfyUI workflows for resizing Stable Diffusion-generated images. Early adoption of seam carving in software occurred between 2008 and 2010, coinciding with the algorithm's publication and initial implementations in tools like Photoshop and plugins, driven by the need for intelligent retargeting in . Today, it remains a staple in photo editors for applications such as adapting images to different screen formats or enhancing compositions. A typical workflow in Photoshop involves selecting the image layer, enabling Content-Aware Scale from the Edit menu, and dragging handles to adjust dimensions while optionally protecting subjects via the Protect tool, resulting in resized images that maintain structural integrity without traditional cropping or stretching.

Libraries and Frameworks

Seam carving has been implemented in various programming languages through open-source libraries, enabling developers to integrate content-aware resizing into applications. Early implementations often drew from the foundational paper by Avidan and Shamir at Electric Research Laboratories (MERL), which described the algorithm but did not release official code; subsequent C++ libraries, such as those on , replicated the dynamic programming approach for seam detection and removal using standard image processing primitives. In , scikit-image provided a seam_carve function in the transform module starting around version 0.12 in 2016, allowing users to perform both reduction and expansion by specifying target dimensions and an energy function, though it was removed in version 0.15 () due to concerns over the algorithm. More recent Python libraries, like li-plus/seam-carving (released in 2020), offer optimized implementations with integration for faster computation on large images, supporting forward energy maps to reduce distortions. Language-specific libraries have emerged for web and performance-critical environments. For , the js-image-carver library by Trekhleb (2021) implements seam carving in , suitable for browser-based image manipulation, with functions to carve seams vertically or horizontally and remove objects by marking low-energy regions. In Rust, projects like lovasoa/seamcarving (2019) and Yanglin Zhao's WebAssembly port (2021) emphasize speed and safety, using the image crate for I/O and providing APIs such as resize(image, new_width, new_height) that leverage Rust's parallelism for dynamic programming steps. Frameworks like facilitate seam carving through custom extensions in its contrib modules, where developers implement the algorithm atop OpenCV's core image handling and gradient computation functions, as seen in tutorials combining it with bindings for resizing. GPU acceleration via has been prototyped since the early , with implementations achieving up to 10x speedups over CPU versions for large images (e.g., 1000x1000 pixels) by parallelizing map computation and seam backtracking on hardware. These libraries typically expose simple APIs, such as seam_carve(image, target_width, energy_map='gradient'), abstracting the core dynamic programming while allowing customization of functions for specific use cases.

Extensions and Advances

Video and Temporal Seam Carving

Extending seam carving to video requires addressing the temporal dimension to maintain across frames, as independent resizing of individual frames can lead to flickering and jittery artifacts due to inconsistent seam paths over time. This challenge arises because video content involves motion, necessitating spatio-temporal seams that propagate coherently through the sequence rather than treating each frame in isolation. To mitigate this, algorithms adapt the image approach to a space-time , where seams become manifolds connecting corresponding pixels across frames. A seminal contribution to video seam carving is the work by Rubinstein, Shamir, and Avidan, which introduces an improved operator for video retargeting by incorporating temporal coherence. This method builds on the original image seam carving by Avidan and Shamir, extending it to video using graph cuts to find globally optimal, consistent paths that minimize distortions in both space and time. The adaptation involves computing a energy map that includes motion vectors, treating the video as a space-time and identifying vertical seams that track objects across for better preservation of dynamic elements. The process begins with calculating frame-wise spatial energy, augmented by a temporal gradient to capture motion changes between frames, resulting in a global energy function that balances spatial saliency and temporal smoothness. Optimization then employs graph cuts on this 3D volume to extract seams as minimum-cost paths, ensuring monotonicity and connectivity to avoid discontinuities; this global minimization reduces both spatial distortions and motion artifacts compared to frame-by-frame processing. For efficiency, a multiresolution strategy refines seams from coarse to fine scales. In practice, this approach enables resizing videos for different aspect ratios or screen sizes while preserving the motion of salient objects, such as people walking or athletes in footage, without introducing visible warping or temporal inconsistencies. For instance, retargeting a dance sequence maintains fluid body movements by prioritizing seams away from limbs and faces, as demonstrated in comparative results showing reduced flickering over uniform scaling.

Modern Variants and Optimizations

Since the early , researchers have developed GPU-accelerated implementations of seam carving to enable real-time processing, leveraging for parallel computation of energy maps and seam paths. A notable multi-GPU optimization from achieves up to 140x over sequential CPU versions, resizing a × in 0.11 seconds by distributing seam finding across multiple devices. More recent parallel approaches for multi-core CPUs, explored in 2020 implementations, focus on load balancing to handle iterative seam removal without bottlenecks. Algorithmic variants have emerged to balance speed and quality, particularly greedy methods that approximate optimal seams by locally selecting minimum-energy paths, contrasting with the global optimization of dynamic programming. A 2024 analysis compares these alongside brute-force and GPU variants, showing greedy approaches reduce computation time significantly for large images while maintaining comparable visual fidelity, though with minor increases in distortion for complex scenes. Integrating since 2023 has enhanced saliency detection for energy maps, using CNNs like ResNet-based to generate precise object saliency that guides seam selection and preserves content better than traditional gradients. For instance, a 2024 method fuses CNN-derived saliency with Sobel edges in the energy function, achieving lower distortion scores (average energy 95.7 for downsizing on benchmarks) compared to standard seam carving. Neural deformation fields represent another advance, learned via neural networks to warp images during resizing, extending beyond discrete seams for smoother retargeting and reducing artifacts in non-rigid areas; this 2023 approach, presented at ECCV 2024, outperforms prior methods in preserving structural integrity across images and 3D data. Recent work emphasizes optimized preservation, such as a 2025 study enhancing seam carving with refined energy regulation to minimize content loss, yielding higher similarity metrics on retargeted images. An improved seam carving technique from 2022 achieves 70% structural similarity (SSIM) between reference and retargeted images, 10% higher than conventional methods. Further 2025 advances include LLM-enhanced methods for dynamic resizing based on textual prompts and foreground-aware seam carving for better image coherence in stitching applications.

References

  1. [1]
    Seam carving for content-aware image resizing - ACM Digital Library
    We present a simple image operator called seam carving that supports content-aware image resizing for both reduction and expansion.Missing: original | Show results with:original
  2. [2]
    Seam Carving For Media Retargeting - Communications of the ACM
    Jan 1, 2009 · We illustrate the application of seam carving and insertion for aspect ratio change, media retargeting, and object removal. Furthermore, by ...
  3. [3]
    Automatic image retargeting - ACM Digital Library
    Automatic image retargeting. Authors: Vidya Setlur. Vidya ... We proposed a novel content-aware lifestyle image mosaic technique based on image saliency.Missing: photo | Show results with:photo
  4. [4]
    US20080219587A1 - Method for Retargeting Images - Google Patents
    A method for content-aware image retargeting generates an energy image from a source image according to an energy function. From the energy image, ...
  5. [5]
    Content-aware scaling highlights Photoshop CS4 - Macworld
    Sep 22, 2008 · Highlighting the new features in Photoshop CS4 is Content-Aware Scaling. This addition allows users to take a large image and resize it without ...Missing: announcement | Show results with:announcement
  6. [6]
    Seam carving for media retargeting | Communications of the ACM
    Rubinsteing, M., Shamir, A., and Avidan, S. Improved seam carving for video retargeting. ACM Trans. Graph. 27, 3 (2008), 10. Digital Library · Google Scholar.
  7. [7]
    Multi-operator media retargeting | ACM Transactions on Graphics
    Visual media retargeting · A comparative study of image retargeting · Multi-operator media retargeting.
  8. [8]
    Seam Carving for Content-Aware Image Resizing
    Seam Carving for Content-Aware Image Resizing. Presented at Siggraph 2007 by Shai Avidan and Ariel Shamir. Project Page. Abstract.Missing: original | Show results with:original
  9. [9]
    Programming Assignment 7: Seam Carving - cs.Princeton
    The energy is high (white) for pixels in the image where there is a rapid color gradient (such as the boundary between the sea and sky and the boundary between ...
  10. [10]
    Seam Carving - Alan Zucconi
    May 29, 2023 · The energy of a seam is the energy of the pixels it passes through. Seam carving finds the seam with the least amount of energy, corresponding ...
  11. [11]
    Seam Carving for Content Aware Image Resizing - GitHub
    Seam Removal. Calculate energy map: Energy is calculated by sum the absolute value of the gradient in both x direction and y direction for all three channel ...
  12. [12]
    Seam Carving – CS19 Assignments - Brown Computer Science
    To compute the energy of edge pixels, you should pretend that the image is surrounded by a 1 pixel wide border of black pixels (with 0 brightness). You are ...
  13. [13]
    [PDF] A Comparative Study of Image Retargeting
    These include either smooth or irregularly-textured areas such as sky, water, grass, or trees. On such images most retargeting methods would work ...
  14. [14]
    [PDF] Image Resizing using Seam Carving
    searchers Avidan and Shamir were the first to do this in. 2009 when they invented seam carving [1]. Since seam carving gained popularity there have been many ...<|control11|><|separator|>
  15. [15]
    [PDF] Seam Carving for Content-Aware Image Resizing
    The retargeting algorithm segments an image into regions, identifies important regions, removes them, fills the result- ing gaps, resize the remaining image, ...
  16. [16]
    [PDF] Reduced-Reference Structural Quality Assessment for Retargeted ...
    Seam carving has the highest affine distortions in both global and averaged ... Specifically, Bidirectional similarity (BDS) is an image similarity measure ...
  17. [17]
    [PDF] Improved Seam Carving for Video Retargeting - People | MIT CSAIL
    We build on and extend the work of [Avidan and Shamir 2007]. They proposed seam carving for image retargeting and used dy- namic programming to find the optimal ...
  18. [18]
    [PDF] Seam-Carving and Content-Aware Media Retargeting
    Seam-Carving and Content-driven Retargeting of Images. (and Video). Some slides borrowed from Ariel Shamir and Shai Avidan. Page 2. Display Devices. Michael ...
  19. [19]
    Liquid Rescale GIMP plugin: Welcome
    The Seam Carving procedure aims at resizing pictures non uniformly while preserving their features, i.e. avoiding distortion of the important parts. The plugin ...
  20. [20]
    carlobaldassi/gimp-lqr-plugin: LiquidRescale plug-in for ... - GitHub
    LiquidRescale plug-in for seam carving in GIMP. Contribute to carlobaldassi/gimp-lqr-plugin development by creating an account on GitHub.
  21. [21]
    Command-line Options - ImageMagick
    -liquid-rescale geometry. Rescale image with seam-carving. See Image Geometry for complete details about the geometry argument. -list type. Print a list of ...
  22. [22]
    Seam Carving GUI - Google Code
    The Seam Carving GUI is a GUI front end to CAIR, which is an implementation of Arial Shamir's seam carving algorithm (aka content aware image resizing, aka ...Missing: software | Show results with:software
  23. [23]
    Liquid Scale - Content Aware Image Resizing - Savoy Software
    It resizes pictures without deforming or cropping the content. Pictures can be transformed to a new aspect ratio in a fast and intuitive way. The elegant iPhone ...
  24. [24]
    trekhleb/js-image-carver: Content-aware image resizer and ... - GitHub
    The Seam Carving algorithm's idea is to find the seam (continuous sequence of pixels) with the lowest contribution to the image content and then carve (remove) ...
  25. [25]
    [PDF] Seam Carving for Content-Aware Image Resizing
    Seam Carving for Content-Aware Image. Resizing. Shai Avidan and Ariel Shamir. TR2007-087 August 2008. Abstract. Effective resizing of images should not only use ...Missing: patent | Show results with:patent
  26. [26]
    A C++ implementation of the seam carving algorithm - GitHub
    This is a C++ implementation of the seam carving algorithm. The purpose of the seam carving algorithm is to rezise images without distorting the "important" ...Missing: MERL 2007
  27. [27]
    Seam carving with OpenCV, Python, and scikit-image
    Jan 23, 2017 · Introduced by Avidan and Shimar in 2007, the seam carving algorithm is used to resize (both downsample and upsample) an image by removing/adding ...Missing: exclusive license
  28. [28]
    li-plus/seam-carving: A super-fast Python implementation of ... - GitHub
    A super-fast Python implementation of seam carving algorithm for intelligent image resizing. License. MIT license · 112 stars 23 forks ...Missing: libraries frameworks
  29. [29]
    lovasoa/seamcarving: Seam carving implemented in rust - GitHub
    A rust library for content-aware image resizing using seam carving. How to use Open an image using the image crate, then use the resize function from this ...
  30. [30]
    Seam Carving Algorithm in Rust and Web Assembly - Yanglin Zhao
    Aug 1, 2021 · My experience using Rust and Web Assembly to implement the Seam Carving algorithm.<|control11|><|separator|>
  31. [31]
    Optimizing seam carving on multi-GPU systems for real-time content ...
    Sep 1, 2015 · Results show that our approach achieves maximum $$10\times $$10 speedup over the original seam carving implementation on a single-GPU system. It ...
  32. [32]
    [PDF] GPU Accelerated Seam Carving - GitHub Pages
    The speedup is generally within the 2-8x range with it approaching 8x as the image size or number of seams removed increases.
  33. [33]
    Improved seam carving for video retargeting - ACM Digital Library
    We present video retargeting using an improved seam carving operator. Instead of removing 1D seams from 2D images we remove 2D seam manifolds from 3D space-time ...
  34. [34]
    [PDF] Optimizing Seam Carving on Multi-GPU Systems for Real-time ...
    In this section, we describe a multi-GPU implementation of seam carving on two GPUs.
  35. [35]
    Optimizing seam carving on multi-GPU systems for real-time content ...
    Aug 10, 2025 · To improve its computation efficiency, algorithm porting and optimization are performed based on the GPU heterogeneous computing platform.Missing: variants AI
  36. [36]
    Parallel Seam Carving | Work Hard, Span Easy
    Jul 29, 2020 · Seam carving is a technique for content-aware resizing, which changes the size of an image while attempting to preserve the interesting content of the image.
  37. [37]
    Analysis of Different Algorithmic Design Techniques for Seam Carving
    ### Summary of Seam Carving Algorithm Comparison
  38. [38]
    (PDF) Image Resizing Combining Seam-Carving andInterpolation
    Dec 12, 2024 · Our study provides an image resizing method that combines content-awareness with interpolation.First, the salient object detection network ...
  39. [39]
    [2311.13297] Retargeting Visual Data with Deformation Fields - arXiv
    Nov 22, 2023 · Seam carving is an image editing method that enable content-aware resizing, including operations like removing objects. However, the seam- ...Missing: 2020-2025 | Show results with:2020-2025
  40. [40]
    Enhancement of seam carving algorithm for optimized content ... - IIARI
    Avidan, S., & Shamir, A. (2009). Seam carving for media retargeting. Communications of the ACM, 52(1), 77–85. https://doi.org/10.1145/1435417.1435437. Brock ...
  41. [41]
    Analysis of seam carving technique: limitations, improvements and ...
    Apr 23, 2022 · After objective image quality assessment based on SSIM, it is found that the improved seam carving technique produces 70% similarity between ...