KR101757788B1 - Method and Apparatus of Scoring Pool - Google Patents

Method and Apparatus of Scoring Pool Download PDF

Info

Publication number
KR101757788B1
KR101757788B1 KR1020150181270A KR20150181270A KR101757788B1 KR 101757788 B1 KR101757788 B1 KR 101757788B1 KR 1020150181270 A KR1020150181270 A KR 1020150181270A KR 20150181270 A KR20150181270 A KR 20150181270A KR 101757788 B1 KR101757788 B1 KR 101757788B1
Authority
KR
South Korea
Prior art keywords
billiard
image
time
inning
unit
Prior art date
Application number
KR1020150181270A
Other languages
Korean (ko)
Other versions
KR20170072734A (en
Inventor
변혜란
임광용
Original Assignee
연세대학교 산학협력단
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 연세대학교 산학협력단 filed Critical 연세대학교 산학협력단
Priority to KR1020150181270A priority Critical patent/KR101757788B1/en
Publication of KR20170072734A publication Critical patent/KR20170072734A/en
Application granted granted Critical
Publication of KR101757788B1 publication Critical patent/KR101757788B1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63DBOWLING GAMES, e.g. SKITTLES, BOCCE OR BOWLS; INSTALLATIONS THEREFOR; BAGATELLE OR SIMILAR GAMES; BILLIARDS
    • A63D15/00Billiards, e.g. carom billiards or pocket billiards; Billiard tables
    • A63D15/20Scoring or registering devices
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Image Analysis (AREA)

Abstract

The present invention relates to an apparatus and method for calculating a billiard score through image recognition.
A billiard score calculation method according to the present invention is a billiard score calculation method that receives an image including a pool table, warps the image so that the pool table included in the image has a predetermined shape, divides the pool table area from the warped image A pool table image acquisition step for acquiring a pool table image; A billiard ball detecting step of detecting a billiard ball in the pool billiard image; And an inning detection step of analyzing a change in coordinates of the detected billiard ball with respect to time to discriminate an inning time of the billiard game; And a score calculating step of analyzing the time-based coordinates of the detected billiard ball within the inning time, determining whether the billiard space is collided, and calculating the score of the inning according to the determination result.

Description

BACKGROUND OF THE INVENTION 1. Field of the Invention [0001]

The present invention relates to an apparatus and method for calculating a billiard score through image recognition.

When calculating the score in billiard games, the game players used to score points by manually calculating the scores after the game player or the referee manually moved the scoreboard by moving the abacus or license plate. However, when using these conventional passive methods, there are cases in which the score memory is erroneously displayed when there are multiple scores, and sometimes there is a problem that a person manually calculates the score and displays the score There is a problem.

On the other hand, although digital abacus has been developed and used, it does not provide a function of calculating the score of a game by providing a touch-based user environment (UI) using a tablet using the existing abacus. In addition, the existing digital abacus provides only a limited function to record a camera image installed in a separate location and download the entire image.

Also, as a conventional patent, 'automatic billiard game system using image recognition device' (publication number: 10-2013-0114512) provides a technique of judging whether a billiard ball is struck using a camera installed in the ceiling or not and score calculation However, the method of installing the camera on the ceiling requires separate equipment and installation, which causes an excessive cost.

(Patent Document 0001) Korean Patent Publication No. 10-2013-0114512 (Oct. 31, 2013)

Accordingly, the present invention replaces the abacus used for score calculation in a conventional billiard game with a digital device based on a touch screen, analyzes the movement of the ball and the ball using the camera built in the ball, And a method for automatically calculating a game score, and a method therefor.

According to one aspect of the present invention, there is provided a billiard score calculating apparatus for receiving an image including a billiard table, warping the image so that the billiard table included in the image has a predetermined shape, A pool table image acquiring unit for acquiring a pool table image by dividing the pool table area in an image; A billiard ball detecting unit for detecting a billiard ball in the pool billiard image; And an inning detection unit for analyzing a change in coordinates of the detected billiard ball with respect to time to discriminate an inning time of the billiard game.

In one embodiment, the billiards score calculating device may further include a camera for photographing the image.

In one embodiment, the billiard-score calculation device analyzes time-based coordinates of the detected billiard ball within the inning time, determines whether the billiard space is collided, calculates a score of the inning according to the determination result And a score calculation unit for calculating a score.

Wherein the pool table image obtaining unit comprises: an edge extracting unit for extracting an edge from the image; A warping unit for warping the image so that the extracted edge has a predetermined shape; And a pool table region dividing unit for dividing the pool table region from the warped image to obtain the pool table image.

Wherein the edge extracting unit extracts a straight line edge, the warping unit calculates a position of a vanishing point where edges of the extracted linear shape are gathered, and calculates a position of the edge of the linear shape based on the calculated vanishing point, And warping the image.

The billiard ball detecting unit may detect the billiard ball using at least one of color model information or type information of the billiard ball in the pool table image.

Wherein the inning detecting unit comprises: a billiard ball position information processing unit for calculating a moving amount according to a change amount of time-based coordinates of the detected billiard ball; And an inning time setting unit that sets a start time and an end time of the inning based on the calculated movement amount.

Wherein the billiard ball position information processing unit stores a plurality of billiard ball coordinates in a first queue to which a storage space is allocated for each of the time periods and stores the coordinates of the billiard balls in the first queue, And stores the calculated movement amount in a second queue allocated storage space by time.

Here, the inning time determining unit sets a time point at which the magnitude of the movement amount increases to a predetermined threshold value or more as a start time of the inning, and sets a time point at which the size of the movement amount decreases below a predetermined threshold value as an end time of the inning .

Wherein the score calculation unit calculates a distance between coordinates of a plurality of billiard balls in the inning time and detects whether the billiard space is collided according to the calculated distance; A cushion collision detector for detecting a cushion impact of the billiard ball by comparing the coordinates of the billiard ball with the position of the cushion of the billiard table within the inning time; And a score calculation unit for calculating a score of the inning according to the detected billiard-space conflict and the cushion collision event of the billiard ball.

Wherein the score calculating unit stores the detected billing space conflicts and the cushioning conflict event of the billiard balls on a time-by-time basis during the inning time, compares the stored event with a previously stored score calculation rule, Can be calculated.

In one embodiment, the billiard score calculating device includes: a display unit for displaying a score of the calculated inning on a screen; And a storage unit for storing the image or the pool table image for each of the innings.

According to another aspect of the present invention, there is provided a billiard score calculation method comprising: receiving an image including a billiard table; warping the image so that the billiard table included in the image has a predetermined shape; A billiard table image acquiring step of acquiring a billiard table image by dividing the billiard table area in a warped image; A billiard ball detecting step of detecting a billiard ball in the pool billiard image; And an inning detection step of analyzing a change in coordinates of the detected billiard ball with respect to time to discriminate an inning time of the billiard game; And a score calculating step of analyzing the time-based coordinates of the detected billiard ball within the inning time, determining whether the billiard space is collided, and calculating the score of the inning according to the determination result.

Wherein the pool pool image acquiring step comprises: an edge extracting step of extracting an edge from the image; A warping step of warping the image so that the extracted edge has a predetermined shape; And a billiard zone dividing step of dividing the billiard zone using the color model of the billiard table predetermined in the warped image or using the edge to obtain the billiard table image.

Wherein the detecting the innning includes: a billiard ball position information processing step of calculating a moving amount according to a change amount of coordinates of the detected billiard ball by time; And an inning time setting step of setting the start time and the end time of the inning based on the calculated movement amount.

According to the billiards score calculating device and the method therefor according to the present invention, it is possible to obtain a billiard table image more cost effectively, unlike the conventional method in which a large number of expensive cameras are installed, The score can be calculated.

1 is a block diagram of a billiard score calculation apparatus according to an embodiment of the present invention.
2 is a block diagram of a billiard score calculation apparatus according to another embodiment of the present invention.
3 is a detailed block diagram of a pool table image acquiring unit.
4 is a reference diagram for explaining the operation of the pool table image acquiring unit.
5 is a detailed block diagram of the inning detection unit.
6 is a reference diagram for explaining the operation of the inning time setting unit.
7 is a detailed block diagram of the score calculation unit.
8 is a flowchart of a billiard score calculation method according to another embodiment of the present invention.
9 is a detailed flowchart of a billiard-table image acquiring step.
10 is a detailed flowchart of the inning detection step.

Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. In the drawings, the same reference numerals are used to designate the same or similar components throughout the drawings. In the following description of the present invention, a detailed description of known functions and configurations incorporated herein will be omitted when it may make the subject matter of the present invention rather unclear. In addition, the preferred embodiments of the present invention will be described below, but it is needless to say that the technical idea of the present invention is not limited thereto and can be variously modified by those skilled in the art.

1 is a block diagram of a billiard score calculation apparatus according to an embodiment of the present invention.

The billiard score calculation apparatus according to an embodiment of the present invention may include a billiard-table image acquisition unit 100, a billiard ball detection unit 200, and an inning detection unit 300. And may further include a score calculation unit 400 as necessary.

Here, the billiard score calculation device according to the present invention may be configured such that all the components thereof are each implemented as one independent hardware, or a part or all of the components are selectively combined to form a part or a combination But may also be embodied as a computer program having a program module that performs all of its functions. In addition, the billiard score calculation device according to the present invention may be implemented as a software program and operated on a processor or a signal processing module, or may be implemented in hardware form to be included in various processors, chips, semiconductors, to be. The billiard score calculation apparatus according to the present invention may be included in various embedded systems or devices such as a computer, a mobile device, a tablet, and the like in the form of hardware or software modules. Preferably, the billiards score calculating apparatus according to the present invention includes a touch screen and a camera, and includes a pool table image acquiring unit 100, a billiard ball detecting unit 200, an inning detecting unit 300, and a score calculating unit 400 And may be a device implemented and operated in the form of a software module.

The billiard-table image obtaining unit 100 receives an image including a billiard table, warps the image so that the billiard table included in the image has a predetermined shape, divides the billiard table area from the warped image, .

The billiard ball detection unit 200 detects a billiard ball in the pool table image.

The inning detecting unit 300 analyzes the time-based coordinate change of the detected billiard ball to discriminate an inning time of the billiard game.

The score calculation unit 400 analyzes the time-based coordinates of the detected billiard balls in the inning time, determines whether the billiard space is collided, and calculates the score of the inning according to the determination result.

2 is a block diagram of a billiard score calculation apparatus according to another embodiment of the present invention.

Here, the billiard score calculation apparatus according to another embodiment of the present invention may further include at least one of a camera, a storage unit, and a display unit.

The camera captures the image. Here, the camera may be provided at one side of the billiard score calculation device to capture an image including the pool table in one direction, and the pool table image acquisition section 100 may receive the image captured by the camera.

The display unit displays the score of the innings calculated by the score calculation unit 400 on the screen. In this way, the player can check the score of each innings of the billiard game on the display unit.

The storage unit stores the image or the pool table image for each inning classified and detected by the inning detecting unit 300. That is, an image containing a play performed by the player on the billiard table for each of the innings can be divided and stored in the storage unit.

Hereinafter, the operation of the pool table image acquisition unit 100 will be described in more detail.

The billiard-table image obtaining unit 100 receives an image including a billiard table, warps the image so that the billiard table included in the image has a predetermined shape, divides the billiard table area from the warped image, .

The camera included in the billiard score calculation apparatus according to the present invention may be located at a position separated from the display unit accessible by the player by a predetermined distance. In one embodiment, the camera may be integrated with the device at a location spaced apart from the top of the touch screen or in one direction, such as a tablet. Therefore, since the image taken by the camera provided in this manner is not the image of the billiard table in the direction from the top to the bottom of the billiard table, the billiard table has a deformed shape in a certain direction at the viewpoint of the camera. 4 (a) is a reference view showing a shape of a billiard table included in an image, which is deformed in a trapezoidal shape rather than a rectangular shape in a certain direction at the time of photographing the camera. Therefore, it is necessary to convert the billiard table, which is transformed into a shape other than the original billiard shape at the time of photographing the camera, into the original rectangular shape.

For this, the billiard-table image acquisition unit 100 may warp the image so that the billiard table included in the image has a predetermined shape, for example, a rectangle. 4 (c) is a reference view showing the warped image. In addition, the billiard-table image acquiring unit 100 may divide a region having a certain margin in a region corresponding to a billiard table or a billiard table in a warped image. Hereinafter, the image of the divided area including the area corresponding to the pool table is referred to as a pool table image. 4 (d) is a reference view showing such a pool table image.

In order to perform the above operation, the billiard-table image obtaining unit 100 may include an edge extracting unit 110, a warping unit 120, and a billiard zone dividing unit 130.

3 is a detailed block diagram of the pool table image obtaining unit 100. As shown in FIG.

The edge extracting unit 110 may extract an edge from the image. In order to extract an edge, a gradient can be calculated from an image, and an edge region can be detected based on the gradient. Various other known edge detection methods can be used to detect edges such as Canny edge detection method and the like. can do.

In one embodiment, the edge extraction unit 110 may extract a straight line edge, and may filter only a straight line edge among the extracted edges. The edge extracting unit 110 may determine whether the edge has a straight line shape by analyzing the positional relationship between the pixels corresponding to the edge in order to extract a straight line edge. Referring to FIG. 4 (a), a straight line edge including l1, l2, l3 can be extracted.

Next, the warping unit 120 may warp the image so that the extracted edge has a predetermined shape. Here, the warping unit 120 may set an in-video coordinate conversion condition that the extracted edge has a predetermined shape, and warp the image according to the set coordinate conversion condition. For this purpose, the warping unit 120 may use various known image warping techniques.

In one embodiment, the warping unit 120 may calculate the position of the vanishing point where the extracted straight-line edges are gathered, and warp the image so that the straight-line edge has a predetermined shape based on the calculated vanishing point have. Here, the predetermined shape may be a shape in which straight edges directed toward the vanishing point are parallel to each other. Alternatively, the predetermined shape may be a shape in which a straight-line edge toward the vanishing point has a predetermined angle. Referring to FIG. 4B, the image can be warped so that the straight edges L1 and L2 directed to the vanishing point P become parallel to each other as shown in FIG. 4C. In this way, the warped image can be the top view image of the pool table. Alternatively, the image may be warped so that the angle &thetas; between straight edges L1 and L2 in Fig. 4B has a different predetermined angle &thetas; '.

In another embodiment, the edge extracting unit 110 may extract an edge from an image, and then select an edge corresponding to a boundary of the billiard table. At this time, the warping unit 120 may warp the image so that the edge corresponding to the extracted pool base boundary has a predetermined shape. Here, the predetermined shape may be, for example, a rectangle. Alternatively, the predetermined form may be another form depending on the shape of the pool table image to be acquired by the pool table image obtaining unit 100. [ That is, the predetermined shape may be a square, a trapezoid having a specific ratio, or a square in which a ratio of a predetermined angle or a side is determined, if necessary.

Also, the warping unit 120 may divide the candidate region including the pool table in the entire image based on the vanishing point before warping the image, and perform warping only on the separated candidate region. Here, the warping unit 120 can identify a candidate region including a billiard table based on the position of the vanishing point and the position of the extracted edge. For example, only an area within a predetermined distance based on the extracted edge can be classified as a candidate area. The amount of calculation can be reduced by performing warping only on the divided regions.

Next, the billiard-zone region dividing unit 130 may divide the billiard zone region in the warped image to obtain the billiard-zone image. 4 (d) is a reference view showing a pool table image obtained by dividing the pool table area PT in the warped image (c).

In one embodiment, the billiard-zone region dividing unit 130 divides the billiard-zone region using the color model of the billiard table predetermined in the warped image to obtain the billiard-zone image. In the case of a billiard table, the color of the carpet or frame is predetermined. Accordingly, the billiard-zone dividing unit 130 can divide only a region corresponding to a predetermined color of the billiard table in the warped image to obtain a billiard table image. For this, a pixel having a specific color and a color difference within a predetermined range included in a predetermined color model among the pixels of the warped image may be selected, and an area including the selected pixels may be divided into a pool area.

In another embodiment, the billiard-zone dividing unit 130 selects edge portions corresponding to a predetermined billiard shape by using the edge information detected from the warped image, May be divided into a pool table area. For example, when the image is warped such that the shape of the billiard table is rectangular in the warping part 120, the billiard area dividing section 130 selects edge parts corresponding to a rectangle corresponding to a predetermined size range, The billiard table image may be obtained by dividing the billiard table area having the outline.

Here, the pool table area dividing unit 130 may divide the pool table area using various other known image segmentation algorithms such as a Graph Cut algorithm.

Next, the billiard ball detecting unit 200 will be described in more detail.

The billiard ball detection unit 200 detects a billiard ball in the pool table image. Here, the billiard ball detecting unit 200 can detect the billiard ball using at least one of color model information or type information of the billiard ball in the billiards image.

In the case of a billiard ball, four or three balls have a color corresponding to one of red, yellow, and white. In the case of a pocketball, there are predetermined colors. Accordingly, the billiard ball detecting unit 200 can detect the area corresponding to the color of the billiard ball in the billiard table image using the billiard ball using a predetermined color model of the billiard ball. For this purpose, a pixel having a specific color and a color difference within a predetermined range included in a preset color model among the pixels of the pool table image may be selected, and an area including the selected pixels may be detected as a billiard ball. In this case, the billiard ball can be detected as a circular shape using the shape information that the billiard ball is spherical. Alternatively, the billiard ball detecting unit 200 may detect the edge of the billiard-table image using the shape information that the billiard ball is spherical, detect a region where the shape of the detected edge is circular, and detect it as a billiard ball. In this case, since the size information of the billiard ball is predetermined in relation to the size of the billiard table, the billiard ball can be more accurately detected by using the size information of the billiard ball.

At this time, the billiard ball detecting unit 200 can recognize the type of the billiard ball detected. In order to recognize the type of billiard ball, the pixels of the detected billiard ball area are compared with the color of the billiard ball which is known in advance, and the type of the billiard ball, for example, red ball, white ball, Can be recognized.

Here, the color can be defined in various color spaces. For example, colors in various kinds of color spaces such as RGB, YCbCr, CMYK, YIQ, and the like can be defined.

Also, the billiard ball detecting unit 200 may detect and recognize a billiard ball in a pool table image by using various known object detection and recognition algorithms. For example, the billiard ball detecting unit 200 may analyze the video and recognize or identify the billiard ball using the feature information set in advance for the billiard ball or using the appearance information. Here, in order to recognize the billiard ball, the billiard ball detecting unit 200 may extract any one of various known types of features from the target image, and perform object detection using the extracted feature. For example, the billiard ball detecting unit 200 can extract and use various features such as edge characteristics, corner characteristics, LoG (Laplacian of Gaussian), and DoG (Difference of Gaussian). Here, the billiard ball detecting unit 200 may detect a billiard ball using a variety of existing feature descriptions including Scale-invariant feature transform (SIFT), Speed Up Robust Features (SURF), and Histogram of Oriented Gradients Can be detected and recognized. Alternatively, the billiard detecting unit may detect and recognize the billiard ball by comparing the template image of the billiard ball with a certain area in the image. It is needless to say that the billiard ball detecting unit 200 can detect or recognize the billiard ball using various known object recognition techniques in addition to the method exemplified above with a specific name and acquire information about the position and the like of the recognized billiard ball .

Further, the billiard-ball detecting unit 200 can recognize the balloon that the player hits with the cue ball among the detected billiard balls. At this time, the billiard-ball detecting unit 200 can recognize the billiard ball having the coordinate of the first change among the coordinates of the detected billiard ball as a balloon. Or the billiard ball detecting unit 200 can recognize the cue ball from the image and recognize the billiard ball having the coordinate near the cue ball as a cue ball. Here, the method of recognizing the cue in the image can use various known object recognition algorithms described above.

Next, the inning detecting unit 300 will be described in more detail.

The inning detecting unit 300 analyzes the time-based coordinate change of the detected billiard ball to discriminate an inning time of the billiard game. Herein, the innings are time intervals from when the player starts to move the billiard ball by hitting the ball with the cue ball to the time when all the balls are stopped. In one inning, the player may succeed or fail to score, depending on the result of the play, and may be penalized or penalized in some cases. Therefore, it is necessary to specify a time interval corresponding to one inning constituting a billiard game in order to calculate a billiard score.

For this, the inning detecting unit 300 may analyze the time-based coordinate change of the billiard ball to distinguish the inning time. In one embodiment, the inning detection unit 300 may set a time at which coordinates of any of the billiard balls detected by the billiard ball detecting unit 200 starts to change as an inning start time. In this case, the inning detector 300 sets a predetermined threshold value to prevent detection of an inning error due to a fine coordinate change or a recognition error, and determines whether or not the change amount of the detected coordinates of the billiard ball is larger than a predetermined threshold value. It is possible to set a time point at which the change amount of coordinate of the billiard ball is larger than a predetermined reference as the starting time. In addition, the inning detecting unit 300 can set the time point at which the detected billiard ball stopped the coordinate change as the inning finishing time. At this time, in order to prevent erroneous detection due to the recognition error, the inning detector 300 sets a predetermined threshold value and determines whether or not the amount of change of the detected coordinates of the billiard ball is smaller than a predetermined threshold value, The time point at which the amount of change becomes smaller than the predetermined reference value can be set as the inning end time.

Alternatively, the inning detecting unit 300 may detect the inning using the movement amount model. For this, the inning detecting unit 300 may include a billiard ball position information processing unit 310 and an inning time setting unit 320.

5 is a detailed block diagram of the inning detecting unit 300. As shown in FIG.

The billiard ball position information processing unit 310 can calculate the amount of movement in accordance with the amount of change of the coordinates of the billiard ball with respect to time.

The billiard ball position information processing unit 310 may store the coordinates of each billiard ball at a predetermined time interval. Here, the time interval for storing the coordinates of the billiard ball can be set as needed. In one embodiment, the billiard ball position information processing unit 310 may store a plurality of the billiard ball coordinates in the first queue to which the storage space is allocated by time. For example, if the storage space of the first queue is sequentially from 0 to 7, four positions ({B1_t0, B2_t0, B3_t0, B4_t0}) of billiard balls are stored in the storage space 0, The coordinates of each billiard ball can be stored by time by storing four positions ({B1_t1, B2_t1, B3_t1, B4_t1}) of billiard balls in the first storage space.

Next, the billiard ball position information processing unit 310 can calculate the total sum of the coordinate change amounts of all billiard balls as the movement amount. The sum of the magnitudes of the coordinate change amounts of all the billiard balls can be calculated, and the calculated value can be used as the movement amount. Here, the billiard ball position information processing unit 310 may calculate the sum of the amounts of change in the coordinates of the plurality of billiard balls stored in the first queue by the amount of movement. For this purpose, the magnitude of the difference between the coordinates of the billiard balls stored in the adjacent storage space in the first queue is calculated, and the movement amount can be calculated by summing the sizes of the differences in the calculated coordinates. For example, if the coordinates of the billiard balls are stored in each storage space of the first queue with a time interval of 0.2 seconds, the sum of the distances (the magnitude of the coordinate difference) moved for 0.2 seconds by each billiard ball can be calculated. For example, if the sum of the co-ordinates difference between t1 and t0 (0.2 sec)

Figure 112015124110818-pat00001
Can be calculated by the movement amount.

At this time, the billiard ball position information processing unit 310 may store the calculated movement amount by time. For this purpose, the billiard ball position information processor 310 may store the calculated amount of movement in a second queue to which a storage space is allocated by time.

In this case, the billiard ball position information processing unit 310 may store the coordinates of the billiard ball and the movement amount by time using various other known data structures in addition to the above-described cue data structure.

Next, the inning time setting unit 320 can set the start time and the end time of the inning based on the calculated movement amount. Herein, the inning time setting unit 320 may designate the time period during which the value of the movement amount is a positive value equal to or greater than the predetermined threshold value as an inning period in which the billiard ball is struck. Here, the predetermined threshold value may be set to 0 and may be set to a value larger than 0 in order to prevent erroneous detection.

In one embodiment, the inning time determining unit sets a time point at which the magnitude of the movement amount increases to a predetermined threshold value or more as a start time of the inning, and when the magnitude of the movement amount decreases to a predetermined threshold value or less, Time can be set.

6 is a reference diagram for explaining the operation of the inning time setting unit 320. Referring to FIG. Referring to FIG. 6, the inning time setting unit 320 sets the time Ts at which the magnitude of the movement amount increases to be equal to or greater than the predetermined threshold value THs as the inning start time, and the magnitude of the movement amount is equal to or smaller than the predetermined threshold value THe It is possible to detect the section from Ts to Te as the inning section by setting the decreasing time Te as the inning end time.

Next, the score calculation unit 400 will be described in more detail.

The score calculation unit 400 analyzes the time-based coordinates of the detected billiard balls in the inning time, determines whether the billiard space is collided, and calculates the score of the inning according to the determination result. In order to calculate the score, the score calculation unit 400 may first receive position information of the billiard ball detected and recognized by the billiard ball detection unit 200. [ In addition, the score calculation unit 400 may receive information on what the bill is detected by the billiard ball detection unit 200. Then, the score calculation unit 400 may determine whether or not the billiards and other billiard balls collide with each other by analyzing the time-based coordinates of the billiards and other billiard balls, and thereby calculate the billiard score in the corresponding inning. At this time, the score calculation unit 400 may calculate the billiard score by referring to the billiard rule information storing information on whether or not the billiard ball is collided in advance. In addition, the score calculation unit 400 may analyze the cue position of the billiard table by analyzing the time-based coordinates of the cue ball and determine whether the cue ball has collided with the cue ball. Also, the score calculation unit 400 can calculate a billiard score such as a three-cushion by referring to billiard rule information stored in advance using information on the cushion collision time and the billiard-ball collision time of the cue ball.

Here, the score calculation unit 400 may track the trajectory of the ball and the ball by a tracking module (a tracking module) that continuously tracks the movement of the ball in the image of one inning interval. In addition, the score calculation unit 400 calculates the type and position of the object hitting the ball in time sequence using a RBI module that detects a ball hit with a cushion of an object ball or a billiard ball on the trajectory of the ball, Can be obtained. Here, the score calculation unit 400 may apply the obtained hit to the game rule to finally calculate the score of the innings.

7 is a detailed block diagram of the score calculation unit 400. As shown in FIG.

The score calculation unit 400 may include a billiard-room collision detection unit 410, a cushion collision detection unit 420, and a score calculation unit 430.

The billiard-room collision detecting unit 410 calculates a distance between coordinates of a plurality of billiard balls within the inning time, and detects whether the billiard space is collided according to the calculated distance. That is, when the distance between the coordinates of the billiard balls falls within a predetermined range, it can be determined that both billiard balls have collided. Here, the predetermined range may be a predetermined value according to the size of the billiard ball. Or the billiard-room collision detecting unit 410 tracks the coordinate movement trajectory of the billiard ball and can determine that the billiard ball has collided with another billiard ball when the coordinate trajectory of the billiard ball is changed by a predetermined angle or more, If it is in the suspended state and its coordinates change, it can be judged that it has been hit by another billiard ball. For this purpose, the billiard-space collision detecting unit 410 stores the coordinate change information of the billiard ball with respect to time, and can calculate the coordinate trajectory of the billiard ball using this information.

The cushion collision detecting unit 420 can detect the cushion collision of the billiard ball by comparing the coordinates of the billiard ball with the position of the cushion of the billiard table within the inning time. The cushion collision detecting unit 420 can determine that the billiard ball has collided with the cushion when the distance between the billiard ball and the cushion falls within a predetermined range. Here, the predetermined range may be a predetermined value according to the size of the billiard ball. Or the cushion collision detecting unit 420 tracks the coordinate movement trajectory of the billiard ball and determines that the billiard ball has collided with the cushion when the coordinate trajectory of the billiard ball changes in a predetermined angle or more within a predetermined distance from the position of the cushion can do. For this, the cushion collision detecting unit 420 stores coordinate change information of the billiard ball according to time, and can calculate the coordinate trajectory of the billiard ball using the information.

The score calculating unit 430 may calculate the score of the inning according to the detected billiard-space collision event and the cushion collision event of the billiard ball. Each collision event may include information about at least one of information about a collision position, information about a time at which the collision occurred, and information about the collided object.

Here, the score calculating unit 430 stores the detected billing space conflicts and the cushioning conflict event of the billiard balls on a time-by-time basis during the inning time, compares the stored event with previously stored score calculation rules, You can calculate the score of innings. Here, the score calculator 430 may calculate the billiard score by referring to a predetermined billiard score calculation rule using the billiard space conflict time and the billiard cushion conflict time information.

8 is a flowchart of a billiard score calculation method according to another embodiment of the present invention.

A billiard score calculation method according to another embodiment of the present invention may include a billiard image acquisition step (S100), a billiard ball detection step (S200), an inning detection step (S300), and a score calculation step (S400). The billiard score calculation method according to the present invention can operate in the same manner as the billiard score calculation apparatus described in detail with reference to FIG. 1 to FIG. The overlapping portions will be omitted and briefly described.

The billiard-zone image acquisition step S100 receives an image including a billiard table, warps the image so that the billiard table included in the image has a predetermined shape, divides the billiard table area from the warped image, .

The billiard ball detection step (S200) detects a billiard ball in the billiard-table image.

The inning detection step (S300) analyzes the time-based coordinate change of the detected billiard ball to discriminate an inning time of the billiard game.

In the score calculation step S400, coordinates of the detected billiard balls in time are analyzed to determine whether the billiard space is collided, and the score of the innings is calculated according to the determination result.

9 is a detailed flowchart of the pool table image acquiring step (S100).

The pool pool image acquisition step S100 may include an edge extraction step S110, a warping step S120, and a billiard area division step S130.

An edge extraction step (S110) extracts an edge from the image.

The warping step S120 warps the image so that the extracted edge has a predetermined shape.

In the billiard area dividing step S130, the pool table region is divided using the predetermined color model of the billiard table in the warped image to obtain the pool table image.

10 is a detailed flowchart of the inning detection step S300.

The inning detection step S300 may include a billiard ball position information processing step S310 and an inning time setting step S320.

The billiard ball position information processing step S310 calculates the amount of movement according to the amount of change of the coordinates of the billiard balls according to time.

The inning time setting step S320 sets the start time and the end time of the inning based on the calculated amount of movement.

It is to be understood that the present invention is not limited to these embodiments, and all elements constituting the embodiment of the present invention described above are described as being combined or operated in one operation. That is, within the scope of the present invention, all of the components may be selectively coupled to one or more of them.

In addition, although all of the components may be implemented as one independent hardware, some or all of the components may be selectively combined to perform a part or all of the functions in one or a plurality of hardware. As shown in FIG. In addition, such a computer program may be stored in a computer readable medium such as a USB memory, a CD disk, a flash memory, etc., and read and executed by a computer to implement an embodiment of the present invention. As the recording medium of the computer program, a magnetic recording medium, an optical recording medium, a carrier wave medium, and the like can be included.

Furthermore, all terms including technical or scientific terms have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs, unless otherwise defined in the Detailed Description. Commonly used terms, such as predefined terms, should be interpreted to be consistent with the contextual meanings of the related art, and are not to be construed as ideal or overly formal, unless expressly defined to the contrary.

It will be apparent to those skilled in the art that various modifications, substitutions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims. will be. Therefore, the embodiments disclosed in the present invention and the accompanying drawings are intended to illustrate and not to limit the technical spirit of the present invention, and the scope of the technical idea of the present invention is not limited by these embodiments and the accompanying drawings . The scope of protection of the present invention should be construed according to the following claims, and all technical ideas within the scope of equivalents should be construed as falling within the scope of the present invention.

100: Pool table image acquiring unit
200: billiard ball detecting unit
300:
400: score calculation unit
S100: Pool table image acquiring unit
S200: Billiard ball detecting unit
S300:
S400: score calculation unit

Claims (15)

In the billiard score calculation device,
A pool table image acquiring unit receiving an image including a pool table, warping the image so that the pool table included in the image has a predetermined shape, and dividing the pool table area from the warped image to obtain a pool table image;
A billiard ball detecting unit for detecting a billiard ball in the pool billiard image; And
And an inning detector for analyzing a change of coordinates of the detected billiard ball with respect to time and discriminating an inning time of the billiard game.
The method according to claim 1,
And a camera for photographing the image.
The method according to claim 1,
Further comprising a score calculating unit for analyzing the time-based coordinates of the detected billiard balls in the inning time, determining whether the billiard space is collided with, and calculating a score of the inning according to the determination result Billiards score calculation device.
The method according to claim 1,
The pool table image acquiring unit
An edge extracting unit for extracting an edge from the image;
A warping unit for warping the image so that the extracted edge has a predetermined shape; And
And a billiard-zone dividing unit for dividing the billiard-zone region in the warped image to obtain the billiard-zone image.
5. The method of claim 4,
Wherein the edge extracting unit extracts a straight line edge,
Wherein the warping unit calculates a position of a vanishing point where the extracted straight-line edges are gathered, and warps the image so that the straight line edge has a predetermined shape based on the calculated vanishing point.
The method according to claim 1,
Wherein the billiard ball detecting unit detects the billiard ball using at least one of color model information or type information of the billiard ball in the pool table image.
The method according to claim 1,
The inning detection unit
A billiard ball position information processing unit for calculating a movement amount according to a change amount of time-based coordinates of the detected billiard ball; And
And an inning time setting unit for setting the start time and the end time of the inning based on the calculated movement amount.
8. The billiard game machine according to claim 7, wherein the billiard-
Storing a plurality of billiard ball coordinates in a first queue to which a storage space is allocated by time,
Calculating a sum of a change amount of coordinates of a plurality of billiard balls stored in the first queue by the movement amount,
And stores the calculated movement amount in a second queue allocated storage space by time.
8. The method of claim 7,
The inning time determination unit sets a time point at which the magnitude of the movement amount increases to a predetermined threshold value or more as a start time of the inning and sets a time point at which the amount of movement amount decreases below a predetermined threshold value as the end time of the inning Wherein the billiard score calculation device is a billiard score calculation device.
The apparatus according to claim 3,
A billiard space collision detecting unit for calculating a distance between coordinates of a plurality of billiard balls in the inning time and detecting whether the billiard space is collided according to the calculated distance;
A cushion collision detector for detecting a cushion impact of the billiard ball by comparing the coordinates of the billiard ball with the position of the cushion of the billiard table within the inning time; And
And a score calculation unit for calculating a score of the inning according to the detected billiard-space conflict and a cushion collision event of the billiard ball.
11. The apparatus according to claim 10,
Storing the detected billiard-space collision and the cushion-collision event of the billiard ball according to time within the inning time,
And compares the stored event with a previously stored score calculation rule to calculate the score of the innings.
The method of claim 3,
A display unit for displaying the score of the calculated innings on a screen; And
And a storage unit for storing the image or the pool table image for each of the innings.
In the billiard score calculation method,
A billiard table image obtaining step of receiving an image including a billiard table, warping the image so that the billiard table included in the image has a predetermined shape, and dividing the billiard table area in the warped image to obtain a billiard table image;
A billiard ball detecting step of detecting a billiard ball in the pool billiard image; And
An inning detecting step of analyzing a change in coordinates of the detected billiard ball with respect to time to discriminate an inning time of the billiard game; And
And a point calculating step of analyzing the coordinates of the detected billiard balls according to time within the inning time to determine whether the billiard space is in conflict or not and calculating a score of the inning according to the determination result Billiards score calculation method.
14. The method of claim 13, wherein the pool pool image acquisition step comprises:
An edge extracting step of extracting an edge from the image;
A warping step of warping the image so that the extracted edge has a predetermined shape; And
And a billiard-zone dividing step of dividing the billiard strip region using the predetermined color model of the billiard table or using the edge to obtain the billiard table image.
14. The method of claim 13,
A billiard ball position information processing step of calculating a moving amount according to a change amount of time-based coordinates of the detected billiard ball; And
And an inning time setting step of setting the start time and the end time of the inning based on the calculated amount of movement.
KR1020150181270A 2015-12-17 2015-12-17 Method and Apparatus of Scoring Pool KR101757788B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020150181270A KR101757788B1 (en) 2015-12-17 2015-12-17 Method and Apparatus of Scoring Pool

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020150181270A KR101757788B1 (en) 2015-12-17 2015-12-17 Method and Apparatus of Scoring Pool

Publications (2)

Publication Number Publication Date
KR20170072734A KR20170072734A (en) 2017-06-27
KR101757788B1 true KR101757788B1 (en) 2017-07-14

Family

ID=59358432

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020150181270A KR101757788B1 (en) 2015-12-17 2015-12-17 Method and Apparatus of Scoring Pool

Country Status (1)

Country Link
KR (1) KR101757788B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108090486A (en) * 2017-12-28 2018-05-29 深圳市超级视觉科技有限公司 Image processing method and device in a kind of game of billiards
KR20190040697A (en) 2017-10-11 2019-04-19 한국과학기술원 Billiards playing method and billiards playing system
CN110314368A (en) * 2019-06-14 2019-10-11 梁栋 Householder method, device, equipment and the readable medium of billiard ball batting

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102000482B1 (en) * 2018-12-24 2019-07-16 이주현 System for counting billiard score using image processing and method thereof
KR102480941B1 (en) * 2022-07-25 2022-12-23 곽덕현 Apparatus and method for providing billiard game service that can control user-customized mission difficult and provide fifferential rewards

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190040697A (en) 2017-10-11 2019-04-19 한국과학기술원 Billiards playing method and billiards playing system
CN108090486A (en) * 2017-12-28 2018-05-29 深圳市超级视觉科技有限公司 Image processing method and device in a kind of game of billiards
CN110314368A (en) * 2019-06-14 2019-10-11 梁栋 Householder method, device, equipment and the readable medium of billiard ball batting

Also Published As

Publication number Publication date
KR20170072734A (en) 2017-06-27

Similar Documents

Publication Publication Date Title
KR101757788B1 (en) Method and Apparatus of Scoring Pool
Figueroa et al. Tracking soccer players aiming their kinematical motion analysis
US8542874B2 (en) Videotracking
CN108810620A (en) Identify method, computer equipment and the storage medium of the material time point in video
EP2709039A1 (en) Device and method for detecting the presence of a logo in a picture
JP6525453B2 (en) Object position estimation system and program thereof
US9842269B2 (en) Video processing apparatus, video processing method, and recording medium
US20190191098A1 (en) Object tracking apparatus, object tracking method, and non-transitory computer-readable storage medium for storing program
US20160260226A1 (en) Method and apparatus for detecting object in moving image and storage medium storing program thereof
US9361520B2 (en) Method and system for tracking objects
JP6495705B2 (en) Image processing apparatus, image processing method, image processing program, and image processing system
TWI413937B (en) Image recognition methods and devices
US10186044B2 (en) Person tracking method and person tracking device
EP3324307A1 (en) Retrieval device, retrieval method, and computer-readable medium
JP6873644B2 (en) Image processing equipment, image processing methods, and programs
JP2018078431A (en) Object tracker and its program
WO2021195873A1 (en) Method and device for identifying region of interest in sfr test chart image, and medium
WO2020028970A1 (en) Billiard monitoring and management system and method
KR20230030501A (en) Method for geomatrical pattern matching and device for performing the method
JP6853528B2 (en) Video processing programs, video processing methods, and video processing equipment
JP6653423B2 (en) Play section extracting method and play section extracting apparatus
Hsu et al. Spiking and blocking events detection and analysis in volleyball videos
Tahan et al. A computer vision driven squash players tracking system
CN112970031A (en) Method for associating objects in a video
KR101635804B1 (en) CHT based automatic go recording system and the method

Legal Events

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