KR20200104853A - 기계 학습 기반의 개체 검출을 위한 시스템 및 방법 - Google Patents

기계 학습 기반의 개체 검출을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR20200104853A
KR20200104853A KR1020207012519A KR20207012519A KR20200104853A KR 20200104853 A KR20200104853 A KR 20200104853A KR 1020207012519 A KR1020207012519 A KR 1020207012519A KR 20207012519 A KR20207012519 A KR 20207012519A KR 20200104853 A KR20200104853 A KR 20200104853A
Authority
KR
South Korea
Prior art keywords
wager
game
entity
entities
gaming
Prior art date
Application number
KR1020207012519A
Other languages
English (en)
Other versions
KR102501264B1 (ko
Inventor
낫 보
수바쉬 찰라
루이스 퀸
Original Assignee
센센 네트웍스 그룹 피티와이 엘티디
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 AU2017903975A external-priority patent/AU2017903975A0/en
Application filed by 센센 네트웍스 그룹 피티와이 엘티디 filed Critical 센센 네트웍스 그룹 피티와이 엘티디
Publication of KR20200104853A publication Critical patent/KR20200104853A/ko
Application granted granted Critical
Publication of KR102501264B1 publication Critical patent/KR102501264B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • 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/3204Player-machine interfaces
    • G07F17/3206Player sensing means, e.g. presence detection, biometrics
    • G06K9/00711
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/12Edge-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06K9/00369
    • G06K9/00771
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/136Segmentation; Edge detection involving thresholding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/155Segmentation; Edge detection involving morphological operators
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/103Static body considered as a whole, e.g. static pedestrian or occupant recognition
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/183Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30221Sports video; Sports image
    • 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/3244Payment aspects of a gaming system, e.g. payment schemes, setting payout ratio, bonus or consolation prizes
    • G07F17/3248Payment 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

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

기계 학습 기반의 개체 검출을 위한 시스템 및 방법
설명되는 실시 예들은 일반적으로는 기계 학습 기반의 개체 검출을 위한 시스템 및 방법에 관한 것이다. 일부 실시 예들은 이러한 개체 검출을 테이블 게임들의 모니터링에 적용한다. 특정 실시 예들은 게이밍 회장(gaming venue)들에서 테이블 게임들의 이벤트들을 모니터링하기 위한 시스템 및 방법에 관한 것이다.
카지노 및 다른 그러한 장소는 현재 플레이어들을 모니터링하고 그들의 비즈니스 전략을 계획하기 위한 노력으로 감시 기술 및 다른 관리 소프트웨어를 사용하고 있다. 이들은 실시간 행동 분석, 알고리즘(또는 프로세스), 및 플레이어 추적 기법을 효율적으로 사용하여 플레이어 수익을 극대화하고 사무(staffing)를 최적화하며 회장 바닥 공간을 회장 수익을 극대화하는 게임들의 유형들에 할당함을 최적화한다. 대부분의 카지노 출입자는 코인, 지폐 또는 티켓 대신 플레이어 카드들을 사용해야 로열티 프로그램에 참여한다. 이를 통해 카지노는 개별 갬블링 행위를 기록 및 분석하고, 플레이어 프로필들을 작성하며, 각각의 갬블러 베트 금액, 승패, 슬롯 머신 버튼을 누르는 속도와 같은 것들을 기록할 수 있는 기회를 제공하였다. 그러나 테이블 게임은 슬롯 머신이나 버튼 작동식 게이밍 머신보다 덜 용이하게 모니터링된다.
테이블 게임을 모니터링 및 관리하기 위한 시스템은 전형적으로 설치 및 유지보수 비용이 많이 드는 것으로 입증되었으며, 실제로 유용할 정도로 필요한 정확도 수준을 달성하지 못하였다. 다른 옵션들로는 카지노 칩 및 기타 오프라인 바닥 관리 솔루션에 센서를 구비하는 것이 포함되지만, 이들은 효과가 없고 구현 비용이 많이 드는 것으로 입증되었다. 카지노 바닥 운영자에 의한 랜덤 샘플링에 대한 의존은 종종 게이밍 회장에서의 활동 및 베팅 수준에 대한 정확한 그림을 제시하지 않으며 기록 및 보고가 어려울 수 있다. 게이밍 회장의 운영 환경은 빠른 속도로 진행되며, 시각적 그리고 청각적 노이즈와 주의 산만이 커지므로, 카드 및 베팅 칩이 테이블 상에서 무질서한 위치에 있을 수 있으며 조명이 상당히 달라질 수 있다.
기계 학습 기반의 개체 검출을 위한 선행기술의 시스템 및 방법에 연관된 하나 이상의 단점 또는 결점을 해결 또는 개선하는 것, 또는 적어도 유용한 대안을 제공하는 것이 바람직하다.
본원 명세서 전반에 걸쳐, "포함하다"라는 단어, 또는 "포함하다" 또는 "포함하는"과 같은 변형은 언급된 요소, 정수 또는 단계, 또는 요소들, 정수들 또는 단계들의 그룹을 포함하는 것을 의미하지만, 임의의 다른 요소, 정수 또는 단계 또는 요소들, 정수들 또는 단계들의 그룹을 배제하는 것을 의미하지 않는다.
본원 명세서에서, 한 요소가 옵션들의 목록 중 "적어도 하나"일 수 있다는 기재는 그 요소가 목록화된 옵션들 중 어느 하나일 수도 있고 목록화된 옵션들 중 2개 이상의 옵션들의 임의 조합일 수 있음을 이해하여야 한다.
본원 명세서에 포함되어 있는 문헌, 행위, 재료, 장치, 물품 따위에 대한 임의의 검토는 이러한 사항들 중 일부 또는 전부가 선행기술의 일부를 형성하거나 본원이 각각 주장하는 우선일 이전에 존재했던 본원 명세서에 관련된 분야의 기술 상식이었다는 승인으로서 인정되어서는 아니 된다.
일부 실시 예들은 게이밍 모니터링 시스템에 관한 것이며, 상기 게이밍 모니터링 시스템은,
게이밍 표면의 이미지들을 캡처하도록 구성된 적어도 하나의 카메라; 및
상기 적어도 하나의 카메라와 통신하는 컴퓨팅 장치;
를 포함하고, 상기 컴퓨팅 장치는 상기 캡처된 게이밍 표면의 이미지들을 분석하여 상기 캡처된 게이밍 표면의 이미지들에서 게임 개체들, 게임 이벤트들 및 플레이어들을 식별하기 위해 기계 학습 프로세스들을 자동으로 적용하도록 구성된다.
상기 기계 학습 프로세스들은 하나 이상의 신경 네트워크들을 통해 구현될 수 있다. 상기 하나 이상의 신경 네트워크들은 하나 이상의 심층 신경 네트워크들을 포함할 수 있다. 상기 하나 이상의 심층 신경 네트워크들은 하나 이상의 컨볼 루션 신경 네트워크들을 포함할 수 있다. 상기 하나 이상의 신경 네트워크들은 고속 영역 기반의 컨볼루션 신경 네트워크를 포함할 수 있다. 상기 하나 이상의 컨볼루션 신경 네트워크들 중 적어도 하나는 영역 제안 네트워크를 포함할 수 있다. 상기 하나 이상의 컨볼루션 신경 네트워크들 중 적어도 하나는 개체 검출 네트워크를 포함할 수 있다.
상기 적어도 하나의 카메라는 고해상도 이미지들을 캡처하도록 구성될 수 있다.
게임 개체들은 카드들 또는 위치 마커들의 놀이를 포함할 수 있다. 게임 개체들은 하나 이상의 웨이저(wager) 개체들의 하나 이상의 스택들을 포함할 수 있다.
상기 컴퓨팅 장치는 트레이닝된 제1 영역 제안 네트워크를 사용하여 하나의 게임 개체에 관련된 캡처된 이미지에서 하나 이상의 제1 관심 영역들을 식별하는 동작; 트레이닝된 제1 개체 검출 네트워크를 사용하여 하나 이상의 웨이저 개체들의 단일 스택에 관련된 상기 하나 이상의 제1 관심 영역들 중에서 제1 관심 영역들의 서브세트를 식별하는 동작; 트레이닝된 제2 영역 제안 네트워크를 사용하여 상기 식별된 제1 관심 영역들의 서브세트들 각각에서 하나 이상의 웨이저 개체들의 단일 스택의 일부를 형성하는 각각의 웨이저 개체 상의 에지 패턴의 일부에 관련된 하나 이상의 제2 관심 영역들을 식별하는 동작; 트레이닝된 제2 개체 검출 네트워크를 사용하여 상기 하나 이상의 제2 관심 영역들 각각에서 값 패턴을 식별하는 동작; 및 상기 식별된 값 패턴들 및 룩업 테이블을 사용하여 관심있는 제1 관심 영역들의 서브세트들 각각에서 하나 이상의 웨이저 개체들의 단일 스택의 전체 웨이저 값을 추정하는 동작;을 포함함으로써 하나 이상의 웨이저 개체들의 각각의 스택의 값을 자동으로 식별 및 추정하도록 더 구성될 수 있다.
상기 시스템은 상기 하나 이상의 제1 관심 영역들 각각을 웨이저 구역 식별자와 연관시키는 동작을 더 포함할 수 있다.
상기 컴퓨팅 장치는 상기 컴퓨팅 장치에 액세스 가능한 데이터 저장소에 저장된 게임 시작 및 종료 트리거 구성에 기초하여 게임의 시작 및 종료를 식별하도록 더 구성될 수 있다.
일부 실시 예들은 방법에 관한 것이며, 상기 방법은,
게이밍 테이블의 캡처된 이미지들을 처리하는 동작; 상기 캡처된 이미지들에서 게임 웨이저 개체들을 식별하는 동작; 및 상기 캡처된 이미지에서 식별된 웨이저 개체의 값을 계산하는 동작; 을 수행하도록 신경 네트워크 시스템을 트레이닝시키는 단계를 포함한다.
일부 실시 예들은 방법에 관한 것이며, 상기 방법은,
트레이닝된 신경 네트워크를 통해 게이밍 테이블의 캡처된 이미지들을 처리하여 상기 캡처된 이미지들에서 게임 웨이저 개체들을 식별하는 단계;
상기 캡처된 이미지들에서 식별된 각각의 게임 웨이저 개체에 연관된 값을 식별하는 단계; 및
상기 식별된 게임 웨이저 개체의 식별된 값에 기초하여 게임 웨이저 값을 결정하는 단계; 를 포함한다.
상기 처리는 상기 게이밍 테이블 상의 복수 개의 개별 웨이저 영역들 중 적어도 하나에서 게임 웨이저 개체를 식별할 수 있다. 상기 결정하는 단계는 상기 캡처된 이미지들에서 게임 개체들이 식별되는 각각의 개별 웨이저 영역에 대한 총체적인 게임 웨이저를 결정하는 단계를 포함할 수 있다.
일부 실시 예들은 방법에 관한 것이며, 상기 방법은 트레이닝된 신경 네트워크를 사용하여 게이밍 테이블의 캡처된 이미지에서 웨이저 개체에 대한 웨이저 개체 값을 식별하는 단계를 포함한다.
일부 실시 예들은 게임 개체 식별을 위해 신경 네트워크 시스템을 실행하도록 구성된 컴퓨팅 기기에 관한 것이며, 상기 컴퓨팅 기기는,
적어도 하나의 프로세서;
상기 적어도 하나의 프로세서가 액세스 가능하고 실행 코드를 저장하는 메모리;
상기 게이밍 테이블의 캡처된 이미지들로부터 이미지 데이터를 수신하는 웨이저 개체 영역 제안 네트워크(region proposal network; RPN); 및
상기 웨이저 개체 RPN의 출력을 수신하는 웨이저 개체 검출 네트워크;
를 포함하며,
상기 웨이저 개체 검출 네트워크는 상기 웨이저 개체 검출 네트워크의 출력에 기초하여 상기 캡처된 이미지에서 하나 이상의 웨이저 개체들을 검출한다.
상기 컴퓨팅 기기는,
게이밍 테이블의 캡처된 이미지들로부터 이미지 데이터를 수신하는 게이밍 테이블 영역 제안 네트워크(RPN);
상기 게이밍 테이블 RPN의 출력을 수신하는 게이밍 테이블 개체 검출 네트워크;
를 더 포함할 수 있으며,
상기 게이밍 테이블 개체 검출 네트워크는 상기 게이밍 테이블 개체 검출 네트워크의 출력에 기초하여 상기 캡처된 이미지에서 하나 이상의 게이밍 개체들을 검출하고, 상기 하나 이상의 게이밍 개체들은 상기 하나 이상의 웨이저 개체와는 다르다. 일부 실시 예들의 컴퓨팅 기기는 상기 게이밍 표면상에서 딜링(dealing) 장치 상의 표시등(indicator light)의 조명을 결정하도록 더 구성된다.
일부 실시 예들에서, 상기 적어도 하나의 카메라 및 상기 컴퓨팅 기기는 스마트폰의 일부이다.
일부 실시 예들에 따른 하나 이상의 컨볼루션 신경 네트워크는 상기 캡처된 이미지에서 게임 개체의 윤곽(outline)을 결정하기 위해 이미지 분할을 수행하는 컨볼루션 신경 네트워크를 포함한다.
일부 실시 예들에 따른 이미지 분할을 수행하는 컨볼루션 신경 네트워크는 마스크(Mask) R-CNN이다.
일부 실시 예들에 따른 하나 이상의 컨볼루션 신경 네트워크들은 상기 결정된 윤곽에서 상기 게임 개체를 분류하도록 구성된 게임 개체 분류기 신경 네트워크를 포함한다.
도 1은 일부 실시 예들에 따른 게이밍 모니터링 시스템의 블록도이다.
도 2는 도 1의 게이밍 모니터링 시스템의 일부를 형성하는 일부 실시 예들에 따른 자동화된 테이블 게이밍 인식 시스템의 개략도이다.
도 3은 도 1의 게이밍 모니터링 시스템의 일부를 형성하는 일부 실시 예들에 따른 자동화된 테이블 게임 인식 시스템의 개략도이다.
도 4a는 도 1 시스템의 게이밍 환경의 일부를 형성할 수 있는 게이밍 테이블의 표면의 이미지를 보여주는 도면이다.
도 4b는 도 4a의 이미지와 동일하지만 신경 네트워크 트레이닝을 위한 개체 주석(object annotation)들을 나타내는 게이밍 테이블의 표면의 이미지를 보여주는 도면이다.
도 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)와 연결되거나 공통 게이밍 모니터링 기반구조(115)에 링크될 수 있다. 상기 네트워크 링크(147)는 상기 컴퓨팅 장치(130)와 메시지 브로커 서버(140) 간 링크(117) 및 상기 컴퓨팅 장치(130)와 신경 네트워크 관리자 서버(160) 간 링크(167)를 포함할 수 있다. 상기 게이밍 모니터링 기반구조(115)는 또한 2개 이상의 상이한 게이밍 회장에서 게이밍 모니터링 셋업(105)들과 연결되거나 게이밍 모니터링 셋업(105)들에 연결될 수 있다. 게이밍 회장이 다수의 게이밍 환경(110)을 지닐 수 있는 일부 실시 예들에서, 게이밍 모니터링 기반구조(115)의 다수의 게이밍 모니터링 기반구조는 동일한 회장에서 게이밍 모니터링 셋업(105)들의 상이한 서브세트들과 연결될 수 있다.
상기 게이밍 모니터링 기반구조(115)는 상기 메시지 브로커 서버(140), 상기 신경 네트워크 관리자 서버(160) 및 데이터베이스 서버(150)를 포함한다. 상기 메시지 브로커 서버(140)는 양방향 네트워크 링크(117)를 통해 복수 개의 컴퓨팅 장치(130)들에 접속될 수 있다. 데이터 또는 명령어들의 전송을 가능하게 하기 위해 상기 메시지 브로커 서버(140)와 상기 데이터베이스 서버(150) 간에 네트워크 링크(127)가 존재할 수 있다. 상기 데이터베이스 서버(150)와 상기 신경 네트워크 관리자 서버(160) 간에는 네트워크 링크(137)가 존재할 수 있다. 시스템(100)의 컴퓨팅 장치(130) 및 모니터링 기반구조(115)는 별개의 컴퓨팅 시스템들이지만, 본원 명세서에서는 조합하여 컴퓨팅 기기로서 기재되어 있는데, 그 이유는 이들이 본원 명세서에서 기재되어 있는 다양한 기능을 수행하여 시스템(100)의 동일한 컴퓨터 아키텍처의 일부를 형성하도록 협동하기 때문이다.
상기 서버들(140, 150, 160) 각각은 독립형 서버로서 구현될 수도 있고 하나 이상의 물리 서버상에서 개별 가상 서버들로서 구현될 수도 있으며 클라우드 컴퓨팅 서비스에서 구현될 수도 있다. 상기 서버들(140, 150, 160) 각각은 또한 큰 성능 또는 고 가용성 요구사항을 핸들링하도록 구성된 2개 이상의 서버들의 네트워크를 통해 구현될 수 있다. 데이터베이스 클라이언트(180)는 최종 사용자 컴퓨팅 장치 또는 다른 최종 사용자 컴퓨팅 장치들 또는 다른 데이터베이스들에 데이터를 릴레이하기 위한 인터페이스일 수도 있고 네트워크 링크(157)를 통해 상기 데이터베이스 서버(150)에 접속될 수도 있다.
게이밍 환경
게이밍 환경(110)의 구성은 수행되고 있는 특정 게임에 따라 변할 수 있지만, 상기 실시 예들 중 어느 하나에 의해 모니터링되는 대부분의 게임은 일부 공통 요소들을 지닌다. 도 2는 일부 실시 예들에 따른 게이밍 모니터링 시스템(200)의 일부를 보여준다. 상기 시스템은 특정 게임의 개시 및 종료, 웨이저 개체들 또는 칩들의 하나 이상의 스택들의 위치 및 한 스택 내 웨이저 개체들 또는 칩들의 값을 검출할 수 있다.
상기 게이밍 환경(110)은 게임이 수행되는 플레잉 표면 또는 게이밍 테이블(210)을 포함한다. 상기 플레잉 표면(210)은 일반적으로 실질적으로 수평인 평면 표면을 포함하고, 상기 플레잉 표면(210) 상에는 상기 게이밍 모니터링 시스템(100)에 의해 검출될 수 있는, 카드들(211) 또는 칩들(213) 또는 다른 개체들과 같은, 다양한 게임 개체가 배치될 수 있다. 상기 카메라(120)는 필러(pillar) 또는 포스트(post)(220) 상에 장착되고 그럼으로써 상기 카메라(120)의 시야에서 임의의 장애물들 상에 상기 카메라(120)를 배치할 수 있게 되며 상기 게이밍 테이블(210)을 향해 약간 하방으로 상기 카메라(120)의 시야를 안내하도록 경사져 있을 수 있다. 상기 장애물들은 예를 들어 테이블에서 게임을 하는 딜러 또는 게임 참가자 또는 통행인과 같은 일시적인 장애물들일 수 있다. 상기 카메라(120) 및 상기 컴퓨팅 장치(130)의 위치는 그러한 게이밍 테이블(210)에 위치한 필러 또는 포스트 상의 다른 디스플레이 스크린들에 인접할 수 있다.
상기 카메라(120)는 플레잉 표면상의 카드들 및 플레이어들을 검출하기 위해 합리적인 관점을 유지하면서 웨이저 개체들의 하나 이상의 스택들의 나은 단면도를 제공하도록 배치된다. 카메라(120)의 사시도의 일 예가 도 4a에 도시된 이미지 프레임(400)이다. 상기 이미지 프레임(400)에서, 전체 플레잉 표면(210) 상의 카드들(211) 및 웨이저 개체들(213)이 보여진다. 또한, 상기 이미지 프레임(400)에는 하나 이상의 웨이저 개체들(213)이 상기 게이밍 테이블상에서 플레이되고 있는 특정 게임의 규칙들에 따라 놓여질 수 있는 상기 게이밍 표면(210) 상의 베팅 구역 또는 웨이저 구역(410)이 지정되어 있는 것으로 보여진다.
도 3은 일부 실시 예들에 따른 게이밍 모니터링 시스템(300)의 일부를 보여준다. 상기 시스템(300)은 2개의 카메라(120, 320)를 지닌다. 상기 카메라들(120, 320)은 상기 게이밍 테이블(210)의 대향 측단부/측부 상에 장착되어 있으며, 그럼으로써 양 측단부로부터 상기 게이밍 테이블 상의 게임 개체들 및 상기 게이밍 테이블(210)의 이미지들을 캡처하게 된다. 카메라들(120, 320)은 동일한 물리적 셋업 및 구성을 지닐 수 있고 그리고/또는 동일할 수 있다. 상기 시스템(100)에서 2개의 카메라(120, 320)를 사용하는 것은 상기 2개의 카메라에 의해 캡처된 게이밍 테이블(210)의 전체 플레잉 표면의 이미지들의 별개의 세트들의 처리를 허용함으로써 게임 개체들의 인식의 정확성을 개선할 수 있다. 이미지들의 별개의 세트들의 처리는 상기 시스템(100)으로 하여금 칩 또는 칩들의 스택이 한 카메라의 시야로부터 숨겨지지만 다른 한 카메라의 시야로부터 숨겨지지 않는 선간 오클루전(inter-ship occlusion)의 상황들을 정확하게 설명할 수 있게 한다.
다른 실시 예들에서, 각각의 카메라는 상기 플레잉 표면의 거의 절반(또는 상기 플레잉 표면의 전부보다 적은 상기 게이밍 테이블(210)의 일부)을 모니터링하도록 구성될 수 있고, 그렇게 함으로써 개체 검출의 성능 또는 속도가 개선될 수 있다. 다른 실시 예들에서, 상기 게이밍 모니터링 시스템은 3개 이상의 카메라를 지닐 수 있다. 상기 카메라(320)는 필러, 포스트, 갠트리, 벽 또는 다른 지지대와 같은 지지 구조물(330) 상에 지지될 수 있다. 상기 카메라(320)는 캡처된 이미지들을 상기 카메라(320)로부터 상기 컴퓨팅 장치(130)로 그리고 명령어들을 상기 컴퓨팅 장치(130)로부터 상기 카메라(320)로 통신하는 것을 허용하는 통신 링크(310)를 통해 상기 컴퓨팅 장치(130)에 접속될 수 있다.
일부 실시 예들에서, 상기 컴퓨팅 장치(130)는 스마트폰의 형태일 수 있다. 상기 카메라(120)는 스마트폰 카메라 형태의 컴퓨팅 장치(130)에 엠베드(embed)될 수 있다. 상기 스마트폰 형태의 컴퓨팅 장치(130)는 상기 실시 예들에 따른 다양한 기계 학습 프로세스를 구현하기 위해 필요한 하드웨어 구성을 지니고 있어야 한다. 예를 들어, 구글 픽셀 2 폰 또는 동등한 기술 사양을 지닌 폰은 상기 컴퓨팅 장치(130) 및 상기 카메라(120)를 제공하도록 스마트폰으로서 사용될 수 있다. 컴퓨팅 장치(130)가 스마트 폰으로서 구현될 때, 상기 스마트폰에서 제공된 통신 인터페이스는 상기 신경 네트워크 관리자 서버(160)와의 통신을 용이하게 하고 상기 메시지 브로커 서버(140)와의 통신을 위해 사용될 수 있다. 상기 스마트폰에서 사용된 통신 인터페이스는 셀룰러 통신 인터페이스 또는 상기 스마트폰에서 제공된 Wi-Fi 통신 인터페이스일 수 있다. 상기 컴퓨팅 장치(130) 및 상기 카메라(120)로서 스마트폰을 사용하는 것은 상기 게이밍 모니터링 시스템(105)의 일부를 제공하도록 구성될 수 있는 기성 제품(off the shelf)에 제공된 장치를 이용함으로써 상기 게이밍 모니터링 시스템(105)의 구현을 단순화한다. 스마트폰의 사용은 또한 상기 카메라(120) 및 상기 컴퓨팅 장치(130) 간 인터페이스를 단순화한다. 스마트폰에서, 상기 컴퓨팅 장치(130) 및 상기 카메라(120)는 단일 물리 유닛의 일부이고 서로 통신하도록 사전에 구성된다. 2개 이상의 카메라가 게이밍 모니터링 셋업(105)에서 필요할 수 있는 실시 예들에서, 2개의 스마트폰은 각각이 자기 자신의 컴퓨팅 장치(130)를 지니는 2개의 카메라(120, 320)를 제공하기 위해 사용될 수 있다.
게임의 참가자들은 베트를 할 수 있는 플레이어들 및 게임을 하는 딜러들을 포함한다. 베트를 하거나 게임을 하기 위해 게임 개체들로서 기재되어 있는 개체들이 상기 플레이어들 또는 딜러들에 의해 사용된다. 게임 개체들은 그들을 식별하기 위해 특정 마킹들을 지니는 특정 형상의 카드들(211)을 포함할 수도 있고, 칩들 또는 웨어저 개체들(213) 또는 다른 이러한 개체들은 플레이어들이 게임에서 웨이저할 수 있는 금액을 지정할 수도 있으며, 룰렛 게임에 사용되는 위치 마커 또는 돌리(dolly)와 같은 게임의 결과를 지정할 수 있는 개별 형상을 지니는 다른 개체들을 포함할 수도 있다. 상기 게임은 게임의 개시, 게임 중 플레이어들에 의한 베트 하기, 게임 중 중간 결과 및 게임의 최종 결과를 결정하는 게임의 종료로 구성되는 일련의 게이밍 이벤트들을 통해 수행된다. 게임 중에, 플레이어는 베트하기 위해 지적된 웨이저 구역 또는 베팅 구역에 자신의 웨이저 개체(213)(다시 말하면, 베트하기 위한 토큰들 또는 칩들)를 놓음으로써 배트를 할 수 있다. 상기 칩들 또는 웨이저 개체들은 상기 플레잉 표면(210) 상의 웨이저 구역 내 그룹 또는 스택으로 배열될 수 있다. 웨이저 개체들의 그룹 또는 스택은 웨이저 개체들의 공통 컬러 또는 디노미네이션(denomination)(연관된 웨이저 값)을 포함할 수도 있고 2개 이상의 컬러들 또는 디노미네이션들의 웨이저 개체들의 조합을 포함할 수도 있다.
상기 카메라들(120, 320)은 상기 게이밍 테이블의 인접 에지로부터 약 0 내지 4(선택적으로 약 2 내지 3) 미터의 거리에 장착될 수 있고 예를 들어 테이블 레벨보다 약 0 내지 3(선택적으로 약 1 내지 2) 미터 높게 올려져 있을 수 있다. 상기 카메라들(120, 320)은 예를 들어 수평으로부터 약 15 내지 45 도 범위의 각도로 하방 경사질 수 있다. 상기 카메라들(120, 320)은 720p(최대 1280 x 720 픽셀 이미지) 또는 1080p(최대 1920 x 1080 픽셀 이미지) 또는 4k(최대 4096 x 2160 픽셀 이미지)와 같은 고해상도 이미지를 캡처하는 데 적합할 수 있다. 상기 카메라들은 예를 들어 30 프레임/초(frame per second; fps) 또는 60 fps 또는 90 fps의 속도로 이미지들을 연속적으로 캡처할 수 있다. 상기 카메라들은 USB 케이블 또는 무선 통신 링크의 형태일 수 있는 통신 링크(107)를 통해 캡처된 이미지들을 상기 컴퓨팅 장치(130)에 통신할 수 있다. 카메라들(120, 320) 각각에 적합한 카메라의 일 예는 Logitech의 BRIO 4k Webcam 카메라이다.
컴퓨팅 장치
상기 카메라(120)에 의해 생성된 데이터는 상기 통신 포트(590)를 통해 상기 컴퓨팅 장치(130)에 의해 수신된다. 상기 포트(590)는 캡처된 이미지들을 수신하거나 이미지들의 캡처링을 개시 또는 종료하도록 하는 명령어들을 송신하기 위해 상기 카메라(120)와 결합된 무선 어댑터 또는 USB 포트의 형태일 수 있다. 상기 컴퓨팅 장치(130)의 하드웨어 구성요소들(510)은 메모리(514), 프로세서(512) 및 상기 컴퓨팅 장치의 동작에 필요한 다른 구성요소들을 포함한다. 메모리(514)는 이미지 처리 라이브러리(522); 카메라 API(524); 런타임 환경 드라이버(526); 신경 네트워크 모듈(528); 게임 이벤트 검출 모듈(532) 및 메시지 생성기 모듈(534); 을 포함하는 필요한 소프트웨어 모듈들(520)을 저장한다.
상기 이미지 처리 라이브러리(522)는 상기 신경 네트워크 모듈(528)에 입력으로서 상기 이미지들을 제공하기 전에 임계값 설정 연산들, 이미지들에 대한 형태학적 연산들을 수행하는 것과 같은 기본 이미지 프로세싱 연산들을 수행하는 한 세트의 프로그램들 및 사전-처리 이미지들에 필요한 다른 프로그램들이다. OpenCV는 채용될 수 있는 이미지 처리 라이브러리의 일 예이다. 상기 카메라 API(524)는 상기 컴퓨팅 장치(130)가 하나 이상의 카메라들(120)과의 통신 채널을 확립할 수 있게 하는 한 세트의 프로그램들이다. 이러한 카메라 API(424)는 상기 카메라(120)에 의해 생성된 데이터가 상기 신경 네트워크 모듈(528)에 의해 수신 및 처리될 수 있게 한다.
상기 신경 네트워크 모듈(528)로부터의 명령어들에 기초한 메시지 생성기 모듈(534)은 상기 메시지 브로커 서버(140)로 전달되는 메시지를 생성한다. 상기 메시지 생성기 모듈은 예를 들어 RabbitMQ 또는 Kafka와 같은 표준 메시징 시스템에 기초하여 이루어질 수 있다. 상기 구성 모듈(540)에 저장된 메시지 브로커 구성(546)에 기초하여, 상기 메시지 생성기 모듈(534)은 상기 통신 포트(590) 및 상기 네트워크 링크(117)를 통해 상기 메시지 브로커 서버(140)에 메시지들을 통신할 수 있다. 상기 구성 모듈(540)은 또한 게임 개시 및 종료 트리거 구성(544)을 포함한다. 상기 게임 개시 및 종료 트리거 구성(544)은 특정 테이블 상에서 게임들의 개시 및 종료를 지정하는 특정 게임 이벤트들의 세부사항을 포함한다. 상기 구성 모듈(540)의 구성요소들은 상기 메모리(514)에 하나 이상의 구성 파일들의 형태로 저장될 수 있다. 상기 구성 파일들은 예를 들어 XML 포맷으로 저장될 수 있다.
메시지 브로커 서버
상기 메시지 브로커 서버(140)는 메시지 브로커링 서비스를 구현하고 상기 네트워크 링크(117)를 통해 복수 개의 컴퓨팅 장치들(130)로부터의 메시지들을 청취한다. 상기 메시지 브로커 서버(140)는 공통 근거리 통신 네트워크 내에서 상기 컴퓨팅 장치(130)와 동일한 구내 상에 위치할 수도 있고 구내 밖(원거리)에 위치할 수 있지만, 메시지들과 데이터의 전송을 가능하게 하기 위해 2개의 구내 간에 확립된 네트워크 링크(117)를 통해 여전히 통신할 수 있다. 상기 메시지 브로커 서버(140)는 중앙 집중식 메시지 브로커링 서비스를 제공하기 위해 복수 개의 게이밍 회장들에서 컴퓨팅 장치(130)에 집중 및 접속될 수 있다.
상기 메시지 브로커 서버(140)는 메모리(614), 프로세서(612) 및 서버 동작을 위한 다른 필요한 하드웨어 구성요소들을 포함하는 하드웨어 구성요소들(610)을 지닌다. 메시지 큐 모듈(620)은 복수 개의 구성 장치들(130)로부터의 메시지들을 수신, 해석 및 처리하기 위해 큐(queue)를 구현한다. 상기 메시지들은 상기 통신 포트(690)를 통해 수신되며, 상기 메시지 브로커 서버(140)를 전후로 한 데이터 및 명령어들의 양방향 전송을 가능하게 할 수 있는 네트워크 어댑터 또는 다른 유사한 포트들의 형태일 수 있다. 상기 메시지 큐 모듈(620)은 RabbitMQ 또는 Kafka와 같은 메시지 브로커 패키지를 통해 구현될 수 있다. 상기 메시지 큐 모듈(620)은 게이밍 테이블 상에서 발생하는 게이밍 이벤트들에 관한 트랜잭션(transaction) 정보를 포함하는 메시지를 수신할 때 데이터베이스 파싱(parsing) 모듈(630)을 개시한다. 상기 데이터베이스 파싱 모듈(630)은 상기 메시지 큐 모듈(620)에 의해 수신된 메시지를 상기 네트워크 링크(127)를 통해 상기 데이터베이스 서버(150) 상에서 후속적으로 실행되는 데이터베이스 쿼리로로 파싱한다.
데이터베이스 서버
상기 데이터베이스 서버(150)는 상기 메시지 브로커 서버(140)로부터 게이밍 이벤트 데이터를 수신하고, 상기 게이밍 모니터링 시스템(100)에 의해 캡처된 게이밍 이벤트 데이터에 대한 액세스를 제공하기 위해 데이터베이스 클라이언트(180)를위한 저장소 역할을 한다. 상기 데이터베이스 서버(150)는 메모리(714), 프로세서(712) 및 서버 동작을 위한 다른 필요한 하드웨어 구성요소들을 포함하는 하드웨어 구성요소들(710)을 지닌다. 통신 포트(790)는 하나 이상의 네트워크 링크들을 통해 상기 데이터베이스 서버(150)를 전후로 하여 데이터 및 명령어들의 양방향 전송을 가능하게 할 수 있는 네트워크 어댑터 또는 다른 유사한 포트들의 형태일 수 있다. 데이터베이스 모듈(720)은 MySQLTM, Postgres 또는 MicrosoftTM SQL 서버와 같은 데이터베이스 관리 시스템을 통해 구현될 수 있다.
게이밍 이벤트 데이터(724)는 게이밍 테이블 또는 플레잉 표면 상에서 발생하는 게이밍 이벤트들을 나타내는 트랜잭션 데이터를 포함한다. 게이밍 이벤트 데이터를 형성하는 레코드들은 게이밍 이벤트가 인식된 시간에 대한 타임스탬프; 상기 게이밍 이벤트가 발생한 게이밍 테이블의 고유 식별자; 베트하기와 같은 게이밍 이벤트들의 특성에 대한 식별자, 게임의 중간 결과, 게임의 최종 결과; 상기 게이밍 이벤트에 연관된 웨이저 구역의 식별자; 관심 영역에 연관된 베트 값의 추정치; 및 게이밍 이벤트를 나타내는 다른 관련 속성; 을 포함할 수 있다.
상기 테이블 구성 데이터(722)는 게이밍 테이블 및 이에 연관된 컴퓨팅 장치(130)에 대한 고유 식별자들; 게임의 개시가 특정 관심 영역 상의 특정 게이밍 개체의 놓음에 의해 검출되든 상기 플레잉 표면 상의 카드들의 놓음에 의해 검출되든 게임 개시 및 종료 트리거링 이벤트들의 특성; 및 상기 게이밍 모니터링 시스템(100)에 의해 의존하는 매개변수들을 나타내는데 필요한 다른 관련 데이터; 를 포함한다. 일부 실시 예들에서, 상기 테이블 구성 데이터(722) 및 게이밍 이벤트 데이터(724)는 상기 게이밍 모니터링 시스템(100)의 큰 확장성 및 관리성을 가능하게 하기 위해 별개의 데이터베이스 서버들에 유지될 수 있다.
게임 이벤트 검출
일부 실시 예들에서, 상기 카메라(120)는 상당한 양의 데이터를 실시간으로 생성할 수 있는 고해상도 카메라일 수 있다. 이러한 고해상도 카메라에 의해 생성된 모든 데이터를 저장 및 처리하는 것은 캡처된 데이터를 저장 및 처리하기 위한 상당한 저장 및 처리 능력을 획득하는 것과 관련하여 중대한 문제를 야기할 수 있다. 또한 심층 신경 네트워크들을 통해 대량의 데이터를 처리하려면 추가 처리 코어들 또는 그래픽 처리 장치(GPU)들을 통한 상당한 양의 처리 능력이 필요할 수 있다.
상기 문제를 해결하기 위해, 상기 게이밍 모니터링 시스템은 게이밍 환경(110)에서 게임들의 개시 및 종료를 검출하고 게임이 개시된 후에만 고해상도 이미지들을 캡처하도록 구성된다. 일부 실시 예들에서, 상기 캡처된 고해상도 이미지들은 게임 개체들을 식별하고 웨이저 개체들의 값을 추정하기 위해 실질적으로 실시간으로 상기 신경 네트워크 모듈(528)에 의해 처리될 수 있다. 다른 실시 예들에서, 상기 캡처된 고해상도 이미지들은 상기 컴퓨팅 장치(130)에 저장되고 상기 신경 네트워크 모듈(528)에 의해 비-실시간 방식으로 처리될 수 있다.
도 8의 흐름도(800)는 일부 실시 예들에 따른 게임들의 개시 및 종료를 검출하는 프로세스를 보여준다. 게이밍 환경(110)에서 개시 및 종료 게임 이벤트들을 검출하는 것은 거의 실시간으로 이루어진다. 윤곽 검출 기법은 개시 및 종료 게임 이벤트들을 검출하는데 채용될 수 있다. 상기 윤곽 검출 기법이 적용될 수 있기 전에, 다수의 이미지 사전-처리 단계가 상기 카메라(120)에 의해 캡처된 이미지들에 적용된다. 이러한 이미지 사전-처리 단계들은 상기 윤곽 검출 기법들을 구현하는 프로세스들 또는 알고리즘들의 성능 및 정확성을 개선한다.
단계 810에서 상기 카메라(들)(120, 320)에 의해 입력 이미지 프레임이 획득될 수 있다. 이러한 입력 이미지는 반드시 고해상도 이미지일 필요는 없다. 일부 실시 예들은 카드 게임의 개시 시간 및 종료 시간을 확인하기 위해 카드 검출 프로세스를 채용한다. 이는 예를 들어, 테이블 활용도와 딜러 효율성을 결정하는 데 유용한 정보가 될 수 있다. 또한, 게임이 개시된 것으로 검출될 때까지 고해상도 이미지들의 저장 및 처리가 회피될 수 있고, 일단 게임이 종료된 것으로 결정되면 정지될 수 있으며, 그럼으로써 이미지 처리에서 개선된 컴퓨터 효율을 제공할 수 있게 된다. 일부 실시 예들에 의하면, 고해상도 이미지들은 예를 들어 720 x 480, 또는 1920 x 1080, 또는 3840 x 2160 해상도의 이미지들을 포함한다. 일부 실시 예들에 의하면, 고해상도 이미지들은 720 x 480 초과, 1920 x 1080 초과, 또는 3840 x 2160 초과 해상도의 이미지들을 포함한다.
카드 검출 프로세스를 채용하는 실시 예들의 경우, 채용 될 수 있는 하나의 이미지 사전-처리 기법은 단계 820에서 임계값 설정이다. 글로벌 임계값 설정 또는 적응형 임계값 설정 또는 otsu의 이진화와 같은 몇몇 임계값 설정 기법들 중 하나가 이미지를 입력 이미지에서 흑색 부분 또는 백색 부분을 나타내는 픽셀들을 지니는 2진 이미지로 세그먼트화하도록 채용될 수 있다.
임계값 설정 동작 후, 단계 830에서의 형태학적 변환들이 임계값 설정 동작의 출력 이미지에 적용될 수 있다. 형태학적 변환은 이미지들에서 검출된 특징들을 향상시키고 윤곽 감지 프로세스들의 성능과 정확성을 개선한다. 단계 832에서 적용된 침식 및 단계 834에서 적용된 팽창은 이미지 전처리 단계 동안 적용될 수 있는 형태학적 변환의 일 예이다. 상기 침식 및 팽창 프로세스들 양자 모두는 2개의 입력, 다시 말하면 카메라(120)에 의해 캡처된 매트릭스 형태의 이미지 데이터 및 구조화 요소, 또는 입력 이미지에 대해 수행된 형태학적 동작의 특성을 결정하는 커널을 필요로 한다. 상기 커널은 정사각형 또는 원 형상일 수 있으며 정의된 중심을 지니며 입력 이미지를 가로지름으로써 동작으로서 적용된다.
침식의 형태학적 변환은 단지 커널에 상응하는 값 모두가 1 또는 백색 컬러에 상응하는 값일 경우에만 커널이 이미지를 가로지를 때 픽셀의 값이 1의 값 또는 상기 백색 컬러에 상응하는 값으로 남는 커널을 사용하여 이미지의 포그라운드(foreground) 개체들을 선명하게 하는 것을 포함한다. 3 x 3 또는 5 x 5 크기 또는 다른 크기들의 커널들이 침식 동작에 채용될 수 있다. 침식 동작은 포그라운드 개체의 경계에서 떨어져 침식한다. 상기 침식 동작은 상기 이미지 처리 라이브러리(522)의 사전에 정의된 라이브러리에 의해 수행될 수 있다.
침식을 달성하기 위해, 상기 커널은 (2D 컨볼루션에서와 같이) 상기 이미지들을 통해 활주한다. 원래의 이미지 내 픽셀(1 또는 0)은 상기 커널 아래의 모든 픽셀들이 1인 경우에만 1로 간주되고 그렇지 않으면 침식(0으로 설정)된다.
팽창 동작은 침식의 역이다. 예를 들어, 3 x 3 정사각형 매트릭스 커널을 사용하는 팽창 동작에서 커널 중심의 픽셀은 1의 값으로 남을 수도 잇고 상응하는 커널의 값들 중 어느 하나에서 백색에 상응하는 값은 1 또는 상기 백색 컬러에 상응하는 값이다. 팽창의 결과로서 이미지의 특징들이 더 연속적이고 커진다. 팽창 동작은 상기 이미지 처리 라이브러리(522)에서 사전에 정의된 라이브러리에 의해 수행될 수 있다.
이미지에 임계값 설정 기법을 적용하면 2진 이미지가 생성된다. 이미지에 존재하는 특징들을 더 향상시키기 위해, 침식 및 팽창의 형태학적 변환이 적용된다. 유리하게는, 상기 형태학적 변환은 이미지들로부터의 노이즈 감소, 개별 요소들의 분리 및 이미지에서 이종 요소들을 연결하는 것에 일조한다.
이미지 윤곽은 이미지에서 표현된 개체의 경계를 따라 모든 연속 점들을 연결하는 곡선을 포함한다. 윤곽선들은 형상 분석 및 개체 검출 및 인식에 유용한 도구이다. 윤곽 근사법은 본 애플리케이션에서 특정 모양의 유사성을 원하는 형상의 유사성에 근사화하는 데 사용된다. 상기 원하는 형상은 예를 들어 다각형 또는 원 또는 타원의 형태일 수 있다. 더 나은 정확성 및 성능을 위해, 에지 검출 동작이 수행된 후에 2진 이미지들에 대해 윤곽 검출 동작이 수행될 수 있다.
단계 840에서 적용되는 에지 검출은 이미지들 내 개체들의 경계들을 찾기 위한 이미지 처리 기법이다. 이는 입력 이미지에서 밝기 불연속을 검출하는 것을 포함한다. 여러 에지 검출 기법 중에서, 캐니(canny) 에지 검출은 일부 실시 예들에 의해 구현될 수 있는 일반적인 다단 에지 검출 알고리즘 또는 프로세스이다.
에지 검출 단계들 중 일부 또는 전부는 상기 이미지 처리 라이브러리(522)에서 이용 가능한 프로그램들을 통해 수행될 수 있다. 예를 들어, OpenCV 라이브러리가 사용되는 경우, "캐니(canny)" 에지 검출 함수 호출이 사용될 수 있다. 입력 이미지에서 에지들의 동일한 식별 결과를 얻기 위해 캐니 에지 검출에 대한 대안으로서 다른 대안 에지 검출 방법들이 또한 이용될 수 있다.
에지 검출 오퍼레이터가 에지들을 식별하기 위해 입력 이미지에 적용된 후, 단계 850에서 윤곽 검출 프로세스는 예를 들어 다각형 또는 원과 같은 특정 모델 형상들에 이미지 내 형상들의 유사성을 근사화하도록 상기 에지 검출 동작의 결과에 적용될 수 있다.
윤곽 근사법은 일 실시 예에서 특정된 정밀도에 따라, 윤곽 형상을 더 적은 수의 정점을 지니는 다른 형상(다각형)에 근사하는 것이다. 일부 실시 예들은 윤곽 근사를 위해 Douglas-Peucker 알고리즘을 구현할 수 있다.
윤곽 근사 동작들은 상기 게이밍 모니터링 모듈(928)에서 이들을 호출함으로써 상기 이미지 처리 라이브러리(522)에서 사전 패키징된 함수들을 사용하여 수행될 수있다. 예를 들어, OpenCV가 윤곽 추정 프로세스를 구현하기 위해 사용된다면, 함수들 "findContours" 또는 "drawContours" 또는 "approxPolyDP"가 예를 들어 상기 프로세스를 구현하기 위해 호출될 수 있다.
일부 실시 예들에서, 게임의 개시는 상기 게이밍 테이블 상의 카드의 존재를 먼저 검출함으로써 단계 860에서 검출될 수 있다. 카드들의 존재를 검출하기 위해, 윤곽들은 윤곽 근사 단계의 종료시 식별된 윤곽들이 분석된다. 상기 분석에는 윤곽 구역의 계산, 정점들의 개수 및 윤곽들의 에지들에 의해 형성된 각도의 식별이 포함된다. 카드들을 식별하기 위해, 다음의 기준이 일부 실시 예들에서 적용될 수 있다. 40 내지 70 cm2 또는 50 내지 60 cm2의 윤곽들의 면적; 근사 후 4개의 정점 및 90도에 가까운 각도. 식별된 윤곽들 중 하나 이상의 윤곽들이 카드들로서 식별되면, 상기 게임 이벤트 검출 모듈(532)은 게임의 개시를 시그널링한다. 상기 게임의 개시를 식별하는 신호는 상기 카메라(120)에 의해 고해상도 이미지들을 캡처 및 저장하는 것을 개시하기 위해 상기 게이밍 모니터링 시스템(100)에 의해 트리거로서 사용될 수있다. 이러한 기준들은 구체적으로 상기 게임 표면, 또는 사용중에 있는 카드들의 특성에 관련하여 카메라(120)의 각도 또는 배치에 따라 교정 또는 조정될 수 있다.
게임 개시 및 종료 트리거들을 정의하는 이벤트들의 특정 특성은 상기 게임 개시 및 종료 트리거 구성(544)에 저장될 수 있고 게임이 테이블 상에서 개시 또는 종료되었는지를 추정하기 위해 상기 게임 이벤트 검출 모듈(532)에 의해 참조될 수 있다. 예를 들어, 블랙잭 게임용으로 지정된 테이블의 경우, 이미지 프레임에서 하나 이상의 카드들이 존재하는 것은 게임의 개시로서 취급될 수 있다. 마찬가지로, 게임이 개시된 후에, 이미지 프레임 내 임의의 카드들의 부재는 상기 게임 이벤트 검출 모듈(534)에 의해 단계 880에서 게임의 종료로서 취급될 수 있다. 룰렛과 같은 카드들에 기초하지 않는 게임의 경우, 돌리(dolly)와 같은 다른 게임 개체들의 존재가 게임의 개시 및 종료 트리거들이 사용될 수 있다. 게임 개시 또는 종료 트리거 개시 게임 개체의 특정 형상 및 특성은 상기 컴퓨팅 장치(130)의 구성 모듈(540)의 게임 개시 및 종료 트리거 구성(544)에 저장될 수 있다.
일단 게임의 개시가 상기 게임 이벤트 검출 모듈(532)에 의해 식별되면, 상기 카메라(120)는 상기 신경 네트워크 모듈(528)이 개체 검출 및 웨이저 값 추정 프로세스들을 위해 사용될 수 있는 단계 870에서의 고해상도 이미지들을 캡처하는 것을 개시한다. 그러나 상기 신경 네트워크 모듈(528)이 이러한 동작들을 정확하게 수행하기 전에, 이는 특정 게이밍 환경에 따라 원하는 동작들을 가장 잘 수행하도록 상기 신경 네트워크를 교정, 구조화 또는 가중화하는 데 필요한 트레이닝을 받는다.
신경망 모듈
게이밍 테이블 상에서 게임 개체들을 검출하고 웨이저 개체의 값을 추정하기 위해, 상기 게이밍 모니터링 시스템(100)은 상기 기능들을 수행하기 위해 기계 학습 프로세스를 트레이닝하는 것에 의존한다. 일부 실시 예들에서 상기 기계 학습 프로세스는 하나 이상의 신경 네트워크들을 채용할 수 있다. 일부 실시 예들에서, 상기 하나 이상의 신경 네트워크들은 하나 이상의 심층 학습 신경 네트워크들을 포함할 수 있다. 일부 실시 예들에서, 상기 심층 학습 신경 네트워크들 중 하나 이상은 컨볼루션 신경 네트워크(CNN)일 수 있다.
일부 실시 예들에 의해 구현된 CNN은 구조 및 동작에서 서로 다를 수 있는 다수의 뉴런 층을 포함할 수 있다. CNN의 제1 층은 뉴런의 컨볼루션 층일 수 있다. 뉴런의 컨볼루션 층은 입력 이미지의 픽셀들 간 공간 관계를 유지하면서 입력 이미지로부터 특징들을 추출하는 기능을 수행한다. 컨볼루션 동작의 출력은 상기 입력 이미지의 특징 맵을 포함할 수 있다. 상기 컨볼루션 동작은 필터 또는 커널 매트릭스를 사용하여 수행되며, 상기 필터 또는 커널 매트릭스의 특정 가중치는 차후에 설명되는 프로세스들에 의해 상기 CNN을 트레이닝함으로써 획득 또는 교정된다.
컨볼루션 층 후에, 일부 실시 예들에서 상기 CNN은 풀링(pooling) 층 또는 정류된 선형 유닛(rectified linear unit; ReLU) 층 또는 양자 모두를 구현한다. 상기 풀링 층은 가장 중요한 특징 정보를 유지하면서 각각의 특징 맵의 차원을 줄인다. 상기 입력 이미지들에서 학습되어야 할 대부분의 실제 데이터가 비-선형이므로 상기 ReLU 동작은 상기 CNN에 비-선형성을 도입한다. CNN은 다수의 컨볼루션, ReLU 및 풀링 층을 포함할 수 있으며, 선행 풀링 층의 출력은 후속 컨볼루션 층에 입력으로서 공급될 수 있다. 이러한 다수의 뉴런 층은 CNN들이 심층 학습 알고리즘 또는 기법으로서 술로 설명되는 이유이다. CNN의 하나 이상의 층들 중 최종 층은 컨볼루셔널 및 풀링 층에 의해 추출된 고수준 특징들을 사용하여 출력들을 생성하는 전통적인 다층 퍼셉트론(perceptron) 신경 네트워크일 수 있다. CNN의 설계는 동물의 시각 피질에서 뉴런들의 패턴들과 연결에 의해 영감을 얻게 된 것이다. CNN의 설계에 대한 이러한 기초는 이미지들에서 개체 검출 기능을 수행하기 위해 CNN이 선택될 수 있는 이유들 중 하나이다.
상기 신경 네트워크 모듈(428)은 영역 기반 컨볼루션 신경 네트워크(R-CNN) 또는 고속 영역 기반 컨볼루션 신경 네트워크(Faster R-CNN)과 같은 컨볼루션 신경 네트워크의 형태일 수 있다. 일부 실시 예들은 고속 R-CNN의 기본 특징 추출기로서 Resnet-101 또는 SSD(Single Shot Detector)를 사용할 수 있다. 상기 신경 네트워크 모듈(428)은 다른 심층 학습 방법들 또는 다른 기계 학습 방법들에 기초하여 이루어질 수 있다. 본원 명세서의 다음 부분은 고속 R-CNN 신경 네트워크 트레이닝 프로세스에 기초한 일부 실시 예들에 대한 개체 검출 및 트레이닝 방법들을 설명하지만, 이는 다른 적합한 기계 학습 또는 심층 학습 방법들의 적용 가능성을 다른 실시 예들로 어떻게든 제한하는 것은 아니다.
도 9의 흐름도(900)는 일부 실시 예들에 따른 신경 네트워크 모듈(528)의 동작을 양호하게 보여준다. 상기 신경 네트워크 모듈(528)은 게이밍 테이블 영역 제안 네트워크(RPN)(920), 게이밍 테이블 개체 검출 네트워크(930), 웨이저 개체 RPN(940) 및 웨이저 개체 검출 네트워크(950)를 트레이닝 및 유지한다. 본원 명세서에서 설명되는 개체 검출 및 웨이저 값 추정 프로세스 또는 방법은 상기 고속 R-CNN 트레이닝 프로세스에 따라 트레이닝된 신경 네트워크 모델에 의해 수행될 수 있다. 이러한 트레이닝 프로세스는 2개의 상위 단계 또는 모듈로 구성된다. 제1 단계는 본원 명세서에서 RNP(Region Proposal Network)로도 기재되어 있는 완전 심층 컨볼루션 신경 네트워크에 의해 입력 이미지에서 다양한 제안된 관심 영역을 식별 또는 분리하는 것을 포함한다. 이러한 제1 단계는 상기 게이밍 테이블 RPN(920) 및 상기 웨이저 개체 RPN(940)에 의해 수행된다. 제2 단계는 상기 RPN에 의해 식별된 제안된 관심 영역들을 사용하여 고속 R-CNN 개체 검출기에 기초한 개체 검출을 수행하는 단계를 포함한다. 이러한 단계는 게이밍 테이블 개체 검출 네트워크(930) 및 웨이저 개체 검출 네트워크(950)에 의해 수행된다.
상기 RPN들(920, 940)은 이미지를 입력으로서 취하고 출력으로서 하나 이상의 개체 제안들을 생성할 수 있다. 각각의 개체 제안은 검출된 개체로 관심 영역의 직사각형 경계를 정의할 수 있는 이미지상의 좌표와, 개체들의 클래스 중 하나의 개체가 상기 관심 영역에 존재할 수 있는 가능성을 반영하는 이미지상의 좌표에 연관된 개체성 스코어(objectness score)를 포함할 수 있다. 상기 개체들의 클래스는 상기 RPN이 직면할 수 있는 트레이닝에 기초하여 이루어지는 검출을 위한 카드들, 웨이저 개체들 또는 플레이어들 또는 다른 관련 관심 개체들을 포함할 수 있다.
상기 RPN에 의한 개체 제안에서 식별된 관심 영역들은 중첩될 수도 있고 하나의 관심 영역이 다른 하나의 관심 영역에 의해 완전히 포함될 수 있다. 상기 관심 영역은 상기 개체 제안들에서 식별된 개체들의 형상을 더 잘 근사하기 위해 다양한 애스펙트 비(aspect ratio)들을 지닐 수 있다.
신경 네트워크 모듈 트레이닝
상기 RPN 또는 고속 R-CNN이 게이밍 테이블 또는 플레잉 표면상에서 개체 검출을 수행하기 위해 채용될 수 있기 전에, 상기 신경 네트워크들은 실질적인 트레이닝 데이터 세트에 기초하여 트레이닝을 받는다. 관련 신경 네트워크들을 트레이닝하는 데 여러 공지된 감독 트레이닝 방법들 중 하나 이상이 채용될 수 있다. 상기 트레이닝 데이터 세트는 관심 영역들의 경계들 및 모든 관심 영역에서의 개체의 아이덴티티가 수동으로 식별 및 기록될 수 있는 여러 이미지를 포함할 수 있다. 상기 관심 영역들의 경계들은 상기 관심 영역을 정의하는 직사각형의 4개의 점 좌표를 통해 기록될 수 있다.
도 10의 흐름도(1000)는 일부 실시 예들에 의해 구현될 수 있는 CNN에 대한 트레이닝 기법 또는 프로세스를 보여준다. 이러한 트레이닝 방법은 상기 게이밍 테이블 RPN(920) 또는 상기 웨이저 개체 RPN(940)과 같은 RPN을 트레이닝하기 위해 구현될 수 있다. 이러한 트레이닝 방법은 게이밍 테이블 개체 검출 네트워크(930) 또는 웨이저 개체 검출 네트워크(950)와 같은 개체 검출 네트워크를 트레이닝하기 위해 구현될 수 있다.
심층 학습 개체 검출을 트레이닝, 테스팅 및 실행하기 위한 방법(1000)을 수행하는데 사용될 수 있는 적합한 하드웨어 및 소프트웨어의 일 예가 아래에 나타나 있다.
하드웨어:
a. CPU: 인텔 i7 7700k 쿼드 코어
b. RAM: 16GB
c. GPU : 각각 12GB의 메모리를 지니는 듀얼 GTX 1080 Ti.
소프트웨어: 트레이닝 및 추론 프로세스들은 텐서플로우 프레임워크(Tensorflow framework)를 사용하여 수행될 수 있다.
a. 텐서보드 : 네트워크들의 트레이닝 및 평가 모니터링용.
b. 모델들: 텐서플로우 오픈 소스 커뮤니티 기반 모델 GitHub 저장소.
c. 사전- 트레이닝된 모델들: 텐서플로우는 일부 사전-트레이닝된 모델들을 제공한다. 이러한 모델들은 비행기에서부터 개에 이르기까지 수천 개의 클래스로 구성된 대규모 데이터세트들에 대해 트레이닝된다. 일부 일반적인 데이터세트들은 MSCOCO(http://cocodataset.org/) 및 Pascal VOC(http://host.robots.ox.ac.uk/pascal/VOC/)이다. 이러한 방식으로 임의의 태스크에 맞게 상기 모델들을 미세 조정하는 것이 가능하다. 이러한 프로세스는 전달 학습(transfer learning)이라 한다.
d. 구글 컴퓨트 클라우드 엔진: 모든 로컬 리소스들이 사용되고 있는 경우, 트레이닝 작업들은 상기 구글 컴퓨트 클라우드 엔진 상에서 효율적으로 사용될 수 있다.
텐서플로우 개체 검출(Object Detection; OD) 모델들을 (한 대표적인 모델로서) 트레이닝하기 위해 필요한 정보는 다음과 같다.
이미지 데이터;
이미지 높이, 폭 및 깊이;
이미지의 개체 이름(카드, 칩, 현금, 사람) 및 경계 박스 좌표(xmin, ymin, xmax, ymax); 및
어려운 개체, 세그먼트화 등과 같은 다른 매개변수들이 사용될 수 있지만 주로 데이터베이스 평가에 사용된다.
상기 Pascal VOC 포맷(http://host.robots.ox.ac.uk/pascal/VOC/)은 단일 이미지의 OD 정보를 패킹하기에 적합한 XML 포맷이다.
제1 단계 1010으로서, CNN은 일부 실시 예들에서 가우시안 분포로부터 도출함으로써 랜덤하게 생성될 수 있는 매개변수들 또는 가중치들로 초기화될 수 있다. 대안으로, 일부 실시 예들에서, 사전에 트레이닝된 CNN은 트레이닝을 개시하기 위해 사용될 수 있다. 일 예로서, RPN을 트레이닝하기 위해, 하나 이상의 실측 자료(ground truth) 영역들 또는 박스들이 모든 트레이닝 이미지들(1020)에서 식별될 수 있다. 상기 실측 자료 영역들 또는 박스들은 트레이닝 이미지에서 개체 및 그의 경계들을 식별한다. 상기 트레이닝 이미지는 잠재적인 관심 영역들을 출력으로서 획득하기 위해 상기 초기화된 RPN에 입력으로서 전달될 수 있다.
상기 RPN 또는 CNN의 출력들에 기초하여, 손실 함수 또는 에러 함수는 단계 1030에서 계산될 수 있다. 상기 손실 함수의 출력은 상기 입력 이미지들에서의 실측 자료 박스들 또는 영역들 및 상기 RPN 또는 CNN에 의해 생성된 영역 제안들 간 차이를 보여줄 수 있다. 상기 손실 함수의 출력은 단계 1040에서 상기 RPN 또는 CNN의 가중치들에 대한 확률적 경사 하강을 계산하기 위해 사용될 수 있다. 이러한 오차 경사는 상기 가중치들을 조정하여 계산된 오차 함수 또는 손실 함수를 최소화하기 위해 상기 RPN 또는 CNN을 통해 역-전파될 수 있다. 이러한 프로세스는 상기 트레이닝 데이터 세트가 단계 1050에서 소진될 때까지 다수(여러) 입력 이미지들로 계속될 수 있다.
위에서 설명한 오차 또는 손실 함수 및 역-전파 및 확률적 경사 하강의 원리에 의존하여, 상기 RPN 또는 CNN은 상기 오차 또는 손실 함수를 최적화함으로써 그 정확성을 개선하기 위해 엔드-투-엔드 방식으로 트레이닝될 수 있다. 실질적인 트레이닝 데이터 세트와의 트레이닝의 다수의 상호작용 후에, 상기 RPN 또는 CNN은 허용 가능한 정확도 레벨에서 수행될 수 있고, 이어서 상기 신경 네트워크 모듈(528)에 포함될 수 있다.
상기 게이밍 테이블 개체 검출 네트워크(930) 및 상기 웨이저 개체 검출 네트워크(950)는 상기 개체 검출 네트워크들(930, 950)이 입력으로서 상기 식별된 관심 영역들을 수용하고 출력으로서 상기 관심 영역 내 개체들의 클래스의 존재 가능성을 제시한다는 점의 차이를 제외하고는 상기 CNN 또는 RPN에 대해 식별된 것과 동일한 원리로 트레이닝될 수 있다.
또한, 상기 개체 검출 네트워크들(930, 950)은 상기 게이밍 테이블 RPN(920) 및 상기 웨이저 개체 RPN(940)과 함께 트레이닝될 수 있고 그럼으로써 상기 신경 네트워크 모듈(528)의 효율 및 정확성을 향상시킬 수 있는 2개의 네트워크 간 컨볼루션 층의 공유를 허용하게 될 수 있다. 상기 게이밍 테이블 RPN(920) 및 상기 웨이저 개체 RPN(940)과 함께 트레이닝하는 것은 상기 2개의 네트워크의 교번 트레이닝을 포함하고 하나의 네트워크의 출력을 다른 하나의 네트워크의 입력으로 수용함에 의존하는 것을 포함할 수 있다. 상기 게이밍 테이블 RPN(920) 및 상기 웨이저 개체 RPN(940)과 함께 트레이닝하기 위한 다른 대안은 단일 네트워크를 형성하기 위해 2개의 네트워크를 병합함 및 모든 트레이닝 반복에서 전체 네트워크의 가중치의 변화에 대한 역-전파 및 확률적 경사 분포에 의존함을 포함할 수 있다.
상기 기계 학습 또는 신경 네트워크 알고리즘들을 트레이닝하기 위한 실질적인 데이터 세트를 준비하기 위해, 관심 영역들이 상기 게이밍 테이블 상의 게임들로부터 캡처된 이미지에서 수동으로 그려지거나 식별될 수 있다. 상기 관심 영역들은 예를 들어 도 4c에 도시된 바와 같이 주석 또는 태깅 도구를 사용하여 웨이저 개체들, 사람들, 카드들 또는 다른 게임 개체들과 같은 관련 식별자들로 수동으로 태그될 수 있다. 적합한 주석 도구의 일 예로는 Pascal VOC 포맷으로 각각의 파일의 주석 XML 파일을 제공하는 GitHub를 통해 액세스 가능한 "Labellmg" 도구이다. 또한, 예를 들어 어려운 개체 또는 세그먼트화된 개체에 관련된 추가 매개변수들은 또한 관심 영역에 대한 태깅 도구를 사용하여 수동 태깅에 의해 식별될 수 있다.
트레이닝 데이터 세트에서 이미지들의 주석을 다는 프로세스는 이전에 트레이닝된 신경 네트워크 또는 수동으로 주석을 단 이미지들로 트레이닝된 신경 네트워크에 의해 생성된 출력을 이용함으로써 개선될 수 있다. 사전 트레이닝된 신경 네트워크 또는 수동으로 주석을 단 이미지들로 트레이닝된 신경 네트워크에 의해 생성된 출력은 상기 관심 영역 내 개체들의 아이덴티티 및 관심 영역들의 식별 양자 모두에서 임의의 오차들을 정정하기 위해 수동으로 수정될 수 있다. 상기 정정된 출력은 상기 결과들의 정확성을 더 개선하기 위해 상기 신경 네트워크의 트레이닝의 다음 반복에서 입력으로서 사용될 수 있다. 이러한 피드백 루프는 여러 다른 데이터 세트로 반복될 수 있고 그럼으로써 다양한 조건하에서 개체를 확실하게 식별할 수 있는 견고한 신경 네트워크를 획득할 수 있게 된다.
상기 신경 네트워크들의 트레이닝에서 추가의 견고성은 데이터 증강 또는 다른 기법을 트레이닝 데이터에 적용함으로써, 예를 들어, 입력 이미지들을 무작위로 수평으로 플리핑(flipping)함으로써; 입력 이미지들의 밝기를 무작위로 변경함으로써; 설정된 스케일링 비율에 의해 트레이닝 이미지 크기들을 무작위로 스케일링함으로써; 무작위 컬러 이미지를 그레이스케일로 변환함으로써; 또는 상기 RPN에 대한 입력으로서 사용된 관심 있는 입력 영역들의 개체 박스 치수들의 변동 또는 지터를 무작위로 도입함으로써, 달성될 수 있다. 상기 게이밍 테이블 RPN(920) 및/또는 웨이저 개체 RPN(940)을 트레이닝하는데 그러한 데이터 증강 프로세스들 중 하나 이상이 적용될 수있다.
웨이저 개체 값 추정
도 11의 흐름도(1100)는 일부 실시 예들에 따른 전체 게임 개체 검출 및 웨이저 개체 값 추정 프로세스 또는 방법을 보여준다. 이러한 방법은 거의 실시간으로 캡처된 이미지들 또는 사전에 플레잉된 게임으로부터 저장된 이미지들 양자 모두에 적용될 수 있다. 제1 단계 1102는 상기 트레이닝된 게이밍 테이블 RPN(920)에 입력으로서 사용될 수 있는 이미지 프레임을 회수하는 단계를 포함한다. 단계 1106에서, 상기 트레이닝된 게이밍 테이블 RPN(920)은 입력 이미지에서 관심 영역들을 식별한다. 일 예로서, 도 4a의 이미지 프레임이 입력으로서 사용되는 경우, 도 4b의 스크린샷에 나타나 있는 이미지 프레임은 제안된 관심 영역들(421, 422, 423, 425, 427)을 보여주는 출력으로서 생성될 수 있다.
상기 게이밍 테이블 RPN(920)은 특정 개수보다 많지 않은 관심 영역들을 식별하도록 제한된다. 이러한 제한은 처리 전력 측면에서 상기 컴퓨팅 장치(130)의 과도하게 높은 구성을 요구하지 않고 상기 게이밍 테이블 RPN(920)의 적절한 성능을 유지하기 위해 필요하다. 일부 실시 예들에서, 이러한 제한은 최대 개수, 예를 들어 30 내지 70개의 관심 영역들을 식별하도록 설정될 수 있다. 다른 실시 예들에서, 이러한 제한은 예를 들어 최대 40 내지 60개의 관심 영역들을 식별하도록 설정될 수 있다.
일단 제안된 관심 영역들이 식별되면, 단계 1110에서 각각의 관심 영역에 대응하는 이미지의 일부가 게이밍 테이블 개체 검출 네트워크(930)에 입력으로서 제공된다. 상기 게이밍 테이블 개체 검출 네트워크(930)는 관심 영역들(422, 421) 내 플레이어들을 검출한다. 상기 관심 영역들(423, 425)은 카드 개체들을 포함하도록 상기 게이밍 테이블 개체 검출 네트워크(930)에 의해 결정된다. 상기 관심 영역(427)은 웨이저 개체를 포함하도록 상기 웨이저 개체 검출 네트워크(950)에 의해 결정된다. 단계 1114에서, 웨이저 개체들을 포함하는 관심 영역들은 단계 1124로 진행된다. 비-웨이저 개체들이 검출되는 관심 영역들은 단계 1120으로 진행되고, 여기서 상기 검출된 개체의 특성이 그의 좌표들과 함께 기록된다.
웨이저 개체들은 단일 칩 또는 다수의 칩의 스택을 포함할 수 있다. 다수의 칩의 스택은 다양한 디노미네이션(다시 말하면, 다양한 관련 칩 값)의 칩을 포함할 수 있다. 대부분의 게이밍 회장들에서, 웨이저 개체 또는 칩의 디노미네이션은 상기 칩의 컬러로 지정 또는 식별되며 또한 칩의 에지 상의 특정 패턴에 의해 지정 또는 식별된다. 웨이저 개체 또는 칩 상의 에지 패턴은 칩 또는 다른 웨이저 개체의 원주를 중심으로 또는 그 주위에 다수의(예컨대, 4개의) 상이한 점에서 대칭으로 배치될 수 있다. 특정 값의 칩의 에지 패턴은 다른 값의 칩의 컬러 또는 에지 패턴들과는 상이한 특정 컬러의 스트라이프들 또는 에지 패턴들을 포함할 수 있다.
본원 명세서에서 설명한 시스템 및 기법은 게이밍 칩 형태의 게이밍 개체가 평면도에서 일반적으로 원형 프로파일을 그리고 측면도에서 일반적으로 균일한 깊이 또는 두께를 지닌다고 가정하고, 그럼으로써 각각의 칩은 짧은 원기둥(또는 원기둥의 직경보다 훨씬 작은 높이를 지니는 원기둥)과 유사하게 된다.
예를 들어, 1달러의 디노미네이션의 칩 또는 웨이저 개체는 단일 회색 스트라이프를 갖는 백색일 수 있다. 5달러의 디노미네이션의 칩은 황색 스트라이프를 갖는 적색일 수 있다. 칩들의 설계 및 칩들의 값을 나타내는 특정 컬러들 및 에지 패턴들은 게이밍 회장마다 다를 수 있다. 그럼에도, 상기 게이밍 모니터링 시스템(100) 및 구체적으로는 상기 신경 네트워크 모듈(528)은 상기 시스템(100)이 배치되는 게이밍 회장에서 칩들의 특정 에지 패턴을 검출 또는 식별하도록 구성될 수 있다.
게이밍 테이블 상의 웨이저 개체들(칩들)의 스택의 값을 추정하기 위해, 각각의 개별 칩의 외부 원통형(환형) 에지 상의 패턴들과 같은 표면 패턴들이 식별된다. 또한, 칩 스택의 상부 칩에 대해, 상기 칩의 값에 관련되거나 그 값을 정의하는 상부 표면 표시는 또한 하나 이상의 관심 영역들로 식별될 수 있고, 그럼으로써 이러한 영역들은 검출된 에지 패턴에 기초하여 결정된 칩의 값을 검증하는데 사용될 수 있다. 상기 상부 및 에지 패턴 식별은 웨이저 개체 RPN(940) 및 웨이저 개체 검출 네트워크(950)에 의해 달성될 수 있다. 상기 웨이저 개체 RPN(940) 및 웨이저 개체 검출 네트워크(950)는 상기 게이밍 테이블 RPN(920) 및 게이밍 테이블 개체 검출 네트워크(930)와 유사한 초기화 및 트레이닝 기법들을 채용할 수 있다. 그러나 단계 1124에서의 웨이저 개체 RPN(940)은 웨이저 개체들의 스택 내 매 단일 웨이저 개체의 에지 패턴들의 경계 부분들 또는 그를 커버하는 관심 영역들과 아울러, 상기 스택의 상부 웨이저 개체 표면의 경계 부분들 또는 그를 커버하는 관심 영역들을 포함하여, 웨이저 개체 이미지 프레임에서 관심 영역들을 제안하도록 트레이닝된다.
상기 웨이저 개체 RPN(940)은 단일 웨이저 개체 상의 에지 패턴의 경계 부분 관심 영역들을 제안하고, 웨이저 개체 검출 네트워크(950)는 단계 1128에서 제안된 관심 영역의 값 패턴을 식별한다. 상기 값 패턴은 상기 웨이저 개체 RPN(940)에 의해 제안된 관심 영역에 의해 경계되는 웨이저 개체 상의 에지 패턴의 특정 부분에 연관된 값일 수 있다. 상기 신경 네트워크 모듈(528)은 (상부 웨이저 개체에 대한 상부 표면 표시를 포함하여) 상기 웨이저 개체 검출 네트워크(950)에 의해 특정 검출가능 값에 연관된 디노미네이션 값을 기록하는 값 패턴 룩업 테이블(1150)을 포함할 수 있다. 상기 값 패턴 룩업 테이블(1150)의 내용은 상이한 회장들 내 웨이저 개체 또는 칩들에 상이한 설계 및 에지 패턴들을 반영하기 위해 상이한 게이밍 회장들에 걸쳐 변경될 수 있다. 일 예로, 상기 이미지 프레임(1200)은 상기 웨이저 개체 RPN(940)에 대한 입력 이미지일 수 있다. 에지 패턴들(1210, 1215)은 상기 이미지 프레임(1200) 내 웨이저 개체들의 스택의 일부인 특정 웨이저 개체들에 연관된 값들을 반영할 수 있다. 도 13은 에지 패턴들의 경계 부분들의 다양한 여러 관심 영역(1310, 1315)을 갖는 웨이저 개체 RPN(940)에 의해 생성된 출력 이미지일 수 있다.
웨이저 개체 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)에 배치될 때 반드시 정적이거나 고정적일 필요는 없다. 상기 배치된 신경 네트워크는 상기 게이밍 모니터링 시스템(100)의 실제 동작을 통해 획득된 상기 데이터베이스 서버(150) 상에 기록된 데이터에 기초하여 후속 트레이닝에 직면할 수 있다. 상기 신경 네트워크 관리자 서버(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은 인스턴스 분할 또는 마스킹을 수행하고 입력 이미지 내 각각의 픽셀이 식별된 관심 영역 또는 개체의 일부인지를 식별하기 위해 마스크를 출력하는 브랜치 또는 마스킹 브랜치를 더 포함한다. 일부 실시 예들에서, 상기 마스크의 검출은 개체들의 식별과 병행하여 이루어질 수 있다. 상기 마스킹 브랜치는 픽셀이 검출된 개체의 일부인지 아닌지를 식별하는 2진 마스크의 형태로 픽셀 레벨에서 분할 마스크를 생성하기 위해 각각의 식별된 관심 영역에 적용되는 별개의 완전한 컨벌루션 신경 네트워크를 포함할 수 있다.
도 14는 일부 실시 예들에 따른 플레잉 카드들 또는 현금과 같은 비-웨이저 개체들의 마스킹 및 검출을 위한 흐름도(1400)를 보여준다. 흐름도(1400)는 도 11의 흐름도(1100)의 단계들 1102, 1106, 1110 및 1114를 포함한다. 또한, 흐름도(1400)는 비-웨이저 개체들에 대한 이미지 분할 및 개체 검출을 위한 단계들을 포함한다. 단계 1410에서, 단계 1110에서 식별된 관심 영역들은 이미지 분할 또는 마스킹 프로세스의 후속 단계를 개선하기 위해 상기 식별된 관심 영역들의 경계의 정렬을 개선하도록 관심 영역 정렬 뉴런 층을 통해 처리된다. 단계 1420에서, 상기 정렬된 관심 영역들이 트레이닝된 마스크 R-CNN을 통해 처리된다. 상기 트레이닝된 마스크 R-CNN을 통한 처리 후에, 단계 1114에서 식별된 각각의 비-웨이거 개체에 대한 2진 분할 마스크 형태의 출력이 단계 1430에서 생성된다. 상기 출력은 각각의 식별된 개체에 대한 2진 분할 마스크 형태일 수 있으며, 각각의 2진 분할 마스크는 식별된 개체에 연관된 상기 캡처된 이미지 내 한 세트의 픽셀들을 나타낸다.
단계 1440에서 상기 식별된 2진 분할 마스크에 상응하는 캡처된 이미지의 영역들은 트레이닝된 개체 분류기를 통해 처리된다. 상기 트레이닝된 개체 분류기는 상기 식별된 개체를 각각의 식별된 2진 분할 마스크에서 분류한다. 예를 들어, 상기 개체 분류기는 식별된 2진 분할 마스크에서 개체를 스페이드 에이스로 분류할 수 있다. 대안으로, 상기 개체 분류기는 개체를 특정 디노미네이션의 지폐 또는 청구서, 예를 들어 $50 디노미네이션의 지폐와 같은 화폐 개체로 분류할 수 있다. 상기 식별 및 분류된 개체에 관한 정보는 상기 컴퓨팅 장치(130)에 의해 저장될 수도 있고 대안으로 상기 컴퓨팅 장치(130)는 상기 통신 링크(117)를 통해 상기 메시지 브로커 서버(140)에 상기 정보를 전송할 수 있다. 플레이어들에 의해 상기 게이밍 표면 상에 제공된 카드들 또는 상기 게이밍 표면 상에 내밀어진 화폐 개체들에 관한 정보는 게임 결과 기록들에 대한 과거 게임 이벤트들의 조정을 허용할 수 있다. 또한, 상기 게이밍 표면 상에 내밀어진 화폐 개체들의 식별은 웨이저 개체들의 검출에 의해 평가될 수 없는 테이블에서의 웨이저 활동의 평가를 허용할 수 있다.
단계 1440에서의 개체 분류는 캡슐 신경 네트워크, 또는 잔류 학습 프레임워크를 사용하여 트레이닝된 개시 신경 네트워크들 또는 심층 신경 네트워드들을 사용하여 수행될 수 있다.
도 15는 일부 실시 예들에 따른 웨이저 개체 영역 검출 결과의 스크린샷(1500)을 보여준다. 일부 실시 예들의 웨이저 개체 RPN(940)은 웨이저 개체 스택 또는 웨이저 개체 영역에 대한 상위 웨이저 개체(1520) 및 베이스 영역(1530)을 검출하도록 추가로 트레이닝될 수 있다. 예를 들어, 스크린샷(1500)에서, 상부 웨이저 개체(1520) 및 웨이저 개체 베이스 영역(1530)은 상기 웨이저 개체 RPN(940)에 의해 검출된다. 상기 웨이저 개체 RPN(940)은 또한 상기 웨이저 개체 스택의 일부를 형성하는 웨이저 개체들에 대한 에지 패턴들(1510)을 검출한다. 상기 상부 웨이저 개체(1520) 및 상기 웨이저 개체 베이스 영역(1530)은 전체 웨이저 개체 검출을위한 앵커 포인트들로서 작용하고, 그럼으로써 전체 개체 검출 프로세스의 정확성 및 성능을 개선하고 결과들의 검증 수단을 제공한다.
통상의 기술자는 본 개시내용의 넓은 범위를 벗어나지 않고 위에서 설명한 실시 예들에 대해 많은 변형 및/또는 수정이 이루어질 수 있음을 이해할 것이다. 그러므로, 본 실시 예들은 모든 면에서 예시적이고 제한적이지 않은 것으로 간주되어야 한다.

Claims (29)

  1. 게이밍 모니터링 시스템으로서,
    게이밍 표면의 이미지들을 캡처하도록 구성된 적어도 하나의 카메라; 및
    상기 적어도 하나의 카메라와 통신하는 컴퓨팅 기기;
    를 포함하고,
    상기 컴퓨팅 기기는 상기 게이밍 표면의 캡처된 이미지들을 분석하여 상기 캡처된 이미지에서 게임 개체들, 게임 이벤트들 및 플레이어들을 식별하기 위해 기계 학습 프로세스를 자동으로 적용하도록 구성되는, 게이밍 모니터링 시스템.
  2. 제1항에 있어서,
    상기 기계 학습 프로세스는 하나 이상의 신경 네트워크들을 통해 구현되는, 게이밍 모니터링 시스템.
  3. 제2항에 있어서,
    상기 하나 이상의 신경 네트워크들은 하나 이상의 심층 신경 네트워크들을 포함하는, 게이밍 모니터링 시스템.
  4. 제3항에 있어서,
    상기 하나 이상의 심층 신경 네트워크들은 하나 이상의 컨볼루션 신경 네튿워크들을 포함하는, 게이밍 모니터링 시스템.
  5. 제4항에 있어서,
    상기 하나 이상의 컨볼루션 신경 네트워크들 중 적어도 하나는 영역 제안 네트워크를 포함하는, 게이밍 모니터링 시스템.
  6. 제4항에 있어서,
    상기 하나 이상의 컨볼루션 신경 네트워크들 중 적어도 하나는 개체 검출 네트워크를 포함하는, 게이밍 모니터링 시스템.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 적어도 하나의 카메라는 고해상도 이미지들을 캡처하도록 구성되는, 게이밍 모니터링 시스템.
  8. 제1항 내지 제7항 중 어느 한 항에 있어서,
    게임 개체들은 플레잉 카드들, 위치 마커들 또는 화폐 개체들 중 적어도 하나를 포함하는, 게이밍 모니터링 시스템.
  9. 제1항 내지 제8항 중 어느 한 항에 있어서,
    게임 개체들은 하나 이상의 웨이저 개체들의 하나 이상의 스택들을 포함하는, 게이밍 모니터링 시스템.
  10. 제9항에 있어서,
    상기 컴퓨팅 기기는,
    트레이닝된 제1 영역 제안 네트워크를 사용하여 하나의 게임 개체에 관련된 하나 이상의 제1 관심 영역들을 상기 캡처된 이미지에서 식별하는 동작;
    트레이닝된 제1 개체 검출 네트워크를 사용하여 하나 이상의 웨이저 개체들의 단일 스택에 관련된 하나 이상의 제1 관심 영역들 중에서 제1 관심 영역의 서브세트를 식별하는 동작;
    트레이닝된 제2 영역 제안 네트워크를 사용하여 상기 식별된 제1 관심 영역들의 서브세트들 각각에서 하나 이상의 웨이저 개체들의 단일 스택의 일부를 형성하는 각각의 웨이저 개체 상의 에지 패턴의 일부에 관련된 하나 이상의 제2 관심 영역들을 식별하는 동작;
    트레이닝된 제2 개체 검출 네트워크를 사용하여 상기 하나 이상의 제2 관심 영역들 각각에서 값 패턴을 식별하는 동작; 및
    상기 식별된 값 패턴들 및 룩업 테이블을 사용하여 제1 관심 영역들의 서브세트들 각각에서 하나 이상의 웨이저 개체들의 단일 스택의 총체적인 웨이저 값을 추정하는 동작;
    을 수행함으로써 하나 이상의 웨이저 개체들의 각각의 스택의 값을 자동으로 식별 및 추정하도록 더 구성되는, 게이밍 모니터링 시스템.
  11. .
  12. 제11항에 있어서,
    상기 하나 이상의 제1 관심 영역들 각각을 웨이저 구역 식별자에 연관시키는 동작;
    을 더 수행하는, 게이밍 모니터링 시스템.
  13. 제1항 내지 제12항 중 어느 한 항에 있어서,
    상기 컴퓨팅 장치는 상기 컴퓨팅 기기가 액세스 가능한 데이터 저장소에 저장된 게임 개시 및 종료 트리거 구성에 기초하여 게임의 개시 및 종료를 식별하도록 더 구성되는, 게이밍 모니터링 시스템.
  14. 제2항에 있어서,
    상기 하나 이상의 신경 네트워크들은 고속 영역 기반 컨볼루션 신경 네트워크를 포함하는, 게이밍 모니터링 시스템.
  15. 방법에 있어서,
    게이밍 테이블의 캡처된 이미지들을 처리하는 동작; 상기 캡처된 이미지들에서 게임 웨이저 개체들을 식별하는 동작; 및 상기 캡처된 이미지들에서 식별된 웨이저 개체들의 값을 계산하는 동작; 을 수행하도록 신경 네트워크 시스템을 트레이닝하는 단계;
    를 포함하는, 방법.
  16. 방법에 있어서,
    트레이닝된 신경 네트워크를 통해 게이밍 테이블의 캡처된 이미지들을 처리하여 상기 캡처된 이미지들에서 게임 웨이저 개체들을 식별하는 단계;
    상기 캡처된 이미지들에서 식별된 각각의 게임 웨이저 개체에 연관된 값을 식별하는 단계; 및
    상기 식별된 게임 웨이저 개체들의 식별된 값들에 기초하여 게임 웨이저 값을 결정하는 단계;
    를 포함하는, 방법.
  17. 제16항에 있어서,
    상기 처리하는 것은 상기 게이밍 테이블상의 복수 개의 개별 웨이저 영역들 중 적어도 하나에서 게임 웨이저 개체들을 식별하는 것인, 방법.
  18. 제17항에 있어서,
    상기 결정하는 것은 상기 캡처된 이미지들에서 게임 개체들이 식별되는 각각의 개별 웨이저 영역에 대한 총체적인 게임 웨이저를 결정하는 것을 포함하는, 방법.
  19. 방법에 있어서,
    게이밍 테이블의 캡처된 이미지에서 웨이저 개체에 대한 웨이저 개체 값을 식별하기 위해 훈련된 신경 네트워크를 사용하는 단계를 포함하는, 방법.
  20. 게임 개체 식별을 위해 신경 네트워크 시스템을 실행하도록 구성된 컴퓨터 시스템 또는 기기로서,
    적어도 하나의 프로세서;
    상기 적어도 하나의 프로세서가 액세스 가능하고 실행할 코드를 저장하는 메모리:
    게이밍 테이블의 캡처된 이미지들로부터 이미지 데이터를 수신하기 위한 웨이저 개체 영역 제안 네트워크(region proposal network; RPN); 및
    상기 웨이저 개체 RPN의 출력을 수신하기 위한 웨이저 개체 검출 네트워크;
    를 포함하며,
    상기 웨이저 개체 검출 네트워크는 상기 웨이저 개체 검출 네트워크의 출력 기초하여 상기 캡처된 이미지들에서 하나 이상의 웨이저 개체들을 검출하는, 컴퓨터 시스템 또는 기기.
  21. 제20항에 있어서,
    게이밍 테이블의 캡처된 이미지로부터 이미지 데이터를 수신하기 위한 게이밍 테이블 영역 제안 네트워크(RPN);
    상기 게이밍 테이블 RPN의 출력을 수신하기 위한 게이밍 테이블 개체 검출 네트워크;
    를 더 포함하며,
    상기 게이밍 테이블 개체 검출 네트워크는 상기 게이밍 테이블 개체 검출 네트워크의 출력에 기초하여 상기 캡처된 이미지에서 하나 이상의 게임 개체들을 검출하고, 상기 하나 이상의 게이밍 개체들은 상기 하나 이상의 웨이저 개체들과는 다른, 컴퓨터 시스템 또는 기기.
  22. 제15항 내지 제19항 중 어느 한 항의 방법을 수행하도록 구성된 적어도 하나의 컴퓨터 프로세서 및 메모리를 포함하는 시스템.
  23. 제1항 내지 제14항 중 어느 한 항에 있어서,
    상기 컴퓨팅 기기는 상기 게이밍 표면상의 딜링(dealing) 장치상의 표시등의 조명을 결정하도록 더 구성되는, 게이밍 모니터링 시스템.
  24. 제1항 내지 제14항 중 어느 한 항에 있어서,
    상기 적어도 하나의 카메라 및 상기 컴퓨팅 기기는 스마트폰의 일부인, 게이밍 모니터링 시스템.
  25. 제4항에 있어서,
    상기 하나 이상의 컨볼루션 신경 네트워크들은 상기 캡처된 이미지에서 게임 개체의 윤곽을 결정하기 위해 이미지 분할을 수행하기 위한 컨볼루션 신경 네트워크를 포함하는, 게이밍 모니터링 시스템.
  26. 제25항에 있어서,
    이미지 분할을 수행하기 위한 컨볼루션 신경 네트워크는 마스크 R-CNN인, 게이밍 모니터링 시스템.
  27. 제25항에 있어서,
    상기 하나 이상의 컨볼루션 신경 네트워크들은 상기 게임 개체를 상기 결정된 윤곽에서 분류하도록 구성된 게임 개체 분류기 신경 네트워크를 포함하는, 게이밍 모니터링 시스템.
  28. 컴퓨터 시스템에 의해 실행될 때, 상기 컴퓨터 시스템이 제15항 내지 제19항 중 어느 한 항의 방법을 수행하게 하는 프로그램 코드가 저장된 유형(有形)의 컴퓨터-판독가능 저장 저장 장치.
  29. 본 청구범위에 개시되거나 본출 명세서에서 개별적으로 또는 집합적으로 나타낸 단계들, 프로세스들, 부속-프로세스들, 시스템들, 부속-시스템들, 기기, 기반구조, 셋업들 및/또는 배치들, 및 상기 단계들, 프로세스들, 부속-프로세스들, 시스템들, 부속-시스템들, 기기, 기반구조, 셋업들 및/또는 배치들 중 2개 이상의 임의 조합 및 모든 조합.
KR1020207012519A 2017-10-02 2018-10-02 기계 학습 기반의 개체 검출을 위한 시스템 및 방법 KR102501264B1 (ko)

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 (2)

Publication Number Publication Date
KR20200104853A true KR20200104853A (ko) 2020-09-04
KR102501264B1 KR102501264B1 (ko) 2023-02-20

Family

ID=65994171

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207012519A KR102501264B1 (ko) 2017-10-02 2018-10-02 기계 학습 기반의 개체 검출을 위한 시스템 및 방법

Country Status (11)

Country Link
US (2) US11288508B2 (ko)
EP (1) EP3692470A4 (ko)
JP (1) JP7246382B2 (ko)
KR (1) KR102501264B1 (ko)
CN (1) CN111971685A (ko)
AU (6) AU2018344762B2 (ko)
CA (1) CA3078245A1 (ko)
CL (1) CL2020000890A1 (ko)
PH (1) PH12020550496A1 (ko)
WO (1) WO2019068141A1 (ko)
ZA (1) ZA202002357B (ko)

Families Citing this family (45)

* 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
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
WO2019068141A1 (en) * 2017-10-02 2019-04-11 Sensen Networks Group Pty Ltd AUTOMATIC LEARNING GUIDED OBJECT DETECTION SYSTEM AND METHOD
US10818386B2 (en) * 2018-11-21 2020-10-27 Enlitic, Inc. Multi-label heat map generating system
AU2019427194A1 (en) * 2019-01-31 2021-08-19 Angel Group Co., Ltd. Management system
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
SG10201913056VA (en) 2019-12-23 2021-04-29 Sensetime Int Pte Ltd Method and apparatus for obtaining sample images, and electronic device
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 重庆现代建筑产业发展研究院 一种建筑物检测与识别方法及装置
CN117063209A (zh) * 2020-07-07 2023-11-14 Arb实验室公司 用于跟踪游戏活动的系统和方法
US11495085B2 (en) 2020-07-13 2022-11-08 Sg Gaming, Inc. Gaming environment tracking system calibration
AU2020294280A1 (en) * 2020-08-01 2022-02-17 Sensetime International Pte. Ltd. Method, apparatus and system for identifying target objects
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
KR20220168949A (ko) * 2021-06-14 2022-12-26 센스타임 인터내셔널 피티이. 리미티드. 게임 상태들을 제어하기 위한 방법들, 장치들, 디바이스들 및 저장 매체들
AU2021204621A1 (en) * 2021-06-23 2023-01-19 Sensetime International Pte. Ltd. Method and apparatus for data processing, electronic device, and storage medium
CN113546398A (zh) * 2021-07-30 2021-10-26 重庆五诶科技有限公司 基于人工智能算法的棋牌游戏方法及系统
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
KR20230093178A (ko) * 2021-12-17 2023-06-27 센스타임 인터내셔널 피티이. 리미티드. 게임 영역 타입의 인식 방법 및 장치, 기기, 저장 매체
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工控主板的身份识别方法、装置、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170039807A1 (en) * 2015-08-03 2017-02-09 Angel Playing Cards Co., Ltd. Fraud detection system in casino

Family Cites Families (60)

* 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
ATE375186T1 (de) 2000-07-14 2007-10-15 Progressive Gaming Int Co System welches einen schuh mit verschluss und scanner zur ausgabe von spielkarten enthält, sowie verbesserter spielkartentisch welcher entfernten wettern das wetten ermöglicht
US20060128472A1 (en) * 2000-08-04 2006-06-15 Anthony Beavers System and method of data handling for table games
AU2001283117A1 (en) * 2000-08-04 2002-02-18 Anthony J. 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
AU2006201849A1 (en) 2005-05-03 2006-11-23 Tangam Gaming Technology Inc. Gaming object position analysis and tracking
US20060252554A1 (en) * 2005-05-03 2006-11-09 Tangam Technologies Inc. Gaming object position analysis and tracking
EP1951389A4 (en) 2005-10-28 2010-09-01 Authenticsig Inc REAL VIDEO GAME PROCESS AND SYSTEM
US8021231B2 (en) * 2005-12-02 2011-09-20 Walker Digital, Llc Problem gambling detection in tabletop games
WO2008045464A2 (en) * 2006-10-10 2008-04-17 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
US9595166B2 (en) * 2012-04-25 2017-03-14 Fresh Ideal Global Limited Electronic gaming device
US9592450B2 (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
WO2016084072A1 (en) * 2014-11-26 2016-06-02 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
CA2947969C (en) * 2015-05-29 2017-09-26 Adrian BULZACKI Systems, methods and devices for monitoring betting activities
US10410066B2 (en) * 2015-05-29 2019-09-10 Arb Labs Inc. Systems, methods and devices for monitoring betting activities
JP6736557B2 (ja) * 2015-08-03 2020-08-05 エンゼルプレイングカード株式会社 テーブルゲームの管理システム、遊技用代用貨幣、検査装置、遊技用代用貨幣の管理システム
EP4234053A3 (en) * 2015-08-03 2023-10-04 Angel Playing Cards Co., Ltd. Management system of substitute currency for gaming
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
CA3077830C (en) * 2016-12-05 2023-03-07 Avigilon Coporation System and method for appearance search
CN108229488B (zh) * 2016-12-27 2021-01-01 北京市商汤科技开发有限公司 用于检测物体关键点的方法、装置及电子设备
US20180204411A1 (en) * 2017-01-17 2018-07-19 Stanley Deck Dual gaming element system and method
KR20240008953A (ko) * 2017-01-24 2024-01-19 엔제루 구루푸 가부시키가이샤 칩의 인식 학습 시스템
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
WO2019068141A1 (en) * 2017-10-02 2019-04-11 Sensen Networks Group Pty Ltd AUTOMATIC LEARNING GUIDED OBJECT DETECTION SYSTEM AND METHOD
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
US20210125451A1 (en) * 2018-05-14 2021-04-29 Angel Playing Cards Co., Ltd. Table game management system and game management system
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170039807A1 (en) * 2015-08-03 2017-02-09 Angel Playing Cards Co., Ltd. Fraud detection system in casino

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
J. Long et al., ‘Fully Convolutional Networks for Semantic Segmentation,’ In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2015, pp.3231-3440 (2015.06.) 1부.* *

Also Published As

Publication number Publication date
US20210264149A1 (en) 2021-08-26
EP3692470A1 (en) 2020-08-12
US11288508B2 (en) 2022-03-29
CL2020000890A1 (es) 2020-11-06
JP7246382B2 (ja) 2023-03-27
US20200302168A1 (en) 2020-09-24
ZA202002357B (en) 2021-10-27
AU2018344762B2 (en) 2022-09-22
AU2021102739A4 (en) 2021-07-15
WO2019068141A1 (en) 2019-04-11
KR102501264B1 (ko) 2023-02-20
AU2021102737A4 (en) 2021-07-08
US11694336B2 (en) 2023-07-04
CN111971685A (zh) 2020-11-20
JP2020536324A (ja) 2020-12-10
AU2021102740A4 (en) 2021-07-15
AU2022291472A1 (en) 2023-02-02
CA3078245A1 (en) 2019-04-11
PH12020550496A1 (en) 2021-03-22
AU2021102736A4 (en) 2021-07-08
EP3692470A4 (en) 2021-08-11
AU2018344762A1 (en) 2020-05-14

Similar Documents

Publication Publication Date Title
KR102501264B1 (ko) 기계 학습 기반의 개체 검출을 위한 시스템 및 방법
US11580746B2 (en) System and method for automated table game activity recognition
US11636731B2 (en) Systems, methods and devices for monitoring betting activities
US20230419769A1 (en) Systems, methods and devices for monitoring betting activities
EP3528219A1 (en) Systems, methods and devices for monitoring betting activities
JP2024016049A (ja) ゲーミングチップの計数
NZ788283A (en) System and method for automated table game activity recognition

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant