Support YAML pipeline configuration
This commit is contained in:
+17
-22
@@ -8,16 +8,10 @@ REPO_ROOT = Path(__file__).resolve().parents[1]
|
||||
if str(REPO_ROOT) not in sys.path:
|
||||
sys.path.insert(0, str(REPO_ROOT))
|
||||
|
||||
from bgfilter.config import load_settings, override_settings
|
||||
from bgfilter.pipeline import MattingPipeline
|
||||
from bgfilter.quality import assert_quality, measure_rgba
|
||||
from bgfilter.settings import (
|
||||
AlphaPostSettings,
|
||||
ChromaSettings,
|
||||
DespillSettings,
|
||||
ModelSettings,
|
||||
PipelineSettings,
|
||||
TrimapSettings,
|
||||
)
|
||||
from bgfilter.settings import PipelineSettings
|
||||
|
||||
|
||||
REQUIRED_DEBUG_FILES = {
|
||||
@@ -36,17 +30,12 @@ REQUIRED_DEBUG_FILES = {
|
||||
|
||||
|
||||
def build_settings(args: argparse.Namespace) -> PipelineSettings:
|
||||
return PipelineSettings(
|
||||
chroma=ChromaSettings(),
|
||||
trimap=TrimapSettings(),
|
||||
alpha_post=AlphaPostSettings(),
|
||||
despill=DespillSettings(),
|
||||
model=ModelSettings(
|
||||
model_name=args.model_name,
|
||||
device=args.device,
|
||||
matting_method=args.matting_method,
|
||||
fallback_to_chroma_alpha=args.fallback_to_chroma_alpha,
|
||||
),
|
||||
return override_settings(
|
||||
load_settings(args.config),
|
||||
model_name=args.model_name,
|
||||
device=args.device,
|
||||
matting_method=args.matting_method,
|
||||
fallback_to_chroma_alpha=args.fallback_to_chroma_alpha,
|
||||
)
|
||||
|
||||
|
||||
@@ -63,10 +52,16 @@ def main() -> int:
|
||||
parser = argparse.ArgumentParser(description="Run sample-image smoke checks.")
|
||||
parser.add_argument("--samples-dir", type=Path, default=Path("Samples"))
|
||||
parser.add_argument("--output-dir", type=Path, default=Path("Outputs/smoke_samples"))
|
||||
parser.add_argument("--config", type=Path, default=Path("configs/default.yaml"))
|
||||
parser.add_argument("--device", default="cpu")
|
||||
parser.add_argument("--matting-method", default="vitmatte", choices=["vitmatte", "chroma"])
|
||||
parser.add_argument("--model-name", default="hustvl/vitmatte-small-composition-1k")
|
||||
parser.add_argument("--fallback-to-chroma-alpha", action="store_true")
|
||||
parser.add_argument("--matting-method", default=None, choices=["vitmatte", "chroma"])
|
||||
parser.add_argument("--model-name", default=None)
|
||||
parser.add_argument(
|
||||
"--fallback-to-chroma-alpha",
|
||||
action="store_true",
|
||||
default=None,
|
||||
help="Override config and allow chroma alpha when ViTMatte fails.",
|
||||
)
|
||||
parser.add_argument("--max-edge-green-excess-p95", type=float, default=0.50)
|
||||
args = parser.parse_args()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user