KR20230090446A - 투구 정보를 추출하는 전자 장치, 투구 추적 시스템 및 방법 - Google Patents

투구 정보를 추출하는 전자 장치, 투구 추적 시스템 및 방법 Download PDF

Info

Publication number
KR20230090446A
KR20230090446A KR1020210179123A KR20210179123A KR20230090446A KR 20230090446 A KR20230090446 A KR 20230090446A KR 1020210179123 A KR1020210179123 A KR 1020210179123A KR 20210179123 A KR20210179123 A KR 20210179123A KR 20230090446 A KR20230090446 A KR 20230090446A
Authority
KR
South Korea
Prior art keywords
ball
frames
processor
electronic device
strike zone
Prior art date
Application number
KR1020210179123A
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 KR1020210179123A priority Critical patent/KR20230090446A/ko
Publication of KR20230090446A publication Critical patent/KR20230090446A/ko

Links

Images

Classifications

    • 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/0002Training appliances or apparatus for special sports for baseball
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0021Tracking a path or terminating locations
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0062Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance
    • 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
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • G06V20/42Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items of sport video content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/46Extracting features or characteristics from the video content, e.g. video fingerprints, representative shots or key frames
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/49Segmenting video sequences, i.e. computational techniques such as parsing or cutting the sequence, low-level clustering or determining units such as shots or scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/48Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use
    • G10L25/51Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 specially adapted for particular use for comparison or discrimination
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0021Tracking a path or terminating locations
    • A63B2024/0028Tracking the path of an object, e.g. a ball inside a soccer pitch
    • 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/0002Training appliances or apparatus for special sports for baseball
    • A63B2069/0004Training appliances or apparatus for special sports for baseball specially adapted for particular training aspects
    • A63B2069/0006Training appliances or apparatus for special sports for baseball specially adapted for particular training aspects for pitching
    • 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/18Baseball, rounders or similar games
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30221Sports video; Sports image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Landscapes

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

Abstract

전자 장치는, 프로세서를 통해, 경기 정보를 포함하는 경기 로그를 획득하고, 투구 추적 장치로부터, 공의 궤적과 관련된 데이터를 획득하고, 외부 전자 장치로부터 동영상을 획득하고, 상기 경기 로그 및 상기 데이터에 기반하여, 상기 경기 로그와 상기 데이터를 매칭하고, 상기 경기 로그에 매칭된 상기 데이터에 기반하여, 상기 공의 궤적에 의해 나타나고, 상기 공이 통과하는, 가상의 스트라이크 존을 정규화하고, 상기 정규화된 스트라이크 존에 기반하여, 지정된 시점들의 공의 제1 위치들을 식별하고, 상기 동영상 및 상기 경기 로그에 기반하여, 상기 경기 로그에 대응되는 시점에서, 상기 동영상에 포함되고, 상기 공이 캡쳐된, 프레임들을 추출하고, 상기 추출된 프레임들로부터, 상기 지정된 시점들의 공의 제2 위치들을 식별하고, 상기 지정된 시점들에 식별된 공의 상기 제1 위치들과, 상기 제2 위치들에 기반하여, 상기 공과 구별되는 외부 객체 및 상기 공 사이의 상호 작용이 발생하는 시점에서의 상기 공의 제3 위치를 투구 정보 데이터 베이스에 저장할 수 있다. 이외 다른 실시예가 가능하다.

Description

