
공이 어디에 있을까? 파트 4 — 아무것도 움직이지 않을 때
요약
축구 경기 데이터 분석을 통해 모델이 공의 위치를 파악할 때 공의 속도보다 선수들의 움직임(motion)에 더 의존한다는 사실을 발견했습니다. 예상과 달리 비행 중인 공보다 정지해 있거나 속도가 매우 느린 공의 위치를 찾는 것이 모델에게 더 큰 과제임을 밝힙니다.
핵심 포인트
- 공의 속도와 위치 추적 오차 사이의 상관관계는 거의 없음
- 모델은 공 자체의 신호보다 선수들의 이동 방향(motion)을 통해 위치를 추론함
- 정지 상태이거나 속도가 2m/s 미만인 공이 모델의 주요 사각지대임
- 세트피스 상황보다 일반적인 오픈 플레이에서의 오류가 더 광범위함
Part 3에서 삼부작은 '블라인드 스팟'을 다루며 마무리되었습니다: 즉, 작은 전문가는 개방 공간에 있는 공(loose balls) — 선수 무리로부터 멀리 떨어진 곳의 공 — 에 대해 과신한다는 내용이었습니다. 저는 거기서 멈추려 했습니다. 하지만 계속해서 궁금증이 남아 있었고, 그것을 추적하는 것이 한 편의 글을 더 쓸 가치가 있다는 것을 알게 되었습니다.
그 질문은 이렇습니다: 혹시 그 어려운 케이스들은 그냥 **세트피스(set pieces)**가 아닐까요? 코너킥이나 프리킥처럼요 — 공의 위치는 슈터가 아직 공을 차기 전인지, 아니면 찬 후에 플레이어들이 여전히 반응하고 있는 투사체 상태인지를에 따라 완전히 달라집니다. 어쩌면 넓은 범위의 오류(wide error)는 사실 그 애매한 중간 지점, 즉 모두가 공이 어디로 갈지 재배치되는 동안 공이 비행하는 순간과 관련이 있을지도 모릅니다.
이는 좋은 가설입니다. 하지만 동시에 틀렸고 — 틀렸다는 것이 더 나은 무언가를 가리켰습니다.
전제는 접촉을 견디지 못했다
Metrica의 데이터에는 이벤트 로그가 포함되어 있습니다 — 모든 패스, 슛, 세트피스는 공의 시작점과 끝점이 타임스탬프와 함께 기록됩니다. 그래서 저는 각 프레임을 무슨 일이 일어나고 있었는지로 라벨링하고 오류가 실제로 어디에 존재하는지 물어볼 수 있었습니다.
세트피스는 거의 감지되지 않았습니다: 플레이 시간의 비율로 볼 때, 그것들은 반올림 오차일 뿐입니다. 왜냐하면 '세트피스' 이벤트는 몇 분 동안 보내는 단계(phase)가 아니라 실행의 순간이기 때문입니다. 롱볼이나 클리어링은 짧은 패스보다 확실히 더 어려웠습니다 — 이는 가설의 광범위한 버전에 대한 작은 승리였지만, 그것들이 지배적이지도 않았습니다. 넓은 범위의 오류는 일반적인 오픈 플레이 전반에 걸쳐 퍼져 있었습니다.
더 날카로운 발견은 이벤트 라벨 자체가 아니었습니다. 바로 **공의 속도(speed of the ball)**였습니다.

그리고 이는 직관을 완전히 뒤집어 놓습니다. 가장 어려울 것이라고 예상했던 사례인, 빠르고 공중에 떠 있는 비행 중인 (in flight) 공은 난이도가 그리 높지 않습니다. 위치를 찾기 가장 어려운 공은 거의 움직이지 않는 공입니다. 즉, 정지해 있거나, 2 m/s 미만이거나, 데드 볼(dead ball)이거나, 누군가의 발 앞에 놓여 있는 공입니다. 공의 속도와 오차 사이의 상관관계는 본질적으로 0입니다. 구조적 특징은 전적으로 첫 번째 막대에만 집중되어 있습니다.
움직임이 없으면, 신호도 없다
이 결과를 확인하는 순간, 이는 이 프로젝트가 낼 수 있는 가장 브랜드에 부합하는(on-brand) 결과라는 생각이 들 것입니다. 이 시리즈의 모든 부분은 동일한 발견에 도달했습니다. 모델이 숨겨진 공의 위치를 파악하기 위해 읽어들이는 신호는 바로 움직임 (motion), 즉 선수들의 질량이 이동하는 방향이라는 점입니다. 그렇다면 아무것도 움직이지 않을 때는 어떤 일이 벌어질까요?
읽어들일 신호가 없습니다.

