KR20210021003A - Systems and methods for measuring 3D properties using computer vision - Google Patents

Systems and methods for measuring 3D properties using computer vision Download PDF

Info

Publication number
KR20210021003A
KR20210021003A KR1020217000708A KR20217000708A KR20210021003A KR 20210021003 A KR20210021003 A KR 20210021003A KR 1020217000708 A KR1020217000708 A KR 1020217000708A KR 20217000708 A KR20217000708 A KR 20217000708A KR 20210021003 A KR20210021003 A KR 20210021003A
Authority
KR
South Korea
Prior art keywords
golf club
camera
fiducials
image
function
Prior art date
Application number
KR1020217000708A
Other languages
Korean (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 카스턴 매뉴팩츄어링 코오포레이숀
Publication of KR20210021003A publication Critical patent/KR20210021003A/en

Links

Images

Classifications

    • 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/42Devices for measuring, verifying, correcting or customising the inherent characteristics of golf clubs, bats, rackets or the like, e.g. measuring the maximum torque a batting shaft can withstand
    • 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
    • A63B24/0003Analysing the course of a movement or motion sequences during an exercise or trainings sequence, e.g. swing for golf or tennis
    • A63B24/0006Computerised comparison for qualitative assessment of motion sequences or the course of a movement
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B53/00Golf clubs
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B53/00Golf clubs
    • A63B53/04Heads
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B53/00Golf clubs
    • A63B53/04Heads
    • A63B53/047Heads iron-type
    • 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
    • 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/3605Golf club selection aids informing player of his average or expected shot distance for each club
    • 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/3608Attachments on the body, e.g. for measuring, aligning, restraining
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/002Measuring arrangements characterised by the use of optical techniques for measuring two or more coordinates
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B11/00Measuring arrangements characterised by the use of optical techniques
    • G01B11/26Measuring arrangements characterised by the use of optical techniques for measuring angles or tapers; for testing the alignment of axes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01BMEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
    • G01B5/00Measuring arrangements characterised by the use of mechanical techniques
    • G01B5/0023Measuring of sport goods, e.g. bowling accessories, golfclubs, game balls
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • G06T7/593Depth or shape recovery from multiple images from stereo images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • G06T7/85Stereo camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/97Determining parameters from multiple pictures
    • 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/0021Tracking a path or terminating locations
    • A63B2024/0028Tracking the path of an object, e.g. a ball inside a soccer pitch
    • 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
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2225/00Miscellaneous features of sport apparatus, devices or equipment
    • A63B2225/02Testing, calibrating or measuring of equipment
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B2225/00Miscellaneous features of sport apparatus, devices or equipment
    • A63B2225/50Wireless data transmission, e.g. by radio transmitters or telemetry
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B53/00Golf clubs
    • A63B53/04Heads
    • A63B53/0408Heads characterised by specific dimensions, e.g. thickness
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63BAPPARATUS FOR PHYSICAL TRAINING, GYMNASTICS, SWIMMING, CLIMBING, OR FENCING; BALL GAMES; TRAINING EQUIPMENT
    • A63B53/00Golf clubs
    • A63B53/04Heads
    • A63B53/0441Heads with visual indicators for aligning the golf club
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • G06T2207/10021Stereoscopic video; Stereoscopic image sequence
    • 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/30204Marker
    • 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
    • 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/30244Camera pose
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V2201/00Indexing scheme relating to image or video recognition or understanding
    • G06V2201/12Acquisition of 3D measurements of objects

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Physical Education & Sports Medicine (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biophysics (AREA)
  • Human Computer Interaction (AREA)
  • Length Measuring Devices By Optical Means (AREA)
  • Golf Clubs (AREA)
  • Image Analysis (AREA)

Abstract

컴퓨팅 디바이스 및 카메라를 포함하는 시스템이 개시된다. 시스템은 기계 장치의 3차원 속성 및 관련 성능 측정치를 측정하도록 구성된다. 일부 실시예는 기계 장치의 이미지를 캡처하도록 구성된 카메라 및 카메라와 통신하는 컴퓨팅 디바이스를 포함한다. 일부 실시예에서, 컴퓨팅 디바이스는 카메라의 공간 해상도를 보정하기 위해 제1 복수의 기점과 관련된 제1 픽셀 세트에 액세스하도록 구성된다. 카메라로부터의 제2 이미지는 기계 장치에 부착된 복수의 기점 각각과 관련된 제2 픽셀 세트로 변환될 수 있다. 컴퓨팅 디바이스는 기계 장치 상의 복수의 기점의 위치를 결정하기 위해 제1 및 제2 픽셀 세트를 비교하도록 추가로 구성될 수 있다.A system including a computing device and a camera is disclosed. The system is configured to measure the three-dimensional properties of the mechanical device and associated performance measures. Some embodiments include a camera configured to capture an image of a mechanical device and a computing device in communication with the camera. In some embodiments, the computing device is configured to access a first set of pixels associated with the first plurality of fiducials to correct the spatial resolution of the camera. The second image from the camera may be transformed into a second set of pixels associated with each of a plurality of fiducials attached to the mechanical device. The computing device may be further configured to compare the first and second sets of pixels to determine the locations of the plurality of fiducials on the mechanical device.

Description

컴퓨터 비전을 사용하여 3D 속성을 측정하기 위한 시스템 및 방법Systems and methods for measuring 3D properties using computer vision

관련 출원에 대한 상호 참조Cross-reference to related applications

본 출원은 그 전체가 참조로 인용되는 2018년 6월 12일에 출원된 미국 가특허 출원 제62/684,119호에 대한 이익을 주장하는 미국 정규 특허 출원이다.This application is a U.S. regular patent application claiming benefit to U.S. Provisional Patent Application No. 62/684,119, filed June 12, 2018, which is incorporated by reference in its entirety.

기술 분야Technical field

본 개시는 일반적으로 기계 장치와 관련된 처리된 2차원(2D) 데이터를 기반으로 기계 장치의 3차원(3D) 특징을 예측함으로써, (실시간으로) 기계 장치와 관련된 소정의 물리적 속성의 조정을 측정하고 수용하도록 집합적으로 구성된 적어도 하나의 컴퓨팅 디바이스 및 카메라를 포함하는 컴퓨터화된 시스템에 관한 것이다.The present disclosure measures the adjustment of certain physical properties associated with the mechanical device (in real time) by predicting the three-dimensional (3D) characteristics of a mechanical device, generally based on processed two-dimensional (2D) data associated with the mechanical device. A computerized system comprising a camera and at least one computing device collectively configured to receive.

기계 장치는, 예컨대 장치의 구성요소와 관련된 각도 및 다른 치수를 원하는 대로 구성하기 위해, 종종 장치의 제조 동안 또는 제조 후에 조정 단계를 거친다. 예컨대, 장치의 전체 몸체 또는 선택된 표면에 대한 아암 또는 세장형 부재의 각도는 특정 용도에 적합한 소정의 사양에 따라 조정되거나 또는 수정될 수 있다. 그러나, 조정 단계에는 다양한 측정 및 조정 도구에 기계 장치를 부착하고 분리하는 과정이 포함될 수 있고, 이로 인해 장치에 마모 또는 손상이 유발될 수 있다.Mechanical devices are often subjected to adjustment steps during or after manufacture of the device, for example to configure the angles and other dimensions associated with the components of the device as desired. For example, the angle of the arm or elongate member relative to the entire body or selected surface of the device may be adjusted or modified according to certain specifications suitable for a particular application. However, the adjustment step may involve attaching and detaching the mechanical device to various measurement and adjustment tools, which can cause wear or damage to the device.

특정 비-제한적인 예로서, 제조 중에 또는 그 외에 골프 클럽의 속성[예컨대, 로프트(loft)]을 조정하는 것은 정확한 측정에 따라 클럽 헤드 및 클럽 샤프트에 구조적 수정을 주의 깊게 적용하는 것을 필요로 한다. 특히, 적절한 조정을 확인하기 위해서는 골프 클럽 속성[예컨대, 로프트 각도, 라이 각도(lie angle), 길이, 벌지(bulge) 또는 롤(roll)]의 매 조정 후에 측정이 수행되어야 한다. 그러나, 골프 클럽의 속성을 측정하는 도구는 일반적으로 골프 클럽과의 물리적 접촉을 필요로 한다. 이와 같이, 골프 클럽은 일반적으로 측정 도구와 조정 도구 사이에서 여러 번 이송된다. 따라서, 골프 클럽은 매 조정 전에 조정 도구 내에 재-위치되어야 할 수 있다. 이러한 방식으로 골프 클럽을 여러 번 이송하면 제조를 위한 작업 시간이 늘어나고, 또한 완성된 골프 클럽 제품에 스크래치 및 마모가 형성될 수도 있다.As a specific non-limiting example, adjusting the properties of a golf club (e.g., loft) during manufacturing or otherwise requires careful application of structural modifications to the club head and club shaft according to accurate measurements. . In particular, measurements should be made after every adjustment of the golf club properties (eg, loft angle, lie angle, length, bulge or roll) to ensure proper adjustment. However, tools that measure the properties of a golf club generally require physical contact with the golf club. As such, the golf club is typically transferred several times between the measuring tool and the adjusting tool. Thus, the golf club may have to be re-positioned within the adjustment tool before every adjustment. Transferring the golf club multiple times in this way increases the working time for manufacturing, and may also cause scratches and wear on the finished golf club product.

이러한 관찰을 염두에 두고, 특히 본 개시의 다양한 양태들이 구상되고 개발되었다.With this observation in mind, in particular various aspects of the present disclosure have been conceived and developed.

도 1a는 원하는 목표 성능 사양에 따라 기계 장치의 측정 및 가능한 조정을 수용하도록 구성된 시스템을 나타내는 단순화된 블록 다이어그램이다.
도 1b는 도 1a의 시스템과 관련된 기계 장치의 가능한 조정 및 평가를 위한 애플리케이션의 가능한 모듈들 사이의 관계 및 흐름 논리를 나타내는 흐름도이다.
도 2a는 기계 장치의 이미지 특징을 추적하기 위한 기점의 어레이를 포함하는 예시적인 보정 시트이다.
도 2b는 본 명세서에 설명된 바와 같이 장치의 양태를 측정하기 위해 기계 장치를 따라 위치될 수 있는 도 2a의 보정 시트와 관련된 기점 세트이다.
도 3a는 본 명세서에 설명된 시스템을 이용하여 측정 및 조정될 수 있는 예시적인 기계 장치의 단순화된 예시이다.
도 3b는 스윙 분석을 향상시키기 위해 본 명세서에 설명된 시스템을 실제 골퍼에게 적용하는 단순화된 예시이다.
도 4는 도 1a의 시스템을 사용하여 특정 기계 장치, 예컨대 골프 클럽의 가능한 조정 및 평가를 위한 애플리케이션의 가능한 모듈들 사이의 관계 및 흐름 논리를 나타내는 흐름도이다.
도 5는 도 4에 언급된 골프 클럽의 사시도이다.
도 6a는 골프 클럽을 따라 위치된 기점을 갖는 도 4에 언급된 골프 클럽의 사시도이다.
도 6b는 골프 클럽을 따라 위치된 기점을 갖는 도 4에 언급된 골프 클럽의 또 다른 사시도이다.
도 6c는 골프 클럽의 페이스를 따라 위치된 기점을 갖는 도 5b의 골프 클럽의 클럽 헤드의 확대 상세도이다.
도 7은 측정 및 분석 중의 도 5b의 골프 클럽의 측면도이다.
도 8a 내지 도 8b는 본 명세서에 설명된 본 발명의 개념과 관련된 테스트 데이터를 예시하는 그래프이다.
도 9는 본 명세서에서 논의되는 다양한 서비스, 시스템 및 방법을 구현할 수 있는 컴퓨팅 시스템의 예를 예시하는 단순화된 블록도이다.
대응하는 참조 문자는 도면들 가운데 대응하는 요소를 나타낸다. 도면에 사용된 표제는 청구항의 범위를 제한하지 않는다.
1A is a simplified block diagram illustrating a system configured to accommodate measurements and possible adjustments of a mechanical device according to a desired target performance specification.
FIG. 1B is a flow diagram showing the relationship and flow logic between possible modules of the application for possible adjustment and evaluation of the mechanical devices associated with the system of FIG. 1A.
2A is an exemplary calibration sheet comprising an array of fiducials for tracking image features of a mechanical device.
2B is a set of fiducials associated with the calibration sheet of FIG. 2A that may be positioned along a mechanical device to measure aspects of the device as described herein.
3A is a simplified illustration of an exemplary mechanical device that can be measured and adjusted using the system described herein.
3B is a simplified example of applying the system described herein to an actual golfer to improve swing analysis.
FIG. 4 is a flow diagram illustrating the relationship and flow logic between possible modules of the application for possible adjustment and evaluation of a particular mechanical device, such as a golf club, using the system of FIG. 1A.
5 is a perspective view of the golf club mentioned in FIG. 4.
6A is a perspective view of the golf club referred to in FIG. 4 with a fiducial positioned along the golf club.
6B is another perspective view of the golf club referred to in FIG. 4 with an origin located along the golf club.
6C is an enlarged detail view of the club head of the golf club of FIG. 5B with a fiducial located along the face of the golf club.
7 is a side view of the golf club of FIG. 5B during measurement and analysis.
8A-8B are graphs illustrating test data related to the inventive concepts described herein.
9 is a simplified block diagram illustrating an example of a computing system that may implement the various services, systems, and methods discussed herein.
Corresponding reference characters indicate corresponding elements in the drawings. The headings used in the drawings do not limit the scope of the claims.

전술한 관점에서, 기계 장치와 관련된 3차원(3D) 속성을 측정하기 위한 시스템과 관련된 기술적 개선이 필요하다. 따라서, 본 개시 내용의 양태는 애플리케이션 또는 다른 방식을 통해 구성된 컴퓨팅 디바이스 및/또는 컴퓨터 프로그램 제품, 및 적어도 하나의 카메라(컴퓨팅 디바이스와 통합되거나 또는 별도로 구현됨)를 포함하는 시스템 형태의 본 발명의 기술적 솔루션에 관한 것으로서, 여기서 시스템은 일반적으로 (장치를 따라 규정된 실제 특징 및/또는 장치를 따라 위치된 기준에 의해 해석되는) 기계 장치와 관련된 2D 이미지 특징에 대한 변화를 나타내는 이미지 데이터의 계산 또는 처리를 기반으로 기계 장치의 미리 정해놓은 성능 측정과 관련된 3D 속성을 측정하도록 구성된다.In view of the above, there is a need for technical improvements related to systems for measuring three-dimensional (3D) properties associated with mechanical devices. Accordingly, aspects of the present disclosure are technical of the present disclosure in the form of a system including a computing device and/or a computer program product configured through an application or other manner, and at least one camera (integrated with or implemented separately with a computing device). Regarding a solution, the system is generally used to calculate or process image data representing changes in 2D image features associated with a mechanical device (interpreted by an actual feature defined along the device and/or a reference positioned along the device). It is configured to measure the 3D properties related to the predetermined performance measurement of the mechanical device based on.

본 발명의 시스템은 기계 장치의 제조 및 측정의 다양한 양태를 개선할 수 있다. 보다 구체적으로, 시스템은 생산 중에 기계 장치의 3D 속성에 대한 실시간 판독을 제조업체에게 제공하여, 매 측정 후 조정 메커니즘 내에서 장치를 재-위치시키지 않고도 속성을 조정할 수 있다. 따라서, 시스템은 작업 시간, 조정 횟수, 완제품의 마모 및 긁힘을 감소시킬 수 있다. 또한, 시스템은 장치의 품질을 향상시키고, 운영 비용을 낮추며, 기술자의 피로를 줄일 수 있다. 도면을 참조하면, 기계 장치의 속성을 실시간으로 측정하기 위한 시스템의 실시예가 도시되어 있으며, 도 1 내지 도 9에서 일반적으로 100 및 200으로 표시된다.The system of the present invention can improve various aspects of the manufacturing and measurement of mechanical devices. More specifically, the system provides manufacturers with real-time readings of the mechanical device's 3D properties during production, allowing the properties to be adjusted without re-positioning the device within the adjustment mechanism after each measurement. Thus, the system can reduce working time, number of adjustments, wear and scratches of the finished product. In addition, the system can improve the quality of the device, lower operating costs, and reduce technician fatigue. Referring to the drawings, an embodiment of a system for measuring a property of a mechanical device in real time is shown, which is generally indicated as 100 and 200 in FIGS. 1 to 9.

도 1a를 참조하면, 기계 장치의 속성을 측정하고 조정하기 위한 시스템(100)이 도시되어 있다. 시스템(100)은 일반적으로 컴퓨팅 디바이스(104)에 의해 실행되는 측정 및 조정 애플리케이션(102)[이하 "애플리케이션(102)"], 컴퓨팅 디바이스(104)와 작동 가능하게 통신하는 카메라(106)[또는 복수의 카메라(106)], 및 기계 장치(110)를 따라 규정되거나 또는 위치된 기점(108)[또는 복수의 기점(108)]을 포함한다. 기점(108)은 카메라(106)의 시야에 배치된 임의의 물체 또는 마커 또는 이후 생성된 이미지 또는 이미지 데이터에서 기준점 또는 척도로서(또는 광학 기기의 레티클에서 물체 또는 마크 세트로서) 나타나는 다른 이미징 시스템을 포함할 수 있다. 일부 실시예에서, 기점(108)은 바코드, 2D 바코드, 솔리드 기하학적 형상(예컨대, 녹색 삼각형)과 같은 기계 장치(110)의 부분에 결합 가능한 개별 구성요소, 또는 카메라(106)에 의해 캡처되거나 또는 해석될 수 있고 카메라(106)에 의해 생성된 이미지의 픽셀로 표현될 수 있는 임의의 그러한 구성요소를 포함할 수 있다. 대안적으로, 기점(108)은 평면, 벡터 또는 다른 속성을 규정하는데 사용될 수 있는 홈, 융기부, 돌출부, 인쇄된 문자 등과 같이 기계 장치(110)를 따라 규정된 실제 특징을 포함할 수 있다.Referring to Fig. 1A, a system 100 for measuring and adjusting properties of a mechanical device is shown. The system 100 generally includes a measurement and calibration application 102 (hereinafter “application 102”) executed by the computing device 104, a camera 106 in operative communication with the computing device 104 (or A plurality of cameras 106], and a fiducial 108 (or a plurality of fiducials 108) defined or positioned along the mechanical device 110. The fiducial point 108 is any object or marker placed in the field of view of the camera 106 or other imaging system that appears as a reference point or measure (or as a set of objects or marks in the reticle of the optics) in the subsequently generated image or image data. Can include. In some embodiments, the fiducial point 108 is captured by a camera 106, or a discrete component that can be coupled to a portion of the mechanical device 110 such as a barcode, a 2D barcode, a solid geometry (e.g., a green triangle) or It may include any such component that may be interpreted and represented as pixels of an image generated by camera 106. Alternatively, fiducial 108 may include actual features defined along mechanical device 110 such as grooves, ridges, protrusions, printed text, etc. that may be used to define planes, vectors or other properties.

일부 실시예에서, 시스템(100)은 카메라(106)에 대해 제 위치에 기계 장치(110)를 유지하기 위한 바이스 그립(vise grip)과 같은 고정 도구(112)를 더 포함할 수 있으며, 또한 기계 장치(110)의 물리적 특성을 조작하거나, 구부리거나, 또는 다른 방식으로 수정하기 위한 (예컨대, 벤딩 머신, 플라이어, 렌치 등과 같은) 조정 도구(114)를 포함할 수 있다. 집합적으로, 시스템(100)은 본 명세서에서 추가로 설명되는 바와 같이 기계 장치(110)의 소정의 특성의 측정 및 조정을 수용하도록 구성된다.In some embodiments, the system 100 may further include a securing tool 112 such as a vise grip to hold the mechanical device 110 in place with respect to the camera 106, and also It may include an adjustment tool 114 (eg, such as a bending machine, pliers, wrench, etc.) to manipulate, bend, or otherwise modify the physical properties of the device 110. Collectively, system 100 is configured to accommodate the measurement and adjustment of certain characteristics of mechanical device 110 as further described herein.

도시된 바와 같이, 컴퓨팅 디바이스(104)는 네트워크(116)를 통해 카메라(106)와 작동 가능하게 무선 통신할 수 있다. 다른 실시예에서, 컴퓨팅 디바이스(104)는 유선 연결을 통해 카메라(106)와 작동 가능하게 통신할 수 있거나, 또는 카메라(106)는 본 명세서에서 더 설명되는 바와 같이 컴퓨팅 디바이스(104)와 통합될 수 있다. 컴퓨팅 디바이스(104)는 서버, 제어기, 개인용 컴퓨터, 단말기, 워크스테이션, 랩톱, 모바일 장치, 스마트 폰, 태블릿, 메인 프레임, 또는 애플리케이션(102)에 의해 구성되거나 또는 다른 방식으로 본 명세서에 설명된 기능을 구현하도록 구성된 다른 그러한 컴퓨팅 디바이스 중 하나 이상을 포함할 수 있다. 애플리케이션(102)은 C++의 Open CV 및 ArUco 도구 세트와 같은 상이한 소프트웨어 패키지를 사용하여 생성될 수 있지만, 그러나 본 개념은 이와 관련하여 제한되지 않는다. 시스템(100) 및/또는 애플리케이션(102)의 양태는 예컨대 아마존 웹 서비스(Amazon Web Services) 또는 다른 분산 또는 비집중형 시스템을 사용하여 서비스로서의 플랫폼(PaaS) 및/또는 서비스로서의 소프트웨어(SaaS)를 사용하여 모바일 애플리케이션으로 제공될 수 있다. 네트워크(116)는 인터넷, 인트라넷, 가상 사설망(VPN), 근거리 통신망(LAN), 광역 네트워크(LAN), 피어-투-피어 네트워크, 클라우드 등을 포함할 수 있다. 일부 실시예에서, 클라우드(도시되지 않음)는 시스템(100)의 하나 이상의 구성요소를 실행하기 위해 구현될 수 있다.As shown, computing device 104 may operatively communicate wirelessly with camera 106 via network 116. In other embodiments, computing device 104 may operably communicate with camera 106 via a wired connection, or camera 106 may be integrated with computing device 104 as further described herein. I can. Computing device 104 may be configured by a server, controller, personal computer, terminal, workstation, laptop, mobile device, smart phone, tablet, main frame, or application 102, or otherwise, the functionality described herein. It may include one or more of other such computing devices configured to implement. The application 102 may be created using different software packages such as C++'s Open CV and ArUco toolset, but the concept is not limited in this regard. Aspects of system 100 and/or application 102 may be implemented using Platform as a Service (PaaS) and/or Software as a Service (SaaS), for example, using Amazon Web Services or other distributed or decentralized systems. It can be used as a mobile application. The network 116 may include the Internet, an intranet, a virtual private network (VPN), a local area network (LAN), a wide area network (LAN), a peer-to-peer network, a cloud, and the like. In some embodiments, a cloud (not shown) may be implemented to execute one or more components of system 100.

추가로 지시된 바와 같이, 컴퓨팅 디바이스(104)는 데이터베이스(118)와 작동 가능하게 연결될 수 있거나 또는 다른 방식으로 데이터베이스에 액세스할 수 있다. 데이터베이스(118)는 기계 장치(110)에 대한 소정의 또는 원하는 특성에 대한 정보, 가상 객체, 및 본 명세서에 설명된 다른 관련 정보를 저장할 수 있다. 예컨대, 데이터베이스(118)는 서로 다른 유형의 골프 클럽에 적합한 소정의 로프트 및 라이 각도에 대한 정보를 저장할 수 있다. 또한, 애플리케이션(102)의 적어도 일부 특징은 네트워크(116)를 통해 컴퓨팅 디바이스(104)와 통신하는 복수의 사용자 장치(120)에 이용 가능하게 될 수 있다. 복수의 사용자 장치(120)는 제어기, 개인용 컴퓨터, 단말기, 워크스테이션, 휴대용 컴퓨터, 랩톱, 모바일 장치, 태블릿, 전화, 호출기 또는 멀티미디어 콘솔 중 적어도 하나를, 제한 없이, 포함할 수 있다. 복수의 사용자 장치(120) 중 임의의 하나는 예컨대, 컴퓨팅 디바이스(104)에 요청 또는 정보를 제출하고, 예컨대 기계 장치(110)가 어떤 형태로 조정될 것을 요청하도록 구현될 수 있다.As further indicated, the computing device 104 may be operatively coupled with the database 118 or may otherwise access the database. The database 118 may store information about predetermined or desired properties for the mechanical device 110, virtual objects, and other related information described herein. For example, the database 118 may store information on predetermined loft and lie angles suitable for different types of golf clubs. Further, at least some features of application 102 may be made available to a plurality of user devices 120 that communicate with computing device 104 over network 116. The plurality of user devices 120 may include, without limitation, at least one of a controller, personal computer, terminal, workstation, portable computer, laptop, mobile device, tablet, phone, pager, or multimedia console. Any one of the plurality of user devices 120 may be implemented to, for example, submit a request or information to the computing device 104 and request that, for example, the mechanical device 110 be adjusted in some form.

도 1a를 참조하여, 도 1b를 참조하면, 데이터가 실행되고 컴퓨팅 디바이스(104) 및 카메라(106)를 사용하는 애플리케이션(102)과 관련된 복수의 가능한 모듈을 통해 처리될 때 데이터의 생성, 처리 및 흐름을 예시하는 흐름도(150)가 도시된다. 도시된 모듈을 활용하여, 애플리케이션(102)은 성능 측정을 생성하는데 사용될 수 있는 물리적 3D 물리적 속성, 또는 다른 정보[예컨대 기계 장치(110)의 임의의 표면과 주어진 축 사이의 상대 각도], 또는 기계 장치(110)를 평가하거나 또는 조정하는데 유용한 정보를 출력하도록 구성된다. 일반적으로, 카메라(106)는 기점(108)의 사전 보정된 3D 위치(156)를 평가하기 위해, '장면 보정' 모듈(154)과 관련된 보정 이미지 프레임(152)을 생성하는데 사용될 수 있다. 기점(108)은 기계 장치(110)를 따라 디플로잉될(deployed) 수 있으며, 기계 장치(110)의 이미지 프레임(158)이 생성될 수 있고, 이 경우 2D 이미지 좌표(162) 또는 기점(108)과 관련된 다른 2D 이미지 특징을 기록하거나 또는 식별하기 위해 '기점 추적' 모듈(160) 및/또는 '실제 특징 추적' 모듈(164)이 카메라(106)와 (병렬로 또는 개별적으로) 사용될 수 있다. 2D 이미지 좌표(162)를 활용하여, 애플리케이션(102)과 관련된 '3D 위치 추정' 모듈(170)은 기계 장치(110)의 기점(108) 및 실제 특징에 대응하는 3차원(3D) 포인트/좌표(172)의 세트를 추후에 추정하거나 또는 생성하도록 구성된다. 이러한 3D 포인트(172)가 생성되면, 기계 장치(110)의 특정 물리적 속성(176)을 규정하기 위해 일련의 소정의 선형 대수 연산을 3D 포인트(172)에 적용하도록 구성된 '물리적 속성 규정' 모듈(174)이 구현될 수 있다. "성능 측정" 모듈(178)은 이 경우 본 명세서에서 추가로 설명되는 바와 같이 임의의 개수 또는 유형의 성능 측정을 출력하기 위해 기계 장치(110)의 물리적 속성(176)과 관련된 데이터를 이용할 수 있다. 일부 실시예에서, 성능 측정(도시되지 않음)은 소정의 가상 객체의 데이터베이스(182)를 참조하여 '가상 객체 중첩' 모듈(180)을 통해 소정의 목표 사양에 대해 추가로 확인될 수 있다.Referring to FIG. 1A, and referring to FIG. 1B, the creation, processing and processing of data as it is executed and processed through a plurality of possible modules associated with the application 102 using the computing device 104 and the camera 106 A flow diagram 150 is shown illustrating the flow. Utilizing the illustrated module, the application 102 can be used to generate a physical 3D physical property, or other information (e.g., relative angle between any surface of the mechanical device 110 and a given axis) that can be used to generate a performance measure, or It is configured to output information useful for evaluating or adjusting device 110. In general, the camera 106 may be used to generate the corrected image frame 152 associated with the'scene correction' module 154 to evaluate the pre-corrected 3D position 156 of the fiducial 108. The fiducial 108 can be deployed along the mechanical device 110, and an image frame 158 of the mechanical device 110 can be created, in which case the 2D image coordinates 162 or the origin ( 108) to record or identify other 2D image features associated with the'origin tracking' module 160 and/or'real feature tracking' module 164 may be used with the camera 106 (parallel or individually). have. Using the 2D image coordinates 162, the '3D position estimation' module 170 associated with the application 102 is a three-dimensional (3D) point/coordinate corresponding to the origin 108 and actual features of the mechanical device 110. It is configured to estimate or generate a set of 172 later. Once these 3D points 172 are created, a'physical property definition' module configured to apply a set of predetermined linear algebraic operations to the 3D points 172 to define specific physical properties 176 of the mechanical device 110 ( 174) can be implemented. The “performance measurement” module 178 may in this case use the data related to the physical property 176 of the mechanical device 110 to output any number or type of performance measurements as further described herein. . In some embodiments, the performance measurement (not shown) may be additionally confirmed for a predetermined target specification through the'virtual object overlap' module 180 by referring to the database 182 of a predetermined virtual object.

보다 구체적으로, 도 1b의 장면 보정 모듈(154)을 참조하면, 카메라(106)의 공간 해상도는 먼저 기점(108)에 의해 보정될 수 있다. 일부 실시예에서, 이것은 초기에 보정 시트(202)가 카메라(106)를 향해 배향되도록 카메라(106) 앞에 기점(108) 또는 기점의 어레이(도 2a에서 204로 도시된 기점의 어레이)를 갖는 보정 시트(도 2a의 202)를 위치시키는 것을 포함할 수 있다. 도 2a 내지 도 2b에 도시된 바와 같이, 기점(108)은 일반적으로 정사각형 형상 및 픽셀화된 흑백 패턴의 고유한 기하학적 구조를 규정하는 2D 이미지일 수 있다. 다른 실시예에서, 기점(108)은 임의의 유형 또는 특정 형상(예컨대, 원, 직사각형, 삼각형, 오각형, 팔각형, 또는 임의의 다른 형상) 또는 기점(108)과 관련된 이미지 데이터에 대한 변화를 추적하기에 적합한 어떤 종류의 특징을 규정할 수 있다. 기점(108)은 표면적을 추가로 규정할 수 있다. 예컨대, 기점(108)의 표면적은 임의의 형상(예컨대, 정사각형, 직사각형, 삼각형, 원형, 오각형, 팔각형, 또는 임의의 다른 형상)을 포함할 수 있고, 예컨대 1 인치 제곱일 수 있다. 다른 예에서, 기점(108)의 표면적은 스케일-업될 수 있다. 예컨대, 기점(108)의 표면적은 적어도 1 인치 제곱, 적어도 1.5 인치 제곱, 적어도 1.75 인치 제곱, 적어도 2 인치 제곱, 적어도 2.25 인치 제곱, 또는 적어도 2.5 인치 제곱일 수 있다. 다른 예에서, 기점(108)은 추가로 스케일-다운될 수 있다. 예컨대, 기점의 표면적은 0.75 인치 제곱 미만, 0.50 인치 제곱 미만, 0.25 인치 제곱 미만, 0.15 인치 제곱 미만일 수 있다. 일부 실시예에서, 기점(108)은 2차원(2D) 퀵 리스폰스(QR) 코드(도 2a 내지 도 2b에 도시됨), 또는 기계 장치(110)(도시되지 않음)를 따라 존재하거나 또는 다른 방식으로 자연적으로 규정된 자연적 특징의 형태를 취할 수 있다.More specifically, referring to the scene correction module 154 of FIG. 1B, the spatial resolution of the camera 106 may be first corrected by the starting point 108. In some embodiments, this is a calibration with a fiducial 108 or an array of fiducials (an array of fiducials shown as 204 in FIG. 2A) in front of the camera 106 such that the calibration sheet 202 is initially oriented towards the camera 106. It may include positioning the sheet (202 in FIG. 2A). 2A-2B, the fiducial point 108 may be a 2D image that defines the intrinsic geometry of a generally square shape and a pixelated black and white pattern. In other embodiments, fiducial 108 may be of any type or specific shape (e.g., circle, rectangle, triangle, pentagonal, octagonal, or any other shape) or to track changes to image data associated with fiducial 108. You can define some kind of characteristic suitable for The fiducial point 108 may further define the surface area. For example, the surface area of fiducial 108 may comprise any shape (eg, square, rectangular, triangular, circular, pentagonal, octagonal, or any other shape), and may be, for example, 1 inch squared. In another example, the surface area of the fiducial point 108 can be scaled up. For example, the surface area of the fiducial point 108 may be at least 1 inch square, at least 1.5 inch square, at least 1.75 inch square, at least 2 inch square, at least 2.25 inch square, or at least 2.5 inch square. In another example, the fiducial point 108 may be further scaled down. For example, the surface area of the fiducial may be less than 0.75 inches square, less than 0.50 inches square, less than 0.25 inches square, and less than 0.15 inches square. In some embodiments, the fiducials 108 exist along a two-dimensional (2D) quick response (QR) code (shown in Figures 2A-2B), or along the mechanical device 110 (not shown), or otherwise It can take the form of a naturally defined natural characteristic.

도 2b를 참조하면, 기점(108)의 추가적인 가능한 특징은 보정 시트(202)로부터 제거되거나 또는 복사될 수 있는 기점(108)의 세 가지 예일 수 있는 도시된 기점(108A), 기점(108B) 및 기점(108C)에 의해 예시된다. 예컨대, 기점(108A)에 의해 도시된 바와 같이, 기점(108)은 기점(108)의 형상의 둘레를 따라 규정된 윤곽선(210)(녹색으로 표시됨), 및 윤곽선 상의 한 지점에 위치된 점(빨간색으로 표시됨)을 포함할 수 있다. 윤곽선(210)은 기점(108A)의 평면 좌표를 나타내고, 점(212)은 평면 좌표의 원점을 나타낸다. 또한, 기점(108A) 및 다른 기점(108)에 의해 규정된 픽셀화된 흑백 패턴의 고유한 기하학적 구조는 다른 이진 코드를 나타낼 수 있다. 상이한 이진 코드는 카메라(106)에 의해 인식될 수 있고, 어느 기점(108)이 기계 장치(110)를 따라 각각의 어느 별개의 위치에 있는지에 대한 식별 및/또는 결정을 수용할 수 있다. 일부 실시예에서, 각각의 기점(108)은 상이한 식별자와 관련될 수 있다. 예컨대, 기점(108A)은 "10"의 식별자와 관련되거나 또는 이를 규정할 수 있다(QR 코드 또는 다른 방법에 기초하여); 기점(108B)은 "40"의 식별자와 관련되거나 또는 이를 규정할 수 있으며(QR 코드 또는 다른 방법에 기초하여); 그리고 기점(108C)은 "41"의 식별자와 관련되거나 또는 이를 규정할 수 있다(QR 코드 또는 다른 방법에 기초하여).2B, additional possible features of fiducial 108 are the illustrated fiducial 108A, fiducial 108B and three examples of fiducial 108 that can be removed or copied from the correction sheet 202. It is illustrated by the starting point 108C. For example, as shown by the fiducial point 108A, the fiducial point 108 is a defined contour 210 (indicated in green) along the perimeter of the shape of the fiducial point 108, and a point located at a point on the contour ( (Indicated in red). The outline 210 represents the plane coordinate of the starting point 108A, and the point 212 represents the origin of the plane coordinate. Further, the intrinsic geometry of the pixelated black and white pattern defined by the fiducials 108A and other fiducials 108 may represent different binary codes. Different binary codes may be recognized by camera 106 and may accommodate identification and/or determination of which fiducials 108 are at each of which distinct locations along mechanical device 110. In some embodiments, each fiducial 108 may be associated with a different identifier. For example, fiducial 108A may be associated with or define an identifier of "10" (based on QR code or other method); The origin 108B may be associated with or define an identifier of “40” (based on a QR code or other method); And the origin 108C may be associated with or define the identifier of "41" (based on QR code or other method).

다시 도 1a 및 도 1b로 돌아가면, 기점(108)을 포함하는 보정 시트(202)가 카메라(106) 앞에 위치되면, 카메라(106)에 대한 보정 시트(202)의 위치 및 배향은 이 경우 보정 이미지 프레임(152)을 생성하기 위해, 카메라(106)로 이미지 또는 이미지 프레임을 캡처하는 동안, 소정의 기간 동안 변화될 수 있다. 이러한 방식으로, 보정 시트(202)의 각각의 기점(108)의 실제 치수는 카메라(106)를 보정하는데 사용될 수 있다. 보정 이미지 프레임(152)은 이 경우 기점(108)의 3D 위치의 사전 보정(156)을 위해 장면 보정 모듈(154)에 공급될 수 있다. 즉, 보정 시트(202)는 기점(108)[및/또는 카메라(106)에 대한 기점(108)의 기준 위치]에 대한 카메라(106)의 초기 포즈를 컴퓨팅하기 위한 기준으로서 사용될 수 있다. 전반적으로, 장면 보정 모듈(154)은 보정 이미지 프레임(152)을 사용하여 카메라(106) 및 렌즈(도시되지 않음) 및/또는 컴퓨팅 디바이스(104)를 자동으로 보정하여, 후속하는 모듈들이 기계 장치(110)를 따라 모든 관심 지점에 대한 3D 좌표를 컴퓨팅할 수 있게 한다. 설명된 바와 같이 장면 보정 모듈(154)을 사용한 장면 보정은 카메라(106)로부터의 거리에 관계없이 카메라(106)의 뷰 내의 후속하는 이미지 프레임에서 기점(108)을 인식할 수 있는 컴퓨팅 디바이스(104) 및/또는 카메라(106)의 능력을 수용한다.1A and 1B, if the correction sheet 202 including the fiducial point 108 is positioned in front of the camera 106, the position and orientation of the correction sheet 202 relative to the camera 106 is corrected in this case. While capturing an image or image frame with camera 106, to generate image frame 152, it may be varied for a predetermined period of time. In this way, the actual dimensions of each fiducial 108 of the calibration sheet 202 can be used to calibrate the camera 106. The correction image frame 152 may be supplied to the scene correction module 154 for pre-correction 156 of the 3D position of the origin 108 in this case. That is, the correction sheet 202 may be used as a reference for computing the initial pose of the camera 106 relative to the fiducial 108 (and/or the reference position of the fiducial 108 relative to the camera 106). Overall, the scene correction module 154 automatically corrects the camera 106 and lens (not shown) and/or the computing device 104 using the correction image frame 152 so that subsequent modules It makes it possible to compute 3D coordinates for all points of interest along (110). As described, scene correction using the scene correction module 154 is a computing device 104 capable of recognizing an origin 108 in a subsequent image frame within the view of the camera 106, regardless of the distance from the camera 106. ) And/or the capabilities of the camera 106.

구현된 카메라(106)는 카메라(106)가 이미지 데이터를 캡처할 수 있는 임의의 특정 개수의 카메라 또는 카메라 장치로 제한되지 않도록, 단독 카메라 또는 카메라 세트 또는 집합적으로 또는 독립적으로 작동되는 복수의 카메라 장치를 포함할 수 있다는 것을 이해해야 한다. 카메라(106)는 또한 카메라가 있는 임의의 전자 장치(예컨대, 모바일 장치, 태블릿 또는 랩탑) 또는 컴퓨터에 연결된 임의의 카메라일 수 있다. 또한, 카메라(106)는 3D 이미지를 캡처하도록 구성된 스테레오 카메라(도시되지 않음)일 수 있다. 이러한 스테레오 카메라를 사용하는 실시예에서, 스테레오 카메라는 속성 측정치를 생성하기 위한 대응 포인트로서 기점(108) 없이 독립적으로 사용될 수 있다. 일부 실시예에서, 카메라(106)는 기계 장치(110)를 표시하기 위해 사용되는 선택된 실제 특징 또는 기점(108)을 캡처하기에 충분한 해상도로 구성된다. 시야를 증가시키거나, 또는 기계 장치(110)의 입체 뷰를 제공하기 위해 복수의 카메라가 사용될 수 있다. 일 실시예에서, 카메라(106)를 위치시키고 포징(posing)하는 것은 장면 보정 모듈(154)이 실행되기 전에 수행된다. 기계 장치(110)를 표시하는데 사용되는 실제 특징 및/또는 기점(108)은 2D 이미지의 픽셀에 의해 표현될 수 있으며, 애플리케이션(102)은 본 명세서에 설명된 바와 같이 이들 2D 이미지(및 이것에 대한 관찰된 변화)를 활용한다. 일 실시예에서, 고해상도(1920p × 1080p) 이미지를 캡처할 수 있는 카메라(106)를 사용하는 것은, 기점(108) 또는 실제 특징이 더 많은 개수의 픽셀에 의해 표현될 수 있기 때문에, 애플리케이션(102)의 기능 및 출력을 개선할 수 있다. 일부 실시예에서, 카메라(106)를 라이브 카메라로 구현할 때[카메라가 지속적으로 애플리케이션(102)에 정보를 공급함], 이미지 프레임(158)은 0.1 내지 144 Hz 사이의 주어진 속도로 리프레시되고 있다. 애플리케이션(102)은 후속하는 측정을 수행하거나 또는 이미지 프레임(158) 내에서 특정 특징/기점(108)을 찾기 위해 이미지 프레임(158)을 이진(즉, 흑백)으로 변환하고, 에지 해상도를 선명하게 하고, 선을 두껍게 하고, 선을 가늘게 하는 등을 수행하기 위해 이미지 프레임(158)과 관련된 하나 이상의 파일에서 동작할 수 있다.The implemented camera 106 is a single camera or set of cameras or a plurality of cameras operated collectively or independently, so that the camera 106 is not limited to any particular number of cameras or camera devices capable of capturing image data. It should be understood that it may include devices. Camera 106 may also be any electronic device (eg, mobile device, tablet or laptop) with a camera or any camera connected to a computer. Further, camera 106 may be a stereo camera (not shown) configured to capture 3D images. In an embodiment using such a stereo camera, the stereo camera can be used independently without the fiducial 108 as a corresponding point for generating attribute measurements. In some embodiments, camera 106 is configured with a resolution sufficient to capture selected actual features or fiducials 108 used to display mechanical device 110. Multiple cameras may be used to increase the field of view or to provide a stereoscopic view of the mechanical device 110. In one embodiment, positioning and posing the camera 106 is performed before the scene correction module 154 is executed. The actual features and/or fiducials 108 used to display the mechanical device 110 can be represented by the pixels of the 2D image, and the application 102 can be applied to these 2D images (and to these 2D images as described herein). Of observed changes). In one embodiment, using a camera 106 capable of capturing high-resolution (1920p×1080p) images is an application 102 because the fiducial 108 or actual feature can be represented by a larger number of pixels. ) Function and output can be improved. In some embodiments, when implementing camera 106 as a live camera (the camera continuously supplies information to application 102), image frames 158 are being refreshed at a given rate between 0.1 and 144 Hz. Application 102 converts image frame 158 to binary (i.e., black and white) to perform subsequent measurements or to find specific features/origins 108 within image frame 158 and sharpen edge resolution. It can operate on one or more files associated with the image frame 158 to perform thickening, thinning lines, and the like.

