Commit Graph

403 Commits

Author SHA1 Message Date
Somdev Sangwan
f9fe11a8a9
Update README.md 2024-03-25 09:31:32 +05:30
Somdev Sangwan
ebe2dd7378
add demo image 2024-01-11 20:43:01 +05:30
Paresh Maheshwari
0497d0ba02
Update face_swapper.py (#862) 2023-10-01 19:54:59 +05:30
Somdev Sangwan
da1ef285f1
housekeeping 2023-08-22 02:34:20 +05:30
Somdev Sangwan
1a449b7d89
fixed download link 2023-08-22 02:31:23 +05:30
Somdev Sangwan
5dd8628d93
replace download links 2023-08-22 01:42:28 +05:30
Somdev Sangwan
5b1e8b9ec3
discontinuation 2023-08-20 05:24:24 +05:30
Henry Ruhs
c31316e70c
Preserve the installation guide 2023-08-18 11:05:40 +02:00
henryruhs
b86cc7986a Remove preview files 2023-08-17 22:48:48 +02:00
Ikko Eltociear Ashimine
55b242c17a
Fix typo in README.md (#851)
documenation -> documentation
2023-08-17 10:06:23 +02:00
Henry Ruhs
d7fb8b82fa
Update README.md 2023-08-17 10:05:08 +02:00
Henry Ruhs
6cc3a086df
Update README.md 2023-08-17 10:03:48 +02:00
DinoBarton
adba072ef5
Simplified Disclaimer from README.md for best practices (#852)
* Simplified README.md for best practices.

* Update README.md
2023-08-17 09:57:51 +02:00
Somdev Sangwan
a1086c7ce5
remove preview 2023-08-17 06:18:41 +05:30
henryruhs
cf7ba1caf9 Adjust preview files 2023-08-04 10:49:05 +02:00
Henry Ruhs
cb5ccd9002
Update installation.md 2023-08-04 10:16:34 +02:00
Henry Ruhs
75fe398f32
Update README.md 2023-08-04 09:36:06 +02:00
Henry Ruhs
1a8d371261
Update CONTRIBUTING.md 2023-08-03 22:25:35 +02:00
Henry Ruhs
f7eb15ae3b
Use main branch for images 2023-08-03 22:12:34 +02:00
Henry Ruhs
a3c304de6d
Next (#814)
* Update README to new documentation style

* Update README.md

* Update README.md

* Rename requirements-ci.txt to requirements-headless.txt

* Update README.md

* Update README.md

* Update README.md
2023-08-03 22:11:53 +02:00
henryruhs
e648fadf73 Some cosmetics 2023-08-03 09:21:23 +02:00
Henry Ruhs
c2d1feb17a
Next (#810)
* Fix dependency conflict (#790)

* Remove (direct) torch and torchvision dependencies

* Change version to next

* Multi OS in CI (#808)

* Run CI on multi OS

* Run CI on multi OS

* Run CI on multi OS

* Run CI on multi OS

* Run CI on multi OS

* Bump version

---------

Co-authored-by: Wu Tingfeng <wu.tingfeng@u.nus.edu>
2023-08-03 09:13:17 +02:00
Henry Ruhs
43a8d9f7f3
Update bug.md 2023-07-27 12:58:46 +02:00
Henry Ruhs
941acf9df3
Fix link in README 2023-07-27 10:54:50 +02:00
Henry Ruhs
e0642702f3
Next (#778)
* [Bugfix] Add back the support for --many-faces (#771)

* Cleanup many-faces vs reference face, Fix float on reference frame, Introduce globals typing

* Fix headless

* Fix attribute typing error

* Bump version

---------

Co-authored-by: Barak Segal <barak353@gmail.com>
2023-07-27 10:38:59 +02:00
Somdev Sangwan
ef419192c1
add licence disclaimer 2023-07-26 22:39:45 +05:30
henryruhs
a3f5adafbf Add FUNDING 2023-07-26 12:45:46 +02:00
henryruhs
142284916a Hotfix quality range from 0-100 2023-07-25 19:14:34 +02:00
henryruhs
96c8f1cfea Hotfix quality range from 0-100 2023-07-25 19:05:00 +02:00
Henry Ruhs
2637b1f1e0
Next (#766)
* Check frames before processing

* Enhance on bbox by factor 1.5

* Introduce ARGS for temporary frames

* Improve README

* Improve README

* Bump version

* Rework on ffmpeg encoders and quality ranges

* Rework on ffmpeg encoders and quality ranges

* Update README

* Fix range in CLI

* Update gui demo
2023-07-25 16:26:12 +02:00
henryruhs
312208a411 Hotfix dependencies for intel powered apples 2023-07-21 18:29:29 +02:00
henryruhs
2e60fd88d1 Hotfix many faces in analyser 2023-07-20 19:17:17 +02:00
henryruhs
fd9ef824e9 Hotfix enhancer as of empty bbox 2023-07-20 14:09:49 +02:00
henryruhs
75c8f58355 Hotfix enhancer as of empty bbox 2023-07-20 12:46:48 +02:00
henryruhs
df731fcef1 Hotfix tkinterdnd2 as of missing Apple Silicon support 2023-07-19 22:56:28 +02:00
henryruhs
2f8e56dad6 Extend bug template 2023-07-19 13:37:17 +02:00
Henry Ruhs
fe9b2bc8e5
Next (#734)
* Fix video frames lower than threads

* Skip target audio (#656)

* Improve return typing

* Use face enhancer device according to execution provider

* Lock face by reference (#679)

* Lock face by position of a face reference

* Prevent exception for get_many_faces

* Finalize face reference implementation

* Fix potential exception

* Use sys.exit() over quit()

* Split frame processor error to reduce confusion

* Improve face reference by introducing more CLI args

* Prevent AttributeError if face is None

* Update dependencies

* Move reference creation to process_video

* Allow to initialize UI with source path and target path

* Allow to initialize UI with source path and target path

* Allow to initialize UI with source path and target path

* Use onnxruntime-coreml for old MacOS

* Fix typing

* Fix typing

* Fix typing

* Temp fix for enhancer

* Temp fix for enhancer

* Keyboard bindings to change reference face via Up/Down

* Fix slow preview

* ignore

* Update README and ISSUE TEMPLATES

* Right/Left to update frames by +10/-10

* Fix fps mismatch

* Add fps parameter to extract_frames()

* Minor wording cosmetics

* Improve enhancer performance by using cropped face

* Fix suggested threads and memory

* Extract frames with FPS output

* Remove default max-memory

* Remove release_resources() as it does not work

* Ignore torch import

* Add drag and drop for source and target

* Fix typing

* Bump version

* Limit Left/Right binding to videos

* Add key binding hits to preview
2023-07-19 13:32:58 +02:00
Somdev Sangwan
68f534c35f
change license to GPL 2023-07-16 01:27:00 +05:30
Henry Ruhs
3d02b26766
Next (#583)
* More accurate progress description

* Add thread lock to face analyser

* Use as_completed() for thread pool

* Show memory usage in progress bar

* Using Queue for dynamic thread processing

* Fix typing

* Introduce pick_quere() to allocate frames per future

* Bump version and add missing hook function

* Fix pick_queue()

* Introduce post process (#587)

* Introduce post_process to flush VRAM for example

* Delete frame processor instances

* Limit tensorflow usage to 1GB VRAM

* Set None instead of del

* Remove deprecated args

* Update gui preview

* Remove choices restriction from frame-processor and improve help output

* faithful donation label

* original donate button colors

* Introduce Frame processor xxx crashed

* ^_^ ^_^ ^_^ ^_^ ^_^

* Update GUI demo

---------

Co-authored-by: Somdev Sangwan <s0md3v@gmail.com>
2023-06-26 07:49:43 +02:00
Henry Ruhs
b41149e4a2
Update README.md 2023-06-22 17:45:29 +02:00
Henry Ruhs
773ce17897
Fix wiki links 2023-06-21 10:14:52 +02:00
henryruhs
7f596367bb Limit the range for video quality argument 2023-06-20 22:06:33 +02:00
henryruhs
807cdb550c Update gui demo 2023-06-20 22:03:00 +02:00
henryruhs
14a45ac6e6 Add cursor to UI and reintroduce donate 2023-06-20 22:01:43 +02:00
henryruhs
4669a28524 Add defaultextension to save dialog 2023-06-20 22:01:43 +02:00
henryruhs
3929d87845 Limit default threads for ROCM 2023-06-20 22:01:43 +02:00
Somdev Sangwan
c554884c90
fix spelling 2023-06-20 17:39:40 +05:30
Henry Ruhs
ec12665fb1
Next (#564)
* ffmpeg platform-agnostic hardware-acceleration

* clear CUDA cache after swapping

on low VRAM + ffmpeg cuda acceleration, clearing cache prevent cuda out-of-memory error

* check torch gpu before clearing cache

* torch check nvidia only

* syntax error

* Adjust comment

* Normalize ARGS

* Remove path normalization

* Remove args overrides

* Run test on Linux and Windows

* Run test on Linux and Windows

* Run test on Linux and Windows

* Run test on Linux and Windows

* Run test on Linux and Windows

* Run test on Linux and Windows

* Run test on Linux and Windows

* Revert to Ubuntu test only as Windows hangs

* Simplified the way to maintain aspect ratio of the preview, and maintaining aspect ratio of the miniatures

* Change face and target images from contain to fit

* Improve status output

* Massive utilities and core refactoring

* Fix sound

* Fix sound part2

* Fix more

* Move every UI related thing to ui.py

* Refactor UI

* Introduce render_video_preview()

* Add preview back part1

* Add preview back part2, Introduce --video-quality for CLI

* Get the preview working

* Couple if minor UI fixes

* Add video encoder via CLI

* Change default video quality, Integrate recent directories for UI

* Move temporary files to temp/{target-name}

* Fix fps detection

* Rename method

* Introduce suggest methods for args defaults, output mode and core/threads count via postfix

* Fix max_memory and output memory in progress bar too

* Turns out mac has a different memory unit

* Add typing to swapper

* Fix FileNotFoundError while deleting temp

* Updated requirements.txt for macs.

(cherry picked from commit fd00a18771)

* Doing bunch of renaming and typing

* Just a cosmetic

* Doing bunch of renaming again

* Introduce execution provider to support DirectML

* enhancer update

* remove useless code

* remove useless code

* remove useless code

* fix

* reslove some errors in code review.

* methods rename

* del Unused import

* recover the conditional installation for darwin!

* recover the import module

* del try catch in unrelate codes

* fix error in argument and potential infinity loop

* remove the ROCM check before face-enhancer

* fix lint error

* add the process for image

* conditional process according to --frame-processor

* Hotfix usage of --frame-processor face-swapper face-enhancer

* Auto download models

* typo fixed

* Fix framerate and audio sync issues

* Limit the video encoders according to -crf support

* Limit the video encoders according to -crf support part2

* Migrate to theme based UI using customtkinter

* Show full preview according to video frames total

* Simplify is_image and is_video, close preview on source/target change, show preview slider on video only, fix start button error

* Fix linter

* Use float over int for more accurate fps

* introduce a pre_check() to enhancer...

* update

* Update utilities.py

* move the model_path to the method

* Fix model paths

* Fix linter

* Fix images scaling

* Update onnxruntime-silicon and monkey patch ssl for mac

* Downgrade onnxruntime-silicon again

* Introduce a first version of CONTRIBUTING.md

* Update CONTRIBUTING.md

* Add libvpx-vp9 to video encoder's choices

* Update CONTRIBUTING.md

* Migrate gpu flags to execution flags

* Fix linter

* Encode and decode execution providers for easier usage

* Fix comment

* Update CLI usage

* Fixed wrong frame colors for preview

* Introduce dynamic frame procesors

* Remove unused imports

* Use different structure

* modified:   roop/core.py , enhancer and swapper

* fix link error

* modified core.py ui.py frame/core.py

* fix get_frame_processors_modules()

* fix lint error in core.py

* fix face_enhancer.py

* fix enhancer.py

* fix ui.py

* modified:   roop/ui.py

* fix ui.py

* Update ui.py

* Fix preview to work with multiple frame processors

* Remove multi processing as the performance is equal but memory consumtion better

* Extract common methods to processors.frame.core

* Add comments and todos

* Minor fixes

* Minor fixes

* Limit enhancer to 1 thread but restore afterwards

* Limit enhancer to 1 thread but restore afterwards

* Update README and GUI demo

* Implementation check for frame processors

* Improve path validation

* Introduce normalize output path

* Fix GUI startup

* Introduce pre_start() and move globals check to pre_check()

* Flip the hooks and update CLI usage

* Introduce bool returns for pre_check() and pre_start(), Scope for terminal output

* Cast deprecated args and warn the user

* Migrate to ctk.CTkImage

* readme update: old keys fixed

* Unused import made CI test to fail

* Give gfpgan a shot

* Update dependencies

* Update dependencies

* Update dependencies

* Update dependencies

* Fix ci (#498)

* Use different dependencies for CI

* Use different dependencies for CI

* Use different dependencies for CI

* Use different dependencies for CI

* Use different dependencies for CI

* Fix preview (#499)

* Minor changes

* Fix override of files using restore_audio()

* Host the models in our huggingface space

* Remove everything source face related from enhancer (#510)

* Remove everything source face related from enhancer

* Disable upscale for enhancer to double fps

* Using futures for multi threading

* Introduce predicter (#530)

* Hotfix predicter

* Fix square brackets in the target path (#532)

* fixes the problem with square brackets in the target file path

* fixes the problem with square brackets in the target file path

* Ok, here is the fix without regexps

* unused import

* fix for ci

* glob.escape fits here

* Make multiple processors work with images

* Fix output normalize for deprecated args

* Make roop more or less type-safe (#541)

* Make roop more or less type-safe

* Fix ci.yml

* Fix urllib type error

* Rename globals in ui

* Update utilities.py (#542)

Updated the extraction process with the ffmpeg command that corrects the colorspace while extracting to png, and corrected the ffmpeg command, adding '-pix_fmt', 'rgb24', '-sws_flags', '+accurate_rnd+full_chroma_int', '-colorspace', '1', '-color_primaries', '1', '-color_trc', '1'

'-pix_fmt rgb24', means treat the image as RGB (or RGBA)
'-sws_flags +accurate_rnd+full_chroma_int', means use full color and chroma subsampling instead of 4:2:0
'-colorspace 1', '-color_primaries 1', '-color_trc 1' put the metadata color tags to the png

* Use GFPGANv1.4 for enhancer

* Fixing the colorspace issue when writing the mp4 from the extracted pngs (#550)

* Update utilities.py

Updated the extraction process with the ffmpeg command that corrects the colorspace while extracting to png, and corrected the ffmpeg command, adding '-pix_fmt', 'rgb24', '-sws_flags', '+accurate_rnd+full_chroma_int', '-colorspace', '1', '-color_primaries', '1', '-color_trc', '1'

'-pix_fmt rgb24', means treat the image as RGB (or RGBA)
'-sws_flags +accurate_rnd+full_chroma_int', means use full color and chroma subsampling instead of 4:2:0
'-colorspace 1', '-color_primaries 1', '-color_trc 1' put the metadata color tags to the png

* Fixing color conversion from temp png sequence to mp4

'-sws_flags', 'spline+accurate_rnd+full_chroma_int', ' use full color and chroma subsampling
-vf', 'colorspace=bt709:iall=bt601-6-625:fast=1', keep the same rec709 colorspace
'-color_range', '1', '-colorspace', '1', '-color_primaries', '1', '-color_trc', '1', put the metadata color tags to the mp4

* Revert "Fixing the colorspace issue when writing the mp4 from the extracted pngs (#550)"

This reverts commit cf5f27d36a.

* Revert "Update utilities.py (#542)"

This reverts commit d57279ceb6.

* Restore colorspace restoring

* Add metadata to cli and ui

* Introduce Face and Frame typing

* Update CLI usage

---------

Co-authored-by: Phan Tuấn Anh <phantuananh@hotmail.com.vn>
Co-authored-by: Antoine Buchser <10513467+AntwaneB@users.noreply.github.com>
Co-authored-by: Eamonn A. Sweeney <mail@eamonnsweeney.ie>
Co-authored-by: Moeblack <Moeblack@kuroinekorachi@gmail.com>
Co-authored-by: Pozitronik <antikillerxxl@gmail.com>
Co-authored-by: Pikachu~~~ <Moeblack@users.noreply.github.com>
Co-authored-by: K1llM@n <k1llmanws@yandex.ru>
Co-authored-by: NickPittas <107440357+NickPittas@users.noreply.github.com>
2023-06-20 10:57:07 +02:00
Ikko Eltociear Ashimine
70108223f9
Update README.md (#534)
irreplacable -> irreplaceable
2023-06-18 19:48:58 +02:00
Somdev Sangwan
2942447309
add extension link 2023-06-18 04:52:53 +05:30