KR20210092685A - System for managing billiard game of artificial intelligence based on image analysis technology - Google Patents

System for managing billiard game of artificial intelligence based on image analysis technology Download PDF

Info

Publication number
KR20210092685A
KR20210092685A KR1020210004152A KR20210004152A KR20210092685A KR 20210092685 A KR20210092685 A KR 20210092685A KR 1020210004152 A KR1020210004152 A KR 1020210004152A KR 20210004152 A KR20210004152 A KR 20210004152A KR 20210092685 A KR20210092685 A KR 20210092685A
Authority
KR
South Korea
Prior art keywords
ball
billiard
image
game
unit
Prior art date
Application number
KR1020210004152A
Other languages
Korean (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
Application filed by 주식회사 인텐 filed Critical 주식회사 인텐
Publication of KR20210092685A publication Critical patent/KR20210092685A/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63DBOWLING GAMES, e.g. SKITTLES, BOCCE OR BOWLS; INSTALLATIONS THEREFOR; BAGATELLE OR SIMILAR GAMES; BILLIARDS
    • A63D15/00Billiards, e.g. carom billiards or pocket billiards; Billiard tables
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/90Determination of colour characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N5/225

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Pinball Game Machines (AREA)

Abstract

The present invention relates to an image analysis technology-based artificial intelligence billiard game management system. An objective to be achieved is to minimize costs consumed for an image analyzer through the simplification of an image analysis algorithm, calculate a more accurate result by more precisely decoding a position change and a progressing path of a billiard ball, and provide a more variety of game information to players based on the calculated result. According to one embodiment, the image analysis technology-based artificial intelligence billiard game management system includes: an image photographing part installed in an upper part of a billiard table to photograph an upper side of the billiard table; an image analysis part receiving an image photographed through the image photographing part, recognizing billiard balls in the image in accordance with color values, analyzing a collision between the billiard balls and a collision with cushions by calculating position values of the billiard balls, calculating a score result in accordance with an analysis result and pre-defined game rules, and calculating and recording game record information by each player based on the calculated score result; and a display part receiving and outputting the game record information of the image analysis part.

Description

영상 분석 기술 기반의 인공지능 당구 게임 관리 시스템{SYSTEM FOR MANAGING BILLIARD GAME OF ARTIFICIAL INTELLIGENCE BASED ON IMAGE ANALYSIS TECHNOLOGY} Artificial intelligence billiard game management system based on image analysis technology {SYSTEM FOR MANAGING BILLIARD GAME OF ARTIFICIAL INTELLIGENCE BASED ON IMAGE ANALYSIS TECHNOLOGY}

본 발명의 실시예는 영상 분석 기술 기반의 인공지능 당구 게임 관리 시스템에 관한 것이다.An embodiment of the present invention relates to an artificial intelligence billiard game management system based on image analysis technology.

당구는 게임의 종류에 따라 정해진 규칙에 의해 점수가 올라가거나 내려가는 게임이다. 종래의 당구 점수 계산 방식은 당구대 옆에 설치되어 있는 점수 계산대에서 플레이어가 점수 표시 알을 일일이 옮겨 놓으며 계산하는 방식이었다. 즉, 당구 플레이어는 수평 봉을 따라 좌우로 이동되는 다수의 점수 표시 알을 이용하여 점수 표시 알을 득실 수와 동일한 개수만큼 이동시켜 점수를 계산한다. Billiards is a game in which the score goes up or down according to a set rule depending on the type of game. The conventional billiard score calculation method was a method in which the player moved the score display eggs one by one at the score counter installed next to the billiard table to calculate the score. That is, the billiard player calculates a score by moving the score display eggs by the same number as the gain/loss number using a plurality of score display eggs moving left and right along the horizontal bar.

이러한 종래의 점수 계산 방식은 플레이어가 점수를 직접 세고 그에 따른 점수만큼 점수 표시 알을 옮겨야 하는데, 플레이어가 센 점수를 잊어버려 점수 득실이 불명확한 경우가 있다.In such a conventional score calculation method, the player must directly count the score and move the score display egg according to the score. However, the player forgets the high score and the score gain or loss is unclear.

또한, 당구는 실력에 따라 핸디 점수를 적용하는데, 지역 또는 당구장에 따라 플레이어의 핸디 점수를 적용하는 방법이 달라서, 처음 만난 플레이어가 당구 게임을 하는 경우, 핸디 점수를 공평하게 적용하기 어려운 경우가 있다.In addition, in billiards, handy points are applied according to skill, and the method of applying the player's handy points is different depending on the region or billiard room, so when a player you meet for the first time plays a billiards game, it is difficult to apply the handy score fairly. .

특히, 쓰리쿠션(three cushion)은 3개의 공을 당구대 위에 놓고 두 개의 적구 중 마지막 적구를 타격하기 전에 당구대 측면의 쿠션부분을 3회 이상 부딪히면 득점을 하는 방식이다.In particular, the three cushion is a method in which three balls are placed on the billiard table and a score is scored by hitting the cushion on the side of the billiard table three or more times before hitting the last of the two red balls.

최근에는 당구대의 좌표시스템을 이용하여 수구가 제1적구, 제2적구 또는 쿠션과 충돌하였는지 여부를 판단하는 당구 게임 시스템이 등장하고 있다. Recently, a billiard game system that determines whether a cue ball collides with a first red ball, a second red ball, or a cushion by using a billiard table coordinate system has emerged.

그러나, 이러한 당구 게임 시스템은 촬영된 영상정보에 잔존하는 당구공의 잔상으로 인해 당구공의 중심 좌표를 정확하게 계산할 수 없으므로, 당구공의 충돌여부를 정확하게 판단할 수 없다는 문제가 있다. However, since such a billiard game system cannot accurately calculate the center coordinates of a billiard ball due to an afterimage of the billiard ball remaining in the photographed image information, there is a problem in that it cannot accurately determine whether the billiard ball collides.

등록특허공보 제10-1938607호(등록일자: 2019년01월09일)Registered Patent Publication No. 10-1938607 (Registration Date: January 09, 2019) 공개특허공보 제10-2013-0114512호(공개일자: 2013년10월18일)Laid-Open Patent Publication No. 10-2013-0114512 (published date: October 18, 2013)

본 발명의 실시예는, 영상분석 알고리즘의 단순화를 통해 영상분석장치에 소요되는 비용을 최소화하고, 당구공의 진행경로와 위치변화를 더욱 미세하게 판독하여 더욱 정확한 결과를 산출하고, 산출된 결과를 바탕으로 플레이어에게 보다 다양하고 게임정보를 제공하는 영상 분석 기술 기반의 인공지능 당구 게임 관리 시스템을 제공한다.The embodiment of the present invention minimizes the cost of the image analysis apparatus through the simplification of the image analysis algorithm, reads the progress path and position change of the billiard ball more finely, calculates a more accurate result, and calculates the calculated result. It provides an artificial intelligence billiards game management system based on video analysis technology that provides more diverse and game information to players.

본 발명의 실시예에 따른 영상 분석 기술 기반의 인공지능 당구 게임 관리 시스템은, 당구테이블의 상부에 설치되어 당구테이블의 상면을 촬영하는 영상 촬영부; 상기 영상 촬영부를 통해 촬영된 영상을 입력 받고, 영상 내 당구공을 색상 값에 따라 인식하고, 당구공의 위치 값을 계산하여 당구공 간 충돌 및 쿠션과의 충돌을 분석하고, 분석 결과와 미리 정의된 게임 룰에 따라 득점결과를 산출하고, 산출된 득점결과에 기초하여 플레이어 별 게임기록정보를 산출하여 기록하는 영상 분석부; 및 상기 영상 분석부의 게임기록정보를 입력 받아 출력하는 디스플레이부를 포함한다.An artificial intelligence billiards game management system based on image analysis technology according to an embodiment of the present invention includes: an image capturing unit installed on an upper portion of a billiard table to photograph an upper surface of the billiard table; Receives an image captured through the image capturing unit, recognizes a billiard ball in the image according to a color value, calculates the position value of the billiard ball, analyzes the collision between billiard spaces and the cushion, and defines the result of the analysis in advance an image analysis unit that calculates a scoring result according to the established game rules, and calculates and records game record information for each player based on the calculated scoring result; and a display unit for receiving and outputting game record information from the image analysis unit.

또한, 상기 영상 분석부는, 상기 영상 촬영부를 통해 촬영된 영상을 알파채널영상으로 전환하고, 전환된 알파채널영상에서 CMYK 값 중 K 값을 추출하고, 추출된 K 값에 따라 당구공을 각각 식별하고, 수구를 정의하는 당구공 식별부; 알파채널영상으로부터 각각 식별되는 수구의 센터 좌표 값, 및 수구와 쿠션 간의 거리 좌표 값을 각각 계산하고, 계산된 센터 좌표 값과 거리 좌표 값에 따라 당구공 간 충돌 및 쿠션과의 충돌을 인식하여 수구의 진행경로와 위치를 분석하는 수구 진행경로 분석부; 상기 수구 진행경로 분석부를 통해 분석된 당구공의 진행경로와 위치가 미리 정의된 게임 룰에 충족되는지 여부를 각각 판별하여 플레이어 별로 득점결과를 산출하는 득점결과 산출부; 및 상기 득점결과 산출부를 통해 산출된 득점결과에 기초하여 각 플레이어의 득점과 미 득점 데이터와 플레이 횟수를 계산하여 연속득점 기록, 평균 점수, 타율 및 공 타수를 계산하여 게임기록정보를 생성하여 디스플레이부로 제공하는 게임기록 계산부를 포함할 수 있다.In addition, the image analysis unit converts the image photographed through the image capturing unit into an alpha channel image, extracts a K value among CMYK values from the converted alpha channel image, identifies each billiard ball according to the extracted K value, , a billiard ball identification unit defining the water polo; The center coordinate value of the cue ball identified from the alpha channel image and the distance coordinate value between the cue ball and the cushion are respectively calculated, and the collision between the billiard space and the cushion is recognized according to the calculated center coordinate value and the distance coordinate value. Apparatus progress path analysis unit to analyze the progress path and location of the; a scoring result calculation unit for calculating a scoring result for each player by determining whether the path and position of the billiard ball analyzed through the water polo path analysis unit satisfy a predefined game rule; And, based on the scoring result calculated through the scoring result calculation unit, each player's scoring and non-scoring data and the number of plays are calculated, and the continuous scoring record, average score, batting average, and number of bats are calculated to generate game record information to the display unit. It may include a game record calculation unit to provide.

또한, 상기 당구공 식별부는, 상기 수구 진행경로 분석부를 통해 직선진행경로의 변경에 따른 위치 변화가 최초 발생된 당구공을 선구로 정의할 수 있다.In addition, the billiard ball identification unit may define a billiard ball in which a position change according to a change in a straight path through the cue ball traveling path analysis unit is initially generated as a precursor.

또한, 상기 디스플레이부는, 사용자로부터 선구를 지정 받고, 지정된 선구 정보를 상기 당구공 식별부로 전달하여 선구를 정의하여 상기 당구공 식별부로 정의된 선구 정보를 전달할 수 있다.In addition, the display unit may receive a ball designation from the user, transmit the designated ball information to the billiard ball identification unit to define the line ball, and transmit information about the ball defined by the billiard ball identification unit.

또한, 상기 수구 진행경로 분석부는, 당구테이블의 쿠션으로부터 당구공의 반지름 길이만큼 이격된 라인을 따라 형성된 가상의 레일영역 및 상기 레일영역 안쪽 영역인 가상의 필드영역이 각각 정의되고, 상기 레일영역에서 수구에 대한 상기 센터 좌표 값 중 X 및 Y 값 중 적어도 하나의 값이 0이거나, 상기 거리 좌표 값 중 X 및 Y 값 중 적어도 하나의 값이 0일 경우 수구의 쿠션 충돌로 인식하고, 상기 필드영역에서 수구의 직선진행경로에 대한 변경을 감지하면 수구의 충돌로 인식할 수 있다.In addition, the cue ball progress path analysis unit defines a virtual rail area formed along a line spaced apart from the cushion of the billiard table by the radius of the billiard ball and a virtual field area that is an area inside the rail area, respectively, in the rail area. When at least one of the X and Y values among the center coordinate values for the cue ball is 0, or when at least one of the X and Y values among the distance coordinate values is 0, it is recognized as a cushion collision of the cue ball, and the field area If it detects a change in the linear travel path of the apparatus, it can be recognized as a collision of the apparatus.

또한, 상기 득점결과 산출부는, 선구와 선구를 제외한 당구공 간의 충돌 여부, 당구공 및 쿠션에 대한 충돌 횟수와 순서를 포함하는 득점성공 판독기준정보와, 수구를 제외한 당구공의 진행 변경이 먼저 발생했는지 여부, 수구와 수구를 제외한 당구공의 충돌 여부, 수구와 쿠션 간의 충돌 여부, 촬영 영역 내 당구공의 존재 여부, 선구 이외에 당구공의 위치 및 진행경로 중 적어도 하나의 변경이 먼저 발생했는지 여부, 미리 설정된 플레이 타임 준수 여부, 및 상기 득점성공 판독기준정보에 대한 충족 여부를 포함하는 득점실패 판독기준정보가 각각 정의되어 플레이어 별로 득점결과를 산출할 수 있다.In addition, the scoring result calculation unit includes information on the scoring success reading criteria including whether or not there is a collision between the cue ball and the billiard ball excluding the cue ball, the number and sequence of collisions with the billiard ball and the cushion, and the progress change of the billiard ball excluding the cue ball first occurs whether the cue ball and the cue ball collided, whether the cue ball and the cushion collide, whether there was a billiard ball in the shooting area, and whether at least one of the position and path of the billiard ball other than the first ball was changed first; Scoring failure reading reference information including whether a preset play time is observed and whether the scoring success reading criterion information is satisfied is defined, respectively, so that a scoring result can be calculated for each player.

또한, 인터넷 통신망을 통해 상기 영상 분석부의 게임기록정보를 입력 받고, 입력된 게임기록정보를 저장하며, 플레이어 별 게임기록정보를 누적시켜 게임통계정보를 생성하는 서버부; 및 모바일 어플리케이션 및 웹 사이트 중 적어도 하나의 형태로 구현되고, 플레이어 로그인 정보에 따라 상기 서버부로부터 게임기록정보와 게임통계정보를 수신하여 제공하는 게임정보 제공부를 더 포함할 수 있다.In addition, a server unit for receiving the game record information of the image analysis unit through the Internet communication network, storing the input game record information, and accumulating game record information for each player to generate game statistical information; and a game information providing unit implemented in the form of at least one of a mobile application and a web site, and receiving and providing game record information and game statistics information from the server unit according to player login information.

본 발명에 따르면, 영상분석 알고리즘의 단순화를 통해 영상분석장치에 소요되는 비용을 최소화하고, 당구공의 진행경로와 위치변화를 더욱 미세하게 판독하여 더욱 정확한 결과를 산출하고, 산출된 결과를 바탕으로 플레이어에게 보다 다양하고 게임정보를 제공하는 영상 분석 기술 기반의 인공지능 당구 게임 관리 시스템을 제공할 수 있다.According to the present invention, the cost of the image analysis apparatus is minimized through the simplification of the image analysis algorithm, the progress path and position change of the billiard ball are read more finely, the more accurate result is calculated, and based on the calculated result It is possible to provide an artificial intelligence billiards game management system based on image analysis technology that provides more diverse game information to players.

도 1은 본 발명의 실시예에 따른 영상 분석 기술 기반의 인공지능 당구 게임 관리 시스템의 전체 구성 및 구성 관계를 나타낸 개요도이다.
도 2는 본 발명의 실시예에 따른 영상 분석 기술 기반의 인공지능 당구 게임 관리 시스템의 전체 구성을 나타낸 블록도이다.
도 3은 본 발명의 실시예에 따른 영상 분석부의 세부 구성을 나타낸 블록도이다.
도 4는 본 발명의 실시예에 따른 영상 촬영부의 영상 캡쳐 이미지, 영상 분석부의 영상분석 프로그램을 통한 영상 캡쳐 이미지를 각각 나타낸 도면이다.
도 5는 본 발명의 실시예에 따른 영상 분석부의 영상분석 프로그램에 정의된 가상의 레일영역과 필드영역을 나타낸 캡쳐 이미지를 나타낸 도면이다.
도 6은 도 5에 도시된 레일영역을 설명하기 위해 나타낸 도면이다.
도 7은 본 발명의 실시예에 따른 영상 분석부의 영상분석 프로그램을 통해 당구공의 위치정보를 파악하기 위한 캡쳐 이미지를 나타낸 도면이다.
도 8은 본 발명의 실시예에 따른 수구의 쿠션 충돌 감지 원리 및 진행경로 분석 방법을 설명하기 위한 영상 분석부의 영상분석 프로그램의 캡쳐 이미지를 나타낸 도면이다.
도 9는 본 발명의 실시예에 따른 다양한 게임기록정보를 표시하는 디스플레이부를 나타낸 도면이다.
1 is a schematic diagram showing the overall configuration and configuration relationship of an artificial intelligence billiard game management system based on image analysis technology according to an embodiment of the present invention.
2 is a block diagram showing the overall configuration of an artificial intelligence billiard game management system based on image analysis technology according to an embodiment of the present invention.
3 is a block diagram illustrating a detailed configuration of an image analysis unit according to an embodiment of the present invention.
4 is a diagram illustrating an image captured image of an image capturing unit and an image captured image through an image analysis program of an image analyzing unit, respectively, according to an embodiment of the present invention.
5 is a view showing a captured image showing a virtual rail region and a field region defined in the image analysis program of the image analysis unit according to an embodiment of the present invention.
FIG. 6 is a view illustrating the rail area shown in FIG. 5 .
7 is a view showing a captured image for grasping location information of a billiard ball through an image analysis program of an image analysis unit according to an embodiment of the present invention.
8 is a view showing a captured image of the image analysis program of the image analysis unit for explaining the cushion collision detection principle and the progress path analysis method of the cue ball according to an embodiment of the present invention.
9 is a view showing a display unit for displaying various game record information according to an embodiment of the present invention.

본 명세서에서 사용되는 용어에 대해 간략히 설명하고, 본 발명에 대해 구체적으로 설명하기로 한다.Terms used in this specification will be briefly described, and the present invention will be described in detail.

본 발명에서 사용되는 용어는 본 발명에서의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 발명의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 발명에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 발명의 전반에 걸친 내용을 토대로 정의되어야 한다.The terms used in the present invention have been selected as currently widely used general terms as possible while considering the functions in the present invention, but these may vary depending on the intention or precedent of a person skilled in the art, the emergence of new technology, and the like. In addition, in a specific case, there is a term arbitrarily selected by the applicant, and in this case, the meaning will be described in detail in the description of the corresponding invention. Therefore, the term used in the present invention should be defined based on the meaning of the term and the overall content of the present invention, rather than the name of a simple term.

명세서 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다. 또한, 명세서에 기재된 "...부", "모듈" 등의 용어는 적어도 하나 이상의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.When a part "includes" a certain element throughout the specification, this means that other elements may be further included, rather than excluding other elements, unless otherwise stated. In addition, terms such as "...unit" and "module" described in the specification mean a unit that processes at least one function or operation, which may be implemented as hardware or software, or a combination of hardware and software. .

아래에서는 첨부한 도면을 참고하여 본 발명의 실시예에 대하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다. Hereinafter, with reference to the accompanying drawings, embodiments of the present invention will be described in detail so that those of ordinary skill in the art can easily carry out the embodiments of the present invention. However, the present invention may be embodied in many different forms and is not limited to the embodiments described herein. And in order to clearly explain the present invention in the drawings, parts irrelevant to the description are omitted, and similar reference numerals are attached to similar parts throughout the specification.

도 1은 본 발명의 실시예에 따른 영상 분석 기술 기반의 인공지능 당구 게임 관리 시스템의 전체 구성 및 구성 관계를 나타낸 개요도이고, 도 2는 본 발명의 실시예에 따른 영상 분석 기술 기반의 인공지능 당구 게임 관리 시스템의 전체 구성을 나타낸 블록도이고, 도 3은 본 발명의 실시예에 따른 영상 분석부의 세부 구성을 나타낸 블록도이고, 도 4는 본 발명의 실시예에 따른 영상 촬영부의 영상 캡쳐 이미지, 영상 분석부의 영상분석 프로그램을 통한 영상 캡쳐 이미지를 각각 나타낸 도면이고, 도 5는 본 발명의 실시예에 따른 영상 분석부의 영상분석 프로그램에 정의된 가상의 레일영역과 필드영역을 나타낸 캡쳐 이미지를 나타낸 도면이고, 도 6은 도 5에 도시된 레일영역을 설명하기 위해 나타낸 도면이고, 도 7은 본 발명의 실시예에 따른 영상 분석부의 영상분석 프로그램을 통해 당구공의 위치정보를 파악하기 위한 캡쳐 이미지를 나타낸 도면이고, 도 8은 본 발명의 실시예에 따른 수구의 쿠션 충돌 감지 원리 및 진행경로 분석 방법을 설명하기 위한 영상 분석부의 영상분석 프로그램의 캡쳐 이미지를 나타낸 도면이며, 도 9는 본 발명의 실시예에 따른 다양한 게임기록정보를 표시하는 디스플레이부를 나타낸 도면이다.1 is a schematic diagram showing the overall configuration and configuration relationship of an artificial intelligence billiard game management system based on image analysis technology according to an embodiment of the present invention, and FIG. 2 is an image analysis technology-based artificial intelligence billiards according to an embodiment of the present invention. It is a block diagram showing the overall configuration of the game management system, Figure 3 is a block diagram showing the detailed configuration of the image analysis unit according to the embodiment of the present invention, Figure 4 is an image capture image of the image capturing unit according to the embodiment of the present invention, It is a view showing image captured images through the image analysis program of the image analysis unit, respectively, and FIG. 5 is a view showing captured images showing the virtual rail region and the field region defined in the image analysis program of the image analysis unit according to an embodiment of the present invention 6 is a view for explaining the rail region shown in FIG. 5, and FIG. 7 is a captured image for grasping the location information of the billiard ball through the image analysis program of the image analysis unit according to the embodiment of the present invention. 8 is a view showing a captured image of the image analysis program of the image analysis unit for explaining the cushion collision detection principle and progress path analysis method of the cue ball according to an embodiment of the present invention, and FIG. 9 is an embodiment of the present invention It is a view showing a display unit for displaying various game record information according to an example.

도 1 및 도 2를 참조하면, 본 발명의 실시예에 따른 영상 분석 기술 기반의 인공지능 당구 게임 관리 시스템(1000)은 영상 촬영부(100), 영상 분석부(200), 디스플레이부(300), 서버부(400) 및 게임정보 제공부(500)를 포함할 수 있다.1 and 2 , the artificial intelligence billiard game management system 1000 based on image analysis technology according to an embodiment of the present invention includes an image capturing unit 100 , an image analyzing unit 200 , and a display unit 300 . , a server unit 400 and a game information providing unit 500 may be included.

상기 영상 촬영부(100)는, 당구테이블(10)의 상부에 설치되어 당구테이블(10)의 상면을 촬영함으로써, 당구테이블, 수구 및 목적구들을 촬영한 영상을 생성할 수 있으며, 게임 시작과 동시에 촬영 모드가 활성화되어 영상을 촬영할 수 있다. The image capturing unit 100 is installed on the top of the billiard table 10 to photograph the upper surface of the billiard table 10, thereby generating images of the billiard table, water polo and object balls, and the game starts and At the same time, the shooting mode is activated and you can take a picture.

이러한 영상 촬영부(100)는 카메라 모듈을 포함할 수 있으며, 카메라 모듈은 당구테이블(10)로부터 소정 거리 이격된 위치에 설치된 것으로써, 당구테이블(10) 상부의 중앙부에 위치하거나, 당구테이블(10) 상부의 중앙부로부터 소정 거리 이격되어 위치할 수 있으나, 본 실시예에서는 카메라 모듈의 설치 위치를 구체적으로 한정하는 것은 아니다. The image capturing unit 100 may include a camera module, and the camera module is installed at a location spaced apart from the billiard table 10 by a predetermined distance, and is located in the center of the billiard table 10 or the billiard table ( 10) It may be located at a predetermined distance from the central portion of the upper portion, but in this embodiment, the installation position of the camera module is not specifically limited.

또한, 카메라 모듈은 초당 소정의 기준 이상의 개수의 프레임으로 영상을 촬영할 수 있다. 예를 들어, 카메라 모듈은 당구공의 움직임을 정확히 촬영하기 위해 초당 60 프레임 이상으로 영상을 촬영할 수 있다. 상기 영상 분석부(200)는, 영상 촬영부(100)를 통해 촬영된 영상을 실시간 입력 받고, 영상 내 당구공을 색상 값에 따라 인식하고, 당구공의 위치 값을 계산하여 당구공 간 충돌 및 쿠션과의 충돌을 분석하고, 분석 결과와 미리 정의된 게임 룰에 따라 득점결과를 산출하며, 산출된 득점결과에 기초하여 플레이어 별 게임기록정보를 산출하여 기록할 수 있다. Also, the camera module may capture an image at a number of frames greater than or equal to a predetermined reference number per second. For example, the camera module may capture an image at 60 frames per second or more in order to accurately capture the movement of the billiard ball. The image analysis unit 200 receives an image captured by the image capturing unit 100 in real time, recognizes a billiard ball in the image according to a color value, calculates the position value of the billiard ball, and It is possible to analyze the collision with the cushion, calculate a score result according to the analysis result and a predefined game rule, and calculate and record game record information for each player based on the calculated score result.

이를 위해 영상 분석부(200)는 도 3에 도시된 바와 같이 당구공 식별부(210), 수구 진행경로 분석부(220), 득점결과 산출부(230) 및 게임기록 계산부(240)를 포함할 수 있다.To this end, the image analysis unit 200 includes a billiard ball identification unit 210, a cue ball progress path analysis unit 220, a scoring result calculation unit 230, and a game record calculation unit 240 as shown in FIG. can do.

상기 당구공 식별부(210)는, 영상 촬영부(100)를 통해 촬영된 영상을 알파채널영상으로 전환하고, 전환된 알파채널영상에서 CMYK(cyan, magenta, yellow, black) 값 중 K(black) 값을 추출하고, 추출된 K 값에 따라 당구공을 각각 식별하고, 수구를 정의할 수 있다.The billiard ball identification unit 210 converts the image captured by the image capturing unit 100 into an alpha channel image, and K (black) among CMYK (cyan, magenta, yellow, black) values in the converted alpha channel image. ) value, identify each billiard ball according to the extracted K value, and define water polo.

