Metadata-Version: 2.4
Name: yolo26-app
Version: 1.0.5
Summary: Ultralytics YOLO Desktop App - Annotation, Training, and Inference (YOLO26 / YOLOv8)
Author: YOLO26 App Contributors
License-Expression: MIT
Project-URL: Homepage, https://github.com/only-one-over/yolo26_app
Project-URL: Documentation, https://github.com/only-one-over/yolo26_app/tree/main/docs
Project-URL: Repository, https://github.com/only-one-over/yolo26_app
Project-URL: Issues, https://github.com/only-one-over/yolo26_app/issues
Keywords: yolo,yolo26,yolov8,object-detection,pyqt6,desktop-app
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Classifier: Topic :: Scientific/Engineering :: Image Recognition
Requires-Python: <3.13,>=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: ultralytics<8.5,>=8.4.0
Requires-Dist: PyQt6<7,>=6.7
Requires-Dist: opencv-python<5,>=4.10
Requires-Dist: numpy<2,>=1.26
Requires-Dist: onnx<2,>=1.22
Requires-Dist: Pillow<13,>=12.3
Requires-Dist: pyyaml<7,>=6
Requires-Dist: pyqtgraph<1,>=0.13
Provides-Extra: dev
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: mypy<2.0,>=1.13; extra == "dev"
Requires-Dist: pip-audit>=2.7; extra == "dev"
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: ruff>=0.8; extra == "dev"
Provides-Extra: sam
Requires-Dist: sam2; extra == "sam"
Provides-Extra: dino
Requires-Dist: groundingdino-pip; extra == "dino"
Provides-Extra: realsense
Requires-Dist: pyrealsense2>=2.50.0; extra == "realsense"
Provides-Extra: tensorrt
Requires-Dist: tensorrt<11,>=8.6; extra == "tensorrt"
Provides-Extra: all
Requires-Dist: sam2; extra == "all"
Requires-Dist: groundingdino-pip; extra == "all"
Requires-Dist: pyrealsense2>=2.50.0; extra == "all"
Requires-Dist: tensorrt<11,>=8.6; extra == "all"
Provides-Extra: onnx
Requires-Dist: onnxruntime<2,>=1.18; extra == "onnx"
Provides-Extra: onnx-gpu
Requires-Dist: onnxruntime-gpu<2,>=1.18; extra == "onnx-gpu"
Dynamic: license-file

<div align="center">

# YOLO26 App

基于 Ultralytics YOLO 的桌面端标注、训练和推理应用，支持 YOLO26 与 YOLOv8。

