DOI QR코드

DOI QR Code

아마추어 풋살 데이터 분석을 위한 공 추적 알고리즘 연구

A Study on Ball Tracking Algorithm to Analyze Amateur Futsal Data

  • 정수경 (한국산업기술대학교 컴퓨터공학부) ;
  • 권한길 (한국산업기술대학교 컴퓨터공학부) ;
  • 이길형 (한국산업기술대학교 컴퓨터공학부) ;
  • 정하림 (한국산업기술대학교 컴퓨터공학부) ;
  • 고동범 (한국산업기술대학교 스마트팩토리융합학과) ;
  • 전광일 (한국산업기술대학교 컴퓨터공학과) ;
  • 박정민 (한국산업기술대학교 컴퓨터공학과)
  • 투고 : 2021.03.23
  • 심사 : 2021.08.06
  • 발행 : 2021.08.31

초록

본 논문은 영상처리를 이용한 공 추적 시스템을 소개한다. 최근 아마추어 풋살 시장의 성장으로 아마추어 선수들의 경기력 분석에 대한 요구 또한 높아지고 있다. 선수 또는 팀에게 피드백 및 성장을 위한 스포츠 경기 분석 서비스는 여러 스포츠 분야에서 다양한 형태로 제공되고 있다. 그러나 스포츠 분석 서비스의 비용적, 공간적 제약은 아마추어 선수들이 분석 서비스를 제공 받기 어렵게 한다. 본 논문에서는 기존에 아마추어 풋살 분야에서 제공되는 경기 영상 촬영서비스를 기반으로 경기 분석을 하기 위한 공 추적 알고리즘을 연구하고 개발한다. 이를 통해 기존에 존재하는 서비스를 기반으로 경기를 분석할 수 있도록 한다.

This paper introduces the ball tracking system using image processing. The recent growth of the amateur futsal market has also raised requests for an analysis of amateur players' performance. Sports game analysis services for feedback and growth to athletes or teams are provided in various ways in various sports fields. However, the cost and spatial constraints of sports analysis services make it difficult for providing analysis services to amateur athletes. In this paper, we study and develop a ball tracking algorithm for analyzing futsal game based on the match filming service previously provided in the amateur futsal field. This allows the analysis of the match based on existing services.

키워드

Ⅰ. 서론

최근 스포츠 사이언스와 빅데이터를 활용한 데이터 사이언스 분야의 융합이 활성화되면서 전 세계적으로 많은 분석 연구들이 진행되고 있다[1]. ‘bepro11’과 ‘싸커비’ 는 대표적인 우리나라 축구 분석 서비스 제공회사다.

‘bepro11’은 현재 함부르크에서 여러 유럽 팀들을 상대로 축구 분석 서비스를 제공하고 있다. 이 분석 서비스는 여러 대의 카메라를 스타디움에 설치하고, 해당 카메라로 촬영된 시점이 각기 다른 영상을 하나의 영상으로 연결하여 분석을 실행한다. 이 서비스는 회사의 독자적인 카메라 및 분석 알고리즘을 활용하여 더 정확한 선수분석이 가능하지만, 카메라를 설치할 공간 및 시간적 제약과 큰 비용이 필요하므로 프로 구단 외에는 서비스를 받기가 어렵다.

다른 분석 서비스 회사인 ‘사커비’는 영상이 아닌 GPS 장비를 이용하여 선수를 추적하고 분석한다. ‘사커비’의 분석 서비스는 ‘bepro11’ 보다 분석 비용이 저렴하지만, 몸에 GPS 기반의 웨어러블 장비를 착용한 채 경기를 해야 하므로 불편함과 부상 위험이 존재한다.

한국스포츠개발원에서 조사한 바에 따르면 생활체육 동호회 클럽 및 회원 수 상위 20개 종목에서 풋살이 14 위로 전체의 2.2%인 2, 415개의 클럽 수와 114, 532명의 회원 수가 있다고 한다[2]. 또한. 1위는 축구이며 전체의 11.2%를 차지하고 12, 354개의 클럽 수, 597, 000명의 회원 수가 집계되었다. ‘플랩풋볼’은 아마추어 레벨에서 경기하고자 하는 선수와 팀을, 경기를 원하는 팀들을 연결해주는 서비스를 제공한다. 이러한 서비스는 최근 계속 성장세에 있다[2].

