real-time position analysis during soccer matches2010.foss4g.org/presentations/3504.pdf · event...
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/1.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/2.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/3.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/4.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/5.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/6.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/7.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/8.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/9.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/10.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/11.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/12.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/13.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/14.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/15.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/16.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/17.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/18.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/19.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/20.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/21.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/22.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/23.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/24.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/25.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/26.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/27.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/28.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/29.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/30.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/31.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/32.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/33.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/34.jpg)
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)](https://reader035.vdocuments.site/reader035/viewer/2022071212/60246e3f29d64014bf7fc4cf/html5/thumbnails/35.jpg)
08/09/2010 35
Questions? Contact me:
[email protected] During foss4g:
[email protected] Between sessions at booth 12 (geosparc)
Thank you for your time!