以下链接是个人关FairMOT(多目标实时追踪) 所有见解,如有错误欢迎大家指出,我会第一时间纠正。有兴趣的朋友可以加微信:17575010159 相互讨论技术。若是帮助到了你什么,一定要记得点赞!因为这是对我最大的鼓励。
目标追踪00-00:FairMOT(实时追踪)-目录-史上最新无死角讲解

注意,本人编写该博客的时间为 2020 / 08 / 25 ,也就是说,你现在下载的作者代码或许和 \color{red}{注意,本人编写该博客的时间为2020/08/25,也就是说,你现在下载的作者代码或许和} 注意,本人编写该博客的时间为2020/08/25,也就是说,你现在下载的作者代码或许和
本人的代码不一样(如果作者有更新过)还有就是,本人调试该代码为 u b u n t u 18.04 系统 \color{red}{本人的代码不一样(如果作者有更新过)还有就是,本人调试该代码为ubuntu18.04系统} 本人的代码不一样(如果作者有更新过)还有就是,本人调试该代码为ubuntu18.04系统
即下面的报错使用 u b u n t u 18.04 报错的过程,以及解决办法 \color{red}{即下面的报错使用ubuntu18.04报错的过程,以及解决办法} 即下面的报错使用ubuntu18.04报错的过程,以及解决办法


 
anconda环境搭建

请安装合适 c u d a 版本的 p y t o r c h ,不要直接复制 \color{red}{请安装合适cuda版本的pytorch,不要直接复制} 请安装合适cuda版本的pytorch,不要直接复制

# FairMOT-root表示从github下载项目的根目录
cd ${FairMOT-root}
apt-get install ffmpeg
conda create -n 08.FairMOT-pytorch1.5-py3.6  -y python=3.6
conda activate 08.FairMOT-pytorch1.5-py3.6
pip install torch==1.5.0+cu101 torchvision==0.6.0+cu101 -f https://download.pytorch.org/whl/torch_stable.html
pip install opencv-python sklearn matplotlib Cython cython_bbox progress motmetrics yacs lap openpyxl -i https://pypi.douban.com/simple
cd src/lib/models/networks/DCNv2_new 
sh make.sh

报错一

2 errors detected in the compilation of "/tmp/tmpxft_0000216e_00000000-6_dcn_v2_cuda.cpp1.ii".
error: command '/usr/local/cuda/bin/nvcc' failed with exit status 1

本人主要参考如下博客解决:
https://blog.csdn.net/lol_IP/article/details/106802749
简单的说就是通过链接https://github.com/jinfagang/DCNv2_latest下载DCNv2_latest源码,然后替换掉src/lib/models/networks/DCNv2_new 文件夹,重新执行sh make.sh。如果报错:

make.sh: 2: make.sh: sudo: not found
make.sh: 3: make.sh: sudo: not found
make.sh: 4: make.sh: sudo: not found

把make.sh总的sudo去掉即可
如果成功显示如下:

 
数据处理,模型下载

数据处理

根据上篇博客下载的数据集,本人摆放位置如下:

下面每个数据对应的分布:

其上包含了测试数据集和训练数据集
注意如下几点 \color{red}{注意如下几点} 注意如下几点:

1.Caltech文件夹下创建data文件夹,移动images与labels_with_ids文件夹到其下面
2.CUHK-SYSU.zip数据集解压之后,需要命名为CUHKSYSU
3.修改2DMOT2015文件夹为MOT15,并且把上面博客介绍下载的 seqinfo.ini 文件与 MOT15的 images/train 文件合并在一起
  否则会报错:FileNotFoundError: [Errno 2] No such file or directory: './data/MOT15/images/train/ADL-Rundle-6/seqinfo.ini'

模型下载


通过链接:https://github.com/ifzhang/FairMOT
找到:


下载时候放置在 models(自行创建)目录下。 本人下载之后如下所示:

 
demo测试

执行如下指令即可:

cd src
python demo.py mot --load_model ../models/all_dla34.pth --conf_thres 0.4

或者:

cd src
python demo.py mot --load_model ../models/all_hrnet_v2_w18.pth --arch hrnet_18 --reid_dim 128 --conf_thres 0.4

报错一

Lenth of the video: 1500 frames
Creating model...
Downloading: "http://dl.yf.io/dla/models/imagenet/dla34-ba72cf86.pth" to /root/.cache/torch/checkpoints/dla34-ba72cf86.pth

  File "/my_app/anaconda3/envs/08.FairMOT-pytorch1.5-py3.6/lib/python3.6/http/client.py", line 276, in _read_status
    raise RemoteDisconnected("Remote end closed connection without"
http.client.RemoteDisconnected: Remote end closed connection without response

通过上面的提示链接http://dl.yf.io/dla/models/imagenet/dla34-ba72cf86.pth,下载该模型,放置到~/.cache/torch/checkpoints之中
正常运行结果如下:


在 results/frame文件夹下面可以看到测试的结果图像:


 
模型训练

首先修改 src/lib/cfg/data.json文件中 root 的路径,本人路径为 /my_tmp/zwh/Dataset"。

cd src
python train.py mot --exp_id all_dla34 --gpus 0 --batch_size 12 --load_model '../models/ctdet_coco_dla_2x.pth'

本人正常打印如下:

 
模型测试

执行命令如下:

cd src
python track.py mot --data_dir /my_tmp/zwh/Dataset --load_model ../models/all_dla34.pth --conf_thres 0.6 

或者:

cd src
python track.py mot --data_dir /my_tmp/zwh/Dataset  --load_model ../models/all_hrnet_v2_w18.pth --conf_thres 0.6 --arch hrnet_18 --reid_dim 128 

本人正常打印如下:


本人暂时也不知道这些打印达标什么,在后续的章节我们继续分析。