CN110168607A - 用于自动桌面游戏活动识别的系统和方法 - Google Patents

用于自动桌面游戏活动识别的系统和方法 Download PDF

Info

Publication number
CN110168607A
CN110168607A CN201780043829.1A CN201780043829A CN110168607A CN 110168607 A CN110168607 A CN 110168607A CN 201780043829 A CN201780043829 A CN 201780043829A CN 110168607 A CN110168607 A CN 110168607A
Authority
CN
China
Prior art keywords
game
image
game money
depth
desktop
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201780043829.1A
Other languages
English (en)
Inventor
新山一亭明·Vo
亚哈希·查拉
李智
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sensen Networks Group Pty Ltd
Original Assignee
Sensen Networks Group Pty Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2016901829A external-priority patent/AU2016901829A0/en
Application filed by Sensen Networks Group Pty Ltd filed Critical Sensen Networks Group Pty Ltd
Publication of CN110168607A publication Critical patent/CN110168607A/zh
Pending legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F1/00Card games
    • A63F1/04Card games combined with other games
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F1/00Card games
    • A63F1/06Card games appurtenances
    • A63F1/067Tables or similar supporting structures
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F1/00Card games
    • A63F1/06Card games appurtenances
    • A63F1/18Score computers; Miscellaneous indicators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/50Context or environment of the image
    • G06V20/52Surveillance or monitoring of activities, e.g. for recognising suspicious objects
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3202Hardware aspects of a gaming system, e.g. components, construction, architecture thereof
    • G07F17/3216Construction aspects of a gaming system, e.g. housing, seats, ergonomic aspects
    • G07F17/322Casino tables, e.g. tables having integrated screens, chip detection means
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3225Data transfer within a gaming system, e.g. data sent between gaming machines and users
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F17/00Coin-freed apparatus for hiring articles; Coin-freed facilities or services
    • G07F17/32Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
    • G07F17/3286Type of games
    • G07F17/3293Card games, e.g. poker, canasta, black jack

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • Pinball Game Machines (AREA)
  • Image Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Slot Machines And Peripheral Devices (AREA)

Abstract

一些实施例涉及一种用于自动游戏识别的系统,该系统包括:至少一个图像传感器,用于捕获包括桌面游戏的视场的图像帧;至少一个深度传感器,用于捕获视场的景深图像;以及计算设备,用于接收图像帧和景深图像,并且用于处理接收的图像帧和景深图像,以产生视场中出现的至少一个游戏状态的自动识别。实施例还涉及用于自动游戏识别的方法和计算机可读介质。进一步的实施例涉及监控游戏桌上的游戏(game play)和/或游戏事件的方法和系统。

Description

