基于Cortex-M轻量级神经网络的基云图识别
2021-03-24蔡东成张传深曹银杰
蔡东成,张传深,曹银杰
(聊城大学物理与信息工程学院,聊城252059)
大气系统中云的分布情况对于天气预报的准确性和气候检测起着举足轻重的作用。地基云图的识别对于大气监测和卫星遥感至关重要。针对传统地基云图识别准确率低、实时性差问题,提出一种基于Cortex-M的轻量级神经网络地基云图识别方法。首先,设计地基云图识别的轻量级神经网络模型,然后将训练好的模型移植到前端Cortex-M开发板上,采用开发板内嵌的CMSIS-NN网络函数库搭建相同的模型,同时采用CMSIS-NN库加快图像处理速度,对地基云图进行识别。实验结果表明,该方法的平均识别率达到98.6%,实时性为24ms,达到预期效果。为地基云图识别研究提供一种可选择方案。
Cortex-M;地基云图识别;轻量级;CMSIS-NN
0 引言
云在地球的能量守恒中扮演着重要角色,是全球气候变化的重要因素。因此,云的探测是气象观测的重要内容。准确地获取云的信息,对于天气预报、飞行保障、气候研究以及国民经济等诸多领域都有十分重要的意义。
传统的地基云图观测运用数字图像处理+模式识别技术。需要手动设计云的有效特征再进行人工目测识别,但云是千变万化的,很难通过人眼提取出最有效的特征。同时人工观测有很多缺陷,观测员必须十分熟悉复杂的观测规范并能熟练运用,其次观测结果会受人的生理、心理、视力和责任心等方面的影响,另外测报人员的流动性以及观测的连续性也会影响观测的准确性,有些站点的位置偏远,几乎与世隔绝,对于工作人员的居住环境也是一种挑战。十九大中提出,在2035年中国基本实现社会主义现代化,现代化国家的建设离不开人工智能。在此潮流下,依靠人工传统的地基云图观测方式亟需一种智能的替换方式。
近年来,深度学习的兴起带来了人工智能的新一轮浪潮。其中以卷积神经网络(Convolutional Neural Networks,CNN)的光芒最为耀眼。自2012年,AlexNet网络在ImageNet挑战赛以压倒性的胜利获得第一名后,CNN给计算机视觉带来了一场革命。2014年,GoogLeNet网络与人工目测进行比较,GoogLeNet更胜一筹,这意味着AI识别时代的来临。随着卷积神经网络面向更深、更广的发展,识别效果也是越来越接近0误差。但这种方式需要先采集海量数据然后传至服务器处理,造成服务器中心数据压力大,对于服务器要求很高且实时性也无法得以保障。
嵌入式+人工智能应运而生。2018年ARM公司推出ARM-NN,针对Cortex-M系列芯片推出CMSISNN库。为在微控制器上进行卷积神经网络提供了可能。2020年ARM公司推出Cortex-M55,一款支持AI处理的Cortex处理器,使得微控制器的性能硬件能力得以保障。嵌入式+人工智能设备具有低功耗、安全可靠、易于携带安装等优点,是未来IOT终端设备发展的必然趋势。
针对以上情况,提出一种基于Cortex-M轻量级神经网络的基云图识别方法。采用深度学习算法实现地基云图识别,使得准确率得以保证。同时将轻量级模型移植到微处理器,解决了服务器中心数据压力大与实时性差的问题。
1 轻量级地基云图识别网络模型设计
为了让模型更好地运行在嵌入式平台,需要设计一种轻量级模型,在保证精度的同时,尽可能减小资源的消耗。①对传统的神经网络进行优化,用深度可分离模块替代标准卷积,使得模型参数量减小,减小参数量意味着减小模型的大小,模型越小,占用的内存会更小,模型也会变得更轻。②对设计的模型采用模型剪枝与模型量化的技术,使得模型计算量减小。嵌入式平台的推理速度变快,在进行决策分析时,模型在处理地基云图速度更快,实时性得以保证,网络模型前向传播耗时减少。
1.1 深度可分离卷积(Depthwise Separable Convolution)
标准卷积结构(图1a)是将每一个输入数据的通道与特定卷积核实现卷积操作。并将各通道的卷积结果进行相加的过程。深度可分离卷积结构中(图1b),由两部分组成,深度卷积与点卷积。深度卷积是深度可分离卷积的滤波阶段,对输入数据的各通道进行深度卷积操作;点卷积是深度可分离卷积的组合阶段,整合多个特征图信息,串联输出。该网络结构能够极大程度降低模型参数量以及计算量,从而在检测精度没有明显变化的情况下,提高检测速率。
假设输入数据为F×F×N,卷积核为K×K×P,并且步长为1。
图1 标准卷积和深度可分离卷积
1.2 GAP(Global Average Pooling)
卷积神经网络在最后应用了全连接层和卷积层相连接,跨连接网络将低层次特征与高层次特征相结合,更加完整准确地表达了输入数据信息特征。但是这种连接方式会导致全连接层产生过多的参数,产生参数爆炸和过拟合现象,而且连接到全连接层的低层特征中有一部分是冗余无用的特征,不仅会影响网络的训练速度,还会影响识别的准确率。
针对全连接层参数多的问题,提出GAP(Global Average Pooling)代替全连接层的解决方案。
全局平均池化可以生成一个分类任务中相应类别的特征图,对每个特征图矩阵像素点求平均值,得到的结果向量直接输入到分类层。全局平均池化的一个优点是相比于全连接层在增强特征图与最终分类之间的对应关系使卷积结构保留地更好,很好地解释了特征图分类是可信的;另一个优点是全局平均池化层中没有参数设置,不像全连接层需要大量训练调优的参数,降低了空间参数,使模型更加健壮,提高网络模型的抗过拟合能力。全局平均池化可看做对模型的网络结构整体进行正则化计算降低模型的复杂度,提高模型的抗过拟合能力。如图2为全连接层和全局平均池化层的过程。
1.3 模型搭建
整体模块由三个深度可分离卷积层和一个全局平均池化层组成。第一个深度可分离卷积层后使用了批量归一化,可以防止过拟合现象的发生,之后使用了TanH激活函数,防止网络下采样时地基云图信息损失过多,后面的深度可分离卷积层采用ReLU激活函数,模型抗拟合能力提升。最后一层采用全局平均池化替换全连接层,对整幅地基云图图片进行正则化,在让模型稳定的同时大幅减少参数量,使得模型更小,结构如图3所示。
2 基于Cortex-M的地基云图识别设计
2.1 CMSIS-NN卷积神经网络库
图2 全连接层与全局平均池化层
CMSIS-NN库为嵌入式上实现深度学习提供了平台。基于CMSIS-NN内核的神经网络推理处理器运行时间、能耗都有显著降低。其由NNFUNction和NNSupportFunctions两部分组成,如图4所示。NNSup⁃port函数包括不同的实用函数;NNFunction包含卷积神经网络中常用的函数,其API操作简单,可以简单地重定构在PC上搭建的机器学习模型。因此为神经网络在嵌入式的移植提供了有力平台。
图3 模型流程图
图4 CMSIS-NN库的功能结构图
2.2 设计流程
第一步在PC上搭建设计的轻量型卷积网络模型对采集的地基云图数据集进行训练,并将训练好的权重矩阵进行8bit定点量化,使得模型的参数量进一步压缩。然后将量化后的.h文件移植到前端Cortex-M开发板程序中。
第二部利用前端Cortex-M芯片内嵌的CMSIS-NN卷积神经网络库搭建出PC上的训练模型。CMSIS-NN库对于深度可分离卷积模块支持程序较少,因此需要使用C语言对深度可分离模块进行底层代码优化。
第三部利用CMSIS-DSP库加快图像处理速度,进一步提升地基云图的识别的实时性。图5为系统整体功能结构图。
图5 整体功能结构图
3 实验结果分析
3.1 实验平台
实验基于Python语言TensorFlow、Keras深度学习框架。实验的硬件设备为Win10,显卡为Intel UHD Graphics 620,CPU为Intel Core i5-8256U,主频为1.60Hz。
3.2 实验数据
实验所采用的地基云图数据集来自《航空气象云图》、《中国云图》、国家气象局官网与相机拍摄,共计7264张图片,分为12个地基云图类别,分别为淡积云、碎积云、积雨云、层云、高积云、高层云、透光高积云、积云性高积云、毛卷云、伪卷云、卷机云、钩卷云。如图6为部分数据展示。
图像预处理工作:
(1)扩充数据集。对原有样本进行平移变换、旋转、对比度变化、错切变换等方法,将原有7264张样本数据集增大为21000张。
(2)归一标准化。将扩充后的样本统一放缩为64×64像素大小,同时减去它的均值并除以方差,最后再进行归一化处理。
(3)将获取的图像随机分为3个数据集,分别为训练数据集、测试数据集和验证数据集,具体划分见表1。
图6 部分地基云图样本示例
表1 数据集划分
3.3 实验分析
本文选择了AlexNet、VGG-16、MobileNet三种模型与设计的轻量型模型对比。AlexNet、VGG-16、Mo⁃bileNet都采用了开源的超参数设置。由表2看出VGG-16对于地基云图识别精最高,但其模型参数量太大,难以在嵌入式平台设备上进行部署。OUR为本文设计的轻量型卷积神经网络模型,在准确率相差不到0.3%的基础上,模型远远小于VGG-16。同时在精度上高过了MobileNet模型,综合性能最优。对于嵌入式平台算力没有那么高的要求,进而可以部署在嵌入式设备上进行实时的地基云图的识别。
图7所示为在Cortex-M开发板测试的地基云图识别效果,实时性达到了24ms,平均正确率为98.6%,与PC的准确率并无差别,但PC的FPS为64ms,基于Cortex-M的轻量级神经网络地基云图的识别明显优于PC的卷积网络识别。
表2 模型比较
图7 基Cortex-M开发板地基云图识别效果展示
4 结语
针对传统地基云图识别准确率不高、实时性差问题,提出基于Cortex-M的轻量级神经网络地基云图的识别方法。实验结果表明此识别方法准确率达到98.6%,实时性为24ms,达到预期效果。同时基于Cor⁃tex-M的识别方法不需要将地基云图信息上传至服务器从而可以缓解服务器中心的信息处理压力,而且此种方法不依赖于操作系统,在安全、稳定、可靠、功耗方面占优,在恶劣的环境中也可以进行部署。为卷积神经网络在嵌入式芯片研究提供了一种可选择方案。