
【导读】
目标检测与追踪技术是计算机视觉领域最热门的应用之一,广泛应用于自动驾驶、交通监控、安全防护等场景。今天我们将带你一步步实现一个完整的项目,使用YOLOv8 + DeepSORT实现目标检测、追踪与速度估算。
本项目将实现一个功能完备的系统,具备以下能力:
git clone https://github.com/Gayathri-Selvaganapathi/vehicle_tracking_counting.git
cd vehicle_tracking_counting推荐使用 conda:
conda create -n env_tracking python=3.8
conda activate env_tracking
pip install -r requirements.txt觉得环境配置太繁琐?代码跑起来效率太低?Coovally 平台就是你轻量开发的理想选择!
Coovally已集成YOLOv8和DeepSORT模型,可直接一键调用。
且平台还内置1000+可一键调用的开源模型,覆盖目标检测、关键点检测、多模态3D检测、目标追踪等各类任务。


除 GitHub 项目外,还需额外下载:
将上述资源分别放入:
一行命令启动全流程:
python detect.py --source data/sample_video.mp4 --yolo-model yolov8 --deep-sort deep_sort_pytorch --output runs/detect程序会处理视频、进行检测与追踪,并输出结果视频到 runs/detect/ 目录中。
from deep_sort.deep_sort import DeepSort
def init_tracker():
return DeepSort("deep_sort/model.ckpt", use_cuda=True) def detect_objects(frame, model):
results = model(frame)
return results.xyxy[0]def draw_boxes(frame, bbox, identities, names):
for i, box in enumerate(bbox):
...
cv2.rectangle(...)
cv2.putText(...)
return framedef estimate_speed(coord1, coord2, fps):
d_pixels = np.linalg.norm(np.array(coord2) - np.array(coord1))
d_meters = d_pixels / PIXELS_PER_METER
speed = d_meters * fps * 3.6
return speed输出效果包括:

# 判断是否通过计数线
if is_crossing_line(bbox, line_position):
vehicle_count += 1
# 计算速度
speed = estimate_speed(previous_coord, current_coord, fps)这个项目还可以进一步扩展:
我们通过本项目实现了一个高效的目标检测 + 多目标追踪 + 速度估算系统,技术组合为:
借助像 Coovally 这样的 AI 平台,不仅可以快速部署,还能极大提高迭代效率,助力你在算法验证、项目开发中快人一步!
欢迎留言讨论:你觉得 YOLOv8 + DeepSORT 最适合用于哪些场景?你是否在用其他更轻量的追踪算法?
关注我们,获取更多开源 AI 实战技巧与平台实测指南!
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。