以下链接是个人关FairMOT(多目标实时追踪) 所有见解,如有错误欢迎大家指出,我会第一时间纠正。
目标追踪00-00:FairMOT(实时追踪)-目录-史上最新无死角讲解
anconda环境搭建
# 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去掉即可
如果成功显示如下:
数据处理,模型下载
数据处理
根据上篇博客下载的数据集,本人摆放位置如下:
下面每个数据对应的分布:
其上包含了测试数据集和训练数据集
:
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
本人正常打印如下:
本人暂时也不知道这些打印达标什么,在后续的章节我们继续分析。