KR20210014409A - 골프클럽 센싱방법 및 이를 이용한 센싱장치 - Google Patents

골프클럽 센싱방법 및 이를 이용한 센싱장치 Download PDF

Info

Publication number
KR20210014409A
KR20210014409A KR1020190092460A KR20190092460A KR20210014409A KR 20210014409 A KR20210014409 A KR 20210014409A KR 1020190092460 A KR1020190092460 A KR 1020190092460A KR 20190092460 A KR20190092460 A KR 20190092460A KR 20210014409 A KR20210014409 A KR 20210014409A
Authority
KR
South Korea
Prior art keywords
golf club
shadow
club
image
information
Prior art date
Application number
KR1020190092460A
Other languages
English (en)
Inventor
박현진
Original Assignee
주식회사 골프존
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 주식회사 골프존 filed Critical 주식회사 골프존
Priority to KR1020190092460A priority Critical patent/KR20210014409A/ko
Priority to CN202080055396.3A priority patent/CN114175098A/zh
Priority to CA3149314A priority patent/CA3149314C/en
Priority to PCT/KR2020/009760 priority patent/WO2021020813A1/ko
Priority to US17/630,941 priority patent/US20220273998A1/en
Publication of KR20210014409A publication Critical patent/KR20210014409A/ko
Priority to KR1020210082092A priority patent/KR102563102B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B60/00Details or accessories of golf clubs, bats, rackets or the like
    • A63B60/46Measurement devices associated with golf clubs, bats, rackets or the like for measuring physical parameters relating to sporting activity, e.g. baseball bats with impact indicators or bracelets for measuring the golf swing
    • 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/36Training appliances or apparatus for special sports for golf
    • 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/36Training appliances or apparatus for special sports for golf
    • A63B69/3623Training appliances or apparatus for special sports for golf for driving
    • A63B69/3632Clubs or attachments on clubs, e.g. for measuring, aligning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/0093
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/18Image warping, e.g. rearranging pixels individually
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/11Region-based segmentation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/60Analysis of geometric attributes
    • G06T7/66Analysis of geometric attributes of image moments or centre of gravity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/10Image acquisition
    • G06V10/12Details of acquisition arrangements; Constructional details thereof
    • G06V10/14Optical characteristics of the device performing the acquisition or on the illumination arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/46Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/60Extraction of image or video features relating to illumination properties, e.g. using a reflectance or lighting model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/60Type of objects
    • G06V20/64Three-dimensional objects
    • G06V20/647Three-dimensional objects by matching two-dimensional images to three-dimensional objects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2102/00Application of clubs, bats, rackets or the like to the sporting activity ; particular sports involving the use of balls and clubs, bats, rackets, or the like
    • A63B2102/32Golf
    • 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/807Photo cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30172Centreline of tubular or elongated structure
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30221Sports video; Sports image

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Physical Education & Sports Medicine (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Image Analysis (AREA)
  • Golf Clubs (AREA)

Abstract

본 발명은 상기한 바와 같은 종래의 기술의 문제점을 해결하기 위한 것으로서, 영상 상에서 골프클럽을 검출해 내는 새로운 방법으로서 영상 상에서 골프클럽을 직접적으로 검출하는 것이 아니라 조명에 의해 바닥에 형성되는 골프클럽의 그림자를 분석함으로써 골프스윙 시 골프클럽의 형상을 정확하게 검출하여 골프클럽의 휘어짐 등과 같은 거동 특성을 정확하게 분석할 수 있도록 하는 골프클럽의 검출 방법 및 이를 이용한 센싱장치를 제공하기 위한 것이다.

Description

골프클럽의 검출 방법 및 이를 이용한 센싱장치{DETECTING METHOD OF GOLF CLUB AND SENSING DEVICE USING THE SAME}
본 발명은 골프스윙 시의 골프클럽의 거동을 센싱하는 센싱장치와 그 센싱장치에 의한 골프클럽의 검출 방법에 관한 기술이다.
최근 야구, 축구, 농구, 그리고 골프 등과 같은 인기 스포츠 경기를 실내나 특정 장소에서 시뮬레이션을 통해 인터액티브 스포츠 시뮬레이션 (Interactive Sports Simulation )의 형태로 즐길 수 있도록 하는 여러 가지 다양한 시뮬레이터 및 이를 위한 장치들에 대한 개발이 활발하게 이루어지고 있다.
특히 최근에는 이른바 스크린 골프 시스템이 등장하여 사용자가 골프 클럽을 들고 골프 스윙을 함에 따라 타격 매트에 놓인 볼을 타격하면 센싱장치가 이를 센싱하여 이동하는 골프공의 물리적 특성을 추출하고 이를 바탕으로 가상의 골프코스에서 볼의 궤적이 시뮬레이션 되도록 함으로써 사용자가 가상 현실상에서 실제 골프를 즐길 수 있도록 하는 기술이 개발되고 있다.
이와 같은 인터액티브 스포츠 시뮬레이터를 통해 골프공 등의 볼을 이용하는 스포츠에 대한 시뮬레이션이 이루어지도록 하기 위해 운동하는 볼의 움직임에 대한 물리적 정보를 정확하게 센싱하기 위한 각종 센싱시스템에 대한 연구 개발이 매우 활발하게 진행되고 있는 실정이다.
예컨대 적외선 센서를 이용한 센싱장치, 레이저 센서를 이용한 센싱장치, 음향 센서를 이용한 센싱장치, 그리고 카메라 센서를 이용한 센싱장치 등 다양한 센싱 방식이 등장하고 있으며, 운동하는 볼의 상태를 정확하게 센싱하기 위하여 운동하는 볼에 대한 이미지를 취득하여 분석하는 카메라 센서 방식의 센싱장치에 대한 연구가 활발하게 이루어지고 있다.
그러나, 카메라에 의해 취득되는 이미지를 통해 볼의 위치와 골프클럽의 위치를 각각 특정하여야 하는데, 볼의 위치를 특정하는 방법과는 달리 골프클럽의 경우 그 크기, 형상, 모양, 색상, 재질 등이 상당히 다양하기 때문에 이미지에서 골프클럽을 온전하게 추출하여 인식하는 것이 매우 어렵다.
이러한 문제를 해결하기 위하여 골프클럽의 샤프트 및 헤드 등에 특정 마커를 부착하고 이미지에서 그 특정 마커를 찾아 골프클럽의 위치를 특정하는 방법에 대한 기술이 등장하였으나, 사용자가 골프 연습이나 가상의 골프 경기를 할 때 반드시 특정 마커를 부착한 특정 골프클럽을 사용하여야 한다는 치명적인 문제점이 있고, 특정 마커를 부착한다고 하더라도 골프 스윙에 따라 이미지 상에서 해당 마커가 온전히 나타나지 않거나 가려지게 되는 경우가 있기 때문에 정확한 골프클럽의 정확한 위치의 특정이 어렵게 되는 문제점이 있었다.
이러한 문제점을 해결하기 위하여, 특허출원 제10-2011-0025149호, 특허출원 제10-2016-0064881호 및 특허출원 제10-2016-0156308호 등의 선행기술문헌에서 개시하고 있는 골프클럽의 검출에 관한 기술이 개발되었다.
상기한 선행기술문헌들이 개시하고 있는 골프클럽의 검출에 관한 기술은 사용자가 골프스윙을 할 때 그에 대해 취득한 영상 상에서 골프클럽을 추출해 내는 것이 어렵기 때문에 영상 상에서, 예컨대 허프변환(Hough Transform) 등의 기법을 이용하여 직선 성분을 검출함으로써 그 검출된 직선 성분을 골프클럽의 클럽샤프트로 간주하여 골프스윙 시의 골프클럽의 거동에 대한 정보를 분석하였었다.
즉, 도 1의 (a)에 나타낸 바와 같이 사용자가 골프스윙 시, 예컨대 임팩트 순간의 골프클럽에 관하여 도면번호 10으로 지칭한 바와 같은 직선을 검출하여 그 검출된 직선을 골프클럽의 클럽샤프트로 보고 골프스윙에 대한 분석을 하였었다.
상기한 바와 같은 허프변환에 의하여 영상 상에서의 직선 성분을 검출한 결과를 도 2에서 나타내고 있다.
도 2에서는 스윙의 단계에 따라 영상 상에서 검출된 직선 성분을 하나의 이미지로 나타내고 있는데, 도 2에 나타낸 L1 ~ L5는 다운스윙부터 임팩트 시점 이후까지의 골프클럽의 클럽 샤프트를 근사시킨 클럽근사직선을 나타내고 있다.
이러한 클럽근사직선(L1 ~ L5)은 골프클럽의 클럽샤프트를 직선으로 근사시킨 결과이고 실제의 스윙 시의 클럽샤프트의 휘어짐 등은 전혀 고려되지 않은 것이다.
그러나, 도 1의 (b)에 나타낸 바와 같이, 골프스윙 시 골프클럽(11)은 실제로 클럽샤프트의 재질에 따라 크게 또는 작게 휘어짐이 발생하면서 임팩트에 이르게 된다. 또 다른 예로서 도 1의 (c)에서 보면 임팩트직 후 골프클럽(12)이 상당히 휘어지게 되는 것을 볼 수 있다.
이와 같이 골프스윙 시 골프클럽의 휘어짐이 발생하게 되면 휘어짐을 고려할 때와 고려하지 않을 때의 골프클럽 및 볼의 센싱 결과에 상당한 영향을 미치게 된다.
이에 대해 도 3을 참조하면, 도 3의 (a) 내지 (c)에 도시한 바와 같이, 골프스윙 시 골프클럽의 클럽샤프트가 휘어지는 정도에 따라 타격된 볼의 타구에 큰 영향을 미치게 됨을 알 수 있다.
즉, 도 3의 (a)에 도시된 바와 같은 스팁샤프트(Stiff Shaft)의 골프클럽(GC1)과, (b)에 도시된 바와 같은 미디움샤프트(Medium Shaft)의 골프클럽(GC2), 그리고 (c)에 도시된 바와 같은 플렉서블샤프트(Flexible Shaft)의 골프클럽(GC3)은 골프스윙 시, 특히 임팩트 시 각각의 클럽헤드(ch1, ch2, ch3)가 볼(b1, b2, b3)을 타격할 때의 다이나믹 라이 각도, 다이나믹 로프트 각도 등 여러 가지 중요한 파라미터들이 클럽샤프트의 휘어짐의 정도에 따라 크게 영향을 받고 타구의 결과도 크게 차이를 나타내게 된다.
종래에는 상기한 바와 같이 골프스윙 시의 골프클럽을 검출하는 것이 한계가 있기 때문에 골프클럽에 대해 클럽근사직선을 검출하여 그것을 기반으로 골프클럽의 거동을 분석하였으나, 실제의 골프스윙 시의 골프클럽의 거동은 도 3에 도시된 바와 같이 클럽샤프트의 재질에 따라 크게 또는 작게 휘어짐이 발생하기 때문에 클럽근사직선을 이용한 골프클럽의 거동 특성이 실제와 차이가 발생할 수밖에 없는 문제점이 있었다.
[선행기술문헌]
특허출원 제10-2011-0025149호
특허출원 제10-2016-0064881호
특허출원 제10-2016-0156308호
본 발명은 상기한 바와 같은 종래의 기술의 문제점을 해결하기 위한 것으로서, 영상 상에서 골프클럽을 검출해 내는 새로운 방법으로서 영상 상에서 골프클럽을 직접적으로 검출하는 것이 아니라 조명에 의해 바닥에 형성되는 골프클럽의 그림자를 분석함으로써 골프스윙 시 골프클럽의 형상을 정확하게 검출하여 골프클럽의 휘어짐 등과 같은 거동 특성을 정확하게 분석할 수 있도록 하는 골프클럽의 검출 방법 및 이를 이용한 센싱장치를 제공하기 위한 것이다.
본 발명의 일 실시예에 따른 골프클럽의 검출방법은, 골프 스윙하는 사용자가 들고 있는 골프클럽을 포함하는 화각으로 영상을 취득하는 단계; 상기 영상으로부터 바닥에 형성되는 상기 골프클럽의 그림자 영역에 대한 정보를 산출하는 단계; 및 상기 그림자 영역에 대한 정보의 분석을 통해 상기 골프클럽을 검출하는 단계를 포함한다.
또한 바람직하게는, 상기 그림자 영역에 대한 정보를 산출하는 단계는, 상기 영상 상의 화소들을 조사하여 상기 그림자 영역에 해당하는 유효화소들을 검출하고 상기 유효화소들을 이용하여 상기 골프클럽의 그림자 영역에 대한 정보를 산출하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 그림자 영역에 대한 정보를 산출하는 단계는, 카메라, 조명, 바닥면의 구조적 관계로부터 조명벡터를 산출하는 단계와, 상기 산출된 조명벡터를 이용하여 상기 그림자의 윤곽에 대한 모델을 산출하는 단계와, 상기 그림자의 윤곽에 대한 모델에 기초하여 상기 영상 상의 화소들을 조사하여 상기 골프클럽의 그림자 영역에 대한 정보를 산출하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 그림자 영역에 대한 정보를 산출하는 단계는, 상기 영상을 분석함으로써 상기 골프클럽의 클럽 샤프트를 근사시킨 클럽근사직선을 검출하는 단계와, 상기 검출된 클럽근사직선을 바닥에 투영시킨 직선 성분을 기준으로 상기 골프클럽의 그림자 윤곽에 대한 모델을 산출하는 단계와, 상기 산출된 그림자 윤곽에 대한 모델에 기초하여 상기 취득된 영상에 대한 차영상의 화소들을 조사하여 상기 골프클럽의 그림자 영역에 해당하는 유효화소들을 검출함으로써 상기 골프클럽의 그림자 영역에 대한 정보를 산출하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 골프클럽을 검출하는 단계는, 상기 골프클럽의 그림자 영역에 대한 정보로부터 클럽 샤프트의 중심선에 대한 모델을 산출하는 단계와, 상기 산출된 클럽 샤프트의 중심선에 대한 모델에 따른 2차원 좌표를 3차원 좌표로 변환함으로써 상기 골프클럽을 검출하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 골프클럽을 검출하는 단계는, 상기 골프클럽의 그림자 영역에 대한 정보로부터 테일러 급수를 이용한 근사를 통해 중심점 후보 데이터들을 산출하는 단계와, 상기 중심점 후보 데이터들 중 이상점에 해당하는 데이터들을 제거한 중심점 후보 데이터에 대한 피팅을 통해 클럽 샤프트의 중심선에 대한 모델을 산출하는 단계와, 상기 산출된 클럽 샤프트의 중심선에 대한 모델에 따른 2차원 좌표를 3차원 좌표로 변환함으로써 상기 골프클럽을 검출하는 단계를 포함하는 것을 특징으로 한다.
또한 바람직하게는, 상기 그림자 영역에 대한 정보를 산출하는 단계는, 카메라, 조명, 바닥면의 구조적 관계로부터 상기 골프클럽의 그림자 추정 영역을 검출하고 상기 그림자 추정 영역의 윤곽으로서 그림자 윤곽에 대한 모델을 산출하는 단계와, 상기 취득된 영상에 대한 차영상에서 상기 검출된 그림자 추정 영역 내의 화소들 각각에 대해 각 화소를 중심으로 상기 그림자 윤곽에 대한 모델에 대응하는 크기의 체크윈도우를 생성하고 그 생성된 체크윈도우 내부의 모든 화소들을 조사하여 그 중심의 화소가 유효화소인지 여부를 판단하는 단계와, 상기 그림자 추정 영역 내의 모든 화소들 중 상기 유효화소들을 결정함으로써 상기 결정된 유효화소들에 관한 정보를 포함하는 상기 그림자 영역에 대한 정보를 산출하는 단계를 포함하는 것을 특징으로 한다.
한편, 본 발명의 다른 일 실시예에 따른 골프클럽의 검출방법은, 골프 스윙하는 사용자가 들고 있는 골프클럽의 그림자에 대한 윤곽을 추정하는 단계; 상기 골프클럽을 포함하는 화각으로 취득한 영상을 이용하여 영상 상에서 상기 추정된 윤곽 내의 화소들을 조사함으로써 상기 그림자에 해당하는 유효 화소들을 검출하고 그로부터 상기 골프클럽의 그림자 영역에 대한 정보를 산출하는 단계; 및 상기 그림자 영역에 대한 정보의 분석을 통해 상기 골프클럽을 검출하는 단계를 포함한다.
또한 바람직하게는, 상기 그림자 영역에 대한 정보를 산출하는 단계는, 상기 취득 영상에서 배경을 제거한 차영상으로부터 상기 추정된 윤곽 내에서 상기 유효 화소들을 검출하는 단계와, 상기 검출된 유효 화소들에 의해 결정되는 그림자 모델을 산출하는 단계를 포함하며, 상기 골프클럽을 검출하는 단계는, 상기 산출된 그림자 모델에 의해 정의되는 상기 영상 상의 데이터를 통해 클럽 샤프트의 중심선에 대한 모델을 산출하는 단계와, 상기 산출된 클럽 샤프트의 중심선에 대한 모델에 따른 2차원 좌표를 3차원 좌표로 변환함으로써 상기 골프클럽을 검출하는 단계를 포함하는 것을 특징으로 한다.
한편, 본 발명의 또 다른 일 실시예에 따른 골프클럽의 검출방법은, 골프 스윙하는 사용자가 들고 있는 골프클럽을 포함하는 화각으로 영상을 취득하는 단계; 상기 영상을 분석함으로써 상기 골프클럽의 클럽 샤프트를 근사시킨 클럽근사직선을 검출하는 단계; 상기 검출된 클럽근사직선을 바닥에 투영시킨 직선 성분을 기준으로 상기 영상으로부터 상기 바닥에 형성되는 상기 골프클럽의 그림자 영역에 해당하는 화소들의 정보를 포함하는 그림자 정보를 산출하는 단계; 및 상기 그림자 정보의 데이터 분석을 통해 상기 골프클럽을 검출하는 단계를 포함한다.
한편, 본 발명의 일 실시예에 따른 센싱장치는, 골프 스윙 시의 골프클럽을 검출하는 센싱장치로서, 골프 스윙하는 사용자가 들고 있는 골프클럽을 포함하는 화각으로 영상을 취득하는 카메라; 및 상기 영상으로부터 바닥에 형성되는 상기 골프클럽의 그림자 영역을 특정하며, 상기 특정된 그림자 영역에 대한 정보의 분석을 통해 상기 골프클럽을 검출하는 센싱처리부를 포함한다.
또한 바람직하게는, 상기 센싱처리부는, 상기 그림자의 윤곽을 추정하고, 상기 영상 상에서 상기 추정된 윤곽 내의 화소들을 조사하여 상기 그림자 영역에 해당하는 유효 화소들을 검출함으로써 상기 골프클럽의 그림자 영역을 특정하며, 상기 특정된 골프클럽의 그림자 영역에 해당하는 데이터들로부터 클럽 샤프트의 중심선에 대한 모델을 산출하고, 상기 산출된 클럽 샤프트의 중심선에 대한 모델에 따른 2차원 좌표를 3차원 좌표로 변환함으로써 상기 골프클럽을 검출하도록 구성되는 것을 특징으로 한다.
본 발명에 따른 골프클럽의 검출 방법 및 이를 이용한 센싱장치는, 영상에 나타나는 조명에 의해 바닥에 형성되는 골프클럽의 그림자를 분석함으로써 골프스윙 시 골프클럽의 형상을 정확하게 검출하여 골프클럽의 휘어짐 등과 같은 거동 특성을 정확하게 분석할 수 있도록 하는 효과가 있다.
도 1의 (a)는 종래의 기술에 따라 사용자의 골프 스윙시의 골프클럽에 대해 직선 근사시키는 것에 대해 나타낸 것이며, 도 1의 (b) 및 (c)는 실제 골프 스윙시의 골프클럽의 휘어짐이 발생하는 것에 대해 나타낸 것이다.
도 2는 종래의 기술에 따라 골프 스윙시 골프클럽에 대해 클럽근사직선을 산출한 것의 일 예에 대해 나타낸 도면이다.
도 3의 (a) 내지 (c)는 골프스윙 시 골프클럽의 클럽샤프트가 휘어지는 정도에 따라 타격된 볼의 타구에 큰 영향을 미치게 된다는 점에 대해 설명하기 위한 도면이다.
도 4는 본 발명의 일 실시예에 따른 센싱장치의 구성을 나타내는 블록도이다.
도 5는 본 발명의 일 실시예에 따른 골프클럽의 검출방법 및 그 센싱장치의 기능 및 검출 원리에 관하여 설명하기 위한 도면이다.
도 6은 본 발명이 일 실시예에 따른 골프클럽의 검출방법에 관한 프로세스를 설명하는 플로우차트이다.
도 7은 본 발명의 일 실시예에 따른 센싱장치의 카메라에 의해 촬영된 이미지의 일 예에 대해 나타낸 도면이다.
도 8 및 도 9는 본 발명이 일 실시예에 따른 골프클럽의 검출방법에서 골프클럽의 그림자의 윤곽을 추정하는 과정에 관하여 설명하기 위한 도면들이다.
도 10 및 도 11은 본 발명이 일 실시예에 따른 골프클럽의 검출방법에서 영상에서 골프클럽에 대한 그림자 영역에 대한 정보를 산출하는 과정에 관하여 설명하기 위한 도면들이다.
도 12 및 도 13은 본 발명이 일 실시예에 따른 골프클럽의 검출방법에서 그림자 영역에 대한 정보를 이용하여 클럽샤프트의 중심선을 검출하는 과정에 관하여 설명하기 위한 도면들이다.
본 발명에 따른 골프클럽의 검출방법 및 이를 이용한 센싱장치에 대한 좀 더 구체적인 내용을 도면을 참조하여 설명하도록 한다.
먼저, 도 4 및 도 5를 참조하여 본 발명의 일 실시예에 따른 센싱장치의 구성 및 기능, 검출 원리 등에 관하여 설명한다. 도 4는 본 발명의 일 실시예에 따른 센싱장치의 구성을 나타내는 블록도이고, 도 5는 사용자가 골프스윙을 위하여 골프클럽을 들고 어드레스 자세를 취하고 있는 것에 대한 도면으로서 본 발명의 일 실시예에 따른 골프클럽 검출 방법 및 그 센싱장치의 기능 및 검출 원리에 관하여 설명하기 위한 도면이다.
본 발명은 사용자가 골프클럽으로 골프스윙을 하여 골프공을 타격할 때 그에 대해 촬영되는 이미지들을 분석하여 골프클럽을 검출하는 방법과 이를 이용한 센싱장치에 관한 것이다.
아무리 고성능의 카메라를 이용하여 촬영을 한다고 하더라도 그 촬영된 이미지로부터 골프클럽을 특정하여 추출하는 것은 매우 어려우며, 골프클럽에 해당하는 부분의 픽셀들을 여하한 기법을 이용하여 추출한다고 하더라도 그 추출된 부분은 정확도가 상당히 떨어질 수밖에 없다.
본 발명은 골프스윙 시의 골프클럽의 정확한 형상을 검출함으로써 스윙에 따라 골프클럽이 휘어지는 것까지 정확하게 검출하는 것을 목적으로 하며, 이를 위하여 영상에서 골프클럽을 추출해내는 것이 아니라 영상에서 골프클럽의 그림자 영역을 추출해서 그 그림자 영역의 분석을 통해 골프클럽의 정확한 형상을 검출하도록 한 것을 특징으로 한다.
카메라를 이용한 센싱장치의 경우 항상 카메라와 조명이 함께 구비되어 피사체를 향하여 조명을 제공하면서 촬영을 하므로, 골프클럽을 들고 서 있는 사용자에 대해 일정한 조명이 제공되어 골프클럽 등에 대한 일정한 그림자가 항상 형성되는데, 영상 상에서 골프클럽의 형상을 정확하게 추출하기 어려운 반면 골프클럽의 그림자는 골프클럽의 재질이나 색상등과 무관하게 항상 어둡게 발생하기 때문에 이를 분석함으로써 골프클럽의 형상을 정확하게 검출하는 것이 가능하며, 본 발명은 상기한 바와 같이 골프클럽의 형상을 골프클럽의 그림자를 분석함으로써 영상 상에서 골프클럽이 존재하는 위치의 픽셀들의 좌표 정보를 산출하여 이를 이용하여 골프클럽을 검출하는 방법 및 장치를 제공한다.
도 4에 도시된 바와 같이, 본 발명의 일 실시예에 따른 센싱장치는 카메라부(100) 및 센싱처리부(200)를 포함하며, 상기 센싱처리부(200)는 이미지 처리부(210)와 정보산출부(220)를 포함하여 구성될 수 있다.
상기 카메라부(100)는 운동하는 객체(골프클럽과 골프공)를 바라보는 화각으로 연속하여 이미지를 취득하도록 구성되는데, 운동하는 객체에 대한 3차원 공간 상에서의 위치 정보를 산출하기 위해서는 상기 카메라부(100)가 서로 다른 시야각으로 동일한 대상에 대해 각각 이미지를 취득하는 복수개의 카메라, 예컨대 도 4에 도시된 바와 같이 제1 카메라(110)와 제2 카메라(120)가 서로 동기화되어 스테레오 방식으로 구성됨이 바람직하다.
상기한 바와 같이 카메라부(100)의 복수개의 카메라(110, 120)가 서로 동기화되어 스테레오 방식으로 구성됨으로써, 동일한 객체에 대해 제1 카메라(110)를 통해 취득한 이미지와 제2 카메라(120)를 통해 취득한 이미지 각각에서 추출한 해당 객체의 2차원 정보를 3차원 정보로 변환할 수 있다.
그리고, 상기 제1 카메라(110) 및 제2 카메라(120) 중 어느 하나는 본 발명의 일 실시예에 따른 골프클럽의 검출 방법에 따라 골프클럽의 그림자를 분석하기 위하여 골프 스윙하는 사용자가 들고 있는 골프클럽을 포함하는 화각으로 이미지를 취득하도록 구성될 수 있다.
즉, 골프클럽에 의해 타격되어 운동하는 골프공의 운동에 따른 물리적 특성 정보를 산출하기 위하여 골프공의 3차원 공간 상에서의 좌표 정보를 획득하기 위해서는 상기 제1 카메라 및 제2 카메라를 동시에 구동시켜 스테레오 방식으로 피사체를 촬영하여 그 촬영된 영상을 분석하는데, 골프클럽의 그림자 분석은 상기 제1 카메라 및 제2 카메라 중 특정된 하나에 의해 촬영된 영상에 대한 분석을 통해 이루어질 수 있다.
한편, 도 4에서 센싱처리부(200)는 상기 카메라부(100)의 각 카메라(110, 120)로부터 이미지를 수집하여 소정의 이미지 처리를 수행하여 해당 객체를 추출하는 이미지 처리부(210)와, 이미지로부터 추출된 객체의 2차원 위치 정보로부터 3차원 위치 정보 등을 산출하는 정보산출부(220)를 포함하도록 구성될 수 있다.
상기 센싱처리부(200)는 상기 카메라부(100)의 각 카메라(110, 120)를 통해 수집되는 이미지 각각으로부터 운동하는 객체를 추출하고 해당 객체의 위치 정보를 산출하여 클라이언트(300)로 그 산출된 정보를 전송하여, 상기 클라이언트(300)가 상기 전송받은 객체의 위치 정보를 이용하여 새로운 정보를 산출하거나 분석 정보를 산출하는 등의 클라이언트(300) 고유의 기능을 수행할 수 있도록 한다.
예컨대, 클라이언트(300)를 스크린 골프 시스템에 이용되는 시뮬레이터로서 구현하는 경우, 센싱처리부(200)로부터 골프공과 골프클럽의 위치 정보를 전송받아 이를 이용하여 가상의 골프코스 상에서 볼이 비행하는 궤적의 시뮬레이션 영상을 구현할 수 있다.
또한, 상기 클라이언트(300)를 골프스윙 분석장치로서 구현하는 경우, 센싱처리부(200)로부터 골프공과 골프클럽의 위치 정보를 전송받아 이를 이용하여 사용자의 골프스윙에 대한 분석 정보, 스윙의 문제점 진단 및 이를 해결하기 위한 레슨정보 등을 제공하도록 구현할 수 있다.
상기 이미지 처리부(210)는 상기 카메라부(100)에 의해 연속하여 취득되는 이미지 각각에 대한 기준 이미지의 차연산 이미지(차영상)를 생성하며, 그 차영상에 남아 있는 객체, 즉 골프클럽 부분, 골프공 부분, 골프클럽 등의 그림자 부분, 사용자 신체의 일부 등에 해당하는 픽셀들을 생성한다.
상기 생성된 픽셀들은 정보산출부(220)에 의해 분석되며, 상기 정보산출부(220)는 상기한 분석에 따라 운동하는 골프공의 속도, 방향, 높이각, 스핀 등의 각종 파라미터를 산출하기도 하고 골프클럽의 거동에 관한 분석 정보를 산출하기도 한다.
특히, 상기 정보산출부(220)는 본 발명의 일 실시예에 따른 골프클럽의 검출 방법에 따른 프로세스를 수행하여 영상으로부터 골프클럽의 형상을 정확하게 추출할 수 있다.
도 4에 도시된 바와 같이 상기 정보산출부(220)는 센싱장치에 포함되도록 구성될 수도 있으나, 이에 한정하지 않고 클라이언트(300)에 포함되도록 구성할 수도 있다. 즉, 센싱장치는 이미지의 취득 및 이미지 처리를 통해 운동하는 객체를 추출하는 기능까지 수행하고 그 추출된 정보를 클라이언트의 정보산출부로 전송하여 상기 추출된 운동하는 객체의 위치 정보 및 이를 이용한 각종 정보의 산출이 이루어지도록 하는 것도 가능하다.
본 발명의 일 실시예에 따른 골프클럽의 검출 방법을 더욱 효과적으로 활용하기 위해 상기 센싱처리부(200)가 그림자를 분석 하기 전에 몇 가지 정보를 미리 산출하도록 할 수 있다.
예컨대, 본 출원인에 의해 출원된 특허출원 제10-2016-0156308호에서 개시하고 있는 골프클럽을 직선에 근사시킨 클럽근사직선을 허프변환 등의 방식으로 구할 수 있으며, 클럽샤프트와 클럽헤드의 경계에 해당하는 넥(Neck) 부분(호젤(Hozel)의 위치와 동일한 위치일 수 있다)의 위치 좌표 정보를 구할 수 있다(상기 클럽근사직선의 검출 및 넥 부분의 위치 좌표의 검출은 반드시 특허출원 제10-2016-0156308호에서 개시하고 있는 방법에 따라서만 구할 수 있는 것은 아니고 여하한 방법으로 산출할 수 있다).
도 5에 도시된 바를 참조하면, 사용자(U)가 골프 스윙을 위하여 골프클럽(GC)을 들고 있고, 이때 센싱장치의 카메라(미도시)와 함께 조명장치가 사용자 쪽을 향하고 있으므로, 도 5에 도시된 바와 같이 골프클럽(GC)의 아래쪽과 뒤쪽으로 그림자(SD)가 생성된다. 도 5에서 도면번호 SM은 골프매트를 나타낸다.
카메라 방식의 센싱장치가 이미지를 취득하는 한 이미지 취득을 위한 조명이 제공되므로 항상 거의 일정하게 도 5에 도시된 바와 같은 그림자(SD)가 생성된다.
이러한 그림자(SD)는 골프클럽(GC), 특히 클럽샤프트(cs)의 형상을 상당히 정확하게 반영하고 있으므로, 영상으로부터 골프클럽을 직접적으로 추출해 내는 대신 골프클럽의 그림자(SD)를 영상에서 분석함으로써 골프클럽의 좌표를 산출하여 영상 상에서 골프클럽의 형상을 상당히 정확하게 추출해 낼 수 있으며, 본 발명은 이러한 방법과 이를 이용한 센싱장치에 관한 것이다.
이와 같은 본 발명의 일 실시예에 따른 센싱장치의 골프클럽 검출 방법에 관하여 도 6에 도시된 플로우차트를 통해 설명하도록 한다.
본 발명의 일 실시예에 따른 골프클럽의 검출 방법은, 골프 스윙하는 사용자가 들고 있는 골프클럽을 포함하는 화각으로 영상을 취득하고, 그 취득된 영상 또는 이에 대해 소정의 영상처리(차영상 등)를 한 영상으로부터 골프클럽의 그림자 영역을 조사하여 그림자 영역에 대한 정보를 산출하고 그 산출된 정보의 분석을 통해 골프클럽을 검출하는 것을 특징으로 한다.
본 발명에 따라 골프클럽을 검출하기 위해서는, 도 6에 도시된 바와 같이 먼저 골프클럽의 그림자의 윤곽을 추정하는 것이 필요할 수 있다(S100).
본 발명의 일 실시예에 따른 센싱장치의 카메라에 의해 취득되는 영상(IM)의 일 예를 도 7에 나타내고 있는데, 도 7에 도시된 카메라 취득 영상(IM)에서 보면 골프클럽의 클럽샤프트에 해당하는 부분(ics)과 클럽헤드에 해당하는 부분(ich), 그리고 그림자에 해당하는 부분(iSD), 골프매트에 해당하는 부분(iSM) 등이 나타나 있음을 알 수 있다.
그런데, 사람의 눈으로 볼 때에는 영상(IM) 상에서 클럽샤프트에 해당하는 부분(ics)과 그림자에 해당하는 부분(iSD) 등이 어느 부분인지 쉽게 인지할 수 있지만, 이미지의 분석을 통해 객체를 특정하고 인식하는 컴퓨터와 같은 연산장치(즉, 센싱처리부)의 입장에서는 어느 부분이 클럽샤프트이고 어느 부분이 그림자인지 등에 대해 전혀 알 수 없다.
따라서, 그림자에 해당하는 부분을 효과적으로 특정해서 분석하기 위해서는 먼저 도 6의 S100 단계의 골프클럽의 그림자 윤곽의 추정이 필요할 수 있으며 이는 그림자 윤곽에 대한 모델을 산출하는 것으로 수행될 수 있다.
본 발명의 일 실시예에 따른 센싱장치는 기본적으로 골프공이 타격될 때의 타격된 골프공의 움직임을 센싱하도록 구성될 수 있으며, 골프공 등의 위치 좌표의 산출을 위해 기본적으로 도 5에 도시된 바와 같이 골프스윙이 이루어지고 있는 공간을 x-y-z의 3차원 좌표계를 기준으로 정의한다.
그런데, 골프클럽의 그림자에 해당하는 부분을 상기한 x-y-z 좌표계로 정의하여 연산하면 연산이 복잡해지고 어려워질 수 있으므로, 그림자의 분석을 더욱 용이하고 효과적으로 하기 위한 별도의 좌표계를 정의하고 그 별도의 좌표계에서 산출된 최종적인 모델에 따른 좌표 정보를 x-y-z 좌표계의 3차원 좌표로 변환하도록 하는 것이 바람직하다.
별도의 좌표계 정의와 관련하여, 도 5 및 도 7에서 그림자 분석을 위하여 설정되는 s-t 좌표계에 대해 나타내고 있다.
골프클럽의 그림자(SD)는 골프클럽 아래에 형성되기 때문에 골프클럽을 기준으로 새로운 좌표계인 s-t 좌표계를 설정하는 것이 바람직하며, 도 5에 도시된 바와 같이 s-t좌표계의 원점(st원점)을 골프클럽(GC)의 클럽샤프트(cs)와 클럽헤드(ch)의 경계에 해당하는 넥(Neck)부분(cn)의 위치(예컨대 호젤(Hozel)의 위치)를 카메라 시선을 따라 바닥면에 투영한 지점(O)으로 설정할 수 있다.
그리고, 도 5에 도시된 바와 같이 골프클럽(GC)의 클럽샤프트(cs)를 직선에 근사시킨 클럽근사직선(LC) 상의 점을 카메라 시선을 따라 바닥면에 투영하여, st원점(O)으로부터 상기 클럽근사직선 상의 점을 바닥면에 투영한 지점으로의 방향을 s축 방향으로 설정할 수 있고, t축은 s축과 직교하는 방향으로 설정할 수 있다.
여기서, st원점 산출의 기준이 되는 넥(Neck) 부분의 검출 및 s축 방향의 기초가 되는 클럽근사직선의 검출은 여러 가지 방식으로 구해질 수 있는데, 예컨대 본 출원인에 의해 출원된 특허출원 제10-2016-0156308호에서 개시한 방법에 따라 영상 분석을 통해 상기한 클럽근사직선과 넥부분의 검출이 가능하다.
상기한 바와 같이 s-t좌표계의 st원점과 s축의 결정을 각각 넥부분의 위치와 클럽근사직선에 기초하여 결정할 수도 있지만 본 발명은 그에 한정되지 않고 다른 임의의 기준으로 결정하는 것도 가능하다.
또한, 상기한 s-t좌표계의 설정은 효과적인 그림자 분석을 위한 것이므로 기존의 x-y-z 좌표계를 그대로 이용하는 것도 가능함은 물론이다.
도 6에 도시된 플로우차트에서 골프클럽의 그림자의 윤곽 추정 단계(S100)는 상기한 바와 같이 정의된 s-t 좌표계를 기준으로 할 수 있으며, 그에 대한 방법의 일 예를 도 8에서 나타내고 있다.
도 8은 본 발명의 일 실시예에 따른 골프클럽의 검출 방법에서 골프클럽의 그림자 윤곽을 추정하는 원리를 설명하기 위한 도면으로서, 도 5에서 센싱장치가 사용자의 머리 위쪽에 설치되어 있는 경우의 yz 평면에 평행한 면을 나타낸 것이다.
도 8에서 도면번호 cs1으로 표시된 부분은 클럽샤프트가 평면에 의해 잘린 단면을 나타내며, 도면번호 111 및 112는 사용자의 머리 위쪽(또는 타석에 들어선 사용자의 정면 쪽도 마찬가지이다)에 설치된 센싱장치의 카메라(111)와 조명(112)을 나타낸다.
여기서, 본 발명의 일 실시예에 따른 센싱장치는 도 4에 도시된 바와 같이 스테레오 방식의 제1 카메라(110)와 제2 카메라(120)를 포함하며, 그림자의 분석은 상기 두 대의 카메라 중 어느 하나의 카메라에 의해 이루어질 수 있다.
골프클럽의 그림자의 윤곽을 추정하기 위해서는, s-t 좌표계 설정을 위한 클럽직선라인의 검출과 골프클럽의 넥 부분의 검출 결과가 활용될 수 있고, 카메라(111)와 조명(112)의 위치와 바닥면의 위치에 관한 정보 등이 기본적으로 이미 측정되어 설정된 값으로 활용될 수 있다.
즉, 도 8에서 카메라(111) 및 조명(112)과 바닥면 사이의 거리 등에 관한 정보는 이미 기본값으로 설정되어 있음이 바람직하다.
도 8에 도시된 바와 같이 조명(112)으로부터 제공되는 광은 골프클럽(클럽샤프트의 단면인 cs1)에 가려져서 바닥면에는 골프클럽의 클럽샤프트 주변으로 그림자를 형성하게 된다. 이때 골프클럽의 그림자로 추정되는 영역을 그림자 추정 영역(Sa)이라 칭하도록 한다.
도 8에 도시된 바와 같은 상태에서 카메라, 조명, 바닥면 등의 구조적 관계로부터 조명벡터, 즉 조명의 끝으로부터 그림자 추정 영역(Sa)의 윤곽으로의 조명벡터(Vs)를 구할 수 있다.
조명벡터(Vs)를 구하기 위하여, 먼저 조명(112)의 중심에 위치한 카메라(111)의 시선(Lc1)이 클럽샤프트(cs1)의 일측 윤곽을 지나 바닥면에 도달하는 지점을 Pc라 하고, 상기 Pc 지점에서 클럽샤프트(cs1)의 타측 윤곽을 지나 조명(112)에 도달하는 지점을 PLe라 한다.
상기 PLe 지점은 그림자 형성에 영향을 미치는 조명의 끝부분에 해당하는 지점이며, 카메라(111) 및 조명(112)에서 PLe지점과 중심 사이의 영역(A영역)에서 제공되는 조명은 클럽샤프트(cs1)에 막혀 바닥면에 그림자의 우측을 형성하게 되며, 그림자의 좌측 부분은 A영역의 우측 대칭되는 위치의 조명 부분에 의해 만들어지게 된다 (도 8에서는 그림자의 우측 부분을 형성하는 것에 대해서만 도시되어 있는데 그림자의 좌측 부분은 우측 부분의 대칭으로서 구할 수 있다).
도 8에서, 조명의 PLe지점으로부터 클럽샤프트(cs1)의 우측 윤곽을 지나 바닥면에 도달하는 지점인 Ps지점이 그림자 추정 영역(Sa)의 윤곽 위치에 해당한다. 즉, Pc지점과 Ps지점 사이의 구간이 그림자 추정 영역(Sa)이 된다.
상기 Ps는 s-t좌표계에서 Ps지점의 t좌표가 그림자 추정 영역의 한쪽 윤곽까지의 길이에 해당하게 된다.
상기한 바와 같은 방식으로 클럽샤프트를 따라 모든 yz평면에 대해 Ps를 구함으로써 도 9의 (a)에 도시된 바와 같이 s-t좌표계에서 산출된 Ps에 대한 데이터들의 집합(Pt)을 얻을 수 있다.
도 9의 (a)에 도시된 바와 같은 s-t 좌표계 상의 Ps에 대한 데이터들의 집합(Pt)은 그림자 추정 영역(Sa)의 윤곽에 해당하는 점들의 좌표 데이터에 해당한다.
상기 그림자 영역의 윤곽에 해당하는 점들의 좌표 데이터로부터 그림자 윤곽에 대한 모델을 산출할 수 있으며 상기 그림자 윤곽에 대한 모델을 n차 다항식으로 하여 피팅(Polynomial fitting)을 할 수 있다. 여기서 n은 2이상의 자연수이다. n이 커질수록 피팅되는 모델의 고차 다항식이 윤곽의 정확도를 높일 수 있는 반면 컴퓨터의 연산에 부담이 될 수 있으므로, 바람직하게는 3차 다항식으로 그림자 윤곽을 모델링 할 수 있다.
도 9의 (b)는 상기한 바와 같이 s-t좌표계에서 산출된 Ps에 대한 데이터들의 집합(Pt)에 대해 n차 다항식으로 피팅하여 산출된 모델, 즉 그림자 윤곽에 대한 모델(Mt)을 나타낸 것이다.
상기한 바와 같이 s축을 기준으로 그림자의 한쪽에 대한 그림자 추정 영역에 대한 정보를 얻었다면 상가 s축을 기준으로 대칭되는 반대쪽의 그림자 추정 영역에 대한 정보도 얻을 수 있으며, 전체 그림자 추정 영역에 대한 정보를 통해 영상으로부터 그 전체 그림자 추정 영역에 해당하는 부분을 추출할 수 있으며, 그 추출된 영역의 화소들을 조사하여 실제의 그림자 영역을 결정할 수 있다.
도 6에서 보듯이, 본 발명의 일 실시예에 따른 센싱장치의 센싱처리부는 S100의 단계에서 골프클럽의 그림자의 윤곽을 추정하는 단계를 수행한 후 이를 이용하여 영상(카메라에 의해 취득된 영상 또는 그 영상에 대한 차영상)의 분석을 통한 그림자 영역에 대한 정보를 산출하는 단계(S110)를 진행한다.
상기 S110 단계에 의한 '그림자 영역에 대한 정보'의 산출에 대해 설명하기 전에 먼저 '그림자 영역'이라는 용어의 정의부터 설명한다.
도 7에 도시된 카메라에 의해 취득된 영상(IM)에서 미리 설정된 기준 이미지(이는 배경에 대한 이미지만 포함되어 있을 수 있다)와의 차영상을 추출하고 그 차영상에서 상기한 바와 같은 그림자 추정 영역에 해당하는 부분을 추출하면, 도 10에 도시된 바와 같은 영상 정보를 얻을 수 있다. 도 10에서는 골프클럽의 클럽샤프트에 해당하는 부분(ics)이 휘어진 경우에 대해 나타내고 있다(클럽샤프트에 해당하는 부분(ics)을 나타낸 것은 이해를 돕기 위해 나타낸 것으로서 센싱처리부는 그 부분이 클럽샤프트에 해당하는 부분인지 인식할 수 없음은 물론이다).
본 발명에 따른 센싱장치는 골프클럽을 들고 스윙을 하는 사용자를 바라보는 화각으로 이미지를 취득하기 때문에, 골프클럽의 그림자에 해당하는 부분만을 따로 추출하기 어렵고, 도 7에 도시된 바와 같이 골프클럽이 그림자를 가린 상태의 영상을 취득하기 때문에, 실제로는 그림자에 해당하는 부분만을 따로 추출하여 화소를 조사하는 것이 아니라 그림자에 해당하는 부분과 골프클럽에 해당하는 부분 전체의 영역, 즉 그림자 영역을 조사한다.
즉, 상기한 '그림자 영역'은 영상 상에서 그림자 자체뿐만 아니라 그림자를 가리고 있는 골프클럽에 해당하는 부분도 모두 포함하는 영역이다.
앞서 설명한 바 있는 그림자 추정 영역에 해당하는 부분을 추출한 것을 도 10에 나타낸 ER이라고 하기로 한다.
그림자 추정 영역에 해당하는 부분은 차영상으로부터 추출될 수 있고, 카메라에 의해 취득된 이미지와 배경에 관한 기준 이미지의 차영상을 구하면, 두 이미지에서 동일한 부분(동일한 화소 정보를 갖는 부분)은 모두 제거가 되고 차이가 나는 부분은 모두 남게 되는데, 도 10에 도시된 바와 같이 차영상에 의해 남은 부분의 화소들은 각각 소정의 화소값(즉, 밝기값)을 갖게 되기 때문에 밝은 부분이 되고 제거된 부분은 화소값이 0이므로 검게 나타난다.
상기한 그림자 영역은 그림자와 골프클럽 부분이 모두 포함된 영상 상의 영역이지만 실제 그림자에 해당하는 부분이며, 상기한 바와 같은 그림자 추정 영역으로서 추출된 영역(ER) 내에 상기 그림자 영역이 존재하므로, 도 10에 도시된 바와 같은 그림자 추정 영역으로서 추출된 영역(ER)의 모든 화소들을 조사하여 그림자 영역에 해당하는 화소(이를 '유효화소'라 하기로 한다)를 결정하는 것이 필요하다.
도 6의 플로우차트에 기재된 영상 분석을 통한 그림자 영역에 대한 정보 산출의 단계(S110)의 일 예에 관하여, 도 9 및 도 10을 이용하여 좀 더 구체적으로 설명한다.
도 8을 통해 설명한 바와 같은 카메라, 조명, 바닥, 골프클럽 등의 위치에 대한 구조적 관계로부터 조명벡터를 구하고 이를 이용하여 그림자 추정 영역의 윤곽, 즉 그림자 윤곽에 대한 모델을 구한 것의 일 예를 도 9의 (b)에서 나타내었다.
도 9의 (b)에 도시된 피팅된 곡선이 그림자 윤곽에 대한 모델(Mt)인데, 해당 모델(Mt) 상의 모든 점들은 s축과 t축의 좌표값을 갖는다.
예컨대, 도 9의 (b)에 도시된 바와 같이, [s1, t1]값을 갖는 점(p1이라 한다), [s2, t2]값을 갖는 점(p2라 한다), [s3, t3]값을 갖는 점(p3라 한다)을 예로써 설명한다.
도 10의 차영상으로부터 추출된 그림자 추정 영역(ER)에서 p1, p2, p3 각각의 점은 도 9의 (b)에 도시된 바와 같이 [s1, t1], [s2, t2], [s3, t3]값을 갖는다.
여기서, t1, t2, t3의 값은 각각 그림자 추정 영역의 반경에 해당하는 값이며 그 크기를 기준으로 체크윈도우를 생성한다.
즉, 도 10의 그림자 추정 영역으로서 추출된 영역의 모든 화소에 대해 각 화소를 중심으로 반경의 크기를 기준으로 한 체크윈도우를 생성하여, 그 체크윈도우 내부의 화소들이 미리 설정된 요건을 충족하면 그 중심의 화소를 유효화소로 결정하게 되는 것이다.
상기한 유효화소를 결정하는 요건은, 예컨대 체크윈도우 내부의 화소들 각각에 대해 소정의 값 이상의 화소값을 갖는 화소들의 개수가 전체의 일정 비율(예컨대 50%) 이상인 경우로서 미리 설정될 수 있다.
특정 화소를 중심으로 한 체크윈도우를 상정할 때 상기 체크윈도우의 크기는 그림자 추정 영역의 반경에 해당하는 크기이고 그 체크윈도우 내부의 화소들이 소정 값 이상의 화소값을 갖는 화소가 절반을 넘게 되면 그 중심의 화소는 그림자 영역 내의 화소인 것으로 판단할 수 있으며, 만약 체크윈도우 내부의 화소들이 소정 값 이상의 화소값을 갖는 화소가 절반에 미치지 못한다면 그 중심의 화소는 그림자 영역 밖의 화소인 것으로 볼 수 있는 것이다.
도 10에서, p1, p2, p3 그리고 p1', p2', p3'의 화소를 예로 설명한다(여기서 6개의 화소를 예로 설명하지만 모든 화소에 대해 동일한 방식으로 조사를 한다).
여기서, p1, p2, p3는 그림자 추정 영역의 윤곽 근처의 화소들이고, p1과 같은 s좌표를 갖는 p1', p2와 같은 s좌표를 갖는 p2', p3와 같은 s좌표를 갖는 p3'은 각각 그림자 영역 내에 있는 화소들이라고 가정한다(p1', p2', p3'이 그림자 영역 내에 있지만 체크윈도우를 이용한 유효화소의 조사를 진행하기 전에는 그림자 영역 내에 있는지 알 수 없다).
그리고, 그림자 추정 영역과 그림자 영역은 서로 일치 하지 않을 수 있다. 상기 그림자 추정 영역은 조명벡터를 이용한 기하학적 해석에 의해 추정된 것이고 실제 그림자에 해당하는 부분이 그림자 영역이기 때문에 양자는 서로 일치하지 않는 경우가 대부분이다.
도 10에서 설명하고자 하는 것은, 그림자 추정 영역으로서 추출된 영역 내의 모든 화소들에 대해 그 그림자 추정 영역의 반경 크기에 해당하는 체크윈도우를 모든 화소마다 적용하여 어느 화소가 그림자 영역에 해당하는 유효화소인지 여부를 판단하는 것이다.
도 10에서, p1과 p1'은 s축 좌표로서 s1의 값을 동일하게 갖는데, 그림자 추정 영역의 반경에 해당하는 t1값(그림자 윤곽 모델에서 s1값에 대응되는 t좌표값)을 가로 및 세로의 크기로 하는 체크윈도우(w1)를 p1 화소를 중심으로 생성하여 그 내부의 화소들을 조사하고, w1 체크윈도우와 동일한 크기의 w1' 체크윈도우를 p1' 화소를 중심으로 생성하여 그 내부의 화소들을 조사한다.
w1 체크윈도우 내부의 소정 값의 화소값을 갖는 화소들이 절반에 못미치므로 p1 화소는 유효화소가 아닌 것으로 판단할 수 있고, w1' 체크윈도우 내부의 소정 값의 화소값을 갖는 화소들이 절반을 훨씬 넘기 때문에 p1' 화소는 유효화소로서 판단할 수 있다.
이와 같은 방식으로 s1좌표값을 갖는 모든 화소들에 대해 t1 크기의 체크윈도우를 이용하여 유효화소인지 아닌지 여부를 결정한다.
그리고 이러한 방식으로 모든 s축의 좌표값을 갖는 화소들 각각에 대해 상기한 바와 같은 방식으로 체크윈도우를 이용하여 유효화소 여부를 판단하여 결정한다.
이때 체크윈도우의 크기는 도 9의 (b)에 도시된 그림자 윤곽 모델에서 s축의 좌표값에 해당하는 t축의 좌표값을 기준으로 하는 것이 바람직하다. 그렇게 함으로써 그림자 영역을 효과적으로 특정할 수 있으며, 만약 모든 화소에 대해 동일한 체크윈도우를 이용하여 유효화소 여부를 판단하게 되면 그림자 영역은 t축의 좌표값이 모두 동일한 (수직선 형태의) 윤곽선을 갖는 영역이 되어 버리기 때문에, 체크윈도우의 크기를 앞서 구한 그림자 윤곽 모델에 기초하여 각각의 화소마다 가변하여 적용하는 것은 그림자 영역의 추출에 있어 중요한 부분이라 할 것이다.
앞서 p1 화소와 p1' 화소에 대해 체크윈도우(w1, w1')를 이용하여 유효화소 여부를 판단한 것과 마찬가지로, 도 10에 도시된 p2 화소와 p2' 화소에 대해서도 유효화소 여부를 조사할 수 있다.
도 10에서, p2와 p2'은 s축 좌표로서 s2의 값을 동일하게 갖는데, 그림자 추정 영역의 반경에 해당하는 t2값(그림자 윤곽 모델에서 s2값에 대응되는 t좌표값)을 가로 및 세로의 크기로 하는 체크윈도우(w2)를 p2 화소를 중심으로 생성하여 그 내부의 화소들을 조사하고, w2 체크윈도우와 동일한 크기의 w2' 체크윈도우를 p2' 화소를 중심으로 생성하여 그 내부의 화소들을 조사한다.
w2 체크윈도우 내부의 소정 값의 화소값을 갖는 화소들이 절반에 못미치므로 p2 화소는 유효화소가 아닌 것으로 판단할 수 있고, w2' 체크윈도우 내부의 소정 값의 화소값을 갖는 화소들이 절반을 훨씬 넘기 때문에 p2' 화소는 유효화소로서 판단할 수 있다.
이와 같은 방식으로 s2좌표값을 갖는 모든 화소들에 대해 t2 크기의 체크윈도우를 이용하여 유효화소인지 아닌지 여부를 결정한다.
그리고, 도 10에서, p3와 p3'은 s축 좌표로서 s3의 값을 동일하게 갖는데, 그림자 추정 영역의 반경에 해당하는 t3값(그림자 윤곽 모델에서 s3값에 대응되는 t좌표값)을 가로 및 세로의 크기로 하는 체크윈도우(w3)를 p3 화소를 중심으로 생성하여 그 내부의 화소들을 조사하고, w3 체크윈도우와 동일한 크기의 w3' 체크윈도우를 p3' 화소를 중심으로 생성하여 그 내부의 화소들을 조사한다.
w3 체크윈도우 내부의 소정 값의 화소값을 갖는 화소들이 절반에 못미치므로 p3 화소는 유효화소가 아닌 것으로 판단할 수 있고, w3' 체크윈도우 내부의 소정 값의 화소값을 갖는 화소들이 절반을 훨씬 넘기 때문에 p3' 화소는 유효화소로서 판단할 수 있다.
이와 같은 방식으로 s3좌표값을 갖는 모든 화소들에 대해 t3 크기의 체크윈도우를 이용하여 유효화소인지 아닌지 여부를 결정한다.
상기한 바와 같은 방식으로 추출된 그림자 추정 영역 내의 모든 화소들에 대해 유효화소인지 여부를 조사하여 결정함으로써 최종적으로 그림자 영역을 특정할 수 있다.
상기한 바와 같이 유효화소들을 포함하는 그림자 영역이 특정되면, 그 그림자 영역을 이루는 화소들 각각은 화소값이 중요하지 않고 모두 동일한 그림자로서 취급할 수 있다.
상기한 바와 같이 그림자 영역을 추출한 후, 그 그림자 영역에 해당하는 모든 화소들에 대해서 Distance Transform, 즉 모든 화소들이 기하학적 거리에 대한 값을 갖도록 변환할 수 있다. 이에 대해서는 도 11에서 도시하고 있으므로 도 11을 참조하여 좀 더 구체적으로 설명한다.
도 11의 (a)는 도 10에서 체크윈도우를 이용한 유효화소의 조사를 통해 유효화소로서 결정된 화소들(즉, 그림자 영역의 화소들)에 대해 Distance Transform을 수행하여 얻은 결과를 나타낸 그림자 정보 맵으로서 이를 도 6의 S110 단계에서 말하는 "그림자 영역에 대한 정보"라고 하기로 한다. 도 11의 (a)에 도시된 그림자 영역에 대한 정보(SDM)의 모든 화소들은 s-t 좌표계의 s값과 t값, 그리고 거리값(d)을 갖게 된다. 여기서 거리값(d)는 상기한 Distance Transform에 의해 각각의 화소가 갖게 되는 값인데, 이에 대해서는 도 11의 (b)를 참조하여 설명한다.
도 11의 (b)에 도시된 좌측 이미지에 1의 화소값을 갖는 화소들(Po)이 존재한다고 가정할 때, 이를 Distance Transform으로 변환하면 우측의 이미지와 같이 기하적으로 가장 중심에 위치한 화소들(Td3)은 가장 높은 거리값을 갖고 그 화소들을 중심으로 기하적으로 중심의 화소들과 거리가 가까울수록 높은 거리값을 갖고 중심의 화소들과 거리가 멀어질수록 낮은 거리값을 갖게 된다.
예컨대, 도 11의 (b)의 우측의 이미지(Distance Transform 된 이미지)에서 중심의 화소들(Td3)이 3의 값을 갖고, 그 중심의 화소들과 거리에 따라 Td2의 화소들은 2의 값을, 그리고 Td1의 화소들은 1의 값을 갖는 것으로 변환될 수 있다.
앞서 설명한 체크윈도우를 이용하여 검출한 유효화소들에 의한 그림자 영역의 모든 화소들에 대해 상기한 Distance Transform을 수행하면, 그림자 영역의 모든 화소들이 기하학적으로 중심에 가까울수록 높은 거리값을 갖는 것으로 변환될 수 있다.
따라서, 도 11의 (a)에 도시된 그림자 영역에 대한 정보(SDM)는 모든 화소들이 상기한 Distance Transform에 의한 거리값(d)을 갖게 되는 것이다. 즉, 모든 화소들이 [s, t, d]의 값을 갖게 된다.
여기서 상기 거리값 d는 Distance Transform의 결과값으로서 이를 s-t좌표계에 맞는 단위로 변환한 값을 D라 한다면, 결국 그림자 영역에 대한 정보(SDM) 상의 모든 화소들은 [s, t, D]의 값을 갖게 된다.
도 11의 (a)에 도시된 바와 같은 그림자 영역은 s-t좌표계를 기준으로 하며 그림자 영역의 윤곽에 대한 모델은 n차 다항식으로의 피팅(polynomial fitting)을 통해 결정될 수 있는데, 예컨대 3차 다항식으로 polynomial fitting을 한 결과를 다음과 같이 나타낼 수 있으며 이를 그림자 영역에 대한 모델로 결정할 수 있다.
[수학식 1]
R(s) = A s 3 + B s 2 + C s + E
여기서, R(s)는 그림자 영역의 중심에서 윤곽까지의 거리를 나타내는 모델로서, 상기한 바와 같이 Distance Transform에 의해 산출된 [s, t, D] 데이터들 중 예컨대, s = s1인 모든 데이터, 즉 [s1, t, D] 데이터들 중 윤곽까지의 거리이므로 D가 최대값을 가질 때의 그 최대값 D가 R(s1)이 된다.
즉, R(s)는 모든 s에 대한 최대값 D를 표현하는 모델이 된다. R(s)는 모든 s에 대한 그림자 영역의 규모(이는 반경 또는 크기 또는 윤곽까지의 거리로서 대표될 수 있다)를 표현하는 모델이다.
여기서, A, B, C, E는 모두 상수이며 피팅에 의해 결정되는 값이다.
다시 도 6으로 돌아와서, 상기한 바와 같은 방식으로 S110 단계의 그림자 영역에 대한 정보를 산출하면, 그 그림자 영역에 대한 정보로부터 중심점 후보 데이터를 산출하는 단계가 수행된다(S120).
도 11의 (a)에 도시된 바와 같은 그림자 영역에서 그 중심을 지나는 선, 즉 중심선이 골프클럽의 클럽샤프트의 중심선이 되므로 상기 중심선을 구하는 것이 필요한데, 상기 중심선을 구하기 위해 먼저 중심점 후보를 구한다.
그림자를 포함해서 검출된 대상물은, 예컨대 도 7에 도시된 바와 같이 그림자의 두께가 골프클럽의 그립 쪽으로 갈수록 더 두꺼워진다. 이는 도 5에 도시된 바와 같이 골프클럽이 바닥에 대해 비스듬하게 놓이기 때문에 바닥으로부터 가까운 클럽헤드 쪽에서부터 그립 쪽으로 갈수록 클럽샤프트에 대한 그림자 부분은 점점 두꺼워질 수밖에 없다.
이렇게 두꺼워지는 그림자 영역에 대해 중심선을 검출할 때에는 오차가 크게 발생하므로, 중심선을 좀 더 정확하게 구하기 위하여 도 11의 (a)에서 설명한 바 있는 그림자 영역에 대한 정보에 테일러 급수(Taylor Series)와 같은 근사함수를 적용하여 넓고 고르게 흩어진 데이터를 중앙으로 밀도 높게 모으는 작업을 수행하는 것이 바람직하다.
도 11의 (a)에 도시된 바와 같은 그림자 영역에 대한 정보의 각 데이터들은 [s, t, D]의 값을 갖는데, 이를 D(s, t) 로 표기한다. 이는 좌표 s, t 에서 D 값을 갖는다는 의미이다.
클럽샤프트 중심에 해당하는 미지의 t 를 tc 라 하기로 하고, tc 를 찾는데 D(s, t) 데이터들을 이용한다.
D(s, t) 를 이용한 수식 전개를 위해 미지의 tc 에 대한 D(s, tc) 를 구하는 접근을 하기 위하여 D(s, tc) 를 D(s, t) 지점에서 테일러 급수 로 근사 전개한다.
도 11의 (a)에서 그림자 영역에 대한 정보 상의 s축을 따라 위치한 데이터들의 거리값 D는 s축 방향에 따라 변화가 거의 없으므로 s에 대한 미분 성분은 '0'으로 취급할 수 있다. 즉, 다음과 같이 나타낼 수 있다.
Figure pat00001
= 0
따라서 변수 t 에 대해서만 테일러 급수를 전개하면 다음과 같다.
[수학식 2]
D(s, tc ) = D(s, t) +
Figure pat00002
Figure pat00003
+
Figure pat00004
Figure pat00005
+
Figure pat00006
Figure pat00007
+ . . .
s-t 좌표계와 D 값 모두 동일한 단위이고 도 11의 (a)에 도시된 그림자 영역에 대한 정보를 나타낸 맵(SDM) 상에서 거리값(D)은 t축 방향으로 일정하게 증감한다.
따라서
Figure pat00008
는 |1| 에 근사 하며 증감하는 방향에 따라 (+), (-) 부호를 가진다.
Figure pat00009
가 상수이므로 2차 이상의 t에 대한 도함수는 0 이다.
따라서, 상기 수학식 2에 나타낸 테일러 급수 전개 식에서 t 에 대한 1차 도함수 항만 남겨서 정리하면 다음과 같다.
[수학식 3]
D(s, tc ) = D(s, t) +
Figure pat00010
Figure pat00011
상기 수학식 3에서, tc > t 일 때 tc로 접근하기 위해서는
Figure pat00012
= 1 이 되어야 하고, tc < t 일 때는
Figure pat00013
= -1 이 되어야 한다. 따라서 두 경우를 고려한 식은 다음과 같다.
[수학식 4]
D(s, tc ) = D(s, t) + | tc - t|
그림자 영역의 중심 tc에서 거리값 D는 그림자 영역의 윤곽까지의 거리이며 이는 상기한 수학식 1에 나타낸 그림자 영역의 모델인 R(s)와 같다.
따라서, 상기 수학식 4에서 D(s, tc) 를 R(s)로 대체하면 다음과 같은 수학식 5를 얻을 수 있다.
[수학식 5]
R(s) = D(s, t) + | tc - t|
상기 수학식 5를 이용하여, 그림자 영역의 중심인 tc의 위치를 구하기 위해 수식을 tc 에 대해 정리하면 다음과 같다.
[수학식 6]
| tc - t| = R(s) - D(s, t)
상기 수학식 6에서, 만약 tc > t 일 때에는, 아래와 같은 수학식 7이 구해진다.
[수학식 7]
tc = R(s) - D(s, t) + t
상기 수학식 6에서, 만약 tc < t 일 때에는, 아래와 같은 수학식 8이 구해진다.
[수학식 8]
tc = - R(s) + D(s, t) + t
상기한 그림자 영역의 중심점인 tc는 미지의 값이므로, 상기 수학식 6에 있어서 tc 와 t 의 대소관계를 모르는 상태이다.
따라서, 도 11의 (a)에 도시된 바와 같은 그림자 영역 상의 모든 데이터(D(s, t) 데이터)에 대해 상기 수학식 7에 의한 tc와 상기 수학식 8에 의한 tc를 모두 구한다.
상기한 바와 같이 수학식 7 및 8에 의해 모든 D(s, t) 데이터에 대해 구해진 tc의 값이 중심점(tc) 후보 데이터가 된다.
다시 도 6의 플로우차트로 돌아와서, 상기한 바와 같이 그림자 영역에 대한 정보로부터 중심점(tc) 후보 데이터를 산출(S120)하면, 구하고자 하는 중심선(아직은 알 수 없는 정보임) 주변에 중심점 후보 데이터들이 모여있는 경향이 상당히 뚜렷하게 나타나는데, 이에 대해 피팅(fitting)을 수행하고(S130), 상기한 피팅을 통해 클럽샤프트의 중심선에 대한 모델을 산출한다(S140).
이에 대해서는 도 12 및 도 13을 참조하여 설명하도록 한다.
상기한 바와 같이 수학식 7 및 8에 의해 중심점 tc를 구하면 각각의 D(s, t) 데이터 마다 한 쌍의 결과가 발생하며, 이때 그 한 쌍의 tc 결과 중 하나는 그림자 영역의 중심으로 접근하고, 나머지 하나는 중심에서 더 멀어진 위치가 된다.
도 12를 통해 예를 들어 설명하면, 도 12의 (a) 및 (b)는 도 11의 (a)의 일부를 발췌하여 나타낸 것으로서 그림자 영역 상의 D(s, t) 데이터들 중 s좌표값인 s1값을 갖는 데이터들(Gp)을 색상별 점으로 나타내고 있다(색상별 점들은 설명의 편의를 위해 나타낸 것임).
이들 데이터들(Gp)에 대해 테일러 급수에 의해 상기한 수학식 7 및 8에 의해 중심점 후보 데이터를 구하면 각각의 데이터마다 한 쌍씩의 데이터들이 생성되는데, 이를 도 12의 (c)에서 나타내고 있다.
예컨대 도 12의 (b)에 도시된 데이터들(Gp) 중 pm1 데이터는 테일러 급수에 의한 수렴에 의해(즉, 상기한 수학식 7 및 8에 의해) 도 12의 (c)에 도시된 ps1-1 및 ps1-2의 데이터로 나타나게 된다.
이와 같이 도 12의 (b)에 도시된 데이터들(Gp) 각각의 급수 전개에 의해 도 12의 (c)에 도시된 바와 같은 다수의 데이터들이 생성되는데, 도 12의 (c)에 도시된 바와 같이 한 쌍의 데이터 중 하나는 중심으로 수렴하고 다른 하나는 그 중심에 수렴된 데이터와 떨어진 위치에 존재하게 되어, 전체적으로 도 12의 (c)에 도시된 바와 같이 중심에서 데이터의 밀도(ND)가 높게 분포하게 되는 결과가 생성된다.
도 12의 (a) 내지 (c)에서는 s1값을 갖는 데이터들에 대해서만 예로써 설명하였는데, 이러한 방식으로 모든 D(s, t) 데이터에 대해 테일러 급수에 의한 중심점 후보 데이터를 얻으면 상당수의 데이터는 중심으로 수렴하고 나머지 데이터들은 주변으로 흩어진 상태로 나타내게 된다.
따라서, 상기한 바와 같은 주변으로 흩어진 데이터들은 중심으로 접근한 데이터들에 대해 변별력 있게 구분된다.
상기한 바와 같이 중심점 후보 데이터들에 대해 도 13의 (a)에서 그 일 예를 나타내고 있다 (도면 상으로 다소 과장되게 표현한 것은 설명의 이해를 돕기 위한 것이다).
도 13의 (a)에서는 도 11의 (a)에 도시된 바와 같은 그림자 영역에 대한 정보(SDM)에서 앞서 설명한 테일러 급수를 적용하여 산출한 중심점 후보 데이터들(Ps1)을 나타내고 있으며, 이들 데이터들(Ps1)은 도 12의 (a) 내지 (c)를 통해 설명한 바와 같이 중심 부근으로 수렴한 데이터들과 그 주변으로 흩어진 데이터들로 구분되어 나타나며, 이들 중심점 후보 데이터들(Ps1)에 대해 피팅을 함으로써 중심 부근으로 수렴한 데이터들 중심으로 중심선(Lt1)을 구할 수 있다.
상기한 바와 같은 피팅(Polynomial fitting)을 통해 n차 함수, 예컨대 3차 함수를 구할 수 있고 이를 다음과 같이 나타낼 수 있다.
[수학식 9]
tc (s) = A' s 3 + B' s 2 + C' s + E'
여기서, A', B', C', E'은 모두 상수이며 피팅에 의해 결정되는 값이다.
상기한 바와 같이 중심으로 수렴한 데이터들에 기초하여 피팅을 통해 n차 함수의 선을 피팅할 수 있고 이는 클럽샤프트의 중심선인 것이다(S140, 도 6 참조).
한편, 다시 도 6으로 돌아와서, 상기한 바와 같이 클럽샤프트의 중심선을 중심점 후보 데이터에 대한 피팅을 통해 구하였지만 그 정확도를 높이기 위해, 상기 산출된 중심선 모델을 기준으로 모든 데이터 각각의 거리를 조사해서 일정 거리를 넘어서는 데이터를 이상점(outlier)으로 하여 제거할 수 있고, 그 이상점이 제거되고 남은 데이터(inlier)에 대해 다시 피팅(S150)을 하여, 더욱 정확한 중심선의 모델을 구할 수 있으며, 이를 최종 중심선 모델로 결정할 수 있다(S160).
도 13의 (b)는 도 13의 (a)에서 구한 중심선(Lt1)을 기준으로 이상점들을 제거한 것에 대해 나타내고 있다. 이상점들이 제거되고 남은 데이터, 즉 inlier에 해당하는 데이터(Ps2)에 대해 다시 상기한 수학식 9와 같은 3차 함수의 중심선 모델(Lt2)을 구할 수 있다.
상기한 중심선 모델(Lt2)을 최종 중심선 모델로서 결정할 수도 있고, 상기 중심선 모델(Lt2)을 기준으로 다시 한 번 이상점들을 제거하고 남은 inlier 데이터들을 중심으로 중심선을 피팅함으로써 최종 중심선 모델을 산출할 수도 있다.
도 13의 (c)는 최종적으로 산출된 중심선(Ltc)을 나타내고 있다.
상기한 바와 같은 과정들을 통해 최종적으로 클럽샤프트의 중심선 모델을 결정하면, 이는 s-t의 2차원 좌표값을 갖게 되는데 이를 3차원 좌표로 변환할 수 있으며, 그와 같이 3차원 좌표로 변환함으로써 3차원 공간 상에서의 골프클럽을 정확하게 검출해 낼 수 있게 되는 것이다(S170).
예컨대, 사용자의 골프스윙에 따른 스윙플레인(Swing Plane)을 구하는 기술은 공지 기술인데, 상기한 바와 같은 본 발명에 따른 방법에 의하여 s-t 평면 상에서의 클럽샤프트의 중심선 모델을 구하면 그 클럽샤프트의 중심선 상의 좌표들을 스윙플레인으로 사상하여 3차원 공간 상에서의 클럽샤프트의 좌표 정보를 획득할 수 있다.
이와 같이 획득된 클럽샤프트의 3차원 좌표는 골프 스윙시에 발생하는 클럽샤프트의 휘어짐까지도 모두 검출해 낼 수 있으므로, 종래 골프 스윙시의 골프클럽의 클럽샤프트를 직선으로 근사하여 센싱 결과를 도출한 것과 비교할 때 실제 골프스윙의 결과에 가장 근접하게 정확한 결과를 산출할 수 있는 특장점이 있다.
또한, 본 발명은 상기한 바와 같이 골프클럽의 클럽샤프트의 휘어짐을 모두 검출해 낼 수 있으므로, 골프 스윙시 클럽샤프트가 휘어지는 지점인 킥포인트(Kick Point)를 측정할 수 있으며 로프트 앵글과 탄도 등과 관련된 스윙요소, 특히 종래의 기술로는 검출하기 어려워서 단지 추정만 했었던 여러 가지 스윙요소들에 대해 상당히 정확한 측정을 할 수 있는 특장점이 있다.
100: 카메라부, 110, 120: 카메라
200: 센싱처리부, 210: 이미지 처리부
220: 정보산출부, 300: 클라이언트

