This application claims priority under 35 U.S.C. §119 to Korean Patent Application No. 10-2016-0074300, filed on Jun. 15, 2016, in the Korean Intellectual Property Office (KIPO), the disclosure of which is incorporated by reference herein in its entirety.
Embodiments of the present invention relate to a baseball game system, and more particularly, to a baseball game system capable of accurately determining a location of a ball using a single camera.
A conventional baseball system determines an accurate location of a ball in a determination area by photographing the ball at various angles using a plurality of cameras. Since the conventional baseball system requires the plurality of cameras, it costs a lot to implement the system.
It is to be understood that this background of the technology section is intend portioned to provide useful background for understanding the technology and as such disclosed herein, the technology background section may include ideas, concepts or recognitions that were not part of what was known or appreciated by those skilled in the pertinent art prior to a corresponding effective filing date of subject matter disclosed herein.
Exemplary embodiments of the present invention may be directed to a baseball game system capable of accurately determining a location of a ball using a single camera.
According to an exemplary embodiment, a baseball game system includes: a pitching unit pitching a ball toward a determination area including a strike zone; a photographing unit positioned in a space between the determination area and the pitching unit; and a location detector detecting a location of a ball based on a plurality of images from the photographing unit. The location detector includes a non-stroke processor detecting a location of a non-struck ball and a stroke processor detecting a location of a struck ball. The non-stroke processor sets first, second, third and fourth straight lines defining the strike zone; calculates, when the ball in the image passes between the first straight line and the second straight line, an average size of the balls between the first straight line and the second straight line; and detects a vertical location of the ball in the determination area based on the average size.
The strike zone defined by the first, second, third and fourth straight lines may have a trapezoidal shape.
The non-stroke processor may detect the vertical location of the ball in the determination area by comparing the average size with a predetermined reference value.
The reference value may include a lower limit value defining a size of the ball located at a lower side of the strike zone; and an upper limit value defining a size of the ball located at an upper side of the strike zone.
The non-stroke processor may calculate coordinates of a first point representing a vertical location of the ball on the third straight line based on the comparison between the average size and the reference value; calculate coordinates of a second point representing a vertical location of the ball on the fourth straight line based on the comparison between the average size and the reference value; and set a fifth straight line passing through the first point and the second point.
The non-stroke processor may set a sixth straight line based on a trajectory of the ball and calculate a horizontal location of the ball in the determination area based on coordinates of a point at which the sixth straight line meets the fifth straight line.
The non-stroke processor may set a size of the ball closest to the first straight line as the average size when the ball in the image does not pass between the first straight line and the second straight line.
The non-stroke processor may estimate the average size of the balls between the first straight line and the second straight line based on at least one of a degree of size change of the ball approaching the first straight line and a distance between the first straight line and the ball closest to the first straight line.
The non-stroke processor may adjust the upper limit value, the lower limit value and a height of the strike zone based on a height of a batter.
The baseball game system may further include a height input unit for inputting the height of the batter.
The non-stroke processor may adjust the upper limit value, the lower limit value and the height of the strike zone based on the height input to the height input unit.
The baseball game system may further include a human body sensor positioned on batter's boxes defining the determination area, the human body sensor determining presence of a batter and detecting a height of the batter.
The stroke processor may include a stroke coordinate converter calculating three-dimensional coordinates of the ball based on: a ball size determined, from one of the plurality of images, according to coordinates of a reference plane of a maximum projection angle area defined by a maximum projection angle of the photographing unit; a size of the ball displayed in the image; XY coordinates of the ball displayed in the image; and the maximum projection angle of the photographing unit.
The coordinate converter may include a ratio calculator calculating a coordinate conversion ratio by dividing the size of the ball displayed in the image by the ball size determined according to the coordinates of the reference plane of the maximum projection angle area.
The coordinate converter may further include a coordinate calculator calculating a Z coordinate of the ball by dividing a value obtained by multiplying the coordinate conversion ratio and a length of one side of the reference plane of the maximum projection angle area by a tangent value corresponding to the maximum projection angle of the photographing unit.
The coordinate calculator may calculate the XY coordinates of the ball by multiplying the coordinate conversion ratio and the XY coordinates of the ball displayed in the image.
The stroke processor may further include a trajectory calculator calculating a final location of the ball by analyzing the plurality of images.
The trajectory calculator may calculate a distance by which the ball moves for a predetermined time based on the three-dimensional coordinates of the ball and a time difference between the plurality of images and calculates a velocity of the ball based on the time difference and the moving distance.
The trajectory calculator may determine a result value, such as a foul, an out, a hit, a two-base hit, a three-base hit and a home run, of a struck ball based on the three-dimensional coordinates of the ball and the velocity of the ball.
The baseball game system may further include a swing determination unit determining whether or not a batter on one of batter's boxes on opposite sides of the strike zone has swung a baseball bat based on the image from the photographing unit. The swing determination unit may detect a batter's box on which the batter is positioned based on a degree of change in the image and determines whether or not a swing of the baseball bat has been made based on the detected batter's box and a trajectory of an end portion of the baseball bat.
The swing determination unit may set a first vector connecting two temporally adjacent end portions and sets a second vector perpendicular to the first vector, determine whether the number of second vectors toward the detected batter's box among the second vectors is within a first reference range, and determine whether an average length of the second vectors is within a second reference range, so as to determine whether or not a swing of the baseball bat has been made.
The swing determination unit may determine that a swing of the baseball bat has been made when the number of second vectors toward the detected batter's box among the second vectors is within the first reference range and the average length of the second vectors is within the second reference range.
The swing determination unit may further determine whether a sum of lengths of the first vectors is within a third reference range.
The swing determination unit may determine that a swing of the baseball bat has been made when the number of second vectors toward the detected batter's box among the second vectors is within the first reference range, the average length of the second vectors is within the second reference range, and the sum of the lengths of the first vectors is within the third reference range.
The baseball bat may further include a marking pattern.
The marking pattern may be positioned at an end portion of the baseball bat.
The marking pattern may surround the end portion.
The marking pattern may have a lighter color than a color of the baseball bat.
The baseball game system may further include a determination unit determining a ball and a strike based on the determination result from the swing determination unit and the detection result from the non-stroke processor.
The foregoing is illustrative only and is not intend portioned to be in any way limiting. In addition to the illustrative aspects, exemplary embodiments and features described above, further aspects, exemplary embodiments and features will become apparent by reference to the drawings and the following detailed description.
A more complete appreciation of the present invention will become more apparent by describing in detail exemplary embodiments thereof with reference to the accompanying drawings, wherein:
Exemplary embodiments will now be described more fully hereinafter with reference to the accompanying drawings. Although the invention may be modified in various manners and have several exemplary embodiments, exemplary embodiments are illustrated in the accompanying drawings and will be mainly described in the specification. However, the scope of the invention is not limited to the exemplary embodiments and should be construed as including all the changes, equivalents and substitutions included in the spirit and scope of the invention.
In the drawings, thicknesses of a plurality of layers and areas are illustrated in an enlarged manner for clarity and ease of description thereof. When a layer, area, or batter's box is referred to as being “on” another layer, area, or batter's box, it may be directly on the other layer, area, or batter's box, or intervening layers, areas, or batter's boxes may be present therebetween. Conversely, when a layer, area, or batter's box is referred to as being “directly on” another layer, area, or batter's box, intervening layers, areas, or batter's boxes may be absent therebetween. Further when a layer, area, or batter's box is referred to as being “below” another layer, area, or batter's box, it may be directly below the other layer, area, or batter's box, or intervening layers, areas, or batter's boxes may be present therebetween. Conversely, when a layer, area, or batter's box is referred to as being “directly below” another layer, area, or batter's box, intervening layers, areas, or batter's boxes may be absent therebetween.
The spatially relative terms “below”, “beneath”, “less”, “above”, “upper” and the like, may be used herein for ease of description to describe the relations between one element or component and another element or component as illustrated in the drawings. It will be understood that the spatially relative terms are intend portioned to encompass different orientations of the device in use or operation, in addition to the orientation depicted in the drawings. For example, in the case where a device illustrated in the drawing is turned over, the device locationed “below” or “beneath” another device may be placed “above” another device. Accordingly, the illustrative term “below” may include both the lower and upper locations. The device may also be oriented in the other direction and thus the spatially relative terms may be interpreted differently depend portioning on the orientations.
Throughout the specification, when an element is referred to as being “connected” to another element, the element is “directly connected” to the other element, or “electrically connected” to the other element with one or more intervening elements interposed therebetween. It will be further understood that the terms “comprises,” “comprising,” “includes” and/or “including,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It will be understood that, although the terms “first,” “second,” “third,” and the like may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another element. Thus, “a first element” discussed below could be termed “a second element” or “a third element,” and “a second element” and “a third element” may be termed likewise without departing from the teachings herein.
“About” or “approximately” as used herein is inclusive of the stated value and means within an acceptable range of deviation for the particular value as determined by one of ordinary skill in the art, considering the measurement in question and the error associated with measurement of the particular quantity (i.e., the limitations of the measurement system). For example, “about” may mean within one or more standard deviations, or within +30%, 20%, 10%, 5% of the stated value.
Unless otherwise defined, all terms used herein (including technical and scientific terms) have the same meaning as commonly understood by those skilled in the art to which this invention pertains. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an ideal or excessively formal sense unless clearly defined in the present specification.
Some of the parts which are not associated with the description may not be provided in order to specifically describe exemplary embodiments of the present invention and like reference numerals refer to like elements throughout the specification.
Hereinafter, a baseball game system according to an exemplary embodiment will be described in detail with reference to
As illustrated in
The pitching unit 700 pitches a ball 888 toward a determination area 340 between the first batter's box 241 and the second batter's box 242.
The determination area 340 includes a strike zone 333. That is, a part of the determination area 340 is the strike zone 333. For example, the determination area 340 may be positioned between the first batter's box 241 and the second batter's box 242.
A width of the determination area 340 may be defined by a distance between the first batter's box 241 and the second batter's box 242, and a length of the determination area 340 may be defined by a distance between the groove plate 230 and an imaginary side above the groove plate 230. Herein, the imaginary side is positioned higher than an upper side of the strike zone 333.
The pitching unit 700 includes a screen 780 and a pitching machine 760.
The screen 780 is positioned between the determination area 340 and the pitching machine 760. The screen 780 displays an image projected from the projector 555. The image is displayed on a display surface of the screen 780. As illustrated in
The pitching machine 760 is positioned behind the screen 780. That is, the pitching machine 760 is positioned opposite the display surface of the screen 780. The pitching machine 760 throws the ball 888. The ball 888 pitched from the pitching machine 760 passes through the hole 768 of the screen 780 and advances toward the determination area 340.
The photographing unit 430 detects a moment when the ball 888 from the pitching unit 700 enters a sensing area 805 and starts photographing. For example, the photographing unit 460 starts tracking all moving objects, including the ball 888, from the moment when the ball 888 enters the sensing area 805. To this end, the photographing unit 430 may continuously photograph at a rate of several tens to several hundreds of frames per second from the moment when the ball 888 enters the sensing area 805. The photographing unit 430 may include a high-speed camera.
The photographing unit 430 is positioned above the determination area 340. For example, as illustrated in
The location detector 666 detects a location of the ball 888 based on the image photographed by the photographing unit 430. The image provided from the photographing unit 430 includes a plurality of frame images. The location detector 666 may analyze the frame images to calculate coordinates (XY coordinates) of the ball 888 in the determination area 340. To this end, for example, the location detector 666 may binarize each frame image from the photographing unit 430 based on a corresponding photographing illuminance thereof to generate a black-white image, extract a basic contour (e.g., a contour of a ball) of a subject (e.g., a ball) in the image by scanning the black-white image in the up-and-down direction and the left-and-right direction, determine a center position of the subject from the contour, and determine a location of the subject (e.g., the ball) based on the center position and a trajectory of the subject (e.g., a trajectory of the ball).
The location detector 666 includes a non-stroke processor 666a and a stroke processor 666b.
The non-stroke processor 666a detects a location of the ball 888 that is not struck based on the photographed image from the photographing unit 430. The stroke processor detects a location of the ball 888 that is struck based on the photographed image from the photographing unit 430.
The coordinate information of the ball detected from the non-stroke processor 666a is transmitted to a determination unit (not illustrated). The determination unit determines whether or not the coordinates of the detected ball are located in the strike zone 333 in the determination area. As a result of the determination, in the case where it is determined that the ball 888 is located inside the strike zone 333 or at the boundary thereof, the determination unit declares a strike. On the other hand, in the case where it is determined that the ball is located in the determination area 340 outside the strike zone 300, the determination unit declares a ball. In an exemplary embodiment, the determination unit determines final ball and strike based on a determination result from a swing determination unit 644 to be described below and the detection result from the non-stroke processor 666a.
The non-stroke processor 666a sets the strike zone 300 based on the image photographed by the photographing unit 430. For example, the strike zone 300 may be defined as an area surrounded by four imaginary straight lines L1, L2, L3 and L4.
A first straight line L1 and a second straight line L2 face each other and a third straight line L3 and a fourth straight line L4 face each other. The first straight line L1 and the second straight line L2 may be arranged parallel to each other.
The first straight line L1 defines a lower side S1 of the strike zone 300, the second straight line L2 defines an upper side S2 of the strike zone 300, the third straight line L3 defines a left side S3 of the strike zone 300, and the fourth straight line L4 defines a right side S4 of the strike zone 300.
The photographing unit 430 photographs the strike zone 300 from a diagonal direction thereof rather than immediately above the strike zone 300. The strike zone 300 is shaped like a trapezoid to reflect the perspective phenomenon depending on the shooting angle. For example, the strike zone 300 may have a trapezoidal shape as illustrated in
The ball in the image has a larger size as it approaches the photographing unit 430 due to the perspective phenomenon. That is, a size of a ball 800 (see
The non-stroke processor 666a may determine the size of the ball 800 using a predetermined reference value. The reference value may include a lower limit value and an upper limit value.
The first straight line L1 defining the lower side S1 of the strike zone 300 represents a location of the ball 800 at a lowest position in the strike zone 300 and the second straight line L2 defining the upper side S2 of the strike zone 300 represents a location of the ball 800 at a highest position in the strike zone 300
A size (hereinafter, a lower limit value) of the ball 800 when the ball 800 is positioned on the first straight line L1 and a size (hereinafter, an upper limit value) of the ball 800 when the ball 800 is positioned on the second straight line L2 may be set to predetermined values. The lower limit value is less than the upper limit value. The lower limit value and the upper limit value may be input from the outside.
Hereinafter, an operation of the non-stroke processor 666a will be described in detail.
First, suppose that the balls 800 in a plurality of continuously photographed images pass through the determination area 340 with a trajectory as illustrated in
The non-stroke processor 666a selects balls 800 located between the first straight line L1 and the second straight line L2 in the plurality of continuously photographed images and calculates an average size of the balls 800 (501). As an example, as illustrated in
Subsequently, as illustrated in
To this end, the non-stroke processor 666a may detect the vertical location of the ball 800 by, for example, comparing the average size with a predetermined reference value. The reference value includes the lower limit value and the upper limit value described above.
A reference number 16 in
As such, the non-stroke processor 666a may compare the average size, the upper limit value and the lower limit value to calculate coordinates of a point indicating the vertical location of the ball 800 on the third straight line L3 based on the comparison result, which will be described in detail below.
For example, the non-stroke processor 666a divides the third straight line L3 into a plurality of sections based on the location of the lower limit value and the location of the upper limit value. In such an exemplary embodiment, the third straight line L3 may be divided into the plurality of sections so that one of points at a boundary between the sections corresponds to the location of the aforementioned lower limit value and another of the points at the boundary corresponds to the location of the upper limit value.
Each point is assigned with a different location value. Each location value is determined according to a ratio between the lower limit value and the upper limit value. The location value has a tendency to increase along a Y axis.
The non-stroke processor 666a finds a location value having a size coinciding with or closest to the average size and selects a point P1 (hereinafter, “a first point”) given the location value. A Y coordinate of the selected first point P1 means the vertical location of the ball 800 on the third straight line L3.
In such a manner, the non-stroke processor 666a may calculate coordinates of a point representing a vertical location of the ball on the fourth straight line L4, which will be described in detail below.
For example, the non-stroke processor 666a divides the fourth straight line L4 into a plurality of sections based on the location of the lower limit value and the location of the upper limit value. In such an exemplary embodiment, the fourth straight line L4 may be divided into the plurality of sections so that one of points at a boundary between the sections corresponds to the location of the aforementioned lower limit value and another of the points at the boundary corresponds to the location of the upper limit value.
Each point is assigned with a different location value. Each location value is determined according to a ratio between the lower limit value and the upper limit value. The location value has a tendency to increase along a Y axis.
The non-stroke processor 666a finds a location value having a size coinciding with or closest to the average size and selects a point P2 (hereinafter, “a second point”) given the location value. A Y coordinate of the selected second point P2 means the vertical location of the ball 800 on the fourth straight line L4.
The Y coordinate value of the first point P1 and the Y coordinate value of the second point P2 indicating the height of the ball 800 may be substantially the same.
In the case as in an example illustrated in
Next, the non-stroke processor 666a sets a fifth straight line L5 passing through the first point P1 and the second point P2 (503).
Next, the non-stroke processor 666a sets a sixth straight line L6 based on a trajectory of the ball 800 as illustrated in
Subsequently, the non-stroke processor 666a calculates a horizontal location of the ball 800 in the determination area 340 based on coordinates of a point P3 (hereinafter, “a third point”) at which the sixth straight line L6 meets the fifth straight line L5. The coordinates of the third point P3 may be calculated based on an equation of the sixth straight line L6 and an equation of the fifth straight line L5. The XY coordinates of the third point P3 is a location of the ball 800 in the determination area 340 (506).
When the third point P3 is located in the strike zone 300, as illustrated in
In an exemplary embodiment, based on the determination result from the determination unit, the projector 555 may display the location of the ball in the standardized strike zone on the screen, which will be described in detail with reference to
The projector 555 may project an image as illustrated in
The strike zone 444 illustrated in
In an exemplary embodiment, the strike zone 444 may include a horizontal grid line 61 and a vertical grid line 62 intersecting each other. The horizontal grid line 61 and the vertical grid line 62 divide the strike zone 444 into a plurality of areas. An approximate location of the ball in the strike zone 444 may be easily determined by the horizontal grid line 61 and the vertical grid line 62.
First, suppose that the balls 800 in a plurality of continuously photographed images pass through the determination area 340 with a trajectory as illustrated in
The non-stroke processor 666a selects balls 800 located between the first straight line L1 and the second straight line L2 in the plurality of continuously photographed images and calculates an average size of the balls 800. As an example, as illustrated in
Subsequently, as illustrated in
To this end, the non-stroke processor 666a may detect the vertical location of the ball 800 by, for example, comparing the average size with a predetermined reference value. The reference value includes the lower limit value and the upper limit value described above.
A reference number 16 in
As such, the non-stroke processor 666a may compare the average size, the upper limit value and the lower limit value to calculate coordinates of a point indicating a vertical location of the ball 800 on the third straight line L3 based on the comparison result, which will be described in detail below.
For example, the non-stroke processor 666a divides the third straight line L3 into a plurality of sections based on the location of the lower limit value and the location of the upper limit value. In such an exemplary embodiment, the third straight line L3 may be divided into the plurality of sections so that one of points at a boundary between the sections corresponds to the location of the aforementioned lower limit value and another of the points at the boundary corresponds to the location of the upper limit value.
Each point is assigned with a different location value. Each location value is determined according to a ratio between the lower limit value and the upper limit value. The location value has a tendency to increase along a Y axis.
The non-stroke processor 666a finds a location value having a size coinciding with or closest to the average size and selects a point P1 (hereinafter, “a first point”) given the location value. A Y coordinate of the selected first point P1 means the vertical location of the ball 800 on the third straight line L3.
In such a manner, coordinates of a point indicating a vertical location of the ball on the fourth straight line L4 may be calculated, which will be described in detail below.
For example, the non-stroke processor 666a divides the fourth straight line L4 into a plurality of sections based on the location of the lower limit value and the location of the upper limit value. In such an exemplary embodiment, the fourth straight line L4 may be divided into the plurality of sections so that one of points at a boundary between the sections corresponds to the location of the aforementioned lower limit value and another of the points at the boundary corresponds to the location of the upper limit value.
Each point is assigned with a different location value. Each location value is determined according to a ratio between the lower limit value and the upper limit value. The location value has a tendency to increase along a Y axis.
The non-stroke processor 666a finds a location value having a size coinciding with or closest to the average size and selects a point P2 (hereinafter, “a second point”) given the location value. A Y coordinate of the selected second point P2 means the vertical location of the ball 800 on the fourth straight line L4.
The Y coordinate value of the first point P1 and the Y coordinate value of the second point P2 indicating the height of the ball 800 may be substantially the same.
In the case as in an example illustrated in
Next, the non-stroke processor 666a sets a fifth straight line L5 passing through the first point P1 and the second point P2.
Next, the non-stroke processor 666a sets a sixth straight line L6 based on a trajectory of the ball 800 as illustrated in
Subsequently, the non-stroke processor 666a calculates a horizontal location of the ball 800 in the determination area 340 based on coordinates of a point P3 (hereinafter, “a third point”) at which the sixth straight line L6 meets the fifth straight line L5 (505). The coordinates of the third point P3 may be calculated based on an equation of the sixth straight line L6 and an equation of the fifth straight line L5. The XY coordinates of the third point P3 is a location of the ball 800 in the determination area 340.
As illustrated in
First, suppose that the balls in a plurality of continuously photographed images proceed toward the determination area 340 with a trajectory as illustrated in
The non-stroke processor 666a may even predict or estimate a location of the struck ball in the determination area 340 through a ball trajectory before the striking. To this end, the non-stroke processor 666a sets a size of a ball closest to the first straight line L1 as the aforementioned average size. For example, the non-stroke processor 666a may set a diameter of a ball 801 emphasized by a hatched portion in
For a more accurate size calculation, the non-stroke processor 666a may estimate the average size based on a degree of size change of the balls 801, 802 and 803 gradually approaching the first straight line L1 a distance between the first straight line L1 and the ball closest to the first straight line L1. In other words, the non-stroke processor 666a may correct the average size based on the degree of size change of the balls 801, 802 and 803 gradually approaching the first straight line L1 and the distance between the first straight line L1 and the ball closest to the first straight line L1.
For example, in the case where the degree of size change of the balls 801, 802 and 803 gradually increases, the non-stroke processor 666a may increase a correction value for correcting the average size. On the other hand, in the case where the degree of size change of the balls 801, 802 and 803 gradually decreases, the non-stroke processor 666a may reduce the correction value for correcting the average size.
In addition, for example, in the case where the distance between the first straight line L1 and the ball 801 closest to the first straight line L1 is small, the non-stroke processor 666a may reduce the correction value for correcting the average size. On the other hand, in the case where the distance between the first straight line L1 and the ball 801 closest to the first straight line L1 is large, the non-stroke processor 666a may increase the correction value for correcting the average size.
Such a correction operation may be omitted.
Next, as illustrated in
To this end, the non-stroke processor 666a may detect the vertical location of the ball 800 by, for example, comparing the average size with a predetermined reference value. The reference value includes the lower limit value and the upper limit value described above.
A reference number 16 in
As such, the non-stroke processor 666a may compare the average size, the upper limit value and the lower limit value to calculate coordinates of a point indicating the vertical location of the ball 800 on a third straight line L3 based on the comparison result, which will be described in detail below.
For example, the non-stroke processor 666a divides the third straight line L3 into a plurality of sections based on the location of the lower limit value and the location of the upper limit value. In such an exemplary embodiment, the third straight line L3 may be divided into the plurality of sections so that one of points at a boundary between the sections corresponds to the location of the aforementioned lower limit value and another of the points at the boundary corresponds to the location of the upper limit value.
Each point is assigned with a different location value. Each location value is determined according to a ratio between the lower limit value and the upper limit value. The location value has a tendency to increase along a Y axis.
The non-stroke processor 666a finds a location value having a size coinciding with or closest to the average size and selects a point P1 (hereinafter, “a first point”) given the location value. A Y coordinate of the selected first point P1 means the vertical location of the ball 800 on the third straight line L3.
In such a manner, the non-stroke processor 666a may calculate coordinates of a point indicating a vertical location of the ball on a fourth straight line L4, which will be described in detail below.
For example, the non-stroke processor 666a divides the fourth straight line L4 into a plurality of sections based on the location of the lower limit value and the location of the upper limit value. In such an exemplary embodiment, the fourth straight line L4 may be divided into the plurality of sections so that one of points at a boundary between the sections corresponds to the location of the aforementioned lower limit value and another of the points at the boundary corresponds to the location of the upper limit value.
Each point is assigned with a different location value. Each location value is determined according to a ratio between the lower limit value and the upper limit value. The location value has a tendency to increase along a Y axis.
The non-stroke processor 666a finds a location value having a size coinciding with or closest to the average size and selects a point P2 (hereinafter, “a second point”) given the location value. A Y coordinate of the selected second point P2 means the vertical location of the ball 800 on the fourth straight line L4.
The Y coordinate value of the first point P1 and the Y coordinate value of the second point P2 indicating the height of the ball 800 may be substantially the same.
In the case as in an example illustrated in
Next, the non-stroke processor 666a sets a fifth straight line L5 passing through the first point P1 and the second point P2.
Next, the non-stroke processor 666a sets a sixth straight line L6 based on a trajectory of the balls 801, 802 and 803 as illustrated in
Subsequently, the non-stroke processor 666a calculates a horizontal location of the ball in the determination area 340 based on coordinates of a point P3 (hereinafter, “a third point”) at which the sixth straight line L6 meets the fifth straight line L5. The coordinates of the third point P3 may be calculated based on an equation of the sixth straight line L6 and an equation of the fifth straight line L5. The XY coordinates of the third point P3 is a location of the ball in the determination area 340 (506).
As illustrated in
A height of a batter is input to the height input unit 987, and to this end, the height input unit 987 may include a display window 911 and an input means 912.
The input means 912 may be, for example, a keypad. A numerical value input by the input means 912 is displayed on the display window 911.
The non-stroke processor 666a adjusts the upper limit value and the lower limit value based on the height input to the height input unit 987, and sets a height of the strike zone 300 having the adjusted upper and lower limit values. For example, the non-stroke processor 666a may include a lookup table therein. In such an exemplary embodiment, the upper limit value, the lower limit value and the height of the strike zone 300 according to the height may be stored in advance in the lookup table. The non-stroke processor 666a finds an upper limit value, a lower limit value and a height of the strike zone 300 corresponding to the input height from the look-up table and sets the found values as the upper limit value, the lower limit value and the height of the strike zone 300.
As illustrated in
The human body sensor 111 may be positioned on at least one of the first batter's box 221 and the second batter's box 222. The human body sensor 111 irradiates a laser to the first batter's box 221 and the second batter's box 222 to determine the presence or absence of a user (hereinafter, a batter) 633.
The human body sensor 111 may further perform an operation of detecting a height of the batter 633 on the first batter's box 221 or the second batter's box 222. In such an exemplary embodiment, the human body sensor 111 may replace the aforementioned height input unit 987.
The non-stroke processor 666a adjusts the lower limit value, the upper limit value and the height of the strike zone 300 based on the height of the batter 633 detected by the human body sensor 111. In such an exemplary embodiment, the non-stroke processor 666a may include the aforementioned lookup table.
In an exemplary embodiment, the non-stroke processor 666a may further detect a time when the ball 800 is closest to the first straight line L1 and a time when the ball is closest to the second straight line L2. The non-stroke processor 666a may calculate a ball velocity based on the times.
Referring to
The stroke processor 666b detects a location of the ball 888 based on the plurality of images. The stroke processor 666b includes a coordinate converter 667 and a trajectory calculator 668.
The coordinate converter 667 calculates three-dimensional coordinates of the ball based on a ball size determined, from one of the plurality of images, according to coordinates of a reference plane 110 of the maximum projection angle area 431, a size of the ball displayed in the image, XY coordinates of the ball displayed in the image and the maximum projection angle of the photographing unit 430.
The trajectory calculator 667 analyzes the plurality of images and calculates a final location of the ball.
First, a process of the coordinate converter 667 calculating the three-dimensional coordinates of the ball will be described in detail.
The coordinate converter 667 includes a ratio calculator 667a and a coordinate calculator 667b.
The ratio calculator 667a calculates a coordinate conversion ratio by dividing the size of the ball displayed in the image by the size of the ball determined according to the coordinates of the reference plane 110 of the maximum projection angle area 431.
The coordinate calculator 667b divides a value obtained by multiplying the coordinate conversion ratio and a length of one side of the reference plane 110 of the maximum projection angle area 431 by a tangent value according to the maximum projection angle of the photographing unit 430, thus calculating a Z coordinate of the ball. In addition, the coordinate calculator 667b calculates the XY coordinates of the ball by multiplying the coordinate conversion ratio and the XY coordinates of the ball displayed in the image.
Referring to
When located on the reference plane 110, the Z coordinate of the ball is Z1, and when located on the photographing plane 120, the 7 coordinate of the ball is Z2. The maximum projection angle of the photographing unit 430 is 2θ. Since the reference plane 110 is an actual bottom surface, a length t1 of one side of the reference plane 110 may be measured. A length t2 corresponding to a half of one side of the reference plane 110 may also be obtained through the measured length t1 of the one side.
Accordingly, Z1 is defined as the following Equation 1 according to the law of trigonometric function.
Z1=length of one side of a reference plane/2/Tan θ=t2/Tan θ [Equation 1]
In an exemplary embodiment, a size of the balls 880 and 890 in the image photographed by the photographing unit 430 vary depending on the height of actual location. That is, as the balls 880 and 890 are further away from the photographing unit 430, the size of the balls 880 and 890 photographed in the image is reduced. For example, a first image 11 illustrated in
Accordingly, actual heights of the balls 880 and 890, that is, the Z coordinate, may be determined based on the size of the balls 880 and 890 photographed in the image. For example, in the case where the size of the ball in the image is substantially equal to the size of the ball 880 in the first image 11 of
A coordinate conversion ratio=size of a ball displayed in an image/a reference value=size of the ball displayed in the image/size of the ball determined according to coordinates of a reference plane
For example, referring to
Accordingly, when the coordinate conversion ratio is calculated using the size of the ball 880 determined according to the coordinates of the reference plane 11 and the size of the ball 890 displayed in the image and then the coordinate conversion ratio is multiplied by Equation 1, the actual Z coordinate of the ball may be obtained as in the following Equation 2.
Z2=Z1*a coordinate conversion ratio
=T2/tan θ*a coordinate conversion ratio
=T2/tan θ*size of the ball displayed in the image/size of the ball determined according to coordinates of a reference plane
=T2/Tan θ*a diameter of the ball in the image/a diameter of the ball determined according to the coordinates of the reference plane [Equation 2]
As such, the ratio calculator 667a calculates the coordinate conversion ratio based on the ball size determined according to the coordinates of the reference plane 110 of the maximum projection angle area 431 and the size of the ball displayed in the image. Then, the coordinate calculator 667b calculates the Z coordinate Z2 of the ball based on the coordinate conversion ratio, the maximum projection angle of the photographing unit 430, the Z coordinate Z1 of the ball when it is located on the reference plane 110 and the length t1 of one side of the reference plane 110. In an exemplary embodiment, when a bottom surface is set as a reference point O, the Z coordinate of the ball may use Z3.
In an exemplary embodiment, the XY coordinates of the ball 890 may be calculated based on the second image 21. First, a center of the second image 21 is set as the reference point O. According to the set reference point O, the XY coordinates of the ball 890 displayed in the second image 21 is determined with respect to a center of the ball 890. For example, as illustrated in
As such, when the aforementioned coordinate conversion ratio is applied to the XY coordinates of the ball 890 obtained based on the second image 21 as below, actual XY coordinates of the ball 890 may be obtained. The XY coordinates of the ball 890 displayed in the second image 21 are different from the actual XY coordinates of the ball and when the previously obtained coordinate conversion ratio is applied, the actual XY coordinates of the ball 890 displayed in the second image 21 may be obtained.
Actual X coordinate=X*a coordinate conversion ratio=X*size of the ball displayed in the image/size of the ball determined according to the coordinates of the reference plane
Actual Y coordinate=Y*a coordinate conversion ratio=Y*size of the ball displayed in the image/size of the ball determined according to the coordinates of the reference plane
As such, according to an exemplary embodiment, the three-dimensional coordinates of the ball 890 may be more accurately calculated based on the maximum projection angle of the photographing unit 430 and the coordinate conversion ratio. An algorithm for obtaining the three-dimensional coordinates according to an exemplary embodiment is as follows.
Hereinafter, an operation of the trajectory calculator will be described below with reference to
Referring to
In addition, referring to
That is, as described above, the coordinate converter 667 calculates respective three-dimensional coordinates of balls 895, 896, 897 and 898. The trajectory calculator 668 calculates a distance d by which the ball moves for a predetermined period of time based on the calculated three-dimensional coordinates of the balls 895, 896, 897 and 898 and the time difference between each image. Then, the trajectory calculator 668 calculates a velocity of the ball based on the time difference between each image and the moving distance d. In addition, the trajectory calculator 668 determines a result value, such as a foul, an out, a hit, a two-base hit, a three-base hit and a home run, of a struck ball based on the three-dimensional coordinates of the ball and the velocity of the ball.
Referring to
The swing determination unit 644 determines whether or not a swing of a baseball bat 777 has been made based on the image photographed by the photographing unit 430. The image provided from the photographing unit 430 includes a plurality of frame images. The swing determination unit 644 may detect a degree of change in a specific portion of the image based on the plurality of frame images. For example, the swing determination unit 644 detects a batter's box where a batter 608 is positioned based on the degree of change in the image and determines whether or not a swing of the baseball bat 777 has been made based on the detected batter's box and a trajectory of an end portion of the baseball bat 777. To this end, for example, the swing determination unit 644 may binarize each frame image from the photographing unit 430 based on a corresponding photographing illuminance thereof to generate a black-white image, extract a basic contour (e.g., respective contours of the batter 608 and the baseball bat 777) of a subject (e.g., the batter 608 and the baseball bat 777) in the image by scanning the black-white image in the up-and-down direction and the left-and-right direction, determine a center position of the subject from the contour, and determine a location of the subject based on the center position. In addition, the swing determination unit 644 may detect a movement and a moving direction of the subject based on a change of the center position of the subject and from this, the degree of change in the image may be calculated.
The swing determination unit 644 sets the strike zone 300 based on the image photographed by the photographing unit 430. For example, the strike zone 300 may be defined as an area surrounded by four imaginary sides L1, L2, L3 and L4.
A lower side L1 and an upper side L2 face each other and a left side L3 and a right side L4 face each other. The lower side L1 and the upper side L2 may be arranged parallel to each other.
The photographing unit 430 photographs the strike zone 300 from a diagonal direction thereof rather than immediately above the strike zone 300. The strike zone 300 is shaped like a trapezoid to reflect the perspective phenomenon depending on the shooting angle. For example, the strike zone 300 may have a trapezoidal shape as illustrated in
The ball 800 in the image has a larger size as it approaches the photographing unit 430 due to the perspective phenomenon. That is, the size of the ball 800 in the image tells how high the ball 800 is from the ground (or the groove plate 230). In other words, a vertical location of the ball 800 may be determined from the size of the ball 800 in the image.
When a swing of the baseball bat 321 is made by the batter 618, a swing trajectory having a shape of a curve (for example, an arch) as illustrated in
The operation of the swing determination unit 644 will be described in detail based on the image illustrated in
First, the swing determination unit 644 detects a batter's box where the batter 618 is positioned based on the image of
Subsequently, as illustrated in
A length of the first vector V1 is proportional to a distance between the adjacent end portions 322. A direction of the first vector V1 is directed from an end portion 322 that is photographed relatively earlier in time toward an end portion 322 that is photographed later in time. For example, as illustrated in
Next, as illustrated in
Next, the swing determination unit 644 determines whether the number of second vectors V2 that are directed toward the detected batter's box 221 or pass through the detected batter's box 221 among the second vectors V2 is within a first reference range.
Subsequently, the swing determination unit 644 determines whether an average length of the second vectors V2 is within a second reference range. The length of the second vector V2 is related to a velocity of the end portion 322 of the baseball bat, and as the length of the second vector V2 increases, it means the velocity of the end portion 322 is faster.
The swing determination unit 644 determines whether or not a swing of the baseball bat 777 has been made based on the two determinations (524). For example, in the case where the number of second vectors V2 that are directed toward the detected batter's box 221 or pass through the detected batter's box 221 among the second vectors V2 is within the first reference range and the average length of the second vectors V2 is within the second reference range, the swing determination unit 644 determines that a swing of the baseball bat 321 has been made.
On the other hand, in the case where the number of second vectors V2 that are directed toward the detected batter's box 221 or pass through the detected batter's box 221 among the second vectors V2 is out of the first reference range, or the average length of the second vectors V2 is out of the second reference range, the swing determination unit 644 determines that the end portions 322 forming such a trajectory are noise. That is, in such an exemplary embodiment, the swing determination unit 644 determines that a swing of the baseball bat 321 has not been made.
As such, the swing determination unit 644 determines whether or not a swing of the baseball bat 777 has been made based on the trajectory and velocity of the end portions 322.
In an exemplary embodiment, the swing determination unit 644 may further determine lengths of the first vectors V1 to detect a check swing. For example, the swing determination unit 644 may further determine whether a sum of lengths of the first vectors V1 is within a third reference range. In such an exemplary embodiment, in the case where the number of second vectors V2 that are directed toward the detected batter's box 221 or pass through the detected batter's box 221 among the second vectors V2 is within the first reference range, the average length of the second vectors V2 is within the second reference range, and the sum of the lengths of the first vectors V1 is within the third reference range, the swing determination unit 644 determines that a swing of the baseball bat 321 has been made.
The first and second vectors V1 and V2 in
As illustrated in
The sum of the lengths of the first vectors V1 in
In order to substantially minimize the effect of noise, the baseball bat 777 may further include a marking pattern 788, as illustrated in
As illustrated in
As illustrated in
The marking pattern 788 may have a bright color so that the end portion of the baseball bat 777 may be clearly visible when generating the black-white image as descried above. For example, the marking pattern 788 may have a lighter color than a color of the baseball bat 777.
The non-stroke processor may detect the coordinates of the ball in the determination area through the algorithm of
As set forth hereinabove, the baseball game system according to one or more exemplary embodiments may provide the following effects.
First, the baseball game system may accurately determine the location of the ball using a single camera by determining the height of the ball based on the size of the ball.
Second, the baseball game system may accurately determine whether or not the game is a strike by setting the strike zone in a trapezoidal shape in consideration of the photographing angle of the camera.
Third, the baseball game system may even predict the location of a struck ball in the determination area based on the trajectory of the ball before the striking.
Fourth, the baseball game system may determine the location of the ball in the determination area more accurately by correcting the average size based on at least one of the degree of size change of the balls before striking and the size change trend of the balls.
Fifth, the baseball game system may accurately determine the location of the ball by determining the location of the ball in consideration of the maximum projection angle of the camera.
Sixth, the baseball game system may accurately determine whether a swing of a baseball bat has been made in consideration of the position of a batter, the swing trajectory and velocity of the baseball bat, or the like.
Seventh, the baseball game system may determine whether a swing of the baseball bat has been made more accurately by determining whether a check swing has been made based on the length of the swing trajectory.
Eighth, the baseball game system may detect the trajectory of the baseball bat more accurately by using the baseball bat including a marking pattern.
While the present invention has been illustrated and described with reference to the exemplary embodiments thereof, it will be apparent to those of ordinary skill in the art that various changes in form and detail may be made thereto without departing from the spirit and scope of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
10-2016-0074300 | Jun 2016 | KR | national |