KR20240036741A - 퍼팅 정보 제공 방법 및 장치 - Google Patents

퍼팅 정보 제공 방법 및 장치 Download PDF

Info

Publication number
KR20240036741A
KR20240036741A KR1020220114658A KR20220114658A KR20240036741A KR 20240036741 A KR20240036741 A KR 20240036741A KR 1020220114658 A KR1020220114658 A KR 1020220114658A KR 20220114658 A KR20220114658 A KR 20220114658A KR 20240036741 A KR20240036741 A KR 20240036741A
Authority
KR
South Korea
Prior art keywords
information
putting
green area
user
inference
Prior art date
Application number
KR1020220114658A
Other languages
English (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 주식회사 카카오브이엑스
Priority to KR1020220114658A priority Critical patent/KR20240036741A/ko
Priority to PCT/KR2023/000622 priority patent/WO2024058322A1/ko
Publication of KR20240036741A publication Critical patent/KR20240036741A/ko

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0622Visual, audio or audio-visual systems for entertaining, instructing or motivating the user
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/36Training appliances or apparatus for special sports for golf
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/36Training appliances or apparatus for special sports for golf
    • A63B69/3658Means associated with the ball for indicating or measuring, e.g. speed, direction
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/36Training appliances or apparatus for special sports for golf
    • A63B69/3676Training appliances or apparatus for special sports for golf for putting
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/36Training appliances or apparatus for special sports for golf
    • A63B69/3691Golf courses; Golf practising terrains having a plurality of driving areas, fairways, greens
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0622Visual, audio or audio-visual systems for entertaining, instructing or motivating the user
    • A63B2071/06363D visualisation
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2102/00Application of clubs, bats, rackets or the like to the sporting activity ; particular sports involving the use of balls and clubs, bats, rackets, or the like
    • A63B2102/32Golf
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/10Positions
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/70Measuring or simulating ambient conditions, e.g. weather, terrain or surface conditions
    • A63B2220/73Altitude
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2225/00Miscellaneous features of sport apparatus, devices or equipment
    • A63B2225/50Wireless data transmission, e.g. by radio transmitters or telemetry

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Business, Economics & Management (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Artificial Intelligence (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Navigation (AREA)

Abstract

본 개시는 퍼팅 정보를 전송하는 골프 퍼팅 보조 방법을 제공하고자 한다. 골프 퍼팅 보조 방법은 사용자 단말로부터 상기 사용자 단말의 위치 좌표를 포함하는 퍼팅 정보 요청을 수신하는 단계; 상기 퍼팅 정보 요청에 기초하여, 추론 서버에게 상기 사용자 단말의 위치 좌표에 기초하여 결정된 사용자의 위치 정보를 포함하는 추론 요청 메시지를 전송하는 단계; 상기 추론 요청 메시지에 기초하여, 상기 추론 서버로부터 퍼팅 방향 정보 및 퍼팅 세기 정보를 포함하는 추론 결과를 수신하는 단계; 상기 사용자 단말에게 상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 포함하는 퍼팅 정보를 전송하는 단계를 포함하고, 상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 포함하는 추론 결과는, 상기 사용자의 위치 정보 및 그린 영역의 지형 정보에 기초하여 상기 추론 서버에 의해 인공 지능 알고리즘을 이용하여 학습된 학습 모델을 이용하여 생성될 수 있다.

Description

퍼팅 정보 제공 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING PUTTING INFORMATION}
본 개시는 퍼팅 정보를 제공하기 위한 방법 및 장치에 관한 것이다. 보다 구체적으로, 본 개시는 사용자의 위치, 지형 정보 등을 고려하여 사용자의 퍼팅을 보조하기 위한 정보를 생성하고 제공하는 방법 및 장치에 관한 것이다.
골프(Golf)는 코스 위에 정지하여 있는 공을 채(클럽, Club)로 쳐서 정해진 구멍(홀, Hole)에 넣어 그 때까지 소요된 타수로 승부를 겨루는 구기 스포츠다. 즉, 가장 공을 적게 친 쪽이 이기는 게임이다. 골퍼들은 각기 다른 모양의 골프채를 가지고 좀 더 먼 거리를 향해 골프공을 날리기도 하고, 여러 경사로가 있는 그린에서 퍼팅(Putting)을 하기도 한다. 특히, 그린에서 이루어지는 퍼팅의 경우에는 그린 상의 라이(Lie), 경사도, 브레이크(Break), 산이나 물이 있는지 여부, 홀 주변의 잔디결 등을 고려하여 정확한 방향과 세기로 퍼팅해야 하므로 골프 경기를 함에 있어서 매우 까다롭고 힘든 부분이기도 하다.
이에 따라, 골퍼들은 경험에 기초하여 그린에서 퍼팅을 수행해야 하는데, 경험이 부족한 골퍼들은 그린에서의 퍼팅 방향 및 세기를 결정함에 있어서 어려움을 느끼거나 캐디에게 의존하여 퍼팅을 수행한다. 그러나, 캐디에 대한 의존도가 높은 경우, 골퍼들은 캐디가 없는 노캐디 골프장에서 골프를 치기 어렵고 캐디의 능력에 따라 홀까지의 타수가 결정되는 문제점이 존재한다.
이와 같이, 골퍼가 골프 라운드 중 그린에서의 정확한 퍼팅 방향 및 세기를 파악하기 위한 방법 및 장치에 대한 요구가 있었으나, 종래의 기술에 따르면 이를 제공할 수 없는 문제점이 있었고, 본 개시는 이를 해결하기 위한 것이다.
본 개시의 일 실시예는 골퍼에게 퍼팅 방향 및 퍼팅 세기를 포함하는 퍼팅 정보를 제공하는 방법 및 장치를 제공하기 위한 것이다.
또한, 본 개시의 일 실시예는 골프장의 그린 영역의 지형 데이터를 수집하고 활용하기 위한 방법 및 장치를 제공하기 위한 것이다.
또한, 본 개시의 일 실시예는 골퍼의 현재 위치 및 상태 등을 수집하기 위한 방법 및 장치를 제공하기 위한 것이다.
또한, 본 개시는 딥러닝 등의 기계 학습 알고리즘에 기초한 인공지능(Artificial Intelligence, AI) 기술을 이용하여 퍼팅 정보를 제공하는 방법 및 장치를 제공하기 위한 것이다.
본 개시의 일 실시예는 골퍼에게 퍼팅 방향 및 퍼팅 세기를 포함하는 퍼팅 보조 정보를 제공하는 방법 및 장치를 제공하고자 한다.
본 개시의 일 실시예에 따른 골프 퍼팅 보조 방법은, 사용자 단말로부터 상기 사용자 단말의 위치 좌표를 포함하는 퍼팅 정보 요청을 수신하는 단계; 상기 퍼팅 정보 요청에 기초하여, 추론 서버에게 상기 사용자 단말의 위치 좌표에 기초하여 결정된 사용자의 위치 정보를 포함하는 추론 요청 메시지를 전송하는 단계; 상기 추론 요청 메시지에 기초하여, 상기 추론 서버로부터 퍼팅 방향 정보 및 퍼팅 세기 정보를 포함하는 추론 결과를 수신하는 단계; 상기 사용자 단말에게 상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 포함하는 퍼팅 정보를 전송하는 단계를 포함할 수 있다. 또한, 상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 포함하는 추론 결과는, 상기 사용자의 위치 정보 및 상기 사용자가 위치하고 있는 그린 영역의 지형 정보에 기초하여 상기 추론 서버에 의해 인공 지능 알고리즘을 이용하여 학습된 학습 모델을 이용하여 생성될 수 있다.
일 실시예에서, 상기 그린 영역의 지형 정보는, 상기 그린 영역에 대응되는 좌표 정보 및 상기 그린 영역의 높이 정보를 매핑시켜 생성된 정보를 포함하며, 상기 그린 영역의 높이 정보는, 제1 센서를 포함하는 지면에 설치된 제1 장치 및 제2 센서를 포함하는 비행체를 포함하는 제2 장치를 이용하여 획득될 수 있다.
일 실시예에서, 상기 학습 모델은, 행동 정책 모델 및 가치 평가 모델을 포함하는 강화 학습 모델을 포함하고, 상기 행동 정책 모델은, 목표 지점의 위치 정보, 퍼팅 시작 위치 정보, 상기 그린 영역의 지형 정보, 공의 특성 정보, 사용자의 상태 정보, 또는 기상 상태 정보 중 적어도 하나를 포함하는 환경 정보에 기초하여 퍼팅 방향 및 퍼팅 세기에 관한 행동 정보를 생성하고, 상기 가치 평가 모델은, 상기 환경 정보 및 상기 행동 정보에 기초하여 리워드(Reward)를 결정할 수 있다.
일 실시예에서, 상기 추론 요청 메시지를 전송하는 단계는, 상기 사용자의 위치 좌표를 포함하는 퍼팅 정보 요청에 기초하여, 상기 사용자가 상기 그린 영역에 위치하는지 여부를 결정하는 단계; 및 상기 사용자가 상기 그린 영역에 위치한다고 결정하는 경우, 상기 추론 서버에게 상기 사용자의 위치 정보를 포함하는 상기 추론 요청 메시지를 전송하는 단계를 포함할 수 있다.
일 실시예에서, 상기 골프 퍼팅 보조 방법은, RTK (Real-Time Kinematic) GPS (global positioning system)를 이용하여 상기 사용자 단말의 위치 좌표를 보정하여 상기 사용자의 위치 정보를 생성하는 단계를 더 포함할 수 있다.
일 실시예에서, 상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 포함하는 퍼팅 정보는, 상기 사용자 단말에 의해 AR (Augmented Reality)을 통해 디스플레이되도록 하는 정보를 포함할 수 있다.
본 개시의 일 실시예에 따른 추론 서버의 동작 방법은, 골프장 관리 서버로부터 사용자의 위치 정보를 포함하는 추론 요청 메시지를 수신하는 단계; 상기 사용자가 위치하는 그린 영역의 지형 정보를 획득하는 단계; 상기 사용자의 위치 정보 및 그린 영역의 지형 정보에 기초하여, 인공 지능 알고리즘을 이용하여 학습된 학습 모델을 이용하여 퍼팅 방향 정보 및 퍼팅 세기 정보를 생성하는 단계; 및 상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 포함하는 추론 결과를 상기 골프장 관리 서버에게 전송하는 단계를 포함할 수 있다.
일 실시예에서, 상기 그린 영역의 지형 정보를 획득하는 단계는, 상기 골프장 관리 서버에게 상기 그린 영역의 지형 정보를 요청하는 단계; 및 상기 골프장 관리 서버로부터 상기 그린 영역에 대응되는 좌표 정보와 상기 그린 영역의 높이 정보를 매핑시킨 상기 그린 영역의 지형 정보를 수신하는 단계를 포함하고, 상기 그린 영역의 높이 정보는, 제1 센서를 포함하는 지면에 설치된 제1 장치 및 제2 센서를 포함하는 제2 비행체 장치를 이용하여 획득될 수 있다.
일 실시예에서, 상기 그린 영역의 지형 정보를 획득하는 단계는, 골프장 정보 또는 상기 사용자의 위치 정보 중 적어도 하나를 포함하는, 상기 그린 영역의 지형 정보 요청을 전송하는 단계; 및 상기 그린 영역의 지형 정보 요청에 기초하여, 상기 그린 영역에 대응되는 좌표 정보 및 상기 그린 영역의 높이 정보를 매핑시켜 생성된 상기 그린 영역의 지형 정보를 수신하는 단계를 포함하고, 상기 그린 영역의 높이 정보는, 제1 센서를 포함하는 제1 장치 및 제2 센서를 포함하는 제2 장치를 이용하여 획득될 수 있다.
일 실시예에서, 상기 학습 모델은, 행동 정책 모델 및 가치 평가 모델을 포함하는 강화 학습 모델을 포함하고, 상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 생성하는 단계는, 상기 행동 정책 모델에 의해, 퍼팅 시작 위치 정보, 상기 그린 영역의 지형 정보, 공의 특성 정보, 사용자의 상태 정보, 또는 기상 상태 정보 중 적어도 하나를 포함하는 환경 정보에 기초하여 퍼팅 방향 및 퍼팅 세기에 관한 행동 정보를 생성하는 단계; 및 상기 가치 평가 모델에 의해, 상기 환경 정보 및 상기 행동 정보에 기초하여 리워드(Reward)를 생성하는 단계를 포함할 수 있다.
일 실시예에서, 상기 추론 요청 메시지는, 상기 사용자가 상기 그린 영역에 위치한다고 상기 골프장 관리 서버에 의해 결정되는 경우, 상기 추론 서버에게 전송될 수 있다.
일 실시예에서, 상기 사용자의 위치 정보는, RTK (Real-Time Kinematic) GPS (global positioning system)를 이용하여 사용자 단말의 위치 좌표를 보정하여 생성될 수 있다.
일 실시예에서, 상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보는, 상기 골프장 관리 서버에 의해, AR (Augmented Reality) 디바이스를 포함하는 사용자 단말에게 전달될 수 있다.
본 개시의 일 실시예는, 하나 이상의 명령어들을 저장하는 메모리; 및 상기 메모리에 저장된 상기 하나 이상의 명령어들을 실행하는 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는 상기 하나 이상의 명령어를 실행함으로써, 사용자 단말로부터 상기 사용자 단말의 위치 좌표를 포함하는 퍼팅 정보 요청을 수신하고, 상기 퍼팅 정보 요청에 기초하여, 추론 서버에게 상기 사용자 단말의 위치 좌표에 기초하여 결정된 사용자의 위치 정보를 포함하는 추론 요청 메시지를 전송하고, 상기 추론 요청 메시지에 기초하여, 상기 추론 서버로부터 퍼팅 방향 정보 및 퍼팅 세기 정보를 포함하는 추론 결과를 수신하고, 상기 사용자 단말에게 상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 포함하는 퍼팅 정보를 전송하며, 상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 포함하는 추론 결과는, 상기 사용자의 위치 정보 및 상기 사용자가 위치하고 있는 그린 영역의 지형 정보에 기초하여 상기 추론 서버에 의해 인공 지능 알고리즘을 이용하여 학습된 학습 모델을 이용하여 생성되는, 골프장 관리 서버를 제공할 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 그린 영역에 대응되는 좌표 정보를 획득하고 제1 센서를 포함하는 제1 장치 및 제2 센서를 포함하는 제2 장치를 이용하여 상기 그린 영역의 높이 정보를 획득하고 - 상기 제1 장치는 지면에 설치된 장치를 포함하고 상기 제2 장치는 비행체를 포함함; 상기 그린 영역에 대응되는 좌표 정보와 상기 그린 영역의 높이 정보를 매핑시켜 상기 그린 영역의 지형 정보를 생성하고, 상기 그린 영역의 지형 정보를 데이터 베이스 저장할 수 있다.
일 실시예에서, 상기 그린 영역의 지형 정보는, 상기 그린 영역에 대응되는 좌표 정보 및 상기 그린 영역의 높이 정보를 매핑시켜 생성된 정보를 포함하며, 상기 그린 영역의 높이 정보는, 제1 센서를 포함하는 지면에 설치된 제1 장치 및 제2 센서를 포함하는 비행체를 포함하는 제2 장치를 이용하여 획득될 수 있다.
일 실시예에서, 상기 학습 모델은, 행동 정책 모델 및 가치 평가 모델을 포함하는 강화 학습 모델을 포함하고, 상기 행동 정책 모델은, 목표 지점의 위치 정보, 퍼팅 시작 위치 정보, 상기 그린 영역의 지형 정보, 공의 특성 정보, 사용자의 상태 정보, 또는 기상 상태 정보 중 적어도 하나를 포함하는 환경 정보에 기초하여 퍼팅 방향 및 퍼팅 세기에 관한 행동 정보를 생성하고, 상기 가치 평가 모델은, 상기 환경 정보 및 상기 행동 정보에 기초하여 리워드(Reward)를 결정할 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 사용자의 위치 좌표를 포함하는 퍼팅 정보 요청에 기초하여, 상기 사용자가 상기 그린 영역에 위치하는지 여부를 결정하고, 상기 사용자가 상기 그린 영역에 위치한다고 결정하는 경우, 상기 추론 서버에게 상기 사용자의 위치 정보를 포함하는 상기 추론 요청 메시지를 전송할 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서는, RTK (Real-Time Kinematic) GPS (global positioning system)를 이용하여 상기 사용자 단말의 위치 좌표를 보정하여 상기 사용자의 위치 정보를 생성할 수 있다.
일 실시예에서, 상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 포함하는 퍼팅 정보는, 상기 사용자 단말에 의해 AR (Augmented Reality)을 통해 디스플레이되도록 하는 정보를 포함할 수 있다.
본 개시의 일 실시예는, 하나 이상의 명령어들을 저장하는 메모리; 및 상기 메모리에 저장된 상기 하나 이상의 명령어들을 실행하는 적어도 하나의 프로세서를 포함하며, 상기 적어도 하나의 프로세서는 상기 하나 이상의 명령어를 실행함으로써, 골프장 관리 서버로부터 사용자의 위치 정보를 포함하는 추론 요청 메시지를 수신하고, 상기 사용자가 위치하는 그린 영역의 지형 정보를 획득하고, 상기 사용자의 위치 정보 및 그린 영역의 지형 정보에 기초하여, 인공 지능 알고리즘을 이용하여 학습된 학습 모델을 이용하여 퍼팅 방향 정보 및 퍼팅 세기 정보를 생성하고, 상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 포함하는 추론 결과를 상기 골프장 관리 서버에게 전송하는, 추론 서버를 제공할 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서는, 상기 골프장 관리 서버에게 상기 그린 영역의 지형 정보를 요청하고, 상기 골프장 관리 서버로부터 상기 그린 영역에 대응되는 좌표 정보와 상기 그린 영역의 높이 정보를 매핑시킨 상기 그린 영역의 지형 정보를 수신하며, 상기 그린 영역의 높이 정보는, 제1 센서를 포함하는 지면에 설치된 제1 장치 및 제2 센서를 포함하는 제2 비행체 장치를 이용하여 획득될 수 있다.
일 실시예에서, 상기 적어도 하나의 프로세서는, 골프장 정보 또는 상기 사용자의 위치 정보 중 적어도 하나를 포함하는, 상기 그린 영역의 지형 정보 요청을 전송하고, 상기 그린 영역의 지형 정보 요청에 기초하여, 상기 그린 영역에 대응되는 좌표 정보 및 상기 그린 영역의 높이 정보를 매핑시켜 생성된 상기 그린 영역의 지형 정보를 수신하며, 상기 그린 영역의 높이 정보는, 제1 센서를 포함하는 제1 장치 및 제2 센서를 포함하는 제2 장치를 이용하여 획득될 수 있다.
일 실시예에서, 상기 학습 모델은, 행동 정책 모델 및 가치 평가 모델을 포함하는 강화 학습 모델을 포함하고, 상기 적어도 하나의 프로세서는, 상기 행동 정책 모델에 의해, 퍼팅 시작 위치 정보, 상기 그린 영역의 지형 정보, 공의 특성 정보, 사용자의 상태 정보, 또는 기상 상태 정보 중 적어도 하나를 포함하는 환경 정보에 기초하여 퍼팅 방향 및 퍼팅 세기에 관한 행동 정보를 생성하고, 상기 가치 평가 모델에 의해, 상기 환경 정보 및 상기 행동 정보에 기초하여 리워드(Reward)를 생성할 수 있다.
일 실시예에서, 상기 추론 요청 메시지는, 상기 사용자가 상기 그린 영역에 위치한다고 상기 골프장 관리 서버에 의해 결정되는 경우, 상기 추론 서버에게 전송될 수 있다.
일 실시예에서, 상기 사용자의 위치 정보는, RTK (Real-Time Kinematic) GPS (global positioning system)를 이용하여 사용자 단말의 위치 좌표를 보정하여 생성될 수 있다.
일 실시예에서, 상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보는, 상기 골프장 관리 서버에 의해, AR (Augmented Reality) 디바이스를 포함하는 사용자 단말에게 전달될 수 있다.
본 개시의 일 실시예는, 본 개시의 일 실시예에 의한 방법을 컴퓨터에서 실행시키도록 기록매체에 저장된 프로그램을 포함한다.
본 개시의 일 실시예는, 본 개시의 일 실시예에 의한 방법을 컴퓨터에서 실행시키기 위한 프로그램을 기록한 컴퓨터로 읽을 수 있는 기록매체를 포함한다.
본 개시의 일 실시예는, 본 개시의 일 실시예에서 사용되는 데이터베이스를 기록한 컴퓨터로 읽을 수 있는 기록매체를 포함한다.
본 개시의 일 실시예에 따르면, 사용자 단말의 위치를 기초로 사용자 단말에게 퍼팅 정보를 제공하여, 효율적으로 사용자의 퍼팅을 보조할 수 있는 효과가 있다.
본 개시의 일 실시예에 따르면, 인공지능 기술을 이용하여 사용자 단말의 위치를 기초로 퍼팅 정보를 효과적으로 추론할 수 있는 효과가 있다.
또한, 본 개시의 일 실시예에 따르면, 그린 영역의 지형 정보가 수집되어 데이터베이스에 저장될 수 있다.
또한, 본 개시의 일 실시예는 사용자 단말, 목표 지점 등의 위치 정보에 대한 정확도를 개선시킬 수 있다.
도 1은 본 개시의 일 실시예에 따른 사용자 단말에게 추론 결과를 제공하는 방법을 도시하는 도면이다.
도 2는 본 개시의 일 실시예에 따른 사용자 단말에게 추론 결과를 제공하는 방법을 도시하는 도면이다.
도 3은 본 개시의 일 실시예에 따른 사용자 단말에게 퍼팅 정보를 전송하는 방법을 도시하는 흐름도이다.
도 4는 본 개시의 일 실시예에 따른 사용자 단말이 그린 영역에 위치하는지 여부에 기초하여 추론 수행 여부를 결정하는 방법을 도시하는 흐름도이다.
도 5(a) 및 도 5(b)는 본 개시의 일 실시예에 따른 그린 영역의 좌표 정보를 획득하는 방법을 도시하는 도면이다.
도 6은 본 개시의 일 실시예에 따른 복수의 센서를 이용하여 그린 영역의 지형 정보를 획득하는 방법을 도시하는 도면이다.
도 7은 본 개시의 일 실시예에 따른 그린 영역의 높이 지도를 도시하는 도면이다.
도 8은 본 개시의 일 실시예에 따른 인공지능 알고리즘을 이용하여 퍼팅 정보를 결정하는 방법을 도시하는 도면이다.
도 9는 본 개시의 일 실시예에 따른 인공지능 알고리즘을 이용하여 학습 모델을 학습시키는 방법을 도시하는 도면이다.
도 10은 본 개시의 일 실시예에 따른 학습 모델이 강화학습을 수행하는 방법을 도시하는 도면이다.
도 11은 본 개시의 일 실시예에 따른 강화 학습 모델의 입출력 구조를 나타내는 도면이다.
도 12는 본 개시의 일 실시예에 따른 사용자 단말의 위치를 획득하는 방법을 도시하는 도면이다.
도 13은 본 개시의 일 실시예에 따른 증강현실(AR: Augmented Reality) 디바이스를 이용하여 퍼팅 정보를 디스플레이하는 방법을 도시하는 도면이다.
도 14는 본 개시의 일 실시예에 따른 골프장 관리 서버의 블록도이다.
도 15는 본 개시의 일 실시예에 따른 추론 서버의 블록도이다.
본 개시의 기술적 사상을 명확하게 하기 위하여 첨부된 도면을 참조하여 본 개시의 실시예를 상세하게 설명하도록 한다. 본 개시를 설명함에 있어서, 관련된 공지 기능 또는 구성요소에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략할 것이다. 도면들 중 실질적으로 동일한 기능구성을 갖는 구성요소들에 대하여는 비록 다른 도면상에 표시되더라도 가능한 한 동일한 참조번호들 및 부호들을 부여하였다. 설명의 편의를 위하여 필요한 경우에는 장치와 방법을 함께 서술하도록 한다. 본 개시의 각 동작은 반드시 기재된 순서대로 수행되어야 할 필요는 없고, 병렬적, 선택적, 또는 개별적으로 수행될 수 있다.
본 개시의 실시예들에서 사용되는 용어는 본 개시의 기능을 고려하면서 가능한 현재 널리 사용되는 일반적인 용어들을 선택하였으나, 이는 당 분야에 종사하는 기술자의 의도 또는 판례, 새로운 기술의 출현 등에 따라 달라질 수 있다. 또한, 특정한 경우는 출원인이 임의로 선정한 용어도 있으며, 이 경우 해당되는 실시예의 설명 부분에서 상세히 그 의미를 기재할 것이다. 따라서 본 명세서에서 사용되는 용어는 단순한 용어의 명칭이 아닌, 그 용어가 가지는 의미와 본 개시의 전반에 걸친 내용을 토대로 정의되어야 한다.
본 개시 전체에서 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다. "포함하다" 또는 "가지다" 등의 용어는 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다. 즉, 본 개시 전체에서 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있음을 의미한다.
"적어도 하나의"와 같은 표현은, 구성요소들의 리스트 전체를 수식하고, 그 리스트의 구성요소들을 개별적으로 수식하지 않는다. 예를 들어, "A, B, 및 C 중 적어도 하나" 및 "A, B, 또는 C 중 적어도 하나"는 오직 A, 오직 B, 오직 C, A와 B 모두, B와 C 모두, A와 C 모두, A와 B와 C 전체, 또는 그 조합을 가리킨다.
또한, 본 개시에 기재된 "...부", "...모듈" 등의 용어는 적어도 하나의 기능이나 동작을 처리하는 단위를 의미하며, 이는 하드웨어 또는 소프트웨어로 구현되거나 하드웨어와 소프트웨어의 결합으로 구현될 수 있다.
본 개시 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미한다.
본 개시 전체에서 사용된 표현 "~하도록 구성된(또는 설정된)(configured to)"은 상황에 따라, 예를 들면, "~에 적합한(suitable for)", "~하는 능력을 가지는(having the capacity to)", "~하도록 설계된(designed to)", "~하도록 변경된(adapted to)", "~하도록 만들어진(made to)", 또는 "~를 할 수 있는(capable of)"과 바꾸어 사용될 수 있다. 용어 "~하도록 구성된(또는 설정된)"은 하드웨어적으로 "특별히 설계된(specifically designed to)" 것만을 반드시 의미하지 않을 수 있다. 대신, 어떤 상황에서는, "~하도록 구성된 시스템"이라는 표현은, 그 시스템이 다른 장치 또는 부품들과 함께 "~할 수 있는" 것을 의미할 수 있다. 예를 들면, 문구 "A, B, 및 C를 수행하도록 구성된(또는 설정된) 프로세서"는 해당 동작을 수행하기 위한 전용 프로세서(예: 임베디드 프로세서), 또는 메모리에 저장된 하나 이상의 소프트웨어 프로그램들을 실행함으로써, 해당 동작들을 수행할 수 있는 범용 프로세서(generic-purpose processor)(예: CPU 또는 application processor)를 의미할 수 있다.
본 개시 전체에서 단말 또는 단말기는 UE (User Equipment), MS (Mobile Station), 셀룰러폰, 스마트폰, 컴퓨터, 스마트 워치, 블루투스 이어폰, 또는 통신기능을 수행할 수 있는 멀티미디어 시스템을 포함할 수 있다. 물론 상기 예시에 제한되는 것은 아니다.
본 개시의 일 실시예는 사용자 단말에게 퍼팅 세기, 퍼팅 방향 등 퍼팅 정보를 제공하기 위한 골프장 관리 서버, 추론 서버, 사용자 단말 및 이들의 동작 방법을 제공하고자 한다. 일 실시예에서, 골프장 관리 서버는 골프장 ERP (Enterprise Resource Planning) 서버일 수 있다. 다른 일 실시예에서, 골프장 관리 서버는 별도의 서버로 구현될 수 있다. 또한, 추론 서버는 인공지능 모델을 이용하여 퍼팅 정보를 결정하는 서버일 수 있다. 본 개시에 따른 추론 서버의 동작 방법에 있어서, 퍼팅 방향 및 퍼팅 세기 등을 포함하는 퍼팅 정보를 추론 또는 예측하기 위한 방법으로 사용자 단말의 위치 정보, 그린 영역의 지형 정보, 공의 위치 정보, 사용자의 상태 정보, 공의 종류, 날씨 등을 이용하여 퍼팅 방향 및 퍼팅 세기를 추천하기 위해 인공지능 모델을 이용할 수 있다. 추론 서버의 프로세서는 상기 데이터에 대해 전처리 과정을 수행하여 인공지능 모델의 입력으로 사용하는 데에 적합한 형태로 변환할 수 있다. 인공지능 모델은 학습을 통해 만들어질 수 있다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 추론 예측은 정보를 판단하여 논리적으로 추론하고 예측하는 기술로서, 지식/확률 기반 추론(Knowledge based Reasoning), 최적화 예측(Optimization Prediction), 선호 기반 계획(Preference-based Planning), 추천(Recommendation) 등을 포함한다.
도 1은 본 개시의 일 실시예에 따른 사용자 단말에게 추론 결과를 제공하는 방법을 도시하는 도면이다.
도 1을 참조하면, 사용자 단말(103)은 골프장 관리 서버(107)에게 퍼팅 정보 요청(120)을 송신할 수 있다. 일 실시예에서, 퍼팅 정보 요청(120)에는 사용자 단말의 위치 좌표를 포함할 수 있다. 사용자 단말(103)은 GPS (Global Positioning System) 디바이스를 포함하고, 사용자의 위치 좌표는 GPS 디바이스를 통해 수집된 사용자 단말(103)의 좌표 정보를 포함할 수 있다. 또한, 사용자 단말(103)은 기압센서, 가속도센서, 자이로(Gyro) 센서, 지자기 센서 등을 포함할 수 있다. 이에 따라, 퍼팅 정보 요청(120)에는 사용자 단말(103)이 기울어진 정도, 사용자 단말(103)의 기울기의 변화량, 나침반 정보 등이 더 포함될 수 있다. 예를 들어, 퍼팅 정보 요청 신호에 GPS 디바이스에 의해 획득된 GPS 정보 및 지자기 센서에 의해 획득된 나침반 정보가 포함되는 경우, 골프장 관리 서버(107)는 사용자 단말이 위치하고 있는 위도 및 경도 정보와 사용자 단말(103)에 대한 방위 정보를 획득할 수 있다. 또한, 퍼팅 정보 요청 신호에는 공의 위치 정보, 공의 특성 정보 등을 더 포함할 수도 있다. 사용자 단말(103)은 외부 장치로부터 공의 위치 정보를 수신하고, 이를 골프장 관리 서버(107)에게 전달할 수 있다.
일 실시예에서, 골프장 관리 서버(107)는 퍼팅 정보 요청(120)에 포함된 사용자의 위치 좌표에 기초하여 사용자의 위치 정보를 결정할 수 있다. 예를 들어, 골프장 관리 서버(107)는 사용자의 위치 좌표에 RTK GPS를 이용한 보정을 수행하여 사용자의 위치 정보를 결정할 수 있다. 또한, 사용자의 위치 정보에는 사용자 단말(103)의 방위 정보가 포함될 수 있다.
일 실시예에서, 골프장 관리 서버(107)는 사용자의 위치 정보 또는 사용자 단말의 위치 좌표에 기초하여 사용자가 그린 영역(101)에 위치하는지 여부를 식별할 수 있다. 골프장 관리 서버(107)는 사용자가 그린 영역(101)에 위치한다고 식별한 경우에는 추론 요청 메시지(130)를 송신하고, 사용자가 그린 영역(101)에 위치하지 않는다고 식별한 경우에는, 다음 동작을 수행하지 않거나 사용자 단말(103)에게 퍼팅 정보 제공 불가 메시지를 송신할 수 있다. 예를 들어, 퍼팅 정보 제공 불가 메시지에는 사용자가 그린 영역에 위치하지 않는다는 정보를 포함할 수 있다. 이와 관련하여 자세한 내용은 도 4를 참조하여 후술하기로 한다.
골프장 관리 서버(107)는 추론 서버(109)에게 추론 요청 메시지(130)를 송신할 수 있다. 일 실시예에서, 추론 요청 메시지(130)는 사용자의 위치 정보를 포함할 수 있다. 또한, 골프장 관리 서버(107)는 공의 위치 정보, 골프장의 현재 기상 상태 정보, 공의 특성 정보, 홀 컵(105)의 위치 정보 등을 획득하고, 추론 요청 메시지(130)에 이 정보들 중 적어도 일부를 포함하여 전송할 수도 있다. 예를 들어, 골프장의 현재 기상 상태 정보에는 현재 날씨, 현재 온도, 습도, 바람 세기 등을 포함할 수 있다. 또한, 사용자 단말(103)은 공의 종류, 브랜드 등과 같은 공의 프로파일에 대한 사용자 입력을 수신하고, 이를 골프장 관리 서버(107)에게 전송할 수 있다. 골프장 관리 서버(107)는 공의 프로파일로부터 골프공의 표면 껍질 재질, 공의 반발력 등을 포함하는 공의 특성을 식별하고, 식별한 공의 특성에 기초하여 추론 서버(109)에게 공의 특성 정보를 전송할 수 있다.
추론 서버(109)는 추론 요청 메시지(130)에 기초하여, 지형 데이터 베이스(111)를 포함하는 장치에게 골프장 정보(140) 또는 사용자의 위치 정보 중 적어도 하나를 포함하는 그린 영역의 지형 정보 요청을 전송할 수 있다. 골프장 정보(140)는 사용자 단말(103)의 위치 또는 골프장 관리 서버(107)의 식별자 등에 기초하여 결정될 수 있다. 일 실시예에서, 골프장 정보(140)는 골프장 관리 서버(107)의 식별자, 사용자 단말(103)이 위치한 골프장에 대한 식별자, 사용자 단말(103)이 위치한 골프장에 대한 위치 정보, 사용자 단말(103)이 위치한 그린 영역(101)에 대한 식별자, 또는 사용자 단말(103)이 위치한 그린 영역(101)에 대한 위치 정보 중 적어도 하나를 포함할 수 있다.
추론 서버(109)는 지형 데이터 베이스(111)로부터 그린 영역의 지형 정보(150)를 획득할 수 있다. 일 실시예에서, 지형 데이터 베이스(111)를 포함하는 장치는 수신한 그린 영역의 지형 정보 요청에 기초하여, 대응되는 그린 영역의 지형 정보(150)를 추론 서버(109)에게 전송할 수 있다. 일 실시예에서, 그린 영역의 지형 정보는 그린 영역에 대응되는 좌표 정보 및 그린 영역의 높이 정보를 매핑시켜 생성된 높이 지도일 수 있다.
추론 서버(109)는 사용자의 위치 정보, 그린 영역의 지형 정보(150), 공의 궤도에 영향을 미칠 수 있는 요소 등에 기초하여 퍼팅 방향 정보, 퍼팅 세기 정보 등을 포함하는 추론 결과(160)를 획득할 수 있다. 일 실시예에서, 추론 서버(109)는 인공 지능 알고리즘을 이용하여 학습된 학습 모델을 이용하여 추론 결과(160)를 획득할 수 있다. 학습 모델은 행동 정책 모델 및 가치 평가 모델을 포함하는 강화 학습 모델을 포함할 수 있다.
일 실시예에서, 추론 서버(109)는 홀(105)의 위치를 포함하는 목표 지점의 위치 정보, 사용자의 위치 정보, 그린 영역의 지형 정보, 공의 특성 정보, 사용자의 상태 정보, 기상 상태 정보 등을 입력으로 하여 학습 모델에 의해 결정된 홀인(hole-in)을 위한 추론 결과(160)를 획득할 있다. 일 실시예에서, 그린 영역의 지형 정보는 그린 영역의 경사도 정보, 그린 영역의 마찰력 정보, 잔디 상태 정보, 그린 영역 내 또는 주변에 산이나 물이 존재하는지에 관한 정보, 잔디결 정보 등을 포함할 수 있다. 또한, 공의 특성 정보는 공의 마찰력 정보, 공의 표면 재질 정보 등을 포함할 수 있고, 사용자의 상태 정보는 사용자가 사용하는 골프채의 종류, 사용자의 능력 정보, 사용자의 컨디션 정보 등을 포함할 수 있다.
추론 서버(109)는 퍼팅 방향 정보 및 퍼팅 세기 정보를 포함하는 추론 결과(160)를 골프장 관리 서버(107)에게 전송할 수 있다.
골프장 관리 서버(107)는 사용자 단말(103)에게 퍼팅 정보(170)를 전송할 수 있다. 일 실시예에서, 퍼팅 정보는 추천하는 퍼팅 방향에 관한 정보, 추천하는 퍼팅 세기에 관한 정보, 추천하는 퍼팅 경로, 추천하는 퍼팅 각도 등을 포함할 수 있다.
사용자 단말(103)은 수신한 퍼팅 정보(170)에 기초하여, 퍼팅 방향, 퍼팅 세기 등을 포함하는 퍼팅 정보를 스피커, 인이어 등과 같은 음성 장치를 통해 출력하거나, 사용자의 휴대폰, 태블릿 PC 등에 설치된 애플리케이션을 이용하여 퍼팅 정보를 디스플레이하거나, AR 글래스와 같은 AR 디바이스를 통해 퍼팅 정보를 디스플레이할 수 있다. 다만, 이는 일 예시일 뿐 이에 한정되지 않고, 사용자 단말(103)은 다양한 장치를 통해 퍼팅 정보를 사용자에게 제공할 수 있다.
일 실시예에서, 사용자 단말(103)은 스마트폰, 스마트워치, AR 디바이스 등을 포함하고, 퍼팅 정보를 요청하는 사용자 단말과 퍼팅 정보를 수신하는 사용자 단말은 같은 단말이거나 서로 다른 단말일 수도 있다. 예를 들어, 퍼팅 정보를 요청하는 사용자 단말은 스마트워치이고, 퍼팅 정보를 수신하는 사용자 단말은 AR 디바이스일 수 있다.
한편, 도 1이 본 개시의 일 실시예에 따른 퍼팅 정보 결정 및 송신 방법을 도시하고 있더라도, 다양한 변형들이 도 1에 대해 이루어질 수 있음은 물론이다. 일 예로, 도 1에는 연속적인 동작들이 도시되어 있지만, 도 1에서의 다양한 동작들은 오버랩될 수 있고, 병렬로 발생할 수 있고, 다른 순서로 발생할 수 있거나, 혹은 다수 번 발생할 수 있음은 물론이다.
도 2는 본 개시의 일 실시예에 따른 사용자 단말에게 추론 결과를 제공하는 방법을 도시하는 도면이다.
도 2를 참조하면, 사용자 단말(103)은 골프장 관리 서버(107)에게 퍼팅 정보 요청(220)을 송신할 수 있다. 일 실시예에서, 퍼팅 정보 요청(220)은 도 1을 참조하여 전술한 퍼팅 정보 요청(120)에 대응될 수 있다.
일 실시예에서, 골프장 관리 서버(107)는 퍼팅 정보 요청(220)에 포함된 사용자의 위치 정보에 기초하여, 사용자가 그린 영역(101)에 위치하는지 여부를 식별할 수 있다. 골프장 관리 서버(107)는 사용자가 그린 영역(101)에 위치한다고 식별한 경우에는 골프장 정보(230)를 송신하고, 사용자가 그린 영역(101)에 위치하지 않는다고 식별한 경우에는, 다음 동작을 수행하지 않거나 사용자 단말(103)에게 퍼팅 정보 제공 불가 메시지를 송신할 수 있다. 예를 들어, 퍼팅 정보 제공 불가 메시지에는 사용자가 그린 영역에 위치하지 않는다는 정보를 포함할 수 있다. 이와 관련하여 자세한 내용은 도 4를 참조하여 후술하기로 한다.
골프장 관리 서버(107)는 퍼팅 정보 요청(220)에 기초하여, 지형 데이터 베이스(111)로부터 골프장 정보(230)에 대응되는 그린 영역의 지형 정보(240)를 획득할 수 있다. 일 실시예에서, 골프장 정보(230)에 대응되는 그린 영역의 지형 정보(240)는 골프장 관리 서버(107)에 의해 수집되어 지형 데이터 베이스(111)에 저장된 정보일 수 있다. 즉, 지형 데이터 베이스(111)에는 각 골프장의 골프장 관리 서버(107)가 그린 영역의 지형 정보를 생성하여 지형 데이터 베이스(111)를 포함하는 장치에게 전달하고, 해당 장치는 각 골프장에 대응되는 그린 영역의 지형 정보를 지형 데이터 베이스(111)에 저장할 수 있다. 일 실시예서, 지형 데이터 베이스(111)는 골프장 관리 서버(107)에 포함될 수도 있고, 외부 서버에 포함될 수도 있고, 추론 서버(109)에 포함될 수도 있다. 골프장 정보(230) 및 그린 영역의 지형 정보(240)는 각각 도 1을 참조하여 전술한 골프장 정보(140) 및 그린 영역의 지형 정보(150)에 대응될 수 있다.
골프장 관리 서버(107)는 퍼팅 정보 요청(220)에 포함된 사용자의 위치 정보 및 지형 데이터베이스(111)로부터 획득한 그린 영역의 지형 정보(240)를 포함하는 추론 요청 메시지(250)를 추론 서버(109)에게 전송할 수 있다. 추론 서버(109)는 사용자의 위치 정보, 그린 영역의 지형 정보(240) 등에 기초하여 퍼팅 방향 정보, 퍼팅 세기 정보 등을 포함하는 추론 결과(260)를 획득할 수 있다. 일 실시예에서, 추론 서버(109)는 인공 지능 알고리즘을 이용하여 학습된 학습 모델을 이용하여 추론 결과(260)를 획득할 수 있다. 학습 모델은 행동 정책 모델 및 가치 평가 모델을 포함하는 강화 학습 모델을 포함할 수 있다.
일 실시예에서, 추론 서버(109)는 홀(105)의 위치를 포함하는 목표 지점의 위치 정보, 사용자의 위치 정보, 그린 영역의 지형 정보, 공의 특성 정보, 사용자의 상태 정보, 기상 상태 정보 등을 입력으로 하여 학습 모델에 의해 결정된 추론 결과(260)를 획득할 있다. 일 실시예에서, 그린 영역의 지형 정보는 그린 영역의 경사도 정보, 그린 영역의 마찰력 정보, 잔디 상태 정보, 그린 영역 내 또는 주변에 산이나 물이 존재하는지에 관한 정보, 잔디 결 정보 등을 포함할 수 있다. 또한, 공의 특성 정보는 공의 마찰력 정보, 공의 표면 재질 정보 등을 포함할 수 있고, 사용자의 상태 정보는 사용자가 사용하는 골프채의 종류, 사용자의 능력 정보, 사용자의 컨디션 정보 등을 포함할 수 있다.
추론 서버(109)는 퍼팅 방향 정보 및 퍼팅 세기 정보를 포함하는 추론 결과(260)를 골프장 관리 서버(107)에게 전송할 수 있다. 추론 결과(260)는 도 1을 참조하여 전술한 추론 결과(160)에 대응될 수 있다.
골프장 관리 서버(107)는 사용자 단말(103)에게 퍼팅 정보(270)를 전송할 수 있다. 일 실시예에서, 퍼팅 정보(270)는 도 1을 참조하여 전술한 퍼팅 정보(170)에 대응될 수 있다.
한편, 도 2가 본 개시의 일 실시예에 따른 퍼팅 정보 결정 및 송신 방법을 도시하고 있더라도, 다양한 변형들이 도 2에 대해 이루어질 수 있음은 물론이다. 일 예로, 도 2에는 연속적인 동작들이 도시되어 있지만, 도 2에서의 다양한 동작들은 오버랩될 수 있고, 병렬로 발생할 수 있고, 다른 순서로 발생할 수 있거나, 혹은 다수 번 발생할 수 있음은 물론이다.
도 3은 본 개시의 일 실시예에 따른 사용자 단말에게 퍼팅 정보를 전송하는 방법을 도시하는 흐름도이다.
도 3을 참조하면, 단계 310에서, 골프장 관리 서버는 사용자 단말로부터 사용자의 위치 정보를 포함하는 퍼팅 정보 요청을 수신할 수 있다. 일 실시예에서, 사용자의 위치 정보는 RTK (Real-Time Kinematic) GPS (global positioning system)를 이용하여 획득될 수 있다. 즉, 사용자 단말은 골프장 내 그린 영역 주변에 적어도 둘 이상의 기준이 되는 좌표에 기초하여, 사용자의 위치를 식별하고, 식별한 사용자 위치에 기초하여 골프장 관리 서버에게 사용자 위치 정보를 포함하는 퍼팅 정보 요청을 송신할 수 있다. RTK GPS를 이용하여 좌표를 획득하는 방법과 관련하여는 도 12와 관련된 설명에서 보다 자세히 후술하기로 한다.
일 실시예에서, 사용자 단말은 GPS 기능을 구비한 스마트폰을 포함할 수 있다. 또한, 사용자 단말은 GPS 기능을 구비한 스마트 워치, 이어폰과 같은 웨어러블 디바이스를 포함할 수 있다. 예를 들면 웨어러블 디바이스는 손목시계, 안경, 귀걸이, 목걸이, 이어폰, 귀걸이 형 액세서리, 신발, 반지, 옷, 벨트 헬멧 등의 형태로 구현될 수 있다. 그러나, 이에 제한되지 않으며, 웨어러블 디바이스는 사용자의 신체에 직접 탈부착 가능한 형태로 구현될 수 있다. 예를 들어, 웨어러블 디바이스는 패치 형태로 구현될 수 있으며, 사용자의 신체에 접착식 또는 비접착식으로 탈부착될 수 있다. 또한, 웨어러블 디바이스는 사용자의 신체 내부에 삽입되는 형태로 구현될 수 있다. 예를 들어, 웨어러블 디바이스는 전자 피부(epidermal electronics, 또는 E-Skin) 또는 전자 문신(E-Tattoo) 등과 같은 형태로 구현되어, 의료적인 시술을 통하여 신체의 표피 또는 내부에 삽입될 수 있다.
일 실시예에서, 웨어러블 디바이스는 GPS 기능을 이용하여 사용자의 위치를 식별하고 식별한 사용자의 위치에 기초하여 골프장 관리 서버에게 직접 사용자의 위치 정보를 전송하거나, 식별한 위치 정보에 기초하여 사용자의 위치 정보를 스마트폰과 같은 사용자 단말에게 전송하고, 사용자 단말이 골프장 관리 서버에게 사용자의 위치 정보를 전달할 수도 있다. 사용자의 위치 정보는 사용자 단말의 위도 및 경도 정보, 방위 정보 등을 포함할 수 있다.
일 실시예에서, 퍼팅 정보 요청에는 사용자의 위치 정보와 함께 사용자의 상태 정보, 공의 프로파일 정보 등이 포함될 수 있다. 사용자의 상태 정보는 예를 들어 성별, 나이, 키, 몸무게, 오른손 잡이인지 또는 왼손 잡이인지 여부, 평소 퍼팅 습관, 퍼팅 능력 등을 포함할 수 있다. 또한, 공의 프로파일 정보에는 공의 브랜드 이름, 공의 식별 정보, 공의 재질 정보 등이 포함될 수 있다.
단계 330에서, 골프장 관리 서버는 퍼팅 정보 요청에 기초하여, 추론 서버에게 사용자의 위치 정보를 포함하는 추론 요청 메시지를 전송할 수 있다. 일 실시예에서, 골프장 관리 서버는 퍼팅 정보 요청에 포함된 사용자의 위치 정보에 기초하여 사용자가 그린 영역에 위치하는지 여부를 결정할 수 있다. 골프장 관리 서버가 사용자가 그린 영역에 위치한다고 결정하는 경우, 추론 서버에게 사용자의 위치 정보를 포함하는 추론 요청 메시지를 전송할 수 있다. 또는, 골프장 관리 서버가 사용자가 그린 영역에 위치하지 않는다고 결정하는 경우, 골프장 관리 서버는 사용자 단말에게 퍼팅 정보를 제공할 수 없다는 정보를 송신할 수 있다.
일 실시예에서, 추론 요청 메시지에는 사용자의 위치 정보와 함께 목표 지점의 위치 정보, 그린 영역의 지형 정보, 공의 특성 정보, 사용자의 상태 정보, 기상 상태 정보 등이 포함될 수 있다. 사용자의 위치 정보 및 목표 지점의 위치 정보는 정확한 위치를 식별하기 위하여 RTK GPS를 이용하여 획득된 정보일 수 있다.
단계 350에서, 골프장 관리 서버는 추론 요청 메시지에 기초하여, 추론 서버로부터 퍼팅 방향 정보 및 퍼팅 세기 정보를 포함하는 추론 결과를 수신할 수 있다. 일 실시예에서, 추론 서버는 사용자의 위치 정보, 그린 영역의 지형 정보에 기초하여, 인공 지능 알고리즘을 이용하여 학습된 학습 모델을 이용하여 추론 결과를 생성할 수 있다.
일 실시예에서, 그린 영역의 지형 정보는 그린 영역에 대응되는 좌표 정보와 그린 영역의 높이 정보를 매핑시켜 생성된 정보를 포함할 수 있다. 여기서, 그린 영역의 높이 정보는 제1 센서를 포함하는 지면에 설치된 장치, 제2 센서를 포함하는 비행체 등을 이용하여 획득된 그린 영역의 높이 맵(Map)을 포함할 수 있다. 예를 들어, 제1 센서는 스탠드 형 LiDAR (Light Detection and Ranging) 센서이고, 제2 센서는 드론에 장착된 LiDAR 센서일 수 있다.
일 실시예에서, 추론 서버의 학습 모델은 행동 정책 모델 및 가치 평가 모델을 포함하는 강화 학습 모델을 포함할 수 있다. 또한, 행동 정책 모델은 목표 지점(예: 홀 컵의 위치)의 위치 정보, 사용자의 위치 정보, 그린 영역의 지형 정보, 공의 특성 정보, 사용자의 상태 정보, 또는 기상 상태 정보 중 적어도 하나를 포함하는 상태 정보에 기초하여 퍼팅 방향 정보, 퍼팅 세기 정보 등을 포함하는 추론 결과를 출력할 수 있다. 또한, 가치 평가 모델은 상태 정보 및 추론 결과에 기초하여 리워드(Reward)를 결정할 수 있다.
단계 370에서, 골프장 관리 서버는 사용자 단말에게 퍼팅 방향 정보 및 퍼팅 세기 정보를 포함하는 퍼팅 정보를 전송할 수 있다. 일 실시예에서, 사용자 단말은 수신한 퍼팅 정보에 기초하여, 스피커, 이어폰 등 음향 장치를 통해 퍼팅 방향 정보(예: 홀컵 좌측으로 한 클럽) 및 퍼팅 세기 정보(예: 8.5m를 목표로 한 세기)를 출력할 수 있다. 또는, 사용자 단말은 수신한 퍼팅 정보에 기초하여, AR 글래스와 같이 웨어러블 디바이스를 통해 증강 현실을 이용하여 퍼팅 방향 정보 및 퍼팅 세기 정보를 출력할 수 있다.
도 4는 본 개시의 일 실시예에 따른 사용자 단말이 그린 영역에 위치하는지 여부에 기초하여 추론 수행 여부를 결정하는 방법을 도시하는 흐름도이다.
도 4를 참조하면, 단계 410에서 골프장 관리 서버는 사용자 단말로부터 퍼팅 정보 요청 메시지를 수신할 수 있다. 일 실시예에서 퍼팅 정보 요청 메시지에는 사용자의 위치 정보가 포함될 수 있다.
단계 430에서, 골프장 관리 서버는 수신한 사용자의 위치 정보에 기초하여 사용자의 위치가 그린 위인지 여부를 식별할 수 있다. 골프장 관리 서버는 사용자의 위치가 그린 위라고 식별하는 경우 단계 450을 수행하고, 그렇지 않은 경우 단계 490을 수행할 수 있다.
즉, 골프장 관리 서버가 사용자의 위치가 그린 위라고 식별하는 경우에는 단계 450에서, 골프장 관리 서버는 추론 서버에게 추론 요청을 송신하고, 추론 서버는 AI (Artificial Intelligence) 모델을 이용하여 최적 방향 및 최적 세기를 결정할 수 있다. 또한, 단계 470에서, 골프장 관리 서버는 추론 서버로부터 최적 방향 및 최적 세기에 대한 정보를 수신하여 사용자 단말에게 전송할 수 있다.
이와 달리, 골프장 관리 서버가 사용자의 위치가 그린 위가 아니라고 식별하는 경우에는 단계 490에서 골프장 관리 서버는 추론 불가 메시지를 사용자 단말에게 송신할 수 있다. 일 실시예에서, 골프장 관리 서버는 사용자의 위치가 그린 위가 아닌 경우에, 사용자의 현재 위치에 따라 제공할 수 있는 다른 서비스를 안내하는 메시지를 송신할 수 있다. 예를 들어, 사용자의 위치가 페어웨이인 경우에는 현재 위치에서 해당 홀의 홀컵까지의 잔여 거리 및 방향을 제공할 수 있다.
그린 영역의 지형 정보는 지형 데이터 수집 서버에 의해 생성될 수 있다. 일 실시예에서, 지형 데이터 수집 서버는 골프장 관리 서버 또는 추론 서버에 포함될 수도 있으며, 제3의 서버일 수도 있다.
도 5(a) 및 도 5(b)는 본 개시의 일 실시예에 따른 그린 영역의 좌표 정보를 획득하는 방법을 도시하는 도면이다.
도 5를 참조하면, 지형 데이터 수집 서버는 그린 영역의 지형 정보를 생성하기 위해 그린 영역에 대응되는 좌표 정보를 획득할 수 있다. 일 실시예에서, 지형 데이터 수집 서버는 그린 영역을 특정하기 위해 도 5(a)와 같이 그린 영역의 경계에 있는 하나의 지점에 대한 위경도를 획득할 수 있다. 또한, 지형 데이터 수집 서버는 그린 영역의 경계의 다른 지점들에 대하여 위경도를 획득하는 도 5(a)의 프로세스를 반복하여 경계에 대응되는 복수 개의 위경도를 획득하는 도 5(b)의 프로세서를 수행할 수 있다. 지형 데이터 수집 서버는 이렇게 획득된 복수개의 위경도로 그린 영역의 좌표 정보를 생성하고, 그린 영역의 좌표 정보를 도 6를 참조하여 후술할 그린 영역의 높이 지도와 매핑시켜 그린 영역의 지형 정보를 생성할 수 있다.
도 6은 본 개시의 일 실시예에 따른 복수의 센서를 이용하여 그린 영역의 지형 정보를 획득하는 방법을 도시하는 도면이다.
도 6을 참조하면, 지형 데이터 수집 서버는 그린 영역의 지형 정보를 생성하기 위해 그린 영역의 높이 정보를 획득할 수 있다. 일 실시예에서, 지형 데이터 수집 서버는 제1 센서를 포함하는 제1 장치 및 제2 센서를 포함하는 제2 장치 중 적어도 하나를 이용하여 그린 영역의 높이 정보를 획득할 수 있다. 제1 장치는 지면에 설치된 스탠드 형 장치를 포함할 수 있고, 제2 장치는 비행체 장치를 포함할 수 있다. 예를 들어, 제1 센서를 포함하는 제1 장치는 LiDAR 센서를 포함하는 스탠드형 장치이고, 제2 센서는 LiDAR 센서를 장착한 드론일 수 있다. 일 실시예에서, 추론 서버가 학습 모델을 학습시키기 전에, 지형 데이터 수집 서버는 제1 장치 및 제2 장치 중 적어도 하나를 이용하여 그린 영역의 높이 정보를 획득할 수 있다. 또한, 지형 데이터 수집 서버가 그린 영역의 높이 정보를 획득한 경우, 제1 장치는 지면에서 철거될 수 있고 제2 장치는 비행이 종료될 수 있다. 또한, 지형 데이터 수집 서버는 특정 이벤트 발생 시 또는 주기적으로 제1 장치 및 제2 장치 중 적어도 하나를 이용하여 그린 영역의 높이 정보를 업데이트할 수 있다.
일 실시예에서, 지형 데이터 수집 서버는 제1 센서를 포함하는 제1 장치가 획득한 그린 영역의 지형 데이터 및 제2 센서를 포함하는 제2 장치가 획득한 그린 영역의 지형 데이터 중 적어도 하나를 이용하여 그린 영역의 높이 정보를 획득할 수 있다. 또한, 지형 데이터 수집 서버는 도 5를 참조하여 전술한 그린 영역의 좌표 정보를 그린 영역의 높이 정보와 매핑시켜 그린 영역의 지형 정보를 생성하고, 그린 영역의 지형 정보를 지형 데이터 베이스에 저장할 수 있다. 일 실시예에서, 그린 영역의 지형 정보는 그린 영역의 높이 지도를 포함할 수 있다.
본 개시의 일 실시예에서는 두 개의 센서를 이용하여 그린 영역의 높이 정보를 생성하는 방법을 설명하였으나, 이제 제한되지 않고 한 개의 센서 또는 3개 이상의 센서를 이용하여 그린 영역의 높이 정보를 생성할 수도 있다.
도 7은 본 개시의 일 실시예에 따른 그린 영역의 높이 지도를 도시하는 도면이다.
도 7을 참조하면, 지형 데이터 수집 서버는 제1 센서를 포함하는 제1 장치 및 제2 센서를 포함하는 제2 장치 중 적어도 하나를 이용하여 수집된 지형 데이터에 기초하여 그린 영역의 높이 지도(700)를 생성할 수 있다. 일 실시예에서, 지형 데이터 수집 서버는 그린 영역의 높낮이를 상공을 초점으로 하여 그린 영역의 높이 지도(700)를 생성할 수 있다. 또한, 지형 데이터 수집 서버는 그린 영역의 높이 지도(700)를 영상(image) 등의 형식으로 데이터 베이스에 저장할 수 있다. 예를 들어, 도 7을 참조하면, 그린 영역의 높이 지도(700)는 색이 노란색일수록 높은 지형을 나타내고, 진한 녹색일수록 낮은 지형을 나타낼 수 있다.
일 실시예에서, 그린 영역의 높이 지도는 한 번 생성되어 데이터 베이스에 저장되면, 이후에 골프장 관리 서버, 추론 서버 등이 그린 영역의 높이 지도를 필요할 때마다 데이터베이스로부터 획득하여 이를 이용할 수 있다. 그러나, 지형 데이터 수집 서버는 일정 주기마다 그린 영역의 높이 지도를 업데이트하여 저장하거나 특정 이벤트 발생 시 그린 영역의 높이 지도를 업데이트하여 저장할 수도 있다.
일 실시예에 따르면, 영상 등의 형식으로 그린 영역의 높이 지도 또는 그린 영역의 지형 정보가 저장됨으로써, 지형 데이터 수집 서버는 적은 리소스를 이용하여 그린 영역의 지형 정보를 데이터 베이스에 저장할 수 있다. 또한, 골프장 관리 서버, 추론 서버 등은 필요할 때마다 그린 영역의 지형 정보를 데이터베이스로부터 획득하여 추론 결과를 획득하기 위해 사용할 수 있다.
도 8은 본 개시의 일 실시예에 따른 인공지능 알고리즘을 이용하여 퍼팅 정보를 결정하는 방법을 도시하는 도면이다.
도 8을 참조하면, 추론 서버는 AI 모델(820)을 이용하여 그린 영역의 지형 정보(예: 그린 영역의 높이 지도), 목표 지점의 위치(예: 홀컵의 위치), 사용자 단말의 위치(예: 골퍼의 위치), 그린 영역의 상태 정보(예: 그린 마찰력), 공의 상태 정보(예: 공의 반발력) 등을 포함하는 정보를 입력(810)으로 하여 퍼팅 정보(830)를 생성할 수 있다. 일 실시예에서, 퍼팅 정보(830)는 최적 퍼팅 거리, 최적 퍼팅 각도 등을 포함할 수 있다. 다만, 이는 일 예시일 뿐 AI 모델의 입력 및 출력 정보들이 이에 한정되는 것은 아니다.
도 9는 본 개시의 일 실시예에 따른 인공지능 알고리즘을 이용하여 학습 모델을 학습시키는 방법을 도시하는 도면이다.
도 9를 참조하면, 단계 905에서, 추론 서버는 강화학습 모델을 학습시키기 위한 시뮬레이션 환경을 구성할 수 있다. 일 실시예에서, 시뮬레이션 환경은 스크린 골프 기반의 시뮬레이션 환경, 3D (three-dimensional) 물리 엔진 기반의 시뮬레이션 환경 등을 포함할 수 있다. 시뮬레이션 환경은 그린 위에서 퍼팅하는 것과 같거나 유사한 환경으로 구성될 수 있다. 추론 서버는 시뮬레이션 환경에서 퍼팅을 수행했을 때의 상황을 설정 및 측정할 수 있다. 예를 들어, 추론 서버는 시뮬레이션 환경에서 골퍼의 위치, 홀컵의 위치, 그린 마찰계수, 공의 반발 계수, 바람 세기, 바람 방향 등을 설정할 수 있다.
일 실시예에 따르면, 추론 서버는 시뮬레이션 환경에서 학습 모델을 학습시킴으로써 목표 횟수까지 용이하게 학습 모델을 학습시킬 수 있다. 또한, 추론 서버는 그린 영역의 지형 정보가 구현되어 있는 스크린 골프를 학습 모델의 학습에 활용함으로써 스크린 골프 서비스의 제공 및 학습 모델의 학습의 효과를 가질 수 있다. 또한, 추론 서버는 스크린 골프만으로 접할 수 없는 복잡한 지형 또는 환경에 대응하기 위하여 3D 물리 엔진을 이용하여 강화 학습 모델의 학습에 활용할 수 있다.
단계 910에서, 추론 서버는 강화 학습 모델 및 평가 함수를 초기화 시키고, 목표 학습 횟수를 설정할 수 있다. 또한, 추론 서버는 정책(Policy)을 결정할 수 있다. 예를 들어, 추론 서버는 특정 상태(state)에서 평가 점수가 가장 높은 행동(action)을 취하는 것으로 정책을 결정할 수 있다.
단계 915에서, 추론 서버는 시나리오를 초기화 시키고 사용자의 위치를 설정할 수 있다. 일 실시예에서, 추론 서버는 그린 영역의 지형 정보, 목표 지점의 위치(예: 홀컵의 위치) 등을 획득하고, 사용자의 위치(예: 골퍼의 위치)를 결정할 수 있다. 또한, 추론 서버는 그린 영역의 마찰력, 공의 반발력, 바람 세기, 바람 방향 등을 설정할 수 있다. 시나리오는 시뮬레이션 과정에서 그린 영역의 지형 정보, 퍼팅 당시의 위치, 추론된 퍼팅 세기 및 퍼팅 방향, 추론된 퍼팅 세기 및 퍼팅 방향으로 퍼팅을 수행한 결과에 대한 평가 점수 등이 기록되는 것을 의미할 수 있다.
단계 920에서, 추론 서버는 강화 학습 모델을 이용하여 최적 방향 및 최적 세기를 획득할 수 있다. 일 실시예에서, 추론 서버는 강화 학습 모델을 이용하여 그린 영역의 지형 정보, 목표 지점의 위치, 사용자의 위치, 그린 영역의 마찰력, 공의 반발력, 바람 세기, 바람 방향 등을 입력으로 하여 최적 방향 및 최적 세기를 도출할 수 있다.
단계 925에서, 추론 서버는 시뮬레이션 환경에서 도출된 최적 방향 및 최적 세기로 퍼팅을 수행되도록 시뮬레이션 환경을 제어할 수 있다.
단계 930에서, 추론 서버는 평가 함수에 기초하여 공의 도착 위치 및 목표 지점 도달 여부를 결정할 수 있다. 예를 들어, 추론 서버는 최적 방향 및 최적 세기로 시뮬레이션 환경 상에서 퍼팅을 수행한 결과로 얻어진 공의 도착 위치, 홀인 성공 여부 등을 결정할 수 있다.
단계 935에서, 추론 서버는 평가 함수의 평가 점수에 기초하여 강화학습 모델을 학습시킬 수 있다. 일 실시예에서, 추론 서버는 정답이나 사전 환경에 대한 지식 없이 평가 점수 및 정책에 기초하여 강화학습 모델을 학습시킬 수 있다. 또한, 추론 서버는 단계 930의 한 번의 결과로 얻어진 평가 점수뿐만 아니라, 이전까지 단계 930을 반복하면서 얻어진 평가 점수 및 앞으로 단계 930을 수행함으로써 얻어질 평가 점수 등을 고려하여 강화학습 모델을 학습시킬 수 있다. 일 실시예에서, 평가 점수는 퍼팅 결과에 대한 점수, 퍼팅 횟수에 대한 점수, 퍼팅 결과와 퍼팅 횟수 둘 다를 고려한 점수 중 적어도 하나를 포함할 수 있다.
예를 들어, 추론 서버는 홀인하지 않은 경우 평가 점수(Ri+1)를 Ri+1 = Ri - 1로 결정할 수 있다. 여기서 Ri는 직전 퍼팅에 대한 평가 점수일 수 있다. 즉, 각 퍼팅 횟수에 대한 평가 점수를 -1로 계산하여 홀인까지 퍼팅 횟수가 많아질수록 평가 점수가 낮고 퍼팅 횟수가 적을수록 평가 점수가 높도록 설계할 수 있다.
단계 940에서, 추론 서버는 시뮬레이션 환경에서 홀인에 성공했는지 여부를 식별할 수 있다. 일 실시예에서, 추론 서버는 홀인에 실패하였다고 식별하는 경우 단계 945를 진행하고 홀인에 성공했다고 식별하는 경우 단계 950을 진행할 수 있다.
단계 945에서, 추론 서버는 홀인에 실패한 것에 기초하여, 퍼팅 당시의 위치, 그린 영역의 지형 정보, 추론된 퍼팅 세기 및 방향, 평가 점수 등을 시나리오로써 기록할 수 있다. 또한, 추론 서버는 공의 도착 위치에 기초하여 단계 920을 다시 수행할 수 있다.
단계 950에서, 추론 서버는 홀인에 성공한 것에 기초하여, 기록된 시나리오를 바탕으로 평가 함수를 업데이트하고 시나리오를 초기화시킬 수 있다.
단계 955에서, 추론 서버는 학습 횟수가 목표에 도달하였는지 여부를 식별할 수 있다. 일 실시예에서, 추론 서버가 학습 횟수가 목표에 도달하였다고 식별하는 경우 단계 960에서 학습을 종료시키고, 학습 횟수가 목표에 도달하지 않았다고 식별하는 경우에는 단계 915를 수행할 수 있다.
도 10은 본 개시의 일 실시예에 따른 학습 모델이 강화학습을 수행하는 방법을 도시하는 도면이다.
도 10을 참조하면, 에이전트(Agent, 1010)는 강화학습의 학습 대상으로, 에이전트(1010)는 단순히 즉각적인 평가 점수(Ri)만을 높이려는 것이 아니고 하나의 시나리오 동안 받는 평가 점수(ΣRi)를 최대화하기 위한 동작을 수행할 수 있다. 상태(State)는 에이전트(1010)가 인식하는 자신의 상태일 수 있다. 예를 들어, 상태는 사용자의 위치(또는 시뮬레이션 환경 속에서의 가상 사용자의 위치), 공의 위치, 목표 지점의 위치, 그린 영역의 지형, 날씨, 습도 등 그린 영역의 상태 정보, 목표 지점 도달 여부(예: 홀 인 여부) 등을 포함할 수 있다. 행동(Action, 1030)은 에이전트(1010)가 환경(1050)에서 특정 상태에 주어졌을 때 수행하는 동작일 수 있다. 에이전트(1010)는 상태 및 리워드(Reward)에 기초하여 퍼팅 방향 및 퍼팅 세기를 포함하는 퍼팅 정보를 결정하고, 결정한 퍼팅 정보에 기초하여 행동(1030)을 취할 수 있다. 일 실시예에서, 행동(1030)은 사용자의 현재 위치 또는 공의 위치에서 홀 컵을 바라본 상태를 기준으로 목표로 하는 방향과 사용자의 현재 위치에서 목표로 하는 거리를 포함할 수 있다. 또는, 행동(1030)은 목표로 하는 방향과 목표로 하는 거리에 기초하여 수행하는 퍼팅 동작을 포함할 수 있다. 예를 들어, 행동은 퍼팅 거리가 8.5m 되도록 하는 세기와 '홀 컵 좌측으로 한 클럽' 방향으로의 퍼팅을 포함할 수 있다. 일 실시예에서 에이전트(1010)는 행동(1030)을 취함으로써 상태를 업데이트할 수 있다. 환경(1050)은 강화학습 모델을 학습시키기 위한 시뮬레이션 환경을 포함할 수 있다. 또한, 환경(1050)은 상태(State)를 비롯한 에이전트(1010)를 학습시킬 세계의 물리 법칙이나 각종 제약조건들을 포함할 수 있으며, 그 중 측정 가능하고 수치로 표현 가능하며 결과에 영향을 줄 것이라 기대되는 요소들이 상태(State)에 포함될 수 있다.
도 11은 본 개시의 일 실시예에 따른 강화 학습 모델의 입출력 구조를 나타내는 도면이다.
도 11을 참조하면, 강화 학습 모델은 행동 정책 모델(Policy network) 및 가치 평가 모델(Q-value network)을 포함할 수 있다. 일 실시예에서, 행동 정책 모델은 그린 영역의 위치 정보, 목표 지점의 위치 정보(예: 홀 컵의 위치), 사용자의 위치 정보(예: 사용자 단말의 위치, 시뮬레이션 상에서 가상 사용자의 위치), 그린 상태 정보(예: 그린의 마찰력), 공의 상태 정보(예: 공의 반발력, 공의 표면 재질), 기상 상태 정보, 사용자의 신체 정보 등을 포함하는 환경 정보를 입력으로 하여 퍼팅 세기, 퍼팅 방향 등을 결정할 수 있다. 다만, 환경 정보에 포함되는 정보들이 이에 한정되는 것은 아니며, 이외에도 다양한 정보들이 포함될 수 있다. 또한, 강화 학습 모델은 위와 같은 환경 정보, 행동 정책 모델에 의해 결정된 퍼팅 세기, 퍼팅 방향 등에 기초하여 가치를 결정할 수 있다.
일 실시예에서, 행동 정책 모델은 도 10을 참조하여 전술한 행동(1030)에 대응되고, 가치 평가 모델은 도 10을 참조하여 전술한 상태(State) 및 Reward에 대응될 수 있다.
도 12는 본 개시의 일 실시예에 따른 사용자 단말의 위치를 획득하는 방법을 도시하는 도면이다.
도 12를 참조하면, 골프장 관리 서버는 사용자 단말로부터 사용자 단말의 좌표 정보를 획득할 수 있다. 또한, 골프장 관리 서버는 목표 지점(예: 홀 컵)의 좌표 정보를 획득할 수 있다. 일 실시예에서, 사용자 단말의 좌표 정보는 사용자 단말로부터 수신할 수 있다. 또한, 목표 지점의 좌표 정보는 깃대에 GPS 장치를 부착하여 깃대에 부착된 GPS 장치로부터 수신하거나, 그린키퍼(greenkeeper)의 단말로부터 수신할 수도 있다. 예를 들어, 골프장 관리 서버는 매일 골프장 개장 전 목표 지점의 좌표 정보로 홀 컵의 위치를 획득할 수 있다.
일 실시예에서, 골프장 관리 서버는 RTK GPS를 이용하여 사용자 단말의 좌표 정보 및 목표 지점의 좌표 정보를 보정하여 사용자의 위치 정보 및 목표 지점의 위치 정보를 생성할 수 있다. 즉, GPS 좌표에 오차가 존재할 수 있으므로, 골프장관리 서버는 보다 정확한 위치를 특정하기 위해 RTK가 적용된 GPS를 이용하여 사용자의 GPS 좌표 목표 지점의 GPS 좌표를 보정하여 사용자의 위치(1210) 및 목표지점의 위치(1220)를 특정할 수 있다.
일 실시예에서, 그린 영역의 주변에 위도, 고도, 경도를 정확하게 알고 있는 위치에 GPS 장치가 설치될 수 있다. 이 GPS 장치를 GPS Base 장치로 칭하기로 한다. 복수의 GPS Base 장치가 그린 영역의 주변에 설치됨으로써, 골프장 관리 서버는 사용자의 위치(1210) 및 목표 지점의 위치(1220)를 결정함에 있어서, 사용자 단말의 GPS 좌표 및 홀컵의 GPS 좌표에 기초하여 복수의 GPS Base 장치와의 상대적 위치를 고려함으로써 GPS 좌표의 오차를 보정할 수 있다.
일 실시예에 따르면, 사용자의 위치(1210) 및 목표 지점의 위치(1220)는 RTK GPS를 이용하여 거의 오차 없이 정확한 위치로 식별될 수 있다.
도 13은 본 개시의 일 실시예에 따른 증강현실(AR: Augmented Reality) 디바이스를 이용하여 퍼팅 정보를 디스플레이하는 방법을 도시하는 도면이다.
도 13을 참조하면, 사용자 단말은 AR 디바이스를 포함할 수 있다. 사용자 단말은 골프장 관리 서버로부터 퍼팅 세기 및 퍼팅 방향을 포함하는 퍼팅 정보를 수신하고, AR 디바이스를 통해 퍼팅 정보를 디스플레이할 수 있다. 일 실시예에 따르면, 도 13과 같이 AR 디바이스는 홀컵과의 거리와 목표 지점과의 거리를 디스플레이하여 퍼팅의 세기 및 퍼팅 방향을 지시할 수 있다. 예를 들어, AR 디바이스는 목표 지점까지의 거리를 홀컵까지의 거리보다 더 멀게 표현함으로써 홀컵 방향으로 하여 퍼팅할 때보다 퍼팅 세기가 더 늘어나야 한다는 점을 디스플레이할 수 있다. 또한, AR 디바이스는 홀컵의 위치 및 목표 지점의 위치를 디스플레이하여 홀컵보다 좌측으로 퍼팅해야 함을 지형 지물 상에 AR을 통해 디스플레이할 수 있다. 다만, 이는 일 예시일 뿐 사용자 단말이 퍼팅 정보를 디스플레이하는 방법이 이에 한정되는 것은 아니다.
도 14는 본 개시의 일 실시예에 따른 골프장 관리 서버의 블록도이다.
도 14을 참조하면, 골프장 관리 서버(1400)는 송수신부(1410), 메모리(1420), 및 프로세서(1430)를 포함할 수 있다. 또한, 프로세서(1430)는 소프트웨어 모듈로 구현될 수 있다. 그러나, 도 14에 도시된 구성 요소 모두가 골프장 관리 서버(1400)의 필수 구성 요소인 것은 아니다. 도 14에 도시된 구성 요소보다 많은 구성 요소에 의해 골프장 관리 서버(1400)가 구현될 수도 있고, 도 14에 도시된 구성 요소보다 적은 구성 요소에 의해 골프장 관리 서버(1400)가 구현될 수도 있다. 뿐만 아니라 송수신부(1410), 메모리(1420), 및 프로세서(1430)가 하나의 칩(chip) 형태로 구현될 수도 있다.
일 실시예에서, 골프장 관리 서버(1400)는 별도의 서버로 구현되지 않고, 클라우드 서버를 이용하여 가상의 서버로서 구현될 수 있다. 다른 일 실시예에서, 골프장 관리 서버(1400)는 다른 서버에 일 기능으로 구현될 수 있으며, 소프트웨어 모듈의 형태로서 서버에서 동작할 수 있다. 예를 들어, 골프장 관리 서버(1400)는 추론 서버와 하나의 서버로 구현될 수 있다.
일 실시예에서, 송수신부(1410)는 골프장 관리 서버(1400)와 유선 또는 무선으로 연결된 단말, 서버, 또는 다른 전자 디바이스와 통신할 수 있다. 예를 들면, 송수신부(1410)는 사용자 단말로부터 사용자 단말의 위치 좌표를 포함하는 퍼팅 정보 요청을 수신하고, 상기 퍼팅 정보 요청에 기초하여, 추론 서버에게 사용자 단말의 위치 좌표에 기초하여 결정된 사용자의 위치 정보를 포함하는 추론 요청 메시지를 전송하고, 추론 요청 메시지에 기초하여, 추론 서버로부터 퍼팅 방향 정보 및 퍼팅 세기 정보를 포함하는 추론 결과를 수신하고, 사용자 단말에게 퍼팅 방향 정보 및 퍼팅 세기 정보를 포함하는 퍼팅 정보를 전송할 수 있다.
메모리(1420)에는 애플리케이션과 같은 프로그램 및 파일 등과 같은 다양한 종류의 데이터가 설치 및 저장될 수 있다. 프로세서(1430)는 메모리(1420)에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리(1420)에 저장할 수도 있다.
프로세서(1430)는 골프장 관리 서버(1400)의 전체적인 동작을 제어하며, CPU, GPU 등과 같은 프로세서를 적어도 하나 이상 포함할 수 있다. 프로세서(1430)는 골프장 관리 서버(1400)를 작동하기 위한 동작을 수행하도록 골프장 관리 서버(1400)에 포함된 다른 구성들을 제어할 수 있다. 예를 들어, 프로세서(1430)는 메모리(1420)에 저장된 프로그램을 실행시키거나, 저장된 파일을 읽어오거나, 새로운 파일을 저장할 수도 있다. 일 실시예에서, 프로세서(1430)는 메모리(1420)에 저장된 프로그램을 실행함으로써, 골프장 관리 서버(1400)를 작동하기 위한 동작을 수행할 수 있다.
도 15는 본 개시의 일 실시예에 따른 추론 서버의 블록도이다.
도 15을 참조하면, 추론 서버(1500)는 송수신부(1510), 메모리(1520), 및 프로세서(1530)를 포함할 수 있다. 또한, 프로세서(1530)는 데이터 획득부(1540), 전처리부(1550), 데이터 선택부(1560), 퍼팅 방향 결정부(1570), 퍼팅 세기 결정부(1580), 모델 평가부(1590)를 포함할 수 있다. 일 실시예에서, 데이터 획득부(1540), 전처리부(1550), 데이터 선택부(1560), 퍼팅 방향 결정부(1570), 퍼팅 세기 결정부(1580), 모델 평가부(1590)는 소프트웨어 모듈로 구현될 수 있다. 그러나, 도 15에 도시된 구성 요소 모두가 추론 서버(1500)의 필수 구성 요소인 것은 아니다. 도 15에 도시된 구성 요소보다 많은 구성 요소에 의해 추론 서버(1500)가 구현될 수도 있고, 도 15에 도시된 구성 요소보다 적은 구성 요소에 의해 추론 서버(1500)가 구현될 수도 있다. 뿐만 아니라 송수신부(1510), 메모리(1520), 및 프로세서(1530)가 하나의 칩(chip) 형태로 구현될 수도 있다.
일 실시예에서, 추론 서버(1500)는 별도의 서버로 구현되지 않고, 클라우드 서버를 이용하여 가상의 서버로서 구현될 수 있다. 다른 일 실시예에서, 추론 서버(1500)는 다른 서버에 일 기능으로 구현될 수 있으며, 소프트웨어 모듈의 형태로서 서버에서 동작할 수 있다. 예를 들어, 추론 서버(1500)은 골프장 관리 서버(1400)와 하나의 서버로 구현될 수 있다.
일 실시예에서, 송수신부(1510)는 추론 서버(1500)와 유선 또는 무선으로 연결된 단말, 서버, 또는 다른 전자 디바이스와 통신할 수 있다. 예를 들면, 송수신부(1510)는 골프장 관리 서버로부터 사용자의 위치 정보를 포함하는 추론 요청 메시지를 수신하고, 퍼팅 방향 정보 및 퍼팅 세기 정보를 포함하는 추론 결과를 골프장 관리 서버에게 전송할 수 있다.
메모리(1520)에는 애플리케이션과 같은 프로그램 및 파일 등과 같은 다양한 종류의 데이터가 설치 및 저장될 수 있다. 프로세서(1530)는 메모리(1520)에 저장된 데이터에 접근하여 이를 이용하거나, 또는 새로운 데이터를 메모리(1520)에 저장할 수도 있다.
프로세서(1530)는 추론 서버(1500)의 전체적인 동작을 제어하며, 추론 서버(1500)를 작동하기 위한 동작을 수행하도록 추론 서버(1500)에 포함된 다른 구성들을 제어할 수 있다. 예를 들어, 프로세서(1530)는 메모리(1520)에 저장된 프로그램을 실행시키거나, 저장된 파일을 읽어오거나, 새로운 파일을 저장할 수도 있다. 일 실시예에서, 프로세서(1530)는 메모리(1520)에 저장된 프로그램을 실행함으로써, 추론 서버(1500)를 작동하기 위한 동작을 수행할 수 있다.
본 개시에 따른 추론 서버(1500)의 인공지능과 관련된 기능은 프로세서와 메모리를 통해 동작된다. 프로세서는 하나 또는 복수의 프로세서로 구성될 수 있다. 이때, 하나 또는 복수의 프로세서는 CPU, AP, DSP(Digital Signal Processor) 등과 같은 범용 프로세서, GPU, VPU(Vision Processing Unit)와 같은 그래픽 전용 프로세서 또는 NPU와 같은 인공지능 전용 프로세서일 수 있다. 하나 또는 복수의 프로세서는, 메모리에 저장된 기 정의된 동작 규칙 또는 인공지능 모델에 따라, 입력 데이터를 처리하도록 제어한다. 또는, 하나 또는 복수의 프로세서가 인공지능 전용 프로세서인 경우, 인공지능 전용 프로세서는, 특정 인공지능 모델의 처리에 특화된 하드웨어 구조로 설계될 수 있다.
기 정의된 동작 규칙 또는 인공지능 모델은 학습을 통해 만들어진 것을 특징으로 한다. 여기서, 학습을 통해 만들어진다는 것은, 기본 인공지능 모델이 학습 알고리즘에 의하여 다수의 학습 데이터들을 이용하여 학습됨으로써, 원하는 특성(또는, 목적)을 수행하도록 설정된 기 정의된 동작 규칙 또는 인공지능 모델이 만들어짐을 의미한다. 이러한 학습은 본 개시에 따른 인공지능이 수행되는 기기 자체에서 이루어질 수도 있고, 별도의 서버 및/또는 시스템을 통해 이루어질 수도 있다. 학습 알고리즘의 예로는, 지도형 학습(supervised learning), 비지도형 학습(unsupervised learning), 준지도형 학습(semi-supervised learning) 또는 강화 학습(reinforcement learning)이 있으나, 전술한 예에 한정되지 않는다.
인공지능 모델은, 복수의 신경망 레이어들로 구성될 수 있다. 복수의 신경망 레이어들 각각은 복수의 가중치들(weight values)을 갖고 있으며, 이전(previous) 레이어의 연산 결과와 복수의 가중치들 간의 연산을 통해 신경망 연산을 수행한다. 복수의 신경망 레이어들이 갖고 있는 복수의 가중치들은 인공지능 모델의 학습 결과에 의해 최적화될 수 있다. 예를 들어, 학습 과정 동안 인공지능 모델에서 획득한 로스(loss) 값 또는 코스트(cost) 값이 감소 또는 최소화되도록 복수의 가중치들이 갱신될 수 있다. 인공 신경망은 심층 신경망(DNN: Deep Neural Network)를 포함할 수 있으며, 예를 들어, CNN (Convolutional Neural Network), DNN (Deep Neural Network), RNN (Recurrent Neural Network), RBM (Restricted Boltzmann Machine), DBN (Deep Belief Network), BRDNN(Bidirectional Recurrent Deep Neural Network) 또는 심층 Q-네트워크 (Deep Q-Networks) 등이 있으나, 전술한 예에 한정되지 않는다.
일 실시예에서, 데이터 획득부(1540)는 사용자의 위치 정보, 목표 지점의 위치 정보, 그린 영역의 지형 정보, 기상 상태 정보, 사용자의 신체 정보, 공의 특성 정보, 그린 영역의 특성 정보 등을 포함하는 데이터를 획득할 수 있다. 데이터 획득부(1540)는 추론 서버(1500)에 유선 또는 무선으로 연결된 단말, 서버, 데이터베이스, 또는 다른 전자 디바이스로부터 데이터를 획득할 수 있다.
일 실시예에서, 전처리부(1550)는 퍼팅 방향 및 퍼팅 세기 등을 추론하기 위한 학습에 데이터가 이용될 수 있도록 획득된 데이터를 전처리할 수 있다. 예를 들어, 전처리부(1550)는 획득한 데이터 중 중복 데이터를 제거하거나, 가능성이 희박한 데이터를 제거하고, 각 데이터에 대응하는 메타데이터를 벡터화하는 등과 같이 데이터를 기 설정된 포맷으로 가공할 수 있으나, 이에 한정되지 않는다.
일 실시예에서, 데이터 선택부(1560)는 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다. 데이터 선택부(1560)는 퍼팅 세기 및 퍼팅 방향을 추론하기 위한 기 설정된 기준에 따라, 전처리된 데이터 중에서 학습에 필요한 데이터를 선택할 수 있다.
일 실시예에서, 퍼팅 방향 결정부(1570) 및 퍼팅 세기 결정부(1580)는 데이터 선택부(1560)에 의해 선택된 데이터에 기초하여 각각 퍼팅 방향 및 퍼팅 세기를 결정할 수 있다. 또한, 모델 평가부(1590)는 평가 데이터가 입력되고, 평가 데이터로부터 출력되는 추론 결과가 소정 기준을 만족하지 못하는 경우, 다시 학습하도록 할 수 있다. 이 경우, 평가 데이터는 학습 모델을 평가하기 위한 기 설정된 데이터일 수 있다.
본 개시의 일 실시예는 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터에 의해 실행가능한 명령어를 포함하는 기록 매체의 형태로도 구현될 수 있다. 컴퓨터 판독 가능 매체는 컴퓨터에 의해 액세스될 수 있는 임의의 가용 매체일 수 있고, 휘발성 및 비휘발성 매체, 분리형 및 비분리형 매체를 모두 포함한다. 또한, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 모두 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 분리형 및 비분리형 매체를 모두 포함한다. 통신 매체는 전형적으로 컴퓨터 판독가능 명령어, 데이터 구조, 또는 프로그램 모듈을 포함하며, 임의의 정보 전달 매체를 포함한다.
전술한 본 개시의 설명은 예시를 위한 것이며, 본 개시가 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 개시의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 개시의 범위에 포함되는 것으로 해석되어야 한다.

Claims (28)

  1. 사용자 단말로부터 상기 사용자 단말의 위치 좌표를 포함하는 퍼팅 정보 요청을 수신하는 단계;
    상기 퍼팅 정보 요청에 기초하여, 추론 서버에게 상기 사용자 단말의 위치 좌표에 기초하여 결정된 사용자의 위치 정보를 포함하는 추론 요청 메시지를 전송하는 단계;
    상기 추론 요청 메시지에 기초하여, 상기 추론 서버로부터 퍼팅 방향 정보 및 퍼팅 세기 정보를 포함하는 추론 결과를 수신하는 단계;
    상기 사용자 단말에게 상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 포함하는 퍼팅 정보를 전송하는 단계를 포함하고,
    상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 포함하는 추론 결과는,
    상기 사용자의 위치 정보 및 상기 사용자가 위치하고 있는 그린 영역의 지형 정보에 기초하여 상기 추론 서버에 의해 인공 지능 알고리즘을 이용하여 학습된 학습 모델을 이용하여 생성되는, 골프 퍼팅 보조 방법.
  2. 제1항에 있어서, 상기 그린 영역의 지형 정보는,
    상기 그린 영역에 대응되는 좌표 정보 및 상기 그린 영역의 높이 정보를 매핑시켜 생성된 정보를 포함하며,
    상기 그린 영역의 높이 정보는,
    제1 센서를 포함하는 지면에 설치된 제1 장치 및 제2 센서를 포함하는 비행체를 포함하는 제2 장치를 이용하여 획득되는, 골프 퍼팅 보조 방법.
  3. 제1항에 있어서, 상기 학습 모델은,
    행동 정책 모델 및 가치 평가 모델을 포함하는 강화 학습 모델을 포함하고,
    상기 행동 정책 모델은,
    목표 지점의 위치 정보, 퍼팅 시작 위치 정보, 상기 그린 영역의 지형 정보, 공의 특성 정보, 사용자의 상태 정보, 또는 기상 상태 정보 중 적어도 하나를 포함하는 환경 정보에 기초하여 퍼팅 방향 및 퍼팅 세기에 관한 행동 정보를 생성하고,
    상기 가치 평가 모델은,
    상기 환경 정보 및 상기 행동 정보에 기초하여 리워드(Reward)를 결정하는, 골프 퍼팅 보조 방법.
  4. 제1항에 있어서, 상기 추론 요청 메시지를 전송하는 단계는,
    상기 사용자의 위치 좌표를 포함하는 퍼팅 정보 요청에 기초하여, 상기 사용자가 상기 그린 영역에 위치하는지 여부를 결정하는 단계; 및
    상기 사용자가 상기 그린 영역에 위치한다고 결정하는 경우, 상기 추론 서버에게 상기 사용자의 위치 정보를 포함하는 상기 추론 요청 메시지를 전송하는 단계를 포함하는, 골프 퍼팅 보조 방법.
  5. 제1항에 있어서, 상기 골프 퍼팅 보조 방법은,
    RTK (Real-Time Kinematic) GPS (global positioning system)를 이용하여 상기 사용자 단말의 위치 좌표를 보정하여 상기 사용자의 위치 정보를 생성하는 단계를 더 포함하는, 골프 퍼팅 보조 방법.
  6. 제1항에 있어서, 상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 포함하는 퍼팅 정보는,
    상기 사용자 단말에 의해 AR (Augmented Reality)을 통해 디스플레이되도록 하는 정보를 포함하는, 골프 퍼팅 보조 방법.
  7. 추론 서버의 동작 방법에 있어서,
    골프장 관리 서버로부터 사용자의 위치 정보를 포함하는 추론 요청 메시지를 수신하는 단계;
    상기 사용자가 위치하는 그린 영역의 지형 정보를 획득하는 단계;
    상기 사용자의 위치 정보 및 그린 영역의 지형 정보에 기초하여, 인공 지능 알고리즘을 이용하여 학습된 학습 모델을 이용하여 퍼팅 방향 정보 및 퍼팅 세기 정보를 생성하는 단계; 및
    상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 포함하는 추론 결과를 상기 골프장 관리 서버에게 전송하는 단계를 포함하는, 추론 서버의 동작 방법.
  8. 제7항에 있어서, 상기 그린 영역의 지형 정보를 획득하는 단계는,
    상기 골프장 관리 서버에게 상기 그린 영역의 지형 정보를 요청하는 단계; 및
    상기 골프장 관리 서버로부터 상기 그린 영역에 대응되는 좌표 정보와 상기 그린 영역의 높이 정보를 매핑시킨 상기 그린 영역의 지형 정보를 수신하는 단계를 포함하고,
    상기 그린 영역의 높이 정보는,
    제1 센서를 포함하는 지면에 설치된 제1 장치 및 제2 센서를 포함하는 제2 비행체 장치를 이용하여 획득되는, 추론 서버의 동작 방법.
  9. 제7항에 있어서, 상기 그린 영역의 지형 정보를 획득하는 단계는,
    골프장 정보 또는 상기 사용자의 위치 정보 중 적어도 하나를 포함하는, 상기 그린 영역의 지형 정보 요청을 전송하는 단계; 및
    상기 그린 영역의 지형 정보 요청에 기초하여, 상기 그린 영역에 대응되는 좌표 정보 및 상기 그린 영역의 높이 정보를 매핑시켜 생성된 상기 그린 영역의 지형 정보를 수신하는 단계를 포함하고,
    상기 그린 영역의 높이 정보는,
    제1 센서를 포함하는 제1 장치 및 제2 센서를 포함하는 제2 장치를 이용하여 획득되는, 추론 서버의 동작 방법.
  10. 제7항에 있어서, 상기 학습 모델은,
    행동 정책 모델 및 가치 평가 모델을 포함하는 강화 학습 모델을 포함하고,
    상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 생성하는 단계는,
    상기 행동 정책 모델에 의해, 퍼팅 시작 위치 정보, 상기 그린 영역의 지형 정보, 공의 특성 정보, 사용자의 상태 정보, 또는 기상 상태 정보 중 적어도 하나를 포함하는 환경 정보에 기초하여 퍼팅 방향 및 퍼팅 세기에 관한 행동 정보를 생성하는 단계; 및
    상기 가치 평가 모델에 의해, 상기 환경 정보 및 상기 행동 정보에 기초하여 리워드(Reward)를 생성하는 단계를 포함하는, 추론 서버의 동작 방법.
  11. 제7항에 있어서, 상기 추론 요청 메시지는,
    상기 사용자가 상기 그린 영역에 위치한다고 상기 골프장 관리 서버에 의해 결정되는 경우, 상기 추론 서버에게 전송되는, 추론 서버의 동작 방법.
  12. 제7항에 있어서, 상기 사용자의 위치 정보는,
    RTK (Real-Time Kinematic) GPS (global positioning system)를 이용하여 사용자 단말의 위치 좌표를 보정하여 생성되는, 추론 서버의 동작 방법.
  13. 제7항에 있어서, 상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보는,
    상기 골프장 관리 서버에 의해, AR (Augmented Reality) 디바이스를 포함하는 사용자 단말에게 전달되는, 추론 서버의 동작 방법.
  14. 하나 이상의 명령어들을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 명령어들을 실행하는 적어도 하나의 프로세서를 포함하며,
    상기 적어도 하나의 프로세서는 상기 하나 이상의 명령어를 실행함으로써,
    사용자 단말로부터 상기 사용자 단말의 위치 좌표를 포함하는 퍼팅 정보 요청을 수신하고,
    상기 퍼팅 정보 요청에 기초하여, 추론 서버에게 상기 사용자 단말의 위치 좌표에 기초하여 결정된 사용자의 위치 정보를 포함하는 추론 요청 메시지를 전송하고,
    상기 추론 요청 메시지에 기초하여, 상기 추론 서버로부터 퍼팅 방향 정보 및 퍼팅 세기 정보를 포함하는 추론 결과를 수신하고,
    상기 사용자 단말에게 상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 포함하는 퍼팅 정보를 전송하며,
    상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 포함하는 추론 결과는,
    상기 사용자의 위치 정보 및 상기 사용자가 위치하고 있는 그린 영역의 지형 정보에 기초하여 상기 추론 서버에 의해 인공 지능 알고리즘을 이용하여 학습된 학습 모델을 이용하여 생성되는, 골프장 관리 서버.
  15. 제14항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 그린 영역에 대응되는 좌표 정보를 획득하고
    제1 센서를 포함하는 제1 장치 및 제2 센서를 포함하는 제2 장치를 이용하여 상기 그린 영역의 높이 정보를 획득하고 - 상기 제1 장치는 지면에 설치된 장치를 포함하고 상기 제2 장치는 비행체를 포함함;
    상기 그린 영역에 대응되는 좌표 정보와 상기 그린 영역의 높이 정보를 매핑시켜 상기 그린 영역의 지형 정보를 생성하고,
    상기 그린 영역의 지형 정보를 데이터 베이스 저장하는, 골프장 관리 서버.
  16. 제14항에 있어서, 상기 그린 영역의 지형 정보는,
    상기 그린 영역에 대응되는 좌표 정보 및 상기 그린 영역의 높이 정보를 매핑시켜 생성된 정보를 포함하며,
    상기 그린 영역의 높이 정보는,
    제1 센서를 포함하는 지면에 설치된 제1 장치 및 제2 센서를 포함하는 비행체를 포함하는 제2 장치를 이용하여 획득되는, 골프장 관리 서버.
  17. 제14항에 있어서, 상기 학습 모델은,
    행동 정책 모델 및 가치 평가 모델을 포함하는 강화 학습 모델을 포함하고,
    상기 행동 정책 모델은,
    목표 지점의 위치 정보, 퍼팅 시작 위치 정보, 상기 그린 영역의 지형 정보, 공의 특성 정보, 사용자의 상태 정보, 또는 기상 상태 정보 중 적어도 하나를 포함하는 환경 정보에 기초하여 퍼팅 방향 및 퍼팅 세기에 관한 행동 정보를 생성하고,
    상기 가치 평가 모델은,
    상기 환경 정보 및 상기 행동 정보에 기초하여 리워드(Reward)를 결정하는, 골프장 관리 서버.
  18. 제14항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 사용자의 위치 좌표를 포함하는 퍼팅 정보 요청에 기초하여, 상기 사용자가 상기 그린 영역에 위치하는지 여부를 결정하고,
    상기 사용자가 상기 그린 영역에 위치한다고 결정하는 경우, 상기 추론 서버에게 상기 사용자의 위치 정보를 포함하는 상기 추론 요청 메시지를 전송하는, 골프장 관리 서버.
  19. 제14항에 있어서, 상기 적어도 하나의 프로세서는,
    RTK (Real-Time Kinematic) GPS (global positioning system)를 이용하여 상기 사용자 단말의 위치 좌표를 보정하여 상기 사용자의 위치 정보를 생성하는, 골프장 관리 서버.
  20. 제14항에 있어서, 상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 포함하는 퍼팅 정보는,
    상기 사용자 단말에 의해 AR (Augmented Reality)을 통해 디스플레이되도록 하는 정보를 포함하는, 골프장 관리 서버.
  21. 하나 이상의 명령어들을 저장하는 메모리; 및
    상기 메모리에 저장된 상기 하나 이상의 명령어들을 실행하는 적어도 하나의 프로세서를 포함하며,
    상기 적어도 하나의 프로세서는 상기 하나 이상의 명령어를 실행함으로써,
    골프장 관리 서버로부터 사용자의 위치 정보를 포함하는 추론 요청 메시지를 수신하고,
    상기 사용자가 위치하는 그린 영역의 지형 정보를 획득하고,
    상기 사용자의 위치 정보 및 그린 영역의 지형 정보에 기초하여, 인공 지능 알고리즘을 이용하여 학습된 학습 모델을 이용하여 퍼팅 방향 정보 및 퍼팅 세기 정보를 생성하고,
    상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보를 포함하는 추론 결과를 상기 골프장 관리 서버에게 전송하는, 추론 서버.
  22. 제21항에 있어서, 상기 적어도 하나의 프로세서는,
    상기 골프장 관리 서버에게 상기 그린 영역의 지형 정보를 요청하고,
    상기 골프장 관리 서버로부터 상기 그린 영역에 대응되는 좌표 정보와 상기 그린 영역의 높이 정보를 매핑시킨 상기 그린 영역의 지형 정보를 수신하며,
    상기 그린 영역의 높이 정보는,
    제1 센서를 포함하는 지면에 설치된 제1 장치 및 제2 센서를 포함하는 제2 비행체 장치를 이용하여 획득되는, 추론 서버.
  23. 제21항에 있어서, 상기 적어도 하나의 프로세서는,
    골프장 정보 또는 상기 사용자의 위치 정보 중 적어도 하나를 포함하는, 상기 그린 영역의 지형 정보 요청을 전송하고,
    상기 그린 영역의 지형 정보 요청에 기초하여, 상기 그린 영역에 대응되는 좌표 정보 및 상기 그린 영역의 높이 정보를 매핑시켜 생성된 상기 그린 영역의 지형 정보를 수신하며,
    상기 그린 영역의 높이 정보는,
    제1 센서를 포함하는 제1 장치 및 제2 센서를 포함하는 제2 장치를 이용하여 획득되는, 추론 서버.
  24. 제21항에 있어서, 상기 학습 모델은,
    행동 정책 모델 및 가치 평가 모델을 포함하는 강화 학습 모델을 포함하고,
    상기 적어도 하나의 프로세서는,
    상기 행동 정책 모델에 의해, 퍼팅 시작 위치 정보, 상기 그린 영역의 지형 정보, 공의 특성 정보, 사용자의 상태 정보, 또는 기상 상태 정보 중 적어도 하나를 포함하는 환경 정보에 기초하여 퍼팅 방향 및 퍼팅 세기에 관한 행동 정보를 생성하고,
    상기 가치 평가 모델에 의해, 상기 환경 정보 및 상기 행동 정보에 기초하여 리워드(Reward)를 생성하는, 추론 서버.
  25. 제21항에 있어서, 상기 추론 요청 메시지는,
    상기 사용자가 상기 그린 영역에 위치한다고 상기 골프장 관리 서버에 의해 결정되는 경우, 상기 추론 서버에게 전송되는, 추론 서버.
  26. 제21항에 있어서, 상기 사용자의 위치 정보는,
    RTK (Real-Time Kinematic) GPS (global positioning system)를 이용하여 사용자 단말의 위치 좌표를 보정하여 생성되는, 추론 서버.
  27. 제21항에 있어서, 상기 퍼팅 방향 정보 및 상기 퍼팅 세기 정보는,
    상기 골프장 관리 서버에 의해, AR (Augmented Reality) 디바이스를 포함하는 사용자 단말에게 전달되는, 추론 서버.
  28. 제1항 내지 제13항 중 어느 한 항의 방법을 컴퓨터에서 실행시키도록 컴퓨터로 읽을 수 있는 기록매체에 저장된 프로그램.
KR1020220114658A 2022-09-13 2022-09-13 퍼팅 정보 제공 방법 및 장치 KR20240036741A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020220114658A KR20240036741A (ko) 2022-09-13 2022-09-13 퍼팅 정보 제공 방법 및 장치
PCT/KR2023/000622 WO2024058322A1 (ko) 2022-09-13 2023-01-13 퍼팅 정보 제공 방법 및 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220114658A KR20240036741A (ko) 2022-09-13 2022-09-13 퍼팅 정보 제공 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20240036741A true KR20240036741A (ko) 2024-03-21

Family

ID=90275458

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220114658A KR20240036741A (ko) 2022-09-13 2022-09-13 퍼팅 정보 제공 방법 및 장치

Country Status (2)

Country Link
KR (1) KR20240036741A (ko)
WO (1) WO2024058322A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102108170B1 (ko) * 2018-09-19 2020-05-08 인하대학교 산학협력단 골프 드론
KR102334264B1 (ko) * 2019-06-05 2021-12-01 손승희 증강현실을 이용한 골프 보조 방법 및 시스템
KR102109488B1 (ko) * 2019-12-03 2020-05-12 (주)씨앤피에스 딥러닝을 이용한 고정밀 거리 측정 시스템
KR102148254B1 (ko) * 2020-02-28 2020-08-27 주식회사 나샘 IoT 기반 스마트 퍼팅 가이드 제공 시스템 및 그 방법
KR102588370B1 (ko) * 2021-02-10 2023-10-11 박형준 골프장 그린의 퍼팅 정보 제공 시스템 및 방법

Also Published As

Publication number Publication date
WO2024058322A1 (ko) 2024-03-21

Similar Documents

Publication Publication Date Title
US11219814B2 (en) Autonomous personalized golf recommendation and analysis environment
US11806579B2 (en) Sports operating system
KR102333742B1 (ko) 골프장 내 플레이어의 볼위치추적 및 홀컵까지의 남은 거리를 측정하여 인공지능을 통해 플레이어에게 음성으로 제공하는 스마트한 골프카트 운영시스템
JP6204635B1 (ja) ゴルフプレイ支援システム、ゴルフプレイ支援方法、及びプログラム
US20110077093A1 (en) Voice Activated Distance Measuring Device
US11935330B2 (en) Object fitting using quantitative biomechanical-based analysis
US20220161121A1 (en) Autonomous Tracking and Personalized Golf Recommendation and Analysis Environment
KR20190136168A (ko) 모바일 기기를 이용한 골프 플레이 어드바이스 시스템
JP2022514667A (ja) ボール飛行データから、所定のオフライン情報を考慮するストロークゲインドパフォーマンス指標を計算するためのシステム及び方法
KR102431863B1 (ko) 증강현실을 이용한 퍼팅 가이드를 위한 웨어러블 장치 및 이를 위한 방법
KR20240036741A (ko) 퍼팅 정보 제공 방법 및 장치
KR102224182B1 (ko) 사용자 단말기 및 이를 포함하는 골프 정보 제공 시스템
KR102334264B1 (ko) 증강현실을 이용한 골프 보조 방법 및 시스템
KR102548032B1 (ko) Ai 골프 카트 및 이를 포함하는 골프 시스템
KR102436279B1 (ko) 휴대용 골프 어드바이스 보조장치 및 방법
KR102199354B1 (ko) 골프에 관한 어드바이스 제공 방법 및 제공 장치
KR100647773B1 (ko) 휴대 단말기와 이동통신 시스템 및 이를 이용한 서비스제공방법
JP7058036B2 (ja) ゴルフ場の管理システム
KR102237251B1 (ko) 골프 정보 제공 시스템 및 골프 정보 제공 시스템용 웨어러블 유닛
KR102224185B1 (ko) 웨어러블 유닛 및 이를 포함하는 골프 정보 제공 시스템
US20230140611A1 (en) Methods, systems, apparatuses, and devices for facilitating simulating golf play on golf courses
US20230081168A1 (en) Method for providing exercise load information
WO2022060899A1 (en) Sports operating system
WO2023218627A1 (ja) ゴルフ支援システム、ゴルフ支援方法、および、ゴルフ支援プログラム
US20240104927A1 (en) Control device and control method