树莓派 5 AI 套件(Hailo-8L)使用教程

2024-06-08 07:44

本文主要是介绍树莓派 5 AI 套件(Hailo-8L)使用教程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

系列文章目录


前言

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 硬件和工具的讨论。

五、产品简介

        有关人工智能套件的更多信息,包括机械规格和运行环境限制,请参阅产品简介。

这篇关于树莓派 5 AI 套件(Hailo-8L)使用教程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1041573

相关文章

springboot security快速使用示例详解

《springbootsecurity快速使用示例详解》:本文主要介绍springbootsecurity快速使用示例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录创www.chinasem.cn建spring boot项目生成脚手架配置依赖接口示例代码项目结构启用s

Python如何使用__slots__实现节省内存和性能优化

《Python如何使用__slots__实现节省内存和性能优化》你有想过,一个小小的__slots__能让你的Python类内存消耗直接减半吗,没错,今天咱们要聊的就是这个让人眼前一亮的技巧,感兴趣的... 目录背景:内存吃得满满的类__slots__:你的内存管理小助手举个大概的例子:看看效果如何?1.

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

Spring Boot3虚拟线程的使用步骤详解

《SpringBoot3虚拟线程的使用步骤详解》虚拟线程是Java19中引入的一个新特性,旨在通过简化线程管理来提升应用程序的并发性能,:本文主要介绍SpringBoot3虚拟线程的使用步骤,... 目录问题根源分析解决方案验证验证实验实验1:未启用keep-alive实验2:启用keep-alive扩展建

MySQL Workbench 安装教程(保姆级)

《MySQLWorkbench安装教程(保姆级)》MySQLWorkbench是一款强大的数据库设计和管理工具,本文主要介绍了MySQLWorkbench安装教程,文中通过图文介绍的非常详细,对大... 目录前言:详细步骤:一、检查安装的数据库版本二、在官网下载对应的mysql Workbench版本,要是

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

GORM中Model和Table的区别及使用

《GORM中Model和Table的区别及使用》Model和Table是两种与数据库表交互的核心方法,但它们的用途和行为存在著差异,本文主要介绍了GORM中Model和Table的区别及使用,具有一... 目录1. Model 的作用与特点1.1 核心用途1.2 行为特点1.3 示例China编程代码2. Tab

SpringBoot使用OkHttp完成高效网络请求详解

《SpringBoot使用OkHttp完成高效网络请求详解》OkHttp是一个高效的HTTP客户端,支持同步和异步请求,且具备自动处理cookie、缓存和连接池等高级功能,下面我们来看看SpringB... 目录一、OkHttp 简介二、在 Spring Boot 中集成 OkHttp三、封装 OkHttp