基于Nanodet-Plus 的智能抄表系统研究与设计

2023-11-21 14:12蒋善旗康兵倪嘉豪邓小珍丁贵立许志浩黄智轩
电子设计工程 2023年22期
关键词:树莓后台电能表

蒋善旗,康兵,倪嘉豪,邓小珍,丁贵立,许志浩,黄智轩

(南昌工程学院,江西南昌 330099)

为实现“双碳”目标,电动汽车作为缓解能源危机与环境污染的重要手段受到广泛的关注[1]。随着电动汽车的不断普及,大规模充电负荷将对小区或园区的供电造成巨大压力,进一步增加电网负荷峰谷差。考虑台区负荷曲线因用户用电峰谷时段差异而具有峰谷特征,其实际负荷用电只占额定负荷的40%左右,因此,如何将“间歇性电动车负载”转变成具有“移峰填谷”能力的“智能负荷”以实现电动汽车的有序充电规划,是一个急需解决的问题[2]。

文献[3]提出了基于改进布谷鸟算法的电动汽车换电站有序充电策略研究。文献[4]提出了考虑多方利益的居民小区电动汽车有序充电策略。文献[5]提出了基于多目标优化模型的电动汽车充电调度策略。然而以上方法均是在已知变压器容量或调度容量的基础上建立的充电模型,但是对于第三方充电管理平台而言,容量信息却是未知的。因此,为解决这一问题提出了基于机器学习的电能表信息识别方案。对于电能表识别算法,文献[6]结合深度神经网络和多阈值软切分的方法来识别电能表内的信息。文献[7]结合模板匹配和深度神经网络的方法来识别电能表内的信息。文献[8]采用Faster R-CNN 和U-Net相结合的方法来实现指针式仪表的读数识别。上述文献均提出了有效的仪表读数识别方法,但是其目标检测模型均在PC 端部署,且目标检测模型较大,占用内存过多,识别速度较慢,因此无法部署在嵌入式设备之中,依旧存在图片从采集端到云端的传输过程。

1 系统总体设计

该智能抄表系统采用面向嵌入式设备的图像信息识别方案,系统的整套图片识别流程均在树莓派内完成,无需将图片发送至云端进行图片识别,可以有效避免图片传输过程中数据丢失以及传输速度慢等问题。智能抄表系统的总体功能框架如图1 所示。该智能抄表系统所涉及的硬件部分主要有核心控制板(树莓派4B)、OV5647 摄像头模块、电源模块、摄像头补光模块、4G 无线通信模块等。软件部分则主要包括电能表识别算法以及后台终端软件的设计[9]。智能抄表系统的识别算法采用图像识别的方式完成,通过调用树莓派4B 内的ncnn 模型来实现对电能表信息的识别。后台终端软件将对树莓派识别出的电量信息进行整合,并以特定的报文格式将整合得到的信息存储至MySQL 数据库中。

图1 智能抄表系统的总体功能框架

图2 FOCS的网络架构

2 系统硬件设计

2.1 主控模块

智能抄表系统的核心控制单元为树莓派4B,其控制芯片采用博通BCM2711,其运行内存为4 GB。树莓派4B 作为一款开源的人工智能开发板,其运行速度以及系统性能比起以往的树莓派系列开发板以及其他类型的人工智能开发板均占有较大的优势,网络上有关的开发资料也更为丰富。树莓派4B 作为核心控制单元,主要功能是控制智能抄表系统的各项硬件外设,对捕获的目标图片进行预处理,搭载ncnn 模型的运行环境,对ncnn 模型进行推理及部署,最后调用ncnn 模型来识别输入图片的信息[10]。

2.2 电源模块

由于树莓派外设引脚自带的5 V 电源功率较小,对于整个智能抄表系统而言,需要设计一个独立的电源模块为各项额定电压为5 V 的硬件模块提供电源。因此智能抄表系统的总输入电源选用12 V-3 A的适配器进行供电,通过MP2315 芯片将12 V 电源转为5 V 电源,并利用输出端的5 V 电源为整个系统供电。

