首页 / 使用人工智能的高效游戏监控

使用人工智能的高效游戏监控实质审查 发明

技术领域

[0001] 所描述的实施例总体上涉及用于监控游戏场所中的游戏活动的计算机实现的方法和计算机系统。实施例应用图像处理和机器学习过程以使用分布式计算系统监控游戏活动。具体地,一些实施例将人工智能应用于图像处理以监控游戏活动。

相关背景技术

[0002] 诸如娱乐场之类的游戏场是具有参与各种游戏活动的若干个人(individual)的繁忙环境。游戏场可以是大型空间,其在游戏场的不同部分中容纳许多顾客。若干游戏场包括由庄家(dealer)或操作员(operator)在其上进行各种游戏的桌子或游戏桌。
[0003] 游戏环境的监控可以由负责监控的个人执行。游戏的动态性质、在游戏环境中自由移动的大量个人以及游戏场的大小通常限制个人能够执行的监控程度。游戏场经营者可以受益于对游戏场中的游戏活动的自动监控。关于游戏活动的数据可以促进数据分析以改善游戏场的操作和管理或者确定玩家评级,例如以奖给玩家忠诚度奖金。然而,通过这样的监控生成的数据量可能相当大,并且可能存在实际挑战、存储挑战和/或处理挑战。
[0004] 贯穿本说明书,词语“包括(comprise)”或变体,诸如“包含(comprises)”或“含有(comprising)”将被理解为暗示包括所陈述的元件,整体(integer)或步骤,或元件、整体或步骤的组,但不排除任何其他元件,整体或步骤,或元件、整体或步骤的组。
[0005] 在本说明书中,元件可以是选项列表“中的至少一个”的陈述应理解为该元件可以是所列出的选项中的任何一个,或可以是所列出的选项中的两个或更多个的任何组合。
[0006] 对已经包括在本说明书中的文档、动作、材料、设备、物品等的任何讨论不应被视为承认任何或所有这些事项形成现有技术基础的一部分或者是与本公开相关的领域中的公知常识,如在本申请的每个权利要求的优先权日之前存在的。

具体实施方式

