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

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

Info

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

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

가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법{VIRTUAL TENNIS SIMULATION SYSTEM, SENSING DEVICE AND METHOD FOR SENSING PROCESS USING THE SAME}
본 발명은 소정의 실내 공간에서 가상의 상대방에 의한 테니스 플레이 영상이 구현되는 스크린이 설치되고 상기 스크린을 통해 볼 머신에서 발사되는 테니스볼을 사용자가 라켓으로 타격하는 방식으로 테니스 연습 또는 테니스 경기를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법에 관한 것이다.
최근에 골프와 야구 등과 같이 볼을 이용하여 즐기는 스포츠에 대해 실내의 좁은 공간에서도 실제 필드에서 골프나 야구를 하는 것과 같은 연습이나 경기를 위한 가상의 컨텐츠를 제공하는, 이른바 스크린 골프와 스크린 야구 등의 대중적인 인기와 그에 따른 기술적 발전에 따라 볼을 이용하는 가장 대표적인 스포츠인 테니스에 대해서도 소위 스크린 테니스 시스템이 등장하게 되었다.
테니스라는 스포츠는 골프나 야구와는 달리 사용자가 한 곳에서 계속 볼을 타격하는 것이 아니라 라켓을 든 사용자가 매우 다이나믹하게 움직이면서 상대 선수와 볼을 지속적으로 주고받는 랠리를 펼치는 스포츠로서, 이러한 테니스 스포츠의 특징을 스크린 테니스 시스템에서 적절히 구현하여 스크린 테니스를 이용하는 사용자가 다양한 위치에서 볼을 타격하면서 영상 내의 상대방과 지속적인 랠리를 현실감있게 할 수 있도록 하여 테니스 스포츠의 리얼리티를 실현하면서도 실제 테니스 스포츠에서는 쉽게 파악하기 어려운 다양한 분석 정보를 제공받을 수 있도록 하는 것이 관건이라 할 수 있다.
종래의 스크린 테니스 시스템 및 이에 이용되는 센싱장치 등에 관한 선행특허문헌으로서, 특허출원 제10-2015-0010077호, 특허출원 제10-2015-0138876호, 미국등록특허 제6,776,732호, 미국등록특허 제3,989,246호 등이 공개되어 있다.
그러나, 종래의 스크린 테니스 시스템은 플레이어가 볼을 타격할 때의 타격된 볼에 대한 센싱에만 국한하고 있고 그마저도 종래의 스크린 골프 시스템에서 널리 이용되는 방식, 즉 볼이 출발할 때의 출발속도, 출발각도 및 방향 정보만을 이용하여 전체 궤적을 예측하는 방식이라는 점에서 센싱의 범위가 매우 한정적이고 정확성이 낮기 때문에, 코트의 이곳저곳을 이동하면서 역동적으로 플레이하는 테니스라는 스포츠의 특성에 부합하도록 다양한 정보를 센싱하고 분석하며 그 결과에 따라 사용자에게 테니스의 특성에 부합하는 다양한 정보를 제공하는 점에 있어서 종래의 스크린 테니스 시스템이 상당히 미흡하다는 문제점이 있었다.
나아가 종래의 스크린 테니스 시스템은 상기한 바와 같은 문제점으로 말미암아 플레이가 매우 단조롭고 지루하며 단순 반복이 진행될 뿐이어서 테니스라는 스포츠의 특성을 스크린 테니스 시스템이 충분히 담아내지 못한다는 문제점이 있었다.
본 발명은 테니스라는 역동적인 스포츠의 특성을 플레이어가 경험하면서 또한 여러 가지 정보를 제공받을 수 있도록 하기 위한 가상 테니스 시뮬레이션 시스템을 제공하기 위한 것이며, 플레이어가 타격한 볼에 대한 센싱은 물론 상기 플레이어의 움직임에 대한 센싱 및 분석 등 다양한 정보의 센싱과 분석을 통해 종래의 스크린 테니스에서는 구현할 수 없었던 역동적이고 현실감 있는 가상의 테니스 플레이를 제공하며 플레이어에게 가상의 테니스 플레이에 대한 다양한 분석 정보의 제공 등을 실현할 수 있는 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법을 제공하기 위한 것이다.
본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은, 플레이어가 테니스 플레이를 하는 코트바닥부의 전방에 구비되어 가상 테니스 시뮬레이션 영상이 투영되는 스크린; 상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신; 미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 카메라 유닛; 상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼에 대한 볼 운동 모델을 산출하는 센싱처리유닛; 및 상기 플레이어가 플레이하는 상대방인 가상의 상대방 플레이어에 대한 영상을 구현하고 미리 설정된 인공지능에 따라 상기 가상의 상대방 플레이어가 플레이하도록 제어하며, 상기 센싱처리유닛에 의해 산출된 볼 운동 모델을 이용하여 상기 가상 테니스 시뮬레이션 영상의 생성 및 처리와 상기 볼 머신의 제어를 수행하는 제어장치를 포함하며,
상기 제어장치는, 상기 플레이어의 볼 타격에 따라 상기 카메라 유닛에 의해 취득된 이미지의 분석을 통해 상기 센싱처리유닛이 볼 운동 모델을 산출한 것을 이용하여 상기 볼 운동 모델에 대응되도록 영상 상에서 가상의 볼이 상기 가상의 상대방 플레이어가 있는 가상의 코트 쪽으로 이동하는 시뮬레이션 영상을 구현하고, 미리 설정된 인공지능에 따라 상기 가상의 상대방 플레이어가 가상의 볼을 타격함에 따라 상기 타격된 가상의 볼이 이동하는 시뮬레이션 영상을 구현하며, 상기 가상의 볼이 이동하는 연장선상에서 상기 볼 머신이 볼을 제공하여 상기 플레이어로 하여금 타격할 수 있도록 하는 방식으로, 상기 플레이어가 볼을 타격한 것에 대해 상기 가상의 상대방 플레이어가 가상의 볼을 타격하는 것을 반복하면서 상기 플레이어와 영상 상의 상기 가상의 상대방 플레이어가 테니스 랠리를 구현할 수 있도록 한다.
또한 바람직하게는, 상기 제어장치는, 상기 플레이어의 타격에 따라 상기 카메라 유닛 및 센싱처리유닛에 의해 센싱된 볼에 대응하여 영상 상에서 시뮬레이션 되는 가상의 볼이 인플레이인지 판단하여, 인플레이인 경우 상기 인공지능에 따라 상기 가상의 상대방 플레이어가 타격하는 상기 가상의 볼의 운동 조건을 결정하며,
상기 결정된 가상의 볼의 운동 조건에 따라 상기 볼 머신이 상기 플레이어에게 제공할 볼의 방향 및 속도를 설정하고, 상기 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신이 볼을 상기 설정된 볼의 방향 및 속도로 제공하도록 하여 상기 플레이어로 하여금 상기 볼 머신에서 발사된 볼을 타격하도록 하는 방식으로 상기 플레이어와 영상 상의 상기 가상의 상대방 플레이어가 테니스 랠리를 구현할 수 있도록 한 것을 특징으로 한다.
또한 바람직하게는, 상기 센싱처리유닛은, 상기 카메라 유닛에 의해 취득되는 이미지로부터 상기 플레이어에 해당하는 객체를 추출하여 분석함으로써 상기 플레이어의 위치를 검출하도록 구성되며, 상기 제어장치는, 상기 센싱처리유닛에 의해 검출되는 상기 플레이어의 위치에 기초하여 상기 인공지능이 상기 가상의 상대방 플레이어가 타격할 때의 가상의 볼의 운동 조건을 결정하도록 한 것을 특징으로 한다.
한편, 본 발명의 다른 일 실시예에 따른 가상 테니스 시뮬레이션 시스템은, 플레이어가 테니스 플레이를 하는 코트바닥부의 전방에 구비되어 가상 테니스 시뮬레이션 영상이 투영되는 스크린; 상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신; 미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 카메라 유닛; 상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼에 대한 볼 운동 모델을 산출하며, 상기 취득된 이미지로부터 상기 플레이어에 해당하는 객체를 추출하여 분석함으로써 상기 플레이어의 위치를 검출하는 센싱처리유닛; 및 상기 센싱처리유닛에 의해 산출된 볼 운동 모델을 이용하여 상기 가상 테니스 시뮬레이션 영상의 생성 및 처리와 상기 볼 머신의 제어를 하며, 상기 센싱처리유닛에 의해 검출되는 상기 플레이어의 위치에 기초하여 상기 플레이어에게 제공되는 볼의 방향을 결정하고 그에 대응하여 상기 가상 테니스 시뮬레이션 영상의 처리 및 상기 볼 머신의 제어를 수행하는 제어장치를 포함한다.
또한 바람직하게는, 상기 센싱처리유닛은, 상기 플레이어가 플레이하는 3차원 공간의 좌표계와 각 좌표축 방향에서의 볼의 운동에 대한 함수를 미리 정의하며, 상기 카메라 유닛에 의해 촬영되는 이미지를 분석하여 운동하는 볼에 대한 각 이미지 상에서의 3차원 공간상의 좌표 데이터를 검출하고, 상기 검출된 볼의 좌표 데이터를 상기 각 좌표축 방향에 대해 미리 정의된 함수에 적용함으로써 상기 플레이어에 의해 타격되어 운동하는 볼에 대한 볼 운동 모델을 산출하도록 구성되며, 상기 제어장치는, 가상의 상대방 플레이어와, 상기 플레이어가 플레이하는 코트바닥부와 대응하여 상기 가상의 상대방 플레이어가 플레이하는 가상의 코트에 관한 영상을 구현하며, 상기 센싱처리유닛에 의해 산출되는 볼 운동 모델에 기초하여 상기 가상의 상대방 플레이어로 운동하는 가상의 볼의 시뮬레이션 영상을 구현하도록 구성되는 것을 특징으로 한다.
또한 바람직하게는, 상기 센싱처리유닛은, 상기 취득된 이미지로부터 추출되는 볼이, 상기 산출된 볼 운동 모델로부터 소정 범위를 벗어나는 경우, 상기 산출된 볼 운동 모델 내의 볼의 평균 높이를 산출하여 상기 산출된 볼의 평균 높이보다 아래에 위치하는 경우, 상기 산출된 볼 운동 모델의 평균 속도를 산출하여 상기 산출된 볼 운동 모델의 평균 속도보다 낮은 속도를 갖는 경우 중 적어도 한 가지 경우에 해당하는지 판단하여 그 해당하는 볼에 대해 상기 플레이어의 플레이에 이용되는 볼이 아닌 바닥볼로서 분류하도록 구성되며, 상기 제어장치는, 상기 센싱처리유닛에 의해 상기 바닥볼로 분류된 볼의 개수를 확인하고 상기 바닥볼로 분류된 볼의 개수가 미리 설정된 개수를 넘는 경우, 상기 플레이어에게 위험 경고를 위한 알람을 제공하거나 상기 볼 머신의 볼박스에 볼을 채울 것을 요청하는 알람을 제공하도록 구성되는 것을 특징으로 한다.
또한 바람직하게는, 상기 센싱처리유닛은, 상기 취득되는 매 프레임의 이미지로부터 각각 상기 플레이어를 검출함으로써 상기 플레이어의 위치를 추적하고, 상기 추적에 의해 상기 플레이어의 이동거리 및 상기 플레이어의 플레이 시간을 감지하며, 상기 감지된 이동거리 및 플레이 시간으로부터 상기 플레이어의 운동량을 산출하도록 구성되며, 상기 제어장치는, 상기 센싱처리유닛에 의해 산출되는 상기 플레이어의 운동량 정보를 영상 또는 음성을 통해 상기 플레이어에게 제공하도록 구성되는 것을 특징으로 한다.
또한 바람직하게는, 상기 센싱처리유닛은, 상기 스크린과 인접한 미리 설정된 영역으로서 위험영역을 미리 설정하며, 상기 취득되는 매 프레임의 이미지 상에서 상기 위험영역에 해당하는 영역 내에서 객체를 감지하며 상기 감지된 객체로부터 인체를 검출하도록 구성되며, 상기 제어장치는, 상기 센싱처리유닛에 의해 상기 위험영역 내에서 인체가 검출되는 경우, 상기 볼 머신의 동작을 중지하도록 제어하는 것을 특징으로 한다.
한편, 본 발명의 또 다른 일 실시예에 따른 센싱장치는, 가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 코트바닥부 상에서 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템에 이용되는 센싱장치로서, 미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 카메라 유닛; 상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼에 대한 볼 운동 모델을 산출하며, 상기 취득된 이미지로부터 상기 플레이어에 해당하는 객체를 추출하여 분석함으로써 상기 플레이어의 위치를 검출하는 센싱처리유닛을 포함한다.
또한 바람직하게는, 상기 카메라 유닛은, 서로 다른 위치에서 동일한 화각으로 이미지를 취득하는 제1 카메라 및 제2 카메라를 포함하여 스테레오 방식으로 구성되고, 상기 제1 카메라 및 제2 카메라는 상기 화각의 중심을 기준으로 전후방향 또는 좌우방향의 1축 틸팅 또는 전후방향 및 좌우방향의 2축 틸팅이 가능하도록 구성되며, 상기 제1 카메라 및 제2 카메라가 취득하는 이미지에서 검출되는 상기 플레이어의 위치에 따라 상기 제1 카메라 및 제2 카메라의 틸팅을 제어함으로써 상기 취득하는 이미지에서 상기 플레이어가 검출될 수 있도록 하는 카메라 제어부를 더 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 센싱처리유닛은, 상기 차영상의 추출 및 윤곽선의 검출에 의해 검출된 복수개의 객체에 대해 상기 객체의 크기 및 형태에 대해 미리 설정된 사항에 따라 기준 객체를 선정하고 상기 선정된 기준 객체를 포함하는 크기의 관심 영역을 설정하며, 상기 설정된 관심 영역 내에 존재하는 객체들을 하나의 픽셀 그룹으로 설정함으로써 상기 기준 객체를 기반으로 주변 객체를 일원화하여 상기 일원화된 객체의 유일성을 확인함으로써 상기 일원화된 객체를 상기 플레이어에 해당하는 객체로서 검출하도록 구성되는 것을 특징으로 한다.
또한 바람직하게는, 상기 센싱처리유닛은, 미리 설정된 영역으로서 위험영역을 미리 설정하며, 상기 취득되는 매 프레임의 이미지 상에서 상기 위험영역에 해당하는 영역 내에서 객체를 감지하며 상기 감지된 객체의 크기 및 형태를 분석하여 인체에 해당하는지 판단함으로써 상기 플레이어가 아닌 제3자가 상기 카메라 유닛의 화각 내에 등장하였는지 감지하도록 구성되는 것을 특징으로 한다.
또한 바람직하게는, 상기 센싱처리유닛은, 상기 카메라 유닛에 의해 실시간으로 취득되는 이미지와 상기 취득된 이미지의 이전에 취득된 이미지 중 차연산 할 이미지로서 선택된 이미지와의 고속차영상을 통해 상기 카메라 유닛의 이미지 취득 속도 이상으로 움직이는 객체를 라켓 객체로서 추출하며, 상기 고속차영상을 통해 추출되는 복수의 차영상 각각으로부터 추출되는 상기 라켓 객체를 분석하여 상기 라켓의 위치 및 이동 방향을 검출하여 상기 플레이어의 스윙이 포핸드인지 백핸드인지 여부를 검출하도록 구성되는 것을 특징으로 한다.
한편, 본 발명의 일 실시예에 따른 가상 테니스 시뮬레이션 시스템의 제어방법은, 플레이어가 테니스 플레이를 하는 코트바닥부와, 상기 코트바닥부의 전방에 구비되어 가상 테니스 시뮬레이션 영상이 투영되는 스크린과, 상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신과, 상기 플레이어 및 상기 플레이어가 플레이하는 볼에 대해 센싱하는 센싱장치와, 상기 가상 테니스 시뮬레이션 영상의 생성 및 처리와 상기 볼 머신의 제어를 하는 제어장치를 포함하는 가상 테니스 시뮬레이션 시스템의 제어방법으로서, 미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 단계; 상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼의 운동에 대한 센싱 데이터를 산출하는 단계; 상기 산출된 볼 운동에 대한 센싱 데이터를 이용하여 상기 볼 운동에 대응되도록 영상 상에서 가상의 볼이 가상의 상대방 플레이어가 있는 가상의 코트 쪽으로 이동하는 시뮬레이션 영상을 구현하는 단계; 미리 설정된 인공지능에 따라 상기 가상의 상대방 플레이어가 가상의 볼을 타격함에 따라 상기 타격된 가상의 볼이 이동하는 시뮬레이션 영상을 구현하는 단계; 및 상기 가상의 볼이 이동하는 연장선상에서 상기 볼 머신이 볼을 제공하여 상기 플레이어로 하여금 타격할 수 있도록 하는 방식으로, 상기 플레이어가 볼을 타격한 것에 대해 상기 가상의 상대방 플레이어가 가상의 볼을 타격하는 것을 반복하면서 상기 플레이어와 영상 상의 상기 가상의 상대방 플레이어가 테니스 랠리를 구현하는 단계를 포함한다.
한편, 본 발명의 다른 일 실시예에 따른 가상 테니스 시뮬레이션 시스템의 제어방법은, 플레이어가 테니스 플레이를 하는 코트바닥부와, 상기 코트바닥부의 전방에 구비되어 가상 테니스 시뮬레이션 영상이 투영되는 스크린과, 상기 스크린의 후면에 구비되어 상기 플레이어에게 볼을 제공하는 볼 머신과, 상기 플레이어 및 상기 플레이어가 플레이하는 볼에 대해 센싱하는 센싱장치와, 상기 가상 테니스 시뮬레이션 영상의 생성 및 처리와 상기 볼 머신의 제어를 하는 제어장치를 포함하는 가상 테니스 시뮬레이션 시스템의 제어방법으로서, 미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 지속적으로 취득하는 단계; 상기 취득된 이미지로부터 상기 플레이어에 해당하는 객체를 추출하여 분석함으로써 상기 플레이어의 위치를 검출하는 단계; 상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼의 운동에 대한 센싱 데이터를 산출하는 단계; 상기 산출된 볼 운동 센싱 데이터를 이용하여 상기 가상 테니스 시뮬레이션 영상을 생성 및 처리하는 단계; 및 상기 검출된 플레이어의 위치에 기초하여 상기 플레이어에게 제공되는 볼의 방향을 결정하고 그에 대응하여 상기 가상 테니스 시뮬레이션 영상을 처리하며 상기 볼 머신을 제어하는 단계를 포함한다.
또한 바람직하게는, 상기 제어장치는 상기 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보를 미리 저장하며, 상기 가상 테니스 시뮬레이션 영상 상의 가상의 상대방 플레이어를 인공지능에 의해 제어하도록 구성되며, 상기 가상 테니스 시뮬레이션 영상을 처리하며 상기 볼 머신을 제어하는 단계는, 상기 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보와 상기 가상의 상대방 플레이어의 인공지능에 따라 상기 검출된 플레이어의 위치에 대응하여 상기 가상의 상대방 플레이어가 타격하는 가상의 볼에 따라 상기 플레이어에게 제공될 볼의 방향을 결정하는 단계와, 상기 결정되는 볼의 방향에 따라 상기 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 시뮬레이션 영상을 처리하는 단계와, 상기 볼 머신의 볼 발사 방향을 상기 결정된 볼의 방향에 대응하도록 설정하는 단계와, 상기 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신이 볼을 상기 결정된 볼의 방향으로 제공하도록 제어하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 제어장치는 상기 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보를 미리 저장하며, 상기 가상 테니스 시뮬레이션 영상을 처리하며 상기 볼 머신을 제어하는 단계는, 상기 플레이어의 실력레벨, 난이도, 플레이스타일 중 적어도 하나에 대한 정보에 따라 상기 검출된 플레이어의 위치에 대응하여 상기 볼 머신으로부터 상기 플레이어에게 제공될 볼의 방향을 결정하는 단계와, 상기 결정되는 볼의 방향에 따라 상기 가상 테니스 시뮬레이션 영상 상의 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 시뮬레이션 영상을 처리하는 단계와, 상기 볼 머신의 볼 발사 방향을 상기 결정된 볼의 방향에 대응하도록 설정하는 단계와, 상기 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신이 볼을 상기 결정된 볼의 방향으로 제공하도록 제어하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 카메라 유닛에 의해 실시간으로 취득되는 이미지와 상기 취득된 이미지의 이전에 취득된 이미지 중 차연산 할 이미지로서 선택된 이미지와의 고속차영상을 통해 상기 카메라 유닛의 이미지 취득 속도 이상으로 움직이는 객체를 라켓 객체로서 추출하는 단계와, 상기 고속차영상을 통해 추출되는 복수의 차영상 각각으로부터 추출되는 상기 라켓 객체를 분석하여 상기 라켓의 위치 및 이동 방향을 검출하는 단계와, 상기 플레이어의 스윙이 포핸드인지 백핸드인지 여부 및 헛스윙 여부를 검출하는 단계를 더 포함하는 것을 특징으로 한다.
한편, 본 발명의 일 실시예에 따른 센싱방법은, 가상 테니스 시뮬레이션 영상을 기반으로 플레이어가 코트바닥부 상에서 테니스 플레이를 할 수 있도록 하는 가상 테니스 시뮬레이션 시스템에 이용되는 센싱장치의 센싱방법으로서, 미리 설정된 영역을 포함하는 촬영 범위에 대한 이미지를 실시간으로 취득하는 단계; 미리 준비된 배경 이미지와 상기 실시간으로 취득되는 이미지 각각과의 차영상을 추출하고, 상기 추출된 차영상으로부터 검출되는 각각의 객체의 윤곽선을 검출하는 단계; 상기 윤곽선이 검출된 복수개의 객체 중 미리 설정된 범위 내의 객체들을 일원화함으로써 상기 플레이어에 해당하는 객체를 추출하여 상기 플레이어의 위치를 검출하는 단계; 및 상기 취득된 이미지로부터 볼에 해당하는 객체를 추출하여 분석함으로써 상기 볼에 대한 볼 운동 모델을 산출하는 단계를 포함한다.
또한 바람직하게는, 상기 플레이어의 위치를 검출하는 단계는, 상기 차영상의 추출 및 윤곽선의 검출에 의해 검출된 복수개의 객체에 대해 상기 객체의 크기 및 형태에 대해 미리 설정된 사항에 따라 기준 객체를 선정하는 단계와, 상기 선정된 기준 객체를 포함하는 크기의 관심 영역을 설정하는 단계와, 상기 설정된 관심 영역 내에 존재하는 객체들을 하나의 픽셀 그룹으로 설정함으로써 상기 기준 객체를 기반으로 주변 객체를 일원화하는 단계와, 상기 일원화된 객체의 유일성을 확인하여 상기 일원화된 객체를 상기 플레이어에 해당하는 객체로서 검출하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 플레이어의 위치를 검출하는 단계는, 상기 추출된 플레이어에 해당하는 객체의 무게중심을 상기 플레이어의 예상 위치로서 산출하는 단계와, 상기 산출된 볼 운동 모델의 초기 위치와 상기 산출된 플레이어의 예상 위치가 미리 설정된 거리 이하인 경우에 상기 산출된 플레이어의 예상 위치를 상기 플레이어의 위치로서 결정하는 단계를 포함하는 것을 특징으로 한다.
본 발명에 따른 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법은, 테니스라는 역동적인 스포츠의 특성을 플레이어가 경험하면서 또한 여러 가지 정보를 제공받을 수 있도록 하기 위한 가상 테니스 시뮬레이션 시스템을 제공하기 위한 것이며, 플레이어가 타격한 볼에 대한 센싱은 물론 상기 플레이어의 움직임에 대한 센싱 및 분석 등 다양한 정보의 센싱과 분석을 통해 종래의 스크린 테니스에서는 구현할 수 없었던 역동적이고 현실감 있는 가상의 테니스 플레이를 제공하며 플레이어에게 가상의 테니스 플레이에 대한 다양한 분석 정보를 제공함으로써 가상의 테니스 플레이를 즐기는 플레이어로 하여금 흥미를 향상시킬 수 있는 효과가 있다.
도 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 pat00001
,
Figure pat00002
Figure pat00003
∴ 원주율 비율(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*t2
여기서, 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)인지 제어장치는 판단을 한다. 만약 인플레이가 아니면 아웃으로 처리되어 랠리가 처음부터 다시 시작되며 만약 인플레이인 경우에는 제어장치는 미리 설정하고 있는 인공지능을 이용하여 그에 따라 가상의 상대방 플레이어가 가상의 볼을 타격하도록 하는 영상을 구현한다.
한편, 플레이어가 볼을 타격한 것에 대해 영상 상의 가상의 상대방 플레이어가 타격한 볼이 플레이어로 가는 경우에 대해 설명한다.
제어장치가 구현하는 인공지능은 플레이어의 실력레벨, 난이도, 플레이스타일 등과 플레이어의 타격에 의해 시뮬레이션 되어 이동하는 가상의 볼의 타구 방향이나 구질(볼의 속도 등) 등을 종합적으로 고려하여 상기 가상의 상대방 플레이어가 가상의 볼을 타격(리시브)하는 가상의 볼의 운동 조건(가상의 볼의 출발속도와 방향 등 또는 벡터로 설정된 경우에는 벡터의 방향과 크기 등)을 결정하고 그 결정된 볼의 운동조건에 따라 가상의 볼이 타격되어 이동하는 시뮬레이션 영상이 구현된다.
이때 제어장치는 상기 결정된 가상의 볼의 운동 조건에 따라 볼 머신이 플레이어에게 제공할 볼(실제 볼)의 방향 및 속도를 설정하고, 가상의 상대방 플레이어가 타격한 가상의 볼의 궤적에 대한 연장선상에서 상기 볼 머신이 볼을 상기 설정된 볼의 방향 및 속도로 제공하도록 하여 상기 플레이어로 하여금 상기 볼 머신에서 발사된 볼을 타격하도록 한다.
여기서, 플레이어가 상기 볼 머신이 제공하는 볼을 받아 치면 다시 상기한 ‘플레이어가 볼을 타격한 것이 영상 상의 가상의 상대방 플레이어로 가는 경우’ 및 ‘영상 상의 가상의 상대방 플레이어가 타격한 볼이 플레이어로 가는 경우’가 반복하여 진행되면서 플레이어와 영상 상의 가상의 상대방 플레이어가 현실과 가상현실을 넘나들면서 테니스 랠리를 구현하게 되는 것이다.
이상 설명한 바와 같이 본 발명에 따른 가상 테니스 시뮬레이션 시스템은, 레이어가 타격한 볼에 대한 센싱은 물론 상기 플레이어의 움직임에 대한 센싱 및 분석, 나아가 플레이어가 들고 있는 라켓의 움직임에 대한 센싱 및 분석 등 다양한 정보의 센싱과 분석을 통해 종래의 스크린 테니스에서는 구현할 수 없었던 역동적이고 현실감 있는 가상의 테니스 플레이를 제공함으로써 가상의 테니스 플레이를 즐기는 플레이어로 하여금 흥미를 향상시킬 수 있는 특장점이 있다.
100: 볼 머신, 200: 센싱장치
210: 카메라 유닛, 220: 센싱처리유닛
230: 카메라 제어부, 300: 제어장치
310: 제어부, 320: 데이터저장부
330: 영상처리부, 340: 영상출력부

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항에 있어서, 상기 플레이어의 위치를 검출하는 단계는,
    상기 추출된 플레이어에 해당하는 객체의 무게중심을 상기 플레이어의 예상 위치로서 산출하는 단계와,
    상기 산출된 볼 운동 모델의 초기 위치와 상기 산출된 플레이어의 예상 위치가 미리 설정된 거리 이하인 경우에 상기 산출된 플레이어의 예상 위치를 상기 플레이어의 위치로서 결정하는 단계를 포함하는 것을 특징으로 하는 센싱방법.
