KR20220109636A - 객체 추적을 이용한 풋살 영상 분석 시스템 및 방법 - Google Patents
객체 추적을 이용한 풋살 영상 분석 시스템 및 방법 Download PDFInfo
- Publication number
- KR20220109636A KR20220109636A KR1020210012891A KR20210012891A KR20220109636A KR 20220109636 A KR20220109636 A KR 20220109636A KR 1020210012891 A KR1020210012891 A KR 1020210012891A KR 20210012891 A KR20210012891 A KR 20210012891A KR 20220109636 A KR20220109636 A KR 20220109636A
- Authority
- KR
- South Korea
- Prior art keywords
- futsal
- image
- data
- interest
- analysis system
- Prior art date
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 99
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000033001 locomotion Effects 0.000 claims abstract description 74
- 238000007405 data analysis Methods 0.000 claims abstract description 51
- 238000000605 extraction Methods 0.000 claims abstract description 8
- 238000010191 image analysis Methods 0.000 claims description 91
- 230000008859 change Effects 0.000 claims description 30
- 238000004422 calculation algorithm Methods 0.000 claims description 19
- 238000005259 measurement Methods 0.000 claims description 14
- 238000003703 image analysis method Methods 0.000 claims description 12
- 238000013079 data visualisation Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 48
- 230000008569 process Effects 0.000 description 30
- 230000000694 effects Effects 0.000 description 19
- 238000012800 visualization Methods 0.000 description 13
- 238000005516 engineering process Methods 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 239000000284 extract Substances 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000037081 physical activity Effects 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000026676 system process Effects 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 235000019577 caloric intake Nutrition 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- JPGKFBXFEQWCAI-CCLYOLAMSA-N (4r,4ar,7s,7ar,12bs)-9-methoxy-3-methyl-2,4,4a,7,7a,13-hexahydro-1h-4,12-methanobenzofuro[3,2-e]isoquinoline-7-ol;phosphoric acid;hydrate Chemical compound O.OP(O)(O)=O.C([C@H]1[C@H](N(CC[C@@]112)C)C3)=C[C@H](O)[C@@H]1OC1=C2C3=CC=C1OC JPGKFBXFEQWCAI-CCLYOLAMSA-N 0.000 description 1
- 241000195940 Bryophyta Species 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 201000010099 disease Diseases 0.000 description 1
- 208000037265 diseases, disorders, signs and symptoms Diseases 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/20—Drawing from basic elements, e.g. lines or circles
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/10—Terrestrial scenes
- G06V20/17—Terrestrial scenes taken from planes or by drones
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Remote Sensing (AREA)
- Image Analysis (AREA)
- Image Processing (AREA)
Abstract
객체 추적을 이용한 풋살 영상 분석 시스템 및 방법이 개시된다. 본 발명의 일실시예에 따른, 객체 추적을 이용한 풋살 영상 분석 시스템은, 무인 비행체에 의해 풋살 경기장과 연관되어 실시간으로 촬영되는 복수의 평면 영상을, 상기 무인 비행체로부터 연속적으로 수신하는 데이터 수신 모듈; 및 상기 복수의 평면 영상 각각에 대해 관심영역(ROI)를 할당하고, CSRT Tracker를 이용하여, 상기 관심영역(ROI) 내 객체에 대한 위치를 식별하여, 상기 객체의 좌표를 추출하며, 상기 관심영역(ROI)의 할당 및 상기 좌표의 추출을 반복 함으로써 추적되는 상기 좌표의 변화에 기초하여, 상기 객체가 상기 풋살 경기장에서 이동한 이동 경로에 따른 이동 거리를 산출하는 데이터 분석 모듈을 포함한다.
Description
본 발명은 평면 영상 만을 이용해 선수의 경기를 분석하여 데이터를 시각화하는, 객체 추적을 이용한 풋살 영상 분석 시스템 및 방법을 제공한다.
특히, 본 발명에서는, 객체를 추적하며 누적된 값을 계산하여 객체의 픽셀당 거리를 구하고, 이를 기반으로 속도 관련 데이터와 거리 기반 데이터를 추출한 후, 추출된 데이터를 시각화 라이브러리를 통해 그래프와 이미지로 변환하고, 웹페이지를 통해 편리하게 이용할 수 있도록 한다.
또한, 본 발명은, 기존의 분석 시스템의 문제점을 개선하고 데이터 기반의 과학적이고 효율적인 분석을 이용할 수 있도록 한다.
최근에는, 딥러닝, 인공지능, 빅데이터를 활용한 첨단 기술이 등장함에 따라 4차 산업혁명에 대한 관심이 증가하는 추세이고, 4차 산업혁명 기술과 여러 분야가 결합하는 형태로 기술이 발전하고 있다.
또한, 근래에는, 융합된 기술 중 빅데이터를 활용하는 데이터 사이언스와 스포츠가 만나 데이터를 기반으로 하는 스포츠 사이언스가 발전하고 있다. 스포츠 사이언스의 일례로는, 독일의 분데스리가의 경우 전문 분석관과 함께 분석 프로그램을 사용하여 선수와 팀 모두에게 과학적이고 효율적인 피드백 방법을 사용하는 것을 예시할 수 있다.
데이터를 이용한 분석 시스템은, 축구 뿐만 아니라 농구, 야구 등 다양한 스포츠 산업에서도 사용하고 있다.
그러나 작은 중소단체나, 비인기 종목, 아마추어 팀과 같이 재정적으로 부족한 경우에는, 분석관을 고용하거나 분석 서비스의 도움을 받지 못하고 있다. 예컨대, 분데스리가, K-리그 등에서 사용하고 있는 분석 서비스인 "Bepro 11"은, 약 500만 원에서 5,000만원 상당의 연간 사용료가 필요하므로, 아마추어나 동호인 수준의 작은 단체에서는, 분석 서비스를 이용하기 어렵다.
또한, 비교적 저렴하다고 평가되는 GPS 장치를 이용한 분석 서비스는, 선수당 약 15만 원의 장치를 선수별로 구매하여 착용해야 한다. 이러한 착용형 분석 장치는, 금전적으로 비교적 저렴하지만, 선수들이 경기에서 직접 착용해야 하므로 움직임에 불편함을 느낄 수 있다.
국내 축구와 풋살의 시장 규모는, 5,000억 원으로 점차 증가하는 추세이고, 유럽의 축구 시장은, 약 32조 원으로 큰 규모를 차지하고 있다. 하지만 큰 시장에도 불구하고 아마추어나 동호인들에게 제공되는 서비스는, 매우 부족한 실정이다.
따라서, 중소단체의 팀이나 아마추어 선수들에게 있어, 금전적 문제와 활동력에 대한 문제를 해결할 수 있도록, 간편하고 저렴한 장치를 이용하여 분석할 수 있는 분석 서비스가 절실히 요구되고 있다.
본 발명의 실시예는, 드론을 활용한 평면 영상을 이용하여 경기를 분석하고, 웹으로 분석한 데이터를 제공하는 분석 서비스를 지원하는 것을 해결과제로 한다.
또한, 본 발명의 실시예는, 저렴한 비용으로, 프로와 아마추어 모두 사용할 수 있는 분석 시스템을 제공하는 것을 목적으로 한다.
또한, 본 발명의 실시예는, 드론으로 촬영한 평면 영상을 이용하여 선수의 움직임을 분석하여 뛴 거리, 경기 내 움직임 비율, 속도 관련 데이터, 경기 내 누적 이동경로, 선수의 경기 내 활동반경 히트맵 등 다양한 데이터를 제공하는 것을 목적으로 한다.
또한, 본 발명의 실시예는, 신체 활동에 제약을 주는 특수한 장치나 고가의 장치 없이 평면 영상을 이용한 분석을 가능하게 하며, 분석 데이터를 이용하여 데이터 사이언스와 스포츠 사이언스 분야에서 더 효율적이고 과학적인 데이터를 이용하도록 하는 것을 목적으로 한다.
본 발명의 일실시예에 따른, 객체 추적을 이용한 풋살 영상 분석 시스템은, 무인 비행체에 의해 풋살 경기장과 연관되어 실시간으로 촬영되는 복수의 평면 영상을, 상기 무인 비행체로부터 연속적으로 수신하는 데이터 수신 모듈; 및 상기 복수의 평면 영상 각각에 대해 관심영역(ROI)를 할당하고, CSRT Tracker를 이용하여, 상기 관심영역(ROI) 내 객체에 대한 위치를 식별하여, 상기 객체의 좌표를 추출하며, 상기 관심영역(ROI)의 할당 및 상기 좌표의 추출을 반복 함으로써 추적되는 상기 좌표의 변화에 기초하여, 상기 객체가 상기 풋살 경기장에서 이동한 이동 경로에 따른 이동 거리를 산출하는 데이터 분석 모듈을 포함할 수 있다.
또한, 본 발명의 실시예에 따른, 객체 추적을 이용한 풋살 영상 분석 방법은, 무인 비행체에 의해 풋살 경기장과 연관되어 실시간으로 촬영되는 복수의 평면 영상을, 상기 무인 비행체로부터 연속적으로 수신하는 단계; 상기 복수의 평면 영상 각각에 대해 관심영역(ROI)를 할당하는 제1 단계; CSRT Tracker를 이용하여, 상기 관심영역(ROI) 내 객체에 대한 위치를 식별하여, 상기 객체의 좌표를 추출하는 제2 단계; 및 상기 제1 단계와 상기 제2 단계를 반복 함으로써 추적되는 상기 좌표의 변화에 기초하여, 상기 객체가 상기 풋살 경기장에서 이동한 이동 경로에 따른 이동 거리를 산출하는 단계를 포함하여 구성할 수 있다.
본 발명의, 객체 추적을 이용한 풋살 영상 분석 시스템 및 방법에서는, 선수 객체 추적을 위해 CSRT 트래커를 사용하고, 공 객체 추적을 위해 Hough Circle Transform 알고리즘과 공의 크기, 색상, 위치 등을 고려한 판별을 사용한다.
본 발명의 일실시예에 따르면, 드론을 활용한 평면 영상을 이용하여 경기를 분석하고, 웹으로 분석한 데이터를 제공하는 분석 서비스를 지원 할 수 있다.
또한, 본 발명의 일실시예에 따르면, 저렴한 비용으로, 프로와 아마추어 모두 사용할 수 있는 분석 시스템을 제공 할 수 있다.
또한, 본 발명의 일실시예에 따르면, 드론으로 촬영한 평면 영상을 이용하여 선수의 움직임을 분석하여 뛴 거리, 경기 내 움직임 비율, 속도 관련 데이터, 경기 내 누적 이동경로, 선수의 경기 내 활동반경 히트맵 등 다양한 데이터를 제공 할 수 있다.
또한, 본 발명의 일실시예에 따르면, 신체 활동에 제약을 주는 특수한 장치나 고가의 장치 없이 평면 영상을 이용한 분석을 가능하게 하며, 분석 데이터를 이용하여 데이터 사이언스와 스포츠 사이언스 분야에서 더 효율적이고 과학적인 데이터를 이용하도록 할 수 있다.
도 1은 본 발명의 일실시예에 따른 객체 추적을 이용한 풋살 영상 분석 시스템의 구성을 도시한 블록도이다.
도 2는 본 발명에 따른 분석 프로그램의 시스템 프로세스를 설명하기 위한 도이다.
도 3은 관심영역 지정 방식을 보여주기 위한 도이다.
도 4는 경기장 크기를 이용한 가중치 계산 알고리즘을 설명하기 위한 도이다.
도 5는 실제 추정거리를 계산하기 위한 알고리즘을 설명하기 위한 도이다.
도 6은 히트맵 생성 과정을 보여주기 위한 도이다.
도 7은 본 발명에 따른 시스템 구조도이다.
도 8은 관심영역 지정 과정을 예시하는 도이다.
도 9는 선수의 속도 데이터를 시각화 하는 과정을 예시하는 도이다.
도 10은 웹을 통한 선수 데이터를 시각화 하는 과정을 예시하는 도이다.
도 11은 영상분석을 통한 선수 이동경로를 예시하기 위한 도이다.
도 12는 영상분석을 통한 선수 히트맵을 예시하기 위한 도이다.
도 13은 GPS 계측장치를 통한 이동경로 데이터를 예시하기 위한 도이다.
도 14는 GPS 계측장치를 통한 선수 움직임 데이터를 예시하기 위한 도이다.
도 15는 본 발명에서 제안한 공 추적 알고리즘을 이용한 풋살 분석 시스템의 구성도이다.
도 16은 머리를 공으로 인식한 경우를 설명하기 위한 도이다.
도 17은 패널티 마크를 오탐지하는 일례를 설명하기 위한 도이다.
도 18은 패널티 마크를 오탐지하는 다른 일례를 설명하기 위한 도이다.
도 19는 공인식을 예시하기 위한 도이다.
도 20은 골인인식을 예시하기 위한 도인다.
도 21은 선수가 공을 점유하지 못한 상황을 예시하기 위한 도이다.
도 22는 선수가 공을 점유한 상황을 예시하기 위한 도이다.
도 23은 공점유율 분석을 설명하기 위한 도이다.
도 24는 선수 개인의 팀기여도 분석을 설명하기 위한 도이다.
도 25는 본 발명의 일실시예에 따른, 객체 추적을 이용한 풋살 영상 분석 방법을 도시한 흐름도이다.
도 2는 본 발명에 따른 분석 프로그램의 시스템 프로세스를 설명하기 위한 도이다.
도 3은 관심영역 지정 방식을 보여주기 위한 도이다.
도 4는 경기장 크기를 이용한 가중치 계산 알고리즘을 설명하기 위한 도이다.
도 5는 실제 추정거리를 계산하기 위한 알고리즘을 설명하기 위한 도이다.
도 6은 히트맵 생성 과정을 보여주기 위한 도이다.
도 7은 본 발명에 따른 시스템 구조도이다.
도 8은 관심영역 지정 과정을 예시하는 도이다.
도 9는 선수의 속도 데이터를 시각화 하는 과정을 예시하는 도이다.
도 10은 웹을 통한 선수 데이터를 시각화 하는 과정을 예시하는 도이다.
도 11은 영상분석을 통한 선수 이동경로를 예시하기 위한 도이다.
도 12는 영상분석을 통한 선수 히트맵을 예시하기 위한 도이다.
도 13은 GPS 계측장치를 통한 이동경로 데이터를 예시하기 위한 도이다.
도 14는 GPS 계측장치를 통한 선수 움직임 데이터를 예시하기 위한 도이다.
도 15는 본 발명에서 제안한 공 추적 알고리즘을 이용한 풋살 분석 시스템의 구성도이다.
도 16은 머리를 공으로 인식한 경우를 설명하기 위한 도이다.
도 17은 패널티 마크를 오탐지하는 일례를 설명하기 위한 도이다.
도 18은 패널티 마크를 오탐지하는 다른 일례를 설명하기 위한 도이다.
도 19는 공인식을 예시하기 위한 도이다.
도 20은 골인인식을 예시하기 위한 도인다.
도 21은 선수가 공을 점유하지 못한 상황을 예시하기 위한 도이다.
도 22는 선수가 공을 점유한 상황을 예시하기 위한 도이다.
도 23은 공점유율 분석을 설명하기 위한 도이다.
도 24는 선수 개인의 팀기여도 분석을 설명하기 위한 도이다.
도 25는 본 발명의 일실시예에 따른, 객체 추적을 이용한 풋살 영상 분석 방법을 도시한 흐름도이다.
이하에서, 첨부된 도면을 참조하여 실시예들을 상세하게 설명한다. 그러나, 실시예들에는 다양한 변경이 가해질 수 있어서 특허출원의 권리 범위가 이러한 실시예들에 의해 제한되거나 한정되는 것은 아니다. 실시예들에 대한 모든 변경, 균등물 내지 대체물이 권리 범위에 포함되는 것으로 이해되어야 한다.
실시예에서 사용한 용어는 단지 설명을 목적으로 사용된 것으로, 한정하려는 의도로 해석되어서는 안된다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 명세서 상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 실시예가 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
또한, 첨부 도면을 참조하여 설명함에 있어, 도면 부호에 관계없이 동일한 구성 요소는 동일한 참조부호를 부여하고 이에 대한 중복되는 설명은 생략하기로 한다. 실시예를 설명함에 있어서 관련된 공지 기술에 대한 구체적인 설명이 실시예의 요지를 불필요하게 흐릴 수 있다고 판단되는 경우 그 상세한 설명을 생략한다.
도 1은 본 발명의 일실시예에 따른 객체 추적을 이용한 풋살 영상 분석 시스템의 구성을 도시한 블록도이다.
도 1을 참조하면, 본 발명의 일실시예에 따른, 객체 추적을 이용한 풋살 영상 분석 시스템(이하, '풋살 영상 분석 시스템'라 약칭함, 100)는, 데이터 수신 모듈(110) 및 데이터 분석 모듈(120)을 포함하여 구성 할 수 있다. 또한, 풋살 영상 분석 시스템(100)은 실시예에 따라, 데이터 송신 모듈(130)과 데이터 시각화 모듈(140)을 선택적으로 포함하여 구성 할 수 있다.
우선, 데이터 수신 모듈(110)은 무인 비행체에 의해 풋살 경기장과 연관되어 실시간으로 촬영되는 복수의 평면 영상을, 상기 무인 비행체로부터 연속적으로 수신한다. 즉, 데이터 수신 모듈(110)은 풋살 경기가 이루어지는 풋살 경기장의 상공에 떠서, 풋살 경기장 전영역을 촬영하는 무인 비행체로부터, 연속적인 평면 영상들을 수집하는 역할을 할 수 있다.
여기서, 무인 비행체는, 사전에 정해진 경로를 따라 비행하는 무인기(drone), 외부 조종에 의하여 상황에 따라 임의로 비행 경로를 변경하며 비행하는 원격 조종 무인기(RPV, Remotely Piloted Vehicle) 등을 지칭할 수 있다.
또한, 데이터 수신 모듈(110)은 상기 무인 비행체 이외에, 풋살 경기장을 하늘에서 아래를 보고 촬영할 수 있는 수단(예컨대, 타워크레인 카메라 등)에서 생성되는 영상도 상기 평면 영상으로 수신할 수 있다.
데이터 분석 모듈(120)은 상기 복수의 평면 영상 각각에 대해 관심영역(ROI)를 할당한다. 즉, 데이터 분석 모듈(120)은 평면 영상 내에서 움직이는 특정의 선수를 선택하여 자동으로 마킹 함으로써 관심영역(ROI)을 할당하는 역할을 할 수 있다.
여기서, 관심영역(ROI)은 영상 내에서 관심이 있는 영역을 의미 할 수 있다. 예컨대, 데이터 분석 모듈(120)은 평면 영상 내에서, 사용자에 의해 지정되는 선수, 공 주변에 위치한 선수, 공을 캐치(catch)하여 빠르게 이동하는 선수의 주변으로 사각형을 그려, 관심영역(ROI)을 할당 할 수 있다.
관심영역(ROI)의 할당에 있어, 데이터 분석 모듈(120)은 사용자의 마우스 드래그 명령에 따라, 평면 영상 내에, 사각형인 관심영역을 표시 할 수 있다.
즉, 데이터 분석 모듈(120)은, 화면에 시각화되는 상기 평면 영상에서, 입력 도구에 의해 마킹되는 객체에 대해 상기 관심영역(ROI)를 할당할 수 있다.
여기서, 입력 도구는 마우스를 예로 들 수 있고, 사용자가 화면에 표시된 평면 영상 내 특정의 객체 주변을, 마우스로 드래그하면, 데이터 분석 모듈(120)은 드래그 된 궤적을 따라 사각형의 관심영역(ROI)를 할당할 수 있다.
이때, 상기 관심영역(ROI)의 좌측 상단은, 시작좌표 (x, y)이고, 상기 관심영역(ROI)의 폭과 높이는, w(Width)와 h(Height)이며, 상기 관심영역의 중앙은, 상기 객체의 위치 좌표 (A, B) 일 수 있다.
이를 통해, 데이터 분석 모듈(120)은, 객체의 좌표를 식별하는 기준 점을 설정할 수 있게 한다.
또한, 데이터 분석 모듈(120)은, CSRT Tracker를 이용하여, 상기 관심영역(ROI) 내 객체에 대한 위치를 식별하여, 상기 객체의 좌표를 추출한다. 즉, 데이터 분석 모듈(120)은, 최초 관심영역이 마킹된 객체에 대해, CSRT Tracker로 추적하면서, 이동하는 해당 객체의, 각 평면 영상 별 좌표를 추출하는 역할을 할 수 있다.
예컨대, 풋살 경기장과 관련하여, 최초로 수집된 평면 영상에서 관심영역(ROI)이 할당된 객체 '선수 X'에 대해, 데이터 분석 모듈(120)은 위치 좌표 (A, B)를 추출할 수 있다. 또한, 데이터 분석 모듈(120)은 2번째로 수집된 평면 영상에서, 상기 객체 '선수 X'를 CSRT Tracker로 찾아 관심영역을 할당한 후, 위치 좌표 (A+2, B+0)를 추적할 수 있다. 계속해서, 데이터 분석 모듈(120)은 3번째로 수집된 평면 영상에서, 상기 객체 '선수 X'를 CSRT Tracker로 찾아 관심영역을 할당한 후, 위치 좌표 (A+4, B+1)를 추적할 수 있다.
CSRT(Channel and Spatial Reliability) Tracker는 OpenCV 제공 트래커의 일종으로, 성능 유지나, 가림 현상 해소 등의 면에서 다른 트래커 보다 상대적으로 우수한 성능을 보여주는 트래커 일 수 있다.
또한, 데이터 분석 모듈(120)은 상기 관심영역(ROI)의 할당 및 상기 좌표의 추출을 반복 함으로써 추적되는 상기 좌표의 변화에 기초하여, 상기 객체가 상기 풋살 경기장에서 이동한 이동 경로에 따른 이동 거리를 산출한다. 즉, 데이터 분석 모듈(120)은 실시간으로 촬영되는 연속적으로 수신되는 복수의 평면 영상 각각에서, 관심영역이 할당된 특정의 객체에 관한 좌표를 추출하여 추적 함으로써, 해당 객체가 풋살 경기장 내에서의 움직이는 이동 거리를 계산하는 역할을 할 수 있다.
이동 거리의 계산에 있어, 데이터 분석 모듈(120)은, 평면 영상에 대해 보간을 실시하여, 실제와 보다 일치하는 이동 거리를 산출할 수 있게 한다.
이를 위해, 데이터 분석 모듈(120)은, 상기 풋살 경기장의 실제 크기와의 격차를 고려하여, 상기 평면 영상의 픽셀 크기에 가중치를 적용할 수 있다. 즉, 데이터 분석 모듈(120)은 풋살 경기장을 촬영한 평면 영상의 촬영 비율(축척)에 따른 정해진 가중치를, 평면 영상의 픽셀에 곱셈 적용할 수 있다.
예컨대, 평면 영상이, 100,000배 촬영 비율(축척)로 촬영되는 경우, 데이터 분석 모듈(120)은 해당 평면 영상의 픽셀 크기에 가중치 '1*105'를 곱셈 적용하여, 평면 영상이, 실제 풋살 경기장의 크기와 상응할 수 있도록 한다.
또한, 데이터 분석 모듈(120)은, 상기 가중치가 적용된 평면 영상에서의, 시간에 따른 상기 좌표의 변화를, 상기 이동 경로로서 추적할 수 있다. 즉, 데이터 분석 모듈(120)은, 특정의 객체와 관련하여, 복수의 평면 영상 각각에서 추출된 좌표들을 연결하여, 풋살 경기장 내에서의 해당 객체가 이동한 이동 경로를 확인할 수 있다.
이후, 데이터 분석 모듈(120)은, 상기 이동 경로 상을 상기 객체가 이동한 거리를 추정하여 상기 이동 거리를 산출할 수 있다. 즉, 데이터 분석 모듈(120)은, 이동 경로의 선분 길이를 상기 이동 거리로서 연산 할 수 있다.
이동 거리의 산출에 있어, 데이터 분석 모듈(120)은, 2차원의 각 축방향에 따른 높이와 폭 가중치를 더 적용하여, 이동 거리가 보다 실제에 가깝도록 할 수 있다.
이를 위해, 데이터 분석 모듈(120)은, 상기 이동 거리에 근거하여, 상기 풋살 경기장에서의, 상기 객체가 뛴 실제 거리를 산출할 수 있다. 즉, 데이터 분석 모듈(120)은, 상기 좌표의 x축 변화량 a와 y축 변화량 b 각각에 가중치 width_weight와 height_weight 를 곱셈 적용한 후, 유클리디안 거리 측정 공식을 이용하는 [수식 4]에 의해 상기 실제 거리 C값을 산출할 수 있다.
[수식 4]
높이와 폭 가중치에 의한 실제 거리의 산출에 관한 상세한 설명은, 후술하는 도 4의 설명으로 갈음한다.
실시예에 따라, 데이터 분석 모듈(120)은 공의 위치 변화를 추적할 수 있다.
이를 위해, 데이터 분석 모듈(120)은, 상기 평면 영상 내 공에 대해 상기 관심영역(ROI)를 할당하고, Hough Circle Transform 알고리즘과 공의 크기, 색상, 위치를 고려하여, 상기 풋살 경기장에서의 공에 대한 위치 변화를 추적 할 수 있다.
Hough Circle Transform 알고리즘은, 허프 변환을 이용하여 원을 검출하는 알고리즘일 수 있다. 허프 변환을 이용하여 원을 찾는 OpenCV 함수는 cv2.HoughCircles() 함수 일 수 있다.
cv2.HoughCircles() 함수는 허프 그래디언트 방법(Hough gradient method)을 활용할 수 있다. Hough gradient method는 먼저 입력영상에서 엣지를 구하고, 엣지영상에서 0이 아닌 모든 픽셀에서 국지적 그래디언트 구한다(cvSoble). 또한, Hough gradient method는 그래디언트로부터 엣지 방향을 구하고, 이 방향을 따라 지정된 최소거리부터 최대 거리까지 직선을 그어 해당직선 위에 있는 값을 축적평면(x,y)에 누적한다. 동시에, Hough gradient method는 엣지영상에서 0이 아닌 픽셀이 존재하는 위치도 저장해 둔다. Hough gradient method는2차원 축적평면에서 국지적 최대값을 갖고, 임계값보다 큰 점은 원 중심 후보지로 선정된다. 이러한 원 중심 후보들은 축적된 값을 기준으로 내림차순으로 정렬되고, 누적된 값이 가장 많은 원의 중심이 먼저 선택되게 된다. 다음으로, Hough gradient method는 각 원의 중심에서 0이 아닌 픽셀들을 모두 고려한다. 이들 픽셀은, 원의 중심으로부터의 거리에 따라 정렬되고, Hough gradient method는 최소거리부터 최대 반지름 사이에서 가장 적합한 반지름을 하나 선택할 수 있다.
즉, 데이터 분석 모듈(120)은 평면 영상 내에서 움직이는 공을 자동으로 마킹 함으로써 관심영역(ROI)을 할당할 수 있다.
공에 대한 관심영역(ROI)의 할당에 있어, 데이터 분석 모듈(120)은 평면 영상 내 공을 인식하여, 원형인 관심영역을 표시 할 수 있다.
또한, 데이터 분석 모듈(120)은, CSRT Tracker를 이용하여, 상기 풋살 경기장에서의 공에 대한 위치 변화를 추적한다.
즉, 데이터 분석 모듈(120)은, 최초 관심영역이 마킹된 공에 대해, Hough Circle Transform 알고리즘으로 추적하면서, 공의 크기, 색상, 위치 등에 따라, 이동하는 해당 공의, 각 평면 영상 별 좌표를 추출 할 수 있다.
이를 통해, 데이터 분석 모듈(120)은, 각 평면 영상 별 공의 좌표를 연결함으로써, 풋살 경기장에서의 공에 대한 위치 변화를 지속적으로 추적 할 수 있다.
실시예에 따라, 풋살 영상 분석 시스템(100)은, 산출된 객체의 이동 거리와 관련되어 작성되는 결과물을 웹서버로 전송하여, 추후 경기 분석 등에 활용되도록 할 수 있다.
이를 위해, 풋살 영상 분석 시스템(100)은, 데이터 송신 모듈(130)을 추가하여 구성할 수 있다.
먼저, 데이터 분석 모듈(120)은, 상기 추적된 좌표의 변화를, 상기 풋살 경기장을 배경으로 상기 객체를 원 형태의 심볼로 표시하는 히트맵 이미지를 작성할 수 있다.
이후, 데이터 송신 모듈(130)은 상기 히트맵 이미지를 웹서버로 전송하여 데이터베이스에 저장 함으로써, 추후의 맵 호출에 대비할 수 있다.
즉, 데이터 송신 모듈(130)은 풋살 경기장에서 객체가 이동한 궤적이 히트맵 이미지로서 기록되면, 이를 웹서버로 송출하고, 이후 웹서버에 의해 히트맵 이미지가 다양한 단말 유저(선수, 감독, 분석관 등)에게 서비스 제공되도록 할 수 있다.
여기서, 히트맵 이미지는 색상으로 표현할 수 있는 다양한 정보를, 열분포 형태의 비쥬얼한 그래픽으로 표현하는 이미지 일 수 있다.
다른 실시예에서, 풋살 영상 분석 시스템(100)은, 산출된 객체의 이동 거리와 관련되어 작성되는 데이터를 분석하여, 그래프 및 도표로서 표출 할 수 있다.
이를 위해, 풋살 영상 분석 시스템(100)은, 데이터 시각화 모듈(140)을 추가하여 구성할 수 있다.
먼저, 상기 데이터 분석 모듈(120)은, 상기 이동 거리에 기반하여, 상기 객체의 최고 속도, 평균 속도, 속도 비율, 및 소모 칼로리 중 적어도 하나에 관한 데이터를 분석 할 수 있다.
이후, 데이터 시각화 모듈(140)은, 상기 분석된 데이터를 그래프와 도표로 화면에 시각화 할 수 있다.
즉, 데이터 송신 모듈(130)은, 풋살 경기장에서 객체가 이동 함에 따라 도출되는 객체의 운동 능력이 수치적인 데이터로 분석되면, 이를 그래프 및 도표로 시각화하여, 이를 보는 사용자로 하여금 객체의 운동 능력이 일목요연하게 인지되도록 할 수 있다.
그래프와 도표에 의한 데이터 시각화에 관한 상세한 설명은, 후술하는 도 9의 설명으로 갈음한다.
본 발명의 일실시예에 따르면, 드론을 활용한 평면 영상을 이용하여 경기를 분석하고, 웹으로 분석한 데이터를 제공하는 분석 서비스를 지원 할 수 있다.
또한, 본 발명의 일실시예에 따르면, 저렴한 비용으로, 프로와 아마추어 모두 사용할 수 있는 분석 시스템을 제공 할 수 있다.
또한, 본 발명의 일실시예에 따르면, 드론으로 촬영한 평면 영상을 이용하여 선수의 움직임을 분석하여 뛴 거리, 경기 내 움직임 비율, 속도 관련 데이터, 경기 내 누적 이동경로, 선수의 경기 내 활동반경 히트맵 등 다양한 데이터를 제공 할 수 있다.
또한, 본 발명의 일실시예에 따르면, 신체 활동에 제약을 주는 특수한 장치나 고가의 장치 없이 평면 영상을 이용한 분석을 가능하게 하며, 분석 데이터를 이용하여 데이터 사이언스와 스포츠 사이언스 분야에서 더 효율적이고 과학적인 데이터를 이용하도록 할 수 있다.
본 발명은 객체 추적 기술을 이용한 분석 프로그램과 분석한 데이터를 시각화하여 제공하는 웹서버로 구성된 풋살 영상분석 시스템 및 방법에 관한 것이다.
특히, 본 발명에서는, 기존의 분석 시스템이, 특수한 장치나, 고비용의 카메라를 이용하기 때문에, 사용자들이 쉽게 이용하기에 부담스러운 면이 있어 왔다는 점을 고려하여, 평면 영상 만을 이용해 선수의 경기를 분석하여 데이터를 시각화 할 수 있게 하는, 객체 추적을 이용한 풋살 영상 분석 시스템 및 방법을 제공한다.
또한, 본 발명은 객체를 추적하며 누적된 값을 계산하여 객체의 픽셀당 거리를 구하고, 이를 기반으로 속도 관련 데이터와 거리 기반 데이터를 추출한 후, 추출된 데이터를 시각화 라이브러리를 통해 그래프와 이미지로 변환하고, 웹페이지를 통해 편리하게 이용할 수 있도록 한다.
또한, 본 발명은, 기존의 분석 시스템의 문제점을 개선하고 데이터 기반의 과학적이고 효율적인 분석에 이용할 수 있도록 한다.
본 발명은, 드론을 활용한 평면 영상을 이용하여 풋살 경기를 분석하고, 웹으로 분석한 데이터를 제공하는 분석 서비스를 제공 할 수 있다.
본 발명과 관련한 연구로는, GPS 기반 선수 분석 시스템, 고정 카메라 기반 선수 분석 시스템, Object Tracking, OpenCV 등이 있을 수 있다.
GPS 기반 선수 분석 시스템은, 선수가 직접 특수한 장치를 신체 부위에 부착하거나 의류에 착용하여 현재 위치를 위성으로 파악하는 방식이다. GPS 기반 선수 분석 시스템은, 착용자의 위치를 정확하게 파악하여 거리를 측정하기에는 좋으나, 경기 중 선수가 불편함을 느낄 수 있다는 단점이 존재한다. GPS 기반 선수 분석 시스템은, 팀 전체를 분석하기 위해, 팀에 소속된 모든 선수가 이러한 장치를 착용해야 하므로, 불편함 문제와 비용적인 문제로 아마추어 선수들이 사용하기 어렵다는 한계가 있다.
고정 카메라 기반 선수 분석 시스템은, 여러 대의 카메라를 이용해 직사각형의 경기장을 사각지대 없이 촬영하여 영상을 스티칭(stitching)하여 하나의 파노라마 영상으로 만들어서 분석하는 방식이다. 고정 카메라 기반 선수 분석 시스템은, 파노라마 영상을 이용하기 때문에, 이동하는 선수가 경기장 시작부터 끝까지 이동하더라도 놓치지 않는다는 장점이 존재한다. 하지만, 고정 카메라 기반 선수 분석 시스템은, 고정 카메라가 사전에 설치된 경기장에서만 사용할 수 있으며, 원정과 같이 경기장을 이동할 때 고정된 카메라를 이용하지 못하는 단점이 존재한다. 또한, 고정 카메라 기반 선수 분석 시스템은, 측면에서 촬영하기 때문에 선수가 볼 경합을 하는 등 겹치는 경우가 발생하면, 분석할 대상을 놓치는 우려가 있다. 고정 카메라 기반 선수 분석 시스템은, 고정식 카메라의 설치비용과 고가의 카메라, 그리고 번거로운 스티칭 과정을 거쳐 분석되기 때문에 요구 비용이 높아, 역시 일반 아마추어나 동호회에서 사용하기 어렵다는 한계가 있다.
Object Tracking은, 컴퓨터 비전의 주요기술 중 하나로 일련의 영상 프레임 내 객체의 모양이나 크기, 색상 같은 해당 객체의 특징적 정보 간의 유사도를 활용하여 위치가 변화하는 객체를 추적하는 방식이다. Object Tracking은, 주로 질병 식별, 산업 검사, 교통 통제, 증강 현실 등의 여러 분야에서 활용되고 있다. 현재 사용되고 있는 Tracker는, MOSSE, KCF, CSRT, MedianFlow 등을 예시할 수 있다.
그 중 CSRT 트래커는, 공간 신뢰도의 개념을 도입하고 추적 과정에 따라 필터를 업데이트하는 알고리즘으로 관심영역(Region Of Interest)으로 지정한 객체에 가중치를 매핑해 객체를 추적하는 방식이다. CSRT 트래커는, 먼저 객체 추적을 위해 공간 신뢰도 맵을 구축하여 관심영역 안의 필터 작동 범위를 제한함으로써, 불규칙한 모양의 객체에 대한 추적 신뢰성을 높인다. 이후, CSRT 트래커는, 관심영역에서 제한된 영역 내부에 가중치를 부여하여 배경의 영향을 감소시키고 이전 채널들에서 산정한 가중치를 곱해 객체의 위치를 추정한다. CSRT 트래커는, 비록 다른 Tracker에 비해 FPS(Frame Per Second)가 느린 편이지만 프레임당 평균 25ms 이상의 처리 속도를 지니고 불규칙한 모양의 객체를 안정적으로 추적할 수 있다는 장점이 있다.
본 발명에서는 이 CSRT 트래커를 활용하여 선수 객체의 활동량이나 활동반경 등의 데이터를 추출한다.
OpenCV(Open Source Computer Vision Library)는, 실시간 이미지 프로세싱에 목적을 둔 오픈소스 컴퓨터 비전 및 머신러닝 라이브러리이다. OpenCV에는 이미지 프로세싱을 위한 약 2500종류의 알고리즘이 정의되어 있고, 기본적 이미지 출력 및 처리와 최신 컴퓨터 비전 기술, 머신러닝 알고리즘 등이 포함되어 있다.
OpenCV는, 크로스 플랫폼을 지향하여 Window, Linux, Android, iOS 등 다양한 운영체제를 지원하고 C언어를 기반으로 만들어졌지만, C++, Python 등 다양한 언어에서 활용할 수 있다. 또한, OpenCV는, 모듈식으로 구성되어 한 패키지에 여러 라이브러리가 포함되어 있는데, 이미지 처리 모듈, 비디오 분석 모듈, 객체 감지 모듈, HighGUI 모듈, Video I/O 모듈 등 다양한 모듈들을 활용할 수 있다.
본 발명은 동영상의 이미지에서 원하는 결과를 추출 및 분석할 수 있도록 OpenCV 라이브러리를 활용하였으며, 매트릭스 연산과 시각화를 위한 Matplotlib, Scipy 라이브러리를 함께 사용하기 위해 Python 언어를 기반으로 OpenCV를 사용한다.
이하, 본 발명의 시스템 프로세스 및 구조를 설명한다.
본 발명에 따른 풋살 영상 분석 방법은, 경기 영상을 분석하여 이를 시각화 데이터로 제공하기 위한 분석 단계와, 시각화 데이터를 Web으로 제공하는 정보 제공 단계를 포함한다.
영상 경로부터 분석 그리고 시각화 데이터로 변환까지의 과정은, 1) 영상 입력 및 초기 정보 입력, 2) 관심영역 지정, 3) 선수 좌표 추적 및 저장, 4) 거리와 속도 추정치 계산, 5) 선수 추적을 표시, 6) 데이터베이스에 분석결과 저장,의 6단계 프로세스로 구성될 수 있다.
도 2는 본 발명에 따른 분석 프로그램의 시스템 프로세스를 설명하기 위한 도이다.
우선, 영상 입력 및 초기 정보 입력(Step 1: Input data) 단계는, 경기 영상을 위한 비디오 파일의 경로를, GUI를 이용해 입력받는다. 풋살 영상 분석 시스템(100)은, 영상을 불러온 후 분석에 필요한 정보를 입력한다. 풋살 영상 분석 시스템(100)은, 경기장의 크기, 선수의 이름, 포메이션과 같은 정보 데이터를 입력하고 나면 영상 처리 속도 향상을 위해 영상 크기를 재조정한다. 이때, 풋살 영상 분석 시스템(100)은, 선형 보간법을 활용하여 적절한 크기로 영상을 전처리 할 수 있다.
관심영역 지정(Step 2: Select ROI) 단계는, 선수 식별 및 추적을 위해 분석할 선수 객체의 위치를 마우스를 이용한 Drag & drop을 통해 사각형 형태로 지정한다. 지정한 관심영역은 Region Of Interest(ROI)로서 할당된다.
도 3은 관심영역 지정 방식을 보여주기 위한 도이다.
또한, 표 1에는 관심영역 지정을 위해 사용하는 파라미터를 나타낸다.
[표 1]
풋살 영상 분석 시스템(100)은, 경기장을 좌표평면으로 두고, 관심영역의 좌측 상단을 시작좌표 (x, y)로 지정하고, 영역의 폭 w(Width)와 영역의 높이 h(Height)를 지정한다. 실제 선수의 위치는, 관심영역의 중앙을 뜻하는 (A, B) 좌표로 지정한다.
선수 좌표 추적 및 저장(Step 3: Object Tracking) 단계는, 관심영역(ROI)과 영상 스트림을 입력받아 프레임마다 CSRT Tracker를 활용하여 이미지에서 선수의 위치를 식별 및 검출하여 좌표를 추출한다. 풋살 영상 분석 시스템(100)은, 이동경로, 활동반경 히트맵 생성을 위해, 좌표를 스트링 데이터로 변환하여 파일에 누적하고 저장한다.
거리와 속도 추정치 계산(Step 4: Process Data) 단계는, 경기장의 실제 크기와 영상의 경기장 픽셀 크기 간의 격차를, 가중치 계산을 통해 최소화시킨다. 풋살 영상 분석 시스템(100)은, 시간에 따라 변화하는 선수의 좌표를 통해, 선수의 이동 거리를 측정하고, 그것을 기반으로 최고 속도, 평균 속도, 속도 비율, 소모 칼로리 등 다양한 데이터를 분석하여 출력한다.
풋살 영상 분석 시스템(100)은, 영상에서의 뛴 거리를 통해, 실제 뛴 거리를 구하기 위해, 영상 픽셀에서의 선수 이동 거리를 보정하여 실제 풋살 경기장에서 뛴 거리를 측정한다.
도 4는 경기장 크기를 이용한 가중치 계산 알고리즘을 설명하기 위한 도이다.
도 4에서는 시스템에서 보정한 영상 프레임과 실제 풋살 경기장의 크기를 비교하여 보여준다.
풋살 영상 분석 시스템(100)은, 영상에서의 뛴 거리를 통해 실제 뛴 거리를 구하기 위한 가중치를 산출하기 위해, 먼저 실제 영상 해상도인 width와 height를 조정하여 가로길이를 1000픽셀, 세로길이를 z로 맞춰준다[수식 1]. 이후, 풋살 영상 분석 시스템(100)은, 실제 풋살 경기장의 크기(cm)를 이미지의 해상도 크기(pixel)로 나누어 한 픽셀이 실제로 어느 정도의 거리인지를 뜻하는 가중치를 계산한다[수식 2].
[수식 1]
[수식 2]
도 5는 실제 추정거리를 계산하기 위한 알고리즘을 설명하기 위한 도이다.
도 5에서는 도 4에서 계산한 가중치를 기반으로, 선수가 뛴 거리를 누적하여 실제 추정 거리로 변환하는 과정을 설명한다.
풋살 영상 분석 시스템(100)은, 영상분석으로 누적된 선수의 좌표를 통해 영상에서 선수의 이동 거리를 뜻하는 이전 픽셀과 현재 픽셀 간의 차이 값을 구한다. 풋살 영상 분석 시스템(100)은, 유클리디안 거리 측정 공식을 이용하여 x축의 변화량인 a와 y축의 변화량인 b를 통해 실제 이동 거리인 c를 구해준다[수식 3]. 풋살 영상 분석 시스템(100)은, 이동 거리 계산의 각 x축, y축 변화량에 앞서 계산한 가중치를 곱하여 실체 추정 거리인 C값을 계산한다[수식 4].
[수식 3]
[수식 4]
선수 추적을 표시(Step 5: Visualize Data) 하는 단계는, 추적하는 선수의 좌표를 통해 선수의 해당 위치를 쉽게 확인할 수 있도록 경기장 이미지를 배경으로 선수 객체를 원 형태의 심볼로 표시한다. 풋살 영상 분석 시스템(100)은, 선수의 이동경로를 2초 단위로 경기장 이미지 위에 표시해주어, 객체의 진행 방향을 알 수 있도록 한다. 풋살 영상 분석 시스템(100)은, 선수의 순간 속도를 꺾은 선 그래프로 표시하고, 속도에 따른 움직임 비율을 원그래프로 표현한다. 또한, 풋살 영상 분석 시스템(100)은, 누적된 선수의 좌표를 바탕으로 밀집도를 계산하여, 선수의 움직임이 밀집된 구역을 표현하는 활동반경 히트맵 이미지를 생성한다.
도 6은 히트맵 생성 과정을 보여주기 위한 도이다.
도 6에서는, 히트맵 이미지를 생성하기 위한 중간 과정으로 경기장 전체를 평면 좌표계로 표현하였다. 풋살 영상 분석 시스템(100)은, 선수의 주요 활동좌표를 점으로 표현한 후, 커널밀도 추정을 통해 점이 밀집되어 있는 선수가 주로 활동한 영역을 특정한다.
데이터베이스에 분석결과 저장(Step 6: Store result) 단계는, 분석된 경기 데이터를 Mysql 데이터베이스에 저장하고, 활동반경 히트맵, 이동경로 이미지 등을 Base64 형식으로 인코딩하여 데이터베이스에 저장한다.
본 발명에 따른 시스템 구조는, 크게 분석 프로그램과 웹 서버, 데이터베이스로 구성되어 있다. 분석 프로그램은, 사용자가 제공하는 경기 영상을 입력받아 전처리한다. 분석 프로그램은, 전처리 된 영상을 이용하여 선수의 움직임을 분석하고 데이터베이스에 전송한다.
웹서버는, 분석된 데이터를 사용자들이 간편하게 이용할 수 있도록 하고, 분석된 데이터를 그래프와 도표처럼 알아보기 쉬운 시각화 자료로 변화하여 제공하는 서비스를 제공한다.
데이터베이스는, 분석된 데이터들과 웹서버를 통해 서비스를 이용하는 사용자들의 정보를 관리 함으로써, 분석 프로그램과 웹서버의 데이터 중간 매개체 역할을 한다.
도 7은 본 발명에 따른 시스템 구조도이다.
도 7에서는, 시스템의 전체적인 구조를 나타낸다.
사용자는 분석 시스템을 이용하기 위한 데이터를 제공한다. 풋살 영상 분석 시스템(100)은, 분석에 필요한 영상을 촬영할 드론 및 카메라와 경기 영상 그리고 분석 서비스를 이용하기 위한 웹서버로 구성된다.
풋살 영상 분석 시스템(100)은, 드론 또는 고정식 카메라를 이용하여 풋살 경기 영상을 촬영한다. 풋살 영상 분석 시스템(100)은, 상공에서 촬영한 평면 영상을 이용하여, 선수가 겹치는 상황에서도 빠르고 정확하게 분석할 수 있다.
풋살 영상 분석 시스템(100)은, 분석할 대상이 직접 뛴 경기를 촬영하여 평면 영상으로 생성한다. 풋살 영상 분석 시스템(100)은, 촬영된 영상을 이용하여 데이터를 분석하고 시각화한다.
풋살 영상 분석 시스템(100)은, 분석된 데이터를 편리하고 쉽게 이용할 수 있도록 서비스를 제공한다. 풋살 영상 분석 시스템(100)은, 분석된 데이터를 시각화하여 이용할 수 있게 변환하여 제공한다.
분석 프로그램은, 사용자로부터 제공된 영상을 분석한다. 분석 프로그램은, 사용자로부터 데이터를 영상 데이터를 입력받는 데이터 수신 모듈과, 제공된 영상을 분석하는 데이터 분석 모듈, 그리고 데이터베이스에 분석된 데이터를 전송하는 데이터 송신 모듈로 구성된다.
데이터 수신 모듈은 분석할 영상의 경로를 GUI(Graphical User Interface)를 사용하여 지정한다. 데이터 수신 모듈은 영상 데이터를 입력받고 나면 전처리 과정을 통해 분석할 대상의 정보와 위치 데이터를 입력받는다.
데이터 분석 모듈은, 데이터 수신 모듈의 입력을 바탕으로 경기 영상을 프레임마다 선수 객체의 위치를 추적하고 좌표를 파일에 기록한다. 데이터 분석 모듈은 기록된 파일을 이용해, 뛴 거리, 속도 관련 데이터, 활동반경 히트맵, 선수의 이동경로, 경기중 소모한 칼로리와 같은 데이터로 변환하고 분석한다.
데이터 송신 모듈은 분석이 완료된 데이터를 웹서비스(예, Amazon Web Service)에 있는 MySQL 데이터베이스로 전송한다.
분석된 데이터를 편리하게 이용할 수 있도록 하는 웹서버는, 데이터베이스와 연동하여 사용자의 데이터를 불러오는 로그인 모듈과, 감독과 선수에 따른 인터페이스를 제공하는 유저 인터페이스 모듈, 그리고 데이터베이스에 저장된 분석된 데이터를 시각화 데이터로 변환해주는 데이터 시각화 모듈로 구성된다.
로그인 모듈은, 웹서버를 이용하는 사용자 로그인 기능을 수행하는 모듈이다. 로그인 모듈은, 감독 또는 선수로 선택하여 로그인할 수 있도록 하고, 데이터베이스로부터 가입할 때 입력한 회원 정보를 불러오는 기능을 수행한다.
유저 인터페이스 모듈은, 로그인한 사용자의 직책에 따라 유저 인터페이스를 다르게 제공한다. 유저 인터페이스 모듈은, 선수의 경우, 자신의 데이터와 팀원 간의 비교 데이터, 경기 일정, 감독의 팀 피드백 기능을 제공 할 수 있다. 또한, 유저 인터페이스 모듈은, 감독의 경우, 모든 선수 데이터와 팀원 간 비교 데이터, 경기 일정, 선수 피드백 입력, 포지션별 활동반경 비교 기능을 제공 할 수 있다.
데이터 시각화 모듈은, HighChart API를 활용하여 분석된 경기 영상의 데이터를 그래프로 시각화한다. 데이터 시각화 모듈은 선수당 분석 데이터를, 그래프와 도표를 이용하여 제공하여, 팀 내 소속된 선수의 지표를 한눈에 파악 할 수 있도록 한다.
데이터베이스는, 분석된 경기 영상의 데이터를 관리하는 경기 분석 테이블과 웹서버를 이용하는 사용자의 회원 정보를 관리하는 사용자 정보 테이블, 그리고 선수 이동경로와 활동반경 히트맵과 같은 이미지 파일을 Base64 형태로 저장하는 이미지 데이터 테이블로 구성된다.
경기 데이터 테이블은, 뛴 거리, 속도 관련 데이터, 시간별 이동 거리, 움직인 비율과 같은 분석된 데이터를 저장하고 관리하는 테이블이다.
사용자 정보 테이블은, 소속 팀, 포지션, 키, 몸무게 등 회원가입을 통해 입력된 데이터를 저장하고 관리하는 테이블이다.
이미지 데이터 테이블은, Base64 형태로 인코딩 된 이동경로, 활동반경 히트맵과 같은 이미지 데이터를 저장하고 관리하는 테이블이다.
이하에서는, 풋살 영상분석 프로그램과 분석결과를 시각화하여 사용자에게 제공하는 웹 서비스의 데모를 설명하고, 영상을 통한 분석의 정확도를 파악하기 위해 GPS 장치를 통해 측정한 활동 경로 및 뛴 거리 데이터와 분석 프로그램에서 도출된 데이터를 비교한다.
분석 프로그램에서는, 관심영역을 입력받아 일련의 영상프레임에서 CSRT Tracker를 통해 관심영역 내 선수 객체의 위치를 추적하며 분석과정을 시각화하여 보여준다.
도 8은 관심영역 지정 과정을 예시하는 도이다.
도 8에서는, 경기를 분석하는 과정에서 선수의 위치를 한 명씩 관심영역으로 지정해주는 과정을 예시한다.
도 9는 선수의 속도 데이터를 시각화 하는 과정을 예시하는 도이다.
도 9에서는 분석과정에서 누적되는 선수의 속도 값을 통해 시간에 따른 선수의 속도 변화량을 꺾은 선 그래프로 표현하고, 누적된 속도의 비율을 원그래프로 표현하는 것을 예시한다.
웹 서비스에서는 분석 프로그램을 통해 입력되는 뛴 거리, 속도 관련 데이터, 소모 칼로리, 활동반경 이미지 등의 데이터를 입력 받은 후, HighChartAPI를 통해 사용자에게 시각화 된 그래프 데이터들을 제공한다.
도 10은 웹을 통한 선수 데이터를 시각화 하는 과정을 예시하는 도이다.
도 10에서는 사용자에게 제공되는 다양한 시각화 그래프들을 예시한다.
풋살 영상 분석 시스템(100)은, 사용자로 하여금, 경기 내 자신의 데이터를 확인할 수 있고, 또한 막대 그래프를 통해 같은 팀에 속한 인원들과 순위를 비교해 볼 수 있게 한다.
본 시스템의 성능을 평가하기 위해서는, 영상분석을 통해 도출된 움직인 거리, 평균 속도, 이동경로 등의 결과데이터를 GPS 센서장치의 계측데이터와 비교하여 정확도를 측정 할 필요가 있다.
도 11은 영상분석을 통한 선수 이동경로를 예시하기 위한 도이다.
도 12는 영상분석을 통한 선수 히트맵을 예시하기 위한 도이다.
도 13은 GPS 계측장치를 통한 이동경로 데이터를 예시하기 위한 도이다.
도 11과 도 12는 영상분석 프로그램에 관한 것으로, 경기 내 선수를 추적하며 위치 좌표를 누적하여 데이터를 선수의 이동경로와 활동반경 히트맵을 이미지로 표현한 것이다.
도 13에서는 선수가 GPS 계측장치를 착용하고 경기를 진행하여 도출한 위성에서 측정한 선수의 이동경로를 예시한다.
도 14는 GPS 계측장치를 통한 선수 움직임 데이터를 예시하기 위한 도이다.
표 2에서는 정확도를 수치로 분석하기 위한 데이터를 예시한다.
[표 2]
도 14는 GPS 계측장치를 통해 선수의 움직임 데이터를 나타낸 것이고, 표 2는 영상분석을 통하여 선수의 움직임 데이터와 GPS 계측장치로 분석한 데이터를 비교하여 정확도를 측정한 것이다.
도 14의 움직임 데이터 중 평균 페이스는, 1km를 이동하는 데 걸리는 시간으로 평균속도로 환산하면 3.4km/h가 된다. 프로그램으로 측정한 이동거리, 평균속도, 칼로리 소모량은, 각각 264m, 3.4km/h, 17.7cal이고 GPS 기기로 측정한 이동거리, 평균속도, 칼로리 소모량은, 각각 270m, 3.3km/h, 18cal로 각각의 측정 수치 모두 97% 이상의 정확도를 보인다.
풋살 영상 분석 시스템(100)은, 프로와 아마추어 모두 사용할 수 있는 분석 시스템을 제공한다.
풋살 영상 분석 시스템(100)은, 드론으로 촬영한 평면 영상을 이용하여 선수의 움직임을 분석하여 뛴 거리, 경기 내 움직임 비율, 속도 관련 데이터, 경기 내 누적 이동경로, 선수의 경기 내 활동반경 히트맵 등 다양한 데이터를 제공한다. 분석 시스템은 크게 선수의 경기 움직임을 분석하는 분석 프로그램과 분석된 데이터를 시각화하여 사용자에게 제공하는 웹서버로 구성된다.
분석 프로그램은 선수들을 Region Of Interest(ROI)를 설정하여 분석 대상을 추적하며 분석 대상의 움직임을 다양한 데이터로 분석하고 데이터베이스로 분석된 데이터를 전송한다.
웹서버는 분석 프로그램을 통해 분석된 선수의 데이터를 데이터베이스에서 불러와 HighChart API를 이용해 그래프와 도표로 사용자에게 편리하고 쉽게 이용할 수 있도록 한다.
풋살 영상 분석 시스템(100)은, 신체 활동에 제약을 주는 특수한 장치나 고가의 장치 없이 평면 영상을 이용한 분석을 가능하게 하며 분석 데이터를 이용하여 데이터 사이언스와 스포츠 사이언스 분야에서 더 효율적이고 과학적인 데이터를 이용할 수 있다.
실시예에 따라, 풋살 영상 분석 시스템(100)은, 선수 분석 시스템에 공 추적 시스템을 추가하여 아마추어 선수들에게 의미있는 데이터를 제공하는 서비스를 구현할 수 있다.
도 15는 본 발명에서 제안한 공 추적 알고리즘을 이용한 풋살 분석 시스템의 구성도이다.
도 15에 도시한 바와 같이, 전체 시스템은 드론으로 촬영한 풋살 경기 영상을 바탕으로 (1)공 추적, (2)공의 위치를 이용한 데이터 분석, (3)시각화로, 크게 3부분으로 구성된다.
(1) 공 추적은, Video shooting 과정과, Ball Extraction 과정을 포함 할 수 있다.
Ball Extraction 과정은, Size Detection, Color Detection, Penalty Mark Detection, Distance Measuring 등으로 구성될 수 있다.
(2)공의 위치를 이용한 데이터 분석은, Analysis of Data 과정을 포함 할 수 있다.
Analysis of Data 과정은, Highlight Extraction, Possession Analysis, Contribution Rate Analysis 등으로 구성될 수 있다.
(3)시각화는, Visualization 과정을 포함 할 수 있다.
(3)시각화에 따른 결과물은, DB Server와 Web Server로 구성되는 Server 로 전송되어 기록될 수 있다.
공 추적은 원허프 변환을 통해 한 프레임 내의 모든 원을 후보공으로 검출한 후 그 중 진짜 공을 검출하도록 알고리즘을 구현한다.
원허프 변환을 통해 검출된 원들은 총 4가지 기준으로 공의 색, 공의 크기, 패널티 마크의 위치, 움직인 거리로 후보 공 중 진짜 공을 가려낸다.
도 16은 머리를 공으로 인식한 경우를 설명하기 위한 도이다.
도 17은 패널티 마크를 오탐지하는 일례를 설명하기 위한 도이다.
도 18은 패널티 마크를 오탐지하는 다른 일례를 설명하기 위한 도이다.
풋살 분석 시스템은, 도 16, 도 17, 도 18에서와 같이 선수의 검은색 머리와 하얀색 페널티 마크를 원으로 검출하기 때문에 흰색과 검은색 원은 공후보에서 제외한다. 이로 인해, 흰공과 검은공은 실제 경기 중에 사용하지 못하는 제약사항이 있다.
또한, 풋살 분석 시스템은, 사람의 머리와 공의 크기를 구별할 때, 실제 경기 촬영시 햇빛으로 인해, 채도와 명도가 변하기 때문에 공의 색을 바탕으로 풋살 공을 판별하는 데에 한계가 있다.
따라서, 풋살 분석 시스템은, 공의 크기를 이용해 공 크기와 사람의 머리 크기를 다르게 측정 함으로써, 공의 크기와 같지 않은 원들을 후보 공에서 제외한다.
또한, 풋살 분석 시스템은, 하얗고 동그란 페널티 마크를 풋살 공과 구별할 때, 원의 색을 통해서만 판별하기엔 역시 한계를 가지고 있다.
따라서, 풋살 분석 시스템은, 국제규격을 준수하는 풋살 경기장이라는 조건 하에서, 영상에서의 페널티 마크의 위치가 모두 동일하므로, 이점을 활용해 해당 위치의 좌표에서 검출되는 원을 모두 공후보에서 제외한다.
또한, 풋살 분석 시스템은, 선수의 손이나 발 같은 경우, 원으로 검출되는 경우가 존재하므로 영상의 특징상 프레임 내 객체의 움직임이 연속되어 있다는 점을 이용한다.
전 프레임에서 검출된 ‘진짜 공’의 위치와 현 프레임에서 ‘공으로 추정되는 원’의 위치의 거리가 너무 먼 경우에, 풋살 분석 시스템은, 진짜공이 아니라고 판단하고 후보에서 제외한다.
도 19는 공인식을 예시하기 위한 도이다.
도 20은 골인인식을 예시하기 위한 도인다.
도 21은 선수가 공을 점유하지 못한 상황을 예시하기 위한 도이다.
도 22는 선수가 공을 점유한 상황을 예시하기 위한 도이다.
공의 위치를 이용한 데이터 분석은 앞서 설명한 공 추적을 통해 반환된 실시간 공좌표 로그파일을 이용한다. 풋살 분석 시스템은, 로그파일에 기록된 공의 좌표를 기준으로 팀공점유율, 선수의 팀기여도, 하이라이트를 추출한다.
선수의 팀기여도는 선수 개개인의 볼터치프레임 수를 기준으로 전체 팀볼터치수에서 선수 개인이 터치한 횟수를 퍼센트로 나타낸다.
이때, 도 22과 같이, 선수 개인의 볼터치는 OpenCV의 csrt 트래커를 이용해 선수에게 지정된 관심 구역 박스의 위치와, 공객체의 위치가 일정거리 이하일 경우, 선수가 공을 점유하는 상황이라고 가정한다.
팀공점유율은 각 팀의 선수 개개인의 볼터치 프레임수를 합해 계산된다.
도 20과 같이 하이라이트의 경우, 풋살 분석 시스템은, 골인장면을 하이라이트 기준으로 정해 해당 장면의 앞뒤를 2초씩 자른 영상이 자동으로 추출되도록 한다.
골인은 공좌표가 프레임상 풋살 경기장 골대위치 내에서 공이 검출될 경우 주요장면으로 보도록 한다.
도 23은 공점유율 분석을 설명하기 위한 도이다.
도 24는 선수 개인의 팀기여도 분석을 설명하기 위한 도이다.
풋살 분석 시스템은, 분석된 데이터를 시각화하는 단계에서 Python의 matplotlib 라이브러리를 사용하여 구현하였고, 모든 선수 분석이 끝나면 그래프 작성을 구현하였다.
도 23에서는 PieChart를 이용해 DB에 입력된 각 팀의 공점유율 데이터를 퍼센트로 수치화해 나타냈다.
도 24의 선수의 팀기여도는 경기중 선수 개개인의 공점유시간을 퍼센트로 수치화하여 막대그래프로 표현하였다.
이를 통해, 풋살 분석 시스템은, 팀전체 기여도가 1이라고 가정했을 때, 그 중 선수 개개인이 몇 퍼센트를 공헌했는지를 확인할 수 있게 한다.
이하, 도 25에서는 본 발명의 실시예들에 따른 풋살 영상 분석 시스템(100)의 작업 흐름을 상세히 설명한다.
본 실시예에 따른 객체 추적을 이용한 풋살 영상 분석 방법은, 풋살 영상 분석 시스템(100)에 의해 수행될 수 있다.
도 25는 본 발명의 일실시예에 따른, 객체 추적을 이용한 풋살 영상 분석 방법을 도시한 흐름도이다.
우선, 풋살 영상 분석 시스템(100)은, 무인 비행체에 의해 풋살 경기장과 연관되어 실시간으로 촬영되는 복수의 평면 영상을, 상기 무인 비행체로부터 연속적으로 수신한다(2510). 단계(2510)은 풋살 경기가 이루어지는 풋살 경기장의 상공에 떠서, 풋살 경기장 전영역을 촬영하는 무인 비행체로부터, 연속적인 평면 영상들을 수집하는 과정일 수 있다.
여기서, 무인 비행체는, 사전에 정해진 경로를 따라 비행하는 무인기(drone), 외부 조종에 의하여 상황에 따라 임의로 비행 경로를 변경하며 비행하는 원격 조종 무인기(RPV, Remotely Piloted Vehicle) 등을 지칭할 수 있다.
또한, 풋살 영상 분석 시스템(100)은, 상기 무인 비행체 이외에, 풋살 경기장을 하늘에서 아래를 보고 촬영할 수 있는 수단(예컨대, 타워크레인 카메라 등)에서 생성되는 영상도 상기 평면 영상으로 수신할 수 있다.
또한, 풋살 영상 분석 시스템(100)은 상기 복수의 평면 영상 각각에 대해 관심영역(ROI)를 할당한다(2520). 단계(2520)는 평면 영상 내에서 움직이는 특정의 선수를 선택하여 자동으로 마킹 함으로써 관심영역(ROI)을 할당하는 과정일 수 있다.
여기서, 관심영역(ROI)은 영상 내에서 관심이 있는 영역을 의미 할 수 있다. 예컨대, 풋살 영상 분석 시스템(100)은 평면 영상 내에서, 사용자에 의해 지정되는 선수, 공 주변에 위치한 선수, 공을 캐치(catch)하여 빠르게 이동하는 선수의 주변으로 사각형을 그려, 관심영역(ROI)을 할당 할 수 있다.
관심영역(ROI)의 할당에 있어, 풋살 영상 분석 시스템(100)은 사용자의 마우스 드래그 명령에 따라, 평면 영상 내에, 사각형인 관심영역을 표시 할 수 있다.
즉, 풋살 영상 분석 시스템(100)은, 화면에 시각화되는 상기 평면 영상에서, 입력 도구에 의해 마킹되는 객체에 대해 상기 관심영역(ROI)를 할당할 수 있다.
여기서, 입력 도구는 마우스를 예로 들 수 있고, 사용자가 화면에 표시된 평면 영상 내 특정의 객체 주변을, 마우스로 드래그하면, 풋살 영상 분석 시스템(100)은 드래그 된 궤적을 따라 사각형의 관심영역(ROI)를 할당할 수 있다.
이때, 상기 관심영역(ROI)의 좌측 상단은, 시작좌표 (x, y)이고, 상기 관심영역(ROI)의 폭과 높이는, w(Width)와 h(Height)이며, 상기 관심영역의 중앙은, 상기 객체의 위치 좌표 (A, B) 일 수 있다.
이를 통해, 풋살 영상 분석 시스템(100)은, 객체의 좌표를 식별하는 기준 점을 설정할 수 있게 한다.
계속해서, 풋살 영상 분석 시스템(100)은, CSRT Tracker를 이용하여, 상기 관심영역(ROI) 내 객체에 대한 위치를 식별하여, 상기 객체의 좌표를 추출한다(2530). 단계(2530)는, 최초 관심영역이 마킹된 객체에 대해, CSRT Tracker로 추적하면서, 이동하는 해당 객체의, 각 평면 영상 별 좌표를 추출하는 과정일 수 있다.
예컨대, 풋살 경기장과 관련하여, 최초로 수집된 평면 영상에서 관심영역(ROI)이 할당된 객체 '선수 X'에 대해, 풋살 영상 분석 시스템(100)은 위치 좌표 (A, B)를 추출할 수 있다. 또한, 풋살 영상 분석 시스템(100)은 2번째로 수집된 평면 영상에서, 상기 객체 '선수 X'를 CSRT Tracker로 찾아 관심영역을 할당한 후, 위치 좌표 (A+2, B+0)를 추적할 수 있다. 계속해서, 풋살 영상 분석 시스템(100)은 3번째로 수집된 평면 영상에서, 상기 객체 '선수 X'를 CSRT Tracker로 찾아 관심영역을 할당한 후, 위치 좌표 (A+4, B+1)를 추적할 수 있다.
CSRT(Channel and Spatial Reliability) Tracker는 OpenCV 제공 트래커의 일종으로, 성능 유지나, 가림 현상 해소 등의 면에서 다른 트래커 보다 상대적으로 우수한 성능을 보여주는 트래커 일 수 있다.
또한, 풋살 영상 분석 시스템(100)은 상기 관심영역(ROI)의 할당 및 상기 좌표의 추출을 반복 함으로써 추적되는 상기 좌표의 변화에 기초하여, 상기 객체가 상기 풋살 경기장에서 이동한 이동 경로에 따른 이동 거리를 산출한다(2540). 단계(2540)는 실시간으로 촬영되는 연속적으로 수신되는 복수의 평면 영상 각각에서, 관심영역이 할당된 특정의 객체에 관한 좌표를 추출하여 추적 함으로써, 해당 객체가 풋살 경기장 내에서의 움직이는 이동 거리를 계산하는 과정일 수 있다.
이동 거리의 계산에 있어, 풋살 영상 분석 시스템(100)은, 평면 영상에 대해 보간을 실시하여, 실제와 보다 일치하는 이동 거리를 산출할 수 있게 한다.
이를 위해, 풋살 영상 분석 시스템(100)은, 상기 풋살 경기장의 실제 크기와의 격차를 고려하여, 상기 평면 영상의 픽셀 크기에 가중치를 적용할 수 있다. 즉, 풋살 영상 분석 시스템(100)은 풋살 경기장을 촬영한 평면 영상의 촬영 비율(축척)에 따른 정해진 가중치를, 평면 영상의 픽셀에 곱셈 적용할 수 있다.
예컨대, 평면 영상이, 100,000배 촬영 비율(축척)로 촬영되는 경우, 풋살 영상 분석 시스템(100)은 해당 평면 영상의 픽셀 크기에 가중치 '1*105'를 곱셈 적용하여, 평면 영상이, 실제 풋살 경기장의 크기와 상응할 수 있도록 한다.
또한, 풋살 영상 분석 시스템(100)은, 상기 가중치가 적용된 평면 영상에서의, 시간에 따른 상기 좌표의 변화를, 상기 이동 경로로서 추적할 수 있다. 즉, 풋살 영상 분석 시스템(100)은, 특정의 객체와 관련하여, 복수의 평면 영상 각각에서 추출된 좌표들을 연결하여, 풋살 경기장 내에서의 해당 객체가 이동한 이동 경로를 확인할 수 있다.
이후, 풋살 영상 분석 시스템(100)은, 상기 이동 경로 상을 상기 객체가 이동한 거리를 추정하여 상기 이동 거리를 산출할 수 있다. 즉, 풋살 영상 분석 시스템(100)은, 이동 경로의 선분 길이를 상기 이동 거리로서 연산 할 수 있다.
이동 거리의 산출에 있어, 풋살 영상 분석 시스템(100)은, 2차원의 각 축방향에 따른 높이와 폭 가중치를 더 적용하여, 이동 거리가 보다 실제에 가깝도록 할 수 있다.
이를 위해, 풋살 영상 분석 시스템(100)은, 상기 이동 거리에 근거하여, 상기 풋살 경기장에서의, 상기 객체가 뛴 실제 거리를 산출할 수 있다. 즉, 풋살 영상 분석 시스템(100)은, 상기 좌표의 x축 변화량 a와 y축 변화량 b 각각에 가중치 width_weight와 height_weight 를 곱셈 적용한 후, 유클리디안 거리 측정 공식을 이용하는 [수식 4]에 의해 상기 실제 거리 C값을 산출할 수 있다.
[수식 4]
실시예에 따라, 풋살 영상 분석 시스템(100)은, 공의 위치 변화를 추적할 수 있다.
이를 위해, 풋살 영상 분석 시스템(100)은, 상기 평면 영상 내 공에 대해 상기 관심영역(ROI)를 할당하고, Hough Circle Transform 알고리즘과 공의 크기, 색상, 위치를 고려하여, 상기 풋살 경기장에서의 공에 대한 위치 변화를 추적 할 수 있다.
즉, 풋살 영상 분석 시스템(100)은, 평면 영상 내에서 움직이는 공을 자동으로 마킹 함으로써 관심영역(ROI)을 할당할 수 있다.
공에 대한 관심영역(ROI)의 할당에 있어, 풋살 영상 분석 시스템(100)은, 평면 영상 내 공을 인식하여, 원형인 관심영역을 표시 할 수 있다.
또한, 풋살 영상 분석 시스템(100)은, CSRT Tracker를 이용하여, 상기 풋살 경기장에서의 공에 대한 위치 변화를 추적한다.
즉, 풋살 영상 분석 시스템(100)은, 최초 관심영역이 마킹된 공에 대해, Hough Circle Transform 알고리즘으로 추적하면서, 공의 크기, 색상, 위치 등에 따라, 이동하는 해당 공의, 각 평면 영상 별 좌표를 추출 할 수 있다.
이를 통해, 풋살 영상 분석 시스템(100)은, 각 평면 영상 별 공의 좌표를 연결함으로써, 풋살 경기장에서의 공에 대한 위치 변화를 지속적으로 추적 할 수 있다.
실시예에 따라, 풋살 영상 분석 시스템(100)은, 산출된 객체의 이동 거리와 관련되어 작성되는 결과물을 웹서버로 전송하여, 추후 경기 분석 등에 활용되도록 할 수 있다.
이를 위해, 풋살 영상 분석 시스템(100)은, 상기 추적된 좌표의 변화를, 상기 풋살 경기장을 배경으로 상기 객체를 원 형태의 심볼로 표시하는 히트맵 이미지를 작성할 수 있다.
이후, 풋살 영상 분석 시스템(100)은 상기 히트맵 이미지를 웹서버로 전송하여 데이터베이스에 저장 함으로써, 추후의 맵 호출에 대비할 수 있다.
즉, 풋살 영상 분석 시스템(100)은 풋살 경기장에서 객체가 이동한 궤적이 히트맵 이미지로서 기록되면, 이를 웹서버로 송출하고, 이후 웹서버에 의해 히트맵 이미지가 다양한 단말 유저(선수, 감독, 분석관 등)에게 서비스 제공되도록 할 수 있다.
여기서, 히트맵 이미지는 색상으로 표현할 수 있는 다양한 정보를, 열분포 형태의 비쥬얼한 그래픽으로 표현하는 이미지 일 수 있다.
다른 실시예에서, 풋살 영상 분석 시스템(100)은, 산출된 객체의 이동 거리와 관련되어 작성되는 데이터를 분석하여, 그래프 및 도표로서 표출 할 수 있다.
이를 위해, 상기 풋살 영상 분석 시스템(100)은, 상기 이동 거리에 기반하여, 상기 객체의 최고 속도, 평균 속도, 속도 비율, 및 소모 칼로리 중 적어도 하나에 관한 데이터를 분석 할 수 있다.
이후, 풋살 영상 분석 시스템(100)은, 상기 분석된 데이터를 그래프와 도표로 화면에 시각화 할 수 있다.
즉, 풋살 영상 분석 시스템(100)은, 풋살 경기장에서 객체가 이동 함에 따라 도출되는 객체의 운동 능력이 수치적인 데이터로 분석되면, 이를 그래프 및 도표로 시각화하여, 이를 보는 사용자로 하여금 객체의 운동 능력이 일목요연하게 인지되도록 할 수 있다.
본 발명의 일실시예에 따르면, 드론을 활용한 평면 영상을 이용하여 경기를 분석하고, 웹으로 분석한 데이터를 제공하는 분석 서비스를 지원 할 수 있다.
또한, 본 발명의 일실시예에 따르면, 저렴한 비용으로, 프로와 아마추어 모두 사용할 수 있는 분석 시스템을 제공 할 수 있다.
또한, 본 발명의 일실시예에 따르면, 드론으로 촬영한 평면 영상을 이용하여 선수의 움직임을 분석하여 뛴 거리, 경기 내 움직임 비율, 속도 관련 데이터, 경기 내 누적 이동경로, 선수의 경기 내 활동반경 히트맵 등 다양한 데이터를 제공 할 수 있다.
또한, 본 발명의 일실시예에 따르면, 신체 활동에 제약을 주는 특수한 장치나 고가의 장치 없이 평면 영상을 이용한 분석을 가능하게 하며, 분석 데이터를 이용하여 데이터 사이언스와 스포츠 사이언스 분야에서 더 효율적이고 과학적인 데이터를 이용하도록 할 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치, 또는 전송되는 신호 파(signal wave)에 영구적으로, 또는 일시적으로 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록 매체에 저장될 수 있다.
이상과 같이 실시예들이 비록 한정된 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기를 기초로 다양한 기술적 수정 및 변형을 적용할 수 있다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 특허청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.
100 : 풋살 영상 분석 시스템
110 : 데이터 수신 모듈
120 : 데이터 분석 모듈
130 : 데이터 송신 모듈
140 : 데이터 시각화 모듈
110 : 데이터 수신 모듈
120 : 데이터 분석 모듈
130 : 데이터 송신 모듈
140 : 데이터 시각화 모듈
Claims (15)
- 무인 비행체에 의해 풋살 경기장과 연관되어 실시간으로 촬영되는 복수의 평면 영상을, 상기 무인 비행체로부터 연속적으로 수신하는 데이터 수신 모듈; 및
상기 복수의 평면 영상 각각에 대해 관심영역(ROI)를 할당하고, CSRT Tracker를 이용하여, 상기 관심영역(ROI) 내 객체에 대한 위치를 식별하여, 상기 객체의 좌표를 추출하며, 상기 관심영역(ROI)의 할당 및 상기 좌표의 추출을 반복 함으로써 추적되는 상기 좌표의 변화에 기초하여, 상기 객체가 상기 풋살 경기장에서 이동한 이동 경로에 따른 이동 거리를 산출하는 데이터 분석 모듈
을 포함하는, 객체 추적을 이용한 풋살 영상 분석 시스템. - 제1항에 있어서,
상기 데이터 분석 모듈은,
화면에 시각화되는 상기 평면 영상에서, 입력 도구에 의해 마킹되는 객체에 대해 상기 관심영역(ROI)를 할당하고,
상기 관심영역(ROI)의 좌측 상단은, 시작좌표 (x, y)이고,
상기 관심영역(ROI)의 폭과 높이는, w(Width)와 h(Height)이며,
상기 관심영역의 중앙은, 상기 객체의 위치 좌표 (A, B)인
객체 추적을 이용한 풋살 영상 분석 시스템. - 제1항에 있어서,
상기 데이터 분석 모듈은,
상기 풋살 경기장의 실제 크기와의 격차를 고려하여, 상기 평면 영상의 픽셀 크기에 가중치를 적용하고,
상기 가중치가 적용된 평면 영상에서의, 시간에 따른 상기 좌표의 변화를, 상기 이동 경로로서 추적하며,
상기 이동 경로 상을 상기 객체가 이동한 거리를 추정하여 상기 이동 거리를 산출하는
객체 추적을 이용한 풋살 영상 분석 시스템. - 제3항에 있어서,
상기 데이터 분석 모듈은,
상기 추적된 좌표의 변화를, 상기 풋살 경기장을 배경으로 상기 객체를 원 형태의 심볼로 표시하는 히트맵 이미지를 작성하고,
상기 풋살 영상 분석 시스템은,
상기 히트맵 이미지를 웹서버로 전송하여 데이터베이스에 저장 함으로써, 추후의 맵 호출에 대비하는 데이터 송신 모듈
을 더 포함하는, 객체 추적을 이용한 풋살 영상 분석 시스템. - 제1항에 있어서,
상기 데이터 분석 모듈은,
상기 이동 거리에 기반하여, 상기 객체의 최고 속도, 평균 속도, 속도 비율, 및 소모 칼로리 중 적어도 하나에 관한 데이터를 분석하고,
상기 풋살 영상 분석 시스템은,
상기 분석된 데이터를 그래프와 도표로 화면에 시각화하는 데이터 시각화 모듈
을 더 포함하는, 객체 추적을 이용한 풋살 영상 분석 시스템. - 제1항에 있어서,
상기 데이터 분석 모듈은,
상기 평면 영상 내 공에 대해 상기 관심영역(ROI)를 할당하고, Hough Circle Transform 알고리즘과 공의 크기, 색상, 위치를 고려하여, 상기 풋살 경기장에서의 공에 대한 위치 변화를 추적하는
객체 추적을 이용한 풋살 영상 분석 시스템. - 무인 비행체에 의해 풋살 경기장과 연관되어 실시간으로 촬영되는 복수의 평면 영상을, 상기 무인 비행체로부터 연속적으로 수신하는 단계;
상기 복수의 평면 영상 각각에 대해 관심영역(ROI)를 할당하는 제1 단계;
CSRT Tracker를 이용하여, 상기 관심영역(ROI) 내 객체에 대한 위치를 식별하여, 상기 객체의 좌표를 추출하는 제2 단계; 및
상기 제1 단계와 상기 제2 단계를 반복 함으로써 추적되는 상기 좌표의 변화에 기초하여, 상기 객체가 상기 풋살 경기장에서 이동한 이동 경로에 따른 이동 거리를 산출하는 단계
를 포함하는, 객체 추적을 이용한 풋살 영상 분석 방법. - 제8항에 있어서,
상기 제1 단계는,
화면에 시각화되는 상기 평면 영상에서, 입력 도구에 의해 마킹되는 객체에 대해 상기 관심영역(ROI)를 할당하는 단계
를 포함하고,
상기 관심영역(ROI)의 좌측 상단은, 시작좌표 (x, y)이고,
상기 관심영역(ROI)의 폭과 높이는, w(Width)와 h(Height)이며,
상기 관심영역의 중앙은, 상기 객체의 위치 좌표 (A, B)인
객체 추적을 이용한 풋살 영상 분석 방법. - 제8항에 있어서,
상기 이동 거리를 산출하는 단계는,
상기 풋살 경기장의 실제 크기와의 격차를 고려하여, 상기 평면 영상의 픽셀 크기에 가중치를 적용하는 단계;
상기 가중치가 적용된 평면 영상에서의, 시간에 따른 상기 좌표의 변화를, 상기 이동 경로로서 추적하는 단계; 및
상기 이동 경로 상을 상기 객체가 이동한 거리를 추정하여 상기 이동 거리를 산출하는 단계
를 포함하는, 객체 추적을 이용한 풋살 영상 분석 방법. - 제10항에 있어서,
상기 풋살 영상 분석 방법은,
상기 추적된 좌표의 변화를, 상기 풋살 경기장을 배경으로 상기 객체를 원 형태의 심볼로 표시하는 히트맵 이미지를 작성하는 단계; 및
상기 히트맵 이미지를 웹서버로 전송하여 데이터베이스에 저장 함으로써, 추후의 맵 호출에 대비하는 단계
를 더 포함하는, 객체 추적을 이용한 풋살 영상 분석 방법. - 제8항에 있어서,
상기 이동 거리에 기반하여, 상기 객체의 최고 속도, 평균 속도, 속도 비율, 및 소모 칼로리 중 적어도 하나에 관한 데이터를 분석하는 단계; 및
상기 분석된 데이터를 그래프와 도표로 화면에 시각화하는 단계
를 더 포함하는, 객체 추적을 이용한 풋살 영상 분석 방법. - 제8항에 있어서,
상기 평면 영상 내 공에 대해 상기 관심영역(ROI)를 할당하고, Hough Circle Transform 알고리즘과 공의 크기, 색상, 위치를 고려하여, 상기 풋살 경기장에서의 공에 대한 위치 변화를 추적하는 단계
를 더 포함하는 객체 추적을 이용한 풋살 영상 분석 방법. - 제8항 내지 제14항 중 어느 한 항의 방법을 실행시키기 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210012891A KR102611442B1 (ko) | 2021-01-29 | 2021-01-29 | 객체 추적을 이용한 풋살 영상 분석 시스템 및 방법 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020210012891A KR102611442B1 (ko) | 2021-01-29 | 2021-01-29 | 객체 추적을 이용한 풋살 영상 분석 시스템 및 방법 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20220109636A true KR20220109636A (ko) | 2022-08-05 |
KR102611442B1 KR102611442B1 (ko) | 2023-12-07 |
Family
ID=82826280
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020210012891A KR102611442B1 (ko) | 2021-01-29 | 2021-01-29 | 객체 추적을 이용한 풋살 영상 분석 시스템 및 방법 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR102611442B1 (ko) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5363297A (en) * | 1992-06-05 | 1994-11-08 | Larson Noble G | Automated camera-based tracking system for sports contests |
KR20180063777A (ko) * | 2016-12-02 | 2018-06-12 | (주) 지티씨솔루션 | 축구 정보 분석 장치 및 그 방법 |
US20200134319A1 (en) * | 2018-10-30 | 2020-04-30 | Sony Corporation | Image-based detection of offside in gameplay |
-
2021
- 2021-01-29 KR KR1020210012891A patent/KR102611442B1/ko active IP Right Grant
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5363297A (en) * | 1992-06-05 | 1994-11-08 | Larson Noble G | Automated camera-based tracking system for sports contests |
KR20180063777A (ko) * | 2016-12-02 | 2018-06-12 | (주) 지티씨솔루션 | 축구 정보 분석 장치 및 그 방법 |
US20200134319A1 (en) * | 2018-10-30 | 2020-04-30 | Sony Corporation | Image-based detection of offside in gameplay |
Non-Patent Citations (2)
Title |
---|
귀퉁이 서재 블로그(blog), OpenCV - 32. 객체 추적을 위한 Tracking API(2020.12.26.)* * |
이권 등, 가려짐에 강인한 축구공 추적, 방송공학회논문지 제17권 제6호(2012.11.30.)* * |
Also Published As
Publication number | Publication date |
---|---|
KR102611442B1 (ko) | 2023-12-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11064107B2 (en) | Objects trail-based analysis and control of video | |
US11941915B2 (en) | Golf game video analytic system | |
CN109903312B (zh) | 一种基于视频多目标跟踪的足球球员跑动距离统计方法 | |
KR102290932B1 (ko) | 레이더 데이터 및 이미지화기 데이터를 사용하여 물체를 추적하기 위한 디바이스, 시스템, 및 방법 | |
Barris et al. | A review of vision-based motion analysis in sport | |
US11624825B2 (en) | Object tracking | |
Figueroa et al. | Tracking soccer players aiming their kinematical motion analysis | |
JP5603403B2 (ja) | 対象物計数方法、対象物計数装置および対象物計数プログラム | |
CN101639354B (zh) | 对象跟踪的设备和方法 | |
WO2018163804A1 (ja) | 情報処理システム、情報処理装置、情報処理方法ならびに情報処理方法をコンピュータに実行させるプログラム | |
EP2966851A1 (en) | Autonomous camera system for capturing sporting events | |
CN109426782A (zh) | 对象检测方法和用于对象检测的神经网络系统 | |
US20100278386A1 (en) | Videotracking | |
JP2008538623A (ja) | 運動行為中のイベントを検出及び分類するための方法及びシステム | |
Morais et al. | A multiple camera methodology for automatic localization and tracking of futsal players | |
CN108303994A (zh) | 面向无人机的群控交互方法 | |
Zhang et al. | Real-time golf ball detection and tracking based on convolutional neural networks | |
KR20180002408A (ko) | 공의 회전을 측정하기 위한 방법, 시스템 및 비일시성의 컴퓨터 판독 가능한 기록 매체 | |
CN105894540A (zh) | 一种基于移动终端的上下往复移动计数方法及系统 | |
JP2018005913A (ja) | ボールの画像の明るさを補正するための方法、システム、及び非一時的なコンピュータ読み取り可能な記録媒体 | |
Ivanova et al. | Video and sensor-based rope pulling detection in sport climbing | |
KR101703316B1 (ko) | 영상을 기반으로 속도를 측정하는 방법 및 장치 | |
US11823454B2 (en) | Method and apparatus for user interaction with a video stream | |
Morais et al. | Automatic tracking of indoor soccer players using videos from multiple cameras | |
Abulwafa et al. | A fog based ball tracking (FB 2 T) system using intelligent ball bees |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
AMND | Amendment | ||
X701 | Decision to grant (after re-examination) | ||
GRNT | Written decision to grant |