Method for identifying hitting position of dart pin, computer program, and device

The dart pin position identification network model in the dart game device accurately determines hit positions using historical data and real-time images, addressing environmental noise and data sufficiency issues to enhance gameplay experience.

JP7698255B2Active Publication Date: 2025-06-25PHOENIXDARTS CO LTD
View PDF 13 Cites 0 Cited by

Patent Information

Application Number
JP2024104367
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2022-08-16
Filing Date
2024-06-27
Publication Date
2025-06-25
Estimated Expiration
2043-08-16

AI Technical Summary

Technical Problem

Existing dart game devices face challenges in accurately identifying the hit position of dart pins due to noise in various installation environments and the difficulty in securing sufficient training data for deep learning algorithms.

Method used

A computer program and apparatus that utilize a dart pin position identification network model to process dart target images captured by multiple cameras, generating hit position information by combining historical data and real-time images, and employing noise removal techniques to enhance accuracy.

Benefits of technology

The solution enhances the accuracy of dart pin hit position identification, improving the user experience and interest in the dart game.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007698255000001
    Figure 0007698255000001
  • Figure 0007698255000002
    Figure 0007698255000002
  • Figure 0007698255000003
    Figure 0007698255000003
Patent Text Reader

Abstract

To provide a computer program stored in a computer readable storage medium.SOLUTION: A computer program provides a method of identifying a hit location of a dart pin when being executed in one or more control units of a dart game device. The method includes the steps of: generating first history information in response to a first dart pin throw; obtaining a dart target photographing image in response to a second dart pin throw, wherein the dart target photographing image includes an image of a dart target and a plurality of dart pins hitting the dart target; and determining, by a dart pin location identification network model, hit location information of a dart pin corresponding to the second dart pin throw based on the first history information and the dart target photographing image.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to image processing using a computing device, and more particularly, to a method, a computer program, and an apparatus for identifying the hit position of a dart pin.

Background Art

[0002] Generally, darts is a sport in which a dart in the shape of an arrow is thrown at a target with a circle in the center with numbers written on it to compete for scores, meaning "small arrow". The dart game has the advantage that anyone can enjoy it at any time as long as there is a dart in the shape of an arrowhead and a dart game device. In recent years, with the development of various competition methods, the scoring method has also been improved, and it has spread around the world as a leisure activity, and people of all ages and genders can easily enjoy the game.

[0003] The dart game device can identify the hit position of the dart pin that has hit the dart target by analyzing the image of the sensor provided on the dart target or the image of the dart target taken. The image analysis method has to process images taken by cameras at various positions. The image analysis method using a rule-based algorithm has a problem that it is difficult to ensure accuracy due to noise or the like in that the dart game device is placed in various installation environments. The image analysis method based on deep learning has problems such as difficulty in securing a sufficient amount of training data and realizing an algorithm for processing the hit positions of multiple dart pins.

Prior Art Documents

Patent Documents

[0004]

Patent Document 1

Summary of the Invention

Problems to be Solved by the Invention

[0005] The present disclosure was devised in response to the foregoing background art, and an object thereof is to provide a method, a computer program, and an apparatus for identifying the hit position of a dart pin.

[0006] 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.

Means for Solving the Problems

[0007] According to some embodiments of the present disclosure for solving the foregoing problems, a computer program stored in a computer-readable storage medium is disclosed. When the computer program is executed by one or more control units of a dart game device, it provides a method for identifying the hit position of a dart pin. The method may include generating first history information corresponding to a first dart pin throw; obtaining a dart target captured image corresponding to a second dart pin throw - the dart target captured image includes an image of a dart target and a plurality of dart pins that have hit the dart target -; and determining, by a dart pin position identification network model, hit position information of the dart pin corresponding to the second dart pin throw based on the first history information and the dart target captured image.

[0008] Also, the step of determining the hit position information of the dart pin corresponding to the second dart pin throw based on the first history information and the dart target captured image may include generating hit position information of a plurality of dart pins by processing input data based on the dart target captured image by the dart pin position identification network model; and determining, among the generated hit position information of the plurality of dart pins based on the first history information, the hit position information of the dart pin corresponding to the second dart pin throw.

[0009] In addition, the step of generating hit position information of the dart pin hit by the second dart pin throw based on the first history information and the dart target photographed image may include the step of generating hit position information of the dart pin corresponding to the second dart pin throw by processing input data including the first history information using the dart pin position identification network model.

[0010] The input data may also include a bounding box image corresponding to the shot image of the dart target.

[0011] The dart target photographed images may be at least two images generated by at least two cameras positioned in a predetermined direction, respectively.

[0012] The input data may also include at least two bounding box images arranged in a predetermined orientation, the at least two bounding box images corresponding to the at least two images generated by at least two cameras positioned in the predetermined orientation.

[0013] The first history information may include at least one of a score value determined by throwing a first dart pin or hit position information of a dart pin that hits the dart target.

[0014] Additionally, the dart pin hit position information may include at least one of segment position information or bit position information on the segment.

[0015] Additionally, the method may further include the step of generating second history information corresponding to the second dart pin throw.

[0016] According to some embodiments of the present disclosure for solving the above problems, a method for identifying the hitting position of a dart pin performed by a dart game device is disclosed. The method includes: generating first history information corresponding to a first dart pin throw; obtaining a dart target captured image corresponding to a second dart pin throw - the dart target captured image includes an image of a dart target and a plurality of dart pins hitting the dart target -; and determining, by a dart pin position identification network model, hitting position information of the dart pin corresponding to the second dart pin throw based on the first history information and the dart target captured image.

[0017] According to some embodiments of the present disclosure for solving the above problems, a dart game device is disclosed. The device includes: a memory including computer-executable components; and a processor executing the following computer-executable components stored in the memory; the processor can generate first history information corresponding to a first dart pin throw, obtain a dart target captured image corresponding to a second dart pin throw - the dart target captured image includes an image of a dart target and a plurality of dart pins hitting the dart target -, and determine, by a dart pin position identification network model, hitting position information of the dart pin corresponding to the second dart pin throw based on the first history information and the dart target captured image. The technical solutions obtained from the present disclosure are not limited to the solutions mentioned above, and other solutions not mentioned can be clearly understood by those with ordinary knowledge in the technical field to which the present disclosure belongs from the following description.

Effects of the Invention

[0018] According to some embodiments of the present disclosure, a dart game device capable of enhancing the interest of dart game users can be provided.

[0019] The effects obtained from the present disclosure are not limited to the effects mentioned above, and other effects not mentioned will be clearly understood by those with ordinary knowledge in the technical field to which the present disclosure pertains from the following description.

Brief Description of the Drawings

[0020] Various aspects are described with reference to the drawings, where like reference numerals are generally used to refer to like components. In the following embodiments, for purposes of explanation, some specific details are presented to provide an overall understanding of one or more aspects. However, it will be apparent that such aspects can be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form to facilitate the implementation of one or more aspects.

[0021]

Figure 1

Figure 2

Figure 3

Figure 4

Figure 5

Figure 6a

Figure 6b

Figure 7a

Figure 7b

Figure 8

Figure 9

Figure 10

DETAILED DESCRIPTION OF THE INVENTION

[0022] Hereinafter, various examples and / or aspects will be disclosed with reference to the drawings. In the following description, for the sake of explanation, a number of specific details are disclosed to assist in a general understanding of one or more aspects. However, those with ordinary knowledge in the technical field of the present disclosure will recognize that such (multiple) aspects can be implemented without such specific details. The following description and the attached drawings describe in detail specific exemplary aspects of one or more aspects. However, these aspects are exemplary, and some of the various methods based on the principles of the various aspects may be used, and the description herein is intended to include all such aspects and their equivalents. Specifically, terms such as "example", "instance", "aspect", "exemplification", etc. used herein are not necessarily construed to mean that any aspect or design described herein is superior or has advantages over other aspects or designs.

[0023] Hereinafter, without regard to the reference numerals in the drawings, the same or similar components are denoted by the same reference numerals, and redundant descriptions thereof are omitted. Further, when explaining the embodiments disclosed in this specification, if it is determined that a specific description of a known technique related thereto may obscure the gist of the embodiments disclosed in this specification, the detailed description thereof is omitted. Also, the accompanying drawings are merely for facilitating the understanding of the embodiments disclosed in this specification, and the technical idea disclosed in this specification is not limited by the accompanying drawings.

[0024] Expressions such as "first", "second", etc. are used to describe various elements and components, but these elements and components are not limited by these terms. These terms are merely used to distinguish one element or component from another. Therefore, the first element or component described below may also be the second element or component within the technical idea of the present invention.

[0025] Unless otherwise defined, all terms (including technical and scientific terms) used in this specification can be used in a commonly understood meaning by those having ordinary knowledge in the technical field to which the present invention pertains. Also, terms defined in a general dictionary shall not be interpreted ideally or excessively unless otherwise defined.

[0026] Note that the term "or" is used with the intention of meaning an inclusive "or" rather than an exclusive "or". That is, when not specifically specified and not clear from the context, "X uses A or B" is meant to mean one of the natural inclusive substitutions. That is, when X uses A; X uses B; or X uses both A and B, "X uses A or B" can be considered to apply to any of these. Also, the term "and / or" in this specification refers to all possible combinations of one or more of the listed multiple related items and is to be understood as including them. Also, the term "comprising (including)" as a predicate and / or "comprising (including)" as a modifier means the presence of the feature and / or component, but is understood not to exclude the presence or addition of one or more other features, components, and / or groups thereof. Further, when the number is not particularly specified or when it is not clear from the context that the singular is indicated, the singular should generally be interpreted to mean "one or more" in this specification and the claims. Also, the terms "information" and "data" used in this specification can sometimes be used interchangeably.

[0027] For elements or layers, being described as "on" or "above" another element or layer does not refer only to directly above the other element or layer, but also includes cases where another layer or other element intervenes therebetween. On the other hand, being described as "directly on" or "right above" an element means that no other element or layer intervenes therebetween.

[0028] Spatially relative terms such as "below", "beneath", "lower", "above", "upper", etc. can be used to easily describe the correlation between one element and another element as shown in the drawings. The spatially relative terms should be understood as terms including different directions of each element at the time of use or operation in addition to the direction shown in the drawings.

[0029] For example, when the elements shown in the drawings are turned upside down, an element described as "below" or "beneath" another element may be placed "above" the other element. Therefore, the exemplary term "below" can include both the directions of below and above. The element can also be oriented in other directions, and thus the spatially relative terms may be interpreted differently depending on the orientation.

[0030] When a component is described as being "connected to", "coupled to", or "connected with" another component, it may be directly connected to, coupled to, or connected with the other component, but it should also be interpreted that other components may be interposed therebetween. On the other hand, when a component is described as being "directly connected to", "directly coupled to", or "directly connected with" another component, it should be interpreted that no other components exist therebetween.

[0031] The suffixes "module" and "section" for components used in the following description are attached or mixed only for the purpose of facilitating the preparation of the specification, and these suffixes themselves do not have different specific meanings or roles.

[0032] The object and effect of the present disclosure, and the technical configuration for achieving them, will become clear by referring to the embodiments described in detail later together with the accompanying drawings. In the description of the present disclosure, when it is determined that a specific description of a known function or configuration may obscure the gist of the present disclosure, the detailed description thereof will be omitted. And the terms described later are terms defined in consideration of the functions in the present disclosure, and these may change depending on the intention or convention of the user or operator, etc.

[0033] However, the present disclosure is not limited by the embodiments disclosed below and can be embodied in various forms. However, these embodiments are provided to make the present disclosure complete and to enable those with ordinary knowledge in the technical field to which the present disclosure belongs to fully understand the scope of the disclosure, and the present disclosure is defined by the scope of the claims. Therefore, the definition should be determined based on the content described throughout this specification.

