ISSN : 1598-2920
The purpose of this study was to develop algorithms and software that can track the trajectory of table tennis balls using image-processing algorithms to obtain information quickly for under and establish tactics used in table tennis.
The algorithms used in the field of computer vision were applied on two matches played by novice and two matches during international competitions by elite athletes. Reliability analysis was performed by comparing the table tennis ball bounce frequency in each zone obtained through the automatic method and the manual method.
The mean reliability of the two novice games was only 85.1 ± 3.69%, total error was 14.9 ± 3.69%, overestimation error was 52.2 ± 9.78%, and underestimation error was 47.8 ± 9.78%. While the mean reliability of the two international tournaments was 71.8 ± 0.87%, the total error was 28.2 ± 0.87%, overestimation error was 82.0 ± 8.03%, and underestimation error was 19.2 ± 7.75%.
본 연구의 목적은 탁구 전술 수립을 위한 정보를 신속하기 획득하기 위해 이미지 프로세싱 기술을 활용하여 탁구공의 이동궤적을 추적할 수 있는 알고리즘과 소프트웨어를 개발하는데 있다.
컴퓨터 비전 분야에서 사용하고 있는 알고리즘을 탁구 동호인 2경기와 국제대회 2경기에 적용하고 보완하였다. 개발한 소프트웨어를 통해 자동으로 획득한 구역별 탁구공 바운스 빈도와 수기로 획득한 빈도를 비교하는 신뢰도 분석을 수행하였다.
동호인 2경기의 평균 신뢰도는 85.1±3.69%, 합계 오류 14.9±3.69%로 나타났고 과대추정 오류 52.2±9.78%, 과소추정 오류 47.8±9.78%이다. 국제대회 2경기의 평균 신뢰도는 71.8±0.87%, 합계 오류 28.2±0.87%, 과대추정 오류 82.0±8.03%, 과소추정 오류 19.2±7.75%이다.
탁구에서 경기운영 능력은 상대선수에 따라 어떠한 전술을 수립하느냐로 평가할 수 있으며, 그 전술을 기반으로 다양한 기술을 구사하여 득점으로 연결시켜야 성공적인 경기를 진행할 수 있다(Zhang, Liu, Hu, & Liu, 2013). 과거에는 전술 수립을 위한 정보를 획득하기 위하여 경기영상을 촬영하여 기록지나 컴퓨터에 수기로 득점 종류, 서비스 기술, 기술 요인, 범실 요인 등에 대한 대표적인 내용을 입력하였다(Lanzoni, Di Michele, & Merni, 2014; Munivrana, Petrinović, & Kondrič, 2015; Lee, 2008). 이를 통하여 탁구 세계랭킹 35위 안에 속하는 선수들의 224경기의 기술의 유효성을 평가한 결과 중국선수들의 1, 3구의 유효성이 매우 높다고 보고하였다(Zhang et al., 2013). 또한 아시아선수들과 유럽선수들의 특성을 확인하기 위하여 수행한 연구에서는 서비스를 포함한 4,610회의 스트로크를 통계적으로 검증하여 아시아 선수들은 유럽 선수들에 비하여 공격적이고 서비스의 유효성이 높았으며, 역공이 어려운 영역으로 공을 보내는 능력이 뛰어나다고 보고하고 있으나 수기로 경기 내용을 입력하여 분석하는 방식은 많은 시간과 노동력이 필요하다는 단점이 있다(Lanzoni et al., 2014).
테니스, 농구, 배구와 같은 프로 스포츠에서는 전술 수립을 위한 자료분석을 이미지 프로세싱 기술을 활용한 스테레오 비전 시스템을 적용하여 자동화하는 추세이다(Chen, Tien, Chen, Tsai, & Lee, 2009; Chen, Tsai, Lee, & Yu, 2012; Lara, Vieira, Misuta, Moura, & Barros, 2018; Zhou, Xie, Huang, Cox, & Zhang, 2015). 탁구를 포함한 구기종목의 공통점은 일정한 규격이 정해진 코트가 존재한다는 점인데, 대부분의 연구들이 코드 라인을 검출(detection)하여 전역좌표계를 구성한 후 이미지 프로세싱과 패턴 인식 기술을 통하여 공의 궤적을 추출하고 선수의 움직임을 추적하고 있다(Zhou et al., 2015). 배구공을 추적한 연구에서는 1대의 비디오카메라로 녹화한 2차원 영상자료를 3차원 그래픽으로 투영하는데 성공하였으며(Chen et al., 2012), 농구에서는 패닝으로 촬영한 방송용 영상자료로부터 농구공의 궤적과 슈팅 지점을 정량화하였다(Chen et al., 2009). 또한 빠른 속도로 움직이는 공을 촬영하며 나타나는 번짐(blur) 현상을 이용하여 3차원 궤적으로 재구성하는 알고리즘이 개발되어 이들 스포츠보다 움직임이 빠른 탁구공 추적도 가능할 것으로 판단된다(Caglioti & Giusti, 2009).
하지만 탁구의 경우 위에 열거한 프로 스포츠와 같이 이미지 프로세싱 기술이 적용된 사례는 아직까지 보고된 바가 없고 세계랭킹 50위 안에 속하는 선수들의 152경기를 Markov chain model을 활용하여 경기에서 승리를 위한 전략을 분석한 연구가 유일하게 보고되고 있을 뿐이다(Pfeiffer, Zhang, & Hohmann, 2010). 따라서 본 연구의 목적은 탁구 전술 수립을 위한 정보를 신속하기 획득하기 위해 이미지 프로세싱 기술을 활용하여 탁구공의 이동궤적을 추적할 수 있는 알고리즘과 소프트웨어를 개발하고 수기로 분석한 탁구공 바운스 위치의 빈도와 신뢰도를 평가하는 것이다. 이를 달성하기 위한 세부적인 연구목표는 다음과 같다.
■ 탁구대 12개 영역에서 발생하는 탁구공의 이동궤적과 바운스 위치를 자동으로 추적하는 알고리즘을 작성한다.
■ 탁구 경기영상을 투입하여 탁구대 캘리브래이션, 탁구공 자동 추적 및 통계결과를 제공하는 소프트웨어를 개발한다.
■ 자동으로 추적한 결과와 수기로 분석한 결과를 평가하여 80% 이상의 신뢰도를 얻는다(Chen et al., 2012).
비디오카메라 녹화속도는 탁구공의 궤적이 생성하는 데이터 포인트의 양을 결정한다. 초고속카메라의 경우 생성되는 데이터 포인트의 양이 지나치게 많고 탁구공을 추적하는데 동원되는 절대시간, 메모리 부하 등 컴퓨터 성능과 연계하여 고려하였을 때 일반 비디오카메라로 녹화 가능한 60 Hz로 설정하였다. 이미지로 인식되는 탁구공의 모양은 셔터스피드가 결정한다. 선행연구에 의하면 탁구공의 속도는 29.4 m/s로 보고되고 있으며(Oldham, Chung, Edirisinghe, & Halkon, 2015), 이 속도는 초당 1/200의 셔터스피드로 촬영하였다고 가정하였을 때 탁구공이 150 mm 이동할 수 있는 속도이다. 따라서 본 연구는 탁구공의 번짐 현상을 고려하여 셔터스피드를 초당 1/200 이상으로 설정하였다(Caglioti & Giusti, 2009).
비디오카메라 렌즈는 탁구대 전체와 그 주변을 촬영할 수 있는 충분한 시야를 확보해야 한다. 초점길이 24 mm를 보유한 렌즈는 탁구대로부터 약 3.5 m 거리에서 화각 90°를 제공하기 때문에 이 이상의 초점길이를 보유한 렌즈를 사용하여 영상촬영을 진행한다면 원거리 촬영도 가능하다. 또한 수집된 영상의 구면 왜곡을 최소화하기 위해서는 가능한 초점길이가 긴 렌즈를 선택하였다(Oldham et al., 2015; Weng, Cohen, & Herniou, 1992). 초점비 설정은 탁구공의 직경에 영향을 주고 채도와 대비의 차이를 감소시킬 수 있다. 따라서 충분한 심도를 유지할 수 있는 f/3.5 이상이 적합하며, 탁구대 중앙을 기준으로 수동으로 초점을 설정하였다(McHugh, 2019; Oldham et al., 2015).
비디오카메라 센서는 상의 픽셀 수와 밀접한 관련이 있지만 센서의 크기가 더 중요하다. 그 이유는 크기가 작은 센서가 부착된 비디오카메라는 좁은 화각을 갖고 있어 멀리 이동시켜야 하고 공을 식별하는 픽셀 수가 감소하기 때문이다(Oldham et al., 2015). 따라서 유비쿼터스 APS-C(22.3 × 14.9 mm)급의 센서가 적합할 것으로 판단하였고 위에 설명한 비디오카메라 특징을 고려하여 탁구공 공 추적에 적합하다고 판단되는 비디오카메라(Sony NEX-FS700, JPN)를 선정하였다.
탁구 영상촬영으로 운동역학실험실 환경에서 동호인 단식 2경기(이하 동호인 수준)와 2019 코리아오픈 국제탁구대회 남녀 단식 결승전 2경기(이하 국제 수준)를 대상으로 진행하였다. 비디오카메라는 탁구대 정측면을 기준으로 1대를 배치하여 녹화하였다. 이렇게 획득한 영상자료는 MPEG-4(ISO/IEC 14496) 형태로 저장하여 영상편집 소프트웨어(Finalcut Pro X, Apple, USA)를 활용하여 경기별, 세트별로 분류하였다.
탁구대 캘리브래이션의 목적은 이미 알고 있는 2차원 물체의 이미지 관측을 기반으로 최적의 초점거리, 주점, 비대칭계수, 방사 왜곡 및 접선 왜곡 계수 등 내부 파라미터를 추정하여 왜곡된 이미지를 왜곡되지 않은 형태로 보정하는 것이다. 이를 실현하기 위한 방법으로 방사형 및 접선 요소를 고려한 왜곡 보정 모델을 사용하였다(Svedman, 2005; Tsai, 1986; Zhang, 2000).
탁구공의 바운스 위치를 구역별로 정량화 하기 위한 탁구대의 외곽을 인식하는 방법은 <Figure 1>에 제시한 A, B, C, D, E, F 지점을 디지타이징 하는 방식으로 고안하였다. 이와 같이 얻어진 탁구대 6지점을 기반으로 AE, EB, CF, FD의 중간 지점은 다음 공식에 대입하여 H, I, K, J 지점을 알 수 있다.
L, M, N, O, P의 좌표는 AD, HK, EF, IJ, BC 거리를 대입하여 1 : 2의 비율로 계산하였고 Q, R, S, T, U의 좌표는 2 : 1의 비율을 적용하였으며, 실제 탁구대의 길이 2.74 m, 폭 1.525 m를 대입하기 위해 사용한 공식은 다음과 같다.
여기에서 x, y는 획득된 좌표, (a, b), (c, d)는 두 점의 좌표, m과 n은 비율을 의미한다. 이와 같은 방법으로 얻어진 AHML, HENM, EION, IBPO, LMRQ, MNSR, NOTS, OPUT, QRKD, RSFK, STJF, TUCJ 지점은 평행사변형의 형태로 구성되며, 각각 “LRL", “LFL", “RFR", “RRR”, “LRM”, “LFM”, “RFM”, “RRM”, “LRR”, “LFR”, “RFL”, “RRL” 구역으로 정의하였다(Lanzoni et al., 2014; Lee, 2008, 2012).
비디오카메라로 수집된 탁구경기 영상에서의 탁구공은 시간의 흐름에 따라 표출되기 때문에 양방향 뺄셈(pairwise subtraction) 연산을 활용하여 움직이는 물체를 추출하였으며, 이는 다음 두 프레임의 검출 결과를 이용하여 이전 프레임에 속한 움직이는 물체를 제거하고 ik-1, ik, ik+1의 뺄셈 프레임에 대한 and 연산을 수행하여 k에서의 움직이는 물체만이 탁구공 후보 영역으로 남을 수 있도록 하였다는 것을 의미한다(Ishii, Kitahara, Kameda, & Ohta, 2007). 또한 연산의 효율을 향상시키기 위하여 탁구대 영역에서 지름 40 mm 크기의 원형 형태 외 선수, 심판, 관중 등 추정되는 배경 영역은 제거하였다(Figure 2).
탁구공 검출의 신뢰도를 높이기 위해서는 탁구공 외 탁구대 라인, 선수 등에 대한 그릇된 인식 영역을 제거해야 한다. 이와 같은 과대 추정된 오류를 제거하기 위해 특정 필터링이 최적화된 조합과 우선순위 결정과정에 의한 결과를 반영하였다. 이 알고리즘의 구성은 선행연구에서 제시한 탁구공 후보 영역의 직경, 강도, 둘레, 편심, 영역의 크기, 컨벡스 영역, 견고함, 등가 지름, 직경의 둘레, 원 형태를 활용하였다(Oldham et al., 2015; Wong, 2009).
비디오카메라로 획득한 영상의 프레임 간격은 매우 짧은 시간을 의미하기 때문에 2 프레임 이상의 가속은 발생하지 않는 것으로 가정할 수 있다(Soler, 2017). 따라서 탁구공 후보 영역을 연속적으로 2번 이상 검출하였을 경우 다음 검출에서의 거리는 연속적으로 2번 검출한 거리의 2배 이상이 될 수 없는 것으로 가정하였다. 만약, 현재 프레임에서 탁구공이 검출되지 않았다면 보간법과 외삽법을 활용하여 예측할 수 있는데 보간법은 스플라인 함수를 활용한 방식을 사용하였고 외삽법은 한 번 이상 수행하지 않는 것으로 제한하였다. 지금까지 기술한 탁구대 캘리브래이션과 탁구공 검출을 위한 알고리즘은 파이썬(Python Ver. 3.6, Python Software Foundation, Wilmington, DE, USA)을 사용하여 작성하였으며, 파이썬과 OpenCV에서 제공하는 라이브러리를 활용하였다.
신뢰도 분석은 동호인 수준 2경기와 국제 수준 2경기를 대상으로 자동으로 추적한 탁구공의 바운스 위치의 빈도와 수기 빈도를 비교하여 검증하였다. 수기분석은 탁구 국가대표팀을 지원하는 전문가 2명이 스포츠코드(Sportscode Elite v. 10.3.28, Sportstec, New South Wales, Australia)를 활용하여 분석창과 코드를 <Figure 3>와 같이 작성하여 정량화하였다.
신뢰도를 산출하는 공식은 다음과 같으며, 이들 공식에서 Auto (f1)는 자동으로 추적한 탁구공 바운스 구역의 빈도, Manual (f2)은 수기로 추적한 탁구공 바운스 구역의 빈도이다. Difference는 f1-f2의 차이, ABS는 절대값, Over는 Difference가 양의 값을 보인 빈도, Under는 Difference가 음의 값을 보인 빈도를 의미한다.
■ Total Auto=
■ Total Manual=
■ Total Difference=
■ Total Absolute Difference=
■ Total Over Estimation= if value is positive
■ Total Under Estimation= if value is negative
■ Error=Total Over Estimation+Total Under Estimation
■ Total Error(%)=Error/Total Manual
■ Over Estimation Error(%)=Total Over Estimation/Error×100
■ Under Estimation Error(%)=Total Under Estimation/Error×100
■ Reliability=100–Total Error
본 연구를 개발한 탁구공 자동추적 알고리즘을 반영하는 소프트웨어는 로그인, 분석대상 영상 불러오기, 경기정보 입력, 캘리브래이션, 탁구공 자동추적, 분석결과 및 저장 단계로 구성하였으며, 이 중 대표적으로 캘리브래이션 GUI(Graphical User Interface)를 <Figure 4>에 제시하였다. 개발한 소프트웨어를 사용하여 동호인 수준 2경기, 국제 수준 2경기의 탁구공 이동궤적을 자동으로 추적한 후 바운스 위치에 대한 빈도를 신뢰도 분석에 사용하였다.
자동으로 추적한 탁구공 바운스 위치의 빈도를 수기와 비교하여 신뢰도 분석한 결과는 <Table 1>에 제시하였다. 동호인 수준 2경기 4세트의 평균 신뢰도는 85.1±3.69%, 합계 오류 14.9±3.69%로 나타났고 오류는 과대추정 오류 52.2±9.78%, 과소추정 오류 47.8±9.78%로 유사한 결과를 보였다. 국제 수준 2경기의 5세트의 평균 신뢰도는 71.8±0.87%, 합계 오류 28.2±0.87%로 동호인 수준 경기보다 다소 낮은 신뢰도를 보였고 오류는 과대추정 오류 82.0±8.03%, 과소추정 오류 19.2±7.75%로 과대추정 오류가 높았다.
Variables | Set1 | Set2 | Set3 | Set4 | Set5 | M | SD | |
---|---|---|---|---|---|---|---|---|
Ama | REL | 84.9 | 91.1 | 82.1 | 82.1 | - | 85.1 | 3.69 |
OEE | 50.0 | 68.8 | 45.0 | 45.0 | - | 52.2 | 9.78 | |
UEE | 50.0 | 31.3 | 55.0 | 55.0 | - | 47.8 | 9.78 | |
TE | 15.1 | 8.9 | 17.9 | 17.9 | - | 14.9 | 3.69 | |
Elite | REL | 70.5 | 73.2 | 71.8 | 71.8 | 71.6 | 71.8 | 0.87 |
OEE | 92.9 | 72.5 | 87.8 | 74.8 | 87.8 | 82.0 | 8.03 | |
UEE | 19.6 | 27.5 | 7.5 | 22.0 | 9.0 | 19.2 | 7.75 | |
TE | 29.5 | 26.8 | 28.2 | 28.2 | 28.4 | 28.2 | 0.87 |
지금까지 탁구 전술분석은 경기영상을 촬영 후 반복하여 직접 입력하거나 기록지를 작성하는 방법을 사용하여 많은 시간과 노력이 요구되었다. 이에 본 연구에서는 이미지 프로세싱 기술을 도입하여 탁구공을 추적하고 바운스 위치에 대한 통계적인 결과를 제시할 수 있는 알고리즘과 소프트웨어를 개발하기 위해 수행하였다.
탁구대를 자동으로 검출하고 이 결과를 캘리브래이션에 반영하기 위하여 HSV(Hue, Saturation & Value)와 RGB(Red, Green & Blue)를 이용한 마스크 기능을 사용하였다(Yu, Jiang, Cheong, Leong, & Yan, 2009). 이는 경기영상 중앙에 위치한 탁구대 일부 영역을 히스토그램 분석하여 가장 우세한 HSV와 RGB 속성을 얻고 이와 유사한 영역으로 확대하여 케니 에지 감지(Canny edge detection)에 의하여 탁구대 외곽을 인식하는 방식이다(Nguyen & Ziou, 2000; Pellegrino, Vanzella, & Torre, 2004). 하지만 이 방식은 선수의 유니폼 색상과 신체에 의하여 가려질 경우 탁구공을 추적하는데 민감하게 반응하여 <Figure 1>에 제시한 6지점을 수동으로 디지타이징 하는 방식으로 고안하였다.
탁구공 후보 영역을 검출을 위한 알고리즘은 3개의 연속 비디오 형태(ik-1, ik, ik+1)로 재생하고 이들 프레임 간 차이를 계산한 HSV 차이에 탁구공의 HSV 값 [70, 0, 200]을 할당하여 이 값에 가장 유사한 물체를 각 프레임별 탁구공으로 인식하게 하였다(Ishii et al., 2007). 초기 연산속도를 향상시키기 위해 한방향 뺄셈(single subtraction)을 시도하였으나 저해상도 비디오에서는 유용하였지만 고해상도의 비디오에서는 탁구공을 제대로 검출하지 못한다는 한계를 보였다(Lampert & Peters, 2012). 또한, 저해상의 비디오를 사용할 경우 다른 형태의 왜곡과 노이즈로 인한 문제점이 야기되어 연산속도가 증가하더라도 양방향 뺄셈 알고리즘을 적용하였다(Ishii et al., 2007). 이렇게 검출한 탁구공 후보 영역은 과대하게 적합한 것으로 판정되는 경우가 많았는데 여러 조건문을 통하여 탁구공을 검출할 수 있었다. 먼저 탁구공 지름인 40 mm를 반영하여 경기영상 기준으로 4-16 픽셀(pixel)로 원형으로 가정할 수 있는 탁구공 후보 영역의 직경, 강도, 둘레, 편심, 영역의 크기, 컨벡스 영역, 견고함, 등가 지름, 직경의 둘레, 원 형태를 활용하여 물체 외 선수, 심판, 관중 등 추정되는 배경 영역은 제거하였다(Oldham et al., 2015; Wong, 2009). 또한, 연속으로 검출된 탁구공 후보 영역 간 유클리드 거리(Euclidean distance)를 계산하여 연속적인 탁구공 후보 영역이 검출되는 경우 2배 이상의 거리가 검출된 원형 물체는 노이즈로 인식함으로써 과대추정 오류를 줄이고 최종적으로 탁구공을 검출할 수 있었다(Soler, 2017). 만약, 현재 프레임에서 탁구공이 검출되지 않았을 경우에 대비하여 보간법과 외삽법에 의한 탁구공 이동궤적을 추정할 수 있도록 위치좌표 행렬 양쪽에서 출입이 자유로운 데큐(deque) 형태로 데이터를 추가할 수 있도록 알고리즘을 고안하였다(Figure 5).
본 연구에서 개발한 알고리즘과 소프트웨어에 의하여 자동으로 추적한 탁구공 바운스 위치 빈도와 수기를 비교하여 신뢰도 분석한 결과 동호인 수준 2경기의 평균 신뢰도는 85.1±3.69%, 국제 수준 2경기의 평균 신뢰도는 71.8±0.87%를 보였다. 이는 탁구공의 이동속도와 경기장 조명, 주변의 물체 등 환경이 검출의 정확도에 영향을 주는 것으로 보인다(Kim, Han, Lee, Kim, & Kim, 2017). 신뢰도 분석 결과가 대체적으로 과대추정 오류가 높은 결과를 보였기 때문에 추후 연구에서 고사양의 비디오카메라를 활용하고 다양한 환경의 경기영상을 통하여 알고리즘을 보완한다면 90% 이상의 신뢰도를 달성할 수 있을 것으로 기대한다.
본 연구는 이미지 프로세싱 기술을 활용하여 탁구공의 이동궤적을 자동으로 추적할 수 있는 알고리즘과 소프트웨어를 개발하고 그 신뢰도를 평가하기 위해 수행하였다. 컴퓨터 비전 분야에서 사용하고 있는 알고리즘을 실제 탁구 경기영상에 적용하고 보완하여 개발한 소프트웨어의 신뢰도 분석을 통해 얻은 결론은 다음과 같다.
첫째, 컴퓨터 비전 분야에서 사용하고 있는 알고리즘을 국제 수준의 경기에 적용하는데 한계가 있었다. 따라서 본 연구에서는 탁구대 디지타이징 방식 도입, 탁구공 후보 영역 인식률 저하에 따른 알고리즘 추가, 탁구공 검출 알고리즘에 둘레와 원형 속성 강화, 검출 범위 축소 및 탁구공 이동궤적을 구성하는 조건문 보완 등 최적화 작업을 수행하였다.
둘째, 본 연구에서 개발한 소프트웨어는 세트별로 편집된 경기영상을 불러와 탁구대 캘리브래이션 후 실행하면 자동으로 탁구공을 추적하여 분석한 결과를 그림 파일과 CSV 포맷으로 저장할 수 있다.
셋째, 자동과 수기로 추적한 탁구공 바운스 위치 빈도를 비교하여 신뢰도 분석한 결과 동호인 수준 2경기의 평균 신뢰도는 85.1±3.69%, 국제 수준 2경기의 평균 신뢰도는 71.8±0.87%로 동호인 수준 경기의 신뢰도만 본 연구에서 설정한 목표를 달성하였다.
본 연구를 수행하여 얻은 결론과 한계점을 바탕으로 추후 연구를 위한 제언은 다음과 같다.
첫째, 국제 수준 2경기를 대상으로 탁구공 자동 추적을 고려할 경우 고성능의 비디오카메라를 도입해야 할 것이다. 본 연구에서 경기영상 녹화에 사용한 비디오카메라는 HD급으로 해상도와 녹화 속도가 높은 UHD급 비디오카메라를 활용할 경우 탁구공 검출의 정확도를 향상시킬 것으로 예상한다.
둘째, 본 연구에서 개발한 알고리즘과 소프트웨어의 목표 신뢰도는 80%로 동호에서만 달성하였지만 국제 수준 경기의 경우 대체적으로 과대추정 오류가 높아 추후 다양한 환경의 경기영상을 적용하여 개선할 수 있는 가능성을 보였다.
McHugh, S. (2019). Depth of field calculator. Cambridge in Colour. Retrieved from https://www.cambridgeincolour.com/tutorials/dof-calculator.htm.