一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

识别操作事件的方法和装置与流程

2021-10-24 13:18:00 来源:中国专利 TAG:识别 装置 事件 操作 方法

识别操作事件的方法和装置
1.相关申请的交叉引用
2.本技术要求2020年12月31日递交的、题为“识别操作事件的方法和装置”、申请号为10202013260q的新加坡专利申请,其全部内容通过引用并入本文。
技术领域
3.本公开涉及图像处理技术,具体涉及一种识别操作事件的方法和装置。


背景技术:

4.随着技术的发展,越来越多的场景存在更加智能化的需求,例如,其中一种需求即能够对场景(如,该场景可以是一个游戏场所)中发生的事件进行自动识别和记录,所述的场景中发生的事件可以是一种操作事件,该操作事件可以是由场景中的参与人员对场景中某个物体的移动、取走等操作。如何自动采集和识别这些操作事件的发生,是场景智能化建设中的一个有待解决的问题。


技术实现要素:

5.有鉴于此,本公开实施例至少提供一种识别操作事件的方法和装置。
6.第一方面,提供一种识别操作事件的方法,所述方法包括:对视频的至少两个图像帧进行对象检测和跟踪,得到所述至少两个图像帧中包含的对象的对象变化信息,其中,所述对象为可操作对象;根据所述对象的对象变化信息,确定发生的对象操作事件。
7.第二方面,提供一种操作事件识别装置,所述装置包括:检测处理模块,用于对视频的至少两个图像帧进行对象检测和跟踪,得到所述至少两个图像帧中包含的对象的对象变化信息,其中,所述对象为可操作对象;事件确定模块,用于根据所述对象的对象变化信息,确定发生的对象操作事件。
8.第三方面,提供一种电子设备,该设备可以包括:存储器、处理器,所述存储器用于存储计算机可读指令,所述处理器用于调用所述计算机指令,实现本公开任一实施例的识别操作事件的方法。
9.第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例的识别操作事件的方法。
10.第五方面,提供一种计算机程序,包括计算机可读代码,当所述代码在电子设备中执行时,促使所述电子设备中的处理器执行本公开任一实施例的识别操作事件的方法。
11.本公开实施例提供的识别操作事件的方法和装置,通过对视频中的图像帧进行对象检测和跟踪,能够获得视频中对象的对象变化信息,从而依据该对象变化信息就可以自动识别得到相应的对象操作事件,实现了事件的自动识别。
附图说明
12.为了更清楚地说明本公开一个或多个实施例或相关技术中的技术方案,下面将对
实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开一个或多个实施例中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
13.图1示出了本公开至少一个实施例提供的一种识别操作事件的方法的流程示意图;
14.图2示出了本公开至少一个实施例提供的另一种识别操作事件的方法的流程示意图;
15.图3示出了本公开至少一个实施例提供的一种游戏桌场景的示意图;
16.图4示出了本公开至少一个实施例提供的一种游戏币的操作事件识别示意;
17.图5示出了本公开至少一个实施例提供的一种识别操作事件的装置的结构示意图。
具体实施方式
18.为了使本技术领域的人员更好地理解本公开一个或多个实施例中的技术方案,下面将结合本公开一个或多个实施例中的附图,对本公开一个或多个实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开一个或多个实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本公开保护的范围。
19.本公开实施例提供了一种识别操作事件的方法,该方法可以应用于对场景中的操作事件进行自动识别。其中,场景中包括的物体可以称为对象,可以通过对象操作物(例如,人手或者其他的对象夹持工具,该对象夹持工具例如可以是夹子)对该对象进行取走、移动等多种类型的操作。该方法可以通过安装在智慧场景中的采集设备(如,摄像头),对场景中发生的操作事件采集视频,并根据该视频的分析自动识别到发生了上述的对象操作物操作对象的对象操作事件(例如,人手拿走了某个物体)。
20.如图1所示,示出了本公开至少一个实施例提供的一种识别操作事件的方法的流程图。如图1所示,该方法可以包括:
21.在步骤100中,对视频的至少两个图像帧进行对象检测和跟踪,得到所述至少两个图像帧中包含的对象的对象变化信息,该对象为可操作对象。
22.本步骤中,视频可以是通过在事件发生场景设置的摄像头,采集得到的该场景下的视频。其中,所述的事件发生场景可以是包含人物或事物且人物或事物的状态等发生变化的场景。示例性的,该场景可以是一个游戏桌。该视频中可以包括多个图像帧。
23.视频的至少两个图像帧可以是视频中的连续的至少两个图像帧,或者可以是对视频中的所有图像帧采样后按照时间顺序依次选取的至少两个图像帧。
24.所述视频中的各个图像帧中,可以包含“对象”。对象表征事件发生场景中的人、动物、物体等实体。示例性的,以上述的游戏桌场景为例,游戏桌上的游戏币可以称为“对象”。又比如,一个对象可以是叠放在游戏桌上的一摞游戏币。摄像头采集的视频中的图像帧中可以包括该对象,当然,图像帧中的对象可以不止一个。
25.场景中的对象是可操作对象。这里的可操作对象指的是对象具有可操作性,例如,该对象能够在外力的作用下改变对象的部分属性,该属性包括但不限于如下示例:对象中
组件的数量、对象的站立/摊开等状态,等。
26.通过对至少两个图像帧进行对象检测和跟踪,可以得到在时序上不同的图像帧中,各个对象发生了怎样的变化,即获得对象的对象变化信息。例如,在前序图像帧中检测到的某个对象在后续的图像帧中不再出现,或者某个对象的状态发生了变化(例如,站立状态变为摊开状态)。
27.在步骤102中,根据对象的对象变化信息,确定发生的对象操作事件。
28.如果检测到了对象的对象变化信息,可以认为发生了使得该对象产生变化的对象操作事件,正是由于该对象操作事件的出现,使得所述对象发生变化,由此得到了所述对象的对象变化信息。基于此,本步骤中可以根据对象的对象变化信息来确定发生了怎样的对象操作事件。示例性的,若检测到的对象的对象变化信息是对象的状态由站立变为摊开,则对应发生的对象操作事件是“将对象摊开”。
29.在一个示例中,可以预先定义一些事件发生条件,该事件发生条件可以是预先设置的由某个对象操作事件引起的对象的状态、位置、数量、与其他对象之间的关系等属性中的至少一项的变化信息。
30.例如,以对象操作事件是“取走对象”为例,如果发生取走对象的事件,那么采集视频中的图像帧中应该检测到该对象初始能够被检测到,后来不能再被检测到(即消失),则该取走对象的事件对应的事件发生条件可以是“根据对象的对象变化信息,确定该对象在视频中被检测到消失”。
31.由于可能发生的对象操作事件可以有多种,例如,取走对象、放下对象、将对象由站立状态改变为摊开状态,等,相应的,每种对象操作事件都可以设置对应的事件变化条件。当步骤100中检测到对象的对象变化信息之后,可以继续根据该对象变化信息确认对象发生了什么变化,该变化是否符合预设的事件变化条件。如果对象的对象变化信息符合预定的事件变化条件,还在视频的至少两个图像帧中的至少一部分图像帧中检测到对象操作物,并且该对象操作物的位置与所述对象的位置之间的距离在预设的距离阈值内,则可以确定经由所述对象操作物对所述对象进行操作而发生了与所述事件变化条件对应的对象操作事件。
32.所述的对象操作物可以是用于对所述对象进行操作的物体,例如,人手,对象夹持工具,等。通常情况下,对象操作事件的发生是由于该对象操作物进行了操作,并且,在操作对象时该对象操作物将与所述对象发生接触,因此,在图像帧中,检测到的对象操作物与所述对象之间的距离不会太远,通常能够在所述对象的位置范围内可以检测到该对象操作物的存在,这里的对象的位置范围内指的是包括该对象的一块占据区域范围,也可以说是距离所述对象一定的距离阈值的范围内,例如,以所述对象为中心,距离所述对象为5cm左右的范围内。以人手取走对象为例,当发生人手取走该对象的对象操作事件时,该人手与对象将会发生接触后拿走,所采集的视频的至少一部分图像帧中将拍摄到对象的位置范围内同时存在人手。当然,部分图像帧中也可以是人手未与对象直接接触,但是与对象的距离非常接近,处于对象的位置范围内,这种非常接近的距离也可以表明人手与对象存在较大的接触和操作概率。总之,若发生对象操作事件,至少一部分图像帧中将检测到存在对象操作物,并且对象操作物与对象之间的距离在距离阈值内,该距离阈值用于限定对象操作物与对象之间的距离足够近。
33.此外,还需要说明的是,在视频的图像帧中,检测到对象发生变化的图像帧与检测到对象操作物的图像帧之间,在图像帧的采集时间上通常会较为接近。示例性的,假设根据图像帧f1至f3确定发生了“对象消失”的变化,比如图像帧f1中存在所述对象,图像帧f3中对象不存在了;并且在图像帧f2中检测到了对象操作物“人手”的存在,其中,图像帧f2在时序上位于图像帧f1和f3之间。可以看到,对象操作物的出现时间正好与对象发生变化的时间相匹配的。
34.本实施例的识别操作事件的方法,通过对视频中的图像帧进行对象检测和跟踪,能够获得视频中对象的对象变化信息,从而依据该对象变化信息就可以自动识别得到相应的对象操作事件,实现了事件的自动识别。
35.图2提供了本公开另一实施例的识别操作事件的方法,如图2所示,该实施例的方法将对对象操作事件的识别详细说明。该方法可以包括如下处理:
36.在步骤200中,根据第一图像帧中检测得到的至少一个第一对象框,确定在所述第一图像帧中检测到至少一个对象。
37.其中,视频中可以包括多个图像帧,例如第一图像帧和第二图像帧,所述第二图像帧在时序上位于第一图像帧之后。
38.本步骤中,假设在第一图像帧中可以检测到至少一个对象框,为了与其他图像帧中的对象框进行区分以方便描述,该第一图像帧中的对象框可以称为第一对象框。例如,以游戏币为例,一个所述对象框可以是一摞叠放的游戏币。如果在游戏桌上叠放有三摞游戏币,可以检测到三个对象框。
39.其中的每个第一对象框对应一个对象,例如,一摞叠放的游戏币即一个对象。如果该第一图像帧是视频中的首个图像帧,可以存储该第一图像帧检测到的所述至少一个对象,并且可以获取每个对象的对象位置、对象识别结果和对象状态。
40.例如,所述的对象位置可以是该对象在第一图像帧中的位置信息。
41.例如,对象可以包括多个可堆叠的对象组件,并且每个对象组件具有对应的组件属性。那么所述的对象识别结果可以包括如下至少一种:对象组件的数量或者对象组件的组件属性。示例性的,以一个对象是一摞游戏币为例,该对象中包括五个游戏币,每个游戏币即一个对象组件。其中的对象组件的组件属性例如可以是组件的种类、组件的面值等,比如上述的游戏币的种类/面值。
42.例如,对象可以具有至少两种对象状态,其中,每个图像帧中的对象可以处于其中一种对象状态。示例性的,当对象包括可堆叠的对象组件时,该对象状态可以是对象组件的堆叠状态信息,例如,组成对象的这些对象组件处于站立堆叠的状态,或者处于组件摊开的状态。
43.上述的每个对象的对象位置可以依据第一图像帧处理获得,对象识别结果和对象状态可以是综合根据其他视频的信息得到。例如,本实施例的视频可以是由设置在事件发生场景的上方的顶部摄像头采集得到,而该事件发生场景还可以在其侧方(例如,左侧或者右侧)设置至少两个摄像头采集其他视频,该其他视频中的图像帧可以通过预先训练的机器学习模型识别到场景中对象的对象识别结果和对象状态,并将该对象识别结果和对象状态映射到视频的图像帧中包括的对象。
44.在步骤202中,在所述第二图像帧中检测得到至少一个第二对象框,并获取每个所
述第二对象框分别对应的对象位置、对象识别结果和对象状态。
45.其中,该第二图像帧是在时序上位于第一图像帧之后采集,同样的,由该第二图像帧中也可以检测得到至少一个对象框,称为第二对象框。每个第二对象框也对应一个对象。此外,可以用同样的方式,获取到该第二对象框对应的每个对象的对象位置、对象识别结果和对象状态。
46.在步骤204中,根据对象位置和对象识别结果,将所述至少一个对象框对应的各个第一对象与已检测到并存储的第二对象之间进行比对,建立对象之间的对应关系。
47.本实施例中,可以将第二图像帧中检测到的对象与第一图像帧中检测到的对象进行匹配,建立两个图像帧中的各对象之间的对应关系。其中,第一图像帧中检测到对象后,可以先存储这些对象的对象位置和对象识别结果,并将第一图像帧中的对象称为第一对象。待由第二图像帧中检测到对象后,将该对象称为第二对象。
48.首先,根据对象位置,建立所述第一对象和第二对象之间的位置相似度矩阵;并根据所述对象识别结果,建立所述第一对象和第二对象之间的识别结果相似度矩阵。例如,以位置相似度矩阵的建立为例,可以使用卡尔曼滤波(kalman filter)算法建立该位置相似度矩阵,对于每个第一对象,根据第一对象的对象位置预测与所述第二图像帧对应的预测对象位置(即在该第二图像帧的帧时刻t对应的预测对象位置),再根据各个第一对象的预测对象位置以及第二对象的对象位置(相当于实际对象位置),计算获得位置相似度矩阵。又例如,可以根据各个第一对象和第二对象的对象识别结果中的最长公共子序列建立两者之间的识别结果相似度矩阵。
49.接着,基于所述位置相似度矩阵和识别结果相似度矩阵,得到对象相似度矩阵。例如,可以把位置相似度矩阵和识别结果相似度矩阵这两个矩阵逐元素相乘得到一个新的矩阵,作为最终的相似度矩阵,称为对象相似度矩阵。
50.最后,可以根据所述对象相似度矩阵,对各个第一对象和第二对象之间进行最大二分图匹配,确定每个第一对象对应的第二对象。
51.例如,如果某个第一对象d1对应于第二对象d2,则表示第一图像帧中的第一对象d1在第二图像帧中就是第二对象d2,这两个对象是同一个对象。
52.又例如,如果第一图像帧中的某个第一对象在第二图像帧中找不到对应的第二对象,表示该第一对象在第二图像帧消失了。
53.再例如,如果第二图像帧中的某个第二对象在第一图像帧中找不到对应的第一对象,表示该第二对象是在第二图像帧中新出现的对象。
54.在步骤206中,通过比较第一图像帧中的对象与第二图像帧中的对象,确定对象的对象变化信息。
55.所述的变化信息可以是对象发生了什么变化。比如,上面提到的,这种对象的变化可以是对象消失或者出现新的对象,还可以是该对象在两个图像帧中均存在,但是对象本身的信息发生了变化,例如,对象状态由站立变为摊开,或者对象包含的对象组件的数量增加或者减少,等。
56.此外,上面的步骤都是以第一图像帧和第二图像帧为例进行说明,实际实施中,可以存储一个“对象库”,例如,第一图像帧中检测到对象后,将对象记录在该对象库中,包括该第一图像帧中每个对象的对象位置、对象识别结果和对象状态等。后续的图像帧检测到
的对象可以与该对象库中的各个对象进行跟踪处理,找到对象库中对应的对象。
57.示例性的,假设有一个对象库,第一图像帧中检测到的三个对象存储在该对象库中,相邻的第二图像帧中检测到四个对象,并且通过两个图像帧之间的对象比对得知其中三个对象能够在对象库中找到对应的对象,另一个对象是新增加的,那么可以将该新增加的对象的位置、对象识别结果和对象状态增加到对象库中,此时对象库中就有四个对象。接着,第二图像帧相邻的第三图像帧中检测到两个对象,同样的要与对象库中的各个对象进行比对,假设能够找到对象库中对应的两个对象,那么可以得到对象库中另两个对象在该第三图像帧中未被检测到,即在第三图像帧中消失,可以将该消失的两个对象由对象库中删除。如上,即每个图像帧中检测到的对象均与对象库中已经检测到并存储的各个对象进行比对,并且可以根据当前图像帧中的对象更新对象库中的对象,包括增加新的对象或者删除消失的对象,或者更新已有对象的对象识别结果和/或对象状态。
58.此外,一方面,确定对象的对象变化信息,通常是在某个时间段内的变化,例如,在时刻t1至时刻t2这个时间间隔内的变化,并且,时刻t1对应采集的一个图像帧,时刻t2对应采集的另一个图像帧,本实施例不限制该时间间隔内的图像帧数量。因此,可以去确定在某个时间段内对象的对象变化信息,比如,增加了哪些对象,减少了哪些对象,或者某个对象的对象状态发生了怎样的变化。
59.另一方面,确定对象的对象变化信息,通常是在进行了对象比对后获得的。比如,检测到某个图像帧中的对象后,要先去与对象库中的各个对象进行比对,找到对应的对象,然后获知对象库中的哪些对象增加或者减少。或者,找到对应的对象后,比较该对象自身的对象状态、对象识别结果是否有发生变化。
60.再一方面,当检测到对象发生变化时,不论是对象的增加/减少/状态变化等,有时可能会发生误检测,为了提高判断的准确性,可以设置当连续检测预设数量的图像帧该变化均一直存在时,确认该对象的对象变化信息的发生。
61.以对象变化信息是对象的出现或者消失为例:
62.若在所述至少两个图像帧中的部分图像帧中未检测到某个对象,并且在所述部分图像帧之后的连续预定数量的图像帧内,由第一目标区域内检测到所述对象,则确认该对象是出现在第一目标区域的新对象。
63.若在所述至少两个图像帧中的部分图像帧中,由第二目标区域检测到某个对象,并且在所述部分图像帧之后的连续预定数量的图像帧内,所述第二目标区域内的对象均未被检测到,则确认该对象在事件发生场景中的第二目标区域消失。
64.在其他的例子中,对象的对象变化信息还可以包括对象的对象识别结果发生变化,例如,对象内包含的对象组件的数量发生增加或者减少。又例如,对象的对象状态发生变化,其中,一个对象可以包括至少两种对象状态,其中,每个图像帧中的对象处于其中一种对象状态。示例性的,对象状态可以包括摊开/站位,采集的某个图像帧中的对象要么呈现站立状态,要么摊开。
65.在步骤208中,若所述对象的对象变化信息符合预定的事件变化条件,还在所述至少两个图像帧中的至少一部分图像帧中检测到对象操作物,并且所述对象操作物的位置与所述对象的位置之间的距离在预设的距离阈值内,确定经由所述对象操作物对所述对象进行操作而发生了与所述事件变化条件对应的对象操作事件。
66.例如,对象的对象变化信息可以在时刻t1至时刻t2这个时间间隔内的变化,并且在该时间间隔内,于所述对象的位置范围内检测到存在对象操作物(例如,人手),即对象操作物与对象的距离在预设的距离阈值内,则可以确认经由所述对象操作物对所述对象进行操作而发生了与事件发生条件对应的对象操作事件。
67.示例性的,如果检测到视频的至少两个图像帧中新出现了一个对象,可以将该对象称为第一对象,并且确定该第一对象在所述图像帧中的对象位置是在该图像帧中的第一目标区域,那么确定发生的对象操作事件为:向所述第一目标区域移入所述第一对象。又比如,也可以是在上述检测到第一目标区域新出现了第一对象的基础上,还检测到该段时间内也出现了人手,且人手与第一对象的距离在预设的距离阈值内,则确定发生了向所述第一目标区域移入所述第一对象的事件。
68.又例如,如果检测到对象的对象变化信息为由所述至少两个图像帧中检测到一个对象由所述第二目标区域消失,该对象可以称为第二对象,即第二对象消失前在所述至少两个图像帧的第二目标区域,那么确定发生的对象操作事件为:由所述第二目标区域中移出所述第二对象。又比如,也可以是在上述检测到由第二目标区域移出第二对象的基础上,还检测到该段时间内也出现了人手,且人手与第二对象的距离在预设的距离阈值内,则确定发生了由所述第二目标区域移出所述第二对象的事件。
69.通过检测图像中向第一目标区域的移入第一对象或从第二目标区域移出第二对象,可以自动化地检测出事件发生的位置,在诸如游戏等场景中,允许对象操作物(例如人手等)在场景内自由地操作,实现了更灵活的事件识别。
70.再例如,再以视频的至少两个图像帧中检测到第三对象为例,假如检测到该第三对象的对象识别结果发生变化,则可以确定发生了与所述对象识别结果的变化相对应的对象操作事件。
71.示例性的,可以检测第三对象的对象识别结果发生的变化是否包括:第三对象内包含的对象组件的数量发生的变化,以及变化前后的所述第三对象是否存在组件属性相同的对象组件。若第三对象包括的对象组件的数量发生变化,并且变化前后的第三对象存在组件属性相同的对象组件,则确定发生与对象识别结果的变化对应的对象操作事件为增加所述对象的对象组件,或者减少所述对象的对象组件。
72.比如,仍以游戏币为例,一摞游戏币中包括两个面值50的游戏币,如果在后的图像帧检测到的该摞游戏币包括四个面值50的游戏币,一方面,该四个面值50的游戏币中包括了与前述“两个面值50的游戏币”相同的对象组件,即均有两个面值50的游戏币;另一方面,游戏币的数量发生了变化,币的数量增加了,那么可以确认发生了在该摞游戏币增加币的数量的事件。而如果在后的图像帧检测到的该摞游戏币包括三个面值100的游戏币,即该对象“三个面值100的游戏币”与前述对象“两个面值50的游戏币”没有任何相同种类和面值的游戏币,即不存在组件属性相同的对象组件,则尽管游戏币数量增加了,也不会确认发生了增加游戏币的事件。这种综合游戏币的数量/属性的识别方式使得事件识别更准确。
73.还例如,若检测到的对象的对象变化信息包括该对象的对象状态变化信息,则确定发生的对象操作事件为控制所述对象状态变化的操作事件。比如,当对象包括可堆叠的对象组件时,对象状态变化信息可以包括对象组件的堆叠状态信息,比如一摞游戏币由原来的堆叠站立状态改变为摊开状态,那么可以确定发生了摊开该摞游戏币的操作事件。
74.本实施例的识别操作事件的方法,通过对视频中的图像帧进行对象检测和跟踪,能够获得视频中对象的对象变化信息,从而依据该对象变化信息就可以自动识别得到相应的对象操作事件,实现了事件的自动识别;并且,通过结合对象识别结果和对象位置进行跟踪,能够更加准确的跟踪到该对象。
75.随着人工智能技术的不断发展,很多场所都尝试进行智能化建设,比如,其中一个课题即为智慧游戏场所的建设。那么,智慧游戏场所建设的其中一个需求即自动识别游戏场所中发生的操作事件,例如,游戏者对游戏币进行了怎样的操作,是增加了游戏币,还是将游戏币摊开,等。本公开实施例提供的操作事件识别方法,可以用于识别智慧游戏场所中的操作事件。
76.在一种示例的桌面游戏场景中,多个人可以坐在一张游戏桌的四周,该游戏桌上可以包括多个游戏区域,不同的游戏区域可以具有不同的游戏含义,这些游戏区域在如下描述中可以是不同的堆叠区域。并且,在多人游戏中,用户可以通过游戏币来进行游戏。
77.例如,用户可以通过属于自己的某些物品换取该游戏币,并将游戏币放置在游戏桌的不同堆叠区域以进行游戏。举例来说,第一用户可以将自己持有的多个水彩笔换取成游戏使用的游戏币,并利用游戏币在游戏桌上不同的堆叠区域间按照游戏规则进行游戏,若第二用户在游戏中赢了第一用户,则该第一用户的水彩笔可以归属于第二用户。比如,上述的该游戏适合多个家庭成员间在节假日等休闲时间作为娱乐活动。
78.接着以图3所示的游戏桌为例,如图3所示,在游戏场景中,可通过游戏桌20进行游戏,通过两侧的摄像头211和212采集游戏桌上各个堆叠区域中放置的游戏币的图像。参与游戏的用户221、用户222、用户223位于游戏桌20的一侧,该用户221、用户222和用户223可以称为第一用户;参与游戏的另一个用户23位于游戏桌20的另一侧,该用户23可以称为第二用户。第二用户可以是游戏中负责掌控游戏进度的用户。
79.在游戏开始阶段,各个第一用户可以用自己的兑换物(例如,水彩笔,或者其他可能被用户感兴趣获取的物品)向第二用户换取游戏币,第二用户将放置在游戏币的存放区域27中的游戏币交付给第一用户。然后,第一用户可以将游戏币放置在游戏桌上的预定操作区域,例如第一用户222放置的预定操作区域241、第一用户223放置的预定操作区域242。在游戏进行阶段,发牌机25发牌到游戏进行区域26,从而进行游戏。游戏完成后,第二用户可以根据游戏进行区域26的卡牌情况,确定游戏结果,并且对于游戏胜利的第一用户会给他增加游戏币。上述的存放区域27和预定操作区域241、预定操作区域242等都可以称为堆叠区域。
80.此外,由图3还可以看到,游戏桌上包括多个预定操作区域,用户(游戏玩家)在这些预定操作区域内交付游戏币或收回游戏币。例如,预定操作区域241和预定操作区域242,该预定操作区域的游戏币可以是将多个游戏币垂直于游戏桌的桌面从上到下叠放。
81.本实施例中,可以通过游戏桌上方布置的鸟瞰相机拍摄的视频,来判断游戏桌上正在进行的动作即操作事件。其中,该游戏桌可以称为事件发生场景,该场景中的对象可以是游戏币,比如,预定操作区域叠放的一摞游戏币可以称为一个对象。该场景中的对象操作物可以是游戏参与者的人手,该场景中可能发生的对象操作事件可以是:取走游戏币/增加游戏币/摊开游戏币等。
82.此外,在利用鸟瞰相机拍摄的视频进行场景中的事件自动识别时,可以通过游戏
桌两侧设置的摄像头211和212采集的对象的侧面图像来进行辅助,例如,侧面摄像头拍摄的对象侧面图像可以通过预先训练的机器学习模型,识别得到对象状态或者对象识别结果,并将识别到的这些对象信息赋给鸟瞰相机拍摄的对象,比如,可以根据鸟瞰相机拍摄的图像帧获得对象位置、对象数量等信息,再合并侧面摄像头获得的对象状态/对象识别结果,一并存储在对象库中。还需要说明的是,随着对视频中各个图像帧的持续跟踪检测,可以根据最新检测到的对象变化信息不断更新对象库中的对象信息。例如,对象库中的某对象包含五片对象组件,当前图像帧检测到该对象包含七片对象组件,则可以据此更新对象库中存储的该对象包含的对象组件的数量为七。后续的图像帧检测结果再与该对象库比较时,就是比较最新的对象组件数量了。
83.如下以游戏币为例,通过图4来描述如何识别对游戏币的操作事件:
84.对象跟踪:
85.例如,对于游戏桌上方的鸟瞰相机拍摄的视频中的每一个图像帧都进行如下处理:
86.在步骤400中,对当前图像帧进行对象检测,检测到至少一个图像框,其中,每一个对象框对应一个对象,每一个对象可以包括至少一个游戏币。例如,在某个图像帧中可以检测到三个对象,这三个对象可以是三摞游戏币。
87.在步骤402中,获得其中每一个对象的对象位置和对象识别结果。
88.例如,对象位置可以是该对象在图像帧中的位置,对象识别结果可以是对象中包括的游戏币的数量。
89.在步骤404中,将当前图像帧中的各个对象与对象库中的各个对象之间,基于所述对象位置和对象识别结果建立相似度矩阵。
90.例如,可以根据所述对象位置,建立当前图像帧中检测的各个对象与对象库中的各个对象之间的位置相似度矩阵。可以根据对象识别结果,建立当前图像帧中检测的各个对象与对象库中的各个对象之间的识别结果相似度矩阵。例如,假设对象库中存在m个对象,当前图像帧存在n个对象,可以建立一个m*n的相似度矩阵(位置相似度矩阵或者识别结果相似度矩阵),其中,m和n为正整数。
91.在步骤406中,基于所述位置相似度矩阵和识别结果相似度矩阵,得到对象相似度矩阵。
92.在步骤408中,根据所述对象相似度矩阵,对当前图像帧中检测的各个对象与对象库中的各个对象之间进行最大二分图匹配,确定当前图像帧中的各个对象对应的对象库中的对象。
93.在步骤410中,根据对象的跟踪结果,确定对象的对象变化信息。
94.例如,假设某一摞游戏币在第一图像帧的某个目标区域检测到,在之后的第二图像帧检测不到了,即对象库中的该摞游戏币在第二图像帧中没有对应的对象,则可以获知对象变化信息是该摞游戏币由目标区域消失了。
95.又例如,假设某一摞游戏币一直存在,只不过发现对象库中的该对象中包括的游戏币数量是五,而当前图像帧检测到的游戏币数量是七,则可以确定对象变化信息是游戏币的数量增加。
96.事件识别:
97.在确定了发生对象变化后,例如,某一摞游戏币中的游戏币数量增加了,或者某一摞游戏币消失了,可以继续进行对游戏币的操作事件的识别。
98.例如,如果检测到的对象变化信息是:在时间段t内,游戏桌上第一目标区域的一摞游戏币消失了,并且在该时间段内同时检测到在图像帧中距离该摞游戏币在距离阈值范围的区域内出现了人手,可以确认发生了“由第一目标区域移出该摞游戏币”的对象操作事件。
99.又例如,如果检测到的对象变化信息是:在时间段t内,游戏桌上第二目标区域检测到新出现了一摞游戏币,并且在该时间段内同时检测到在图像帧中距离该摞游戏币在距离阈值范围的区域内出现人手,可以确认发生了“向所述第二目标区域移入该摞游戏币”的对象操作事件。
100.再例如,如果检测到的对象变化信息是:当检测到游戏桌上某区域的一摞游戏币在原来的基础上增加/减少了一或多片游戏币,并且变化前后的该摞游戏币存在属性相同的游戏币,在该时间段内同时检测到在图像帧中距离该游戏币距离阈值范围的区域内出现了人手,可以确认发生了“在该摞游戏币中增加/减少游戏币”的操作事件。
101.还例如,如果检测到的对象变化信息是:当检测到游戏桌上某区域的一摞游戏币的状态从站立转变为摊开,或者由摊开转变为站立时,并且在该时间段内同时检测到在图像帧中距离该游戏币距离阈值范围的区域内出现人手,可以确认发生了“摊开该摞游戏币/合起该摞游戏币”的操作事件。
102.本公开实施例通过提供操作事件的识别方法,可以实现事件发生场景的操作事件自动识别,并且,针对不同的对象变化信息,可以识别出对应的操作事件,实现了细粒度的操作事件识别。
103.可以根据操作事件的识别结果进一步执行其他操作。仍以游戏场景为例,假设图3中的第二用户23在给游戏赢了的第一用户增加游戏币时,通常是将要赋予给第一用户的游戏币在存放区域27摊开,以确认这些待赋予的游戏币的数量是否正确。智慧游戏场景中的需求是自动识别这些待给予赢了的第一用户的游戏币是否正确,而前提是先确定游戏桌上哪一摞游戏币是待给予的游戏币。按照本公开实施例的方法,可以检测哪一摞游戏币发生了“摊开该摞游戏币”的事件,如果我们检测到某一摞游戏币被摊开了,就可以确认这摞游戏币是待给予赢了的第一用户的游戏币,从而可以继续判断游戏币的金额是否正确。再比如,当利用本公开实施例的方法检测到新出现了某一摞游戏币时,可以确认玩家投入了新的游戏币了,可以继续判断玩家的投入的游戏币的总额。
104.又例如,通过本实施例的方法,还可以自动识别到在游戏桌的某个区域新出现了一摞游戏币,即该区域有新投入的游戏币时,可以通过识别图像帧中的人手是哪位玩家的手,来确认这摞游戏币是哪位玩家投入的。其中,在识别人手时可以结合依据游戏桌侧面摄像头拍摄的图像来共同识别,例如,可以通过游戏桌侧面摄像头拍摄的图像使用深度学习模型检测出人手和人脸的关联关系,再通过多相机融合算法映射到鸟瞰相机采集的图像帧中,获知哪位用户在投入游戏币。
105.再比如,通过本实施例的方法,还可以自动检测玩家对游戏桌上的某个标识物进行了操作的事件时,确认游戏阶段的切换。
106.图5示例了本公开实施例的一种识别操作事件的装置的结构示意图,该装置可以
应用于实现本公开任一实施例的识别操作事件的方法。如图5所示,该装置可以包括:检测处理模块51和事件确定模块52。
107.检测处理模块51,用于对视频的至少两个图像帧进行对象检测和跟踪,得到至少两个图像帧中包含的对象的对象变化信息,其中,所述对象为可操作对象。
108.事件确定模块52,用于根据对象的对象变化信息,确定发生的对象操作事件。
109.在一个例子中,事件确定模块52,在用于根据所述对象的对象变化信息确定发生的对象操作事件时,包括:在所述对象的对象变化信息符合预定的事件发生条件的情况下,还在所述至少两个图像帧中的至少一部分图像帧中检测到对象操作物,并且所述对象操作物的位置与所述对象的位置之间的距离在预设的距离阈值内,则确定经由所述对象操作物对所述对象发生了与所述事件发生条件对应的对象操作事件。
110.在一个例子中,检测处理模块51,在用于对视频的至少两个图像帧进行对象检测和跟踪,得到所述至少两个图像帧中包含的对象的对象变化信息时,包括:检测所述至少两个图像帧中新出现的第一对象,确定所述第一对象出现在所述至少两个图像帧中的对象位置,为第一目标区域;
111.所述事件确定模块52,具体用于确定发生的对象操作事件为向所述第一目标区域移入所述第一对象。
112.在一个例子中,检测处理模块51,在用于对视频的至少两个图像帧进行对象检测和跟踪,得到所述至少两个图像帧中包含的对象的对象变化信息时,包括:检测从所述至少两个图像帧中消失的第二对象,确定所述第二对象消失前在所述至少两个图像帧中的对象位置,为第二目标区域;
113.所述事件确定模块52,具体用于确定发生的对象操作事件为由所述第二目标区域中移出所述第二对象。
114.在一个例子中,检测处理模块51,在用于对视频的至少两个图像帧进行对象检测和跟踪,得到所述至少两个图像帧中包含的对象的对象变化信息时,包括:检测所述至少两个图像帧中的第三对象的对象识别结果发生的变化;
115.所述事件确定模块52,具体用于确定发生与所述对象识别结果的变化对应的对象操作事件。
116.在一个例子中,检测处理模块51,在用于检测所述至少两个图像帧中的第三对象的对象识别结果发生的变化时,包括:检测所述第三对象内包含的对象组件的数量发生的变化,以及变化前后的所述第三对象是否存在组件属性相同的对象组件;其中,所述第三对象包括多个可堆叠的对象组件,并且每个对象组件具有对应的组件属性;所述对象识别结果包括如下至少一项:对象组件的数量,对象组件的组件属性。
117.所述事件确定模块52,在用于确定发生与所述对象识别结果的变化对应的对象操作事件时,包括:在检测到所述第三对象内包含的对象组件的数量发生变化,以及检测变化前后的所述第三对象存在组件属性相同的对象组件的情况下,确定发生的对象操作事件为,增加或减少了所述第三对象的对象组件的数量。
118.在一个例子中,事件确定模块52,在用于根据所述对象变化信息确定发生对应的对象操作事件时,包括:根据对象状态变化信息确定发生的对象操作事件为控制对象状态变化的操作事件;其中,所述对象具有至少两种对象状态,其中,每个图像帧中的对象处于
其中一种对象状态;所述对象变化信息,包括所述对象的对象状态变化信息。
119.在一个例子中,检测处理模块51,具体用于:分别在视频的至少两个图像帧中检测对象的对象位置;分别对所述至少两个图像帧中检测出的对象进行识别,得到对象识别结果;根据在不同的图像帧中检测出的对象各自的对象位置和对象识别结果,对在不同的图像帧中检测出的对象进行匹配,得出所述至少两个图像帧中包含的对象的对象变化信息。
120.在一些实施例中,上述装置可以用于执行上文所述的对应任意方法,为了简洁,这里不再赘述。
121.本公开实施例还提供了一种电子设备,所述设备包括存储器、处理器,所述存储器用于存储计算机可读指令,所述处理器用于调用所述计算机指令,实现本说明书任一实施例的方法。
122.本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本说明书任一实施例的方法。
123.本公开实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现本说明书任一实施例的方法。
124.本公开实施例还提供了一种计算机程序,包括计算机可读代码,当所述代码在电子设备中执行时,促使所述电子设备中的处理器执行本说明书任一实施例的方法。
125.本领域技术人员应明白,本公开一个或多个实施例可提供为方法、系统或计算机程序产品。因此,本公开一个或多个实施例可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本公开一个或多个实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
126.本公开实施例还提供一种计算机可读存储介质,该存储介质上可以存储有计算机程序,所述程序被处理器执行时实现本公开任一实施例描述的用于文字识别的神经网络的训练方法的步骤,和/或,实现本公开任一实施例描述的文字识别方法的步骤。
127.其中,本公开实施例所述的“和/或”表示至少具有两者中的其中一个,例如,“多和/或b”包括三种方案:多、b、以及“多和b”。
128.本公开中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于数据处理设备实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
129.上述对本公开特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的行为或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
130.本公开中描述的主题及功能操作的实施例可以在以下中实现:数字电子电路、有形体现的计算机软件或固件、包括本公开中公开的结构及其结构性等同物的计算机硬件、或者它们中的一个或多个的组合。本公开中描述的主题的实施例可以实现为一个或多个计算机程序,即编码在有形非暂时性程序载体上以被数据处理装置执行或控制数据处理装置
的操作的计算机程序指令中的一个或多个模块。可替代地或附加地,程序指令可以被编码在人工生成的传播信号上,例如机器生成的电、光或电磁信号,该信号被生成以将信息编码并传输到合适的接收机装置以由数据处理装置执行。计算机存储介质可以是机器可读存储设备、机器可读存储基板、随机或串行存取存储器设备、或它们中的一个或多个的组合。
131.本公开中描述的处理及逻辑流程可以由执行一个或多个计算机程序的一个或多个可编程计算机执行,以通过根据输入数据进行操作并生成输出来执行相应的功能。所述处理及逻辑流程还可以由专用逻辑电路—例如fpg多(现场可编程门阵列)或多sic(专用集成电路)来执行,并且装置也可以实现为专用逻辑电路。
132.适合用于执行计算机程序的计算机包括,例如通用和/或专用微处理器,或任何其他类型的中央处理单元。通常,中央处理单元将从只读存储器和/或随机存取存储器接收指令和数据。计算机的基本组件包括用于实施或执行指令的中央处理单元以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘等,或者计算机将可操作地与此大容量存储设备耦接以从其接收数据或向其传送数据,抑或两种情况兼而有之。然而,计算机不是必须具有这样的设备。此外,计算机可以嵌入在另一设备中,例如移动电话、个人数字助理(pd多)、移动音频或视频播放器、游戏操纵台、全球定位系统(gps)接收机、或例如通用串行总线(usb)闪存驱动器的便携式存储设备,仅举几例。
133.适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、媒介和存储器设备,例如包括半导体存储器设备(例如eprom、eeprom和闪存设备)、磁盘(例如内部硬盘或可移动盘)、磁光盘以及cd rom和dvd

