道路坑洼检测边缘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
汇智网翻译整理,转载请标明出处