Changelog

NEXT

  • Add support for DeepFaceLive models

  • Add download providers github and huggingface

  • Introduce HifiFace face swapper model

  • Introduce batch-run command for sequential processing

  • Release five popular frame enhancer models

  • Add video encoder h264_qsv and hevc_qsv

  • Update to latest Gradio 5

  • Refresh the look of the light and dark theme

  • Gracefully close webcam stream on exit

  • Polish age modifier processor to reduce halo effect

  • Introduce --temp-path argument to alter temporary resources

  • Automate the deployment to docker hub

  • Enforce libvpx-vp9 codec for webm processing

  • Resolve inconsistent preview updates

  • Fix incorrect video lengths when replacing audio

  • Fix OpenVINO issue by aliasing GPU.0 to GPU

3.0.1

  • Fix broken python-multipart dependency

3.0.0

  • Revamp the architecture where everything is a job

  • Introduce pixel boost to the face swappers

  • Add multi angle processing to the face detectors

  • Introduce age modifier processor

  • Introduce Live Portrait powered expression restorer processor

  • Introduce Live Portrait powered face editor processor

  • Replace face parser with bisenet_resnet_34 model

  • Release the GHOST face swapper models

  • Release frame enhancer real_esrgan_x8 models

  • Introduce ArcFace converter models for SimSwap and GHOST

  • Introduce offline first assets based on local hash validation

  • Replace gender_age with superior fairface model

  • Transfer order, age and gender to the face selector

  • Support CUDA 12.4, TensorRT 10.4, OpenVINO 2024.1 and ROCm 6.2

  • Provide appropriate error codes in headless mode

  • Migrate the CLI to commands along with related arguments

  • Introduce custom made peppa_wutz face landmark model

  • Introduce --face-landmark-model argument

  • Introduce --output-audio-encoder argument

  • Add video encoder h264_videotoolbox and hevc_videotoolbox

  • Change the --face-selector-order default to large-small

  • Replace globals with a context aware inference manager

  • Use audio whenever defined via source

  • Tweak the UI layout and visual appearance

  • Update to latest Gradio 4

  • Provide a multi range slider to trim video frames

  • Introduce a log level aware terminal component to the UI

  • Ensure significantly more accurate benchmark results

  • Drop the face detector model yunet due low accuracy

  • Fix flicker in the face swapper uniface model

  • Fix threading and preview crashes for ROCm and DirectML

  • Fix image quality for webp images

  • Fix the termination of ffmpeg processing

2.6.1

  • Fix broken numpy dependency

2.6.0

  • Introduce a standalone one-click installer for Windows

  • Add the frame enhancer clear_reality_x4 and ultra_sharp_x4 model

  • Load different ini files via the --config argument

  • Introduce --open-browser to open browser once the program is ready

  • Introduce --execution-device-id to select processing device

  • Support for Intel Arc using the OpenVINO execution provider

  • Prevent Gradio from converting videos larger than 512 MB in size

  • Fix path issues on Windows related to special characters

  • Fix issues when finalizing images using temporary files

2.5.3

  • Disable Gradio Analytics to prevent version alerts

2.5.2

  • Introduce dynamic frame colorizer sizes

  • Validate facefusion.ini overrides to prevent crashes

  • Remove GPU architecture lookup to support outdated nvidia-smi

  • Remove hwaccel which surprisingly improves the FFmpeg performance

  • Fix threading and preview crashes for DirectML

  • Fix --output-video-resolution from not being applied

2.5.1

  • Add missing deoldify models to the frame colorizer

  • Fix over-correction by voice extractor on background audio

  • Fix excessive VRAM consumption of the voice extractor

  • Fix exception in conditional_download while model removal

  • Fix stuck processing when using FFmpeg 7

