×

开源硬件之孩子们的拼写挑战

消耗积分:0 | 格式:zip | 大小:0.00 MB | 2023-06-27

麻酱

分享资料个

描述

我五岁的孩子刚刚开始学习拼写,用字母组成单词并读出单词。

以下是我如何进行此操作的总体摘要:

1. 找到一个经过训练的模型,该模型可以识别类似于数字数字的 mnist 模型的书面英文字母。

2. 我找不到那个模型(D'oh!),所以我必须建立自己的模型。破解 Colab!

3. 下载Kaggle AZ 数据集,这样我至少有一个数据集可以开始。

4. 开发、训练模型并将其保存为 Tensorflow Lite 模型(参见 github 中的 Jupiter notebook)。我也量化了模型,但 tflite 模型已经足够小了。

5. 开始在我的 Jetson Nano 开发套件(带有 RPi 摄像头和音频帽)上编码。

6. 大量的试错测试!

请查看我的github以获取完整的源代码。这很有趣,因为我通常在预训练模型上进行迁移学习。这是我第一次使用 Colab 从头开始​​生成新模型。

我花在编码上的时间是一个很好的练习,可以确保输入数据与模型数据具有相同的维度(和相同的格式)。

我最初的模型运行并不令人印象深刻。事实证明,这是因为模型数据假定黑色背景和白色文本,而我在白色背景上传递深色文本。在将图像传递给模型之前,我必须反转图像的颜色。还要确保你正在缩放!

我通过过滤输入图像的像素值进一步提高了模型的性能。如果像素值小于某个强度(我选择了 160),那么这意味着它可能是背景,而不是字母的一部分。我将该值设置为 0(黑色),在字母和背景之间提供了很好的对比。

pYYBAGNggDWAeYKGAAAB5JS88po677.jpg
我的原始输入图像格式,黑色字体和较浅的背景(糟糕!!!)
 
pYYBAGNggDeAJvpMAAACeZb0j7w725.png
输入图像颜色反转,背景变为黑色(好!)
 

下一步

所以现在我的工作很好,我想扩展数据集以包含更多的对象/动物让我的孩子拼出。我也想让它更便携。现在我的 Jetson Nano 通过 HDMI 连接到我的显示器。我要么得到一个小型 HDMI 显示器,要么将它移植回我的 Raspberry Pi 4(我开始使用 RPi,但转移到了 Jetson Nano)并可能使用我拥有的 Adafruit 机器学习 HAT(附带一个小显示器)。另外,你可以看到我不是 UI/UX 人。我拼凑一些东西让它工作。如果您对如何在 OpenCV 中创建漂亮的 UI 有任何建议,请告诉我!

如果您有任何想法或问题,请随时与我们联系!谢谢!


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !