掌桥专利:专业的专利平台
掌桥专利
首页

一种冰箱的智能化图像数据采集处理方法

文献发布时间:2023-06-19 13:49:36


一种冰箱的智能化图像数据采集处理方法

技术领域

本发明涉及一种智能冰箱控制系统。

背景技术

冰箱,是保持恒定低温的一种制冷设备,也是一种使食物或其他物品保持恒定低温状态的民用产品。箱体内有压缩机、制冰机用以结冰的柜或箱,带有制冷装置的储藏箱。家用电冰箱的容积通常为20~500升。

1910年世界上第一台压缩式制冷的家用电冰箱在美国问世。1925年瑞典丽都公司开发了家用吸收式冰箱。1927年美国通用电气公司研制出全封闭式冰箱。1930年采用不同加热方式的空气冷却连续扩散吸收式电冰箱投放市场。1931年研制成功新型制冷剂氟利昂12。50年代后半期开始生产家用热电冰箱,中国从50年代开始生产电冰箱。

所谓智能冰箱,就是能对冰箱进行智能化控制、对食品进行智能化管理的冰箱类型。具体点说,就是能自动进行冰箱模式调换,始终让食物保持最佳存储状态,可让用户通过手机或电脑,随时随地了解冰箱里食物的数量、保鲜保质信息,可为用户提供健康食谱和营养禁忌,可提醒用户定时补充食品等。

传统的冰箱并无视觉识别食物的功能,目前智能冰箱也少有此功能并且价格偏贵,而且买了一款智能冰箱后,其功能固定,体积大,若用户想升级或更换,操作非常困难且成本高。

由上述可以看出,传统冰箱无法直接升级到智能冰箱的其中一个原因,在于视觉识别食物这一智能化功能的实现,更具体的说,是传统的冰箱上缺少智能摄像设备这一组件,而智能冰箱上具有摄像设备,因此,智能冰箱能够通过摄像设备进行食物图像的采集,并通过对应的软件程序系统实现智能化控制,而传统的冰箱由于缺少智能摄像设备,即是在外部安装一个摄像设备,也缺少其内部的智能化控制手段,无法进行智能化的图像数据采集和处理。

发明内容

针对现有技术中的不足,本发明的目的是提供一种能够应用于外置摄像设备,实现其内部的智能化控制,使其具备智能化图像数据采集和处理功能的冰箱的智能化图像数据采集处理方法。

本发明解决其技术问题所采用的技术方案是:

一种冰箱的智能化图像数据采集处理方法,包括:

图像数据的获取,以预设的触发条件控制摄像设备采集图像数据并进行发送;

物体的识别,用改进的YOLOv4-tiny模型对图像进行检测,提取检测到的目标物体,进行类别归类,构成关系分层图和匹配权值矩阵,经过物体识别网络和匹配权值矩阵去确认物体的类别和物体;

动作的识别,基于图像数据,构建无交集且随着时间覆盖而消亡的时空图,基于时空图进行动作轨迹的追踪;

虚拟服务器的调度,基于图像数据的获取状态、物体的识别状态,以及动作的识别状态,调度虚拟服务器拉取并处理图像数据。

进一步的,在进行图像数据的获取时,控制摄像设备进行联网操作,并以预设的时间周期进行心跳检测操作和空间容量检测操作,其中,

联网操作的方法为:在摄像设备开机时,进行初始化判定,判断该摄像设备是否为新出厂机器,若是新出厂则将tf卡内设置读取并初始化摄像设备,将初始化数据包括UID、软件版本与设置存入flash内;联网判定的方法为:尝试通过wifi列表文件的AP名与对应密码联网,若能联网则判断此摄像设备的状态,若是AP模式则开启wifi热点,若是蓝牙模式则转到开启蓝牙,若是wifi direct模式则开启wifi直连,不能联网则判断wifi密码与AP名的获取方式,并发出联网失败的语音提示;

心跳检测操作的方法为:每隔一段预设时间,开启线程发送包到服务器,当服务器返回接收成功的信息,则返回主程序操作,结束线程,若在一定时间内未收到信息则判断联网状态,有信息错误返回则是服务器问题,返回主程序操作,结束线程,若完全无信息返回则判定为无法联网,则进入联网操作,并结束线程;

空间容量检测操作的方法为:每隔一段预设时间,读取tf卡剩余空间大小,若剩余空间大于预设值则不做任何动作,若剩余空间小于预设值则按时间节点删除最早的视频,直到剩余空间大于预设值,结束线程。

进一步的,摄像设备采集图像数据的方法为:在收到PIR、摄像设备动作捕捉、麦克风声音捕捉的报警事件后,开启事件记录线程,将该事件类型记录到事件列表文件内并创建该事件的录像文件,让摄像设备开始录像并保存到tf卡内;事件开始和结束都会发送事件报警给服务器,并返回发送回应信息,并判断是否成功,若不成功则储存在未发送事件列表中,等待一段时间后再发送,若发送成功并事件结束,则跳到主程序操作,结束线程。

