OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 58|回复: 0

《ESP32-S3使用指南—IDF版 V1.6》第五十七章 乐鑫AI库简介

[复制链接]

1196

主题

1210

帖子

2

精华

超级版主

Rank: 8Rank: 8

积分
5157
金钱
5157
注册时间
2019-5-8
在线时间
1286 小时
发表于 7 小时前 | 显示全部楼层 |阅读模式
本帖最后由 正点原子运营 于 2025-11-22 14:34 编辑

第五十七章 乐鑫AI库简介

1)实验平台:正点原子DNESP32S3开发板

2)章节摘自【正点原子】ESP32-S3使用指南—IDF版 V1.6

3)购买链接:https://detail.tmall.com/item.htm?&id=768499342659

4)全套实验源码+手册+视频下载地址:http://www.openedv.com/docs/boards/esp32/ATK-DNESP32S3.html

5)正点原子官方B站:https://space.bilibili.com/394620890

6)正点原子DNESP32S3开发板技术交流群:132780729


2.jpg

3.png

乐鑫的ESP-WHO库是一个基于乐鑫芯片的图像处理开发平台,其中包括了实际应用中可能出现的开发示例,如人脸检测、人脸识别、猫脸检测和手势识别等。开发者可以根据这些示例衍生出丰富的实际应用。ESP-WHO库的运行基于ESP-IDF,而ESP-DL则为ESP-WHO库提供了丰富的深度学习相关接口,配合各种外设可以实现许多有趣的应用。
本章分为如下几个部分:
57.1 AI处理过程
57.2 乐鑫ESP-WHO库下载
57.3 移植ESP-WHO源码库


57.1 AI处理过程
在乐鑫的ESP-WHO库中,AI处理原理可能还包括其他的技术和方法,如特征提取、分类器设计、模型训练和优化等。这些技术结合在一起,使得ESP-WHO库能够提供高效、准确的人脸检测和识别功能。AI处理过程通常包括三个主要步骤:输入、处理和输出。
①:输入是AI系统的第一步,这一步就是把要处理的图像数据传输到AI库当中处理。
②:处理是AI系统的核心,它包括一系列的计算和推理过程。处理阶段利用各种算法和模型对输入数据进行处理,从中提取有意义的信息或模式。这一步骤可能涉及数据清洗、特征提取、分类、回归分析、聚类等多种数据处理技术。
③:输出是AI系统的最后一步,它根据处理结果得出结论或预测。例如,如果AI系统用于人脸识别,输出可能是识别出的人脸标签或身份信息。
下图是人脸检测处理过程。

第五十七章 乐鑫AI库简介626.png
图57.1.1 AI处理过程

上图中,我们完成了摄像头的图像数据获取后,将这些数据传递给AI处理库(ESP32-WHO)。该库利用卷积神经网络模型等算法对图像进行深入处理。经过处理,我们获得了AI库处理后的图像数据。

57.2 乐鑫ESP-WHO库下载
ESP-WHO 是乐鑫专为 AIoT 领域推出的软件开发框架,可帮助用户实现嵌入式领域的人脸检测与识别功能,可配合 ESP-EYE 开发板、ESP-WROVER-KIT(亚马逊 AWS 认证设备)及其他搭载 ESP32 芯片的开发板,结合各类摄像头、显示屏等硬件,形成完整应用。我们可在乐鑫官方网站下的方案/人脸检测(ESP-WHO)路径找到ESP-WHO软件库,如下图所示。

第五十七章 乐鑫AI库简介945.png
图57.2.1 ESP-WHO下载网页

上图中,“Github下载”链接可引导读者进入远程仓库下载ESP-WHO源码库,方便获取相关代码资源。而右侧的“进入BBS”则提供了ESP-WHO中文讨论区的入口。对于在使用ESP-WHO过程中遇到的问题或疑问,读者可以在讨论区发帖寻求帮助。乐鑫官方或经验丰富的博主会定期查看并回复,帮助解决相关问题。

57.3 移植ESP-WHO源码库
在上文中,我们介绍了如何从远程仓库下载乐鑫ESP-WHO源码库。接下来,本文将重点介绍如何将该AI库移植到实际工程中。为了便于说明,我们将以摄像头例程作为移植模板。以下是详细的移植流程:

一、克隆ESP-WHO源码库
首先在本地找到一个合适的位置,利用git命令克隆Github的ESP-WHO源码库,克隆命令如下:

第五十七章 乐鑫AI库简介1296.png
图57.3.1 克隆ESP-WHO源码库

克隆完成后,使用cd命令进入ESP-WHO源码库,命令如下:

第五十七章 乐鑫AI库简介1350.png
图57.3.2 进入ESP-WHO源码库

接着,在此目录下输入更新子模块命令,命令如下:

第五十七章 乐鑫AI库简介1397.png
图57.3.3 更新子模块

到了这里,我们已经把乐鑫AI库下载完成,下面作者来介绍这个源码库的子文件的描述,如下表所示:

1.png
表57.3.1 AI库子文件夹描述

上表,我们需要的文件夹包括components和examples。其中,components文件夹中的文件用于移植到工程中,而examples文件夹中的案例则可以作为参考。

二、移植ESP-WHO到工程当中
首先,把esp-who-master\components路径下的esp-code-scanner、esp-dl、fb_gfx和modules文件夹复制到摄像头例程中的components文件夹目录下,如下图所示。


第五十七章 乐鑫AI库简介1859.png
图57.3.4 AI库移植到工程当中

然后,打开上图modules文件夹,并删除其他文件夹和文件,只保留ai文件夹、CMakeLists.txt和Kconfig文件。删除后的modules文件夹结构如下。

第五十七章 乐鑫AI库简介1964.png
图57.3.5 删除后的modules文件夹结构

接着,打开上图的ai文件夹,删除除了who_ai_utils.cpp/hpp文件之外的文件。删除后的ai文件架构如下:

第五十七章 乐鑫AI库简介2051.png
图57.3.6 删除后的ai文件架构

最后,修改CMakeLists.txt文件,因为刚刚我们已经删除了某些文件夹,所以这个CMakeLists.txt文件的内容也相应修改。修改后的内容如下:
  1. set(src_dirs
  2.                 ai)

  3. set(include_dirs
  4.                 ai)

  5. set(requires    esp32-camera
  6.                 esp-dl
  7.                 fb_gfx)

  8. idf_component_register(SRC_DIRS ${src_dirs}
  9. INCLUDE_DIRS ${include_dirs} REQUIRES ${requires})

  10. component_compile_options(-ffast-math -O3 -Wno-error=format=-Wno-format)
复制代码
至此,我们已经完成了移植过程。以后的章节,我们将深入探讨如何实现人脸识别和人脸检测等相关应用。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


关闭

原子哥极力推荐上一条 /1 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-11-22 22:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表