Claims (12)

  1. 골프 스윙하는 사용자가 들고 있는 골프클럽을 포함하는 화각으로 영상을 취득하는 단계;
    상기 영상으로부터 바닥에 형성되는 상기 골프클럽의 그림자 영역에 대한 정보를 산출하는 단계; 및
    상기 그림자 영역에 대한 정보의 분석을 통해 상기 골프클럽을 검출하는 단계;
    를 포함하는 골프클럽의 검출 방법.
  2. 제1항에 있어서, 상기 그림자 영역에 대한 정보를 산출하는 단계는,
    상기 영상 상의 화소들을 조사하여 상기 그림자 영역에 해당하는 유효화소들을 검출하고 상기 유효화소들을 이용하여 상기 골프클럽의 그림자 영역에 대한 정보를 산출하는 단계를 포함하는 것을 특징으로 하는 골프클럽의 검출 방법.
  3. 제1항에 있어서, 상기 그림자 영역에 대한 정보를 산출하는 단계는,
    카메라, 조명, 바닥면의 구조적 관계로부터 조명벡터를 산출하는 단계와,
    상기 산출된 조명벡터를 이용하여 상기 골프클럽의 그림자 윤곽에 대한 모델을 산출하는 단계와,
    상기 그림자의 윤곽에 대한 모델에 기초하여 상기 영상 상의 화소들을 조사하여 상기 골프클럽의 그림자 영역에 대한 정보를 산출하는 단계를 포함하는 것을 특징으로 하는 골프클럽의 검출 방법.
  4. 제1항에 있어서, 상기 그림자 영역에 대한 정보를 산출하는 단계는,
    상기 영상을 분석함으로써 상기 골프클럽의 클럽 샤프트를 근사시킨 클럽근사직선을 검출하는 단계와,
    상기 검출된 클럽근사직선을 바닥에 투영시킨 직선 성분을 기준으로 상기 골프클럽의 그림자 윤곽에 대한 모델을 산출하는 단계와,
    상기 산출된 그림자 윤곽에 대한 모델에 기초하여 상기 취득된 영상에 대한 차영상의 화소들을 조사하여 상기 골프클럽의 그림자 영역에 해당하는 유효화소들을 검출함으로써 상기 골프클럽의 그림자 영역에 대한 정보를 산출하는 단계를 포함하는 것을 특징으로 하는 골프클럽의 검출 방법.
  5. 제1항에 있어서, 상기 골프클럽을 검출하는 단계는,
    상기 골프클럽의 그림자 영역에 대한 정보로부터 클럽 샤프트의 중심선에 대한 모델을 산출하는 단계와,
    상기 산출된 클럽 샤프트의 중심선에 대한 모델에 따른 2차원 좌표를 3차원 좌표로 변환함으로써 상기 골프클럽을 검출하는 단계를 포함하는 것을 특징으로 하는 골프클럽의 검출 방법.
  6. 제1항에 있어서, 상기 골프클럽을 검출하는 단계는,
    상기 골프클럽의 그림자 영역에 대한 정보로부터 테일러 급수를 이용한 근사를 통해 중심점 후보 데이터들을 산출하는 단계와,
    상기 중심점 후보 데이터들 중 이상점에 해당하는 데이터들을 제거한 중심점 후보 데이터에 대한 피팅을 통해 클럽 샤프트의 중심선에 대한 모델을 산출하는 단계와,
    상기 산출된 클럽 샤프트의 중심선에 대한 모델에 따른 2차원 좌표를 3차원 좌표로 변환함으로써 상기 골프클럽을 검출하는 단계를 포함하는 것을 특징으로 하는 골프클럽의 검출 방법.
  7. 제1항에 있어서,
    상기 그림자 영역에 대한 정보를 산출하는 단계는,
    카메라, 조명, 바닥면의 구조적 관계로부터 상기 골프클럽의 그림자 추정 영역을 검출하고 상기 그림자 추정 영역의 윤곽으로서 그림자 윤곽에 대한 모델을 산출하는 단계와,
    상기 취득된 영상에 대한 차영상에서 상기 검출된 그림자 추정 영역 내의 화소들 각각에 대해 각 화소를 중심으로 상기 그림자 윤곽에 대한 모델에 대응하는 크기의 체크윈도우를 생성하고 그 생성된 체크윈도우 내부의 모든 화소들을 조사하여 그 중심의 화소가 유효화소인지 여부를 판단하는 단계와,
    상기 그림자 추정 영역 내의 모든 화소들 중 상기 유효화소들을 결정함으로써 상기 결정된 유효화소들에 관한 정보를 포함하는 상기 그림자 영역에 대한 정보를 산출하는 단계를 포함하는 것을 특징으로 하는 골프클럽의 검출 방법.
  8. 골프 스윙하는 사용자가 들고 있는 골프클럽의 그림자에 대한 윤곽을 추정하는 단계;
    상기 골프클럽을 포함하는 화각으로 취득한 영상을 이용하여 영상 상에서 상기 추정된 윤곽 내의 화소들을 조사함으로써 상기 그림자에 해당하는 유효 화소들을 검출하고 그로부터 상기 골프클럽의 그림자 영역에 대한 정보를 산출하는 단계; 및
    상기 그림자 영역에 대한 정보의 분석을 통해 상기 골프클럽을 검출하는 단계;
    를 포함하는 골프클럽의 검출방법.
  9. 제8항에 있어서,
    상기 그림자 영역에 대한 정보를 산출하는 단계는,
    상기 취득 영상에서 배경을 제거한 차영상으로부터 상기 추정된 윤곽 내에서 상기 유효 화소들을 검출하는 단계와,
    상기 검출된 유효 화소들에 의해 결정되는 그림자 모델을 산출하는 단계를 포함하며,
    상기 골프클럽을 검출하는 단계는,
    상기 산출된 그림자 모델에 의해 정의되는 상기 영상 상의 데이터를 통해 클럽 샤프트의 중심선에 대한 모델을 산출하는 단계와,
    상기 산출된 클럽 샤프트의 중심선에 대한 모델에 따른 2차원 좌표를 3차원 좌표로 변환함으로써 상기 골프클럽을 검출하는 단계를 포함하는 것을 특징으로 하는 골프클럽의 검출 방법.
  10. 골프 스윙하는 사용자가 들고 있는 골프클럽을 포함하는 화각으로 영상을 취득하는 단계;
    상기 영상을 분석함으로써 상기 골프클럽의 클럽 샤프트를 근사시킨 클럽근사직선을 검출하는 단계;
    상기 검출된 클럽근사직선을 바닥에 투영시킨 직선 성분을 기준으로 상기 영상으로부터 상기 바닥에 형성되는 상기 골프클럽의 그림자 영역에 해당하는 화소들의 정보를 포함하는 그림자 정보를 산출하는 단계; 및
    상기 그림자 정보의 데이터 분석을 통해 상기 골프클럽을 검출하는 단계;
    를 포함하는 골프클럽의 검출방법.
  11. 골프 스윙 시의 골프클럽을 검출하는 센싱장치로서,
    골프 스윙하는 사용자가 들고 있는 골프클럽을 포함하는 화각으로 영상을 취득하는 카메라; 및
    상기 영상으로부터 바닥에 형성되는 상기 골프클럽의 그림자 영역을 특정하며, 상기 특정된 그림자 영역에 대한 정보의 분석을 통해 상기 골프클럽을 검출하는 센싱처리부;
    를 포함하는 센싱장치.
  12. 제11항에 있어서, 상기 센싱처리부는,
    상기 그림자의 윤곽을 추정하고, 상기 영상 상에서 상기 추정된 윤곽 내의 화소들을 조사하여 상기 그림자 영역에 해당하는 유효 화소들을 검출함으로써 상기 골프클럽의 그림자 영역을 특정하며, 상기 특정된 골프클럽의 그림자 영역에 해당하는 데이터들로부터 클럽 샤프트의 중심선에 대한 모델을 산출하고, 상기 산출된 클럽 샤프트의 중심선에 대한 모델에 따른 2차원 좌표를 3차원 좌표로 변환함으로써 상기 골프클럽을 검출하도록 구성되는 것을 특징으로 하는 센싱장치.
