道路坑洼检测边缘AI实现

故事是这样的。我厌倦了每天开车经过坑洼,所以我想——为什么不创建一个可以自动检测坑洼的东西呢?

于是,我萌生了一个小项目:一个由 Raspberry Pi 5、Hailo-8 AI 芯片和 YOLOv8 模型驱动的实时坑洼检测系统。本质上,它就是一台配备 AI 摄像头的紧凑型计算机,可以识别崎岖不平的道路。

简单来说,我们的目标是构建一个能够通过实时摄像头信号检测坑洼,对坑洼的严重程度进行分类(轻微凹陷 vs 深坑),实时估算坑洼的大小,并且无需大型 GPU 或云端设置即可完成所有这些操作。所有功能均在 Raspberry Pi 5 上运行。

这里的关键特性是 Hailo-8 芯片,它为 Pi 提供了强大的 AI 功能。它可以在边缘流畅运行 YOLOv8(一种流行的物体检测模型)。

GitHub 代码库: Raspberry Pi 5 + Hailo-8 坑洼检测系统

1、设置

好的,设置时间到了。首先你需要:

  • Raspberry Pi 5
  • Hailo AI HAT+(带 Hailo-8 芯片)
  • Raspberry Pi AI 摄像头
  • 一点耐心

1.1 安装 Hailo SDK

首先,克隆 Hailo 示例代码库。这将安装您需要的驱动程序和工具。

git clone https://github.com/hailo-ai/hailo-rpi5-examples.git
cd hailo-rpi5-examples
./install.sh

完成后,您的 Pi 即可运行 AI 工作负载。

1.2 克隆坑洼检测代码库

将你的项目克隆到 Hailo 的基本管道中。

cd ~/hailo-rpi5-examples/basic_pipelines/
git clone https://github.com/YOUR_USERNAME/pothole-detection-system.git
cd pothole-detection-system

1.3 运行检测脚本

接下来是精彩的部分——实时运行。

python3 pothole_detection.py --input rpi --hef-path ~/path-to-hef-file/Pothole-YOLOv8.hef

该命令启动摄像头,加载您的 YOLOv8 模型(已为 Hailo 编译),并开始实时检测坑洼。

如果一切顺利,视频流中坑洼周围将会出现边界框。

2、工作原理

让我来详细解释一下幕后发生的事情(因为这部分其实非常酷)。

  • 摄像头信号经过 GStreamer,这是一个管理帧捕获的视频管道。
  • 每一帧都被发送到 Hailo-8 芯片。
  • YOLOv8 模型检测坑洼并对其进行分类。
  • 结果会重新绘制在屏幕上。

以下是 Python 中推理功能的简化说明:

from hailo_platform import Device
from yolov8_inference import YOLOv8Detector

device = Device()
detector = YOLOv8Detector(device, hef_path="Pothole-YOLOv8.hef")
for frame in camera_stream():
    detections = detector.detect(frame)
    draw_boxes(frame, detections)
    show(frame)

这基本上就是整个过程——捕获、检测、显示。

3、切换输入

如果你不想使用 Pi 摄像头,可以连接 USB 网络摄像头。

python basic_pipelines/detection.py --input usb

或者,如果您有多个摄像头:

python basic_pipelines/detection.py --input /dev/video0

就这么简单。

4、重新训练你的模型

如果你有自己的坑洼数据集(例如,来自你所在城市的道路),你可以重新训练 YOLOv8 以提高准确率。Hailo 的 Apps Infra 代码库提供了重新训练指南。训练完成后,你可以使用 Hailo 的数据流编译器 (DFC) 编译你的模型,得到一个 .hef 文件。

5、其他可以尝试的酷炫功能

这个设置的功能远不止坑洼。你可以运行:

python basic_pipelines/pose_estimation.py
python basic_pipelines/instance_segmentation.py
python basic_pipelines/depth.py

Hailo 的示例涵盖了从物体检测到深度估计的所有内容——所有示例都针对 Raspberry Pi 5 进行了优化。

6、为什么这真的很重要

你可能会想:“好吧,这很有趣,但为什么要用坑洼呢?” 因为这是一个城市真正可以使用的边缘 AI 项目。想象一下,把其中一个安装在城市车辆上——它可以记录经过的每一个坑洼,发送 GPS 数据,并帮助道路维护团队更快地修复。

它体积小巧、价格低廉、效率高——无需云服务器,也无需高端 GPU。

7、我的收获

我喜欢这个项目的原因是 AI 硬件变得如此易于获取。几年前,在 60 美元的电脑上实时运行 YOLO 简直是一个梦想。现在,有了 Hailo-8 这样的芯片,这完全可以实现。

如果你手边有 Raspberry Pi,我强烈建议你尝试一下。你将学到很多关于嵌入式 AI 的知识,甚至可能有助于改善你所在城市的道路状况。


原文链接:Real-Time Pothole Detection on Raspberry Pi 5 with Hailo-8 and YOLOv8

汇智网翻译整理,转载请标明出处