github VisoMasterFusion/VisoMaster-Fusion v3.8.0
VisoMaster Fusion 3.8.0

6 hours ago

Highlights

  • Timeline zoom (new): an advanced zoom system that dynamically scales the video timeline for frame-precise navigation, with exponential zoom scaling, playhead-centered scroll synchronization, and a configurable Max Visible Frames setting (10–100) that drives the maximum zoom based on video length.
  • Provisional state tracking (new): the timeline now gives intelligent visual feedback for unsaved parameter changes — the playhead turns soft yellow when changes are pending, and the groove is colored by marker segment (alternating purple/blue), with caching to keep overhead low.
  • Marker colors (new): timeline markers now support colors, making it easier to visually organize and distinguish sections.
  • ReF-LDM Denoiser — standalone module (new): the diffusion denoiser was extracted into its own FaceDenoiser class (app/processors/face_denoiser.py), encapsulating the UNet, VAE encoder/decoder, KV extractor and DDIM scheduling. It runs as a dedicated pass before and/or after the restorers, with Single Step (Fast) and Full Restore (DDIM) modes, an Exclusive Reference Path option, and a fixed Base Seed for consistent noise across frames. Model loading is thread-safe with unload deferred during video playback.
  • New denoiser color controls (new): per-pass Color strength slider (0–100) and a Color Transfer Type selector with five modes — CDF Histogram, CDF Histogram (Masked), Reinhard Transfer, Reinhard Transfer (Masked) (default), and AdaIN (Core Masked).
  • Mouth cavity blending (new): a Mouth Original Cavity Blending control (0.0–1.0) blends between the artificial cavity shadow and the original aligned mouth texture for more natural mouths in high-fidelity restores.
  • Recast Relative mode (new): expression transfer can now be applied relative to the source, for more natural, motion-preserving results.
  • Recast Advanced mode (new): fine-grained, per-region expression multipliers (rigid/structural points, eyes, eyebrows, cheeks, lips/mouth, jaw) plus crop-border feathering for seamless blending.
  • Webcam resolution control: added a webcam resolution option.
  • Performance & fidelity: VRAM-fragmentation and color-transfer overhaul across faceutil, the frame worker, restorers and masks (GPU LUT-based histogram matching, Kornia local-warp paste-back, pre-allocated DDIM buffers, in-place tensor ops), plus a Recast FP32 fix and further Recast performance work.
  • Fixes: frame-edits fix, output-folder skip for markers, typing fix, and removal of the Recast Smoothing option.

Changelog by version

3.8.0

Timeline zoom control (timelineZoomSlider) — dynamically scale the video timeline for frame-precise navigation:

  • Exponential zoom scaling with real-time label updates.
  • Intelligent scroll synchronization that keeps the playhead centered.
  • Max zoom calculated dynamically from video length and the Max Visible Frames setting.
  • Deferred initialization for smooth, responsive performance.

Provisional state tracking — intelligent visual feedback for unsaved changes:

  • Automatically detects when parameters differ from the last saved marker state.
  • Playhead turns soft yellow when changes are pending.
  • Groove is colored by marker segment (alternating purple/blue).
  • Intelligent caching to minimize performance overhead.

UI/UX improvements:

  • Marker colors for timeline markers.
  • Timeline controls wrapped in a QScrollArea for better viewport management.
  • New Max Visible Frames setting (10–100) for user-controlled zoom behavior.
  • Timeline elements now hide/show based on media type (shown for videos, hidden for images).

3.7.0

Denoiser separation — the diffusion denoiser is now a standalone FaceDenoiser class (app/processors/face_denoiser.py, ~823 lines) extracted from ModelsProcessor:

  • Encapsulates the UNet, VAE encoder/decoder, KV extractor and DDIM scheduling.
  • Thread-safe model loading with smart unload deferral during video playback.
  • Single Step (Fast) and Full Restore (DDIM) modes, before and/or after the restorers.
  • Built-in color transfer, pixel sharpening and histogram-matching post-processing.

New denoiser UI controls (denoiser_layout_data.py):

  • DenoiserColorSlider (0–100, default 100) to tune color-correction strength per pass.
  • DenoiserColorTransferTypeSelection with five modes: CDF Histogram, CDF Histogram (Masked), Reinhard Transfer, Reinhard Transfer (Masked) (default), AdaIN (Core Masked).

Mouth enhancement (face_masks.py):

  • MouthOriginalCavityBlendingDecimalSlider (0.0–1.0, default 0.0) blends between the artificial cavity shadow and the original aligned mouth texture for more natural high-fidelity results.

Color-transfer algorithm overhaul (faceutil.py):

  • Clearer method names: histogram_matching_DFL_Origapply_reinhard_color_transfer; histogram_matching_DFL_test removed; apply_adain_color_transfer updated.
  • GPU-accelerated LUT-based histogram matching (256-bin lookup tables).
  • Thread-safe caching for Gaussian/Laplacian kernels and faded masks.
  • paste_back_adv optimized to use Kornia local warping (no full-frame padding).
  • get_rotation_matrix moved to the modern torch.linalg.svd API.

Performance optimizations:

  • VRAM-fragmentation fixes: removed per-frame v2.Resize instantiation in favor of functional wrappers.
  • Disabled antialias=True on mask resizes to prevent ringing artifacts.
  • BICUBIC high-fidelity upscaling in face restorers before normalization.
  • Pre-allocated loop buffers in DDIM sampling (no mid-loop tensor creation).
  • Smart KV-extractor unload deferred until after batch processing.
  • In-place tensor operations (.clamp_(), .mul_()) to reduce memory overhead.

Code cleanup & modernization:

  • Moved large landmark/ArcFace data arrays into models_data.py constants.
  • Removed unused imports and stray non-English comments.
  • Added comprehensive type hints (-> torch.Tensor, Optional[...]); typing fix.
  • Fixed deprecated torch.svdtorch.linalg.svd, with clearer error messages/paths.

3.6.5

  • Removed Recast Smoothing.

3.6.4

  • Recast Advanced mode: independent per-region expression multipliers (structural, eyes, eyebrows, cheeks, lips, jaw) and crop-border feathering.
  • Frame-edits fix and further Recast optimization.
  • Enhancement to defaults.

3.6.3

  • Recast Relative mode.

3.6.2

  • Recast fix (FP32 mode).
  • Added webcam resolution option.
  • Output-folder skip for markers.

Contributors in this range

@Elricfae — thanks to everyone who contributed code, fixes and reviews.


Upgrade notes

  • Portable launcher users: download the latest Start_Portable.bat attached to this release (or via the "latest" link in the README).
  • No manual migration steps required; the launcher's dependency update handles environment changes on next start.

Don't miss a new VisoMaster-Fusion release

NewReleases is sending notifications on new releases.