KR1020190092460A 2019-07-30 2019-07-30 골프클럽 센싱방법 및 이를 이용한 센싱장치 KR20210014409A (ko)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020190092460A KR20210014409A (ko) 2019-07-30 2019-07-30 골프클럽 센싱방법 및 이를 이용한 센싱장치
CN202080055396.3A CN114175098A (zh) 2019-07-30 2020-07-24 高尔夫球杆的检测方法及利用其的感测装置
CA3149314A CA3149314C (en) 2019-07-30 2020-07-24 Detection method for golf club and sensing apparatus using the same
PCT/KR2020/009760 WO2021020813A1 (ko) 2019-07-30 2020-07-24 골프클럽의 검출 방법 및 이를 이용한 센싱장치
US17/630,941 US20220273998A1 (en) 2019-07-30 2020-07-24 Detecting method of golf club and sensing device using the same
KR1020210082092A KR102563102B1 (ko) 2019-07-30 2021-06-24 골프클럽의 센싱방법 및 이를 이용한 센싱장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190092460A KR20210014409A (ko) 2019-07-30 2019-07-30 골프클럽 센싱방법 및 이를 이용한 센싱장치

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020210082092A Division KR102563102B1 (ko) 2019-07-30 2021-06-24 골프클럽의 센싱방법 및 이를 이용한 센싱장치

