real-time position analysis during soccer matches2010.foss4g.org/presentations/3504.pdf · event...

35
FOSS4G 2010 REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES Oliver May – Lead GIS developer DFC Software engineering

Upload: others

Post on 02-Oct-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

FOSS4G 2010

REAL-TIME POSITION ANALYSISDURING SOCCER MATCHES

Oliver May – Lead GIS developerDFC Software engineering

Page 2: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 2

Company profile

Belgium-based ICT company

Independent

Est 1994

Located in Ghent

[51°4'26'' / 3°40'49'']

City ofGhent

Page 3: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 3

Company profile

GIS & integration projects

Public sector 60% Corporate market 30% Innovation Studies 10%

Open Source Minded

Stable, cohesive team: 12 software architects

www.dfc.be/gis/

Page 4: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 4

Personal profile

Java Developer Joined DFC Software engineering 3 years ago

Professional interests Open Source Software Software project development techniques People dynamics in project teams

Page 5: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 5

Personal profile

Accomplishments Project coordination of several strategic GIS projects Implementation of AGILE/Scrum in the GIS team Member of the geomajas Project Steering Committee

Page 6: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 6

The project: BIPS™

HJB Systems Belgian start up Patented hardware for high accuracy GPS

positioning Ball Intelligent Positioning System™ GPS receivers built into heart-rate monitors

DFC → Build a Proof Of Concept application for Soccer Analysis

Page 7: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 7

Functional requirements

What is the POC meant to do?

Page 8: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 8

Functional requirements (1)

Real-time visualisation of playing field, players and ball

Recording and playing of the match data Aid the referees during a soccer match

Goal Players Offside Ball out ...

Page 9: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 9

Functional requirements (2)

Training/Match analysis Man marking Ball possession Strategy Health monitoring and statistics

Heartbeat sensors

Page 10: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 10

What are the goals of the customer?

Business requirements

Page 11: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 11

Business requirements

Low cost In the price range of every team No installation on site

No complex camera systems No special RF triangulation ...

Portable Employable on external locations

Software as a service

Page 12: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 12

Technology requirements

How did we (developers) want to build the POC?

Page 13: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 13

Technology requirements

Requirements? Rendering API for rendering actors on playing field Easy modelling of soccer game Web based (SAAS) Rapid Application Development

Page 14: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 14

Technology of choice

Choice: Able to model and display domain logic Web based Known technology Framework allows rapid development

Easy extendible Server oriented 100% Java

No time waste debugging JS One project, one team, one language!

Page 15: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 15

Design questions?

Problems we stumbled upon during analysis

Page 16: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 16

Design questions?

Modelling the playing field

Aggregating the actor data Event system

Page 17: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 17

Modelling the playing field

Lots of soccer fields don't have standard measurements

Some examples:

(Source: Google maps)

Page 18: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 18

Modelling the playing field

105 meter wide68 meter heigh

Page 19: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 19

Modelling the playing field

Page 20: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 20

Modelling the playing field

Page 21: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 21

Modelling the playing field

Problems Playing fields differ in size

Length: 90~120 meters (100~110 by FIFA) Width: 45~90 meters (64~75 by FIFA)

Positions of zones may differ Goal might not be in exact centre

GPS Coordinates differ for every location

Page 22: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 22

Modelling playing field

Cartesian plane with centre spot: x=y=0

Polygons define field topology

0,0

Page 23: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 23

Modelling playing field

How to cope with variances in different fields?

Initialisation Measure 4 corners

Transformation from GPS coordinates to Cartesian plane

Define position of goal and zones, if needed Transform topology to fit reality

Page 24: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 24

Modelling playing field

TransformationTranslation

Page 25: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 25

Event system

How to capture data? How to handle events?

Page 26: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 26

Event system

Input Actors with sensors via RF

22 players 1 ball 3 referees

Output Frames with positions of actors Events

Page 27: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 27

Event system modelServer side Java process

Hardware

Input readers

Recorder Frame

Single frame = arbitrary time period

State processor Event processors

-Online-Offside-Ball possesion...

FrameEvents

Persistence processor

Postgis(recordings)

Memory buffer(real time)

Contains:PlayersBallReferees

Page 28: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 28

Event system modelClient side Java process

Postgis(recordings)

Memory buffer(real time)

Geomajas server framework

Geomajas client framework (GWT) Frame

Events

Controllerstart/stop recorder

control

control

Provides:-data access-security-rpc-topology dataField

topology

Page 29: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 29

In action (goal)

Example recording of a goal:

Input data modeled in desktop GIS:

Page 30: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 30

In action (goal)

Movie

Page 31: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 31

In action (offside)

Example recording of offside:

Input data modeled in desktop GIS:

Page 32: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 32

In action (offside)

Movie

Page 33: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 33

Match analysis

Time Description

02:12:04 BALL 6017 Ball ownership: VT 1 (Albert) VT 1 (Albert)

02:12:08 MANMARKING 7051

02:12:08 MANMARKING 7051 VT 2 (Alfred)

02:12:12 DUEL 3018

02:12:15 BALL 14023 Ball ownership: VT 2 (Alfred) VT 2 (Alfred)

02:12:29 MANMARKING 2998

02:12:29 MANMARKING 2998 VT 2 (Alfred)

02:12:31 BALL 4007 Ball ownership: VT 1 (Albert) VT 1 (Albert)

02:12:37 MANMARKING 3000

02:12:37 DUEL 2001

02:12:37 MANMARKING 3000 VT 2 (Alfred)

02:12:39 GOAL 0

EventType Duration (millis) PlayerName

Man Marking: HT 2 (Jef) -> VT 2 (Alfred) HT 2 (Jef)

Man Marking: VT 2 (Alfred) -> HT 2 (Jef)

Duel between: HT 2 (Jef), VT 2 (Alfred)

Man Marking: HT 2 (Jef) -> VT 2 (Alfred) HT 2 (Jef)

Man Marking: VT 2 (Alfred) -> HT 2 (Jef)

Man Marking: HT 2 (Jef) -> VT 2 (Alfred) HT 2 (Jef)

Duel between: HT 2 (Jef), VT 2 (Alfred)

Man Marking: VT 2 (Alfred) -> HT 2 (Jef)

The visitorteam scored.

Page 34: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 34

Metrics of development cycle

One week sprint Team of 4 developers 20 development days

Analysis and sprint planning Test driven development Simultaneously develop client and server thanks to

single definition of DTO's Daily SCRUM meetings Delivered POC on time!

Page 35: REAL-TIME POSITION ANALYSIS DURING SOCCER MATCHES2010.foss4g.org/presentations/3504.pdf · Event system model Client side Java process Postgis (recordings) Memory buffer (real time)

08/09/2010 35

Questions? Contact me:

[email protected] During foss4g:

[email protected] Between sessions at booth 12 (geosparc)

Thank you for your time!