KR102548104B1 - Method, computer program, and device for generating training dataset to identify hit location of dart pin - Google Patents

Method, computer program, and device for generating training dataset to identify hit location of dart pin Download PDF

Info

Publication number
KR102548104B1
KR102548104B1 KR1020220102249A KR20220102249A KR102548104B1 KR 102548104 B1 KR102548104 B1 KR 102548104B1 KR 1020220102249 A KR1020220102249 A KR 1020220102249A KR 20220102249 A KR20220102249 A KR 20220102249A KR 102548104 B1 KR102548104 B1 KR 102548104B1
Authority
KR
South Korea
Prior art keywords
dart
dart target
segment
pin
hit
Prior art date
Application number
KR1020220102249A
Other languages
Korean (ko)
Inventor
이승윤
Original Assignee
주식회사 피닉스다트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 피닉스다트 filed Critical 주식회사 피닉스다트
Priority to KR1020220102249A priority Critical patent/KR102548104B1/en
Application granted granted Critical
Publication of KR102548104B1 publication Critical patent/KR102548104B1/en
Priority to CN202311003713.9A priority patent/CN117611658A/en
Priority to TW112130152A priority patent/TWI854778B/en
Priority to EP23191036.5A priority patent/EP4325163A1/en
Priority to JP2023132219A priority patent/JP7519051B2/en
Priority to US18/450,643 priority patent/US20240062418A1/en
Priority to JP2024102640A priority patent/JP2024129063A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/02Shooting or hurling games
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F41WEAPONS
    • F41JTARGETS; TARGET RANGES; BULLET CATCHERS
    • F41J3/00Targets for arrows or darts, e.g. for sporting or amusement purposes
    • F41J3/0009Dartboards
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/80Special adaptations for executing a specific game genre or game mode
    • A63F13/837Shooting of targets
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/24Electric games; Games using electronic circuits not otherwise provided for
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F41WEAPONS
    • F41JTARGETS; TARGET RANGES; BULLET CATCHERS
    • F41J3/00Targets for arrows or darts, e.g. for sporting or amusement purposes
    • F41J3/02Indicators or score boards for arrow or dart games
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F41WEAPONS
    • F41JTARGETS; TARGET RANGES; BULLET CATCHERS
    • F41J5/00Target indicating systems; Target-hit or score detecting systems
    • F41J5/10Cinematographic hit-indicating systems
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F41WEAPONS
    • F41JTARGETS; TARGET RANGES; BULLET CATCHERS
    • F41J5/00Target indicating systems; Target-hit or score detecting systems
    • F41J5/14Apparatus for signalling hits or scores to the shooter, e.g. manually operated, or for communication between target and shooter; Apparatus for recording hits or scores
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/774Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/70Labelling scene content, e.g. deriving syntactic or semantic representations
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/02Shooting or hurling games
    • A63F9/0204Targets therefor
    • A63F9/0208Targets therefor the projectile being connectable to the target, e.g. using hook and loop-type fastener, hooks
    • A63F2009/0221Targets therefor the projectile being connectable to the target, e.g. using hook and loop-type fastener, hooks with penetrating spikes, e.g. as in darts
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F9/00Games not otherwise provided for
    • A63F9/24Electric games; Games using electronic circuits not otherwise provided for
    • A63F2009/2401Detail of input, input devices
    • A63F2009/243Detail of input, input devices with other kinds of input
    • A63F2009/2435Detail of input, input devices with other kinds of input using a video camera
    • FMECHANICAL ENGINEERING; LIGHTING; HEATING; WEAPONS; BLASTING
    • F41WEAPONS
    • F41JTARGETS; TARGET RANGES; BULLET CATCHERS
    • F41J3/00Targets for arrows or darts, e.g. for sporting or amusement purposes
    • F41J3/0009Dartboards
    • F41J3/0033Dartboards for use with safety darts
    • F41J3/0042Dartboards for use with safety darts having perforations for receiving blunt tip darts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2210/00Indexing scheme for image generation or computer graphics
    • G06T2210/12Bounding box
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Databases & Information Systems (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Aiming, Guidance, Guns With A Light Source, Armor, Camouflage, And Targets (AREA)
  • Image Analysis (AREA)

Abstract

The present invention relates to a method for generating a training dataset for dart pin location identification, a computer program, and an apparatus thereof. According to some embodiments of the present disclosure, disclosed is the computer program stored on a computer-readable storage medium. The computer program, when executed on equal to or more than one processor of the computing apparatus, provides the method for generating the training dataset for the dart pin location identification. The method may comprise the following steps of: obtaining a dart target shooting training image in which at least one dart pin hits one segment of a dart target (each of a plurality of segments included in the dart target includes a predetermined number of bits); and assigning a label corresponding to the obtained dart target shooting training image.

Description

다트핀 위치 식별을 위한 트레이닝 데이터셋을 생성하는 방법, 컴퓨터 프로그램, 및 장치{METHOD, COMPUTER PROGRAM, AND DEVICE FOR GENERATING TRAINING DATASET TO IDENTIFY HIT LOCATION OF DART PIN}Method, computer program, and device for generating training data set for identifying dart pin location

본 개시는 컴퓨팅 장치를 이용한 이미지 처리에 관한 것으로, 구체적으로 다트핀의 히트 위치를 식별하기 위한 트레이닝 데이터셋을 생성하는 방법, 컴퓨터 프로그램, 및 장치에 관한 것이다.The present disclosure relates to image processing using a computing device, and more particularly, to a method, computer program, and device for generating a training dataset for identifying hit locations of dart pins.

일반적으로 다트란 '작은 화살'이라는 뜻으로 숫자가 적힌 원심의 과녁을 화살 모양의 다트를 던져 점수를 내는 경기이다. 다트 게임은 화살촉 모양의 다트와, 다트 게임 장치가 구비되면 누구든지 언제나 즐길 수 있는 장점이 있다. 최근에는 다양한 경기방식의 개발과 채점방식의 정리로 세계적인 레저로 발전하면서 남녀 노소 할 것이 없이 간편하게 게임을 즐기고 있다.In general, darts mean 'small arrows' and are a game in which arrow-shaped darts are thrown at centrifugal targets with numbers written on them to score points. The dart game has an advantage that anyone can always enjoy it if an arrowhead-shaped dart and a dart game device are provided. Recently, with the development of various game methods and the arrangement of scoring methods, it has developed into a world-class leisure game, and men and women of all ages are enjoying the game conveniently.

다트 게임 장치는 다트 타겟 상에 설치된 센서 또는 다트 타겟을 촬영한 이미지를 분석함으로써 다트 타겟 상에 히트한 다트핀의 히트 위치를 식별할 수 있다. 이미지 분석 방법은 경우 다양한 위치의 카메라로부터 촬영된 이미지를 처리하여야 한다. 룰 기반 알고리즘 이용하는 이미지 분석 방법은 다트 게임 장치가 다양한 설치 환경에 있다는 점에서 노이즈 등에 의해 정확도를 확보하기 어려운 문제점을 가진다. 딥러닝 기반 이미지 분석 방법은 충분한 양의 데이터셋 확보의 어려움, 복수의 다트핀의 히트 위치 처리 알고리즘 구현 등의 문제점을 가진다. The dart game device may identify the hit position of the dart pin hit on the dart target by analyzing a sensor installed on the dart target or an image of the dart target. The image analysis method needs to process images taken from cameras in various locations. The image analysis method using the rule-based algorithm has a problem in that it is difficult to secure accuracy due to noise in that the dart game device is in various installation environments. The deep learning-based image analysis method has problems such as difficulty in securing a sufficient amount of dataset and implementation of a hit location processing algorithm of a plurality of dart pins.

대한민국 등록특허 10-2136813 Korean Registered Patent No. 10-2136813

본 개시는 전술한 배경기술에 대응하여 안출된 것으로, 다트핀의 히트 위치를 식별하기 위한 트레이닝 데이터셋을 생성하는 방법, 컴퓨터 프로그램, 및 장치를 제공하기 위함이다.The present disclosure has been made in response to the above background art, and is to provide a method, computer program, and apparatus for generating a training data set for identifying hit locations of dart pins.

본 개시의 기술적 과제들은 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 당업자에게 명확하게 이해될 수 있을 것이다.The technical problems of the present disclosure are not limited to the technical problems mentioned above, and other technical problems not mentioned will be clearly understood by those skilled in the art from the following description.

전술한 바와 같은 과제를 해결하기 위한 본 개시의 몇몇 실시예에 따라, 컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램이 개시된다. 상기 컴퓨터 프로그램은 컴퓨팅 장치의 하나 이상의 프로세서에서 실행되는 경우 다트핀 위치 식별을 위한 트레이닝 데이터셋을 생성하는 방법을 제공하며, 상기 방법은: 다트 타겟의 하나의 세그먼트 상에 적어도 하나의 다트핀이 히트한 다트 타겟 촬영 훈련 이미지를 획득하는 단계 - 상기 다트 타겟에 포함되는 복수의 세그먼트는 각각 사전 결정된 개수의 비트를 포함함 -; 및 상기 획득한 다트 타겟 촬영 훈련 이미지에 대응하는 라벨을 부여하는 단계; 를 포함할 수 있다.According to some embodiments of the present disclosure for solving the above problems, a computer program stored in a computer readable storage medium is disclosed. The computer program, when executed on one or more processors of a computing device, provides a method for generating a training dataset for identifying dart pin locations, the method comprising: hitting at least one dart pin on one segment of a dart target. obtaining one dart target shooting training image, each of a plurality of segments included in the dart target including a predetermined number of bits; and assigning a label corresponding to the acquired dart target shooting training image. can include

대안적으로, 상기 다트 타겟 촬영 훈련 이미지는 하나의 라벨에 대응하는 적어도 2개의 이미지를 포함하고, 그리고 상기 하나의 라벨에 대응하는 적어도 2개의 이미지는 각각 사전 결정된 방향으로 위치하는 적어도 2개의 카메라에 의해 생성될 수 있다.Alternatively, the dart target shooting training image includes at least two images corresponding to one label, and the at least two images corresponding to the one label are directed to at least two cameras respectively positioned in a predetermined direction. can be created by

대안적으로, 상기 다트 타겟의 하나의 세그먼트 상에 적어도 하나의 다트핀이 히트한 다트 타겟 촬영 훈련 이미지를 획득하는 단계는: 상기 다트 타겟의 제 1 세그먼트에 포함되는 제 1 비트 상에 제 1 다트핀이 히트한 제 1 다트 타겟 촬영 훈련 이미지를 획득하는 단계; 및 상기 다트 타겟의 제 1 세그먼트에 포함되는 제 2 비트 상에 상기 제 1 다트핀이 히트한 제 2 다트 타겟 촬영 훈련 이미지를 획득하는 단계; 를 포함할 수 있다.Alternatively, acquiring a dart target shooting training image in which at least one dart pin hits on one segment of the dart target may include: a first dart on a first bit included in a first segment of the dart target; obtaining a first dart target shooting training image hit by a pin; and obtaining a second dart target shooting training image hit by the first dart pin on a second bit included in the first segment of the dart target. can include

대안적으로, 상기 다트 타겟의 하나의 세그먼트 상에 적어도 하나의 다트핀이 히트한 다트 타겟 촬영 훈련 이미지를 획득하는 단계는: 상기 다트 타겟의 제 2 세그먼트에 포함되는 제 3 비트 상에 상기 제 1 다트핀이 히트한 제 3 다트 타겟 촬영 훈련 이미지를 획득하는 단계; 를 더 포함할 수 있다.Alternatively, acquiring a dart target shooting training image in which at least one dart pin hits on one segment of the dart target may include: the first bit on a third bit included in a second segment of the dart target; obtaining a third dart target shooting training image hit by the dart pin; may further include.

대안적으로, 상기 다트 타겟의 하나의 세그먼트 상에 적어도 하나의 다트핀이 히트한 다트 타겟 촬영 훈련 이미지를 획득하는 단계는: 상기 다트 타겟의 제 1 세그먼트에 포함되는 상기 제 1 비트 상에 상기 제 1 다트핀이 히트하고 그리고 상기 다트 타겟의 제 1 세그먼트에 포함되는 상기 제 2 비트 상에 제 2 다트핀이 히트한 제 4 다트 타겟 촬영 훈련 이미지를 획득하는 단계; 를 더 포함할 수 있다.Alternatively, acquiring a dart target shooting training image in which at least one dart pin hits on one segment of the dart target may include: the first bit included in the first segment of the dart target; obtaining a fourth dart target shooting training image in which one dart pin hits and a second dart pin hits the second bit included in the first segment of the dart target; may further include.

대안적으로, 상기 다트 타겟의 제 1 세그먼트에 포함되는 상기 제 1 비트 상에 상기 제 1 다트핀이 히트하고 그리고 상기 다트 타겟의 제 1 세그먼트에 포함되는 제 4 비트 상에 제 2 다트핀이 히트한 제 5 다트 타겟 촬영 훈련 이미지를 획득하는 단계; 를 더 포함할 수 있다. Alternatively, the first dart pin hits the first bit included in the first segment of the dart target and the second dart pin hits the fourth bit included in the first segment of the dart target. acquiring a fifth dart target shooting training image; may further include.

대안적으로, 상기 다트 타겟의 하나의 세그먼트 상에 적어도 하나의 다트핀이 히트한 다트 타겟 촬영 훈련 이미지를 획득하는 단계는: 상기 다트 타겟의 제 1 세그먼트에 포함되는 상기 제 1 비트 상에 상기 제 1 다트핀이 히트하고 그리고 상기 다트 타겟의 제 2 세그먼트에 포함되는 제 3 비트 상에 제 2 다트핀이 히트한 제 6 다트 타겟 촬영 훈련 이미지를 획득하는 단계; 를 더 포함할 수 있다.Alternatively, acquiring a dart target shooting training image in which at least one dart pin hits on one segment of the dart target may include: the first bit included in the first segment of the dart target; obtaining a sixth dart target shooting training image in which one dart pin hits and a second dart pin hits a third bit included in a second segment of the dart target; may further include.

대안적으로, 상기 다트 타겟의 제 1 세그먼트에 포함되는 상기 제 1 비트 상에 상기 제 1 다트핀이 히트하고 그리고 상기 다트 타겟의 제 2 세그먼트에 포함되는 제 5 비트 상에 상기 제 2 다트핀이 히트한 제 7 다트 타겟 촬영 훈련 이미지를 획득하는 단계; 를 더 포함할 수 있다.Alternatively, the first dart pin hits the first bit included in the first segment of the dart target and the second dart pin hits the fifth bit included in the second segment of the dart target. obtaining a hit 7th dart target shooting training image; may further include.

대안적으로, 상기 다트 타겟의 제 1 세그먼트에 포함되는 제 1 비트 상에 히트한 제 1 다트 타겟 촬영 훈련 이미지를 획득하는 단계는: 제 1 촬영 환경 조건 하에서 상기 제 1 다트 타겟 촬영 훈련 이미지를 획득하는 단계; 및 제 2 촬영 환경 조건 하에서 상기 제 1 다트 타겟 촬영 훈련 이미지를 획득하는 단계; 를 포함할 수 있다.Alternatively, acquiring a first dart target shooting training image hit on a first bit included in a first segment of the dart target may include: acquiring the first dart target shooting training image under a first shooting environment condition; doing; and acquiring the first dart target shooting training image under a second shooting environment condition. can include

대안적으로, 상기 라벨은 다트핀이 히트한 세그먼트 위치에 기초하여 결정될 수 있다.Alternatively, the label may be determined based on the location of the segment hit by the dart pin.

대안적으로, 상기 라벨은 상기 세그먼트 위치 및 상기 하나의 세그먼트 상에 비트 위치에 기초하여 결정될 수 있다.Alternatively, the label may be determined based on the segment location and the bit location on the one segment.

전술한 바와 같은 과제를 해결하기 위한 본 개시의 몇몇 실시예에 따라, 컴퓨팅 장치에 의해 수행되는 트레이닝 데이터셋을 생성하는 방법이 개시된다. 상기 방법은: 다트 타겟의 하나의 세그먼트 상에 적어도 하나의 다트핀이 히트한 다트 타겟 촬영 훈련 이미지를 획득하는 단계; 및 상기 획득한 다트 타겟 촬영 훈련 이미지에 대응하는 라벨을 부여하는 단계; 를 포함할 수 있다.According to some embodiments of the present disclosure for solving the above problems, a method for generating a training dataset performed by a computing device is disclosed. The method includes: acquiring a dart target shooting training image in which at least one dart pin hits a segment of a dart target; and assigning a label corresponding to the acquired dart target shooting training image. can include

전술한 바와 같은 과제를 해결하기 위한 본 개시의 몇몇 실시예에 따라, 컴퓨팅 장치가 개시된다. 상기 컴퓨팅 장치는: 컴퓨터 실행가능한 컴포넌트들을 포함하는 메모리; 메모리에 저장된 이하의 컴퓨터 실행가능한 컴포넌트들을 실행하는 프로세서; 를 포함하고, 상기 프로세서는, 다트 타겟의 하나의 세그먼트 상에 적어도 하나의 다트핀이 히트한 다트 타겟 촬영 훈련 이미지를 획득하고, 그리고 상기 획득한 다트 타겟 촬영 훈련 이미지에 대응하는 라벨을 부여할 수 있다.According to some embodiments of the present disclosure to solve the above problems, a computing device is disclosed. The computing device includes: a memory including computer-executable components; a processor executing the following computer-executable components stored in a memory; The processor may acquire a dart target shooting training image in which at least one dart pin hits on one segment of the dart target, and assign a label corresponding to the acquired dart target shooting training image. there is.

본 개시에서 얻을 수 있는 기술적 해결 수단은 이상에서 언급한 해결 수단들로 제한되지 않으며, 언급하지 않은 또 다른 해결 수단들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.The technical solutions obtainable in the present disclosure are not limited to the above-mentioned solutions, and other solutions not mentioned will become clear to those skilled in the art from the description below. You will be able to understand.

본 개시의 몇몇 실시예에 따르면, 다트 게임 사용자들의 흥미를 고취시킬 수 있는 다트 게임 장치를 제공할 수 있다.According to some embodiments of the present disclosure, a dart game device capable of arousing the interest of dart game users may be provided.

본 개시에서 얻을 수 있는 효과는 이상에서 언급한 효과로 제한되지 않으며, 언급하지 않은 또 다른 효과들은 아래의 기재로부터 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.Effects obtainable in the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those skilled in the art from the description below. .

다양한 양상들이 이제 도면들을 참조로 기재되며, 여기서 유사한 참조 번호들은 총괄적으로 유사한 구성요소들을 지칭하는데 이용된다. 이하의 실시예에서, 설명 목적을 위해, 다수의 특정 세부사항들이 하나 이상의 양상들의 총체적 이해를 제공하기 위해 제시된다. 그러나, 그러한 양상(들)이 이러한 특정 세부사항들 없이 실시될 수 있음은 명백할 것이다. 다른 예시들에서, 공지의 구조들 및 장치들이 하나 이상의 양상들의 기재를 용이하게 하기 위해 블록도 형태로 도시된다.
도 1은 본 개시의 몇몇 실시예에 따른 다트 게임 시스템의 일례를 설명하기 위한 블록 구성도이다.
도 2는 본 개시의 몇몇 실시예에 따른 다트 게임 장치의 일례를 설명하기 위한 블록 구성도이다.
도 3은 본 개시의 몇몇 실시예에 따른 다트 게임 장치의 일례를 설명하기 위한 다른 도면이다.
도 4는 본 개시의 몇몇 실시예에 따른 다트 게임 장치에 의해 수행되는 다트핀 히트 위치 식별 방법의 일례를 설명하기 위한 흐름도이다.
도 5는 본 개시의 몇몇 실시예에 따른 다트 게임 장치에 의해 수행되는 경우 다트핀 히트 위치 식별 방법의 일례를 설명하기 위한 다른 흐름도이다.
도 6은 다트 타겟 촬영 이미지를 설명하기 위한 도면이다.
도 7은 본 개시의 몇몇 실시예에 따라 예시적인 다트핀 위치 식별 모델을 설명하기 위한 도면이다.
도 8은 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치에 의해 수행되는 다트핀 위치 식별 방법을 위한 트레이닝 데이터셋을 생성하는 방법의 일례를 설명하기 위한 흐름도이다.
도 9는 본 개시의 몇몇 실시예에 따라 네트워크 함수를 나타낸 개략도이다.
도 10은 본 발명의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 간략하고 일반적인 개략도이다.
Various aspects are now described with reference to the drawings, wherein like reference numbers are used to collectively refer to like elements. In the following embodiments, for explanation purposes, numerous specific details are set forth in order to provide a thorough understanding of one or more aspects. However, it will be apparent that such aspect(s) may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to facilitate describing one or more aspects.
1 is a block diagram illustrating an example of a dart game system according to some embodiments of the present disclosure.
2 is a block diagram illustrating an example of a dart game device according to some embodiments of the present disclosure.
3 is another diagram for explaining an example of a dart game device according to some embodiments of the present disclosure.
4 is a flowchart for explaining an example of a method of identifying a dart pin hit position performed by a dart game device according to some embodiments of the present disclosure.
5 is another flowchart for explaining an example of a method of identifying a dart pin hit location when performed by a dart game device according to some embodiments of the present disclosure.
6 is a diagram for explaining a dart target shooting image.
7 is a diagram for explaining an exemplary dart pin location identification model according to some embodiments of the present disclosure.
8 is a flowchart illustrating an example of a method of generating a training dataset for a dart pin position identification method performed by a computing device according to some embodiments of the present disclosure.
9 is a schematic diagram illustrating a network function according to some embodiments of the present disclosure.
10 is a simplified and general schematic diagram of an exemplary computing environment in which embodiments of the invention may be implemented.

다양한 실시예들 및/또는 양상들이 이제 도면들을 참조하여 개시된다. 하기 설명에서는 설명을 목적으로, 하나 이상의 양상들의 전반적 이해를 돕기 위해 다수의 구체적인 세부사항들이 개시된다. 그러나, 이러한 양상(들)은 이러한 구체적인 세부사항들 없이도 실행될 수 있다는 점 또한 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 감지될 수 있을 것이다. 이후의 기재 및 첨부된 도면들은 하나 이상의 양상들의 특정한 예시적인 양상들을 상세하게 기술한다. 하지만, 이러한 양상들은 예시적인 것이고 다양한 양상들의 원리들에서의 다양한 방법들 중 일부가 이용될 수 있으며, 기술되는 설명들은 그러한 양상들 및 그들의 균등물들을 모두 포함하고자 하는 의도이다. 구체적으로, 본 명세서에서 사용되는 "실시예", "예", "양상", "예시" 등은 기술되는 임의의 양상 또는 설계가 다른 양상 또는 설계들보다 양호하다거나, 이점이 있는 것으로 해석되지 않을 수도 있다.Various embodiments and/or aspects are now disclosed with reference to the drawings. In the following description, for purposes of explanation, numerous specific details are set forth in order to facilitate a general understanding of one or more aspects. However, it will also be appreciated by those skilled in the art that such aspect(s) may be practiced without these specific details. The following description and accompanying drawings describe in detail certain illustrative aspects of one or more aspects. However, these aspects are exemplary and some of the various methods in principle of the various aspects may be used, and the described descriptions are intended to include all such aspects and their equivalents. Specifically, “embodiment,” “example,” “aspect,” “exemplary,” etc., as used herein, is not to be construed as indicating that any aspect or design described is superior to or advantageous over other aspects or designs. Maybe not.

이하, 도면 부호에 관계없이 동일하거나 유사한 구성 요소는 동일한 참조 번호를 부여하고 이에 대한 중복되는 설명은 생략한다. 또한, 본 명세서에 개시된 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 본 명세서에 개시된 실시예의 요지를 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다. 또한, 첨부된 도면은 본 명세서에 개시된 실시예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않는다.Hereinafter, the same reference numerals are given to the same or similar components regardless of reference numerals, and overlapping descriptions thereof will be omitted. In addition, in describing the embodiments disclosed in this specification, if it is determined that a detailed description of a related known technology may obscure the gist of the embodiment disclosed in this specification, the detailed description thereof will be omitted. In addition, the accompanying drawings are only for easy understanding of the embodiments disclosed in this specification, and the technical ideas disclosed in this specification are not limited by the accompanying drawings.

비록 제 1, 제 2 등이 다양한 엘리먼트나 구성요소들을 서술하기 위해서 사용되나, 이들 엘리먼트나 구성요소들은 이들 용어에 의해 제한되지 않음은 물론이다. 이들 용어들은 단지 하나의 소자나 구성요소를 다른 소자나 구성요소와 구별하기 위하여 사용하는 것이다. 따라서, 이하에서 언급되는 제 1 엘리먼트나 구성요소는 본 발명의 기술적 사상 내에서 제 2 엘리먼트나 구성요소 일 수도 있음은 물론이다.Although first, second, etc. are used to describe various elements or components, these elements or components are not limited by these terms, of course. These terms are only used to distinguish one element or component from another. Accordingly, it goes without saying that the first element or component mentioned below may also be the second element or component within the technical spirit of the present invention.

다른 정의가 없다면, 본 명세서에서 사용되는 모든 용어(기술 및 과학적 용어를 포함)는 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 공통적으로 이해될 수 있는 의미로 사용될 수 있을 것이다. 또 일반적으로 사용되는 사전에 정의되어 있는 용어들은 명백하게 특별히 정의되어 있지 않는 한 이상적으로 또는 과도하게 해석되지 않는다.Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used in a meaning commonly understood by those of ordinary skill in the art to which the present invention belongs. In addition, terms defined in commonly used dictionaries are not interpreted ideally or excessively unless explicitly specifically defined.

더불어, 용어 "또는"은 배타적 "또는"이 아니라 내포적 "또는"을 의미하는 것으로 의도된다. 즉, 달리 특정되지 않거나 문맥상 명확하지 않은 경우에, "X는 A 또는 B를 이용한다"는 자연적인 내포적 치환 중 하나를 의미하는 것으로 의도된다. 즉, X가 A를 이용하거나; X가 B를 이용하거나; 또는 X가 A 및 B 모두를 이용하는 경우, "X는 A 또는 B를 이용한다"가 이들 경우들 어느 것으로도 적용될 수 있다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것으로 이해되어야 한다. In addition, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless otherwise specified or clear from the context, “X employs A or B” is intended to mean one of the natural inclusive substitutions. That is, X uses A; X uses B; Or, if X uses both A and B, "X uses either A or B" may apply to either of these cases. Also, the term "and/or" as used herein should be understood to refer to and include all possible combinations of one or more of the listed related items.

또한, "포함한다" 및/또는 "포함하는"이라는 용어는, 해당 특징 및/또는 구성요소가 존재함을 의미하지만, 하나 이상의 다른 특징, 구성요소 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않는 것으로 이해되어야 한다. 또한, 달리 특정되지 않거나 단수 형태를 지시하는 것으로 문맥상 명확하지 않은 경우에, 본 명세서와 청구범위에서 단수는 일반적으로 "하나 또는 그 이상"을 의미하는 것으로 해석되어야 한다.Also, the terms "comprises" and/or "comprising" mean that the feature and/or element is present, but excludes the presence or addition of one or more other features, elements and/or groups thereof. It should be understood that it does not. Also, unless otherwise specified or where the context clearly indicates that a singular form is indicated, the singular in this specification and claims should generally be construed to mean "one or more".

더불어, 본 명세서에서 사용되는 용어 "정보" 및 "데이터"는 종종 서로 상호교환 가능하도록 사용될 수 있다.In addition, the terms "information" and "data" used herein may often be used interchangeably with each other.

구성 요소(elements) 또는 층이 다른 구성 요소 또는 층의 "위(on)" 또는 "상(on)"으로 지칭되는 것은 다른 구성 요소 또는 층의 바로 위 뿐만 아니라 중간에 다른 층 또는 다른 구성 요소를 개재한 경우를 모두 포함한다. 반면, 구성 요소가 "직접 위(directly on)" 또는 "바로 위"로 지칭되는 것은 중간에 다른 구성 요소 또는 층을 개재하지 않은 것을 나타낸다.When an element or layer is referred to as being "on" or "on" another element or layer, it means not only directly on the other element or layer, but also intervening other layers or other elements. Including all intervening cases. On the other hand, when a component is referred to as “directly on” or “directly on”, it indicates that no other component or layer is intervening.

공간적으로 상대적인 용어인 "아래(below)", "아래(beneath)", "하부(lower)", "위(above)", "상부(upper)" 등은 도면에 도시되어 있는 바와 같이 하나의 구성 요소 또는 다른 구성 요소들과의 상관관계를 용이하게 기술하기 위해 사용될 수 있다. 공간적으로 상대적인 용어는 도면에 도시되어 있는 방향에 더하여 사용시 또는 동작시 소자의 서로 다른 방향을 포함하는 용어로 이해되어야 한다.The spatially relative terms "below", "beneath", "lower", "above", "upper", etc. It can be used to easily describe a component or its correlation with other components. Spatially relative terms should be understood as encompassing different orientations of elements in use or operation in addition to the orientations shown in the figures.

예를 들면, 도면에 도시되어 있는 구성 요소를 뒤집을 경우, 다른 구성 요소의 "아래(below)" 또는 "아래(beneath)"로 기술된 구성 요소는 다른 구성 요소의 "위(above)"에 놓여질 수 있다. 따라서, 예시적인 용어인 "아래"는 아래와 위의 방향을 모두 포함할 수 있다. 구성 요소는 다른 방향으로도 배향될 수 있고, 이에 따라 공간적으로 상대적인 용어들은 배향에 따라 해석될 수 있다.For example, if you flip a component that is shown in a drawing, a component described as "below" or "beneath" another component will be placed "above" the other component. can Thus, the exemplary term “below” may include directions of both below and above. Elements may also be oriented in other orientations, and thus spatially relative terms may be interpreted according to orientation.

어떤 구성 요소가 다른 구성 요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성 요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성 요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성 요소가 다른 구성 요소에 "직접 연결되어" 있다거나 "직접 접속되어"있다고 언급된 때에는, 중간에 다른 구성 요소가 존재하지 않는 것으로 이해되어야 할 것이다.It is understood that when an element is referred to as being "connected" or "connected" to another element, it may be directly connected or connected to the other element, but other elements may exist in the middle. It should be. On the other hand, when a component is referred to as “directly connected” or “directly connected” to another component, it should be understood that no other component exists in the middle.

이하의 설명에서 사용되는 구성 요소에 대한 접미사 "모듈" 및 "부"는 명세서 작성의 용이함만이 고려되어 부여되거나 혼용되는 것으로서 그 자체로 서로 구별되는 의미 또는 역할을 갖는 것은 아니다.The suffixes "module" and "unit" for components used in the following description are given or used interchangeably in consideration of ease of writing the specification, and do not have meanings or roles that are distinct from each other by themselves.

본 개시의 목적 및 효과, 그리고 그것들을 달성하기 위한 기술적 구성들은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 본 개시를 설명하는데 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 개시의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 개시에서의 기능을 고려하여 정의된 용어들로써 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다.Objects and effects of the present disclosure, and technical configurations for achieving them will become clear with reference to embodiments described later in detail in conjunction with the accompanying drawings. In describing the present disclosure, if it is determined that a detailed description of a known function or configuration may unnecessarily obscure the gist of the present disclosure, the detailed description will be omitted. In addition, terms to be described below are terms defined in consideration of functions in the present disclosure, which may vary according to the intention or custom of a user or operator.

그러나 본 개시는 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있다. 단지 본 실시예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다.However, the present disclosure is not limited to the embodiments disclosed below and may be implemented in a variety of different forms. These embodiments are provided only to make this disclosure complete and to completely inform those skilled in the art of the scope of the disclosure, and the disclosure is only defined by the scope of the claims. . Therefore, the definition should be made based on the contents throughout this specification.

이하, 도 1 내지 도 10을 통해 본 개시에 따른 다트 게임 장치, 다트 게임 시스템, 그리고 다트 게임 장치를 활용한 다트 게임 방법에 대해 설명한다. 한편, 본 개시에서 설명의 편의를 위해 다트 게임을 수행하는 플레이어와 다트 게임을 플레이하는 다트 게임 장치는 서로 구별해서 기재하지 않고 서로 혼용하였으며, 첨부된 도면은 본 명세서에 개시된 실시 예를 쉽게 이해할 수 있도록 하기 위한 것일 뿐, 첨부된 도면에 의해 본 명세서에 개시된 기술적 사상이 제한되지 않으며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다.Hereinafter, a dart game device according to the present disclosure, a dart game system, and a dart game method using the dart game device will be described with reference to FIGS. 1 to 10 . Meanwhile, in the present disclosure, for convenience of description, the player who plays the dart game and the dart game device who plays the dart game are used interchangeably without distinguishing from each other, and the accompanying drawings make it easy to understand the embodiments disclosed herein. It should be understood that the technical idea disclosed in this specification is not limited by the accompanying drawings, and includes all changes, equivalents or substitutes included in the spirit and technical scope of the present invention.

도 1은 본 개시의 몇몇 실시예에 따른 다트 게임 시스템의 일례를 설명하기 위한 블록 구성도이다.1 is a block diagram illustrating an example of a dart game system according to some embodiments of the present disclosure.

도 1을 참조하면, 다트 게임 시스템(10000)은 다트 게임 장치(1000), 적어도 하나의 다른 디바이스(2000), 다트 게임 서버(3000) 및 네트워크(400)를 포함할 수 있다. 다만, 상술한 구성 요소들은 다트 게임 시스템(10000)을 구현하는데 있어서 필수적인 것은 아니어서, 다트 게임 시스템(10000)은 위에서 열거된 구성요소들 보다 많거나, 또는 적은 구성요소들을 가질 수 있다.Referring to FIG. 1 , a dart game system 10000 may include a dart game device 1000, at least one other device 2000, a dart game server 3000, and a network 400. However, the above-described components are not essential to implement the dart game system 10000, so the dart game system 10000 may have more or fewer components than the components listed above.

다트 게임 장치(1000)는 온라인 상으로 다트 게임에 참여하고 있는 플레이어에게 다트 게임을 제공할 수 있다. 다만, 다트 게임 장치(1000)는 플레이어에게 온라인 다트 게임 만을 제공하는 것은 아니고, 오프라인 다트 게임을 제공할 수도 있다. 이하, 본 개시에 따른 다트 게임 장치(1000)의 일례는 도 2 내지 도 10을 통해 설명된다.The dart game device 1000 may provide a dart game to players participating in the dart game online. However, the dart game device 1000 may not only provide online dart games to players, but may also provide offline dart games. Hereinafter, an example of the dart game device 1000 according to the present disclosure will be described with reference to FIGS. 2 to 10 .

다른 디바이스(2000)는 다트 게임 장치(1000) 외 플레이어와 관련된 디바이스들 중 적어도 하나일 수 있다. 예를 들어, 다른 디바이스(2000)는 다트 게임 장치(1000) 외 다른 다트 게임 장치, 다트 게임 장치(1000)와 관련된 모바일 디바이스(예컨대, 다트 게임 관련 소프트웨어가 설치된 사용자의 스마트폰 등) 또는 서버 등일 수 있다.The other device 2000 may be at least one of devices related to players other than the dart game device 1000 . For example, the other device 2000 may be a dart game device other than the dart game device 1000, a mobile device related to the dart game device 1000 (eg, a user's smartphone on which dart game related software is installed), a server, and the like. can

일례로, 다른 디바이스(2000a)는 다트 게임 장치(1000)에서 제공되는 다트 게임에 참여 중이거나, 또는 다트 게임에 참여하기 위하여 대기 중인 적어도 하나의 다트 게임 장치일 수 있다.As an example, the other device 2000a may be at least one dart game device participating in a dart game provided by the dart game device 1000 or waiting to participate in the dart game.

다른 일례로, 다른 디바이스(2000b)는 다트 게임 장치(1000)와 연동되어, 다트 게임 장치(1000)가 참여 중인 다트 게임과 관련된 정보를 플레이어에게 표현하기 위한 모바일 디바이스 일 수 있다.As another example, the other device 2000b may be a mobile device for expressing information related to the dart game in which the dart game device 1000 is participating by being interworked with the dart game device 1000 to the player.

또 다른 일례로, 다른 디바이스(2000c)는 복수의 다트 게임 장치들에게 동일한 다트 게임을 제공하기 위한 서버일 수도 있다. 여기서의 서버는 도 1에 도시된 다트 게임 서버(3000)와 동일한 장치 이거나, 또는 물리적으로 분리된 다른 서버일 수도 있다. 다만, 이에 한정되는 것은 아니다.As another example, the other device 2000c may be a server for providing the same dart game to a plurality of dart game devices. The server here may be the same device as the dart game server 3000 shown in FIG. 1 or may be another physically separated server. However, it is not limited thereto.

다트 게임 서버(3000)는 예를 들어, 마이크로프로세서, 메인프레임 컴퓨터, 디지털 프로세서, 휴대용 디바이스 또는 디바이스 제어기 등과 같은 임의의 타입의 컴퓨터 시스템 또는 컴퓨터 디바이스를 포함할 수 있다.The dart game server 3000 may include any type of computer system or computer device, such as, for example, a microprocessor, a mainframe computer, a digital processor, a portable device, or a device controller.

본 개시에서, 다트 게임 서버(3000)는 온라인 상으로 진행되는 다트 게임에 참여할 다트 게임 플레이어를 결정할 수 있다.In the present disclosure, the dart game server 3000 may determine a dart game player to participate in an online dart game.

구체적으로, 다트 게임 서버(3000)는 제 1 게임에 참여한 복수의 디바이스들로부터 제 1 플레이 결과 정보를 수신할 수 있다. 그리고 다트 게임 서버(3000)는 제 1 플레이 결과 정보에 기초하여, 제 2 게임에 참여할 복수의 플레이어들을 결정할 수 있다. 여기서, 플레이 결과 정보는 다트 게임에 참여한 플레이어들이 다트 게임을 진행함에 따라 생성되는 다트 게임의 결과에 대한 정보일 수 있다. 플레이 결과 정보는 다트 게임의 플레이에 따라 생성되는 임의의 형태의 결과 정보를 포함할 수 있다.Specifically, the dart game server 3000 may receive first play result information from a plurality of devices participating in the first game. Also, the dart game server 3000 may determine a plurality of players to participate in the second game based on the first play result information. Here, the play result information may be information about a result of the dart game generated as players participating in the dart game proceed with the dart game. The play result information may include any type of result information generated according to the play of the dart game.

일례로, 플레이 결과 정보는, 플레이어 각각의 다트 게임 결과와 관련된 등수에 대한 정보, 플레이어 각각의 다트 게임 결과와 관련된 점수에 대한 정보, 플레이어의 다트 게임을 플레이하는 영상에 대한 정보, 플레이어를 나타내는 사전 저장된 영상에 대한 정보, 플레이어 각각이 다트 게임을 끝낸 시간에 대한 정보 또는 다트 게임에 참여한 플레이어 각각의 식별 정보 중 적어도 하나를 포함할 수 있다. 다만, 이에 한정되는 것은 아니다.As an example, the play result information may include information about ranks related to each player's dart game result, information about scores related to each player's dart game result, information about an image of a player playing a dart game, and a dictionary representing the player. It may include at least one of information about the stored image, information about the time when each player finished the dart game, or identification information of each player who participated in the dart game. However, it is not limited thereto.

예를 들어, 다트 게임 서버(3000)는 제 1 플레이 결과 정보에 포함된 등수(ranking)에 대한 정보에 기초하여, 기 설정된 등수를 갖는 복수의 플레이어들을 제 2 다트 게임에 참여할 플레이어로 결정할 수 있다. 다만, 이에 한정되는 것은 아니다.For example, the dart game server 3000 may determine a plurality of players having preset rankings as players to participate in the second dart game based on ranking information included in the first play result information. . However, it is not limited thereto.

본 개시에서, 다트 게임 서버(3000)는 복수개로 구비될 수 있다. 그리고, 복수의 다트 게임 서버들 각각은 다트 게임 장치(1000) 또는 다른 디바이스(2000) 각각에 적어도 하나의 다트 게임을 분배할 수 있다.In the present disclosure, a plurality of dart game servers 3000 may be provided. Also, each of the plurality of dart game servers may distribute at least one dart game to each of the dart game device 1000 or other device 2000 .

하나의 다트 게임 서버(3000)로 구성되는 다트 게임 시스템(10000)은 네트워크 등의 한계로 인하여 플레이어들에게 쾌적한 다트 게임을 제공하기 어려울 수도 있다. 따라서, 본 개시의 일 실시예에서, 다트 게임 서버(3000)는 복수개로 구성될 수도 있다. 복수개의 다트 게임 서버들 각각은 적어도 하나의 다트 게임 세션 또는 적어도 하나의 하위 세션을 플레이어들에게 분배할 수 있다. 다만, 이에 한정되는 것은 아니다.The dart game system 10000 composed of one dart game server 3000 may be difficult to provide a pleasant dart game to players due to limitations of the network or the like. Accordingly, in one embodiment of the present disclosure, a plurality of dart game servers 3000 may be configured. Each of the plurality of dart game servers may distribute at least one dart game session or at least one sub-session to players. However, it is not limited thereto.

네트워크(4000)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(LAN: Local Area Network), 원거리 통신망(WAN: Wide Area Network) 등 다양한 통신망으로 구성될 수 있다.The network 4000 may be configured regardless of its communication mode, such as wired and wireless, and may be configured with various communication networks such as a local area network (LAN) and a wide area network (WAN).

본 개시에서 네트워크(4000) 또는 다트 게임 서버(3000)는 클라우드(cloud) 기반의 시스템일 수 있다. 여기서, 클라우드 기반의 시스템은 네트워크 자원(resource)을 사용자(다트 게임 장치)가 공유하는 시스템으로 사용자가 필요한 만큼 대여하여 원하는 시점에 네트워크를 통해 사용하는 컴퓨팅 환경일 수 있다. 이러한 클라우드 기반의 시스템은 퍼블릭 클라우드(Public Cloud), 사설 클라우드(Private Cloud), 하이브리드 클라우드(Hybrid Cloud), 커뮤니티 클라우드(Community Cloud)와 같은 배치모델(Deployment Model) 또는 IaaS(Infrastructure as a Service), PaaS(Platform as a Service), SaaS(Software as a Service)와 같은 서비스 모델(Service Model) 등을 포함할 수 있다. 다만, 본 개시에서의 네트워크(4000) 또는 다트 게임 서버(3000)는 이러한 클라우드 기반 시스템에 한정되는 것은 아니며, 중앙 집중 방식 또는 엣지 컴퓨팅 방식의 네트워크(4000) 또는 다트 게임 서버(3000)도 본 개시내용의 실시예에 따라 구현 가능할 것이다.In the present disclosure, the network 4000 or the dart game server 3000 may be a cloud-based system. Here, the cloud-based system is a system in which users (dart game devices) share network resources, and may be a computing environment in which a user borrows as much as necessary and uses it through a network at a desired time. Such a cloud-based system is a deployment model such as public cloud, private cloud, hybrid cloud, or community cloud, or IaaS (Infrastructure as a Service), A service model such as PaaS (Platform as a Service) and SaaS (Software as a Service) may be included. However, the network 4000 or the dart game server 3000 in the present disclosure is not limited to such a cloud-based system, and the centralized or edge computing network 4000 or the dart game server 3000 may also be used in the present disclosure. It will be possible to implement according to the embodiment of the content.

상술한 구성에 따르면, 다트 게임 시스템(10000)은 다트 게임 장치(1000), 다른 디바이스(2000) 및 다트 게임 서버(3000)으로 구성되어, 온라인 상으로 다트 게임에 참여하고 있는 복수의 플레이어들에게 실시간 다트 게임을 제공할 수 있다.According to the above configuration, the dart game system 10000 is composed of the dart game device 1000, the other device 2000, and the dart game server 3000, and provides information to a plurality of players participating in the online dart game. A real-time dart game may be provided.

한편, 다트 게임 장치(1000) 또는 다른 디바이스(2000)는 플레이어가 다트 게임을 수행할 수 있도록 하는 구성 요소들을 포함할 수 있다. 이하, 도 2 내지 도 3을 통해 본 개시에 따른 다트 게임 장치(1000)의 구성 요소들에 대해 설명한다.Meanwhile, the dart game device 1000 or other device 2000 may include components that enable a player to play a dart game. Hereinafter, components of the dart game device 1000 according to the present disclosure will be described with reference to FIGS. 2 and 3 .

도 2는 본 개시의 몇몇 실시예에 따른 다트 게임 장치의 일례를 설명하기 위한 블록 구성도이다. 도 3은 본 개시의 몇몇 실시예에 따른 다트 게임 장치의 일례를 설명하기 위한 다른 도면이다.2 is a block diagram illustrating an example of a dart game device according to some embodiments of the present disclosure. 3 is another diagram for explaining an example of a dart game device according to some embodiments of the present disclosure.

도 2를 참조하면, 다트 게임 장치(1000)는 제어부(100), 디스플레이부(120), 저장부(110), 커버부(130), 카메라부(140), 네트워크 통신부(150), 센싱부(160), 사용자 입력부(170), 조명부(180), 음향 출력부(190), 다트 타겟부(200) 및 바디 구조체(300) 중 적어도 하나를 포함할 수 있다. 다만, 이에 한정되는 것은 아니다.Referring to FIG. 2 , the dart game device 1000 includes a control unit 100, a display unit 120, a storage unit 110, a cover unit 130, a camera unit 140, a network communication unit 150, and a sensing unit. 160, a user input unit 170, a lighting unit 180, a sound output unit 190, a dart target unit 200, and at least one of the body structure 300 may be included. However, it is not limited thereto.

제어부(100)는 통상적으로 다트 게임 장치(1000)의 전반적인 동작을 처리할 수 있다. 제어부(100)는 다트 게임 장치(1000)의 구성요소들을 통해 입력 또는 출력되는 신호, 데이터, 정보 등을 처리하거나 저장부(230)에 저장된 응용 프로그램을 구동함으로써, 사용자에게 적절한 정보 또는 기능을 제공 또는 처리할 수 있다.The control unit 100 may normally process overall operations of the dart game device 1000. The control unit 100 provides appropriate information or functions to the user by processing signals, data, information, etc. input or output through the components of the dart game device 1000 or by driving an application program stored in the storage unit 230. or can be processed.

예를 들어, 다트 게임의 경우, 제어부(100)는 센싱부(160)를 통해 감지된 플레이어의 다트핀 투척에 대한 점수를 결정할 수 있다. 또한, 제어부(100)는 결정된 점수를 네트워크 통신부(150)를 통해 다른 디바이스(2000)에 송신할 수 있다. 또한, 제어부(100)는 네트워크 통신부(150)를 통해 다른 디바이스(2000)로부터 다트 게임과 관련된 점수를 포함하는 플레이 관련 데이터를 수신할 수 있다. 그리고, 제어부(100)는 다른 플레이어의 점수를 포함하는 플레이 관련 데이터 및 다트 게임 장치에서 결정된 점수에 기초하여, 다트 게임에 관련된 정보가 디스플레이부(120)에 디스플레이되도록 디스플레이부(120)를 제어할 수 있다. 여기서, 플레이 관련 데이터는 다트 게임에 참여한 플레이어가 다트 게임을 진행함에 따라 생성되거나 또는 다트 게임에 참여하기 위해 사용될 수 있는 모든 정보를 포함하는 데이터일 수 있다. 그리고, 플레이 관련 데이터는 다트 게임이 변경되는 시점에 다시 수신될 수 있다.For example, in the case of a dart game, the controller 100 may determine a score for throwing a dart pin by a player detected through the sensing unit 160 . Also, the controller 100 may transmit the determined score to the other device 2000 through the network communication unit 150 . Also, the control unit 100 may receive play-related data including scores related to the dart game from the other device 2000 through the network communication unit 150 . Then, the controller 100 controls the display unit 120 so that information related to the dart game is displayed on the display unit 120 based on the play-related data including scores of other players and the score determined by the dart game device. can Here, the play-related data may be generated as a player participating in the dart game progresses or may be data including all information that can be used to participate in the dart game. Also, the play-related data may be received again when the dart game is changed.

예를 들어, 플레이 관련 데이터는 다트 게임에 참여한 플레이어 각각의 식별 정보, 다트 게임에 참여한 플레이어 각각의 다트 게임과 관련된 등수에 대한 정보, 플레이어의 다트 게임을 플레이하는 영상에 대한 정보, 다트 게임에 참여한 플레이어 각각의 다트 게임에 대한 플레이 결과 데이터, 플레이어를 나타내는 사전 저장된 영상에 대한 정보 또는 다트 게임에 참여한 플레이어 각각의 다트 게임과 관련된 점수에 대한 정보 중 적어도 하나를 포함할 수 있다.For example, the play-related data includes identification information of each player who participated in the dart game, information about ranks related to the dart game of each player who participated in the dart game, information about a video of the player playing the dart game, and participation in the dart game. It may include at least one of play result data for each player's dart game, information about a pre-stored image representing the player, or information about scores related to the dart game of each player participating in the dart game.

본 개시의 몇몇 실시예에 있어서, 제어부(100)는 다트핀 히트 위치 식별 방법을 수행할 수 있다. 다트핀 히트 위치 식별 방법은 도 4 내지 도 7을 참조하여 자세히 설명된다. In some embodiments of the present disclosure, the controller 100 may perform a dart pin hit location identification method. A method for identifying a dart pin hit location will be described in detail with reference to FIGS. 4 to 7 .

본 개시의 몇몇 실시예에 있어서, 제어부(100)는 다트핀 위치 식별을 위한 트레이닝 데이터셋을 생성하는 방법을 수행할 수 있다. 다트핀 위치 식별을 위한 트레이닝 데이터셋을 생성하는 방법은 도 8을 참조하여 자세히 설명된다. In some embodiments of the present disclosure, the controller 100 may perform a method of generating a training dataset for identifying a dart pin location. A method of generating a training dataset for identifying dart pin locations will be described in detail with reference to FIG. 8 .

저장부(110)는 메모리 및/또는 영구저장매체를 포함할 수 있다. 메모리는 플래시 메모리 타입(flash memory type), 하드디스크 타입(hard disk type), 멀티미디어 카드 마이크로 타입(multimedia card micro type), 카드 타입의 메모리(예를 들어 SD 또는 XD 메모리 등), 램(Random Access Memory, RAM), SRAM(Static Random Access Memory), 롬(Read-Only Memory, ROM), EEPROM(Electrically Erasable Programmable Read-Only Memory), PROM(Programmable Read-Only Memory), 자기 메모리, 자기 디스크, 광디스크 중 적어도 하나의 타입의 저장매체를 포함할 수 있다.The storage unit 110 may include a memory and/or a permanent storage medium. Memory is a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (eg SD or XD memory, etc.), RAM (Random Access Memory, RAM), SRAM (Static Random Access Memory), ROM (Read-Only Memory, ROM), EEPROM (Electrically Erasable Programmable Read-Only Memory), PROM (Programmable Read-Only Memory), magnetic memory, magnetic disk, optical disk At least one type of storage medium may be included.

저장부(110)는 다트 게임과 관련된 적어도 하나의 영상을 사전 저장하고 있을 수 있다. 이 경우, 제어부(100)는 네트워크 통신부(150)를 통해 다른 디바이스(2000)의 플레이 관련 데이터를 수신함에 따라, 사전 저장된 적어도 하나의 영상 중 플레이 관련 데이터와 관련된 디스플레이 영상을 결정할 수 있다. 그리고, 디스플레이부(120)는 결정된 디스플레이 영상을 디스플레이할 수 있다.The storage unit 110 may pre-store at least one image related to the dart game. In this case, the controller 100 may determine a display image related to the play-related data from among at least one pre-stored image as play-related data of the other device 2000 is received through the network communication unit 150 . Also, the display unit 120 may display the determined display image.

구체적으로, 디스플레이부(120)에 디스플레이되는 다트 게임에 관련된 정보는 다른 디바이스(2000)의 플레이어의 플레이 관련 영상일 수 있다. 네트워크 통신부(150)가 다른 디바이스(2000)로부터 카메라부를 통해 촬영된 영상을 직접 수신한 경우, 디스플레이부(120)는 수신된 영상을 디스플레이할 수 있다.In detail, the information related to the dart game displayed on the display unit 120 may be a play-related image of a player of the other device 2000 . When the network communication unit 150 directly receives an image captured through the camera unit from another device 2000, the display unit 120 may display the received image.

그러나, 다트 게임 장치(1000)와 다른 디바이스(2000) 간의 트래픽(traffic) 상황에 따라, 네트워크 통신부(150)는 다른 디바이스(2000)로부터 플레이 관련 영상을 포함하지 않는 플레이 관련 데이터만 수신할 수도 있다. 이 경우, 제어부(100)는 저장부(110)에 사전 저장된 적어도 하나의 영상 중 플레이 관련 데이터와 관련된 디스플레이 영상을 디스플레이부(120)에 디스플레이할 디스플레이 영상으로 결정할 수 있다.However, according to traffic conditions between the dart game device 1000 and other devices 2000, the network communication unit 150 may receive only play-related data not including play-related images from the other device 2000. . In this case, the controller 100 may determine a display image related to play-related data among at least one image previously stored in the storage unit 110 as a display image to be displayed on the display unit 120 .

예를 들어, 제어부(100)는 네트워크 통신부(150)를 통해 수신한 다른 디바이스(2000)의 플레이 관련 데이터에 기초하여, 다른 디바이스(2000)의 플레이어가 트리플(triple) 영역에 해당하는 점수를 맞췄다고 결정할 수 있다. 이 경우, 제어부(100)는 저장부(110)에 사전 저장된 복수의 디스플레이 영상 중 트리플과 관련된 디스플레이 영상을 디스플레이부(120)에 디스플레이할 디스플레이 영상으로 결정할 수 있다. For example, the controller 100 matches the score corresponding to the triple area by the player of the other device 2000 based on the play-related data of the other device 2000 received through the network communication unit 150. and can decide. In this case, the controller 100 may determine a display image related to the triple among a plurality of display images previously stored in the storage unit 110 as a display image to be displayed on the display unit 120 .

본 개시의 몇몇 실시예에 따라, 저장부(110)는 카메라부(140)를 통해 생성되는 다트 타겟 촬영 이미지 또는 다트 타겟 촬영 훈련 이미지를 저장할 수 있다. 다른 예로, 저장부(110)는 외부에서 수신되는 다트 타겟 촬영 이미지 또는 다트 타겟 촬영 훈련 이미지를 저장할 수 있다.According to some embodiments of the present disclosure, the storage unit 110 may store a dart target shooting image or a dart target shooting training image generated through the camera unit 140 . As another example, the storage unit 110 may store a dart target shooting image or a dart target shooting training image received from the outside.

디스플레이부(120)는 다트 게임 장치(1000)에서 처리되는 정보를 디스플레이(출력)할 수 있다.The display unit 120 may display (output) information processed by the dart game device 1000 .

예를 들어, 디스플레이부(120)는 네트워크 통신부(150)를 통해 수신한 다른 디바이스(2000)의 플레이 관련 데이터에 기초하여, 다트 게임에 관련된 정보를 디스플레이할 수 있다. 여기서, 다트 게임에 관련된 정보는 다른 디바이스(2000)의 플레이어의 플레이 관련 영상이거나 또는, 다른 디바이스(2000)의 다트 게임 플레이 결과 정보에 기초하여 생성된 영상일 수 있다. For example, the display unit 120 may display information related to a dart game based on play-related data of the other device 2000 received through the network communication unit 150 . Here, the information related to the dart game may be an image related to the play of the player of the other device 2000 or an image generated based on the result information of the dart game play of the other device 2000.

디스플레이부(120)는 다트 게임 장치(1000)의 전면에 구비될 수 있다.The display unit 120 may be provided on the front of the dart game device 1000.

일례로, 도 3의 (a)를 참조하면, 디스플레이부(120)는 다트 게임 장치(1000)의 전면에 구비되어, 다트 게임과 관련된 정보를 디스플레이할 수 있다.As an example, referring to (a) of FIG. 3 , the display unit 120 may be provided on the front of the dart game device 1000 to display information related to the dart game.

본 개시에서, 디스플레이부(120)는 복수의 디스플레이 영역들을 포함할 수 있다. 예를 들어, 디스플레이부(120)는 제 1 디스플레이 영역(121) 및 제 2 디스플레이 영역(122)을 포함할 수 있다. 제 1 디스플레이 영역(121) 및 제 2 디스플레이 영역(122) 각각은 제어부(100)에 의해 독립적으로 제어될 수도 있다. 또는, 제 1 디스플레이 영역(121) 및 제 2 디스플레이 영역(122)에 걸쳐 단일한 이미지가 구현되도록 제 1 디스플레이 영역(121) 및 제 2 디스플레이 영역(122) 각각이 제어부(100)에 의해 제어될 수 있다. 일례로, 제 1 디스플레이 영역(121) 및 제 2 디스플레이 영역(122)은 서로 독립적인 디스플레이 모듈의 형태로 동작할 수 있다. 다른 예시로, 제 1 디스플레이 영역(121) 및 제 2 디스플레이 영역(122)은 별도의 독립적인 모듈이 아닌 하나의 모듈일 수 있다.In the present disclosure, the display unit 120 may include a plurality of display areas. For example, the display unit 120 may include a first display area 121 and a second display area 122 . Each of the first display area 121 and the second display area 122 may be independently controlled by the controller 100 . Alternatively, each of the first display area 121 and the second display area 122 may be controlled by the controller 100 so that a single image is implemented across the first display area 121 and the second display area 122. can For example, the first display area 121 and the second display area 122 may operate as independent display modules. As another example, the first display area 121 and the second display area 122 may be a single module rather than separate independent modules.

도 3의 (b)를 참조하면, 디스플레이부(120)는 적어도 하나의 디스플레이 유닛으로 구현될 수 있다. 또한, 적어도 하나의 디스플레이 유닛들 각각은 제어부(100)에 의해 독립적으로 제어될 수 있다.Referring to (b) of FIG. 3 , the display unit 120 may be implemented as at least one display unit. Also, each of the at least one display unit may be independently controlled by the controller 100 .

예를 들어, 디스플레이부(120)는 다트 타겟부(200)의 하부에 위치하고 제 1 디스플레이 영역(121)을 구비하는 제 1 디스플레이 유닛 및 다트 타겟부(200)의 상부에 위치하고 제 2 디스플레이 영역(122)을 구비하는 제 2 디스플레이 유닛을 포함할 수 있다. 그리고, 제 1 디스플레이 유닛 및 제 2 디스플레이 유닛 각각은 제어부(100)에 의해 독립적으로 제어될 수 있다.For example, the display unit 120 is located below the dart target unit 200 and has a first display area 121 and a first display unit located above the dart target unit 200 and having a second display area ( 122) may include a second display unit. Also, each of the first display unit and the second display unit may be independently controlled by the controller 100 .

커버부(130)는 디스플레이부(120)와 인접하게 구비되어, 디스플레이부(120)를 보호할 수 있다.The cover unit 130 is provided adjacent to the display unit 120 to protect the display unit 120 .

예를 들어, 도 3의 (a)를 참조하면, 커버부(130)는 스로우 라인으로부터 상향 연장된 가상의 면과 디스플레이부(120) 사이에 위치할 수 있다. 이 경우, 커버부(130)는 디스플레이부(120)와 인접하게 위치함으로써, 디스플레이부(120)의 파손 위험을 감소시킬 수 있다.For example, referring to (a) of FIG. 3 , the cover unit 130 may be positioned between a virtual surface extending upward from the throw line and the display unit 120 . In this case, the cover unit 130 is positioned adjacent to the display unit 120, thereby reducing the risk of damage to the display unit 120.

다시 도 2를 참조하면, 카메라부(140)는 하나 이상의 카메라들을 포함할 수 있다. 카메라부(140)에서 처리된 화상 프레임은 저장부(110)에 저장되거나 네트워크 통신부(150)를 통해 외부로 전송될 수 있다. 카메라부(140)는 사용환경에 따라 2 개 이상이 구비될 수 있다.Referring back to FIG. 2 , the camera unit 140 may include one or more cameras. The image frames processed by the camera unit 140 may be stored in the storage unit 110 or transmitted to the outside through the network communication unit 150 . Two or more camera units 140 may be provided depending on the use environment.

본 개시에서, 다트 게임 장치(1000)의 제어부(100)는 카메라부(140)를 통해 촬영된 플레이어가 포함된 영상에 기초하여, 다트 게임 장치(1000)에 대한 플레이어의 로그인 요청을 수락하거나 또는 거절할 수 있다.In the present disclosure, the control unit 100 of the dart game device 1000 accepts a player's login request for the dart game device 1000 based on an image including the player photographed through the camera unit 140, or can refuse

일례로, 제어부(100)는 사용자 입력부(170)를 통해 플레이어로부터 다트 게임 장치(1000)에 로그인하기 위한 입력을 받을 수 있다. 이 경우, 제어부(100)는 현재 사용자 입력부(170)를 조작 중인 플레이어가 포함된 영상이 촬영되도록 카메라부(140)를 제어할 수 있다. 제어부(100)는 사전 저장된 플레이어의 식별 정보에 포함된 안면 정보와 촬영된 영상으로부터 인식된 안면 정보 간의 비교에 기초하여, 플레이어의 로그인 요청을 수락하거나 또는 거절할 수 있다.As an example, the control unit 100 may receive an input for logging in to the dart game device 1000 from a player through the user input unit 170 . In this case, the controller 100 may control the camera unit 140 to capture an image including a player currently manipulating the user input unit 170 . The controller 100 may accept or reject the player's login request based on a comparison between face information included in pre-stored player identification information and face information recognized from a photographed image.

다른 예시로, 제어부(100)는 디스플레이부(120)를 통해 사용자의 로그인 입력을 요청할 수 있다. 디스플레이부(120)는 제어부(100)의 제어에 따라, 사용자로 하여금 카메라 촬영을 통한 로그인 혹은 사용자 입력부(170)를 통한 로그인을 진행하도록 필요한 정보를 출력할 수 있다.As another example, the controller 100 may request a user's login input through the display unit 120 . Under the control of the controller 100, the display unit 120 may output information necessary for a user to log in through camera photography or log in through the user input unit 170.

다른 예시로, 제어부(100)는 다른 디바이스(2000)와의 통신을 통해 다트 게임 장치(1000)로의 사용자 로그인을 허용할 수도 있다. 이 경우, 제어부(100)는 다른 디바이스(2000)와의 사용자 인증을 위한 정보가 송수신되도록 네트워크 통신부(150)를 제어할 수 있다.As another example, the controller 100 may allow a user to log in to the dart game device 1000 through communication with another device 2000 . In this case, the control unit 100 may control the network communication unit 150 to transmit/receive information for user authentication with the other device 2000 .

본 개시에서 제어부(100)는 플레이어의 최초 로그인 동작 시 이후에도 사전 저장된 플레이어의 식별 정보에 포함된 안면 정보와 촬영된 영상으로부터 인식된 안면 정보를 비교할 수 있다.In the present disclosure, the controller 100 may compare face information included in pre-stored player identification information with face information recognized from a captured image even after the player's first log-in operation.

구체적으로, 제어부(100)는 다트 게임 장치(1000)의 플레이어와 관련된 플레이 영상을 다른 디바이스(2000)에게 전송하기 위하여, 카메라부(140)를 통해 플레이 영상을 촬영할 수 있다. 제어부(100)는 새롭게 촬영된 플레이 영상으로부터 인식된 안면 정보와 로그인 시 이용된 식별 정보에 포함된 안면 정보를 비교할 수 있다. 제어부(100)는 비교 결과에 기초하여, 현재 플레이어가 로그인 당시의 플레이어와 동일한 플레이어인지 여부를 결정할 수 있다. 이 경우, 다트 게임 장치(1000) 및 다른 디바이스(2000)가 온라인을 통해 다트 게임에 참여함에 따라 발생될 수 있는 대리 플레이어의 참석과 같은 부정 행위가 방지될 수 있다. 여기서, 대리 플레이어는 다트 게임 장치(1000)에 로그인을 한 플레이어가 아닌 다른 플레이어일 수 있다. Specifically, the controller 100 may capture a play image through the camera unit 140 to transmit a play image related to the player of the dart game device 1000 to the other device 2000 . The controller 100 may compare facial information recognized from a newly captured play video with facial information included in identification information used at login. Based on the comparison result, the controller 100 may determine whether the current player is the same player as the player at the time of login. In this case, cheating, such as participation of a substitute player, which may occur as the dart game device 1000 and other devices 2000 participate in the dart game online can be prevented. Here, the proxy player may be a player other than the player who logs in to the dart game device 1000.

다른 예시로, 제어부(100)는 플레이어의 플레이 동작을 포함하는 사전 저장된 플레이 영상과 해당 플레이어의 현재 플레이 영상을 비교함으로써, 다트 게임 플레이어의 부정행위 여부를 판단할 수 있다. 예를 들어, 현재 플레이 영상에 포함된 플레이어의 다트핀 투사 영상이 해당 플레이어의 과거 다트핀 투사 영상과 사전 결정된 임계값 이상의 차이가 존재하는 경우, 제어부(100)는 현재 다트핀 투사 영상의 부정행위 가능성이 높다고 결정할 수 있다. 2개 이상의 영상을 비교하는데 있어서, 영상 처리 혹은 영상 분석과 관련된 임의의 딥러닝 알고리즘이 사용될 수 있다.As another example, the controller 100 may determine whether the dart game player cheats by comparing a pre-stored play image including a player's play motion with a current play image of the corresponding player. For example, if there is a difference between the dart pin projection image of the player included in the current play image and the past dart pin projection image of the corresponding player by a predetermined threshold value or more, the controller 100 acts as a cheat on the current dart pin projection image. probabilities can be determined. In comparing two or more images, any deep learning algorithm related to image processing or image analysis may be used.

본 개시의 몇몇 실시예에 있어서, 카메라부(140)는 제어부(100)의 제어에 의해 다트 타겟 촬영 이미지 또는 다트 타겟 촬영 훈련 이미지를 생성할 수 있다. In some embodiments of the present disclosure, the camera unit 140 may generate a dart target shooting image or a dart target shooting training image under the control of the controller 100 .

네트워크 통신부(150)는 유선 및 무선 등과 같은 그 통신 양태를 가리지 않고 구성될 수 있으며, 단거리 통신망(LAN: Local Area Network), 원거리 통신망(WAN: Wide Area Network) 등 다양한 통신망으로 구성될 수 있다.The network communication unit 150 may be configured regardless of its communication mode, such as wired and wireless, and may be configured with various communication networks such as a local area network (LAN) and a wide area network (WAN).

네트워크 통신부(150)는 다른 디바이스(2000) 또는 다트 게임 서버(3000)와의 네트워크의 연결 상태 및 네트워크의 송수신 속도를 감지할 수 있다. 다만, 이에 한정되는 것은 아니고, 네트워크의 송수신 속도와 관련된 트래픽 정보 등은 다트 게임 서버(3000)로부터 수신될 수도 있다.The network communication unit 150 may detect a connection state of a network with another device 2000 or the dart game server 3000 and a transmission/reception speed of the network. However, it is not limited thereto, and traffic information related to the transmission/reception speed of the network may be received from the dart game server 3000.

네트워크 통신부(150)를 통해 수신된 데이터는 디스플레이부(120)에 디스플레이되거나, 또는 다른 디바이스(2000)로 전송될 수 있다.Data received through the network communication unit 150 may be displayed on the display unit 120 or transmitted to another device 2000 .

일례로, 네트워크 통신부(150)는 다른 디바이스(2000) 또는 다트 게임 서버(3000)로부터 다트 게임과 관련된 데이터를 수신한 경우, 수신된 데이터를 모바일 디바이스와 같은 다른 디바이스로 전송할 수도 있다. 본 개시에 따른 다트 게임 제공 방법은 둘 이상의 디바이스가 동일한 다트 게임에 참여하도록 할 수 있다. 이에 따라, 다트 게임 장치(1000)의 플레이어는 한 명, 두 명 또는 그 이상의 복수의 플레이어가 동일한 다트 게임에 참여할 때까지 기다려야할 수도 있다. 따라서, 네트워크 통신부(150)는 다트 게임과 관련된 데이터를 플레이어의 모바일 디바이스 등에 전송할 수 있다. 이 경우, 플레이어는 휴식 등을 취하며 모바일 디바이스를 통해 다른 플레이어와의 매칭(matching)이 이루어졌는지 여부를 확인할 수 있다.For example, when receiving data related to a dart game from another device 2000 or the dart game server 3000, the network communication unit 150 may transmit the received data to another device such as a mobile device. The dart game providing method according to the present disclosure may allow two or more devices to participate in the same dart game. Accordingly, the player of the dart game device 1000 may have to wait until one, two or more players participate in the same dart game. Accordingly, the network communication unit 150 may transmit data related to the dart game to the player's mobile device or the like. In this case, the player may take a break and check whether matching with another player has been made through the mobile device.

본 개시의 몇몇 실시예에 따르면, 제어부(100)는 다트 게임에 참여하는 플레이어의 수가 충족되지 않아, 다른 플레이어를 기다리는 상황인 경우, 다트 게임 장치(1000)의 플레이어에게 오프라인 다트 게임을 제공할 수 있다.According to some embodiments of the present disclosure, the controller 100 may provide an offline dart game to the player of the dart game device 1000 when the number of players participating in the dart game is not satisfied and waiting for another player. there is.

구체적으로, 제어부(100)는 사용자 입력부(170)를 통해 플레이어로부터 다트 게임에 참여하기 위한 입력을 받을 수 있다. 이 경우, 제어부(100)는 다트 게임을 생성하거나 또는 기 생성된 복수의 다트 게임 중 하나에 참여할 수 있다. 그러나, 다른 디바이스(2000)의 플레이어의 수가 부족한 경우, 다트 게임 장치(1000)의 플레이어는 매칭이 이루어질 때까지 기다려야 할 수 있다. 이 경우, 제어부(100)는 다른 플레이어와의 매칭이 이루어질 수 있도록 다른 플레이어를 검색하는 것과 연동하여 다트 게임 장치(1000)의 플레이어에게는 오프라인 다트 게임을 제공할 수 있다.Specifically, the controller 100 may receive an input for participating in a dart game from a player through the user input unit 170 . In this case, the controller 100 may create a dart game or participate in one of a plurality of previously created dart games. However, when the number of players of the other device 2000 is insufficient, the players of the dart game device 1000 may have to wait until matching is made. In this case, the controller 100 may provide an offline dart game to the player of the dart game device 1000 in conjunction with searching for another player so that matching with another player can be made.

본 개시의 몇몇 실시예에 따르면, 다트 게임에 참여할 플레이어의 수가 부족한 경우, 다트 게임 서버(3000)에 의해 더미(dummy) 플레이어가 생성될 수도 있다. 여기서, 더미 플레이어는 실제 플레이어가 아닌 가상 플레이어일 수 있다. 그리고, 다트 게임 서버(3000)는 생성된 더미 플레이어를 플레이어의 수가 부족한 적어도 하나의 다트 게임에 참여시킬 수 있다. 일례로, 더미 플레이어는 실제 플레이어의 플레이 결과 데이터를 기반으로 생성될 수 있어서, 더미 플레이어와 플레이하는 실제 플레이어가 마치 실제 상대방 플레이어와 실시간 다트 게임을 진행하는 것처럼, 임의의 실제 플레이어와 유사한 형태의 플레이를 수행할 수 있다. 이하, 본 개시에 따른 다트 게임 서버(3000)가 더미 플레이어를 생성하는 방법의 일례는 도 10을 통해 설명한다.According to some embodiments of the present disclosure, when the number of players participating in the dart game is insufficient, a dummy player may be created by the dart game server 3000 . Here, the dummy player may be a virtual player rather than a real player. Also, the dart game server 3000 may allow the generated dummy players to participate in at least one dart game where the number of players is insufficient. As an example, the dummy player may be created based on the play result data of the real player, so that the real player playing with the dummy player plays a similar form to any real player as if a real-time dart game was played with the real opponent player. can be performed. Hereinafter, an example of a method for generating a dummy player by the dart game server 3000 according to the present disclosure will be described with reference to FIG. 10 .

센싱부(160)는 다트 타겟부(200)에 대하여 행하여 진 플레이어의 플레이를 감지할 수 있다. 예를 들어, 센싱부(160)는 다트핀의 히트 위치를 감지할 수 있다. 센싱부(160)는 다트가 히트된 영역에 상응하는 점수를 전기적으로 변환하여 제어부(100)로 전송할 수 있다. 또한, 센싱부(160)는 다트핀이 히트된 영역에 대한 정보를 제어부(100)로 전송할 수 있고, 제어부(100)는 센싱부(160)로부터 획득한 다트핀의 히트 위치에 대한 정보에 기초하여 점수를 연산할 수 있다.The sensing unit 160 may detect the play of the losing player against the dart target unit 200 . For example, the sensing unit 160 may detect the hit position of the dart pin. The sensing unit 160 may electrically convert a score corresponding to the area where the dart is hit and transmit it to the control unit 100 . In addition, the sensing unit 160 may transmit information about the area where the dart pin is hit to the control unit 100, and the control unit 100 is based on the information on the hit position of the dart pin obtained from the sensing unit 160. score can be calculated.

예를 들어, 센싱부(160)는 투척된 다트핀에 의해 다트 타겟에 가해지는 압력을 센싱할 수 있다. 이 경우에, 센싱부(160)가 투척된 다트핀에 의해 다트 타겟에 가해지는 압력을 센싱하였다는 정보를 제어부(100)에 송신할 수 있다. 그리고, 제어부(100)는 다트핀의 히트 위치를 감지하기 위해 카메라부(140)에 의해 다트 타겟을 촬영하도록 제어할 수 있다. 제어부(100)는 촬영된 이미지를 이용하여 다트핀의 히트 위치에 대한 정보를 획득할 수 있고, 촬영된 이미지를 이용하여 획득한 다트핀의 히트 위치에 대한 정보에 기초하여 점수를 연산할 수 있다. For example, the sensing unit 160 may sense the pressure applied to the dart target by the thrown dart pin. In this case, information indicating that the sensing unit 160 has sensed the pressure applied to the dart target by the thrown dart pin may be transmitted to the control unit 100 . In addition, the controller 100 may control the dart target to be photographed by the camera unit 140 in order to detect the hit position of the dart pin. The controller 100 may obtain information on the hit location of the dart pin using the captured image, and calculate a score based on the information on the hit location of the dart pin obtained using the captured image. .

사용자 입력부(170)는 다트 게임 장치(1000)의 제어를 위한 사용자의 입력을 수신할 수 있다.The user input unit 170 may receive a user's input for controlling the dart game device 1000 .

예를 들어, 도 3의 (b)를 참조하면, 사용자 입력부(170)는 키 패드, 돔 스위치, 터치 패드(정압/정전), 조그 휠, 조그 스위치 중 적어도 하나로 구현될 수 있다. 다만, 이에 한정되는 것은 아니다.For example, referring to (b) of FIG. 3 , the user input unit 170 may be implemented as at least one of a keypad, a dome switch, a touch pad (static pressure/static), a jog wheel, and a jog switch. However, it is not limited thereto.

또한, 사용자 입력부(170)는 근거리 통신부(미도시)를 포함할 수 있다. 사용자 입력부(170)가 네트워크 통신부(150)의 근거리 통신부를 포함하는 경우, 사용자 입력부(170)는 외부 콘솔 디바이스에 의해 입력된 사용자 입력을 수신하도록 구성될 수 있다. 근거리 통신(short range communication) 기술로 블루투스(Bluetooth), RFID(Radio Frequency Identification), 적외선 통신(IrDA, infrared Data Association), UWB(Ultra Wideband), ZigBee 등이 이용될 수 있다.Also, the user input unit 170 may include a short-range communication unit (not shown). When the user input unit 170 includes the short-range communication unit of the network communication unit 150, the user input unit 170 may be configured to receive a user input input by an external console device. As a short range communication technology, Bluetooth, Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wideband (UWB), ZigBee, or the like may be used.

조명부(180)는 다트 게임 장치(1000)의 다양한 부분에 배치되어 다트 게임 장치(1000)의 플레이어에게 시각적 효과를 전달할 수 있다.The lighting unit 180 may be disposed in various parts of the dart game device 1000 to deliver visual effects to the player of the dart game device 1000.

예를 들어, 도 3의 (a)를 참조하면, 제 1 조명부(180-1)는 바디 구조체(300)의 전면 방향 돌출부를 따라, 수직 방향으로 연장되어 형성될 수 있다. 그리고, 제 2 조명부(180-2)는 바디 구조체(300)의 전면 하부에 배치될 수 있다. 그리고 제 1 조명부(180-1) 및 제 2 조명부(180-2)는 다트 게임 장치(1000)의 이벤트 발생을 알리기 위한 신호를 출력할 수 있다. 다트 게임 장치(1000)에서 발생되는 이벤트의 예로는, 다트 게임 플레이어의 식별, 다트의 명중, 다트 게임 플레이어의 변경, 게임 종료 등이 있을 수 있다.For example, referring to (a) of FIG. 3 , the first lighting unit 180-1 may be formed to extend in a vertical direction along the protrusion in the front direction of the body structure 300. Also, the second lighting unit 180-2 may be disposed below the front surface of the body structure 300. Also, the first lighting unit 180-1 and the second lighting unit 180-2 may output a signal for notifying occurrence of an event of the dart game device 1000. Examples of events generated in the dart game device 1000 may include identification of a dart game player, hit of a dart, change of a dart game player, game end, and the like.

또한, 조명부(180-1, 180-2)는 LED(Light Emission Diode)를 포함할 수 있어서, LED의 점멸을 통하여 사용자에게 이벤트 발생을 알릴 수 있다. 추가적으로, 조명부(180)는 다트핀이 다트 타겟부에 도달한 위치에 따라서 발광의 형태, 발광의 강도, 또는 점멸 주기를 가변시켜 출력할 수 있다.In addition, the lighting units 180-1 and 180-2 may include Light Emission Diodes (LEDs), so that the occurrence of an event may be notified to the user through blinking of the LEDs. Additionally, the lighting unit 180 may change and output the shape of light, the intensity of light, or the blinking cycle according to the position where the dart pin reaches the dart target part.

추가적으로, 조명부(180-1, 180-2)는 제어부(100)에 의해 결정된 플레이어의 로그인 요청 수락과 연동하여, 사전 설정된 패턴의 조명을 출력할 수도 있다. 여기서, 사전 설정된 패턴의 조명은 다트 게임 장치(1000)의 플레이어로부터 사전에 결정될 수 있다. Additionally, the lighting units 180 - 1 and 180 - 2 may output lighting in a preset pattern in conjunction with the acceptance of the player's login request determined by the controller 100 . Here, the lighting of the preset pattern may be determined in advance by the player of the dart game device 1000.

다시 도 2를 참조하면, 음향 출력부(190)는 게임의 효과음, 게임 동작 안내, 게임 방법 설명 등과 같은 저장부(110)에 저장된 오디오 데이터를 출력할 수 있다. 또한, 음향 출력부(190)는 다트 게임 장치(1000)에서 수행되는 기능(예를 들어, 게임 효과음)과 관련된 음향 신호를 출력할 수도 있다. 이러한 음향 출력부(190)에는 리시버(Receiver), 스피커(speaker), 버저(Buzzer) 등이 포함될 수 있다. 추가적으로, 음향 출력부(190)는 다트핀이 다트 타겟에 도달한 위치에 따라서 음량/음악의 종류를 가변시켜 출력할 수 있다.Referring back to FIG. 2 , the audio output unit 190 may output audio data stored in the storage unit 110 , such as game sound effects, game operation guidance, and game method descriptions. Also, the sound output unit 190 may output a sound signal related to a function (eg, game sound effect) performed by the dart game device 1000 . The sound output unit 190 may include a receiver, a speaker, a buzzer, and the like. Additionally, the sound output unit 190 may vary and output the volume/type of music according to the position where the dart pin reaches the dart target.

본 개시에서, 음향 출력부(190)는 다트 게임 장치(1000)의 플레이어의 다트 게임 플레이 관련 데이터에 기초하여, 사전 저장된 복수의 음향, 음악 또는 음성 중 플레이 관련 데이터에 대응하는 음향, 음악 또는 음성을 출력할 수 있다.In the present disclosure, the sound output unit 190 is a sound, music, or voice corresponding to play-related data among a plurality of pre-stored sounds, music, or voices, based on the player's dart game play-related data of the dart game device 1000. can output

구체적으로, 다트 게임 장치(1000)의 제어부(100)는 플레이어의 로그인 요청을 수락한 경우, 플레이어의 이전 플레이 관련 데이터를 인식할 수 있다. 제어부(100)는 이전 플레이 관련 데이터에 기초하여, 기 설정된 음향 등을 출력하도록 음향 출력부(190)를 제어할 수 있다. 또는, 제어부(100)는 플레이어의 로그인 요청을 수락한 경우, 플레이어의 식별 정보에 기초하여, 사전 저장된 음향, 음악 또는 음성 메시지 등이 존재하는지 여부를 결정할 수 있다. 그리고, 제어부(100)는 사전 저장된 음향, 음악 또는 음성 메시지 중 적어도 하나가 존재한다고 결정된 경우, 대응하는 음향 등을 출력하도록 음향 출력부(190)를 제어할 수 있다.Specifically, when the controller 100 of the dart game device 1000 accepts the player's login request, it may recognize the player's previous play-related data. The controller 100 may control the sound output unit 190 to output a preset sound based on previous play-related data. Alternatively, when accepting the player's login request, the controller 100 may determine whether a pre-stored sound, music, or voice message exists based on the identification information of the player. And, when it is determined that at least one of pre-stored sound, music, or voice message exists, the controller 100 may control the sound output unit 190 to output a corresponding sound.

추가적으로, 다트 게임 장치(1000)의 제어부(100)는 플레이어의 로그인이 완료된 경우, 플레이어의 다트 게임 플레이 결과와 관련된 히스토리 정보에 기초하여 플레이어에게 개인화된 안내 메시지를 생성할 수 있다. 예를 들어, 플레이어의 이전 플레이 시점이 일주일 이전인 경우, 제어부(100)는 "일주일 만에 로그인 하셨네요. 반갑습니다"라는 안내 메시지를 생성할 수 있다. 다른 예시로, 플레이어가 다트 게임 토너먼트에서 우승한 이력을 가지고 있는 경우, 제어부(100)는 "XX 대회의 우승자님 환영합니다"라는 안내 메시지를 생성할 수 있다. 이처럼, 제어부(100)는 플레이어의 히스토리 정보에서 플레이어에게 적합한 개인화된 메시지를 생성함으로써, 플레이어에게 보다 엔터테인먼트한 효과를 제공할 수 있다. Additionally, when the player's login is completed, the controller 100 of the dart game device 1000 may generate a personalized guide message to the player based on history information related to the player's dart game play result. For example, if the previous play time of the player is a week ago, the controller 100 may generate a guide message saying "You logged in after a week. Nice to meet you." As another example, if the player has a history of winning the dart game tournament, the controller 100 may generate a guide message saying "Welcome to the winner of the XX tournament". As such, the controller 100 may provide a more entertaining effect to the player by generating a personalized message suitable for the player from the player's history information.

다트 타겟부(200)는 중앙에 불즈 아이(bull's eye)가 위치하고, 불즈 아이를 중심으로 하는 동심원과 불즈 아이로부터 방사형으로 뻗은 직선으로 구분되어 각각 개별적인 스코어가 부여된 영역(세그먼트)들이 존재하는 스코어 보드를 포함할 수 있다. 스코어 보드 상에는 다트핀의 팁이 끼워질 수 있는 복수의 수용 홈(비트 또는 홀)이 형성될 수 있다. 이 경우, 다트 타겟부(200)의 점수 배치 및 스코어가 부여된 영역들의 형상은 가변적으로 변경될 수 있다. 또한, 다트 타겟부(200)는 터치스크린의 형태로 구현될 수 있다.The dart target unit 200 has a bull's eye in the center, and is divided into concentric circles centered on the bull's eye and straight lines extending radially from the bull's eye, and areas (segments) to which individual scores are assigned Score exist Boards may be included. A plurality of accommodating grooves (bits or holes) into which tips of dart pins can be inserted may be formed on the scoreboard. In this case, the arrangement of scores of the dart target unit 200 and the shapes of areas to which scores are assigned may be variably changed. Also, the dart target unit 200 may be implemented in the form of a touch screen.

바디 구조체(300)는 지면과 수직한 방향으로 연장 형성되어, 다트 게임 장치(1000)의 외관을 형성할 수 있다. 그리고, 바디 구조체(300)는 상술한 디스플레이부(120), 사용자 입력부(170), 다트 타겟부(200) 및 그 외 구성 요소들을 구비할 수 있다. 다만, 이에 한정되는 것은 아니다.The body structure 300 may extend in a direction perpendicular to the ground to form the appearance of the dart game device 1000. In addition, the body structure 300 may include the aforementioned display unit 120, the user input unit 170, the dart target unit 200, and other components. However, it is not limited thereto.

바디 구조체(300)의 전면에 구비된 디스플레이부(120)에는 다트 게임에 관련된 정보들이 디스플레이될 수 있다. 여기서, 다트 게임에 관련된 정보는 다른 플레이어의 플레이 영상, 다른 플레이어의 플레이 관련 데이터에 기초하여 생성된 영상 또는 플레이 시간 제약과 관련된 정보 등을 포함할 수 있다. Information related to the dart game may be displayed on the display unit 120 provided on the front of the body structure 300 . Here, the information related to the dart game may include a play image of another player, an image generated based on play-related data of another player, or information related to a play time restriction.

이하에서, 도 4 내지 도 7를 통해 본 개시에 따른 다트 게임 장치(1000)의 제어부(100)가 다트 게임과 관련된 정보를 생성하는 방법의 일례를 설명한다.Hereinafter, an example of a method for generating information related to a dart game by the control unit 100 of the dart game device 1000 according to the present disclosure will be described through FIGS. 4 to 7 .

도 4는 본 개시의 몇몇 실시예에 따른 다트 게임 장치에 의해 수행되는 다트핀 히트 위치 식별 방법의 일례를 설명하기 위한 흐름도이다.4 is a flowchart for explaining an example of a method of identifying a dart pin hit location performed by a dart game device according to some embodiments of the present disclosure.

본 개시의 몇몇 실시예에 있어서, 다트핀 히트 위치 식별 방법은 다트핀 투척에 대응하여 적어도 2개의 다트 타겟 촬영 이미지를 획득하는 단계(s100)를 포함할 수 있다. 여기서, 다트 타겟 촬영 이미지는 다트 타겟 및 다트 타겟에 히트된 적어도 하나의 다트핀의 이미지를 포함할 수 있다. In some embodiments of the present disclosure, the method for identifying a location of a dart pin hit may include acquiring at least two dart target shooting images in response to dart pin throwing (s100). Here, the dart target shooting image may include an image of a dart target and at least one dart pin hit by the dart target.

구체적으로 설명하면, 제어부(100)는 플레이어에 의해 다트핀을 투척하는 이벤트가 발생하였음을 인식할 수 있다. 예를 들어, 상술한 바와 같이, 센싱부(160)는 투척된 다트핀에 의해 다트 타겟에 가해지는 압력을 센싱할 수 있다. 이 경우에, 센싱부(160)가 투척된 다트핀에 의해 다트 타겟에 가해지는 압력을 센싱하였다는 정보를 제어부(100)에 송신할 수 있다. 다른 예로, 제어부(100)는 카메라부(140)를 통해 플레이어가 다트핀을 투척하는 이벤트가 발생하였음을 인식할 수 있다. 제어부(100)는 다트핀의 히트 위치를 감지하기 위해 카메라부(140)에 의해 다트 타겟을 촬영하도록 제어할 수 있다. 이 경우에, 다트 타겟 촬영 이미지는 다트 타겟 및 다트 타겟에 히트된 적어도 하나의 다트핀의 이미지를 포함할 수 있다. Specifically, the controller 100 may recognize that an event in which a dart pin is thrown by a player has occurred. For example, as described above, the sensing unit 160 may sense the pressure applied to the dart target by the thrown dart pin. In this case, information indicating that the sensing unit 160 has sensed the pressure applied to the dart target by the thrown dart pin may be transmitted to the control unit 100 . As another example, the controller 100 may recognize that an event in which the player throws a dart pin has occurred through the camera unit 140 . The controller 100 may control the dart target to be photographed by the camera unit 140 in order to detect the hit position of the dart pin. In this case, the dart target shooting image may include an image of a dart target and at least one dart pin hit by the dart target.

본 개시의 몇몇 실시예에 따라, 적어도 2개의 다트 타겟 촬영 이미지는 각각 사전 결정된 방향으로 위치하는 적어도 2개의 카메라에 의해 생성될 수 있다. 이 경우에, 상기 적어도 2개의 다트 타겟 촬영 이미지의 개수는 상기 적어도 2개의 카메라의 개수에 대응할 수 있다.According to some embodiments of the present disclosure, at least two dart target shooting images may be generated by at least two cameras positioned in predetermined directions. In this case, the number of the at least two dart target shooting images may correspond to the number of the at least two cameras.

자세히 설명하면, 다트핀의 투척이 발생하는 경우에, 제어부(100)가 복수개의 다트 타겟 촬영 이미지를 이용하여 다트핀의 히트 위치를 보다 정확하게 식별할 수 있도록, 복수 개의 다트 타겟 촬영 이미지가 복수의 카메라를 이용하여 획득될 수 있다. 예를 들어, 카메라부(140)는 복수의 카메라일 수 있고, 이 경우에 다트 타겟 촬영 이미지는 서로 다른 방향으로 다트 타겟을 촬영한 복수개의 이미지일 수 있다. 예를 들어, 카메라부(140)는 다트 게임 장치의 상단의 좌측 및 우측에 설치되는 2개의 카메라를 포함할 수 있다. 이 경우에, 제어부(100)는 다트 게임 장치의 상단의 좌측에 위치한 카메라가 다트 타겟을 향하는 방향으로 촬영되는 다트 타겟 촬영 이미지를 획득할 수 있다. 또한, 제어부(100)는 다트 게임 장치의 상단의 우측에 위치한 카메라가 다트 타겟을 향하는 방향으로 촬영되는 다트 타겟 촬영 이미지를 획득할 수 있다. 다만 이에 한정되지 않고, 카메라의 위치 및 촬영 방향은 다양할 수 있다. In detail, when a dart pin is thrown, a plurality of dart target captured images are provided so that the control unit 100 can more accurately identify the hit position of the dart pin using the plurality of dart target captured images. It can be obtained using a camera. For example, the camera unit 140 may be a plurality of cameras, and in this case, the dart target photographing images may be a plurality of images of dart targets photographed in different directions. For example, the camera unit 140 may include two cameras installed on the left and right sides of the top of the dart game device. In this case, the controller 100 may acquire a dart target shooting image in which a camera located on the left side of the upper end of the dart game device is shooting in a direction toward the dart target. In addition, the controller 100 may obtain a dart target shooting image in which a camera located on the right side of the upper end of the dart game device is shooting in a direction toward the dart target. However, it is not limited thereto, and the location and shooting direction of the camera may vary.

다트 타겟 촬영 이미지의 개수는 카메라의 개수에 대응할 수 있다. 예를 들어, 카메라의 개수가 2개인 경우에, 다트 타겟 촬영 이미지의 개수는 2개일 수 있다. 다른 예로, 다트 타겟 촬영 이미지의 개수는 카메라의 개수의 정수배일 수 있다. 구체적으로 설명하면, 예를 들어, 다트 게임 장치 주변에 조명 상태가 자주 변경됨에 따라 다트 타겟 및 다트핀을 식별할 수 없는 이미지만을 획득하는 경우를 방지하기 위해, 복수개의 카메라는 일정 시간을 간격으로 다트 타겟을 n 회 촬영할 수 있다. 이 경우에, 다트 촬영 이미지의 개수는 카메라의 개수의 n 배일 수 있다. 다만 이에 한정되지 않고, 다트 타겟 촬영 이미지는 다양한 방식에 의해 다양한 개수로 생성될 수 있다.The number of dart target shooting images may correspond to the number of cameras. For example, when the number of cameras is two, the number of dart target shooting images may be two. As another example, the number of dart target shooting images may be an integer multiple of the number of cameras. To be specific, for example, in order to prevent a case in which only images in which dart targets and dart pins cannot be identified are obtained as lighting conditions around the dart game device frequently change, a plurality of cameras are installed at regular time intervals. The dart target can be shot n times. In this case, the number of dart shooting images may be n times the number of cameras. However, it is not limited thereto, and various numbers of dart target shooting images may be generated by various methods.

본 개시의 몇몇 실시예에 있어서, 다트핀 히트 위치 식별 방법은 다트핀 위치 식별 네트워크 모델에 의해, 적어도 2개의 다트 타겟 촬영 이미지에 기초하여 상기 적어도 하나의 다트핀의 히트 위치 정보를 생성하는 단계(s200)를 포함할 수 있다. In some embodiments of the present disclosure, the dart pin hit position identification method includes generating hit position information of the at least one dart pin based on at least two dart target shooting images by a dart pin position identification network model ( s200) may be included.

구체적으로 설명하면, 다트 타겟 촬영 이미지를 획득하는 경우에, 제어부(100)는 다트핀 위치 식별 네트워크 모델을 이용하여 다트 타겟 촬영 이미지에서 식별되는 다트핀의 히트 위치 정보를 생성할 수 있다. 몇몇 예에서, 다트핀의 히트 위치 정보는 세그먼트 위치 정보를 포함할 수 있다. 예를 들어, 다트핀의 히트 위치 정보는 다트핀이 히트된 세그먼트의 위치(또는 점수 영역)를 표시하는 정보를 포함할 수 있다. 몇몇 예에서, 다트핀의 히트 위치 정보는 다트핀이 히트된 세그먼트에서 비트(또는 수용 홈, 홀)의 위치를 표시하는 정보를 포함할 수 있다. 다만 이에 한정되지 않고, 히트 위치 정보는 다양한 정보를 포함할 수 있다.Specifically, when acquiring the dart target captured image, the controller 100 may generate hit location information of the dart pin identified in the dart target captured image by using the dart pin location identification network model. In some examples, the hit location information of the dart pin may include segment location information. For example, the hit location information of the dart pin may include information indicating a location (or a score area) of a segment where the dart pin is hit. In some examples, the hit position information of the dart pin may include information indicating a position of a bit (or receiving groove or hole) in a segment where the dart pin is hit. However, it is not limited thereto, and the hit location information may include various pieces of information.

다트핀 위치 식별 네트워크 모델은 다트 타겟 촬영 이미지로부터 다트핀의 히트 위치 정보를 생성할 수 있는 다양한 이미지 처리 알고리즘을 이용하여 구현될 수 있다. 예를 들어, 다트핀 위치 식별 네트워크 모델은 다트 타겟 촬영 이미지로부터 다트핀의 위치를 식별할 수 있는 바운딩 박스 이미지를 획득하는 서브 모델, 및 획득된 바운딩 박스 이미지를 처리하여 다트핀의 히트 위치 정보를 생성하는 서브 모델을 포함할 수 있다. 추가적으로, 다트핀 위치 식별 네트워크 모델은 복수의 다트핀의 히트 위치 정보가 획득되는 경우에 가장 나중에 히트한 다트핀의 히트 위치 정보를 결정하는 서브 모델을 포함할 수 있다. 다만 이에 한정되지 않고, 다트핀 위치 식별 네트워크 모델은 다양한 방식으로 구현될 수 있다. The dart pin position identification network model may be implemented using various image processing algorithms capable of generating hit position information of a dart pin from a dart target photographed image. For example, the dart pin position identification network model obtains a bounding box image capable of identifying the position of a dart pin from a dart target shooting image, and processes the obtained bounding box image to obtain hit position information of the dart pin. You can include submodels that you create. Additionally, the dart pin location identification network model may include a sub-model for determining hit location information of a dart pin most recently hit when hit location information of a plurality of dart pins is obtained. However, it is not limited thereto, and the dart pin location identification network model may be implemented in various ways.

이하에서, 둘 이상의 다트 타겟 촬영 이미지를 처리하여 다트핀의 히트 위치 정보를 생성하는 다트핀 위치 식별 네트워크 모델의 예시적인 동작이 설명된다.Hereinafter, an exemplary operation of the dart pin location identification network model for generating hit location information of a dart pin by processing two or more dart target shooting images is described.

본 개시의 몇몇 실시예에 있어서, 적어도 2개의 다트 타겟 촬영 이미지에 기초하여 다트핀의 히트 위치 정보를 생성하는 단계(s200)는 적어도 2개의 다트 타겟 촬영 이미지에 대한 병합 작업을 수행함으로써 입력 데이터를 생성하는 단계 및 입력 데이터를 다트핀 위치 식별 네트워크 모델에 의해 처리함으로써 적어도 하나의 다트핀의 히트 위치 정보를 생성하는 단계를 포함할 수 있다. In some embodiments of the present disclosure, generating hit location information of a dart pin based on at least two dart target captured images (s200) performs a merging operation on the at least two dart target captured images to obtain input data. It may include generating and generating hit location information of at least one dart pin by processing the input data by the dart pin location identification network model.

상술한 바와 같이, 제어부(100)가 복수개의 다트 타겟 촬영 이미지를 이용하여 다트핀의 히트 위치를 보다 정확하게 식별할 수 있도록, 복수 개의 다트 타겟 촬영 이미지가 복수의 카메라를 이용하여 획득될 수 있다. 예를 들어, 제어부(100)는 다트핀의 투척을 인식함으로써 2개의 카메라를 이용하여 2개의 다트 타겟 촬영 이미지를 획득할 수 있다. As described above, a plurality of dart target shooting images may be obtained using a plurality of cameras so that the control unit 100 can more accurately identify the hit position of the dart pin using the plurality of dart target shooting images. For example, the controller 100 may obtain two dart target shooting images using two cameras by recognizing the throwing of the dart pin.

몇몇 예에서, 제어부(100)는 2개의 다트 타겟 촬영 이미지를 다트핀 위치 식별 네트워크 모델에 의해 처리할 수 있는 입력 데이터를 생성할 수 있다. 예를 들어, 제어부(100)는 적어도 2개의 다트 타겟 촬영 이미지에 대한 병합 작업을 수행함으로써 입력 데이터를 생성할 수 있다. 구체적으로 예를 들면, 제어부(100)는 2개의 다트 타겟 촬영 이미지에 각각 대응하는 2개의 바운딩 박스 이미지를 획득할 수 있다. 여기서, 바운딩 박스 이미지를 획득하는 알고리즘은 다양한 객체 탐지(Object detection) 알고리즘이 사용될 수 있다. 몇몇 예에서, 바운딩 박스 이미지를 대체하는 객체 탐지를 위한 다양한 이미지가 또한 사용될 수 있다. 그리고, 제어부(100)는 2개의 바운딩 박스 이미지를 하나의 이미지인 입력 데이터로 병합할 수 있다. 다른 예로, 제어부(100)는 2개의 다트 타겟 촬영 이미지를 하나의 이미지로 병합할 수 있다. 그리고, 제어부(100)는 하나의 이미지로부터 2개의 바운딩 박스 이미지를 포함하는 입력 데이터를 획득할 수 있다. 다만 이에 한정되지 않고, 제어부(100)는 다양한 방식으로 입력 데이터를 생성할 수 있다. In some examples, the controller 100 may generate input data capable of processing two dart target shooting images by a dart pin location identification network model. For example, the controller 100 may generate input data by performing a merging operation on at least two dart target captured images. Specifically, for example, the controller 100 may acquire two bounding box images respectively corresponding to two dart target shooting images. Here, various object detection algorithms may be used as an algorithm for obtaining a bounding box image. In some examples, various images for object detection replacing bounding box images may also be used. Also, the controller 100 may merge the two bounding box images into input data that is a single image. As another example, the controller 100 may merge two dart target shooting images into one image. Also, the controller 100 may obtain input data including two bounding box images from one image. However, the present invention is not limited thereto, and the control unit 100 may generate input data in various ways.

본 개시의 몇몇 실시예에 있어서, 입력 데이터는 적어도 2개의 바운딩 박스 이미지를 사전 결정된 방향으로 배치한 이미지일 수 있다. 예를 들어, 입력 데이터는 2개의 바운딩 박스 이미지를 상하로 배치한 이미지일 수 있다. 다만 이에 한정되지 않고, 입력 데이터는 다양한 방식으로 바운딩 박스 이미지를 포함하는 이미지일 수 있다. In some embodiments of the present disclosure, input data may be an image in which at least two bounding box images are arranged in a predetermined direction. For example, the input data may be an image in which two bounding box images are arranged vertically. However, it is not limited thereto, and the input data may be an image including a bounding box image in various ways.

다트핀 위치 식별 네트워크 모델은 입력 데이터를 처리함으로써 다트핀의 히트 위치 정보를 생성할 수 있다. 상술한 바와 같이, 다트핀의 히트 위치 정보는 다트핀이 히트한 세그먼트 위치 정보를 포함할 수 있다. 또한, 다트핀의 히트 위치 정보는 다트핀이 히트한 세그먼트 내에서 비트의 위치를 표시하는 정보를 포함할 수 있다. 이에 한정되지 않고, 다트핀의 히트 위치 정보는 다양할 수 있다.The dart pin location identification network model may generate hit location information of the dart pin by processing input data. As described above, the hit location information of the dart pin may include segment location information hit by the dart pin. Also, the hit position information of the dart pin may include information indicating a position of a bit within a segment hit by the dart pin. It is not limited thereto, and the hit location information of the dart pin may be various.

다트핀 위치 식별 네트워크 모델은 적어도 2개의 다트 타겟 촬영 이미지 또는 적어도 2개의 바운딩 박스 이미지를 포함하는 훈련 이미지 데이터와, 훈련 이미지 데이터에 대응하는 라벨을 포함하는 트레이닝 데이터셋을 이용하여 학습되는 네트워크 모델일 수 있다. 여기서 라벨은 훈련 이미지 데이터로부터 식별되는 다트핀이 히트한 세그먼트 위치 또는 세그먼트 상에 비트 위치에 관한 정보를 포함할 수 있다. 이 경우에, 다트핀 위치 식별 네트워크 모델은 적어도 2개의 다트 타겟 촬영 이미지에 기초한 입력 데이터를 처리함으로써 다트핀이 히트한 세그먼트 위치 또는 세그먼트의 비트 위치를 포함하는 히트 위치 정보를 출력할 수 있다. 다만 이에 한정되지 않고, 다트핀 위치 식별 네트워크 모델은 다양한 트레이닝 데이터셋을 이용하여 학습될 수 있다.The dart pin location identification network model is a network model learned using a training dataset including training image data including at least two dart target shooting images or at least two bounding box images, and a label corresponding to the training image data. can Here, the label may include information about a position of a segment hit by a dart pin identified from the training image data or a position of a bit on the segment. In this case, the dart pin position identification network model may output hit position information including a segment position hit by the dart pin or a bit position of the segment by processing input data based on at least two dart target shooting images. However, it is not limited thereto, and the dart pin location identification network model may be learned using various training datasets.

본 개시의 몇몇 실시예에 있어서, 다트핀 위치 식별 네트워크 모델에 의해, 적어도 2개의 다트 타겟 촬영 이미지에 기초하여 적어도 하나의 다트핀의 히트 위치 정보를 생성하는 단계(s200)는 노이즈 제거를 위한 상기 다트 타겟 촬영 이미지에 대한 전처리를 수행하는 단계를 포함할 수 있다.In some embodiments of the present disclosure, generating hit location information of at least one dart pin based on at least two dart target shooting images by a dart pin location identification network model (s200) may include the above for noise removal. A step of performing pre-processing on the dart target captured image may be included.

자세히 설명하면, 다트 게임 장치(1000)는 다양한 주변 환경에서 설치될 수 있으므로, 다트 타겟 촬영에 있어서 너무 약한 조명이나 불규칙한 조명 등에 의해 발생한 다수의 노이즈를 포함하는 다트 타겟 촬영 이미지가 획득될 수 있다. 이러한 문제점을 방지하기 위해, 제어부(100)는 노이즈 제거를 위한 전처리를 수행할 수 있다. 예를 들어, 노이즈 제거를 위한 전처리는 이미지 필터링(Image Filtering)을 포함할 수 있다. 예를 들어, 이미지를 주파수 대역을 표현하는 경우에, 일반적으로 고주파는 밝기의 변화가 많은 곳(예를 들어, 경계선 영역)에서 나타나고, 일반적인 배경은 저주파로 나타날 수 있다. 이미지의 고주파의 제거하는 경우, 블러(Blur) 효과가 발생할 수 있다. 이미지의 저주파를 제거하는 경우, 이미지 상에 나타나는 객체의 영역을 확인할 수 있는 효과가 발생한다. 따라서 로우 패스 필터(Low-pass filter, LPF) 및 하이 패스 필터(High-pass filter, HPF)를 이용하여 노이즈 제거 및 블러 처리가 수행될 수 있다. 추가적으로, 블러 효과가 경계선을 흐리게 하는 현상을 방지하기 위해, 양방향 필터(Bilateral Filtering)를 사용함으로써 경계선을 유지하면서 가우시안 블러(Gaussian Blur) 처리가 효율적으로 수행될 수 있다. In detail, since the dart game device 1000 can be installed in various surrounding environments, a dart target shooting image including a large number of noises caused by too weak or irregular lighting in shooting a dart target can be obtained. In order to prevent this problem, the controller 100 may perform preprocessing for removing noise. For example, preprocessing for removing noise may include image filtering. For example, when an image expresses a frequency band, a high frequency generally appears in a place where there is a lot of change in brightness (eg, a boundary area), and a general background may appear in a low frequency. In the case of removing high frequencies of an image, a blur effect may occur. When the low frequency of the image is removed, an effect of confirming the area of the object appearing on the image occurs. Accordingly, noise removal and blur processing may be performed using a low-pass filter (LPF) and a high-pass filter (HPF). Additionally, in order to prevent the blur effect from blurring the boundary line, Gaussian blur processing may be efficiently performed while maintaining the boundary line by using a bilateral filtering.

다른 예로, 노이즈 제거를 위한 전처리는 가우시안 필터링(Gaussian Filtering)을 포함할 수 있다. 박스 필터(box filter)는 동일한 값으로 구성된 커널(kernel)을 사용하지만, 가우시안 필터(Gaussian Filter)는 가우시안 함수를 이용한 커널을 적용할 수 있다. 커널 행렬의 값은 가우시안 함수를 통해 수학적으로 생성하여 적용될 수 있다. 다만 이에 한정되지 않고, 전처리는 다양한 방식으로 수행될 수 있다.As another example, preprocessing for removing noise may include Gaussian filtering. A box filter uses a kernel composed of the same values, but a Gaussian filter can apply a kernel using a Gaussian function. The value of the kernel matrix may be mathematically generated and applied through a Gaussian function. However, it is not limited thereto, and the pretreatment may be performed in various ways.

다트핀 위치 식별 네트워크 모델은 복수의 다트핀을 포함하는 다트 타겟 촬영 이미지로부터 복수의 다트핀의 히트 위치 정보를 생성할 수 있다. 이 경우에, 제어부(100)는 복수의 다트핀의 히트 위치 정보 중에서 가장 나중에 히트된 다트핀의 히트 위치 정보를 결정할 수 있다. 이에 대한 상세한 실시예는 도 5를 참조하여 이하에서 설명된다. The dart pin position identification network model may generate hit position information of a plurality of dart pins from a dart target photographed image including a plurality of dart pins. In this case, the controller 100 may determine the hit position information of the dart pin most recently hit among the hit position information of the plurality of dart pins. A detailed embodiment thereof will be described below with reference to FIG. 5 .

도 5는 본 개시의 몇몇 실시예에 따른 다트 게임 장치에 의해 수행되는 다트핀 히트 위치 식별 방법의 일례를 설명하기 위한 다른 흐름도이다.5 is another flowchart for explaining an example of a method of identifying a dart pin hit location performed by a dart game device according to some embodiments of the present disclosure.

다트 타겟에 히트된 복수의 다트핀들을 촬영한 다트 타겟 촬영 이미지는 히트 순서에 대한 정보를 가지지 않기 때문에, 본 개시의 다트 게임 장치는 다트 타겟 촬영 이미지 뿐만 아니라 추가적인 정보를 이용하여 가장 나중에 히트된 다트핀의 히트 위치 정보를 식별할 수 있다. 이하에서, 이력 정보를 이용하는 다트핀 히트 위치 식별 방법의 구체적인 단계가 도 5를 참조하여 설명된다.Since the dart target shooting image in which a plurality of dart pins hit the dart target does not have information about the hit order, the dart game device of the present disclosure uses not only the dart target shooting image but also additional information to hit the dart most recently. The pin's hit location information can be identified. Hereinafter, specific steps of the dart pin hit position identification method using history information will be described with reference to FIG. 5 .

본 개시의 몇몇 실시예에 있어서, 다트핀 히트 위치 식별 방법은 제 1 다트핀 투척에 대응하여 제 1 이력 정보를 생성하는 단계(s1100)를 포함할 수 있다. 여기서, 제 1 이력 정보는 제 1 다트핀 투척에 의해 결정되는 점수 값 또는 상기 다트 타겟에 히트된 적어도 하나의 다트핀의 히트 위치 정보 중 적어도 하나를 포함할 수 있다. In some embodiments of the present disclosure, the method for identifying a dart pin hit location may include generating first history information in response to a first dart pin throwing (s1100). Here, the first history information may include at least one of a score value determined by the first dart pin throwing or hit location information of at least one dart pin hit the dart target.

제 1 이력 정보는 다트 타겟 촬영 이미지에 나타나는 복수의 다트핀 중 일부의 히트 순서를 식별하는데 사용될 수 있다. 예를 들어, 제 1 이력 정보가 제 1 다트핀 투척에 대응하여 생성되는 경우에, 제 1 이력 정보는 복수의 히트 위치 정보 중에서 제 2 다트핀 투척에 의해 히트된 다트핀의 히트 위치 정보를 결정하는데 사용될 수 있다. 여기서, 제 1 다트핀 투척은 제 2 다트핀 투척에 선행하는 다트핀 투척을 지칭할 수 있다.The first history information may be used to identify a hit order of some of the plurality of dart pins appearing in the dart target shooting image. For example, when the first history information is generated in response to the first dart pin throwing, the first history information determines hit location information of a dart pin hit by the second dart pin throwing from among a plurality of hit location information. can be used to Here, the first dart pin throwing may refer to dart pin throwing preceding the second dart pin throwing.

몇몇 예에서, 제 1 이력 정보는 제 1 다트핀 투척에 의해 결정되는 점수 값을 포함할 수 있다. 이 경우에, 제 1 다트핀 투척에 의해 결정되는 점수 값은 제 2 다트핀 투척에 의해 결정되는 점수 값과 비교함으로써 제 2 다트핀 투척에 의해 히트된 다트핀을 식별할 수 있는 정보를 제공할 수 있다. In some examples, the first history information may include a score value determined by the first dart pin throwing. In this case, the point value determined by the first dart pin throwing is compared with the point value determined by the second dart pin throwing to provide information capable of identifying the dart pin hit by the second dart pin throwing. can

몇몇 예에서, 제 1 이력 정보는 다트 타겟에 히트된 다트핀의 히트 위치 정보를 포함할 수 있다. 이 경우에, 복수의 히트 위치 정보 중에서 제 1 이력정보에 포함된 다트 타겟에 히트된 다트핀의 히트 위치 정보를 제외함으로써, 제 2 다트핀 투척에 의해 히트된 다트핀이 식별될 수 있다. 다만 이에 한정되지 않고, 제 1 이력 정보는 다양한 정보를 포함할 수 있다.In some examples, the first history information may include hit location information of a dart pin hit on a dart target. In this case, the dart pin hit by the second dart pin throwing can be identified by excluding the hit position information of the dart pin hit the dart target included in the first history information from among the plurality of hit position information. However, it is not limited thereto, and the first history information may include various types of information.

본 개시의 몇몇 실시예에 있어서, 다트핀 히트 위치 식별 방법은 제 2 다트핀 투척에 대응하여 다트 타겟 촬영 이미지를 획득하는 단계(s1200)를 포함할 수 있다. 여기서, 다트 타겟 촬영 이미지는 다트 타겟 및 다트 타겟에 히트된 복수의 다트핀의 이미지를 포함할 수 있다. In some embodiments of the present disclosure, the method for identifying a location of a dart pin hit may include obtaining a dart target shooting image in response to the second dart pin throwing (s1200). Here, the dart target shooting image may include images of a dart target and a plurality of dart pins hit by the dart target.

도 4에서 설명한 바와 같이, 제어부(100)는 플레이어에 의해 제 2 다트핀 투척이 발생하였음을 인식할 수 있다. 이 경우에, 제어부(100)는 다트핀의 히트 위치를 감지하기 위해 카메라부(140)에 의해 다트 타겟을 촬영하도록 제어할 수 있다. 제 1 다트핀 투척 및 제 2 다트핀 투척이 발생한 이후이므로, 다트 타겟 촬영 이미지는 다트 타겟 및 다트 타겟에 히트된 복수의 다트핀의 이미지를 포함할 수 있다. 이 경우에, 다트 타겟 촬영 이미지로부터 획득되는 다트핀의 히트 위치 정보는 복수개일 수 있다. 이 경우에, 이하에서 설명되는 바와 같이, 이력 정보를 이용하여 제 2 다트핀 투척에 대응하는 다트핀의 히트 위치 정보가 식별될 수 있다.As described in FIG. 4 , the controller 100 may recognize that the second dart pin throwing has occurred by the player. In this case, the controller 100 may control the dart target to be photographed by the camera unit 140 in order to detect the hit position of the dart pin. Since it is after the first dart pin throwing and the second dart pin throwing have occurred, the dart target shooting image may include images of a dart target and a plurality of dart pins hit by the dart target. In this case, the hit location information of the dart pin obtained from the dart target shooting image may be plural. In this case, as described below, hit location information of the dart pin corresponding to the second dart pin throwing may be identified using the history information.

본 개시의 몇몇 실시예에 있어서, 다트핀 히트 위치 식별 방법은 다트핀 위치 식별 네트워크 모델에 의해, 제 1 이력 정보 및 다트 타겟 촬영 이미지에 기초하여 제 2 다트핀 투척에 대응하는 다트핀의 히트 위치 정보를 결정하는 단계(s1300)를 포함할 수 있다. In some embodiments of the present disclosure, a dart pin hit location identification method is a dart pin hit location corresponding to a second dart pin throwing based on the first history information and a dart target shooting image by a dart pin location identification network model. A step of determining information (s1300) may be included.

도 4에서 설명한 바와 같이, 제어부(100)는 다트 타겟 촬영 이미지로부터 입력 데이터를 생성할 수 있다. 입력 데이터는 다트 타겟 촬영 이미지에 대응하는 바운딩 박스 이미지를 포함할 수 있다. 예를 들어, 제어부(100)는 하나의 다트 타겟 이미지로부터 획득된 하나의 바운딩 박스 이미지를 포함하는 입력 데이터를 생성할 수 있다. 몇몇 예에서, 다트 타겟 촬영 이미지는 사전 결정된 방향으로 위치하는 적어도 2개의 카메라에 의해 각각 생성되는 적어도 2개의 이미지를 포함할 수 있다. 예를 들어, 카메라부(140)는 다트 게임 장치의 상단의 좌측 및 우측에 설치되는 2개의 카메라를 포함할 수 있다. 이 경우에, 제어부(100)는 다트 게임 장치의 상단의 좌측에 위치한 카메라가 다트 타겟을 향하는 방향으로 촬영되는 다트 타겟 촬영 이미지를 획득할 수 있다. 또한, 제어부(100)는 다트 게임 장치의 상단의 우측에 위치한 카메라가 다트 타겟을 향하는 방향으로 촬영되는 다트 타겟 촬영 이미지를 획득할 수 있다. 다만 이에 한정되지 않고, 카메라의 위치 및 촬영 방향은 다양할 수 있다. As described with reference to FIG. 4 , the controller 100 may generate input data from a captured image of a dart target. The input data may include a bounding box image corresponding to the dart target shooting image. For example, the controller 100 may generate input data including one bounding box image obtained from one dart target image. In some examples, the dart target shooting image may include at least two images each generated by at least two cameras positioned in a predetermined direction. For example, the camera unit 140 may include two cameras installed on the left and right sides of the top of the dart game device. In this case, the controller 100 may acquire a dart target shooting image in which a camera located on the left side of the upper end of the dart game device is shooting in a direction toward the dart target. In addition, the controller 100 may obtain a dart target shooting image in which a camera located on the right side of the upper end of the dart game device is shooting in a direction toward the dart target. However, it is not limited thereto, and the location and shooting direction of the camera may vary.

예시적으로 2개의 다트 타겟 촬영 이미지를 획득한 경우에, 제어부(100)는 2개의 다트 타겟 촬영 이미지에 대한 병합 작업을 수행함으로써 입력 데이터를 생성할 수 있다. 구체적으로 예를 들면, 제어부(100)는 2개의 다트 타겟 촬영 이미지에 각각 대응하는 2개의 바운딩 박스 이미지를 획득할 수 있다. 여기서, 바운딩 박스 이미지를 획득하는 알고리즘은 다양한 객체 탐지(Object detection) 알고리즘이 사용될 수 있다. 몇몇 예에서, 바운딩 박스 이미지는 객체 탐지를 위한 다양한 이미지 중에 하나로 대체될 수 있다. 그리고, 제어부(100)는 2개의 바운딩 박스 이미지를 하나의 이미지인 입력 데이터로 병합할 수 있다. 다른 예로, 순서를 달리하여, 제어부(100)는 2개의 다트 타겟 촬영 이미지를 하나의 이미지로 병합할 수 있다. 그리고, 제어부(100)는 하나의 이미지로부터 2개의 바운딩 박스 이미지를 포함하는 입력 데이터를 획득할 수 있다. 다만 이에 한정되지 않고, 제어부(100)는 다양한 방식으로 입력 데이터를 생성할 수 있다. Exemplarily, when two dart target captured images are obtained, the controller 100 may generate input data by performing a merging operation on the two dart target captured images. Specifically, for example, the controller 100 may acquire two bounding box images respectively corresponding to two dart target shooting images. Here, various object detection algorithms may be used as an algorithm for obtaining a bounding box image. In some examples, the bounding box image may be replaced with one of a variety of images for object detection. Also, the controller 100 may merge the two bounding box images into input data that is a single image. As another example, in a different order, the controller 100 may merge two dart target shooting images into one image. Also, the controller 100 may obtain input data including two bounding box images from one image. However, the present invention is not limited thereto, and the control unit 100 may generate input data in various ways.

본 개시의 몇몇 실시예에 따라, 입력 데이터는 적어도 2개의 바운딩 박스 이미지를 사전 결정된 방향으로 배치한 이미지를 포함하고, 적어도 2개의 바운딩 박스 이미지는 사전 결정된 방향으로 위치하는 적어도 2개의 카메라에 의해 생성되는 적어도 2개의 이미지에 대응할 수 있다. According to some embodiments of the present disclosure, the input data includes an image in which at least two bounding box images are disposed in a predetermined direction, and the at least two bounding box images are generated by at least two cameras located in a predetermined direction. may correspond to at least two images.

몇몇 예에서, 입력 데이터는 적어도 2개의 바운딩 박스 이미지를 사전 결정된 방향으로 배치한 이미지일 수 있다. 예를 들어, 제 2 다트핀 투척에 의해 사전 결정된 방향으로 위치하는 적어도 2개의 카메라에 의해 2개의 다트 타겟 촬영 이미지가 획득될 수 있다. 이 경우에, 입력 데이터는 2개의 다트 타겟 촬영 이미지로부터 획득한 2개의 바운딩 박스 이미지를 상하 또는 좌우로 배치한 이미지일 수 있다. 다만 이에 한정되지 않고, 입력 데이터는 다양한 방식으로 바운딩 박스 이미지를 포함하는 이미지일 수 있다.In some examples, the input data may be an image in which at least two bounding box images are arranged in a predetermined direction. For example, two dart target shooting images may be acquired by at least two cameras positioned in a predetermined direction by throwing the second dart pin. In this case, the input data may be an image obtained by arranging two bounding box images obtained from two dart target shooting images vertically or horizontally. However, it is not limited thereto, and the input data may be an image including a bounding box image in various ways.

입력 데이터가 생성되는 경우, 다트핀 위치 식별 네트워크 모델은 입력 데이터를 처리함으로써 복수의 다트핀의 히트 위치 정보를 생성할 수 있다. 상술한 바와 같이, 다트핀의 히트 위치 정보는 다트핀이 히트한 세그먼트 위치 정보를 포함할 수 있다. 또한, 다트핀의 히트 위치 정보는 다트핀이 히트한 세그먼트 내에서 비트의 위치를 표시하는 정보를 포함할 수 있다. When input data is generated, the dart pin position identification network model may generate hit position information of a plurality of dart pins by processing the input data. As described above, the hit location information of the dart pin may include segment location information hit by the dart pin. Also, the hit position information of the dart pin may include information indicating a position of a bit within a segment hit by the dart pin.

이하에서, 다트 타겟에 히트된 복수의 다트핀을 포함하는 다트 타겟 촬영 이미지를 처리하는 예시적인 다트핀 위치 식별 네트워크 모델 및 제어부(100)의 상세한 동작이 설명된다.Hereinafter, an exemplary dart pin location identification network model for processing a dart target shooting image including a plurality of dart pins hit on the dart target and a detailed operation of the control unit 100 will be described.

본 개시의 몇몇 실시예에 있어서, 제 1 이력 정보 및 다트 타겟 촬영 이미지에 기초하여 제 2 다트핀 투척에 대응하는 다트핀의 히트 위치 정보를 결정하는 단계(s1300)는 다트 타겟 촬영 이미지에 기초하는 입력 데이터를 상기 다트핀 위치 식별 네트워크 모델에 의해 처리함으로써 복수의 다트핀의 히트 위치 정보를 생성하는 단계 및 제 1 이력 정보에 기초하여 생성된 복수의 다트핀의 히트 위치 정보 중에서 제 2 다트핀 투척에 대응하는 다트핀의 히트 위치 정보를 결정하는 단계를 포함할 수 있다. In some embodiments of the present disclosure, the step of determining the hit location information of the dart pin corresponding to the second dart pin throwing based on the first history information and the dart target captured image (s1300) is based on the dart target captured image. Generating hit position information of a plurality of dart pins by processing input data by the dart pin position identification network model, and throwing a second dart pin among hit position information of a plurality of dart pins generated based on the first history information It may include determining hit location information of the dart pin corresponding to .

자세히 설명하면, 상술한 바와 같이, 다트핀 위치 식별 네트워크 모델은 다트 타겟에 히트된 복수의 다트핀을 포함하는 다트 타겟 촬영 이미지와 관련된 입력 데이터를 처리함으로써 복수의 히트 위치 정보를 획득할 수 있다. 이 경우에, 제어부(100)는 복수의 히트 위치 정보 중에서 제 2 다트핀 투척에 의해 히트된 다트핀의 히트 위치 정보를 결정하기 위해 제 1 이력 정보를 사용할 수 있다. 예를 들어, 제 1 이력 정보가 제 1 다트핀 투척에 의해 결정되는 점수 값을 포함하는 경우, 제어부(100)는 제 1 다트핀 투척에 의해 결정되는 점수 값을 제 2 다트핀 투척에 의해 결정되는 점수 값과 비교함으로써 제 2 다트핀 투척에 의해 히트된 다트핀을 식별할 수 있다. 다른 예로, 제어부(100)는 복수의 히트 위치 정보 중에서 제 1 이력정보에 포함된 다트 타겟에 히트된 다트핀의 히트 위치 정보를 제외함으로써, 제 2 다트핀 투척에 의해 히트된 다트핀을 식별할 수 있다. 다만 이에 한정되지 않고, 제어부(100)는 다양한 방식으로 제 1 이력 정보를 이용하여 제 2 다트핀 투척에 대응하는 다트핀의 히트 위치 정보를 결정할 수 있다.In detail, as described above, the dart pin position identification network model may obtain information on a plurality of hit positions by processing input data related to a captured image of a dart target including a plurality of dart pins hit on the dart target. In this case, the controller 100 may use the first history information to determine hit location information of the dart pin hit by the second dart pin throwing from among a plurality of hit location information. For example, when the first history information includes a point value determined by throwing a first dart pin, the controller 100 determines a point value determined by throwing a first dart pin by throwing a second dart pin. The dart pin hit by the second dart pin throwing may be identified by comparing with the score value. As another example, the controller 100 can identify the dart pin hit by the second dart pin throwing by excluding the hit position information of the dart pin hit the dart target included in the first history information from among the plurality of hit position information. can However, the controller 100 is not limited thereto, and the control unit 100 may determine hit position information of the dart pin corresponding to the second dart pin throwing using the first history information in various ways.

본 개시의 몇몇 실시예에 있어서, 제 1 이력 정보 및 다트 타겟 촬영 이미지에 기초하여 제 2 다트핀 투척에 대응하는 다트핀의 히트 위치 정보를 결정하는 단계(s1300)는 제 1 이력 정보를 포함하는 입력 데이터를 다트핀 위치 식별 네트워크 모델에 의해 처리함으로써 제 2 다트핀 투척에 대응하는 다트핀의 히트 위치 정보를 생성할 수 있다. In some embodiments of the present disclosure, the step of determining the hit location information of the dart pin corresponding to the second dart pin throwing based on the first history information and the dart target shooting image (s1300) includes the first history information Hit location information of the dart pin corresponding to the second dart pin throwing may be generated by processing the input data by the dart pin location identification network model.

자세히 설명하면, 다트핀 위치 식별 네트워크 모델을 이용하여 복수의 히트 위치 정보를 획득한 이후에 제 1 이력 정보를 이용하여 후처리하는 대신, 제 1 이력 정보가 다트핀 위치 식별 네트워크 모델에 이산 데이터의 형식으로 입력될 수 있다. 예를 들어, 다트핀 위치 식별 네트워크 모델이 입력 레이어, 히든 레이어, 출력 레이어를 포함하는 딥러닝 모델인 경우에, 제 1 이력 정보가 다트핀 위치 식별 네트워크 모델의 입력 레이어에 입력 데이터로 입력될 수 있다. 다른 예로, 제 1 이력 정보가 복수의 히든 레이어 중에 하나의 레이어에 입력 데이터로 입력될 수 있다. 이 경우에, 다트핀 위치 식별 네트워크 모델은 복수의 히트 위치 정보 중에서 제 2 다트핀 투척에 대응하는 다트핀의 히트 위치 정보만을 출력할 수 있다. 다른 예로, 다트핀 위치 식별 네트워크 모델은 제 2 다트핀 투척에 대응하는 다트핀의 히트 위치 정보를 식별할 수 있는 정보를 추가로 출력할 수 있다. 다만 이에 한정되지 않고, 다트핀 위치 식별 네트워크 모델은 제 1 이력 정보를 다양한 방식으로 입력 데이터로 처리할 수 있다.In detail, instead of post-processing using the first history information after acquiring a plurality of hit location information using the dart pin location identification network model, the first history information is the dart pin location identification network model of discrete data. can be entered in the form For example, when the dart pin location identification network model is a deep learning model including an input layer, a hidden layer, and an output layer, the first history information may be input as input data to the input layer of the dart pin location identification network model. there is. As another example, the first history information may be input as input data to one of the plurality of hidden layers. In this case, the dart pin location identification network model may output only hit location information of the dart pin corresponding to the second dart pin throwing from among a plurality of hit location information. As another example, the dart pin location identification network model may additionally output information capable of identifying hit location information of the dart pin corresponding to the second dart pin throwing. However, it is not limited thereto, and the dart pin location identification network model may process the first history information as input data in various ways.

본 개시의 몇몇 실시예에 따라, 다트핀 히트 위치 식별 방법은 제 2 다트핀 투척에 대응하여 제 2 이력 정보를 생성하는 단계를 더 포함할 수 있다.According to some embodiments of the present disclosure, the method for identifying a location of a dart pin hit may further include generating second history information in response to the second dart pin throwing.

제 1 이력 정보와 유사하게, 제 2 이력 정보는 다트 타겟 촬영 이미지에 나타나는 복수의 다트핀 중에서 가장 나중에 히트된 다트핀의 히트 위치 정보를 식별하는데 사용될 수 있다. 예를 들어, 제 2 이력 정보가 제 2 다트핀 투척에 대응하여 생성되는 경우에, 제 2 이력 정보는 복수의 히트 위치 정보 중에서 제 3 다트핀 투척에 의해 히트된 다트핀의 히트 위치 정보를 결정하는데 사용될 수 있다. 여기서, 제 3 다트핀 투척은 제 2 다트핀 투척에 후행하는 다트핀 투척을 지칭할 수 있다.Similar to the first history information, the second history information may be used to identify hit location information of a dart pin hit last among a plurality of dart pins appearing in the dart target photographed image. For example, when the second history information is generated in response to the second dart pin throwing, the second history information determines hit location information of a dart pin hit by the third dart pin throwing from among a plurality of hit location information. can be used to Here, the third dart pin throwing may refer to dart pin throwing following the second dart pin throwing.

제 1 이력 정보와 동일 또는 유사하게, 제 2 이력 정보는 제 1 다트핀 투척에 의해 결정되는 점수 값을 포함할 수 있다. 또한, 제 2 이력 정보는 다트 타겟에 히트된 다트핀의 히트 위치 정보를 포함할 수 있다. 제 2 이력 정보는 상술한 바와 제 1 이력 정보와 유사한 방식으로 제 3 다트핀 투척에 의해 히트된 다트핀의 히트 위치 정보를 결정하는데 사용될 수 있다. 다만 이에 한정되지 않고, 제 2 이력 정보는 다양한 정보를 포함할 수 있다.The same as or similar to the first history information, the second history information may include a score value determined by the first dart pin throwing. Also, the second history information may include hit location information of a dart pin hit on a dart target. The second history information may be used to determine hit location information of a dart pin hit by the third dart pin throwing in a manner similar to the first history information as described above. However, it is not limited thereto, and the second history information may include various types of information.

도 6은 다트 타겟 촬영 이미지를 설명하기 위한 도면이다. 6 is a diagram for explaining a dart target shooting image.

상술한 바와 같이, 다트 타겟 촬영 이미지(10)는 다트 타겟 및 다트 타겟에 히트된 적어도 하나의 다트핀의 이미지를 포함할 수 있다. 도 6a를 참조하면, 제어부(100)는 다트핀 투척에 대응하여 다트 게임 장치의 상단의 좌측에 위치한 카메라가 다트 타겟을 향하는 방향으로 촬영되는 다트 타겟 촬영 이미지(10a)와, 다트 게임 장치의 상단의 우측에 위치한 카메라가 다트 타겟을 향하는 방향으로 촬영되는 다트 타겟 촬영 이미지(10b)를 획득할 수 있다.As described above, the dart target shooting image 10 may include an image of a dart target and at least one dart pin hit by the dart target. Referring to FIG. 6A , the control unit 100 provides a dart target shooting image 10a in which a camera located on the left side of the upper end of the dart game device is photographed in a direction toward the dart target in response to dart pin throwing, and an upper end of the dart game device. A dart target shooting image 10b photographed in a direction toward the dart target may be acquired by a camera located on the right side of the dart target.

이 경우에, 제어부(100)는 2개의 다트 타겟 촬영 이미지에 대한 병합 작업을 수행함으로써 입력 데이터를 생성할 수 있다. 구체적으로 예를 들면, 제어부(100)는 2개의 다트 타겟 촬영 이미지에 각각 대응하는 2개의 바운딩 박스 이미지(20a, 20b)를 획득할 수 있다. 여기서, 바운딩 박스 이미지를 획득하는 알고리즘은 다양한 객체 탐지(Object detection) 알고리즘이 사용될 수 있다. 몇몇 예에서, 바운딩 박스 이미지를 대체하는 객체 탐지를 위한 다양한 이미지가 또한 사용될 수 있다. 그리고, 제어부(100)는 2개의 바운딩 박스 이미지(20a, 20b)를 하나의 이미지인 입력 데이터(20)로 병합할 수 있다. 다른 예로, 제어부(100)는 2개의 다트 타겟 촬영 이미지(10a, 10b)를 하나의 이미지로 병합할 수 있다. 그리고, 제어부(100)는 하나의 이미지로부터 2개의 바운딩 박스 이미지(20a, 20b)를 포함하는 입력 데이터(20)를 획득할 수 있다. 다만 이에 한정되지 않고, 제어부(100)는 다양한 방식으로 입력 데이터를 생성할 수 있다. In this case, the controller 100 may generate input data by performing a merging operation on two dart target captured images. Specifically, for example, the controller 100 may acquire two bounding box images 20a and 20b respectively corresponding to the two dart target shooting images. Here, various object detection algorithms may be used as an algorithm for obtaining a bounding box image. In some examples, various images for object detection replacing bounding box images may also be used. Also, the controller 100 may merge the two bounding box images 20a and 20b into input data 20 that is a single image. As another example, the controller 100 may merge two dart target shooting images 10a and 10b into one image. Also, the controller 100 may obtain input data 20 including two bounding box images 20a and 20b from one image. However, the present invention is not limited thereto, and the control unit 100 may generate input data in various ways.

도 6b를 참조하면, 8개의 바운딩 박스 이미지(21a 내지 21h)가 (a)에 도시되고, 8개의 바운딩 박스 이미지(21a 내지 21h)가 하나의 다트핀 투척에 대응하는 한 쌍으로 병합된 입력 데이터(22a 내지 22d)가 (b)에 도시된다. 예를 들어, 제 1 다트핀 투척에 대응하는 바운딩 박스 이미지가 이미지(21a) 및 이미지(21e)인 경우에, 두 바운딩 박스 이미지가 병합된 입력 데이터는 입력 데이터(22a) 일 수 있다. 유사하게, 제 1 다트핀 투척에 대응하는 바운딩 박스 이미지가 이미지(21b) 및 이미지(21f)인 경우에, 두 바운딩 박스 이미지가 병합된 입력 데이터는 입력 데이터(22b) 일 수 있다. Referring to FIG. 6B, eight bounding box images 21a to 21h are shown in (a), and the eight bounding box images 21a to 21h are merged into a pair corresponding to one dart pin throwing input data. (22a to 22d) are shown in (b). For example, when the bounding box images corresponding to the first dart pin throwing are the image 21a and the image 21e, the input data obtained by merging the two bounding box images may be the input data 22a. Similarly, when the bounding box images corresponding to the first dart pin throwing are images 21b and 21f, input data obtained by merging the two bounding box images may be input data 22b.

도 7은 본 개시의 몇몇 실시예에 따라 예시적인 다트핀 위치 식별 모델(1100)을 설명하기 위한 도면이다. 7 is a diagram for explaining an exemplary dart pin location identification model 1100 according to some embodiments of the present disclosure.

도 7a를 참조하면, 제어부(100)는 다트핀 위치 식별 네트워크 모델을 이용하여 복수의 히트 위치 정보를 획득한 이후에 제 1 이력 정보를 이용하여 후처리함으로써 가장 최근에 투척된 다트핀의 히트 위치 정보를 결정할 수 있다. 예를 들어, 다트핀 위치 식별 네트워크는 두 개의 다트핀을 나타내는 이미지를 포함하는 입력 데이터(20)를 처리함으로써 복수의 다트핀의 히트 위치 정보(31)를 생성할 수 있다. 여기서 입력 데이터는 제 1 다트핀 투척에 이어서 발생한 제 2 다트핀 투척에 대응하여 획득된 2개의 다트 타겟 촬영 이미지로부터 획득될 수 있다. 예를 들어, 복수의 다트핀의 히트 위치 정보(30)는 제 1 다트핀 투척에 대응하는 제 1 다트핀 히트 위치 정보(31) 및 제 2 다트핀 투척에 대응하는 제 2 다트핀 히트 위치 정보(32)를 포함할 수 있다. 이 경우에, 히트 위치 정보 선별부(1200)는 이력 정보(40)를 이용하여 복수의 다트핀의 히트 위치 정보(30) 중에서 가장 최근에 발생한 투척(예를 들어, 제 2 다트핀 투척)에 대응하는 히트 위치 정보(32)를 결정할 수 있다. Referring to FIG. 7A , the control unit 100 obtains a plurality of hit location information using a dart pin location identification network model and then post-processes the first history information, thereby performing a hit location of the most recently thrown dart pin. information can be determined. For example, the dart pin location identification network may generate hit location information 31 of a plurality of dart pins by processing input data 20 including an image representing two dart pins. Here, the input data may be obtained from two dart target shooting images acquired in response to the second dart pin throwing occurring after the first dart pin throwing. For example, the hit position information 30 of the plurality of dart pins includes first dart pin hit position information 31 corresponding to a first dart pin throwing and second dart pin hit position information corresponding to a second dart pin throwing. (32) may be included. In this case, the hit location information selector 1200 uses the history information 40 to determine the most recent throw (eg, the second dart pin throw) among the hit location information 30 of a plurality of dart pins. Corresponding hit location information 32 can be determined.

몇몇 예에서, 이력 정보는 다트 타겟 촬영 이미지에 나타나는 복수의 다트핀 중에서 가장 나중에 히트된 다트핀의 히트 위치 정보를 식별하기 위한 다양한 정보를 포함할 수 있다. 예를 들어, 제 1 이력 정보(40)가 제 1 다트핀 투척에 대응하여 생성되는 경우에, 제 1 이력 정보는 복수의 히트 위치 정보(30) 중에서 제 2 다트핀 투척에 의해 히트된 다트핀의 히트 위치 정보(32)를 결정하는데 사용될 수 있다. In some examples, the history information may include various pieces of information for identifying hit location information of a dart pin hit last among a plurality of dart pins appearing in the dart target shooting image. For example, when the first history information 40 is generated in response to the first dart pin throwing, the first history information is a dart pin hit by the second dart pin throwing among the plurality of hit location information 30. It can be used to determine the hit location information 32 of

몇몇 예에서, 제 1 다트핀 투척에 대응하여 생성된 제 1 이력 정보(40)는 제 1 다트핀 투척에 의해 결정되는 점수 값을 포함할 수 있다. 이 경우에, 히트 위치 정보 선별부(1200)는 제 1 다트핀 투척에 의해 결정되는 점수 값을 제 2 다트핀 투척에 의해 결정되는 점수 값과 비교함으로써 복수의 히트 위치 정보(30) 중에서 제 2 다트핀 히트 위치 정보(32)를 결정할 수 있다.In some examples, the first history information 40 generated in response to the first dart pin throwing may include a score value determined by the first dart pin throwing. In this case, the hit location information selector 1200 compares the point value determined by the first dart pin throwing with the point value determined by the second dart pin throwing, thereby obtaining the second hit location information among the plurality of hit location information 30. The dart pin hit location information 32 can be determined.

몇몇 예에서, 제 1 이력 정보(40)는 다트 타겟에 히트된 다트핀의 히트 위치 정보를 포함할 수 있다. 이 경우에, 히트 위치 정보 선별부(1200)는 복수의 히트 위치 정보(30) 중에서 제 1 이력정보에 포함된 다트 타겟에 히트된 다트핀의 히트 위치 정보를 제외함으로써, 제 2 다트핀 히트 위치 정보(32)를 결정할 수 있다. In some examples, the first history information 40 may include hit location information of a dart pin hit on a dart target. In this case, the hit location information selector 1200 removes the hit location information of the dart pin hit on the dart target included in the first history information from among the plurality of hit location information 30, thereby obtaining the second dart pin hit location. Information 32 can be determined.

히트 위치 정보 선별부(1200)는 단순 연산 모델로 구현되거나, 또는 네트워크 모델로 구현될 수 있다. 다만 이에 한정되지 않고, 히트 위치 정보 선별부(1200)는 다양한 방식으로 구현될 수 있다. The hit location information selector 1200 may be implemented as a simple calculation model or as a network model. However, the hit location information selection unit 1200 is not limited thereto and may be implemented in various ways.

도 7b를 참조하면, 다트핀 위치 식별 네트워크 모델을 이용하여 복수의 히트 위치 정보를 획득한 이후에 제 1 이력 정보(40)를 이용하여 후처리하는 대신, 제어부(100)는 제 1 이력 정보(40)를 다트핀 위치 식별 네트워크 모델(1100)에 이산 데이터의 형식으로 입력함으로써 복수의 히트 위치 정보 중에서 제 2 다트핀 히트 위치 정보(32)를 결정할 수 있다. 예를 들어, 다트핀 위치 식별 네트워크 모델(1100)이 입력 레이어, 히든 레이어, 출력 레이어를 포함하는 딥러닝 모델인 경우에, 제 1 이력 정보(40)가 다트핀 위치 식별 네트워크 모델(1100)의 입력 레이어에 입력될 수 있다. 다른 예로, 제 1 이력 정보가 복수의 히든 레이어 중에 하나의 레이어에 입력될 수 있다. 이 경우에, 다트핀 위치 식별 네트워크 모델(1100)은 복수의 히트 위치 정보 중에서 제 2 다트핀 히트 위치 정보(32)만을 출력하거나, 또는 제 2 다트핀 히트 위치 정보(32)를 식별할 수 있는 정보를 추가로 출력할 수 있다. Referring to FIG. 7B , instead of post-processing using the first history information 40 after acquiring a plurality of hit location information using the dart pin location identification network model, the control unit 100 provides the first history information ( 40) into the dart pin location identification network model 1100 in the form of discrete data, it is possible to determine the second dart pin hit location information 32 from among a plurality of hit location information. For example, when the dart pin location identification network model 1100 is a deep learning model including an input layer, a hidden layer, and an output layer, the first history information 40 of the dart pin location identification network model 1100 It can be input to the input layer. As another example, the first history information may be input to one of the plurality of hidden layers. In this case, the dart pin position identification network model 1100 outputs only the second dart pin hit position information 32 from among a plurality of hit position information, or can identify the second dart pin hit position information 32 Additional information can be output.

도 8은 본 개시의 몇몇 실시예에 따른 컴퓨팅 장치에 의해 수행되는 다트핀 위치 식별 방법을 위한 트레이닝 데이터셋을 생성하는 방법의 일례를 설명하기 위한 흐름도이다.8 is a flowchart illustrating an example of a method of generating a training dataset for a dart pin position identification method performed by a computing device according to some embodiments of the present disclosure.

다트핀 투척에 대응하는 복수개의 다트 타겟 촬영 이미지를 이용하여 다트핀의 히트 위치를 보다 정확하게 식별할 수 있도록, 다트핀 위치 식별 네트워크(1100)는 충분한 양의 트레이닝 데이터셋을 이용하여 학습될 필요가 있다. 몇몇 예에서, 다트 타겟부(200)는 불즈 아이와 불즈 아이로부터 방사형으로 뻗은 직선으로 구분되어 각각 개별적인 스코어가 부여된 영역(세그먼트)들이 존재하는 스코어 보드를 포함할 수 있다. 각각의 세그먼트는 다트의 팁이 끼워질 수 있는 복수의 수용 홈(비트 또는 홀)을 포함할 수 있다. 이경우에, 다트핀의 히트 위치는 세그먼트 위치 또는 세그먼트 상에서 비트 위치를 식별함으로써 결정될 수 있다. 특히, 세그먼트의 개수 및 세그먼트 상에 비트의 개수는 한정되어 있으므로, 다트핀의 위치는 제한된 개수로 특정될 수 있다. In order to more accurately identify the hit location of the dart pin using a plurality of dart target shooting images corresponding to the dart pin throwing, the dart pin location identification network 1100 needs to be learned using a sufficient amount of training dataset. there is. In some examples, the dart target unit 200 may include a bullseye and a score board in which areas (segments) divided by straight lines radially extending from the bullseye and to which individual scores are assigned exist. Each segment may include a plurality of receiving grooves (bits or holes) into which dart tips may be inserted. In this case, the hit position of the dart pin can be determined by identifying the segment position or the bit position on the segment. In particular, since the number of segments and the number of bits on a segment are limited, the positions of dart pins may be specified in a limited number.

본 개시의 다트핀 위치 식별을 위한 트레이닝 데이터셋을 생성하는 방법은 한정적인 개수의 다트핀 위치를 가지는 스코어 보드를 포함하는 다트 타겟부(200) 상에서 히트된 다트핀 개수 및 다트핀의 히트 위치를 변경하면서 복수의 다트 타겟 촬영 훈련 이미지를 획득할 수 있다. 이를 통해, 본 개시의 다트핀 위치 식별을 위한 트레이닝 데이터셋을 생성하는 방법은 충분한 양의 트레이닝 데이터셋을 생성할 수 있다. 또한, 다트 게임 장치(1000)가 위치할 수 있는 다양한 환경에서 다트 타겟 촬영 훈련 이미지를 획득함으로써 충분한 양의 트레이닝 데이터셋을 생성할 수 있다. 본 개시의 다트핀 위치 식별을 위한 트레이닝 데이터셋을 생성하는 방법은 다트 게임 장치(1000), 적어도 다른 디바이스(2000), 다트 게임 서버(3000)를 포함하는 다양한 컴퓨팅 장치에 의해 수행될 수 있다.A method for generating a training dataset for identifying dart pin positions of the present disclosure includes the number of hit dart pins and hit positions of dart pins on the dart target unit 200 including a scoreboard having a limited number of dart pin positions. While changing, a plurality of dart target shooting training images may be acquired. Through this, the method of generating a training dataset for identifying dart pin locations of the present disclosure can generate a sufficient amount of training dataset. In addition, a sufficient amount of training data set may be generated by acquiring dart target shooting training images in various environments where the dart game device 1000 may be located. The method of generating a training dataset for identifying dart pin locations of the present disclosure may be performed by various computing devices including the dart game device 1000, at least another device 2000, and the dart game server 3000.

이하에서, 다트핀 위치 식별 네트워크(1100)를 학습시키기 위한 트레이닝 데이터셋을 생성하는 방법이 구체적으로 설명된다.Hereinafter, a method of generating a training dataset for learning the dart pin location identification network 1100 will be described in detail.

본 개시의 몇몇 실시예에 있어서, 다트핀 위치 식별을 위한 트레이닝 데이터셋을 생성하는 방법은 다트 타겟의 하나의 세그먼트 상에 적어도 하나의 다트핀이 히트한 다트 타겟 촬영 훈련 이미지를 획득하는 단계(s2100)를 포함할 수 있다. 여기서, 다트 타겟에 포함되는 복수의 세그먼트는 각각 사전 결정된 개수의 비트를 포함할 수 있다.In some embodiments of the present disclosure, a method for generating a training dataset for identifying a dart pin location includes acquiring a dart target shooting training image in which at least one dart pin hits a segment of a dart target (s2100). ) may be included. Here, each of the plurality of segments included in the dart target may include a predetermined number of bits.

도 4 내지 도 7을 참조하여 설명한 바와 같이, 다트핀 위치 식별 네트워크 모델(1100)은 다트 타겟 촬영 이미지로부터 다트핀의 히트 위치 정보를 생성할 수 있는 다양한 이미지 처리 알고리즘을 이용하여 구현될 수 있다. 몇몇 예에서, 다트핀 위치 식별 네트워크 모델은 여러 각도에서 획득된 복수의 다트 타겟 촬영 이미지에 기초한 입력 데이터를 처리함으로써 하나 이상의 다트핀의 히트 위치 정보를 생성할 수 있다. 다만 이에 한정되지 않고, 다트핀 위치 식별 네트워크 모델은 하나의 다트 타겟 촬영 이미지에 기초한 입력 데이터를 처리함으로써 하나 이상의 다트핀의 히트 위치 정보를 생성할 수 있다. 이하에서, 2개 이상의 이미지로 구성되는 다트 타겟 촬영 이미지를 이용하는 다트핀 위치 식별 네트워크 모델(1100)과 관련된 트레이닝 데이터셋을 생성하는 방법에 관하여 설명된다. 다만 이에 한정되지 않고, 본 개시에 따른 방법은 단일한 다트 타겟 촬영 이미지를 이용하는 다트핀 위치 식별 네트워크 모델(1100)과 관련된 트레이닝 데이터셋을 생성하는데 적용될 수 있다. As described with reference to FIGS. 4 to 7 , the dart pin position identification network model 1100 may be implemented using various image processing algorithms capable of generating hit position information of a dart pin from a dart target captured image. In some examples, the dart pin location identification network model may generate hit location information of one or more dart pins by processing input data based on a plurality of dart target shooting images obtained from various angles. However, it is not limited thereto, and the dart pin location identification network model may generate hit location information of one or more dart pins by processing input data based on a captured image of one dart target. Hereinafter, a method of generating a training dataset related to the dart pin location identification network model 1100 using a dart target shooting image composed of two or more images will be described. However, it is not limited thereto, and the method according to the present disclosure may be applied to generate a training dataset related to the dart pin location identification network model 1100 using a single dart target shooting image.

상술한 바와 같이, 다트 타겟은 각각 개별적인 스코어가 부여된 세그먼트로 구별될 수 있다. 또한, 각각의 세그먼트는 각각의 다트핀이 히트할 수 있는 복수의 비트(또는 홀, 수용 홈)를 가질 수 있다. 이 경우에, 다트핀이 히트될 수 있는 히트 위치는 복수의 세그먼트에 포함되는 전체 비트의 개수로 한정될 수 있다. 따라서, 다트핀이 히트된 비트 위치를 변경하면서 충분한 양의 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. As described above, the dart target may be divided into segments to which individual scores are assigned. In addition, each segment may have a plurality of bits (or holes, receiving grooves) that each dart pin can hit. In this case, the hit position where the dart pin can be hit may be limited to the total number of bits included in the plurality of segments. Accordingly, a sufficient amount of dart target shooting training images can be acquired while changing the position of the hit bit of the dart pin.

본 개시의 몇몇 실시예에 있어서, 다트 타겟의 하나의 세그먼트 상에 적어도 하나의 다트핀이 히트한 다트 타겟 촬영 훈련 이미지를 획득하는 단계(s2100)는 다트 타겟의 제 1 세그먼트에 포함되는 제 1 비트 상에 제 1 다트핀이 히트한 제 1 다트 타겟 촬영 훈련 이미지를 획득하는 단계 및 상기 다트 타겟의 제 1 세그먼트에 포함되는 제 2 비트 상에 제 1 다트핀이 히트한 제 2 다트 타겟 촬영 훈련 이미지를 획득하는 단계를 포함할 수 있다. In some embodiments of the present disclosure, acquiring a dart target shooting training image in which at least one dart pin hits on one segment of the dart target (s2100) includes a first bit included in the first segment of the dart target Acquiring a first dart target shooting training image hit by a first dart pin on a second bit included in the first segment of the dart target and a second dart target shooting training image hit by the first dart pin on a second bit included in the first segment of the dart target It may include the step of obtaining.

자세히 설명하면, 하나의 세그먼트 상에서 다트핀이 히트한 비트를 변경함으로써 복수개의 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. 예를 들어, 제 1 세그먼트가 서로 상이한 제 1 비트 및 제 2 비트를 포함하는 경우에, 제 1 세그먼트의 제 1 비트 상에 제 1 다트핀을 히트시킨 다트 타겟을 촬영함으로써 제 1 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. 그리고, 제 1 세그먼트의 제 1 비트 상에서 제 1 다트핀을 제거하고, 제 1 세그먼트의 제 2 비트 상에 제 1 다트핀을 히트시킨 다트 타겟을 촬영함으로써 제 2 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. 여기서 제 1 다트핀은 동일 또는 유사한 하나 이상의 다트핀일 수 있고, 반드시 하나의 다트핀을 의미하는 것은 아니다. 제 1 다트 타겟 촬영 훈련 이미지와 비교하면, 제 2 다트 타겟 촬영 훈련 이미지는 하나의 세그먼트 상에서 하나의 다트핀의 히트 위치가 달라진 이미지일 수 있다. In detail, a plurality of dart target shooting training images may be obtained by changing a bit hit by a dart pin on one segment. For example, in the case where the first segment includes first bits and second bits that are different from each other, first dart target shooting training is performed by shooting a dart target hitting the first dart pin on the first bit of the first segment. An image can be acquired. And, a second dart target shooting training image may be obtained by removing the first dart pin on the first bit of the first segment and photographing a dart target hitting the first dart pin on the second bit of the first segment. there is. Here, the first dart pin may be the same or similar one or more dart pins, and does not necessarily mean one dart pin. Compared to the first dart target shooting training image, the second dart target shooting training image may be an image in which a hit position of one dart pin on one segment is changed.

본 개시의 몇몇 실시예에 있어서, 다트 타겟의 하나의 세그먼트 상에 적어도 하나의 다트핀이 히트한 다트 타겟 촬영 훈련 이미지를 획득하는 단계(s2100)는 다트 타겟의 제 2 세그먼트에 포함되는 제 3 비트 상에 제 1 다트핀이 히트한 제 3 다트 타겟 촬영 훈련 이미지를 획득하는 단계를 포함할 수 있다. In some embodiments of the present disclosure, acquiring a dart target shooting training image in which at least one dart pin hits on one segment of the dart target (s2100) includes a third bit included in a second segment of the dart target and acquiring a third dart target shooting training image hit by the first dart pin on the image.

자세히 설명하면, 다트핀이 히트한 세그먼트의 위치를 변경함으로써 복수개의 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. 상술한 예와 같이, 제 1 세그먼트의 제 1 비트 상에 제 1 다트핀을 히트시킨 다트 타겟을 촬영함으로써 제 1 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. 그리고, 제 1 세그먼트의 제 1 비트 상에서 제 1 다트핀을 제거하고, 제 2 세그먼트의 제 3 비트 상에 제 1 다트핀을 히트시킨 다트 타겟을 촬영함으로써 제 3 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. 이 경우에, 제 1 다트 타겟 촬영 훈련 이미지와 비교하면, 제 3 다트 타겟 촬영 훈련 이미지는 두 세그먼트 상에서 하나의 다트핀의 히트 위치가 달라진 이미지일 수 있다.In detail, a plurality of dart target shooting training images may be acquired by changing the position of the segment hit by the dart pin. As in the above example, the first dart target shooting training image may be obtained by shooting a dart target hitting the first dart pin on the first bit of the first segment. In addition, a third dart target shooting training image may be obtained by removing the first dart pin on the first bit of the first segment and photographing a dart target hitting the first dart pin on the third bit of the second segment. there is. In this case, compared to the first dart target shooting training image, the third dart target shooting training image may be an image in which a hit position of one dart pin on the two segments is changed.

본 개시의 몇몇 실시예에 있어서, 다트 타겟의 하나의 세그먼트 상에 적어도 하나의 다트핀이 히트한 다트 타겟 촬영 훈련 이미지를 획득하는 단계(s2100)는 다트 타겟의 제 1 세그먼트에 포함되는 제 1 비트 상에 제 1 다트핀이 히트하고 그리고 다트 타겟의 제 1 세그먼트에 포함되는 제 2 비트 상에 제 2 다트핀이 히트한 제 4 다트 타겟 촬영 훈련 이미지를 획득하는 단계를 더 포함할 수 있다. In some embodiments of the present disclosure, acquiring a dart target shooting training image in which at least one dart pin hits on one segment of the dart target (s2100) includes a first bit included in the first segment of the dart target The method may further include acquiring a fourth dart target shooting training image in which the first dart pin hits the first dart pin and the second dart pin hits the second bit included in the first segment of the dart target.

자세히 설명하면, 하나의 세그먼트에 포함되는 서로 다른 2개의 비트 상에 히트된 2개의 다트핀에 대한 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. 예를 들어, 다트 타겟의 제 1 세그먼트에 포함되는 제 1 비트 상에 제 1 다트핀이 히트한 상태로 다트 타겟의 제 1 세그먼트에 포함되는 제 2 비트 상에 제 2 다트핀이 히트한 다트 타겟을 촬영함으로써 제 4 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. 이 경우에, 제 4 다트 타겟 촬영 훈련 이미지는 제 1 다트 타겟 촬영 훈련 이미지에 비해 하나의 세그먼트 상에서 하나의 다트핀의 히트 위치가 추가된 이미지일 수 있다.In detail, dart target shooting training images for two dart pins hit on two different bits included in one segment may be obtained. For example, a dart target in which the second dart pin hits the second bit included in the first segment of the dart target in a state in which the first dart pin hits the first bit included in the first segment of the dart target A fourth dart target shooting training image may be acquired by shooting. In this case, the fourth dart target shooting training image may be an image obtained by adding a hit position of one dart pin on one segment compared to the first dart target shooting training image.

본 개시의 몇몇 실시예에 있어서, 다트 타겟의 하나의 세그먼트 상에 적어도 하나의 다트핀이 히트한 다트 타겟 촬영 훈련 이미지를 획득하는 단계(s2100)는 다트 타겟의 제 1 세그먼트에 포함되는 제 1 비트 상에 제 1 다트핀이 히트하고 그리고 다트 타겟의 제 1 세그먼트에 포함되는 제 4 비트 상에 제 2 다트핀이 히트한 제 5 다트 타겟 촬영 훈련 이미지를 획득하는 단계를 더 포함할 수 있다. In some embodiments of the present disclosure, acquiring a dart target shooting training image in which at least one dart pin hits on one segment of the dart target (s2100) includes a first bit included in the first segment of the dart target The method may further include acquiring a fifth dart target shooting training image in which the first dart pin hits the first dart pin and the second dart pin hits the fourth bit included in the first segment of the dart target.

자세히 설명하면, 하나의 세그먼트에 포함되는 서로 다른 2개의 비트 상에 히트된 2개의 다트핀 중 하나를 이동시킴으로써 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. 예를 들면, 상술한 예와 같이, 다트 타겟의 제 1 세그먼트에 포함되는 제 1 비트 상에 제 1 다트핀이 히트한 상태로 다트 타겟의 제 1 세그먼트에 포함되는 제 2 비트 상에 제 2 다트핀이 히트한 다트 타겟을 촬영함으로써 제 4 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. 이 경우에, 제 1 다트핀을 그대로 유지한 상태에서, 다트 타겟의 제 1 세그먼트에 포함되는 제 2 비트 상에 히트한 제 2 다트핀을 제 1 세그먼트에 포함되는 제 4 비트 상으로 이동시킨 다트 타겟을 촬영함으로써 제 5 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. 이 경우에, 제 5 다트 타겟 촬영 훈련 이미지는 제 4 다트 타겟 촬영 훈련 이미지에 비해 하나의 세그먼트 내에서 두 개의 다트 핀 중 하나의 히트 위치가 변경된 이미지일 수 있다.In detail, a dart target shooting training image may be obtained by moving one of two hit dart pins on two different bits included in one segment. For example, as in the above example, in a state where the first dart pin hits the first bit included in the first segment of the dart target, the second dart is placed on the second bit included in the first segment of the dart target. A fourth dart target shooting training image may be acquired by shooting the dart target hit by the pin. In this case, while maintaining the first dart pin as it is, the dart in which the second dart pin hit on the second bit included in the first segment of the dart target is moved to the fourth bit included in the first segment A fifth dart target shooting training image may be acquired by shooting the target. In this case, the fifth dart target shooting training image may be an image in which a hit position of one of the two dart pins within one segment is changed compared to the fourth dart target shooting training image.

본 개시의 몇몇 실시예에 있어서, 다트 타겟의 하나의 세그먼트 상에 적어도 하나의 다트핀이 히트한 다트 타겟 촬영 훈련 이미지를 획득하는 단계(s2100)는 다트 타겟의 제 1 세그먼트에 포함되는 제 1 비트 상에 제 1 다트핀이 히트하고 그리고 다트 타겟의 제 2 세그먼트에 포함되는 제 3 비트 상에 제 2 다트핀이 히트한 제 6 다트 타겟 촬영 훈련 이미지를 획득하는 단계를 포함할 수 있다.In some embodiments of the present disclosure, acquiring a dart target shooting training image in which at least one dart pin hits on one segment of the dart target (s2100) includes a first bit included in the first segment of the dart target and obtaining a sixth dart target shooting training image in which the first dart pin hits the first dart pin and the second dart pin hits the third bit included in the second segment of the dart target.

자세히 설명하면, 2개의 상이한 세그먼트 상에 히트된 2개의 다트핀에 대한 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. 상술한 예에서, 제 1 세그먼트의 제 1 비트 상에 제 1 다트핀을 히트시킨 다트 타겟을 촬영함으로써 제 1 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. 그리고, 제 1 세그먼트의 제 1 비트 상에 제 1 다트핀을 그대로 유지시킨 상태로, 다트 타겟의 제 2 세그먼트에 포함되는 제 3 비트 상에 제 2 다트핀이 히트한 다트 타겟을 촬영함으로써 제 6 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. 이 경우에, 제 6 다트 타겟 촬영 훈련 이미지는 제 1 다트 타겟 촬영 훈련 이미지에 비해 다른 세그먼트 상에 하나의 다트핀의 히트 위치가 추가된 이미지일 수 있다. In detail, dart target shooting training images for two dart pins hit on two different segments can be obtained. In the above example, the first dart target shooting training image may be obtained by shooting a dart target hitting the first dart pin on the first bit of the first segment. In addition, by photographing the dart target hit by the second dart pin on the third bit included in the second segment of the dart target while maintaining the first dart pin on the first bit of the first segment, the sixth A dart target shooting training image may be obtained. In this case, the sixth dart target shooting training image may be an image in which a hit position of one dart pin is added to a different segment compared to the first dart target shooting training image.

본 개시의 몇몇 실시예에 있어서, 다트 타겟의 하나의 세그먼트 상에 적어도 하나의 다트핀이 히트한 다트 타겟 촬영 훈련 이미지를 획득하는 단계(s2100)는 다트 타겟의 제 1 세그먼트에 포함되는 제 1 비트 상에 제 1 다트핀이 히트하고 그리고 다트 타겟의 제 2 세그먼트에 포함되는 제 5 비트 상에 제 2 다트핀이 히트한 제 7 다트 타겟 촬영 훈련 이미지를 획득하는 단계를 포함할 수 있다.In some embodiments of the present disclosure, acquiring a dart target shooting training image in which at least one dart pin hits on one segment of the dart target (s2100) includes a first bit included in the first segment of the dart target and obtaining a seventh dart target shooting training image in which the first dart pin hits the first dart pin and the second dart pin hits the fifth bit included in the second segment of the dart target.

자세히 설명하면, 2개의 상이한 세그먼트 상에 히트된 2개의 다트핀 중에서 하나를 이동시킴으로써 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. 상술한 예에서, 제 1 세그먼트의 제 1 비트 상에 제 1 다트핀을 그대로 유지시킨 상태로, 다트 타겟의 제 2 세그먼트에 포함되는 제 3 비트 상에 제 2 다트핀이 히트한 다트 타겟을 촬영함으로써 제 6 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. 이 경우에, 제 1 세그먼트의 제 1 비트 상에 제 1 다트핀을 그대로 유지시킨 상태에서, 다트 타겟의 제 2 세그먼트에 포함되는 제 3 비트 상에서 제 2 세그먼트에 포함되는 제 5 비트로 제 2 다트핀을 이동시킨 다트 타겟을 촬영함으로써, 제 7 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. 이 경우에, 제 7 다트 타겟 촬영 훈련 이미지는 제 6 다트 타겟 촬영 훈련 이미지에 비해 하나의 세그먼트 상에 하나의 다트핀의 히트 위치가 변경된 이미지일 수 있다.In detail, a dart target shooting training image can be obtained by moving one of two hit dart pins on two different segments. In the above example, while maintaining the first dart pin on the first bit of the first segment, the dart target hit by the second dart pin is photographed on the third bit included in the second segment of the dart target. By doing so, the sixth dart target shooting training image can be obtained. In this case, in a state where the first dart pin is maintained on the first bit of the first segment, the second dart pin is transferred to the fifth bit included in the second segment on the third bit included in the second segment of the dart target. A seventh dart target shooting training image may be acquired by shooting the dart target moved. In this case, the seventh dart target shooting training image may be an image in which a hit position of one dart pin on one segment is changed compared to the sixth dart target shooting training image.

본 개시의 몇몇 실시예에 따라, 상기 다트 타겟의 제 1 세그먼트에 포함되는 제 1 비트 상에 히트한 제 1 다트 타겟 촬영 훈련 이미지를 획득하는 단계는 제 1 촬영 환경 조건 하에서 상기 제 1 다트 타겟 촬영 훈련 이미지를 획득하는 단계; 및 제 2 촬영 환경 조건 하에서 상기 제 1 다트 타겟 촬영 훈련 이미지를 획득하는 단계를 포함할 수 잇다.According to some embodiments of the present disclosure, acquiring a first dart target shooting training image hit on a first bit included in the first segment of the dart target includes shooting the first dart target under a first shooting environment condition. acquiring training images; and acquiring the first dart target shooting training image under a second shooting environment condition.

자세히 설명하면, 다트 게임 장치(1000)가 위치하는 주위 환경은 다양한 환경을 가질 수 있다. 이 경우에, 다트핀 위치 식별 네트워크 모델(1100)이 다양한 주위 환경에서 촬영되는 이미지를 잘 처리할 수 있도록 트레이닝 데이터셋은 다양한 촬영 환경 조건 하에서 생성된 이미지를 포함할 수 있다. In detail, the surrounding environment where the dart game device 1000 is located may have various environments. In this case, the training dataset may include images generated under various shooting environment conditions so that the dart pin location identification network model 1100 can well process images captured in various surrounding environments.

예를 들어, 제 1 촬영 환경 조건은 비교적 밝은 조명을 가지는 상태일 수 있다. 그리고, 제 2 촬영 환경 조건은 비교적 어두운 조명을 가지는 상태일 수 있다. 서로 상이한 두 조건 하에서 다트핀의 히트 위치를 변경하지 않고 촬영함으로써, 촬영 환경 조건만이 달라진 복수개의 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. For example, the first photographing environment condition may be a relatively bright lighting condition. And, the second photographing environment condition may be a state having relatively dark lighting. By shooting without changing the hit position of the dart pin under two different conditions, a plurality of dart target shooting training images in which only the shooting environment conditions are changed may be obtained.

다른 예로, 다트 타겟 촬영 훈련 이미지 상에 다른 조건의 후처리를 함으로써 촬영 환경 조건만이 달라진 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. 예를 들어, 다트 타겟 촬영 훈련 이미지의 밝기를 조절함으로써 촬영 환경 조건만이 달라진 복수개의 다트 타겟 촬영 훈련 이미지가 획득될 수 있다. 다만 이에 한정되지 않고, 다트 타겟 촬영 훈련 이미지가 다양한 방식으로 획득될 수 있다.As another example, a dart target shooting training image in which only the shooting environment conditions are changed may be obtained by performing post-processing of different conditions on the dart target shooting training image. For example, by adjusting the brightness of the dart target shooting training images, a plurality of dart target shooting training images in which only shooting environment conditions are changed may be obtained. However, it is not limited thereto, and the dart target shooting training image may be obtained in various ways.

본 개시의 몇몇 실시예에 따라, 다트핀 히트 위치 식별 방법은 획득한 다트 타겟 촬영 훈련 이미지에 대응하는 라벨을 부여하는 단계(s2200)를 포함할 수 있다. 여기서, 라벨은 다트핀이 히트한 세그먼트의 위치에 기초하여 결정될 수 있다. 또한, 라벨은 상기 세그먼트 위치 및 세그먼트 상에 비트 위치에 기초하여 결정될 수 있다. According to some embodiments of the present disclosure, the method of identifying a location of a dart pin hit may include assigning a label corresponding to the acquired dart target shooting training image ( S2200 ). Here, the label may be determined based on the position of the segment hit by the dart pin. Also, a label can be determined based on the segment position and the position of the bit on the segment.

다트 타겟 촬영 훈련 이미지가 획득되는 경우에, 다트 타겟 촬영 훈련 이미지에 대응하는 라벨이 부여될 수 있다. 예를 들어, 다트 타겟 촬영 훈련 이미지가 제 1 세그먼트의 제 1 비트 상에 히트된 다트핀의 이미지를 포함하는 경우에, 다트 타겟 촬영 훈련 이미지에 대응하는 라벨은 제 1 세그먼트를 표시하는 정보일 수 있다. 다른 예로, 다트 타겟 촬영 훈련 이미지에 대응하는 라벨은 제 1 세그먼트 및 제 1 세그먼트 상에 비트 위치를 표시하는 정보일 수 있다. 여기서 라벨의 부여는 다트 타겟 촬영 훈련 이미지 및 대응하는 라벨을 연관시켜 저장하는 동작으로 의미할 수 있다. 이러한 방식으로 한 쌍의 다트 타겟 촬영 훈련 이미지 및 라벨이 복수개 생성됨으로, 트레이닝 데이터셋이 생성될 수 있다. 다만 이에 한정되지 않고, 다트 타겟 촬영 훈련 이미지에 대응하는 라벨은 다양한 방식으로 부여될 수 있다. When the dart target shooting training image is obtained, a label corresponding to the dart target shooting training image may be assigned. For example, when a dart target shooting training image includes an image of a dart pin hit on a first bit of a first segment, a label corresponding to the dart target shooting training image may be information indicating the first segment. there is. As another example, the label corresponding to the dart target shooting training image may be the first segment and information indicating a bit position on the first segment. Here, assigning a label may mean an operation of associating and storing a dart target shooting training image and a corresponding label. Since a pair of dart target shooting training images and a plurality of labels are created in this way, a training dataset can be created. However, the label is not limited thereto, and the label corresponding to the dart target shooting training image may be assigned in various ways.

추가적인 예를 들면, 다트 타겟 촬영 훈련 이미지에 대응하는 라벨은 바운딩 박스 이미지를 포함할 수 있다. 추가적인 예로, 다트 타겟 촬영 훈련 이미지에 대응하는 라벨은 이력 정보를 더 포함할 수 있다. 라벨이 이력 정보를 포함하는 트레이닝 데이터셋의 경우, 도 7b에서 예시적으로 설명된 다트핀 위치 식별 네트워크 모델(1100)을 학습시키는데 사용될 수 있다.As an additional example, a label corresponding to a dart target shooting training image may include a bounding box image. As an additional example, a label corresponding to the dart target shooting training image may further include history information. In the case of a training dataset in which a label includes history information, it may be used to learn the dart pin location identification network model 1100 exemplarily described in FIG. 7B.

본 개시의 몇몇 실시예에 따라, 상기 다트 타겟 촬영 훈련 이미지는 하나의 라벨에 대응하는 적어도 2개의 이미지를 포함하고, 그리고 하나의 라벨에 대응하는 적어도 2개의 이미지는 각각 사전 결정된 방향으로 위치하는 적어도 2개의 카메라에 의해 생성될 수 있다. According to some embodiments of the present disclosure, the dart target shooting training image includes at least two images corresponding to one label, and the at least two images corresponding to one label are located in a predetermined direction, respectively. It can be created by two cameras.

상술한 바와 같이, 다트핀 위치 식별 네트워크 모델은 여러 각도에서 획득된 복수의 다트 타겟 촬영 이미지에 기초한 입력 데이터를 처리함으로써 하나 이상의 다트핀의 히트 위치 정보를 생성할 수 있다. 이 경우에, 다트핀 위치 식별 네트워크 모델을 학습시키기 위한 트레이닝 데이터셋은 여러 각도에서 획득된 복수의 다트 타겟 촬영 이미지, 및 복수의 다트 타겟 촬영 이미지에 대응하는 하나의 라벨을 포함할 수 있다. 예를 들어, 여러 각도에서 획득된 복수의 다트 타겟 훈련 촬영 이미지는 사전 결정된 방향으로 위치하는 적어도 2개의 카메라를 이용하여 획득될 수 있다. 이 경우에, 트레이닝 데이터셋은 사전 결정된 방향으로 위치하는 적어도 2개의 카메라를 포함하는 다트 게임 장치에 적합할 수 있다. 다만 이에 한정되지 않고, 다트 타겟 촬영 훈련 이미지는 다양한 방식으로 생성될 수 있다.As described above, the dart pin location identification network model may generate hit location information of one or more dart pins by processing input data based on a plurality of dart target shooting images obtained from various angles. In this case, the training dataset for learning the dart pin location identification network model may include a plurality of dart target shooting images obtained from various angles and one label corresponding to the plurality of dart target shooting images. For example, a plurality of dart target training shooting images obtained from various angles may be acquired using at least two cameras positioned in predetermined directions. In this case, the training dataset may be suitable for a dart game device including at least two cameras positioned in a predetermined direction. However, it is not limited thereto, and the dart target shooting training image may be generated in various ways.

몇몇 예에서, 다트핀 위치 식별 네트워크 모델(1100)이 2개 이상의 다트 타겟 촬영 이미지로부터 생성된 입력 이미지를 처리하는 경우에, 제 1 다트 타겟 촬영 훈련 이미지 내지 제 7 다트 타겟 촬영 훈련 이미지는 각각 2개의 카메라에 의해 생성되는 2개 이상의 이미지일 수 있다. 예를 들어, 다트 타겟 촬영 훈련 이미지의 개수는 카메라의 개수에 대응할 수 있다. 몇몇 예에서, 카메라의 개수가 2개인 경우에, 다트 타겟 촬영 훈련 이미지의 개수는 2개일 수 있다. 다른 예로, 다트 타겟 촬영 훈련 이미지의 개수는 카메라의 개수의 정수배일 수 있다. 구체적으로 설명하면, 예를 들어, 복수개의 카메라는 일정 시간을 간격으로 다트 타겟을 n 회 촬영할 수 있다. 이 경우에, 다트 촬영 훈련 이미지의 개수는 카메라의 개수의 n 배일 수 있다. 다만 이에 한정되지 않고, 다트 타겟 촬영 훈련 이미지는 다양한 방식에 의해 다양한 개수로 생성될 수 있다.In some examples, when the dart pin location identification network model 1100 processes input images generated from two or more dart target shooting images, the first to seventh dart target shooting training images are respectively 2 It may be two or more images produced by two cameras. For example, the number of dart target shooting training images may correspond to the number of cameras. In some examples, when the number of cameras is two, the number of dart target shooting training images may be two. As another example, the number of dart target shooting training images may be an integer multiple of the number of cameras. Specifically, for example, a plurality of cameras may photograph the dart target n times at intervals of a predetermined time. In this case, the number of dart shooting training images may be n times the number of cameras. However, it is not limited thereto, and various numbers of dart target shooting training images may be generated by various methods.

도 9는 본 개시의 몇몇 실시예에 따라 네트워크 함수를 나타낸 개략도이다.9 is a schematic diagram illustrating a network function according to some embodiments of the present disclosure.

본 명세서에 걸쳐, 네트워크 모델, 연산 모델, 신경망, 네트워크 함수, 뉴럴 네트워크(neural network)는 상호 교환 가능한 의미로 사용될 수 있다. 신경망은 일반적으로 노드라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 노드들은 뉴런(neuron)들로 지칭될 수도 있다. 신경망은 적어도 하나 이상의 노드들을 포함하여 구성된다. 신경망들을 구성하는 노드(또는 뉴런)들은 하나 이상의 링크에 의해 상호 연결될 수 있다.Throughout this specification, the terms network model, computational model, neural network, network function, and neural network may be used interchangeably. A neural network may consist of a set of interconnected computational units, which may generally be referred to as nodes. These nodes may also be referred to as neurons. A neural network includes one or more nodes. Nodes (or neurons) constituting neural networks may be interconnected by one or more links.

신경망 내에서, 링크를 통해 연결된 하나 이상의 노드들은 상대적으로 입력 노드 및 출력 노드의 관계를 형성할 수 있다. 입력 노드 및 출력 노드의 개념은 상대적인 것으로서, 하나의 노드에 대하여 출력 노드 관계에 있는 임의의 노드는 다른 노드와의 관계에서 입력 노드 관계에 있을 수 있으며, 그 역도 성립할 수 있다. 상술한 바와 같이, 입력 노드 대 출력 노드 관계는 링크를 중심으로 생성될 수 있다. 하나의 입력 노드에 하나 이상의 출력 노드가 링크를 통해 연결될 수 있으며, 그 역도 성립할 수 있다. In a neural network, one or more nodes connected through a link may form a relative relationship of an input node and an output node. The concept of an input node and an output node is relative, and any node in an output node relationship with one node may have an input node relationship with another node, and vice versa. As described above, an input node to output node relationship may be created around a link. More than one output node can be connected to one input node through a link, and vice versa.

하나의 링크를 통해 연결된 입력 노드 및 출력 노드 관계에서, 출력 노드의 데이터는 입력 노드에 입력된 데이터에 기초하여 그 값이 결정될 수 있다. 여기서 입력 노드와 출력 노드를 상호 연결하는 링크는 가중치(weight)를 가질 수 있다. 가중치는 가변적일 수 있으며, 신경망이 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변 될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드 값을 결정할 수 있다.In a relationship between an input node and an output node connected through one link, the value of data of the output node may be determined based on data input to the input node. Here, a link interconnecting an input node and an output node may have a weight. The weight may be variable, and may be changed by a user or an algorithm in order to perform a function desired by the neural network. For example, when one or more input nodes are interconnected by respective links to one output node, the output node is set to a link corresponding to values input to input nodes connected to the output node and respective input nodes. An output node value may be determined based on the weight.

상술한 바와 같이, 신경망은 하나 이상의 노드들이 하나 이상의 링크를 통해 상호 연결되어 신경망 내에서 입력 노드 및 출력 노드 관계를 형성한다. 신경망 내에서 노드들과 링크들의 개수 및 노드들과 링크들 사이의 연관관계, 링크들 각각에 부여된 가중치의 값에 따라, 신경망의 특성이 결정될 수 있다. 예를 들어, 동일한 개수의 노드 및 링크들이 존재하고, 링크들의 가중치 값이 상이한 두 신경망이 존재하는 경우, 두 개의 신경망들은 서로 상이한 것으로 인식될 수 있다.As described above, in the neural network, one or more nodes are interconnected through one or more links to form an input node and output node relationship in the neural network. Characteristics of the neural network may be determined according to the number of nodes and links in the neural network, an association between the nodes and links, and a weight value assigned to each link. For example, when there are two neural networks having the same number of nodes and links and different weight values of the links, the two neural networks may be recognized as different from each other.

신경망은 하나 이상의 노드들의 집합으로 구성될 수 있다. 신경망을 구성하는 노드들의 부분 집합은 레이어(layer)를 구성할 수 있다. 신경망을 구성하는 노드들 중 일부는, 최초 입력 노드로부터의 거리들에 기초하여, 하나의 레이어(layer)를 구성할 수 있다. 예를 들어, 최초 입력 노드로부터 거리가 n인 노드들의 집합은, n 레이어를 구성할 수 있다. 최초 입력 노드로부터 거리는, 최초 입력 노드로부터 해당 노드까지 도달하기 위해 거쳐야 하는 링크들의 최소 개수에 의해 정의될 수 있다. 그러나, 이러한 레이어의 정의는 설명을 위한 임의적인 것으로서, 신경망 내에서 레이어의 차수는 상술한 것과 상이한 방법으로 정의될 수 있다. 예를 들어, 노드들의 레이어는 최종 출력 노드로부터 거리에 의해 정의될 수도 있다.A neural network may be composed of a set of one or more nodes. A subset of nodes constituting a neural network may constitute a layer. Some of the nodes constituting the neural network may form one layer based on distances from the first input node. For example, a set of nodes having a distance of n from the first input node may constitute n layers. The distance from the first input node may be defined by the minimum number of links that must be passed through to reach the corresponding node from the first input node. However, the definition of such a layer is arbitrary for explanation, and the order of a layer in a neural network may be defined in a method different from the above. For example, a layer of nodes may be defined by a distance from a final output node.

최초 입력 노드는 신경망 내의 노드들 중 다른 노드들과의 관계에서 링크를 거치지 않고 데이터가 직접 입력되는 하나 이상의 노드들을 의미할 수 있다. 또는, 신경망 네트워크 내에서, 링크를 기준으로 한 노드 간의 관계에 있어서, 링크로 연결된 다른 입력 노드들을 가지지 않는 노드들을 의미할 수 있다. 이와 유사하게, 최종 출력 노드는 신경망 내의 노드들 중 다른 노드들과의 관계에서, 출력 노드를 가지지 않는 하나 이상의 노드들을 의미할 수 있다. 또한, 히든 노드는 최초 입력 노드 및 최후 출력 노드가 아닌 신경망을 구성하는 노드들을 의미할 수 있다. An initial input node may refer to one or more nodes to which data is directly input without going through a link in relation to other nodes among nodes in the neural network. Alternatively, in a relationship between nodes based on a link in a neural network, it may mean nodes that do not have other input nodes connected by a link. Similarly, the final output node may refer to one or more nodes that do not have an output node in relation to other nodes among nodes in the neural network. Also, the hidden node may refer to nodes constituting the neural network other than the first input node and the last output node.

본 개시의 일 실시예에 따른 신경망은 입력 레이어의 노드의 개수가 출력 레이어의 노드의 개수와 동일할 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 감소하다가 다시 증가하는 형태의 신경망일 수 있다. 또한, 본 개시의 다른 일 실시예에 따른 신경망은 입력 레이어의 노드의 개수가 출력 레이어의 노드의 개수 보다 적을 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 감소하는 형태의 신경망일 수 있다. 또한, 본 개시의 또 다른 일 실시예에 따른 신경망은 입력 레이어의 노드의 개수가 출력 레이어의 노드의 개수보다 많을 수 있으며, 입력 레이어에서 히든 레이어로 진행됨에 따라 노드의 수가 증가하는 형태의 신경망일 수 있다. 본 개시의 또 다른 일 실시예에 따른 신경망은 상술한 신경망들의 조합된 형태의 신경망일 수 있다.In the neural network according to an embodiment of the present disclosure, the number of nodes in the input layer may be the same as the number of nodes in the output layer, and the number of nodes decreases and then increases again as the number of nodes progresses from the input layer to the hidden layer. can In addition, the neural network according to another embodiment of the present disclosure may be a neural network in which the number of nodes of the input layer may be less than the number of nodes of the output layer and the number of nodes decreases as the number of nodes increases from the input layer to the hidden layer. there is. In addition, the neural network according to another embodiment of the present disclosure is a neural network in which the number of nodes in the input layer may be greater than the number of nodes in the output layer, and the number of nodes increases as the number of nodes increases from the input layer to the hidden layer. can A neural network according to another embodiment of the present disclosure may be a neural network in the form of a combination of the aforementioned neural networks.

딥 뉴럴 네트워크(DNN: deep neural network, 심층신경망)는 입력 레이어와 출력 레이어 외에 복수의 히든 레이어를 포함하는 신경망을 의미할 수 있다. 딥 뉴럴 네트워크를 이용하면 데이터의 잠재적인 구조(latent structures)를 파악할 수 있다. 즉, 사진, 글, 비디오, 음성, 음악의 잠재적인 구조(예를 들어, 어떤 물체가 사진에 있는지, 글의 내용과 감정이 무엇인지, 음성의 내용과 감정이 무엇인지 등)를 파악할 수 있다. 딥 뉴럴 네트워크는 컨볼루션 뉴럴 네트워크(CNN: convolutional neural network), 리커런트 뉴럴 네트워크(RNN: recurrent neural network), 오토 인코더(auto encoder), GAN(Generative Adversarial Networks), 제한 볼츠만 머신(RBM: restricted boltzmann machine), 심층 신뢰 네트워크(DBN: deep belief network), Q 네트워크, U 네트워크, 샴 네트워크, 적대적 생성 네트워크(GAN: Generative Adversarial Network), 트랜스포머(transformer) 등을 포함할 수 있다. 전술한 딥 뉴럴 네트워크의 기재는 예시일 뿐이며 본 개시는 이에 제한되지 않는다. A deep neural network (DNN) may refer to a neural network including a plurality of hidden layers in addition to an input layer and an output layer. Deep neural networks can reveal latent structures in data. In other words, it can identify the latent structure of a photo, text, video, sound, or music (e.g., what objects are in the photo, what the content and emotion of the text are, what the content and emotion of the audio are, etc.). . Deep neural networks include convolutional neural networks (CNNs), recurrent neural networks (RNNs), auto encoders, generative adversarial networks (GANs), and restricted boltzmann machines (RBMs). machine), a deep belief network (DBN), a Q network, a U network, a Siamese network, a Generative Adversarial Network (GAN), a transformer, and the like. The description of the deep neural network described above is only an example, and the present disclosure is not limited thereto.

뉴럴 네트워크는 교사 학습(supervised learning), 비교사 학습(unsupervised learning), 반교사학습(semi supervised learning), 또는 강화학습(reinforcement learning) 중 적어도 하나의 방식으로 학습될 수 있다. 뉴럴 네트워크의 학습은 뉴럴 네트워크가 특정한 동작을 수행하기 위한 지식을 뉴럴 네트워크에 적용하는 과정일 수 있다. The neural network may be trained using at least one of supervised learning, unsupervised learning, semi-supervised learning, and reinforcement learning. Learning of the neural network may be a process of applying knowledge for the neural network to perform a specific operation to the neural network.

뉴럴 네트워크는 출력의 오류를 최소화하는 방향으로 학습될 수 있다. 뉴럴 네트워크의 학습에서 반복적으로 학습 데이터를 뉴럴 네트워크에 입력시키고 학습 데이터에 대한 뉴럴 네트워크의 출력과 타겟의 에러를 계산하고, 에러를 줄이기 위한 방향으로 뉴럴 네트워크의 에러를 뉴럴 네트워크의 출력 레이어에서부터 입력 레이어 방향으로 역전파(backpropagation)하여 뉴럴 네트워크의 각 노드의 가중치를 업데이트 하는 과정이다. 교사 학습의 경우 각각의 학습 데이터에 정답이 라벨링 되어있는 학습 데이터를 사용하며(즉, 라벨링된 학습 데이터), 비교사 학습의 경우는 각각의 학습 데이터에 정답이 라벨링되어 있지 않을 수 있다. 즉, 예를 들어 데이터 분류에 관한 교사 학습의 경우의 학습 데이터는 학습 데이터 각각에 카테고리가 라벨링 된 데이터 일 수 있다. 라벨링된 학습 데이터가 뉴럴 네트워크에 입력되고, 뉴럴 네트워크의 출력(카테고리)과 학습 데이터의 라벨을 비교함으로써 오류(error)가 계산될 수 있다. 다른 예로, 데이터 분류에 관한 비교사 학습의 경우 입력인 학습 데이터가 뉴럴 네트워크 출력과 비교됨으로써 오류가 계산될 수 있다. 계산된 오류는 뉴럴 네트워크에서 역방향(즉, 출력 레이어에서 입력 레이어 방향)으로 역전파 되며, 역전파에 따라 뉴럴 네트워크의 각 레이어의 각 노드들의 연결 가중치가 업데이트 될 수 있다. 업데이트 되는 각 노드의 연결 가중치는 학습률(learning rate)에 따라 변화량이 결정될 수 있다. 입력 데이터에 대한 뉴럴 네트워크의 계산과 에러의 역전파는 학습 사이클(epoch)을 구성할 수 있다. 학습률은 뉴럴 네트워크의 학습 사이클의 반복 횟수에 따라 상이하게 적용될 수 있다. 예를 들어, 뉴럴 네트워크의 학습 초기에는 높은 학습률을 사용하여 뉴럴 네트워크가 빠르게 일정 수준의 성능을 확보하도록 하여 효율성을 높이고, 학습 후기에는 낮은 학습률을 사용하여 정확도를 높일 수 있다.A neural network can be trained in a way that minimizes output errors. In the learning of the neural network, the learning data is repeatedly input into the neural network, the output of the neural network for the training data and the error of the target are calculated, and the error of the neural network is transferred from the output layer of the neural network to the input layer in the direction of reducing the error. It is a process of updating the weight of each node of the neural network by backpropagating in the same direction. In the case of teacher learning, the learning data in which the correct answer is labeled is used for each learning data (ie, the labeled learning data), and in the case of comparative teacher learning, the correct answer may not be labeled in each learning data. That is, for example, learning data in the case of teacher learning regarding data classification may be data in which each learning data is labeled with a category. Labeled training data is input to a neural network, and an error may be calculated by comparing an output (category) of the neural network and a label of the training data. As another example, in the case of comparative history learning for data classification, an error may be calculated by comparing input learning data with a neural network output. The calculated error is back-propagated in a reverse direction (ie, from the output layer to the input layer) in the neural network, and the connection weight of each node of each layer of the neural network may be updated according to the back-propagation. The amount of change in the connection weight of each updated node may be determined according to a learning rate. The neural network's computation of input data and backpropagation of errors can constitute a learning cycle (epoch). The learning rate may be applied differently according to the number of iterations of the learning cycle of the neural network. For example, a high learning rate may be used in the early stage of neural network training to increase efficiency by allowing the neural network to quickly obtain a certain level of performance, and a low learning rate may be used in the late stage to increase accuracy.

뉴럴 네트워크는 학습시키기 위한 학습 데이터의 양을 늘리기 위해, 다양한 데이터 증강 방법이 사용될 수 있다. 예를 들어, 2차원 변환인 회전(Rotation), 크기(Scale), 밀림(Shearing), 반사(Reflection), 이동(Translation)을 통해 데이터 증강이 수행될 수 있다. 또한, 노이즈 삽입, 색상, 밝기 변형 등을 활용하여 데이터 증강이 수행될 수 있다. In order to increase the amount of training data for training the neural network, various data augmentation methods may be used. For example, data augmentation may be performed through two-dimensional transformations such as rotation, scale, shearing, reflection, and translation. In addition, data augmentation may be performed by utilizing noise insertion, color, brightness transformation, and the like.

뉴럴 네트워크의 학습에서 일반적으로 학습 데이터는 실제 데이터(즉, 학습된 뉴럴 네트워크를 이용하여 처리하고자 하는 데이터)의 부분집합일 수 있으며, 따라서, 학습 데이터에 대한 오류는 감소하나 실제 데이터에 대해서는 오류가 증가하는 학습 사이클이 존재할 수 있다. 과적합(overfitting)은 이와 같이 학습 데이터에 과하게 학습하여 실제 데이터에 대한 오류가 증가하는 현상이다. 과적합은 머신러닝 알고리즘의 오류를 증가시키는 원인으로 작용할 수 있다. 이러한 과적합을 막기 위하여 다양한 최적화 방법이 사용될 수 있다. 과적합을 막기 위해서는 학습 데이터를 증가시키거나, 레귤라이제이션(regularization), 학습의 과정에서 네트워크의 노드 일부를 비활성화하는 드롭아웃(dropout), 배치 정규화 레이어(batch normalization layer)의 활용 등의 방법이 적용될 수 있다.In neural network learning, generally, training data can be a subset of real data (ie, data to be processed using the trained neural network), and therefore, errors for training data are reduced, but errors for real data are reduced. There may be incremental learning cycles. Overfitting is a phenomenon in which errors for actual data increase due to excessive learning on training data. Overfitting can act as a cause of increasing the error of machine learning algorithms. Various optimization methods can be used to prevent such overfitting. To prevent overfitting, methods such as increasing the training data, regularization, inactivating some nodes in the network during learning, and using a batch normalization layer should be applied. can

도 10은 본 발명의 실시예들이 구현될 수 있는 예시적인 컴퓨팅 환경에 대한 간략하고 일반적인 개략도이다.10 is a simplified and general schematic diagram of an exemplary computing environment in which embodiments of the invention may be implemented.

본 개시가 일반적으로 컴퓨팅 장치에 의해 구현될 수 있는 것으로 전술되었지만, 당업자라면 본 개시가 하나 이상의 컴퓨터 상에서 실행될 수 있는 컴퓨터 실행가능 명령어 및/또는 기타 프로그램 모듈들과 결합되어 및/또는 하드웨어와 소프트웨어의 조합으로써 구현될 수 있다는 것을 잘 알 것이다.Although the present disclosure has been described above as being generally embodied by a computing device, those skilled in the art will understand that the present disclosure may be combined with computer-executable instructions and/or other program modules that may be executed on one or more computers and/or may be implemented in hardware and software. It will be appreciated that it can be implemented as a combination.

일반적으로, 프로그램 모듈은 특정의 태스크를 수행하거나 특정의 추상 데이터 유형을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조, 기타 등등을 포함한다. 또한, 당업자라면 본 개시의 방법이 단일-프로세서 또는 멀티프로세서 컴퓨터 시스템, 미니컴퓨터, 메인프레임 컴퓨터는 물론 퍼스널 컴퓨터, 핸드헬드(handheld) 컴퓨팅 장치, 마이크로프로세서-기반 또는 프로그램가능 가전 제품, 기타 등등(이들 각각은 하나 이상의 연관된 장치와 연결되어 동작할 수 있음)을 비롯한 다른 컴퓨터 시스템 구성으로 실시될 수 있다는 것을 잘 알 것이다.Generally, program modules include routines, programs, components, data structures, etc. that perform particular tasks or implement particular abstract data types. In addition, those skilled in the art will understand that the methods of the present disclosure can be applied to single-processor or multiprocessor computer systems, minicomputers, mainframe computers as well as personal computers, handheld computing devices, microprocessor-based or programmable consumer electronics, and the like ( It will be appreciated that each of these may be implemented with other computer system configurations, including those that may be operative in connection with one or more associated devices.

본 개시의 설명된 실시예들은 또한 어떤 태스크들이 통신 네트워크를 통해 연결되어 있는 원격 처리 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 둘 다에 위치할 수 있다.The described embodiments of the present disclosure may also be practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.

컴퓨터는 통상적으로 다양한 컴퓨터 판독가능 매체를 포함한다. 컴퓨터에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 일시적(transitory) 및 비일시적(non-transitory) 매체, 이동식 및 비-이동식 매체를 포함한다. 제한이 아닌 예로서, 컴퓨터 판독가능 매체는 컴퓨터 판독가능 저장 매체 및 컴퓨터 판독가능 전송 매체를 포함할 수 있다. 컴퓨터 판독가능 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성 매체, 일시적 및 비-일시적 매체, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 판독가능 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital video disk) 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터에 의해 액세스될 수 있고 원하는 정보를 저장하는 데 사용될 수 있는 임의의 기타 매체를 포함하지만, 이에 한정되지 않는다.Computers typically include a variety of computer readable media. Computer readable media can be any medium that can be accessed by a computer, including volatile and nonvolatile media, transitory and non-transitory media, removable and non-transitory media. Includes removable media. By way of example, and not limitation, computer readable media may include computer readable storage media and computer readable transmission media. Computer readable storage media are volatile and nonvolatile media, transitory and non-transitory, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. includes media Computer readable storage media may include RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital video disk (DVD) or other optical disk storage device, magnetic cassette, magnetic tape, magnetic disk storage device or other magnetic storage device. device, or any other medium that can be accessed by a computer and used to store desired information.

컴퓨터 판독가능 전송 매체는 통상적으로 반송파(carrier wave) 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. 피변조 데이터 신호라는 용어는 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 제한이 아닌 예로서, 컴퓨터 판독가능 전송 매체는 유선 네트워크 또는 직접 배선 접속(direct-wired connection)과 같은 유선 매체, 그리고 음향, RF, 적외선, 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들 중 임의의 것의 조합도 역시 컴퓨터 판독가능 전송 매체의 범위 안에 포함되는 것으로 한다.A computer readable transmission medium typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism. Including all information delivery media. The term modulated data signal means a signal that has one or more of its characteristics set or changed so as to encode information within the signal. By way of example, and not limitation, computer readable transmission media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Combinations of any of the above are also intended to be included within the scope of computer readable transmission media.

컴퓨터(4102)를 포함하는 본 개시의 여러가지 측면들을 구현하는 예시적인 환경(4100)이 나타내어져 있으며, 컴퓨터(4102)는 처리 장치(4104), 시스템 메모리(4106) 및 시스템 버스(4108)를 포함한다. 시스템 버스(4108)는 시스템 메모리(4106)(이에 한정되지 않음)를 비롯한 시스템 컴포넌트들을 처리 장치(4104)에 연결시킨다. 처리 장치(4104)는 다양한 상용 프로세서들 중 임의의 프로세서일 수 있다. 듀얼 프로세서 및 기타 멀티프로세서 아키텍처도 역시 처리 장치(4104)로서 이용될 수 있다.An exemplary environment 4100 implementing various aspects of the present disclosure is shown including a computer 4102, which includes a processing unit 4104, a system memory 4106, and a system bus 4108. do. System bus 4108 couples system components, including but not limited to system memory 4106, to processing unit 4104. Processing unit 4104 may be any of a variety of commercially available processors. Dual processor and other multiprocessor architectures may also be used as the processing unit 4104.

시스템 버스(4108)는 메모리 버스, 주변장치 버스, 및 다양한 상용 버스 아키텍처 중 임의의 것을 사용하는 로컬 버스에 추가적으로 상호 연결될 수 있는 몇 가지 유형의 버스 구조 중 임의의 것일 수 있다. 시스템 메모리(4106)는 판독 전용 메모리(ROM)(4110) 및 랜덤 액세스 메모리(RAM)(4112)를 포함한다. 기본 입/출력 시스템(BIOS)은 ROM, EPROM, EEPROM 등의 비휘발성 메모리(4110)에 저장되며, 이 BIOS는 시동 중과 같은 때에 컴퓨터(4102) 내의 구성요소들 간에 정보를 전송하는 일을 돕는 기본적인 루틴을 포함한다. RAM(4112)은 또한 데이터를 캐싱하기 위한 정적 RAM 등의 고속 RAM을 포함할 수 있다.The system bus 4108 may be any of several types of bus structures that may additionally be interconnected to a memory bus, a peripheral bus, and a local bus using any of a variety of commercial bus architectures. System memory 4106 includes read only memory (ROM) 4110 and random access memory (RAM) 4112 . A basic input/output system (BIOS) is stored in non-volatile memory 4110, such as ROM, EPROM, or EEPROM, and is a basic set of information that helps transfer information between components within computer 4102, such as during startup. contains routines. RAM 4112 may also include high-speed RAM, such as static RAM, for caching data.

컴퓨터(4102)는 또한 내장형 하드 디스크 드라이브(HDD)(4114)(예를 들어, EIDE, SATA)-이 내장형 하드 디스크 드라이브(4114)는 또한 적당한 섀시(도시 생략) 내에서 외장형 용도로 구성될 수 있음-, 자기 플로피 디스크 드라이브(FDD)(4116)(예를 들어, 이동식 디스켓(4118)으로부터 판독을 하거나 그에 기록을 하기 위한 것임), 및 광 디스크 드라이브(4120)(예를 들어, CD-ROM 디스크(4122)를 판독하거나 DVD 등의 기타 고용량 광 매체로부터 판독을 하거나 그에 기록을 하기 위한 것임)를 포함한다. 하드 디스크 드라이브(4114), 자기 디스크 드라이브(4116) 및 광 디스크 드라이브(4120)는 각각 하드 디스크 드라이브 인터페이스(4124), 자기 디스크 드라이브 인터페이스(4126) 및 광 드라이브 인터페이스(4128)에 의해 시스템 버스(4108)에 연결될 수 있다. 외장형 드라이브 구현을 위한 인터페이스(4124)는 USB(Universal Serial Bus) 및 IEEE 1394 인터페이스 기술 중 적어도 하나 또는 그 둘 다를 포함한다.The computer 4102 also has an internal hard disk drive (HDD) 4114 (e.g., EIDE, SATA) - the internal hard disk drive 4114 can also be configured for external use within a suitable chassis (not shown). Yes—a magnetic floppy disk drive (FDD) 4116 (e.g., to read from or write to removable diskette 4118), and an optical disk drive 4120 (e.g., CD-ROM) for reading disc 4122 or reading from or writing to other high capacity optical media such as DVDs). The hard disk drive 4114, magnetic disk drive 4116, and optical disk drive 4120 are connected to the system bus 4108 by the hard disk drive interface 4124, magnetic disk drive interface 4126, and optical drive interface 4128, respectively. ) can be connected to The interface 4124 for external drive implementation includes at least one or both of Universal Serial Bus (USB) and IEEE 1394 interface technologies.

이들 드라이브 및 그와 연관된 컴퓨터 판독가능 매체는 데이터, 데이터 구조, 컴퓨터 실행가능 명령어, 기타 등등의 비휘발성 저장을 제공한다. 컴퓨터(4102)의 경우, 드라이브 및 매체는 임의의 데이터를 적당한 디지털 형식으로 저장하는 것에 대응한다. 상기에서의 컴퓨터 판독가능 매체에 대한 설명이 HDD, 이동식 자기 디스크, 및 CD 또는 DVD 등의 이동식 광 매체를 언급하고 있지만, 당업자라면 집 드라이브(zip drive), 자기 카세트, 플래쉬 메모리 카드, 카트리지, 기타 등등의 컴퓨터에 의해 판독가능한 다른 유형의 매체도 역시 예시적인 운영 환경에서 사용될 수 있으며 또 임의의 이러한 매체가 본 개시의 방법들을 수행하기 위한 컴퓨터 실행가능 명령어를 포함할 수 있다는 것을 잘 알 것이다.These drives and their associated computer readable media provide non-volatile storage of data, data structures, computer executable instructions, and the like. In the case of computer 4102, drives and media correspond to storing any data in a suitable digital format. Although the description of computer readable media above refers to HDDs, removable magnetic disks, and removable optical media such as CDs or DVDs, those skilled in the art can use zip drives, magnetic cassettes, flash memory cards, cartridges, etc. It will be appreciated that other tangible media readable by the computer, such as the like, may also be used in the exemplary operating environment and any such media may include computer executable instructions for performing the methods of the present disclosure.

운영 체제(4130), 하나 이상의 애플리케이션 프로그램(4132), 기타 프로그램 모듈(4134) 및 프로그램 데이터(4136)를 비롯한 다수의 프로그램 모듈이 드라이브 및 RAM(4112)에 저장될 수 있다. 운영 체제, 애플리케이션, 모듈 및/또는 데이터의 전부 또는 그 일부분이 또한 RAM(4112)에 캐싱될 수 있다. 본 개시가 여러가지 상업적으로 이용가능한 운영 체제 또는 운영 체제들의 조합에서 구현될 수 있다는 것을 잘 알 것이다.A number of program modules may be stored on the drive and RAM 4112, including an operating system 4130, one or more application programs 4132, other program modules 4134, and program data 4136. All or portions of the operating system, applications, modules and/or data may also be cached in RAM 4112. It will be appreciated that the present disclosure may be implemented in a variety of commercially available operating systems or combinations of operating systems.

사용자는 하나 이상의 유선/무선 입력 장치, 예를 들어, 키보드(4138) 및 마우스(4140) 등의 포인팅 장치를 통해 컴퓨터(4102)에 명령 및 정보를 입력할 수 있다. 기타 입력 장치(도시 생략)로는 마이크, IR 리모콘, 조이스틱, 게임 패드, 스타일러스 펜, 터치 스크린, 기타 등등이 있을 수 있다. 이들 및 기타 입력 장치가 종종 시스템 버스(4108)에 연결되어 있는 입력 장치 인터페이스(4142)를 통해 처리 장치(4104)에 연결되지만, 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스, 기타 등등의 기타 인터페이스에 의해 연결될 수 있다.A user may enter commands and information into the computer 4102 through one or more wired/wireless input devices, such as a keyboard 4138 and a pointing device such as a mouse 4140. Other input devices (not shown) may include a microphone, IR remote control, joystick, game pad, stylus pen, touch screen, and the like. Although these and other input devices are often connected to the processing unit 4104 through an input device interface 4142 that is connected to the system bus 4108, a parallel port, IEEE 1394 serial port, game port, USB port, IR interface, may be connected by other interfaces such as the like.

