[카카오AI리포트] 신동윤
2003년 6월 2일, 애리조나 다이아몬드백스(Arizona Diamondbacks) 소속의 투수 커트 실링(Curt Schilling)은 메이저리그 베이스볼 커미셔너(Major League Baseball Commissioner) 사무국으로부터 벌금 1500달러를 선고 받았다. 5월 24일 샌디에이고(San Diego)와의 경기에서 홈구장에 설치된 카메라 한 대를 부숴버렸기 때문이다. 카메라는 퀘스텍(QuesTec) 시스템의 일부로 사무국이 심판의 스트라이크 판정을 평가하기 위해 도입한 최신 장비였다. 실링은 해당 경기의 주심으로부터 "기계의 측정치에 맞춰 스트라이크존(strike zone)을 바꾸고 있다"는 말을 들은 뒤 화를 참지 못했던 것이다.
당시 메이저리그에서는 존(zone) 판정에 대한 불만이 고조되고 있었다. 높은 공은 판정이 지나치게 박하고, 바깥쪽으로 먼 공은 스트라이크 판정이 잦았기 때문이다. 이에 사무국은 심판 판정의 정확도를 평가하겠다는 계획 하에 카메라로 공의 궤적을 촬영해 홈플레이트(home plate) 통과 위치를 분석하는 장비를 도입했다. 그러나 이것은 격렬한 논란을 촉발시켰다.
‘야구가 순수성을 잃었다’는 개탄이 일었고, 심판 노조의 반발도 거셌다. 일부 투수들은 퀘스텍 시스템 때문에 심판 판정이 너무 박해졌다고 불평했다. 김병현의 동료이자 앞 시즌에서 23승을 거뒀던 실링의 ‘난폭한’ 의사 표현도 그 연장선상이었던 것이다.
반대로 ‘기계가 스트라이크 판정을 해야 한다’는 주장도 있었다. 하지만 당시의 기술로는 불가능했다. 측정의 정확도에 대해 논하기 전에, ‘실시간 처리’조차 불가능했던 것이다. 경기가 끝난 뒤에야 데이터를 처리하여 통계자료를 만들 수 있었던 것이다.
2007년에는 PITCH f/x(투구추적시스템)가 도입됐다. 스포츠 방송용 FX 솔루션을 만들던 스포츠 비전(Sports Vision)이 스트라이크존에서의 볼의 궤적을 정확하게 분석해내기 위한 목적으로 개발했던 시스템이다. 3대의 고해상도 광학카메라로 공의 움직임을 촬영해서 3차원 좌표를 계산한다. 스트라이크존의 통과 위치뿐 아니라 릴리즈 포인트(release point), 피치 무브먼트(pitch movement) 정보까지 실시간으로 수집할 수 있다.
2015년 메이저리그 공식 플랫폼으로 채택된 스탯캐스트(StatCast)에는 더 발전된 기술이 사용된다. 투수가 던진 150km/h의 속구는 홈플레이트까지 0.405초 만에 도달하는데 광학카메라 기반 추적 시스템은 30FPS일 때 12컷, 60FPS일 때 24컷의 이미지로 투구 궤적 전체를 유추한다. 반면 도플러레이더(Doppler radar) 기반의 스탯캐스트는 초당 2만 개의 데이터를 수집한다.
스트라이크존 통과 위치를 실시간으로 측정하는 것은 충분히 가능해졌다. 사용하는 기술에 따라 다소 차이가 있지만 0.2초를 넘기지 않는다. 원한다면 공이 타자에게 도착하기 전에 알아낼 수도 있다. 투수의 손끝을 떠난 공이 0.1초쯤 비행을 하면 추적레이더는 공의 속도와 회전을 읽어낸다. 통제할 수 없는 변수는 갑자기 부는 바람인데, 야구공의 질량과 크기를 고려해본다면 그 영향은 미미하다. 기압, 습도, 온도, 질량 그리고 마찰력과 같은 다양한 요인을 고려해 설정해놓은 물리 시뮬레이션에 넣으면 예상 도착 지점의 오차는 거의 없다. 몇백만 원짜리 컴퓨팅 파워로도 공이 실제 도착하는 시간보다 더 빠르게 예상 도착 지점을 계산해낸다. 정확도도 충분하다. 평가 방법에 따라 이견은 있지만 오차범위가 1인치라면 정확도는 95% 혹은 99% 이상이다.
그렇다면 스트라이크, 볼 판정에 한해서 로봇 심판 도입은 현실적으로 가능해졌을까? 아직은 오작동과 같이 여전히 해결해야 할 문제가 남아 있다. 어떤 공에 대해 완전히 엉뚱한 측정값을 내놓거나 아예 인식을 못할 수 있다. 물론 이는 극히 희박한 경우이다. 또한 연습구를 구분하지 못하거나 2루수나 중견수의 홈송구를 투구로 인식하는 문제 역시 여전히 남아 있다.
물론 사람은 더 자주 실수한다. 그러나 한두 개 빠진 공을 ‘인간 심판’이 잘못 판정해도 경기는 문제없이 진행된다. 이것은 인간이 실수하는 방식이다. 로봇 심판은 ‘인식 실패’를 할 경우 판정을 내리지 않고 멈춘다. 브룩스 베이스볼(Brooks Baseball)의 운영자 댄 브룩스(Dan Brooks)는 이렇게 표현한다. “심판도 공을 놓치지 않냐고요? 물론이죠. 하지만 공을 놓쳐도 투수가 공을 던졌다는 사실만큼은 알고 있죠.”
스트라이크존의 세로가 가변적인 것도 어려움이다. 야구 규칙은 ‘유니폼의 어깨 윗부분과 바지 윗부분 중간의 수평선을 상한선으로 하고 무릎 아랫부분을 하한선’으로 정의한다. 또 ‘스트라이크존은 타자의 스탠스에 따라 결정된다’고 한다. 지금의 추적 시스템은 타자의 신장 정보를 이용한 알고리즘으로 존의 위아래를 판단하기도 하지만 타격폼이 타자마다 다르다. 결국 사람이 눈으로 보면서 값을 보정해야 한다. 물론 이런 것들은 기술적 난제일 뿐 현실의 로봇 심판 도입에 치명적 장애는 아니다. 완전한 무인 자동화 시스템이 아니라 사람 오퍼레이터(operator)의 도움을 받으면 되기 때문이다. 진짜 문제는 다른 것에 있다.
한번 생각해보자. 중계 화면에 표시되는 그래픽은 평면이다. 하지만 스트라이크존은 ‘홈플레이트 상공’에 해당하는 입체적인 공간이다. 걸치고 나가는 공과 걸치고 들어오는 공이 있다. 물론 더 진보된 기술을 사용하고 컴퓨팅 파워를 늘리면 실시간으로 궤적 전체를 추적할 수도 있다. 그렇다면 존 앞부분에 1cm 정도 걸치면 스트라이크일까? 혹은 5cm 이상은 걸쳐야 스트라이크일까?
로봇 심판은 공의 위치를 거의 정확히 알아낼 수 있다. 하지만 그 위치가 스트라이크인지 아닌지 판단하는 것은 좀 다른 문제다. 여기서 규범적이고 철학적인 문제가 출현한다. 바로 스트라이크가 무엇인지 명확하지 않다는 것이다.
다음은 5월 29일 사직구장에서 진행된 KBO(Korea Baseball Organization) 리그에서 롯데 투수 브룩스 레일리(Brooks Raley)가 던진 공의 스트라이크 투구 로케이션(location) 모습이다.
투수가 던진 공은 배터박스(batter’s box)를 지나며 우리가 생각하는 것보다 궤적이 훨씬 많이 변화한다. A는 커브 공이다. 좌투수가 던지는 공은 우타자 기준 먼 곳에서부터 가까운 쪽으로 휘어져 들어온다. 이 공은 배터박스 라인의 앞부분에는 한참 못 미치지만 홈플레이트 뒤쪽의 존에는 닿게 된다. ‘걸치고 들어온’ 스트라이크다. 역시 커브 공인 B는 배터박스 앞에서 존 한가운데를 통과하지만 배터박스 끝에서는 거의 타자 발목 근처까지 32cm만큼 낙하한다. 홈플레이트 앞부분과 뒷부분을 통과하는 동안에도 8cm 낙하한다. 이런 공이 포수 미트(catcher’s mitt) 위치에 오게 되면 거의 땅바닥에 닿게 되고 스트라이크를 판정하는 데 논란거리가 된다.
야구 규칙에 어떤 공을 스트라이크로 봐야 하는지 명시되어 있기는 하다. 하지만 존에 걸치는 공에 대해서는 명확하지 않다. 홈플레이트 좌우로 걸치는 경우는 [그림 2] 형식으로 걸치고 나가거나 걸치고 들어오면 스트라이크라고 해석한다. 하지만 어느 정도 수준으로 걸쳐야 스트라이크인지는 명확하지 않다. 위아래로 걸치는 공에 대해서는 언급조차 없다. 슬로 커브(slow curve)라면 홈플레이트 상공을 통과하는 도중에 15cm 이상 높이 차이가 생길 수 있다. 프로 레벨의 투수가 작정하고 던진다면 이보다 휠씬 더 큰 낙차를 만들어 걸칠 수도 있다. 타자의 시선은 투수 쪽을 향하기 때문에 머리 위로 지나간 공이 스트라이크 판정을 받았다고 느낄 수 있다.KBO 리그 데이터 일부를 샘플링해보면 히팅 중 31%는 홈플레이트 앞쪽 면보다 투수에 더 가까운 쪽에서 걸쳐진다. 홈플레이트 뒷부분 위치보다 포수한테 더 가깝게 걸쳐지는 타구는 전체에서 13%에 불과하다. 그러니 이렇게 걸치고 들어오는 공을 타자가 치는 것은 아주 어렵다. 대부분의 심판은 이런 공은 ‘볼’로 판정한다. 우리가 아는 야구에서 이런 공은 스트라이크가 아니다. 일종의 불문(관습)법이다.
야구 규칙은 다른 어떤 스포츠보다 방대하고 세밀하다. 그럼에도 가장 기본이 되는 스트라이크 판정에 대해서는 어느 정도 성문법이 아닌 불문(관습)법을 따르고 있다. 사람이 판정하는 게임에서는 전혀 문제될 것이 없다. 하지만 로봇 심판에게는 난처한 일이다. 요구사양에 남겨진 빈칸은 프로그래머에게는 악몽이다.
머신러닝은 도전할 가치가 있는 해법이다. 실제 경기에서 수집된 투구 궤적과 판정 결과를 학습시키면 로봇 심판은 불문(관습)법을 상당한 수준까지 익히게 될 것이다. 특징(feature)이 매우 명확한 지도학습 모델이다. 데이터가 충분히 쌓일 때까지 기다리면 된다. 하지만 이 학습에서 로봇 심판은 인간 심판의 오류와 편향도 함께 배우게 된다. 예를 들어 인간 심판의 경우 대부분 3볼이 되면 존이 넓어지고 2스트라이크가 되면 존이 좁아진다. 심리학자들은 이를 ‘부작위 편향’으로 설명한다. 로봇 심판도 비슷한 성향을 가지게 될 것이다. 기계학습 기반의 판정 시스템은 확률에 기반한다. 그렇다면 오심도 생긴다. 하지만 로봇 심판이 이처럼 인간 심판과 비슷하게 작동한다면 로봇 심판이 왜 필요했던 것일까?
지금의 기술은 공의 위치를 꽤 잘 인식할 수 있지만 어디서부터 어디까지를 스트라이크로 판정해야 할지는 여전히 남아 있는 숙제이다. 이런 이유로 인공지능 또는 판정 알고리즘의 도전은 이제부터 진짜 시작이다. 통계 분석에 활용한다면 미미한 예외적 상황이나 오차는 버리면 그만이다. 하지만 공 하나에 승패가 갈리는 경기장이라면 이것은 골치 아픈 일이다. 연구 성과로만 봤을 때 98%의 정확도로 작동하는 판단 시스템은 연구성과로는 충분할지 몰라도 한 경기 내 250개 판정 중 5개가 오심이라면 야구팬들 사이에서 ‘조작 시비’가 생긴다.
실험과 도전은 물론 진행 중이다. 미국 마이너리그 일부 경기에서 투구추적시스템을 이용한 로봇 심판을 시험 운영한 적도 있다. 로봇 심판에 대한 가장 현실적인 아이디어는 심판이 고글 형태의 웨어러블 디바이스(wearable device)를 착용하고 자신의 눈으로 본 것과 투구추적시스템으로부터 제공받은 정보를 종합해서 판단하는 하이브리드 방식이다.
만약 이것보다 더 멀리 가고 싶다면 다음부터는 기술이 아닌 다른 종류의 문제가 된다. 우리는 100년 이상 야구란 게임을 즐겨왔고, 10조 원 규모의 거대한 비즈니스가 되었지만, 굳이 하지 않아도 되었던 질문인 “야구에서 스트라이크란 과연 무엇일까?”에 답해야 한다. 지금 시점에서 뜬금없는 질문이기는 하다. 하지만 모든 스포츠와 기술 사회가 본래 그런 게 아닐까? 테크놀로지가 의미 있는 변화를 이끌어내려 할 때 가장 중요하고 어려운 일은 ‘기술적 해법을 찾는 것에 앞서 문제 자체를 제대로 정의’하는 일이다.
글 | 신동윤 dyonshin@gmail.com
데이터는 신비로운 마법도, 절대적 진리도 아닙니다. 그 대신 “당신 야구 얼마나 해봤는데?”라고 묻지도 않습니다. 그래서 편견 없는 소통의 언어이며 협력의 플랫폼이 될 수 있습니다. 20년쯤 게임 산업 분야에서 일했고 거의 비슷한 시간 동안 한양대학교에서 게임디자인과 관련한 강의를 했습니다. 지금은 타구/투구 추적 데이터에 기반한 분석과 스포츠 미디어 개발을 하고 있습니다.
참고문헌
*1 참고 | http://baseball-in-play.com/333
[카카오 AI 리포트] Vol. 14 (2018년 9월 호)는 다음 내용으로 구성되어 있습니다.
[1] Special Topic
01. 김동현 | 지식그래프 : 카카오미니와 검색 적용 소개
05. 정소영 | 딥러닝을 이용한 실시간 인코딩 효율 최적화
[2] In-Depth
08. 박성건, 이수원 | 스포츠 경기력 향상을 위한 AI 활용 방안
09. 최형준 | 스포츠 경기 분석 전문가와 AI의 만남
10. 신동윤 | 로봇 심판과 판정 알고리즘의 의미 있는 도전
11. 박주희 | 스마트 도핑 검사의 도입과 발전 과제
12. 김동환 | 스포츠 저널리즘의 변화와 AI의 활용
[3] Tech Insider
14. 윤도영 | Apache S2Graph 기반 머신러닝 모델 환경 구축
15. 이수경, 박규병 | 딥러닝이 탐구하지 못한 언어와 5가지 태스크
16. 박찬연 | 2018 ICML을 통해 살펴보는 AI 연구 동향
17. 황순민 | 2018 CVPR 논문 동향 및 주요 연구 소개
[카카오 AI리포트] Vol. 14 전체글 다운받기
[카카오 AI리포트] Vol. 14_10 다운받기