[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

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 PDF

Info

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
Application number
KR1020210002633A
Other languages
Korean (ko)
Other versions
KR102531041B1 (en
Inventor
최은정
Original Assignee
최은정
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 최은정 filed Critical 최은정
Priority to KR1020210002633A priority Critical patent/KR102531041B1/en
Publication of KR20220100765A publication Critical patent/KR20220100765A/en
Application granted granted Critical
Publication of KR102531041B1 publication Critical patent/KR102531041B1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0021Tracking a path or terminating locations
    • GPHYSICS
    • G03PHOTOGRAPHY; CINEMATOGRAPHY; ANALOGOUS TECHNIQUES USING WAVES OTHER THAN OPTICAL WAVES; ELECTROGRAPHY; HOLOGRAPHY
    • G03BAPPARATUS 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/00High-speed photography
    • G03B39/005High-speed photography using image converters or amplifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • G06T5/007
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/50Image enhancement or restoration using two or more images, e.g. averaging or subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/90Dynamic range modification of images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/62Control of parameters via user interfaces
    • H04N5/23216
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2220/00Measuring of physical parameters relating to sporting activity
    • A63B2220/80Special sensors, transducers or devices therefor
    • A63B2220/806Video cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20212Image combination
    • G06T2207/20224Image subtraction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30221Sports video; Sports image
    • G06T2207/30224Ball; 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

According to the present invention, a motion analysis device for golf is disclosed. The motion analysis device for golf comprises: a sensor unit (100) including a first camera (101), a second camera (102), and a strobe lighting device which are disposed at the top end of a user to obtain a motion of a golf ball; a motion unit (200) including a third camera (201) and a fourth camera (202) which are disposed on the front and sides of the user to obtain motion images of the user's whole body; a processing unit (300) that stores and processes images acquired by the sensor unit (100) and the motion unit (200); a display unit (400) that displays a result of the processing unit (300) on a screen and processes an input/output signal of the user; and a database (500) physically integrated with the processing unit (300) to read and store control settings and calculation results of the device. In addition, according to the present invention, disclosed is a method for recognizing motions of a golf ball and a golf club in a high-speed camera image by using the motion analysis device for golf. The method comprises: a setting step (S1000); a preparation step (S2000); a trigger step (S3000); 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). An image frame at an exact point in time when a golf club hits a golf ball is efficiently retrieved.

Description

고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법 및 이를 이용한 골프용 모션 분석 장치{METHOD OF RECOGNIZING MOTION OF GOLF BALL AND CLUB IN FAST CAMERA IMAGE AND APPARATUS OF ANALYZING GOLF MOTION USING THE SAME}A method for recognizing the movement of a golf ball and a golf club in a high-speed camera image and a motion analysis device for golf using the same

본 발명은 고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법 및 이를 이용한 골프용 모션 분석 장치에 관한 것으로, 좀 더 자세하게는, 고속 카메라의 영상만으로 골프클럽이 골프공을 타격하는 정확한 시점의 이미지 프레임을 효율적으로 검색하며 이와 동시에 실제 타격 순간의 골프공과 골프클럽의 이동 속도와 골프공의 회전 속도를 계산하여 사용자에게 실시간으로 제공하고, 또한, 골프공과 골프클럽의 타격 시점과 동기화된 스윙 자세 영상을 함께 제공하여 사용자가 스스로 스윙 모션의 원인과 결과를 동시에 분석할 수 있는 골프용 모션 분석 장치에 관한 것이다. 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.

대한민국 등록특허 제10-1855978호(2018.05.02. 등록, 발명의 명칭 : 열감지 센서를 이용한 골프 샷 분석 방법 및 장치{DEVICE AND METHOD FOR ANALYSING GOLF SHOT USING HEAT SENSOR})Republic of Korea Patent Registration No. 10-1855978 (Registered 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}) 대한민국 공개특허번호 제10-2013-0047081호(2013.05.08. 공개, 발명의 명칭 : 초고속 머신 비전 카메라를 이용한 골프 시뮬레이션 시스템 및 그 시스템을 이용한 골프 시뮬레이션 방법{GOLF SIMULATION SYSTEM USING HIGH SPEED MACHINE VISION CAMERAS AND GOLF SIMULATION METHOD USING THE SAME})Republic of Korea Patent Publication No. 10-2013-0047081 (published on May 8, 2013, title of invention: Golf simulation system using high-speed machine vision camera and golf simulation method using the system {GOLF SIMULATION SYSTEM USING HIGH SPEED MACHINE VISION CAMERAS AND GOLF SIMULATION METHOD USING THE SAME}) 대한민국 등록특허번호 제10-1461144호(2014.11.06. 등록, 발명의 명칭 : 운동하는 볼에 대한 센싱장치 및 센싱방법{DEVICE FOR SENSING MOVING BALL AND METHOD FOR THE SAME})Republic of Korea Patent No. 10-1461144 (Registered on November 6, 2014, title of invention: sensing device and sensing method for a moving ball {DEVICE FOR SENSING MOVING BALL AND METHOD FOR THE SAME}) 대한민국 등록특허번호 제10-1019902호(2011.02.25. 등록, 발명의 명칭 : 운동하는 볼에 대한 센싱처리장치, 센싱처리방법 및 이를 이용한 가상 골프 시뮬레이션 장치{SENSING PROCESSING DEVICE AND METHOD FOR MOVING OBJECT, AND VIRTUAL GOLF SIMULATION DEVICE USING THE SAME})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 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})Republic of Korea Patent No. 10-1078975 (Registered on October 26, 2011, title of invention: Sensing device and sensing method used in a virtual golf simulation device {SENSING DEVICE AND METHOD USED TO APPARATUS FOR VIRTUAL GOLF SIMULATION}) 대한민국 등록특허번호 제10-1133150호(2012.03.28. 등록, 발명의 명칭 : 골프공 감지장치{Golf ball sensing device})Republic of Korea Patent No. 10-1133150 (Registered on March 28, 2012, title of invention: Golf ball sensing device) 대한민국 등록특허번호 제10-1195497호(2012.10.23. 등록, 발명의 명칭 : 골프스윙의 자세분석 시스템{THE GOLF SWING MOTION ANALYSIS SYSTEM})Republic of Korea Patent No. 10-1195497 (Registered on October 23, 2012, title of invention: golf swing posture analysis system {THE GOLF SWING MOTION ANALYSIS SYSTEM})

본 발명은 상술한 문제점을 해결하기 위하여 창출된 것으로, 본 발명의 목적은 고속 카메라의 영상만으로 골프클럽이 골프공을 타격하는 정확한 시점의 이미지 프레임을 효율적으로 검색하며 이와 동시에 실제 타격 순간의 골프공과 골프클럽의 이동 속도와 골프공의 회전 속도를 계산하여 사용자에게 실시간으로 제공하는, 고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법을 제공하는 것이다. 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 first camera 101, a second camera 102, and a strobe lighting device disposed on the upper end of the user to obtain the movement of the golf ball A sensor unit 100 including; 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.

또한, 상기 센서부(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 sensor unit 100 transmit a photographing shutter signal to the strobe lighting device located outside, and the strobe lighting device receives the first camera and the second camera by the photographing shutter signal. The operation is controlled in synchronization with the shooting time of the camera, the processing unit 300 designates a shooting speed of the first camera of the sensor unit 100 , and the sensor unit 100 is the first camera 101 . transmits a synchronization signal of the second camera 102 and the third camera 201 and the fourth camera 202 of the motion unit 200, the second camera, the third camera, and the fourth The camera performs synchronized photography at the same time and at the same speed as the first camera by the synchronization signal of the first camera.

한편, 본 발명의 또 다른 실시예에 따른 고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법은, 상술한 골프용 모션 분석 장치를 이용하여, 고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법으로서, 골프 클럽 특성을 설정하고(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 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.

또한, 상기 설정 단계(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 database 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)에 저장할 수 있다. 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 database 500, and in the initial image frame setting step (S1400), the first An initial image frame obtained by photographing only the background excluding the moving golf ball and the user's body from the image of the fourth camera is stored in the database 500, and in the image processing setting step (S1500), the preparation step (S2000) , store the image processing setting value applied in the image processing step of the trigger step (S3000), the golf ball detection step (S5000) and the golf club detection step (S6000) in the database 500, and set the camera control In step S1600, the exposure time and camera for controlling 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 A brightness gain value indicating the sensitivity of the image sensor may be stored in the database 500 .

또한, 상기 준비단계(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 database 500, and the first and second cameras of the sensor unit 100, and the third and fourth cameras of the motion unit prepare the last frame of the golf ball image acquired by the camera. The image frame RI may be stored in the database 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)로 저장하며 검색을 종료할 수 있다. 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 processing unit 300 is the entire image Check and save the total number of frames (FQTY) of the video you want to search for the trigger frame index (TIDX) in the frame, and set the start index (SIDX) to 1, the end index (EIDX) to FQTY, and the middle index (MIDX) to (EIDX). -SIDX)/2, calculate and store the search index (KIDX) by adding the middle index (MIDX) to the start index (SIDX), and the hitting area (TZ) and the search index ( KIDX) by comparing the striking area (TZ) of the image frame to calculate a difference image frame with a pixel change, and the binarization threshold value of the trigger step (S3000) stored in the database 500 in the calculated difference image frame Calculate the pixel quantity (PQTY) with a pixel change of (πR r 2 ) or more, and if the calculated pixel quantity (PQTY) is greater than the binarization threshold (πR r 2 ), the ending index (EIDX) is set as the intermediate index (MIDX) ), and when the calculated pixel quantity (PQTY) is less than or equal to the binarization threshold (πR r 2 ), the starting index (SIDX) is changed to a value obtained by adding the middle index (MIDX) to the original starting index Then, change the intermediate index (MIDX) and the search index (KIDX) again, and repeat the process of calculating the pixel quantity (PQTY) from the difference image of the hitting area (TZ) of the image frame corresponding to the search index (KIDX) , if the value of the intermediate index (MIDX) is less than or equal to 1, the search can be terminated, the search index (KIDX) is stored as the trigger frame index (TIDX), and the search can be ended.