모니터(4144) 또는 다른 유형의 디스플레이 장치도 역시 비디오 어댑터(4146) 등의 인터페이스를 통해 시스템 버스(4108)에 연결된다. 모니터(4144)에 부가하여, 컴퓨터는 일반적으로 스피커, 프린터, 기타 등등의 기타 주변 출력 장치(도시 생략)를 포함한다.A monitor 4144 or other type of display device is also connected to the system bus 4108 through an interface such as a video adapter 4146. In addition to the monitor 4144, computers typically include other peripheral output devices (not shown) such as speakers, printers, and the like.

컴퓨터(4102)는 유선 및/또는 무선 통신을 통한 원격 컴퓨터(들)(4148) 등의 하나 이상의 원격 컴퓨터로의 논리적 연결을 사용하여 네트워크화된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(4148)는 워크스테이션, 컴퓨팅 디바이스 컴퓨터, 라우터, 퍼스널 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 오락 기기, 피어 장치 또는 기타 통상의 네트워크 노드일 수 있으며, 일반적으로 컴퓨터(4102)에 대해 기술된 구성요소들 중 다수 또는 그 전부를 포함하지만, 간략함을 위해, 메모리 저장 장치(4150)만이 도시되어 있다. 도시되어 있는 논리적 연결은 근거리 통신망(LAN)(4152) 및/또는 더 큰 네트워크, 예를 들어, 원거리 통신망(WAN)(4154)에의 유선/무선 연결을 포함한다. 이러한 LAN 및 WAN 네트워킹 환경은 사무실 및 회사에서 일반적인 것이며, 인트라넷 등의 전사적 컴퓨터 네트워크(enterprise-wide computer network)를 용이하게 해주며, 이들 모두는 전세계 컴퓨터 네트워크, 예를 들어, 인터넷에 연결될 수 있다.Computer 4102 may operate in a networked environment using logical connections to one or more remote computers, such as remote computer(s) 4148 via wired and/or wireless communications. Remote computer(s) 4148 may be a workstation, computing device computer, router, personal computer, handheld computer, microprocessor-based entertainment device, peer device, or other common network node, and generally includes includes many or all of the components described for, but for brevity, only memory storage device 4150 is shown. The logical connections shown include wired/wireless connections to a local area network (LAN) 4152 and/or a larger network, such as a wide area network (WAN) 4154 . Such LAN and WAN networking environments are common in offices and corporations and facilitate enterprise-wide computer networks, such as intranets, all of which can be connected to worldwide computer networks, such as the Internet.

