20121085 박박박 POSTECH PL lab 2013-12-09 Mining BigData Final Project - Pass Recommendation
May 26, 2015
20121085 박형철 POSTECH PL lab2013-12-09
Mining BigDataFinal Project- Pass Recommendation
•패스 가능한 위치를 추천
•패스에 영향을 주는 요소
•목표 지점까지의 거리와 초기 속력
•받는 선수의 현재 속도 ( 방향 )
•받는 선수의 가속력
•수비 선수의 인터셉트 ( 위치 , 속도 , 가속력 )
Pass Recommendation 문제
3
•현재 선수의 위치 , 속도 (player_pos, player_vel)
•목표 지점의 위치 (target_pos)
•패스 성공여부
( 공이 목표지점에 도달하기 전에 선수가 위치하는지 )
Pass Recommendation Query
4
Trapping vs. Interception
A
C
Bintercept
trapping
D
intercept
5
•시간에 따른 공의 움직임을 모델링
ball_pos(t)
•시간에 따른 선수의 움직임을 모델링
player_pos(t)
•선수와 공의 위치가 일치할 수 있는지 확인
ball_pos(t) = player_pos(t)
Modeling
6
패스 이벤트
•패스 시작 이벤트
•가속도만이 아니라 속력 변화도 감지
•점유선수 (possession) 와의 거리 ,
가장 가까운 센서와의 거리를 참고
•공이 뜨지 않는 패스 ( 숏패스 ) 만 처리 (z-axis)
•패스 도착 이벤트
•마찬가지로 가속도와 속력변화 감지
•패스 시작부터 , 패스 도착까지 받는 선수의
이동경로 누적
7
패스 볼의 속력 , 위치변화
패스 시작패스 종료
공의 속력
공의 가속
8
패스 볼의 등가속 운동
Quadratic Trend Lines
패스 진행 시간
볼 위치변위
9
패스 볼의 초기속력
10
패스 볼의 이동 모델링
•주어진 공의 현재 위치 , 목표 위치
초기 속력 , 저항에 의한 감속
•공의 위치이동 식
pos = pos0 + t * init_vel + 0.5 * (-accel) * t2
11
패스 받는 선수의 움직임
시간
위치
역방향 감속
정방향 가속
등속 운동
트래핑 위치 도달
12
패스 받는 선수의 움직임
• 100 달리기의 가속 , 종단속력을 이용
• Usain Bolt
• Peak acceleration (first 10m) : 5.8 m/s2
• Max speed (60m~90m) : 12.2 m/s
• Average acceleration (0~60m) : 3.3 m/s2
• 적당히 조정된 값을 사용
• Braking/turning acceleration : 6.0 m/s2
• Max speed : 10.0 m/s
• Average acceleration : 3.0 m/s2
13
선수의 이동 모델링
• 1 단계 ( 방향 전환 )
• 현재 속도 벡터를 목표 방향 벡터로 전환
• Cross product 로 목표 방향 성분 / 직교 성분으로 분해
• 최대 가속력으로 방향전환 , 이동 거리는 무시
• 2 단계 ( 가속 운동 )
• 평균 가속력으로 목표 지점을 향해 돌진
• 등가속 운동으로 처리
• 3 단계 ( 등속 운동 )
• 종단 속력 도달 이후에는 등속 운동으로
• 4 단계 ( 목표 지점 도달 , 패스가 오는 방향으로 )
• 패스의 목표 지점 도달하면 , 패스가 오는 방향으로 달려간다고 가정
14
패스 성공 여부 결정
• 패스를 받을 선수 player_recv
• 인터셉트할 가능성이 있는 선수 player_intercept
• 패스 성공여부
• query(player_recv) and !query(player_intercept)
• query_time(player_recv) < query_time(player_intercept)
• 튜닝
• 아주 가까울 때 , 인터셉트 확률 증가 ( 수비각 증가 )
• 인테셉트의 커버 범위 증가
( 트래핑은 정확도를 요구하지만 , 인터셉트는 막기만 해도
성공 )
• 성능 개선 , 불필요한 쿼리 요청 제거
15
Visualize
• 여러 가지 정보 표시
• 선수 움직임 , 패스 추천 표시
• 패스 이벤트
• 공의 속력 , 가속력 , 높이 그래프
• 선택한 선수의 속력 , 센서별 속력 그래프
• 부가 기능
• 시간 이동기능 , 시간 정지
• 센서 선택하여 그래프에 표시
16
평가
• 대체로 맞는 결과
• 패스 차단 가능성을 계산
• 패스 받는 선수의 움직임을 고려하여 공간 패스
• 추천하는 패스가 실제로 발생하는 패스를 포함
• 계산 모델에 따른 패스 추천과 실제의 차이
• 패스를 주는 선수의 움직임 , 이동방향 고려가 없음
• 롱 패스 ( 뜬 볼 패스 ) 에 대한 고려는 하지 않음
• 계산적으로는 패스가 가능하나 ,
축구 전략 상 무리한 패스를 추천
17
평가
• Query 계산에 Hadoop 을 사용하지 않음
• 계산의 복잡성 때문에 Hadoop 을 사용하지 않고 ,
로컬 머신에서 C, Python 으로 작업
• 일부 계산은 지난 프로젝트의 Hadoop 코드를 이용
• 시간대 별로 나누면 Hadoop 으로도 구현이 가능
• 그래프 , 시각화 구현
• 그래프 , 시각화로 실제 선수들의 움직임 , 패스 양상을 파악
• 시각화에 의해서 잘못된 계산 결과가 확연히 드러나 ,
디버그에 용이
문서의 제목
1 꼭지제목2 꼭지제목3 꼭지제목4 꼭지제목
Q & A