메인 콘텐츠로 건너뛰기

컴퓨터 비전으로 농구 선수 실시간 인식: AI 모델 조합으로 완벽 해결!

요약

농구 경기에서 선수들을 자동으로 탐지, 추적, 식별하는 일은 생각보다 훨씬 어렵습니다. 빠른 움직임과 겹치는 몸, 거의 똑같은 유니폼, 그리고 수시로 바뀌는 카메라 각도! 이런 복잡함을 AI로 깔끔하게 풀어낸 최신 컴퓨터 비전 시스템과, 그 핵심 구성요소를 소개합니다. 직접 실험할 수도 있도록 오픈소스 코드까지 공개되어 있어요. 이 글에서는 각 단계의 핵심 모델과 실제 적용 방법을 정리해, 컴퓨터 비전 기반 스포츠 분석에 관심 있는 분들을 위한 인사이트를 제공합니다.

농구 선수 인식, 왜 이렇게 어려울까?

농구 선수 자동 인식은 여러 난관을 마주합니다. 뛰는 속도가 빨라서 영상에 잔상(모션 블러)이 생기고, 선수들끼리 몸이 겹치기도 합니다. 유니폼이 거의 비슷하게 보여서 색깔이나 형태만으로 구분하기도 어렵죠. 게다가 경기 중 카메라가 끊임없이 줌과 패닝을 반복합니다. 이런 환경에서는 기존의 단순 인식 시스템으로는 정확한 인물 판별이 힘들어요.

RF-DETR: 모든 객체를 정확하게 잡아내는 탐지 모델

선수 인식의 첫걸음은 '객체 탐지'입니다. 여기서는 최신 모델 RF-DETR-S를 사용해 선수, 농구공, 골대, 등번호 등 10가지 클래스를 효율적으로 검출합니다. RF-DETR-S는 뛰어난 정확도와 빠른 속도를 동시에 보여주며, 고난이도의 농구 장면도 잘 인식합니다. Roboflow 플랫폼이나 구글 Colab에서 직접 튜닝도 가능해 누구나 실습해볼 수 있습니다.

SAM2: 겹친 선수도 끝까지 놓치지 않는 추적 기술

객체가 검출되었으면, 영상 내에서 지속적으로 추적해야 합니다. SAM2는 영상 내 세그먼트와 트래킹을 동시에 해주는 모델로, 각 선수의 외형 정보를 메모리에 저장하며, 시야를 벗어난 뒤 다시 나타나도 동일 인물로 이어서 추적합니다. RF-DETR로 잡은 선수 박스를 SAM2에 프롬프트로 입력해, 연속된 프레임에서 선수별 위치와 영역을 실시간으로 추출합니다.

고속 움직임이나 겹치는 상황에서는 SAM2가 배경이나 공 일부를 선수로 잘못 인식할 수 있는데, 이를 자동으로 정리해주는 과정도 포함되어 있어 실제 활용도를 높였습니다.

유니폼만 보고 팀 자동 분류: SigLIP, UMAP, K-means로 팀 구분

경기마다 유니폼 디자인, 조명, 코트가 달라져 팀 분류도 까다롭지만, AI는 이를 자동으로 해결합니다. 우선 각 선수 이미지에서 중앙 부분만 잘라, SigLIP 모델로 시각 임베딩을 생성합니다. 이 임베딩은 색상, 질감, 유니폼 디자인까지 종합해 팀별 특성을 학습합니다.

이후 UMAP으로 고차원 데이터를 3차원으로 축소해 시각적 변별력을 높이고, K-means 클러스터링으로 정확하게 두 팀으로 나눕니다. 팀별로 선수들을 자동 분류하기 때문에 별도의 수작업 라벨링이 필요 없습니다.

등번호 판독: SmolVLM2와 ResNet의 강력한 OCR 성능 비교