장면 보정이 완료되면, 기점(108)은 필요에 따라 기계 장치(110)의 소정의 위치를 따라 디플로잉되거나 또는 위치될 수 있다. 도 3a의 예시(300)를 참조하면, 기점(108A)은 기계 장치(110)의 일반 몸체(302)의 상단 부분을 따라 디플로잉될 수 있으며, 기점(108B) 및 기점(108C)은 예시된 바와 같이 기계 장치(110)의 일반 몸체(302)로부터 연장되는 세장형 부재(304)를 따라 위치될 수 있다. 또한, 적어도 하나의 기점(108)은 도시된 기점(108D)과 같은 표면(306)을 따라 위치될 수 있다. 일부 실시예에서, 도시된 기점(108)은 보정 시트(202)로부터 절단되고, 기계 장치(110)의 별개의 소정의 위치를 따라 배치될 수 있다. 기계 장치(110)를 따라 위치된 기점(108)은 또한 보정 시트(202)로부터 복사되거나 또는 복제될 수 있다. 기점(108)은 테이프, 약한 접착제, 또는 자기적 적용을 사용하여 기계 장치(110)의 표면에 일시적으로 결합될 수 있다. 스케일-다운된 기점을 갖는 예에서, 기점(108)은 기계 장치(110)의 코팅 내에 매립될 수 있거나, 또는 기점이 기계 장치(110) 내에 또는 이를 따라 통합되도록 제조될 수 있다. 도시된 기점(108A), 기점(108B) 및 기점(108C)의 위치는 단지 예시적인 것일 뿐이며, 원하는 기계 장치(110)의 측정에 따라 재-위치될 수 있다.When the scene correction is complete, the fiducial 108 may be deployed or positioned along a predetermined position of the mechanical device 110 as needed. Referring to the example 300 of FIG. 3A, the origin 108A may be deployed along the upper portion of the general body 302 of the mechanical device 110, and the origin 108B and the origin 108C are illustrative. It may be positioned along the elongate member 304 extending from the general body 302 of the mechanical device 110 as described. Further, at least one fiducial 108 may be located along a surface 306 such as fiducial 108D shown. In some embodiments, the illustrated fiducials 108 may be cut from the calibration sheet 202 and placed along separate predetermined positions of the mechanical device 110. The fiducials 108 located along the mechanical device 110 may also be copied or duplicated from the calibration sheet 202. The fiducial 108 may be temporarily bonded to the surface of the mechanical device 110 using tape, a weak adhesive, or a magnetic application. In an example with a scaled-down fiducial, fiducial 108 may be embedded within the coating of mechanical device 110, or may be made such that fiducial is integrated within or along mechanical device 110. The locations of the fiducials 108A, 108B, and 108C shown are merely exemplary and may be re-positioned according to the measurements of the desired mechanical device 110.

