具体实施方式
为了更清楚地说明本说明书实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单的介绍。显而易见地,下面描述中的附图仅仅是本说明书的一些示例或实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图将本说明书应用于其它类似情景。除非从语言环境中显而易见或另做说明,图中相同标号代表相同结构或操作。
应当理解,本文使用的“系统”、“装置”、“单元”和/或“模块”是用于区分不同级别的不同组件、元件、部件、部分或装配的一种方法。然而,如果其他词语可实现相同的目的,则可通过其他表达来替换所述词语。
如本说明书和权利要求书中所示,除非上下文明确提示例外情形,“一”、“一个”、“一种”和/或“该”等词并非特指单数,也可包括复数。一般说来,术语“包括”与“包含”仅提示包括已明确标识的步骤和元素,而这些步骤和元素不构成一个排它性的罗列,方法或者设备也可能包含其它的步骤或元素。
本说明书中使用了流程图用来说明根据本说明书的实施例的系统所执行的操作。应当理解的是,前面或后面操作不一定按照顺序来精确地执行。相反,可以按照倒序或同时处理各个步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步操作。
图1是根据本说明书一些实施例所示的检测预设终端系统的应用场景示意图。仅作为示例,如图1所示,本说明书所涉及的应用场景可以包括第一计算系统130和/或第二计算系统140。系统100中的组件可以以各种方式连接。
第一计算系统130可以检测目标对象110是否正常工作。在一些实施例中,目标对象110可以是指待检测其是否正常工作的目标门店,例如商场110-1、会议室110-2和银行110-3等公共和私人场所。工作可以是指目标门店的业务,业务可以包括目标门店的客流量和订单数量中的至少一种。其中,客流量是指目标门店在一段时间内过往的人流量;订单数量是指目标门店在一段时间内订单的数量。在一些实施例中,目标对象110还可以是指需要进行工作状态检测的预设终端,例如POS机110-4、电脑110-5和手机110-6等。
在一些实施例中,目标对象110在工作时会产生第一数据112。例如,第一数据112可以是目标对象110在单位时间内产生的码流数据。
摄像终端120是指具有摄像功能的终端。在一些实施例中,摄像终端120可以对目标对象110进行拍摄。在一些实施例中,摄像终端120可以包括摄像头120-1、照相机120-2和智能手机120-3等。
在一些实施例中,摄像终端120在拍摄时会产生第二数据122。在一些实施例中,第二数据122可以是摄像终端120在单位时间内产生的视频数据。视频数据是指连续的图像序列,其实质是由多幅时间上连续的静态图像组成,每幅静态图像为视频数据的一帧;码流数据是指视频文件在单位时间内使用的数据流量,是视频编码中画面质量控制中最重要的部分,同样分辨率下,视频文件的码流越大,压缩比就越小,画面质量就越好。在一些实施例中,第二数据122还可以是指摄像终端120提供的与目标对象110工作相关的数据。
在一些实施例中,第一数据112和第二数据122可以反映出目标对象110的工作状态。例如,目标对象110未正常工作,目标对象110的业务数据被人为操作篡改,目标对象110的放置角度偏离预设角度。
第一计算系统130可以根据第一数据112和第二数据122处理得到目标对象110的预测数据150,从而做到自动地对目标对象110的工作状态进行检测,无需人工操作。
第一计算系统130可以获取第一数据112和第二数据122。第一数据112和第二数据122可以通过各种常见的方式获取,例如,可以通过相关数据测量装置获取。第一数据112和第二数据122可以通过各种常见的方式进入第一计算系统130。在一些实施例中,第一计算系统130可以包括第一模型132。第一计算系统130中的第一模型132可以根据第一数据112和第二数据122确定目标对象110的预测数据150。预测数据150是指预测的目标对象110的数据。在一些实施例中,第一计算系统130可以根据预测数据150和真实数据160检测目标对象110是否正常工作。真实数据160是指目标对象110真实的数据。在一些实施例中,真实数据160可以通过各种常见的方式获取,例如,可以通过查看设备中的订单/业务详情信息获取真实的数据。目标对象110是否正常可以包括目标对象110的工作状态是否正常以及当工作状态为异常时的异常状态。示例地,输入第一数据112和第二数据122到第一模型132,可以输出目标对象110的工作状态为正常,还可以输出目标对象110的工作状态为异常、偏离预设角度30°。
第二模型142的参数可以通过训练得到。第二计算系统140可以获取多组样本数据180,多组样本数据180包括样本第一数据112和样本第二数据122。第二计算系统140可以通过多组样本数据180更新第二模型142的参数,得到训练好的模型。其中,参数可以以任何常见的方式传递。
模型(例如,第一模型132或/和第二模型142)可以指基于处理设备而进行的若干方法的集合。这些方法可以包括大量的参数。在执行模型时,所使用的参数可以是被预先设置好的,也可以是可以动态调整的。一些参数可以通过训练的方法获得,一些参数可以在执行的过程中获得。在一些实施例中,模型可以为神经网络模型。关于本说明书中涉及模型的具体说明,可参见本说明书的相关部分。
第一计算系统130和第二计算系统140是指具有计算能力的系统,可以包括各种计算机,比如服务器、个人计算机,也可以是由多台计算机以各种结构连接组成的计算平台。
第一计算系统130和第二计算系统140中可以包括处理设备,处理设备可以执行程序指令。处理设备可以包括各种常见的通用中央处理器(Central Processing Unit,CPU),图形处理器(Graphics Processing Unit,GPU),微处理器,特殊应用集成电路(Application-Specific Integrated Circuit,ASIC),或其他类型的集成电路。
第一计算系统130和第二计算系统140中可以包括存储介质,存储介质可以存储指令,也可以存储数据。存储介质可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。
第一计算系统130和第二计算系统140还可以包括用于内部连接和与外部连接的网络。也可以包括用于输入或输出的终端。网络可以是有线网络或无线网络中的任意一种或多种。
第一计算系统130和第二计算系统140可以是通用计算机或专用计算机。两者都可以用于实现本说明书的系统100。例如,系统100可以通过其硬件、软件程序、固件或其组合在第一计算系统130和第二计算系统140上实现。
应当注意的是,图1所示的系统100的描述仅仅是为了说明的目的而提供的,并不意图限制本说明书的范围。对于本领域的普通技术人员来说,可以根据本说明书的描述,做出各种各样的修正和改变。例如,可以根据具体的实施方案修改或改变系统100的组装和/或功能。仅作为示例,可以将一些其他组件添加到系统100中,例如,可以向系统100的一个或以上组件以及其他设备或模块供电的电源模块。
图2是根据本说明书一些实施例所示的检测目标对象方法的示例性流程图。如图2所示,流程200可以包括下述步骤。在一些实施例中,流程200可以由处理设备执行。
步骤210,获取所述目标对象110在预设的第1至第N-1个时间点的第一数据112以及拍摄所述目标对象110的至少一个摄像终端在所述第1至第N-1个时间点的第二数据122。具体的,该步骤210可以由获取模块710执行。
目标对象110可以是指目标门店,目标门店可以包括商场110-1、会议室110-2和银行110-3等公共和私人场所。工作可以是指目标门店的业务,业务可以包括目标门店的客流量和订单数量中的至少一种。目标对象110还可以是指预设终端,预设终端可以包括POS机110-4、电脑110-5和手机110-6等终端或设备。
第一数据112可以是指预设终端提供的与目标对象110工作相关的码流数据,具体是指目标对象110在工作时每秒钟产生的数据流量,例如,35Mbit。在一些实施例中,第一数据112可以是目标对象110在运行过程中其自身产生的数据流量。在一些实施例中,第一数据112也可以是由连接目标对象110的终端、设备产生(例如用于辅助目标对象110正常运行的设备,如POS机110-4的辅助刷卡器、大型设备的外部电机等)所产生的数据流量。
N可以为大于2的整数,可以为2、3、4…等。第1至第N-1个时间点的第一数据112即包括与目标对象110相关的N-1个时间点的第一数据112。例如,N可以为4,则N-1为3,以目标对象110自身产生的第一数据112为例,第1至第N-1个时间点的第一数据112可以包括时间点1、时间点2和时间点3的第一数据112。
在一些实施例中,第1至第N-1个时间点还可以是预设的多个特定时间对应的时间点。特定时间可以是根据需求设置的时刻。例如,下午1点、下午2点等。
在一些实施例中,上述第1至第N-1个时间点还可以是预设的多个连续时间点。多个连续时间点可以是指具有相同间隔时长且连续排列的时间点。例如,每间隔10分钟且连续排列的时间点1、时间点2和时间点3,时间点1与时间点2、时间点2与时间点3的间隔时长均为10分钟,时间点1与时间点3的间隔时长为20分钟。
在一些实施例中,获取模块710可以通过具有数据采集功能的设备获取第1至第N-1个时间点的第一数据112。在一些实施例中,获取模块710还可以通过网络从存储设备中获取第1至第N-1个时间点的第一数据112。
在一些实施例中,获取模块710可以通过具有数据采集功能的设备对目标对象110进行数据采集得到第1至第N-1个时间点的第一数据112。在一些实施例中,具有数据采集功能的设备可以是智能插座、智能电表等。例如,第1至第N-1个时间点的第一数据112的获取可以通过如下方式实现:以具有数据采集功能的设备是智能插座为例,目标对象110的电源线可以插入该智能插座中,由于该智能插座具有数据采集功能,该智能插座的数据采集模块可以采集与目标对象110工作相关的数据。例如,数据采集模块可以识别并采集与目标对象110工作相关的数据,并将上述采集到的数据转化为对应的数值(例如,35Mbit)进行显示,例如,显示在该智能插座的LED屏幕上,该数值即为当前时间点获取的目标对象110的第一数据112。
在一些实施例中,获取模块710还可以通过网络从存储历史第一数据112的存储设备中获取第1至第N-1个时间点的第一数据112。历史第一数据112可以是第一数据112的历史记录,获取多个历史第一数据112即获取多个时间点的第一数据112。
对于获取第一数据112的方式,本实施例对此不做限制。
摄像终端120可以是指任意具有拍摄功能的终端。例如,摄像头120-1、照相机120-2、智能手机120-3或视频拍摄设备等。至少一个摄像终端为两个及以上数量的摄像终端。至少一个摄像终端可以为相同的终端也可以为不同终端的组合。例如,至少一个摄像终端均为摄像头120-1,又例如,至少一个摄像终端为摄像头120-1和照相机120-2的组合。在一些实施例中,至少一个摄像终端用于拍摄目标对象110。
至少一个摄像终端之间相互具有关联性,所述关联性可以是直接的,也可以是间接的。在一些实施例中,关联性可以是基于摄像终端拍摄的覆盖区域确定的。例如,在拍摄期间,至少一个摄像终端中每一个摄像终端的拍摄覆盖区域都直接/间接地有重叠的部分。例如,摄像终端A与摄像终端B的拍摄覆盖区域有重叠的部分,则摄像终端A与摄像终端B具有直接的关联性。又例如,摄像终端A与摄像终端C的拍摄覆盖区域没有重叠的部分,而摄像终端B分别与摄像终端A和摄像终端C的拍摄覆盖区域有重叠的部分,则摄像终端A与摄像终端C通过摄像终端B具有间接的关联性。目标物体可以是生物体(例如,人、动物)或非生物体(例如,汽车、自行车)。至少一个摄像终端之间相互具有关联性可以使预测模型在处理数据时更加充分地采集摄像终端相关数据、获取对预测有帮助的信息,使预测模型取得更好的运行效率和预测准确度。
在一些实施例中,第二数据122可以是指至少一个摄像终端提供的与目标对象110工作相关的数据。在一些实施例中,第二数据122还可以是指至少一个摄装终端提供的与目标对象110工作相关的视频数据,具体是指至少一个摄像终端拍摄的视频画面每秒钟产生的数据流量,例如,50Mbit。视频数据是以电信号方式记录的动态影像,由多幅时间上连续的静态图像组成。其中,每幅静态图像为视频数据的一帧。在一些实施例中,一个时间点的视频数据可以包含多幅静态图像。在一些实施例中,视频数据的格式可以包括但不限于:高密度数字视频光盘(Digital Video Disc,DVD)、流媒体格式(Flash Video,FLV)、动态图像专家组(MPEG,Motion Picture Experts Group)、音频视频交错(Audio VideoInterleaved,AVI)、家用录像系统(Video Home System,VHS)和视频容器文件格式(RealMedia file format,RM)等中的一种或多种组合。
在一些实施例中,第1至第N-1个时间点的第二数据122与至少一个摄像终端存在对应的关系。至少一个摄装终端中每一个存在对应的第1至第N-1个时间点的第二数据122。某个摄像终端对应的第1至第N-1个时间点的第二数据122为该摄装终端提供的与目标对象110工作相关的数据。
在一些实施例中,获取模块710可以基于至少一个摄像终端确定第1至第N-1个时间点的第二数据122。在一些实施例中,获取模块710可以通过至少一个摄像终端120(例如,摄像头120-1)获取第1至第N-1个时间点中与目标对象110相关的视频片段,再根据视频片段确定第1至第N-1个时间点的第二数据122。
在一些实施例中,获取模块710还可以通过至少一个摄像终端120获取第1至第N-1个时间点中与目标对象110相关的视频片段。例如,至少一个摄像终端120可以为设置在至少一个不同位置的摄像头120-1,获取模块710可以根据上述设置在至少一个不同位置的摄像头120-1拍摄的视频片段,来确定第1至第N-1个时间点的第二数据122。
在一些实施例中,获取模块710还可以通过读取监控器、调用相关接口或其他方式确定第二数据122。对于确定第二数据122的方式,本实施例对此不做限制。
在一些实施例中,视频数据与目标对象110的工作数据相关,例如,当目标对象110为目标门店时,所述工作数据可以包括所述目标门店的客流量和订单数量中的至少一种。例如,视频数据可以与目标门店的工作数据成正相关。例如,目标门店的客流量和订单数量中的至少一种增加,则所对应的视频数据占用的空间增大;目标门店的客流量和订单数量中的至少一种减少,则所对应的视频数据占用的空间减小。
步骤220,将所述第一数据112和所述第二数据122输入预测模型,确定所述目标对象110在第N个时间点的预测数据150。具体的,该步骤220可以由预测模块720执行。
在一些实施例中,预测模型可以是神经网络模型。神经网络模型可以包括多个处理层,每个处理层由多个神经元组成,每个神经元对数据做矩阵变换。矩阵所使用的参数可以通过训练获得。预测模型可以是任意能够实现对多个特征进行处理的现有神经网络模型,例如,RNN、CNN、DNN等。预测模型还可以是根据需求自定义的模型。
在一些实施例中,训练好的预测模型的输入是目标对象110在预设的第1至第N-1个时间点的第一数据112以及拍摄目标对象110工作的至少一个摄像终端在预设的第1至第N-1个时间点的第二数据122,输出是目标对象110在第N个时间点的预测数据150。在一些实施例中,在将目标对象110在预设的第1至第N-1个时间点的第一数据112以及拍摄目标对象110工作的至少一个摄像终端在预设的第1至第N-1个时间点的第二数据122输入预测模型之前,可以对其特征值进行分桶,将特质用向量的方式表示。在一些实施例中,预测模型可以通过训练获得。在一些实施例中,训练的样本可以是有标签的样本。关于训练预测模型的内容可以参见图6,在此不再赘述。
预测数据150是指预测的目标对象110在第N个时间点的数据。在一些实施例中,若目标对象110是目标门店,预测数据150可以是目标门店的预测业务数据,所述预测业务数据可以包括预测的目标门店在第N个时间点的预测客流量和预测订单数量中的至少一种。关于目标对象110是目标门店的更多细节,可以参见图4及其相关描述,此处不再赘述。
在一些实施例中,若目标对象110是预设终端,预测数据150可以是预测码流数据。在一些实施例中,若目标对象110是预设终端,还可以获取预设终端在预设的第1至第N-1个时间点的工作数据,所述工作数据可以包括预设终端工作时本身产生的码流数据,将预设终端在第1至第N-1个时间点的工作数据和至少一个摄像终端在第1至第N-1个时间点的第二数据122输入预测模型,可以预测得到目标对象110在第N个时间点的预测工作数据。关于目标对象110是预设终端的更多细节,可以参见图5及其相关描述,此处不再赘述。
在一些实施例中,训练好的预测模型可以包括嵌入层。
在一些实施例中,嵌入层可以包括至少一个RNN(Recurrent Neural Network,循环神经网络)模型和一个GNN(Graph Neural Network,图神经网络)模型。
在一些实施例中,至少一个RNN模型可以基于对所述第1至第N-1个时间点的所述第一数据112和所述第二数据122进行处理,得到第一特征和第二特征。第一特征是指用于代表目标对象110工作相关数据的特征。第二特征是指用于代表至少一个摄像终端拍摄相关数据的特征。在一些实施例中,若目标对象110工作相关数据为码流数据,则第一特征包括码流特征。在一些实施例中,若摄像终端拍摄相关数据为视频数据,则第二特征包括视频特征。
如前所述,目标对象110存在对应的第1至第N-1个时间点的第一数据112,至少一个摄像终端存在对应的第1至第N-1个时间点的第二数据122。在一些实施例中,基于RNN模型处理目标对象110对应的第1至第N-1个时间点的第一数据112以及某个摄装终端对应的第1至第N-1个时间点的第二数据122,得到与该目标对象110对应的第一特征以及与该摄装终对应的第二特征。RNN可以是一个,该RNN处理目标对象110在第1至第N-1个时间点的第一数据112以及所有摄像终端在第1至第N-1个时间点的第二数据122,RNN可以是多个,某个RNN用于处理目标对象110在第1至第N-1个时间点的第一数据112以及至少一个摄像终端中某一个在第1至第N-1个时间点的第二数据122。
在一些实施例中,若目标对象110是预设终端,则至少一个RNN模型基于预设终端的工作数据(例如,码流数据)进行处理,得到对应的特征。例如,至少一个RNN模型可以对第1至第N-1个时间点的预设终端的码流数据进行码流识别,识别出流量大小来确定预设终端的码流数据特征。
RNN模型能够处理任意长度的序列数据,捕捉序列的信息,输出基于序列中前后数据关联关系的结果。通过RNN模型处理第1至第N-1个时间点的第一数据112,能够输出得到考虑各个时间点的工作数据之间关联关系的特征,使得该第一特征更加的准确和全面。
在一些实施例中,GNN模型可以对图进行处理,确定目标对象110的预测数据150。GNN模型以目标对象110和至少一个摄像终端作为图的顶点,以目标对象110和至少一个摄像终端之间的关系以及至少一个摄像终端之间的关系作为图的边。在一些实施例中,边对应的关系满足预设条件,预设条件与目标对象110和至少一个摄像终端以及至少一个摄像终端之间距离相关,预设条件可以为每个摄像终端之间的距离为在预设阈值范围内,预设条件还可以为目标对象110与每个摄像终端之间的距离为在预设阈值范围内,例如,预设阈值可以为5m、10m等。目标对象110对应的顶点的特征为第一特征,某个摄像终端对应的顶点的特征为该摄像终端对应的第二特征,所述边的特征包括相对距离和/或相对角度。其中,相对距离包括目标对象110和至少一个摄像终端以及至少一个摄像终端之间的直线距离,例如,10m,50m。相对角度是指目标对象110在工作时的放置角度以及至少一个摄像终端在拍摄时的视角,例如,50°、120°。
在一些实施例中,还可以基于所述第1至第N-1个时间点的视频数据生成视频序列特征;所述至少一个RNN模型对所述视频序列特征和所述第二数据122进行处理,得到融合序列特征;将所述融合序列特征作为所述至少一个摄像终端对应的顶点的特征。具体的,获取所述第1至第N-1个时间点的视频数据,基于特征提取模型对所述第1至第N-1个时间点的视频数据进行处理,确定所述第1至第N-1个时间点的视频特征序列。融合序列特征可以是指融合了视频序列特征和第二数据122特征的序列特征。所述特征提取模型可以包括卷积神经网络,所述特征提取模型中卷积核的参数可以通过对预先训练好的图像识别模型中的卷积核的参数进行迁移获取。所述特征提取模型的输入是至少一个摄像头120-1在第1至第N-1个时间点的视频数据,输出是第1至第N-1个时间点的视频特征序列。通过将视频序列特征和第二数据122进行融合处理,将得到的融合序列特征作为所述至少一个摄像终端对应的顶点的特征,综合了视频序列和第二数据122的特征,使得摄像终端对应的顶点的特征更加准确。
在一些实施例中,若目标对象110为预设终端,GNN模型以预设终端及至少一个摄像终端作为所述图的顶点,以预设终端及至少一个摄像终端之间的关系作为所述图的边。其中,边对应的关系满足预设条件,预设条件与预设终端与至少一个摄像终端之间距离及至少一个摄像终端之间距离相关,预设条件可以为预设终端与每个摄像终端的距离及每个摄像终端之间的距离为在预设阈值范围内,例如,预设阈值可以为5m、10m等。预设终端对应的顶点的特征为第一特征,某个摄像终端对应的顶点的特征为该摄像终端对应的第二特征,所述边的特征包括相对距离和/或相对角度。其中,相对距离包括预设终端与至少一个摄像终端的之间距离及至少一个摄像终端之间的直线距离,例如,10m、50m。相对角度是指预设终端在工作时的放置角度以及至少一个摄像终端在拍摄时的视角,例如,50°、120°。
预测数据150是指与预测目标相对应的数据或者特征。
在一些实施例中,若目标对象110是预设终端,则GNN中与预设终端对应的节点输出预测数据150,例如,输出预测码流数据等。此时,预测数据150为预测工作数据。
在一些实施例中,训练好的预测模型还可以包括预测层。在一些实施例中,若目标对象110为目标门店,则GNN中各个节点输出对应的业务特征,将各个节点输出的业务特征输入预测层,输出目标门店的预测业务数据。此时,预测数据150为各个节点输出的业务特征。
关于GNN模型的详细描述参见图3,在此不再赘述。
步骤230,获取所述目标对象110在所述第N个时间点的真实数据160,并基于所述预测数据150和所述真实数据160,确定所述目标对象110是否正常工作。具体的,该步骤230可以由判断模块730执行。
目标对象110是否正常工作是指目标对象110在工作期间内,目标对象110的一个或多个参数数据是否出现正常。一些实施例中,目标对象110异常可以包括但不限于码流数据异常、客流量异常、订单数量异常等,或其任意组合。码流数据异常、客流量异常、订单数量异常是指目标对象110的码流数据、客流量数据、白平衡数据和流量数量偏离真实工作数据,例如,高于或低于、大于或小于真实工作数据。一些实施例中,真实数据160可以包括真实工作数据和真实业务数据中的至少一种。真实工作数据是指目标对象110在第N个时间点的实际的码流数据。真实业务数据是指目标对象110在第N个时间点的实际的业务数据。一些实施例中,真实业务数据可以包括真实客流量和真实订单数量中的至少一种。
在一些实施例中,判断模块730可以基于预测数据150和真实数据160,确定目标对象110是否正常工作。具体的,判断模块730可以通过对比预测数据150和真实数据160之间的差异性确定目标对象110是否正常工作,例如,若预测数据150和真实数据160之间的差异性较大,则目标对象110工作异常;若预测数据150和真实数据160之间的差异性较小,则目标对象110工作正常。差异性可以根据预测数据150和真实数据160之间差别的比例确定,例如,若预测数据150与真实数据160的差别大于真实数据160的20%,则差异性较大;若预测数据150与真实数据160的差别小于或等于真实数据160的20%,则差异性较小。仅作为示例,预测数据150中预测码流为35Mbit,真实数据160中真实码流为70Mbit,可以得出预测数据150与真实数据160的差别为真实数据160的50%,大于20%,表示预测数据150和真实数据160之间的差异性较大,则判断模块730可以确定目标对象110工作异常。
在一些实施例中,判断模块730的确定结果可以包括目标对象110是否正常工作,例如,输出结果可以是“正常”、“异常”。在一些实施例中,确定结果还可以包括目标对象110工作异常的具体类型。具体的,具体类型可以包括但不限于码流异常、客流量异常、订单数量异常等,或其任意组合。例如,“异常,码流异常”、“异常,客流量异常、订单数量异常”。在一些实施例中,确定结果还可以包括目标对象110是否正常工作及异常事件的量化表示。仅作为示例,确定结果可以是目标对象110工作异常以及异常类型、表示异常的数值等。例如,确定结果可以是“异常,订单数量-30°”,其中,“订单数量-30°”表示目标对象110的订单数量异常并且订单数量小于真实订单数量30单°。
在一些实施方式中,在目标对象110工作异常时,可以发出警报信息,所述警报信息可以通过灯光、文字和语音信号中的至少一种形式发出。例如,在目标对象110工作异常时,可以通过连接目标对象110的显示设备进行屏幕闪烁或显示报警文字的形式发出警报信息。警报信息的内容可以用于提醒用户目标对象110工作异常。
在一些实施方式中,目标对象110是否正常工作的确定结果可以在连接摄像终端的拍摄设备界面显示。在一些实施方式中,目标对象110是否正常工作的确定结果还可以在目标对象110的显示屏幕显示。在一些实施例中,确定结果可以通过消息的形式发送给目标对象110使用用户的通信设备界面。例如,通过短信的方式发送给用户手机号。又例如,通过提示信息发送至用户的客户端。在一些实施例中,可以将确定结果传输至存储设备中进行存储。其中,所述存储设备可以是系统100自带的存储设备,也可以是系统100外的存储设备。例如,光盘、硬盘等。在一些实施例中,输出结果可以被传递给特定的接口,所述接口包括但不限于程序接口、数据接口、传输接口等。在一些实施例中,还可以采用本领域技术人员熟知的任意方式输出结果,本说明书对此不做限制。
通过在目标对象110异常工作时,发出警报信息,可以及时告知用户目标对象110异常的情况,便于用户及时发现目标对象110的异常状态,提醒用户及时地对目标对象110作出调整及修正。
应当注意的是,上述有关流程210、220和230的描述仅仅是为了示例和说明,而不限定本说明书的适用范围。对于本领域技术人员来说,在本说明书的指导下可以对流程210、220和230进行各种修正和改变。然而,这些修正和改变仍在本说明书的范围之内。例如,可以通过其他方式获取多个摄像头120-1的基础特征以及多个摄像头120-1之间的关联关系。
图3是根据本说明书一些实施例所示的GNN模型的示例性结构图。GNN模型是图神经网络模型,是一类基于深度学习的处理图域信息的方法,是一种广泛应用的图分析方法。
如图3所示,GNN模型由多个顶点A、…和F和由多个顶点组成的边构成,其中,A、…和F代表目标对象110和至少一个摄像终端,a1,a2,a3、…和f1,f2,f3代表目标对象110和至少一个摄像终端A、…和F的顶点的特征,目标对象110和至少一个摄像终端A、…和F之间的连线代表其之间的边的特征。具体的,目标对象110对应的顶点的特征为第一特征,至少一个摄像终端对应的顶点的特征为第二特征,边的特征包括相对距离和/或相对角度。
在一些实施例中,可以基于目标对象110和至少一个摄像终端之间的关系构建图,以目标对象110和至少一个摄像终端作为图的节点,以目标对象110和至少一个摄像终端之间的关系作为图的边。具体的,图中的每个顶点都包含一个对应的输出结果,输出结果代表目标对象110的预测数据150。例如,输出结果可以是目标对象110的预测工作数据和/或预测业务数据。
在一些实施例中,若目标对象110为预设终端,A、…和F还可以代表预设终端和至少一个摄像终端,a1,a2,a3、…和f1,f2,f3分别代表预设终端和至少一个摄像终端A、…和F的顶点的特征,预设终端和至少一个摄像终端以及至少一个摄像终端A、…和F之间的连线代表其之间的边的特征。具体的,预设终端对应的顶点的特征为第一特征,至少一个摄像终端对应的顶点的特征为第二特征,边的特征包括相对距离和/或相对角度。
在一些实施例中,若目标对象110为预设终端,可以基于预设终端和至少一个摄像终端以及至少一个摄像终端之间的关系构建图,以预设终端和至少一个摄像终端作为图的节点,以预设终端和至少一个摄像终端以及至少一个摄像终端之间的关系作为图的边。
在一些实施例中,预测模型可以通过训练过程获取。具体的,基于训练样本对初始预测模型进行迭代训练,直至初始预测模型达到预设条件,得到所述预测模型。关于训练预测模型的方法的详细描述参见图6,在此不再赘述。
本说明书一个实施例实现了基于GNN模型以通过图的方式获取更加丰富的特征,从而得到目标对象110的预测数据150。图可以用来表示目标对象110和至少一个摄像终端以及至少一个摄像终端之间的关系,GNN模型可以联合所有相关的目标对象110进行判断,保证准确率。例如,GNN模型可以联合目标对象110的工作数据特征和至少一个摄像终端的特征,以提高后续对预测工作数据的处理效果和处理效率。基于GNN模型进行预测,可以基于更多、更丰富的目标对象110和摄像终端相关特征,使预测结果具有更高的准确度。
图4是根据本说明书一些实施例所示的目标对象110是目标门店的示例性示意图。一些实施例中,目标对象110可以是目标门店。如图4所示,流程400可以包括下述步骤。一些实施例中,第一数据112可以是目标门店在预设的第1至第N-1个时间点的业务数据,第二数据122可以是通过至少一个摄像终端拍摄到的目标门店在预设的第1至第N-1个时间点的视频数据。
步骤410,获取目标对象110在预设的第1至第N-1个时间点的业务数据以及拍摄目标门店的至少一个摄像终端在第1至第N-1个时间段的视频数据,所述视频数据与所述目标门店的业务数据相关,所述业务数据包括所述目标门店的客流量和订单数量中的至少一种。具体的,该步骤410可以由获取模块710执行。
一些实施例中,获取拍摄目标门店的至少一个摄像终端在第1至第N-1个时间段的视频数据的方式包括:获取所述第1至第N-1个时间段的N-1个视频片段,基于每个视频片段的码流和第一预设条件,从所述每个视频片段中确定所述N-1个时间段的待处理图像数据,对所述N-1个时间段的待处理图像数据进行处理,确定所述N-1个时间段的视频数据。
视频片段是指包含视频影像中的部分内容的短视频,例如,视频片段可以为3秒、4秒、或5秒等的短视频。
在一些实施例中,摄像终端可以通过拍摄的方式获取一段时间内(例如,1小时内)的视频影像,并将该视频影像进行分段处理得到N-1个视频片段。例如,可以将该视频影像按照N-1个时间点进行分段,得到对应的N-1个视频片段。例如,时间点1对应第一个视频片段、时间点2对应第二个视频片段、历史时间点N-1对应第N-1个视频片段。
在一些实施例中,摄像终端可以在N-1个时间点通过拍摄的方式依次获取对应的N-1个短视频,并将上述N-1个短视频作为N-1个视频片段。例如,摄像终端可以在时间点1拍摄得到短视频1、在时间点2拍摄得到短视频2、在时间点N-1拍摄得到短视频N-1,并将上述短视频1至短视频N-1作为N-1个视频片段。
在一些实施例中,获取模块710可以将每个视频片段中的至少一幅静态图像,确定为N-1个时间点的待处理图像数据。例如,对于前述步骤410中的第一个视频片段,获取模块710可以将其中至少一幅静态图像确定为时间点1的待处理图像数据。
在一些实施例中,获取模块710可以对N-1个时间点的待处理图像数据进行处理,确定N-1个时间点的视频数据。由于N-1个时间点的视频数据可以用于确定融合视频数据特征,因此,通过对上述N-1个时间点的待处理图像数据进行处理,可以减小预测模型进行数据处理的计算量,从而能够提高预测模型的处理效率。
在一些实施例中,至少一个摄像终端中每一个存在对应的第1至第N-1个时间段的视频数据。
一些实施例中,预测业务数据可以包括预测的目标门店在第N个时间点的预测客流量和预测订单数量中的至少一种。
步骤420,将所述业务数据和所述视频数据输入预测模型,确定所述目标门店在第N个时间段的预测业务数据。具体的,该步骤420可以由预测模块720执行。
一些实施例中,预测模型包括嵌入层和预测层。一些实施例中,所述嵌入层包括至少一个RNN模型和GNN模型,所述至少一个RNN模型用于对所述目标对象110在预设的第1至第N-1个时间点的业务数据和所述至少一个摄像终端对应的所述第1至第N-1个时间段的视频数据进行处理,得到所述目标对象110的业务数据特征和所述至少一个摄像终端的融合视频特征。至少一个摄像终端中每一个存在对应的融合视频特征。
一些实施例中,所述GNN模型可以对图进行处理,确定所述目标门店的预测业务相关数据,所述预测业务相关数据可以包括GNN的至少一个节点输出的目标门店的至少一个业务特征,节点与业务特征存在对应关系,预设终端对应的节点输出对应的业务特征。其中,以所述目标门店和所述至少一个摄像终端作为所述图的顶点,以所述目标门店和所述至少一个摄像终端以及所述至少一个摄像终端之间的关系作为所述图的边,所述目标门店对应的顶点的特征为所述业务数据特征,所述至少一个摄像终端对应的顶点的特征为所述融合视频特征,所述边的特征包括所述目标门店和所述至少一个摄像终端以及所述至少一个摄像终端之间的相对距离和/或相对角度。
一些实施例中,所述预测层基于对所述目标门店的预测业务相关数据,即所述至少一个业务特征进行处理,确定所述预测业务数据。
步骤430,获取所述目标门店在所述第N个时间点的真实业务数据,并基于所述预测业务数据和所述真实业务数据,确定所述目标门店是否正常工作。具体的,该步骤430可以由判断模块730执行。
具体的,可以通过对比预测业务数据和真实业务数据之间的差异性确定目标对象110是否正常工作。关于通过对比预测数据150和真实数据160之间的差异性确定目标对象110是否正常工作的内容可以参见步骤230,在此不再赘述。
图5是根据本说明书一些实施例所示的目标对象110是预设终端的示例性示意图。一些实施例中,目标对象110可以是预设终端。如图5所示,流程500可以包括下述步骤。一些实施例中,第一数据112可以包括预设终端在预设的第1至第N-1个时间点产生的第一码流数据,第二数据122可以包括拍摄预设终端工作的至少一个摄像终端在预设的第1至第N-1个时间点的第二码流数据。
如图5所示,流程500可以包括下述步骤。
步骤510,获取所述预设终端在预设的第1至第N-1个时间点的第一码流数据以及拍摄所述预设终端的至少一个摄像终端在所述第1至第N-1个时间点的第二码流数据。具体的,该步骤510可以由获取模块710执行。
第一码流数据是指预设终端运行时每秒钟的数据流量,例如,35Mbit。在一些实施例中,第一码流数据可以是预设终端在运行过程中由预设终端自身产生的数据流量。在一些实施例中,第一码流数据也可以是由预设终端之外的终端、设备产生的数据流量。例如,用于辅助预设终端正常运行的设备(例如,POS机110-4的辅助刷卡器、大型设备的外部电机)所产生的数据流量。
第二码流数据是指至少一个摄像终端运行时每秒钟的数据流量,例如,50Mbit。具体的,至少一个摄像终端在运行时生成视频数据,第二码流数据为生成该视频数据的数据流量。
在一些实施例中,第1至第N-1个时间点的第一码流数据对应于预设终端,第1至第N-1个时间点的第二码流数据与摄像终端对应,即至少一个摄装终端存在对应的第1至第N-1个时间点的第二数据122码流。
步骤520,将所述第一码流数据和所述第二码流数据输入预测模型,确定所述预设终端在第N个时间点的预测码流数据。具体的,该步骤520可以由预测模块720执行。
在一些实施例中,所述预测模型包括至少一个RNN模型和一个GNN模型。
在一些实施例中,所述至少一个RNN模型用于对所述第1至第N-1个时间点的第一码流数据和所述第1至第N-1个时间点的第二码流数据进行处理,得到所述预设终端的第一码流数据特征和所述至少一个摄像终端的第二码流数据特征。例如,RNN对预设终端对应的第1至第N-1个时间点的第一码流数据进行处理,得到预设终端对应的第一码流数据特征;RNN对某个摄装终端对应的第1至第N-1个时间点的第二码流数据进行处理,得到该对应的第二码流数据特征。
在一些实施例中,所述GNN模型对图进行处理,确定所述预设终端的预测码流数据,其中,以所述预设终端和所述至少一个摄像终端作为所述图的顶点,以所述预设终端和所述至少一个摄像终端之间的关系,和所述至少一个摄像终端之间的关系作为所述图的边,其中,所述边对应的关系满足预设条件,所述预设条件与终端之间距离相关,所述预设终端对应的顶点的特征为对应的第一码流数据特征,所述至少一个摄像终端对应的顶点的特征为对应的第二码流数据特征,所述边的特征包括相对距离和/或相对角度。
在一些实施例中,GNN中与预设终端对应的节点输出预设终端在第N个时间点的预测码流数据。
步骤530,获取所述预设终端在所述第N个时间点的真实码流数据,并基于所述预测码流数据和所述真实码流数据,确定所述预设终端是否正常工作。具体的,该步骤530可以由判断模块730执行。
具体的,可以通过对比预测码流数据和真实码流数据之间的差异性确定目标对象110是否正常工作。关于通过对比预测数据150和真实数据160之间的差异性确定目标对象110是否正常工作的内容可以参见步骤230,在此不再赘述。
图6是根据本说明书一些实施例所示的训练预测模型的方法的示例性流程图。在一些实施例中,预测模型可以通过端到端的学习方式训练得到。如图6所示,该方法600可以包括:
步骤610,获取多个训练样本及其标签,所述训练样本包括样本目标对象110在多个样本时间点的样本第一数据112以及拍摄所述样本目标对象110的至少一个样本摄像终端在所述多个样本时间点的样本第二数据122,所述标签表示所述样本目标对象110在样本预测时间点的真实数据160。具体的,该步骤610可以由预测模块720执行。
在一些实施例中,样本目标对象110是用于训练预测模型的目标对象110。在一些实施例中,样本摄像终端是用于训练预测模型的摄像终端。在一些实施例中,多个样本时间点是用于训练预测模型的多个时间点。在一些实施例中,样本预测时间点是用于训练预测模型的预测时间点,例如,当多个样本时间点为第1至第N-1个时间点,则样本预测时间点可以为第N个时间点。在一些实施例中,训练样本可以是输入至初始预测模型中用于训练预测模型的样本。在一些实施例中,训练样本可以包括基于样本目标对象110和样本摄像终端获取的多个训练样本及其标签。
在一些实施例中,多个训练样本包括样本第一数据112和样本第二数据122。样本第一数据112和样本第二数据122是用于训练预测模型的第一数据112的第二数据122。其中,第一数据112和第二数据122的获取方式参见步骤210。
在一些实施例中,标签可以包括样本目标对象110在样本预测时间点的真实数据160的表示。例如,目标对象110在样本预测时间点的真实工作数据和真实业务数据,如真实订单量和真实客流量等真实数据160。在一些实施例中,标签可以基于历史数据获取。在一些实施例中,标签还可以通过其他方式获取,本实施例不做限制。
在一些实施例中,用于训练预测模型的方法的第二计算机系统140可以通过多种方式来获取训练数据。例如,第二计算机系统140可以通过有线连接方式或无线连接方式,从数据库服务器中获取存储于其中的现有的训练数据。又例如,可以通过终端来收集训练数据。第二计算机系统140还可以接收终端所收集的训练样本,并将这些训练样本存储在本地。
步骤620,基于所述多个训练样本训练初始预测模型,得到所述预测模型。具体的,该步骤620可以由预测模块720执行。
初始预测模型为初始状态下的预测模型,初始预测模型的模型参数并未基于训练样本进行调整及更新。在一些实施例中,可以基于一个或多个携带有标签的训练样本对初始预测模型进行训练,获得训练好的预测模型。具体的,可以不断地调整初始预测模型的参数,以减小各个训练数据对应的损失函数值,使得损失函数值满足预设条件。预设条件可以基于预测值和真实值之间的误差判断或迭代更新设置。例如,损失函数值收敛、损失函数值小于预设值、或达到预定迭代次数(如20次)。当损失函数满足预设条件时,模型训练完成,得到训练好的预测模型。其中,初始预测模型和训练好的预测模型具备相同的模型结构,例如,均至少包括运行特征提取层、视频特征提取层和输出层。关于训练好的预测模型的模型结构及其具体细节可以参见前述描述,在此不再赘述。
通过上述方式,根据带标签的训练样本训练初始预测模型,可以使训练好的预测模型学习到目标对象110在不同时间点的预测数据150,从而能够显著地提升训练好的预测模型的性能,提升其对于目标对象110的各项复杂特征数据的处理能力。
图7是根据本说明书一些实施例所示的检测目标对象110是否正常工作系统的模块图。如图7所示,该系统700中可以包括获取模块710、预测模块720和判断模块730。
在一些实施例中,获取模块710可以用于获取所述目标对象110在预设的第1至第N-1个时间点的第一数据112以及拍摄所述目标对象110的至少一个摄像终端在所述第1至第N-1个时间点的第二数据122。
在一些实施例中,预测模块720可以用于将所述第一数据112和所述第二数据122输入预测模型,确定所述目标对象110在第N个时间点的预测数据150。
在一些实施例中,预测模块720可以进一步用于:获取多个训练样本及其标签,所述训练样本包括样本目标对象110在多个样本时间点的样本第一数据112以及拍摄所述样本目标对象110的至少一个样本摄像终端在所述多个样本时间点的样本第二数据122,所述标签表示所述样本目标对象110在样本预测时间点的真实数据160;基于所述多个训练样本训练初始预测模型,得到所述预测模型。
在一些实施例中,预测模块720可以进一步用于:基于所述第1至第N-1个时间点的视频数据生成视频序列特征;所述至少一个RNN模型对所述视频序列特征和所述第二数据122进行处理,得到融合序列特征;将所述融合序列特征作为所述至少一个摄像终端对应的顶点的特征。
在一些实施例中,判断模块730可以用于获取所述目标对象110在所述第N个时间点的真实数据160,并基于所述预测数据150和所述真实数据160,确定所述目标对象110是否正常工作。
在一些实施例中,判断模块730可以进一步用于:在所述目标对象110异常工作时,发出警报信息,所述警报信息通过灯光、文字和语音信号中的至少一种形式发出。
应当理解,图6所示的系统及其模块可以利用各种方式来实现。例如,在一些实施例中,系统及其模块可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器(固件)的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本说明书的系统及其模块不仅可以有诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合(例如,固件)来实现。
需要注意的是,以上对于检测目标对象110系统600及其模块的描述,仅为描述方便,并不能把本说明书限制在所举实施例范围之内。可以理解,对于本领域的技术人员来说,在了解该系统的原理后,可能在不背离这一原理的情况下,对各个模块进行任意组合,或者构成子系统与其他模块连接。例如,图6中获取模块710、预测模块720和判断模块730可以是一个系统中的不同模块,也可以是一个模块实现上述的两个或两个以上模块的功能。又例如,检测目标对象110系统600中各个模块可以共用一个存储模块,各个模块也可以分别具有各自的存储模块。诸如此类的变形,均在本说明书的保护范围之内。
本说明书实施例可能带来的有益效果包括但不限于:(1)本说明书的实施例实现了多个模型端到端的训练。多个模型通过端到端的训练,可以共同地处理多种复杂情况,提高了模型的准确率。例如,单独基于摄像终端的码流序列特征和/或视频数据特征不足以检测目标对象110,单独基于目标对象110的码流序列特征和/或业务数据特征也不足以检测目标对象110,但基于本方案就可以同时结合码流序列特征、业务数据特征和视频数据特征等多个不同特征的影响进行综合判断。以目标对象110为预设终端电脑为例,若电脑的摆放位置及业务数据如订单量异常,单独基于摄像终端拍摄该电脑产生的码流序列特征和/或视频数据特征不足以检测到订单量异常,单独基于电脑产生的码流序列特征和/或业务数据特征如订单量数据特征也不足以检测到电脑的摆放位置异常,但基于本方案就可以同时结合电脑的码流序列特征、业务数据特征如订单量数据特征和视频数据特征的影响进行综合判断,检测出电脑的摆放位置及业务数据如订单量异常;(2)多个模型通过端到端的训练可以简化训练过程,同时对数据进行处理,提高了模型的效率。例如,分开训练多个模型需要为每一个模型准备训练所需的训练数据,端到端的训练可以简化上述准备工作;(3)通过预测模型预测目标对象的预测数据150,并根据预测数据150和真实数据160自动地判断目标对象是否正常工作,可以省去人工检测的人力成本。
综上所述,针对目标对象是否正常工作的检测,本说明书提供的方案能够更充分地结合多个相关数据、获取对预测有帮助的信息,并针对这些信息的特点采取了端对端的机器学习模型结构以取得更好的运行效率和判断效果。
上文已对基本概念做了描述,显然,对于本领域技术人员来说,上述详细披露仅仅作为示例,而并不构成对本说明书的限定。虽然此处并没有明确说明,本领域技术人员可能会对本说明书进行各种修改、改进和修正。该类修改、改进和修正在本说明书中被建议,所以该类修改、改进、修正仍属于本说明书示范实施例的精神和范围。
同时,本说明书使用了特定词语来描述本说明书的实施例。如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本说明书至少一个实施例相关的某一特征、结构或特点。因此,应强调并注意的是,本说明书中在不同位置两次或多次提及的“一实施例”或“一个实施例”或“一个替代性实施例”并不一定是指同一实施例。此外,本说明书的一个或多个实施例中的某些特征、结构或特点可以进行适当的组合。
此外,除非权利要求中明确说明,本说明书所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本说明书流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本说明书实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本说明书披露的表述,从而帮助对一个或多个发明实施例的理解,前文对本说明书实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。但是,这种披露方法并不意味着本说明书对象所需要的特征比权利要求中提及的特征多。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。
一些实施例中使用了描述成分、属性数量的数字,应当理解的是,此类用于实施例描述的数字,在一些示例中使用了修饰词“大约”、“近似”或“大体上”来修饰。除非另外说明,“大约”、“近似”或“大体上”表明所述数字允许有±20%的变化。相应地,在一些实施例中,说明书和权利要求中使用的数值参数均为近似值,该近似值根据个别实施例所需特点可以发生改变。在一些实施例中,数值参数应考虑规定的有效数位并采用一般位数保留的方法。尽管本说明书一些实施例中用于确认其范围广度的数值域和参数为近似值,在具体实施例中,此类数值的设定在可行范围内尽可能精确。
针对本说明书引用的每个专利、专利申请、专利申请公开物和其他材料,如文章、书籍、说明书、出版物、文档等,特此将其全部内容并入本说明书作为参考。与本说明书内容不一致或产生冲突的申请历史文件除外,对本说明书权利要求最广范围有限制的文件(当前或之后附加于本说明书中的)也除外。需要说明的是,如果本说明书附属材料中的描述、定义、和/或术语的使用与本说明书所述内容有不一致或冲突的地方,以本说明书的描述、定义和/或术语的使用为准。
最后,应当理解的是,本说明书中所述实施例仅用以说明本说明书实施例的原则。其他的变形也可能属于本说明书的范围。因此,作为示例而非限制,本说明书实施例的替代配置可视为与本说明书的教导一致。相应地,本说明书的实施例不仅限于本说明书明确介绍和描述的实施例。