[![Python](https://img.shields.io/badge/Python-3.10--3.12-blue.svg)](https://www.python.org/)
[![PyQt6](https://img.shields.io/badge/PyQt6-6.0+-green.svg)](https://www.riverbankcomputing.com/software/pyqt/)
[![License](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)

[English](README_EN.md) · [完整文档](docs/README.md) · [环境与模型](docs/environment-and-models.md) · [常见问题](docs/troubleshooting.md)

</div>

## 安装

### Windows 一键安装

要求 Python 3.10-3.12。克隆项目后运行统一安装引导器：

~~~bat
git clone https://github.com/only-one-over/yolo26_app.git
cd yolo26_app
install.bat --profile auto
~~~

`auto` 仅在 `nvidia-smi` 可用时选择 CUDA 12.1 配置，否则选择 CPU 配置；不会根据 CUDA 字符串安装未经测试的 PyTorch 版本。安装器会创建 `venv`、使用锁定依赖、执行 `pip check`，并在 Windows 上创建“YOLO26 App”桌面快捷方式。

可用选项：

~~~bat
install.bat --profile cpu
install.bat --profile cuda --with-sam --with-dino --with-realsense
install.bat --dry-run
~~~

### Conda 环境安装

如果已经安装 Anaconda 或 Miniconda，也可以使用 Conda 创建隔离环境；项目运行依赖仍通过锁定的 pip 文件安装，以保持 CPU/CUDA 版本组合一致。

CPU 环境：

~~~bash
conda create -n yolo26-app python=3.10 -y
conda activate yolo26-app
python -m pip install -r requirements-lock-cpu.txt
python -m pip install --no-deps .
~~~

NVIDIA CUDA 12.1 环境：

~~~bash
conda create -n yolo26-app python=3.10 -y
conda activate yolo26-app
python -m pip install -r requirements-lock-cuda-cu121.txt
python -m pip install --no-deps .
~~~

安装完成后运行 `python main.py`；Windows 也可以运行 `python -m pip install --no-deps .` 生成的 `yolo26-app` 图形启动命令。不要在同一个 Conda 环境中同时安装 `onnxruntime` 和 `onnxruntime-gpu`。

### Windows 便携包

普通用户也可以从 [GitHub Releases](https://github.com/only-one-over/yolo26_app/releases) 下载 CPU 或 CUDA 便携包。完整解压后启动对应的 EXE；便携包默认不会自动创建快捷方式，可右键 EXE 选择“发送到 -> 桌面快捷方式”。不要单独移动 EXE 文件。

### 手动安装

~~~bash
git clone https://github.com/only-one-over/yolo26_app.git
cd yolo26_app
python -m venv venv
~~~

Windows：

~~~bat
venv\Scripts\python.exe -m pip install -r requirements-lock-cpu.txt
venv\Scripts\python.exe -m pip install --no-deps .
~~~

Linux 或 macOS：

~~~bash
source venv/bin/activate
python -m pip install -r requirements-lock-cpu.txt
python -m pip install --no-deps .
~~~

GPU、SAM2、Grounding DINO、RealSense 与 TensorRT 的安装方式见[环境与模型](docs/environment-and-models.md)。

### 构建与安装 wheel

发布或验证安装产物时，使用标准 wheel：

~~~bash
python -m pip install build
python -m build
python -m pip install --force-reinstall dist/yolo26_app-*.whl
~~~

构建命令会同时生成 wheel 与源码分发包。wheel 已包含界面 SVG 图标和 YAML 模板。

## 启动

~~~bash
python main.py
~~~

Windows 使用一键安装脚本后，也可以直接执行：

~~~bat
venv\Scripts\python.exe main.py
~~~

安装 wheel 后，Windows 可以直接运行图形启动命令：

~~~bat
yolo26-app
~~~

## PyPI 安装

已发布的 Python 包可在新虚拟环境中安装：

~~~bash
python -m venv .venv
~~~

Windows：

~~~bat
.venv\Scripts\python.exe -m pip install "yolo26-app[onnx]"
.venv\Scripts\yolo26-app.exe
~~~

Linux 或 macOS：

~~~bash
.venv/bin/python -m pip install "yolo26-app[onnx]"
.venv/bin/yolo26-app
~~~

GPU ONNX 推理可将 `[onnx]` 改为 `[onnx-gpu]`；SAM2、Grounding DINO、RealSense 和 TensorRT 也可按需追加对应 extra。PyPI 包不包含模型权重或 Windows 便携运行时。


## 基本使用

1. 通过“文件 -> 新建项目”创建工作区。
2. 在“标注”页导入图片、视频或素材目录，并添加类别。
3. 使用矩形框、多边形、关键点或 OBB 工具完成标注。
4. 点击“导出数据集”，生成 YOLO 格式的数据集。
5. 在“训练”页选择 data.yaml，设置模型与训练参数后开始训练。
6. 在“测试”页加载 best.pt，对图片、视频或相机执行推理，必要时导出 ONNX、TensorRT 等模型。

标注会自动保存；重新打开项目或异常退出后可恢复。更详细的标注、数据集和训练说明见[标注、数据集与训练](docs/annotation-and-training.md)。

## 文档

| 主题 | 说明 |
| --- | --- |
| [标注、数据集与训练](docs/annotation-and-training.md) | 素材导入、标注工具、辅助标注、数据集导出和训练 |
| [推理与模型导出](docs/inference-and-export.md) | 图片、视频、相机推理与部署模型导出 |
| [环境与模型](docs/environment-and-models.md) | GPU、可选依赖、模型权重和 TensorRT |
| [开发指南](docs/development.md) | 架构、测试和扩展方式 |
| [诊断与排障](docs/troubleshooting.md) | 日志、诊断报告和常见异常 |

## 许可证

本项目采用 [MIT License](LICENSE)。项目依赖 Ultralytics YOLO，请同时遵守其许可证要求。