일부 실시예에서, 도 3a에 예시된 기점(108)은 표면(306)(임의의 평평한 표면일 수 있음)과 기계 장치(110)를 따라 규정된 주어진 축 사이의 상대 각도의 측정을 수용한다. 예컨대, 기점(108A) 및 기점(108D)은 표면(306)에 의해 규정된 축(310)(X1)과 기계 장치(110)의 몸체(302)에 의해 규정된 축(312)(X2) 사이의 상대 각도를 측정하기 위해 사용될 수 있다. 유사하게, 기점(108D), 기점(108B) 및/또는 기점(108C)은 표면(306)에 의해 규정된 축(310)과 기계 장치(110)의 세장형 부재(304)에 의해 규정된 축(312)(X3) 사이의 상대 각도를 측정하기 위해 사용될 수 있다.In some embodiments, the fiducial point 108 illustrated in FIG. 3A accommodates a measure of the relative angle between the surface 306 (which may be any flat surface) and a given axis defined along the mechanical device 110. For example, the origin 108A and the origin 108D are between the axis 310 (X1) defined by the surface 306 and the axis 312 (X2) defined by the body 302 of the mechanical device 110. Can be used to measure the relative angle of. Similarly, the fiducial point 108D, fiducial point 108B and/or fiducial point 108C is defined by the axis 310 defined by the surface 306 and the elongate member 304 of the mechanical device 110. It can be used to measure the relative angle between 312(X3).

다시 도 1b를 참조하면, 기점(108)이 디플로잉되면, 기점(108) 및 기계 장치(110)의 하나 이상의 이미지 또는 이미지 프레임(158)이 카메라(106)를 사용하여 액세스되거나 또는 캡처될 수 있다. 이미지 프레임(158)은 기점(108) 및 기계 장치(110)의 2차원 이미지 특징, 및/또는 기계 장치(110)의 자연적 또는 실제 특징(소정의 위치에서)과 관련된 2차원 이미지 특징을 규정할 수 있다.Referring back to FIG. 1B, once fiducial 108 is deployed, one or more images or image frames 158 of fiducial 108 and mechanical device 110 may be accessed or captured using camera 106. I can. The image frame 158 may define two-dimensional image features related to the origin 108 and the two-dimensional image features of the mechanical device 110, and/or the natural or actual features (at a predetermined location) of the mechanical device 110. I can.

기점 추적 모듈(160)을 사용하여, 이미지 프레임(158)에서 기점(108)의 2D 위치가 3D 위치 추정 모듈(170)에서 사용하기 위해 기록되거나 또는 다른 방식으로 식별될 수 있다. 유사하게, 다른 실시예에서, 실제 특징 추적 모듈(164)은 이미지 프레임(158) 내의 기계 장치(110)의 소정의 실제 특징의 2D 이미지 위치를 기록하거나 또는 식별하는데 사용될 수 있다. 이 단계에서, 카메라(106)는 기계 장치(110)가 이미지 프레임 내에 남아있는 한 기점(108)을 연속적으로 추적할 수 있다. 즉, 장면 보정 모듈(154)에 의해 계산된 카메라(106)의 포즈는 자연적 장면 내의 기점(108) 및/또는 실제 특징을 보정하는데 사용될 수 있고, 연장된 프레임 세트에 걸쳐 추적될 수 있다. 기점(108)의 위치 및 회전은 이미지 프레임(158)의 카메라 좌표 프레임에 보고된다.Using the fiducial tracking module 160, the 2D position of the fiducial 108 in the image frame 158 may be recorded or otherwise identified for use in the 3D position estimation module 170. Similarly, in other embodiments, the actual feature tracking module 164 may be used to record or identify the 2D image position of a given actual feature of the mechanical device 110 within the image frame 158. At this stage, the camera 106 can continuously track the fiducial 108 as long as the mechanical device 110 remains within the image frame. That is, the pose of the camera 106 calculated by the scene correction module 154 can be used to correct the fiducials 108 and/or actual features within the natural scene, and can be tracked over an extended set of frames. The position and rotation of the fiducial 108 is reported in the camera coordinate frame of the image frame 158.

3D 위치 추정 모듈(170)은 그 후 모든 기점(108)(및 실제 특징)의 3D 위치/좌표(172)를 추정하기 위해 도 1b의 이전 모듈에서 생성된 데이터를 가져오도록 구성될 수 있다. 칼만 필터와 같은 순환 필터가 카메라(106)의 포즈 및 기점/특징의 2D 이미지 좌표(162)의 측정에 기초하여 기계 장치(110)를 따른 새로운 포인트의 3D 위치(172)를 추정하는데 사용될 수 있다.The 3D position estimation module 170 may then be configured to fetch the data generated in the previous module of FIG. 1B to estimate the 3D position/coordinates 172 of all fiducials 108 (and actual features). Cyclic filters such as the Kalman filter can be used to estimate the 3D position 172 of a new point along the mechanical device 110 based on the measurement of the 2D image coordinates 162 of the camera 106's pose and origin/feature. .

3D 포인트(172)가 생성되면, 기계 장치(110)의 특정 물리적 속성(176)을 규정하거나 또는 식별하기 위해 일련의 소정의 선형 대수 연산을 3D 포인트(172)에 적용하도록 구성될 수 있는 '물리적 속성 규정' 모듈(174)이 구현된다. "성능 측정" 모듈(178)은 이 경우 본 명세서에서 추가로 설명되는 바와 같이, 임의의 개수 또는 유형의 성능 측정치를 출력하기 위해 추가적인 소정의 함수를 갖는 기계 장치(110)의 물리적 속성(176)과 관련된 데이터를 처리하거나 또는 적용하도록 구현될 수 있다. 일 예로서, 표면(306)에 대한 기계 장치(110)의 세장형 부재(304)의 상대 각도는 도 1b의 기능을 사용하여 결정될 수 있다. 이 예에서, 기계 장치(110)는 총이고, 세장형 부재(304)는 총신인 경우, 이 각도는 예컨대 세장형 부재(304)를 통해 방출될 때 총알 또는 다른 발사체가 이동할 것으로 예상되는 거리를 결정하기 위한 다른 함수에 대한 입력으로서 유용할 수 있다. 어느 경우든, 도 1b의 모듈을 활용하여, 애플리케이션(102)은 물리적 3D 물리적 속성 또는 성능 측정(178)을 생성하는데 사용될 수 있는 다른 정보[예컨대 기계 장치(110)의 임의의 표면과 주어진 축 사이의 상대 각도] 또는 기계 장치(110)를 평가하거나 또는 조정하는데 유용한 정보를 출력하도록 구성된다.Once the 3D point 172 is created, a'physical', which can be configured to apply a set of predetermined linear algebraic operations to the 3D point 172 to define or identify a specific physical property 176 of the mechanical device 110. The attribute definition' module 174 is implemented. "Performance measurement" module 178 is a physical property 176 of mechanical device 110 with an additional predefined function to output any number or type of performance measure, in this case as further described herein. It may be implemented to process or apply data related to the. As an example, the relative angle of the elongate member 304 of the mechanical device 110 relative to the surface 306 may be determined using the function of FIG. 1B. In this example, if the mechanical device 110 is a gun and the elongate member 304 is a barrel, this angle is the distance the bullet or other projectile is expected to travel when ejected through the elongate member 304, for example. It can be useful as an input to other functions to make decisions. In either case, utilizing the module of FIG. 1B, the application 102 can provide a physical 3D physical property or other information that can be used to generate a performance measure 178 (e.g., between any surface of the mechanical device 110 and a given axis. Relative angle of] or the mechanical device 110 is configured to output information useful for evaluating or adjusting.

시스템(100)의 수많은 추가의 응용이 고려된다. 일부 실시예에서, 기점 세트는 스윙 분석을 위한 피팅에 사용하기 위해 골프 클럽, 배트, 하키 스틱, 또는 다른 스포츠 장비의 다양한 부분에 스티커로 배치될 수 있다. 기점은 카메라에 의해 판독될 수 있고, 이들의 할당된 식별자는 시스템(100)에 입력으로서 공급될 수 있다. 그 다음, 시스템(100)은 다운 스윙에서의 초기 신체 동작, 상이한 스윙 세그먼트에서의 클럽 헤드 배향, 및 스윙의 전체적인 일관성을 분석하는데 사용될 수 있다. 분석 동안, 시스템(100)은 플레이어가 성능을 개선하기 위해 보고 구현할 수 있는 피팅 또는 레슨 동안 값을 할당할 수 있다.Numerous additional applications of system 100 are contemplated. In some embodiments, the fiducial set may be placed as a sticker on various parts of a golf club, bat, hockey stick, or other sports equipment for use in fitting for swing analysis. The fiducials can be read by the camera and their assigned identifiers can be supplied as input to the system 100. The system 100 can then be used to analyze initial body motion in the downswing, club head orientation in different swing segments, and overall consistency of the swing. During analysis, the system 100 may assign values during lessons or fittings that players can see and implement to improve performance.

보다 구체적으로, 도 3b의 예시(400)를 참조하면, 다운 스윙에서의 초기 신체 동작, 상이한 스윙 세그먼트에서의 클럽 헤드 배향, 및 골프 클럽(412) - 골프 클럽(412)은 일반적으로 샤프트(414)를 한정함 - 및 클럽 헤드(416)의 스윙의 전반적인 일관성을 분석하기 위해, 임의의 개수의 기점(108)은 사용자(410) 및/또는 골프 클럽(412)의 다양한 부분을 따라 정렬될 수 있다. 예컨대, 예시(400)에서, 기점(108E)은 어깨와 같은 사용자(410)의 상부 부분을 따라 정렬될 수 있다. 이 예에서, 기점(108E)은 사용자(410)가 착용한 의복에 부착되거나 또는 의복에 통합되고/바느질될 수 있다. 일부 실시예에서, 기점(108F)은 도시된 바와 같이 왼팔(420B)과 같은 사용자의 하나 이상의 팔(420)을 따라 정렬될 수 있다. 기점(108G) 중 하나 이상은 또한 사용자(410)의 다리(422) 중 하나 이상을 따라 정렬될 수 있다. 원하는 출력에 따라 스윙 분석을 위해 임의의 개수의 기점(108)이 구현될 수 있다.More specifically, referring to example 400 of FIG. 3B, initial body motion in the downswing, club head orientation in different swing segments, and golf clubs 412-golf clubs 412 are generally shaft 414 )-And to analyze the overall consistency of the swing of the club head 416, any number of fiducials 108 may be aligned along various portions of the user 410 and/or golf club 412. have. For example, in example 400, fiducial 108E may be aligned along an upper portion of user 410, such as a shoulder. In this example, fiducial 108E may be attached to or incorporated/sewn into the garment worn by user 410. In some embodiments, fiducial 108F may be aligned along one or more arms 420 of the user, such as left arm 420B, as shown. One or more of the fiducials 108G may also be aligned along one or more of the legs 422 of the user 410. Any number of fiducials 108 may be implemented for swing analysis depending on the desired output.

또한, 임의의 개수의 기점(108)이 골프 클럽(412)을 따라 정렬될 수 있다. 도 3b에 도시된 바와 같이, 기점(108H)은 샤프트(414)를 따라 정렬될 수 있고, 기점(108I)은 헤드(416)를 따라 정렬될 수 있지만, 그러나 본 개시는 이 구성으로 제한되지 않는다. 일부 실시예에서, 스마트 워치(430) 또는 다른 웨어러블 디바이스가 시스템(100)으로 구현될 수 있다. 예를 들면, 스마트 워치(430)는 본 명세서에 설명된 바와 같이 카메라(106)에 의한 캡처 및 도 1a의 컴퓨팅 디바이스(104)에 의한 해석을 위해, 사용자(410)의 손목(432)을 따라 기점(108) 중 하나 이상을 디지털 방식으로 디스플레이하도록 구현될 수 있다. 스마트 워치(430)는 또한 본 명세서에 설명된 기능과 관련하여 스윙 분석을 위해 또는 클럽(412)의 물리적 속성을 수정하기 위해 컴퓨팅 디바이스(104)에 대한 추가적인 입력 데이터를 제공하도록 구현될 수 있다. 일부 실시예에서, 스마트 워치(430)는 백스윙 시간, 다운 스윙 시간, 템포(백스윙 시간 대 다운 스윙 시간의 비율), 및 사용자(410)에 의한 골프 클럽(412)의 스윙의 다른 특성을 측정하도록 구성된 복수의 센서(예컨대 가속도계, 자이로, 자력계)가 장착된 캘리포니아주, 쿠퍼티노의 애플, 인크(Apple Inc.)로부터의 APPLE WATCH® 디지털 워치를 포함할 수 있다.Further, any number of fiducials 108 may be aligned along golf clubs 412. As shown in FIG. 3B, the fiducial point 108H can be aligned along the shaft 414, and the fiducial point 108I can be aligned along the head 416, but the present disclosure is not limited to this configuration. . In some embodiments, the smart watch 430 or other wearable device may be implemented as the system 100. For example, the smart watch 430 follows the wrist 432 of the user 410 for capture by the camera 106 and interpretation by the computing device 104 of FIG. 1A as described herein. It may be implemented to digitally display one or more of the fiducials 108. The smart watch 430 may also be implemented to provide additional input data to the computing device 104 for swing analysis or to modify the physical properties of the club 412 in connection with the functionality described herein. In some embodiments, the smart watch 430 is configured to measure backswing time, downswing time, tempo (ratio of backswing time to downswing time), and other characteristics of the swing of golf club 412 by user 410. may include a plurality of APPLE WATCH ® digital watch from a sensor (e.g. accelerometer, gyroscope, magnetometer), the California mounted, of Cupertino, Apple, Inc. (Apple Inc.) configured.

일부 실시예에서, 스윙 분석을 수행할 때, 시스템(100)은 클럽(412)의 피팅 동안 레버리징될(leveraged) 수 있는 하나 이상의 스윙 분석 입력 값을 출력할 수 있다. 구체적으로, 시스템(100)은 일련의 소정의 선형 대수 연산을 포함하는 소정의 함수 세트에 대한 입력으로서 스윙 분석 입력 값을 이용할 수 있다. 본 명세서에 추가로 설명되는 바와 같이(예컨대, 도 4), 선형 대수 연산은 클럽 샤프트(414)와 클럽 헤드(416) 사이의 상대 각도와 같이, 사용자(410)에게 최적인 골프 클럽(412)의 물리적 속성의 측정치에 대응하는 하나 이상의 출력 값을 차례로 제공할 수 있다. 일부 실시예에서, 시스템(100)은 로컬 좌표계의 소정의 원점을 나타내는 좌표 세트[기점(108) 세트로부터 또는 다른 방식으로 유도됨] 및 클럽 상의 포인트를 나타내는 제2 좌표 세트를 입력으로 취하는 3차원 함수를 적용한다. 제2 좌표 세트는 클럽(412)의 샤프트(414)를 따른 기점의 위치에 대응할 수 있다. 이러한 3차원 함수는 각 좌표 각각 사이의 거리를 발견하여, 원점의 수평 포인트를 나타내는 원점 좌표와 샤프트(414)를 따른 수평 포인트를 나타내는 좌표 사이의 거리가 발견되고, 원점의 수직 포인트를 나타내는 원점 좌표와 샤프트(414)를 따른 수직 포인트를 나타내는 좌표 사이의 거리가 발견되고, 원점에서 수평 및 수직 축에 수직인 축 상의 포인트를 나타내는 원점 좌표와 샤프트(414)를 따른 포인트에서 수평 및 수직 축에 수직인 축 상의 포인트를 나타내는 좌표 사이의 거리가 발견된다. 이러한 3차원 함수의 출력은 클럽(412)의 샤프트 축의 벡터를 나타내는 좌표 세트이다. 클럽(412)의 페이스 또는 헤드(416) 상의 평면을 규정하는 포인트 세트를 포함하는 입력에 대한 외적 연산을 수행하는 또 다른 함수가 적용될 수 있고, 평면에 대한 법선 벡터를 출력으로서 생성할 수 있다. 마지막으로, 클럽(412)의 라이 및 로프트는 클럽(412) 상의 포인트에 대응하는 벡터의 비율을 아크탄젠트(arctan)와 같은 아크 함수(arc function)에 입력함으로써 계산될 수 있다.In some embodiments, when performing a swing analysis, the system 100 may output one or more swing analysis input values that may be leveraged during the fitting of the club 412. Specifically, system 100 may use swing analysis input values as input to a set of functions that include a set of predetermined linear algebra operations. As further described herein (e.g., Figure 4), the linear algebraic operation is the golf club 412 that is optimal for the user 410, such as the relative angle between the club shaft 414 and the club head 416. One or more output values corresponding to the measurements of the physical properties of can be provided in turn. In some embodiments, the system 100 takes as input a set of coordinates representing a predetermined origin of the local coordinate system (derived from or otherwise derived from the set of origins 108) and a second set of coordinates representing points on the club as inputs. Apply the function. The second set of coordinates may correspond to the location of the fiducial along the shaft 414 of the club 412. These three-dimensional functions find the distance between each of the coordinates, the distance between the origin coordinate representing the horizontal point of the origin and the coordinate representing the horizontal point along the shaft 414, and the origin coordinate representing the vertical point of the origin. The distance between the and the coordinates representing the vertical points along the shaft 414 is found, and the origin coordinates representing the points on the axis perpendicular to the horizontal and vertical axes at the origin and perpendicular to the horizontal and vertical axes at the points along the shaft 414 The distance between the coordinates representing the point on the phosphorus axis is found. The output of this three-dimensional function is a set of coordinates representing the vector of the shaft axis of the club 412. Another function that performs a cross product operation on the input containing a set of points defining the face of the club 412 or the plane on the head 416 may be applied, and a normal vector to the plane may be generated as an output. Finally, the lie and loft of the club 412 can be calculated by inputting the ratio of vectors corresponding to points on the club 412 into an arc function such as arctan.

