Commit Graph

59 Commits

Author SHA1 Message Date
Colombo 94c99b429d fix 2019-12-23 15:17:13 +04:00
Colombo c1612c5553 fixes 2019-12-23 14:57:47 +04:00
Colombo 7174dc835a fixes 2019-12-22 21:44:28 +04:00
Colombo 7e609542db fixes 2019-12-22 21:17:34 +04:00
Colombo 9ed0111824 fix 2019-12-22 19:10:57 +04:00
Colombo 754d6c385c refactorings 2019-12-22 19:00:59 +04:00
Colombo e0e8970ab9 fix PackedFaceset 2019-12-22 15:58:46 +04:00
Colombo 8153e90ba3 refactoring 2019-12-22 14:05:41 +04:00
Colombo 246129a964 change samples.pak to faceset.pak 2019-12-22 13:32:19 +04:00
Colombo 8305832a27 fix 2019-12-21 23:27:51 +04:00
Colombo 50f892d57d all models: removed options 'src_scale_mod', and 'sort samples by yaw as target'
If you want, you can manually remove unnecessary angles from src faceset after sort by yaw.

Optimized sample generators (CPU workers). Now they consume less amount of RAM and work faster.

added
4.2.other) data_src/dst util faceset pack.bat
	Packs /aligned/ samples into one /aligned/samples.pak file.
	After that, all faces will be deleted.

4.2.other) data_src/dst util faceset unpack.bat
	unpacks faces from /aligned/samples.pak to /aligned/ dir.
	After that, samples.pak will be deleted.

Packed faceset load and work faster.
2019-12-21 23:16:55 +04:00
Colombo 64021b9c62 more stable and precise version of face transformation matrix.
fixed bleeding mask on some samples
2019-12-20 10:30:49 +04:00
Colombo 068c7d0d55 temporary revert last fixes 2019-12-20 10:21:59 +04:00
Colombo dd1d5e8909 improved face align,
More stable and precise version of the face transformation matrix.
Now full_faces are aligned with the upper and lateral boundaries of the frame,
result: fix of cutted mouth, increase area of the cheeks of side faces
before/after https://i.imgur.com/t9IyGZv.jpg
therefore, additional training is required for existing models.
Optionally, you can re-extract dst faces of your project, if they have problems with cutted mouth or cheeks.
2019-12-19 18:33:04 +04:00
Colombo c04740eac1 1 2019-12-17 09:53:17 +04:00
Colombo e8673e3fcc nothing interesting 2019-12-11 22:33:23 +04:00
Colombo f7920d3880 1 2019-11-24 20:33:34 +04:00
Colombo 77b390c04b 1 2019-11-24 19:51:07 +04:00
Colombo 6b14741160 1 2019-11-21 11:40:55 +04:00
Colombo 668513a507 1 2019-11-16 16:54:10 +04:00
Colombo c0f258c336 SAE,SAEHD,Converter:
added sot-m color transfer

Converter:
removed seamless2 mode
2019-11-12 09:07:50 +04:00
Colombo b9c0815d17 added random shuffle to samples in SampleGeneratorFace.py 2019-11-11 11:35:46 +04:00
Colombo b9c41a269d fix check no training data provided 2019-10-25 00:27:34 +04:00
Colombo 73511a072a SAE/SAEHD:
removed option 'apply random ct'

added option
   Color transfer mode apply to src faceset. ( none/rct/lct/mkl/idt, ?:help skip: none )
   Change color distribution of src samples close to dst samples. Try all modes to find the best.
before was lct mode, but sometime it does not work properly for some facesets.
2019-10-15 11:22:19 +04:00
Colombo e013cb0f6b moving some files 2019-10-14 09:34:44 +04:00
Colombo 92f14dee70 SAEHD: added option Enable random warp of samples, default is on
Random warp is required to generalize facial expressions of both faces. When the face is trained enough, you can disable it to get extra sharpness for less amount of iterations.
2019-10-12 10:31:50 +04:00
Colombo d2d0dcb5e7 fix multigpu extractor 2019-10-10 13:01:57 +04:00
Colombo d781af3d1f fixed GPU detection and indexes, got rid of using nvml, now using direct cuda lib to determine gpu info that match tensorflow indexes,
removed TrueFace model.

added SAEv2 model. Differences from SAE:
+ default e_ch_dims is now 21
+ new encoder produces more stable face and less scale jitter
  before: https://i.imgur.com/4jUcol8.gifv
  after:  https://i.imgur.com/lyiax49.gifv - scale of the face is less changed within frame size
+ decoder now has only 1 residual block instead of 2, result is same quality with less decoder size
+ added mid-full face, which covers 30% more area than half face.
+ added option " Enable 'true face' training "
  Enable it only after 50k iters, when the face is sharp enough.
  the result face will be more like src.
  The most src-like face with 'true-face-training' you can achieve with DF architecture.
2019-10-05 16:26:23 +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 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 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 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
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 444bf699f7 back to 100 chance of random_ct 2019-05-11 21:20:02 +04:00
iperov 28af2f41ec fix 2019-05-11 19:49:02 +04:00
iperov 22efba57a3 fix 2019-05-11 19:44:01 +04:00
iperov 1493551410 fix 2019-05-11 19:42:03 +04:00
iperov 8d7edd172c random_ct_sample - now not applying with 20% chance 2019-05-11 19:40:02 +04:00
iperov 53c4f8a86e cleaning 2019-05-11 16:55:06 +04:00
iperov e8f207557b fix bgr_shuffle 2019-05-10 08:11:17 +04:00
iperov 5a9498543d refactoring 2019-05-09 18:05:50 +04:00
iperov d003366033 cleaning 2019-05-07 10:47:51 +04:00
iperov 809cc14860 fix 2019-05-06 16:27:18 +04:00
iperov a805f81142 SAE: added test option: 'Apply random color transfer to src faceset' 2019-05-06 11:34:56 +04:00
iperov 7c50003ec7 fix 2019-04-28 15:13:12 +04:00
iperov f89200d236 nothing interesting 2019-04-26 15:18:48 +04:00
iperov 0e088f6415 _ 2019-04-25 14:46:39 +04:00
iperov c0a63addd4 SampleGeneratorFace optimizations 2019-04-24 21:27:05 +04:00
iperov 947feac047 refactorings 2019-04-24 11:28:58 +04:00
iperov 2809d495c2 _ 2019-04-23 17:31:58 +04:00