투구 정보를 추출하는 전자 장치, 투구 추적 시스템 및 방법{ELECTRONIC DEVICE, PITCH TRACKING SYSTEM AND METHOD FOR EXTRACTING PITCHING INFORMATION}
일 실시예는, 투구 정보를 추출하는 전자 장치 및 방법에 관한 것이다.
야구 중계에 이용되는 장비들은, 시청자의 시각적인 이해도를 높이기 위하여, 투수로부터 포수를 향해 던져진 공의 궤적을 시청자에게 시각적으로 제공하고 있다. 상기 야구 중계에 이용되는 장비들은, 공의 궤적을 시각적으로 제공하면서, 공이 스트라이크 존의 통과 여부를 제공할 수 있다.
상기 야구 중계에 이용되는 장비들은, 시청자들이 보는 중계 화면에 오버랩되도록 정보를 제공할 뿐 만 아니라, 전력 분석을 위한 데이터를 생성할 수 있다.
종래의 야구 중계에 이용되는 장비들은, 투구 추적 시스템(PTS, pitch tracking system)을 이용하여, 야구공의 이동을 추적하여 생성된 정보를 제공할 수 있다. 투수와 포수의 사인 교환이후, 포수가 요구하는 위치와 실제 포구되는 공의 위치의 비교와 같은, 정보는 투구 추적 시스템으로는 획득하기 어려운 문제점이 존재하였다.
투구 추적 시스템 이외에, 경기 로그, 및/또는 중계 영상 등을 활용하여, 다양한 경기 정보를 제공하기 위한 방안이 필요하다.
일 실시예에 따른, 전자 장치는, 적어도 하나의 인스트럭션을 저장하는 메모리와, 상기 메모리와 작동적으로 결합된 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 인스트럭션이 실행될 때, 상기 프로세서는, 경기 정보를 포함하는 경기 로그를 획득하고, 투구 추적 장치로부터, 공의 궤적과 관련된 데이터를 획득하고, 외부 전자 장치로부터 동영상을 획득하고, 상기 경기 로그 및 상기 데이터에 기반하여, 상기 경기 로그와 상기 데이터를 매칭하고, 상기 경기 로그에 매칭된 상기 데이터에 기반하여, 상기 공의 궤적에 의해 나타나고, 상기 공이 통과하는, 가상의 스트라이크 존을 정규화하고, 상기 정규화된 스트라이크 존에 기반하여, 지정된 시점들의 공의 제1 위치들을 식별하고, 상기 동영상 및 상기 경기 로그에 기반하여, 상기 경기 로그에 대응되는 시점에서, 상기 동영상에 포함되고, 상기 공이 캡쳐된, 프레임들을 추출하고, 상기 추출된 프레임들로부터, 상기 지정된 시점들의 공의 제2 위치들을 식별하고, 상기 지정된 시점들에 식별된 공의 상기 제1 위치들과, 상기 제2 위치들에 기반하여, 상기 공과 구별되는 외부 객체 및 상기 공 사이의 상호 작용이 발생하는 시점에서의 상기 공의 제3 위치를 투구 정보 데이터 베이스에 저장할 수 있다.
일 실시예에 따른, 전자 장치의 방법은, 경기 정보를 포함하는 경기 로그를 획득하는 동작, 투구 추적 장치로부터, 공의 궤적과 관련된 데이터를 획득하는 동작, 외부 전자 장치로부터 동영상을 획득하는 동작, 상기 경기 로그 및 상기 데이터에 기반하여, 상기 경기 로그와 상기 데이터를 매칭하는 동작, 상기 경기 로그에 매칭된 데이터에 기반하여, 상기 공의 궤적에 의해 나타나고, 상기 공이 통과하는, 가상의 스트라이크 존을 정규화하는 동작, 상기 정규화된 스트라이크 존에 기반하여, 지정된 시점들의 공의 제1 위치들을 식별하는 동작, 상기 동영상 및 상기 경기 로그에 기반하여, 상기 경기 로그에 대응되는 시점에서, 상기 동영상에 포함되고, 상기 공이 캡쳐된, 프레임들을 추출하는 동작, 상기 추출된 프레임들로부터, 상기 지정된 시점들의 공의 제2 위치들을 식별하는 동작과, 상기 지정된 시점들에 식별된 공의 상기 제1 위치들과, 상기 제2 위치들에 기반하여, 상기 공과 구별되는 외부 객체 및 상기 공 사이의 상호 작용이 발생하는 시점에서의 상기 공의 제3 위치를 투구 정보 데이터 베이스에 저장하는 동작을 포함할 수 있다.
일 실시예에 따른, 투구 정보를 추출하는 전자 장치 및 방법은, 투수와 포수의 사인 교환에 따라 결정된, 포수의 요구 위치를 나타냄으로써, 실제 투구 위치와의 차이를 식별할 수 있고, 경기 영상으로의 시각적 제공할 수 있을 뿐만 아니라, 투수의 훈련에 활용 가능하고, 전력 분석에 활용에 필요한 정보를 제공할 수 있다.
또한, 투구 정보를 추출하는 전자 장치 및 방법은, 스트라이크 존을 통과하는 시점에서의 공의 위치를 정확하게 추출할 수 있다.
또한, 투구 정보를 추출하는 전자 장치 및 방법은, 투구 추적 시스템 또는 장치로 제공하지 못하는 공의 움직임과 무관한 정보를 제공할 수 있다.
도 1은, 일 실시예에 따른, 전자 장치의 블록도이다.
도 2는, 일 실시예에 따른, 전자 장치를 이용하여, 투구 정보를 추출하는 동작을 설명하기 위한 흐름도이다.
도 3은, 일 실시예에 따른, 전자 장치, 외부 전자 장치, 및 투구 추적 장치를 이용하여, 투구 정보를 추출하는 동작을 설명하기 위한 흐름도이다.
도 4는, 투구 추적 장치 및 경기 로그 정보를 매칭하는 동작을 설명하기 위한 예시를 나타낸다.
도 5는, 투구 추적 장치로부터 획득된 데이터를 가상의 스트라이크 존에 정규화하는 예시를 나타낸다.
도 6a는, 일 실시예에 따른, 전자 장치를 이용하여, 투구 영상을 분할하는 동작을 설명하기 위한 흐름도이다.
도 6b는, 분할된 투구 영상으로부터, 공의 이동을 나타내는 영상을 생성하는 동작을 설명하기 위한 흐름도이다.
도 7은, 뉴럴 네트워크를 통하여, 객체들을 추출하고, 추출된 객체들을 통해 공의 위치를 추적하는 예시를 나타낸다.
도 8은, 포수의 요구 위치를 검출하기 위한 동작을 설명하기 위한 예시를 나타낸다.
도 9는, 가상의 스트라이크 존을 통과할 때의 공의 위치를 검출하기 위한 동작을 설명하기 위한 흐름도이다.
도 10은, 포수 요구 위치와 스트라이크 존을 통과하는 공을 가상의 스트라이크 존 상에 정규화하는 동작을 설명하기 위한 예시를 나타낸다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시예들에 대해서 특정한 구조적 또는 기능적 설명들은 단지 본 발명의 개념에 따른 실시예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시예들은 다양한 형태로 실시될 수 있으며 본 명세서에 설명된 실시예들에 한정되지 않는다.
본 발명의 개념에 따른 실시예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시예들을 도면에 예시하고 본 명세서에 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시예들을 특정한 개시형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어를 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만, 예를 들어 본 발명의 개념에 따른 권리 범위로부터 이탈되지 않은 채, 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소는 제1 구성요소로도 명명될 수 있다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. 구성요소들 간의 관계를 설명하는 표현들, 예를 들어 "~사이에"와 "바로~사이에" 또는 "~에 직접 이웃하는" 등도 마찬가지로 해석되어야 한다.
본 명세서에서 사용한 용어는 단지 특정한 실시예들을 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 설시된 특징, 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것이 존재함으로 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가진다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 실시예들을 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 특허출원의 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
도 1은 다양한 실시예들에 따른 전자 장치들의 블록도이다. 도 1을 참고하면, 일 실시예에 따른 전자 장치(101)는 프로세서(110), 메모리(120), 디스플레이(130) 또는 통신 회로(140) 중 적어도 하나를 포함할 수 있다. 프로세서(110), 메모리(120), 디스플레이(130) 및 통신 회로(140)는 통신 버스(a communication bus)와 같은 전자 소자(electronical component)에 의해 서로 전기적으로 및/또는 작동적으로 연결될 수 있다(electronically and/or operably coupled with each other). 전자 장치(101)에 포함된 하드웨어 컴포넌트의 타입 및/또는 개수는 도 1에 도시된 바에 제한되지 않는다. 예를 들어, 전자 장치(101)는 도 1에 도시된 하드웨어 컴포넌트 중 일부만 포함할 수 있다.
일 실시예에 따른 전자 장치(101)의 프로세서(110)는 하나 이상의 인스트럭션에 기반하여 데이터를 처리하기 위한 하드웨어 컴포넌트를 포함할 수 있다. 데이터를 처리하기 위한 하드웨어 컴포넌트는, 예를 들어, ALU(Arithmetic and Logic Unit), FPGA(Field Programmable Gate Array) 및/또는 CPU(Central Processing Unit)를 포함할 수 있다. 프로세서(110)의 개수는 하나 이상일 수 있다. 예를 들어, 프로세서(110)는 듀얼 코어(dual core), 쿼드 코어(quad core) 또는 헥사 코어(hexa core)와 같은 멀티-코어 프로세서의 구조를 가질 수 있다.
일 실시예에 따른 전자 장치(101)의 메모리(120)는 프로세서(110)에 입력 및/또는 출력되는 데이터 및/또는 인스트럭션을 저장하기 위한 하드웨어 컴포넌트를 포함할 수 있다. 메모리(120)는, 예를 들어, RAM(Random-Access Memory)와 같은 휘발성 메모리(Volatile Memory) 및/또는 ROM(Read-Only Memory)와 같은 비휘발성 메모리(Non-Volatile Memory)를 포함할 수 있다. 휘발성 메모리는, 예를 들어, DRAM(Dynamic RAM), SRAM(Static RAM), Cache RAM, PSRAM (Pseudo SRAM) 중 적어도 하나를 포함할 수 있다. 비휘발성 메모리는, 예를 들어, PROM(Programmable ROM), EPROM (Erasable PROM), EEPROM (Electrically Erasable PROM), 플래시 메모리, 하드디스크, 컴팩트 디스크, eMMC(Embedded Multi Media Card) 중 적어도 하나를 포함할 수 있다.
일 실시예에 따른 전자 장치(101)의 메모리(120) 내에서, 프로세서(110)가 데이터에 수행할 동작을 나타내는 인스트럭션이 하나 이상 저장될 수 있다. 인스트럭션의 집합은, 펌웨어, 운영 체제, 프로세스, 루틴, 서브-루틴 및/또는 어플리케이션으로 참조될 수 있다. 예를 들어, 전자 장치(101) 및/또는 전자 장치(101)의 프로세서(110)는 어플리케이션 형태로 배포된 복수의 인스트럭션의 집합(set of a plurality of instructions)을 실행하여, 도 2, 도 3, 도 6 및/또는 도 9의 동작들 중 적어도 하나를 수행할 수 있다.
일 실시예에 따른 전자 장치(101)의 메모리(120) 내에, 뉴럴 네트워크(125)와 관련된 파라미터들의 집합이 저장될 수 있다. 뉴럴 네트워크(125)는, 많은 수의 인공 뉴런(또는, 노드)들을 이용하여 생물학적인 시스템의 계산 능력을 모방하는 소프트웨어나 하드웨어로 구현된 인식 모델이다. 뉴럴 네트워크(125)는 인공 뉴런들을 통해 인간의 인지 작용이나 학습 과정을 수행할 수 있다. 뉴럴 네트워크(125)와 관련된 파라미터들은, 예를 들어, 뉴럴 네트워크(125)에 포함된 복수의 노드들 및/또는 상기 복수의 노드들 사이의 연결에 할당되는(assigned) 가중치를 나타낼 수 있다. 메모리(120) 내에 저장된 뉴럴 네트워크(125)의 개수는, 도 1에 도시된 바에 제한되지 않으며, 복수의 뉴럴 네트워크들 각각에 대응하는 파라미터들의 집합들이 메모리(120) 내에 저장될 수 있다.
일 실시예에 따른 전자 장치(101)의 통신 회로(140)는 전자 장치(101) 및 외부 전자 장치 사이의 전기 신호의 송신 및/또는 수신을 지원하기 위한 하드웨어 컴포넌트를 포함할 수 있다. 통신 회로(140)는, 예를 들어, 모뎀(MODEM), 안테나, O/E(Optic/Electronic) 변환기 중 적어도 하나를 포함할 수 있다. 통신 회로(140)는, 이더넷(ethernet), LAN(Local Area Network), WAN(Wide Area Network), WiFi(Wireless Fidelity), Bluetooth, BLE(Bluetooth Low Energy), ZigBee, LTE(Long Term Evolution), 5G NR(New Radio)와 같은 다양한 타입의 프로토콜에 기반하여 전기 신호의 송신 및/또는 수신을 지원할 수 있다.
일 실시예에 따른 전자 장치(101)는 뉴럴 네트워크(125)를 이용하여, 영상 또는 이미지로부터, 객체를 식별할 수 있다. 뉴럴 네트워크(125)는, CNN(convolution neural network), LSTM(Long-Short Term Memory) 및/또는 RNN(recurrent neural network)일 수 있다.
일 실시예에 따른 전자 장치(101)는, 뉴럴 네트워크(125)를 이용하여, 입력 영상 또는 이미지에 기반하여, 영상 또는 이미지 내의 객체들을 식별할 수 있다. 예를 들면, 입력 영상 또는 이미지는, 스포츠 중계 영상일 수 있다. 전자 장치(101)는 스포츠 중계 영상 또는 이미지 중에서, 객체별로 구분하여, 라벨링할 수 있다. 전자 장치(101)는, 스포츠 중계 영상 또는 이미지 내에서, 공, 글러브, 배트, 타자, 및/또는 투수 등과 같은 객체들을 식별할 수 있고, 식별된 객체의 움직임 또는 위치를 획득할 수 있다.
도 2는, 일 실시예에 따른, 전자 장치(101)를 이용하여, 투구 정보를 추출하는 동작을 설명하기 위한 흐름도이다.
전자 장치(101)는, 야구 경기에서의 투구 정보를 획득하여, 사용자에게 다양한 정보를 제공할 수 있다. 전자 장치(101)는, 추출된 투구 정보들을 가공하여, 데이터 베이스에 저장하는 장치일 수 있다. 상기 투구 정보는, 투수로부터 포수를 향해 이동하는 공의 움직임과 관련된 정보를 포함할 수 있다. 전자 장치(101)는, 공의 움직임뿐만 아니라, 주변 환경정보를 획득할 수 있다. 예를 들면, 전자 장치(101)는, 포수의 투구 요구 위치, 상기 요구 위치와 실제 투구 위치와의 차이의 식별을 통해, 시청자 또는 야구 관계자에게 정보를 제공할 수 있다.
동작 201에서, 프로세서(110)는, 경기 정보를 포함하는 경기 로그를 획득할 수 있다. 동작 203에서, 프로세서(110)는, 투구 추적 장치로부터 공의 위치와 관련된 데이터를 획득할 수 있다. 동작 205에서, 프로세서(110)는, 외부 전자 장치(예, 투구 추적 장치와 다른 외부 전자 장치)로부터 수신된 동영상(예, 야구 경기의 중계 영상, 및/또는 녹화 영상)에 기반하여, 공의 위치와 관련된 이미지를 포함하는 프레임들을 획득할 수 있다. 동작들 201, 203, 205의 순서는, 도 2의 순서에 제한되지 않으며, 동작들 201, 203, 205은, 실시예에 따라, 실질적으로 동시에, 및/또는 독립적으로 수행될 수 있다.
일 실시예에 따르면, 전자 장치(101)는, 입력 장치를 통해 경기 로그를 입력 받거나, 외부 전자 장치로부터 제공되는 컨텐츠로부터 경기 로그를 추출할 수 있다.
상기 경기 로그는, 야구 경기를 시간 순서대로, 이벤트를 기록한 정보를 의미할 수 있다. 프로세서(110)는, 상기 경기 로그를, 외부 입력을 통해 수신할 수 있지만 이에 한정되지 않는다. 일 실시예에 따르면, 프로세서(110)는, 메모리(120)에 저장된 녹화 영상으로부터, 텍스트 및 이미지를 추출하여, 경기 로그를 생성할 수 있다. 예를 들면, 프로세서(110)는, 동영상에 표시되는, 경기 이닝, 볼 카운터 등을 식별하여, 경기 로그를 생성할 수 있다.
일 실시예에 따르면, 전자 장치(101)는, 통신 회로(140)를 통해, 투구 추적 장치와 통신 채널을 수립하여(by establishing), 공의 위치와 관련된 데이터를 획득할 수 있다. 유사하게, 전자 장치(101)는 외부 전자 장치와 통신 채널을 수립하여, 동영상을 수신할 수 있다.
투구 추적 장치는, 투구 추적 시스템(PTS, pitch tracking system)이거나, 및/또는 투구 추적 시스템을 이루는 장치일 수 있다. 투구 추적 장치는, 경기장 내의 야구공의 움직임을 추적하여 생성된 정보를 제공할 수 있다.
외부 전자 장치로부터 수신된 동영상은, 야구 중계 영상일 수 있다. 외부 전자 장치는, 중계 카메라들이거나, 중계 카메라들로부터 수신한 영상을 통합하고, 가공하여 외부로 전송하는 서버일 수 있다. 공의 위치와 관련된 이미지는, 공이 포함된 이미지일 수 있다. 예를 들면, 상기 공의 위치와 관련된 이미지들은, 투수로부터 포수로 던져진 공이 캡쳐된 이미지들일 수 있다.
일 실시예에 따르면, 전자 장치(101)는, 외부 전자 장치로부터 수신된 동영상, 경기 로그 및 투구 추적 장치로부터 획득된 데이터에 기반하여, 투구 정보 데이터 베이스를 구축할 수 있다. 투구 정보 데이터 베이스는, 포수 요구 위치, 포수의 포구 위치, 및/또는 투구 위치를 포함할 수 있다. 투구 정보를 형성하는 동작과 관련하여서는, 도 2 내지 도 10에 기반하여 설명한다.
동작 207에서, 프로세서(110)는, 경기 로그에 매칭된 데이터에 기반하여, 공의 궤적에 의해 나타나고, 공이 통과하는 가상의 스트라이크 존을 정규화할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 상기 경기 로그와, 상기 투구 추적 장치로부터 수신한 공의 궤적과 관련된 데이터를 매칭할 수 있다. 프로세서(110)는 입력되거나, 외부 전자 장치로부터 수신한 데이터로부터 획득한 경기 로그로부터, 투구 관련 정보만 따로 추출할 수 있다. 예를 들면, 프로세서(110)는, 경기 로그에 포함된 데이터 중, 볼/스트라이크 판정, 헛스윙, 파울 또는 타격과 관련된 정보를 추출할 수 있다. 프로세서(110)는, 경기 로그로부터 추출된 로그의 이벤트 시퀀스 넘버에 대응되는 상기 투구 추적 장치의 투구 위치 데이터를 매칭시킬 수 있다.
일 실시예에 따르면, 프로세서(110)는, 매칭된 투구 위치 데이터로부터, 경기 로그의 시퀀스 넘버에 대응되는 공의 투구 위치와 관련된 데이터를 추출할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 공의 궤적 및 공들이 통과하는 가상의 스트라이크 존을 형성할 수 있다. 프로세서(110)는, 가상의 스트라이크 존을, 투구 추적 장치로부터 획득된 데이터로부터, 정규화할 수 있다. 예를 들면, 프로세서(110)는, 투구 추적 장치에 기록된 스트라이크 존의 높이, 홈플레이트의 크기에 기반하여, 스트라이크 존을 정규화할 수 있다. 프로세서(110)는, 상기 데이터에 기반하여, 실제 단위로 표현된 스트라이크 존을 가상의 스트라이크 존으로 정규화할 수 있다. 프로세서(110)는, 공의 궤적 또는 공의 위치를 정규화된 가상의 스트라이크 존에 기반하여, 표현할 수 있다.
동작 209에서, 프로세서(110)는, 정규화된 스트라이크 존 및 공의 위치에 기반하여, 지정된 시점들의 공의 제1 위치들을 식별할 수 있다.
상기 제1 위치는, 스트라이크 존을 통과할 때 공의 위치를 포함할 수 있다. 예를 들면, 상기 제1 위치들은, 상기 스트라이크 존으로 향하는 공의 궤적을 나타낼 수 있다. 예를 들어, 상기 제1 위치는, 홈 플레이트를 통과하는 시점에서의 정규화된 스트라이크 존에 표시되는 공의 위치를 포함할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 투구 추적 시스템의 실 단위(예: m 단위 또는 ft단위)로 기록된 데이터 값을, 픽셀 좌표로 표현된 고정된 스트라이크 존으로 정규화할 수 있다.
프로세서(110)는, 정규화된 투구 위치 정보를 검색의 용이성을 높이기 위하여, 경기 로그 정보와 공의 위치 정보를 통합한 정보를 생성하여, 메모리(120)에 저장할 수 있다.
동작 211에서, 프로세서(110)는, 프레임들과 경기 로그에 기반하여, 경기 로그에 대응되는 시점에서 상기 동영상에 포함되고, 상기 공이 캡쳐된, 프레임들을 추출할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 외부 전자 장치로부터 수신 받은 야구 중계 영상으로부터, 야구 중계 영상을 프레임별로 분할할 수 있다. 다른 실시예에 따르면, 프로세서(110)는, 외부 전자 장치로부터 수신 받은 야구 중계 영상으로부터, 야구 중계 영상을 샷 단위로 분할할 수 있다. 샷 단위는, 하나의 장치로 촬영된 영상(예, 야구 중계 영상의 단일 컷 신(single cut scene))을 의미할 수 있다. 예를 들면, 야구 중계 영상은, 포수 시점에 위치한 카메라가 촬영한 영상, 투수 시점에 위치한 카메라가 촬영한 영상, 외야 카메라가 촬영한 영상 등의 다양한 영상들의 조합으로 형성될 수 있다. 샷 단위는, 카메라들에 의해 촬영된 영상들의 조합 중에서, 단일 카메라가 촬영한 구간을 의미할 수 있다. 예를 들면, 중계 영상은, 제1 카메라로 촬영된 영상이 포함되는 제1 구간과 장면 전환되어, 제2 카메라로 촬영된 영상이 포함되는 제2 구간을 포함할 수 있다. 샷은, 상기 제1 구간의 영상 또는 제2 구간의 영상을 의미할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 샷 단위의 영상 또는 프레임들을 분류하여, 투구 영상을 추출할 수 있다. 프로세서(110)는, 샷 단위의 영상 중 투수 및/또는 포수가 포함되는 영상들 중에서, 공이 이동하는 영상을 선별할 수 있다. 프로세서(110)는, 프레임들 중에서, 공이 캡쳐된 프레임들을 추출할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 동작 201의 경기 로그 및 동작 205의 동영상을 비교하여, 경기 로그에 의해 나타나는 시점들(예, 공의 이동이 있는 시점들) 중에서 매칭되는 투구 영상이 존재하지 않는 시점이 존재하는 경우, 투구 추적 장치의 로그 기록에 기반하여 동작 205의 동영상으로부터, 상기 투구 영상이 존재하지 않는 시점에 대응하는 일부분을 추출할 수 있다. 예를 들면, 프로세서(110)는, 경기 로그의 상기 시점들 중에서 투구 영상 또는 프레임과 매칭되지 않는 시점을 식별하고, 상기 식별된 시점의 전/후에 생성된 영상 또는 프레임과, 상기 투구 추적 장치의 로그 기록에 포함된 타임 스탬프 차이를 이용하여, 동작 205의 동영상으로부터 투구 영상을 더 추출할 수 있다(may further extract).
동작 213에서, 프로세서(110)는, 상기 추출된 프레임들로부터, 지정된 시점들의 공의 제2 위치들을 식별할 수 있다.
일 실시예에 따르면, 프로세서(110)는 추출된 샷 단위의 영상 또는 추출된 프레임들로부터, 지정된 시점에서 또는 지정된 존(예: 스트라이크 존)을 포함하는 평면을 통과하는 공의 제2 위치를 식별할 수 있다.
일 실시예에 따르면, 상기 제2 위치는, 상기 동영상에 포함된 공의 궤적을 나타내는 위치일 수 있다. 상기 프로세서(110)가 상기 지정된 시점에 촬영된 영상들로부터 획득하는 제2 위치는, 투구 위치를 포함할 수 있다. 상기 투구 위치는, 투수로부터 출발한 공이 스트라이크 존을 포함하는 평면을 지날 때의 공의 위치일 수 있다.
프로세서(110)는, 공의 제2 위치들뿐만 아니라, 동영상으로부터 추출된 프레임들 또는 영상으로부터 포수 요구 위치를 식별할 수 있다. 상기 포수 요구 위치는, 포수와 투수의 사인 교환에 따른, 포수가 요구하는 위치일 수 있다. 예를 들면, 포수 요구 위치는, 포수가 지정된 제스쳐를 수행할 때, 글러브의 위치일 수 있다.
동작 215에서, 프로세서(110)는, 상기 제1 위치들과 상기 제2 위치들에 기반하여, 상기 공과 구별되는 외부 객체 및 상기 공 사이의 상호 작용이 발생하는 시점에서의 상기 공의 제3 위치들을 투구 정보 데이터 베이스에 저장할 수 있다.
프로세서(110)는, 정규화된 스트라이크 존으로, 상기 제1 위치, 상기 제2 위치를 정규화할 수 있고, 정규화된 제1 위치 및 제2 위치를 투구 정보 데이터 베이스에 저장할 수 있다.
상기 제1 위치는, 투구 추적 장치에 포함되는 공의 궤적으로부터 획득된 위치일 수 있다. 상기 제2 위치는, 동영상으로부터 추출한 공의 궤적으로부터 획득된 위치일 수 있다. 제1 위치는, 정규화된 공의 궤적에 대응되는 위치일 수 있고, 제2 위치는, 이미지로부터 획득된 상대적인 위치일 수 있다. 제2 위치는 상기 제1 위치를 기준으로 정규화될 수 있다. 예를 들면, 프로세서(110)는, 공의 궤적에 따른 제2 위치를 투구 영상 또는 프레임으로부터 추출하여, 정규화 된 제1 위치와 일치를 시킬 수 있다. 프로세서(110)는, 공의 궤적에 따른 지정된 시점에서의 제1 위치와 제2 위치를 비교하여, 동일한 좌표를 부여하고, 상기 지정된 시점 이외의 제2 위치와 상기 지정된 시점에서의 제2 위치의 상대 거리를 계산하여, 상기 지정된 시점 이외의 공의 좌표를 산출하여, 정규화할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 상기 산출된 공의 좌표들을 통하여, 공이 외부 객체와 상호 작용을 하는 시점에서 공의 제3 위치를 추출할 수 있다. 외부 객체는, 글러브 또는 배트를 포함할 수 있다. 공과 외부 객체의 상호 작용은, 공과 외부 객체가 충돌하여, 공의 움직임이 변화하는 것을 의미할 수 있다. 제3 위치는 포구 위치 및 배팅 위치를 포함할 수 있다. 예를 들면, 상기 지정된 시점들은, 상기 공이 포수의 글러브 또는 타자의 배트를 포함하는 상기 외부 객체에 접하는 시점을 포함할 수 있다. 프로세서(110)는, 공이 외부 객체인 포수의 글러브와 만날 때의 상기 공의 위치(예, 포구 위치)인 제3 위치를 식별할 수 있다. 프로세서(110)는, 공이 타자의 배트와 만날 때의 상기 공의 위치(예, 배팅 위치)인제3 위치를 식별할 수 있다. 프로세서(110)는 식별된 공의 상기 제3 위치를 투구 정보 데이터 베이스에 저장할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 상기 제3 위치 이외에, 투구 위치, 포구 위치 및 포수 요구 위치를 상기 정규화하여, 상기 투구 위치, 상기 포구 위치 및 상기 포수 요구 위치의 좌표를 획득할 수 있다. 프로세서(110)는, 공의 궤적에 따른 지정된 시점에서의 제1 위치와 제2 위치를 비교하여, 동일한 좌표를 부여하고, 상기 투구 위치, 상기 포구 위치 및/또는 상기 포수 요구 위치와 상기 제2 위치 사이의 상대 거리를 계산하여, 상기 투구 위치, 상기 포구 위치 및/또는 상기 포수 요구 위치의 정규화된 좌표를 획득하여, 투구 정보 데이터 베이스에 저장할 수 있다. 일 실시예에 따르면, 프로세서(110)는, 홈 플레이트의 위치에 기반하여, 정규화된 좌표를 획득할 수 있다. 프로세서(110)가 상기 정규화된 좌표를 획득하는 동작은 도 5를 참고하여 후술된다.
도 3은, 일 실시예에 따른, 전자 장치(예, 도 1의 전자 장치(101)), 외부 전자 장치, 및 투구 추적 장치를 이용하여, 투구 정보를 추출하는 동작을 설명하기 위한 흐름도이다.
도 3을 참조하면, 투구 추적 시스템(30)은, 전자 장치(101), 투구 추적 장치(200), 및 외부 전자 장치(300)를 포함할 수 있다.
외부 전자 장치(300)는, 야구 경기의 중계를 위한 영상을 촬영하거나, 또는 다른 전자 장치에 의해 촬영된 영상을 획득할 수 있다. 예를 들어, 외부 전자 장치(300)는 야구 경기에 대한 상기 영상을 중계하는 서버를 포함할 수 있다. 투구 추적 장치(200)는, 야구 경기 내의 공의 움직임을 추적할 수 있다. 투구 추적 장치(200)는 복수의 카메라들 또는 복수의 레이저들을 이용하여, 공의 위치를 추적할 수 있다. 예를 들어, 투구 추적 장치(200)는, 야구 경기가 발생되는 경기장에 배치, 및/또는 포함될 수 있다.
동작 301에서, 외부 전자 장치(300)는, 중계 영상을 촬영할 수 있다. 동작 301은, 도 2의 동작 205와 유사할 수 있다. 외부 전자 장치(300)는, 전자 장치(101)와 통신 회로(예: 도 1의 통신 회로(140))를 통해 연결되어, 촬영된 중계 영상인 동영상을 전자 장치(101)로 전송할 수 있다. 하지만, 이에 한정되지 않고, 외부 전자 장치(300)로부터 촬영된 동영상을 전자 장치(101)내에 저장하여 영상을 활용할 수 있다. 전자 장치(101)와 통신 회로를 통해 연결되는 경우, 프로세서(110)는 실시간으로 중계 영상에 투구 위치, 포수 요구 위치 등을 중첩할 수 있다. 일 실시예에 따르면, 전자 장치(101)가 중계 장치를 통해 녹화 영상을 처리하는 경우, 전자 장치(101)는, 녹화 영상을 상기 정보들을 포함하는 영상으로 후 처리하거나, 야구 관계자에게 제공될 데이터를 형성하는데 이용될 수 있다.
동작 303에서, 전자 장치(101)는 경기 로그를 획득할 수 있다. 전자 장치(101)는, 경기 기록과 관련된 정보를 입력 장치를 통해 획득하거나, 통신 회로(140)를 통해 외부로부터 수신 받을 수 있다. 동작 303은, 도 2의 동작 201과 유사할 수 있다.
동작 305에서, 투구 추적 장치(200)는, PTS 정보를 획득할 수 있다. 동작 305는, 도2의 동작 203과 유사할 수 있다. PTS정보는, 복수의 투구 추적 카메라들을 통해 획득될 수 있다. 하지만 이에 한정되지 않고, 경기장에 배치되는 복수의 레이더들을 활용하여(예: 복수의 레이더들을 포함하는 트랙맨(trackman)을 활용하여), PTS정보는 획득될 수 있다. 일 실시예에서, PTS 정보는, 공의 움직임, 공의 위치, 공의 속도 등과 같이, 공의 움직임과 관련된 복합적인 정보를 제공할 수 있다.
동작 307에서, 전자 장치(101)는 PTS 정보 및 경기로그를 매칭하고, 정규화된 실제 투구 위치를 추출할 수 있다. 동작 307은, 도 2의 동작 207과 유사할 수 있다.
프로세서(110)는, PTS 정보 및 경기 로그를 매칭하기 위하여, 경기 로그로부터 투구 관련 정보만 따로 추출할 수 있다. 프로세서(110)는, 경기 로그로부터 추출된 로그의 이벤트 시퀀스 넘버에 대응되는 PTS 정보를 매칭시킬 수 있다.
일 실시예에 따르면, 프로세서(110)는, 매칭된 PTS 정보로부터, 경기 로그의 시퀀스 넘버에 대응되는 공의 투구 위치와 관련된 데이터를 추출할 수 있다. 프로세서(110)는, 투구 위치를 추출하면서, 스트라이크 존을 정규화할 수 있다. 프로세서(110)는, 실제 치수로 기입된 스트라이크 존을 pixel 단위로 정규화하고, 정규화된 스트라이크 존에 투구 위치를 정규화하여 표시할 수 있다.
동작 309에서, 전자 장치(101)는, 중계 영상의 분할을 수행하고, 투구 위치, 포수 요구 위치, 및 포구 위치를 추정할 수 있다. 프로세서(110)는, 외부 전자 장치(300)로부터 촬영된 중계 영상을 수신할 수 있다. 프로세서(110)는, 전자 장치(101)의 저장 장치(예: 메모리(120))에 저장될 중계 영상을 활용할 수 있다. 동작 309는, 동작 209, 동작 211 및 동작 213과 유사할 수 있다.
일 실시예에 따르면, 전자 장치(101)는, 수신한 중계 영상을 프레임 단위 별 또는 샷 단위별로 분할할 수 있고, 분할된 영상으로부터, 공이 이동하는 영상을 포함하는 샷, 또는 공이 캡쳐된 프레임들을 선별할 수 있다.
상기 선별된 샷 또는 프레임들을 이용하여, 프로세서(110)는, 투구 위치, 포수 요구 위치 및 포구 위치를 추정할 수 있다.
동작 311에서, 전자 장치(101)는, 정규화된 포수 요구 위치 및 포구 위치를 추출할 수 있다. 전자 장치(101)는, 동작 307에서, 생성한 정규화된 스트라이크 존에 포수 요구 위치 및 포구 위치를 정규화할 수 있다. 예를 들면, 전자 장치(101)의 프로세서(110)는, 포구 위치인, 공과 포수 글러브가 상호 작용하는 위치를, 가상의 스트라이크 존을 포함하는 평면에 정사영하여, 상기 평면 상에서의 공의 위치를 나타내는 정규화된 포구 위치를 획득할 수 있다.
전자 장치(101)는, 포구 위치 및 포수 요구 위치뿐만 아니라, 배팅 위치를 정규화할 수 있다. 예를 들면, 전자 장치(101)의 프로세서(110)는, 배팅 위치인, 공과 타자의 배트가 상호 작용하는 위치를, 가상의 스트라이크 존을 포함하는 평면에 정사영하여, 상기 평면 상에서의 공의 위치를 나타낸 배팅 위치를 획득할 수 있다.
전자 장치(101)는, 상기 가상의 스트라이크 존을 포함하는 평면에 정사영된 공의 위치들을, 정규화된 스트라이크 존의 공의 위치들로 정규화할 수 있다. 가상의 스트라이크 존에 표시된 공의 위치들로부터, 정규화된 스트라이크 존의 공의 위치들로 정규화하는 방법은, 후술할 도 5에서 설명한다.
동작 313에서, 전자 장치(101)는, 정규화된 투구 위치, 포수 요구 위치 및 포구 위치를 투구 정보 데이터 베이스에 저장할 수 있다. 동작 313에 기반하여 생성된 투구 정보 데이터 베이스에 액세스하는 동작은, 후술할 도 10에서 설명한다.
도 4는, 투구 추적 장치 및 경기 로그 정보를 매칭하는 동작을 설명하기 위한 예시를 나타내고, 도 5는, 투구 추적 장치로부터 획득된 데이터를 가상의 스트라이크 존에 정규화하는 예시를 나타낸다.
도 4를 참조하면, 경기 로그(410) 및 투구 추적 장치로부터 획득된 PTS 정보(420)의 일 예가 도시된다. 경기 로그(410)는, 야구 경기에서 발생하는 이벤트(예, 투구 이벤트)를 순차적으로 기록한 정보들의 집합일 수 있다. 경기 로그(410)는, 이벤트의 시퀀스 넘버, 상기 이벤트가 발생된 시간(예, 타임스탬프), 게임관련 정보, 이닝, 아웃 카운터, 볼 카운터, 스트라이크 카운터 등을 포함할 수 있다.
PTS 정보(420)는, 시퀀스 넘버, 스트라이크 존의 사이즈, 스트라이크 존을 통과할 때의 공의 좌표를 포함할 수 있다.
프로세서(110)는, 경기 로그(410)에서 투구 관련 정보인, 투구된 공에 대한 스트라이크, 볼, 히팅 또는 헛스윙 여부와 같은 정보를 추출할 수 있다. 프로세서(110)의 상기 정보의 추출은, 경기 로그(410)에 포함된 시퀀스 넘버 및 PTS 정보(420)에 공통적으로 포함되고, 서로 동기화된, 시퀀스 넘버에 기반하여 수행될 수 있다. 일 실시예에서, 프로세서(110)는, 경기 로그(410)의 시퀀스 넘버(예: seq_no : 372)에 대응되는 PTS 정보(420)의 시퀀스 넘버("SEQ_NO" : 372)에 포함되는 투구 위치 데이터를 추출할 수 있다. 프로세서(110)는, PTS 정보(420)에 포함된 feet 단위 m단위로 기록된 데이터 값을 스트라이크 존에 정규화할 수 있다.
도 5를 참조하면, PTS 좌표는 실제 단위에 기반하여 구성된 좌표일 수 있다. 프로세서(110)는, PTS 좌표에 기반하여, 스트라이크 존(510)의 상단 위치를 3.115ft(0.95m)로 식별하고, 스트라이크 존의 하단 위치를 1.492ft(0.455m)로 식별할 수 있다. 프로세서(110)는 PTS 정보를 통하여, 스트라이크 존을 통과한 공의 좌표는, 좌측으로 0.45ft, 상단으로 2.02ft로 산출할 수 있다. 프로세서(110)는, 상기 산출된 좌표를 투구 위치로 결정할 수 있다. 프로세서(110)는, PTS 좌표의 원점을, 스트라이크 존을 포함하는 평면에 정사영된 홈 플레이트의 중심으로 결정할 수 있다. 프로세서(110)는, 상기 원점과 상기 투구 위치의 좌표를 획득할 수 있다. 프로세서(110)는, 투구 위치 이외에, 포구 위치 및 포수 요구 위치를, 홈 플레이트의 중심을 기준으로 정규화한 좌표를 제공할 수 있다. 예를 들면, 프로세서(110)는, 중계 영상으로부터, 상기 PTS 좌표의 원점에 대응되는 홈 플레이트의 중심으로부터 포수 요구 위치 또는 포구 위치까지의 영상 상의 상대 거리 및 방향을 포함하는 벡터를 획득할 수 있다. 프로세서(110)는, 홈 플레이트의 가로 길이를 기준으로, 상기 상대 거리 및 실제 거리와의 비율을 획득할 수 있다. 상기 획득된 벡터와 상기 비율을 바탕으로, 프로세서(110)는, 포수 요구 위치 및 포구 위치를 정규화할 수 있다.
정규화된 스트라이크 존(520)은, 픽셀 단위로 변환된 영상에서 표시를 위한 좌표로 정규화된 스트라이크 존일 수 있다. 프로세서(110)는, 스트라이크 존을, 정규화된 픽셀 좌표로 표시할 수 있다. 프로세서(110)는 정규화된 스트라이크 존에 투구 위치를 표시할 수 있다. 정규화된 스트라이크 존(520)은 투수 시점 또는 포수 시점에 따라, 좌우 반전될 수 있다.
도 6a는, 일 실시예에 따른 전자 장치를 이용하여, 투구 영상을 분할하는 동작을 설명하기 위한 흐름도이다. 도 6b는, 분할된 투구 영상으로부터, 공의 이동을 나타내는 영상을 생성하는 동작을 설명하기 위한 흐름도이다. 도 6a 내지 도 6b의 동작들은 도 1의 전자 장치(101) 및/또는 프로세서(110)에 의해 수행될 수 있다. 도 6a를 참조하면, 프로세서(110)는, 경기 로그의 타임 스탬프와 야구 중계 영상이 캡쳐된 시점의 차이에 기반하여, 투구 장면을 추출할 수 있다.
도 6a를 참고하면, 동작 601에서, 프로세서(110)는, 동영상의 프레임들을, 샷 단위에 따라 그룹핑하여 분할할 수 있다. 일 실시예에 따르면, 프로세서(110)는, 외부 전자 장치로부터 수신된 동영상의 프레임들을, 투구 영상이 포함되는 샷 단위의 영상들로 분할할 수 있다. 프로세서(110)는, 분할된 영상들로부터, 복수의 프레임들을 획득할 수 있다. 일 실시예에서, 프로세서(110)는, 분할된 프레임들을, 샷 단위별로 그룹핑 할 수 있다. 외부 전자 장치로부터 수신된 동영상으로부터 분할된 프레임들을 포함하는 그룹들이 제1 그룹들로 정의될 수 있다.
동작 603에서, 프로세서(110)는, 샷 단위의 프레임들의 제1 그룹들 중에서, 투구 영상에 대응하는, 하나 이상의 제2 그룹들을 식별할 수 있다. 상기 하나 이상의 제2 그룹들은, 야구 중계 영상 내에서 상이한 투구 이벤트들이 캡쳐된 샷들 각각에 대응할 수 있다.
일 실시예에 따르면, 외부 전자 장치로부터 수신한 동영상은, 공이 캡쳐된 프레임들을 포함하거나, 공이 캡쳐되지 않은 프레임들을 포함할 수 있다. 프로세서(110)는, 중계 영상을 이루는 샷 단위의 프레임들의 제1 그룹들 중에서, 공이 캡쳐된 프레임들을 포함하는 제2 그룹들을 식별할 수 있다. 예를 들어, 제2 그룹들에 포함된 프레임들은, 투구 영상이 캡쳐되고, 샷 단위로 그룹핑된, 프레임들일 수 있다. 상기 제2 그룹들에 포함된 프레임들은, 공이 투수로부터 출발된 이후 포수에 의해 포구될 때까지의 궤적을 포함할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 뉴럴 네트워크(125)를 이용하여, 동영상의 전체 샷들 각각에 대응하는 프레임들의 제1 그룹들 중에서, 외부 객체인 공을 포함하는 하나 이상의 제2 그룹들을 식별할 수 있다. 프로세서(110)는, 뉴럴 네트워크(125)를 이용하여, 공을 포함하는 프레임들을 식별할 수 있고, 상기 식별된 프레임들이 포함된 제2 그룹들을 식별할 수 있다. 투구 영상에 대응하는 제2 그룹들은, 투수로부터 투구된 공이 캡쳐된 프레임들을 포함할 수 있다.
동작 605에서, 프로세서(110)는, 경기 로그로부터 투구 영상이 캡쳐된 제1 시점들을 식별할 수 있다. 일 실시예에 따르면, 프로세서(110)는, 경기 로그(예, 도 4의 경기 로그(410))에서 시퀀스 넘버에 의해 구별되는 이벤트들로부터, 투구 영상이 캡쳐된 프레임들의 절대 시간을 나타내는 제1 시점들을 식별할 수 있다. 상기 제1 시점들은, 투수에 의한 투구가 경기 로그와 관련된 경기 중 발생된 시점들 전부를 나타낼 수 있다.
동작 607에서, 프로세서(110)는, 식별된 제1 시점들 중에서, 제2 그룹들에 매칭되지 않는 하나 이상의 제2 시점들이 존재하는지 식별할 수 있다. 예를 들어, 프로세서(110)는, 식별된 제1 시점들 사이의 차이 및 동작 603에 의해 식별된 제2 그룹들의 시간 차이를 비교하여, 상기 하나 이상의 제2 시점들을 식별할 수 있다. 예를 들어, 제1 시점들에 의하여 나타나는 제1 투구 이벤트 내지 제3 투구 이벤트에 대하여, 제1 투구 이벤트 및 제2 투구 이벤트가 2 분의 차이를 두고 발생되고, 제2 투구 이벤트 및 제3 투구 이벤트가 6 분의 차이를 두고 발생된 것으로 가정한다. 상기 가정에서, 동작 603에서 식별된 제2 그룹들의 차이가 8 분에 대응하는 경우, 프로세서(110)는 제1 투구 이벤트 및 제3 투구 이벤트에 대응하는 투구 영상만이 동작 603에 의하여 식별된 것으로 결정할 수 있다. 이 경우, 프로세서(110)는 제1 시점들 중에서 상기 제2 투구 이벤트에 대응하는 제1 시점을, 동작 607의 제2 시점으로 결정할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 식별된 제1 시점들 중에서, 제2 그룹들에 매칭되지 않는 하나 이상의 시점들을, 상기 제2 시점들로 판단할 수 있다. 예를 들면, 프로세서(110)는, 투구 영상이 캡쳐된 제1 시점들을, 제2 그룹들 사이의 상대적인 시간 차이와 매칭할 수 있다. 프로세서(110)는, 경기 로그의 제1 시점들 사이의 차이 및 제2 그룹들 사이의 시간 차이가 매칭되지 않음을 식별하는 경우, 하나 이상의 제2 시점들이 존재하는 것으로 결정할 수 있다.
동작 609에서, 프로세서(110)는, 하나 이상의 제2 시점들이 존재함에 기반하여, 동작 601에 의해 분할된 제1 그룹들 중에서, 하나 이상의 제2 시점들에 대응하는 하나 이상의 제3 그룹들을 추가로 식별할 수 있다. 예를 들어, 프로세서(110)는 제1 시점들 사이의 시간 차이에 기반하여, 하나 이상의 제3 그룹들을 추가로 식별할 수 있다. 상기 가정에서, 프로세서(110)는 제2 투구 이벤트에 대응하는 시점에 기반하여 제1 그룹들을 탐색하여, 상기 제2 투구 이벤트에 대응하는 프레임들의 그룹을 식별할 수 있다. 프로세서(110)는 상기 제2 투구 이벤트에 대응하는 프레임들의 그룹을, 동작 609의 제3 그룹으로 결정할 수 있다. 예를 들어, 프로세서(110)는 제1 투구 이벤트에 대응하는 제2 그룹 이후 2 분 뒤의 샷에 대응하는 그룹을, 제3 그룹으로 결정할 수 있다.
도 6b를 참조하면, 프로세서(110)는, 도 6a의 동작을 통해 분할된 투구 장면들로부터, 공의 이동 궤적, 투구 위치, 포수 요구 위치, 및/또는 포구 위치 등을 획득할 수 있다.
동작 611에서, 프로세서(110)는, 투구 영상에 대응하는 프레임들의 그룹들을 획득할 수 있다. 상기 투구 영상에 대응하는 프레임들의 그룹들은, 도 6a에서 상술한 제2 그룹 및 제3 그룹을 포함할 수 있다. 제2 그룹 및 제3 그룹은 투구 영상에 대응되는 장면들을 포함하는 모든 프레임들을 포함할 수 있다.
동작 613에서, 프로세서(110)는, 상기 그룹들 각각의 프레임들로부터, 공의 위치를 식별할 수 있다. 프로세서(110)는, 동작 611에서 식별한 투구 영상에 대응되는 프레임들 각각에 캡쳐된 공의 위치를 식별할 수 있다. 동작 615에서, 프로세서(110)는, 상기 식별된 공의 위치에 기반하여, 투구 위치, 포수 요구 위치, 포구 위치 및 배팅 위치 중 적어도 하나를 식별할 수 있다. 일 실시예에 따른 프로세서(110)가 공의 위치를 식별하는 동작은 도 7을 참고하여 후술된다.
일 실시예에 따르면, 프로세서(110)는, 뉴럴 네트워크(예: 도 1의 뉴럴 네트워크(125))를 이용하여, 지정된 시점들에서 공의 위치를 식별할 수 있다. 일 실시예에 따르면, 프로세서(110)는 포구 시점, 투구 시점 또는 배팅 시점에서의 공의 위치들을, 포구 위치, 투구 위치, 또는 배팅 위치로 식별할 수 있다. 예를 들면, 프로세서(110)는, 뉴럴 네트워크(125)를 이용하여, 투구 영상에 포함된 홈 플레이트 및 타자를 식별할 수 있고, 식별된 홈 플레이트 및 타자로부터 가상의 스트라이크 존을 식별할 수 있다. 프로세서(110)는, 상기 가상의 스트라이크 존을 포함하는 평면을 통과하는 공의 위치를 투구 위치로 식별할 수 있다. 프로세서(110)는, 포구 위치 및 배팅 위치 중 적어도 하나를 식별할 수 있다. 프로세서(110)는, 뉴럴 네트워크(125)를 이용하여, 외부 객체인 포수 글러브 및/또는 배트를 식별할 수 있고, 공과 상기 외부 객체가 상호 작용하는 시점을 식별할 수 있다. 프로세서(110)는, 상기 외부 객체와 상호 작용하는 공의 위치를 포구 위치 또는 배팅 위치로 식별할 수 있다.
일 실시예에 따르면, 프로세서(110)는 투구 영상에 대응하는 프레임들의 그룹들로부터, 포수 요구 위치를 식별할 수 있다. 프로세서(110)가 포수 요구 위치를 식별하는 동작은, 도 8을 통해 후술한다.
도 7은, 뉴럴 네트워크를 통하여, 객체들을 추출하고, 추출된 객체들을 통해 공의 위치를 추적하는 예시를 나타낸다. 도 7의 뉴럴 네트워크는 도 1의 뉴럴 네트워크(125)를 포함할 수 있다.
도 7을 참조하면, 일 실시예에 따른 전자 장치(예, 도 1의 전자 장치(101))는 뉴럴 네트워크(예: 도 1의 뉴럴 네트워크(125))를 이용하여, 투구 영상을 포함하는 화면(710)으로부터, 투구 위치, 포구 위치, 포수 요구 위치를 포함하는 영역을 포함하는 영역(예: Ball-Zone)을 식별할 수 있다. 도 7의 화면(720)과 같이, 일 실시예에 따른 전자 장치는 상기 뉴럴 네트워크를 이용하여 식별된 영역을 시각화할 수 있다.
일 실시예에 따른 전자 장치는 뉴럴 네트워크를 이용하여, 투구 영상을 포함하는 화면(710)의 외부 객체를 식별하여, 상기 식별된 외부 객체가 표시된 화면(720)을 획득할 수 있다. 예를 들면, 뉴럴 네트워크는, 홈 플레이트, 타자, 및/또는 포수에 의해 나타나는 Ball-Zone에 포함되는 외부 객체를 식별할 수 있다. 뉴럴 네트워크는, 상기 식별된 외부 객체가 바운드 박스(bounding box), 점, 및/또는 선(line)에 의해 표시된 화면(720)을 나타내는 정보를 출력할 수 있다. 다른 실시예에 따르면, 뉴럴 네트워크는 투구 영상을 포함하는 화면(710)에서, 투구 영상을 제공하는 것이 가능하다면, Ball-zone을 포함하는 화면(예, 화면(720))의 추출 동작을 생략할 수 있다.
일 실시예에 따른 전자 장치는 뉴럴 네트워크를 이용하여, 추출된 화면(710)내에서, 투구와 관련된 시각적 객체를 식별할 수 있다. 예를 들면, 뉴럴 네트워크는, 공, 포수, 타자, 및/또는 홈 플레이트를 식별할 수 있다. 뉴럴 네트워크는, 상기 식별된 외부 객체에 기반하여, 투구 위치(721), 글러브(722), 및/또는 홈 플레이트(723)를 식별할 수 있다.
일 실시예에 따른 전자 장치는 뉴럴 네트워크를 이용하여, 홈 플레이트(723) 및 타자의 신체 조건에 기반하여, 가상의 평면을 포함하는 스트라이크 존(725)을 생성할 수 있다. 뉴럴 네트워크는, 홈 플레이트(723)를 스트라이크 존(725)의 폭으로 하고, 타자의 무릎부터 허리까지를 스트라이크 존(725)의 높이로 하여, 스트라이크 존(725)을 형성할 수 있다.
일 실시예에 따른 전자 장치는, 식별된 투구 위치(721), 글러브(722) 및 홈 플레이트(723)를 포함하는 영상 또는 이미지에 공의 궤적(724)을 나타내는 영상 또는 애니메이션을 오버랩시킬 수 있다. 예를 들면, 프로세서(110)는, 도 6b의 동작들에 기반하여 식별된 공의 궤적(724)을, 영상 또는 이미지 상(예: 추출된 화면(720))에 오버랩할 수 있다.
일 실시예에 따른 전자 장치는, 뉴럴 네트워크를 이용하여 프레임들에서 식별된 공의 위치들을 연결하여, 공의 궤적(724)을 획득할 수 있다. 공이 배트에 가려지거나(예, 헛스윙), 또는 공이 공의 색상과 유사한 색상을 가지는 외부 객체와 중첩되는 경우, 뉴럴 네트워크를 이용하여 획득된 공의 궤적(724)이 프레임들에 의해 캡쳐된 공의 움직임을 완전하게 나타내지 않을 수 있다. 일 실시예에 따른 전자 장치는, 궤적(724)이 배팅 시점 및/또는 포구 시점 보다 과거의 프레임에서 중단되는(terminated) 경우, 궤적(724)을 배팅 시점 및/또는 포구 시점의 프레임까지 연장할 수 있다. 예를 들어, 전자 장치는 프레임들 사이에서 궤적(724)에 의해 나타나는 공의 이동 속도에 기반하여 궤적(724)을 연장하여, 지정된 오디오(예, 배트 및 공 사이의 충돌에 의해 발생되는 오디오, 및/또는 글러브 및 공 사이의 충돌에 의해 발생되는 오디오)가 녹음된 시점의 프레임에서의 공의 위치를 식별할 수 있다. 전자 장치가 궤적(724)을 연장하는 것은, 상기 예시에 제한되지 않으며, 예를 들어, PTS 정보에 기반하여 수행될 수 있다.
도 8은, 포수의 요구 위치를 검출하기 위한 동작을 설명하기 위한 예시를 나타낸다. 도 8의 동작은, 도 1의 전자 장치(101) 및/또는 프로세서(110)에 의해 수행될 수 있다.
도 8을 참조하면, 뉴럴 네트워크(예, 도 1의 뉴럴 네트워크(125))는, 포수와 관련된 외부 객체의 위치의 분포에 기반하여, 포수의 요구 위치를 검출할 수 있다. 뉴럴 네트워크는, 포수 글러브(예: 도 7의 글러브(722))를 식별하는 것에 기반하여, 포수의 요구 위치를 식별할 수 있다.
프로세서(110)는 뉴럴 네트워크를 이용하여, 포수의 글러브(722)를 프레임들 각각으로부터 식별할 수 있다. 프로세서(110)는 포수의 지정된 제스쳐를 식별하기 위하여, 포수의 글러브(722)의 위치들(810, 820)에 기반하여, 위치들(820)이 밀집된 영역(801)을, 포수가 의도한 위치로 검출할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 중계 영상들에 포함된 샷들 중 투구와 관련된 적어도 하나의 샷 내에서, 투구 이전의 시점에 캡쳐된 프레임들로부터, 포수 글러브의 위치를 추출할 수 있다. 예를 들면, 프로세서(110)는, 상기 샷 내에서 투구 이전의 시점에 캡쳐된 프레임들 중에서, 지정된 제스쳐인, 글러브를 착용하고 있는 손을 변형하는 동작(예, 상기 손을 상대적으로 넓게 펼치는 동작)을 포함하는 프레임들을, 추출할 수 있다. 프로세서(110)는 추출된 프레임들 중에서, 글러브의 위치를 추출할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 추출된 글러브의 위치들 중에서, 글러브가 가장 오래 머무르는 지점, 즉, 추출된 글러브의 위치들 중 일정 범위내에 분포가 높은 지점을 포수가 신호를 요구하는 지점으로 추출할 수 있다. 다른 예를 들면, 프로세서(110)는, 추출된 글러브들 중에서, 지정된 동작을 수행하는 글러브를 포함하는 글러브가 가장 오래 머무르는 지점을 포수 요구 위치로 식별할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 분포가 높은 지점이 복수 개 존재하는 경우에는, 복수의 지점들 중 글러브의 정지 시간이 긴 지점을 선택할 수 있다. 다른 예를 들면, 프로세서(110)는, 분포가 높은 지점들 중에서, 투구 시점으로부터 가까운 시점에 분포가 높은 지점을 포수 요구 위치로 결정할 수 있다.
도 9는, 가상의 스트라이크 존을 통과할 때의 공의 위치를 검출하기 위한 동작을 설명하기 위한 흐름도이다. 도 9의 동작들은, 도 1의 전자 장치(101) 및/또는 프로세서(110)에 의해 수행될 수 있다.
도 9를 참조하면, 동작 901에서, 프로세서(110)는 투구된 공이 외부 객체와 접촉하여 발생하는 오디오를 식별할 수 있다. 프로세서(110)는, 투구된 공과 외부 객체의 상호 작용에 의해 발생하는, 오디오를 식별할 수 있다. 예를 들면, 프로세서(110)는, 투구된 공과 외부 객체인 글러브와 접촉시 발생하는 오디오를 식별하도록 트레이닝된 뉴럴 네트워크(예, 도 1의 뉴럴 네트워크(125))를 이용하여, 투구된 공과 글러브의 접촉시 발생하는 오디오가 녹음된 시점에 대응하는 프레임을 식별할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 투구된 공이 글러브와 접촉으로 발생하는 오디오뿐만 아니라, 타자가 배팅할 때 발생하는 오디오, 포수가 공을 놓쳐 땅과 접촉할 때 발생하는 오디오, 및/또는 포수가 공을 놓쳐, 홈 플레이트 뒤의 기구물과의 접촉에 의해 발생되는 오디오 등을 식별할 수 있다. 예를 들면, 프로세서(110)는, 투구된 공이 외부 객체인 배트, 땅 또는 기구물과의 접촉에 의해 발생하는 오디오를 학습한 뉴럴 네트워크를 이용하여, 상기 오디오가, 상기 외부 객체와 공의 접촉에 의해 발생하는 오디오인지를 식별할 수 있다.
동작 903에서, 프로세서(110)는, 상기 식별된 오디오가 포함된 프레임내의 외부 객체의 위치에 기반하여 공의 위치를 식별할 수 있다. 프로세서(110)는, 뉴럴 네트워크를 이용하여, 외부 객체에 대응되는 시각적 객체를 추출할 수 있다. 프로세서(110)는 상기 추출된 외부 객체에 대응되는 시각적 객체로부터, 배팅 위치 또는 포구 위치를 식별할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 뉴럴 네트워크를 이용하여, 글러브와 투구된 공의 상호 작용에 의해 발생한 오디오가 포함된 프레임내의 글러브 위치로부터, 포구 위치를 식별할 수 있다. 일 실시예에 따르면, 프로세서(110)는, 뉴럴 네트워크를 이용하여, 배트와 투구된 공의 상호 작용에 의해 발생한 오디오가 포함된 프레임내의 공의 위치로부터 배팅 위치를 식별할 수 있다.
동작 905에서, 프로세서(110)는, 동작 901에서 식별된 오디오가 포함된 프레임으로부터, 미리 지정된 N 프레임 앞의 이미지에 기반하여, 가상의 스트라이크 존을 통과하는 공의 위치를 획득할 수 있다.
일 실시예에 따르면, N 프레임은 미리 지정되어 메모리에 저장된 자연수일 수 있다. 하지만 이에 한정되지 않고, 투구된 공의 구속에 따라, N 프레임은 수정될 수 있다. 예를 들면, 구속이 빠르면, N의 값은 작아질 수 있고, 구속이 느리면, N의 값은 커질 수 있다. 예를 들면, 구속이 100km/h이면, 투구 위치에 대응되는 프레임은, 상기 오디오가 포함된 프레임으로부터 N 프레임 앞의 프레임일 수 있고, 구속이 120km/h이면, 투구 위치에 대응되는 프레임은, 상기 오디오가 포함된 프레임으로부터 N-k 프레임 앞의 프레임일 수 있다. 일 실시예에 따르면, 프로세서(110)는, 상기 오디오가 포함된 프레임으로부터 N 프레임 앞의 이미지에 포함된 공의 위치를, 스트라이크 존을 통과하는 공의 위치로 식별할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 식별된 오디오에 기반하여, N의 값을 다르게 설정될 수 있다. 예를 들면, 프로세서(110)는, 오디오에 기반하여 공과 접촉된 외부 객체의 타입을 식별하는 것에 응답하여, N 값을 설정할 수 있다. 예를 들어, 공이 배트와 접촉하는 시점은 공이 글러브에 도달하는 시점보다 빠를 수 있다. 상기 예시에서, 프로세서(110)는, 투구된 공이 배트와 접촉하여 발생한 오디오를 식별하는 것에 응답하여, 동작 905의 N 값을, 미리 지정된 N 값보다 작은 N-M 값으로 조절할 수 있다.
도 10은, 포수 요구 위치와 스트라이크 존을 통과하는 공을 가상의 스트라이크 존 상에 정규화하는 동작을 설명하기 위한 예시를 나타낸다. 도 10의 정규화는, 도 1의 전자 장치(101) 및/또는 프로세서(110)에 의해 수행될 수 있다.
도 10을 참조하면, 프로세서(110)는 뉴럴 네트워크(예, 도 1의 뉴럴 네트워크(125))를 통해 식별된 홈 플레이트(예: 도 7의 홈 플레이트(723))에 기반하여, 홈 플레이트의 실제 크기를 추정할 수 있다. 프로세서(110)는, 홈 플레이트의 크기(1050), 실제 투구 위치(1030), 포수 요구 위치(1020), 포구 위치를 하나의 도메인(또는 좌표 공간)에서 표현할 수 있다.
일 실시예에 따르면, 투구 위치(1030), 포구 위치 및 포수 요구 위치(1020)는, 정규화된 스트라이크 존(1010)에 표현된 투구 위치, 포구 위치, 및 포수 요구 위치일 수 있다. 투구 위치(1030)는, 스트라이크 존을 통과하는 공의 위치일 수 있고, 포구 위치는, 포수가 공을 포구할 때의 공이 스트라이크 존으로 정사영된 위치를 정규화된 스트라이크 존(1010)에 표시된 위치일 수 있다. 포수 요구 위치(1020)는, 포수가 공을 요구하는 사인을 주는 지점이 스트라이크 존으로 정사영된 위치를, 정규화된 스트라이크 존(1010)에 나타낸 위치일 수 있다.
일 실시예에 따르면, 프로세서(110)는, 정규화된 스트라이크 존(1010) 상에서, 포수 요구 위치(1020)를 획득하고, PTS 정보에서 추출하여 정규화한 투구 위치(1030)의 좌표를 획득할 수 있다. 프로세서(110)는, 상기 획득된 포수 요구 위치(1020) 및 투구 위치(1030) 사이의 벡터(1040)를 형성할 수 있다. 상기 벡터(1040)는, 포수 요구 위치와 투구 위치 사이의 차이를 나타낼 수 있다. 상기 벡터(1040)는, 투수의 제구력을 판단하는데 활용될 수 있다.
일 실시예에 따르면, 프로세서(110)는, 검출된 홈 플레이트의 크기(1050) 및 정규화된 스트라이크 존(1010)의 크기 사이의 비율을 획득할 수 있다. 프로세서(110)는, 상기 획득된 비율에 기반하여, 벡터(1040)를 변경할 수 있다. 예를 들면, 프로세서(110)는, 홈 플레이트(1050)의 가로 길이와 정규화된 스트라이크 존(1010)의 가로 길이 비율에 기반하여, 상기 비율만큼 벡터를 보정할 수 있다. 프로세서(110)는, 실제 투구 위치와 실제 포구 위치간의 크기 차이 및 오차 방향에 대한 정보를 획득할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 영상으로부터, 도 5에서 전술한 바와 같이, 스트라이크 존(1010)을 정규화할 수 있다. 프로세서(110)는, 정규화된 스트라이크 존에 기반하여, 정규화된 투구 위치(1030)를 획득할 수 있다. 일 실시예에 따르면, 프로세서(110)는, 홈 플레이트(1050)의 폭의 중심 점을 원점으로, 포수 요구 위치 또는 포구 위치(1020)에 대한 좌표를 획득할 수 있다. 예를 들면, 프로세서(110)는, 중계 영상으로부터, 홈 플레이트(1050)의 크기에 기반하여 영상 좌표를 획득하고, 획득된 영상 좌표를 실제 좌표로 변환하여, 도 5에서 설명한 실제 거리를 바탕으로 한 포수 요구 위치 또는 포구 위치(1020)의 좌표를 획득할 수 있다. 프로세서(110)는, 홈 플레이트(1050)의 폭의 중심(1055)을 기준으로 포수 요구 위치 또는 포구 위치(1020)에 대한 벡터(1060)를 획득하여, 정규화된 포수 요구 위치 및 포구 위치(1020)를 획득할 수 있다.
상술한 일 실시예에 따르는 전자 장치(101)는 투구별로 추출한 투구 위치와 포수 요구 위치를 산출할 수 있다. 프로세서(110)는, 경기 로그를 기본 로그로 설정하고, 산출된 투구 위치 및 포수 요구 위치, 포구 위치를 포함하는 정보를 검색용 태깅 정보로 활용하는, 투구 로그를 생성할 수 있다. 프로세서(110)는, 상기 산출된 투구 위치, 포수 요구 위치, 및 포구 위치를 데이터 베이스에 저장하면서, 상기 투구 로그에 대응시킬 수 있다. 일 실시예에 따르면, 프로세서(110)는 투구 로그를, 투구 이벤트가 발생하는 시점에 생성할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 투구 로그로부터, 2차 정보를 추가적으로 생성할 수 있다. 2차 정보는 투구 로그로부터 산출 가능한 데이터일 수 있고, 산출된 데이터는 투구 정보 데이터 베이스에 저장될 수 있다.
일 실시예에 따르면, 1차 정보는, 투구 위치, 포수 요구 위치, 포구 위치, 및/또는 좌타자/우타자, 좌완/우완투수와 관련된 투수 정보를 포함할 수 있다. 2차 정보는, 투구 로그로부터 산출 가능한 포수 요구 위치 및 투구 위치 사이의 거리 및 방향, 포수 요구 위치 및 포구 위치 사이의 거리 및 방향, 포수 요구 위치에 투구 여부, 정규화 좌표 상에서의 투구 위치 및 포구 위치 등을 포함할 수 있다.
일 실시예에 따르면, 전자 장치(101)의 프로세서(110)는, 투구 로그 상에 상기 1차 정보 및 2차 정보를 포함하여, 투구 정보 데이터 베이스에 저장할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 사용자의 검색 조건의 입력을 식별함에 응답하여, 투구 목록 및 검색 조건을 산출할 수 있다. 예를 들면, 사용자의 검색 조건은, 1차 분류 및 2차 분류를 포함할 수 있다. 사용자의 검색 조건은, 1차 분류를 통해 범위를 한정할 수 있다. 예를 들면, 1차 분류는, 기간, 및/또는 팀명과 같은 대분류를 포함할 수 있다. 2차 분류는, 세부 정보를 획득하기 위한 분류일 수 있다. 예를 들면, 2차 분류는, 선수명, 이닝, 볼/스트라이크 카운트, 아웃 카운트, 경기 상황, 투구 결과, 구질, 좌타/우자, 좌투/우투, 투구 위치의 범위, 포수 요구 위치의 범위, 반대 투구의 여부, 점수차, 투구 위치와 포수 요구 위치 사이의 거리의 범위, 포수 요구 위치와 포구 위치 사이의 거리의 범위 등을 포함할 수 있다. 상기 반대 투구는, 스트라이크 존(예, 도 7의 스트라이크 존(725))의 중심선(예, 상기 스트라이크 존을 수직 방향을 따라 양분하는 선)이 포수 요구 위치 및 포구 위치 사이에 배치되는 투구를 의미한다. 일 실시예에 따르면, 프로세서(110)는, 투구 정보가 저장된 투구 데이터 베이스로부터 상기 1차 분류 및 상기 2차 분류를 통한 검색 결과를 시각화된 정보로 표현할 수 있다.
일 실시예에 따르면, 프로세서(110)는, 가상의 스트라이크 존 상에 투구위치, 포수 요구 위치, 및/또는 포구 위치를 표시한 시각적 정보를 표시 장치(예: 디스플레이 장치)를 통하여 제공할 수 있다. 프로세서(110)는, 투구 위치와 포수 요구 위치 또는 포수 요구 위치와 포구 위치 사이의 관계를 시각적으로 표현할 수 있다. 예를 들면, 프로세서(110)는, 투구 위치와 포수 요구 위치 또는 포수 요구 위치와 포구 위치 사이의 관계를 나타내는 벡터 또는 연결 선을 표현할 수 있다.
프로세서(110)는, 상기 투구 정보 이외, 구질 정보, 투구 결과(볼/스트라이크 판정), 투구 인덱스, 투수 정보(성명, 좌/우투 등), 타자 정보(성명, 좌/우타 등)을 포함하는 정보를 시각적으로 더 제공할 수 있다.
일 실시예에 따른, 전자 장치(예: 도 1의 전자 장치(101))는, 적어도 하나의 인스트럭션을 저장하는 메모리(예: 도 1의 메모리(120))와, 상기 메모리와 작동적으로 결합된 적어도 하나의 프로세서(예: 도 1의 프로세서(110))를 포함하고, 상기 적어도 하나의 인스트럭션이 실행될 때, 상기 프로세서는, 경기 정보를 포함하는 경기 로그를 획득하고, 투구 추적 장치(예: 도 3의 투구 추적 장치(200))로부터, 공의 궤적과 관련된 데이터를 획득하고, 외부 전자 장치(예: 도 3의 외부 전자 장치(300))로부터 동영상을 획득하고, 상기 경기 로그 및 상기 데이터에 기반하여, 상기 경기 로그와 상기 데이터를 매칭하고, 상기 경기 로그에 매칭된 상기 데이터에 기반하여, 상기 공의 궤적에 의해 나타나고, 상기 공이 통과하는, 가상의 스트라이크 존을 정규화하고, 상기 정규화된 스트라이크 존에 기반하여, 지정된 시점들의 공의 제1 위치들을 식별하고, 상기 동영상 및 상기 경기 로그에 기반하여, 상기 경기 로그에 대응되는 시점에서, 상기 동영상에 포함되고, 상기 공이 캡쳐된, 프레임들을 추출하고, 상기 추출된 프레임들로부터, 상기 지정된 시점들의 공의 제2 위치들을 식별하고, 상기 지정된 시점들에 식별된 공의 상기 제1 위치들과, 상기 제2 위치들에 기반하여, 상기 공과 구별되는 외부 객체 및 상기 공 사이의 상호 작용이 발생하는 시점에서의 상기 공의 제3 위치를 투구 정보 데이터 베이스에 저장할 수 있다.
일 실시예에 따른, 상기 지정된 시점들은, 공이 상기 가상의 스트라이크 존을 통과하는 시점 및 상기 공이, 포수의 글러브 또는 타자의 배트를 포함하는 상기 외부 객체에 접하는 시점을 포함할 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 인스트럭션이 실행될 때, 상기 프로세서는, 상기 프레임들에 기반하여, 글러브의 제4 위치를 식별하고, 상기 제4 위치를 상기 가상의 스트라이크 존을 포함하는 평면에 정사영 하여, 상기 포수의 지정된 제스쳐가 수행된 제5 위치를 획득하도록, 구성될 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 인스트럭션이 실행될 때, 상기 프로세서는, 상기 공이 상기 포수의 글러브에 대응하는 외부 객체와 상호 작용하는 시점에서의 공의 제3 위치를 식별하고, 상기 공이 포수 글러브와 만나는 제3 위치를 상기 가상의 스트라이크 존을 포함하는 평면에 정사영하여, 상기 평면 상에서 상기 제3 위치를 나타내는 제6 위치를 획득하도록, 구성될 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 인스트럭션이 실행될 때, 상기 프로세서는, 상기 공이 상기 타자의 배트에 대응하는 상기 외부 객체에 접하는 시점의 상기 공의 상기 제3 위치를 식별하고, 상기 배트와 공이 만나는 제3 위치를 상기 가상의 스트라이크 존을 포함하는 평면에 정사영하여, 상기 평면 상에서 상기 제3 위치를 나타내는 제7 위치를 획득하도록, 구성될 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 인스트럭션이 실행될 때, 상기 프로세서는, 상기 경기 로그에서, 투구 관련 정보를 추출하고, 상기 추출된 투구 관련 정보 내의 시퀀스 넘버에 대응하는, 상기 투구 추적 장치로부터 획득된 상기 데이터로부터, 상기 공의 상기 제1 위치들을 추출하고, 상기 추출된 제1 위치들을 상기 스트라이크 존에 정규화할 수 있다.
일 실시예에 따르면, 상기 적어도 하나의 인스트럭션이 실행될 때에, 상기 프로세서는, 상기 동영상을 복수의 제1 프레임들로 분할하고, 상기 분할된 제1 프레임들 중 상기 공의 상기 제2 위치들을 포함하는 제2 프레임들을 추출할 수 있다.
일 실시예에 따르면, 상기 제1 프레임들 중 상기 제2 프레임들을 제외한 제3 프레임들에 포함된 공의 궤적은, 상기 투구 추적 장치로부터 획득된 시간 기록(time stamp)에 기반하여, 획득될 수 있다.
일 실시예에 따르면, 뉴럴 네트워크를 더 포함하고, 상기 뉴럴 네트워크는, 상기 동영상으로부터, 상기 가상의 스트라이크 존, 상기 가상의 스트라이크 존을 통과하는 공의 제1 위치들 중 어느 하나, 글러브에 도착하는 공의 제3 위치 및 상기 글러브의 제4 위치들을 추출하도록 학습할 수 있다.
일 실시예에 따르면, 상기 뉴럴 네트워크는, 상기 동영상의 프레임들 중 공의 이동이 시작되기 전의 프레임들에 포함된 글러브의 제4 위치들을 식별하고, 상기 글러브의 제4 위치들의 분포들에 기반하여 상기 제4 위치들 중에서 상기 포수의 지정된 제스쳐가 수행된 제5 위치를 식별할 수 있다.
일 실시예에 따르면, 상기 뉴럴 네트워크는, 상기 동영상의 프레임들에 포함된 이미지들로부터, 홈 플레이트를 추출하여, 상기 가상의 스트라이크 존을 형성하고, 상기 가상의 스트라이크 존, 상기 요구 지점 및 상기 가상의 스트라이크 존을 통과하는 공의 위치를 하나의 레이어 상에 표현할 수 있다.
일 실시예에 따르면, 상기 뉴럴 네트워크는, 학습된 포구 오디오에 기반하여, 상기 동영상으로부터, 상기 공이 상기 글러브와 접촉으로 발생하는 오디오를 식별하고, 상기 동영상의 프레임들 중 상기 식별된 오디오가 포함된 프레임 내의 글러브의 위치에 기반하여, 상기 글러브를 포함하는 상기 외부 객체 및 상기 공 사이의 상호 작용이 발생하는 시점에서의 상기 제3 위치를 식별하며, 상기 동영상의 프레임들 중 상기 식별된 오디오가 포함된 프레임으로부터, 지정된 수의 프레임들 앞의 이미지에 기반하여, 상기 가상의 스트라이크 존을 통과하는 공의 제8 위치를 획득하도록, 구성될 수 있다.
일 실시예에 따른, 전자 장치의 방법은, 경기 정보를 포함하는 경기 로그를 획득하는 동작, 투구 추적 장치로부터, 공의 궤적과 관련된 데이터를 획득하는 동작, 외부 전자 장치로부터 동영상을 획득하는 동작, 상기 경기 로그 및 상기 데이터에 기반하여, 상기 경기 로그와 상기 데이터를 매칭하는 동작, 상기 경기 로그에 매칭된 데이터에 기반하여, 상기 공의 궤적에 의해 나타나고, 상기 공이 통과하는, 가상의 스트라이크 존을 정규화하는 동작, 상기 정규화된 스트라이크 존에 기반하여, 지정된 시점들의 공의 제1 위치들을 식별하는 동작, 상기 동영상 및 상기 경기 로그에 기반하여, 상기 경기 로그에 대응되는 시점에서, 상기 동영상에 포함되고, 상기 공이 캡쳐된, 프레임들을 추출하는 동작, 상기 추출된 프레임들로부터, 상기 지정된 시점들의 공의 제2 위치들을 식별하는 동작과, 상기 지정된 시점들에 식별된 공의 상기 제1 위치들과, 상기 제2 위치들에 기반하여, 상기 공과 구별되는 외부 객체 및 상기 공 사이의 상호 작용이 발생하는 시점에서의 상기 공의 제3 위치를 투구 정보 데이터 베이스에 저장하는 동작을 포함할 수 있다.
일 실시예에 따르면, 상기 지정된 시점들은, 공이 상기 가상의 스트라이크 존을 통과하는 시점 및 상기 공이 포수의 글러브 또는 타자의 배트를 포함하는 상기 외부 객체에 접하는 시점을 포함할 수 있다.
일 실시예에 따른, 전자 장치의 방법은, 상기 프레임들과 상기 경기 로그에 기반하여, 상기 경기 로그에 대응되는 시점에서의 글러브의 제4 위치를 식별하는 동작과, 상기 제4 위치를 상기 가상의 스트라이크 존을 포함하는 평면에 정사영 하여, 상기 포수의 지정된 제스쳐가 수행된 제5 위치를 획득하는 동작을 더 포함할 수 있다.
일 실시예에 따른, 전자 장치의 방법은, 상기 공이 상기 포수의 글러브에 대응하는 외부 객체와 상호 작용하는 시점에서의 공의 제3 위치를 식별하는 동작과, 상기 공이 포수 글러브와 만나는 제3 위치를 상기 가상의 스트라이크 존을 포함하는 평면에 정사영하여, 상기 평면 상에서 상기 제3 위치를 나타내는 제6 위치를 획득하는 동작을 더 포함할 수 있다.
일 실시예에 따른, 전자 장치의 방법은, 상기 타자의 배트에 대응하는 상기 외부 객체와 상호 작용하는 시점의 상기 공의 상기 제3 위치를 식별하는 동작과, 상기 배트와 공이 만나는 제3 위치를 상기 가상의 스트라이크 존을 포함하는 평면에 정사영하여, 상기 평면 상에서 상기 제3 위치를 나타내는 제7 위치를 획득하는 동작을 더 포함할 수 있다.
일 실시예에 따른, 전자 장치의 방법은, 상기 경기 로그에서, 투구 관련 정보를 추출하는 동작, 상기 추출된 투구 관련 정보 내의 시퀀스 넘버에 대응하는, 상기 투구 추적 장치로부터 획득된 상기 데이터로부터, 상기 공의 상기 제1 위치들을 추출하는 동작과, 상기 추출된 제1 위치들을 상기 스트라이크 존에 정규화를 하는 동작을 더 포함할 수 있다.
일 실시예에 따른, 전자 장치의 방법은, 상기 동영상을 복수의 제1 프레임들로 분할하는 동작과, 상기 분할된 제1 프레임들 중 상기 공의 상기 제2 위치들을 포함하는 제2 프레임들을 추출하는 동작을 더 포함할 수 있다.
일 실시예에 따르면, 상기 제1 프레임들 중 상기 제2 프레임들을 제외한 제3 프레임들에 포함된 공의 궤적은, 상기 투구 추적 장치로부터 획득된 시간 기록(time stamp)에 기반하여, 획득될 수 있다.
이상에서 설명된 장치는 하드웨어 구성요소, 소프트웨어 구성요소, 및/또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 애플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 특허청구범위의 범위에 속한다.