예를 들어, 1,800 lux 내지 2,000 lux 이하의 조도에서 촬영한 영상이 도 4의 (a)에 도시되어 있으며, 이를 영상분석 프로그램의 알파채널로 전환한 후 CMYK(cyan, magenta, yellow, black) 값 중 K(black) 값을 추출하며, 이때 빨간공은 K97, 흰색공은 K3, 노란공은 K24 값으로 추출될 수 있다. For example, an image taken at an illuminance of 1,800 lux to 2,000 lux or less is shown in (a) of FIG. 4 , and after converting it to the alpha channel of an image analysis program, CMYK (cyan, magenta, yellow, black) values Among them, the K (black) value is extracted. At this time, the red ball may be extracted as K97, the white ball as K3, and the yellow ball as K24.

도 4의 (b) 및 (c)를 참조하면, 당구공 별 K 값의 추출 결과, K 값이 가장 높은 공(빛의 노출량이 가장 적은 공)을 적구로 정의(K97, H32)하고, K 값이 가장 낮은 공(빛의 노출량이 가장 많은 공)을 백구로 정의(K3, H98)하고, 나머지 공을 황구로 정의(K24, H82)할 수 있다.4 (b) and (c), as a result of the extraction of the K value for each billiard ball, the ball with the highest K value (the ball with the least amount of light exposure) is defined as a red sphere (K97, H32), and K The ball with the lowest value (the ball with the most light exposure) can be defined as a white ball (K3, H98), and the remaining balls can be defined as a yellow ball (K24, H82).