예컨대, 로컬 좌표계의 소정의 원점을 나타내는 포인트 세트는 (0, 0, 0)일 수 있다. 클럽(412) 상의 포인트를 나타내는 포인트 세트는 (10, 20, 30)으로 선택될 수 있다. 3차원 함수를 적용하면, 클럽(412)의 샤프트 축의 벡터를 나타내는 좌표 세트는 (10, 20, 30) - (0, 0, 0) = (10, 20, 30)인 것으로 발견된다.For example, a point set representing a predetermined origin of the local coordinate system may be (0, 0, 0). The point set representing the points on the club 412 may be selected as (10, 20, 30). Applying the three-dimensional function, the set of coordinates representing the vector of the shaft axis of the club 412 is found to be (10, 20, 30)-(0, 0, 0) = (10, 20, 30).

클럽(412)의 페이스 상의 평면이 포인트 A = (2, 2, 3), B = (1, 0, 1) 및 C = (-1, 3, 4)에 의해 규정되면, 변수 F에 의해 표현되는 평면에 대한 법선 벡터의 좌표는 다음과 같이 계산될 수 있다:If the plane on the face of the club 412 is defined by points A = (2, 2, 3), B = (1, 0, 1) and C = (-1, 3, 4), it is expressed by the variable F. The coordinates of the normal vector with respect to the plane being used can be calculated as follows:

Figure pct00001
Figure pct00001

따라서, 클럽(412)의 페이스 상의 선택된 포인트에 대해 법선인 벡터의 좌표는 (0, 7, -7)이다.Thus, the coordinates of the vector that are normal to the selected point on the face of the club 412 are (0, 7, -7).

마지막으로, 라이를 찾기 위해 입력으로 사용되는 좌표의 비율이 0.88이면, 라이는 약 41.63 도인 0.73 라디안과 동일한 arctan(0.88)일 수 있다. 마찬가지로, 로프트를 찾기 위해 입력으로 사용되는 좌표의 비율이 0.45이면, 로프트는 약 24.23 도인 0.42 라디안과 동일한 arctan(0.45)일 수 있다.Finally, if the ratio of the coordinates used as input to find the lie is 0.88, then the lie can be arctan (0.88) equal to 0.73 radians, which is about 41.63 degrees. Similarly, if the ratio of the coordinates used as input to find the loft is 0.45, the loft can be arctan(0.45) equal to 0.42 radians, which is about 24.23 degrees.

시스템(100)은 또한 골프 클럽 또는 스포츠 장비로서 사용되는 다른 클럽, 배트 또는 하키 스틱의 제조 동안 그리핑을 개선하도록 구현될 수 있다. 현재는 종종 사람의 눈을 사용하여 클럽 그리핑이 수행될 수 있다. 이 방법으로 인해 서로 다른 그리퍼가 일관되지 않은 제품을 생성한다. 시스템(100)을 로프트/라이 프로세스뿐만 아니라 그리핑 프로세스에도 적용함으로써, 조립 시간이 감소될 수 있고, 제품들 간의 일관성이 실질적으로 증가할 수 있다. 다른 골프 관련 적용도 고려된다.System 100 may also be implemented to improve gripping during manufacture of golf clubs or other clubs, bats or hockey sticks used as sports equipment. Currently, club gripping can often be performed using the human eye. In this way, different grippers produce inconsistent products. By applying the system 100 to the loft/rye process as well as the gripping process, assembly time can be reduced and consistency between products can be substantially increased. Other golf related applications are also considered.

일부 실시예에서, 시스템(100)의 하나의 다른 적용은 건설 분야에 있을 수 있다. 구체적으로, 시스템(100)은 다른 스터드에 대한 하나의 스터드의 각도를 계산하고 스터드 사이의 거리를 계산하여 스터드 사이의 보다 일관된 간격을 보장하고 스터드가 서로 수평을 이루도록 보장하기 위해 프레이머(framers)에 의해 구현될 수 있다. 단시간에 수백 채의 집을 종종 프레이밍해야 하는 전형적인 프레이머의 경우, 시스템(100)이 개별 스터드 사이의 각도 및 거리를 계산할 수 있는 속도는 노동 시간 및 비용을 상당히 절약할 수 있다. 시스템(100)은 또한 제조 공정 동안 로봇 공학에 적용될 때 노동 시간 및 비용을 감소시키는 역할을 할 수 있다. 기점(180)은 제조 환경의 로봇이 재료 시트 또는 완성된 부품을 집어 들고 조립 또는 다른 작업을 위해 재료 시트 또는 완성된 부품을 적절하게 배향하기 위해 기점에 의해 제공된 입력을 사용할 수 있도록 구성요소 상에 배치되거나 또는 정렬될 수 있다. 이러한 적용에서, 기점(108)은 로봇에게 관련 재료 시트 또는 완성된 부품을 적절하게 배향하는 방법을 지시하는 명령어 세트와 관련된 식별자를 규정하는 QR 코드를 포함할 수 있다.In some embodiments, one other application of system 100 may be in the field of construction. Specifically, the system 100 calculates the angle of one stud with respect to the other studs and calculates the distance between the studs to ensure a more consistent spacing between the studs and to framers to ensure that the studs are level with each other. Can be implemented by For a typical framer who often has to framing hundreds of homes in a short time, the speed at which the system 100 can calculate the angle and distance between individual studs can save significant labor time and money. System 100 may also serve to reduce labor time and cost when applied to robotics during the manufacturing process. The fiducial 180 is on the component so that the robot in the manufacturing environment can pick up the material sheet or finished part and use the input provided by the fiducial to properly orient the material sheet or finished part for assembly or other operations. It can be placed or aligned. In such applications, fiducial 108 may include a QR code that defines an identifier associated with a set of instructions that instruct the robot how to properly orient the sheet of material or the finished part.

다른 예로서, 시스템(100)을 이용하여, 소정의 거리만큼 떨어져 배치된 총신 또는 화살대와 평평한 표적 사이의 각도가 컴퓨팅될 수 있다. 이러한 방식으로 총기/양궁 애호가는 그들의 무기를 더 잘 정렬할 수 있는 능력으로부터 이익을 얻을 수 있다. 다른 예로서, 페인트 건과 선택된 표면 사이의 각도가 컴퓨팅될 수 있다. 자동차 제조업체는 로봇 아암을 사용하여 차체를 페인팅하기 때문에, 이는 제조업체가 페인트 건과 차체 표면 사이의 스프레이 각도에 대한 폐쇄 루프 피드백을 가질 수 있게 할 수 있다. 또한, 개시된 컴퓨터 비전은 차체의 불투명한 페인트 층에서 공극을 검출하는데 적합할 수 있다. 다른 예로서, 헬리콥터 또는 비행기의 스트럿에 있는 랜딩 기어와, 접근하는 랜딩 패드 또는 런어웨이 사이의 각도 및 거리가 계산될 수 있다. 이는 승객을 보호하기 위해 착륙하는 동안 폐쇄 루프 자동 제어를 제공할 수 있으며, 랜딩 패드 또는 런어웨이가 기울어진 경우 경고를 제공하는데 사용될 수 있다[예컨대 폭풍우가 치는 날씨 중에 선박의 갑판이 아킴보(akimbo)일 때 크루즈 선박에 헬리콥터를 착륙시키는 경우].As another example, using the system 100, the angle between a flat target and a barrel or shaft placed a predetermined distance apart may be computed. In this way, gun/archery enthusiasts can benefit from the ability to better align their weapons. As another example, the angle between the paint gun and the selected surface can be computed. Since automakers use robotic arms to paint their car bodies, this could enable manufacturers to have closed loop feedback on the spray angle between the paint gun and the body surface. Further, the disclosed computer vision may be suitable for detecting voids in an opaque paint layer on a vehicle body. As another example, the angle and distance between a landing gear on a strut of a helicopter or airplane and an approaching landing pad or runaway can be calculated. This can provide closed-loop automatic control during landing to protect passengers, and can be used to provide warnings if the landing pad or runaway is tilted (e.g., during stormy weather, the ship's deck may become akimbo. ) When landing a helicopter on a cruise ship].

또한, 시스템(100)은 모터 스포츠에서 데이터 수집을 위해 사용될 수 있다. 스티커 형태 또는 다른 방식의 기점(180)은 차량의 주요 부품 상에 배치될 수 있다. 기점(180)은 시스템(100)과 통신하는 카메라에 의해 스캔될 수 있다. 그 다음, 시스템(100)은 중요한 측정치를 분석하고 자동차가 각각의 모터 스포츠와 관련된 규칙 및 규정을 준수하는지 여부를 결정하기 위해 기점(180)과 관련된 임의의 식별자를 입력으로서 사용할 수 있다. 시스템(100)은 무엇보다도 차량 동적 서스펜션 각도를 분석하기 위해 입력을 사용할 수 있다. 시스템(100)은 다양한 코너링 시나리오에서의 서스펜션 이동을 추가로 기록할 수 있다. 시스템(100)의 임의의 상기 가능한 적용과 관련하여, 기점(108)은 분석된 장치 또는 물체를 따라 존재하는 실제 특징으로 전체적으로 또는 부분적으로 대체될 수 있고, 위치, 배향, 및 실제 특징의 다른 속성에 대한 변화가 본 명세서에 설명된 바와 같이 카메라(106) 또는 다른 방법을 사용하여 해석될 수 있다.In addition, the system 100 can be used for data collection in motor sports. The starting point 180 in the form of a sticker or other method may be disposed on the main parts of the vehicle. The fiducial 180 may be scanned by a camera that communicates with the system 100. The system 100 may then use as input any identifier associated with the fiducial 180 to analyze the critical measurements and determine whether the vehicle complies with the rules and regulations associated with each motorsport. The system 100 may use the input to analyze vehicle dynamic suspension angle, among other things. System 100 may additionally record suspension movement in various cornering scenarios. With respect to any of the above possible applications of the system 100, the fiducials 108 may be wholly or partially replaced by the actual features present along the analyzed device or object, and position, orientation, and other attributes of the actual features. Changes to can be interpreted using camera 106 or other methods as described herein.

도 4를 참조하여, 골프 클럽(도 5의 510) 형태의 기계 장치(110)의 특정 비-제한적 실시예의 양태를 측정하기 위해 애플리케이션(102) 및 [컴퓨팅 디바이스(104) 및 카메라(106)를 사용한] 데이터의 생성, 처리 및 흐름을 위한 다른 기능과 관련된 복수의 다른 가능한 모듈의 구현을 예시하는 흐름도(450)[흐름도(150)와 유사함]가 도시되어 있다. 흐름도(450)에 대한 다음 설명에 나타낸 바와 같이, 골프 클럽(510)의 측정은 도 1a의 시스템(100) 도 2a 내지 도 2b의 보정 시트(202) 및 기점(108)의 양태를 이용하여, 골프 클럽(510)의 로프트 및 라이 각도를 측정하고 조정할 수 있으며, 작업 시간을 줄이면서, 측정 및 조정 동안 골프 클럽(510)의 마모 및 손상을 감소시킬 수 있다.Referring to FIG. 4, the application 102 and computing device 104 and camera 106 are used to measure aspects of a specific non-limiting embodiment of a mechanical device 110 in the form of a golf club (510 in FIG. 5). A flow diagram 450 (similar to flow diagram 150) is shown illustrating the implementation of a plurality of other possible modules related to different functions for the generation, processing and flow of data used. As shown in the following description of flow chart 450, measurement of golf club 510 is performed using aspects of system 100 of FIG. 1A, calibration sheet 202 and fiducial 108 of FIGS. 2A-2B, It is possible to measure and adjust the loft and lie angles of the golf club 510 and reduce the wear and tear of the golf club 510 during measurement and adjustment, while reducing working time.

일반적으로, 카메라(106)는 기점(108)의 사전 보정된 3D 위치(456)를 평가하기 위해 '장면 보정' 모듈(454)과 관련된 보정 이미지 프레임(452)을 생성하는데 사용될 수 있다. 기점(108)은 골프 클럽(510)의 소정의 위치를 따라 디플로잉될 수 있으며, 골프 클럽(510)의 이미지 프레임(458)이 생성될 수 있고, '기점 추적' 모듈(460) 및/또는 '실제 특징 추적' 모듈(464)은 그 후 2D 이미지 좌표(462) 또는 기점(108)과 관련된 다른 2D 이미지 특징을 기록하거나 또는 식별하기 위해 카메라(106)와 함께 (병렬로 또는 개별적으로) 사용될 수 있다. 2D 이미지 좌표(462)를 활용하여, 애플리케이션(102)과 관련된 '3D 위치 추정' 모듈(470)은 골프 클럽(510)의 기점(108) 및 실제 특징에 대응하는 3차원(3D) 포인트/좌표(472) 세트를 추후 추정하거나 또는 생성하도록 구성된다. 이러한 3D 포인트(472)가 생성되면, 골프 클럽의 샤프트의 중심축, 골프 클럽(510)의 페이스에 평행한 평면, 및 해당 평면에 대한 법선 벡터(476)를 규정하기 위해 일련의 소정의 선형 대수 연산(474에서 "샤프트 축 + 페이스 평면 법선 벡터 규정"로 표현됨)을 3D 포인트(472)에 적용하도록 구성된 '샤프트 축 + 페이스 평면 법선 벡터 규정' 모듈(474)이 구현될 수 있다. "로프트 + 라이 계산" 모듈(478)은 그 후 골프 클럽(510)과 관련된 로프트 및 라이 각도를 출력하기 위해 전술한 데이터를 이용할 수 있다. 일부 실시예에서, 골프 클럽(510)과 관련된 로프트 및 라이 각도는 골프 클럽 및 골프 클럽 피팅과 관련된 미리 정해놓은 가상 객체의 데이터베이스(482)를 참조하여 '가상 객체 중첩' 모듈(480)을 통해 소정의 목표 사양에 대해 추가로 확인될 수 있다.In general, the camera 106 may be used to generate the corrected image frame 452 associated with the'scene correction' module 454 to evaluate the pre-calibrated 3D position 456 of the fiducial 108. The origin 108 can be deployed along a predetermined position of the golf club 510, an image frame 458 of the golf club 510 can be generated, and the 'origin tracking' module 460 and/ Or the'real feature tracking' module 464 is then (parallel or individually) with the camera 106 to record or identify other 2D image features associated with the 2D image coordinates 462 or fiducial 108. Can be used. Using the 2D image coordinates 462, the '3D position estimation' module 470 associated with the application 102 is a three-dimensional (3D) point/coordinate corresponding to the origin 108 and the actual feature of the golf club 510. 472 is configured to later estimate or generate the set. When these 3D points 472 are created, a set of predetermined linear algebraic values to define the central axis of the shaft of the golf club, a plane parallel to the face of the golf club 510, and a normal vector 476 to that plane. A'shaft axis + face plane normal vector definition' module 474 configured to apply an operation 474 as "shaft axis + face plane normal vector definition") to the 3D point 472 may be implemented. The "Loft + Lie Calculation" module 478 may then use the data described above to output the loft and lie angles associated with the golf club 510. In some embodiments, the loft and lie angles associated with the golf club 510 are determined through the'virtual object overlap' module 480 with reference to the database 482 of predefined virtual objects related to the golf club and golf club fitting. It can be further checked against the target specification of.

보다 구체적으로, 도 4의 장면 보정 모듈(454)을 참조하면, 카메라(106)의 공간 해상도는 먼저 기점(108)으로 보정될 수 있다. 일부 실시예에서, 이것은 초기에 카메라(106) 앞에 기점(108) 또는 기점의 어레이(도 2a에서 204로 도시된 기점의 어레이)를 갖는 보정 시트(도 2의 202)를 위치시키는 것을 포함할 수 있어, 보정 시트(202)가 카메라(106)를 향해 배향된다. 기점(108)은 본 명세서에 설명된 바와 같이 다양한 형태 및 형상을 취할 수 있으며, 일부 실시예에서, 기점(108)은 2차원(2D) QR(퀵 리스폰스) 코드(도 2a 내지 도 2b에 도시됨) 또는 골프 클럽(510)(도시되지 않음)을 따라 존재하거나 또는 다른 방식으로 자연적으로 규정된 자연적 특징의 형태를 취할 수 있다.More specifically, referring to the scene correction module 454 of FIG. 4, the spatial resolution of the camera 106 may be first corrected to the starting point 108. In some embodiments, this may include initially positioning a calibration sheet (202 in FIG. 2) with a fiducial 108 or an array of fiducials (an array of fiducials shown as 204 in FIG. 2A) in front of the camera 106. There, the correction sheet 202 is oriented towards the camera 106. Fiducial 108 can take a variety of shapes and shapes as described herein, and in some embodiments, fiducial 108 is a two-dimensional (2D) QR (Quick Response) code (shown in Figures 2A-2B). ) Or along the golf club 510 (not shown), or otherwise can take the form of a naturally defined natural feature.

