具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是根据本说明书一些实施例所示的目标终端检测系统的应用场景示意图。如图1所示,本说明书所涉及的应用场景可以包括第一计算系统130和/或第二计算系统160。
第一计算机系统130可以检测目标终端110的运行情况。目标终端110可以为需要进行运行情况检测的终端。在一些实施例中,目标终端110可以包括打印机110-1、个人电话110-2、电脑110-3、电冰箱110-4等。
摄像终端180为具有摄像功能的终端。在一些实施例中,摄像终端180可以对目标终端110进行摄像。摄像终端可以包括相机180-1、智能手机180-2以及摄像头180-3等。
在一些实施例中,目标终端110运行时会产生运行数据120。运行数据120可以包括音量、用电量等。在一些实施例中,摄像终端180运行时会产生视频数据170。在一些实施例中,运行数据120和视频数据170可以反映出终端的运行情况。例如,目标终端110未正常工作,目标终端110的用电量和/或音量可能减少或增大,视频数据170中可能会有人为操作。
第一计算系统130可以根据运行数据120和视频数据170处理得到目标终端的运行情况140,从而做到自动的对目标终端110的运行情况进行检测,无需人工操作。
第一计算系统130可以获取运行数据120和视频数据170。运行数据120可以通过各种常见的方式获取,例如可以通过用电装置获取用电信息,通过声音传感器获取音量信息。运行数据120和视频数据170可以通过各种常见的方式进入第一计算系统130。在一些实施例中,第一计算系统130可以包括第一模型132。第一计算系统130中的第一模型132可以根据运行数据120和视频数据170确定目标终端的运行情况140。目标终端110的运行情况可以包括所述运行情况包括是否正常运行和/或运行时长。示例地,可以输入运行数据120和视频数据170到模型,输出目标终端110的运行情况为正常运行,运行时长为4h。
第一模型132的参数可以通过训练得到。第二计算系统160可以获取多组样本数据150,每组样本数据150包括运行数据以及视频数据、以及对应的运行情况。第二计算系统160通过多组样本数据150更新第二模型162的参数,得到第一模型132。第一模型132的参数来自于训练好的第二模型162。其中,参数可以以任何常见的方式传递。
模型(例如,第一模型132或/和第二模型162)可以指基于处理设备而进行的若干方法的集合。这些方法可以包括大量的参数。在执行模型时,所使用的参数可以是被预先设置好的,也可以是可以动态调整的。一些参数可以通过训练的方法获得,一些参数可以在执行的过程中获得。在一些实施例中,模型可以为神经网络模型。关于本说明书中涉及模型的具体说明,可参见本说明书的相关部分。
第一计算系统130和第二计算系统160是指具有计算能力的系统,可以包括各种计算机,比如服务器、个人计算机,也可以是由多台计算机以各种结构连接组成的计算平台。
第一计算系统130和第二计算系统160中可以包括处理设备,处理设备可以执行程序指令。处理设备可以包括各种常见的通用中央处理器(central processing unit,CPU),图形处理器(Graphics Processing Unit,GPU),微处理器,特殊应用集成电路(application-specific integrated circuit,ASIC),或其他类型的集成电路。
第一计算系统130和第二计算系统160中可以包括存储介质,存储介质可以存储指令,也可以存储数据。存储介质可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。
第一计算系统130和第二计算系统160还可以包括用于内部连接和与外部连接的网络。也可以包括用于输入或输出的终端。网络可以是有线网络或无线网络中的任意一种或多种。
图2是根据本说明书一些实施例所示的目标终端检测方法的示例性流程图。如图2所示,流程200包括下述步骤。在一些实施例中,流程200可以由处理设备执行。
步骤210,获取M个历史时间点的运行数据。在一些实施例中,步骤210可以由获取模块510执行。
运行数据指目标终端运行的相关数据,可以包括目标终端的状态、目标终端的工作数据等。
目标终端可以是指任意哑终端。例如,打印机110-1、个人电话110-2、电脑110-3、电冰箱110-4等。
在一些实施例中,运行数据可以包括与目标终端相关的音量和用电量中的至少一种。
在一些实施例中,与目标终端相关的音量和用电量可以是目标终端在运行过程中由目标终端自身产生的音量和用电量。在一些实施例中,与目标终端相关的音量和用电量也可以是由目标终端之外的终端、设备产生的音量和用电量。例如,用于辅助目标终端正常运行的设备(例如,电冰箱的辅助制冷设备、电冰箱的外部电机)所产生的用电量和音量。
M个历史时间点的运行数据即包括与目标终端相关的M个历史时间点的音量和用电量中的至少一种。例如,M可以为3,以目标终端自身产生的用电量为例,M个历史时间点的运行数据可以包括历史时间点1、历史时间点2和历史时间点3的用电量。在历史时间点1,目标终端的用电量为1度,即1kW·h。在历史时间点2,目标终端的用电量为1.2度,即1.2kW·h,历史时间点2距历史时间点1的时长为1h。在历史时间点3,目标终端的用电量为1.3度,即1.3kW·h,历史时间点3距历史时间点2的时长为0.5h。M为大于2的整数,可以为2、3…n等,M的取值可根据需要选择。
在一些实施例中,M个历史时间点还可以是预设的多个特定时间对应的历史时间点。特定时间可以是根据需求设置的时刻。例如,下午1点、下午2点等。
在一些实施例中,上述M个历史时间点还可以是预设的多个连续时间点。多个连续时间点可以是指具有相同间隔时长且连续排列的时间点。例如,每间隔10分钟且连续排列的的历史时间点1、历史时间点2和历史时间点3,历史时间点1与历史时间点2、历史时间点2与历史时间点3的间隔时长均为10分钟,历史时间点1与历史时间点3的间隔时长为20分钟。
在一些实施例中,获取模块510可以通过具有数据采集功能的设备获取M个历史时间点的运行数据。在一些实施例中,获取模块510还可以通过网络从存储设备中获取M个历史时间点的运行数据。
在一些实施例中,获取模块510可以通过具有数据采集功能的设备对目标终端进行数据采集得到M个历史时间点的运行数据。
在一些实施例中,具有数据采集功能的设备可以是智能插座、智能电表等。例如,M个历史时间点的运行数据的获取可以通过如下方式实现:以具有数据采集功能的设备是智能插座为例,目标终端的电源线可以插入该智能插座中,由于该智能插座具有数据采集功能,该智能插座的音量采集模块可以采集与目标终端相关的音量,该智能插座的用电量采集模块可以采集与目标终端相关的用电量。例如,音量采集模块可以识别并采集与目标终端相关的音量,并将上述采集到的音量转化为对应的数值(例如,30dB)进行显示,例如,显示在该智能插座的LED屏幕上,该数值即为当前时间点获取的目标终端的运行数据。
以具有数据采集功能的设备是智能电表为例,目标终端可以与该智能电表电连接,该智能电表可以具有数据采集功能。例如,该智能电表可以采集与目标终端相关的多个用电量数据。例如,目标终端在某一时刻的用电量、某一时间范围的总用电量、平均用电量,或其他相关设备(例如,目标终端的辅助设备)的用电量等。并将上述采集到的音量转化为对应的数值(例如,30dB)进行显示,例如,显示在该智能插座的LED屏幕上,该数值即为当前时间点获取的目标终端的运行数据。
在一些实施例中,获取模块510还可以通过网络从存储历史运行数据的存储设备中获取M个历史时间点的运行数据。历史运行数据可以是运行数据的历史记录,获取多个历史运行数据也即获取多个历史时间点的运行数据。
步骤220,基于摄像终端确定所述M个历史时间点的视频数据,所述视频数据与所述目标终端相关。在一些实施例中,步骤220可以由获取模块510执行。
摄像终端180可以是指任意具有摄像功能的终端。例如,相机180-1、智能手机180-2、摄像头180-3或视频监控设备等。
视频数据是指以电信号方式记录的动态影像,由多幅时间上连续的静态图像组成。其中,每幅静态图像为视频数据的一帧。在一些实施例中,一个时间点的视频数据可以包含多幅静态图像。
在一些实施例中,视频数据的格式可以包括但不限于:高密度数字视频光盘(Digital Video Disc,DVD)、流媒体格式(Flash Video,FLV)、动态图像专家组(MPEG,Motion Picture Experts Group)、音频视频交错(Audio Video Interleaved,AVI)、家用录像系统(Video Home System,VHS)和视频容器文件格式(Real Media file format,RM)等中的一种或多种组合。
在一些实施例中,视频数据可以与目标终端相关。在一些实施例中,视频数据可以是记录目标终端有无被人为操作的动态影像。例如,目标终端是否被人为开启、关闭、移动等。
在一些实施例中,视频数据可以是记录目标终端是否出现外部异常的动态影像。例如,目标终端出现被撞击、被磕碰,或摆放位置不佳、倾斜等外部异常。
在一些实施例中,获取模块510可以基于摄像终端确定M个历史时间点的视频数据。在一些实施例中,获取模块510可以通过摄像终端180(例如,摄像头180-3)获取M个历史时间点中与目标终端相关的视频片段,再根据上述获取的视频片段确定M个历史时间点的视频数据。
在一些实施例中,获取模块510可以通过多个摄像终端180获取M个历史时间点中与目标终端相关的视频片段。例如,多个摄像终端180可以为设置在多个不同位置的摄像头180-3,获取模块510可以根据上述设置在多个不同位置的摄像头180-3拍摄的视频片段,来确定M个历史时间点的视频数据。
关于基于摄像终端确定所述M个历史时间点的视频数据的更多细节,可以参见图3及其相关描述,此处不再赘述。
在一些实施例中,获取模块510还可以通过读取监控器、调用相关接口或其他方式确定视频数据。对于确定视频数据的方式,本实施例对此不做限制。
步骤230,基于训练好的检测模型对所述M个历史时间点的运行数据和视频数据的处理,确定所述目标终端的运行情况。
运行情况是指与目标终端运行相关所对应的情况。在一些实施例中,运行情况可以包括是否正常运行和/或运行时长。例如,目标终端是正常运行、目标终端的运行时长为5h等。
在一些实施例中,检测模型可以是神经网络模型。神经网络模型可以包括多个处理层,每个处理层由多个神经元组成,每个神经元对数据做矩阵变换。矩阵所使用的参数可以通过训练获得。检测模型可以是任意能够实现对多个特征进行处理的现有神经网络模型,例如,RNN、CNN、DNN等。检测模型还可以是根据需求自定义的模型。
在一些实施例中,训练好的检测模型的输入是M个历史时间点的运行数据和视频数据,输出是目标终端的运行情况。
在一些实施例中,在将M个历史时间点的运行数据和视频数据输入至检测模型之前,可以对其数值进行处理,例如,编码处理,可以将上述数据的数值用向量的方式表示。
在一些实施例中,训练好的检测模型包括运行特征提取层、视频特征提取层和输出层。
在一些实施例中,运行特征提取层可以包括第二循环神经网络(RNN)。可以用于基于对M个历史时间点的运行数据进行处理,确定目标终端的运行特征。循环神经网络能够处理任意长度的序列数据,捕捉序列的信息,输出基于序列中前后数据关联关系的结果。通过循环神经网络处理M个历史时间点的运行数据,能够输出得到考虑各个时间点的运行数据之间关联关系的运行特征,使得该运行特征更加的准确和全面。
运行特征是表征目标终端的运行信息的向量。在一些实施例中,运行特征可以包括目标终端的第一被操作信息。在一些实施例中,第一被操作信息可以包括是否被操作、被操作的类型和被操作的时长中的至少一种。其中,是否被操作可以是目标终端是否被人为操作或自动操作。被操作的类型可以是目标终端被人为操作或自动操作的具体类型,例如,对目标终端执行开启、关闭、移动、待机等操作。
运行特征提取层可以根据M个历史时间点的运行数据结合预设规则,确定目标终端的运行特征。
在一些实施例中,预设规则可以为至少一个历史时间点的运行数据是否为0。例如,在M个历史时间点中,运行特征提取层可以识别出目标终端在至少一个历史时间点的运行数据不为0。例如,用电量为1kW·h,则表示处于在至少一个时间点中目标终端处于开启后的运行状态,可以确定目标终端的运行特征为被操作,被操作类型为开启,被操作时长为运行数据不为0对应的多个历史时间点之间的时长,例如,被操作时长为1h。
在一些实施例中,预设规则还可以为至少两个相邻历史时间点之间运行数据的变化值过大或过小。例如,在M个历史时间点中,运行特征提取层可以识别出目标终端在历史时间点1至历史时间点2之间用电量的变化值为1kW·h,在历史时间点2至历史时间点3之间用电量的变化值为0.1kW·h,则表示目标终端在历史时间点2至历史时间点3之间运行数据的变化值过小,可以确定目标终端的被操作类型为待机。
在一些实施例中,视频特征提取层可以包括第一循环神经网络(RecurrentNeural Network,RNN)和卷积神经网络(Convolutional Neural Networks,CNN)。
在一些实施例中,卷积神经网络可以基于对M个历史时间点的视频数据进行处理,确定M个初始视频特征。
初始视频特征可以是经过卷积神经网络处理后的视频数据的向量。根据步骤220的描述,视频数据是由多幅时间上连续的静态图像组成的。在一些实施例中,卷积神经网络可以对视频数据的多幅静态图像进行处理。例如,卷积神经网络可以对上述多幅静态图像进行卷积处理,来降低上述多幅静态图像的维度,或将上述多张静态图像降低至相同维度。又例如,卷积神经网络可以对上述多幅静态图像进行卷积处理,实现平滑、去噪、锐化等操作。
基于此,视频特征提取层可以通过卷积神经网络对视频数据进行处理,能够获取维度降低,或维度降低至相同维度的多张静态图像对应的初始视频特征,以降低检测模型对于视频数据的整体计算强度和计算复杂度。并且视频特征提取层还可以通过上述方式获取图像质量较高的多幅静态图像对应的初始视频特征,以提高后续对初始视频特征的处理效果和处理效率。
在一些实施例中,第一循环神经网络可以基于对M个初始视频特征进行处理,确定目标终端的视频特征。视频特征可以是表征视频数据信息的向量。
在一些实施例中,视频特征可以包括目标终端的第二被操作信息。在一些实施例中,第二被操作信息可以是否被操作、被操作的类型和被操作的时长中的至少一种。关于确定第二被操作信息的更多细节,可以参见前述第一杯操作信息及其相关描述,此处不再赘述。
在一些实施例中,第一循环神经网络可以基于对M个初始视频特征进行图像识别处理,确定目标终端的视频特征。具体的,第一循环神经网络可以对M个初始视频特征的多幅静态图像进行图像识别,识别出是否存在相关人物或动作,来确定目标终端的视频特征。例如,第一循环神经网络可以识别出上述静态图像存在人物,则可以确定目标终端的视频特征为被操作。又例如,第一循环神经网络可以识别出上述静态图像存在指定的动作,例如,推动、抬起目标终端等,则可以确定目标终端的被操作类型为移动。
在一些实施例中,输出层可以基于对运行特征和视频特征进行处理,确定第一被操作信息和第二被操作信息之间的关系,输出目标终端的运行情况。
在一些实施例中,输出层可以为全连接层。在一些实施例中,输出层可以基于对运行特征和视频特征进行匹配处理,确定第一被操作信息和所述第二被操作信息中对应信息之间的匹配度,并根据该匹配度输出目标终端的运行情况。在一些实施例中,输出层还可以基于对运行特征和视频特征中的时长进行求平均、加权求平均处理,输出目标终端的运行情况。
关于输出层输出目标终端的运行情况的更多细节,可以参见图4及其相关描述,此处不再赘述。
通过上述方式,检测模型可以分别通过运行特征提取层和视频特征提取层提取两种不同类型的特征数据,输出层可以基于对上述两种不同类型的特征数据进行处理,输出目标终端的运行情况,从而使得检测模型的输入数据更全面、输出结果更准确。
在一些实施例中,训练好的检测模型可以通过端到端的学习方式训练获得。具体的,可以基于多个带有标签的训练样本得到检测模型。在一些实施例中,标签可以是根据采集的目标终端的实际运行情况确定的是否正常运行的类别标注。例如,类别1表示目标终端正常运行、类别2表示目标终端不正常运行等。在一些实施例中,标签还可以是根据采集的目标终端的实际运行情况确定的运行时长的数值标注,例如,数值3表示目标终端的运行时长为3h。训练样本至少包括目标终端在M个历史时间点的样本运行数据和视频数据。
在一些实施例中,可以基于多个训练样本迭代更新初始检测模型的参数。带有不同类型标签的训练样本可以输入至不同层,来更新初始检测模型的不同层的参数。例如,可以将带有运行特征标签的训练样本输入至运行特征提取层,来迭代更新运行特征提取层的参数。
在一些实施例中,更新后的参数可以使模型的损失函数满足预设条件。例如,损失函数收敛,或损失函数值小于预设值。当损失函数满足预设条件时模型训练完成,得到训练好的检测模型。其中,初始检测模型和训练好的检测模型具备相同的模型结构,例如,均至少包括运行特征提取层、视频特征提取层和输出层。关于训练好的检测模型的模型结构及其具体细节可以参见前述描述,在此不再赘述。具体的,初始检测模型的输入为每个训练样本,输出为每个训练样本对应的目标终端的运行情况。
通过上述方式,根据带有不同类型标签的训练样本训练初始检测模型,可以使训练好的检测模型学习到目标终端的多种运行情况下的特征数据,从而能够显著地提升训练好的检测模型的性能,提升其对于目标终端的各项复杂特征数据的处理能力。
图3是根据本说明书一些实施例所示的确定M个历史时间点的视频数据的示例性流程图。在一些实施例中,流程300可以包括以下步骤。
步骤310,获取所述M个历史时间点的M个视频片段。在一些实施例中,步骤310可以由获取模块510执行。
视频片段是指包含视频影像中的部分内容的短视频,例如,视频片段可以为3秒、4秒或5秒等的短视频。
在一些实施例中,摄像终端可以通过摄像的方式获取一段时间内(例如,1小时内)的视频影像,并将该视频影像进行分段处理得到M个视频片段。例如,可以将该视频影像按照M个历史时间点进行分段,得到对应的M个视频片段。例如,历史时间点1对应第一个视频片段、历史时间点2对应第二个视频片段、历史时间点M对应第M个视频片段。
在一些实施例中,摄像终端可以在M个历史时间点通过摄像的方式依次获取对应的M个短视频,并将上述M个短视频作为M个视频片段。例如,摄像终端可以在历史时间点1拍摄得到短视频1、在历史时间点2拍摄得到短视频2、在历史时间点M拍摄得到短视频M,并将上述短视频1至短视频M作为M个视频片段。
步骤320,基于每个视频片段的码流和第一预设条件,从所述每个视频片段中确定所述M个历史时间点的待处理图像数据。在一些实施例中,步骤320可以由获取模块510执行。
码流是指视频文件在单位时间内使用的数据流量。码流可以影响视频片段的画面质量,视频片段的码流越大,表示视频片段在单位时间内使用的数据流量越大,视频的画面质量越高。由于每个视频片段包括多个视频帧,每个视频帧对应一幅静态图像。因此,上述静态图像的画面质量越高,则对应的码流越大,或者,上述视频片段中相邻两个视频帧的静态图像的变化较大,则产生的码流也会较大。
在一些实施例中,第一预设条件可以为每个视频片段中静态图像的码流大于预设阈值。例如,预设阈值可以为5Mb/s、10Mb/s等。
在一些实施例中,获取模块510可以将每个视频片段中满足第一预设条件的至少一幅静态图像,确定为M个历史时间点的待处理图像数据。例如,对于前述步骤310中的第一个视频片段,若存在两幅静态图像的码流满足第一预设条件,例如,上述两幅静态图像的大于5Mb/s,则获取模块510可以将上述两幅静态图像确定为历史时间点1的待处理图像数据。
在一些实施例中,获取模块510可以将每个视频片段中满足第一预设条件的相邻的至少两幅静态图像,确定为M个历史时间点的待处理图像数据。例如,对于前述步骤310中的第二个视频片段,若存在相邻的三幅静态图像,其中每一幅静态图像均相对于上一幅静态图像产生较大的码流,例如,产生的码流大于5Mb/s,则获取模块510可以将上述三幅静态图像确定为历史时间点2的待处理图像数据。
步骤330,将所述M个历史时间点的待处理图像数据作为所述M个历史时间点的视频数据。在一些实施例中,步骤330可以由获取模块510执行。
根据步骤230的描述,视频特征提取层可以对M个历史时间点的视频数据进行处理,确定M个初始视频特征。也即,视频特征提取层可以对上述M个历史时间点的待处理图像数据进行处理,确定M个初始视频特征。由于初始视频特征可以用于确定目标终端的视频特征,因此,通过对上述码流较大的M个历史时间点的待处理图像数据进行处理,可以减小检测模型进行数据处理的计算量,从而能够提高检测模型的处理效率。
应当注意的是,上述有关流程300的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程300进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。
图4是根据本说明书一些实施例所示的确定目标终端的运行情况的示意图。根据步骤230的描述,输出层可以基于对运行特征和视频特征进行处理,确定第一被操作信息和第二被操作信息之间的关系,输出目标终端的运行情况,流程400具体可以包括以下步骤。
步骤410,输出层基于对所述运行特征和所述视频特征进行处理,确定所述第一被操作信息和所述第二被操作信息中对应信息之间的匹配度。在一些实施例中,步骤410可以由确定模块520执行。
匹配度可以表示第一被操作信息和第二被操作信息中对应信息的匹配程度,匹配度越高,则表示两者中对应信息的匹配程度越高。
匹配度可以以数值、概率、文字等形式呈现。例如,匹配度可以为1至10、0%至100%、高或低等。
在一些实施例中,确定模块520可以通过判断第一被操作信息和第二被操作信息中对应信息之间的差异性,确定两者中对应信息之间的匹配度。在一些实施例中,第一被操作信息和第二被操作信息中对应信息可以为相同类型。例如,第一被操作信息对应被操作的时长为0.5h,第二被操作信息对应被操作的时长为1h。由于两者中对应信息之间的差异性较大,则确定模块520可以确定两者中对应信息之间的匹配度较低。例如,确定匹配度为低,或匹配度为20%等。
在一些实施例中,确定模块520可以通过判断第一被操作信息和第二被操作信息中对应信息之间的合理性,确定两者中对应信息之间的匹配度。在一些实施例中,第一被操作信息和第二被操作信息中对应信息可以为不同类型。例如,第一被操作信息对应被操作的时长为0.5h,第二被操作信息对应是否被操作的结果为否。由于两者中对应信息之间存在明显矛盾的不合理性,则确定模块520可以确定两者中对应信息的匹配度较低。例如,确定匹配度为低,或匹配度为0%等。
步骤420,基于所述匹配度确定所述目标终端是否正常运行。在一些实施例中,步骤420可以由确定模块520执行。
在一些实施例中,确定模块520可以根据匹配度结合预设阈值,确定目标终端是否正常运行。例如,确定模块520可以将匹配度大于预设阈值对应的目标终端确定为正常运行,将匹配度小于等于预设阈值对应的目标终端确定为非正常运行。
步骤430,响应于所述目标终端正常运行,基于所述第一被操作信息中的被操作时长和所述第二被操作信息中的被操作时长确定所述运行时长。在一些实施例中,步骤430可以由确定模块520执行。
在一些实施例中,确定模块520可以对第一被操作信息中的被操作时长和第二被操作信息中的被操作时长进行求平均处理,确定目标终端的运行时长。例如,第一被操作信息中的被操作时长为1h,第二被操作信息中的被操作时长为1.2h,则确定模块520可以确定目标终端的运行时长为1.1h。
在一些实施例中,第一被操作信息、第二被操作信息的被操作时长可以分别对应不同的权重。在一些实施例中,确定模块520可以对第一被操作信息中的被操作时长和第二被操作信息中的被操作时长进行加权求平均处理,确定目标终端的运行时长。继续前述示例,第一被操作信息中的被操作时长为1h,第二被操作信息中的被操作时长为1.2h,且两者分别对应的权重为0.8和0.2,则确定模块520可以计算出目标终端的运行时长为(0.8*1+1.2*0.2)/2=0.52h。
图5是根据本说明书一些实施例所示的目标终端检测系统的模块图。如图5所示,该系统500可以包括获取模块510和确定模块520。
在一些实施例中,获取模块510可以用于用于获取M个历史时间点的运行数据,所述M个历史时间点的运行数据包括与所述目标终端相关的音量和用电量中的至少一种,其中,M为大于2的整数;所述获取模块用于基于摄像终端确定所述M个历史时间点的视频数据,所述视频数据与所述目标终端相关。
在一些实施例中,确定模块520可以用于基于训练好的检测模型对所述M个历史时间点的运行数据和视频数据进行处理,确定所述目标终端的运行情况,所述运行情况包括是否正常运行和/或运行时长;其中,所述训练好的检测模型包括运行特征提取层、视频特征提取层和输出层,所述运行特征提取层包括第二循环神经网络,用于基于对所述M个历史时间点的运行数据进行处理,确定所述目标终端的运行特征,所述运行特征包括所述目标终端的第一被操作信息;所述视频特征提取层包括第一循环神经网络和卷积神经网络,所述卷积神经网络基于对所述M个历史时间点的视频数据进行处理,确定M个初始视频特征;所述第一循环神经网络基于对所述M个初始视频特征的处理,确定所述目标终端的视频特征,所述视频特征包括所述目标终端的第二被操作信息;所述输出层基于对所述运行特征和所述视频特征进行处理,确定所述第一被操作信息和所述第二被操作信息之间的关系,输出所述目标终端的运行情况。在一些实施例中,所述训练好的检测模型通过端到端的学习方式训练获得。
在一些实施例中,获取模块510可以进一步用于:获取所述M个历史时间点的M个视频片段;基于每个视频片段的码流和第一预设条件,从所述每个视频片段中确定所述M个历史时间点的待处理图像数据;以及将所述M个历史时间点的待处理图像数据作为所述M个历史时间点的视频数据。
在一些实施例中,所述第一被操作信息和所述第二被操作信息包括是否被操作、被操作的类型和被操作的时长中的至少一种,其中,所述确定模块进一步用于:所述输出层基于对所述运行特征和所述视频特征进行处理,确定所述第一被操作信息和所述第二被操作信息中对应信息之间的匹配度;以及基于所述匹配度确定是否所述目标终端是否正常运行。
在一些实施例中,所述确定模块520可以进一步用于:响应于所述目标终端正常运行,基于所述第一被操作信息中的被操作时长和所述第二被操作信息中的被操作时长确定所述运行时长。
应当理解,图5所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于目标终端检测系统500及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,图5中获取模块510和确定模块520可以是一个系统中的不同模块,也可以是一个模块实现上述的两个模块的功能。又例如,目标终端检测系统500中各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
本说明书实施例可能带来的有益效果包括但不限于:本说明书实施例可以基于运行特征提取层、视频数据提取层分别对运行数据和视频数据进行处理,得到两种类型的处理后特征以及关联关系,从而使得输出层可以基于两种类型的处理后特征和关联关系得到更准确的目标终端的运行情况。需要说明的是,不同实施例可能产生的有益效果不同,在不同的实施例里,可能产生的有益效果可以是以上任意一种或几种的组合,也可以是其他任何可能获得的有益效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。