当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]本教程将指导您在树莓派AI相机上创建和运行自定义对象检测AI模型。它是为初学者设计的,可以一步一步地跟随。

本教程将指导您在树莓派AI相机上创建和运行自定义对象检测AI模型。它是为初学者设计的,可以一步一步地跟随。

在树莓派AI相机上运行自定义AI模型涉及几个技术步骤,包括准备训练代码和优化相机硬件的预训练模型。这个过程一开始会让人觉得难以承受。

为了简化树莓派AI相机的AI模型开发,我们专门为开发人员创建了示例代码。使用此示例,您将能够直接在AI相机上训练和部署自己的对象检测模型。

在本教程中,我们将使用一个公开可用的几何形状(圆形、三角形和正方形)数据集来演示从训练到部署的完整工作流。

本文概述

•使用提供的示例代码构建自己的对象检测AI模型

•使用Docker或传统的本地设置设置培训环境

•生成优化的模型文件,并部署到您的树莓派AI相机

系统需求

部署

•树莓派(与AI相机兼容的任何型号)

•树莓派AI相机

用于模型训练

•带有NVIDIA GPU的计算机(强烈推荐用于高效训练)

•Ubuntu 22.04(或兼容的Linux发行版)

•Python 3.10

注意:虽然GPU显著加快训练速度,但你可以在CPU上训练,但可能需要更长的时间。

本地环境建设

请注意:本节介绍在您的机器上本地设置培训环境。如果您更喜欢使用Docker,请查看存储库的README中的Docker部分。

1. 克隆存储库

2. 设置

安装必要的软件包。

3. 创建并激活Python 3.10虚拟环境

本教程假设使用Python 3.10,所以首先,让我们确认已经安装了3.10。

注意:由于所需库的版本依赖关系,请确保使用Python 3.10。

如果显示如下,则表示安装了Python 3.10:

如果你还没有安装Python 3.10,你可以按照以下步骤安装,例如:

接下来,创建一个虚拟环境。

4. 安装软件包

5. 确认安装成功

步骤1:训练模型

示例提供了以下7个配置文件。

ini文件的角色

为了保持条理,我们将所有重要的设置(训练、量化和评估)存储在一个方便的.ini文件中。

其特点是,您可以灵活地调整训练条件,只需更改设置,而无需直接重写Python代码。您可以选择数据集和任务,并调整参数。

创建对象检测AI模型

在本节中,我们将使用几何形状的数据集构建一个对象检测模型:圆形、三角形和正方形。

移动到存储ini文件的samples文件夹,运行以下命令读取ini文件并开始训练。

下面的命令将根据指定的.ini文件对模型进行训练和量化。

训练将开始,如图所示。

训练和模型量化完成后,度量将显示如下。mAP为0.84,AP@50为0.99,说明培训成功。

这会生成以下模型文件:

步骤2:对训练好的模型进行量化和转换

将量化模型转换并打包成与树莓派AI相机兼容的格式。

注意:继续在venv环境中工作,使用与用于训练的相同的TensorFlow版本进行量化。版本不匹配导致错误。

本教程解释了转换的过程。Keras to network。rpk,我们可以上传到IMX500。

1. 安装Edge-MDT(模型开发工具包),包括量化、压缩和转换AI模型所需的工具:

2. 执行如下命令:

步骤3:AI相机包装

注意:⭐️从这里开始,操作将在Raspberry Pi⭐️上进行

将转换后的文件夹移动到树莓派。在本教程中,文件夹名称为convert_result。

1. 安装必要的工具:

注意:执行该步骤前,请确保convert_result/packerOut.zip文件存在。

2. 将模型打包到一个RPK文件中:

步骤4:在树莓派上部署

1. 在树莓派上安装必要的库:

2. 克隆picamera2 Python库:

3. 创建用于对象检测的类文件。创建custom_label.txt,写入如下内容:

4. 现在让我们在AI相机上运行我们的自定义模型

选择网络。您创建的RPK模型,并选择上面创建的custom_label.txt文件:

结果

目标检测模型工作!在下面的图片中,你可以看到模型正确地识别了我们数据集中的每个几何形状。圆圈、正方形和三角形都用它们各自的标签进行检测。

用你自己的数据集进行训练