LAN 네트워킹 환경에서 사용될 때, 컴퓨터(4102)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 어댑터(4156)를 통해 로컬 네트워크(4152)에 연결된다. 어댑터(4156)는 LAN(4152)에의 유선 또는 무선 통신을 용이하게 해줄 수 있으며, 이 LAN(4152)은 또한 무선 어댑터(4156)와 통신하기 위해 그에 설치되어 있는 무선 액세스 포인트를 포함하고 있다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(4102)는 모뎀(4158)을 포함할 수 있거나, WAN(4154) 상의 통신 컴퓨팅 디바이스에 연결되거나, 또는 인터넷을 통하는 등, WAN(4154)을 통해 통신을 설정하는 기타 수단을 갖는다. 내장형 또는 외장형 및 유선 또는 무선 장치일 수 있는 모뎀(4158)은 직렬 포트 인터페이스(4142)를 통해 시스템 버스(4108)에 연결된다. 네트워크화된 환경에서, 컴퓨터(4102)에 대해 설명된 프로그램 모듈들 또는 그의 일부분이 원격 메모리/저장 장치(4150)에 저장될 수 있다. 도시된 네트워크 연결이 예시적인 것이며 컴퓨터들 사이에 통신 링크를 설정하는 기타 수단이 사용될 수 있다는 것을 잘 알 것이다.When used in a LAN networking environment, computer 4102 is connected to local network 4152 through wired and/or wireless communication network interfaces or adapters 4156. Adapter 4156 may facilitate wired or wireless communications to LAN 4152, which also includes a wireless access point installed therein to communicate with wireless adapter 4156. When used in a WAN networking environment, computer 4102 may include a modem 4158, be connected to a communicating computing device on WAN 4154, or establish communications over WAN 4154, such as over the Internet. have other means. A modem 4158, which may be internal or external and wired or wireless, is connected to the system bus 4108 through a serial port interface 4142. In a networked environment, program modules described for computer 4102, or portions thereof, may be stored on remote memory/storage device 4150. It will be appreciated that the network connections shown are exemplary and other means of establishing a communication link between computers may be used.

