10.0 EDGES MATTER⧉
A blur can mix a bright sky into a dark mountain. A pasted object can carry a visible brightness step around its boundary. Resizing can bend a straight building edge. Each problem needs a different treatment of image structure.
Chapter 10.1, Bilateral filtering and its relatives reduce averaging between pixels judged dissimilar. The similarity may come from intensity, a patch, or a separate guide. These are models of which samples should influence one another; they do not identify every object boundary correctly. Chapter 10.3, Edge-preserving optimization — colorization and Chapter 10.5, Matting Laplacian use local models in global solves to propagate sparse constraints.
Chapter 10.8, Poisson image editing instead fits an image to a prescribed gradient field and boundary values. It can reduce a compositing seam, but the reconstructed colors may change. Chapter 10.9, Seam optimization chooses where to switch sources, select a region, or remove a path. Its costs depend on the application: selection often follows a strong edge, while seam carving Avidan & Shamir 2007 usually avoids removing one.
The methods build on convolution, pyramids and sparse linear systems. Chapter 10.10, Recap: which edge-aware technique when? compares their costs and failure modes. For detailed noise models and modern denoisers, use Chapter 2.8, Noise, signal-to-noise ratio and dynamic range and Part 13, Denoising.
Edges are useful partly because smooth regions are often locally predictable, while a boundary tells us that a prediction from one side may fail on the other. Local contrast also matters strongly to appearance. This does not make smooth shading or absolute color expendable; it explains why an operation that mishandles a narrow boundary can spoil an otherwise plausible image.
Two ideas connect these methods. Affinity specifies which samples should influence one another: a filter uses it to form an average, while an optimization can use it to penalize disagreement between related pixels. The objective specifies what the result should preserve. A gradient reconstruction penalizes disagreement with a desired gradient field; a seam algorithm assigns costs to possible boundaries or removed paths. The optimizer can remain the same while changing those costs produces a different editing tool.
Contents of this part
- 10.1 Bilateral filtering
- 10.1.1 Bilateral filter
- 10.1.2 Robustness
- 10.1.3 Cross / joint bilateral
- 10.1.4 Bilateral grid
- 10.1.5 Bilateral upsampling and learning
- 10.1.6 Anisotropic diffusion and robust estimators
- 10.2 Non-local means
- 10.3 Edge-preserving optimization — colorization
- 10.4 Local Laplacian filters
- 10.4.1 The wish, and why the bilateral leaves a halo
- 10.4.2 What a Laplacian pyramid hands you
- 10.4.3 The mechanism: a remapping recomputed per output pixel
- 10.4.4 One curve, three edits: enhancement, tone mapping, inverse tone mapping
- 10.4.5 Contrast with the bilateral base/detail split
- 10.4.6 The cost, and the fast version
- 10.5 Matting Laplacian
- 10.5.1 The matting problem: compositing, and why it is under-determined
- 10.5.2 The color-line assumption: α becomes linear in color
- 10.5.3 Closed-form matting: the matting Laplacian
- 10.5.4 Spectral matting: eigenvectors of the matting Laplacian
- 10.5.5 An alternative matting Laplacian
- 10.5.6 Beyond matting: spatially-varying white balance
- 10.6 Guided image filtering
- 10.7 Locally adaptive regression kernel (LARK)
- 10.8 Poisson image editing
- 10.9 Seam optimization
- 10.9.1 Find the non-edges: least-noticeable cuts
- 10.9.2 Intelligent scissors / live-wire: the cut as a least-cost path
- 10.9.3 Snakes (active contours): the continuous cousin
- 10.9.4 Graph cut: globally optimal boundaries by min-cut / max-flow
- 10.9.5 GrabCut: interactive cutout from a single rectangle
- 10.9.6 Normalized cuts: the spectral relaxation
- 10.9.7 Seam carving: content-aware resize by DP
- 10.9.8 Time-lapse via DP: a seam through time
- 10.9.9 Video textures: looping a seam in time
- 10.9.10 GraphCut textures & photomontage: cut, then blend
- 10.9.11 Where this connects: MRFs and beyond
- 10.10 Recap: which edge-aware technique when?
- 10.10.1 The three relationships to edges
- 10.10.2 Pros, cons, and cost: when to reach for each
- 10.10.3 A worked chooser