scene-detection / module /config.py
jslmmfboom-coder
Add demo scene button, thread config, user expansion
e5ad646
Raw
History Blame Contribute Delete
1.73 kB
"""HF Spaces CPU 部署配置 — 无 MASt3R,DINOv2 reg4 模型,Qdrant 嵌入式"""
import os
import torch
PROJECT_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# 强制 CPU 模式
DEVICE = "cpu"
USE_HALF = False
IMAGE_SIZE = 512
# 匹配 HF Spaces 免费 2vCPU 配置,显式设置线程数避免过度并发开销
torch.set_num_threads(2)
# MASt3R 已禁用(CPU 部署,耗时过长)
MAST3R_ROOT = None
LOCAL_WEIGHTS = None
# 历史图片存储
HISTORY_BASE_DIR = os.path.join(PROJECT_ROOT, 'History_imgs')
SUPPORTED_EXTENSIONS = {'.jpg', '.jpeg', '.png', '.bmp', '.tiff', '.tif', '.webp', '.jfif'}
# Qdrant 嵌入式模式(无需独立服务进程)
QDRANT_PATH = os.path.join(PROJECT_ROOT, 'qdrant_data')
# --- DINOv2 阈值(保留兼容性) ---
MIN_MATCHES = 20
MIN_INLIER_RATIO = 0.15
EDGE_MARGIN = 3
DINOV2_SIM_THRESHOLD = 0.45
DINOV2_HIGH_CONF_THRESHOLD = 0.7
STRICT_MIN_MATCHES = 100
STRICT_MIN_INLIER_RATIO = 0.50
MODERATE_MIN_MATCHES = 350
MODERATE_MIN_INLIER_RATIO = 0.55
# DINOv2-only 模式阈值(无 MASt3R):相似度 ≥ 此值 → 判定为同一场景
# reg4 模型的 CLS 特征质量更好,0.55 为推荐起始值,可按业务调优
DINOV2_ONLY_SAME_THRESHOLD = 0.5
# 日志目录
LOGS_DIR = os.path.join(PROJECT_ROOT, 'Logs')
# --- 场景分类器 ---
TEXT_AREA_WEIGHT = 0.15
WHITENESS_WEIGHT = 0.50
LOW_VARIANCE_WEIGHT = 0.25
LINE_DENSITY_WEIGHT = 0.10
DOC_SCORE_THRESHOLD = 0.45
# --- 文本场景比对 ---
TEXT_SIM_WEIGHT = 0.6
SSIM_WEIGHT = 0.3
SEAL_WEIGHT = 0.1
TEXT_SCENE_THRESHOLD = 0.7
TEXT_SCENE_BGE_THRESHOLD = 0.85
# BGE 模型:使用 HuggingFace Hub 在线加载(Dockerfile 中预下载)
BGE_MODEL_PATH = 'BAAI/bge-small-zh-v1.5'