发明内容
本发明的目的是提供一种基于人工智能的物联网终端监控方法及系统,以解决背景技术中不足。
为了实现上述目的,本发明提供如下技术方案:一种基于人工智能的物联网终端监控系统,包括终端设备模块、数据处理模块、边缘计算模块、通信模块、中心服务器模块、用户接口模块;
终端设备模块:包括终端设备,终端设备采集原始数据用于后续的分析和决策;
数据处理模块:对终端设备采集到的原始数据进行初步处理;
边缘计算模块:基于ResNet预训练模型对原始数据中的人脸进行识别,基于遗传算法对视频处理服务进行分析;
通信模块:基于RTSP视频流传输协议将边缘计算节点分析数据发送至中心服务器模块;
中心服务器模块:接收从边缘计算节点传输过来的数据,并汇总和整合来自各个边缘计算节点的信息;
用户接口模块:提供用户与系统交互界面,交互界面包括Web界面、移动应用,用户通过交互界面查看监控数据、设定参数。
优选的,所述边缘计算模块基于ResNet预训练模型对原始数据中的人脸进行识别包括以下步骤:
获取视频数据,拆分视频数据帧得到待检测的图片;
使用训练过的Dlib人脸检测模型进行人脸检测,并标注图片;
通过特征提取算法提取出人脸的特征向量,然后将特征向量传输到数据库并进行特征比对;
判断特征向量与数据库中人脸特征的欧氏距离,若欧氏距离小于设定的距离阈值,则找到距人脸数据库中欧氏距离最小的特征向量;
若欧氏距离大于等于设定的距离阈值,表明特征向量与数据库中的特征差异大,视频数据中为非法人物。
优选的,所述Dlib人脸检测模型获取包括以下步骤:
将需要标注的图片保存在文件夹中,并按照文件名进行分类;
在ImgLab中,选择“Adddataset”,然后填写数据集名称和目录,以及是否包含子目录选项;
选择“Loadimages”,并选择需要标注的图片所在的目录,ImgLab会自动加载所有的图片文件;
使用Addbox工具对每张图片中的人脸周围绘制出矩形框,矩形框表示人脸位置;
使用Addlandmark工具对每个人脸标注特征点信息,包括眼睛、嘴巴和鼻子;
完成标注后保存标注结果,选择“Savewithlabels”,并选择保存的文件名和格式,ImgLab会自动保存图片、标注信息和特征点信息到指定的文件中;
完成标注后使用标注结果来训练模型,将标注结果转换为相应格式,然后使用train_shape_predictor.py工具来训练模型得到Dlib人脸检测模型。
优选的,所述边缘计算模块使用训练过的Dlib人脸检测模型进行人脸检测包括以下步骤:
加载需要检测的图片,并转换为相应格式;
加载训练好的人脸检测器;
使用加载好的人脸检测器对图片中的人脸进行检测,并得到所有检测到的人脸位置坐标;
得到人脸位置坐标后用矩形框框出人脸的区域,完成人脸识别。
优选的,所述边缘计算模块基于遗传算法对视频处理服务进行分析包括以下步骤:
a、按照编码规则初始化边缘计算节点种群后,根据适应度函数挑选出父代边缘计算节点;
b、通过轮转赌方法选出母代边缘计算节点,再通过交叉点选择算法算出当前迭代次数的交叉点位置;
c、通过交叉产生子代边缘计算节点后再与父代边缘计算节点进行比较,若不满足父代边缘计算节点的适应度,则舍弃该子代边缘计算节点;
d、重复交叉过程,并且按概率完成变异操作,直到子代边缘计算节点的数量为种群大小NUM,则表示完成一次迭代,迭代完毕后得到适应度最高的边缘计算节点;
e、对得到适应度最高的边缘计算节点进行综合评估,判断该边缘计算节点的适应度是否达到要求,若达到要求,将视频服务处理调度到该边缘计算节点,若达不到要求,则重复步骤a、b、c、d、e,直到边缘计算节点的适应度达到要求为止。
优选的,步骤e中,对得到适应度最高的边缘计算节点进行综合评估,判断该边缘计算节点的适应度是否达到要求包括以下步骤:
e1、获取该边缘计算节点的响应延迟指数、任务完成速率、节点当前负载指数以及计算资源利用率;
e2、将响应延迟指数、任务完成速率、节点当前负载指数以及计算资源利用率归一化处理后,综合计算获取节点系数jdx;
e3、节点系数jdx越大,表明边缘计算节点的适应度越高,将获取的节点系数jdx值与预先设定的适应度阈值进行对比,适应度阈值用于区分边缘计算节点的适应度达标或不达标;
e4、若节点系数jdx值大于等于适应度阈值,判断该边缘计算节点的适应度达到要求;
e5、若节点系数jdx值小于适应度阈值,判断该边缘计算节点的适应度达不到要求。
优选的,所述边缘计算模块采用多次随机产生初始种群的方法,包括以下步骤:
(1)生成NUM个N*3的全零数组用于保存种群中每个边缘计算节点的基因信息,随后进入第(2)步;
(2)随机产生一个N*3的数组,并与染色体编码里面提出的规则进行比对,若满足规则,则进入第(3)步,否则重复本步骤;
(3)将第(2)步产生的数组加入种群中,若此时种群的数量为NUM,则结束初始化种群,否则跳转回第(2)步,直到种群的数量为NUM。
优选的,所述边缘计算模块根据适应度函数选择种群中的边缘计算节点,适应度函数的表达式为:其中,矩阵A表示当前种群中的任一个边缘计算节点,/>表示权重,且/>大于0,g1(A)表示总体边缘计算节点的时延,g2(A)则表示总体边缘计算节点的资源利用率。
优选的,所述边缘计算模块使用随机普遍选择法中的轮转赌选择法和子代边缘计算节点与部分父代边缘计算节点竞争的方法包括以下步骤:
A、对所有边缘计算节点按照适应度函数值的大小进行排序,并用前20%作为产生下一代的父代边缘计算节点,将这些父类自接加入子代边缘计算节点中;
B、根据轮转赌选择法随机选择出剩余80%中的个体作为母代边缘计算节点,再在第一步中的父类个体中随机选择出一个作为父代边缘计算节点,将选出的父代边缘计算节点和母代边缘计算节点的基因进行交叉、变异处理,产生子代边缘计算节点,并根据染色体编码中的资源要求计算,若满足规定,则进入第C步,否则舍弃掉该子代边缘计算节点,并重复本步骤;
C、计算出该子代边缘计算节点的适应度函数的值,并与第A步中选出的父类的适应度的最小值比较,若子代边缘计算节点的适应度的值更小,则将该子代边缘计算节点加入种群中,反之,跳转回步骤B;
D、若子类种群的数量为NUM,选择操作结束,否则跳转回步骤B;
E、采用交叉点选择算法计算出当前交叉点的位置;
F、根据选择操作中的步骤B确定交叉的双亲,然后将双亲的染色体上位于交叉点位置之后的所有的基因相互交换,获得两个子代边缘计算节点;
G、对子代边缘计算节点进行染色体编码的规则进行检查。
本发明还提供一种基于人工智能的物联网终端监控方法,所述监控方法包括以下步骤:
S1:终端设备采集原始数据,原始数据用于后续的分析和决策;
S2:终端设备对采集到原始数据进行初步处理,初步处理包括数据的压缩、降噪、特征提取;
S3:部署在终端设备附近的边缘计算节点基于ResNet预训练模型对原始数据中的人脸进行识别;
S4:边缘计算节点基于遗传算法对视频处理服务进行分析;
S5:通信端基于RTSP视频流传输协议将边缘计算节点分析数据发送至中心服务器;
S6:中心服务器接收从边缘计算节点传输过来的数据,并汇总和整合来自各个边缘计算节点的信息,提供用户与监控系统交互界面,用户通过交互界面查看监控数据、设定参数。
在上述技术方案中,本发明提供的技术效果和优点:
1、本发明通过边缘计算模块基于ResNet预训练模型对原始数据中的人脸进行识别,基于遗传算法对视频处理服务进行分析,通信模块基于RTSP视频流传输协议将边缘计算节点分析数据发送至中心服务器模块,中心服务器模块接收从边缘计算节点传输过来的数据,并汇总和整合来自各个边缘计算节点的信息,用户接口模块提供用户与系统交互界面,交互界面包括Web界面、移动应用,用户通过交互界面查看监控数据、设定参数。该监控系统通过将云中心的计算能力部分卸载到边缘计算节点,从而减少网络中的数据流量,降低数据传输延迟显著增加,而且基于RTSP视频流传输协议传输数据,安全性高。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1:请参阅图1所示,本实施例所述一种基于人工智能的物联网终端监控系统,包括终端设备模块、数据处理模块、边缘计算模块、通信模块、中心服务器模块、用户接口模块;
终端设备模块:这是物联网终端的基础,包括传感器、摄像头、执行器等,传感器负责采集环境数据,摄像头负责拍摄视频图像,执行器负责执行相应的命令,这些终端设备产生的原始数据将用于后续的分析和决策,原始数据发送至数据处理模块以及用户接口模块,具体为:
传感器:传感器负责监测和采集环境中的各种数据,例如温度、湿度、光照、压力等,这些传感器可以是各种类型,根据监控系统的需求选择合适的传感器,传感器通过实时采集数据,为系统提供了丰富的环境信息;
摄像头:摄像头用于捕捉实时视频图像,提供对监测区域的视觉感知,摄像头可以是普通摄像头、红外摄像头、全景摄像头等不同类型,根据具体应用场景选择,通过拍摄视频,摄像头提供了对物体、事件的可视化数据,为后续的分析和决策提供基础;
执行器:执行器是终端设备模块的输出组件,负责根据系统的指令执行相应的动作,这可以包括控制设备的启停、调整环境参数,或者执行与监控场景相关的任务,执行器的存在使得监控系统具备了实时响应和远程控制的能力;
原始数据传输:传感器和摄像头采集到的原始数据通过通信模块传输到数据处理模块,这可以通过各种通信方式实现,包括有线连接(如Ethernet)、Wi-Fi、蓝牙等,具体根据系统的需求和环境特点选择适当的通信方式,终端设备模块也可以将相关信息传输至用户接口模块,使用户能够实时监测和与系统进行交互,这种信息可以包括设备状态、实时图像、环境参数等,通过用户接口传输到用户设备,如电脑、手机、平板等,方便用户实时了解监控系统的状态。
数据处理模块:终端设备上的本地数据处理模块使用轻量级的人工智能算法,对采集到的数据进行初步的处理,这可以包括数据的压缩、降噪、特征提取等步骤,以减少需要传输到中心的数据量,具体为:
数据预处理:采集到的原始数据可能存在噪音、异常值等问题,数据预处理是数据处理模块的首要任务,这包括对数据进行清理、去噪、校正等操作,确保数据的质量和准确性;
数据清理是指检测和纠正数据中可能存在的错误、缺失或异常值,这可能包括处理缺失的数据点,删除或进行插值处理异常值,修复记录中的错误等,数据清理旨在使数据集更为一致、完整和可靠,数据采集过程中可能会受到各种干扰,导致数据中出现噪音,去噪操作通过应用滤波技术或其他信号处理方法,识别和移除数据中的噪音,以提高数据的质量和可信度,在某些情况下,传感器可能存在校准不准确的问题,导致数据偏离实际值,校正操作可以通过对采集到的数据应用校准系数或数学模型,使其更加准确地反映实际情况,这可以包括校正传感器的灵敏度、修正测量误差等,数据中可能存在异常值,这些异常值可能对后续分析和决策造成负面影响,异常值处理可以通过识别、过滤或替换这些异常值来提高数据的准确性,处理方法可能包括基于统计学的方法或基于规则的方法;
数据可能来自不同类型的传感器或设备,因此可能存在不同的数据格式,为了进行有效的分析和处理,数据处理模块可能需要将所有数据标准化到统一的格式,确保数据一致性,在监控系统中,不同设备产生的数据可能有不同的时间戳,时间同步是确保数据在时间维度上一致的关键操作,数据处理模块可能需要调整或同步时间戳,以便在后续的分析中进行正确的时间关联,建立质量控制标准,对采集到的数据进行质量检查,这包括设置阈值、规则和标准,确保数据符合预期的质量水平,在数据处理的最后阶段,进行数据验证是必要的步骤,这包括检查数据的一致性、完整性和正确性,确保清理、去噪和校正等操作没有引入新的错误;
数据压缩:为了减少数据传输的带宽占用,数据处理模块可以使用轻量级的压缩算法对采集到的数据进行压缩,压缩后的数据更容易在有限的网络资源下传输,提高了传输的效率;
特征提取:对于传感器和摄像头采集到的数据,数据处理模块可以使用特征提取算法从中提取出关键特征,这些特征可以包括某些环境参数的统计特性、图像中的物体特征等,提取关键特征有助于减少需要传输的信息量,并提供更为简化的数据表示;
本地决策:在数据处理模块中,可以集成一些轻量级的决策算法,使得终端设备具备一定的自主决策能力,例如,在监控系统中,终端设备可以根据采集到的数据做出一些简单的控制或报警决策,而不必完全依赖中心服务器;
数据缓存:为了应对网络中断或不稳定的情况,数据处理模块可以在本地缓存部分处理后的数据,这样,即使网络连接暂时中断,系统也能够继续工作并保留部分数据,等待网络恢复后再进行传输;
安全性保障:在数据处理模块中,应考虑数据的安全性,采用加密算法等手段,确保数据在本地处理过程中的安全性,防止敏感信息被未经授权的访问。
缘计算模块:部署在物联网终端附近的边缘计算节点负责进一步处理和分析本地数据,基于ResNet预训练模型对原始数据中的人脸进行识别,通过迁移学习的方式,提高了人脸识别的精度和处理效率,基于遗传算法对视频处理服务进行分析,使得边缘计算节点的视频处理服务的时延降低,并且有较高的资源利用率,这些节点可以是专门的硬件设备或者是具有边缘计算能力的服务器,通过在边缘进行计算,可以减轻对中心服务器的负担,并加速响应时间,分析结果发送至通信模块;
通信模块:基于RTSP视频流传输协议将边缘计算节点分析数据发送至中心服务器模块,边缘计算节点与中心服务器之间通过安全可靠的通信通道传输必要的信息,通信模块要确保数据的保密性和完整性,并能够适应不同的网络条件,包括低带宽、高延迟等;
中心服务器模块:中心服务器负责管理整个系统,接收从边缘计算节点传输过来的数据,生成监控报告、提供远程控制等服务,中心服务器的主要任务是汇总和整合来自各个边缘计算节点的信息,并将汇总后的信息发送至用户接口模块,具体为:
数据接收和汇总:中心服务器模块负责接收来自各个边缘计算节点传输过来的处理后的数据,这些数据可能包括环境参数、图像特征、设备状态等信息,服务器通过合并、整合这些数据,形成全局的监控数据集;
监控报告生成:中心服务器使用更高层次的人工智能算法对汇总后的数据进行深入分析和处理,这可以包括复杂的模式识别、异常检测、趋势分析等,基于这些分析,服务器生成监控报告,提供对系统状态、事件和趋势的全局视图;
决策制定:基于监控报告的结果,中心服务器模块可以制定一系列决策,例如发送报警通知、调整设备参数、触发执行器进行特定操作等,这些决策可以是预定义的规则,也可以是通过机器学习算法学习得出的;
远程控制服务:中心服务器通过用户接口模块向用户提供远程控制服务,用户可以通过用户接口模块远程监控、管理和调整系统的运行状态,执行特定的控制命令,或者获取系统实时报告;
安全性管理:中心服务器负责确保数据的安全性和完整性,这包括对传输过程中的加密、身份验证等安全手段的使用,以及对数据库的访问权限管理;
系统状态监控:中心服务器负责监控整个系统的状态,包括边缘计算节点的在线状态、设备运行状况等,通过对系统状态的实时监控,服务器能够及时发现潜在问题并采取相应的措施;
用户接口交互:中心服务器模块向用户接口模块提供数据和服务,确保用户能够方便地通过用户界面与整个系统进行交互,这可以包括实时监控图像、历史数据查询、远程控制等功能。
用户接口模块:该模块提供用户与系统交互的界面,可以是Web界面、移动应用或其他形式,用户可以通过该接口查看监控数据、设定参数等,具体为:
用户接口模块提供实时监控界面,显示物联网终端传感器和摄像头采集的数据,这可以包括实时图像、环境参数的动态变化曲线、设备状态等,使用户能够随时随地了解监控系统的运行状况,用户可以通过用户接口模块查询历史监控数据,这可能涉及到选择特定时间范围、设备或传感器,以便回顾过去的监控记录,提供直观的图表和图形展示,方便用户分析历史数据趋势,用户接口模块允许用户远程控制监控系统的参数和设备,用户可以通过界面设置阈值、调整设备参数,甚至触发执行器执行相应的操作,这增强了用户对监控系统的实时控制能力;
当监控系统检测到异常或用户设定的条件触发时,用户接口模块能够向用户发送报警和通知,这可以通过弹窗、短信、邮件等形式实现,提醒用户注意系统状态的变化,用户接口模块实施用户身份验证和权限管理机制,确保只有授权用户可以访问敏感信息和执行特定操作,这有助于保护系统安全和隐私,提供设备状态的汇总信息,让用户一目了然地了解各个物联网终端的工作状态,包括在线离线状态、电池电量、连接质量等,允许用户对监控界面进行个性化设置,例如选择显示的监控指标、调整监控界面的布局等,以满足不同用户的使用习惯和需求,提供系统公告、更新通知等功能,让用户了解系统的最新状态和功能改进,保持用户对系统的持续关注,提供帮助文档、在线支持、常见问题解答等信息,以帮助用户更好地理解和使用监控系统。
本申请通过边缘计算模块基于ResNet预训练模型对原始数据中的人脸进行识别,基于遗传算法对视频处理服务进行分析,通信模块基于RTSP视频流传输协议将边缘计算节点分析数据发送至中心服务器模块,中心服务器模块接收从边缘计算节点传输过来的数据,并汇总和整合来自各个边缘计算节点的信息,用户接口模块提供用户与系统交互界面,交互界面包括Web界面、移动应用,用户通过交互界面查看监控数据、设定参数。该监控系统通过将云中心的计算能力部分卸载到边缘计算节点,从而减少网络中的数据流量,降低数据传输延迟显著增加,而且基于RTSP视频流传输协议传输数据,安全性高。
实施例2:边缘计算模块部署在物联网终端附近的边缘计算节点负责进一步处理和分析本地数据,基于ResNet预训练模型对原始数据中的人脸进行识别,通过迁移学习的方式,提高了人脸识别的精度和处理效率,基于遗传算法对视频处理服务进行分析,使得边缘计算节点的视频处理服务的时延降低,并且有较高的资源利用率,这些节点可以是专门的硬件设备或者是具有边缘计算能力的服务器,通过在边缘进行计算,可以减轻对中心服务器的负担,并加速响应时间,分析结果发送至通信模块;
基于ResNet预训练模型对原始数据中的人脸进行识别,通过迁移学习的方式,提高了人脸识别的精度和处理效率,具体为:
在传统的人脸识别方法中,通常将该问题建模为多分类问题,其输出为每个人的置信度,然而,在实际应用场景下,这并不是最优的方案,本申请将人脸识别拆分为特征提取和特征比对两部分;
在建立人脸特征库的过程中,也需要通过特征提取算法将人脸检测得到的人脸特征提取出来,并将特征向量及其身份标注存数据库中,基于ResNet预训练模型的人脸识别,结合本申请场景的数据集进行增量训练,将全连接层的输出作为特征向量存储到数据库中,后续运行人脸识别服务的过程中,只需通过特征提取得到人脸向量再与数据库中的人脸特征向量进行对比,并根据设定的距离阈值来判断是否识别到数据库中保存了的人物,若识别到了目标人物,则进行后续处理;
基于ResNet预训练模型的人脸识别流程为:
首先获取到视频数据,然后拆分数据帧得到待检测的图片,紧接着使用训练过的Dlib人脸检测模型进行人脸检测,并标注图片,随后通过特征提取算法提取出人脸的特征向量,然后将特征向量传输到数据库,并进行特征比对,判断特征向量与数据库中人脸特征的欧氏距离,若小于设定好的距离阈值,则找到距人脸数据库中欧氏距离最小的特征向量,也就找到了视频数据中的人物,否则则表明与数据库中的特征差异都比较大,表明视频数据中为非法人物;
使用训练过的Dlib人脸检测模型进行人脸检测,并标注图片,通过特征提取算法提取出人脸的特征向量,具体为:
对图片数据进行增强,通过利用摄像头进行人脸的多角度拍摄,在图片拍摄后,通过调整RGB参数、亮度、对比度等来增加数据集的多样性,除了采用色彩调节这个基础但十分有效的数据增强技术,此外还使用了翻转、裁剪、缩放、移位和高斯噪声等主要技术,通过这些手段,能够扩大人脸图像的数量,并提高数据集的质量,这种方法可以有效地提高模型的鲁棒性和泛化能力,使其在不同环境下都能够得到准确有效的结果;
Dlib人脸检测模型获取包括以下步骤:
准备数据集:将需要标注的图片保存在文件夹中,并按照文件名进行分类;
配置选项:在ImgLab中,选择“Adddataset”,然后填写数据集名称和目录,以及是否包含子目录等选项;
加载图片:选择“Loadimages”,并选择需要标注的图片所在的目录,ImgLab会自动加载所有的图片文件;
标注人脸位置:对于每张图片,需要用鼠标在人脸周围绘制出一个矩形框来表示人脸的位置,在ImgLab中,可以使用“Addbox”工具来添加矩形框,并调整大小和位置;
标注特征点信息:对于每个人脸,还需要标注一些特征点信息,如眼睛、嘴巴和鼻子等部位的位置,在ImgLab中,可以使用“Addlandmark”工具来添加特征点,并调整其位置;
保存标注结果:完成标注后,需要保存标注结果,选择“Savewithlabels”,并选择保存的文件名和格式,ImgLab会自动保存图片、标注信息和特征点信息到指定的文件中;
使用标注结果训练模型:完成标注后,可以使用标注结果来训练模型,通常,需要将标注结果转换为特定的格式,然后使用相应的模型训练工具来训练模型,在Dlib中,可以使用train_shape_predictor.py工具来训练模型。
使用训练过的Dlib人脸检测模型进行人脸检测包括以下步骤:
加载图片:首先,需要加载需要检测的图片,并转换为合适的格式;
加载检测器:然后,需要加载检测器,在Dlib中,官方提供的训练好的人脸检测器(如HOG+SVM模型),这里修改检测器为图片标注完成后生成的模型文件,加载检测器的方法为:detector=dlib.get_frontal_fa ce_detector();
检测人脸区域:使用加载好的检测器,可以对图片中的人脸进行检测,在Dlib中,可以使用detector(image,upsample_num_times)函数来进行检测,并得到所有检测到的人脸位置坐标(左上角和右下角坐标);
绘制矩形框:得到了人脸位置坐标后,可以用矩形框框出人脸的区域,在Python中,可以使用cv2.rectangle()函数来绘制矩形框。
判断特征向量与数据库中人脸特征的欧氏距离,欧氏距离计算表达式为:式中,a=1、2、3、...b,b表示数据库中人脸特征的数量,Wi、Yi分别表示特征向量和数据库中人脸特征的第i个分量。
所述边缘计算模块基于遗传算法对视频处理服务进行分析,使得边缘计算节点的视频处理服务的时延降低,并且有较高的资源利用率,具体为:
遗传算法(Genetic-Algorithms)简称GA,是一种模拟生物进化过程的寻找最优解的算法,通过基因编码将问题抽象为寻找最优的基因型,通过定向的选择、交叉,再通过不定向的变异操作对解空间进行搜索,并利用适应度函数评价候选解的优劣性,最终找到最优解,GA的优点是具有并行随机普遍搜索的能力,直接操作染色体基因,没有求导和函数连续性的限制,能根据适应度函数自适应的调整搜索方向,不需要确定的为其规划,为了避免得到局部最优解,采用多次随机的产生初始种群的方法,增大了种群规模,扩大了搜索范围,而且这样就会有更多的变异,就有更大的可能产生进化的个体,从而防止产生局部最优解,在进行选择操作时,采用了轮转赌的随机普遍选择法,配合将优秀父代复制到子代,且子代与父代进行竞争的方法,增加了算法的收敛速度,使用了非线性交叉点选择算法,使得本算法在迭代初期有比较理想的全局搜索能力,并且随着算法进行,收敛速度变得越来越快;
设终端设备设置有N个,边缘计算节点需要对每个终端设备提供的视频数据进行分析处理,假设每个视频处理服务都有对应的K个微服务,需要寻找任意个(1-K)边缘计算节点,将K个微服务调度到这些边缘计算节点上,考虑到本申请的应用场景,将微服务的处理流程简化为固定的抽帧,识别,特征提取三步,也就是对于一个摄像头,一个完整的视频处理服务的微服务链就包含三个微服务,即K=3;
视频处理服务的调度问题本质是寻找微服务链与边缘计算节点之间的映射关系,传统的二进制编码解决起来会有复杂的编码变量,为了降低复杂度和运算时间,使用了二维的矩阵进行编码,矩阵的形状是N*3,每一行表示一个微服务链在边缘计算节点的部署情况,其中第一个数表示微服务链中第一个微服务被调度到的服务器,第二个数表示微服务链中第二个微服务被调度到的服务器,同理,第三个数表示微服务链中第三个微服务被调度到的服务器,以上述矩阵为例,第一行表示摄像头1的视频数据处理的相关微服务的部署情况,抽帧的微服务部署在编号为1的边缘计算节点上,检测的微服务在2号服务器上,特征提取的微服务在M号服务器上;第N行表示摄像头N的相关微服务的部署情况,不再赘述;
边缘计算节点需要大量的视频处理服务去处理摄像头采集到的视频数据,而边缘计算节点的计算资源有限,因此需要将这些微服务调度到合适的边缘计算节点上,在时延尽可能小的前提下,尽可能多的使用有限的边缘计算节点资源去运行更多的视频处理服务;
所述边缘计算模块基于遗传算法对视频处理服务进行分析包括以下步骤:
a、按照编码规则初始化边缘计算节点种群后,根据适应度函数挑选出父代边缘计算节点;
b、通过轮转赌方法选出母代边缘计算节点,再通过交叉点选择算法算出当前迭代次数的交叉点位置;
c、通过交叉产生子代边缘计算节点后再与父代边缘计算节点进行比较,若不满足父代边缘计算节点的适应度,则舍弃该子代边缘计算节点;
d、重复交叉过程,并且按概率完成变异操作,直到子代边缘计算节点的数量为种群大小NUM,则表示完成一次迭代,迭代完毕后得到适应度最高的边缘计算节点;
e、对得到适应度最高的边缘计算节点进行综合评估,判断该边缘计算节点的适应度是否达到要求,若达到要求,将视频服务处理调度到该边缘计算节点,若达不到要求,则重复步骤a、b、c、d、e,直到边缘计算节点的适应度达到要求为止。
步骤e中,对得到适应度最高的边缘计算节点进行综合评估,判断该边缘计算节点的适应度是否达到要求包括以下步骤:
获取该边缘计算节点的响应延迟指数、任务完成速率、节点当前负载指数以及计算资源利用率;
将响应延迟指数、任务完成速率、节点当前负载指数以及计算资源利用率综合计算后获取节点系数jdx,表达式为: 式中,RS为任务完成速率,XC为响应延迟指数,ZL为计算资源利用率,DF为节点当前负载指数,α、β、γ、δ分别为任务完成速率、响应延迟指数、计算资源利用率、节点当前负载指数的比例系数,且α、β、γ、δ分均大于0;
节点系数jdx越大,表明边缘计算节点的适应度越高,将获取的节点系数jdx值与预先设定的适应度阈值进行对比,适应度阈值用于区分边缘计算节点的适应度达标或不达标;
若节点系数jdx值大于等于适应度阈值,判断该边缘计算节点的适应度达到要求,若节点系数jdx值小于适应度阈值,判断该边缘计算节点的适应度达不到要求。
响应延迟指数的获取方式为:
Ping测试:使用网络工具如ping,向边缘计算节点发送小数据包,记录往返时间(Round-Trip-Time,RTT)作为响应延迟的指标;
应用级监控:在应用程序级别内记录请求到响应的时间,可以使用性能监测工具或在应用代码中嵌入时间戳。
任务完成速率的获取方式为:
记录任务开始和结束时间:在任务开始和结束时记录时间戳,然后计算任务完成速率,这对于长时间运行的任务非常有用;
周期性监测:定期监测已完成任务的数量,并计算完成速率。
节点当前负载指数的获取方式为:
系统监控工具:使用系统监控工具(如top、htop、Windows任务管理器等),观察节点的CPU使用率、内存使用率、磁盘I/O等,以获得节点的当前负载指数;
容器监控:如果边缘计算节点使用容器化技术,可以使用容器监控工具(如Docker-Stats)来获取节点负载信息。
计算资源利用率的获取方式为:
系统监控工具:使用系统监控工具来获取节点的CPU利用率、内存利用率、磁盘利用率等信息;
性能计数器:使用操作系统提供的性能计数器,可以获取更详细的硬件层面的计算资源利用率信息;
容器化环境:在容器化环境中,容器编排工具和监控工具可以提供容器级别的资源利用率信息。
因为微服务部署到边缘计算节点上存在着约束关系,所以矩阵元素必须满足以下规则:每一个元素e必须是整数,且e∈[1,M],保证每一个边缘计算节点vi∈M,边缘计算节点的剩余计算资源
种群指的是一组具有某种特定基因编码的个体集合,其中每个个体都是问题的一个可行解,为了提高搜索效率和避免出现局部最优解,采用多次随机的产生的初始种群的方法,具体如下:
(1)生成NUM个N*3的全零数组用于保存种群中每个个体的基因信息,随后进入第(2)步;
(2)随机产生一个N*3的数组,并与染色体编码里面提出的规则进行比对,若满足规则,则进入第(3)步,否则重复本步骤;
(3)将第(2)步产生的数组加入种群中,若此时种群的数量为NUM,则结束初始化种群,否则跳转回第(2)步;
根据适应度函数可以选择出种群中的优势个体,提供搜寻最优解的进化方向,个体基因的优劣与服务的总体时延和边缘计算节点的资源利用率有关,适应度函数的值越小,表明基因越优异,否则,染色体所表现个体表现出延迟高,资源利用率低的特点,适应度函数的表达式为:其中,矩阵A表示候选解边缘计算节点,即当前种群中的任一个边缘计算节点,/>表示权重,且/>大于0,g1(A)表示总体边缘计算节点的时延,g2(A)则表示总体边缘计算节点的资源利用率;/>
选择操作在定向选择出优秀边缘计算节点的同时也需要保持边缘计算节点的多样性,防止出现局部最优,使用随机普遍选择法中的轮转赌选择法,和子代边缘计算节点与部分优秀的父代边缘计算节点竞争的方法,具体为:
A、对所有个体按照适应度函数值的大小进行排序,并用前20%作为产生下一代的父代边缘计算节点,并将这些父类直接加入子代边缘计算节点中;
B、根据轮转赌选择法,根据概率随机选择出剩余80%中的个体作为母亲,再在第一步中的父类个体中随机选择出一个作为父代边缘计算节点,将选出的父代边缘计算节点和母代边缘计算节点的基因进行交叉、变异处理,产生一个子代边缘计算节点,并根据染色体编码中的资源要求计算,若满足规定,则进入第C步,否则舍弃掉该子代边缘计算节点,并重复本步骤;
C、计算出该子代边缘计算节点的适应度函数的值,并与第A步中选出的父类的适应度的最小值比较,若子代边缘计算节点的适应度的值更小,则将该子代边缘计算节点加入种群中;反之,跳转回步骤B;
D、若子类种群的数量为NUM,选择操作结束,否则跳转回步骤B;
E、采用交叉点选择算法计算出当前交叉点的位置;
F、根据选择操作中的步骤B确定交叉的双亲,然后将双亲的染色体上位于交叉点位置之后的所有的基因相互交换,获得两个子代边缘计算节点;
G、对子代边缘计算节点进行染色体编码的规则进行检查;
采用上述方法获取交叉点有如下优势,在迭代前期,交叉点的位置靠前,而且向后移动的很缓慢,使得前期拥有较好的全局搜索能力,随着迭代次数的增加,交叉点的位置以更快的速度向后移动,算法收敛的速度变得越来越快。变异操作是算法具有非定向的全局搜索能力的关键因素,能有效防止出现局部最优;
本申请采用的变异策略是随机打乱个体的基因的排列,随机的打乱编码矩阵将导致微服务链中的服务所部署的服务器编号发生随机的改变,增加了子类的多样性,同理,在改变了排列后,也需要根据染色体编码的规则检查是否满足规则,若满足则当前变异有效,否则将重新生成变异的子类。
通信模块基于RTSP视频流传输协议将边缘计算节点分析数据发送至中心服务器模块,边缘计算节点与中心服务器之间通过安全可靠的通信通道传输必要的信息,通信模块要确保数据的保密性和完整性,并能够适应不同的网络条件,包括低带宽、高延迟等,具体为:
通信模块应采用安全的通信协议,如TLS/SSL,以保障数据在传输过程中的保密性和完整性,通过加密机制确保数据不容易被窃取或篡改,在通信开始阶段,确保边缘计算节点和中心服务器之间的身份验证,采用合适的身份验证机制,如基于证书的认证,以确保通信双方的合法性,同时,授权机制可以限制只有授权的节点能够进行通信,使用虚拟专用网络(VPN)等安全通道技术,确保通信数据在网络传输中的隐私和安全,这有助于在公共网络上建立私密的通信通道,通信模块应具备对不同网络条件的适应性,包括低带宽、高延迟等情况,可以采用自适应传输协议,如HTTP-Adaptive-Streaming(HAS)等,根据实际网络情况调整传输速率和质量,以保障数据传输的稳定性和效率;
引入容错机制和重试策略,以应对在不稳定网络环境下可能发生的丢包、超时等问题,确保即便在网络波动的情况下,通信模块能够尽力完成数据的传输任务,在低带宽情况下,可以采用数据压缩技术减小传输数据量,提高传输效率,选择适当的压缩算法,平衡压缩率和解压缩性能,定期更新用于数据加密的密钥,增加安全性,这有助于降低因为长时间使用相同密钥而引发的潜在安全风险,记录通信过程中的关键信息,包括成功的传输、异常事件等,这有助于事后审查和问题排查。
实施例3:请参阅图2所示,本实施例所述一种基于人工智能的物联网终端监控方法,所述监控方法包括以下步骤:
通过传感器负责采集环境数据,摄像头负责拍摄视频图像,执行器负责执行相应的命令,这些终端设备产生的原始数据将用于后续的分析和决策,终端设备使用轻量级的人工智能算法,对采集到的数据进行初步的处理,这可以包括数据的压缩、降噪、特征提取等步骤,以减少需要传输到中心的数据量,通过部署在物联网终端附近的边缘计算节点负责进一步处理和分析本地数据,基于ResNet预训练模型对原始数据中的人脸进行识别,通过迁移学习的方式,提高了人脸识别的精度和处理效率,基于遗传算法对视频处理服务进行分析,使得边缘计算节点的视频处理服务的时延降低,并且有较高的资源利用率,这些节点可以是专门的硬件设备或者是具有边缘计算能力的服务器,通过在边缘进行计算,可以减轻对中心服务器的负担,并加速响应时间,基于RTSP视频流传输协议将边缘计算节点分析数据发送至中心服务器,中心服务器负责管理整个系统,接收从边缘计算节点传输过来的数据,生成监控报告、提供远程控制等服务,中心服务器的主要任务是汇总和整合来自各个边缘计算节点的信息,提供用户与系统交互的界面,可以是Web界面、移动应用或其他形式,用户可以通过该接口查看监控数据、设定参数等。
上述公式均是去量纲取其数值计算,公式是由采集大量数据进行软件模拟得到最近真实情况的一个公式,公式中的预设参数由本领域的技术人员根据实际情况进行设置。
应理解,本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,其中A,B可以是单数或者复数。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系,但也可能表示的是一种“和/或”的关系,具体可参考前后文进行理解。
应理解,在本申请的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。