60 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
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
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
75fe398f32 Update README.md 2023-08-04 09:36:06 +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
Henry Ruhs
941acf9df3 Fix link in README 2023-07-27 10:54:50 +02:00
Somdev Sangwan
ef419192c1 add licence disclaimer 2023-07-26 22:39:45 +05:30
henryruhs
142284916a Hotfix quality range from 0-100 2023-07-25 19:14:34 +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
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
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
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
Somdev Sangwan
272be1e6d8 updated disclaimer 2023-06-15 20:32:40 +05:30
Somdev Sangwan
e6cc97daab add henryruhs to credits 2023-06-05 15:28:04 +05:30
henryruhs
868fa1a00d Rename max-cores to cpu-cores, Improve dependencies 2023-06-04 17:08:12 +02:00
henryruhs
8734a6c2e0 Follow ONNX_Runtime_Perf_Tuning and introduce new args 2023-06-03 02:23:48 +02:00
henryruhs
030d6a698b Less verbose ffmpeg outputs 2023-06-02 19:43:30 +02:00
Henry Ruhs
b5f2bd0261 Update README.md 2023-06-01 00:30:51 +02:00
Somdev Sangwan
2f6e56d05f move disclaimer up 2023-06-01 03:15:33 +05:30
henryruhs
30d33f9f58 Improve CLI description 2023-05-31 19:37:33 +02:00
Somdev Sangwan
450f8fade7 clarity 2023-05-31 10:16:56 +05:30
henryruhs
47dafb48ba Normalize cli args 2023-05-30 20:43:03 +02:00
Henry Ruhs
cfa9c6cfe9 Merge branch 'main' into main 2023-05-30 20:38:46 +02:00
RealCalumPlays
e4f1d9aaff Update README.md to include --cores parameter (#128)
* Update utils.py

* Update README.md
2023-05-30 22:05:36 +05:30
henryruhs
48e1f93891 Revert: CPU limits not working 2023-05-30 10:59:23 +02:00
henryruhs
7227297b45 Add resource limitations 2023-05-30 10:15:25 +02:00
Somdev Sangwan
1d17cf1307 Update README.md 2023-05-30 10:21:07 +05:30
Somdev Sangwan
3a306f09f3 wiki links 2023-05-30 09:38:19 +05:30
Somdev Sangwan
c39485bca0 added instructions for mac 2023-05-30 08:26:28 +05:30
Somdev Sangwan
ee320cf000 reorder mirrors 2023-05-30 08:19:48 +05:30
Justin Maier
1f9d3fa7e8 Add Civitai Model Mirror 2023-05-29 20:35:56 -06:00
Somdev Sangwan
7772419520 add disclaimer 2023-05-30 07:49:20 +05:30
Somdev Sangwan
cade1162ed gpu instruction 2023-05-30 06:11:10 +05:30
Somdev Sangwan
1726a69a03 Update README.md 2023-05-30 05:34:26 +05:30
Somdev Sangwan
751546af68 install c++ in windows 2023-05-29 23:16:45 +05:30
Osma Suominen
87549307b7 Add --output option to README 2023-05-29 16:13:22 +03:00
Somdev Sangwan
9aa6803c12 document latest output changes 2023-05-29 17:45:32 +05:30