进一步的,YOLOv4-tiny模型的训练方法为:采集相关数据集,对采集的数据集使用图像标注工具对目标物体数据集的图像进行标定,并对采集的数据集进行数据增强,选择YOLOv4训练策略对YOLOv4-tiny模型进行训练;其中,

相关数据集的采集方法为:通过多个相同或不同的视频源,在不同场景,不同时间下采集包含目标物体的视频;

对目标物体数据集的图像进行标定的方法为:使用LabelImg工具对目标物体数据集的图像进行标定,并划分训练集、测试集、验证集。

进一步的,在训练前,对YOLOv4-tiny模型中的网络进行改进,对CSPDarknet53-tiny的CSPBlock模块进行修改,减少其计算量,在YOLOv4-tiny模型的底部添加SPP的改造体SPP MAX Mode,把原侦测处理头部的卷积替换成Detect Block。

进一步的,YOLOv4的训练策略包括余弦退火和多尺度训练。

进一步的,时空图的构建方法为:构建深度学习目标检测网络,将图片序列集输入到检测网络中,获得检测框集,并将检测框集转化为时空图,其中,

获得的检测框集为:图像经过检测网络获得物体检测框和人体检测框;

把检测框集转化成时空图的方法为:排序、过滤和对比,该时空图为多目标时空图,该多目标时空图包括物体时空图和人体时空图,将物体时空图和人体时空图进行人体关联处理,将人体时空图的面积和物体时空图的面积进行交并集比,过滤不符合需求条件的物体时空图。

进一步的,基于时空图进行动作轨迹的追踪方法为:获取图片、设备ID号、图像时间戳,并结合时空图,进行轨迹生成和轨迹数组对比,通过时空图和轨迹数组的信息对轨迹数组进行更新,确认动作,根据时间戳对轨迹数组进行接力更新,让轨迹数组保持动态性;其中,

进行轨迹生成和轨迹数组对比的方法为:将时空图、图片、设备ID号、图像时间戳和该设备的轨迹数组进行交叉比对,以获得在该设备中属于该类别的轨迹,在比对的结果选取各自代表的帧信息,以当前时空图的信息构成当前帧信息,轨迹数组相应的类最后一帧信息构成前一帧信息,计算两帧中物体中心点的偏移量,来确认运动趋势;

通过时空图和轨迹数组的信息对轨迹数组进行更新的方法为:通过每个设备的每一个时间戳的时空图不断更新其轨迹数组,把数组存储的上一帧数组信息和当前帧的时空图信息进行物体中心点偏移量的判断,从而确认某一小阶段的运动趋势,然后把当前帧的交叉比数组存储到轨迹数组中;

确认动作的方法为:按照动作保留时长存在的时间戳长度,对轨迹数组进行选择和过滤,根据动作最小判断阈值去更新轨迹数组的运动状态数;

进行接力更新的方法为:提取轨迹数组有实际数据的部分,形成部分轨迹数组,所述的部分轨迹数组每一条轨迹下的每一帧进行遍历,对每一类最后一帧的信息作为当前帧进行判断,如数组信息的趋势个数大于最小判定阀值,就能判定动作的状态,开始重新计数运动状态数,将当前帧的趋势个数重置为1,把当前帧的信息赋值作为轨迹存储数组的第一帧,轨迹存储数组其他帧重置为初始状态。

进一步的,在轨迹数组接力更新后,动作代表时间戳更新为当前图片的时间戳,代表图像更新为当前时空图,代表性图像置信度更新为当前目标对象的置信度。

进一步的,调度虚拟服务器的方法为:视频处理服务端接收到工作指令后,通过P2P服务拉取指令内容里提供的对应设备时间段产生的视频数据,客户端解码数据后运行算法程序做初步算法筛选,然后根据指令择优发送到相对空闲算法服务器做进一步数据运算。

本发明的有益效果是:

针对于外置式摄像装置在传统冰箱上的智能化控制管理,采用了一系列匹配手段,包括有图像数据的获取,物体的识别,动作的识别和虚拟服务器的调度,在获取图像数据后,分别针对外置式摄像设备的数据特点,采用了独特的类别识别和动作识别方法,并采用了虚拟服务器进行调度,避免传统冰箱升级智能冰箱导致的算法服务器算力不足的情况,实现了传统冰箱向智能冰箱的升级,以较低的成本解决了冰箱的智能化控制,大大的增加了外置式摄像装置与冰箱相结合接入的兼容性问题。

附图说明

图1为本发明的实施例1的基于外置式摄像装置的控制方法的流程图;

图2为本发明的实施例2的示例性系统架构图;

图3为本发明的实施例2的目标检测模型图;