[0034] The dart game apparatus, dart game system, and dart game method using the dart game apparatus in the present disclosure will be described below with reference to FIGS. 1 to 10. On the other hand, for the sake of facilitating the explanation in the present disclosure, the player who plays the dart game and the dart game apparatus that plays the dart game are not distinguished and are used interchangeably. The attached drawings are only for facilitating the understanding of the embodiments disclosed in this specification, and the technical idea disclosed in this specification is not limited by the attached drawings. It should be understood that it includes all modifications, equivalents, and alternatives included in the idea and technical scope of the present invention. Hereinafter, with reference to FIGS. 1 to 10, the dart game apparatus, dart game system, and dart game method using the dart game apparatus according to the present disclosure will be described. On the other hand, in the present disclosure, for the sake of convenience of explanation, the player who plays the dart game and the dart game apparatus that plays the dart game are not described separately from each other, but are used interchangeably. The attached drawings are only for facilitating the understanding of the embodiments disclosed in this specification, and the technical idea disclosed in this specification is not limited by the attached drawings. It should be understood that it includes all modifications, equivalents, or alternatives included in the idea and technical scope of the present invention.

[0035] FIG. 1 is a block configuration diagram for explaining an example of a dart game system according to some embodiments of the present disclosure.

[0036] Referring to FIG. 1, the dart game system 10000 can include a dart game apparatus 1000, at least one other device 2000, a dart game server 3000, and a network 4000. However, since the above-described components are not essential for realizing the dart game system 10000, the dart game system 10000 can have more or fewer components than those listed above.

[0037] The dart game device 1000 can provide a dart game to players participating in the dart game online. However, the dart game device 1000 may not only provide an online dart game to players, but also provide an offline dart game. Hereinafter, an example of the dart game device 1000 according to the present disclosure will be described with reference to FIGS. 2 to 10.