用于自动桌面游戏活动识别的系统和方法
技术领域
所描述的实施例一般涉及监控桌面游戏。特别的,实施例涉及用于监控游戏场所的桌面游戏中的事件的系统和方法。
背景技术
目前,游戏场所和其他这样的场所使用监视技术和其他管理软件来监控玩家并规划他们的商业策略。他们寻求部署实时行为分析、算法(或过程)、以及玩家跟踪技术,以优化人员配置、并将场地占地面积优化分配给最大化场地收益的游戏类型。大多数游戏场所参与者都参与忠诚度计划,这要求他们使用玩家卡而不是硬币、纸币、或票。这使游戏场所有机会记录和分析个人游戏行为,创建玩家档案并记录例如每个游戏玩家的游戏币量、胜负、以及按下游戏机按钮的比率。但是,桌面游戏不像游戏机或按钮操作的游戏机那么容易监控。
用于监控和管理桌面游戏的系统通常被证明安装和维护成本很高,并且未能达到真正有用所需的准确度水平。其他选择包括在游戏币对象中使用传感器和其他离线收益管理方案,但这些已被证明无效。游戏场所的经营环境是快节奏的,伴随大量的视觉和听觉噪音以及干扰,卡片和游戏币对象在桌子上可能处于混乱状态,并且照明可以变化很大。
游戏场所或其他此类游戏场所开展若干基于桌子的游戏,例如涉及玩家推测特定事件发生或不发生。个人游戏具有其自己的定义的事件集,这些事件启动游戏、确定在游戏中游戏动作的结果、或终止游戏。大多数游戏由指定的游戏管理员引导,该游戏管理员进行特定于每个游戏的某些动作,这些动作可以启动游戏、触发确定游戏动作的结果的事件、或终止游戏。
游戏场所和其他此类游戏场所对确定与游戏桌或游戏面上发生的事件相关的事务数据(transactional data)感兴趣。这些信息可能有助于规划游戏场所的商业策略和监控玩家的行为。关于桌上的游戏事件和游戏结果的信息可以构成游戏场所确定最佳人员配置、特定游戏的占地面积分配、以及其他此类收益增加或顾客体验增强决策的基础。游戏场所使用的确定与游戏桌上发生的事件相关的事务数据的一种方法是随机采样,其中,由个人用眼观察在一部分桌上发生的事件并报告观察到的信息。可以对报告的信息进行推断以估计娱乐场中桌上的活动的整体水平。然而,这种肉眼观察发生的间隔为一小时或更长并且依赖于人的判断,因此这些方法可能效率不高。
用于监控和管理桌面游戏的系统通常被证明安装和维护成本很高,并且未能达到真正有用所需的准确度水平。其他选择包括在游戏币对象中使用传感器和其他离线收益管理方案,但这些已被证明无效。游戏场所的经营环境是快节奏的,伴随大量的视觉和听觉噪音以及干扰,卡片和游戏币对象在桌子上可能处于混乱状态,并且照明可以变化很大。
期望解决或改善与用于监控游戏场所的桌面游戏中的事件的现有技术相关的一个或多个缺点或劣势,或者至少提供有用的替代方案。
在整个说明书中,词语“包括”或其变形将被理解为暗指包括元素、整数、或步骤,或者元素组、整数组、或步骤组,但是不排除任何其他元素、整数、或步骤,或者元素组、整数组、或步骤组。
在本说明书中,元素可以是选项列表中的“至少一个”的陈述应被理解为该元素可以是所列选项中的任意一个、或者可以是所列选项中的两个或更多个的任意组合。
对本说明书中包括的文件、动作、材料、装置、或物品等的任何论述不应被视为承认任何或所有这些事项构成现有技术基础的一部分或者是在本申请的每个权利要求的优先权日之前存在的与本公开相关的本领域的公知常识。
发明内容
根据第一方面,一些实施例提供了一种用于自动游戏识别的系统。该系统包括:至少一个图像传感器,用于捕获包括桌面游戏的视场的图像帧;至少一个深度传感器,用于捕获视场的景深图像;以及计算设备,用于接收图像帧和景深图像,并且用于处理接收的图像帧和景深图像,以产生视场中出现的至少一个游戏状态的自动识别。
根据第二方面,一些实施例提供了一种用于自动游戏识别的方法。该方法包括:获得包括桌面游戏的视场的图像帧;获得视场的景深图像;以及处理图像帧和景深图像,以产生视场中出现的至少一个游戏状态的自动识别。
根据又一方面,一些实施例提供了一种用于自动游戏识别的非易失性计算机可读介质,其包括指令,该指令被一个或多个处理器执行时,使得执行以下操作:获得包括桌面游戏的视场的图像帧;获得视场的景深图像;以及处理图像帧和景深图像,以产生视场中出现的至少一个游戏状态的自动识别。
图像帧可以包括可见光谱内或构成可见光谱的图像,或者可以包括红外或紫外图像。景深图像可以包括视场的飞行时间数据点和/或反映景深的相位信息数据点。视场中出现的至少一个游戏状态包括以下中的一个或多个或全部:游戏开始;玩家持有的游戏币对象检测;游戏币价值估计、玩家持有的游戏币对象堆高度估计;以及游戏结束。游戏开始和/或游戏结束可以通过卡片检测或标记物(dolly)检测来实现。桌面游戏可以是卡片游戏,例如扑克,或者可以是基于非卡片的游戏。
一些实施例涉及一种监控游戏桌的桌面上的游戏(game play)的方法,该方法包括:实时分析捕获的桌面的图像,以识别桌面上多个第一预定义感兴趣区域中的任意一个中是否存在游戏对象;响应于在多个第一预定义感兴趣区域中的任意一个中识别出存在游戏对象,记录游戏事件的时间戳;以及向服务器发送游戏事件数据,游戏事件数据包括时间戳、游戏事件的指示、以及多个第一预定义感兴趣区域中的任意一个的标识符。
游戏对象可以是游戏卡或位置标记。分析可以包括识别桌面上是否存在至少一个游戏币对象。至少一个游戏币对象可以与游戏对象不同。可以识别多个第二预定义感兴趣区域中的一个或多个中是否存在至少一个游戏币对象。分析可以包括识别多个第二预定义感兴趣区域中的一个或多个中的一组或多组游戏币对象。
分析还可以包括估计一组或多组游戏币对象中的每组游戏币对象相对于桌面的高度;以及估计每组游戏币对象中存在的游戏币对象的数量。分析还可以包括识别每组游戏币对象的最上面的游戏币对象的颜色。
该方法还可以包括自动估计与其中被识别出存在至少一个游戏币对象的每个第二预定义感兴趣区域相关的游戏币量,其中,估计是基于各第二预定义感兴趣区域中识别出的每组游戏币对象的最上面的游戏币对象的颜色和估计的每组游戏币对象中的游戏币对象的数量。
捕获的图像可以包括多光谱图像,并且分析还可以包括多光谱图像的多帧处理,以识别桌面上的多个第一预定义感兴趣区域或多个第二预定义感兴趣区域中的任意一个中是否存在游戏对象。
一些实施例涉及一种监控游戏桌的桌面上的游戏的系统,该系统包括:至少一个相机,用于捕获桌面的图像;以及与至少一个相机通信的计算设备,计算设备用于实时分析捕获的桌面的图像,以自动识别桌面上多个第一预定义感兴趣区域中的任意一个中是否存在游戏对象。
游戏对象例如可以是游戏卡或位置标记。计算设备还可以用于识别桌面上是否存在至少一个游戏币对象。至少一个游戏币对象可以与游戏对象不同。计算设备还用于识别在多个第二预定义感兴趣区域中的一个或多个中是否存在至少一个游戏币对象。计算设备还可以用于识别多个第二预定义感兴趣区域中的一个或多个中的一组或多组游戏币对象。
至少一个相机还可以包括深度感测设备,用于与计算设备通信游戏对象相对于桌面的深度数据。计算设备还可以用于估计一组或多组投掷对象中的每组游戏币对象相对于桌面的高度。计算设备还可以用于估计每组游戏币对象中存在的游戏币对象的数量。计算设备还可以用于识别每组游戏币对象的最上面的游戏币对象的颜色。
计算设备还可以用于自动估计与其中被识别出存在至少一个游戏币对象的每个第二预定义感兴趣区域相关的游戏币量,其中,估计是基于各第二预定义感兴趣区域中识别出的每组游戏币对象的最上面的游戏币对象的颜色和估计的每组游戏币对象中的游戏币对象的数量。
捕获的图像可以包括多光谱图像,并且计算设备还用于执行多光谱图像的多帧处理,以识别桌面上的多个第一预定义感兴趣区域或多个第二预定义感兴趣区域中的任意一个中是否存在游戏对象。
一些实施例涉及一种用于自动监控游戏桌上的游戏事件的系统,包括:深度成像设备,用于捕获游戏桌的游戏区上的多个游戏对象的深度;多个视觉成像相机,用于捕获游戏区的视觉图像;游戏配置模块,包括:与多个游戏相关的配置数据、游戏桌的配置、感兴趣区域的位置、识别游戏对象的图案、以及作为游戏桌上游戏对象的状态变化的游戏事件的定义;以及计算机系统,从深度成像设备和多个视觉成像相机接收数据,并且用于访问游戏配置模块中的配置数据,以自动识别游戏期间发生的游戏事件和游戏区上的对象。
本文描述的方法可以是全自动的,从而可以在无需人的判断或干预的情况下进行游戏活动监控。然而,一些人际交互可以发生在系统配置步骤,例如建立进行游戏动作的感兴趣区域以及用于定位游戏对象(例如卡片或标记物)的感兴趣区域。
附图说明
图1是游戏监控系统的框图。
图2是用于自动桌面游戏识别的系统的示意图,其形成图1的游戏监控系统的一部分。
图3是游戏桌的表面的图像,其可以形成图1的系统的游戏环境的一部分。
图4是另一游戏桌的表面的图像,其可以形成图1的系统的游戏环境的一部分。
图5是另一游戏桌的表面的图像,其可以形成图1的系统的游戏环境的一部分。
图6是另一游戏桌的表面的图像,其可以形成图1的系统的游戏环境的一部分。
图7是用于图1的系统的深度感测设备和相机的框图。
图8是根据一些实施例的深度感测设备和相机的壳体的内部的前视图。
图9是图1的系统的计算设备的框图。
图10是图1的系统的消息代理服务器的框图。
图11是图1的系统的数据库服务器的框图。
图12是图1的系统的网络(Web)应用服务器的框图。
图13是Web应用程序的屏幕截图,示出了用于管理可以形成图1的系统的游戏环境的一部分的另一游戏桌的配置的界面。
图14是该Web应用程序的另一屏幕截图,示出了用于管理可以形成图1的系统的游戏环境的一部分的另一游戏桌的配置的界面。
图15是该Web应用程序的另一屏幕截图,示出了用于管理可以形成图1的系统的游戏环境的一部分的另一游戏桌的配置的界面。
图16是示出对样本图像执行几种类型的阈值化操作(operation,也称为“运算”)的结果一组图像。
图17是示出对样本图像执行其他类型的阈值化操作的结果一组图像。
图18是示出对样本图像执行腐蚀操作和膨胀操作的结果的一组图像。
图19是边缘检测过程的流程图。
图20是示出图19的部分过程中的边缘检测的图。
图21是示出在图19的边缘检测过程中应用的示例标准的示例图表。
图22是示出用不同参数对样本图像执行轮廓检测过程的应用的一组图像。
图23(a)是待应用平面估计过程的一组点的曲线图。
图23(b)是平面估计过程的应用的结果和估计的平面与图23(a)的曲线图中所示的点的正交距离的曲线图。
图24是根据一些实施例的游戏监控系统的流程图。
图25是根据另外的实施例的游戏监控系统的流程图。
图26(a)和26(b)是示出了一些卡片检测过程在另一游戏桌上的应用的图像帧。
图27(a)是其上可以应用卡片和游戏币对象检测过程的另一游戏桌的图像帧。
图27(b)是通过将阈值处理技术应用于图27(a)的图像帧而获得的图27(a)的游戏桌的图像帧。
图28(a)和28(b)是通过红外相机获得的图像帧,其示出了一些卡片和游戏币对象检测过程在另一游戏桌上的应用。
图29(a)是可以作为游戏币对象检测过程的输入的图像帧。
图29(b)是通过对图29(a)的图像帧应用二进制阈值化操作而获得的图像帧。
图29(c)是通过对图29(b)的图像帧应用腐蚀操作而获得的图像帧。
图29(d)是通过对图29(c)的图像帧应用膨胀操作而获得的图像帧。
图29(e)是示出对图29(a)的输入图像帧应用游戏币对象检测过程的结果的图像帧。
图30是示出了游戏币对象检测过程在游戏桌上的应用的结果的图像帧,其中,游戏桌的部分视图被遮挡。
图31是示出图30(a)中的遮挡物不在图像帧中之后获得的游戏币对象检测过程在图30(a)的游戏桌上的应用的结果的图像帧。
图32是示出游戏币对象检测过程在游戏桌上的应用的结果的图像帧,其中,输入图像帧是基于视觉图像相机捕获的图像。
图33是示出游戏币对象检测过程在图32的游戏桌上的应用的结果的图像帧,其中,输入图像帧是基于红外相机捕获的图像。
图34是根据一些实施例的多帧处理技术的流程图。
具体实施方式
所描述的实施例一般涉及监控桌面游戏。特别的,实施例涉及用于监控游戏场所的桌面游戏中的事件的系统和方法。
游戏监控系统。图1是根据一些实施例的游戏监控系统100的框图。系统100可以包括多个游戏监控设置105、游戏监控基础设施115、管理员客户端170、和数据库客户端180。游戏监控设置105包括游戏环境110、深度感测设备和相机120、和计算设备130。系统100适于在游戏场所的一个或多个游戏室中安装和操作。游戏室各自具有位于其中的一个或多个游戏桌,并且这些桌中的一些或每个可以形成相应的游戏监控设置105的一部分。可商购的设备,例如MicrosoftTM Kinect、AsusTM Xtion、InfineonTM 3D图像传感器REAL3TM或其他类似具有相机功能的深度感测设备,可以用作例如深度感测设备和相机。深度感测设备和相机120与计算设备130耦合或连接至计算设备130,以使用链路107从计算设备130接收指令并将记录的数据发送到计算设备130。例如,可以使用计算设备上的通用串行总线(universal serial bus,USB)端口将MicrosoftTM Kinect设备连接至计算设备。
游戏场所可以具有多个游戏环境,例如进行桌面游戏的区域或房间,并且为了监控那些游戏环境中的每一个,可以存在多个游戏监控设置105。多个游戏监控设置105可以使用网络链路187与公共游戏监控基础设施115耦合或链接。网络链路187包括计算设备130和消息代理服务器140之间的网络链路117以及数据库服务器150和计算设备130之间的网络链路167。游戏监控基础设施115还可以与在两个或更多个不同的游戏场所中的游戏监控设置105耦合或链接。在游戏场所可具有大量游戏环境110的一些实施例中,多个游戏监控基础设施115可与同一场所中的不同子集的游戏监控设置105耦合。
游戏监控基础设施115包括消息代理服务器140、数据库服务器150、和Web应用服务器160。消息代理服务器140可以通过双向网络链路117连接至多个计算设备130。网络链路127可以存在于消息代理服务器140和数据库服务器150之间,以实现数据或指令的传输。网络链路137可以存在于Web应用服务器160和数据库服务器150之间,以实现数据或指令的传输。服务器140、150、和160中的每一个可以实现为独立服务器,或者可以实现为一个或多个实体服务器上的不同虚拟服务器,或者可以在云计算服务中实现。服务器140、150、和160中的每一个还可以通过用于处理提高的性能或高可用性要求的多个服务器的网络来实现。
管理员客户端170可以是终端用户计算设备,例如计算机或平板电脑,并且可以通过网络链路147连接至Web应用服务器160。数据库客户端180可以是将数据中继到其他终端用户计算设备或其他数据库的终端用户计算设备或接口,并且可以通过网络链路157连接至数据库服务器150。
游戏环境。游戏环境110的配置可以根据正在进行的特定游戏而变化,但是由任意一个实施例监控的大多数游戏具有共同的元素。图2示出了根据一些实施例的用于自动桌面游戏识别的系统200。本发明当前描述的实施例的系统的主要功能是检测游戏何时开始和结束、检测所放置的玩家持有的游戏币对象(游戏币对象)的位置、以及估计游戏币对象堆的价值和高度(多少游戏币对象)。该系统是基于图像处理技术和感测设备特性的组合。
游戏环境110包括在其上进行游戏的游戏面或游戏桌210。游戏面210通常是基本水平的平面,并且其上可以放置可以被游戏监控系统100检测到的各种游戏对象,例如卡片211或游戏币对象213或其他对象。深度感测设备和相机120可以以一定的高度安装在柱或杆220上以使深度感测设备和相机120位于深度感测设备的视场中的任何遮挡物上方,并且成角度以使深度感测设备和相机120的视场稍微向下朝向游戏桌210。遮挡物可以是临时遮挡物,例如在桌子旁引导游戏的游戏管理员或游戏的参与者或路人。在一些实施例中,深度感测设备和相机120可以位于游戏管理员肩部的后上方,以获得游戏桌210的游戏面的无遮挡视野。深度感测设备和相机120和计算设备130的位置可以是该游戏桌210的柱或杆上的其他显示屏上方或附近。
图3是示出游戏桌的游戏面的一部分的图像300。游戏面或游戏桌包括多个预定义感兴趣区域,并且根据游戏的性质,可以具有关于游戏操作的特定方位和功能。可以指定预定义感兴趣区域用于检测特定游戏对象,例如游戏卡或游戏币对象。例如,在图3中,指定第一预定义感兴趣区域305以定位发给玩家的卡片211,并且指定第二预定义感兴趣区域308以定位玩家可能在游戏中进行游戏动作的游戏币对象213。在一些实施例中,一个或多个预定义感兴趣区域中可以与一个或多个另一预定义感兴趣区域重叠。在一些实施例中,一个预定义感兴趣区域可以形成另一预定义感兴趣区域的一部分。
游戏的参与者包括可以进行游戏动作的玩家和引导游戏的游戏管理员。为了进行游戏动作或引导游戏,玩家或游戏管理员使用描述为“游戏对象”的物体。游戏对象可包括具有特定标记以对其进行识别的特定形状的卡片211、游戏币对象213或者可以指定玩家可能在游戏中进行游戏动作的游戏币量的其他这样的对象、或者可以包括具有可以指定游戏结果的独特形状的其他对象,例如位置标记或标记物。游戏通过一系列游戏事件进行,游戏事件包括游戏开始、玩家在游戏期间进行游戏动作、游戏中间结果、以及确定游戏最终结果的游戏结束。在游戏期间,玩家可以通过将其游戏币对象放置在指定用于进行游戏动作的感兴趣区域中来进行游戏动作。例如,在如图3所示的游戏中,玩家可以在游戏期间通过在其用于进行游戏动作的指定区域308中放置一个或多个游戏币对象213来进行游戏动作。游戏币对象可以在感兴趣区域内以组或堆排列。通常,一组或一堆游戏币对象将包括共同颜色的游戏币对象。
在某些游戏中,玩家可以选择与成功的可能性相关的感兴趣区域。例如,图6的游戏面210是具有进行游戏动作区的标记的游戏面。游戏面600上的不同感兴趣区域308可具有不同的成功前景。根据与游戏相关的不同规则和/或进行游戏动作的规矩,在各种感兴趣区域的位置和结构方面,游戏面可具有若干不同的配置。图4是游戏桌的图像400。图5是根据一些实施例的为另一游戏设计的游戏桌的图像500。
深度感测设备和相机。深度感测设备和相机120执行捕获设备前方的视场的视觉图像和深度信息的功能。设备120放置在游戏面或游戏桌的前方,以捕获在游戏桌上识别的所有指定的感兴趣区域。设备120包括红外投影仪710、红外传感器720、相机730、处理器740、通信端口750、和内部数据链路705,其中,内部数据链路705将红外传感器720和相机730与处理器740连接。内部数据链路706连接处理器740和通信端口750。深度感测设备和相机120可以捕获来自人类可见光和/或人类不可见光的多个光谱的图像。例如,深度感测设备和相机120可以通过相机730从可见光谱捕获图像,并且通过红外传感器720从红外光谱捕获图像,因此可以作为多光谱相机操作。
深度感测设备和相机120可以依赖飞行时间技术来感测其前方的视场或场景的深度。红外投影仪710可以以连续波投射脉冲或调制光,该连续波可以是正弦波或方波。可投射和感测投射光的多个相位以提高深度信息的准确性。处理器740依赖测量的红外投影仪710发射的光脉冲和红外传感器720感测的反射脉冲之间的相位偏移,计算设备前方的景深。在一些实施例中,深度感测设备和相机120可以包括结构光3D扫描仪和用于深度感测的相机,结构光3D扫描仪依赖于使用投射光图案的原理。在一些实施例中,深度感测设备和相机120可以包括立体相机,该立体相机通过使用来自两个或更多个镜头和相应的图像传感器的图像来执行深度感测功能。特别地,深度感测设备和相机120可以依赖于深度或范围感测的其他替代手段或者两种或更多种技术的组合来获取游戏环境和游戏桌或游戏面210的深度信息。
感测的深度信息与由处理器确定的像素网格信息结合,并作为输出呈现给通信端口750。像素网格信息还与相机730捕获的视觉图像结合,并且与深度信息结合并通过端口750呈现为输出。除了深度信息之外,红外传感器720还感测由视场反射的红外光的亮度,并且该信息由处理器740与像素网格信息结合并传递到端口750。端口750可以是物理端口的形式,例如USB端口、或无线发射器,例如无线网络适配器。深度感测设备和相机120返回可以彼此映射的不同坐标空间中的感测的深度、彩色和红外成像数据,以获得与设备的视场中的特定区域或点相关的统一的深度、彩色和红外数据。图8是根据一个实施例800的深度感测设备和相机的壳体内部的前视图,并且示出了其一些部件,包括红外投影仪710、红外传感器720、和相机730。
计算设备。计算设备130通过通信端口990接收由深度感测设备和相机120生成的数据。端口990可以是USB端口的形式或与通信端口750耦合的无线适配器,以接收传感器数据或向深度感测设备和相机120发送指令。计算设备130的硬件部件910包括存储器914、处理器912、和计算设备的操作所必要的其他部件。存储器914存储必要的软件模块920,软件模块920包括:图像处理库922;深度感测设备和相机应用程序接口(applicationprogramming interface,API)924;运行时环境驱动程序(Runtime Environment Driver)926;游戏监控模块(Gaming Monitoring Module)928;批处理脚本(Batch Scripts)930;调度作业(Scheduled Jobs)932;和消息生成器模块(Message Producer Module)934。
图像处理库922是用于执行基本图像处理操作(例如在图像上执行阈值化操作、形态学操作)的一组程序,以及由游戏监控模块928进行的图像处理步骤所必要的其他程序。OpenCV是可以使用的图像处理库的示例。深度感测设备和相机API 924是使得计算设备930能够与一个或多个深度感测设备和相机120建立通信信道的一组程序。例如,如果将MicrosoftTM KinectTM设备用作深度感测设备和相机,那么将使用Kinect for WindowsTMSDK作为深度感测设备和相机API 924。该API 924使得计算设备130能够以合适的协议查询深度感测测设备和相机120并理解返回结果的格式。该API924使得游戏监控模块928接收和处理由深度感测设备和相机120生成的数据。计算设备130还具有必要的运行时环境驱动程序926,以为游戏监控模块928的执行提供必要的依赖。游戏监控模块928包括监控游戏期间发生的游戏事件的程序。
软件模块920还包括批处理脚本,批处理脚本可以是windows power shell脚本的形式或其他脚本语言的脚本,以执行游戏监控模块928的必要的管理和维护操作。批处理脚本930可以通过调度作业932以调度为基础执行,调度作业932可以是窗口调度程序作业的形式或其他类似作业调度服务。基于来自游戏监控模块928的指令的消息生成器模块934产生传递给消息代理服务器140的消息。消息生成器模块可以基于标准消息传递系统,例如RabbitMQ或Kafka。基于配置模块940中存储的消息代理配置946,消息生成器模块934可以通过通信端口990和网络链路117向消息代理服务器140传送消息。配置模块940还包括桌配置942和游戏开始和结束触发配置944。配置模块940的部件以一个或多个配置文件的形式存储在存储器914中。例如,配置文件可以以XML格式存储。
消息代理服务器。消息代理服务器140通过网络链路117实现消息代理服务并监听来自多个计算设备130的消息。消息代理服务器140可以位于与公共本地网络内的计算设备130相同的场所,或者可以位于场外(远程)但仍通过两个场所之间建立的网络链路117进行通信以实现消息和数据的传输。消息代理服务器140可以集中并连接至多个游戏场所中的计算设备130,以提供集中的消息代理服务。消息代理服务器140具有硬件部件1010,该硬件部件1010包括存储器1014、处理器1012、和用于服务器的操作的其他必要硬件部件。消息队列模块1020实施了队列,以接收、解释、和处理来自多个配置设备130的消息。通过通信端口1090接收消息,通信端口1090可以是网络适配器的形式或能够实现与消息代理服务器140的数据和指令的双向传输的其他类似的端口。消息队列模块1020可以通过诸如RabbitMQ或Kafka之类的消息代理包来实现。消息队列模块1020在接收到包括关于游戏桌上发生的游戏事件的事务信息的消息时启动数据库解析模块1030。数据库解析模块1030将消息队列模块1020接收的消息解析为随后通过网络链路127在数据库服务器150上执行的数据库查询。
数据库服务器。数据库服务器150用于从消息代理服务器140接收游戏事件数据、存储通过Web应用服务器160管理的桌配置数据、以及用作数据库客户端180的存储库,以提供对游戏监控系统100捕获的游戏事件数据的访问。数据库服务器150具有硬件部件1110,该硬件部件1110包括存储器1114、处理器1112、和用于服务器的操作的其他必要的硬件部件。通信端口1190可以是网络适配器的形式或能够通过一个或多个网络链路实现与数据库服务器150的数据和指令的双向传输的其他类似的端口。数据库模块1120可以通过诸如MySQLTM、Postgres、或MicrosoftTM SQL Server之类的数据库管理系统来实现。
数据库模块1120保存包括桌配置数据1122和游戏事件数据1124的数据。游戏事件数据1124包括表示游戏桌或游戏面上发生的游戏事件的事务数据。形成游戏事件数据的记录可以包括:游戏事件被识别出的时间的时间戳;游戏事件发生的游戏桌的唯一标识符;游戏事件性质的标识符,例如进行游戏动作、游戏的中间结果、以及游戏的最终结果;与游戏事件相关的感兴趣区域的标识符;与感兴趣区域相关的游戏币价值的估计;和表示游戏事件的其他相关属性。
桌配置数据1122包括:游戏桌和相关的计算设备130的唯一标识符;在游戏桌上的多边形形式的感兴趣区域308的位置和与深度感测设备和相机120相关的形成多边形的端点的像素的坐标;感兴趣区域308的性质,是否是用于放置卡片或用于放置游戏币对象或用于放置待检测的特定游戏对象的区域;游戏开始和结束触发事件的性质,是否通过在感兴趣区域上放置卡片或者在特定感兴趣区域上放置特定游戏对象来检测游戏开始;游戏对象的模型轮廓,例如卡片或游戏币对象,例如由游戏监控模块928启用检测;以及表示游戏监控系统100所依赖的参数所必要的其他相关数据。在一些实施例中,桌配置数据1122和游戏事件数据1124可以保存在单独的数据库服务器中,以实现游戏监控系统100的更大可扩展性和可管理性。
数据库服务器150还包括桌配置传播器模块1140,其执行将桌配置数据1122传播至相应的计算设备130的功能。桌配置传播器模块例如可以通过数据库脚本和命令行脚本的组合来实现,该数据库脚本和命令行脚本首先生成诸如XML文件的配置文件的形式的桌配置942、游戏开始和结束触发配置944、和消息代理配置946。依赖于网络链路167,生成的配置文件可以通过通信端口1190传输到相应的计算设备130。如果数据库服务器150和计算设备130在同一本地网络中,则网络链路167可以是本地网络链路,或者如果数据库服务器150和计算设备130位于不同的网络中,则网络链路167可以是跨越多个计算机网络的网络链路。例如,配置文件的传输可以通过合适的网络协议实现,例如文件传输协议或SSH文件传输协议。
Web应用服务器。Web应用服务器160托管Web应用程序,该Web应用程序便于数据库服务器150上的桌配置数据1122的配置和管理。Web应用服务器160具有硬件部件1210,该硬件部件1210包括存储器1214、处理器1212、和用于服务器的操作的其他必要的硬件部件。通信端口1290可以是网络适配器的形式或能够通过一个或多个网络链路实现与Web应用服务器160的数据和指令的双向传输的其他类似的端口。Web应用服务器包括Web应用模块1220,该Web应用模块1220包括使用户能够在数据库服务器150上创建和更新桌配置数据1122的web接口。例如,web应用程序可以通过web应用程序框架实现,例如python中的Django或ASP.NET或其他类似的web框架。Web应用服务器160还包括数据库解析模块1230,该数据库解析模块1230将Web应用模块1220通过web接口接收的指令转换成特定数据库查询或命令,该特定数据库查询或命令将会创建或更新桌配置数据1122以反映管理员客户端170所进行的操作。数据库查询或命令通过网络链路137在数据库服务器150上执行。如果数据库服务器150和Web应用服务器160在公共网络中,则网络链路137可以是局域网链路,或者如果数据库服务器150和Web应用服务器160位于不同的网络中,则网络链路137可以跨越多个网络。
Web界面。图13是Web应用程序的屏幕截图1300,示出了用于管理可以形成游戏环境110的一部分的游戏桌的实施例的配置的界面。在设置游戏桌时可能需要的参数例如位于屏幕区1310中,并且这些参数可以包括桌面的唯一标识符以及相关的计算设备的IP地址。在屏幕区域1320中示出了可以传播到计算设备130以编码桌配置942的XML配置文件的一部分。按钮1330可用于创建另外的游戏桌的记录,并且提交按钮1340使用户能够提交新配置。
图14是Web应用程序的另一屏幕截图1400,示出了用于管理可以形成游戏环境110的一部分的游戏桌的实施例的配置的另一界面。可点击部署按钮1410以通过网络链路167将一组保存的配置部署到计算设备130。可点击删除按钮1424以删除任何保存的配置。1420是可用于存储配置信息并将配置信息传送到计算设备130的另一XML文件的一部分的示例。屏幕区1412、1414、和1416表示来自深度感测设备和相机120的深度、彩色、和红外图像流。可通过点击按钮1422来查看与各个流相关的配置的细节。可通过点击按钮1418来删除配置细节。屏幕区1440允许用户为所有桌设置默认配置,该默认配置可以通过点击保存按钮1430保存。
按钮1430可用于在部署之前保存对游戏桌配置的更改。
图15是Web应用程序的另一屏幕截图1500,示出了用于管理可以形成游戏环境110的一部分的游戏桌的实施例的配置的另一界面。屏幕截图1500中示出的界面允许使用用户界面工具来定义感兴趣区域的类型、位置、和边界。这样定义的感兴趣区域一旦被保存到游戏配置数据中就变成这里提到的“预定义感兴趣区域”。如果游戏桌的位置相对于深度感测设备和相机120发生了变化,则可点击按钮1510以获得游戏桌的刷新图像。屏幕截图1500中示出的图像帧1515包括一个或多个有界感兴趣区域1520,其中每个有界感兴趣区域由多边形1525定义。例如,可使用可选手柄1560绘制自定义多边形并将其添加到多边形列表1530。保存按钮1540使用户能够保存对多边形所做的更改,并且重映射按钮1550使用户能够将现有多边形重映射到不同位置。
为了开发游戏的自动识别系统,有必要理解游戏的行为。我们处理两种游戏桌。一种是基于卡片的游戏或纸牌游戏,该纸牌游戏是使用纸牌作为玩游戏所用的主要设备的任何游戏,该纸牌可以是传统的或者游戏专用的。另一种类型的桌面游戏不是基于卡片。在该游戏中,玩家可以选择在单个数字或多个数字、颜色为红色或黑色、或者数字是奇数还是偶数上进行推测。为了确定中奖号码和颜色,游戏协调员在一个方向上旋转轮盘,然后在相反方向上围绕倾斜圆形轨道旋转一个球,该倾斜圆形轨道围绕该轮盘圆周设置。
基于卡片的游戏的行为如下。
·玩家可以自由进行游戏动作一段时间。
·游戏管理员说‘不再进行游戏动作’并开始向玩家发卡片。这是游戏开始的时候。
·游戏结果最终确定后,游戏管理员收集游戏币对象。
·然后游戏管理员清除所有卡片。这是游戏结束的时候。
基于非卡片的游戏的行为。
·玩家需要进行游戏动作一段时间。
·游戏管理员旋转轮盘并等待一段时间,直到球接近停止,然后宣布“不再进行游戏动作”。这是游戏开始的时候。
·球停止后,游戏管理员将标记物放在桌上的获胜号码上。游戏管理员收集游戏币对象。
·之后,游戏结束。
整体监控过程。游戏监控系统100在其操作中支持两个基本方面:轮廓检测;以及平面估计。轮廓检测包括可以实时或近实时地执行的一组过程或技术,以识别由深度感测设备和相机120捕获的图像中的形状。近实时处理可以包括有几秒延迟的处理,例如,在事件发生之后的2~3秒或更少。平面估计包括可以实时或近实时地执行的一组过程或技术,以基于由深度感测设备和相机120捕获的深度数据和图像估计表示游戏桌或游戏面的平面的位置。一旦执行了平面估计的步骤,所获得的平面位置信息可以与深度感测设备和相机120捕获的附加深度数据结合,例如,以估计游戏桌上的游戏对象堆的高度并推断与诸如游戏币对象堆的游戏对象堆相关的价值。
图像预处理步骤。在可能应用轮廓检测或平面估计技术之前,对深度感测设备和相机120捕获的图像应用多个图像预处理步骤。这些图像预处理步骤提高了实现轮廓检测和平面估计技术的过程的性能和准确性。
阈值处理。可以采用的一种图像预处理技术是阈值处理。深度感测设备和相机120返回游戏环境110的彩色和红外图像帧中的数据。阈值处理技术可以应用于彩色数据流和红外数据流。彩色流或红外流的特定帧中的每个像素由指示像素颜色或亮度的数值表示。在执行阈值化操作之前,可以将彩色图像帧转换为灰度图像帧。全局(Global)阈值处理是实现阈值处理的一种方法。在全局阈值处理中,将每个像素值与任意阈值进行比较;如果像素值大于阈值,则为其分配对应于白色(white)的值,例如,8比特阶(bit scale)的255;否则,为其分配对应于黑色(black)的值,例如,8比特阶的0。通过一系列图像1600,图16示出了对样本图像1601执行阈值处理的结果的示例。图像1602是使用值127对图像1601应用全局阈值处理的结果,图像1601以8比特格式表示。全局阈值处理可能不足以满足各种实际应用。图像在其各个部分中具有不同的光照条件,而全局阈值处理技术的应用可能会减少图像中具有低光照条件的部分。
自适应(Adaptive)阈值处理是解决全局阈值处理的缺陷的替代方案。在自适应阈值处理中,找到图像的不同小区域的阈值并将其应用于这些区域以进行阈值处理。自适应阈值处理的阈值可以通过取像素的邻域中的像素的均值或邻域像素的加权和来计算,其中权重可以取自高斯分布。在图16中,图像1603是对原始图像1601应用自适应均值阈值处理技术的输出的示例,图像1604是对原始图像1601应用自适应高斯阈值处理技术的输出的示例。阈值处理的另一种替代方法是Otsu二值化。在该方法中,基于图像直方图执行阈值处理。通过一系列图像1700,图17示出了用代表性直方图1702对一组样本图像1701应用Otsu二值化技术的示例。一种或多种替代阈值处理技术可以应用于预处理阶段以及应用于彩色或红外图像帧。图像处理库922可以提供可重用库,该可重用库实现可以由游戏监控模块928在图像预处理阶段调用的所提出的阈值处理技术。
形态学变换。形态学变换是基于图像形状的操作。其通常对二进制图像执行。其需要两个输入:一个是我们的原始图像,第二个是决定操作的性质的所谓结构元素(structuring element)或核(kernel)。两个基本的形态学运算符是腐蚀和膨胀。
对深度感测设备和相机120捕获的图像进行形态学变换,以增强图像中待检测的特征,并提高轮廓检测过程的性能和准确性。腐蚀和膨胀是可以在图像预处理阶段应用的形态学变换的示例。腐蚀过程和膨胀过程都需要两个输入,即,由深度感测设备和相机120捕获的矩阵形式的图像数据以及决定对输入图像执行的形态学操作的性质的结构元素或核。核可以是正方形或圆形并且具有定义的中心,并且通过遍历输入图像而被作为操作来应用。
腐蚀。腐蚀的形态学变换包括通过在核遍历图像时使用该核来锐化图像中的前景对象,仅当对应于核的所有值都是1或者是对应于白色的值时,像素的值被保留为值1或者为对应于白色的值。大小为3×3或5×5或其他大小的核可用于腐蚀操作。腐蚀操作腐蚀前景对象的边界。通过一系列图像1800,图18示出了腐蚀运算符和膨胀运算符的应用的示例。可以在腐蚀输出图像1802中看到腐蚀操作对输入图像1801的影响的示例。腐蚀操作可以由图像处理库922中的预定义库执行。例如,如果使用OpenCV库,则游戏监控模块928可以调用函数“erode”以对由深度感测设备和相机120捕获的图像进行操作。
为了实现腐蚀,核滑过图像(如在2D卷积中)。只有当核下的所有像素都是1时,原始图像中的像素(1或0)才会被认为是1,否则会被腐蚀(变为零)。
膨胀。膨胀操作是腐蚀的逆操作。例如,在使用3x3方阵核的膨胀操作中,对应核的任意一个值是1或者是对应于白色的值时,可以将核的中心处的像素保留为值1或者为对应于白色的值。可以在膨胀输出图像1803中看到该操作对输入图像1802的影响的示例。作为膨胀的结果,图像中的特征变得更连续和更大。可以通过图像处理库922中的预定义库来执行膨胀操作。例如,如果使用OpenCV库,则游戏监控模块928可以调用函数“dilate”以对由深度感测设备和相机120捕获的图像进行操作。
膨胀与腐蚀正好相反。这里,如果核下的至少一个像素是1,则像素元素是1。因此其增大了图像中的白色区域,或者前景对象的大小增加。通常,在类似噪音去除的情况下,腐蚀之后是膨胀。这是因为,腐蚀会去除白噪声,但也会缩小我们的对象。所以要膨胀对象。由于噪声元素通过腐蚀去除,因此噪声元素不会再被膨胀引入,但对象面积增加。膨胀也可用于连接对象的受损部分。
将阈值处理技术应用于图像产生二进制图像。为了进一步增强图像中存在的特征,应用腐蚀和膨胀的形态学变换。有利地,形态学变换有助于减少来自图像的噪声、隔离图像中的单个元素、以及连接图像中的不同元素。
图像轮廓包括沿着图像中呈现的对象的边界连接所有连续点的曲线。轮廓是形状分析以及对象检测和识别的有用工具。轮廓近似用于近似某种形状与应用中期望的形状的相似性。例如,期望的形状可以是多边形或圆形或椭圆形。为了更好的精度和性能,可以在执行边缘检测操作之后对二进制图像执行轮廓检测操作。
边缘检测。边缘检测是用于寻找图像内对象的边界的图像处理技术。其通过检测亮度的不连续性而工作。其中,Canny是一种流行的多阶段边缘检测算法(或过程),可以描述为以下步骤。
边缘检测可以通过检测相邻像素和像素簇之间的亮度不连续性来执行。可以采用若干图像处理技术来执行该操作。一些实施例执行Canny边缘检测运算符或过程以检测由深度感测设备和相机120捕获的图像中的边缘。图19是流程图1900,其表示执行Canny边缘检测运算符所涉及的一系列步骤。步骤1910涉及准备用作运算符的输入的图像。该步骤可包括对图像应用合适的阈值处理技术以及应用腐蚀或膨胀,以改善其余的边缘检测过程的性能。步骤1920包括降低图像中的不需要的噪声。例如,这可以通过应用5×5高斯滤波核来实现。该步骤平滑图像中的特征,并提高其余过程的性能。可以采用的高斯滤波核的示例如下:
步骤1930包括估计图像的亮度梯度。要执行此操作,输入图像将由两个Sobel核滤波。核Gx的操作返回图像在水平方向上的一阶导数,并且核Gy的操作返回输入图像在垂直方向上的一阶导数。可以使用的核Gx和Gy是:
基于输入图像的一阶水平和垂直导数,可以如下计算边缘梯度G和每个像素θ的方向:
梯度方向通常垂直于边缘,并且可以被舍入到(rounded)表示垂直、水平、和两个对角线方向的四个角度中的一个。
在步骤1940中,可以完成边缘亮度图像的完整扫描以去除可能不构成边缘或期望边缘的任何不需要的像素。这是通过检查每个像素在其梯度方向上的邻域中是否是局部最大值来实现的。如图20的图表2000所示,点A位于垂直方向的边缘上;梯度方向垂直于边缘。点B和点C位于梯度方向内,因此可以将点A与点B和C进行比较以观察其是否形成局部最大值。如果是,则考虑该过程中的下一阶段1950,否则可以通过为点A分配像素值0来抑制点A。结果是像素值为1的二进制图像与细边缘对应且像素值为0的二进制图像不与边缘对应。
在步骤1950中,估计在先前步骤中检测到的哪些边缘是真阳性而不是假阳性,这意味着它们更可能代表由输入图像表示的现实世界中的边缘。为了执行该操作,可以定义两个阈值:minVal和maxVal。亮度梯度大于maxVal的边缘被视为确定边缘(sure-edge),而低于minVal的边缘可被视为非边缘并被丢弃。位于两个阈值内的边缘可以通过其连接属性进一步分类为边缘或非边缘。如果它们连接至确定边缘像素,则认为它们构成边缘的一部分。否则,它们可能会被认为是假阳性而被丢弃。例如,在图21的图表2100中,边缘A高于maxVal,因此可以认为它是真阳性。尽管边缘C低于maxVal,但它连接至边缘A,因此它也可以被视为真阳性边缘,并且整个曲线可以被认为有效。虽然边缘B高于minVal并且与边缘C处于相同的区域,但是它没有连接至任何真阳性边缘,因此它可以被视为假阳性。选择minVal和maxVal的值以获得最优结果。例如,minVal可以设置为20~60之间的值,maxVal可以设置为60~180之间的值。该阶段还可以去除小像素簇形式的噪声。
可以通过图像处理库922中可用的程序来执行图19中识别的一些或全部步骤。例如,如果使用OpenCV库,则可以使用“canny”边缘检测函数调用。边缘检测的其他替代方法也可以用作canny边缘检测的替代方案,以获得输入图像中边缘的相同识别结果。
轮廓检测。在对输入图像应用边缘检测运算符以识别边缘之后,可以对边缘检测操作的结果应用轮廓检测过程,以将图像中的形状的相似性近似为某些模型形状,例如多边形或圆形。
轮廓可以被解释为连接具有相同颜色或亮度的所有连续点(沿着边界)的曲线。轮廓是形状分析和对象检测和识别的有用工具。为了更好的准确性,建议可以将二进制图像用作轮廓检测算法(或过程)的输入。因此,在寻找轮廓之前,建议应该先应用阈值处理或canny边缘检测。在本申请中,我们使用边界跟踪算法(或过程)进行数字化二进制图像的拓扑分析。这些算法(或过程)确定二进制图像的边界之间的环绕度关系。由于外边界和孔边界分别与像素的连通分量和孔一一对应,因此算法(或过程)产生二进制图像的表示,从中可以提取一些特征而不用重建图像。第二种边界跟踪算法(或过程)是第一种的修改版本,仅跟踪最外边界(即,未被孔包围的外边界)。
还执行轮廓近似,其根据我们指定的精度将轮廓形状近似为顶点数量较少的另一形状(多边形)。可以通过如下道格拉斯-普克(Douglas-Peucker)算法实现:
function DouglasPeucker(PointList[],epsilon)
//Find the point with the maximum distance
dmax=0
index=0
end=length(PointList)
for i=2to(end-1){
d=perpendicularDistance(PointList[i],
Line(PointList[1],PointList[end]))
if(d>dmax){
index=i
dmax=d
}
}
//If max distance is greater than epsilon,
//recursively simplify
if(dmax>epsilon){
//Recursive call
recResults1[]=DouglasPeucker(PointList[1...index],
epsilon)
recResults2[]=DouglasPeucker(PointList[index...end],
epsilon)
//Build the result list
ResultList[]={recResults1[1...length(recResults1)-1],
recResults2[1...length(recResults2)]}
}else{
ResultList[]={PointList[1],PointList[end]}
}
//Return the result
return ResultList[]
end
在图22中,一系列图像2200表示应用Douglas-Peucker算法的各个阶段。图像2210是可以用作输入图像的原始图像。图像2220中的线2205表示epsilon值等于弧长的10%的近似曲线。图像2230中的线2215表示epsilon值等于弧长的1%的近似曲线。
可以使用图像处理库922中的预打包函数通过在游戏监控模块928中调用这些预打包函数来执行轮廓估计操作。例如,如果使用OpenCV实现轮廓估计过程,则可以调用例如“findContours”或“drawContours”或“approxPolyDP”的函数来实现该过程。
平面检测过程。在估计游戏桌或游戏面上游戏币对象堆高度之前,游戏监控系统100估计包括游戏桌或游戏面的平面的位置。估计平面的方程的一种方法是通过主成分分析(principal component analysis,PCA)。PCA最小化从一组数据到拟合模型的垂直距离。这是被称为正交回归或最小二乘法的线性情况。例如,给定两个数据向量x和y,可以估计具有两个变量的线性方程形式的线,其最小化从每个点(xi,yi)到线的垂直距离。更一般的,r维超平面可以在p维空间中拟合,其中r小于p。r的选择等同于在PCA期间保留的成分的数量的选择。
平面的基本数学模型可以用公式表示为:
ax+by+cz+d=0
需要估计值a、b、c、和d以最小化离在游戏桌或游戏面上选择的点的距离。基于在游戏币对象检测阶段获得的图像的二进制版本,可以选择未被检测为游戏币对象的100个或更多个点作为PCA的输入点。由于这些选中的点是二维空间中的点,因此利用与点相关的深度信息来获得二维空间中的坐标。依靠针孔相机模型(pinhole camera model)的原理将二维空间中的点转换为三维空间中的点。给定二维空间中坐标为(x,y)的点、深度值Z,(Cx,Cy)作为深度感测设备和相机120的光心的x,y坐标;可以使用以下方程确定同一个点在三维空间中的坐标(X,Y,Z):
图23(a)和23(b)示出了将PCA应用于三维坐标图表2300中的一组点2310。在图23(b)中的坐标图表2301中,PCA的应用使得能够识别最小化点2310和平面2350之间的正交距离2320的平面2350。可以使用图像处理库922中的预打包函数通过在游戏监控模块928中调用这些预打包函数来执行平面估计操作。例如,如果使用OpenCV实现平面估计过程,则可以调用例如由类“cv::PCA”实现的函数来实现平面估计过程。
为了估计游戏币对象的价值,可以使用图像的传统欧氏距离对游戏币对象进行分类。游戏币对象模板图像将被提前收集用于比较的目的。然后使用k近邻算法分配游戏币对象的价值。但是,有一些颜色相似的游戏币对象类型。为了区分这些类型的游戏币对象,我们进一步利用红外图像中游戏币对象类型的反射率,以用相同的k近邻算法进行分类。
在得到桌平面之后,可估计每个游戏币对象的中心到该平面的距离以获得游戏币对象堆的高度。还可以通过线性或非线性映射基于该高度估计游戏币对象的数量。计算从点到平面的距离可以如下推导。给定三维空间中的平面:
ax+by+cz+d=0
以及点x0=(x0;y0;z0),平面的法向量由下式给出:
则从该点到平面的距离计算为:
可以执行用于卡片检测的算法(或过程)。可以存在两种类型的游戏:例如,基于卡片的游戏和基于非卡片的游戏。对于基于卡片的游戏,1中的算法(或过程)可用于检测卡片并触发游戏开始事件。标记物检测将用于触发游戏开始和结束事件。当游戏监控系统检测到标记物(或位置标记)时,可以推断游戏可能已在几秒之前开始,例如在检测到标记物之前的20至30秒。标记物可以保持在其位置,直到被游戏管理员移除。在初始检测之后的标记物移除可以触发游戏结束事件。由于标记物的反射特性,可以使用红外图像代替彩色图像来进行检测。
算法1卡片检测算法(过程):
1:程序CardDection(img)。输入灰度图像img
2:对img应用Canny边缘检测
3:膨胀canny输出以去除边缘段之间的潜在孔
4:对img应用Canny边缘检测
5:查找并近似轮廓
6:接受符合以下标准的轮廓:
轮廓的面积必须在卡片的面积大小以内,例如在40~70cm2之间或在50~60cm2之间
轮廓在近似之后应该有4个顶点
接合边缘之间的角度的余弦必须很小,例如,在-0.2~0.2之间或在-0.1~0.1之间。
算法2标记物检测算法(过程):
1:程序DollyDection(img)。输入红外图像img
2:对img应用全局阈值处理
3:腐蚀输出,以移除小对象
4:如果有符合大小标准的任何剩余对象,其将是检测到的标记物。
5:游戏币对象检测。为了检测游戏币对象,我们使用自适应阈值处理从背景中分割游戏币对象。输出二进制图像将被腐蚀和膨胀,以去除小对象。之后,所有符合大小标准的斑点都将被检测为游戏币对象。该算法(或过程)可以应用于彩色和红外图像。下述子章节回顾了所用的技术并且列出了算法3中描述的算法(或过程)的细节。
算法3游戏币对象检测算法(过程):
1:程序ChipDection(img)。输入灰度图像img
2:对img应用自适应阈值处理
3:腐蚀和膨胀输出,以移除小对象
4:如果有任何符合大小标准的剩余对象,其将是检测到的游戏币对象。
诸如大小标准或角度的余弦标准的特定标准可以存储在配置模块940中作为桌配置942的一部分。
可以在算法4中看到游戏币对象高度估计算法。
算法4游戏币对象堆高度估计算法(过程):
1:程序ChipHeightEstimate(img)。输入深度图像img
2:将不是游戏币对象的选定桌点转换为3D坐标
3:将这些点拟合到称为桌平面的平面
4:找到从每个游戏币对象堆的中心到该平面的距离,以获得游戏币对象堆高度
5:将高度除以单个游戏币对象的高度,以估计堆叠的游戏币对象的数量
图26(a)和26(b)分别是正在进行卡片检测和游戏币对象检测的游戏桌的实施例的图像帧2600和2650。在图26(a)中,边界2620表示其中已检测到卡片的图像帧的区域。边界2630表示已检测到游戏币对象的图像帧的区域。卡片2610尚未被卡片检测算法(或过程)检测到,因为其尚未完全呈现给深度感测设备和相机120并且在游戏桌210上正处于被发牌的过程。在图26(b)中,已经检测到与图26(a)中所示的卡片不同的卡片211,并且卡片211被边界2620围绕。图26(b)中的游戏币对象213与图26(a)中的游戏币对象位置不同,并且已经用边界2630检测到。
图27(a)和27(b)分别表示正在进行卡片检测和游戏币对象检测的游戏桌的实施例的图像帧2700和2701。图27(b)是将任意二进制阈值处理技术中应用于图27(a)的结果。图27(b)中的形状2710可以是卡片211的潜在假阳性检测。这些假阳性可以通过算法1的步骤6消除,该步骤将形状的面积与卡片的预期面积进行比较。类似地,通过比较形状2720的面积和游戏币对象213的预期面积,可以消除作为游戏币对象213的假阳性检测的形状2720。图28(a)表示具有诸如卡片211和游戏币对象213之类的游戏对象的游戏桌2800的实施例的红外图像。在图28(b)中,游戏币对象211已经由游戏币对象检测算法3识别并且灰显以指示检测。游戏对象检测过程在彩色图像帧上的应用结果可以与红外图像帧结合,以提高对游戏币对象堆高度的检测和估计的准确性。
图29(a)至29(e)示出了根据一些实施例的将游戏币对象检测过程应用于图像帧2900。图像帧2900可以由深度感测设备和相机120捕获。图29(b)是通过对图29(a)的输入图像帧2900应用二进制阈值化操作而获得的图像帧2901。图29(c)的图像帧2902通过对图29(b)的图像帧2901应用腐蚀操作而获得。图29(d)是通过对图29(c)的输入图像帧2902应用膨胀操作而获得的图像帧2903。腐蚀操作和膨胀操作的结合有助于减少来自输入图像帧的噪声,并使诸如游戏币对象之类的可观察特征更加突出。图29(e)是图像帧2904,其示出了游戏币对象检测过程的结果。检测到的游戏币对象213由轮廓2920标识符。图29(d)的形状2910未被识别为游戏币对象,因为它们可能不满足作为游戏币对象检测过程的一部分的标准。标准可以是将被检测为游戏币对象的形状的大小范围,或其他类似的区分标准。
一些实施例遵循图24中的流程图2400中的步骤来监控游戏桌的游戏事件。帧抓取器2410收集3个帧流,包括彩色视频帧、深度帧、和红外帧。原始彩色图像的分辨率为1920x1080。深度流提供可见区域中每个点的深度值。深度值是观察点离传感器的距离。红外流能够更清晰地观察视场的较暗部分。
游戏开始检测发生在2420。为了检测游戏何时开始,一些实施例使用卡片作为触发。对于没有卡片的游戏,当游戏结束时可以检测到标记物,并且在第n帧中重新触发游戏开始事件。
游戏币对象检测和估计发生在2430。这是检测游戏币对象位置、估计游戏币对象堆中游戏币对象价值以及游戏币对象的数量的过程。算法(或过程)基于自适应阈值处理和形态学操作。这可以应用于彩色和红外图像。
在2440,通过使用彩色图像中的模板匹配和红外图像中每种游戏币对象类型的反射特征,执行游戏币价值估计。然后根据游戏币对象的顶面和桌平面之间的距离计算游戏币对象高度估计。
游戏结束检测2460是与游戏开始检测相反的过程。当游戏管理员清除卡片时,它会触发游戏结束事件。检测到移除标记物将触发此事件。
游戏开始和结束检测。图25表示一些实施例可以用以监控游戏桌上的事件的游戏监控过程2500的流程图。该过程中的两个重要步骤是游戏开始检测2520和游戏结束检测2560。定义游戏开始触发和结束触发的特定性质可以存储在游戏开始和结束触发配置944中,并且由游戏监控模块928参考以估计游戏已经在桌上开始或结束。例如,在步骤2510中提取的图像帧中存在一个或多个卡片可以被视为游戏开始。同样地,在游戏开始之后,为了游戏结束检测2560,图像帧中不存在任何卡片可以被视为游戏结束。对于不基于卡片的游戏,可以使用其他游戏对象(例如标记物)的存在来作为游戏的开始触发和结束触发。可以将启动游戏对象的游戏开始触发或结束触发的特定形状和性质保存在计算设备130的配置模块940的游戏开始和结束触发配置944。可以通过数据库服务器150上的Web应用服务器160来管理这些配置,并且随后通过桌配置传播器模块1140将这些配置传输到计算设备130。
整体监控过程。游戏监控过程2500以提取图像帧2510的步骤开始。该步骤包括通过深度感测设备和相机120捕获游戏环境110的图像,并且经由链路107将捕获的图像发送到可由游戏监控模块928进行分析的计算设备130。图像可以以彩色格式或红外格式或两者或深度感测设备和相机能够捕获图像的任何其他格式捕获。下一步骤2520包括通过应用例如算法1:卡片检测算法或算法2:标记物检测算法来检测游戏开始。如果检测到游戏的开始,则执行自动估计游戏桌或游戏面2530的平面的步骤。可以使用上面讨论的PCA来执行步骤2530,并且可以将结果存储在计算设备130的存储器中。
下一步骤2540包括游戏币对象检测。该步骤可以通过算法3:游戏币对象检测算法来执行。如果检测到游戏币对象,则下一步骤2550可以是估计图像中游戏币对象堆的价值。该步骤通过实施算法4:游戏币对象堆高度估计算法或过程来执行,算法4可以实时或近实时地实施。该过程的一部分还可以包括自动估计堆的顶部的游戏币对象的颜色,并从桌配置模块942检索与颜色相关的价值。可以将检索到的价值乘以估计的堆中的游戏币对象的数量,以自动估计整个堆的价值。该算法或过程的应用的结果可以存储在计算设备130的存储器中并记录为事件或事务。检测到的游戏币对象堆还与桌上的感兴趣区域相关联,以将其与同一游戏桌上的其他游戏币对象堆区分开。
利用感兴趣区域的唯一标识符,可以单独检测单个感兴趣区域上的多个游戏币对象堆,并且可以分别记录估计的每个堆的价值。或者,可以利用感兴趣区域的唯一标识符将单个感兴趣区域上的多个游戏币对象堆的价值累加并记录。可以在算法4中的一次迭代或若干次迭代中估计多个游戏币对象堆的高度。在估计游戏币对象堆的价值后,通过步骤2514抓取另一图像帧,并且执行游戏结束检测步骤2560。例如,可以通过发现在步骤2514抓取的图像帧中的游戏桌上没有任何卡片或者没有标记物来执行游戏结束检测。如果未检测到游戏结束,则在步骤2512抓取另一图像帧,然后在步骤2540进行游戏币对象检测的另一次迭代。
如果检测到游戏结束,则在步骤2570中,将在监控过程期间捕获的事件数据发送到数据库服务器150,以通过消息代理服务器140存储为游戏事件数据1124。在其他实施例中,向数据库服务器150报告事务的步骤可以在以实时或近实时的方式检测事件时发生。该事件数据可以包括事件发生的时间戳、检测到游戏币对象的感兴趣区域、估计的游戏币对象堆的价值、游戏开始和结束时间、以及游戏监控模块928捕获的其他相关参数。在向数据库服务器报告事务后,游戏监控系统可以继续监控游戏桌并在步骤2510和2520等待下一个游戏的开始。在游戏期间捕获的一些事件数据的记录的示例如下:
游戏记录1<桌ID:R.2745;游戏ID:17.0.20170421150202;游戏开始时间:2017-04-21 15:02:02;游戏结束时间:2017-04-21 15:04:02>
游戏对象记录1<桌ID:R.2745;游戏ID:17.0.20170421150202;感兴趣区域ID:Player-1,游戏币价值:5;游戏币对象数:5>
游戏对象记录2<桌ID:R.2745;游戏ID:17.0.20170421150202;感兴趣区域ID:Player-2,游戏币价值:10;游戏币对象数:2>
在上述游戏事件数据的示例中,具有唯一标识符“游戏ID:17.0.20170421150202”的游戏记录1与由唯一标识符“桌ID:R.2745”标识符的唯一的游戏桌或游戏面相关联。游戏记录还包括游戏开始和结束时间戳值。与游戏记录1相关的是两个游戏对象记录:游戏对象记录1和游戏对象记录2。游戏对象记录1表示在具有唯一标识符“Player-1”的感兴趣区域中检测到的价值为5的5个游戏币对象的估计。游戏对象记录2表示在具有唯一标识符“Player-2”的感兴趣区域中检测到的价值为10的2个游戏币对象的估计。
多帧处理。上述游戏对象检测的方法考虑了单帧或快照以执行任何处理。通过多帧处理技术,可以进一步改进该方法产生的结果,以避免假阳性并实现更高的准确性。该技术包括处理用于游戏对象检测和游戏币对象高度估计的每个帧以及在每次处理迭代之后记录获得的结果。某些处理规则可以应用于记录的结果,以改进游戏对象检测和游戏币对象堆高度估计步骤。例如,可以使用在若干帧上估计的游戏币对象堆价值的平均来补偿错误观察的一些帧。此外,在第一次卡片检测可能延迟的游戏中,游戏监控模块928可以及时回溯到捕获的帧,再次执行卡片检测以追溯地识别新游戏的开始。通过检测多个感兴趣区域中的卡片并且仅当检测到一定比例的感兴趣区域存在卡片时(例如,8个区域中的3个或12个区域中的2个)才视为游戏已启动,可以减少触发游戏的移动对象。
还可以采用多帧处理技术检测从深度感测设备和相机120的视野可能暂时被遮挡的游戏对象。图31是图像帧3000,其表示形式为游戏管理员头部3010的遮挡物的游戏桌的视图。图31是图像帧3100,其表示在图像帧3000之前或之后几秒钟拍摄的图30的游戏桌的视图。图像帧3100没有遮挡物3010,并且游戏币对象检测算法的应用导致识别出先前未在图像帧3000中检测到的游戏币对象3113。通过对可能已经在短时间内(例如超过2~4秒或超过1~2秒或在1秒钟内)获得的图像帧应用游戏对象检测过程而获得的结果的结合可用于提高游戏对象检测过程的整体准确性。
例如,上述多帧处理技术还可以扩展到从不同来源获得的图像帧,例如从视觉图像相机和红外相机获得的图像或从多于一个深度感测设备和相机120获得的图像。图32是从可以是深度感测设备和相机120的一部分的视觉图像相机获得的图像帧3200。在该图像3200中,游戏币对象检测过程的应用通过识别游戏币对象3210可能产生假阳性结果。图33是在图像预处理步骤以及边缘和轮廓检测技术已应用于原始图像帧之后从红外相机获得的图像帧3300。游戏币对象检测过程在图像帧3300中的应用不会产生图像帧3200中产生的假阳性结果。因此,通过在多个不同(类型)图像帧上应用游戏对象检测过程而获得的结果的结合在一些实施例中可能是有效的,以提高游戏对象检测结果的准确性。
图34的流程图是一些实施例可以执行的多帧处理技术3400的实施的示例。步骤3410包括通过深度感测设备和相机120获取两个图像帧A和B。图像帧A和B可以来自视觉图像相机或红外相机,并且可以在捕获时间上相隔例如几毫秒。或者,图像帧A和B可以例如在相同的时间点分别从视觉图像相机和红外相机获得。图像帧A和B都是从基本相同的视角拍摄的,并且代表相同的游戏桌或游戏面。
步骤3420包括将游戏对象检测过程应用于图像帧A和B中的每个感兴趣区域。游戏对象检测过程可以是例如卡片检测过程、或游戏币对象检测过程。例如,从给定感兴趣区域的游戏对象检测过程获得的结果可以包括以下中的一个或多个:感兴趣区域中是否存在游戏对象的识别、感兴趣区域中的游戏对象的数量、感兴趣区域中的不同游戏对象组的数量、识别出的每个组中的游戏对象的数量、和/或游戏对象的颜色。如果游戏对象检测过程未在特定感兴趣区域中识别出游戏对象,则该过程的结果可以是空结果(未报告结果)或指示检测到零个游戏对象的结果。可以指定特定预定义感兴趣区域来识别是否存在特定游戏对象。例如,可以指定预定义感兴趣区域用于识别游戏卡作为游戏对象检测过程的一部分。可以指定其他预定义感兴趣区域用于识别游戏币对象作为游戏对象检测过程的一部分。
步骤3430包括比较在步骤3420通过对图像帧A和B应用游戏对象检测过程而获得的结果。如果从图像帧A和B获得的结果匹配,例如,如果在图像帧A和B中检测到的游戏对象的位置、数量、和颜色相同,则在步骤3440,所获得的结果被计算设备130接受并报告为游戏事件。
无论是在检测到的游戏对象的位置或数量或颜色方面,如果从图像帧A和B获得的结果不匹配,则在步骤3450中从深度感测设备和相机120获取图像帧C。图像帧C可以从不同的来源捕获,例如从视觉图像相机或红外相机捕获;或者,例如,可以在与获取图像帧A或B的时间相隔几毫秒的时间点拍摄。所有图像A、B、和C都是从基本相同的视角拍摄的,并且代表相同的游戏桌或游戏面。
在步骤3460中,在步骤3420应用的游戏对象检测过程也应用于图像帧C。在步骤3470,比较在步骤3420和3460通过对图像帧A、B、和C应用游戏对象检测过程而获得的结果。如果从图像帧A获得的结果与从图像帧C获得的结果匹配,则从图像帧B获得的结果作为异常结果被丢弃,并且在步骤3440接受从图像帧A或C获得的结果。如果从图像帧B获得的结果与从图像帧C获得的结果匹配,则从图像帧A获得的结果作为异常结果被丢弃,并且在步骤3440接受从图像帧B或C获得的结果。如果从图像帧A或B或C获得的结果都不匹配,则可以在步骤3410获取新的图像集以获得更好的游戏对象检测结果。
在一些实施例的描述中,参考了作为组合以形成实施例的软件和硬件系统的某些抽象的附图。这些抽象应被理解并呈现为帮助理解实施例并使其能够再现或实现。根据功能将系统划分为块并且其呈现应被理解为,在一个实施方式中,不需要具有以这种方式在逻辑上或物理上划分的软件或硬件部件。同样地,物理设备安装仅是一种可能性,因为在不背离本公开的情况下,系统的功能可以被不同地分配。为方便起见,系统和具体示例在各种游戏的背景下进行了解释。可以理解,系统的一些或全部部件也可以应用于其他桌面游戏。
一些实施例还可以拍摄初始背景图像作为相机视图。该背景图像可以是一张空桌。可以基于图像中的关键特征(桌布局)将该图像转化成俯视图。该新图像可以被称为标准化的背景图像,并且之后可以用于背景提取。
本领域技术人员将理解,在不背离本公开的广泛的一般范围的情况下,可以对上述实施例进行多种变化和/或修改。因此,本实施例在所有方面都被认为是说明性的而非限制性的。