图4为本发明的实施例2的进行修改后的目标检测模型第一部分图;

图5为本发明的实施例2的进行修改后的目标检测模型第二部分图;

图6为本发明的实施例2的注意力模块图;

图7为本发明的实施例2的物体类别关系分层图;

图8是本发明的实施例3的系统架构图;

图9是本发明的实施例3的模块图;

图10是本发明的实施例3的人体关联处理的交并比图;

图11是本发明的实施例3的进行动作轨迹追踪图;

图12是本发明的实施例3的进行动作轨迹接力更新图;

图13是本发明的实施例3的轨迹数组示例图;

图14为本发明的实施例4的服务器调度控制系统的流程图。

具体实施方式

下面结合附图和具体实施例对本发明作进一步说明,以使本领域技术人员可以更好的理解本发明并能予以实施,但所举实施例不作为对本发明的限定。

实施例1

参阅图1所示,一种基于外置式摄像装置的控制方法,摄像设备开机首先进入S000播放开机语音,并且开机语音可通过用户设置关闭或更换。

然后进入S001判断是否新出厂机器,若是新出厂则将tf卡内设置读取并初始化摄像设备,将初始化数据包括UID、软件版本与设置等存入flash内。

进入S002尝试通过wifi列表文件的AP名与对应密码联网,若能联网则跳进S200主程序,不能联网则跳进S100判断wifi密码与AP名的获取方式,并发出“联网失败”的语音提示。

S100会判断此摄像设备的硬件版本和软件设置,若是AP模式则转到S110开启wifi热点,若是蓝牙模式则转到S120开启蓝牙,若是wifi direct模式则开启wifi直连。

若进入S110,会等待手机APP发送命令,手机可发送读取AP列表命令让摄像设备读取附近AP名称列表发回手机,之后手机发送wifi密码和AP名给摄像设备联网(也可直接跳过前一步读列表,直接发送AP名与密码),得到AP名与密码后存入wifi列表文件并跳入S111。获取成功则跳到S112,否则跳回S110。进入S112会将摄像设备由AP模式转换为STA模式,连接得到的密码连接该AP热点,跳入S113判断是否连接和联网成功,若联网成功则跳进S200主程序,否则跳回S110,开启AP模式等待下一个AP名与密码。

若进入S120则开启蓝牙并等待手机通过蓝牙发送AP名与密码,如果获取到以上信息则尝试联网,联网失败则重新进入S120再次等待,联网成功则关闭蓝牙、将AP名与密码存入wifi列表文件并跳进S200主程序。

若进入S130则开启STA模式尝试通过wifi列表文件内的AP名与对应密码跳进S131连接网络,直到手机通过wifi direct直连摄像设备发送AP名与密码更新wifi列表文件,更新文件后能联网则跳到S200主程序,否则返回S130再读wifi列表文件。

S200主程序将判断各种条件,根据条件开启对应线程,其中包括:

每隔25秒开启S210线程发送心跳包到服务器;

收到PIR(人体红外检测)、摄像设备动作捕捉、麦克风声音捕捉等报警事件,开启S220事件记录线程;

收到服务器的事件查询命令时开启S230线程返回录像;

收到服务器OTA指令则开启或重启S240线程,下载OTA或设置文件更新程序;

收到实时视频观看命令,则开启S250线程开启实时视频流传输;

每隔60秒开启S260线程读取tf卡空间。

若进入S210线程,则发送心跳包到服务器,当服务器返回接收成功的信息则跳到S300结束线程,若长时间未收到信息则跳入S211判断联网状态,有信息错误返回则是服务器问题,跳进S300结束线程,若完全无信息返回则无法联网,跳回S002检查联网状态并结束线程。

若进入S220线程,则开始事件,如人接近冰箱,传感器检测到红外信号、摄像设备侦测到物体移动、麦克风检测到声响,将该事件类型记录到事件列表文件内并创建该事件的录像文件,让摄像设备开始录像并保存到tf卡内。事件开始和结束都会进入S221发送事件报警给服务器,并返回发送回应信息,通过S222判断是否成功,若不成功则储存在未发送事件列表中,等待一段时间(例如30秒)后再发送,若发送成功并事件结束则跳到S300结束该线程。

若进入S230线程,则根据服务器查询的事件时间,找到对应的事件录像,发送录像文件到服务器,然后跳进S231判断发送是否成功,若失败则再次发送,成功则跳进S300结束该线程。

若进入S240线程,则根据OTA命令给的网址下载文件,并判断文件类型是主程序文件或其他配置文件,然后跳到S241对比MD5校验码,若未通过校验则删除下载文件再重新下载,通过校验则跳到S242根据文件类型更新程序或更改配置,重启后使用新版程序。设置更改内容包括:照明灯的亮度与开启逻辑,例如PIR事件或声控控制灯亮;检测事件种类和灵敏度;语音大小等。通过S242能改变整个程序的结构,例如让S200增加一个新的线程(如新增一个S270线程),或改变进入线程的条件(如进入S260条件变成30秒)。