KR1020180029071A 2017-09-15 2018-03-13 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법 KR102045439B1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
PCT/KR2019/002892 WO2019177361A1 (ko) 2017-09-15 2019-03-13 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법
JP2020548727A JP6981719B2 (ja) 2017-09-15 2019-03-13 仮想テニスシミュレーションシステム、これに用いるセンシング装置及びセンシング方法

Applications Claiming Priority (2)

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

Publications (2)

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

Family

ID=65907675

Family Applications (3)

Application Number Title Priority Date Filing Date
KR1020180029074A KR102045443B1 (ko) 2017-09-15 2018-03-13 가상 테니스 시뮬레이션을 위한 테니스 인공지능 구현 방법, 이를 이용한 가상 테니스 시뮬레이션 시스템 및 방법과, 이를 기록한 컴퓨팅장치에 의해 판독 가능한 기록매체
KR1020180029076A KR102045449B1 (ko) 2017-09-15 2018-03-13 가상 테니스 시뮬레이션 시스템 및 그 제어방법
KR1020180029071A KR102045439B1 (ko) 2017-09-15 2018-03-13 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법

Family Applications Before (2)

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

Country Status (3)

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

Cited By (6)

* 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
KR20210023310A (ko) 2019-08-22 2021-03-04 주식회사 대한솔루션 구기종목의 시합 중 공의 라인 인 아웃 판별 시스템 및 그 방법
KR102265914B1 (ko) * 2020-09-04 2021-06-16 권예찬 테니스 자율훈련 시스템
KR20210138851A (ko) * 2020-05-12 2021-11-22 서기원 몸동작 실시간 영상비교가 가능한 테니스 온라인 가상훈련 시스템
KR20230076950A (ko) * 2021-11-23 2023-06-01 명지대학교 산학협력단 테니스 훈련 시스템
US11896882B2 (en) 2020-11-04 2024-02-13 Xreps, Llc Extended reality system for training and evaluation

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111228773A (zh) * 2020-03-02 2020-06-05 怀化学院 基于双目视觉的发球控制方法、装置、存储介质及发球机
EP3901936A1 (en) 2020-04-22 2021-10-27 Copysan Communicaciones, SL Method, system and computer programs for padel tennis training
KR102249014B1 (ko) * 2020-07-28 2021-05-06 조명환 물리 공간 상의 가상 공간 할당 및 분할을 통한 수요층 할당 및 리워딩 시스템
KR102450445B1 (ko) * 2020-12-14 2022-10-05 재단법인대구경북과학기술원 실내 스크린 테니스 시스템 및 그것을 이용한 원격 게임 방법
US11278784B2 (en) 2021-02-14 2022-03-22 Breakout Hitting Llc Training systems and methods
KR102496426B1 (ko) 2021-10-07 2023-02-06 주식회사 큐링이노스 테니스 자율 훈련 시스템
WO2023147541A1 (en) * 2022-01-31 2023-08-03 Breakout Hitting Llc Training system and method of using same

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020148455A1 (en) * 2001-04-16 2002-10-17 Philips Electronics North America Corporation Ball throwing assistant
KR101586462B1 (ko) * 2015-10-02 2016-01-19 (주)나라소프트 스크린을 이용한 테니스 연습 및 게임 시뮬레이션 시스템

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2999638B2 (ja) * 1992-10-28 2000-01-17 日本電信電話株式会社 仮想体験システム
JPH07227454A (ja) * 1994-02-18 1995-08-29 Tooa Sports Mach:Kk 投球機の投球制限装置
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 国立大学法人金沢大学 ピッチングマシンおよびその変化球を制御する方法
JP2007144107A (ja) * 2005-10-25 2007-06-14 Vr Sports:Kk 運動補助システム
GB2455316B (en) * 2007-12-04 2012-08-15 Sony Corp Image processing apparatus and method
KR101147873B1 (ko) * 2010-06-24 2012-05-24 박영기 얼굴 인식을 이용한 스크린 골프 시스템 및 그 제어 방법
WO2013124856A1 (en) * 2012-02-23 2013-08-29 Playsight Interactive Ltd. A smart-court system and method for providing real-time debriefing and training services of sport games
KR20170085460A (ko) * 2017-05-18 2017-07-24 주식회사 골프존뉴딘 야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020148455A1 (en) * 2001-04-16 2002-10-17 Philips Electronics North America Corporation Ball throwing assistant
KR101586462B1 (ko) * 2015-10-02 2016-01-19 (주)나라소프트 스크린을 이용한 테니스 연습 및 게임 시뮬레이션 시스템

