KR20220100765A - Method of recognizing motion of golf ball and club in fast camera image and apparatus of analyzing golf motion using the same - Google Patents
Method of recognizing motion of golf ball and club in fast camera image and apparatus of analyzing golf motion using the same Download PDFInfo
- Publication number
- KR20220100765A KR20220100765A KR1020210002633A KR20210002633A KR20220100765A KR 20220100765 A KR20220100765 A KR 20220100765A KR 1020210002633 A KR1020210002633 A KR 1020210002633A KR 20210002633 A KR20210002633 A KR 20210002633A KR 20220100765 A KR20220100765 A KR 20220100765A
- Authority
- KR
- South Korea
- Prior art keywords
- golf ball
- golf
- camera
- image
- coordinates
- Prior art date
Links
- 230000033001 locomotion Effects 0.000 title claims abstract description 153
- 238000000034 method Methods 0.000 title claims abstract description 131
- 238000012545 processing Methods 0.000 claims abstract description 155
- 238000001514 detection method Methods 0.000 claims abstract description 40
- 238000004458 analytical method Methods 0.000 claims abstract description 31
- 238000002360 preparation method Methods 0.000 claims abstract description 29
- 238000004364 calculation method Methods 0.000 claims abstract description 23
- 230000003139 buffering effect Effects 0.000 claims abstract description 8
- 239000013598 vector Substances 0.000 claims description 37
- XEEYBQQBJWHFJM-UHFFFAOYSA-N Iron Chemical group [Fe] XEEYBQQBJWHFJM-UHFFFAOYSA-N 0.000 claims description 26
- 239000000872 buffer Substances 0.000 claims description 14
- 229910052742 iron Inorganic materials 0.000 claims description 13
- 238000009434 installation Methods 0.000 claims description 9
- 238000005259 measurement Methods 0.000 claims description 7
- 239000002023 wood Substances 0.000 claims description 7
- 238000013459 approach Methods 0.000 claims description 3
- 230000035945 sensitivity Effects 0.000 claims description 3
- 239000004576 sand Substances 0.000 claims description 2
- 238000004088 simulation Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 16
- 238000005516 engineering process Methods 0.000 description 7
- 239000011159 matrix material Substances 0.000 description 6
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000001914 filtration Methods 0.000 description 4
- 230000005484 gravity Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 3
- 238000003672 processing method Methods 0.000 description 3
- 229920000049 Carbon (fiber) Polymers 0.000 description 1
- 101150094768 Mcam gene Proteins 0.000 description 1
- 229910000831 Steel Inorganic materials 0.000 description 1
- 230000002159 abnormal effect Effects 0.000 description 1
- 210000000746 body region Anatomy 0.000 description 1
- 239000004917 carbon fiber Substances 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000011109 contamination Methods 0.000 description 1
- 239000000428 dust Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- VNWKTOKETHGBQD-UHFFFAOYSA-N methane Chemical compound C VNWKTOKETHGBQD-UHFFFAOYSA-N 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000704 physical effect Effects 0.000 description 1
- 239000010959 steel Substances 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0003—Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B24/00—Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
- A63B24/0021—Tracking a path or terminating locations
-
- G—PHYSICS
- G03—PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
- G03B—APPARATUS OR ARRANGEMENTS FOR TAKING PHOTOGRAPHS OR FOR PROJECTING OR VIEWING THEM; APPARATUS OR ARRANGEMENTS EMPLOYING ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ACCESSORIES THEREFOR
- G03B39/00—High-speed photography
- G03B39/005—High-speed photography using image converters or amplifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G06T5/007—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/50—Image enhancement or restoration using two or more images, e.g. averaging or subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/90—Dynamic range modification of images or parts thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/80—Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/10—Image acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/64—Three-dimensional objects
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N23/00—Cameras or camera modules comprising electronic image sensors; Control thereof
- H04N23/60—Control of cameras or camera modules
- H04N23/62—Control of parameters via user interfaces
-
- H04N5/23216—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
-
- A—HUMAN NECESSITIES
- A63—SPORTS; GAMES; AMUSEMENTS
- A63B—APPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
- A63B2220/00—Measuring of physical parameters relating to sporting activity
- A63B2220/80—Special sensors, transducers or devices therefor
- A63B2220/806—Video cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20212—Image combination
- G06T2207/20224—Image subtraction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30221—Sports video; Sports image
- G06T2207/30224—Ball; Puck
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Pure & Applied Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Optimization (AREA)
- Physical Education & Sports Medicine (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Health & Medical Sciences (AREA)
- Signal Processing (AREA)
- Databases & Information Systems (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Algebra (AREA)
- Human Computer Interaction (AREA)
- Studio Devices (AREA)
- Length Measuring Devices By Optical Means (AREA)
Abstract
Description
본 발명은 고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법 및 이를 이용한 골프용 모션 분석 장치에 관한 것으로, 좀 더 자세하게는, 고속 카메라의 영상만으로 골프클럽이 골프공을 타격하는 정확한 시점의 이미지 프레임을 효율적으로 검색하며 이와 동시에 실제 타격 순간의 골프공과 골프클럽의 이동 속도와 골프공의 회전 속도를 계산하여 사용자에게 실시간으로 제공하고, 또한, 골프공과 골프클럽의 타격 시점과 동기화된 스윙 자세 영상을 함께 제공하여 사용자가 스스로 스윙 모션의 원인과 결과를 동시에 분석할 수 있는 골프용 모션 분석 장치에 관한 것이다. The present invention relates to a method for recognizing the movement of a golf ball and a golf club in a high-speed camera image and a motion analysis apparatus for golf using the same, and more particularly, to an accurate time point at which a golf club hits a golf ball only with an image of a high-speed camera. The image frame is efficiently searched, and at the same time, the movement speed of the golf ball and golf club and the rotation speed of the golf ball are calculated and provided to the user in real time at the moment of actual hitting. It relates to a motion analysis device for golf that can simultaneously analyze the cause and result of a swing motion by a user by providing an image together.
최근 미세먼지의 증가, 이상 기후 등 실외 스포츠 참여 환경이 악화됨에 따라 실내형 스포츠 훈련시설에 대한 수요는 빠르게 증가하고 있으며, 최근 IT 기술의 발달에 따라 기술의 발달로 골프 스포츠를 실내에서 즐길 수 있는 인도어(in-door) 가상 골프 연습시설이 대중화되고 있다. 특히 골프의 경우 이러한 실내 가상 스포츠 시설을 활용한 지속적인 연습과 실력 향상에 가장 적합한 스포츠라 할 수 있다. With the recent increase in fine dust and the worsening of outdoor sports participation environments such as abnormal climates, the demand for indoor sports training facilities is rapidly increasing. Indoor (in-door) virtual golf practice facilities are becoming popular. In particular, in the case of golf, it can be said that it is the most suitable sport for continuous practice and skill improvement using these indoor virtual sports facilities.
관련하여, 대한민국 등록특허 제10-1855978호(2018.05.02. 등록, 발명의 명칭 : 열감지 센서를 이용한 골프 샷 분석 방법 및 장치{DEVICE AND METHOD FOR ANALYSING GOLF SHOT USING HEAT SENSOR})에 따르면, "본 발명은 열감지 센서를 이용한 골프 샷 분석 방법 및 장치에 관한 것이다. 본 발명의 제 1 측면에 따르면 골프공의 초기 위치인 샷포인트를 인식하는 골프공인식부, 상기 골프공을 타격하는 클럽이 상기 골프공이 놓인 지면을 지나는 영역인 디봇을 인식하는 디봇인식부 및 상기 샷포인트 및 상기 디봇 중 적어도 하나에 기초하여 상기 골프샷의 유형을 분석하는 샷분석부를 포함할 수 있다."라는 기술이 개시되어 있다. In this regard, according to Republic of Korea Patent No. 10-1855978 (registration on May 2, 2018, title of invention: golf shot analysis method and apparatus using a thermal sensor {DEVICE AND METHOD FOR ANALYSING GOLF SHOT USING HEAT SENSOR}), " The present invention relates to a golf shot analysis method and apparatus using a thermal sensor. According to a first aspect of the present invention, a golf ball recognition unit for recognizing a shot point, which is an initial position of a golf ball, and a club hitting the golf ball are It may include a divot recognition unit for recognizing a divot, which is an area passing through the ground on which the golf ball is placed, and a shot analysis unit for analyzing the type of the golf shot based on at least one of the shot point and the divot. have.
하지만, 위 특허문헌에서는, 고속 카메라의 영상만으로 골프클럽이 골프공을 타격하는 정확한 시점의 이미지 프레임을 효율적으로 검색하며 이와 동시에 실제 타격 순간의 골프공과 골프클럽의 이동 속도와 골프공의 회전 속도를 계산하여 사용자에게 실시간으로 제공하고, 또한, 골프공과 골프클럽의 타격 시점과 동기화된 스윙 자세 영상을 함께 제공하여 사용자가 스스로 스윙 모션의 원인과 결과를 동시에 분석할 수 있는 골프용 모션 분석 장치에 대한, 본 발명과 같은 기술은 전혀 개시되지 않았다. However, in the above patent document, the image frame at the exact point in time when the golf club hits the golf ball is efficiently retrieved only with the image of the high-speed camera, and at the same time, the movement speed of the golf ball and the golf club and the rotation speed of the golf ball at the actual hitting moment It is calculated and provided to the user in real time, and also provides a swing posture image synchronized with the hitting time of the golf ball and golf club, so that the user can analyze the cause and result of the swing motion by himself/herself. , a technique such as the present invention has not been disclosed at all.
또한, 대한민국 공개특허번호 제10-2013-0047081호(2013.05.08. 공개, 발명의 명칭 : 초고속 머신 비전 카메라를 이용한 골프 시뮬레이션 시스템 및 그 시스템을 이용한 골프 시뮬레이션 방법{GOLF SIMULATION SYSTEM USING HIGH SPEED MACHINE VISION CAMERAS AND GOLF SIMULATION METHOD USING THE SAME})에 따르면, "초고속 머신 비전 카메라를 통한 획득한 영상을 이용하여 골프공의 물리적 특성을 계산하는 시스템 및 방법"에 대해서 개시하고 있다. In addition, Republic of Korea Patent Publication No. 10-2013-0047081 (published on May 8, 2013, title of invention: a golf simulation system using a high-speed machine vision camera and a golf simulation method using the system {GOLF SIMULATION SYSTEM USING HIGH SPEED MACHINE VISION CAMERAS AND GOLF SIMULATION METHOD USING THE SAME}) discloses "a system and method for calculating the physical properties of a golf ball using an image acquired through a high-speed machine vision camera".
하지만, 해당 시스템의 카메라 위치는 왼손, 또는 오른손 사용자에 따라 한 대의 카메라에서 골프공이 신체에 가려지므로 골프공과 사용자 스윙 영상을 취득할 수 없으므로 계측이 불가능한 제약이 있으나, 이를 극복하기 위한 구체적인 방법이 제시되어 있지 않았다. 또한, 해당 방법에서 골프공의 움직임을 감지하기 위한 이벤트를 검색하여야 하나, 고속 카메라에서 입력되는 모든 프레임의 영상에서 이를 검색하는 것은 매우 비효율적이나 이를 극복하기 위한 구체적인 방법이 제시되어 있지 않았다. 또한, 해당 방법에서 어프로치의 골프공의 속도는 드라이버 타격 시와 비교하여 매우 느리므로 고속 카메라에서 입력되는 모든 프레임의 영상에서 이를 검색하는 것은 매우 비효율적이나, 이를 극복하기 위한 구체적인 방법이 제시되어 있지 않았다. 또한, 해당 방법에서 퍼팅에서는 신체의 가려짐으로 인해 한 대의 카메라에서 골프공의 움직임이 촬영되지 않으므로 이를 극복하기 위한 구체적인 방법이 제시되어 있지 않았다.However, the camera position of the system is limited in that it is impossible to measure the golf ball and the user's swing image because the golf ball is covered by the body in one camera depending on the left or right-handed user. it wasn't done In addition, an event for detecting the movement of the golf ball should be searched for in the corresponding method, but it is very inefficient to search for it in the images of all frames input from the high-speed camera, but a specific method for overcoming this is not presented. In addition, since the speed of the golf ball of the approach in this method is very slow compared to that of hitting the driver, it is very inefficient to search for it in the images of all frames input from the high-speed camera, but a specific method for overcoming this is not presented. . In addition, in the putting method, the movement of the golf ball is not recorded by one camera due to the occlusion of the body, so a specific method for overcoming this is not presented.
다음으로, 대한민국 등록특허번호 제10-1461144호(2014.11.06. 등록, 발명의 명칭 : 운동하는 볼에 대한 센싱장치 및 센싱방법{DEVICE FOR SENSING MOVING BALL AND METHOD FOR THE SAME})에 따르면, "카메라 장치에 의해 취득되는 이미지에 의한 볼에 대한 연속적인 이미지로부터 볼 자체에 표시되어 있는 상표나 로고등 특징부를 추출하여 그로부터 운동하는 볼이 회전 움직임을 계산하는 방법"을 개시하고 있다. Next, according to the Republic of Korea Patent No. 10-1461144 (Registered on November 6, 2014, the title of the invention: a sensing device and a sensing method for a moving ball {DEVICE FOR SENSING MOVING BALL AND METHOD FOR THE SAME}), " A method of calculating the rotational movement of a moving ball by extracting features such as trademarks or logos displayed on the ball itself from successive images of the ball by the image acquired by the camera device.
하지만, 해당 특허문헌의 기술은 상표나 로고 등의 특징부의 좌표를 특정하여 하나, 실제 골퍼의 사용자 환경에 있어 외부 조명의 변화 또는 공 표면의 오염으로 특징부를 명확하게 추출할 수 없다는 단점이 있을 수 있다. 또한, 타격된 회전하는 골프공은 초당 20,000 RPM으로 특징부 좌표의 정확한 이동을 추출하기 위하여 고가의 초당 2,000 프레임 속도의 초고속 카메라가 반드시 필요하므로 실질적인 기술 구현에 있어서 어려움이 따른다.However, the technology of the patent document specifies the coordinates of features such as trademarks or logos, but there may be disadvantages in that features cannot be clearly extracted due to changes in external lighting or contamination of the ball surface in the actual golfer's user environment. have. In addition, in order to extract the precise movement of the coordinates of the feature at 20,000 RPM per second for the hit rotating golf ball, an expensive, high-speed camera with a speed of 2,000 frames per second is absolutely necessary, so it is difficult to implement the actual technology.
다음으로, 대한민국 등록특허번호 제10-1019902호(2011.02.25. 등록, 발명의 명칭 : 운동하는 볼에 대한 센싱처리장치, 센싱처리방법 및 이를 이용한 가상 골프 시뮬레이션 장치{SENSING PROCESSING DEVICE AND METHOD FOR MOVING OBJECT, AND VIRTUAL GOLF SIMULATION DEVICE USING THE SAME})에 따르면, "본 발명은 운동하는 볼에 대한 이미지를 낮은 해상도의 저속 카메라 장치와 스트로보 장치로 높은 센싱 처리 능력 및 센싱의 정확성을 구현할 수 있도록 하는 운동하는 볼에 대한 센싱처리장치, 센싱처리방법 및 이를 이용한 가상 골프 시뮬레이션 장치"를 개시하고 있다. Next, Republic of Korea Patent No. 10-1019902 (Registered on February 25, 2011, title of invention: Sensing processing device for a moving ball, sensing processing method, and virtual golf simulation device using the same {SENSING PROCESSING DEVICE AND METHOD FOR MOVING According to OBJECT, AND VIRTUAL GOLF SIMULATION DEVICE USING THE SAME}), "The present invention is a motion that enables high sensing processing power and sensing accuracy to be realized with a low-resolution, low-speed camera device and a strobe device for an image of a moving ball. Disclosed are a sensing processing apparatus for a ball, a sensing processing method, and a virtual golf simulation apparatus using the same.
하지만, 해당 특허문헌의 기술은 다중 노출 촬영방식에 의존하고 있으므로, 골프공 이외에 다른 객체인 골프클럽 그리고 사용자의 신체 일부분이 골프공과 서로 겹쳐 촬영될 수 있으므로 골프공 객체를 추출하는데 있어 기술적 한계점이 존재한다.However, since the technology of the corresponding patent document relies on the multiple exposure shooting method, there is a technical limitation in extracting the golf ball object because the golf club and a part of the user's body other than the golf ball can be photographed overlapping the golf ball. do.
다음으로, 대한민국 등록특허번호 제10-1078975호(2011.10.26. 등록, 발명의 명칭 : 가상 골프 시뮬레이션 장치에 이용되는 센싱장치 및 센싱방법{SENSING DEVICE AND METHOD USED TO APPARATUS FOR VIRTUAL GOLF SIMULATION})에 따르면, "본 발명은 골프클럽 궤적을 추출하기 위한 방법으로 직선 성분의 골프클럽의 샤프트를 추적하는 방법"을 개시하고 있다. Next, in the Republic of Korea Patent No. 10-1078975 (Registered on October 26, 2011, the title of the invention: a sensing device and a sensing method used in a virtual golf simulation device {SENSING DEVICE AND METHOD USED TO APPARATUS FOR VIRTUAL GOLF SIMULATION}) According to the present invention, "a method for tracing the shaft of a golf club of a straight component as a method for extracting a golf club trajectory" is disclosed.
하지만, 해당 특허문헌에서는, 골프클럽의 샤프트는 스틸 이외에도 탄소섬유 또는 플라스틱 등 다양한 재질과 색상으로 제작되므로 카메라의 영상에서는 정확하게 촬영되지 않는다는 한계점이 존재하며, 이에 대한 명확한 구현 방법이 기재되어 있지 않아 실질적인 기술 구현에 있어서 어려움이 따른다.However, in the patent document, since the shaft of the golf club is made of various materials and colors such as carbon fiber or plastic in addition to steel, there is a limitation that it is not accurately captured in the image of the camera, and a clear implementation method for this is not described. There are difficulties in implementing the technology.
다음으로, 대한민국 등록특허번호 제10-1133150호(2012.03.28. 등록, 발명의 명칭 : 골프공 감지장치{Golf ball sensing device})에 따르면, 골프공의 이동방향과 높이를 감지할 수 있는 골프스윙 분석기를 개시하고 있으나, 골프공의 움직임을 감지하기 위한 다열 센서 플레이트를 바닥에 설치하는 불편함이 있었다. Next, according to Republic of Korea Patent No. 10-1133150 (registered on March 28, 2012, title of invention: golf ball sensing device), golf capable of sensing the movement direction and height of a golf ball Although a swing analyzer is disclosed, there is an inconvenience of installing a multi-row sensor plate for detecting the movement of a golf ball on the floor.
다음으로, 대한민국 등록특허번호 제10-1195497호(2012.10.23. 등록, 발명의 명칭 : 골프스윙의 자세분석 시스템{THE GOLF SWING MOTION ANALYSIS SYSTEM})에 따르면, 골프스윙의 자세분석 시스템을 제공하고 있으나, 사용자의 신체 일부에 움직임을 인식하는 웨어러블 센서를 부착하여야 하는 불편함이 있었다.Next, according to Republic of Korea Patent No. 10-1195497 (Registered on October 23, 2012, the title of the invention: the golf swing posture analysis system {THE GOLF SWING MOTION ANALYSIS SYSTEM}), a golf swing posture analysis system is provided and However, it is inconvenient to attach a wearable sensor for recognizing movement to a part of the user's body.
본 발명은 상술한 문제점을 해결하기 위하여 창출된 것으로, 본 발명의 목적은 고속 카메라의 영상만으로 골프클럽이 골프공을 타격하는 정확한 시점의 이미지 프레임을 효율적으로 검색하며 이와 동시에 실제 타격 순간의 골프공과 골프클럽의 이동 속도와 골프공의 회전 속도를 계산하여 사용자에게 실시간으로 제공하는, 고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법을 제공하는 것이다. The present invention was created to solve the above problems, and an object of the present invention is to efficiently search for an image frame at the exact point in time when a golf club hits a golf ball only with an image of a high-speed camera, and at the same time, it is It is to provide a method of recognizing the movement of a golf ball and a golf club from a high-speed camera image, which calculates the movement speed of the golf club and the rotation speed of the golf ball and provides it to the user in real time.
또한, 골프공과 골프클럽의 타격 시점과 동기화된 스윙 자세 영상을 함께 제공하여 사용자가 스스로 스윙 모션의 원인과 결과를 동시에 분석할 수 있는 골프용 모션 분석 장치를 제공하는 것을 본 발명의 또 다른 목적으로 한다. In addition, it is another object of the present invention to provide a motion analysis device for golf in which a user can simultaneously analyze the cause and result of a swing motion by providing a swing posture image synchronized with the hitting time of the golf ball and the golf club. do.
상기의 목적을 달성하기 위한 본 발명에 따른 골프용 모션 분석 장치는, 사용자의 상단에 배치되어 골프공의 움직임을 획득하는 제 1 카메라(101)와, 제 2 카메라(102)와, 스트로보 조명장치를 포함하는 센서부(100); 상기 사용자의 정면과 측면에 배치되어 상기 사용자의 전신 움직임 영상을 획득하는 제 3 카메라(201)와 제 4 카메라(202)를 포함하는 모션부(200); 상기 센서부(100)와 상기 모션부(200)에서 취득된 영상을 저장하고 처리하는 처리부(300); 상기 처리부(300)의 결과를 화면 상에 표시하고 상기 사용자의 입출력 신호를 처리하는 표시부(400); 및 상기 처리부(300)와 물리적으로 통합되어 장치의 제어 설정과 계산 결과를 읽고 저장하는 데이터베이스(500);를 포함한다. A golf motion analysis apparatus according to the present invention for achieving the above object, a
또한, 상기 센서부(100)의 제 1 카메라 및 제 2 카메라는 외부에 위치한 상기 스트로보 조명장치에 촬영 셔터 신호를 송신하며, 상기 스트로보 조명장치는 상기 촬영 셔터 신호에 의해 상기 제 1 카메라 및 제 2 카메라의 촬영 시점과 동조하여 동작을 제어하며, 상기 처리부(300)는, 상기 센서부(100)의 제 1 카메라의 촬영 속도를 지정하고, 상기 센서부(100)는 상기 제 1 카메라(101)의 동기 신호를 상기 제 2카메라(102)와 상기 모션부(200)의 제 3 카메라(201) 및 제 4카메라(202)에 송신하며, 상기 제 2 카메라, 상기 제 3 카메라, 및 상기 제 4카메라는 상기 제 1 카메라의 동기 신호에 의해 상기 제 1 카메라와 동일한 속도로 동일한 시점에 동기화 촬영한다. In addition, the first camera and the second camera of the
한편, 본 발명의 또 다른 실시예에 따른 고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법은, 상술한 골프용 모션 분석 장치를 이용하여, 고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법으로서, 골프 클럽 특성을 설정하고(S1100), 카메라 캘리브레이션 설정을 하고(S1200), 계측 영역을 설정하고(S1300), 초기 영상 프레임(II)을 설정하고(S1400), 영상 처리 설정을 하고(S1500), 카메라 제어를 설정(S1600)하는, 설정 단계(S1000); 타격 영역(TZ)에 놓인 골프공 객체에 대한 타격 준비 여부를 확인하는, 준비단계(S2000); 전체 영상 프레임에서 상기 골프공이 타격되는 시점의 트리거 프레임 인덱스(TIDX)를 검색하는, 트리거단계(S3000); 상기 골프공 객체(BO)의 타격이 감지된 트리거 프레임 인덱스(TIDX)의 영상 프레임에서 골프공 객체(BO)를 검출할 수 있도록, 상기 트리거 영상 프레임(TI)만을 선별하여 버퍼링하는, 버퍼링 단계(S4000); 상기 센서부(100)의 제 1 카메라 및 제 2 카메라의 상기 트리거 영상 프레임(TI)에서 골프공 객체(BO)의 2차원 영상좌표를 검출하고 상기 검출된 2차원 영상좌표에서 골프공 객체(BO)의 3차원 공간 좌표와 골프공 객체(BO)의 3차원 공간 속도를 계산하는, 골프공 검출단계(S5000); 상기 센서부(100)의 제 1 카메라 및 제 2카메라의 상기 트리거 영상 프레임(TI)에서 골프클럽 객체(CO)의 2차원 영상좌표를 검출하고 상기 검출된 2차원 영상좌표에서 골프클럽 객체(CO)의 3차원 공간좌표 및 골프클럽 객체(CO)의 3차원 공간속도를 계산하는, 골프클럽 검출단계(S6000); 및 상기 계산된 골프공과 골프공 타격 이전 골프클럽 끝단점의 3차원 공간벡터(V)로 골프공 객체의 회전 정보를 계산하는, 골프공 회전량 계산단계(S7000);를 포함한다.Meanwhile, the method for recognizing the motion of a golf ball and a golf club in a high-speed camera image according to another embodiment of the present invention uses the above-described motion analysis apparatus for golf to recognize the movement of a golf ball and a golf club in a high-speed camera image. As a method, set the golf club characteristics (S1100), set the camera calibration (S1200), set the measurement area (S1300), set the initial image frame (II) (S1400), set the image processing, and (S1500), setting the camera control (S1600), setting step (S1000); A preparation step (S2000) of confirming whether or not to hit the golf ball object placed in the hitting area (TZ); A trigger step (S3000) of searching for a trigger frame index (TIDX) at the point in time at which the golf ball is hit in the entire image frame; Buffering step ( S4000); The two-dimensional image coordinates of the golf ball object BO are detected from the trigger image frame TI of the first camera and the second camera of the
또한, 상기 설정 단계(S1000)에서는, 상기 제 1 카메라 및 상기 제 2 카메라의 영상에서 골프공과 골프클럽의 움직임을 분석 가능한 모드인 트리거 모드, 및 상기 제 1, 제 2, 제 3, 제 4 카메라의 설치 및 동작 상태를 사용자가 육안으로 확인 가능하도록 동작하는 모드인 프리뷰 모드를 포함하고, (i) 상기 트리거 모드로 동작하는 경우에는, 상기 골프공과 상기 골프클럽의 움직임을 분석하기 위하여 상기 제 1, 제2 카메라를 데이터베이스(5000)에 저장된 골프클럽 특성 설정 값 또는 새로운 값으로 설정(S1100)하는 단계; 상기 제 1, 제 2 카메라를 상기 데이터베이스(5000)에 저장된 캘리브레이션 설정 값 또는 새로운 값으로 설정(S1200)하는 단계; 상기 제 1, 제 2 카메라를 상기 데이터베이스(5000)에 저장된 계측 영역 설정 값 또는 새로운 값으로 설정(S1300)하는 단계; 상기 제 1, 제 2, 제 3, 제 4 카메라를 상기 데이터베이스(5000)에 저장된 초기 영상 프레임(II) 또는 새로운 초기 영상 프레임(II)으로 설정(S1400)하는 단계; 상기 제 1, 제 2 카메라를 상기 데이터베이스(5000)에 저장된 영상 처리 설정 값 또는 새로운 값으로 설정(S1500)하는 단계; 이후 상기 제 1, 제 2, 제 3, 제 4카메라를 상기 데이터베이스(5000)에 저장된 카메라 제어 설정 값 또는 새로운 값으로 설정(S1600)하는 단계;를 포함하며, (ii) 상기 프리뷰 모드로 동작하는 경우에는, 카메라의 설치 및 동작 상태를 확인할 수 있는 영상을 취득하기 위하여, 상기 제 1, 제 2, 제 3, 제 4 카메라를 상기 데이터베이스(5000)로부터 로드한 카메라 제어 설정 값 또는 새로운 값으로 설정(S1600)하는 단계;를 포함한다. In addition, in the setting step (S1000), a trigger mode that is a mode capable of analyzing the movement of a golf ball and a golf club from the images of the first camera and the second camera, and the first, second, third, and fourth cameras and a preview mode, which is a mode that operates so that the user can visually check the installation and operation state of (i) when operating in the trigger mode, in order to analyze the movement of the golf ball and the golf club, the first , setting the second camera to a golf club characteristic setting value or a new value stored in the database 5000 (S1100); setting the first and second cameras to a calibration setting value or a new value stored in the database (5000) (S1200); setting (S1300) the first and second cameras to a measurement area setting value or a new value stored in the database (5000); setting the first, second, third, and fourth cameras as an initial image frame (II) or a new initial image frame (II) stored in the database (5000) (S1400); setting (S1500) the first and second cameras to image processing set values or new values stored in the database (5000); thereafter, setting the first, second, third, and fourth cameras to the camera control set value or new value stored in the database 5000 (S1600); and (ii) operating in the preview mode. In this case, the first, second, third, and fourth cameras are set to a camera control set value loaded from the database 5000 or a new value in order to obtain an image that can confirm the installation and operation status of the camera. (S1600) to; includes.
또한, 상기 카메라 캘리브레이션 설정 단계(S1200)에서는, 상기 제 1 카메라 및 상기 제 2 카메라의 내부 파라메터(Mcam)인 초점거리(fx, fy)와 원점 좌표(Cx, Cy), 및 외부 파라메터인 회전정보(Rcam)와 위치정보(tcam)를 상기 데이터베이스(500)에 저장한다. In addition, in the camera calibration setting step (S1200), the focal length (f x , f y ) and the origin coordinates (C x , C y ), which are internal parameters (M cam ) of the first camera and the second camera, and Rotation information (R cam ) and position information (t cam ), which are external parameters, are stored in the
또한, 상기 계측 영역 설정 단계(S1300)에서는, 상기 골프공의 타격 영역(TZ)과 인체 영역(BZ)을 데이터베이스(500)에 저장하고, 상기 초기 영상 프레임 설정 단계(S1400)에서는, 상기 제 1 내지 제 4 카메라의 영상에서 움직임이 있는 골프공과 사용자 신체를 배제한 오로지 배경만을 촬영한 초기 영상 프레임을 상기 데이터베이스(500)에 저장하고, 상기 영상 처리 설정 단계(S1500)에서는, 상기 준비단계(S2000), 상기 트리거단계(S3000), 상기 골프공 검출단계(S5000) 및 상기 골프클럽 검출단계(S6000)의 영상처리 단계에서 적용되는 영상 처리 설정값을 상기 데이터베이스(500)에 저장하고, 상기 카메라 제어 설정 단계(S1600)에서는, 상기 센서부(100)의 제 1, 제 2 카메라(101, 102)와 상기 모션부(200)의 제 3, 제 4카메라(201, 202)를 제어하는 노출 시간과 카메라 이미지 센서의 감도를 의미하는 밝기 게인 값을 상기 데이터베이스에(500)에 저장할 수 있다. In addition, in the measuring area setting step (S1300), the hitting area (TZ) and the human body area (BZ) of the golf ball are stored in the
또한, 상기 준비단계(S2000)에서, 골프공이 타격 준비된 것으로 확인된 경우, 타격 준비된 골프공 객체(BO)를 레디객체(RO)로 중심점 좌표(Rp)와 반지름(Rr), 픽셀값(Rv)을 상기 데이터베이스(500)에 저장하고, 상기 센서부(100)의 제 1 카메라 및 제 2카메라와, 상기 모션부의 제 3 카메라 및 제 4카메라가 획득하는 골프공 영상의 마지막 프레임을 준비 영상 프레임(RI)으로 데이터베이스(500)에 저장할 수 있다. In addition, in the preparation step (S2000), when it is confirmed that the golf ball is ready to hit, the center point coordinate (R p ) and the radius (R r ), the pixel value ( R v ) is stored in the
또한, 상기 트리거 단계(S3000)에서는, 타격 영역(TZ)에 타격 준비된 골프공 레디객체(RO)의 중심점 좌표(ROp)와 반지름(ROr), 픽셀값(ROv)을 로드하고 중심점 좌표(ROp)와 반지름(ROr)을 기초로 하여, 골프공 레디객체(RO)가 타격되었다고 판단하는 이진화 문턱값(πRr 2)을 계산하여 저장하고, 상기 처리부(300)는, 전체 영상 프레임에서 트리거 프레임 인덱스(TIDX)을 검색하고자 하는 영상의 전체 프레임 수(FQTY)를 확인하여 저장하고, 시작 인덱스(SIDX)를 1, 종료 인덱스(EIDX)를 FQTY, 중간 인덱스(MIDX)를 (EIDX-SIDX)/2로 저장하고, 시작 인덱스(SIDX)에 중간 인덱스(MIDX)를 더한 검색 인덱스(KIDX)를 계산하여 저장하고, 상기 준비 영상 프레임(RI)의 타격 영역(TZ)과 검색 인덱스(KIDX)에 해당하는 영상 프레임의 타격 영역(TZ)을 비교하여 픽셀 변화가 있는 차영상 프레임을 계산하고, 상기 계산된 차영상 프레임에서 데이터베이스(500)에 저장된 트리거단계(S3000)의 상기 이진화 문턱값(πRr 2) 이상의 픽셀 변화가 있는 픽셀 수량(PQTY)을 계산하고, 상기 계산된 픽셀 수량(PQTY)이 상기 이진화 문턱값(πRr 2)보다 큰 경우 종료 인덱스(EIDX)를 중간 인덱스(MIDX)로 변경하며, 상기 계산된 픽셀 수량(PQTY)이 상기 이진화 문턱값(πRr 2)보다 작거나 같은 경우에는 시작 인덱스(SIDX)를 원래의 시작 인덱스에 중간 인덱스(MIDX)를 더한 값으로 변경하고, 다시 중간 인덱스(MIDX)와 검색 인덱스(KIDX)를 변경하고 상기 검색 인덱스(KIDX)에 해당하는 영상 프레임의 타격 영역(TZ)의 차영상에서 픽셀 수량(PQTY)을 계산하는 과정을 반복하여, 중간 인덱스(MIDX)의 값이 1보다 작거나 같다면 검색을 종료하고 검색 인덱스(KIDX)를 트리거 프레임 인덱스(TIDX)로 저장하며 검색을 종료할 수 있다. In addition, in the trigger step (S3000), the center point coordinates (RO p ) and the radius (RO r ), the pixel value (RO v ) of the golf ball ready object (RO) prepared to hit the hitting area (TZ) is loaded and the center point coordinates are loaded. Based on (RO p ) and the radius (RO r ), the binary threshold value (πR r 2 ) for determining that the golf ball-ready object (RO) has been hit is calculated and stored, and the
또한, 상기 골프공 검출단계(S5000)에서는, 상기 제 1 카메라의 골프공 객체(BOl)의 2차원 영상좌표(pl(xl , yl))와 상기 제 2카메라의 골프공 객체(BOr)의 2차원 영상좌표pr(xr , yr)로 이루어진 한 쌍의 2차원 영상좌표(pl, pr)로 상기 골프공 객체(BO)의 3차원 공간좌표(P(x, y, z))를 계산할 때 다음 수학식 4인 In addition, in the golf ball detection step (S5000), the two-dimensional image coordinates (p l (x l , y l )) of the golf ball object (BO l ) of the first camera and the golf ball object of the second camera ( A pair of two-dimensional image coordinates (p l , p r ) consisting of two-dimensional image coordinates p r (x r , y r ) of BO r ) as three-dimensional spatial coordinates (P(x) of the golf ball object BO , y, z)) when calculating the
를 따르고, 골프 스윙 시 사용자 신체 또는 클럽의 가려짐으로 인해 상기 제 1 카메라 또는 상기 제 2카메라 가운데 한 개의 트리거 영상 프레임(TI)에서 골프공 객체(BO)가 검출되지 않을 경우, 상기 제 1 카메라의 골프공 객체(BOl)의 2차원 영상좌표(pl) 또는 상기 제 2카메라의 골프공 객체(BOr)의 2차원 영상좌표(pr) 가운데 한 개의 2차원 영상좌표만으로 골프공 객체(BO)의 3차원 공간좌표(P)를 계산할 때는 다음 수학식 5인 When the golf ball object BO is not detected in the trigger image frame TI of one of the first camera or the second camera due to the occlusion of the user's body or the club during the golf swing, the first camera Only one of the two-dimensional image coordinates (p r) of the two-dimensional image coordinates (p l ) of the golf ball object (BO l ) of the second camera or the two-dimensional image coordinates (p r ) of the golf ball object (BO r ) of the golf ball object When calculating the three-dimensional spatial coordinate (P) of (BO), the following Equation 5
를 따를 수 있다. can follow
또한, 상기 골프클럽 검출단계(S6000)에서는, 상기 트리거 영상 프레임(TI)마다 전경객체 목록(L)을 작성하되, 상기 처리부(300)는, 사용자의 골프클럽 번호가 아이언과 퍼터 클럽인 경우 첫 번째 트리거 영상 프레임(TI)에서는 골프공과 골프클럽이 서로 간섭되므로 상기 전경객체의 목록(L)을 작성하지 않으며, 상기 트리거 영상 프레임(TI)을 이진영상 프레임으로 변환한 다음, 골프공 객체(BO)와 골프공 그림자 객체(BS)를 제거한 상기 클럽골프클럽 객체(CO)만을 검출하고, 상기 골프공 그림자 객체(BS)를 제거하기 위한 2차원 영상 좌표를 계산함에 있어 다음 수학식 6인, In addition, in the golf club detection step (S6000), a foreground object list L is created for each trigger image frame TI, and the
를 따를 수 있다. can follow
상기 검출된 골프클럽 객체(CO)의 2차원 영상좌표를 검출하고 상기 검출된 2차원 영상좌표에서 골프클럽 객체(CO)의 3차원 공간좌표 및 골프클럽 객체(CO)의 3차원 공간속도를 계산할 수 있다. To detect the two-dimensional image coordinates of the detected golf club object (CO) and calculate the three-dimensional space coordinates of the golf club object (CO) and the three-dimensional space velocity of the golf club object (CO) from the detected two-dimensional image coordinates. can
상기 검출된 골프공 객체(BO) 또는 골프클럽 객체(CO)의 2차원 영상좌표를 검출하고 상기 검출된 2차원 영상좌표에서 골프공 객체(BO) 또는 골프클럽 객체(CO)의 3차원 공간좌표와 골프공 객체(BO) 또는 골프클럽 객체(CO)의 3차원 공간속도를 계산함에 있어서, 골프공 객체(BO) 또는 골프클럽 객체(CO)와 골프공 레디객체(RO)의 3차원 공간좌표의 사이 각을 계산할 때, The detected two-dimensional image coordinates of the golf ball object BO or the golf club object CO are detected, and the three-dimensional spatial coordinates of the golf ball object BO or the golf club object CO are detected from the detected two-dimensional image coordinates. In calculating the three-dimensional space velocity of the golf ball object (BO) or the golf club object (CO), the three-dimensional space coordinates of the golf ball object (BO) or the golf club object (CO) and the golf ball-ready object (RO) When calculating the angle between
수학식 7인, Equation 7,
를 따를 수 있다.can follow
상기 수학식 7로 계산된 사이 각이 10°를 초과하는 경우 상기 계산된 3차원 공간좌표가 유효하지 않다고 판단하며 이 경우, 검출된 골프공 객체(BO) 또는 골프클럽 객체(CO)의 2차원 영상좌표가 연속된 두 프레임 이상 검출되지 않더라도 골프공 또는 골프클럽의 3차원 이동속도를 계산하는 방법에 있어If the angle between the calculated by Equation 7 exceeds 10°, it is determined that the calculated three-dimensional spatial coordinate is invalid. In this case, the two-dimensionality of the detected golf ball object BO or golf club object CO In the method of calculating the three-dimensional movement speed of a golf ball or golf club even if the image coordinates are not detected for two or more consecutive frames,
수학식 8인,
및 도 19에 따라 계산할 수 있다.and FIG. 19 .
또한, 상기 골프공 회전량 계산단계(S7000)에서, 상기 처리부(300)는, 3차원 공간벡터(V)를 기초로 골프클럽의 이동 속도(㎧)를 계산할 때, 아래 수학식 9-1인In addition, in the golf ball rotation amount calculation step (S7000), the
를 따르고, 상기 골프클럽이 상기 골프공을 타격하기 이전 상기 골프클럽 객체(CO)의 이동 속도(νci)로 계산하는 방법인 수학식 11인Equation 11 is a method of calculating the moving speed (ν ci ) of the golf club object CO before the golf club hits the golf ball.
를 따르고, follow,
상기 골프공 회전량 계산단계(S7000)는, 수학식 12인 The golf ball rotation amount calculation step (S7000), Equation 12
에 따라 계산할 수 있다. can be calculated according to
또한, 상기 버퍼링단계(S4000)에 있어서, 상기 처리부(300)는, 상기 센서부(100)의 제 1 카메라 및 제 2 카메라가 획득하는 영상에서 상기 골프공 객체(BO)의 타격이 감지된 트리거 프레임 인덱스(TIDX)의 영상 프레임부터 100장 또는 그 이상의 버퍼 영상 프레임(BQTY)에 순차적으로 인덱스를 부여하고 이를 취합하여 저장하고, 상기 처리부(300)는, 상기 모션부(200)의 제 3 카메라 및 제 4카메라에서 취득되는 영상에서 상기 골프공 객체(BO)의 타격이 감지된 트리거 프레임 인덱스(TIDX)의 영상 프레임부터 100장 또는 그 이상의 버퍼 영상 프레임(BQTY)에 순차적으로 인덱스를 부여하고 취합하여 저장하거나 또는 저장 메모리 공간을 절약하기 위하여 한 프레임씩 건너뛰어 50장 또는 그 이상의 버퍼 영상 프레임(BQTY)에 순차적으로 인덱스를 부여하고 이를 취합하여 저장하여, 상기 처리부(300)는, 상기 버퍼 영상 프레임(BQTY)에서 사용자 골프클럽의 번호를 기초로 골프공 객체(BO)를 검출하고자 하는 트리거 영상 프레임(TI)의 시작 시간을 지정하는 프레임 시간 오프셋(Δto)과, 3장의 트리거 영상 프레임(TI)의 시간 간격을 지정하는 프레임 시간 간격(Δti)을 아래 표 2인 In addition, in the buffering step (S4000), the
[표 2][Table 2]
에 따라 지정할 수 있다. can be specified according to
여기서, 상기 W1, W5는 우드1, 우드5를 나타내며, 상기 I3, I8, I9은 아이언3, 아이언8, 아이언9를 나타내며, PW는 피칭웨지를 나타내며, S2는 50m~25m 거리에 대해서 사용하는 샌드웨지를 나타내며, A1은 25m~10m 거리에 대해서 사용하는 어프로치를 나타내며, PT는 퍼터를 나타낸다. 골프클럽의 개별번호에 대한 더 구체적인 사항은 후술하는 표 1을 참조한다. Here, W1 and W5 represent
본 발명에 따른 고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법 및 이를 이용한 골프용 모션 분석 장치에 따르면,According to a method for recognizing the movement of a golf ball and a golf club in a high-speed camera image according to the present invention and a motion analysis apparatus for golf using the same,
첫째, 골프공과 골프클럽의 움직임을 촬영하는 2대 카메라로 구성된 센서부와 사용자 스윙을 촬영하는 2대 카메라로 구성된 모션부로 명확하게 분리되어 동작하는 구조를 특징으로 하는 골프용 모션 분석 장치를 제공하여, 왼손 또는 오른손 사용자에 따른 제약 없이 사용 가능하다.First, by providing a motion analysis device for golf characterized by a structure that clearly separates and operates into a sensor unit consisting of two cameras for photographing the movement of a golf ball and a golf club, and a motion unit consisting of two cameras for photographing a user's swing, , it can be used without restrictions according to left or right-handed users.
둘째, 고속 카메라의 영상에서 입력되는 대량의 영상 프레임에서 사용자의 골프 클럽으로 골프공을 타격하는 트리거 시점의 영상 프레임을 빠르고 정확하게 검색할 수 있는 방법과 골프공의 움직임을 효율적으로 인식할 수 있는 트리거 영상 프레임을 지정하여 저장하는 방법을 제공한다.Second, a method to quickly and accurately search the image frame at the trigger point of hitting the golf ball with the user's golf club from a large number of image frames input from the image of the high-speed camera, and a trigger that can efficiently recognize the movement of the golf ball It provides a method to designate and save an image frame.
셋째, 고속 카메라의 영상만으로 골프클럽이 골프공을 타격하는 정확한 시점의 이미지 프레임을 효율적으로 검색하며 이와 동시에 실제 타격 순간의 골프공과 골프클럽의 이동 속도와 골프공의 회전 속도를 계산하며 또한 골프공과 골프클럽의 타격 시점과 동기화된 스윙자세 영상을 함께 제공한다. Third, it efficiently retrieves the image frame at the exact point in time when the golf club hits the golf ball only with the video from the high-speed camera, and at the same time calculates the movement speed of the golf ball and the golf club and the rotation speed of the golf ball at the actual hitting moment. It provides a swing posture video synchronized with the golf club hitting time.
넷째, 골프공의 정확한 움직임을 추적하기 위한 방법으로, 골프공이 두 대의 카메라가 아닌 한 대의 카메라의 촬영영상에서 검출된 2차원 영상좌표만으로 카메라의 골프공 객체의 3차원 공간위치를 계산하는 방법을 제공한다. Fourth, as a method for tracking the precise movement of a golf ball, a method of calculating the three-dimensional spatial position of a golf ball object of a camera only with two-dimensional image coordinates detected from a photographed image of one camera, not two cameras. to provide.
다섯째, 골프클럽의 정확한 움직임을 추적하기 위한 방법으로 골프클럽의 특성과 촬영 영역을 미리 설정하고 이를 기초로 촬영 영상에서 골프클럽과 관계없는 골프공 객체와 골프공의 그림자 객체를 제거하는 방법을 제공한다. Fifth, as a method for tracking the precise movement of a golf club, the characteristics and shooting area of the golf club are set in advance, and based on this, a method of removing a golf ball object unrelated to a golf club and a shadow object of a golf ball from a photographed image is provided. do.
여섯째, 골프공 또는 골프클럽의 정확한 움직임을 추적하기 위한 방법으로 고속카메라의 촬영영상에서 골프공과 골프클럽의 2차원 영상좌표가 연속된 두 프레임 이상 검출되지 않더라도, 골프공 또는 골프클럽의 3차원 이동속도를 계산하는 방법을 제공한다. Sixth, three-dimensional movement of a golf ball or a golf club is a method for tracking the precise movement of a golf ball or a golf club, even if the two-dimensional image coordinates of the golf ball and the golf club are not detected for two consecutive frames or more in the high-speed camera's captured image Provides a way to calculate speed.
도 1은 본 발명에 따른 골프용 모션 분석 장치의 구조를 예시한 시스템 도면이다.
도 2는 본 발명에 따른 센서부(100)의 제 1 카메라, 제 2카메라와 모션부(200)의 제 3, 제 4 카메라의 동작 속도를 예시한 도면이다.
도 3은 본 발명에 따른 골프용 모션 분석 장치의 설치를 예시한 배치 도면이다.
도 4는 본 발명에 따른 고속 카메라 영상에서 골프공 및 골프클럽의 움직임을 인식하는 방법을 설명하는 플로우차트이다.
도 5는 본 발명에 따른 고속 카메라 영상에서 골프공 및 골프클럽의 움직임을 인식하는 방법에서, 설정 단계(S1000)를 예시한 플로우차트이다.
도 6은 칼리브레이션 설정인 내부 파라메터(Mcam)와 외부 파라메터인 회전정보(Rcam)와 위치정보(tcam)를 예시한 도면이다.
도 7은 카메라의 칼리브레이션 설정에서 외부 파라메터인 회전정보(Rcam)와 위치정보(tcam)에 대하여 상세하게 예시한 도면이다.
도 8은 제 1, 제 2카메라의 영상 영역에서 골프공의 타격 영역(TZ)과 인체 영역(BZ)을 예시한 도면이다.
도 9는 제 1, 제 2, 제3, 제 4카메라의 초기 영상 프레임(II)을 예시한 도면이다.
도 10은 준비단계(S2000)의 타격 준비 여부를 확인하는 방법을 예시한 플로우차트이다.
도 11은 제 1, 제 2, 제3, 제 4카메라의 준비 영상 프레임(RI)을 예시한 도면이다.
도 12는 타격이 감지된 정확한 트리거 프레임 인덱스(TIDX)를 자세히 검색하기 위한 방법을 예시한 플로우차트이다.
도 13은 100여 장의 버퍼 영상 프레임(BQTY)에서 골프공 객체(BO)를 검출하고자 하는 세 장의 트리거 영상 프레임(TI)만을 선별하여 지정한 예시 도면이다.
도 14는 3장의 트리거 영상 프레임(TI)마다 전경객체 목록(L)을 작성하는 방법을 예시한 플로우차트이다.
도 15는 전경객체 목록(L)에서 골프공 객체(BO)만을 필터링하는 방법을 예시한 플로우차트이다.
도 16은 3장의 트리거 영상 프레임(TI)을 이진 영상 프레임으로 변환한 다음 골프공 객체(BO)를 검출한 결과를 예시한 도면이다.
도 17은 한 쌍의 2차원 영상좌표인 pl(xl , yl)과 pr(xr , yr)에서 3차원 공간좌표 P(x, y, z)로 계산하는 방법을 예시한 도면이다.
도 18은 두 개의 3차원 공간좌표(P)를 선택하는 방법을 예시한 플로우차트이다.
도 19는 두 개의 3차원 공간좌표 (x1 , y1 , z1), (x2 , y2 , z2)와 데이터베이스(500)에 저장된 타격 준비된 골프공 레디객체(RO)의 3차원 공간좌표 (xr , yr , zr)로 3차원 공간벡터(V)의 시점 P1과 종점 P2, 이동 시간(Δt)을 계산하는 방법을 예시한 플로우차트이다.
도 20은 3장의 트리거 영상 프레임(TI)마다 전경객체 목록(L)을 작성하는 방법을 예시한 플로우차트이다.
도 21은 골프클럽 형상 객체를 검색하는 방법을 예시한 플로우차트이다.
도 22는 3장의 트리거 영상 프레임(TI)을 이진영상 프레임으로 변환한 다음 골프공 객체(BO)와 골프공 그림자 객체(BS)를 제거한 클럽골프클럽 객체(CO)만을 검출한 결과를 예시한 도면이다.
도 23은 센서부의 제 1, 제 2카메라의 영상에서 검출된 객체의 외곽선 좌표의 집합인 P[0~n], 무게중심점 좌표(C)에서 객체의 외곽선까지 최대거리인 좌표(P2)까지 거리인 Dmax, 최소 거리인 좌표(P1)까지 거리인 Dmin을 도시한 것이다.1 is a system diagram illustrating the structure of a motion analysis apparatus for golf according to the present invention.
FIG. 2 is a diagram illustrating operating speeds of the first and second cameras of the
3 is a layout view illustrating the installation of a motion analysis device for golf according to the present invention.
4 is a flowchart illustrating a method of recognizing the movement of a golf ball and a golf club in a high-speed camera image according to the present invention.
5 is a flowchart illustrating a setting step (S1000) in a method for recognizing the movement of a golf ball and a golf club in a high-speed camera image according to the present invention.
6 is a diagram illustrating an internal parameter (M cam ) that is a calibration setting, rotation information (R cam ) and position information (t cam ) that are external parameters.
7 is a view illustrating in detail rotation information (R cam ) and position information (t cam ) that are external parameters in the calibration setting of the camera.
FIG. 8 is a diagram illustrating a striking area TZ and a human body area BZ of a golf ball in the image area of the first and second cameras.
9 is a diagram illustrating an initial image frame II of the first, second, third, and fourth cameras.
10 is a flowchart illustrating a method of confirming whether to hit the preparation step (S2000).
11 is a diagram illustrating the preparation image frames RI of the first, second, third, and fourth cameras.
12 is a flowchart illustrating a method for retrieving an accurate trigger frame index (TIDX) in which a blow is detected in detail.
13 is an exemplary diagram for selecting and designating only three trigger image frames TI for detecting a golf ball object BO from 100 buffer image frames BQTY.
14 is a flowchart illustrating a method of creating a foreground object list (L) for every three trigger image frames (TI).
15 is a flowchart illustrating a method of filtering only the golf ball object (BO) in the foreground object list (L).
16 is a diagram illustrating a result of converting three trigger image frames TI into binary image frames and then detecting a golf ball object BO.
17 illustrates a method of calculating a pair of two-dimensional image coordinates p l (x l , y l ) and p r (x r , y r ) as three-dimensional spatial coordinates P(x, y, z) It is a drawing.
18 is a flowchart illustrating a method of selecting two three-dimensional spatial coordinates (P).
19 is a three-dimensional space of two three-dimensional space coordinates (x 1 , y 1 , z 1 ), (x 2 , y 2 , z 2 ) and a golf ball ready object (RO) ready to hit stored in the
20 is a flowchart illustrating a method of creating a foreground object list (L) for every three trigger image frames (TI).
21 is a flowchart illustrating a method of searching for a golf club shape object.
22 is a view illustrating the result of detecting only the club golf club object (CO) from which the three trigger image frames (TI) are converted into binary image frames and then the golf ball object (BO) and the golf ball shadow object (BS) are removed. to be.
23 shows the distance from P[0 to n], which is a set of coordinates of the outline of the object detected in the images of the first and second cameras of the sensor unit, and the coordinates P2, which is the maximum distance from the coordinates of the center of gravity (C) to the outline of the object. Dmax, which is the distance to the coordinate P1, which is the minimum distance, is Dmin.
이하 첨부된 도면을 참조하면서 본 발명에 따른 바람직한 실시예를 상세히 설명하기로 한다. 이에 앞서, 본 명세서 및 청구범위에 사용된 용어나 단어는 통상적이거나 사전적인 의미로 한정해서 해석되어서는 아니 되며, 발명자는 그 자신의 발명을 가장 최선의 방법으로 설명하기 위해 용어의 개념을 적절하게 정의할 수 있다는 원칙에 입각하여, 본 발명의 기술적 사상에 부합하는 의미와 개념으로 해석되어야만 한다.Hereinafter, preferred embodiments according to the present invention will be described in detail with reference to the accompanying drawings. Prior to this, the terms or words used in the present specification and claims should not be construed as being limited to conventional or dictionary meanings, and the inventor should properly understand the concept of the term in order to best describe his invention. Based on the principle that it can be defined, it should be interpreted as meaning and concept consistent with the technical idea of the present invention.
따라서, 본 명세서에 기재된 실시예와 도면에 도시된 구성은 본 발명의 가장 바람직한 일 실시예에 불과할 뿐이고 본 발명의 기술적 사상을 모두 대변하는 것은 아니므로, 본 출원시점에 있어서 이들을 대체할 수 있는 다양한 균등물과 변형예들이 있을 수 있음을 이해하여야 한다.Therefore, the configuration shown in the embodiments and drawings described in the present specification is merely the most preferred embodiment of the present invention and does not represent all of the technical spirit of the present invention, so at the time of the present application, various It should be understood that there may be equivalents and variations.
(골프용 모션 분석 장치)(motion analysis device for golf)
도 1은 본 발명에 따른 골프용 모션 분석 장치의 구조를 예시한 시스템 도면이다.1 is a system diagram illustrating the structure of a motion analysis apparatus for golf according to the present invention.
도 1에 도시된 바와 같이, 본 발명에 따른 골프용 모션 분석 장치는, 사용자의 상단에 배치되어 골프공의 움직임을 획득하는 제 1카메라(101), 제 2카메라(102)와 스트로보 조명장치를 포함하는 센서부(100); 사용자의 정면과 측면에 배치되어 사용자의 전신 움직임 영상을 획득하는 제 3카메라(201), 제 4카메라(202)를 포함하는 모션부(200); 센서부(100)와 모션부(200)에서 취득된 영상을 저장하고 처리하는 처리부(300); 및 처리부(300)의 결과를 화면상에 표시하고 사용자의 입출력 신호를 처리하는 표시부(400);와 처리부(300)와 물리적으로 통합되어 장치의 제어 설정과 계산 결과를 읽고 저장할 수 있는 데이터베이스(500);를 포함한다. As shown in Figure 1, the golf motion analysis device according to the present invention, a
여기서, 센서부(100)의 제 1 카메라 및 제 2카메라는 외부에 위치한 스트로보 조명장치에 촬영 셔터 신호를 송신하며, 스트로보 조명장치는 상기 촬영 셔터 신호에 의해 제 1, 제 2카메라의 촬영 시점과 동조하여 동작을 제어한다. Here, the first camera and the second camera of the
처리부(300)는, 센서부(100)의 제 1 카메라의 촬영 속도를 지정한다. 센서부(100)는 제 1카메라(101)의 동기 신호를 나머지 제 2카메라(102)와 모션부(200)의 제 3, 제 4카메라(201, 202)에 송신하며, 제 2, 제 3, 제 4카메라는 동기 신호에 의해 제 1카메라와 동일한 속도로 동일한 시점에 동기화 촬영한다. The
또한, 처리부(300)는, 센서부(100)의 제 1카메라의 촬영 속도를 트리거 모드로 설정하여 제 1, 제2 카메라의 영상에서 골프공과 골프클럽의 움직임을 분석 가능하도록 동작할 수 있다. 이때 상기 센서부(100)의 제 1카메라의 촬영 속도는 초당 300프레임으로 동작하며 상기 처리부(300)은 제 1, 제2 카메라의 영상 프레임에서 골프공 객체와 골프클럽 객체를 검출하며 움직임을 분석하며 상기 표시부(400)는 화면상에 상기 분석 결과를 실시간으로 표시할 수 있다.In addition, the
또한, 처리부(300)은 모션부(200)의 제 3, 제 4카메라에서 취득되는 영상을 한 프레임씩 건너뛰어 저장하여 사용하는 메모리를 절약할 수 있다. 참고로, 도 2는 본 발명에 따른 센서부(100)의 제 1 카메라, 제 2카메라와 모션부(200)의 제 3, 제 4 카메라의 동작 속도를 예시한 도면이다.Also, the
상기 처리부(300)는, 상기 센서부(100)의 제 1카메라의 촬영 속도를 프리뷰 모드로 설정하여 제 1, 제2, 제 3, 제 4카메라의 설치 및 동작 상태를 사용자가 육안으로 확인 가능하도록 동작할 수 있다. 이 때 상기 센서부(100)의 제 1카메라의 촬영 속도는 초당 60프레임으로 동작하며 상기 표시부(400)는 화면상에 제1, 제2, 제 3, 제 4 카메라의 영상을 실시간으로 표시할 수 있다. The
일 실시예로 카메라의 촬영 속도를 설명하였으며, 본 기술은 상기 센서부(100)의 제 1카메라의 촬영 속도를 초당 60프레임, 또는 반드시 초당 300프레임으로 한정하지 않는다. 참고로, 도 3은 본 발명에 따른 골프용 모션 분석 장치의 설치를 예시한 배치 도면이다. The photographing speed of the camera has been described as an embodiment, and the present technology does not limit the photographing speed of the first camera of the
(고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법) (How to recognize the movement of golf balls and golf clubs in high-speed camera images)
도 4는 본 발명에 따른 고속 카메라 영상에서 골프공 및 골프클럽의 움직임을 인식하는 방법을 설명하는 플로우차트이다. 4 is a flowchart illustrating a method of recognizing the movement of a golf ball and a golf club in a high-speed camera image according to the present invention.
도 4에 도시된 바와 같이, 본 발명에 따른 고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법은, 설정단계(S1000), 준비단계(S2000), 트리거단계(S3000), 버퍼링 단계(S4000), 골프공 검출단계(S5000), 골프클럽 검출단계(S6000), 골프공 회전량 계산단계(S7000)로 이루어진다. 여기서, 골프공 검출단계(S5000)는 상세하게는 골프공 객체 검출(S51000), 골프공 좌표 계산(S5200), 골프공 속도 계산(S5300) 순으로 구분되어 진행할 수 있으며, 또한 골프클럽 검출단계(S6000)은 상세하게는 골프클럽 객체 검출(S61000), 골프클럽 좌표 계산(S6200), 골프클럽 속도 계산(S6300) 순으로 구분되어 진행할 수 있다. As shown in FIG. 4 , the method for recognizing the movement of a golf ball and a golf club in a high-speed camera image according to the present invention includes a setting step (S1000), a preparation step (S2000), a trigger step (S3000), and a buffering step (S4000). ), a golf ball detection step (S5000), a golf club detection step (S6000), and a golf ball rotation amount calculation step (S7000). Here, the golf ball detection step (S5000) can be performed separately from the golf ball object detection (S51000), the golf ball coordinate calculation (S5200), and the golf ball speed calculation (S5300) in the order, and also the golf club detection step ( In detail, S6000) may be performed in the order of golf club object detection (S61000), golf club coordinate calculation (S6200), and golf club speed calculation (S6300).
(설정 단계)(setting step)
도 5는 본 발명에 따른 고속 카메라 영상에서 골프공 및 골프클럽의 움직임을 인식하는 방법에서, 설정 단계(S1000)를 예시한 플로우차트이다. 5 is a flowchart illustrating a setting step (S1000) in a method for recognizing the movement of a golf ball and a golf club in a high-speed camera image according to the present invention.
도 5에 도시된 바와 같이, 골프공과 골프클럽의 움직임을 인식하는 방법의 설정단계(S1000)에서 골프용 모션 분석 장치의 동작모드를 “트리거 모드” 또는 “프리뷰 모드”로 구분하여 설정할 수 있다. 여기에서 “트리거 모드”는 제 1 카메라 및 제 2 카메라의 영상에서 골프공과 골프클럽의 움직임을 분석 가능한 모드이며, “프리뷰 모드”는 제 1, 제 2, 제 3, 제 4 카메라의 설치 및 동작 상태를 사용자가 육안으로 확인 가능하도록 동작하는 모드를 의미한다. As shown in FIG. 5 , in the setting step ( S1000 ) of the method for recognizing the movement of the golf ball and the golf club, the operation mode of the motion analysis apparatus for golf may be divided into “trigger mode” or “preview mode” and set. Here, the “trigger mode” is a mode in which the movement of the golf ball and golf club can be analyzed from the images of the first and second cameras, and the “preview mode” is the installation and operation of the first, second, third, and fourth cameras. It means a mode that operates so that the user can visually check the state.
자세하게는 처리부(300)는, 설정단계(S1000)에서 “트리거 모드”로 동작하는 경우 골프공과 골프클럽의 움직임을 분석하기 위하여 제 1, 제2 카메라를 데이터베이스(5000)에 저장된 골프클럽 특성 설정 값 또는 새로운 값으로 설정(S1100)할 수 있으며, 제 1, 제 2 카메라를 데이터베이스(5000)에 저장된 캘리브레이션 설정 값 또는 새로운 값으로 설정(S1200)할 수 있으며, 제 1, 제 2 카메라를 데이터베이스(5000)에 저장된 계측 영역 설정 값 또는 새로운 값으로 설정(S1300)할 수 있으며, 제 1, 제 2, 제 3, 제 4 카메라를 데이터베이스(5000)에 저장된 초기 영상 프레임(II) 또는 새로운 초기 영상 프레임(II)으로 설정(S1400)할 수 있으며, 제 1, 제 2 카메라를 데이터베이스(5000)에 저장된 영상 처리 설정 값 또는 새로운 값으로 설정(S1500)할 수 있으며, 이 후 제 1, 제 2, 제 3, 제 4카메라를 데이터베이스(5000)에 저장된 카메라 제어 설정 값 또는 새로운 값으로 설정(S1600)할 수 있다.In detail, the
또한, 처리부(300)는, 설정단계(S1000)에서 “프리뷰 모드”로 동작하는 경우 카메라의 설치 및 동작 상태를 확인할 수 있는 영상을 취득하기 위하여 제 1, 제 2, 제 3, 제 4 카메라를 데이터베이스(5000)로부터 로드한 카메라 제어 설정 값 또는 새로운 값으로 설정(S1600)할 수 있다. In addition, the
또한, 처리부(300)는, 카메라 제어 설정(S1600)을 완료한 후 데이터베이스(5000)로부터 로드한 설정 값에 변화가 있다면 이를 데이터베이스(5000)에 다시 저장할 수 있다. 처리부(300)는, 카메라 설정(S1100~S1600)을 완료한 후 카메라의 동작을 개시할 수 있다. In addition, if there is a change in the setting value loaded from the database 5000 after completing the camera control setting ( S1600 ), the
다음으로, 골프클럽 특성 설정에 대해서 설명한다. Next, golf club characteristic setting will be described.
처리부(300)는, 설정단계(S1000)에서 사용자의 골프클럽을 개별번호로 구분하여 해당 골프클럽 페이스가 지면과 이루는 각도를 의미하는 “로프트(˚)”, 해당 골프클럽 헤드의 평균적인 무게를 의미하는 “헤드중량(㎏)”, 해당 골프클럽으로 골프공을 타격할 경우 골프공의 평균적인 구속을 의미하는 “예상 구속(㎧)”과 해당 골프클럽 헤드의 예상 이동 속도를 의미하는 “속도 계수(㎧)”의 특성 설정값을 데이터베이스(500)에 저장할 수 있다. 아래 표 1은 골프클럽의 개별번호에 해당하는 특성 설정 값을 예시한 테이블이다. The
[표 1] [Table 1]
상술한 표 1은 본 발명에 따른 일 실시예로서 골프클럽의 특성 설정 값을 설명하기 위한 것으로, 반드시 이에 한정 또는 제한되지 않음은 물론이다. Table 1 described above is for describing the characteristic setting value of a golf club as an embodiment according to the present invention, and is not necessarily limited or limited thereto.
또한, 처리부(300)는 설정단계(S1000)에서 사용자의 골프클럽을 그룹번호로 구분하여 해당 골프클럽으로 골프공 타격 시 예상되는 골프공의“예상 이동 속도(㎧)”, 골프공을 촬영하는 고속 카메라의 영상에서 트리거 영상 프레임의 시간 간격을 의미하는 “프레임 시간 간격-Δti(㎳)”, 골프공을 촬영하는 고속 카메라의 영상에서 트리거 영상 프레임의 첫 번째 프레임의 시작 시간을 의미하는 “프레임 시간 오프셋-Δto(㎳)”과, “프레임 시간 간격-Δti(㎳)”동안 골프공이 “예상 이동 속도(㎧)”로 이동할 경우 예상되는 골프공의 “프레임 이동거리(㎜)”를 데이터베이스(500)에 저장할 수 있다. 아래 표 2는 골프클럽의 그룹번호에 해당하는 특성 설정 값을 예시한 테이블이다.In addition, the
[표 2] [Table 2]
상술한 표 2에서 센서부(100)의 제 1, 제 2카메라를 초당 300프레임의 속도로 획득하는 경우 프레임 시간 간격(Δti)과 프레임 시간 오프셋(Δto)를 기재하였으나, 본 발명은 초당 300프레임의 촬영 속도로 반드시 한정 또는 제한되지 않으므로, 표 2의 프레임 시간 간격(Δti)과 프레임 시간 오프셋(Δto)은 카메라의 동작 속도에 따라 변경될 수 있음은 물론이다.In Table 2 above, when the first and second cameras of the
다음으로, 카메라 캘리브레이션 설정을 설명한다. Next, the camera calibration settings will be described.
처리부(300)는, 설정단계(S1000)에서, 센서부(100)의 제 1, 제 2카메라의 내부 파라메터(Mcam)와 외부 파라메터를 데이터베이스(500)에 저장할 수 있다. 도 6은 칼리브레이션 설정인 내부 파라메터(Mcam)와 외부 파라메터인 회전정보(Rcam)와 위치정보(tcam)를 예시한 도면이다. 도 6에서, 카메라 좌표계라는 것은 카메라의 초점을 원점으로 하고, 카메라의 정면 광학축 방향을 Z축으로, 카메라 아래쪽 방향을 Y축으로, 카메라의 오른쪽 방향을 X축으로 지정한 좌표계를 나타내며, 월드 좌표계라는 것은 사용자의 티 위치를 원점으로 하고, 좌우 방향을 X축으로, 전후 방향을 Y축으로, 상하 방향을 Z축으로 지정한 좌표계를 말한다. The
구체적으로, 처리부(300)는, 센서부(100)의 제 1 카메라, 제 2카메라의 내부 파라메터(Mcam)인 초점거리(fx, fy)와 원점 좌표(Cx, Cy)를 데이터베이스(500)에 저장한다. 아래의 수학식1은 카메라의 캘리브레이션 설정에서 내부 파라메터(Mcam)인 초점거리(fx, fy)와 원점 좌표(Cx, Cy)에 대하여 상세하게 예시한 수식이다.Specifically, the
[수학식 1] [Equation 1]
또한, 처리부(300)는, 제 1 카메라, 제 2카메라의 외부 파라메터인 회전정보(Rcam)와 위치정보(tcam)를 데이터베이스(500)에 저장한다. 도 7은 카메라의 칼리브레이션 설정에서 외부 파라메터인 회전정보(Rcam)와 위치정보(tcam)에 대하여 상세하게 예시한 도면이다. In addition, the
아래 수학식 2는 카메라의 칼리브레이션 설정에서 외부 파라메터인 회전정보(Rcam)와 위치정보(tcam)에 대하여 상세하게 예시한 수식이다.
[수학식 2] [Equation 2]
여기서, 월드좌표(tx, ty, tz)라는 것은 도 6에서 상술한 월드 좌표계에서 카메라의 위치를 X축(tx), Y축(ty), Z축(tz)에 대하여 mm단위로 표시한 것을 나타낸다. Here, the world coordinates (tx, ty, tz) means that the position of the camera in the world coordinate system described above with respect to the X-axis (tx), Y-axis (ty), and Z-axis (tz) is expressed in mm units. indicates.
다음으로, 계측 영역 설정에 대해서 설명한다. Next, measurement area setting will be described.
도 8은 제 1, 제 2카메라의 영상 영역에서 골프공의 타격 영역(TZ)과 인체 영역(BZ)을 예시한 도면이다. 처리부(300)는 설정단계(S1000)에서 골프공의 타격 영역(TZ)과 인체 영역(BZ)을 데이터베이스(500)에 저장할 수 있다. 보다 자세하게는, 도 8에 도시된 것처럼, 처리부(300)는, 센서부(100)의 제 1 카메라, 제 2 카메라가 획득하는 골프공 영상에서 사용자의 왼손 또는 오른손잡이 정보와 사용자가 타격 시 사용할 골프클럽 번호를 우드(WOOD)와 아이언(IRON) 또는 퍼터(PUTT)으로 그룹화한 다음 타격하고자 하는 티 위치를 사각형 좌표로 골프공의 타격 영역(TZ)으로 데이터베이스(500)에 저장할 수 있다. 그리고 처리부(300)는 사용자의 왼손 또는 오른손잡이 정보에 따라 스윙 시 인체의 움직임 범위 영역을 사각형 좌표로 인체 영역(BZ)을 데이터베이스(500)에 저장할 수 있다. FIG. 8 is a diagram illustrating a striking area TZ and a human body area BZ of a golf ball in the image area of the first and second cameras. The
다음으로 초기 영상 프레임 설정에 대하여 설명한다. Next, an initial image frame setting will be described.
처리부(300)는, 골프공과 골프클럽의 움직임을 인식하는 방법의 설정단계(S1000)에서, 제 1 카메라 내지 제 4카메라의 영상에서 움직임이 있는 골프공과 사용자 신체를 배제한 오로지 배경만을 촬영한 초기 영상 프레임(II)을 데이터베이스(500)에 저장할 수 있다. 도 9는 제 1, 제 2, 제3, 제 4카메라의 초기 영상 프레임(II)을 예시한 도면이다. The
다음으로 영상 처리 설정에 대하여 설명한다. Next, image processing settings will be described.
처리부(300)는 골프공과 골프클럽의 움직임을 인식하는 방법의 설정단계(S1000)에서 준비단계(S2000), 트리거단계(S3000), 골프공 검출단계(S5000), 골프클럽 검출단계(S6000)의 영상처리 단계에서 적용되는 영상 처리 설정값을 데이터베이스(500)에 저장할 수 있다. The
보다 자세하게는, 처리부(300)는, 준비단계(S2000)의 차영상 프레임에서 잡음을 제거하기 위한 이진화 문턱 값을 데이터베이스(500)에 저장할 수 있다. 또한, 처리부(300)는, 트리거단계(S3000)의 계산된 차영상 프레임에서 잡음을 제거하기 위한 이진화 문턱 값을 데이터베이스(500)에 저장할 수 있다. In more detail, the
또한, 처리부(300)는, 골프공 검출단계(S5000)의 차영상 프레임에서 잡음을 제거하기 위한 이진화 문턱 값을 데이터베이스(500)에 저장할 수 있다. 또한, 처리부(300)는, 골프클럽 검출단계(S6000)의 차영상 프레임에서 잡음을 제거하기 위한 이진화 문턱 값을 데이터베이스(500)에 저장할 수 있다. Also, the
또한, 처리부(300)는, 센서부의 제 1, 제 2카메라의 영상에서 골프공 객체(BO)로 검출하고자 하는 최소 예상 크기와 최대 예상 크기를 데이터베이스에(500)에 저장할 수 있다. 처리부(300)는 골프클럽 검출단계(S6000)에서 골프클럽 객체(CO)를 검출하고자 하는 최소 예상크기와 최대 예상크기를 데이터베이스에(500)에 저장할 수 있다. Also, the
또한, 처리부(300)는, 센서부의 제 1, 제 2카메라의 영상에서 골프공 객체(BO)로 검출하고자 하는 최소 서클 피팅 값을 데이터베이스에(500)에 저장할 수 있다. Also, the
도 23은 센서부의 제 1, 제 2카메라의 영상에서 검출된 객체의 외곽선 좌표의 집합인 P[0~n], 무게중심점 좌표(C)에서 객체의 외곽선까지 최대거리인 좌표(P2)까지 거리인 Dmax, 최소 거리인 좌표(P1)까지 거리인 Dmin을 도시한 것이다.23 shows the distance from P[0 to n], which is a set of coordinates of the outline of the object detected in the images of the first and second cameras of the sensor unit, and the coordinates P2, which is the maximum distance from the coordinates of the center of gravity (C) to the outline of the object. Dmax, which is the distance to the coordinate P1, which is the minimum distance, is Dmin.
도 23을 참조하여 설명하면, 서클피팅 값은, 검출된 객체의 외곽선 좌표의 집합을 P[0~n]이라고 하고, 검출된 객체의 무게 중심점 좌표를 C라고 할 때, 검출된 객체의 무게중심점 좌표(C)에서 객체의 외곽선까지 최대거리인 좌표(P2)까지 거리인 Dmax와 최소 거리인 좌표(P1)까지 거리인 Dmin의 차이를 무게중심점 좌표(C)에서 외곽선 좌표의 집합(P[0~n])까지 평균거리인 Davg로 나눈 비율 값이다. (서클피팅 값 = {Dmax - Dmin} / Davg)Referring to FIG. 23 , the circle fitting value is the center point of the detected object when the set of coordinates of the outline of the detected object is P[0 to n] and the coordinate of the center of gravity of the detected object is C. The difference between Dmax, the distance from the coordinates (C) to the coordinates (P2), which is the maximum distance, from the coordinates (C), and Dmin, which is the distance from the coordinates (P1), which is the minimum distance, from the coordinates of the center of gravity (C) to the set of outline coordinates (P[0) ~n]) is the ratio value divided by the average distance Davg. (Circle fitting value = {Dmax - Dmin} / Davg)
다음으로, 카메라 제어 설정에 대하여 설명한다. Next, camera control settings will be described.
처리부(300)는, 골프공과 골프클럽의 움직임을 인식하는 방법의 설정단계(S1000)에서 제 1, 제 2, 제 3, 제 4카메라의 제어 설정값을 데이터베이스(500)에 저장할 수 있다. The
보다 자세하게는, 처리부(300)는, 설정단계(S1000)에서 센서부(100)의 제 1, 제 2 카메라(101, 102)와 모션부(200)의 제 3, 제 4카메라(201, 202)를 제어하는 노출 시간과 카메라 이미지 센서의 감도를 의미하는 밝기 게인 값을 데이터베이스에(500)에 저장할 수 있다. 처리부(300)는, 설정단계(S1000)에서 센서부(100)의 제 1카메라(101)의 “트리거 모드”와 “프리뷰 모드”의 동작 속도를 데이터베이스에(500)에 저장할 수 있다. In more detail, the
(준비 단계)(preparation stage)
도 10은 준비단계(S2000)의 타격 준비 여부를 확인하는 방법을 예시한 플로우차트이다. 도 11은 제 1, 제 2, 제3, 제 4카메라의 준비 영상 프레임(RI)을 예시한 도면이다. 10 is a flowchart illustrating a method of confirming whether to hit the preparation step (S2000). 11 is a diagram illustrating the preparation image frames RI of the first, second, third, and fourth cameras.
본 발명에 따른 골프공과 골프클럽의 움직임을 인식하는 방법의 준비단계(S2000)에서는, 골프용 모션 분석 장치의 센서부 카메라만으로 타격 준비된 골프공을 감지하는 타격 영역(TZ)에 놓인 골프공 객체(BO)에 대해 타격 준비 여부를 확인할 수 있다. In the preparation step (S2000) of the method for recognizing the movement of a golf ball and a golf club according to the present invention, a golf ball object placed in the hitting area (TZ) that detects a golf ball ready to hit only with the sensor unit camera of the golf motion analysis device ( You can check whether you are ready to strike against BO).
구체적으로, 처리부(300)는, 상기 준비단계(S2000)에서 전좌표(BOp)를 초기화하며 센서부의 제 1, 제 2카메라(101, 102)의 영상을 획득할 수 있다. 그리고 상기 처리부(300)는, 사용자의 왼손 또는 오른손잡이 정보를 기초로 상기 센서부(100)의 제 1, 제 2카메라(101, 102) 가운데 한 개의 카메라를 상기 센서부(100)의 타격 준비된 골프공을 감지하는 트리거 카메라(TC)로 미리 선택할 수 있다. 그리고 상기 처리부(300)는, 상기 데이터베이스(500)에 저장된 트리거 카메라(TC)의 우드 타격 영역(TZ WOOD), 아이언 타격 영역(TZ IRON), 퍼터 타격 영역(TZ PUTT) 가운데 사용자의 골프클럽 번호에 해당하는 영역을 타격 영역(TZ)으로 미리 선택할 수 있다.Specifically, the
처리부(300)는, 준비단계(S2000)에서 센서부(100)의 트리거 카메라(TC)가 획득하는 골프공 영상을 영상 프레임 단위로 분할하고, 분할된 영상 프레임과 초기 영상 프레임(II)에서 픽셀 변화가 있는 차영상 프레임을 계산할 수 있다. 처리부(300)는, 계산된 차영상 프레임에서 잡음을 제거하기 위하여 데이터베이스(500)에 저장된 준비단계(S2000)의 이진화 문턱 값 이상인 이진영상 프레임으로 계산할 수 있다. The
처리부(300)는, 계산된 이진영상 프레임에서 타격 준비된 골프공을 감지하는 타격 영역(TZ)내에서 골프공 객체(BO)를 검출하고 중심점 좌표(BOp), 반지름(BOr), 픽셀 값(BOv)과 현 시각(BOt)를 계산할 수 있다. 그리고 처리부(300)는, 만약 비교 좌표(BOp’)가 존재하는 경우 현재 객체의 중심점 좌표(BOp)를 비교좌표(BOp’)로, 또한 현시각(BOt)를 비교시각(BOt‘)으로 업데이트 할 수 있다. The
처리부(300)는, 준비단계(S2000)에서 센서부(100)의 트리거 카메라(TC)가 획득하는 연속된 다음 영상 프레임과 초기 영상 프레임(II)에서 픽셀 변화가 있는 차영상 프레임을 계산할 수 있다. 상기 처리부(300)는, 계산된 차영상 프레임에서 잡음을 제거하기 위하여 데이터베이스(500)에 저장된 준비단계(S2000)의 이진화 문턱 값 이상인 이진영상 프레임으로 계산할 수 있다. The
처리부(300)는, 계산된 이진영상 프레임에서 타격 준비된 골프공을 감지하는 타격 영역(TZ)내에서 골프공 객체(BO)의 중심점 좌표(BOp)가 비교좌표(BOp’)간 거리가 2픽셀 이내이고 현 시각(BOt)이 비교시각(Ot‘)과 시간 차이가 1초 이상인 경우 골프공이 타격 준비가 되었음으로 확인할 수 있다. The
처리부(300)는, 준비단계(S2000)에서 상술한 바와 같이 골프공이 타격 준비된 것으로 확인된 경우, 준비단계(S2000)에서 타격 준비된 골프공 객체(BO)를 레디객체(RO)로 중심점 좌표(Rp)와 반지름(Rr), 픽셀값(Rv)을 데이터베이스(500)에 저장한다. 그리고 처리부(300)는, 준비단계(S2000)에서 상기와 같이 골프공이 타격 준비된 것으로 확인한 경우 센서부(100)의 제 1, 제 2카메라와, 모션부의 제 3, 제 4카메라가가 획득하는 골프공 영상의 마지막 프레임을 준비 영상 프레임(RI)으로 데이터베이스(500)에 저장한다. When it is confirmed that the golf ball is ready to hit in the preparation step (S2000), the
그리고 처리부(300)는, 준비단계(S2000)에서 상술한 바와 같이 골프공이 타격 준비된 것으로 확인한 경우 타격 준비된 상기 골프공 레디객체(RO)의 중심점 좌표(Rp)인 2차원 영상 좌표를 3차원 공간 좌표로 계산하여 데이터베이스(500)에 저장한다. 아래 수학식 3은 2차원 영상 좌표를 3차원 좌표로 계산하는 방법을 예시한 수식이다. And the
[수학식 3][Equation 3]
여기서 M은 카메라의 초점거리와 이미지센서 원점정보를 저장한 3X3 행렬이며, 상술한 수학식 1에서 Mcam(Intrinsic Matrix)과 동일하다. 여기서 R은 카메라의 X축, Y축, Z축에 대한 회전정보를 저장한 3X3 행렬이며, 상술된 수학식 2에서 Rcam(Rotation Matrix)과 동일하다. 여기서 t는 카메라의 X축, Y축, Z축에 대한 위치정보를 저장한 3X1 행렬이며, 이미 상술한 수학식 2에서 tcam(Translation Matrix)과 동일하다. 여기서 R과 t가 의미하는 바에 대해 도 7에서 상세하게 도시하였다.Here, M is a 3X3 matrix storing the focal length of the camera and the image sensor origin information, and is the same as Mcam (Intrinsic Matrix) in
또한 Zconst는 3차원 공간의 높이 값이므로, 티 높이(mm)에 골프공의 반지름인 21mm를 더한 값이다. In addition, since Zconst is a height value in three-dimensional space, it is a value obtained by adding 21mm, which is the radius of a golf ball, to the height of the tee (mm).
(트리거 단계)(trigger phase)
도 12는 타격이 감지된 정확한 트리거 프레임 인덱스(TIDX)를 자세히 검색하기 위한 방법을 예시한 플로우차트이다. 12 is a flowchart illustrating a method for retrieving an accurate trigger frame index (TIDX) in which a blow is detected in detail.
도 12에 도시된 바와 같이, 본 발명에 따른 골프공과 골프클럽의 움직임을 인식하는 방법의 트리거단계(S3000)에서, 골프용 모션 분석 장치의 트리거 카메라(TC)가 획득하는 전체 영상 프레임에서 골프공이 타격되는 시점의 트리거 프레임 인덱스(TIDX)를 검색할 수 있다. As shown in Fig. 12, in the trigger step (S3000) of the method for recognizing the movement of a golf ball and a golf club according to the present invention, the golf ball is The trigger frame index (TIDX) at the time of hitting can be searched.
보다 자세하게는, 처리부(300)는, 트리거 단계(S3000)에서 트리거 카메라(TC)의 타격 영역(TZ)에 타격 준비된 골프공 레디객체(RO)의 중심점 좌표(ROp)와 반지름(ROr), 픽셀값(ROv)을 로드하고 중심점 좌표(ROp)와 반지름(ROr)을 기초로 골프공 레디객체(RO)가 타격되었다고 판단하는 문턱 값(πRr 2)을 계산하여 저장한다. In more detail, the
그리고 처리부(300)는, 트리거 카메라(TC)가 획득하는 전체 영상 프레임에서 트리거 프레임 인덱스(TIDX)을 검색하고자 하는 영상의 전체 프레임 수(FQTY)를 확인하여 저장한다. 그리고 처리부(300)는 시작 인덱스(SIDX)를 1, 종료 인덱스(EIDX)를 FQTY, 중간 인덱스(MIDX)를 (EIDX-SIDX)/2로 저장하고 시작 인덱스(SIDX)에 중간 인덱스(MIDX)를 더한 검색 인덱스(KIDX)를 계산하여 저장한다. In addition, the
처리부(300)는, 준비 영상 프레임(RI)의 타격 영역(TZ)과 검색 인덱스(KIDX)에 해당하는 영상 프레임의 타격 영역(TZ)을 비교하여 픽셀 변화가 있는 차영상 프레임을 계산할 수 있다. 처리부(300)는, 상기 계산된 차영상 프레임에서 데이터베이스(500)에 저장된 트리거단계(S3000)의 이진화 문턱값 이상의 픽셀 변화가 있는 픽셀 수량(PQTY)을 계산할 수 있다. The
처리부(300)는, 상기 계산된 픽셀 수량(PQTY)이 상기 문턱 값(πRr 2)보다 큰 경우 종료 인덱스(EIDX)를 중간 인덱스(MIDX)를 제한 값으로 변경하며, 상기 계산된 픽셀 수량(PQTY)이 상기 문턱 값(πRr 2)보다 작거나 같은 경우에는 시작 인덱스(SIDX)를 중간 인덱스(MIDX)를 더한 값으로 변경한다. The
처리부(300)는, 다시 중간 인덱스(MIDX)와 검색 인덱스(KIDX)를 변경하고 상기 검색 인덱스(KIDX)에 해당하는 영상 프레임의 타격 영역(TZ)의 차영상에서 픽셀 수량(PQTY)을 계산하는 과정을 아래 도 12와 같이 반복한다. 처리부(300)는, 중간 인덱스(MIDX)의 값이 1보다 작거나 같다면 검색을 종료하고 검색 인덱스(KIDX)를 트리거 프레임 인덱스(TIDX)로 저장하며 검색을 종료한다. The
(버퍼링 단계)(buffering step)
도 13은 100여 장의 버퍼 영상 프레임(BQTY)에서 골프공 객체(BO)를 검출하고자 하는 세 장의 트리거 영상 프레임(TI)만을 선별하여 지정한 예시 도면이다. 13 is an exemplary diagram for selecting and designating only three trigger image frames TI for detecting a golf ball object BO from 100 buffer image frames BQTY.
도 13에 도시된 바와 같이, 본 발명에 따른 골프공과 골프클럽의 움직임을 인식하는 방법의 버퍼링단계(S4000)에서 골프용 모션 분석 장치의 카메라의 영상에서 골프공 객체(BO)의 타격이 감지된 트리거 프레임 인덱스(TIDX)의 영상 프레임에서 골프공 객체(BO)를 검출하고자 하는 트리거 영상 프레임(TI)만을 선별하여 버퍼링할 수 있다. As shown in Fig. 13, in the buffering step (S4000) of the method for recognizing the movement of the golf ball and golf club according to the present invention, the hit of the golf ball object (BO) is detected in the image of the camera of the golf motion analysis device. Only the trigger image frame TI in which the golf ball object BO is to be detected from the image frame of the trigger frame index TIDX may be selected and buffered.
구체적으로, 처리부(300)는, 센서부(100)의 제 1, 제 2카메라가 획득하는 영상에서 골프공 객체(BO)의 타격이 감지된 트리거 프레임 인덱스(TIDX)의 영상 프레임부터 100여장의 버퍼 영상 프레임(BQTY)에 순차적으로 인덱스를 부여하고 이를 취합하여 저장한다. 또한, 처리부(300)는, 모션부(200)의 제 3, 제 4카메라에서 취득되는 영상에서 골프공 객체(BO)의 타격이 감지된 트리거 프레임 인덱스(TIDX)의 영상 프레임부터 100여장의 버퍼 영상 프레임(BQTY)에 순차적으로 인덱스를 부여하고 취합하여 저장하거나 또는 저장 메모리 공간을 절약하기 위하여 한 프레임씩 건너뛰어 50여장의 버퍼 영상 프레임(BQTY)에 순차적으로 인덱스를 부여하고 이를 취합하여 저장할 수 있다.Specifically, the
처리부(300)는, 버퍼 영상 프레임(BQTY)에서 사용자 골프클럽의 번호를 기초로 골프공 객체(BO)를 검출하고자 하는 트리거 영상 프레임(TI)의 시작 시간을 지정하는 프레임 시간 오프셋(Δto)과 세 장의 트리거 영상 프레임(TI)의 시간 간격을 지정하는 프레임 시간 간격(Δti)을 상술한 표 2를 참조하여 지정할 수 있다. The
여기에서 본 기술의 일 실시예로 상기 버퍼 영상 프레임(BQTY)의 크기를 100여장으로, 트리거 영상 프레임(TI)의 크기를 세 장으로 설명하였으나 이 숫자로만 반드시 한정 또는 제한되지는 않는다. Herein, as an embodiment of the present technology, the size of the buffer image frame (BQTY) is 100 sheets and the size of the trigger image frame (TI) is described as three sheets, but it is not necessarily limited or limited only to these numbers.
(골프공 검출 단계)(Golf ball detection step)
본 발명에 따른 골프공과 골프클럽의 움직임을 인식하는 방법의 골프공 검출단계(S5000)에서, 센서부(100)의 제 1, 제 2카메라의 세 장의 트리거 영상 프레임(TI)에서 골프공 객체(BO)의 2차원 영상좌표를 검출하고 이 2차원 영상좌표에서 골프공 객체(BO)의 3차원 공간좌표와 골프공 객체(BO)의 3차원 공간속도를 계산할 수 있다. 여기에서 골프공 객체(BO)의 3차원 공간속도는 이동 속도(㎧)와 수직 상승각도(˚), 수평 이동각도(˚)로 구체화하여 표현할 수 있다.In the golf ball detection step (S5000) of the method for recognizing the movement of a golf ball and a golf club according to the present invention, the golf ball object ( The two-dimensional image coordinates of BO are detected, and the three-dimensional space coordinates of the golf ball object BO and the three-dimensional space velocity of the golf ball object BO can be calculated from the two-dimensional image coordinates. Here, the three-dimensional space velocity of the golf ball object BO can be expressed concretely by a moving speed (m/s), a vertical elevation angle (˚), and a horizontal movement angle (˚).
먼저, 골프공 객체 검출에 대해서 설명한다. First, golf ball object detection will be described.
도 14는 3장의 트리거 영상 프레임(TI)마다 전경객체 목록(L)을 작성하는 방법을 예시한 플로우차트이다. 14 is a flowchart illustrating a method of creating a foreground object list (L) for every three trigger image frames (TI).
도 14에 도시된 바와 같이, 처리부(300)는, 센서부(100)의 제 1, 제 2카메라의 세 장의 트리거 영상 프레임(TI)의 첫 번째 영상 프레임과 준비 영상 프레임(RI)에서 픽셀 변화가 있는 차영상 프레임을 계산한다. 또한, 처리부(300)는, 센서부(100)의 제 1, 제 2카메라의 세 장의 트리거 영상 프레임(TI)의 두 번째와 세 번째 영상 프레임과 첫 번째 영상 프레임에서 픽셀 변화가 있는 차영상 프레임을 계산한다. As shown in FIG. 14 , the
처리부(300)는, 계산된 차영상 프레임에서 잡음을 제거하기 위하여 데이터베이스(500)에 저장된 골프공 검출단계(S5000)의 이진화 문턱 값 이상인 이진영상 프레임으로 계산할 수 있다. 처리부(300)는, 계산된 이진영상 프레임에서 동일한 값을 지닌 픽셀을 그룹으로 묶어 전경객체 목록(L)을 작성할 수 있다. 단, 처리부(300)는, 만약 사용자의 골프클럽 번호가 아이언과 퍼터 클럽인 경우 첫 번째 트리거 영상 프레임(TI)에서는 골프공과 골프클럽이 서로 간섭되므로 전경 객체의 목록(L)을 작성하지 않는다. The
처리부(300)는, 작성된 트리거 영상 프레임(TI)의 전경객체 목록(L)에서 단 하나의 골프공 객체(BO)만을 필터링할 수 있다. 전경객체 목록(L)에서 골프공 객체(BO)만을 필터링하는 자세한 방법은 아래와 같다.The
처리부(300)는, The
1. 전경객체의 목록(L)에서 전경객체의 좌표가 타격 준비된 골프공 레디객체(RO)의 좌표로부터 거리가 반지름이내인 객체는 제거한다. (검출된 전경객체의 좌표가 타격 준비된 레디객체(RO)의 영역 이내인 경우)1. In the list of foreground objects (L), objects whose coordinates are within a radius from the coordinates of the golf ball-ready object (RO) ready to hit are removed. (If the detected coordinates of the foreground object are within the area of the ready-to-attack object (RO))
2. 전경객체의 목록(L)에서 전경객체의 반지름이 타격 준비된 골프공 레디객체(RO)의 반지름의 1/2보다 작은 객체는 제거한다. (검출된 전경객체의 반지름이 데이터베이스(500)에 저장된 레디객체(RO)의 반지름의 1/2보다 작은 경우)2. In the list of foreground objects (L), objects whose radius of the foreground object is smaller than 1/2 of the radius of the golf ball ready object (RO) ready to hit are removed. (When the radius of the detected foreground object is less than 1/2 of the radius of the ready object (RO) stored in the database 500)
3. 전경객체의 목록(L)에서 전경객체의 반지름이 데이터베이스에(500)에 저장된 골프공 객체를 검출하고자 하는 최대 예상 크기보다 크거나 최소 예상 크기보다 작은 객체는 제거한다. (검출된 객체의 반지름이 데이터베이스(500)에 저장된 골프공 객체를 검출하고자 하는 최대 예상 반지름 보다 크거나 최소 예상 반지름보다 작은 경우)3. In the list of foreground objects (L), an object whose radius of the foreground object is larger than the maximum expected size for detecting the golf ball object stored in the
4. 전경객체의 목록(L)에서 전경객체의 좌표가 타격 준비된 레디객체(RO)의 예상 진행 반대 방향에 위치한 객체는 제거한다 (검출된 객체의 좌표가 타격 준비된 레디객체(RO)의의 중심점의 x좌표보다 작은 경우)4. In the list (L) of the foreground object, the object whose coordinates of the foreground object is located in the opposite direction of the expected progress of the ready object (RO) ready to hit is removed (the coordinates of the detected object are the center point of the ready object (RO) ready to hit) less than the x-coordinate)
5. 전경객체의 목록(L)에서 전경 객체의 서클 피팅 값이 데이터베이스(500)에 저장된 골프공 객체를 검출하고자 하는 최소 서클 피팅 값보다 큰 객체는 제거한다. 이때 서클 피팅 값은 검출된 객체의 중심점 좌표에서 외곽선까지 최대 거리와 최소 거리의 차를 전경 객체의 평균거리로 나눈 비율 값이다.5. An object having a circle fitting value of the foreground object greater than a minimum circle fitting value for detecting a golf ball object stored in the
6. 전경객체의 목록(L)에서 서클 피팅 값이 최소인 전경객체를 골프공 객체(BO)로 인식하며 해당 트리거 영상 프레임(TI)의 인덱스 번호(TIIDX)와 함께 저장한다.6. In the foreground object list (L), the foreground object with the smallest circle fitting value is recognized as a golf ball object (BO) and stored together with the index number (TIIDX) of the trigger image frame (TI).
참고로, 도 15는 전경객체 목록(L)에서 골프공 객체(BO)만을 필터링하는 방법을 예시한 플로우차트이다.For reference, FIG. 15 is a flowchart illustrating a method of filtering only the golf ball object (BO) in the foreground object list (L).
도 16은 3장의 트리거 영상 프레임(TI)을 이진 영상 프레임으로 변환한 다음 골프공 객체(BO)를 검출한 결과를 예시한 도면이다. 여기서 제 1 카메라의 3장의 트리거 영상 프레임(TI)에서 검출한 골프공 객체(BO)는 Ol1, Ol2, Ol3이며, 제 2카메라의 3장의 트리거 영상 프레임(TI)에서 검출한 골프공 객체(BO)는 Or1, Or2, Or3이다. 16 is a diagram illustrating a result of converting three trigger image frames TI into binary image frames and then detecting a golf ball object BO. Here, the golf ball object BO detected from the three trigger image frames TI of the first camera is
다음으로, 골프공 객체의 공간좌표 계산에 대해서 설명한다.Next, the spatial coordinate calculation of the golf ball object will be described.
도 17은 한 쌍의 2차원 영상좌표인 pl(xl , yl)과 pr(xr , yr)에서 3차원 공간좌표 P(x, y, z)로 계산하는 방법을 예시한 도면이다.17 illustrates a method of calculating a pair of two-dimensional image coordinates p l (x l , y l ) and p r (x r , y r ) as three-dimensional spatial coordinates P(x, y, z) It is a drawing.
도 17에 도시된 것처럼, 처리부(300)는, 센서부(100)의 제 1 카메라와 제 2카메라에서 검출된 골프공 객체(BO)의 한 쌍의 2차원 영상좌표(p)에서 골프공 객체(BO)의 3차원 공간좌표(P)를 계산하고 해당 트리거 영상 프레임(TI)의 인덱스 번호(TIDX), 복원오차(E)와 함께 저장할 수 있다. 여기에서 복원오차(E)를 계산하는 방법은 후술하기로 한다.As shown in FIG. 17 , the
자세하게는 처리부(300)는, 센서부(100)의 제 1 카메라의 트리거 영상 프레임(TI)에서 검출된 골프공 객체(BOl)의 프레임 인덱스(TIDX)와, 제 2 카메라의 트리거 영상 프레임(TI)에서 검출된 골프공 객체(BOr)의 프레임 인덱스(TIDX)가 같은 경우, 다시 말하면 동일한 시점에 촬영된 경우, 제 1 카메라의 골프공 객체(BOl)의 2차원 영상좌표(pl)와 제 2 카메라의 골프공 객체(BOr)의 2차원 영상좌표(pr)로 이루어진 한 쌍의 2차원 영상좌표(pl, pr)로 골프공 객체(BO)의 3차원 공간좌표(P)를 계산할 수 있다. In detail, the
아래 수학식 4는 한 쌍의 2차원 영상좌표인 pl(xl , yl)과 pr(xr , yr)에서 3차원 공간좌표 P(x, y, z)로 계산하는 방법을 예시한 수식이다.
[수학식 4][Equation 4]
골프 스윙 시 사용자 신체 또는 클럽의 가려짐으로 인해 제 1 카메라 또는 제 2카메라 가운데 한 개의 트리거 영상 프레임(TI)에서 골프공 객체(BO)가 검출되지 않을 수도 있다. 이 경우 상기 처리부(300)는, 동일한 시점에 촬영되지 않은, 다시 말하면 제 1 카메라의 골프공 객체(BOl)의 2차원 영상좌표(pl) 또는 제 2 카메라의 골프공 객체(BOr)의 2차원 영상좌표(pr) 가운데 한 개의 2차원 영상좌표만으로 골프공 객체(BO)의 3차원 공간좌표(P)를 약식으로 계산하고 해당 트리거 영상 프레임(TI)의 인덱스 번호(TIDX), 복원오차(E)와 함께 저장할 수 있다. During a golf swing, the golf ball object BO may not be detected in the trigger image frame TI of one of the first camera or the second camera due to the user's body or the club being covered. In this case, the
자세하게는 상기 처리부(300)는, 골프공의 3차원 공간좌표(P)의 높이 값에서 골프클럽이 퍼터인 경우 골프공은 바닥면에 굴러 이동하므로 골프공의 실제 반지름인 21㎜으로 제약할 수 있으며, 그리고 골프클럽이 퍼터가 아닌 경우에는 골프공 객체(BO)의 픽셀 크기와 실제 크기인 42㎜의 비율로 제약할 수 있다. 아래 수학식 5는 한 개의 2차원 영상좌표인 (u, v)만으로 3차원 공간좌표 (X, Y, Z)로 계산하는 방법을 예시한 수식이다.In detail, since the
[수학식 5][Equation 5]
처리부(300)는, 상기 3차원 공간좌표 P(x, y, z)의 복원오차를 계산할 수 있다. 자세하게는 처리부(300)는, 상기와 같이 계산된 골프공 객체(BO)의 3차원 공간좌표 P(x, y, z)를 제 1 카메라의 골프공 객체(BO)의 2차원 영상좌표 pl’(ul, vl) 또는 제 2카메라의 골프공 객체(BO)의 2차원 영상좌표 pr’(ur, vr)로 다시 복원하여 계산할 수 있다. The
처리부(300)는, 제 1 카메라의 원래 2차원 영상좌표 pl(xl yl)와 복원된 2차원 영상좌표 pl’(ul, vl) 간 거리를 제 1 카메라의 복원오차(|pl-pl’|)로 계산할 수 있다. 그리고 처리부(300)는, 제 2 카메라의 원래 2차원 영상좌표 pr(xr yr)와 복원된 2차원 영상좌표pr’(ur, vr)간 거리를 제 2 카메라의 복원오차(|pr-pr’|)로 계산할 수 있다.The
처리부(300)는, 제 1카메라의 복원오차(|pl-pl’|)와 제 2카메라의 복원오차(|pr-pr’|) 가운데 큰 값을 3차원 공간좌표(P)의 복원오차(E)으로 계산할 수 있다. 아래 수학식 6은 3차원 공간좌표(Xw, Yw, Zw)를 2차원 영상좌표 (u, v)로 복원하여 계산하는 방법을 예시한 수식이다. The
[수학식 6][Equation 6]
전술한 바와 같이 본 기술에서는 한 개의 2차원 영상좌표만으로 3차원 공간좌표를 계산하는 방법을 예시하고 있으나 전술한 한 쌍의 2차원 영상좌표로 3차원 공간좌표를 계산하는 방법이 보다 정확한 방법이며 우선적으로 적용되어야 함은 자명한 사실이다.As described above, the present technology exemplifies a method of calculating 3D spatial coordinates with only one 2D image coordinate, but the method of calculating 3D spatial coordinates with the above-described pair of 2D image coordinates is a more accurate method and preferential It is self-evident that it should be applied as
다음으로, 골프공 객체의 속도 계산에 대하여 설명한다. Next, the calculation of the velocity of the golf ball object will be described.
처리부(300)는, 저장된 3차원 공간좌표의 목록(L)에서 복원오차(E)의 값이 작은 두 개의 3차원 공간좌표(P)를 선택하여 이를 기초로 3차원 공간벡터(V)를 계산할 수 있다. 또한, 처리부(300)는, 3차원 공간벡터(V)를 이동 속도(㎧)와 수직 상승각도(˚), 수평 이동각도(˚)로 구체화하여 표현할 수 있다. 참고로 도 18은 두 개의 3차원 공간좌표(P)를 선택하는 방법을 예시한 플로우차트이다. The
처리부(300)는, 데이터베이스(500)에 저장된 타격 준비된 골프공 레디객체(RO)의 3차원 공간좌표 (xr , yr , zr)를 시점으로 하고, 위에서 설명한 대로 선택된 두 개의 3차원 공간좌표 (x1 , y1 , z1), (x2 , y2 , z2)를 종점으로 하는 두 개의 벡터(a, b)를 계산할 수 있다. 처리부(300)는, 상기 두 벡터(a, b)의 사이 각이 10도 미만인 경우 일직선상에 있다는 것으로 판단할 수 있다. 여기서, 두 벡터(a, b)의 사이 각이 10도 미만이 아니라, 7도 미만인 경우 또는 5도 미만인 경우 등의 경우에, 일직선상에 있다는 것으로 판단할 수도 있지만, 경험적으로 10도로 설정하는 것이 바람직하다. The
처리부(300)는, 만약 상기 두 벡터(a, b)가 일직선 상에 있다고 판단되는 경우, 두 개의 공간좌표(x1 , y1 , z1)와 (x2 , y2 , z2)를 골프공 객체(BO)로 정확하게 선택한 것으로 판단할 수 있다. 아래 수학식 7은 두 벡터의 내적으로 사이 각을 계산하는 수식이다.The
[수학식 7][Equation 7]
처리부(300)는, 두 개의 공간좌표(x1 , y1 , z1)와 (x2 , y2 , z2)를 골프공 객체(BO)로 정확하게 선택한 것으로 판단한 경우, 상기 선택된 첫 번째 3차원 공간좌표(x1 , y1 , z1)를 시점인 P1, 두 번째 3차원 공간좌표(x2 , y2 , z2)를 종점인 P2로 하고, P2에서 P1간 이동 시간(Δt)을 크기로 하는 3차원 공간벡터(V)를 계산한다. 여기에서 이동 시간(Δt)은 P2의 트리거 영상 프레임(TI)의 인덱스 (TIDX)에서 P1의 트리거 영상 프레임(TI)의 인덱스(TIDX)를 제한 값에 프레임 시간 간격(Δti)을 곱한 시간(㎳)이다. When it is determined that the
처리부(300)는, 두 개의 공간좌표(x1 , y1 , z1)와 (x2 , y2 , z2)를 골프공 객체(BO)로 정확하게 선택하지 못한 것으로 판단한 경우, 타격 준비된 골프공 레디객체(RO)의 3차원 공간좌표 (xr yr zr)를 시점인 P1으로 하고, 두 개의 공간좌표(x1 , y1 , z1)와 (x2 , y2 , z2) 가운데 복원오차(E)의 값이 작은 3차원 공간좌표를 종점인 P2로 하고, P2와 P1간 이동 시간(Δt)을 크기로 하는 3차원 공간벡터(V)를 계산한다. 여기에서 이동 시간(Δt)은 P2의 트리거 영상 프레임(TI)의 인덱스 번호(TIDX)에 프레임 시간 간격(Δti)을 곱한 후 프레임 시간 오프셋(Δto)을 더한 시간(㎳)이다. When it is determined that the
또한, 처리부(300)는, 계산된 3차원 공간벡터(V)를 데이터베이스(500)에 저장된 표 1의 클럽번호에 따른 골프공 예상 구속(㎧)으로 나눈 값에 프레임 시간간격(Δti)을 곱하여 보정 시간(δt)을 계산한다. In addition, the
처리부(300)는, 계산된 3차원 공간벡터(V)가 상기 표 1의 클럽번호에 따른 골프공 예상 구속(㎧)보다 큰 경우 이동 시간(Δt)에서 보정 시간(δt)을 더하며 상기 계산된 3차원 공간벡터(V)가 상기 표1의 클럽번호에 따른 골프공 예상 구속(㎧)보다 작은 경우 이동 시간(Δt)에서 보정 시간(δt)을 제한다. The
도 19는 두 개의 3차원 공간좌표 (x1 , y1 , z1), (x2 , y2 , z2)와 데이터베이스(500)에 저장된 타격 준비된 골프공 레디객체(RO)의 3차원 공간좌표 (xr , yr , zr)로 3차원 공간벡터(V)의 시점 P1과 종점 P2, 이동 시간(Δt)을 계산하는 방법을 예시한 플로우차트이다.19 is a three-dimensional space of two three-dimensional space coordinates (x 1 , y 1 , z 1 ), (x 2 , y 2 , z 2 ) and a golf ball ready object (RO) ready to hit stored in the
아래 수학식 8은 두 개의 3차원 공간좌표 (x1 , y1 , z1), (x2 , y2 , z2)와 데이터베이스(500)에 저장된 타격 준비된 골프공 레디객체(RO)의 3차원 공간좌표 (xr yr zr)로 3차원 공간벡터(V)의 시점P1과 종점P2, 이동 시간(Δt)을 계산하는 방법을 예시한 수식이다.
[수학식 8] [Equation 8]
처리부(300)는, 3차원 공간벡터(V)를 기초로 골프공의 이동 속도(㎧)와 수직 상승각도(˚), 수평 이동각도(˚)를 계산할 수 있다. 아래 수학식 9는 골프공 객체의 3차원 공간벡터(V)로 골프공의 이동 속도(㎧)와 수직 상승각도(˚), 수평 이동각도(˚)를 계산하는 방법을 예시한 수식이다.The
[수학식 9] [Equation 9]
(골프클럽 검출 단계) (Golf club detection stage)
본 발명에 따른 골프공과 골프클럽의 움직임을 인식하는 방법의 골프클럽 검출단계(S6000)에서 센서부(100)의 제 1 카메라 및 제 2카메라의 3장의 트리거 영상 프레임(TI)에서 골프클럽 객체(CO)의 2차원 영상좌표를 검출하고, 검출된 2차원 영상좌표에서 3차원 공간좌표를 계산하여 이를 기초로 골프클럽 객체(CO)의 3차원 공간속도를 계산할 수 있다. 여기에서 골프클럽 객체(CO)의 3차원 공간속도는 이동 속도(㎧)와 수직 상승각도(˚), 수평 이동각도(˚)로 구체화하여 표현할 수 있다.In the golf club detection step (S6000) of the method for recognizing the movement of a golf ball and a golf club according to the present invention, the golf club object ( CO) detects the two-dimensional image coordinates, calculates the three-dimensional space coordinates from the detected two-dimensional image coordinates, and based on this, the three-dimensional space velocity of the golf club object CO can be calculated. Here, the three-dimensional space velocity of the golf club object CO can be expressed in concrete terms as a movement speed (m/s), a vertical elevation angle (˚), and a horizontal movement angle (˚).
먼저, 골프클럽 객체 검출에 대하여 설명한다. First, golf club object detection will be described.
도 20은 3장의 트리거 영상 프레임(TI)마다 전경객체 목록(L)을 작성하는 방법을 예시한 플로우차트이다. 20 is a flowchart illustrating a method of creating a foreground object list (L) for every three trigger image frames (TI).
도 20에 도시된 바와 같이, 처리부(300)는, 센서부(100)의 제 1 카메라 및 제 2 카메라 가운데 트리거 카메라(TC)의 3장의 트리거 영상 프레임(TI)의 첫 번째, 두 번째, 세 번째 영상 프레임과, 준비 영상 프레임(RI)에서 픽셀 변화가 있는 차영상 프레임을 계산할 수 있다. 또한, 처리부(300)는, 센서부(100)의 제 1, 제 2카메라 가운데 트리거 카메라(TC)가 아닌 상기 세 장의 트리거 영상 프레임(TI)에서 첫 번째 영상 프레임과 상기 초기 영상 프레임(II)에서 그리고 두 번째, 세 번째 트리거 영상 프레임과 첫 번째 트리거 영상 프레임에서 픽셀 변화가 있는 차영상 프레임을 계산할 수 있다. As shown in FIG. 20 , the
처리부(300)는, 계산된 차영상 프레임에서 잡음을 제거하기 위하여 데이터베이스(500)에 저장된 골프클럽 검출단계(S6000)의 이진화 문턱값 이상인 이진영상 프레임으로 계산할 수 있다. 처리부(300)는, 계산된 이진영상 프레임에서 동일한 값을 지닌 픽셀을 그룹으로 묶어 전경객체 목록(L)을 작성할 수 있다. 단, 처리부(300)는, 만약 사용자의 골프클럽 번호가 아이언과 퍼터 클럽인 경우 첫 번째 트리거 영상 프레임(TI)에서는 골프공과 골프클럽이 서로 간섭되므로 전경객체의 목록(L)을 작성하지 않는다. The
도 21은 골프클럽 형상 객체를 검색하는 방법을 예시한 플로우차트이다.21 is a flowchart illustrating a method of searching for a golf club shape object.
도 21에 도시된 바와 같이, 처리부(300)는, 작성된 트리거 영상 프레임(TI)의 전경객체 목록(L)에서 단 하나의 골프클럽 객체(CO)으로 필터링할 수 있다. 전경객체 목록(L)에서 골프클럽 객체(CO)만을 필터링하는 자세한 방법은 아래와 같다. As shown in FIG. 21 , the
처리부(300)는, The
1. 전경객체의 목록(L)의 전경객체 영역에서 타격영역(TZ) 이내인 객체는 제거한다.1. In the foreground object area of the foreground object list (L), objects within the striking area (TZ) are removed.
2. 전경객체의 목록(L)의 전경객체 영역에서 인체영역(BZ)이내인 객체는 제거한다.2. In the foreground object area of the foreground object list (L), objects within the human body area (BZ) are removed.
3. 전경객체의 목록(L)의 전경객체 영역에서 타격 준비된 골프공 레디객체(RO)의 좌표로부터 거리가 반지름 이내인 객체는 제거한다.3. In the foreground object area of the list of foreground objects (L), objects whose distance is within a radius from the coordinates of the golf ball-ready object (RO) ready to hit are removed.
4. 전경객체의 목록(L)의 전경객체 영역에서 반지름이 데이터베이스(500)에 저장된 골프클럽 객체를 검출하고자 하는 최대 예상크기보다 크거나 최소 예상 크기보다 작은 객체는 제거한다.4. In the foreground object area of the list L of foreground objects, an object whose radius is larger than the maximum expected size for detecting the golf club object stored in the
5. 전경객체의 목록(L)에서 전경객체 영역이 동일한 트리거 영상 프레임(TI)의 골프공 객체(BO)로부터 거리가 반지름 이내인 영역은 제거한다.5. In the list of foreground objects (L), a region within a radius of the golf ball object (BO) of the trigger image frame (TI) having the same foreground object region is removed.
6. 전경객체의 목록(L)에서 전경객체 영역이 동일한 트리거 영상 프레임(TI)의 골프공 그림자 객체(BS)의 반지름 이내인 영역은 제거한다. 6. In the list of foreground objects (L), the area within the radius of the golf ball shadow object (BS) of the trigger image frame (TI) having the same foreground object area is removed.
이때 골프공의 그림자 객체(BS)의 위치를 구하는 방법은, At this time, the method of obtaining the position of the shadow object (BS) of the golf ball is,
(a) 트리거 영상 프레임(TI)의 골프공 객체(BO)의 2차원 영상좌표 (u, v)를 그림자 객체(BS)의 3차원 공간위치 (Xw, Yw, Zw)로 계산한다. 이때 그림자 객체의 높이는 바닥면과 동일하므로 Zw=0 이며 한 개의 2차원 영상좌표로 3차원 공간좌표를 계산하는 방법은 전술한 수학식 5와 동일하다. (a) Calculate the two-dimensional image coordinates (u, v) of the golf ball object (BO) of the trigger image frame (TI) as the three-dimensional spatial position (X w , Y w , Z w ) of the shadow object (BS) . At this time, since the height of the shadow object is the same as the floor surface, Z w = 0, and the method of calculating the three-dimensional space coordinates using one two-dimensional image coordinate is the same as in Equation 5 above.
(b) 그림자 객체(BS)의 3차원 공간위치 (Xw, Yw, 0)을 그림자 객체(BS)의 2차원 영상좌표를 계산하고자 하는 카메라의 2차원 영상 좌표로 복원하여 계산한다. 이때 그림자 객체(BS)의 3차원 공간위치를 2차원 영상좌표로 복원하는 방법은 전술한 수학식 6과 동일하다. (b) The three-dimensional spatial position (X w , Y w , 0) of the shadow object BS is restored and calculated as the two-dimensional image coordinates of the camera to calculate the two-dimensional image coordinates of the shadow object BS. In this case, the method of restoring the 3D spatial position of the shadow object BS to 2D image coordinates is the same as in
5. 전경객체의 목록(L)에서 객체의 외곽선 좌표에서 사용자 스윙 시 인체영역(BZ)의 중심좌표로부터 픽셀 거리를 계산하여 가장 먼 좌표를 골프클럽 객체(CO)으로 인식하며 해당 트리거 영상 프레임(TI)의 인덱스 번호(TIDX)와 함께 저장한다. 5. From the outline coordinates of the object in the list of foreground objects (L), the pixel distance is calculated from the center coordinates of the human body area (BZ) during the user's swing, and the farthest coordinate is recognized as the golf club object (CO), and the corresponding trigger image frame ( TI) with the index number (TIDX).
도 22는 3장의 트리거 영상 프레임(TI)을 이진영상 프레임으로 변환한 다음 골프공 객체(BO)와 골프공 그림자 객체(BS)를 제거한 클럽골프클럽 객체(CO)만을 검출한 결과를 예시한 도면이다. 여기서 제 1카메라의 세 장의 트리거 영상 프레임(TI)에서 검출한 골프클럽 객체(CO)는 COl1, COl2, COl3이며, 제 2카메라의 세 장의 트리거 영상 프레임(TI)에서 검출한 골프클럽 객체(CO)는 COr1, COr2, COr3이다. 22 is a view illustrating the result of detecting only the club golf club object (CO) from which the three trigger image frames (TI) are converted into binary image frames and then the golf ball object (BO) and the golf ball shadow object (BS) are removed. to be. Here, the golf club object (CO) detected from the three trigger image frames (TI) of the first camera is
처리부(300)는, 센서부(100)의 제 1 카메라와 제 2 카메라에서 검출된 골프클럽 객체(CO)의 한 쌍의 2차원 영상좌표(p)에서 골프클럽 객체(CO)의 3차원 공간좌표(P)를 계산하고 해당 트리거 영상 프레임(TI)의 인덱스 번호(TIDX), 복원오차(E)와 함께 저장할 수 있다. The
다음으로, 골프클럽 객체의 공간좌표 계산에 대하여 설명한다. Next, the spatial coordinate calculation of the golf club object will be described.
자세하게는 처리부(300)는, 센서부(100)의 제 1 카메라의 트리거 영상 프레임(TI)에서 검출된 골프클럽 객체(Cl)의 프레임 인덱스(TIDX)와, 제 2카메라의 트리거 영상 프레임(TI)에서 검출된 골프클럽 객체(Cr)의 프레임 인덱스(TIDX)가 같은 경우, 다시 말하면 동일한 시점에 촬영된 경우, 제 1 카메라의 골프클럽 객체(COl)의 2차원 영상좌표(pl)와 제 2 카메라의 골프클럽 객체(COr)의 2차원 영상좌표(pr)로 이루어진 한 쌍의 2차원 영상좌표(pl, pr)로 골프클럽 객체(CO)의 3차원 공간좌표(P)를 계산할 수 있다. 여기에서 한 쌍의 2차원 영상좌표인 pl(xl , yl)과 pr(xr , yr)에서 3차원 공간좌표 P(x, y, z)로 계산하는 방법은 골프공 검출단계(S5000)에서 전술한 도 17과 수학식 4의 방법과 동일하다.In detail, the
처리부(300)는, 3차원 공간좌표 P(x, y, z)의 복원오차를 계산할 수 있다. The
자세하게는 처리부(300)는, 상기와 같이 계산된 골프클럽 객체(CO)의 3차원 공간좌표 P(x, y, z)를 제 1 카메라의 골프클럽 객체(CO)의 2차원 영상좌표 pl’(ul, vl) 또는 제 2 카메라의 골프클럽 객체(CO)의 2차원 영상좌표 pr’(ur, vr)로 다시 복원하여 계산할 수 있다. 처리부(300)는, 제 1 카메라의 원래 2차원 영상좌표 pl(xl yl)와 복원된 2차원 영상좌표 pl’(ul, vl) 간 거리를 제 1카메라의 복원오차(|pl-pl’|)로 계산할 수 있다. 그리고 처리부(300)는, 제 2카메라의 원래 2차원 영상좌표 pr(xr , yr)와 복원된 2차원 영상좌표pr’(ur, vr)간 거리를 제 2카메라의 복원오차(|pr-pr’|)로 계산할 수 있다. In detail, the
처리부(300)는, 제 1카메라의 복원오차(|pl-pl’|)와 제 2카메라의 복원오차(|pr-pr’|) 가운데 큰 값을 상기 3차원 공간좌표(P)의 복원오차(E)으로 계산할 수 있다. 여기에서 3차원 공간좌표(Xw, Yw, Zw)를 2차원 영상좌표 (u, v)로 복원하여 계산하는 방법은 골프공 검출단계(S5000)에서 전술한 수학식 6의 방법과 동일하다.The
다음으로, 골프클럽 객체의 속도 계산에 대하여 설명한다. Next, the calculation of the speed of the golf club object will be described.
처리부(300)는, 저장된 3차원 공간좌표의 목록(L)에서 복원오차(E)의 값이 작은 두 개의 3차원 공간좌표(P)를 선택하여 이를 기초로 3차원 공간벡터(V)를 계산할 수 있다. 또한, 처리부(300)는, 상기 3차원 공간벡터(V)를 이동 속도(㎧)와 수직 상승각도(˚), 수평 이동각도(˚)로 구체화 하여 표현할 수 있다. 아래 도 18은 두 개의 3차원 공간좌표(P)를 선택하는 방법을 예시한 플로우차트이다.The
자세하게는 처리부(300)는, 상기 저장된 3차원 공간좌표의 목록(L)에서 복원오차(E)의 값이 작은 두 개의 3차원 공간좌표(P)를 선택하여 이를 기초로 3차원 공간벡터(V)를 계산할 수 있다. 여기에서 두 개의 3차원 공간좌표(P)를 선택하는 방법은 골프공 검출단계(S5000)에서 전술한 도 18과 동일하다.In detail, the
처리부(300)는, 데이터베이스(500)에 저장된 타격 준비된 골프공 레디객체(RO)의 3차원 공간좌표 (xr , yr , zr)를 시점으로 하고, 상기에서 선택된 두 개의 3차원 공간좌표 (x1 , y1 , z1), (x2 , y2 , z2)를 종점으로 하는 두 개의 벡터(a, b)를 계산할 수 있다. 처리부(300)는, 두 벡터(a, b)의 사이 각이 10도 미만인 경우 일직선 상에 있다는 것으로 판단할 수 있다. 처리부(300)는, 만약 두 벡터(a, b)가 일직선 상에 있다고 판단되는 경우, 두 개의 공간좌표(x1 , y1 , z1)와 (x2 , y2 , z2)를 골프클럽 객체(CO)로 정확하게 선택한 것으로 판단할 수 있다. 여기에서 두 벡터의 내적으로 사이 각을 계산하는 방법은 골프공 검출단계(S5000)에서 전술한 수학식 7과 동일하다.The
처리부(300)는, 두 개의 공간좌표(x1 , y1 , z1)와 (x2 , y2 , z2)를 골프클럽 객체(CO)로 정확하게 선택한 것으로 판단한 경우, 상기 선택된 첫 번째 3차원 공간좌표(x1 , y1 , z1)를 시점인 P1, 두 번째 3차원 공간좌표(x2 , y2 , z2)를 종점인 P2로 하고, P2에서 P1간 이동 시간(Δt)을 크기로 하는 3차원 공간벡터(V)를 계산한다. 여기에서 이동 시간(Δt)은 P2의 트리거 영상 프레임(TI)의 인덱스 (TIDX)에서 P1의 트리거 영상 프레임(TI)의 인덱스(TIDX)를 제한 값에 프레임 시간 간격(Δti)을 곱한 시간(㎳)이다. When it is determined that the
처리부(300)는, 두 개의 공간좌표(x1 , y1 , z1)와 (x2 , y2 , z2)를 골프클럽 객체(CO)로 정확하게 선택하지 못한 것으로 판단한 경우 타격 준비된 골프공 레디객체(RO)의 3차원 공간좌표 (xr , yr , zr)를 시점인 P1으로 하고, 상기 두 개의 공간좌표(x1 , y1 , z1)와 (x2 , y2 , z2) 가운데 복원오차(E)의 값이 작은 3차원 공간좌표를 종점인 P2로 하고, P2와 P1간 이동 시간(Δt)을 크기로 하는 3차원 공간벡터(V)를 계산한다. 여기에서 골프클럽의 3차원 공간벡터(V)를 계산하는 방법은 골프공 검출단계(S5000)에서 전술한 도 19와 수학식8과 동일하다. When it is determined that the
처리부(300)는, 상기 3차원 공간벡터(V)를 기초로 골프공 타격 이후 골프클럽 객체(CO)의 이동 속도(㎧)와 수직 상승각도(˚), 수평 이동각도(˚)를 계산할 수 있다. 골프공 타격 이후 골프클럽 객체(CO)의 3차원 공간벡터(V)로 골프공의 이동 속도(㎧)와 수직 상승각도(˚), 수평 이동각도(˚)를 계산하는 방법은 골프공 검출단계(S5000)에서 전술한 수학식 9와 동일하다.The
처리부(300)는, 골프공 타격 이후 골프클럽 객체(CO)의 이동 각도(∠cf)에 운동량 가중치를 가감하여 골프공 타격 이전 골프클럽 객체(CO)의 이동 각도(∠ci)로 보정하여 계산할 수 있다. 아래 수학식 10는 골프공 타격 이전 골프클럽 객체(CO)의 이동 각도(∠ci)를 계산하는 방법을 예시한 계산식이다.The
[수학식 10] [Equation 10]
상기 처리부(300)는, 계산된 골프공 타격 이후 골프클럽 객체(CO)의 이동 속도(νcf)에 운동량 가중치를 가감하여 골프공 타격 이전 골프클럽 객체(CO)의 이동 속도(νci)로 계산할 수 있다. 아래 수학식 11은 골프공 타격 이전 골프클럽 객체(CO)의 이동 속도(νci)를 계산하는 방법을 예시한 계산식이다.The
[수학식 11] [Equation 11]
(골프공 회전량 계산단계)(Calculating the amount of golf ball rotation)
처리부(300)는, 상기 계산된 골프공과 골프공 타격 이전 골프클럽 끝단점의 3차원 공간벡터(V)로 골프공 객체의 회전 정보를 계산할 수 있다. The
처리부(300)는, 3차원 공간벡터(V)를 기초로 골프클럽의 이동 속도(㎧)를 계산할 때, 아래 수학식 9-1인When the
[수학식 9-1][Equation 9-1]
를 따른다. follow
즉, 3차원 공간벡터(V)를 기초로 골프공 타격 이후 골프클럽 객체(CO)의 이동 속도(㎧)와 수직 상승각도(˚), 수평 이동각도(˚)를 계산하는 방법은, 골프공 검출단계(S5000)에서 전술한 수학식 9와 동일하다.That is, the method of calculating the movement speed (㎧), the vertical elevation angle (˚), and the horizontal movement angle (˚) of the golf club object CO after the golf ball is struck based on the three-dimensional space vector (V) is a golf ball It is the same as Equation 9 described above in the detection step (S5000).
또한, 골프클럽이 상기 골프공을 타격하기 이전 상기 골프클럽 객체(CO)의 이동 속도(νci)로 계산하는 방법은 수학식 11인In addition, the method of calculating the moving speed (ν ci ) of the golf club object CO before the golf club hits the golf ball is Equation 11
를 따른다. follow
결과적으로, 골프공 회전량을 계산하는 하나의 방법으로서, 아래 수학식 12인 As a result, as one method of calculating the amount of golf ball rotation, Equation 12 below
[수학식 12] [Equation 12]
에 따라 계산할 수 있다. can be calculated according to
이상과 같이, 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 이것에 의해 한정되지 않으며 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 본 발명의 기술 사상과 아래에 기재될 청구범위의 균등 범위 내에서 다양한 수정 및 변형이 가능함은 물론이다.As described above, although the present invention has been described with reference to limited embodiments and drawings, the present invention is not limited thereto, and the technical spirit of the present invention and the following by those of ordinary skill in the art to which the present invention pertains. It goes without saying that various modifications and variations are possible within the equivalent scope of the claims to be described.
100...센서부
101...제 1 카메라
102...제 2 카메라
200...모션부
201...제 3 카메라
202...제 4 카메라
300...처리부
400...표시부
500...데이터베이스100...sensor part
101...first camera
102...second camera
200...Motion
201...3rd camera
202...4th camera
300...processor
400...display
500...database
Claims (9)
상기 사용자의 정면과 측면에 배치되어 상기 사용자의 전신 움직임 영상을 획득하는 제 3 카메라(201)와 제 4 카메라(202)를 포함하는 모션부(200);
상기 센서부(100)와 상기 모션부(200)에서 취득된 영상을 저장하고 처리하는 처리부(300);
상기 처리부(300)의 결과를 화면 상에 표시하고 상기 사용자의 입출력 신호를 처리하는 표시부(400); 및
상기 처리부(300)와 물리적으로 통합되어 장치의 제어 설정과 계산 결과를 읽고 저장하는 데이터베이스(500);를 포함하는,
골프용 모션 분석 장치.
A sensor unit 100 including a first camera 101, a second camera 102, and a strobe lighting device disposed on the user's upper end to obtain the movement of the golf ball;
a motion unit 200 including a third camera 201 and a fourth camera 202 disposed on the front and side surfaces of the user to acquire a full-body motion image of the user;
a processing unit 300 for storing and processing images acquired by the sensor unit 100 and the motion unit 200;
a display unit 400 for displaying the result of the processing unit 300 on a screen and processing the input/output signal of the user; and
A database 500 that is physically integrated with the processing unit 300 to read and store control settings and calculation results of the device;
A motion analysis device for golf.
골프 클럽 특성을 설정하고(S1100), 카메라 캘리브레이션 설정을 하고(S1200), 계측 영역을 설정하고(S1300), 초기 영상 프레임을 설정하고(S1400), 영상 처리 설정을 하고(S1500), 카메라 제어를 설정(S1600)하는, 설정 단계(S1000);
타격 영역(TZ)에 놓인 골프공 객체에 대한 타격 준비 여부를 확인하는, 준비단계(S2000);
전체 영상 프레임에서 상기 골프공이 타격되는 시점의 트리거 프레임 인덱스(TIDX)를 검색하는, 트리거단계(S3000);
상기 골프공 객체(BO)의 타격이 감지된 트리거 프레임 인덱스(TIDX)의 영상 프레임에서 골프공 객체(BO)를 검출할 수 있도록, 상기 트리거 영상 프레임(TI)만을 선별하여 버퍼링하는, 버퍼링 단계(S4000);
상기 센서부(100)의 제 1 카메라 및 제 2 카메라의 상기 트리거 영상 프레임(TI)에서 골프공 객체(BO)의 2차원 영상좌표를 검출하고 상기 검출된 2차원 영상좌표에서 골프공 객체(BO)의 3차원 공간 좌표와 골프공 객체(BO)의 3차원 공간 속도를 계산하는, 골프공 검출단계(S5000);
상기 센서부(100)의 제 1 카메라 및 제 2카메라의 상기 트리거 영상 프레임(TI)에서 골프클럽 객체(CO)의 2차원 영상좌표를 검출하고 상기 검출된 2차원 영상좌표에서 골프클럽 객체(CO)의 3차원 공간좌표 및 골프클럽 객체(CO)의 3차원 공간속도를 계산하는, 골프클럽 검출단계(S6000); 및
상기 계산된 골프공과 골프공 타격 이전 골프클럽 끝단점의 3차원 공간벡터(V)로 골프공 객체의 회전 정보를 계산하는, 골프공 회전량 계산단계(S7000);를 포함하는,
고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법.
A method of recognizing the movement of a golf ball and a golf club in a high-speed camera image using the motion analysis device for golf according to claim 1,
Set the golf club characteristics (S1100), set the camera calibration (S1200), set the measurement area (S1300), set the initial image frame (S1400), set the image processing setting (S1500), and control the camera Setting (S1600), setting step (S1000);
A preparation step (S2000) of confirming whether or not to hit the golf ball object placed in the hitting area (TZ);
A trigger step (S3000) of searching for a trigger frame index (TIDX) at the point in time at which the golf ball is hit in the entire image frame;
Buffering step ( S4000);
The two-dimensional image coordinates of the golf ball object BO are detected from the trigger image frame TI of the first camera and the second camera of the sensor unit 100, and the golf ball object BO from the detected two-dimensional image coordinates. ) calculating the three-dimensional space coordinates of the three-dimensional space coordinates and the three-dimensional space velocity of the golf ball object (BO), golf ball detection step (S5000);
Detect the two-dimensional image coordinates of the golf club object CO from the trigger image frame TI of the first camera and the second camera of the sensor unit 100, and the golf club object CO from the detected two-dimensional image coordinates ) of calculating the three-dimensional spatial coordinates and the three-dimensional space velocity of the golf club object (CO), a golf club detection step (S6000); and
A golf ball rotation amount calculation step (S7000) of calculating the rotation information of the golf ball object with the three-dimensional space vector (V) of the calculated golf ball and the end point of the golf club before hitting the golf ball, including;
A method for recognizing the movement of golf balls and golf clubs in high-speed camera images.
상기 설정 단계(S1000)에서는, 상기 제 1 카메라 및 상기 제 2 카메라의 영상에서 골프공과 골프클럽의 움직임을 분석 가능한 모드인 트리거 모드, 및 상기 제 1, 제 2, 제 3, 제 4 카메라의 설치 및 동작 상태를 사용자가 육안으로 확인 가능하도록 동작하는 모드인 프리뷰 모드를 포함하고,
상기 트리거 모드로 동작하는 경우에는,
상기 골프공과 상기 골프클럽의 움직임을 분석하기 위하여 상기 제 1, 제2 카메라를 데이터베이스(5000)에 저장된 골프클럽 특성 설정 값 또는 새로운 값으로 설정(S1100)하는 단계; 상기 제 1, 제 2 카메라를 상기 데이터베이스(5000)에 저장된 캘리브레이션 설정 값 또는 새로운 값으로 설정(S1200)하는 단계; 상기 제 1, 제 2 카메라를 상기 데이터베이스(5000)에 저장된 계측 영역 설정 값 또는 새로운 값으로 설정(S1300)하는 단계; 상기 제 1, 제 2, 제 3, 제 4 카메라를 상기 데이터베이스(5000)에 저장된 초기 영상 프레임(II) 또는 새로운 초기 영상 프레임(II)으로 설정(S1400)하는 단계; 상기 제 1, 제 2 카메라를 상기 데이터베이스(5000)에 저장된 영상 처리 설정 값 또는 새로운 값으로 설정(S1500)하는 단계; 이후 상기 제 1, 제 2, 제 3, 제 4카메라를 상기 데이터베이스(5000)에 저장된 카메라 제어 설정 값 또는 새로운 값으로 설정(S1600)하는 단계;를 포함하며,
상기 프리뷰 모드로 동작하는 경우에는,
카메라의 설치 및 동작 상태를 확인할 수 있는 영상을 취득하기 위하여, 상기 제 1, 제 2, 제 3, 제 4 카메라를 상기 데이터베이스(5000)로부터 로드한 카메라 제어 설정 값 또는 새로운 값으로 설정(S1600)하는 단계;를 포함하고,
상기 카메라 캘리브레이션 설정 단계(S1200)에서는, 상기 제 1 카메라 및 상기 제 2 카메라의 내부 파라메터(Mcam)인 초점거리(fx, fy)와 원점 좌표(Cx, Cy), 및 외부 파라메터인 회전정보(Rcam)와 위치정보(tcam)를 상기 데이터베이스(500)에 저장하고,
상기 계측 영역 설정 단계(S1300)에서는, 상기 골프공의 타격 영역(TZ)과 인체 영역(BZ)을 데이터베이스(500)에 저장하고,
상기 초기 영상 프레임 설정 단계(S1400)에서는, 상기 제 1 내지 제 4 카메라의 영상에서 움직임이 있는 골프공과 사용자 신체를 배제한 오로지 배경만을 촬영한 초기 영상 프레임을 상기 데이터베이스(500)에 저장하고,
상기 영상 처리 설정 단계(S1500)에서는, 상기 준비단계(S2000), 상기 트리거단계(S3000), 상기 골프공 검출단계(S5000) 및 상기 골프클럽 검출단계(S6000)의 영상처리 단계에서 적용되는 영상 처리 설정값을 상기 데이터베이스(500)에 저장하고,
상기 카메라 제어 설정 단계(S1600)에서는, 상기 센서부(100)의 제 1, 제 2 카메라(101, 102)와 상기 모션부(200)의 제 3, 제 4카메라(201, 202)를 제어하는 노출 시간과 카메라 이미지 센서의 감도를 의미하는 밝기 게인 값을 상기 데이터베이스에(500)에 저장하는 것을 특징으로 하는,
고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법.
3. The method of claim 2,
In the setting step (S1000), a trigger mode, which is a mode capable of analyzing the movement of a golf ball and a golf club in the images of the first camera and the second camera, and the installation of the first, second, third, and fourth cameras and a preview mode, which is a mode that operates so that the user can visually check the operating state,
When operating in the trigger mode,
setting the first and second cameras to a golf club characteristic setting value or a new value stored in a database 5000 in order to analyze the movement of the golf ball and the golf club (S1100); setting the first and second cameras to a calibration setting value or a new value stored in the database (5000) (S1200); setting (S1300) the first and second cameras to a measurement area setting value or a new value stored in the database (5000); setting the first, second, third, and fourth cameras as an initial image frame (II) or a new initial image frame (II) stored in the database (5000) (S1400); setting (S1500) the first and second cameras to image processing set values or new values stored in the database (5000); and then setting the first, second, third, and fourth cameras to the camera control set value or new value stored in the database 5000 (S1600);
When operating in the preview mode,
In order to acquire an image that can confirm the installation and operation status of the camera, the first, second, third, and fourth cameras are set to the camera control set value loaded from the database 5000 or a new value (S1600) including;
In the camera calibration setting step (S1200), the focal length (f x , f y ) and the origin coordinates (C x , C y ), which are internal parameters (M cam ) of the first camera and the second camera, and external parameters In rotation information (R cam ) and location information (t cam ) is stored in the database 500,
In the measurement area setting step (S1300), the hitting area (TZ) and the human body area (BZ) of the golf ball are stored in the database 500,
In the initial image frame setting step (S1400), an initial image frame obtained by photographing only the background excluding the moving golf ball and the user's body from the images of the first to fourth cameras is stored in the database 500,
In the image processing setting step (S1500), the image processing applied in the image processing steps of the preparation step (S2000), the trigger step (S3000), the golf ball detection step (S5000), and the golf club detection step (S6000) Store the set value in the database 500,
In the camera control setting step (S1600), the first and second cameras 101 and 102 of the sensor unit 100 and the third and fourth cameras 201 and 202 of the motion unit 200 are controlled. characterized in that the brightness gain value, which means the exposure time and the sensitivity of the camera image sensor, is stored in the database (500),
A method for recognizing the movement of golf balls and golf clubs in high-speed camera images.
상기 준비단계(S2000)에서, 골프공이 타격 준비된 것으로 확인된 경우, 타격 준비된 골프공 객체(BO)를 레디객체(RO)로 중심점 좌표(Rp)와 반지름(Rr), 픽셀값(Rv)을 상기 데이터베이스(500)에 저장하고, 상기 센서부(100)의 제 1 카메라 및 제 2카메라와, 상기 모션부의 제 3 카메라 및 제 4카메라가가 획득하는 골프공 영상의 마지막 프레임을 준비 영상 프레임(RI)으로 데이터베이스(500)에 저장하고,
상기 트리거 단계(S3000)에서는,
타격 영역(TZ)에 타격 준비된 골프공 레디객체(RO)의 중심점 좌표(ROp)와 반지름(ROr), 픽셀값(ROv)을 로드하고 중심점 좌표(ROp)와 반지름(ROr)을 기초로 하여, 골프공 레디객체(RO)가 타격되었다고 판단하는 이진화 문턱값(πRr 2)을 계산하여 저장하고,
상기 처리부(300)는, 전체 영상 프레임에서 트리거 프레임 인덱스(TIDX)을 검색하고자 하는 영상의 전체 프레임 수(FQTY)를 확인하여 저장하고, 시작 인덱스(SIDX)를 1, 종료 인덱스(EIDX)를 FQTY, 중간 인덱스(MIDX)를 (EIDX-SIDX)/2로 저장하고, 시작 인덱스(SIDX)에 중간 인덱스(MIDX)를 더한 검색 인덱스(KIDX)를 계산하여 저장하고,
상기 준비 영상 프레임(RI)의 타격 영역(TZ)과 검색 인덱스(KIDX)에 해당하는 영상 프레임의 타격 영역(TZ)을 비교하여 픽셀 변화가 있는 차영상 프레임을 계산하고, 상기 계산된 차영상 프레임에서 잡음을 제거하기 위하여 데이터베이스(500)에 저장된 트리거단계(S3000)의 상기 이진화 문턱값(πRr 2) 이상의 픽셀 변화가 있는 픽셀 수량(PQTY)을 계산하고,
상기 계산된 픽셀 수량(PQTY)이 상기 이진화 문턱값(πRr 2)보다 큰 경우 종료 인덱스(EIDX)를 중간 인덱스(MIDX)로 변경하며, 상기 계산된 픽셀 수량(PQTY)이 상기 이진화 문턱값(πRr 2)보다 작거나 같은 경우에는 시작 인덱스(SIDX)를 원래의 시작 인덱스에 중간 인덱스(MIDX)를 더한 값으로 변경하고,
다시 중간 인덱스(MIDX)와 검색 인덱스(KIDX)를 변경하고 상기 검색 인덱스(KIDX)에 해당하는 영상 프레임의 타격 영역(TZ)의 차영상에서 픽셀 수량(PQTY)을 계산하는 과정을 반복하여, 중간 인덱스(MIDX)의 값이 1보다 작거나 같다면 검색을 종료하고 검색 인덱스(KIDX)를 트리거 프레임 인덱스(TIDX)로 저장하며 검색을 종료하는 것을 특징으로 하는,
고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법.
3. The method of claim 2,
In the preparation step (S2000), when it is confirmed that the golf ball is ready to hit, the center point coordinates (R p ), the radius (R r ), and the pixel value (R v ) are the ready object (RO) ready to hit the golf ball object (BO). ) is stored in the database 500, the first camera and the second camera of the sensor unit 100, and the third camera and the fourth camera of the motion unit prepare the last frame of the golf ball image acquired by the image Stored in the database 500 as a frame (RI),
In the trigger step (S3000),
Load the center point coordinate (RO p ), radius (RO r ), and pixel value (RO v ) of the golf ball ready object (RO) ready to hit in the hitting area (TZ), and load the center point coordinate (RO p ) and radius (RO r ) On the basis of , calculate and store the binarization threshold value (πR r 2 ) to determine that the golf ball-ready object (RO) has been hit,
The processing unit 300 checks and stores the total number of frames (FQTY) of the image for which the trigger frame index (TIDX) is to be retrieved from the entire image frame, the start index (SIDX) is 1, and the end index (EIDX) is FQTY. , save the intermediate index (MIDX) as (EIDX-SIDX)/2, calculate and store the search index (KIDX) by adding the middle index (MIDX) to the starting index (SIDX),
Comparing the striking area (TZ) of the preparation image frame (RI) and the striking area (TZ) of the image frame corresponding to the search index (KIDX) calculates the difference image frame with a pixel change, the calculated difference image frame Calculate the pixel quantity (PQTY) with a pixel change greater than or equal to the binarization threshold (πR r 2 ) of the trigger step (S3000) stored in the database 500 to remove noise from
When the calculated pixel quantity (PQTY) is greater than the binarization threshold (πR r 2 ), the ending index (EIDX) is changed to an intermediate index (MIDX), and the calculated pixel quantity (PQTY) is the binarization threshold ( If less than or equal to πR r 2 ), change the starting index (SIDX) to the original starting index plus the middle index (MIDX),
Change the intermediate index (MIDX) and the search index (KIDX) again and repeat the process of calculating the pixel quantity (PQTY) in the difference image of the hitting area (TZ) of the image frame corresponding to the search index (KIDX), When the value of the index (MIDX) is less than or equal to 1, the search is terminated, the search index (KIDX) is stored as the trigger frame index (TIDX), and the search is terminated,
A method for recognizing the movement of golf balls and golf clubs in high-speed camera images.
상기 골프공 검출단계(S5000)에서는,
상기 제 1 카메라의 골프공 객체(BOl)의 2차원 영상좌표(pl(xl , yl))와 상기 제 2카메라의 골프공 객체(BOr)의 2차원 영상좌표pr(xr , yr)로 이루어진 한 쌍의 2차원 영상좌표(pl, pr)로 상기 골프공 객체(BO)의 3차원 공간좌표(P(x, y, z))를 계산할 때 다음 수학식 4인
를 따르고,
상기 사용자의 골프 스윙 시, 상기 사용자의 신체 또는 골프클럽의 가려짐으로 인해 상기 제 1 카메라 또는 상기 제 2카메라 가운데 한 개의 트리거 영상 프레임(TI)에서 골프공 객체(BO)가 검출되지 않을 경우, 상기 제 1 카메라의 골프공 객체(BOl)의 2차원 영상좌표(pl) 또는 상기 제 2카메라의 골프공 객체(BOr)의 2차원 영상좌표(pr) 가운데 한 개의 2차원 영상좌표만으로 골프공 객체(BO)의 3차원 공간좌표(P)를 계산할 때는 다음 수학식 5인
를 따르는 것을 특징으로 하는,
고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법.
3. The method of claim 2,
In the golf ball detection step (S5000),
The two-dimensional image coordinates (p l (x l , y l )) of the golf ball object (BO l ) of the first camera and the two-dimensional image coordinates p r (x) of the golf ball object (BO r ) of the second camera When calculating the three-dimensional spatial coordinates (P(x, y, z)) of the golf ball object BO with a pair of two-dimensional image coordinates (p l , p r ) consisting of r , y r ), the following equation 4 people
follow,
When the user's golf swing, the golf ball object (BO) is not detected in the trigger image frame (TI) of one of the first camera or the second camera due to the occlusion of the user's body or the golf club, One of the two-dimensional image coordinates (p l ) of the golf ball object (BO l ) of the first camera or the two-dimensional image coordinates (p r ) of the golf ball object (BO r ) of the second camera When calculating the three-dimensional space coordinate (P) of the golf ball object (BO) with only the following Equation 5
characterized by following
A method for recognizing the movement of golf balls and golf clubs in high-speed camera images.
상기 골프클럽 검출단계(S6000)에서는,
상기 트리거 영상 프레임(TI)마다 전경객체 목록(L)을 작성하되, 상기 처리부(300)는, 사용자의 골프클럽 번호가 아이언과 퍼터 클럽인 경우 첫 번째 트리거 영상 프레임(TI)에서는 골프공과 골프클럽이 서로 간섭되므로 상기 전경객체의 목록(L)을 작성하지 않으며,
상기 트리거 영상 프레임(TI)을 이진영상 프레임으로 변환한 다음, 골프공 객체(BO)와 골프공 그림자 객체(BS)를 제거한 상기 클럽골프클럽 객체(CO)만을 검출하고,
상기 골프공 그림자 객체(BS)를 제거하기 위한 2차원 영상 좌표를 계산함에 있어서 다음의 수학식 6인,
를 따르는 것을 특징으로 하는,
고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법.
3. The method of claim 2,
In the golf club detection step (S6000),
A foreground object list L is created for each trigger image frame TI, and the processing unit 300, when the user's golf club number is an iron and a putter club, in the first trigger image frame TI, a golf ball and a golf club Since they interfere with each other, the list (L) of the foreground object is not created,
After converting the trigger image frame (TI) into a binary image frame, only the club golf club object (CO) from which the golf ball object (BO) and the golf ball shadow object (BS) are removed,
In calculating the two-dimensional image coordinates for removing the golf ball shadow object (BS), the following Equation 6,
characterized by following
A method for recognizing the movement of golf balls and golf clubs in high-speed camera images.
상기 검출된 골프공 객체(BO) 또는 골프클럽 객체(CO)의 2차원 영상좌표를 검출하고, 상기 검출된 2차원 영상좌표에서 골프공 객체(BO) 또는 골프클럽 객체(CO)의 3차원 공간좌표와 골프공 객체(BO) 또는 골프클럽 객체(CO)의 3차원 공간속도를 계산함에 있어서, 골프공 객체(BO) 또는 골프클럽 객체(CO)와 골프공 레디객체(RO)의 3차원 공간좌표의 사이 각을 계산할 때에,
아래 수학식 7인
를 따르고,
상기 수학식 7로 계산된 사이 각이 10°를 초과하는 경우, 상기 계산된 3차원 공간좌표가 유효하지 않다고 판단하며, 상기 검출된 골프공 객체(BO) 또는 골프클럽 객체(CO)의 2차원 영상좌표가 연속된 두 프레임 이상 검출되지 않더라도 골프공 또는 골프클럽의 3차원 이동속도를 계산하는 방법에 있어서,
수학식 8인
를 따르는 것을 특징으로 하는,
고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법.
7. The method according to claim 5 or 6,
The detected two-dimensional image coordinates of the golf ball object BO or the golf club object CO are detected, and the three-dimensional space of the golf ball object BO or the golf club object CO is detected from the detected two-dimensional image coordinates. In calculating the coordinates and the three-dimensional space velocity of the golf ball object (BO) or the golf club object (CO), the three-dimensional space of the golf ball object (BO) or the golf club object (CO) and the golf ball-ready object (RO) When calculating the angle between coordinates,
Equation 7 below
follow,
When the angle between the calculated by Equation 7 exceeds 10°, it is determined that the calculated three-dimensional spatial coordinates are not valid, and the two-dimensionality of the detected golf ball object (BO) or golf club object (CO) is In the method of calculating the three-dimensional movement speed of a golf ball or golf club even if the image coordinates are not detected for two or more consecutive frames,
Equation 8
characterized by following
A method for recognizing the movement of golf balls and golf clubs in high-speed camera images.
상기 골프공 회전량 계산단계(S7000)에서,
상기 처리부(300)는, 3차원 공간벡터(V)를 기초로 골프클럽의 이동 속도(㎧)를 계산할 때, 아래 수학식 9-1인
를 따르고,
상기 골프클럽이 상기 골프공을 타격하기 이전 상기 골프클럽 객체(CO)의 이동 속도(νci)로 계산하는 방법인 수학식 11인
를 따르고,
상기 골프공 회전량 계산단계(S7000)는, 수학식 12인
에 따라 계산하는 것을 특징으로 하는,
고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법.
3. The method of claim 2,
In the golf ball rotation amount calculation step (S7000),
When the processing unit 300 calculates the moving speed (m/s) of the golf club based on the three-dimensional space vector (V), the following Equation 9-1 is
follow,
Equation 11 is a method of calculating the moving speed (ν ci ) of the golf club object (CO) before the golf club hits the golf ball
follow,
The golf ball rotation amount calculation step (S7000), Equation 12
characterized in that it is calculated according to
A method for recognizing the movement of golf balls and golf clubs in high-speed camera images.
상기 버퍼링단계(S4000)에 있어서,
상기 처리부(300)는, 상기 센서부(100)의 제 1 카메라 및 제 2 카메라가 획득하는 영상에서 상기 골프공 객체(BO)의 타격이 감지된 트리거 프레임 인덱스(TIDX)의 영상 프레임부터 100장 또는 그 이상의 버퍼 영상 프레임(BQTY)에 순차적으로 인덱스를 부여하고 이를 취합하여 저장하고,
상기 처리부(300)는, 상기 모션부(200)의 제 3 카메라 및 제 4카메라에서 취득되는 영상에서 상기 골프공 객체(BO)의 타격이 감지된 트리거 프레임 인덱스(TIDX)의 영상 프레임부터 100장 또는 그 이상의 버퍼 영상 프레임(BQTY)에 순차적으로 인덱스를 부여하고 취합하여 저장하거나 또는 저장 메모리 공간을 절약하기 위하여 한 프레임씩 건너뛰어 50장 또는 그 이상의 버퍼 영상 프레임(BQTY)에 순차적으로 인덱스를 부여하고 이를 취합하여 저장하여,
상기 처리부(300)는, 상기 버퍼 영상 프레임(BQTY)에서 사용자 골프클럽의 번호를 기초로 골프공 객체(BO)를 검출하고자 하는 트리거 영상 프레임(TI)의 시작 시간을 지정하는 프레임 시간 오프셋(Δto)과, 3장의 트리거 영상 프레임(TI)의 시간 간격을 지정하는 프레임 시간 간격(Δti)을 아래 표 2인
에 따라 지정하고,
상기 W1, W5는 우드 1, 우드5를 나타내며,
상기 I3, I8, I9은 아이언3, 아이언8, 아이언9를 나타내며,
PW는 피칭웨지를 나타내며,
S2는 50m~25m 거리에 대해서 사용하는 샌드웨지를 나타내며,
A1은 25m~10m 거리에 대해서 사용하는 어프로치를 나타내며,
PT는 퍼터를 나타내는 것을 특징으로 하는,
고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법.
3. The method of claim 2,
In the buffering step (S4000),
The processing unit 300, from the image frame of the trigger frame index (TIDX) in which the hit of the golf ball object (BO) is detected in the images acquired by the first camera and the second camera of the sensor unit 100, 100 sheets or more buffer image frames (BQTY) are sequentially assigned indexes, collected and stored,
The processing unit 300, from the image frame of the trigger frame index (TIDX) in which the hit of the golf ball object (BO) is detected in the images acquired from the third and fourth cameras of the motion unit 200, 100 sheets Or more buffer image frames (BQTY) are sequentially indexed and aggregated and stored, or 50 or more buffer image frames (BQTY) are sequentially indexed by skipping one frame at a time to save storage memory space. and collect them and store them,
The processing unit 300, the frame time offset (Δto) for designating the start time of the trigger image frame (TI) to detect the golf ball object (BO) based on the number of the user golf club in the buffer image frame (BQTY) ) and the frame time interval (Δti) specifying the time interval of the three trigger image frames (TI) in Table 2 below.
specified according to
The W1 and W5 represent Wood 1 and Wood 5,
I3, I8, and I9 represent iron 3, iron 8, and iron 9,
PW stands for pitching wedge,
S2 indicates the sand wedge used for a distance of 50m to 25m,
A1 represents the approach used for a distance of 25m to 10m,
PT is characterized in that it represents a putter,
A method for recognizing the movement of golf balls and golf clubs in high-speed camera images.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210002633A KR102531041B1 (en) | 2021-01-08 | 2021-01-08 | Method of recognizing motion of golf ball and club in fast camera image and apparatus of analyzing golf motion using the same |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210002633A KR102531041B1 (en) | 2021-01-08 | 2021-01-08 | Method of recognizing motion of golf ball and club in fast camera image and apparatus of analyzing golf motion using the same |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220100765A true KR20220100765A (en) | 2022-07-18 |
KR102531041B1 KR102531041B1 (en) | 2023-05-10 |
Family
ID=82700935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210002633A KR102531041B1 (en) | 2021-01-08 | 2021-01-08 | Method of recognizing motion of golf ball and club in fast camera image and apparatus of analyzing golf motion using the same |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102531041B1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102574229B1 (en) * | 2023-01-11 | 2023-09-01 | 배현직 | Device and method for analysing golf swing |
CN117151140A (en) * | 2023-10-27 | 2023-12-01 | 安徽容知日新科技股份有限公司 | Target identification code identification method, device and computer readable storage medium |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4256290B2 (en) * | 2004-03-26 | 2009-04-22 | Sriスポーツ株式会社 | Golf swing diagnostic system |
KR101019902B1 (en) * | 2010-06-29 | 2011-03-04 | (주) 골프존 | Sensing processing device and method for moving object, and virtual golf simulation device using the same |
JP2012090749A (en) * | 2010-10-27 | 2012-05-17 | Kyocera Corp | Mobile communication terminal, measurement program using the same, and measuring method using the same |
KR101784415B1 (en) * | 2017-02-16 | 2017-11-06 | 이민영 | System for correcting an appearance of golf swing |
KR20190062156A (en) * | 2017-11-27 | 2019-06-05 | 최은정 | A method of recognizing only golf ball objects in photograph using cameras in a golf simulator |
-
2021
- 2021-01-08 KR KR1020210002633A patent/KR102531041B1/en active IP Right Grant
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4256290B2 (en) * | 2004-03-26 | 2009-04-22 | Sriスポーツ株式会社 | Golf swing diagnostic system |
KR101019902B1 (en) * | 2010-06-29 | 2011-03-04 | (주) 골프존 | Sensing processing device and method for moving object, and virtual golf simulation device using the same |
JP2012090749A (en) * | 2010-10-27 | 2012-05-17 | Kyocera Corp | Mobile communication terminal, measurement program using the same, and measuring method using the same |
KR101784415B1 (en) * | 2017-02-16 | 2017-11-06 | 이민영 | System for correcting an appearance of golf swing |
KR20190062156A (en) * | 2017-11-27 | 2019-06-05 | 최은정 | A method of recognizing only golf ball objects in photograph using cameras in a golf simulator |
Non-Patent Citations (7)
Title |
---|
대한민국 공개특허번호 제10-2013-0047081호(2013.05.08. 공개, 발명의 명칭 : 초고속 머신 비전 카메라를 이용한 골프 시뮬레이션 시스템 및 그 시스템을 이용한 골프 시뮬레이션 방법{GOLF SIMULATION SYSTEM USING HIGH SPEED MACHINE VISION CAMERAS AND GOLF SIMULATION METHOD USING THE SAME}) |
대한민국 등록특허 제10-1855978호(2018.05.02. 등록, 발명의 명칭 : 열감지 센서를 이용한 골프 샷 분석 방법 및 장치{DEVICE AND METHOD FOR ANALYSING GOLF SHOT USING HEAT SENSOR}) |
대한민국 등록특허번호 제10-1019902호(2011.02.25. 등록, 발명의 명칭 : 운동하는 볼에 대한 센싱처리장치, 센싱처리방법 및 이를 이용한 가상 골프 시뮬레이션 장치{SENSING PROCESSING DEVICE AND METHOD FOR MOVING OBJECT, AND VIRTUAL GOLF SIMULATION DEVICE USING THE SAME}) |
대한민국 등록특허번호 제10-1078975호(2011.10.26. 등록, 발명의 명칭 : 가상 골프 시뮬레이션 장치에 이용되는 센싱장치 및 센싱방법{SENSING DEVICE AND METHOD USED TO APPARATUS FOR VIRTUAL GOLF SIMULATION}) |
대한민국 등록특허번호 제10-1133150호(2012.03.28. 등록, 발명의 명칭 : 골프공 감지장치{Golf ball sensing device}) |
대한민국 등록특허번호 제10-1195497호(2012.10.23. 등록, 발명의 명칭 : 골프스윙의 자세분석 시스템{THE GOLF SWING MOTION ANALYSIS SYSTEM}) |
대한민국 등록특허번호 제10-1461144호(2014.11.06. 등록, 발명의 명칭 : 운동하는 볼에 대한 센싱장치 및 센싱방법{DEVICE FOR SENSING MOVING BALL AND METHOD FOR THE SAME}) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102574229B1 (en) * | 2023-01-11 | 2023-09-01 | 배현직 | Device and method for analysing golf swing |
WO2024150926A1 (en) * | 2023-01-11 | 2024-07-18 | 배현직 | Golf swing analysis apparatus and method |
CN117151140A (en) * | 2023-10-27 | 2023-12-01 | 安徽容知日新科技股份有限公司 | Target identification code identification method, device and computer readable storage medium |
CN117151140B (en) * | 2023-10-27 | 2024-02-06 | 安徽容知日新科技股份有限公司 | Target identification code identification method, device and computer readable storage medium |
Also Published As
Publication number | Publication date |
---|---|
KR102531041B1 (en) | 2023-05-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3749072B2 (en) | Golf club selection method and selection system | |
US11439886B2 (en) | System and method for determining impact characteristics of sports ball striking element | |
JP5365486B2 (en) | Golf swing classification method and chart | |
JP5932059B2 (en) | Golf club head measuring device | |
TWI448318B (en) | Virtual golf simulation apparatus and sensing device and method used for the same | |
US20130005495A1 (en) | System and method for measurement and analysis of behavior of golf club head in golf swing | |
JP4028771B2 (en) | Method for measuring impact state of golf swing | |
CN103857445A (en) | Golf club deformation measurement system, measurement method, and measurement device | |
KR102531041B1 (en) | Method of recognizing motion of golf ball and club in fast camera image and apparatus of analyzing golf motion using the same | |
KR101562319B1 (en) | System and Method for analyzing putting motion using Depth Information | |
KR102578896B1 (en) | Theta data acquisition system and theta data acquisition method | |
KR101703316B1 (en) | Method and apparatus for measuring velocity based on image | |
TWI635887B (en) | Sensing device for calculating information on golf shot of user and sensing method using the same | |
KR101906847B1 (en) | Method, system and non-transitory computer-readable recording medium for determining region of interest for photographing ball images | |
KR101462079B1 (en) | Device for simulating a golf-ball | |
TWI430823B (en) | Putter speed measurement device, putter including the same, and putter speed measurement method | |
US20060189418A1 (en) | Deviation measuring apparatus | |
KR101705836B1 (en) | System and Method for analyzing golf swing motion using Depth Information | |
KR20210026483A (en) | Method for detecting golf ball hitting and golf swing motion analysis apparatus using the same | |
JP2010158332A (en) | Golf club selecting method | |
KR102055146B1 (en) | Method for checking out sports motion using event-based vision sensor and apparatus for the same | |
KR101078954B1 (en) | Apparatus for virtual golf simulation, and sensing device and method used to the same | |
TWI775636B (en) | Golf swing analysis system, golf swing analysis method and information memory medium | |
TWI775637B (en) | Golf swing analysis system, golf swing analysis method and information memory medium | |
KR20210125662A (en) | The golf club's swing posture verification calibration system and the method of posture correction using it |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |