Changelog
3.5.1 (Planned)
Fix inference pool when using
--execution-devices-idsargumentFix side by side previews on images with channel mismatch
3.5.0
Introduce background remover processor
Add
--face-detector-marginto detect face beyond the frameAdd frame processor models
face_dat_x4andtghq_face_x8Extend
--output-patternfor batch-run by source and target valuesRevamp architecture to modular processors and workflows
Support for the
mpegandmxfvideo format
3.4.2
Fix RAM explosion on 4K footage
Fix broken bounding box
3.4.1
Remove
DirectShowcamera backend on WindowsFix output processing with frame enhancer
Fix side by side preview with frame enhancer
3.4.0
Introduce single pass frame processing
Process inference on multiple execution devices
Add side by side preview modes along with preview resolutions
Introduce
--expression-restorer-areasargumentRevamp webcam experience and performance
Reintroduce the
yunetface detectorAdd
--voice-extractor-modelargumentMigrate ArcFace converter to CrossFace models
Balance source and target using the
--face-swapper-weightargumentIntroduce
--benchmark-modeto select between warm and cold cachesIntroduce many for the
--face-occluder-modelargumentReplace output resolution with relative output scale
Add
libx264rgbto avoid color shifts due to RGB to YUV conversionAdd support for the
wmvvideo formatExperimental support for
MIGraphXexecution providerLog model information in debug mode
Remove
--execution-queue-countargumentRemove score and classifier items from the face debugger
Fix crash on headless-run when passing invalid output path
Fix demographic filters for mutated faces
3.3.2
Fix broken Gradio dependency
Make
hyperswap_1a_256the default face swapper model
3.3.1
Fix the face store causing the second processor to fail
3.3.0
Introduce
hyperswapmodels by FaceFusion LabsAdd more deep swapper models
Add the
ultra_sharp_2_x4frame enhancer modelBoost performance for high resolution processing
Run multiple NSFW models to prevent false detection
Use the 68-point face landmarks to create face area masking
Control lip movements using the
--lip-syncer-weightargumentEnhance read and write reliability for corrupted videos
Introduce fallback logic for unsupported audio and video encoders
Fix the
UDPwebcam modeFix bitrate range violation for
libopus
3.2.0
Introduce
giteeandhf-mirrorto bypass China's great firewallEnhance NSFW validation using a
YOLOpowered detectorReduce choices to installed audio encoders and video encoders
Introduce
--halt-on-errorfor several job commandsImprove Gradio preview for unplayable videos larger than 512 MB in size
Make the face selector more responsive to preview changes
Add
--output-audio-qualityand--output-audio-volumeargumentsUse
flacoveraacfor the--output-audio-encoderdefaultExtend the face occluder by the
xseg_3modelAutomatically select the most suitable execution provider
Enable fast prediction and model caches for CoreML
Remove
--skip-audioargument as muted audio yield the sameNormalize the range of the
--reference-face-distanceargumentEliminate broken file format verification in Gradio
Restore frame colorizer support for CoreML
Prevent deep swapper and face enhancer errors when offline
Experimental multi GPU support for OpenVINO
Fix model size detection of the deep swapper
Fix inference pool sharing to avoid crash while switching models
Fix audio restoring when
--output-video-fpsis modifiedFix progress bar while extracting frames and merging videos
Fix
webpandwebmsupport under Windows
3.1.2
Fix broken
pydanticdependency
3.1.1
Restore
fp16fallbacks for CoreMLFix CUDA for the Geforce 16 series
3.1.0
Support for
DeepFaceLivemodelsFallback aware download providers
Introduce the
hififace_256face swapper modelPolish age modifier processor to reduce halo effect
Introduce batch processing via the
batch-runcommandProvide adjustable face occluder and face parser
Release the popular frame enhancer models
Add progress bar for extracting and merging of videos
Modernize the UI to align with the Gradio 5 update
Provide an option to select the webcam device id
Introduce
--temp-pathargument to alter temporary resourcesAdd video encoder
h264_qsvandhevc_qsvRemove obsolete
--skip-downloadargumentEnforce
libvpx-vp9codec forwebmprocessingGracefully close the webcam stream on exit
Fix inconsistent preview updates
Fix video length issues when restoring audio
Fix OpenVINO issue by aliasing
GPU.0toGPU
3.0.1
Fix broken
python-multipartdependency
3.0.0
Revamp the architecture where everything is a job
Introduce
pixel boostto the face swappersAdd 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_34modelRelease the
GHOSTface swapper modelsRelease frame enhancer
real_esrgan_x8modelsIntroduce ArcFace converter models for SimSwap and GHOST
Introduce offline first assets based on local hash validation
Replace
gender_agewith superiorfairfacemodelTransfer
order,ageandgenderto the face selectorSupport 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_wutzface landmark modelIntroduce
--face-landmark-modelargumentIntroduce
--output-audio-encoderargumentAdd video encoder
h264_videotoolboxandhevc_videotoolboxChange the
--face-selector-orderdefault to large-smallReplace 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
yunetdue low accuracyFix flicker in the face swapper
unifacemodelFix threading and preview crashes for ROCm and DirectML
Fix image quality for
webpimagesFix the termination of
ffmpegprocessing
2.6.1
Fix broken
numpydependency
2.6.0
Introduce a standalone one-click installer for Windows
Add the frame enhancer
clear_reality_x4andultra_sharp_x4modelLoad different
inifiles via the--configargumentIntroduce
--open-browserto open browser once the program is readyIntroduce
--execution-device-idto select processing deviceSupport 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.inioverrides to prevent crashesRemove GPU architecture lookup to support outdated
nvidia-smiRemove
hwaccelwhich surprisingly improves the FFmpeg performanceFix threading and preview crashes for DirectML
Fix
--output-video-resolutionfrom not being applied
2.5.1
Add missing
deoldifymodels to the frame colorizerFix over-correction by voice extractor on background audio
Fix excessive VRAM consumption of the voice extractor
Fix exception in
conditional_downloadwhile model removalFix stuck processing when using FFmpeg 7
2.5.0
Introduce the frame colorizer using the
ddcoloranddeoldifymodelExtract voice from the audio to enhance the lip-syncer quality
Experimental 5 to 68 face landmark estimation
Add the face enhancer
gpen_bfr_1024andgpen_bfr_2048modelAdd the frame enhancer
real_esrgan_x2andreal_hatgan_x4modelIntroduce
--force-downloadto download every model at onceMigrate the documentation and installer from venv to conda
Full compatibility with CUDA 12 due
inswapper_128_fp16model fixFix fps boosting and lowering during video merging
Fix crashes when using
--skip-downloadwhen models are absentFix
h264_nvencandhevc_nvencpresets mapping
2.4.1
Conditional download face analyser models
Prevent download loop when remote is unreachable
Dynamic
concurrency_countfor ideal Gradio performanceMonkey 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
scrfdface detector modelGracefully start and stop processing
Introduce ONNX powered frame enhancers
Introduce
--face-landmarker-scoreargumentRender tabs when using multiple UI layouts
Introduce
--output-image-resolutionargumentAdd more face debugger items and refine their color theme
Print internal statistics when
--log-level debugis enabledKeep lips over the whole video once lip syncer is enabled
Restrict resolution upscaling and fps boosting for temporary resources
Add support for
h264_amfandhevc_amfvideo encodersChange the
--output-pathbehaviour and normalizationRemove
--temp-frame-qualityargumentFix green line when using a target with uneven pixels
Fix preview of lip syncer when using
--trim-frame-startFix the blank output issue for Geforce GTX 16 series
2.3.0
Introduce the lip-syncer processors using
wave2lipImprove face alignment with 68 to 5 face landmark transformation
Add face swapper model
uniface_256Add
yolofaceas the default face detector modelClear temporary resources before processing
Add
ageandgenderto the face debugger itemsUpdate installer to version specific CUDA and ROCM entries
Improve the description of the CLI arguments
Enforce
--output-video-resolutionafter upscalingReduce terminal output noise while processing
2.2.1
Replace
restoreformerwith the latestrestoreformer_plus_plusmodelFix error when the
facefusion.inifile is missing a sectionFix image to image when utilizing
--video-memory-strategy tolerant
2.2.0
Significant improve the CUDA performance
Allow default overrides through the
facefusion.inifileEnable faster
inswapper_128_fp16model as defaultAdd
--video-memory-strategyto trade VRAM usage for speedAdd
bmpto the--temp-frame-formatargumentAdd compatibility with Pinokio 1.0.0
Display the processing time in the terminal on success
Introduce
--output-video-presetwhich defaults toveryfastIntroduce
--output-video-fpsargumentIntroduce
--output-video-resolutionargumentBlock the preview and webcam until models are fully downloaded
Rename
--max-memoryto--system-memory-limitFix gender detection due incorrect matrix transformation
Fix render issues when toggling face debugger items repeatedly
2.1.3
Fix installer option for
directmlunder 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,warnanderrorlog levelsRestore face alignment offset from retinaface
Enforce virtual environment via installer
Reduce the installer options according to platform
Add
onnxruntime-rocmsupport to installerFix 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_256andsimswap_512_unofficialto the face swapperAdd
gpen_bfr_256andrestoreformerto the face enhancerHigh performance face detector using the
retinafaceoryunetmodelsAdd ROCm and OpenVINO support to the frame enhancers
Add support for
webpimages andwebmvideosAdd the
best-worstandworst-bestto--face-analyser-orderIntroduce the
face_debuggerto visualize the bounding box, key points and face maskIntroduce the
facefusion-pinokiorepository to our GitHub organizationIntroduce
--face-mask-blurand--face-mask-paddingargumentsIntroduce
--face-detector-sizeand--face-detector-scoreargumentsExtend face selector by
onemodeRemove
insightfacedependency due handcrafted frame processingRemove
tensorflowandPILdependencies duo handcrafted frame analysingSimplify progress bar to reduce performance hits
Improve reference face UI for large amount of people
Webcam mode
udpandv4l2now with solid 25fps at 1080pSeamless start and stop the webcam feed
Rename
--face-recognitionto--face-selector-modeRename
--face-analyser-directionto--face-analyser-orderFix output validation after processing
Apply fixed ranges to number based CLI arguments
Normalize the
--reference-face-distancecalculation to a 0-1 rangeNormalize the
--output-patheven without specified--source-pathSet a 10 seconds timeout for download lookups
1.3.1
Refine
defaultandcpuchoices for the installer
1.3.0
Add high performance
fp16version to the face swapperAdd ONNX powered
CodeFormer,GFPGANandGPENto the face enhancerAdd
RealESRGAN_x2plusandRealESRNet_x4plusto the frame enhancerImplement 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
--helpand documentation with arguments groupingReduce the default image and video quality to 80 percent
Introduce a new
--torchargument to the installerImprove Apple Silicon performance using the latest
onnxruntimeFix 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-downloadto skip automated downloadsUpgrade to the most recent
onnxruntimeversion
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
--onnxruntimetoinstall.pyIntroduce official
facefusion-colabrepositoryRemove 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
CUDAandROCMDockerfile to utilize the GPUFix sorting of temp frame paths
1.1.0
Installer for common and acceleration dependencies
Built-in webcam suite that supports
udpandv4l2streamingDedicated
--headlessmodeAdd Docker support for ROCM
Allow adjustment of
--output-pathvia the UIEnhance 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-qualityoption for image outputFix
crfrange forlibvpxvideo encoderFix
detect_fpsto work with different encoding
1.0.0
Dynamic UI based on Gradio
Docker support for CPU and CUDA
Replace
--many-facesby--face-recognitionthat takesreferenceandmanyvalueTwin support: swap multiple faces by one face reference
Introduce
--execution-queue-countto adjust processing per threadRename
--execution-threadsto--execution-thread-countGlobal 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-startandtrim-frame-endBuilt-in benchmark suite
Intensive codebase refactoring
Last updated