若进入S250线程,则传输实时视频流到服务器,并跳到S251检测是否断开连接,若未断开则继续传输,断开则跳到S300结束该线程。

若进入S260线程,则读取tf卡空间大小,若空间大于1GB则不做任何动作,若空间小于1GB则跳进S261开始删除最早的视频,直到空间大于2GB则结束,然后跳到S300结束线程。

实施例2

结合图2显示,本实例提供一种基于视觉的物体识别方法和系统,包括三个部分:物体检测,匹配权值矩阵、物体识别。

优选地,物体检测方法,包括:

通过在不同的环境场景和不同天气,不同光照下,传感器、红外线等机制采集到目标视频流,借助多媒体处理工具(如FFmpeg)对目标视频进行抽帧处理,得到多个图像帧序列。

对采集的多图像帧序列进行预处理,预处理方法不限于过滤、筛选、剪裁、拼接、高斯噪声和模糊处理,经过预处理的目标物体图像构成目标物体数据集。

使用目标检测常用的标注工具Labelimg对图像中需要检测的目标物体进行标注。

通过K-Means++聚类算法,对数据集中真实目标框计算出针对本数据集的不同大小的先验框大小。

上述K-Means++聚类算法具体实施过程:

①将标注的Bounding Box四角的坐标转换为长宽信息,具体为:用边界框右下角点横坐标减去左上角横坐标得到边界框的长,右下角纵坐标减去左上角纵坐标得到边界框的宽。

②先随机从Bounding Box中选择一个边界框,计算边界框和锚框的距离,然后按照轮盘法选择下一个锚框,选取的原则是:距离较大的点,有较大的概率被选取。

③重复上述步骤②,直到K个锚框被选出。

④该示例中K-Means++用到的距离用交并比值IOU代替,公式如下:

d(box,centroid)=1-IOU(box,centroid)

式中:box表示边界框,centroid表示锚框。

⑤分别计算所有Bounding Box与K个锚框的距离,对于每个边界框,按照距离进行排序,将该边界框归类到最小距离的锚框中去,整个Bounding Box分为K类。

⑥对K类的Bounding Box中每一类的边界框进行长宽统计,求长宽均值作为作为新的锚框长宽,共生产K个新的锚框。

⑦重复上述步骤②到步骤⑥,直至边界框的分类不再发生变化或达到阈值,完成边界框的聚类。

在本发明的目标检测中,采用YOLO系列作为检测模型,如图3所示,采用了YOLOv4-tiny框架网络,该网络包括特征提取主体网络、特征融合增强网络,特征检测网络。

特征提取主体网络,采用了CSPDarkNet53-tiny的构架,其输入通道3的图像,为了满足32倍差的比例,会对原生图像进行等比例的缩放,之后为了保证图像不失真,不改变图像的边长比,在长边上下或左右扩充灰色区域。在网络的主干道上,把原YOLOv3的残差块结构改成CSPNet结构,将经过基础卷积层处理后的特征图按通道对半选入一条路径,该路径进行残差提取特征操作,接着与原特征图叠加在一起,再转化操作,该操作可以增强CNN的学习能力,能够在轻量化的同时保持准确性、降低计算瓶颈、降低内存成本。多次采用经过CSPNet改进的残差块来进行卷积,最终特征提取的两个结果就是后续加强特征提取网络的输入。

在YOLOv4-tiny特征融合增强网络中,采用了简易版本的FPN图像金字塔加强特征之间的融合,底层的特征层上采样与CSPNet最上层的的结果叠加在一起,再输出到特征检测网络。

上述实施例,特征检测网络,由两个YOLOHead组成,提取到的特征进行结果的预测,主要就是一个3*3的卷积,一个1*1的卷积的组合。

步骤A4:针对YOLOv4-tiny特征提取能力不强的特点,在YOLOv4-tiny框架的最底层中嵌入SPP MAX Mode机制、把YOLOHead卷积替换成Detect Block模块、修改主体的CSPBlock模块,如图4-5所示。

本发明的SPP MAX Mode模块的原始构造为SPP,SPP作为一个优秀的增加卷积核感受野的插件,被应用在各种优秀的目标检测网络中,不需要指定输入图像的尺寸或比例,就能够生成固定大小的特征,再送到全连接层。基于以上的研究,提取一个SPP MAX Mode,在扩展卷积核感受野的同时,进行多尺度的特征融合,以获得更多有限的局部信息。

具体地,SPP MAX Mode模块,使用小(5x5)、中(9x9)、大(13x13)三种不同尺度的最大池化窗口分别作用于传入的卷积特征,然后把输入特征图和经过最大池化后的局部尺寸特征图进行通道融合,按照通道减半的原则,传入两条路径处理和整合特征,最后再合拼在一起进行输出。