Claims (35)

1.一种用于自动游戏识别的系统,所述系统包括:
至少一个图像传感器,用于捕获包括桌面游戏的视场的图像帧;
至少一个深度传感器,用于捕获所述视场的景深图像;以及
计算设备,用于接收所述图像帧和所述景深图像,并且用于处理接收的所述图像帧和所述景深图像,以产生所述视场中出现的至少一个游戏状态的自动识别。
2.根据权利要求1所述的系统,其中,所述图像帧包括可见光谱内或构成可见光谱的图像或红外或紫外图像。
3.根据权利要求1或2所述的系统,其中,所述景深图像包括所述视场的飞行时间数据点和反映景深的相位信息数据点。
4.根据权利要求1至3中任意一项所述的系统,其中,所述视场中出现的所述至少一个游戏状态包括以下中的一个或多个或全部:游戏开始;玩家持有的游戏币对象检测;游戏币价值估计、玩家持有的游戏币对象堆高度估计;以及游戏结束。
5.一种用于自动游戏识别的方法,所述方法包括:
获得包括桌面游戏的视场的图像帧;
获得所述视场的景深图像;以及
处理所述图像帧和所述景深图像,以产生所述视场中出现的至少一个游戏状态的自动识别。
6.根据权利要求5所述的方法,其中,所述图像帧包括可见光谱内或构成可见光谱的图像或红外或紫外图像。
7.根据权利要求5或6所述的方法,其中,所述景深图像包括所述视场的飞行时间数据点和反映景深的相位信息数据点。
8.根据权利要求5至7中任意一项所述的方法,其中,所述视场中出现的所述至少一个游戏状态包括以下中的一个或多个或全部:游戏开始;玩家持有的游戏币对象检测;游戏币价值估计、玩家持有的游戏币对象堆高度估计;以及游戏结束。
9.一种非易失性计算机可读介质,包括用于自动游戏识别的指令,所述指令被一个或多个处理器执行时,使得执行以下操作:
获得包括桌面游戏的视场的图像帧;
获得所述视场的景深图像;以及
处理所述图像帧和所述景深图像,以产生所述视场中出现的至少一个游戏状态的自动识别。
10.根据权利要求9所述的非易失性计算机可读介质,其中,所述图像帧包括可见光谱内或构成可见光谱的图像或红外或紫外图像。
11.根据权利要求9所述的非易失性计算机可读介质,其中,所述景深图像包括所述视场的飞行时间数据点和反映景深的相位信息数据点。
12.根据权利要求9所述的非易失性计算机可读介质,其中,所述视场中出现的所述至少一个游戏状态包括以下中的一个或多个或全部:游戏开始;玩家持有的游戏币对象检测;游戏币价值估计、玩家持有的游戏币对象堆高度估计;以及游戏结束。
13.一种监控游戏桌的桌面上的游戏的方法,所述方法包括:
实时分析捕获的所述桌面的图像,以识别所述桌面上多个第一预定义感兴趣区域中的任意一个中是否存在游戏对象;
响应于在所述多个第一预定义感兴趣区域中的任意一个中识别出存在游戏对象,记录游戏事件的时间戳;以及
向服务器发送游戏事件数据,所述游戏事件数据包括所述时间戳、所述游戏事件的指示、以及所述多个第一预定义感兴趣区域中的任意一个的标识符。
14.根据权利要求13所述的方法,其中,所述游戏对象是游戏卡。
15.根据权利要求13所述的方法,其中,所述游戏对象是位置标记。
16.根据权利要求13至15中任意一项所述的方法,其中,所述分析包括识别所述桌面上是否存在至少一个游戏币对象。
17.根据权利要求16所述的方法,其中,所述至少一个游戏币对象与所述游戏对象不同。
18.根据权利要求17所述的方法,其中,识别多个第二预定义感兴趣区域中的一个或多个中是否存在所述至少一个游戏币对象。
19.根据权利要求18所述的方法,其中,所述分析包括识别所述多个第二预定义感兴趣区域中的一个或多个中的一组或多组游戏币对象。
20.根据权利要求19所述的方法,其中,所述分析还包括:
估计所述一组或多组游戏币对象中的每组游戏币对象相对于所述桌面的高度;以及
估计每组游戏币对象中存在的游戏币对象的数量。
21.根据权利要求20所述的方法,其中,所述分析还包括识别每组游戏币对象的最上面的游戏币对象的颜色。
22.根据权利要求21所述的方法,还包括自动估计与其中被识别出存在至少一个游戏币对象的每个第二预定义感兴趣区域相关的游戏币量,其中,所述估计是基于各第二预定义感兴趣区域中识别出的每组游戏币对象的最上面的游戏币对象的颜色和估计的每组游戏币对象中的游戏币对象的数量。
23.根据权利要求13至22中任一项所述的方法,其中,捕获的所述图像包括多光谱图像,并且所述分析还包括所述多光谱图像的多帧处理,以识别所述桌面上的所述多个第一预定义感兴趣区域或所述多个第二预定义感兴趣区域中的任意一个中是否存在所述游戏对象。
24.一种监控游戏桌的桌面上的游戏的系统,所述系统包括:
至少一个相机,用于捕获所述桌面的图像;以及
与所述至少一个相机通信的计算设备,所述计算设备用于实时分析捕获的所述桌面的所述图像,以自动识别所述桌面上多个第一预定义感兴趣区域中的任意一个中是否存在游戏对象。
25.根据权利要求24所述的系统,其中,所述游戏对象是游戏卡。
26.根据权利要求24所述的系统,其中,所述游戏对象是位置标记。
27.根据权利要求24至26中任意一项所述的系统,其中,所述计算设备还用于识别所述桌面上是否存在至少一个游戏币对象。
28.根据权利要求27所述的系统,其中,所述至少一个游戏币对象与所述游戏对象不同。
29.根据权利要求28所述的系统,其中,所述计算设备还用于识别在多个第二预定义感兴趣区域中的一个或多个中是否存在所述至少一个游戏币对象。
30.根据权利要求29所述的系统,其中,所述计算设备还用于识别所述多个第二预定义感兴趣区域中的一个或多个中的一组或多组游戏币对象。
31.根据权利要求30所述的系统,其中,所述至少一个相机还包括:
深度感测设备,用于与所述计算设备通信所述游戏对象相对于所述桌面的深度数据;
其中,所述计算设备还用于估计所述一组或多组投掷对象中的每组游戏币对象相对于所述桌面的高度;以及
其中,所述计算设备还用于估计每组游戏币对象中存在的游戏币对象的数量。
32.根据权利要求31所述的系统,其中,所述计算设备还用于识别每组游戏币对象的最上面的游戏币对象的颜色。
33.根据权利要求32所述的系统,其中,所述计算设备还用于自动估计与其中被识别出存在至少一个游戏币对象的每个第二预定义感兴趣区域相关的游戏币量,其中,所述估计是基于各第二预定义感兴趣区域中识别出的每组游戏币对象的最上面的游戏币对象的颜色和估计的每组游戏币对象中的游戏币对象的数量。
34.根据权利要求24至33中任一项所述的系统,其中,捕获的所述图像包括多光谱图像,并且所述计算设备还用于执行所述多光谱图像的多帧处理,以识别所述桌面上的所述多个第一预定义感兴趣区域或所述多个第二预定义感兴趣区域中的任意一个中是否存在所述游戏对象。
35.一种用于自动监控游戏桌上的游戏事件的系统,包括:
深度成像设备,用于捕获所述游戏桌的游戏区上的多个游戏对象的深度;
多个视觉成像相机,用于捕获所述游戏区的视觉图像;
游戏配置模块,包括:与多个游戏相关的配置数据、所述游戏桌的配置、感兴趣区域的位置、识别游戏对象的图案、以及作为所述游戏桌上游戏对象的状态变化的游戏事件的定义;以及
计算机系统,从所述深度成像设备和所述多个视觉成像相机接收数据,并且用于访问所述游戏配置模块中的所述配置数据,以自动识别游戏期间发生的游戏事件和所述游戏区上的对象。
CN201780043829.1A 2016-05-16 2017-05-16 用于自动桌面游戏活动识别的系统和方法 Pending CN110168607A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
AU2016901829 2016-05-16
AU2016901829A AU2016901829A0 (en) 2016-05-16 System and Method for Automated Gaming Recognition
PCT/AU2017/050452 WO2017197452A1 (en) 2016-05-16 2017-05-16 System and method for automated table game activity recognition