[0038] The other device 2000 may be at least one of the devices related to players other than the dart game device 1000. For example, the other device 2000 may be another dart game device other than the dart game device 1000, a mobile device related to the dart game device 1000 (for example, a user's smartphone installed with dart game-related software), or a server, etc.

[0039] As an example, the other device 2000a may be at least one dart game device that is participating in the dart game provided by the dart game device 1000 or is waiting to participate in the dart game.

[0040] As another example, the other device 2000b may be a mobile device that is interlocked with the dart game device 1000 and represents information about the dart game in which the dart game device 1000 is participating to the player.

[0041] As still 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 another physically separated server. However, it is not limited thereto.

[0042] The darts game server 3000 can 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.

[0043] In the present disclosure, the darts game server 3000 can determine darts game players who participate in a darts game proceeding online.

[0044] Specifically, the darts game server 3000 can receive first play result information from a plurality of devices that participated in a first game. Then, based on the first play result information, the darts game server 3000 can determine a plurality of players who participate in a second game. Here, the play result information may be information regarding the result of a darts game generated by a player who participates in the darts game proceeding with the darts game. The play result information can include any form of result information generated in response to the play of the darts game.

[0045] As an example, the play result information can include at least one of information regarding rankings related to the darts game results of each player, information regarding scores related to the darts game results of each player, information regarding an image of a player playing the darts game, information regarding a pre-stored image representing the player, information regarding the time when each player ended the darts game, or identification information of each player who participated in the darts game. However, it is not limited thereto.

[0046] For example, the darts game server 3000 can determine, based on the information regarding rankings (ranking) included in the first play result information, a plurality of players having a pre-set ranking to be players who participate in a second darts game. However, it is not limited thereto.

[0047] In the present disclosure, the darts game server 3000 can be composed of a plurality. And each of the plurality of darts game servers can distribute at least one darts game to each of the darts game apparatuses 1000 or other devices 2000.

[0048] A darts game system 10000 composed of one darts game server 3000 may have difficulty in providing a comfortable darts game to players due to limitations such as a network. Therefore, in one embodiment of the present disclosure, the darts game server 3000 may be composed of a plurality. Each of the plurality of darts game servers can distribute at least one darts game session or at least one sub - session to a player. However, it is not limited to this.

[0049] The network 4000 is configured regardless of its communication mode, such as wired and wireless, and can be composed of various communication networks such as a local area network (LAN) and a wide area network (WAN).

[0050] In the present disclosure, the network 4000 or the darts game server 3000 may be a cloud-based system. Here, the cloud-based system is a system in which users (darts game devices) share network resources, and it may also be a computing environment in which users borrow as much as they need and use it via the network at a desired time. Such a cloud-based system may include deployment models such as public cloud, private cloud, hybrid cloud, community cloud, or service models such as IaaS (Infrastructure as a Service), PaaS (Platform as a Service), SaaS (Software as a Service). However, the network 4000 or the darts game server 3000 in the present disclosure is not limited to such a cloud-based system, and a network 4000 or a darts game server 3000 with a centralized or edge computing method can also be realized according to the embodiments of the present disclosure content.

[0051] According to the above configuration, the darts game system 10000 is composed of a darts game device 1000, other devices 2000, and a darts game server 3000, and can provide a darts game to a plurality of players participating in the darts game online in real time.

[0052] On the other hand, the darts game device 1000 or other devices 2000 may include components that enable players to execute the darts game. Hereinafter, with reference to FIGS. 2 to 3, the components of the darts game device 1000 according to the present disclosure will be described.

[0053] FIG. 2 is a block configuration diagram for explaining an example of a dart game apparatus according to some embodiments of the present disclosure. FIG. 3 is another diagram for explaining an example of a dart game apparatus according to some embodiments of the present disclosure.

[0054] Referring to FIG. 2, the dart game apparatus 1000 can include at least one of a control unit 100, a storage unit 110, a display unit 120, a cover unit 130, a camera unit 140, a network communication unit 150, a sensing unit 160, a user input unit 170, a lighting unit 180, an audio output unit 190, a dart target unit 200, and a body structure 300. However, it is not limited thereto.

[0055] The control unit 100 can generally process the overall operation of the dart game apparatus 1000. The control unit 100 can provide or process appropriate information or functions to the user by processing signals, data, information, etc. input or output via the components of the dart game apparatus 1000 or driving an application program stored in the storage unit 110.

[0056] For example, in the case of a darts game, the control unit 100 can determine the score for the player's dart pin throw detected via the sensing unit 160. Further, the control unit 100 can transmit the determined score to another device 2000 via the network communication unit 150. Also, the control unit 100 can receive play-related data including scores related to the darts game from another device 2000 via the network communication unit 150. Then, the control unit 100 can control the display unit 120 so that information regarding the darts game is displayed on the display unit 120 based on the play-related data including the scores of other players and the score determined by the darts game device. Here, the play-related data may be data including all information that can be generated by the players participating in the darts game as they progress the darts game or can be used to participate in the darts game. And the play-related data can be received again when the darts game is changed.

[0057] For example, the play-related data can include at least one of the identification information of each player participating in the darts game, information regarding the ranking related to the darts game of each player participating in the darts game, information regarding the image of the player playing the darts game, the play result data regarding the darts game of each player participating in the darts game, information regarding the pre-stored image representing the player, or information regarding the score related to the darts game of each player participating in the darts game.

[0058] In some embodiments of the present disclosure, the control unit 100 can execute a method for identifying the hit position of the dart pin. The method for identifying the hit position of the dart pin will be described in detail with reference to FIGS. 4 to 7.

[0059] In some embodiments of the present disclosure, the control unit 100 can execute a method for generating a training data set for identifying the position of a dart pin. The method for generating a training data set for identifying the position of a dart pin will be described in detail with reference to FIG. 8.

[0060] The storage unit 110 can include a memory and / or a permanent storage medium. The memory can include at least one type of storage medium such as a flash memory type, a hard disk type, a multimedia card micro type, a card type memory (e.g., SD or XD memory, etc.), a RAM (Random Access Memory), an SRAM (Static Random Access Memory), a ROM (Read-Only Memory), an EEPROM (Electrically Erasable Programmable Read-Only Memory), a PROM (Programmable Read-Only Memory), a magnetic memory, a magnetic disk, and an optical disk.

[0061] Specifically, the storage unit 110 may pre-store at least one image related to the dart game. In this case, the control unit 100 can determine a display image related to the play-related data among the pre-stored at least one image by receiving play-related data of another device 2000 via the network communication unit 150. Then, the display unit 120 can display the determined display image.

[0062] Specifically, the information about the dart game displayed on the display unit 120 may be a play-related image of a player of another device 2000. When the network communication unit 150 directly receives an image captured by the camera unit from another device 2000, the display unit 120 can display the received image.

[0063] However, according to the traffic situation between the dart game device 1000 and another device 2000, the network communication unit 150 may receive only play-related data that does not include play-related images from the other device 2000. In this case, the control unit 100 can determine, among at least one image pre-stored in the storage unit 110, the display image to be displayed on the display unit 120 as the display image related to the play-related data.

[0064] For example, based on the play-related data of the other device 2000 received via the network communication unit 150, the control unit 100 can determine that the player of the other device 2000 has hit a score corresponding to the triple area. In this case, the control unit 100 can determine, among the plurality of display images pre-stored in the storage unit 110, the display image related to triple as the display image to be displayed on the display unit 120.

[0065] According to some embodiments of the present disclosure, the storage unit 110 can store a dart target captured image or a dart target capture training image generated via the camera unit 140. As another example, the storage unit 110 can store a dart target captured image or a dart target capture training image received from the outside.

[0066] The display unit 120 can display (output) the information processed by the dart game device 1000.

[0067] For example, based on the play-related data of the other device 2000 received via the network communication unit 150, the display unit 120 can display information related to the dart game. Here, the information related to the dart game may be a play-related image of the player of the other device 2000 or an image generated based on the play result information of the dart game of the other device 2000.

[0068] The display unit 120 can be provided on the front surface of the dart game device 1000.

[0069] As an example, referring to FIG. 3(a), the display unit 120 is provided on the front surface of the dart game device 1000 and can display information related to the dart game.

[0070] In the present disclosure, the display unit 120 can include a plurality of display areas. For example, the display unit 120 can 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 control unit 100. Alternatively, each of the first display area 121 and the second display area 122 can be controlled by the control unit 100 so that a single image is realized across the first display area 121 and the second display area 122. As an example, the first display area 121 and the second display area 122 can operate in the form of independent display modules. As another example, the first display area 121 and the second display area 122 may not be separate independent modules but may be one module.

[0071] Referring to FIG. 3(b), the display unit 120 can be realized by at least one display unit. Also, each of the at least one display unit can be independently controlled by the control unit 100.

[0072] For example, the display unit 120 can include a first display unit located below the dart target unit 200 and having the first display area 121, and a second display unit located above the dart target unit 200 and having the second display area 122. And each of the first display unit and the second display unit can be independently controlled by the control unit 100.

[0073] The cover part 130 is provided adjacent to the display part 120 and can protect the display part 120.

[0074] For example, referring to Fig. 3(a), the cover part 130 can be located between a virtual plane extending upward from the slow line and the display part 120. In this case, by being located adjacent to the display part 120, the cover part 130 can reduce the risk of damage to the display part 120.

[0075] Referring to Fig. 2 again, the camera part 140 can include one or more cameras. The image frame processed by the camera part 140 can be stored in the storage part 110 or transmitted externally via the network communication part 150. Two or more camera parts 140 can be provided according to the usage environment.

[0076] In the present disclosure, the control part 100 of the dart game device 1000 can accept or reject a player's login request regarding the dart game device 1000 based on an image including the player taken via the camera part 140.

[0077] As an example, the control part 100 can receive an input from the player to log in to the dart game device 1000 via the user input part 170. In this case, the control part 100 can control the camera part 140 so that an image including the player currently operating the user input part 170 is taken. The control part 100 can accept or reject the player's login request based on a comparison between the face information included in the pre-stored player identification information and the face information recognized from the taken image.

[0078] As another example, the control unit 100 can request the user's login input via the display unit 120. The display unit 120 can output the necessary information for the user to perform login via camera shooting or login via the user input unit 170 according to the control of the control unit 100.

[0079] As yet another example, the control unit 100 may permit user login to the dart game device 1000 via communication with another device 2000. In this case, the control unit 100 can control the network communication unit 150 so that information for user authentication with the other device 2000 is transmitted and received.

[0080] In the present disclosure, after the player's first login operation, the control unit 100 can compare the face information included in the player's pre-stored identification information with the face information recognized from the captured image.

[0081] Specifically, the control unit 100 can capture a play image via the camera unit 140 in order to transmit the play image related to the player of the dart game device 1000 to another device 2000. The control unit 100 can compare the face information recognized from the newly captured play image with the face information included in the identification information used at the time of login. The control unit 100 can determine whether the current player is the same player as the player at the time of login based on the comparison result. In this case, it is possible to prevent improper acts such as the participation of a proxy player that may occur when the dart game device 1000 and another device 2000 participate in the dart game online. Here, the proxy player may be a player other than the player who logged in to the dart game device 1000.

[0082] As another example, the control unit 100 can determine the presence or absence of cheating by a dart game player by comparing a pre-stored play image including the player's play operation with the player's current play image. For example, if the dart pin projection image of the player included in the current play image has a difference greater than or equal to a predetermined threshold from the player's past dart pin projection image, the control unit 100 can determine that there is a high possibility of cheating in the current dart pin projection image. When comparing two or more images, any deep learning algorithm related to image processing or image analysis can be used.

[0083] In some embodiments of the present disclosure, the camera unit 140 can generate a dart target capture image or a dart target capture training image under the control of the control unit 100.

[0084] The network communication unit 150 is configured regardless of its communication mode, such as wired and wireless, and can be composed of various communication networks such as a local area network (LAN) and a wide area network (WAN).

[0085] The network communication unit 150 can detect the network connection state and the network transmission and reception speed with another device 2000 or the dart game server 3000. However, it is not limited thereto, and traffic information related to the network transmission and reception speed may be received from the dart game server 3000.

[0086] The data received via the network communication unit 150 can be displayed on the display unit 120 or transmitted to another device 2000.

[0087] As an example, when the network communication unit 150 receives data related to the darts game from another device 2000 or the darts game server 3000, it may transmit the received data to another device such as a mobile device. The method for providing a darts game according to the present disclosure can enable two or more devices to participate in the same darts game. As a result, the player of the darts game device 1000 may have to wait until one, two, or more players participate in the same darts game. Therefore, the network communication unit 150 can transmit data related to the darts game to the player's mobile device or the like. In this case, the player can check whether matching with other players is performed via the mobile device while taking a break or the like.

[0088] According to some embodiments of the present disclosure, when the number of players participating in the darts game is not satisfied and the situation is waiting for other players, the control unit 100 can provide an offline darts game to the player of the darts game device 1000.

[0089] Specifically, the control unit 100 can receive an input from the player to participate in the darts game via the user input unit 170. In this case, the control unit 100 can generate a darts game or participate in any of the plurality of already generated darts games. However, when the number of players of the other device 2000 is insufficient, the player of the darts game device 1000 may have to wait until matching is performed. In this case, the control unit 100 can provide an offline darts game to the player of the darts game device 1000 in conjunction with searching for other players so that matching with other players is performed.

[0090] 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 generated by the dart game server 3000. Here, the dummy player may be a virtual player rather than an actual player. Then, the dart game server 3000 can allow the generated dummy player to participate in at least one dart game with insufficient number of players. As an example, since the dummy player can be generated based on the play result data of the actual player, the actual player playing with the dummy player can play in the same form as any actual player, as if playing a dart game in real time with an actual opponent player. Hereinafter, an example of a method for the dart game server 3000 according to the present disclosure to generate a dummy player will be described with reference to FIG. 10.

[0091] The sensing unit 160 can detect the play of the player performed on the dart target unit 200. For example, the sensing unit 160 can detect the hit position of the dart pin. The sensing unit 160 can electrically convert the score corresponding to the area hit by the dart and transmit it to the control unit 100. Further, the sensing unit 160 can transmit information regarding the area hit by the dart pin to the control unit 100, and the control unit 100 can calculate the score based on the information regarding the hit position of the dart pin obtained from the sensing unit 160.

[0092] For example, the sensing unit 160 can sense the pressure applied to the dart target by the thrown dart pin. In this case, the information indicating that the sensing unit 160 has sensed the pressure applied to the dart target by the thrown dart pin can be transmitted to the control unit 100. Then, the control unit 100 can control the camera unit 140 to capture the dart target in order to detect the hit position of the dart pin. The control unit 100 can obtain information regarding the hit position of the dart pin using the captured image, and can calculate a score based on the information regarding the hit position of the dart pin obtained using the captured image.

[0093] The user input unit 170 can receive a user input for controlling the dart game device 1000.

[0094] For example, referring to FIG. 3(b), the user input unit 170 can be implemented by at least one of a keypad, a dome switch, a touch pad (static pressure / electrostatic), a jog wheel, and a jog switch. However, it is not limited thereto.

[0095] Also, the user input unit 170 can 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 can be configured to receive a user input input by an external console device. As the short-range communication technology, Bluetooth (registered trademark), RFID (Radio Frequency Identification), infrared communication (IrDA, infrared Data Association), UWB (Ultra Wideband), ZigBee, etc. can be used.

[0096] The lighting unit 180 is arranged in various parts of the dart game device 1000 and can transmit a visual effect to the players of the dart game device 1000.

[0097] For example, referring to FIG. 3(a), the first lighting unit 180-1 can be formed to extend vertically along the protruding portion in the front direction of the body structure 300. And the second lighting unit 180-2 can be disposed at the lower part of the front surface of the body structure 300. And the first lighting unit 180-1 and the second lighting unit 180-2 can output a signal for notifying the occurrence of an event in the dart game device 1000. Examples of events occurring in the dart game device 1000 include identification of a dart game player, hitting of a dart, change of a dart game player, end of a game, and the like.

[0098] Also, since the lighting units 180-1 and 180-2 can include LEDs (Light Emission Diodes), the user can be notified of the occurrence of an event by the blinking of the LEDs. Further, the lighting unit 180 can output by varying the form of light emission, the intensity of light emission, or the blinking period according to the position where the dart pin reaches the dart target unit.

[0099] Furthermore, the lighting units 180-1 and 180-2 may output lighting of a preset pattern in conjunction with the acceptance of a player's login request determined by the control unit 100. Here, the lighting of the preset pattern can be determined in advance by the player of the dart game device 1000.

[0100] Referring to FIG. 2 again, the acoustic output unit 190 can output audio data stored in the storage unit 110, such as game effect sounds, guidance of game operations, and explanations of game methods. Also, the acoustic output unit 190 may output an acoustic signal related to a function (for example, game effect sound) performed in the dart game device 1000. Such an acoustic output unit 190 can include a receiver, a speaker, a buzzer, and the like. Further, the acoustic output unit 190 can output by varying the volume / music type according to the position where the dart pin reaches the dart target.

[0101] In the present disclosure, the acoustic output unit 190 can output acoustic, music, or voice corresponding to the play-related data among a plurality of prestored acoustics, music, or voices based on the player's darts game play-related data of the darts game device 1000.

[0102] Specifically, when the control unit 100 of the darts game device 1000 accepts the player's login request, it can recognize the player's previous play-related data. The control unit 100 can control the acoustic output unit 190 to output the already set acoustics and the like based on the previous play-related data. Or, when the control unit 100 accepts the player's login request, it can determine whether there are prestored acoustics, music, or voice messages, etc., based on the player's identification information. And when it is determined that at least one of the prestored acoustics, music, or voice messages exists, the control unit 100 can control the acoustic output unit 190 to output the corresponding acoustics and the like.

[0103] Furthermore, when the player's login to the darts game device 1000 is completed, the control unit 100 can generate a personalized guidance message for the player based on the history information related to the play result of the player's darts game. For example, when the player's previous play time was one week ago, the control unit 100 can generate a guidance message such as "Welcome back. It's been a week since your last login." As another example, when the player has a history of winning a darts game tournament, the control unit 100 can generate a guidance message such as "Welcome, the winner of the ○○ tournament." In this way, the control unit 100 can provide a more entertaining effect to the player by generating a personalized message suitable for the player from the player's history information.

[0104] The dart target section 200 can include a scoreboard with a bull’s eye located at the center, concentric circles centered around the bull’s eye, and regions (segments) divided by straight lines extending radially from the bull’s eye, each with an individual score assigned. On the scoreboard, a plurality of receiving grooves (bits or holes) into which the tips of dart pins can be inserted can be formed. In this case, the score arrangement of the dart target section 200 and the shape of the scored regions can be variably changed. Also, the dart target section 200 can be realized in the form of a touch screen.

[0105] The body structure 300 is formed to extend in a direction perpendicular to the ground and can form the appearance of the dart game apparatus 1000. And the body structure 300 can include the aforementioned display section 120, user input section 170, dart target section 200, and other components. However, it is not limited to this.

[0106] On the display section 120 provided on the front surface of the body structure 300, information related to the dart game can be displayed. Here, the information related to the dart game can include the play images of other players, images generated based on the play-related data of other players, or information regarding play time restrictions, etc.

[0107] Hereinafter, with reference to FIGS. 4 to 7, an example of a method by which the control section 100 of the dart game apparatus 1000 according to the present disclosure generates information related to the dart game will be described.

[0108] FIG. 4 is a flowchart for explaining an example of a method for identifying the hit position of a dart pin performed by a dart game apparatus according to some embodiments of the present disclosure.

[0109] In some embodiments of the present disclosure, the method for identifying the hitting position of a dart pin may include a step (s100) of obtaining at least two dart target captured images corresponding to the throwing of the dart pin. Here, the dart target captured image may include an image of the dart target and at least one dart pin hitting the dart target.

[0110] Specifically, the control unit 100 can recognize that an event of a player throwing a dart pin has occurred. For example, as described above, the sensing unit 160 can 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 can be transmitted to the control unit 100. As another example, the control unit 100 can recognize that an event of a player throwing a dart pin has occurred via the camera unit 140. The control unit 100 can control the camera unit 140 to capture the dart target in order to detect the hitting position of the dart pin. In this case, the dart target captured image may include an image of the dart target and at least one dart pin hitting the dart target.

[0111] According to some embodiments of the present disclosure, at least two dart target captured images can be respectively generated by at least two cameras located in a predetermined direction. In this case, the number of the at least two dart target captured images can correspond to the number of the at least two cameras.

[0112] Specifically, when a dart pin is thrown, multiple dart target captured images can be obtained using multiple cameras so that the control unit 100 can more accurately identify the hit position of the dart pin. For example, the camera unit 140 may be multiple cameras. In this case, the dart target captured images may be multiple images that capture the dart target in different directions. For example, the camera unit 140 can include two cameras provided on the left and right sides of the upper end of the dart game device. In this case, the control unit 100 can obtain a dart target captured image captured by the camera located on the left side of the upper end of the dart game device in the direction facing the dart target. Also, the control unit 100 can obtain a dart target captured image captured by the camera located on the right side of the upper end of the dart game device in the direction facing the dart target. However, it is not limited to this, and the positions and shooting directions of the cameras may vary.

[0113] The number of dart target captured images can correspond to the number of cameras. For example, when the number of cameras is two, the number of dart target captured images may be two. As another example, the number of dart target captured images may be an integer multiple of the number of cameras. Specifically, for example, in order to prevent the situation where only images that cannot identify the dart target and the dart pin are obtained due to the frequent change of the lighting state around the dart game device, multiple cameras can capture the dart target n times at regular time intervals. In this case, the number of dart captured images may be n times the number of cameras. However, it is not limited to this, and the dart target captured images can be generated in various numbers in various ways.

[0114] In some embodiments of the present disclosure, the method for identifying the hitting position of a dart pin may include a step (s200) of generating hitting position information of the at least one dart pin based on at least two captured images of dart targets by a dart pin position identification network model.

[0115] Specifically, when obtaining a captured image of a dart target, the control unit 100 can generate hitting position information of the dart pin identified from the captured image of the dart target using a dart pin position identification network model. In some examples, the hitting position information of the dart pin can include segment position information. For example, the hitting position information of the dart pin can include information indicating the position (or score area) of the segment where the dart pin hits. In some examples, the hitting position information of the dart pin can include information indicating the position of a bit (or receiving groove, hole) in the segment where the dart pin hits. However, it is not limited thereto, and the hitting position information can include various information.

[0116] The dart pin position identification network model can be realized using various image processing algorithms capable of generating hitting position information of the dart pin from the captured image of the dart target. For example, the dart pin position identification network model can include a sub-model for obtaining a bounding box image capable of identifying the position of the dart pin from the captured image of the dart target, and a sub-model for processing the obtained bounding box image to generate hitting position information of the dart pin. Further, when hitting position information of a plurality of dart pins is obtained, the dart pin position identification network model can include a sub-model for determining the hitting position information of the last-hit dart pin. However, it is not limited thereto, and the dart pin position identification network model can be realized in various ways.

[0117] Hereinafter, an exemplary operation of a dart pin position identification network model that processes two or more dart target captured images to generate hit position information of a dart pin will be described.

[0118] In some embodiments of the present disclosure, the step (s200) of generating hit position information of a dart pin based on at least two dart target captured images may include a step of generating input data by performing a collaborative operation on at least two dart target captured images, and a step of generating hit position information of at least one dart pin by processing the input data with a dart pin position identification network model.

[0119] As described above, multiple dart target captured images can be acquired using multiple cameras so that the control unit 100 can more accurately identify the hit position of the dart pin. For example, the control unit 100 can acquire two dart target captured images using two cameras by recognizing the throwing of the dart pin.

[0120] In some examples, the control unit 100 can generate input data that can be processed by the dart pin position identification network model from two dart target captured images. For example, the control unit 100 can generate input data by performing a cooperative operation on at least two dart target captured images. As a specific example, the control unit 100 can obtain two bounding box images respectively corresponding to the two dart target captured images. Here, as an algorithm for obtaining the bounding box image, various object detection algorithms can be used. In some examples, various images for object detection that replace the bounding box image can also be used. Then, the control unit 100 can merge the two bounding box images into input data that is one image. As another example, the control unit 100 can merge the two dart target captured images into one image. Then, the control unit 100 can obtain input data including two bounding box images from one image. However, it is not limited thereto, and the control unit 100 can generate input data in various ways.

[0121] In some embodiments of the present disclosure, the 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.

[0122] The dart pin position identification network model can generate hit position information of the dart pin by processing input data. As described above, the hit position information of the dart pin can include the segment position information where the dart pin hits. In addition, the hit position information of the dart pin can include information indicating the position of the bit within the segment where the dart pin hits. However, it is not limited to this, and the hit position information of the dart pin may be various.

[0123] The dart pin position identification network model may be a network model learned using training image data including at least two dart target captured images or at least two bounding box images, and a training data set including labels corresponding to the training image data. Here, the label can include information regarding the segment position or the bit position on the segment where the dart pin identified from the training image data hits. In this case, the dart pin position identification network model can output hit position information including the segment position or the bit position of the segment where the dart pin hits by processing input data based on at least two dart target captured images. However, it is not limited to this, and the dart pin position identification network model can be learned using various training data sets.

[0124] In some embodiments of the present disclosure, the step (s200) of generating hit position information of at least one dart pin based on at least two dart target captured images by the dart pin position identification network model can include the step of performing pre - processing on the dart target captured images for noise removal.

[0125] Specifically, since the dart game device 1000 can be installed in various peripheral environments, in dart target photography, a dart target photography image containing a plurality of noises generated by overly weak lighting, irregular lighting, etc. may be acquired. To prevent such problems, the control unit 100 can perform preprocessing for noise removal. For example, the preprocessing for noise removal can include image filtering. For example, when an image is represented in a frequency band, generally, high frequencies appear in areas with many brightness changes (e.g., boundary line regions), and a general background may appear at low frequencies. When removing the high frequencies of an image, a blur effect may occur. When removing the low frequencies of an image, an effect of being able to confirm the area of an object appearing on the image occurs. Therefore, noise removal and blur processing can be performed using a low-pass filter (LPF) and a high-pass filter (HPF). Furthermore, in order to prevent the phenomenon that the blur effect blurs the boundary line, by using a bilateral filter, Gaussian blur processing can be efficiently performed while maintaining the boundary line.

[0126] As another example, the preprocessing for noise removal can include Gaussian filtering. A box filter uses a kernel composed of the same value, while a Gaussian filter can apply a kernel using a Gaussian function. The values of the kernel matrix can be mathematically generated by a Gaussian function and applied. However, it is not limited to this, and the preprocessing can be performed in various ways.

[0127] The dart pin position identification network model can generate hit position information of a plurality of dart pins from a dart target captured image including a plurality of dart pins. In this case, the control unit 100 can determine the hit position information of the last hit dart pin among the hit position information of the plurality of dart pins. Detailed embodiments thereof will be described below with reference to FIG. 5.

[0128] FIG. 5 is another flowchart for explaining an example of a method for identifying a hit position of a dart pin performed by a dart game apparatus according to some embodiments of the present disclosure.

[0129] Since the dart target captured image of a plurality of dart pins hitting the dart target does not have information regarding the hitting order, the dart game apparatus of the present disclosure can identify the hit position information of the last hit dart pin using not only the dart target captured image but also additional information. Hereinafter, specific steps of a method for identifying a hit position of a dart pin using history information will be described with reference to FIG. 5.

[0130] In some embodiments of the present disclosure, the method for identifying a hit position of a dart pin may include a step (s1100) of generating first history information corresponding to a first dart pin throw. Here, the first history information may include at least one of a score value determined by the first dart pin throw or hit position information of at least one dart pin hitting the dart target.

[0131] The first history information can be used to identify the hitting order of some of the plurality of dart pins appearing in the dart target captured image. For example, when the first history information is generated corresponding to the first dart pin throw, the first history information can be used to determine the hit position information of the dart pin hit by the second dart pin throw among the plurality of hit position information. Here, the first dart pin throw can refer to a dart pin throw preceding the second dart pin throw.

[0132] In some examples, the first history information may include a score value determined by the first dart pin throw. In this case, by comparing the score value determined by the first dart pin throw with the score value determined by the second dart pin throw, information that can identify the dart pin hit by the second dart pin throw can be provided.

[0133] In some examples, the first history information may include hit position information of the dart pins that hit the dart target. In this case, among the plurality of hit position information, by excluding the hit position information of the dart pins that hit the dart target included in the first history information, the dart pins hit by the second dart pin throw can be identified. However, it is not limited to this, and the first history information can include various information.

[0134] In some embodiments of the present disclosure, the method for identifying the hit position of a dart pin may include a step (s1200) of acquiring a photographed image of the dart target corresponding to the second dart pin throw. Here, the photographed image of the dart target can include an image of the dart target and a plurality of dart pins that hit the dart target.

[0135] As described with reference to FIG. 4, the control unit 100 can recognize that the second dart pin throw has occurred by the player. In this case, the control unit 100 can control the camera unit 140 to photograph the dart target in order to detect the hit position of the dart pin. Since the first dart pin throw and the second dart pin throw have occurred, the photographed image of the dart target can include an image of the dart target and a plurality of dart pins that hit the dart target. In this case, there may be a plurality of hit position information of the dart pins obtained from the photographed image of the dart target. In this case, as described below, using the history information, the hit position information of the dart pin corresponding to the second dart pin throw can be identified.

[0136] In some embodiments of the present disclosure, the method for identifying the hitting position of a dart pin may include a step (s1300) of determining the hitting position information of the dart pin corresponding to the second dart pin throw based on the first history information and the dart target captured image by the dart pin position identification network model.

[0137] As described with reference to FIG. 4, the control unit 100 can generate input data from the dart target captured image. The input data may include a bounding box image corresponding to the dart target captured image. For example, the control unit 100 can generate input data including one bounding box image obtained from one dart target image. In some examples, the dart target captured image may include at least two images respectively generated by at least two cameras located in a predetermined direction. For example, the camera unit 140 may include two cameras provided on the left and right sides of the upper end of the dart game device. In this case, the control unit 100 can obtain the dart target captured image captured by the camera located on the left side of the upper end of the dart game device in the direction towards the dart target. Also, the control unit 100 can obtain the dart target captured image captured by the camera located on the right side of the upper end of the dart game device in the direction towards the dart target. However, it is not limited thereto, and the positions and shooting directions of the cameras may vary.

[0138] When two dart target captured images are obtained exemplarily, the control unit 100 can generate input data by performing a cooperative operation on the two dart target captured images. As a specific example, the control unit 100 can obtain two bounding box images respectively corresponding to the two dart target captured images. Here, as an algorithm for obtaining the bounding box image, various object detection algorithms can be used. In some examples, the bounding box image can be replaced with one of various images for object detection. Then, the control unit 100 can merge the two bounding box images into input data which is one image. As another example, in a different order, the control unit 100 can merge the two dart target captured images into one image. Then, the control unit 100 can obtain input data including two bounding box images from the one image. However, it is not limited to this, and the control unit 100 can generate input data in various ways.

[0139] According to some embodiments of the present disclosure, the input data includes an image in which at least two bounding box images are arranged in a predetermined direction, and the at least two bounding box images can correspond to at least two images generated by at least two cameras located in the predetermined direction.

[0140] 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 capture images can be obtained by at least two cameras located in a predetermined direction by a second dart pin throw. In this case, the input data may be an image in which two bounding box images obtained from two dart target capture images are arranged vertically or horizontally. However, it is not limited to this, and the input data may be an image including a bounding box image in various ways.

[0141] When the input data is generated, the dart pin position identification network model can generate hit position information of a plurality of dart pins by processing the input data. As described above, the hit position information of the dart pin can include the segment position information where the dart pin hits. Further, the hit position information of the dart pin can include information indicating the position of the bit within the segment where the dart pin hits.

[0142] Hereinafter, a detailed operation of an exemplary dart pin position identification network model and a control unit 100 for processing a dart target capture image including a plurality of dart pins hitting a dart target will be described.

[0143] In some embodiments of the present disclosure, the step (s1300) of determining the hit position information of the dart pin corresponding to the second dart pin throw based on the first history information and the dart target capture image includes generating the hit position information of a plurality of dart pins by processing the input data based on the dart target capture image by the dart pin position identification network model, and determining the hit position information of the dart pin corresponding to the second dart pin throw among the hit position information of the plurality of dart pins generated based on the first history information.

[0144] Specifically, as described above, the dart pin position identification network model can obtain a plurality of hit position information by processing input data related to a dart target captured image including a plurality of dart pins that have hit the dart target. In this case, the control unit 100 can use the first history information to determine the hit position information of the dart pin hit by the second dart pin throw among the plurality of hit position information. For example, when the first history information includes the score value determined by the first dart pin throw, the control unit 100 can compare the score value determined by the first dart pin throw with the score value determined by the second dart pin throw to identify the dart pin hit by the second dart pin throw. As another example, the control unit 100 can exclude the hit position information of the dart pin that has hit the dart target included in the first history information among the plurality of hit position information to identify the dart pin hit by the second dart pin throw. However, it is not limited to this, and the control unit 100 can use the first history information in various ways to determine the hit position information of the dart pin corresponding to the second dart pin throw.

[0145] In some embodiments of the present disclosure, based on the first history information and the dart target captured image, the step (s1300) of determining the hit position information of the dart pin corresponding to the second dart pin throw can generate the hit position information of the dart pin corresponding to the second dart pin throw by processing the input data including the first history information by the dart pin position identification network model.

[0146] Specifically, instead of using the first history information for post-processing after obtaining a plurality of hit position information using the dart pin position identification network model, the first history information can be input into the dart pin position identification network model in the form of discrete data. For example, when the dart pin position identification network model is a deep learning model including an input layer, a hidden layer, and an output layer, the first history information can be input as input data into the input layer of the dart pin position identification network model. As another example, the first history information can be input as input data into one of the plurality of hidden layers. In this case, the dart pin position identification network model can output only the hit position information of the dart pin corresponding to the second dart pin throw among the plurality of hit position information. As another example, the dart pin position identification network model can further output information that can identify the hit position information of the dart pin corresponding to the second dart pin throw. However, it is not limited thereto, and the dart pin position identification network model can process the first history information as input data in various ways.

[0147] According to some embodiments of the present disclosure, the method for identifying the hit position of a dart pin may further include the step of generating second history information corresponding to the second dart pin throw.

[0148] Similar to the first history information, the second history information can be used to identify the hit position information of the last hit dart pin among the plurality of dart pins appearing in the dart target captured image. For example, when the second history information is generated corresponding to the second dart pin throw, the second history information can be used to determine the hit position information of the dart pin hit by the third dart pin throw among the plurality of hit position information. Here, the third dart pin throw can refer to a dart pin throw that follows the second dart pin throw.

[0149] Similar to or the same as the first history information, the second history information can include a score value determined by the first dart pin throw. Further, the second history information can include hit position information of the dart pin that hit the dart target. As described above, the second history information can be used to determine the hit position information of the dart pin hit by the third dart pin throw in the same manner as the first history information. However, without being limited thereto, the second history information can include various information.

[0150] FIG. 6 is a diagram for explaining a dart target photographing image.

[0151] As described above, the dart target photographing image 10 can include an image of the dart target and at least one dart pin that hit the dart target. Referring to FIG. 6a, the control unit 100 can acquire a dart target photographing image 10a taken by a camera located on the left side of the upper end of the dart game device in a direction toward the dart target in response to a dart pin throw, and a dart target photographing image 10b taken by a camera located on the right side of the upper end of the dart game device in a direction toward the dart target.

[0152] In this case, the control unit 100 can generate input data by performing a cooperative operation on two dart target captured images. As a specific example, the control unit 100 can acquire two bounding box images 20a and 20b respectively corresponding to the two dart target captured images. Here, as an algorithm for acquiring the bounding box image, various object detection algorithms can be used. In some examples, various images for object detection that replace the bounding box image can also be used. Then, the control unit 100 can merge the two bounding box images 20a and 20b into the input data 20 which is one image. As another example, the control unit 100 can merge the two dart target captured images 10a and 10b into one image. Then, the control unit 100 can acquire the input data 20 including the two bounding box images 20a and 20b from one image. However, it is not limited to this, and the control unit 100 can generate input data in various ways.

[0153] Referring to FIG. 6b, eight bounding box images 21a to 21h are shown in (a), and input data 22a to 22d in which the eight bounding box images 21a to 21h are merged in pairs corresponding to one dart pin throw are shown in (b). For example, when the bounding box images corresponding to the first dart pin throw are image 21a and image 21e, the input data obtained by merging the two bounding box images may be input data 22a. Similarly, when the bounding box images corresponding to the first dart pin throw are image 21b and image 21f, the input data obtained by merging the two bounding box images may be input data 22b.

[0154] FIG. 7 is a diagram for explaining an exemplary dart pin position identification model 1100 according to some embodiments of the present disclosure.

[0155] Referring to FIG. 7A, after the control unit 100 acquires a plurality of hit position information using the dart pin position identification network model and then performs post-processing using the first history information, it can determine the hit position information of the most recently thrown dart pin. For example, the dart pin position identification network can generate hit position information 31 of a plurality of dart pins by processing input data 20 including an image showing two dart pins. Here, the input data can be obtained from two dart target captured images acquired corresponding to a second dart pin throw that occurred following the first dart pin throw. For example, the hit position information 30 of a plurality of dart pins can include the hit position information 31 of the first dart pin corresponding to the first dart pin throw and the hit position information 32 of the second dart pin corresponding to the second dart pin throw. In this case, the hit position information selection unit 1200 can use the history information 40 to determine the hit position information 32 corresponding to the most recently occurred throw (for example, the second dart pin throw) among the hit position information 30 of a plurality of dart pins.

[0156] In some examples, the history information can include various information for identifying the hit position information of the last hit dart pin among the plurality of dart pins appearing in the dart target captured image. For example, when the first history information 40 is generated corresponding to the first dart pin throw, the first history information can be used to determine the hit position information 32 of the dart pin hit by the second dart pin throw among the plurality of hit position information 30.

[0157] In some examples, the first history information 40 generated corresponding to the first dart pin throw can include the score value determined by the first dart pin throw. In this case, the hit position information selection unit 1200 can compare the score value determined by the first dart pin throw with the score value determined by the second dart pin throw to determine the hit position information 32 of the second dart pin among the plurality of hit position information 30.

[0158] In some examples, the first history information 40 may include the hit position information of the dart pins that hit the dart target. In this case, the hit position information selection unit 1200 can determine the hit position information 32 of the second dart pin by excluding the hit position information of the dart pins that hit the dart target included in the first history information from among the plurality of hit position information 30.

[0159] The hit position information selection unit 1200 can be implemented by a simple arithmetic model or a network model. However, it is not limited to this, and the hit position information selection unit 1200 can be implemented in various ways.

[0160] Referring to FIG. 7b, instead of using the first history information 40 for post-processing after obtaining a plurality of hit position information using the dart pin position identification network model, the control unit 100 can determine the hit position information 32 of the second dart pin among the plurality of hit position information by inputting the first history information 40 into the dart pin position identification network model 1100 in the form of discrete data. For example, when the dart pin position 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 can be input into the input layer of the dart pin position identification network model 1100. As another example, the first history information can be input into one of the plurality of hidden layers. In this case, the dart pin position identification network model 1100 can output only the hit position information 32 of the second dart pin among the plurality of hit position information, or can further output information that can identify the hit position information 32 of the second dart pin.

[0161] FIG. 8 is a flowchart for explaining an example of a method for generating a training data set for a method of identifying the position of a dart pin performed by a computing device according to some embodiments of the present disclosure.

[0162] The dart pin position identification network model 1100 needs to be trained using a sufficient amount of training dataset so that the hit position of the dart pin can be more accurately identified using a plurality of dart target capture images corresponding to dart pin throws. In some examples, the dart target portion 200 can include a bull's eye and a scoreboard with regions (segments) that are divided by straight lines extending radially from the bull's eye and each have an individual score assigned. Each segment can include a plurality of receiving grooves (bits or holes) into which the tip of the dart pin is 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 the segment are limited, the position of the dart pin can be specified to a limited number.

[0163] The method for generating a training dataset for identifying the position of a dart pin according to the present disclosure can obtain a plurality of dart target capture training images while changing the number of dart pins hit and the hit position of the dart pins on the dart target portion 200 including a scoreboard having a limited number of dart pin positions. Thereby, the method for generating a training dataset for identifying the position of a dart pin according to the present disclosure can generate a sufficient amount of training dataset. Also, by obtaining dart target capture training images in various environments where the dart game device 1000 can be located, a sufficient amount of training dataset can be generated. The method for generating a training dataset for identifying the position of a dart pin according to the present disclosure can be performed by various computing devices including the dart game device 1000, at least another device 2000, and the dart game server 3000.

[0164] Hereinafter, a method for generating a training dataset for training the dart pin position identification network model 1100 will be specifically described.

[0165] In some embodiments of the present disclosure, a method for generating a training dataset for dart pin position identification can include the step (s2100) of obtaining a dart target captured training image in which at least one dart pin hits on one segment of the dart target. Here, the plurality of segments included in the dart target can each include a predetermined number of bits.

[0166] As described with reference to FIGS. 4 to 7, the dart pin position identification network model 1100 can be implemented using various image processing algorithms capable of generating the hit position information of the dart pin from the dart target captured image. In some examples, the dart pin position identification network model can generate the hit position information of one or more dart pins by processing input data based on a plurality of dart target captured images obtained from various angles. However, it is not limited thereto, and the dart pin position identification network model can generate the hit position information of one or more dart pins by processing input data based on one dart target captured image. Hereinafter, a method for generating a training dataset related to the dart pin position identification network model 1100 using a dart target captured image composed of two or more images will be described. However, it is not limited thereto, and the method according to the present disclosure can be applied to generate a training dataset related to the dart pin position identification network model 1100 using a single dart target captured image.

[0167] As described above, the dart target can be divided into segments each with an individual score. Also, each segment can have a plurality of bits (or holes, receiving grooves) that each dart pin can hit. In this case, the hit positions where the dart pins can hit can be limited to the total number of bits included in the plurality of segments. Therefore, a sufficient amount of dart target shooting training images can be obtained while changing the bit positions hit by the dart pins.

[0168] In some embodiments of the present disclosure, the step (s2100) of obtaining a dart target shooting training image in which at least one dart pin has hit on one segment of the dart target may include the step of obtaining a first dart target shooting training image in which a first dart pin has hit on a first bit included in the first segment of the dart target, and the step of obtaining a second dart target shooting training image in which the first dart pin has hit on a second bit included in the first segment of the dart target.

[0169] Specifically, by changing the bit on which the dart pin hits on one segment, a plurality of dart target shooting training images can be obtained. For example, when the first segment includes a first bit and a second bit that are different from each other, by shooting a dart target with the first dart pin hitting the first bit of the first segment, a first dart target shooting training image can be obtained. Then, by removing the first dart pin on the first bit of the first segment and shooting a dart target with the first dart pin hitting the second bit of the first segment, a second dart target shooting training image can be obtained. Here, the first dart pin may be one or more identical or similar dart pins, and does not necessarily mean one dart pin. Compared with the first dart target shooting training image, the second dart target shooting training image may be an image in which the hitting position of one dart pin has changed on one segment.

[0170] In some embodiments of the present disclosure, the step (s2100) of obtaining a dart target shooting training image in which at least one dart pin hits on one segment of the dart target may include the step of obtaining a third dart target shooting training image in which the first dart pin hits on a third bit included in the second segment of the dart target.

[0171] Specifically, by changing the position of the segment hit by the dart pin, a plurality of dart target shooting training images can be obtained. As in the previous example, by shooting a dart target with the first dart pin hitting the first bit of the first segment, a first dart target shooting training image can be obtained. Then, by removing the first dart pin on the first bit of the first segment and shooting a dart target with the first dart pin hitting the third bit of the second segment, a third dart target shooting training image can be obtained. In this case, compared with the first dart target shooting training image, the third dart target shooting training image may be an image in which the hitting position of one dart pin has changed on two segments.

[0172] In some embodiments of the present disclosure, the step (s2100) of obtaining a dart target shooting training image in which at least one dart pin hits on one segment of the dart target may further include the step of obtaining a fourth dart target shooting training image in which the first dart pin hits on the first bit included in the first segment of the dart target and the second dart pin hits on the second bit included in the first segment of the dart target.

[0173] Specifically, a dart target shooting training image for two dart pins hitting on two different bits included in one segment can be obtained. For example, with the first dart pin hitting on the first bit included in the first segment of the dart target, by shooting a dart target with the second dart pin hitting on the second bit included in the first segment of the dart target, a fourth dart target shooting training image can be obtained. In this case, compared with the first dart target shooting training image, the fourth dart target shooting training image may be an image in which the hitting position of one dart pin is added on one segment.

[0174] In some embodiments of the present disclosure, the step (s2100) of obtaining a dart target shooting training image in which at least one dart pin hits on one segment of the dart target may further include the step of obtaining a fifth dart target shooting training image in which a first dart pin hits on a first bit included in the first segment of the dart target and a second dart pin hits on a fourth bit included in the first segment of the dart target.

[0175] Specifically, a dart target shooting training image can be obtained by moving one of the two dart pins that hit on two different bits included in one segment. For example, as in the above example, with the first dart pin hitting on the first bit included in the first segment of the dart target, a fourth dart target shooting training image can be obtained by shooting a dart target in which a second dart pin hits on the second bit included in the first segment of the dart target. In this case, with the first dart pin maintained as it is, a fifth dart target shooting training image can be obtained by shooting a dart target in which the second dart pin that hits on the second bit included in the first segment of the dart target is moved to the fourth bit included in the first segment. In this case, the fifth dart target shooting training image may be an image in which the hitting position of one of the two dart pins is changed within one segment compared to the fourth dart target shooting training image.

[0176] In some embodiments of the present disclosure, the step of obtaining a dart target shooting training image (s2100) in which at least one dart pin hits on one segment of the dart target may include the step of obtaining a sixth dart target shooting training image in which a first dart pin hits on a first bit included in a first segment of the dart target and a second dart pin hits on a third bit included in a second segment of the dart target.

[0177] Specifically, a dart target shooting training image for two dart pins hitting on two different segments can be obtained. In the above example, by shooting a dart target with a first dart pin hitting on the first bit of the first segment, a first dart target shooting training image can be obtained. Then, with the first dart pin remaining on the first bit of the first segment, by shooting a dart target with a second dart pin hitting on the third bit included in the second segment of the dart target, a sixth dart target shooting training image can be obtained. In this case, the sixth dart target shooting training image may be an image in which the hitting position of one dart pin on another segment is added compared to the first dart target shooting training image.

[0178] In some embodiments of the present disclosure, the step of obtaining a dart target shooting training image (s2100) in which at least one dart pin hits on one segment of the dart target may include the step of obtaining a seventh dart target shooting training image in which a first dart pin hits on a first bit included in a first segment of the dart target and a second dart pin hits on a fifth bit included in a second segment of the dart target.

[0179] Specifically, a dart target shooting training image can be obtained by moving one of the two dart pins that hit on two different segments. In the above example, with the first dart pin remaining on the first bit of the first segment, a sixth dart target shooting training image can be obtained by taking a picture of the dart target where the second dart pin hits on the third bit included in the second segment of the dart target. In this case, a seventh dart target shooting training image can be obtained by taking a picture of the dart target with the second dart pin moved from the third bit included in the second segment to the fifth bit included in the second segment while the first dart pin remains on the first bit of the first segment. In this case, the seventh dart target shooting training image may be an image in which the hitting position of one dart pin on one segment is changed compared to the sixth dart target shooting training image.

[0180] According to some embodiments of the present disclosure, the step of obtaining the first dart target shooting training image that hits on the first bit included in the first segment of the dart target may include the step of obtaining the first dart target shooting training image under the first shooting environmental conditions and the step of obtaining the first dart target shooting training image under the second shooting environmental conditions.

[0181] Specifically, the surrounding environment where the dart game device 1000 is located can have various environments. In this case, the training dataset can include images generated under various shooting environmental conditions so that the position identification network model 1100 of the dart pin can process the images taken in various surrounding environments well.

[0182] For example, the first shooting environment condition may be a state with relatively bright illumination. And the second shooting environment condition may be a state with relatively dark illumination. By shooting without changing the hit position of the dart pin under two different conditions, a plurality of dart target shooting training images with only the shooting environment condition changed can be obtained.

[0183] As another example, by performing post-processing of other conditions on the dart target shooting training image, a dart target shooting training image with only the shooting environment condition changed can be obtained. For example, by adjusting the brightness of the dart target shooting training image, a plurality of dart target shooting training images with only the shooting environment condition changed can be obtained. However, it is not limited to this, and the dart target shooting training image can be obtained in various ways.

[0184] According to some embodiments of the present disclosure, the method for identifying the hit position of the dart pin may include a step (s2200) of assigning a label corresponding to the obtained dart target shooting training image. Here, the label can be determined based on the position of the segment hit by the dart pin. Also, the label can be determined based on the segment position and the bit position on the segment.

[0185] When a dart target shooting training image is acquired, a label corresponding to the dart target shooting training image can be assigned. For example, if the dart target shooting training image includes an image of a dart pin that hit on the first bit of the first segment, the label corresponding to the dart target shooting training image may be information indicating the first segment. As another example, the label corresponding to the dart target shooting training image may be information indicating the first segment and the bit position on the first segment. Here, the assignment of the label may mean an operation of storing the dart target shooting training image and the corresponding label in association with each other. In this way, a training data set can be generated by generating a plurality of pairs of dart target shooting training images and labels. However, it is not limited to this, and the label corresponding to the dart target shooting training image can be assigned in various ways.

[0186] As a further example, the label corresponding to the dart target shooting training image can include a bounding box image. As a further example, the label corresponding to the dart target shooting training image can further include history information. In the case of a training data set in which the label includes history information, it can be used to train the dart pin position identification network model 1100 exemplarily described in FIG. 7b.

[0187] 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 can be respectively generated by at least two cameras positioned in a predetermined direction.

[0188] As described above, the dart pin position identification network model can generate hit position information of one or more dart pins by processing input data based on a plurality of dart target captured images acquired from various angles. In this case, the training data set for training the dart pin position identification network model can include a plurality of dart target captured images acquired from various angles and one label corresponding to the plurality of dart target captured images. For example, the plurality of dart target training captured images acquired from various angles can be acquired using at least two cameras positioned in a predetermined direction. In this case, the training data set can be adapted to a dart game device including at least two cameras positioned in a predetermined direction. However, it is not limited thereto, and the dart target captured training images can be generated in various ways.

[0189] In some examples, when the dart pin position identification network model 1100 processes an input image generated from two or more dart target captured images, the first to seventh dart target captured training images may each be two or more images generated by two cameras. For example, the number of dart target captured training images can correspond to the number of cameras. In some examples, when the number of cameras is two, the number of dart target captured training images may be two. As another example, the number of dart target captured training images may be an integer multiple of the number of cameras. Specifically, for example, a plurality of cameras can capture a dart target n times at regular time intervals. In this case, the number of dart captured training images may be n times the number of cameras. However, it is not limited thereto, and the dart target captured training images can be generated in various numbers in various ways.

[0190] FIG. 9 is a schematic diagram showing a network function based on a plurality of embodiments of the present disclosure.

[0191] Throughout this specification, a network model, a computing model, a neural circuit network, a network function, and a neural network can be used interchangeably. A neural circuit network can generally be composed of a set of interconnected computing units called nodes. Such nodes can also be referred to as neurons. A neural circuit network is composed of at least one or more nodes. The nodes (or neurons) that make up a neural circuit network can be interconnected by one or more links.

[0192] In a neural circuit network, one or more nodes connected via a link can, relatively speaking, be in the relationship of input nodes and output nodes. The concepts of input nodes and output nodes are relative. Any node that becomes an output node for a certain node can become an input node in the relationship with other nodes, and vice versa. As described above, the relationship between input nodes and output nodes can be established around a link. One input node can be connected via a link to one or more output nodes, and vice versa.

[0193] In the relationship between an input node and an output node connected via one link, the value of the data of the output node can be determined based on the data input to the input node. In this case, the link interconnecting the input node and the output node can have a weight. The weight can be variable, but it can be varied according to the user or an algorithm in order to execute the function required by the neural circuit network. For example, when one output node is interconnected by respective links to one or more input nodes, the output node can determine the value of the output node based on the values input to the input nodes connected to the output node and the weights set for the respective links corresponding to the input nodes.

[0194] As described above, a neural circuit network is composed of one or more nodes interconnected via one or more links, forming the relationship between input nodes and output nodes within the neural circuit network. In a neural circuit network, the characteristics of the neural circuit network can be determined by the number of nodes and links, the correlation between nodes and links, and the weight values assigned to each link. For example, if there are two neural circuit networks with the same number of nodes and links but different link weight values, the two neural circuit networks can be recognized as different ones.

[0195] A neural circuit network can be composed of a set of one or more nodes. A subset of the nodes that make up the neural circuit network can form a layer. Among the multiple nodes that make up the neural circuit network, some can form one layer based on the distance from the first input node. For example, a set of nodes with a distance of n from the first input node can form the nth layer. The distance from the first input node can be defined based on the minimum number of links that must be traversed to reach the node from the first input node. However, such a definition of the layer is arbitrarily cited for the convenience of explanation, and the position of the layer in the neural circuit network can also be defined in a way different from the above description. For example, the layer of a node can also be defined based on the distance from the final output node.

[0196] The first input node can mean one or more nodes in the neural circuit network where data is directly input without passing through a link in the relationship with other nodes. Or, in the relationship between nodes based on links within the network of the neural circuit network, it can mean a node that does not have other input nodes connected via a link. Similarly, the final output node can mean one or more nodes in the neural circuit network that do not have an output node in the relationship with other nodes. Also, a hidden node can mean a node that is not the first input node or the final output node and constitutes the nodes of the neural circuit network.

[0197] In one embodiment of the present disclosure, the neural circuit network may be a neural circuit network in which the number of nodes in the input layer is the same as the number of nodes in the output layer, and as it progresses from the input layer to the hidden layer, the number of nodes first decreases and then increases again. In another embodiment of the present disclosure, the neural circuit network may be a neural circuit network in which the number of nodes in the input layer can be less than the number of nodes in the output layer, and as it progresses from the input layer to the hidden layer, the number of nodes decreases. Also, the neural circuit network according to another embodiment of the present disclosure may be a neural circuit network in which the number of nodes in the input layer is more than the number of nodes in the output layer, and as it progresses from the input layer to the hidden layer, the number of nodes increases. The neural circuit network in another embodiment of the present disclosure may be a neural circuit network that combines the above-described neural circuit networks.

[0198] A deep neural network (DNN: deep neural network, deep neural circuit network) can mean a neural circuit network that includes multiple hidden layers in addition to the input layer and the output layer. Using a deep neural network makes it possible to grasp the latent structures of data. That is, it is possible to grasp the latent structures of photos, articles, videos, voices, music (for example, what objects are shown in a photo, what the content and emotions of an article are, what the content and emotions of a voice are, etc.). Deep neural networks can include convolutional neural networks (CNNs), recurrent neural networks (RNNs), autoencoders, GANs (Generative Adversarial Networks), restricted Boltzmann machines (RBMs), deep belief networks (DBNs), Q-networks, U-networks, Sham networks, Generative Adversarial Networks (GANs), transformers, etc. The above-mentioned deep neural networks are merely examples and the present disclosure is not limited thereto.

[0199] A neural network can be learned in at least one of the methods of supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning. The learning of a neural network can be a process of applying knowledge for a neural network to perform a specific operation to the neural network. A neural network can be trained in a direction to minimize the error of the output. In the training of a neural network, training data is repeatedly input into the neural network, the error between the output of the neural network regarding the training data and the target is calculated, and as a direction to reduce the error, the error of the neural network is backpropagated from the output layer of the neural network to the input layer direction, and a process of updating the weights of each node of the neural network is performed. In the case of supervised learning, learning data with the correct answer labeled for each individual learning data is used (that is, labeled learning data), and in the case of unsupervised learning, it is possible to use learning data in a state where the correct answer is not labeled for each individual learning data. That is, for example, in the case of supervised learning related to data classification, the learning data can be data in which each category is labeled for each learning data. By inputting the labeled learning data into the neural network and comparing the output (category) of the neural network with the label of the learning data, it is possible to calculate an error. As another example, in the case of unsupervised learning related to data classification, an error can be calculated by comparing the input learning data with the output of the neural network. The calculated error is backpropagated in the reverse direction (that is, the direction from the output layer to the input layer) in the neural network, and it is possible to update the connection weights of each node in each layer of the neural network through backpropagation. The change amount of the connection weight of each updated node can be determined by the learning rate. The calculation of the neural network for the input data and the backpropagation of the error can constitute a learning cycle (epoch). The application method of the learning rate can change according to the number of repetitions of the learning cycle of the neural network. For example, at the initial stage of the training of the neural network, the learning rate can be increased to improve efficiency by enabling the neural network to quickly ensure a certain level of performance, and at the latter half of the training, the learning rate can be decreased to improve accuracy.

[0200] In a neural network, in order to increase the amount of training data for learning, various data augmentation methods can be used. For example, data augmentation can be performed through two-dimensional transformations such as rotation, scale, shearing, reflection, and translation. Also, data augmentation can be performed by utilizing noise insertion, color, brightness change, etc.

[0201] In the learning of a neural network, generally, the training data may be a subset of the actual data (i.e., the data to be processed using the learned neural network). Therefore, there may be a learning cycle in which the error related to the training data decreases, but the error related to the actual data increases. Overfitting is a phenomenon in which the error increases in the actual data because of excessive learning about the training data. Overfitting can cause an increase in the error of the machine learning algorithm. To prevent such overfitting, various optimization methods can be used. To prevent overfitting, methods such as increasing the training data, regularization, dropout (deactivating some of the network nodes during the learning process), and utilizing a batch normalization layer can be applied.

[0202] FIG. 10 is a simplified and general schematic diagram related to an exemplary computing environment in which an embodiment of the present invention can be implemented.

[0203] Although it has been previously stated that the present disclosure can generally be implemented by a computing device, those skilled in the art will well understand that the present disclosure can be implemented as a combination of computer-executable instructions and / or other program modules that can be executed on one or more computers and / or a combination of hardware and software.

[0204] Generally, a program module includes routines, programs, components, data structures, and the like that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will well understand that the methods of the present disclosure can be implemented by other computer system configurations, including single-processor or multi-processor computer systems, minicomputers, mainframe computers, as well as personal computers, handheld computing devices, microprocessor-based household appliances, or programmable household appliances, and the like (all of which can operate in connection with one or more associated devices).

[0205] Furthermore, the embodiments described in the present disclosure can be implemented in a distributed computing environment where a task is performed by a remote processing device connected through a communication network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.

[0206] Computers typically include a variety of computer-readable media. Any media accessible by a computer can be a computer-readable media, and such computer-readable media includes volatile and non-volatile media, transitory and non-transitory media, removable and non-removable media. By way of example and not limitation, computer-readable media can include computer-readable storage media and computer-readable transmission media. Computer-readable storage media is volatile and non-volatile media, transitory and non-transitory media, removable and non-removable media implemented by any method or technology for storing information such as computer-readable instructions, data structures, program modules or other data. Computer-readable storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technologies, CD-ROM, DVD (digital video disk) or other optical disk storage devices, magnetic cassettes, magnetic tapes, magnetic disk storage devices or other magnetic storage devices, or any other media that can be accessed by a computer and used to store information.

[0207] Computer-readable transmission media typically implements computer-readable instructions, data structures, program modules or other data, etc. in a modulated data signal such as a carrier wave or other transport mechanism, and includes all information transmission media. The term modulated data signal means a signal in which one or more of the characteristics of the signal are set or changed so as to encode information in the signal. By way of example and not limitation, computer-readable transmission media includes wired media such as a wired network or a direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media. Any combination of the foregoing media is also considered to be within the scope of computer-readable transmission media.

[0208] An exemplary environment (4100) embodying various aspects of the present disclosure including a computer (4102) is shown, the computer (4102) including a processing device (4104), a system memory (4106), and a system bus (4108). The system bus (4108) couples system components including, but not limited to, the system memory (4106) to the processing device (4104). The processing device (4104) can be any of a variety of commercially available processors. Dual processor and other multi-processor architectures can also be utilized as the processing device (4104).

[0209] The system bus (4108) can be any of several types of bus structures including a memory bus, a peripheral bus, and a local bus using any of a variety of commercially available bus architectures, and can further interconnect to any of a plurality of types of bus structures. The system memory (4106) includes a read only memory (ROM) (4110) and a random access memory (RAM) (4112). The basic input / output system (BIOS) is stored in non-volatile memory (4110) such as ROM, EPROM, EEPROM, etc., and includes basic routines that support the transfer of information between multiple components in the computer (4102) during startup and the like. The RAM (4112) can further include high speed RAM such as static RAM for caching data.

[0210] The computer (4102) also includes a built-in hard disk drive (HDD) (4114) (e.g., EIDE, SATA) - this built-in hard disk drive (4114) can be used as an external drive in a suitable chassis (not shown), a magnetic floppy disk drive (FDD) (4116) (e.g., for reading from and writing to a removable diskette (4118)), and an optical disk drive (4120) (e.g., for reading from and writing to a CD-ROM disk (4122) or other high-capacity optical media such as a DVD). The hard disk drive (4114), magnetic disk drive (4116), and optical disk drive (4120) can each be connected to the system bus (4108) by a hard disk drive interface (4124), a magnetic disk drive interface (4126), and an optical drive interface (4128), respectively. The interface (4124) for implementing an external drive includes, for example, at least one or both of USB (Universal Serial Bus) and IEEE 1394 interface technologies.

[0211] These drives and the computer-readable media associated therewith provide non-volatile storage for data, data structures, computer-executable instructions, and the like. In the case of the computer (4102), the drives and media correspond to storing any data in a suitable digital format. In the foregoing description of computer-readable storage media, HDDs, removable magnetic disks, and removable optical media such as CDs or DVDs have been mentioned, but for those skilled in the art, other types of storage media readable by a computer such as zip drives, magnetic cassettes, flash memory cards, cartridges, and the like can also be used in an exemplary operating environment, and furthermore, it is obvious that any one of such media can contain computer-executable instructions for performing the methods of this disclosure.

[0212] A number of program modules, including an operating system (4130), one or more application programs (4132), other program modules (4134), and program data (4136), can be stored in a drive and RAM (4112). It is also possible for all or a portion of the operating system, applications, modules, and / or data to be cached in RAM (4112). It is obvious that the present disclosure can be implemented by various commercially available operating systems or combinations of multiple operating systems.

[0213] A user can input commands and information into a computer (4102) through one or more wired and wireless input devices, such as a keyboard (4138) and a pointing device like a mouse (4140). Other input devices (not shown) may include a microphone, an IR remote control, a joystick, a game pad, a stylus pen, a touch screen, and so on. These and other input devices are often connected to a processing device (4104) via an input device interface (4142) connected to a system bus (4108), but can also be connected by various other interfaces such as a parallel port, an IEEE 1394 serial port, a game port, a USB port, an IR interface, and others.

[0214] 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), a computer generally includes speakers, a printer, and various other peripheral output devices (not shown).