이러한 아마추어 시장의 성장과 더불어 아마추어 수준의 분석 서비스의 필요성 또한 증가하고 있다. 데이터 사이언스 분야의 성장과 아마추어 시장의 발달로 아마추어선수들 또한 반복되는 훈련만을 수행하는 것이 아닌 본인들이 활약한 경기 영상들과 데이터들을 참고하여 더 직관적이고 객관화된 분석을 필요로한다. 드론으로 촬영한 경기 영상을 제공해주는 서비스가 존재하지만, 분석내용을 제공해주지는 않는다. 결론적으로, 아마추어 시장에서 프로 구단에서 이용하고 있는 분석 서비스는 비용과 공간적 제약의 어려움이 있으며 제공되고 있는 서비스는 아마추어 선수들의 요구를 만족하지 못한다. 따라서 아마추어 분야에서 비용적, 공간적 제약을 만족할 수 있는 데이터 분석 시스템이 필요하다.

본 논문은 영상을 드론으로 촬영하여 제공해주는 서비스를 기반으로 영상처리 기술을 이용해 경기 데이터를 추출할 수 있는 시스템을 설계하고 개발한다[3]. 촬영된 영상에서 의미 있는 경기 데이터를 추출하기 위해서는 먼저 선수와 공의 추적이 우선시되어야 한다. 본 논문은 실시간으로 공을 검출하고 추적하는 기술을 지향한다. CNN의 경우 경기장의 선, 패널티 마크, 선수들과 겹침 현상 그리고 공의 고속 이동으로 인한 잔상 효과로 인식오류가 발생한다[4]. 이러한 인식 오류의 문제와 실시간 분석을 위해 CNN 보다 높은 인식률과 빠른 연산 처리가 가능한 Hough Circle Transform을 사용하였다. Hough Circle Transform은 영상에서 공이 될 수 있는 후보군을 검색한 뒤 그중 가장 가능성이 큰 공을 선택함으로써 경기 중 공의 움직임을 추적한다.

본 논문의 기술을 사용한다면 기존에 드론을 기반으로 한 경기 촬영 서비스가 소장용 영상뿐만 아니라 객관화된 데이터를 바탕으로 개인 혹은 팀 성장에 도움을 줄 수 있는 서비스 또한 제공할 수 있을 것이다.

Ⅱ. 관련 연구

본 장에서는 해당 연구에 필요한 기본 기술 및 개념인 Hough Circle Transform, CSRT Tracker, 스포츠와 데이터 분석에 대해 알아본다.

1. Hough Circle Transform

허프 원 변환(Hough Circle Transfrom)은 불완전한 영상에서 원을 검출하기 위해 디지털 영상 처리에서 사용되는 기본적인 특징 추출 기법이다[5].

중심 좌표가 (a, b)이고 반지름이 r인 원의 방정식은 (x-a)2 + (y-b)2 = r2으로 표현한다. 허프 원 변환 알고리즘은 원의 중심점 (x, y)와 원의 반지름 r을 활용해 누산 평면 2차원 공간(x, y)에서 3차원 공간(a, b, r) 으로 변환한다. 그리고 3차원 히스토그램에서 돗수가 높은 (a, b, r)을 선택한다. 하지만 이 방법은 필요로 하는 메모리가 너무 많아 비효율적이고 처리 속도가 느리다.

따라서 OpenCV 원 검출 함수는 일반적인 허프 변환 대신 허프 그래디언트 방법(Hough gradient method) 을 사용해 원을 검출한다. 허프 그래디언트 방법은 2단계 로 구성된다. 첫 번째 단계에서는 영상에 존재하는 모든 원의 중심좌표를 찾고, 두 번째 단계에서는 검출된 원의 중심으로부터 원에 적합한 반지름을 구한다. 원의 중심좌표를 찾는 과정에서 축적 배열이 사용된다. 다만 허프 그래디언트 방법에서 사용하는 축적 배열은 파라미터 공간에서 만드는 것이 아니라 입력 영상과 동일한 2차원 공간(x, y)에서 2차원 배열로 만든다. 이를 통해 이미지 에서 가장 긴 변의 길이가 N이라면 N2 바이트의 메모리 가 필요하게 되어 일반적인 허프 변환 방식과 비교했을 때 필요로 하는 메모리가 줄어든다. 원의 중심을 찾기 위해 허프 그래디언트 방법은 입력 영상의 모든 에지 픽셀에서 그래디언트를 구하고, 그래디언트 방향을 따르는 직선 상의 축적 배열 값을 1씩 증가시킨다. 또한, 중심점을 선택하기 위해 중심점 후보군에서 임곗값보다 크고 인접한 점보다 큰 점을 중심점으로 사용한다. 선정된 중심점(a, b)와 가장자리의 좌표를 원의 방정식에 대입해 반지름 r의 1차원 히스토그램으로 판단하게 된다.