准备好使用自己的数据集了吗?以下是需要改变的地方:

1. 更新.ini配置文件:

•[DATASET] NAME = YourDatasetName

•[MODEL] CLASS_NUM =类的个数

•[TRAINER] CONFIG =你的YAML配置文件

2. 编辑custom_label.txt:

用您自己的类标签替换形状名称(每行一个)。

常见错误及解决方法

下面是您可能遇到的典型错误的修复程序。如果您遇到任何其他错误,请在下面的错误消息中添加注释。

•在模型转换期间发生错误

•原因:sdsp.app.AppKt使用Java 17(类文件版本61.0)编译。

•解决方案:您需要将Java版本更新到Java 17或更高版本。

当错误发生时,如果您检查Java版本,您可能会发现正在使用低于17的版本。

在这种情况下,您需要更新如下:

结论

完成本教程非常棒!您现在已经具备了为树莓派AI相机创建自定义对象检测模型的技能。

将这些技巧应用到你自己的项目中:

•自定义对象检测您的特定需求

•机器人或物联网中的边缘人工智能应用

•实时视觉系统

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

Ceva-Waves 连接 IP 助力瑞萨电子为下一代物联网系统,提供灵活、节能的无线解决方案

关键字: MCU 物联网 智能家居

在数字经济高速发展的今天,现代零售企业正面临着前所未有的效率挑战与运营复杂性。一方面,消费需求日益多元化、个性化,消费者不仅追求商品的品质与性价比,更看重购物过程的便捷性、透明性与互动体验,从价格查询、库存确认到产品信息...

关键字: 智慧零售 数字经济 物联网

【2026年2月10日, 德国慕尼黑讯】氮化镓(GaN)电源解决方案的普及正推动功率电子行业迎来一场重大变革。全球功率系统和物联网领域的半导体领导者英飞凌科技股份公司(FSE代码:IFX / OTCQX代码:IFNNY)...

关键字: 功率半导体 氮化镓 物联网

在物联网设备固件升级过程中,未授权修改或恶意代码注入可能导致设备失控、数据泄露等严重后果。通过RSA-2048签名验证结合硬件安全模块(HSM)的防篡改设计,可在STM32H7系列MCU上实现99.997%的攻击拦截率。...

关键字: 固件升级 签名验证 物联网

在物联网与工业4.0深度融合的今天,嵌入式系统已成为能源管理、智能制造等关键领域的基础设施。然而,资源受限与网络暴露的双重特性,使其成为攻击者觊觎的“数字靶心”。通过内核配置裁剪与编译优化协同加固,可构建“攻防一体”的安...

关键字: 嵌入式系统 内核配置 物联网

在嵌入式物联网领域,低功耗广域网(LPWAN)技术已成为连接海量边缘设备的核心。LoRaWAN凭借其超低功耗、远距离通信和抗干扰能力,在智能农业、工业监测等场景中展现出独特优势。本文从硬件选型、参数配置和网络架构三个维度...

关键字: LoRaWAN 物联网 低功耗广域网

广州2026年2月2日 /美通社/ -- 近日,由工业和信息化部电子第五研究所(中国赛宝实验室)主办的2025年度能力验证总结暨优秀实验室表彰大会圆满落幕。TÜV南...

关键字: 软件 物联网 测试 网络安全

2026年2月3日 – 专注于引入新品的全球电子元器件和工业自动化产品授权代理商贸泽电子 (Mouser Electronics) 宣布2025年新增63家供应商,产品代理阵容持续扩大,为广大电子设计工程师与采购人员提供...

关键字: 机器人 传感器 物联网

在物联网设备开发中,ESP8266/ESP32等Wi-Fi模块的AT指令集因其简单易用成为主流方案。然而,传统逐行解析方式存在代码冗余、容错性差等问题。本文介绍一种基于状态机的轻量级ESP-AT命令解析库,在保持低资源占...

关键字: 物联网 ESP-AT 嵌入式Wi-Fi

在物联网设备智能化浪潮中,嵌入式系统对本地数据持久化的需求日益迫切。以ESP32为代表的低功耗MCU(内存仅520KB SRAM)在运行传统数据库时面临内存耗尽的风险,而SQLite凭借其独特的轻量化架构,成为资源受限场...

关键字: SQLite 物联网
关闭