fastiuk/traffic-violation-detection-edge

GitHub: fastiuk/traffic-violation-detection-edge

一项博士研究项目,在树莓派5搭配Hailo-8L加速器的边缘硬件上,利用YOLOv5实现低延迟实时交通违章检测的原型与性能基准验证。

Stars: 0 | Forks: 0

# 边缘设备上的交通违章检测 **代码仓库:** `traffic-violation-detection-edge` **平台:** Raspberry Pi 5 + Hailo-8L AI 加速器 **作者:** Yevhen Fastiuk **背景:** 博士论文研究 ## 概述 本代码仓库托管了一项专注于**使用边缘计算进行实时交通规则执法**的博士研究项目的源代码、基准测试和实验数据。 该项目研究了在低功耗、高性价比的边缘硬件 (Raspberry Pi 5) 上部署先进计算机视觉模型(如 YOLOv5)并结合专用 AI 加速 (Hailo-8L) 的可行性与效率。主要目标是在边缘本地检测交通违章行为——例如违章停车、逆行和闯红灯——从而降低延迟和带宽需求,相比以云为中心的解决方案更具优势。 ## 新手入门 ### 1. 硬件与操作系统要求 * **设备:** Raspberry Pi 5(推荐 8GB 版本) ![Raspberry Pi 5](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/d0d7ce319f161206.png) * **加速器:** Hailo-8L M.2 模块 + Raspberry Pi M.2 HAT+ (Hailo AI Kit) ![Hailo AI Kit](https://static.pigsec.cn/wp-content/uploads/repos/2026/05/f6cdee46b4161212.webp) * **操作系统:** 适用于 Raspberry Pi 的 **Ubuntu 24.04 LTS (Noble Numbat)** 64位版本。 * *注意:* 由于 ABI 版本控制冲突,此自动化设置不完全支持 Raspberry Pi OS。 ### 2. 安装说明 1. **克隆仓库:** git clone https://github.com/fastiuk/traffic-violation-detection-edge.git cd traffic-violation-detection-edge 2. **下载所需的二进制文件:** 由于许可限制,此处无法托管 Hailo 二进制文件。请从 [Hailo 开发者专区](https://hailo.ai/developer-zone/) 下载以下文件并将其放置在 `setup/installers/` 目录中: * `hailort_4.23.0_arm64.deb` **MD5:** `212575df93456a40befd9238ac92b4e1` * `hailort-pcie-driver_4.23.0_all.deb` **MD5:** `a734d7c865e5489f855ddd01bcbfc7e6` * `hailort-4.23.0-cp312-cp312-linux_aarch64.whl` **MD5:** `a66552e308c1123616cbdb4fd69e5485` 3. **下载基准测试数据集:** ./setup/download_coco_val2017.sh ./setup/download_video_footage_dataset.py COCO 存储在 `dataset/coco` 目录下;交通视频存储在 `dataset/traffic-vids` 目录下。 4. **运行设置第 1 部分(系统):** 更新操作系统并启用 PCIe。**系统将自动重启。** ./setup/setup_part1_system.sh 5. **运行设置第 2 部分(Hailo):** 重启后,登录并运行: cd traffic-violation-detection-edge ./setup/setup_part2_hailo.sh ### 3. 运行基准测试 重启后,执行性能基准测试: ``` # 激活环境 source /opt/hailo_env/bin/activate # 运行 benchmark (Web Streaming) python3 performance-benchmark/src/hailo_inference_web.py ``` 通过 `http://:5001` 访问视频流。 ## 仓库结构 * **`performance-benchmark/`** 包含比较主机 CPU 与 Hailo-8L 加速器推理能力的初步基线研究。 * `src/`:用于对 FPS(每秒帧数)和延迟进行基准测试的 Python 脚本。包含用于可视化的网络流媒体实现。 * `docs/`:详细的性能报告和方法论(例如,`Hailo_vs_RPi5_CPU_Benchmark_Report.md`)。 * **`setup/`** 用于配置边缘环境的基础设施即代码 和设置脚本。 * `setup_part1_system.sh` 和 `setup_part2_hailo.sh`:使用手动提供的 Hailo 安装程序的 Ubuntu 24.04 设置路径。 * `setup_raspberry_pi_os_hailo.sh`:使用 Raspberry Pi apt 软件包的 Raspberry Pi OS/Debian 设置路径。 * `download_coco_val2017.sh` 和 `download_video_footage_dataset.py`:数据集下载辅助脚本。 * `installers/`:将下载的专有二进制文件放置在此处。 * **`performance-benchmark/results/`** 测试期间捕获的实验数据、屏幕截图和日志。 ## 主要发现(初步) 使用 YOLOv5s (640x640) 进行的初步基准测试证明了专用硬件在此应用中的关键必要性: | 硬件 | 吞吐量 (应用) | 吞吐量 (原始硬件) | 延迟 | 系统负载 | 适用性 | | :--- | :--- | :--- | :--- | :--- | :--- | | **RPi 5 CPU** | ~1.7 FPS | 不适用 | ~570ms | 100% | 不适用于实时场景 | | **Hailo-8L** | **~15 FPS** | **29.34 FPS** | **~32ms** | <20% | **具备实时处理能力** | * **应用吞吐量:** 在 Python 应用程序中端到端测量(帧捕获 -> 预处理 -> 推理 -> 流传输)。 * **原始硬件吞吐量:** 直接在加速器上使用 `hailortcli` 基准测试工具测量得出。 ## 未来工作 * **违章逻辑:** 实施跟踪算法(例如 ByteTrack)和规则引擎,以定义和检测特定的交通违章行为。 * **数据集收集:** 用于在交通路口进行自主数据收集的脚本。 * **模型优化:** 在特定领域的数据集(交通监控)上对 YOLO 模型进行微调。 ## 许可证 本项目基于 **MIT License** 授权。有关详细信息,请参阅 [LICENSE](LICENSE) 文件。 * 视频数据集归属:Free Stock Footage by Vecteezy.com
标签:AI加速器, Arm64, Hailo-8L, Ubuntu 24.04, YOLOv5, 交通违规检测, 低延迟, 博士研究, 实时视频处理, 嵌入式系统, 智能交通, 树莓派5, 深度学习, 目标检测, 硬件加速, 视频监控, 计算机视觉, 边缘AI, 边缘推理, 边缘计算, 违章停车检测, 逆向工具, 逆行检测, 闯红灯检测