2. CSRT Tracker

OpenCV 3.5.2 버전 이후에서 제공하는 OpenCV 추적 알고리즘 중 하나이며 채널 및 공간 신뢰도가 있는 판별 상관 필터에서 추적을 위해 프레임에서 선택한 영역(ROI)의 일부로, 필터 지원을 조정하기 위해 공간 신뢰도 맵을 사용한다. 이렇게 하면 선택한 영역의 확대 및 지역화가 보장되고 직사각형이 아닌 불규칙한 모양의 객체에 대한 검색 범위와 성능을 향상할 수 있게 된다. 또한, 비교적 낮은 fps (25fps)에서 작동하고 비교적 처리속도가 느리지만, 물체 추적에 더 높은 정확도를 제공하는 트레커이다.

3. 스포츠와 데이터 분석

급속도로 성장하고 있는 빅데이터 시장 속에서 스포츠와의 관계도 긴밀하다. 풋살에서 데이터 분석은 선수들의 컨디션 상태를 측정할 수 있어 선수 보호와 경기력 향상에 도움을 줄 수 있다. 또한, 팀 내에서 데이터 지표를 비교하여 전술적으로 부족한 부분을 채워 개개인에게 맞게 훈련을 진행하고 알맞은 전술을 사용하여 경기력에 좋은 영향을 줄 수도 있다. 이전에는 데이터 없이 감독의 주관적인 경험과 판단에 의존했다면 데이터 분석이 함께하여 정확한 지표를 바탕으로 객관적인 판단을 할 수 있도록 도와준다.

Ⅲ. 시스템 구조 및 프로세스

본 장에서는 공 추적을 통한 풋살 경기 분석 시스템프로세스와 시스템 구조를 설명한다.

1. 시스템 프로세스

본 절에서는 공 추적을 통해 풋살 경기의 하이라이트추출, 팀 점유율 계산, 선수 기여도를 분석하는 프로세스 4단계를 설명한다.

OTNBBE_2021_v21n4_189_f0001.png 이미지

그림 1. 시스템 프로세스

Fig. 1. Whole System Architecture

Step 1: Image Preprocessing

Hough Circle Transfrom 알고리즘과 추가적인 공 검출 알고리즘을 이용해 공을 추적하기에 앞서 BGR2GRAY를 통해 영상 전처리를 한다. 입력 영상에서 색상 정보의 활용도가 그리 높지 않기 때문에 컬러 영상을 그레이스케일 영상으로 변환함으로써 연산 속도와 메모리 사용량을 줄이도록 한다. 기본적으로 컬러 영상은 그레이스케일 영상과 비교하면 3배 많은 메모리가 필요할 뿐만 아니라 세 개의 채널에 대해 연산을 수행해야 하기 때문에 더 많은 연산 시간이 필요하기 때문이다.

Step 2: Ball Extraction

공 검출을 위해 프레임마다 OpenCV에서 제공하는허프 원 변환(Hough Circle Transform)을 이용해 풋살 공 후보들을 검출한다. 검출된 후보들을 추가로 구성한 ‘공 검출 알고리즘’을 통해 분석하여 후보 중 실제 풋살 공을 판별한다. 판별된 풋살 공의 위치는 좌표 형태로 로그 파일에 저장된다.

OpenCV의 houghCircle 함수는 한 프레임 내의 모든 원의 중심, 반지름, RGB를 리스트 형식으로 반환한다. Hough Circle Transform을 통해 검출된 원들은 ‘원의 색’, ‘크기’, ‘위치’, ‘이동 거리’ 총 4가지 기준으로 검출된 후보군 중에 실제 풋살 공을 판별한다. 그림 2는 이러한 공 검출 알고리즘을 도식화한 것이다[6].

OTNBBE_2021_v21n4_189_f0002.png 이미지

그림 2. 공 검출 알고리즘

Fig. 2. Circle Detection Algorithm

