YOLOv8 交通管理应用详解及完整代码示例
YOLOv8简介
YOLOv8 (You Only Look Once version 8) 是 Ultralytics 公司开发的最新目标检测算法,相较于前代具有更高的精度和速度,非常适合交通管理场景中的实时对象检测需求。
交通管理应用场景
YOLOv8 可用于以下交通管理任务:
- 车辆检测与计数
- 交通流量统计
- 违规行为识别(闯红灯、逆行等)
- 行人检测与安全预警
- 车牌识别
- 交通事故检测
完整代码示例
python
import cv2
import numpy as np
from ultralytics import YOLO
from collections import defaultdict
# 加载预训练的YOLOv8模型 (可选择不同大小的模型: yolov8n.pt, yolov8s.pt, yolov8m.pt, yolov8l.pt, yolov8x.pt)
model = YOLO('yolov8n.pt') # 这里使用nano版本(最小),可根据需求选择更大模型
# 定义交通相关类别 (COCO数据集中的相关类别)
TRAFFIC_CLASSES = {
0: 'person', 2: 'car', 3: 'motorcycle', 5: 'bus', 7: 'truck',
9: 'traffic light', 1