Publications (1)

Publication Number Publication Date
KR20210014409A true KR20210014409A (ko) 2021-02-09

Family

ID=74230753

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020190092460A KR20210014409A (ko) 2019-07-30 2019-07-30 골프클럽 센싱방법 및 이를 이용한 센싱장치
KR1020210082092A KR102563102B1 (ko) 2019-07-30 2021-06-24 골프클럽의 센싱방법 및 이를 이용한 센싱장치

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020210082092A KR102563102B1 (ko) 2019-07-30 2021-06-24 골프클럽의 센싱방법 및 이를 이용한 센싱장치

Country Status (5)

Country Link
US (1) US20220273998A1 (ko)
KR (2) KR20210014409A (ko)
CN (1) CN114175098A (ko)
CA (1) CA3149314C (ko)
WO (1) WO2021020813A1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7281857B1 (ja) * 2023-01-06 2023-05-26 有限会社Amplus 表示制御装置およびプログラム

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4647761B2 (ja) * 2000-09-13 2011-03-09 浜松ホトニクス株式会社 スイング物体の速度測定装置
KR100493718B1 (ko) * 2003-02-25 2005-06-02 (유)동진정보통신 골프스윙객체 자세추적방법
KR100977335B1 (ko) * 2008-01-10 2010-08-20 최성열 골프 타구 분석 시스템
KR100920949B1 (ko) * 2008-12-12 2009-10-09 (주) 알디텍 스크린 골프 시스템에서 클럽 헤드의 진입각, 공간속도 및타격점을 알기 위한 센싱 시스템
KR101248836B1 (ko) * 2010-06-07 2013-03-29 (주) 알디텍 골프 타격 정보 측정 시스템 및 방법
KR20170103365A (ko) * 2016-03-04 2017-09-13 한국전자통신연구원 고속 동작 물체의 객체 궤적 추적장치 및 그 방법