첫 번째로 선수의 검은색 머리와 하얀색 페널티 마크를 원으로 검출하기 때문에 흰색과 검은색 원은 공 후보에서 제외한다. (단, 흰 공과 검은 공은 실제 경기 중에 사용할 수 없는 제약 사항이 발생하는 점을 감안한다.)

선수의 머리와 페널티 마크를 원으로 검출하는 상황은 그림3과 같다.

OTNBBE_2021_v21n4_189_f0003.png 이미지

그림 3. 허프 원 변환을 통해 추출된 원들

Fig. 3. Detected Circles Through Hough Circle Transform

하지만 색을 바탕으로 공과 후보 군들을 구별할 때, 실제 경기 촬영 시 햇빛으로 인해 채도와 명도가 변하기 때문에 색상 정보만을 가지고 풋살 공을 판별하는 데 한계가 있다[7].

따라서 두 번째로 원의 크기를 이용해 후보 공 중 가짜 공을 걸러내도록 한다. 드론으로 상공에서 촬영했을 때, 공 크기와 사람의 머리 크기는 다르게 측정되는 점을 이용해 공의 크기와 같지 않은 원들은 후보 공에서 제외한다.

세 번째로 하얗고 동그란 패널티마크를 풋살 공과 구별할 때 원의 색과 크기 2가지 정보만을 통해서 판별하기엔 여전히 한계가 존재한다. 따라서 국제규격을 준수하는 풋살장이라면 영상에서의 패널티마크의 위치가 모두 같다는 점을 활용해 해당 위치의 좌표에서 검출되는 원은 모두 공 후보에서 제외한다.

네 번째로 선수의 손이나 발을 원으로 검출되는 경우가 존재하는데 영상의 특성상 프레임 내 객체의 움직임이 연속되어 있다는 점을 이용한다. 전 프레임에서 검출된 ‘진짜 공’의 위치와 현재 프레임에서 ‘공으로 추적되는 원’ 의 이동 거리가 가장 가까운 공을 풋살 공이라고 판단하고 이외의 공은 후보 공에서 제외한다[8][9].

최종적으로 ‘공 검출 알고리즘’을 통해 영상의 매 프레임마다 공의 좌표는 x, y 변수에 저장되고 공이 검출된 해당 프레임은 frame_cnt 변수에 저장된다. 그리고 txt 로그 파일에 y, x, frame_cnt로 쌍을 이루어 공의 위치가 실시간으로 저장된다[10][11].

Step 3: Analysis of Ball Position

로그 파일에 기록된 공의 위치 정보를 분석해 팀 공 점유율, 선수의 팀 기여도, 하이라이트를 추출한다. 팀공 점유율을 계산하기 위해서는 우선 각 팀이 공을 점유한 총 프레임 수를 알아야 한다. 각 팀이 공을 점유한 총 프레임 수는 팀 내 선수 개개인의 공 점유 프레임 수를 모두 합하여 계산한다[식 1, 2]. 식 1과 2는 이러한 작업을 수식으로 나타낸 것이다.

\(S_{A}=\sum_{k=1}^{n} a_{k}\)       (1)

\(S_{B}=\sum_{k=1}^{n} b_{k}\)       (2)

선수 개인의 공 점유 프레임 수는 선수 트래커의 ROI 와 공의 거리가 가까운지를 판단한 후 계산된다. ROI는 관심 구역(Region Of Interest)을 의미하여 사용자가 추적할 객체를 지정한 박스를 의미한다. 그림 4는 OpenCV의 csrt 트래커를 이용해 ROI 박스를 지정했을 때 반환되는 좌표이다. 선수 ROI의 좌표 정보와 공 좌표정보를 비교하여 공 점유 여부를 판단하고 공 점유시 점유한 프레임 수를 누적해 리스트에 저장한다. 그림5는 이러한 공 점유 알고리즘을 도식화한 것이다.

OTNBBE_2021_v21n4_189_f0004.png 이미지

그림 4. ROI 좌표

Fig. 4. Coordinates of ROI

OTNBBE_2021_v21n4_189_f0005.png 이미지

그림 5. 공 점유 알고리즘

Fig. 5. Possession Algorithm

팀 공 점유율은 식 1과 2를 바탕으로 계산된 각 팀이 공을 점유한 총 프레임 수 SA와 SB를 바탕으로 퍼센트로 수치화되어 계산된다[식 3, 4]. 식 3과 식 4는 이러한 작업을 수식으로 나타낸 것이다.