[0215] The computer (4102) can operate in a networked environment using logical connections to one or more remote computers, such as (multiple) remote computers (4148), via wired and / or wireless communication. The (multiple) remote computers (4148) can be workstations, computing device computers, routers, personal computers, portable computers, microprocessor-based entertainment devices, peer devices, or other common network nodes, and generally include many or all of the components described in connection with the computer (4102). For simplicity, only the memory storage device (4150) is shown. The illustrated logical connections include wired or 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 companies, facilitating enterprise-wide computer networks such as intranets, all of which can be connected to computer networks around the world, such as the Internet.

[0216] When used in a LAN networking environment, the computer (4102) is connected to a local network (4152) via a wired and / or wireless communication network interface or adapter (4156). The adapter (4156) can facilitate wired or wireless communication to the LAN (4152), which also includes a wireless access point installed to communicate with the wireless adapter (4156). When used in a WAN networking environment, the computer (4102) can include a modem (4158) or have other means of establishing communication through the WAN (4154), such as connecting to a communication computing device in the WAN (4154) or through the Internet. The modem (4158), which can be an internal or external, wired or wireless device, is connected to the system bus (4108) through a serial port interface (4142). In a networked environment, program modules or portions thereof described in relation to the computer (4102) can be stored in a remote memory / storage device (4150). The network connections shown are exemplary, and it is understood that other means of establishing communication links between multiple computers can also be used.

[0217] The computer (4102) operates to communicate with any wireless device or unit arranged and operating in wireless communication, such as printers, scanners, desktop and / or portable computers, PDAs (portable data assistants), communication satellites, any equipment or location related to a wirelessly detectable tag, and telephones. This includes at least Wi-Fi and Bluetooth wireless technologies. Thus, the communication can be in a predefined structure like a conventional network or, in a simple case, ad hoc communication between at least two devices.

[0218] Wi-Fi (Wireless Fidelity) enables connection to the Internet and the like without being wired. Wi-Fi is a wireless technology like a cellular phone that allows such devices, for example, computers, to send and receive data indoors and outdoors, that is, from anywhere within the coverage area of a base station. Wi-Fi networks use wireless technologies such as IEEE802.11 (a, b, g, etc.) to provide a secure, reliable, and high-speed wireless connection. Wi-Fi can be used to connect computers to each other and to the Internet and wired networks (using IEEE802.3 or Ethernet). Wi-Fi networks can operate at data rates such as 11 Mbps (802.11a) or 54 Mbps (802.11b) in unlicensed 2.4 and 5 GHz wireless bands, or can operate in products that include both bands (dual-band).

[0219] Those of ordinary skill in the art of the present disclosure can understand that information and signals can be represented using any of a variety of different technologies and techniques. For example, the data, instructions, commands, information, signals, bits, symbols, and chips that can be referenced in the above description can be represented by voltage, current, electromagnetic waves, magnetic fields or particles, optical fields or particles, or any combination thereof.

