KR102045567B1 - Apparatus and method for recommendation of curling game strategy using deep learning - Google Patents

Apparatus and method for recommendation of curling game strategy using deep learning Download PDF

Info

Publication number
KR102045567B1
KR102045567B1 KR1020170128075A KR20170128075A KR102045567B1 KR 102045567 B1 KR102045567 B1 KR 102045567B1 KR 1020170128075 A KR1020170128075 A KR 1020170128075A KR 20170128075 A KR20170128075 A KR 20170128075A KR 102045567 B1 KR102045567 B1 KR 102045567B1
Authority
KR
South Korea
Prior art keywords
curling
strategy
game
data
information
Prior art date
Application number
KR1020170128075A
Other languages
Korean (ko)
Other versions
KR20180098111A (en
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 KR20180098111A publication Critical patent/KR20180098111A/en
Application granted granted Critical
Publication of KR102045567B1 publication Critical patent/KR102045567B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Evolutionary Computation (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Data Mining & Analysis (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Image Analysis (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

컬링 경기 전략 추천 장치 및 방법을 제공하며, 컬링 경지 전략 추천 장치는 딥러닝 및 몬테카를로 트리 탐색 기법을 적용한 컬링 경기 전략 분석 및 추천 프로그램이 저장된 메모리, 및 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하며, 프로세서는 컬링 경기 전략 분석 및 추천 프로그램의 실행에 따라, 진행 중인 컬링 경기를 촬영한 이미지를 영상 인식하여 기설정된 경기 상황 정보를 인식하고, 기실시된 복수의 컬링 경기에 대한 기록 자료들로부터 수집된 데이터들 및 상기 경기 상황 정보를 딥러닝 및 몬테카를로 트리 탐색 기법을 통해 학습하여 전략 추천 모델을 구축하고, 전략 추천 모델을 통해 상기 인식된 경기 상황 정보에 대응하는 하나 이상의 전략을 예측한 정보를 추천한다.It provides a device and method for recommending curling game strategy, the curling field strategy recommending device includes a memory for storing a curling game strategy analysis and recommendation program applying deep learning and Monte Carlo tree navigation techniques, and a processor for executing a program stored in the memory, The processor recognizes preset game situation information by recognizing an image of an ongoing curling game according to the execution of the curling game strategy analysis and recommendation program, and collects the recorded data of the plurality of curling events. Learning data and the game situation information through deep learning and Monte Carlo tree search techniques to build a strategy recommendation model, and recommending information predicting one or more strategies corresponding to the recognized game situation information through the strategy recommendation model. .

Description

딥러닝에 기반한 컬링 경기 전략 추천 장치 및 그 방법{APPARATUS AND METHOD FOR RECOMMENDATION OF CURLING GAME STRATEGY USING DEEP LEARNING}Apparatus and method for recommending curling game strategy based on deep learning {APPARATUS AND METHOD FOR RECOMMENDATION OF CURLING GAME STRATEGY USING DEEP LEARNING}

본 발명은 컬링 경기에서의 전략을 추천하는 장치 및 그 방법에 관한 것으로서, 더욱 상세하게는 인공지능 기술에 기반하여 최적의 컬링 투구 전략을 추천하는 장치 및 방법에 관한 것이다.The present invention relates to an apparatus and method for recommending a strategy in a curling race, and more particularly, to an apparatus and method for recommending an optimal curling pitching strategy based on artificial intelligence technology.

컬링(curling)이란 빙상에서 평면으로 된 돌(즉, 컬링 스톤)을 브룸(Broom, 비 모양을 한 것)을 사용하여 미끄러지게 함으로써 표적에 넣어 득점을 겨루는 경기를 말한다. 컬링의 경기 방식은 팀 4명씩 2개조로 구성되어 각 팀이 번갈아가면서, 길이 42.1m, 너비 4.3m의 링크 내에서 하우스(House)라 불리는 원 속의 표적을 향해 스톤을 미끄러뜨리는 것이다. 이때, 두 명의 스위퍼(Sweeper)가 타이밍을 재는 기구와 경험에 따른 판단력 등을 동원하여, 스톤의 이동 경로를 따라 함께 움직이면서 브룸을 이용해 스톤의 진로를 조절하여, 스톤이 목표지점에 최대한 가깝게 멈추도록 센터 라인을 닦는다. 이를 바탕으로 마지막에 스톤을 하우스에 얼마나 가깝게 위치시켰느냐로 득점을 계산하게 된다. 스톤의 무게는 20kg 이하, 둘레 91.4cm 이하, 높이 11.4 cm이다. 16회를 1엔드로 하여 10엔드 또는 12엔드를 1게임으로 하고, 득점의 다소에 따라 승부를 가린다.Curling is a game where a player scores a goal by sliding a flat stone (ie curling stone) on the ice using a Broom. Curling consists of two teams of four, with each team alternating, sliding the stone towards a circular target called the House within a 42.1m long and 4.3m wide link. At this time, the two sweepers use the timing mechanism and the judgment according to the experience, and move along the path of the stone to adjust the course of the stone using the brom so that the stone stops as close as possible to the target point. Wipe the center line. Based on this, the score is calculated based on how close the stone is to the house at the end. The stone weighs 20kg or less, circumference 91.4cm or less and 11.4cm in height. 16 games are played in one end, and 10 or 12 games are played in one game.

일반적으로, 컬링 경기에서는 선수가 스톤의 위치 선정과 경로 선택 시 매우 복잡한 전략적 사고가 필요하기 때문에 컬링은 '얼음 위의 체스'라고 일컬어지기도 한다. 컬링 경기에서 작전(전략)이란 어떤 샷을 어떻게 구사할 것인지 결정하는 것으로서, 스톤의 속도, 회전방향 및 진행방향 등을 고려한 투구 전략이 필요하며 스톤과 바닥의 마찰과 스톤의 회전량을 줄이기 위해 스톤의 경로 앞 빙판을 닦는 스위핑 전략도 필요하다. 스톤의 속도가 느릴수록 더 많이 휘어지기 때문에 스위핑을 통해 스톤이 움직이는 거리를 증가시키고 경로를 곧게 만들어줄 수 있다. 또한, 컬링 시트(즉, 경기를 치르는 빙판 면)의 얼음 상태 및 상대방 스톤의 위치 등 경기 내내 계속해서 변하는 경기장 상황에 맞추어 작전을 세우는 것이 중요하다. 즉, 컬링에서는 정확하게 각 스톤들의 상태를 인식하고, 최적의 투구 위치를 정하는 것이 중요하다. 그러나 컬링에서는 투구 위치를 정하는 방법이 무한대에 가까울 정도로 다양하므로 최적의 투구 위치 및 방식을 선택하기가 어렵다.In general, curling is sometimes referred to as `` chess on ice, '' because curling events require a player to take very complex strategic thoughts to locate and route stones. In a curling race, a strategy is to decide what shot to use, and a pitching strategy that takes into account the speed, direction of rotation, and direction of the stone is required. In order to reduce the friction between the stone and the floor, and the amount of rotation of the stone, A sweeping strategy is also needed to clean the ice in front of the path. The slower the stone, the more it bends, so sweeping can increase the distance the stone travels and straighten the path. In addition, it is important that the maneuver be made in accordance with the ever-changing arena conditions throughout the game, such as the ice conditions of the curling seat (ie the ice face of the game) and the location of the opponent stone. That is, in curling, it is important to accurately recognize the state of each stone and to determine an optimal pitch position. However, in curling, the pitching position is almost infinite, so it is difficult to select the optimal pitching position and method.

종래에는 사람이 직접 컬링 경기를 분석하여 경기 전략을 수립하되, 컬링 경기 정보를 실시간으로 기록하고 사람이 분석할 수 있도록 하는 인터페이스를 제공하거나 또는 통계 자료를 제시하는 정도의 수단이 사용되었다. 이러한 종래의 컬링 경기 분석 방식은 인적 요소로 인해 전략 오류가 발생할 가능성이 높았다. Conventionally, although a person analyzes a curling game and establishes a game strategy, a means of providing an interface for recording curling game information in real time and allowing a person to analyze or presenting statistical data has been used. The conventional curling game analysis method has a high possibility of a strategy error due to human factors.

또한, 컬링 경기 전략 알고리즘은 빙판의 마찰 정도, 상대방의 스톤 위치 등에 의한 컬링의 불확실성과 더불어 컬링 경기의 제약된 시간을 고려해야 하므로, 짧은 시간 내에 최적의 전략을 결정하는데 어려움이 있다.In addition, the curling competition strategy algorithm has to consider the limited time of the curling competition in addition to the uncertainty of curling due to the friction of the ice, the stone position of the opponent, etc., it is difficult to determine the optimal strategy in a short time.

한국등록특허 제 10-1478097 호 (발명의 명칭: 컬링 시뮬레이션을 수행하기 위한 이동 단말, 컬링 시뮬레이션 방법 및 기록 매체)Korean Patent No. 10-1478097 (name of the invention: a mobile terminal for performing a curling simulation, a curling simulation method and a recording medium) 한국등록특허 제 10-1499570 호 (발명의 명칭: 컬링 분석용 이동 단말 및 이를 이용한 컬링 경기 분석 시스템)Korean Patent No. 10-1499570 (name of the invention: a mobile terminal for curling analysis and a curling match analysis system using the same) 한국등록특허 제 10-1611431 호 (발명의 명칭: 컬링 분석 방법, 이를 수행하기 위한 기록 매체 및 장치)Korea Patent Registration No. 10-1611431 (name of the invention: curling analysis method, recording medium and apparatus for performing the same)

본 발명의 일 실시예는 딥러닝(Deep Learning)과 몬테카를로 트리 탐색(Monte Carlo Tree Search) 기법에 기반하여, 컬링 경기에 대한 최적의 전략을 추천하는 장치 및 그 방법을 제공하는 것을 목적으로 한다.One embodiment of the present invention is to provide an apparatus and method for recommending an optimal strategy for a curling game based on deep learning and Monte Carlo tree search techniques.

다만, 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.However, the technical problem to be achieved by the present embodiment is not limited to the technical problem as described above, and other technical problems may exist.

상기와 같은 기술적 과제를 달성하기 위한 본 발명의 일 측면에 따른 컬링 경기 전략 추천 장치는, 딥러닝 및 몬테카를로 트리 탐색 기법을 적용한 컬링 경기 전략 분석 및 추천 프로그램이 저장된 메모리; 및 상기 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하며, 상기 프로세서는 상기 컬링 경기 전략 분석 및 추천 프로그램의 실행에 따라, 진행 중인 컬링 경기를 촬영한 이미지를 영상 인식하여 기설정된 경기 상황 정보를 인식하고, 기실시된 복수의 컬링 경기에 대한 기록 자료들로부터 수집된 데이터들 및 상기 경기 상황 정보를 딥러닝 및 몬테카를로 트리 탐색 기법을 통해 학습하여 전략 추천 모델을 구축하고, 상기 전략 추천 모델을 통해 상기 인식된 경기 상황 정보에 대응하는 하나 이상의 전략을 예측한 정보를 추천하며, 상기 기실시된 복수의 컬링 경기에 대한 기록 자료들은, 이미지 정보 및 텍스트 정보 중 적어도 하나를 포함하는 것이다.According to an aspect of the present invention, there is provided a curling match strategy recommending apparatus comprising: a memory storing a curling match strategy analysis and recommendation program applied to a deep learning and Monte Carlo tree search technique; And a processor for executing a program stored in the memory, wherein the processor recognizes preset game situation information by recognizing an image of an image of an ongoing curling game according to the execution of the curling game strategy analysis and recommendation program. Learning the data collected from the plurality of recorded curling matches and the game situation information through deep learning and Monte Carlo tree search techniques to construct a strategy recommendation model, and recognizing the recognition through the strategy recommendation model. Recommend information for predicting one or more strategies corresponding to the matched game situation information, wherein the recorded data of the plurality of curling matches performed includes at least one of image information and text information.

또한, 본 발명의 다른 측면에 따른 컬링 경기 전략 추천 방법은, 기실시된 복수의 컬링 경기에 대한 기록 자료들로부터 수집된 데이터로부터 스톤의 위치 정보 및 전략 정보를 포함하는 컬링 데이터를 추출하고, 진행 중인 컬링 경기를 촬영한 이미지를 영상 인식한 경기 상황 정보로부터 스톤의 위치 정보를 포함하는 컬링 데이터를 추출하는 단계; 상기 컬링 데이터들로부터 각각 컬링 규칙에 따른 특징, 기존 경기에서의 특징, 및 상기 진행 중인 경기의 오차 특징을 포함하는 다중 특징을 추출하는 단계; 상기 다중 특징들을 딥러닝 및 몬테카를로 트리 탐색 기법을 통해 학습하여 전략 추천 모델을 구축하는 단계; 및 상기 전략 추천 모델을 통해 상기 경기 상황 정보에 대응하는 하나 이상의 전략을 예측한 정보를 추천하는 단계를 포함한다.In addition, the curling competition strategy recommendation method according to another aspect of the present invention, extracting the curling data including the location information and the strategy information of the stone from the data collected from the recorded data for the plurality of curling competitions carried out, and proceeds Extracting curling data including the location information of the stone from the game situation information of image recognition of the image of the current curling game; Extracting, from the curling data, multiple features including a feature according to a curling rule, a feature in an existing race, and an error feature of the ongoing race; Learning the multiple features through deep learning and Monte Carlo tree search techniques to build a strategy recommendation model; And recommending information predicting one or more strategies corresponding to the game situation information through the strategy recommendation model.

본 발명의 일 실시예에 따르면, 딥러닝 기반의 최적의 투구 후보군 도출을 통해 컬링 스톤 투구 전략 검출을 수행하되, 경기 분석 기술을 통한 고속 트리 탐색 알고리즘을 적용함으로써, 빠르고 정확하게 컬링 경기 상황을 파악할 수 있으며 최적의 경기 전략 수립이 가능하다.According to an embodiment of the present invention, while detecting the culling stone pitching strategy through deriving the optimal pitching candidate group based on deep learning, by applying a fast tree search algorithm through the game analysis technology, it is possible to quickly and accurately determine the curling game situation It is possible to establish an optimal game strategy.

즉, 고속의 '경우의 수' 탐색이 가능한 딥러닝 기반의 컬링 경기 전략 추천 기법과 몬테카를로 트리 탐색 알고리즘을 사용함으로써 컬링 경기의 승리 확률 및 최적의 스톤(투구 전략) 위치 예측 분석이 가능하여, 제약된 컬링 경기 시간 내에 고속의 경기 상황 예측 분석 및 전략 추전이 가능하다.In other words, by using deep learning based culling game strategy recommendation technique and Monte Carlo tree search algorithm that enables fast 'number of cases' search, it is possible to analyze the probability of winning the culling game and the optimal stone (pitting strategy) position prediction analysis. It is possible to analyze and predict the state of the game at high speed within the curling race time.

또한, 본 발명의 일 실시예에 따르면, 다중 특징(feature) 고려가 가능한 딥러닝 구조를 사용함으로써 과적합을 피할 수 있고 컬링 경기에서 중요한 규칙이나 요소들과 같은 다양한 특징 반영이 가능하여 분석 및 전략 수립의 정확도를 높일 수 있다.In addition, according to an embodiment of the present invention, by using a deep learning structure that can consider multiple features (feature) can avoid overfitting and reflect various features such as important rules or elements in the curling competition analysis and strategy The accuracy of the establishment can be improved.

도 1은 본 발명의 일 실시예에 따른 컬링 경기 전략 추천 장치의 구성도이다.
도 2는 본 발명의 일 실시예에 따른 컬링 스톤 위치 특징맵을 나타낸 도면이다.
도 3은 본 발명의 일 실시예에 따른 스코어 기반의 컬링 스톤 위치 특징맵을 나타낸 도면이다.
도 4는 본 발명의 일 실시예에 따른 동적 분할 좌표계 생성 방법을 설명하기 위한 도면이다.
도 5는 본 발명의 일 실시예에 따른 다중 특징 융합 기반의 딥러닝 구조를 설명하기 위한 도면이다.
도 6은 본 발명의 일 실시예에 따른 컬링 경기에 대한 전략 추천을 위한 딥러닝 설계 방식의 개념을 나타낸 도면이다.
도 7은 본 발명의 일 실시예에 따른 딥러닝을 이용한 최적의 투구 전략 추천 방식의 개요를 설명하기 위한 도면이다.
도 8은 본 발명의 일 실시예에 따른 좌표 공간에 기반한 컬링 시뮬레이션에서의 몬테카를로 트리 탐색 방식을 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 딥러닝에 기반한 투구 후보 영역을 이용하여 몬테카를로 트리 탐색을 처리하는 방식을 설명하기 위한 도면이다.
도 10은 본 발명의 일 실시예에 따른 불확실성을 반영한 강화 학습을 적용한 투구 전략 추천 방식을 설명하기 위한 도면이다.
도 11은 본 발명의 일 실시예에 따른 투구 전략 후보 도출 및 추천 결과의 일례를 도시한 도면이다.
도 12는 본 발명의일 실시예에 따른 컬링 경기 전략 추천 방법을 설명하기 위한 순서도이다.
1 is a block diagram of an apparatus for recommending a curling match strategy according to an embodiment of the present invention.
2 is a view showing a curling stone location feature map according to an embodiment of the present invention.
3 is a view showing a score-based curling stone location feature map according to an embodiment of the present invention.
4 is a diagram for describing a method of generating a dynamic split coordinate system according to an embodiment of the present invention.
FIG. 5 is a diagram for describing a deep learning structure based on multiple feature fusion according to an embodiment of the present invention.
6 is a diagram illustrating a concept of a deep learning design method for recommending a strategy for a curling game according to an embodiment of the present invention.
7 is a view for explaining an overview of the optimal pitching strategy recommendation method using deep learning according to an embodiment of the present invention.
FIG. 8 is a diagram for explaining a Monte Carlo tree search method in a culling simulation based on a coordinate space according to an embodiment of the present invention.
FIG. 9 illustrates a method of processing a Monte Carlo tree search using a deep learning based pitching candidate region according to an embodiment of the present invention.
FIG. 10 is a diagram illustrating a pitching strategy recommending method applying reinforcement learning reflecting uncertainty according to an embodiment of the present invention.
11 is a diagram illustrating an example of a pitching strategy candidate derivation and recommendation result according to an exemplary embodiment of the present invention.
12 is a flowchart illustrating a curling match strategy recommendation method according to an embodiment of the present invention.

아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.DETAILED DESCRIPTION Hereinafter, exemplary embodiments of the present invention will be described in detail with reference to the accompanying drawings so that those skilled in the art may easily implement the present invention. As those skilled in the art would realize, the described embodiments may be modified in various different ways, all without departing from the spirit or scope of the present invention. In the drawings, parts irrelevant to the description are omitted in order to clearly describe the present invention, and like reference numerals designate like parts throughout the specification.

명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.Throughout the specification, when a part is "connected" to another part, this includes not only "directly connected" but also "electrically connected" with another element in between. . In addition, when a part is said to "include" a certain component, which means that it may further include other components, except to exclude other components, unless specifically stated otherwise, one or more other features It is to be understood that the present disclosure does not exclude the possibility of the presence or the addition of numbers, steps, operations, components, parts, or combinations thereof.

도 1은 본 발명의 일 실시예에 따른 컬링 경기 전략 추천 장치의 구성도이다. 1 is a block diagram of an apparatus for recommending a curling match strategy according to an embodiment of the present invention.

도 1에 도시한 바와 같이, 컬링 경기 전략 추천 장치(100)는 통신모듈(110), 메모리(120), 프로세서(130) 및 데이터베이스(DB)(140)를 포함한다. 한편, 컬링 경기 전략 추천 장치(100)는 자체적으로 디스플레이(미도시) 수단을 더 포함할 수 있으며, 프로세서(130)를 통해 처리된 각종 정보는 디스플레이를 통해 출력될 수 있다.As shown in FIG. 1, the curling game strategy recommendation apparatus 100 includes a communication module 110, a memory 120, a processor 130, and a database (DB) 140. Meanwhile, the curling match strategy recommendation apparatus 100 may further include a display (not shown) means by itself, and various information processed through the processor 130 may be output through a display.

통신모듈(110)은 컬링 경기장에 설치된 하나 이상의 카메라 장치(미도시)로부터 컬링 경기 상황을 지속적으로 촬영한 영상 데이터를 수신하되, 통신망(400)을 통해 컬링 경기장의 카메라 장치(또는 카메라 장치를 통해 촬영된 영상 데이터를 송출하는 외부 장치)와 통신할 수 있다. The communication module 110 receives image data continuously photographing the curling competition situation from one or more camera devices (not shown) installed in the curling stadium, and through the communication network 400, through the camera device (or the camera device) of the curling stadium. An external device for transmitting the captured image data).

또한, 컬링 경기 전략 추천 장치(100)가 컬링 경기에 대한 경기력 및 전략을 분석한 결과 등의 정보를 외부의 정보 요청 단말(미도시)로 전송할 경우, 통신모듈(110)은 통신망(400)을 통해 해당 정보 요청 단말(예: 사용자 단말)과 통신할 수 있다. In addition, when the curling match strategy recommendation apparatus 100 transmits information, such as a result of analyzing the playing strength and strategy for the curling match, to an external information requesting terminal (not shown), the communication module 110 transmits the communication network 400. It can communicate with the corresponding information request terminal (eg, user terminal).

또한, 통신모듈(110)은 통신망(400)을 통해 인터넷망에 접속하되, 프로세서(130)의 제어에 따라 인터넷망을 통해 기존에 실시되었던 컬링 경기들에 대한 자료(즉, 학습데이터)를 수집하여 프로세서(130)로 전달할 수 있다. In addition, the communication module 110 is connected to the Internet network through the communication network 400, under the control of the processor 130 collects data (ie learning data) for the existing curling competitions through the Internet network. To the processor 130.

통신 모듈(110)은 다른 네트워크 장치와 유무선 연결을 통해 제어 신호 또는 데이터 신호와 같은 신호를 송수신하기 위해 필요한 하드웨어 및 소프트웨어를 포함하는 장치일 수 있다.The communication module 110 may be a device including hardware and software necessary for transmitting and receiving a signal such as a control signal or a data signal through a wired or wireless connection with another network device.

메모리(120)에는, 딥러닝 및 몬테카를로 분배 기법에 기초하여 현재 실행 중인 컬링 경기에 대한 최적의 투구 전략을 예측하여 추천하는, 컬링 경기 전략 분석 및 추천 프로그램이 저장되어 있다.The memory 120 stores a curling race strategy analysis and recommendation program for predicting and recommending an optimal pitching strategy for a currently running curling race based on deep learning and Monte Carlo distribution techniques.

이러한 컬링 경기 전략 분석 및 추천 프로그램은, 기실시된 컬링 경기에 대해 수집된 자료 데이터에 기초하여 컬링 경기 전략 추천 모델을 구축하도록 하고, 현재 진행 중인(또는 경기 상황을 분석하고자 하는) 분석 대상 컬링 경기에 관련된 데이터를 영상 인식 및 정보 분석을 통해 경기 상황을 인식하도록 하며, 컬링 경기 전략 추천 모델을 통해 경기 상황 인식 정보에 적합한 컬링 경기 전략을 예측 및 추천하도록 하는 알고리즘을 포함한다.Such a curling match strategy analysis and recommendation program allows to build a curling match strategy recommendation model based on data data collected for an existing curling match, and to analyze an ongoing curling match. Recognizing the game situation through the image recognition and information analysis of the data related to the and includes a algorithm for predicting and recommending a curling game strategy suitable for the game situation recognition information through the curling game strategy recommendation model.

이러한 메모리(120)는 전원이 공급되지 않아도 저장된 정보를 계속 유지하는 비휘발성 저장장치 또는 저장된 정보를 유지하기 위하여 전력이 필요한 휘발성 저장장치를 통칭하는 것이다.The memory 120 may be referred to as a nonvolatile storage device that maintains stored information even when power is not supplied, or a volatile storage device that requires power to maintain stored information.

한편, 컬링 경기 전략 추천 장치(100)는, 컬링 경기 전략 분석 및 추천과 관련된 각종 정보(즉, 컬링 경기와 관련하여 수집 및 추출된 학습 데이터 및 특징 데이터와, 분석 대상 컬링 경기의 영상 데이터 등)를 저장하고, 딥러닝 및 몬테카를로 분배 기법을 적용하여 모델링된 컬링 경기 전략 추천 모델을 구축하기 위한 데이터베이스(140)를 더 포함할 수 있다. 이러한 데이터베이스(140)는 컬링 경기 전략 추천 장치(100)상에 별도의 구성 요소로서 구축될 수 있으며, 또는 메모리(120)에 포함되는 것도 가능하다.On the other hand, the curling competition strategy recommendation apparatus 100, various information related to the analysis and recommendation of the curling competition strategy (that is, learning data and feature data collected and extracted in relation to the curling competition, image data of the analysis target curling competition, etc.) It may further include a database 140 for storing the culling game strategy recommendation model modeled by applying the deep learning and Monte Carlo distribution techniques. The database 140 may be built as a separate component on the curling game strategy recommendation device 100, or may be included in the memory 120.

프로세서(130)는, 메모리(120)에 저장된 프로그램을 실행하되, 컬링 경기 전략 분석 및 추천 프로그램의 실행에 따라 아래와 같은 처리를 수행한다. 참고로, 프로세서(130)는, 예를 들어 프로그램 내에 포함된 코드 또는 명령으로 표현된 기능을 수행하기 위해 물리적으로 구조화된 회로를 갖는, 하드웨어에 내장된 데이터 처리 장치를 의미할 수 있다. 이와 같이 하드웨어에 내장된 데이터 처리 장치의 일 예로써, 마이크로프로세서(microprocessor), 중앙처리장치(central processing unit: CPU), 프로세서 코어(processor core), 멀티프로세서(multiprocessor), ASIC(application-specific integrated circuit), FPGA(field programmable gate array) 등의 처리 장치를 망라할 수 있으나, 본 발명의 범위가 이에 한정되는 것은 아니다.The processor 130 executes a program stored in the memory 120, and performs the following processing according to the curling game strategy analysis and execution of the recommendation program. For reference, the processor 130 may refer to a data processing apparatus embedded in hardware, for example, having a physically structured circuit for performing a function represented by a code or an instruction included in a program. As an example of a data processing device embedded in hardware, a microprocessor, a central processing unit (CPU), a processor core, a multiprocessor, and an application-specific integrated device (ASIC) It may include a processing device such as a circuit, a field programmable gate array (FPGA), etc., but the scope of the present invention is not limited thereto.

프로세서(130)는 진행 중인 컬링 경기를 촬영한 이미지를 영상 인식하여 기설정된 경기 상황 정보를 인식하고, 기실시된 복수의 컬링 경기에 대한 기록 자료들로부터 수집된 데이터들을 딥러닝 기반으로 학습하여 전략 추천 모델을 구축하고, 전략 추천 모델을 통해 상기 인식된 경기 상황에 대응하는 하나 이상의 전략 후보를 예측하고, 예측된 전략에 대응하는 추천 정보를 디스플레이를 통해 출력한다. 이때, 기실시된 복수의 컬링 경기에 대한 기록 자료들은 이미지 정보 및 텍스트 정보 중 적어도 하나를 포함하는 것이다.The processor 130 recognizes preset game situation information by recognizing an image of an image of an ongoing curling game, and learns data collected from the record data of a plurality of previously performed curling games based on deep learning. Construct a recommendation model, predict one or more strategy candidates corresponding to the recognized game situation through the strategy recommendation model, and output recommendation information corresponding to the predicted strategy on a display. At this time, the recorded data for the plurality of curling competitions carried out includes at least one of image information and text information.

먼저, 프로세서(130)가 기실시된 컬링 경기에 대한 자료를 수집하고, 수집된 자료 데이터로부터 컬링 데이터를 추출하는 과정에 대해서 설명하도록 한다. First, the processor 130 will be described with respect to the process of collecting the data on the curling game carried out, and extracting the curling data from the collected data data.

프로세서(130)는 기계학습에 필요한 컬링 경기에 대한 빅데이터를 수집하되, 예를 들어 최근으로부터 몇 년 내지 몇 십년 간 축적된 컬링 경기 결과를 수집할 수 있다.The processor 130 may collect big data about the curling game required for the machine learning, for example, may collect the curling game result accumulated for several years to several decades from the recent.

이때, 프로세서(130)는 수십만 내지 수백만에 이르는 빅데이터를 확보하기 위해, 영상 인식 기법 및 텍스트마이닝 기법을 사용하여 데이터를 처리할 수 있다. 프로세서(130)는 각각의 자료 데이터로부터 영상 인식 기법을 사용하여 스톤의 위치 정보를 추출하고, 텍스트마이닝 기법을 사용하여 전략 정보 등을 획득 할 수 있다. 또한, 컬링 규칙 기반의 컬링 전략 역시 컬링 데이터로 사용할 수 있고, 컬링 경기장의 빙판의 마찰 정도에 따른 투구 오차 관련 데이터를 추출할 수 있다.In this case, the processor 130 may process data using an image recognition technique and a text mining technique to secure big data ranging from hundreds of thousands to millions. The processor 130 may extract location information of stones from each piece of data using image recognition, and may acquire strategy information using text mining. In addition, a curling rule based curling strategy may also be used as curling data, and pitching error related data may be extracted according to the degree of friction of the ice of the curling stadium.

또한, 딥러닝 기반의 학습을 위해서는 대규모의 데이터가 필요하므로 부족한 데이터를 확장하기 위하여, 프로세서(130)는 영상 인식에서 사용하는 좌우 대칭, 무작위 오차 삽입 등을 이용하여 데이터를 확장할 수 있다.In addition, since deep learning-based learning requires a large amount of data, in order to expand the insufficient data, the processor 130 may expand the data using left-right symmetry and random error insertion used in image recognition.

프로세서(130)는 컬링 전략 학습에 필요한 데이터를 확보하기 위해, 기존의 컬링 경기 기록(예: 세계컬링연맹(Curling Information Technology, CURLIT) 등에서 제공하는 데이터)들을 웹 크롤링(web crawling) 등을 통해 수집할 수 있다. 참고로, 국제 컬링 경기 기보(curling notation)는 세계컬링연맹에서 주최한 국제 컬링 경기 내용을 기록한 문서가 pdf 형식의 데이터 파일로 공개되어 있으며, 컬링 전문가가 실제 경기를 관찰하며 기록한 문서이다. 이러한, 컬링 경기 기보에 포함된 정보는, 스톤의 배치 상황들을 지속적으로 기록한 경기 이미지 정보와 엔드 번호, 샷 번호, 수행된 전략, 스톤의 회전 방향 등의 텍스트 정보 등이 포함되어 있다. 좀 더 구체적으로, 컬링 경기 기보에는 엔드 번호(End number), 샷 번호(shot number), 참가국 이름(Name of country), 선수 이름(Name of player), 수행된 전략(performed strategy), 회전 방향(Direction of curl), 현재 전략의 스코어(Score of current stategy) 및 스톤의 현재 상황(Current state of stones) 등이 포함될 수 있다.The processor 130 collects existing curling game records (eg, data provided by Curling Information Technology (CURLIT), etc.) through web crawling to obtain data necessary for learning a curling strategy. can do. For reference, international curling notation (curling notation) is a document that records the content of the international curling competitions hosted by the World Curling Federation is published in a pdf format data file, a document that the culling experts observe the actual game recorded. The information included in the curling game notation includes game image information continuously recording the arrangements of stones, and text information such as end number, shot number, strategy performed, stone rotation direction, and the like. More specifically, the curling match notation includes end number, shot number, name of country, name of player, performed strategy, direction of rotation ( Direction of curl, Score of current stategy, Current state of stones, and the like.

프로세서(130)는 수집된 컬링 경기 기록을, 템플릿 매칭을 통해 전략 생성 모델이 학습할 때 필요한 정보들을 추출하여 데이터베이스(140)에 저장한다. 템플릿 매칭(template matching)은 기설정된 템플릿(형판)을 사용한 패턴 매칭 기술로써, 주어진 도형에 매칭되는 객체를 화상에서 추출하는 방법이다.The processor 130 extracts and stores the collected curling game records in the database 140 to extract information necessary when the strategy generation model learns through template matching. Template matching is a pattern matching technique using a predetermined template (template), and is a method of extracting an object matching a given figure from an image.

이때, 프로세서(130)는 수집된 컬링 경기 기록 자료의 문서 파일(예: pdf)을 이미지 파일로 변환 후 외곽선 인식을 통해 기설정된 필요 영역(즉, 경기장 영역)을 추출하고, 추출된 이미지에 대해 영상 인식 처리를 수행하여 이미지 상에 존재하는 컬링 스톤의 좌표, 충돌 위치 좌표 등의 이미지 정보를 추출한다. 그리고 프로세서(130)는 추출된 이미지 정보 및 컬링 경기 기록 이미지 파일을 컬링 경기 데이터베이스에 저장한다.In this case, the processor 130 converts the document file (eg, pdf) of the collected curling game record data into an image file, extracts a predetermined required area (ie, a stadium area) through outline recognition, and extracts the extracted image file. Image recognition is performed to extract image information such as coordinates of a curling stone and collision position coordinates existing on the image. The processor 130 stores the extracted image information and the curling match record image file in the curling match database.

또한, 프로세서(130)는 수집된 컬링 경기 기록 자료의 문서 파일(예: pdf)을 텍스트 파일 형태(txt)로 변경한 후, 엔드 번호, 샷 번호, 수행된 전략, 스톤의 회전 방향 등의 텍스트 정보를 추출한다. 그리고 프로세서(130)는 추출된 텍스트 정보 및 컬링 경기 기록 텍스트 파일을 컬링 경기 데이터베이스에 저장한다.In addition, the processor 130 changes the document file (eg, pdf) of the collected curling game record data into a text file format (txt), and then texts such as an end number, a shot number, a strategy performed, and a stone's rotation direction. Extract the information. The processor 130 stores the extracted text information and the curling match record text file in a curling match database.

또 다른 데이터 확보 방안으로서, 프로세서(130)는 실제 컬링 경기장에서 찍은 경기 영상을 화상 재구성(image reconstruction) 처리하여 경기장의 수직 방향에서 바라본 화면을 복구한다. 화상 재구성 처리는, 물체 또는 그 단면상을 그보다 1차원 낮은 촬영자료의 조합으로부터 화상 변환 기술을 사용하여 합성하는 조작 방법이다. 그리고 프로세서(130)는 복구된 화면(즉, 이미지)를 영상 인식 처리하여 컬링 전략 학습에 필요한 데이터(즉, 경기 상황 정보)를 획득할 수 있다.As another method for securing data, the processor 130 may reconstruct a game image taken at an actual curling stadium to recover a screen viewed from the vertical direction of the stadium. An image reconstruction process is an operation method which synthesize | combines an object or its cross-sectional image by the image conversion technique from the combination of the imaging data lower than that by one dimension. The processor 130 may perform image recognition processing of the restored screen (ie, image) to acquire data (ie, game situation information) necessary for culling strategy learning.

이때, 프로세서(130)는 컬링 경기장에 설치된 두 대 이상의 카메라(예: 경기장 옆 카메라, 경기장 상부(천장) 카메라 등)의 영상을 화상 재구성을 통해 수직 상부 방향에서 촬영한 이미지로 복구한다. 그리고 프로세서(130)는 복구된 이미지를 사전에 설정된 컬링 시뮬레이터의 위치 좌표와 매칭시킨 뒤, 템플릿 매칭을 통해 전략 생성 모델이 학습할 때 필요한 정보들(즉, 경기 상황 정보)을 추출하여 데이터베이스(140)에 저장한다.At this time, the processor 130 restores the image of two or more cameras (eg, a camera next to the stadium, a stadium top (ceiling) camera, etc.) installed in the curling stadium to an image taken in the vertical upper direction through image reconstruction. The processor 130 matches the recovered image with the position coordinates of a preset curling simulator, extracts information (ie, game situation information) necessary for the strategy generation model to learn through template matching, and then extracts the database 140. ).

프로세서(130)는 물리 엔진(physics engine) 기반의 컬링 시뮬레이터를 이용하여 컬링 스톤의 움직임 및 컬링 스톤간의 충돌을 재현하고, 무한한 공간인 컬링 시트를 좌표 공간으로 설정하여 컬링 스톤의 위치를 좌표로 나타낸다. 참고로, 물리 엔진은 강체동역학(충돌 감지 포함), 연체동역학, 유동역학과 같은 단순한 특정 물리 시스템을 최대한 시뮬레이션할 수 있는 컴퓨터 소프트웨어로 구현될 수 있다.The processor 130 reproduces the movement of the curling stone and the collision between the curling stones using a physics engine-based curling simulator, and sets the curling sheet, which is an infinite space, as the coordinate space to indicate the location of the curling stones as coordinates. . For reference, the physics engine may be implemented with computer software capable of maximizing simulation of simple specific physics systems such as rigid body dynamics (including collision detection), soft body dynamics, and flow dynamics.

이상에서와 같이, 프로세서(130)는 웹 크롤링 등을 통해 수집한 기존 컬링 경기 기록 데이터와 영상 인식에 기반하여 인식한 컬링 경기 상황 데이터를, 기계학습 기법을 이용해 학습할 수 있도록 데이터베이스화한다.As described above, the processor 130 databases the existing curling game record data collected through web crawling and the curling game situation data recognized based on image recognition, so as to learn by using a machine learning technique.

또한, 프로세서(130)는 수집된 컬링 데이터를 데이터 확장(data augmentation) 처리하여, 전략 학습에 필요한 많은 양의 데이터를 획득할 수 있다. 데이터 확장 처리는, 입력 데이터를 임의적으로 확장하는 것으로서, 이미지 데이터를 예로 들면 이미지를 회전하거나 자르기, 기울이기, 밝기 조절 등 인위적으로 미세한 변화를 주어 데이터의 수를 늘리는 방법이다. 예를 들어, 프로세서(130)는 기실시된 컬링 경기의 기록 자료 및 진행 중인 컬링 경기를 촬영한 영상 데이터로부터 추출된 이미지 정보를, 좌우 반전 처리, 스케일 축소 또는 확대 처리, 좌우 회전 처리 및 컬링 스톤의 위치 좌표에 대한 노이즈 추가 처리 중 적어도 하나의 데이터 확장 처리하여 기계학습의 학습데이터로서 사용한다.In addition, the processor 130 may process data augmentation of the collected curling data to obtain a large amount of data required for strategy learning. The data expansion process arbitrarily expands the input data. For example, image data is a method of increasing the number of data by artificially making small changes such as rotating, cropping, tilting, and adjusting brightness of an image. For example, the processor 130 may perform left and right inversion processing, scale reduction or enlargement processing, left and right rotation processing, and curling stone on the image data extracted from the recorded data of the existing curling race and the image data of the ongoing curling race. At least one data expansion process of the noise addition process for the position coordinate of is used as the learning data of the machine learning.

또한, 프로세서(130)는 기계학습 기반의 각기 다른 전략을 학습한 컬링 시뮬레이터 간에 자가 대전 경기 정보를 이용하여, 전략 추천 모델이 학습할 때 필요한 기설정된 종류의 정보들을 추출함으로써 데이터를 추가적으로 확보할 수도 있다.In addition, the processor 130 may further secure data by extracting predetermined types of information required when the strategy recommendation model is trained using self-matching competition information between curling simulators learning different strategies based on machine learning. have.

다음으로, 도 2 내지 도 4를 참조하여, 프로세서(130)가 추출된 컬링 데이터로부터 기설정된 종류의 특징(feature)을 추출하는 과정에 대해서 설명하도록 한다.Next, a process of extracting a feature of a predetermined kind from the extracted curling data will be described with reference to FIGS. 2 to 4.

프로세서(130)는 컬링 경기 상황 인식 및 학습을 위해 컬링만의 고유한 특징들을 추출하되, 다양한 특징의 융합을 처리하기 위해 다중 특징을 추출한다. 이때, 컬링만의 고유한 특징은, 스톤의 위치, 컬링 규칙, 현재 경기 상황의 최대 득점, 기존 경기 내용, 실제 경기에서 투구의 오차, 상대편의 경기 전략 등의 컬링 경기에 있어서 중대한 변수와 관련된 데이터들일 수 있다.The processor 130 extracts unique features of curling for curling race situation recognition and learning, but extracts multiple features to handle fusion of various features. At this time, the unique feature of curling is data related to important variables in the curling game, such as stone position, curling rules, the maximum score of the current game situation, existing game content, pitch error in the actual game, and the opponent's game strategy. Can be entered.

프로세서(130)는 획득된 컬링 데이터부터 특징을 추출하기 위해 시간적/공간적/통계적 방법을 적용하여, 컬링 규칙에 따른 특징, 기존 경기에서의 특징, 실제 경기(즉, 현재 진행 중인 경기) 중의 오차 특징 등을 추출한다. 이때, 프로세서(130)는 각각의 특징 추출 시 분산, 표준편차, 상관계수, 자기회귀(auto-regressive) 기법 등을 이용하여 특징 벡터를 추출한다.The processor 130 applies temporal / spatial / statistical methods to extract features from the acquired curling data, so that the characteristics according to the curling rule, the features in the existing game, and the error feature in the actual game (ie, the current game) Extract the back. In this case, the processor 130 extracts a feature vector by using variance, standard deviation, correlation coefficient, auto-regressive technique, and the like when extracting each feature.

컬링 규칙에 기반한 특징은, 사전에 정의된 컬링 전략에 관련된 특징이다.A feature based on the culling rule is a feature related to a predefined culling strategy.

예를 들어, 컬링의 전략은 드로우(draw), 프론트(front), 가드(guard), 레이즈(raise), 윅(wick) 및 프리즈(freeze)를 포함하는 느린 스톤과, 테이크 아웃(take out), 히트 앤 롤(hot and roll), 클리어링(clearing), 더블 테이크 아웃(double take out) 및 프로모션 테이크 아웃(promotion take out)을 포함하는 빠른 스톤을 포함할 수 있다. 이때, 드로우는 다른 스톤을 건드리지 않고, 하우스 안쪽의 원하는 위치에 해당 스톤을 정확히 보내는 샷을 의미한다. 그리고 프론트는 하우스 앞에 해당 스톤을 보내는 샷을 의미하며, 가드는 자신의 팀의 다른 스톤을 보호하기 위하여 하우스 앞에 해당 스톤을 위치시키는 것을 의미한다. 윅은 해당 스톤과 다른 스톤을 원하는 자리에 위치하도록 하는 샷을 의미하며, 프리즈는 해당 스톤을 다른 스톤과 최대한 가까운 위치에 보내는 샷을 의미한다. 테이크 아웃은 해당 스톤을 경기장 안에 두며 타 팀의 스톤을 경기장 밖으로 보내는 것이며, 히트 앤 롤은 해당 스톤을 원하는 위치로 보내고 타 팀의 스톤을 밖으로 보내는 것을 의미한다. 또한, 클리어링은 해당 스톤 및 타 팀의 스톤을 모두 밖으로 보내는 샷이며, 더블 테이크 아웃은 두 개의 타 팀의 스톤을 밖으로 내보내는 샷이다. 프로모션 테이크 아웃은 타 팀의 스톤을 밖으로 내보내기 위하여 자신의 팀의 스톤을 밀어내는 것을 의미한다. For example, curling strategies include slow stones, including draw, front, guard, raise, wick, and freeze, and take out. And quick stones including hot and roll, clearing, double take out and promotion take out. In this case, the draw refers to a shot that accurately sends the stone to a desired position inside the house without touching another stone. The front means a shot that sends the stone in front of the house, and the guard means placing the stone in front of the house to protect another team's stone. Wick means a shot that places a stone different from the stone in a desired position, and freeze means a shot that sends the stone as close as possible to another stone. Take out means to keep the stone in the playing field and send the other team's stone off the playing field, and hit and roll means to send the stone to the desired position and to send the other team's stone out. Also, clearing is a shot that sends out both the stone and the stones of other teams, and double take-out is a shot that sends out the stones of two other teams. Promotional take-out means pushing your team's stone out to get another team's stone out.

그리고, 기존 경기에서의 특징은, 기존 경기 별로 승리했을 때와 패배했을 때의 경기 결과를 바탕으로 각기 다른 강화 학습을 통해 최적의 특징을 추출한다. 불확실성에 의한 투구의 오차를 학습하여, 위험한 전략에 대한 가중치 조정을 통해 안정적인 성능 확보할 수 있다. In addition, the characteristics of the existing game, based on the result of the game when the victory and defeat for each existing game to extract the optimal feature through different reinforcement learning. By learning the error of pitching due to uncertainty, it is possible to secure stable performance by adjusting the weight of dangerous strategy.

프로세서(130)는 스톤의 위치 좌표에 기초하여 컬링 데이터에서의 특징들을 추출할 수 있다.The processor 130 may extract features in the curling data based on the location coordinates of the stone.

도 2는 본 발명의 일 실시예에 따른 컬링 스톤 위치 특징맵을 나타낸 도면이고, 도 3은 본 발명의 일 실시예에 따른 스코어 기반의 컬링 스톤 위치 특징맵을 나타낸 도면이며, 도 4는 본 발명의 일 실시예에 따른 동적 분할 좌표계 생성 방법을 설명하기 위한 도면이다.2 is a view showing a curling stone location feature map according to an embodiment of the present invention, Figure 3 is a view showing a score-based curling stone location feature map according to an embodiment of the present invention, Figure 4 is a present invention A diagram for describing a method of generating a dynamic split coordinate system, according to an exemplary embodiment.

도 2를 참조하면, 프로세서(130)는 각 컬링 데이터 별로 포함된 스톤의 위치를 맵(즉, 컬링 시뮬레이터의 위치 좌표와 대응되는 맵)에 반영하여 특징맵을 구성하되, 제 1 팀(예: 분석하고자 하는 사용자의 팀)의 스톤 위치, 제 2 팀(예: 상대팀)의 스톤 위치 및 빈 공간을 각각 좌표화한다. 즉, 프로세서(130)는 연속적인 공간의 탐색을 위해 좌표계를 할당한다.Referring to FIG. 2, the processor 130 configures a feature map by reflecting a location of a stone included in each curling data in a map (that is, a map corresponding to the location coordinates of a curling simulator), but the first team (eg, Coordinate the stone position of the user's team to be analyzed, the stone position of the second team (eg, the opposing team), and the empty space, respectively. In other words, the processor 130 allocates a coordinate system to search for continuous space.

그리고 도 3을 참조하면, 프로세서(130)는 분석 시점의 경기 상황을 기준으로 제 1 팀의 스톤 위치로부터 모든 좌표로의 투구하는 경우를 시뮬레이션하여 각각 예상되는 점수를 계산하고, 투구 후 점수 별로 해당하는 경우의 스톤 위치 특징맵을 구성한다. Referring to FIG. 3, the processor 130 simulates the pitching of the first team's stone positions from all the coordinates based on the game situation at the time of analysis, calculates the expected scores, and calculates the scores for each score after the pitching. In this case, a stone position feature map is constructed.

또한, 도 4를 참조하면, 프로세서(130)는 모든 위치 좌표의 간격이 동일한 좌표계를 사용하여 특징맵을 구성할 수 있다. 또한, 프로세서(130)는 컬링 투구 전략의 정확성을 높이기 위하여 하우스 중심으로부터 일정 범위 내의 위치 좌표의 간격은 세밀하게 분할하고, 하우스에서 멀어질수록 또는 상기 일정 범위를 벗어난 위치 좌표의 간격은 상대적으로 넓게 분할한 동적 분할 좌표계를 적용하여 특징맵을 구성할 수도 있다. 즉, 프로세서(130)는 경기 상황 및 전략 반영을 극대화하기 위해 동적 좌표계 할당 방식을 적용할 수 있다.In addition, referring to FIG. 4, the processor 130 may configure a feature map using a coordinate system having the same interval of all position coordinates. In addition, the processor 130 finely divides the interval of the position coordinates within a certain range from the center of the house in order to increase the accuracy of the curling pitching strategy. The feature map may be constructed by applying the divided dynamic segmentation coordinate system. In other words, the processor 130 may apply the dynamic coordinate system allocation method in order to maximize the reflection of the game situation and strategy.

다음으로, 프로세서(130)가 컬링 데이터로부터 추출된 특징들을 학습하는 딥러닝 구조를 설계하고 이를 학습하는 과정에 대해서 설명하도록 한다.Next, a process of designing and learning a deep learning structure for learning features extracted from the curling data by the processor 130 will be described.

프로세서(130)는 추출된 컬링 데이터 특징들을 학습 데이터로하여 딥러닝에 기반하여 학습한다. 이때, 프로세서(130)는 추출한 다양한 특징을 이용하기 위해, 차원(dimension)이 다른 특징에 대해서 동시에 학습할 수 있는 다중 특징 융합 딥러닝 구조를 설계한다. 이를 통해 과적합과 같은 오류에서 벗어날 수 있으며, 보다 빠르과 적합하게 몬테카를로 트리 상의 투구(즉, 전략) 후보군을 줄여 나가면서 빠르게 학습 및 갱신이 가능하다.The processor 130 learns based on deep learning using the extracted curling data features as learning data. In this case, the processor 130 designs a multiple feature fusion deep learning structure that can simultaneously learn about features having different dimensions in order to use the extracted various features. This avoids errors such as overfitting and enables faster and more appropriate learning and updating while reducing the number of pitches (ie, strategies) candidates on the Monte Carlo tree.

도 5는 본 발명의 일 실시예에 따른 다중 특징 융합 기반의 딥러닝 구조를 설명하기 위한 도면이다.FIG. 5 is a diagram for describing a deep learning structure based on multiple feature fusion according to an embodiment of the present invention.

도 5를 참조하면, 프로세서(130)는 컬링 데이터의 특징 중 규칙 기반 특징, 학습 기반 특징 및 불확실성에 따른 특징들을 포함하는 다중 특징들을 동시에 학습하여, 스톤의 위치 좌표를 예측한다. Referring to FIG. 5, the processor 130 simultaneously learns multiple features including rule-based features, learning-based features, and features of uncertainty among the features of the curling data to predict the location coordinates of the stones.

프로세서(130)는 딥러닝을 이용한 몬테카를로 트리 탐색에 기반하여 경기 전략을 생성한다. The processor 130 generates a game strategy based on the Monte Carlo tree search using deep learning.

도 6은 본 발명의 일 실시예에 따른 컬링 경기에 대한 전략 추천을 위한 딥러닝 설계 방식의 개념을 나타낸 도면이다.6 is a diagram illustrating a concept of a deep learning design method for recommending a strategy for a curling game according to an embodiment of the present invention.

프로세서(130)는 딥러닝에 기반하여 컬링 스톤의 위치를 예측하되, 컬링 경기 전략 및 상황 파악 알고리즘을 통해 정확한 경기 상황 파악과 투구 전략 수립이 가능한 컨볼루션 신경망(Convolutional Neural Network, CNN) 기반 딥러닝 구조(도 6에 도시됨)를 구축한다. The processor 130 predicts the location of the curling stone based on deep learning, but uses a convolutional neural network (CNN) -based deep learning that can accurately identify the game situation and establish a pitching strategy through a curling game strategy and situation identification algorithm. Construct the structure (shown in Figure 6).

도 7은 본 발명의 일 실시예에 따른 딥러닝을 이용한 최적의 투구 전략 추천 방식의 개요를 설명하기 위한 도면이고, 도 8은 본 발명의 일 실시예에 따른 좌표 공간에 기반한 컬링 시뮬레이션에서의 몬테카를로 트리 탐색 방식을 설명하기 위한 도면이다. 그리고 도 9는 본 발명의 일 실시예에 따른 딥러닝에 기반한 투구 후보 영역을 이용하여 몬테카를로 트리 탐색을 처리하는 방식을 설명하기 위한 도면이다.FIG. 7 is a view for explaining an outline of an optimal pitching strategy recommendation method using deep learning according to an embodiment of the present invention, and FIG. 8 is a Monte Carlo simulation in a curling simulation based on a coordinate space according to an embodiment of the present invention. It is a figure for explaining a tree search method. FIG. 9 is a diagram illustrating a method of processing a Monte Carlo tree search using a deep candidate based pitching candidate region according to an embodiment of the present invention.

도 7을 참조하면, 프로세서(130)는 주어진 경기 상황(즉, 현재 경기 상황) 별로 딥러닝에 기반한 전략 추천 모델을 통해 학습하여 다음 투구에 대한 후보군을 생성한다. 이때, 프로세서(130)는 도 8에서와 같은 몬테카를로 트리 탐색 기법을 적용한 전략 추천 모델을 통해 학습하되, 좌표 공간 기반의 컬링 시뮬레이터에서 몬테카를로 트리 탐색을 처리할 수 있다.Referring to FIG. 7, the processor 130 learns through a strategy recommendation model based on deep learning for a given game situation (ie, current game situation) to generate a candidate group for the next pitch. In this case, the processor 130 may learn through a strategy recommendation model applying the Monte Carlo tree search technique as shown in FIG. 8, but may process the Monte Carlo tree search in a coordinate space-based curling simulator.

몬테카를로 트리 탐색은 의사 결정을 위한 체험적 탐색 알고리즘으로, 특히 게임을 할 때에 주로 적용된다. 어떻게 움직이는 것이 가장 유망한 것인가를 분석하면서 검색 공간에서 무작위 추출에 기초한 탐색 트리를 확장하는 데 중점을 둔다. 몬테카를로 트리 탐색을 게임에 적용하는 것은 많은 '플레이아웃(playout)'에 기초한다. 각각의 플레이아웃에서 무작위 선택을 통해 게임을 끝까지 마치게 된다. 각 플레이아웃의 최종 게임 결과로 노드에 가중치를 두어 장래의 플레이아웃에서 선택할 가능성을 높인다. 플레이아웃을 사용하는 가장 기초적인 방법은 참가자가 규칙에 맞게 둔 각각의 후에 동일한 수(움직임)의 플레이아웃을 적용하고, 가장 많은 수의 승리를 이끈 움직임을 선택하는 것이다. 이 방법은 종종 시간이 진행되면서 예전의 플레이아웃에서 참가자를 승리로 이끌었던 움직임에 더 많은 플레이아웃이 부과되면서 효율성이 높아진다. 몬테카를로 트리 탐색의 매 회는 선택, 확장, 시뮬레이션, 역전달로 네 단계로 구성된다. 선택 (Selection)은 루트에서 시작하여 연속적인 자식 노드를 선택해 내려간다. 확장 (Expansion)은 노드에서 승패를 내지 못하고 게임이 종료되면, 하나 또는 그 이상의 자식 노드를 생성하거나 자식 노드 중 다른 노드를 선택한다. 시뮬레이션 (Simulation)은 노드로부터 무작위의 플레이아웃을 실행한다. 역전달(Backpropagation)은 플레이아웃의 결과로 모든 경로에 있는 노드들의 정보를 갱신한다. 이러한 방법을 이용해 기존의 게임 트리에 비해 높은 확률의 후보를 제외한 많은 후보군은 제외할 수 있다. 이러한 방법으로 빠른 전략추천을 가능하게 한다. Monte Carlo tree traversal is a heuristic search algorithm for decision making, especially when playing games. Analyzing how moving is the most promising, we focus on expanding the search tree based on randomization in the search space. Applying Monte Carlo tree navigation to a game is based on many 'playouts'. At each playout, you'll end up with a random selection. Nodes are weighted as the final game result for each playout to increase the likelihood of selecting them in future playouts. The most basic way to use the playout is to apply the same number of playouts after each participant that matches the rules, and choose the move that led to the greatest number of wins. This method is often more efficient as time goes on, as more playouts are imposed on the movement that led the player to victory in the previous playout. Each time the Monte Carlo tree traversal consists of four steps: selection, expansion, simulation and back propagation. Selection starts at the root and selects successive child nodes. When the game is not won at the end of the game and expansion ends, one or more child nodes are created or the other node is selected. Simulation performs a random playout from the node. Backpropagation updates the information of nodes along all paths as a result of playout. By using this method, many candidate groups can be excluded except for candidates having a higher probability than the existing game tree. In this way, a quick strategy recommendation is possible.

몬테카를로 트리 탐색만으로는 각각의 플레이 아웃에서 무작위 선택을 통해 게임을 끝까지 마치게 하는데, 본 발명의 일 실시예에 따른 프로세서(130)는 경기 상황에 맞는 컬링 전략을 고려하여 학습한 가중치 기반으로 선택하고, 최종 게임 결과로 노드에 가중치를 갱신하는 방법을 통해 최적의 전략을 찾고 고속 탐색이 가능하다. Monte Carlo tree navigation alone finishes the game through random selection in each playout. The processor 130 according to an embodiment of the present invention selects based on the weights learned in consideration of a culling strategy suitable for a game situation, and finally, The result of the game is to update the node weights to find the optimal strategy and to perform fast search.

프로세서(130)는 컬링 경기에서 각 팀별로 주어진 제약된 시간 내 전략을 수립하기 위해, 딥러닝 기반의 고속 탐색 알고리즘을 통해 투구 후보를 줄여 최적의 전략을 수립할 수 있는 전략 추천 모델을 구축한다.The processor 130 builds a strategy recommendation model for establishing an optimal strategy by reducing a pitching candidate through a deep learning based fast search algorithm in order to establish a limited time strategy given to each team in a curling game.

도 9를 참조하면, 전략 추천 모델은 CNN을 이용하여 현재 경기 상황을 입력받고 몬테카를로 트리 탐색을 통해 다음 투구 전략의 후보군을 출력한다. Referring to FIG. 9, the strategy recommendation model receives a current game situation using a CNN and outputs a candidate group of a next pitching strategy through a Monte Carlo tree search.

또한, 프로세서(130)는 좌표 기반으로 넓은 트리의 후보폭을 줄이기 위해, 딥러닝 가중치를 이용하여 몬테카를로 트리의 후보의 우선순위를 선택할 수 있다. In addition, the processor 130 may select the priority of the candidates of the Monte Carlo tree using deep learning weights to reduce the candidate width of the wide tree based on the coordinates.

이때, 불확실성에 따른 승패에 영향을 주어 최적의 학습을 방해하는 문제점을 극복하고자, 프로세서(130)는 불확실성에 따른 승패를 정규화할 수 있는 강화 학습 기법을 통해 불확실성을 고려한 학습을 수행한다. 프로세서(130)는 딥러닝 가중치 요소로서 학습된 투구의 오차를 활용하여, 몬테카를로 트리의 후보폭을 감소시킬 수 있다. 이처럼, 불확실성에 따라 미치는 승패 결과를 평가하여 신뢰도를 반영한 강화 학습 구조를 설계한다. 참고로, 강화학습(Reinforcement Learning)이란 어떤 환경 안에서 정의된 장치가 현재의 상태를 인식하여, 선택 가능한 행동들 중 보상을 최대화하는 행동 혹은 행동 순서를 선택하는 방법이다.In this case, in order to overcome the problem of interfering with the outcome of the uncertainty and to prevent the optimal learning, the processor 130 performs the learning in consideration of the uncertainty through the reinforcement learning technique that can normalize the outcome of the uncertainty. The processor 130 may reduce the candidate width of the Monte Carlo tree by utilizing the error of the learned pitch as the deep learning weight factor. As such, we design a reinforcement learning structure that reflects the reliability by evaluating the outcome of the outcome. For reference, reinforcement learning is a method in which a device defined in an environment recognizes the current state and selects an action or a sequence of actions that maximizes reward among selectable actions.

도 10은 본 발명의 일 실시예에 따른 불확실성을 반영한 강화 학습을 적용한 투구 전략 추천 방식을 설명하기 위한 도면이다.FIG. 10 is a diagram illustrating a pitching strategy recommendation method using reinforcement learning reflecting uncertainty according to an embodiment of the present invention.

도 10을 참조하면, 프로세서(130)는 자체 대결을 통해 승률이 높은 전략을 학습하는 강화 학습을 처리할 수 있다. 도 10에서와 같이, 프로세서(130)는 승리했던 투구를 하도록 딥러닝 변수를 업데이트하고, 또한 패배했던 투구를 하지 않도록 딥러닝 변수를 업데이트하는 강화 학습 기법을 처리한다. 이러한 강화 학습 기법을 통해 경기를 진행할수록 점차 기술이 고도화되며, 경기 상황에 따라 실시간 추가 학습을 통해 컬링 전략 추천이 가능하고, 또한 불확실성에 대한 학습이 가능하여 보다 안정적인 전략을 추천이 가능하다.Referring to FIG. 10, the processor 130 may process reinforcement learning that learns a strategy having a high winning rate through self-confrontation. As shown in FIG. 10, the processor 130 processes the reinforcement learning technique of updating the deep learning variable to make a throwing pitch and also updating the deep learning variable so as not to throw the throwing pitch. As the game progresses through this reinforcement learning technique, technology is gradually advanced, and it is possible to recommend a culling strategy through real-time additional learning according to the game situation, and also to recommend a more stable strategy by learning about uncertainty.

다음으로, 프로세서(130)는 딥러닝 학습의 결과에 기초하여, 컬링 경기 전략을 추천한다.Next, the processor 130 recommends a curling match strategy based on the results of the deep learning learning.

프로세서(130)는 규칙 기반 추천 및 학습 기반 추천이 동시에 적용되는 딥러닝에 기반하여 최적 전략 예측을 수행한다. 프로세서(130)는 현재 진행 중인 경기 상황에 따른 컬링 데이터(예를 들어, 실시간으로 입력된 경기 상황 데이터)를 딥러닝에 기반한 몬테카를로 트리 탐색 기법에 따른 전략 추천 모델을 통해 학습하고, 그 학습의 결과로서 다음 투구 후보군(즉, 적어도 하나의 전략 추천 후보)를 디스플레이를 통해 출력한다.The processor 130 performs optimal strategy prediction based on deep learning to which rule-based recommendation and learning-based recommendation are simultaneously applied. The processor 130 learns the curling data (for example, the game situation data input in real time) according to the current game situation through the strategy recommendation model based on the Monte Carlo tree search technique based on deep learning, and the result of the learning. As the next pitching candidate group (ie, at least one strategy recommendation candidate) on the display.

이때, 프로세서(130)는 전략 추천 모델을 통한 딥러닝 학습을 통해 컬링 투구의 기본 요소인 스톤의 ‘힘’과 ‘회전’, ‘경로’를 추천하는 최적의 컬링 경기 전략을 추천한다. 상대의 전략에 따라 최적의 컬링 경기 전략은 갱신될 수 있다.In this case, the processor 130 recommends an optimal curling match strategy that recommends 'force', 'rotation', and 'path' of the stones, which are the basic elements of the curling pitch, through deep learning learning through the strategy recommendation model. Depending on the opponent's strategy, the optimal curling race strategy may be updated.

즉, 프로세서(130)는 딥러닝 및 몬테카를로 트리 검색 기법에 기초하여 구출된 전략 추천 모델을 통한 학습에 의해 추천된 최적의 컬링 전략에 따라 스톤의 힘, 회전, 경로 정보를 출력한다. 이때, 프로세서(130)는 추천된 컬링 전략을 최적의 스톤의 힘, 회전, 경로 정보로 변환하기 위해, 다수의 시뮬레이션을 통해 스톤의 예상 위치 좌표 테이블을 생성하고 그에 따른 좌표 매칭을 처리할 수 있다.That is, the processor 130 outputs stone force, rotation, and path information according to an optimal curling strategy recommended by learning through a strategy recommendation model rescued based on deep learning and Monte Carlo tree search techniques. In this case, the processor 130 may generate a table of estimated position coordinates of the stone through a plurality of simulations and process coordinate matching accordingly in order to convert the recommended curling strategy into the optimal stone force, rotation, and path information. .

도 11은 본 발명의 일 실시예에 따른 투구 전략 후보 도출 및 추천 결과의 일례를 도시한 도면이다.11 is a diagram illustrating an example of a pitching strategy candidate derivation and recommendation result according to an exemplary embodiment of the present invention.

도 11의 (a)에서는, 불확실성에 의한 오차를 학습한 결과로서 안정적인 투구 전략 후보를 도출한 결과의 일례를 나타냈다. 또한 도 11의 (b)에서는 전략 추천 결과로서 스톤의 힘, 회전 및 경로 정보를 위치 좌표 테이블에 기반한 히트맵 좌표에 매칭한 것을 나타냈다. 프로세서(130)는 이러한 컬링 경기 전략 추천 결과를 사용자가 확인할 수 있도록 실시간으로 제공할 수 있다.In FIG. 11A, an example of a result of deriving a stable pitching strategy candidate as a result of learning an error due to uncertainty is shown. In addition, in FIG. 11B, the force, rotation, and path information of the stone are matched with the heat map coordinates based on the position coordinate table as a strategy recommendation result. The processor 130 may provide the curling match strategy recommendation result in real time for the user to check.

이하, 도 12를 참조하여 본 발명의 일 실시예에 따른 컬링 경기 전략 추천 방법에 대해서 설명하도록 한다.Hereinafter, a curling match strategy recommendation method according to an embodiment of the present invention will be described with reference to FIG. 12.

도 12는 본 발명의일 실시예에 따른 컬링 경기 전략 추천 방법을 설명하기 위한 순서도이다.12 is a flowchart illustrating a curling match strategy recommendation method according to an embodiment of the present invention.

먼저, 딥러닝 학습을 수행하기 위한 기실시된 컬링 경기들에 대한 빅데이터를 수집하여, 기설정된 종류 및 형태의 컬링 데이터를 추출한다(S121).First, big data about pre-set curling races for performing deep learning learning are collected to extract curling data of a predetermined type and form (S121).

이때, 기존에 실시되었던 경기 자료들로부터 영상 인식 기법 및 텍스트마이닝 기법을 사용하여 컬링 데이터를 추출할 수 있다. 또한, 수집된 컬링 데이터를 데이터 확장(data augmentation) 처리하여, 전략 학습에 필요한 많은 양의 데이터를 획득할 수 있다.In this case, the curling data may be extracted from the competition data that have been previously performed using image recognition and text mining techniques. In addition, the collected curling data may be subjected to data augmentation, thereby obtaining a large amount of data required for strategy learning.

다음으로, 수집된 컬링 데이터들로부터 컬링 경기 전략 추천 모델을 통한 학습에 필요한 각종 특징을 추출한다(S122).Next, various features required for learning through the curling competition strategy recommendation model are extracted from the collected curling data (S122).

이때, 스톤의 위치, 컬링 규칙, 현재 경기 상황의 최대 득점, 기존 경기 내용, 실제 경기에서 투구의 오차, 상대편의 경기 전략 등의 컬링 경기에 있어서 중대한 변수와 관련된 데이터들을 특징으로서 추출할 수 있다. 예를 들어, 분산, 표준편차, 상관계수, 자기회귀(auto-regressive) 기법 등을 사용하여, 컬링 규칙에 따른 특징, 기존 경기에서의 특징, 실제 경기(즉, 현재 진행 중인 경기) 중의 오차 특징 등의 다중 특징을 추출한다.In this case, data related to a significant variable in a curling game, such as a stone position, a curling rule, a maximum score of a current game situation, an existing game content, an error of a pitch in an actual game, and an opponent's game strategy, can be extracted as a feature. For example, using variances, standard deviations, correlation coefficients, auto-regressive techniques, etc., features based on curling rules, features from existing races, and errors from actual races (ie, races in progress). Extract multiple features such as

그런 다음, 추출된 컬링 데이터 특징들을 학습 데이터로하여 딥러닝에 기반하여 학습하여 전략 추천 모델을 구축한다(S123).Then, learning based on deep learning using the extracted curling data features as learning data to build a strategy recommendation model (S123).

이때, 차원이 다른 특징들에 대해서 동시에 학습할 수 있는 다중 특징 융합 딥러닝 구조를 설계하되, 컨볼루션 신경망 기반의 딥러닝과 몬테카를로 트리 탐색 기법을 사용한 전략 추천 모델을 구축할 수 있다. 이를 통해, 추출된 컬링 데이터 특징을 딥러닝에 기반한 전략 추천 모델을 통해 학습하여 다음 투구에 대한 후보군을 생성된다.At this time, we can design a multi-feature convergence deep learning structure that can learn about different features at the same time, but build a strategy recommendation model using convolutional neural network-based deep learning and Monte Carlo tree search. Through this, the extracted culling data features are learned through a strategy recommendation model based on deep learning to generate candidate groups for the next pitch.

또한, 딥러닝 가중치 요소로서 학습된 투구의 오차를 활용하여, 몬테카를로 트리의 후보폭을 감소시키는 강화 학습 구조의 전략 추천 모델을 생성할 수도 있다.In addition, a strategy recommendation model of the reinforcement learning structure that reduces the candidate width of the Monte Carlo tree may be generated by utilizing the error of the learned pitch as a deep learning weighting factor.

다음으로, 구축된 전략 추천 모델을 사용하여 현재 진행 중인 컬링 경기 상황을 학습하고, 그에 따른 컬링 전략 추천 결과를 출력한다(S124).Next, using the established strategy recommendation model to learn the current curling game situation, and outputs the result of the curling strategy recommendation accordingly (S124).

이때, 최적 전략 예측을 통해 추천된 투구 전략은 스톤의 힘, 회전, 경로 정보로 변환하여 출력할 수 있으며, 이에 대응하는 스톤의 예상 위치 좌표가 함께 출력될 수도 있다.In this case, the pitching strategy recommended through the optimal strategy prediction may be output by converting the stone's force, rotation, and path information, and a corresponding position coordinate of the stone may be output together.

본 발명의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능한 기록 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독 가능한 기록 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다.One embodiment of the present invention can also be implemented in the form of a recording medium containing instructions executable by a computer, such as a program module executed by the computer. Computer readable recording media can be any available media that can be accessed by a computer and includes both volatile and nonvolatile media, removable and non-removable media. In addition, the computer readable recording medium may include a computer storage medium. Computer storage media includes both volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data.

본 발명의 방법 및 시스템은 특정 실시예와 관련하여 설명되었지만, 그것들의 구성 요소 또는 동작의 일부 또는 전부는 범용 하드웨어 아키텍쳐를 갖는 컴퓨터 시스템을 사용하여 구현될 수 있다.Although the methods and systems of the present invention have been described in connection with specific embodiments, some or all of their components or operations may be implemented using a computer system having a general purpose hardware architecture.

전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.The foregoing description of the present invention is intended for illustration, and it will be understood by those skilled in the art that the present invention may be easily modified in other specific forms without changing the technical spirit or essential features of the present invention. will be. Therefore, it should be understood that the embodiments described above are exemplary in all respects and not restrictive. For example, each component described as a single type may be implemented in a distributed manner, and similarly, components described as distributed may be implemented in a combined form.

본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.The scope of the present invention is shown by the following claims rather than the detailed description, and all changes or modifications derived from the meaning and scope of the claims and their equivalents should be construed as being included in the scope of the present invention. do.

100: 컬링 경기 전략 추천 장치 400: 통신망
110: 통신모듈 120: 메모리
130: 프로세서 140: 데이터베이스
100: curling match strategy recommendation device 400: communication network
110: communication module 120: memory
130: Processor 140: Database

Claims (10)

컬링 경기 전략 추천 장치에 있어서,
딥러닝 및 몬테카를로 트리 탐색 기법을 적용한 컬링 경기 전략 분석 및 추천 프로그램이 저장된 메모리; 및
상기 메모리에 저장된 프로그램을 실행하는 프로세서를 포함하며,
상기 프로세서는 상기 컬링 경기 전략 분석 및 추천 프로그램의 실행에 따라,
진행 중인 컬링 경기를 촬영한 이미지를 영상 인식하여 기설정된 경기 상황 정보를 인식하고, 기실시된 복수의 컬링 경기에 대한 기록 자료들로부터 수집된 데이터들 및 상기 경기 상황 정보를 딥러닝 및 몬테카를로 트리 탐색 기법을 통해 학습하여 전략 추천 모델을 구축하고, 상기 전략 추천 모델을 통해 상기 인식된 경기 상황 정보에 대응하는 하나 이상의 전략을 예측한 정보를 추천하며,
상기 기실시된 복수의 컬링 경기에 대한 기록 자료들은, 이미지 정보 및 텍스트 정보 중 적어도 하나를 포함하고,
상기 기록 자료 및 상기 진행 중인 컬링 경기에 따른 컬링 데이터로부터 추출한 특징들 중 스톤의 위치를 좌표 화하되, 컬링 경기에서의 하우스에 대응하는 기설정된 범위 내의 위치 좌표 간의 간격이 상기 기설정된 범위 외의 위치 좌표 간의 간격보다 좁게 설정된 동적 분할 좌표계를 사용하는 것인, 컬링 경기 전략 추천 장치.
In the curling match strategy recommendation device,
A memory storing a curling game strategy analysis and recommendation program using deep learning and Monte Carlo tree traversal techniques; And
A processor for executing a program stored in the memory;
The processor according to the execution of the curling match strategy analysis and recommendation program,
Recognize preset game situation information by recognizing the image of the image of the ongoing curling game, and deep learning and Monte Carlo tree search on the game situation information and the data collected from the recorded data of the plurality of curling events. Learn through a technique to build a strategy recommendation model, and through the strategy recommendation model recommends information predicting one or more strategies corresponding to the recognized game situation information,
The recorded data of the plurality of curling competitions carried out include at least one of image information and text information,
Coordinates the position of the stone among the features extracted from the recorded data and the curling data according to the ongoing curling game, wherein the interval between the position coordinates within the preset range corresponding to the house in the curling game is outside the preset range. Curling match strategy recommendation apparatus, which uses a dynamic split coordinate system set narrower than the interval between.
제 1 항에 있어서,
상기 프로세서는,
상기 기록 자료들로부터 수집된 데이터 및 상기 경기 상황 정보로부터 영상 인식 기법을 사용하여 스톤의 위치 정보를 추출하고, 상기 수집된 데이터로부터 텍스트마이닝 기법을 사용하여 전략 정보를 추출하며,
상기 컬링 데이터는 상기 스톤의 위치 정보 및 전략 정보를 포함하는, 컬링 경기 전략 추천 장치.
The method of claim 1,
The processor,
Extracting the location information of the stone from the data collected from the recorded data and the game situation information using image recognition technique, and extracting the strategy information from the collected data using text mining technique,
And the curling data includes location information and strategy information of the stone.
제 2 항에 있어서,
상기 프로세서는,
상기 수집된 데이터 및 상기 경기 상황 정보에 따른 이미지 정보를 좌우 반전 처리, 스케일 축소 또는 확대 처리, 좌우 회전 처리 및 컬링 스톤의 위치 좌표에 대한 노이즈 추가 처리 중 적어도 하나의 데이터 확장(data augmentation) 처리하여 컬링 데이터를 추출하는, 컬링 경기 전략 추천 장치.
The method of claim 2,
The processor,
Image data according to the collected data and the game situation information is subjected to at least one data augmentation process among left and right inversion processing, scale reduction or enlargement processing, left and right rotation processing, and noise addition processing for the position coordinates of the curling stone. A curling match strategy recommendation device for extracting curling data.
제 2 항에 있어서,
상기 프로세서는,
상기 컬링 데이터로부터, 컬링 규칙에 따른 특징, 기존 경기에서의 특징, 및 상기 진행 중인 경기의 오차 특징을 포함하는 다중 특징을 추출하되,
상기 다중 특징은,
스톤의 위치, 컬링 규칙, 현재 경기 상황의 최대 득점, 기존 경기 내용, 실제 경기에서 투구의 오차, 상대편의 경기 전략 중 적어도 하나의 종류를 포함하는 것인, 컬링 경기 전략 추천 장치.
The method of claim 2,
The processor,
From the curling data, a multi-feature including a feature according to a curling rule, a feature in an existing game, and an error feature of the ongoing game is extracted,
The multiple features,
Curling match strategy recommendation device, including at least one kind of the position of the stone, the curling rules, the maximum score of the current game situation, the existing game content, the error of the pitch in the actual match, the opponent's match strategy.
제 4 항에 있어서,
상기 프로세서는,
차원(dimension)이 상이한 상기 다중 특징들에 대해 동시에 학습하는 컨볼루션 신경망(Convolutional Neural Network, CNN)에 기반한 딥러닝 학습을 통해 상기 전략 추천 모델을 구축하는, 컬링 경기 전략 추천 장치.
The method of claim 4, wherein
The processor,
And constructing the strategy recommendation model through deep learning learning based on a convolutional neural network (CNN) that simultaneously learns about the multiple features having different dimensions.
제 4 항에 있어서,
상기 프로세서는,
딥러닝 학습 시 가중치 요소로서 상기 투구의 오차를 적용하여 몬테카를로 트리 상에서 투구 후보의 우선 순위를 설정하여 상기 전략 추천 모델을 구축하는, 컬링 경기 전략 추천 장치.
The method of claim 4, wherein
The processor,
Curling game strategy recommendation apparatus for constructing the strategy recommendation model by setting the priority of the pitching candidate on the Monte Carlo tree by applying the error of the pitch as a weighting factor in deep learning.
제 6 항에 있어서,
상기 프로세서는,
기설정된 컬링 시뮬레이터를 통해 상기 컬링 데이터 별로 경기를 시뮬레이션한 결과에 따라 승패를 평가하고, 상기 평가의 결과를 딥러닝의 변수로 업데이트하여 강화 학습을 수행하는, 컬링 경기 전략 추천 장치.
The method of claim 6,
The processor,
Curling game strategy recommendation apparatus for evaluating the win or lose according to the results of the simulation simulation for each of the curling data through a preset curling simulator, and performing the reinforcement learning by updating the result of the evaluation with the variables of deep learning.
삭제delete 제 1 항에 있어서,
상기 프로세서는,
상기 구축된 전략 추천 모델을 사용하여 상기 진행 중인 경기 상황 정보를 학습하고, 상기 학습을 통해 예측된 투구 전략을 출력하되,
상기 투구 전략을 스톤의 힘, 회전 및 경로 정보로 변화한 결과와 스톤의 예상 위치 좌표 중 적어도 하나를 출력하는, 컬링 경기 전략 추천 장치.
The method of claim 1,
The processor,
Learning the ongoing game situation information using the established strategy recommendation model, and outputs the predicted pitching strategy through the learning,
And outputting at least one of a result of changing the pitching strategy by the force, rotation, and path information of the stone and the estimated position coordinates of the stone.
컬링 경기 전략 추천 장치를 통한 컬링 경기 전략 추천 방법에 있어서,
기실시된 복수의 컬링 경기에 대한 기록 자료들로부터 수집된 데이터로부터 스톤의 위치 정보 및 전략 정보를 포함하는 컬링 데이터를 추출하고, 진행 중인 컬링 경기를 촬영한 이미지를 영상 인식한 경기 상황 정보로부터 스톤의 위치 정보를 포함하는 컬링 데이터를 추출하는 단계;
상기 컬링 데이터들로부터 각각 컬링 규칙에 따른 특징, 기존 경기에서의 특징, 및 상기 진행 중인 경기의 오차 특징을 포함하는 다중 특징을 추출하는 단계;
상기 다중 특징들을 딥러닝 및 몬테카를로 트리 탐색 기법을 통해 학습하여 전략 추천 모델을 구축하는 단계; 및
상기 전략 추천 모델을 통해 상기 경기 상황 정보에 대응하는 하나 이상의 전략을 예측한 정보를 추천하는 단계를 포함하고,
상기 기록 자료 및 상기 진행 중인 컬링 경기에 따른 컬링 데이터로부터 추출한 특징들 중 스톤의 위치를 좌표 화하되, 컬링 경기에서의 하우스에 대응하는 기설정된 범위 내의 위치 좌표 간의 간격이 상기 기설정된 범위 외의 위치 좌표 간의 간격보다 좁게 설정된 동적 분할 좌표계를 사용하는 것인, 컬링 경기 전략 추천 방법.
In the curling match strategy recommendation method using a curling match strategy recommendation device,
Curling data including stone location information and strategy information is extracted from data collected from a plurality of recorded culling races, and stone from race state information obtained by image recognition of an image of an ongoing culling race. Extracting curling data including location information of the;
Extracting, from the curling data, multiple features including a feature according to a curling rule, a feature in an existing game, and an error feature of the ongoing game;
Learning the multiple features through deep learning and Monte Carlo tree search techniques to build a strategy recommendation model; And
Recommending information predicting one or more strategies corresponding to the game situation information through the strategy recommendation model;
Coordinate the position of the stone among the features extracted from the recorded data and the curling data according to the ongoing curling game, wherein the interval between the position coordinates within the preset range corresponding to the house in the curling game is outside the preset range. The method of recommending a curling match strategy, wherein the dynamic split coordinate system is set to be narrower than the interval between.
KR1020170128075A 2017-02-24 2017-09-29 Apparatus and method for recommendation of curling game strategy using deep learning KR102045567B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020170024517 2017-02-24
KR20170024517 2017-02-24

Publications (2)

Publication Number Publication Date
KR20180098111A KR20180098111A (en) 2018-09-03
KR102045567B1 true KR102045567B1 (en) 2019-11-18

Family

ID=63601073

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170128075A KR102045567B1 (en) 2017-02-24 2017-09-29 Apparatus and method for recommendation of curling game strategy using deep learning

Country Status (1)

Country Link
KR (1) KR102045567B1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112704882A (en) * 2021-01-14 2021-04-27 广州云从鼎望科技有限公司 Method, system, medium, and apparatus for model-based chess and card game strategy update
KR20230158858A (en) 2022-05-12 2023-11-21 삼성에스디에스 주식회사 Method for solving problem and system thereof

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102251858B1 (en) * 2018-11-14 2021-05-14 주식회사 투아트 Deep learning based image analysis method, system and mobile terminal
WO2020101121A1 (en) * 2018-11-14 2020-05-22 (주)투아트 Deep learning-based image analysis method, system, and portable terminal
KR102143906B1 (en) * 2018-11-20 2020-08-12 고려대학교 산학협력단 Method and system for performing environment adapting stategy based on ai
CN109621431B (en) * 2018-11-30 2022-06-14 网易(杭州)网络有限公司 Game action processing method and device
KR102257358B1 (en) * 2018-12-26 2021-05-31 고려대학교 산학협력단 System and method for curling sweeping control
KR102007371B1 (en) 2019-01-24 2019-08-05 넷마블 주식회사 Method and apparatus for recommending game play strategy
CN109908590B (en) * 2019-02-27 2022-06-21 广州华多网络科技有限公司 Game recommendation method, device, equipment and medium
KR102117254B1 (en) * 2019-03-06 2020-06-01 이태섭 Floor curling system using intelligent image analysis and its operation method
US11983609B2 (en) * 2019-07-10 2024-05-14 Sony Interactive Entertainment LLC Dual machine learning pipelines for transforming data and optimizing data transformation
CN111013152A (en) * 2019-12-26 2020-04-17 北京像素软件科技股份有限公司 Game model action generation method and device and electronic terminal
KR102533048B1 (en) * 2021-01-14 2023-05-15 재단법인차세대융합기술연구원 Method for predecting particle growh in taylor-couette flow based on machine learning
KR102315842B1 (en) * 2021-05-03 2021-10-21 김종우 System for providing carom billards guidance service using reinforcement learning of deep learning model
CN113837063B (en) * 2021-10-15 2024-05-10 中国石油大学(华东) Reinforcement learning-based curling motion field analysis and auxiliary decision-making method

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5560154B2 (en) * 2010-09-30 2014-07-23 日本放送協会 Model parameter estimation apparatus and program thereof
KR101499570B1 (en) * 2013-11-28 2015-03-12 숭실대학교산학협력단 Mobile Apparatus for Curling Analysis and Curling Game Analysis System Using Thereof

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101611431B1 (en) 2014-02-20 2016-04-12 숭실대학교산학협력단 Method for analyzing curling game, recording medium and device for performing the method
KR101478097B1 (en) 2014-02-21 2014-12-31 숭실대학교산학협력단 Mobile apparatus and method for simulating curling, recording medium for performing the method
KR20160026310A (en) * 2014-08-29 2016-03-09 넥시스 주식회사 System and method for curling coaching by wearable glass device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5560154B2 (en) * 2010-09-30 2014-07-23 日本放送協会 Model parameter estimation apparatus and program thereof
KR101499570B1 (en) * 2013-11-28 2015-03-12 숭실대학교산학협력단 Mobile Apparatus for Curling Analysis and Curling Game Analysis System Using Thereof

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112704882A (en) * 2021-01-14 2021-04-27 广州云从鼎望科技有限公司 Method, system, medium, and apparatus for model-based chess and card game strategy update
CN112704882B (en) * 2021-01-14 2021-09-14 广州云从鼎望科技有限公司 Method, system, medium, and apparatus for model-based chess and card game strategy update
KR20230158858A (en) 2022-05-12 2023-11-21 삼성에스디에스 주식회사 Method for solving problem and system thereof

Also Published As

Publication number Publication date
KR20180098111A (en) 2018-09-03

Similar Documents

Publication Publication Date Title
KR102045567B1 (en) Apparatus and method for recommendation of curling game strategy using deep learning
JP7399932B2 (en) Training artificial intelligence (AI) models using cloud gaming networks
Vinyals et al. Starcraft ii: A new challenge for reinforcement learning
JP7159458B2 (en) Method, apparatus, device and computer program for scheduling virtual objects in a virtual environment
Weber et al. A data mining approach to strategy prediction
JP5874292B2 (en) Information processing apparatus, information processing method, and program
CN105229677A (en) For the Resourse Distribute of machine learning
CN105637540A (en) Methods and apparatus for reinforcement learning
CN103093453A (en) Computing pose and/or shape of modifiable entities
Synnaeve et al. Multiscale Bayesian modeling for RTS games: An application to StarCraft AI
Haiyun et al. Sports performance prediction model based on integrated learning algorithm and cloud computing Hadoop platform
JP2013081683A (en) Information processing apparatus, information processing method, and program
Weitkamp et al. Visual rationalizations in deep reinforcement learning for atari games
KR102158014B1 (en) Method and apparatus for real - time monitoring of baseball game using artificial neural network
Horn et al. MCTS/EA hybrid GVGAI players and game difficulty estimation
Pleines et al. Memory gym: Partially observable challenges to memory-based agents
Han et al. A game strategy model in the digital curling system based on NFSP
Beal et al. Optimising daily fantasy sports teams with artificial intelligence
US11596867B2 (en) AI-based content generation for gaming applications
KR102579203B1 (en) Apparatus and method for predicting game result
KR102045566B1 (en) Apparatus for generating strategy of curling game and method thereof
Cho et al. Investigation of the effect of “fog of war” in the prediction of starcraft strategy using machine learning
De Spiegeleer Predicting cycling results using machine learning
KR20230090862A (en) Apparatus for managing level of game content based on artificial intelligence model and method thereof
WO2021158423A1 (en) Ai-based content generation for gaming applications

Legal Events

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