2.3 图像采集模块

图像采集模块包括摄像头补光模块以及OV5647摄像头模块,图片的有效输入依赖于摄像头模块以及补光模块,补光模块可以根据实际环境的光线强弱调整补光灯的亮度,再根据安装位置适当调节摄像头焦距,可达到获取高质量目标图片的效果,有利于ncnn 模型对电能表图片的识别。

摄像头模块内置OV5647 图像传感器,该图像传感器拥有500 万像素,其数据传输方式选用并联传输,通过FPC 连接线与树莓派连接,可通过树莓派调节摄像头的曝光模式、快门速度、饱和度等多项参数,并通过树莓派驱动来完成图片的拍摄。

2.4 数据传输模块

智能抄表系统的数据传输功能通过4G 无线通信模块完成,智能抄表系统中使用的4G 模块型号为合宙Air724,其输入电源的范围为5~12 V,瞬间功率为7.5 W,平均功率为0.15 W。通过向4G 模块中烧录AT 固件,树莓派可利用串口通信向4G 模块内写入AT 指令来驱动4G 模块工作。4G 模块根据不同的AT 指令可以选择不同的数据传输协议,而系统最终以TCP 协议来传输数据。4G 模块将树莓派4B 识别出的电能表数据以字节流的形式发送至后台终端软件,其具体的发送方式为报文加密模式,其报文的具体组成内容为报文头、待发送数据、CRC-16 校验码、报文尾。与此同时,后台终端软件只有采用相同的报文格式方可成功接收数据内容。

3 系统软件设计

3.1 电能表信息识别算法设计

Nanodet 是在FOCS 算法的基础上发展而来的一种速度超快且轻量级的移动端Anchor-free 目标检测模型,而Nanodet-Plus 则是在Nanodet 的基础上对标签匹配策略、模型结构、训练Trick 等进行了优化。相较Nanodet 而言,Nanodet-Plus 训练得到的模型文件的识别精度与速度均有较大的提升[11]。

FCOS 算法可直接通过逐像素点回归的方法对目标进行检测,这种检测方式无需锚框和建议框,性能高于大多数基于锚框的检测算法。在上述目标检测的基础上,FCOS 采用类似于多级特征金字塔网络(Feature Pyramid Networks,FPN)的预测,能有效提高召回率,进而解决训练过程中重叠预测框导致的预测结果报错问题,提高目标检测的精度[12]。FOCS的网络架构如图1 所示。该网络主要由主干网络、多级特征金字塔网络、检测头三部分组成,其中C3、C4 和C5 表示主干网络的特征映射,即主干网络对输入图像进行特征提取所得到的特征图。P3-P7 是用于最终预测的特征级别。H、W分别为特征图的高度和宽度。例如,所有电能表图片的输入大小都是512×512。

Nanodet-Plus 网络架构如图3 所示。其中,预测类别中的C 表示类别数。相较于FCOS 网络架构,Nanodet-Plus 最大的不同是增加了辅助训练模块(Assign Guidance Module,AGM),同时摒弃了FCOS的标签分配策略,进而转向动态软标签分配。其网络层neck 使用了Ghost-PAN 架构,Ghost-PAN 中的Ghost 模块是一种实现轻量级神经网络的方法,使得深度神经网络可以在保证算法表现能力的基础上,将网络移植到一些计算能力相对较弱的移动设备上。Ghost-PAN 架构能够更好地融合不同尺度的特征[13]。头部的回归和标签预测仍然继承文献[14]提出的Generalized Focal Loss,该函数能够去掉FCOS的中心度分支,省去这一分支上的大量卷积,从而减少检测头的计算,非常适合移动端的轻量化部署。

图3 Nanodet-Plus网络架构

上述的AGM 仅由四个3×3 的卷积组成,使用深度学习归一化方式[15](Group Normbalization,GN)作为Normalize 层,并在不同尺度的Feature Map 间共享参数。由于共享参数,且并非是深度可分离卷积,因此AGM 所消耗的训练资源非常少。