Publications (1)

Publication Number Publication Date
CN110168607A true CN110168607A (zh) 2019-08-23

Family

ID=60324631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780043829.1A Pending CN110168607A (zh) 2016-05-16 2017-05-16 用于自动桌面游戏活动识别的系统和方法

Country Status (12)

Country Link
US (4) US10956750B2 (zh)
EP (1) EP3459047A4 (zh)
JP (2) JP7134871B2 (zh)
KR (3) KR102462409B1 (zh)
CN (1) CN110168607A (zh)
AU (2) AU2017266438B2 (zh)
CA (1) CA3024336A1 (zh)
CL (1) CL2018003251A1 (zh)
PH (1) PH12018502394A1 (zh)
SG (2) SG10202100620VA (zh)
WO (1) WO2017197452A1 (zh)
ZA (1) ZA201808402B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113508421A (zh) * 2021-06-24 2021-10-15 商汤国际私人有限公司 桌面游戏的状态切换方法、装置、设备和存储介质
CN113544699A (zh) * 2021-06-24 2021-10-22 商汤国际私人有限公司 一种告警系统与告警方法、装置及计算机可读存储介质
CN113597615A (zh) * 2021-06-18 2021-11-02 商汤国际私人有限公司 一种告警方法及装置、设备、存储介质
CN113795848A (zh) * 2021-06-18 2021-12-14 商汤国际私人有限公司 检测游戏桌上的游戏币的方法及装置、设备、存储介质
CN114008673A (zh) * 2021-09-13 2022-02-01 商汤国际私人有限公司 游戏标识物的检测方法、装置、设备、系统及存储介质
CN114514566A (zh) * 2020-08-01 2022-05-17 商汤国际私人有限公司 图像处理方法及装置、电子设备和存储介质

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2014200314A1 (en) * 2014-01-17 2015-08-06 Angel Playing Cards Co. Ltd. Card game monitoring system
CN107949428A (zh) * 2015-08-03 2018-04-20 天使游戏纸牌股份有限公司 游艺场的作弊检测系统
US10957156B2 (en) * 2016-09-12 2021-03-23 Angel Playing Cards Co., Ltd. Chip measurement system
SG10201912872PA (en) 2016-02-01 2020-02-27 Angel Playing Cards Co Ltd Game token management system
AU2017266438B2 (en) * 2016-05-16 2021-04-22 Angel Group Co., Ltd. System and method for automated table game activity recognition
JP2018192108A (ja) * 2017-05-19 2018-12-06 エンゼルプレイングカード株式会社 検査システム及び遊技用代用貨幣
JP7246382B2 (ja) * 2017-10-02 2023-03-27 センセン ネットワークス グループ ピーティーワイ リミテッド 機械学習駆動オブジェクト検出のためのシステム及び方法
AU2018202759A1 (en) * 2017-10-31 2019-05-16 Grand Performance Online Pty Limited A system, method and computer program for optimising and allocating resources in a space for defined periods of time
US20230100529A1 (en) * 2017-10-31 2023-03-30 Grand Performance Online Pty Ltd Autonomous and integrated system, method and computer program for dynamic optimisation and allocation of resources for defined spaces and time periods
US10769450B1 (en) * 2019-10-25 2020-09-08 7-Eleven, Inc. Tracking positions using a scalable position tracking system
USD894286S1 (en) * 2019-02-21 2020-08-25 FM Gaming LLC Game betting board
CA3143033C (en) * 2019-06-12 2024-01-23 Boom Interactive Inc. Data serialization extrusion for converting two-dimensional images to three-dimensional geometry
US11205319B2 (en) 2019-06-21 2021-12-21 Sg Gaming, Inc. System and method for synthetic image training of a neural network associated with a casino table game monitoring system
US11183012B2 (en) 2019-08-19 2021-11-23 Sg Gaming, Inc. Systems and methods of automated linking of players and gaming tokens
US11398127B2 (en) 2019-10-07 2022-07-26 Sg Gaming, Inc. Gaming systems and methods using image analysis authentication
US11393282B2 (en) 2019-10-09 2022-07-19 Sg Gaming, Inc. Systems and devices for identification of a feature associated with a user in a gaming establishment and related methods
SG10201913024QA (en) * 2019-12-23 2020-10-29 Sensetime Int Pte Ltd Target Object Identification System, Method And Apparatus, Electronic Device And Storage Medium
CN115885324A (zh) 2020-03-30 2023-03-31 Sg游戏公司 游戏环境跟踪优化
CN111723861B (zh) * 2020-06-17 2024-04-16 西安科技大学 一种用于煤矿控制挡板的煤矸石百分比识别方法
US11495085B2 (en) 2020-07-13 2022-11-08 Sg Gaming, Inc. Gaming environment tracking system calibration
WO2022029477A1 (en) * 2020-08-01 2022-02-10 Sensetime International Pte. Ltd. Image processing method and apparatus, electronic device, and storage medium
KR20220136884A (ko) * 2021-03-30 2022-10-11 센스타임 인터내셔널 피티이. 리미티드. 포인트 클라우드 완성 네트워크 생성 및 포인트 클라우드 데이터 처리
AU2021106867A4 (en) * 2021-06-10 2021-12-02 Angel Group Co., Ltd. Efficient gaming monitoring using machine learning
AU2021204578A1 (en) * 2021-06-14 2023-01-05 Sensetime International Pte. Ltd. Methods, apparatuses, devices and storage media for controlling game states
WO2022263906A1 (en) * 2021-06-14 2022-12-22 Sensetime International Pte. Ltd. Methods, apparatuses, devices and storage media for controlling game states
WO2022096952A1 (en) * 2021-06-18 2022-05-12 Sensetime International Pte. Ltd. Warning method, apparatus, device and computer storage medium
WO2022096948A1 (en) * 2021-06-18 2022-05-12 Sensetime International Pte. Ltd. Method and apparatus for image processing, electronic device, and computer storage medium
CN113785327A (zh) * 2021-06-18 2021-12-10 商汤国际私人有限公司 图像处理方法、装置、边缘计算设备和计算机存储介质
WO2022096954A1 (en) * 2021-06-18 2022-05-12 Sensetime International Pte. Ltd. Image processing method and device, edge computing device, and computer storage medium
CN113631237A (zh) 2021-06-23 2021-11-09 商汤国际私人有限公司 游戏图像的处理方法、装置、电子设备、计算机存储介质和计算机程序
US11967200B2 (en) 2022-01-12 2024-04-23 Lnw Gaming, Inc. Chip tracking system
CN115620321B (zh) * 2022-10-20 2023-06-23 北京百度网讯科技有限公司 表格识别方法及装置、电子设备和存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6460848B1 (en) * 1999-04-21 2002-10-08 Mindplay Llc Method and apparatus for monitoring casinos and gaming
GB0001591D0 (en) * 2000-01-24 2000-03-15 Technical Casino Services Ltd Casino video security system
US20080113783A1 (en) 2006-11-10 2008-05-15 Zbigniew Czyzewski Casino table game monitoring system
AU2004248872A1 (en) * 2003-06-26 2004-12-29 Tangam Gaming Technology Inc. System, apparatus and method for automatically tracking a table game
JP2006006912A (ja) * 2004-05-27 2006-01-12 Aruze Corp 遊技機
AU2006201849A1 (en) * 2005-05-03 2006-11-23 Tangam Gaming Technology Inc. Gaming object position analysis and tracking
US8425312B1 (en) 2005-08-05 2013-04-23 Electronicard Corp. Playing card indentification system
US7620204B2 (en) * 2006-02-09 2009-11-17 Mitsubishi Electric Research Laboratories, Inc. Method for tracking objects in videos using covariance matrices
JP5468210B2 (ja) * 2008-03-14 2014-04-09 株式会社ユニバーサルエンターテインメント 遊技判定システム
US8285034B2 (en) * 2009-08-26 2012-10-09 Bally Gaming, Inc. Apparatus, method and article for evaluating a stack of objects in an image
JP5770971B2 (ja) * 2009-12-01 2015-08-26 株式会社ユニバーサルエンターテインメント カジノテーブル
JP5299296B2 (ja) * 2010-01-26 2013-09-25 株式会社デンソーアイティーラボラトリ 車両周辺画像表示装置及び車両周辺画像表示方法
JP5135484B2 (ja) * 2012-06-01 2013-02-06 株式会社ユニバーサルエンターテインメント 遊技チップを使用するゲームマシンとゲームシステム
FR3013878B1 (fr) * 2013-11-28 2016-01-01 Sagem Defense Securite Analyse d'une image multispectrale
CN106104455A (zh) * 2013-12-27 2016-11-09 索尼公司 显示控制装置、显示控制方法和程序
AU2014200314A1 (en) 2014-01-17 2015-08-06 Angel Playing Cards Co. Ltd. Card game monitoring system
JP2015198935A (ja) * 2014-04-04 2015-11-12 コナミゲーミング インコーポレーテッド ゲーミング環境の操作のためのシステムおよび方法
WO2016058085A1 (en) * 2014-10-16 2016-04-21 Arb Labs Inc. Systems, methods and devices for monitoring game activities
US10410066B2 (en) * 2015-05-29 2019-09-10 Arb Labs Inc. Systems, methods and devices for monitoring betting activities
CA2947969C (en) * 2015-05-29 2017-09-26 Adrian BULZACKI Systems, methods and devices for monitoring betting activities
US20160371917A1 (en) * 2015-06-16 2016-12-22 Nobotgames, Inc. Capturing and presenting peripheral information in electronic games
CN107949428A (zh) 2015-08-03 2018-04-20 天使游戏纸牌股份有限公司 游艺场的作弊检测系统
AU2015261614A1 (en) * 2015-09-04 2017-03-23 Musigma Business Solutions Pvt. Ltd. Analytics system and method
AU2017266438B2 (en) * 2016-05-16 2021-04-22 Angel Group Co., Ltd. System and method for automated table game activity recognition

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114514566A (zh) * 2020-08-01 2022-05-17 商汤国际私人有限公司 图像处理方法及装置、电子设备和存储介质
CN114514566B (zh) * 2020-08-01 2023-09-22 商汤国际私人有限公司 图像处理方法及装置、电子设备和存储介质
CN113597615A (zh) * 2021-06-18 2021-11-02 商汤国际私人有限公司 一种告警方法及装置、设备、存储介质
CN113795848A (zh) * 2021-06-18 2021-12-14 商汤国际私人有限公司 检测游戏桌上的游戏币的方法及装置、设备、存储介质
CN113508421A (zh) * 2021-06-24 2021-10-15 商汤国际私人有限公司 桌面游戏的状态切换方法、装置、设备和存储介质
CN113544699A (zh) * 2021-06-24 2021-10-22 商汤国际私人有限公司 一种告警系统与告警方法、装置及计算机可读存储介质
CN114008673A (zh) * 2021-09-13 2022-02-01 商汤国际私人有限公司 游戏标识物的检测方法、装置、设备、系统及存储介质

