* Smart Masks - Training
- Reinstate smart mask training code
- Reinstate mask_type back to model.config
- change 'replicate_input_mask to 'learn_mask'
- Add learn mask option
- Add mask loading from alignments to plugins.train.trainer
- Add mask_blur and mask threshold options
- _base.py - Pass mask options through training_opts dict
- plugins.train.model - check for mask_type not None for learn_mask and penalized_mask_loss
- Limit alignments loading to just those faces that appear in the training folder
- Raise error if not all training images have an alignment, and alignment file is required
- lib.training_data - Mask generation code
- lib.faces_detect - cv2 dimension stripping bugfix
- Remove cv2 linting code
* Update mask helptext in cli.py
* Fix Warp to Landmarks
Remove SHA1 hashing from training data
* Update mask training config
* Capture missing masks at training init
* lib.image.read_image_batch - Return filenames with batch for ordering
* scripts.train - Documentation
* plugins.train.trainer - documentation
* Ensure backward compatibility.
Fix convert for new predicted masks
* Update removed masks to components for legacy models.
- Lint simple_tests.py
- Only reformat alignments file if it exists otherwise change filename
- Update legacy alignments to new format at all stages
- faces_detect.Mask.from_dict - logging format fix
- convert.py fix otf for new pipeline
- cli.py - Add note that masks not used. Revert convert masks
- faces_detect.py - Revert non-extract code
- Add .p and .pickle extensions for serializer
- plugins/extract revert some changes
- scripts/fsmedia - Revert code changes
- Pipeline - cleanup
- Consistant alpha channel stripping (fixes single-process)
- Store landmarks as numpy array
- Code attribution
- Normalize feed face and reference face to 0.0 - 1.0 in convert
- Lock in mask VRAM sized
- Add documentation to plugin_loader
- Update alignments tool to work with new format
- Add new serializers (npy + compressed)
- Remove Serializer option from cli
- Revert get_aligned call in scripts/extract
- Default alignments to compressed
- Size masks to 128px and compress
- Remove mask thresholding/blur from generation code
- Add Mask class to lib/faces_detect
- Revert debug landmarks to aligned face
- Revert non-extraction code to staging version
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
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
* 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