KR102626000B1 - 테니스 훈련 시스템 - Google Patents

테니스 훈련 시스템 Download PDF

Info

Publication number
KR102626000B1
KR102626000B1 KR1020210162524A KR20210162524A KR102626000B1 KR 102626000 B1 KR102626000 B1 KR 102626000B1 KR 1020210162524 A KR1020210162524 A KR 1020210162524A KR 20210162524 A KR20210162524 A KR 20210162524A KR 102626000 B1 KR102626000 B1 KR 102626000B1
Authority
KR
South Korea
Prior art keywords
tennis
ball
tennis ball
unit
machine
Prior art date
Application number
KR1020210162524A
Other languages
English (en)
Other versions
KR20230076950A (ko
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 KR1020210162524A priority Critical patent/KR102626000B1/ko
Publication of KR20230076950A publication Critical patent/KR20230076950A/ko
Application granted granted Critical
Publication of KR102626000B1 publication Critical patent/KR102626000B1/ko

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B69/00Training appliances or apparatus for special sports
    • A63B69/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
    • 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/40Stationarily-arranged devices for projecting balls or other bodies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/18Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
    • H04N7/181Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B24/00Electric or electronic controls for exercising apparatus of preceding groups; Controlling or monitoring of exercises, sportive games, training or athletic performances
    • A63B24/0087Electric or electronic controls for exercising apparatus of groups A63B21/00 - A63B23/00, e.g. controlling load
    • A63B2024/0093Electric or electronic controls for exercising apparatus of groups A63B21/00 - A63B23/00, e.g. controlling load the load of the exercise apparatus being controlled by performance parameters, e.g. distance or speed
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2102/00Application of clubs, bats, rackets or the like to the sporting activity ; particular sports involving the use of balls and clubs, bats, rackets, or the like
    • A63B2102/02Tennis
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2225/00Miscellaneous features of sport apparatus, devices or equipment
    • A63B2225/50Wireless data transmission, e.g. by radio transmitters or telemetry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30221Sports video; Sports image
    • G06T2207/30224Ball; Puck
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S482/00Exercise devices
    • Y10S482/901Exercise devices having computer circuitry
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S482/00Exercise devices
    • Y10S482/901Exercise devices having computer circuitry
    • Y10S482/902Employing specific graphic or video display

Landscapes

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

Abstract

본 발명은 하기 볼 머신기와 무선 통신하며 하기 볼 머신기를 제어하는 중앙 처리부; 및 테니스 볼이 낙하될 것으로 예상되는 위치로 이동하여 해당 위치에서 상기 테니스 볼을 발사하는 볼 머신기를 포함하며, 상기 중앙 처리부는, 테니스 코트와 상기 테니스 코트 내에 위치한 상기 테니스 볼, 상기 볼 머신기 또는 플레이어를 촬영하는 촬영부; 상기 촬영부의 촬영 결과를 바탕으로 상기 테니스 코트의 내부를 좌표화하고, 상기 테니스 볼, 상기 볼 머신기 또는 상기 플레이어의 위치를 좌표로 추출하는 위치 추출부; 상기 촬영부의 촬영 결과를 바탕으로 상기 테니스 볼의 이동을 분석하여 상기 테니스 볼의 낙하지점을 예측하는 낙하지점 분석부; 및 상기 볼 머신기와 무선 통신하여 상기 촬영부, 상기 위치 추출부 또는 상기 낙하지점 분석부의 정보를 송수신하는 제1 통신부;를 포함하고, 상기 볼 머신기는, 상기 중앙 처리부의 상기 제1 통신부와 무선 통신하여 정보를 송수신하는 제2 통신부; 상기 제2 통신부를 통해 수신된 상기 위치 추출부의 좌표를 기반으로 상기 볼 머신기의 실시간 위치를 감지하는 위치 감지 모듈; 및 상기 낙하지점 분석부의 분석 결과와 상기 위치 감지 모듈의 감지 결과를 토대로 상기 볼 머신기의 위치와 상기 테니스 볼의 낙하지점까지의 최단 거리 또는 최단 이동 시간을 실시간 분석하는 이동 분석 모듈을 포함하여, 실제 사람 간의 경기와 보다 유사하게 생동감 있는 테니스 경기가 가능하며, 테니스 볼의 발사 속도, 방향 등을 다양하게 조절할 수 있어, 다양한 환경에서 테니스 훈련이 가능한 장점을 갖는다.

Description

테니스 훈련 시스템{Tennis Training System}
본 발명은 사람과 테니스 경기를 할 수 있는 이동형 볼 머신기를 이용한 테니스 훈련 시스템에 관한 것이다.
테니스는 두 명의 선수(단식) 또는 각각 두 명의 선수로 이루어진 두 팀(복식)이 코트 중앙에 네트를 두고 라켓을 이용해 겨루는 라켓 스포츠의 한 종류이다. 테니스는 대립되는 상대편을 두고 상대편의 코트로 테니스 볼을 치면서 경기가 진행되기 때문에 경기 대상인 상대편이 없는 경우 경기 진행이 제한된다. 이러한 경기방법으로 인해 훈련에도 제한이 되는데, 이를 보완하기 위해서 종래에는 네트 반대편에서 반복적으로 테니스 볼을 발사하는 볼 머신기가 개발되었고, 널리 사용되었다.
그러나, 종래의 볼 머신기는 고정된 위치에서 동일한 구질의 테니스 볼만을 반복적으로 발사하므로 다양한 환경에서 훈련하는 것이 제한되었다. 특히, 플레이어가 테니스 볼을 친 위치와 전혀 상이한 기설정된 고정 위치에서 테니스 볼이 발사되므로 실제 경기에서의 랠리와 유사한 환경을 제공하지 못하는 문제가 있었다.
또한, 종래의 볼 머신기는 테니스 볼을 발사하는 휠, 구동 롤러와 같은 구성을 조절하여 발사되는 테니스 볼에 약간의 변화를 주었다. 그러나, 종래의 볼 머신기에 구비된 휠, 구동 롤러 등은 하나 또는 두 개(상하 또는 좌우)로만 형성되어 변화가 다양하지 못하였다.
관련 종래 기술 한국등록특허 제10-2265914호(이하, ‘선행특허’라 약칭한다)는 인공지능을 이용한, 테니스 자율훈련 시스템을 개시한다. 다만, 선행특허는 사용자의 운동 실력 또는 운동 자세에 따른 교정프로그램을 제공하는 것을 목적으로 하며, 자동적인 경기 판정을 할 수 있는 훈련 시스템에 관한 것이다.
한편, 본 출원인은 테니스 훈련을 수행하는 플레이어의 운동 자세 뿐만 아니라, 플레이어가 친 테니스 볼의 이동을 분석하고 예측하여 예상 낙하지점을 예측하는 추가적인 연구 개발을 진행하였다. 또한, 예상된 낙하지점은 테니스 코트 내에서 정확한 좌표로 표현되도록 하여, 볼 머신기가 해당 위치로 이동하는 것이 가능하도록 연구 개발을 진행하였다.
한국등록특허 제10-2265914호
본 발명은 볼 머신기를 이용하여 사람과 테니스 경기가 가능한 테니스 훈련 시스템을 제공하고자 한다. 특히, 본 발명은 테니스 경기의 주체인 사람이 테니스 훈련을 함에 있어서, 볼 머신기가 고정된 위치에서 반복적으로 테니스 볼을 발사하지 않고, 실제 사람 간의 경기와 보다 유사하게 수행될 수 있도록 하는 것을 목적으로 한다. 이를 위해 본 발명은 볼 머신기가 사람이 친 테니스 볼의 낙하지점으로 이동 가능하며, 다양한 구질의 테니스 볼을 발사할 수 있는 테니스 훈련 시스템을 제공하고자 한다.
본 발명이 해결하려는 과제들은 앞에서 언급한 과제들로 제한되지 않는다. 본 발명의 다른 과제 및 장점들은 아래 설명에 의해 더욱 분명하게 이해될 것이다.
상기 목적을 달성하기 위하여 본 발명은, 하기 볼 머신기와 무선 통신하며 하기 볼 머신기를 제어하는 중앙 처리부; 및 테니스 볼이 낙하될 것으로 예상되는 위치로 이동하여 해당 위치에서 상기 테니스 볼을 발사하는 볼 머신기를 포함하며, 상기 중앙 처리부는, 테니스 코트와 상기 테니스 코트 내에 위치한 상기 테니스 볼, 상기 볼 머신기 또는 플레이어를 촬영하는 촬영부; 상기 촬영부의 촬영 결과를 바탕으로 상기 테니스 코트의 내부를 좌표화하고, 상기 테니스 볼, 상기 볼 머신기 또는 상기 플레이어의 위치를 좌표(x, y, z)로 추출하는 위치 추출부; 상기 촬영부의 촬영 결과를 바탕으로 상기 테니스 볼의 이동을 분석하여 상기 테니스 볼의 낙하지점을 예측하는 낙하지점 분석부; 및 상기 볼 머신기와 무선 통신하여 상기 촬영부, 상기 위치 추출부 또는 상기 낙하지점 분석부의 정보를 송수신하는 제1 통신부;를 포함하고, 상기 볼 머신기는, 상기 중앙 처리부의 상기 제1 통신부와 무선 통신하여 정보를 송수신하는 제2 통신부; 상기 제2 통신부를 통해 수신된 상기 위치 추출부의 좌표를 기반으로 상기 볼 머신기의 실시간 위치를 감지하는 위치 감지 모듈; 및 상기 낙하지점 분석부의 분석 결과와 상기 위치 감지 모듈의 감지 결과를 토대로 상기 볼 머신기의 위치와 상기 테니스 볼의 낙하지점까지의 최단 거리 또는 최단 이동 시간을 실시간 분석하는 이동 분석 모듈를 포함하여, 테니스 경기가 가능한 것을 특징으로 한다.
바람직하게, 상기 촬영부는, 멀티 비전 센서가 적용될 수 있다.
바람직하게, 상기 촬영부는, 상기 테니스 코트의 양 측면에 각각 마련된 복수 개의 카메라를 포함할 수 있다.
바람직하게, 상기 위치 추출부는, 복수의 stereo-vision이 적용되며, 상기 테니스 볼과 상기 카메라 사이의 거리를 이용하여 상기 테니스 볼의 (x, y) 좌표를 산출할 수 있다.
바람직하게, 상기 낙하지점 분석부는, 상기 촬영부의 촬영 영상에서 상기 테니스 볼 이외의 배경을 제거하고 추적 대상인 상기 테니스 볼의 움직임 영역을 추출하는 전처리 모듈; 및 상기 테니스 볼의 이동을 추정하여 상기 테니스 볼의 낙하지점을 예측하는 예측 모듈을 포함할 수 있다.
바람직하게, 상기 전처리 모듈은, 상기 촬영부에서 촬영된 촬영 영상 중 전후 프레임 간 픽셀 명도 차이를 비교하여 배경을 제거하고, 이웃한 복수 개의 픽셀을 라벨링하여 그룹화하여, 그룹화된 상기 픽셀을 객체 종류(상기 테니스 볼 또는 상기 플레이어), 위치 또는 크기를 예측한 후, 상기 테니스 볼과 상기 플레이어의 전체 움직임 중 상기 플레이어의 움직임 영역을 제외하는 과정을 수행할 수 있다.
바람직하게, 상기 전처리 모듈은, 배경을 제거한 후, 모폴로지 침식(erosion) 연산을 통해 상기 테니스 볼 이외의 노이즈 객체를 제거하고 팽창(dilation) 연산을 통해 상기 테니스 볼 또는 상기 플레이어의 픽셀을 팽창시키는 과정을 더 수행할 수 있다.
바람직하게, 상기 예측 모듈은, 비선형적으로 이동하는 상기 테니스 볼에 대한 측정값과 오차 공분산 행렬을 이용하는 무향 칼만 필터를 적용할 수 있다.
바람직하게, 상기 예측 모듈은, 상기 테니스 볼의 예상 이동지점이 복수 개로 예측되는 경우, 상기 무향 칼만 필터에서 추정된 추정값과 각 예상 이동지점 간 거리를 계산하여 최단 거리인 예상 이동지점으로 상기 테니스 볼의 예상 위치를 선정할 수 있다.
바람직하게, 일정 시간 동안 상기 테니스 볼의 위치 차이를 통해 상기 테니스 볼의 현재 속도를 평균 속도로 간주하여 상기 테니스 볼의 속도를 산출하고, 상기 테니스 볼이 지면(z=0)에 떨어지는 시간을 산출한 후, z=0인 시점에서의 속도를 이용하여 상기 테니스 볼의 낙하지점 좌표(x, y)를 산출할 수 있다.
바람직하게, 상기 중앙 처리부는, 상기 촬영부에서 촬영된 플레이어의 영상으로 상기 플레이어의 자세 또는 패턴을 분류하여 학습하는 학습부를 더 포함할 수 있다.
바람직하게, 상기 볼 머신기는, 상기 테니스 볼에 구동력을 공급하는 구동 모터; 상기 구동 모터와 축결합하여 회전하며 상기 테니스 볼을 발사하는 구동 롤러; 및 상기 구동 롤러의 외면을 따라 회전하며 상기 볼 머신기 내부에서 상기 테니스 볼을 가속이동시키는 구동 벨트를 포함할 수 있다.
바람직하게, 상기 구동 롤러는, 상기 테니스 볼이 발사되는 말단에 복수 개 마련되어, 상기 테니스 볼의 각도 또는 속력을 제어할 수 있다.
바람직하게, 상기 구동 롤러는, 상기 테니스 볼을 중심으로 Y자 형상으로 복수 개 마련되어 상기 테니스 볼의 구질을 제어할 수 있다.
바람직하게, 상기 볼 머신기는, 상기 학습부의 학습 결과를 반영하여 상기 테니스 볼의 구질을 조정할 수 있다.
본 발명에 따르면, 고정된 위치에서만 테니스 볼 발사가 가능했던 종래 기술과 달리, 사람이 친 테니스 볼의 이동 및 낙하지점을 예측하고 낙하지점으로 볼 머신기가 이동하여 테니스 볼을 발사할 수 있다. 특히, 본 발명에 따르면 테니스 볼의 예상 낙하지점은 테니스 코트 내에서 정확하게 좌표화될 수 있고, 볼 머신기의 위치 또한 좌표로 표시되므로, 볼 머신기는 낙하지점을 정확히 이동할 수 있다. 이를 통해 실제 사람 간의 경기와 보다 유사하게 생동감 있는 테니스 경기를 제공할 수 있다.
본 발명에 따르면, 작고 빠르게 이동하는 테니스 볼의 낙하지점을 분석하기 위해 기본적인 배경 제거뿐만 아니라 복수의 알고리즘을 단계적으로 적용함으로써 노이즈를 최소화하고 정확도를 높일 수 있는 효과를 가진다.
또한, 테니스 볼의 구질을 결정하는 발사부의 구동 롤러가 Y자형으로 구성되어 테니스 볼의 발사 속도, 방향 등을 다양하게 조절할 수 있어, 다양한 환경에서 테니스 훈련이 가능한 장점을 갖는다.
도 1은 본 발명의 실시예에 따른 테니스 훈련 시스템의 구성도이다.
도 2a 내지 도 2c는 본 발명의 실시예에 따른 낙하지점 분석부의 전처리 모듈에서 배경을 제거하는 과정과 모폴로지 연산 과정을 나타낸 모습이다.
도 3a 내지 도 3c는 본 발명의 실시예에 따른 낙하지점 분석부의 예측 모듈에서 테니스 볼의 추적 과정을 나타낸 모습이다.
도 4a 내지 도 4g는 본 발명의 실험례로서, 테니스 볼의 위치 추출 및 낙하지점 예측 과정과 실험 결과를 나타낸다.
도 5a 내지 도 5d는 본 발명의 실시 예에 따른 볼 머신기의 모습을 나타낸다.
도 6a 내지 도 6c는 본 발명의 실시 예에 따른 볼 머신기의 발사부 모습을 나타낸다.
이하, 첨부된 도면들에 기재된 내용들을 참조하여 본 발명을 상세히 설명한다. 다만, 본 발명이 예시적 실시 예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일 참조부호는 실질적으로 동일한 기능을 수행하는 부재를 나타낸다.
본 발명의 목적 및 효과는 하기의 설명에 의해서 자연스럽게 이해되거나 보다 분명해질 수 있으며, 하기의 기재만으로 본 발명의 목적 및 효과가 제한되는 것은 아니다. 또한, 본 발명을 설명함에 있어서 본 발명과 관련된 공지 기술에 대한 구체적인 설명이, 본 발명의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우에는 그 상세한 설명을 생략하기로 한다.
도 1은 본 발명의 실시 예에 따른 테니스 훈련 시스템(1)의 구성도이다. 테니스 훈련 시스템(1)은 사람(플레이어)와 테니스 경기 또는 훈련하는 것이 가능할 수 있다. 본 발명의 실시 예에서는 플레이어와 볼 머신기(30) 간 경기를 하는 경우를 예시적으로 설명하나, 볼 머신기(30) 간 경기를 하는 경우도 가능하다. 테니스 훈련 시스템(1)은 중앙 처리부(10) 및 볼 머신기(30)를 포함할 수 있다.
중앙 처리부(10)는 볼 머신기(30)와 무선 통신하며 볼 머신기(30)를 제어할 수 있다. 중앙 처리부(10)는 촬영부(110), 위치 추출부(130), 낙하지점 분석부(150), 학습부(170) 및 제1 통신부(190)를 포함할 수 있다.
촬영부(110)는 테니스 코트와 테니스 코트 내에 위치한 테니스 볼, 볼 머신기 또는 플레이어를 촬영할 수 있다. 본 명세서에서 촬영부(110)는 카메라(1101) 등 촬영 장치를 복수 개 포함하는 개념일 수 있으며, 또한 촬영부(110) 그 자체로 복수의 고속 촬영이 가능한 수단을 의미할 수 있다. 복수로 구성된 촬영부(110) 각각은 테니스 볼, 볼 머신기 또는 플레이어를 개별적으로 촬영할 수 있다. 또한, 촬영부(110)는 여러 위치에 설치되어 다양한 각도에서 테니스 볼 또는 플레이어의 움직임 등 전체 훈련 동안의 모습을 촬영할 수 있다. 테니스 볼을 촬영하는 촬영부(110)는 테니스 코트의 지주에 설치되어 코트 양쪽을 이동하는 테니스 볼의 움직임을 촬영할 수 있다. 촬영부(110)는 고속 촬영 장치일 수 있으며, 테니스 볼의 운동 속도에 따른 고속 영상을 촬영할 수 있다.
촬영부(110)는 테니스 코트를 촬영하는 경우 테니스 코트 전체 면적을 촬영할 수 있다. 테니스 코트 전체 면적에 관한 정보는 이후 위치 추출부(130)에서 좌표를 설정하는 데 이용될 수 있다. 이때, 테니스 코트 전체 면적에 관한 정보는 촬영부(110)가 공중에 설치되어 촬영한 영상을 기반으로 취득할 수 있고, 또는 다각도에서 촬영된 영상을 종합하여 취득할 수 있다. 촬영부(110)에 포함된 복수 개의 카메라(1101)는 테니스 코트의 양 측면에서 마주하도록 마련되어 테니스 볼의 움직임을 서로 다른 방향에서 촬영할 수 있다. 테니스 코트 양 측면의 카메라(1101)를 통해 촬영된 영상은 이후 위치 추출부(130)에서 좌표를 설정하는 데 이용될 수 있다.
촬영부(110)는 이미지 센서, 멀티 비전 센서가 적용될 수 있다. 이미지 센서는 가시광선 영역을 촬영할 수 있고, 영상 촬영이 가능하다면 센서 종류에 제한되지 않는다. 멀티 비전 센서는 하나의 영상을 확대시키거나 축소할 수 있는 센서로서, 크기가 작고 속도로 빠른 테니스 볼의 특성을 고려하여 특정 영상 부분만 확대할 수 있다. 즉, 테니스 볼의 이동과 낙하지점을 분석 및 예측함에 있어서, 테니스 볼 부분만을 확대함으로써 분석 정확도를 높일 수 있다.
위치 추출부(130)는 촬영부(110)의 촬영 결과를 바탕으로 테니스 코트의 내부를 좌표화하고, 테니스 볼, 볼 머신기 또는 플레이어의 위치를 좌표(x, y, z)로 추출할 수 있다. 위치 추출부(130)는 테니스 코트 전체 면적에 대해 각 지점을 좌표화할 수 있다. 테니스 코트는 지면으로서 2차원이므로 (x, y)로 표현될 수 있으며, 좌표는 일정 간격에 따라 규칙적으로 설정될 수 있다. 좌표의 기준점, 간격, 좌표 표현법은 일정 규격으로 제한되지 않으며, 특정 위치를 좌표화할 수 있는 경우라면 제한없이 가능하다.
위치 추출부(130)는 복수의 stereo-vision이 적용될 수 있다. 위치 추출부(130)는 stereo-vision을 통해 테니스 볼과 촬영부(110) 또는 카메라(1101) 사이의 거리에 관한 정보를 이용함으로써, 테니스 볼의 (x, y) 좌표를 산출할 수 있다. stereo-vision은 두 대의 카메라를 사용하여 주변 환경을 인식하는 방식으로, 테니스 볼의 3차원 위치를 측정하고 테니스 볼의 궤적을 예측할 수 있다. 종래 stereo-vision는 탁구와 배드민턴 같이 한정된 공간에서 공의 3차원 위치를 측정할 수 있으나, 테니스 코트의 크기는 탁구장의 약 62.52배, 배드민턴 코트의 약 3.18배로서 이처럼 넓은 장소에는 특이점 매칭이 어려워 적용하기 어렵다는 한계가 있었다. 본 발명은 stereo-vision을 복수 개 이용하여 장소의 크기에 구애받지 않고 종래 단일 stereo-vision은 적용될 수 없었던 규모인 테니스 코트에까지 테니스 볼의 위치, 속력, 낙하지점을 예측할 수 있도록 적용될 수 있도록 구성하였다. 도 5a 내지 도 5g는 stereo-vision이 두 개 적용된 경우에 대한 실험예로서, 이하 도 5a 내지 도 5g에서 자세히 후술한다.
일 예시로, 테니스 코트 지주 중 어느 하나를 기준점 (0, 0)으로 설정하여, 플레이어가 있는 코트를 (+)방향으로 설정하고, 볼 머신기(30)가 있는 코트를 (-)방향으로 설정할 수 있다. 또는 설정 방향에 따라 상이하겠으나, 테니스 코트의 한 쪽 모서리를 기준점으로 설정할 수 있다.
위치 추출부(130)는 테니스 코트의 내부 전체를 좌표화한 후, 테니스 볼, 볼 머신기, 플레이어의 위치를 순서대로 좌표화할 수 있다. 테니스 볼, 볼 머신기, 플레이어의 좌표는 움직임에 따라 계속적으로 변화할 수 있다.
낙하지점 분석부(150)는 촬영부(110)의 촬영 결과를 바탕으로 테니스 볼의 이동을 분석하여 테니스 볼의 낙하지점을 예측할 수 있다. 낙하지점 분석부(150)는 플레이어가 친 테니스 볼이 낙하하기 전에 미리 낙하지점을 예측할 수 있다. 낙하지점 분석부(150)에서 예측된 낙하지점으로 테니스 볼이 낙하하기 전에 볼 머신기(30)가 낙하지점으로 이동하여 테니스 볼 낙하 직전에 볼 머신기(30)가 테니스 볼을 발사할 수 있다. 이를 통해 실제 사람과 테니스 볼을 주고받는 경기를 하는 것과 같이 훈련을 제공할 수 있다.
낙하지점 분석부(150)는 전처리 모듈(1501)과 예측 모듈(1503)을 포함할 수 있다. 전처리 모듈(1501)은 촬영부(110)에서 촬영된 촬영 영상 중 전후 프레임 간 픽셀 명도 차이를 비교하여 배경을 제거하고, 이웃한 복수 개의 픽셀을 라벨링하여 그룹화하여, 그룹화된 픽셀을 객체 종류(상기 테니스 볼 또는 상기 플레이어), 위치 또는 크기를 예측한 후, 테니스 볼의 움직임 중 플레이어의 움직임 영역을 제외하는 과정을 수행할 수 있다.
전처리 모듈(1501)은 배경을 제거한 후, 모폴로지 침식(erosion) 연산을 통해 테니스 볼 이외의 노이즈 객체를 제거하고 팽창(dilation) 연산을 통해 테니스 볼 또는 플레이어의 픽셀을 팽창시키는 과정을 더 수행할 수 있다.
예측 모듈(1503)은 테니스 볼의 이동을 추정하여 테니스 볼의 낙하지점을 예측할 수 있다. 예측 모듈(1503)은 비선형적으로 이동하는 테니스 볼에 대한 측정값과 오차 공분산 행렬을 이용하는 무향 칼만 필터를 적용할 수 있다. 예측 모듈(1503)은 테니스 볼의 예상 이동지점이 복수 개로 예측되는 경우, 무향 칼만 필터에서 추정된 추정값과 각 예상 이동지점 간 거리를 계산하여 최단 거리인 예상 이동지점으로 테니스 볼의 예상 위치를 선정할 수 있다.
예측 모듈(1503)은 일정 시간 동안 테니스 볼의 위치 차이를 통해 테니스 볼의 현재 속도를 평균 속도로 간주하여 테니스 볼의 속도를 산출하고, 테니스 볼이 지면(z=0)에 떨어지는 시간을 산출한 후, z=0인 시점에서의 속도를 이용하여 테니스 볼의 낙하지점 좌표(x, y)를 산출할 수 있다. 전처리 모듈(1501)과 예측 모듈(1503)에 대해서는 이하 도 4a 내지 도 5g에서 자세히 후술한다.
학습부(170)는 촬영부(110)에서 촬영된 플레이어의 영상으로 플레이어의 자세 또는 패턴을 분류하여 학습할 수 있다. 보다 상세하게 학습부(170)는는 훈련 영상 중 낙하지점 분석부(150)에서 플레이어를 추출한 부분만을 이용할 수 있다. 학습부(170)는 플레이어에 관한 정보를 토대로 자세 교정프로그램 또는 보완 훈련프로그램 등을 생성할 수 있다.
제1 통신부(190)는 볼 머신기(30)와 무선 통신하여 촬영부(110), 위치 추출부(130), 낙하지점 분석부(150) 또는 학습부(170)의 정보를 송신할 수 있고, 볼 머신기(30)에서 발사한 테니스 볼의 구질에 관한 정보 등을 포함한 볼 머신기(30)에서 획득된 정보를 수신할 수 있다.
중앙 처리부(10)는 추가적으로 촬영부(110)에서 촬영된 영상 데이터, 위치 추출부(130)의 데이터, 낙하지점 분석부(150)의 데이터, 학습부(170)에서 학습된 학습 데이터 등을 저장할 수 있고, 이러한 저장된 데이터는 제1 통신부(190)를 통해 사용자에게 전송될 수 있다.
볼 머신기(30)는 테니스 볼이 낙하될 것으로 예상되는 위치로 이동하여 해당 위치에서 테니스 볼을 발사할 수 있다. 볼 머신기(30)는 매카넘 휠을 이용하여 빠르게 이동할 수 있다. 도 5a 내지 도 6c는 본 발명의 실시 예에 따른 볼 머신기(30)의 외부 및 내부를 나타낸 것으로, 이하 도 5a 내지 도 6c에서 자세히 후술한다
도 2a 내지 도 2c는 본 발명의 실시 예에 따른 낙하지점 분석부(150)의 전처리 모듈(1501)에서 배경을 제거하는 과정과 모폴로지 연산 과정을 나타낸 모습이다. 도 2a는 촬영부(110)에서 촬영된 촬영 영상이며, 도 2b는 배경 제거 알고리즘을 통해 1차적으로 배경이 제거된 모습이다. 도 2c는 2차적으로 모폴로지 침식(erosion) 연산을 통해 노이즈 객체를 제거한 후, 팽창(dilation) 연산을 통해 테니스 볼 또는 플레이어의 픽셀을 팽창시킨 모습이다.
전처리 모듈(1501)은 촬영부(110)의 촬영 영상에서 테니스 볼 이외의 배경을 제거하고 추적 대상인 테니스 볼의 움직임 영역을 추출할 수 있다.
전처리 모듈(1501)은 배경 제거 알고리즘을 이용하여 촬영부(110)에서 촬영된 촬영 영상 중 전후 프레임 간 픽셀 명도 차이를 비교하여 변화가 있는 영역만을 얻고 배경을 제거할 수 있다. 도 2b는 배경 제거 알고리즘을 통해 1차적으로 배경이 제거된 모습이다. 도 2b를 참고하면, 도 2a와 비교하여, 명도 차이가 발생한 픽셀은 흰색으로 표현되고 차이가 없는 픽셀은 검정으로 표현되어 이진화된 이미지를 획득할 수 있다.
다만, 도 2b는 테니스 볼을 포함한 다양한 이동 객체의 픽셀 정보가 포함될 수 있다. 따라서, 테니스 볼을 특정하여 추적하기 위해 테니스 볼 이외의 다른 객체에 대한 픽셀을 제거하는 선행과정이 필요하다. 본 발명은 모폴로지 침식(erosion) 연산을 수행하여 테니스 볼 이외의 불필요한 노이즈 객체의 작은 픽셀을 제거할 수 있다. 그 후, 도 2c와 같이 작은 테니스 볼 또는 플레이어의 픽셀을 팽창(dilation) 연산을 통해 팽창시키는 과정을 더 수행할 수 있다.
도 2c와 같이 테니스 볼과 플레이어에 대한 픽셀 이외의 픽셀이 제거되고, 해당 픽셀이 팽창된 후, 이웃한 복수 개의 픽셀을 라벨링하여 그룹화할 수 있다. 이때, 연결 요소 라벨링 알고리즘(Connect-ed Component Labeling Algorithms)이 사용될 수 있으며, 인접한 픽셀을 라벨링하여 하나의 그룹(테니스 볼 또는 플레이어)으로 설정할 수 있다. 연결 요소 라벨링 알고리즘은 각 픽셀에서 이웃한 8개의 픽셀이 연결되어 있을 경우 하나의 라벨을 부여할 수 있다, 이 과정을 반복하여 다수의 픽셀 그룹이 생성되고, 그 그룹들을 공의 후보군으로 정의할 수 있다.
다음으로, YOLO-v3 알고리즘을 이용하여 그룹화된 픽셀을 객체 종류(테니스 볼 또는 플레이어), 위치 또는 크기를 예측할 수 있다. YOLO-v3 알고리즘은 객체 탐지와 분류를 하나의 과정으로 동작하는 실시간 객체 인식 인공 신경망이다. 신경망 모델을 통해 이미지는 그리드 셀(예를 들면,
Figure 112021135172567-pat00001
(13x13, 26x26, 52x52))로 분할하고 사전에 정의된 앵커 박스(anchor box)를 각 셀마다 배치하여 객체 종류, 위치 그리고 경계박스의 크기를 예측할 수 있다.
그 후, 테니스 볼과 플레이어의 전체 움직임 중 플레이어의 움직임 영역을 제외하는 과정을 수행할 수 있다. 이는 YOLO-v3를 통해 얻은 플레이어에 대한 경계박스와 테니스 볼 후보 영역 경계박스에 대해 IOU (Intersection Over Union) 계산을 이용할 수 있다. IOU는 이미지에서 서로 다른 경계박스가 겹쳐진 영역과 두 박스의 전체 영역에 대한 비율로서, 테니스 볼과 플레이어의 전체 움직임 중 플레이어의 움직임 영역을 제외함으로써, 테니스 볼의 움직임 영역만을 선택적으로 추출할 수 있다.
도 3a 내지 도 3c는 본 발명의 실시 예에 따른 낙하지점 분석부(150)의 예측 모듈(1501)에서 테니스 볼의 추적 과정을 나타낸 모습이다.
예측 모듈(1503)은 테니스 볼의 이동을 추정하여 테니스 볼의 낙하지점을 예측할 수 있다. 예측 모듈(1503)은 비선형적으로 이동하는 테니스 볼에 대한 측정값과 오차 공분산 행렬을 이용하는 무향 칼만 필터를 적용하여, 다음 측정값을 추정할 수 있다. 테니스 볼에 대한 측정값은 촬영부(110)에서 촬영된 영상 데이터에서 검출된 테니스 볼의 위치값(좌표)이 적용될 수 있다. 공분산 행렬은 이산 백색 소음과 대각 분산행렬이 적용될 수 있다. 공분산 행렬은 다음과 같다.
칼만 필터 시스템 모델의 상태 변수는 이미지에서 객체의 X축과 Y축의 위치와 속도로 정의되고, 객체의 위치값을 얻기 위해 출력함수는 다음과 같이 정의될 수 있다.
무향 칼만 필터의 추정값은 현재 프레임에서 테니스 볼의 위치로 추정될 수 있다. 도 3a와 같이 현재 프레임에서 다수의 공 후보가 검출될 경우 칼만필터의 추정값과 테니스 볼 후보 사이의 거리를 계산할 수 있다. 이후 도 3b와 같이 가장 인접한 후보를 공으로 선정하고 나머지 후보는 제거할 수 있다. 이후 선정된 테니스 볼의 위치를 칼만필터에 갱신하여 다음 프레임에서 테니스 볼의 위치를 추정할 수 있다(도 3c). 예측 모듈(1503)은 이 과정을 반복하여 연속적으로 테니스 볼의 위치를 추적할 수 있다.
실험례 : 테니스 볼의 위치 추출 및 낙하지점 예측과 실험 결과
도 4a 내지 도 4g는 위치 추출부(130) 및 낙하지점 분석부(150)에서 테니스 볼의 위치 또는 궤적을 실시간으로 추출하며, 테니스 볼이 낙하할 것으로 예상되는 낙하지점을 산출하는 과정을 순차적으로 나타낸 것이다.
(1) Gazebo 실험 환경 설정
본 발명의 실험례에서는 테니스 공의 위치 및 낙하지점 예측 시스템을 평가하기 위해 물리엔진(ODE, Bullet 등)을 이용한 가상 로봇 시뮬레이션 소프트웨어 Gazebo 시뮬레이션을 적용하였다. 카메라(1101)는 테니스 코트의 양 측면 포스트 위에 각각 설치되었으며, 설치된 카메라는 일반적인 RGB camera이다. 도 4a는 테니스 코트의 양 측면에 각각 설치된 카메라(1101)가 서로 대향하는 방향에서 한쪽 테니스 코트를 촬영하는 모습이다. 도 4a와 같이 테니스 코트를 양 방향에서 촬영하도록 하였다.
Gazebo 환경에서 적용되는 수치인 반지름 R과 질량 m은 실제 테니스 볼과 동일하도록 설정하였다. 따라서 반지름 R은 0.033m, 질량 m은 0.057kg으로 정의하였다. 또한, 탄성 실험의 데이터를 이용하여 SDF(Simulation Description Format)에 물성치를 정의하므로써, 실제 테니스 볼의 탄성을 구현하였다. 이를 통해 시뮬레이션 환경에서 테니스 볼을 구현하였다.
(2) 테니스 볼 운동 방정식 산정
본 발명의 테니스 훈련 시스템(1)의 성능 평가를 위한 시뮬레이션 환경에서 실제 테니스 볼의 움직임과 유사한 궤적을 구현하고자 하였다. 본 실험례에서 사용한 Gazebo 시뮬레이터의 물리 엔진을 기본적으로 강체 운동에 대한 움직임을 기술하는데 사용된다. 따라서, 탄성체인 테니스 볼의 움직임을 묘사하기 위해서는 테니스 볼의 움직임을 반영한 별도의 운동 방정식을 생성하여 적용하여야 한다. 이때, 움직이는 실제 테니스 볼은 단순 포물선 운동을 하는 것이 아니라, 도 4b와 같이 공기 저항으로 인한 항력과 양력의 영향을 받는다. 도 4b는 테니스 볼이 회전하면서 이동하는 동안 테니스 볼에 작용하는 중력, 항력, 양력을 나타낸 것이다. 항력과 달리 양력의 작용 방향은 테니스 볼의 회전 방향에 따라 반대로 작용한다. 즉, 테니스 볼이 역방향(Back spin) 회전하는 경우에는 정방향(Top spin) 회전보다 더 멀리 날라가는 현상이 발생한다.
도 4b와 같이 날아가는 테니스 볼에 대한 운동 방정식은 하기 [수학식 1]과 같다.
X, Y, Z는 3차원의 방향을 나타내며, vx, vy, vz는 각 방향의 속력, FD는 공기 저항으로 발생하는 항력, FL은 공기와 공기의 회전으로 인해 발생하는 양력, m은 질량, g는 중력 가속도, t는 시간을 의미한다.
항력(FD)와 양력(FL)은 하기 [수학식 2]로 정의된다.
ρ는 공기 밀도 , A는 테니스 볼의 겉넓이, v는 테니스 볼의 진행 방향 속도, C는 항력 계수이며, CL은 양력 계수를 나타낸다. CD는 실험 결과를 통해 산출된 0.605가 적용되었고, CL은 테니스 볼의 회전속도 ω와 진행 방향 속도 v에 따라 변화한다. 이를 통해 Gazebo 환경에서 현실과 유사한 테니스 공의 궤적이 구현될 수 있다. 테니스 볼의 검출 및 추적은 배경 제거, 모폴로지 연산 및 칼만 필터를 적용하였다.
(3) 테니스 볼의 위치 추출
움직이는 테니스 볼의 위치 (x, y, z) 또는 (Ballx, Bally, Ballz)는 촬영된 영상에서의 이미지 좌표 (x, y) 또는 (Ballx, Bally)와 Stereo-vision을 통해 설정된다. 테니스 볼의 이미지 좌표(Ballx, Bally)와 제1 카메라 사이의 거리(DL) 및 이미지 좌표(Ballx, Bally)와 제2 카메라 사이의 거리(DR)를 이용하여 테니스 볼의 높이 (z) 또는 (Ballz)를 추출한다. 도 4c는 추출된 테니스 볼의 위치(Ballx, Bally, Ballz)와 테니스 볼에서 테니스 코트 내의 테니스 네트 양 끝까지의 거리를 기하학적으로 표현한 것이다. 도 4c의 삼각형의 빨간색 영역(테니스 볼에서 테니스 네트 양 끝까지의 영역)에 대한 수치화는 도 4d와 같이 표현될 수 있다. 도 4d에서 θL은 테니스 볼과 테니스 네트의 일단을 잇는 직선과 테니스 네트가 이루는 각도를 의미하고, θR은 테니스 볼과 테니스 네트의 타단을 잇는 직선과 테니스 네트가 이루는 각도를 의미한다. Lnet는 테니스 볼에서 테니스 네트까지의 직선거리를 의미한다. θL 및 θR은 하기 [수학식 3]으로 나타낼 수 있다.
① 테니스 볼의 y좌표(Bally) 산출
테니스 볼의 y좌표(Bally)는 θL과 DL, 또는 θR 과 DR의 기하학적 관계를 이용하여 제2 코사인 법칙을 통해 산출될 수 있다. Lnet는 테니스 볼의 y좌표를 의미하는 것으로 하기 [수학식 4]와 같이 나타낼 수 있다.
② 니스 볼의 x좌표(Ballx) 산출
다음 테니스 공의 x좌표(Ballx)를 측정하기 위해서는 도 4d의 삼각형을 테니스 코트에 투영시켜야 한다. 도 4e는 테니스 네트 포스트 높이의 위치에 테니스 코트와 평행한 평면을 생성한 것이다. 테니스 볼의 z좌표(Ballz)에서 카메라가 설치된 테니스 네트 포스트의 높이 차이를 통해 도 4e의 h를 산출할 수 있다. 높이 h, 테니스 볼과 테니스 네트 사이의 거리(Lnet)를 이용하여 테니스 코트에 평행한 평면과 삼각형 사이의 각도(θcourt)를 산출할 수 있다. θcourt와 Lnet의 기하학적 관계를 이용해 테니스 볼의 x좌표(Ballx)를 산출할 수 있으며, 하기 [수학식 5]와 같이 나타낼 수 있다.
이러한 과정으로 통해 테니스 볼의 위치좌표 (Ballx, Bally, Ballz)를 추출할 수 있다.
(4) 테니스 볼의 낙하지점 예측
테니스 볼의 낙하지점을 예측하기 위해 [수학식 1]에 적용될 테니스 볼의 속도(vx, vy, vz)를 설정해야 한다.
테니스 볼의 속도는 일정 시간 동안 테니스 볼의 위치 차이를 이용하여 산출할 수 있다. 단위 시간을 설정한 후, 현재 테니스 볼의 위치와 단위 시간 이전의 테니스 볼 위치 사이의 변화를 시간 변화 동안 계산하여 테니스 볼의 속도를 산출할 수 있다. 본 실험례에서는 산출된 테니스 볼의 현재 속도를 평균 속도로 간주하였다. 테니스 볼의 속도(vx,y,z)는 [수학식 6]과 같이 나타날 수 있다.
z=0는 테니스 볼이 지면에 낙하하는 것을 의미하므로, 테니스 볼의 낙하시간(tz=0)은 하기 [수학식 7]의 과정을 통해 z가 0인 경우로 산출될 수 있다.
테니스 볼의 낙하지점(Xground, Yground)은 하기 [수학식 8]을 통해 산출될 수 있다.
X0, Y0, Y0는 테니스 볼의 초기 위치, vx, vy, vz는 테니스 볼의 속도, tz=0는 테니스 볼의 낙하시간을 의미한다.
(5) 실험 결과
도 4f는 테니스 볼을 한쪽 테니스 코트에서 반대쪽 코트로 65~90km/h의 속도로 무작위 발사한 경우에, 실제 테니스 볼의 궤적(빨간색)과 본 발명에서 측정된 궤적(파란색)을 표시한 것이다. 빨간색으로 표시한 궤적은 실제 테니스 볼의 출발 지점으로부터 이동 내역을 나타낸 것이고, 파란색으로 표시한 궤적은 본 발명의 테니스 훈련 시스템(1)의 위치 측정이 시작된 지점으로부터 예측된 테니스 볼의 예상 궤적을 나타낸 것이다. 측정된 테니스 볼의 위치는 서로 다른 약 3500개의 점으로 이루어진 시간열(time-series) 궤적이며 오차는 하기 [표 1]과 같다.
테니스 볼의 위치를 통해 테니스 볼의 속도 예측 결과는 [표 2]와 같다.
도 4g는 테니스 볼의 속도를 이용하여 테니스 볼의 낙하지점을 예측한 결과를 표시한 것이다. 본 발명의 테니스 훈련 시스템(1)이 예측한 테니스 볼의 낙하지점은 도 4g에서 파란색 타원으로 표시되었다. 테니스 볼의 궤적 표본 500개의 대한 오차는 하기 [표 3]과 같다.
도 5a 내지 도 5d는 본 발명의 실시 예에 따른 볼 머신기(30)의 모습을 나타낸다. 보다 상세하게, 도 5a는 본 발명의 실시 예에 따른 볼 머신기(30)의 조감도이며, 도 5b는 정면도, 도 5c는 측면도, 도 5d는 배면도이다.
볼 머신기(30)는 제2 통신부(310), 제어부(330), 발사부(350), 수집부(360), 운반부(370) 및 저장부(380)를 포함할 수 있다. 제2 통신부(310) 및 제어부(330)는 볼 머신기(30)에 내장되는 소프트웨어로서, 볼 머신기(30)는 제2 통신부(310) 및 제어부(330)를 통해 테니스 훈련을 위한 이동 제어 및 판단 과정이 수행될 수 있다. 발사부(350), 수집부(360), 운반부(370) 및 저장부(380)는 볼 머신기(30)의 외관을 구성하는 하드웨어일 수 있다. 볼 머신기(30)는 발사부(350), 수집부(360), 운반부(370) 및 저장부(380)를 통해 제2 통신부(310) 및 제어부(330)의 판단 결과를 테니스 볼 수집 및 발사 과정으로 수행할 수 있다.
제2 통신부(310)는 중앙 처리부(10)의 제1 통신부(190)와 무선 통신하여 정보를 송수신할 수 있다. 또한 제2 통신부(310)는 볼 머신기(30)의 제어부(330)의 하위 구성인 위치 감지 모듈(3301), 이동 분석 모듈(3303), 실행 모듈(3305) 간 데이터를 전달하며, 볼 머신기(30)의 이동 또는 발사 방법 등이 제어될 수 있다.
제어부(330)는 위치 감지 모듈(3301), 이동 분석 모듈(3303) 및 실행 모듈(3305)을 포함하여, 볼 머신기(30)의 이동 또는 테니스 볼 발사를 제어할 수 있다.
위치 감지 모듈(3301)은 제2 통신부(310)를 통해 수신된 위치 추출부(130)의 좌표를 기반으로 볼 머신기(30)의 실시간 위치를 감지할 수 있다. 위치 감지 모듈(3301)은 위치 추출부(130)로부터 테니스 코트에 설정된 전체 좌표 정보를 전송받을 수 있고, 이를 기반으로 하여 볼 머신기(30) 스스로 어느 위치에 있는지 파악할 수 있다. 위치 감지 모듈(3301)은 볼 머신기(30)가 이동하면 변화된 위치에 따라 계속적으로 좌표를 감지할 수 있다.
이동 분석 모듈(3303)은 낙하지점 분석부(150)의 분석 결과와 위치 감지 모듈(3301)의 감지 결과를 토대로 볼 머신기(30)의 위치와 테니스 볼의 낙하지점까지의 최단 거리 또는 최단 이동 시간을 실시간 분석할 수 있다. 본 발명은 플레이어가 테니스 볼을 컨트롤함에 따라 변화하는 테니스 볼의 이동 및 낙하를 고려하여, 예측된 낙하지점에서 볼 머신기(30)가 테니스 볼을 발사하는 것을 기술적 특징으로 한다. 따라서, 볼 머신기(30)는 테니스 볼이 테니스 코트로 낙하하기 전에 해당 낙하지점으로 이동되어야 한다. 이를 위한 조건으로서, 볼 머신기(30)의 현재 위치 정보, 테니스 볼의 낙하지점 정보, 볼 머신기(30)의 현재 위치에서 테니스 볼의 낙하지점으로 이동하는 최단 거리 또는 이동 시간 정보가 필요할 수 있다.
이에 이동 분석 모듈(3303)은 위치 감지 모듈(3301)로부터 볼 머신기(30)의 현재 위치 정보를 전달받고, 낙하지점 분석부(150)로부터 테니스 볼의 예상 낙하지점 정보를 전달받아 두 지점 간 이동 경로 또는 이동 시간을 분석할 수 있다. 보다 상세하게, 이동 분석 모듈(3303)은 볼 머신기(30)의 속력을 고려하여 이동 속도를 제어할 수 있다. 이동 분석 모듈(3303)의 분석 결과는 실행 모듈(3305)로 전송될 수 있고, 실행 모듈(3305)은 이동 분석 모듈(3303)의 분석 결과에 따라 볼 머신기(30)의 이동 방향 또는 이동 속력을 제어할 수 있다.
볼 머신기(30)는 수집부(360)를 통해 테니스 볼을 수집할 수 있다. 본 발명의 일 실시예인 도 5a 및 도 5b를 참고하면, 수집부(360)는 메쉬 형태로, 볼 머신기(30)(보다 상세하게 발사부(350))의 양 옆에 마련될 수 있다. 다만, 수집부(360)는 복수 개의 테니스 볼을 수집할 수 있는 형태이면 충분하고, 특정 형태로 제한되는 것은 아니다. 또한, 수집부(360)는 복수 개 마련될 수 있으며, 그 위치가 도 5와 같이 제한되는 것은 아니다.
운반부(370)는 수집부(360)를 통해 수집된 테니스 볼을 저장부(380)로 운반할 수 있다. 본 발명의 일 실시예인 도 5a 내지 도 5d와 같이 저장부(380)가 수집부(360) 보다 높은 위치에 형성된 경우, 운반부(370)는 수집부(360)에 수집된 테니스 볼을 상단의 저장부(380)까지 상방으로 운반할 수 있다. 이때 운반부(370)는 원기둥 형상일 수 있다. 운반부(370)는 수직으로 긴 기둥을 중심으로 외부에 나선형의 가이드를 포함할 수 있다. 테니스 볼은 나선형의 가이드를 따라 상방으로 수직이동할 수 있다. 운반부(370)를 통해 이동한 테니스 볼은 최종적으로 저장부(380)로 이동하여 저장될 수 있다.
저장부(380)는 운반부(370)를 통해 이동된 복수 개의 테니스 볼을 저장할 수 있으며, 발사부(350)와 연결되어 테니스 볼을 발사부(350)에 전달할 수 있다. 도 5를 참고하면, 저장부(380)는 테니스 볼이 이동할 수 있는 원통형의 통로로 발사부(350)와 연결될 수 있다. 저장부(380)는 통로를 통해 한 개씩 테니스 볼을 발사부(350)에 전달함으로써 발사부(350)는 테니스 볼을 개별적으로 발사시킬 수 있다.
도 6a 내지 도 6c는 본 발명의 실시 예에 따른 볼 머신기의 발사부(350) 모습을 나타낸다. 보다 상세하게 도 6a는 볼 머신기(30)의 발사부(350) 형태이며, 도 6b는 구동 롤러(3053)가 Y형태로 구성된 발사부(350)의 정면 모습이다. 도 6c는 발사부(350)의 내부 단면을 나타낸다.
발사부(350)는 볼 머신기는(30)에서 테니스 볼과 직접적으로 접촉하여 마찰을 일으키면서 테니스 볼을 발사할 수 있다. 발사부(350)는 구동 모터(3501), 구동 롤러(3503), 아이들러(3505), 구동 벨트(3507)를 포함할 수 있다.
구동 모터(3501)는 고정된 위치에서 회전하며 테니스 볼에 구동력을 공급할 수 있다. 구동 롤러(3503)는 도 6c를 참고하면, 구동 모터(3501)와 축결합하여 구동 모터(3501)와 함께 회전하며 테니스 볼을 발사할 수 있다.
도 6a 또는 도 6b를 참고하면, 구동 롤러(3503)는 복수 개 마련될 수 있으며, 복수 개의 구동 롤러(3503)는 테니스 볼과 맞닿는 각도가 각각 조절되거나, 각 구동 롤러(3503)의 속력이 조절됨으로써 발사되는 테니스 볼의 구질을 제어할 수 있다. 일 실시예로 구동 롤러(3503)는 Y자 형상으로 형성되어 테니스 볼과 3면으로 각각 맞닿도록 형성될 수 있다. 발사부(350)는 구동 롤러(3503)가 기본적으로 서로 120도를 이루면서 3방향에서 테니스 볼을 지지하므로 보다 안정적인 발사가 가능하다.
또한, 발사부(350)는 구동 롤러(3503) 간 사이 각도 또는 각 구동 롤러(3503)의 속력이 개별적으로 조절될 수 있다. 이를 통해 테니스 볼의 구질이 다양하게 제어될 수 있다. 예를 들어, 어느 하나의 구동 롤러(3503)가 다른 2개의 구동 롤러(3503)보다 상대적으로 느린 속력으로 작동되면, 테니스 볼은 느린 속력 방향으로 휘면서 발사될 수 있다.
아이들러(idler)(3505)는 구동 롤러(3503)와 일정 거리로 이격되어 위치하는 캐리어로서, 구동 벨트(3507)을 이동 형태를 결정하며 구동 벨트(3507)의 장력을 조절할 수 있다. 도 6c를 참고하면, 아이들러(3505)는 구동 롤러(3503)와 대향하여 위치함으로써 구동 벨트(3507)의 형태를 결정할 수 있다. 구동 롤러(3503)가 테니스 볼을 외부로 발사하는 말단에 위치하는 것과 반대로, 아이들러(3505)는 테니스 볼이 발사부(350)에 투입되는 지점에 위치할 수 있다. 따라서, 테니스 볼은 발사를 위해 처음 아이들러(3505)를 거치고 최종적으로 구동 롤러(3503)를 지나 발사될 수 있다.
구동 벨트(3507)는 구동 롤러(3503)의 외면을 따라 회전하며 볼 머신기(30) 내부에서 테니스 볼을 가속이동시킬 수 있다. 구동 벨트(3507)는 아이들러(3505) 또는 구동 롤러(3503)의 외면을 접하며 이동할 수 있다. 구동 벨트(3507)는 발사부(350) 내부에서 아이들러(3505)와 구동 롤러(3503)를 양 단으로 하여 고리를 형성할 수 있다. 도 6c를 참고하면, 구동 벨트(3507)는 아이들러(3505)와 구동 롤러(3503)에 걸쳐 형성됨을 확인할 수 있다.
이러한 구동 벨트(3507)를 통해, 발사부(350)에 투입된 테니스 볼은 아이들러(3505)에서부터 구동 롤러(3503)까지 구동 벨트(3507)와 접하며 이동할 수 있다. 이때 구동 벨트(3507)는 테니스 볼과 일정 시간동안 접촉(선접촉)한 채 이동시키면서 테니스 볼에 구동력을 전달할 수 있다. 구동 벨트(3507)는 테니스 볼이 이동하는 동안 속력을 점차 가속시킬 수 있으며, 아이들러(3505)와 구동 롤러(3503) 사이의 거리는 테니스 볼의 가속 경로로 작용할 수 있다.
구동 벨트(3507)는 구동 롤러(3503)의 개수만큼 각 구동 롤러(3503)에 마련될 수 있다. 구동 벨트(3507)의 이동 속도는 구동 롤러(3503) 또는 구동 모터(3501)의 속력에 의해 결정될 수 있으며, 복수의 구동 롤러(3503) 또는 구동 모터(3501)의 속력이 상이해짐에 따라, 각 구동 벨트(3507)가 테니스 볼의 각 면에 작용하는 가속 범위도 상이할 수 있다. 이를 통해 테니스 볼의 구질이 조절될 수 있다.
발사부(350)는 실행 모듈(3305)의 실행 제어조건을 전달받아 이를 반영하여 테니스 볼을 발사할 수 있다. 또한, 발사부(350)는 학습부(170)의 학습 결과를 반영하여 테니스 볼의 구질을 제어할 수 있다. 실행 모듈(3305) 또는 학습부(170)는 상황에 따른 프로그램을 설정할 수 있으며, 이러한 프로그램은 플레이어의 실력에 따른 훈련 프로그램, 특정 선수의 경기 특성을 반영한 경기 프로그램 등을 포함할 수 있다. 실행 모듈(3305) 또는 학습부(170)에서 특정 프로그램을 설정하면 발사부(350)는 그에 따른 구질의 테니스 볼을 발사할 수 있다.
이상에서 대표적인 실시예를 통하여 본 발명을 상세하게 설명하였으나, 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자는 상술한 실시예에 대하여 본 발명의 범주에서 벗어나지 않는 한도 내에서 다양한 변형이 가능함을 이해할 것이다. 그러므로 본 발명의 권리 범위는 설명한 실시예에 국한되어 정해져서는 안 되며, 후술하는 특허청구범위뿐만 아니라 특허청구범위와 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태에 의하여 정해져야 한다.
1 : 테니스 훈련 시스템
10 : 중앙 처리부
110 : 촬영부
1101 : 카메라
130 : 위치 추출부
150 : 낙하지점 분석부
1501 : 전처리 모듈
1503 : 예측 모듈
170 : 학습부
190 : 제1 통신부
30 : 볼 머신기
310 : 제2 통신부
330 : 제어부
3301 : 위치 감지 모듈
3303 : 이동 분석 모듈
3305 : 실행 모듈
350 : 발사부
3501 : 구동 모터
3503 : 구동 롤러
3505 : 아이들러
3507 : 구동 벨트
360 : 수집부
370 : 운반부
380 : 저장부

Claims (15)

  1. 하기 볼 머신기와 무선 통신하며 하기 볼 머신기를 제어하는 중앙 처리부; 및
    테니스 볼이 낙하될 것으로 예상되는 위치로 이동하여 해당 위치에서 상기 테니스 볼을 발사하는 볼 머신기를 포함하며,
    상기 중앙 처리부는,
    테니스 코트와 상기 테니스 코트 내에 위치한 상기 테니스 볼, 상기 볼 머신기 또는 플레이어를 촬영하는 촬영부;
    상기 촬영부의 촬영 결과를 바탕으로 상기 테니스 코트의 내부를 좌표화하고, 상기 테니스 볼, 상기 볼 머신기 또는 상기 플레이어의 위치를 좌표(x, y, z)로 추출하는 위치 추출부;
    상기 촬영부의 촬영 결과를 바탕으로 상기 테니스 볼의 이동을 분석하여 상기 테니스 볼의 낙하지점을 예측하는 낙하지점 분석부; 및
    상기 볼 머신기와 무선 통신하여 상기 촬영부, 상기 위치 추출부 또는 상기 낙하지점 분석부의 정보를 송수신하는 제1 통신부를 포함하고,
    상기 볼 머신기는,
    상기 중앙 처리부의 상기 제1 통신부와 무선 통신하여 정보를 송수신하는 제2 통신부;
    상기 제2 통신부를 통해 수신된 상기 위치 추출부의 좌표를 기반으로 상기 볼 머신기의 실시간 위치를 감지하는 위치 감지 모듈; 및
    상기 낙하지점 분석부의 분석 결과와 상기 위치 감지 모듈의 감지 결과를 토대로 상기 볼 머신기의 위치와 상기 테니스 볼의 낙하지점까지의 최단 거리 또는 최단 이동 시간을 실시간 분석하는 이동 분석 모듈을 포함하여, 테니스 경기가 가능한 테니스 훈련 시스템.
  2. 제 1 항에 있어서,
    상기 촬영부는,
    멀티 비전 센서가 적용되는 것을 특징으로 하는 테니스 훈련 시스템.
  3. 제 1 항에 있어서,
    상기 촬영부는,
    상기 테니스 코트의 양 측면에 각각 마련된 복수 개의 카메라를 포함하는 것을 특징으로 하는 테니스 훈련 시스템.
  4. 제 3 항에 있어서,
    상기 위치 추출부는,
    복수의 stereo-vision이 적용되며, 상기 테니스 볼과 상기 카메라 사이의 거리를 이용하여 상기 테니스 볼의 (x, y) 좌표를 산출하는 것을 특징으로 하는 테니스 훈련 시스템.
  5. 제 1 항에 있어서,
    상기 낙하지점 분석부는,
    상기 촬영부의 촬영 영상에서 상기 테니스 볼 이외의 배경을 제거하고 추적 대상인 상기 테니스 볼의 움직임 영역을 추출하는 전처리 모듈; 및
    상기 테니스 볼의 이동을 추정하여 상기 테니스 볼의 낙하지점을 예측하는 예측 모듈을 포함하는 것을 특징으로 하는 테니스 훈련 시스템.
  6. 제 5 항에 있어서,
    상기 전처리 모듈은,
    상기 촬영부에서 촬영된 촬영 영상 중 전후 프레임 간 픽셀 명도 차이를 비교하여 배경을 제거하고, 이웃한 복수 개의 픽셀을 라벨링하여 그룹화하여, 그룹화된 상기 픽셀을 객체 종류(상기 테니스 볼 또는 상기 플레이어), 위치 또는 크기를 예측한 후, 상기 테니스 볼과 상기 플레이어의 전체 움직임 중 상기 플레이어의 움직임 영역을 제외하는 과정을 수행하는 것을 특징으로 하는 테니스 훈련 시스템.
  7. 제 6 항에 있어서,
    상기 전처리 모듈은,
    배경을 제거한 후, 모폴로지 침식(erosion) 연산을 통해 상기 테니스 볼 이외의 노이즈 객체를 제거하고 팽창(dilation) 연산을 통해 상기 테니스 볼 또는 상기 플레이어의 픽셀을 팽창시키는 과정을 더 수행하는 것을 특징으로 하는 테니스 훈련 시스템.
  8. 제 5 항에 있어서,
    상기 예측 모듈은,
    비선형적으로 이동하는 상기 테니스 볼에 대한 측정값과 오차 공분산 행렬을 이용하는 무향 칼만 필터를 적용하는 것을 특징으로 하는 테니스 훈련 시스템.
  9. 제 8 항에 있어서,
    상기 예측 모듈은,
    상기 테니스 볼의 예상 이동지점이 복수 개로 예측되는 경우, 상기 무향 칼만 필터에서 추정된 추정값과 각 예상 이동지점 간 거리를 계산하여 최단 거리인 예상 이동지점으로 상기 테니스 볼의 예상 위치를 선정하는 것을 특징으로 하는 테니스 훈련 시스템.
  10. 제 5 항에 있어서,
    상기 예측 모듈은,
    일정 시간 동안 상기 테니스 볼의 위치 차이를 통해 상기 테니스 볼의 현재 속도를 평균 속도로 간주하여 상기 테니스 볼의 속도를 산출하고, 상기 테니스 볼이 지면(z=0)에 떨어지는 시간을 산출한 후, z=0인 시점에서의 속도를 이용하여 상기 테니스 볼의 낙하지점 좌표(x, y)를 산출하는 것을 특징으로 하는 테니스 훈련 시스템.
  11. 제 1 항에 있어서,
    상기 중앙 처리부는,
    상기 촬영부에서 촬영된 플레이어의 영상으로 상기 플레이어의 자세 또는 패턴을 분류하여 학습하는 학습부를 더 포함하는 것을 특징으로 하는 테니스 훈련 시스템.
  12. 제 1 항에 있어서,
    상기 볼 머신기는,
    상기 테니스 볼에 구동력을 공급하는 구동 모터;
    상기 구동 모터와 축결합하여 회전하며 상기 테니스 볼을 발사하는 구동 롤러; 및
    상기 구동 롤러의 외면을 따라 회전하며 상기 볼 머신기 내부에서 상기 테니스 볼을 가속이동시키는 구동 벨트를 포함하는 것을 특징으로 하는 테니스 훈련 시스템.
  13. 제 12 항에 있어서,
    상기 구동 롤러는,
    상기 테니스 볼이 발사되는 말단에 복수 개 마련되어, 상기 테니스 볼의 각도 또는 속력을 제어하는 것을 특징으로 하는 테니스 훈련 시스템.
  14. 제 12 항에 있어서,
    상기 구동 롤러는,
    상기 테니스 볼을 중심으로 Y자 형상으로 복수 개 마련되어 상기 테니스 볼의 구질을 제어하는 것을 특징으로 하는 테니스 훈련 시스템.
  15. 제 11 항에 있어서,
    상기 볼 머신기는,
    상기 학습부의 학습 결과를 반영하여 상기 테니스 볼의 구질을 제어하는 것을 특징으로 하는 테니스 훈련 시스템.

KR1020210162524A 2021-11-23 2021-11-23 테니스 훈련 시스템 KR102626000B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020210162524A KR102626000B1 (ko) 2021-11-23 2021-11-23 테니스 훈련 시스템

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020210162524A KR102626000B1 (ko) 2021-11-23 2021-11-23 테니스 훈련 시스템

Publications (2)

Publication Number Publication Date
KR20230076950A KR20230076950A (ko) 2023-06-01
KR102626000B1 true KR102626000B1 (ko) 2024-01-22

Family

ID=86770629

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210162524A KR102626000B1 (ko) 2021-11-23 2021-11-23 테니스 훈련 시스템

Country Status (1)

Country Link
KR (1) KR102626000B1 (ko)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102045449B1 (ko) * 2017-09-15 2019-11-15 주식회사 뉴딘콘텐츠 가상 테니스 시뮬레이션 시스템 및 그 제어방법
KR20200126036A (ko) * 2019-04-29 2020-11-06 최호기 테니스공 발사와 수거를 수행하는 로봇
KR102265914B1 (ko) 2020-09-04 2021-06-16 권예찬 테니스 자율훈련 시스템

Also Published As

Publication number Publication date
KR20230076950A (ko) 2023-06-01

Similar Documents

Publication Publication Date Title
US20230372803A1 (en) Tennis self-training system
US20210264141A1 (en) Device, System, and Method of Computer Vision, Object Tracking, Image Analysis, and Trajectory Estimation
JP5519708B2 (ja) 球形物体の飛行情報測定システム及び方法(SYSTEMANDmETHODFORmEASURINGFLIGHTPARAMETERSOFASPHERICALOBJECT)
JP3778427B2 (ja) 打球診断システム
US11565166B2 (en) Golf game implementation using ball tracking and scoring system
WO2012128575A9 (ko) 가상 골프 시뮬레이션 장치에 이용되는 센싱 장치 및 센싱방법
US20180043229A1 (en) Video analytics for human performance
CN104102835B (zh) 一种基于实时视频图像的投掷训练成绩检测方法
US11850498B2 (en) Kinematic analysis of user form
WO2012128568A2 (ko) 가상 골프 시뮬레이션 장치와, 이에 이용되는 센싱장치 및 센싱방법
US11747128B2 (en) System and method for testing a surface
KR20230050262A (ko) 테니스 자율훈련 시스템
KR20130047081A (ko) 초고속 머신 비전 카메라를 이용한 골프 시뮬레이션 시스템 및 그 시스템을 이용한 골프 시뮬레이션 방법
US20230285832A1 (en) Automatic ball machine apparatus utilizing player identification and player tracking
KR100907704B1 (ko) 인공지능형 캐디를 이용한 골퍼자세교정시스템 및 이를이용한 골퍼자세교정방법
US20220047917A1 (en) Method, device and computer software for determining a relative performance measure between at least two players in a sport
KR102626000B1 (ko) 테니스 훈련 시스템
CN113312840B (zh) 一种基于强化学习的羽毛球对弈方法及系统
CN117333550A (zh) 基于计算机视觉检测的羽毛球发球高度违例判别方法
CN115475373B (zh) 运动数据的展示方法、装置、存储介质及电子装置
CN112494915B (zh) 一种羽毛球机器人及其系统和控制方法
CN111738093A (zh) 一种基于梯度特征的冰壶球自动测速方法
CN220424511U (zh) 一种智能羽毛球控球训练评分系统
Toshniwal et al. Ai coach for badminton
CN115414646B (zh) 篮球辅助训练方法、装置

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right