因为实例例的YOLOv4-tiny第一追求点是速度,在特征融合增强结构上,只是FPN特征金字塔的简陋版,整个特征金字塔只有两层,原自上而下的多尺度融合都没有,造成特征的提取和利用能力差。

针对上述特征的提取和利用能力差的缺陷,设计一个Detect Block的模块代替原YOLOv4-tiny的FPN后出来的卷积层。

具体地,Detect Block模块将输入的特征图按照通道分离到两条路径,一条路径进行特征提取,再与另一条路径通道合并,最后进行通道减半输出,为减少计算量和参数量,特征提取部分采用了可分离卷积的设计模式,通道先减少再恢复。

本实例的SPPMAXMode模块和DetectBlock模块地引入,不可避免地减缓了模型的检测速度,为了弥补速度方面地损失,在原CSPBlock模块内,用分组卷积和深度可分离卷积替换原每个单卷积。

步骤A5:针对本实例地特性,选择目前优秀的训练策略和技巧进行训练和提升模型性能。

可选地,针对数据集,采用Mosaic数据增强模块对数据集进行增强。

上述所述的方法包括每次读取四张图像,分别对四张图像进行翻转、缩放、色域变化等,并且按照四个方法位置摆好,然后进行图像的组合和框的组合。

可选地,针对标签,通过标签平衡模块块对所述目标检测模型的过拟合进行控制。

具体地,通过人为引入的一个固定分布和平滑因子,与原one-hot后的标签做乘积。

y′=(1-ε)×y+ε*u

其中y′为标签平滑操作后的样本标签,ε为平滑因子,u是人为引入的一个固定分布(可以看作是为概率分布引入固定分布的噪声),并且由参数ε控制相对权重。

其中p

通过促使神经网络中进行Softmax激活函数激活之后的分类概率结果向正确分类靠近,即正确的分类概率输出大(对应的one-hot标签为1位置的Softmax概率大),并且同样尽可能的远离错误分类(对应的one-hot标签为0位置的Softmax概率小),即错误的分类概率输出小。

可选地,在训练策略中,还采取了学习率余弦退火衰减的步骤。学习率上升的时候使用线性上升,下降的时候模拟cos函数下降,执行多次,是一种十分有效的学习方式。其原理如下所示:

其中i表示第几次运行,

在YOLO中,将整个图像划分为SXS个格子,每个格子作为先验锚框的局部坐标,在格子内训练的网络预测的坐标偏移量、物体置信度和类别置信度对每个锚框分别进行拟合,最后经过非极大值抑制后得到检测框的坐标和类别,其损失函数等于:

Loss(object)=L

其中

可选地,本实例采用CIOU作为回归损失函数,且根据先验框调整后得到的预测框与真实框的距离、尺度确定所述回归损失函数:

其中b∩b

ρ

其中公式中α的表达式如下:

公式中υ的表达式如下:

其中w

图像经过物体检测模型后进行,把检测到物体传递给物体识别方法。

构建匹配权值矩阵。

步骤B1、采集相关数据集。

把目标数据集分成两部分,一份是物体的大类数据集,另外一份为物体的小类数据集,分类标准可根据属性、外形、类别等去划分。

步骤B2、对目标数据集做关系处理。小类的物体和大类的物体建立关联,每个大类关联多个小类,大类和小类的关系是树形结构,如图7所示,形成关系分层图。

步骤B3、根据关系分层图,通过余弦相似度建立大类和小类匹配权值矩阵。

具体地余弦相似度为,

其中A,B为向量特征值,给出的相似度范围为-1到1,-1意味着两个方向正好截然相反,1表示它们的指向是完全相同的,0通常表示它们之间是独立的,而在这之间的值则表示中间的相似性或相异性,n为特征库中特征的数量。

改造MobileNetv2识别网络,对目标物体进行分类。

Mobilenetv2的优势在于提出了Linear Bottleneck和Invered Residual。

Linear Bottleneck通过去掉Eltwise+的特征去掉ReLU,减少ReLU对特征的破坏,用linear bottleneck(即不使用ReLU激活,做了线性变换)的来代替原本的非线性激活变换。

上述的Invered Residual将3x3卷积变为了深度可分离卷积,计算量大幅度减少,可实现更多的通道设计,效果更好。通过1x 1卷积先提升通道数,再Depthwise的3x3空间卷积以及ReLU,通过增加ReLU的输入维度,来缓解特征的退化情况,最后用1x1卷积降低维度。

Mobilenetv2为了追求速度,部署到移动端,特征提取能力存在欠缺,为了弥补这个缺陷,本发明在Mobilenetv2的每一个bottleneck中引入注意力机制,如图6所示。

