PySOT单目标跟踪实战:从零搭建环境到模型部署的避坑指南(手把手教学,附代码)
1. 环境准备从零搭建PySOT开发环境第一次接触PySOT时我花了整整两天时间折腾环境配置踩遍了所有能踩的坑。为了让你们少走弯路我把这些经验整理成可复现的步骤。首先需要明确的是PySOT对系统环境有特定要求操作系统推荐Ubuntu 18.04/20.04Windows也能跑但会遇到更多坑显卡驱动CUDA 10.2以上我用的是CUDA 11.1 cuDNN 8.0.5Python版本3.6-3.83.9以上会有依赖冲突安装Anaconda后用以下命令创建隔离环境conda create -n pysot python3.7 -y conda activate pysot接下来安装PyTorch时有个关键细节必须匹配CUDA版本。我实测过用pip安装比conda更稳定pip install torch1.8.1cu111 torchvision0.9.1cu111 -f https://download.pytorch.org/whl/torch_stable.html安装基础依赖时强烈建议使用豆瓣源加速pip install -r requirements.txt -i https://pypi.douban.com/simple1.1 解决C编译这个拦路虎PySOT的测试代码依赖C扩展这里90%的人会卡住。我在三台不同机器上验证过的解决方案Windows用户必须安装Visual Studio Build Tools不是VS Code下载链接https://visualstudio.microsoft.com/visual-cpp-build-tools/安装时勾选使用C的桌面开发和Windows 10 SDKLinux用户需要gcc和g编译器sudo apt-get install build-essential编译时如果报错error: Microsoft Visual C 14.0 or greater is required说明环境变量没配置好。试试这个万能命令python setup.py build_ext --inplace2. 数据集处理避开标注文件的那些坑官方推荐的数据集组合(VIDYoutubeBBDETCOCO)需要约500GB存储空间。如果你的显卡显存小于12GB我建议先用VID单数据集练手。下载后你会遇到三个典型问题分卷压缩文件解压Windows用户用360压缩直接解压.zip文件Linux用户需要先合并cat vid_zip.z* vid_zip_full.zip unzip vid_zip_full.ziptar包解压异常遇到tar: Error is not recoverable时试试这个命令tar -xvf vid_crop.tar --no-same-ownerJSON文件路径错误修改train.json中的root字段为你的实际路径{ root: /your/path/to/vid/crop, anno: /your/path/to/vid/train.json }3. 模型训练小显存的生存指南我的RTX 3090(24GB)跑默认配置都会OOM经过两周调参总结出这些技巧3.1 关键参数调整修改pysot/core/config.py中的这些参数__C.TRAIN.BATCH_SIZE 16 # 默认32对8GB显卡太大 __C.TRAIN.NUM_WORKERS 4 # 超过CPU核心数会拖慢速度 __C.DATASET.VIDEOS_PER_EPOCH 100000 # 减少训练样本量3.2 多GPU训练的正确姿势即使只有两块显卡也要用分布式训练这个命令模板请收好CUDA_VISIBLE_DEVICES0,1 python -m torch.distributed.launch \ --nproc_per_node2 \ --master_port2333 \ ../../tools/train.py --cfg config.yaml遇到Address already in use错误时换一个端口号。我习惯用2333到2444之间的随机数。4. 模型部署让跟踪器跑起来训练完成后用这个命令测试你的模型python tools/test.py \ --snapshot experiments/siamrpn_r50_l234_dwxcorr/snapshot/model.pth \ --dataset VOT2018 \ --config experiments/siamrpn_r50_l234_dwxcorr/config.yaml如果遇到ImportError: cannot import name RegionProposalNetwork大概率是环境冲突。我找到的最佳解决方案是pip uninstall torchvision pip install torchvision0.9.1最后分享一个实用技巧用OpenCV可视化跟踪结果时添加这段代码可以显示FPSfps cv2.getTickFrequency() / (cv2.getTickCount() - start_tick) cv2.putText(frame, fFPS: {fps:.1f}, (10,30), cv2.FONT_HERSHEY_SIMPLEX, 1, (0,255,0), 2)
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2624000.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!