数码之家

 找回密码
 立即注册

QQ登录

只需一步,快速开始

微信登录

微信扫一扫,快速登录

搜索
查看: 22|回复: 0

《DNESP32S3使用指南-IDF版_V1.6》第五十七章 乐鑫AI库简介

[复制链接]
发表于 昨天 09:26 | 显示全部楼层 |阅读模式
第五十七章 乐鑫AI库简介

乐鑫的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系统用于人脸识别,输出可能是识别出的人脸标签或身份信息。
下图是人脸检测处理过程。
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软件库,如下图所示。
57.2.1 ESP-WHO下载网页
上图中,Github下载”链接可引导读者进入远程仓库下载ESP-WHO源码库,方便获取相关代码资源。而右侧的“进入BBS”则提供了ESP-WHO中文讨论区的入口。对于在使用ESP-WHO过程中遇到的问题或疑问,读者可以在讨论区发帖寻求帮助。乐鑫官方或经验丰富的博主会定期查看并回复,帮助解决相关问题。
57.3 移植ESP-WHO源码库
在上文中,我们介绍了如何从远程仓库下载乐鑫ESP-WHO源码库。接下来,本文将重点介绍如何将该AI库移植到实际工程中。为了便于说明,我们将以摄像头例程作为移植模板。以下是详细的移植流程:
一、克隆ESP-WHO源码库
首先在本地找到一个合适的位置,利用git命令克隆GithubESP-WHO源码库,克隆命令如下:
57.3.1 克隆ESP-WHO源码库
克隆完成后,使用cd命令进入ESP-WHO源码库,命令如下:
57.3.2 进入ESP-WHO源码库
接着,在此目录下输入更新子模块命令,命令如下:
57.3.3 更新子模块
到了这里,我们已经把乐鑫AI库下载完成,下面作者来介绍这个源码库的子文件的描述,如下表所示:
文件夹
描述
components
存放LCD驱动、二维码解码库、AI解码库、通信总线驱动
default_bin
存放乐鑫开发板esp32-s3-eye和esp32-eye固件
docs
存放学习文档
examples
存放乐鑫提供的AI例程
img
存放图片,用来配置menuconfig菜单
tools
存放处理工具
57.3.1 AI库子文件夹描述
上表,我们需要的文件夹包括componentsexamples。其中,components文件夹中的文件用于移植到工程中,而examples文件夹中的案例则可以作为参考。
二、移植ESP-WHO到工程当中
首先,把esp-who-master\components路径下的esp-code-scanner、esp-dl、fb_gfx和modules文件夹复制到摄像头例程中的components文件夹目录下,如下图所示。
57.3.4 AI库移植到工程当中
然后,打开上图modules文件夹,并删除其他文件夹和文件,只保留ai文件夹、CMakeLists.txt和Kconfig文件。删除后的modules文件夹结构如下。
57.3.5 删除后的modules文件夹结构
接着,打开上图的ai文件夹,删除除了who_ai_utils.cpp/hpp文件之外的文件。删除后的ai文件架构如下:
57.3.6 删除后的ai文件架构
最后,修改CMakeLists.txt文件,因为刚刚我们已经删除了某些文件夹,所以这个CMakeLists.txt文件的内容也相应修改。修改后的内容如下:
set(src_dirs
                ai)
set(include_dirs
                ai)
set(requires    esp32-camera
                esp-dl
                fb_gfx)
idf_component_register(SRC_DIRS ${src_dirs}
INCLUDE_DIRS ${include_dirs} REQUIRES ${requires})
component_compile_options(-ffast-math -O3 -Wno-error=format=-Wno-format)
至此,我们已经完成了移植过程。以后的章节,我们将深入探讨如何实现人脸识别和人脸检测等相关应用。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册 微信登录

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

本版积分规则

APP|手机版|小黑屋|关于我们|联系我们|法律条款|技术知识分享平台

闽公网安备35020502000485号

闽ICP备2021002735号-2

GMT+8, 2025-10-26 00:28 , Processed in 0.390001 second(s), 10 queries , Gzip On, Redis On.

Powered by Discuz!

© 2006-2025 MyDigit.Net

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