本文适用于 PPE Sentinel YOLO26 1.0.2。配置分为实时检测、公开服务器部署和模型训练三类;只运行已经打包的桌面程序时,不需要安装 Node.js 或 Python。
| 项目 | 最低要求 | 推荐配置 |
|---|---|---|
| 操作系统 | Windows 10/11 64 位;Ubuntu 22.04 64 位 | Windows 11 64 位或 Ubuntu 24.04 64 位 |
| CPU | 近 8 年内的 4 核 x86-64 处理器 | 6 核或以上的 Intel Core i5/i7、AMD Ryzen 5/7 |
| 内存 | 8 GB | 16 GB 或以上 |
| GPU | 非必需,可使用 CPU 推理 | NVIDIA CUDA 显卡,显存 6 GB 或以上 |
| 可用磁盘 | 8 GB,不含数据集和日志 | 20 GB 或以上 |
| 摄像头 | 支持 UVC/系统摄像头接口,分辨率 720p | 内置或 USB 1080p 摄像头 |
| 显示分辨率 | 1280 x 720;程序窗口最低 840 x 640 | 1920 x 1080 或以上 |
| 浏览器 | 支持 getUserMedia 的现代浏览器 |
最新稳定版 Edge 或 Chrome |
Apple Silicon/Intel macOS 可按 Electron 的 dmg 目标构建,但当前发布流程主要验证 Windows 和 Linux,正式部署前应在目标 macOS 版本上重新测试摄像头、PyTorch 和签名流程。
CPU 可以运行 YOLO26n,但帧率取决于处理器、输入分辨率和启用的类别数量。需要连续实时检测时建议使用 NVIDIA GPU。GPU 加速只有在 Python 环境或桌面安装包包含兼容的 CUDA PyTorch 时才会启用。
| 软件 | 要求 |
|---|---|
| Node.js | 20 或更高版本 |
| npm | 随 Node.js 安装;Windows PowerShell 建议使用 npm.cmd |
| Python | 3.10-3.12;推荐 3.11 64 位 |
| Ultralytics | 8.4.117 |
| PyYAML | 6.x |
| PyTorch/torchvision | 版本必须相互匹配;PyTorch 2.7.x 对应 torchvision 0.22.x |
| Git | 克隆和版本管理时需要 |
基础安装:
$env:npm_config_cache = Join-Path (Get-Location) ".npm-cache"
$env:PIP_CACHE_DIR = Join-Path (Get-Location) ".pip-cache"
.\scripts\setup.ps1
npm.cmd startCUDA 用户应从 PyTorch 官方索引安装与显卡驱动匹配的版本。当前推理服务会在 PPE_DEVICE=auto 时优先选择 CUDA,否则回退到 CPU。不要混用不匹配的 torch 和 torchvision;这可能导致算子缺失或推理进程退出。
构建过程需要联网下载 Electron、Electron Builder、PyInstaller、PyTorch 和相关平台二进制文件。
| 软件/资源 | 要求 |
|---|---|
| Electron | 39.x |
| electron-builder | 26.x |
| PyInstaller | 6.16 至小于 7 |
| Windows 构建机 | Windows 10/11 64 位,建议 16 GB 内存、20 GB 可用磁盘 |
| Linux 构建机 | Ubuntu 22.04/24.04,建议 16 GB 内存、20 GB 可用磁盘 |
| 网络 | 可访问 npm、Python 包索引和 GitHub Release 下载地址 |
安装构建依赖并生成当前操作系统的安装包:
.\scripts\setup.ps1 -BuildTools
npm.cmd run privacy:audit
npm.cmd run dist:desktopWindows 构建生成 NSIS 安装程序和 Portable 便携版;Linux 构建生成 AppImage。不同操作系统的安装包应在对应操作系统或 GitHub Runner 上构建,不建议跨平台打包。
GitHub Release 的单个资产必须严格小于 2 GiB。公开发布的 Linux AppImage 因此固定使用 CPU-only PyTorch,避免把 CUDA、ROCm 和 Triton 动态库冻结进 PyInstaller 后端。该限制只影响预编译 AppImage;从源码安装的 Linux 用户仍可按硬件选择 CUDA 版 PyTorch。
| 项目 | 要求 |
|---|---|
| Docker | Docker Engine 24+ 和 Docker Compose v2,使用容器部署时需要 |
| 域名 | 公网部署需要可解析到服务器的域名 |
| 端口 | Caddy 需要入站 TCP 80、TCP/UDP 443;应用容器内部使用 4175 |
| HTTPS | 远程浏览器访问摄像头必须使用 HTTPS;localhost 本地访问除外 |
| 身份认证 | PPE_PUBLIC=1 时必须配置 PPE_USERNAME 和长随机 PPE_PASSWORD |
| 上传带宽 | 导入大型 YOLO ZIP 数据集时需要稳定连接 |
本地模式监听 127.0.0.1:4175,Python 推理服务监听 127.0.0.1:4176。这两个端口只用于本机进程通信时不应直接暴露到公网。Docker/Caddy 模式仅公开 80/443,并通过反向代理访问应用。
- 单个数据集 ZIP 的默认上传上限为 2048 MB,可通过
PPE_MAX_DATASET_UPLOAD_MB调整。 - 解压、校验和注册数据集时,建议预留压缩包大小 2-3 倍的临时磁盘空间。
- 检测日志为 JSONL 文件,保存量取决于检测频率和运行时长;长期运行应配置磁盘配额、轮转和备份策略。
- 摄像头画面不会由系统默认保存;只有启用检测日志时才写入结构化检测结果。
训练并不是桌面实时检测的必要条件。需要重新训练或增加类别时,建议:
| 项目 | 最低可用 | 推荐配置 |
|---|---|---|
| CPU | 6 核 | 12 核或以上 |
| 内存 | 16 GB | 32-64 GB |
| GPU | NVIDIA CUDA,显存 8 GB;小批量训练 | NVIDIA RTX,显存 12-24 GB |
| 磁盘 | 50 GB SSD | 100 GB 以上 NVMe SSD |
| 数据集 | YOLO 检测格式,独立 train/val/test | 包含正负样本、遮挡和不同光照场景 |
训练所需显存受 imgsz、batch、数据增强和模型尺寸影响。显存不足时先降低 batch,再考虑降低 imgsz;CPU 训练仅适合功能验证,不建议用于正式增量训练。
- 运行
npm.cmd run privacy:audit,确认源码和模型不包含本机路径或凭据。 - 运行
npm.cmd test和npm.cmd run build。 - 访问
/healthz,并确认/api/health返回模型、设备和 28 个类别。 - 分别测试内置摄像头、USB 摄像头、中文/英文和深色/浅色界面。
- 公网部署必须验证 HTTPS、Basic Auth、防火墙和数据集上传容量。
Ear Protection当前样本不足,不应作为独立合规判定依据。