WO2019177361A1 - 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법 - Google Patents

가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법 Download PDF

Info

Publication number
WO2019177361A1
WO2019177361A1 PCT/KR2019/002892 KR2019002892W WO2019177361A1 WO 2019177361 A1 WO2019177361 A1 WO 2019177361A1 KR 2019002892 W KR2019002892 W KR 2019002892W WO 2019177361 A1 WO2019177361 A1 WO 2019177361A1
Authority
WO
WIPO (PCT)
Prior art keywords
ball
player
virtual
image
sensing
Prior art date
Application number
PCT/KR2019/002892
Other languages
English (en)
French (fr)
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/ja
Publication of WO2019177361A1 publication Critical patent/WO2019177361A1/ko

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

Definitions

  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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 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, wherein the control device is configured to perform the sensing process by analyzing an image acquired by the camera unit according to the ball strike of the player.
  • the control device is configured to perform the sensing process by analyzing an image acquired by the camera unit according to the ball strike of the player.
  • 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;
  • 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.
  • a sensing device 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.
  • 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.
  • 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.
  • a sensing method 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.
  • 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
  • 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.
  • the player who enjoys the virtual tennis play can improve the interest.
  • FIG. 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.
  • FIG. 3 is a diagram illustrating an example of image content provided by the virtual tennis simulation system shown in FIG. 1.
  • FIG. 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.
  • FIG. 7 and 8 are diagrams illustrating an example of detecting a player and another third party in the captured image, respectively.
  • FIG. 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. 10.
  • 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.
  • FIG. 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
  • FIG. 4 is a block diagram illustrating a configuration of the virtual tennis simulation system illustrated in FIG. 1.
  • the virtual tennis simulation system 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.
  • 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.
  • 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.
  • FIG. 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.
  • the ball firing hole 22 may be provided at an approximately intermediate position on the screen 20.
  • 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.
  • 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.
  • 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.
  • FIG. 3 illustrates an example of image content provided by a virtual tennis simulation system according to an embodiment of the present invention.
  • the entire image IM includes a main image 500 and a minimap image 600.
  • 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.
  • the virtual opponent player VP receives the virtual ball VB according to a predetermined artificial intelligence (hereinafter referred to as "AI").
  • AI artificial intelligence
  • the trajectory Tb of the virtual ball VB hit by the virtual opponent player VP may or may not be 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.
  • 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.
  • 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.
  • a virtual tennis simulation system includes a ball machine 100, a sensing device 200, a control device 300, and an image output unit 420. Can be.
  • 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.
  • 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).
  • 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.
  • 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.
  • 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.
  • 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.
  • the sensing processing unit 220 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 preferable.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the motion model of the ball can be determined according to the defined coordinate system.
  • 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.
  • 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.
  • the motion model of the ball calculated by the sensing device of the virtual tennis simulation system 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.
  • the position at which the ball reaches the actual screen can be easily calculated.
  • the virtual ball 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.
  • the present invention is that it is possible to do so only by the sensing device for detecting the movement of the ball.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • the ball may be fired in various directions within a predetermined angle range through the ball firing hole on the screen.
  • the sensing device is operated so that each camera of the sensing device continuously acquires an image of the shooting range (S100).
  • 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).
  • 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.
  • 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 width
  • 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.
  • 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.
  • the brightness value of the object can also be used as a criterion for determining the ball.
  • 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.
  • 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.
  • the sensing device wants to sense the motion model of the ball when the ball hit by the player moves to the screen, it may not be necessary to calculate the motion model of the ball when the ball moves from the screen to the player. .
  • step S120 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).
  • the process starts again from the step S110 for the detection of the ball.
  • step S140 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.
  • the RANSAC algorithm can be used to determine such a motion model of the ball.
  • 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.
  • 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).
  • the larger the threshold value the higher the probability of extracting the model, but also increases the probability of extracting an incorrect model.
  • the smaller the threshold the higher the probability of failing model extraction, but the higher the probability of extracting the correct model.
  • 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.
  • each triaxial direction in determining the motion model of a ball is as follows.
  • 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
  • b_x means an x-direction coordinate value (intercept) when t is zero.
  • 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)
  • b_y denotes a y-direction coordinate value (intercept) when t is zero.
  • g gravity acceleration
  • t time value
  • z z-direction coordinate value
  • a_z z-direction velocity when t is 0
  • b_z z-direction coordinate value (intercept) when t is 0.
  • 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).
  • the ball motion model 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.
  • 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).
  • the predicted hitting position is not determined, and the play area is wider than that of baseball.
  • 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.
  • the heating model is not less than a specific speed.
  • tennis 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • KNN K-Nearest Neighbor
  • 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.
  • an object corresponding to the player is extracted from the image (S210).
  • FIG. 7 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • a coach or the like for the lesson may enter the camera's angle of view in addition to the player.
  • the sensing device may preset the dangerous area SZ as a preset area adjacent to the screen.
  • C30 denotes the court bottom portion on the image and CP denotes the player on the image, respectively.
  • 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).
  • 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).
  • 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).
  • the sensing device can detect not only the ball movement model but also the position of the player and use it for play.
  • 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).
  • the play time and the like may be appropriately adjusted by measuring the exercise amount of the player as described above.
  • 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 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.
  • 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.
  • FIG. 9 is a flowchart illustrating a process for detecting a racket described above
  • 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.
  • 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).
  • 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.
  • 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.
  • 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.
  • FIGS. 10 show an example of a result of detecting only the racket object Rb through the high-speed image as described above
  • 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.
  • 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).
  • FIG. 11 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.
  • the detected racket is moving with a specific orientation.
  • 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).
  • 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.
  • the virtual tennis simulation system may be implemented in various play situations and difficulty levels by making good use of the characteristics of tennis, such as dynamics and rally.
  • 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.
  • FIG. 12 illustrates a virtual area provided as image content as if it is a physical area.
  • the controller of the controller calculates the trajectory Tb and calculates the trajectory Tb.
  • 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.
  • the ball 1 from the ball launching unit 22 corresponds to the trajectory Tb and the moving condition.
  • 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. .
  • 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.
  • 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.
  • 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.
  • 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.
  • 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.
  • 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. .
  • 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 simulated image in which the virtual ball is hit and moved is implemented.
  • 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.
  • the virtual tennis simulation system 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
  • 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.
  • a sensing device and a sensing method used therein a user hits a ball provided by a ball machine in a indoor space of a predetermined size with a tennis racket and the sensing device senses the ball through a front screen.
  • Implementing a simulated image has industrial applicability in the technical field that enables a user's tennis practice or a virtual tennis match.

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

본 발명은 테니스라는 역동적인 스포츠의 특성을 플레이어가 경험하면서 또한 여러 가지 정보를 제공받을 수 있도록 하기 위한 가상 테니스 시뮬레이션 시스템을 제공하기 위한 것이며, 플레이어가 타격한 볼에 대한 센싱은 물론 상기 플레이어의 움직임에 대한 센싱 및 분석 등 다양한 정보의 센싱과 분석을 통해 종래의 스크린 테니스에서는 구현할 수 없었던 역동적이고 현실감 있는 가상의 테니스 플레이를 제공하며 플레이어에게 가상의 테니스 플레이에 대한 다양한 분석 정보의 제공 등을 실현할 수 있는 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법을 제공하기 위한 것이다.

Description