종래의 영상분석 프로그램은 영상의 RGB 컬러분석을 통하여 당구공을 식별하였는데, 본 실시예와 같이CMYK(cyan, magenta, yellow, black) 값 중 K(black) 값을 추출하여 당구공의 컬러분석방법은 종래의 RGB 컬러분석방법보다 알고리즘이 상대적으로 단순하므로 분석 오류가 적다. 예를 들어, 플레이어가 노란 장갑을 착용하고 플레이를 하게 되면 장갑의 색상으로 인해 황구로 인식함에 따른 오류가 발생될 가능성 높다. 또한, 종래의 RGB 컬러분석 시 해당 알고리즘이 상당히 복잡하기 때문에 하드웨어에 대한 CPU 점유가 높으나, 본 실시예에서는 비교적 간단한 알고리즘 설계로 인해 하드웨어의 제작비용 또한 종래보다 낮아 비용 절감 효과 있다.A conventional image analysis program identifies a billiard ball through RGB color analysis of an image. As in this embodiment, a color analysis method of a billiard ball by extracting a K (black) value from CMYK (cyan, magenta, yellow, black) values Since the algorithm is relatively simpler than the conventional RGB color analysis method, there is less analysis error. For example, if the player wears yellow gloves and plays, there is a high possibility that an error will occur due to the color of the glove. In addition, in the case of conventional RGB color analysis, since the corresponding algorithm is quite complex, the CPU occupancy for the hardware is high. However, in this embodiment, the manufacturing cost of the hardware is also lower than the conventional one due to the relatively simple algorithm design, thereby reducing costs.

