mirror of
https://github.com/deepfakes/faceswap
synced 2025-06-07 19:05:02 -04:00
* Remove PlaidML reference from readme files * Remove AMD option from installers * remove amd requirements and update setup.py * remove plaidml test from CI workflow * gpustats: remove plaidml backend * plaid removals: - faceswap.py - python version check - setup.cfg - plaidml typing ignore - lib.keras_utils - All plaid code - lib.launcher.py - All plaidml checks and configuration * remove tf2.2 specific code from GUI event reader * lib.model - remove all plaidml implementations * plugins.extract - remove plaidml code * plugins.train remove plaidml code * lib.convert - remove plaidml code * tools.model: remove plaidml code * Remove plaidML tests from unit tests * remove plaidml_utils and docsting cleanups * Remove plaidML refs from configs * fix keras imports
140 lines
6.3 KiB
Python
140 lines
6.3 KiB
Python
#!/usr/bin/env python3
|
|
""" Default configurations for extract """
|
|
|
|
import gettext
|
|
import logging
|
|
import os
|
|
|
|
from lib.config import FaceswapConfig
|
|
|
|
# LOCALES
|
|
_LANG = gettext.translation("plugins.extract._config", localedir="locales", fallback=True)
|
|
_ = _LANG.gettext
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
class Config(FaceswapConfig):
|
|
""" Config File for Extraction """
|
|
|
|
def set_defaults(self) -> None:
|
|
""" Set the default values for config """
|
|
logger.debug("Setting defaults")
|
|
self.set_globals()
|
|
self._defaults_from_plugin(os.path.dirname(__file__))
|
|
|
|
def set_globals(self) -> None:
|
|
"""
|
|
Set the global options for extract
|
|
"""
|
|
logger.debug("Setting global config")
|
|
section = "global"
|
|
self.add_section(section, _("Options that apply to all extraction plugins"))
|
|
self.add_item(
|
|
section=section,
|
|
title="allow_growth",
|
|
datatype=bool,
|
|
default=False,
|
|
group=_("settings"),
|
|
info=_("Enable the Tensorflow GPU `allow_growth` configuration option. "
|
|
"This option prevents Tensorflow from allocating all of the GPU VRAM at launch "
|
|
"but can lead to higher VRAM fragmentation and slower performance. Should only "
|
|
"be enabled if you are having problems running extraction."))
|
|
self.add_item(
|
|
section=section,
|
|
title="aligner_min_scale",
|
|
datatype=float,
|
|
min_max=(0.0, 1.0),
|
|
rounding=2,
|
|
default=0.07,
|
|
group=_("filters"),
|
|
info=_("Filters out faces below this size. This is a multiplier of the minimum "
|
|
"dimension of the frame (i.e. 1280x720 = 720). If the original face extract "
|
|
"box is smaller than the minimum dimension times this multiplier, it is "
|
|
"considered a false positive and discarded. Faces which are found to be "
|
|
"unusually smaller than the frame tend to be misaligned images, except in "
|
|
"extreme long-shots. These can be usually be safely discarded."))
|
|
self.add_item(
|
|
section=section,
|
|
title="aligner_max_scale",
|
|
datatype=float,
|
|
min_max=(0.0, 10.0),
|
|
rounding=2,
|
|
default=2.00,
|
|
group=_("filters"),
|
|
info=_("Filters out faces above this size. This is a multiplier of the minimum "
|
|
"dimension of the frame (i.e. 1280x720 = 720). If the original face extract "
|
|
"box is larger than the minimum dimension times this multiplier, it is "
|
|
"considered a false positive and discarded. Faces which are found to be "
|
|
"unusually larger than the frame tend to be misaligned images except in "
|
|
"extreme close-ups. These can be usually be safely discarded."))
|
|
self.add_item(
|
|
section=section,
|
|
title="aligner_distance",
|
|
datatype=float,
|
|
min_max=(0.0, 45.0),
|
|
rounding=1,
|
|
default=22.5,
|
|
group=_("filters"),
|
|
info=_("Filters out faces who's landmarks are above this distance from an 'average' "
|
|
"face. Values above 15 tend to be fairly safe. Values above 10 will remove "
|
|
"more false positives, but may also filter out some faces at extreme angles."))
|
|
self.add_item(
|
|
section=section,
|
|
title="aligner_roll",
|
|
datatype=float,
|
|
min_max=(0.0, 90.0),
|
|
rounding=1,
|
|
default=45.0,
|
|
group=_("filters"),
|
|
info=_("Filters out faces who's calculated roll is greater than zero +/- this value "
|
|
"in degrees. Aligned faces should have a roll value close to zero. Values that "
|
|
"are a significant distance from 0 degrees tend to be misaligned images. These "
|
|
"can usually be safely disgarded."))
|
|
self.add_item(
|
|
section=section,
|
|
title="aligner_features",
|
|
datatype=bool,
|
|
default=True,
|
|
group=_("filters"),
|
|
info=_("Filters out faces where the lowest point of the aligned face's eye or eyebrow "
|
|
"is lower than the highest point of the aligned face's mouth. Any faces where "
|
|
"this occurs are misaligned and can be safely disgarded."))
|
|
self.add_item(
|
|
section=section,
|
|
title="filter_refeed",
|
|
datatype=bool,
|
|
default=True,
|
|
group=_("filters"),
|
|
info=_("If enabled, and 're-feed' has been selected for extraction, then interim "
|
|
"alignments will be filtered prior to averaging the final landmarks. This can "
|
|
"help improve the final alignments by removing any obvious misaligns from the "
|
|
"interim results, and may also help pick up difficult alignments. If disabled, "
|
|
"then all re-feed results will be averaged."))
|
|
self.add_item(
|
|
section=section,
|
|
title="save_filtered",
|
|
datatype=bool,
|
|
default=False,
|
|
group=_("filters"),
|
|
info=_("If enabled, saves any filtered out images into a sub-folder during the "
|
|
"extraction process. If disabled, filtered faces are deleted. Note: The faces "
|
|
"will always be filtered out of the alignments file, regardless of whether you "
|
|
"keep the faces or not."))
|
|
self.add_item(
|
|
section=section,
|
|
title="realign_refeeds",
|
|
datatype=bool,
|
|
default=True,
|
|
group=_("re-align"),
|
|
info=_("If enabled, and 're-align' has been selected for extraction, then all re-feed "
|
|
"iterations are re-aligned. If disabled, then only the final averaged output "
|
|
"from re-feed will be re-aligned."))
|
|
self.add_item(
|
|
section=section,
|
|
title="filter_realign",
|
|
datatype=bool,
|
|
default=True,
|
|
group=_("re-align"),
|
|
info=_("If enabled, and 're-align' has been selected for extraction, then any "
|
|
"alignments which would be filtered out will not be re-aligned."))
|