[0220] The following discloses a computer-readable medium storing a data structure in an embodiment of the present disclosure.

[0221] A data structure can mean the organization, management, and storage of data that enables efficient access to and modification of the data. A data structure can mean the organization of data to solve a specific problem (e.g., data search in the shortest time, data storage, data modification). A data structure can also be defined as the physical or logical relationships between multiple data elements designed to support a specific data processing function. The logical relationships between multiple data elements can include the concatenation relationships between multiple user-defined data elements. The physical relationships between multiple data elements can include the actual relationships between multiple data elements physically stored on a computer-readable storage medium (e.g., a permanent storage device). A data structure can specifically include a set of data, the relationships between the data, and the functions and instructions applicable to the data. By leveraging an effectively designed data structure, a computing device can perform operations while minimizing the use of the resources of the computing device. Specifically, the computing device can improve the efficiency of operations, reading, fetching, deleting, comparing, exchanging, and searching through an effectively designed data structure.

[0222] Data structures can be classified into linear data structures and non-linear data structures based on their forms. A linear data structure can be a structure where only one piece of data is connected after another piece of data. Linear data structures can include lists, stacks, queues, and deques. A list can mean a collection of a series of data that has an internal order. A list can include a linked list. A linked list can be a data structure where each piece of data has a pointer and the data is connected in a way that they are linked in a row. In a linked list, the pointer can include information related to the connection with 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 its form. A stack can be a data array structure with restrictions on accessing data. A stack can be a linear data structure where data can be processed (e.g., inserted or deleted) only at one end of the data structure. The data stored in a stack can be a last-in-first-out (LIFO) data structure. A queue is also a data array structure with restrictions on accessing data, but the difference from a stack can be that it can be a first-in-first-out (FIFO) data structure. A deque can be a data structure where data can be processed at both ends of the data structure.