상기 당구공 식별부(210)는, 영상분석 결과에 따라 백구(K3, H98)와 황구(K24, H82)를 수구로 정의할 수 있다. The billiard ball identification unit 210 may define the white balls (K3, H98) and the yellow balls (K24, H82) as the cue ball according to the image analysis result.

상기 당구공 식별부(210)는, 후술하는 수구 진행경로 분석부(220)를 통해 직선진행경로의 변경에 따른 위치 변화가 최초 발생된 당구공을 선구로 정의하고, 당구공 식별부(210)로 정의된 선구 정보를 전달할 수 있다. 즉, 게임 시작 이후 수구로 식별된 공 중에 다른 공과의 충돌에 의해 직선진행경로의 변경이 발생되어 그 위치 변화가 최초로 발생된 공을 선구로 정의할 수 있다. The billiard ball identification unit 210 defines a billiard ball in which a position change due to a change in a straight path through a cue ball traveling path analysis unit 220 to be described later as a precursor, and the billiard ball identification unit 210 It can deliver the precursor information defined as . That is, after the start of the game, the change of the straight path is caused by a collision with another ball among the balls identified as the cue ball, and the ball whose position change occurs first can be defined as the pioneer.

상기 수구 진행경로 분석부(220)는, 알파채널영상으로부터 각각 식별되는 수구의 센터 좌표 값, 및 수구와 쿠션 간의 거리 좌표 값을 각각 계산하고, 계산된 센터 좌표 값과 거리 좌표 값에 따라 당구공 간 충돌 및 쿠션과의 충돌을 인식하여 수구의 진행경로와 위치를 분석할 수 있다. The cue ball progress path analysis unit 220 calculates the center coordinate value of the cue ball identified from the alpha channel image, and the distance coordinate value between the cue ball and the cushion, respectively, and according to the calculated center coordinate value and the distance coordinate value, the billiard ball By recognizing the collision between the two bodies and the collision with the cushion, the path and position of the apparatus can be analyzed.