使用AGM 预测的分类概率和检测框会输入到动态软标签分配策略[16](Dynamic Soft Label Assigner,DSLA)中计算Matching Cost。代价函数由classification cost、regression cost 以及distance cost 三部分组成,最终的代价函数如式(1)所示:

其中,λ为regression cost 的调制系数,Ccls=CE(P,Ysoft)×(Ysoft-P)2,Creg=-lnIou,Cdis=。

基于以上改进,Nanodet-Plus 由于其轻量化的设计和非常小的参数量,在边缘设备(嵌入式设备)和CPU 设备上拥有可观的推理速度。

以电能表信息识别为例,对于该识别算法的实现,首先需要获取初始样本数据集;构建由ShuffleNet V2 主干网络、Ghost-PAN 网络、回归分类预测头构成的Nanodet-Plus 目标检测网络;以初始样本数据集作为训练样本,训练目标检测网络;得到目标检测网络的pth 模型,将其转换为onnx 模型,再转换为nccn 模型。将得到的ncnn 模型在树莓派4B上进行部署与推理;最后在树莓派4B 内调用ncnn 模型检测电能表图片。识别算法引入轻量级ShuffleNet V2 主干网络特征提取方式能获得更多的目标特征,同时引入Ghost-PAN 网络来更好地融合不同尺度的特征,且将训练获得的pth 模型转换为更适合在嵌入式设备中部署的ncnn 模型,可以在资源紧张、算力有限的树莓派4B 等嵌入式设备中有效实现电能表信息的识别。

3.2 后台软件设计

后台终端软件采用C#编程语言进行设计,基于TCP/IP 协议、Socket 通信搭建控制台应用程序。该软件的主要功能是对台区电表内的信息进行收集并存储,并通过4G 模块与采集设备建立联系,每台设备对应一个台区考核电表,采集设备获取到电能表内的有效信息后,借助4G 模块,通过TCP 协议将采集到的信息发送至终端软件上。最后该软件会将收集到的所有信息都保存至MySQL 数据库中,以待Web 端或手机APP 读取所获得的电能表数据。后台终端软件的可视化界面如图4 所示。

图4 后台终端软件可视化界面

4 系统功能测试

智能抄表系统设计完成后需要进行整体的系统功能测试,系统功能测试主要包括识别算法的测试以及后台终端软件数据接收测试。使用支架将智能抄表装置固定在电能表正前方,通过定时拍照来获取电能表图片,并识别出所获取图片上的电量信息。最终4G 模块将识别出的电量信息、拍照时间、电能表ID 等数据传输至后台终端软件中。后台终端软件成功接收数据后将数据存至MySQL 数据库中,以供智慧充电管理平台读取相应的数据。经验证,智能抄表装置可实现闭环操作,软件及硬件运行正常,后台终端软件能正常接收到数据。图像识别算法的运行效果如图5 所示。后台终端软件数据接收情况如图6 所示。测试次数与识别率的关系曲线图如图7 所示。

图5 图像识别算法的实际效果

图6 后台终端软件数据接收情况

图7 测试次数与识别率的关系曲线图

5 结论

经过实际的系统功能测试,该智能抄表系统的识别算法能够在不同角度、不同光照环境下实现对电能表信息的提取,即便电能表表面存有灰尘或存在反光,该算法依旧有效;该算法可在嵌入式设备(树莓派4B)中运行,无需将图片上传至云端识别,可有效减少图片传输过程中需要的时间以及数据传输过程中数据“丢包”的风险。最终的文字识别准确率平均可达95%,数字识别的准确率平均可达98%。

猜你喜欢
树莓后台电能表
巧数电能表
认识电能表
基于树莓派的骑行智能头盔设计
后台暗恋
基于树莓派的远程家居控制系统的设计
前台、后台精彩花絮停不了
响应面法优化红树莓酒发酵工艺
以“后台”的名义节省电池用量
电能表自动化检定机器人可靠挂卸表方案设计与实现
基于MSP430+ATT7022B的三相三线多回路多功能电能表的研究