当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]本教程将主要使用AI Tool Stack与NeoEyes NE301相结合来完成从模型数据收集到部署的过程。AI Tool Stack是CamThink为NeoEyes NE301打造的端到端边缘AI工具,涵盖数据收集、标注、训练、量化和部署。它支持用户自部署和管理。对AI Tool Stack的训练和量化的底层支持来自于ultralytics项目库。感谢ultralytics团队的出色贡献。

使用AI工具栈训练和部署AI模型

主要工具及产品

本教程将主要使用AI Tool Stack与NeoEyes NE301相结合来完成从模型数据收集到部署的过程。AI Tool Stack是CamThink为NeoEyes NE301打造的端到端边缘AI工具,涵盖数据收集、标注、训练、量化和部署。它支持用户自部署和管理。对AI Tool Stack的训练和量化的底层支持来自于ultralytics项目库。感谢ultralytics团队的出色贡献。

AI工具栈

AI Tool Stack提供以下核心功能模块:

•AI模型项目:项目创建和数据管理

•注释工作台:数据注释工具

•模型培训:模型培训和测试

•量化部署:模型量化,一键导出NE301模型包

•模型管理:简单的模型管理和测试AI工具栈是完全开源的,托管在GitHub上。你可以在这里找到代码库:AI Tool Stack

NeoEyes NE301

CamThink AI Camera NeoEyes NE301支持AI模型的动态部署。因此,在本教程中训练的模型可以导出为NE301可用的资源包,用于设备web上的模型更新,从而实现模型的边缘部署,并允许NeoEyes NE301拥有我们训练模型的检测能力,以进行持续的边缘AI操作。单击,查看NE301的硬件相关特性

服务器或个人电脑

AI Tool Stack是开源的,如果你需要训练模型,你将需要一台功能强大的个人电脑或服务器,最好是带有NVIDIA GPU或Mac的m系列芯片。即使我们不会使用非常大的数据集来训练模型,为了保证效率,最好选择一个性能合适的设备来完成这项工作,或者使用GPU服务器进行部署。

网络拓扑结构

请确保NE301与部署AI Tool Stack的服务器或PC在同一网络中,例如连接到同一台路由器,或者服务器的IP地址和域名是开放的

为了实现NE301摄像机与AI Tool Stack应用程序之间的连接,由于AI Tool Stack具有内置的MQTT服务,我们将通过NE301的内置MQTT功能与AI Tool Stack的MQTT服务连接,以实现NE301数据收集上传。将来还会支持远程模型更新。因此,在启动前,需要确保NE301能够访问AI Tool Stack服务,并且AI Tool Stack服务中的MQTT服务必须能够对外访问。网络拓扑结构如下:

安装说明

先决条件

Docker & Docker -compose:请参考Docker官方安装指南和Docker -compose安装文档进行安装。确保部署AI Tool Stack的服务器或计算机具有基本的Docker环境。AI工具栈安装

1. 克隆存储库

2. 使用Docker部署

注意:要修改MQTT_BROKER_HOST等参数,请编辑docker- composition .yml中的环境变量。确保MQTT服务地址可以被NE301设备访问,通常使用主机的实际可访问IP地址,而不是localhost。

安装NE301开发环境

为了生成NE301可用的量化模型包,AI Tool Stack必须引用NE301项目编译环境。请提前拉图:

安装验证

AI工具栈安装验证

安装完成后,可通过以下方式验证AI Tool Stack服务是否启动成功:

检查服务状态

使用下面的命令确保您可以看到camthink/aitoolstack:latest等服务正在运行。

NE301开发环境安装验证

检查服务状态

使用下面的命令确保您可以看到与camthink/ne301-dev:latest相关的服务正在运行。

您的需求

在开始工作之前,您可以首先评估当前是否有一个可用的模型。如果您正在考虑将现有模型部署到NE301,您可以跳转到此位置阅读“将现有模型部署到NE301”。

如果您还没有训练过任何模型,并且想从头开始完成模型训练和模型部署,请从这里开始阅读“从训练到部署”。

完整工作流程指南

创建项目

进入Web页面后,点击“开始创建项目”按钮或“AI模型项目”菜单,进入项目管理页面。根据您的需要构建一个项目来注释数据和训练模型。进入AI Model Projects页面后,点击“Create New AI Model Project”按钮创建项目。输入您的项目名称和项目描述,单击save以创建项目。项目创建成功后,单击该卡进入项目工作台。

构建数据集

单击项目以进入项目工作台。工作台分为左侧工具、底部快捷键提示和右侧类管理、带注释的数据列表和数据集图像管理。

上传/导入数据集

目前支持以下方法来构建项目的图像数据集:

a.通过右侧的“上传图片”,上传本地文件

b.您可以通过右上角的“导入数据集”上传数据集文件,支持COCO数据集和YOLO数据集格式。如果需要详细了解支持的数据集格式,可以通过“导出数据集”导出文件,查看数据结构。该工具以以下格式注释源数据:

│├──图片/├──注释/│├──*。json└──类。Json # id/name/color

让NE301采集图像

您需要有一台NE301设备,并按照以下顺序在设备中进行配置。NE301操作指南请参考《快速入门》

a.将NE301上电,长按拍照键2s开启设备WiFi AP。使用个人电脑或手机连接到NE301的WiFi AP,通过192.168.10.10进入NE301的Web UI界面。进入“系统设置”页面,在“通讯”菜单中选择当前设备可以连接的路由器WiFi AP。确保NE301设备可以通过该WiFi正常访问已部署的AI Tool Stack服务,例如路由器可以访问外部网络,也可以通过IP连接本地部署的AI Tool Stack服务。