[0048] 在游戏场玩各种基于桌子的游戏。游戏可包括:例如某纸牌游戏、轮盘和骰子。这样的游戏可以包括具有随机的或不可预测的结果的随机事件或一系列随机事件,玩家可以对该结果进行下注。随机事件可以包括抽取或分配纸牌或投掷骰子或轮盘滚动。玩家通过将游戏对象放置在游戏桌上的某些位置来参与游戏。游戏对象可以包括例如由游戏场发放的游戏币或代币,或者硬币或纸币。在一些游戏中,桌子具有与游戏中的特定结果相关联的定义区或区域。例如,在某纸牌游戏中,游戏桌包括对应于玩家和庄家的桌面上的区或区域。顾客可以通过将游戏对象放置在与特定结果相关联的相应区或区域中来放置关于游戏中的特定结果或随机事件的下注。在若干玩家参与游戏的情况下,一些玩家就座而其他玩家不就座,并且每个玩家在快节奏游戏环境中的不同区或区域上下注,监控每个玩家的活动可能是有挑战性的。此外,玩家可以在访问过程中移动通过场所中的各个游戏桌,使得在玩家访问过程中监控每个玩家更具挑战性。
[0049] 由于游戏环境的动态和快节奏的性质,使用图像数据对游戏事件的监控和监督可以是高度计算密集的。为了以合理的置信度识别游戏环境中的对象或事件,通常需要高分辨率的图像数据。例如,可以以25帧每秒或者更大的帧速率捕获分辨率为720p(1280x720)、1080p(1920x1080)、4MP(2560x1920)或者更大分辨率的图像数据。游戏场所可以包括非常大量的游戏环境。例如,游戏场所可以包括一千个或更多个游戏环境。每个游戏环境可以包括游戏桌或其中可以进行游戏的游戏区域。可以使用诸如相机之类的一个或更多个传感器来监控每个游戏环境。以30帧每秒捕获分辨率为1080p的图像数据的相机可以以2.5mbps(兆字节每秒)的速率生成图像数据。在具有1000s游戏环境的游戏场所中,每个游戏环境配有两个相机,可以以例如5gbps的速率生成总图像数据。在一些实施例中,图像数据还可以包括来自相机的数据,该相机捕获肉眼不可见的图像光谱(例如,红外光谱)中的图像。在一些实施例中,图像数据还可以包括来自捕获游戏环境的深度或3D场景信息的深度传感器或深度相机或3D相机的数据。图像数据的附加源可以进一步增加从游戏环境的监督生成的图像数据的量(volume)和速度。
[0050] 由监控游戏环境的传感器所生成的数据的相当大的频率和量要求特定的分布式计算架构来高效地处理图像数据并且从所捕获的数据中获得洞察(insight)。游戏活动监控应用可以在与对游戏活动的监控的响应时间或延时相关联的约束下操作。例如,估计放置在游戏环境中的下注的价值的游戏监控操作可能需要在例如大约2秒的响应时间执行。响应时间可以以起始点作为描绘被监控游戏活动的第一图像被游戏环境中的相机捕获的时间点来测量。游戏环境中的相机所捕获的图像可由实现分布式计算系统的各个计算设备处理以基于所捕获的图像来检测事件并识别或估计与检测到的事件相关联的参数或属性。
实施例的分布式计算系统的各个计算设备部分可具有有限的处理能力和有限的存储器以使能(enable)计算。实施例的分布式计算系统中的每个计算设备可被配置为执行图像处理或计算操作的一部分,并且可由于其硬件配置和对协调地执行计算的其他计算设备的依赖性而经受特定响应时间或延时约束。这些实施例有利地提供了一种分布式计算系统,该分布式计算系统使用分布式计算系统的不同计算设备部分来优化计算的执行,以监控游戏环境中的游戏活动以满足期望的延时和/或可扩展性需求。
[0051] 游戏环境还对分布式计算系统的部署施加附加约束。例如,将计算设备放置在游戏环境中(例如游戏桌附近或下方)以执行处理能力密集型操作可能产生不期望的热量,从而产生安全风险,例如火灾风险。在包括物理空间、功率和安全约束的对游戏环境的严格约束内,不可能在游戏环境中提供合适的冷却能力。
[0052] 实施例提供了部署在游戏场所中的分布式计算环境内的计算操作的改进分布,以满足游戏环境所施加的约束,同时提供了高效监控大型游戏环境的计算能力。实施例还提供扩展以覆盖较大场所的或者可根据场所内的占用变化而被动态缩放的分布式计算系统。实施例还允许由分布式监控系统实现的监控程度或监控能力的动态变化。例如,分布式监控系统可以使用分布式计算系统跨游戏场所内的一些或所有游戏环境高效地部署附加监控能力。实施例还使得能够扩展分布式计算系统以监控多于一个游戏场所(例如,监控多于一个娱乐场)。
[0053] 这些实施例涉及用于使用分布式计算系统来监控游戏场所中的游戏活动的计算机实现的方法和计算机系统。一些实施例包括被定位为捕获包括游戏桌的游戏环境的图像的一个或更多个边缘传感器或相机。该一个或更多个相机被定位为捕获游戏桌的图像以及参与游戏的游戏桌附近的玩家的图像。实施例包含图像处理技术,包括对象检测、对象跟踪、姿态估计、图像分割和人脸识别,以监控游戏活动。实施例依赖于机器学习技术(包括深度学习技术)来执行各个图像处理任务。一些实施例使用机器学习技术实时地或接近实时地执行游戏监控任务以辅助游戏场运营商方便地响应游戏异常或不规则。
[0054] 图1是根据一些实施例的游戏监控系统100的框图。游戏监控系统100可被配置为监控游戏场所或游戏场110内的多个游戏环境120中的游戏活动。一些实施例还可以是可扩展的以监控多于一个游戏场所110中的游戏活动。
[0055] 游戏环境120可以包括通常在建筑物的区域内的游戏桌123、以及与游戏桌123相邻的包括顾客的座位区域或站立区域的区域。游戏环境120还可以包括被指定用于进行游戏的游戏室或游戏区域。
[0056] 游戏监控系统100可以包括部署在每个游戏环境120中的至少一个相机或边缘传感器122。相机122可包括例如捕获人眼可见的频谱中的图像的相机,或捕获人眼不可见的光谱中的图像的相机,或深度感测相机或神经形态相机。在一些实施例中,多于一个相机122可以被部署在游戏环境中。包括多于一个相机122(例如,多于一个相机)可允许捕获关于游戏环境的附加图像数据以允许对游戏环境120的更全面的监控。每个相机122可以从不同的视角捕获游戏环境120中的游戏桌123的表面的图像。
[0057] 在一些实施例中,相机122可以是或包括以下各项中的一项或更多项:视觉光谱相机、或红外光谱相机、或深度感测相机、或神经形态相机、或AI相机、或事件相机、或像素处理相机。
[0058] 例如,相机122可以捕获分辨率为1280x720像素或更高分辨率的图像。相机可例如以20帧每秒或更高的速率捕获图像。在一些实施例中,其可以包括See3CAM 130、基于UVC兼容的AR1335传感器的13MP自动聚焦USB相机。在一些实施例中,相机可以包括AXIS P3719‑PLE网络相机。
[0059] 相机122可以被定位或安装在墙壁或底座或杆上,具有游戏环境120的基本上不间断的视图并且被定向为捕获例如从游戏桌123的庄家侧123a(图6)看去朝向玩家侧123b(图6)的方向上的图像。
[0060] 游戏监控系统100还包括计算设备或边缘计算设备124,该计算设备或边缘计算设备被设置在游戏环境120中或其附近并与相机122进行通信。计算设备124被配置为与相机122以及游戏环境120中的任何附加相机进行通信。计算设备124与相机122之间的通信例如可以通过有线介质(诸如,通用串行总线线缆)来提供。在一些实施例中,计算设备124与相机122之间的通信可以通过无线介质(诸如,Wi‑Fi网络或其他短程低功率无线网络连接)来提供。
[0061] 计算设备124可以被定位在被监控的游戏环境120的附近。例如,计算设备124可以被定位在位于游戏环境120中的游戏桌123下面的封闭室或腔中。在一些实施例中,计算设备124可以被定位为远离游戏环境120,但是被配置为通过有线或无线通信链路与相机122进行通信。
[0062] 在一些实施例中,边缘计算设备124可以与边缘传感器或相机122紧密集成或耦合。例如,边缘计算设备124和边缘传感器122可以设置在单个物理单元中。在一些实施例中,计算设备124可包括紧密地集成到相机122中的图像处理引擎、图像处理单元(IPU)或图像信号处理器(ISP)。
[0063] 在一些实施例中,游戏监控系统100还可以包括与边缘计算设备124通信的一个或更多个增压(plenum)计算设备126。增压计算设备126可以包括设置在游戏场所110中的天花板中或地板下方的空间中的计算设备,其中可以安置连接游戏监控系统100的各个组件的各条缆线。在一些实施例中,游戏监控系统100可不必包括边缘计算设备124,并且边缘计算设备124的一个或更多个功能和操作可由增压计算设备126执行。在一些实施例中,游戏监控系统100无需一定包括增压计算设备126,且增压计算设备126的一个或更多个功能和操作可由边缘计算设备124执行。
[0064] 游戏监控系统100包括现场(on‑premise)或本地网络130。本地网络130使能部署在游戏场所110中的游戏监控系统100的各个组件之间的通信。在一些实施例中,本地网络130可包括一个或更多个现场网络计算设备或中跨(mid‑span)计算设备132。在一些实施例中,现场网络计算设备132可被配置为执行计算操作中的一些,包括在将相机122捕获的图像数据传送到现场服务器134之前的图像处理操作。一些实施例的游戏监控系统100无需一定包括现场网络计算设备132。
[0065] 游戏监控系统100包括至少一个现场服务器134,其被配置为从相机122接收图像数据或接收由边缘计算设备124、增压计算设备126和现场网络计算设备132中的一个或更多个处理的图像数据。在一些实施例中,现场网络计算设备132可以物理地位于游戏场所110内的指定网络设备位置中。该指定位置可以包括能够访问电气和网络布线的网络柜(closet)或网络室。现场服务器134可执行图像处理操作并且通过公共网络140将图像处理操作的输出传送到远程服务器142或客户端设备144。在一些实施例中,现场服务器134可位于设置在游戏场所110的安全部分中的现场数据中心中。
[0066] 在一些实施例中,可以由远程服务器142执行关于用于游戏监控的图像处理操作或计算的部分。远程服务器142可以位于远离游戏场所110的企业数据中心中。在一些实施例中,远程服务器142可以位于远离游戏场所110的云计算环境中。
[0067] 鉴于增压计算设备126、现场网络计算设备132、现场服务器134和远程服务器142被定位成远离游戏环境并且远离捕获游戏环境的图像数据的相机122,它们可被统称为上游计算设备或上游计算组件。增压计算设备126和现场网络计算设备132可使用诸如路由器和/或交换机或路由器和交换机的组合之类的网络设备来实现。在一些实施例中,增压计算设备126和现场网络计算设备132可使用公共计算设备或作为同一服务器系统的一部分来实现。
[0068] 一些实施例可以不包括增压计算设备126,并且增压计算设备126的各个处理操作可以由现场网络计算设备132执行。一些实施例可不包括现场服务器134。在这样的实施例中,现场服务器134的各个处理操作可由现场网络计算设备132和/或增压计算设备126来执行。在不包括现场服务器134的实施例中,现场网络130与公共网络140之间的通信可使用路由器135来促进。
[0069] 图2示出了根据一些实施例的游戏监控系统100的一部分200的框图。边缘计算设备124包括与存储器210和网络接口230通信的处理器电路220,处理器电路220包括至少一个处理器(为了方便在本文中称为处理器220)。存储器210可以包括易失性和非易失性存储器。例如,网络接口230可以使能与其他设备(诸如相机122)进行通信和通过现场网络130进行通信。
[0070] 存储器210存储可执行程序代码以提供本文描述的游戏监控系统100的各种计算能力。存储器210至少包括:对象检测模块212、姿态估计模块214、事件检测模块216、事件数据传送模块218、以及游戏环境元数据222。
[0071] 现场服务器134包括与存储器240和网络接口260通信的处理器电路250,处理器电路250包括至少一个处理器(本文为了方便称为处理器250)。存储器240可以包括易失性和非易失性存储器。网络接口260可以使能与游戏监控系统100内的其他设备进行通信。
[0072] 存储器240存储可执行程序代码以提供本文描述的游戏监控系统100的各种计算能力。存储器210至少包括:对象检测模块242、姿态估计模块244、对象属性确定模块246和游戏环境元数据246。
[0073] 存储在存储器210和240中以供处理器220或处理器250执行的各个模块可以合并或具有对基于机器学习的数据处理模型或计算结构的功能访问以执行与对游戏活动的监控相关联的各个任务。具体地,各个实施例的软件代码模块可以访问并入(incorporate)基于深度学习的计算结构(包括人工神经网络(ANN))的人工智能模型。ANN是由生物神经网络启发的计算结构,并且包括被配置或训练为处理信息的一层或更多层人工神经元。每个人工神经元包括一个或更多个输入、以及用于处理接收到的输入以生成一个或更多个输出的激活函数。使用链接将每层神经元的输出连接到后续层的神经元。每个链接可以具有所定义数值的权重,该权重在信息行进通过ANN的若干层时确定链接的强度。在训练阶段,定义ANN的各个权重和其他参数被优化以使用输入和针对这些输入的已知输出来获得经训练的ANN。可以通过各种优化过程(包括反向传播)来进行优化。并入深度学习技术的ANN包括在第一输入层和最终输出层之间的神经元的若干隐藏层。若干隐藏层的神经元允许ANN对复杂信息处理任务进行建模,包括由游戏监控系统100执行的对象检测和姿态估计任务。
[0074] 在一些实施例中,存储器210和240中实现的各个模块可以在执行图像处理时并入卷积神经网络(CNN)的一个或更多个变体,CNN是用于执行针对游戏监控的各个图像处理操作的一类深度神经网络。CNN包括输入层与输出层之间的各个隐藏层的神经元,其对输入进行卷积以通过各个隐藏层的神经元来产生输出。
[0075] 对象检测模块212和242包括用于检测相机122捕获的图像或图像的图像数据中的特定对象的程序代码。由对象检测模块212和242检测到的对象可以包括游戏对象,诸如放置在游戏环境120中的游戏桌123的表面610(图6)上的游戏币、硬币或纸币。还可以训练对象检测模块212和242以确定检测到或者可以检测到游戏对象的游戏桌123的区域或区。由对象检测模块212和242执行的对象检测过程的结果可以是或者包括与每个所识别的对象所属的类别相关的信息以及与检测到所识别的对象的游戏桌123的位置或区域相关的信息。例如,所识别的对象的位置可以由围绕所检测的对象的包围盒的图像坐标或者在其中检测到对象的一个或更多个图像中的游戏桌123的区域的标识符来指示。例如,对象检测的结果还可以包括与所识别的对象的类别的准确性的置信度水平相关联的概率数。对象检测模块212和242还可包括用于识别图像中的人、人脸或人的特定身体部位的程序代码。对象检测模块212和242可包括游戏对象检测神经网络,该游戏对象检测神经网络被训练为处理游戏桌123的图像并检测相机122捕获的图像中的游戏对象。对象检测模块212和242还可以包括被训练为处理图像并检测图像中的一个或更多个人或者一个或更多个人的部位(例如,人脸)的人检测神经网络。对象检测模块212和242可以产生坐标形式的经处理图像,其定义围绕每个检测到的对象的矩形包围盒。包围盒可以针对彼此紧邻放置的对象重叠或者在图像中是部分重叠的。
[0076] 对象检测模块212和242可以并入基于区域的卷积神经网络(R‑CNN)或其变体之一(包括例如Fast R‑CNN或Faster‑R‑CNN或Mask R‑CNN)以执行对象检测。R‑CNN可以包括三个模块:区域建议模块、特征提取器模块以及分类器模块。区域建议模块被训练为确定输入图像中潜在检测到的对象周围的一个或更多个候选包围盒。特征提取器模块处理对应于每个候选包围盒的输入图像的部分以获得每个候选包围盒中的特征的向量表示。在一些实施例中,由特征提取器模块生成的向量表示可以包括4096个元素。分类器模块处理向量表示以识别存在于每个候选包围盒中的对象的类别。分类器模块生成表示在每个候选包围盒中存在每个类别或对象的可能性的概率分数。例如,针对每个候选包围盒,分类器模块可以生成包围盒是否对应于人或游戏对象的概率。基于由分类器模块生成的概率分数和预定阈值,可以进行关于包围盒中存在的对象的类别的评估。在一些实施例中,分类器可以被实现为支持向量机。在一些实施例中,对象检测模块123可以并入预训练的基于ResNet的卷积神经网络(例如,ResNet‑50),用于从图像中提取特征,以实现对象检测操作。
[0077] 在一些实施例中,对象检测模块212和242可以并入YOLO(You Only Look Once)模型以用于对象检测。YOLO模型包括被训练为处理输入图像并且直接预测包围盒和每个包围盒的类别标签的单个神经网络。YOLO模型将输入图像分割成单元网格。网格内的每个单元由YOLO模型进行处理,以确定包括该单元的至少一部分的一个或更多个包围盒。YOLO模型还被训练为确定与每个包围盒相关联的置信度水平,以及每个包围盒的对象类别概率分数。随后,YOLO模型考虑从每个单元确定的每个包围盒以及相应的置信度和对象类别概率分数,以确定具有高于预定阈值对象类别概率分数的对象类别概率分数的对象周围的减小的包围盒的最终集合。
[0078] 在一些实施例中,对象检测模块212和242实现在公布的PCT说明书‘用于机器学习驱动的对象检测的系统和方法’(公布号:WO/2019/068141)或‘用于自动桌面游戏活动识别的系统和方法’(公布号:WO/2017/197452)中描述的一个或更多个图像处理技术,其内容在此通过引用并入本文。
[0079] 姿态估计模块214和244包括用于处理游戏环境中的玩家的一个或更多个图像以识别该一个或更多个玩家的姿态的可执行程序代码。每个所识别的姿态可包括图像中对应于玩家的特定身体部位的区域的位置。例如,所识别的身体部位可包括左手或右手、左手腕或右手腕、图像中的左手或右手远端周边、或人脸。
[0080] 姿态估计模块214和244可被配置为识别单个图像中的多个人的姿态而无需对图像中的人的数量有任何预先了解。由于游戏场所是动态且快节奏的环境,其中若干顾客移动通过该场所的不同部分,因此识别多个人的能力有助于改善游戏监控系统100的监控能力。姿态估计模块214和244可包括被训练为估计对应于输入图像中的一个或更多个人的特定部位的关键点的关键点估计神经网络。姿态估计模块214和244可包括被训练为将与图像中的一个或更多个人相关联的像素映射到人的3D表面模型的3D映射神经网络。
[0081] 在一些实施例中,姿态估计可涉及自上而下方法,其中首先识别图像中的人,接着识别人的姿态或各个部位。对象检测模块212和242可被配置为识别对应于单个人的图像的部分或区域。姿态估计模块214和244可依赖于(rely on)图像的对应于单个人的所识别部分或区域并处理图像的每个所识别部分或区域以识别人的姿态。
[0082] 在一些实施例中,姿态估计可涉及自下而上的方法,其中首先识别图像中所有人的各个身体部位,接着是建立各个部位之间的关系以识别图像中的每个人的姿态的过程。对象检测模块212和242可被配置为识别图像的对应于人的特定身体部位(例如,人脸、手、肩部或腿)的部分或区域。对应于特定身体部位的图像中的每个特定部分或区域可被称为关键点。姿态估计模块214和244可从对象检测模块212和242接收关于所识别的关键点的信息,例如每个关键点和与每个关键点相关联的身体部位的坐标。基于这个接收到的信息,姿态估计模块214和244可使所识别的关键点彼此相关以识别图像中的一个或更多个人的姿态。
[0083] 在一些实施例中,姿态估计模块214和244可以并入OpenPose框架以用于姿态估计。OpenPose框架包括第一前馈ANN,其被训练为以置信度图的形式识别图像中的身体部位位置。置信度图包括在图像的区域中识别的部位的标识符,以及与检测相关联的置信度概率形式的置信度水平。第一前馈ANN还被训练为确定所识别部位的部位亲和性场向量。部位亲和性场向量表示在置信度图中识别的部位之间的关联性或亲和性。所确定的部位亲和性场向量和置信度图由卷积神经网络(CNN)迭代地修剪以去除较弱的部位亲和性并最终预测出图像中的一个或更多个人的姿态。姿态估计模块214和244的输出可以包括所识别的针对图像中识别出的每个人的坐标或每个部位(关键点)以及每个部位所属的类别的指示符,例如所识别的部位是手腕还是手还是膝盖。
[0084] 边缘计算设备的事件检测模块216包括用于基于由边缘计算设备124接收的图像数据识别游戏事件的程序代码。在一些实施例中,事件检测模块216可以基于对象检测模块212的输出和/或姿态估计模块214的输出来识别游戏事件。游戏事件可涉及游戏的开始,或游戏的结束,或游戏进行中的特定阶段,例如在轮盘游戏的游戏桌表面610上放置游戏对象的机会的结束。在一些实施例中,游戏事件可以涉及在游戏环境120中的游戏桌表面610上下注的放置。
[0085] 游戏事件可以基于一个或更多个触发条件被识别。例如,为了识别游戏的开始,触发条件是检测到第一游戏对象(扑克牌或代币游戏对象)被放置在游戏环境120中的游戏桌表面610上。类似地,游戏的结束可以是基于从游戏环境120中的游戏桌表面610移除最后的游戏对象或所有游戏对象或最后的游戏对象或所有游戏对象不复存在的触发条件来识别的。由对象检测模块212确定的对象检测信息可允许事件检测模块216将预定义事件触发器应用于对象检测信息以识别事件。
[0086] 响应于由事件检测模块216执行的事件检测,事件数据传送模块218可以将与检测到的事件相关的图像数据传送到上游计算设备以供进一步处理。在检测到的事件包括游戏的开始和结束的实施例中,所传送的图像数据可以涉及在检测游戏的开始与游戏的结束之间捕获的图像。在一些实施例中,所传送的图像数据可仅包括所捕获的图像数据的子集或由对象检测模块212或姿态估计模块214识别的一个或更多个感兴趣区域的图像数据。
[0087] 图3示出了根据一些实施例的能够由边缘计算设备执行的游戏监控的方法300的流程图。方法300执行图像处理操作以识别针对游戏监控感兴趣的图像或图像区域。在一些实施例中,相机122可以连续地捕获游戏环境120的图像。然而,对于各个时段,在游戏环境中不会发生感兴趣的游戏活动。存储和传送不包括感兴趣的游戏活动的图像可能导致游戏监控系统中计算、网络和存储器资源的浪费。在一些实施例中,边缘计算设备124充当由相机122生成的图像数据的网守,以及执行识别与感兴趣的游戏事件相关的图像数据所必需的图像处理操作,该图像数据可以由上游计算设备处理以识别进一步的洞察。
[0088] 在310处,边缘计算设备124接收游戏环境的一系列图像以及该一系列图像中的每个图像的捕获时间的时间戳信息。该一系列图像可由一个或更多个相机122捕获。时间戳信息用于从多个图像中确定图像的时间图像顺序。时间戳信息可以包括数值时间值和/或指示相对时间值或时间顺序的值。在320处,边缘计算设备124处理一系列图像中的第一图像以确定第一图像中的第一事件触发指示符。第一事件触发指示符可包括对象检测模块212在第一图像中检测到一个或更多个游戏对象或一个或更多个人。边缘计算设备124可使用一个或更多个人工智能模型来确定第一事件触发。在一些实施例中,一个或更多个人工智能模型可以是或包括人工神经网络、卷积神经网络、全卷积神经网络或任何其他合适类型的人工智能或深度学习模型。
[0089] 在330处,边缘计算设备124基于所确定的第一事件触发指示符识别游戏监控开始事件。游戏监控开始事件可以与游戏环境120中的游戏桌123上的游戏开始相关。响应于识别出游戏事件的开始,在340处,边缘计算设备124发起将第一图像的图像数据和一系列图像中的在第一图像之后捕获的图像的图像数据传送到上游计算设备。所发起的传送可以是高效持续的传送或者这样的重复频繁传送(直到确定第二事件触发为止),该传送看起来是高效连续的。
[0090] 在350处,边缘计算设备124处理一系列图像中的第二图像以确定第二图像中的第二事件触发指示符。第二图像是由相机122捕获的一系列图像中的在第一图像之后捕获的图像。边缘计算设备124可使用一个或更多个人工智能模型来确定第二事件触发。在一些实施例中,一个或更多个人工智能模型可以是或包括人工神经网络、卷积神经网络、全卷积神经网络或任何其他合适类型的人工智能或深度学习模型。
[0091] 在360处,边缘计算设备124基于所确定的第二触发指示符识别游戏监控结束事件。响应于确定游戏监控结束事件,边缘计算设备124终止在340处发起的图像数据的传送。
[0092] 图4示出了根据一些实施例的能够由多于一个上游计算设备之一或其组合执行的游戏监控方法400的流程图。方法400的每个步骤可部分地由上游计算设备中的一个计算设备执行,其中剩余的步骤由其余的上游计算设备完成。在本说明书中,术语上游计算设备旨在包括多个上游计算设备相组合的系统。在一些实施例中,各个上游计算设备可被配置为彼此协作以执行方法400的各个步骤。
[0093] 在410处,上游计算设备接收由边缘计算设备124传送的图像数据。在420处,由上游计算设备处理所接收的图像数据以执行对象检测和/或姿态估计以识别所接收的图像数据中的对象或与其相关联的人。在420处,上游计算设备还可识别所接收的数据中的对应于游戏对象的图像区域。在430处,上游计算设备处理在420处识别出的图像区域或在410处接收的图像,以识别游戏对象属性。游戏对象可以包括多个游戏代币或游戏代币对象,每个游戏代币或游戏代币对象具有与正在玩的游戏相关的关联数值。例如,关联数值可以是整数值,诸如值10、50或100。与多个代币对象相关的游戏对象属性可以包括多个代币对象中的每一个和/或全部的值估计和多个代币对象的位置指示符。在一些实施例中,可以根据公布的PCT说明书‘用于机器学习驱动的对象检测的系统和方法’(公布号:WO/2019/068141)或‘用于自动桌面游戏活动识别的系统和方法’(公布号:WO/2017/197452)中描述的一个或更多个图像处理技术来执行多个代币对象的值估计,这些申请的内容在此通过引用并入本文。
[0094] 图5示出了根据一些实施例的能够由边缘计算设备执行的游戏监控方法500的流程图。在510处,边缘计算设备124接收游戏环境的一系列图像和一系列图像中的每个图像的捕获时间的时间戳信息。时间戳信息用于从多个图像中确定图像的时间图像顺序。时间戳信息可以包括数值时间值和/或指示相对时间值或时间顺序的值。该一系列图像可以为由相机122中的一个或更多个相机捕获的图像。在520处,边缘计算设备124处理该一系列图像中的第一图像以确定第一图像中的事件触发指示符。例如,第一事件触发指示符可包括对象检测模块212在第一图像中检测到一个或更多个游戏对象或一个或更多个人。所捕获的图像中的其他所选的图像内容可导致确定事件图像触发指示符。
[0095] 在一些实施例中,该边缘计算设备可以通过使用一个或更多个人工智能模型进行数字图像处理来确定该第一事件触发。在一些实施例中,一个或更多个人工智能模型可以是或包括人工神经网络、卷积神经网络、全卷积神经网络或任何其他合适类型的人工智能或深度学习模型。
[0096] 在530处,边缘计算设备124基于所确定的事件触发指示符识别游戏监控事件。基于所确定的事件触发指示符识别游戏监控事件可以基于匹配存储器210中存储的一组触发规则中的至少一个触发规则。游戏监控事件可以涉及针对监控的感兴趣事件,包括下注的放置、游戏结果、游戏对象或扑克牌的放置。响应于识别出游戏事件,在540处,边缘计算设备124发起将第一图像的图像数据和该一系列图像中的邻近第一图像的图像的图像数据传送到上游计算设备。邻近的图像可包括在捕获第一图像之前和之后的1秒或0.5秒或0.25秒或0.1秒内捕获的图像。在一些实施例中,邻近的图像可包括在第一图像之前和之后紧接着捕获的1至10个图像。参考第一图像传送附加图像允许基于该一系列图像执行冗余图像处理操作和数据融合,以确定由上游计算设备归属(attribute)的更准确的游戏对象。
[0097] 图6是相机122所捕获的在游戏环境120中提供的示例游戏桌123的图像600。在图像600中示出的是游戏桌123的游戏桌表面610。位于游戏桌表面610上的是以游戏代币对象613的示例形式示出的第一游戏对象的堆叠和以纸牌611的示例形式示出的第二游戏对象。
对象检测模块212或242可被配置为处理诸如图像600之类的图像以确定对应于游戏对象
613和/或纸牌611的图像区域。对对应于游戏对象613和/或纸牌611的图像区域的确定可用作第一事件触发器,如参考图3的步骤320描述的。
[0098] 图7示出了来自游戏环境120中的相机122所捕获的图像的图像区域700。图像区域700可已由对象检测模块212或242识别为对应于游戏对象堆叠的图像区域。在图像区域700中示出了与游戏对象堆叠613(诸如图6中所示)内的个体游戏对象的边缘区域相关联的游戏对象边缘图案710和715。对象检测模块212或242可被配置为处理图像区域700以确定或识别图像区域700中的所有可识别边缘图案。针对相同种类的游戏对象的多个类别中的每一个,边缘图案710、715可以是有区别的。边缘图案710、715可以指示与每个游戏对象相关联的价值。游戏监控系统100可被配置为执行图像处理操作,以基于例如在PCT说明书“用于机器学习驱动的对象检测的系统和方法”(公开号:WO/2019/068141)中描述的技术来检测对应于每个边缘图案的图像区域。
[0099] 图8示出了具有在同一游戏对象堆叠中的不同游戏对象的边缘区域上的相应边缘图案周围定义的两个示例性包围盒810和815的图像区域700。可基于例如由对象检测模块212或242执行的图像处理操作来针对所识别的边缘图案确定包围盒810和815。
[0100] 图9示出了示例计算机系统900。在特定实施例中,一个或更多个计算机系统900执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在特定实施例中,一个或更多个计算机系统900提供本文中描述或示出的功能。在特定实施例中,在一个或更多个计算机系统900上运行的软件执行本文描述或示出的一个或更多个方法的一个或更多个步骤或者提供本文描述或示出的功能。特定实施例包括一个或更多个计算机系统900的一个或更多个部分。在本文中,在适当情况下,对计算机系统的引用可包括计算设备,反之亦然。在适当情况下,对计算机系统或计算的引用可包括一个或更多个计算机系统或设备。边缘计算设备124、增压计算设备126、现场网络计算设备132、现场网络130、现场服务器134、公共网络140、客户端设备144和远程服务器142可并入参考计算机系统900描述的计算组件的子集或全部以提供本说明书中描述的功能。
[0101] 本公开考虑实现边缘计算设备124、增压计算设备126、现场网络计算设备132、现场网络130、现场服务器134、公共网络140、客户端设备144和远程服务器142中的每一个的任何合适数量的计算机系统900。计算机系统900可以是嵌入式计算机系统、片上系统(SOC)、单板计算机系统(SBC)(诸如,例如,模块上计算机(COM)或模块上系统(SOM))、台式计算机系统、膝上型或笔记本计算机系统、交互式自助服务机、大型机、计算机系统的网格、移动电话、个人数字助理(PDA)、服务器、平板计算机系统、或这些的两个或更多个的组合。在适当情况下,计算机系统900可包括跨多个位置、跨多台机器、跨多个数据中心、或者驻留在云(其可包括一个或更多个网络中的一个或更多个云组件)中的单式或者分布式的一个或更多个计算机系统900。在适当情况下,一个或更多个计算机系统900可在没有大的空间或时间限制的情况下执行本文所描述或示出的一个或更多个方法的一个或更多个步骤。作为示例而非限制,一个或更多个计算机系统900可实时地或以批模式执行本文描述或示出的一个或更多个方法的一个或更多个步骤。在适当情况下,一个或更多个计算机系统900可在不同时间或不同位置执行本文描述或示出的一个或更多个方法的一个或更多个步骤。
[0102] 在特定实施例中,计算机系统900包括处理器电路902(本文为了方便称为处理器902)、存储器904、存储906、输入/输出(I/O)接口908、通信接口910和总线912。虽然本公开描述和示出了具有以特定布置的特定数量的特定组件的特定计算机系统,但是本公开考虑具有以任何合适布置的任何合适数量的任何合适组件的任何合适的计算机系统。
[0103] 在特定实施例中,处理器902包括用于执行指令的硬件,诸如,组成计算机程序的那些指令。作为示例而非限制,为了执行指令,处理器902可从内部寄存器、内部高速缓存、存储器904、或存储906检索(或取出)指令;解码并执行它们;然后将一个或更多个结果写入内部寄存器、内部高速缓存、存储器904或存储906。在特定实施例中,处理器902可以包括用于数据、指令或地址的一个或更多个内部高速缓存。在适当的情况下,本公开考虑包括任何合适数量的任何合适内部高速缓存的处理器902。作为示例而非限制,处理器902可包括一个或更多个指令高速缓存、一个或更多个数据高速缓存、以及一个或更多个转换后备缓冲器(TLB)。指令高速缓存中的指令可以是存储器904或存储906中的指令的副本,并且指令高速缓存可以加速处理器902对这些指令的检索。数据高速缓存中的数据可以是用于在处理器902处执行以对其进行操作的指令的存储器904或存储906中的数据的副本;用于由在处理器902处执行的后续指令访问或用于写入存储器904或存储906的在处理器902上执行的先前指令的结果;或其他合适的数据。数据高速缓存可加速处理器902的读取或写入操作。TLB可加速处理器902的虚拟地址转译。在特定实施例中,处理器902可以包括用于数据、指令或地址的一个或更多个内部寄存器。在适当情况下,本公开考虑包括任何合适数量的任何合适内部寄存器的处理器902。在适当情况下,处理器902可以包括一个或更多个算术逻辑单元(ALU);可以是多核处理器(包括高度并行的多核处理器,例如GPU、TPUS、VPU、存储器内处理器等);可以是FPGA;或者包括一个或更多个处理器902。虽然本公开描述和示出了特定处理器,但是本公开考虑任何合适的处理器。
[0104] 在特定实施例中,存储器904包括用于存储处理器902执行的指令或处理器902对其进行操作的数据的主存储器。作为示例并非限制,计算机系统900可将指令从存储906或另一个源(诸如,例如,另一计算机系统900)加载至存储器904。然后处理器902可将指令从存储器904加载到内部寄存器或内部高速缓存。为了执行指令,处理器902可以从内部寄存器或内部高速缓存检索指令并且对它们进行解码。在执行指令期间或之后,处理器902可以将一个或更多个结果(其可以是中间结果或最终结果)写入到内部寄存器或内部高速缓存。然后处理器902可将这些结果中的一个或更多个写入存储器904。在特定实施例中,处理器
902仅执行一个或更多个内部寄存器或内部高速缓存或存储器904(与存储906相对或者在其他地方)中的指令,并且仅对一个或更多个内部寄存器或内部高速缓存或存储器904(与存储906相对或者在其他地方)中的数据进行操作。一个或更多个存储器总线(每个存储器总线可包括地址总线和数据总线)可将处理器902耦接至存储器904。如下所述,总线912可包括一个或更多个存储器总线。在特定实施例中,一个或更多个存储器管理单元(MMU)驻留在处理器902与存储器904之间并且促进由处理器902请求的对存储器904的访问。在特定实施例中,存储器904包括随机存取存储器(RAM)。在适当的情况下,该RAM可以是易失性存储器。在适当的情况下,该RAM可以是动态RAM(DRAM)或静态RAM(SRAM)。此外,在适当的情况下,该RAM可以是单端口或多端口RAM。本公开考虑任何合适的RAM。在适当情况下,存储器
904可包括一个或更多个存储器904。虽然本公开描述和示出了特定存储器,但是本公开考虑任何合适的存储器。
[0105] 在特定实施例中,存储906包括用于数据或指令的大容量存储。作为示例而非限制,存储906可包括硬盘驱动器(HDD)、软盘驱动器、闪存、光盘、磁光盘、磁带、或者通用串行总线(USB)驱动器、或者这些中的两种或者更多种的组合。在适当情况下,存储906可以包括可移除的或者不可移除的(或固定的)介质。在适当情况下,存储906可以在计算机系统900内部或外部。在特定实施例中,存储906是非易失性固态存储器。在特定实施例中,存储906包括只读存储器(ROM)。在适当的情况下,该ROM可以是掩模编程ROM、可编程ROM(PROM)、可擦除PROM(EPROM)、电可擦除PROM(EEPROM)、电可改写ROM(EAROM)、或闪存或这些的两个或更多个的组合。本公开考虑采用任何合适的物理形式的大容量存储906。在适当情况下,存储906可包括促进处理器902与存储906之间通信的一个或更多个存储控制单元。在适当情况下,存储906可包括一个或更多个存储906。虽然本公开描述并且示出了特定存储,但是本公开考虑了任何合适的存储。
[0106] 在特定实施例中,I/O接口908包括提供用于计算机系统900与一个或更多个I/O设备之间的通信的一个或更多个接口的硬件、软件或两者。在适当情况下,计算机系统900可以包括这些I/O设备中的一个或更多个。这些I/O设备中的一个或更多个可使能个人与计算机系统900之间的通信。作为示例而非限制,I/O设备可包括键盘、小键盘、麦克风、监控器、鼠标、打印机、扫描仪、扬声器、静物照相机、触控笔、平板电脑、触摸屏、跟踪球、摄像机、另一合适的I/O设备或这些中的两个或更多个的组合。I/O设备可以包括一个或更多个传感器。本公开考虑任何合适的I/O设备和它们的任何合适的I/O接口908。在适当情况下,I/O接口908可以包括使处理器902能够驱动这些I/O设备中的一个或更多个I/O设备的一个或更多个设备或软件驱动器。在适当情况下,I/O接口908可包括一个或更多个I/O接口908。虽然本公开描述和示出了特定I/O接口,但是本公开考虑任何合适的I/O接口。
[0107] 在特定实施例中,通信接口910包括提供一个或更多个接口以用于计算机系统900与一个或更多个其他计算机系统900或一个或更多个网络之间进行通信(诸如,例如,基于分组的通信)的硬件、软件或两者。作为示例而非限制,通信接口910可包括用于与以太网或其他基于有线的网络进行通信的网络接口控制器(NIC)或网络适配器,或用于与无线网络(诸如WI‑FI网络)进行通信的无线NIC(WNIC)或无线适配器。本公开考虑任何合适的网络和用于其的任何合适的通信接口910。作为示例而非限制,计算机系统900可与自组织网络、个域网(PAN)、局域网(LAN)、广域网(WAN)、城域网(MAN)、或者因特网的一个或更多个部分、或者这些中的两个或更多个的组合进行通信。这些网络中的一个或更多个网络的一个或更多个部分可以是有线或无线的。例如,计算机系统900可与无线PAN(WPAN)(诸如,例如,BLUETOOTH WPAN)、WI‑FI网络、WI‑MAX网络、蜂窝电话网络(诸如,例如,全球移动通信系统(GSM)网络)或其他合适的无线网络或者这些中的两个或更多个的组合进行通信。在适当情况下,计算机系统900可包括用于这些网络中的任何网络的任何合适的通信接口910。在适当的情况下,通信接口910可包括一个或更多个通信接口910。虽然本公开描述和示出了特定通信接口,但是本公开考虑任何合适的通信接口。
[0108] 在特定实施例中,总线912包括将计算机系统900的组件彼此耦接的硬件、软件或两者。作为示例而非限制,总线912可以包括加速图形端口(AGP)或其他图形总线、增强工业标准架构(EISA)总线、前端总线(FSB),HYPERTRANSPORT(HT)互连、工业标准架构(ISA)总线、INFINIBAND互连、低引脚数(LPC)总线、存储器总线、微通道架构(MCA)总线、外围组件互连(PCI)总线、PCI‑Express(PCIe)总线、串行高级技术附件(SATA)总线、视频电子标准协会本地(VLB)总线或其他合适的总线或这些中的两个或更多个的组合。在适当情况下,总线912可包括一个或更多个总线912。虽然本公开描述和示出了特定总线,但是本公开考虑任何合适的总线或互连。
[0109] 图10示出了根据一些实施例的能够由边缘计算设备执行的游戏监控方法1000的流程图。方法1000执行图像处理操作以识别针对游戏监控感兴趣的图像或图像区域。在一些实施例中,相机122可以连续地捕获游戏环境120的图像。然而,对于各个时段,在游戏环境中不会发生感兴趣的游戏活动。存储和传送不包括感兴趣的游戏活动的图像可能导致游戏监控系统中的计算、网络和存储器资源的浪费。在一些实施例中,边缘计算设备124充当由相机122生成的图像数据的网守,并且执行识别与感兴趣的游戏事件相关的图像数据所必需的图像处理操作,这些图像数据可以由上游计算设备处理以识别进一步的洞察。
[0110] 在1010处,边缘计算设备124接收游戏环境的一系列图像以及该一系列图像中的每个图像的捕获时间的时间戳信息。该一系列图像可由一个或更多个相机122捕获。时间戳信息用于从多个图像中确定图像的时间图像顺序。时间戳信息可以包括数值时间值和/或指示相对时间值或时间顺序的值。在1020处,边缘计算设备124处理一系列图像中的第一图像以确定第一图像中的第一事件触发指示符。第一事件触发指示符可包括对象检测模块212在第一图像中检测到一个或更多个游戏对象或一个或更多个人。
[0111] 在1030处,边缘计算设备124基于所确定的第一事件触发指示符识别游戏监控开始事件。游戏监控开始事件可以与游戏环境120中的游戏桌123上的游戏的开始相关。在一些实施例中,响应于确定游戏监控开始事件,边缘计算设备124可将在第一图像之后捕获的图像存储在诸如本地硬盘驱动器(未示出)中。边缘计算设备124还可以存储与每个所捕获图像相关联的一个或更多个图像元数据,诸如时间戳信息。
[0112] 在1040处,边缘计算设备124处理该一系列图像中的第二图像以确定第二图像中的第二事件触发指示符。第二图像是由相机122捕获的一系列图像中的在第一图像之后捕获的图像。在1050处,边缘计算设备124基于所确定的第二触发指示符识别游戏监控结束事件。在一些实施例中,边缘计算设备124可停止存储所捕获的图像,已存储了包括第一图像、第二图像和在第一图像之后但在第二图像之前捕获的一个或更多个中间图像的一组图像。在1060处,响应于识别出游戏监控结束事件,边缘计算设备124将该组图像和关联元数据传送到上游计算设备。
[0113] 图11示出了根据一些实施例的能够由边缘计算设备执行的游戏监控方法1100的流程图。方法1100执行图像处理操作以识别针对游戏监控感兴趣的图像或图像区域。在一些实施例中,相机122可以连续地捕获游戏环境120的图像。然而,对于各个时段,在游戏环境中不会发生感兴趣的游戏活动。存储和传送不包括感兴趣的游戏活动的图像可能导致游戏监控系统中的计算、网络和存储器资源的浪费。在一些实施例中,边缘计算设备124充当由相机122生成的图像数据的网守,并且执行识别与感兴趣的游戏事件相关的图像数据所必需的图像处理操作,这些图像数据可以由上游计算设备处理以识别进一步的洞察。
[0114] 在1110处,边缘计算设备124接收游戏环境的一系列图像和该一系列图像中的每个图像的捕获时间的时间戳信息。该一系列图像可由一个或更多个相机122捕获。时间戳信息用于从多个图像中确定图像的时间图像顺序。时间戳信息可以包括数值时间值和/或指示相对时间值或时间顺序的值。
[0115] 在1120处,边缘计算设备124确定第一事件触发指示符。第一触发事件指示符可指示最近发生的或者可能发生的游戏开始事件,或者指示边缘计算设备124开始识别游戏开始事件的过程的指令。第一触发事件指示符可以与游戏桌相关。
[0116] 在一些实施例中,第一事件触发指示符可以是手动触发器。手动触发器可包括从位于游戏桌和/或庄家上或其附近的按钮、开关、杆、触摸屏或其他输入设备发送的信号中的一个或更多个信号。手动事件触发还可从上游计算设备或与边缘计算设备124通信的任何其他计算设备传送。手动触发器可被配置为向边缘计算设备指示游戏监控开始事件已经发生或者可能发生,并且开始捕获图像以用于分析和/或确定。在一些实施例中,手动事件触发可以用于从要被监控的游戏中过滤掉并未要被监控的游戏。在一些实施例中,从上游计算设备接收的手动触发事件可指示上游计算设备正等待接收新的数据或更多数据。
[0117] 在一些实施例中,第一事件触发器可以是周期性事件触发器,所述周期性事件触发器被配置为在一个或更多个预定时间帧上、在一个或更多个预定时间帧之内或根据一个或更多个预定时间帧而被传送至边缘计算设备。例如,上游计算设备和/或与边缘计算设备124通信的任何其他设备可被配置为在以下中的一个或更多个时间传送周期性第一事件触发器:一天的开始、庄家轮班的开始、特定游戏桌在未向玩家开放之后首次向玩家开放时、在预定数量的过去的游戏之后和/或在预定时间量内。
[0118] 在一些实施例中,第一事件触发器可以是系统状态触发器,该系统状态触发器被配置为在满足某个系统要求、超过阈值或者任何其他与系统相关的标准或情况时,被传送至边缘计算设备124或者由边缘计算设备124确定。例如,当边缘计算设备124已完成传送图像数据时,或者当从上游计算设备接收到其在预定时间量内尚未从边缘计算设备124接收到数据的指示时,或者当边缘计算设备确定其已达到和/或维持某水平的处理器活动和/或热量积累达预定时间段时,可使得确定系统状态第一事件触发器。在一些实施例中,第一事件触发器可以是边缘计算设备124已检测到游戏对象的指示。
[0119] 在1130处,边缘计算设备124基于第一事件触发指示符识别游戏监控开始事件。游戏监控开始事件可以是指示要监控的一个或更多个游戏或其他游戏相关活动已经开始的指示和/或指令。游戏监控开始事件可包括由边缘计算设备124确定在游戏桌上检测到游戏对象。在一些实施例中,第一事件触发指示符可以包括游戏监控开始事件已经发生或将发生的指示,并且边缘计算设备124从触发指示符识别游戏监控开始事件。
[0120] 在1140处,边缘计算设备确定第二事件触发指示符。第二触发事件指示符可指示最近已发生或可能发生的游戏结束事件,或者指示边缘计算设备124开始识别游戏结束事件的过程的指令。第二触发事件指示符可以与游戏桌相关。
[0121] 在一些实施例中,第二事件触发指示符可以是手动触发器。手动触发器可包括从位于游戏桌和/或庄家上或其附近的按钮、开关、杆、触摸屏或其他输入设备发送的信号中的一个或更多个。手动事件触发器还可从上游计算设备或与边缘计算设备124通信的任何其他计算设备传送。手动触发器可被配置为向边缘计算设备指示游戏监控结束事件已经发生或者可能发生,并且准备终止图像捕获过程。在一些实施例中,手动事件触发器可以用于从要被监控的游戏中过滤掉并未要被监控的游戏。在一些实施例中,从上游计算设备接收的手动触发事件可以指示上游计算设备已经达到处理和/或存储容量并且不能够接收附加图像数据。
[0122] 在一些实施例中,第二事件触发器可以是周期性事件触发器,其被配置为在一个或更多个预定时间帧上、在一个或更多个预定时间帧内或根据一个或更多个预定时间帧被传送到边缘计算设备。例如,上游计算设备和/或与边缘计算设备124通信的任何其他设备可被配置为在以下中的一个或更多个时间传送周期性第二事件触发器:一天的结束、庄家轮班的结束、特定游戏桌在向玩家开放之后对玩家关闭时、在预定数量的过去的游戏之后和/或在预定时间量内。
[0123] 在一些实施例中,第二事件触发器可以是系统状态触发器,该系统状态触发器被配置为在满足某个系统要求、超过阈值或任何其他系统相关的标准或情况时被传送至边缘计算设备124或由边缘计算设备124确定。例如,当边缘计算设备124已达到和/或维持某水平的处理器活动和/或热量积聚时,或者当从上游计算设备接收到它已达到处理器和/或存储容量的指示时,可使得确定系统状态第二事件触发器。在一些实施例中,第二事件触发器可以为在一个或更多个预定时间段内边缘计算设备124尚未检测到游戏对象的指示。
[0124] 在1150处,边缘计算设备基于所确定的第二事件触发指示符识别游戏监控结束事件。游戏监控结束事件可以是指示要监控的一个或更多个游戏或其他游戏相关活动已经结束的指示和/或指令。游戏监控结束事件可包括由边缘计算设备124确定在一个或更多个预定时间段内在游戏桌上尚未检测到游戏对象。在一些实施例中,第二事件触发指示符可以包括游戏监控结束事件已经发生或将发生的指示,并且边缘计算设备124从第二触发指示符识别游戏监控结束事件。
[0125] 在1160A处,边缘计算设备可在识别出游戏监控开始事件之后的任何时间发起将图像数据传送到上游计算设备。可由一个或更多个传送触发器使得边缘计算设备124发起传送,诸如确定一轮下注的结束、确定游戏的结束、确定预定的经过时间、确定预定数量的经过的游戏和/或接收到传送的指令。
[0126] 作为1160A的替代,在1160B处,边缘计算设备可以响应于识别出游戏监控结束事件而将图像数据传送到上游计算设备。
[0127] 在本文中,在适当的情况下,一个或更多个计算机可读的非暂时性存储介质可包括一个或更多个基于半导体的电路或其他集成电路(IC),诸如,例如,现场可编程门阵列(FPGA)或专用IC(ASIC))、硬盘驱动器(HDD)、混合硬盘驱动器(HHD)、光盘、光盘驱动器(ODD)、磁光盘、磁光盘驱动器、软盘、软盘驱动器(FDD)、磁带、固态驱动器(SSD)、RAM驱动器、安全数字卡或驱动器、任何其他合适的计算机可读的非暂时性存储介质、或这些中的两个或更多个的任何合适的组合。在适当的情况下,计算机可读的非暂时性存储介质可以是易失性的、非易失性的、或者易失性和非易失性的组合。
[0128] 本领域技术人员应当理解,在不背离本公开的广泛的一般范围的情况下,可以对上述实施例进行许多变形和/或修改。因此,本实施例在所有方面都被认为是示例性的而非限制性的。

当前第1页 第1页 第2页 第3页
相关技术
使用人工智能相关技术
游戏监控相关技术
亚哈希·查拉发明人的其他相关专利技术