[0223] A non-linear data structure can be a structure where multiple pieces of data are connected after one piece of data. Non-linear data structures can include graph data structures. A graph data structure can be defined by vertices and edges, and an edge can include a line connecting two different vertices. A graph data structure can include tree data structures. A tree data structure can be a data structure where, among the multiple vertices included in the tree, there is only one path connecting two different vertices. That is, in a graph data structure, it can be a data structure that does not form a loop.

[0224] Throughout this specification, an arithmetic model, a neural circuit network, a network function, and a neural network can be used interchangeably with the same meaning. Hereinafter, they will be described uniformly as neural circuit networks. A data structure can include a neural circuit network. And a data structure including a neural circuit network can be stored in a computer-readable medium. Also, a data structure including a neural circuit network can include data preprocessed for processing by the neural circuit network, data input to the neural circuit network, weights of the neural circuit network, hyperparameters of the neural circuit network, data obtained from the neural circuit network, activation functions associated with each node and layer of the neural circuit network, a loss function for learning the neural circuit network, and the like. A data structure including a neural circuit network can include any of the components disclosed above. That is, a data structure including a neural circuit network can be configured to include all or any combination of data preprocessed for processing by the neural circuit network, data input to the neural circuit network, weights of the neural circuit network, hyperparameters of the neural circuit network, data obtained from the neural circuit network, activation functions associated with each node and layer of the neural circuit network, a loss function for learning the neural circuit network, and the like. In addition to the foregoing configuration, a data structure including a neural circuit network can include any other information that determines the characteristics of the neural circuit network. Also, the data structure can include any form of data used or generated in the calculation process of the neural circuit network and is not limited to the foregoing matters. A computer-readable medium can include a computer-readable recording medium and / or a computer-readable transmission medium. A neural circuit network can generally be composed of a set of interconnected computing units called nodes. Such nodes can also be referred to as neurons. A neural circuit network is configured to include at least one or more nodes.

[0225] The data structure can include data input into the neural network. The data structure including the data input into the neural network can be stored in a computer-readable medium. The data input into the neural network can include learning data input during the learning process of the neural network and / or input data input into the neural network after learning is completed. The data input into the neural network can include data that has been pre-processed and / or data to be pre-processed. The pre-processing can include a data processing process for inputting the data into the neural network. Therefore, the data structure can include data to be pre-processed and data generated by the pre-processing. The above-mentioned data structure is only an example, and the present disclosure is not limited thereto.

[0226] The data structure can include the weights of the neural network. (In this specification, it is possible to consider that weights and parameters have the same meaning.) And the data structure including the weights of the neural network can be stored in a computer-readable medium. The neural network can include a plurality of weights. The weights can be variable, but can be varied according to the user or algorithm in order to execute the function required by the neural network. For example, when one or more input nodes are interconnected by respective links to one output node, the output node can determine the value of the data output from the output data based on a plurality of values input to the input nodes connected to the output node and the weights set for the links corresponding to the respective input nodes. The above-mentioned data structure is only an example, and the present disclosure is not limited thereto.

