yolo是一种运行速度很快的目标检测AI模型,目前最新版本是yolov5,最大可处理1280像素的图像。当我们检测出图像中目标后,把视频分解成多幅图像并逐帧执行时,可看到目标跟踪框随目标移动,看上去很酷吧。但是,如果视频帧中有多个目标,如何知道一帧中的目标和上一帧是同一个对象?这就是目标跟踪的工作,应用多个检测来识别特定目标随时间的变化,实现目标跟踪。

Deepsort是实现目标跟踪的算法,从sort(simple online and realtime tracking)演变而来,其使用卡尔曼滤波器预测所检测对象的运动轨迹,匈牙利算法将它们与新的检测目标相匹配。Deepsort易于使用且运行速度快,成为AI目标检测跟踪之热门算法。

yolov5+DeepSort

源码在这里:Github

克隆项目到自己的本地

  1. git clone https://github.com/mikel-brostrom/Yolov5_DeepSort_Pytorch

其中,yolo5目录是一个链接,不能直接克隆下来,需要另行下载,并将内容放入yolo5。

  • 下载yolo5模型权重,放入目录your-dir/yolo5/weights

地址: https://github.com/ultralytics/yolov5/releases

yolov5网站发布的权重有如下几个
yolov5-P5: yolo5s.pt, yolo5m.pt, yolo5l.pt, yolo5x.pt
yolov5-P6: yolo5s6.pt, yolo5m6.pt, yolo5l6.pt, yolo5x6.pt
yolov5-P5可处理640像素图像,从s到x精度逐渐提升,yolov5-P6可处理1280像素图像,同样,从s到x精度逐渐提升。demo程序track.py默认用yolo5s.pt最简单的权重。

  • 下载Deepsort模型权重 ckpt.t7,放入目录:

your-dir/deep_sort_pytorch/deep_sort/deep/checkpoint
下载地址: https://drive.google.com/drive/folders/1xhG0kRH1EX5B9_Iz8gQJb7UNnn_riXi6