컴퓨터(4102)는 무선 통신으로 배치되어 동작하는 임의의 무선 장치 또는 개체, 예를 들어, 프린터, 스캐너, 데스크톱 및/또는 휴대용 컴퓨터, PDA(portable data assistant), 통신 위성, 무선 검출가능 태그와 연관된 임의의 장비 또는 장소, 및 전화와 통신을 하는 동작을 한다. 이것은 적어도 Wi-Fi 및 블루투스 무선 기술을 포함한다. 따라서, 통신은 종래의 네트워크에서와 같이 미리 정의된 구조이거나 단순하게 적어도 2개의 장치 사이의 애드혹 통신(ad hoc communication)일 수 있다.Computer 4102 is any wireless device or entity that is deployed and operating in wireless communication, eg, printers, scanners, desktop and/or portable computers, portable data assistants (PDAs), communication satellites, wireless detectable tags associated with It operates to communicate with arbitrary equipment or places and telephones. This includes at least Wi-Fi and Bluetooth wireless technologies. Thus, the communication may be a predefined structure as in conventional networks or simply an ad hoc communication between at least two devices.

Wi-Fi(Wireless Fidelity)는 유선 없이도 인터넷 등으로의 연결을 가능하게 해준다. Wi-Fi는 이러한 장치, 예를 들어, 컴퓨터가 실내에서 및 실외에서, 즉 기지국의 통화권 내의 아무 곳에서나 데이터를 전송 및 수신할 수 있게 해주는 셀 전화와 같은 무선 기술이다. Wi-Fi 네트워크는 안전하고 신뢰성 있으며 고속인 무선 연결을 제공하기 위해 IEEE 802.11(a, b, g, 기타)이라고 하는 무선 기술을 사용한다. 컴퓨터를 서로에, 인터넷에 및 유선 네트워크(IEEE 802.3 또는 이더넷을 사용함)에 연결시키기 위해 Wi-Fi가 사용될 수 있다. Wi-Fi 네트워크는 비인가 2.4 및 5GHz 무선 대역에서, 예를 들어, 11Mbps(802.11a) 또는 54 Mbps(802.11b) 데이터 레이트로 동작하거나, 양 대역(듀얼 대역)을 포함하는 제품에서 동작할 수 있다.Wi-Fi (Wireless Fidelity) makes it possible to connect to the Internet without wires. Wi-Fi is a wireless technology, such as a cell phone, that allows such devices, eg, computers, to transmit and receive data both indoors and outdoors, i.e. anywhere within coverage of a base station. Wi-Fi networks use a radio technology called IEEE 802.11 (a, b, g, etc.) to provide secure, reliable, and high-speed wireless connections. Wi-Fi can be used to connect computers to each other, to the Internet, and to wired networks (using IEEE 802.3 or Ethernet). Wi-Fi networks can operate in the unlicensed 2.4 and 5 GHz radio bands, for example, at 11 Mbps (802.11a) or 54 Mbps (802.11b) data rates, or in products that include both bands (dual band) .

