APP下载

基于人工智能的边缘计算系统设计与实现

2023-11-27孙宇彤

科技创新与应用 2023年33期
关键词:边缘卷积人群

孙宇彤

(吉林电子信息职业技术学院,吉林吉林 132021)

人群信息检测是智慧城市建设过程中城市管理的支撑技术之一,其功能是利用公共场所的监控设备实时获取人群信息,然后由边缘计算系统对数据信息进行计算、分析,在准确识别人群中异常状况后发布预警信息,提醒相关部门采取措施加强人群秩序管理,从而避免因为人群过于密集而出现踩踏等事故,切实保障公共安全。本文基于人工智能技术设计的边缘计算系统,具有较高的实时性、可靠性,通过人群信息分析不仅能辅助公共场所的秩序管理,而且在城市规划、公共设施配置与资源调度等方面也发挥了重要作用。

1 边缘计算系统的整体架构

基于人工智能的边缘计算系统,主要由摄像装备、边缘设备、云服务器等组成。其中,摄像装备可以实时采集监控区域内的图像信息或视频信息,并将其发送至边缘设备;部署了神经网络算法的边缘设备,会利用特定算法对采集到的图像、视频信息进行运算处理,并基于HTTP(超文本传输协议)将分析结果发送到云服务器上进行直观呈现,以便于管理人员了解人群密度、人群流向。边缘计算系统的整体架构如图1 所示。

本文设计的边缘计算系统主要用于人群信息检测,系统设计需求如下:可利用部署于商场、道路、车站等公共场所的监控设备,实现对人群信息的全天候、实时性监测,通过人工智能分析提取人群流向与人群密度等重要信息,在必要时可以发出报警信号,降低监控成本并提高检测效率。

2 边缘计算系统的硬件设计

2.1 开源CPU 核的选定

基于RISC-V 精简指令集架构的CPU 具有结构简单、稳定性好、能效比高等一系列特点,并且支持自定义指令拓展,与本文设计的边缘计算系统有较高的切合度,最终选择基于RISC-V 架构的RI5CY 处理器作为系统CPU,RI5CY 的架构如图2 所示。

图2 RI5CY 的设计框图

图2中ALU 为逻辑运算单元,MULT 为乘法器,两者组合可以使RI5CY 完成各种逻辑运算和乘法运算;CSR 为控制和状态寄存器,主要用于记录RI5CY的运行状态并提供控制信号;LSU 为存储器访问的控制模块,可支持RI5CY 在数据存储器中读写数据;GPR 为寄存器组。将RI5CY 处理器作为系统CPU,能够将管理员编辑的任意一条指令划分为4 级流水线,即取值、译码、执行和写回4 个阶段,这种流水线结构显著提升了指令的吞吐率,并在一定程度上缩短了每条指令的运行时间,使得CPU 性能得到明显的增强。RI5CY 处理器的四级流水线结构见表1。

表1 四级流水线结构

2.2 自定义指令拓展接口的设计

本文设计的边缘计算系统具有较强的可扩展性,通过设计自定义指令拓展接口,后期可根据人群信息检测的实际需求灵活拓展新的功能,从而降低了系统二次开发的成本与难度。自定义指令拓展接口包含2个通道,分别是req_请求通道和rsp_反馈通道。前者的作用是将拓展指令和源操作数发送给CPU,后者的作用是将CPU 的运算结果再返回给终端处理器。RI5CY 处理器(即CPU)中的译码模块,对取值模块产生的指令进行译码,然后根据译码结果判断此指令是否为CPU 指令,如果判断结果为“是”,则利用2 个源操作数rs1、rs2 进一步检验此指令是否需要读取源寄存器数据信息。如果需要读取,则CPU 直接从寄存器中调用相关数据。数据写入后,生成新程序并使系统获得新功能,完成功能的拓展。

3 边缘计算系统的功能实现

3.1 卷积神经网络的训练