Claims (20)

  1. 전자 장치에 있어서,
    적어도 하나의 인스트럭션을 저장하는 메모리; 및
    상기 메모리와 작동적으로 결합된 적어도 하나의 프로세서를 포함하고,
    상기 적어도 하나의 인스트럭션이 실행될 때, 상기 프로세서는,
    경기 정보를 포함하는 경기 로그를 획득하고,
    투구 추적 장치로부터, 공의 궤적과 관련된 데이터를 획득하고,
    외부 전자 장치로부터 동영상을 획득하고,
    상기 경기 로그 및 상기 데이터에 기반하여, 상기 경기 로그와 상기 데이터를 매칭하고,
    상기 경기 로그에 매칭된 상기 데이터에 기반하여, 상기 공의 궤적에 의해 나타나고, 상기 공이 통과하는, 가상의 스트라이크 존을 정규화하고,
    상기 정규화된 스트라이크 존에 기반하여, 지정된 시점들의 공의 제1 위치들을 식별하고,
    상기 동영상 및 상기 경기 로그에 기반하여, 상기 경기 로그에 대응되는 시점에서, 상기 동영상에 포함되고, 상기 공이 캡쳐된, 프레임들을 추출하고,
    상기 추출된 프레임들로부터, 상기 지정된 시점들의 공의 제2 위치들을 식별하고,
    상기 지정된 시점들에 식별된 공의 상기 제1 위치들과, 상기 제2 위치들에 기반하여, 상기 공과 구별되는 외부 객체 및 상기 공 사이의 상호 작용이 발생하는 시점에서의 상기 공의 제3 위치를 투구 정보 데이터 베이스에 저장하는,
    전자 장치.
  2. 제1항에 있어서,
    상기 지정된 시점들은,
    공이 상기 가상의 스트라이크 존을 통과하는 시점 및 상기 공이, 포수의 글러브 또는 타자의 배트를 포함하는 상기 외부 객체에 접하는 시점을 포함하는,
    전자 장치.
  3. 제2항에 있어서,
    상기 적어도 하나의 인스트럭션이 실행될 때, 상기 프로세서는,
    상기 프레임들에 기반하여, 글러브의 제4 위치를 식별하고,
    상기 제4 위치를 상기 가상의 스트라이크 존을 포함하는 평면에 정사영 하여, 상기 포수의 지정된 제스쳐가 수행된 제5 위치를 획득하도록, 구성되는
    전자 장치.
  4. 제2항에 있어서,
    상기 적어도 하나의 인스트럭션이 실행될 때, 상기 프로세서는,
    상기 공이 상기 포수의 글러브에 대응하는 외부 객체와 상호 작용하는 시점의 공의 제3 위치를 식별하고,
    상기 공이 포수 글러브와 만나는 제3 위치를 상기 가상의 스트라이크 존을 포함하는 평면에 정사영하여, 상기 평면 상에서 상기 제3 위치를 나타내는 제6 위치를 획득하도록, 구성되는,
    전자 장치.
  5. 제2항에 있어서,
    상기 적어도 하나의 인스트럭션이 실행될 때, 상기 프로세서는,
    상기 공이 상기 타자의 배트에 대응하는 상기 외부 객체와 상호 작용하는 시점의 상기 공의 상기 제3 위치를 식별하고,
    상기 배트와 공이 만나는 제3 위치를 상기 가상의 스트라이크 존을 포함하는 평면에 정사영하여, 상기 평면 상에서 상기 제3 위치를 나타내는 제7 위치를 획득하도록, 구성되는,
    전자 장치.
  6. 제1항에 있어서,
    상기 적어도 하나의 인스트럭션이 실행될 때, 상기 프로세서는,
    상기 경기 로그에서, 투구 관련 정보를 추출하고,
    상기 추출된 투구 관련 정보 내의 시퀀스 넘버에 대응하는, 상기 투구 추적 장치로부터 획득된 상기 데이터로부터, 상기 공의 상기 제1 위치들을 추출하고,
    상기 추출된 제1 위치들을 상기 스트라이크 존에 정규화를 하는,
    전자 장치.
  7. 제1항에 있어서,
    상기 적어도 하나의 인스트럭션이 실행될 때에, 상기 프로세서는,
    상기 동영상을 복수의 제1 프레임들로 분할하고,
    상기 분할된 제1 프레임들 중 상기 공의 상기 제2 위치들을 포함하는 제2 프레임들을 추출하는,
    전자 장치.
  8. 제7항에 있어서,
    상기 제1 프레임들 중 상기 제2 프레임들을 제외한 제3 프레임들에 포함된 공의 궤적은,
    상기 투구 추적 장치로부터 획득된 시간 기록(time stamp)에 기반하여, 획득되는,
    전자 장치.
  9. 제1항에 있어서,
    뉴럴 네트워크를 더 포함하고,
    상기 뉴럴 네트워크는,
    상기 동영상으로부터, 상기 가상의 스트라이크 존, 상기 가상의 스트라이크 존을 통과하는 공의 제1 위치들 중 어느 하나, 글러브에 도착하는 공의 제3 위치 및 상기 글러브의 제4 위치들을 추출하도록 학습하는,
    전자 장치.
  10. 제9항에 있어서,
    상기 뉴럴 네트워크는,
    상기 동영상의 프레임들 중 공의 이동이 시작되기 전의 프레임들에 포함된 글러브의 제4 위치들을 식별하고,
    상기 글러브의 제4 위치들의 분포들에 기반하여 상기 제4 위치들 중에서 상기 포수의 지정된 제스쳐가 수행된 제5 위치를 식별하는,
    전자 장치.
  11. 제10항에 있어서,
    상기 뉴럴 네트워크는,
    상기 동영상의 프레임들에 포함된 이미지들로부터, 홈 플레이트를 추출하여, 상기 가상의 스트라이크 존을 형성하고,
    상기 가상의 스트라이크 존, 상기 요구 지점 및 상기 가상의 스트라이크 존을 통과하는 공의 위치를 하나의 레이어 상에 표현하는,
    전자 장치.
  12. 제9항에 있어서,
    상기 뉴럴 네트워크는,
    학습된 포구 오디오에 기반하여, 상기 동영상으로부터, 상기 공이 상기 글러브와 접촉으로 발생하는 오디오를 식별하고,
    상기 동영상의 프레임들 중 상기 식별된 오디오가 포함된 프레임 내의 글러브의 위치에 기반하여, 상기 글러브를 포함하는 상기 외부 객체 및 상기 공 사이의 상호 작용이 발생하는 시점에서의 상기 제3 위치를 식별하며,
    상기 동영상의 프레임들 중 상기 식별된 오디오가 포함된 프레임으로부터, 지정된 수의 프레임들 앞의 이미지에 기반하여, 상기 가상의 스트라이크 존을 통과하는 공의 제8 위치를 획득하도록, 구성되는,
    전자 장치.
  13. 전자 장치의 방법에 있어서,
    경기 정보를 포함하는 경기 로그를 획득하는 동작;
    투구 추적 장치로부터, 공의 궤적과 관련된 데이터를 획득하는 동작;
    외부 전자 장치로부터 동영상을 획득하는 동작;
    상기 경기 로그 및 상기 데이터에 기반하여, 상기 경기 로그와 상기 데이터를 매칭하는 동작;
    상기 경기 로그에 매칭된 데이터에 기반하여, 상기 공의 궤적에 의해 나타나고, 상기 공이 통과하는, 가상의 스트라이크 존을 정규화하는 동작;
    상기 정규화된 스트라이크 존에 기반하여, 지정된 시점들의 공의 제1 위치들을 식별하는 동작;
    상기 동영상 및 상기 경기 로그에 기반하여, 상기 경기 로그에 대응되는 시점에서, 상기 동영상에 포함되고, 상기 공이 캡쳐된, 프레임들을 추출하는 동작;
    상기 추출된 프레임들로부터, 상기 지정된 시점들의 공의 제2 위치들을 식별하는 동작; 및
    상기 지정된 시점들에 식별된 공의 상기 제1 위치들과, 상기 제2 위치들에 기반하여, 상기 공과 구별되는 외부 객체 및 상기 공 사이의 상호 작용이 발생하는 시점에서의 상기 공의 제3 위치를 투구 정보 데이터 베이스에 저장하는 동작을 포함하는,
    전자 장치의 방법.
  14. 제13항에 있어서,
    상기 지정된 시점들은,
    공이 상기 가상의 스트라이크 존을 통과하는 시점 및 상기 공이 포수의 글러브 또는 타자의 배트를 포함하는 상기 외부 객체에 접하는 시점을 포함하는,
    전자 장치의 방법.
  15. 제14항에 있어서,
    상기 프레임들에 기반하여, 글러브의 제4 위치를 식별하는 동작; 및
    상기 제4 위치를 상기 가상의 스트라이크 존을 포함하는 평면에 정사영 하여, 상기 포수의 지정된 제스쳐가 수행된 제5 위치를 획득하는 동작을 더 포함하는
    전자 장치의 방법.
  16. 제14항에 있어서,
    상기 공이 포수의 글러브에 대응하는 외부 객체와 상호 작용하는 시점의 공의 제3 위치를 식별하는 동작; 및
    상기 공이 포수 글러브와 만나는 제3 위치를 상기 가상의 스트라이크 존을 포함하는 평면에 정사영하여, 상기 평면 상에서 상기 제3 위치를 나타내는 제6 위치를 획득하는 동작을 더 포함하는,
    전자 장치의 방법.
  17. 제14항에 있어서,
    상기 타자의 배트에 대응하는 상기 외부 객체와 상호 작용하는 시점의 상기 공의 상기 제3 위치를 식별하는 동작; 및
    상기 배트와 공이 만나는 제3 위치를 상기 가상의 스트라이크 존을 포함하는 평면에 정사영하여, 상기 평면 상에서 상기 제3 위치를 나타내는 제7 위치를 획득하는 동작을 더 포함하는,
    전자 장치의 방법.
  18. 제13항에 있어서,
    상기 경기 로그에서, 투구 관련 정보를 추출하는 동작;
    상기 추출된 투구 관련 정보 내의 시퀀스 넘버에 대응하는, 상기 투구 추적 장치로부터 획득된 상기 데이터로부터, 상기 공의 상기 제1 위치들을 추출하는 동작; 및
    상기 추출된 제1 위치들을 상기 스트라이크 존에 정규화를 하는 동작을 더 포함하는,
    전자 장치의 방법.
  19. 제13항에 있어서,
    상기 동영상을 복수의 제1 프레임들로 분할하는 동작; 및
    상기 분할된 제1 프레임들 중 상기 공의 상기 제2 위치들을 포함하는 제2 프레임들을 추출하는 동작을 더 포함하는,
    전자 장치의 방법.
  20. 제19항에 있어서,
    상기 제1 프레임들 중 상기 제2 프레임들을 제외한 제3 프레임들에 포함된 공의 궤적은,
    상기 투구 추적 장치로부터 획득된 시간 기록(time stamp)에 기반하여, 획득되는,
    전자 장치의 방법.