rom盘。处理器和存储器可由专用逻辑电路补充或并入专用逻辑电路中。
134.虽然本公开包含许多具体实施细节,但是这些不应被解释为限制任何公开的范围或所要求保护的范围,而是主要用于描述特定公开的具体实施例的特征。本公开内在多个实施例中描述的某些特征也可以在单个实施例中被组合实施。另一方面,在单个实施例中描述的各种特征也可以在多个实施例中分开实施或以任何合适的子组合来实施。此外,虽然特征可以如上所述在某些组合中起作用并且甚至最初如此要求保护,但是来自所要求保护的组合中的一个或多个特征在一些情况下可以从该组合中去除,并且所要求保护的组合可以指向子组合或子组合的变型。
135.类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求这些操作以所示的特定顺序执行或顺次执行、或者要求所有例示的操作被执行,以实现期望的结果。在某些情况下,多任务和并行处理可能是有利的。此外,上述实施例中的各种系统模块和组件的分离不应被理解为在所有实施例中均需要这样的分离,并且应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中,或者封装成多个软件产品。
136.由此,主题的特定实施例已被描述。其他实施例在所附权利要求书的范围以内。在某些情况下,权利要求书中记载的动作可以以不同的顺序执行并且仍实现期望的结果。此外,附图中描绘的处理并非必需所示的特定顺序或顺次顺序,以实现期望的结果。在某些实现中,多任务和并行处理可能是有利的。
137.以上所述仅为本公开一个或多个实施例的较佳实施例而已,并不用以限制本公开一个或多个实施例,凡在本公开一个或多个实施例的精神和原则之内,所做的任何修改、等
同替换、改进等,均应包含在本公开一个或多个实施例保护的范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