I. Introduction
스포츠 분야에서는 과거 경기 영상을 분석하여 상대방의 장단점을 파악하여 경기력 향상을 위한 전략을 수립하고 있다. 특히 야구 종목은 다른 스포츠에 비해 다양한 종류의 기록과 영상이 발생하고 있다. 따라서 야구 경기 영상에서 선수, 기록, 이벤트 등과 같은 특정 기준에 따라 효과적으로 영상을 분류하고 검색하기 위한 기법이 필요하다. 하지만 대용량의 경기 영상을 수동적으로 분류하기에는 한계가 있다. 또한, 지능적인 영상 검색 기법이 지원되지 않으면 특정 장면을 효과적으로 검색하기 어렵다.
2002년 월드컵에서 한국축구팀은 영상분석 전문가를 채용하여 체계적으로 경기 영상을 분석하여 4강 신화를 이루었다[1]. 미국프로야구에서는 스탯캐스트(Statcast)와 같은 영상분석 기술을 야구에 접목하여 선수들의 움직임과 투구 등을 분석하여 경기력 향상을 위해 활용하고 있다 [2]. 최근에는 특정 장면을 효과적으로 검색하기 위하여 딥러닝(Deep Learning) 기법과 소셜 미디어의 스트리밍 데이터를 이용한 연구가 활발하게 진행되고 있다[3-10].
권명규 등은 CNN(Convolution Neural Network)을이용하여 영상 내에서 주인공을 인식하여 특정 영상을 검색하는 기법을 제안하였다[3]. 하지만 이 기법은 얼굴인식을 기반으로 구성되어 특정 동작이나 이벤트 검색이 어렵다. Jenny Feng은 소셜 미디어에서 스트리밍 데이터와 작성 시간을 분석하여 경기 중계 영상과 연계하여 검색하는 기법을 제안하였다[4]. 하지만 이 기법은 독립적으로 관리되는 영상이나 소셜 네트워크 데이터가 없는 경우에는 적용하기 어려운 문제점이 있다.
본 연구에서는 CNN 모델을 이용하여 야구 경기 영상에서 투구나 스윙과 같은 특정 동작을 학습하여 효과적으로 분류하는 방법을 제안하였다. 그리고 경기 영상 내에 포함된 스코어보드에서 추출한 경기 정보와 경기 기록을 연계하여 특정 장면을 효과적으로 검색하는 시스템을 제안하였다. 제안 시스템의 효율성을 검증하기 위하여 한국프로야구 경기 영상을 대상으로 영상을 학습하여 분류하는 실험을 진행하였다. 경기 영상에서 투구 장면을 검색하여 분류하는 실험에서는 경기 당 약 90%의 정확도를 보였다. 그리고 스코어보드에서 추출한 경기 정보와 경기 기록을 연계하는 검색 실험은 경기 당 약 80%의 정확도를 보였다. 본 기법은 야구 경기에서 경기력 향상을 위한 전략 수립을 위하여 효과적으로 사용할 수 있으리라 기대한다.
II. Preliminaries
1. Related works
1.1 Study on existing video scene classification
스포츠 경기 영상에서 특정 장면을 검색하기 위한 기존의 연구는 시청자들이 기록한 SNS나 채팅과 같은 텍스트 정보를 분석하여 검색하는 기법이 대부분이다[3-10]. 이러한 기법은 주로 소셜 미디어나 채팅 기록에서 경기 장면과 연관된 키워드를 추출하고, 특정 키워드에 대한 발생 빈도수가 높은 시간대를 연계하는 방식으로 구성된다. 하지만 이러한 기법에서는 키워드로 정확하게 표현하기 애매한 동작에 대한 영상을 검색하기 어렵다. 또한, 스포츠 경기의 특성상 빠르게 진행되는 경기동작이 출현한 정확한 시간을 추출하기 어려운 문제점이 있다.
1.2 Convolution Neural Network(CNN) and Inception-V3 Model
CNN 모델은 1989년 얀 리쿤 교수가 사람의 시신경 모델을 기반으로 필기체 인식을 위하여 제안한 딥러닝 모델로, 이미지 필터링 기법을 인공신경망에 적용하여 이미지 분류에 장점을 보이는 모델이다[11-15]. CNN 모델에서는 3차원 데이터를 입력받아 공간정보를 유지하면서 이미지의 특징을 추출하여 학습을 진행하고, 추출한 특징을 학습하여 이미지를 분류하는 모델이다. CNN 모델은 컨볼루션 레이어와풀링 레이어(Pooling Layer)의 반복된 구조로 구성된다.
먼저, 컨볼루션 레이어는 분류 대상 이미지의 채널로 생성된 3차원 행렬과 필터를 이용하여 특징을 추출하는 단계이다. 여기서 필터는 이미지의 특징 추출과 연산량을 감소시키기 위한 목적으로 사용된다. 컨볼루션 레이어에서는 필터를 이용하여 이미지를 탐색하면서 특징을 추출하고, 추출된 특징을 피처 맵으로 생성한다. 피처 맵은 전체 이미지를 탐색하면서 필터와 합성 곱으로 연산한 값이며, 필터의 크기와 같다. 이러한 컨볼루션 레이어는 필터를 이용하여 필터 범위 내의 여러 픽셀들과 연산을 통해 주변 픽셀과의 연관 관계를 고려한 특징을 추출할 수 있는 장점을 가진다. 하지만 필터의 크기가 클수록 연산 속도가 느려지고 정확한 특징을 추출하기 어려운 관계로 적절한 크기의 필터가 필요하다[12]. 여기서 초기 이미지가 너무 작을 경우에는 학습 데이터가 부족하여, 이미지 외곽 특징이 훼손될 수 있다. 이를 방지하기 위해 3차원 행렬 가장자리에 0 을 추가하는 패딩(Padding) 기법을 사용한다.
풀링 레이어는 컨볼루션 레이어의 처리 결과를 입력받아 데이터의 공간적 특성은 그대로 유지하면서 이미지의 특징을 추출하고 이를 통해 이미지의 크기를 줄여주는 역할을 한다. 풀링 레이어는 연속적인 컨볼루션 레이어 사이에 주기적으로 배치된다. 이러한 풀링 레이어에서는 풀 링 레이어는 범위 내의 픽셀 중에서 대표값을 추출하는 방식으로 특징을 추출한다. 풀링 레이어는 학습할 파라미터가 없고, 입력값 변화에 영향을 적게 받는다. 또한 데이터의 상대적인 특성을 구성하여 학습된 데이터에만 높은 성능을 보이는 과적합 현상을 줄일 수 있다. 풀링 레이어에서 대표 값 추출 방법은 최댓값 풀링(Max Pooling), 평균값풀링(Average Pooling), 최솟값 풀링(Min Pooling) 기법이 있다. 본 연구에서는 구글의 Google Inception-V3 모델을 사용하였다. 그림 1은 본 연구에서 사용된 Inception-V3 모델의 개념도이다[16].
Fig. 1. Inception-V3 model
III. The Proposed Scheme
1. Overview
본 연구에서 제안한 CNN 모델을 이용한 스포츠 영상분류 및 검색시스템은 크게 영상 분할, 동작 분류, 경기 정보추출, 경기 기록 맵핑 및 저장 단계로 구성된다. 그림 2는 본 연구에서 제안한 스포츠 영상 분류 및 검색시스템의 전체적인 개념도이다.
Fig. 2. Sports video scene classification and video retrieval system based on CNN model
먼저, 영상 분할 단계는 스포츠 영상 내에 출현한 특정 동작을 학습하는 데 필요한 이미지를 스포츠 영상으로부터 분할하는 과정이다. 동작 분류 단계는 분할된 영상을 학습하여 특정 동작 별로 분류하기 위한 과정이다. 경기 정보 추출 단계는 특정 동작 영상에서 스코어보드 영역을 구분하여, 해당 영역에서 다양한 형태의 숫자와 도형을 학습하여 경기 정보를 추출하는 과정이다. 경기 기록 맵핑 및 저장 단계는 경기 기록을 기반으로 특정 동작을 검색하기 위해 추출된 경기 정보와 경기 기록을 연계한 결과를 데이터베이스에 저장하는 과정이다.
2. Data collection
본 연구에서 스포츠 영상에서 특정 동작을 분류하기 위해 사용한 데이터는 2018년부터 2019년까지 진행된 한국프로야구의 경기 영상이다. 야구는 대부분의 경기 데이터가 투수의 투구를 중심으로 발생하는 종목이다. 투수의 투구 동작은 평균 2초 정도로 이루어지지만, 주자가 있으면 평균 1초 내외로 진행된다. 본 연구에서는 한국프로야구의 경기 영상에서 투구 동작을 0.7초 단위로 나누어 특정 동작을 학습하기 위한 이미지 데이터로 구성하였다. 하나의 야구 경기 영상을 이미지로 분할할 경우에 경기마다 평균 14, 000~16, 000장의 이미지가 생성된다. 이 중에서 투구동작을 학습하기 위하여 경기별로 400~600장의 투구 동작 이미지를 분류하여 사용하였다. 실험에서는 약 1, 000경기에서 400,000여 장의 투구 동작 이미지를 분류하여 학습 과정에 사용하였다.
3. Motion classification stage
동작 분류 단계는 스포츠 경기 영상 내에서 다양한 동작을 검색하여 특정 동작 별로 분류하기 위한 과정이다. 본연구에서는 Google Inception-V3 모델을 이용하여 특정 동작을 분류하기 위한 초기 학습 모델을 구성하였다. 스포츠 영상에서 특정 동작은 학습 모델에 저장된 동작 이미지와 신규 이미지를 비교하여 특정 동작이 포함되어 있을 확률에 따라 분류하였다. 특정 동작이 포함된 확률이 85% 이상일 경우에는 일치, 그 이하는 불일치 이미지로 분류하였다. 초기 학습 과정에서 약 5, 000건의 투구 동작 이미지를 초기 동작으로 학습하여 테스트한 결과 약 50% 정도가 정확하게 분류되었다. 분류의 정확성을 개선하기 위하여 새로운 투구 동작 이미지 35, 000장을 추가로 학습하였다.
4. Game information extraction stage
경기 정보 추출 단계는 특정 동작으로 분류된 이미지로부터 스코어보드 영역을 구분하여 다양한 형태의 경기 정보를 추출하는 과정이다. 방송사에서 제공하는 스코어보드는 스트라이크, 볼, 아웃, 이닝, 주자 정보 등과 같은 다양한 경기 정보가 숫자 또는 도형으로 표시된다. 본 단계에서는 OpenCV의 이미지 컨투어(Image Contours)와 파인딩컨투어(Finding Contours)를 이용하여 스코어보드 영역에 표시되는 경기 정보와 관련된 다양한 도형을 추출하였다.
먼저, 볼과 스트라이크가 숫자로 표시되는 스코어보드에서는 숫자 이미지를 먼저 추출하고 Google Inception-V3 모델을 이용하여 초기 학습 모델을 생성하였다. 그리고 숫자를 분류하기 위한 학습 모델과 신규 이미지를 비교하여 1부터 12까지 포함되어 있을 확률에 따라 이미지를 분류하였다. 그리고 숫자로 표현되지 않는 스코어보드에서는 대부분 아웃 카운트, 볼 카운트, 스트라이크 카운트가 원형으로 표현된다. 이러한 형태는 OpenCV 의 이미지 컨투어와 파인딩 컨투어를 이용하여 이미지 색과 패턴을 변환하였다. 그리고 변환된 이미지 도형의 개수나 모양을 분석하여 해당 투구 이미지에 대한 경기 정보를 추출하였다. 표 1은 다양한 도형으로 구성된 스코어보드에서 여러 종류의 경기 정보를 추출한 결과이다.
Table 1. Results of extracted game information in a scoreboard composed by various shapes
5. Game record mapping stage
경기 기록 맵핑 단계는 추출된 경기 정보와 경기 기록을 연계한 결과를 데이터베이스에 저장하는 과정이다. 이 단계에서 특정 동작으로 분류된 이미지 내에 포함된 이닝, 아웃 카운트, 볼 카운트 등과 같은 경기 정보와 수집된 경기 기록과 맵핑한다. 맵핑 결과는 이미지 내에 포함된 경기 시간을 조회하여 데이터베이스에 저장한다. 저장된 결과로부터 선수명, 경기 결과 등과 같은 키워드를 사용하여 특정 영상을 검색하여 효과적으로 재생할 수 있다.
IV. Experimental Results
1. Experimental environment
본 연구의 하드웨어 및 소프트웨어 실험 환경은 CPU Intel i5, GPU geforce 1080Ti 환경에서 google Inception-V3 모델을 사용하였다. 실험 데이터는 2018년도 한국프로야구의 방송영상을 FFMPEG을 이용하여 이미지로 분할하여 생성하였다. 분할된 이미지에서 추출한 투구 동작 약 4, 000장을 기초 데이터로 사용하였고, 정확성 향상을 위해 약 40, 000장의 투구 이미지를 재학습하였다. 투구 이미지에서 경기 정보를 추출하기 위해 Python Open CV를 이용하였다. 추출된 경기 정보와 경기 정보를 맵핑하는 기능은 JAVA를 이용하여 개발하였다.
2. Results of specific motion classification
한국프로야구 경기 영상에서 투구 동작을 분류한 결과 약 90.5%가 정확하게 분류되었다. 정확하게 분류되지 않은 9.5%는 투수 보크나 타임 요청과 같이 비정상적인 투구 동작이 대부분이다. 그리고 학습 과정에 포함되지 않은 좌완 사이드암 투수의 투구 동작이 정상적으로 분류되지 않았다. 그림 3은 동작 분류 단계에서 정상적인 투구 동작으로 분류된 결과의 예이다. 그림 4는 투구 동작으로 분류되지 않은 결과의 예이다.
Fig. 3. Example of images classified as pitching motion
Fig. 4. Example of images not classified as pitching motion
본 연구에서 제안한 동작 분류 기법의 정확도는 방송사별로 86.3%에서 93.1%로 차이를 보였다. 그 이유는 방송사별로 투구 동작에 대한 촬영 각도가 다르고 광고나 하이라이트 등으로 인해 투구 동작을 놓치는 경우가 발생했기 때문이다. 표 2는 동작 분류 기법을 이용하여 방송사별로 제공되는 투구 동작을 분류한 실험 결과를 비교한 표이다.
Table 2. Comparison of accuracy of classification of pitching motions in various broadcasters
3. Game information extraction results
본 연구에서 제안한 경기 정보 추출 기법에 따라 경기 정보를 추출한 결과 약 88.2%의 정확도를 보였다. 방송사에서는 볼, 아웃, 이닝, 주자 등과 같은 현재 경기 상황에 대한 정보를 숫자나 도형 이미지로 스코어보드에 출력한다. 본 연구에서 제안한 경기 정보 추출 기법은 스코어보드에 표시된 숫자나 도형 이미지를 추출하여 분석하였다. 그림 5는 숫자와 도형으로 이루어진 스코어보드의 예이다.
Fig. 5. Examples of scoreboard
그림 6은 도형으로 구성된 스코어보드에서 경기 정보가 정상적으로 추출된 경우의 예이다. 그리고 그림 7은 스코어보드에서 경기 정보가 정상적으로 추출되지 않은 경우의 예이다.
Fig. 6. Examples of extracted game information correctly
Fig. 7. Examples of incorrectly extracted game information
본 연구에서는 방송사에서 제공되는 다양한 형태의 스코어보드로부터 이미지를 추출하여 경기 정보를 자동으로 분석하는 방법을 제시하였다. 먼저, 스코어보드에 표시된 도형 이미지에 대한 영역 경계를 추출한다. 그리고 도형의 개수를 분석하여 현재의 경기 상황을 자동적으로 판단한다. 예를 들어, 그림 6의 첫 번째 상단 이미지에서는 노란색 공 모양이 2개로 표시되어있다. 실험에서 하단 이미지처럼 해당 도형에 대한 영역 경계를 구성하고, 도형의 개수는 2개로 인식하였다. 분석 결과 현재의 경기 상황은 2 스트라이크로 판단한다. 하지만 그림 7의 첫 번째 상단 이미지에서는 연두색 공 모양이 2개이지만 영역 경계를 새롭게 구성한 하단 이미지에서는 영역 경계가 명확하게 표현되지 않았다. 따라서 이 경우에는 도형이 1개만 있는 것으로 인식되어 2볼 상황인 현재 경기 정보와 일치하지 않는 부정확한 결과가 발생하였다.
스코어보드가 숫자로 구성된 A, B 방송사의 경우에는 경기 정보 추출 정확도가 평균 91.5%로 상당히 높았다. 방송사별로 경기 정보 추출 정확도는 81.4%에서 92.6% 정도로 다소 큰 편차를 보였다. 방송사별로 정확도가 차이가 나는 이유는 이미지를 처리하는 알고리즘의 차이보다는 방송사별로 숫자의 크기나 도형의 밀집도 그리고 송출 화면상의 해상도 차이 때문이라 생각한다. 그리고 스코어보드가 도형으로 구성된 C, D, E 방송사의 경우에서는 정확도가 평균 86.0%로 측정되었다. 이 중에서 E 방송사의 정확도는 71.4%로 측정되어 전체적인 평균값이 낮아졌다. 그 이유는 C, D 방송사의 스코어보드는 도형 사이에 충분한 간격이 존재하고, 바탕이 검은색으로 구성되어 도형 인식이 정확하였다. 하지만 E 방송사는 도형 사이의 간격이 거의 없고, 흰색 바탕으로 구성되어 영역 경계가 불분명한 경우가 다수 발생하였다. 표 3은 방송사별로 경기 정보 추출의 정확도를 비교한 결과이다.
Table 3. Comparison of accuracy of game information extracted in various broadcasters
스코어보드가 도형으로 구성된 방송사보다 숫자로 구성된 방송사에서 경기 정보 추출의 정확도가 상당히 높았다. 그 이유는 숫자가 도형에 비해 영역 경계가 명확하게 표현되어 이미지 처리 과정에서 영역 경계를 보다 정확하게 추출할 수 있었기 때문이다. 실험 결과, 스코어보드가 숫자로 구성된 방송사의 정확도가 91.5%로 도형으로 구성된 방송사의 86%보다 상대적으로 경기 정보를 정확하게 추출할 수 있었다. 그리고 비슷한 숫자나 도형 이미지를 사용하는 스코어보드에서도 방송사별로 차이가 나는 이유는 숫자나 도형을 구성하는 밀집도와 배경색의 차이 그리고 방송사별 해상도의 차이로 인해 발생한다고 생각한다.
V. Conclusions
본 연구에서는 CNN 모델을 이용하여 야구 경기 영상으로부터 특정 동작을 추출하여 자동으로 분류하는 방법을 개발하였다. 그리고 영상에서 추출한 경기 정보와 경기 기록을 연계하여 특정 장면을 효과적으로 검색하는 시스템을 개발하였다. 제안 시스템의 효율성을 검증하기 위하여 2018년부터 2019년까지 진행된 한국프로야구의 약 1,000 건의 경기 영상에서 40,000장의 투구 동작 이미지를 학습하여 분류하는 실험을 진행하였다.
야구 경기 영상에서 투구 동작을 검색하여 분류하는 실험에서는 경기 당 약 90.5%의 정확도를 보였다. 정확하게 분류되지 않은 경우는 대부분 투수 보크나 타임 요청과 같이 비정상적인 투구 동작으로 인해 발생하였다. 특정 동작을 분류하는 실험에서는 방송사별로 86.3%에서 93.1%로 정확도의 차이를 보였다. 이렇게 방송사별로 정확도가 차이가 나는 이유는 방송사별로 투구 동작에 대한 촬영 각도, 광고, 하이라이트 방영 등으로 인해 투구 동작이 누락되었기 때문이다.
경기 정보를 추출하는 실험에서는 약 88.2%의 정확도를 보였다. 부정확한 결과는 스코어보드에서 영역의 경계가 불분명한 경우로 인해 대부분 발생하였다. 경기 정보추출의 정확도는 방송사별로 제공된 영상의 품질이 차이로 인해 81.4%에서 92.6% 정도의 편차를 보였다.
본 연구에서 개발한 영상 분류 기법과 영상 검색시스템은 대량의 경기 영상에서 발생한 특정 동작을 선수 명이나 이벤트와 같은 키워드에 의해 효과적으로 검색할 수 있다. 특히 야구 경기는 다른 스포츠에 비해 다양한 종류의 기록과 영상이 발생하는 종목이다. 본 시스템은 대량의 경기 영상으로부터 선수, 기록, 이벤트 등과 같은 특정 기준에 따라 과거 영상을 신속하게 검색할 수 있다. 앞으로 본 시스템은 야구와 같이 다양한 경기 기록과 경기 영상을 활용하여 경기력 향상을 위한 전략 수립에 활용하는 스포츠 종목에 유용하게 활용할 수 있으리라 기대한다.
ACKNOWLEDGEMENT
This research is financially supported by Changwon National University in 2019~2020.
References
- Jong-cheol Park, Ju-ho Song, Young-sook Kim, Eon-ho Kim, Hyung-jun Choi, "Development of sports video analysis center operation manual and research on activation plan," Korea Institute of Sports Science, 2016. 5.
- Tae-woo Kim, "[Pro Sports and Big Data] How did big data change baseball from moneyball to statcasts," OSEN, 2018.
- Myung Kyu Kwon, Hyeong Sik Yang, "A scene search method based on principal character identification using convolutional neural network," Journal of Convergence for Information Technology, Vol. 7, No. 2, 2017. 4. DOI: 10.22156/CS4SMB.2017.7.2.031
- Jenny Feng, "Real-Time event summarization of sports event through twitter streams," A Master's paper for the M.S. in I.S. degree, 2018. 4. DOI: 10.17615/5vtz-z323
- Yunu Kim, Jundoo Choi, Nayoung Jin, Kyue Teak Oh, Jinyoung Han, Eunil Park, Minsam Ko, "SeeStar: Extracting Highlight Videos of Sports Players by Analyzing Chatting Data," The HCI Society of Korea, pp. 99-103, 2019. 2.
- Hyun Gon Kang, Jang Sik Park, Jong Kwan Song, Byung Woo Yoon, "CCTV Based Gender Classification Using a Convolutional Neural Networks," Journal of Korea Multimedia Society, Vol. 19, No. 12, 2016. 12. DOI: 10.9717/kmms.2016.19.12.1943
- Abderrahmane ADOUI EL OUADRHIRI, El Mehdi SAOUDI, Said JAI ANDALOUSSI, Ouail OUCHETTO, Abderrahim SEKKAKI, "Content Based Video Retrieval Based on Bounded Coordinate of Motion Histogram," 2017 4th International Conference on Control, Decision and Information Technologies (CoDIT), pp. 573-578, 2017. 4. DOI: 10.1109/CoDIT.2017.8102655
- Probst, L., Kabary, I.A., Lobo, R., Rauschenbach, F., Schuldt, H., Seidenschwarz, P., Rumo, M. "SportSense: User Interface for Sketch-Based Spatio-Temporal Team Sports Video Scene Retrieval," IUI Workshops, 2018. 3.
- Zhihan Lv, "Real-Time Analysis of Basketball Sports Data Based onDeep Learning", 2021. 5
- Chakradhar Guntuboina, Aditya Porwal, Preet Jain, Hansa Shingrakhia, "Deep Learning Based Automated Sports Video Summarizationusing YOLO", 2021. 5
- C. Szegedy, W. Liu, Y. Jia, P. Sermanet, S. Reed, D. Anguelov, D. Erhan, V. Vanhoucke, A. Rabinovich, "Going deeper with convolutions," in Proceeding of the Computer Vision and Pattern Recognition (CVPR), pp. 1-9, 2015. 6. DOI: 10.1109/CVPR.2015.7298594
- K. Simonyan, A. Zisserman, "Very Deep Convolutional Networks for large-scale image recognition," International Conference on Learning Representations (ICLR) 2015, Sep 2014. CoRR, abs / 1409.1556
- Y. LeCun, B. Boser, J. S. Denker, D. Henderson, R. E. Howard, W. Hubbard, L. D. Jackel, "Backpropagation Applied to Handwritten Zip Code Recognition," Neural Computation, Vol 1, NO. 4, pp. 541 - 551, 1989. 12. DOI: 10.1162/neco.1989.1.4.541
- Mathworks Korea, "What is Convolutional Neural Network," http://blog.naver.com/PostView.nhn?blogId=matlablove&logNo=221611175120&parentCategoryNo=29&categoryNo=&viewDate=&isShowPopuilarPosts=false&from=postView, 2019. 8.
- Dong ju Lee, Gun woo Kim, Keun ho Choi, "CNN-based Recommendation Model for Classifying HS Code", 2020. 9
- Google Cloud, "Advanced Guide to Inception v3 on Cloud TPU," https://cloud.google.com/tpu/docs/inception-v3-advanced