Cited By (8)

* 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
KR20210023310A (ko) 2019-08-22 2021-03-04 주식회사 대한솔루션 구기종목의 시합 중 공의 라인 인 아웃 판별 시스템 및 그 방법
US11752414B2 (en) * 2019-08-22 2023-09-12 Fast Track Vision, LLC System and method for tracking a projectile
KR20210138851A (ko) * 2020-05-12 2021-11-22 서기원 몸동작 실시간 영상비교가 가능한 테니스 온라인 가상훈련 시스템
KR102265914B1 (ko) * 2020-09-04 2021-06-16 권예찬 테니스 자율훈련 시스템
WO2022050792A1 (ko) * 2020-09-04 2022-03-10 주식회사 큐링이노스 테니스 자율훈련 시스템
US11896882B2 (en) 2020-11-04 2024-02-13 Xreps, Llc Extended reality system for training and evaluation
KR20230076950A (ko) * 2021-11-23 2023-06-01 명지대학교 산학협력단 테니스 훈련 시스템

Also Published As

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

Similar Documents

Publication Publication Date Title
KR102045439B1 (ko) 가상 테니스 시뮬레이션 시스템, 이에 이용되는 센싱장치 및 센싱방법
CN108697922B (zh) 用于棒球练习装置的传感装置及传感方法、利用其的棒球练习装置及其控制方法
KR101048090B1 (ko) 가상 골프 시뮬레이션 장치와, 이에 이용되는 센싱장치 및 센싱방법
TWI448318B (zh) 虛擬高爾夫模擬裝置及其使用之感測裝置與感測方法
KR101078975B1 (ko) 가상 골프 시뮬레이션 장치에 이용되는 센싱장치 및 센싱방법
KR20200085803A (ko) 골프 공 추적 시스템
KR101912126B1 (ko) 야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법
KR20170085460A (ko) 야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법
KR101862145B1 (ko) 사용자의 골프샷에 대한 정보를 산출하기 위한 센싱장치 및 이를 이용한 센싱방법
JP7111433B2 (ja) ボールの運動に対するセンシング装置及びそのセンシング方法
KR101078954B1 (ko) 가상 골프 시뮬레이션 장치와, 이에 이용되는 센싱장치 및 센싱방법
KR102439549B1 (ko) 골프스윙에 대한 센싱장치 및 이를 이용한 클럽헤드의 임팩트 위치 센싱방법
KR102567201B1 (ko) 두 대의 카메라를 이용한 콘솔형 골프 시뮬레이션 시스템
KR102582362B1 (ko) 두 대의 카메라를 이용한 바닥형 골프 시뮬레이션 시스템
CN117716388A (zh) 用于感测移动的球的影像分析方法及利用其的传感装置

Legal Events

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