\(\text { Possession }_{A}=\frac{S_{A}}{S_{A}+S_{B}} \times 100\)       (3)

\(\text { Possession }_{B}=\frac{S_{B}}{S_{A}+S_{B}} \times 100 \)       (4)

선수 개인의 팀 기여도는 다양한 산정 기준이 있지만 본 논문에서는 선수 개인의 공 점유 시간을 기준으로 한다. 팀의 전체 공 점유 프레임 수 중에 개인이 몇 프레임 즉, 몇 퍼센트를 기여했는지 계산한다[식 5, 6]. 식 5와 식 6은 이러한 작업을 수식으로 나타낸 것이다.

\(\text { Contribution }_{A}=\frac{a_{k}}{S_{A}} \times 100\)       (5)

\(\text { Contribution }_{B}=\frac{b_{k}}{S_{B}} \times 100\)       (6)

하이라이트 장면의 기준으로 골 실패한 장면, 골인 장면, 선수의 세레모니 장면 등 다양하다. 하지만 본 논문에서는 골대 영역 혹은 페널티 영역에 공이 진입할 경우 경기 주요장면일 확률이 높으므로 이 2가지를 하이라이트 기준으로 한다[12][13]. 그림 6은 풋살장의 골대와 페널티 영역을 나타낸 것이다. 프레임 속 골대와 페널티 영역 위치 계산은 국제규격을 준수한 풋살장이라면 골대의 크기와 페널티 영역이 정해져 있기 때문에 국제규격을 기준으로 프레임 속 골대 크기와 페널티 영역을 변환하여 계산한다. 그림 7은 하이라이트 생성 알고리즘을 도식화한 것이다.

OTNBBE_2021_v21n4_189_f0006.png 이미지

그림 6. 풋살장의 골대와 페널티 영역

Fig. 6. Goal post and Penalty area of Futsal field

OTNBBE_2021_v21n4_189_f0007.png 이미지

그림 7. 하이라이트 생성 알고리즘

Fig. 7. Highlight Algorithm

Step 4: Visualization

분석된 데이터를 시각화하는 단계에서 Python의 Matplotlib 라이브러리를 사용하여 모든 선수 분석이 끝나면 그래프를 그리도록 한다. PieChart를 이용해 각 팀의 공 점유율 데이터를 나타내고 막대 그래프를 이용선수의 팀 기여도를 퍼센트로 수치화해서 나타낸다. 한 팀의 선수 모두가 기여 가능한 퍼센트가 100%라고 가정했을 때, 그중 선수 개개인이 몇 퍼센트를 공헌했는지를 나타내는 것이다. 또한, <3단계>에서 공 위치 분석을 통해 추출된 주요장면에 해당하는 프레임은 Moviepy 라이브러리를 사용해 주요장면 앞뒤로 2초씩 자르고 1배로 줌된 영상, 2배로 줌된 영상, 3배로 줌된 영상이 하나의 하이라이트 영상으로 합쳐져 폴더에 저장된다.

2. 시스템 구조

공 추적 알고리즘을 이용한 풋살 분석시스템의 구조는 드론으로 촬영한 풋살 경기 영상을 바탕으로 공 추적, 공의 위치를 이용한 데이터 분석, 시각화, 서버 전송으로 구성된다. 공 추적 알고리즘을 이용한 풋살 분석시스템의 구조도는 그림 8과 같다.

OTNBBE_2021_v21n4_189_f0008.png 이미지

그림 8. 전체 시스템 구조

Fig. 8. Whole System Architecture

가. Video Shooting

사용자가 풋살 경기를 하는 동안 드론을 상공에 뛰어놓고 영상을 촬영한다. 경기 중 선수의 몸싸움으로 발생하는 경우 선수의 겹침 현상으로 인해 선수 추적을 놓치거나 선수 몸에 공이 가려지는 현상을 방지하기 위해서이다.

나. Ball Extraction

(1) Size Detection Module

Hough Circle 라이브러리로 검출된 원 모양의 객체들 중 공의 크기와 다른 원들을 제외할 수 있는 모듈.

(2) Color Detection Module

공 추적 정확도를 높이기 위한 제약사항으로 검은색 공을 제외하여 선수의 머리와 공을 구분할 수 있는 모듈.

(3) Penalty Mark Detection Module

패널티마크 또는 센터 서클에 있는 센터 마크와 같이 공과 크기와 색이 같은 원들을 제외할 수 있는 모듈.