좀 더 구체적으로 수구 진행경로 분석부(220)는, 도 5 및 도 6에 도시된 바와 같이 당구테이블(10)의 쿠션으로부터 당구공의 반지름 길이만큼 이격된 라인을 따라 형성된 가상의 레일영역이 정의되고, 해당 레일영역 안쪽 영역인 가상의 필드영역이 정의될 수 있다. 이러한 가상의 레일영역과 필드영역은 필드영역 내에서 수구의 직전진로변경에 따른 목적구와의 충돌 감지, 그리고 레일영역으로의 수구의 위치 값을 이용한 쿠션 접촉을 각각 인식하기 위한 가상의 영역이다.More specifically, as shown in FIGS. 5 and 6, the cue ball progress path analysis unit 220 defines a virtual rail region formed along a line spaced apart from the cushion of the billiard table 10 by the radius of the billiard ball. and a virtual field area that is an area inside the rail area may be defined. The virtual rail area and the field area are virtual areas for detecting collision with the object ball according to the change of the previous course of the cue ball in the field area and for recognizing the cushion contact using the position value of the cue ball to the rail area, respectively.

상기한 바와 같이 수구 진행경로 분석부(220)는 각 공의 위치 정보를 센터 좌표 값(공의 중앙점 좌표 값)과 거리 좌표 값(센터 좌표 값으로부터 쿠션(레일영역) 간에 떨어진 X, Y축 거리)로 파악할 수 있다. 예를 들어, 도 7에 도시된 바와 각 공의 센터 좌표 값은 X1, Y1 = 525mm, 1333mm이고, 거리 좌표 값은 X2, Y2=1475mm, 1373mm로서 각 공의 중앙 부분이 2차원 좌표 상에 어느 위치에 있는지, 각 공이 센터로부터 쿠션 부분으로부터 어느 정도 위치에 떨어져 있는지에 대한 위치 정보를 각각 파악할 수 있다. As described above, the cue ball progress path analysis unit 220 stores the position information of each ball on the center coordinate value (center point coordinate value of the ball) and the distance coordinate value (X, Y axis separated from the center coordinate value between the cushion (rail area) distance) can be found. For example, as shown in Fig. 7, the center coordinate values of each ball are X1, Y1 = 525mm, 1333mm, and the distance coordinate values are X2, Y2=1475mm, 1373mm. It is possible to grasp the position information about the position and how far each ball is from the cushion part from the center.

상기 수구 진행경로 분석부(220)는 레일영역에서 수구의 센터 좌표 값 중 X 및 Y 값 중 적어도 하나의 값이 0이거나, 거리 좌표 값 중 X 및 Y 값 중 적어도 하나의 값이 0일 경우 수구의 쿠션 충돌로 인식할 수 있고, 필드영역에서 수구의 직선진행경로에 대한 변경을 감지하면 수구의 충돌로 인식할 수 있다.When at least one of the X and Y values among the center coordinate values of the cue ball in the rail region is 0, or at least one of the X and Y values among the distance coordinate values is 0, the cue ball progress path analysis unit 220 It can be recognized as a collision of the cushion of the apparatus, and when a change in the straight path of the apparatus is detected in the field area, it can be recognized as a collision of the apparatus.

좀 더 구체적으로, 레일영역의 접점 발생 시 레일 충돌 발생으로 인지하며, 레일 접점 횟수로 3구 게임의 경우 득점 충족 조건인 수구의 3쿠션 이상 발생 했는지 여부를 인지할 수 있으며, More specifically, when a contact point in the rail area occurs, it is recognized as a rail collision, and in the case of a three-ball game, it is possible to recognize whether or not more than three cushions of the water polo, which is a score satisfying condition, have occurred by the number of rail contact points.

예를 들어, 도 8에 도시된 바와 같이, 가상의 레일영역(노란색 라인 영역)과 수구의 거리 값을 나타내는 X2 또는 Y2 값이 '0'이 되면 수구가 레일(쿠션)에 충돌한 것으로 인식할 수 있다.For example, as shown in FIG. 8, when the X2 or Y2 value indicating the distance value between the virtual rail area (yellow line area) and the cue ball becomes '0', the cue ball can be recognized as colliding with the rail (cushion). can

한편, 수구와 목적구 간의 충돌 감지는 수구의 직선진로의 변경 유무로 인식할 수 있는데, 예를 들어, 도 8에 도시된 바와 같이 수구(황구)의 진행경로 중 A 지점과 B 지점은 필드영역 내에서 진로변경이 발생함을 확인할 수 있으며, 이때 발생되는 필드영역 내 진로변경의 발생은 수구의 충돌로 인식할 수 있다. 또한, 수구(황구)는 A 지점에서 백구와 충돌이 발생하였으며, B 지점에서 적구와 충돌이 발생함을 확인할 수 있다. On the other hand, collision detection between the cue ball and the object ball can be recognized by the presence or absence of a change in the straight path of the cue ball. For example, as shown in FIG. 8, point A and point B among the progress path of the cue ball (hwang ball) are field areas. It can be confirmed that the course change occurs within the field, and the occurrence of the course change within the field area at this time can be recognized as a collision of the apparatus. In addition, it can be confirmed that the water ball (hwanggu) collided with the white ball at point A and collided with the red ball at point B.

도 8에 도시된 수구의 진행경로를 보면, 일반적인 3구 게임의 룰 또는 조건 중 수구를 제외한 볼에 충돌이 있어야 한다는 조건을 충족하고 있으며, 해당 수구는 C, D, E, F, G, H 지점에서 레일 또는 쿠션과의 접점(충돌)이 총 5회 접점 발생함을 확인할 수 있다. 이러한 수구(황구)의 히스토리를 정리하면 'A 지점 백구 충돌' 'C 지점 레일 충돌', 'D 지점 레일 충돌' 'E 지점 레일 충돌', 'F 지점 레일 충돌', 'G 지점 레일 충돌', 'B 지점 적구 충돌', 'H 지점 레일 충돌'이 되며, 이러한 히스토리의 수구는 득점결과 산출부(230)를 통해 득점에 성공한 것으로 판별될 수 있다. Looking at the progress path of the water polo shown in FIG. 8, the condition that the ball must collide with the ball except for the water polo among the rules or conditions of a general three-ball game is met, and the corresponding water polo is C, D, E, F, G, H It can be seen that the contact point (collision) with the rail or cushion occurs a total of 5 times at the point. Summarizing the history of these cue ball (hwanggu), we can see 'A point white ball collision', 'C point rail collision', 'D point rail collision' 'E point rail collision', 'F point rail collision', 'G point rail collision', It becomes 'Red ball collision at point B' and 'Rail collision at point H', and the cue ball in the history may be determined to have successfully scored through the scoring result calculator 230 .

종래의 수구 진행경로 판단방법은 목적구의 좌표 값의 변화로 득점여부를 판단하므로, 모든 볼의 완전한 정지 후 결과를 도출함으로 결과를 빠르게 알 수 없으나, 본 실시예에 따른 수구 진행경로 분석부(200)는 수구의 진로 변경을 중심으로 목적구의 충돌 및 레일 충돌을 정의함으로 빠른 득점여부 결과를 산출함과 동시에 1mm 단위로 레일과의 거리를 산정함에 따라 보다 정밀하고 정확한 결과를 도출할 수 있도록 한다.Since the conventional method for determining the progress path of water polo determines whether to score by changing the coordinate value of the object ball, the result cannot be known quickly by deriving the result after all balls are completely stopped, but the water polo path analysis unit 200 according to this embodiment ) defines the collision of the object ball and the collision of the rail with the focus on the change of the course of the cue ball, so that the result of quick scoring is calculated and, at the same time, more precise and accurate results can be derived by calculating the distance from the rail in units of 1 mm.

