beefresearch-bima / config.py
abrarwahid's picture
Initial clean version for pipeline
78aefa8
Raw
History Blame Contribute Delete
3.12 kB
"""
Konfigurasi terpusat pipeline computer vision deteksi mutu kesegaran daging sapi.
Ubah nilai di sini sesuai kebutuhan; jangan ubah logika di dalam modul src/.
"""
import os
# ---------------------------------------------------------------------------
# PATH DIREKTORI
# ---------------------------------------------------------------------------
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
RAW_DATA_DIR = os.path.join(PROJECT_ROOT, "data", "dataset_root")
LABELS_CSV = os.path.join(PROJECT_ROOT, "data", "labels.csv")
OUTPUT_DIR = os.path.join(PROJECT_ROOT, "outputs")
INTERIM_DIR = os.path.join(OUTPUT_DIR, "interim")
MASKS_DIR = os.path.join(INTERIM_DIR, "masks")
PROCESSED_DIR = os.path.join(INTERIM_DIR, "processed")
FIGURES_DIR = os.path.join(OUTPUT_DIR, "figures")
TABLES_DIR = os.path.join(OUTPUT_DIR, "tables")
LOGS_DIR = os.path.join(OUTPUT_DIR, "logs")
# Direktori untuk inspeksi visual hasil segmentasi
SEGMENTED_VIEW_DIR = os.path.join(OUTPUT_DIR, "visualized_segments")
IMAGE_EXTENSIONS = (".jpg", ".jpeg", ".JPG", ".JPEG")
FILENAME_REGEX = r"^(DAY-\d+)_([A-Za-z]+)_([A-Za-z]+)_(\d+)\.\w+$"
# ---------------------------------------------------------------------------
# PREPROCESSING
# ---------------------------------------------------------------------------
RESIZE_MAX_SIDE = 800
DENOISE_H = None
DENOISE_H_COLOR = 7
DENOISE_TEMPLATE_WINDOW = 7
DENOISE_SEARCH_WINDOW = 21
FLOODFILL_TOLERANCE = 12
FLOODFILL_MORPH_KERNEL = 7
MIN_FOREGROUND_AREA_RATIO = 0.05
# ---------------------------------------------------------------------------
# EKSTRAKSI FITUR & FUSI
# ---------------------------------------------------------------------------
SIFT_N_FEATURES = 0
SURF_HESSIAN_THRESHOLD = 500 # Nilai default optimal dari hasil tuning
MAX_DESCRIPTORS_PER_IMAGE = 800
# Kontrol Fusi Momen Warna HSV
USE_COLOR_FUSION = True
HSV_FUSION_WEIGHT = 3.0 # Nilai default optimal dari hasil tuning
# ---------------------------------------------------------------------------
# BAGS OF VISUAL WORDS
# ---------------------------------------------------------------------------
CODEBOOK_SIZES = [200]
DEFAULT_CODEBOOK_SIZE = 200 # Nilai default optimal dari hasil tuning
MAX_DESCRIPTORS_FOR_CODEBOOK = 200_000
MINIBATCH_KMEANS_BATCH_SIZE = 2000
# ---------------------------------------------------------------------------
# CLUSTERING (K-Means / PCA)
# ---------------------------------------------------------------------------
N_CLUSTERS_FINAL = 2
RANDOM_STATE = 42
# ---------------------------------------------------------------------------
# LOGGING
# ---------------------------------------------------------------------------
LOG_LEVEL = "INFO"
# ---------------------------------------------------------------------------
# HYPERPARAMETER TUNING OTOMATIS (NATIVE)
# ---------------------------------------------------------------------------
# Rentang angka yang akan diuji secara otomatis saat menjalankan --step tune
TUNING_HESSIAN_THRESHOLDS = [400, 500, 600]
TUNING_HSV_WEIGHTS = [2.0, 2.5, 3.0]
TUNING_CODEBOOK_SIZES = [50, 100, 200]