当前位置: 首页 > backend >正文

在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下安装会方便很多。欢迎提问!

http://www.xdnf.cn/news/16894.html

相关文章:

  • 多模态后训练反常识:长思维链SFT和RL的协同困境
  • Git 常用命令指南:从入门到高效开发
  • 【Qt】QObject::startTimer: Timers cannot be started from another thread
  • 考研复习-计算机组成原理-第二章-数据的表示和运算
  • Kazam产生.movie.mux后恢复视频为.mp4
  • 第三章-提示词-高级:开启智能交互新境界(13/36)
  • Steam饥荒联机版多人服务器搭建全解析 -- 阿里云Linux系统构建云服务器
  • MPLS LSP
  • Mysql深入学习:慢sql执行
  • C语言基础03——数组——习题
  • 时序论文44 | TwinsFormer:通过两个交互组件重构时间序列内在依赖关系
  • 14. 最长公共前缀
  • 8-verilog-串口接收与发送模块
  • docker 可用镜像列表(长期免费)
  • 嵌入式硬件篇---Openmv
  • Java 高频面试考点(下)
  • 【MySQL安全】什么是SQL注入,怎么避免这种攻击:前端防护、后端orm框架、数据库白名单
  • ELECTRICAL靶机
  • SQL157 更新记录(一)
  • Java企业级应用性能优化实战
  • ABAP SQL更新DB小技巧 WITH INDICATORS
  • W3D引擎游戏开发----从入门到精通【10】
  • 第二节 YOLOv5参数
  • 在 macOS 上通过 Docker 部署DM8 (ARM 架构)
  • 团队独立思考的力量
  • 2025-0803学习记录21——地表分类产品的精度验证
  • MySQL存储过程和触发器
  • 【网络安全】日志文件格式
  • 「源力觉醒 创作者计划」_文心大模型4.5系列开源模型, 从一行代码到一个生态:聊聊开源战略那些事儿,顺便扯扯文心大模型 4.5 的使用心得
  • 题解:P4447 [AHOI2018初中组] 分组