Commit graph

143 commits

Author SHA1 Message Date
Colombo
d9d10f91c2 S3FD and 2DFAN-4 were improperly ported from pytorch. now fixed. 2019-09-20 17:16:37 +04:00
Colombo
dc11ec32be SAE : WARNING, RETRAIN IS REQUIRED !
fixed model sizes from previous update.
avoided bug in ML framework(keras) that forces to train the model on random noise.

Converter: added blur on the same keys as sharpness

Added new model 'TrueFace'. This is a GAN model ported from https://github.com/NVlabs/FUNIT
Model produces near zero morphing and high detail face.
Model has higher failure rate than other models.
Keep src and dst faceset in same lighting conditions.
2019-09-19 11:13:56 +04:00
Colombo
b6b92bded0 converter: now writes a filename of current frame config,
SAE: removed multiscale decoder, because it's not effective
2019-09-13 08:59:00 +04:00
Colombo
7ed38a8097 Converter:
Session is now saved to the model folder.

blur and erode ranges are increased to -400+400

hist-match-bw is now replaced with seamless2 mode.

Added 'ebs' color transfer mode (works only on Windows).

FANSEG model (used in FAN-x mask modes) is retrained with new model configuration
and now produces better precision and less jitter
2019-09-07 13:57:42 +04:00
Colombo
faa14c4e59 fix extractor error on load grayscale images 2019-09-06 11:54:49 +04:00
Colombo
bc0b25cdda interactive converter now saves the session.
if input frames are changed (amount or filenames)
then interactive converter automatically starts a new session.
if model is more trained then all frames will be recomputed again with their saved configs.
2019-08-30 16:19:41 +04:00
Colombo
9f58d160a0 Converter: fix output names of merged files, now its 100% same as input,
ConvertAvatar: fix input image after fix landmarks face align,
VideoEd: video_from_sequence now uses pipe input to input any filenames instead of %.5d. formatted
2019-08-27 22:05:22 +04:00
iperov
fb4837b3cb fix converter 2019-08-26 11:03:57 +04:00
iperov
78ddd51ffc fix interactive converter 2019-08-26 10:47:20 +04:00
iperov
96d0e3fbee converter output filename - fixed indexing, now starts from 00001 as extracted frames 2019-08-26 10:39:04 +04:00
iperov
029cabea3d minor fix 2019-08-26 10:03:10 +04:00
iperov
6243190f74 fix help screen 2019-08-26 08:14:31 +04:00
iperov
63d30c49ae fixes and optimizations,
converters: added new option sharpen_mode and sharpen_amount
2019-08-25 19:18:51 +04:00
iperov
c39ed9d9c9 updated pdf manuals for AVATAR model.
Avatar converter: added super resolution option.
All converters: super resolution DCSCN network is now replaced by RankSRGAN
2019-08-25 17:43:52 +04:00
iperov
2a9a579436 fix 2019-08-24 13:23:15 +04:00
iperov
407ce3b1ca Added interactive converter.
With interactive converter you can change any parameter of any frame and see the result in real time.

Converter: added motion_blur_power param.
Motion blur is applied by precomputed motion vectors.
So the moving face will look more realistic.

RecycleGAN model is removed.

Added experimental AVATAR model. Minimum required VRAM is 6GB (NVIDIA), 12GB (AMD)
Usage:
1) place data_src.mp4 10-20min square resolution video of news reporter sitting at the table with static background,
   other faces should not appear in frames.
2) process "extract images from video data_src.bat" with FULL fps
3) place data_dst.mp4 video of face who will control the src face
4) process "extract images from video data_dst FULL FPS.bat"
5) process "data_src mark faces S3FD best GPU.bat"
6) process "data_dst extract unaligned faces S3FD best GPU.bat"
7) train AVATAR.bat stage 1, tune batch size to maximum for your card (32 for 6GB), train to 50k+ iters.
8) train AVATAR.bat stage 2, tune batch size to maximum for your card (4 for 6GB), train to decent sharpness.
9) convert AVATAR.bat
10) converted to mp4.bat

