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

KR102517067B1 - Ceiling golf simulation system using two cameras - Google Patents

Ceiling golf simulation system using two cameras Download PDF

Info

Publication number
KR102517067B1
KR102517067B1 KR1020210053032A KR20210053032A KR102517067B1 KR 102517067 B1 KR102517067 B1 KR 102517067B1 KR 1020210053032 A KR1020210053032 A KR 1020210053032A KR 20210053032 A KR20210053032 A KR 20210053032A KR 102517067 B1 KR102517067 B1 KR 102517067B1
Authority
KR
South Korea
Prior art keywords
ball
camera
cameras
angle
calculating
Prior art date
Application number
KR1020210053032A
Other languages
Korean (ko)
Other versions
KR20220146137A (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 KR1020210053032A priority Critical patent/KR102517067B1/en
Publication of KR20220146137A publication Critical patent/KR20220146137A/en
Application granted granted Critical
Publication of KR102517067B1 publication Critical patent/KR102517067B1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/36Training appliances or apparatus for special sports for golf
    • A63B69/3658Means associated with the ball for indicating or measuring, e.g. speed, direction
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B71/00Games or sports accessories not covered in groups A63B1/00 - A63B69/00
    • A63B71/06Indicating or scoring devices for games or players, or for other sports activities
    • A63B71/0619Displays, user interfaces and indicating devices, specially adapted for sport equipment, e.g. display mounted on treadmills
    • A63B71/0622Visual, audio or audio-visual systems for entertaining, instructing or motivating the user
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/001
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/90Arrangement of cameras or camera modules, e.g. multiple cameras in TV studios or sports stadiums
    • 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
    • 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
    • A63B2024/0028Tracking the path of an object, e.g. a ball inside a soccer pitch
    • 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/30Subject of image; Context of image processing
    • G06T2207/30221Sports video; Sports image
    • G06T2207/30224Ball; Puck

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Signal Processing (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Geometry (AREA)
  • Human Computer Interaction (AREA)
  • Closed-Circuit Television Systems (AREA)

Abstract

본 발명은 두 대의 카메라를 이용한 천장형 골프 시뮬레이션 시스템에 관한 것으로, 기준점(tee)의 공과 타격으로 인해 기준점(tee)에서 공중으로 비행할 공을 촬영한 제1 카메라의 영상과 사전에 취득한 오차 보정 데이터를 이용하여 제1 카메라에서 시작하는 정면방향 벡터와 제1 카메라로부터 공까지를 잇는 벡터 사이의 각도를 계산하는 제1 단계, 제2 카메라의 영상과 사전에 취득한 오차 보정 데이터를 이용하여 제2 카메라에서 시작하는 정면방향 벡터와 제2 카메라로부터 공까지를 잇는 벡터 사이의 각도를 계산하는 제2 단계, 제1, 제2 카메라에서의 공까지의 거리와 제1, 제2 카메라의 위치좌표를 이용하여 공의 3차원 좌표를 계산하는 제3단계, 제1 단계 내지 제3 단계에서 공을 촬영한 프레임만큼 반복하여 공의 3차원 배열에 삽입하는 제 4단계, 제1, 제2 카메라에 의해 촬영되는 영상의 각 프레임 간의 시간간격과 각 점의 위치 차이를 이용하여 공의 방위각, 발사각을 계산하는 제5 단계, 제1 카메라의 촬영된 영상의 첫번째와 두번째 프레임을 시작으로 이웃하는 프레임을 비교하여 차이가 있는 픽셀을 감지 저장하는 제 6단계, 상기 제6 단계에서 감지된 프레임 간 픽셀의 변화를 분석하여 클럽의 진행방향을 계산하는 제7 단계, 클럽의 진행방향과 비행하는 공의 방위각 차이 및 미리 설정된 데이터를 기준으로 공의 사이드스핀(sidespin)을 시뮬레이션하는 제8 단계, 비행하는 상기 공의 발사각과 미리 설정된 데이터를 기준으로 공의 백스핀(backspin)을 시뮬레이션하는 제9 단계, 및 비행하는 공의 백스핀, 사이드스핀, 방위각 및 발사각을 근거로 공의 궤적데이터를 계산하여, 가상 골프 코스와 함께 스크린상에 표시하는 제10 단계로 구성된다.The present invention relates to a ceiling-type golf simulation system using two cameras, and relates to a ball at a reference point (tee) and a ball to fly from a reference point (tee) due to a hit, and an image of a first camera and an error correction obtained in advance. The first step of calculating the angle between the front direction vector starting from the first camera and the vector connecting the first camera to the ball using data, and the second step using the image of the second camera and error correction data acquired in advance. The second step of calculating the angle between the front direction vector starting from the camera and the vector connecting the second camera to the ball, the distance to the ball from the first and second cameras and the positional coordinates of the first and second cameras The 3rd step of calculating the 3D coordinates of the ball using the 3D coordinates, the 4th step of repeatedly inserting the 3D coordinates of the ball into the 3D array of the ball by repeating as many frames as the frames captured in the 1st to 3rd steps, by the 1st and 2nd cameras A fifth step of calculating the azimuth and launch angle of the ball using the time interval between each frame of the captured image and the positional difference of each point, comparing neighboring frames starting with the first and second frames of the image captured by the first camera 6th step of detecting and storing the difference pixels, 7th step of analyzing the change in pixels between frames detected in the 6th step and calculating the direction of movement of the club, difference between the direction of movement of the club and the azimuth angle of the flying ball and an eighth step of simulating sidespin of the ball based on preset data, a ninth step of simulating backspin of the ball based on the launch angle of the flying ball and preset data, and flight. It consists of a tenth step of calculating the trajectory data of the ball based on the backspin, sidespin, azimuth and launch angle of the ball being played and displaying it on the screen along with the virtual golf course.

Description

두 대의 카메라를 이용한 천장형 골프 시뮬레이션 시스템{Ceiling golf simulation system using two cameras}Ceiling golf simulation system using two cameras {Ceiling golf simulation system using two cameras}

본 발명은 두 대의 카메라를 이용한 천장형 골프 시뮬레이션 시스템에 관한 것으로서, 더욱 상세하게는 기준점의 직상단에 가까운 곳의 카메라를 통해 취득되는 영상으로부터 정확도가 높은 공의 방위각(좌우각)을 검출하여, 가상 골프 코스에서 골프공의 궤적을 표시하기 위한 궤적 데이터를 계산할 수 있는 두 대의 카메라를 이용한 천장형 골프 시뮬레이션 시스템에 관한 것이다.The present invention relates to a ceiling type golf simulation system using two cameras. A ceiling type golf simulation system using two cameras capable of calculating trajectory data for displaying the trajectory of a golf ball in a virtual golf course.

최근 야구, 축구, 농구, 그리고 골프 등과 같은 인기 스포츠 경기를 실내나 특정 장소에서 시뮬레이션을 통해 인터랙티브 스포츠 게임(Interactive Sports Game)의 형태로 즐길 수 있도록 하는 여러 가지 다양한 장치들에 대한 개발이 활발하게 이루어지고 있다.Recently, various devices that allow users to enjoy popular sports games such as baseball, soccer, basketball, and golf in the form of an interactive sports game through simulation indoors or in a specific place have been actively developed. are losing

특히, 최근에는 이른바 스크린 골프 시스템이 등장하여 사용자가 골프 클럽을 들고 골프 스윙을 함에 따라 타격 매트에 놓인 볼을 타격하면 감지장치가 이를 감지하여 이동하는 골프공의 물리적 특성을 추출하고 이를 바탕으로 가상의 골프코스에서 볼의 궤적이 시뮬레이션되도록 함으로써, 사용자가 가상 현실상에서 골프를 즐길 수 있도록 하는 기술이 개발되고 있다.In particular, recently, a so-called screen golf system has appeared, and when a user swings a golf club with a golf club and hits a ball placed on a hitting mat, a sensing device detects this and extracts the physical characteristics of the moving golf ball, based on which a virtual golf ball is played. A technology is being developed to enable users to enjoy golf in virtual reality by simulating a trajectory of a ball on a golf course.

이와 같은 인터랙티브 스포츠 게임에서 골프공 등의 볼을 이용하는 스포츠에 대한 시뮬레이션이 이루어지도록 하기 위해 운동하는 볼의 움직임에 대한 물리적 정보를 정확하게 감지하기 위한 각종 감지시스템에 대한 연구개발이 매우 활발하게 진행되고 있다.In such an interactive sports game, research and development on various sensing systems for accurately detecting physical information about the motion of a ball in motion is being actively conducted in order to simulate sports using balls such as golf balls. .

예컨대, 적외선 센서를 이용한 감지장치, 레이저 센서를 이용한 감지장치, 음향 센서를 이용한 감지장치, 그리고 카메라 센서를 이용한 감지장치 등 다양한 감지 방식이 등장하고 있으며, 운동하는 볼의 상태를 정확하게 감지하기 위하여 운동하는 볼에 대한 이미지를 취득하여 분석하는 카메라 센서 방식의 감지장치에 대한 연구가 활발하게 이루어지고 있다.For example, various sensing methods have emerged, such as a sensing device using an infrared sensor, a sensing device using a laser sensor, a sensing device using an acoustic sensor, and a sensing device using a camera sensor. Research on a camera sensor-type sensing device that acquires and analyzes an image of a ball playing is being actively conducted.

또한, 종래의 IR 센서 골프 시스템은, 조명으로서 할로겐 전구를 사용하고, 공의 전방, 즉 스크린을 향하는 공의 전방에 2열로 배열되는 두 개의 IR 센서모듈만을 이용하여, 타격으로 인해 공중을 비행하는 공을 감지하여 인식하고 있으나, 이 경우 공의 비행을 단순히 2열로 배열된 두 개의 IR 센서모듈로만 두 번만 감지하기 때문에 공의 비행 감지가 연속적으로 반복적으로 이루어지지 않아 공의 비행정보와 함께 클럽에 대한 정확도가 떨어지는 문제점이 있다.In addition, the conventional IR sensor golf system uses a halogen bulb as lighting and uses only two IR sensor modules arranged in two rows in front of the ball, that is, in front of the ball facing the screen, to prevent flying through the air due to hitting. The ball is sensed and recognized, but in this case, the flight of the ball is detected only twice with two IR sensor modules arranged in two rows, so the ball flight is not detected continuously and repeatedly. There is a problem with low accuracy.

특히, IR 센서 모듈의 해상도가 낮아, IR 센서모듈에 의해 감지되는 정보를 기초로 하는 클럽이나 공의 진행방향, 공의 속도, 회전 등에 대한 정보 역시 정확도가 낮다는 문제점이 있다.In particular, since the resolution of the IR sensor module is low, there is a problem in that information about the direction of movement of the club or ball, the speed of the ball, and rotation based on the information detected by the IR sensor module is also low in accuracy.

상기와 같은 종래기술의 문제점을 해결하기 위한 본 발명은, 기준점의 직상단에 가까운 곳의 카메라를 통해 취득되는 영상으로부터 공의 방위각(좌우각)을 검출하여, 가상 골프 코스에서 골프공의 궤적을 표시하기 위한 방위각의 정확도를 높일 수 있는 두 대의 카메라를 이용한 천장형 골프 시뮬레이션 시스템을 제공하는데 그 목적이 있다.The present invention to solve the problems of the prior art as described above, the trajectory of the golf ball in the virtual golf course is detected by detecting the azimuth angle (left and right angle) of the ball from the image acquired through the camera near the top of the reference point. Its purpose is to provide a ceiling-type golf simulation system using two cameras capable of increasing the accuracy of azimuth for display.

상기한 바와 같은 본 발명의 목적은, 기준점(tee)의 공과 타격으로 인해 기준점(tee)에서 공중으로 비행할 공을 촬영한 제1 카메라의 영상과 사전에 취득한 오차 보정 데이터를 이용하여 제1 카메라에서 시작하는 정면방향 벡터와 제1 카메라로부터 공까지를 잇는 벡터 사이의 각도를 계산하는 제1 단계; 제2 카메라의 영상과 사전에 취득한 오차 보정 데이터를 이용하여 제2 카메라에서 시작하는 정면방향 벡터와 제2 카메라로부터 공까지를 잇는 벡터 사이의 각도를 계산하는 제2 단계; 제1, 제2 카메라에서의 공까지의 거리와 제1, 제2 카메라의 위치좌표를 이용하여 공의 3차원 좌표를 계산하는 제3단계; 상기 제1 단계 내지 제3 단계에서 공을 촬영한 프레임만큼 반복하여 공의 3차원 배열에 삽입하는 제 4단계; 제1, 제2 카메라에 의해 촬영되는 영상의 각 프레임 간의 시간간격과 각 점의 위치 차이를 이용하여 공의 방위각, 발사각을 계산하는 제5 단계; 제1 카메라의 촬영된 영상의 첫번째와 두번째 프레임을 시작으로 이웃하는 프레임을 비교하여 차이가 있는 픽셀을 감지 저장하는 제 6단계; 상기 제6 단계에서 감지된 프레임 간 픽셀의 변화를 분석하여 클럽의 진행방향을 추정하는 제7 단계; 상기 클럽의 진행방향과 비행하는 공의 방위각 차이 속도 및 미리 설정된 데이터를 기준으로 공의 사이드스핀(sidespin)을 시뮬레이션하는 제8 단계; 비행하는 상기 공의 발사각과 미리 설정된 데이터를 기준으로 공의 백스핀(backspin)을 시뮬레이션하는 제9 단계; 및 상기 비행하는 공의 백스핀, 사이드스핀, 방위각 및 발사각을 근거로 공의 궤적데이터를 계산하여, 가상 골프 코스와 함께 스크린상에 표시하는 제10 단계로 구성되는, 두 대의 카메라를 이용한 천장형 골프 시뮬레이션 방법에 의해 달성된다.As described above, an object of the present invention is to use the image of the first camera photographing the ball at the reference point (tee) and the ball to fly into the air from the reference point (tee) due to the hit and the error correction data obtained in advance by the first camera. A first step of calculating an angle between a front direction vector starting at and a vector connecting the first camera to the ball; a second step of calculating an angle between a front direction vector starting from the second camera and a vector connecting the second camera to the ball by using the image of the second camera and error correction data obtained in advance; a third step of calculating 3D coordinates of the ball using the distance to the ball from the first and second cameras and the positional coordinates of the first and second cameras; a fourth step of repeatedly inserting the ball into a three-dimensional array of balls by repeating as many frames as the shots of the ball in the first to third steps; A fifth step of calculating the azimuth and launch angles of the ball using the time interval between each frame of the image captured by the first and second cameras and the positional difference of each point; a sixth step of detecting and storing a pixel having a difference by comparing neighboring frames, starting with the first and second frames of the image captured by the first camera; a seventh step of estimating the moving direction of the club by analyzing the pixel change between frames detected in the sixth step; An eighth step of simulating sidespin of the ball based on the speed of the difference between the direction of the club and the azimuth of the flying ball and preset data; A ninth step of simulating the backspin of the ball based on the launch angle of the flying ball and preset data; and a 10th step of calculating the trajectory data of the ball based on the backspin, sidespin, azimuth and launch angle of the flying ball and displaying it on the screen along with the virtual golf course. It is achieved by a golf simulation method.

본 발명의 하나의 측면에 의하면, 상기 제4 단계는, 공의 3차원 좌표의 배열이 직선이 되도록 보정하는 단계를 더 포함하는 것을 특징으로 한다.According to one aspect of the present invention, the fourth step is characterized in that it further comprises the step of correcting the array of three-dimensional coordinates of the ball to be a straight line.

본 발명의 다른 측면에 의하면, 상기 제1 단계 이전에 공의 시작 위치(tee)를 기준점으로 정후방에 위치한 제1 카메라와 스크린을 향하는 방향을 기준으로 상기 제1 카메라의 오른쪽에 위한 제2 카메라의 X, Y, Z 좌표를 입력하는 단계; 제1, 제2 카메라가 공의 시작 위치를 지향하는 상태에서, 공으로 시작 위치를 기준점으로 타격 영역에 대응하는 직사각형을 만들고 제1, 2 카메라를 통해 기준점을 확인하여, 직사각형의 가로 및 세로값을 입력하는 단계 및 상기 단계들을 통해 제1, 제2 카메라의 위치, 렌즈의 시야각, 곡률로 인해 발생하는 오차를 보정할 오차 보정 데이터를 구하는 단계를 포함하여 구성되는 것을 특징으로 한다.According to another aspect of the present invention, a first camera located forward and backward with respect to the starting position (tee) of the ball before the first step and a second camera to the right of the first camera based on the direction toward the screen. Entering the X, Y, Z coordinates of; With the first and second cameras pointing at the starting position of the ball, a rectangle corresponding to the hitting area is created using the starting position as a reference point, and the reference point is checked through the first and second cameras to determine the horizontal and vertical values of the rectangle. It is characterized in that it is configured to include the step of inputting and obtaining error correction data for correcting errors caused by the positions of the first and second cameras, the angle of view of the lens, and the curvature through the above steps.

또한, 본 발명의 다른 목적은, 영상 입력부를 통해 입력되는 기준점(tee)의 공과 타격으로 인해 기준점(tee)에서 공중으로 비행할 공을 촬영한 제1 카메라의 영상과 사전에 취득한 오차 보정 데이터를 이용하여 제1 카메라에서 시작하는 정면방향 벡터와 제1 카메라로부터 공까지를 잇는 벡터 사이의 각도를 계산하는 제1 각도 계산부; 상기 영상 입력부를 통해 입력되는 제2 카메라의 영상과 사전에 취득한 오차 보정 데이터를 이용하여 제2 카메라에서 시작하는 정면방향 벡터와 제2 카메라로부터 공까지를 잇는 벡터 사이의 각도를 계산하는 제2 각도 계산부; 상기 제1, 제2 카메라에서의 공까지의 거리와 상기 제1, 제2 카메라의 위치좌표를 이용하여 공의 3차원 좌표를 계산하는 3차원 좌표 계산부; 상기 제1, 제2 각도 계산부에서 계산된 각도와 상기 3차원 좌표 계산부에서 계산된 3차원 좌표를 공을 촬영한 프레임만큼 반복하여 공의 3차원 배열에 삽입하는 3차원 배열 삽입부; 상기 영상 입력부를 통해 입력되는 상기 제1, 제2 카메라에 의해 촬영되는 영상의 각 프레임 간의 시간간격과 각 점의 위치 차이를 이용하여 공의 방위각, 발사각을 계산하는 비행정보 계산부; 상기 제1 카메라의 촬영된 영상의 첫번째와 두번째 프레임을 시작으로 이웃하는 프레임을 비교하여 차이가 있는 픽셀을 감지 저장하는 픽셀 변화 감지부; 상기 픽셀 변화 감지부에서 감지된 프레임 간 픽셀의 변화를 분석하여 클럽의 진행방향을 추정하는 클럽 진행방향 계산부; 상기 클럽의 진행방향과 비행하는 공의 방위각 차이 및 미리 설정된 데이터를 기준으로 공의 사이드스핀(sidespin)을 시뮬레이션하는 사이드스핀 시뮬레이션부; 비행하는 상기 공의 발사각과 미리 설정된 데이터를 기준으로 공의 백스핀(backspin)을 시뮬레이션하는 백스핀 시뮬레이션부; 및 상기 비행하는 공의 백스핀, 사이드스핀, 방위각 및 발사각을 근거로 공의 궤적데이터를 계산하여, 가상 골프 코스와 함께 스크린상에 표시하는 골프공 궤적 계산부로 구성되는, 두 대의 카메라를 이용한 천장형 골프 시뮬레이션 방법에 의해 달성된다.In addition, another object of the present invention is to obtain an image of a first camera that captures a ball flying in the air from a reference point (tee) due to a hit and a ball of a reference point (tee) input through an image input unit and error correction data obtained in advance. a first angle calculation unit that calculates an angle between a front direction vector starting from the first camera and a vector connecting the first camera to the ball; A second angle for calculating an angle between a front direction vector starting from the second camera and a vector connecting the second camera to the ball using the image of the second camera input through the image input unit and error correction data obtained in advance. calculator; a 3D coordinate calculation unit for calculating 3D coordinates of the ball using the distance from the first and second cameras to the ball and the coordinates of the positions of the first and second cameras; a 3D array inserting unit that repeatedly inserts the angles calculated by the first and second angle calculation units and the 3D coordinates calculated by the 3D coordinates calculation unit into a 3D array of balls by repeating the number of frames in which the ball is photographed; a flight information calculation unit that calculates an azimuth and a launch angle of the ball using a time interval between frames of images captured by the first and second cameras input through the image input unit and a difference in position of each point; a pixel change detection unit for detecting and storing a pixel having a difference by comparing neighboring frames starting from the first and second frames of the image captured by the first camera; a club traveling direction calculation unit for estimating the traveling direction of the club by analyzing the pixel change between frames detected by the pixel change detecting unit; a sidespin simulation unit simulating sidespin of the ball based on the difference between the direction of the club and the azimuth of the flying ball and preset data; a backspin simulation unit simulating a backspin of the ball based on a launch angle of the flying ball and preset data; and a golf ball trajectory calculation unit that calculates the trajectory data of the ball based on the backspin, sidespin, azimuth and launch angle of the flying ball and displays it on a screen along with a virtual golf course. A ceiling using two cameras. type golf simulation method.

본 발명의 하나의 측면에 의하면, 상기 3차원 배열 삽입부는, 공의 3차원 좌표의 배열이 직선이 되도록 보정하는 배열 보정부를 더 포함하는 것을 특징으로 한다.According to one aspect of the present invention, the 3-dimensional array inserting unit is characterized in that it further comprises an array correcting unit for correcting the array of 3-dimensional coordinates of the ball to be a straight line.

본 발명의 다른 측면에 의하면, 공의 시작 위치(tee)를 기준점으로 정후방에 위치한 제1 카메라와 스크린을 향하는 방향을 기준으로 상기 제1 카메라의 오른쪽에 위한 제2 카메라의 X, Y, Z 좌표를 입력하는 카메라 위치정보 입력부; 상기 제1, 제2 카메라가 공의 시작 위치를 지향하는 상태에서, 공으로 시작 위치를 기준점으로 타격 영역에 대응하는 직사각형을 만들고 상기 제1, 제2 카메라를 통해 기준점을 확인하여, 직사각형의 가로 및 세로값을 입력하는 가로세로값 입력부; 및 상기 카메라 위치 정보 입력부와 상기 가로세로값 입력부에 의해 취득된 상기 제1, 제2 카메라의 위치, 렌즈의 시야각, 곡률로 인해 발생하는 오차를 보정할 오차 보정 데이터를 구하는 오차 보정 데이터 계산부로 구성되는 입력부를 더 포함하여 구성되는 것을 특징으로 한다.According to another aspect of the present invention, the X, Y, and Z of the first camera located forward and backward with the starting position (tee) of the ball as a reference point and the second camera to the right of the first camera based on the direction toward the screen. a camera location information input unit for inputting coordinates; With the first and second cameras pointing at the starting position of the ball, a rectangle corresponding to the hitting area is created using the starting position with the ball as a reference point, and the reference point is checked through the first and second cameras to determine the width and width of the rectangle. a vertical and horizontal value input unit for inputting a vertical value; and an error correction data calculation unit that obtains error correction data for correcting errors caused by the positions of the first and second cameras acquired by the camera position information input unit and the aspect input unit, the viewing angle of the lens, and the curvature. It is characterized in that it is configured to further include an input unit to be.

본 발명에 의하면, 기준점의 직상단에 가까운 곳의 카메라를 통해 취득되는 영상으로부터 공의 방위각(좌우각)을 검출함으로써, 가상 골프 코스에서 골프공의 궤적을 계산하기 위한 방위각의 정확도를 높일 수 있는 효과가 있다.According to the present invention, by detecting the azimuth (left and right angles) of the ball from an image acquired through a camera located directly above the reference point, the accuracy of the azimuth for calculating the trajectory of a golf ball in a virtual golf course can be increased. It works.

도 1a는 본 발명의 실시예에 의한 두 대의 카메라를 이용한 천장형 골프 시뮬레이션 시스템의 구성도이다.
도 1b는 도 1a에 개시된 카메라의 설치상태를 보여주는 도면이다.
도 2는 도 1a에 개시된 골프공 궤적 시뮬레이션부의 상세 구성도이다.
도 3은 도 1a에 개시된 입력부의 상세 구성도이다.
도 4a 및 도 4b는 도 1a에 개시된 두 대의 카메라를 이용한 천장형 골프 시뮬레이션 시스템에 의해 골프 가상 코스에서 골프공 궤적 시뮬레이션 과정을 보여주는 흐름도이다.
1A is a configuration diagram of a ceiling type golf simulation system using two cameras according to an embodiment of the present invention.
Figure 1b is a view showing the installed state of the camera disclosed in Figure 1a.
2 is a detailed configuration diagram of the golf ball trajectory simulation unit disclosed in FIG. 1A.
3 is a detailed configuration diagram of an input unit disclosed in FIG. 1A.
4A and 4B are flowcharts illustrating a process of simulating a golf ball trajectory in a golf virtual course by the ceiling type golf simulation system using two cameras disclosed in FIG. 1A.

이하, 본 발명의 바람직한 실시예를 첨부 도면을 참조하여 상세히 설명하기로 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings.

도 1a는 본 발명의 실시예에 의한 두 대의 카메라를 이용한 천장형 골프 시뮬레이션 시스템의 구성도, 도 1b는 도 1a에 개시된 카메라의 설치상태를 보여주는 도면이다.1A is a configuration diagram of a ceiling type golf simulation system using two cameras according to an embodiment of the present invention, and FIG. 1B is a diagram showing an installation state of the cameras disclosed in FIG. 1A.

도 1a 및 도 1b에 의하면, 본 발명의 실시예에 의한 두 대의 카메라를 이용한 천장형 골프 시뮬레이션 시스템은, 공의 시작 위치와 타격으로 인해 비행하는 골프공을 촬영하는 고해상도의 제1, 제2 카메라(110)(120), 제1, 제2 카메라(110)(120)에 의해 촬영되는 골프 클럽과 공에 대한 영상을 분석하여, 가상 골프 코스에서의 골프 시뮬레이션을 위한 공의 궤적 데이터를 계산하는 골프공 궤적 시뮬레이션부(200), 가상 골프 코스와 공의 궤적을 표시하기 위한 프로젝트의 구동을 제어하는 프로젝트 구동 제어부(400), 골프 가상 코스와 골프공의 움직임이 표시되는 스크린(500) 및 제1, 제2 카메라(110)(120)의 위치정보를 입력하고, 오차 보정 데이터를 구하는 입력부(600)로 구성된다.1A and 1B, the ceiling-type golf simulation system using two cameras according to an embodiment of the present invention has high-resolution first and second cameras that photograph the starting position of the ball and a golf ball flying due to hitting. (110) (120) Analyzing the images of the golf club and the ball captured by the first and second cameras 110 and 120 to calculate the trajectory data of the ball for golf simulation in the virtual golf course A golf ball trajectory simulation unit 200, a project drive control unit 400 for controlling driving of a project for displaying a virtual golf course and a ball trajectory, a screen 500 displaying motions of a golf virtual course and a golf ball, and a second 1, it is composed of an input unit 600 for inputting positional information of the second camera 110, 120 and obtaining error correction data.

여기서, 키오스크(3)에 연결된 제1, 제2 카메라(110)(120)는 수평으로 배치하되, 골프 매트(2)의 골프공(1)의 시작 위치(tee)를 기준으로 후방 상단에 배치한다. 이때 공의 정후방에 제1 카메라(110)가 배치되고, 스크린을 향하는 진행방향을 기준으로 제1 카메라(110)의 오른쪽에 제2 카메라(120)가 배치된다. 또한, IR LED 조명(4)은 제1 카메라(110)에 근접되게 배치한다.Here, the first and second cameras 110 and 120 connected to the kiosk 3 are horizontally disposed, but are disposed at the upper rear of the golf mat 2 based on the starting position (tee) of the golf ball 1. do. At this time, the first camera 110 is disposed in the front and rear of the ball, and the second camera 120 is disposed to the right of the first camera 110 based on the direction toward the screen. In addition, the IR LED light 4 is disposed close to the first camera 110.

도 2는 도 1a에 개시된 골프공 궤적 시뮬레이션부(200)의 상세 구성도이다.FIG. 2 is a detailed configuration diagram of the golf ball trajectory simulation unit 200 shown in FIG. 1A.

도 2에 의하면, 도 1a에 개시된 골프공 궤적 시뮬레이션부(200)는, 영상 입력부(210)를 통해 입력되는 기준점(tee)의 공과 타격으로 인해 기준점(tee)에서 공중으로 비행할 공을 촬영한 제1 카메라(110)의 영상과 사전에 취득한 오차 보정 데이터를 이용하여 제1 카메라(110)에서 시작하는 정면방향 벡터와 제1 카메라(110)로부터 공까지를 잇는 벡터 사이의 각도를 계산하는 제1 각도 계산부(220), 영상 입력부(210)를 통해 입력되는 제2 카메라(120)의 영상과 사전에 취득한 오차 보정 데이터를 이용하여 제2 카메라(120)에서 시작하는 정면방향 벡터와 제2 카메라(120)로부터 공까지를 잇는 벡터 사이의 각도를 계산하는 제2 각도 계산부(230), 제1, 제2 카메라(110)(120)에서의 공까지의 거리와 제1, 제2 카메라(110)(120)의 위치좌표를 이용하여 공의 3차원 좌표를 계산하는 3차원 좌표 계산부(240), 제1, 제2 각도 계산부(220)(230)에서 계산된 각도와 3차원 좌표 계산부(240)에서 계산된 3차원 좌표를 공을 촬영한 프레임만큼 반복하여 공의 3차원 배열에 삽입하는 3차원 배열 삽입부(250), 영상 입력부(210)를 통해 입력되는 제1, 제2 카메라(110)(120)에 의해 촬영되는 영상의 각 프레임 간의 시간간격과 각 점의 위치 차이를 이용하여 공의 속도, 방위각, 발사각을 계산하는 비행정보 계산부(260), 제1 카메라(110)의 촬영된 영상의 첫번째와 두번째 프레임을 시작으로 이웃하는 프레임을 비교하여 차이가 있는 픽셀을 감지 저장하는 픽셀 변화 감지부(270), 픽셀 변화 감지부(270)에서 감지된 프레임 간 픽셀의 변화를 분석하여 클럽의 진행방향을 추정하는 클럽 진행방향 계산부(280), 클럽의 진행방향과 비행하는 공의 방위각 차이, 공의 속도 및 미리 설정된 데이터를 기준으로 공의 사이드스핀(sidespin)을 시뮬레이션하는 사이드스핀 시뮬레이션부(290), 비행하는 상기 공의 발사각과 미리 설정된 데이터를 기준으로 공의 백스핀(backspin)을 시뮬레이션하는 백스핀 시뮬레이션부(300), 및 비행하는 공의 백스핀, 사이드스핀, 방위각 및 발사각을 근거로 공의 궤적데이터를 계산하여, 가상 골프 코스와 함께 스크린상에 표시하는 골프공 궤적 계산부(310)로 구성된다.Referring to FIG. 2, the golf ball trajectory simulation unit 200 disclosed in FIG. 1A captures the ball at the reference point (tee) input through the image input unit 210 and the ball to fly in the air from the reference point (tee) due to a hit. The angle between the front direction vector starting from the first camera 110 and the vector connecting the first camera 110 to the ball is calculated using the image of the first camera 110 and error correction data obtained in advance. 1 The front direction vector starting from the second camera 120 and the second image using the image of the second camera 120 input through the angle calculation unit 220 and the image input unit 210 and error correction data obtained in advance A second angle calculator 230 that calculates an angle between vectors connecting the camera 120 to the ball, the distance from the first and second cameras 110 and 120 to the ball and the first and second cameras The 3D coordinate calculator 240 that calculates the 3D coordinates of the ball using the positional coordinates of (110) and 120, and the angles and 3D coordinates calculated by the first and second angle calculators 220 and 230 The 3D array insertion unit 250 repeatedly inserts the 3D coordinates calculated by the coordinate calculator 240 into the 3D array of the ball by repeating the number of frames in which the ball was photographed, the first input through the image input unit 210, A flight information calculation unit 260 that calculates the speed, azimuth, and launch angle of the ball using the time interval between each frame of the image captured by the second camera 110 or 120 and the position difference of each point, and the first camera A pixel change detection unit 270 that compares neighboring frames starting with the first and second frames of the captured image of (110) to detect and store pixels with differences, and pixels between frames detected by the pixel change detection unit 270. Club direction calculation unit 280 for estimating the direction of movement of the club by analyzing the change in the direction of the club, sidespin of the ball based on the difference between the direction of the club and the azimuth angle of the flying ball, the speed of the ball, and preset data Sidespin simulation unit 290 for simulating, the backspin simulation unit 300 for simulating the backspin of the ball based on the launch angle of the flying ball and preset data, and the backspin of the flying ball, It consists of a golf ball trajectory calculation unit 310 that calculates the trajectory data of the ball based on side spin, azimuth and launch angle, and displays it on the screen along with the virtual golf course.

여기서, 3차원 배열 삽입부(250)는 공의 3차원 좌표의 배열이 직선이 되도록 보정하는 배열 보정부(251)를 더 포함한다.Here, the 3D array insertion unit 250 further includes an array correction unit 251 that corrects the array of 3D coordinates of the balls to be a straight line.

도 3은 도 1a에 개시된 입력부(600)의 상세 구성도이다.FIG. 3 is a detailed configuration diagram of the input unit 600 shown in FIG. 1A.

도 3에 의하면, 도 1a에 개시된 입력부(600)는, 공의 시작 위치(tee)를 기준점으로 정후방에 위치한 제1 카메라(110)와 스크린을 향하는 방향을 기준으로 상기 제1 카메라(110)의 오른쪽에 위한 제2 카메라(120)의 X, Y, Z 좌표를 입력하는 카메라 위치정보 입력부(610), 제1, 제2 카메라(110)(120)가 공의 시작 위치를 지향하는 상태에서, 공으로 시작 위치를 기준점으로 타격 영역에 대응하는 직사각형을 만들고 제1, 2 카메라(110)(120)를 통해 기준점을 확인하여, 직사각형의 가로 및 세로값을 입력하는 가로세로값 입력부(620), 및 카메라 위치 정보 입력부(610)와 가로세로값 입력부(620)에 의해 취득된 제1, 제2 카메라(110)(120)의 위치, 렌즈의 시야각, 곡률로 인해 발생하는 오차를 보정할 오차 보정 데이터를 구하는 오차 보정 데이터 계산부(620)로 구성된다.Referring to FIG. 3 , the input unit 600 disclosed in FIG. 1A includes the first camera 110 located forward and backward with the starting position (tee) of the ball as a reference point and the first camera 110 based on the direction toward the screen. In the state where the camera location information input unit 610 inputs the X, Y, and Z coordinates of the second camera 120 for the right side of the first and second cameras 110 and 120 pointing to the starting position of the ball An aspect input unit 620 that creates a rectangle corresponding to the hitting area using the starting position of the ball as a reference point, checks the reference point through the first and second cameras 110 and 120, and inputs the horizontal and vertical values of the rectangle, and the position of the first and second cameras 110 and 120 obtained by the camera position information input unit 610 and the aspect input unit 620, and error correction to correct errors caused by the angle of view and curvature of the lens. It is composed of an error correction data calculator 620 that obtains data.

도 4a 및 도 4b는 도 1a에 개시된 두 대의 카메라를 이용한 천장형 골프 시뮬레이션 시스템에 의해 골프 가상 코스에서 골프공 궤적의 시뮬레이션 과정을 보여주는 흐름도이다.4A and 4B are flowcharts showing a simulation process of a golf ball trajectory in a virtual golf course by the ceiling type golf simulation system using two cameras disclosed in FIG. 1A.

도 4a 및 도 4b에 의하면, 가상 스크린 골프, 즉 골프 가상 코스에서의 골프공 궤적 시뮬레이션을 실행하기에 앞서, 사용자는 공(골프공)을 골프 매트 위의 시작 위치(tee)에 배치한다(S1). 이어서 사용자는 제1, 제2 카메라(110)(120)를 수평으로 배치하여, 공의 시작 위치(tee)를 기준으로 후방 상단에 배치한다. 이때 사용자는 공의 정후방에 제1 카메라(110)를 배치하고, 스크린을 향하는 진행방향을 기준으로 제1 카메라(110)의 오른쪽에 제2 카메라(120)를 배치한다.4A and 4B, prior to executing virtual screen golf, that is, golf ball trajectory simulation on a golf virtual course, the user places a ball (golf ball) at a starting position (tee) on a golf mat (S1 ). Subsequently, the user arranges the first and second cameras 110 and 120 horizontally, and arranges them at the rear and upper ends based on the starting position (tee) of the ball. At this time, the user places the first camera 110 at the front and rear of the ball, and places the second camera 120 to the right of the first camera 110 based on the moving direction toward the screen.

이렇게 제1, 제2 카메라(110)(120)를 배치한 후 사용자는 공의 시작 위치를 기준점으로 하는 제1, 제2 카메라(110)(120)의 위치에 대한 X(좌우), Y(전후), Z(상하) 좌표값을 입력(S3)한다.After arranging the first and second cameras 110 and 120 in this way, the user selects X (left and right), Y ( Before and after), Z (up and down) coordinate values are input (S3).

천장에 위치한 제1, 제2 카메라(110)(120)가 공을 지향하도록 조정한 상태에서, 사용자는 공으로 타격 영역, 즉 타격 매트에 대응하는 직사각형을 만들고, 제1, 제2 카메라(110)(120)를 통해 기준점을 확인하여, 직사각형의 가로값과 세로값을 입력(S4)한다. 여기서, 직사각형은 공의 위치를 기준점으로 전후좌우로의 거리는 대략 20 cm로 할 수 있다.With the first and second cameras 110 and 120 located on the ceiling adjusted to point at the ball, the user creates a hitting area with the ball, that is, a rectangle corresponding to the hitting mat, and the first and second cameras 110 Check the reference point through (120), and input the horizontal and vertical values of the rectangle (S4). Here, the rectangle may have a distance of approximately 20 cm in the front, rear, left, and right directions with the position of the ball as a reference point.

이때, 골프공 궤적 시뮬레이션부(200)는 공의 시작 위치와, 타격 영역, 즉 타격 매트의 각 모서리를 기준점으로 하여, 제1, 제2 카메라(110)(120)의 기준 위치, 시야각, 렌즈의 곡률을 보정할 오차 보정 데이터를 얻는다(S5).At this time, the golf ball trajectory simulation unit 200 uses the starting position of the ball and the hitting area, that is, each corner of the hitting mat as reference points, the reference positions of the first and second cameras 110 and 120, the angle of view, and the lens Obtain error correction data to correct the curvature of (S5).

이어서, 사용자가 기준점의 공을 타격하여 공중으로 비행하면, 제1 각도 계산부(220)는 제1 카메라(110)에 의해 촬영된 영상 이미지와 단계 S5에서 얻어진 오차 보정 데이터를 이용하여 제1 카메라(110)에서 시작하는 정면방향 벡터와 제1 카메라(110)로부터 공까지를 잇는 벡터 사이의 각도를 계산한다(S6).Then, when the user strikes the ball at the reference point and flies in the air, the first angle calculation unit 220 uses the video image captured by the first camera 110 and the error correction data obtained in step S5 to use the first camera 110 The angle between the front direction vector starting at (110) and the vector connecting the first camera 110 to the ball is calculated (S6).

마찬가지로, 제2 각도 계산부(230)는 제2 카메라(120)에 의해 촬영되는 영상 이미지와 단계 S5에서 얻어진 오차 보정 데이터를 이용하여 제2 카메라(120)에서 시작하는 정면방향 벡터와 제2 카메라(120)로부터 공까지를 잇는 벡터 사이의 각도를 계산한다(S7).Similarly, the second angle calculation unit 230 uses the video image captured by the second camera 120 and the error correction data obtained in step S5 to obtain a front direction vector starting from the second camera 120 and the second camera. An angle between vectors connecting from (120) to the ball is calculated (S7).

이어서, 3차원 좌표 계산부(240)는 제1 각도 계산부(220)에 의해 계산된 제1 카메라(110)에 대한 벡터 각도와 제2 각도 계산부(230)에 의해 계산된 제2 카메라(120)에 대한 벡터 각도 그리고 제1 카메라(110)와 제2 카메라(120) 사이의 거리를 이용하여 삼각 측량하여 제1, 제2 카메라(110)(120)에서 공까지의 거리를 계산(S8)하고, 단계 S8에서 확보한 제1, 제2 카메라(110)(120)에서 공까지의 거리와 제1, 제2 카메라(110)(120)의 위치좌표를 이용하여 공의 3차원 좌표를 계산한다(S9).Subsequently, the 3D coordinate calculator 240 calculates the vector angle of the first camera 110 calculated by the first angle calculator 220 and the second camera (calculated by the second angle calculator 230). 120) and the distance between the first camera 110 and the second camera 120 are triangulated to calculate the distance from the first and second cameras 110 and 120 to the ball (S8 ), and using the distance from the first and second cameras 110 and 120 to the ball and the positional coordinates of the first and second cameras 110 and 120 obtained in step S8, the three-dimensional coordinates of the ball are calculated. Calculate (S9).

그리고, 3차원 배열 삽입부(250)는 위 S7 내지 S9의 단계를 공이 촬영된 프레임만큼 수로 반복하여, 3차원 좌표를 배열하여 삽입(S10)하되, 이렇게 저장된 공의 3차원 좌표들은 배열 보정부(251)에 의해 보정되어 직선화된다(S11).Then, the 3D array inserting unit 250 repeats the above steps S7 to S9 as many times as the number of frames in which the ball is photographed, arrays and inserts the 3D coordinates (S10), but the 3D coordinates of the ball stored in this way are stored in the array compensator. It is corrected and straightened by (251) (S11).

이어서, 비행정보 계산부(260)는 제1, 제2 카메라(110)(120)에 의해 촬영된 시간간격과 각 점의 위치 차이를 이용하여 공의 방위각 및 발사각을 계산(S12)하고, 픽셀 변화 감지부(270)는 제1 카메라(110)에서 첫번째와 두번째 프레임부터 시작하여 이어서 이웃하는 전후 프레임을 비교하여 차이가 있는 픽셀을 감지하여 저장(S13)하고, 이를 근거로 클럽 진행방향 계산부(280)는 픽셀의 차이가 있는 영역의 끝부분을 모아 클럽의 진행방향을 계산한다(S14).Subsequently, the flight information calculation unit 260 calculates the azimuth and launch angle of the ball using the time interval photographed by the first and second cameras 110 and 120 and the position difference of each point (S12), and the pixel The change detection unit 270 starts from the first and second frames in the first camera 110 and then compares the neighboring frames before and after to detect and store the pixel having a difference (S13). In step 280, the direction of movement of the club is calculated by collecting the ends of the area with the pixel difference (S14).

이어서, 사이드스핀 시뮬레이션부(290)는 클럽의 진행방향과 공의 방위각 차이 그리고 미리 설정된 데이터를 기준으로 공의 사이드스핀(sidespin)을 시뮬레이션(S15)하고, 백스핀 시뮬레이션부(300)는 공의 상하각과 미리 설정된 데이터를 기준으로 공의 백스핀(backspin)을 시뮬레이션(S16)한다.Subsequently, the sidespin simulation unit 290 simulates the sidespin of the ball based on the difference between the club's traveling direction and the ball's azimuth and preset data (S15), and the backspin simulation unit 300 simulates the ball's sidespin. The backspin of the ball is simulated based on the vertical angle and preset data (S16).

그리하면, 골프공 궤적 계산부(310)는 공의 백스핀, 사이드스핀, 방위각 및 발사각을 근거로 공의 궤적 데이터를 계산(S17)하여, 프로젝트 구동 제어부(400)를 통해 스크린(500)상에 가상 골프 코스와 함께 공의 궤적을 표시한다.Then, the golf ball trajectory calculation unit 310 calculates the trajectory data of the ball based on the ball's backspin, sidespin, azimuth and launch angle (S17), and displays the data on the screen 500 through the project drive control unit 400. Displays the trajectory of the ball along with the virtual golf course on

이상에서는 본 발명의 바람직한 실시예에 대하여 도시하고 설명하였지만, 본 발명은 상술한 특정의 실시예에 한정되지 아니하며, 청구범위에서 청구하는 본 발명의 요지를 벗어남이 없이 당해 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 의해 다양한 변형 실시가 가능한 것은 물론이고, 이러한 변형 실시 구조들은 본 발명의 기술 사상으로부터 벗어나는 것으로 이해되어져서는 안될 것이다.Although the preferred embodiments of the present invention have been shown and described above, the present invention is not limited to the specific embodiments described above, and is common in the art to which the present invention pertains without departing from the gist of the present invention claimed in the claims. Of course, various modified implementations are possible by those with knowledge of, and these modified structures should not be understood as departing from the technical spirit of the present invention.

110, 120 : 카메라 200 : 골프공 궤적 시뮬레이션부
210 : 영상 입력부 220 : 제1 각도 계산부
230 : 제2 각도 계산부 240 : 3차원 좌표 계산부
250 : 3차원 배열 삽입부 251 : 배열 보정부
260 : 배행정보 계산부 270 : 픽셀 변화 감지부
280 : 클럽 진행방향 계산부 290 : 사이드스핀 시뮬레이션부
300 : 백스핀 시뮬레이션부 310 : 골프공 궤적 계산부
400 : 프로젝트 구동 제어부 500 : 스크린
600 : 입력부 610 : 카메라 위치정보 입력부
620 : 가로세로값 입력부 630 : 오차 보정 데이터 계산부
110, 120: camera 200: golf ball trajectory simulation unit
210: video input unit 220: first angle calculation unit
230: second angle calculation unit 240: 3-dimensional coordinate calculation unit
250: 3-dimensional array insertion unit 251: array correction unit
260: dispatch information calculation unit 270: pixel change detection unit
280: club direction calculation unit 290: side spin simulation unit
300: backspin simulation unit 310: golf ball trajectory calculation unit
400: Project driving control unit 500: Screen
600: input unit 610: camera location information input unit
620: aspect ratio input unit 630: error correction data calculation unit

Claims (6)

기준점(tee)의 공과 타격으로 인해 기준점(tee)에서 공중으로 비행할 공을 촬영한 제1 카메라의 영상과 사전에 취득한 오차 보정 데이터를 이용하여 제1 카메라에서 시작하는 정면방향 벡터와 제1 카메라로부터 공까지를 잇는 벡터 사이의 각도를 계산하는 제1 단계;
제2 카메라의 영상과 사전에 취득한 오차 보정 데이터를 이용하여 제2 카메라에서 시작하는 정면방향 벡터와 제2 카메라로부터 공까지를 잇는 벡터 사이의 각도를 계산하는 제2 단계;
제1, 제2 카메라에서의 공까지의 거리와 제1, 제2 카메라의 위치좌표를 이용하여 공의 3차원 좌표를 계산하는 제3단계;
상기 제1 단계 내지 제3 단계에서 공을 촬영한 프레임만큼 반복하여 공의 3차원 배열에 삽입하는 제 4단계;
제1, 제2 카메라에 의해 촬영되는 영상의 각 프레임 간의 시간간격과 각 점의 위치 차이를 이용하여 공의 방위각, 발사각을 계산하는 제5 단계;
제1 카메라의 촬영된 영상의 첫번째와 두번째 프레임을 시작으로 이웃하는 프레임을 비교하여 차이가 있는 픽셀을 감지 저장하는 제 6단계;
상기 제6 단계에서 감지된 프레임 간 픽셀의 변화를 분석하여 클럽의 진행방향을 계산하는 제7 단계;
상기 클럽의 진행방향과 비행하는 공의 방위각 차이 및 미리 설정된 데이터를 기준으로 공의 사이드스핀(sidespin)을 시뮬레이션하는 제8 단계;
비행하는 상기 공의 발사각과 미리 설정된 데이터를 기준으로 공의 백스핀(backspin)을 시뮬레이션하는 제9 단계; 및
상기 비행하는 공의 백스핀, 사이드스핀, 방위각 및 발사각을 근거로 공의 궤적데이터를 계산하여, 가상 골프 코스와 함께 스크린상에 표시하는 제10 단계
로 구성되는, 두 대의 카메라를 이용한 천장형 골프 시뮬레이션 방법.
The front direction vector starting from the first camera and the first camera using the image of the first camera that photographed the ball at the reference point (tee) and the ball to fly in the air from the reference point (tee) due to a hit and error correction data acquired in advance A first step of calculating an angle between vectors linking from to the ball;
a second step of calculating an angle between a front direction vector starting from the second camera and a vector connecting the second camera to the ball by using the image of the second camera and error correction data obtained in advance;
a third step of calculating 3D coordinates of the ball using the distance to the ball from the first and second cameras and the positional coordinates of the first and second cameras;
a fourth step of repeatedly inserting the ball into a three-dimensional array of balls by repeating as many frames as the shots of the ball in the first to third steps;
A fifth step of calculating the azimuth and launch angles of the ball using the time interval between each frame of the image captured by the first and second cameras and the positional difference of each point;
a sixth step of detecting and storing a pixel having a difference by comparing neighboring frames, starting with the first and second frames of the image captured by the first camera;
a seventh step of calculating the moving direction of the club by analyzing the pixel change between frames detected in the sixth step;
An eighth step of simulating sidespin of the ball based on the difference between the club's traveling direction and the azimuth angle of the flying ball and preset data;
A ninth step of simulating the backspin of the ball based on the launch angle of the flying ball and preset data; and
Step 10 of calculating the trajectory data of the ball based on the backspin, sidespin, azimuth and launch angle of the flying ball and displaying it on the screen along with the virtual golf course.
Consisting of, a ceiling type golf simulation method using two cameras.
제1항에 있어서,
상기 제4 단계는, 공의 3차원 좌표의 배열이 직선이 되도록 보정하는 단계를 더 포함하는 것을 특징으로 하는, 두 대의 카메라를 이용한 천장형 골프 시뮬레이션 방법.
According to claim 1,
The fourth step further comprises correcting the array of three-dimensional coordinates of the ball to be a straight line.
제1항에 있어서,
상기 제1 단계 이전에 공의 시작 위치(tee)를 기준점으로 정후방에 위치한 제1 카메라와 스크린을 향하는 방향을 기준으로 상기 제1 카메라의 오른쪽에 위한 제2 카메라의 X, Y, Z 좌표를 입력하는 단계;
제1, 제2 카메라가 공의 시작 위치를 지향하는 상태에서, 공으로 시작 위치를 기준점으로 타격 영역에 대응하는 직사각형을 만들고 제1. 2 카메라를 통해 기준점을 확인하여, 직사각형의 가로 및 세로값을 입력하는 단계 및
상기 단계들을 통해 제1, 제2 카메라의 위치, 렌즈의 시야각, 곡률로 인해 발생하는 오차를 보정할 오차 보정 데이터를 구하는 단계
를 포함하여 구성되는 것을 특징으로 하는, 두 대의 카메라를 이용한 천장형 골프 시뮬레이션 방법.
According to claim 1,
X, Y, and Z coordinates of a first camera located forward and backward with the starting position (tee) of the ball before the first step as a reference point and a second camera to the right of the first camera based on the direction toward the screen input;
With the first and second cameras pointing at the starting position of the ball, a rectangle corresponding to the hitting area is created using the starting position as a reference point with the ball, and the first. 2 Checking the reference point through the camera and inputting the horizontal and vertical values of the rectangle; and
Obtaining error correction data to correct errors caused by the positions of the first and second cameras, the angle of view, and the curvature of the lens through the above steps.
A ceiling golf simulation method using two cameras, characterized in that it comprises a.
영상 입력부(210)를 통해 입력되는 기준점(tee)의 공과 타격으로 인해 기준점(tee)에서 공중으로 비행할 공을 촬영한 제1 카메라(110)의 영상과 사전에 취득한 오차 보정 데이터를 이용하여 제1 카메라(110)에서 시작하는 정면방향 벡터와 제1 카메라(110)로부터 공까지를 잇는 벡터 사이의 각도를 계산하는 제1 각도 계산부(220);
상기 영상 입력부(210)를 통해 입력되는 제2 카메라(120)의 영상과 사전에 취득한 오차 보정 데이터를 이용하여 제2 카메라(120)에서 시작하는 정면방향 벡터와 제2 카메라(120)로부터 공까지를 잇는 벡터 사이의 각도를 계산하는 제2 각도 계산부(230);
상기 제1, 제2 카메라(110)(120)에서의 공까지의 거리와 상기 제1, 제2 카메라(110)(120)의 위치좌표를 이용하여 공의 3차원 좌표를 계산하는 3차원 좌표 계산부(240);
상기 제1, 제2 각도 계산부(220)(230)에서 계산된 각도와 상기 3차원 좌표 계산부(240)에서 계산된 3차원 좌표를 공을 촬영한 프레임만큼 반복하여 공의 3차원 배열에 삽입하는 3차원 배열 삽입부(250);
상기 영상 입력부(210)를 통해 입력되는 상기 제1, 제2 카메라(110)(120)에 의해 촬영되는 영상의 각 프레임 간의 시간간격과 각 점의 위치 차이를 이용하여 공의 속도, 방위각, 발사각을 계산하는 비행정보 계산부(260);
상기 제1 카메라(110)의 촬영된 영상의 첫번째와 두번째 프레임을 시작으로 이웃하는 프레임을 비교하여 차이가 있는 픽셀을 감지 저장하는 픽셀 변화 감지부(270);
상기 픽셀 변화 감지부(270)에서 감지된 프레임 간 픽셀의 변화를 분석하여 클럽의 진행방향을 추정하는 클럽 진행방향 계산부(280);
상기 클럽의 진행방향과 비행하는 공의 방위각 차이 및 미리 설정된 데이터를 기준으로 공의 사이드스핀(sidespin)을 시뮬레이션하는 사이드스핀 시뮬레이션부(290);
비행하는 상기 공의 발사각과 미리 설정된 데이터를 기준으로 공의 백스핀(backspin)을 시뮬레이션하는 백스핀 시뮬레이션부(300); 및
상기 비행하는 공의 백스핀, 사이드스핀, 방위각 및 발사각을 근거로 공의 궤적데이터를 계산하여, 가상 골프 코스와 함께 스크린상에 표시하는 골프공 궤적 계산부(310)
로 구성되는, 두 대의 카메라를 이용한 천장형 골프 시뮬레이션 시스템.
Using the image of the first camera 110 photographing the ball at the reference point (tee) input through the image input unit 210 and the ball to fly into the air from the reference point (tee) due to a hit and error correction data obtained in advance, a first angle calculator 220 that calculates an angle between a front direction vector starting from 1 camera 110 and a vector connecting the first camera 110 to the ball;
Using the image of the second camera 120 input through the image input unit 210 and error correction data obtained in advance, the front direction vector starting from the second camera 120 and the distance from the second camera 120 to the ball a second angle calculation unit 230 that calculates an angle between vectors linking ;
3D coordinates for calculating the 3D coordinates of the ball using the distance from the first and second cameras 110 and 120 to the ball and the positional coordinates of the first and second cameras 110 and 120 Calculator 240;
The angles calculated by the first and second angle calculation units 220 and 230 and the 3-dimensional coordinates calculated by the 3-dimensional coordinate calculation unit 240 are repeated as many times as the number of frames in which the ball is photographed to form a 3-dimensional array of balls. a three-dimensional array insertion unit 250 to be inserted;
The speed, azimuth, and launch angle of the ball are determined by using the time interval between each frame of the image captured by the first and second cameras 110 and 120 input through the image input unit 210 and the difference in position of each point. Flight information calculation unit 260 for calculating the;
a pixel change detection unit 270 that compares neighboring frames starting with the first and second frames of the image captured by the first camera 110 and detects and stores a pixel having a difference;
a club moving direction calculating unit 280 that estimates the moving direction of the club by analyzing the pixel change between frames detected by the pixel change detecting unit 270;
a sidespin simulation unit 290 simulating sidespin of the ball based on the difference between the club's traveling direction and the azimuth angle of the flying ball and preset data;
a backspin simulation unit 300 simulating a backspin of the ball based on a launch angle of the flying ball and preset data; and
A golf ball trajectory calculation unit 310 that calculates ball trajectory data based on the backspin, sidespin, azimuth and launch angle of the flying ball and displays it on a screen along with a virtual golf course.
Consisting of, a ceiling type golf simulation system using two cameras.
제4항에 있어서,
상기 3차원 배열 삽입부(250)는, 공의 3차원 좌표의 배열이 직선이 되도록 보정하는 배열 보정부(251)를 더 포함하는 것을 특징으로 하는, 두 대의 카메라를 이용한 천장형 골프 시뮬레이션 시스템.
According to claim 4,
The 3D array insertion unit 250 further comprises an array correction unit 251 for correcting the array of 3D coordinates of the ball to be a straight line.
제4항에 있어서,
공의 시작 위치(tee)를 기준점으로 정후방에 위치한 제1 카메라(110)와 스크린을 향하는 방향을 기준으로 상기 제1 카메라(110)의 오른쪽에 위한 제2 카메라(120)의 X, Y, Z 좌표를 입력하는 카메라 위치정보 입력부(610);
상기 제1, 제2 카메라(110)(120)가 공의 시작 위치를 지향하는 상태에서, 공으로 시작 위치를 기준점으로 타격 영역에 대응하는 직사각형을 만들고 상기 제1, 2 카메라(110)(120)를 통해 기준점을 확인하여, 직사각형의 가로 및 세로값을 입력하는 가로세로값 입력부(620); 및
상기 카메라 위치 정보 입력부(610)와 상기 가로세로값 입력부(620)에 의해 취득된 상기 제1, 제2 카메라(110)(120)의 위치, 렌즈의 시야각, 곡률로 인해 발생하는 오차를 보정할 오차 보정 데이터를 구하는 오차 보정 데이터 계산부(620)
로 구성되는 입력부(600)를 더 포함하여 구성되는 것을 특징으로 하는, 두 대의 카메라를 이용한 천장형 골프 시뮬레이션 시스템.
According to claim 4,
X, Y of the first camera 110 located at the front and rear with the starting position (tee) of the ball as a reference point and the second camera 120 for the right side of the first camera 110 based on the direction toward the screen, a camera location information input unit 610 for inputting Z coordinates;
With the first and second cameras 110 and 120 pointing at the starting position of the ball, a rectangle corresponding to the hitting area is created using the starting position as a reference point with the ball, and the first and second cameras 110 and 120 a horizontal and vertical value input unit 620 that checks a reference point through and inputs horizontal and vertical values of the rectangle; and
Errors caused by the positions of the first and second cameras 110 and 120 acquired by the camera position information input unit 610 and the aspect input unit 620, the angle of view of the lens, and the curvature of the lens may be corrected. Error correction data calculator 620 for obtaining error correction data
Characterized in that it further comprises an input unit 600 consisting of, ceiling type golf simulation system using two cameras.
KR1020210053032A 2021-04-23 2021-04-23 Ceiling golf simulation system using two cameras KR102517067B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210053032A KR102517067B1 (en) 2021-04-23 2021-04-23 Ceiling golf simulation system using two cameras

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210053032A KR102517067B1 (en) 2021-04-23 2021-04-23 Ceiling golf simulation system using two cameras

Publications (2)

Publication Number Publication Date
KR20220146137A KR20220146137A (en) 2022-11-01
KR102517067B1 true KR102517067B1 (en) 2023-03-31

Family

ID=84042355

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210053032A KR102517067B1 (en) 2021-04-23 2021-04-23 Ceiling golf simulation system using two cameras

Country Status (1)

Country Link
KR (1) KR102517067B1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116251339B (en) * 2023-03-14 2023-11-28 西南交通大学 A service method and device based on behavior recognition and binocular camera ranging

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101412505B1 (en) 2013-11-28 2014-06-26 (주) 알디텍 Golf simulator, and golf simulation method

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101412505B1 (en) 2013-11-28 2014-06-26 (주) 알디텍 Golf simulator, and golf simulation method

Also Published As

Publication number Publication date
KR20220146137A (en) 2022-11-01

Similar Documents

Publication Publication Date Title
US10427051B2 (en) Methods and systems for sports simulation
US10058733B2 (en) Sports simulator and simulation method
JP6247817B2 (en) Sports simulation system
KR101385325B1 (en) Method and system for photographing object in movement with plural camera, and based on taken images therefor, obtaining actual movement trace of same object
CN105288982B (en) The motion state measure device of golf
KR20200085803A (en) Golf ball tracking system
KR20090021407A (en) Golf ball behavior measuring device and control method
JP6898415B2 (en) Methods, systems and computer programs for measuring ball rotation
KR102517067B1 (en) Ceiling golf simulation system using two cameras
BR102012028297B1 (en) APPARATUS AND METHOD FOR DETERMINING THE POSITION OF A SPORTING PROJECTILE WITHIN A SCENE AND, COMPUTER READable STORAGE MEDIA
KR102567201B1 (en) A console-type golf simulation system using two cameras
KR102567199B1 (en) golf simulation system using 3D information
KR102582362B1 (en) floor golf simulation system using two cameras
TWI775637B (en) Golf swing analysis system, golf swing analysis method and information memory medium
CN116075341B (en) Sensing device for golf swing and method for sensing impact position of club head using the same
TWI775636B (en) Golf swing analysis system, golf swing analysis method and information memory medium
US20250050168A1 (en) Method, system and non-transitory computer-readable recording medium for providing shot information of golf balls
KR101053870B1 (en) Latch Sensing Screen Golf System
TW201934179A (en) Real-time golf ball data simulation system and method for user to clearly understand previous swinging record and make real-time adjustment and correction for next swinging

Legal Events

Date Code Title Description
PA0109 Patent application

Patent event code: PA01091R01D

Comment text: Patent Application

Patent event date: 20210423

PA0201 Request for examination
PG1501 Laying open of application
E902 Notification of reason for refusal
PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20230116

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20230322

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20230329

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20230329

End annual number: 3

Start annual number: 1

PG1601 Publication of registration