Commit Graph

148 Commits

Author SHA1 Message Date
torzdf 5c17417d4d Training: Add Multi-Output Support
- Name output nodes of models
- Add support for multiple outputs in models and in training
- Update loss output format for cli and gui
- Sort graphs tabs on training
- Fix analysis graph for new loss names
- Multi output support in convert
2019-07-24 12:32:21 +00:00
torzdf afdf8c8770 Image loader Variable name fix 2019-07-16 19:06:31 +01:00
torzdf 8510b2a696 Extract: Don't error on black frames 2019-07-16 10:02:47 +01:00
torzdf ba2503e177 Extract/Convert bugfix. Don't fail loading on black frames 2019-07-16 10:01:09 +01:00
torzdf 03d419c505 Training improvements
Add Optimizer Savings option to offload some optimizer calculations to the CPU
Add output_shape to NNMeta class for referencing when building models
2019-07-10 22:35:41 +00:00
torzdf 3896de3dba Bugfixes
Merge Alignments fix
Face Filter. Set default aligner/detector on convert
2019-07-10 09:44:50 +00:00
torzdf a757a4aa88 GUI: Preview for convert
Display preview when outputting to a stream container (e.g. video, gif)
2019-07-08 11:29:17 +00:00
torzdf 201867b360 Remove debug code 2019-07-06 10:48:11 +00:00
torzdf c2063909e3 Add jobs parameter to convert for limiting parallel processes 2019-07-06 10:47:14 +00:00
torzdf 8e9c901aeb Bugfix: Extract - Remove BoundingBox object and replace with dict 2019-07-06 09:44:01 +00:00
torzdf bf9f264565 Replace CV2 video loading with ImageIO 2019-07-04 10:28:14 +00:00
torzdf e1fca14716 Add Restore Model Tool
Tool: Add tool to restore models from backup
Snapshot: Create snapshot based on total iterations rather than session iterations
Models: Move backup/snapshot functions to lib/model
Training: Output average loss since last save at each save iteration
GUI: display_page.py: minor logging update
2019-07-01 23:28:31 +00:00
torzdf 533025215d GUI responsiveness and feature updates
- Add error handling to LongRunningTask
- Analysis: Fix timestats bug for missing session data
- Training: Update training graph inside LongRunningTask
- Training: Smoothing Amount Slider geometry fix
- Training: Auto update Analysis tab on training start and save interval
- Scripts: Keep control of the UI when terminating by terminating using LongRunningTask
2019-06-28 16:34:32 +00:00
torzdf 8bd1389b14 bugfix: Stop convert hanging at the last few frames on some input videos 2019-06-28 00:52:12 +01:00
torzdf 0e76422805 Expose Augmentation Options to config 2019-06-26 10:48:38 +00:00
torzdf dfd4e5e36d no-augment-color to train.py 2019-06-25 23:47:37 +00:00
torzdf 9265b64fd2 GUI Fixups
- Analysis: Handle missing session Ids
- Analysis: Handle invalid data selections
- Analysis: Don't update graph on check box selection
- Analysis: Add cursor events to analysis tab
- Analysis: Change default graph view
- Training: Prevent GUI from attempting to close graphs which do not exist
- Extract/Convert: Make file extensions case-insensitive for preview
- Progress bar: Make compatible for downloads
- Progress bar: Add TQDM Description to progress bar stats text
2019-06-25 18:01:51 +00:00
torzdf 9d33341e20 Merge branch 'master' into staging 2019-06-21 14:30:36 +01:00
torzdf 3c040e3ccd Filetype Bugfix + Max TF Version
- Fix bug for uppercase video filetypes
- Set maximum supported Tensorflow version to 1.13
2019-06-21 14:30:23 +01:00
torzdf 779dd60280 Experimental AMD Support (#764)
* PlaidML support in setup.py

* Add AMD flag for plaidml support

* PlaidML - Use .plaidML file if present, otherwise default to largest available

* Update training info message for GUI

* Add AMD option to Windows Installer

* Add quiet keras.backend importer and minor sysinfo amend.

* plug PlaidMLStats into GPUStats

* Update Docs
2019-06-19 18:18:31 +01:00
torzdf 4725f8ab6a BugFix: FaceFilter 2019-06-19 15:18:51 +01:00
torzdf 6ac422ac27 Extraction Improvements
Default to parallel processing
Add Image normalization options for aligners
2019-06-13 15:22:56 +00:00
torzdf b03f44827c Full RTX Support
Remove FFMPEG from Conda Requirements
Fix Tensorboard logging for Tensorflow 1.13.1
Bump default Conda Tensorflow to 1.13.1
Update max python version to 3.7
2019-06-12 19:20:53 +01:00
torzdf 71bcd863e1 Bugfixes and minor changes
Fix: Occasional memory leak in convert
Fix: Dynamic config loading in Windows
Change: Better folder naming for snapshots
2019-06-11 17:26:43 +00:00
torzdf 0eff0a1719 Config Changes + Bugfixes
Bugfix: Fully disable keypress monitor for GUI
Bugfix: Preview - Handle missing alignments file
Config changes:
    - Separate plugin defaults into their own files
    - Move mask_type to global training config
    - Add ability to pass in custom config files
2019-06-11 01:13:42 +00:00
torzdf 98db63c585 Bugfixes
- Switch to correct Tools tab when loading recent file.
- Fix on-the-fly conversion cuDNN error
2019-06-08 15:39:14 +00:00
torzdf 0da3b5ef82 Color Augmentation method (#752)
* Color Augmentation: Implement testing code

* Tweak Contrast and Lighting augmentation amounts

* Prevent color augmentation from entering timelapse

* Remove all augmentations from preview images
2019-06-08 11:52:17 +01:00
torzdf a5d1d60992 Minor changes
Convert - Force prediction batchsize to 1 when converting on CPU
Training: Move snapshot saving to outside of the save threads to avoid race condition
GUI Summary stats. Show iteration count for current training session (fixed to last save amount).
2019-06-04 12:43:49 +01:00
torzdf a83f31d0e6 bugfix 2019-06-03 02:54:16 +01:00
torzdf 2071c6df45 Add save snapshot backup option for training 2019-06-03 01:43:35 +00:00
torzdf a3294523aa Centralize cv2 image reading and handle bad filenames 2019-06-02 16:34:43 +01:00
torzdf 236c35f11a Convert settings tool (#737)
* Initial prediction pipeline and display

* Patch faces from convert pipeline. Load configs

* Add tkinter canvas for image display

* Radio buttons to config gui. Standardise config gui. Remove dssim loss from realface

* Add action frame

* Live update cli options

* Live update config changes

* Quicker frame loading. Refresh faces button callback

* remove debug code

* Add saving and reloading config buttons

* Reduce lag with threading

* Busy indicator + geometry updates

* Fix options canvas resizing

* Add global config saving and resetting

* tools to own tab

* Rename tool to 'preview'

* geometry tweak

* pep8 fixes
2019-05-30 18:15:25 +01:00
JPFrancoia 919b6721f5 Bugfix: save interval on extract (#740)
bug in extract.py: because of missing parentheses in a modulo operation, a condition on save-interval was never met. alignements.json
file was never generated when starting extract script with -si option.
2019-05-30 15:32:56 +01:00
torzdf 40ed94f200 Bugfixes
sysinfo,py: CUDNN Check fix for unsupported OSes
cli.py: More useful information
scripts/convert.py: Set processes to 1 if no images are passed in
cv2_dnn aligner: Fix bounding box for negative values
scripts/convert.py: Fix for incorrect frame ranges passed in
2019-05-20 12:57:52 +01:00
torzdf 12d83c6e68 Remove dlib (#725)
* Sort to vgg_face. Remove Face Recognition requirements

* Remove dlib components from setup.py

* Remove dlib from Windows Installer script

* Remove dlib and cmake from requirements.txt

* Update INSTALL.md to remove all dlib requirements

* Remove dlib and cmake from dockerfiles

* Windows installer. Output cli to details Window. Setup.py bugfix

* Skip FaceFilter if invalid paths passed in
2019-05-12 23:24:25 +01:00
torzdf 148318778c Face filter vgg face (#724)
* Implement extraction pipeline

* Face filter to vgg_face. Resume partial model downloads

* On-the-fly conversion to extraction pipeline

* Move git model ids from get_model to model definition
2019-05-11 18:43:09 +01:00
torzdf ab7fa48b8b Remove dlib.rectangles. Replace with BoundingBox class 2019-05-07 10:01:00 +00:00
torzdf 6948a54de9 On-The_Fly conversion to use cv-dnn aligner 2019-05-07 09:29:22 +00:00
torzdf 57726e4069 Remove extract debug code 2019-05-02 10:43:57 +00:00
torzdf 6c6aac77aa Dlib Detector Removal. CV2 Detector add. Bugfix on-the-fly convert
Remove dlib-hog + dlib-cnn detectors
Add cv2-dnn detector
Change on-the-fly detector to cv2-dnn
Bugfix: on-the-fly conversion
Bugfix: Pool processes
2019-05-01 22:46:33 +00:00
torzdf eef922c2ca Bugfix: Filter and NFilter for convert 2019-04-30 22:35:38 +00:00
torzdf 47b4319103 Bugfixes [convert[: Correct output folder. Correct tqdm for skipped frames. 2019-04-22 00:02:39 +00:00
torzdf 27a685383e Convert refactor (#703)
* Separate predict and implement pool

* Add check and raise error to multithreading

Box functions to config. Add crop box option.

* All masks to mask module. Refactor convert masks

Predicted mask passed from model. Cli update

* Intesect box with mask and fixes

* Use raw NN output for convert

Use raw mask for face adjustments. Split adjustments to pre and post warp

* Separate out adjustments. Add unmask sharpen

* Set sensible defaults. Pre PR Testing

* Fix queue sizes. Move masked.py to lib

* Fix Skip Frames. Fix GUI Config popup

* Sensible queue limits. Add a less resource intensive single processing mode

* Fix predicted mask. Amend smooth box defaults

* Deterministic ordering for video output

* Video to Video convert implemented

* Fixups

- Remove defaults from folders across all stages
- Move match-hist and aca into color adjustments selectable
- Handle crashes properly for pooled processes
- Fix output directory does not exist error when creating a new output folder
- Force output to frames if input is not a video

* Add Color Transfer adjustment method

Wrap info text in GUI plugin configure popup

* Refactor image adjustments. Easier to create plugins

Start implementing config options for video encoding

* Add video encoding config options

Allow video encoding for frames input (must pass in a reference video)
Move video and image output writers to plugins

* Image writers config options

Move scaling to cli
Move draw_transparent to images config
Add config options for cv2 writer
Add Pillow image writer

* Add gif filetype to Pillow. Fix draw transparent for Pillow

* Add Animated GIF writer

standardize opencv/pillow defaults

* [speedup] Pre-encode supported writers in the convert pool (opencv, pillow)

Move scaling to convert pool
Remove dfaker mask

* Fix default writer

* Bugfixes

* Better custom argparse formatting
2019-04-21 19:19:06 +00:00
torzdf abc1bff0e6 bugfix for slow loading training 2019-04-09 18:33:14 +01:00
torzdf a561f5b78b Merge Extract Monitors. Correctly exit GUI when terminating training with preview window open 2019-04-01 17:42:56 +00:00
torzdf 5b59d0e3d2 Potential bugfix for slow training startup on GUI when preview not selected 2019-04-01 17:52:36 +01:00
torzdf dba7d4162d VRAM Improvement Options (#671)
* Implement ping-pong training

* Disable tensorboard for pingpong training

* Implement Memory Saving Gradients
2019-03-17 09:25:39 +00:00
torzdf 58717e3275 Update cli.py with model info. Squash timelapse output bug 2019-03-10 03:16:46 +00:00
torzdf d8843abe2e Better aligner error handling on initialization 2019-03-09 12:51:09 +00:00
torzdf a12ae63265 Better extractor error handling on initialization 2019-03-09 12:43:40 +00:00