CN111971685A - 机器学习驱动的对象检测系统和方法 - Google Patents
机器学习驱动的对象检测系统和方法 Download PDFInfo
- Publication number
- CN111971685A CN111971685A CN201880069918.8A CN201880069918A CN111971685A CN 111971685 A CN111971685 A CN 111971685A CN 201880069918 A CN201880069918 A CN 201880069918A CN 111971685 A CN111971685 A CN 111971685A
- Authority
- CN
- China
- Prior art keywords
- game
- gaming
- drop
- objects
- network
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 238000010801 machine learning Methods 0.000 title claims abstract description 18
- 238000001514 detection method Methods 0.000 title claims description 86
- 238000012544 monitoring process Methods 0.000 claims abstract description 53
- 230000008569 process Effects 0.000 claims abstract description 48
- 230000000694 effects Effects 0.000 claims abstract description 17
- 238000013528 artificial neural network Methods 0.000 claims description 80
- 238000013527 convolutional neural network Methods 0.000 claims description 46
- 238000012545 processing Methods 0.000 claims description 28
- 238000004891 communication Methods 0.000 claims description 16
- 238000003709 image segmentation Methods 0.000 claims description 7
- 238000005286 illumination Methods 0.000 claims description 5
- 239000003550 marker Substances 0.000 claims description 2
- 238000012549 training Methods 0.000 description 44
- 230000006870 function Effects 0.000 description 17
- 238000010586 diagram Methods 0.000 description 13
- 238000003708 edge detection Methods 0.000 description 11
- 230000011218 segmentation Effects 0.000 description 10
- 230000003628 erosive effect Effects 0.000 description 9
- 238000013135 deep learning Methods 0.000 description 6
- 210000002569 neuron Anatomy 0.000 description 6
- 230000010339 dilation Effects 0.000 description 5
- 230000000873 masking effect Effects 0.000 description 5
- 230000006740 morphological transformation Effects 0.000 description 5
- 238000011176 pooling Methods 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 238000007781 pre-processing Methods 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 230000002457 bidirectional effect Effects 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 208000001613 Gambling Diseases 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- BUADUHVXMFJVLH-UHFFFAOYSA-N 7-chloro-3-imidazol-1-yl-2H-1,2,4-benzotriazin-1-ium 1-oxide Chemical compound N1[N+](=O)C2=CC(Cl)=CC=C2N=C1N1C=CN=C1 BUADUHVXMFJVLH-UHFFFAOYSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000002775 capsule Substances 0.000 description 1
- 230000010267 cellular communication Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007717 exclusion Effects 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000877 morphologic effect Effects 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000007935 neutral effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012856 packing Methods 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
- 210000000857 visual cortex Anatomy 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/12—Edge-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/11—Region-based segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/13—Edge detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/155—Segmentation; Edge detection involving morphological operators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/50—Context or environment of the image
- G06V20/52—Surveillance or monitoring of activities, e.g. for recognising suspicious objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/103—Static body considered as a whole, e.g. static pedestrian or occupant recognition
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
- G07F17/3202—Hardware aspects of a gaming system, e.g. components, construction, architecture thereof
- G07F17/3204—Player-machine interfaces
- G07F17/3206—Player sensing means, e.g. presence detection, biometrics
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
- G07F17/3202—Hardware aspects of a gaming system, e.g. components, construction, architecture thereof
- G07F17/3216—Construction aspects of a gaming system, e.g. housing, seats, ergonomic aspects
- G07F17/322—Casino tables, e.g. tables having integrated screens, chip detection means
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07F—COIN-FREED OR LIKE APPARATUS
- G07F17/00—Coin-freed apparatus for hiring articles; Coin-freed facilities or services
- G07F17/32—Coin-freed apparatus for hiring articles; Coin-freed facilities or services for games, toys, sports, or amusements
- G07F17/3244—Payment aspects of a gaming system, e.g. payment schemes, setting payout ratio, bonus or consolation prizes
- G07F17/3248—Payment aspects of a gaming system, e.g. payment schemes, setting payout ratio, bonus or consolation prizes involving non-monetary media of fixed value, e.g. casino chips of fixed value
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/183—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30221—Sports video; Sports image
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Health & Medical Sciences (AREA)
- Mathematical Physics (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Human Computer Interaction (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
- Radar Systems Or Details Thereof (AREA)
- Measurement Of Velocity Or Position Using Acoustic Or Ultrasonic Waves (AREA)
- Pinball Game Machines (AREA)
Abstract
本申请实施例公开了用于游戏监控的系统和方法。特别地,本申请实施例涉及基于机器学习过程的游戏监视的系统和方法,该机器学习过程被配置为分析已拍摄的图像以识别或检测游戏对象和游戏活动以监视游戏。
Description
技术领域
本申请涉及用于机器学习驱动的对象检测的系统和方法,还涉及将这种对象检测应用于监视桌上游戏,尤其涉及一种用于监视游戏场所的桌上游戏中的事件的系统和方法。
背景技术
游戏场和其他此类场所现在正在使用监视技术和其他管理软件,以监视玩家并计划其业务策略。他们寻求部署实时行为分析,算法(或过程)和玩家跟踪技术,以最大程度地提高玩家收入,优化人员配备,并优化场地面积对游戏类型的分配,从而最大程度地提高场地收入。大多数游戏场参与者都参加了忠诚度计划,该计划要求他们使用纸牌。这给游戏场所提供了机会来记录和分析个人行为,创建玩家档案并记录诸如每位投入数量、得失以及按钮速率之类。但是,桌上游戏比按钮操作的游戏机更不容易监控。
事实证明,用于监视和管理桌上游戏的系统的安装和维护成本很高,并且未能达到真正有用的精度水平。其他选择包括在游戏场所代币中设置传感器以及其他离线收益管理解决方案,但是事实证明,这些传感器无效且实施昂贵。游戏场所操作人员依赖随机抽样通常不能准确显示游戏场所中的活动和投入水平,并且可能难以记录和报告。游戏场所的操作环境节奏快,视觉和听觉上会产生大量噪声和干扰,纸牌和代币摆放在桌子上的位置可能缺乏次序,并且照明条件可能变化剧烈。
本申请期望解决或改善现有技术当中与机器学习驱动的对象检测相关的一个或多个缺点或不足,或者至少提供一种有用的替代方案。
在整个说明书中,单词“包括”或其它时态的变体将被理解为暗示包括所陈述的元素,整数或步骤,或元素组,复数整数或复数步骤,但是不排除任何其他元素,整数或步骤,或元素组,复数整数或复数步骤。
在本说明书中,关于元素可以是选项列表中的“至少一个”的陈述应理解为该元素可以是所列选项中的任何一个,或者可以是所列选项中的两个或更多个的任意组合。
在本说明书中已包括的对文件,行为,材料,装置,物品或类似的任何讨论都不应被视为承认任何或所有这些事项构成现有技术基础的一部分或作为在本申请的每个权利要求的优先权日之前存在的与本申请相关的领域中的公知常识。
发明内容
本申请实施例公开了一种游戏监控系统,包括:
配置为拍摄游戏表面图像的至少一个相机;和
与所述至少一个相机通信的计算装置,所述计算装置配置为分析所述游戏表面的已拍摄图像从而自动应用机器学习过程来识别所述已拍摄图像中的游戏对象、游戏活动和玩家。
机器学习过程可以通过一个或多个神经网络来实现。一个或多个神经网络可以包括一个或多个深层神经网络。一个或多个深层神经网络可以包括一个或多个卷积神经网络。一个或多个神经网络可以包括更快的基于区域的卷积神经网络。一个或多个卷积神经网络中的至少一个可以包括一个区域生成网络。一个或多个卷积神经网络中的至少一个可以包括一个对象检测网络。
至少一个相机配置为拍摄高分辨率图像。
游戏对象可以包括纸牌或者位置标记。游戏对象可以包括一个或多个投入对象的一个或多个堆栈。
计算装置进一步配置为通过以下方式自动识别和预测一个或多个投入对象的每个堆栈的值:使用已训练第一区域生成网络在所述已拍摄图像中识别与一个游戏对象相关的一个或多个第一兴趣区域;使用已训练第一对象检测网络在所述一个或多个第一兴趣区域中识别与一个或多个投入对象的单个堆栈有关的第一兴趣区域子集;使用已训练第二区域生成网络在每个已识别的第一兴趣区域子集中识别一个或多个第二兴趣区域,该一个或多个第二兴趣区域与位于组成所述一个或多个投入对象的单个堆栈的部分的每一个投入对象上的边缘模式的部分有关;使用已训练第二对象检测网络在所述一个或多个第二兴趣区域的每一个中识别价值模式;以及使用已识别价值模式和查找表预测在所述第一兴趣区域子集的每一个中的所述一个或多个投入对象的单个堆栈的总投入值。
系统进一步包括将所述一个或多个第一兴趣区域中的每一个与投入区域标识符相关联。
计算装置可进一步配置为基于存储在所述计算装置可访问的数据存储中的游戏开始和结束触发配置来识别游戏开始和结束。
本申请实施例公开了一种方法,包括:
训练神经网络系统用于:处理游戏桌的已拍摄图像,识别所述已拍摄图像中的游戏投入对象,以及计算所述已拍摄图像中的已识别投入对象的值。
本申请实施例公开了一种方法,包括:
通过已训练神经网络处理游戏桌的已拍摄图像以便识别所述已拍摄图像中的游戏投入对象;
识别与所述已拍摄图像中识别的每个游戏投入对象相关的值;以及
基于所述已识别游戏投入对象的识别值来确定游戏投入值。
所述处理步骤可以在所述游戏桌上的多个独特投入区域中的至少一个中识别游戏投入对象。所述确定步骤可以包括:针对在所述已拍摄图像中识别的游戏对象的每个独特投入区域来确定总游戏投入。
本申请实施例公开了一种方法,包括使用已训练神经网络来识别游戏桌的已拍摄图像中的投入对象的投入对象价值。
本申请实施例涉及一种计算装置,其配置为执行用于游戏对象识别的神经网络系统,并包括:
至少一个处理器;
所述至少一个处理器可访问的内存,其存储代码以便执行:
投入对象区域生成网络(RPN)从所述游戏桌的已拍摄图像中接收图像数据,和
投入对象检测网络接收所述投入对象RPN的输出;
其中所述投入对象检测网络基于所述投入对象检测网络的输出来检测所述已拍摄图像中的一个或多个投入对象。
所述计算装置还进一步包括:
用于从游戏桌的已拍摄图像中接收图像数据的游戏桌区域生成网络(RegionProposal Network简称RPN);
用于接收所述游戏桌RPN的输出的游戏桌对象检测网络;
其中所述游戏桌对象检测网络基于所述游戏桌对象检测网络的输出来检测所述已拍摄图像中的一个或多个游戏对象,其中所述一个或多个游戏对象与所述一个或多个投入对象不同。本申请实施例的计算装置进一步配置为确定所述游戏表面上的交易装置上的指示器的照明。
本申请实施例公开了所述至少一个相机和所述计算装置是智能手机的一部分。
本申请实施例公开了所述一个或多个卷积神经网络包括用于执行图像分割以确定所述已拍摄图像中的游戏对象的轮廓的卷积神经网络。
本申请实施例公开了用于执行图像分割的所述卷积神经网络是Mask R-CNN。
本申请实施例公开了所述一个或多个卷积神经网络包括游戏对象分类器神经网络,其配置为将所述游戏对象分类为所述已确定轮廓。
附图说明
图1是本申请实施例提供的一种游戏监控系统的框图;
图2是本申请实施例提供的用于自动桌面游戏识别的系统的示意图,其形成图1的游戏监控系统的一部分;
图3是本申请实施例提供的用于自动桌面游戏识别的系统的示意图,其形成图1的游戏监控系统的一部分;
图4A是可以形成图1的系统的游戏环境的一部分的游戏桌的表面的图像;
图4B是游戏桌的表面的图像,其与图4A的图像相同但显示了用于神经网络训练的对象注释;
图4C是注释工具界面的屏幕截图,该注释工具界面用于注释可以形成图1的系统的游戏环境的一部分的游戏桌的表面的神经网络训练图像;
图5是本申请实施例提供的一种计算装置的框图;
图6是本申请实施例提供的一种消息代理服务器的框图;
图7是本申请实施例提供的一种数据库服务器的框图;
图8是本申请实施例提供的一种检测游戏开始和结束的方法的流程图;
图9是本申请实施例提供的示出了神经网络模块的操作的复合流程图和框图;
图10是本申请实施例提供的一种训练神经网络的方法的流程图;
图11是本申请实施例提供的一种对象检测的方法的流程图;
图12是代币游戏对象的堆栈的示例图像;
图13是示出了在投入对象图像中检测兴趣区域的代币游戏对象的堆栈的示例图像;
图14是本申请实施例提供的检测非投入对象的过程的流程图;
图15是本申请实施例提供的已检测投入对象的堆栈的图像。
具体实施方式
本申请实施例大体涉及用于机器学习驱动的对象检测的系统和方法。一些实施例将这种对象检测应用于监视桌面游戏。一些实施例涉及用于监视游戏场所的桌面游戏中的事件的系统和方法。本申请实施例涉及对在2017年5月16日提交的共同拥有的国际专利申请PCT/AU2017/050452中描述的系统、方法和技术所做出的改进和/或调整,该国际专利申请的全部内容通过引用结合于此。
游戏监控系统
图1是本申请实施例提供的一种游戏监控系统100的框图。系统100可以包括多个游戏监视设置105,游戏监视基础设施115和数据库客户端180。游戏监视设置105包括游戏环境110,相机120和计算装置130。系统100适合于在诸如游戏场所的游戏场所的一个或多个游戏室中进行安装和操作。每个游戏室都具有一个或多个位于其中的游戏桌,并且这些桌中的一些或每一个都可以构成相应游戏监控设置105的一部分。
游戏场所可以具有多个游戏环境,例如玩桌面游戏的区域或房间,并且为了监视那些游戏环境中的每一个,可以有多个游戏监视设置105。多个游戏监视设置105可以使用网络链接147而耦合到或者链接到通用游戏监控基础设施115。网络链接147可以包括计算装置130与消息代理服务器140之间的链接117以及计算装置130与神经网络管理器服务器160之间的链接167。游戏监视基础设施115还可以与两个或更多个不同游戏场所中的游戏监视设置105耦合或链接。在一些实施例中游戏场所可能具有大量游戏环境110,多个游戏监视基础设施115可以与同一场所中的游戏监视设置105的不同子集耦合。
游戏监视基础设施115包括消息代理服务器140,神经网络管理器服务器160和数据库服务器150。消息代理服务器140可以通过双向网络链接117连接到多个计算装置130。链接127可以设置在消息代理服务器140和数据库服务器150之间,以实现数据或指令的传输。网络链接137可以设置在数据库服务器150和神经网络管理器服务器160之间。系统100的计算装置130和监视基础设施115是分开的计算系统,但是在本文中结合描述为计算装置,因为在此描述它们协作执行各种功能并形成系统100的相同计算机体系的一部分。
服务器140、服务器150和服务器160中的每一个可以为独立服务器或者一个或多个物理服务器上的不同的虚拟服务器,或者可以通过云计算服务实现。服务器140、服务器150和服务器160中的每一个还可以通过被配置为处理更高性能或高可用性要求的多于一个服务器的网络来实现。数据库客户端180可以是终端用户计算装置或者是用于将数据中继到其他终端用户计算装置的接口或者是其他数据库,并且可以通过网络链接157连接到数据库服务器150。
游戏环境
游戏环境110的配置可以根据进行中的特定游戏而变化,但是由任一实施例监视的大多数游戏具有一些共同的要素。图2示出了根据一些实施例的游戏监控系统200的一部分。该系统可以检测特定游戏的开始和结束,投入对象或代币的一个或多个堆栈以及单个堆栈中投入对象或代币的值。
游戏环境110包括在其上进行游戏的游戏表面或游戏桌210。游戏表面210通常包括基本水平的平面,并且可以在其上放置各种游戏对象,例如牌211或代币213或者可以由游戏监控系统100检测到的其他对象。相机120可以设置在有一定高度的支柱或柱子220上,以便将相机120定位在相机视野内的任何障碍物上方并倾斜以将相机120的视野稍微向下指向游戏桌210。障碍物可以是暂时性的障碍物,例如在桌上进行游戏的主持人或游戏的参与者或路过的人。相机120和计算装置130的位置可以与位于该游戏桌210上的支柱或柱子上的其他显示屏相邻。
相机120被定位以便提供投入对象的一个或多个堆栈的更好的截面图,同时保持合理的视角以检测游戏表面上和玩家的牌。相机120的透视图的示例是图4A所示的图像框架400。在图像框架400中,可以看到整个游戏表面210上的投入对象213和纸牌211。在图像框架400中还可以看到在游戏表面210上的指定游戏进行区域或投入区域410,可以根据在游戏桌上进行的特定游戏的规则放置一个或多个投入对象213。
图3示出了根据一些实施例的游戏监控系统300的一部分。系统300具有两个相机120和320。相机120和相机320安装在游戏表面210的相对的侧向端部/侧面上,以便从两个侧向端部拍摄游戏桌210和游戏桌上的游戏对象的图像。相机120和相机320可以具有相同的物理设置和/或相同的配置。在系统100中使用两个照相机120、320,可以通过允许处理由两个相机拍摄的游戏桌210的整个游戏表面的单独的图像集,从而提高游戏对象识别的准确性。对单独的图像集的处理允许系统100更精确地考虑船间遮挡的情况,其中代币或代币堆栈在其中一个相机而不是另一个的视野中隐藏。
在其他实施例中,每个相机可以配置为监视游戏表面的近一半(或游戏桌210的小于全部的一部分),并且借此提高对象检测的性能或速度。在其他实施例中,游戏监控系统可以具有两个以上的相机。相机320可以被支撑在支撑结构330上,例如支柱,柱子,龙门架,墙壁或其他支撑物。相机320可以连接到计算装置130,通过通信链接310,其允许将已经拍摄图像从相机320传送到计算装置130并且将指令从计算装置130传送到相机320。
在一些实施例中,计算装置130可以是智能手机的形式。相机120可以智能手机的相机的形式嵌入在计算装置130中。智能手机形式的计算装置130应该具有必要的硬件配置,以实现根据各个实施例的各种机器学习过程。例如,谷歌公司的Pixel 2电话或具有等效技术规格的电话可用作智能手机以提供计算装置130和相机120。当计算装置130实现为智能手机时,则智能手机提供的通信接口可以用于促进与神经网络管理器服务器160的通信以及与消息代理服务器140的通信。在智能手机中使用的通信接口可以是蜂窝通信接口或智能手机提供的Wi-Fi通信接口。使用智能手机作为计算装置130和相机120,可以利用现成的装置来简化游戏监控系统105的实现,该装置可以配置为提供游戏监控系统105的一部分。智能手机还简化了相机120和计算装置130之间的接口。在智能手机中,计算装置130和相机120是单个物理单元的一部分,并且被预先配置为彼此通信。在一些实例中,游戏监视设置105中可能需要一个以上相机,可以使用两个智能手机来提供两个相机120和320,且每个相机具有其自己的计算装置130。
游戏参与者包括可能进行游戏的玩家和进行游戏的主持人。为了进行游戏,玩家或主持人使用描述为游戏对象的对象。游戏对象可以包括具有特定形状和特定标记以识别它们的牌211,代币或投入对象213或其他此类对象可以指定玩家在游戏中可以投入的数量,或者可以包括具有不同形状的其他对象,其可以指定游戏的结果比如轮盘游戏中使用的位置标记或小车。通过一系列游戏事件进行游戏,其中包括游戏开始,游戏期间玩家投入,游戏期间中间结果以及确定游戏最终结果的游戏结束。在游戏期间,玩家可以通过将他或她的投入对象213(即投入代币或代币)放置在指定用于投入的区域或投入区域中来进行游戏。代币或投入对象可以成组或者成堆栈地布置在游戏表面210上的区域中。投入对象的单个组或者堆栈可以包括投入对象的共同颜色或者面额(与投入值相关)或者可以包括两种或者更多种颜色或者面额的投入对象的组合。
例如,相机120和相机320可以安装在距游戏桌的近边缘约0至4米(可选地约2至3米)的距离处,并且可以被升高到桌面水平以上约0至3米(可选地约1至2米)。例如,相机120和相机320可以按照与水平面成大约15到45度的角度向下倾斜。例如,相机120和相机320可以适合于以高分辨率拍摄图像,例如720p的分辨率(最高1280x 720像素的图像)或者1080p的分辨率(最高1920x 1080像素的图像)或者4k的分辨率(最大4096x 2160像素的图像)。例如,相机可以按照每秒30帧(fps)或60fps或90fps的速率连续拍摄图像。相机可以通过通信链接107将已拍摄图像传送到计算装置130,该通信链接可以是USB电缆或无线通信链接的形式。适用于每个相机120和相机320的合适相机的示例是罗技公司(Logitech)的BRIO 4k网络摄像头相机。
计算装置
由相机120产生的数据由计算装置130通过通信端口590接收。端口590可以是USB端口或无线适配器形式,该无线适配器耦接到相机120以便接收已拍摄图像或发送指令来开始或终止拍摄图像。计算装置130的硬件组件510包括内存514,处理器512和计算装置操作所必需的其他组件。内存514存储必要的软件模块520,其包括:图像处理库522;相机应用界面(API)524;运行时环境驱动器526;神经网络模块528;游戏活动检测模块532和消息产生器模块534。
图像处理库522是用于执行基本图像处理操作的一组程序,例如,在将图像作为输入提供给神经网络模块528之前,对图像和其它预处理图像所必需的其它程序执行阈值操作和形变操作。OpenCV是可以使用的图像处理库的示例。相机API 524是一组程序,其使计算装置130能够建立与一个或多个相机120的通信信道。该相机API 424使得由相机120生成的数据能够被神经网络模块528接收和处理。
消息产生器模块534基于来自神经网络模块528的指令来产生消息,该消息被传递到消息代理服务器140。消息产生器模块可以基于诸如RabbitMQ或Kafka的标准消息系统。基于配置模块540中存储的消息代理配置546,消息产生器模块534可以通过通信端口590和网络链接117将消息传递到消息代理服务器140。配置模块540还包括游戏开始和结束触发配置544。游戏开始和结束触发配置544包括在特定桌面上的特定游戏事件的细节,其指定游戏的开始和结束。配置模块540的组件可以一个或多个配置文件的形式存储在内存514中。例如,配置文件可以XML格式存储。
消息代理服务器
消息代理服务器140实现消息代理服务,并通过网络链接117监听来自多个计算装置130的消息。消息代理服务器140可以位于公共局域网内与计算装置130相同的房屋内,或者可以位于房间外(远程)但仍通过两个房屋之间建立的网络链接117进行通信以便实现消息和数据的传输。消息代理服务器140可以被集中化并且连接到多个游戏场所中的计算装置130,以提供集中化的消息代理服务。
消息代理服务器140具有硬件组件610,其包括:内存614,处理器612以及用于服务器操作的其他必要的硬件组件。消息队列模块620实现队列以接收,解释和处理来自多个配置装置130的消息。消息通过通信端口690被接收,其形式可以是网络适配器或其他类似的能够启用往返于消息代理服务器140的数据和指令的双向传输的端口。消息队列模块620可以通过消息代理程序包(如RabbitMQ或Kafka)实现。消息队列模块620在接收到包括有关在游戏桌上发生的游戏事件的交易信息的消息时,启动数据库解析模块630。数据库解析模块630将由消息队列模块620接收到的消息解析为数据库查询,其主要通过网络链接127在数据库服务器150上执行。
数据库服务器
数据库服务器150从消息代理服务器140接收游戏事件数据,用作数据库客户端180的存储库,以便提供对游戏监控系统100监测的游戏事件数据的访问。数据库服务器150具有硬件组件710,其包括内存714,处理器712和用于服务器操作的其他必要硬件组件。通信端口790可以是网络适配器或其他类似端口的形式,其能够通过一个或多个网络链路从而启用往返于数据库服务器150的数据和指令的双向传输。数据库模块720可以通过诸如MySQL,Postgres或Microsoft SQL Server之类的数据库管理系统来实现。
游戏事件数据724包括交易数据,其表示发生在游戏桌或游戏台上的游戏事件。构成游戏事件数据的记录可以包括识别游戏事件的时间的时间戳;发生游戏事件的游戏桌的唯一标识符;游戏事件性质的标识符例如投入;游戏中的中间结果;游戏的最终结果;与游戏事件相关联的投入区域的标识符;与兴趣区域相关的投入值的预测;以及其他代表游戏事件的相关属性。
表格配置数据722包括:游戏桌和相关的计算装置130的唯一标识符;游戏开始和结束触发事件的性质,无论是通过将牌放置在游戏表面上还是将特定游戏对象放置在特定兴趣区域上来检测游戏的开始;以及代表游戏监控系统100所依赖的参数所必需的其他相关数据。在一些实施例中,表格配置数据722和游戏事件数据724可以保存在单独的数据库服务器中,以便实现游戏监控系统100的更大可伸缩性和可管理性。
游戏活动检测
在一些实施例中,相机120可以是高分辨率相机,其可以实时地产生大量数据。存储和处理所有这些由高分辨率相机所产生的数据可能会在获取大量存储和处理容量以便存储和处理所获得数据方面带来重大挑战。此外,通过深层神经网络处理大量数据可能需要通过其他处理核心或图形处理单元(Graphic Processing Unit,GPU)进行大量处理。
为了解决上述挑战,游戏监控系统配置为在游戏环境110中检测游戏的开始和结束,并且仅在游戏开始之后拍摄高分辨率图像。在一些实施例中,已拍摄高分辨率图像可以由神经网络模块528基本上实时地处理,以识别游戏对象并估计投入对象的值。在其他实施例中,已拍摄高分辨率图像可以存储在计算装置130中并且由神经网络模块528以非实时的方式进行处理。
图8的流程图800示出了一些实施例中用于检测游戏开始和结束的过程。在游戏环境110中对游戏活动开始和结束的检测几乎是实时发生的。轮廓检测技术可以用于检测游戏活动开始和结束。在可以应用轮廓检测技术之前,将多个图像预处理步骤应用于由照相机120拍摄的图像。这些图像预处理步骤提高了实现轮廓检测技术的过程或算法的性能和准确性。
在步骤810,相机120和相机320可以获取输入图像帧。输入图像不必一定是高分辨率图像。一些实施例采用纸牌检测过程,以便确定纸牌游戏的开始时间和结束时间。例如,这对于确定桌子利用率和经销商效率很有用。此外,可以避免对高分辨率图像的存储和处理,直到检测到游戏已经开始为止,并且一旦确定游戏已经结束就可以停止,从而提高了图像处理的计算效率。根据一些实施例,例如,高分辨率图像包括分辨率为720x 480或1920x1080或3840x2160的图像。根据一些实施例,高分辨率图像包括分辨率大于720x 480,大于1920x 1080或大于3840x 2160的图像。
对于采用纸牌检测过程的实施例,可以采用的一种图像预处理技术是在步骤820进行阈值处理。可以采用诸如全局阈值处理或自适应阈值处理或最大类间方差法(又名“大津法”)的二值化之类的几种阈值技术中的一种来分割图像成二进制图像,其具有代表输入图像中黑色或白色部分的像素。
在阈值化操作之后,可以将步骤830处的形态转换应用于阈值化操作的输出图像。形态转换增强了图像中要检测的特征,并提高了轮廓检测过程的性能和准确性。在步骤832应用的侵蚀操作和在步骤834施加的扩张操作是可以在图像预处理阶段期间施加的形态转换的示例。侵蚀和扩张过程都需要两个输入,即由相机120拍摄的矩阵形式的图像数据和结构元素,或确定对输入图像执行的形态运算的性质的内核。内核可以是正方形或圆形,并且具有定义的中心,并且可以通过遍历输入图像而操作。
侵蚀的形态转换包括通过使用内核遍历图像时对图像中的前景对象进行锐化处理。单个像素的值保留为1或者是与白色对应的值,只有当所有与该内核对应的值都为1或者为与白色对应的值。大小为3x 3或5x 5或其他大小的内核可用于进行侵蚀操作。侵蚀操作侵蚀了前景对象的边界。侵蚀操作可以由图像处理库522中的预定义库执行。
为了实现侵蚀,内核会在图像中滑动(如二维卷积一样)。仅当内核下的所有像素均为1时,原始图像中的单个像素(1或0)才被视为1,否则它将被侵蚀(设为零)。
扩张的过程是侵蚀的逆过程。例如,在使用3x 3方阵内核的扩张操作中,内核中央的像素可以保留为1的值,或者在相应内核中任意一个与白色相对应的值,或者对应于白色的值。扩张的结果是,图像中的特征变得更加连续和更大。扩张的操作可以由图像处理库522中的预定义库来执行。
将阈值化技术应用于图像会产生二进制图像。为了进一步增强图像中存在的特征,应用了侵蚀和膨胀的形态转换。带来技术效果的是,形态转换有助于减少来自图像的噪声,隔离单个元素以及将不同的元素结合到图像中。
图像轮廓包括一条曲线,其将沿着图像中表示的对象边界的所有连续点连接在一起。轮廓是用于形状分析以及对象检测和识别的有用工具。轮廓逼近用于在应用程序中逼近特定形状与期望形状的相似度。期望形状可以是例如多边形,圆形或椭圆形的形式。为了更好的准确性和性能,可以在已经执行边缘检测操作之后对二进制图像执行轮廓检测操作。
在步骤840处应用的边缘检测是一种用于在图像内寻找对象边界的图像处理技术。它涉及检测输入图像中亮度的不连续性。在几种边缘检测技术中,Canny边缘检测是流行的多阶段边缘检测算法或过程,其可以由一些实施例来实现。
边缘检测的一些或全部步骤可以通过图像处理库522中可用的程序来执行。例如,如果使用OpenCV库,则可以使用Canny边缘检测功能调用。边缘检测的其他替代方法也可以用作Canny边缘检测的替代,以获得输入图像中边缘识别的相同结果。
在将边缘检测算子应用于输入图像以识别边缘之后,可以将步骤850的轮廓检测过程应用于边缘检测操作的结果,以逼近图像中的形状与特定模型形状的相似性,比如多边形或圆形。
轮廓逼近根据实施例中指定的精度,将轮廓形状近似为具有较少数量顶点的另一形状(多边形)。一些实施例可以实现用于轮廓逼近的道格拉斯-皮克算法。
可以通过在游戏监控模块928中调用图像处理库522中的预打包函数来执行轮廓逼近操作。例如,如果OpenCV用于实施轮廓逼近过程,则函数“findContours”或“drawContours”或“approxPolyDP”可以被调用来实现该过程。
在一些实施例中,可以在步骤860通过检测游戏桌上纸牌的首次存在来检测游戏的开始。为了检测纸牌的存在,对在轮廓逼近步骤结束时识别出的轮廓进行分析。该分析包括计算轮廓的面积,识别顶点的数量以及轮廓边缘形成的角度。为了识别纸牌,在一些实施例中可以应用以下标准:40至70平方厘米或50至60平方厘米的轮廓区域;逼近后有4个顶点,并且角度接近90度。如果识别出的一个或多个轮廓被识别为纸牌,则游戏活动检测模块532发信号通知游戏开始。识别游戏开始的信号可以被游戏监控系统100用作触发器,以开始由相机120拍摄和存储高分辨率图像。可以根据相机120相对于游戏表面或所使用的纸牌性质的角度或位置来具体校准或调整这些标准。
可以将定义游戏开始和结束触发器的事件的特定性质存储在游戏开始和结束触发配置544中,并被游戏活动检测模块532用作参考,以便预测桌子上的游戏是否已经开始还是结束。例如,对于指定用于二十一点游戏的桌子,可以将图像帧中一张或多张纸牌的存在视为游戏开始。同样地,在游戏开始之后,在步骤880,游戏活动检测模块532可以将图像帧中不存在任何纸牌的情况视为游戏结束。对于不基于纸牌进行的游戏,例如轮盘,诸如小车之类的其他游戏对象可以用作游戏的开始和结束触发器。游戏开始或结束触发器发起游戏对象的特定形状和性质可以保存在计算装置130的配置模块540的游戏开始和结束触发配置544中。
一旦游戏活动检测模块532识别出游戏的开始并且相机120在步骤870开始拍摄高分辨率图像,则神经网络模块528可以将其用于对象检测和投入值估计过程。但是在神经网络模块528可以准确地执行这些操作之前,这些神经网络经过必需的训练以便校准、构造或称重它们,以根据特定游戏环境最佳地执行期望的操作。
神经网络模块
为了检测游戏桌上的游戏对象并预测投入对象的值,游戏监控系统100依靠训练机器学习过程来执行功能。在一些实施例中,机器学习过程可以采用一个或多个神经网络。在一些实施例中,一个或多个神经网络可以包括一个或多个深度学习神经网络。在一些实施例中,一个或多个深度学习神经网络可以是卷积神经网络(CNN)。
如一些实施例所实现的CNN可以包括神经元的多层,这些神经元的结构和操作可以彼此不同。CNN的第一层可以是神经元的卷积层。神经元的卷积层执行从输入图像中提取特征的功能,同时保留输入图像的像素之间的空间关系。卷积运算的输出可以包括输入图像的特征图。使用滤波器或核矩阵执行卷积运算,并通过随后描述的训练CNN的过程来获得或者校准滤波器或核矩阵中的权重。
在卷积层之后,在一些实施例中,CNN实现池化层或整流线性单元(Rectifiedlinear unit,ReLU)层或两者。池化层在保留最重要的特征信息的同时减小了每个特征图的维数。ReLU操作在CNN中引入了非线性,因为要从输入图像中学习的大多数实际数据都是非线性的。CNN可以包括多个卷积,ReLU和池化层,其中先前池化层的输出可以作为输入提供给后续的卷积层。具有大量的神经元层是将CNN描述为深度学习算法或技术的原因。CNN的最后一层或者最后多层可能是传统的多层感知器神经网络,其使用卷积层和池化层提取的高层次特征来产生输出。CNN的设计灵感来自动物视觉皮层中神经元的模式和连通性。CNN设计的基础是可以选择CNN来执行图像中对象检测功能的原因之一。
神经网络模块428可以是卷积神经网络的形式,例如基于区域的卷积神经网络(R-CNN)或更快的基于区域的卷积神经网络(Faster R-CNN)。一些实施例可以使用Resnet-101或单发检测器(SSD)作为Faster R-CNN的基本特征提取器。神经网络模块428可以基于其他深度学习方法或其他机器学习方法。本申请以下部分描述了基于Faster R-CNN神经网络训练过程的一些实施例的对象检测和训练方法,但不应理解为限制了将其他合适的机器学习或深度学习方法应用于其他实施例。
图9中的流程图900以高层次示出了根据一些实施例的神经网络模块528的操作。神经网络模块528训练并维护一个游戏桌区域生成网络(RPN)920,一个游戏桌对象检测网络930,一个投入对象RPN 940和一个投入对象检测网络950。可以通过根据更快的R-CNN训练过程训练的神经网络模型来执行本文描述的对象检测和投入值预测过程或方法。该训练过程包括两个高层步骤或模块。第一步涉及通过充分深度的卷积神经网络(在此也称为区域生成网络(RPN))来识别或隔离输入图像中各种提议的兴趣区域。第一步由游戏桌RPN920和投入对象RPN 940执行。第二步涉及使用RPN标识的提议兴趣区域,以便基于更快的R-CNN对象检测器执行对象检测。该步骤由游戏桌对象检测网络930和投入对象检测网络950执行。
RPN 920和RPN 940可以将图像作为输入并且作为输出来产生一个或多个对象提议。每个对象提议可以包括图像上的坐标,该图像可以定义兴趣区域与检测到的对象的矩形边界,以及相关联的对象得分,该对象得分反映出一类对象可能存在兴趣区域的可能性。该对象类别可以包括纸牌,投入对象或玩家或其他相关感兴趣的对象,以便根据RPN可能经过的训练进行检测。
RPN在对象建议中标识的兴趣区域可能重叠,或者一个兴趣区域可能被另一个兴趣区域完全包围。兴趣区域可以具有变化的纵横比,以更好地逼近对象建议标识的对象的形状。
训练神经网络模块
在可以使用RPN或Fast R-CNN在游戏桌或游戏台上执行对象检测之前,要对神经网络进行基于大量训练数据集的训练。几种已知的有监督的训练方法中的一种或多种可以用于训练相关的神经网络。训练数据集可以包括几个图像,其中兴趣区域的边界和每个兴趣区域中的对象标识可能已经被手动识别和记录。可以通过限定兴趣区域的矩形的四个点的坐标来记录兴趣区域的边界。
图10的流程图1000示出了可以由一些实施例实现的用于CNN的训练技术或过程。可以实施该训练方法以训练诸如游戏桌RPN 920或投入对象RPN 940之类的RPN。该训练方法可以被实施以训练诸如游戏桌对象检测网络930或投入对象检测网络950之类的对象检测网络。
以下示出了可用于执行方法1000的合适硬件和软件的示例,其用于训练,测试和运行深度学习对象检测。
硬件:
a.CPU为四核的Intel i7 7700k。
b.内存为16GB。
C.GPU为双GTX 1080Ti,每个有12GB内存。
软件:可用Tensorflow框架完成训练和推理过程。
a.Tensorboard:用于监视网络的培训和评估。
b.模型:Tensorflow开源社区驱动的模型GitHub存储库。
C.预训练模型:Tensorflow提供了一些预训练模型。这些模型是在大型数据集上训练的,该数据集具有从飞机到狗的数千种不同类别。一些流行的数据集包括MSCOCO(网址为http://cocodataset.org/)和Pascal VOC(网址为http://host.robots.ox.ac.uk/pascal/VOC/)。这样可以微调模型以适合任何任务。这个过程称为转移学习。
d.谷歌电脑云引擎:如果正在使用所有本地资源,则可以在谷歌电脑云引擎上部署培训作业。
训练Tensorflow对象检测(OD)模型(作为示例模型)所需的信息是:
图像数据;
图像的高度,宽度和深度;
对象名称(牌,代币,人)和图像中的边界框坐标(xmin,ymin,xmax,ymax);和
可以使用其他参数,例如困难对象,分段等,但主要用于数据库评估。
Pascal VOC格式(http://host.robots.ox.ac.uk/pascal/VOC/)是用于打包单个图像的OD信息的合适XML格式。
作为第一步骤1010,在一些实施例中,可以使用参数或权重来初始化CNN,这些参数或权重可以通过从高斯分布中绘制而随机生成。备选地,在一些实施例中,先前训练的CNN可以用于发起训练。作为示例,为了训练RPN,可以在所有训练图像1020中标识一个或多个地面真实区域或框。地面真实区域或框标识训练图像中的对象及其边界。训练图像可以作为输入传递到初始化的RPN,以获得潜在的兴趣区域作为输出。
基于RPN或CNN的输出,可以在步骤1030计算损失函数或误差函数。损失函数的输出可以示出输入图像中的地面真值框或区域与由RPN或CNN制作的区域提议之间的差异。损失函数的输出可以在步骤1040处用于计算关于RPN或CNN中的权重的随机梯度下降。该误差梯度可以通过RPN或CNN反向传播,以调整权重,以使计算出的误差函数或损失函数最小化。可以使用多个(大量)输入图像继续该过程,直到在步骤1050耗尽训练数据集为止。
依靠上述误差或损失函数以及反向传播和随机梯度下降的原理,可以通过优化误差或损失函数来端对端地训练RPN或CNN以提高其准确性。在用大量训练数据集进行多次训练的交互之后,RPN或CNN可以可接受的准确性级别执行并且随后可以合并到神经网络模块528中。
游戏桌对象检测网络930和投入对象检测网络950可以按照相对于CNN或RPN所标识的相同原理进行训练,除了区别在于对象检测网络930和对象检测网络950接受标识的兴趣区域作为输入,而在兴趣对象区域中将一类对象的存在概率作为输出。
此外,可以结合游戏桌RPN 920和投入对象RPN 940对对象检测网络930和对象检测网络950进行训练,以允许两个网络之间共享卷积层,从而可以提高神经网络模块528的效率和准确性。联合训练可以包括两个网络的交替训练,并依赖于一个网络的输出作为另一个网络的输入。联合训练的另一种选择可以包括合并两个网络以形成单个网络,并在每次训练迭代中依靠反向传播和随机梯度分布来改变整个网络的权重。
为了准备用于训练机器学习或神经网络算法的大量数据集,可以在游戏桌上从游戏中拍摄的图像中手动绘制或标识兴趣区域。兴趣区域可以相关的标识符手动标记,例如投入对象,人物,纸牌或其他游戏对象,例如通过使用如图4C所示的注释或标记工具。合适的注释工具的一个示例是可通过GitHub访问的“Labellmg”工具,该工具以Pascal VOC格式提供每个文件的注释XML文件。此外,还可以通过使用相对于兴趣区域的标记工具进行手动标记来识别例如与困难物体或分割物体有关的附加参数。
训练数据集中的图像批注过程可以通过利用先前已训练神经网络或经过人工标注的图像训练的神经网络产生的输出来改进。可以手动修改由先前已训练神经网络或经过人工注释的图像训练的神经网络产生的输出,以校正兴趣区域的标识和兴趣区域中对象的身份方面的任何错误。校正后的输出可用作神经网络训练的下一个迭代的输入,以进一步提高结果的准确性。可以使用几个不同的数据集重复此反馈循环,以获得能够可靠地识别变化条件下的对象的鲁棒性神经网络。
可以通过对训练数据应用数据增强或其他技术来实现对神经网络的训练的进一步鲁棒性,例如:随机水平翻转输入图像;随机改变输入图像的亮度;通过设置缩放比例来随机缩放训练图像的大小;将随机彩色图像转换为灰度;或在用作RPN输入的对象输入区域的对象框尺寸中随机引入抖动或变化。可以在训练游戏桌RPN 920和/或投入对象RPN 940中应用一个或多个此类数据增强过程。
投入对象价值预测
图11中的流程图1100示出了根据一些实施例的总体游戏对象检测和投入对象价值预测过程或方法。该方法可以应用于接近实时拍摄的图像或从先前玩过的游戏存储的图像。第一步1102涉及检索可用作被训练游戏桌RPN 920的输入的图像帧。在步骤1106,已训练游戏桌RPN 920识别输入图像中的兴趣区域。作为示例,如果将图4A的图像帧用作输入,则可以生成图4B的屏幕快照中所示的图像帧作为输出,其显示了建议的兴趣区域421、422、423、425和427。
游戏桌RPN 920只能识别不超过特定数量的兴趣区域。为了保持游戏桌RPN 920的足够性能而在处理能力方面不需要计算装置130的过高配置,此约束是必需的。在一些实施例中,可以设置该约束以识别例如在30到70范围内的最大兴趣区域。在其他实施例中,例如可以设置该约束以识别最多40至60个兴趣区域。
一旦识别出提议的兴趣区域,则在步骤1110将与每个兴趣区域相对应的图像部分作为输入提供给游戏桌对象检测网络930。游戏桌对象检测网络930检测在兴趣区域422和兴趣区域421中的玩家。兴趣区域423和兴趣区域425由游戏桌对象检测网络930确定为包含纸牌对象。兴趣区域427由投入对象检测网络950确定为包含投入对象。在步骤1114,包含投入对象的兴趣区域前进到步骤1124。在其中检测到非投入对象的兴趣区域前进到步骤1120,在此记录检测到的对象的性质及其坐标。
投入对象可以包含一个代币或多个代币的堆栈。多个代币的堆栈可以包括各种面额的代币(即,各种相关联的代币值)。在大多数游戏场所中,代币或投入对象的面额是用代币的颜色指定或标识的,并且还通过代币边缘上的特定图案来指定或标识。代币或投入对象上的边缘模式可以对称地围绕或围绕代币或其他投入对象的圆周定位在多个(例如4个)不同点上。特定值的代币的边缘模式可以包括与不同值的代币的颜色或边缘模式不同的特定颜色的条纹或边缘模式。
本文所述的系统和技术假定游戏代币形式的游戏对象在平面图中将具有大致圆形的轮廓,并且在侧视图中具有大致均匀的深度或厚度,使得每个代币类似于一个短圆柱体(或圆柱体的高度远小于其直径)。
例如,面额为一单元的代币或投入对象可以是白色,也可以是单个灰色条纹。五单元面额的代币可能是红色的,带有黄色的条纹。代币的设计以及代表代币价值的特定颜色和边缘模式可能因一个游戏场所而异。然而,游戏监控系统100,特别是神经网络模块528可以配置为检测或识别要在其中部署系统100的游戏场所中代币的特定边缘模式。
为了预测游戏桌上的投入对象(代币)的堆栈的价值,需要识别每个单个代币的表面图案,例如外圆柱(环形)边缘上的图案。另外,对于代币堆栈中的顶部代币,与代币的值或定义代币值的顶面标记也可以被标识为一个或多个兴趣区域,从而可以使用这些区域来验证根据检测到的边缘模式确定的代币的值。顶部和边缘模式的识别可以通过一个投入对象RPN 940和一个投入对象检测网络950来完成。投入对象RPN 940和投入对象检测网络950可以采用与游戏桌RPN 920和游戏桌对象检测网络930相似的技术进行初始化和训练。但是,投入对象RPN 940在步骤1124中被训练以提出投入对象图像帧中的兴趣区域,包括覆盖或限制投入对象的堆栈中每个单个投入对象的边缘模式部分的兴趣区域,以及覆盖或限制该堆栈的顶部投入对象表面的兴趣区域。
投入对象RPN 940提议在单个投入对象上的边缘模式的一部分的兴趣区域,并且,在步骤1128中投入对象检测网络950标识所提议的兴趣区域的价值模式。该价值模式可以是与投入对象上的边缘模式的特定部分相联系的值,其边界由投入对象RPN 940所提议的兴趣区域来界定。神经网络模块528可以包括价值模式查找表1150,其通过投入对象检测网络950(包括顶部投入对象的顶部表面标记)来记录与特定可检测价值模式相关的面额值。价值模式查找表1150的内容可以在不同的游戏场所之间变化,以反映不同场所中的投入对象或代币上的不同设计和边缘模式。例如,图像框架1200可以是用于投入对象RPN 940的输入图像。边缘模式1210和1215可以反映与特定投入对象相关联的值,该特定投入对象是图像帧1200中的一连串投入对象的一部分。图13可以是投入对象RPN 940产生的输出图像,其具有不同的兴趣区域1310和1315来限定边缘模式的部分边界。
由投入对象RPN 940标识的兴趣区域只能是矩形,并且矩形的边缘必须与输入图像的边缘平行。但是,作为一个游戏代币的一个投入对象在某种程度上是圆形的(从抬高和倾斜位置来看当放到桌子上,例如从摄像机120和/或320),并且如果一个投入对象的整个边缘模式为包含在兴趣区域的矩形中,则矩形的(定义的)兴趣区域可以包括其他垂直或水平相邻的投入对象的边缘模式。这可能会降低投入检测网络950的性能准确性,因为在提议的兴趣区域中要识别的对象的隔离对于对象检测的准确性至关重要。为了克服这个问题,在步骤1128中投入对象RPN 940被训练以识别每个可见的边缘模式的末端,而不是将投入对象的整个边缘模式作为对象检测的对象。例如,在图像框1300中标识的兴趣区域1310和兴趣区域1315限制或仅覆盖投入对象上边缘模式的一部分。这样的边缘模式是独特的,并围绕代币的圆周间隔开,并被非图案化的边缘区域隔开。因此,被检测为边缘模式的可以是沿着代币的边缘从图案化区域到非图案化区域的过渡。
在步骤1132中,将检测到的价值模式(其可以是投入对象的边缘模式的一部分以及与边缘模式相关联的值)与价值模式查找表1150中的值进行比较,以预测在投入对象单个堆栈中的每一个单个投入对象的值。由神经网络模块528或另一软件模块520执行的处理将每个检测到的价值模式的相关代币值相加,以生成值确定结果。在步骤1132中,该结果用于预测整个堆栈或多个堆栈的投入对象(代币)的值。
在步骤1136中,中立网络模块528检查该系列中的下一图像帧是否表示游戏活动的结束。如果检测到游戏活动结束,则在步骤1140处,将关于游戏对象,玩家的数量和/或位置,以及投入对象的预测值的已存储观察结果通过消息代理服务器140来报告给数据库服务器150。如果未检测到游戏活动结束,则整个过程1100通过返回到步骤1102来继续处理下一图像帧。
当已训练神经网络通过神经网络模块528部署在计算装置130中时,其不一定是静态的或固定的。已部署神经网络可以基于在数据库服务器150上记录的数据进行后续训练,该记录的数据通过游戏监控系统100的实际操作获得。神经网络管理器服务器160可以通过网络链接137访问在数据库服务器150中的游戏对象检测数据和投入对象价值预测数据。基于该数据和可以随时间提供给神经网络管理器服务器160的附加校正数据,可以对已部署神经网络模块528进行进一步的训练。如果进一步的训练产生了优于当前已部署的一组神经网络的神经网络,则神经网络管理器服务器160可以用在后续训练后获得的性能更好的神经网络来替换已部署神经网络。该反馈可以进一步提高游戏监控系统100的准确性或性能。
在一些实施例中,游戏环境110可以包括装置,例如纸牌发牌盒或纸牌洗牌装置或纸牌交易装置(232)。通常,纸牌发牌盒或纸牌洗牌装置或交易装置包括用以验证该装置正在处理的纸牌的真实性的机构。验证机制可以就位以检测或防止进行纸牌交换,也就是玩家用伪造的纸牌替换真实的纸牌以影响游戏的结果。发牌盒或洗牌或交易装置还可以通过跟踪发牌顺序来验证发牌者发牌的过程。纸牌的发牌箱或洗牌装置的发牌可能依靠印在每张纸牌上的唯一代码。该唯一的代码由纸牌的发牌箱或洗牌装置读取,并且在发牌过程中没收检测到的伪造的牌。纸牌发牌盒或洗牌装置通常包括指示灯,例如LED灯(234)。指示灯的亮起可能表示游戏中出现差异或意外的牌或结果。指示灯通常位于游戏区域的主持人和普通公众可见的纸牌或洗牌装置的发牌箱的上部。
在一些实施例中,相机120可以定位以拍摄位于纸牌的发牌盒或洗牌装置上的指示灯的照明。计算装置130可以配置为评估或确定指示灯的照度,以识别出现差异,如由纸牌或洗牌或交易装置的发牌箱所指示的。评估或确定可以基于覆盖由照相机120拍摄的图像中的信号的像素的预定集合或区域。计算装置130可以通过消息代理服务器140通信并记录差异的发生,从而启用娱乐场所监控机构对差异的回应。
在一些实施例中,计算装置130可以配置为检测和识别游戏对象,包括纸牌或代币对象。纸牌或代币检测可以通过机器学习过程来实现。机器学习过程可包括已训练神经网络的实现,其执行功能来识别兴趣区域,基于多边形提取或掩模或图像分割来识别所识别的兴趣区域中的对象。在一些实施例中,可以实现掩模R-CNN以执行纸牌或代币检测的功能。
掩模R-CNN是一种卷积神经网络,其为对象实例的分割或掩模提供了框架。对象实例的分割或掩模允许识别对象以及与图像中已识别对象关联的所有像素。由已训练的掩模R-CNN标识的像素不必具有预定的矩形形状。由已训练的掩模R-CNN标识的像素会紧密预测所标识对象的轮廓。掩模R-CNN的优点之一是能够更准确地识别重叠的对象。在游戏表面上,玩家或主持人可以重叠的方式放置纸牌或代币。此外,当将纸牌或代币放置在游戏表面上时,其方向可能会有所变化,这使得精确的对象检测成为一个挑战。已训练的掩模R-CNN在预测纸牌或代币等物体时可提供更高的准确性。
掩码R–CNN具有与上述更快的R-CNN类似的结构。但是,除了更快的R-CNN中包含的结构之外,掩模R-CNN还包括分支或者掩模分支,其执行实例分割或掩模并输出掩模以标识输入图像中的每个像素是否是已标识的兴趣区域或对象。在一些实施例中,掩模的检测可以与对象的识别并行发生。掩模分支可以包括单独的完全卷积神经网络,其被应用于每个所识别的兴趣区域,从而以二进制掩模的形式在像素级别上产生分割掩模,其识别像素是否是被检测对象的一部分。
图14示出了根据一些实施例的用于掩模和检测诸如纸牌或代币的非投入对象的流程图1400。流程图1400包括图11的流程图1100的步骤1102、1106、1110和1114。此外,流程图1400包括用于非投入对象的图像分割和对象检测的步骤。在步骤1410,通过兴趣区域对准神经元层来处理在步骤1110中识别出的兴趣区域,以改善所识别出的兴趣区域的边界的对准,进而改善图像分割或掩膜处理的后续步骤。在步骤1420,通过已训练的掩模R-CNN处理对准的兴趣区域。在通过已训练的掩模R-CNN进行处理之后,在步骤1430产生针对在步骤1114所标识的每个非投入对象的二进制分割掩模的形式的输出。对于每个所标识的对象,输出可以是二进制分割掩模的形式,其中每个二进制分割掩码代表已拍摄图像中与标识的对象相关联的一组像素。
在步骤1440,通过已训练的对象分类器来处理与标识的二进制分割掩模相对应的已拍摄图像的区域。已训练的对象分类器进一步将识别出的对象分类在每个识别出的二进制分割掩模中。例如,对象分类器可以将对象分类为所识别的二进制分割掩模中的黑桃王牌。或者,对象分类器可以将对象分类为代币对象,例如特定单位的代币。可以由计算装置130存储与所识别和分类的对象有关的信息,或者替代地,计算装置130可以通过通信链接117将该信息发送到消息代理服务器140。玩家在游戏表面上持有的游戏表面或代币对象上显示的纸牌的信息,可以使过去的游戏事件与游戏结果记录进行核对。此外,在游戏表面上保留的代币对象的识别可以允许在无法通过检测投入对象来评估的桌子上评估投入活动。
可以使用胶囊神经网络或使用残差学习框架来训练的初始神经网络或深层神经网络来执行步骤1440的对象分类。
图15示出了根据一些实施例的投入对象区域检测的结果的屏幕截图1500。一些实施例的投入对象RPN 940可以被另外训练以检测用于投入对象堆栈或投入对象区域的顶部投入对象1520和基础区域1530。例如,在屏幕截图1500中,顶部的投入对象1520和投入对象基本区域1530被投入对象RPN 940检测到。投入对象RPN 940还检测到作为投入对象的堆栈一部分的投入对象的边缘模式1510。顶部投入对象1520和投入对象基础区域1530用作整个投入对象检测的锚点,从而提高了整个投入对象检测过程的准确性和性能,并且还提供了用于验证结果的手段。
本领域技术人员将认识到,在不脱离本公开的广泛一般范围的情况下,可以对上述实施例进行多种变化和/或修改。因此,本申请实施例在所有方面都应被认为是说明性的而不是限制性的。
Claims (28)
1.一种游戏监控系统,包括:
配置为拍摄游戏表面图像的至少一个相机;和
与所述至少一个相机通信的计算装置,所述计算装置配置为分析所述游戏表面的已拍摄图像从而自动应用机器学习过程来识别所述已拍摄图像中的游戏对象、游戏活动和玩家。
2.根据权利要求1所述的系统,其中所述机器学习过程通过一个或多个神经网络来实现。
3.根据权利要求2所述的系统,其中所述一个或多个神经网络包括一个或多个深层神经网络。
4.根据权利要求3所述的系统,其中所述一个或多个深层神经网络包括一个或多个卷积神经网络。
5.根据权利要求4所述的系统,其中所述一个或多个卷积神经网络中的至少一个包括区域生成网络。
6.根据权利要求4所述的系统,其中所述一个或多个卷积神经网络中的至少一个包括对象检测网络。
7.根据权利要求1至6中的任一项所述的系统,其中所述至少一个相机配置为拍摄高分辨率图像。
8.根据权利要求1至7中的任一项所述的系统,其中所述游戏对象包括纸牌、位置标记中的至少一个。
9.根据权利要求1至8中的任一项所述的系统,其中所述游戏对象包括一个或多个投入对象的一个或多个堆栈。
10.根据权利要求9所述的系统,其中所述计算装置进一步配置为通过以下方式自动识别和预测一个或多个投入对象的每个堆栈的值:
使用已训练第一区域生成网络在所述已拍摄图像中识别与一个游戏对象相关的一个或多个第一兴趣区域;
使用已训练第一对象检测网络在所述一个或多个第一兴趣区域中识别与一个或多个投入对象的单个堆栈有关的第一兴趣区域子集;
使用已训练第二区域生成网络在每个已识别的第一兴趣区域子集中识别一个或多个第二兴趣区域,该一个或多个第二兴趣区域与位于组成所述一个或多个投入对象的单个堆栈的部分的每一个投入对象上的边缘模式的部分有关;
使用已训练第二对象检测网络在所述一个或多个第二兴趣区域的每一个中识别价值模式;以及
使用已识别价值模式和查找表预测在所述第一兴趣区域子集的每一个中的所述一个或多个投入对象的单个堆栈的总投入值。
11.根据权利要求11所述的系统,进一步包括将所述一个或多个第一兴趣区域中的每一个与投入区域标识符相关联。
12.根据权利要求1至12中的任一项所述的系统,其中所述计算装置配置为基于存储在所述计算装置可访问的数据存储中的游戏开始和结束触发配置来识别游戏开始和结束。
13.根据权利要求2所述的系统,其中所述一个或多个神经网络包括更快的基于区域的卷积神经网络。
14.一种方法,包括:
训练神经网络系统用于:处理游戏桌的已拍摄图像,识别所述已拍摄图像中的游戏投入对象,以及计算所述已拍摄图像中的已识别投入对象的值。
15.一种方法,包括:
通过已训练神经网络处理游戏桌的已拍摄图像以便识别所述已拍摄图像中的游戏投入对象;
识别与所述已拍摄图像中识别的每个游戏投入对象相关的值;以及
基于所述已识别游戏投入对象的识别值来确定游戏投入值。
16.根据权利要求16所述的方法,其中所述处理步骤在所述游戏桌上的多个独特投入区域中的至少一个中识别游戏投入对象。
17.根据权利要求17所述的方法,其中所述确定步骤包括:针对在所述已拍摄图像中识别的游戏对象的每个独特投入区域来确定总游戏投入。
18.一种方法,包括使用已训练神经网络来识别游戏桌的已拍摄图像中的投入对象的投入对象价值。
19.一种计算机系统或装置,配置为执行用于游戏对象识别的神经网络系统,包括:
至少一个处理器;
所述至少一个处理器可访问的内存,其存储代码以便执行:
投入对象区域生成网络(RPN)从所述游戏桌的已拍摄图像中接收图像数据,和
投入对象检测网络接收所述投入对象RPN的输出;
其中所述投入对象检测网络基于所述投入对象检测网络的输出来检测所述已拍摄图像中的一个或多个投入对象。
20.根据权利要求20所述的计算机系统或装置,还包括:
用于从游戏桌的已拍摄图像中接收图像数据的游戏桌区域生成网络(RPN);
用于接收所述游戏桌RPN的输出的游戏桌对象检测网络;
其中所述游戏桌对象检测网络基于所述游戏桌对象检测网络的输出来检测所述已拍摄图像中的一个或多个游戏对象,其中所述一个或多个游戏对象与所述一个或多个投入对象不同。
21.一种系统,包括至少一个计算机处理器和内存,其配置用于执行权利要求15至19中的任一项所述的方法。
22.根据权利要求1至14中的任一项所述的游戏监控系统,其中所述计算装置进一步配置为确定所述游戏表面上的交易装置上的指示器的照明。
23.根据权利要求1至14中的任一项所述的游戏监控系统,其中所述至少一个相机和所述计算装置是智能手机的一部分。
24.根据权利要求4所述的游戏监控系统,其中所述一个或多个卷积神经网络包括用于执行图像分割以确定所述已拍摄图像中的游戏对象的轮廓的卷积神经网络。
25.根据权利要求25所述的游戏监控系统,其中用于执行图像分割的所述卷积神经网络是Mask R-CNN。
26.根据权利要求25所述的游戏监控系统,其中所述一个或多个卷积神经网络包括游戏对象分类器神经网络,其配置为将所述游戏对象分类为所述已确定轮廓。
27.有形的计算机可读存储器,其存储程序代码,该程序代码在由计算机系统执行时使该计算机系统执行根据权利要求15至19中任一项所述的方法。
28.本文公开的或在本申请的说明书中单独或共同指示的步骤、过程、子过程、系统、子系统、装置、基础设施、设置和/或布置,以及以下两个或多个的任何和所有组合:所述步骤、过程、子过程、系统、子系统、装置、基础设施、设置和/或布置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
AU2017903975 | 2017-10-02 | ||
AU2017903975A AU2017903975A0 (en) | 2017-10-02 | System and method for machine learning-driven object detection | |
PCT/AU2018/051071 WO2019068141A1 (en) | 2017-10-02 | 2018-10-02 | AUTOMATIC LEARNING GUIDED OBJECT DETECTION SYSTEM AND METHOD |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111971685A true CN111971685A (zh) | 2020-11-20 |
Family
ID=65994171
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201880069918.8A Pending CN111971685A (zh) | 2017-10-02 | 2018-10-02 | 机器学习驱动的对象检测系统和方法 |
Country Status (11)
Country | Link |
---|---|
US (2) | US11288508B2 (zh) |
EP (1) | EP3692470A4 (zh) |
JP (1) | JP7246382B2 (zh) |
KR (1) | KR102501264B1 (zh) |
CN (1) | CN111971685A (zh) |
AU (6) | AU2018344762B2 (zh) |
CA (1) | CA3078245A1 (zh) |
CL (1) | CL2020000890A1 (zh) |
PH (1) | PH12020550496A1 (zh) |
WO (1) | WO2019068141A1 (zh) |
ZA (1) | ZA202002357B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113546398A (zh) * | 2021-07-30 | 2021-10-26 | 重庆五诶科技有限公司 | 基于人工智能算法的棋牌游戏方法及系统 |
US11295431B2 (en) | 2019-12-23 | 2022-04-05 | Sensetime International Pte. Ltd. | Method and apparatus for obtaining sample images, and electronic device |
Families Citing this family (43)
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 |
US11488369B2 (en) | 2017-02-07 | 2022-11-01 | Teledyne Flir Detection, Inc. | Systems and methods for identifying threats and locations, systems and method for augmenting real-time displays demonstrating the threat location, and systems and methods for responding to threats |
WO2018148316A1 (en) * | 2017-02-07 | 2018-08-16 | Flir Detection, Inc. | Systems and methods for identifying threats and locations, systems and method for augmenting real-time displays demonstrating the threat location, and systems and methods for responding to threats |
KR102501264B1 (ko) * | 2017-10-02 | 2023-02-20 | 센센 네트웍스 그룹 피티와이 엘티디 | 기계 학습 기반의 개체 검출을 위한 시스템 및 방법 |
US10943681B2 (en) | 2018-11-21 | 2021-03-09 | Enlitic, Inc. | Global multi-label generating system |
KR20210118435A (ko) * | 2019-01-31 | 2021-09-30 | 엔제루 구루푸 가부시키가이샤 | 관리 시스템 |
US11165954B1 (en) * | 2019-06-19 | 2021-11-02 | Objectvideo Labs, Llc | Scene-aware custom tuned video surveillance detection system |
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 |
US11025500B2 (en) * | 2019-07-17 | 2021-06-01 | International Business Machines Corporation | Provisioning infrastructure from visual diagrams |
US11468550B2 (en) | 2019-07-22 | 2022-10-11 | Adobe Inc. | Utilizing object attribute detection models to automatically select instances of detected objects in images |
US11107219B2 (en) | 2019-07-22 | 2021-08-31 | Adobe Inc. | Utilizing object attribute detection models to automatically select instances of detected objects in images |
US11183012B2 (en) | 2019-08-19 | 2021-11-23 | Sg Gaming, Inc. | Systems and methods of automated linking of players and gaming tokens |
CN111062237A (zh) * | 2019-09-05 | 2020-04-24 | 商汤国际私人有限公司 | 识别图像中的序列的方法及装置、电子设备和存储介质 |
US11620814B2 (en) * | 2019-09-12 | 2023-04-04 | Nec Corporation | Contextual grounding of natural language phrases in images |
US12008790B2 (en) | 2019-09-24 | 2024-06-11 | Apple Inc. | Encoding three-dimensional data for processing by capsule neural networks |
CN111062401A (zh) * | 2019-09-27 | 2020-04-24 | 商汤国际私人有限公司 | 堆叠物体的识别方法及装置、电子设备和存储介质 |
US11398127B2 (en) | 2019-10-07 | 2022-07-26 | Sg Gaming, Inc. | Gaming systems and methods using image analysis authentication |
US10990876B1 (en) | 2019-10-08 | 2021-04-27 | UiPath, Inc. | Detecting user interface elements in robotic process automation using convolutional neural networks |
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 |
US11250572B2 (en) * | 2019-10-21 | 2022-02-15 | Salesforce.Com, Inc. | Systems and methods of generating photorealistic garment transference in images |
US11157783B2 (en) | 2019-12-02 | 2021-10-26 | UiPath, Inc. | Training optical character detection and recognition models for robotic process automation |
US11308634B2 (en) * | 2020-02-05 | 2022-04-19 | Datalogic Ip Tech S.R.L. | Unsupervised anchor handling for machine vision system |
US11468110B2 (en) | 2020-02-25 | 2022-10-11 | Adobe Inc. | Utilizing natural language processing and multiple object detection models to automatically select objects in images |
CN111414482B (zh) * | 2020-03-20 | 2024-02-20 | 北京百度网讯科技有限公司 | 一种事件论元抽取方法、装置以及电子设备 |
US11861975B2 (en) * | 2020-03-30 | 2024-01-02 | Lnw Gaming, Inc. | Gaming environment tracking optimization |
CN111611925A (zh) * | 2020-05-21 | 2020-09-01 | 重庆现代建筑产业发展研究院 | 一种建筑物检测与识别方法及装置 |
AU2021305841A1 (en) * | 2020-07-07 | 2023-03-16 | Arb Labs Inc. | Systems and methods for tracking gaming activity |
US11495085B2 (en) | 2020-07-13 | 2022-11-08 | Sg Gaming, Inc. | Gaming environment tracking system calibration |
JP7250924B2 (ja) | 2020-08-01 | 2023-04-03 | 商▲湯▼国▲際▼私人有限公司 | 目標対象認識方法、装置、及びシステム |
CN111709951B (zh) * | 2020-08-20 | 2020-11-13 | 成都数之联科技有限公司 | 目标检测网络训练方法及系统及网络及装置及介质 |
US11551518B2 (en) * | 2020-08-27 | 2023-01-10 | Christopher Akers | Card advantage tracking systems and methods |
CN112256878B (zh) * | 2020-10-29 | 2024-01-16 | 沈阳农业大学 | 一种基于深度卷积的水稻知识文本分类方法 |
US11587234B2 (en) | 2021-01-15 | 2023-02-21 | Adobe Inc. | Generating class-agnostic object masks in digital images |
US11972569B2 (en) * | 2021-01-26 | 2024-04-30 | Adobe Inc. | Segmenting objects in digital images utilizing a multi-object segmentation model framework |
CN114821288A (zh) * | 2021-01-29 | 2022-07-29 | 中强光电股份有限公司 | 图像辨识方法以及无人机系统 |
AU2021106867A4 (en) * | 2021-06-10 | 2021-12-02 | Angel Group Co., Ltd. | Efficient gaming monitoring using machine learning |
CN113329797A (zh) * | 2021-06-14 | 2021-08-31 | 商汤国际私人有限公司 | 游戏状态控制方法、装置、设备及存储介质 |
KR20230000404A (ko) | 2021-06-23 | 2023-01-02 | 센스타임 인터내셔널 피티이. 리미티드. | 데이터 처리 방법 및 장치, 전자 기기, 저장 매체 |
CN113625740B (zh) * | 2021-08-27 | 2024-02-27 | 北京航空航天大学 | 一种基于迁移学习鸽群优化的无人机空战博弈方法 |
AU2021240270A1 (en) * | 2021-09-13 | 2023-03-30 | Sensetime International Pte. Ltd. | Data processing methods, apparatuses and systems, media and computer devices |
JP2024503764A (ja) * | 2021-12-17 | 2024-01-29 | センスタイム インターナショナル プライベート リミテッド | ゲームエリアタイプの認識方法及び装置、機器、記憶媒体 |
WO2024057084A1 (en) * | 2022-09-12 | 2024-03-21 | L&T Technology Services Limited | Method and system for image processing and classifying target entities within image |
CN116434316B (zh) * | 2023-04-14 | 2023-11-14 | 深圳市凌壹科技有限公司 | 基于x86工控主板的身份识别方法、装置、设备及介质 |
Family Cites Families (61)
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 |
WO2002005914A1 (en) | 2000-07-14 | 2002-01-24 | Smart Shoes, Inc. | System including card game dispensing shoe with barrier and scanner, and enhanced card gaming table, enabling waging by remote bettors |
AU2001283117A1 (en) * | 2000-08-04 | 2002-02-18 | Anthony J. Beavers | System and method of data handling for table games |
US20060128472A1 (en) * | 2000-08-04 | 2006-06-15 | Anthony Beavers | System and method of data handling for table games |
US8267767B2 (en) * | 2001-08-09 | 2012-09-18 | Igt | 3-D reels and 3-D wheels in a gaming machine |
AU2005236894A1 (en) * | 2004-04-15 | 2005-11-03 | Bally Gaming International, Inc. | Systems and methods for scanning gaming chips placed on a gaming table |
US7901285B2 (en) * | 2004-05-07 | 2011-03-08 | Image Fidelity, LLC | Automated game monitoring |
US20060252554A1 (en) * | 2005-05-03 | 2006-11-09 | Tangam Technologies Inc. | Gaming object position analysis and tracking |
US20070077987A1 (en) | 2005-05-03 | 2007-04-05 | Tangam Gaming Technology Inc. | Gaming object recognition |
JP2009521247A (ja) | 2005-10-28 | 2009-06-04 | リアル・ヴィデオ・ゲーミング,インク | リアルビデオゲーミングの方法およびシステム |
US8021231B2 (en) * | 2005-12-02 | 2011-09-20 | Walker Digital, Llc | Problem gambling detection in tabletop games |
US8147316B2 (en) * | 2006-10-10 | 2012-04-03 | Wms Gaming, Inc. | Multi-player, multi-touch table for use in wagering game systems |
US20170337711A1 (en) * | 2011-03-29 | 2017-11-23 | Lyrical Labs Video Compression Technology, LLC | Video processing and encoding |
US9592450B2 (en) * | 2012-04-25 | 2017-03-14 | Fresh Ideal Global Limited | Electronic gaming device |
US9595166B2 (en) * | 2012-04-25 | 2017-03-14 | Fresh Ideal Global Limited | Electronic gaming device |
US10657694B2 (en) * | 2012-10-15 | 2020-05-19 | Tangible Play, Inc. | Activity surface detection, display and enhancement of a virtual scene |
US9978202B2 (en) * | 2014-02-14 | 2018-05-22 | Igt Canada Solutions Ulc | Wagering gaming apparatus for detecting user interaction with game components in a three-dimensional display |
WO2015189686A1 (en) * | 2014-06-13 | 2015-12-17 | Deq Systems Corporation | Gaming devices with graphene ink enabled features |
GB2532075A (en) * | 2014-11-10 | 2016-05-11 | Lego As | System and method for toy recognition and detection based on convolutional neural networks |
US20180034852A1 (en) * | 2014-11-26 | 2018-02-01 | Isityou Ltd. | Anti-spoofing system and methods useful in conjunction therewith |
US9430766B1 (en) * | 2014-12-09 | 2016-08-30 | A9.Com, Inc. | Gift card recognition using a camera |
US9811732B2 (en) * | 2015-03-12 | 2017-11-07 | Qualcomm Incorporated | Systems and methods for object tracking |
US10410066B2 (en) * | 2015-05-29 | 2019-09-10 | Arb Labs Inc. | Systems, methods and devices for monitoring betting activities |
US10096206B2 (en) * | 2015-05-29 | 2018-10-09 | Arb Labs Inc. | Systems, methods and devices for monitoring betting activities |
KR102305619B1 (ko) * | 2015-08-03 | 2021-09-27 | 엔제루 구루푸 가부시키가이샤 | 테이블 게임의 관리 시스템, 유기용 대용 화폐, 검사 장치, 유기용 대용 화폐의 관리 시스템 |
AU2016302657A1 (en) | 2015-08-03 | 2018-02-22 | Angel Playing Cards Co., Ltd. | Fraud detection system at game parlor |
CN115624738A (zh) | 2015-08-03 | 2023-01-20 | 天使集团股份有限公司 | 游戏币、检查装置、游戏币的制造方法以及桌面游戏的管理系统 |
AU2015261614A1 (en) | 2015-09-04 | 2017-03-23 | Musigma Business Solutions Pvt. Ltd. | Analytics system and method |
US9965719B2 (en) | 2015-11-04 | 2018-05-08 | Nec Corporation | Subcategory-aware convolutional neural networks for object detection |
US9858496B2 (en) | 2016-01-20 | 2018-01-02 | Microsoft Technology Licensing, Llc | Object detection and classification in images |
US10650550B1 (en) * | 2016-03-30 | 2020-05-12 | Visualimits, Llc | Automatic region of interest detection for casino tables |
US20170300116A1 (en) * | 2016-04-15 | 2017-10-19 | Bally Gaming, Inc. | System and method for providing tactile feedback for users of virtual reality content viewers |
SG11201809960YA (en) * | 2016-05-16 | 2018-12-28 | Sensen Networks Group Pty Ltd | System and method for automated table game activity recognition |
US11752295B2 (en) * | 2016-09-30 | 2023-09-12 | Sony Interactive Entertainment Inc. | Method and system for classifying virtual reality (VR) content based on modeled discomfort of a user |
CN110235138B (zh) * | 2016-12-05 | 2023-09-05 | 摩托罗拉解决方案公司 | 用于外观搜索的系统和方法 |
CN108229488B (zh) * | 2016-12-27 | 2021-01-01 | 北京市商汤科技开发有限公司 | 用于检测物体关键点的方法、装置及电子设备 |
US20180204411A1 (en) * | 2017-01-17 | 2018-07-19 | Stanley Deck | Dual gaming element system and method |
CN116363808A (zh) * | 2017-01-24 | 2023-06-30 | 天使集团股份有限公司 | 筹码的识别学习系统 |
US10360732B2 (en) * | 2017-03-23 | 2019-07-23 | Intel Corporation | Method and system of determining object positions for image processing using wireless network angle of transmission |
US10574650B2 (en) * | 2017-05-17 | 2020-02-25 | Bank Of America Corporation | System for electronic authentication with live user determination |
US10489656B2 (en) * | 2017-09-21 | 2019-11-26 | NEX Team Inc. | Methods and systems for ball game analytics with a mobile device |
KR102501264B1 (ko) * | 2017-10-02 | 2023-02-20 | 센센 네트웍스 그룹 피티와이 엘티디 | 기계 학습 기반의 개체 검출을 위한 시스템 및 방법 |
US10930120B1 (en) * | 2017-11-22 | 2021-02-23 | Generation Z, LLC | Electronic gaming systems and integration with third-party providers of proposition player services |
US10902051B2 (en) * | 2018-04-16 | 2021-01-26 | Microsoft Technology Licensing, Llc | Product identification in image with multiple products |
US10249140B1 (en) * | 2018-05-10 | 2019-04-02 | Huuuge Global Ltd. | System and method for playing online game |
KR20210007995A (ko) * | 2018-05-14 | 2021-01-20 | 엔제루 프레잉구 카도 가부시키가이샤 | 테이블 게임의 관리 시스템 및 게임 관리 시스템 |
US10733480B2 (en) * | 2018-07-18 | 2020-08-04 | Adobe Inc. | Custom Auto Tagging of Multiple Objects |
US10452959B1 (en) * | 2018-07-20 | 2019-10-22 | Synapse Tehnology Corporation | Multi-perspective detection of objects |
US10740637B2 (en) * | 2018-09-18 | 2020-08-11 | Yoti Holding Limited | Anti-spoofing |
US11410496B2 (en) * | 2018-09-21 | 2022-08-09 | Scientific Games, Llc | System and method for collecting and using filtered facial biometric data |
US11640750B2 (en) * | 2018-10-05 | 2023-05-02 | Konami Gaming, Inc. | Gaming machine, control method for machine, and program for gaming machine |
US11301683B2 (en) * | 2018-10-10 | 2022-04-12 | Autodesk, Inc. | Architecture, engineering and construction (AEC) construction safety risk analysis system and method for interactive visualization and capture |
US11682257B2 (en) * | 2018-11-29 | 2023-06-20 | Nrt Technology Corp. | Intelligent table game and methods thereof |
US10950095B2 (en) * | 2019-02-14 | 2021-03-16 | Igt | Providing mixed reality sporting event wagering, and related systems, methods, and devices |
US11376500B2 (en) * | 2019-02-27 | 2022-07-05 | Nvidia Corporation | Gamer training using neural networks |
EP3935581A4 (en) * | 2019-03-04 | 2022-11-30 | Iocurrents, Inc. | DATA COMPRESSION AND COMMUNICATION USING MACHINE LEARNING |
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 |
US20210097278A1 (en) * | 2019-09-27 | 2021-04-01 | Sensetime International Pte. Ltd. | Method and apparatus for recognizing stacked objects, and storage medium |
US11398127B2 (en) * | 2019-10-07 | 2022-07-26 | Sg Gaming, Inc. | Gaming systems and methods using image analysis authentication |
JP2021079087A (ja) * | 2019-11-14 | 2021-05-27 | エンゼルプレイングカード株式会社 | ゲームシステム |
US11961355B2 (en) * | 2021-05-25 | 2024-04-16 | Lnw Gaming, Inc. | Controlling a network card game |
-
2018
- 2018-10-02 KR KR1020207012519A patent/KR102501264B1/ko active IP Right Grant
- 2018-10-02 AU AU2018344762A patent/AU2018344762B2/en active Active
- 2018-10-02 US US16/652,837 patent/US11288508B2/en active Active
- 2018-10-02 CN CN201880069918.8A patent/CN111971685A/zh active Pending
- 2018-10-02 WO PCT/AU2018/051071 patent/WO2019068141A1/en unknown
- 2018-10-02 CA CA3078245A patent/CA3078245A1/en active Pending
- 2018-10-02 EP EP18863907.4A patent/EP3692470A4/en active Pending
- 2018-10-02 JP JP2020518771A patent/JP7246382B2/ja active Active
-
2020
- 2020-04-02 CL CL2020000890A patent/CL2020000890A1/es unknown
- 2020-04-27 PH PH12020550496A patent/PH12020550496A1/en unknown
- 2020-05-04 ZA ZA2020/02357A patent/ZA202002357B/en unknown
-
2021
- 2021-05-12 US US17/318,092 patent/US11694336B2/en active Active
- 2021-05-21 AU AU2021102736A patent/AU2021102736A4/en active Active
- 2021-05-21 AU AU2021102739A patent/AU2021102739A4/en active Active
- 2021-05-21 AU AU2021102740A patent/AU2021102740A4/en active Active
- 2021-05-21 AU AU2021102737A patent/AU2021102737A4/en active Active
-
2022
- 2022-12-20 AU AU2022291472A patent/AU2022291472A1/en active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11295431B2 (en) | 2019-12-23 | 2022-04-05 | Sensetime International Pte. Ltd. | Method and apparatus for obtaining sample images, and electronic device |
CN113546398A (zh) * | 2021-07-30 | 2021-10-26 | 重庆五诶科技有限公司 | 基于人工智能算法的棋牌游戏方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
US20200302168A1 (en) | 2020-09-24 |
KR20200104853A (ko) | 2020-09-04 |
US20210264149A1 (en) | 2021-08-26 |
CA3078245A1 (en) | 2019-04-11 |
ZA202002357B (en) | 2021-10-27 |
EP3692470A4 (en) | 2021-08-11 |
US11694336B2 (en) | 2023-07-04 |
JP7246382B2 (ja) | 2023-03-27 |
AU2022291472A1 (en) | 2023-02-02 |
WO2019068141A1 (en) | 2019-04-11 |
JP2020536324A (ja) | 2020-12-10 |
PH12020550496A1 (en) | 2021-03-22 |
AU2021102736A4 (en) | 2021-07-08 |
KR102501264B1 (ko) | 2023-02-20 |
AU2021102737A4 (en) | 2021-07-08 |
AU2018344762A1 (en) | 2020-05-14 |
US11288508B2 (en) | 2022-03-29 |
AU2018344762B2 (en) | 2022-09-22 |
AU2021102739A4 (en) | 2021-07-15 |
AU2021102740A4 (en) | 2021-07-15 |
EP3692470A1 (en) | 2020-08-12 |
CL2020000890A1 (es) | 2020-11-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102501264B1 (ko) | 기계 학습 기반의 개체 검출을 위한 시스템 및 방법 | |
JP7134871B2 (ja) | 自動テーブルゲーム行動認識のためのシステム、コンピュータ読取可能媒体、および方法 | |
US20240046739A1 (en) | System and method for synthetic image training of a machine learning model associated with a casino table game monitoring system | |
US20170304732A1 (en) | System and method for toy recognition | |
US20120040727A1 (en) | Table game tracking | |
AU2006201849A1 (en) | Gaming object position analysis and tracking | |
CN113926176A (zh) | 游戏环境跟踪系统校准 | |
JP2024016049A (ja) | ゲーミングチップの計数 | |
US20230196827A1 (en) | Gaming activity monitoring systems and methods | |
AU2021106867A4 (en) | Efficient gaming monitoring using machine learning | |
Ranasinghe et al. | ChessEye: An integrated framework for accurate and efficient chessboard reconstruction | |
US20230230439A1 (en) | Animating gaming-table outcome indicators for detected randomizing-game-object states | |
Syed et al. | DeepGamble: Towards unlocking real-time player intelligence using multi-layer instance segmentation and attribute detection |
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 | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20231120 Address after: Shiga Applicant after: Angel Group Co.,Ltd. Address before: Victoria, Australia Applicant before: Sensen Networks Group Pty Ltd. |
|
TA01 | Transfer of patent application right |