概述
随着边缘计算和深度学习领域的不断发展,端侧AI设备在我们的生活中变得越来越普遍。本次提出的方案聚焦于边缘计算与深度学习场景,设计了一款适用于无人值守仓储、居民社区或危险禁入区域的智能监控方案。该方案具备成本低、功耗低等优势。以人体检测为例,系统能够智能识别长时间徘徊于某区域的行人,并将异常现象及时上报云端,从而实现边缘AI、TencentOS Tiny以及腾讯云的完美结合。
系统创新点
- 本系统采用TencentOS Tiny这一物联网实时操作系统,实现片上资源的智能化管理。TencentOS Tiny能灵活高效地管理系统资源,支持多任务并发执行,并与腾讯云无缝对接,为端云结合提供了更多可能性。
- 系统集成了TensorFlow Lite Micro超低功耗AI推理框架和Arm CMSIS-NN加速库。TensorFlow Lite Micro是TensorFlow针对微控制器设计的AI推理框架,资源占用少,最低运行时内存仅需16KB。结合TensorFlow强大的技术生态,开发者可轻松集成和使用AI算法。通过CMSIS-NN加速库,端侧AI应用得以焕发新的活力。
- TensorFlow Lite Micro及CMSIS-NN组件已合并至TencentOS Tiny的GitHub仓库,提供了源码和针对Arm Cortex-M系列的MDK lib库文件,便于开发者集成到MCU开发环境中。
- 本系统将边缘AI与TencentOS Tiny结合,提出新的端云系统架构,适用于区域安防管理。通过系统验证和详细的用户移植文档,确保系统在不同领域和场景下的可迁移性和易用性。
系统拓扑结构图与内部结构图
系统Demo展示
设备检测的正确率与模型设计和模型训练密切相关。采用TensorFlow Lite Micro官方GitHub中的Person Detection模型开发的行人检测例程,其检测正确率达到84%。端侧检测到行人后,MCU将相关数据上传至云端,云端根据信息唤醒其他高性能设备,获取更详实的数据。
与传统的社区安全管理方法相比,这种基于TencentOS Tiny和CMSIS-NN的端云协同智能安防系统仅在检测到行人后触发事件,减轻了管理员的工作负担,同时节省系统带宽,降低成本,是一种综合能力较强的解决方案。
系统移植概述
相关代码和文档已开源至官方主仓库,开发者可按指南进行移植和应用:
- 准备目标硬件(开发板、传感器、模组):开发板为NUCLEO-L496ZG,MCU为STM32L496ZG;摄像头获取RGB图像;通信模组选用乐鑫ESP8266。
- 准备系统软件:参考TencentOS Tiny基于Keil的移植教程进行移植。为了初始化MCU外设,需使用STM32CubeMX软件。移植完成后,工程可进行线程任务切换,通过串口打印“hello world”,表明基础Keil工程代码准备完毕。准备TensorFlow Lite Micro组件,基于Keil的移植教程请见官方文档。
- 系统移植流程:首先移植驱动代码,添加摄像头驱动代码和LCD显示程序;然后接入TensorFlow Lite Micro的模型和数据;最后调整优化等级和指定调试信息输出串口。至此,TensorFlow Lite Micro已成功移植到MCU平台,可开始设计与行人检测有关的应用层代码。
腾讯物联网开发平台 – 腾讯连连小程序开发
为了方便用户实时查看端侧上传的信息(如异常报警、人流量计数等)并控制设备端发出报警提示,我们利用腾讯云IoT Explorer开发平台开发腾讯连连小程序。开发过程包括新建产品、定义数据模板、编辑小程序面板和设备调试等步骤。
结语
我们提出了一种基于边缘AI+TencentOS Tiny的新架构,通过整体方案的验证和详细的用户移植文档,使工作具备可迁移性和扩展性。未来我们将继续完善TensorFlow Lite Micro组件并不断更新应用,致力于丰富TencentOS Tiny以及Arm生态。随着更多厂商采用Arm Cortex-M55和Ethos-U NPU IP方案,端侧AI应用前景广阔。
致谢
感谢TencentOS Tiny及TensorFlow开源社区团队的大力支持,同时感谢个人开发者邓可笈、杨庆生和刘恒言的贡献。