b.配置NE301的MQTT服务,使NE301能够通过MQTT向AI Tool Stack项目报告当前采集的图像数据。进入NE301的“应用管理”菜单,输入数据报告主题和服务器地址信息,连接AI Tool Stack内置的MQTT服务。AI Tool Stack可以在项目工作台顶部的MQTT中获得,如下图所示。确认信息无误后,点击“连接”,将NE301连接到AI Tool Stack指定的模型训练项目。

c.现在只需要手动操作NE301侧面的拍摄按钮即可进行拍摄。捕获后,图像将自动上传到项目空间。您可以手动按住NE301采集网络范围内的数据,也可以固定NE301采集数据。收集图像后,可以继续对图像进行下一步的注释工作。

数据注释

目前,NE301主要适用于目标检测模型。我们建议首先使用目标检测数据集构建数据集。在开始注释数据之前,需要在右侧的类输入框中添加所需的注释类文本,为该类选择注释框的颜色,然后单击save以创建注释类。注释快捷键与传统注释工具相同。有关详细信息,请参考注释工作台中的快捷键提示。点击底部的“快捷方式”展开说明。其他功能如删除类、删除注释数据、删除图像、更改函数等,可根据界面说明进行操作。

模型训练

完成所有数据标注后,点击“训练模型”开始训练模型。进入训练界面后,需要为当前项目数据集构建新的训练任务。点击“新增培训”,配置培训信息。如果您不完全理解训练参数,我们建议您直接使用默认配置设置。高级参数无需调整;它们都将使用默认值运行。点击“Start Training”,开始培训任务。任务启动后,查看训练过程日志,等待训练完成。

完成模型训练后,可以在训练详情中查看日志,也可以查看训练模型的准确率性能。您还可以操作以下功能。所有的模型文件都可以在model Space的列表中找到:

•导出模型:可以将训练过的pt模型导出到本地文件夹

•测试模型:可以上传图像,测试当前训练模型的整体检测效果,评估训练结果

•量化(TFLite & CamThink NE301):可以量化到TFLite模型和NE301可用的模型文件包。如果需要部署到NE301设备,则需要执行此步骤

模型量化

如果需要将模型部署到NE301设备上,则需要执行此操作。量化需要NE301开发环境Docker。请确保您已安装“NE301 Dev Docker”。

测试完模型效果后,就可以开始量化工作,准备将量化后的模型部署到NE301上。

模型训练完成后,可以点击“量化(TFLite & CamThink NE301)”来构建模型量化任务。在任务弹出框中,您可以设置一些量化参数。除了输入大小参数外,我们不建议对其他参数进行任何更改。对于输入大小参数设置,建议设置256、416或640中的一个。该参数表示量化模型支持的图像输入大小。如果不想调整,请使用默认值。建议设置为256。如果您想要更好的精度性能,请设置416。推理性能在640时很紧张,所以要小心设置。点击“开始量化”,模型将开始量化过程。你只需要等待量化完成。这个过程需要很长时间的等待。请不要关闭任务窗口。大约需要5-10分钟。模型量化完成后,可以看到量化后的NE301模型资源包。点击“下载模型包”来下载它(或者在关闭下载后在Model Space菜单中找到这个资源)。下一步是在本地将型号更新到NE301设备。

模型部署

现在我们已经训练了模型并导出了NE301设备可部署模型资源文件。现在我们可以将模型部署到NE301设备中。目前,模型部署仍然需要进入NE301设备的web界面上传和更新设备模型文件。AI Tool Stack将在未来支持远程模型更新。下面将解释如何在NE301上更新训练好的模型文件。

使用下载模型的手机或电脑连接NE301的WiFi,进入NE301 Web UI页面,在当前模型中点击“上传”,选择下载的NE301模型文件进行模型更新。等待型号更新后,测试设备型号检测效果。您可以通过NE301管理页面上进行的“模型验证”功能进行测试,也可以直接在NE301中预览目标类检测效果。您可以调整Conf和NMS来验证效果。

部署现有模型

如果你已经有了一个经过训练的YOLOv8模型,而它恰好是一个YOLOv8n模型——为什么是YOLOv8n?因为在NE301部署中,模型性能和n大小下的性能比较合适。未来还将支持YOLOv11等型号。如果您需要在NE301中部署现有模型,您可以在AI Tool Stack的“模型空间”菜单中找到“上传模型用于量化”按钮。点击并填写表格中的信息:

•模型名称:定义一个名称

•型号类型:默认YOLOv8n

•输入大小:默认为640,可根据模型的输入图像大小进行调整

•类数:根据您的模型的检测类数调整

•类名:填写你的模型类型点击“上传”上传你的模型。在列表中找到您上传的模型。您可以单击test来测试该模型的性能。

在模型验证完成后,我们开始对模型进行量化,使模型量化为ne301可部署的模型资源。点击列表中的量化按钮,在弹出框中填写输入尺寸(256、416、640),点击“开始量化”按钮,等待量化工作完成。这个过程需要很长时间,请耐心等待。模型量化完成后,ne301可用模型资源将出现在列表中。您可以下载该文件并部署到NE301设备上。有关模型部署的详细信息,请参见模型部署。

模型量化部署结果的培训概述

下面是我们使用MQTT从NE301设备收集31张图片推送到项目,完成标注的过程。本型号为识别镊子和螺丝刀的检测型号。下面是部署到NE301上经过训练和量化后的检测效果。整个过程花了不到两个小时。

本文编译自hackster.io

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

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