다시 도 4로 돌아가면, 기점(108)을 포함하는 보정 시트(202)가 카메라(106) 앞에 위치되면, 카메라(106)에 대한 보정 시트(202)의 위치 및 배향은 그 후 보정 이미지 프레임(452)을 생성하기 위해, 카메라(106)로 이미지를 캡처하는 동안, 소정의 기간 동안 변화될 수 있다. 이러한 방식으로, 보정 시트(202)의 각 기점(108)의 실제 치수는 카메라(106)를 보정하는데 사용될 수 있다. 보정 이미지 프레임(152)은 그 후 기점(108)의 3D 위치의 사전 보정(456)을 위해 장면 보정 모듈(454)에 공급될 수 있다. 즉, 보정 시트(202)는 기점(108)에 대한 카메라(106)의 초기 포즈[및/또는 카메라(106)에 대한 기점(108)의 기준 위치]를 컴퓨팅하기 위한 기준으로서 사용될 수 있다. 전반적으로, 장면 보정 모듈(454)은 보정 이미지 프레임(452)을 사용하여 카메라(106) 및 렌즈(도시되지 않음) 및/또는 컴퓨팅 디바이스(104)를 자동으로 보정하여, 후속 모듈이 본 명세서에서 추가로 설명되는 바와 같이 골프 클럽(510)을 따라 모든 관심 포인트에 대한 3D 좌표를 컴퓨팅할 수 있게 한다. 설명된 바와 같이 장면 보정 모듈(454)을 사용한 장면 보정은 카메라(106)로부터의 거리에 관계없이 카메라(106)의 뷰 내의 후속 이미지 프레임에서 기점(108)을 인식할 수 있는 컴퓨팅 디바이스(104) 및/또는 카메라(106)의 능력을 수용한다. 카메라(106)는 다수의 상이한 형태를 취할 수 있고, 이미지, 이미지 프레임, 또는 라이브 스트리밍 데이터(이미지 프레임을 규정함)를 캡처할 수 있고, 본 명세서에서 추가로 설명되는 바와 같이 하나 이상의 카메라를 포함할 수 있다.Returning to Fig. 4 again, if the correction sheet 202 including the fiducial point 108 is positioned in front of the camera 106, the position and orientation of the correction sheet 202 relative to the camera 106 is then determined by the correction image frame ( To generate 452, while capturing an image with camera 106, it may be varied for a period of time. In this way, the actual dimensions of each fiducial 108 of the calibration sheet 202 can be used to calibrate the camera 106. The correction image frame 152 can then be supplied to the scene correction module 454 for pre-correction 456 of the 3D position of the fiducial point 108. That is, the correction sheet 202 may be used as a reference for computing the initial pose of the camera 106 relative to the fiducial 108 (and/or the reference position of the fiducial 108 relative to the camera 106). Overall, the scene correction module 454 automatically corrects the camera 106 and lens (not shown) and/or the computing device 104 using the correction image frame 452 so that subsequent modules can be used herein. As further described, it makes it possible to compute 3D coordinates for all points of interest along the golf club 510. Scene correction using the scene correction module 454 as described is a computing device 104 capable of recognizing an origin 108 in a subsequent image frame within the view of the camera 106, regardless of the distance from the camera 106. And/or the capabilities of the camera 106. Camera 106 may take a number of different forms, may capture images, image frames, or live streaming data (which defines image frames), and include one or more cameras as further described herein. can do.

장면 보정이 완료되면, 골프 클럽(510)은 그 후 디플로이먼트(deployment) 및 측정을 위해 준비될 수 있다. 도 5를 참조하면, 골프 클럽(510)은 일반적으로 골프 클럽 헤드(512)(아이언 타입일 수 있음) 및 골프 클럽의 샤프트(514)를 포함할 수 있다. 골프 클럽 헤드(512)는 골프 클럽의 샤프트(514)의 일 단부에 결합되고, 그립(516)은 골프 클럽의 샤프트(514)의 반대편 단부에 결합된다. 골프 클럽의 샤프트(514)에 적합한 재료는 강철 및 흑연을 포함할 수 있다. 골프 클럽 헤드(512)가 아이언 타입 골프 클럽 헤드로 도시되었지만, 본 명세서에 설명된 본 발명의 개념의 범위를 벗어나지 않고 다른 실시예에서는 퍼터 또는 우드 타입 클럽 헤드일 수도 있다.Once the scene correction is complete, the golf club 510 may then be ready for deployment and measurement. 5, a golf club 510 may generally include a golf club head 512 (which may be an iron type) and a shaft 514 of a golf club. The golf club head 512 is coupled to one end of the shaft 514 of the golf club, and the grip 516 is coupled to the opposite end of the shaft 514 of the golf club. Suitable materials for the shaft 514 of a golf club may include steel and graphite. Although the golf club head 512 is shown as an iron type golf club head, it may be a putter or wood type club head in other embodiments without departing from the scope of the inventive concept described herein.

골프 클럽 헤드(512)는 골프 클럽의 샤프트(514)의 일 단부를 수용하기 위한 원통형 보어(522)를 갖는 몸체(518) 및 호젤(520)을 포함한다. 몸체(518)는 토우 단부(toe end)(526)로부터 이격된 힐 단부(heel end)(524)를 형성한다. 솔(sole)(도 5에 도시되지 않음)은 힐 단부(524)의 하부 부분으로부터 토우 단부(526)의 하부 부분으로 연장되고, 상단 레일(530)은 힐 단부(524)의 상부 부분으로부터 토우 단부(526)의 상부 부분으로 연장된다. 몸체(518)는 몸체(518)의 뒤쪽 또는 후방 부분을 따라 힐 단부(524)와 토우 단부(526) 사이에서 연장되는 후방 표면(532)을 갖는다. 몸체(518)는 힐 단부(524)와 토우 단부(526) 사이에서 연장되는 전방 표면(534)을 더 포함한다. 호젤(520)은 몸체(518)의 힐 단부(524)에 연결된 넥(521)을 포함한다. 넥(521)은 넥(521)의 하부 표면에 노치(도시되지 않음)을 갖는다. 골프 클럽 헤드(512)는 전방 표면(542) 및 후방 표면(544)을 갖는 골프 클럽 페이스 플레이트(540)를 더 포함할 수 있다. 클럽 헤드(512)는 캐스팅, 솔리드 캐스팅으로부터의 기계 가공 등에 의해 형성될 수 있다. 클럽 헤드(512)에 적합한 재료는 스테인리스강, 티타늄, 알루미늄, 니켈, 티타늄 합금, 알루미늄 합금, 니켈 합금 등을 포함하지만, 이에 제한되지 않는다.The golf club head 512 includes a hosel 520 and a body 518 having a cylindrical bore 522 for receiving one end of the shaft 514 of the golf club. Body 518 defines a heel end 524 spaced from a toe end 526. A sole (not shown in FIG. 5) extends from the lower portion of the heel end 524 to the lower portion of the toe end 526, and the top rail 530 is toe from the upper portion of the heel end 524. It extends to the upper portion of end 526. Body 518 has a rear surface 532 extending between heel end 524 and toe end 526 along a rear or rear portion of body 518. Body 518 further includes a front surface 534 extending between heel end 524 and toe end 526. The hosel 520 includes a neck 521 connected to the heel end 524 of the body 518. Neck 521 has a notch (not shown) on the lower surface of neck 521. The golf club head 512 may further include a golf club face plate 540 having a front surface 542 and a rear surface 544. The club head 512 may be formed by casting, machining from solid casting, or the like. Materials suitable for the club head 512 include, but are not limited to, stainless steel, titanium, aluminum, nickel, titanium alloy, aluminum alloy, nickel alloy, and the like.

골프 클럽(510)의 이미지 프레임(458)을 생성하기 전에, 기점(108)(장면 보정에 사용되는 동일한 기점일 수 있음)은 언제든지 또는 조정 도구(114) 내로 배치되기 전에 골프 클럽(510) 상의 별개의 소정의 위치를 따라 배치, 결합 또는 다른 방식으로 위치될 수 있다. 도 6a 내지 도 6b를 참조하면, 일 예에서, 기점(108) 중 적어도 3개는 골프 클럽(510) 상의 적어도 3개의 별개의 위치에 배치될 수 있다. 도 2b의 기점(108A)과 같은 제1 기점은 골프 클럽 헤드(512)의 골프 클럽 페이스 플레이트(540) 상에 배치될 수 있다. 도 2b의 기점(108B)과 같은 제2 기점은 골프 클럽 헤드(512)에 근접한 골프 클럽의 샤프트(514)의 제1 단부(550) 상에 배치될 수 있다. 도 2b의 기점(108C)와 같은 제3 기점은 샤프트(514)의 제2 단부(552)에 제1 단부(550) 반대편에 배치될 수 있다. 제1 기점(108A)은 골프 클럽(510)의 페이스 플레이트(540)의 페이스 평면을 나타낸다. 제2 및 제3 기점(108B 및 108C)은 골프 클럽(510)의 샤프트(514)의 중심선 축을 나타낸다. 샤프트(514)의 중심선 축과 관련하여 페이스 평면의 식별 또는 관찰은 본 명세서에서 추가로 설명되는 바와 같이, 골프 클럽 헤드의 로프트 각도 및 라이 각도를 결정하기 위한 애플리케이션(102)을 수용한다. 제2 및 제3 기점(108B 및 108C)은 샤프트(514)의 길이를 결정하기 위한 애플리케이션(102)을 추가로 수용한다.Prior to creating the image frame 458 of the golf club 510, the fiducial 108 (which may be the same fiducial used for scene correction) is placed on the golf club 510 at any time or prior to being placed into the adjustment tool 114. They may be arranged, combined or otherwise positioned along separate predetermined positions. 6A-6B, in an example, at least three of the starting points 108 may be disposed at at least three separate locations on the golf club 510. A first fiducial, such as fiducial 108A of FIG. 2B, may be disposed on the golf club face plate 540 of the golf club head 512. A second fiducial, such as fiducial 108B of FIG. 2B, may be disposed on the first end 550 of the shaft 514 of the golf club proximate the golf club head 512. A third fiducial, such as fiducial 108C of FIG. 2B, may be disposed opposite the first end 550 at the second end 552 of the shaft 514. The first fiducial 108A represents the face plane of the face plate 540 of the golf club 510. The second and third fiducials 108B and 108C represent the centerline axis of the shaft 514 of the golf club 510. The identification or observation of the face plane in relation to the centerline axis of the shaft 514 accommodates the application 102 for determining the loft and lie angles of a golf club head, as further described herein. The second and third fiducials 108B and 108C further accommodate the application 102 for determining the length of the shaft 514.

다른 예들에서, 기점(108)은 임의의 개수를 포함할 수 있다(예컨대, 적어도 4개의 기점, 적어도 5개의 기점, 적어도 6개의 기점, 적어도 7개의 기점, 적어도 8개의 기점, 적어도 9개의 기점, 적어도 10개의 기점, 적어도 11개의 기점, 적어도 12개의 기점, 또는 적어도 13개의 기점). 디플로잉된 기점(108)의 양을 증가시키는 것은 골프 클럽(510)의 양태를 측정하기 위한 애플리케이션(102)의 정확도를 증가시킬 수 있다. 또한, 기점(108)의 양을 증가시키는 것은 애플리케이션(102)이 골프 클럽의 롤 및 벌지와 같은 다른 속성을 측정하는 것을 허용할 수 있다. 일부 실시예에서, 페이스 플레이트(540) 상의 기점(108)의 배향은 골프 클럽 헤드(512)의 페이스 플레이트(540) 상에 위치된 복수의 홈과 평행한 기점(108)의 하나의 에지와 정렬될 수 있다. 다른 예에서, 페이스 플레이트(540) 상의 기점(108)은 골프 클럽 헤드(512)의 복수의 홈과 정렬될 필요가 없다. 샤프트(514) 상의 기점(108)의 배향은 샤프트(514) 상에 위치된 적어도 2개의 기점(108)이 있는 한 임의의 배향일 수 있다.In other examples, the fiducials 108 may include any number (e.g., at least 4 fiducials, at least 5 fiducials, at least 6 fiducials, at least 7 fiducials, at least 8 fiducials, at least 9 fiducials, At least 10 origins, at least 11 origins, at least 12 origins, or at least 13 origins). Increasing the amount of fiducial 108 deployed can increase the accuracy of the application 102 for measuring the aspect of the golf club 510. Additionally, increasing the amount of fiducial 108 may allow application 102 to measure other properties such as roll and bulge of a golf club. In some embodiments, the orientation of fiducial 108 on face plate 540 is aligned with one edge of fiducial 108 parallel to a plurality of grooves located on face plate 540 of golf club head 512. Can be. In another example, fiducials 108 on face plate 540 need not be aligned with the plurality of grooves in golf club head 512. The orientation of fiducials 108 on shaft 514 can be any orientation as long as there are at least two fiducials 108 located on shaft 514.

일부 실시예에서, 도시된 기점(108)은 보정 시트(202)로부터 절단되고, 도시된 골프 클럽(510)의 별개의 소정의 위치를 따라 배치될 수 있다. 골프 클럽(510)을 따라 위치된 기점(108)은 또한 보정 시트(202)로부터 복사되거나 또는 복제될 수 있다. 기점(108)은 테이프, 접착제를 사용하거나 또는 자기적 적용에 의해 골프 클럽(510)의 표면에 일시적으로 결합될 수 있다. 스케일-다운된 기점을 갖는 예에서, 기점(108)은 골프 클럽(510)의 코팅 내에 매립될 수 있거나, 또는 기점이 골프 클럽(510) 내에 또는 이를 따라 통합되도록 제조될 수 있다. 기점(108)은 샤프트(514)에 부착되는 부착 기구(예컨대, 스냅 클램프)를 갖는 평평한 표면 상에 기점(108)을 부착함으로써 골프 클럽(510)의 샤프트(514) 상에 추가로 배치될 수 있다. 기점(108)은 또한 자석에 의해 골프 클럽 헤드(512)의 샤프트(514) 상에 배치될 수 있다. 도시된 기점(108A), 기점(108B) 및 기점(108C)의 위치는 단지 예시적인 것일 뿐이며, 골프 클럽(510)의 상이한 측정이 요구되는 곳에 재-위치될 수 있다. 일 실시예에서, 기점(108)은 골프 클럽(510)을 따라 적용되거나 또는 위치되기 전에 인쇄되고 측정될 수 있다.In some embodiments, the illustrated fiducial 108 may be cut from the calibration sheet 202 and disposed along a separate predetermined location of the illustrated golf club 510. The fiducials 108 located along the golf club 510 may also be copied or duplicated from the calibration sheet 202. The fiducial 108 may be temporarily bonded to the surface of the golf club 510 using tape, adhesive, or by magnetic application. In the example with a scaled-down fiducial, fiducial 108 may be embedded within the coating of golf club 510, or may be made such that the fiducial is incorporated into or along golf club 510. The fiducial 108 may be further disposed on the shaft 514 of the golf club 510 by attaching the fiducial 108 on a flat surface with an attachment mechanism (e.g., a snap clamp) attached to the shaft 514. have. The fiducial 108 may also be placed on the shaft 514 of the golf club head 512 by means of a magnet. The locations of fiducial 108A, fiducial 108B and fiducial 108C shown are merely exemplary and may be re-positioned where different measurements of golf club 510 are desired. In one embodiment, fiducial 108 may be printed and measured prior to being applied or positioned along golf club 510.

도 6c를 참조하면, 기점(108A)[및 다른 기점(108)]은 일반적으로 정사각형 형상 및 픽셀화된 흑백 패턴의 고유한 기하학적 구조를 규정할 수 있다. 다른 실시예에서, 기점(108)은 임의의 형상(예컨대, 원형, 직사각형, 삼각형, 오각형, 팔각형, 또는 임의의 다른 형상)을 포함할 수 있다. 일부 실시예에서, 기점(108)은 기점(108)의 형상의 주변을 따라 윤곽선(210)(이전에 도 2b에 도시됨), 및 윤곽선(210)을 따라 일 포인트에 위치된 점(212)을 더 포함한다. 윤곽선(210)은 기점(108)의 평면 좌표를 나타내고, 점(212)은 평면 좌표의 원점을 나타낸다. 픽셀화된 흑백 패턴의 고유한 기하학적 구조는 서로 다른 이진 코드를 나타낸다. 컴퓨팅 디바이스(104) 및 카메라(106)가 골프 클럽(510)의 각각의 별개의 위치에 어떤 기점(108)이 있는지를 식별하도록 구성되도록 하기 위해, 장면 보정 후에 상이한 이진 코드가 카메라(106)에 의해 인식된다.Referring to FIG. 6C, fiducials 108A (and other fiducials 108) may define the intrinsic geometry of a generally square shape and pixelated black and white pattern. In other embodiments, the fiducial point 108 may comprise any shape (eg, circular, rectangular, triangular, pentagonal, octagonal, or any other shape). In some embodiments, the fiducial 108 is a contour 210 (previously shown in FIG. 2B) along the perimeter of the shape of the fiducial 108, and a point 212 located at a point along the contour 210 It includes more. The contour line 210 represents the plane coordinate of the origin 108, and the point 212 represents the origin of the plane coordinate. The unique geometry of the pixelated black-and-white pattern represents different binary codes. To ensure that the computing device 104 and camera 106 are configured to identify which fiducial point 108 is at each distinct location of the golf club 510, a different binary code is added to the camera 106 after scene correction. Is recognized by

다시 도 4를 참조해 보면, 기점(108)이 디플로잉되면, 기점(108)의 2차원 위치가 기록될 수 있고, 및/또는 기점(108) 및 골프 클럽(510)의 하나 이상의 이미지 또는 이미지 프레임(458)이 카메라(106)를 사용하여 액세스되거나 또는 캡처될 수 있다. 이미지 프레임(458)은 기점(108) 및 골프 클럽(510)의 2차원 이미지 특징 또는 이미지 좌표(462), 및/또는 골프 클럽(510)의 (소정의 위치의) 자연적 또는 실제 특징과 관련된 2차원 이미지 특징을 규정할 수 있다. 이미지 프레임(458)은 클럽 페이스(540)의 홈 및 이미지 프레임 내의 전체 골프 클럽(510)을 따른 주변 포인트의 2D 이미지 위치를 추가로 규정할 수 있다. 카메라(106)는 클럽(510)이 이미지 프레임 내에 남아있는 한 골프 클럽(510)의 기점(108) 또는 자연적 특징을 연속적으로 추적할 수 있다. 즉, 기점 추적 모듈(460)을 사용하여, 이미지 프레임(458)에서의 기점(108)의 2D 위치가 3D 위치 추정 모듈(470)에서 사용하기 위해 기록되거나 또는 다른 방식으로 식별될 수 있다. 유사하게, 다른 실시예에서, 실제 특징 추적 모듈(464)은 이미지 프레임(458) 내에서 골프 클럽(510)의 소정의 실제 특징의 2D 이미지 위치를 기록하거나 또는 식별하기 위해 사용될 수 있다. 기점(108)의 위치 및 회전은 이미지 프레임(458)의 카메라 좌표 프레임에 기록된다.Referring again to FIG. 4, when fiducial 108 is deployed, the two-dimensional position of fiducial 108 may be recorded, and/or one or more images of fiducial 108 and golf club 510 or Image frame 458 may be accessed or captured using camera 106. The image frame 458 is a two-dimensional image feature or image coordinate 462 of the origin 108 and golf club 510, and/or two related to a natural or actual feature (of a predetermined location) of the golf club 510. Dimensional image features can be defined. The image frame 458 may further define the 2D image location of the groove of the club face 540 and the surrounding points along the entire golf club 510 within the image frame. The camera 106 can continuously track the origin 108 or natural feature of the golf club 510 as long as the club 510 remains within the image frame. That is, using the fiducial tracking module 460, the 2D position of the fiducial 108 in the image frame 458 may be recorded or otherwise identified for use in the 3D position estimation module 470. Similarly, in another embodiment, the actual feature tracking module 464 may be used to record or identify the 2D image location of a given actual feature of the golf club 510 within the image frame 458. The position and rotation of the origin 108 is recorded in the camera coordinate frame of the image frame 458.

3D 위치 추정 모듈(470)은 그 다음 모든 기점(108)(및 실제 특징)의 3D 위치/좌표(472)를 추정하기 위해 도 4의 이전 모듈에서 생성된 데이터를 가져오도록 구성될 수 있다. 칼만 필터와 같은 순환 필터는 카메라(106)의 포즈 및 기점/특징의 2D 이미지 좌표(462)의 측정에 기초하여 골프 클럽(510)을 따라 새로운 포인트의 3D 위치(472)를 추정하기 위해 사용될 수 있다.The 3D position estimation module 470 may then be configured to fetch the data generated in the previous module of FIG. 4 to estimate the 3D position/coordinates 472 of all fiducials 108 (and actual features). Cyclic filters, such as the Kalman filter, can be used to estimate the 3D position 472 of a new point along the golf club 510 based on the measurement of the 2D image coordinates 462 of the pose and origin/feature of the camera 106. have.

3D 포인트(472)가 생성되거나 또는 달리 결정되면, 샤프트 축, 페이스 평면, 및 법선 벡터(476에 표시됨)를 추정하기 위해 일련의 소정의 선형 대수 연산을 3D 포인트(472)에 적용하도록 구성되는 '샤프트 축 + 페이스 평면 법선 벡터 규정' 모듈(474)이 구현될 수 있다. 일 실시예에서, 샤프트 축의 벡터(도 6a에서 S)는 다음과 같이 계산될 수 있다:If the 3D point 472 is created or otherwise determined, it is configured to apply a set of predetermined linear algebraic operations to the 3D point 472 to estimate the shaft axis, face plane, and normal vector (shown in 476). Shaft axis + face plane normal vector definition' module 474 may be implemented. In one embodiment, the vector of the shaft axis (S in Fig. 6A) can be calculated as follows:

Figure pct00002
Figure pct00002

여기서 (x', y', z')는 로컬 좌표계의 원점으로 규정된다. 클럽(510)의 페이스(540) 상의 3개의 포인트(A, B 및 C)(도 6a에서 각각 560, 562 및 564로 도시됨)는 페이스 상의 평면을 규정하기 위해 사용된다.Here, (x', y', z') is defined as the origin of the local coordinate system. Three points (A, B and C) on the face 540 of the club 510 (shown as 560, 562 and 564 respectively in FIG. 6A) are used to define the plane on the face.

해당 평면에 대한 법선 벡터 F는 다음과 같이 컴퓨팅될 수 있다:The normal vector F for that plane can be computed as follows:

Figure pct00003
Figure pct00003

여기서 AB 및 AC는 각각 A로부터 포인트 B 및 C를 가리키는 벡터이다.Where AB and AC are vectors pointing from A to points B and C, respectively.

마지막으로, '로프트 + 라이 계산' 모듈(478)은 다음과 같이 클럽의 라이를 계산하도록 구성될 수 있다:Finally, the'Loft + Lie Calculation' module 478 can be configured to calculate a club's lie as follows:

Figure pct00004
Figure pct00004

그리고 로프트는 다음과 같다:And the loft looks like this:

Figure pct00005
Figure pct00005

이러한 방식으로, 애플리케이션(102)은 카메라(106)에 대한 클럽 배향 및 클럽 위치의 넓은 범위 내에서 [벡터 사영(vector projections)으로서] 로프트 및 라이를 계산하도록 구성된다. 추가 단계로서, 애플리케이션(102)은 가상 객체의 데이터베이스(482) 내에서 (즉, 규정된 로프트 및 라이 측정치를 갖는) 목표 골프 클럽의 3D 모델에 대한 유효성을 위해 로프트 및 라이 측정치를 확인할 수 있다.In this way, the application 102 is configured to calculate the loft and lie (as vector projections) within a wide range of club orientation and club position relative to the camera 106. As an additional step, the application 102 may check the loft and lie measurements for validity against the 3D model of the target golf club (ie, with defined loft and lie measurements) within the virtual object's database 482.

즉, 애플리케이션(102)은 도 4의 모듈 및 기능을 구현하도록 구성되어, 카메라(106) 및 장면이 보정될 수 있고, 기점(108)은 골프 클럽(510)을 따라 위치될 수 있고, 기점(108) 및 골프 클럽(510)의 카메라(106)로 이미지가 캡처될 수 있다. 기점(108B-108C)과 관련된 이미지의 특징을 규정하는 데이터를 참조하면, 이러한 기점(108)의 위치 및 회전이 보고되어 중심선 샤프트 벡터를 결정할 수 있다. 또한, 기점(108A)과 관련된 이미지의 특징을 규정하는 데이터를 참조하여, 골프 클럽(510)의 페이스(540)의 평면이 결정될 수 있다. 전술한 방정식은 그 후 중심선 샤프트 벡터 및 골프 클럽(510)의 페이스(540)의 평면에 기초하여 골프 클럽(510)의 로프트 및 라이를 측정하기 위해 사용될 수 있다.That is, the application 102 is configured to implement the modules and functions of FIG. 4, so that the camera 106 and the scene can be corrected, the origin 108 can be positioned along the golf club 510, and the origin ( 108) and the camera 106 of the golf club 510. Referring to the data characterizing the image characteristics relative to the fiducials 108B-108C, the position and rotation of this fiducial 108 can be reported to determine the centerline shaft vector. Further, the plane of the face 540 of the golf club 510 may be determined with reference to data defining the characteristics of the image related to the origin 108A. The above equation may then be used to measure the loft and lie of the golf club 510 based on the centerline shaft vector and the plane of the face 540 of the golf club 510.

도 7에 도시된 바와 같이, 일부 실시예에서, 측정 및 조정되는 골프 클럽(510)은 조정 프로세스에 걸쳐 조정 도구(114)(예컨대, 공압 바이스)에 결합된 상태로 유지될 수 있다. 카메라(106)는 조정되는 골프 클럽(510)의 페이스 및 샤프트(514)에 대한 명확한 시선(LOS)을 카메라(106)에 제공하도록 위치될 수 있다.As shown in FIG. 7, in some embodiments, the golf club 510 being measured and adjusted may remain coupled to the adjustment tool 114 (eg, a pneumatic vise) throughout the adjustment process. The camera 106 may be positioned to provide the camera 106 with a clear line of sight (LOS) for the shaft 514 and the face of the golf club 510 being adjusted.

테스트 및 샘플 결과Test and sample results

도 8a 내지 도 8b에 나타낸 바와 같이, 시스템(100), 애플리케이션(102) 및 도 4의 특징(집합적으로 "비-접촉 PC 비전"으로 표시됨)을 활용하여, 골프 클럽(510)의 로프트 및 라이를 측정하는 시간은 다른 방법 및 시스템에 비해 상당히 감소된 것으로 밝혀졌으며, 계산 결과 적절한 오류율이 발생한다. .0004"보다 나은(4" 비전 볼륨보다 높은) 시스템 정확도는 0.05°보다 나은 일반적인 각도 정확도로 가능하다.8A-8B, utilizing the system 100, application 102, and features of FIG. 4 (collectively denoted as “non-contact PC vision”), the loft of the golf club 510 and It has been found that the time to measure Rye is significantly reduced compared to other methods and systems, and the calculation results in an appropriate error rate. System accuracy better than .0004" (higher than 4" vision volume) is possible with typical angular accuracy better than 0.05°.

