以下链接是个人关FairMOT(多目标实时追踪) 所有见解,如有错误欢迎大家指出,我会第一时间纠正。
目标追踪00-00:FairMOT(实时追踪)-目录-史上最新无死角讲解

目标跟踪 飞机 数据集_目标跟踪 飞机 数据集
目标跟踪 飞机 数据集_目标跟踪 飞机 数据集_02
目标跟踪 飞机 数据集_多目标实时追踪_03
 

anconda环境搭建

目标跟踪 飞机 数据集_FairMOT_04

# 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://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去掉即可

如果成功显示如下:

目标跟踪 飞机 数据集_ReID_05

 

数据处理,模型下载

数据处理

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

目标跟踪 飞机 数据集_ReID_06

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

目标跟踪 飞机 数据集_目标跟踪 飞机 数据集_07

其上包含了测试数据集和训练数据集
目标跟踪 飞机 数据集_FairMOT_08

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 找到:

目标跟踪 飞机 数据集_目标跟踪 飞机 数据集_09


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

目标跟踪 飞机 数据集_目标检测_10

 

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之中

正常运行结果如下:

目标跟踪 飞机 数据集_FairMOT_11


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

目标跟踪 飞机 数据集_多目标实时追踪_12


 

模型训练

首先修改 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'

本人正常打印如下:

目标跟踪 飞机 数据集_目标检测_13

 

模型测试

执行命令如下:

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

本人正常打印如下:

目标跟踪 飞机 数据集_目标跟踪 飞机 数据集_14


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