KR1020210179123A 2021-12-14 2021-12-14 투구 정보를 추출하는 전자 장치, 투구 추적 시스템 및 방법 KR20230090446A (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210179123A KR20230090446A (ko) 2021-12-14 2021-12-14 투구 정보를 추출하는 전자 장치, 투구 추적 시스템 및 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210179123A KR20230090446A (ko) 2021-12-14 2021-12-14 투구 정보를 추출하는 전자 장치, 투구 추적 시스템 및 방법

Publications (1)

Publication Number Publication Date
KR20230090446A true KR20230090446A (ko) 2023-06-22

Family

ID=86989226

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210179123A KR20230090446A (ko) 2021-12-14 2021-12-14 투구 정보를 추출하는 전자 장치, 투구 추적 시스템 및 방법

Country Status (1)

Country Link
KR (1) KR20230090446A (ko)

Similar Documents

Publication Publication Date Title
US10758807B2 (en) Smart court system
US10628678B2 (en) Classification of activity derived from multiple locations
US20210350833A1 (en) Play Sequence Visualization and Analysis
US10607349B2 (en) Multi-sensor event system
US11117035B2 (en) Video analytics for human performance
US11967086B2 (en) Player trajectory generation via multiple camera player tracking
US20100030350A1 (en) System and Method for Analyzing Data From Athletic Events
KR102205639B1 (ko) 골프 공 추적 시스템
US20220277463A1 (en) Tracking dynamics using a computerized device
US20210097289A1 (en) A method and apparatus for user interaction with a video stream
CN112437487B (zh) 位置定位方法、事件识别方法、装置和计算机设备
CN109446241A (zh) 一种运动者技术参数的统计方法、装置、设备及存储介质
KR20230090446A (ko) 투구 정보를 추출하는 전자 장치, 투구 추적 시스템 및 방법
US11810352B2 (en) Operating method of server for providing sports video-based platform service
WO2022040796A1 (en) Electronic assessment of playing surface properties
Chakraborty et al. Deep Learning-Based Prediction of Football Players’ Performance During Penalty Shootout
US11900678B2 (en) System for tracking, locating and calculating the position of an object in a game involving moving objects
US20230218971A1 (en) System for tracking, locating and precicting the position of a ball in a game of baseball or similar
Adams et al. Expected Goals Prediction in Professional Handball using Synchronized Event and Positional Data
EP4366844A1 (en) Automated offside detection and visualization for sports
Javadiha et al. PADELVIC: Multicamera videos and motion capture data in padel matches
Burkett Technologies for Monitoring Human Player Activity Within a Competition