Method and apparatus for calculating ball rotation using cumulative difference images
By generating a cumulative difference image from sequential images of the ball and using an artificial neural network to calculate the ball's rotation, the accuracy and cost issues of ball rotation measurement in existing technologies are solved, achieving efficient measurement without the need for pre-defined patterns or markings.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- KAKAO VX CO LTD
- Filing Date
- 2024-11-13
- Publication Date
- 2026-07-10
Smart Images

Figure CN122374653A_ABST
Abstract
Description
Technical Field
[0001] This disclosure relates to a method and apparatus for calculating the rotation of a ball using a cumulative difference image, and more specifically, to a method and apparatus for calculating the rotation of a moving ball using a cumulative difference image of the ball. Background Technology
[0002] In sports involving balls (such as baseball, golf, and basketball), the physical properties of a moving ball are accurately measured, and these measurements are used to calculate the ball's trajectory or to display the calculated trajectory as an image on a simulation device. In particular, in the field of screen golf, a method is used where the physical properties of a golf ball struck by a user are sensed, the trajectory of the ball is calculated using this sensed data, and the result is displayed on a screen.
[0003] To accurately calculate a ball's trajectory, the physical properties of the moving ball must be precisely measured. These properties include not only ball velocity, acceleration, launch angle, and azimuth angle, but also spin. Especially in golf, ball spin is a crucial factor determining the ball's movement, influencing its flight shape and trajectory, and therefore must be accurately measured. However, compared to other physical properties, ball spin is an inherent motion of the moving ball itself, making it difficult to measure with simple sensors or cameras. Accurate measurement of ball spin requires expensive instruments or complex calculations.
[0004] Traditional methods for measuring ball spin include: (i) methods that predict spin based on other physical properties and information about the ball; (ii) methods that use specialized sensors such as Doppler radar sensors; and (iii) methods that analyze multiple images obtained using a high-speed camera (or ultra-high-speed camera). For example, in the field of golf simulation, methods have been used where the spin of the golf ball is estimated using basic information about the ball (such as ball velocity, launch angle, and azimuth angle) and information about the golf club (e.g., club path). As another example, in traditional methods of measuring ball spin using a high-speed camera, a predetermined pattern or marking is applied to the ball beforehand, and changes in the pattern or marking indicated on the ball are analyzed from images obtained from the high-speed camera.
[0005] However, traditional methods for estimating the ball's rotation from other physical properties and information about the ball suffer from significant errors compared to the actual values. Furthermore, methods using specialized sensors require additional, expensive sensors, while traditional methods using high-speed cameras are limited in that accurate measurements are only possible when using a ball with a predetermined pattern or marking. Moreover, when the markings or pattern are not predetermined, an additional process is required to extract the markings or pattern from the ball before rotation measurement.
[0006] Ultimately, there is a need for a method and apparatus for measuring ball rotation that does not require a separate sensor, can be used even if the ball does not have a predetermined pattern or mark, and does not require separate extraction of the ball's marks and patterns. However, according to the prior art, there is a problem that such a method and apparatus cannot be provided, and this disclosure is intended to solve this problem.
[0007] Detailed description
[0008] Technical goals
[0009] One embodiment of this disclosure is used to accurately measure the rotation of a ball.
[0010] Furthermore, the objective of this disclosure is to measure the rotation of a ball even when there are no predetermined patterns or markings on the ball.
[0011] Furthermore, another objective of this disclosure is to accurately measure the rotation of a ball without extracting the ball's pattern or markings separately.
[0012] Furthermore, another objective of this disclosure is to accurately calculate the rotation of a ball by accumulating the differences between successive images of the ball.
[0013] Furthermore, another objective of this disclosure is to calculate the rotation of a sphere using a cumulative difference image.
[0014] Furthermore, another objective of this disclosure is to calculate the rotation of a ball using an artificial neural network.
[0015] The objectives of this disclosure are not limited to those described above. Other objectives and advantages of the invention not mentioned herein may be understood from the following description and will become clearer from the embodiments of this disclosure. Furthermore, it will be apparent that the objectives and advantages of the invention can be achieved by the means and combinations described in the claims.
[0016] means for solving technical objectives
[0017] This disclosure provides a method and apparatus for calculating the rotation of a sphere using a cumulative difference image.
[0018] One embodiment of this disclosure provides a method for calculating the rotation of a ball performed on a computing device. The method may include the following steps: acquiring sequential images of a moving ball; extracting a portion corresponding to the ball from each image in the sequential images as a target image; generating a cumulative difference image by accumulating the difference images of the target images; and calculating the rotation direction and rotation rate of the moving ball based on the cumulative difference image.
[0019] In one embodiment, a difference image can be obtained by subtracting two sequential target images.
[0020] In one embodiment, a difference image can be obtained by subtracting the value corresponding to each pixel of one target image from the value corresponding to each pixel of another target image.
[0021] In one embodiment, the direction of rotation of the moving ball can be represented by the ball's axis of rotation vector, and the rotation rate can be represented by the number of revolutions per minute of the ball.
[0022] In one embodiment, the step of calculating the rotation direction and rotation rate of a moving ball based on the cumulative difference image can be performed by an artificial neural network using machine learning.
[0023] In one embodiment, the cumulative difference image may include two or more cumulative difference images.
[0024] In one embodiment, the step of acquiring sequential images of a moving ball can be performed by two or more camera devices.
[0025] In one embodiment, the center coordinates of the sphere image can be located at the center of the target image.
[0026] In one embodiment, the target image can be normalized so that the size of the sphere image is uniform.
[0027] In one embodiment, the target image can be normalized so that the brightness of the sphere image is uniform.
[0028] One embodiment of this disclosure provides an apparatus for calculating the rotation of a ball. The apparatus may include: a sensor unit configured to acquire sequential images of a moving ball; a target image extraction unit configured to extract a portion corresponding to the ball from each image in the sequential images as a target image; an image accumulation unit configured to generate a cumulative difference image by accumulating difference images of the target images; and a rotation calculation unit configured to calculate the rotation direction and rotation rate of the moving ball based on the cumulative difference image.
[0029] In one embodiment, the image accumulation unit can obtain a difference image by subtracting two sequential target images.
[0030] In one embodiment, the image accumulation unit can obtain a difference image by subtracting the value corresponding to each pixel of a target image from the value corresponding to each pixel of another target image.
[0031] In one embodiment, the direction of rotation of the moving ball can be represented by the ball's axis of rotation vector, and the rotation rate can be represented by the number of revolutions per minute of the ball.
[0032] In one embodiment, the rotation calculation unit may include an artificial neural network for machine learning, and the artificial neural network may receive a cumulative difference image as input and output the rotation direction and rotation rate of the moving ball.
[0033] In one embodiment, the cumulative difference image may include two or more cumulative difference images.
[0034] In one embodiment, the sensor unit may include two or more camera devices.
[0035] In one embodiment, the target image extraction unit can extract the target image such that the center coordinates of the sphere image are located at the center of the target image.
[0036] In one embodiment, the device may further include an image preprocessing unit, which can normalize the target image to make the size of the sphere image uniform.
[0037] In one embodiment, the device may further include an image preprocessing unit, which can normalize the target image to make the brightness of the sphere image uniform.
[0038] One embodiment of this disclosure includes a program stored on a recording medium for performing methods of embodiments of this disclosure on a computer.
[0039] One embodiment of this disclosure includes a computer-readable recording medium having a program recorded thereon for performing methods of embodiments of this disclosure on a computer.
[0040] One embodiment of this disclosure includes a computer-readable recording medium in which a database used in embodiments of this disclosure is recorded.
[0041] Beneficial effects
[0042] The method and apparatus according to this disclosure have the effect of accurately measuring the rotation of a ball.
[0043] Furthermore, according to this disclosure, it is possible to measure the rotation of a ball even if the ball does not have a predetermined pattern or marking.
[0044] Furthermore, according to this disclosure, there is an effect of accurately measuring the rotation of a ball without separately extracting the pattern or markings on the ball.
[0045] Furthermore, according to this disclosure, there is an effect of calculating the accurate rotation of a ball by accumulating the differences between sequential ball images.
[0046] Furthermore, according to this disclosure, there is an effect of using cumulative difference images to calculate the rotation of a sphere.
[0047] Furthermore, according to this disclosure, there is an effect of using an artificial neural network to calculate the rotation of the ball.
[0048] In addition to the foregoing, the specific effects of this disclosure are described in detail while explaining the specific matters of implementing this disclosure. Attached Figure Description
[0049] Figure 1 This is a conceptual diagram illustrating the configuration of a device for calculating ball rotation according to an embodiment of the present disclosure.
[0050] Figure 2 This is an example diagram illustrating the direction of the ball's rotation (axis of rotation) and its rotation rate.
[0051] Figure 3 This is a conceptual diagram illustrating the configuration of a sensor unit according to an embodiment of the present disclosure.
[0052] Figure 4 This is a conceptual diagram illustrating the configuration of an image processing unit according to an embodiment of the present disclosure.
[0053] Figures 5a to 5d This is an example diagram illustrating the process of acquiring a cumulative difference image from a target image.
[0054] Figure 6 This is a conceptual diagram illustrating an embodiment of a rotation calculation unit for calculating the rotation of a sphere from a cumulative difference image.
[0055] Figure 7 This is a block diagram of a ball rotation calculation device according to an embodiment of the present disclosure. Detailed Implementation
[0056] To clearly illustrate the technical concepts of this disclosure, embodiments of the disclosure will be described in detail with reference to the accompanying drawings. In describing this disclosure, detailed descriptions of well-known functions or components may be omitted when it is determined that such descriptions may unnecessarily obscure the essential points of the disclosure. For components having substantially the same configuration in the drawings, the same reference numerals and symbols are assigned as much as possible, even if they are shown in different figures. For ease of description, the apparatus and method may be described together where necessary. Each operation of this disclosure does not necessarily have to be performed in the stated order, but may be performed in parallel, selectively, or individually.
[0057] In consideration of the functionality of this disclosure, the terminology used in the embodiments of this disclosure has been selected to be as general as possible in current common use cases, but may vary depending on the intent of those skilled in the art, precedents, or the emergence of new technologies. Furthermore, in specific circumstances, terms of arbitrary choice by the applicant may be used, in which case the meaning of the term will be clearly described in the corresponding description of the embodiments. Therefore, the terminology used in this specification should not be interpreted solely based on the name of the term, but should be defined based on the meaning of the term and the overall content of this disclosure.
[0058] Throughout this disclosure, singular expressions may include plural expressions unless the context clearly indicates otherwise. Terms such as “comprising” or “having” are intended to indicate the presence of features, quantities, steps, operations, components, parts, or combinations thereof, but do not preclude the possibility of the presence or addition of one or more other features, quantities, steps, operations, components, parts, or combinations thereof. That is, throughout this disclosure, when a part “comprising” a component, it means that, unless specifically stated otherwise, it does not exclude other components but may further include other components.
[0059] Expressions such as “at least one of…” modify the entire list of components, rather than modifying individual components in the list. For example, “at least one of A, B, and C” and “at least one of A, B, or C” refer to A alone, B alone, C alone, both A and B, both B and C, both A and C, all of A, B, and C, or combinations thereof.
[0060] Furthermore, terms such as “…unit” or “…module” described in this disclosure refer to a unit that processes at least one function or operation and can be implemented in hardware, software or a combination of hardware and software.
[0061] Throughout this disclosure, when a part is “connected” to another part, this includes not only a “direct connection” but also an “electrical connection” via another element inserted therebetween. Furthermore, when a part “comprises” a component, unless specifically described to the contrary, this means that it may include other components besides the particular component, and does not exclude other components.
[0062] Depending on the specific context, the expression "configured as" as used in this disclosure may be used interchangeably with expressions such as "suitable for," "capable of," "designed for," "suitable for," "manufactured for," or "capable of." The term "configured as" does not necessarily mean that it is "specifically designed for" in terms of hardware. Rather, in some cases, the term "system configured as" can mean that the system, in combination with other devices or components, is "capable of." For example, the phrase "processor configured (or set) to perform A, B, and C" can refer to a dedicated processor (e.g., an embedded processor) for performing the relevant operations, or a general-purpose processor (e.g., a CPU or application processor) capable of performing operations by executing one or more software programs stored in memory.
[0063] Throughout this disclosure, terms including ordinal numbers such as "first" and "second" may be used to describe various components, but these components are not limited by these terms. These terms are used only to distinguish one component from another. For example, without departing from the scope of this disclosure, a first component may be referred to as a second component, and similarly, a second component may be referred to as a first component. The term "and / or" includes a combination of multiple related items or any one of multiple related items.
[0064] This disclosure relates to a method and apparatus for calculating the rotation of a ball using a cumulative difference image, and more specifically, to a method and apparatus for calculating the rotation of a moving ball using a cumulative difference image of the ball.
[0065] Figure 1 This is a conceptual diagram illustrating the configuration of a device for calculating ball rotation according to an embodiment of the present disclosure.
[0066] An apparatus for calculating the rotation of a ball according to an embodiment of the present disclosure may include a sensor unit (100), an image processing unit (200), and a rotation calculation unit (300). In one embodiment, the sensor unit (100), the image processing unit (200), and the rotation calculation unit (300) may be implemented as a single device (not shown). In one embodiment, the image processing unit (200) and the rotation calculation unit (300) may be implemented as a single computing device (10). In other embodiments, the image processing unit (200) and the rotation calculation unit (300) may be implemented using multiple computing devices.
[0067] The sensor unit (100) is an apparatus for acquiring images of a moving ball. In one embodiment, the sensor unit (100) may be a high-speed camera device capable of acquiring images of a moving ball and may include one or more cameras. For example, the sensor unit (100) may be configured as a stereo camera operating in a stereo manner, including two or more cameras. As another example, the sensor unit (100) may be configured as a 3D camera capable of recognizing a two-dimensional image of the ball as three-dimensional coordinates. In this disclosure, for ease of description, the sensor unit (100) is described as a camera device; however, this is not limited thereto, and any technical means capable of acquiring images of a ball may be used.
[0068] The image processing unit (200) is an apparatus for processing images of a ball acquired by the sensor unit (100) to calculate the rotation of the ball. In one embodiment, the image processing unit (200) can input a cumulative difference image generated by accumulating differential images of sequential images of the ball in the same coordinate system to the rotation calculation unit (300). For example, the image processing unit (200) can accumulate differential images of sequential images of a moving ball captured by the sensor unit (100) in the same coordinate system to generate an image representing the changes caused by the rotation of the ball, and can provide the generated image to the rotation calculation unit (300).
[0069] The rotation calculation unit (300) can receive a cumulative difference image of a moving ball from the image processing unit (200) and can calculate the ball's rotation direction and rotation rate. In one embodiment, the rotation calculation unit (300) can receive a cumulative difference image of a moving ball and can output the ball's rotation axis and rotation rate. (See reference) Figure 2 The rotation calculation unit (300) can calculate the vector value (v) representing the direction of the rotation axis of the ball and the scalar value (u) representing the rotation rate of the ball, as the number of revolutions per unit time (e.g., RPM).
[0070] In one embodiment, the rotation calculation unit (300) can be configured as a neural network trained by machine learning to determine the rotation direction and rotation rate of the ball based on the cumulative difference image. Therefore, when the cumulative difference image is input into the neural network, the rotation direction and rotation rate of the ball corresponding to the input image can be output. For example, the rotation calculation unit (300) can be implemented based on AI deep learning technology, and when it receives the cumulative difference image as input, it can output (v, u). Here, v is a vector value representing the direction of the ball's rotation axis, and u is a scalar value (u) representing the ball's rotation rate in revolutions per unit time (e.g., RPM).
[0071] Figure 3This is a conceptual diagram illustrating the configuration of a sensor unit according to an embodiment of the present disclosure.
[0072] According to one embodiment of this disclosure, the sensor unit (100) may include one or more cameras (110) and may acquire multiple images of a moving ball. In one embodiment, by using a high-speed camera (110), an image of the moving ball at each shooting point can be acquired as the ball moves within the field of view of the high-speed camera (100). For example, when the high-speed camera (110) operates at 3800 FPS (frames per second), an image is stored every 1 / 3800 second, thus multiple sequential images of the moving ball can be acquired as the ball moves within the camera's field of view.
[0073] refer to Figure 3 The sensor unit (100) can be implemented as a three-dimensional camera operating in a stereoscopic manner, including two cameras (110), and can calculate the three-dimensional coordinates of the moving ball to measure the direction and velocity of the ball.
[0074] Figure 4 This is a conceptual diagram illustrating the configuration of an image processing unit according to an embodiment of the present disclosure.
[0075] According to one embodiment of the present disclosure, the image processing unit (200) may include a target image extraction unit (210) and an image accumulation unit (230).
[0076] In one embodiment, the target image extraction unit (210) is an apparatus for extracting a target image from each of a plurality of original images acquired by the sensor unit (100), the target image being an image of a sphere. For example, the target image extraction unit (210) can identify the image of a sphere from the original images and can extract a predetermined region as a region of interest from the center coordinates of the sphere to generate the target image. In one embodiment, the target image extraction unit (210) can generate a target image such that the center coordinates of the sphere correspond to the center of the target image.
[0077] In one embodiment, the image accumulation unit (230) can generate a cumulative difference image by accumulating the difference images of the target images extracted by the target image extraction unit (210). In another embodiment, the image accumulation unit (230) can generate a cumulative difference image by accumulating the difference between two sequential target images of a moving ball. For example, the image accumulation unit (230) can obtain the difference between two sequential target images as a difference image, and can accumulate the difference images into a single image to generate a cumulative difference image. Here, the difference image between the two target images can be obtained by calculating the difference between the numerical values corresponding to the pixels constituting the two target images.
[0078] In one embodiment, the cumulative difference image generated by the image accumulation unit (230) can represent the cumulative changes of patterns, markings, etc., on the surface of a ball. In one embodiment, the patterns or markings on the ball may not be predetermined, or may be irregular. However, this disclosure is not limited thereto, and an embodiment of this disclosure may also be applied when predetermined or regular patterns or markings are used. In one embodiment, when there are no specific patterns or markings on the surface of the ball, the shape of the ball itself can be used. For example, when no specific patterns or markings are displayed on a golf ball, the changes in the dimples on the surface of the golf ball can be generated as a cumulative difference image.
[0079] According to one embodiment of the present disclosure, the image processing unit (200) may further include an image preprocessing unit (220).
[0080] In one embodiment, the image preprocessing unit (220) may be an apparatus for preprocessing a target image before differential and cumulative target images. In one embodiment, the image preprocessing unit (220) may normalize the target image. For example, the size of a ball captured in the target image may vary depending on the distance of the moving ball from the camera. Since the target image corresponds to an image of the same ball, the target image can be normalized so that the size of the ball included in the target image is uniform before differential and cumulative target images. Furthermore, the brightness of the target image may vary wholly or partially depending on the influence of ambient lighting due to the position of the ball. Therefore, the target image can be normalized by adjusting the brightness of the target image before differential and cumulative target images.
[0081] In one embodiment, the image preprocessing unit (220) can remove background or various noise components from the target image in advance. For example, the image preprocessing unit (220) can compare the target image with a reference image that includes only the background and excludes the sphere to remove the background component in advance. For example, the image preprocessing unit (220) can use a noise filter to identify and remove noise components from the target image in advance.
[0082] In the above embodiments, the image preprocessing unit (220) is described as preprocessing the target image, but this is not limited to this. For example, the image preprocessing unit (220) can be used as a device for preprocessing multiple raw images acquired by the sensor unit (100). Furthermore, the function of the image preprocessing unit (220) described in the above embodiments may not be implemented as a separate image preprocessing unit (220), but may be implemented as the function of the target image extraction module (210) and directly applied during the extraction of the target image. For example, the target image extraction unit (210) can acquire the target image by normalizing the size and brightness of the sphere image during the extraction of the sphere image.
[0083] Figures 5a to 5d This is an example diagram illustrating the process of acquiring a cumulative difference image from a target image.
[0084] exist Figures 5a to 5d In the image (1) to (20), the images are target images obtained by sequentially capturing images of a moving ball, and the images (A) to (T) show cumulative difference images generated by sequentially accumulating the differences between two consecutive target images.
[0085] According to one embodiment of this disclosure, the image processing unit (200) can generate a cumulative difference image from a target image for calculating the rotation direction and rotation rate of the ball. (See reference...) Figure 5a The image processing unit (200) can calculate the difference between image (2) and image (1), and can accumulate and store the calculated difference in a cumulative difference image. For example, when subtracting the value corresponding to each pixel of image (2) from the value corresponding to each pixel of image (1), the same pixel produces '0', and only the pixel corresponding to the difference between image (2) and image (1) has a non-zero value. For example, when comparing... Figure 4 In images (1) and (2), the background and the golf ball are almost identical, and only the marking changes due to rotation are considered the main differences. Image (B) represents the difference between image (1) and image (2), showing the marking changes. Therefore, the difference image as the difference between image (2) and image (1) can be stored as image (B).
[0086] According to one embodiment, the image processing unit (200) can also calculate the difference between image (3) and image (2), and accumulate and store the calculated difference in a cumulative difference image. That is, the difference between image (3) and image (2) can be calculated and added to image (B) to store image (C). For example, when the value corresponding to each pixel of image (3) is subtracted from the value corresponding to each pixel of image (2), the same pixel produces '0', and only the pixel corresponding to the difference between image (3) and image (2) has a non-zero value. When these results are added to image (B) pixel by pixel, a cumulative difference image such as image (C) can be obtained and stored. Therefore, image (C) can represent the difference image between image (2) and image (1) and the accumulation of the difference image between image (3) and image (2).
[0087] According to one embodiment, the image processing unit (200) may repeatedly perform the process to calculate the difference images of the target images (1) to (20) and sequentially accumulate the difference images to generate accumulated difference images (B) to (T).
[0088] Figure 6 This is a conceptual diagram illustrating an embodiment of a rotation calculation unit for calculating the rotation of a sphere from a cumulative difference image.
[0089] According to embodiments of this disclosure, the rotation calculation unit (300) can receive at least one cumulative difference image from the image processing unit (200) and can calculate the rotation of the ball. According to one embodiment, the rotation calculation unit (300) can receive at least one cumulative difference image and can output the rotation direction and rotation rate of the moving ball detected by the sensor unit (100). For example, the rotation calculation unit (300) can receive the cumulative difference image and can output (v, u). Here, v is a vector value representing the direction of the rotation axis of the ball, and u is a scalar value representing the rotation rate of the ball, as revolutions per unit time (e.g., RPM).
[0090] In one embodiment, the rotation calculation unit (300) can receive at least one accumulated difference image generated from sequentially captured target images of a moving ball by accumulating difference images of target images captured at predetermined time intervals over a predetermined time period. For example, an image (J) can be selected as input, which is generated by accumulating... Figure 4 The cumulative difference image is generated by the difference images of images (1) to (10) in the image. As another example, an image (T) can be selected as input, which is generated by the cumulative difference image. Figure 4 The cumulative difference image is generated by the difference images of images (1) to (20) in the image. As another example, it is possible to select the cumulative difference image generated by the difference images of images (1) to (20). Figure 4 The cumulative difference image (not shown) generated from the difference images of images (1), (3), (5), ... and (19) in the image is used as input.
[0091] In one embodiment, the rotation calculation unit (300) can calculate the rotation of the ball by receiving multiple cumulative difference images from a series of cumulative difference images obtained by accumulating difference images of target images captured sequentially of the moving ball. For example, one could choose... Figures 5a to 5d The images (E), (J), (O) and (T) are used as input.
[0092] According to one embodiment, the rotation calculation unit (300) may include an artificial neural network (350) capable of machine learning. The artificial neural network (350) of the rotation calculation unit (300) can be trained with training data, where a cumulative difference image is the input and the rotation direction and rotation rate of the ball are the outputs. The artificial neural network (350) can be trained by inputting a cumulative difference image of the training data to output the previously known rotation direction and rotation rate of the ball. While the training of the artificial neural network (350) has been described above with reference to supervised learning as an example, this is not a limitation; unsupervised learning, semi-supervised learning, or reinforcement learning can be used individually or in combination. Furthermore, for machine learning, methods such as gradient descent, regression methods, probabilistic methods, geometric methods, or ensemble-based methods can be used, but this is not a limitation.
[0093] According to one embodiment, the artificial neural network (350) of the rotation calculation unit (300) can be configured as a convolutional neural network, a recurrent neural network, or a deep neural network. However, this is not limited to these examples, and any type of artificial neural network can be used as long as it is able to infer the rotation direction and rotation rate of the ball by receiving the accumulated difference image as input.
[0094] Figure 7 This is a block diagram of a ball rotation calculation device according to an embodiment of the present disclosure.
[0095] refer to Figure 7 The ball rotation computing device (700) may include a transceiver unit (710), a memory (720), and a processor (730). Furthermore, the processor (730) may be implemented as a software module. However, not all... Figure 7 All components shown are necessary components of the sphere rotation computing device (700). The sphere rotation computing device (700) can be used in a way that... Figure 7 More components can be used to implement it, or more can be used than Figure 7 Fewer components are required for implementation. Furthermore, the transceiver unit (710), memory (720), and processor (730) can be implemented as a single chip.
[0096] In one embodiment, the transceiver unit (710) can communicate with a terminal, server, or other electronic device connected to the ball rotation computing device (700) via a wired or wireless connection. For example, the transceiver unit (710) can receive an image of a moving ball from a sensor unit and can transmit the rotation direction and rotation rate of the moving ball to another server.
[0097] Various types of data, such as programs or files, such as applications, can be installed and stored in memory (720). The processor (730) can access and use the data stored in memory (720), or can store new data in memory (720).
[0098] The processor (730) controls the overall operation of the ball-rotating computing device (700) and may include at least one processor, such as a CPU or GPU. The processor (730) may control other components included in the ball-rotating computing device (700) to perform operations required to operate the ball-rotating computing device (700). For example, the processor (730) may execute programs stored in memory (720), read stored files, or store new files. In one embodiment, the processor (730) may perform operations to operate the ball-rotating computing device (700) by executing programs stored in memory (720).
[0099] Embodiments of this disclosure can also be implemented in the form of a recording medium containing computer-executable instructions, such as a computer-executable programming module. A computer-readable medium can be any available medium accessible to a computer, including volatile and non-volatile media, removable and non-removable media. Furthermore, a computer-readable medium can include computer-readable storage media and communication media. A computer-readable storage medium can include all volatile and non-volatile, removable and non-removable media implemented using any method or technology for storing information (such as computer-readable instructions, data structures, program modules, or other data), and a communication medium can generally include computer-readable instructions, data structures, or program modules, and can include any information transmission medium.
[0100] The description in this disclosure is for illustrative purposes only, and those skilled in the art to which this disclosure pertains will understand that the technical concepts and essential features of the invention can be easily modified in other specific forms without altering them. Therefore, the above embodiments should be understood as illustrative and are not intended to limit the scope in any way. For example, each component described as a single unit may be implemented in a distributed manner; similarly, components described as distributed may be implemented in a combined manner.
[0101] The scope of this disclosure is defined by the claims set forth below rather than by the foregoing detailed description, and all modifications or variations derived from the meaning, scope and equivalent concepts of the claims shall be construed as falling within the scope of this disclosure.
[0102] Description of reference number
[0103] 10: Computing devices
[0104] 20: Ball
[0105] 100: Sensor Unit
[0106] 110: High-speed camera
[0107] 200: Image Processing Unit
[0108] 210: Target Image Extraction Unit
[0109] 220: Image preprocessing unit
[0110] 230: Image accumulation unit
[0111] 300: Rotation Calculation Unit
[0112] 350: Artificial Neural Networks
Claims
1. A method for calculating the spin of a ball, comprising: Get the sequence image of the moving balls; Extract the portion corresponding to the sphere from each image in the sequential images as the target image; A cumulative difference image is generated by accumulating the difference images of the target image; as well as The rotation direction and rotation rate of the moving ball are calculated based on the cumulative difference image.
2. The method for calculating ball rotation according to claim 1, in, The difference image is obtained by subtracting two sequential target images.
3. The method for calculating ball rotation according to claim 2, in, The difference image is obtained by subtracting the value corresponding to each pixel of one target image from the value corresponding to each pixel of another target image.
4. The method for calculating ball rotation according to claim 1, in, The direction of rotation of the moving ball is represented by the rotation axis vector of the ball, and the rotation rate is represented by the number of revolutions per minute of the ball.
5. The method for calculating ball rotation according to claim 1, in, The steps of calculating the rotation direction and rotation rate of the moving ball based on the cumulative difference image are performed by an artificial neural network for machine learning.
6. The method for calculating ball rotation according to claim 1, in, The cumulative difference image includes two or more cumulative difference images.
7. The method for calculating ball rotation according to claim 1, in, The step of acquiring sequential images of the moving ball is performed by two or more camera devices.
8. The method for calculating ball rotation according to claim 1, in, The center coordinates of the sphere image are located at the center of the target image.
9. The method for calculating ball rotation according to claim 1, in, The target image is normalized so that the size of the sphere image is uniform.
10. The method for calculating ball rotation according to claim 1, in, The target image is normalized so that the brightness of the sphere image is uniform.
11. An apparatus for calculating the spin of a ball, comprising: A sensor unit configured to acquire sequential images of a moving ball; A target image extraction unit is configured to extract the portion corresponding to the sphere from each image in the sequential images as a target image; An image accumulation unit is configured to generate an accumulated difference image by accumulating the difference images of the target image; and A rotation calculation unit is configured to calculate the rotation direction and rotation rate of the moving ball based on the accumulated difference image.
12. The apparatus for calculating the rotation of a ball according to claim 11, in, The image accumulation unit obtains the difference image by subtracting two sequential target images.
13. The apparatus for calculating the rotation of a ball according to claim 12, in, The image accumulation unit obtains the difference image by subtracting the value corresponding to each pixel of one target image from the value corresponding to each pixel of another target image.
14. The apparatus for calculating the rotation of a ball according to claim 11, in, The direction of rotation of the moving ball is represented by the rotation axis vector of the ball, and the rotation rate is represented by the number of revolutions per minute of the ball.
15. The apparatus for calculating the rotation of a ball according to claim 11, in, The rotation calculation unit includes a machine learning artificial neural network configured to output the rotation direction and rotation rate of the moving ball based on a cumulative difference image input.
16. The apparatus for calculating the rotation of a ball according to claim 11, in, The cumulative difference image includes two or more difference images.
17. The apparatus for calculating the rotation of a ball according to claim 11, in, The sensor unit includes two or more camera devices.
18. The apparatus for calculating the rotation of a ball according to claim 11, in, The target image extraction unit extracts the target image such that the center coordinates of the sphere image are located at the center of the target image.
19. The apparatus for calculating the spin of a ball according to claim 11, further comprising: Image preprocessing unit The image preprocessing unit normalizes the target image to make the size of the sphere image uniform.
20. The apparatus for calculating the spin of a ball according to claim 11, further comprising: Image preprocessing unit The image preprocessing unit normalizes the target image to ensure that the brightness of the sphere image is uniform.
21. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to perform the method according to claim 1.