0 背景

研究了FairMOT多目标跟踪算法,于是想跑一下论文开源中的Demo看下效果。首先第一件事情就是搭建环境。下面把这个环境搭建中遇到的几个棘手问题拿出来,并写出解决方法。

1 安装包

1.1 安装cython-bbox 和 llvmlite

我首先创建了Anaconda3的虚拟环境 conda create -n fairmot-py36-torch1.5 python=3.6,并安装了torch == 1.5.0+cu101, torchvision == 0.6.0+cu101,cudatoolkit = 10.1,cudnn = 7.6.5 

并激活该环境 source activate fairmot-py36-torch1.5

接着是是执行 

pip install -r requirements.txt -i http://pypi.douban.com/simple --trusted-host pypi.douban.com

在安装包的时候出现 cython-bbox安装失败的情况,这里参考了FairMOT | win10下cython-bbox安装的心酸之路 解决了问题。

在安装包的时候又出现 llvmlite 安装失败的情况,这里参考了pytorch环境numba安装包安装失败,llvmlite安装失败!解决了问题。其实就是更新下pip即可

python -m pip install -U --force-reinstall pip

2. 安装DCNv2(重中之重)

这个并没有使用开源中的git,而是使用了DCNv2_latest,参考yolact模型DCNv2模块编译错误解决方法

git clone https://github.com/jinfagang/DCNv2_latest.git 

并进入到DCNv2_latest下面

接着将 make.sh中的 sudo全部去掉,并编译 ./make.sh

但是我出现了错误,大致说的是 "/usr/local/cuda-11.0/nvcc : No file or directory"的错误,经过我苦苦寻找,找到了python包编译过程中出现: /usr/local/cuda-9.0/nvcc: No such file or directory问题的简单解决办法 和 unable to execute ‘usr/local/cuda-10.0/bin/nvcc‘: No such file or directory【编译过程出错解决办法】,其实就是cuda路径前面多了 ‘:’,这个错误很奇怪,解决办法就是 执行 export CUDA_HOME=/usr/local/cuda-11.0/,如下图

于是再次编译DCNv2_latest,执行 ./make.sh,DCNv2_latest这个折腾我两天的大魔头终于编译成了。

3. 运行Demo

在FairMOT的src下面执行

python demo.py mot --load_model ../models/fairmot_dla34.pth --conf_thres 0.4

便可生成结果文件,如下图,看着效果还是不错的

 

 

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