중요하게는, 본 명세서에 설명된 방법은 골프 클럽(510)의 로프트 및 라이의 효율적인 측정을 수용하고, 도구 또는 고정 장치 없이 수행될 수 있다. 고정 도구(114)를 사용할 때, 시스템(100)의 양태는 조정 도구(114)로부터 골프 클럽(510)을 제거하지 않고 골프 클럽(510)의 속성을 측정하도록 모바일 앱 또는 컴퓨터 프로그램으로서 구현될 수 있다. 카메라(106)는 조정 도구(114)에 대한 골프 클럽(510)의 원하지 않는 제거 및 재-결합 없이, 장면 보정 및 측정 동안 이미지 데이터를 애플리케이션(102)에 연속적으로 또는 간격을 두고 공급할 수 있다.Importantly, the methods described herein accommodate efficient measurements of the loft and lie of the golf club 510 and can be performed without tools or fixtures. When using the fixation tool 114, aspects of the system 100 can be implemented as a mobile app or computer program to measure the properties of the golf club 510 without removing the golf club 510 from the adjustment tool 114. have. Camera 106 can supply image data to application 102 continuously or at intervals during scene correction and measurement, without unwanted removal and re-combination of golf club 510 to adjustment tool 114.

다른 실시예에서, 골프 클럽(510)의 고유한 특징은 측정 및 자체 보정(즉, 골프 클럽(510)의 팁 및 그립에서 샤프트(514)의 홈 및 직경의 간격, 도시되지 않음)을 위해 사용될 수 있다. 다른 실시예에서, 고해상도 포인트 클라우드 또는 메시에 대한 이미징 기술을 사용하는 다중 카메라/검출기가 구현될 수 있다. 이들 기술 모두는 본 명세서에 설명된 시스템(100)의 데스크톱 및 모바일 구현 모두에 사용될 수 있다.In another embodiment, the unique characteristics of the golf club 510 may be used for measurement and self-calibration (i.e. the spacing of the grooves and diameters of the shaft 514 in the tip and grip of the golf club 510, not shown). I can. In other embodiments, multiple cameras/detectors may be implemented using imaging techniques for high resolution point clouds or meshes. All of these techniques can be used for both desktop and mobile implementations of system 100 described herein.

예시적인 컴퓨팅 구성요소Exemplary Computing Components

도 9는 본 명세서에서 논의되는 다양한 방법론을 구현할 수 있는 컴퓨팅 디바이스(700)의 예시적인 개략도이다. 예컨대, 컴퓨팅 디바이스(700)는 애플리케이션(102)의 기능 및/또는 양태를 실행하거나 또는 액세스하는 컴퓨팅 디바이스(104)를 포함할 수 있다. 컴퓨팅 디바이스(700)는 버스(701)(즉, 인터커넥트), 적어도 하나의 프로세서(702) 또는 다른 컴퓨팅 요소, 적어도 하나의 통신 포트(703), 메인 메모리(704), 이동식 저장 매체(705), 읽기 전용 메모리(706), 및 대용량 저장 장치(707)를 포함할 수 있다. 프로세서(들)(702)는 Intel® Itanium® 또는 Itanium 2® 프로세서(들), AMD® Opteron® 또는 Athlon MP® 프로세서(들), 또는 Motorola® 프로세서 제품군과 같은, 그러나 이에 한정되지 않는 임의의 알려진 프로세서일 수 있다. 통신 포트(703)는 모뎀 기반 다이얼-업 연결, 10/100 이더넷 포트, 구리 또는 광섬유를 사용하는 기가비트 포트, 또는 USB 포트와 함께 사용하기 위한 RS-232 포트 중 임의의 것일 수 있다. 통신 포트(들)(703)는 근거리 통신망(LAN), 광역 통신망(WAN), 또는 컴퓨터 장치(700)가 연결되는 임의의 네트워크와 같은 네트워크에 따라 선택될 수 있다. 컴퓨팅 디바이스는 전송 및/또는 중계 네트워크(755), 디스플레이 스크린(760), I/O 포트(740) 및 마우스 또는 키보드와 같은 입력 장치(745)를 더 포함할 수 있다.9 is an exemplary schematic diagram of a computing device 700 that can implement the various methodologies discussed herein. For example, computing device 700 may include computing device 104 that executes or accesses functions and/or aspects of application 102. Computing device 700 includes a bus 701 (i.e., interconnect), at least one processor 702 or other computing element, at least one communication port 703, main memory 704, removable storage medium 705, A read-only memory 706 and a mass storage device 707 may be included. Processor(s) 702 can be any known, such as, but not limited to, Intel ® Itanium ® or Itanium 2 ® processor(s), AMD ® Opteron ® or Athlon MP ® processor(s), or Motorola ® processor family. It can be a processor. The communication port 703 may be any of a modem-based dial-up connection, a 10/100 Ethernet port, a gigabit port using copper or fiber, or an RS-232 port for use with a USB port. The communication port(s) 703 may be selected according to a network, such as a local area network (LAN), a wide area network (WAN), or any network to which the computer device 700 is connected. The computing device may further include a transmission and/or relay network 755, a display screen 760, an I/O port 740, and an input device 745 such as a mouse or keyboard.

메인 메모리(704)는 랜덤 액세스 메모리(RAM) 또는 당업계에 일반적으로 알려진 임의의 다른 동적 저장 장치(들)일 수 있다. 읽기 전용 메모리(706)는 프로세서(702)에 대한 명령어와 같은 정적 정보를 저장하기 위한 프로그래밍 가능 읽기 전용 메모리(PROM) 칩과 같은 임의의 정적 저장 장치(들)일 수 있다. 대용량 저장 장치(707)는 정보 및 명령어를 저장하는데 사용될 수 있다. 예컨대, SCSI(Small Computer Serial Interface) 드라이브의 Adaptec® 제품군과 같은 하드 디스크, 광디스크, RAID(Redundant Array of Independent Disks) 드라이브의 Adaptec® 제품군과 같은 RAID와 같은 디스크 어레이, 또는 임의의 다른 대용량 저장 장치를 사용할 수 있다.Main memory 704 may be random access memory (RAM) or any other dynamic storage device(s) generally known in the art. Read-only memory 706 may be any static storage device(s) such as a programmable read-only memory (PROM) chip for storing static information such as instructions for processor 702. The mass storage device 707 can be used to store information and instructions. For example, hard disks such as the Adaptec ® family of Small Computer Serial Interface (SCSI) drives , optical disks, disk arrays such as RAID such as the Adaptec ® family of Redundant Array of Independent Disks (RAID) drives, or any other mass storage device. Can be used.

버스(701)는 프로세서(들)(702)를 다른 메모리, 스토리지, 및 통신 블록과 통신 가능하게 연결한다. 버스(701)는 사용되는 저장 장치에 따라 PCI/PCI-X, SCSI, 또는 USB(Universal Serial Bus) 기반 시스템 버스(또는 다른 것)일 수 있다. 이동식 저장 매체(705)는 임의의 종류의 외장 하드 드라이브, 썸드라이브, 컴팩트 디스크 - 읽기 전용 메모리(CD-ROM), 컴팩트 디스크 - 리-라이터블(Re-Writable)(CD-RW), 디지털 비디오 디스크 - 읽기 전용 메모리(DVD- ROM), 등일 수 있다.The bus 701 communicatively connects the processor(s) 702 with other memories, storage, and communication blocks. The bus 701 may be a PCI/PCI-X, SCSI, or USB (Universal Serial Bus) based system bus (or something else) depending on the storage device used. Removable storage medium 705 includes any type of external hard drive, thumb drive, compact disk-read-only memory (CD-ROM), compact disk-Re-Writable (CD-RW), digital video Disc-may be a read-only memory (DVD-ROM), etc.

본 명세서의 실시예들은 컴퓨터(또는 다른 전자 장치)를 프로그래밍하여 프로세스를 수행하는데 사용될 수 있는 명령어를 저장한 기계 판독 가능 매체를 포함할 수 있는 컴퓨터 프로그램 제품으로서 제공될 수 있다. 기계 판독 가능 매체는 광 디스크, CD-ROMs, 광자기 디스크, ROMs, RAMs, 삭제 가능한 프로그래밍 가능한 읽기 전용 메모리(EPROMs), 전기적으로 삭제 가능한 프로그래밍 가능한 읽기 전용 메모리(EEPROMs), 자기 또는 광학 카드, 플래시 메모리, 또는 전자 명령어를 저장하기에 적합한 다른 유형의 매체/기계 판독 가능 매체를 포함할 수 있지만, 이들에 한정되지 않는다. 또한, 본 명세서의 실시예들은 또한 컴퓨터 프로그램 제품으로서 다운로드될 수 있으며, 여기서 프로그램은 통신 링크(예컨대, 모뎀 또는 네트워크 연결)를 통해 반송파 또는 다른 전파 매체에 구현된 데이터 신호를 통해 원격 컴퓨터로부터 요청 컴퓨터로 전송될 수 있다.Embodiments of the present specification may be provided as a computer program product that may include a machine-readable medium storing instructions that may be used to program a computer (or other electronic device) to perform a process. Machine-readable media include optical disks, CD-ROMs, magneto-optical disks, ROMs, RAMs, erasable programmable read-only memory (EPROMs), electrically erasable programmable read-only memory (EEPROMs), magnetic or optical cards, flash Memory, or other types of media/machine-readable media suitable for storing electronic instructions, but are not limited thereto. In addition, embodiments herein may also be downloaded as a computer program product, wherein the program is a requesting computer from a remote computer via a data signal embodied in a carrier wave or other propagating medium via a communication link (e.g., modem or network connection) Can be sent to.

도시된 바와 같이, 메인 메모리(704)는 위에서 논의된 기능을 지원하는 애플리케이션(102)으로 인코딩될 수 있다. 즉, 애플리케이션(102)(및/또는 본 명세서에 설명된 다른 리소스)의 양태는 본 명세서에 설명된 다른 실시예에 따른 처리 기능을 지원하는 데이터 및/또는 논리 명령어와 같은 소프트웨어 코드(예컨대, 메모리 또는 디스크와 같은 다른 컴퓨터 판독 가능 매체에 저장된 코드)로 구현될 수 있다. 일 실시예의 작동 중에, 프로세서(들)(702)는 버스(701)의 사용을 통해 메인 메모리(704)에 액세스하여, 예컨대 프로세서(702)에서 실행되는 로직 명령어를 통해 그리고 메인 메모리에 저장되거나 또는 달리 유형적으로 저장된 애플리케이션(102)에 기초하여 프로세스를 론칭하거나, 가동하거나, 실행하거나, 해석하거나, 또는 달리 수행한다.As shown, main memory 704 may be encoded with applications 102 that support the functions discussed above. That is, aspects of application 102 (and/or other resources described herein) are software code (e.g., memory) such as data and/or logic instructions to support processing functions according to other embodiments described herein. Or a code stored in another computer-readable medium such as a disk). During operation of one embodiment, processor(s) 702 accesses main memory 704 through the use of bus 701, such as through logic instructions executed on processor 702 and stored in main memory, or Launches, runs, executes, interprets, or otherwise performs a process based on an otherwise tangibly stored application 102.

상기 설명은 본 개시의 기술을 구현하는 예시적인 시스템, 방법, 기술, 명령어 시퀀스, 및/또는 컴퓨터 프로그램 제품을 포함한다. 그러나, 설명된 개시는 이러한 특정 세부 사항 없이 실시될 수 있다는 것이 이해된다. 본 개시에서, 개시된 방법은 장치에 의해 판독 가능한 명령어 또는 소프트웨어의 세트로서 구현될 수 있다. 또한, 개시된 방법에서 단계들의 특정 순서 또는 계층은 예시적인 접근법의 예라는 것이 이해된다. 설계 선호도에 기초하여, 방법에서 단계들의 특정 순서 또는 계층이 개시된 주제 내에서 유지되는 동안 재-배열될 수 있다는 것이 이해된다. 첨부된 방법 청구항은 샘플 순서로 다양한 단계들의 요소를 제시하며, 제시된 특정 순서 또는 계층에 반드시 제한되는 것을 의미하지는 않는다.The above description includes example systems, methods, techniques, instruction sequences, and/or computer program products that implement the techniques of this disclosure. However, it is understood that the described disclosure may be practiced without these specific details. In this disclosure, the disclosed method may be implemented as a set of instructions or software readable by an apparatus. In addition, it is understood that the specific order or hierarchy of steps in the disclosed method is an example of an exemplary approach. It is understood that based on design preferences, a specific order or hierarchy of steps in a method may be re-arranged while remaining within the disclosed subject matter. The appended method claims present elements of the various steps in a sample order and are not meant to be necessarily limited to the specific order or hierarchy presented.

설명된 개시 내용은 본 개시에 따른 프로세스를 수행하기 위해 컴퓨터 시스템(또는 다른 전자 장치)을 프로그래밍하는데 사용될 수 있는 명령어가 저장된 기계 판독 가능 매체를 포함할 수 있는 컴퓨터 프로그램 제품 또는 소프트웨어로서 제공될 수 있다. 기계 판독 가능 매체는 기계(예컨대, 컴퓨터)에 의해 판독 가능한 형태(예컨대, 소프트웨어, 프로세싱 애플리케이션)로 정보를 저장하기 위한 임의의 메커니즘을 포함한다. 기계 판독 가능 매체는 광학 저장 매체(예컨대, CD-ROM); 광자기 저장 매체, 읽기 전용 메모리(ROM); 랜덤 액세스 메모리(RAM); 삭제 가능한 프로그래밍 가능한 메모리(예컨대, EPROM 및 EEPROM); 플래시 메모리; 또는 전자 명령어를 저장하는데 적합한 다른 유형의 매체를 포함할 수 있지만, 이들에 한정되지는 않는다.The disclosed disclosure may be provided as a computer program product or software that may include a machine-readable medium having instructions stored thereon that may be used to program a computer system (or other electronic device) to perform a process according to the present disclosure. . Machine-readable media includes any mechanism for storing information in a form (eg, software, processing application) readable by a machine (eg, a computer). The machine-readable medium includes an optical storage medium (eg, CD-ROM); Magneto-optical storage media, read-only memory (ROM); Random access memory (RAM); Erasable programmable memory (eg, EPROM and EEPROM); Flash memory; Or other types of media suitable for storing electronic instructions, but are not limited thereto.

특정 실시예는 하나 이상의 모듈을 포함하는 것으로 본 명세서에서 설명된다. 이러한 모듈은 하드웨어로 구현되어, 이에 따라 특정 동작을 수행할 수 있는 적어도 하나의 유형 유닛을 포함하고, 특정 방식으로 구성 또는 배열될 수 있다. 예를 들면, 하드웨어 구현 모듈은 특정 동작을 수행하기 위해 [예컨대, FPGA(field-programmable gate array) 또는 ASIC(application-specific integrated circuit)과 같은 특수 목적 프로세서로서] 영구적으로 구성된 전용 회로를 포함할 수 있다. 하드웨어 구현 모듈은 또한 특정 동작을 수행하기 위해 소프트웨어 또는 펌웨어에 의해 일시적으로 구성되는 프로그래밍 가능 회로(예컨대, 범용 프로세서 또는 다른 프로그래밍 가능 프로세서 내에 포함됨)를 포함할 수 있다. 일부 예시적인 실시예에서, 하나 이상의 컴퓨터 시스템(예컨대, 독립형 시스템, 클라이언트 및/또는 서버 컴퓨터 시스템, 또는 피어-투-피어 컴퓨터 시스템) 또는 하나 이상의 프로세서가 본 명세서에 설명된 바와 같이 특정 동작을 수행하도록 동작하는 하드웨어 구현 모듈로서 소프트웨어(예컨대, 애플리케이션 또는 애플리케이션 부분)에 의해 구성될 수 있다.Certain embodiments are described herein as including one or more modules. Such a module is implemented as hardware, and thus includes at least one tangible unit capable of performing a specific operation, and may be configured or arranged in a specific manner. For example, a hardware-implemented module may include a dedicated circuit that is permanently configured (for example, as a special purpose processor such as a field-programmable gate array (FPGA) or an application-specific integrated circuit (ASIC)) to perform a specific operation. have. The hardware implemented module may also include programmable circuitry (eg, contained within a general purpose processor or other programmable processor) that is temporarily configured by software or firmware to perform certain operations. In some illustrative embodiments, one or more computer systems (e.g., standalone systems, client and/or server computer systems, or peer-to-peer computer systems) or one or more processors perform certain operations as described herein. It can be configured by software (eg, an application or part of an application) as a hardware-implemented module that operates to perform.

따라서, "하드웨어 구현 모듈" 또는 "모듈"이라는 용어는 특정 방식으로 동작하고 및/또는 본 명세서에 설명된 특정 동작을 수행하도록 물리적으로 구성되거나, 영구적으로 구성(예컨대, 하드 와이어드)되거나, 또는 일시적으로 구성되는(예컨대, 프로그래밍된) 엔티티인 유형의 엔티티를 포함한다. 하드웨어 구현 모듈이 일시적으로 구성되는(예컨대, 프로그래밍된) 실시예를 고려하는 경우, 하드웨어 구현 모듈 각각은 시간적으로 임의의 한 인스턴스에서 구성되거나 또는 인스턴스화될(instantiated) 필요가 없다. 예컨대, 하드웨어 구현 모듈이 소프트웨어를 사용하여 구성된 범용 프로세서를 포함하는 경우, 범용 프로세서는 다른 시간에 각각의 다른 하드웨어 구현 모듈로서 구성될 수 있다. 따라서 소프트웨어는 예컨대 하나의 시간 인스턴스에는 특정 하드웨어 구현 모듈을 구성하고, 다른 시간 인스턴스에는 다른 하드웨어 구현 모듈을 구성하도록 프로세서를 구성할 수 있다.Thus, the terms "hardware-implemented module" or "module" may be physically configured, permanently configured (eg, hard wired), or temporarily configured to operate in a particular manner and/or perform certain operations described herein. Includes an entity of type that is an entity consisting of (eg, programmed). When considering an embodiment in which hardware-implemented modules are temporarily configured (eg, programmed), each hardware-implemented module need not be configured or instantiated in any one instance in time. For example, if the hardware-implemented module includes a general-purpose processor configured using software, the general-purpose processor may be configured as each different hardware-implemented module at different times. Accordingly, the software may configure the processor to configure a specific hardware implementation module in, for example, one time instance and another hardware implementation module in another time instance.

하드웨어 구현 모듈은 다른 하드웨어 구현 모듈에 정보를 제공하고 및/또는 이로부터 정보를 수신할 수 있다. 따라서, 설명된 하드웨어 구현 모듈은 통신 가능하게 결합된 것으로 간주될 수 있다. 이러한 하드웨어 구현 모듈의 복수 개가 동시에 존재하는 경우, 통신은 하드웨어 구현 모듈을 연결하는 (예컨대, 적절한 회로 및 버스를 통한) 신호 전송을 통해 달성될 수 있다. 복수의 하드웨어 구현 모듈이 다른 시간에 구성되거나 또는 인스턴스화되는 실시예에서, 이러한 하드웨어 구현 모듈 간의 통신은 예컨대 복수의 하드웨어 구현 모듈이 액세스할 수 있는 메모리 구조에서 정보의 저장 및 검색을 통해 달성될 수 있다. 예컨대, 하나의 하드웨어 구현 모듈은 동작을 수행할 수 있고, 통신 가능하게 결합된 메모리 장치에 해당 동작의 출력을 저장할 수 있다. 추가의 하드웨어 구현 모듈이 이 경우, 나중에, 메모리 장치에 액세스하여 저장된 출력을 검색하고 처리할 수 있다. 하드웨어 구현 모듈은 입력 또는 출력 장치와의 통신을 시작할 수도 있다.The hardware implemented module may provide information to and/or receive information from other hardware implemented modules. Thus, the described hardware-implemented modules can be considered communicatively coupled. When a plurality of such hardware-implemented modules are present at the same time, communication can be achieved through signal transmission (eg, via appropriate circuitry and bus) connecting the hardware-implemented modules. In embodiments in which a plurality of hardware-implemented modules are configured or instantiated at different times, communication between these hardware-implemented modules can be achieved, for example, through storage and retrieval of information in a memory structure accessible by the plurality of hardware-implemented modules. . For example, one hardware implementation module may perform an operation and may store an output of the operation in a memory device that is communicatively coupled. An additional hardware-implemented module, in this case, can later access the memory device to retrieve and process the stored output. The hardware implemented module may initiate communication with an input or output device.