모델에서 속도 채널(velocity channel)을 제거했을 때, 공의 움직임 여부에 따라 그 비용(cost)이 얼마나 발생하는지 살펴보십시오. 공이 움직이고 있을 때, 속도는 매우 가치가 높습니다. 속도를 제거하면 오차가 약 0.04만큼 증가합니다. 반면 공이 정지해 있을 때, 속도의 가치는 거의 없습니다. 속도 특징(velocity features)이 활용할 수 있는 일관된 움직임이 없기 때문에, 속도가 있는 모델과 없는 모델이 거의 동일합니다. 전문가의 모든 우위는 경기장이 조용해지는 바로 그 순간 증발해 버립니다. (이는 훈련/테스트 양방향 모두에서 유지되었으며, 반대 방향에서는 붕괴가 훨씬 더 급격했습니다. 즉, 정지된 공에서 속도의 기여도는 본질적으로 0으로 떨어졌습니다.)
공이 어디에 있을까? 파트 4 — 아무것도 움직이지 않을 때
두 번째 이유로도 공을 예측하기 어려운 상황이 있으며, 이는 파트 3의 사각지대를 더욱 날카롭게 만듭니다. 가장 예측하기 어려운 정지된 공은 선수들이 스로인(throw-in)으로 인해 깔끔하게 모여드는 터치라인 근처에 있는 공이 아닙니다. 오히려 중앙에 떨어져 모두에게서 멀리 떨어진 공입니다. 경기장 중앙에 죽어있는 공이 있고, 선수들은 흩어져 있으며 아무도 그쪽으로 몰려가지 않는 상황이죠. 정지된 공의 경우, '선수 군집으로부터의 거리'와 오차 사이에는 강하고 일정한 상관관계가 있습니다 (+0.53에서 +0.65까지 양방향 모두). 누구에게도 가깝지 않고 아무도 향하지 않는 공은 말 그대로 결정되지 않은 상태입니다. 선수들이 그 위치를 알려주는 것을 멈춘 것이죠.
하지만 비행 중일 때는 여전히 _방향_을 읽을 수 있다
그것이 원래 질문의 나머지 절반에 해당합니다. 비록 날아가는 공이 가장 어려운 경우는 아닐지라도, 그 이면에 깔린 직관은 실제였습니다. 공이 이동하는 동안에도 선수들은 이미 달리는 움직임을 통해 다음에 무슨 일이 일어날지 모양을 만들고 있습니다. 따라서 복구할 수 있는 것은 공의 정확한 위치가 아니라, 그것이 _어디로 가고 있는지_입니다.
그래서 저는 모델에게 빠른 공에 대해 다른 질문을 던졌습니다.
가능합니다. 2D 방향에 대한 무작위 추측은 평균적으로 90°의 오차를 보이지만, 선수들은 이를 약 45°로 좁힙니다. 모든 빠른 공의 절반이 45° 원뿔(cone) 안에 위치합니다. 정밀하지는 않지만, 이는 명백히 실재하는 현상입니다. 투구의 구성(configuration)은 공이 어느 방향으로 이동하고 있는지를 인코딩(encode)하고 있는데, 이는 선수들이 이미 플레이를 향해 몸을 기울이고 있기 때문입니다. 솔직히 말해서 이것이 위치(position) 정보를 깔끔하게 압도하는 것은 아닙니다. 비행 중에는 방향(direction)과 위치가 거의 동일한 수준으로 복구 가능한 것으로 나타나며, 각도와 거리를 비교하는 것은 서로 다른 기준을 비교하는 것(apples-to-oranges)과 같습니다. 정직한 결론은 겸손한 수준입니다. 즉, 방향이 읽힐 수 있다는 것이지, 그것이 위치를 이긴다는 뜻은 아닙니다.
핵심 요약 (Takeaways)
- 찾기 가장 어려운 공은 멈춰 있는 공입니다. 비행 중인 공이 아닙니다. 2 m/s 미만으로 정지해 있는 공에서 전문가의 오류가 가장 높게 나타납니다. 그 외의 경우 공의 속도와 오류는 상관관계가 없으며, 어려움은 전적으로 정지 상태에 집중되어 있습니다.
- 움직임 자체가 전체 신호이기 때문입니다. 속도 특징(velocity features)이 위치 파악(localization)을 수행합니다. 공이 멈춰 있으면 읽을 수 있는 움직임이 없으며, 속도 정보를 제외해도 비용(loss)이 거의 발생하지 않습니다. 모델의 강점과 사각지대는 양면에서 바라본 동일한 사실입니다.
- 아무도 근처에 없는 멈춘 공은 결정되지 않습니다. 가장 상태가 좋지 않은 정지 공은 중앙에 위치하며 선수 집단에서 멀리 떨어져 있습니다 (결합-오류 상관관계(coupling-to-error correlation) +0.53 ~ +0.65). 이는 선수들이 단순히 그 공을 향해 가리키는 것을 멈췄음을 의미합니다.
- 비행 중에는 위치가 정밀하지 않더라도 방향은 읽을 수 있습니다. 선수들의 움직임은 빠른 공의 헤딩(heading)을 약 45°로 좁힙니다 (무작위 확률은 90°입니다). 원래의 정적 상황(set-piece)에 대한 직감은 어느 단계가 어려운지에 대해서는 틀렸지만, 선수들이 항상 다음에 올 상황을 형성하고 있다는 점은 맞았습니다.
네 파트가 지나고 나니, 관통하는 핵심 주제(throughline)가 명확히 드러납니다. 숨겨진 공은 움직임을 통해 발견됩니다 — 프런티어 모델(frontier models)은 그 신호를 포착하여 행동할 수 없지만, 60 kB 크기의 네트워크는 이를 날카롭게 읽어내며, 그것은 결국 단순한 기하학(geometry)의 문제임이 밝혀집니다. 이는 그들 중 누구도 할 수 없는 단 한 가지, 즉 움직임을 멈추고 군중으로부터 멀어진 공을 찾는 일은 불가능하다는 것을 의미합니다. 사각지대(blind spot)는 결코 플레이의 종류가 아니었습니다. 그것은 정지(stillness)였습니다.
코드, 이벤트 로그 분석, 그리고 wheres-the-ball 저장소(repo)의 속도 제거(velocity-ablation) 및 방향 실험. Metrica Sports의 축구 트래킹 및 이벤트 데이터. 이전 글: Part 1, Part 2, Part 3.
원문은 javieraguilar.ai에 게시되었습니다.
더 많은 AI 에이전트(AI agent) 프로젝트를 보고 싶으신가요? 멀티 에이전트 시스템(multi-agent systems), MCP 개발, 그리고 컴플라이언스 자동화(compliance automation)를 소개하는 저의 포트폴리오를 확인해 보세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기