KR102045439B1 - Virtual tennis simulation system, sensing device and method for sensing process using the same - Google Patents

Virtual tennis simulation system, sensing device and method for sensing process using the same Download PDF

Info

Publication number
KR102045439B1
KR102045439B1 KR1020180029071A KR20180029071A KR102045439B1 KR 102045439 B1 KR102045439 B1 KR 102045439B1 KR 1020180029071 A KR1020180029071 A KR 1020180029071A KR 20180029071 A KR20180029071 A KR 20180029071A KR 102045439 B1 KR102045439 B1 KR 102045439B1
Authority
KR
South Korea
Prior art keywords
ball
player
virtual
image
tennis
Prior art date
Application number
KR1020180029071A
Other languages
Korean (ko)
Other versions
KR20190031111A (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 JP2020548727A priority Critical patent/JP6981719B2/en
Priority to PCT/KR2019/002892 priority patent/WO2019177361A1/en
Publication of KR20190031111A publication Critical patent/KR20190031111A/en
Application granted granted Critical
Publication of KR102045439B1 publication Critical patent/KR102045439B1/en

Links

Images

Classifications

    • 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
    • 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/0087Electric or electronic controls for exercising apparatus of groups A63B21/00 - A63B23/00, e.g. controlling load
    • 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/38Training appliances or apparatus for special sports for tennis
    • 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/40Stationarily-arranged devices for projecting balls or other bodies
    • 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
    • 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
    • EFIXED CONSTRUCTIONS
    • E04BUILDING
    • E04HBUILDINGS OR LIKE STRUCTURES FOR PARTICULAR PURPOSES; SWIMMING OR SPLASH BATHS OR POOLS; MASTS; FENCING; TENTS OR CANOPIES, IN GENERAL
    • E04H3/00Buildings or groups of buildings for public or similar purposes; Institutions, e.g. infirmaries or prisons
    • E04H3/10Buildings or groups of buildings for public or similar purposes; Institutions, e.g. infirmaries or prisons for meetings, entertainments, or sports
    • 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
    • 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/83Special sensors, transducers or devices therefor characterised by the position of the sensor
    • A63B2220/833Sensors arranged on the exercise apparatus or sports implement

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Architecture (AREA)
  • Civil Engineering (AREA)
  • Structural Engineering (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Processing Or Creating Images (AREA)
  • Image Analysis (AREA)
  • Studio Devices (AREA)

Abstract

본 발명은 테니스라는 역동적인 스포츠의 특성을 플레이어가 경험하면서 또한 여러 가지 정보를 제공받을 수 있도록 하기 위한 가상 테니스 시뮬레이션 시스템을 제공하기 위한 것이며, 플레이어가 타격한 볼에 대한 센싱은 물론 상기 플레이어의 움직임에 대한 센싱 및 분석 등 다양한 정보의 센싱과 분석을 통해 종래의 스크린 테니스에서는 구현할 수 없었던 역동적이고 현실감 있는 가상의 테니스 플레이를 제공하며 플레이어에게 가상의 테니스 플레이에 대한 다양한 분석 정보의 제공 등을 실현할 수 있는 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법을 제공하기 위한 것이다.The present invention is to provide a virtual tennis simulation system for allowing a player to experience the dynamic sports characteristics of tennis and to be provided with a variety of information, the sensing of the ball hit by the player as well as the movement of the player Through sensing and analyzing various information such as sensing and analyzing the data, it provides dynamic and realistic virtual tennis play that could not be realized in conventional screen tennis, and provides players with various analysis information about virtual tennis play. It is to provide a virtual tennis simulation system, a sensing device and a sensing method used therein.

Description

가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법{VIRTUAL TENNIS SIMULATION SYSTEM, SENSING DEVICE AND METHOD FOR SENSING PROCESS USING THE SAME}VIRTUAL TENNIS SIMULATION SYSTEM, SENSING DEVICE AND METHOD FOR SENSING PROCESS USING THE SAME

본 발명은 소정의 실내 공간에서 가상의 상대방에 의한 테니스 플레이 영상이 구현되는 스크린이 설치되고 상기 스크린을 통해 볼 머신에서 발사되는 테니스볼을 사용자가 라켓으로 타격하는 방식으로 테니스 연습 또는 테니스 경기를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법에 관한 것이다.According to the present invention, a screen for implementing a tennis play image by a virtual opponent in a predetermined indoor space is installed, and a tennis ball or a tennis game can be played in such a manner that a user hits a tennis ball fired from a ball machine with a racket through the screen. It relates to a virtual tennis simulation system, a sensing device and a sensing method used therein.

최근에 골프와 야구 등과 같이 볼을 이용하여 즐기는 스포츠에 대해 실내의 좁은 공간에서도 실제 필드에서 골프나 야구를 하는 것과 같은 연습이나 경기를 위한 가상의 컨텐츠를 제공하는, 이른바 스크린 골프와 스크린 야구 등의 대중적인 인기와 그에 따른 기술적 발전에 따라 볼을 이용하는 가장 대표적인 스포츠인 테니스에 대해서도 소위 스크린 테니스 시스템이 등장하게 되었다.Recently, sports such as golf and baseball, such as golf and baseball, which provide virtual contents for practice or play, such as playing golf or baseball on a real field, even in a narrow space in the room, such as screen golf and screen baseball, etc. Popular popularity and the resulting technological developments have led to the emergence of so-called screen tennis systems for tennis, the most representative sport that uses balls.

테니스라는 스포츠는 골프나 야구와는 달리 사용자가 한 곳에서 계속 볼을 타격하는 것이 아니라 라켓을 든 사용자가 매우 다이나믹하게 움직이면서 상대 선수와 볼을 지속적으로 주고받는 랠리를 펼치는 스포츠로서, 이러한 테니스 스포츠의 특징을 스크린 테니스 시스템에서 적절히 구현하여 스크린 테니스를 이용하는 사용자가 다양한 위치에서 볼을 타격하면서 영상 내의 상대방과 지속적인 랠리를 현실감있게 할 수 있도록 하여 테니스 스포츠의 리얼리티를 실현하면서도 실제 테니스 스포츠에서는 쉽게 파악하기 어려운 다양한 분석 정보를 제공받을 수 있도록 하는 것이 관건이라 할 수 있다.Unlike golf or baseball, tennis is a sport in which the user does not hit the ball continuously in one place but rather rallys the player with the racquet and moves the ball with the other player continuously. By properly implementing the features in the screen tennis system, users who use screen tennis can hit the ball from various positions and make continuous rally with the opponent in the video realizing the reality of tennis sports, but it is difficult to grasp easily in the actual tennis sports. The key is to provide a variety of analysis information.

종래의 스크린 테니스 시스템 및 이에 이용되는 센싱장치 등에 관한 선행특허문헌으로서, 특허출원 제10-2015-0010077호, 특허출원 제10-2015-0138876호, 미국등록특허 제6,776,732호, 미국등록특허 제3,989,246호 등이 공개되어 있다.As a prior patent document related to the conventional screen tennis system and the sensing device used therein, Patent Application No. 10-2015-0010077, Patent Application No. 10-2015-0138876, US Patent No. 6,776,732, US Patent No. 3,989,246 The issue is disclosed.

그러나, 종래의 스크린 테니스 시스템은 플레이어가 볼을 타격할 때의 타격된 볼에 대한 센싱에만 국한하고 있고 그마저도 종래의 스크린 골프 시스템에서 널리 이용되는 방식, 즉 볼이 출발할 때의 출발속도, 출발각도 및 방향 정보만을 이용하여 전체 궤적을 예측하는 방식이라는 점에서 센싱의 범위가 매우 한정적이고 정확성이 낮기 때문에, 코트의 이곳저곳을 이동하면서 역동적으로 플레이하는 테니스라는 스포츠의 특성에 부합하도록 다양한 정보를 센싱하고 분석하며 그 결과에 따라 사용자에게 테니스의 특성에 부합하는 다양한 정보를 제공하는 점에 있어서 종래의 스크린 테니스 시스템이 상당히 미흡하다는 문제점이 있었다. However, the conventional screen tennis system is limited to the sensing of the hit ball when the player hits the ball, and even the method widely used in the conventional screen golf system, that is, the start speed and the start speed when the ball starts Since the sensing range is very limited and the accuracy is low in that the entire trajectory is predicted using only the angle and direction information, various information is provided to match the characteristics of the sport of tennis that is played dynamically while moving around the court. There is a problem that the conventional screen tennis system is quite insufficient in terms of sensing and analyzing and providing the user with various information according to the characteristics of the tennis.

나아가 종래의 스크린 테니스 시스템은 상기한 바와 같은 문제점으로 말미암아 플레이가 매우 단조롭고 지루하며 단순 반복이 진행될 뿐이어서 테니스라는 스포츠의 특성을 스크린 테니스 시스템이 충분히 담아내지 못한다는 문제점이 있었다.Furthermore, the conventional screen tennis system has a problem that the screen tennis system does not sufficiently capture the characteristics of the sport of tennis because the play is very monotonous, boring, and simple repetition due to the problems described above.

본 발명은 테니스라는 역동적인 스포츠의 특성을 플레이어가 경험하면서 또한 여러 가지 정보를 제공받을 수 있도록 하기 위한 가상 테니스 시뮬레이션 시스템을 제공하기 위한 것이며, 플레이어가 타격한 볼에 대한 센싱은 물론 상기 플레이어의 움직임에 대한 센싱 및 분석 등 다양한 정보의 센싱과 분석을 통해 종래의 스크린 테니스에서는 구현할 수 없었던 역동적이고 현실감 있는 가상의 테니스 플레이를 제공하며 플레이어에게 가상의 테니스 플레이에 대한 다양한 분석 정보의 제공 등을 실현할 수 있는 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법을 제공하기 위한 것이다.The present invention is to provide a virtual tennis simulation system for allowing a player to experience the dynamic sports characteristics of tennis and to be provided with a variety of information, the sensing of the ball hit by the player as well as the movement of the player Through sensing and analyzing various information such as sensing and analyzing the data, it provides dynamic and realistic virtual tennis play that could not be realized in conventional screen tennis, and provides players with various analysis information about virtual tennis play. It is to provide a virtual tennis simulation system, a sensing device and a sensing method used therein.

본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은, 플레이어가 테니스 플레이를 하는 코트바닥부의 전방에 구비되어 가상 테니스 시뮬레이션 영상이 투영되는 스크린; 상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신; 미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 카메라 유닛; 상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼에 대한 볼 운동 모델을 산출하는 센싱처리유닛; 및 상기 플레이어가 플레이하는 상대방인 가상의 상대방 플레이어에 대한 영상을 구현하고 미리 설정된 인공지능에 따라 상기 가상의 상대방 플레이어가 플레이하도록 제어하며, 상기 센싱처리유닛에 의해 산출된 볼 운동 모델을 이용하여 상기 가상 테니스 시뮬레이션 영상의 생성 및 처리와 상기 볼 머신의 제어를 수행하는 제어장치를 포함하며,The virtual tennis simulation system according to an embodiment of the present invention, the player is provided in front of the floor of the court to play tennis, the screen on which the virtual tennis simulation image is projected; A ball machine provided at the rear of the screen to provide a ball to the player; A camera unit for continuously acquiring an image for a shooting range including a preset area; A sensing processing unit configured to calculate a ball motion model for the ball by extracting and analyzing an object corresponding to the ball from the acquired image; And implementing an image of a virtual counterpart player that is the counterpart that the player plays, controlling the virtual counterpart player to play according to a predetermined artificial intelligence, and using the ball motion model calculated by the sensing processing unit. A control device for generating and processing a virtual tennis simulation image and controlling the ball machine;

상기 제어장치는, 상기 플레이어의 볼 타격에 따라 상기 카메라 유닛에 의해 취득된 이미지의 분석을 통해 상기 센싱처리유닛이 볼 운동 모델을 산출한 것을 이용하여 상기 볼 운동 모델에 대응되도록 영상 상에서 가상의 볼이 상기 가상의 상대방 플레이어가 있는 가상의 코트 쪽으로 이동하는 시뮬레이션 영상을 구현하고, 미리 설정된 인공지능에 따라 상기 가상의 상대방 플레이어가 가상의 볼을 타격함에 따라 상기 타격된 가상의 볼이 이동하는 시뮬레이션 영상을 구현하며, 상기 가상의 볼이 이동하는 연장선상에서 상기 볼 머신이 볼을 제공하여 상기 플레이어로 하여금 타격할 수 있도록 하는 방식으로, 상기 플레이어가 볼을 타격한 것에 대해 상기 가상의 상대방 플레이어가 가상의 볼을 타격하는 것을 반복하면서 상기 플레이어와 영상 상의 상기 가상의 상대방 플레이어가 테니스 랠리를 구현할 수 있도록 한다.The control device is a virtual ball on the image to correspond to the ball motion model by using the sensing processing unit calculates a ball motion model through analysis of the image acquired by the camera unit according to the ball hit of the player A simulation image of moving to the virtual court where the virtual opponent player is located, and the simulated image of the virtual ball being moved as the virtual opponent player hits the virtual ball according to preset artificial intelligence. And the virtual opponent player to the virtual player against the player hitting the ball in such a way that the ball machine provides the ball on the extension line that the virtual ball is moving so that the player can hit the ball. Repeatedly hitting the ball and the video on the player The virtual machine allows a player party to implement the tennis rally.

또한 바람직하게는, 상기 제어장치는, 상기 플레이어의 타격에 따라 상기 카메라 유닛 및 센싱처리유닛에 의해 센싱된 볼에 대응하여 영상 상에서 시뮬레이션 되는 가상의 볼이 인플레이인지 판단하여, 인플레이인 경우 상기 인공지능에 따라 상기 가상의 상대방 플레이어가 타격하는 상기 가상의 볼의 운동 조건을 결정하며,Also, preferably, the control device determines whether the virtual ball simulated on the image is in-play corresponding to the ball sensed by the camera unit and the sensing processing unit according to the hit of the player. Determine the exercise condition of the virtual ball hit by the virtual opponent player according to,

상기 결정된 가상의 볼의 운동 조건에 따라 상기 볼 머신이 상기 플레이어에게 제공할 볼의 방향 및 속도를 설정하고, 상기 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신이 볼을 상기 설정된 볼의 방향 및 속도로 제공하도록 하여 상기 플레이어로 하여금 상기 볼 머신에서 발사된 볼을 타격하도록 하는 방식으로 상기 플레이어와 영상 상의 상기 가상의 상대방 플레이어가 테니스 랠리를 구현할 수 있도록 한 것을 특징으로 한다.The ball machine sets the direction and speed of the ball to be provided to the player according to the determined motion condition of the virtual ball, and the ball machine moves the ball on an extension line of the trajectory of the virtual ball hit by the virtual opponent. To provide the direction and speed of the set ball so that the player hits the ball fired from the ball machine, so that the player and the virtual counterpart player on the image can implement a tennis rally. do.

또한 바람직하게는, 상기 센싱처리유닛은, 상기 카메라 유닛에 의해 취득되는 이미지로부터 상기 플레이어에 해당하는 객체를 추출하여 분석함으로써 상기 플레이어의 위치를 검출하도록 구성되며, 상기 제어장치는, 상기 센싱처리유닛에 의해 검출되는 상기 플레이어의 위치에 기초하여 상기 인공지능이 상기 가상의 상대방 플레이어가 타격할 때의 가상의 볼의 운동 조건을 결정하도록 한 것을 특징으로 한다.Also preferably, the sensing processing unit is configured to detect the position of the player by extracting and analyzing an object corresponding to the player from the image acquired by the camera unit, and the control device is configured to detect the sensing processing unit. It is characterized in that the artificial intelligence to determine the motion conditions of the virtual ball when the virtual opponent player is hit based on the position of the player detected by the.

한편, 본 발명의 다른 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은, 플레이어가 테니스 플레이를 하는 코트바닥부의 전방에 구비되어 가상 테니스 시뮬레이션 영상이 투영되는 스크린; 상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신; 미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 카메라 유닛; 상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼에 대한 볼 운동 모델을 산출하며, 상기 취득된 이미지로부터 상기 플레이어에 해당하는 객체를 추출하여 분석함으로써 상기 플레이어의 위치를 검출하는 센싱처리유닛; 및 상기 센싱처리유닛에 의해 산출된 볼 운동 모델을 이용하여 상기 가상 테니스 시뮬레이션 영상의 생성 및 처리와 상기 볼 머신의 제어를 하며, 상기 센싱처리유닛에 의해 검출되는 상기 플레이어의 위치에 기초하여 상기 플레이어에게 제공되는 볼의 방향을 결정하고 그에 대응하여 상기 가상 테니스 시뮬레이션 영상의 처리 및 상기 볼 머신의 제어를 수행하는 제어장치를 포함한다.On the other hand, the virtual tennis simulation system according to another embodiment of the present invention, the screen is provided in front of the court floor portion where the player plays the tennis is a virtual tennis simulation image is projected; A ball machine provided at the rear of the screen to provide a ball to the player; A camera unit for continuously acquiring an image for a shooting range including a preset area; Sensing to detect the position of the player by extracting and analyzing the object corresponding to the ball from the acquired image to calculate the ball motion model for the ball, and extracting and analyzing the object corresponding to the player from the acquired image Processing unit; And generating and processing the virtual tennis simulation image and controlling the ball machine by using the ball motion model calculated by the sensing processing unit, and based on the position of the player detected by the sensing processing unit. And a controller configured to determine a direction of a ball provided to the user and to correspondingly process the virtual tennis simulation image and control the ball machine.

또한 바람직하게는, 상기 센싱처리유닛은, 상기 플레이어가 플레이하는 3차원 공간의 좌표계와 각 좌표축 방향에서의 볼의 운동에 대한 함수를 미리 정의하며, 상기 카메라 유닛에 의해 촬영되는 이미지를 분석하여 운동하는 볼에 대한 각 이미지 상에서의 3차원 공간상의 좌표 데이터를 검출하고, 상기 검출된 볼의 좌표 데이터를 상기 각 좌표축 방향에 대해 미리 정의된 함수에 적용함으로써 상기 플레이어에 의해 타격되어 운동하는 볼에 대한 볼 운동 모델을 산출하도록 구성되며, 상기 제어장치는, 가상의 상대방 플레이어와, 상기 플레이어가 플레이하는 코트바닥부와 대응하여 상기 가상의 상대방 플레이어가 플레이하는 가상의 코트에 관한 영상을 구현하며, 상기 센싱처리유닛에 의해 산출되는 볼 운동 모델에 기초하여 상기 가상의 상대방 플레이어로 운동하는 가상의 볼의 시뮬레이션 영상을 구현하도록 구성되는 것을 특징으로 한다.Also preferably, the sensing processing unit may predefine a function of the coordinate system of the three-dimensional space played by the player and the motion of the ball in each coordinate axis direction, and analyze the image photographed by the camera unit. Detecting coordinate data in three-dimensional space on each image for the ball to be applied, and applying the detected coordinate data of the ball to a predefined function for each coordinate axis direction for the ball hit by the player And a ball movement model, wherein the controller implements an image related to a virtual opponent's player and a virtual court played by the virtual opponent's player in correspondence with a court floor portion played by the player. The virtual counterpart player based on the ball motion model calculated by the sensing processing unit It characterized by configured to implement a simulation image of the virtual ball in exercising followed.

또한 바람직하게는, 상기 센싱처리유닛은, 상기 취득된 이미지로부터 추출되는 볼이, 상기 산출된 볼 운동 모델로부터 소정 범위를 벗어나는 경우, 상기 산출된 볼 운동 모델 내의 볼의 평균 높이를 산출하여 상기 산출된 볼의 평균 높이보다 아래에 위치하는 경우, 상기 산출된 볼 운동 모델의 평균 속도를 산출하여 상기 산출된 볼 운동 모델의 평균 속도보다 낮은 속도를 갖는 경우 중 적어도 한 가지 경우에 해당하는지 판단하여 그 해당하는 볼에 대해 상기 플레이어의 플레이에 이용되는 볼이 아닌 바닥볼로서 분류하도록 구성되며, 상기 제어장치는, 상기 센싱처리유닛에 의해 상기 바닥볼로 분류된 볼의 개수를 확인하고 상기 바닥볼로 분류된 볼의 개수가 미리 설정된 개수를 넘는 경우, 상기 플레이어에게 위험 경고를 위한 알람을 제공하거나 상기 볼 머신의 볼박스에 볼을 채울 것을 요청하는 알람을 제공하도록 구성되는 것을 특징으로 한다.Also preferably, the sensing processing unit may calculate the average height of the balls in the calculated ball movement model when the ball extracted from the acquired image is out of a predetermined range from the calculated ball movement model. If the ball is located below the average height of the calculated ball, the average speed of the calculated ball motion model is calculated to determine whether it is at least one of the cases having a speed lower than the average speed of the calculated ball motion model. It is configured to classify the corresponding ball as the floor ball, not the ball used in the player's play, the control device is to determine the number of the ball classified as the floor ball by the sensing processing unit and to the floor ball If the number of balls classified exceeds the preset number, the player is provided with an alarm for danger warning or It characterized by configured to provide an alarm for requesting to fill the ball to the ball of the ball machine box.

또한 바람직하게는, 상기 센싱처리유닛은, 상기 취득되는 매 프레임의 이미지로부터 각각 상기 플레이어를 검출함으로써 상기 플레이어의 위치를 추적하고, 상기 추적에 의해 상기 플레이어의 이동거리 및 상기 플레이어의 플레이 시간을 감지하며, 상기 감지된 이동거리 및 플레이 시간으로부터 상기 플레이어의 운동량을 산출하도록 구성되며, 상기 제어장치는, 상기 센싱처리유닛에 의해 산출되는 상기 플레이어의 운동량 정보를 영상 또는 음성을 통해 상기 플레이어에게 제공하도록 구성되는 것을 특징으로 한다.Also preferably, the sensing processing unit may track the position of the player by detecting the player from each of the acquired frames of images, and sense the moving distance of the player and the play time of the player by the tracking. And calculate the exercise amount of the player from the sensed movement distance and play time, and wherein the control device is configured to provide the player exercise amount information calculated by the sensing processing unit to the player through video or audio. It is characterized in that the configuration.

또한 바람직하게는, 상기 센싱처리유닛은, 상기 스크린과 인접한 미리 설정된 영역으로서 위험영역을 미리 설정하며, 상기 취득되는 매 프레임의 이미지 상에서 상기 위험영역에 해당하는 영역 내에서 객체를 감지하며 상기 감지된 객체로부터 인체를 검출하도록 구성되며, 상기 제어장치는, 상기 센싱처리유닛에 의해 상기 위험영역 내에서 인체가 검출되는 경우, 상기 볼 머신의 동작을 중지하도록 제어하는 것을 특징으로 한다.Also preferably, the sensing processing unit presets a dangerous area as a preset area adjacent to the screen, and detects an object in the area corresponding to the dangerous area on the image of every frame to be acquired. It is configured to detect a human body from the object, the control device, characterized in that the control to stop the operation of the ball machine, when the human body is detected in the dangerous area by the sensing processing unit.

한편, 본 발명의 또 다른 일 실시예에 따른 센싱장치는, 가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 코트바닥부 상에서 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템에 이용되는 센싱장치로서, 미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 카메라 유닛; 상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼에 대한 볼 운동 모델을 산출하며, 상기 취득된 이미지로부터 상기 플레이어에 해당하는 객체를 추출하여 분석함으로써 상기 플레이어의 위치를 검출하는 센싱처리유닛을 포함한다.Meanwhile, a sensing device according to another embodiment of the present invention is a sensing device used in a virtual tennis simulation system that allows a player to play tennis on a court floor based on a virtual tennis simulation image. A camera unit for continuously acquiring an image for a shooting range including a; Sensing to detect the position of the player by extracting and analyzing the object corresponding to the ball from the acquired image to calculate the ball motion model for the ball, and extracting and analyzing the object corresponding to the player from the acquired image And a processing unit.

또한 바람직하게는, 상기 카메라 유닛은, 서로 다른 위치에서 동일한 화각으로 이미지를 취득하는 제1 카메라 및 제2 카메라를 포함하여 스테레오 방식으로 구성되고, 상기 제1 카메라 및 제2 카메라는 상기 화각의 중심을 기준으로 전후방향 또는 좌우방향의 1축 틸팅 또는 전후방향 및 좌우방향의 2축 틸팅이 가능하도록 구성되며, 상기 제1 카메라 및 제2 카메라가 취득하는 이미지에서 검출되는 상기 플레이어의 위치에 따라 상기 제1 카메라 및 제2 카메라의 틸팅을 제어함으로써 상기 취득하는 이미지에서 상기 플레이어가 검출될 수 있도록 하는 카메라 제어부를 더 포함하는 것을 특징으로 한다.Also preferably, the camera unit may be configured in a stereo manner including a first camera and a second camera which acquire images at the same angle of view at different positions, wherein the first camera and the second camera are centers of the angle of view. 1 axis tilting in the front-rear direction or the left-right direction or 2-axis tilting in the front-rear direction and the left-right direction on the basis of the reference point, and according to the position of the player detected in the images acquired by the first camera and the second camera. And a camera controller for controlling the tilting of the first camera and the second camera to allow the player to be detected in the acquired image.

또한 바람직하게는, 상기 센싱처리유닛은, 상기 차영상의 추출 및 윤곽선의 검출에 의해 검출된 복수개의 객체에 대해 상기 객체의 크기 및 형태에 대해 미리 설정된 사항에 따라 기준 객체를 선정하고 상기 선정된 기준 객체를 포함하는 크기의 관심 영역을 설정하며, 상기 설정된 관심 영역 내에 존재하는 객체들을 하나의 픽셀 그룹으로 설정함으로써 상기 기준 객체를 기반으로 주변 객체를 일원화하여 상기 일원화된 객체의 유일성을 확인함으로써 상기 일원화된 객체를 상기 플레이어에 해당하는 객체로서 검출하도록 구성되는 것을 특징으로 한다.Also, preferably, the sensing processing unit selects the reference object based on a preset item for the size and shape of the object with respect to the plurality of objects detected by the extraction of the difference image and the detection of an outline. Setting a region of interest including a reference object and setting objects existing in the region of interest as one pixel group to unify surrounding objects based on the reference object to identify uniqueness of the united object; And detect the unitary object as an object corresponding to the player.

또한 바람직하게는, 상기 센싱처리유닛은, 미리 설정된 영역으로서 위험영역을 미리 설정하며, 상기 취득되는 매 프레임의 이미지 상에서 상기 위험영역에 해당하는 영역 내에서 객체를 감지하며 상기 감지된 객체의 크기 및 형태를 분석하여 인체에 해당하는지 판단함으로써 상기 플레이어가 아닌 제3자가 상기 카메라 유닛의 화각 내에 등장하였는지 감지하도록 구성되는 것을 특징으로 한다.Also preferably, the sensing processing unit may preset a dangerous area as a preset area, detect an object within the area corresponding to the dangerous area on the image of each frame to be acquired, and detect the size of the detected object and By analyzing the shape to determine whether it corresponds to the human body is characterized in that it is configured to detect whether a third person, not the player appeared in the angle of view of the camera unit.

또한 바람직하게는, 상기 센싱처리유닛은, 상기 카메라 유닛에 의해 실시간으로 취득되는 이미지와 상기 취득된 이미지의 이전에 취득된 이미지 중 차연산 할 이미지로서 선택된 이미지와의 고속차영상을 통해 상기 카메라 유닛의 이미지 취득 속도 이상으로 움직이는 객체를 라켓 객체로서 추출하며, 상기 고속차영상을 통해 추출되는 복수의 차영상 각각으로부터 추출되는 상기 라켓 객체를 분석하여 상기 라켓의 위치 및 이동 방향을 검출하여 상기 플레이어의 스윙이 포핸드인지 백핸드인지 여부를 검출하도록 구성되는 것을 특징으로 한다.Also preferably, the sensing processing unit may be configured to perform the camera unit through a high speed difference image between an image acquired in real time by the camera unit and an image selected as a difference operation image from a previously acquired image of the acquired image. Extracts an object moving above the image acquisition speed as a racket object, analyzes the racket object extracted from each of the plurality of difference images extracted through the high speed vehicle image, and detects the position and movement direction of the racket And detect whether the swing is forehand or backhand.

한편, 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템의 제어방법은, 플레이어가 테니스 플레이를 하는 코트바닥부와, 상기 코트바닥부의 전방에 구비되어 가상 테니스 시뮬레이션 영상이 투영되는 스크린과, 상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신과, 상기 플레이어 및 상기 플레이어가 플레이하는 볼에 대해 센싱하는 센싱장치와, 상기 가상 테니스 시뮬레이션 영상의 생성 및 처리와 상기 볼 머신의 제어를 하는 제어장치를 포함하는 가상 테니스 시뮬레이션 시스템의 제어방법으로서, 미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 단계; 상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼의 운동에 대한 센싱 데이터를 산출하는 단계; 상기 산출된 볼 운동에 대한 센싱 데이터를 이용하여 상기 볼 운동에 대응되도록 영상 상에서 가상의 볼이 가상의 상대방 플레이어가 있는 가상의 코트 쪽으로 이동하는 시뮬레이션 영상을 구현하는 단계; 미리 설정된 인공지능에 따라 상기 가상의 상대방 플레이어가 가상의 볼을 타격함에 따라 상기 타격된 가상의 볼이 이동하는 시뮬레이션 영상을 구현하는 단계; 및 상기 가상의 볼이 이동하는 연장선상에서 상기 볼 머신이 볼을 제공하여 상기 플레이어로 하여금 타격할 수 있도록 하는 방식으로, 상기 플레이어가 볼을 타격한 것에 대해 상기 가상의 상대방 플레이어가 가상의 볼을 타격하는 것을 반복하면서 상기 플레이어와 영상 상의 상기 가상의 상대방 플레이어가 테니스 랠리를 구현하는 단계를 포함한다.On the other hand, the control method of the virtual tennis simulation system according to an embodiment of the present invention, the court floor portion that the player plays the tennis, a screen provided in front of the court floor portion to project a virtual tennis simulation image, the screen A ball machine provided at the rear of the ball providing the ball to the player, a sensing device for sensing the player and the ball played by the player, generating and processing the virtual tennis simulation image, and controlling the ball machine. A control method of a virtual tennis simulation system including a control device, the control method comprising: continuously obtaining an image of a shooting range including a preset area; Calculating sensing data on the motion of the ball by extracting and analyzing an object corresponding to the ball from the acquired image; Implementing a simulation image in which a virtual ball moves toward a virtual court where a virtual opponent is located on the image so as to correspond to the ball movement by using the calculated sensing data for the ball movement; Implementing a simulation image in which the hit virtual ball moves as the virtual opponent player strikes the virtual ball according to a preset artificial intelligence; And the virtual opponent player hits the virtual ball in response to the player hitting the ball in such a manner that the ball machine provides the ball so that the player can hit the extension line on which the virtual ball moves. Repeating the step of implementing the tennis rally by the player and the virtual counterpart player on the image.

한편, 본 발명의 다른 일 실시예에 따른 가상 테니스 시뮬레이션 시스템의 제어방법은, 플레이어가 테니스 플레이를 하는 코트바닥부와, 상기 코트바닥부의 전방에 구비되어 가상 테니스 시뮬레이션 영상이 투영되는 스크린과, 상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신과, 상기 플레이어 및 상기 플레이어가 플레이하는 볼에 대해 센싱하는 센싱장치와, 상기 가상 테니스 시뮬레이션 영상의 생성 및 처리와 상기 볼 머신의 제어를 하는 제어장치를 포함하는 가상 테니스 시뮬레이션 시스템의 제어방법으로서, 미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 단계; 상기 취득된 이미지로부터 상기 플레이어에 해당하는 객체를 추출하여 분석함으로써 상기 플레이어의 위치를 검출하는 단계; 상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼의 운동에 대한 센싱 데이터를 산출하는 단계; 상기 산출된 볼 운동 센싱 데이터를 이용하여 상기 가상 테니스 시뮬레이션 영상을 생성 및 처리하는 단계; 및 상기 검출된 플레이어의 위치에 기초하여 상기 플레이어에게 제공되는 볼의 방향을 결정하고 그에 대응하여 상기 가상 테니스 시뮬레이션 영상을 처리하며 상기 볼 머신을 제어하는 단계를 포함한다.On the other hand, the control method of the virtual tennis simulation system according to another embodiment of the present invention, the court floor for the player to play the tennis, the screen is provided in front of the court floor and the virtual tennis simulation image is projected, A ball machine provided at the rear of the screen to provide a ball to the player, a sensing device for sensing the player and the ball played by the player, generation and processing of the virtual tennis simulation image, and control of the ball machine. A control method of a virtual tennis simulation system including a control device, the control method comprising: continuously acquiring an image of a shooting range including a preset area; Detecting a position of the player by extracting and analyzing an object corresponding to the player from the acquired image; Calculating sensing data on the motion of the ball by extracting and analyzing an object corresponding to the ball from the acquired image; Generating and processing the virtual tennis simulation image using the calculated ball motion sensing data; And determining a direction of a ball provided to the player based on the detected position of the player, processing the virtual tennis simulation image accordingly, and controlling the ball machine.

또한 바람직하게는, 상기 제어장치는 상기 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보를 미리 저장하며, 상기 가상 테니스 시뮬레이션 영상 상의 가상의 상대방 플레이어를 인공지능에 의해 제어하도록 구성되며, 상기 가상 테니스 시뮬레이션 영상을 처리하며 상기 볼 머신을 제어하는 단계는, 상기 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보와 상기 가상의 상대방 플레이어의 인공지능에 따라 상기 검출된 플레이어의 위치에 대응하여 상기 가상의 상대방 플레이어가 타격하는 가상의 볼에 따라 상기 플레이어에게 제공될 볼의 방향을 결정하는 단계와, 상기 결정되는 볼의 방향에 따라 상기 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 시뮬레이션 영상을 처리하는 단계와, 상기 볼 머신의 볼 발사 방향을 상기 결정된 볼의 방향에 대응하도록 설정하는 단계와, 상기 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신이 볼을 상기 결정된 볼의 방향으로 제공하도록 제어하는 단계를 포함하는 것을 특징으로 한다.Also preferably, the controller is configured to store in advance information on at least one of skill level, difficulty level, and play style of the player, and to control a virtual opponent player on the virtual tennis simulation image by artificial intelligence, The controlling of the ball machine by processing the virtual tennis simulation image may include: detecting the position of the player according to information on at least one of skill level, difficulty level, and play style of the player and artificial intelligence of the virtual opponent player; Determining the direction of the ball to be provided to the player according to the virtual ball hit by the virtual opponent player, and the virtual ball hit by the virtual opponent player according to the determined direction of the ball. Processing a simulation image of the trajectory; Setting the ball firing direction of the ball machine to correspond to the determined direction of the ball, and the ball machine moves the ball in the direction of the determined ball on an extension line to the trajectory of the virtual ball hit by the virtual opponent player. Controlling to provide.

또한 바람직하게는, 상기 제어장치는 상기 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보를 미리 저장하며, 상기 가상 테니스 시뮬레이션 영상을 처리하며 상기 볼 머신을 제어하는 단계는, 상기 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보에 따라 상기 검출된 플레이어의 위치에 대응하여 상기 볼 머신으로부터 상기 플레이어에게 제공될 볼의 방향을 결정하는 단계와, 상기 결정되는 볼의 방향에 따라 상기 가상 테니스 시뮬레이션 영상 상의 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 시뮬레이션 영상을 처리하는 단계와, 상기 볼 머신의 볼 발사 방향을 상기 결정된 볼의 방향에 대응하도록 설정하는 단계와, 상기 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신이 볼을 상기 결정된 볼의 방향으로 제공하도록 제어하는 단계를 포함하는 것을 특징으로 한다.Also preferably, the controller pre-stores information on at least one of skill level, difficulty level, and play style of the player, and processes the virtual tennis simulation image and controls the ball machine. Determining a direction of a ball to be provided from the ball machine to the player in response to the detected player position according to information on at least one of skill level, difficulty level, and play style; and according to the determined direction of the ball. Processing a simulation image of the trajectory of the virtual ball hit by the virtual opponent player on the virtual tennis simulation image, setting a ball firing direction of the ball machine to correspond to the determined ball direction; A description of the trajectory of an imaginary ball hit by an imaginary opponent. On board it characterized in that it comprises a step of controlling so as to provide that the ball machine seen in the direction of the determined view.

또한 바람직하게는, 상기 카메라 유닛에 의해 실시간으로 취득되는 이미지와 상기 취득된 이미지의 이전에 취득된 이미지 중 차연산 할 이미지로서 선택된 이미지와의 고속차영상을 통해 상기 카메라 유닛의 이미지 취득 속도 이상으로 움직이는 객체를 라켓 객체로서 추출하는 단계와, 상기 고속차영상을 통해 추출되는 복수의 차영상 각각으로부터 추출되는 상기 라켓 객체를 분석하여 상기 라켓의 위치 및 이동 방향을 검출하는 단계와, 상기 플레이어의 스윙이 포핸드인지 백핸드인지 여부 및 헛스윙 여부를 검출하는 단계를 더 포함하는 것을 특징으로 한다.Also preferably, the image acquisition speed of the camera unit may be higher than or equal to the image acquisition speed of the camera unit through a high speed difference image between the image acquired in real time by the camera unit and the image selected as an image to be computed from a previously acquired image of the acquired image. Extracting a moving object as a racket object, analyzing the racket object extracted from each of a plurality of difference images extracted through the high-speed vehicle image, and detecting a position and a moving direction of the racket, and swinging the player And detecting whether the hand is a forehand or a backhand.

한편, 본 발명의 일 실시예에 따른 센싱방법은, 가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 코트바닥부 상에서 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템에 이용되는 센싱장치의 센싱방법으로서, 미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 실시간으로 취득하는 단계; 미리 준비된 배경 이미지와 상기 실시간으로 취득되는 이미지 각각과의 차영상을 추출하고, 상기 추출된 차영상으로부터 검출되는 각각의 객체의 윤곽선을 검출하는 단계; 상기 윤곽선이 검출된 복수개의 객체 중 미리 설정된 범위 내의 객체들을 일원화함으로써 상기 플레이어에 해당하는 객체를 추출하여 상기 플레이어의 위치를 검출하는 단계; 및 상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼에 대한 볼 운동 모델을 산출하는 단계를 포함한다.Meanwhile, a sensing method according to an embodiment of the present invention is a sensing method of a sensing device used in a virtual tennis simulation system that allows a player to play tennis on a court floor based on a virtual tennis simulation image. Acquiring in real time an image of a shooting range including an area; Extracting a difference image between a background image prepared in advance and each of the images acquired in real time, and detecting an outline of each object detected from the extracted difference image; Detecting the position of the player by extracting an object corresponding to the player by unifying objects within a preset range among the plurality of objects whose contours are detected; And calculating a ball motion model for the ball by extracting and analyzing an object corresponding to the ball from the acquired image.

또한 바람직하게는, 상기 플레이어의 위치를 검출하는 단계는, 상기 차영상의 추출 및 윤곽선의 검출에 의해 검출된 복수개의 객체에 대해 상기 객체의 크기 및 형태에 대해 미리 설정된 사항에 따라 기준 객체를 선정하는 단계와, 상기 선정된 기준 객체를 포함하는 크기의 관심 영역을 설정하는 단계와, 상기 설정된 관심 영역 내에 존재하는 객체들을 하나의 픽셀 그룹으로 설정함으로써 상기 기준 객체를 기반으로 주변 객체를 일원화하는 단계와, 상기 일원화된 객체의 유일성을 확인하여 상기 일원화된 객체를 상기 플레이어에 해당하는 객체로서 검출하는 단계를 포함하는 것을 특징으로 한다.Also preferably, the detecting of the position of the player may include selecting a reference object according to a preset item for the size and shape of the object with respect to the plurality of objects detected by extraction of the difference image and detection of an outline. Setting a region of interest of a size including the selected reference object, and unifying neighboring objects based on the reference object by setting objects existing in the set region of interest as one pixel group. And detecting the unity of the unified object and detecting the unified object as an object corresponding to the player.

또한 바람직하게는, 상기 플레이어의 위치를 검출하는 단계는, 상기 추출된 플레이어에 해당하는 객체의 무게중심을 상기 플레이어의 예상 위치로서 산출하는 단계와, 상기 산출된 볼 운동 모델의 초기 위치와 상기 산출된 플레이어의 예상 위치가 미리 설정된 거리 이하인 경우에 상기 산출된 플레이어의 예상 위치를 상기 플레이어의 위치로서 결정하는 단계를 포함하는 것을 특징으로 한다.Also preferably, the detecting of the position of the player may include calculating a center of gravity of an object corresponding to the extracted player as an estimated position of the player, initial position of the calculated ball movement model and the calculation. And if the estimated position of the player is less than or equal to a predetermined distance, determining the calculated estimated position of the player as the position of the player.

본 발명에 따른 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법은, 테니스라는 역동적인 스포츠의 특성을 플레이어가 경험하면서 또한 여러 가지 정보를 제공받을 수 있도록 하기 위한 가상 테니스 시뮬레이션 시스템을 제공하기 위한 것이며, 플레이어가 타격한 볼에 대한 센싱은 물론 상기 플레이어의 움직임에 대한 센싱 및 분석 등 다양한 정보의 센싱과 분석을 통해 종래의 스크린 테니스에서는 구현할 수 없었던 역동적이고 현실감 있는 가상의 테니스 플레이를 제공하며 플레이어에게 가상의 테니스 플레이에 대한 다양한 분석 정보를 제공함으로써 가상의 테니스 플레이를 즐기는 플레이어로 하여금 흥미를 향상시킬 수 있는 효과가 있다.The virtual tennis simulation system, the sensing device and the sensing method used according to the present invention, to provide a virtual tennis simulation system for allowing a player to experience the characteristics of the dynamic sport of tennis and to receive various information Through sensing and analyzing various information such as sensing and analyzing the movement of the player as well as sensing the ball hit by the player, it provides a dynamic and realistic virtual tennis play that could not be realized in conventional screen tennis. By providing the user with various analysis information about the virtual tennis play, the player who enjoys the virtual tennis play can improve the interest.

도 1은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템으로서 스크린 테니스 시스템이 구현된 예를 나타낸 것이다.
도 2는 도 1에 도시된 가상 테니스 시뮬레이션 시스템의 스크린 및 그 주변의 구성에 관하여 나타낸 도면이다.
도 3은 도 1에 도시된 가상 테니스 시뮬레이션 시스템에서 제공하는 영상 컨텐츠의 일 예를 나타낸 도면이다.
도 4는 도 1에 도시된 가상 테니스 시뮬레이션 시스템의 구성을 나타낸 블록도이다.
도 5 및 도 6은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템에 이용되는 센싱장치의 센싱방법에 관한 플로세스를 나타내는 플로우차트이다.
도 7 및 도 8은 각각 촬영된 이미지에서 플레이어 및 그 이외의 제3자를 검출하는 것의 일 예에 대해 나타낸 도면들이다.
도 9는 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템에 이용되는 센싱장치의 라켓 검출에 대한 프로세스를 설명하는 플로우차트이다.
도 10은 도 9에 도시된 플로우차트에 따라 촬영된 이미지에서 사용자가 들고 있는 라켓을 검출하는 과정을 나타낸 도면이다.
도 11은 도 10에 도시된 과정에 따라 각각 검출된 라켓에 해당하는 오브젝트로서 각 오브젝트의 동작을 시계열적으로 나타낸 도면이다.
도 12는 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템에서 플레이어(P)와 영상 상의 가상의 상대방 플레이어(VP) 사이의 플레이와 이에 따른 볼 머신의 구동에 관하여 설명하기 위한 도면이다.
1 shows an example in which a screen tennis system is implemented as a virtual tennis simulation system according to an embodiment of the present invention.
FIG. 2 is a diagram showing the configuration of the screen and the surroundings of the virtual tennis simulation system shown in FIG. 1.
3 is a diagram illustrating an example of image content provided by the virtual tennis simulation system shown in FIG. 1.
4 is a block diagram showing the configuration of the virtual tennis simulation system shown in FIG.
5 and 6 are flowcharts illustrating a process relating to a sensing method of a sensing device used in a virtual tennis simulation system according to an embodiment of the present invention.
7 and 8 are diagrams illustrating an example of detecting a player and another third party in the captured image, respectively.
9 is a flowchart illustrating a process for detecting a racket of a sensing device used in a virtual tennis simulation system according to an embodiment of the present invention.
FIG. 10 is a diagram illustrating a process of detecting a racket held by a user from an image captured according to the flowchart shown in FIG. 9.
FIG. 11 is a time series diagram illustrating an operation of each object as an object corresponding to a racket detected according to the process illustrated in FIG.
12 is a view for explaining the play between the player (P) and the virtual opponent player (VP) on the image and the driving of the ball machine in the virtual tennis simulation system according to an embodiment of the present invention.

본 발명에 따른 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법에 대한 구체적인 내용을 도면을 참조하여 설명하도록 한다.A detailed description of the virtual tennis simulation system according to the present invention, a sensing apparatus and a sensing method used therein will be described with reference to the drawings.

먼저, 도 1 내지 도 4를 참조하여 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템의 구성에 관하여 설명한다.First, a configuration of a virtual tennis simulation system according to an embodiment of the present invention will be described with reference to FIGS. 1 to 4.

도 1은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템으로서 스크린 테니스 시스템이 구현된 예를 나타낸 것이고, 도 2는 도 1에 도시된 가상 테니스 시뮬레이션 시스템의 스크린 및 그 주변의 구성에 관하여 나타낸 도면이며, 도 3은 도 1에 도시된 가상 테니스 시뮬레이션 시스템에서 제공하는 영상 컨텐츠의 일 예를 나타낸 도면이고, 도 4는 도 1에 도시된 가상 테니스 시뮬레이션 시스템의 구성을 나타낸 블록도이다.1 is a view showing an example of a screen tennis system implemented as a virtual tennis simulation system according to an embodiment of the present invention, Figure 2 is a view showing the configuration of the screen and the surroundings of the virtual tennis simulation system shown in FIG. 3 is a diagram illustrating an example of image content provided by the virtual tennis simulation system illustrated in FIG. 1, and FIG. 4 is a block diagram illustrating a configuration of the virtual tennis simulation system illustrated in FIG. 1.

도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은 소정의 공간에 코트바닥부(30) 및 네트(32), 그리고 플레이어(P)의 전방에 스크린(20)을 구비하고, 상기 스크린(20)의 뒷쪽에는 라켓을 들고 테니스 플레이를 하는 플레이어(P)에게 상기 플레이어(P)가 타격할 수 있도록 볼을 제공하는 볼 머신(100)이 설치되며, 공간의 일측에 상기 스크린(20)에 영상을 투영하는 영상출력부(420)와 플레이어(P)가 타격하는 볼과 플레이어(P)의 움직임, 플레이어(P)가 사용하는 라켓 등에 대한 센싱 데이터를 수집하는 센싱장치(200)가 설치되어 구성될 수 있다.As shown in FIG. 1, the virtual tennis simulation system according to an embodiment of the present invention provides a screen 20 in front of the player floor with the court floor 30 and the net 32 in a predetermined space. It is provided with a ball machine 100 is provided on the back of the screen 20 to provide a ball for the player (P) to hit the player (P) holding a racket and play tennis, on one side of the space Sensing device for collecting the sensing data for the image output unit 420 for projecting the image on the screen 20, the ball hit by the player (P) and the movement of the player (P), the racket used by the player (P) 200 may be installed and configured.

상기 볼 머신(100), 센싱장치(200) 및 영상출력부(420) 등의 장치는 제어장치(300)와 연결되며, 상기 제어장치(300)는 상기 센싱장치(200)의 센싱 데이터를 전달받아 처리하며 사용자의 가상 테니스 연습 및 경기를 위한 영상 컨텐츠를 생성하여 상기 영상출력부(420)로 전달하고, 상기 영상출력부(420)는 상기 전달받은 영상 컨텐츠를 스크린(20)에 투영하며, 상기 볼 머신(100)의 볼 발사 및 발사되는 볼의 방향, 속도 등의 볼 발사 파라미터의 제어를 수행한다.Devices such as the ball machine 100, the sensing device 200, and the image output unit 420 are connected to the control device 300, and the control device 300 transmits sensing data of the sensing device 200. It receives and processes and generates the image content for the user's virtual tennis practice and game to deliver to the image output unit 420, the image output unit 420 projects the received image content on the screen 20, The ball firing of the ball machine 100 and the control of the ball firing parameters, such as the direction, the speed of the ball to be fired.

상기 볼 머신(100)은 스크린(20)의 뒷쪽에 설치되어 상기 스크린(20)에 형성된 볼 발사홀(22)을 통해 코트바닥부(30) 상의 미리 계산된 위치로 볼(1)을 발사하도록 구성되며, 도 1에 도시된 바와 같이 상기 볼 머신(100)은 다양한 위치로 다양한 속도의 볼(1)을 발사할 수 있도록 발사각 제어 및 발사속도 제어가 가능하도록 구성된다.The ball machine 100 is installed at the rear of the screen 20 to shoot the ball 1 to a pre-computed position on the court bottom 30 through the ball firing hole 22 formed in the screen 20. As shown in FIG. 1, the ball machine 100 is configured to enable firing angle control and firing speed control so as to launch balls 1 of various speeds at various positions.

도 2에서는 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템을 실제 구현하여 스크린(20) 주변의 구성에 대해 촬영된 사진을 나타낸다.2 shows a photograph taken of the configuration around the screen 20 by actually implementing a virtual tennis simulation system according to an embodiment of the present invention.

도 2에 도시된 바와 같이, 볼 발사홀(22)은 스크린(20) 상의 대략 중간 정도의 위치에 구비될 수 있다. 물론 스크린(20) 상의 어느 위치에든 설치될 수 있으나 다양한 궤적의 볼에 대한 (상대방 플레이어의) 리시브를 구현함에 있어서 도 2에 도시된 바와 같이 대략 중간 정도의 위치가 바람직하다.As shown in FIG. 2, the ball firing hole 22 may be provided at an approximately intermediate position on the screen 20. Of course, it can be installed at any position on the screen 20, but in the implementation of receiving (relative player's) to the ball of various trajectories, an approximately intermediate position is preferable as shown in FIG.

스크린(20)의 앞쪽에는 사용자가 스크린(20)을 향하여 타격한 볼이 스크린(20)에 충돌한 후 다시 사용자 쪽으로 굴러오지 않고 다시 볼 머신(100) 쪽으로 회수될 수 있도록 네트(32)와 경사 구조로 설치되는 바닥 그물망(32a) 등이 설치될 수 있으며 양 측면에는 외부로 볼이 튀어 나가지 않도록 안전그물망(33, 34)이 설치됨이 바람직하다.The front of the screen 20 is inclined with the net 32 so that the ball hit by the user towards the screen 20 can be recovered back toward the ball machine 100 without hitting the screen 20 and then rolling back to the user. The bottom net 32a, etc., which are installed as a structure, may be installed, and safety nets 33 and 34 may be installed on both sides thereof so that balls do not protrude to the outside.

상기 네트(32) 및 바닥 그물망(32a)에 의해 모이는 볼(2)은 스크린(20) 하단의 회수구(40) 쪽으로 모여서 다시 볼 머신 쪽으로 이송될 수 있도록 구성할 수 있다.The balls 2 gathered by the net 32 and the bottom net 32a may be configured to be collected toward the recovery port 40 at the bottom of the screen 20 and then transferred back to the ball machine.

한편, 도 3은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템에서 제공하는 영상 컨텐츠의 일 예를 나타낸다.3 illustrates an example of image content provided by a virtual tennis simulation system according to an embodiment of the present invention.

도 3에 도시된 바와 같이, 전체 영상(IM)에는 메인 영상(500)과 미니맵 영상(600)이 포함된다.As shown in FIG. 3, the entire image IM includes a main image 500 and a minimap image 600.

메인 영상(500)은 사용자가 플레이하는 코트바닥부의 반대쪽 부분에 대한 가상 환경이 구현되고 가상의 상대방 플레이어(VP), 심판 등에 대한 컨텐츠 영상이 포함될 수 있다.The main image 500 may implement a virtual environment for the opposite side of the court floor that the user plays, and may include a content image of the virtual opponent player VP, the referee, and the like.

메인 영상(500)에서 마치 실제 테니스 매치에서 상대방이 플레이하듯, 가상의 상대방 플레이어(VP)는 미리 설정된 인공지능(이하 "AI"라 칭하기로 한다)에 따라 가상의 볼(VB)을 리시브(타격)하며, 이때 도 3에 도시된 바와 같이 가상의 상대방 플레이어(VP)가 타격한 가상의 볼(VB)의 궤적(Tb)이 표시될 수도 있고 표시되지 않도록 할 수도 있다. 궤적의 표시 여부와는 상관없이 가상의 볼(VB)의 궤적은 계산되어야 하고 그 궤적에 따라 영상 컨텐츠의 제어 및 볼 머신에서의 볼 발사 파라미터가 산출되어 구현될 수 있다. 이에 대한 구체적인 설명은 후술하도록 한다.In the main video 500, as if the opponent is playing in a real tennis match, the virtual opponent player VP receives the virtual ball VB according to a predetermined artificial intelligence (hereinafter referred to as "AI"). In this case, as shown in FIG. 3, the trajectory Tb of the virtual ball VB hit by the virtual opponent player VP may or may not be displayed. Regardless of whether or not the trajectory is displayed, the trajectory of the virtual ball VB should be calculated, and the control of the image content and the ball firing parameter in the ball machine may be calculated and implemented according to the trajectory. Detailed description thereof will be described later.

한편, 미니맵 영상(600)은 사용자가 플레이하는 코트바닥부 및 반대쪽 부분의 가상 환경에 관한 부분을 하나의 전체 테니스 코트로 하여 이를 위에서 바라본 평면도로써 소정 크기로 축소하여 표시되는 부분이다.On the other hand, the mini-map image 600 is a part that is displayed by reducing the size of the court floor and the opposite part of the virtual environment that the user plays as one entire tennis court to a predetermined size as a plan view from above.

상기 미니맵 영상(600) 부분에는 사용자의 현재 위치, 사용자를 기준으로 하는 설정된 영역, 가상 플레이어의 공간상의 위치와 궤적, 볼의 위치 등 다양한 정보가 표시될 수 있다. The minimap image 600 may display various information such as the current location of the user, a set area based on the user, the location and trajectory of the virtual player, and the location of the ball.

한편, 도 4를 참조하여 상기 도 1에 도시된 바와 같은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템을 구성하는 각 구성요소들의 제어 계통에 관하여 설명하도록 한다.On the other hand, with reference to Figure 4 will be described with respect to the control system of the components constituting the virtual tennis simulation system according to an embodiment of the present invention as shown in FIG.

도 4에 도시된 바와 같이 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은, 볼 머신(100), 센싱장치(200), 제어장치(300) 및 영상출력부(420)를 포함하여 구성될 수 있다.As shown in FIG. 4, a virtual tennis simulation system according to an embodiment of the present invention includes a ball machine 100, a sensing device 200, a control device 300, and an image output unit 420. Can be.

상기 제어장치(300)는 데이터저장부(320), 영상처리부(330), 제어부(310) 등을 포함하여 구비될 수 있으며, 상기 영상출력부(420)는 상기 영상처리부(330)에 의해 처리된 영상이 스크린(20) 상에 투영될 수 있도록 하는 프로젝션 장치 등에 의해 구현될 수 있다.The control device 300 may include a data storage 320, an image processor 330, a controller 310, and the image output unit 420 is processed by the image processor 330. The image may be implemented by a projection device or the like for projecting the image on the screen 20.

상기 데이터저장부(320)는 가상 테니스 시뮬레이션 시스템에서 이루어지는 테니스 연습 또는 경기에 관한 배경 영상, 가상의 플레이어에 대한 영상, 타격된 볼 등에 대한 시뮬레이션 영상 등의 처리를 위한 데이터가 저장되는 부분이다. 상기 데이터저장부(320)는 서버(미도시)로부터 전송받은 데이터를 일시적으로 저장하는 저장소 역할을 하는 것으로 구성될 수도 있다.The data storage unit 320 is a part for storing data for processing a background image of a tennis practice or a game, a video for a virtual player, a simulation video for a hit ball, and the like, which are performed in a virtual tennis simulation system. The data storage unit 320 may be configured to serve as a storage for temporarily storing data received from a server (not shown).

상기 영상처리부(330)는 가상의 테니스장에 관한 영상, 선수와 심판, 관객 등에 관한 영상 등의 백그라운드 영상과 가상의 상대방 플레이어가 볼을 타격하는 영상, 플레이어가 타격한 볼의 궤적에 대한 시뮬레이션 영상 등 각종 시뮬레이션 관련 영상을 생성한다.The image processor 330 may include a background image of a virtual tennis court, a background image of a player, a referee, an audience, and the like, an image of a virtual counterpart player hitting the ball, a simulation image of the trajectory of the ball hit by the player, and the like. Generates various simulation related images.

한편, 상기 센싱장치(200)는 플레이어가 라켓으로 타격하는 것에 대한 이미지를 연속적으로 촬영하여 그 촬영된 이미지들을 분석함으로써 타격된 볼의 운동 정보는 물론, 그 타격된 볼이 스크린 상의 어느 부분에 도달하는지 정확하게 센싱하는 카메라 센싱 방식의 장치로서 구성할 수 있다.Meanwhile, the sensing device 200 continuously photographs an image of the player hitting the racket and analyzes the captured images, as well as the motion information of the hitting ball, and the hitting ball reaches a part of the screen. It can be configured as a device of the camera sensing method that senses correctly.

상기 센싱장치(300)는 카메라유닛(210), 센싱처리유닛(220) 및 카메라 제어부(230)를 포함하여 구성될 수 있는데, 상기 카메라유닛(210)은 미리 설정된 영역을 포함하는 일정 촬영 범위에 대한 이미지를 연속적으로 취득하며, 상기 센싱처리유닛(220)은 상기 카메라유닛(210)으로부터 이미지를 전달받아 미리 설정된 사항에 따른 이미지 분석을 수행하여 상기 가상 테니스 시뮬레이션에 따른 테니스 연습 또는 테니스 경기에 필요한 정보를 산출한다.The sensing device 300 may include a camera unit 210, a sensing processing unit 220, and a camera controller 230, and the camera unit 210 may be in a predetermined shooting range including a preset area. Image is continuously obtained, and the sensing processing unit 220 receives the image from the camera unit 210 and performs an image analysis according to a preset matter, which is required for tennis practice or tennis match according to the virtual tennis simulation. Calculate the information.

상기 센싱장치(200)의 카메라유닛(210)은 서로 다른 위치에서 동일한 촬영 범위를 각각 촬영하여 촬영된 이미지 상의 객체에 대한 3차원 위치 정보를 산출해 낼 수 있도록 제1 카메라(211) 및 제2 카메라(212)를 포함하여 스테레오 방식(Stereoscopic)으로 구성함으로써, 상기 센싱처리유닛(220)이 상기 카메라유닛(210)이 촬영한 이미지의 분석을 통해 볼에 대한 3차원 좌표 데이터를 얻을 수 있도록 함이 바람직하다.The camera unit 210 of the sensing device 200 photographs the same photographing range at different locations, respectively, to calculate three-dimensional position information of the object on the photographed image. By configuring the stereoscopic method including the camera 212, the sensing processing unit 220 to obtain the three-dimensional coordinate data for the ball through the analysis of the image taken by the camera unit 210 This is preferred.

도면상으로 도시되어 있지는 않지만, 본 발명에 따른 시스템에 구비되는 센싱장치(200)의 카메라유닛(210)은 그 화각의 중심을 기준으로 전후좌우로 각각 틸팅 가능하도록 구성될 수 있으며, 제1 카메라(211) 및 제2 카메라(212)는 각각 자동으로 줌인-줌아웃이 가능하도록 구성될 수 있다.Although not shown in the drawings, the camera unit 210 of the sensing device 200 provided in the system according to the present invention may be configured to be capable of tilting back, forth, left, and right, respectively, based on the center of the angle of view, and the first camera. The 211 and the second camera 212 may be configured to automatically zoom in-zoom out, respectively.

상기 카메라 제어부(230)는 상기 제1 카메라(211) 및 제2 카메라(212) 각각의 전후좌우 틸팅 및 줌인-줌아웃을 이미지의 처리 결과에 따라 또는 촬영된 이미지에서 플레이어가 검출되는 위치에 따라 미리 설정된 프로그램에 따라 제어하도록 구성될 수 있다.The camera controller 230 may tilt the front, rear, left, and right sides of the first camera 211 and the second camera 212 in advance according to the processing result of the image or the position where the player is detected in the captured image. It can be configured to control according to the set program.

상기 제1 카메라(211) 및 제2 카메라(212)가 각각 전후 방향 또는 좌우 방향으로의 1축 방향 틸팅을 하도록 구성하는 것도 가능하다.The first camera 211 and the second camera 212 may be configured to tilt in one direction in the front-rear direction or the left-right direction, respectively.

3차원 공간에서 상기 각 카메라의 위치 정보와 카메라의 화각을 참조하여, 3차원 공간에서 특정 영역별 카메라의 pan 과 zoom 값을 갖고 있는 데이터 테이블을 제작하여 미리 저장해 놓고, 이를 기반으로 플레이어의 위치 정보가 검출되었을 때 각각의 카메라가 해당 위치를 겨냥하도록 상기 카메라 제어부(230)가 제어하도록 하는 것이 가능하다.By referring to the location information of each camera and the angle of view of the camera in a three-dimensional space, a data table having pan and zoom values of the camera for each specific area in a three-dimensional space is produced and stored in advance. Is detected, it is possible for the camera controller 230 to control each camera to target the corresponding position.

따라서, 사용자가 코트바닥부에서 다이나믹하게 움직이면서 다양한 위치로 발사되는 볼을 타격하는 것을 모두 정확하게 포착하여 센싱 데이터 수집을 위한 이미지를 취득할 수 있다.Therefore, it is possible to accurately capture all the hits of the ball fired at various positions while the user dynamically moves on the bottom of the court to acquire an image for sensing data collection.

상기 센싱처리유닛(220)은 상기 카메라유닛(210)의 제1 카메라(211) 및 제2 카메라(212) 각각으로부터 촬영된 이미지를 전달받아 수집하면서 그 수집된 이미지 각각을 분석하여 볼을 찾아 각 볼에 대한 3차원 좌표 데이터를 추출하고 그 추출된 3차원 좌표 데이터를 이용하여 (플레이어의 라켓에 의해) 타격되어 운동하는 볼에 대한 볼의 운동 모델을 결정하며, 볼의 운동 모델이 결정되면 이를 이용하여 상기 가상 테니스 시뮬레이션을 통한 테니스 연습 및 테니스 경기에 필요한 각종 정보를 산출한다.The sensing processing unit 220 receives and collects images captured from each of the first camera 211 and the second camera 212 of the camera unit 210 and analyzes each of the collected images to find a ball. The 3D coordinate data of the ball is extracted and the extracted 3D coordinate data is used to determine the motion model of the ball with respect to the ball being hit and moved (by the racket of the player). Using the virtual tennis simulation to calculate the various information necessary for the tennis practice and tennis game.

여기서, 볼의 운동 모델은 타격되어 운동하는 볼의 3차원 공간 상에서의 궤적에 관한 운동 방정식으로 표현되는 것을 의미하며, 도 1에 도시된 바와 같이 본 발명에 따른 시스템에 의한 테니스 연습 또는 경기가 이루어지는 공간에 대해 x축, y축 및 z축의 3차원 좌표계로 정의하여 그 정의된 좌표계에 따라 상기 볼의 운동 모델이 결정될 수 있다. Here, the motion model of the ball means that it is represented by the equation of motion relating to the trajectory on the three-dimensional space of the ball to be hit and move, as shown in FIG. By defining the three-dimensional coordinate system of the x-axis, y-axis and z-axis with respect to space, the motion model of the ball can be determined according to the defined coordinate system.

즉, 상기 볼의 운동 모델은 x축 방향의 운동 방정식, y축 방향의 운동 방정식 및 z축 방향의 운동 방정식으로 정의될 수 있다. That is, the motion model of the ball may be defined as a motion equation in the x-axis direction, a motion equation in the y-axis direction, and a motion equation in the z-axis direction.

상기한 바와 같은 볼의 운동 모델 산출은 종래의 스크린 골프 시스템 등에서 센서가 골프클럽으로 타격된 볼의 운동을 센싱하여 센싱데이터를 산출하는 것과는 완전히 다른 것이다.The calculation of the motion model of the ball as described above is completely different from that in the conventional screen golf system or the like that the sensor senses the motion of the ball hit by the golf club to calculate the sensing data.

종래의 스크린 골프 시스템 등에서도 카메라 방식의 센싱장치가 널리 이용되고 있지만 상기 센싱장치는 볼이 타격되었을 때의 출발 속도, 출발 방향각 및 높이각 등 초기 운동 조건을 산출하여 가상의 공간, 즉 가상의 골프코스에서 상기 산출한 초기 운동 조건에 따라 볼이 출발하였을 때 물리엔진에 의해 시뮬레이션 되는 볼의 궤적을 산출하는 방식이었다.Although a camera-type sensing device is widely used in a conventional screen golf system, the sensing device calculates initial motion conditions such as starting speed, starting direction angle, and height angle when the ball is hit, and thus, virtual space, that is, virtual In the golf course, the ball trajectories simulated by the physics engine when the ball starts according to the calculated initial motion conditions were calculated.

그러나, 본 발명에 따른 가상 테니스 시뮬레이션 시스템의 센싱장치가 산출하는 볼의 운동 모델은 볼이 타격되었을 때의 초기 운동 조건을 산출하는 것이 아니라 실제 플레이어가 플레이하는 공간, 즉 실제 3차원 공간 상에서의 각 좌표축 방향의 운동 방정식에 기초하여 산출하는 볼의 운동 모델로서 실제 볼이 이동하는 모델을 구하는 것이다.However, the motion model of the ball calculated by the sensing device of the virtual tennis simulation system according to the present invention does not calculate the initial motion condition when the ball is hit, but the angle in the space where the actual player plays, that is, the actual three-dimensional space. It is to find a model in which a ball actually moves as a motion model of a ball calculated based on a motion equation in the coordinate axis direction.

이러한 볼의 운동 모델을 산출함으로써 단순히 볼의 초기 운동 조건을 센싱하여 산출하는 경우보다 더 다양하고 많은 정보의 제공이 가능하고, 특히 가상 테니스 시뮬레이션과 같이 현실과 가상의 세계가 자주 교차하고 더욱 긴밀하게 연결되어야 하는 경우에 있어서는 더욱 적합한 센싱 방식이다.By calculating the motion model of the ball, it is possible to provide more diverse and more information than simply calculating the initial motion condition of the ball, and in particular, the real world and the virtual world frequently cross each other more closely, such as virtual tennis simulation. It is a more suitable sensing method when it is necessary to be connected.

예컨대, 상기한 볼의 운동 모델 산출이 실제 플레이가 이루어지는 3차원 공간 상에서의 볼 운동 모델이기 때문에 볼이 실제 스크린에 도달하는 위치 등을 쉽게 산출할 수 있으며, 스크린 도달 위치의 산출을 통해 실제 볼이 스크린에 도달한 후 그 위치부터 가상의 볼이 시뮬레이션되도록 하는 영상을 구현함으로써 현실과 가상의 세계가 자연스럽게 연결되도록 할 수 있다.For example, since the above-described motion model calculation of the ball is a ball motion model in a three-dimensional space in which actual play is performed, the position at which the ball reaches the actual screen can be easily calculated. After reaching the screen, the virtual ball can be simulated from the location, so that the real world and the virtual world can be connected naturally.

물론 별도의 장치로 운동하는 볼이 스크린에 도달하는 위치를 감지할 수도 있지만, 본 발명은 볼의 운동을 감지하는 센싱장치만으로도 그렇게 할 수 있다는 점이 특장점인 것이다.Of course, it is also possible to sense the position where the ball moving to a separate device reaches the screen, the present invention is that it is possible to do so only by the sensing device for detecting the movement of the ball.

상기한 볼의 운동 모델의 산출에 대한 좀 더 구체적인 내용은 후술하도록 한다.More specific details of the calculation of the above-described motion model of the ball will be described later.

한편, 상기 볼 머신(100)은 스크린(20)의 후면에 설치되어 스크린(20) 상의 볼 발사홀(22)을 통해 볼을 발사하는 장치로서, 도 4에 도시된 바와 같이 볼 공급부(110), 발사 구동부(120) 및 발사 제어부(130)를 포함하여 구성될 수 있다.On the other hand, the ball machine 100 is installed on the back of the screen 20 is a device for firing the ball through the ball launch hole 22 on the screen 20, as shown in Figure 4 ball supply unit 110 It may be configured to include a launch driver 120 and the launch control unit 130.

상기 볼 공급부(110)는 다수의 볼이 보관된 보관함에서 볼을 하나씩 이송하여 발사 구동부(120)로 공급하는, 즉 볼 발사를 위한 위치로 볼을 공급하는 구성요소이다.The ball supply unit 110 is a component that transfers the balls one by one from the storage box in which a plurality of balls are stored and supplies them to the launch driver 120, that is, supplies the balls to a position for ball launch.

상기 발사 구동부(120)는 상기 볼 공급부(110)에 의해 공급된 볼을 발사하는 구성요소로서, 두 개 이상의 휠을 회전시키고 그 휠들 사이에 볼을 위치시켜 상기 휠들의 회전력에 의해 볼을 발사하는 방식, 볼을 마치 총알처럼 발사시키는 방식 등 다양한 방식에 의해 구현될 수 있다.The launch driver 120 is a component for launching a ball supplied by the ball supply unit 110, and rotates two or more wheels and positions the ball between the wheels to launch the ball by the rotational force of the wheels. It can be implemented in a variety of ways, such as shooting a ball like a bullet.

상기 발사 제어부(130)는 미리 설정된 발사조건, 또는 가상 테니스 상의 가상의 상대방 플레이어에 대해 미리 설정된 AI에 따라 결정되는 타격조건 및 타격된 볼의 궤적 등에 따라 발사 구동부(120)를 제어하여 그 설정된 타격조건 상의 볼의 속도, 구질 등을 제어하여 볼 발사가 이루어지도록 할 수 있다.The firing control unit 130 controls the firing driving unit 120 according to a predetermined firing condition or a blow condition determined according to a predetermined AI for the virtual opponent player on the virtual tennis and the trajectory of the hit ball. The speed, pitch, and the like of the conditional ball can be controlled to allow the ball to be fired.

또한, 상기한 볼 머신(100)은 상기 발사 구동부(120)를 상하 방향 및 좌우 방향으로 각각 틸팅 할 수 있도록 구성하여, 상기 발사 제어부(130)가 상기한 타격조건에 맞게 발사 구동부(120)에 대한 틸팅 구동을 제어하여, 스크린 상의 볼 발사홀을 통해 소정 각도 범위 내에서 다양한 방향으로 볼이 발사되도록 할 수 있다.In addition, the ball machine 100 is configured to tilt the firing drive unit 120 in the vertical direction and the left and right directions, respectively, so that the firing control unit 130 to the firing drive unit 120 in accordance with the hitting conditions described above. By controlling the tilting drive, the ball may be fired in various directions within a predetermined angle range through the ball firing hole on the screen.

한편, 도 5를 참조하여 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템에 이용되는 센싱장치의 센싱방법으로서 볼의 운동 모델의 산출 및 이를 활용하는 방법의 일 예에 관하여 상세하게 설명한다.On the other hand, with reference to Figure 5 will be described in detail with respect to the calculation of the exercise model of the ball as a sensing method of the sensing device used in the virtual tennis simulation system according to an embodiment of the present invention and an example of a method of using the same.

플레이어에 의한 가상의 테니스 플레이가 시작되면서 센싱장치가 작동하여, 상기 센싱장치의 각 카메라가 그 촬영 범위에 대한 이미지를 지속적으로 취득한다(S100).As the virtual tennis play by the player starts, the sensing device is operated so that each camera of the sensing device continuously acquires an image of the shooting range (S100).

그리고 센싱처리유닛은 상기한 바와 같이 지속적으로 취득되는 각각의 이미지에서 볼에 해당하는 객체를 검출하고(S110), 상기 검출된 객체에 대해 볼에 해당하는 특징을 체크하여 볼인 것을 확인하며, 볼이 아닌 것 등 각종 노이즈를 제거한다(S120).The sensing processing unit detects an object corresponding to the ball in each image continuously acquired as described above (S110), checks the feature corresponding to the ball with respect to the detected object, and confirms that the ball is a ball. Various noises, such as not being removed (S120).

여기서 이미지에서 객체를 검출하는 것은 차연상(Difference Image) 및 윤곽선 검출(Edge Detection - Contouring) 등의 기법을 이용할 수 있고, 검출된 객체에 대해 볼에 해당하는 특징을 체크하는 것은, 예컨대 객체의 크기, 가로-세로 비율, 객체의 둥근 정도, 객체의 밝기 등에 있어서 각각의 해당 항목들을 볼에 해당하는 정보로 미리 설정한 후 각각의 검출된 객체에 상기 미리 설정된 각 항목별로 체크를 하여 볼인 객체를 확인하는 것이다.Here, detecting an object in an image may use techniques such as difference image and edge detection, and checking a feature corresponding to a ball with respect to the detected object may include, for example, an object size. , Presetting each of the corresponding items with information corresponding to the ball in the aspect ratio, the roundness of the object, the brightness of the object, etc., and then checking each detected object for each preset item to identify the ball-in object. It is.

상기 차영상은 초기 레퍼런스 이미지와 이후 실시간으로 취득되는 이미지와 차연산 기법에 의해 차영상을 구함으로써 그 차영상에서는 운동하는 객체가 남게 된다.The difference image obtains a difference image by an initial reference image, an image acquired later in real time, and a difference calculation technique, and the moving object remains in the difference image.

운동하는 객체가 남아있는 이미지를 특정 임계 값을 기준으로 이진화 영상으로 변환하고, 이진화된 이미지에서 추출된 객체의 특징을 뽑아내기 위해 윤곽선을 검출한다. 검출된 윤곽선에 대한 정보로 객체의 형태를 파악하여, 원(2차원 영상에서 테니스공은 원 이미지로 출력)임을 판단한다. 볼의 특징에 해당하는 것으로서 미리 설정되는 체크 항목들은, 객체의 크기, 객체의 가로-세로 비율, 객체의 원주율 비율(둥근 정도) 및 객체의 밝기이다.The image of the moving object is converted into a binarized image based on a specific threshold value, and the contour is detected to extract features of the object extracted from the binarized image. The shape of the object is identified by the information on the detected contour, and it is determined that the circle (the tennis ball is output as the original image in the 2D image). The check items preset as corresponding to the characteristics of the ball are the size of the object, the aspect ratio of the object, the circumference ratio of the object (roundness), and the brightness of the object.

객체의 크기에 대해 살펴보면, 인식된 객체의 BlobSize(넓이)가 실제 볼의 사이즈를 기반으로 영상에 출력될 수 있는 임계 값을 벗어나는지를 확인한다. 이는 일반적으로 테니스를 플레이 할 경우, 화각에 들어와 영상으로 출력되는 볼의 크기를 예측한 것으로, 연산 속도를 줄이기 위해 넓은 범위의 절대적인 임계 값 범위를 지정한다.Looking at the size of the object, it is checked whether the BlobSize (width) of the recognized object is out of the threshold that can be displayed on the image based on the actual ball size. In general, when playing tennis, it predicts the size of the ball that enters the angle of view and outputs the image. It designates a wide range of absolute thresholds to reduce the computation speed.

이로 인해 Salt Noise 나 사람 등 크기로 빠르게 제외할 수 있는 요소들을 제외하여, 연산 속도를 높일 수 있다.This can speed up computation by excluding elements that can be quickly excluded by size, such as salt noise or people.

객체의 가로-세로 비율을 살펴보면, 움직이는 볼의 예상 최대 속도(60m/s미만)와 영상 촬영 속도(350fps)를 고려했을 때, 볼의 이미지에 왜곡이 없을 것으로 판단하고, 객채에 대한 관심영역의 너비와 높이가 유사할 것으로 기대하여, 유사도가 높을수록 원에 가까운 것으로 판단한다.Looking at the aspect ratio of the object, considering the expected maximum speed of the moving ball (less than 60m / s) and the image capture speed (350fps), it is determined that there is no distortion in the image of the ball, It is expected that the width and height will be similar, so the higher the similarity, the closer to the circle.

객체의 원주율 비율을 살펴보면, 윤곽선 검출로 뽑아낸 객체의 둘레와, 넓이 값을 추출할 수 있는데, 이를 이용해 객체의 넓이와 둘레를 기준으로 원에 가까운지를 판단한다. Looking at the ratio of the circumference of the object, the circumference and the area value of the object extracted by the contour detection can be extracted, and it is determined whether the object is close to the circle based on the width and the circumference of the object.

원주율 비율이 1에 가까울수록 원의 형태에 가깝다고 판단한다. The closer the ratio is to 1, the closer the shape of the circle.

S = 원의 면적, r = 원의 반지름, l = 원의 둘레S = area of the circle, r = radius of the circle, l = circumference of the circle

Figure 112018025015916-pat00001
,
Figure 112018025015916-pat00002
Figure 112018025015916-pat00001
,
Figure 112018025015916-pat00002

Figure 112018025015916-pat00003
Figure 112018025015916-pat00003

∴ 원주율 비율(0~1) = 4 πS/(l^2) 비율 circumference ratio (0 ~ 1) = 4 πS / (l ^ 2)

또한, 볼은 영상에서 특정 밝기 이상으로 나오기 때문에, 객체의 밝기값 역시 볼을 판단하는 기준으로 사용할 수 있다.In addition, since the ball comes out above a certain brightness in the image, the brightness value of the object can also be used as a criterion for determining the ball.

한편, 볼의 검출과 함께 이미지에서 노이즈로 판단되는 부분들을 적절히 제거하는 것이 필요한데, 먼저 3차원 Booth의 영역을 벗어난 볼 부분은 플레이 하는 3차원 공간의 영역 정보(미리 저장된 정보)를 이용하여 쉽게 파악할 수 있으며 이는 노이즈로 판단하여 제거한다.On the other hand, it is necessary to appropriately remove portions of the image that are considered noise in the detection of the ball. First, the ball portion outside the region of the 3D booth can be easily identified using the region information (prestored information) of the 3D space to be played. This can be judged as noise and eliminated.

볼의 실제 크기와 3차원 공간에서 볼의 위치값을 이용해, 이미지에서 기대되는 볼의 Blob 크기를 산출하고, 임계치를 벗어나는 3D 볼 데이터를 노이즈로서 제거할 수 있으며, 볼의 실제 크기 정보와 카메라의 위치를 알고 있으므로, 3차원 공간에서 산출된 볼의 위치 정보와 카메라 위치와의 거리 차이를 통해, 영상에서 기대되는 볼의 넓이를 예상하여, 과도하게 벗어나는 데이터는 노이즈라고 판단하고 제거할 수 있다.Using the actual size of the ball and the position of the ball in three-dimensional space, you can calculate the blob size of the ball expected in the image, remove 3D ball data that is outside the threshold as noise, and determine the actual size information of the ball and the Since the position is known, the distance between the position information of the ball calculated in the three-dimensional space and the camera position can be estimated to estimate the width of the ball expected in the image, and thus the excessively deviated data can be determined and removed as noise.

상기한 바와 같이 이미지로부터 볼을 검출한 경우, 그 검출된 볼이 어느 방향으로 움직이는지 판단하는 것이 필요할 수 있다. 왜냐하면 센싱장치가 센싱을 하고자 하는 것은 플레이어가 타격한 볼이 스크린으로 움직일 때의 볼의 운동 모델 산출이므로 볼이 반대로 스크린에서 플레이어 쪽으로 이동할 때는 볼의 운동 모델을 산출할 필요가 없을 수 있기 때문이다.When the ball is detected from the image as described above, it may be necessary to determine in which direction the detected ball moves. This is because the sensing device wants to sense the motion model of the ball when the ball hit by the player moves to the screen, so it may not be necessary to calculate the motion model of the ball when the ball moves from the screen to the player.

따라서 상기 S120단계에서 볼이 검출되면 그 볼이 스크린 방향으로 움직이는지 판단하여(S130), 만약 스크린 방향으로 움직인다면 앞서 설명한 볼 운동 모델의 산출 프로세스가 시작하도록 트리거 신호가 발생된다(S140).Therefore, when the ball is detected in step S120, it is determined whether the ball moves in the screen direction (S130). If the ball moves in the screen direction, a trigger signal is generated to start the calculation process of the ball motion model described above (S140).

만약 검출된 볼이 스크린 방향으로 움직이는 것이 아니라면 다시 볼의 검출에 대한 S110 단계부터 다시 프로세스가 시작된다.If the detected ball does not move in the screen direction, the process starts again from the step S110 for the detection of the ball.

S140 단계에서 볼 운동 모델의 산출 트리거가 발생하면, 지속적으로 취득되는 이미지 중에서 트리거 발생 이전 및 이후의 미리 설정된 개수의 이미지를 추출하여 각각의 이미지를 분석하며, 먼저 각각의 이미지에서 볼에 해당하는 객체를 검출하고(S142), 검출된 객체에 대한 볼 여부의 검증(S144)을 한다. 이는 상기한 S110 및 S120 단계와 실질적으로 동일한 방식이다.When the calculation trigger of the ball motion model is generated in step S140, a predetermined number of images before and after the trigger generation are extracted from the continuously acquired images, and the respective images are analyzed. First, the object corresponding to the ball in each image (S142), and verifies whether the detected object is viewed (S144). This is substantially the same as the above-described steps S110 and S120.

각각의 이미지에서 볼을 검출하고 검증한 경우, 상기 볼로서 검증된 각각의 객체에 대한 3차원 좌표 정보를 산출하고(S146), 산출된 볼의 좌표 정보를 이용하여 플레이어의 타격 지점에서 스크린으로 이동하는 볼에 대한 볼 운동 모델을 결정한다(S148).When the ball is detected and verified in each image, three-dimensional coordinate information of each object verified as the ball is calculated (S146), and the ball is moved from the hitting point of the player to the screen using the calculated ball coordinate information. A ball motion model for the ball to be determined is determined (S148).

이와 같은 볼의 운동 모델의 결정에 RANSAC 알고리즘을 이용할 수 있다.The RANSAC algorithm can be used to determine such a motion model of the ball.

예컨대, 3차원 볼 좌표들 중 2개를 샘플링하여 가상의 모델을 trial 하면서 가장 많은 데이터들로부터 지지를 받는 모델을 선택하는 방식으로 최종적인 볼의 운동 모델을 선택할 수 있다. For example, the final model of the motion of the ball can be selected by sampling two of the three-dimensional ball coordinates and selecting a model supported by the most data while trying a virtual model.

추출한 가상 모델과 볼의 좌표값들이 특정 임계값 미만으로 모델에 인접하는 데이터의 개수를 센다. 이때, 임계값을 벗어나는 데이터는 outlier(Noise)이 된다. The coordinates of the extracted virtual model and the ball count the number of data adjacent to the model below a certain threshold. At this time, the data out of the threshold becomes outlier (Noise).

여기서, inlier(True Data)와 outlier 을 구분하는 임계값을 설정할 때, 임계값이 클수록 모델을 추출할 확률은 높아지지만, 올바르지 않은 모델을 추출할 확률도 함께 증가한다. 반대로, 임계값이 작아질 경우 모델 추출에 실패할 확률이 높아지지만, 올바른 모델을 추출할 확률은 높아진다. Here, when setting a threshold that distinguishes inlier (True Data) and outlier, the larger the threshold value, the higher the probability of extracting the model, but also increases the probability of extracting an incorrect model. Conversely, the smaller the threshold, the higher the probability of failing model extraction, but the higher the probability of extracting the correct model.

볼의 좌표 데이터가 있음에도 불구하고 모델 추출에 실패하는 경우는, 카메라나 렌즈의 왜곡에서 오는 오차나, 스테레오 카메라 기법으로 추출한 3차원 좌표의 데이터의 정밀도가 낮을 수 있기 때문일 수 있다. If the model extraction fails even though there is the coordinate data of the ball, it may be because the error of the distortion of the camera or the lens or the precision of the data of the three-dimensional coordinates extracted by the stereo camera technique may be low.

따라서 적절한 임계값을 주는 것이 중요한데, 예컨대 RANSAC 을 엄격한 임계값(작은 임계값)으로 1회, 실패할 경우 넓은 범위의 임계값(큰 임계값)으로 2회 수행함으로써, 올바른 모델을 뽑을 확률을 높이고, 모델 추출에 실패할 확률을 높이도록 하는 것이 가능하다.Therefore, it is important to give appropriate thresholds, for example, by running RANSAC once with a strict threshold (small threshold) and twice with a wide range of thresholds (large threshold), increasing the probability of picking the right model. For example, it is possible to increase the probability of failing to extract the model.

한편, 볼의 운동 모델 결정에 있어서 각 3 축 방향의 함수는, 아래와 같다.In addition, the function of each triaxial direction in determining the motion model of a ball is as follows.

[x, y 축 방향의 함수][function in x, y axis direction]

x = a_x*t+b_xx = a_x * t + b_x

여기서, t는 시간값, x는 x방향 좌표값, a_x는 시간에 대한 x방향 좌표의 증가량(함수의 기울기), b_x는 t가 0일 때의 x방향 좌표값(절편)을 의미한다.Here, t is a time value, x is an x-direction coordinate value, a_x is an amount of increase of the x-direction coordinates (slope of the function) with respect to time, and b_x means an x-direction coordinate value (intercept) when t is zero.

y = a_y*t+b_yy = a_y * t + b_y

여기서, t는 시간값, y는 y방향 좌표값, a_y는 시간에 대한 y방향 좌표의 증가량(함수의 기울기), b_y는 t가 0일 때의 y방향 좌표값(절편)을 의미한다.Here, t denotes a time value, y denotes a y-direction coordinate value, a_y denotes an increase amount of the y-direction coordinates with respect to time (the slope of the function), and b_y denotes a y-direction coordinate value (intercept) when t is zero.

운동하는 볼의 x, y 축 방향 운동은 등속 운동으로 가정할 수 있으므로, 1차 함수로 표현할 수 있다. Since the x and y axis movements of the moving ball can be assumed to be constant velocity motions, they can be expressed as linear functions.

[z 축 방향의 함수][function in z-axis direction]

z = a_z*t + b_z - 0.5*g*t2 z = a_z * t + b_z-0.5 * g * t 2

여기서, g는 중력가속도, t는 시간값, z는 z방향 좌표값, a_z는 t가 0일 때의 z방향 속도, b_z는 t가 0일 때의 z방향 좌표값(절편)을 의미한다.Where g is gravity acceleration, t is time value, z is z-direction coordinate value, a_z is z-direction velocity when t is 0, and b_z is z-direction coordinate value (intercept) when t is 0.

산출된 볼 운동 모델의 시간 t와 x, y, z 좌표값 정보를 통해, 기대하는 시간 t의 구간에서 볼 운동 모델에 근접한 일정 거리 안에 볼이 있는지 확인 후, 해당 운동 모델을 벗어난 볼이 많을 경우(미리 설정된 개수를 넘는 경우) 올바르지 않은 모델로 판정한다.If there are many balls out of the motion model after checking whether there is a ball within a certain distance close to the ball motion model in the interval of expected time t from the calculated time t and x, y, z coordinate values of the ball motion model (In case of exceeding preset number) It is judged that the model is incorrect.

이는, 일반적으로 볼을 타격하는 모델과, 그 외 기타 반사로 인해 불규칙하게 추출되는 모델을 구분하는데 용이하다. It is easy to distinguish between models that hit the ball in general and models that are irregularly extracted due to other reflections.

한편, 상기한 바와 같이 볼의 운동 모델이 상기 각 좌표축 방향에서의 운동 방정식을 이용하여 특정 함수로 결정되면, 그 결정된 볼 운동 모델을 이용하여 플레이어의 플레이에 이용되는 볼이 아닌 바닥볼을 구분하여 분류할 수 있다(S150).On the other hand, if the motion model of the ball is determined as a specific function using the equation of motion in each of the coordinate axis direction as described above, by using the determined ball motion model to distinguish the floor ball rather than the ball used in the player's play Can be classified (S150).

즉, 상기 취득된 이미지로부터 추출되는 볼이, 볼 운동 모델로부터 소정 범위를 벗어나는 경우, 볼 운동 모델 내의 볼의 평균 높이를 산출하여 상기 산출된 볼의 평균 높이보다 아래에 위치하는 경우, 볼 운동 모델의 평균 속도를 산출하여 상기 산출된 볼 운동 모델의 평균 속도보다 낮은 속도를 갖는 경우 중 적어도 한 가지 경우에 해당하는지 판단하여 그 해당하는 볼에 대해 상기한 바닥볼로서 분류할 수 있다.That is, when the ball extracted from the acquired image is out of a predetermined range from the ball motion model, when the average height of the ball in the ball motion model is calculated and positioned below the average height of the calculated ball, the ball motion model The average speed of the ball may be classified as at least one of the cases having a speed lower than the average speed of the calculated ball motion model, and the corresponding ball may be classified as the above-described floor ball.

이때, 제어장치는 센싱처리유닛에 의해 상기 바닥볼로 분류된 볼의 개수를 확인하고 상기 바닥볼로 분류된 볼의 개수가 미리 설정된 개수를 넘는 경우, 상기 플레이어에게 위험 경고를 위한 알람을 제공하거나 상기 볼 머신의 볼박스에 볼을 채울 것을 요청하는 알람을 제공할 수 있다(S160).At this time, the controller checks the number of balls classified as the floor balls by a sensing processing unit, and if the number of balls classified as the floor balls exceeds a preset number, the controller provides an alarm for warning of danger to the player or An alarm requesting to fill the ball into the ball box of the ball machine may be provided (S160).

테니스의 경우, 야구와 달리 예상 타격 위치가 정해져 있지 않고, 플레이 영역이 야구에 비해 넓다. 또한, 볼 머신 또한 볼을 발사하는 상하 각도 및 좌우 각도의 범위가 다양하므로, 특정 위치를 기준으로 올바른 피칭 모델과 히팅 모델을 판단하기가 어렵다. 따라서, 바닥에 구르는 볼 등 바닥볼을 제거 하기 위해 볼 운동 모델 내부의 데이터의 평균 높이 정보를 히팅 모델 기준으로 잡고, 바닥에 구르는 볼의 모델을 제거한다.In the case of tennis, unlike baseball, the predicted hitting position is not determined, and the play area is wider than that of baseball. In addition, the ball machine also has a wide range of vertical and horizontal angles for firing the ball, it is difficult to determine the correct pitching model and the heating model based on a specific position. Therefore, in order to remove the floor ball such as the ball rolling on the floor, the average height information of the data inside the ball motion model is taken as the heating model, and the model of the ball rolling on the floor is removed.

또한, 볼 운동 모델의 평균 속도를 확인 후, 특정 속도 미만일 경우 히팅 모델이 아니라고 판단할 수 있다.In addition, after checking the average speed of the ball motion model, it may be determined that the heating model is not less than a specific speed.

테니스는 타격된 볼 운동 모델의 경우 일정 속도 이상을 갖게 될 확률이 높기 때문에, 속도 값을 하나의 판단요소로 사용하여, 특정 속도 이상일 경우 히팅 모델로 판단할 수 있다.Since tennis has a high probability of having a predetermined speed or more in the case of a hit ball movement model, tennis can be determined as a heating model when the speed is higher than a specific speed.

한편, 본 발명은 상기한 바와 같이 플레이어가 타격한 볼의 움직임을 볼 운동 모델로서 산출할 뿐만 아니라 상기 플레이어의 움직임도 센싱하여 플레이어의 위치를 지속적으로 산출함으로써 플레이어가 타격한 볼의 움직임과 상기 플레이어의 움직임 두 가지 모두에 기초하여 가상 테니스 플레이가 가능하도록 함으로써 플레이어가 다양한 상황과 플레이 스타일에 따른 역동적인 테니스 플레이를 즐길 수 있도록 하는 것을 특징으로 한다.Meanwhile, the present invention not only calculates the movement of the ball hit by the player as a ball movement model as described above, but also calculates the position of the player by sensing the movement of the player to continuously calculate the position of the player. By enabling virtual tennis play based on both movements of the player, the player can enjoy dynamic tennis play according to various situations and play styles.

제어장치는 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보와 영상으로 구현되는 가상의 상대방 플레이어의 인공지능에 따라 센싱장치에 의해 검출되는 플레이어의 위치 및 상기 센싱장치에 의해 산출되는 볼의 운동 모델에 대응하여 상기 가상의 상대방 플레이어가 타격하는 가상의 볼에 따라 상기 플레이어에게 제공될 볼의 방향과 속도 등을 결정하고 볼 머신이 그에 따라 볼을 제공하도록 하는 것이 가능하다.The control device is a ball calculated by the sensing device and the position of the player detected by the sensing device according to the artificial intelligence of the virtual counterpart player implemented with information and at least one of the player's skill level, difficulty, and play style. It is possible to determine the direction and speed of the ball to be provided to the player according to the virtual ball hit by the virtual opponent player in response to the motion model of and allow the ball machine to provide the ball accordingly.

예컨대, 플레이어의 실력레벨이 높은 경우 센싱장치에 의해 검출되는 플레이어의 위치와 멀리 떨어진 위치를 특정하여 해당 위치로 볼 머신이 볼을 제공하도록 함으로써 플레이어가 까다로운 리시브 상황에서 볼을 타격하도록 하는 가상 플레이를 구현할 수 있다.For example, if the player's skill level is high, a virtual play that allows the ball machine to hit the ball in a difficult receive situation by specifying a location far from the player's position detected by the sensing device to provide the ball to the location. Can be implemented.

이와 같이 센싱장치가 플레이어를 검출하고 그 위치를 산출하는 것에 대해서는 도 6에 도시된 플로우차트에서 그 일 예를 설명하고 있다. 도 7 및 도 8은 각각 촬영된 이미지에서 플레이어 및 그 이외의 제3자를 검출하는 것의 일 예에 대해 나타내고 있다.As described above, the sensing device detects the player and calculates the position thereof. 7 and 8 illustrate an example of detecting the player and other third parties in the captured images, respectively.

도 6에 대해 설명하면, 먼저 취득된 이미지에서 배경을 추출한다(S200). 배경 검출에는 KNN(K-Nearest Neighbor) 알고리즘이 이용될 수 있다.Referring to FIG. 6, a background is first extracted from an acquired image (S200). KNN (K-Nearest Neighbor) algorithm may be used for background detection.

상기 KNN 은 군집화(Clustering)를 하는 알고리즘의 일종으로서, 이 알고리즘을 활용하여 영상 내 지정 영역에서 들어오는 데이터 값을 프레임 단위로 체크하여 지정 위치에서 가장 많이 들어온 데이터 값을 지정영역의 배경이라고 판단한다.The KNN is a kind of clustering algorithm. By using the algorithm, the KNN checks the data value coming from the designated area in the image by frame unit and determines that the data value most received from the designated location is the background of the designated area.

배경을 검출하여 이를 이미지에서 제거한 후 그 이미지에서 플레이어에 해당하는 객체를 추출한다(S210).After detecting the background and removing it from the image, an object corresponding to the player is extracted from the image (S210).

플레이어에 해당하는 객체를 검출하는 일 예에 대해 도 7에서 나타내고 있다. 도 7의 (a)는 촬영된 영상이고 (b)는 플레이어가 검출된 영상에 해당한다.An example of detecting an object corresponding to a player is illustrated in FIG. 7. (A) of FIG. 7 is a captured image and (b) corresponds to an image detected by the player.

상기 추출한 배경 이미지와 이후 실시간으로 취득되는 이미지와 차연산 기법에 의해 차영상을 구한다. 그 차영상에서는 운동하는 객체가 남게 된다. 도 7의 (a)에 나타낸 영상을 다른 레퍼런스 영상과 차영상을 구한다. The difference image is obtained by the extracted background image, an image acquired in real time, and a difference calculation technique. In the difference image, the moving object remains. The image shown in FIG. 7A is obtained from another reference image and a difference image.

이와 같이 차영상을 구하면, 도 7의 (a)에 도시된 바와 같이 움직이는 객체(MO)가 검출되고 그 움직이는 객체에 해당하는 부분을 포함하는 소정의 영역을 관심영역(Ra)으로서 설정하여 그 설정된 관심영역(Ra)을 추출하여 분석할 수 있기 때문에 빠른 처리가 가능하다.When the difference image is obtained as described above, as shown in FIG. 7A, the moving object MO is detected, and a predetermined area including a portion corresponding to the moving object is set as the ROI and set as the region of interest Ra. Since the region of interest Ra can be extracted and analyzed, it can be quickly processed.

한편, 상기한 차영상을 통해 운동하는 객체가 남아있는 영상을 특정 임계 값을 기준으로 이진화 영상으로 변환한다. 이진화된 이미지에서 추출된 객체의 특징을 뽑아내기 위해 윤곽선을 검출한다. 검출된 윤곽선에 대한 정보로 객체의 형태를 파악한다. Meanwhile, an image in which an object moving through the difference image remains is converted into a binarized image based on a specific threshold value. The contour is detected to extract the features of the extracted objects from the binarized image. The shape of the object is identified by the information on the detected contour.

이와 같이 이진화되어 윤곽선이 검출된 객체(Nb)에 대해 도 7의(b)에서 나타내고 있다.The object Nb binarized in this manner and detected as an outline is shown in FIG.

그런데, 일반적으로 배경 이미지와 취득되는 이미지로 차영상을 구했을 경우 검출하고자 하는 객체(플레이어)의 복장이나 그림자 등으로 인하여 배경의 명도와 차이가 없어 구분이 잘되지 않거나 하나의 덩어리 객체로 인식되지 않는 경우가 있다. However, in general, when the difference image is obtained from the background image and the acquired image, there is no difference in the brightness of the background due to the clothing or shadow of the object (player) to be detected, and thus it is not well distinguished or recognized as a single object. There is a case.

이를 보완하기 위해 실제로는 유일한 플레이어지만 여러 개의 객체로 분리되어 입력된 객체들을 하나의 객체로 일원화 시켜주는 작업을 한다. 이는 기준 객체를 기반으로 미리 설정된 거리 내에 존재하면 하나의 객체로 묶어주는 것이다. To compensate for this, it is actually the only player, but separates the input objects into a single object. This is to group them into one object if they exist within a preset distance based on the reference object.

이와 같이 일원화 작업을 거쳐 검출된 객체에 대해서는 그 크기와 형태를 분석하여 미리 설정된 크기 이상일 경우 플레이어라고 판단할 수 있다. 이때 이미지 내 플레이어가 존재 가능한 영역에 제한이 있으므로 그러한 영역을 벗어났을 경우 노이즈로 판단할 수 있다.As such, the size and shape of the object detected through the unification work may be analyzed to determine that the player is larger than the preset size. At this time, since there is a limit to the area where the player in the image can exist, it can be determined as noise when it is out of the area.

다시 도 6으로 돌아와서, 상기한 바와 같이 플레이어에 해당하는 객체를 추출하였는데 또 다른 인체가 검출될 수 있으므로 이를 판단한다 (S220). 즉, 상기 검출된 플레이어의 유일성을 확인할 필요가 있다.6 again, as described above, the object corresponding to the player is extracted, but another human body may be detected, and thus it is determined (S220). In other words, it is necessary to confirm the uniqueness of the detected player.

예컨대, 테니스 레슨 등의 경우 플레이어 외에 레슨을 위한 코치 등이 카메라의 화각 내로 진입할 수 있으므로, 이를 센싱장치가 파악을 하는 것이다.For example, in the case of a tennis lesson or the like, a coach or the like for the lesson may enter the camera's angle of view in addition to the player.

만약, 이미지에서 인체가 둘 이상 검출된 경우, 각각의 검출된 인체의 위치를 검출하여(S221), 위험영역 내인지 여부를 판단한다(S222).If more than one human body is detected in the image, the position of each detected human body is detected (S221), and it is determined whether the human body is within a dangerous area (S222).

이에 대한 설명은 도 8을 참조하여 좀 더 구체적으로 하도록 한다.This will be described in more detail with reference to FIG. 8.

센싱장치는 스크린과 인접한 미리 설정된 영역으로서 위험영역(SZ)을 미리 설정할 수 있다. 도면에서 C30은 영상 상에서의 코트바닥부를, CP는 영상 상에서의 플레이어를 각각 지칭하고 있다.The sensing device may preset the dangerous area SZ as a preset area adjacent to the screen. In the figure, C30 denotes the court bottom portion on the image and CP denotes the player on the image, respectively.

센싱장치는 취득되는 매 프레임의 이미지 상에서 위험영역(SZ) 내에서 객체를 감지하며 그 감지된 객체로부터 인체를 검출함으로써 어떤 사람이 위험영역 내에 존재한다는 것을 제어장치나 볼 머신에 알릴 수 있다. 즉, 센싱장치가 위험영역에서 어떤 인체를 감지한 경우 제어장치나 볼 머신으로 볼 머신 동작 중단 요청을 할 수 있다(S223, 도 6 참조).The sensing device detects an object in the danger zone SZ on the image of every frame acquired and detects a human body from the detected object to inform the controller or the ball machine that a person is in the danger zone. That is, when the sensing device detects a human body in the dangerous area, the controller may request the operation of the ball machine to be stopped by the control device or the ball machine (S223, see FIG. 6).

상기한 바와 같은 프로세스를 통해, 테니스 레슨을 하는 코치가 특정 위치(예컨대, 볼 머신에서 볼이 발사되는 볼 발사홀 앞)에 섰을 경우, 바로 볼 머신이 중지되어 별도로 게임을 중지하지 않고 부드럽게 레슨을 진행할 수 있고, 플레이 중 2명 이상의 사용자가 등장할 경우 위험을 경고할 수 있다.Through the above process, when a coach who teaches tennis stands at a certain position (eg, in front of the ball launching hole where the ball is fired from the ball machine), the ball machine stops immediately so that the lesson can be smoothly performed without stopping the game. You can proceed and warn you of danger if more than one user appears during play.

다시 도 6으로 돌아와서, S220 단계에서 플레이어에 해당하는 객체 외에 다른 인체에 해당하는 객체가 검출되지 않는 경우, 센싱장치는 상기 추출된 플레이어에 해당하는 객체의 무게중심을 상기 플레이어의 예상 위치로서 검출할 수 있다(S230).6, if no object corresponding to the human body other than the object corresponding to the player is detected in step S220, the sensing apparatus detects the center of gravity of the object corresponding to the extracted player as the expected position of the player. It may be (S230).

센싱장치는 앞서 산출된 볼 운동 모델의 초기 위치(볼의 히팅될 때의 초기 위치)와 상기 산출된 플레이어의 예상 위치가 근접한지 여부를 판단하는데(S240), 구체적으로 상기 볼 운동 모델의 초기 위치와 상기 플레이어의 예상 위치가 미리 설정된 거리 이하인 경우에 상기 산출된 플레이어의 예상 위치를 상기 플레이어의 위치로서 결정할 수 있다(S251).The sensing device determines whether the initial position (initial position when the ball is heated) and the estimated position of the calculated player are close to the previously calculated ball movement model (S240), specifically, the initial position of the ball movement model. And when the estimated position of the player is less than or equal to a preset distance, the calculated estimated position of the player may be determined as the position of the player (S251).

이와 같이 센싱장치는 볼 운동 모델뿐만 아니라 플레이어의 위치까지도 검출하여 플레이에 이용할 수 있다는 특장점이 있다.As described above, the sensing device can detect not only the ball movement model but also the position of the player and use it for play.

센싱장치는 더 나아가 상기한 바와 같이 검출되는 플레이어의 위치 정보를 이용하여 플레이어의 이동 거리 및 플레이 시간 데이터를 감지하여(S252), 이를 이용하여 플레이 시간 동안의 해당 플레이어의 운동량까지 산출할 수 있다(S253).The sensing apparatus may further detect the player's moving distance and play time data by using the position information of the player detected as described above (S252), and calculate the amount of exercise of the corresponding player during the play time using the same (S252). S253).

상기한 바와 같은 프로세스를 통해, 플레이어 위치 변화량의 누적 수치로 플레이어의 총 운동량을 측정하고, 플레이어의 위치를 기반으로 볼 머신에서 제공되는 볼의 방향 등을 설정하여 게임의 난이도를 조절할 수 있다. Through the process as described above, it is possible to adjust the difficulty of the game by measuring the total amount of movement of the player by the cumulative value of the player position change amount, and by setting the direction of the ball provided from the ball machine based on the position of the player.

예컨대, 플레이어의 위치를 기반으로 가상 테니스 플레이 시 플레이어의 타격 위치를 지정하는 미션을 요구하여 가상 테니스 플레이의 재미를 더욱 향상시킬 수 있고, 서브 등의 특정 플레이 시 플레이어의 위치를 지정하는 미션을 요구하여 가상 테니스 플레이의 재미를 더욱 향상시킬 수 있다.For example, it is possible to further enhance the fun of virtual tennis play by requesting a mission to designate the player's hitting position when playing virtual tennis based on the player's position, and request a mission to specify the player's position during a specific play such as serve. This can further enhance the fun of virtual tennis play.

또한 예컨대, 여성 플레이어의 경우 또는 어린이 플레이어의 경우 상기한 바와 같은 플레이어의 운동량 측정을 통해 플레이 시간 등을 적절히 조절할 수 있다.In addition, for example, in the case of a female player or a child player, the play time and the like may be appropriately adjusted by measuring the exercise amount of the player as described above.

한편, 본 발명은 상기한 바와 같이 플레이어가 타격한 볼의 움직임을 볼 운동 모델로서 산출하고, 상기 플레이어의 움직임도 센싱하여 플레이어의 위치를 지속적으로 산출할 뿐만 아니라, 더 나아가 플레이어가 들고 있는 라켓까지 검출함으로써 플레이어가 타격한 볼의 움직임, 상기 플레이어의 움직임 및 라켓 검출을 통한 플레이어의 플레이시의 자세 정보 모두에 기초하여 가상 테니스 플레이가 가능하도록 함으로써 플레이어가 더욱 다양한 상황과 플레이 스타일에 따른 역동적인 테니스 플레이를 즐길 수 있도록 하는 것을 특징으로 한다.On the other hand, the present invention calculates the movement of the ball hit by the player as described above as a ball movement model, and also calculates the position of the player by sensing the movement of the player, as well as even the racket held by the player By detecting, the player can play the virtual tennis based on the ball movement hit by the player, the movement of the player, and posture information of the player's play through the racket detection. It is characterized by enabling to enjoy play.

제어장치는 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보와 영상으로 구현되는 가상의 상대방 플레이어의 인공지능에 따라 센싱장치에 의해 검출되는 플레이어의 위치, 상기 센싱장치에 의해 산출되는 볼의 운동 모델, 플레이어가 백핸드 자세로 스윙을 하는지 포핸드 자세로 스윙을 하는지 등에 대한 스윙 자세 정보에 대응하여 상기 가상의 상대방 플레이어가 타격하는 가상의 볼에 따라 상기 플레이어에게 제공될 볼의 방향과 속도 등을 결정하고 볼 머신이 그에 따라 볼을 제공하도록 하는 것이 가능하다.The control device is a player's position detected by the sensing device according to the artificial intelligence of the virtual counterpart player, which is realized as information and at least one of the player's skill level, difficulty, and play style, and the ball calculated by the sensing device. The direction and speed of the ball to be provided to the player according to the virtual ball hit by the virtual opponent player in response to the swing posture information on the motion model of the player, the player swinging in the backhand position or the forehand position, etc. It is possible to determine and to make the ball machine provide the ball accordingly.

예컨대, 플레이어의 실력레벨이 높은 경우 센싱장치에 의해 검출되는 플레이어의 위치와 멀리 떨어진 위치를 특정하여 해당 위치로 볼 머신이 볼을 제공하되 해당 플레이어가 오른손잡이인지 왼손잡이인지 미리 파악하여 리시브가 어려운 백핸드를 유도하도록 하는 위치로 볼을 제공하도록 함으로써 플레이어가 까다로운 리시브 상황에서 볼을 타격하도록 하는 가상 플레이를 구현할 수 있다.For example, if the player's skill level is high, the ball machine will provide the ball to the location by specifying the location far from the player's location detected by the sensing device, and determine in advance whether the player is right-handed or left-handed. By providing the ball in a position that will lead to the player, he can implement virtual play that forces the player to hit the ball in a difficult receive situation.

상기한 바와 같이 센싱장치가 플레이어의 라켓을 검출함으로써 스윙 자세에 대한 정보를 산출하는 것에 관하여는 도 9 내지 도 11에서 설명하고 있다.As described above, the sensing device calculates information on the swing posture by detecting the racket of the player is described with reference to FIGS. 9 to 11.

도 9는 상기한 라켓 검출에 대한 프로세스를 설명하는 플로우차트이고, 도 10은 도 9에 도시된 플로우차트에 따라 촬영된 이미지에서 사용자가 들고 있는 라켓을 검출하는 과정을 나타낸 도면이다. 그리고 도 11은 도 10에 도시된 과정에 따라 각각 검출된 라켓에 해당하는 오브젝트로서 각 오브젝트의 동작을 시계열적으로 나타낸 도면이다.FIG. 9 is a flowchart illustrating a process for detecting a racket described above, and FIG. 10 is a diagram illustrating a process of detecting a racket held by a user in an image captured according to the flowchart shown in FIG. 9. FIG. 11 is a time series diagram of an operation of each object as an object corresponding to a racket detected according to the process illustrated in FIG. 10.

도 9에 도시된 바와 같이, 먼저 실시간 취득 이미지와 그 이전 이미지와의 고속차영상을 통해 고속으로 움직이는 객체를 검출한다(S300).As shown in FIG. 9, first, an object moving at high speed is detected through a high speed difference image between a real-time acquired image and a previous image (S300).

즉, 카메라 유닛에 의해 실시간으로 취득되는 이미지와 상기 취득된 이미지의 이전에 취득된 이미지 중 차연산 할 이미지로서 선택된 이미지와의 고속차영상을 통해 상기 카메라 유닛의 이미지 취득 속도 이상으로 움직이는 객체를 검출하는 것이다.That is, an object moving above the image acquisition speed of the camera unit is detected through a high-speed image of an image acquired in real time by the camera unit and an image selected as a difference operation image among previously acquired images of the acquired image. It is.

골프나 야구의 경우 골프클럽이나 야구배트는 대략 긴 막대 형상과 유사하기 때문에 이미지에서 라인 검출 등을 통해 골프클럽이나 야구배트를 쉽게 검출할 수 있지만, 테니스 라켓의 경우에는 그와 같은 방법을 통해서는 쉽게 검출할 수 없다.그렇다고 미리 정해 놓은 레퍼런스 이미지를 실시간 취득 이미지와 차영상을 할 경우 느리게 움직이는 객체와 빠르게 움직이는 객체가 모두 검출이 되기 때문에 또 다시 별도의 검출을 통해 라켓을 검출하여야 하므로 단순한 차영상으로는 처리 시간이 길어지는 문제가 있다.In the case of golf and baseball, golf clubs and baseball bats are roughly similar to the long rod shape, so it is easy to detect golf clubs or baseball bats by detecting lines in the image, but in the case of tennis rackets, In case of real-time acquisition image and difference image, the slow moving object and the fast moving object are both detected, so the racket must be detected through separate detection. There is a problem in that the processing time becomes long.

따라서, 상기한 바와 같이 실시간으로 취득되는 이미지와 그 이전의 이미지(예컨대 해당 이미지의 바로 직전에 취득된 이미지)에 대해 차영상을 구하면 두 이미지 사이의 시간이 ms 정도의 극히 짧은 시간이므로 느리게 움직이는 것은 두 이미지에서 거의 변화가 없어서 그대로 차연산에 의해 제거되고 그 극히 짧은 시간 동안에도 움직임을 보일 정도로 고속으로 움직이는 것, 즉 라켓은 상기한 고속차영상에 의해 검출이 될 수 있다.Therefore, as described above, when the difference image is obtained for the image acquired in real time and the image before it (for example, the image immediately before the image), the time between the two images is very short, such as ms, so that the slow moving There is almost no change in the two images, so that they are removed by the difference operation and moved at such a high speed that they move even during the extremely short time, that is, the racket can be detected by the high speed vehicle image.

고속으로 움직이는 것이 라켓 외에도 있을 수 있으므로, 상기한 고속차영상을 통해 검출된 객체 중 앞서 검출한 플레이어의 위치를 기반으로 이에 근접한(즉, 미리 설정된 거리 내에 있는지 확인하여) 객체를 라켓 객체로서 추출할 수 있다(S310).Since there may be a high speed moving in addition to the racket, the object detected through the high speed vehicle image may be extracted as a racket object based on the position of the player detected earlier (ie, if it is within a predetermined distance). It may be (S310).

상기 플레이어의 위치에 근접한 미리 설정된 영역을 관심영역으로 설정하고 그 영역 내에서 고속차영상에 의한 객체를 찾음으로써 라켓을 더욱 빠르게 검출할 수 있다.The racquet can be detected more quickly by setting a preset area close to the position of the player as the ROI and finding an object with a high-speed image within the area.

도 10의 (a), (b) 및 (c)는 상기한 바와 같은 고속차영상을 통해 라켓 객체(Rb)만 검출한 결과의 일 예를 보여주고 있고, 도 10의 (d), (e) 및 (f)는 다른 프레임의 영상을 이용하여 상기한 바와 같은 고속차영상을 통해 라켓 객체(Rb)를 검출한 것에 대해 나타내고 있다.(A), (b) and (c) of FIG. 10 show an example of a result of detecting only the racket object Rb through the high-speed image as described above, and FIGS. 10 (d) and (e) ) And (f) show the detection of the racket object Rb through the high-speed image as described above using the image of another frame.

다시 도 9로 돌아와서, 상기한 바와 같이 고속차영상을 통해 추출되는 복수의 차영상 각각으로부터 추출되는 라켓 객체를 분석하여 라켓의 위치 및 이동 방향을 검출할 수 있고(S320), 미리 저장된 플레이어 정보와 검출된 라켓의 위치 및 이동 방향 정보를 이용하여 플레이어의 스윙이 포핸드인지 백핸드인지 여부 및 헛스윙 여부 등의 플레이어의 자세에 대한 정보를 산출할 수 있다(S330).9 again, as described above, the racket object extracted from each of the plurality of difference images extracted through the high speed vehicle image may be analyzed to detect the position and the moving direction of the racket (S320). Information on the player's posture, such as whether the player's swing is forehand or backhand and whether he is swinging, may be calculated using the detected position of the racket and the direction of movement (S330).

이에 대해서는 도 11에서 나타내고 있는데, 도 11에서는 도 10에 도시된 (c) 및 (f)와 같이 각각의 프레임의 영상에 대해 검출한 라켓 객체에 대한 영상(PM1 ~ PM5)의 일 예에 대해 나타내고 있다. This is illustrated in FIG. 11, which illustrates an example of the images PM1 to PM5 of the racket object detected for the image of each frame as shown in (c) and (f) of FIG. 10. have.

검출된 라켓은 특정 방향성을 갖고 운동을 하고 있는 것을 확인할 수 있다. 도 11에서 라켓 객체의 무게중심이 y축에서 + 방향으로 움직이고(도 11에서 PM1 -> PM2 -> PM3 -> PM4 -> PM5의 순서임), 오른손잡이라는 플레이어 정보를 취합하면 플레이어가 포핸드로 타격했다고 판단할 수 있게 된다 (마찬가지로 왼손잡이 플레이어의 경우 백핸드로 판단할 수 있다).It can be seen that the detected racket is moving with a specific orientation. In FIG. 11, the center of gravity of the racket object moves in the + direction in the y axis (in the order of PM1-> PM2-> PM3-> PM4-> PM5 in FIG. 11), and when the player information is collected, the player is moved to the forehand. It can be judged to be a hit (similar to a left handed player).

상기한 바와 같은 프로세스를 통해, 플레이어의 타격 위치와 라켓의 위치 및 방향을 기반으로 플레이어의 자세(백핸드/포핸드)를 유추할 수 있으며, 라켓 움직임을 검출하고 볼 운동 모델을 검출하여 헛스윙 여부를 판단할 수 있다.Through the above process, the player's posture (backhand / forhand) can be inferred based on the player's striking position and the racket's position and direction, and whether the swing is detected by detecting the racket movement and detecting the ball motion model. You can judge.

따라서, 플레이어 정보, 검출된 플레이어의 위치 정보, 산출된 플레이어의 자세 정보, 볼 운동 모델에 따른 시뮬레이션 정보 등을 종합적으로 이용하여 볼 머신이 플레이어에게 제공할 볼의 방향 등을 결정하여 그에 따라 볼 제공이 이루어지도록 할 수 있다(S340). 즉, 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은 테니스라는 스포츠의 역동성과 랠리 등의 특성을 잘 살려서 다양한 플레이 상황과 플레이 난이도 등으로 구현되도록 할 수 있다.Therefore, by using the player information, the detected player position information, the calculated player posture information, the simulation information according to the ball motion model, etc., the direction of the ball to be provided to the player by the ball machine is determined and the ball is provided accordingly. This can be done (S340). That is, the virtual tennis simulation system according to an embodiment of the present invention may be implemented in various play situations and difficulty levels by making good use of the characteristics of tennis, such as dynamics and rally.

한편, 도 12에서는 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템에서 플레이어(P)와 영상 상의 가상의 상대방 플레이어(VP) 사이의 플레이와 이에 따른 볼 머신의 구동에 관하여 설명한다.In FIG. 12, the play between the player P and the virtual counterpart player VP on the image and driving of the ball machine in the virtual tennis simulation system according to an embodiment of the present invention will be described.

도 12는 영상 컨텐츠로 제공되는 가상의 영역을 마치 물리적 영역인 것처럼 나타내었다.12 illustrates a virtual area provided as image content as if it is a physical area.

즉, 플레이어(P)가 위치하는 코트바닥부(30)의 전방에 설치된 스크린(20) 뒷쪽에 상기 스크린(20) 상에서 구현되는 영상 컨텐츠와 동일한 가상의 영역(VW)이 존재한다고 가정하고 그 부분을 나타낸 것이다.That is, it is assumed that the same virtual area VW as the image content implemented on the screen 20 exists behind the screen 20 installed in front of the court bottom 30 where the player P is located. It is shown.

도 12에 도시된 바와 같이, 가상의 영역(VW)의 가상의 코트(VC)에서 가상의 플레이어(VP)가 볼을 타격하면 제어장치의 제어부는 그 궤적(Tb)을 계산하고 그 계산된 궤적(Tb)과 운동 조건에 따라 궤적(Tb)이 스크린(20)이 볼 발사부(22)에 연결되고 볼 발사부(22)부터는 실제 볼(1)이 궤적(Tb)과 운동 조건에 대응하여(동일한 궤적과 운동 조건으로 발사될 수도 있고 적절한 가중치를 적용하여 실제 공간을 고려하여 조금 더 약하게 발사되도록 할 수도 있다) 발사된다.As shown in FIG. 12, when the virtual player VP strikes the ball in the virtual court VC of the virtual area VW, the controller of the controller calculates the trajectory Tb and calculates the trajectory Tb. According to the Tb and the movement conditions, the trajectory Tb is connected to the screen 20 with the ball launching unit 22, and the ball 1 from the ball launching unit 22 corresponds to the trajectory Tb and the moving condition. (It can be fired with the same trajectory and motion conditions, or it can be fired a bit weaker to take into account the real space by applying appropriate weights.)

제어장치는 플레이어(P)의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보를 미리 저장하며, 가상 테니스 시뮬레이션 영상 상의 가상의 상대방 플레이어(VP)를 인공지능에 의해 제어하도록 구성되는 것이 바람직하다.The controller is configured to store in advance information on at least one of skill level, difficulty level, and play style of the player P, and to control the virtual opponent player VP on the virtual tennis simulation image by artificial intelligence. .

제어장치는 플레이어(P)의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보와 가상의 상대방 플레이어(VP)의 인공지능에 따라, 센싱장치에 의해 검출되는 플레이어의 위치 (및 라켓 검출에 따른 플레이어의 스윙 자세)에 대응하여 상기 가상의 상대방 플레이어(VP)가 타격하는 가상의 볼에 따라 상기 플레이어(P)에게 제공될 볼(실제 볼로서 볼 머신이 발사할 볼)의 방향, 속도 등의 볼 발사 파라미터를 결정하고, 그 결정되는 볼(실제 볼)의 방향에 따라 가상의 상대방 플레이어(VP)가 타격한 가상의 볼의 궤적에 대한 시뮬레이션 영상을 처리하며, 볼 머신(100)의 볼 발사 방향을 상기 결정된 볼의 방향에 대응하도록 설정하고, 도 12에 도시된 바와 같이 가상의 상대방 플레이어(VP)가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신(100)이 볼(1)을 상기 결정된 볼의 방향으로 제공하도록 제어하는 방식으로 가상 테니스 플레이가 진행될 수 있다.The control device according to the information on at least one of the skill level, difficulty, play style of the player P and the artificial intelligence of the virtual opponent player VP, the position of the player detected by the sensing device (and according to the racket detection The direction, speed, etc. of the ball to be provided to the player P (the ball to be fired by the ball machine as the actual ball) to be provided to the player P according to the virtual ball hit by the virtual opponent player VP corresponding to the swing posture of the player. The ball firing parameter is determined, a simulation image of the trajectory of the virtual ball hit by the virtual opponent player VP is processed according to the determined direction of the ball (actual ball), and the ball firing of the ball machine 100 is performed. Set the direction to correspond to the determined direction of the ball, and as shown in Figure 12 the ball machine 100 on the extension line to the trajectory of the virtual ball hit by the virtual opponent player (VP) The ball (1) in such a manner as to control so as to provide the direction of the determined ball can be carried out, the virtual play tennis.

이러한 방식으로 실제 코트바닥부(30)에서 스크린(20)을 향하여 테니스 플레이를 하는 플레이어(P)는 상기 스크린(20)에 투영되는 영상 상의 가상의 코트( VC) 상의 가상의 상대방 플레이어(VP)와 현실과 가상현실을 넘나들면서 테니스 랠리를 진행할 수 있다.In this manner, the player P, who plays tennis toward the screen 20 on the actual court floor 30, is the virtual opponent player VP on the virtual court VC on the image projected on the screen 20. You can play a rally of tennis across real and virtual reality.

이때 센싱장치는 볼의 운동만을 센싱하도록 구성될 수도 있고 볼의 운동에 대한 센싱과 함께 플레이어의 위치를 센싱하도록 구성되어 그 센싱 결과를 상기한 랠리의 구현에 반영하는 것이 가능하다.In this case, the sensing device may be configured to sense only the movement of the ball, or may be configured to sense the position of the player together with the sensing of the movement of the ball, and may reflect the sensing result in the implementation of the rally.

상기한 바와 같은 랠리는 센싱장치의 센싱 데이터를 이용하여 제어장치가 수행하며 상기 제어장치가 볼 머신을 제어하여 가상의 볼에 대응하여 실제 볼이 발사되도록 하는 방식으로 구현될 수 있다.As described above, the rally may be performed by the controller using the sensing data of the sensing apparatus, and the controller may control the ball machine so that the actual ball is fired in response to the virtual ball.

구체적으로, 먼저 플레이어가 볼을 타격한 것이 영상 상의 가상의 상대방 플레이어로 가는 경우를 설명한다.Specifically, first, a case in which the player hits the ball goes to the virtual opponent on the video.

플레이어의 볼 타격에 따라 카메라 유닛에 의해 취득된 이미지의 분석을 통해 센싱처리유닛이 볼 운동 모델을 산출한 것을 이용하여 상기 볼 운동 모델에 대응되도록 영상 상에서 가상의 볼이 상기 가상의 상대방 플레이어가 있는 가상의 코트 쪽으로 이동하는 시뮬레이션 영상을 구현한다.The virtual opponent has the virtual opponent on the image so that the virtual ball corresponds to the ball motion model by using the ball motion model calculated by the sensing processing unit by analyzing the image acquired by the camera unit according to the player's ball strike. Implement a simulation image moving toward the virtual court.

이때 영상 상에서 시뮬레이션 되는 가상의 볼이 인플레이(IN-play)인지 제어장치는 판단을 한다. 만약 인플레이가 아니면 아웃으로 처리되어 랠리가 처음부터 다시 시작되며 만약 인플레이인 경우에는 제어장치는 미리 설정하고 있는 인공지능을 이용하여 그에 따라 가상의 상대방 플레이어가 가상의 볼을 타격하도록 하는 영상을 구현한다.At this time, the control device determines whether the virtual ball simulated on the image is in-play. If it is not in play, it is processed out and the rally starts again from the beginning. If it is in play, the control device uses an artificial intelligence that is set in advance so that the virtual opponent can hit the virtual ball accordingly. .

한편, 플레이어가 볼을 타격한 것에 대해 영상 상의 가상의 상대방 플레이어가 타격한 볼이 플레이어로 가는 경우에 대해 설명한다.On the other hand, a case in which the ball hit by the virtual opponent player on the video goes to the player with respect to the player hitting the ball.

제어장치가 구현하는 인공지능은 플레이어의 실력레벨, 난이도, 플레이스타일 등과 플레이어의 타격에 의해 시뮬레이션 되어 이동하는 가상의 볼의 타구 방향이나 구질(볼의 속도 등) 등을 종합적으로 고려하여 상기 가상의 상대방 플레이어가 가상의 볼을 타격(리시브)하는 가상의 볼의 운동 조건(가상의 볼의 출발속도와 방향 등 또는 벡터로 설정된 경우에는 벡터의 방향과 크기 등)을 결정하고 그 결정된 볼의 운동조건에 따라 가상의 볼이 타격되어 이동하는 시뮬레이션 영상이 구현된다.The artificial intelligence implemented by the controller is simulated by the player's skill level, difficulty, play style, and the like by the player's hitting, and takes into consideration the batting direction and pitch (ball speed, etc.) of the virtual ball. Determine the motion condition of the virtual ball (receiving) the virtual player's ball (the starting speed and direction of the virtual ball, or the direction and size of the vector if it is set as a vector) and determine the motion condition of the ball. As a result, a simulation image in which the virtual ball is hit and moved is implemented.

이때 제어장치는 상기 결정된 가상의 볼의 운동 조건에 따라 볼 머신이 플레이어에게 제공할 볼(실제 볼)의 방향 및 속도를 설정하고, 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신이 볼을 상기 설정된 볼의 방향 및 속도로 제공하도록 하여 상기 플레이어로 하여금 상기 볼 머신에서 발사된 볼을 타격하도록 한다.At this time, the controller sets the direction and speed of the ball (actual ball) to be provided to the player by the ball machine according to the determined motion condition of the virtual ball, and extends the trajectory of the virtual ball hit by the virtual opponent player. The ball machine provides the ball in the direction and speed of the set ball to cause the player to hit the ball fired from the ball machine.

여기서, 플레이어가 상기 볼 머신이 제공하는 볼을 받아 치면 다시 상기한 ‘플레이어가 볼을 타격한 것이 영상 상의 가상의 상대방 플레이어로 가는 경우’ 및 ‘영상 상의 가상의 상대방 플레이어가 타격한 볼이 플레이어로 가는 경우’가 반복하여 진행되면서 플레이어와 영상 상의 가상의 상대방 플레이어가 현실과 가상현실을 넘나들면서 테니스 랠리를 구현하게 되는 것이다.In this case, when the player hits the ball provided by the ball machine, 'the player hitting the ball goes to the virtual opponent player on the video' and 'the ball hit by the virtual opponent player on the video is returned to the player. If you go repeatedly, the player and the virtual opponent on the video will realize the tennis rally as they cross reality and virtual reality.

이상 설명한 바와 같이 본 발명에 따른 가상 테니스 시뮬레이션 시스템은, 레이어가 타격한 볼에 대한 센싱은 물론 상기 플레이어의 움직임에 대한 센싱 및 분석, 나아가 플레이어가 들고 있는 라켓의 움직임에 대한 센싱 및 분석 등 다양한 정보의 센싱과 분석을 통해 종래의 스크린 테니스에서는 구현할 수 없었던 역동적이고 현실감 있는 가상의 테니스 플레이를 제공함으로써 가상의 테니스 플레이를 즐기는 플레이어로 하여금 흥미를 향상시킬 수 있는 특장점이 있다.As described above, the virtual tennis simulation system according to the present invention, as well as sensing the ball hit by the layer, as well as sensing and analyzing the movement of the player, and further various information such as the sensing and analysis of the movement of the racket held by the player Through the sensing and analysis of the present invention, it is possible to enhance the interest for players who enjoy the virtual tennis play by providing a dynamic and realistic virtual tennis play that cannot be realized in the conventional screen tennis.

100: 볼 머신, 200: 센싱장치
210: 카메라 유닛, 220: 센싱처리유닛
230: 카메라 제어부, 300: 제어장치
310: 제어부, 320: 데이터저장부
330: 영상처리부, 340: 영상출력부
100: ball machine, 200: sensing device
210: camera unit, 220: sensing processing unit
230: camera control unit, 300: controller
310: control unit, 320: data storage unit
330: image processing unit, 340: image output unit

Claims (21)

플레이어가 테니스 플레이를 하는 코트바닥부의 전방에 구비되어 가상 테니스 시뮬레이션 영상이 투영되는 스크린;
상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신;
미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 카메라 유닛;
상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼에 대한 볼 운동 모델을 산출하는 센싱처리유닛; 및
상기 플레이어가 플레이하는 상대방인 가상의 상대방 플레이어에 대한 영상을 구현하고 미리 설정된 인공지능에 따라 상기 가상의 상대방 플레이어가 플레이하도록 제어하며, 상기 센싱처리유닛에 의해 산출된 볼 운동 모델을 이용하여 상기 가상 테니스 시뮬레이션 영상의 생성 및 처리와 상기 볼 머신의 제어를 수행하는 제어장치를 포함하며,
상기 센싱처리유닛은,
상기 플레이어가 플레이하는 3차원 공간의 좌표계와 각 좌표축 방향에서의 볼의 운동에 대한 함수를 미리 정의하며, 상기 카메라 유닛에 의해 촬영되는 이미지를 분석하여 운동하는 볼에 대한 각 이미지 상에서의 3차원 공간상의 좌표 데이터를 검출하고, 상기 검출된 볼의 좌표 데이터를 상기 각 좌표축 방향에 대해 미리 정의된 함수에 적용함으로써 상기 플레이어에 의해 타격되어 운동하는 볼에 대한 볼 운동 모델을 산출하도록 구성되며,
상기 제어장치는,
상기 플레이어의 볼 타격에 따라 상기 카메라 유닛에 의해 취득된 이미지의 분석을 통해 상기 센싱처리유닛이 볼 운동 모델을 산출한 것을 이용하여 상기 볼 운동 모델에 대응되도록 영상 상에서 가상의 볼이 상기 가상의 상대방 플레이어가 있는 가상의 코트 쪽으로 이동하는 시뮬레이션 영상을 구현하고,
미리 설정된 인공지능에 따라 상기 가상의 상대방 플레이어가 가상의 볼을 타격함에 따라 상기 타격된 가상의 볼이 이동하는 시뮬레이션 영상을 구현하며,
상기 가상의 볼이 이동하는 연장선상에서 상기 볼 머신이 볼을 제공하여 상기 플레이어로 하여금 타격할 수 있도록 하는 방식으로,
상기 플레이어가 볼을 타격한 것에 대해 상기 가상의 상대방 플레이어가 가상의 볼을 타격하는 것을 반복하면서 상기 플레이어와 영상 상의 상기 가상의 상대방 플레이어가 테니스 랠리를 구현할 수 있도록 하는 가상 테니스 시뮬레이션 시스템.
A screen provided in front of a floor of a court in which a player plays tennis to project a virtual tennis simulation image;
A ball machine provided at the rear of the screen to provide a ball to the player;
A camera unit for continuously acquiring an image for a shooting range including a preset area;
A sensing processing unit configured to calculate a ball motion model for the ball by extracting and analyzing an object corresponding to the ball from the acquired image; And
Implement an image of a virtual counterpart player that is the counterpart that the player plays, and control the virtual counterpart player to play according to a predetermined artificial intelligence, and use the ball motion model calculated by the sensing processing unit to perform the virtual A control device for generating and processing tennis simulation images and controlling the ball machine;
The sensing processing unit,
A three-dimensional space on each image of the ball moving by analyzing the image taken by the camera unit in advance by defining a coordinate system of the three-dimensional space and the movement of the ball in each coordinate axis direction in which the player plays. Detect a coordinate data of the image and apply the detected coordinate data of the ball to a function predefined for each coordinate axis direction to calculate a ball movement model for the ball being hit and moved by the player,
The control device,
The virtual counterpart on the image is a virtual ball on the image so as to correspond to the ball motion model by using the ball motion model calculated by the sensing processing unit by analyzing the image acquired by the camera unit according to the ball strike of the player. Implement a simulation video to move towards the virtual court where the player is located,
Implement a simulation image in which the hit virtual ball is moved as the virtual opponent player hits the virtual ball according to a predetermined artificial intelligence,
In such a way that the ball machine provides the ball so that the player can hit it on the extension of the virtual ball,
And the virtual counterpart player on the image can implement a tennis rally while repeating the virtual counterpart player hitting the virtual ball in response to the player hitting the ball.
제1항에 있어서, 상기 제어장치는,
상기 플레이어의 타격에 따라 상기 카메라 유닛 및 센싱처리유닛에 의해 센싱된 볼에 대응하여 영상 상에서 시뮬레이션 되는 가상의 볼이 인플레이인지 판단하여, 인플레이인 경우 상기 인공지능에 따라 상기 가상의 상대방 플레이어가 타격하는 상기 가상의 볼의 운동 조건을 결정하며,
상기 결정된 가상의 볼의 운동 조건에 따라 상기 볼 머신이 상기 플레이어에게 제공할 볼의 방향 및 속도를 설정하고,
상기 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신이 볼을 상기 설정된 볼의 방향 및 속도로 제공하도록 하여 상기 플레이어로 하여금 상기 볼 머신에서 발사된 볼을 타격하도록 하는 방식으로 상기 플레이어와 영상 상의 상기 가상의 상대방 플레이어가 테니스 랠리를 구현할 수 있도록 한 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템.
The method of claim 1, wherein the control device,
In response to the ball hit by the camera unit and the sensing processing unit, the virtual ball simulated on the image is determined to be in-play, and in the case of in-play, the virtual opponent player is hit according to the artificial intelligence. Determine the motion conditions of the virtual ball,
Setting the direction and speed of the ball to be provided to the player by the ball machine according to the determined movement condition of the virtual ball,
A manner in which the ball machine provides the ball in the direction and speed of the set ball on an extension line of the trajectory of the virtual ball hit by the virtual opponent player to cause the player to hit the ball fired from the ball machine And the virtual counterpart player on the video with the player can implement a tennis rally.
제1항에 있어서,
상기 센싱처리유닛은,
상기 카메라 유닛에 의해 취득되는 이미지로부터 상기 플레이어에 해당하는 객체를 추출하여 분석함으로써 상기 플레이어의 위치를 검출하도록 구성되며,
상기 제어장치는,
상기 센싱처리유닛에 의해 검출되는 상기 플레이어의 위치에 기초하여 상기 인공지능이 상기 가상의 상대방 플레이어가 타격할 때의 가상의 볼의 운동 조건을 결정하도록 한 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템.
The method of claim 1,
The sensing processing unit,
It is configured to detect the position of the player by extracting and analyzing the object corresponding to the player from the image acquired by the camera unit,
The control device,
And the artificial intelligence determines the motion condition of the virtual ball when the virtual opponent player strikes based on the position of the player detected by the sensing processing unit.
플레이어가 테니스 플레이를 하는 코트바닥부의 전방에 구비되어 가상 테니스 시뮬레이션 영상이 투영되는 스크린;
상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신;
미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 카메라 유닛;
상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼에 대한 볼 운동 모델을 산출하며, 상기 취득된 이미지로부터 상기 플레이어에 해당하는 객체를 추출하여 분석함으로써 상기 플레이어의 위치를 검출하는 센싱처리유닛; 및
상기 센싱처리유닛에 의해 산출된 볼 운동 모델을 이용하여 상기 가상 테니스 시뮬레이션 영상의 생성 및 처리와 상기 볼 머신의 제어를 하며, 상기 센싱처리유닛에 의해 검출되는 상기 플레이어의 위치에 기초하여 상기 플레이어에게 제공되는 볼의 방향을 결정하고 그에 대응하여 상기 가상 테니스 시뮬레이션 영상의 처리 및 상기 볼 머신의 제어를 수행하는 제어장치를 포함하며,
상기 센싱처리유닛은,
상기 플레이어가 플레이하는 3차원 공간의 좌표계와 각 좌표축 방향에서의 볼의 운동에 대한 함수를 미리 정의하며, 상기 카메라 유닛에 의해 촬영되는 이미지를 분석하여 운동하는 볼에 대한 각 이미지 상에서의 3차원 공간상의 좌표 데이터를 검출하고, 상기 검출된 볼의 좌표 데이터를 상기 각 좌표축 방향에 대해 미리 정의된 함수에 적용함으로써 상기 플레이어에 의해 타격되어 운동하는 볼에 대한 볼 운동 모델을 산출하도록 구성되며,
상기 제어장치는,
가상의 상대방 플레이어와, 상기 플레이어가 플레이하는 코트바닥부와 대응하여 상기 가상의 상대방 플레이어가 플레이하는 가상의 코트에 관한 영상을 구현하며, 상기 센싱처리유닛에 의해 산출되는 볼 운동 모델에 기초하여 상기 가상의 상대방 플레이어로 운동하는 가상의 볼의 시뮬레이션 영상을 구현하도록 구성되는 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템.
A screen provided in front of a floor of a court in which a player plays tennis to project a virtual tennis simulation image;
A ball machine provided at the rear of the screen to provide a ball to the player;
A camera unit for continuously acquiring an image for a shooting range including a preset area;
Sensing to detect the position of the player by extracting and analyzing the object corresponding to the ball from the acquired image to calculate the ball motion model for the ball, and extracting and analyzing the object corresponding to the player from the acquired image Processing unit; And
The virtual tennis simulation image is generated and processed and the ball machine is controlled using the ball motion model calculated by the sensing processing unit, and the player is controlled based on the position of the player detected by the sensing processing unit. A controller for determining a direction of a provided ball and correspondingly processing the virtual tennis simulation image and controlling the ball machine;
The sensing processing unit,
A three-dimensional space on each image of the ball moving by analyzing the image taken by the camera unit in advance by defining a coordinate system of the three-dimensional space and the movement of the ball in each coordinate axis direction in which the player plays. Detect a coordinate data of the image and apply the detected coordinate data of the ball to a function predefined for each coordinate axis direction to calculate a ball movement model for the ball being hit and moved by the player,
The control device,
Implements an image of a virtual counterpart player and a virtual court played by the virtual counterpart player in correspondence with a court bottom part played by the player, and based on the ball movement model calculated by the sensing processing unit, Virtual tennis simulation system, characterized in that configured to implement a simulation image of a virtual ball to exercise the virtual opponent player.
삭제delete 제4항에 있어서, 상기 센싱처리유닛은,
상기 취득된 이미지로부터 추출되는 볼이, 상기 산출된 볼 운동 모델로부터 소정 범위를 벗어나는 경우, 상기 산출된 볼 운동 모델 내의 볼의 평균 높이를 산출하여 상기 산출된 볼의 평균 높이보다 아래에 위치하는 경우, 상기 산출된 볼 운동 모델의 평균 속도를 산출하여 상기 산출된 볼 운동 모델의 평균 속도보다 낮은 속도를 갖는 경우 중 적어도 한 가지 경우에 해당하는지 판단하여 그 해당하는 볼에 대해 상기 플레이어의 플레이에 이용되는 볼이 아닌 바닥볼로서 분류하도록 구성되며,
상기 제어장치는,
상기 센싱처리유닛에 의해 상기 바닥볼로 분류된 볼의 개수를 확인하고 상기 바닥볼로 분류된 볼의 개수가 미리 설정된 개수를 넘는 경우, 상기 플레이어에게 위험 경고를 위한 알람을 제공하거나 상기 볼 머신의 볼박스에 볼을 채울 것을 요청하는 알람을 제공하도록 구성되는 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템.
The method of claim 4, wherein the sensing processing unit,
When the ball extracted from the acquired image is out of a predetermined range from the calculated ball movement model, when the average height of the ball in the calculated ball movement model is calculated and positioned below the average height of the calculated ball And calculating the average speed of the calculated ball motion model to determine whether it is at least one of the cases having a speed lower than the calculated average speed of the ball motion model and using the ball for the player's play. To be categorized as a floor ball rather than a floor ball,
The control device,
When the number of balls classified as the bottom balls is checked by the sensing processing unit and the number of the balls classified as the bottom balls exceeds a preset number, an alarm for warning a danger to the player or the ball machine And provide an alarm requesting the ballbox to fill the ball.
제4항에 있어서, 상기 센싱처리유닛은,
상기 취득되는 매 프레임의 이미지로부터 각각 상기 플레이어를 검출함으로써 상기 플레이어의 위치를 추적하고, 상기 추적에 의해 상기 플레이어의 이동거리 및 상기 플레이어의 플레이 시간을 감지하며, 상기 감지된 이동거리 및 플레이 시간으로부터 상기 플레이어의 운동량을 산출하도록 구성되며,
상기 제어장치는,
상기 센싱처리유닛에 의해 산출되는 상기 플레이어의 운동량 정보를 영상 또는 음성을 통해 상기 플레이어에게 제공하도록 구성되는 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템.
The method of claim 4, wherein the sensing processing unit,
The position of the player is tracked by detecting the player from the image of every frame acquired, and the movement distance of the player and the play time of the player are detected by the tracking, and from the detected movement distance and play time. Calculate a momentum of the player,
The control device,
Virtual tennis simulation system, characterized in that configured to provide the player through the video or audio information of the exercise amount calculated by the sensing processing unit.
제4항에 있어서, 상기 센싱처리유닛은,
상기 스크린과 인접한 미리 설정된 영역으로서 위험영역을 미리 설정하며, 상기 취득되는 매 프레임의 이미지 상에서 상기 위험영역에 해당하는 영역 내에서 객체를 감지하며 상기 감지된 객체로부터 인체를 검출하도록 구성되며,
상기 제어장치는,
상기 센싱처리유닛에 의해 상기 위험영역 내에서 인체가 검출되는 경우, 상기 볼 머신의 동작을 중지하도록 제어하는 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템.
The method of claim 4, wherein the sensing processing unit,
A preset dangerous area as a preset area adjacent to the screen, and detects an object within the area corresponding to the dangerous area on the image of every frame to be detected, and detects a human body from the detected object,
The control device,
And if the human body is detected within the dangerous area by the sensing processing unit, controlling the ball machine to stop the operation of the virtual tennis simulation system.
삭제delete 삭제delete 삭제delete 삭제delete 제4항에 있어서, 상기 센싱처리유닛은,
상기 카메라 유닛에 의해 실시간으로 취득되는 이미지와 상기 취득된 이미지의 이전에 취득된 이미지 중 차연산 할 이미지로서 선택된 이미지와의 고속차영상을 통해 상기 카메라 유닛의 이미지 취득 속도 이상으로 움직이는 객체를 라켓 객체로서 추출하며, 상기 고속차영상을 통해 추출되는 복수의 차영상 각각으로부터 추출되는 상기 라켓 객체를 분석하여 상기 라켓의 위치 및 이동 방향을 검출하여 상기 플레이어의 스윙이 포핸드인지 백핸드인지 여부를 검출하도록 구성되는 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템.
The method of claim 4, wherein the sensing processing unit,
An object moving at or above the image acquisition speed of the camera unit through a high-speed image between the image acquired in real time by the camera unit and the image selected as a difference operation among the previously acquired images of the acquired image is a racket object. And extracting the racket object extracted from each of the plurality of difference images extracted through the high-speed vehicle image, and detecting the position and the moving direction of the racket to detect whether the player's swing is forehand or backhand. Virtual tennis simulation system, characterized in that.
삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete 삭제delete
KR1020180029071A 2017-09-15 2018-03-13 Virtual tennis simulation system, sensing device and method for sensing process using the same KR102045439B1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2020548727A JP6981719B2 (en) 2017-09-15 2019-03-13 Virtual tennis simulation system, sensing device and sensing method used for this
PCT/KR2019/002892 WO2019177361A1 (en) 2017-09-15 2019-03-13 Virtual tennis simulation system, and sensing device and sensing method used therefor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20170119001 2017-09-15
KR1020170119001 2017-09-15

Publications (2)

Publication Number Publication Date
KR20190031111A KR20190031111A (en) 2019-03-25
KR102045439B1 true KR102045439B1 (en) 2019-11-15

Family

ID=65907675

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020180029071A KR102045439B1 (en) 2017-09-15 2018-03-13 Virtual tennis simulation system, sensing device and method for sensing process using the same
KR1020180029076A KR102045449B1 (en) 2017-09-15 2018-03-13 Virtual tennis simulation system and control method for the same
KR1020180029074A KR102045443B1 (en) 2017-09-15 2018-03-13 Method for building-up tennis artificial intelligence for virtual tennis simulation, virtual tennis simulation system and method using the same and recording media recording program of tennis artificial intelligence readible by computing device

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020180029076A KR102045449B1 (en) 2017-09-15 2018-03-13 Virtual tennis simulation system and control method for the same
KR1020180029074A KR102045443B1 (en) 2017-09-15 2018-03-13 Method for building-up tennis artificial intelligence for virtual tennis simulation, virtual tennis simulation system and method using the same and recording media recording program of tennis artificial intelligence readible by computing device

Country Status (3)

Country Link
JP (2) JP7070874B2 (en)
KR (3) KR102045439B1 (en)
WO (3) WO2019177364A1 (en)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210023310A (en) 2019-08-22 2021-03-04 주식회사 대한솔루션 Reading system for judging in or out of the ball in ball game
US11752414B2 (en) * 2019-08-22 2023-09-12 Fast Track Vision, LLC System and method for tracking a projectile
CN111228773A (en) * 2020-03-02 2020-06-05 怀化学院 Service control method and device based on binocular vision, storage medium and service machine
EP3901936A1 (en) 2020-04-22 2021-10-27 Copysan Communicaciones, SL Method, system and computer programs for padel tennis training
KR102434326B1 (en) * 2020-05-12 2022-08-22 서기원 Online-system for tennis virtual training with real-time video comparison of body motion
KR102249014B1 (en) * 2020-07-28 2021-05-06 조명환 system of allocating and rewarding to user through virtual space allocation and partition on physical space
KR102265914B1 (en) * 2020-09-04 2021-06-16 권예찬 Tennis autonomous training system
US11896882B2 (en) 2020-11-04 2024-02-13 Xreps, Llc Extended reality system for training and evaluation
KR102450445B1 (en) * 2020-12-14 2022-10-05 재단법인대구경북과학기술원 Indoor screen tennis system and remote game method using the same
JP2024502508A (en) 2021-02-14 2024-01-19 ブレイクアウト ヒッティング エルエルシー Training system and method
KR102496426B1 (en) 2021-10-07 2023-02-06 주식회사 큐링이노스 Tennis self-training system
KR102626000B1 (en) * 2021-11-23 2024-01-22 명지대학교 산학협력단 Tennis Training System
US20230241455A1 (en) * 2022-01-31 2023-08-03 Breakout Hitting Llc Training system and method of using same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020148455A1 (en) * 2001-04-16 2002-10-17 Philips Electronics North America Corporation Ball throwing assistant
KR101586462B1 (en) * 2015-10-02 2016-01-19 (주)나라소프트 Tennis exercise and game simulation system using the screen

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2999638B2 (en) * 1992-10-28 2000-01-17 日本電信電話株式会社 Virtual experience system
JPH07227454A (en) * 1994-02-18 1995-08-29 Tooa Sports Mach:Kk Pitching limiter for pitching machine
JPH11299947A (en) * 1998-02-19 1999-11-02 Purareizu:Kk Virtual game device
JP3936539B2 (en) * 2001-02-22 2007-06-27 国立大学法人金沢大学 Pitching machine, its control system and control method
JP4883516B2 (en) * 2004-08-25 2012-02-22 国立大学法人金沢大学 Pitching machine and method for controlling its changing sphere
JP2007144107A (en) * 2005-10-25 2007-06-14 Vr Sports:Kk Exercise assisting system
GB2455316B (en) * 2007-12-04 2012-08-15 Sony Corp Image processing apparatus and method
KR101147873B1 (en) * 2010-06-24 2012-05-24 박영기 Screen-golf system using face recognition and control method of the same
US9999825B2 (en) * 2012-02-23 2018-06-19 Playsight Interactive Ltd. Smart-court system and method for providing real-time debriefing and training services of sport games
KR20170085460A (en) * 2017-05-18 2017-07-24 주식회사 골프존뉴딘 Apparatus for base-ball practice, sensing device and sensing method used to the same and control method for the same

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020148455A1 (en) * 2001-04-16 2002-10-17 Philips Electronics North America Corporation Ball throwing assistant
KR101586462B1 (en) * 2015-10-02 2016-01-19 (주)나라소프트 Tennis exercise and game simulation system using the screen

Also Published As

Publication number Publication date
WO2019177363A1 (en) 2019-09-19
JP2021516129A (en) 2021-07-01
JP2021516576A (en) 2021-07-08
JP6981719B2 (en) 2021-12-17
WO2019177364A1 (en) 2019-09-19
KR20190031113A (en) 2019-03-25
KR20190031111A (en) 2019-03-25
KR20190031112A (en) 2019-03-25
WO2019177361A1 (en) 2019-09-19
KR102045443B1 (en) 2019-12-02
JP7070874B2 (en) 2022-05-18
KR102045449B1 (en) 2019-11-15

Similar Documents

Publication Publication Date Title
KR102045439B1 (en) Virtual tennis simulation system, sensing device and method for sensing process using the same
CN108697922B (en) Sensing device and sensing method for baseball practice device, baseball practice device using the same, and control method thereof
JP5960240B2 (en) Sensing device and sensing method used in virtual golf simulation device
KR101048090B1 (en) Apparatus for virtual golf simulation, and sensing device and method used to the same
TWI448318B (en) Virtual golf simulation apparatus and sensing device and method used for the same
JP6983172B2 (en) Methods and equipment for performing motion analysis of sports equipment
KR20200085803A (en) Golf ball tracking system
KR101912126B1 (en) Apparatus for base-ball practice, sensing device and sensing method used to the same and control method for the same
KR20170085460A (en) Apparatus for base-ball practice, sensing device and sensing method used to the same and control method for the same
KR101862145B1 (en) Sensing device for calculating information on golf shot of user and sensing method using the same
JP7111433B2 (en) SENSING DEVICE FOR MOTION OF BALL AND SENSING METHOD THEREOF
KR101078954B1 (en) Apparatus for virtual golf simulation, and sensing device and method used to the same
KR102439549B1 (en) Device for sensing golf swing and method for sensing impact position on club head using the same
KR102567201B1 (en) A console-type golf simulation system using two cameras
KR20200030219A (en) Sensing method for sensing movement of ball and sensing device using the same
CN117716388A (en) Image analysis method for sensing moving ball and sensing device using the same

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant