KR101912126B1 - 야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법 - Google Patents

야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법 Download PDF

Info

Publication number
KR101912126B1
KR101912126B1 KR1020160014212A KR20160014212A KR101912126B1 KR 101912126 B1 KR101912126 B1 KR 101912126B1 KR 1020160014212 A KR1020160014212 A KR 1020160014212A KR 20160014212 A KR20160014212 A KR 20160014212A KR 101912126 B1 KR101912126 B1 KR 101912126B1
Authority
KR
South Korea
Prior art keywords
ball
image
virtual
baseball
user
Prior art date
Application number
KR1020160014212A
Other languages
English (en)
Other versions
KR20170092929A (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 KR1020160014212A priority Critical patent/KR101912126B1/ko
Priority to PCT/KR2017/001107 priority patent/WO2017135690A1/ko
Priority to TW106103783A priority patent/TWI633521B/zh
Publication of KR20170092929A publication Critical patent/KR20170092929A/ko
Application granted granted Critical
Publication of KR101912126B1 publication Critical patent/KR101912126B1/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
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or 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
    • 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/0062Monitoring athletic performances, e.g. for determining the work of a user on an exercise apparatus, the completed jogging or cycling distance
    • 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/0075Means for generating exercise programs or schemes, e.g. computerized virtual trainer, e.g. using expert databases
    • 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
    • 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/0002Training appliances or apparatus for special sports for baseball
    • 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
    • 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/0002Training appliances or apparatus for special sports for baseball
    • A63B2069/0004Training appliances or apparatus for special sports for baseball specially adapted for particular training aspects
    • A63B2069/0006Training appliances or apparatus for special sports for baseball specially adapted for particular training aspects for pitching
    • 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/17Counting, e.g. counting periodical movements, revolutions or cycles, or including further data processing to determine distances or speed
    • 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

Abstract

본 발명은 사용자의 야구 연습 또는 야구 게임을 위한 야구 연습 장치에 있어서 사용자에 의해 피칭된 볼의 운동에 대한 이미지를 취득하여 그 취득된 이미지를 분석함으로써 볼이 어떤 운동을 하는지에 대한 정확하고 빠른 운동 모델을 산출해 내어 이를 기초로 야구 연습 또는 야구 게임의 진행에 필요한 여러 가지 다양한 정보를 상당히 정확하고 빠르게 산출할 수 있는 이미지 센싱 기반의 센싱장치 및 센싱방법, 이를 이용한 야구 연습 장치 및 이의 제어방법을 제공하기 위한 것이다.

Description

야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법{APPARATUS FOR BASE-BALL PRACTICE, SENSING DEVICE AND SENSING METHOD USED TO THE SAME AND CONTROL METHOD FOR THE SAME}
본 발명은 소정 크기의 실내 공간에서 스크린에 투영되는 가상 야구 영상을 기반으로 사용자가 마운드에서 상기 스크린을 향하여 볼을 피칭하고 이를 센싱장치가 센싱하여 그 센싱 결과에 따른 시뮬레이션 영상을 구현하는 소위 스크린 야구 시스템과 같은 야구 연습 장치 및 이에 이용되는 센싱장치, 센싱방법, 상기 야구 연습 장치의 제어방법에 관한 것이다.
최근 야구 인구가 증가하면서, 넓은 야구 경기장에서 실제 야구 플레이를 하기 어려운 한계를 극복하고 좁은 실내 공간에서도 야구 경기의 현장감을 느끼면서 가상으로 야구 플레이를 할 수 있도록 하는 소위 스크린 야구 시스템이 등장하게 되었다.
통상적으로 스크린 야구 시스템은 실내에 소정 크기의 공간에서 사용자가 투수가 되어 볼을 피칭할 수 있는 마운드와 가상의 야구장을 디스플레이할 수 있는 스크린을 설치하고, 상기 사용자가 마운드에서 상기 스크린을 향하여 볼을 피칭하면, 센싱장치가 그 피칭된 볼의 움직임을 센싱하여 그 센싱 결과에 기초하여 야구 게임 진행을 위한 영상을 구현하는 방식이다.
상기한 센싱장치와 관련하여, 종래의 스크린 야구 시스템 등에서는 사용자에 의해 피칭된 볼이 지나가는 길목에 다수의 발광센서 및 수광센서에 의해 구성되는 광센서 장치 복수개 설치하고 볼이 그 광센서 장치를 지나갈 때 발광센서에서 조사되어 볼에 의해 반사된 광을 수광함으로써 복수개의 광센서 장치 각각에서 볼의 좌표 정보를 얻어서 이를 기초로 투구 또는 타구에 대한 볼의 속도, 방향 등의 파라미터를 산출하였었다.
한국특허출원 제10-2015-0041844호, 한국특허출원 제10-2015-0041861호, 한국특허출원 제10-2014-0054105호, 미국등록특허 제5443260호, 일본등록특허 제4743763호 등 다수의 선행기술문헌에서 상기한 기술 내용에 대해 개시하고 있다.
상기한 바와 같은 광센서 기반의 센서장치를 이용하는 경우, 상당히 많은 발광센서 및 수광센서를 이용하여야 하므로 센서장치에 대한 비용이 상당히 높아지는 것은 별론, 센서장치에 대한 파손 및 오작동 등의 가능성이 높아 유지 및 보수가 상당히 어려우며, 그럼에도 불구하고 볼 운동에 대한 정확한 해석에 한계가 있으므로 볼 운동에 대한 시뮬레이션의 정확도가 매우 낮다는 문제점이 있었다.
본 발명은 사용자의 야구 연습 또는 야구 게임을 위한 야구 연습 장치에 있어서 사용자에 의해 피칭된 볼의 운동에 대한 이미지를 취득하여 그 취득된 이미지를 분석함으로써 볼이 어떤 운동을 하는지에 대한 정확하고 빠른 운동 모델을 산출해 내어 이를 기초로 야구 연습 또는 야구 게임의 진행에 필요한 여러 가지 다양한 정보를 상당히 정확하고 빠르게 산출할 수 있는 이미지 센싱 기반의 센싱장치 및 센싱방법, 이를 이용한 야구 연습 장치 및 이의 제어방법을 제공하기 위한 것이다.
본 발명의 일 실시예에 따른 센싱장치는, 스크린에 투영되는 가상 야구 영상을 기반으로 사용자가 마운드에서 상기 스크린을 향하여 볼을 피칭하는 방식으로 야구 연습 또는 야구 게임을 할 수 있도록 하는 야구 연습 장치에 이용되는 센싱장치로서, 사용자에 의해 피칭되어 운동하는 볼에 대한 이미지를 촬영하는 카메라 유닛; 및 상기 사용자가 플레이하는 3차원 공간의 좌표계와 각 좌표축 방향에서의 볼의 운동에 대한 함수를 미리 정의하며, 상기 카메라 유닛에 의해 촬영되어 수집되는 이미지를 분석하여 운동하는 볼에 대한 각 이미지 상에서의 3차원 공간상의 좌표 데이터를 검출하고, 상기 검출된 볼의 좌표 데이터를 상기 각 좌표축 방향에 대해 미리 정의된 함수에 적용함으로써 상기 사용자에 의해 피칭되어 운동하는 볼에 대한 볼 운동 모델을 산출하며, 상기 산출된 볼 운동 모델을 이용하여 상기 사용자의 피칭에 따른 가상 야구 영상의 구현을 위한 센싱 정보를 산출하는 센싱처리유닛을 포함한다.
또한 바람직하게는, 상기 센싱처리유닛은, 상기 이미지 분석을 통해 볼 후보들을 추출하고, 상기 운동하는 볼이 벽 또는 천장에 충돌하는 경우 충돌한 이후의 볼에 대해 검출되는 볼 후보를 제거함으로써 상기 볼의 좌표 데이터를 검출하도록 구성되는 것을 특징으로 한다.
또한 바람직하게는, 상기 센싱처리유닛은, 상기 산출된 볼 운동 모델을 이용하여 볼이 상기 스크린에 도달하는 시간인 스크린 도달 시간 및 볼이 상기 스크린에 도달할 때의 위치인 스크린 도달 위치를 상기 센싱 정보로서 산출하여 상기 야구 연습 장치의 제어장치로 전달하도록 구성되는 것을 특징으로 한다.
한편, 본 발명의 일 실시예에 따른 센싱방법은, 스크린에 투영되는 가상 야구 영상을 기반으로 사용자가 마운드에서 상기 스크린을 향하여 볼을 피칭하는 방식으로 야구 연습 또는 야구 게임을 할 수 있도록 하는 야구 연습 장치에 이용되는 센싱장치의 센싱방법으로서, 상기 사용자에 의해 피칭되어 운동하는 볼에 대한 이미지를 촬영하는 단계; 상기 촬영되어 수집되는 이미지를 분석하여 운동하는 볼에 대한 각 이미지 상에서의 3차원 공간상의 좌표 데이터를 검출하는 단계; 상기 사용자가 플레이하는 3차원 공간상의 미리 정의된 각 좌표축 방향에서의 볼 운동에 대해 미리 정의된 함수에 상기 검출된 볼의 좌표 데이터를 적용함으로써 상기 사용자에 의해 피칭되어 운동하는 볼에 대한 볼 운동 모델을 산출하는 단계; 및 상기 산출된 볼 운동 모델을 이용하여 상기 사용자의 피칭에 따른 가상 야구 영상의 구현을 위한 센싱 정보를 산출하는 단계를 포함한다.
또한 바람직하게는, 상기 좌표 데이터를 검출하는 단계는, 상기 이미지 분석을 통해 각 이미지 상에서 볼후보들을 추출하는 단계와, 상기 추출된 볼후보들에 대해 임의의 볼 운동 모델을 수립하여 볼이 아닌 것을 제거함으로써 상기 사용자에 의해 피칭되어 운동하는 볼에 대한 좌표 데이터를 검출하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 볼후보들을 추출하는 단계는, 상기 수집된 각 이미지에 대해 미리 저장된 레퍼런스 이미지와의 차영상을 생성하는 단계와, 상기 차영상에 대해 영상상의 픽셀들에 대한 밝기값의 미리 설정된 문턱값을 기준으로 이진화 처리하는 단계와, 상기 이진화 처리된 이미지 상의 객체에 대해 윤곽을 추출하는 단계와, 상기 추출된 윤곽에 대해 가로세로비, 크기 및 밝기 중 적어도 하나에 대해 미리 설정된 조건에 따라 상기 미리 설정된 조건에 맞는 윤곽에 해당하는 객체를 상기 볼후보로서 추출하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 볼에 대한 좌표 데이터를 검출하는 단계는, 상기 사용자가 볼을 피칭하는 순간의 시간값인 초기시간값을 검출하는 단계와, 상기 볼후보들 각각의 좌표 데이터 중에서 미리 설정된 개수의 데이터를 임의로 선택하여 상기 각 좌표축 방향에서의 미리 정의된 함수를 이용하여 임의의 운동 모델을 수립하는 단계와, 상기 수립된 임의의 운동 모델에 상기 초기시간값을 적용하여 볼의 초기좌표값을 산출하는 단계와, 상기 산출된 볼의 초기좌표값이 미리 설정된 범위를 벗어나는 경우 해당 운동 모델에 포함되는 볼후보의 좌표 데이터를 제거하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 센싱 정보를 산출하는 단계는, 상기 스크린의 좌표 정보를 상기 산출된 볼 운동 모델에 적용하여 상기 운동하는 볼이 상기 스크린에 도달하는 시간인 스크린 도달 시간을 산출하는 단계와, 상기 스크린 도달 시간을 상기 볼 운동 모델에 적용하여 상기 운동하는 볼이 상기 스크린에 도달하는 위치인 스크린 도달 위치를 산출하는 단계를 포함하는 것을 특징으로 한다.
한편, 본 발명의 일 실시예에 따른 야구 연습 장치의 제어방법은, 스크린에 투영되는 가상 야구 영상을 기반으로 사용자가 마운드에서 상기 스크린을 향하여 볼을 피칭하는 방식으로 야구 연습 또는 야구 게임을 할 수 있도록 하는 야구 연습 장치의 제어방법으로서, 상기 야구 연습 또는 야구 게임을 위한 영상을 구현하는 제어장치에 의해 가상의 타자 및 가상의 포수를 포함하는 야구 연습 또는 야구 게임에 관한 영상을 구현하는 단계; 센싱장치가 상기 사용자에 의해 피칭되어 운동하는 볼에 대한 이미지를 촬영하여 수집하고, 그 수집되는 이미지를 분석하여 운동하는 볼에 대한 3차원 공간상의 좌표 데이터를 검출하며, 그 검출된 좌표 데이터를 이용하여 운동하는 볼에 대한 볼 운동 모델을 산출하는 단계; 및 제어장치가 상기 산출된 볼 운동 모델에 따른 가상의 볼에 대해 상기 가상의 타자, 가상의 포수 및 가상의 심판 중 적어도 하나가 미리 설정된 액션을 하거나 미리 설정된 AI에 따른 액션을 하도록 영상 구현하는 단계를 포함한다.
또한 바람직하게는, 상기 볼 운동 모델을 산출하는 단계는, 상기 사용자에 의해 피칭되어 운동하는 볼에 대한 이미지를 촬영하는 단계와, 상기 촬영되어 수집되는 이미지를 분석하여 운동하는 볼에 대한 각 이미지 상에서의 3차원 공간상의 좌표 데이터를 검출하는 단계와, 상기 사용자가 플레이하는 3차원 공간상의 미리 정의된 각 좌표축 방향에서의 볼 운동에 대해 미리 정의된 함수에 상기 검출된 볼의 좌표 데이터를 적용함으로써 상기 사용자에 의해 피칭되어 운동하는 볼에 대한 볼 운동 모델을 산출하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 좌표 데이터를 검출하는 단계는, 상기 이미지 분석을 통해 각 이미지 상에서 볼후보들을 추출하는 단계와, 상기 사용자가 볼을 피칭하는 순간의 시간값인 초기시간값을 검출하는 단계와, 상기 볼후보들 각각의 좌표 데이터 중에서 미리 설정된 개수의 데이터를 임의로 선택하여 상기 각 좌표축 방향에서의 미리 정의된 함수를 이용하여 임의의 운동 모델을 수립하는 단계와, 상기 수립된 임의의 운동 모델에 상기 초기시간값을 적용하여 볼의 초기좌표값을 산출하는 단계와, 상기 산출된 볼의 초기좌표값이 미리 설정된 범위를 벗어나는 경우 해당 운동 모델에 포함되는 볼후보의 좌표 데이터를 제거하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 영상 구현하는 단계는, 상기 센싱장치가 상기 산출된 볼 운동 모델을 이용하여 상기 사용자의 피칭에 따른 가상 야구 영상의 구현을 위한 센싱 정보를 산출하여 상기 제어장치로 전송하는 단계와, 상기 제어장치가 상기 센싱 정보에 기초한 가상의 볼에 대해 상기 가상의 타자, 가상의 포수 및 가상의 심판 중 적어도 하나가 미리 설정된 액션을 하거나 미리 설정된 AI에 따른 액션을 하도록 영상 구현하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 센싱 정보를 산출하여 상기 제어장치로 전송하는 단계는, 상기 센싱장치가 상기 스크린의 좌표 정보를 상기 산출된 볼 운동 모델에 적용하여 상기 운동하는 볼이 상기 스크린에 도달하는 시간인 스크린 도달 시간을 산출하는 단계와, 상기 센싱장치가 상기 스크린 도달 시간을 상기 볼 운동 모델에 적용하여 상기 운동하는 볼이 상기 스크린에 도달하는 위치인 스크린 도달 위치를 산출하는 단계와, 상기 산출된 스크린 도달 시간 및 스크린 도달 위치 정보를 상기 제어장치로 전송하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 영상 구현하는 단계는, 상기 제어장치가, 상기 사용자에 의해 피칭된 볼에 대해 상기 가상의 볼이 상기 볼 운동 모델에 기초하여 상기 스크린 도달 위치에서부터 연속하여 진행하도록 시뮬레이션 영상을 구현하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 영상 구현하는 단계는, 상기 시뮬레이션 영상이 진행되면서 상기 가상의 볼이 상기 스크린 도달 위치에서부터 연속하여 진행하다가 상기 가상의 포수가 상기 가상의 볼을 캐치하거나 상기 가상의 타자가 상기 가상의 볼을 타격하는 영상을 구현하는 단계를 더 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 영상 구현하는 단계는, 상기 제어장치가, 상기 스크린 도달 위치를 상기 사용자에 의해 피칭된 볼이 도달하는 위치로 하여 상기 스크린 도달 위치에서 상기 가상의 포수가 상기 가상의 볼을 캐치하거나 상기 가상의 타자가 상기 가상의 볼을 타격하는 영상을 구현하는 단계를 포함하는 것을 특징으로 한다.
한편, 본 발명의 일 실시예에 따른 야구 연습 장치는, 스크린에 투영되는 가상 야구 영상을 기반으로 사용자가 마운드에서 상기 스크린을 향하여 볼을 피칭하는 방식으로 야구 연습 또는 야구 게임을 할 수 있도록 하는 야구 연습 장치로서, 상기 사용자에 의해 피칭되어 운동하는 볼에 대해 촬영하여 수집하며, 그 수집된 이미지를 분석하여 운동하는 볼에 대한 각 이미지 상에서의 3차원 공간상의 좌표 데이터를 검출하고, 상기 사용자가 플레이하는 3차원 공간상의 미리 정의된 각 좌표축 방향에서의 볼 운동에 대해 미리 정의된 함수에 상기 검출된 볼의 좌표 데이터를 적용함으로써 상기 사용자에 의해 피칭되어 운동하는 볼에 대한 볼 운동 모델을 산출하며, 상기 산출된 볼 운동 모델을 이용하여 상기 사용자의 피칭에 따른 가상 야구 영상의 구현을 위한 센싱 정보를 산출하는 센싱장치; 및 가상의 타자 및 가상의 포수를 포함하는 야구 연습 또는 야구 게임을 위한 영상을 구현하며, 상기 센싱장치로부터 상기 센싱 정보를 전송받아 상기 센싱 정보에 기초하여 가상의 볼에 대해 상기 가상의 타자 및 가상의 포수 중 적어도 하나가 미리 설정된 액션을 하거나 미리 설정된 AI에 따른 액션을 하도록 영상 구현함으로써 야구 연습 또는 야구 게임을 진행하도록 하는 제어장치를 포함한다.
본 발명에 따른 야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법은, 사용자의 야구 연습 또는 야구 게임을 위한 야구 연습 장치에 있어서 사용자에 의해 피칭된 볼의 운동에 대한 이미지를 취득하여 그 취득된 이미지를 분석함으로써 볼이 어떤 운동을 하는지에 대한 정확하고 빠른 운동 모델을 산출해 내어 이를 기초로 야구 연습 또는 야구 게임의 진행에 필요한 여러 가지 다양한 정보를 상당히 정확하고 빠르게 산출할 수 있는 효과가 있다.
도 1은 본 발명의 일 실시예에 따른 야구 연습 장치로서 가상 야구 시뮬레이션 시스템, 즉 소위 스크린 야구 시스템이 구현된 예를 나타낸 것이다.
도 2는 도 1에 도시된 야구 연습 장치의 구성에 관하여 나타낸 블록도이다.
도 3 및 도 4는 각각 본 발명의 다른 일 실시예 및 또 다른 일 실시예에 따른 야구 연습 장치에 관하여 나타낸 도면이다.
도 5는 도 2에 도시된 구성을 갖는 야구 연습 장치에 있어서 센싱장치의 센싱방법과 제어장치에 의한 제어방법에 관하여 나타낸 있는 플로우차트이다.
도 6은 본 발명의 일 실시예에 따른 센싱장치의 카메라유닛 중 하나의 카메라에서 촬영하고 있는 영상을 가정하여 나타낸 도면으로서, 다수 프레임의 이미지 상에서 나타나는 볼 이미지를 한꺼번에 나타내어 센싱장치가 볼을 검출하고 볼 운동 모델을 결정하는 프로세스를 설명하기 위한 것이다.
도 7은 본 발명의 일 실시예에 따른 센싱장치가, 피칭된 볼이 벽, 천장 등에 충돌하는 경우를 고려하여 볼 운동 모델을 결정하는 것을 설명하기 위한 도면이다.
도 8의 (a)는 본 발명의 일 실시예에 따른 야구 연습 장치에서 스크린 상에 투영되는 가상의 타자와 가상의 포수에 관한 영상이 구현된 일 예를 나타낸 것으로서 사용자가 피칭한 볼에 대한 영상 상에서의 처리에 관한 일 예에 관하여 나타내고 있는 도면이고, 도 8의 (b)는 (a)에 도시된 바와 같은 볼이 시뮬레이션 되는 것을 좀 더 알기 쉽게 설명하기 위한 도면이다.
도 9는 본 발명의 일 실시예에 따른 야구 연습 장치에서 사용자가 피칭한 볼에 대한 영상 상에서의 처리에 관하여 도 6의 (a)에 도시된 것과 다른 방식으로 처리하는 경우에 관하여 나타낸 도면이다.
본 발명에 따른 야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법에 관한 좀 더 구체적인 내용을 도면을 참조하여 설명하도록 한다.
본 발명에 따른 "야구 연습 장치"는, 단순히 사용자가 피칭 연습을 할 수 있도록 스크린을 향하여 볼을 피칭한 것에 대해 그 운동하는 볼에 대한 센싱 정보를 사용자에게 제공하는 야구 연습 시스템은 물론, 실내에 소정 크기의 공간에서 사용자가 피칭을 할 수 있는 마운드와 가상의 야구장을 디스플레이할 수 있는 스크린을 설치하고 사용자가 상기 마운드에서 상기 스크린을 향하여 볼을 피칭하면 센싱장치가 그 피칭된 볼의 움직임을 센싱하여 그 센싱 결과에 기초하여 상기 스크린 상에 각종 영상을 구현하는 가상 야구 시뮬레이션 시스템 등을 모두 포함하는 개념으로 정의하고 이하 본 발명에 대한 구체적인 설명을 하도록 한다.
먼저, 도 1 및 도 2를 참조하여 본 발명의 일 실시예에 따른 야구 연습 장치에 관하여 설명한다. 도 1은 본 발명의 일 실시예에 따른 야구 연습 장치로서 가상 야구 시뮬레이션 시스템, 즉 소위 스크린 야구 시스템이 구현된 예를 나타낸 것이고, 도 2는 도 1에 도시된 야구 연습 장치의 구성에 관하여 나타낸 블록도이다.
도 1에 도시된 바와 같이, 본 발명의 일 실시예에 따른 야구 연습 장치는 측벽(11)과 후벽(12) 등에 의해 형성되는 공간에 마운드(30)와 스크린(20)을 마련하여, 상기 마운드(30)에서 사용자가 볼(1)을 피칭할 수 있도록 구현된다.
상기 스크린(20)과 후벽(12) 사이의 공간부(SP)에는 상기 스크린(20) 상에 투영될 야구 시뮬레이션 영상에 관한 정보 처리를 위한 제어장치(300)가 구비될 수 있다(제어장치(300)에서 처리된 영상은 영상출력부(420)를 통해 스크린(20)에 투영된다).
도 1에서는 스크린(20)에 투영된 영상(IM) 상에서 가상의 타자(VB)가 사용자(P2)가 피칭하는 볼을 타격 준비하고 있는 것에 대해 나타내고 있다.
본 발명에 따른 야구 연습 장치는 사용자가 마운드에서 볼을 피칭하는 야구 연습 또는 야구 게임을 가능하게 하는 것은 물론, 사용자가 볼을 타격하는 야구 연습 또는 야구 게임을 가능하게 하는 시스템으로 구성하는 것도 가능하다. 이때에는 상기 마운드(30)가 사용자가 볼을 타격할 때에는 타석이 된다.
그리고, 사용자가 볼을 타격하는 야구 연습 또는 야구 게임을 하는 경우에는 스크린(20) 뒤쪽에 볼 피칭장치(미도시)를 설치하고 상기 스크린(20) 상에는 피칭홀(미도시)을 형성하여 상기 볼 피칭장치에서 타석으로 볼을 발사하는 방식으로 구성될 수 있다. 이에 관한 예는 뒤에 도 4에서 설명하도록 한다.
본 발명의 일 실시예에 따른 야구 연습 장치의 제어계통을 살펴보면, 본 발명의 일 실시예에 따른 야구 연습 장치는 도 1 및 도 2에 도시된 바와 같이 제어장치(300) 및 센싱장치(200)를 포함하여 구성될 수 있다. 만약 사용자가 볼 피칭은 물론 볼 타격까지 할 수 있는 시스템인 경우에는 볼 피칭장치도 본 발명에 포함될 수 있다.
본 발명이 사용자가 볼을 피칭할 수 있도록 하는 것과 함께 볼을 타격할 수 있도록 하는 야구 연습 또는 야구 게임을 제공할 수 있도록 구성되는 경우라도, 본 발명은 사용자가 볼을 피칭하는 경우에 있어서 그 피칭에 의해 운동하는 볼에 대한 물리적 해석 및 이를 기초로 야구 연습 또는 야구 게임을 위한 영상을 구현하는 것에 특징이 있는 것이므로, 이하에서는 본 발명이라 함은 사용자가 볼 피칭만 할 수 있는 경우는 물론 볼 피칭과 볼 타격을 모두 할 수 있는 경우까지 모두 포함하는 것으로 한다.
한편, 상기 센싱장치(200)는 촬영한 이미지를 분석하여 이미지상의 객체에 대한 센싱을 하는 방식으로서, 마운드(30)를 포함하는 일정 촬영 범위에 대한 이미지를 취득하여 분석함으로써 사용자가 피칭한 볼에 대한 볼 운동 정보의 산출, 상기 사용자가 피칭한 볼이 스크린에 도달하는 시간과 스크린에 도달할 때의 위치 등을 산출하는 기능을 수행한다.
도 2에 도시된 바와 같이, 상기 센싱장치(200)는 카메라유닛(210)과, 센싱처리유닛(220)을 포함하여 구성될 수 있는데, 상기 카메라유닛(210)은 마운드(30)를 포함하는 일정 촬영 범위에 대한 이미지를 연속적으로 취득하며, 상기 센싱처리유닛(220)은 상기 카메라유닛(210)으로부터 이미지를 전달받아 미리 설정된 사항에 따른 이미지 분석을 수행하여 상기 야구 연습 장치를 이용한 야구 연습 또는 야구 게임에 필요한 정보를 산출한다.
상기 센싱장치(200)의 카메라유닛(210)은 서로 다른 위치에서 동일한 촬영 범위를 각각 촬영하여 촬영된 이미지 상의 객체에 대한 3차원 위치 정보를 산출해 낼 수 있도록 제1 카메라(211) 및 제2 카메라(212)를 포함하여 스테레오 방식(Stereoscopic)으로 구성함으로써, 상기 센싱처리유닛(220)이 상기 카메라유닛(210)이 촬영한 이미지의 분석을 통해 볼에 대한 3차원 좌표 데이터를 얻을 수 있도록 함이 바람직하다.
그리고, 상기 센싱처리유닛(220)은 상기 카메라유닛(210)의 제1 카메라(211) 및 제2 카메라(212) 각각으로부터 촬영된 이미지를 전달받아 수집하면서 그 수집된 이미지 각각을 분석하여 볼을 찾아 각 볼에 대한 3차원 좌표 데이터를 추출하고 그 추출된 3차원 좌표 데이터를 이용하여 사용자에 의해 피칭되어 운동하는 볼에 대한 볼의 운동 모델을 결정하며, 볼의 운동 모델이 결정되면 이를 이용하여 상기 야구 연습 장치를 이용한 야구 연습 또는 야구 게임에 필요한 각종 정보를 산출한다.
여기서, 볼의 운동 모델은 피칭되어 또는 타격되어 운동하는 볼의 3차원 공간 상에서의 궤적에 관한 운동 방정식으로 표현되는 것을 의미하며, 도 1에 도시된 바와 같이 본 발명에 따른 야구 연습 장치에 의한 야구 연습 또는 야구 게임이 이루어지는 공간에 대해 x축, y축 및 z축의 3차원 좌표계로 정의하여 그 정의된 좌표계에 따라 상기 볼의 운동 모델이 결정될 수 있다.
즉, 상기 볼의 운동 모델은 x축 방향의 운동 방정식, y축 방향의 운동 방정식 및 z축 방향의 운동 방정식으로 정의될 수 있다. 이에 대한 좀 더 구체적인 내용은 후술하도록 한다.
한편, 상기 센싱장치(200)가 상기한 볼 운동 정보를 산출하여 이를 제어장치(300)로 전송하고, 상기 제어장치(300)는 전송받은 볼 운동 정보에 기초하여 볼 운동에 대한 시뮬레이션 영상을 구현하여 영상출력부(420)를 통해 스크린부(20)에 투영되도록 할 수 있다.
한편, 상기 제어장치(300)는, 도 2에 도시된 바와 같이 데이터저장부(320), 영상처리부(330) 및 제어부(310)를 포함하여 구성될 수 있다.
상기 데이터저장부(320)는 야구 연습 장치에서 이루어지는 야구 시뮬레이션 영상 등의 처리를 위한 데이터가 저장되는 부분이다. 상기 데이터저장부(320)는 서버(미도시)로부터 전송받은 데이터를 일시적으로 저장하는 저장소 역할을 하는 것으로 구성될 수도 있다.
상기 영상처리부(330)는 가상의 야구장에 관한 영상, 선수와 심판, 관객 등에 관한 영상 등의 백그라운드 영상과 가상의 포수, 가상의 타자, 가상의 심판 등이 상기 사용자가 피칭하는 볼을 기다리는 영상, 사용자가 피칭한 볼의 궤적에 대한 시뮬레이션 영상 등 각종 야구 시뮬레이션 관련 영상을 생성하기 위하여 영상 데이터에 대한 미리 설정된 프로그램에 따른 처리를 수행하며, 처리된 영상은 영상출력부(420)로 전송하고 상기 영상출력부(420)는 전송받은 영상을 사용자가 볼 수 있도록 스크린부(20)에 투영하는 등 영상의 출력을 수행한다.
상기 제어부(310)는 본 발명에 따른 야구 연습 장치의 각 구성요소들을 제어하며 상기 센싱장치(200)로부터 전송되는 각종 정보에 기초하여 타격된 볼의 궤적에 대한 시뮬레이션 등 야구 시뮬레이션 영상 구현을 위한 각종 연산을 수행한다.
한편, 본 발명에 따른 야구 연습 장치는, 도 1에 도시된 바와 같이 사용자(P2)가 마운드(30)에서 볼(1)을 피칭하면 이를 센싱장치(200, 도 2 참조)가 센싱하여 산출하는 센싱 정보에 기초하여 구현되는 가상의 볼이 스크린(20)에 투영되는 영상(IM) 상의 가상의 포수에게 들어간다. 이때 영상(IM) 상의 가상의 타자(VB)는 상기 사용자의 피칭된 볼에 기반한 가상의 볼에 대해 스윙을 하거나 볼거르기를 할 수 있고, 스윙을 하여 상기 가상의 볼을 타격할 수도 있고 헛스윙을 할 수도 있다.
본 발명에 따른 야구 연습 장치의 제어장치는 상기한 바와 같이 사용자의 피칭된 볼에 기초한 가상의 볼에 대해 가상의 타자(VB)가 타격, 헛스윙, 볼거르기 등을 하는 액션을 하도록 영상 구현을 하는데, 이때 상기 가상의 타자(VB)의 액션이 미리 설정된 AI(Artificial Intelligence: 게임 캐릭터에 대한 인공지능)에 따라 이루어질 수도 있고, 다른 사용자가 단말기를 조작하여 상기 가상의 타자(VB)가 타격, 헛스윙, 볼거르기 등의 액션을 하도록 할 수도 있다.
또한, 본 발명에 따른 야구 연습 장치와 다른 야구 연습 장치를 소정의 서버를 통해 서로 네트워크로 연결하여 구현되는 시스템에 있어서, 본 발명에 따른 야구 연습 장치(편의상 ‘제1 장치’라 함)에서는 사용자(편의상 ‘제1 사용자’라 함)가 볼을 피칭하고, 다른 야구 연습 장치(편의상 ‘제2 장치’라 함)에서는 다른 사용자(편의상 제2 사용자’라 함)가 볼을 타격하는 방식으로 양 사용자가 서로 다른 장치를 통해 각각 공격과 수비를 할 수 있도록 구성할 수 있으며, 이때 제1 장치에서 제1 사용자가 볼 피칭한 것에 대해 제2 장치에서 볼 피칭장치가 타석으로 볼을 발사하여 제2 사용자가 그 발사된 볼을 타격하면 이에 따라 상기 제1 장치에서 영상(IM) 상의 가상의 타자(VB)가 가상의 볼을 타격하게 되는 방식으로 야구 게임이 진행되도록 할 수 있다.
도 3은 사용자가 볼 피칭을 할 때 다른 사용자가 단말기를 조작하여 가상의 타자가 상기 다른 사용자의 조작에 따른 액션을 수행하는 경우에 대해 나타내고 있다.
도 3에서 야구 연습 장치에 관한 부분들은 모두 도 1에 도시된 야구 연습 장치와 동일하므로 이에 대한 구체적인 설명은 생략하도록 한다.
도 3에 도시된 바와 같이, 본 실시예에서는 볼을 피칭하는 사용자(P2) 외 다른 사용자가 제어장치(300)와 유선 또는 무선 통신하도록 구비되는 단말기(400)를 조작하여 가상의 타자(VB)의 액션을 제어하도록 구성된다.
상기 단말기(400)에는 스크린(20)에 투영되는 영상(IM) 상의 가상의 타자(VB)와 동일한 타자가 투수에 의해 투구되는 볼을 타격하기 위해 준비하고 있는 영상을 제공하며, 다른 사용자는 상기 단말기(400)에서 버튼 입력 방식, 또는 터치 제스처 방식 등의 다양한 방법으로 스윙 입력을 하면 그 입력 정보가 제어장치(300)로 전달되며, 상기 제어장치(300)는 상기 사용자(P2)가 피칭한 볼에 대한 센싱 정보에 기초한 가상의 볼에 대해 상기 가상의 타자(VB)가 상기 단말기(400)를 통해 입력된 정보(제어장치가 전달받은 정보)에 따른 가상의 볼에 대한 타격 또는 헛스윙을 수행하거나, 다른 사용자가 단말기(400) 조작을 하지 않으면 가상의 타자(VB)가 볼거르기를 하도록 할 수 있다.
한편, 도 4는 제1 장치와 제2 장치 간에 서로 공격과 수비를 함에 있어 제1 장치에서 제1 사용자가 피칭한 볼에 대해 제2 장치에서 제2 사용자가 타격, 헛스윙, 볼거르기 등을 수행하는 것과 동일하게 제1 장치에서 영상 상의 가상의 타자가 액션을 수행하는 경우에 대해 나타내고 있다.
도 4에서, RM1은 제1 장치를 이용하여 제1 사용자(P1)가 마운드(30)에서 영상(IM) 상의 가상의 타자(VB)를 상대로 볼(1)을 피칭을 하는 방식으로 야구 게임을 하는 플레이 공간을 지칭하고, RM2는 제2 장치를 이용하여 제2 사용자(P2)가 타석(30a)에서 볼 피칭장치(100)로부터 발사되는 볼(1a)을 타격하는 방식으로 야구 게임을 하는 플레이 공간을 지칭한다.
RM1의 제1 장치는 도 1에 도시된 본 발명의 일 실시예에 따른 야구 연습 장치와 동일한 구성이며, RM2의 제2 장치 역시 센싱장치(200a)와 제어장치(300a)를 상기 제1 장치와 동일하게 구비하고 있으며, 상기 제2 장치는 스크린(20a) 뒷면에 볼 피칭장치(100)를 구비하고 있으며 상기 볼 피칭장치(100)로부터 볼(1a)이 타석(30a)으로 발사될 수 있도록 피칭홀(22a)이 형성된다.
상기한 볼 피칭장치 및 피칭홀의 구성은, 도면상으로 명확하게 도시하지는 않았지만 상기 제1 장치도 동일하게 구비하고 있을 수 있다.
즉, RM1의 제1 장치와 RM2의 제2 장치는 서로 동일한 구성을 갖는 장치일 수 있으며, 하나의 장치에서 공격과 수비가 모두 가능하도록 구성될 수 있다.
도 4에 도시된 바와 같이, 제1 장치의 제어장치(300)와 제2 장치의 제어장치(300a)는 서버(S)에 각각 연결되어 상기 서버(S)를 통해 서로 데이터를 주고 받을 수 있도록 구성된다.
따라서, 제1 장치에서 제1 사용자(P1)가 볼(1)을 피칭하면 센싱장치(200)가 이를 센싱하여 센싱 정보를 산출하며 그 산출된 센싱 정보를 제어장치(300)가 서버(S)로 전송한다.
상기 서버(S)는 제1 장치의 제어장치로부터 전송받은 센싱 정보를 제2 장치의 제어장치(300a)로 전송하며, 제2 장치의 제어장치(300a)는 그 전송받은 센싱 정보에 대응하는 볼을 발사할 수 있도록 볼 피칭장치(100)를 제어한다.
상기 제2 장치에서 볼 피칭장치(100)가 제1 사용자(P1)의 볼 피칭에 맞게 볼(1a)을 발사하면 제2 사용자(P2)가 이를 타격하거나 헛스윙하거나 볼거르기 할 수 있고, 센싱장치(200a)는 이를 감지하여 생성한 센싱 정보를 제어장치(300a)로 전달하고, 제어장치(300a)는 그 센싱 정보를 서버(S)로 전송한다.
상기 서버(S)는 그 센싱 정보를 제1 장치의 제어장치(300)로 전송하며, 제1 장치의 제어장치(300)는 상기 서버(S)로부터 전송받은 센싱 정보에 기초하여 영상(IM) 상의 가상의 타자(VB)가 가상의 볼에 대해 타격, 헛스윙, 볼거르기 등의 액션을 수행하도록 영상 구현한다.
이와 같은 방식으로 RM1에서 플레이하는 제1 사용자(P1)와 RM2에서 플레이하는 제2 사용자(P2)가 서로 공격과 수비를 하면서 실제 야구 경기를 하는 것과 마찬가지로 체험형 가상 야구 경기를 즐길 수 있는 것이다.
한편, 도 5에 도시된 플로우차트를 참조하여 본 발명의 일 실시예에 따른 야구 연습 장치에 이용되는 센싱장치의 센싱방법 및 야구 연습 장치의 제어방법에 관하여 설명하도록 한다.
도 5에 도시된 플로우차트에서는 도 2에 도시된 구성을 갖는 야구 연습 장치에 있어서 센싱장치의 센싱방법과 제어장치에 의한 제어방법에 관하여 나타내고 있다.
도 5에 도시된 바와 같이, 본 발명의 일 실시예에 따른 야구 연습 장치가 작동이 되면서 제어장치는 야구 연습 또는 야구 게임을 위한 가상 환경에 대한 영상(예컨대, 야구장에서 관중들이 응원하는 것에 대한 영상 등)과 해당 가상 환경에서 가상의 포수, 가상의 타자, 가상의 심판 등을 포함하는 영상을 구현한다(S210).
본 발명에 따른 야구 연습 장치에 의해 실행되는 야구 연습 또는 야구 게임에 따라 상기 가상의 포수와 가상의 타자에 대한 영상은 기본적으로 구현이 되며, 상기 가상의 심판은 경우에 따라 영상에 포함될 수도 있고 포함되지 않을 수도 있다.
제어장치는 상기한 바와 같이 가상 환경에서 가상의 포수, 가상의 타자, 가상의 심판 등을 포함하는 영상을 구현한 상태에서, 센싱장치로부터 센싱 정보를 수신할 때까지 대기한다.
한편, 센싱장치의 카메라유닛은 그 촬영 범위의 이미지를 지속적으로 취득하고 그 취득된 이미지들은 센싱처리유닛에 의해 수집이 된다(S100).
센싱처리유닛은 미리 설정된 개수의 이미지가 수집되면 그 수집된 각각의 이미지를 분석하여 각 이미지 상에서 볼을 검출한다(S110). 여기서 검출된 볼은 실제로 운동하고 있는 볼일 수도 있지만 플레이 공간의 바닥에 놓여져 있는 볼일 수도 있고 기타 노이즈가 포함될 수도 있다.
따라서, 좀 더 정확하게 말하면 상기 S110 단계에서 검출되는 것은 볼 후보이다.
상기 각 이미지 상에서 볼 후보는 여러 단계의 볼 검출 프로세스를 통해 검출될 수 있다.
우선, 센싱처리유닛은 카메라유닛이 볼이 운동하기 전에 미리 촬영해 놓은 이미지를 레퍼런스 이미지로서 저장해 놓는다. 물론 실제 볼이 사용자에 의해 피칭되고 난 후 트리거 프로세스에 의해 트리거가 발생하면 그때의 이미지를 상기한 레퍼런스 이미지로서 저장해 놓도록 하는 것도 가능하다.
여기서 트리거는 이미지에서 미리 정해진 영역을 설정해 놓고 볼이 그 미리 설정된 영역에서 검출될 때 발생되며, 센싱처리유닛은 상기 트리거 시점을 기준으로 그 이전 및 이후의 미리 설정된 개수의 이미지를 분석하여 상기한 볼 검출 등의 프로세스를 진행하게 된다.
볼 피칭이 이루어지기 시작하면서 촬영되는 각각의 이미지에 대해서 상기 레퍼런스 이미지와의 차연산 기법(Image Differencing)에 의한 차영상을 구하면, 그 차영상에서는 운동하는 볼을 포함하는 움직이는 객체가 남아있게 된다.
그 차영상에 대해 영상상의 픽셀들에 대한 픽셀값(밝기값)의 문턱값(Threshold)을 미리 설정하고 그 미리 설정된 문턱값을 기준으로 상기 차영상을 이진화 처리한다(문턱값을 넘는 픽셀값을 갖는 픽셀들은 흰색, 그렇지 않은 픽셀들은 검은색으로 표현하여 이진화 한다).
실제 볼(야구공)의 경우 조명의 영향으로 이미지 상에서 픽셀값, 즉 밝기값이 크기 때문에 이진화를 수행하면 움직이는 볼은 대부분 흰색으로 나타나고 나머지 부분들은 검은색으로 나타나므로 이미지 상에서 움직이는 볼 부분을 용이하게 검출해 낼 수 있다.
센싱처리유닛은 상기한 이진화된 영상에서 흰색으로 나타나는 부분의 윤곽(Contour)을 추출하고 각각의 추출된 윤곽에 대해 가로세로비(Aspect Ratio), 윤곽의 크기, 윤곽 내부의 밝기 등 미리 설정된 조건에 대해 분석을 수행하는데(센싱처리유닛은 볼에 대한 가로세로비의 범위, 크기의 범위, 내부 밝기의 범위 등을 미리 설정하고 있다), 예컨대 추출된 윤곽이 길어서 가로세로비가 미리 설정된 범위를 벗어나는 경우, 추출된 윤곽의 크기가 미리 설정된 크기 범위를 벗어나거나 너무 작은 경우 등에는 해당 부분을 제거하는 방식으로 추출된 윤곽들 중에서 유효한 것을 볼 후보로서 선정한다(이와 같이 볼후보로 선정이 되어도 그 중에서는 바닥에 놓여 있는 볼이나 기타 노이즈가 포함되어 있을 수 있다).
상기한 바와 같이 이미지 상에서 볼후보를 추출하는 과정에서, 상기 센싱처리유닛은 이미지 상에 최초로 볼후보가 등장할 때의 프레임의 번호 또는 이때의 타임스탬프 값 등을 볼이 피칭되기 시작하는 순간의 시간값, 즉 초기시간값으로서 검출한다(S120).
한편, 센싱처리유닛은 상기한 바와 같은 방식으로 각 이미지 상에서 검출된 볼후보 각각에 대한 3차원 좌표를 산출한다(S130).
상기한 3차원 좌표의 산출은 동일한 객체에 대한 제1 카메라의 취득 영상 및 제2 카메라의 취득 영상 각각으로부터 얻어지는 좌표 정보를 이용함으로써 가능한데, 스테레오 방식의 카메라 시스템을 이용한 객체의 3차원 좌표 취득은 이미 공지된 기술이므로 이에 대한 설명은 생략하도록 한다.
한편, 센싱처리유닛은 상기한 바와 같이 산출된 볼후보에 대한 3차원 좌표 데이터를 이용하여, 임의의 볼후보 좌표에 대해 임의의 볼 운동 모델을 수립하고(S140), 상기 S120 단계에서 검출된 초기시간값을 임의의 볼 운동 모델에 적용하여 볼의 초기좌표값을 산출하며(S150), 상기 산출된 볼의 초기좌표값이 미리 설정된 범위를 넘는 경우의 해당 볼 운동 모델에 포함되는 볼후보를 제거하는 방식으로 볼후보들 중 볼이 아닌 것을 제거하여 볼에 대한 좌표 데이터를 검출한다(S160).
센싱처리유닛은 상기한 바와 같이 검출된 볼 좌표 데이터를 이용하여 사용자에 의해 피칭되어 이동하는 볼에 대한 볼 운동 모델을 결정한다(S170).
상기한 볼 운동 모델은 상기한 볼의 3차원 좌표 데이터를 이용하여 도 1에서 예시한 바와 같은 x축, y축 및 z축의 공간 좌표계에서 각 축 방향의 운동 방정식을 구함으로써 결정될 수 있는데, 본 발명의 일 실시예에 따른 야구 연습 장치는 한정된 공간(예컨대, 도 1에 도시된 바와 같이 측벽(11)과 후벽(12) 등으로 형성되는 공간) 내에서 이루어지는 경우에 사용자에 의해 피칭된 볼이 벽, 천장 등에 충돌하는 경우를 고려하여 상기한 볼 운동 모델을 수립하여 결정하는 것이 바람직하다.
여기서, 상기한 바와 같은 볼의 운동 모델의 결정에 관련된 S110 내지 S170 단계에 관한 좀 구체적인 예를 도 6 및 도 7을 참조하여 설명하도록 한다.
도 6은 센싱장치의 카메라유닛 중 하나의 카메라에서 촬영하고 있는 영상을 가정하여 나타낸 도면으로서, 다수 프레임의 이미지 상에서 나타나는 볼 이미지(t1 ~ t11)를 한꺼번에 나타내어 본 발명의 일 실시예에 따른 센싱장치에서 이미지로부터 볼을 검출하고 볼 운동 모델을 결정하는 프로세스를 설명하기 위한 것이다.
그리고, 도 7은 피칭된 볼이 벽, 천장 등에 충돌하는 경우를 고려하여 상기한 볼 운동 모델을 결정하는 것을 설명하기 위한 도면이다.
여기서, 공간 좌표계는 도 1에 도시된 x축, y축 및 z축에 따른 좌표계와 동일하다.
도 6에 도시된 바와 같이, 센싱장치의 카메라유닛에 의해 촬영되어 수집되는 이미지에는 마운드(30)에서 볼을 피칭하는 사용자(10)와, 피칭되어 스크린 쪽으로 이동하는 볼(t1 ~ t11)뿐만 아니라 바닥에 놓여 있는 볼 및 기타 노이즈에 해당하는 부분(n1 ~ n8)도 모두 나타난다.
여기서, 센싱장치의 센싱처리유닛은 볼의 운동 모델을 수립하기 위하여 볼 운동에 대한 x축 방향의 함수, y축 방향의 함수 및 z축 방향의 함수를 각각 미리 정의하여 설정해 놓고, 도 6에 나타낸 바와 같은 볼(t1 ~ t11)의 3차원 좌표 데이터를 상기한 각 함수에 적용함으로써 볼 운동에 대한 각 축 방향의 운동 방정식을 결정하여 볼 운동 모델을 수립할 수 있다.
볼의 운동 모델 수립 및 결정에서 이용되는 각 축 방향의 함수는, 예컨대 몇 가지 가정과 함께 아래와 같이 정의될 수 있다.
<y축 방향의 함수>
운동하는 볼의 시간에 대한 y축 방향 운동은 등속 운동으로 가정할 수 있으므로, 아래와 같은 시간에 대한 1차 함수로 표현할 수 있다.
y = a_y*t + b_y
여기서, t는 시간값, y는 y방향 좌표값, a_y는 시간에 대한 y방향 좌표의 증가량(함수의 기울기), b_y는 t가 0일 때의 y방향 좌표값(절편)을 의미한다.
<x축 방향의 함수>
운동하는 볼의 시간에 대한 x축 방향 운동도 등속 운동으로 가정할 수 있으므로, 아래와 같은 시간에 대한 1차 함수로 표현할 수 있다.
x = a_x*t + b_x
여기서, t는 시간값, x는 x방향 좌표값, a_x는 시간에 대한 x방향 좌표의 증가량(함수의 기울기), b_x는 t가 0일 때의 x방향 좌표값(절편)을 의미한다.
<z축 방향의 함수>
운동하는 볼의 시간에 따른 z축 방향 운동은 중력이 항상 작용하는 등가속도 운동으로 가정할 수 있으므로, 아래와 같은 시간에 대한 2차 함수로 표현할 수 있다.
z = a_z*t + b_z - 0.5*g*t2
여기서, g는 중력가속도, t는 시간값, z는 z방향 좌표값, a_z는 t가 0일 때의 z방향 속도, b_z는 t가 0일 때의 z방향 좌표값(절편)을 의미한다.
도 6에 도시된 바와 같이 분석하는 이미지 상에는 볼(t1 ~ t11) 뿐만 아니라 각종 노이즈(n1 ~ n4)가 포함될 수 있고, 이들이 모두 상기한 S110 단계에서 검출된 볼 후보들이라고 가정한다.
상기한 S130 단계에서 상기한 볼 후보들(t1 ~ t11 및 n1 ~ n4) 각각의 3차원 좌표 데이터를 산출한다. 이때 상기한 각 볼 후보들은 3차원 좌표 데이터와 함께 시간값을 알 수 있다(예컨대, n번째 프레임의 이미지에 등장하는 볼 후보가 있을 때 해당 볼 후보의 프레임 번호 또는 타임스탬프 값을 상기한 시간값으로 하여 저장할 수 있다).
한편, 상기한 볼 후보들 중 유효한 볼의 좌표 데이터를 검출해 내기 위하여, 먼저 운동하는 볼이 벽이나 천장 등에 충돌하는 경우에 있어서 그 충돌 이후의 볼에 대한 좌표 데이터를 제거할 필요가 있다.
도 7에서는 b1 -> b2 -> b3-> b4로 운동하는 볼이 벽이나 천장 같은 장애물(LM)에 충돌하여 r1 -> r2로 튀어 나가는 경우에 대해 나타내고 있다.
도 7에 도시된 예에서 원래 구하고자 하는 운동 모델은 b1 -> b2 -> b3-> b4 -> v1 -> v2로 운동하는 볼의 운동 모델(MDa)이므로, r1 및 r2는 제거되어야 한다.
이와 같은 볼의 충돌 후의 데이터를 제거하기 위하여, 상기한 볼 후보들 중 임의로 2개 또는 그 이상(미리 설정된 개수로) 선택하여 그 선택된 볼 후보들 각각의 좌표 데이터를 상기한 각 축 방향의 함수에 적용하여 각 축 방향의 운동 방정식을 수립함으로써 임의의 운동 모델을 수립한다.
그리고, 상기한 S120 단계에서 산출한 볼 운동의 초기시간값을 산출하게 되면 이를 상기 임의의 운동 모델에 대입하여 볼의 초기좌표값을 확인할 수 있다.
따라서, 도 7에서 r1과 r2를 선택하여 상기한 바와 같이 임의의 운동 모델(MDb)을 수립하였다면, 그 임의의 운동 모델 MDb에 상기한 초기시간값을 대입하여 볼 운동의 시작점 좌표값을 확인할 수 있다. 도 5에서 임의의 운동 모델 MDb의 볼 운동의 시작점 좌표는 ro1이 될 것이다.
그러나, 도 7에 도시된 바와 같이, ro1은 벽 또는 천장(LM)의 외부에 존재하므로, 즉 볼 운동의 시작점 좌표가 야구 연습 장치에 의한 플레이 공간의 외부에 존재하게 되므로, 상기한 임의의 운동 모델 MDb에 포함되는 좌표 데이터는 유효한 데이터가 아닌 것이 확실하므로 모두 제거한다.
이와 같은 방식으로 임의로 좌표 데이터를 각 축 방향 함수에 적용하여 수립된 운동 모델의 초기 시간값에 따른 볼의 초기좌표값을 확인함으로써 유효하지 않은 데이터는 모두 제거할 수 있다(모든 데이터에 대해 또는 일부 데이터에 대해 임의로 미리 설정된 개수의 데이터를 선택하여 운동 모델을 수립하여 유효하지 않은 데이터를 제거할 수 있다).
여기서, '운동 모델에 포함되는 좌표 데이터'라 함은 그 좌표값이 수립된 운동 모델 상에 존재하는 경우는 물론 좌표값이 운동 모델 상에 존재하는 것은 아니지만 그와 일정 수준으로 근접하고 있는 좌표 데이터를 모두 포함하는 것으로 정의하기로 한다. 여기서 '일정 수준으로 근접'한다는 것은 다수의 실험 등을 통해 오차 범위를 미리 설정하고 데이터가 그 미리 설정된 오차 범위 내에 존재하는 경우를 말한다.
이하에서 '운동 모델이 포함되는 좌표 데이터'라고 하는 것은 모두 상기한 바와 같이 그 운동 모델에 대해 미리 설정된 오차 범위 내의 좌표 데이터를 의미하는 것으로 하기로 한다.
한편, 도 7에서 나타낸 노이즈(n1 ~ n4) 중에 바닥에 놓여 있는 볼이 포함되어 있는 경우, 바닥에 놓여 있는 볼의 좌표 데이터를 선택하여 상기한 바와 같이 임의의 운동 모델을 수립하여 초기 좌표값을 확인하면 그 역시 야구 연습 장치에 의한 플레이 공간 외부에 존재하게 되므로, 해당 노이즈의 좌표 데이터에 의해 임의로 수립된 운동 모델에 포함되는 모든 좌표 데이터는 제거할 수 있다.
상기한 바와 같이 임의의 운동 모델의 수립 및 초기 좌표값의 확인에 관한 프로세스를 통해 유효하지 않은 데이터를 제거할 수 있으며, 이와 같이 데이터가 제거되고 남은 데이터로부터 최종적인 볼의 운동 모델을 결정할 수 있다.
상기한 바와 같이 임의의 운동 모델의 수립 및 초기 좌표값의 확인에 관한 프로세스를 통해 유효하지 않은 데이터를 제거한 후에도 몇몇 노이즈가 남아 있을 수 있다.
이 경우에 정확한 볼의 운동 모델의 결정을 위해 RANSAC 알고리즘과 같이 분포된 데이터들 중 대세를 이루는 데이터들(Inlier)을 기초로 볼의 운동 모델이 수립될 수 있고 Inlier가 아닌 나머지 데이터들(Outlier)은 모두 제거하는 방식으로 최종적인 볼의 운동 모델이 결정될 수 있다.
즉, 도 6에 도시된 바와 같이 t1 -> ‥‥ -> t11로 연결되는 운동 모델(MD)이 사용자에 의해 피칭된 볼에 대한 볼의 운동 모델로서 결정될 수 있다. 물론 실제로는 일부 노이즈 등의 영향으로 상기한 MD와 같은 정확한 운동 모델이 산출되지 않을 수도 있지만 상기한 방법으로 운동 모델을 구하는 경우 오차 범위가 거의 무시할 수 있는 수준의 정확성 높은 운동 모델의 결정이 가능하다.
한편, 본 발명의 일 실시예에 따른 센싱장치는 상기한 바와 같은 방식으로 최종적으로 결정된 볼의 운동 모델에 포함되는 데이터의 개수가 매우 적은 경우(이는 데이터의 개수를 미리 설정할 수 있다) 유효하지 않은 데이터에 기초한 운동 모델이라 판단하고 모두 노이즈로 판단할 수 있다.
최종적으로 결정된 볼의 운동 모델이 노이즈인 것으로 판단되면, 야구 연습 장치는 해당 투구가 오류임을 사용자에게 알리고 다시 플레이를 진행하도록 할 수 있다.
한편, 다시 도 5로 돌아와서, 상기한 도 6 및 도 7을 통해 설명한 바와 같은 방식으로 S110 ~ S170 단계가 진행되어 피칭되는 볼의 운동 모델이 결정될 수 있다.
상기한 바와 같이 사용자에 의해 피칭되어 운동하는 볼에 대한 볼 운동 모델이 최종적으로 결정되면, 센싱처리유닛은 스크린의 좌표 정보를 상기 결정된 볼 운동 모델에 적용하여 볼이 스크린에 도달하는 시간, 즉 스크린 도달 시간을 산출한다(S180).
도 1을 참조하면, 스크린의 y축 방향 좌표는 항상 고정된 값이다. 따라서 스크린의 y축 방향 좌표 정보를 상기 결정된 볼 운동 모델에 적용하면 피칭된 볼이 스크린에 도달하는 시간, 즉 스크린 도달 시간을 산출하는 것이 가능하다.
그리고, 상기한 바와 같이 스크린 도달 시간을 산출하면 그 산출된 스크린 도달 시간을 다시 상기 결정된 볼 운동 모델에 적용하여 나머지 x축 방향 좌표와 z축 방향 좌표를 결정할 수 있는데(y축 방향 좌표는 이미 고정된 값임), 이와 같이 결정된 x, y, z축 방향의 좌표 정보가 볼이 스크린에 도달하는 위치 좌표, 즉 스크린 도달 위치에 해당하는 좌표 정보가 되는 것이다(S180).
센싱처리유닛은 상기한 바와 같이 최종적으로 결정된 볼의 운동 모델에 따른 볼의 운동 파라미터(예컨대, 스크린 도달 위치에서의 볼의 속도, 방향, 높이각 등)를 산출하고, 이를 상기한 스크린 도달 시간 정보 및 스크린 도달 위치 정보와 함께 '센싱 정보'로서 제어장치로 전달한다(S190).
제어장치는 센싱장치로부터 상기한 '센싱 정보'를 전달받으면(S220), 상기 전달받은 센싱 정보에 기초한 영상 구현을 준비한다(S230). 예컨대 가상의 타자가 볼을 타격하기 위한 스윙 모션을 취하기 시작하는 영상을 구현한다든지 가상의 포수가 볼을 캐치하기 위한 위치로 포수 글러브를 이동시키는 영상을 구현할 수 있다.
한편, 제어장치는 상기 스크린 도달 시간이 된 경우(사용자에 의해 피칭된 볼이 스크린에 충돌하는 경우)(S240), 사용자에 의해 피칭된 볼에 대해 상기한 스크린 도달 위치에서부터 상기한 볼 운동 모델에 기초하여 볼이 연속하여 진행하도록 시뮬레이션 영상을 구현한다(S250).
이때 가상의 타자는 영상 내에서 미리 설정된 액션을 하도록 설정될 수도 있고 가상의 타자인 캐릭터에 대해 미리 설정된 AI(Artificial Intelligence: 게임 캐릭터에 대한 인공지능)에 따라 볼을 타격하거나 헛스윙을 하거나 볼 거르기를 할 수 있으며, 제어장치는 이러한 경우에 대한 영상을 구현한다(S260).
또한, 앞서 도 3을 통해 설명한 바와 같이 플레이를 하고 있는 사용자가 아닌 다른 사용자가 단말기(400, 도 3 참조)를 조작하여 상기 가상의 타자가 볼의 타격, 헛스윙, 볼거르기 등의 액션을 수행하도록 할 수도 있고, 앞서 도 4를 통해 설명한 바와 같이 다른 사용자가 다른 야구 연습 장치를 이용하여 볼 피칭장치에서 발사되는 볼(상기 사용자의 볼 피칭에 맞게 발사되는 볼)에 대해 타격, 헛스윙, 볼거르기 등을 수행함에 따라 상기 가상의 타자 역시 이와 동일하게 액션을 수행하도록 할 수도 있다.
상기한 S210 ~ S260 단계를 도 8에 도시된 예를 통해 설명한다. 도 8의 (a)는 스크린(20) 상에 투영되는 가상의 타자(VB)와 가상의 포수(VC)에 관한 영상(IM)이 구현된 일 예를 나타낸 것이고, 도 8의 (b)는 (a)에 도시된 바와 같은 볼이 시뮬레이션 되는 것을 좀 더 알기 쉽게 설명하기 위한 도면이다.
사용자가 볼을 피칭하기 전에, 제어장치는 도 8의 (a)에 도시된 바와 같이 가상의 타자(VB)와 가상의 포수(VC)를 포함하는 영상(IM)을 구현한다.
도 8의 (a)에서 도면번호 50으로 표시된 부분을 스크린 도달 위치라고 할 때, 스크린 도달 시간이 되었을 때 제어장치는 스크린 도달 위치(50)에서부터 상기 센싱장치에 의해 결정된 볼 운동 모델에 의해 가상의 볼(Bv)이 볼 궤적(Tb)을 따라 연속하여 진행하는 시뮬레이션 영상을 구현한다.
이에 대해 도 8의 (b)에서 좀 더 구체적으로 나타내고 있는데, 도 8의 (b)에서는 도 8의 (a)에 도시된 사항에 대한 이해를 돕기 위해 스크린(20)에 투영되는 영상(IM) 상의 가상의 타자(VB)와 가상의 포수(VC)가 스크린(20) 뒤에 존재하는 것처럼 나타내었다.
도 8의 (b)에 도시된 바와 같이, 사용자에 의해 피칭되어 실제 운동하는 볼(1)에 대한 스크린 도달 위치(50)에서부터 가상의 볼(Bv)이 센싱장치에 의해 산출된 볼 운동 모델에 따른 궤적(Tb)을 따라 진행하는 시뮬레이션 영상이 구현된다.
이때, 가상의 타자(VB)는 미리 설정된 AI에 따라 가상의 볼(Bv)을 타격하거나 헛스윙하거나 볼거르기를 할 수 있고, 가상의 포수(VC)는 가상의 볼(Bv)의 위치에 포수글러브를 위치시켜 가상의 볼을 캐치할 수 있도록 하는 영상이 구현된다.
또한, 앞서 설명한 바와 같이 상기 가상의 자타(VB)가 다른 사용자의 단말기 조작에 따라 가상의 볼에 대한 타격, 헛스윙, 볼거르기 등을 할 수도 있고(도 3 참조), 상기 가상의 타자(VB)가 다른 사용자의 볼 피칭장치로부터 발사되는 볼에 대한 타격, 헛스윙, 볼거르기 등에 따라 이와 동일하게 액션을 하도록 할 수도 있다(도 4 참조).
한편, 가상의 타자(VB)가 가상의 볼(Bv)을 타격하지 않고 헛스윙도 하지 않은 경우에는, 제어장치는 가상의 볼(Bv)이 스트라이크인지 볼인지 여부를 판단한다.
즉, 도 8의 (a)에 도시된 바와 같이 스트라이크 존(SZ)의 위치 및 크기를 미리 설정해 놓고 가상의 볼(Bv)이 상기 미리 설정된 스트라이크 존(SZ) 내부를 통과하는지 여부를 판단하여, 가상의 볼(Bv)이 상기 스트라이크 존(SZ)을 통과하면 스트라이크로 판단하여 볼 카운트에 반영하고 스트라이크 존(SZ) 밖으로 통과하면 볼로 판단하여 볼 카운트에 반영한다.
상기 스트라이크 존(SZ)은 사용자에게 보이도록 영상 상에 표시할 수도 있고 보이지 않도록 숨길 수도 있다.
한편, 도 5 및 도 8에서는 영상 상에서 스크린 도달 위치에서부터 가상의 볼이 궤적을 따라 진행하는 시뮬레이션 영상이 구현되는 경우에 대해 나타내고 있는데, 도 9에 도시된 바와 같이 스크린 도달 위치를 볼의 최종 도달 위치, 즉 가상의 포수의 글러브에 캐치되는 위치로 하여 영상이 구현되는 것도 가능하다.
도 9에 도시된 바와 같이, 스크린 도달 위치(50)에서 가상의 포수(VC)가 가상의 볼(Bv)을 캐치하거나, 가상의 타자(VB)가 타격을 할 수 있다.
스트라이크 존(SZ)에 관한 사항은 도 8의 (a)에 도시된 바와 동일하므로 이에 대한 설명은 생략하도록 한다.
본 발명의 일 실시예에 따른 야구 연습 장치는, 사용자에 의해 피칭된 볼에 대한 영상 상에서의 처리에 대해 도 8의 (a)에 도시된 바와 같이 스크린 도달 위치에서부터 가상의 볼이 시뮬레이션 영상 구현되는 방식('방식 I'이라 함)으로 처리할 수도 있고, 도 9에 도시된 바와 같이 가상의 볼이 진행하는 것 없이 스크린 도달 위치에서 볼이 캐치되거나 타격되는 것으로 영상 구현되는 방식('방식 II'라 함)으로 처리할 수도 있다.
즉, 본 발명의 일 실시예에 따른 야구 연습 장치는 상기한 '방식 I'과 '방식 II'를 최초 야구 게임을 시작하기 전에 설정을 통해 선택하여 진행하도록 할 수 있어, 사용자 각자의 취향에 맞는 맞춤형 플레이가 가능하도록 할 수 있다.
이상 설명한 바와 같이, 본 발명에 따른 야구 연습 장치 및 이에 이용되는 센싱장치는, 사용자의 야구 연습 또는 야구 게임을 위한 야구 연습 장치에 있어서 사용자에 의해 피칭된 볼의 운동에 대한 이미지를 취득하여 그 취득된 이미지를 분석함으로써 볼이 어떤 운동을 하는지에 대한 정확하고 빠른 운동 모델을 산출해 내어 이를 기초로 야구 연습 또는 야구 게임의 진행에 필요한 여러 가지 다양한 정보를 상당히 정확하고 빠르게 산출할 수 있는 특장점이 있다.
20: 스크린, 30: 마운드
200: 센싱장치, 210: 카메라 유닛
220: 센싱처리유닛, 300: 제어장치
310: 제어부, 320: 데이터저장부
330: 영상처리부, 420: 영상출력부

Claims (19)

  1. 스크린에 투영되는 가상 야구 영상을 기반으로 사용자가 마운드에서 상기 스크린을 향하여 볼을 피칭하는 방식으로 야구 연습 또는 야구 게임을 할 수 있도록 하는 야구 연습 장치에 이용되는 센싱장치로서,
    사용자에 의해 피칭되어 운동하는 볼에 대한 이미지를 촬영하는 카메라 유닛; 및
    상기 사용자가 플레이하는 3차원 공간의 좌표계와 각 좌표축 방향에서의 볼의 운동에 대한 함수를 미리 정의하며, 상기 카메라 유닛에 의해 촬영되어 수집되는 이미지를 분석하여 운동하는 볼에 대한 각 이미지 상에서의 3차원 공간상의 좌표 데이터를 검출하고, 상기 검출된 볼의 좌표 데이터를 상기 각 좌표축 방향에 대해 미리 정의된 함수에 적용함으로써 상기 사용자에 의해 피칭되어 운동하는 볼에 대한 볼 운동 모델을 산출하며, 상기 산출된 볼 운동 모델을 이용하여 상기 사용자의 피칭에 따른 가상 야구 영상의 구현을 위한 센싱 정보를 산출하는 센싱처리유닛을 포함하며,
    상기 센싱처리유닛은,
    상기 수집되는 이미지에 대한 분석을 통해 각 이미지 상에서 볼후보들을 추출하고, 상기 추출된 볼후보들에 대해 임의의 볼 운동 모델을 수립하여 볼이 아닌 것을 제거함으로써 상기 사용자에 의해 피칭되어 운동하는 볼에 대한 좌표 데이터를 검출하도록 구성되는 것을 특징으로 하는 센싱장치.
  2. 스크린에 투영되는 가상 야구 영상을 기반으로 사용자가 마운드에서 상기 스크린을 향하여 볼을 피칭하는 방식으로 야구 연습 또는 야구 게임을 할 수 있도록 하는 야구 연습 장치에 이용되는 센싱장치로서,
    사용자에 의해 피칭되어 운동하는 볼에 대한 이미지를 촬영하는 카메라 유닛; 및
    상기 사용자가 플레이하는 3차원 공간의 좌표계와 각 좌표축 방향에서의 볼의 운동에 대한 함수를 미리 정의하며, 상기 카메라 유닛에 의해 촬영되어 수집되는 이미지를 분석하여 운동하는 볼에 대한 각 이미지 상에서의 3차원 공간상의 좌표 데이터를 검출하고, 상기 검출된 볼의 좌표 데이터를 상기 각 좌표축 방향에 대해 미리 정의된 함수에 적용함으로써 상기 사용자에 의해 피칭되어 운동하는 볼에 대한 볼 운동 모델을 산출하며, 상기 산출된 볼 운동 모델을 이용하여 상기 사용자의 피칭에 따른 가상 야구 영상의 구현을 위한 센싱 정보를 산출하는 센싱처리유닛을 포함하며,
    상기 센싱처리유닛은,
    상기 이미지 분석을 통해 볼 후보들을 추출하고, 상기 운동하는 볼이 벽 또는 천장에 충돌하는 경우 충돌한 이후의 볼에 대해 검출되는 볼 후보를 제거함으로써 상기 볼의 좌표 데이터를 검출하도록 구성되는 것을 특징으로 하는 센싱장치.
  3. 삭제
  4. 삭제
  5. 스크린에 투영되는 가상 야구 영상을 기반으로 사용자가 마운드에서 상기 스크린을 향하여 볼을 피칭하는 방식으로 야구 연습 또는 야구 게임을 할 수 있도록 하는 야구 연습 장치에 이용되는 센싱장치의 센싱방법으로서,
    상기 사용자에 의해 피칭되어 운동하는 볼에 대한 이미지를 촬영하는 단계;
    상기 촬영되어 수집되는 이미지를 분석하여 운동하는 볼에 대한 각 이미지 상에서의 3차원 공간상의 좌표 데이터를 검출하는 단계;
    상기 사용자가 플레이하는 3차원 공간상의 미리 정의된 각 좌표축 방향에서의 볼 운동에 대해 미리 정의된 함수에 상기 검출된 볼의 좌표 데이터를 적용함으로써 상기 사용자에 의해 피칭되어 운동하는 볼에 대한 볼 운동 모델을 산출하는 단계; 및
    상기 산출된 볼 운동 모델을 이용하여 상기 사용자의 피칭에 따른 가상 야구 영상의 구현을 위한 센싱 정보를 산출하는 단계를 포함하며,
    상기 좌표 데이터를 검출하는 단계는,
    상기 이미지 분석을 통해 각 이미지 상에서 볼후보들을 추출하는 단계와,
    상기 추출된 볼후보들에 대해 임의의 볼 운동 모델을 수립하여 볼이 아닌 것을 제거함으로써 상기 사용자에 의해 피칭되어 운동하는 볼에 대한 좌표 데이터를 검출하는 단계를 포함하는 것을 특징으로 하는 센싱장치의 센싱방법.
  6. 제5항에 있어서, 상기 볼후보들을 추출하는 단계는,
    상기 수집된 각 이미지에 대해 미리 저장된 레퍼런스 이미지와의 차영상을 생성하는 단계와,
    상기 차영상에 대해 영상상의 픽셀들에 대한 밝기값의 미리 설정된 문턱값을 기준으로 이진화 처리하는 단계와,
    상기 이진화 처리된 이미지 상의 객체에 대해 윤곽을 추출하는 단계와,
    상기 추출된 윤곽에 대해 가로세로비, 크기 및 밝기 중 적어도 하나에 대해 미리 설정된 조건에 따라 상기 미리 설정된 조건에 맞는 윤곽에 해당하는 객체를 상기 볼후보로서 추출하는 단계를 포함하는 것을 특징으로 하는 센싱장치의 센싱방법.
  7. 제5항에 있어서, 상기 볼에 대한 좌표 데이터를 검출하는 단계는,
    상기 사용자가 볼을 피칭하는 순간의 시간값인 초기시간값을 검출하는 단계와,
    상기 볼후보들 각각의 좌표 데이터 중에서 미리 설정된 개수의 데이터를 임의로 선택하여 상기 각 좌표축 방향에서의 미리 정의된 함수를 이용하여 임의의 운동 모델을 수립하는 단계와,
    상기 수립된 임의의 운동 모델에 상기 초기시간값을 적용하여 볼의 초기좌표값을 산출하는 단계와,
    상기 산출된 볼의 초기좌표값이 미리 설정된 범위를 벗어나는 경우 해당 운동 모델에 포함되는 볼후보의 좌표 데이터를 제거하는 단계를 포함하는 것을 특징으로 하는 센싱장치의 센싱방법.
  8. 제5항에 있어서, 상기 센싱 정보를 산출하는 단계는,
    상기 스크린의 좌표 정보를 상기 산출된 볼 운동 모델에 적용하여 상기 운동하는 볼이 상기 스크린에 도달하는 시간인 스크린 도달 시간을 산출하는 단계와,
    상기 스크린 도달 시간을 상기 볼 운동 모델에 적용하여 상기 운동하는 볼이 상기 스크린에 도달하는 위치인 스크린 도달 위치를 산출하는 단계를 포함하는 것을 특징으로 하는 센싱장치의 센싱방법.
  9. 삭제
  10. 삭제
  11. 스크린에 투영되는 가상 야구 영상을 기반으로 사용자가 마운드에서 상기 스크린을 향하여 볼을 피칭하는 방식으로 야구 연습 또는 야구 게임을 할 수 있도록 하는 야구 연습 장치의 제어방법으로서,
    상기 야구 연습 또는 야구 게임을 위한 영상을 구현하는 제어장치에 의해 가상의 타자 및 가상의 포수를 포함하는 야구 연습 또는 야구 게임에 관한 영상을 구현하는 단계;
    센싱장치가 상기 사용자에 의해 피칭되어 운동하는 볼에 대한 이미지를 촬영하여 수집하고, 그 수집되는 이미지를 분석하여 운동하는 볼에 대한 3차원 공간상의 좌표 데이터를 검출하며, 그 검출된 좌표 데이터를 이용하여 운동하는 볼에 대한 볼 운동 모델을 산출하는 단계; 및
    제어장치가 상기 산출된 볼 운동 모델에 따른 가상의 볼에 대해 상기 가상의 타자가 상기 가상의 볼에 대한 타격, 헛스윙 및 볼거르기 중 어느 하나에 대한액션을 하도록 영상 구현하는 단계를 포함하고,
    상기 볼 운동 모델을 산출하는 단계는,
    상기 수집되는 이미지의 분석을 통해 각 이미지 상에서 볼후보들을 추출하는 단계와,
    상기 사용자가 볼을 피칭하는 순간의 시간값인 초기시간값을 검출하는 단계와,
    상기 볼후보들 각각의 좌표 데이터 중에서 미리 설정된 개수의 데이터를 임의로 선택하여 3차원 공간상의 미리 정의된 각 좌표축 방향에서의 볼 운동에 대해 미리 정의된 함수를 이용하여 임의의 운동 모델을 수립하는 단계와,
    상기 수립된 임의의 운동 모델에 상기 초기시간값을 적용하여 볼의 초기좌표값을 산출하는 단계와,
    상기 산출된 볼의 초기좌표값이 미리 설정된 범위를 벗어나는 경우 해당 운동 모델에 포함되는 볼후보의 좌표 데이터를 제거하는 단계를 포함하는 것을 특징으로 하는 야구 연습 장치의 제어방법.
  12. 제11항에 있어서, 상기 영상 구현하는 단계는,
    상기 센싱장치가 상기 산출된 볼 운동 모델을 이용하여 상기 사용자의 피칭에 따른 가상 야구 영상의 구현을 위한 센싱 정보를 산출하여 상기 제어장치로 전송하는 단계와,
    상기 제어장치가 상기 센싱 정보에 기초한 가상의 볼에 대해 상기 가상의 타자가 상기 가상의 볼에 대한 타격, 헛스윙 및 볼거르기 중 어느 하나에 대한 액션을 하도록 영상 구현하는 단계를 포함하는 것을 특징으로 하는 야구 연습 장치의 제어방법.
  13. 제11항에 있어서, 상기 영상 구현하는 단계는,
    상기 센싱장치가 상기 스크린의 좌표 정보를 상기 산출된 볼 운동 모델에 적용하여 상기 운동하는 볼이 상기 스크린에 도달하는 시간인 스크린 도달 시간을 산출하는 단계와,
    상기 센싱장치가 상기 스크린 도달 시간을 상기 볼 운동 모델에 적용하여 상기 운동하는 볼이 상기 스크린에 도달하는 위치인 스크린 도달 위치를 산출하는 단계와,
    상기 산출된 스크린 도달 시간 및 스크린 도달 위치 정보를 상기 제어장치로 전송하는 단계와,
    상기 제어장치가 상기 전송받은 정보에 기초한 가상의 볼에 대해 상기 가상의 타자가 상기 가상의 볼에 대한 타격, 헛스윙 및 볼거르기 중 어느 하나에 대한 액션을 하도록 영상 구현하는 단계를 포함하는 것을 특징으로 하는 야구 연습 장치의 제어방법.
  14. 제13항에 있어서, 상기 영상 구현하는 단계는,
    상기 제어장치가, 상기 사용자에 의해 피칭된 볼에 대해 상기 가상의 볼이 상기 볼 운동 모델에 기초하여 상기 스크린 도달 위치에서부터 연속하여 진행하도록 시뮬레이션 영상을 구현하는 단계를 포함하는 것을 특징으로 하는 야구 연습 장치의 제어방법.
  15. 제14항에 있어서, 상기 영상 구현하는 단계는,
    상기 시뮬레이션 영상이 진행되면서 상기 가상의 볼이 상기 스크린 도달 위치에서부터 연속하여 진행하다가 상기 가상의 포수가 상기 가상의 볼을 캐치하거나 상기 가상의 타자가 상기 가상의 볼을 타격하는 영상을 구현하는 단계를 더 포함하는 것을 특징으로 하는 야구 연습 장치의 제어방법.
  16. 제13항에 있어서, 상기 영상 구현하는 단계는,
    상기 제어장치가, 상기 스크린 도달 위치를 상기 사용자에 의해 피칭된 볼이 도달하는 위치로 하여 상기 스크린 도달 위치에서 상기 가상의 포수가 상기 가상의 볼을 캐치하거나 상기 가상의 타자가 상기 가상의 볼을 타격하는 영상을 구현하는 단계를 포함하는 것을 특징으로 하는 야구 연습 장치의 제어방법.
  17. 스크린에 투영되는 가상 야구 영상을 기반으로 사용자가 마운드에서 상기 스크린을 향하여 볼을 피칭하는 방식으로 야구 연습 또는 야구 게임을 할 수 있도록 하는 야구 연습 장치의 제어방법으로서,
    상기 야구 연습 또는 야구 게임을 위한 영상을 구현하는 제어장치에 의해 가상의 타자 및 가상의 포수를 포함하는 야구 연습 또는 야구 게임에 관한 영상을 구현하는 단계;
    센싱장치가 상기 사용자에 의해 피칭되어 운동하는 볼에 대한 이미지를 촬영하여 수집하고, 그 수집되는 이미지를 분석하여 운동하는 볼에 대한 3차원 공간상의 좌표 데이터를 검출하며, 그 검출된 좌표 데이터를 이용하여 운동하는 볼에 대한 볼 운동 모델을 산출하는 단계; 및
    제어장치가 상기 산출된 볼 운동 모델에 따른 가상의 볼에 대해 상기 가상의 타자가 상기 가상의 볼에 대한 타격, 헛스윙 및 볼거르기 중 어느 하나에 대한액션을 하도록 영상 구현하는 단계를 포함하고,
    상기 야구 연습 장치는 다른 사용자가 볼 피칭장치로부터 발사되는 볼을 타격하는 방식의 다른 야구 연습 장치와 함께 네트워크로 서버에 연결되도록 구성되어, 상기 서버에 의해 양 야구 연습 장치 사이에 데이터를 서로 주고 받을 수 있도록 하며,
    상기 가상의 타자가 상기 가상의 볼에 대한 타격, 헛스윙 및 볼거르기 중 어느 하나에 대한 액션을 하도록 영상 구현하는 단계는,
    상기 야구 연습 장치에서 상기 사용자가 피칭한 볼에 대한 상기 센싱장치의 센싱 정보가 상기 서버를 통해 상기 다른 야구 연습 장치로 전송되는 단계와,
    상기 다른 야구 연습 장치의 볼 피칭장치가 상기 서버를 통해 전송받은 센싱 정보에 기초하여 볼을 발사하고, 상기 다른 사용자가 상기 발사된 볼을 타격한 것에 대한 센싱 정보가 상기 서버를 통해 상기 야구 연습 장치의 상기 제어장치로 전송되는 단계와,
    상기 제어장치가 상기 서버로부터 전송받은 볼 타격에 따른 센싱 정보에 기초하여 상기 가상의 타자가 상기 가상의 볼에 대한 타격, 헛스윙 및 볼거르기 중 어느 하나에 대한 액션을 하도록 영상 구현하는 단계를 포함하는 것을 특징으로 하는 야구 연습 장치의 제어방법.
  18. 스크린에 투영되는 가상 야구 영상을 기반으로 사용자가 마운드에서 상기 스크린을 향하여 볼을 피칭하는 방식으로 야구 연습 또는 야구 게임을 할 수 있도록 하는 야구 연습 장치의 제어방법으로서,
    상기 야구 연습 또는 야구 게임을 위한 영상을 구현하는 제어장치에 의해 가상의 타자 및 가상의 포수를 포함하는 야구 연습 또는 야구 게임에 관한 영상을 구현하는 단계;
    센싱장치가 상기 사용자에 의해 피칭되어 운동하는 볼에 대한 이미지를 촬영하여 수집하고, 그 수집되는 이미지를 분석하여 운동하는 볼에 대한 3차원 공간상의 좌표 데이터를 검출하며, 그 검출된 좌표 데이터를 이용하여 운동하는 볼에 대한 볼 운동 모델을 산출하는 단계; 및
    제어장치가 상기 산출된 볼 운동 모델에 따른 가상의 볼에 대해 상기 가상의 타자가 상기 가상의 볼에 대한 타격, 헛스윙 및 볼거르기 중 어느 하나에 대한액션을 하도록 영상 구현하는 단계를 포함하고,
    상기 야구 연습 장치는 상기 사용자가 상기 가상의 선수와 야구 연습 또는 야구 게임을 진행할 때 다른 사용자가 상기 가상의 선수의 플레이를 조작할 수 있도록 하는 단말기와 유무선 통신 가능하도록 연결되어 구성되며,
    상기 가상의 타자가 상기 가상의 볼에 대한 타격, 헛스윙 및 볼거르기 중 어느 하나에 대한 액션을 하도록 영상 구현하는 단계는,
    상기 다른 사용자가 상기 단말기를 조작하여 상기 사용자가 피칭한 볼에 대한 시뮬레이션 영상 상의 가상의 볼을 상기 가상의 타자가 타격하도록 하는 단계를 포함하는 것을 특징으로 하는 야구 연습 장치의 제어방법.
  19. 삭제
KR1020160014212A 2016-02-04 2016-02-04 야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법 KR101912126B1 (ko)

Priority Applications (3)

Application Number Priority Date Filing Date Title
KR1020160014212A KR101912126B1 (ko) 2016-02-04 2016-02-04 야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법
PCT/KR2017/001107 WO2017135690A1 (ko) 2016-02-04 2017-02-02 야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법
TW106103783A TWI633521B (zh) 2016-02-04 2017-02-06 在棒球練習裝置中使用的感測裝置及感測方法、利用該感測裝置及感測方法的棒球練習裝置及其控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160014212A KR101912126B1 (ko) 2016-02-04 2016-02-04 야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법

Publications (2)

Publication Number Publication Date
KR20170092929A KR20170092929A (ko) 2017-08-14
KR101912126B1 true KR101912126B1 (ko) 2018-10-29

Family

ID=59500442

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160014212A KR101912126B1 (ko) 2016-02-04 2016-02-04 야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법

Country Status (3)

Country Link
KR (1) KR101912126B1 (ko)
TW (1) TWI633521B (ko)
WO (1) WO2017135690A1 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102018460B1 (ko) * 2018-07-25 2019-09-04 주식회사 알파피치 훈련용 피칭머신 및 그 제어장치와 이를 이용하는 피칭 훈련 서비스 제공 방법
KR102106719B1 (ko) * 2018-12-26 2020-05-06 주식회사 에스지엠 인터페이스용 홀로그램을 제공하는 가상 스포츠 시뮬레이션 장치
CN111672089B (zh) * 2020-06-22 2021-09-07 良匠实业(海南)有限公司 一种针对多人对抗类项目的电子计分系统及实现方法
TWI776440B (zh) * 2021-03-25 2022-09-01 靜宜大學 一種課程導引模組及具該模組的課程導引系統

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101081161B1 (ko) * 2010-05-17 2011-11-07 태 원 이 야구게임 장치
KR101170147B1 (ko) * 2010-08-17 2012-07-31 박성우 가상 현실 스크린 야구 시스템
KR101494204B1 (ko) * 2014-05-15 2015-02-17 주식회사 트래킹 아이 스크린 야구 게임 시스템 및 그 시스템의 타자 모드, 투수 모드, 포수 모드, 야수 모드 구현 방법
US20150260512A1 (en) * 2014-03-12 2015-09-17 Greiner Agencies, Inc. Baseball pitch quality determination method and apparatus

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3892467B2 (ja) * 2005-05-25 2007-03-14 株式会社コナミデジタルエンタテインメント ゲーム装置、ゲームシステム、ゲーム進行制御方法及びゲーム進行制御プログラム
JP5076217B2 (ja) * 2007-12-27 2012-11-21 有限会社ラルゴ 野球のピッチングシステム
TW201001338A (en) * 2008-06-16 2010-01-01 Huper Lab Co Ltd Method of detecting moving objects
TWI423114B (zh) * 2011-02-25 2014-01-11 Liao Li Shih 互動式裝置及其運作方法
KR101048089B1 (ko) * 2011-03-22 2011-07-08 (주) 골프존 가상 골프 시뮬레이션 장치와, 이에 이용되는 센싱장치 및 센싱방법
KR101394753B1 (ko) * 2012-12-28 2014-05-15 고선필 실내 스크린 야구 연습 시스템 및 그 구현 방법

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101081161B1 (ko) * 2010-05-17 2011-11-07 태 원 이 야구게임 장치
KR101170147B1 (ko) * 2010-08-17 2012-07-31 박성우 가상 현실 스크린 야구 시스템
US20150260512A1 (en) * 2014-03-12 2015-09-17 Greiner Agencies, Inc. Baseball pitch quality determination method and apparatus
KR101494204B1 (ko) * 2014-05-15 2015-02-17 주식회사 트래킹 아이 스크린 야구 게임 시스템 및 그 시스템의 타자 모드, 투수 모드, 포수 모드, 야수 모드 구현 방법

Also Published As

Publication number Publication date
TWI633521B (zh) 2018-08-21
WO2017135690A1 (ko) 2017-08-10
KR20170092929A (ko) 2017-08-14
TW201729163A (zh) 2017-08-16

Similar Documents

Publication Publication Date Title
CN108697922B (zh) 用于棒球练习装置的传感装置及传感方法、利用其的棒球练习装置及其控制方法
KR101048090B1 (ko) 가상 골프 시뮬레이션 장치와, 이에 이용되는 센싱장치 및 센싱방법
JP5960240B2 (ja) 仮想ゴルフシミュレーション装置に用いられるセンシング装置及びセンシング方法
JP6981719B2 (ja) 仮想テニスシミュレーションシステム、これに用いるセンシング装置及びセンシング方法
TWI448318B (zh) 虛擬高爾夫模擬裝置及其使用之感測裝置與感測方法
KR101912126B1 (ko) 야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법
EP4022569A1 (en) Tracking dynamics using a computerized device
JP5811263B2 (ja) 仮想ゴルフシミュレーション装置及びその方法と、それに用いられるセンシング装置及びセンシング方法
KR20170085460A (ko) 야구 연습 장치에 이용되는 센싱장치 및 센싱방법과, 이를 이용한 야구 연습 장치 및 이의 제어방법
US11229824B2 (en) Determining golf club head location in an image using line detection and contour separation
KR101078954B1 (ko) 가상 골프 시뮬레이션 장치와, 이에 이용되는 센싱장치 및 센싱방법
KR101865579B1 (ko) 체험형 가상 야구 게임 장치 및 이에 의한 가상 야구 게임 제어방법
KR102439549B1 (ko) 골프스윙에 대한 센싱장치 및 이를 이용한 클럽헤드의 임팩트 위치 센싱방법
CN117716388A (zh) 用于感测移动的球的影像分析方法及利用其的传感装置

Legal Events

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