注意力机制在各种计算机视觉任务中都是有帮助,如图像分类和图像分割。其中最为经典和被熟知的便是SENet,它通过简单地squeeze每个2维特征图,进而有效地构建通道之间的相互依赖关系。SE Block虽然被广泛使用,然而,它只考虑通过建模通道关系来重新衡量每个通道的重要性,而忽略了位置信息,但是位置信息对于生成空间选择性attention maps是很重要的。

针对上述的缺点,引入Coordinate Attention Block,该模块不仅仅考虑了通道间的关系还考虑了特征空间的位置信息。

具体操作分为Coordinate信息嵌入和Coordinate Attention生成2个步骤。首先使用尺寸为(H,1)或(1,W)的pooling kernel分别沿着水平坐标和垂直坐标对每个通道进行编码,分别沿两个空间方向聚合特征,得到一对方向感知的特征图。将上面的变换进行concatenate操作,然后使用卷积变换函数对其进行变换操作里面控制通道的缩减率。然后沿着空间维数将分解为2个单独的张量和,利用另外2个卷积变换和分别将和变换为具有相同通道数的张量到输入,再用sigmoid函数进行激活,对输出和进行扩展分别作为attention weights,最后用attention weights获取原特征图的在通道上加权的方式融合。

把上述检测出的图像传入修改好的Mobilenetv2网络中,结合匹配权值矩阵,进行物品分类。

通过上述余弦相似度算法,获取检测物体和大类特征匹配度前五的类别和其大类匹配度的值,接着再去匹配5个大类中所有小类的特征,同样,根据小类匹配度的大小,获取每个小类前5个物体匹配的小类物体和小类匹配度的值。根据大类和小类的匹配结果,建立匹配权值矩阵,大类的匹配结果作为小类匹配结果的权重,两两相乘,选择匹配权值矩阵中最大的数,该数的大类别代表目标物体所属的类的类别,小类的归属代表该物体所属的小类。

实施例3

图8结合图9显示本实例提供一种基于视觉的动作识别的方法,包括:

步骤1:通过设备采集视频,获得图片序列集。

步骤2:构建深度学习目标检测网络,对图片进行物体检测和人体检测处理,获得检测框集。

步骤3:把检测框集转化为多目标时空图。

步骤4:通过时空图、图像、设备ID号、图像的时间戳,进行轨迹生成和轨迹数组对比。

步骤5:借助时空图和轨迹数组的信息对轨迹数组进行更新,确认动作。

步骤6:根据时间戳对轨迹数组进行接力更新,让轨迹数组保持动态性。

在步骤3中,通过排序、过滤、对比等方式,把检测框集转化成多目标时空图。

上述实施例中的物体时空图和人体时空图,进行人体关联处理,将人体时空图的面积和物体时空图的面积进行交并集比,过滤不符合需求条件的物体时空图。

在步骤4中,将步骤3得到的时空图、图片、设备ID号、图像时间戳和该设备ID存储的轨迹数组进行交叉比对,以获得在该ID设备中属于该类别的轨迹,在比对的结果选取各自代表的帧信息,以当前时空图的信息构成当前帧信息,轨迹数组相应的类最后一帧信息构成前一帧信息,计算两帧中物体中心点的偏移量,来确认运动趋势。

在步骤5中,根据每一种物体的运动趋势在图片序列存在的帧数,选取上述实施例中的当前帧对当前设备存储的轨迹数组进行更新。

也可按照数据集和任务的具体情况,指定物体的运动趋势在图片序列存在的帧数为常量,本实施例中以15帧作为基准说明。

在步骤6中,按照动作保留时长存在的时间戳长度,对轨迹数组进行选择和过滤,根据动作最小判断阈值去更新轨迹数组的运动状态数。

相应地,本发明根据上述实施例,把整个流程分成六个模块,从开始到结束分别为:物体检测模块201、目标时空图生成模块202、轨迹数组生成模块203、轨迹数组对比模块204、轨迹数组更新模块205、轨迹数组接力更新模块206。

准备阶段:多视频源采集设备101通过传感器、红外线等机制采集到目标视频流,借助多媒体处理工具(如FFmpeg)对目标视频进行抽帧处理,获取图像帧序列102。

进入物体检测模块201,将图像帧序列102输入目标检测网络,得到目标对象时空图103,更具体的说,是将图像帧序列输入到已经增强的多类别检测网络中,得到视频片段中的多个目标对象的检测框集,代表着目标对象所在的位置,输出的结果为[Classify,C,X1,Y1,X2,Y2],其中Classify为检测框集目标对象的类别名称,C为目标对象的概率,X1,Y1,X2,Y2分别表示物体检测框集左上横坐标、左上纵坐标、右下横坐标,右下纵坐标。

