在win上安装最新的X-anylabeling以及sam2来帮助进行全自动追踪标注

部署运行你感兴趣的模型镜像

1.介绍

项目链接:https://github.com/CVHub520/X-AnyLabeling/tree/main
项目介绍:
X-AnyLabeling是一个功能强大的标注工具,集成了一个人工智能引擎,用于快速和自动标注。它是为多模态数据工程师设计的,为复杂任务提供工业级解决方案。
请添加图片描述

2.安装

2.1 目标及软硬件背景

  • 目标
    我们这里需要标注的任务是Track Task,也就是追踪任务。这个任务要求对于连续的视频帧中的目标个体赋予ID身份编号。
  • 系统:Win
  • 硬件:NVIDIA独立显卡

官方提示:GPU Acceleration Limitations: Given the diversity of hardware and operating system environments, the current GPU inference acceleration service requires users to compile from source code as needed.
也就是说对GPU的支持不是很完善,很有可能导致GPU无法加速。所以接下来只介绍从源码安装的方式。

2.2 准备

第一步: 安装C++编译环境
首先要确保电脑安装了C++的编译库环境,在visual studio installer中选择安装【使用C++的桌面开发】确保选中了其中的【Windows sdk】和【mscv】在这里插入图片描述
尽量不修改安装位置
安装完成后将MSCV工具的路径添加到系统变量中,默认路径应该是C:\Program Files (x86)\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.29.30133\bin\Hostx64\x64
然后在prompt中可以通过

where cl

检查是否可以找到上面的路径
第二步: 安装CUDA驱动以及nvcc
有些同学可能之前没有自己安装过CUDA驱动,一般出厂自带的电脑会缺失nvcc,因此需要重新安装一遍。
在这里插入图片描述
下载合适的版本和方式,然后按照指引默认安装,这个可以调整安装路径如果你的C盘空间不太够的话,但是要注意的是它在安装过程中有两个地方需要调整位置,注意只把盘符C改为D就可以。
安装完成后,输入下面命令检查

nvcc --version

应该会有返回值
第三步: 安装miniconda,创建conda 并激活虚拟环境
从官方网站https://www.anaconda.com/download/success下载并安装Miniconda(虚拟环境管理工具,用于隔离不同应用的运行环境,防止不同应用依赖不同的包导致的包版本冲突)
在这里插入图片描述
按照指示安装完后,打开prompt,出现如下的界面:
在这里插入图片描述
然后进行创建环境

conda create --name x-anylabeling-sam2 python=3.11 -y
conda activate x-anylabeling-sam2

第一行代码指的是创建了一个名字叫做x-anylabeling的python版本为3.10的虚拟环境,第二个表示激活并进入,进入后前面括号中的内容就会变为(x-anylabeling)

Tips:下面的步骤都应该在x-anylabeling-sam2环境下进行。

第四步: 安装Pytorch

注意到我们安装的CUDA驱动的版本是12.9,这决定了你安装Pytorch的版本上限,我们可以安装12.x的版本如下图
在这里插入图片描述

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu126

安装完成后可以运行下面命令验证是否安装正确,返回值应该是True

python
import torch
torch.cuda.is_avaiable()

第五步: 最重要的一步编译sam2
这是最重要的一步,以上所有的准备步骤都是为了这步,否则即使你安装正确了,也会出现自动标注报错如下:

cannot import name '_C' from 'sam2' (/home/suw469/segment-anything-2/sam2/__init__.py) #131

接下来按照下面的步骤进行,
先来下载SAM2(用来实现自动标注的关键包),命令如下:

git clone https://github.com/CVHub520/segment-anything-2
cd segment-anything-2

然后编译

python setup.py buildext --inplace

注意看这步骤控制台的信息,确保没有error,编译成功,这个如果编译成功它会卡住比较久的时间,不用着急
编译完成就可以安装了

pip install -e .

2.3 安装X-anylabeling

下载x-anylabeling的源码,然后进入目录

cd ..
git clone https://github.com/CVHub520/X-AnyLabeling
cd X-AnyLabeling

安装onnx runtime,这个是用来运行onnx格式的模型的支持库:

pip install onnxruntime 
pip install onnxruntime-gpu --extra-index-url https://aiinfra.pkgs.visualstudio.com/PublicPackages/_packaging/onnxruntime-cuda-11/pypi/simple/

安装其他依赖

pip install -r requirements-gpu.txt

完成必要的步骤后,使用以下命令生成资源:

pyrcc5 -o anylabeling/resources/resources.py anylabeling/resources/resources.qrc

设置有关环境变量

set PYTHONPATH=C:\path\to\X-AnyLabeling(注意这里的路径要换成你的实际路径)

此外还有一点注意的是, if you require GPU acceleration, you should set the preferred_device field to ‘GPU’ in the app_info.py configuration file. 就是要修改配置文件app_info.py中的一个参数,将CPU改为GPU

3. 启动X-anylabeling

现在你只需要在你的X-AnyLabeling路径下运行下面的命令即可启动

python anylabeling/app.py

下次启动,只需要三句:

cd C:\path\to\X-AnyLabeling # 到文件目录
conda activate x-anylabeling-sam2 # 激活虚拟环境
python anylabeling/app.py # 启动

4.使用教程

可以参考这个链接,作者写的已经比较清楚了
https://github.com/CVHub520/X-AnyLabeling/blob/main/examples/interactive_video_object_segmentation/README.md

在这里插入图片描述

5.结束语

总的来说,在ubuntu下安装会方便很多。欢迎提问!

您可能感兴趣的与本文相关的镜像

Python3.11

Python3.11

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不是吧这都有重名

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值