Spaces:
Running
Running
| """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' | |