가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법
본 발명은 소정의 실내 공간에서 가상의 상대방에 의한 테니스 플레이 영상이 구현되는 스크린이 설치되고 상기 스크린을 통해 볼 머신에서 발사되는 테니스볼을 사용자가 라켓으로 타격하는 방식으로 테니스 연습 또는 테니스 경기를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법에 관한 것이다.
최근에 골프와 야구 등과 같이 볼을 이용하여 즐기는 스포츠에 대해 실내의 좁은 공간에서도 실제 필드에서 골프나 야구를 하는 것과 같은 연습이나 경기를 위한 가상의 컨텐츠를 제공하는, 이른바 스크린 골프와 스크린 야구 등의 대중적인 인기와 그에 따른 기술적 발전에 따라 볼을 이용하는 가장 대표적인 스포츠인 테니스에 대해서도 소위 스크린 테니스 시스템이 등장하게 되었다.
테니스라는 스포츠는 골프나 야구와는 달리 사용자가 한 곳에서 계속 볼을 타격하는 것이 아니라 라켓을 든 사용자가 매우 다이나믹하게 움직이면서 상대 선수와 볼을 지속적으로 주고받는 랠리를 펼치는 스포츠로서, 이러한 테니스 스포츠의 특징을 스크린 테니스 시스템에서 적절히 구현하여 스크린 테니스를 이용하는 사용자가 다양한 위치에서 볼을 타격하면서 영상 내의 상대방과 지속적인 랠리를 현실감있게 할 수 있도록 하여 테니스 스포츠의 리얼리티를 실현하면서도 실제 테니스 스포츠에서는 쉽게 파악하기 어려운 다양한 분석 정보를 제공받을 수 있도록 하는 것이 관건이라 할 수 있다.
종래의 스크린 테니스 시스템 및 이에 이용되는 센싱장치 등에 관한 선행특허문헌으로서, 특허출원 제10-2015-0010077호, 특허출원 제10-2015-0138876호, 미국등록특허 제6,776,732호, 미국등록특허 제3,989,246호 등이 공개되어 있다.
그러나, 종래의 스크린 테니스 시스템은 플레이어가 볼을 타격할 때의 타격된 볼에 대한 센싱에만 국한하고 있고 그마저도 종래의 스크린 골프 시스템에서 널리 이용되는 방식, 즉 볼이 출발할 때의 출발속도, 출발각도 및 방향 정보만을 이용하여 전체 궤적을 예측하는 방식이라는 점에서 센싱의 범위가 매우 한정적이고 정확성이 낮기 때문에, 코트의 이곳저곳을 이동하면서 역동적으로 플레이하는 테니스라는 스포츠의 특성에 부합하도록 다양한 정보를 센싱하고 분석하며 그 결과에 따라 사용자에게 테니스의 특성에 부합하는 다양한 정보를 제공하는 점에 있어서 종래의 스크린 테니스 시스템이 상당히 미흡하다는 문제점이 있었다.
나아가 종래의 스크린 테니스 시스템은 상기한 바와 같은 문제점으로 말미암아 플레이가 매우 단조롭고 지루하며 단순 반복이 진행될 뿐이어서 테니스라는 스포츠의 특성을 스크린 테니스 시스템이 충분히 담아내지 못한다는 문제점이 있었다.
본 발명은 테니스라는 역동적인 스포츠의 특성을 플레이어가 경험하면서 또한 여러 가지 정보를 제공받을 수 있도록 하기 위한 가상 테니스 시뮬레이션 시스템을 제공하기 위한 것이며, 플레이어가 타격한 볼에 대한 센싱은 물론 상기 플레이어의 움직임에 대한 센싱 및 분석 등 다양한 정보의 센싱과 분석을 통해 종래의 스크린 테니스에서는 구현할 수 없었던 역동적이고 현실감 있는 가상의 테니스 플레이를 제공하며 플레이어에게 가상의 테니스 플레이에 대한 다양한 분석 정보의 제공 등을 실현할 수 있는 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법을 제공하기 위한 것이다.
본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은, 플레이어가 테니스 플레이를 하는 코트바닥부의 전방에 구비되어 가상 테니스 시뮬레이션 영상이 투영되는 스크린; 상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신; 미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 카메라 유닛; 상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼에 대한 볼 운동 모델을 산출하는 센싱처리유닛; 및 상기 플레이어가 플레이하는 상대방인 가상의 상대방 플레이어에 대한 영상을 구현하고 미리 설정된 인공지능에 따라 상기 가상의 상대방 플레이어가 플레이하도록 제어하며, 상기 센싱처리유닛에 의해 산출된 볼 운동 모델을 이용하여 상기 가상 테니스 시뮬레이션 영상의 생성 및 처리와 상기 볼 머신의 제어를 수행하는 제어장치를 포함하며, 상기 제어장치는, 상기 플레이어의 볼 타격에 따라 상기 카메라 유닛에 의해 취득된 이미지의 분석을 통해 상기 센싱처리유닛이 볼 운동 모델을 산출한 것을 이용하여 상기 볼 운동 모델에 대응되도록 영상 상에서 가상의 볼이 상기 가상의 상대방 플레이어가 있는 가상의 코트 쪽으로 이동하는 시뮬레이션 영상을 구현하고, 미리 설정된 인공지능에 따라 상기 가상의 상대방 플레이어가 가상의 볼을 타격함에 따라 상기 타격된 가상의 볼이 이동하는 시뮬레이션 영상을 구현하며, 상기 가상의 볼이 이동하는 연장선상에서 상기 볼 머신이 볼을 제공하여 상기 플레이어로 하여금 타격할 수 있도록 하는 방식으로, 상기 플레이어가 볼을 타격한 것에 대해 상기 가상의 상대방 플레이어가 가상의 볼을 타격하는 것을 반복하면서 상기 플레이어와 영상 상의 상기 가상의 상대방 플레이어가 테니스 랠리를 구현할 수 있도록 한다.
한편, 본 발명의 다른 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은, 플레이어가 테니스 플레이를 하는 코트바닥부의 전방에 구비되어 가상 테니스 시뮬레이션 영상이 투영되는 스크린; 상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신; 미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 카메라 유닛; 상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼에 대한 볼 운동 모델을 산출하며, 상기 취득된 이미지로부터 상기 플레이어에 해당하는 객체를 추출하여 분석함으로써 상기 플레이어의 위치를 검출하는 센싱처리유닛; 및 상기 센싱처리유닛에 의해 산출된 볼 운동 모델을 이용하여 상기 가상 테니스 시뮬레이션 영상의 생성 및 처리와 상기 볼 머신의 제어를 하며, 상기 센싱처리유닛에 의해 검출되는 상기 플레이어의 위치에 기초하여 상기 플레이어에게 제공되는 볼의 방향을 결정하고 그에 대응하여 상기 가상 테니스 시뮬레이션 영상의 처리 및 상기 볼 머신의 제어를 수행하는 제어장치를 포함한다.
한편, 본 발명의 또 다른 일 실시예에 따른 센싱장치는, 가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 코트바닥부 상에서 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템에 이용되는 센싱장치로서, 미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 카메라 유닛; 상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼에 대한 볼 운동 모델을 산출하며, 상기 취득된 이미지로부터 상기 플레이어에 해당하는 객체를 추출하여 분석함으로써 상기 플레이어의 위치를 검출하는 센싱처리유닛을 포함한다.
한편, 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템의 제어방법은, 플레이어가 테니스 플레이를 하는 코트바닥부와, 상기 코트바닥부의 전방에 구비되어 가상 테니스 시뮬레이션 영상이 투영되는 스크린과, 상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신과, 상기 플레이어 및 상기 플레이어가 플레이하는 볼에 대해 센싱하는 센싱장치와, 상기 가상 테니스 시뮬레이션 영상의 생성 및 처리와 상기 볼 머신의 제어를 하는 제어장치를 포함하는 가상 테니스 시뮬레이션 시스템의 제어방법으로서, 미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 단계; 상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼의 운동에 대한 센싱 데이터를 산출하는 단계; 상기 산출된 볼 운동에 대한 센싱 데이터를 이용하여 상기 볼 운동에 대응되도록 영상 상에서 가상의 볼이 가상의 상대방 플레이어가 있는 가상의 코트 쪽으로 이동하는 시뮬레이션 영상을 구현하는 단계; 미리 설정된 인공지능에 따라 상기 가상의 상대방 플레이어가 가상의 볼을 타격함에 따라 상기 타격된 가상의 볼이 이동하는 시뮬레이션 영상을 구현하는 단계; 및 상기 가상의 볼이 이동하는 연장선상에서 상기 볼 머신이 볼을 제공하여 상기 플레이어로 하여금 타격할 수 있도록 하는 방식으로, 상기 플레이어가 볼을 타격한 것에 대해 상기 가상의 상대방 플레이어가 가상의 볼을 타격하는 것을 반복하면서 상기 플레이어와 영상 상의 상기 가상의 상대방 플레이어가 테니스 랠리를 구현하는 단계를 포함한다.
한편, 본 발명의 다른 일 실시예에 따른 가상 테니스 시뮬레이션 시스템의 제어방법은, 플레이어가 테니스 플레이를 하는 코트바닥부와, 상기 코트바닥부의 전방에 구비되어 가상 테니스 시뮬레이션 영상이 투영되는 스크린과, 상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신과, 상기 플레이어 및 상기 플레이어가 플레이하는 볼에 대해 센싱하는 센싱장치와, 상기 가상 테니스 시뮬레이션 영상의 생성 및 처리와 상기 볼 머신의 제어를 하는 제어장치를 포함하는 가상 테니스 시뮬레이션 시스템의 제어방법으로서, 미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 단계; 상기 취득된 이미지로부터 상기 플레이어에 해당하는 객체를 추출하여 분석함으로써 상기 플레이어의 위치를 검출하는 단계; 상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼의 운동에 대한 센싱 데이터를 산출하는 단계; 상기 산출된 볼 운동 센싱 데이터를 이용하여 상기 가상 테니스 시뮬레이션 영상을 생성 및 처리하는 단계; 및 상기 검출된 플레이어의 위치에 기초하여 상기 플레이어에게 제공되는 볼의 방향을 결정하고 그에 대응하여 상기 가상 테니스 시뮬레이션 영상을 처리하며 상기 볼 머신을 제어하는 단계를 포함한다.
한편, 본 발명의 일 실시예에 따른 센싱방법은, 가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 코트바닥부 상에서 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템에 이용되는 센싱장치의 센싱방법으로서, 미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 실시간으로 취득하는 단계; 미리 준비된 배경 이미지와 상기 실시간으로 취득되는 이미지 각각과의 차영상을 추출하고, 상기 추출된 차영상으로부터 검출되는 각각의 객체의 윤곽선을 검출하는 단계; 상기 윤곽선이 검출된 복수개의 객체 중 미리 설정된 범위 내의 객체들을 일원화함으로써 상기 플레이어에 해당하는 객체를 추출하여 상기 플레이어의 위치를 검출하는 단계; 및 상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼에 대한 볼 운동 모델을 산출하는 단계를 포함한다.
본 발명에 따른 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법은, 테니스라는 역동적인 스포츠의 특성을 플레이어가 경험하면서 또한 여러 가지 정보를 제공받을 수 있도록 하기 위한 가상 테니스 시뮬레이션 시스템을 제공하기 위한 것이며, 플레이어가 타격한 볼에 대한 센싱은 물론 상기 플레이어의 움직임에 대한 센싱 및 분석 등 다양한 정보의 센싱과 분석을 통해 종래의 스크린 테니스에서는 구현할 수 없었던 역동적이고 현실감 있는 가상의 테니스 플레이를 제공하며 플레이어에게 가상의 테니스 플레이에 대한 다양한 분석 정보를 제공함으로써 가상의 테니스 플레이를 즐기는 플레이어로 하여금 흥미를 향상시킬 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템으로서 스크린 테니스 시스템이 구현된 예를 나타낸 것이다.
도 2는 도 1에 도시된 가상 테니스 시뮬레이션 시스템의 스크린 및 그 주변의 구성에 관하여 나타낸 도면이다.
도 3은 도 1에 도시된 가상 테니스 시뮬레이션 시스템에서 제공하는 영상 컨텐츠의 일 예를 나타낸 도면이다.
도 4는 도 1에 도시된 가상 테니스 시뮬레이션 시스템의 구성을 나타낸 블록도이다.
도 5 및 도 6은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템에 이용되는 센싱장치의 센싱방법에 관한 플로세스를 나타내는 플로우차트이다.
도 7 및 도 8은 각각 촬영된 이미지에서 플레이어 및 그 이외의 제3자를 검출하는 것의 일 예에 대해 나타낸 도면들이다.
도 9는 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템에 이용되는 센싱장치의 라켓 검출에 대한 프로세스를 설명하는 플로우차트이다.
도 10은 도 9에 도시된 플로우차트에 따라 촬영된 이미지에서 사용자가 들고 있는 라켓을 검출하는 과정을 나타낸 도면이다.
도 11은 도 10에 도시된 과정에 따라 각각 검출된 라켓에 해당하는 오브젝트로서 각 오브젝트의 동작을 시계열적으로 나타낸 도면이다.
도 12는 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템에서 플레이어(P)와 영상 상의 가상의 상대방 플레이어(VP) 사이의 플레이와 이에 따른 볼 머신의 구동에 관하여 설명하기 위한 도면이다.
본 발명에 따른 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법에 대한 구체적인 내용을 도면을 참조하여 설명하도록 한다.
먼저, 도 1 내지 도 4를 참조하여 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템의 구성에 관하여 설명한다.
도 1은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템으로서 스크린 테니스 시스템이 구현된 예를 나타낸 것이고, 도 2는 도 1에 도시된 가상 테니스 시뮬레이션 시스템의 스크린 및 그 주변의 구성에 관하여 나타낸 도면이며, 도 3은 도 1에 도시된 가상 테니스 시뮬레이션 시스템에서 제공하는 영상 컨텐츠의 일 예를 나타낸 도면이고, 도 4는 도 1에 도시된 가상 테니스 시뮬레이션 시스템의 구성을 나타낸 블록도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은 소정의 공간에 코트바닥부(30) 및 네트(32), 그리고 플레이어(P)의 전방에 스크린(20)을 구비하고, 상기 스크린(20)의 뒷쪽에는 라켓을 들고 테니스 플레이를 하는 플레이어(P)에게 상기 플레이어(P)가 타격할 수 있도록 볼을 제공하는 볼 머신(100)이 설치되며, 공간의 일측에 상기 스크린(20)에 영상을 투영하는 영상출력부(420)와 플레이어(P)가 타격하는 볼과 플레이어(P)의 움직임, 플레이어(P)가 사용하는 라켓 등에 대한 센싱 데이터를 수집하는 센싱장치(200)가 설치되어 구성될 수 있다.
상기 볼 머신(100), 센싱장치(200) 및 영상출력부(420) 등의 장치는 제어장치(300)와 연결되며, 상기 제어장치(300)는 상기 센싱장치(200)의 센싱 데이터를 전달받아 처리하며 사용자의 가상 테니스 연습 및 경기를 위한 영상 컨텐츠를 생성하여 상기 영상출력부(420)로 전달하고, 상기 영상출력부(420)는 상기 전달받은 영상 컨텐츠를 스크린(20)에 투영하며, 상기 볼 머신(100)의 볼 발사 및 발사되는 볼의 방향, 속도 등의 볼 발사 파라미터의 제어를 수행한다.
상기 볼 머신(100)은 스크린(20)의 뒷쪽에 설치되어 상기 스크린(20)에 형성된 볼 발사홀(22)을 통해 코트바닥부(30) 상의 미리 계산된 위치로 볼(1)을 발사하도록 구성되며, 도 1에 도시된 바와 같이 상기 볼 머신(100)은 다양한 위치로 다양한 속도의 볼(1)을 발사할 수 있도록 발사각 제어 및 발사속도 제어가 가능하도록 구성된다.
도 2에서는 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템을 실제 구현하여 스크린(20) 주변의 구성에 대해 촬영된 사진을 나타낸다.
도 2에 도시된 바와 같이, 볼 발사홀(22)은 스크린(20) 상의 대략 중간 정도의 위치에 구비될 수 있다. 물론 스크린(20) 상의 어느 위치에든 설치될 수 있으나 다양한 궤적의 볼에 대한 (상대방 플레이어의) 리시브를 구현함에 있어서 도 2에 도시된 바와 같이 대략 중간 정도의 위치가 바람직하다.
스크린(20)의 앞쪽에는 사용자가 스크린(20)을 향하여 타격한 볼이 스크린(20)에 충돌한 후 다시 사용자 쪽으로 굴러오지 않고 다시 볼 머신(100) 쪽으로 회수될 수 있도록 네트(32)와 경사 구조로 설치되는 바닥 그물망(32a) 등이 설치될 수 있으며 양 측면에는 외부로 볼이 튀어 나가지 않도록 안전그물망(33, 34)이 설치됨이 바람직하다.
상기 네트(32) 및 바닥 그물망(32a)에 의해 모이는 볼(2)은 스크린(20) 하단의 회수구(40) 쪽으로 모여서 다시 볼 머신 쪽으로 이송될 수 있도록 구성할 수 있다.
한편, 도 3은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템에서 제공하는 영상 컨텐츠의 일 예를 나타낸다.
도 3에 도시된 바와 같이, 전체 영상(IM)에는 메인 영상(500)과 미니맵 영상(600)이 포함된다.
메인 영상(500)은 사용자가 플레이하는 코트바닥부의 반대쪽 부분에 대한 가상 환경이 구현되고 가상의 상대방 플레이어(VP), 심판 등에 대한 컨텐츠 영상이 포함될 수 있다.
메인 영상(500)에서 마치 실제 테니스 매치에서 상대방이 플레이하듯, 가상의 상대방 플레이어(VP)는 미리 설정된 인공지능(이하 "AI"라 칭하기로 한다)에 따라 가상의 볼(VB)을 리시브(타격)하며, 이때 도 3에 도시된 바와 같이 가상의 상대방 플레이어(VP)가 타격한 가상의 볼(VB)의 궤적(Tb)이 표시될 수도 있고 표시되지 않도록 할 수도 있다. 궤적의 표시 여부와는 상관없이 가상의 볼(VB)의 궤적은 계산되어야 하고 그 궤적에 따라 영상 컨텐츠의 제어 및 볼 머신에서의 볼 발사 파라미터가 산출되어 구현될 수 있다. 이에 대한 구체적인 설명은 후술하도록 한다.
한편, 미니맵 영상(600)은 사용자가 플레이하는 코트바닥부 및 반대쪽 부분의 가상 환경에 관한 부분을 하나의 전체 테니스 코트로 하여 이를 위에서 바라본 평면도로써 소정 크기로 축소하여 표시되는 부분이다.
상기 미니맵 영상(600) 부분에는 사용자의 현재 위치, 사용자를 기준으로 하는 설정된 영역, 가상 플레이어의 공간상의 위치와 궤적, 볼의 위치 등 다양한 정보가 표시될 수 있다.
한편, 도 4를 참조하여 상기 도 1에 도시된 바와 같은 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템을 구성하는 각 구성요소들의 제어 계통에 관하여 설명하도록 한다.
도 4에 도시된 바와 같이 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은, 볼 머신(100), 센싱장치(200), 제어장치(300) 및 영상출력부(420)를 포함하여 구성될 수 있다.
상기 제어장치(300)는 데이터저장부(320), 영상처리부(330), 제어부(310) 등을 포함하여 구비될 수 있으며, 상기 영상출력부(420)는 상기 영상처리부(330)에 의해 처리된 영상이 스크린(20) 상에 투영될 수 있도록 하는 프로젝션 장치 등에 의해 구현될 수 있다.
상기 데이터저장부(320)는 가상 테니스 시뮬레이션 시스템에서 이루어지는 테니스 연습 또는 경기에 관한 배경 영상, 가상의 플레이어에 대한 영상, 타격된 볼 등에 대한 시뮬레이션 영상 등의 처리를 위한 데이터가 저장되는 부분이다. 상기 데이터저장부(320)는 서버(미도시)로부터 전송받은 데이터를 일시적으로 저장하는 저장소 역할을 하는 것으로 구성될 수도 있다.
상기 영상처리부(330)는 가상의 테니스장에 관한 영상, 선수와 심판, 관객 등에 관한 영상 등의 백그라운드 영상과 가상의 상대방 플레이어가 볼을 타격하는 영상, 플레이어가 타격한 볼의 궤적에 대한 시뮬레이션 영상 등 각종 시뮬레이션 관련 영상을 생성한다.
한편, 상기 센싱장치(200)는 플레이어가 라켓으로 타격하는 것에 대한 이미지를 연속적으로 촬영하여 그 촬영된 이미지들을 분석함으로써 타격된 볼의 운동 정보는 물론, 그 타격된 볼이 스크린 상의 어느 부분에 도달하는지 정확하게 센싱하는 카메라 센싱 방식의 장치로서 구성할 수 있다.
상기 센싱장치(300)는 카메라유닛(210), 센싱처리유닛(220) 및 카메라 제어부(230)를 포함하여 구성될 수 있는데, 상기 카메라유닛(210)은 미리 설정된 영역을 포함하는 일정 촬영 범위에 대한 이미지를 연속적으로 취득하며, 상기 센싱처리유닛(220)은 상기 카메라유닛(210)으로부터 이미지를 전달받아 미리 설정된 사항에 따른 이미지 분석을 수행하여 상기 가상 테니스 시뮬레이션에 따른 테니스 연습 또는 테니스 경기에 필요한 정보를 산출한다.
상기 센싱장치(200)의 카메라유닛(210)은 서로 다른 위치에서 동일한 촬영 범위를 각각 촬영하여 촬영된 이미지 상의 객체에 대한 3차원 위치 정보를 산출해 낼 수 있도록 제1 카메라(211) 및 제2 카메라(212)를 포함하여 스테레오 방식(Stereoscopic)으로 구성함으로써, 상기 센싱처리유닛(220)이 상기 카메라유닛(210)이 촬영한 이미지의 분석을 통해 볼에 대한 3차원 좌표 데이터를 얻을 수 있도록 함이 바람직하다.
도면상으로 도시되어 있지는 않지만, 본 발명에 따른 시스템에 구비되는 센싱장치(200)의 카메라유닛(210)은 그 화각의 중심을 기준으로 전후좌우로 각각 틸팅 가능하도록 구성될 수 있으며, 제1 카메라(211) 및 제2 카메라(212)는 각각 자동으로 줌인-줌아웃이 가능하도록 구성될 수 있다.
상기 카메라 제어부(230)는 상기 제1 카메라(211) 및 제2 카메라(212) 각각의 전후좌우 틸팅 및 줌인-줌아웃을 이미지의 처리 결과에 따라 또는 촬영된 이미지에서 플레이어가 검출되는 위치에 따라 미리 설정된 프로그램에 따라 제어하도록 구성될 수 있다.
상기 제1 카메라(211) 및 제2 카메라(212)가 각각 전후 방향 또는 좌우 방향으로의 1축 방향 틸팅을 하도록 구성하는 것도 가능하다.
3차원 공간에서 상기 각 카메라의 위치 정보와 카메라의 화각을 참조하여, 3차원 공간에서 특정 영역별 카메라의 pan 과 zoom 값을 갖고 있는 데이터 테이블을 제작하여 미리 저장해 놓고, 이를 기반으로 플레이어의 위치 정보가 검출되었을 때 각각의 카메라가 해당 위치를 겨냥하도록 상기 카메라 제어부(230)가 제어하도록 하는 것이 가능하다.
따라서, 사용자가 코트바닥부에서 다이나믹하게 움직이면서 다양한 위치로 발사되는 볼을 타격하는 것을 모두 정확하게 포착하여 센싱 데이터 수집을 위한 이미지를 취득할 수 있다.
상기 센싱처리유닛(220)은 상기 카메라유닛(210)의 제1 카메라(211) 및 제2 카메라(212) 각각으로부터 촬영된 이미지를 전달받아 수집하면서 그 수집된 이미지 각각을 분석하여 볼을 찾아 각 볼에 대한 3차원 좌표 데이터를 추출하고 그 추출된 3차원 좌표 데이터를 이용하여 (플레이어의 라켓에 의해) 타격되어 운동하는 볼에 대한 볼의 운동 모델을 결정하며, 볼의 운동 모델이 결정되면 이를 이용하여 상기 가상 테니스 시뮬레이션을 통한 테니스 연습 및 테니스 경기에 필요한 각종 정보를 산출한다.
여기서, 볼의 운동 모델은 타격되어 운동하는 볼의 3차원 공간 상에서의 궤적에 관한 운동 방정식으로 표현되는 것을 의미하며, 도 1에 도시된 바와 같이 본 발명에 따른 시스템에 의한 테니스 연습 또는 경기가 이루어지는 공간에 대해 x축, y축 및 z축의 3차원 좌표계로 정의하여 그 정의된 좌표계에 따라 상기 볼의 운동 모델이 결정될 수 있다.
즉, 상기 볼의 운동 모델은 x축 방향의 운동 방정식, y축 방향의 운동 방정식 및 z축 방향의 운동 방정식으로 정의될 수 있다.
상기한 바와 같은 볼의 운동 모델 산출은 종래의 스크린 골프 시스템 등에서 센서가 골프클럽으로 타격된 볼의 운동을 센싱하여 센싱데이터를 산출하는 것과는 완전히 다른 것이다.
종래의 스크린 골프 시스템 등에서도 카메라 방식의 센싱장치가 널리 이용되고 있지만 상기 센싱장치는 볼이 타격되었을 때의 출발 속도, 출발 방향각 및 높이각 등 초기 운동 조건을 산출하여 가상의 공간, 즉 가상의 골프코스에서 상기 산출한 초기 운동 조건에 따라 볼이 출발하였을 때 물리엔진에 의해 시뮬레이션 되는 볼의 궤적을 산출하는 방식이었다.
그러나, 본 발명에 따른 가상 테니스 시뮬레이션 시스템의 센싱장치가 산출하는 볼의 운동 모델은 볼이 타격되었을 때의 초기 운동 조건을 산출하는 것이 아니라 실제 플레이어가 플레이하는 공간, 즉 실제 3차원 공간 상에서의 각 좌표축 방향의 운동 방정식에 기초하여 산출하는 볼의 운동 모델로서 실제 볼이 이동하는 모델을 구하는 것이다.
이러한 볼의 운동 모델을 산출함으로써 단순히 볼의 초기 운동 조건을 센싱하여 산출하는 경우보다 더 다양하고 많은 정보의 제공이 가능하고, 특히 가상 테니스 시뮬레이션과 같이 현실과 가상의 세계가 자주 교차하고 더욱 긴밀하게 연결되어야 하는 경우에 있어서는 더욱 적합한 센싱 방식이다.
예컨대, 상기한 볼의 운동 모델 산출이 실제 플레이가 이루어지는 3차원 공간 상에서의 볼 운동 모델이기 때문에 볼이 실제 스크린에 도달하는 위치 등을 쉽게 산출할 수 있으며, 스크린 도달 위치의 산출을 통해 실제 볼이 스크린에 도달한 후 그 위치부터 가상의 볼이 시뮬레이션되도록 하는 영상을 구현함으로써 현실과 가상의 세계가 자연스럽게 연결되도록 할 수 있다.
물론 별도의 장치로 운동하는 볼이 스크린에 도달하는 위치를 감지할 수도 있지만, 본 발명은 볼의 운동을 감지하는 센싱장치만으로도 그렇게 할 수 있다는 점이 특장점인 것이다.
상기한 볼의 운동 모델의 산출에 대한 좀 더 구체적인 내용은 후술하도록 한다.
한편, 상기 볼 머신(100)은 스크린(20)의 후면에 설치되어 스크린(20) 상의 볼 발사홀(22)을 통해 볼을 발사하는 장치로서, 도 4에 도시된 바와 같이 볼 공급부(110), 발사 구동부(120) 및 발사 제어부(130)를 포함하여 구성될 수 있다.
상기 볼 공급부(110)는 다수의 볼이 보관된 보관함에서 볼을 하나씩 이송하여 발사 구동부(120)로 공급하는, 즉 볼 발사를 위한 위치로 볼을 공급하는 구성요소이다.
상기 발사 구동부(120)는 상기 볼 공급부(110)에 의해 공급된 볼을 발사하는 구성요소로서, 두 개 이상의 휠을 회전시키고 그 휠들 사이에 볼을 위치시켜 상기 휠들의 회전력에 의해 볼을 발사하는 방식, 볼을 마치 총알처럼 발사시키는 방식 등 다양한 방식에 의해 구현될 수 있다.
상기 발사 제어부(130)는 미리 설정된 발사조건, 또는 가상 테니스 상의 가상의 상대방 플레이어에 대해 미리 설정된 AI에 따라 결정되는 타격조건 및 타격된 볼의 궤적 등에 따라 발사 구동부(120)를 제어하여 그 설정된 타격조건 상의 볼의 속도, 구질 등을 제어하여 볼 발사가 이루어지도록 할 수 있다.
또한, 상기한 볼 머신(100)은 상기 발사 구동부(120)를 상하 방향 및 좌우 방향으로 각각 틸팅 할 수 있도록 구성하여, 상기 발사 제어부(130)가 상기한 타격조건에 맞게 발사 구동부(120)에 대한 틸팅 구동을 제어하여, 스크린 상의 볼 발사홀을 통해 소정 각도 범위 내에서 다양한 방향으로 볼이 발사되도록 할 수 있다.
한편, 도 5를 참조하여 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템에 이용되는 센싱장치의 센싱방법으로서 볼의 운동 모델의 산출 및 이를 활용하는 방법의 일 예에 관하여 상세하게 설명한다.
플레이어에 의한 가상의 테니스 플레이가 시작되면서 센싱장치가 작동하여, 상기 센싱장치의 각 카메라가 그 촬영 범위에 대한 이미지를 지속적으로 취득한다(S100).
그리고 센싱처리유닛은 상기한 바와 같이 지속적으로 취득되는 각각의 이미지에서 볼에 해당하는 객체를 검출하고(S110), 상기 검출된 객체에 대해 볼에 해당하는 특징을 체크하여 볼인 것을 확인하며, 볼이 아닌 것 등 각종 노이즈를 제거한다(S120).
여기서 이미지에서 객체를 검출하는 것은 차연상(Difference Image) 및 윤곽선 검출(Edge Detection - Contouring) 등의 기법을 이용할 수 있고, 검출된 객체에 대해 볼에 해당하는 특징을 체크하는 것은, 예컨대 객체의 크기, 가로-세로 비율, 객체의 둥근 정도, 객체의 밝기 등에 있어서 각각의 해당 항목들을 볼에 해당하는 정보로 미리 설정한 후 각각의 검출된 객체에 상기 미리 설정된 각 항목별로 체크를 하여 볼인 객체를 확인하는 것이다.
상기 차영상은 초기 레퍼런스 이미지와 이후 실시간으로 취득되는 이미지와 차연산 기법에 의해 차영상을 구함으로써 그 차영상에서는 운동하는 객체가 남게 된다.
운동하는 객체가 남아있는 이미지를 특정 임계 값을 기준으로 이진화 영상으로 변환하고, 이진화된 이미지에서 추출된 객체의 특징을 뽑아내기 위해 윤곽선을 검출한다. 검출된 윤곽선에 대한 정보로 객체의 형태를 파악하여, 원(2차원 영상에서 테니스공은 원 이미지로 출력)임을 판단한다. 볼의 특징에 해당하는 것으로서 미리 설정되는 체크 항목들은, 객체의 크기, 객체의 가로-세로 비율, 객체의 원주율 비율(둥근 정도) 및 객체의 밝기이다.
객체의 크기에 대해 살펴보면, 인식된 객체의 BlobSize(넓이)가 실제 볼의 사이즈를 기반으로 영상에 출력될 수 있는 임계 값을 벗어나는지를 확인한다. 이는 일반적으로 테니스를 플레이 할 경우, 화각에 들어와 영상으로 출력되는 볼의 크기를 예측한 것으로, 연산 속도를 줄이기 위해 넓은 범위의 절대적인 임계 값 범위를 지정한다.
이로 인해 Salt Noise 나 사람 등 크기로 빠르게 제외할 수 있는 요소들을 제외하여, 연산 속도를 높일 수 있다.
객체의 가로-세로 비율을 살펴보면, 움직이는 볼의 예상 최대 속도(60m/s미만)와 영상 촬영 속도(350fps)를 고려했을 때, 볼의 이미지에 왜곡이 없을 것으로 판단하고, 객채에 대한 관심영역의 너비와 높이가 유사할 것으로 기대하여, 유사도가 높을수록 원에 가까운 것으로 판단한다.
객체의 원주율 비율을 살펴보면, 윤곽선 검출로 뽑아낸 객체의 둘레와, 넓이 값을 추출할 수 있는데, 이를 이용해 객체의 넓이와 둘레를 기준으로 원에 가까운지를 판단한다.
원주율 비율이 1에 가까울수록 원의 형태에 가깝다고 판단한다.
S = 원의 면적, r = 원의 반지름, l = 원의 둘레
Figure PCTKR2019002892-appb-img-000001
∴ 원주율 비율(0~1) = 4 πS/(l^2)
또한, 볼은 영상에서 특정 밝기 이상으로 나오기 때문에, 객체의 밝기값 역시 볼을 판단하는 기준으로 사용할 수 있다.
한편, 볼의 검출과 함께 이미지에서 노이즈로 판단되는 부분들을 적절히 제거하는 것이 필요한데, 먼저 3차원 Booth의 영역을 벗어난 볼 부분은 플레이 하는 3차원 공간의 영역 정보(미리 저장된 정보)를 이용하여 쉽게 파악할 수 있으며 이는 노이즈로 판단하여 제거한다.
볼의 실제 크기와 3차원 공간에서 볼의 위치값을 이용해, 이미지에서 기대되는 볼의 Blob 크기를 산출하고, 임계치를 벗어나는 3D 볼 데이터를 노이즈로서 제거할 수 있으며, 볼의 실제 크기 정보와 카메라의 위치를 알고 있으므로, 3차원 공간에서 산출된 볼의 위치 정보와 카메라 위치와의 거리 차이를 통해, 영상에서 기대되는 볼의 넓이를 예상하여, 과도하게 벗어나는 데이터는 노이즈라고 판단하고 제거할 수 있다.
상기한 바와 같이 이미지로부터 볼을 검출한 경우, 그 검출된 볼이 어느 방향으로 움직이는지 판단하는 것이 필요할 수 있다. 왜냐하면, 센싱장치가 센싱을 하고자 하는 것은 플레이어가 타격한 볼이 스크린으로 움직일 때의 볼의 운동 모델 산출이므로 볼이 반대로 스크린에서 플레이어 쪽으로 이동할 때는 볼의 운동 모델을 산출할 필요가 없을 수 있기 때문이다.
따라서 상기 S120단계에서 볼이 검출되면 그 볼이 스크린 방향으로 움직이는지 판단하여(S130), 만약 스크린 방향으로 움직인다면 앞서 설명한 볼 운동 모델의 산출 프로세스가 시작하도록 트리거 신호가 발생된다(S140).
만약 검출된 볼이 스크린 방향으로 움직이는 것이 아니라면 다시 볼의 검출에 대한 S110 단계부터 다시 프로세스가 시작된다.
S140 단계에서 볼 운동 모델의 산출 트리거가 발생하면, 지속적으로 취득되는 이미지 중에서 트리거 발생 이전 및 이후의 미리 설정된 개수의 이미지를 추출하여 각각의 이미지를 분석하며, 먼저 각각의 이미지에서 볼에 해당하는 객체를 검출하고(S142), 검출된 객체에 대한 볼 여부의 검증(S144)을 한다. 이는 상기한 S110 및 S120 단계와 실질적으로 동일한 방식이다.
각각의 이미지에서 볼을 검출하고 검증한 경우, 상기 볼로서 검증된 각각의 객체에 대한 3차원 좌표 정보를 산출하고(S146), 산출된 볼의 좌표 정보를 이용하여 플레이어의 타격 지점에서 스크린으로 이동하는 볼에 대한 볼 운동 모델을 결정한다(S148).
이와 같은 볼의 운동 모델의 결정에 RANSAC 알고리즘을 이용할 수 있다.
예컨대, 3차원 볼 좌표들 중 2개를 샘플링하여 가상의 모델을 trial 하면서 가장 많은 데이터들로부터 지지를 받는 모델을 선택하는 방식으로 최종적인 볼의 운동 모델을 선택할 수 있다.
추출한 가상 모델과 볼의 좌표값들이 특정 임계값 미만으로 모델에 인접하는 데이터의 개수를 센다. 이때, 임계값을 벗어나는 데이터는 outlier(Noise)이 된다.
여기서, inlier(True Data)와 outlier 을 구분하는 임계값을 설정할 때, 임계값이 클수록 모델을 추출할 확률은 높아지지만, 올바르지 않은 모델을 추출할 확률도 함께 증가한다. 반대로, 임계값이 작아질 경우 모델 추출에 실패할 확률이 높아지지만, 올바른 모델을 추출할 확률은 높아진다.
볼의 좌표 데이터가 있음에도 불구하고 모델 추출에 실패하는 경우는, 카메라나 렌즈의 왜곡에서 오는 오차나, 스테레오 카메라 기법으로 추출한 3차원 좌표의 데이터의 정밀도가 낮을 수 있기 때문일 수 있다.
따라서 적절한 임계값을 주는 것이 중요한데, 예컨대 RANSAC 을 엄격한 임계값(작은 임계값)으로 1회, 실패할 경우 넓은 범위의 임계값(큰 임계값)으로 2회 수행함으로써, 올바른 모델을 뽑을 확률을 높이고, 모델 추출에 실패할 확률을 높이도록 하는 것이 가능하다.
한편, 볼의 운동 모델 결정에 있어서 각 3 축 방향의 함수는, 아래와 같다.
[x, y 축 방향의 함수]
x = a_x*t+b_x
여기서, t는 시간값, x는 x방향 좌표값, a_x는 시간에 대한 x방향 좌표의 증가량(함수의 기울기), b_x는 t가 0일 때의 x방향 좌표값(절편)을 의미한다.
y = a_y*t+b_y
여기서, t는 시간값, y는 y방향 좌표값, a_y는 시간에 대한 y방향 좌표의 증가량(함수의 기울기), b_y는 t가 0일 때의 y방향 좌표값(절편)을 의미한다.
운동하는 볼의 x, y 축 방향 운동은 등속 운동으로 가정할 수 있으므로, 1차 함수로 표현할 수 있다.
[z 축 방향의 함수]
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방향 좌표값(절편)을 의미한다.
산출된 볼 운동 모델의 시간 t와 x, y, z 좌표값 정보를 통해, 기대하는 시간 t의 구간에서 볼 운동 모델에 근접한 일정 거리 안에 볼이 있는지 확인 후, 해당 운동 모델을 벗어난 볼이 많을 경우(미리 설정된 개수를 넘는 경우) 올바르지 않은 모델로 판정한다.
이는, 일반적으로 볼을 타격하는 모델과, 그 외 기타 반사로 인해 불규칙하게 추출되는 모델을 구분하는데 용이하다.
한편, 상기한 바와 같이 볼의 운동 모델이 상기 각 좌표축 방향에서의 운동 방정식을 이용하여 특정 함수로 결정되면, 그 결정된 볼 운동 모델을 이용하여 플레이어의 플레이에 이용되는 볼이 아닌 바닥볼을 구분하여 분류할 수 있다(S150).
즉, 상기 취득된 이미지로부터 추출되는 볼이, 볼 운동 모델로부터 소정 범위를 벗어나는 경우, 볼 운동 모델 내의 볼의 평균 높이를 산출하여 상기 산출된 볼의 평균 높이보다 아래에 위치하는 경우, 볼 운동 모델의 평균 속도를 산출하여 상기 산출된 볼 운동 모델의 평균 속도보다 낮은 속도를 갖는 경우 중 적어도 한 가지 경우에 해당하는지 판단하여 그 해당하는 볼에 대해 상기한 바닥볼로서 분류할 수 있다.
이때, 제어장치는 센싱처리유닛에 의해 상기 바닥볼로 분류된 볼의 개수를 확인하고 상기 바닥볼로 분류된 볼의 개수가 미리 설정된 개수를 넘는 경우, 상기 플레이어에게 위험 경고를 위한 알람을 제공하거나 상기 볼 머신의 볼박스에 볼을 채울 것을 요청하는 알람을 제공할 수 있다(S160).
테니스의 경우, 야구와 달리 예상 타격 위치가 정해져 있지 않고, 플레이 영역이 야구에 비해 넓다. 또한, 볼 머신 또한 볼을 발사하는 상하 각도 및 좌우 각도의 범위가 다양하므로, 특정 위치를 기준으로 올바른 피칭 모델과 히팅 모델을 판단하기가 어렵다. 따라서, 바닥에 구르는 볼 등 바닥볼을 제거 하기 위해 볼 운동 모델 내부의 데이터의 평균 높이 정보를 히팅 모델 기준으로 잡고, 바닥에 구르는 볼의 모델을 제거한다.
또한, 볼 운동 모델의 평균 속도를 확인 후, 특정 속도 미만일 경우 히팅 모델이 아니라고 판단할 수 있다.
테니스는 타격된 볼 운동 모델의 경우 일정 속도 이상을 갖게 될 확률이 높기 때문에, 속도 값을 하나의 판단요소로 사용하여, 특정 속도 이상일 경우 히팅 모델로 판단할 수 있다.
한편, 본 발명은 상기한 바와 같이 플레이어가 타격한 볼의 움직임을 볼 운동 모델로서 산출할 뿐만 아니라 상기 플레이어의 움직임도 센싱하여 플레이어의 위치를 지속적으로 산출함으로써 플레이어가 타격한 볼의 움직임과 상기 플레이어의 움직임 두 가지 모두에 기초하여 가상 테니스 플레이가 가능하도록 함으로써 플레이어가 다양한 상황과 플레이 스타일에 따른 역동적인 테니스 플레이를 즐길 수 있도록 하는 것을 특징으로 한다.
제어장치는 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보와 영상으로 구현되는 가상의 상대방 플레이어의 인공지능에 따라 센싱장치에 의해 검출되는 플레이어의 위치 및 상기 센싱장치에 의해 산출되는 볼의 운동 모델에 대응하여 상기 가상의 상대방 플레이어가 타격하는 가상의 볼에 따라 상기 플레이어에게 제공될 볼의 방향과 속도 등을 결정하고 볼 머신이 그에 따라 볼을 제공하도록 하는 것이 가능하다.
예컨대, 플레이어의 실력레벨이 높은 경우 센싱장치에 의해 검출되는 플레이어의 위치와 멀리 떨어진 위치를 특정하여 해당 위치로 볼 머신이 볼을 제공하도록 함으로써 플레이어가 까다로운 리시브 상황에서 볼을 타격하도록 하는 가상 플레이를 구현할 수 있다.
이와 같이 센싱장치가 플레이어를 검출하고 그 위치를 산출하는 것에 대해서는 도 6에 도시된 플로우차트에서 그 일 예를 설명하고 있다. 도 7 및 도 8은 각각 촬영된 이미지에서 플레이어 및 그 이외의 제3자를 검출하는 것의 일 예에 대해 나타내고 있다.
도 6에 대해 설명하면, 먼저 취득된 이미지에서 배경을 추출한다(S200). 배경 검출에는 KNN(K-Nearest Neighbor) 알고리즘이 이용될 수 있다.
상기 KNN 은 군집화(Clustering)를 하는 알고리즘의 일종으로서, 이 알고리즘을 활용하여 영상 내 지정 영역에서 들어오는 데이터 값을 프레임 단위로 체크하여 지정 위치에서 가장 많이 들어온 데이터 값을 지정영역의 배경이라고 판단한다.
배경을 검출하여 이를 이미지에서 제거한 후 그 이미지에서 플레이어에 해당하는 객체를 추출한다(S210).
플레이어에 해당하는 객체를 검출하는 일 예에 대해 도 7에서 나타내고 있다. 도 7의 (a)는 촬영된 영상이고 (b)는 플레이어가 검출된 영상에 해당한다.
상기 추출한 배경 이미지와 이후 실시간으로 취득되는 이미지와 차연산 기법에 의해 차영상을 구한다. 그 차영상에서는 운동하는 객체가 남게 된다. 도 7의 (a)에 나타낸 영상을 다른 레퍼런스 영상과 차영상을 구한다.
이와 같이 차영상을 구하면, 도 7의 (a)에 도시된 바와 같이 움직이는 객체(MO)가 검출되고 그 움직이는 객체에 해당하는 부분을 포함하는 소정의 영역을 관심영역(Ra)으로서 설정하여 그 설정된 관심영역(Ra)을 추출하여 분석할 수 있기 때문에 빠른 처리가 가능하다.
한편, 상기한 차영상을 통해 운동하는 객체가 남아있는 영상을 특정 임계 값을 기준으로 이진화 영상으로 변환한다. 이진화된 이미지에서 추출된 객체의 특징을 뽑아내기 위해 윤곽선을 검출한다. 검출된 윤곽선에 대한 정보로 객체의 형태를 파악한다.
이와 같이 이진화되어 윤곽선이 검출된 객체(Nb)에 대해 도 7의(b)에서 나타내고 있다.
그런데, 일반적으로 배경 이미지와 취득되는 이미지로 차영상을 구했을 경우 검출하고자 하는 객체(플레이어)의 복장이나 그림자 등으로 인하여 배경의 명도와 차이가 없어 구분이 잘되지 않거나 하나의 덩어리 객체로 인식되지 않는 경우가 있다.
이를 보완하기 위해 실제로는 유일한 플레이어지만 여러 개의 객체로 분리되어 입력된 객체들을 하나의 객체로 일원화 시켜주는 작업을 한다. 이는 기준 객체를 기반으로 미리 설정된 거리 내에 존재하면 하나의 객체로 묶어주는 것이다.
이와 같이 일원화 작업을 거쳐 검출된 객체에 대해서는 그 크기와 형태를 분석하여 미리 설정된 크기 이상일 경우 플레이어라고 판단할 수 있다. 이때 이미지 내 플레이어가 존재 가능한 영역에 제한이 있으므로 그러한 영역을 벗어났을 경우 노이즈로 판단할 수 있다.
다시 도 6으로 돌아와서, 상기한 바와 같이 플레이어에 해당하는 객체를 추출하였는데 또 다른 인체가 검출될 수 있으므로 이를 판단한다 (S220). 즉, 상기 검출된 플레이어의 유일성을 확인할 필요가 있다.
예컨대, 테니스 레슨 등의 경우 플레이어 외에 레슨을 위한 코치 등이 카메라의 화각 내로 진입할 수 있으므로, 이를 센싱장치가 파악을 하는 것이다.
만약, 이미지에서 인체가 둘 이상 검출된 경우, 각각의 검출된 인체의 위치를 검출하여(S221), 위험영역 내인지 여부를 판단한다(S222).
이에 대한 설명은 도 8을 참조하여 좀 더 구체적으로 하도록 한다.
센싱장치는 스크린과 인접한 미리 설정된 영역으로서 위험영역(SZ)을 미리 설정할 수 있다. 도면에서 C30은 영상 상에서의 코트바닥부를, CP는 영상 상에서의 플레이어를 각각 지칭하고 있다.
센싱장치는 취득되는 매 프레임의 이미지 상에서 위험영역(SZ) 내에서 객체를 감지하며 그 감지된 객체로부터 인체를 검출함으로써 어떤 사람이 위험영역 내에 존재한다는 것을 제어장치나 볼 머신에 알릴 수 있다. 즉, 센싱장치가 위험영역에서 어떤 인체를 감지한 경우 제어장치나 볼 머신으로 볼 머신 동작 중단 요청을 할 수 있다(S223, 도 6 참조).
상기한 바와 같은 프로세스를 통해, 테니스 레슨을 하는 코치가 특정 위치(예컨대, 볼 머신에서 볼이 발사되는 볼 발사홀 앞)에 섰을 경우, 바로 볼 머신이 중지되어 별도로 게임을 중지하지 않고 부드럽게 레슨을 진행할 수 있고, 플레이 중 2명 이상의 사용자가 등장할 경우 위험을 경고할 수 있다.
다시 도 6으로 돌아와서, S220 단계에서 플레이어에 해당하는 객체 외에 다른 인체에 해당하는 객체가 검출되지 않는 경우, 센싱장치는 상기 추출된 플레이어에 해당하는 객체의 무게중심을 상기 플레이어의 예상 위치로서 검출할 수 있다(S230).
센싱장치는 앞서 산출된 볼 운동 모델의 초기 위치(볼의 히팅될 때의 초기 위치)와 상기 산출된 플레이어의 예상 위치가 근접한지 여부를 판단하는데(S240), 구체적으로 상기 볼 운동 모델의 초기 위치와 상기 플레이어의 예상 위치가 미리 설정된 거리 이하인 경우에 상기 산출된 플레이어의 예상 위치를 상기 플레이어의 위치로서 결정할 수 있다(S251).
이와 같이 센싱장치는 볼 운동 모델뿐만 아니라 플레이어의 위치까지도 검출하여 플레이에 이용할 수 있다는 특장점이 있다.
센싱장치는 더 나아가 상기한 바와 같이 검출되는 플레이어의 위치 정보를 이용하여 플레이어의 이동 거리 및 플레이 시간 데이터를 감지하여(S252), 이를 이용하여 플레이 시간 동안의 해당 플레이어의 운동량까지 산출할 수 있다(S253).
상기한 바와 같은 프로세스를 통해, 플레이어 위치 변화량의 누적 수치로 플레이어의 총 운동량을 측정하고, 플레이어의 위치를 기반으로 볼 머신에서 제공되는 볼의 방향 등을 설정하여 게임의 난이도를 조절할 수 있다.
예컨대, 플레이어의 위치를 기반으로 가상 테니스 플레이 시 플레이어의 타격 위치를 지정하는 미션을 요구하여 가상 테니스 플레이의 재미를 더욱 향상시킬 수 있고, 서브 등의 특정 플레이 시 플레이어의 위치를 지정하는 미션을 요구하여 가상 테니스 플레이의 재미를 더욱 향상시킬 수 있다.
또한 예컨대, 여성 플레이어의 경우 또는 어린이 플레이어의 경우 상기한 바와 같은 플레이어의 운동량 측정을 통해 플레이 시간 등을 적절히 조절할 수 있다.
한편, 본 발명은 상기한 바와 같이 플레이어가 타격한 볼의 움직임을 볼 운동 모델로서 산출하고, 상기 플레이어의 움직임도 센싱하여 플레이어의 위치를 지속적으로 산출할 뿐만 아니라, 더 나아가 플레이어가 들고 있는 라켓까지 검출함으로써 플레이어가 타격한 볼의 움직임, 상기 플레이어의 움직임 및 라켓 검출을 통한 플레이어의 플레이시의 자세 정보 모두에 기초하여 가상 테니스 플레이가 가능하도록 함으로써 플레이어가 더욱 다양한 상황과 플레이 스타일에 따른 역동적인 테니스 플레이를 즐길 수 있도록 하는 것을 특징으로 한다.
제어장치는 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보와 영상으로 구현되는 가상의 상대방 플레이어의 인공지능에 따라 센싱장치에 의해 검출되는 플레이어의 위치, 상기 센싱장치에 의해 산출되는 볼의 운동 모델, 플레이어가 백핸드 자세로 스윙을 하는지 포핸드 자세로 스윙을 하는지 등에 대한 스윙 자세 정보에 대응하여 상기 가상의 상대방 플레이어가 타격하는 가상의 볼에 따라 상기 플레이어에게 제공될 볼의 방향과 속도 등을 결정하고 볼 머신이 그에 따라 볼을 제공하도록 하는 것이 가능하다.
예컨대, 플레이어의 실력레벨이 높은 경우 센싱장치에 의해 검출되는 플레이어의 위치와 멀리 떨어진 위치를 특정하여 해당 위치로 볼 머신이 볼을 제공하되 해당 플레이어가 오른손잡이인지 왼손잡이인지 미리 파악하여 리시브가 어려운 백핸드를 유도하도록 하는 위치로 볼을 제공하도록 함으로써 플레이어가 까다로운 리시브 상황에서 볼을 타격하도록 하는 가상 플레이를 구현할 수 있다.
상기한 바와 같이 센싱장치가 플레이어의 라켓을 검출함으로써 스윙 자세에 대한 정보를 산출하는 것에 관하여는 도 9 내지 도 11에서 설명하고 있다.
도 9는 상기한 라켓 검출에 대한 프로세스를 설명하는 플로우차트이고, 도 10은 도 9에 도시된 플로우차트에 따라 촬영된 이미지에서 사용자가 들고 있는 라켓을 검출하는 과정을 나타낸 도면이다. 그리고 도 11은 도 10에 도시된 과정에 따라 각각 검출된 라켓에 해당하는 오브젝트로서 각 오브젝트의 동작을 시계열적으로 나타낸 도면이다.
도 9에 도시된 바와 같이, 먼저 실시간 취득 이미지와 그 이전 이미지와의 고속차영상을 통해 고속으로 움직이는 객체를 검출한다(S300).
즉, 카메라 유닛에 의해 실시간으로 취득되는 이미지와 상기 취득된 이미지의 이전에 취득된 이미지 중 차연산 할 이미지로서 선택된 이미지와의 고속차영상을 통해 상기 카메라 유닛의 이미지 취득 속도 이상으로 움직이는 객체를 검출하는 것이다.
골프나 야구의 경우 골프클럽이나 야구배트는 대략 긴 막대 형상과 유사하기 때문에 이미지에서 라인 검출 등을 통해 골프클럽이나 야구배트를 쉽게 검출할 수 있지만, 테니스 라켓의 경우에는 그와 같은 방법을 통해서는 쉽게 검출할 수 없다.그렇다고 미리 정해 놓은 레퍼런스 이미지를 실시간 취득 이미지와 차영상을 할 경우 느리게 움직이는 객체와 빠르게 움직이는 객체가 모두 검출이 되기 때문에 또 다시 별도의 검출을 통해 라켓을 검출하여야 하므로 단순한 차영상으로는 처리 시간이 길어지는 문제가 있다.
따라서, 상기한 바와 같이 실시간으로 취득되는 이미지와 그 이전의 이미지(예컨대 해당 이미지의 바로 직전에 취득된 이미지)에 대해 차영상을 구하면 두 이미지 사이의 시간이 ms 정도의 극히 짧은 시간이므로 느리게 움직이는 것은 두 이미지에서 거의 변화가 없어서 그대로 차연산에 의해 제거되고 그 극히 짧은 시간 동안에도 움직임을 보일 정도로 고속으로 움직이는 것, 즉 라켓은 상기한 고속차영상에 의해 검출이 될 수 있다.
고속으로 움직이는 것이 라켓 외에도 있을 수 있으므로, 상기한 고속차영상을 통해 검출된 객체 중 앞서 검출한 플레이어의 위치를 기반으로 이에 근접한(즉, 미리 설정된 거리 내에 있는지 확인하여) 객체를 라켓 객체로서 추출할 수 있다(S310).
상기 플레이어의 위치에 근접한 미리 설정된 영역을 관심영역으로 설정하고 그 영역 내에서 고속차영상에 의한 객체를 찾음으로써 라켓을 더욱 빠르게 검출할 수 있다.
도 10의 (a), (b) 및 (c)는 상기한 바와 같은 고속차영상을 통해 라켓 객체(Rb)만 검출한 결과의 일 예를 보여주고 있고, 도 10의 (d), (e) 및 (f)는 다른 프레임의 영상을 이용하여 상기한 바와 같은 고속차영상을 통해 라켓 객체(Rb)를 검출한 것에 대해 나타내고 있다.
다시 도 9로 돌아와서, 상기한 바와 같이 고속차영상을 통해 추출되는 복수의 차영상 각각으로부터 추출되는 라켓 객체를 분석하여 라켓의 위치 및 이동 방향을 검출할 수 있고(S320), 미리 저장된 플레이어 정보와 검출된 라켓의 위치 및 이동 방향 정보를 이용하여 플레이어의 스윙이 포핸드인지 백핸드인지 여부 및 헛스윙 여부 등의 플레이어의 자세에 대한 정보를 산출할 수 있다(S330).
이에 대해서는 도 11에서 나타내고 있는데, 도 11에서는 도 10에 도시된 (c) 및 (f)와 같이 각각의 프레임의 영상에 대해 검출한 라켓 객체에 대한 영상(PM1 ~ PM5)의 일 예에 대해 나타내고 있다.
검출된 라켓은 특정 방향성을 갖고 운동을 하고 있는 것을 확인할 수 있다. 도 11에서 라켓 객체의 무게중심이 y축에서 + 방향으로 움직이고(도 11에서 PM1 -> PM2 -> PM3 -> PM4 -> PM5의 순서임), 오른손잡이라는 플레이어 정보를 취합하면 플레이어가 포핸드로 타격했다고 판단할 수 있게 된다 (마찬가지로 왼손잡이 플레이어의 경우 백핸드로 판단할 수 있다).
상기한 바와 같은 프로세스를 통해, 플레이어의 타격 위치와 라켓의 위치 및 방향을 기반으로 플레이어의 자세(백핸드/포핸드)를 유추할 수 있으며, 라켓 움직임을 검출하고 볼 운동 모델을 검출하여 헛스윙 여부를 판단할 수 있다.
따라서, 플레이어 정보, 검출된 플레이어의 위치 정보, 산출된 플레이어의 자세 정보, 볼 운동 모델에 따른 시뮬레이션 정보 등을 종합적으로 이용하여 볼 머신이 플레이어에게 제공할 볼의 방향 등을 결정하여 그에 따라 볼 제공이 이루어지도록 할 수 있다(S340). 즉, 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은 테니스라는 스포츠의 역동성과 랠리 등의 특성을 잘 살려서 다양한 플레이 상황과 플레이 난이도 등으로 구현되도록 할 수 있다.
한편, 도 12에서는 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템에서 플레이어(P)와 영상 상의 가상의 상대방 플레이어(VP) 사이의 플레이와 이에 따른 볼 머신의 구동에 관하여 설명한다.
도 12는 영상 컨텐츠로 제공되는 가상의 영역을 마치 물리적 영역인 것처럼 나타내었다.
즉, 플레이어(P)가 위치하는 코트바닥부(30)의 전방에 설치된 스크린(20) 뒷쪽에 상기 스크린(20) 상에서 구현되는 영상 컨텐츠와 동일한 가상의 영역(VW)이 존재한다고 가정하고 그 부분을 나타낸 것이다.
도 12에 도시된 바와 같이, 가상의 영역(VW)의 가상의 코트(VC)에서 가상의 플레이어(VP)가 볼을 타격하면 제어장치의 제어부는 그 궤적(Tb)을 계산하고 그 계산된 궤적(Tb)과 운동 조건에 따라 궤적(Tb)이 스크린(20)이 볼 발사부(22)에 연결되고 볼 발사부(22)부터는 실제 볼(1)이 궤적(Tb)과 운동 조건에 대응하여(동일한 궤적과 운동 조건으로 발사될 수도 있고 적절한 가중치를 적용하여 실제 공간을 고려하여 조금 더 약하게 발사되도록 할 수도 있다) 발사된다.
제어장치는 플레이어(P)의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보를 미리 저장하며, 가상 테니스 시뮬레이션 영상 상의 가상의 상대방 플레이어(VP)를 인공지능에 의해 제어하도록 구성되는 것이 바람직하다.
제어장치는 플레이어(P)의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보와 가상의 상대방 플레이어(VP)의 인공지능에 따라, 센싱장치에 의해 검출되는 플레이어의 위치 (및 라켓 검출에 따른 플레이어의 스윙 자세)에 대응하여 상기 가상의 상대방 플레이어(VP)가 타격하는 가상의 볼에 따라 상기 플레이어(P)에게 제공될 볼(실제 볼로서 볼 머신이 발사할 볼)의 방향, 속도 등의 볼 발사 파라미터를 결정하고, 그 결정되는 볼(실제 볼)의 방향에 따라 가상의 상대방 플레이어(VP)가 타격한 가상의 볼의 궤적에 대한 시뮬레이션 영상을 처리하며, 볼 머신(100)의 볼 발사 방향을 상기 결정된 볼의 방향에 대응하도록 설정하고, 도 12에 도시된 바와 같이 가상의 상대방 플레이어(VP)가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신(100)이 볼(1)을 상기 결정된 볼의 방향으로 제공하도록 제어하는 방식으로 가상 테니스 플레이가 진행될 수 있다.
이러한 방식으로 실제 코트바닥부(30)에서 스크린(20)을 향하여 테니스 플레이를 하는 플레이어(P)는 상기 스크린(20)에 투영되는 영상 상의 가상의 코트( VC) 상의 가상의 상대방 플레이어(VP)와 현실과 가상현실을 넘나들면서 테니스 랠리를 진행할 수 있다.
이때 센싱장치는 볼의 운동만을 센싱하도록 구성될 수도 있고 볼의 운동에 대한 센싱과 함께 플레이어의 위치를 센싱하도록 구성되어 그 센싱 결과를 상기한 랠리의 구현에 반영하는 것이 가능하다.
상기한 바와 같은 랠리는 센싱장치의 센싱 데이터를 이용하여 제어장치가 수행하며 상기 제어장치가 볼 머신을 제어하여 가상의 볼에 대응하여 실제 볼이 발사되도록 하는 방식으로 구현될 수 있다.
구체적으로, 먼저 플레이어가 볼을 타격한 것이 영상 상의 가상의 상대방 플레이어로 가는 경우를 설명한다.
플레이어의 볼 타격에 따라 카메라 유닛에 의해 취득된 이미지의 분석을 통해 센싱처리유닛이 볼 운동 모델을 산출한 것을 이용하여 상기 볼 운동 모델에 대응되도록 영상 상에서 가상의 볼이 상기 가상의 상대방 플레이어가 있는 가상의 코트 쪽으로 이동하는 시뮬레이션 영상을 구현한다.
이때 영상 상에서 시뮬레이션 되는 가상의 볼이 인플레이(IN-play)인지 제어장치는 판단을 한다. 만약 인플레이가 아니면 아웃으로 처리되어 랠리가 처음부터 다시 시작되며 만약 인플레이인 경우에는 제어장치는 미리 설정하고 있는 인공지능을 이용하여 그에 따라 가상의 상대방 플레이어가 가상의 볼을 타격하도록 하는 영상을 구현한다.
한편, 플레이어가 볼을 타격한 것에 대해 영상 상의 가상의 상대방 플레이어가 타격한 볼이 플레이어로 가는 경우에 대해 설명한다.
제어장치가 구현하는 인공지능은 플레이어의 실력레벨, 난이도, 플레이스타일 등과 플레이어의 타격에 의해 시뮬레이션 되어 이동하는 가상의 볼의 타구 방향이나 구질(볼의 속도 등) 등을 종합적으로 고려하여 상기 가상의 상대방 플레이어가 가상의 볼을 타격(리시브)하는 가상의 볼의 운동 조건(가상의 볼의 출발속도와 방향 등 또는 벡터로 설정된 경우에는 벡터의 방향과 크기 등)을 결정하고 그 결정된 볼의 운동조건에 따라 가상의 볼이 타격되어 이동하는 시뮬레이션 영상이 구현된다.
이때 제어장치는 상기 결정된 가상의 볼의 운동 조건에 따라 볼 머신이 플레이어에게 제공할 볼(실제 볼)의 방향 및 속도를 설정하고, 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신이 볼을 상기 설정된 볼의 방향 및 속도로 제공하도록 하여 상기 플레이어로 하여금 상기 볼 머신에서 발사된 볼을 타격하도록 한다.
여기서, 플레이어가 상기 볼 머신이 제공하는 볼을 받아 치면 다시 상기한 ‘플레이어가 볼을 타격한 것이 영상 상의 가상의 상대방 플레이어로 가는 경우’ 및 ‘영상 상의 가상의 상대방 플레이어가 타격한 볼이 플레이어로 가는 경우’가 반복하여 진행되면서 플레이어와 영상 상의 가상의 상대방 플레이어가 현실과 가상현실을 넘나들면서 테니스 랠리를 구현하게 되는 것이다.
이상 설명한 바와 같이 본 발명에 따른 가상 테니스 시뮬레이션 시스템은, 레이어가 타격한 볼에 대한 센싱은 물론 상기 플레이어의 움직임에 대한 센싱 및 분석, 나아가 플레이어가 들고 있는 라켓의 움직임에 대한 센싱 및 분석 등 다양한 정보의 센싱과 분석을 통해 종래의 스크린 테니스에서는 구현할 수 없었던 역동적이고 현실감 있는 가상의 테니스 플레이를 제공함으로써 가상의 테니스 플레이를 즐기는 플레이어로 하여금 흥미를 향상시킬 수 있는 특장점이 있다.
본 발명에 따른 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법은, 소정 크기의 실내 공간에서 볼 머신이 제공하는 볼을 사용자가 테니스 라켓으로 타격하고 이를 센싱장치가 센싱하여 전방의 스크린을 통해 시뮬레이션 영상을 구현함으로써 사용자의 테니스 연습 또는 가상의 테니스 경기를 가능하게 하는 기술 분야에서 산업상 이용가능성을 갖는다.

