[![Colab](https://colab.research.google.com/assets/colab-badge.svg)](https://colab.research.google.com/drive/1LF_LTIt878PgqgffdQ2xP1aLcL5oU81_?usp=sharing)
# YOLOv10_DeepSORT
This repository contains code for object detection and tracking in videos using the YOLOv10 object detection model and the DeepSORT algorithm.
## Demo
<p align="center">
<img src="data/helper/test.gif" alt="demo" width="80%">
</p>
## Installation
1. Clone this repository:
```
git clone https://github.com/sujanshresstha/YOLOv10_DeepSORT.git
cd YOLOv10_DeepSORT
```
2. Create new environment
- Using Conda
```
conda env create -f conda.yml
conda activate yolov10-deepsort
```
- Using pip
```
python3 -m virtualenv -p python3.11 yolov10-deepsort
source yolov10-deepsort/bin/activate
pip install -r requirements.txt
```
3. Download model weight
```
mkdir -p weights
wget -P weights -q https://github.com/jameslahm/yolov10/releases/download/v1.0/yolov10n.pt
wget -P weights -q https://github.com/jameslahm/yolov10/releases/download/v1.0/yolov10s.pt
wget -P weights -q https://github.com/jameslahm/yolov10/releases/download/v1.0/yolov10m.pt
wget -P weights -q https://github.com/jameslahm/yolov10/releases/download/v1.0/yolov10b.pt
wget -P weights -q https://github.com/jameslahm/yolov10/releases/download/v1.0/yolov10x.pt
wget -P weights -q https://github.com/jameslahm/yolov10/releases/download/v1.0/yolov10l.pt
ls -lh weights
```
## Usage
1. Prepare the video file:
- Place the video file in the desired location.
- Update the `video` flag in the path of the video file or set it to `0` to use the webcam as the input.
2. Download YOLOv10 model:
- Make sure the corresponding model weights are available.(yolov10n/yolov10s/yolov10m/yolov10b/yolov10x/yolov10l)
3. Configure the output video:
- Update `output` flag in the code to specify the path and filename of the output video file.
4. Set the confidence threshold:
- Adjust the `conf` flag in the code to set the confidence threshold for object detection. Objects with confidence below this threshold will be filtered out.
5. If you want to detect and track certain object on video
- Modify the `class_id` flag in the code to specify the class ID for detection. The default value of the flag is set to None. If you wish to detect and track only persons, set it to 0, or refer to the coco.names file for other options.
6. If you want to blur certain object while tracking
- Modify the `bulr_id` flag in the code to specify the class ID for detection. The default value of the flag is set to None.
7. Run the code:
```
# Run object tracking
python object_tracking.py --video ./data/test.mp4 --output ./output/output.mp4
# Run object tracking on webcam (set video flag to 0)
python object_tracking.py --video 0 --output ./output/webcam.mp4
# Run person tracking (set class_id flag to 0 for person)
python object_tracking.py --video ./data/test.mp4 --output ./output/output.mp4 --class_id 0
# Run tracking on a video with burring certain objects (set blur_id flag to 0 for person)
python object_tracking.py --video ./data/test.mp4 --output ./output/output.mp4 --blur_id 0
```
## Acknowledgements
- This code is built upon the YOLOv10 model and the DeepSort algorithm.
- Credits to the authors and contributors of the respective repositories used in this project.
## References
- [YOLOv10: Real-Time End-to-End Object Detection](https://github.com/THU-MIG/yolov10)
- [Simple Online and Realtime Tracking with a Deep Association Metric](https://arxiv.org/abs/1703.07402)
徐浪老师
- 粉丝: 8561
- 资源: 1万+
最新资源
- 西门子726消防报警主机逻辑编辑软件
- MATLAB环境下一种在冲击性噪声中进行鲁棒稀疏恢复的方法 算法运行环境为MATLAB r2018a 算法可迁移至金融时间序列,地震 微震信号,机械振动信号,声发射信号,电压 电流信号,语音信号
- 算法最小生成树Qt项目 包含prim算法和kruskal算法 其中二者的执行过程可以动态展示 包含报告和源代码
- 西门子1500博图程序 立体仓库 堆垛机 输送机 智能物流 工程项目案例,是成熟的并且稳定的运行在客户现场的程序,项目有一万多个库位,输送机一百多个,堆垛机8个,仓库分楼下和楼上两层,以西门子plc
- 基于重复控制的有源电力滤波器谐波抑制策略 APF有源电力滤波器 无功补偿 PI+重复控制 谐波抑制 产品,不接受 电流环重复控制,THD小于1%
- 电磁噪声电磁仿真电磁设计电机simplorer控制Maxwell电机电磁振动噪声NVH分析资料教程 永磁同步电机电磁噪声全套资料包含模态试验教程(锤击法模态试验),Maxwell电磁仿真初级中级高级教
- 调度:考虑光伏储能的多目标粒子群经济调度 简介:调度中考虑了光伏消纳、储能系统调节作用等,并采用了多目标粒子群算法求解 参考文献基于改进粒子群算法的微电网多目标优化调度,基于多目标粒子群算法的微电
- 基于51单片机的波形发生器系统仿真设计 实现功能: 1、通过按键切波形 可输出正弦波 方波 三角波 锯齿波 组合波(正弦波+三角波+锯齿波) 2、通过滑动变阻器进行波形幅度调节(0-5V),并通过A
- 3机9节点系统暂态稳定Matlab编程 simulink仿真 1.Matlab编程计算摇摆曲线,得到3机9节点系统中3台发电机的功角曲线以及转速曲线,通过分析各发电机之间的功角差和转速差来分析系统暂态
- python音乐推荐系统 音乐推荐系统源码 技术栈:python+django+基于用户协同过滤,应用余弦相似度 推荐思路:用户登陆系统后,听歌时会记录听歌次数,听歌的次数可以代表用户对歌曲的喜好度
- 西门子真实水处理1200PLC程序+触摸屏程序,V16打开学习程序,可仿真实验 Plc程序包含功能块,功能块为SCL编写, 内含模拟量算功能块+滤波功能块+时间算功能块+modubus tcp通讯
- 四轴scara机器人正解逆解算法,功能有:设定臂长,末端姿态,用户坐标系统及其转 不含标定、死区管理,要自己加 c++源码,vs2015工程,用户坐标系是用opencv库 支持左手右手两种模式
- stgwaterctrl.cfg
- COMSOL铌酸锂波导PPLN和频
- 西门子S7-300博途植物萃取饮料生产线控制系统程序案例,编程软件采用博途STEP7加博途WINCC RT Pro 内有CAD工艺流程图和PDF版电气图供参考 博图版本V15.1及以上
- 永磁同步电机的MTPA最大转矩电流比控制算法的仿真模型,有详细的算法设计文档 1. 永磁同步电机的数学模型; 2. 永磁同步电机的矢量控制原理; 3. 最大转矩电流比控制; 4. 前馈补偿提高抗负载
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