将每一个图片帧里面的检测框集按照标签类别编号进行排序,把属于同一类别的物体检测框集叠加在一起,不同类别的检测框集进行分离,从而得到类别排列检测框集。输出的结果为[[[X1,Y1,X2,Y2,CID,C]

进入时空图生成模块202,将上述实施例中的类别排列检测框集转化为目标时空图403。目标时空图包括的特征如下,返回框状态和交叉比检测框数组。

参阅图11所示,具体的,所述目标时空图的返回框状态和交叉比检测框数组,检测模型进行物体检测401,如检测模型没有检测到目标对象,返回假框状态和假交叉比数组,如检测模型检测到目标对象,返回真框状态,将上述实施例中的类别排列检测框集进行类别遍历,把人体类别的检测框集和物体类别检测框集提取出来,人体类别检测框集为

在人体关联单元402,通过上述的IOU值判断是否大于阈值TR,如果小于TR,说明不是跟人体有关联;无法形成动作的趋势判断,大于TR的,说明是动作影响后造成的,会形成物体的轨迹,具体的,把低于阈值TR的物体检测框集去掉,保留大于阈值TR的物体检测框集,并把该IOU比值作为时空图交叉比检测框集的交并比的比值。

所述交叉比检测框集的组成为[[ID,CR,X

轨迹数组生成模块203,创建轨迹追踪的重要参数变量。如图13轨迹数组图所示,初始化轨迹数组

对应上述生成的轨迹数组404进行更新。也即是把时空图、设备编号、时间戳输入到动作轨迹方法中,得到图像帧序列的动作状态104;更具体的说,是将当前图像,设备ID,当前图片时间戳,时空图(检测框状态,交叉比数组),传入轨迹数组对比模块,确认动作的状态。

轨迹数组对比模块的核心单元,即交叉对比405,把传入的时空图的每一个类别的每个物体和轨迹数组,交叉数组406,每一帧的类别做交叉比对,根据匹配情况对轨迹数组进行更新,当轨迹数组所有帧都没有找到当前时空图匹配成功的类别的目标对象,且轨迹数组为空的时候,直接把当前时空图中交叉比数组作为轨迹数组的第一帧,如轨迹数组所有帧也没找到当前时空图匹配成功的类别的目标对象,但轨迹数组不为空的情况下,则把交叉比数组作为轨迹数组的新类别的第一帧。

上述实施例中交叉比对时,匹配有结果的,则设定最初的趋势态设置为真,取轨迹数组中与当前时空图匹配成功的该类别数组最后一帧作为该目标对象的前一帧F

OM

OM

从而去判断动作运动趋势S,具体的,动作有向前S

可选地,作为本发明一个实施例,偏移量OM有着阈值M

以偏移量的纵坐标为例,OM

作为一种实施方式,轨迹对比模块中,若F

上述偏移量的纵坐标,OM

作为一种实施方式,轨迹对比模块中,若F

上述偏移量的纵坐标,当OM

上述实施例中,通过OM

通过上述的动作轨迹对比模块得到的动作和结果后,对轨迹数组、动作代表时间戳组、类别代表图像组、类别代表图像置信度组进行更新。

具体地,步骤S1:在经过动作轨迹对比模块后,提取动作的运动状态和运动趋势,在能确认动作的情况下,对动作代表时间戳组进行更新,用当前设备当前图像的时间戳代替动作代表时间戳组中该设备存的时间戳。

步骤S2:对类别代表图像组和类别代表图像置信度组进行更新,具体地,把当前图像作为该类别的代表图像添加到类别代表图像组中,没有该类别的图像时是直接添加,有该类别的图像时,提取类别代表图像置信度组中该类别的置信度,与当前时空图该类别的置信度进行比较,当大于类别代表置信度组中该类别的置信度时,当前图像覆盖更新类别代表图像组中该类的图像,当前时空图该类的置信度覆盖更新类别代表图像置信度组中该类的置信度。

步骤S3:对所述轨迹数组404进行更新。在上述的类比中,类比数组的长度大于该设备轨迹数组该类别的数组数时,把轨迹数组该类别最后三帧的信息作为新的第一到三帧的信息,当前帧F

步骤S4:对应图12中轨迹数组接力更新模块。轨迹数组接力更新的特征下,对当前图像的时间戳减去动作代表时间戳组中该设备的最佳时间超过时间阈值的轨迹数组进行二次重置更新。

可选地,时间阈值为项目本实例动作可能是间断的时间。

具体地,对轨迹数组进行过滤,取其有数据的部分,作为局部轨迹数组502,对局部轨迹数组的每一条轨迹的每一帧进行遍历,跟数组的初始化状态进行对比,取轨迹数组中每一类有变换的轨迹数组部分,其每个类局部轨迹数组的最后一帧的信息作为本上述轨迹数组接力更新模块的前一帧F

如上述,前一帧F

上述实施例的轨迹数组接力更新后,动作代表时间戳数组中该设备最佳时间更新为当前图片的时间戳,类别代表置信度组的当前类的图片的置信度重置。

本发明借助目标检测和识别、获得视频帧序列中目标物体的轨迹、通过时空图之间的IOU获得交叉数组,利用交叉数组对轨迹数组进行比较和更新,从而获得物体的运动状态,实现目标物体的轨迹分析和动作判定。

实施例4

参阅图14所示,一种服务器调度控制系统,包括:

设备端,用于进行数据的采集,并向调度服务端发送通知警报;

算法服务端,用于进行系列任务的处理,并向调度服务端通知队列状态;

视频处理服务端,周期性的向调度服务端发送心跳数据包,以及接收调度服务端的指令进行工作;

调度服务端,接收设备端的通知警报、算法服务器的队列状态、以及视频处理服务端的心跳数据包,并基于接收结果,向视频处理服务端发送指令。

该设备端为一外置式摄像装置,用于对出入库的物品进行侦测,当物品进行出入库时,触发侦测并进行数据的采集,并将采集的数据进行本地存储。

该视频处理服务端为具有数据处理能力的智能手持终端。

具体工作流程如下:

触发设备端警报,设备端触发后,向调度服务端发送通知警报;

视频处理服务端连接调度服务端,视频处理服务端向调度服务端发送心跳数据包;

调度服务端优选算法服务端集群,算法服务端向调度服务器发送队列运行情况,调度服务器择优选择通知到视频处理服务端;

通知调度服务端分配任务,调度服务端接收到设备端警报后,择优选择视频处理服务端发送工作指令;

视频处理服务端拉取并处理数据,视频处理服务端收到调度服务端的工作指令后,拉取数据,并做初步算法筛选,并根据指令择优发送至其他算法服务端做进一步数据运算;

数据通知与回显,视频处理服务端取得算法服务端处理后的数据结果,发送通知到调度服务端,最终把运算结果进行保存和展示。

触发设备端警报的方式为:当用户设备端监测到用户存放物品时,则开始录制视频并往本地存储供后续视频处理服务端拉取使用,并触发警报。

视频处理服务端连接调度服务端的方式为:当打开视频处理服务端后马上和调度服务端建立TCP连接,调度服务端接收心跳数据包,且在预设时间内没有收到视频处理服务端的心跳数据包则认为客户端已经下线,将通道关闭。

调度服务端优选算法服务端集群的方法为:算法服务端每处理完一系列任务后与调度服务端保持连接,通知算法服务端队列运行情况,并发送给调度服务端,调度服务端接收到返回信息根据队列状态判断算法服务端空闲情况。

通知调度服务端分配任务的方法为:调度服务端接收到设备端警报后择优选择最近触发心跳的视频处理服务端发送详细工作指令,视频处理服务端根据调度服务端返回的工作指令内容决定拉取对应的用户设备端数据,以及对应的算法服务端推送数据。

视频处理服务端拉取并处理数据的方法为:视频处理服务端接收到调度服务端的工作指令后,通过P2P服务拉取指令内容里提供的对应设备时间段产生的视频数据,客户端解码数据后运行算法程序做初步算法筛选,然后根据指令择优发送到相对空闲算法服务器做进一步数据运算。

数据通知与回显的方法为:视频处理服务端根据调度指令发送到算法服务端处理后取得数据结果,发送通知到调度服务端,最终把用户设备端识别到的物品保存到持久层,和展示到视图层。

心跳计数连接实现方法为:

1)客户端每隔一段时间发送一次心跳给服务端,建立连接并且加入调度队列服务等待调用;

2)服务端在下一次发送心跳周期没有收到客户端连接,则失败心跳计数器加一;

3)当服务端收到客户端的心跳连接后,失败心跳计数器清零;

4)如果连续超过一定次数没有收到客户端心跳连接,则断开当前连接,并且移除队列;

5)调度按先来后到顺序调用与服务器正常维持心跳的客户端;

6)如果客户端主动断开连接,服务端则释放当前资源,删除对应队列,不参与调度,直至下次正常收到心跳。

本发明的有益效果是:

针对于外置式摄像装置在传统冰箱上的智能化控制管理,采用了一系列匹配手段,包括有图像数据的获取,物体的识别,动作的识别和虚拟服务器的调度,在获取图像数据后,分别针对外置式摄像设备的数据特点,采用了独特的类别识别和动作识别方法,并采用了虚拟服务器进行调度,避免传统冰箱升级智能冰箱导致的算法服务器算力不足的情况,实现了传统冰箱向智能冰箱的升级,以较低的成本解决了冰箱的智能化控制,大大的增加了外置式摄像装置与冰箱相结合接入的兼容性问题。

本发明的上述实施例并不是对本发明保护范围的限定,本发明的实施方式不限于此,凡此种种根据本发明的上述内容,按照本领域的普通技术知识和惯用手段,在不脱离本发明上述基本技术思想前提下,对本发明上述结构做出的其它多种形式的修改、替换或变更,均应落在本发明的保护范围之内。

技术分类

06120113821545