Also Published As

Publication number Publication date
PH12018502394A1 (en) 2019-07-29
JP7134871B2 (ja) 2022-09-12
CA3024336A1 (en) 2017-11-23
JP2022171689A (ja) 2022-11-11
JP2019522507A (ja) 2019-08-15
KR102462409B1 (ko) 2022-11-02
CL2018003251A1 (es) 2019-06-07
EP3459047A4 (en) 2020-01-01
SG10202100620VA (en) 2021-03-30
SG11201809960YA (en) 2018-12-28
ZA201808402B (en) 2021-06-30
US20230162505A1 (en) 2023-05-25
AU2017266438B2 (en) 2021-04-22
AU2017266438A1 (en) 2019-01-03
AU2021204716A1 (en) 2021-07-29
AU2021204716B2 (en) 2023-06-15
US20240071088A1 (en) 2024-02-29
US11580746B2 (en) 2023-02-14
US20210232828A1 (en) 2021-07-29
KR20190021238A (ko) 2019-03-05
WO2017197452A1 (en) 2017-11-23
US10956750B2 (en) 2021-03-23
EP3459047A1 (en) 2019-03-27
KR20220153094A (ko) 2022-11-17
US20200034629A1 (en) 2020-01-30
KR20230172609A (ko) 2023-12-22

