Papers
Topics
Authors
Recent
Search
2000 character limit reached

Differentiable Smudge Operator

Updated 19 November 2025
  • Differentiable Smudge Operator is a neural rendering primitive that blends pigments via smooth, gradient-accessible procedures emulating physical smudging.
  • It reformulates classical sequential smudge steps into a one-shot, weighted integration along cubic Bézier strokes to optimize stroke geometry efficiently.
  • It integrates into stroke reconstruction pipelines to recover realistic color transitions and soft tonal modulations in digital painting.

A differentiable smudge operator is a neural rendering primitive designed to emulate the pigment blending and smooth color transitions produced by physical smudging actions in painting, while ensuring full differentiability for gradient-based fitting or optimization. It achieves this by reformulating classical, sequential smudge procedures into architecturally linear, backpropagation-friendly routines based on differentiable sampling, weighted integration, and compositional updates, thereby enabling optimization of geometric and appearance parameters via gradient descent in reconstruction or synthesis frameworks (Jiang et al., 17 Nov 2025).

1. Formal Definition and Mathematical Structure

Let I(x)I(x) denote the current canvas RGB image over domain xΩx \in \Omega. A smudge stroke is parameterized as Θsmudge={xs,xc,xe,rs,re}\Theta_{\text{smudge}} = \{x_s, x_c, x_e, r_s, r_e\}, where xs,xc,xeR2x_s, x_c, x_e \in \mathbb{R}^2 are the cubic Bézier start, control, and end points, and rs,reRr_s, r_e \in \mathbb{R} are the stroke radii at start and end, respectively. Fixed blending coefficients αc\alpha_c, αs[0,1]\alpha_s \in [0,1] govern the mixing ratios.

The operator applies N+1N+1 “stamps” along the Bézier curve, each located at

xk=(1tk)2xs+2(1tk)tkxc+tk2xe,rk=(1tk)rs+tkre,tk=k/Nx_k = (1-t_k)^2 x_s + 2(1-t_k)t_k x_c + t_k^2 x_e,\quad r_k = (1-t_k) r_s + t_k r_e,\quad t_k = k/N

for k=0,,Nk = 0, \ldots, N. The xΩx \in \Omega0-th local stamp covers a patch xΩx \in \Omega1, with the indicator implemented via differentiable grid or mask sampling.

The core blending update is originally recursive: xΩx \in \Omega2 with xΩx \in \Omega3; the final output is xΩx \in \Omega4.

2. Differentiable Reformulation and Gradient Propagation

The sequential recurrence impedes gradient flow to early stamps and uses non-differentiable binary masks. The differentiable smudge operator addresses these by:

  • Replacing hard binary masks with smooth, differentiable grid sampling for xΩx \in \Omega5 extraction.
  • Implementing a one-shot brush initialization via Beta kernel-weighted summations along arc-length parameterization:

xΩx \in \Omega6

xΩx \in \Omega7

where xΩx \in \Omega8 are kernel shape parameters, xΩx \in \Omega9 is the arc length up to Θsmudge={xs,xc,xe,rs,re}\Theta_{\text{smudge}} = \{x_s, x_c, x_e, r_s, r_e\}0, and Θsmudge={xs,xc,xe,rs,re}\Theta_{\text{smudge}} = \{x_s, x_c, x_e, r_s, r_e\}1.

  • Using only two additional linear blending steps post-initialization:

Θsmudge={xs,xc,xe,rs,re}\Theta_{\text{smudge}} = \{x_s, x_c, x_e, r_s, r_e\}2

This provides smooth and efficient gradient propagation Θsmudge={xs,xc,xe,rs,re}\Theta_{\text{smudge}} = \{x_s, x_c, x_e, r_s, r_e\}3 via the differentiable grid-sampling and weighting kernels.

3. Operator Parameters and Hyperparameters

All parameters directly controlling the smudge operation conform to:

Parameter Type/Range Role
Θsmudge={xs,xc,xe,rs,re}\Theta_{\text{smudge}} = \{x_s, x_c, x_e, r_s, r_e\}4 Θsmudge={xs,xc,xe,rs,re}\Theta_{\text{smudge}} = \{x_s, x_c, x_e, r_s, r_e\}5 Bézier control (learned)
Θsmudge={xs,xc,xe,rs,re}\Theta_{\text{smudge}} = \{x_s, x_c, x_e, r_s, r_e\}6 Θsmudge={xs,xc,xe,rs,re}\Theta_{\text{smudge}} = \{x_s, x_c, x_e, r_s, r_e\}7 End radii (learned)
Θsmudge={xs,xc,xe,rs,re}\Theta_{\text{smudge}} = \{x_s, x_c, x_e, r_s, r_e\}8 Θsmudge={xs,xc,xe,rs,re}\Theta_{\text{smudge}} = \{x_s, x_c, x_e, r_s, r_e\}9 Canvas-blend ratio (fixed)
xs,xc,xeR2x_s, x_c, x_e \in \mathbb{R}^20 xs,xc,xeR2x_s, x_c, x_e \in \mathbb{R}^21 Brush-retention ratio (fixed)
xs,xc,xeR2x_s, x_c, x_e \in \mathbb{R}^22 xs,xc,xeR2x_s, x_c, x_e \in \mathbb{R}^23 Kernel shape (fixed)
xs,xc,xeR2x_s, x_c, x_e \in \mathbb{R}^24 xs,xc,xeR2x_s, x_c, x_e \in \mathbb{R}^25 Sample count (fixed, e.g., 10–100)