Also Published As

Publication number Publication date
US20220273998A1 (en) 2022-09-01
KR102563102B1 (ko) 2023-08-03
CA3149314C (en) 2024-05-28
CN114175098A (zh) 2022-03-11
KR20210082140A (ko) 2021-07-02
CA3149314A1 (en) 2021-02-04
WO2021020813A1 (ko) 2021-02-04

Similar Documents

Publication Publication Date Title
JP5858261B2 (ja) 仮想ゴルフシミュレーション装置と、これに用いられるセンシング装置及びセンシング方法
JP5960240B2 (ja) 仮想ゴルフシミュレーション装置に用いられるセンシング装置及びセンシング方法
TWI448318B (zh) 虛擬高爾夫模擬裝置及其使用之感測裝置與感測方法
KR20090130003A (ko) 삼차원 물체를 트래킹하기 위한 시스템 및 방법
WO2021085578A1 (en) Ball tracking apparatus and ball tracking method
KR101826837B1 (ko) 볼의 비행정보 연산장치, 볼의 비행정보 연산방법 및 이를 기록한 컴퓨팅장치에 의해 판독 가능한 기록매체
Elliott et al. Single view silhouette fitting techniques for estimating tennis racket position
KR102563102B1 (ko) 골프클럽의 센싱방법 및 이를 이용한 센싱장치
TWI635887B (zh) 用於計算使用者的高爾夫擊球的資訊的感測裝置及利用其的感測方法
KR101078954B1 (ko) 가상 골프 시뮬레이션 장치와, 이에 이용되는 센싱장치 및 센싱방법
KR101705840B1 (ko) 깊이 정보를 이용한 골프 시뮬레이션 시스템 및 방법
JP7562919B2 (ja) ゴルフスイングに対するセンシング装置及びこれを利用したクラブヘッドのインパクト位置センシング方法
JP2024525894A (ja) 移動するボールのセンシングのため映像分析方法及びこれを利用したセンシング装置
Trewartha Video-based automatic tracking of three-dimensional human movement.

Legal Events

Date Code Title Description
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2021101001601; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20210624

Effective date: 20211027