STARK数据集准备完全手册:LaSOT、GOT10K与TrackingNet配置指南
STARK数据集准备完全手册:LaSOT、GOT10K与TrackingNet配置指南
【免费下载链接】Stark[ICCV'21] Learning Spatio-Temporal Transformer for Visual Tracking项目地址: https://gitcode.com/gh_mirrors/st/Stark
STARK(Spatio-Temporal Transformer for Visual Tracking)是ICCV2021收录的视觉跟踪算法,以端到端架构和实时性能著称。本文将详细介绍如何准备LaSOT、GOT10K和TrackingNet三大主流跟踪数据集,帮助新手快速搭建STARK的训练与评估环境。
数据集概览:为什么选择这三个?
STARK的高性能得益于对大规模数据集的充分训练。项目官方推荐使用以下三个数据集:
- LaSOT:包含1400段视频,覆盖70个目标类别,每段视频平均长度较长,适合训练长期跟踪能力
- GOT10K:包含10,000段视频和100个目标类别,场景多样性极强,是通用目标跟踪的标准 benchmark
- TrackingNet:拥有30,000+段视频,由专业标注人员标注,数据规模和质量均属顶级
STARK的时空Transformer架构示意图,数据集的质量直接影响模型性能
环境准备:基础路径配置
在开始数据集准备前,需先完成项目克隆和环境配置:
git clone https://gitcode.com/gh_mirrors/st/Stark cd Stark conda create -n stark python=3.6 conda activate stark bash install_pytorch17.sh设置项目路径:
python tracking/create_default_local_file.py --workspace_dir . --data_dir ./data --save_dir .路径配置文件位于:
- 训练路径:lib/train/admin/local.py
- 测试路径:lib/test/evaluation/local.py
标准目录结构:数据存放规范
所有数据集需按照以下结构存放于./data目录下:
${STARK_ROOT} -- data -- lasot |-- airplane |-- basketball ... -- got10k |-- test |-- train |-- val -- trackingnet |-- TRAIN_0 |-- TRAIN_1 ... |-- TRAIN_11 |-- TEST详细配置指南
LaSOT数据集配置
下载数据集
从官方网站获取LaSOT数据集(需学术邮箱申请)文件结构
解压后保持原始目录结构,每个类别为独立文件夹:lasot/ ├── airplane/ │ ├── airplane-1/ │ │ ├── img/ │ │ ├── groundtruth.txt │ │ ├── full_occlusion.txt │ │ └── out_of_view.txt │ └── ... └── ...训练集划分
STARK使用预定义的训练集划分文件:lib/train/data_specs/lasot_train_split.txt,包含所有训练视频的列表
GOT10K数据集配置
下载数据集
从官方网站下载GOT10K完整数据集文件结构
需包含训练、验证和测试集三部分:got10k/ ├── train/ ├── val/ └── test/训练集划分
项目提供多种训练集划分方案:- got10k_train_full_split.txt:完整训练集(9335段视频)
- got10k_train_split.txt:部分训练集
- got10k_vot_train_split.txt:VOT竞赛允许使用的训练集
TrackingNet数据集配置
下载数据集
使用官方工具包下载全部12个训练集和测试集文件结构
每个训练集为独立文件夹,包含帧图像和标注文件:trackingnet/ ├── TRAIN_0/ │ ├── frames/ │ └── anno/ ├── TRAIN_1/ └── ...类别映射
使用trackingnet_classmap.txt文件建立序列到类别的映射关系
验证数据集配置
完成数据集准备后,可通过以下命令验证配置是否正确:
# 测试LaSOT数据集加载 python -c "from lib.train.dataset.lasot import Lasot; dataset = Lasot(split='train'); print(f'LaSOT sequences: {len(dataset)}')" # 测试GOT10K数据集加载 python -c "from lib.train.dataset.got10k import Got10k; dataset = Got10k(split='train'); print(f'GOT10K sequences: {len(dataset)}')" # 测试TrackingNet数据集加载 python -c "from lib.train.dataset.tracking_net import TrackingNet; dataset = TrackingNet(); print(f'TrackingNet sequences: {len(dataset)}')"常见问题解决
路径错误
确保local.py文件中的数据集路径与实际存放位置一致文件缺失
检查数据集中是否包含必要的标注文件(如groundtruth.txt)内存问题
对于大规模数据集,建议使用LMDB格式加速加载,相关实现可参考:lib/train/dataset/lasot_lmdb.py
下一步:开始训练STARK
完成数据集准备后,即可开始训练STARK模型:
# 训练STARK-S50 python tracking/train.py --script stark_s --config baseline --save_dir . --mode multiple --nproc_per_node 8 # 训练STARK-ST50(两阶段) python tracking/train.py --script stark_st1 --config baseline --save_dir . --mode multiple --nproc_per_node 8 python tracking/train.py --script stark_st2 --config baseline --save_dir . --mode multiple --nproc_per_node 8 --script_prv stark_st1 --config_prv baseline更多训练和评估细节,请参考项目官方文档:README.md
通过本文档,您已掌握STARK所需三大数据集的完整配置流程。高质量的数据集是训练高性能跟踪模型的基础,建议确保数据完整且路径配置正确,为后续模型训练和评估奠定良好基础。
【免费下载链接】Stark[ICCV'21] Learning Spatio-Temporal Transformer for Visual Tracking项目地址: https://gitcode.com/gh_mirrors/st/Stark
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考