(4) Distance Measuring Module

프레임마다 원을 검출하는데 직전 프레임에 검출된 공과 다음 프레임에서 직전 프레임과 가장 가까운 후보 원을 공이라 인식하게 하여 선수에 의해 가려지는 현상을 해결한 모듈

다. Analysis of Data

(1) Highlight Extraction Module

공이 골대 안의 좌표 안에 있다면 주요장면으로 인식하여 앞뒤 일정 시간을 잘라서 3번 반복하게 한 후 동영상으로 자동 추출하여 주요장면을 검출하는 모듈.

(2) Possession Analysis Module

공 좌표가 선수객체 일정 거리 안에 들어오게 되면 점유했다고 인정이 됨. 그로 인해 개인의 팀 점유율, 팀을 구분하여 팀 점유율을 추출할 수 있는 모듈.

(3) Contribution Rate Analysis Module

팀에 대한 기여를 팀 내에서 공 점유를 가장 많은 선수를 기준으로 기여도를 분석하는 모듈

라. Visualization

(1) Visualization Module

High Chart 라이브러리를 사용하여 추출된 데이터를 사용자가 이해하기 쉽게 표현하였고 다양한 그래프를 통해서 분석 데이터를 제공한다. 또한, 분석 프로그램으로 풋살 경기 영상을 분석할 때 실시간으로 추적 중인 선수객체의 정보와 속도, 뛴 거리, 볼 터치 횟수 등 분석과정을 실시간으로 볼 수 있도록 구현한 모듈.

마. Server

(1) Database Server

분석 프로그램과 웹서버 중간에서 서로 데이터를 주고받을 때 사용하는 데이터 저장 서버 모듈.

(2) Web Server

사용자가 본 서비스를 이용하는 실질적인 서비스. 사용자 본인이 촬영한 풋살 영상을 분석 받아 여러 그래프와 데이터들을 제공받을 수 있게 하는 모듈.

Ⅳ. 실험 및 결과

본 장에서는 공 추적 알고리즘을 이용한 풋살분석 시스템 데모를 소개하고 1) 공 검출, 2) 공 위치 분석, 3) 시각화 3단계 프로세스로 데모 및 실험을 진행한다. 검출된 공 좌표를 바탕으로 풋살 데이터를 분석하고 시각화하기 위해서는 분석의 기반이 되는 ‘공 좌표’의 정확도가 매우 중요하다. 따라서 평가를 위해 1단계 공 검출 단계에서 공 미탐 비율과 1초당 평균 정탐 비율을 측정한다.

1. 프로그램 구조 및 UI

공 위치 기반 풋살분석 시스템은 공을 검출한 후 검출된 공의 위치를 바탕으로 풋살 경기에 유용한 데이터를 분석해주고, 시각화해주는 시스템이다. 그림 9는 이러한 시스템의 구조 및 프로세스를 도식화한 것이다.

OTNBBE_2021_v21n4_189_f0009.png 이미지

그림 9. 공 위치 기반 풋살분석 시스템 구조 및 프로세스

Fig. 9. Futsal Analysis System Based on Ball Position System Architecture & Process

가. 공 검출

공 검출 모듈을 통해 공이 검출된다. 그림10은 공이실 시간으로 검출되고 있는 화면이다. 검출된 공의 중심좌표와 해당 프레임 정보는 result 폴더에 ball_coord.txt 이름의 로그 파일로 저장된다. 그림 11은 추출된 공의 중심 좌표 x, y와 몇 번째 프레임에서 탐지했는지 (x, y, n) 의 한 쌍으로 매 행에 출력하여 저장한 것이다.

OTNBBE_2021_v21n4_189_f0010.png 이미지

그림 10. 공 검출 결과

Fig .10. Ball Detection Result

OTNBBE_2021_v21n4_189_f0011.png 이미지

그림 11. 검출된 공의 좌표

Fig. 11. Coordinates of Detected Ball

나. 공 위치 분석

앞서 검출한 공의 좌표를 바탕으로 공의 위치에 기반해 공 점유율, 선수 기여도, 하이라이트 장면을 분석한다. 그림 12는 공의 좌표 정보를 바탕으로 페널티 영역에 공이 진입했거나 선수가 공을 점유했을 때를 탐지하는 장면이다. 선수가 공을 점유했을 때는 선수의 ROI 박스가 빨간색에서 파란색으로 바뀌면서 선수 개인의 공 점유 프레임 수를 변수에 누적시킨다.