선수의 가장 확실한 정보는 등번호! 이를 인식하기 위해 두 가지 전략을 적용했습니다.

  • SmolVLM2: 비전-언어 모델로 OCR을 진행했지만 초기에 정확도가 56%로 낮았습니다. 2025년 NBA 플레이오프 영상에서 수천 개의 등번호 크롭 이미지를 모아 직접 튜닝한 결과, 86%까지 정확도가 올랐습니다.

  • ResNet-32: 컨볼루션 신경망 기반으로 재구성해, 같은 데이터로 학습시켰더니 무려 93% 정확도를 기록했습니다. 복잡한 VLM보다, 등번호 인식에 특화된 경량 CNN이 더 뛰어난 셈이죠.

불균형 데이터(예: '8'번 선수 빈도 높음, '6'번은 드묾)도 실제 경기장 상황을 충실히 반영합니다.

등번호와 선수 연결하기: IoS 지표로 정확한 매칭

AI가 등번호 영역과 선수 전체 마스크를 따로 추적하다보니, 둘을 어떻게 정확하게 연결할지가 중요합니다. 여기서는 'IoS(Intersection over Smaller Area)'라는 지표를 활용합니다. 기존의 IoU(Intersection over Union)보다 더 정교하게, 작은 등번호가 선수 마스크 안에 얼마나 속해 있는지 평가해 90% 이상 겹치는 경우에만 확정합니다. 이렇게 하면 매칭 오류를 크게 줄일 수 있습니다.

등번호 최종 확인: 반복 예측으로 안정적인 식별

경기 상황에 따라 등번호가 잘 안 보이는 구간도 있기 때문에, 한 번의 예측으로 결론 내리지 않습니다. 일정 프레임마다 등번호를 여러 번 샘플링하고, 같은 번호가 3번 연속 나오면 확정하는 방식으로 신뢰도를 높입니다. 추가로, 경기장 내 실제 등번호 목록만 비교 대상에 넣으면 정확도가 더 좋아집니다. 이렇게 확정된 등번호와 팀 정보를 다시 공식 로스터와 연결해 선수 이름까지 완성합니다.

느리지만 강력하다: 실제 구현과 확장성

이 시스템은 현재 NVIDIA T4에서 초당 1~2 프레임 정도로 작동하며, 실시간 상용 서비스에 바로 쓰기엔 속도가 느립니다. 하지만 최신 모델들을 조합해 '정확도'를 극한까지 끌어올렸다는 점에서 연구와 실험에 좋은 기반이 됩니다. SAM2의 퍼포먼스가 느려질 땐 영상 해상도 조절, 모델 경량화 등을 통해 개선할 수 있습니다. 전체 코드는 오픈소스로 공개되어 있으니, 직접 다양한 모델을 비교하거나, 농구 이외의 스포츠에도 확장해볼 수 있습니다.

농구 선수 AI 인식, 앞으로의 가능성과 실전 팁

농구와 같은 복잡한 팀 스포츠에서 선수 추적과 식별은 AI 비전 기술의 집약체입니다. 다양한 모델을 알맞게 조합하고, 실제 데이터에서 발생하는 오류를 적극적으로 다루는 것이 관건입니다. 실전에서 적용하려면 데이터셋을 확보하고, 각 파이프라인 요소를 튜닝하며, 결과를 꾸준히 검증해야 합니다.

AI 스포츠 분석에 관심이 있다면 본 프로젝트의 오픈소스 코드를 직접 실습하며 자신만의 파이프라인을 꾸며보세요. 각 단계에서 모델 구조와 데이터 특징을 이해하는 것이 성능 개선의 첫걸음입니다. 앞으로 더 빠르고 정확히 실시간 인식하는 기술들이 등장할 테니, 최신 모델의 발전과 실용화 사례를 꾸준히 주목하는 것도 좋은 전략입니다!

출처 및 참고 : How to Detect, Track, and Identify Basketball Players with Computer Vision

이 노트는 요약·비평·학습 목적으로 작성되었습니다. 저작권 문의가 있으시면 에서 알려주세요.