2.5.0

  • Introduce the frame colorizer using the ddcolor and deoldify model

  • Extract voice from the audio to enhance the lip-syncer quality

  • Experimental 5 to 68 face landmark estimation

  • Add the face enhancer gpen_bfr_1024 and gpen_bfr_2048 model

  • Add the frame enhancer real_esrgan_x2 and real_hatgan_x4 model

  • Introduce --force-download to download every model at once

  • Migrate the documentation and installer from venv to conda

  • Full compatibility with CUDA 12 due inswapper_128_fp16 model fix

  • Fix fps boosting and lowering during video merging

  • Fix crashes when using --skip-download when models are absent

  • Fix h264_nvenc and hevc_nvenc presets mapping

2.4.1

  • Conditional download face analyser models

  • Prevent download loop when remote is unreachable

  • Dynamic concurrency_count for ideal Gradio performance

  • Monkey patch Gradio for faster preview and stream rendering

  • Fix preview for audio to image

2.4.0

  • Run multiple face detectors simultaneously

  • Prevent the 68 to 5 face landmark transformation on low confidence

  • Add the high performance scrfd face detector model

  • Gracefully start and stop processing

  • Introduce ONNX powered frame enhancers

  • Introduce --face-landmarker-score argument

  • Render tabs when using multiple UI layouts

  • Introduce --output-image-resolution argument

  • Add more face debugger items and refine their color theme

  • Print internal statistics when --log-level debug is enabled

  • Keep lips over the whole video once lip syncer is enabled

  • Restrict resolution upscaling and fps boosting for temporary resources

  • Add support for h264_amf and hevc_amf video encoders

  • Change the --output-path behaviour and normalization

  • Remove --temp-frame-quality argument

  • Fix green line when using a target with uneven pixels

  • Fix preview of lip syncer when using --trim-frame-start

  • Fix the blank output issue for Geforce GTX 16 series

2.3.0

  • Introduce the lip-syncer processors using wave2lip

  • Improve face alignment with 68 to 5 face landmark transformation

  • Add face swapper model uniface_256

  • Add yoloface as the default face detector model

  • Clear temporary resources before processing

  • Add age and gender to the face debugger items

  • Update installer to version specific CUDA and ROCM entries

  • Improve the description of the CLI arguments

  • Enforce --output-video-resolution after upscaling

  • Reduce terminal output noise while processing

2.2.1

  • Replace restoreformer with the latest restoreformer_plus_plus model

  • Fix error when the facefusion.ini file is missing a section

  • Fix image to image when utilizing --video-memory-strategy tolerant

2.2.0

  • Significant improve the CUDA performance

  • Allow default overrides through the facefusion.ini file

  • Enable faster inswapper_128_fp16 model as default

  • Add --video-memory-strategy to trade VRAM usage for speed

  • Add bmp to the --temp-frame-format argument

  • Add compatibility with Pinokio 1.0.0

  • Display the processing time in the terminal on success

  • Introduce --output-video-preset which defaults to veryfast

  • Introduce --output-video-fps argument

  • Introduce --output-video-resolution argument

  • Block the preview and webcam until models are fully downloaded

  • Rename --max-memory to --system-memory-limit

  • Fix gender detection due incorrect matrix transformation

  • Fix render issues when toggling face debugger items repeatedly

2.1.3

  • Fix installer option for directml under Windows

2.1.2

  • Add CUDA nightly to the installer

  • Refresh reference faces on processor change

  • Fix rounding issues of number based CLI arguments

2.1.1

  • Remove falsy clear reference faces in preview

2.1.0

  • Add face occlusion masking

  • Add face region masking with selectable regions

  • Average source face from multiple images

  • Multi processing aware reference faces

  • Only process the reference with face enhancer

  • Introduce debug, info, warn and error log levels

  • Restore face alignment offset from retinaface

  • Enforce virtual environment via installer

  • Reduce the installer options according to platform

  • Add onnxruntime-rocm support to installer

  • Fix preview updates on slider release

  • Fix preview updates on face reference change

  • Fix similarity transformation for the face alignment

