FuzzyPSI-hamming / src /config.py
acprk
Add shared runtime face enrollment flow
48b5d08
Raw
History Blame Contribute Delete
2.28 kB
from __future__ import annotations
from pathlib import Path
import os
PROJECT_ROOT = Path(__file__).resolve().parents[1]
ASSETS_DIR = PROJECT_ROOT / "assets"
GALLERY_DIR = ASSETS_DIR / "gallery"
EXAMPLES_DIR = ASSETS_DIR / "examples"
VIDEOS_DIR = ASSETS_DIR / "videos"
OUTPUT_DIR = Path(os.environ.get("FPSI_OUTPUT_DIR", "/tmp/fuzzypsi_hamming_out"))
OUTPUT_DIR.mkdir(parents=True, exist_ok=True)
ENROLLMENT_DIR = Path(os.environ.get("FPSI_ENROLLMENT_DIR", str(OUTPUT_DIR / "enrolled_gallery")))
ENROLLMENT_DIR.mkdir(parents=True, exist_ok=True)
ENROLLMENT_IMAGES_DIR = ENROLLMENT_DIR / "images"
ENROLLMENT_IMAGES_DIR.mkdir(parents=True, exist_ok=True)
ENROLLMENT_FEATURES_PATH = ENROLLMENT_DIR / "enrolled_features.npz"
ENROLLMENT_MANIFEST_PATH = ENROLLMENT_DIR / "enrolled_manifest.json"
SPACE_TITLE = "FuzzyPSI-hamming"
SPACE_SUBTITLE = "Private face identification over Hamming distance"
DEFAULT_MODE = os.environ.get("FPSI_DEMO_MODE", "simulation")
SUPPORTED_MODES = ("simulation", "full")
DEFAULT_DIMENSIONS = (128, 256, 512)
DEFAULT_DIM = 128
DEFAULT_SECURITY_LAMBDA = 40
DEFAULT_N_SENDER = 512
DEFAULT_N_RECEIVER = 100
DEFAULT_FRAME_SAMPLE_LIMIT = 8
DEFAULT_VIDEO_SECONDS = 12
REALTIME_STREAM_SECONDS = float(os.environ.get("FPSI_REALTIME_STREAM_SECONDS", "2.0"))
PCA_FIT_SAMPLE_LIMIT = int(os.environ.get("FPSI_PCA_FIT_SAMPLE_LIMIT", "2048"))
LFW_FEATURES_PATH = os.environ.get("LFW_FEATURES_PATH", str(GALLERY_DIR / "lfw_gallery_full.npz"))
LFW_CALIBRATION_PATH = os.environ.get("LFW_CALIBRATION_PATH", str(GALLERY_DIR / "lfw_gallery_calibration.npz"))
LFW_VISIBLE_MANIFEST = os.environ.get("LFW_VISIBLE_MANIFEST", str(GALLERY_DIR / "gallery_manifest_full.json"))
LFW_EXAMPLES_MANIFEST = os.environ.get("LFW_EXAMPLES_MANIFEST", str(EXAMPLES_DIR / "examples_manifest_full.json"))
LFW_IMAGE_ROOT = os.environ.get("LFW_IMAGE_ROOT", "")
FULL_PROTOCOL_ENABLED = os.environ.get("FPSI_ENABLE_FULL_PROTOCOL", "0") == "1"
FULL_PROTOCOL_DIR = Path(os.environ.get("FPSI_PROTOCOL_ROOT", str(PROJECT_ROOT / "runtime")))
FULL_PROTOCOL_BUILD_DIR = Path(os.environ.get("FPSI_PROTOCOL_BUILD_DIR", str(FULL_PROTOCOL_DIR / "build")))
FACE_MODEL_DEVICE = os.environ.get("FPSI_FACE_DEVICE", "cpu")
MATCH_THRESHOLD_MARGIN = float(os.environ.get("FPSI_THRESHOLD_MARGIN", "0.0"))