또한, 상기 골프공 검출단계(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 following Equation 4

Figure pat00001
Figure pat00001

를 따르고, 골프 스윙 시 사용자 신체 또는 클럽의 가려짐으로 인해 상기 제 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

Figure pat00002
를 따를 수 있다.
Figure pat00002
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 processing unit 300, when the user's golf club number is an iron and a putter club, first In the second trigger image frame TI, the golf ball and the golf club interfere with each other, so the list L of the foreground object is not created, the trigger image frame TI is converted into a binary image frame, and then the golf ball object BO ) and the golf ball shadow object (BS) to detect only the club golf club object (CO), and to calculate the two-dimensional image coordinates for removing the golf ball shadow object (BS) is the following Equation 6,

Figure pat00003
Figure pat00003

를 따를 수 있다. 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,

Figure pat00004
Figure pat00004

를 따를 수 있다.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인, Equation 8,

Figure pat00005
Figure pat00005

Figure pat00006
Figure pat00006

및 도 19에 따라 계산할 수 있다.and FIG. 19 .

또한, 상기 골프공 회전량 계산단계(S7000)에서, 상기 처리부(300)는, 3차원 공간벡터(V)를 기초로 골프클럽의 이동 속도(㎧)를 계산할 때, 아래 수학식 9-1인In addition, in the golf ball rotation amount calculation step (S7000), the processing unit 300, when calculating the moving speed (㎧) of the golf club based on the three-dimensional space vector (V), the following Equation 9-1

Figure pat00007
Figure pat00007

를 따르고, 상기 골프클럽이 상기 골프공을 타격하기 이전 상기 골프클럽 객체(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.

Figure pat00008
Figure pat00008

를 따르고, follow,

상기 골프공 회전량 계산단계(S7000)는, 수학식 12인 The golf ball rotation amount calculation step (S7000), Equation 12

Figure pat00009
Figure pat00009

에 따라 계산할 수 있다. 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 processing unit 300, the first camera and the second camera of the sensor unit 100 in the image acquired by the golf ball object (BO) hit is detected trigger Indexes are sequentially assigned to 100 or more buffer image frames (BQTY) from the image frame of the frame index (TIDX), and they are collected and stored, and the processing unit 300 is the third camera of the motion unit 200 . And from the image frame of the trigger frame index (TIDX) in which the blow of the golf ball object (BO) is detected in the image acquired from the fourth camera, indexes are sequentially assigned to 100 or more buffer image frames (BQTY) and collected to sequentially assign indexes to 50 or more buffer image frames (BQTY) by skipping one frame at a time to save storage memory space, and collect and store them, the processing unit 300, the buffer image A frame time offset (Δto) that specifies the start time of a trigger image frame (TI) to detect a golf ball object (BO) based on the number of the user's golf club in the frame (BQTY), and three trigger image frames (TI) ), the frame time interval (Δti) specifying the time interval of

[표 2][Table 2]

Figure pat00010
Figure pat00010

에 따라 지정할 수 있다. 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 Wood 1 and Wood 5, I3, I8, and I9 represent iron 3, iron 8, and iron 9, PW represents a pitching wedge, and S2 is used for a distance of 50m to 25m. A sand wedge is indicated, A1 is the approach used for a distance of 25m to 10m, and PT is a putter. For more specific details on individual numbers of golf clubs, refer to Table 1 to be described later.

본 발명에 따른 고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법 및 이를 이용한 골프용 모션 분석 장치에 따르면,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 sensor unit 100 and the third and fourth cameras of the motion unit 200 according to the present invention.
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 database 500 It is a flowchart illustrating a method of calculating the starting point P 1 , the ending point P 2 , and the movement time (Δt) of the three-dimensional space vector (V) with coordinates (x r , y r , z r ).
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 first camera 101, a second camera 102 and a strobe lighting device disposed on the upper end of the user to obtain the movement of the golf ball a sensor unit 100 including; 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 obtain an image of the user's whole body motion; a processing unit 300 for storing and processing images acquired by the sensor unit 100 and the motion unit 200; and a display unit 400 that displays the results of the processing unit 300 on the screen and processes the user's input/output signals; 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 ); includes.

여기서, 센서부(100)의 제 1 카메라 및 제 2카메라는 외부에 위치한 스트로보 조명장치에 촬영 셔터 신호를 송신하며, 스트로보 조명장치는 상기 촬영 셔터 신호에 의해 제 1, 제 2카메라의 촬영 시점과 동조하여 동작을 제어한다. Here, the first camera and the second camera of the sensor unit 100 transmit a photographing shutter signal to a strobe lighting device located outside, and the strobe lighting device determines the photographing timing and timing of the first and second cameras by the photographing shutter signal. Synchronize to control motion.

처리부(300)는, 센서부(100)의 제 1 카메라의 촬영 속도를 지정한다. 센서부(100)는 제 1카메라(101)의 동기 신호를 나머지 제 2카메라(102)와 모션부(200)의 제 3, 제 4카메라(201, 202)에 송신하며, 제 2, 제 3, 제 4카메라는 동기 신호에 의해 제 1카메라와 동일한 속도로 동일한 시점에 동기화 촬영한다. The processing unit 300 designates a shooting speed of the first camera of the sensor unit 100 . The sensor unit 100 transmits the synchronization signal of the first camera 101 to the remaining second camera 102 and the third and fourth cameras 201 and 202 of the motion unit 200, and the second and third , the fourth camera takes synchronized pictures at the same time and at the same speed as the first camera by the synchronization signal.

또한, 처리부(300)는, 센서부(100)의 제 1카메라의 촬영 속도를 트리거 모드로 설정하여 제 1, 제2 카메라의 영상에서 골프공과 골프클럽의 움직임을 분석 가능하도록 동작할 수 있다. 이때 상기 센서부(100)의 제 1카메라의 촬영 속도는 초당 300프레임으로 동작하며 상기 처리부(300)은 제 1, 제2 카메라의 영상 프레임에서 골프공 객체와 골프클럽 객체를 검출하며 움직임을 분석하며 상기 표시부(400)는 화면상에 상기 분석 결과를 실시간으로 표시할 수 있다.In addition, the processing unit 300 may set the shooting speed of the first camera of the sensor unit 100 as a trigger mode to operate to analyze the movement of the golf ball and golf club in the images of the first and second cameras. At this time, the shooting speed of the first camera of the sensor unit 100 operates at 300 frames per second, and the processing unit 300 detects the golf ball object and the golf club object from the image frames of the first and second cameras and analyzes the movement. and the display unit 400 may display the analysis result on the screen in real time.

또한, 처리부(300)은 모션부(200)의 제 3, 제 4카메라에서 취득되는 영상을 한 프레임씩 건너뛰어 저장하여 사용하는 메모리를 절약할 수 있다. 참고로, 도 2는 본 발명에 따른 센서부(100)의 제 1 카메라, 제 2카메라와 모션부(200)의 제 3, 제 4 카메라의 동작 속도를 예시한 도면이다.Also, the processing unit 300 may save the memory used by skipping and storing the images acquired by the third and fourth cameras of the motion unit 200 one frame at a time. For reference, FIG. 2 is a diagram illustrating operating speeds of the first and second cameras of the sensor unit 100 and the third and fourth cameras of the motion unit 200 according to the present invention.

상기 처리부(300)는, 상기 센서부(100)의 제 1카메라의 촬영 속도를 프리뷰 모드로 설정하여 제 1, 제2, 제 3, 제 4카메라의 설치 및 동작 상태를 사용자가 육안으로 확인 가능하도록 동작할 수 있다. 이 때 상기 센서부(100)의 제 1카메라의 촬영 속도는 초당 60프레임으로 동작하며 상기 표시부(400)는 화면상에 제1, 제2, 제 3, 제 4 카메라의 영상을 실시간으로 표시할 수 있다. The processing unit 300 sets the shooting speed of the first camera of the sensor unit 100 to the preview mode so that the user can visually check the installation and operation status of the first, second, third, and fourth cameras. can operate to do so. At this time, the shooting speed of the first camera of the sensor unit 100 operates at 60 frames per second, and the display unit 400 displays images of the first, second, third, and fourth cameras on the screen in real time. can

일 실시예로 카메라의 촬영 속도를 설명하였으며, 본 기술은 상기 센서부(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 sensor unit 100 to 60 frames per second, or 300 frames per second. For reference, Figure 3 is a layout view illustrating the installation of the motion analysis apparatus for golf according to the present invention.

(고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법) (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 processing unit 300 uses the first and second cameras stored in the database 5000 to analyze the movement of the golf ball and the golf club when operating in the “trigger mode” in the setting step (S1000). Alternatively, a new value may be set (S1100), and the first and second cameras may be set to a calibration set value or a new value stored in the database 5000 (S1200), and the first and second cameras may be set to the database 5000 ) can be set (S1300) to the measurement area setting value or new value stored in the initial image frame (II) or the new initial image frame ( II) can be set (S1400), and the first and second cameras can be set to image processing set values or new values stored in the database 5000 (S1500), and then the first, second, and third , the fourth camera may be set to a camera control setting value stored in the database 5000 or a new value (S1600).

또한, 처리부(300)는, 설정단계(S1000)에서 “프리뷰 모드”로 동작하는 경우 카메라의 설치 및 동작 상태를 확인할 수 있는 영상을 취득하기 위하여 제 1, 제 2, 제 3, 제 4 카메라를 데이터베이스(5000)로부터 로드한 카메라 제어 설정 값 또는 새로운 값으로 설정(S1600)할 수 있다. In addition, the processing unit 300, when operating in the “preview mode” in the setting step (S1000), the first, second, third, and fourth cameras in order to acquire an image that can check the installation and operation state of the camera A camera control setting value loaded from the database 5000 or a new value may be set (S1600).

또한, 처리부(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 processing unit 300 may store it again in the database 5000 . The processing unit 300 may start the operation of the camera after completing the camera settings ( S1100 to S1600 ).

다음으로, 골프클럽 특성 설정에 대해서 설명한다. Next, golf club characteristic setting will be described.

처리부(300)는, 설정단계(S1000)에서 사용자의 골프클럽을 개별번호로 구분하여 해당 골프클럽 페이스가 지면과 이루는 각도를 의미하는 “로프트(˚)”, 해당 골프클럽 헤드의 평균적인 무게를 의미하는 “헤드중량(㎏)”, 해당 골프클럽으로 골프공을 타격할 경우 골프공의 평균적인 구속을 의미하는 “예상 구속(㎧)”과 해당 골프클럽 헤드의 예상 이동 속도를 의미하는 “속도 계수(㎧)”의 특성 설정값을 데이터베이스(500)에 저장할 수 있다. 아래 표 1은 골프클럽의 개별번호에 해당하는 특성 설정 값을 예시한 테이블이다. The processing unit 300 classifies the user's golf clubs by individual numbers in the setting step (S1000), "loft (˚)", which means the angle the golf club face makes with the ground, and the average weight of the golf club head “Head weight (kg)”, meaning “expected velocity (㎧)” meaning the average velocity of a golf ball when hitting a golf ball with the golf club, and “speed” meaning the expected movement speed of the golf club head A characteristic setting value of “coefficient (㎧)” may be stored in the database 500 . Table 1 below is a table illustrating characteristic setting values corresponding to individual numbers of golf clubs.

[표 1] [Table 1]

Figure pat00011
Figure pat00011

상술한 표 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 processing unit 300 classifies the user's golf clubs by group numbers in the setting step (S1000) and shoots the golf ball "expected movement speed (㎧)" of the golf ball expected when hitting the golf ball with the corresponding golf club. “Frame time interval-Δti(ms)” means the time interval of the trigger video frame in the high-speed camera video, and “frame” means the start time of the first frame of the trigger video frame in the high-speed camera video that shoots a golf ball When the golf ball moves at the “expected movement speed (㎧)” during the “time offset-Δto(ms)” and “frame time interval-Δti(ms)”, the expected “frame movement distance (mm)” of the golf ball is stored in the database ( 500) can be stored. Table 2 below is a table exemplifying characteristic setting values corresponding to group numbers of golf clubs.

[표 2] [Table 2]

Figure pat00012
Figure pat00012

상술한 표 2에서 센서부(100)의 제 1, 제 2카메라를 초당 300프레임의 속도로 획득하는 경우 프레임 시간 간격(Δti)과 프레임 시간 오프셋(Δto)를 기재하였으나, 본 발명은 초당 300프레임의 촬영 속도로 반드시 한정 또는 제한되지 않으므로, 표 2의 프레임 시간 간격(Δti)과 프레임 시간 오프셋(Δto)은 카메라의 동작 속도에 따라 변경될 수 있음은 물론이다.In Table 2 above, when the first and second cameras of the sensor unit 100 are acquired at a rate of 300 frames per second, the frame time interval Δti and the frame time offset Δto are described. It goes without saying that the frame time interval Δti and the frame time offset Δto in Table 2 may be changed according to the operating speed of the camera, since it is not necessarily limited or limited to the shooting speed of .

다음으로, 카메라 캘리브레이션 설정을 설명한다. 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 processing unit 300 may store, in the setting step S1000 , internal parameters M cam and external parameters of the first and second cameras of the sensor unit 100 in the database 500 . 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. In FIG. 6, the camera coordinate system indicates a coordinate system in which the camera's focus is the origin, the front optical axis direction of the camera is the Z axis, the camera downward direction is the Y axis, and the right direction of the camera is the X axis. This refers to a coordinate system with the user's tee position as the origin, the left and right directions as the X-axis, the front-back direction as the Y-axis, and the up-down direction as the Z-axis.

구체적으로, 처리부(300)는, 센서부(100)의 제 1 카메라, 제 2카메라의 내부 파라메터(Mcam)인 초점거리(fx, fy)와 원점 좌표(Cx, Cy)를 데이터베이스(500)에 저장한다. 아래의 수학식1은 카메라의 캘리브레이션 설정에서 내부 파라메터(Mcam)인 초점거리(fx, fy)와 원점 좌표(Cx, Cy)에 대하여 상세하게 예시한 수식이다.Specifically, the processing unit 300, the internal parameters (M cam ) of the first camera and the second camera of the sensor unit 100 , the focal length (f x , f y ) and the origin coordinates (C x , C y ) It is stored in the database 500 . Equation 1 below is a detailed example of the focal length (f x , f y ) and origin coordinates (C x , C y ) that are internal parameters (M cam ) in the calibration setting of the camera.

[수학식 1] [Equation 1]

Figure pat00013
Figure pat00013

또한, 처리부(300)는, 제 1 카메라, 제 2카메라의 외부 파라메터인 회전정보(Rcam)와 위치정보(tcam)를 데이터베이스(500)에 저장한다. 도 7은 카메라의 칼리브레이션 설정에서 외부 파라메터인 회전정보(Rcam)와 위치정보(tcam)에 대하여 상세하게 예시한 도면이다. In addition, the processing unit 300 stores the rotation information (R cam ) and the position information (t cam ), which are external parameters of the first camera and the second camera, in the database 500 . 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.

아래 수학식 2는 카메라의 칼리브레이션 설정에서 외부 파라메터인 회전정보(Rcam)와 위치정보(tcam)에 대하여 상세하게 예시한 수식이다.Equation 2 below is a detailed example of rotation information (R cam ) and position information (t cam ) that are external parameters in the calibration setting of the camera.

[수학식 2] [Equation 2]

Figure pat00014
Figure pat00014

여기서, 월드좌표(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 processing unit 300 may store the hitting area TZ and the human body area BZ of the golf ball in the database 500 in the setting step S1000 . More specifically, as shown in Figure 8, the processing unit 300, the user's left or right-handed information from the golf ball image acquired by the first camera and the second camera of the sensor unit 100 and the user to use when hitting After grouping golf club numbers into wood and iron or putter, the tee position to hit may be stored in the database 500 as the hitting area TZ of the golf ball in rectangular coordinates. In addition, the processing unit 300 may store the body region BZ in the database 500 as rectangular coordinates of the movement range region of the human body during swing according to the user's left-handed or right-handed information.

다음으로 초기 영상 프레임 설정에 대하여 설명한다. Next, an initial image frame setting will be described.

처리부(300)는, 골프공과 골프클럽의 움직임을 인식하는 방법의 설정단계(S1000)에서, 제 1 카메라 내지 제 4카메라의 영상에서 움직임이 있는 골프공과 사용자 신체를 배제한 오로지 배경만을 촬영한 초기 영상 프레임(II)을 데이터베이스(500)에 저장할 수 있다. 도 9는 제 1, 제 2, 제3, 제 4카메라의 초기 영상 프레임(II)을 예시한 도면이다. The processing unit 300, in the setting step (S1000) of the method for recognizing the movement of the golf ball and the golf club, an initial image of only the background excluding the golf ball and the user's body having a movement in the images of the first camera to the fourth camera The frame II may be stored in the database 500 . 9 is a diagram illustrating an initial image frame II of the first, second, third, and fourth cameras.

다음으로 영상 처리 설정에 대하여 설명한다. Next, image processing settings will be described.

처리부(300)는 골프공과 골프클럽의 움직임을 인식하는 방법의 설정단계(S1000)에서 준비단계(S2000), 트리거단계(S3000), 골프공 검출단계(S5000), 골프클럽 검출단계(S6000)의 영상처리 단계에서 적용되는 영상 처리 설정값을 데이터베이스(500)에 저장할 수 있다. The processing unit 300 is a preparation step (S2000), a trigger step (S3000), a golf ball detection step (S5000), a golf club detection step (S6000) in the setting step (S1000) of the method for recognizing the movement of the golf ball and the golf club. An image processing setting value applied in the image processing step may be stored in the database 500 .

보다 자세하게는, 처리부(300)는, 준비단계(S2000)의 차영상 프레임에서 잡음을 제거하기 위한 이진화 문턱 값을 데이터베이스(500)에 저장할 수 있다. 또한, 처리부(300)는, 트리거단계(S3000)의 계산된 차영상 프레임에서 잡음을 제거하기 위한 이진화 문턱 값을 데이터베이스(500)에 저장할 수 있다. In more detail, the processing unit 300 may store a binarization threshold value for removing noise from the difference image frame in the preparation step S2000 in the database 500 . Also, the processing unit 300 may store a binarization threshold value for removing noise from the calculated difference image frame in the triggering step S3000 in the database 500 .

또한, 처리부(300)는, 골프공 검출단계(S5000)의 차영상 프레임에서 잡음을 제거하기 위한 이진화 문턱 값을 데이터베이스(500)에 저장할 수 있다. 또한, 처리부(300)는, 골프클럽 검출단계(S6000)의 차영상 프레임에서 잡음을 제거하기 위한 이진화 문턱 값을 데이터베이스(500)에 저장할 수 있다. Also, the processing unit 300 may store a binarization threshold value for removing noise from the difference image frame of the golf ball detection step S5000 in the database 500 . Also, the processing unit 300 may store a binarization threshold value for removing noise from the difference image frame of the golf club detection step S6000 in the database 500 .

또한, 처리부(300)는, 센서부의 제 1, 제 2카메라의 영상에서 골프공 객체(BO)로 검출하고자 하는 최소 예상 크기와 최대 예상 크기를 데이터베이스에(500)에 저장할 수 있다. 처리부(300)는 골프클럽 검출단계(S6000)에서 골프클럽 객체(CO)를 검출하고자 하는 최소 예상크기와 최대 예상크기를 데이터베이스에(500)에 저장할 수 있다. Also, the processing unit 300 may store, in the database 500 , the minimum expected size and the maximum expected size to be detected as the golf ball object BO in the images of the first and second cameras of the sensor unit. The processing unit 300 may store the minimum expected size and the maximum expected size for detecting the golf club object CO in the database 500 in the golf club detection step (S6000).

또한, 처리부(300)는, 센서부의 제 1, 제 2카메라의 영상에서 골프공 객체(BO)로 검출하고자 하는 최소 서클 피팅 값을 데이터베이스에(500)에 저장할 수 있다. Also, the processing unit 300 may store, in the database 500 , the minimum circle fitting value to be detected as the golf ball object BO in the images of the first and second cameras of the sensor unit.

도 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 processing unit 300 may store the control setting values of the first, second, third, and fourth cameras in the database 500 in the setting step S1000 of the method for recognizing the movement of the golf ball and the golf club.

보다 자세하게는, 처리부(300)는, 설정단계(S1000)에서 센서부(100)의 제 1, 제 2 카메라(101, 102)와 모션부(200)의 제 3, 제 4카메라(201, 202)를 제어하는 노출 시간과 카메라 이미지 센서의 감도를 의미하는 밝기 게인 값을 데이터베이스에(500)에 저장할 수 있다. 처리부(300)는, 설정단계(S1000)에서 센서부(100)의 제 1카메라(101)의 “트리거 모드”와 “프리뷰 모드”의 동작 속도를 데이터베이스에(500)에 저장할 수 있다. In more detail, the processing unit 300, 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 in the setting step (S1000) ) and a brightness gain value indicating the sensitivity of the camera image sensor and the exposure time for controlling the data may be stored in the database 500 . The processing unit 300 may store the operating speeds of the “trigger mode” and “preview mode” of the first camera 101 of the sensor unit 100 in the database 500 in the setting step S1000 .

(준비 단계)(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 processing unit 300 may acquire images of the first and second cameras 101 and 102 of the sensor unit by initializing the previous coordinates BO p in the preparation step S2000 . And the processing unit 300, based on the user's left or right-handed information, one of the first and second cameras 101 and 102 of the sensor unit 100 is ready to hit the sensor unit 100 It can be pre-selected with a trigger camera (TC) that detects a golf ball. And the processing unit 300, the user's golf club number among the wood hitting area (TZ WOOD), iron hitting area (TZ IRON), putter hitting area (TZ PUTT) of the trigger camera (TC) stored in the database 500 It is possible to preselect the area corresponding to the hitting area (TZ).

처리부(300)는, 준비단계(S2000)에서 센서부(100)의 트리거 카메라(TC)가 획득하는 골프공 영상을 영상 프레임 단위로 분할하고, 분할된 영상 프레임과 초기 영상 프레임(II)에서 픽셀 변화가 있는 차영상 프레임을 계산할 수 있다. 처리부(300)는, 계산된 차영상 프레임에서 잡음을 제거하기 위하여 데이터베이스(500)에 저장된 준비단계(S2000)의 이진화 문턱 값 이상인 이진영상 프레임으로 계산할 수 있다. The processing unit 300 divides the golf ball image acquired by the trigger camera TC of the sensor unit 100 in the preparation step S2000 into image frame units, and pixels in the divided image frame and the initial image frame II. It is possible to calculate the difference image frame with change. The processing unit 300 may calculate a binary image frame equal to or greater than the binarization threshold value of the preparation step ( S2000 ) stored in the database 500 in order to remove noise from the calculated difference image frame.

처리부(300)는, 계산된 이진영상 프레임에서 타격 준비된 골프공을 감지하는 타격 영역(TZ)내에서 골프공 객체(BO)를 검출하고 중심점 좌표(BOp), 반지름(BOr), 픽셀 값(BOv)과 현 시각(BOt)를 계산할 수 있다. 그리고 처리부(300)는, 만약 비교 좌표(BOp’)가 존재하는 경우 현재 객체의 중심점 좌표(BOp)를 비교좌표(BOp’)로, 또한 현시각(BOt)를 비교시각(BOt‘)으로 업데이트 할 수 있다. The processing unit 300 detects the golf ball object (BO) within the hitting area (TZ) for detecting the golf ball prepared to hit in the calculated binary image frame, and the center point coordinates (BO p ), the radius (BO r ), the pixel value (BO v ) and the current time (BO t ) can be calculated. And the processing unit 300, if the comparison coordinates (BO p' ) exist, the coordinates of the center point (BO p ) of the current object as the comparison coordinates (BO p' ), and also the current time (BO t ) to the comparison time (BO) t' ) can be updated.

처리부(300)는, 준비단계(S2000)에서 센서부(100)의 트리거 카메라(TC)가 획득하는 연속된 다음 영상 프레임과 초기 영상 프레임(II)에서 픽셀 변화가 있는 차영상 프레임을 계산할 수 있다. 상기 처리부(300)는, 계산된 차영상 프레임에서 잡음을 제거하기 위하여 데이터베이스(500)에 저장된 준비단계(S2000)의 이진화 문턱 값 이상인 이진영상 프레임으로 계산할 수 있다. The processing unit 300 may calculate a difference image frame having a pixel change in the next consecutive image frame and the initial image frame II acquired by the trigger camera TC of the sensor unit 100 in the preparation step S2000. . The processing unit 300 may calculate a binary image frame that is equal to or greater than the binarization threshold value of the preparation step ( S2000 ) stored in the database 500 in order to remove noise from the calculated difference image frame.

처리부(300)는, 계산된 이진영상 프레임에서 타격 준비된 골프공을 감지하는 타격 영역(TZ)내에서 골프공 객체(BO)의 중심점 좌표(BOp)가 비교좌표(BOp’)간 거리가 2픽셀 이내이고 현 시각(BOt)이 비교시각(Ot‘)과 시간 차이가 1초 이상인 경우 골프공이 타격 준비가 되었음으로 확인할 수 있다. The processing unit 300, the center point coordinate (BO p ) of the golf ball object (BO) within the hitting area (TZ) for detecting the golf ball prepared to hit in the calculated binary image frame is the distance between the comparison coordinates (BO p' ) If it is within 2 pixels and the time difference between the current time (BO t ) and the comparison time (O t' ) is 1 second or more, it can be confirmed that the golf ball is ready to hit.

처리부(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 processing unit 300 converts the golf ball object (BO) ready to hit in the preparation step (S2000) to the ready object (RO) as the center point coordinates (R) p ), a radius (R r ), and a pixel value (R v ) are stored in the database 500 . And the processing unit 300, when it is confirmed that the golf ball is ready to hit in the preparation step (S2000) as described above, the first and second cameras of the sensor unit 100 and the third and fourth cameras of the motion unit acquire golf The last frame of the blank image is stored in the database 500 as a ready image frame (RI).

그리고 처리부(300)는, 준비단계(S2000)에서 상술한 바와 같이 골프공이 타격 준비된 것으로 확인한 경우 타격 준비된 상기 골프공 레디객체(RO)의 중심점 좌표(Rp)인 2차원 영상 좌표를 3차원 공간 좌표로 계산하여 데이터베이스(500)에 저장한다. 아래 수학식 3은 2차원 영상 좌표를 3차원 좌표로 계산하는 방법을 예시한 수식이다. And the processing unit 300, when it is confirmed that the golf ball is ready to hit as described above in the preparation step (S2000), the center point coordinates (R p ) of the golf ball-ready object (RO) prepared to hit the two-dimensional image coordinates in three-dimensional space The coordinates are calculated and stored in the database 500 . Equation 3 below is an equation illustrating a method of calculating two-dimensional image coordinates as three-dimensional coordinates.

[수학식 3][Equation 3]

Figure pat00015
Figure pat00015

여기서 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 Equation 1 above. Here, R is a 3X3 matrix storing rotation information about the X-axis, Y-axis, and Z-axis of the camera, and is the same as Rcam (Rotation Matrix) in Equation 2 above. Here, t is a 3X1 matrix storing position information on the X-axis, Y-axis, and Z-axis of the camera, and is the same as tcam (Translation Matrix) in Equation 2 above. Here, the meaning of R and t is illustrated in detail in FIG. 7 .

또한 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 processing unit 300, the center point coordinates (RO p ) and the radius (RO r ) of the golf ball ready object (RO) prepared to hit the hitting area (TZ) of the trigger camera (TC) in the trigger step (S3000) , the pixel value (RO v ) is loaded, and the threshold value (πR r 2 ) for determining that the golf ball-ready object (RO) has been hit is calculated and stored based on the center point coordinates (RO p ) and the radius (RO r ).

그리고 처리부(300)는, 트리거 카메라(TC)가 획득하는 전체 영상 프레임에서 트리거 프레임 인덱스(TIDX)을 검색하고자 하는 영상의 전체 프레임 수(FQTY)를 확인하여 저장한다. 그리고 처리부(300)는 시작 인덱스(SIDX)를 1, 종료 인덱스(EIDX)를 FQTY, 중간 인덱스(MIDX)를 (EIDX-SIDX)/2로 저장하고 시작 인덱스(SIDX)에 중간 인덱스(MIDX)를 더한 검색 인덱스(KIDX)를 계산하여 저장한다. In addition, 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 all image frames acquired by the trigger camera TC. And the processing unit 300 stores the start index (SIDX) as 1, the end index (EIDX) as FQTY, the middle index (MIDX) as (EIDX-SIDX)/2, and the middle index (MIDX) in the start index (SIDX) Calculate and store the added search index (KIDX).

처리부(300)는, 준비 영상 프레임(RI)의 타격 영역(TZ)과 검색 인덱스(KIDX)에 해당하는 영상 프레임의 타격 영역(TZ)을 비교하여 픽셀 변화가 있는 차영상 프레임을 계산할 수 있다. 처리부(300)는, 상기 계산된 차영상 프레임에서 데이터베이스(500)에 저장된 트리거단계(S3000)의 이진화 문턱값 이상의 픽셀 변화가 있는 픽셀 수량(PQTY)을 계산할 수 있다. The processing unit 300 may calculate the difference image frame with a pixel change by comparing the hitting area TZ of the preparation image frame RI and the hitting area TZ of the image frame corresponding to the search index KIDX. The processing unit 300 may calculate a pixel quantity (PQTY) having a pixel change equal to or greater than the binarization threshold of the trigger step ( S3000 ) stored in the database 500 in the calculated difference image frame.

처리부(300)는, 상기 계산된 픽셀 수량(PQTY)이 상기 문턱 값(πRr 2)보다 큰 경우 종료 인덱스(EIDX)를 중간 인덱스(MIDX)를 제한 값으로 변경하며, 상기 계산된 픽셀 수량(PQTY)이 상기 문턱 값(πRr 2)보다 작거나 같은 경우에는 시작 인덱스(SIDX)를 중간 인덱스(MIDX)를 더한 값으로 변경한다. The processing unit 300, when the calculated pixel quantity (PQTY) is greater than the threshold value (πR r 2 ), changes the end index (EIDX) to the limiting value of the intermediate index (MIDX), and the calculated pixel quantity ( PQTY) is less than or equal to the threshold value πR r 2 , the start index SIDX is changed to a value obtained by adding the intermediate index MIDX.

처리부(300)는, 다시 중간 인덱스(MIDX)와 검색 인덱스(KIDX)를 변경하고 상기 검색 인덱스(KIDX)에 해당하는 영상 프레임의 타격 영역(TZ)의 차영상에서 픽셀 수량(PQTY)을 계산하는 과정을 아래 도 12와 같이 반복한다. 처리부(300)는, 중간 인덱스(MIDX)의 값이 1보다 작거나 같다면 검색을 종료하고 검색 인덱스(KIDX)를 트리거 프레임 인덱스(TIDX)로 저장하며 검색을 종료한다. The processing unit 300 changes the intermediate index (MIDX) and the search index (KIDX) again and calculates the pixel quantity (PQTY) in the difference image of the hitting area (TZ) of the image frame corresponding to the search index (KIDX) The process is repeated as shown in FIG. 12 below. If the value of the intermediate index MIDX is less than or equal to 1, the processing unit 300 terminates the search, stores the search index KIDX as the trigger frame index TIDX, and ends the search.

(버퍼링 단계)(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 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 and second cameras of the sensor unit 100, about 100 sheets Indexes are sequentially assigned to buffer image frames (BQTY), and they are collected and stored. In addition, 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, about 100 buffers You can assign indexes to image frames (BQTY) sequentially and collect them and store them, or skip one frame at a time to save storage memory space and assign indexes sequentially to about 50 buffered image frames (BQTY) and collect and store them. have.

처리부(300)는, 버퍼 영상 프레임(BQTY)에서 사용자 골프클럽의 번호를 기초로 골프공 객체(BO)를 검출하고자 하는 트리거 영상 프레임(TI)의 시작 시간을 지정하는 프레임 시간 오프셋(Δto)과 세 장의 트리거 영상 프레임(TI)의 시간 간격을 지정하는 프레임 시간 간격(Δti)을 상술한 표 2를 참조하여 지정할 수 있다. 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 A frame time interval Δti designating a time interval of three trigger image frames TI may be specified with reference to Table 2 above.

여기에서 본 기술의 일 실시예로 상기 버퍼 영상 프레임(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 processing unit 300 changes pixels in the first image frame and the preparation image frame RI of the three trigger image frames TI of the first and second cameras of the sensor unit 100 . Calculate the difference image frame with . In addition, the processing unit 300, the second and third image frames of the three trigger image frames TI of the first and second cameras of the sensor unit 100, and a difference image frame having a pixel change in the first image frame to calculate

처리부(300)는, 계산된 차영상 프레임에서 잡음을 제거하기 위하여 데이터베이스(500)에 저장된 골프공 검출단계(S5000)의 이진화 문턱 값 이상인 이진영상 프레임으로 계산할 수 있다. 처리부(300)는, 계산된 이진영상 프레임에서 동일한 값을 지닌 픽셀을 그룹으로 묶어 전경객체 목록(L)을 작성할 수 있다. 단, 처리부(300)는, 만약 사용자의 골프클럽 번호가 아이언과 퍼터 클럽인 경우 첫 번째 트리거 영상 프레임(TI)에서는 골프공과 골프클럽이 서로 간섭되므로 전경 객체의 목록(L)을 작성하지 않는다. The processing unit 300 may calculate a binary image frame equal to or greater than the binarization threshold value of the golf ball detection step S5000 stored in the database 500 in order to remove noise from the calculated difference image frame. The processing unit 300 may create a foreground object list L by grouping pixels having the same value in the calculated binary image frame. However, if the user's golf club number is an iron and a putter club, the golf ball and the golf club interfere with each other in the first trigger image frame TI, so the list L of the foreground object is not created.

처리부(300)는, 작성된 트리거 영상 프레임(TI)의 전경객체 목록(L)에서 단 하나의 골프공 객체(BO)만을 필터링할 수 있다. 전경객체 목록(L)에서 골프공 객체(BO)만을 필터링하는 자세한 방법은 아래와 같다.The processing unit 300 may filter only one golf ball object BO from the foreground object list L of the created trigger image frame TI. The detailed method of filtering only the golf ball object (BO) in the foreground object list (L) is as follows.

처리부(300)는, The processing unit 300,

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 database 500 or smaller than the minimum expected size is removed. (When the radius of the detected object is larger than the maximum expected radius to detect the golf ball object stored in the database 500 or smaller than the minimum expected radius)

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 database 500 from the list L of foreground objects is removed. In this case, the circle fitting value is a ratio value obtained by dividing the difference between the maximum distance and the minimum distance from the coordinates of the center point of the detected object to the outline by the average distance of the foreground object.

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 O l 1, O l 2, and O l 3, and is detected from the three trigger image frames TI of the second camera. One golf ball object BO is Or 1 , O r 2 , Or 3 .

다음으로, 골프공 객체의 공간좌표 계산에 대해서 설명한다.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 processing unit 300 is a golf ball object in a pair of two-dimensional image coordinates p of the golf ball object BO detected by the first camera and the second camera of the sensor unit 100 . The three-dimensional spatial coordinate (P) of (BO) can be calculated and stored together with the index number (TIDX) and restoration error (E) of the corresponding trigger image frame (TI). Here, a method of calculating the restoration error E will be described later.

자세하게는 처리부(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 processing unit 300, the frame index (TIDX) of the golf ball object (BO l ) detected in the trigger image frame (TI) of the first camera of the sensor unit 100, and the trigger image frame of the second camera ( When the frame index (TIDX) of the golf ball object (BO r ) detected in TI) is the same, that is, when it is photographed at the same time, the two-dimensional image coordinate (p l ) of the golf ball object (BO l ) of the first camera ) and a pair of two-dimensional image coordinates (p l , p r ) consisting of two-dimensional image coordinates (p r ) of the golf ball object (BO r ) of the second camera, as a three-dimensional spatial coordinate of the golf ball object (BO) (P) can be calculated.

아래 수학식 4는 한 쌍의 2차원 영상좌표인 pl(xl , yl)과 pr(xr , yr)에서 3차원 공간좌표 P(x, y, z)로 계산하는 방법을 예시한 수식이다.Equation 4 below is 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). This is an example formula.

[수학식 4][Equation 4]

Figure pat00016
Figure pat00016

골프 스윙 시 사용자 신체 또는 클럽의 가려짐으로 인해 제 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 processing unit 300 is not photographed at the same time, that is, the two-dimensional image coordinates p l of the golf ball object BO l of the first camera or the golf ball object BO r of the second camera. Abbreviated three-dimensional spatial coordinates (P) of the golf ball object (BO) with only one two-dimensional image coordinate among the two-dimensional image coordinates (p r ) of the trigger image frame (TI) index number (TIDX), It can be saved together with the restoration error (E).

자세하게는 상기 처리부(300)는, 골프공의 3차원 공간좌표(P)의 높이 값에서 골프클럽이 퍼터인 경우 골프공은 바닥면에 굴러 이동하므로 골프공의 실제 반지름인 21㎜으로 제약할 수 있으며, 그리고 골프클럽이 퍼터가 아닌 경우에는 골프공 객체(BO)의 픽셀 크기와 실제 크기인 42㎜의 비율로 제약할 수 있다. 아래 수학식 5는 한 개의 2차원 영상좌표인 (u, v)만으로 3차원 공간좌표 (X, Y, Z)로 계산하는 방법을 예시한 수식이다.In detail, since the processing unit 300 rolls and moves on the floor when the golf club is a putter in the height value of the three-dimensional spatial coordinate (P) of the golf ball, it can be limited to the actual radius of the golf ball, 21 mm. And, when the golf club is not a putter, the pixel size of the golf ball object BO may be restricted to a ratio of 42 mm, which is the actual size. Equation 5 below is an equation illustrating a method of calculating three-dimensional spatial coordinates (X, Y, Z) with only one two-dimensional image coordinate (u, v).

[수학식 5][Equation 5]

Figure pat00017
Figure pat00017

처리부(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 processing unit 300 may calculate a reconstruction error of the three-dimensional spatial coordinate P(x, y, z). In detail, the processing unit 300 converts the three-dimensional spatial coordinates P(x, y, z) of the golf ball object BO calculated as described above to the two-dimensional image coordinates p l of the golf ball object BO of the first camera. '(u l , v l ) or the two-dimensional image coordinate p r '(u r , v r ) of the golf ball object BO of the second camera can be reconstructed and calculated.

처리부(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 processing unit 300 calculates the distance between the original two-dimensional image coordinates p l (x l y l ) of the first camera and the restored two-dimensional image coordinates p l '(u l , v l ) of the first camera with the restoration error ( |p l -p l '|). The processing unit 300 calculates the distance between the original two-dimensional image coordinates p r (x r y r ) of the second camera and the restored two-dimensional image coordinates p r '(u r , v r ) of the second camera as the restoration error of the second camera. It can be calculated as (|p r -p r '|).

처리부(300)는, 제 1카메라의 복원오차(|pl-pl’|)와 제 2카메라의 복원오차(|pr-pr’|) 가운데 큰 값을 3차원 공간좌표(P)의 복원오차(E)으로 계산할 수 있다. 아래 수학식 6은 3차원 공간좌표(Xw, Yw, Zw)를 2차원 영상좌표 (u, v)로 복원하여 계산하는 방법을 예시한 수식이다. The processing unit 300 sets a larger value among the restoration error of the first camera (|p l -p l '|) and the restoration error of the second camera (|p r -p r '|) as the three-dimensional spatial coordinate (P). It can be calculated as the restoration error (E) of Equation 6 below is an equation illustrating a method of calculating three-dimensional spatial coordinates (X w , Y w , Z w ) by restoring them to two-dimensional image coordinates (u, v).

[수학식 6][Equation 6]

Figure pat00018
Figure pat00018

전술한 바와 같이 본 기술에서는 한 개의 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 processing unit 300 selects two three-dimensional space coordinates P having a small value of the restoration error E from the stored list L of three-dimensional space coordinates, and calculates a three-dimensional space vector V based thereon. can In addition, the processing unit 300 may express the three-dimensional space vector V by specifying the moving speed (m/s), the vertical elevation angle (˚), and the horizontal movement angle (˚). For reference, FIG. 18 is a flowchart illustrating a method of selecting two three-dimensional spatial coordinates (P).

처리부(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 processing unit 300, using the three-dimensional space coordinates (x r , y r , z r ) of the golf ball-ready object RO stored in the database 500 as a viewpoint, two three-dimensional spaces selected as described above Two vectors (a, b) with coordinates (x 1 , y 1 , z 1 ) and (x 2 , y 2 , z 2 ) as endpoints can be calculated. The processing unit 300 may determine that the two vectors (a, b) are on a straight line when the angle between them is less than 10 degrees. Here, if the angle between the two vectors (a, b) is not less than 10 degrees, but less than 7 degrees or less than 5 degrees, it can be determined that they are on a straight line, but empirically setting it to 10 degrees desirable.

처리부(300)는, 만약 상기 두 벡터(a, b)가 일직선 상에 있다고 판단되는 경우, 두 개의 공간좌표(x1 , y1 , z1)와 (x2 , y2 , z2)를 골프공 객체(BO)로 정확하게 선택한 것으로 판단할 수 있다. 아래 수학식 7은 두 벡터의 내적으로 사이 각을 계산하는 수식이다.The processing unit 300, if it is determined that the two vectors (a, b) are on a straight line, two spatial coordinates (x 1 , y 1 , z 1 ) and (x 2 , y 2 , z 2 ) It may be determined that the golf ball object BO is correctly selected. Equation 7 below is a formula for calculating the angle between two vectors as a dot product.

[수학식 7][Equation 7]

Figure pat00019
Figure pat00019

처리부(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 processing unit 300 has correctly selected two spatial coordinates (x 1 , y 1 , z 1 ) and (x 2 , y 2 , z 2 ) as the golf ball object BO, the selected first 3 Let the dimensional spatial coordinates (x 1 , y 1 , z 1 ) be the starting point P 1 , and the second three-dimensional spatial coordinates (x 2 , y 2 , z 2 ) the endpoint P 2 , and move between P 2 and P 1 . A three-dimensional space vector (V) whose magnitude is time (Δt) is calculated. Here, the movement time (Δt) is the time obtained by multiplying the index (TIDX) of the trigger image frame (TI) of P 1 from the index (TIDX) of the trigger image frame (TI) of P 2 multiplied by the frame time interval (Δti) (㎳).

처리부(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 processing unit 300 has not correctly selected two spatial coordinates (x 1 , y 1 , z 1 ) and (x 2 , y 2 , z 2 ) as the golf ball object BO, the golf ball ready to hit Let the three-dimensional spatial coordinates (x r y r z r ) of the empty ready object (RO) be the starting point P 1 , and two spatial coordinates (x 1 , y 1 , z 1 ) and (x 2 , y 2 , z 2 ) A three-dimensional space vector (V) with a small value of the center restoration error (E) as the end point P 2 is calculated, and a movement time (Δt) between P 2 and P 1 as the size. Here, the movement time Δt is the time (ms) obtained by multiplying the index number TIDX of the trigger image frame TI of P 2 by the frame time interval Δti and adding the frame time offset Δto.

또한, 처리부(300)는, 계산된 3차원 공간벡터(V)를 데이터베이스(500)에 저장된 표 1의 클럽번호에 따른 골프공 예상 구속(㎧)으로 나눈 값에 프레임 시간간격(Δti)을 곱하여 보정 시간(δt)을 계산한다. In addition, the processing unit 300, by multiplying the calculated three-dimensional space vector (V) by the frame time interval (Δti) to a value obtained by dividing the calculated three-dimensional space vector (V) by the golf ball expected speed (m/s) according to the club number of Table 1 stored in the database 500 Calculate the correction time (δt).

처리부(300)는, 계산된 3차원 공간벡터(V)가 상기 표 1의 클럽번호에 따른 골프공 예상 구속(㎧)보다 큰 경우 이동 시간(Δt)에서 보정 시간(δt)을 더하며 상기 계산된 3차원 공간벡터(V)가 상기 표1의 클럽번호에 따른 골프공 예상 구속(㎧)보다 작은 경우 이동 시간(Δt)에서 보정 시간(δt)을 제한다. The processing unit 300 adds the correction time δt to the movement time Δt when the calculated three-dimensional space vector V is greater than the expected golf ball velocity (m/s) according to the club number of Table 1 above, and the calculation is performed. When the calculated three-dimensional space vector (V) is smaller than the expected speed (m/s) of the golf ball according to the club number in Table 1, the correction time (δt) is subtracted from the movement time (Δt).

도 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 database 500 It is a flowchart illustrating a method of calculating the starting point P 1 , the ending point P 2 , and the movement time (Δt) of the three-dimensional space vector (V) with coordinates (x r , y r , z r ).

아래 수학식 8은 두 개의 3차원 공간좌표 (x1 , y1 , z1), (x2 , y2 , z2)와 데이터베이스(500)에 저장된 타격 준비된 골프공 레디객체(RO)의 3차원 공간좌표 (xr yr zr)로 3차원 공간벡터(V)의 시점P1과 종점P2, 이동 시간(Δt)을 계산하는 방법을 예시한 수식이다.Equation 8 below is two three-dimensional space coordinates (x 1 , y 1 , z 1 ), (x 2 , y 2 , z 2 ) and 3 of a golf ball ready object (RO) ready to hit stored in the database 500 This is an equation illustrating a method of calculating the start point P 1 and the end point P 2 , and the movement time (Δt) of the three-dimensional space vector (V) with the dimensional space coordinates (x r y r z r ).

[수학식 8] [Equation 8]

Figure pat00020
Figure pat00020

Figure pat00021
Figure pat00021

처리부(300)는, 3차원 공간벡터(V)를 기초로 골프공의 이동 속도(㎧)와 수직 상승각도(˚), 수평 이동각도(˚)를 계산할 수 있다. 아래 수학식 9는 골프공 객체의 3차원 공간벡터(V)로 골프공의 이동 속도(㎧)와 수직 상승각도(˚), 수평 이동각도(˚)를 계산하는 방법을 예시한 수식이다.The processing unit 300 may calculate the moving speed (m/s), the vertical elevation angle (˚), and the horizontal movement angle (˚) of the golf ball based on the three-dimensional space vector (V). Equation 9 below is an equation illustrating a method of calculating the moving speed (㎧), the vertical elevation angle (˚), and the horizontal movement angle (˚) of the golf ball as a three-dimensional space vector (V) of the golf ball object.

[수학식 9] [Equation 9]

Figure pat00022
Figure pat00022

(골프클럽 검출 단계) (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 processing unit 300 includes the first, second, and third of the three trigger image frames TI of the trigger camera TC among the first and second cameras of the sensor unit 100 . A difference image frame having a pixel change in the second image frame and the preparation image frame RI may be calculated. In addition, the processing unit 300, the first image frame and the initial image frame (II) in the three trigger image frames (TI), not the trigger camera (TC) among the first and second cameras of the sensor unit 100 and in the second and third trigger image frames and in the first trigger image frame, a difference image frame with a pixel change can be calculated.

처리부(300)는, 계산된 차영상 프레임에서 잡음을 제거하기 위하여 데이터베이스(500)에 저장된 골프클럽 검출단계(S6000)의 이진화 문턱값 이상인 이진영상 프레임으로 계산할 수 있다. 처리부(300)는, 계산된 이진영상 프레임에서 동일한 값을 지닌 픽셀을 그룹으로 묶어 전경객체 목록(L)을 작성할 수 있다. 단, 처리부(300)는, 만약 사용자의 골프클럽 번호가 아이언과 퍼터 클럽인 경우 첫 번째 트리거 영상 프레임(TI)에서는 골프공과 골프클럽이 서로 간섭되므로 전경객체의 목록(L)을 작성하지 않는다. The processing unit 300 may calculate a binary image frame equal to or greater than the binarization threshold value of the golf club detection step ( S6000 ) stored in the database 500 in order to remove noise from the calculated difference image frame. The processing unit 300 may create a foreground object list L by grouping pixels having the same value in the calculated binary image frame. However, if the user's golf club number is an iron and a putter club, the processing unit 300 does not create a list L of foreground objects because the golf ball and the golf club interfere with each other in the first trigger image frame TI.

도 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 processing unit 300 may filter to only one golf club object CO from the foreground object list L of the created trigger image frame TI. The detailed method of filtering only the golf club object (CO) in the foreground object list (L) is as follows.

처리부(300)는, The processing unit 300,

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 database 500 or smaller than the minimum expected size is removed.

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 Equation 6 described above.

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 CO l 1, CO l 2, and CO l 3, and it is detected from the three trigger image frames (TI) of the second camera. One golf club object (CO) is CO r 1 , CO r 2 , CO r 3 .

처리부(300)는, 센서부(100)의 제 1 카메라와 제 2 카메라에서 검출된 골프클럽 객체(CO)의 한 쌍의 2차원 영상좌표(p)에서 골프클럽 객체(CO)의 3차원 공간좌표(P)를 계산하고 해당 트리거 영상 프레임(TI)의 인덱스 번호(TIDX), 복원오차(E)와 함께 저장할 수 있다. The processing unit 300 is a three-dimensional space of the golf club object CO in a pair of two-dimensional image coordinates p of the golf club object CO detected by the first camera and the second camera of the sensor unit 100 . The coordinates (P) can be calculated and stored together with the index number (TIDX) and the restoration error (E) of the corresponding trigger image frame (TI).

다음으로, 골프클럽 객체의 공간좌표 계산에 대하여 설명한다. 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 processing unit 300, the frame index ( TIDX ) of the golf club object (Cl ) detected in the trigger image frame (TI) of the first camera of the sensor unit 100, and the trigger image frame of the second camera ( When the frame index (TIDX) of the golf club object (C r ) detected in TI) is the same, that is, when it is photographed at the same time, the two-dimensional image coordinate (p l ) of the golf club object (CO l ) of the first camera ) and a pair of two-dimensional image coordinates (p l , p r ) consisting of two-dimensional image coordinates (p r ) of the golf club object (CO r ) of the second camera as a three-dimensional spatial coordinate of the golf club object (CO) (P) can be calculated. Here, the method of calculating a pair of two-dimensional image coordinates p l (x l , y l ) and p r (x r , y r ) with three-dimensional spatial coordinates P(x, y, z) is golf ball detection. The method of FIG. 17 and Equation 4 described above in step S5000 is the same.

처리부(300)는, 3차원 공간좌표 P(x, y, z)의 복원오차를 계산할 수 있다. The processing unit 300 may calculate a reconstruction error of the three-dimensional spatial coordinate P(x, y, z).

자세하게는 처리부(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 processing unit 300 converts the three-dimensional spatial coordinates P(x, y, z) of the golf club object CO calculated as described above to the two-dimensional image coordinates p l of the golf club object CO of the first camera. '(u l , v l ) or the two-dimensional image coordinate p r '(u r , v r ) of the golf club object CO of the second camera can be restored and calculated. The processing unit 300 calculates the distance between the original two-dimensional image coordinates p l (x l y l ) of the first camera and the restored two-dimensional image coordinates p l '(u l , v l ) of the first camera with the restoration error ( |p l -p l '|). And the processing unit 300, the original two-dimensional image coordinates p r (x r , y r ) of the second camera and the restored two-dimensional image coordinates p r '(u r , v r ) The distance between the restoration of the second camera It can be calculated as the error (|p r -p r '|).

처리부(300)는, 제 1카메라의 복원오차(|pl-pl’|)와 제 2카메라의 복원오차(|pr-pr’|) 가운데 큰 값을 상기 3차원 공간좌표(P)의 복원오차(E)으로 계산할 수 있다. 여기에서 3차원 공간좌표(Xw, Yw, Zw)를 2차원 영상좌표 (u, v)로 복원하여 계산하는 방법은 골프공 검출단계(S5000)에서 전술한 수학식 6의 방법과 동일하다.The processing unit 300 sets the three-dimensional spatial coordinate (P) as a larger value among the restoration error (|p l -p l '|) of the first camera and the restoration error (|p r -p r '|) of the second camera. ) can be calculated as the restoration error (E). Here, the method of calculating the three-dimensional spatial coordinates (X w , Y w , Z w ) by restoring the two-dimensional image coordinates (u, v) is the same as the method of Equation 6 described above in the golf ball detection step (S5000). do.

다음으로, 골프클럽 객체의 속도 계산에 대하여 설명한다. 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 processing unit 300 selects two three-dimensional space coordinates P having a small value of the restoration error E from the stored list L of three-dimensional space coordinates, and calculates a three-dimensional space vector V based thereon. can In addition, the processing unit 300 may express the three-dimensional space vector V by specifying the moving speed (m/s), the vertical elevation angle (˚), and the horizontal movement angle (˚). 18 is a flowchart illustrating a method of selecting two three-dimensional spatial coordinates (P).

자세하게는 처리부(300)는, 상기 저장된 3차원 공간좌표의 목록(L)에서 복원오차(E)의 값이 작은 두 개의 3차원 공간좌표(P)를 선택하여 이를 기초로 3차원 공간벡터(V)를 계산할 수 있다. 여기에서 두 개의 3차원 공간좌표(P)를 선택하는 방법은 골프공 검출단계(S5000)에서 전술한 도 18과 동일하다.In detail, the processing unit 300 selects two three-dimensional space coordinates P having a small value of the restoration error E from the stored list L of three-dimensional space coordinates, and based on this, the three-dimensional space vector V ) can be calculated. Here, a method of selecting two three-dimensional spatial coordinates P is the same as that of FIG. 18 described above in the golf ball detection step (S5000).

처리부(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 processing unit 300, taking the three-dimensional spatial coordinates (x r , y r , z r ) of the golf ball-ready object RO stored in the database 500 as a starting point, the two three-dimensional space coordinates selected above Two vectors (a, b) can be calculated with endpoints (x 1 , y 1 , z 1 ) and (x 2 , y 2 , z 2 ). The processing unit 300 may determine that the two vectors a and b are on a straight line when the angle between them is less than 10 degrees. The processing unit 300, if it is determined that the two vectors (a, b) are on a straight line, golf the two spatial coordinates (x 1 , y 1 , z 1 ) and (x 2 , y 2 , z 2 ) It can be determined that the club object (CO) is selected correctly. Here, the method of calculating the angle between the two vectors as the dot product is the same as Equation 7 described above in the golf ball detection step (S5000).

처리부(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 processing unit 300 has correctly selected two spatial coordinates (x 1 , y 1 , z 1 ) and (x 2 , y 2 , z 2 ) as the golf club object CO, the selected first 3 Let the dimensional spatial coordinates (x 1 , y 1 , z 1 ) be the starting point P 1 , and the second three-dimensional spatial coordinates (x 2 , y 2 , z 2 ) the endpoint P 2 , and move between P 2 and P 1 . A three-dimensional space vector (V) whose magnitude is time (Δt) is calculated. Here, the movement time (Δt) is the time obtained by multiplying the index (TIDX) of the trigger image frame (TI) of P 1 from the index (TIDX) of the trigger image frame (TI) of P 2 multiplied by the frame time interval (Δti) (㎳).

처리부(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 processing unit 300 has not correctly selected two spatial coordinates (x 1 , y 1 , z 1 ) and (x 2 , y 2 , z 2 ) as the golf club object CO, the golf ball prepared to hit Let the three-dimensional spatial coordinates (x r , y r , z r ) of the ready object (RO) be the starting point P 1 , and the two spatial coordinates (x 1 , y 1 , z 1 ) and (x 2 , y 2 ) , z 2 ), the three-dimensional space vector (V) with the small value of the restoration error (E) among the three-dimensional space coordinates as the end point P 2 , and the movement time (Δt) between P 2 and P 1 as the magnitude, is calculated. do. Here, the method of calculating the three-dimensional space vector (V) of the golf club is the same as in FIG. 19 and Equation 8 described above in the golf ball detection step (S5000).

처리부(300)는, 상기 3차원 공간벡터(V)를 기초로 골프공 타격 이후 골프클럽 객체(CO)의 이동 속도(㎧)와 수직 상승각도(˚), 수평 이동각도(˚)를 계산할 수 있다. 골프공 타격 이후 골프클럽 객체(CO)의 3차원 공간벡터(V)로 골프공의 이동 속도(㎧)와 수직 상승각도(˚), 수평 이동각도(˚)를 계산하는 방법은 골프공 검출단계(S5000)에서 전술한 수학식 9와 동일하다.The processing unit 300, based on the three-dimensional space vector (V), can calculate the movement speed (㎧), the vertical elevation angle (˚), and the horizontal movement angle (˚) of the golf club object (CO) after hitting the golf ball have. The method of calculating the movement speed (㎧), the vertical elevation angle (˚), and the horizontal movement angle (˚) of the golf ball as a three-dimensional space vector (V) of the golf club object (CO) after hitting the golf ball is a golf ball detection step. It is the same as Equation 9 described above in (S5000).

처리부(300)는, 골프공 타격 이후 골프클럽 객체(CO)의 이동 각도(∠cf)에 운동량 가중치를 가감하여 골프공 타격 이전 골프클럽 객체(CO)의 이동 각도(∠ci)로 보정하여 계산할 수 있다. 아래 수학식 10는 골프공 타격 이전 골프클럽 객체(CO)의 이동 각도(∠ci)를 계산하는 방법을 예시한 계산식이다.The processing unit 300 adds and subtracts the momentum weight to the movement angle (∠cf) of the golf club object (CO) after hitting the golf ball to correct the movement angle (∠ci) of the golf club object (CO) before hitting the golf ball. can Equation 10 below is a calculation formula illustrating a method of calculating the movement angle (∠ci) of the golf club object CO before hitting the golf ball.

[수학식 10] [Equation 10]

Figure pat00023
Figure pat00023

상기 처리부(300)는, 계산된 골프공 타격 이후 골프클럽 객체(CO)의 이동 속도(νcf)에 운동량 가중치를 가감하여 골프공 타격 이전 골프클럽 객체(CO)의 이동 속도(νci)로 계산할 수 있다. 아래 수학식 11은 골프공 타격 이전 골프클럽 객체(CO)의 이동 속도(νci)를 계산하는 방법을 예시한 계산식이다.The processing unit 300 adds and subtracts the momentum weight to the calculated movement speed (ν cf ) of the golf club object (CO) after hitting the golf ball to the movement speed (ν ci ) of the golf club object (CO) before hitting the golf ball can be calculated Equation 11 below is a calculation formula illustrating a method of calculating the moving speed (ν ci ) of the golf club object CO before hitting the golf ball.

[수학식 11] [Equation 11]

Figure pat00024
Figure pat00024

(골프공 회전량 계산단계)(Calculating the amount of golf ball rotation)

처리부(300)는, 상기 계산된 골프공과 골프공 타격 이전 골프클럽 끝단점의 3차원 공간벡터(V)로 골프공 객체의 회전 정보를 계산할 수 있다. The processing unit 300 may calculate rotation information of the golf ball object using the calculated three-dimensional space vector V of the golf ball and the golf club end point before the golf ball is struck.

처리부(300)는, 3차원 공간벡터(V)를 기초로 골프클럽의 이동 속도(㎧)를 계산할 때, 아래 수학식 9-1인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

[수학식 9-1][Equation 9-1]

Figure pat00025
Figure pat00025

를 따른다. 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

Figure pat00026
Figure pat00026

를 따른다. follow

결과적으로, 골프공 회전량을 계산하는 하나의 방법으로서, 아래 수학식 12인 As a result, as one method of calculating the amount of golf ball rotation, Equation 12 below

[수학식 12] [Equation 12]

Figure pat00027
Figure pat00027

에 따라 계산할 수 있다. 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)

사용자의 상단에 배치되어 골프공의 움직임을 획득하는 제 1 카메라(101)와, 제 2 카메라(102)와, 스트로보 조명장치를 포함하는 센서부(100);
상기 사용자의 정면과 측면에 배치되어 상기 사용자의 전신 움직임 영상을 획득하는 제 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.
제 1 항에 기재된 골프용 모션 분석 장치를 이용하여, 고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법으로서,
골프 클럽 특성을 설정하고(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.
제 2 항에 있어서,
상기 설정 단계(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.
제 2 항에 있어서,
상기 준비단계(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.
제 2 항에 있어서,
상기 골프공 검출단계(S5000)에서는,
상기 제 1 카메라의 골프공 객체(BOl)의 2차원 영상좌표(pl(xl , yl))와 상기 제 2카메라의 골프공 객체(BOr)의 2차원 영상좌표pr(xr , yr)로 이루어진 한 쌍의 2차원 영상좌표(pl, pr)로 상기 골프공 객체(BO)의 3차원 공간좌표(P(x, y, z))를 계산할 때 다음 수학식 4인
Figure pat00028

를 따르고,
상기 사용자의 골프 스윙 시, 상기 사용자의 신체 또는 골프클럽의 가려짐으로 인해 상기 제 1 카메라 또는 상기 제 2카메라 가운데 한 개의 트리거 영상 프레임(TI)에서 골프공 객체(BO)가 검출되지 않을 경우, 상기 제 1 카메라의 골프공 객체(BOl)의 2차원 영상좌표(pl) 또는 상기 제 2카메라의 골프공 객체(BOr)의 2차원 영상좌표(pr) 가운데 한 개의 2차원 영상좌표만으로 골프공 객체(BO)의 3차원 공간좌표(P)를 계산할 때는 다음 수학식 5인
Figure pat00029
를 따르는 것을 특징으로 하는,
고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법.
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
Figure pat00028

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
Figure pat00029
characterized by following
A method for recognizing the movement of golf balls and golf clubs in high-speed camera images.
제 2 항에 있어서,
상기 골프클럽 검출단계(S6000)에서는,
상기 트리거 영상 프레임(TI)마다 전경객체 목록(L)을 작성하되, 상기 처리부(300)는, 사용자의 골프클럽 번호가 아이언과 퍼터 클럽인 경우 첫 번째 트리거 영상 프레임(TI)에서는 골프공과 골프클럽이 서로 간섭되므로 상기 전경객체의 목록(L)을 작성하지 않으며,
상기 트리거 영상 프레임(TI)을 이진영상 프레임으로 변환한 다음, 골프공 객체(BO)와 골프공 그림자 객체(BS)를 제거한 상기 클럽골프클럽 객체(CO)만을 검출하고,
상기 골프공 그림자 객체(BS)를 제거하기 위한 2차원 영상 좌표를 계산함에 있어서 다음의 수학식 6인,
Figure pat00030

를 따르는 것을 특징으로 하는,
고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법.
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,
Figure pat00030

characterized by following
A method for recognizing the movement of golf balls and golf clubs in high-speed camera images.
제 5 항 또는 제 6 항에 있어서,
상기 검출된 골프공 객체(BO) 또는 골프클럽 객체(CO)의 2차원 영상좌표를 검출하고, 상기 검출된 2차원 영상좌표에서 골프공 객체(BO) 또는 골프클럽 객체(CO)의 3차원 공간좌표와 골프공 객체(BO) 또는 골프클럽 객체(CO)의 3차원 공간속도를 계산함에 있어서, 골프공 객체(BO) 또는 골프클럽 객체(CO)와 골프공 레디객체(RO)의 3차원 공간좌표의 사이 각을 계산할 때에,
아래 수학식 7인
Figure pat00031

를 따르고,
상기 수학식 7로 계산된 사이 각이 10°를 초과하는 경우, 상기 계산된 3차원 공간좌표가 유효하지 않다고 판단하며, 상기 검출된 골프공 객체(BO) 또는 골프클럽 객체(CO)의 2차원 영상좌표가 연속된 두 프레임 이상 검출되지 않더라도 골프공 또는 골프클럽의 3차원 이동속도를 계산하는 방법에 있어서,
수학식 8인
Figure pat00032

Figure pat00033

를 따르는 것을 특징으로 하는,
고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법.
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
Figure pat00031

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
Figure pat00032

Figure pat00033

characterized by following
A method for recognizing the movement of golf balls and golf clubs in high-speed camera images.
제 2 항에 있어서,
상기 골프공 회전량 계산단계(S7000)에서,
상기 처리부(300)는, 3차원 공간벡터(V)를 기초로 골프클럽의 이동 속도(㎧)를 계산할 때, 아래 수학식 9-1인
Figure pat00034

를 따르고,
상기 골프클럽이 상기 골프공을 타격하기 이전 상기 골프클럽 객체(CO)의 이동 속도(νci)로 계산하는 방법인 수학식 11인
Figure pat00035

를 따르고,
상기 골프공 회전량 계산단계(S7000)는, 수학식 12인
Figure pat00036

에 따라 계산하는 것을 특징으로 하는,
고속 카메라 영상에서 골프공과 골프클럽의 움직임을 인식하는 방법.
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
Figure pat00034

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
Figure pat00035

follow,
The golf ball rotation amount calculation step (S7000), Equation 12
Figure pat00036

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.
제 2 항에 있어서,
상기 버퍼링단계(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인
Figure pat00037

에 따라 지정하고,
상기 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.
Figure pat00037

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.
KR1020210002633A 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 KR102531041B1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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