ubuntu系统运行deepsort目标跟踪算法,图文详解
1、deepsort算法简介
DeepSort是对Simple Online and Realtime Tracking(Sort)的扩展,它通过预先训练的关联度量来整合外观信息。使用视觉外观空间中的最近邻查询来建立测量到跟踪的关联,能够跟踪更长时间的遮挡,使 Sort 成为当时最先进的在线跟踪算法。而且,该算法仍然易于实现并实时运行。
Wojke N , Bewley A , Paulus D . Simple Online and Realtime Tracking with a Deep Association Metric[C].IEEE International Conference on Image Processing (ICIP),Beijing,China. 2017:3645-3649.
2、准备工作
1、从下面三个网址git clone源代码
1、https://github.com/mikel-brostrom/Yolov5_DeepSort_Pytorch
2、https://github.com/ultralytics/yolov5
3、https://github.com/KaiyangZhou/deep-person-reid
2、按下面目录放置好,最外层是下载的第一个文件夹yolov5-deepsort-pytorch,然后将yolov5文件夹移到该目录下,如下图所示:
3、然后在strong_sort下面的deep下放入我们下载好的deep-person-reid文件夹。
4、创建一个weights文件夹,然后放入你需要的weights,这个大家应该很熟悉了,一个是yolov5s.pt,还有一个是osnet_x0_25_msmt17.pth,前者从上面的yolo下载页面上可以找到;后者在strong_sort/deep/checkpoint下,直接复制过来即可。就像这样:
3、配置环境并运行
1、创建anaconda,然后创建一个python3.8的环境,相信大家应该很熟悉了,这里就不再赘述。激活该环境,然后cd到最外层目录,输入下面命令来安装requirements.txt所需的库。
pip3 install -U -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
使用上面方法会非常顺利地安装成功,不需要科学上网。
2、进入deep-person-reid目录,运行python setup.py develop
,即可安装好REID环境。
3、输入python track.py运行程序,可以加入参数进行调整,比如下面五种参数很常用。
python track.py --yolo-weights weights/yolov5m.pt // yolov5权重文件
--source test.mp4 // 输入视频文件
--show-vid // 显示跟踪视频
--classes 0 2 // 0 = 行人类别, 2=小汽车类别。
--save-vid // 保存跟踪视频
单个视频的运行效果,通过yolo检测之后,deepsort对目标进行相邻帧的跟踪。
- 点赞
- 收藏
- 关注作者
评论(0)