본 개시 내용 및 그에 수반되는 많은 장점은 전술한 설명에 의해 이해되어야 하는 것으로 믿어지고, 개시된 주제에서 벗어나지 않고 또는 모든 물질적 장점을 희생하지는 않고 구성요소의 형태, 구조 및 배열에서 다양한 변경이 이루어질 수 있음이 명백해야 한다. 설명된 형태는 단지 설명적인 것이며, 다음의 청구 범위는 그러한 변경을 아우르고 포함하는 것으로 의도된다.It is believed that the present disclosure and its many advantages are to be understood by the foregoing description, and various changes can be made in the form, structure and arrangement of components without departing from the disclosed subject matter or without sacrificing all material advantages. This should be obvious. The described form is illustrative only, and the following claims are intended to encompass and include such modifications.

본 개시가 다양한 실시예를 참조하여 설명되었지만, 이들 실시예는 예시적인 것이며 본 개시의 범위가 이들로 제한되지 않는다는 것을 이해해야 한다. 다양한 변형, 수정, 추가 및 개선이 가능하다. 보다 일반적으로, 본 개시에 따른 실시예는 특정 구현의 맥락에서 설명되었다. 기능은 본 개시의 다양한 실시예들에서 상이하게 블록들에서 분리되거나 또는 결합되고 또는 상이한 용어로 설명될 수 있다. 이들 및 다른 변형, 수정, 추가 및 개선은 다음의 청구범위에 정의된 바와 같이 본 개시의 범위 내에 있을 수 있다.While the present disclosure has been described with reference to various embodiments, it should be understood that these embodiments are exemplary and the scope of the present disclosure is not limited thereto. Various variations, modifications, additions and improvements are possible. More generally, embodiments according to the present disclosure have been described in the context of specific implementations. Functionality may be separated or combined in blocks differently in various embodiments of the present disclosure, or described in different terms. These and other variations, modifications, additions and improvements may be within the scope of this disclosure as defined in the following claims.

term

항 1: 골프 클럽의 속성을 측정하기 위한 시스템으로서,Item 1: A system for measuring the properties of a golf club,

골프 클럽 및 복수의 기점(fiducials)의 이미지를 캡처하도록 구성된 카메라; 및 카메라와 작동 가능하게 통신하는 컴퓨팅 디바이스를 포함하고,A camera configured to capture images of a golf club and a plurality of fiducials; And a computing device operably in communication with the camera,

컴퓨팅 디바이스는:Computing devices are:

카메라의 공간 해상도를 보정하기 위해 제1 이미지의 복수의 기점 각각과 관련된 제1 픽셀 세트에 액세스하고,Accessing a first set of pixels associated with each of the plurality of fiducials of the first image to correct the spatial resolution of the camera,

카메라로부터의 제2 이미지에 액세스하고 - 제2 이미지는 골프 클럽의 소정의 위치를 따라 위치된 복수의 기점을 갖는 골프 클럽을 포함함 - ,Accessing a second image from the camera, the second image comprising a golf club having a plurality of fiducials positioned along a predetermined position of the golf club;

제2 이미지를 복수의 기점 각각과 관련된 제2 픽셀 세트로 변환하고,Transform the second image into a second set of pixels associated with each of the plurality of fiducials,

복수의 기점에 대응하는 포인트 세트를 생성하고 - 포인트 세트는 제1 픽셀 세트와 제2 픽셀 세트 사이의 비교에 기초하여 제2 이미지에서의 복수의 기점의 추정된 3차원 특징을 규정함 - ,Generating a set of points corresponding to a plurality of fiducials, the set of points defining the estimated three-dimensional features of the plurality of fiducials in the second image based on a comparison between the first set of pixels and the second set of pixels,

일련의 소정의 함수에 포인트 세트를 적용하여 골프 클럽의 샤프트의 중심축, 골프 클럽의 페이스에 평행한 평면, 및 평면에 대한 법선 벡터를 규정하는 클럽 특성 데이터를 생성하고, 및Applying a set of points to a set of predetermined functions to generate club characteristic data defining a central axis of the shaft of the golf club, a plane parallel to the face of the golf club, and a normal vector to the plane, and

클럽 특성 데이터에 기초하여 골프 클럽과 관련된 로프트 각도 및 라이 각도를 포함하는 측정치를 출력하도록Based on the club characteristic data, to output measurements including the loft angle and lie angle associated with the golf club.

구성되는, 시스템.Consisting of a system.

항 2: 항 1에 있어서,Item 2: according to item 1,

복수의 기점은 골프 클럽으로부터 제거 가능한 개별 기점을 포함하는 것인, 시스템.Wherein the plurality of fiducials include individual fiducials removable from the golf club.

항 3: 항 2에 있어서,Item 3: according to item 2,

개별 기점은 2D 퀵 리스폰스(QR) 코드 세트를 포함하는 것인, 시스템.Wherein the individual fiducials comprise a 2D quick response (QR) code set.

항 4: 항 1에 있어서,Item 4: according to item 1,

복수의 기점은 골프 클럽의 자연적인 사전 선택된 특징을 포함하는 것인, 시스템.Wherein the plurality of fiducials comprise natural preselected features of the golf club.

항 5: 항 1에 있어서,Item 5: according to item 1,

카메라의 공간 해상도의 보정은:The calibration of the camera's spatial resolution is:

시트를 제공하는 것 - 복수의 기점은 시트의 측면을 따라 어레이로 규정됨 - ,-Providing a sheet-multiple fiducials are defined in an array along the side of the sheet;

시트의 측면이 카메라의 렌즈를 향해 배향되도록 카메라 앞에 시트를 위치시키는 것, 및Positioning the sheet in front of the camera such that the side of the sheet is oriented towards the lens of the camera, and

보정 데이터를 생성하기 위해 하나 이상의 이미지를 캡처하는 동안 카메라에 대한 시트의 위치 및 배향을 변화시키는 것Changing the position and orientation of the sheet relative to the camera while capturing one or more images to generate calibration data

을 포함하고,Including,

보정 데이터는 복수의 기점에 대응하는 포인트 세트를 결정하기 위해 컴퓨팅 디바이스에 의해 이용되는 것인, 시스템.Wherein the correction data is used by the computing device to determine a set of points corresponding to a plurality of fiducials.

항 6: 항 5에 있어서,Item 6: The method of item 5,

시트는 카메라의 초기 포즈를 컴퓨팅하기 위해 기준으로서 사용되는 것인, 시스템.Wherein the sheet is used as a reference to compute the initial pose of the camera.

항 7: 항 1에 있어서,Item 7: according to item 1,

제2 픽셀 세트는 제2 이미지의 전체를 규정하는 픽셀 어레이의 일부이고, 제2 픽셀 세트는 제2 이미지의 복수의 기점에 특정된 위치 및 치수를 규정하고, 정수 어레이를 추가로 규정하는 것인, 시스템.Wherein the second set of pixels is part of a pixel array that defines the entirety of the second image, the second set of pixels defines positions and dimensions specific to a plurality of origins of the second image, and further defines an integer array. , system.

항 8: 항 1에 있어서,Item 8: The method of item 1,

컴퓨팅 디바이스는 카메라의 포즈 및 제2 픽셀 세트에 기초하여 포인트 세트를 생성하기 위해 순환 필터를 사용하는 것인, 시스템.Wherein the computing device uses a cyclic filter to generate a set of points based on the camera's pose and the second set of pixels.

항 9: 항 1에 있어서,Item 9: The method of item 1,

복수의 기점 중 일부는 골프 클럽의 페이스에 할당되고, 복수의 기점 중 제2 일부는 골프 클럽의 샤프트에 할당되는 것인, 시스템.Wherein some of the plurality of fiducials are assigned to the face of the golf club, and a second portion of the plurality of fiducials is assigned to the shaft of the golf club.

항 10: 항 1에 있어서,Item 10: The method of item 1,

소정의 함수 세트는:A given set of functions are:

3차원(3D) 함수 - 3D 함수는 로컬 좌표계의 원점을 나타내는 좌표 세트 및 골프 클럽을 따른 소정의 위치를 나타내는 제2 좌표를 포함하는 입력을 포함하고, 3D 함수는 골프 클럽의 샤프트 축의 벡터를 나타내는 제3 좌표 세트를 포함하는 출력을 생성하도록 구성됨 - ;Three-dimensional (3D) function-The 3D function includes an input containing a set of coordinates representing the origin of the local coordinate system and a second coordinate representing a predetermined position along the golf club, the 3D function representing the vector of the shaft axis of the golf club. -Configured to generate an output containing a third set of coordinates;

제1 함수 입력에 대해 외적 연산(cross product operation)을 수행하는 제1 함수 - 제1 함수 입력은 골프 클럽의 페이스 상의 평면을 규정하는 포인트 세트를 포함하고, 제1 함수는 평면에 대한 법선 벡터를 규정하는 제1 함수 출력을 생성하도록 구성됨 - ;A first function that performs a cross product operation on the first function input-the first function input contains a set of points defining a plane on the face of the golf club, and the first function calculates a normal vector for the plane. -Configured to generate a defining first function output;

벡터의 비율을 포함하는 제2 함수 입력을 포함하는 제2 함수 - 제2 함수는 골프 클럽의 라이를 나타내는 각도를 규정하는 제2 함수 출력을 생성하도록 구성됨 - ; 및A second function comprising a second function input comprising a proportion of the vector, the second function being configured to generate a second function output that defines an angle representing the lie of the golf club; And

벡터의 비율을 포함하는 제3 함수 입력을 포함하는 제3 함수 - 제3 함수는 골프 클럽의 로프트를 나타내는 각도를 규정하는 제3 함수 출력을 생성하도록 구성됨 - A third function comprising a third function input comprising a proportion of the vector, the third function configured to generate a third function output that defines an angle representing the loft of the golf club

를 포함하는 일련의 하나의 또는 소정의 선형 대수 연산을 포함하는 것인, 시스템.And a series of one or a predetermined linear algebra operation comprising a.

항 11: 방법으로서,Clause 11: As a method,

카메라 구성요소와 작동 가능하게 통신하는 프로세서를 제공하는 단계를 포함하고,Providing a processor in operative communication with the camera component,

프로세서는:The processor is:

카메라 구성요소로부터의 제1 이미지에 액세스하고 - 제1 이미지는 복수의 기점을 포함함 - ;Accessing a first image from a camera component, the first image comprising a plurality of fiducials;

제1 이미지를 복수의 기점 각각과 관련된 제1 복수의 픽처 요소로 변환하고;Transforming the first image into a first plurality of picture elements associated with each of the plurality of origins;

카메라 구성요소로부터의 제2 이미지에 액세스하고 - 제2 이미지는 골프 클럽의 소정의 위치를 따라 위치된 복수의 기점을 포함함 - ;Accessing a second image from the camera component, the second image comprising a plurality of fiducials positioned along a predetermined position of the golf club;

제2 이미지를 복수의 기점 각각과 관련된 제2 복수의 픽처 요소로 변환하고;Transforming the second image into a second plurality of picture elements associated with each of the plurality of origins;

제1 및 제2 복수의 픽처 요소 간의 차이에 기초하여 복수의 기점의 가상 3차원 양태를 규정하는 포인트 세트를 생성하고;Generating a set of points defining a virtual three-dimensional aspect of the plurality of origins based on the difference between the first and second plurality of picture elements;

골프 클럽 특성 데이터를 생성하기 위해 일련의 미리 정해놓은 선형 대수 연산에 대한 입력으로서 포인트 세트를 적용하고; 및Applying a set of points as input to a series of predetermined linear algebraic operations to generate golf club characteristic data; And

골프 클럽 특성 데이터에 기초하여 골프 클럽과 관련된 로프트 각도 및 라이 각도를 규정하는 출력 측정치를 생성하도록Based on golf club characteristic data, to generate output measurements that define the loft angle and lie angle associated with the golf club

구성되는, 방법.Constructed, how.

항 12: 항 11에 있어서,Item 12: The method of item 11,

카메라 구성요소는 하나 이상의 카메라를 포함하는 것인, 방법.Wherein the camera component comprises one or more cameras.

항 13: 항 11에 있어서,Item 13: The method of item 11,

제1 복수의 픽처 요소 및 제2 복수의 픽처 요소는 정수의 2차원 어레이로서 표현되는 픽셀을 포함하는 것인, 방법.Wherein the first plurality of picture elements and the second plurality of picture elements comprise pixels represented as a two-dimensional array of integers.

항 14: 항 11에 있어서,Item 14: The method of item 11,

골프 클럽이 카메라 구성요소와 관련된 이미지 프레임 내에 위치된 동안 카메라 구성요소를 사용하여 복수의 기점을 연속적으로 추적하는 단계를 더 포함하는 것인, 방법.And continuously tracking a plurality of fiducials using the camera component while the golf club is positioned within an image frame associated with the camera component.

항 15: 항 11에 있어서,Item 15: The method of item 11,

골프 클럽을 카메라 구성요소의 명확한 시선 내에 위치시키도록 조정 고정구의 공압 바이스에 골프 클럽을 결합하는 단계를 더 포함하는 것인, 방법.And coupling the golf club to a pneumatic vise of the adjustment fixture to position the golf club within a clear line of sight of the camera component.

항 16: 항 11에 있어서,Item 16: The method of item 11,

보정 단계 이전에 복수의 기점에 대해 소정의 위치에 카메라 구성요소를 위치시키는 단계를 더 포함하는 것인, 방법.And positioning the camera component at a predetermined location relative to the plurality of fiducials prior to the step of calibrating.

항 17: 항 11에 있어서,Item 17: The method of item 11,

복수의 기점은 골프 클럽의 홈, 로고, 및 페이스를 포함하는 골프 클럽의 특징을 포함하는 것인, 방법.Wherein the plurality of origins include features of the golf club including grooves, logos, and faces of the golf club.

항 18: 항 11에 있어서,Item 18: The method of item 11,

복수의 기점 중 제1 기점 및 제2 기점은 골프 클럽의 바닥 홈을 따라 규정되고, 복수의 기점 중 제3 기점은 골프 클럽의 페이스를 따라 규정되는 것인, 방법.The method, wherein the first and second origins of the plurality of origins are defined along the bottom groove of the golf club, and the third origin of the plurality of origins is defined along the face of the golf club.

항 19: 장치로서,Item 19: As a device,

카메라; 및 컴퓨팅 디바이스를 포함하고,camera; And a computing device,

컴퓨팅 디바이스는 카메라에 의해 생성된 제1 이미지로부터의 복수의 기점과 관련된 복수의 픽처 요소에 액세스하고, 골프 클럽을 따라 위치된 복수의 기점을 나타내는 제2 이미지로부터의 복수의 픽처 요소에 대한 일련의 변화를 식별하고, 복수의 기점과 관련된 복수의 픽처 요소에 대한 일련의 변화에 기초하여 3D 포인트 세트를 생성하고, 골프 클럽 특성 데이터를 생성하기 위해 하나 이상의 미리 정해놓은 선형 대수 연산에 대한 입력으로서 3D 포인트 세트를 적용하고, 및 골프 클럽 특성 데이터에 기초하여 골프 클럽과 관련된 로프트 각도 및 라이 각도를 규정하는 측정치를 출력하도록 구성되는, 장치.The computing device accesses a plurality of picture elements associated with a plurality of fiducials from a first image generated by the camera, and a series of picture elements from a second image representing a plurality of fiducials positioned along the golf club. 3D as input to one or more predefined linear algebra operations to identify changes, generate a set of 3D points based on a series of changes to a plurality of picture elements related to a plurality of fiducials, and generate golf club characteristic data. The apparatus is configured to apply a set of points and output measurements defining a loft angle and lie angle associated with a golf club based on the golf club characteristic data.

항 20: 항 19에 있어서,Item 20: The method of item 19,

골프 클럽 특성 데이터는 골프 클럽의 샤프트의 중심축, 골프 클럽의 페이스에 평행한 평면, 및 평면에 대한 법선 벡터를 포함하고, 출력 측정치는 골프 클럽과 관련된 소정의 목표 사양에 대해 확인되는 것인, 장치.The golf club characteristic data includes a central axis of the shaft of the golf club, a plane parallel to the face of the golf club, and a normal vector to the plane, wherein the output measurements are verified against a predetermined target specification associated with the golf club. Device.

항 21: 항 19에 있어서,Item 21: The method of item 19,

복수의 기점과 관련된 복수의 픽처 요소는 2차원 이미지의 픽셀을 포함하고, 복수의 기점과 관련된 픽처 요소에 대한 일련의 변화는 제2 이미지에 의해 반영되는 픽셀에 대한 변화를 포함하는 것인, 장치.Wherein the plurality of picture elements associated with the plurality of fiducials include pixels of the two-dimensional image, and the series of changes to the picture elements associated with the plurality of fiducials include the changes to the pixels reflected by the second image .

항 22: 장치로서,Clause 22: As a device,

카메라; 및 컴퓨팅 디바이스를 포함하고,camera; And a computing device,

컴퓨팅 디바이스는 카메라에 의해 생성된 제1 이미지로부터의 복수의 기점과 관련된 복수의 2차원 이미지 특징에 액세스하고, 기계 장치를 따라 위치된 복수의 기점을 나타내는 제2 이미지를 통해 관찰되는 복수의 2차원 픽처 특징에 대한 하나 이상의 변화에 기초하여 복수의 기점의 위치 및 회전의 변화를 식별하고, 복수의 기점과 관련된 복수의 2차원 픽처 특징에 대한 하나 이상의 변화에 기초하여 3D 포인트 세트를 생성하고, 기계 장치와 관련된 물리적 속성 데이터를 생성하기 위해 하나 이상의 미리 정해놓은 선형 대수 연산에 대한 입력으로서 3D 포인트 세트를 적용하고, 및 물리적 속성 데이터에 기초하여 기계 장치와 관련된 성능 측정치를 출력하도록 구성되는, 장치.The computing device has access to a plurality of two-dimensional image features associated with a plurality of fiducials from a first image generated by the camera, and a plurality of two-dimensional viewed through a second image representing a plurality of fiducials positioned along the mechanical device. Identify a change in position and rotation of a plurality of fiducials based on one or more changes to a picture feature, generate a set of 3D points based on one or more changes to a plurality of two-dimensional picture features associated with the plurality of fiducials, and A device configured to apply a set of 3D points as input to one or more predefined linear algebraic operations to generate device-related physical attribute data, and to output a performance measure associated with the mechanical device based on the physical attribute data.

항 23: 항 22에 있어서,Item 23: The method of item 22,

복수의 기점은 기계 장치의 소정의 위치를 따라 위치된 개별 QR 코드를 포함하는 것인, 장치.Wherein the plurality of fiducials comprise individual QR codes positioned along a predetermined position of the mechanical device.

항 24: 항 22에 있어서,Item 24: The method of item 22,

복수의 기점은 기계 장치의 소정의 위치와 관련된 자연적 또는 실제 특징을 포함하는 것인, 장치.The device, wherein the plurality of fiducials comprise natural or actual features associated with a predetermined location of the mechanical device.

Claims (20)

