Video Pose 3D로 피겨스케이팅의 운동 분석

배경.


최근에 텔레비전에서 피겨스케이팅을 봤는데 점프할 때의 궤도는 3차원 가시화이고 회전수도 영상에서 측정할 수 없다고 생각해서 분석을 해봤어요.
기존 피겨스케이팅 선수와 딥트레이닝의 화려한 만남'선수를 돕고 싶다'는 사회인 대학원생의 도전
나는 갑자기 CNN+SVM이 회전 부족 여부를 판정해야 한다는 것이 생각났다. 최근 자세 추정 근처에 OpenPose의 3차원 버전이 하나 있다. 3차원 자세 추정 결과에서 회전 수를 직접 계산할 수 있다고 생각한다.
3차원 자세 추측을 하던 중 FAIR의 비디오포스트 3D 창고가 발견됐는데, 시연에 피겨스케이팅 예가 있어 바로 채택했다.
VideoPose3D(Facebook AI Research)

컨디션

  • Google Colabolatory
  • PyTorch
  • Detectron2
  • 일단 실행하다


    실행 환경의 도입에 관하여 notebook에서 다음과 같이 요약한다(사용 시 git clone 문장과 경로 주위를 변경해야 한다).
    colab에서 실행할 때 inference / infervideo_d2.py의 코코 pkl 파일의 마운트 부분을 변경했고 같은 층에 코코 pkl을 직접 설정했습니다. (기본적으로 웹에서 읽지만 왜 읽지 못했습니까?) 기평 선수의 사방 살코프 영상을 사용했습니다.
    반사식 자막을 없애기 위해 커팅하여 30fps에서 50fps로 전환하였는데 우여곡절을 겪었지만 상당히 좋은 추정 결과를 얻었다(위 그림은 10fps로 표시).
    여기서 주의해야 할 것은 회전수인데 위의 그림의 각도에서 볼 때 점프하는 순간이 관절을 정확하게 얻었는지 분별하기 어렵다.

    따라서 허리(위 그림 2, 5)만 정상시점으로 그려진다.

    그림을 보면 점프하는 순간만 진동하고 빨간색과 검은색의 선은 바뀌지 않는다. 결국 점프하는 순간의 회전(몸의 정반대)은 정확하게 추정되지 않는다. 따라서 이 메시지에서 회전수를 계산하는 것은 어려울 것 같다.

    하지만 흥미로운 것은 회전하는 순간이다. 양팔과 양어깨(관절ID=9~17)만 위에서 볼 수 있고, 점프하는 순간 중심에 가까운 것을 볼 수 있다. 이 3차원 줄거리는 골반(관절ID=1)을 중심으로 그려져 있다.회전축의 진동 등은 이 정보로 계산할 수 있다. 비디오포스트 3D 자체는 2년 전 정도의 연구였는데 이미 만들어진 것 같지만 다양한 연구의 재료가 될 수 있을 것 같다.

    이번에 사용한 프로그램


    https://github.com/kuboyoo/VideoPose3D

    좋은 웹페이지 즐겨찾기