OTNBBE_2021_v21n4_189_f0012.png 이미지

그림 12. 공의 위치 분석

Fig. 12. Ball Position Analysis

다. 시각화

공의 위치 분석을 통해 페널티 영역이나 골대 영역에 공이 진입한 경우 주요장면으로 감지하여 리스트에 해당 프레임을 저장한다. 그림 13은 추적하고 있는 공과 선수객체를 실시간으로 보기 쉽게 시각화한 Radar 창으로 공이 골대에 진입한 장면이다. 그림 14는 프로그램이 끝나고 추출한 주요장면 프레임을 기점으로 result 폴더에 Highlight 이름의 mov 파일로 저장하고 있는 과정이다.

OTNBBE_2021_v21n4_189_f0013.png 이미지

그림 13. 골대 안에 있는 공

Fig. 13. Ball In Goal post

OTNBBE_2021_v21n4_189_f0014.png 이미지

그림 14. 하이라이트 추출 과정

Fig. 14. Highlight Extraction Process

2. 성능 평가

1단계 공 검출 단계에서 1초당 평균 공 정탐 비율과미탐 비율을 측정한다. 그림 15는 공 인식 모듈을 작동 시켜 fps가 30인 영상에서 1초당 몇 개의 프레임에서 공을 탐지했는지를 나타내는 그래프이다. 1초당 최대 28개, 최소 4개의 프레임에서 공을 탐지했으며 평균 18개의 프레임에서 공을 탐지한다.

OTNBBE_2021_v21n4_189_f0015.png 이미지

그림 15. 초당 공 인식률

Fig. 15. Ball Recognition Rate

미탐 비율은 정탐(True Positive) 프레임 개수와 미탐 (False Negative) 프레임 개수를 이용해 구한다[식 7]. 823개의 프레임 중 8개의 프레임에서 공이 아닌 객체를 공으로 잘못 탐지하는 ‘미탐’이 발생하였다. 따라서 식 7 에 의하면 0.97% 확률로 미탐이 발생하였다. 즉, 100개의 프레임 중에서 1개 미만의 프레임에서 공이 아닌 객체를 공으로 잘못 탐지할 확률이 있다는 것이다. 미탐 비율이 매우 낮으므로 공 검출 알고리즘은 정확도가 높다고 볼 수 있다.

\(\text { FN Rate }=\frac{F N}{T P+F N} \times 100\)      (7)

하지만 본 논문에서 사용한 공 검출 알고리즘은 초당 평균 60%의 공 인식률을 갖고 있다. 만일 초당 공 인식률이 70% 이상으로 개선된다면 선수 개인이 공을 점유한 프레임 수에 대한 오차가 줄어 공 점유율과 선수 기여도와 같은 데이터를 더 정확하게 계산할 수 있을 것이다.

앞으로의 연구는 위와 같은 문제점을 해결하기 위 해공 검출 알고리즘을 좀 더 개선하여 더 정확하고 신뢰도 높은 시스템을 구현할 계획이다.

Ⅴ. 결론

본 논문에서는 아마추어를 대상으로 드론으로 촬영한 풋살 영상을 분석할 때 필요한 공 추적에 관해 시스템을 제안하고 구현하였다. 기존의 드론을 이용한 촬영 서비스를 기반으로 하여 고가의 장비 착용 없이 분석이 가능해졌고 드론을 통해 경기 영상을 촬영함으로써 공간에 대한 제한 없이 분석이 가능해졌다. 촬영된 영상에서 공의 크기가 작았기 때문에 허프 원 변환을 기반으로 검출된 공의 후보군 중 실제 공을 가려내기가 어려웠다. 본 논문에서는 검은 공과 흰 공을 제한하고, 구장을 정식규격의 풋살장으로 제한하여 영상을 촬영함으로써 공 인식에 대한 정확도를 높였다. 또한, 크기, 색, 패널티마크와의 구분 및 이동 거리를 고려하여 실제 풋살 공을 검출하는데 정확도를 높였다. 공 추적의 결과는 개인의 공 점유율, 팀 점유율, 하이라이트 영상 자동 제작 기능에 사용될 수 있다. 또한, 이러한 데이터들은 스포츠 과학과 데이터 과학의 시너지를 내는데 주요한 역할을 하며 객관적인 데이터를 바탕으로 팀 혹은 개인의 성장에 많은 도움이 될 것이라고 기대된다. 그러나 초당 평균 60%의 공인식률은 정확한 분석을 하는데 불확실한 요소가 된다. 따라서 향후 연구로 공 인식을 어렵게 하는 요소를 줄이고 보다 범용적인 공 인식 및 추적 알고리즘 연구를 진행할 예정이다.

