TL;DR
스포츠 영상의 작은 공은 몇 픽셀 크기의 흐릿한 흔적으로 나타나므로, 32배 다운샘플링을 사용하는 YOLO 계열 모델로는 구조적으로 위치 정보를 보존하기 어렵습니다. 작성자는 RGB와 frame-difference를 입력으로 받고 최대 stride 2를 사용하는 약 131k 파라미터 Detector와 약 48k 파라미터 Verifier를 조합한 뒤, 물리적 이동 한계에 기반한 비ML 추적을 적용했습니다. 전체 약 180k 파라미터 구성은 4090에서 약 125fps를 기록했으며, 핵심은 blur를 결함이 아니라 빠른 움직임을 담은 신호로 활용한 데 있습니다.
실용적 조언
- 작은 물체가 특징 맵에서 사라지는지 먼저 계산해야 합니다. 입력 공의 크기와 모델의 최대 stride를 비교하고, stride 32에서 8픽셀 물체처럼 한 셀보다 작은 대상이면 Fine-tuning보다 다운샘플링 구조를 줄이는 편이 우선입니다. 이 글의 구현처럼 최대 stride 2를 사용하면 위치 정보 보존을 중심에 둘 수 있습니다.
- 흐릿한 스포츠 물체를 검출할 때 RGB 입력만 고집하지 말고 프레임 차분 채널을 함께 평가해야 합니다. 연속 프레임의 픽셀 변화를 별도 채널로 넣으면 배경보다 빠른 물체의 움직임이 검출 입력에 직접 반영됩니다. 공의 선명한 외형이 약한 환경에서는 이 신호가 pretrained ImageNet backbone보다 유용할 수 있습니다.
- 검출기와 검증기를 분리해 후보 생성과 최종 판별을 나누는 방법을 고려할 수 있습니다. Detector가 상위 후보를 넓게 유지하고 Verifier가 64×64 crop에서 공 여부를 재평가하면, 검출기의 재현율과 최종 순위 정밀도를 서로 다른 목표로 조정할 수 있습니다. 원문 구현에서는 Detector의 top 20 포함률이 약 90%이고 1위 비율이 77%여서 이 분리의 필요성이 수치로 드러납니다.
- 프레임 간 추적은 이동 방향보다 물리적으로 가능한 이동 범위를 기준으로 연결해야 합니다. 라벨링된 영상에서 공이 한 프레임 사이에 이동할 수 있는 거리를 겉보기 크기에 따라 측정한 뒤, 그 한계를 벗어나는 후보 경로를 제거하면 튕김으로 방향이 바뀌는 상황도 처리할 수 있습니다. 이 단계는 추가 ML 모델 없이 후처리 규칙만으로 구현할 수 있습니다.
섹션별 상세
이미지 분석

이미지 왼쪽에는 고정된 카메라로 촬영한 파란색 코트와 선수가 보이고, 오른쪽에는 원본 장면의 움직임 또는 검출 결과로 보이는 푸른색 영역이 표시되어 있습니다. 이는 선명한 공의 외형보다 영상 내 움직임을 활용해 작은 대상을 찾고 화면을 재구성하는 글의 작업과 연결됩니다. 다만 저해상도 이미지에서는 공의 위치나 히트맵 수치를 정확히 판독할 수 없습니다.
실내 스포츠 코트 영상과 공의 움직임을 강조한 푸른색 시각화 화면이 나란히 배치되어 있습니다.
용어 해설
- 다운샘플링(Downsampling)
- — 입력 영상의 공간 해상도를 줄여 특징 맵을 만드는 과정입니다. stride 32처럼 큰 축소율을 사용하면 계산량은 줄지만, 공처럼 몇 픽셀에 불과한 물체의 위치 정보가 특징 맵에서 사라질 수 있습니다.
- 확장 합성곱(Dilated Convolution)
- — 합성곱 필터의 샘플 간격을 넓혀 해상도를 크게 줄이지 않고 더 넓은 영역을 참고하는 연산입니다. 이 글의 Detector는 확장 합성곱과 최대 stride 2를 사용해 흐릿한 공의 국소 정보를 보존합니다.
- 프레임 차분(Frame Difference)
- — 연속된 두 영상 프레임의 픽셀 변화를 계산한 값입니다. 배경보다 빠르게 움직이는 공은 RGB 영상에서 흐릿해도 프레임 차분 채널에서 더 뚜렷한 신호로 남을 수 있습니다.
- 히트맵(Heat Map)
- — 영상의 각 위치가 목표 물체일 가능성을 나타내는 공간적 확률 지도입니다. Detector는 입력 영상의 절반 해상도에서 공의 위치를 나타내는 히트맵과 크기 지도를 함께 출력합니다.
- PCIe 전송(PCIe Transfer)
- — CPU와 GPU 사이에서 데이터를 이동시키는 처리 단계입니다. 이 구현은 GPU 연산 자체보다 CPU-bound FFmpeg 디코더와 CPU-GPU PCIe 전송 때문에 GPU를 100% 활용하지 못하고 처리 속도가 제한됩니다.
언급된 도구
스포츠 영상에서 공을 추적하기 위해 시도한 기존 모델 계열이며, 공개 학습 데이터와 실제 영상의 차이 때문에 품질이 낮았다고 평가됩니다.
추론 실행 경로에 사용된 런타임 구성 요소입니다. ORT와 함께 4090에서 Detector와 Verifier를 실행하는 데 사용되었습니다.
추론 실행에 사용된 런타임 구성 요소입니다. TensorRT 및 Rust 서버와 함께 영상 처리 파이프라인에 포함되었습니다.
영상 디코딩을 담당했으며 CPU-bound 상태가 되어 전체 처리 속도의 병목으로 작용했습니다.
Rust 서버에서 병렬 처리를 통해 일부 영상 처리 속도를 높이는 데 사용되었습니다.
언급된 리소스
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.