Commit Graph

50 Commits

Author SHA1 Message Date
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
henryruhs
312208a411 Hotfix dependencies for intel powered apples 2023-07-21 18:29:29 +02:00
henryruhs
df731fcef1 Hotfix tkinterdnd2 as of missing Apple Silicon support 2023-07-19 22:56:28 +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
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
Eamonn A. Sweeney
fd00a18771 Updated requirements.txt for macs. 2023-06-09 14:34:59 +01:00
henryruhs
868fa1a00d Rename max-cores to cpu-cores, Improve dependencies 2023-06-04 17:08:12 +02:00
Pikachu~~~
f200b4c7b4
Roop-multi changed the implementation of multi-threading processing for nvidia GPU. (#317)
* changed the multi-thread implementation for nvidia gpu

* Update requirements.txt

* Add files via upload

* fix core.py and swapper.py

* fix core.py

* code clean

* code clean

* doubles performance of gpu-mode

---------

Co-authored-by: Moeblack <Moeblack@kuroinekorachi@gmail.com>
Co-authored-by: Somdev Sangwan <s0md3v@gmail.com>
2023-06-04 17:19:27 +05:30
Somdev Sangwan
2606be04ba
add pynvml 2023-06-04 13:24:32 +05:30
henryruhs
289bcff9a3 CoreMLExecutionProvider support for Apple Silicon 2023-06-04 09:51:05 +02:00
henryruhs
6f38212bfd Follow ONNX_Runtime_Perf_Tuning and introduce new args 2023-06-03 02:45:32 +02:00
henryruhs
8734a6c2e0 Follow ONNX_Runtime_Perf_Tuning and introduce new args 2023-06-03 02:23:48 +02:00
henryruhs
14c36c860a Revert "Use tensorflow RC to fix numpy version conflicts"
This reverts commit ba909cf4dd.
2023-06-02 00:09:37 +02:00
henryruhs
ba909cf4dd Use tensorflow RC to fix numpy version conflicts 2023-06-02 00:07:45 +02:00
henryruhs
42b0785a2b Use tensorflow-macos for Macs 2023-06-01 15:50:21 +02:00
henryruhs
539c6515aa Use tensorflow-macos for Macs 2023-06-01 14:42:28 +02:00
henryruhs
11b68f2e0f Conditional dependencies for Mac 2023-06-01 12:13:48 +02:00
henryruhs
216539489d Conditional dependencies for Mac 2023-06-01 12:13:48 +02:00
Henry Ruhs
e7edbecff4
Merge branch 'main' into next 2023-05-31 23:07:44 +02:00
henryruhs
a66dd5cde1 Update dependencies 2023-05-31 23:04:44 +02:00
Pikachu~~~
7c385cc4f4 Update requirements.txt 2023-05-31 23:04:44 +02:00
Somdev Sangwan
509ff11995
bump protobuf 2023-06-01 02:11:07 +05:30
Somdev Sangwan
c208ffa551
Update requirements.txt 2023-06-01 02:03:15 +05:30
Somdev Sangwan
946e5f35ff
hardcode tensorflow version 2023-06-01 01:42:43 +05:30
Pikachu~~~
c16049517d
Update requirements.txt 2023-06-01 00:55:36 +08:00
Somdev Sangwan
c0f486ed83
Update requirements.txt 2023-05-31 18:22:35 +05:30
Somdev Sangwan
b88eff0e9b
Update requirements.txt 2023-05-31 18:01:48 +05:30
Somdev Sangwan
e44dd7e567
Update requirements.txt 2023-05-31 17:50:04 +05:30
Somdev Sangwan
2ed83803bd
add protobuf version 2023-05-31 17:37:35 +05:30
Somdev Sangwan
7c3f75ae88 better face detection 2023-05-31 15:20:26 +05:30
Somdev Sangwan
7cbffe4a6f
Update requirements.txt 2023-05-31 14:37:59 +05:30
Somdev Sangwan
1aacdb0d62
onnxruntime-gpu -> onnxruntime 2023-05-31 10:27:18 +05:30
Somdev Sangwan
f0aad74e0d
update pillow version 2023-05-30 19:19:11 +05:30
Somdev Sangwan
d1030654ce
add onnxruntime-gpu 2023-05-30 18:39:17 +05:30
Somdev Sangwan
af93d68df8
bruh moment 8 2023-05-30 06:51:56 +05:30
Somdev Sangwan
e6a2511362 add previews to gui 2023-05-30 06:50:45 +05:30
Somdev Sangwan
bd39e875bd remove onnxruntime 2023-05-30 06:49:40 +05:30
Somdev Sangwan
a1b38b9eb5 restore onnxruntime 2023-05-30 06:49:36 +05:30
henryruhs
8701123ee3 Add GPU support, Quit on missing model, Remove globals (sorry) 2023-05-30 06:48:05 +05:30
Somdev Sangwan
140f79ae6a
removed duplicate dependency 2023-05-30 06:42:19 +05:30
Somdev Sangwan
635488b9a6
remove onnxruntime 2023-05-30 06:09:41 +05:30
Somdev Sangwan
36e960e3b6
restore onnxruntime 2023-05-30 05:33:54 +05:30
henryruhs
54f800dd0e Add GPU support, Quit on missing model, Remove globals (sorry) 2023-05-30 00:40:02 +02:00
TitasDas
9e7c3222f9 Update requirements.txt based on preview feature update 2023-05-30 00:38:34 +05:30
Saeed
c3252feaad Adding package versions 2023-05-29 19:02:24 +03:30
Somdev Sangwan
499df1b7af
Update requirements.txt 2023-05-29 17:19:11 +05:30
Somdev Sangwan
e6c21a4bdd
fix tkinter install (#7) 2023-05-29 13:21:14 +05:30
Somdev Sangwan
b4420e8caf
add tkinter (resolves #5) 2023-05-29 12:47:40 +05:30
Piotr Skalski
e502c4b997
Update requirements.txt 2023-05-29 09:11:37 +02:00
Somdev Sangwan
f5d85163e2
initial build 2023-05-28 20:19:40 +05:30