골프 클럽의 속성을 측정하기 위한 시스템으로서,
골프 클럽 및 복수의 기점(fiducials)의 이미지를 캡처하도록 구성된 카메라; 및
카메라와 작동 가능하게 통신하는 컴퓨팅 디바이스
를 포함하고, 컴퓨팅 디바이스는:
카메라의 공간 해상도를 보정하기 위해 제1 이미지의 복수의 기점 각각과 관련된 제1 픽셀 세트에 액세스하고,
카메라로부터의 제2 이미지에 액세스하고 - 제2 이미지는 골프 클럽의 미리 정해놓은 위치를 따라 위치된 복수의 기점을 갖는 골프 클럽을 포함함 - ,
제2 이미지를 복수의 기점 각각과 관련된 제2 픽셀 세트로 변환하고,
복수의 기점에 대응하는 포인트 세트를 생성하고 - 포인트 세트는 제1 픽셀 세트와 제2 픽셀 세트 사이의 비교에 기초하여 제2 이미지에서의 복수의 기점의 추정된 3차원 특징을 규정함 - ,
일련의 미리 정해놓은 함수에 포인트 세트를 적용하여 골프 클럽의 샤프트의 중심축, 골프 클럽의 페이스에 평행한 평면, 및 평면에 대한 법선 벡터를 규정하는 클럽 특성 데이터를 생성하고,
클럽 특성 데이터에 기초하여 골프 클럽과 관련된 로프트 각도 및 라이 각도를 포함하는 측정치를 출력하도록, 구성되는 것인 시스템.
As a system for measuring the properties of a golf club,
A camera configured to capture images of a golf club and a plurality of fiducials; And
Computing device operably communicating with the camera
Including, the computing device:
Accessing a first set of pixels associated with each of the plurality of fiducials of the first image to correct the spatial resolution of the camera,
Accessing a second image from the camera, the second image comprising a golf club having a plurality of fiducials positioned along a predetermined position of the golf club;
Transform the second image into a second set of pixels associated with each of the plurality of fiducials,
Generating a set of points corresponding to a plurality of fiducials, the set of points defining the estimated three-dimensional features of the plurality of fiducials in the second image based on a comparison between the first set of pixels and the second set of pixels,
By applying a set of points to a set of predefined functions, club characteristic data defining the central axis of the shaft of the golf club, a plane parallel to the face of the golf club, and a normal vector to the plane are generated,
And output measurements including loft angles and lie angles associated with a golf club based on club characteristic data.
제1항에 있어서, 복수의 기점은 골프 클럽으로부터 제거 가능한 개별 기점을 포함하는 것인 시스템.The system of claim 1, wherein the plurality of fiducials comprises individual fiducials removable from the golf club. 제2항에 있어서, 개별 기점은 2D 퀵 리스폰스(QR) 코드 세트를 포함하는 것인 시스템.The system of claim 2, wherein the individual fiducials comprise a 2D quick response (QR) code set. 제1항에 있어서, 복수의 기점은 골프 클럽의 자연적인 사전 선택된 특징을 포함하는 것인 시스템.The system of claim 1, wherein the plurality of fiducials comprise natural preselected features of a golf club. 제1항에 있어서, 카메라의 공간 해상도의 보정은:
시트를 제공하는 것 - 복수의 기점은 시트의 측면을 따른 어레이로 규정됨 - ,
시트의 측면이 카메라의 렌즈를 향해 배향되도록 카메라 앞에 시트를 위치시키는 것, 및
보정 데이터를 생성하기 위해 하나 이상의 이미지를 캡처하는 동안 카메라에 대한 시트의 위치 및 배향을 변화시키는 것을 포함하고,
보정 데이터는 복수의 기점에 대응하는 포인트 세트를 결정하기 위해 컴퓨팅 디바이스에 의해 이용되는 것인 시스템.
The method of claim 1, wherein the correction of the spatial resolution of the camera is:
-Providing a sheet-multiple fiducials are defined as an array along the side of the sheet,
Positioning the sheet in front of the camera such that the side of the sheet is oriented towards the lens of the camera, and
Changing the position and orientation of the sheet relative to the camera while capturing one or more images to generate calibration data,
Wherein the correction data is used by the computing device to determine a set of points corresponding to a plurality of fiducials.
제5항에 있어서, 시트는 카메라의 초기 포즈를 컴퓨팅하기 위해 기준으로서 사용되는 것인 시스템.6. The system of claim 5, wherein the sheet is used as a reference to compute the initial pose of the camera. 제1항에 있어서, 제2 픽셀 세트는 제2 이미지의 전체를 규정하는 픽셀 어레이의 일부이고, 제2 픽셀 세트는 제2 이미지의 복수의 기점에 특정된 위치 및 치수를 규정하고, 정수 어레이를 추가로 규정하는 것인 시스템.The method of claim 1, wherein the second set of pixels is part of a pixel array that defines the entirety of the second image, the second set of pixels defines positions and dimensions specified at a plurality of origins of the second image, and defines an integer array. A system that further defines. 제1항에 있어서, 컴퓨팅 디바이스는 카메라의 포즈 및 제2 픽셀 세트에 기초하여 포인트 세트를 생성하기 위해 순환 필터를 사용하는 것인 시스템.The system of claim 1, wherein the computing device uses a cyclic filter to generate a set of points based on the camera's pose and the second set of pixels. 제1항에 있어서, 복수의 기점 중 일부는 골프 클럽의 페이스에 할당되고, 복수의 기점 중 제2 일부는 골프 클럽의 샤프트에 할당되는 것인 시스템.The system of claim 1, wherein some of the plurality of fiducials are assigned to a face of a golf club and a second portion of the plurality of fiducials are assigned to a shaft of a golf club. 제1항에 있어서, 미리 정해놓은 함수 세트는:
3차원(3D) 함수 - 3D 함수는 로컬 좌표계의 원점을 나타내는 좌표 세트 및 골프 클럽을 따른 미리 정해놓은 위치를 나타내는 제2 좌표를 포함하는 입력을 포함하고, 3D 함수는 골프 클럽의 샤프트 축의 벡터를 나타내는 제3 좌표 세트를 포함하는 출력을 생성하도록 구성됨 - ;
제1 함수 입력에 대해 외적 연산(cross product operation)을 수행하는 제1 함수 - 제1 함수 입력은 골프 클럽의 페이스 상의 평면을 규정하는 포인트 세트를 포함하고, 제1 함수는 평면에 대한 법선 벡터를 규정하는 제1 함수 출력을 생성하도록 구성됨 - ;
벡터의 비율을 포함하는 제2 함수 입력을 포함하는 제2 함수 - 제2 함수는 골프 클럽의 라이를 나타내는 각도를 규정하는 제2 함수 출력을 생성하도록 구성됨 - ; 및
벡터의 비율을 포함하는 제3 함수 입력을 포함하는 제3 함수 - 제3 함수는 골프 클럽의 로프트를 나타내는 각도를 규정하는 제3 함수 출력을 생성하도록 구성됨 -
를 포함하는 일련의 하나의 또는 미리 정해놓은 선형 대수 연산을 포함하는 것인 시스템.
The method of claim 1, wherein the predefined set of functions is:
Three-dimensional (3D) function-The 3D function includes an input including a set of coordinates representing the origin of the local coordinate system and a second coordinate representing a predetermined position along the golf club, and the 3D function contains a vector of the shaft axis of the golf club. -Configured to generate an output containing a third set of coordinates representing;
A first function that performs a cross product operation on the first function input-the first function input contains a set of points defining a plane on the face of the golf club, and the first function calculates a normal vector for the plane. -Configured to generate a defining first function output;
A second function comprising a second function input comprising a proportion of the vector, the second function being configured to generate a second function output that defines an angle representing the lie of the golf club; And
A third function comprising a third function input comprising a proportion of the vector, the third function configured to generate a third function output that defines an angle representing the loft of the golf club
A system comprising a series of one or a predetermined linear algebra operation comprising a.
방법으로서,
카메라 구성요소와 작동 가능하게 통신하는 프로세서를 제공하는 단계
를 포함하고, 프로세서는:
카메라 구성요소로부터의 제1 이미지에 액세스하고 - 제1 이미지는 복수의 기점을 포함함 - ;
제1 이미지를 복수의 기점 각각과 관련된 제1 복수의 픽처 요소로 변환하고;
카메라 구성요소로부터의 제2 이미지에 액세스하고 - 제2 이미지는 골프 클럽의 미리 정해놓은 위치를 따라 위치된 복수의 기점을 포함함 - ;
제2 이미지를 복수의 기점 각각과 관련된 제2 복수의 픽처 요소로 변환하고;
제1 및 제2 복수의 픽처 요소 간의 차이에 기초하여 복수의 기점의 가상 3차원 양태를 규정하는 포인트 세트를 생성하고;
골프 클럽 특성 데이터를 생성하기 위해 일련의 미리 정해놓은 선형 대수 연산에 대한 입력으로서 포인트 세트를 적용하고;
골프 클럽 특성 데이터에 기초하여 골프 클럽과 관련된 로프트 각도 및 라이 각도를 규정하는 출력 측정치를 생성하도록, 구성되는 것인 방법.
As a method,
Providing a processor in operative communication with the camera component.
Including, the processor is:
Accessing a first image from a camera component, the first image comprising a plurality of fiducials;
Transforming the first image into a first plurality of picture elements associated with each of the plurality of origins;
Accessing a second image from the camera component, the second image comprising a plurality of fiducials positioned along a predetermined position of the golf club;
Transforming the second image into a second plurality of picture elements associated with each of the plurality of origins;
Generating a set of points defining a virtual three-dimensional aspect of the plurality of origins based on the difference between the first and second plurality of picture elements;
Applying a set of points as input to a series of predetermined linear algebra operations to generate golf club characteristic data;
And generating output measurements defining loft angles and lie angles associated with a golf club based on golf club characteristic data.
제11항에 있어서, 카메라 구성요소는 하나 이상의 카메라를 포함하는 것인 방법.12. The method of claim 11, wherein the camera component comprises one or more cameras. 제11항에 있어서, 제1 복수의 픽처 요소 및 제2 복수의 픽처 요소는 정수의 2차원 어레이로서 표현되는 픽셀을 포함하는 것인 방법.12. The method of claim 11, wherein the first plurality of picture elements and the second plurality of picture elements comprise pixels represented as a two-dimensional array of integers. 제11항에 있어서, 골프 클럽이 카메라 구성요소와 관련된 이미지 프레임 내에 위치된 동안, 카메라 구성요소를 사용하여 복수의 기점을 연속적으로 추적하는 단계를 더 포함하는 방법.12. The method of claim 11, further comprising continuously tracking a plurality of fiducials using the camera component while the golf club is positioned within an image frame associated with the camera component. 제11항에 있어서, 골프 클럽을 카메라 구성요소의 명확한 시선 내에 위치시키도록 조정 고정구의 공압 바이스에 골프 클럽을 결합하는 단계를 더 포함하는 방법.12. The method of claim 11, further comprising coupling the golf club to a pneumatic vise of the adjustment fixture to position the golf club within a clear line of sight of the camera component. 제11항에 있어서, 보정 단계 이전에 복수의 기점에 대해 미리 정해놓은 위치에 카메라 구성요소를 위치시키는 단계를 더 포함하는 방법.12. The method of claim 11, further comprising positioning the camera component at a predetermined location for the plurality of fiducials prior to the step of correcting. 제11항에 있어서, 복수의 기점은 골프 클럽의 홈, 로고, 및 페이스를 포함하는 골프 클럽의 특징을 포함하는 것인 방법.12. The method of claim 11, wherein the plurality of fiducials include features of a golf club including grooves, logos, and faces of the golf club. 제11항에 있어서, 복수의 기점 중 제1 기점 및 제2 기점은 골프 클럽의 바닥 홈을 따라 규정되고, 복수의 기점 중 제3 기점은 골프 클럽의 페이스를 따라 규정되는 것인 방법.The method of claim 11, wherein the first and second origins of the plurality of origins are defined along the bottom groove of the golf club, and the third origin of the plurality of origins is defined along the face of the golf club. 장치로서,
카메라; 및
컴퓨팅 디바이스
를 포함하고, 컴퓨팅 디바이스는
카메라에 의해 생성된 제1 이미지로부터의 복수의 기점과 관련된 복수의 픽처 요소에 액세스하고,
골프 클럽을 따라 위치된 복수의 기점을 나타내는 제2 이미지로부터의 복수의 픽처 요소에 대한 일련의 변화를 식별하고,
복수의 기점과 관련된 복수의 픽처 요소에 대한 일련의 변화에 기초하여 3D 포인트 세트를 생성하고,
골프 클럽 특성 데이터를 생성하기 위해 하나 이상의 미리 정해놓은 선형 대수 연산에 대한 입력으로서 3D 포인트 세트를 적용하고,
골프 클럽 특성 데이터에 기초하여 골프 클럽과 관련된 로프트 각도 및 라이 각도를 규정하는 측정치를 출력하도록, 구성되는 것인 장치.
As a device,
camera; And
Computing device
Including, the computing device
Accessing a plurality of picture elements associated with a plurality of origins from the first image generated by the camera,
Identify a series of changes to the plurality of picture elements from the second image representing the plurality of fiducials positioned along the golf club,
Create a 3D point set based on a series of changes to a plurality of picture elements related to a plurality of origins,
Apply a set of 3D points as input to one or more predefined linear algebra operations to generate golf club characteristic data,
The apparatus is configured to output measurements defining a loft angle and a lie angle associated with a golf club based on the golf club characteristic data.
제19항에 있어서, 골프 클럽 특성 데이터는 골프 클럽의 샤프트의 중심축, 골프 클럽의 페이스에 평행한 평면, 및 평면에 대한 법선 벡터를 포함하고, 출력 측정치는 골프 클럽과 관련된 미리 정해놓은 목표 사양에 대해 확인되는 것인 장치.The method of claim 19, wherein the golf club characteristic data includes a central axis of the shaft of the golf club, a plane parallel to the face of the golf club, and a normal vector to the plane, and the output measurement is a predetermined target specification related to the golf club. Device that is identified for.
KR1020217000708A 2018-06-12 2019-06-12 Systems and methods for measuring 3D properties using computer vision KR20210021003A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862684119P 2018-06-12 2018-06-12
US62/684,119 2018-06-12
PCT/US2019/036839 WO2019241433A1 (en) 2018-06-12 2019-06-12 Systems and methods for measurement of 3d attributes using computer vision

Publications (1)

Publication Number Publication Date
KR20210021003A true KR20210021003A (en) 2021-02-24

Family

ID=68765066

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217000708A KR20210021003A (en) 2018-06-12 2019-06-12 Systems and methods for measuring 3D properties using computer vision

Country Status (7)

Country Link
US (2) US11475599B2 (en)
EP (1) EP3806967A4 (en)
JP (2) JP7231656B2 (en)
KR (1) KR20210021003A (en)
CN (2) CN116474332A (en)
AU (2) AU2019284918B2 (en)
WO (1) WO2019241433A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3164607A1 (en) * 2020-01-16 2021-07-22 Yong Ho Suk Method and system for measuring physical quantity associated with golf club, and non-transitory computer-readable recording medium
US11554302B1 (en) * 2021-03-02 2023-01-17 Topgolf Callaway Brands Corp. Apparatus and method for measuring lie and loft of a golf club

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2526142B2 (en) * 1989-12-27 1996-08-21 日ノ出エンジニアリング株式会社 Measuring device for groove angle and shaft angle of golf club
JP2826697B2 (en) * 1994-02-17 1998-11-18 株式会社アシックス Golf club head motion measurement device
US5772522A (en) * 1994-11-23 1998-06-30 United States Of Golf Association Method of and system for analyzing a golf club swing
JP2921660B2 (en) 1995-10-07 1999-07-19 川崎重工業株式会社 Article shape measuring method and device
JPH10337344A (en) 1997-06-09 1998-12-22 Fuitsuto:Kk Measurement of lye and loft angles of golf club and computer-readable recording medium to store program to execute the measurement
US6482101B1 (en) 1999-03-19 2002-11-19 Marinus B. Posma Method of and apparatus for adjusting loft and lie angles of golf clubs
CA2427839C (en) * 2000-11-10 2010-07-27 Richard M. Weiss Method and apparatus for measuring and orienting golf club shaft
US20030008731A1 (en) * 2001-07-02 2003-01-09 David Anderson Automated method and system for golf club selection based on swing type
US8409024B2 (en) * 2001-09-12 2013-04-02 Pillar Vision, Inc. Trajectory detection and feedback system for golf
US6506124B1 (en) * 2001-12-21 2003-01-14 Callaway Golf Company Method for predicting a golfer's ball striking performance
US20030148818A1 (en) * 2002-01-18 2003-08-07 Myrhum Mark C. Golf club woods with wood club head having a selectable center of gravity and a selectable shaft
US9682319B2 (en) * 2002-07-31 2017-06-20 Sony Interactive Entertainment Inc. Combiner method for altering game gearing
US7277599B2 (en) * 2002-09-23 2007-10-02 Regents Of The University Of Minnesota System and method for three-dimensional video imaging using a single camera
JP4290462B2 (en) * 2003-04-16 2009-07-08 Sriスポーツ株式会社 Golf swing diagnostic system
US6871414B2 (en) * 2003-05-08 2005-03-29 Taylor Made Golf Company, Inc. Apparatus and method for measuring and adjusting golf club loft and lie
US7744480B2 (en) * 2004-01-20 2010-06-29 Acushnet Company One camera club monitor
US8872914B2 (en) * 2004-02-04 2014-10-28 Acushnet Company One camera stereo system
JP4466133B2 (en) * 2004-03-09 2010-05-26 横浜ゴム株式会社 Moving body measuring device
US8556267B2 (en) * 2004-06-07 2013-10-15 Acushnet Company Launch monitor
US7413517B2 (en) * 2005-01-25 2008-08-19 Butler Jr Joseph H Reconfigurable golf club and method
US7263866B2 (en) 2005-07-27 2007-09-04 Mondher Latiri Golf club hosel bending fixture
GB0608841D0 (en) 2006-05-04 2006-06-14 Isis Innovation Scanner system and method for scanning
US7704155B2 (en) 2006-11-17 2010-04-27 Acushnet Company Metal wood club
JP4388567B2 (en) 2007-06-26 2009-12-24 学校法人 関西大学 Golf club analysis method
US20100093458A1 (en) * 2008-10-09 2010-04-15 Roger Davenport Golf swing analysis apparatus and method
JP5471820B2 (en) 2010-05-20 2014-04-16 横浜ゴム株式会社 Calculation method for evaluation data of golf club head
US9400503B2 (en) 2010-05-20 2016-07-26 Irobot Corporation Mobile human interface robot
US9182487B2 (en) 2011-06-22 2015-11-10 The Boeing Company Advanced remote nondestructive inspection system and process
US8708833B2 (en) * 2011-02-18 2014-04-29 Sri Sports Limited Method for measuring behavior of golf club and ball
US8801537B1 (en) * 2011-03-10 2014-08-12 Callaway Golf Company Adjustable golf club shaft and hosel assembly
US10751598B2 (en) * 2011-05-11 2020-08-25 Karsten Manufacturing Corporation Systems, methods, and articles of manufacture to measure, analyze and share golf swing and ball motion characteristics
JP2013009771A (en) * 2011-06-28 2013-01-17 Bridgestone Corp System, method, and program for measurement and analysis of behavior of golf club head in golf swing
JP6078470B2 (en) 2011-10-04 2017-02-08 株式会社ブリヂストン Golf club deformation measuring system, measuring method and measuring apparatus
US9339707B2 (en) * 2011-12-27 2016-05-17 Aquimo, Llc Using a mobile device with integrated motion sensing for customized golf club fitting
JP6125146B2 (en) * 2011-12-29 2017-05-10 ダンロップスポーツ株式会社 Measuring method of golf club head
US8951138B2 (en) * 2012-01-25 2015-02-10 Wawgd, Inc. Golf club head measurement system
JP5941752B2 (en) * 2012-05-22 2016-06-29 ブリヂストンスポーツ株式会社 Analysis system and analysis method
JP6124549B2 (en) * 2012-10-17 2017-05-10 ダンロップスポーツ株式会社 Golf club swing analysis method, swing analysis system, and swing analysis program
US9452323B2 (en) 2013-03-15 2016-09-27 Krone Golf Limited Method and system of manufacturing a golf club, and a manufactured golf club head
JP6054331B2 (en) * 2013-04-16 2016-12-27 アクシュネット カンパニーAcushnet Company Improved fitting system for golf clubs
JP6467766B2 (en) * 2013-06-21 2019-02-13 セイコーエプソン株式会社 Motion analysis method, motion analysis apparatus, and motion analysis program
JP2015009008A (en) 2013-07-01 2015-01-19 株式会社ディテクト Golf swing analysis system
US9427633B2 (en) 2013-12-31 2016-08-30 Nike Inc. Iron-type golf clubs and golf club heads
US9950237B2 (en) * 2015-04-23 2018-04-24 Dunlop Sports Co., Ltd. System, method, and apparatus for monitoring sporting apparatus and users thereof
US20170124367A1 (en) 2015-10-29 2017-05-04 Empire Technology Development Llc Alignment markers to facilitate detection of object orientation and deformation
US9999823B2 (en) * 2016-01-15 2018-06-19 Inxpar Inc. System for analyzing golf swing process and method thereof
JP2018050884A (en) 2016-09-28 2018-04-05 カシオ計算機株式会社 Notification device, notification method and program
JP2018085575A (en) * 2016-11-21 2018-05-31 カシオ計算機株式会社 Image processing apparatus, analysis system, image processing method, and program
US10423945B2 (en) 2016-12-31 2019-09-24 Taylor Made Golf Company, Inc. Golf club head and method of manufacture
US10343041B2 (en) * 2017-06-26 2019-07-09 Acushnet Company Apparatus and method for measuring and adjusting a golf club loft and lie

Also Published As

Publication number Publication date
US20230066820A1 (en) 2023-03-02
AU2019284918B2 (en) 2023-08-24
WO2019241433A1 (en) 2019-12-19
US20190378303A1 (en) 2019-12-12
CN112543668B (en) 2023-05-09
JP7231656B2 (en) 2023-03-01
AU2023270261A1 (en) 2023-12-07
AU2019284918A1 (en) 2021-01-07
JP2021531067A (en) 2021-11-18
EP3806967A4 (en) 2021-09-08
US11475599B2 (en) 2022-10-18
US11948334B2 (en) 2024-04-02
EP3806967A1 (en) 2021-04-21
JP2023081889A (en) 2023-06-13
CN112543668A (en) 2021-03-23
CN116474332A (en) 2023-07-25

Similar Documents

Publication Publication Date Title
US11948334B2 (en) Systems and methods for measurement of 3D attributes using computer vision
US8690698B2 (en) Golf swing classification method, system, device, and program
JP5746477B2 (en) Model generation device, three-dimensional measurement device, control method thereof, and program
JP5932059B2 (en) Golf club head measuring device
US8734264B2 (en) System and method for measurement and analysis of behavior of golf club head in golf swing
JP6078470B2 (en) Golf club deformation measuring system, measuring method and measuring apparatus
CN110450163A (en) The general hand and eye calibrating method based on 3D vision without scaling board
WO2012081687A1 (en) Information processing apparatus, information processing method, and program
JP5975711B2 (en) Golf swing classification method, classification system, classification device, and program
CN111199576B (en) Outdoor large-range human body posture reconstruction method based on mobile platform
JP2005270484A (en) Calibration method
JP2013009789A (en) Camera system, photographing system, and photographing method
WO2018207388A1 (en) Program, device and method relating to motion capture
JP6034128B2 (en) Golf club head, swing analysis system using the same, and swing measurement method
JP6193549B2 (en) MOBILE BODY WITH FIXED MARKER AND METHOD FOR FIXING MARKER TO MOBILE BODY
JP2021033775A (en) Image generation system, estimation system, image generation method, estimation method, and program
CN116887892A (en) Method for calculating spin of golf ball being hit and moved and spin calculating device using same
JP2013031531A (en) System and method for measuring golf swing

Legal Events

Date Code Title Description
E902 Notification of reason for refusal