系列文章目录
前言
The Raspberry Pi AI Kit
Raspberry Pi AI 套件将 Raspberry Pi M.2 HAT+ 与 Hailo AI 加速模块捆绑在一起,供 Raspberry Pi 5 使用。套件包含以下内容:
- 包含神经处理单元(NPU)的 Hailo AI 模块
- Raspberry Pi M.2 HAT+,用于将 AI 模块连接到 Raspberry Pi 5
- 预装在模块和 M.2 HAT+ 之间的散热垫
- 安装硬件套件
- 16 毫米堆叠 GPIO 接头
一、人工智能模块功能
- 围绕 Hailo-8L 芯片构建的每秒 13 太赫兹(TOPS)神经网络推理加速器。
- M.2 2242 外形尺寸
二、安装
要使用 AI 套件,您需要
- 一个 Raspberry Pi 5
每个 AI 套件都配有一个预装的 AI 模块、带状电缆、GPIO 堆叠接头和安装硬件。完成以下说明以安装 AI 套件:
首先,确保 Raspberry Pi 运行最新的软件。运行以下命令进行更新:
sudo apt update && sudo apt full-upgrade
接下来,确保您的 Raspberry Pi 固件是最新的。运行以下命令查看您正在运行的固件:
sudo rpi-eeprom-update
如果看到的是 2023 年 12 月 6 日或更晚的日期,请继续下一步。如果看到的日期早于 2023 年 12 月 6 日,请运行以下命令打开 Raspberry Pi 配置 CLI:
sudo raspi-config
在 "高级选项">"引导程序版本 "下选择 "最新"。然后用 "完成 "或 Escape 键退出 raspi-config。
运行以下命令将固件更新到最新版本:
sudo rpi-eeprom-update -a
然后用 sudo 重新启动。
开始安装前,断开 Raspberry Pi 的电源。
为获得最佳性能,我们建议将 AI 套件与 Raspberry Pi Active Cooler 搭配使用。如果您有主动冷却器,请在安装 AI 套件前安装。
使用提供的四颗螺丝安装垫片。将 GPIO 堆叠接头紧紧压在 Raspberry Pi GPIO 引脚上;只要所有引脚都能安装到位,方向并不重要。断开 AI 套件的带状电缆,将另一端插入 Raspberry Pi 的 PCIe 端口。从两侧提起带状电缆支架,然后将电缆的铜接触点朝内,朝向 USB 端口插入。将带状电缆完全均匀地插入 PCIe 端口后,从两侧向下推动电缆支架,将带状电缆牢牢固定到位。
将 AI 套件放在垫片上,用剩下的四个螺钉将其固定到位。
将带状电缆插入 AI 套件的插槽中。从两侧抬起带状电缆支架,然后将电缆插入,铜接触点朝上。将带状电缆完全均匀地插入端口后,从两侧向下推动电缆支架,将带状电缆固定到位。
恭喜,您已成功安装 AI 套件。连接 Raspberry Pi 电源;Raspberry Pi OS 将自动检测 AI 套件。
警告
在从 M.2 插槽连接或断开设备之前,请务必断开 Raspberry Pi 的电源。
三、入门
本指南将帮助您在 Raspberry Pi 5 上安装 Raspberry Pi AI Kit。这将使您能够使用 Hailo AI 神经网络加速器运行 rpicam-apps 摄像头演示。
3.1 前提条件
本指南需要以下设备:
- 树莓派 5
- 一个 Raspberry Pi AI 套件,其中包括
- 一个 M.2 HAT+
- 一个预装的 Hailo-8L AI 模块
- 一个 64 位树莓派操作系统书虫安装包
- 任何 Raspberry Pi 官方摄像头(如摄像头模块 3 或高质量摄像头)
3.2 硬件设置
按照安装 Raspberry Pi 摄像头的说明,将摄像头安装到 Raspberry Pi 5 板上。您可以跳过重新连接 Raspberry Pi 电源,因为下一步需要断开 Raspberry Pi 的电源。
按照安装说明将 AI 套件硬件连接到 Raspberry Pi 5。
按照说明启用 PCIe Gen 3.0。这一步是可选的,但强烈建议您使用 AI 套件达到最佳性能。
安装使用 AI 套件所需的依赖项。在终端窗口运行以下命令:
sudo apt install hailo-all
这将安装以下依赖项:
- Hailo 内核设备驱动程序和固件
- HailoRT 中间件软件
- Hailo Tappas 核心后处理库
- rpicam-apps Hailo 后期处理软件演示阶段
最后,用 sudo reboot 重启树莓派,使这些设置生效。
为确保一切运行正常,请运行以下命令:
hailortcli fw-control identify
如果您看到类似下面的输出,说明您已经成功安装了 AI 工具包及其软件依赖项:
Executing on device: 0000:01:00.0
Identifying board
Control Protocol Version: 2
Firmware Version: 4.17.0 (release,app,extended context switch buffer)
Logger Version: 0
Board Name: Hailo-8
Device Architecture: HAILO8L
Serial Number: HLDDLBB234500054
Part Number: HM21LB1C2LAE
Product Name: HAILO-8L AI ACC M.2 B+M KEY MODULE EXT TMP
此外,还可以运行 dmesg | grep -i hailo 检查内核日志,其输出结果应与下面类似:
[ 3.049657] hailo: Init module. driver version 4.17.0
[ 3.051983] hailo 0000:01:00.0: Probing on: 1e60:2864...
[ 3.051989] hailo 0000:01:00.0: Probing: Allocate memory for device extension, 11600
[ 3.052006] hailo 0000:01:00.0: enabling device (0000 -> 0002)
[ 3.052011] hailo 0000:01:00.0: Probing: Device enabled
[ 3.052028] hailo 0000:01:00.0: Probing: mapped bar 0 - 000000000d8baaf1 16384
[ 3.052034] hailo 0000:01:00.0: Probing: mapped bar 2 - 000000009eeaa33c 4096
[ 3.052039] hailo 0000:01:00.0: Probing: mapped bar 4 - 00000000b9b3d17d 16384
[ 3.052044] hailo 0000:01:00.0: Probing: Force setting max_desc_page_size to 4096 (recommended value is 16384)
[ 3.052052] hailo 0000:01:00.0: Probing: Enabled 64 bit dma
[ 3.052055] hailo 0000:01:00.0: Probing: Using userspace allocated vdma buffers
[ 3.052059] hailo 0000:01:00.0: Disabling ASPM L0s
[ 3.052070] hailo 0000:01:00.0: Successfully disabled ASPM L0s
[ 3.221043] hailo 0000:01:00.0: Firmware was loaded successfully
[ 3.231845] hailo 0000:01:00.0: Probing: Added board 1e60-2864, /dev/hailo0
要确保摄像机运行正常,请运行以下命令:
rpicam-hello -t 10s
这将启动摄像机并显示十秒钟的预览窗口。确认一切安装正确后,就可以运行一些演示了。
3.3 演示
rpicam-apps 相机应用程序套件实现了一个后处理框架。本节包含几个演示后处理阶段,重点介绍 AI 工具包的部分功能。
以下演示使用 rpicam-hello,它默认显示一个预览窗口。不过,您也可以使用其他 rpicam 应用程序,包括 rpicam-vid 和 rpicam-still。您可能需要添加或修改一些命令行选项,以使演示命令与其他应用程序兼容。
首先,下载演示所需的后处理 JSON 文件。这些文件决定运行哪些后处理阶段,并配置每个阶段的行为。例如,您可以在对象检测演示中启用、禁用、加强或削弱时间过滤的强度。或者在分割演示中启用或禁用输出掩码绘制。
要下载整个后处理 JSON 文件集,请克隆 rpicam-apps repo。运行以下命令可从 repo 中只克隆最新提交的文件,从而节省空间:
git clone --depth 1 https://github.com/raspberrypi/rpicam-apps.git ~/rpicam-apps
提示
后续章节中提供的命令将使用本版本库中的 JSON 文件。为了便于引用这些文件,该命令会在你的主文件夹中创建克隆的 rpicam-apps 目录。如果修改了该目录的位置,还必须修改下面的演示命令,以便引用 JSON 文件的新位置。
3.3.1 目标检测
此演示会显示神经网络检测到的物体周围的边界框。要禁用取景器,请使用 -n 标志。要返回纯文本输出来描述检测到的对象,请添加 -v 2 选项。运行以下命令在 Raspberry Pi 上试用演示程序:
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov6_inference.json --lores-width 640 --lores-height 640
或者,您也可以尝试在性能和效率方面进行不同权衡的其他模型。
要使用 Yolov8 模型运行演示,请运行以下命令:
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov8_inference.json --lores-width 640 --lores-height 640
要使用 YoloX 模型运行演示,请运行以下命令:
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolox_inference.json --lores-width 640 --lores-height 640
要使用 Yolov5 人脸模型运行演示,请运行以下命令:
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov5_personface.json --lores-width 640 --lores-height 640
3.3.2 图像分割
该演示通过在取景器图像上绘制彩色遮罩来执行物体检测和物体分割。运行以下命令在 Raspberry Pi 上试用该演示:
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov5_segmentation.json --lores-width 640 --lores-height 640 --framerate 20
3.3.3 姿势估计
该演示执行 17 点人体姿势估计,并绘制连接检测点的线条。运行以下命令在 Raspberry Pi 上试用该演示:
rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov8_pose.json --lores-width 640 --lores-height 640
四、更多资源
Hailo 还创建了一套可以在 Raspberry Pi 5 上运行的演示,可在 hailo-ai/hailo-rpi5-examples GitHub 仓库中找到。
你可以在 hailo-ai/hailo_model_zoo GitHub 仓库中找到 Hailo 丰富的模型库,其中包含大量神经网络。
请访问 Hailo 社区论坛和开发者专区,进一步了解有关 Hailo 硬件和工具的讨论。
五、产品简介
有关人工智能套件的更多信息,包括机械规格和运行环境限制,请参阅产品简介。