yolov5+deepsort目标检测与跟踪
实现效果
项目下载地址
全部项目代码可私信或评论区留言获取
先看下项目的列表,文件夹不多,只要加载权重和图片就可以实现目标的检测追踪
!
安装方法
授人以鱼不如授人以渔,学会此技巧,以后工作学习再也不怕配置环境了。
下载好后,输入以下命令:
conda create -n track_yolo5 python==3.7
然后紧接着使用:
conda activate track_yolo5
其次键入:
pip install -r requirements.txt
完成后就可以接在
上图目录终端输入:python app_track.py
完成yolov5追踪任务。
值得注意的是,如果想换成自己的数据视频,需要在
config.yml里面 source中的1.mp4换成你的视频
.
重要代码
import torch
import torch.backends.cudnn as cudnn
import pandas as pd
from infrastructure.handlers.track import Tracker
import os
os.environ["KMP_DUPLICATE_LIB_OK"]="TRUE"
os.environ["OMP_NUM_THREADS"] = "1"
os.environ["OPENBLAS_NUM_THREADS"] = "1"
os.environ["MKL_NUM_THREADS"] = "1"
os.environ["VECLIB_MAXIMUM_THREADS"] = "1"
os.environ["NUMEXPR_NUM_THREADS"] = "1"
import sys
lib_path = os.path.abspath(os.path.join('infrastructure', 'yolov5'))
sys.path.append(lib_path)
tracker = Tracker(config_path="../../settings/config.yml")
with torch.no_grad():
tracker.detect()
print(------------1)
此代码包含了目标检测的加载和追踪的代码,值得一行行dehug来学习和提升。!!
推理结果
下图为我本人的数据视频结果的截图,可见该模型在检测区域效果良好,达到了毕业设计的水平。
下图为动态图,原文中的效果,其加载Yolov5 和deepsort权重后,效果yyds!!!!
提取目标的特征向量。
- 轨迹管理:维护一个轨迹列表,用于存储每个目标的轨迹信息。
- 匹配与更新:在每个帧中,将 YOLOv5 检测到的目标与现有的轨迹进行匹配。如果匹配成功,更新轨迹;如果匹配失败,创建新的轨迹。
- 轨迹删除:对于长时间未匹配到目标的轨迹,进行删除处理,以减少内存占用。
3. 结合 YOLOv5 和 DeepSort
将 YOLOv5 和 DeepSort 结合起来,可以实现从目标检测到多目标跟踪的完整流程。
步骤:
- 目标检测:使用 YOLOv5 对视频流中的每一帧进行目标检测,输出检测框和类别信息。
- 特征提取:对检测到的目标提取特征向量。
- 轨迹管理:使用 DeepSort 管理目标的轨迹,进行匹配和更新。
- 结果输出:输出目标的检测框、类别信息和跟踪ID,用于后续的分析和处理。
4. 应用场景
智慧工地
- 安全监控:实时监控工地上工程车辆和工人的行为,检测违规操作和安全隐患。
- 资产管理:自动识别和记录工程车辆的位置和状态,实现资产的智能管理。
- 进度跟踪:通过无人机拍摄的图像,自动检测工程进度,提供数据支持。
- 事故预防:识别潜在的危险因素,如松动的建筑材料、不稳定的地基等,提前采取预防措施。
- 环境监测:监测工地的环境状况,确保施工过程符合环境保护的要求。
5. 技术实现
- 硬件:使用高性能的无人机和边缘计算设备,确保实时处理和传输数据。
- 软件:开发基于 YOLOv5 和 DeepSort 的目标检测与跟踪系统,可以使用 Python 和相关库(如 OpenCV、PyTorch)进行实现。
- 数据安全:确保数据传输和存储的安全性,保护工地的隐私和数据安全。
6. 易策AI 支持
易策AI 可以为企业提供相关的技术支持和服务,包括:
- 模型训练:提供标注工具和训练平台,帮助企业