[0227] By way of example and not limitation, the weights can include weights that vary during the learning process of the neural network and / or weights after the learning of the neural network is completed. The weights that vary during the learning of the neural network can include the weights at the start of the learning cycle and / or the weights that change during the learning cycle. The weights after the learning of the neural network is completed can include the weights after the learning cycle is completed. Accordingly, a data structure including the weights of the neural network can include a data structure including weights that vary during the learning process of the neural network and / or weights after the learning of the neural network is completed. Accordingly, the above-mentioned weights and / or combinations of each weight shall be included in the data structure including the weights of the neural network. The foregoing data structure is merely illustrative, and the present disclosure is not limited thereto.

[0228] A data structure including the weights of the neural network can be stored in a computer-readable storage medium (e.g., memory, hard disk) after going through a serialization process. Serialization can be a process of storing the data structure in the same or different computing devices and then converting it into a form that can be reconfigured and used later. A computing device can serialize the data structure and transmit and receive data via a network. The data structure including the serialized weights of the neural network can be reconfigured in 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. Further, a data structure including the weights of the neural network can include a data structure (e.g., B-Tree, Trie, m-way search tree, AVL tree, Red-Black Tree in a non-linear data structure) for enhancing the efficiency of operations while minimizing the use of the resources of the computing device. The foregoing matters are merely illustrative, and the present disclosure is not limited thereto.

[0229] The data structure can include hyper-parameters of the neural network. And the data structure including the hyper-parameters of the neural network can be stored in a computer-readable medium. The hyper-parameters can be variables that vary according to the user. The hyper-parameters can include, for example, a learning rate, a cost function, the number of learning cycle iterations, weight initialization (e.g., setting the range of values of the weights to be initialized), the number of hidden units (e.g., the number of hidden layers, the number of nodes in the hidden layer). The foregoing data structure is merely illustrative and the present disclosure is not limited thereto.

[0230] Those of ordinary skill in the art of the present disclosure can understand that the various exemplary logical blocks, modules, processors, means, circuits, and algorithm steps recited in the description of the embodiments disclosed herein can be implemented by electronic hardware, various forms of programs (referred to herein as "software" for convenience of description), or design codes, or any combination thereof. To clearly illustrate such interchangeability between hardware and software, the various exemplary components, blocks, modules, circuits, and steps have been generally described above with reference to their functions. Whether such functions are implemented as hardware or software is determined by the design constraints imposed on the particular application and the overall system. Those of ordinary skill in the art of the present disclosure can implement the functions described in various ways for individual specific applications, but such implementation decisions should not be construed as departing from the scope of the present disclosure.

[0231] The various embodiments shown herein can be implemented by a method, an apparatus, or an article of manufacture using standard programming and / or engineering techniques. As used herein, an "article of manufacture" includes a computer program, carrier, or medium accessible from any computer-readable device. For example, computer-readable storage media include, but are not limited to, magnetic storage devices (e.g., hard disks, floppy disks, magnetic strips, etc.), optical disks (e.g., CDs, DVDs, etc.), smart cards, and flash memory devices (e.g., EEPROMs, cards, sticks, key drives, etc.). Also, the various storage media shown herein include one or more devices for storing information and / or other machine-readable media.

[0232] It should be understood that the particular order or hierarchical structure of the multiple steps in the process shown herein is an example of an exemplary approach. Based on design preferences, it should be understood that within the scope of the present disclosure, the particular order or hierarchical structure of the steps in the process can be rearranged. The appended method claims provide the elements of the various steps in a sample order, but are not meant to be limited to the particular order or hierarchical structure shown.

[0233] The description of the embodiments shown herein is provided so that a person of ordinary skill in any art of the present disclosure can make use of or implement the present disclosure. Various modifications to such embodiments will be readily apparent to those of ordinary skill in the art of the present disclosure, and the general principles defined herein can be applied to other embodiments without departing from the scope of the present disclosure. Accordingly, the present disclosure is not limited by the embodiments shown herein, but should be construed in the broadest scope consistent with the principles and novel features shown herein. [Appendix 1] A computer program stored in a computer-readable storage medium, wherein when the computer program is executed by one or more control units of a dart game device, it provides a method for identifying the hit position of a dart pin, The method includes: generating first history information corresponding to a first dart pin throw, the first history information including hit position information of at least one dart pin that hits a dart target appearing on a dart target captured image acquired corresponding to the first dart pin throw; acquiring a dart target captured image corresponding to a second dart pin throw, the dart target captured image including an image of a dart target and a plurality of dart pins that hit the dart target; and determining, by a dart pin position identification network model, among a plurality of hit position information, the hit position information of the dart pin corresponding to the second dart pin throw based on the first history information and the dart target captured image acquired corresponding to the second dart pin throw; including A computer program stored in a computer-readable storage medium. [Appendix 2] The step of determining the hit position information of the dart pin corresponding to the second dart pin throw based on the first history information and the dart target captured image includes: generating hit position information of a plurality of dart pins by processing input data based on the dart target captured image by the dart pin position identification network model; and determining, among the generated hit position information of the plurality of dart pins based on the first history information, the hit position information of the dart pin corresponding to the second dart pin throw; including A computer program stored in a computer-readable storage medium according to Appendix 1. [Appendix 3] The step of generating the hit position information of the dart pin hit by the second dart pin throw based on the first history information and the dart target captured image is Processing the input data including the first history information by the dart pin position identification network model to generate dart pin hit position information corresponding to the second dart pin throw; including A computer program stored in a computer-readable storage medium described in Appendix 1. [Appendix 4] The input data includes a bounding box image corresponding to the dart target photographed image. A computer program stored in a computer-readable storage medium described in Appendix 2 or 3. [Appendix 5] The dart target photographed image is at least two images respectively generated by at least two cameras positioned in a predetermined direction. A computer program stored in a computer-readable storage medium described in Appendix 2 or 3. [Appendix 6] The input data includes an image in which at least two bounding box images are arranged in a predetermined direction, and the at least two bounding box images correspond to the at least two images generated by at least two cameras positioned in the predetermined direction. A computer program stored in a computer-readable storage medium described in Appendix 5. [Appendix 7] The first history information further includes a score value determined by the first dart pin throw, a computer program stored in a computer-readable storage medium described in Appendix 1. [Appendix 8] The dart pin hit position information includes at least one of segment position information or bit position information on the segment. A computer program stored in a computer-readable storage medium described in Appendix 1. [Appendix 9] Generating second history information corresponding to the second dart pin throw; further including A computer program stored in a computer-readable storage medium described in Appendix 1. [Appendix 10] A method for identifying the hit position of a dart pin performed by a dart game device, Generating first history information corresponding to the first dart pin throw, the first history information including hit position information of at least one dart pin that hits the dart target appearing on the dart target photographed image acquired corresponding to the first dart pin throw; The step of obtaining a dart target captured image corresponding to the second dart pin throw, the dart target captured image including an image of the dart target and a plurality of dart pins hitting the dart target; and Based on the first history information and the dart target captured image obtained corresponding to the second dart pin throw, determining, by a dart pin position identification network model, the hit position information of the dart pin corresponding to the second dart pin throw among a plurality of hit position information; including a method. [Appendix 11] A dart game device, a memory including computer-executable components; and a processor that executes the following computer-executable components stored in the memory; including the processor is generating first history information corresponding to the first dart pin throw, the first history information including the hit position information of at least one dart pin hitting the dart target appearing on the dart target captured image obtained corresponding to the first dart pin throw, obtaining a dart target captured image corresponding to the second dart pin throw, the dart target captured image including an image of the dart target and a plurality of dart pins hitting the dart target, determining, by a dart pin position identification network model, the hit position information of the dart pin corresponding to the second dart pin throw among a plurality of hit position information based on the first history information and the dart target captured image obtained corresponding to the second dart pin throw, a dart game device.

Claims

1. A computer program stored on a computer readable storage medium, the computer program providing a method for identifying a hit location of a dart pin when executed by one or more controllers of a dart game device, The method comprises: generating first history information in response to the throwing of a first dart pin, the first history information including hit position information of at least one dart pin that has hit the dart target appearing on the dart target photographed image acquired in response to the throwing of the first dart pin; acquiring a dart target photographic image corresponding to the second dart pin throw, the dart target photographic image including an image of a dart target and a plurality of dart pins hitting the dart target; and determining, based on the first history information and the dart target photographing image obtained corresponding to the second dart pin throwing, hit position information of the dart pin corresponding to the second dart pin throwing among a plurality of hit position information by a dart pin position identification network model, wherein the first history information and the dart target photographing image obtained corresponding to the second dart pin throwing are input as input data of the position identification network model; Including, A computer program stored on a computer readable storage medium.

2. determining hit position information of the dart pin corresponding to the second dart pin throw based on the first history information and the dart target photographed image, Processing input data based on the dart target photographed image through the dart pin position identification network model to generate hit position information of multiple dart pins; and determining hit position information of a dart pin corresponding to the second dart pin throw from among the hit position information of the plurality of dart pins generated based on the first history information; Including, 2. A computer program stored on a computer readable storage medium according to claim 1.

3. generating hit position information of the dart pin hit by the second dart pin throwing based on the first history information and the photographed image of the dart target, processing input data including the first history information through the dart pin position identification network model to generate dart pin hit position information corresponding to the second dart pin throw; Including, 2. A computer program stored on a computer readable storage medium according to claim 1.

4. The input data includes a bounding box image corresponding to the dart target shot image. A computer program stored on a computer readable storage medium according to claim 2 or 3.

5. The dart target photographed images are at least two images generated by at least two cameras positioned in a predetermined direction, A computer program stored on a computer readable storage medium according to claim 2 or 3.

6. the input data includes at least two bounding box images arranged in a predetermined orientation, the at least two bounding box images corresponding to the at least two images generated by at least two cameras positioned in the predetermined orientation; 6. A computer program stored on a computer readable storage medium according to claim 5.

7. The computer program product stored on a computer-readable storage medium of claim 1 , wherein the first historical information further comprises a score value determined by a first dart throw.

8. The dart pin hit position information includes at least one of segment position information or bit position information on the segment.

2. A computer program stored on a computer readable storage medium according to claim 1.

9. generating second history information corresponding to the second dart pin throw; Further comprising:

2. A computer program stored on a computer readable storage medium according to claim 1.

10. A method for identifying a hit position of a dart pin performed by a dart game device, comprising: generating first history information in response to the throwing of a first dart pin, the first history information including hit position information of at least one dart pin that has hit the dart target appearing on the dart target photographed image acquired in response to the throwing of the first dart pin; acquiring a dart target photographic image corresponding to the second dart pin throw, the dart target photographic image including an image of a dart target and a plurality of dart pins hitting the dart target; and determining, based on the first history information and the dart target photographing image obtained corresponding to the second dart pin throwing, hit position information of the dart pin corresponding to the second dart pin throwing among a plurality of hit position information by a dart pin position identification network model, wherein the first history information and the dart target photographing image obtained corresponding to the second dart pin throwing are input as input data of the position identification network model; Including, method.

11. A darts game device, comprising: A memory containing computer-executable components; and A processor executing the following computer-executable components stored in memory: Including, The processor, generating first history information in response to the throwing of a first dart pin, the first history information including hit position information of at least one dart pin that has hit the dart target appearing on the dart target photographed image acquired in response to the throwing of the first dart pin; acquiring a photographed image of the dart target in response to the throwing of the second dart pin, the photographed image of the dart target including an image of the dart target and a plurality of dart pins hitting the dart target; determining hit position information of the dart pin corresponding to the second dart pin throw among a plurality of hit position information based on the first history information and the dart target photographed image acquired corresponding to the second dart pin throw by a position identification network model of the dart pin, wherein the first history information and the dart target photographed image acquired corresponding to the second dart pin throw are input as input data of the position identification network model; Darts game device.

Citation Information

Patent Citations

  • Sports competition automatic scoring device and scoring method

    CN113018830A

  • Server device and game system

    JP2015079340A

  • Calibration method for target imaging device

    JP2018146227A

  • Server and apparatus and computer program for identifying a hitting position of dart pin

    KR1020160110060A

  • Dart game system

    KR1020190079010A