Claims (21)

  1. 플레이어가 테니스 플레이를 하는 코트바닥부의 전방에 구비되어 가상 테니스 시뮬레이션 영상이 투영되는 스크린;
    상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신;
    미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 카메라 유닛;
    상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼에 대한 볼 운동 모델을 산출하는 센싱처리유닛; 및
    상기 플레이어가 플레이하는 상대방인 가상의 상대방 플레이어에 대한 영상을 구현하고 미리 설정된 인공지능에 따라 상기 가상의 상대방 플레이어가 플레이하도록 제어하며, 상기 센싱처리유닛에 의해 산출된 볼 운동 모델을 이용하여 상기 가상 테니스 시뮬레이션 영상의 생성 및 처리와 상기 볼 머신의 제어를 수행하는 제어장치를 포함하며,
    상기 제어장치는,
    상기 플레이어의 볼 타격에 따라 상기 카메라 유닛에 의해 취득된 이미지의 분석을 통해 상기 센싱처리유닛이 볼 운동 모델을 산출한 것을 이용하여 상기 볼 운동 모델에 대응되도록 영상 상에서 가상의 볼이 상기 가상의 상대방 플레이어가 있는 가상의 코트 쪽으로 이동하는 시뮬레이션 영상을 구현하고,
    미리 설정된 인공지능에 따라 상기 가상의 상대방 플레이어가 가상의 볼을 타격함에 따라 상기 타격된 가상의 볼이 이동하는 시뮬레이션 영상을 구현하며,
    상기 가상의 볼이 이동하는 연장선상에서 상기 볼 머신이 볼을 제공하여 상기 플레이어로 하여금 타격할 수 있도록 하는 방식으로,
    상기 플레이어가 볼을 타격한 것에 대해 상기 가상의 상대방 플레이어가 가상의 볼을 타격하는 것을 반복하면서 상기 플레이어와 영상 상의 상기 가상의 상대방 플레이어가 테니스 랠리를 구현할 수 있도록 하는 가상 테니스 시뮬레이션 시스템.
  2. 제1항에 있어서, 상기 제어장치는,
    상기 플레이어의 타격에 따라 상기 카메라 유닛 및 센싱처리유닛에 의해 센싱된 볼에 대응하여 영상 상에서 시뮬레이션 되는 가상의 볼이 인플레이인지 판단하여, 인플레이인 경우 상기 인공지능에 따라 상기 가상의 상대방 플레이어가 타격하는 상기 가상의 볼의 운동 조건을 결정하며,
    상기 결정된 가상의 볼의 운동 조건에 따라 상기 볼 머신이 상기 플레이어에게 제공할 볼의 방향 및 속도를 설정하고,
    상기 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신이 볼을 상기 설정된 볼의 방향 및 속도로 제공하도록 하여 상기 플레이어로 하여금 상기 볼 머신에서 발사된 볼을 타격하도록 하는 방식으로 상기 플레이어와 영상 상의 상기 가상의 상대방 플레이어가 테니스 랠리를 구현할 수 있도록 한 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템.
  3. 제1항에 있어서,
    상기 센싱처리유닛은,
    상기 카메라 유닛에 의해 취득되는 이미지로부터 상기 플레이어에 해당하는 객체를 추출하여 분석함으로써 상기 플레이어의 위치를 검출하도록 구성되며,
    상기 제어장치는,
    상기 센싱처리유닛에 의해 검출되는 상기 플레이어의 위치에 기초하여 상기 인공지능이 상기 가상의 상대방 플레이어가 타격할 때의 가상의 볼의 운동 조건을 결정하도록 한 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템.
  4. 플레이어가 테니스 플레이를 하는 코트바닥부의 전방에 구비되어 가상 테니스 시뮬레이션 영상이 투영되는 스크린;
    상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신;
    미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 카메라 유닛;
    상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼에 대한 볼 운동 모델을 산출하며, 상기 취득된 이미지로부터 상기 플레이어에 해당하는 객체를 추출하여 분석함으로써 상기 플레이어의 위치를 검출하는 센싱처리유닛; 및
    상기 센싱처리유닛에 의해 산출된 볼 운동 모델을 이용하여 상기 가상 테니스 시뮬레이션 영상의 생성 및 처리와 상기 볼 머신의 제어를 하며, 상기 센싱처리유닛에 의해 검출되는 상기 플레이어의 위치에 기초하여 상기 플레이어에게 제공되는 볼의 방향을 결정하고 그에 대응하여 상기 가상 테니스 시뮬레이션 영상의 처리 및 상기 볼 머신의 제어를 수행하는 제어장치;
    를 포함하는 가상 테니스 시뮬레이션 시스템.
  5. 제4항에 있어서, 상기 센싱처리유닛은,
    상기 플레이어가 플레이하는 3차원 공간의 좌표계와 각 좌표축 방향에서의 볼의 운동에 대한 함수를 미리 정의하며, 상기 카메라 유닛에 의해 촬영되는 이미지를 분석하여 운동하는 볼에 대한 각 이미지 상에서의 3차원 공간상의 좌표 데이터를 검출하고, 상기 검출된 볼의 좌표 데이터를 상기 각 좌표축 방향에 대해 미리 정의된 함수에 적용함으로써 상기 플레이어에 의해 타격되어 운동하는 볼에 대한 볼 운동 모델을 산출하도록 구성되며,
    상기 제어장치는,
    가상의 상대방 플레이어와, 상기 플레이어가 플레이하는 코트바닥부와 대응하여 상기 가상의 상대방 플레이어가 플레이하는 가상의 코트에 관한 영상을 구현하며, 상기 센싱처리유닛에 의해 산출되는 볼 운동 모델에 기초하여 상기 가상의 상대방 플레이어로 운동하는 가상의 볼의 시뮬레이션 영상을 구현하도록 구성되는 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템.
  6. 제5항에 있어서, 상기 센싱처리유닛은,
    상기 취득된 이미지로부터 추출되는 볼이, 상기 산출된 볼 운동 모델로부터 소정 범위를 벗어나는 경우, 상기 산출된 볼 운동 모델 내의 볼의 평균 높이를 산출하여 상기 산출된 볼의 평균 높이보다 아래에 위치하는 경우, 상기 산출된 볼 운동 모델의 평균 속도를 산출하여 상기 산출된 볼 운동 모델의 평균 속도보다 낮은 속도를 갖는 경우 중 적어도 한 가지 경우에 해당하는지 판단하여 그 해당하는 볼에 대해 상기 플레이어의 플레이에 이용되는 볼이 아닌 바닥볼로서 분류하도록 구성되며,
    상기 제어장치는,
    상기 센싱처리유닛에 의해 상기 바닥볼로 분류된 볼의 개수를 확인하고 상기 바닥볼로 분류된 볼의 개수가 미리 설정된 개수를 넘는 경우, 상기 플레이어에게 위험 경고를 위한 알람을 제공하거나 상기 볼 머신의 볼박스에 볼을 채울 것을 요청하는 알람을 제공하도록 구성되는 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템.
  7. 제4항에 있어서, 상기 센싱처리유닛은,
    상기 취득되는 매 프레임의 이미지로부터 각각 상기 플레이어를 검출함으로써 상기 플레이어의 위치를 추적하고, 상기 추적에 의해 상기 플레이어의 이동거리 및 상기 플레이어의 플레이 시간을 감지하며, 상기 감지된 이동거리 및 플레이 시간으로부터 상기 플레이어의 운동량을 산출하도록 구성되며,
    상기 제어장치는,
    상기 센싱처리유닛에 의해 산출되는 상기 플레이어의 운동량 정보를 영상 또는 음성을 통해 상기 플레이어에게 제공하도록 구성되는 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템.
  8. 제4항에 있어서, 상기 센싱처리유닛은,
    상기 스크린과 인접한 미리 설정된 영역으로서 위험영역을 미리 설정하며, 상기 취득되는 매 프레임의 이미지 상에서 상기 위험영역에 해당하는 영역 내에서 객체를 감지하며 상기 감지된 객체로부터 인체를 검출하도록 구성되며,
    상기 제어장치는,
    상기 센싱처리유닛에 의해 상기 위험영역 내에서 인체가 검출되는 경우, 상기 볼 머신의 동작을 중지하도록 제어하는 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템.
  9. 가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 코트바닥부 상에서 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템에 이용되는 센싱장치로서,
    미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 카메라 유닛;
    상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼에 대한 볼 운동 모델을 산출하며, 상기 취득된 이미지로부터 상기 플레이어에 해당하는 객체를 추출하여 분석함으로써 상기 플레이어의 위치를 검출하는 센싱처리유닛을 포함하는 센싱장치.
  10. 제9항에 있어서, 상기 카메라 유닛은,
    서로 다른 위치에서 동일한 화각으로 이미지를 취득하는 제1 카메라 및 제2 카메라를 포함하여 스테레오 방식으로 구성되고, 상기 제1 카메라 및 제2 카메라는 상기 화각의 중심을 기준으로 전후방향 또는 좌우방향의 1축 틸팅 또는 전후방향 및 좌우방향의 2축 틸팅이 가능하도록 구성되며,
    상기 제1 카메라 및 제2 카메라가 취득하는 이미지에서 검출되는 상기 플레이어의 위치에 따라 상기 제1 카메라 및 제2 카메라의 틸팅을 제어함으로써 상기 취득하는 이미지에서 상기 플레이어가 검출될 수 있도록 하는 카메라 제어부를 더 포함하는 것을 특징으로 하는 센싱장치.
  11. 제9항에 있어서, 상기 센싱처리유닛은,
    상기 차영상의 추출 및 윤곽선의 검출에 의해 검출된 복수개의 객체에 대해 상기 객체의 크기 및 형태에 대해 미리 설정된 사항에 따라 기준 객체를 선정하고 상기 선정된 기준 객체를 포함하는 크기의 관심 영역을 설정하며, 상기 설정된 관심 영역 내에 존재하는 객체들을 하나의 픽셀 그룹으로 설정함으로써 상기 기준 객체를 기반으로 주변 객체를 일원화하여 상기 일원화된 객체의 유일성을 확인함으로써 상기 일원화된 객체를 상기 플레이어에 해당하는 객체로서 검출하도록 구성되는 것을 특징으로 하는 센싱장치.
  12. 제9항에 있어서, 상기 센싱처리유닛은,
    미리 설정된 영역으로서 위험영역을 미리 설정하며, 상기 취득되는 매 프레임의 이미지 상에서 상기 위험영역에 해당하는 영역 내에서 객체를 감지하며 상기 감지된 객체의 크기 및 형태를 분석하여 인체에 해당하는지 판단함으로써 상기 플레이어가 아닌 제3자가 상기 카메라 유닛의 화각 내에 등장하였는지 감지하도록 구성되는 것을 특징으로 하는 센싱장치.
  13. 제9항에 있어서, 상기 센싱처리유닛은,
    상기 카메라 유닛에 의해 실시간으로 취득되는 이미지와 상기 취득된 이미지의 이전에 취득된 이미지 중 차연산 할 이미지로서 선택된 이미지와의 고속차영상을 통해 상기 카메라 유닛의 이미지 취득 속도 이상으로 움직이는 객체를 라켓 객체로서 추출하며, 상기 고속차영상을 통해 추출되는 복수의 차영상 각각으로부터 추출되는 상기 라켓 객체를 분석하여 상기 라켓의 위치 및 이동 방향을 검출하여 상기 플레이어의 스윙이 포핸드인지 백핸드인지 여부를 검출하도록 구성되는 것을 특징으로 하는 센싱장치.
  14. 플레이어가 테니스 플레이를 하는 코트바닥부와, 상기 코트바닥부의 전방에 구비되어 가상 테니스 시뮬레이션 영상이 투영되는 스크린과, 상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신과, 상기 플레이어 및 상기 플레이어가 플레이하는 볼에 대해 센싱하는 센싱장치와, 상기 가상 테니스 시뮬레이션 영상의 생성 및 처리와 상기 볼 머신의 제어를 하는 제어장치를 포함하는 가상 테니스 시뮬레이션 시스템의 제어방법으로서,
    미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 단계;
    상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼의 운동에 대한 센싱 데이터를 산출하는 단계;
    상기 산출된 볼 운동에 대한 센싱 데이터를 이용하여 상기 볼 운동에 대응되도록 영상 상에서 가상의 볼이 가상의 상대방 플레이어가 있는 가상의 코트 쪽으로 이동하는 시뮬레이션 영상을 구현하는 단계;
    미리 설정된 인공지능에 따라 상기 가상의 상대방 플레이어가 가상의 볼을 타격함에 따라 상기 타격된 가상의 볼이 이동하는 시뮬레이션 영상을 구현하는 단계; 및
    상기 가상의 볼이 이동하는 연장선상에서 상기 볼 머신이 볼을 제공하여 상기 플레이어로 하여금 타격할 수 있도록 하는 방식으로, 상기 플레이어가 볼을 타격한 것에 대해 상기 가상의 상대방 플레이어가 가상의 볼을 타격하는 것을 반복하면서 상기 플레이어와 영상 상의 상기 가상의 상대방 플레이어가 테니스 랠리를 구현하는 단계;
    를 포함하는 가상 테니스 시뮬레이션 시스템의 제어방법.
  15. 플레이어가 테니스 플레이를 하는 코트바닥부와, 상기 코트바닥부의 전방에 구비되어 가상 테니스 시뮬레이션 영상이 투영되는 스크린과, 상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신과, 상기 플레이어 및 상기 플레이어가 플레이하는 볼에 대해 센싱하는 센싱장치와, 상기 가상 테니스 시뮬레이션 영상의 생성 및 처리와 상기 볼 머신의 제어를 하는 제어장치를 포함하는 가상 테니스 시뮬레이션 시스템의 제어방법으로서,
    미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 단계;
    상기 취득된 이미지로부터 상기 플레이어에 해당하는 객체를 추출하여 분석함으로써 상기 플레이어의 위치를 검출하는 단계;
    상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼의 운동에 대한 센싱 데이터를 산출하는 단계;
    상기 산출된 볼 운동 센싱 데이터를 이용하여 상기 가상 테니스 시뮬레이션 영상을 생성 및 처리하는 단계; 및
    상기 검출된 플레이어의 위치에 기초하여 상기 플레이어에게 제공되는 볼의 방향을 결정하고 그에 대응하여 상기 가상 테니스 시뮬레이션 영상을 처리하며 상기 볼 머신을 제어하는 단계;
    를 포함하는 가상 테니스 시뮬레이션 시스템의 제어방법.
  16. 제15항에 있어서,
    상기 제어장치는 상기 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보를 미리 저장하며, 상기 가상 테니스 시뮬레이션 영상 상의 가상의 상대방 플레이어를 인공지능에 의해 제어하도록 구성되며,
    상기 가상 테니스 시뮬레이션 영상을 처리하며 상기 볼 머신을 제어하는 단계는,
    상기 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보와 상기 가상의 상대방 플레이어의 인공지능에 따라 상기 검출된 플레이어의 위치에 대응하여 상기 가상의 상대방 플레이어가 타격하는 가상의 볼에 따라 상기 플레이어에게 제공될 볼의 방향을 결정하는 단계와,
    상기 결정되는 볼의 방향에 따라 상기 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 시뮬레이션 영상을 처리하는 단계와,
    상기 볼 머신의 볼 발사 방향을 상기 결정된 볼의 방향에 대응하도록 설정하는 단계와,
    상기 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신이 볼을 상기 결정된 볼의 방향으로 제공하도록 제어하는 단계를 포함하는 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템의 제어방법.
  17. 제15항에 있어서,
    상기 제어장치는 상기 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보를 미리 저장하며,
    상기 가상 테니스 시뮬레이션 영상을 처리하며 상기 볼 머신을 제어하는 단계는,
    상기 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보에 따라 상기 검출된 플레이어의 위치에 대응하여 상기 볼 머신으로부터 상기 플레이어에게 제공될 볼의 방향을 결정하는 단계와,
    상기 결정되는 볼의 방향에 따라 상기 가상 테니스 시뮬레이션 영상 상의 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 시뮬레이션 영상을 처리하는 단계와,
    상기 볼 머신의 볼 발사 방향을 상기 결정된 볼의 방향에 대응하도록 설정하는 단계와,
    상기 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신이 볼을 상기 결정된 볼의 방향으로 제공하도록 제어하는 단계를 포함하는 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템의 제어방법.
  18. 제15항에 있어서,
    상기 카메라 유닛에 의해 실시간으로 취득되는 이미지와 상기 취득된 이미지의 이전에 취득된 이미지 중 차연산 할 이미지로서 선택된 이미지와의 고속차영상을 통해 상기 카메라 유닛의 이미지 취득 속도 이상으로 움직이는 객체를 라켓 객체로서 추출하는 단계와,
    상기 고속차영상을 통해 추출되는 복수의 차영상 각각으로부터 추출되는 상기 라켓 객체를 분석하여 상기 라켓의 위치 및 이동 방향을 검출하는 단계와,
    상기 플레이어의 스윙이 포핸드인지 백핸드인지 여부 및 헛스윙 여부를 검출하는 단계를 더 포함하는 것을 특징으로 하는 가상 테니스 시뮬레이션 시스템의 제어방법.
  19. 가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 코트바닥부 상에서 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템에 이용되는 센싱장치의 센싱방법으로서,
    미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 실시간으로 취득하는 단계;
    미리 준비된 배경 이미지와 상기 실시간으로 취득되는 이미지 각각과의 차영상을 추출하고, 상기 추출된 차영상으로부터 검출되는 각각의 객체의 윤곽선을 검출하는 단계;
    상기 윤곽선이 검출된 복수개의 객체 중 미리 설정된 범위 내의 객체들을 일원화함으로써 상기 플레이어에 해당하는 객체를 추출하여 상기 플레이어의 위치를 검출하는 단계; 및
    상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼에 대한 볼 운동 모델을 산출하는 단계;
    를 포함하는 센싱방법.
  20. 제19항에 있어서, 상기 플레이어의 위치를 검출하는 단계는,
    상기 차영상의 추출 및 윤곽선의 검출에 의해 검출된 복수개의 객체에 대해 상기 객체의 크기 및 형태에 대해 미리 설정된 사항에 따라 기준 객체를 선정하는 단계와,
    상기 선정된 기준 객체를 포함하는 크기의 관심 영역을 설정하는 단계와,
    상기 설정된 관심 영역 내에 존재하는 객체들을 하나의 픽셀 그룹으로 설정함으로써 상기 기준 객체를 기반으로 주변 객체를 일원화하는 단계와,
    상기 일원화된 객체의 유일성을 확인하여 상기 일원화된 객체를 상기 플레이어에 해당하는 객체로서 검출하는 단계를 포함하는 것을 특징으로 하는 센싱방법.
  21. 제19항에 있어서, 상기 플레이어의 위치를 검출하는 단계는,
    상기 추출된 플레이어에 해당하는 객체의 무게중심을 상기 플레이어의 예상 위치로서 산출하는 단계와,
    상기 산출된 볼 운동 모델의 초기 위치와 상기 산출된 플레이어의 예상 위치가 미리 설정된 거리 이하인 경우에 상기 산출된 플레이어의 예상 위치를 상기 플레이어의 위치로서 결정하는 단계를 포함하는 것을 특징으로 하는 센싱방법.