边缘设备需要将处理分析的结果发送至云服务器,受到网络带宽的存储容量的限制,当传输量较大时经常会出现信道堵塞的情况,导致系统的实时性较差。为了降低系统的运行功耗、保证处理结果的实时呈现,本文设计了一种基于卷积神经网络的实时人群信息检测边缘计算模型。在该模型中,基于人工智能的神经网络算法部署在边缘设备中,这样就保证了边缘设备在接收到前端摄像装备传输的图像与视频信息后,能够提取特征信息并对多个节点的数据进行清洗与聚合,从而大幅度减少了需要传输的数据总量,降低了对网络资源的占用,提高了系统运行效率[1]。

根据处理流程的不同,卷积神经网络的训练可分为“前向传播”与“反向传播”2 个阶段。所谓前向传播,就是利用卷积神经网络模型对参数进行初始化,输入数据依次经过卷积层、池化层及全连接层的处理后,得到输出数据;而反向传播则是对比输出值与真实值,计算两者之间的误差后利用反向传播算法进行参数更新。在经过多次迭代训练后得到神经网络模型,具体训练过程如图3 所示。

在卷积神经网络的前向传播中,输入的图像信息或视频信息分别经过卷积运算、池化运算和激活函数处理后,得到图像或视频的特征信息。然后将特征信息作为输入量,输入到全连接层、归一化层做进一步处理,得到最终的输出结果。判断输出值与真实值是否相符,若两者相符则本次训练结束;若两者不相符,则继续进入反向传播。同时,将输出值与真实值之间的误差记为e,将e向前一层返回,通过递推得到每一层的误差,并根据误差进行参数更新。由于每一层的误差并不完全相同,相应的各层的误差值求解方法也存在差异,具体如下。

1)对于全连接层之间的误差,首先求出输出总误差,将误差反向到输出层的上一层(即全连接层)。由于本层中的误差是由全连接的神经元造成的,首先分别求出每个神经元的误差,然后再进行求和运算。每个节点误差=误差×节点参数值。

2)对于池化层误差,如果需要计算“最大池化误差”,可以将误差直接反向到上层连接节点;如果需要计算“平均池化误差”,则将误差平均分布到上一层中。

3)对于卷积层误差,考虑到卷积层中的误差是通过卷积操作传递的,在计算时首先要通过卷积核定位本层与上层之间的连接节点,在此基础上求上层误差。确定本层误差后,在最外层进行零填充处理,将卷积核反转后对零填充过程中产生的误差进行卷积操作,最后得出卷积层上一层的误差[2]。

3.2 卷积神经网络的优化

在完成卷积神经网络模型的训练后,本文针对边缘端处理器数据处理效率不高的问题进行了优化,优化内容包括以下3 个方面。

首先,将原来的CSRnet 网络模型从vggnet 模型替换成了轻量级的mobilenet 模型,将该模型部署在性能要求较低的边缘端,一方面能够满足基本的数据运算需要,保证边缘计算系统各项功能的实现;另一方面还能大幅度减少计算量,对减轻系统运行负荷、提高系统响应效率也有积极帮助。

其次,对CSRnet 网络模型进行了参数剪枝处理。引入评估算法,在卷积神经网络训练时,删减了许多不重要的参数和冗余,在确保计算精度满足系统使用要求的基础上最大程度减少网络运算量。

最后,对参数作量化处理。在原来的CSRnet 网络模型中,使用32 位浮点数的权重,浮点数运算过程中会占用较多的存储空间,导致系统出现响应延迟问题。通过参数优化后将32 位浮点数的权重和激活值转换为8 位定点数值。这种定点数运算对硬件设备的要求更低,占用的资源更少,系统运行速度更快。

按照上述方法对该模型进行通道裁剪和参数量化处理后,优化后新模型的参数量比原模型下降了7.2%,将优化后模型以tensorflow lite格式输出到嵌入式平台[3]。

3.3 系统功能的实现