Similar Documents

Publication Publication Date Title
CN110168607A (zh) 用于自动桌面游戏活动识别的系统和方法
KR102501264B1 (ko) 기계 학습 기반의 개체 검출을 위한 시스템 및 방법
US10713492B2 (en) Processing an image to identify a metric associated with the image and/or to determine a value for the metric
CN110427917B (zh) 用于检测关键点的方法和装置
CN112581629B (zh) 增强现实显示方法、装置、电子设备及存储介质
CN102141838B (zh) 基于视觉的身份跟踪
EP3276951A1 (en) Image processing system, image processing method, and program
CN110381369A (zh) 推荐信息植入位置的确定方法、装置、设备及存储介质
CN106503702A (zh) 分析系统和方法
CN102184531A (zh) 深度图置信过滤
WO2013082009A1 (en) Methods and systems for capturing and moving 3d models and true-scale metadata of real world objects
US20120154618A1 (en) Modeling an object from image data
CN107220647A (zh) 一种叶片交叉条件下作物中心点定位方法及系统
CN109426789A (zh) 手和图像检测方法和系统、手分割方法、存储介质和设备
CN110287767A (zh) 可防攻击的活体检测方法、装置、计算机设备及存储介质
JP5811923B2 (ja) 情報処理装置、画像処理方法およびプログラム
NZ788283A (en) System and method for automated table game activity recognition
CN118115826A (zh) 一种目标对象识别方法、装置、设备以及存储介质
CN117115899A (zh) 一种白睛脉络特征识别方法、装置、计算机存储介质及电子设备
CN117522696A (zh) 基于区域超分辨率的南美白对虾苗计数定位方法
CN113694519A (zh) 一种贴花效果的处理方法、装置、存储介质及电子设备
JP2012002659A (ja) 分析パラメータ出力方法、分析パラメータ出力装置および分析パラメータ出力プログラム

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20190823

WD01 Invention patent application deemed withdrawn after publication