Zephyr和TensorFlow Lite中的I2S语音识别是什么

Zephyr和TensorFlow Lite中的I2S语音识别是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

机器学习主要仍然在云中完成,这在很多情况下可能会导致不必要的延迟、过度的功耗和对无线连接可用性的依赖。由于在微控制器和FPGA(Antmicro目前大力参与的领域)上的机器学习领域的最新发展,小型设备变得足够强大,可以在本地执行机器学习任务,如图像或声音识别。

机器学习和FPGA

Zephyr和TensorFlow Lite中的I2S语音识别是什么

我们在机器学习方面的经验,包括创建复杂的人工智能算法、构建ML/AI加速器、设计专用驱动程序,以及提供简化ML开发的工具。虽然我们的许多人工智能工作是在高端平台,如NVIDIA Xavier NX、谷歌Coral或Xilinx UltraScale+,但越来越多的客户也在考虑在更小的设备上实现ML。

在最近与谷歌的一次合作中,我们启用了在基于软SoC生成框架LiteX的FPGA平台上,运行他们的TensorFlow Lite机器学习框架。该项目首次将TF Lite引入了FPGA,这意味着一组全新的嵌入式和物联网设备,现在可以从谷歌框架的功能中获益,因为开发人员可以在这些设备上,部署用于手势和语音识别、关键字检测等的ML模型。它也为使用FPGA中的专用硬件加速器进一步优化ML应用,打开了大门。在TF Lite博客上的一篇文章中,我们描述了这项工作,并演示了在开源模拟器Renode中运行和测试ML框架。重要的是,作为这项工作的一部分,我们将TF Lite Micro与Zephyr实时操作系统集成在一起。随着谷歌和Facebook成为白金会员,该RTOS正在经历一个前所未有的增长时期。与Zephyr的集成使得可以相对快速地添加新的平台和应用程序,如本文所示。

设置和架构概述

这一发展使得在运行基于LiteX的软SoC的系统中执行语音识别成为可能。

Zephyr和TensorFlow Lite中的I2S语音识别是什么

作为例子使用的设置包括一个来自Digilent的Arty A7板和Pmod I2S2。

在演示中(说明可在GitHub上找到),Pmod上的ADC(模数转换器)芯片收集模拟信号,对其进行采样,将其转换为数字信号,然后通过I²S发送至FPGA,我们扩展的基于LiteX的IP内核将其以PCM格式接收。然后,Zephyr驱动程序实时从FIFO缓冲区读取数据,并将其提供给执行语音识别的TF Lite应用程序。

LiteX通过Zephyr得到声音

要实现上面描述的结果,首先我们必须扩展LiteX中的I²S接口支持,以便将其配置为master,这使得接口不仅可以播放声音,而且可以捕获声音。下一步,我们开发了一个Zephyr驱动程序,它使I²S能够与Pmod通信,并允许CPU处理接收到的数据。我们还在TF Lite语音识别演示中编写了一个软件接口,用于从Zephyr驱动程序中提取声音并将其传递给神经网络。

Zephyr和TensorFlow Lite中的I2S语音识别是什么

最初的基于LiteX的FPGA IP核心只支持每样本24位的立体声数据,因此,作为最后的工作,我们将其扩展为语音识别演示所需的格式,例如mono 16位。神经网络能够识别单词“yes”和“no”,这是演示的重点,并验证了我们的FPGA/软件设计。

看完上述内容,你们掌握Zephyr和TensorFlow Lite中的I2S语音识别是什么的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

原创文章,作者:Maggie-Hunter,如若转载,请注明出处:https://blog.ytso.com/tech/opensource/225769.html

(0)
上一篇 2022年1月8日 05:03
下一篇 2022年1月8日 05:03

相关推荐

发表回复

登录后才能评论