Surface Blur

Prev Next

The Surface Blur operator smooths images while preserving edges. Unlike Gaussian blur which blurs everything uniformly, Surface Blur keeps sharp boundaries intact while smoothing flat regions. This makes it ideal for skin retouching, noise reduction, and creating stylized looks.
Also known as: Bilateral Filter, Smart Blur, Selective Gaussian Blur

Image


Use Cases

  • Skin smoothing - Remove blemishes while keeping facial features sharp
  • Noise reduction - Reduce grain without destroying edges
  • Pre-keying cleanup - Smooth noisy green screens before keying
  • Stylized/cartoon look - Flatten color regions while keeping outlines
  • Detail removal - Remove texture while preserving structure

Parameters

Filter Settings

Parameter Range Default Description
Radius 1-20 5 Size of the filter area in pixels. Larger = more smoothing but slower
Smoothing 0-100% 50 Amount of spatial blur. Higher = more blur in smooth areas
Threshold 0-100% 50 Edge sensitivity. Higher = blur across more edges

Parameter Behavior

Smoothing Threshold Result
Low Low Subtle smoothing, preserves subtle edges
Low High Subtle smoothing, only hard edges preserved
High Low Heavy smoothing, preserves subtle edges
High High Heavy smoothing, only hard edges preserved

Advanced Settings

Parameter Range Default Description
Iterations 1-5 1 Number of filter passes. More = stronger effect
Luminance only Yes/No No Apply filter to brightness only, preserving color detail
Skin tones only Yes/No No Apply blur only to detected skin areas
Skin tolerance 0-100% 50 How strict the skin detection is (higher = more areas detected)

Luminance Only Mode

When enabled, the filter only considers brightness differences when deciding what to blend. This can:

  • Preserve subtle color variations
  • Reduce color bleeding artifacts
  • Work better on certain types of content (e.g., faces)

Skin Tones Only Mode

When enabled, the blur is only applied to areas detected as skin tones:

  • Uses YCbCr color space for robust skin detection
  • Works across different skin tones and ethnicities
  • Adjust Skin tolerance to fine-tune detection
  • Use Skin Mask output mode to preview what's being detected

Output Modes

Mode Description
Final The filtered result
Original Unprocessed input (for comparison)
Difference Shows what was smoothed (gray = no change)
Skin Mask Shows detected skin areas (white = skin, black = not skin)

Keyboard Shortcuts

Key Action
F1 Cycle output modes (Final → Original → Difference → Skin Mask)

Workflow Tips

Skin Retouching

  1. Start with Radius 5-8
  2. Set Smoothing to 40-60%
  3. Set Threshold to 20-40% (preserve skin texture edges)
  4. Use "Difference" output to see what's being smoothed
  5. Increase Iterations to 2 if needed for stubborn blemishes

Skin Retouching (Skin Tones Only)

  1. Enable Skin tones only
  2. Switch Output to Skin Mask to preview detection
  3. Adjust Skin tolerance until skin areas are white, non-skin is black
  4. Switch Output back to Final
  5. Set Radius 5-10, Smoothing 50-70%, Threshold 30-50%
  6. The blur will only affect detected skin areas

Noise Reduction

  1. Use smaller Radius (3-5) to target noise grain
  2. Moderate Smoothing (40-50%)
  3. Low Threshold (10-30%) to keep detail
  4. Consider "Luminance only" for color noise

Pre-Keying Green Screen Cleanup

  1. Apply BEFORE the keyer
  2. Radius 3-5 (match noise size)
  3. Low Threshold to keep subject edges sharp
  4. Helps create cleaner mattes

Stylized/Cartoon Look

  1. Large Radius (10-15)
  2. High Smoothing (70-100%)
  3. High Threshold (60-80%)
  4. Multiple Iterations (2-3) for stronger effect

Technical Notes

Algorithm

Surface Blur uses a bilateral filtering algorithm. For each pixel:

  1. Examines all neighbors within the radius
  2. Calculates spatial weight (based on distance)
  3. Calculates color weight (based on color similarity)
  4. Multiplies weights together
  5. Computes weighted average
    Pixels that are nearby AND similar in color contribute more. Pixels across edges (different colors) contribute less.

Performance

  • Complexity: O(radius²) per pixel
  • GPU-accelerated via CUDA
  • Large radius (>15) may impact real-time performance on older GPUs
  • Multiple iterations multiply processing time

Comparison with Photoshop

Photoshop This Filter
Radius (pixels) Radius
Levels (0-255) Threshold (0-100%)

Threshold at 100% roughly corresponds to Levels ~128 in Photoshop.

Troubleshooting

Effect too subtle:

  • Increase Smoothing
  • Increase Radius
  • Add more Iterations

Losing too much detail:

  • Decrease Threshold
  • Decrease Radius
  • Try Luminance Only mode

Edges getting smoothed:

  • Decrease Threshold
  • Decrease Smoothing
  • Reduce Iterations

Color bleeding/artifacts:

  • Enable Luminance Only mode
  • Decrease Threshold
  • Reduce Radius

Performance issues:

  • Reduce Radius (biggest impact)
  • Reduce Iterations
  • Process at lower resolution if possible

Examples

Suggested Starting Points

Task Radius Smoothing Threshold Iterations
Light skin smooth 5 40% 30% 1
Heavy skin smooth 8 60% 40% 2
Noise reduction 3 50% 20% 1
Cartoon look 12 80% 70% 2
Green screen cleanup 4 40% 25% 1