实时交通标志检测和分类(附代码)

简介: 实时交通标志检测和分类(附代码)

简介与效果


本项目是一个基于 OpenCV 的交通标志检测和分类系统,可以在视频中实时检测和分类交通标志。检测阶段使用图像处理技术,在每个视频帧上创建轮廓并找出其中的所有椭圆或圆形。它们被标记为交通标志的候选项。

765b0a4418775666f49ab292a6a1cee2_b9604c2d2e33411f914597a409fcb128.png


检测策略:


  1. 增加视频帧的对比度和动态范围
  2. 增加视频帧的对比度和动态范围
  3. 使用 HSV 颜色范围删除不必要的颜色,如绿色
  4. 使用高斯拉普拉斯算子显示对象的边缘
  5. 通过二值化生成轮廓
  6. 检测椭圆状和圆形状的轮廓


在接下来的分类阶段,根据候选项的坐标从原始帧中裁剪出一组图像。预先训练的 SVM 模型将对这些图像进行分类,以确定它们属于哪种类型的交通标志。

32fa18f9b545b1364c94fad287161a26_c296209fccba43869c4ec0eb668ab67d.png


所有属于类别 8 及以上的标志都被标记为“其他”,因为这是一个竞赛的要求。还有一个类别 0,被标记为非交通标志。只有当前帧中最大的标志被裁剪和分类。


SVM 模型在每次调用 main.py 时进行训练,但我仍然保存该模型在 data_svm.dat 中,以便在未来实现模型重新加载功能,避免重新训练。


如果检测到交通标志,它将被跟踪,直到它消失或者帧中出现更大的标志。跟踪方法是稠密光流法。


环境搭建与文件介绍


  1. 先决条件: Python 3.5 OpenCV3 Imutils(使用 pip3 install imutils 安装)
  2. 系统结构 a. 有 3 个 Python 文件作为 3 个模块: main.py:程序的起始点。
  3. classification.py:用于分类交通标志的 SVM 模型。 common.py:用于定义 SVM 模型的函数。
  4. 其他文件: data_svm.dat:训练后保存的 SVM 模型。


安装


有两种运行程序的方式


  1. Use default arguments:
$python3 main.py


  1. Use custom arguments:
    使用默认参数:
$python3 main.py
optional arguments:
  -h, --help            show this help message and exit
  --file_name FILE_NAME
                        Video to be analyzed
  --min_size_components MIN_SIZE_COMPONENTS
                        Min size component to be reserved
  --similitary_contour_with_circle SIMILITARY_CONTOUR_WITH_CIRCLE
                        Similarly to a circle



结论与效果展示


我们使用GTSRB数据集训练了两个不同的模型来检测和识别交通标志。在测试数据集上,我们的模型表现出了良好的准确性和鲁棒性。未来,我们将继续改进我们的模型,以提高其在各种环境下的性能。效果展示 代码可私信


效果图片链接

https://ucc.alicdn.com/images/user-upload-01/d57cfaa0102c46bb9011235730628aab.gif



相关文章
|
13天前
|
机器学习/深度学习 算法框架/工具 数据库
使用Python实现深度学习模型:智能城市噪音监测与控制
使用Python实现深度学习模型:智能城市噪音监测与控制
46 1
|
5月前
|
机器学习/深度学习 存储 算法
基于YOLOv8与ByteTrack的车辆行人多目标检测与追踪系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、运动物体追踪
基于YOLOv8与ByteTrack的车辆行人多目标检测与追踪系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、运动物体追踪
|
5月前
|
机器学习/深度学习 存储 编解码
基于YOLOv8与ByteTrack的车辆检测追踪与流量计数系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、车辆检测追踪、过线计数、流量统计(2)
基于YOLOv8与ByteTrack的车辆检测追踪与流量计数系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、车辆检测追踪、过线计数、流量统计
|
5月前
|
机器学习/深度学习 存储 算法
深度学习实战】行人检测追踪与双向流量计数系统【python源码+Pyqt5界面+数据集+训练代码】YOLOv8、ByteTrack、目标追踪、双向计数、行人检测追踪、过线计数(2)
深度学习实战】行人检测追踪与双向流量计数系统【python源码+Pyqt5界面+数据集+训练代码】YOLOv8、ByteTrack、目标追踪、双向计数、行人检测追踪、过线计数
|
5月前
|
机器学习/深度学习 计算机视觉 Python
深度学习实战】行人检测追踪与双向流量计数系统【python源码+Pyqt5界面+数据集+训练代码】YOLOv8、ByteTrack、目标追踪、双向计数、行人检测追踪、过线计数(3)
深度学习实战】行人检测追踪与双向流量计数系统【python源码+Pyqt5界面+数据集+训练代码】YOLOv8、ByteTrack、目标追踪、双向计数、行人检测追踪、过线计数
|
5月前
|
机器学习/深度学习 算法 计算机视觉
基于YOLOv8与ByteTrack的车辆检测追踪与流量计数系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、车辆检测追踪、过线计数、流量统计(3)
基于YOLOv8与ByteTrack的车辆检测追踪与流量计数系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、车辆检测追踪、过线计数、流量统计
|
5月前
|
机器学习/深度学习 编解码 监控
深度学习实战】行人检测追踪与双向流量计数系统【python源码+Pyqt5界面+数据集+训练代码】YOLOv8、ByteTrack、目标追踪、双向计数、行人检测追踪、过线计数(1)
深度学习实战】行人检测追踪与双向流量计数系统【python源码+Pyqt5界面+数据集+训练代码】YOLOv8、ByteTrack、目标追踪、双向计数、行人检测追踪、过线计数
|
5月前
|
机器学习/深度学习 人工智能 监控
一文读懂计算机视觉4大任务:分类任务、检测任务、目标分割任务、关键点检测任务
一文读懂计算机视觉4大任务:分类任务、检测任务、目标分割任务、关键点检测任务
|
5月前
|
机器学习/深度学习 监控 算法
基于YOLOv8与ByteTrack的车辆检测追踪与流量计数系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、车辆检测追踪、过线计数、流量统计(1)
基于YOLOv8与ByteTrack的车辆检测追踪与流量计数系统【python源码+Pyqt5界面+数据集+训练代码】深度学习实战、目标追踪、车辆检测追踪、过线计数、流量统计
|
机器学习/深度学习 传感器 固态存储
基于深度学习的鱼眼图像中的停车位识别和分类(毕业设计+代码)
基于深度学习的鱼眼图像中的停车位识别和分类(毕业设计+代码)