상기 득점결과 산출부(230)는, 수구 진행경로 분석부(220)를 통해 분석된 당구공의 진행경로와 위치가 미리 정의된 게임 룰에 충족되는지 여부를 각각 판별하여 플레이어 별로 득점결과를 산출할 수 있다.The scoring result calculation unit 230 determines whether the traveling path and position of the billiard ball analyzed through the water polo path analysis unit 220 meet the predefined game rules, respectively, and calculates the scoring result for each player. can

이를 위해 득점결과 산출부(230)는, 득점성공 판독기준정보와 득점실패 판독기준정보가 각각 정의되어 수구 진행경로 분석부(220)의 분석 결과와 비교하여 플레이어 별로 득점결과를 산출할 수 있다.To this end, the scoring result calculation unit 230 may calculate the scoring result for each player by comparing the scoring success reading reference information and the scoring failure reading reference information respectively with the analysis result of the water polo progress path analysis unit 220 .

상기 득점성공 판독기준정보는, 선구와 선구를 제외한 당구공 간의 충돌 여부, 당구공 및 쿠션에 대한 충돌 횟수와 순서에 관한 게임 룰 정보를 포함할 수 있다. The scoring success reading reference information may include game rule information regarding whether or not a ball collides with a billiard ball other than a lead ball, and the number and sequence of collisions with the billiard ball and the cushion.

예를 들어, 득점결과 산출부(230)는 득점성공 판독을 위하여, 사용자가 지정한 볼이 선구인지 판독, 사용자가 황구를 선구로 지정 했다면 황구의 진로 변경이 먼저 발생하여야 하는 것, 선구를 제외한 볼에 모두 충돌이 발생하였는지를 판독(충돌 발생 시 선구의 진로 변경이 발생), 레일영역 내에서 백구와 적구 2개의 볼의 충돌이 모두 발생하였는지 유무, 레일영역에 접점(레일과의 거리 0)이 3회 이상 발생했는지 유무, 수구를 제외한 볼에 대해 충돌 발생과 레일 충돌 3회 이상인지, 사용자가 보드 시스템에서 지정한 방식에 부합 했을 시(ex 마무리를 2쿠션으로 설정 시 반드시 레일 접점이 먼저 2회 발생해야 하고 수구 외의 공에 대한 충돌이 모두 발생하여야 함) 등의 조건들의 충족 여부를 확인하여 득점 성공 여부를 판단할 수 있다.For example, the scoring result calculation unit 230 reads whether the ball designated by the user is a leading ball in order to read the scoring success, and if the user designates the yellow ball as the leading ball, the course change of the yellow ball must occur first, the ball except the leading ball Reads whether all collisions have occurred (when a collision occurs, the path of the pioneer changes), whether both the white ball and the red ball collide in the rail area, the contact point (distance 0) in the rail area is 3 Whether or not more than 1 collision occurs, whether collision occurs with balls except for the cue ball and rail collision 3 times or more, when the method specified in the board system is met (ex. When the finish is set to 2 cushion, the rail contact must occur 2 times first) Success in scoring can be judged by checking whether the conditions such as all collisions with the ball other than the apparatus) are satisfied.

상기 득점실패 판독기준정보는, 수구를 제외한 당구공의 진행 변경이 먼저 발생했는지 여부, 수구와 수구를 제외한 당구공의 충돌 여부, 수구와 쿠션 간의 충돌 여부, 촬영 영역 내 당구공의 존재 여부, 선구 이외에 당구공의 위치 및 진행경로 중 적어도 하나의 변경이 먼저 발생했는지 여부, 미리 설정된 플레이 타임 준수 여부, 및 득점성공 판독기준정보에 대한 충족 여부에 관한 게임 룰 정보를 포함할 수 있다.The scoring failure reading reference information includes whether a change in the progress of the billiard ball excluding the cue ball occurs first, whether the cue ball and the billiard ball excluding the cue ball collide, whether the cue ball and the cushion collide, whether the billiard ball exists in the shooting area, the precedent ball In addition, it may include game rule information regarding whether at least one of the location and progress path of the billiard ball is changed first, whether a preset play time is complied with, and whether or not the scoring success reading criterion information is satisfied.

예를 들어, 득점결과 산출부(230)는 득점실패 판독을 위하여, 사용자가 지정한 공이 아닌 다른 공의 진로변경을 먼저 발생시킨 경우, 상기한 득점성공 판독기준정보에 해당 되지 않을 경우, 공의 충돌이 없고, 레일의 접점이 없었으나 선구의 진로 변경 발생한 경우, 레일영역 내에 3개의 공이 존재하는지 유무, 사용자의 차례에서 선구를 제외한 공의 위치 및 진로변경이 발생 했을 경우, 보드 시스템에서 설정한 플레이 타임 준수 유무, 사용자가 보드 시스템에서 지정한 방식이 아닐 경우 등의 조건들이 충족 여부를 확인하여 득점 실패 여부를 판단할 수 있다.For example, the scoring result calculation unit 230 may first cause a change in the course of a ball other than the ball designated by the user in order to read the scoring failure, and if it does not correspond to the above-described scoring success reading reference information, the collision of the ball In the event of a change in the path of the lead, whether there are 3 balls in the rail area or not, if there is a change in the position and path of the ball except for the lead in the user's turn, the play set in the board system It is possible to determine whether or not a score has failed by checking whether conditions such as time compliance or when the method is not specified by the user in the board system are satisfied.

상기 게임기록 계산부(240)는, 득점결과 산출부(230)를 통해 산출된 득점결과에 기초하여 각 플레이어의 득점과 미 득점 데이터와 플레이 횟수를 계산하여 연속득점 기록, 평균 점수, 타율 및 공 타수를 계산하여 게임기록정보를 생성하여 디스플레이부(300)로 제공할 수 있다.The game record calculation unit 240 calculates each player's scoring and non-scoring data and the number of plays based on the scoring result calculated through the scoring result calculation unit 230 to record continuous scoring, average score, batting average, and ball The game record information may be generated by calculating the number of strokes and provided to the display unit 300 .

상기 디스플레이부(300)는, 영상 분석부(200)의 게임기록정보를 입력 받아 미리 설정된 인터페이스를 통해 출력할 수 있다. The display unit 300 may receive the game record information of the image analysis unit 200 and output it through a preset interface.

예를 들어, 디스플레이부(300)는 게임기록 계산부(240)로부터 플레이어의 득점, 미 득점 데이터 및 플레이 횟수의 연산계산을 통해 HR(High run) 연속득점 기록/ AVG (Average)점수/타율/공타수 등을 표출할 수 있으며, 이러한 게임기록정보는 플레이어가 실시간으로 확인 할 수 있다.For example, the display unit 300 records HR (High run) consecutive scores/ AVG (Average) score/batting average/ through calculation and calculation of the player's score, non-scoring data, and the number of plays from the game record calculation unit 240 . The number of empty bats can be displayed, and the game record information can be checked in real time by the player.

좀 더 구체적으로 도 9에 도시된 바와 같이 게임종료하기(A1), 호출하기(A2), 메뉴보기(A3), 득점 수(A4), 기록보기(AVG, 타율, HR, 공타)(A6), 핸디 점수(A7), 아닝 별 기록(A8), 이닝 타임 리셋(A9) 및 리플레이 보기(A10) 등 각종 기능과 정보를 제공할 수 있다.More specifically, as shown in Fig. 9, end the game (A1), call (A2), view menu (A3), number of goals (A4), view record (AVG, batting average, HR, batting) (A6) , handy score (A7), inning record (A8), inning time reset (A9), and replay view (A10) can provide various functions and information.

