目录
1. 准备工作
1.1 从源码运行
1.1.1 前置条件
安装前的准备工作
1.1.2 安装
1.1.3 启动
1.2 从 GUI 运行
2. 使用方法
1. 准备工作
1.1 从源码运行
1.1.1 前置条件
安装前的准备工作
首先下载好anaconda
然后新建一个环境:
conda create --name x-anylabeling python=3.10 -y
conda activate x-anylabeling
1.1.2 安装
可选功能安装
[!NOTE] 如需使用以下高级功能,请参考相应文档安装额外依赖。
- 基于 Segment-Anything-2 的视频目标追踪:安装指南
- 基于 UPN 的目标候选框生成:安装指南
- 基于视觉和文本提示的交互式目标检测和分割:安装指南
步骤 0. 安装 ONNX Runtime。
# Install ONNX Runtime CPU
pip install onnxruntime# Install ONNX Runtime GPU (CUDA 11.x)
pip install onnxruntime-gpu==x.x.xpip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-11/pypi/simple/# Install ONNX Runtime GPU (CUDA 12.x)
pip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-12/pypi/simple/
步骤 1. 克隆代码仓库。
git clone https://github.com/CVHub520/X-AnyLabeling.git
对于不同的配置,X-AnyLabeling 提供了以下依赖文件:
依赖文件 | 操作系统 | 运行环境 | 可编译 |
---|---|---|---|
requirements.txt | Windows/Linux | CPU | 否 |
requirements-dev.txt | Windows/Linux | CPU | 是 |
requirements-gpu.txt | Windows/Linux | GPU | 否 |
requirements-gpu-dev.txt | Windows/Linux | GPU | 是 |
requirements-macos.txt | MacOS | CPU | 否 |
requirements-macos-dev.txt | MacOS | CPU | 是 |
- 对于开发者,您应选择带有
*-dev.txt
后缀的选项进行安装。 - 如需启用 GPU 加速,您应选择带有
*-gpu.txt
后缀的选项进行安装。
使用以下命令安装必要的包,将 [xxx] 替换为适合您需求的安装包名称:
pip install -r requirements-[xxx].txt
此外,对于 macOS 用户,你需要额外运行以下命令从 conda-forge 源安装特定版本的版本:
conda install -c conda-forge pyqt=5.15.9
1.1.3 启动
完成必要步骤后,使用以下命令生成资源:
pyrcc5 -o anylabeling/resources/resources.py anylabeling/resources/resources.qrc
为避免冲突,请执行以下命令卸载第三方相关包。
pip uninstall anylabeling -y
设置环境变量:
# Linux 或 macOS
export PYTHONPATH=/path/to/X-AnyLabeling
# Windows
set PYTHONPATH=C:\path\to\X-AnyLabeling
要运行应用程序,请执行以下命令:
[!TIP] 您可以通过传递
--help
参数随时查看可用的选项。
python anylabeling/app.py
参数:
选项 | 描述 |
---|---|
filename | 指定图像或标签文件名。如果提供目录路径,则加载文件夹中的所有文件。 |
--help , -h | 显示帮助信息并退出。 |
--reset-config | 重置 Qt 配置,清除所有设置。 |
--logger-level | 设置日志记录级别:“debug”、“info”、“warning”、“fatal”、“error”。 |
--output , -O , -o | 指定输出文件或目录。以 .json 结尾的路径被视为文件。 |
--config | 指定配置文件或 YAML 格式的配置字符串。默认为用户特定路径。 |
--nodata | 防止在 JSON 文件中存储图像数据。 |
--autosave | 启用自动保存注释数据。 |
--nosortlabels | 禁用标签排序。 |
--flags | 逗号分隔的标志列表或包含标志的文件路径。 |
--labelflags | 用于标签特定标志的 YAML 格式字符串或包含 JSON 格式字符串的文件。 |
--labels | 逗号分隔的标签列表或包含标签的文件路径。 |
--validatelabel | 指定标签验证的类型。 |
--keep-prev | 保留上一帧的注释。 |
--epsilon | 确定在画布上找到最近顶点的 epsilon 值。 |
⚠️ 请注意,如果您需要 GPU 加速,应在 app_info.py 配置文件中将 __preferred_device__
字段设置为 'GPU'。
1.2 从 GUI 运行
下载链接: Github
相比于从源代码运行,GUI 运行环境提供了更便捷的体验,用户无需深入了解底层实现,只需解压便可直接使用。然而,其也存在一些问题,包括:
- 故障排除困难: 如果发生崩溃或错误,可能难以快速定位具体原因,从而增加了故障排除的难度。
- 功能滞后: GUI 版本在功能上可能落后于源代码版本,可能会导致缺少功能和兼容性问题。
- GPU 加速限制: 鉴于硬件和操作系统环境的多样性,当前的 GPU 推理加速服务需要用户根据需要从源代码编译。
因此,建议根据具体需求和偏好,在从源代码运行和使用 GUI 环境之间做出选择,以优化用户体验。
2. 使用方法
有关如何使用 X-AnyLabeling 的详细说明,请参考相应的用户手册。