Commit graph

61 commits

Author SHA1 Message Date
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
cclauss
93ee889597 Identity is not the same thing as equality in Python (#291)
Use ==/!= to compare str, bytes, and int literals
$ python
```python
>>> method = 'Mi'
>>> method += 'n'
>>> method == 'Min'
True
>>> method is 'Min'
False
```
2019-06-27 21:10:22 +04:00
iperov
659aa5705a _ 2019-04-30 17:14:02 +04:00
iperov
2cd028fb67 _ 2019-04-28 21:16:27 +04:00
iperov
ab714dfbfe _ 2019-04-28 16:29:32 +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
9535a657d2 SAE: revert back CA weights option 2019-04-24 13:44:12 +04:00
iperov
60ed56a801 upd dev_poseestimator 2019-04-24 11:33:11 +04:00
iperov
e1da9c56b4
SAE collapse fix (#245)
* test

* _

* _

* upd dev_poseest

* SAE: finally collapses are fixed

* fix batch size help
2019-04-24 09:38:26 +04:00
iperov
2809d495c2 _ 2019-04-23 17:31:58 +04:00
iperov
268b402513 _ 2019-04-23 17:03:53 +04:00
iperov
565c131b97 SAE: removed option 'remove gray border', because it makes the model very resource intensive 2019-04-23 08:31:13 +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
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
b03b147bae refactoring 2019-03-26 11:09:44 +04:00
iperov
bb02cc1d97 _ 2019-03-25 13:28:08 +04:00
iperov
c4f41a7e76 Converter: added new mask modes: FAN-prd, FAN-dst 2019-03-21 21:19:03 +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
63c9be3d1f fix 2019-03-21 12:15:04 +04:00
iperov
d1676dea06 refactorings, optimizations 2019-03-21 11:58:54 +04:00
iperov
6169e6ba8a fix fanseg 2019-03-20 09:08:42 +04:00
iperov
a3df04999c removing trailing spaces 2019-03-19 23:53:27 +04:00
iperov
fa4e579b95 fix fanseg 2019-03-19 23:49:41 +04:00
iperov
034ad3cce5 upd fan segmentator 2019-03-19 19:44:14 +04:00
iperov
33606e327b fixed landmark extraction of face with opened mouth 2019-03-19 00:23:52 +04:00
iperov
da7cf225db fix 2019-03-18 10:38:48 +04:00
iperov
b8efb4cbba enhancing landmarks extractor by using s3fd second pass inside second pass,
it will be x2 slower, but time will be saved due to more images will be marked properly
works on 2GB+
2019-03-18 10:25:24 +04:00
iperov
1d56585f33 fix ability for auto re-extract dst faces, after this update DFL torrent extractor scripts will not work. 2019-03-18 01:12:04 +04:00
iperov
00e56299c4 S3FD: wrong small face check fix 2019-03-18 00:30:08 +04:00
iperov
c311f09fa4 _ 2019-03-17 21:14:24 +04:00
iperov
73e91cc0b5 upd LandmarksProcessor.py 2019-03-17 21:14:05 +04:00
iperov
a7bec17a34 _ 2019-03-17 16:24:36 +04:00
iperov
f009edae79 FANSegmentator for developing 2019-03-16 20:58:20 +04:00
iperov
f3b343c0e5 small fixed and refactorings 2019-03-16 20:55:51 +04:00
iperov
1beb2f07f0 fix get_image_hull_mask 2019-03-14 15:43:10 +04:00
iperov
9823421a44 added transparent mask to draw_landmarks 2019-03-14 12:16:21 +04:00
iperov
62af1b6f16 S3FD : filtering faces < 40pix. 2019-03-14 01:23:39 +04:00
iperov
e50dc0d748 2DFAN-4: fix bug 2019-03-11 10:26:03 +04:00
iperov
893354b870 fix S3FD for plaidML, fix S3FD warnings on Lambda layers. 2019-03-11 09:32:00 +04:00
iperov
338a8fccc6 added missing file 2019-03-10 23:41:02 +04:00
iperov
fbf39d2727 added new extractor: S3FD,
all extractors now produce less false-positive faces
2019-03-10 23:18:10 +04:00
iperov
0cc251a9ab 2nd pass of extractor : speed significantly increased 2019-03-08 16:05:24 +04:00
iperov
438213e97c manual extractor: increased FPS,
sort by final : now you can specify target number of images,
converter: fix seamless mask and exception,
huge refactoring
2019-02-28 11:56:31 +04:00
iperov
72ba6b103c added support of AMD videocards
added Intel's plaidML backend to use OpenCL engine. Check new requirements.
smart choosing of backend in device.py
env var 'force_plaidML' can be choosed to forced using plaidML
all tf functions transferred to pure keras
MTCNN transferred to pure keras, but it works slow on plaidML (forced to CPU in this case)
default batch size for all models and VRAMs now 4, feel free to adjust it on your own
SAE: default style options now ZERO, because there are no best values for all scenes, set them on your own.
SAE: return back option pixel_loss, feel free to enable it on your own.
SAE: added option multiscale_decoder default is true, but you can disable it to get 100% same as H,DF,LIAEF model behaviour.
fix converter output to .png
added linux fork reference to doc/doc_build_and_repository_info.md
2019-02-19 17:33:12 +04:00
iperov
6e12594af1 added util --add-landmarks-debug-images 2019-02-13 10:17:08 +04:00
iperov
06fe1314d8 removing default yaw_value from DFLIMG files,
added better pitch/yaw estimator from 68 landmarks,
improving face yaw accuracy for sorting and trainers,
added sort by face-pitch
2019-02-12 21:31:37 +04:00
iperov
bda3fb3da1 refactoring 2019-02-10 21:40:58 +04:00