🏀 농구 선수 식별을 위한 컴퓨터 비전 시스템 요약

이 블로그 게시물은 컴퓨터 비전 기술을 활용하여 농구 경기 영상에서 선수를 감지, 추적, 및 식별하는 복잡한 시스템을 구축하는 과정을 상세히 설명합니다. 이 시스템은 여러 최신 AI 모델을 파이프라인 형태로 결합하여 선수의 빠른 움직임, 신체 접촉으로 인한 가려짐(occlusion), 유사한 유니폼, 카메라 이동 등 어려운 문제들을 해결합니다.


주요 기술 및 파이프라인

이 시스템은 여러 단계의 정교한 프로세스를 통해 선수들을 식별합니다.

  1. 객체 감지 (Object Detection):

    • RF-DETR 모델을 사용하여 영상 내의 선수, 등번호, 농구공, 림 등 주요 객체들의 위치를 정확히 찾아냅니다.
  2. 선수 추적 (Player Tracking):

    • SAM2 (Segment Anything Model 2) 를 활용하여 각 프레임마다 선수를 추적합니다. SAM2의 내부 메모리 기능 덕분에 선수가 다른 선수나 객체에 의해 잠시 가려지더라도 지속적으로 동일한 선수임을 인지하고 추적을 유지할 수 있습니다.
  3. 팀 구분 (Team Clustering):

    • 유니폼 색상을 기반으로 두 팀을 구분하기 위해 비지도 학습 클러스터링 접근법을 사용합니다.
    • SigLIP 모델로 각 선수의 시각적 특징을 임베딩 벡터로 변환합니다.
    • UMAP을 이용해 고차원의 임베딩 데이터를 저차원으로 축소합니다.
    • K-평균(K-means) 클러스터링 알고리즘을 적용하여 선수들을 두 개의 그룹(팀)으로 나눕니다.
  4. 선수 식별 (Player Identification):

    • 선수를 최종적으로 식별하기 위해 등번호를 인식합니다.
    • 초기에는 SmolVLM을 OCR(광학 문자 인식)에 사용했으나, 등번호 분류를 위해 미세 조정한 ResNet 모델이 더 높은 정확도를 보여 최종 채택되었습니다.
    • IoS (Intersection over Smaller Area) 라는 지표를 사용하여 감지된 등번호가 올바른 선수 마스크에 정확하게 연결되도록 합니다.
    • 시스템의 신뢰도를 높이기 위해, 동일한 등번호가 여러 번 반복적으로 예측되었을 때만 해당 선수의 번호로 확정합니다.

결론 및 소스 코드

이 시스템은 여러 최첨단 컴퓨터 비전 모델들을 창의적으로 통합하여 복잡한 실제 스포츠 분석 문제를 해결할 수 있는 가능성을 보여주는 성공적인 사례입니다. 다만, 처리 과정의 복잡성으로 인해 실시간으로 작동하지는 않습니다.