No additional learned weights are introduced; only stroke geometry is optimized at the smudge reconstruction stage (Jiang et al., 17 Nov 2025).

4. Algorithmic Procedure and Implementation

The differentiable smudge operator can be summarized by the following pseudocode:

rs,reRr_s, r_e \in \mathbb{R}8

The indicator mask xs,xc,xeR2x_s, x_c, x_e \in \mathbb{R}^26 is realized as a differentiable mask via grid sampling (spatial transformer) with radius parameter xs,xc,xeR2x_s, x_c, x_e \in \mathbb{R}^27.

5. Integration into Stroke-by-Stroke Reconstruction Pipelines

The operator is utilized as the third phase of a staged stroke reconstruction process:

  1. Stroke appearance reconstruction: Parallel, stamp-based paint renderer forms single- and dual-color Bézier strokes.
  2. Texture stylization: A style generation module (e.g., StyleGAN latent xs,xc,xeR2x_s, x_c, x_e \in \mathbb{R}^28 per stroke) synthesizes painting-style textures conditioning on geometry.
  3. Smudge stroke reconstruction: The differentiable smudge operator xs,xc,xeR2x_s, x_c, x_e \in \mathbb{R}^29 is applied to regions with high reconstruction error. Each smudge stroke’s output is composited into the current canvas.
  4. Optimization: Losses (pixel-wise rs,reRr_s, r_e \in \mathbb{R}0, perceptual rs,reRr_s, r_e \in \mathbb{R}1, gradient-magnitude rs,reRr_s, r_e \in \mathbb{R}2, segmentation rs,reRr_s, r_e \in \mathbb{R}3, area rs,reRr_s, r_e \in \mathbb{R}4) are computed between the smudged and target images. Backpropagation through rs,reRr_s, r_e \in \mathbb{R}5 updates rs,reRr_s, r_e \in \mathbb{R}6.
  5. Resolution refinement: The process repeats on a finer grid, iteratively refining stroke and smudge geometry (Jiang et al., 17 Nov 2025).

6. Qualitative and Algorithmic Impact

Applying the differentiable smudge operator:

  • Eliminates “blocking” artifacts and color banding caused by the hard abutment of dual-color strokes.
  • Redistributes pigment along the Bézier path: early brush stamps absorb downstream pigment and re-deposit it, achieving gradual color gradients and soft tonal modulation.
  • Enables the recovery of human-grade color blending and naturalistic highlight transitions (e.g., glazes in oil painting, watercolor washes, and ink gradations).
  • Ensures that, due to full differentiability, geometric stroke parameters (rs,reRr_s, r_e \in \mathbb{R}7) are optimized for best match to target imagery under complex, painterly objectives.

Figures provided in (Jiang et al., 17 Nov 2025) demonstrate superior edge smoothness, realism in shading, and greater expressivity relative to non-smudge renderers.

7. Broader Significance and Connections

The differentiable smudge operator represents a modular neural primitive for end-to-end optimization of painterly processes, directly supporting the recovery of expressive image structures in an inverse rendering setting. It complements neural paint and stylization modules by bridging discrete stroke synthesis and continuous pigment blending. This approach is distinct from standard convolutional or procedural image blending in its:

  • End-to-end differentiable, parameter-driven formulation,
  • Emulation of the physical process of brush smudging,
  • Plug-in compatibility with neural inverse rendering, and
  • Direct optimization of geometric (Bézier) primitives.

A plausible implication is the extension of this operator to other differentiable media blending processes (e.g., charcoal, pastels) and broader usage in reconstruction, editing, and generative painting systems where interpretability and continuous parameter refinement are critical (Jiang et al., 17 Nov 2025).

Definition Search Book Streamline Icon: https://streamlinehq.com
References (1)

Topic to Video (Beta)

No one has generated a video about this topic yet.

Whiteboard

No one has generated a whiteboard explanation for this topic yet.

Follow Topic

Get notified by email when new papers are published related to Differentiable Smudge Operator.