본 개시의 기술 분야에서 통상의 지식을 가진 자는 정보 및 신호들이 임의의 다양한 상이한 기술들 및 기법들을 이용하여 표현될 수 있다는 것을 이해할 것이다. 예를 들어, 위의 설명에서 참조될 수 있는 데이터, 지시들, 명령들, 정보, 신호들, 비트들, 심볼들 및 칩들은 전압들, 전류들, 전자기파들, 자기장들 또는 입자들, 광학장들 또는 입자들, 또는 이들의 임의의 결합에 의해 표현될 수 있다.Those skilled in the art will understand that information and signals may be represented using any of a variety of different technologies and techniques. For example, data, instructions, instructions, information, signals, bits, symbols and chips that may be referenced in the above description are voltages, currents, electromagnetic waves, magnetic fields or particles, optical fields s or particles, or any combination thereof.

한편, 본 개시의 일 실시예에 따라 데이터 구조를 저장한 컴퓨터 판독가능 매체가 개시된다.Meanwhile, according to an embodiment of the present disclosure, a computer readable medium storing a data structure is disclosed.

데이터 구조는 데이터에 효율적인 접근 및 수정을 가능하게 하는 데이터의 조직, 관리, 저장을 의미할 수 있다. 데이터 구조는 특정 문제(예를 들어, 최단 시간으로 데이터 검색, 데이터 저장, 데이터 수정) 해결을 위한 데이터의 조직을 의미할 수 있다. 데이터 구조는 특정한 데이터 처리 기능을 지원하도록 설계된, 데이터 요소들 간의 물리적이거나 논리적인 관계로 정의될 수도 있다. 데이터 요소들 간의 논리적인 관계는 사용자 정의 데이터 요소들 간의 연결관계를 포함할 수 있다. 데이터 요소들 간의 물리적인 관계는 컴퓨터 판독가능 저장매체(예를 들어, 영구 저장 장치)에 물리적으로 저장되어 있는 데이터 요소들 간의 실제 관계를 포함할 수 있다. 데이터 구조는 구체적으로 데이터의 집합, 데이터 간의 관계, 데이터에 적용할 수 있는 함수 또는 명령어를 포함할 수 있다. 효과적으로 설계된 데이터 구조를 통해 컴퓨팅 장치는 컴퓨팅 장치의 자원을 최소한으로 사용하면서 연산을 수행할 수 있다. 구체적으로 컴퓨팅 장치는 효과적으로 설계된 데이터 구조를 통해 연산, 읽기, 삽입, 삭제, 비교, 교환, 검색의 효율성을 높일 수 있다.Data structure can refer to the organization, management, and storage of data that enables efficient access and modification of data. Data structure may refer to the organization of data to solve a specific problem (eg, data retrieval, data storage, data modification in the shortest time). A data structure may be defined as a physical or logical relationship between data elements designed to support a specific data processing function. A logical relationship between data elements may include a connection relationship between user-defined data elements. A physical relationship between data elements may include an actual relationship between data elements physically stored in a computer-readable storage medium (eg, a persistent storage device). The data structure may specifically include a set of data, a relationship between data, and a function or command applicable to the data. Through an effectively designed data structure, a computing device can perform calculations while using minimal resources of the computing device. Specifically, the computing device can increase the efficiency of operation, reading, insertion, deletion, comparison, exchange, and search through an effectively designed data structure.

데이터 구조는 데이터 구조의 형태에 따라 선형 데이터 구조와 비선형 데이터 구조로 구분될 수 있다. 선형 데이터 구조는 하나의 데이터 뒤에 하나의 데이터만이 연결되는 구조일 수 있다. 선형 데이터 구조는 리스트(List), 스택(Stack), 큐(Queue), 데크(Deque)를 포함할 수 있다. 리스트는 내부적으로 순서가 존재하는 일련의 데이터 집합을 의미할 수 있다. 리스트는 연결 리스트(Linked List)를 포함할 수 있다. 연결 리스트는 각각의 데이터가 포인터를 가지고 한 줄로 연결되어 있는 방식으로 데이터가 연결된 데이터 구조일 수 있다. 연결 리스트에서 포인터는 다음이나 이전 데이터와의 연결 정보를 포함할 수 있다. 연결 리스트는 형태에 따라 단일 연결 리스트, 이중 연결 리스트, 원형 연결 리스트로 표현될 수 있다. 스택은 제한적으로 데이터에 접근할 수 있는 데이터 나열 구조일 수 있다. 스택은 데이터 구조의 한 쪽 끝에서만 데이터를 처리(예를 들어, 삽입 또는 삭제)할 수 있는 선형 데이터 구조일 수 있다. 스택에 저장된 데이터는 늦게 들어갈수록 빨리 나오는 데이터 구조(LIFO-Last in First Out)일 수 있다. 큐는 제한적으로 데이터에 접근할 수 있는 데이터 나열 구조로서, 스택과 달리 늦게 저장된 데이터일수록 늦게 나오는 데이터 구조(FIFO-First in First Out)일 수 있다. 데크는 데이터 구조의 양 쪽 끝에서 데이터를 처리할 수 있는 데이터 구조일 수 있다.The data structure can be divided into a linear data structure and a non-linear data structure according to the shape of the data structure. A linear data structure may be a structure in which only one data is connected after one data. Linear data structures may include lists, stacks, queues, and decks. A list may refer to a series of data sets in which order exists internally. The list may include a linked list. A linked list may be a data structure in which data are connected in such a way that each data is connected in a single line with a pointer. In a linked list, a pointer can contain information about connection to the next or previous data. A linked list can be expressed as a singly linked list, a doubly linked list, or a circular linked list depending on the form. A stack can be a data enumeration structure that allows limited access to data. A stack can be a linear data structure in which data can be processed (eg, inserted or deleted) at only one end of the data structure. The data stored in the stack may be a LIFO-Last in First Out (Last in First Out) data structure. A queue is a data listing structure that allows limited access to data, and unlike a stack, it can be a data structure (FIFO-First in First Out) in which data stored later comes out later. A deck can be a data structure that can handle data from either end of the data structure.

비선형 데이터 구조는 하나의 데이터 뒤에 복수개의 데이터가 연결되는 구조일 수 있다. 비선형 데이터 구조는 그래프(Graph) 데이터 구조를 포함할 수 있다. 그래프 데이터 구조는 정점(Vertex)과 간선(Edge)으로 정의될 수 있으며 간선은 서로 다른 두개의 정점을 연결하는 선을 포함할 수 있다. 그래프 데이터 구조 트리(Tree) 데이터 구조를 포함할 수 있다. 트리 데이터 구조는 트리에 포함된 복수개의 정점 중에서 서로 다른 두개의 정점을 연결시키는 경로가 하나인 데이터 구조일 수 있다. 즉 그래프 데이터 구조에서 루프(loop)를 형성하지 않는 데이터 구조일 수 있다.The nonlinear data structure may be a structure in which a plurality of data are connected after one data. The non-linear data structure may include a graph data structure. A graph data structure can be defined as a vertex and an edge, and an edge can include a line connecting two different vertices. A graph data structure may include a tree data structure. The tree data structure may be a data structure in which one path connects two different vertices among a plurality of vertices included in the tree. That is, it may be a data structure that does not form a loop in a graph data structure.