참고문헌

  1. Hyo-Kwan Kim., Won-Yong Hwang, "Proposal For Improving Data Processing Performance Using Python", The Journal of Korea Institute of Information, Electronics, and Communication Technology, Vol. 13, No. 4, pp. 306-311, Aug 2020. DOI: https://doi.org/10.17661/JKIIECT.2020.13.4.306
  2. Sang-hoon Kim, Yong-seok Choi, et al., "Research on sports industry development methods through market analysis", Korea Sports Development Institute, May 2016.
  3. Ki-tae Hwang, Ji-na Kim, et al., "Implementation of Multi-Streaming System of Live Video of Drone", The Journal of The Institute of Internet, Broadcasting and Communication, Vol. 18, No. 1, pp. 143-149, Feb 2018. DOI: https://doi.org/10.7236/JIIBC.2018.18.1.143
  4. Jun-su Han, Jong-won Kim, " A Study on the Compensation Methods of Object Recognition Errors for Using Intelligent Recognition Model in Sports Games", Journal of the Korea Academia-Industrial cooperation Society, Vol. 22, No. 5 pp. 537-542, May 2021 DOI : https://doi.org/10.5762/KAIS.2021.22.5.537
  5. Yu-Jin Kim,Young-Jae Choi, In-Sik Choi , "Separation of Dynamic RCS using Hough Transform in Multi-target Environment", Journal of KIIT. Vol. 17, No. 9, pp. 91-97,Sep. 30, 2019. DOI: https://doi.org/10.14801/jkiit.2019.17.9.91
  6. Jacek Komorowsk, Grzegorz Kurzejamski, et al., "BallTrack: Football ball tracking for real-time CCTV systems", In 2019 IEEE International Conference on Machine Vision Applications (MVA), pp. 27-31, Jul 2019. DOI: https://doi.org/10.23919/mva.2019.8757880
  7. Woo-Sang Jeon, Kun-Hee Han, "New Image Processing Methodology for Noisy-Blurred Images", Journal of the Korea Academia-Industrial cooperation Society, Vol. 11, No. 3, pp. 965-970, Mar 2010. DOI: https://doi.org/10.5762/KAIS.2010.11.3.965
  8. Huda Dheyauldeen Najeeb, Rana Fareed Ghani. "Tracking Ball in Soccer Game Video using Extended Kalman Filter", In 2020 IEEE International Conference on Computer Science and Software Engineering (CSASE), Jul 2020. DOI: https://doi.org/10.1109/csase48920.2020.9142058
  9. Kwon Lee, Chul-hee Lee, "Soccer Ball Tracking Robust Against Occlusion", Journal of Broadcast Engineering, Vol. 17, No. 6, pp. 1040-1047, Nov 2012. DOI: https://doi.org/10.5909/JBE.2012.17.6.1040
  10. Neha C. Bhusari, Kishor M. Bhurchandi, "Soccer Ball Position Data Set Modelled to Scaled Exponential Distribution", In 2020 IEEE Students Conference on Engineering & Systems (SCES), Nov 2020. DOI: https://doi.org/10.1109/sces50439.2020.9236702
  11. Sophie Xiaofan Liu, Lijun Jiang, et al., "Video based soccer ball tracking", In 2010 IEEE Southwest Symposium on Image Analysis & Interpretation (SSIAI), Jun 2010. DOI: https://doi.org/10.1109/ssiai.2010.5483921
  12. Masaki Takahashi, Yuko Yamanouchi, et al., "Real-Time Ball Position Measurement for Football Games Based on Ball's Appearance and Motion Features", In 2015 IEEE International Conference on Signal-Image Technology & Internet-Based Systems (SITIS), Feb 2015. DOI: https://doi.org/10.1109/sitis.2015.46
  13. Hirokatsu Kataoka, Yoshimitsu Aoki, "Football players and ball trajectories projection from single camera's image", In 2011 IEEE Korea-Japan Joint Workshop on Frontiers of Computer Vision (FCV), Mar 2011. DOI: https://doi.org/10.1109/fcv.2011.5739712