4d42959cc198f3e75da6f9b047068c6d465dc5bc45d81cfb03111eaa1e6190c3
Browse files- adetailer/adetailer/__pycache__/__init__.cpython-310.pyc +0 -0
- adetailer/adetailer/__pycache__/__version__.cpython-310.pyc +0 -0
- adetailer/adetailer/__pycache__/args.cpython-310.pyc +0 -0
- adetailer/adetailer/__pycache__/common.cpython-310.pyc +0 -0
- adetailer/adetailer/__pycache__/mask.cpython-310.pyc +0 -0
- adetailer/adetailer/__pycache__/mediapipe.cpython-310.pyc +0 -0
- adetailer/adetailer/__pycache__/ui.cpython-310.pyc +0 -0
- adetailer/adetailer/__pycache__/ultralytics.cpython-310.pyc +0 -0
- adetailer/controlnet_ext/__pycache__/__init__.cpython-310.pyc +0 -0
- adetailer/controlnet_ext/__pycache__/controlnet_ext.cpython-310.pyc +0 -0
- adetailer/controlnet_ext/__pycache__/restore.cpython-310.pyc +0 -0
- adetailer/scripts/__pycache__/!adetailer.cpython-310.pyc +0 -0
- adetailer/sd_webui/__pycache__/__init__.cpython-310.pyc +0 -0
- adetailer/sd_webui/__pycache__/images.cpython-310.pyc +0 -0
- adetailer/sd_webui/__pycache__/paths.cpython-310.pyc +0 -0
- adetailer/sd_webui/__pycache__/processing.cpython-310.pyc +0 -0
- adetailer/sd_webui/__pycache__/safe.cpython-310.pyc +0 -0
- adetailer/sd_webui/__pycache__/script_callbacks.cpython-310.pyc +0 -0
- adetailer/sd_webui/__pycache__/scripts.cpython-310.pyc +0 -0
- adetailer/sd_webui/__pycache__/shared.cpython-310.pyc +0 -0
- ebsynth_utility/README.md +186 -0
- ebsynth_utility/__pycache__/calculator.cpython-310.pyc +0 -0
- ebsynth_utility/__pycache__/ebsynth_utility.cpython-310.pyc +0 -0
- ebsynth_utility/__pycache__/stage1.cpython-310.pyc +0 -0
- ebsynth_utility/__pycache__/stage2.cpython-310.pyc +0 -0
- ebsynth_utility/__pycache__/stage3_5.cpython-310.pyc +0 -0
- ebsynth_utility/__pycache__/stage5.cpython-310.pyc +0 -0
- ebsynth_utility/__pycache__/stage7.cpython-310.pyc +0 -0
adetailer/adetailer/__pycache__/__init__.cpython-310.pyc
CHANGED
Binary files a/adetailer/adetailer/__pycache__/__init__.cpython-310.pyc and b/adetailer/adetailer/__pycache__/__init__.cpython-310.pyc differ
|
|
adetailer/adetailer/__pycache__/__version__.cpython-310.pyc
CHANGED
Binary files a/adetailer/adetailer/__pycache__/__version__.cpython-310.pyc and b/adetailer/adetailer/__pycache__/__version__.cpython-310.pyc differ
|
|
adetailer/adetailer/__pycache__/args.cpython-310.pyc
CHANGED
Binary files a/adetailer/adetailer/__pycache__/args.cpython-310.pyc and b/adetailer/adetailer/__pycache__/args.cpython-310.pyc differ
|
|
adetailer/adetailer/__pycache__/common.cpython-310.pyc
CHANGED
Binary files a/adetailer/adetailer/__pycache__/common.cpython-310.pyc and b/adetailer/adetailer/__pycache__/common.cpython-310.pyc differ
|
|
adetailer/adetailer/__pycache__/mask.cpython-310.pyc
CHANGED
Binary files a/adetailer/adetailer/__pycache__/mask.cpython-310.pyc and b/adetailer/adetailer/__pycache__/mask.cpython-310.pyc differ
|
|
adetailer/adetailer/__pycache__/mediapipe.cpython-310.pyc
CHANGED
Binary files a/adetailer/adetailer/__pycache__/mediapipe.cpython-310.pyc and b/adetailer/adetailer/__pycache__/mediapipe.cpython-310.pyc differ
|
|
adetailer/adetailer/__pycache__/ui.cpython-310.pyc
CHANGED
Binary files a/adetailer/adetailer/__pycache__/ui.cpython-310.pyc and b/adetailer/adetailer/__pycache__/ui.cpython-310.pyc differ
|
|
adetailer/adetailer/__pycache__/ultralytics.cpython-310.pyc
CHANGED
Binary files a/adetailer/adetailer/__pycache__/ultralytics.cpython-310.pyc and b/adetailer/adetailer/__pycache__/ultralytics.cpython-310.pyc differ
|
|
adetailer/controlnet_ext/__pycache__/__init__.cpython-310.pyc
CHANGED
Binary files a/adetailer/controlnet_ext/__pycache__/__init__.cpython-310.pyc and b/adetailer/controlnet_ext/__pycache__/__init__.cpython-310.pyc differ
|
|
adetailer/controlnet_ext/__pycache__/controlnet_ext.cpython-310.pyc
CHANGED
Binary files a/adetailer/controlnet_ext/__pycache__/controlnet_ext.cpython-310.pyc and b/adetailer/controlnet_ext/__pycache__/controlnet_ext.cpython-310.pyc differ
|
|
adetailer/controlnet_ext/__pycache__/restore.cpython-310.pyc
CHANGED
Binary files a/adetailer/controlnet_ext/__pycache__/restore.cpython-310.pyc and b/adetailer/controlnet_ext/__pycache__/restore.cpython-310.pyc differ
|
|
adetailer/scripts/__pycache__/!adetailer.cpython-310.pyc
CHANGED
Binary files a/adetailer/scripts/__pycache__/!adetailer.cpython-310.pyc and b/adetailer/scripts/__pycache__/!adetailer.cpython-310.pyc differ
|
|
adetailer/sd_webui/__pycache__/__init__.cpython-310.pyc
CHANGED
Binary files a/adetailer/sd_webui/__pycache__/__init__.cpython-310.pyc and b/adetailer/sd_webui/__pycache__/__init__.cpython-310.pyc differ
|
|
adetailer/sd_webui/__pycache__/images.cpython-310.pyc
CHANGED
Binary files a/adetailer/sd_webui/__pycache__/images.cpython-310.pyc and b/adetailer/sd_webui/__pycache__/images.cpython-310.pyc differ
|
|
adetailer/sd_webui/__pycache__/paths.cpython-310.pyc
CHANGED
Binary files a/adetailer/sd_webui/__pycache__/paths.cpython-310.pyc and b/adetailer/sd_webui/__pycache__/paths.cpython-310.pyc differ
|
|
adetailer/sd_webui/__pycache__/processing.cpython-310.pyc
CHANGED
Binary files a/adetailer/sd_webui/__pycache__/processing.cpython-310.pyc and b/adetailer/sd_webui/__pycache__/processing.cpython-310.pyc differ
|
|
adetailer/sd_webui/__pycache__/safe.cpython-310.pyc
CHANGED
Binary files a/adetailer/sd_webui/__pycache__/safe.cpython-310.pyc and b/adetailer/sd_webui/__pycache__/safe.cpython-310.pyc differ
|
|
adetailer/sd_webui/__pycache__/script_callbacks.cpython-310.pyc
CHANGED
Binary files a/adetailer/sd_webui/__pycache__/script_callbacks.cpython-310.pyc and b/adetailer/sd_webui/__pycache__/script_callbacks.cpython-310.pyc differ
|
|
adetailer/sd_webui/__pycache__/scripts.cpython-310.pyc
CHANGED
Binary files a/adetailer/sd_webui/__pycache__/scripts.cpython-310.pyc and b/adetailer/sd_webui/__pycache__/scripts.cpython-310.pyc differ
|
|
adetailer/sd_webui/__pycache__/shared.cpython-310.pyc
CHANGED
Binary files a/adetailer/sd_webui/__pycache__/shared.cpython-310.pyc and b/adetailer/sd_webui/__pycache__/shared.cpython-310.pyc differ
|
|
ebsynth_utility/README.md
ADDED
@@ -0,0 +1,186 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# ebsynth_utility
|
2 |
+
|
3 |
+
## Overview
|
4 |
+
#### AUTOMATIC1111 UI extension for creating videos using img2img and ebsynth.
|
5 |
+
#### This extension allows you to output edited videos using ebsynth.(AE is not required)
|
6 |
+
|
7 |
+
|
8 |
+
##### With [Controlnet](https://github.com/Mikubill/sd-webui-controlnet) installed, I have confirmed that all features of this extension are working properly!
|
9 |
+
##### [Controlnet](https://github.com/Mikubill/sd-webui-controlnet) is a must for video editing, so I recommend installing it.
|
10 |
+
##### Multi ControlNet("canny" + "normal map") would be suitable for video editing.
|
11 |
+
|
12 |
+
<br>
|
13 |
+
|
14 |
+
###### I made a new extension to make videos in a different way than this extension. You can use it if you like.
|
15 |
+
###### [sd_loopback_music_sync_wave](https://github.com/s9roll7/sd_loopback_music_sync_wave)
|
16 |
+
<div><video controls src="https://github.com/s9roll7/ebsynth_utility/assets/118420657/6193de8f-534b-4c71-9a20-99e7c98adf6e" muted="false"></video></div>
|
17 |
+
|
18 |
+
<br>
|
19 |
+
|
20 |
+
|
21 |
+
## Example
|
22 |
+
- The following sample is raw output of this extension.
|
23 |
+
#### sample 1 mask with [clipseg](https://github.com/timojl/clipseg)
|
24 |
+
- first from left : original
|
25 |
+
- second from left : masking "cat" exclude "finger"
|
26 |
+
- third from left : masking "cat head"
|
27 |
+
- right : color corrected with [color-matcher](https://github.com/hahnec/color-matcher) (see stage 3.5)
|
28 |
+
- Multiple targets can also be specified.(e.g. cat,dog,boy,girl)
|
29 |
+
<div><video controls src="https://user-images.githubusercontent.com/118420657/223008549-167beaee-1453-43fa-85ce-fe3982466c26.mp4" muted="false"></video></div>
|
30 |
+
|
31 |
+
#### sample 2 blend background
|
32 |
+
- person : masterpiece, best quality, masterpiece, 1girl, masterpiece, best quality,anime screencap, anime style
|
33 |
+
- background : cyberpunk, factory, room ,anime screencap, anime style
|
34 |
+
- It is also possible to blend with your favorite videos.
|
35 |
+
<div><video controls src="https://user-images.githubusercontent.com/118420657/214592811-9677634f-93bb-40dd-95b6-1c97c8e7bb63.mp4" muted="false"></video></div>
|
36 |
+
|
37 |
+
#### sample 3 auto tagging
|
38 |
+
- left : original
|
39 |
+
- center : apply the same prompts in all keyframes
|
40 |
+
- right : apply auto tagging by deepdanbooru in all keyframes
|
41 |
+
- This function improves the detailed changes in facial expressions, hand expressions, etc.
|
42 |
+
In the sample video, the "closed_eyes" and "hands_on_own_face" tags have been added to better represent eye blinks and hands brought in front of the face.
|
43 |
+
<div><video controls src="https://user-images.githubusercontent.com/118420657/218247502-6c8e04fe-859b-4739-8c9d-0bf459d04e3b.mp4" muted="false"></video></div>
|
44 |
+
|
45 |
+
#### sample 4 auto tagging (apply lora dynamically)
|
46 |
+
- left : apply auto tagging by deepdanbooru in all keyframes
|
47 |
+
- right : apply auto tagging by deepdanbooru in all keyframes + apply "anyahehface" lora dynamically
|
48 |
+
- Added the function to dynamically apply TI, hypernet, Lora, and additional prompts according to automatically attached tags.
|
49 |
+
In the sample video, if the "smile" tag is given, the lora and lora trigger keywords are set to be added according to the strength of the "smile" tag.
|
50 |
+
Also, since automatically added tags are sometimes incorrect, unnecessary tags are listed in the blacklist.
|
51 |
+
[Here](sample/) is the actual configuration file used. placed in "Project directory" for use.
|
52 |
+
<div><video controls src="https://user-images.githubusercontent.com/118420657/218247633-ab2b1e6b-d81c-4f1d-af8a-6a97df23be0e.mp4" muted="false"></video></div>
|
53 |
+
|
54 |
+
<br>
|
55 |
+
|
56 |
+
## Installation
|
57 |
+
- Install [ffmpeg](https://ffmpeg.org/) for your operating system
|
58 |
+
(https://www.geeksforgeeks.org/how-to-install-ffmpeg-on-windows/)
|
59 |
+
- Install [Ebsynth](https://ebsynth.com/)
|
60 |
+
- Use the Extensions tab of the webui to [Install from URL]
|
61 |
+
|
62 |
+
<br>
|
63 |
+
<br>
|
64 |
+
|
65 |
+
## Usage
|
66 |
+
- Go to [Ebsynth Utility] tab.
|
67 |
+
- Create an empty directory somewhere, and fill in the "Project directory" field.
|
68 |
+
- Place the video you want to edit from somewhere, and fill in the "Original Movie Path" field.
|
69 |
+
Use short videos of a few seconds at first.
|
70 |
+
- Select stage 1 and Generate.
|
71 |
+
- Execute in order from stage 1 to 7.
|
72 |
+
Progress during the process is not reflected in webui, so please check the console screen.
|
73 |
+
If you see "completed." in webui, it is completed.
|
74 |
+
(In the current latest webui, it seems to cause an error if you do not drop the image on the main screen of img2img.
|
75 |
+
Please drop the image as it does not affect the result.)
|
76 |
+
|
77 |
+
<br>
|
78 |
+
<br>
|
79 |
+
|
80 |
+
## Note 1
|
81 |
+
For reference, here's what I did when I edited a 1280x720 30fps 15sec video based on
|
82 |
+
#### Stage 1
|
83 |
+
There is nothing to configure.
|
84 |
+
All frames of the video and mask images for all frames are generated.
|
85 |
+
|
86 |
+
#### Stage 2
|
87 |
+
In the implementation of this extension, the keyframe interval is chosen to be shorter where there is a lot of motion and longer where there is little motion.
|
88 |
+
If the animation breaks up, increase the keyframe, if it flickers, decrease the keyframe.
|
89 |
+
First, generate one time with the default settings and go straight ahead without worrying about the result.
|
90 |
+
|
91 |
+
|
92 |
+
#### Stage 3
|
93 |
+
Select one of the keyframes, throw it to img2img, and run [Interrogate DeepBooru].
|
94 |
+
Delete unwanted words such as blur from the displayed prompt.
|
95 |
+
Fill in the rest of the settings as you would normally do for image generation.
|
96 |
+
|
97 |
+
Here is the settings I used.
|
98 |
+
- Sampling method : Euler a
|
99 |
+
- Sampling Steps : 50
|
100 |
+
- Width : 960
|
101 |
+
- Height : 512
|
102 |
+
- CFG Scale : 20
|
103 |
+
- Denoising strength : 0.2
|
104 |
+
|
105 |
+
Here is the settings for extension.
|
106 |
+
- Mask Mode(Override img2img Mask mode) : Normal
|
107 |
+
- Img2Img Repeat Count (Loop Back) : 5
|
108 |
+
- Add N to seed when repeating : 1
|
109 |
+
- use Face Crop img2img : True
|
110 |
+
- Face Detection Method : YuNet
|
111 |
+
- Max Crop Size : 1024
|
112 |
+
- Face Denoising Strength : 0.25
|
113 |
+
- Face Area Magnification : 1.5 (The larger the number, the closer to the model's painting style, but the more likely it is to shift when merged with the body.)
|
114 |
+
- Enable Face Prompt : False
|
115 |
+
|
116 |
+
Trial and error in this process is the most time-consuming part.
|
117 |
+
Monitor the destination folder and if you do not like results, interrupt and change the settings.
|
118 |
+
[Prompt][Denoising strength] and [Face Denoising Strength] settings when using Face Crop img2img will greatly affect the result.
|
119 |
+
For more information on Face Crop img2img, check [here](https://github.com/s9roll7/face_crop_img2img)
|
120 |
+
|
121 |
+
If you have lots of memory to spare, increasing the width and height values while maintaining the aspect ratio may greatly improve results.
|
122 |
+
|
123 |
+
This extension may help with the adjustment.
|
124 |
+
https://github.com/s9roll7/img2img_for_all_method
|
125 |
+
|
126 |
+
<br>
|
127 |
+
|
128 |
+
**The information above is from a time when there was no controlnet.
|
129 |
+
When controlnet are used together (especially multi-controlnets),
|
130 |
+
Even setting "Denoising strength" to a high value works well, and even setting it to 1.0 produces meaningful results.
|
131 |
+
If "Denoising strength" is set to a high value, "Loop Back" can be set to 1.**
|
132 |
+
|
133 |
+
<br>
|
134 |
+
|
135 |
+
#### Stage 4
|
136 |
+
Scale it up or down and process it to exactly the same size as the original video.
|
137 |
+
This process should only need to be done once.
|
138 |
+
|
139 |
+
- Width : 1280
|
140 |
+
- Height : 720
|
141 |
+
- Upscaler 1 : R-ESRGAN 4x+
|
142 |
+
- Upscaler 2 : R-ESRGAN 4x+ Anime6B
|
143 |
+
- Upscaler 2 visibility : 0.5
|
144 |
+
- GFPGAN visibility : 1
|
145 |
+
- CodeFormer visibility : 0
|
146 |
+
- CodeFormer weight : 0
|
147 |
+
|
148 |
+
#### Stage 5
|
149 |
+
There is nothing to configure.
|
150 |
+
.ebs file will be generated.
|
151 |
+
|
152 |
+
#### Stage 6
|
153 |
+
Run the .ebs file.
|
154 |
+
I wouldn't change the settings, but you could adjust the .ebs settings.
|
155 |
+
|
156 |
+
#### Stage 7
|
157 |
+
Finally, output the video.
|
158 |
+
In my case, the entire process from 1 to 7 took about 30 minutes.
|
159 |
+
|
160 |
+
- Crossfade blend rate : 1.0
|
161 |
+
- Export type : mp4
|
162 |
+
|
163 |
+
<br>
|
164 |
+
<br>
|
165 |
+
|
166 |
+
## Note 2 : How to use multi-controlnet together
|
167 |
+
#### in webui setting
|
168 |
+
![controlnet_setting](imgs/controlnet_setting.png "controlnet_setting")
|
169 |
+
<br>
|
170 |
+
#### In controlnet settings in img2img tab(for controlnet 0)
|
171 |
+
![controlnet_0](imgs/controlnet_0.png "controlnet_0")
|
172 |
+
<br>
|
173 |
+
#### In controlnet settings in img2img tab(for controlnet 1)
|
174 |
+
![controlnet_1](imgs/controlnet_1.png "controlnet_1")
|
175 |
+
<br>
|
176 |
+
#### In ebsynth_utility settings in img2img tab
|
177 |
+
**Warning : "Weight" in the controlnet settings is overridden by the following values**
|
178 |
+
![controlnet_option_in_ebsynthutil](imgs/controlnet_option_in_ebsynthutil.png "controlnet_option_in_ebsynthutil")
|
179 |
+
|
180 |
+
<br>
|
181 |
+
<br>
|
182 |
+
|
183 |
+
## Note 3 : How to use clipseg
|
184 |
+
![clipseg](imgs/clipseg.png "How to use clipseg")
|
185 |
+
|
186 |
+
|
ebsynth_utility/__pycache__/calculator.cpython-310.pyc
ADDED
Binary file (5.31 kB). View file
|
|
ebsynth_utility/__pycache__/ebsynth_utility.cpython-310.pyc
ADDED
Binary file (6.92 kB). View file
|
|
ebsynth_utility/__pycache__/stage1.cpython-310.pyc
ADDED
Binary file (6.65 kB). View file
|
|
ebsynth_utility/__pycache__/stage2.cpython-310.pyc
ADDED
Binary file (4.55 kB). View file
|
|
ebsynth_utility/__pycache__/stage3_5.cpython-310.pyc
ADDED
Binary file (4.2 kB). View file
|
|
ebsynth_utility/__pycache__/stage5.cpython-310.pyc
ADDED
Binary file (5.68 kB). View file
|
|
ebsynth_utility/__pycache__/stage7.cpython-310.pyc
ADDED
Binary file (5.13 kB). View file
|
|