Files
video-subtitle-remover/backend/tools/model_config.py
flavioy 70e669e9d4 升级 PaddleOCR 至 3.4.0,移除 PP-OCRv4 模型
- PaddleOCR 2.10.0 升级至 3.4.0,使用新的 TextDetection API 替代旧版 TextDetector
- V5 模型替换为 PaddleX 格式(inference.pdiparams + inference.yml)
- 移除 PP-OCRv4 模型(backend/models/V4),仅保留 PP-OCRv5
- 字幕检测选项重命名为"快速"和"精准"
- 清理 requirements.txt,移除 11 个未使用的依赖,补充缺失的依赖
- 更新设计素材

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 22:34:36 +08:00

27 lines
1.4 KiB
Python

import os
from backend.config import config, BASE_DIR
from backend.tools.common_tools import merge_big_file_if_not_exists
from backend.tools.constant import SubtitleDetectMode
_MODEL_NAME_MAP = {
SubtitleDetectMode.PP_OCRv5_MOBILE: "PP-OCRv5_mobile_det",
SubtitleDetectMode.PP_OCRv5_SERVER: "PP-OCRv5_server_det",
}
class ModelConfig:
def __init__(self):
self.LAMA_MODEL_DIR = os.path.join(BASE_DIR, 'models', 'big-lama')
self.STTN_AUTO_MODEL_PATH = os.path.join(BASE_DIR, 'models', 'sttn-auto', 'infer_model.pth')
self.STTN_DET_MODEL_PATH = os.path.join(BASE_DIR, 'models', 'sttn-det', 'sttn.pth')
self.PROPAINTER_MODEL_DIR = os.path.join(BASE_DIR,'models', 'propainter')
if config.subtitleDetectMode.value == SubtitleDetectMode.PP_OCRv5_MOBILE:
self.DET_MODEL_DIR = os.path.join(BASE_DIR,'models', 'V5', 'ch_det_fast')
elif config.subtitleDetectMode.value == SubtitleDetectMode.PP_OCRv5_SERVER:
self.DET_MODEL_DIR = os.path.join(BASE_DIR, 'models', 'V5', 'ch_det')
else:
raise ValueError(f"Invalid subtitle detect mode: {config.subtitleDetectMode.value}")
self.DET_MODEL_NAME = _MODEL_NAME_MAP[config.subtitleDetectMode.value]
merge_big_file_if_not_exists(self.LAMA_MODEL_DIR, 'bit-lama.pt')
merge_big_file_if_not_exists(self.PROPAINTER_MODEL_DIR, 'ProPainter.pth')