PCT/KR2019/002892 2017-09-15 2019-03-13 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법 WO2019177361A1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020548727A JP6981719B2 (ja) 2017-09-15 2019-03-13 仮想テニスシミュレーションシステム、これに用いるセンシング装置及びセンシング方法

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
KR20170119001 2017-09-15
KR1020180029071A KR102045439B1 (ko) 2017-09-15 2018-03-13 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법
KR10-2018-0029071 2018-03-13

Publications (1)

Publication Number Publication Date
WO2019177361A1 true WO2019177361A1 (ko) 2019-09-19

Family

ID=65907675

Family Applications (3)

Application Number Title Priority Date Filing Date
PCT/KR2019/002895 WO2019177364A1 (ko) 2017-09-15 2019-03-13 가상 테니스 시뮬레이션 시스템 및 그 제어방법
PCT/KR2019/002892 WO2019177361A1 (ko) 2017-09-15 2019-03-13 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법
PCT/KR2019/002894 WO2019177363A1 (ko) 2017-09-15 2019-03-13 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법, 이를 이용한 가상 테니스 시뮬레이션 시스템 및 방법과, 이를 기록한 컴퓨팅장치에 의해 판독 가능한 기록매체

Family Applications Before (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/002895 WO2019177364A1 (ko) 2017-09-15 2019-03-13 가상 테니스 시뮬레이션 시스템 및 그 제어방법

Family Applications After (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/002894 WO2019177363A1 (ko) 2017-09-15 2019-03-13 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법, 이를 이용한 가상 테니스 시뮬레이션 시스템 및 방법과, 이를 기록한 컴퓨팅장치에 의해 판독 가능한 기록매체

Country Status (3)

Country Link
JP (2) JP7070874B2 (ko)
KR (3) KR102045443B1 (ko)
WO (3) WO2019177364A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210052964A1 (en) * 2019-08-22 2021-02-25 Fast Track Vision, LLC System and method for tracking a projectile
EP3901936A1 (en) 2020-04-22 2021-10-27 Copysan Communicaciones, SL Method, system and computer programs for padel tennis training

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210023310A (ko) 2019-08-22 2021-03-04 주식회사 대한솔루션 구기종목의 시합 중 공의 라인 인 아웃 판별 시스템 및 그 방법
CN111228773A (zh) * 2020-03-02 2020-06-05 怀化学院 基于双目视觉的发球控制方法、装置、存储介质及发球机
KR102434326B1 (ko) * 2020-05-12 2022-08-22 서기원 몸동작 실시간 영상비교가 가능한 테니스 온라인 가상훈련 시스템
KR102249014B1 (ko) * 2020-07-28 2021-05-06 조명환 물리 공간 상의 가상 공간 할당 및 분할을 통한 수요층 할당 및 리워딩 시스템
KR102265914B1 (ko) * 2020-09-04 2021-06-16 권예찬 테니스 자율훈련 시스템
US11896882B2 (en) 2020-11-04 2024-02-13 Xreps, Llc Extended reality system for training and evaluation
KR102450445B1 (ko) * 2020-12-14 2022-10-05 재단법인대구경북과학기술원 실내 스크린 테니스 시스템 및 그것을 이용한 원격 게임 방법
CA3208256A1 (en) 2021-02-14 2022-02-10 Preston Carpenter Cox Training systems and methods
KR102496432B1 (ko) 2021-10-07 2023-02-07 주식회사 큐링이노스 테니스 자율 훈련 시스템
KR102626000B1 (ko) * 2021-11-23 2024-01-22 명지대학교 산학협력단 테니스 훈련 시스템
WO2023147541A1 (en) * 2022-01-31 2023-08-03 Breakout Hitting Llc Training system and method of using same

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07227454A (ja) * 1994-02-18 1995-08-29 Tooa Sports Mach:Kk 投球機の投球制限装置
US20020148455A1 (en) * 2001-04-16 2002-10-17 Philips Electronics North America Corporation Ball throwing assistant
JP2007144107A (ja) * 2005-10-25 2007-06-14 Vr Sports:Kk 運動補助システム
US20090141933A1 (en) * 2007-12-04 2009-06-04 Sony Corporation Image processing apparatus and method
US20150018990A1 (en) * 2012-02-23 2015-01-15 Playsight Interactive Ltd. Smart-court system and method for providing real-time debriefing and training services of sport games
KR101586462B1 (ko) * 2015-10-02 2016-01-19 (주)나라소프트 스크린을 이용한 테니스 연습 및 게임 시뮬레이션 시스템
KR20170085460A (ko) * 2017-05-18 2017-07-24 주식회사 골프존뉴딘 야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2999638B2 (ja) * 1992-10-28 2000-01-17 日本電信電話株式会社 仮想体験システム
JPH11299947A (ja) * 1998-02-19 1999-11-02 Purareizu:Kk バ―チャルゲ―ム装置
JP3936539B2 (ja) * 2001-02-22 2007-06-27 国立大学法人金沢大学 ピッチングマシーン、その制御システムおよび制御方法
JP4883516B2 (ja) * 2004-08-25 2012-02-22 国立大学法人金沢大学 ピッチングマシンおよびその変化球を制御する方法
KR101147873B1 (ko) * 2010-06-24 2012-05-24 박영기 얼굴 인식을 이용한 스크린 골프 시스템 및 그 제어 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07227454A (ja) * 1994-02-18 1995-08-29 Tooa Sports Mach:Kk 投球機の投球制限装置
US20020148455A1 (en) * 2001-04-16 2002-10-17 Philips Electronics North America Corporation Ball throwing assistant
JP2007144107A (ja) * 2005-10-25 2007-06-14 Vr Sports:Kk 運動補助システム
US20090141933A1 (en) * 2007-12-04 2009-06-04 Sony Corporation Image processing apparatus and method
US20150018990A1 (en) * 2012-02-23 2015-01-15 Playsight Interactive Ltd. Smart-court system and method for providing real-time debriefing and training services of sport games
KR101586462B1 (ko) * 2015-10-02 2016-01-19 (주)나라소프트 스크린을 이용한 테니스 연습 및 게임 시뮬레이션 시스템
KR20170085460A (ko) * 2017-05-18 2017-07-24 주식회사 골프존뉴딘 야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210052964A1 (en) * 2019-08-22 2021-02-25 Fast Track Vision, LLC System and method for tracking a projectile
US11752414B2 (en) * 2019-08-22 2023-09-12 Fast Track Vision, LLC System and method for tracking a projectile
EP3901936A1 (en) 2020-04-22 2021-10-27 Copysan Communicaciones, SL Method, system and computer programs for padel tennis training

Also Published As

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

Similar Documents

Publication Publication Date Title
WO2019177361A1 (ko) 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법
CN108697922B (zh) 用于棒球练习装置的传感装置及传感方法、利用其的棒球练习装置及其控制方法
WO2012128574A2 (ko) 가상 골프 시뮬레이션 장치와, 이에 이용되는 센싱장치 및 센싱방법
TWI448318B (zh) 虛擬高爾夫模擬裝置及其使用之感測裝置與感測方法
KR20180095588A (ko) 스포츠 기구의 운동분석을 위한 방법 및 장치
KR20200085803A (ko) 골프 공 추적 시스템
WO2017126850A1 (ko) 야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법
WO2017135690A1 (ko) 야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법
KR20170085460A (ko) 야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법
WO2020004885A1 (ko) 볼의 운동에 대한 센싱장치 및 그 센싱방법
KR101862145B1 (ko) 사용자의 골프샷에 대한 정보를 산출하기 위한 센싱장치 및 이를 이용한 센싱방법
Chandrasegaran et al. Design Woodball Line Detection and Monitoring System: A Preliminary Study
WO2017135689A2 (ko) 체험형 가상 야구 게임 장치 및 이에 의한 가상 야구 게임 제어방법
KR102146358B1 (ko) 볼의 운동에 대한 센싱방법 및 이를 이용한 센싱장치
WO2023003237A1 (ko) 이동하는 볼의 센싱을 위한 영상분석방법 및 이를 이용한 센싱장치
KR101078954B1 (ko) 가상 골프 시뮬레이션 장치와, 이에 이용되는 센싱장치 및 센싱방법
WO2022055318A1 (ko) 골프스윙에 대한 센싱장치 및 이를 이용한 클럽헤드의 임팩트 위치 센싱방법
KR102582362B1 (ko) 두 대의 카메라를 이용한 바닥형 골프 시뮬레이션 시스템
JP7248353B1 (ja) ヒッティング解析システム及びヒッティング解析方法
KR102567201B1 (ko) 두 대의 카메라를 이용한 콘솔형 골프 시뮬레이션 시스템
KR20220146736A (ko) 3차원 정보를 이용한 골프 시뮬레이션 시스템
JPH06105940A (ja) パターゴルフ練習機

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19768026

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2020548727

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19768026

Country of ref document: EP

Kind code of ref document: A1

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 12/04/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 19768026

Country of ref document: EP

Kind code of ref document: A1