Deep-OC-SORT复现记录

本文介绍了如何在Python环境中配置深度学习追踪框架Deep-OC-SORT,包括创建conda环境、安装依赖、预训练权重下载、数据集处理以及进行benchmark测试和消融实验,最后展示了如何使用HOTA评估性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1 创建环境

conda create -n deepocsort python=3.8
conda activate deepocsort
#根据cuda版本安装torch
pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html

2 (下载好源码后,在源码目录下)安装依赖项

cd external/YOLOX/
pip install -r requirements.txt && python setup.py develop
cd ../external/deep-person-reid/
pip install -r requirements.txt && python setup.py develop

#若报错:AttributeError: module 'distutils' has no attribute 'version'
# 则执行下两条指令,否则跳过
pip uninstall setuptools
pip install setuptools==58.0.4

cd ../external/fast_reid/
pip install -r docs/requirements.txt

3 预训练权重

在external下新建weights文件夹,下载权重后放到该目录下

Deep-OC-SORT/external/weights - Google 云端硬盘

4 数据集处理

ocsort 复现_阿珩#的博客-优快云博客

 在dataset.py更改数据集路径

5 测试

5.1 benchmark测试

# Flags to disable all the new changes
python3 main.py --exp_name $exp --post --emb_off --cmc_off --aw_off --new_kf_off --grid_off --dataset mot17
python3 main.py --exp_name $exp --post --emb_off --cmc_off --aw_off --new_kf_off --grid_off -dataset mot20 --track_thresh 0.4
python3 main.py --exp_name $exp --post --emb_off --cmc_off --aw_off --new_kf_off --grid_off --dataset dance --aspect_ratio_thresh 1000

5.2 mot17消融实验

# exp_name自定义名
# post线性插值后处理 
# new_kf_off不使用新KF
# dataset 数据集
# aw_param aw自适应权重参数
python3 main.py --exp_name $exp --post --grid_off --new_kf_off --dataset mot17 --w_assoc_emb 0.75 --aw_param 0.5
python3 main.py --exp_name $exp --post --grid_off --new_kf_off --dataset mot20 --track_thresh 0.4 --w_assoc_emb 0.75 --aw_param 0.5
python3 main.py --exp_name $exp --post --grid_off --new_kf_off --dataset dance --aspect_ratio_thresh 1000 --w_assoc_emb 1.25 --aw_param 1

#如mot17消融:
python3 main.py --exp_name ablation_deepoc --post --dataset mot17 --w_assoc_emb 0.75 --aw_param 0.5

报错:AttributeError: module 'numpy' has no attribute 'int'.

解决:dtype=np.int报错的情况,建议直接修改为np.int_即可解决

参考:Bug小能手系列(python)_9: 使用sklearn库报错 module ‘numpy‘ has no attribute ‘int‘-优快云博客

结果:

5.3 获得HOTA结果

文件路径?

# benchmark参数可更改
python3 external/TrackEval/scripts/run_mot_challenge.py \
  --SPLIT_TO_EVAL val \
  --METRICS HOTA Identity CLEAR \
  --TRACKERS_TO_EVAL ${exp}_post \
  --GT_FOLDER results/gt/ \
  --TRACKERS_FOLDER results/trackers/ \
  --BENCHMARK MOT17

# 如对mot17消融结果的评估
python3 external/TrackEval/scripts/run_mot_challenge.py \
  --SPLIT_TO_EVAL val \
  --METRICS HOTA Identity CLEAR \
  --TRACKERS_TO_EVAL ablation_deepoc_post \
  --GT_FOLDER results/gt/ \
  --TRACKERS_FOLDER results/trackers/ \
  --BENCHMARK MOT17

结果:

DeepOCsort是一种跟踪网络,可以选择自行选择BoT-sort、Bytetrack、DeepocsortOcsort和Strongsort作为跟踪网络。根据引用\[1\]中的描述,DeepOCsort和Bytetrack被认为是效果最好的跟踪网络之一。这意味着DeepOCsort在目标跟踪方面具有较高的性能和准确性。 另外,要评估DeepOCsort的跟踪性能,可以使用MOT challenge提供的数据集,并根据训练数据集的ground truth文件,对比DeepOCsort跟踪窗口位置和跟踪ID,从而得到一系列评价指标。引用\[2\]提供了一个纯采用Python的算法代码,可以用于计算MOT评价指标。 关于目标ID的问题,引用\[3\]中提到,gt.txt是标注产生的目标ID,而MOT16-13.txt则是DeepOCsort跟踪产生的目标ID。这两种方式产生的目标ID可能不同。TrackEval算法使用IOU(Intersection over Union)来判断两个txt文件中不同的目标ID是否属于同一个目标。通过计算跟踪框的IOU,可以判断目标的相似性。如果两个跟踪框的IOU值较高,则可以认为它们属于同一个目标。 总结起来,DeepOCsort是一种跟踪网络,可以选择作为跟踪网络之一。它在目标跟踪方面具有较高的性能和准确性。评估DeepOCsort的跟踪性能可以使用MOT challenge提供的数据集,并使用引用\[2\]中提供的算法代码计算评价指标。在判断目标ID是否属于同一个目标时,可以使用IOU来进行相似性判定。 #### 引用[.reference_title] - *1* [多目标跟踪:YOLOv8+strongsort](https://blog.youkuaiyun.com/Orange_sparkle/article/details/129509459)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [deepsort和MOT16指标评价](https://blog.youkuaiyun.com/weixin_44238733/article/details/124148469)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值