본 명세서에 걸쳐, 연산 모델, 신경망, 네트워크 함수, 뉴럴 네트워크(neural network)는 동일한 의미로 사용될 수 있다. 이하에서는 신경망으로 통일하여 기술한다. 데이터 구조는 신경망을 포함할 수 있다. 그리고 신경망을 포함한 데이터 구조는 컴퓨터 판독가능 매체에 저장될 수 있다. 신경망을 포함한 데이터 구조는 또한 신경망에 의한 처리를 위하여 전처리된 데이터, 신경망에 입력되는 데이터, 신경망의 가중치, 신경망의 하이퍼 파라미터, 신경망으로부터 획득한 데이터, 신경망의 각 노드 또는 레이어와 연관된 활성 함수, 신경망의 학습을 위한 손실함수 등을 포함할 수 있다. 신경망을 포함한 데이터 구조는 상기 개시된 구성들 중 임의의 구성 요소들을 포함할 수 있다. 즉 신경망을 포함한 데이터 구조는 신경망에 의한 처리를 위하여 전처리된 데이터, 신경망에 입력되는 데이터, 신경망의 가중치, 신경망의 하이퍼 파라미터, 신경망으로부터 획득한 데이터, 신경망의 각 노드 또는 레이어와 연관된 활성 함수, 신경망의 학습을 위한 손실함수 등 전부 또는 이들의 임의의 조합을 포함하여 구성될 수 있다. 전술한 구성들 이외에도, 신경망을 포함한 데이터 구조는 신경망의 특성을 결정하는 임의의 다른 정보를 포함할 수 있다. 또한, 데이터 구조는 신경망의 연산 과정에 사용되거나 발생되는 모든 형태의 데이터를 포함할 수 있으며 전술한 사항에 제한되는 것은 아니다. 컴퓨터 판독가능 매체는 컴퓨터 판독가능 기록 매체 및/또는 컴퓨터 판독가능 전송 매체를 포함할 수 있다. 신경망은 일반적으로 노드라 지칭될 수 있는 상호 연결된 계산 단위들의 집합으로 구성될 수 있다. 이러한 노드들은 뉴런(neuron)들로 지칭될 수도 있다. 신경망은 적어도 하나 이상의 노드들을 포함하여 구성된다.Throughout this specification, computational model, neural network, network function, and neural network may be used interchangeably. Hereinafter, a neural network is unified and described. The data structure may include a neural network. And the data structure including the neural network may be stored in a computer readable medium. The data structure including the neural network may also include preprocessed data for processing by the neural network, data input to the neural network, weights of the neural network, hyperparameters of the neural network, data obtained from the neural network, activation function associated with each node or layer of the neural network, and neural network It may include a loss function for learning of . A data structure including a neural network may include any of the components described above. That is, the data structure including the neural network includes preprocessed data for processing by the neural network, data input to the neural network, weights of the neural network, hyperparameters of the neural network, data obtained from the neural network, activation function associated with each node or layer of the neural network, and neural network. It may be configured to include all or any combination thereof, such as a loss function for learning of . In addition to the foregoing configurations, the data structure comprising the neural network may include any other information that determines the characteristics of the neural network. In addition, the data structure may include all types of data used or generated in the computational process of the neural network, but is not limited to the above. A computer readable medium may include a computer readable recording medium and/or a computer readable transmission medium. A neural network may consist of a set of interconnected computational units, which may generally be referred to as nodes. These nodes may also be referred to as neurons. A neural network includes one or more nodes.

데이터 구조는 신경망에 입력되는 데이터를 포함할 수 있다. 신경망에 입력되는 데이터를 포함하는 데이터 구조는 컴퓨터 판독가능 매체에 저장될 수 있다. 신경망에 입력되는 데이터는 신경망 학습 과정에서 입력되는 학습 데이터 및/또는 학습이 완료된 신경망에 입력되는 입력 데이터를 포함할 수 있다. 신경망에 입력되는 데이터는 전처리(pre-processing)를 거친 데이터 및/또는 전처리 대상이 되는 데이터를 포함할 수 있다. 전처리는 데이터를 신경망에 입력시키기 위한 데이터 처리 과정을 포함할 수 있다. 따라서 데이터 구조는 전처리 대상이 되는 데이터 및 전처리로 발생되는 데이터를 포함할 수 있다. 전술한 데이터 구조는 예시일 뿐 본 개시는 이에 제한되지 않는다.The data structure may include data input to the neural network. A data structure including data input to the neural network may be stored in a computer readable medium. Data input to the neural network may include training data input during a neural network learning process and/or input data input to a neural network that has been trained. Data input to the neural network may include pre-processed data and/or data subject to pre-processing. Pre-processing may include a data processing process for inputting data to a neural network. Accordingly, the data structure may include data subject to pre-processing and data generated by pre-processing. The foregoing data structure is only an example, and the present disclosure is not limited thereto.

데이터 구조는 신경망의 가중치를 포함할 수 있다. (본 명세서에서 가중치, 파라미터는 동일한 의미로 사용될 수 있다.) 그리고 신경망의 가중치를 포함한 데이터 구조는 컴퓨터 판독가능 매체에 저장될 수 있다. 신경망은 복수개의 가중치를 포함할 수 있다. 가중치는 가변적일 수 있으며, 신경망이 원하는 기능을 수행하기 위해, 사용자 또는 알고리즘에 의해 가변 될 수 있다. 예를 들어, 하나의 출력 노드에 하나 이상의 입력 노드가 각각의 링크에 의해 상호 연결된 경우, 출력 노드는 상기 출력 노드와 연결된 입력 노드들에 입력된 값들 및 각각의 입력 노드들에 대응하는 링크에 설정된 가중치에 기초하여 출력 노드에서 출력되는 데이터 값을 결정할 수 있다. 전술한 데이터 구조는 예시일 뿐 본 개시는 이에 제한되지 않는다.The data structure may include the weights of the neural network. (In this specification, weights and parameters may be used in the same meaning.) Also, a data structure including weights of a neural network may be stored in a computer readable medium. A neural network may include a plurality of weights. The weight may be variable, and may be changed by a user or an algorithm in order to perform a function desired by the neural network. For example, when one or more input nodes are interconnected by respective links to one output node, the output node is set to a link corresponding to values input to input nodes connected to the output node and respective input nodes. A data value output from an output node may be determined based on the weight. The foregoing data structure is only an example, and the present disclosure is not limited thereto.

제한이 아닌 예로서, 가중치는 신경망 학습 과정에서 가변되는 가중치 및/또는 신경망 학습이 완료된 가중치를 포함할 수 있다. 신경망 학습 과정에서 가변되는 가중치는 학습 사이클이 시작되는 시점의 가중치 및/또는 학습 사이클 동안 가변되는 가중치를 포함할 수 있다. 신경망 학습이 완료된 가중치는 학습 사이클이 완료된 가중치를 포함할 수 있다. 따라서 신경망의 가중치를 포함한 데이터 구조는 신경망 학습 과정에서 가변되는 가중치 및/또는 신경망 학습이 완료된 가중치를 포함한 데이터 구조를 포함할 수 있다. 그러므로 상술한 가중치 및/또는 각 가중치의 조합은 신경망의 가중치를 포함한 데이터 구조에 포함되는 것으로 한다. 전술한 데이터 구조는 예시일 뿐 본 개시는 이에 제한되지 않는다.As a non-limiting example, the weights may include weights that are varied during neural network training and/or weights for which neural network training has been completed. The variable weight in the neural network learning process may include a weight at the time the learning cycle starts and/or a variable weight during the learning cycle. The weights for which neural network learning has been completed may include weights for which learning cycles have been completed. Accordingly, the data structure including the weights of the neural network may include a data structure including weights that are variable during the neural network learning process and/or weights for which neural network learning is completed. Therefore, it is assumed that the above-described weights and/or combinations of weights are included in the data structure including the weights of the neural network. The foregoing data structure is only an example, and the present disclosure is not limited thereto.

신경망의 가중치를 포함한 데이터 구조는 직렬화(serialization) 과정을 거친 후 컴퓨터 판독가능 저장 매체(예를 들어, 메모리, 하드 디스크)에 저장될 수 있다. 직렬화는 데이터 구조를 동일하거나 다른 컴퓨팅 장치에 저장하고 나중에 다시 재구성하여 사용할 수 있는 형태로 변환하는 과정일 수 있다. 컴퓨팅 장치는 데이터 구조를 직렬화하여 네트워크를 통해 데이터를 송수신할 수 있다. 직렬화된 신경망의 가중치를 포함한 데이터 구조는 역직렬화(deserialization)를 통해 동일한 컴퓨팅 장치 또는 다른 컴퓨팅 장치에서 재구성될 수 있다. 신경망의 가중치를 포함한 데이터 구조는 직렬화에 한정되는 것은 아니다. 나아가 신경망의 가중치를 포함한 데이터 구조는 컴퓨팅 장치의 자원을 최소한으로 사용하면서 연산의 효율을 높이기 위한 데이터 구조(예를 들어, 비선형 데이터 구조에서 B-Tree, Trie, m-way search tree, AVL tree, Red-Black Tree)를 포함할 수 있다. 전술한 사항은 예시일 뿐 본 개시는 이에 제한되지 않는다.The data structure including the weights of the neural network may be stored in a computer readable storage medium (eg, a memory or a hard disk) after going through a serialization process. Serialization can be the process of converting a data structure into a form that can be stored on the same or another computing device and later reconstructed and used. A computing device may serialize data structures to transmit and receive data over a network. The data structure including the weights of the serialized neural network may be reconstructed on the same computing device or another computing device through deserialization. The data structure including the weights of the neural network is not limited to serialization. Furthermore, the data structure including the weights of the neural network is a data structure for increasing the efficiency of operation while minimizing the resource of the computing device (for example, B-Tree, Trie, m-way search tree, AVL tree, Red-Black Tree). The foregoing is only an example, and the present disclosure is not limited thereto.

데이터 구조는 신경망의 하이퍼 파라미터(Hyper-parameter)를 포함할 수 있다. 그리고 신경망의 하이퍼 파라미터를 포함한 데이터 구조는 컴퓨터 판독가능 매체에 저장될 수 있다. 하이퍼 파라미터는 사용자에 의해 가변되는 변수일 수 있다. 하이퍼 파라미터는 예를 들어, 학습률(learning rate), 비용 함수(cost function), 학습 사이클 반복 횟수, 가중치 초기화(Weight initialization)(예를 들어, 가중치 초기화 대상이 되는 가중치 값의 범위 설정), Hidden Unit 개수(예를 들어, 히든 레이어의 개수, 히든 레이어의 노드 수)를 포함할 수 있다. 전술한 데이터 구조는 예시일 뿐 본 개시는 이에 제한되지 않는다.The data structure may include hyper-parameters of the neural network. Also, the data structure including the hyperparameters of the neural network may be stored in a computer readable medium. A hyperparameter may be a variable variable by a user. Hyperparameters include, for example, learning rate, cost function, number of learning cycle iterations, weight initialization (eg, setting the range of weight values to be targeted for weight initialization), hidden unit number (eg, the number of hidden layers and the number of nodes in the hidden layer). The foregoing data structure is only an example, and the present disclosure is not limited thereto.

본 개시의 기술 분야에서 통상의 지식을 가진 자는 여기에 개시된 실시예들과 관련하여 설명된 다양한 예시적인 논리 블록들, 모듈들, 프로세서들, 수단들, 회로들 및 알고리즘 단계들이 전자 하드웨어, (편의를 위해, 여기에서 소프트웨어로 지칭되는) 다양한 형태들의 프로그램 또는 설계 코드 또는 이들 모두의 결합에 의해 구현될 수 있다는 것을 이해할 것이다. 하드웨어 및 소프트웨어의 이러한 상호 호환성을 명확하게 설명하기 위해, 다양한 예시적인 컴포넌트들, 블록들, 모듈들, 회로들 및 단계들이 이들의 기능과 관련하여 위에서 일반적으로 설명되었다. 이러한 기능이 하드웨어 또는 소프트웨어로서 구현되는지 여부는 특정한 애플리케이션 및 전체 시스템에 대하여 부과되는 설계 제약들에 따라 좌우된다. 본 개시의 기술 분야에서 통상의 지식을 가진 자는 각각의 특정한 애플리케이션에 대하여 다양한 방식들로 설명된 기능을 구현할 수 있으나, 이러한 구현 결정들은 본 개시의 범위를 벗어나는 것으로 해석되어서는 안 될 것이다.Those skilled in the art will understand that the various illustrative logical blocks, modules, processors, means, circuits, and algorithm steps described in connection with the embodiments disclosed herein are electronic hardware, (for convenience) , may be implemented by various forms of program or design code (referred to herein as software) or a combination of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and steps have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the particular application and the design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.

여기서 제시된 다양한 실시예들은 방법, 장치, 또는 표준 프로그래밍 및/또는 엔지니어링 기술을 사용한 제조 물품(article)으로 구현될 수 있다. 용어 제조 물품은 임의의 컴퓨터-판독가능 저장장치로부터 액세스 가능한 컴퓨터 프로그램, 캐리어, 또는 매체(media)를 포함한다. 예를 들어, 컴퓨터-판독가능 저장매체는 자기 저장 장치(예를 들면, 하드 디스크, 플로피 디스크, 자기 스트립, 등), 광학 디스크(예를 들면, CD, DVD, 등), 스마트 카드, 및 플래쉬 메모리 장치(예를 들면, EEPROM, 카드, 스틱, 키 드라이브, 등)를 포함하지만, 이들로 제한되는 것은 아니다. 또한, 여기서 제시되는 다양한 저장 매체는 정보를 저장하기 위한 하나 이상의 장치 및/또는 다른 기계-판독가능한 매체를 포함한다.Various embodiments presented herein may be implemented as a method, apparatus, or article of manufacture using standard programming and/or engineering techniques. The term article of manufacture includes a computer program, carrier, or media accessible from any computer-readable storage device. For example, computer-readable storage media include magnetic storage devices (eg, hard disks, floppy disks, magnetic strips, etc.), optical disks (eg, CDs, DVDs, etc.), smart cards, and flash memory devices (eg, EEPROM, cards, sticks, key drives, etc.), but are not limited thereto. Additionally, various storage media presented herein include one or more devices and/or other machine-readable media for storing information.

제시된 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조는 예시적인 접근들의 일례임을 이해하도록 한다. 설계 우선순위들에 기반하여, 본 개시의 범위 내에서 프로세스들에 있는 단계들의 특정한 순서 또는 계층 구조가 재배열될 수 있다는 것을 이해하도록 한다. 첨부된 방법 청구항들은 샘플 순서로 다양한 단계들의 엘리먼트들을 제공하지만 제시된 특정한 순서 또는 계층 구조에 한정되는 것을 의미하지는 않는다.It is to be understood that the specific order or hierarchy of steps in the processes presented is an example of example approaches. Based upon design priorities, it is to be understood that the specific order or hierarchy of steps in the processes may be rearranged within the scope of this disclosure. The accompanying method claims present elements of the various steps in a sample order, but are not meant to be limited to the specific order or hierarchy presented.

제시된 실시예들에 대한 설명은 임의의 본 개시의 기술 분야에서 통상의 지식을 가진 자가 본 개시를 이용하거나 또는 실시할 수 있도록 제공된다. 이러한 실시예들에 대한 다양한 변형들은 본 개시의 기술 분야에서 통상의 지식을 가진 자에게 명백할 것이며, 여기에 정의된 일반적인 원리들은 본 개시의 범위를 벗어남이 없이 다른 실시예들에 적용될 수 있다. 그리하여, 본 개시는 여기에 제시된 실시예들로 한정되는 것이 아니라, 여기에 제시된 원리들 및 신규한 특징들과 일관되는 최광의의 범위에서 해석되어야 할 것이다.The description of the presented embodiments is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these embodiments will be apparent to those skilled in the art of this disclosure, and the general principles defined herein may be applied to other embodiments without departing from the scope of this disclosure. Thus, the present disclosure is not to be limited to the embodiments presented herein, but is to be interpreted in the widest scope consistent with the principles and novel features presented herein.

Claims (13)

컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램으로서, 상기 컴퓨터 프로그램은 컴퓨팅 장치의 하나 이상의 프로세서에서 실행되는 경우 각각 복수의 비트를 가지는 복수의 세그먼트로 구성되는 다트 타겟 상에 다트핀 위치 식별을 위한 트레이닝 데이터셋을 생성하는 방법을 제공하며, 상기 방법은:
상기 다트 타겟의 적어도 하나의 세그먼트 상에 적어도 하나의 다트핀이 비트 단위로 상이하게 히트한 다트 타겟 촬영 훈련 이미지를 획득하는 단계 - 상기 다트 타겟에 포함되는 복수의 세그먼트는 각각 사전 결정된 개수의 비트를 포함함 -; 및
상기 획득한 다트 타겟 촬영 훈련 이미지에 대응하는 라벨을 부여하는 단계 - 상기 라벨은 상기 획득한 다트 타겟 촬영 훈련 이미지 상에 나타나는 상기 적어도 하나의 다트핀이 히트한 세그먼트 위치 정보 및 비트 위치 정보를 포함함 -;
를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
A computer program stored on a computer-readable storage medium, wherein the computer program is a training data set for identifying dart pin positions on a dart target composed of a plurality of segments each having a plurality of bits when executed in one or more processors of a computing device. Provides a method for generating, said method:
Acquiring a dart target shooting training image in which at least one dart pin is differently hit in bit units on at least one segment of the dart target - A plurality of segments included in the dart target each have a predetermined number of bits contains -; and
assigning a label corresponding to the acquired dart target shooting training image - the label includes segment position information and bit position information hit by the at least one dart pin appearing on the acquired dart target shooting training image -;
including,
A computer program stored on a computer readable storage medium.
제 1 항에 있어서,
상기 다트 타겟 촬영 훈련 이미지는 하나의 라벨에 대응하는 적어도 2개의 이미지를 포함하고, 그리고 상기 하나의 라벨에 대응하는 적어도 2개의 이미지는 각각 사전 결정된 방향으로 위치하는 적어도 2개의 카메라에 의해 생성되는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 1,
The dart target shooting training image includes at least two images corresponding to one label, and the at least two images corresponding to the one label are generated by at least two cameras each positioned in a predetermined direction,
A computer program stored on a computer readable storage medium.
제 1 항 또는 제 2 항에 있어서,
상기 다트 타겟의 적어도 하나의 세그먼트 상에 적어도 하나의 다트핀이 히트한 다트 타겟 촬영 훈련 이미지를 획득하는 단계는:
상기 다트 타겟의 제 1 세그먼트에 포함되는 제 1 비트 상에 제 1 다트핀이 히트한 제 1 다트 타겟 촬영 훈련 이미지를 획득하는 단계; 및
상기 다트 타겟의 제 1 세그먼트에 포함되는 제 2 비트 상에 상기 제 1 다트핀이 히트한 제 2 다트 타겟 촬영 훈련 이미지를 획득하는 단계;
를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 1 or 2,
Acquiring a dart target shooting training image in which at least one dart pin hits on at least one segment of the dart target includes:
obtaining a first dart target shooting training image hit by a first dart pin on a first bit included in a first segment of the dart target; and
obtaining a second dart target shooting training image hit by the first dart pin on a second bit included in the first segment of the dart target;
including,
A computer program stored on a computer readable storage medium.
제 3 항에 있어서,
상기 다트 타겟의 적어도 하나의 세그먼트 상에 적어도 하나의 다트핀이 히트한 다트 타겟 촬영 훈련 이미지를 획득하는 단계는:
상기 다트 타겟의 제 2 세그먼트에 포함되는 제 3 비트 상에 상기 제 1 다트핀이 히트한 제 3 다트 타겟 촬영 훈련 이미지를 획득하는 단계;
를 더 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 3,
Acquiring a dart target shooting training image in which at least one dart pin hits on at least one segment of the dart target includes:
obtaining a third dart target shooting training image hit by the first dart pin on a third bit included in the second segment of the dart target;
Including more,
A computer program stored on a computer readable storage medium.
제 3 항에 있어서,
상기 다트 타겟의 적어도 하나의 세그먼트 상에 적어도 하나의 다트핀이 히트한 다트 타겟 촬영 훈련 이미지를 획득하는 단계는:
상기 다트 타겟의 제 1 세그먼트에 포함되는 상기 제 1 비트 상에 상기 제 1 다트핀이 히트하고 그리고 상기 다트 타겟의 제 1 세그먼트에 포함되는 상기 제 2 비트 상에 제 2 다트핀이 히트한 제 4 다트 타겟 촬영 훈련 이미지를 획득하는 단계;
를 더 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 3,
Acquiring a dart target shooting training image in which at least one dart pin hits on at least one segment of the dart target includes:
4th in which the first dart pin hits the first bit included in the first segment of the dart target and the second dart pin hits the second bit included in the first segment of the dart target Acquiring a dart target shooting training image;
Including more,
A computer program stored on a computer readable storage medium.
제 5 항에 있어서,
상기 다트 타겟의 제 1 세그먼트에 포함되는 상기 제 1 비트 상에 상기 제 1 다트핀이 히트하고 그리고 상기 다트 타겟의 제 1 세그먼트에 포함되는 제 4 비트 상에 제 2 다트핀이 히트한 제 5 다트 타겟 촬영 훈련 이미지를 획득하는 단계;
를 더 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 5,
A fifth dart in which the first dart pin hits the first bit included in the first segment of the dart target and the second dart pin hits the fourth bit included in the first segment of the dart target obtaining a target shooting training image;
Including more,
A computer program stored on a computer readable storage medium.
제 3 항에 있어서,
상기 다트 타겟의 적어도 하나의 세그먼트 상에 적어도 하나의 다트핀이 히트한 다트 타겟 촬영 훈련 이미지를 획득하는 단계는:
상기 다트 타겟의 제 1 세그먼트에 포함되는 상기 제 1 비트 상에 상기 제 1 다트핀이 히트하고 그리고 상기 다트 타겟의 제 2 세그먼트에 포함되는 제 3 비트 상에 제 2 다트핀이 히트한 제 6 다트 타겟 촬영 훈련 이미지를 획득하는 단계;
를 더 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 3,
Acquiring a dart target shooting training image in which at least one dart pin hits on at least one segment of the dart target includes:
A sixth dart in which the first dart pin hits the first bit included in the first segment of the dart target and the second dart pin hits the third bit included in the second segment of the dart target obtaining a target shooting training image;
Including more,
A computer program stored on a computer readable storage medium.
제 7 항에 있어서,
상기 다트 타겟의 제 1 세그먼트에 포함되는 상기 제 1 비트 상에 상기 제 1 다트핀이 히트하고 그리고 상기 다트 타겟의 제 2 세그먼트에 포함되는 제 5 비트 상에 상기 제 2 다트핀이 히트한 제 7 다트 타겟 촬영 훈련 이미지를 획득하는 단계;
를 더 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 7,
Seventh in which the first dart pin hits the first bit included in the first segment of the dart target and the second dart pin hits the fifth bit included in the second segment of the dart target Acquiring a dart target shooting training image;
Including more,
A computer program stored on a computer readable storage medium.
제 3 항에 있어서,
상기 다트 타겟의 제 1 세그먼트에 포함되는 제 1 비트 상에 히트한 제 1 다트 타겟 촬영 훈련 이미지를 획득하는 단계는:
제 1 촬영 환경 조건 하에서 상기 제 1 다트 타겟 촬영 훈련 이미지를 획득하는 단계; 및
제 2 촬영 환경 조건 하에서 상기 제 1 다트 타겟 촬영 훈련 이미지를 획득하는 단계;
를 포함하는,
컴퓨터 판독가능 저장 매체에 저장된 컴퓨터 프로그램.
According to claim 3,
Acquiring a first dart target shooting training image hit on a first bit included in a first segment of the dart target includes:
acquiring the first dart target shooting training image under a first shooting environment condition; and
acquiring the first dart target shooting training image under a second shooting environment condition;
including,
A computer program stored on a computer readable storage medium.
삭제delete 삭제delete 컴퓨팅 장치에 의해 수행되는 각각 복수의 비트를 가지는 복수의 세그먼트로 구성되는 다트 타겟 상에 다트핀 위치 식별을 위한 트레이닝 데이터셋을 생성하는 방법에 있어서,
상기 다트 타겟의 적어도 하나의 세그먼트 상에 적어도 하나의 다트핀이 비트 단위로 상이하게 히트한 다트 타겟 촬영 훈련 이미지를 획득하는 단계; 및
상기 획득한 다트 타겟 촬영 훈련 이미지에 대응하는 라벨을 부여하는 단계 - 상기 라벨은 상기 획득한 다트 타겟 촬영 훈련 이미지 상에 나타나는 상기 적어도 하나의 다트핀이 히트한 세그먼트 위치 정보 및 비트 위치 정보를 포함함 -;
를 포함하는,
방법.
A method for generating a training dataset for identifying dart pin positions on a dart target composed of a plurality of segments each having a plurality of bits, performed by a computing device,
obtaining a dart target shooting training image in which at least one dart pin is differently hit in units of bits on at least one segment of the dart target; and
assigning a label corresponding to the acquired dart target shooting training image - the label includes segment position information and bit position information hit by the at least one dart pin appearing on the acquired dart target shooting training image -;
including,
method.
각각 복수의 비트를 가지는 복수의 세그먼트로 구성되는 다트 타겟 상에 다트핀 위치 식별을 위한 트레이닝 데이터셋을 생성하기 위한 컴퓨팅 장치로서,
컴퓨터 실행가능한 컴포넌트들을 포함하는 메모리;
메모리에 저장된 이하의 컴퓨터 실행가능한 컴포넌트들을 실행하는 프로세서; 를 포함하고,
상기 프로세서는,
상기 다트 타겟의 적어도 하나의 세그먼트 상에 적어도 하나의 다트핀이 비트 단위로 상이하게 히트한 다트 타겟 촬영 훈련 이미지를 획득하고, 그리고
상기 획득한 다트 타겟 촬영 훈련 이미지에 대응하는 라벨을 부여하는 - 상기 라벨은 상기 획득한 다트 타겟 촬영 훈련 이미지 상에 나타나는 상기 적어도 하나의 다트핀이 히트한 세그먼트 위치 정보 및 비트 위치 정보를 포함함 -,
컴퓨팅 장치.
A computing device for generating a training dataset for identifying dart pin positions on a dart target composed of a plurality of segments each having a plurality of bits,
memory containing computer-executable components;
a processor executing the following computer-executable components stored in a memory; including,
the processor,
Acquiring a dart target shooting training image in which at least one dart pin is differently hit in units of bits on at least one segment of the dart target, and
assigning a label corresponding to the acquired dart target shooting training image, wherein the label includes segment position information and bit position information hit by the at least one dart pin appearing on the acquired dart target shooting training image; ,
computing device.
KR1020220102249A 2022-08-16 2022-08-16 Method, computer program, and device for generating training dataset to identify hit location of dart pin KR102548104B1 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
KR1020220102249A KR102548104B1 (en) 2022-08-16 2022-08-16 Method, computer program, and device for generating training dataset to identify hit location of dart pin
CN202311003713.9A CN117611658A (en) 2022-08-16 2023-08-10 Method, computer program and apparatus for generating training data set for dart needle position recognition
TW112130152A TWI854778B (en) 2022-08-16 2023-08-10 Method, computer program, and device for generating training dataset to identify hit location of dart pin
EP23191036.5A EP4325163A1 (en) 2022-08-16 2023-08-11 Method, computer program, and device for generating training dataset for identifying hit location of dart pin
JP2023132219A JP7519051B2 (en) 2022-08-16 2023-08-15 Method, computer program, and apparatus for generating training data sets for dart pin location identification
US18/450,643 US20240062418A1 (en) 2022-08-16 2023-08-16 Method, Computer Program, And Device For Generating Training Dataset To Identify Hit Location Of Dart Pin
JP2024102640A JP2024129063A (en) 2022-08-16 2024-06-26 Method, computer program, and apparatus for generating training data sets for dart pin location identification

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020220102249A KR102548104B1 (en) 2022-08-16 2022-08-16 Method, computer program, and device for generating training dataset to identify hit location of dart pin

Publications (1)

Publication Number Publication Date
KR102548104B1 true KR102548104B1 (en) 2023-06-27

Family

ID=86946732

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020220102249A KR102548104B1 (en) 2022-08-16 2022-08-16 Method, computer program, and device for generating training dataset to identify hit location of dart pin

Country Status (5)

Country Link
US (1) US20240062418A1 (en)
EP (1) EP4325163A1 (en)
JP (2) JP7519051B2 (en)
KR (1) KR102548104B1 (en)
CN (1) CN117611658A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160110060A (en) * 2015-12-17 2016-09-21 주식회사 홍인터내셔날 Server and apparatus and computer program for identifying a hitting position of dart pin
KR20200042077A (en) * 2018-10-12 2020-04-23 한국생산기술연구원 Apparatus, Method For Estimating Ripening Degree Of A Plant and A Computer-readable Storage Medium For Executing The Method
KR102136813B1 (en) 2018-10-15 2020-07-22 주식회사 엔터리얼 Electronic dart game service system
US10885388B1 (en) * 2020-08-04 2021-01-05 Superb Ai Co., Ltd. Method for generating training data to be used for training deep learning network capable of analyzing images and auto labeling device using the same

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201488647U (en) 2009-08-06 2010-05-26 英群企业股份有限公司 Auto-scoring improved structure of dart target
GB2542108B (en) 2015-06-18 2017-08-30 Flight Path Ip Ltd Automatic dartboard scoring system
US10443987B2 (en) 2016-04-21 2019-10-15 Indian Industries, Inc. Dartboard scoring system
GB2560190A (en) 2017-03-03 2018-09-05 Nvtek Electronic Co Ltd A calibration method for a camera which monitors a target board
CN113018830A (en) 2021-03-10 2021-06-25 南阳理工学院 Automatic scoring device and scoring method for sports competition

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160110060A (en) * 2015-12-17 2016-09-21 주식회사 홍인터내셔날 Server and apparatus and computer program for identifying a hitting position of dart pin
KR20200042077A (en) * 2018-10-12 2020-04-23 한국생산기술연구원 Apparatus, Method For Estimating Ripening Degree Of A Plant and A Computer-readable Storage Medium For Executing The Method
KR102136813B1 (en) 2018-10-15 2020-07-22 주식회사 엔터리얼 Electronic dart game service system
US10885388B1 (en) * 2020-08-04 2021-01-05 Superb Ai Co., Ltd. Method for generating training data to be used for training deep learning network capable of analyzing images and auto labeling device using the same

Also Published As

Publication number Publication date
JP2024027105A (en) 2024-02-29
US20240062418A1 (en) 2024-02-22
CN117611658A (en) 2024-02-27
TW202409507A (en) 2024-03-01
EP4325163A1 (en) 2024-02-21
JP7519051B2 (en) 2024-07-19
JP2024129063A (en) 2024-09-26

Similar Documents

Publication Publication Date Title
US20220274018A1 (en) Gamer training using neural networks
JP7399277B2 (en) Information processing methods, devices, computer programs and electronic devices
KR20200042737A (en) Method for detecting abnormal game play
KR102199467B1 (en) Method for collecting data for machine learning
KR102548103B1 (en) Method, computer program, and device for identifying hit location of dart pin
JP7436084B1 (en) Method and apparatus for providing a darts game using artificial intelligence technology
KR20200121616A (en) Method for changing game environment
KR102548104B1 (en) Method, computer program, and device for generating training dataset to identify hit location of dart pin
KR102548105B1 (en) Method, computer program, and device for identifying hit location of dart pin
KR102193115B1 (en) A computer program for performing drawing-based security authentication
KR20200143842A (en) Method to analyze scene
Willman Machine Learning to identify cheaters in online games
TWI852722B (en) Method, computer program, and device for identifying hit location of dart pin
TWI854773B (en) Method, computer program, and device for identifying hit location of dart pin
TWI854778B (en) Method, computer program, and device for generating training dataset to identify hit location of dart pin
KR102259786B1 (en) Method for processing game data
CN114344916A (en) Data processing method and related device
KR102716522B1 (en) Method for predicting of preference
KR20210005834A (en) Method for collecting data for machine learning
Paktitis Developing a video game capable of modeling the user
Ritto Creating AI Bots in DOTA2

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant