【搬运】使用图像库训练M5StickV识别面部表情-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 2364|回复: 1

【搬运】使用图像库训练M5StickV识别面部表情

[复制链接]
发表于 2019-12-2 19:22 | 显示全部楼层 |阅读模式
   译文:该项目以实用的方式展示了如何使用设备M5StickV作为开发系统执行情感分类。为了进行这种分类,必须有一个数据库,其中将情感按代表不同情感的类进行划分。使用KDEF数据库(http://kdef.se/)进行了训练,该数据库共有4,900张人类面部表情图像。这组图像包含70个个体,分别显示7种不同的情感表达。在开始训练阶段之前,有必要进行预处理阶段,在此阶段中将图像调整大小。这是必需的,因为在使用Mobilenet网络体系结构时,必须将每个图像的大小调整为224x224。
Windows 10被用作执行培训阶段的操作系统,该阶段可能要延迟3到4个小时(具体取决于计算机的特性)。在训练中完成后,系统会控制模型* .h5,一旦拥有此模型,就必须将其转换为tensorflow lite * .tflite的格式。这是使用命令完成的:
[mw_shl_code=c,true]tflite_convert --keras_model_file " + keras_model_path + " --output_file " + tflite_path[/mw_shl_code]
已经有了我们的* .tflite模型,下面将其转换为* .kmodel。这是必要的,因为M5StickV的KPIU仅接受具有此扩展名的模型。这是使用ncc(https://github.com/kendryte/nncase/releases/tag/v0.2.0-alpha2)完成的。
[mw_shl_code=c,true]ncc.exe -i tflite -o k210model --dataset " + path_all_dataset + " " + tflite_path + " " + kmodel_path
[/mw_shl_code]
在此步骤中,将数据集的所有图像都放在一个称为数据集的文件夹中非常重要。在这一点上,我们必须有这样的东西:模型结构

modelos_oU2fqNI2fk.jpeg

一旦拥有* .kmodel格式的模型,就可以通过两种方式访问​​模型。在我的情况下,第一个使用SD内存的我的M5StatickV不再读取它,这可以通过以下方式完成:
[mw_shl_code=c,true]task = kpu.load("/sd/model.kmodel")[/mw_shl_code]
或者,我们可以使用应用程序Kflash_gui并将模型下载到地址0x300000,如下图所示。
sin_titulo1_FZYfPY5Hv8.jpeg

现在我们只需要Micropython程序,这是使用开发环境maixpyide_2.3完成的。以下是将我们的情感分类代码转换为boot.py的代码




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

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-12-27 16:58 , Processed in 0.106390 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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