한편, 디스플레이부(300)는, 사용자로부터 선구를 지정 받고, 지정된 선구 정보를 당구공 식별부(210)로 전달하여 선구를 수동 방식을 통해 임의로 정의할 수 있다.On the other hand, the display unit 300 may receive a ball designation from the user and transmit the designated ball ball information to the billiard ball identification unit 210 to arbitrarily define the ball ball through a manual method.

상기 서버부(400)는, 인터넷 통신망을 통해 영상 분석부(200)의 게임기록정보를 입력 받고, 입력된 게임기록정보를 저장하며, 플레이어 별 게임기록정보를 누적시켜 게임통계정보를 생성할 수 있다. The server unit 400 receives the game record information of the image analysis unit 200 through the Internet communication network, stores the input game record information, and accumulates game record information for each player to generate game statistics information. there is.

상기 게임정보 제공부(500)는, 모바일 어플리케이션 및 웹 사이트 중 적어도 하나의 형태로 구현되고, 플레이어 로그인 정보에 따라 서버부(400)로 정보 조회를 요청하고, 요청 내용에 따라 서버부(400)로부터 게임기록정보와 게임통계정보를 수신하여 제공할 수 있다. 이와 같이, 경기 기록을 서버부(400)에 저장한 후 향후 모바일 어플리케이션 또는 웹 사이트를 통해 수년 간의 기록의 통계 자료를 조회, 출력하는 서비스를 제공할 수 있다The game information providing unit 500 is implemented in the form of at least one of a mobile application and a web site, and requests information inquiry to the server unit 400 according to the player login information, and the server unit 400 according to the request contents. It can receive and provide game record information and game statistics information from In this way, after storing the game record in the server unit 400, it is possible to provide a service for inquiring and outputting statistical data of records for several years through a mobile application or website in the future.

이상에서 설명한 것은 본 발명에 의한 영상 분석 기술 기반의 인공지능 당구 게임 관리 시스템을 실시하기 위한 하나의 실시예에 불과한 것으로서, 본 발명은 상기 실시예에 한정되지 않고, 이하의 특허청구범위에서 청구하는 바와 같이 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 분야에서 통상의 지식을 가진 자라면 누구든지 다양한 변경 실시가 가능한 범위까지 본 발명의 기술적 정신이 있다고 할 것이다.What has been described above is only one embodiment for implementing the artificial intelligence billiard game management system based on the image analysis technology according to the present invention, and the present invention is not limited to the above embodiment, and is claimed in the claims below. As such, without departing from the gist of the present invention, it will be said that the technical spirit of the present invention exists to the extent that various modifications can be made by anyone with ordinary knowledge in the field to which the present invention belongs.

1000: 인공지능 당구 게임 관리 시스템
100: 영상 촬영부
200: 영상 분석부
210: 당구공 식별부
220: 수구 진행경로 분석부
230: 득점결과 산출부
240: 게임기록 계산부
300: 디스플레이부
400: 서버부
500: 게임정보 제공부
10: 당구 테이블
20: 인터넷 통신장치
1000: artificial intelligence billiards game management system
100: video recording unit
200: image analysis unit
210: billiard ball identification unit
220: water polo path analysis unit
230: scoring result calculation unit
240: game record calculation unit
300: display unit
400: server unit
500: game information providing unit
10: Billiard Table
20: Internet communication device

Claims (7)

