首页 > 编程语言 >张高兴的 Raspberry Pi AI 开发指南:(一)Hailo-8 配置

张高兴的 Raspberry Pi AI 开发指南:(一)Hailo-8 配置

时间:2024-12-01 16:00:26浏览次数:4  
标签:Raspberry AI rpicam dtoverlay Hailo Pi 摄像头

目录

2024 年 6 月,Raspberry Pi AI Kit 发布,将 M.2 HAT+ 与 Hailo-8 AI 加速模块捆绑在一起,使 Raspberry Pi 具有了运行 AI 程序的能力。Hailo-8 是由以色列公司 Hailo 开发的一款高性能边缘 AI 处理器(NPU),它专为低功耗、高效率的深度学习推理任务设计,可以提供高达 26 TOPS 的计算能力,适用于各种边缘计算场景。本文主要介绍 AI Kit(AI HAT+)在 Raspberry Pi 5 上的配置和使用。

摄像头配置

Raspberry Pi 5 的主板上有两个 CSI 接口用于接入摄像头,其位置在有线网口后。接入摄像头时将排线的金属面朝向有线网口位置,插入接口。

如果是官方的摄像头模块,不需要做任何配置,即插即用。如果是第三方摄像头模块,需要修改 /boot/firmware/config.txt 配置文件。找到 camera-auto-detect=1 语句,修改为 camera_auto_detect=0 在文件结尾,根据摄像头型号加入以下设置语句:

型号 设置语句
OV9281 dtoverlay=ov9281
IMX290/IMX327 dtoverlay=imx290,clock-frequency=37125000
IMX378 dtoverlay=imx378
IMX219 dtoverlay=imx219
IMX477 dtoverlay=imx477
IMX708 dtoverlay=imx708

如果需要同时接入两路摄像头,可以在对应的摄像头配置语句后面加入 cam0cam1 指定摄像头,例如 dtoverlay=imx219,cam0

配置完成后重启,运行命令,预览摄像头并将摄像头画面显示在屏幕上。

rpicam-hello -t 0

AI Kit 配置

Raspberry Pi 5 主板上有一个 PCIe 接口,其位置在 SD 卡槽上方。接入模块时将排线的金属面朝向有线网口位置,插入接口。

安装完成后需要更新系统软件以及固件。

sudo apt update && sudo apt full-upgrade
sudo rpi-eeprom-update

使用 raspi-config 工具启用 PCIe Gen 3.0 确保 NPU 获得最佳性能。

sudo raspi-config  # 选择 Advanced Options -> 选择 PCIe Speed -> 选择 Yes

安装 NPU 所需的软件包。

sudo apt install hailo-all

重启后可运行命令,检查 NPU 是否正常运行。

hailortcli fw-control identify

看到类似于以下内容的输出,则表示已成功。

Executing on device: 0000:01:00.0
Identifying board
Control Protocol Version: 2
Firmware Version: 4.18.0 (release,app,extended context switch buffer)
Logger Version: 0
Board Name: Hailo-8
Device Architecture: HAILO8L
Serial Number: HLDDLBB243301512
Part Number: HM21LB1C2LAE
Product Name: HAILO-8L AI ACC M.2 B+M KEY MODULE EXT TMP

测试

通过克隆官方的仓库 rpicam-apps 来运行示例程序。rpicam 程序实现了一个后处理框架(post-processing framework),可以使用 JSON 处理从摄像头中获取的图像。

git clone --depth 1 https://github.com/raspberrypi/rpicam-apps.git ~/rpicam-apps

仓库提供了对象检测、图像分割、姿态识别等主流模型的应用案例,例如使用如下命令运行 YOLOv8 的对象检测模型。

rpicam-hello -t 0 --post-process-file ~/rpicam-apps/assets/hailo_yolov8_inference.json --lores-width 640 --lores-height 640

参考

  1. AI software - Raspberry Pi Documentation:https://www.raspberrypi.com/documentation/computers/ai.html
  2. AI Kit - Raspberry Pi Documentation:https://www.raspberrypi.com/documentation/accessories/ai-kit.html
  3. 树莓派摄像头使用方法 Camera教程:https://www.raspi.cc/index.php?c=read&id=53&page=1

标签:Raspberry,AI,rpicam,dtoverlay,Hailo,Pi,摄像头
From: https://www.cnblogs.com/zhanggaoxing/p/18579849

相关文章

  • AI蛋白质设计与人工智能药物设计
    AI蛋白质设计与人工智能药物设计AI蛋白质设计一、蛋白质相关的深度学习简介1.基础概念1.1.机器学习简介:从手写数字识别到大语言模型1.2.蛋白质结构预测与设计回顾1.3.Linux简介1.4.代码环境:VScode和Jupyternotebook*1.5.Python关键概念介绍*2.常用的分析/可视化......
  • wsl中用qemu运行linux kernel ,ping github.com有问题
    我在qemu上运行我编译的linuxkernel,并尝试在上面用wget安装unixbench(宿主机是wsl)pinggithub.com会失败但是我的dns是可以将github.com解析成功的我尝试ping对应的ip地址,发现是可以的我的/etc的所有文件列在下面了,我现在不知道这究竟是什么原因(猜测可能是wsl的网......
  • JavaAPI高级编程.集合框架
    集合框架1.集合框架的概念(1)集合框架实际上就是一个动态数组,与一般的对象数组不同,集合对象的内容可以任意扩充。(2)集合框架中的特征A.这种框架是高性能的B.框架必需允许不同的类型的类集以相同的方式和高度互操作方式工作C.类集必须是任意扩展和修改的集合框架常用接口(表......
  • AI大模型系列之二:ChatGPT科普(深度好文)
     目录引言语言模型的发展历程ChatGPT是什么?预训练ChatGPT分几步?第一步:如何炼成ChatGPT?第二步:如何微调ChatGPT?第三步:如何强化ChatGPT?GPT背后的黑科技Transformer是什么?Transformer在计算机视觉上CV最佳作品?ChatGPT模型的基本原理引言开篇之前,先用战略......
  • 前端API自动化构建工具:讲述 FlyHttp 设计思想
    上篇文章:FlyHttp的诞生:从认识各种网络请求开始,本篇文章正式开始FlyHttp构建工具的设计,接下来让我们开始吧!讲述FlyHttp设计思想以Vue.js框架为例子,我们简单看一下,在进行项目开发中,使用axios在前端进行网络请求,我们需要进行哪些步骤?1.传统的开发流程1.1封装axios......
  • 开源低代码平台-Microi吾码-接口引擎实战:微信v3支付JSAPI下单
    Microi吾码-接口引擎实战:微信v3支付JSAPI下单简介预览图业务逻辑接口引擎代码Microi吾码-系列文档接口引擎实战-系列文档简介接口引擎与第三方平台对接无所不能,下一篇介绍对接微信支付回调(含签名验证)预览图业务逻辑参考微信支付官方文档:https://pay.weixin.qq......
  • 申请量化API接口的步骤有哪些?
    炒股自动化:申请官方API接口,散户也可以python炒股自动化(0),申请券商API接口python炒股自动化(1),量化交易接口区别Python炒股自动化(2):获取股票实时数据和历史数据Python炒股自动化(3):分析取回的实时数据和历史数据Python炒股自动化(4):通过接口向交易所发送订单Python炒股自动化(5):......
  • AI大模型系列之一:大模型原理科普(深度好文)
    AI大模型系列之一:大模型原理科普(深度好文)目录认识AI大模型家族AI是什么?机器学习是什么?机器学习有哪些分支?什么是强化学习?深度学习属于哪一类学习?生成式AI和深度学习是什么关系?大语言模型是什么?所有大语言模型都是生成式AI?大语言模型LLM(largelanguagemo......
  • 详解篇 | Air724UG低功耗模组LuatOS开发的HTTP手册!
    本次我们来学习的是低功耗4G模组Air724UG的LuatOS开发HTTP手册,我将详细解析分享给大家。一、HTTP概述此部分内容只是简单的对HTTP作一个介绍,更详细的说明或协议文档,请查阅相关网站或文档。1.1HTTP请求方法HTTP/1.1协议中共定义了八种方法来以不同方式操作指定的资源。a.G......
  • C# + html + fetch + API + javascript
    本随笔,在html利用fetch去callwebapi对数据进行添加,修改,更新和删除。数据库与存储过程,此处略过...创建entity,方便webapi进行互动。 现在可以写WebAPI,html实现添加数据, jsfile, 上面添加的数据,将以下面的数据列呈现,  Insus.NET只是在html静态写了数据的表......