updated versions of modules
2019-08-24 12:57:29 +04:00
Luke Barr
a33ef50da5 Long startup time on Linux (#356) 2019-08-19 22:56:54 +04:00
iperov
b72d5a3f9a fixed error "Failed to get convolution algorithm" on some systems
fixed error "dll load failed" on some systems
Expanded eyebrows line of face masks. It does not affect mask of FAN-x converter mode.
2019-08-11 11:17:22 +04:00
iperov
8294feca24 extractior: fix extract from already extracted dflimg 2019-05-11 17:36:22 +04:00
iperov
35ab63f752 add launch prog by timer repeatedly for colab 2019-05-05 17:05:03 +04:00
iperov
54fa75aa13 fix 2019-05-02 00:39:18 +04:00
iperov
2a8dd788dc SAE: added option 'Pretrain the model?',
Pretrain the model with large amount of various faces. This technique may help to train the fake with overly different face shapes and light conditions of src/dst data. Face will be look more like a morphed. To reduce the morph effect, some model files will be initialized but not be updated after pretrain: LIAE: inter_AB.h5 DF: both decoders.h5. The longer you pretrain the model the more morphed face will look. After that, save and run the training again.
2019-05-01 19:55:27 +04:00
iperov
e58197ca22 initial code to extract umdfaces.io dataset and train pose estimator 2019-04-23 08:14:09 +04:00
iperov
046649e6be
update == 04.20.2019 == (#242)
* superb improved fanseg

* _

* _

* added FANseg extractor for src and dst faces to use it in training

* -

* _

* _

* update to 'partial' func

* _

* trained FANSeg_256_full_face.h5,
new experimental models: AVATAR, RecycleGAN

* _

* _

* _

* fix for TCC mode cards(tesla), was conflict with plaidML initialization.

* _

* update manuals

* _
2019-04-20 08:23:08 +04:00
iperov
2276f5eb73 fix zoom keys 2019-04-08 17:35:06 +04:00
iperov
8561c1a931 fix MaskEditor, upd manual ru 2019-04-08 14:13:36 +04:00
iperov
7c930121e9 MaskEditor: added window zoom 2019-04-08 10:30:59 +04:00
iperov
a88ee7d093 fix 2019-04-06 17:48:33 +04:00
iperov
43d68e1307 MaskEditor: added prev/next frames preview 2019-04-06 16:22:48 +04:00
iperov
9f68b25987 Extractor: added warning messages if aligned folder contains files that will be deleted. 2019-04-06 10:01:59 +04:00
iperov
cfae9f9fd8 trainer: fix for ctrl-c in --no-preview mode 2019-04-05 21:50:46 +04:00
iperov
fe40a46933 limiting converter subprocesses to max 6 2019-04-05 21:43:24 +04:00
iperov
406ef91851 fix mask editor 2019-04-05 14:42:11 +04:00
iperov
d3ac88b799 fix MaskEditorTool 2019-04-05 09:32:04 +04:00
iperov
de8d75b4f7 fix mask editor,
upd manuals
2019-04-04 22:19:56 +04:00
iperov
0fa9d269ec fixes 2019-04-04 16:34:45 +04:00
iperov
5ac7e5d7f1 changed help message for pixel loss:
Pixel loss may help to enhance fine details and stabilize face color. Use it only if quality does not improve over time.

SAE:
previous SAE model will not work with this update.
Greatly decreased chance of model collapse.
Increased model accuracy.
Residual blocks now default and this option has been removed.
Improved 'learn mask'.
Added masked preview (switch by space key)

Converter:
fixed rct/lct in seamless mode
added mask mode (6) learned*FAN-prd*FAN-dst

added mask editor, its created for refining dataset for FANSeg model, and not for production, but you can spend your time and test it in regular fakes with face obstructions
2019-04-04 10:22:53 +04:00
iperov
85c01e3b4a Converter: added Apply super resolution? (y/n skip:n) : , Enhance details by applying DCSCN network.
refactorings
2019-03-28 21:50:27 +04:00
iperov
689aefeb2f Converter: fix for input images with ch > 3 2019-03-28 11:12:19 +04:00
iperov
fedeee4395 Colab: added ability to run programs after N secs in trainer 2019-03-26 19:06:19 +04:00
iperov
009af42617 fix converter issue #205 2019-03-26 18:23:39 +04:00
iperov
96de328221
upd for Colab (#206)
* changes for google colab

* 1

* 1

* 1

* 1
2019-03-26 16:09:22 +04:00
iperov
b03b147bae refactoring 2019-03-26 11:09:44 +04:00
iperov
131b2b5c79 after save loss string now shows averaged value since last save 2019-03-25 18:14:04 +04:00
iperov
37505d88e3 old SAE model will not work with this update.
Fixed bug when SAE can be collapsed during a time.

SAE: removed CA weights and encoder/decoder dims.

added new options:

Encoder dims per channel (21-85 ?:help skip:%d)
More encoder dims help to recognize more facial features, but require more VRAM. You can fine-tune model size to fit your GPU.

Decoder dims per channel (11-85 ?:help skip:%d)
More decoder dims help to get better details, but require more VRAM. You can fine-tune model size to fit your GPU.

Add residual blocks to decoder? (y/n, ?:help skip:n) :
These blocks help to get better details, but require more computing time.

Remove gray border? (y/n, ?:help skip:n) :
Removes gray border of predicted face, but requires more computing resources.
2019-03-24 15:35:02 +04:00
iperov
673d4915d9 VideoEd: added comment 2019-03-23 18:28:50 +04:00
iperov
668a3e23a1 frame extraction: fixed pixel format for PNG. Added PNG/JPG option. 2019-03-23 18:27:38 +04:00
iperov
7a0cc56603 extractor: fixes, optimizations,
manual extractor: added 'a' option to switch accuracy mode
2019-03-21 18:56:32 +04:00
iperov
d1676dea06 refactorings, optimizations 2019-03-21 11:58:54 +04:00
iperov
a3df04999c removing trailing spaces 2019-03-19 23:53:27 +04:00