당구테이블의 상부에 설치되어 당구테이블의 상면을 촬영하는 영상 촬영부;
상기 영상 촬영부를 통해 촬영된 영상을 입력 받고, 영상 내 당구공을 색상 값에 따라 인식하고, 당구공의 위치 값을 계산하여 당구공 간 충돌 및 쿠션과의 충돌을 분석하고, 분석 결과와 미리 정의된 게임 룰에 따라 득점결과를 산출하고, 산출된 득점결과에 기초하여 플레이어 별 게임기록정보를 산출하여 기록하는 영상 분석부; 및
상기 영상 분석부의 게임기록정보를 입력 받아 출력하는 디스플레이부를 포함하는 것을 특징으로 하는 영상 분석 기술 기반의 인공지능 당구 게임 관리 시스템.
an image capturing unit installed on the billiard table to photograph an upper surface of the billiard table;
Receives an image captured through the image capturing unit, recognizes a billiard ball in the image according to a color value, calculates the position value of the billiard ball, analyzes the collision between billiard spaces and the cushion, and defines the result of the analysis in advance an image analysis unit that calculates a scoring result according to the established game rules, and calculates and records game record information for each player based on the calculated scoring result; and
Artificial intelligence billiards game management system based on image analysis technology, characterized in that it comprises a display unit for receiving and outputting the game record information of the image analysis unit.
제1 항에 있어서,
상기 영상 분석부는,
상기 영상 촬영부를 통해 촬영된 영상을 알파채널영상으로 전환하고, 전환된 알파채널영상에서 CMYK 값 중 K 값을 추출하고, 추출된 K 값에 따라 당구공을 각각 식별하고, 수구를 정의하는 당구공 식별부;
알파채널영상으로부터 각각 식별되는 수구의 센터 좌표 값, 및 수구와 쿠션 간의 거리 좌표 값을 각각 계산하고, 계산된 센터 좌표 값과 거리 좌표 값에 따라 당구공 간 충돌 및 쿠션과의 충돌을 인식하여 수구의 진행경로와 위치를 분석하는 수구 진행경로 분석부;
상기 수구 진행경로 분석부를 통해 분석된 당구공의 진행경로와 위치가 미리 정의된 게임 룰에 충족되는지 여부를 각각 판별하여 플레이어 별로 득점결과를 산출하는 득점결과 산출부; 및
상기 득점결과 산출부를 통해 산출된 득점결과에 기초하여 각 플레이어의 득점과 미 득점 데이터와 플레이 횟수를 계산하여 연속득점 기록, 평균 점수, 타율 및 공 타수를 계산하여 게임기록정보를 생성하여 디스플레이부로 제공하는 게임기록 계산부를 포함하는 것을 특징으로 하는 영상 분석 기술 기반의 인공지능 당구 게임 관리 시스템.
According to claim 1,
The image analysis unit,
A billiard ball that converts an image photographed through the image capturing unit into an alpha channel image, extracts a K value among CMYK values from the converted alpha channel image, identifies each billiard ball according to the extracted K value, and defines a cue ball identification unit;
The center coordinate value of the cue ball identified from the alpha channel image and the distance coordinate value between the cue ball and the cushion are respectively calculated, and the collision between the billiard space and the cushion is recognized according to the calculated center coordinate value and the distance coordinate value. Apparatus progress path analysis unit to analyze the progress path and location of the;
a scoring result calculation unit for calculating a scoring result for each player by determining whether the path and position of the billiard ball analyzed through the water polo path analysis unit satisfy a predefined game rule; and
Based on the scoring result calculated through the scoring result calculation unit, each player's scoring and non-scoring data and the number of plays are calculated, and the continuous scoring record, average score, batting average, and number of bats are calculated, and game record information is generated and provided to the display unit. An artificial intelligence billiards game management system based on image analysis technology, characterized in that it comprises a game record calculation unit.
제2 항에 있어서,
상기 당구공 식별부는,
상기 수구 진행경로 분석부를 통해 직선진행경로의 변경에 따른 위치 변화가 최초 발생된 당구공을 선구로 정의하는 것을 특징으로 하는 영상 분석 기술 기반의 인공지능 당구 게임 관리 시스템.
3. The method of claim 2,
The billiard ball identification unit,
An artificial intelligence billiards game management system based on image analysis technology, characterized in that a billiard ball, which first generated a position change according to a change in a straight path through the water polo progress path analysis unit, is defined as a pioneer.
제2 항에 있어서,
상기 디스플레이부는,
사용자로부터 선구를 지정 받고, 지정된 선구 정보를 상기 당구공 식별부로 전달하여 선구를 정의하여 상기 당구공 식별부로 정의된 선구 정보를 전달하는 것을 특징으로 하는 영상 분석 기술 기반의 인공지능 당구 게임 관리 시스템.
3. The method of claim 2,
The display unit,
An artificial intelligence billiards game management system based on image analysis technology, characterized in that receiving a designation of a ball from a user, delivering the designated ball information to the billiard ball identification unit, defining the ball, and delivering the information defined as a cue ball to the billiard ball identification unit.
제2 항에 있어서,
상기 수구 진행경로 분석부는,
당구테이블의 쿠션으로부터 당구공의 반지름 길이만큼 이격된 라인을 따라 형성된 가상의 레일영역 및 상기 레일영역 안쪽 영역인 가상의 필드영역이 각각 정의되고, 상기 레일영역에서 수구에 대한 상기 센터 좌표 값 중 X 및 Y 값 중 적어도 하나의 값이 0이거나, 상기 거리 좌표 값 중 X 및 Y 값 중 적어도 하나의 값이 0일 경우 수구의 쿠션 충돌로 인식하고, 상기 필드영역에서 수구의 직선진행경로에 대한 변경을 감지하면 수구의 충돌로 인식하는 것을 특징으로 하는 영상 분석 기술 기반의 인공지능 당구 게임 관리 시스템.
3. The method of claim 2,
The water polo progress path analysis unit,
An imaginary rail region formed along a line spaced apart from the cushion of the billiard table by the radius of the billiard ball and an imaginary field region that is an region inside the rail region are respectively defined, and X of the center coordinate values for the cue ball in the rail region and when at least one of the Y values is 0 or at least one of the X and Y values among the distance coordinate values is 0, it is recognized as a cushion collision of the cue ball, and the straight path of the cue ball is changed in the field area An artificial intelligence billiards game management system based on image analysis technology, characterized in that it is recognized as a collision of water polo when it detects.
제2 항에 있어서,
상기 득점결과 산출부는,
선구와 선구를 제외한 당구공 간의 충돌 여부, 당구공 및 쿠션에 대한 충돌 횟수와 순서를 포함하는 득점성공 판독기준정보와, 수구를 제외한 당구공의 진행 변경이 먼저 발생했는지 여부, 수구와 수구를 제외한 당구공의 충돌 여부, 수구와 쿠션 간의 충돌 여부, 촬영 영역 내 당구공의 존재 여부, 선구 이외에 당구공의 위치 및 진행경로 중 적어도 하나의 변경이 먼저 발생했는지 여부, 미리 설정된 플레이 타임 준수 여부, 및 상기 득점성공 판독기준정보에 대한 충족 여부를 포함하는 득점실패 판독기준정보가 각각 정의되어 플레이어 별로 득점결과를 산출하는 것을 특징으로 하는 영상 분석 기술 기반의 인공지능 당구 게임 관리 시스템.
3. The method of claim 2,
The scoring result calculation unit,
Scoring success reading standard information including whether there is a collision between the ball and billiard balls excluding the cue ball, the number and sequence of collisions with the billiard ball and cushion, whether the change in the progress of the billiard ball excluding the cue ball occurred first, and the cue ball and the cue ball excluding the cue ball Whether the billiard ball collides, whether the cue ball and the cushion collide, whether there is a billiard ball in the shooting area, whether at least one of the location and path of the billiard ball other than the first ball is changed first, whether the preset play time is observed, and An artificial intelligence billiard game management system based on image analysis technology, characterized in that the scoring failure reading criterion information including whether the scoring success reading criterion information is satisfied or not is defined, respectively, and calculating the scoring result for each player.
제1 항에 있어서,
인터넷 통신망을 통해 상기 영상 분석부의 게임기록정보를 입력 받고, 입력된 게임기록정보를 저장하며, 플레이어 별 게임기록정보를 누적시켜 게임통계정보를 생성하는 서버부; 및
모바일 어플리케이션 및 웹 사이트 중 적어도 하나의 형태로 구현되고, 플레이어 로그인 정보에 따라 상기 서버부로부터 게임기록정보와 게임통계정보를 수신하여 제공하는 게임정보 제공부를 더 포함하는 것을 특징으로 하는 영상 분석 기술 기반의 인공지능 당구 게임 관리 시스템.
According to claim 1,
a server unit for receiving the game record information of the image analysis unit through an Internet communication network, storing the input game record information, and accumulating game record information for each player to generate game statistical information; and
Video analysis technology-based, implemented in the form of at least one of a mobile application and a web site, and further comprising a game information providing unit that receives and provides game record information and game statistics information from the server unit according to player login information of artificial intelligence billiards game management system.
KR1020210004152A 2020-01-16 2021-01-12 System for managing billiard game of artificial intelligence based on image analysis technology KR20210092685A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200006001 2020-01-16
KR1020200006001 2020-01-16

Publications (1)

Publication Number Publication Date
KR20210092685A true KR20210092685A (en) 2021-07-26

Family

ID=77125012

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210004152A KR20210092685A (en) 2020-01-16 2021-01-12 System for managing billiard game of artificial intelligence based on image analysis technology

Country Status (1)

Country Link
KR (1) KR20210092685A (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113827945A (en) * 2021-11-02 2021-12-24 深圳百广科科技有限公司 Billiard ball hitting assisting method
KR102382536B1 (en) * 2021-09-29 2022-04-08 주식회사 마루소프트 Billiard training system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130114512A (en) 2012-04-09 2013-10-18 (주) 하나텍시스템 Automatic billiard game system using image recognition device
KR101938607B1 (en) 2018-10-08 2019-01-15 (주)아이즈프리 Image analysys system for billiards game and method thereof

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20130114512A (en) 2012-04-09 2013-10-18 (주) 하나텍시스템 Automatic billiard game system using image recognition device
KR101938607B1 (en) 2018-10-08 2019-01-15 (주)아이즈프리 Image analysys system for billiards game and method thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102382536B1 (en) * 2021-09-29 2022-04-08 주식회사 마루소프트 Billiard training system
CN113827945A (en) * 2021-11-02 2021-12-24 深圳百广科科技有限公司 Billiard ball hitting assisting method
CN113827945B (en) * 2021-11-02 2024-04-12 南京源铭振跃科技有限公司 Billiard ball hitting auxiliary method

Similar Documents

Publication Publication Date Title
US9849334B2 (en) Systems and methods for analyzing event data
KR20210092685A (en) System for managing billiard game of artificial intelligence based on image analysis technology
US7885784B2 (en) Object-tracking and situation-analysis system
WO2018035821A1 (en) Billiard ball striking assistance method, billiard ball striking assistance system, and portable electronic device
US9566519B2 (en) Game system, game device control method, program, and information storage medium
WO2019219075A1 (en) Ball hitting route recommendation method and device
KR101331821B1 (en) Apparatus and Method for sorting billiard videos, and Service System using the apparatus
KR101696984B1 (en) Data processing method and device
JP4839226B2 (en) Scene segmentation device
JP2007300363A (en) Monitor, method, and program
US8282104B2 (en) Game system, detection program, and detection method
KR20190040697A (en) Billiards playing method and billiards playing system
JP4465150B2 (en) System and method for measuring relative position of an object with respect to a reference point
CN109446241A (en) A kind of statistical method, device, equipment and the storage medium of sporter's technical parameter
KR101790773B1 (en) Assistance system for billiards game
KR102297582B1 (en) Game device and electronic device for game service
CN108961321B (en) Billiard reset method and storage medium
Mazuecos et al. On the role of effective and referring questions in GuessWhat?!
KR101276746B1 (en) System for play billiards and record management
KR20200076043A (en) Automatic judging apparatus and method of billiard score
KR101892514B1 (en) Automatic score calculation system for billiard game using coordinate values
KR102064402B1 (en) Placement System of Billiard Ball Using Internet and Method thereof
JP2010117852A (en) System for store
KR102120711B1 (en) A system for management and assistance of billiard game
JPWO2019235350A1 (en) Information processing system, information processing method and storage medium

Legal Events

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