Generating system of club exercise data based on integral marker and operation method thereof
Patent Information
- Application Number
- KR1020230121975
- Authority / Receiving Office
- KR · KR
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2023-09-13
- Publication Date
- 2026-09-15
- Estimated Expiration
- 2043-09-13
Smart Images

Figure 112023101499430-PAT00007_ABST
Abstract
Description
Technology Field
[0001] The technical concept of the present disclosure relates to a system for generating club exercise data based on an integrated marker and a method of operating the same. Background Technology
[0002] Conventional virtual golf systems, which are widely available to allow golfers to enjoy golf at a low cost, measure physical quantities related to the golf club based on the trajectory of the golf club relative to the ball when the golfer hits the ball, and can provide simulation results to the golfer.
[0003] These conventional virtual golf systems focus on generating simulation results based on ball launch data (ball speed, ball launch angle, ball launch direction, ball spin rate). In other words, while conventional virtual golf systems focus on providing simulation results based on the golfer's act of hitting the ball, there is an increasing demand for club data generated during the golf swing in addition to ball launch data in recent virtual golf systems.
[0004] In particular, in overseas markets, the inclusion of club data functions in golf simulators is considered important for golf instruction and education, in addition to screen golf games.
[0005] Conventional virtual golf systems could measure the physical quantities of a club by attaching at least two markers to the club face to acquire club data. In other words, conventional virtual golf systems had to track at least two areas to acquire parameters for calculating club data, and there was a problem in that accurate club data could not be acquired if any one of the markers fell off. means of solving the problem
[0006] According to an embodiment of the present disclosure, a club motion data generation system may include a plurality of surfaces including a first surface and a second surface of a club head, an integrated marker connected to a first area attached to the first surface and a second area attached to the second surface, and a computing device that outputs motion data of the club head based on the integrated marker from an image of the club head.
[0007] According to one embodiment, the first region and the second region may be distinguished by an edge where the first surface and the second surface of the club head meet, and at least one of the first region and the second region may be formed in a shape that narrows toward the edge.
[0008] According to one embodiment, the first surface is a club face surface, and the first area of the integrated marker may be attached to the toe area of the club face surface.
[0009] According to one embodiment, the computing device can produce an image template using camera calibration data capable of projecting the integrated marker into a two-dimensional image and a predetermined value of the integrated marker.
[0010] According to one embodiment, the computing device may be characterized by identifying the integrated marker in a two-dimensional image by matching the imaging template with the image in which the integrated marker is captured.
[0011] According to one embodiment, the computing device can identify the integrated marker from multiple images taken at the same time by multiple cameras taking pictures in different directions, and convert the two-dimensional coordinates of the identified integrated marker into three-dimensional coordinates based on triangulation.
[0012] According to one embodiment, the computing device can generate three-dimensional vertex coordinates including the intersection coordinates of the first region and the second region of the integrated marker.
[0013] According to one embodiment, the computing device may be characterized by calculating normal vectors corresponding to each of the first region and the second region based on the three-dimensional vertex coordinates.
[0014] According to one embodiment, the computing device may be characterized by calculating the movement speed and direction of the club as club motion data based on normal vectors calculated at a plurality of points in correspondence with at least one of the first region and the second region.
[0015] According to one embodiment, the computing device may be characterized by obtaining vertex coordinates of a first direction integrated marker from an image of the club head captured by a first camera, generating a pair of vertex coordinates by obtaining vertex coordinates of a second direction integrated marker from an image of the club head captured by a second camera in a direction different from the first camera, and obtaining three-dimensional coordinates of the integrated marker based on the pair of vertex coordinates.
[0016] A method for generating motion data of a club based on an integral marker attached to a club head according to an embodiment of the present disclosure may include the step of detecting an integral marker attached to the club head from an image capturing the club head, and the step of outputting motion data of the club head based on the detected integral marker.
[0017] A computing device according to an embodiment of the present disclosure may include an input unit that outputs an image of a club head, and a processor that outputs motion data of the club head by identifying, from the image, an integrated marker attached to a plurality of surfaces including a first surface and a second surface of the club head, wherein a first area attached to the first surface and a second area attached to the second surface are connected to each other. Effects of the invention
[0018] A club exercise data generation system according to the technical concept of the present disclosure can generate club exercise data with only a small number of markers by utilizing an integrated marker, and can improve customer satisfaction by minimizing parts that may act as hindering factors during a swing.
[0019] In addition, since an integrated marker can be attached across multiple surfaces of the club head, it can be used with both ceiling-mounted and floor-mounted golf simulators with different camera placements, thereby improving the compatibility of the golf simulator. Brief explanation of the drawing
[0020] FIG. 1 is a block diagram illustrating the configuration of a computing device according to an embodiment of the present disclosure. FIG. 2 is a block diagram illustrating the configuration of a processor according to one embodiment. FIG. 3 is a drawing illustrating an embodiment in which an integrated marker is attached across multiple surfaces according to one embodiment. FIG. 4 is a drawing illustrating the shape of an integrated marker according to a plurality of embodiments. FIG. 5 is a flowchart illustrating a method for calculating club exercise data according to one embodiment. FIG. 6 is a flowchart illustrating a method for obtaining three-dimensional coordinates by extracting coordinates of an integrated marker from a plurality of cameras according to one embodiment. FIG. 7 is a drawing illustrating a shooting environment for acquiring images of a club head according to one embodiment. FIG. 8 is a drawing showing images of a club head taken from different directions according to one embodiment. FIG. 9 is a diagram illustrating a method for obtaining three-dimensional coordinates based on multiple two-dimensional coordinates. FIGS. 10 and FIGS. 11 are drawings illustrating a method for obtaining normal vectors of a first plane and a second plane constituting a club head. Specific details for implementing the invention
[0021] Specific structural or functional descriptions of the embodiments are disclosed for illustrative purposes only and may be modified and implemented in various forms. Accordingly, actual implementations are not limited to the specific embodiments disclosed, and the scope of this specification includes modifications, equivalents, or substitutions included in the technical concept described by the embodiments.
[0022] Terms such as "first" or "second" may be used to describe various components, but these terms should be interpreted solely for the purpose of distinguishing one component from another. For example, the first component may be named the second component, and similarly, the second component may be named the first component.
[0023] Singular expressions include plural expressions unless the context clearly indicates otherwise. In this document, phrases such as “A or B,” “at least one of A and B,” “at least one of A or B,” “A, B or C,” “at least one of A, B and C,” and “at least one of A, B, or C” may each include any one of the items listed together with the corresponding phrase, or all possible combinations thereof. In this specification, terms such as “comprising” or “having” are intended to designate the existence of the described feature, number, step, action, component, part, or combination thereof, and should be understood as not precluding the existence or addition of one or more other features, numbers, steps, actions, components, parts, or combinations thereof.
[0024] As used in this document, the term "part" refers to a software component consisting of a series of codes or a hardware component, such as an FPGA or ASIC, that performs certain roles. However, "part" is not limited to software or hardware. "Part" may be configured to reside in an addressable storage medium or configured to operate one or more processors. For example, "part" may include components such as software components, object-oriented software components, class components, and task components, as well as processes, functions, attributes, procedures, subroutines, segments of program code, drivers, firmware, microcode, circuits, data, databases, data structures, tables, arrays, and variables. The functions provided within the components and "parts" may be combined into a smaller number of components and "parts" or further separated into additional components and "parts." Furthermore, components and "parts" may be implemented to operate one or more CPUs within a device or secure multimedia card. Additionally, '~part' may include one or more processors.
[0025] Hereinafter, embodiments will be described in detail with reference to the attached drawings. In the description with reference to the attached drawings, identical components are given the same reference numeral regardless of the drawing number, and redundant descriptions thereof will be omitted.
[0027] FIG. 1 is a block diagram illustrating the configuration of a computing device according to an embodiment of the present disclosure.
[0028] The computing device (100) may include an input unit (110), memory (120), a processor (130), and a display unit (140).
[0029] The computing device (100) may be implemented as a golf practice electronic device, a golf swing trajectory tracking electronic device, a laptop computer, a mobile phone, a smartphone, a tablet PC, a mobile internet device (MID), a personal digital assistant (PDA), an enterprise digital assistant (EDA), a digital still camera, a digital video camera, a portable multimedia player (PMP), a personal navigation device (PND), a handheld game console, an e-book, or a smart device. The smart device may be implemented as a smart watch, a smart band, or a smart ring.
[0030] According to an exemplary embodiment of the present disclosure, the computing device (100) may be implemented as a device for processing motion images. In this case, the computing device (100) may display simulation data generated based on the motion images to a user through a display unit (140). The simulation data may be data visualizing whether the club impacted the ball while maintaining an accurate angle, and may be information regarding the estimated distance based on the club head speed.
[0031] The input unit (110) may include devices that provide an image of a club head to a computing device (100). For example, the input unit (110) may include a camera and a transmission device that preprocesses the captured image and transmits it to the computing device. As another example, the input unit (110) may include an image sensor to generate an image of a club head and output the data.
[0032] However, the input unit (110) is not limited thereto and may include devices capable of displaying a cursor on the display unit (140), such as a mouse, touchscreen, stylus, and trackball. Additionally, the input unit (110) may include various devices capable of generating an input signal from user operation, such as a keyboard, mechanical button, and microphone.
[0033] The memory (120) can be implemented as a volatile memory device or a non-volatile memory device.
[0034] Volatile memory devices can be implemented as DRAM (dynamic random access memory), SRAM (static random access memory), T-RAM (thyristor RAM), Z-RAM (zero capacitor RAM), or TTRAM (Twin Transistor RAM).
[0035] Non-volatile memory devices can be implemented as EEPROM (Electrically Erasable Programmable Read-Only Memory), flash memory, MRAM (Magnetic RAM), Spin-Transfer Torque (STT)-MRAM, Conductive Bridging RAM (CBRAM), FeRAM (Ferroelectric RAM), PRAM (Phase change RAM), Resistive RAM (RRAM), Nanotube RRAM, Polymer RAM (PoRAM), Nano Floating Gate Memory (NFGM), holographic memory, Molecular Electronic Memory Device, or Insulator Resistance Change Memory.
[0036] The memory (120) can store at least one method, flow, or step of the present disclosure in the form of computer-readable code, either temporarily or non-temporarily.
[0037] Additionally, the processor (130) can process data stored in memory (120). The processor (130) can execute computer-readable code (e.g., software) stored in memory (120) and instructions triggered by the processor (130).
[0038] The processor (130) may be a data processing device implemented in hardware having a circuit having a physical structure for executing desired operations. For example, the desired operations may include code or instructions included in a program.
[0039] For example, a data processing device implemented in hardware may include a microprocessor, a central processing unit, a processor core, a multi-core processor, a multiprocessor, an Application-Specific Integrated Circuit (ASIC), and a Field Programmable Gate Array (FPGA).
[0040] Additionally, the processor (130) may be implemented as a digital signal processor (DSP) that processes digital signals, a microprocessor, or a time controller (TCON). However, it is not limited thereto, and may include or be defined by one or more of a central processing unit (CPU), a micro controller unit (MCU), a micro processing unit (MPU), a controller, an application processor (AP), a communication processor (CP), or an ARM processor. Additionally, the processor (130) may be implemented as a system on chip (SoC) or large scale integration (LSI) with a built-in processing algorithm, or may be implemented in the form of a field programmable gate array (FPGA).
[0041] The display unit (140) can display various user interface objects, data, images, and videos according to exemplary embodiments of the present disclosure.
[0042] The display unit (140) can be implemented as a display panel of various forms. For example, the display panel can be implemented as a display technology such as LCD (Liquid Crystal Display), OLED (Organic Light Emitting Diodes), AM-OLED (Active-Matrix Organic Light-Emitting Diode), LCoS (Liquid Crystal on Silicon), or DLP (Digital Light Processing). Additionally, the display unit (140) may be combined in the form of a flexible display with at least one of a front area, a side area, and a rear area.
[0043] Meanwhile, the display unit (140) can be implemented as a layered touch screen by combining with a touch detection unit included in the input unit (110). The touch screen can have a function to detect not only the display function but also the touch input location, the touched area, and even the touch input pressure, and can also have a function to detect not only real touch but also proximity touch.
[0044] According to an exemplary embodiment of the present disclosure, the processor (130) can generate three-dimensional coordinates and vectors regarding the club head by analyzing images received from the input unit (110). The generated vector may be a normal vector for at least one face of the club head, and club motion data may be generated according to changes in magnitude and / or direction of the normal vector generated in chronological order. The display unit (140) may quantify and display the generated club motion data and provide information so that the user can intuitively determine their swing state by analyzing the user's swing state according to the club motion data. Further details regarding this will be described later.
[0046] FIG. 2 is a block diagram illustrating the configuration of a processor (130) according to one embodiment.
[0047] Referring to FIG. 2, the processor (130) of the present disclosure may include a marker detection unit (131) and a club physical quantity calculation unit (132). The marker detection unit (131) and the club physical quantity may be components separated into software units that perform different functions, and according to one embodiment, they may be separated based on the type of data output.
[0048] According to one embodiment, the processor (130) can receive program data stored in memory and can analyze an image input from a camera based on the received program data. At this time, the memory can store program data and program data corresponding to the club physical quantity calculation unit (132) at distinct addresses, and the processor (130) can receive data necessary for analysis by requesting each program data from the memory.
[0049] The marker detection unit (131) receives an image from a camera that photographs a club head and can detect an integrated marker from at least one frame of the received image. At this time, the marker detection unit (131) may distinguish and detect a first area and a second area of the integrated marker.
[0050] The club physical quantity calculation unit (132) can output motion data of the club head using an integrated marker detected by the marker detection unit (131). The motion data of the club head may include club speed, club path, club attack angle, club face angle, club lie angle, and club loft angle. The motion data is not limited to these and may include all types of data that can be extracted from vector information obtained from at least one frame.
[0051] According to one embodiment, the club physical quantity calculation unit (132) can convert the vertex coordinates of the integrated marker into three-dimensional spatial coordinates, and at this time, the club physical quantity calculation unit (132) can convert two-dimensional coordinates into three-dimensional spatial coordinates by receiving simultaneous images from cameras that photograph the club head from different directions.
[0052] The method of outputting motion data for the club head by the processor (130) will be described in detail below in FIG. 5.
[0054] FIG. 3 is a drawing illustrating an embodiment in which an integrated marker is attached across multiple surfaces according to one embodiment.
[0055] Referring to FIG. 3, the integrated marker of the present disclosure can be implemented as an integrated marker consisting of a single physical configuration, thereby allowing the user to avoid the inconvenience of attaching multiple markers. According to an exemplary embodiment of the present disclosure, the processor (130) can output motion data for the club head using only one integrated marker.
[0056] Additionally, the integral marker of the present disclosure may be attached to a plurality of surfaces of a club head. For example, the club head may be composed of a plurality of surfaces including a first surface and a second surface, and the first area of the integral marker may be attached to the first surface and the second area may be attached to the second surface. The first area and the second area of the integral marker may be distinguished by an edge where the first surface and the second surface meet.
[0057] At least one of the first and second regions of the integrated marker may be formed in a shape that narrows toward the edge. For example, the integrated marker according to the embodiment of FIG. 3(a) may be formed in an hourglass shape where two trapezoidal shapes meet, and may be attached to a club head such that the part corresponding to the narrowing bottleneck of the hourglass shape meets the edge. That is, the first region and the second region may be distinguished based on the part corresponding to the bottleneck. The integrated marker according to the embodiment of FIG. 3(b) may be formed in an "X" shape having a certain thickness. In this case, the first region may be configured in a shape that converges toward a first direction (e.g., to the right) (e.g., a ">" shape), and the second region may be configured in a shape that converges toward a second direction (e.g., to the left), which is 180 degrees opposite to the first direction (e.g., a "<" shape), and may be attached to a club head such that the part where the first region and the second region meet meets the edge.
[0058] That is, the integrated marker according to the embodiment of the present disclosure can be attached to a club head so that multiple faces of the club head can be identified. Accordingly, since the user only needs to attach one integrated marker to the club head such that the portion between the first area and the second area touches the edge between the first face and the second face, the setting work for analyzing the movement of the club head can be minimized.
[0059] According to one embodiment, a second area of the integrated marker may be attached to the toe area of the club face surface. The club face surface may refer to the entire surface including the part where the club head impacts the ball, and the toe area of the club face surface may refer to the front part of the club head. The toe area may be the area excluding the grooves of the stripe pattern formed at regular intervals on the club face surface.
[0060] After the second area of the integrated marker is attached to the toe area of the club face, the first area can be attached to the side of the club head. Accordingly, the second area of the integrated marker can be attached to identify the club face, and the first area can be attached to identify the side of the club head.
[0061] Meanwhile, unlike as exemplified in FIG. 3, the integrated marker is attached to the same one side of the club head, and the processor (130) can calculate motion data for the club head by the integrated marker attached to the same one side.
[0062] According to an exemplary embodiment of the present disclosure, an integral marker may comprise a single whole object including different first and second regions. In this case, the speed of movement due to rotation of the first region located relatively far from the neck portion of the club head may be greater than the speed of movement due to rotation of the second region located relatively close to the neck portion.
[0063] In other words, by attaching a single integrated marker divided into a first area and a second area to the same surface, the processor (130) is able to measure different physical quantities for each area extending from the neck portion to the toe portion.
[0064] Accordingly, the processor (130) can determine the amount of rotation of the club head more precisely, and thus can measure physical quantities including the speed and amount of rotation of the golf ball more precisely than before.
[0066] FIG. 4 is a drawing illustrating the shape of an integrated marker according to a plurality of embodiments.
[0067] Referring to FIG. 4, a plurality of sides facing the edge in at least one of the first region (1a to 8a) and the second region (1b to 8b) may be formed in a shape that converges toward any point on the edge. Although the integral markers according to the embodiment of FIG. 3 are configured to occupy a certain length of the edge, the integral marker of the present disclosure is not limited thereto and may be configured to occupy only any point on the edge.
[0068] The integrated markers according to the embodiments of FIGS. 4(a) to FIGS. 4(c) may be configured in a shape where a pair of triangles or pentagons touch at a certain point, or in an "X" shape where a ">" shape and a "<" shape touch at a certain point. The integrated markers are divided into a first region and a second region based on the point of contact, and the first region and the second region may be formed in a similar relationship with the same shape but different only in size. At this time, the computing device can identify the first region and the second region of the integrated marker based on the difference in size.
[0069] In the embodiments of FIGS. 4(e) to FIGS. 4(h), the integrated markers may have a first region (5a to 8a) and a second region (5b to 8b) configured with different shapes. FIGS. 4(f) and FIGS. 4(h) may have a shape in which only one of the first and second regions narrows in the edge direction, and the other region may be configured as a rectangle. Even in this case, the first region and the second region may be configured to touch at any point on the edge. In one embodiment of FIGS. 4(d), the integrated marker may be configured with a shape in which a pair of rectangles of different sizes touch at one side.
[0070] The embodiment of (i) of FIG. 4 may be an integral marker corresponding to the embodiment of FIG. 3, and may be provided with a connecting area of a predetermined area connecting two regions that narrow in the edge direction. At this time, the first region (9a) and the second region (9b) may be separated by the edge between the club faces.
[0071] The embodiments of FIG. 4(j) and FIG. 4(k) may be configured such that the integral marker does not touch only at one point of the edge but occupies a predetermined length of the edge. For example, the first region (10a) of FIG. 4(j) may be configured in a "-" shape, and the second region (10b) may be configured in a "<" shape. The first region (11a) of FIG. 4(k) may be configured in a "▷" shape, and the second region (11b) may be configured in a "<" shape.
[0072] The computing device according to the present embodiment outputs motion data of a club head based on an integrated marker attached to a plurality of surfaces. In this case, to obtain the three-dimensional topology of the plurality of surfaces, three-dimensional coordinates corresponding to each of the first area and the second area can be obtained. Conventional methods for obtaining three-dimensional coordinates required a significant amount of time because coordinates had to be extracted individually from each of the plurality of markers attached separately to the plurality of surfaces. In contrast, the method for obtaining three-dimensional coordinates according to the embodiment of the present disclosure can share the coordinates occupied by the first area and the second area, thereby allowing for less time to be required for three-dimensional coordinate extraction.
[0074] FIG. 5 is a flowchart illustrating a method for calculating club exercise data according to one embodiment.
[0075] Referring to FIG. 5, the computing device of the present disclosure can identify an integral marker and calculate a normal vector based on the identified integral marker to produce club movement data. According to one embodiment, the computing device can receive images from a plurality of cameras that photograph a club head from different directions and analyze the received images to produce club movement data. At this time, the computing device may produce club movement data based on a group of images obtained in a continuous time sequence.
[0076] In step (S110), the computing device can generate an image template using camera calibration data and the numerical value of the integrated marker to detect the integrated marker. For example, the computing device can generate calibration data by verifying predefined camera placement information from multiple images of a club head. Specifically, images of a club head taken from different directions may generate object images of different sizes and shapes, even for an integrated marker of the same shape, depending on the direction and distance from which they are taken. Accordingly, the computing device can generate object scaling information of the integrated marker as calibration data based on the distance and angle between the camera and the club head. The object scaling information may be numerical adjustment information that determines how much the shape and size of an integrated object of a pre-specified size and shape should be distorted.
[0077] The computing device can specify the type of an integral marker based on user selection and / or an integral marker identified in an image, and set the numerical value of the integral marker according to the specified type of integral marker. The numerical value of the integral marker can consist of actual size and shape information.
[0078] According to one embodiment, the computing device can produce an image template by applying calibration data to the numerical value of an integrated marker. The produced image template will be described in detail later through FIG. 8.
[0079] In step (S120), the computing device can identify an integrated marker in a two-dimensional image by matching an image template with an integrated marker. The image template may be image data that serves as a guideline for an integrated marker that is preset corresponding to each camera. The computing device can identify the integrated marker based on the degree of matching between the image template and the integrated marker, and may identify a first region and a second region among the integrated markers, respectively.
[0080] According to one embodiment, a computing device may acquire images from a plurality of cameras to extract three-dimensional coordinates of an integrated marker from a two-dimensional image. That is, the computing device may acquire images from a stereo system composed of two or more cameras that photograph a club head from different directions. For example, the computing device may extract three-dimensional coordinates of an integrated marker from cameras that photograph a club head from different directions at the same time, and may detect the movement of the club head based on a set of consecutive images captured by individual cameras at time intervals. At this time, the movement of the club head may be calculated as club motion data.
[0081] In step (S130), the computing device can convert the three-dimensional coordinates of the integrated marker from images captured by multiple cameras. The computing device can obtain the vertex coordinates of the identified integrated marker for each camera. The computing device can calculate the three-dimensional coordinates of the integrated marker through triangulation using the vertex coordinates obtained from multiple cameras and the calibration data of each camera. The three-dimensional coordinates of the integrated marker may include at least three vertex coordinates. A method for calculating the three-dimensional coordinates of the integrated marker through triangulation will be described in detail later with reference to FIGS. 9 to 11.
[0082] In step (S140), the computing device can calculate a normal vector corresponding to each of the first region and the second region based on the three-dimensional coordinates of the integrated marker. For example, the computing device can extract a plane and a normal vector for each of the first region and the second region based on three or more vertex coordinates calculated for each of the first region and the second region. In this case, some of the vertex coordinates of the first region and the second region may overlap. For example, at least one point located on the boundary line of the first region and the second region, or the coordinates of the point of contact between the first region and the second region, may be shared. A method for generating a normal vector by the computing device will be described later through FIGS. 10 and 11.
[0083] In step (S150), the computing device can calculate club motion data based on normal vectors. The club motion data may include data related to club speed, club path, club attack angle, club face angle, club lie angle, and club loft angle. The computing device can generate visualization information based on the club motion data. The visualization information may include all information that can be provided so that the user can intuitively check the swing state through a display unit.
[0085] FIG. 6 is a flowchart illustrating a method for obtaining three-dimensional coordinates by extracting coordinates of an integrated marker from a plurality of cameras according to one embodiment, and FIG. 7a and FIG. 7b are drawings illustrating a shooting environment for obtaining images of a club head according to a plurality of embodiments.
[0086] The first camera and the second camera described in the embodiment of FIG. 6 can be described based on the first camera (10) and the second camera (20) of FIG. 7a and FIG. 7b. Referring to FIG. 7a and FIG. 7b, cameras for photographing a user and a club head may be composed of at least two or more cameras, and the cameras may photograph the club head from different directions. Although the cameras according to the embodiments of FIG. 7a and FIG. 7b are described as cameras fixed to the ground to photograph a user, the camera positions and fixed forms of the present disclosure are not limited thereto and may include all types of cameras that can be fixed at a certain position, such as ceiling-mounted cameras fixed to the ceiling.
[0087] Referring to FIG. 7a, the stereo camera system of the present disclosure can photograph a club head from different left and right directions, but referring to FIG. 7b, it can also photograph a club head from different up and down directions. That is, in the stereo camera system of the present disclosure, the directions in which the multiple cameras are spaced apart from each other are not limited to only one direction.
[0088] In step (S310_1), the computing device can receive a first image captured from the first camera (10), and in step (S310_2), can receive a second image captured from the second camera (20). The computing device can receive the first image and the second image from the first camera (10) and the second camera (20) respectively in an individual manner, store the first image and the second image in separate storage, and analyze the images in parallel.
[0089] In step (S320_1), the computing device identifies a first direction integrated marker from a first image, and in step (S320_2), identifies a second direction integrated marker from a second image. The first direction integrated marker and the second direction integrated marker are actually the same object, but may be an object in an image that is distorted depending on the shooting direction and distance between the cameras. The computing device can obtain in advance the degree of distortion of the object according to at least one of the installation height and angle of the first camera (10) and the second camera (20), and can minimize the identification of the integrated marker in a distorted manner based on an image template to which calibration data is applied.
[0090] In step (S330_1), the computing device can extract two-dimensional coordinates of a first-direction integrated marker, and in step (S330_2), can extract two-dimensional coordinates of a second-direction integrated marker. At this time, the extracted two-dimensional coordinates may be coordinate values to which calibration parameters corresponding to each camera are applied to the coordinate values of integrated markers identified by being captured by each camera at the same time in a stereo system. According to one embodiment, the computing device may use at least some of the two-dimensional coordinates extracted from the first area as two-dimensional coordinates extracted from the second area. Since the computing device can use the previously extracted coordinates when extracting the two-dimensional coordinates of the second area, the time required for coordinate extraction can be reduced.
[0091] In step (S340), the computing device can convert the 2D coordinates of the first direction integrated marker and the 2D coordinates of the second direction integrated marker into 3D coordinates. The computing device can generate corresponding vertex coordinates from the first direction integrated marker and the second direction integrated marker into vertex coordinate pairs and convert them into coordinates in 3D space.
[0093] FIG. 8 is a drawing showing images of a club head taken from different directions according to one embodiment.
[0094] Referring to FIGS. 6 through 8, the image captured in FIG. 8 (a) may be a club head image captured by the first camera (10), and the image captured in FIG. 8 (b) may be a club head image captured by the second camera (20). For example, FIG. 8 (a) and (b) may respectively show the scene before the club head strikes the golf ball and the scene at the time the club head strikes the golf ball, with the first camera (10) and the second camera (20) positioned vertically. As another example, since the first camera (10) captures the club head from a forward direction than the second camera (20), it can identify the club face surface more widely than the second camera (20). Even if the club head is captured at the same time, the second camera (20) can identify the side of the club head more widely than the first camera (10).
[0095] The first region (1a) of the integrated marker identified by the first camera (10) and the second camera (20) may be captured with different shapes and sizes depending on the shooting angle and distance of the first camera (10) and the second camera (20), even if they are actually the same shape and size. The computing device may generate an image template using calibration data that reflects the shooting angle and distance of the cameras to identify the shapes and sizes captured differently by each camera.
[0097] FIG. 9 is a diagram illustrating a method for obtaining three-dimensional coordinates based on multiple two-dimensional coordinates.
[0098] Referring to FIG. 9, the computing device can extract a first direction integrated marker (1a_1) from a first camera and extract a second direction integrated marker (1a_2) from a second camera. Specifically, if the integrated marker is identified as a triangle shape, the computing device can extract the vertex coordinates (11 to 13) of the triangle from the first direction integrated marker (1a_1) and extract the vertex coordinates (21 to 23) of the triangle from the second direction integrated marker (1a_2).
[0099] The computing device can generate coordinate pairs of corresponding vertex coordinates at the first direction integrated marker (1a_1) and the second direction integrated marker (1a_2). For example, the computing device can generate a first coordinate pair (11, 21), a second coordinate pair (12, 22), and a third coordinate pair (13, 23).
[0100] The computing device can convert the coordinate pairs into three-dimensional coordinates (31 to 33) based on triangulation. The coordinate values (11 to 13) of the first direction integrated marker (1a_1) may be two-dimensional coordinate values projected from the first direction of the integrated marker object, and the coordinate values (21 to 23) of the second direction integrated marker (1a_2) may be two-dimensional coordinate values projected from the second direction of the integrated marker. As a method of generating three-dimensional coordinates by applying an essential matrix used in triangulation to the corresponding coordinates of the stereo image, the computing device can generate three-dimensional coordinates of the integrated marker by calculating the essential matrix based on the geometric relationship between the first camera and the second camera.
[0102] FIGS. 10 and FIGS. 11 are drawings illustrating a method for obtaining normal vectors of a first plane and a second plane constituting a club head.
[0103] Referring to FIG. 10, the computing device can calculate three-dimensional coordinates of a first region and calculate a normal vector of the first region based on the three-dimensional coordinates. When three three-dimensional coordinates are calculated in the first region, the computing device calculates two vectors ( connecting one point (C) and each of the other two points (A1, B1) , ) can be calculated. The computing device can calculate the normal vector for the first region ( ) can be produced.
[0104] Referring to FIG. 11, the computing device can calculate three-dimensional coordinates of a second region and calculate a normal vector of the second region based on the three-dimensional coordinates. When three three-dimensional coordinates are calculated in the second region, the computing device calculates two vectors ( connecting one point (C) and each of the other two points (A2, B2) , ) can be calculated. The computing device can calculate the normal vector for the second region ( ) can be produced.
[0105] The computing device of the present disclosure can generate a normal vector for at least one of a first region and a second region in the manner described above, and can generate club motion data based on the normal vector. For example, the angle of the club face at impact can be generated as club motion data based on the normal vector of the club face.
[0106] In addition, the computing device can obtain the change state of normal vectors from a group of images acquired in a continuous time sequence and can estimate the club path based on the change state of the normal vectors. However, the method by which the computing device obtains club motion data based on normal vectors is not limited to this.
[0108] The embodiments described above may be implemented as hardware components, software components, and / or combinations of hardware and software components. For example, the devices, methods, and components described in the embodiments may be implemented using a general-purpose computer or a special-purpose computer, such as, for example, a processor, a controller, an arithmetic logic unit (ALU), a digital signal processor, a microcomputer, a field programmable gate array (FPGA), a programmable logic unit (PLU), a microprocessor, or any other device capable of executing and responding to instructions. The processing unit may execute an operating system (OS) and software applications executed on said operating system. Additionally, the processing unit may access, store, manipulate, process, and generate data in response to the execution of the software. For ease of understanding, the processing unit may be described as being used as a single unit, but those skilled in the art will understand that the processing unit may include multiple processing elements and / or multiple types of processing elements. For example, the processing unit may include multiple processors or one processor and one controller. In addition, other processing configurations, such as parallel processors, are also possible.
[0109] Software may include computer programs, code, instructions, or a combination of one or more of these, and may configure a processing unit to operate as desired or command the processing unit independently or collectively. Software and / or data may be permanently or temporarily embodied in any type of machine, component, physical device, virtual equipment, computer storage medium or device, or transmitted signal wave in order to be interpreted by the processing unit or to provide instructions or data to the processing unit. Software may be distributed over networked computer systems and may be stored or executed in a distributed manner. Software and data may be stored on computer-readable recording media.
[0110] The method according to the embodiment may be implemented in the form of program instructions that can be executed by one or more processors (e.g., 130) through various computer means and may be recorded on a non-transitory computer-readable recording medium. The computer-readable medium may store program instructions, data files, data structures, etc., alone or in combination, and the program instructions recorded on the medium may be those specifically designed and configured for the embodiment or may be those known and available to those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical media such as CD-ROMs and DVDs; magneto-optical media such as floptical disks; and hardware devices specifically configured to store and execute program instructions, such as ROM, RAM, and flash memory. Examples of program instructions include machine code, such as that generated by a compiler, as well as high-level language code that can be executed by a computer using an interpreter, etc.
[0111] The hardware device described above may be configured to operate as one or more software modules to perform the operation of the embodiment, and vice versa.
[0112] Although the embodiments have been described above with reference to the limited drawings, those skilled in the art can apply various technical modifications and variations based thereon. For example, suitable results may be achieved even if the described techniques are performed in a different order than described, and / or if the components of the described system, structure, device, circuit, etc. are combined or assembled in a form different from described, or replaced or substituted by other components or equivalents.
[0113] Therefore, other implementations, other embodiments, and equivalents to the claims also fall within the scope of the claims set forth below.
Claims
Claim 1 A club motion data generation system comprising: an integrated marker attached to a plurality of surfaces including a first surface and a second surface of a club head, wherein a first area attached to the first surface and a second area attached to the second surface are connected to each other; and a computing device that outputs motion data of the club head based on the integrated marker from an image of the club head, wherein the first area and the second area are separated by an edge where the first surface and the second surface of the club head meet, and at least one of the first area and the second area is formed in a shape that narrows toward the edge, and wherein the computing device generates three-dimensional vertex coordinates including intersection coordinates shared by the first area and the second area by the narrowing shape of the integrated marker, calculates a normal vector corresponding to the first area from the three-dimensional vertex coordinates of the first area including the intersection coordinates, and calculates a normal vector corresponding to the second area from the three-dimensional vertex coordinates of the second area including the intersection coordinates. Claim 2 A club exercise data generation system according to claim 1, characterized in that the first region and the second region have different sizes or shapes. Claim 3 A club exercise data generation system according to claim 1, wherein the first surface is a club face surface, and the first area of the integrated marker is attached to the toe area of the club face surface. Claim 4 A club exercise data generation system according to claim 1, wherein the computing device calculates an image template using camera calibration data capable of projecting the integrated marker into a two-dimensional image and a predetermined value of the integrated marker. Claim 5 A club exercise data generation system according to claim 4, wherein the computing device identifies the integrated marker in a two-dimensional image by matching the image template with the image in which the integrated marker is captured. Claim 6 A club exercise data generation system according to claim 5, wherein the computing device identifies the integrated marker from a plurality of images captured at the same time by a plurality of cameras capturing in different directions, and converts the 2D coordinates of the identified integrated marker into 3D coordinates based on triangulation. Claim 7 delete Claim 8 delete Claim 9 A club motion data generation system according to claim 1, wherein the computing device calculates the movement speed and direction of the club as club motion data based on normal vectors calculated at a plurality of points in correspondence with at least one of the first region and the second region. Claim 10 A club motion data generation system according to claim 1, wherein the computing device generates vertex coordinate pairs by obtaining vertex coordinates of a first direction integrated marker from an image in which the club head is photographed by a first camera, and vertex coordinates of a second direction integrated marker from an image in which the club head is photographed by a second camera in a direction different from the first camera, and obtains three-dimensional coordinates of the integrated marker based on the vertex coordinate pairs. Claim 11 A method for generating motion data of a club based on an integrated marker attached to a club head comprises: a step of detecting an integrated marker attached to the club head from an image capturing the club head; and a step of outputting motion data of the club head based on the detected integrated marker, wherein the integrated marker includes a first region and a second region connected to each other, wherein the first region and the second region are attached to a plurality of surfaces each including a first surface and a second surface of the club head, wherein the first region and the second region are separated by an edge where the first surface and the second surface of the club head meet, and at least one of the first region and the second region is formed in a shape that narrows toward the edge, and the step of outputting motion data comprises: a step of generating three-dimensional vertex coordinates including intersection coordinates shared by the first region and the second region due to the narrowing shape of the integrated marker; and a step of calculating a normal vector corresponding to the first region from the three-dimensional vertex coordinates of the first region including the intersection coordinates. A method for generating club exercise data, characterized by including the step of calculating a normal vector corresponding to the second region from the three-dimensional vertex coordinates of the second region including the intersection point coordinates. Claim 12 A method for generating club exercise data according to claim 11, characterized in that the first region and the second region have different sizes or shapes. Claim 13 delete Claim 14 A method for generating club exercise data according to claim 11, wherein the step of detecting the integrated marker comprises: a step of calculating an image template using camera calibration data capable of projecting the integrated marker onto a two-dimensional image and a predetermined value of the integrated marker; and a step of identifying the integrated marker in a two-dimensional image by matching the image template with an image in which the integrated marker is captured. Claim 15 A method for generating club exercise data according to claim 14, wherein the step of identifying the integrated marker comprises identifying the integrated marker from a plurality of images captured at the same time by a plurality of cameras capturing in different directions, and the step of outputting the exercise data comprises: a step of converting the 2D coordinates of the identified integrated marker into 3D coordinates based on triangulation; a step of calculating normal vectors corresponding to each of the first region and the second region based on the 3D coordinates; and a step of calculating the club exercise data based on the normal vectors. Claim 16 A method for generating club movement data according to claim 15, wherein the step of calculating the club movement data is characterized by calculating the movement speed and direction of the club as club movement data based on normal vectors calculated at a plurality of points in correspondence with at least one of the first area and the second area. Claim 17 A method for generating club motion data according to claim 15, wherein the step of identifying the integrated marker comprises: obtaining vertex coordinates of a first direction integrated marker from an image in which the club head is photographed by a first camera; obtaining vertex coordinates of a second direction integrated marker from an image in which the club head is photographed by a second camera in a direction different from the first camera; and obtaining three-dimensional coordinates of the integrated marker based on a pair of vertex coordinates in which the vertex coordinates are matched. Claim 18 A computing device comprising: an input unit for outputting an image of a club head; and a processor for outputting motion data of the club head by identifying, from the image, an integrated marker attached to a plurality of surfaces including a first surface and a second surface of the club head, wherein a first area attached to the first surface and a second area attached to the second surface are connected to each other, wherein the processor identifies the integrated marker in which the first area and the second area are distinguished by an edge where the first surface and the second surface of the club head meet, and at least one of the first area and the second area is formed in a shape that narrows toward the edge, generates three-dimensional vertex coordinates including intersection coordinates shared by the first area and the second area by the narrowing shape of the integrated marker, calculates a normal vector corresponding to the first area from the three-dimensional vertex coordinates of the first area including the intersection coordinates, and calculates a normal vector corresponding to the second area from the three-dimensional vertex coordinates of the second area including the intersection coordinates. Claim 19 A computing device according to claim 18, wherein the first region and the second region are different in size or shape.
Citation Information
Patent Citations
Systems and methods for measurement of 3D attributes using computer vision
JP2023081889A
Measurement marker and method for measuring behavior of moving body using measurement marker
KR1020180040628A