2.0.0

  • Add blendswap_256, simswap_256 and simswap_512_unofficial to the face swapper

  • Add gpen_bfr_256 and restoreformer to the face enhancer

  • High performance face detector using the retinaface or yunet models

  • Add ROCm and OpenVINO support to the frame enhancers

  • Add support for webp images and webm videos

  • Add the best-worst and worst-best to --face-analyser-order

  • Introduce the face_debugger to visualize the bounding box, key points and face mask

  • Introduce the facefusion-pinokio repository to our GitHub organization

  • Introduce --face-mask-blur and --face-mask-padding arguments

  • Introduce --face-detector-size and --face-detector-score arguments

  • Extend face selector by one mode

  • Remove insightface dependency due handcrafted frame processing

  • Remove tensorflow and PIL dependencies duo handcrafted frame analysing

  • Simplify progress bar to reduce performance hits

  • Improve reference face UI for large amount of people

  • Webcam mode udp and v4l2 now with solid 25fps at 1080p

  • Seamless start and stop the webcam feed

  • Rename --face-recognition to --face-selector-mode

  • Rename --face-analyser-direction to --face-analyser-order

  • Fix output validation after processing

  • Apply fixed ranges to number based CLI arguments

  • Normalize the --reference-face-distance calculation to a 0-1 range

  • Normalize the --output-path even without specified --source-path

  • Set a 10 seconds timeout for download lookups

1.3.1

  • Refine default and cpu choices for the installer

1.3.0

  • Add high performance fp16 version to the face swapper

  • Add ONNX powered CodeFormer, GFPGAN and GPEN to the face enhancer

  • Add RealESRGAN_x2plus and RealESRNet_x4plus to the frame enhancer

  • Implement blending for the face enhancer and frame enhancer

  • Enable processors to have options and CLI arguments

  • Refine the UI theme to a minimal and flat design

  • Enhance the --help and documentation with arguments grouping

  • Reduce the default image and video quality to 80 percent

  • Introduce a new --torch argument to the installer

  • Improve Apple Silicon performance using the latest onnxruntime

  • Fix video quality to compression normalization

  • Fix stuck downloads caused by the Windows firewall

1.2.1

  • Perform VRAM clearance after each processing step

  • Restrict TensorFlow memory consumption to 512 MB

  • Verify the model files before frame processing

  • Introduce --skip-download to skip automated downloads

  • Upgrade to the most recent onnxruntime version

1.2.0

  • Establish realtime webcam performance

  • Optimize reruns by caching the face analyser results

  • Optimize image read performance through caching

  • Resume interrupted asset and model downloads

  • Allow passing --onnxruntime to install.py

  • Introduce official facefusion-colab repository

  • Remove alignments from each UI components

  • Introduce checkbox group for the settings

  • Set webcam resolution and fps in the UI

  • Disallow empty execution providers in the UI

  • Fix frame range processing on videos with audio

  • Fix CUDA and ROCM Dockerfile to utilize the GPU

  • Fix sorting of temp frame paths

1.1.0

  • Installer for common and acceleration dependencies

  • Built-in webcam suite that supports udp and v4l2 streaming

  • Dedicated --headless mode

  • Add Docker support for ROCM

  • Allow adjustment of --output-path via the UI

  • Enhance output path normalization

  • Single warm-up before starting the benchmark suite

  • Ability to select runs for the benchmark suite

  • Enable benchmarking with partial updates

  • Implement a fully event-driven UI for super responsiveness

  • Add a max memory slider to select free RAM

  • Implement conditional UI based on target media type

  • Introduce --output-image-quality option for image output

  • Fix crf range for libvpx video encoder

  • Fix detect_fps to work with different encoding

1.0.0

  • Dynamic UI based on Gradio

  • Docker support for CPU and CUDA

  • Replace --many-faces by --face-recognition that takes reference and many value

  • Twin support: swap multiple faces by one face reference

  • Introduce --execution-queue-count to adjust processing per thread

  • Rename --execution-threads to --execution-thread-count

  • Global options direction, age and gender for face analyser

  • Blur preview and processing hold when NSFW content has been detected

  • Flip the quality best to worse from 0-100 to 100-0

  • Trim video via trim-frame-start and trim-frame-end

  • Built-in benchmark suite

  • Intensive codebase refactoring

Last updated