야구 투수를위한 추적 데이터를 포장하십시오
readme.md- 데이터에 대한 짧은 개요 및 사용 방법
example_script.r- 데이터 사용 방법의 예제가있는 스크립트
데이터는 다음 Dropbox 링크에서 찾을 수 있습니다 : https://www.dropbox.com/sh/gxxxnqu9c1v0d6w/aaa8ilsel7yb3_uyn03_k7vba?dl=0
기본 파일은 pitcher_motion_data.csv입니다. 이것은 약 500MB의 CSV 파일입니다.
이 데이터 세트에 포함 된 피치에 해당하는 통계 데이터가 포함 된 동반자 CSV 파일도 있습니다.
2021 정규 시즌의 Tropicana Field에서 적어도 5 번 던진 투수/피치 유형에 대한 데이터가 취해졌습니다. 5 샘플 비디오는 각 피치에 사용되었으며, 각각의 경우에는 특정 투수가 마지막으로 던져졌습니다.
Tropicana 필드는 작업하기 쉬운 센터 필드 카메라 각도가 있기 때문에 사용되었습니다. 투수 위치를 측정하는 데 필요한 계산량으로 인해 제한된 데이터 만 포함됩니다.
각 개별 피치는 세 개의 열을 사용하여 고유하게 식별 할 수 있습니다.
"Normalised_frame"열에는 비디오 프레임에서 측정 된 피치의 시간 변수가 포함되어 있습니다 (비디오는 60fps). 이것은 투수의 다리 리프트에서 제로화되어 긍정적 인 방향과 부정적인 방향으로 확장됩니다.
투수의 감지는 프레임에서의 위치에 따라 자동으로 수행되었으며, 투수의 다리 리프트를 사용하여 피치의 동기화를 자동으로 수행했습니다. 포즈 추적 알고리즘이 투수를 식별하지 않았거나 하이라이트 비디오에서 투수 모션의 일부가 보이지 않았기 때문에이 프로세스가 실패한 경우가있을 수 있습니다. 이 프로세스가 실패했을 때 표시 할 두 가지 신뢰성 플래그가 포함되어 있습니다.
"no_missing_frames"= 1 투수가 정상화 된 _frame = -20 ~ +120에서 연속적으로 관찰 될 수있는 경우, 그렇지 않으면 투수가 감지되지 않았으므로 데이터 세트에서 누락 된이 기간에 프레임이있을 수 있습니다. "smooth_com_flag"= 1 투수의 몸통 위치가 연속 프레임 사이에서 100 픽셀 이상으로 변하지 않으면 다른 플레이어가 투수로 감지 될 수있는 경우를 제거합니다. 이 두 열 모두에 의한 필터링은 가장 강력한 이동 데이터 세트를 제공합니다.
열 v1 ~ v51은 투수의 신체 부위의 위치를 픽셀로 설명합니다. 각 신체 부위는 세 개의 열로 설명되며, 수평 및 수직 좌표는 첫 번째 두 개입니다. 세 번째가 무엇인지 잘 모르겠지만 데이터 세트에 남겨 두었습니다. 주문은 항상 먼저 남은 다음 바로 몸을 따라 내려갑니다.
V1-V15는 머리의 점입니다
V16-V21은 어깨입니다
V22-V27은 팔꿈치입니다
v28-v33은 손입니다
v34-v39는 엉덩이입니다
V40-V45는 무릎입니다
V46-V51은 발입니다
수직 구성 요소는 이미지 상단 의 픽셀 수이므로 이미지에서 올바른 위치를 얻으려면 이들의 (720- 변수)를 가져 가야합니다.
투수 식별에서 남겨진 다른 변수도 있으며,이 2D 데이터에서 고관절 분리를 측정하려는 초보적인 시도를 포함하는 변수도 있습니다. 이것은 신뢰할 수있는 측정이 아닙니다!
온라인으로 비디오 하이라이트를 쉽게 사용할 수 있도록 BaseballSavant와 MLB 덕분 에이 규모로 데이터를 수집하는 데 필수적이었습니다.
또한 Kapao의 Will McNally 덕분에 모든 포즈 감지는 Python에서 구현 된이 알고리즘을 사용하여 수행되었습니다.
https://github.com/wmcnally/kapao
이것은 이전에 공개적으로 사용할 수 없었던 데이터 세트 유형입니다. 일부 사용을 찾을 수 있기를 바랍니다.
제안이 있으면 트위터 @pitching_bot에 문의하거나 내 웹 사이트에서 내 연락처 정보를 찾으십시오.
카메론 그 로브 - 24/12/21