前言

​ 本文简单记录介绍一下HQTrack。

​ HQTrack是一个用于高性能视频目标跟踪和分割的框架。


正文

一、HQTrack介绍

一个用于高性能视频目标跟踪和分割的框架,可以同时跟踪多个目标对象并输出准确的对象掩码。

hqtrack-framework

二、HQTrack使用

1、下载项目:git clone https://github.com/jiawen-zhu/HQTrack.git

2、安装环境依赖:

在官方给的要求基础上对部分库的版本进行修改,否则无法安装成功:

  • pytorch需要1.10.0以上,才能安装DCNv3,并且使用DCNv3项目官方预编译好的wheel文件进行安装

  • gcc需要7.3.0以上,用于编译vot-toolkit框架

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# 安装虚拟环境
conda create -n hqtrack python=3.8
conda activate hqtrack

# 安装torch1.12.0
conda install pytorch==1.12 torchvision cudatoolkit=11.3 -c pytorch

# 安装HQ-SAM
cd segment_anything_hq
pip install -e .
pip install opencv-python pycocotools matplotlib onnxruntime onnx

# 安装Pytorch-Correlation-extension
cd packages/Pytorch-Correlation-extension/
python setup.py install

# 安装DCNv3
pip install DCNv3-1.0+cu113torch1.12.0-cp38-cp38-linux_x86_64.whl

# 安装vot-toolkit框架
pip install vot-toolkit

# 安装其他依赖
pip install easydict
pip install lmdb
pip install einops
pip install jpeg4py
pip install 'protobuf~=3.19.0'
conda install setuptools==58.0.4
pip install timm
pip install tb-nightly
pip install tensorboardx
pip install scikit-image
pip install rsa
pip install six
pip install pillow

3、下载预训练模型

  • 下载VMOS模型,解压放置到项目目录的result/default_InternT_MSDeAOTL_V2/YTB_DAV_VIP/ckpt/
  • 下载HQ-SAM模型,放置到项目目录的segment_anything_hq/pretrained_model/

4、运行demo

demo/your_video中添加想要处理的图片序列,修改demo/demo.py脚本中demo_video参数为自定义的文件夹名,运行以下命令,开始手动标记第一帧中需要追踪的对象,按r开始处理图片序列

1
2
cd demo
python demo.py

三、总结

项目实现了高精度的物体跟踪主要依赖于HQ-SAM,HQ-SAM使SAM具备准确分割任何对象的能力,同时保持SAM原有的提示设计、效率和零样本泛化能力。在SAM 的预训练模型权重基础上只引入了少量的额外参数和计算。


最后

参考文章:

官方项目

HQ-SAM


声明

本文仅作为个人学习记录。
本文永久记录于区块链博客xlog