边缘系统内布置有若干个数据采集节点,每个节点对应着一个监控摄像设备。前端设备实时采集图像、视频信息后,传输至对应节点后利用神经网络模型进行数据运算、人群特征提取和分析。完成分析后,节点会利用网络将分析结果发送至区域边缘总结点。在总结点上,对数据做清洗、聚合处理后,统计区域内人群总数,得到人群流向分析结果和各节点拥挤程度分析结果。如果拥挤程度超过设定值,还会自动预警。区域边缘总结点将上述信息汇总成日志,经网络发送至云服务器,云服务器根据接收到的日志展开深度分析和智能决策,并将接收到的信息进行备份保存到数据库中。边缘计算系统的功能实现如图4 所示。

图4 边缘计算系统的具体实现

本系统选择Pi-Camera 作为图像、影像的采集模块,用树莓派处理器作为边缘端处理器。将图像或影像的像素设定为640×480,传输到树莓派后利用神经网络模型进行计算、分析,可以得到某个节点上的人群数量。树莓派节点能够做到每3 s 处理一帧图像,每5 s向边缘总节点发送1 次数据,这样就保证边缘计算系统每分钟可以进行12 次人群信息的提取与分析,极大地提高了系统的运行性能,完全能够满足人群消息检测的需求[4]。使用ARC iotdk 开发板作为区域边缘总结点,可支持以下功能。

1)数据清洗。边缘计算系统的前端包含海量的摄像监控设备,每台设备对应的节点会源源不断地通过局域网向总节点传送数据。为了减轻系统的运行负荷和提高数据处理效率,区域边缘总节点需要对数据进行清洗,目的是删除那些带有明显错误的节点数据,在保证数据正确性的基础上达到“数据瘦身”的效果。正常情况下,经过数据清洗处理后,区域边缘总节点接收的数据量会减少20%~40%不等。

2)数据聚合。该功能是在完成数据清洗的基础上,对各个节点传送的数据进行特征信息提取,并根据提取内容展开数据计算,最后汇总计算结果。数据聚合可以将具有共性特征的数据信息按照特定的类别进行存储,为下一步人工智能调用数据并进行分析决策提供了便利条件。

3)拥挤警报。管理员可自定义边缘计算系统的总人数,以及任意一个节点的人数,将其作为拥挤警报的阈值。系统在运行过程中,对前端摄像监控设备提供的图像或视频信息进行分析,并计算出该节点或总节点的人数。将计算结果与阈值进行对比,如果计算结果超出了设定的阈值,则系统自动发出报警信息,提醒系统管理员或者相关单位及时采取预防措施。

4)人群流向预测。边缘计算系统会自动对比各个节点的历史数据和当前数据,以此来预测该节点未来的人群流向趋势。同时,将预测结果以可视化图形的方式呈现,以便于系统管理员能够直观地掌握人群流向。

5)本地数据备份。ARC iotdk 开发板在处理数据的过程中,还会把原始数据和处理后的数据分别进行备份,然后将备份数据保存在本地服务器[5]。当系统管理员需要查看系统日志时,可以直接从本地服务器下载相应的数据。

6)上传数据至云端。区域边缘总节点会根据设定好的时间,通过互联网自动将数据日志上传到云端。云端除了提供更加丰富的数据分析功能外,还能融合大数据计算、人工智能分析,从而为科学决策提供依据。

4 结束语

基于人工智能的边缘计算系统,以公共场所监控设备采集到的实时图像和视频作为输入信息,通过提取行人特征信息可以监控某个区域的人群密度、预测未来一段时间内的人群流向,从而为城市安全管理、公共空间设计、基础设施建设等提供必要的数据支持,在智慧城市建设中发挥了重要作用。同时,本文针对云端计算实时性差、网络带宽要求高等问题,采取了卷积神经网络模型迭代训练与优化措施,经过优化的系统模型不仅提高了人群信息分析速度,而且在节约带宽资源、提高响应速度方面也取得了显著效果,进一步提高了边缘计算系统的实用效果。

猜你喜欢

边缘卷积人群
在逃犯
基于3D-Winograd的快速卷积算法设计及FPGA实现
糖尿病早预防、早控制
从滤波器理解卷积
基于傅里叶域卷积表示的目标跟踪算法
我走进人群
财富焦虑人群
一张图看懂边缘计算
一种基于卷积神经网络的性别识别方法
在边缘寻找自我