Cover
Comença ara de franc data analytics Samenvatting.pdf
Summary
# Het data-analyseproces in sport
Het data-analyseproces in sport transformeert ruwe data naar bruikbare informatie om besluitvorming te ondersteunen en onzekerheid te verminderen door middel van technologie [1](#page=1).
### 1.1 Het belang van data-analyse in sport
Beslissingen in de sport worden vaak genomen met een inherente onzekerheid. Data-analyse helpt deze onzekerheid te verminderen en leidt tot meer gefundeerde beslissingen. Technologie is hierbij essentieel voor nauwkeurigere metingen, snellere analyses en nieuwe inzichten. Computationeel denken is cruciaal om problemen logisch te formuleren en technologie kritisch te evalueren. Het proces verschuift van beschrijvende naar prescriptieve analyses [1](#page=1) [22](#page=22).
### 1.2 De kernfasen van het data-analyseproces
Het data-analyseproces is een cyclische en iteratieve cyclus die uit vier kernfasen bestaat [1](#page=1) [79](#page=79) [8](#page=8).
#### 1.2.1 Data collectie (captatie)
Dit is de eerste en meest cruciale stap. Het doel is om gegevens te verzamelen die relevant zijn voor de specifieke doelstellingen van de analyse [1](#page=1) [8](#page=8).
* **Doelgerichtheid:** De selectie van data moet direct gerelateerd zijn aan het uiteindelijke doel [8](#page=8).
* **Automatisering:** Streven naar automatische dataverzameling voor efficiëntie en foutminimalisatie [8](#page=8).
##### 1.2.1.1 Datatypes en signalen
Diverse datatypes en signalen kunnen worden verzameld, elk met specifieke eigenschappen [35](#page=35) [43](#page=43) [65](#page=65) [79](#page=79) [9](#page=9):
* **Numerieke data:** Bestaat uit getallen en is direct geschikt voor kwantitatieve analyse [35](#page=35) [43](#page=43) [65](#page=65) [79](#page=79) [9](#page=9).
* **Signalen:** Metingen die werkelijke processen weergeven, vaak met een tijdscomponent [9](#page=9).
* **Tijdsreeks:** Een reeks meetpunten met een tijdsindicatie. Het tijdsinterval kan variabel of gelijk zijn. Bestaat uit tijd en amplitude [35](#page=35) [65](#page=65) [79](#page=79) [9](#page=9).
* **Digitaal signaal:** G gedigitaliseerde signalen met een bepaalde sampling frequentie [9](#page=9).
* **Geospatiale data:** Data die lokalisatie-informatie bevat [35](#page=35) [65](#page=65) [79](#page=79) [9](#page=9).
* **Video:** Een steeds belangrijkere bron voor data-analyse [65](#page=65) [79](#page=79) [9](#page=9).
* **Gegevens:** Naast signalen worden ook andere gegevens verzameld [35](#page=35).
* **Hartslag/Hartritmevariabiliteit (HRV):** Metingen gerelateerd aan de activiteit van het hart. HRV meet de variatie tussen opeenvolgende hartslagen [65](#page=65) [79](#page=79) [9](#page=9).
* **Lokalisatie:** Informatie over de positie van een object of persoon [65](#page=65).
* **Globaal (GPS):** Locatiebepaling via satellietnavigatie [65](#page=65) [9](#page=9).
* **Lokaal:** Locatiebepaling binnen een beperkt gebied, vaak met behulp van ankers rond het veld [9](#page=9).
* **Athlete focused data:** Gegevens gerelateerd aan individuele atleten [22](#page=22).
* **Athlete-event focused data:** Gegevens die specifiek betrekking hebben op de prestaties van een atleet tijdens een bepaald evenement [22](#page=22).
* **Team-event focused data:** Gegevens die de prestaties van een team tijdens een evenement beschrijven [22](#page=22).
##### 1.2.1.2 Meeteigenschappen en methoden
Belangrijke aspecten bij het meten zijn de meetfout, betrouwbaarheid en resolutie [9](#page=9).
* **Directe vs. indirecte meting:** Directe meting vindt plaats wanneer het te meten kenmerk direct wordt waargenomen, terwijl indirecte meting andere kenmerken meet om tot het gewenste kenmerk te komen [9](#page=9).
* **IMU (Inertial Measurement Unit):** Veelgebruikte sensoren die accelerometers, gyroscopen en magnetometers bevatten [9](#page=9).
#### 1.2.2 Data opslag
Na collectie worden de gegevens opgeslagen voor verdere verwerking. De manier waarop data wordt opgeslagen is cruciaal voor efficiënte analyse [1](#page=1) [65](#page=65) [8](#page=8).
* **Opslagmethoden en -systemen:**
* **Databases:**
* **Relationele databases:** Gestructureerde opslag in tabellen met gedefinieerde relaties [35](#page=35) [65](#page=65) [79](#page=79) [9](#page=9).
* **Niet-relationele databases (NoSQL):** Flexibelere opslagmethoden voor diverse datastructuren, zoals documenten [35](#page=35) [65](#page=65) [79](#page=79) [9](#page=9).
* **Datawarehouse/Data lake:** Systemen ontworpen voor grootschalige dataopslag en -analyse. Deze zijn gericht op het verzamelen van grote hoeveelheden data uit externe bronnen [16](#page=16) [80](#page=80) [9](#page=9).
* **API (Application Programming Interface):** Maakt communicatie tussen softwaretoepassingen mogelijk, vaak gebruikt voor data-uitwisseling [9](#page=9).
* **Sports Informatie Systeem:** Een centraal systeem voor het beheren van sportgerelateerde data [9](#page=9).
* **Dataformaten:** De manier waarop data wordt opgeslagen in bestanden [35](#page=35) [66](#page=66) [80](#page=80):
* **CSV (Comma Separated Values) en XLSX (Microsoft Excel-sheets):** Veelgebruikte formaten voor tabeldata [35](#page=35) [66](#page=66) [80](#page=80).
* **JSON (JavaScript Object Notation):** Een lichtgewicht data-uitwisselingsformaat, veel gebruikt voor web-API's en documenten [35](#page=35) [66](#page=66) [80](#page=80).
> **Tip:** Gecentraliseerde data in apps of systemen bevordert efficiëntie en toegankelijkheid [9](#page=9).
#### 1.2.3 Data voorbewerking (preprocessing)
Voordat data geanalyseerd kan worden, is preprocessing noodzakelijk om de kwaliteit en bruikbaarheid te waarborgen [66](#page=66) [79](#page=79) [80](#page=80).
* **Datakwaliteit:** Beoordelen en verbeteren van de accuraatheid, volledigheid en consistentie van de data. Het waarborgen van datakwaliteit is een fundamenteel aspect [66](#page=66) [80](#page=80).
* **Data Cleaning:** Identificeren en corrigeren van fouten, ontbrekende waarden of inconsistenties in de dataset. Dit omvat het opschonen van ruwe data [66](#page=66) [80](#page=80).
* **Data Transformatie:** Het omzetten van data naar een geschikter formaat of structuur voor analyse. Dit kan het normaliseren van waarden, het aggregeren van data, of het creëren van nieuwe variabelen (features) omvatten. Ook het transformeren van diverse datatypes naar numerieke waarden is essentieel [22](#page=22) [66](#page=66) [80](#page=80).
> **Tip:** Een grondige data preprocessing stap is cruciaal voor betrouwbare analyseresultaten. Slechte data leidt tot slechte inzichten [66](#page=66).
#### 1.2.4 Data-analyse
Dit is de fase waarin de verzamelde en voorbewerkte data worden onderzocht om inzichten te verwerven. Het doel is om de data te "vertalen" naar relevante informatie die de oorspronkelijke verzameldoelstellingen ondersteunt. Dit proces bouwt op van ruwe data naar informatie, kennis, en uiteindelijk wijsheid [43](#page=43) [66](#page=66) [79](#page=79).
* **Methoden:** Statistische methoden, algoritmes en visualisatietechnieken worden toegepast om patronen, trends en relaties te ontdekken .
* **Features en KPI's:** Meetinstrumenten en attributen kunnen worden vertaald naar Features (specifieke, meetbare eigenschappen) en Key Performance Indicatoren (KPI's - cruciale prestatiecijfers) ] [79](#page=79).
* **Performance model:** Kan bestaan uit prestatierankings en analyse van technische, tactische en fysieke aspecten [79](#page=79).
##### 1.2.4.1 AI in sportanalyse
Kunstmatige intelligentie (AI) speelt een steeds grotere rol, met name door machine learning technieken .
* **Supervised Learning:** Modellen leren van gelabelde data (bijv. K-Nearest Neighbors, Beslissingsbomen, Random Forests) ] .
* **Unsupervised Learning:** Modellen ontdekken patronen in ongelabelde data (bijv. K-Means Clustering) ] .
#### 1.2.5 Feedback
De resultaten van de analyse worden teruggekoppeld om het proces te informeren en te verbeteren, wat een cyclus creëert. Feedback vormt een integraal onderdeel van dit iteratieve proces [1](#page=1) [79](#page=79) [8](#page=8).
### 1.3 Toepassingen en uitdagingen in de sportwereld
De sportwereld genereert en gebruikt een breed scala aan data voor diverse doeleinden [10](#page=10).
#### 1.3.1 Toepassingen van data in sport
Data kan worden gebruikt voor:
* Persoonlijke ontwikkeling [10](#page=10).
* Performance analyses [10](#page=10).
* Scouting [10](#page=10).
* Medische data [10](#page=10).
* Planning [10](#page=10).
* Communicatie [10](#page=10).
* Rapportage [10](#page=10).
* Mentale coaching [10](#page=10).
* Administratie [10](#page=10).
* Wellbeing data (bijv. RPE - Rate of Perceived Exertion) ] [10](#page=10).
* Video analyses [10](#page=10).
* GPS-data [10](#page=10).
* Competitiedata [10](#page=10).
* Persoonlijkheidsprofielen [10](#page=10).
* Document management [10](#page=10).
#### 1.3.2 Uitdagingen in data-analyse in sport
Enkele belangrijke uitdagingen zijn:
* Verlies van kennis [11](#page=11).
* Decentralisatie van data [11](#page=11).
* Inefficiëntie [11](#page=11).
* Single point of entry problemen [11](#page=11).
* Naleving van GDPR (General Data Protection Regulation) ] [11](#page=11).
* Beveiligingskwesties [11](#page=11).
* Techniciteit van data en analyses [11](#page=11).
* Data-integraties [11](#page=11).
* Tijdsverlies [11](#page=11).
* Communicatieproblemen [11](#page=11).
* Personeelsverloop bij data-analisten [11](#page=11).
* Analyse van data-correlaties [11](#page=11).
* Digitale transformatie [11](#page=11).
> **Tip:** Het effectief beheren van deze uitdagingen vereist een geïntegreerde aanpak waarbij technologie, processen en menselijke expertise samenkomen [11](#page=11).
> **Example:** Het gebruik van een centraal sports informatiesysteem kan helpen bij het verminderen van decentralisatie en het verbeteren van data-integraties [11](#page=11).
### 1.4 ETL en ELT processen
Deze processen beschrijven hoe data wordt verplaatst en getransformeerd in datawarehouses en data lakes [16](#page=16).
* **ETL (Extract, Transform, Load):** Data wordt uit bronnen gehaald (Extract), omgezet naar een geschikt formaat (Transform), en vervolgens geladen (Load) in een data warehouse [16](#page=16).
* **ELT (Extract, Load, Transform):** Data wordt uit de bron gehaald (Extract) en direct geladen (Load) in een data lake of warehouse. De transformatie (Transform) vindt plaats binnen het data lake/warehouse voor specifieke analyses [16](#page=16).
#### 1.4.1 Data warehouse
Kenmerken:
* Richt zich op eerder gestructureerde data [16](#page=16).
* Fungeert als een "warenhuis" waaruit data voor analyse geëxtraheerd kan worden [16](#page=16).
* Data wordt voorbereid en bewerkt voordat het het data warehouse binnenkomt [16](#page=16).
* Verwerking voor analytics software is eenvoudig en snel na opzet [16](#page=16).
* Toepassingen: Data visualisatie, analyses en samenvattingen [16](#page=16).
#### 1.4.2 Data Lake
Kenmerken:
* Een opslagplaats waar "alle data wordt gedumpt", inclusief gestructureerde en ongestructureerde data [16](#page=16).
* Het primaire doel van de data is niet direct duidelijk bij opslag [16](#page=16).
* Vereist softwarestukken (Data factories) om data te extraheren en om te zetten naar verwerkbare structuren [16](#page=16).
* Biedt meer flexibiliteit maar ook meer complexiteit in dataverwerking [16](#page=16).
* Toepassingen: Big Data toepassingen, AI toepassingen, voorspellingen [16](#page=16).
---
# Methoden voor data captatie en meting
Dit hoofdstuk behandelt de verschillende methoden en technologieën voor het verzamelen van data, met een specifieke focus op positiebepaling en het gebruik van sensoren in de sportcontext.
### 2.1 Geospatiale en spatio-temporele data
Geospatiale data betreft positionele informatie in de ruimte of op een oppervlak. Dit kan twee- of driedimensionaal zijn (met toevoeging van hoogte). Wanneer deze data wordt gevisualiseerd, kan de tijdscomponent verloren gaan. Lokalisatiedata, zoals GPS-data, bevat coördinaten zoals breedtegraad en lengtegraad. Spatio-temporele data combineert ruimte- en tijdsaspecten, waarbij data over een periode wordt verzameld, vergelijkbaar met tijdreeksdata [28](#page=28) [2](#page=2).
### 2.2 Methoden voor positiebepaling van sporters
Er zijn hoofdzakelijk twee benaderingen voor het meten van de positie van sporters: radiotechnologie en computervisie [2](#page=2) [3](#page=3).
#### 2.2.1 Positionering via radiotechnologie
Radiotechnologie, vaak toegepast met draagbare apparatuur, maakt real-time meting van werkelijke coördinaten mogelijk. Een veelgebruikte methode is triangulatie, waarbij de positie wordt bepaald op basis van de afstand tot meerdere zenders; een minimum van drie zenders is vereist. De "afstand" wordt hierbij vaak afgeleid uit de signaalsterkte [2](#page=2).
#### 2.2.2 Globale positionering (GPS)
Globale positioneringssystemen (GPS) gebruiken satellieten om de positie op aarde te bepalen. De belangrijkste systemen zijn GPS (VS), GLONASS (Rusland), BeiDou (China) en Galileo (Europa). In de sport wordt GPS vaak aangevuld met Inertial Measurement Units (IMU's) om de accuraatheid te verbeteren. De samplingfrequentie varieert van 1 Hz voor sporthorloges tot 15 Hz voor gespecialiseerde sport-GPS-apparatuur [2](#page=2) [3](#page=3).
#### 2.2.3 Lokale positionering
Lokale positionering richt zich op nauwkeurigere bepaling binnen een afgebakend gebied, zoals een sportveld. Ultra Wide Band (UWB) is een technologie die hierbij wordt gebruikt en tevens gebruikmaakt van het Time of Flight (ToF) principe [3](#page=3).
Lokale systemen vereisen ankers rond het veld en zijn vaak minder mobiel en aanzienlijk duurder dan globale systemen [3](#page=3) [4](#page=4).
**Vergelijking globale en lokale positionering:**
| Kenmerk | Globaal (GPS) | Lokaal (bv. UWB) |
| :---------------- | :---------------- | :------------------- |
| Toepassingsgebied | Enkel outdoor | Indoor en outdoor |
| Mobiliteit | Mobiel | Vast of semi-mobiel |
| Samplingfrequentie| Laag | Hoger |
| Prijs | Eerder laag | Vaak hoger |
| Infrastructuur | Satellieten | Ankers rond het veld |
#### 2.2.4 Positionering via computervisie
Met computervisie-technieken kan informatie over de positie van sporters uit videobeelden worden geëxtraheerd. Dit omvat detectie van bewegende personen, identificatie van ploegen en het volgen van de bal [3](#page=3).
**Voordelen van computervisie:**
* Geen sensoren vereist op de sporters [3](#page=3).
* Mogelijkheid om andere sporters te analyseren zonder direct contact [3](#page=3).
* Kan ook de bal volgen [3](#page=3).
**Uitdagingen van computervisie:**
* Het verkrijgen van absolute coördinaten is zeer moeilijk [3](#page=3).
* Video is een 2D-projectie, wat leidt tot onnauwkeurigheid [3](#page=3).
* Video kan onscherp zijn of relevante delen van het beeld missen [3](#page=3).
* Real-time analyse is erg moeilijk [3](#page=3).
### 2.3 Praktische problemen en uitdagingen bij data captatie
#### 2.3.1 GPS en datavariabiliteit
GPS-gegevens kunnen aanzienlijk variëren door factoren zoals het opname-interval, signaalsterkte en de gebruikte GPS-hardware. Verschillende systemen en instellingen kunnen leiden tot uiteenlopende data, wat merkbaar is in bijvoorbeeld hoogtegegevens. Platforms zoals Garmin en Strava manipuleren data om deze nauwkeuriger te maken [4](#page=4).
#### 2.3.2 Lokalisatie met ankers
Lokalisatie via lokale systemen vereist ankers rond het veld en is vaak duurder en minder mobiel dan globale systemen [4](#page=4).
#### 2.3.3 Meetkwaliteit
De kwaliteit van een meting wordt bepaald door de meetfout, betrouwbaarheid en resolutie [25](#page=25).
* **Meetfout (bias):** Een systematische afwijking van de werkelijkheid. Indien bekend, kan deze softwarematig gecorrigeerd worden [25](#page=25).
> **Voorbeeld:** Een klok die vijf minuten voorloopt introduceert een systematische fout die gecompenseerd kan worden [25](#page=25).
* **Betrouwbaarheid:** De inherente onnauwkeurigheid van een meetmethode. Het streven is deze zo klein mogelijk te houden [25](#page=25).
* **Meetresolutie:** De nauwkeurigheid waarmee een waarde gemeten wordt. Een lagere resolutie beperkt het aantal onderscheidbare meetwaarden [25](#page=25).
> **Voorbeeld:** Een temperatuursensor met een bereik van 0-50 graden Celsius en 8-bits resolutie kan 256 stappen onderscheiden, wat een nauwkeurigheid van ongeveer 0.2 graden Celsius oplevert [25](#page=25).
#### 2.3.4 Directe vs. indirecte meting
* **Directe meting:** De gewenste parameter wordt rechtstreeks gemeten. Dit is vaak nauwkeuriger indien technisch haalbaar [24](#page=24).
* **Indirecte meting:** Een andere parameter wordt gemeten, waaruit de gewenste parameter wordt afgeleid met behulp van een model of formule [24](#page=24).
> **Voorbeeld:** Spronghoogte kan direct gemeten worden, of indirect berekend uit vliegtijd ($t_{vlucht}$) en zwaartekrachtversnelling ($g$) met de formule $h = \frac{1}{2}gt_{vlucht}^2$ [24](#page=24).
### 2.4 Sensoren en data-overdracht
Dit gedeelte behandelt diverse sensoren die gebruikt worden voor het verzamelen van sportgerelateerde data en methoden voor data-overdracht [4](#page=4).
#### 2.4.1 Soorten sensoren
* **Hartslagsensoren:** Meten de hartslag; elektrische meting wordt als accurater beschouwd. Hartslagvariabiliteit (HRV) verwijst naar de variatie tussen opeenvolgende hartslagen. Voor betrouwbare meting, vooral tijdens sport, wordt een HR-band aanbevolen. Optische sensoren (Fotoplethysmografie - PPG) meten hartslag via licht, zijn comfortabel en geschikt voor 24/7 monitoring, maar reageren trager op veranderingen dan elektrische sensoren [29](#page=29) [30](#page=30) [5](#page=5) [9](#page=9).
* **Inertial Measurement Units (IMU's):** Een van de meest gebruikte sensoren voor sportgerelateerde data, typisch bestaande uit een accelerometer, gyroscoop en magnetometer [30](#page=30) [5](#page=5) [9](#page=9).
* **Accelerometer:** Meet versnellingen in 3 loodrechte dimensies (X, Y, Z), uitgedrukt in 'g' (zwaartekracht) of m/s² [31](#page=31).
* **Gyroscoop:** Meet de snelheid van rotatie in 3 dimensies (eenheid rad/s) [31](#page=31).
* **Magnetometer:** Meet de sterkte en richting van een magnetisch veld [31](#page=31).
* Geavanceerde IMU's kunnen 10-DOF (Degree of Freedom) meten, inclusief een extra barometer [31](#page=31).
* **WiMU sensor:** Een specifiek sensorplatform dat verschillende sensoren integreert, inclusief positioneringsmogelijkheden [5](#page=5).
* **Overige sensoren:** GPS-sensoren en andere gekoppelde sensoren voor extra metingen. Bewegingsherkenning is ook een functionaliteit [5](#page=5).
* **Lichaamstemperatuursensor:** Relevant voor het monitoren van de effecten van hitte op atletische prestaties. Sensoren zoals de CORE-sensor of smartwatches kunnen de lichaamstemperatuur meten [31](#page=31).
#### 2.4.2 Data-overdracht methoden
* **Bedrade verbindingen:** Bieden betrouwbaarheid, veiligheid en hoge datasnelheid, geschikt voor stationaire apparaten. Nadelen zijn hogere kosten, gebrek aan mobiliteit en beperkte schaalbaarheid [5](#page=5).
* **Draadloze verbindingen:** Bieden mobiliteit, uitbreidbaarheid en zijn doorgaans kosteneffectiever [6](#page=6).
#### 2.4.3 Specifieke protocollen
ANT+ is een genoemde technologie voor data-overdracht in deze context [6](#page=6).
### 2.5 Datatypes en hun analyse
Diverse datatypes worden gebruikt in sportanalyse [23](#page=23) [28](#page=28) [9](#page=9).
* **Numerieke data:** Bestaat uit getallen en is direct geschikt voor kwantitatieve analyse. Dit is het meest gewenste datatype voor analyse [23](#page=23) [9](#page=9).
* **Signalen:** Metingen die werkelijke processen weergeven, vaak met een tijdscomponent [28](#page=28) [9](#page=9).
* **Tijdsreeks:** Een reeks meetpunten met een tijdsindicatie; het tijdsinterval kan variabel of gelijk zijn [28](#page=28) [51](#page=51) [9](#page=9).
* **Digitaal signaal:** Gedigitaliseerde signalen met een bepaalde samplingfrequentie [9](#page=9).
* **Geospatiale data:** Data die lokalisatie-informatie bevat [28](#page=28) [9](#page=9).
* **Video:** Een steeds belangrijkere bron van data-analyse [28](#page=28) [9](#page=9).
#### 2.5.1 Hartritmevariabiliteit (HRV)
HRV meet de variatie tussen opeenvolgende hartslagen. Een hogere HRV duidt op activiteit van het parasympathische zenuwstelsel (ontspanning), terwijl een lagere HRV duidt op activiteit van het sympathische zenuwstelsel (inspanning of stress). De "Root Mean Square of Successive Differences" (RMSSD) is een veelgebruikte en betrouwbare methode om HRV te berekenen. HRV wordt in de sport gebruikt om trainingsperiodes te identificeren, herstel te monitoren en overtraining te voorkomen [30](#page=30).
#### 2.5.2 Accelerometer data
Accelerometer data kan worden gebruikt voor activiteitsherkenning, bijvoorbeeld met het kNN algoritme. Features die hieruit geëxtraheerd kunnen worden, zijn onder andere piek-, gemiddelde-, en RMS-acceleratie, range, en snelheid van verandering in het tijdsdomein, alsook dominante frequentie in het frequentiedomein [31](#page=31) [55](#page=55).
### 2.6 Feature engineering
Feature engineering is het proces van het omvormen van ruwe data of het extraheren van specifieke eigenschappen die relevant zijn voor analyse [49](#page=49).
#### 2.6.1 Feature engineering in het tijdsdomein
Vaak worden beschrijvende statistieken gebruikt, zoals gemiddelde ($\bar{x}$), maximum/minimum ($max(x), min(x)$), standaarddeviatie ($s$), range ($max-min$) en Root Mean Square (RMS) [49](#page=49).
* **Voorbeeld:** Afstand berekenen uit een snelheidssignaal door integratie ($x(t) = \int v(t) dt$). Voor discrete samples: $x_i = \sum_{k=0}^{i} v_k \Delta t$ [49](#page=49).
* **Voorbeeld:** Sprint detecteren uit een snelheidssignaal door de versnelling te berekenen ($a(t) = \frac{dv(t)}{dt}$). Voor discrete samples: $a_i = \frac{v_{i+1}-v_i}{t_{i+1}-t_i}$ [49](#page=49).
#### 2.6.2 Feature engineering in het frequentiedomein
Data wordt vaak getransformeerd met technieken zoals de Fast Fourier Transform (FFT) om frequentiecomponenten te analyseren [50](#page=50).
* **Voorbeeld:** HRV-features zoals HF (High Frequency, 0.15-0.4 Hz, parasympathisch) en LF (Low Frequency, 0.04-0.15 Hz, sympathisch). De LF/HF ratio geeft de balans van het autonome zenuwstelsel weer [50](#page=50).
#### 2.6.3 Toepassingsvoorbeelden van feature engineering
* **Accelerometer data:** Kan leiden tot features zoals piekversnelling, gemiddelde versnelling, range, RMS, en dominante frequentie (bv. stapfrequentie) [50](#page=50).
* **HRV:** Naast frequentiedomeinfeatures zijn er ook tijdsdomeinfeatures zoals RMSSD, SDNN, SDSD, en NN50 [50](#page=50).
* **GPS data in sport (voetbal, rugby, hockey):** Combineert GPS- en IMU-data voor een breed scala aan features, waaronder afstand, snelheid, hartslag, acceleraties/deceleraties, impacts, sprints, en metabolische parameters [50](#page=50) [53](#page=53).
> **Tip:** Creativiteit en domeinkennis zijn cruciaal bij feature engineering, aangezien de relevantie van features sterk afhangt van de specifieke analyse [51](#page=51).
### 2.7 Data opslag en analyse
Data opslag is een cruciaal onderdeel van het data-analyse proces. De data-analyse fase is waar inzichten uit de data worden gehaald, met behulp van technieken zoals machine learning [9](#page=9).
#### 2.7.1 Data opslag in relationele databases
Sensoren die signalen verzamelen, zoals hartslagvariabiliteit (HRV), kunnen worden opgeslagen in relationele databases .
#### 2.7.2 Data voorbewerking
Voordat data gebruikt kan worden in machine learning modellen, zijn data cleaning (bv. imputeren van ontbrekende waarden) en data transformatie (bv. normaliseren van tijdstempels) noodzakelijk .
> **Tip:** Het correct toepassen van data voorbewerking is essentieel; slechte datakwaliteit leidt tot ongeldige analyses .
### 2.8 Computer vision en geautomatiseerde videoanalyse
Computer vision (CV) stelt computers in staat beelden te analyseren met behulp van AI, waarbij taken worden geautomatiseerd die normaal door het menselijk oog worden uitgevoerd. Het proces begint met visuele gegevens (foto's, video's) als input en levert gestructureerde informatie als output [85](#page=85) [98](#page=98).
#### 2.8.1 Beeldvorming en uitdagingen in computer visie
Beeldvorming in het zichtbare spectrum maakt gebruik van fotoreceptoren; analoge signalen worden omgezet in digitale waarden. CV kan ook plaatsvinden buiten het zichtbare spectrum (bv. infraroodcamera's) [98](#page=98).
**Uitdagingen in CV:**
* Verlichting en schaduw [98](#page=98).
* Objectpositie en kijkrichting [98](#page=98).
* Occlusies (gedeeltelijk of volledig verborgen objecten) [98](#page=98).
* Intraclass-variatie (objecten binnen dezelfde klasse verschillen in uiterlijk) [98](#page=98).
* Objectinteracties [98](#page=98).
#### 2.8.2 Beeldverbetering (pre-processing)
Beelden worden vaak verbeterd door correctie van over- en onderbelichting alvorens ze voor verdere analyse te gebruiken. Het histogram is een cruciaal hulpmiddel dat het aantal pixels voor elke intensiteitswaarde weergeeft en kan gebruikt worden voor correcties zoals histogram-egalisatie [98](#page=98).
#### 2.8.3 Frames per seconde (FPS)
FPS geeft aan hoeveel individuele beelden per seconde worden opgenomen, cruciaal voor de vloeiendheid van beweging. Standaardwaarden zijn 24, 25, 30, 50 en 60 FPS. High-speed camera's kunnen extreem hoge FPS-waarden bereiken voor het zichtbaar maken van zeer snelle processen [97](#page=97).
### 2.9 Dataverzameling in wearables
Wearables verzamelen data via een cyclus van dataverzameling, feedback, data-analyse en data-opslag .
#### 2.9.1 Interne sensoren
* **Lokalisatie sensoren:** Multi-Band GNSS (bv. GPS, GLONASS, GALILEO) voor lokalisatie via satellietsystemen .
* **Optische hartslagsensoren:** Meten de hartslag direct op de horloge .
* **Pulse oximeter:** Meet de perifere zuurstofverzadiging (SpO2) .
* **Bewegingssensoren:** Accelerometer voor activiteitstracking, kompas (magnetometer) voor directionele informatie, en hoogtemeter/barometer voor hoogte en luchtdruk .
#### 2.9.2 Externe sensoren
Externe sensoren kunnen via draadloze protocollen zoals ANT+ of Bluetooth Low Energy (BTLE) worden gekoppeld aan wearables. Voorbeelden hiervan zijn hartslagbanden, vermogensmeters, running pods, smart trainers en cadanssensoren .
---
# Dataopslag en communicatie
Dit onderwerp behandelt de fundamenten van dataopslag en de mechanismen voor data-uitwisseling, cruciaal voor moderne informatiesystemen in de sportwereld.
### 3.1 Dataopslagmethoden en -systemen
#### 3.1.1 De noodzaak van intelligente dataopslag
In de hedendaagse datagedreven sportwereld is veilige en efficiënte dataopslag van cruciaal belang. Data is essentieel voor diverse aspecten, van spelerontwikkeling en wedstrijdstrategieën tot publieksbeheer en organisatorische beslissingen (#page=10, 11). Het verzamelen van data uit uiteenlopende bronnen, zoals trainingsdata, testresultaten, videoanalyses en surveillancedata, vereist een intelligente opslagmethode om informatiecombinaties mogelijk te maken voor betere begeleiding en efficiëntere besluitvorming. Een goed ontworpen opslagsysteem is noodzakelijk om gegevens uit verschillende bronnen te kunnen samenvoegen en verwerken [10](#page=10) [11](#page=11).
#### 3.1.2 Databases
Een database is een georganiseerde verzameling van gegevens die elektronisch wordt opgeslagen en geraadpleegd kan worden met behulp van een databasebeheersysteem (DBMS) [12](#page=12).
##### 3.1.2.1 CRUD-operaties
De interactie met een database verloopt via vier basistypes, bekend als CRUD-operaties:
* **Create**: Nieuwe records toevoegen [12](#page=12).
* **Read**: Bestaande records opvragen [12](#page=12).
* **Update**: Bestaande records wijzigen [12](#page=12).
* **Delete**: Bestaande records verwijderen [12](#page=12).
##### 3.1.2.2 Queries
Een query, of vraagstelling, is een reeks instructies die aan een databasebeheersysteem wordt geformuleerd om data op te vragen, te bewerken of te beheren [12](#page=12).
##### 3.1.2.3 Types databases
Er zijn twee hoofdtypen databases: relationele en niet-relationele databases [12](#page=12).
###### 3.1.2.3.1 Relationele databases
Relationele databases, ook bekend als SQL (Structured Query Language) databases, slaan data op in tabellen met een vooraf gedefinieerde structuur, waarbij kolommen attributen en rijen records vertegenwoordigen [12](#page=12).
* **Kenmerken**:
* Data wordt opgeslagen in tabellen die met elkaar in relatie staan [13](#page=13).
* De structuur (datamodel) moet vanaf het begin worden vastgelegd [13](#page=13).
* Aanpassingen aan de structuur zijn complex [13](#page=13).
* Relatief eenvoudig op te zetten en mee te werken [13](#page=13).
* Bestaan al sinds de jaren '70 [13](#page=13).
* **Datamodellering**:
* **ER-diagram (Entiteits-relatiediagram)**: Een grafische representatie van de relaties tussen verschillende objecten die het datamodel vormen [13](#page=13).
* **Key-waardes**:
* **Primary key**: Een unieke sleutel per record in een tabel [13](#page=13).
* **Foreign key (referentiële sleutel)**: Verwijst naar een primary key in een andere tabel [13](#page=13).
* **Kardinaliteit van relaties**:
* **One to one (1:1)**: Elke entiteit in de ene tabel correspondeert met maximaal één entiteit in de andere tabel (bijv. Persoon <-> Paspoort) [13](#page=13).
* **One to many (1:N)**: Eén entiteit in de ene tabel kan corresponderen met meerdere entiteiten in de andere tabel (bijv. Ouder <-> Kind) [13](#page=13).
* **Many to many (N:M)**: Meerdere entiteiten in de ene tabel kunnen corresponderen met meerdere entiteiten in de andere tabel (bijv. Broers/zussen <-> Broers/zussen) [13](#page=13).
* **Soorten datamodellen**: Conceptueel, Logisch, Fysisch [13](#page=13).
* **Data Normalisatie**: Een proces om gegevens te organiseren en anomalieën zoals dubbele records of ontbrekende gegevens te verminderen of te elimineren [13](#page=13).
* **Voordelen**:
* **ACID-compliantie**: Garandeert de betrouwbaarheid van databasetransacties [13](#page=13).
* **Atomiciteit**: Transacties zijn "alles of niets" [13](#page=13).
* **Consistentie**: Data is valide volgens de gedefinieerde regels [13](#page=13).
* **Isolatie**: Transacties conflicteren niet met elkaar [13](#page=13).
* **Duurzaamheid**: Transacties zijn permanent opgeslagen [13](#page=13).
* **Data accuracy**: Voorkomt dubbele informatie door gebruik van primary en foreign keys [13](#page=13).
* **Normalisatie**: Vereenvoudigt data [13](#page=13).
* **Relatief lage leercurve**: Eenvoudig in gebruik [13](#page=13).
* **Nadelen**:
* **Schaalbaarheid**: Vaak ontworpen om op één machine te draaien, wat verticaal schalen (hardware verbeteren) duur maakt en grenzen kent [14](#page=14).
* **Flexibiliteit**: Rigide schema's met vaste gegevenstypen en beperkingen. Structuurwijzigingen zijn complex en kunnen downtime vereisen [14](#page=14).
* **Prestatie**: Prestaties kunnen afnemen naarmate tabellen en de hoeveelheid data toenemen, waardoor queries langer duren [14](#page=14).
* **Voorbeelden van relationele databases**:
* **MySQL**: Eenvoudigere structuur, ondersteunt basisformaten, makkelijk op te zetten, maar trager [14](#page=14).
* **PostgreSQL**: Complexer, ondersteunt meer dataformaten, sneller, maar moeilijker in gebruik [14](#page=14).
* **SQL (Structured Query Language)**: De standaardtaal voor het communiceren met relationele databases [14](#page=14).
> **Example**: Een voorbeeld van een SQL query:
> ```sql
> SELECT *
> FROM locations
> WHERE time >= TIMESTAMPTZ '2025-09-17 12:00:00+00'
> AND time < TIMESTAMPTZ '2025-09-17 14:00:00+00'
> AND device_id IN (87,98)
> order by time asc
> ```
> Dit selecteert alle kolommen (*) uit de `locations` tabel, filtert op tijdsbereik en `device_id`, en sorteert de resultaten op tijd [14](#page=14).
###### 3.1.2.3.2 Niet-relationele databases (NoSQL)
Niet-relationele databases, vaak aangeduid als NoSQL (Not Only SQL), gebruiken geen tabellen, rijen en kolommen op de traditionele manier. Ze bieden een flexibele manier om data op te slaan zonder vaste structuur en zijn ontstaan rond 2010 omdat de "one-size-fits-all" SQL-aanpak onvoldoende bleek voor diverse data. Ze ondersteunen ook CRUD-operaties [14](#page=14).
* **Document types**: Vaak gebruikt voor opslag van data in formats zoals.XLSX,.CSV, en.JSON [14](#page=14).
* **CSV (Comma Separated Value)**: Tekstbestand waarbij gegevens gescheiden worden door komma's. De eerste rij bevat meestal kolomtitels, en volgende rijen bevatten de data (#page=14, 35, 65, 104, 107, 113) [14](#page=14) [35](#page=35) [65](#page=65).
* **JSON (JavaScript Object Notation)**: Een gestandaardiseerd, tekstgebaseerd dataformaat voor gestructureerde data. Populair voor het uitwisselen en opslaan van data, inclusief tijdreeksen (#page=14, 35, 65, 104, 107, 113, 114) [14](#page=14) [35](#page=35) [65](#page=65).
* **Voordelen**:
* **Flexibele structuur/datamodel**: Kan altijd worden aangepast en uitgebreid [15](#page=15).
* **Schaalbaarheid**: Snel en goedkoop opschalen van database/opslagruimte [15](#page=15).
* **Snelheid**: Snel opslaan en ophalen van data, met name bij grote datasets [15](#page=15).
* **Toekomstgericht**: Gebaseerd op cloud-architectuur, Big Data compatibel, en makkelijk uit te breiden voor specifieke applicaties [15](#page=15).
* **Nadelen**:
* **Complexe leercurve**: Geen standaard of makkelijk leerbare taal [15](#page=15).
* **Minder geoptimaliseerde opslag**: Dataopslag is vaak minder geoptimaliseerd [15](#page=15).
* **Geen gegarandeerde ACID-compliantie**: Dubbele kopieën kunnen voorkomen, ontwerp moet dit voorkomen [15](#page=15).
* **Complexe queries**: Query's over verschillende documenten heen kunnen erg complex worden [15](#page=15).
* **Bekende voorbeelden van niet-relationele databases**: MongoDB, Cassandra, Bigtable [15](#page=15).
#### 3.1.3 Gestructureerde vs. niet-gestructureerde data
De keuze tussen relationele en niet-relationele databases hangt af van het type data [15](#page=15).
* **Gestructureerde data**: Georganiseerde data met duidelijke verbanden. Vaak gerelateerd aan relationele databases [15](#page=15).
* **Niet-gestructureerde data**: Al het overige, zoals teksten, social media data, beelden en satellietbeelden [15](#page=15).
#### 3.1.4 Data warehouses en Data lakes
Deze systemen zijn primair gericht op het verzamelen van grote hoeveelheden data uit externe bronnen voor uiteindelijke analyse. Connecties met andere databronnen worden gelegd om data te verzamelen, en dit gebeurt typisch periodiek in plaats van real-time [16](#page=16).
##### 3.1.4.1 ETL en ELT
* **ETL (Extract, Transform, Load)**: De data wordt uit de bronnen gehaald (Extract), omgezet naar een formaat geschikt voor opslag (Transform), en vervolgens in de nieuwe omgeving geladen (Load). Dit proces vindt plaats voordat de data in een data warehouse komt (#page=16, 45) [16](#page=16) [45](#page=45).
* **ELT (Extract, Load, Transform)**: De data wordt uit de bron gehaald (Extract) en direct geladen (Load) in een data lake of warehouse. De transformatie (Transform) vindt plaats binnen het data warehouse/data lake voor specifieke analyses (#page=16, 45) [16](#page=16) [45](#page=45).
##### 3.1.4.2 Data warehouse
* **Kenmerken**:
* Richt zich op eerder gestructureerde data [16](#page=16).
* Fungeert als een "warenhuis" waaruit data voor analyse geëxtraheerd kan worden [16](#page=16).
* Data wordt voorbereid en bewerkt voordat het het data warehouse binnenkomt [16](#page=16).
* Verwerking voor analytics software is eenvoudig en snel na opzet [16](#page=16).
* Toepassingen: Data visualisatie, analyses en samenvattingen van data [16](#page=16).
##### 3.1.4.3 Data Lake
* **Kenmerken**:
* Een opslagplaats waar "alle data wordt gedumpt", inclusief zowel gestructureerde als niet-gestructureerde data [16](#page=16).
* Het primaire doel van de data is niet direct duidelijk bij opslag [16](#page=16).
* Vereist softwarestukken (Data factories) om data te extraheren en om te zetten naar verwerkbare structuren voor specifieke toepassingen [16](#page=16).
* Biedt meer flexibiliteit maar ook meer complexiteit in dataverwerking [16](#page=16).
* Toepassingen: Big Data toepassingen, AI toepassingen, voorspellingen [16](#page=16).
##### 3.1.4.4 Samenvatting Data Lake vs. Data Warehouse
| Kenmerk | Data Warehouse | Data Lake |
| :-------------- | :--------------------------------------------- | :---------------------------------------------------------------------- |
| Data Type | Eerder gestructureerde data | Gestructureerde en niet-gestructureerde data |
| Doel | Analytics, dagelijkse samenvattingen | Opslag van ruwe data, gerichte analyse per doel |
| Verwerking | Voorafgaande transformatie (ETL) | Transformatie na opslag (ELT) |
| Flexibiliteit | Minder flexibel, gestructureerd | Meer flexibel, ruwe data |
| Complexiteit | Eenvoudiger voor analytics na opzet | Complexer om data te verwerken |
| Toepassingen | Rapportage, Business Intelligence | Big Data, AI, Machine Learning, Voorspellingen |
| | | | [17](#page=17).
#### 3.1.5 Voorbeeld: Tennis en Padel Vlaanderen
Dit sportorgaan maakt gebruik van een gigantische relationele database voor hun spelersvolgsysteem en online databronnen. Daarnaast wordt een datalake ingezet voor online databronnen [17](#page=17).
#### 3.1.6 Samenvattend overzicht van dataopslagmethoden
De belangrijkste methoden voor dataopslag omvatten relationele databases, niet-relationele databases en data warehouses/data lakes. Deze systemen kunnen, samen met API's en sportinformatiesystemen, zorgen voor gecentraliseerde data en applicaties [17](#page=17).
### 3.2 Communicatie en integratie via API's en informatiesystemen
Dit onderwerp verkent de mechanismen voor applicatiecommunicatie, met name via REST-API's en de bijbehorende tools, en introduceert de architectuurprincipes van moderne sportinformatiesystemen [17](#page=17).
#### 3.2.1 Application Programming Interfaces (API's)
Een API is een stuk technologie dat ervoor zorgt dat twee applicaties met elkaar kunnen communiceren. Het fungeert als een 'bibliotheek' die uitlegt hoe data of informatie uit de ene applicatie kan worden verkregen [18](#page=18).
##### 3.2.1.1 REST-API's
REST-API (Representational State Transfer-API) is de meest gebruikte methode voor API-communicatie. Informatie wordt via REST-API's teruggegeven in formaten zoals JSON, HTML, of platte tekst. Ze maken gebruik van HTTP-requests en zijn zeer flexibel. De commando's die gebruikt worden in REST-API's zijn vergelijkbaar met CRUD (Create, Read, Update, Delete) operaties [18](#page=18):
* **GET**: Lees data vanuit de applicatie [18](#page=18).
* **POST**: Creëer een nieuwe data-ingave in de applicatie [18](#page=18).
* **PATCH**: Update een bepaalde waarde in de applicatie [18](#page=18).
* **PUT**: Vervangt een waarde in de applicatie [18](#page=18).
* **DELETE**: Verwijdert een waarde in de applicatie [18](#page=18).
##### 3.2.1.2 Structuur van een API
Een API is opgebouwd uit verschillende componenten [18](#page=18):
* **Base URL**: Het startpunt van de API, bestaande uit het domein en het pad [18](#page=18).
* **Endpoint**: Een specifiek onderdeel van de API dat aangesproken wordt [18](#page=18).
* **Headers**: Extra informatie die wordt meegestuurd, zoals authenticatiegegevens (bijvoorbeeld een Bearer token of API key) [18](#page=18).
* **Parameters (query/path)**: Aanvullende filters of variabelen die worden meegegeven aan de request [18](#page=18).
##### 3.2.1.3 Tools voor API's
Er zijn diverse tools beschikbaar om API's te ontwerpen, documenteren, testen en te gebruiken [18](#page=18).
###### 3.2.1.3.1 Swagger
Swagger is een framework rond de OpenAPI Specification (OAS) dat gebruikt wordt om REST API's te beschrijven, documenteren en testen. De belangrijkste onderdelen zijn [18](#page=18):
* **Swagger UI**: Biedt interactieve documentatie en maakt het mogelijk om API-calls direct in de browser te testen [18](#page=18).
* **Swagger Editor**: Hiermee kunnen API's worden ontworpen in YAML of JSON [18](#page=18).
* **Swagger Codegen**: Genereert automatisch client- of servercode op basis van de API-specificatie [18](#page=18).
> **Tip**: De voordelen van het gebruik van Swagger zijn onder andere standaardisatie, een duidelijk overzicht voor zowel ontwikkelaars als niet-ontwikkelaars, en snelle testmogelijkheden. Een voorbeeld van Swagger UI is te vinden op https://transfermarkt-api.fly.dev/docs [19](#page=19).
###### 3.2.1.3.2 Postman
Postman is een veelgebruikte softwaretool om API's zelf uit te testen. Het is beschikbaar als online tool [19](#page=19).
###### 3.2.1.3.3 Python voor API's
API's kunnen ook programmatisch worden aangeroepen, bijvoorbeeld met de Python `requests` library [19](#page=19).
> **Tip**: Voor opdrachten is het aan te raden om eerst API calls te maken met Postman en daarna de functionaliteit na te bouwen met Python [19](#page=19).
##### 3.2.1.4 Voorbeelden van API's
Voor oefeningen zijn er diverse API's beschikbaar om te verkennen [19](#page=19):
* **Transfermarkt API**: Biedt toegang tot sportgegevens, zoals competities, ploegen, spelers en hun statistieken [19](#page=19).
* **Football-Data.org API**: Vereist registratie voor een gratis account en een API token die als header (`X-Auth-Token`) moet worden meegestuurd [19](#page=19).
> **Example**: Een API call kan bijvoorbeeld gebruikt worden om voetbalstatistieken van een specifieke speler op te vragen via de Transfermarkt API [19](#page=19).
#### 3.2.2 Sport Informatiesystemen
De behoefte aan het analyseren van steeds grotere hoeveelheden data binnen de sportsector groeit. Dit heeft geleid tot de opkomst van sportinformatiesystemen die ervoor zorgen dat diverse tools en data samenwerken. Er worden twee hoofdtypen architecturen onderscheiden [19](#page=19):
##### 3.2.2.1 Architectuur 1: Application Driven
Bij een application-driven architectuur is de data vaak direct gekoppeld aan een specifieke applicatie, wat de toegankelijkheid kan bemoeilijken [19](#page=19).
##### 3.2.2.2 Architectuur 2: Data Driven
Een data-driven architectuur daarentegen centraliseert de data, wat de waarde ervan vergroot. Dit type architectuur wordt gezien als de toekomst, maar brengt uitdagingen met zich mee in het verbinden van data-producenten en gebruikers [20](#page=20).
> **Tip**: Traditioneel waren sportinformatiesystemen vaak app-gecentreerd, waarbij de data bij de app zelf lag en moeilijk toegankelijk was. Vaak was toegang tot deze data via API's zelfs betalend [20](#page=20).
#### 3.2.3 Samenvatting Data Opslag en Systemen
Samenvattend kan data opgeslagen worden in verschillende formaten en systemen [20](#page=20):
* **Databases**: Relationele databases, niet-relationele databases [20](#page=20).
* **Datawarehouse/Data lake**: Grote opslagplaatsen voor diverse soorten data [20](#page=20).
* **API**: Faciliteert communicatie en integratie tussen systemen [20](#page=20).
* **Sport Informatie Systeem**: Kan app-gecentreerd of data-gecentreerd zijn. De trend gaat richting data-centralisatie voor betere analyse en waarde [20](#page=20).
### 3.3 Dataopslag en feedbackmechanismen
Dit onderwerp verkent hoe data wordt opgeslagen op wearables, smartphones en websites, en hoe deze data wordt teruggekoppeld naar de gebruiker via visuele en tekstuele elementen .
#### 3.3.1 Dataopslag
Dataopslag is een cruciaal onderdeel van het data-analytische proces, na data collectie en voor data analyse. De manier waarop data wordt opgeslagen varieert afhankelijk van het type apparaat .
##### 3.3.1.1 Opslag op wearables en smartphones
Wearables, zoals smartwatches, slaan data op en sturen deze door naar een app op de smartphone. Deze communicatie vindt plaats via technologieën zoals Bluetooth Low Energy (BTLE). De smartphone kan vervolgens data verzenden via Wi-Fi of mobiele data (4G) naar cloudservices .
##### 3.3.1.2 Dataformaten en opslaglocaties
Er zijn diverse dataformaten en opslagmethoden :
* **CSV/XLSX**: Gestructureerde dataformaten, vaak gebruikt voor tabulaire gegevens .
* **JSON**: Een lichtgewicht data-uitwisselingsformaat, veelgebruikt voor web-API's .
* **Databases**:
* **Relationele databases**: Georganiseerd in tabellen met rijen en kolommen .
* **Niet-relationele databases (NoSQL)**: Kunnen data opslaan in diverse structuren zoals documenten .
* **Data warehouse/Data lake**: Grote opslagplaatsen voor gestructureerde en ongestructureerde data ten behoeve van analyse .
### 3.4 Data en de analyse ervan
#### 3.4.1 Datatypes voor analyse
Voor analyse is het belangrijk om te onderscheiden welke datatypes geschikt zijn voor analyse. Numerieke data is hiervoor essentieel. Data kan worden gecategoriseerd op basis van hun aard en hoe ze kunnen worden geanalyseerd [35](#page=35).
##### 3.4.1.1 Numerieke data
Numerieke data bestaat uit getallen en kan direct worden geanalyseerd met statistische methoden. Voorbeelden zijn metingen zoals snelheid, hartslag, temperatuur of lengte. Dit zijn kwantitatief meetbare datatypes die direct geanalyseerd kunnen worden [65](#page=65).
##### 3.4.1.2 Signaaltypes
Signaaltypes vertegenwoordigen data die in de tijd of ruimte is geordend. Ze representeren specifieke patronen of opeenvolgingen van data [44](#page=44).
* **Tijdsreeksen (Time Series)**: Data verzameld over opeenvolgende tijdstippen. Dit kan bijvoorbeeld de hartslag van een atleet gedurende een wedstrijd zijn, of de aandelenkoersen over meerdere dagen. Ook data verzameld over een bepaalde periode, zoals hartslag of hartritmevariabiliteit, valt hieronder (#page=35, 44, 65) [35](#page=35) [44](#page=44) [65](#page=65).
> **Tip**: Tijdsreeksdata vereist specifieke analysemethoden die rekening houden met de temporele afhankelijkheid tussen datapunten .
* **Geospatiale data**: Data die een geografische locatie heeft. Dit omvat informatie die is gekoppeld aan coördinaten op een kaart, zoals GPS-locaties van sporters of de grenzen van een sportveld. Data die zowel een locatie als een tijdcomponent heeft, zoals GPS-coördinaten, valt hieronder. Geospatiale reeksen zijn data met een geografische component, zoals lokalisatiegegevens [35](#page=35) [65](#page=65).
##### 3.4.1.3 Gegevens
Naast signalen worden ook andere vormen van gegevens verzameld. Voorbeelden van gegevens die verzameld kunnen worden, omvatten hartslag/hartritmevariabiliteit, lokalisatie (globaal via GPS of lokaal), en video-opnames. Dit kan variëren van fysieke metingen (hartslag/hartritmevariabiliteit) tot locatiegegevens en video (#page=65, 104) [35](#page=35) [44](#page=44) [65](#page=65).
> **Example**: Bij de analyse van sportprestaties kan de hartslag (een tijdsreeks signaal) samen met de locatie van de sporter (een geospatiale reeks gegevens) geanalyseerd worden om de inspanning en route te begrijpen [44](#page=44).
#### 3.4.2 Dataformaten
Data kan in diverse formaten worden opgeslagen, waaronder (#page=35, 65) [35](#page=35) [65](#page=65):
* **CSV (Comma Separated Values)**: Een veelvoorkomend plat tekstformaat voor het opslaan van tabeldata. Elk getal of tekst is gescheiden door een komma .
> **Example**:
> ```csv
> PlayerID,HeartRate,Speed(m/s)
> 608,150,5.2
> 608,152,5.5
> 594,145,4.8
> ```
> .
* **XLSX (Microsoft Excel Spreadsheet)**: Een bestandsformaat voor spreadsheettoepassingen, dat tabellen, formules en grafieken kan bevatten .
* **JSON (JavaScript Object Notation)**: Een lichtgewicht data-uitwisselingsformaat dat mens-leesbaar is en veel gebruikt wordt in webtoepassingen en API's. Het organiseert data in sleutel-waarde paren en geneste objecten .
#### 3.4.3 Voorbeeld van data-analyse in de sport
Een typisch voorbeeld van data-analyse in de sport is het verwerken van GPS-data van een hockeywedstrijd. De data kan informatie bevatten zoals :
* Player ID: Unieke identificatie van een speler .
* Hartslag: De hartslag van de speler op een bepaald moment .
* Snelheid: De snelheid van de speler, vaak gemeten in meters per seconde ($m/s$) .
* X-coördinaten, Y-coördinaten: De positie van de speler op het veld .
* Tijd: Het tijdstip waarop de meting is gedaan .
* Relatieve tijd: De tijd gemeten vanaf het begin van de analyse of een specifiek evenement .
Met deze data kunnen verschillende analyses worden uitgevoerd, zoals:
* Visualiseren van de snelheid van een speler over tijd .
* Het weergeven van de bewegingspatronen van een speler op het veld .
* Het creëren van een heatmap om gebieden op het veld weer te geven waar een speler veel tijd doorbrengt .
* Berekenen van de totale afgelegde afstand .
* Analyseren van hartslagparameters zoals de maximale en gemiddelde hartslag .
* Identificeren van sprints (snelheid hoger dan een bepaalde drempel, bijvoorbeeld meer dan 20 km/h) .
Voor de omzetting van snelheid van meters per seconde ($m/s$) naar kilometers per uur ($km/h$) wordt de volgende formule gebruikt:
$$ \text{Snelheid (km/h)} = \text{Snelheid (m/s)} \times \frac{1000 \text{ meter}}{3600 \text{ seconden}} $$
$$ \text{Snelheid (km/h)} = \text{Snelheid (m/s)} \times 3.6 $$
---
# Data voorbewerking, transformatie en machine learning
Dit deel van de studiehandleiding behandelt de cruciale stappen van data voorbewerking, zoals data cleaning en transformatie, en introduceert fundamentele machine learning concepten, waaronder supervised en unsupervised learning, met specifieke toepassingen binnen de sportdata-analyse.
### 4.1 Data preprocessing
Data preprocessing is een essentiële voorbereidende fase in data-analyse waarbij ruwe data wordt klaargemaakt voor analyse en machine learning modellen. Het doel is om de kwaliteit en bruikbaarheid van de data te verbeteren. Echte data is zelden perfect en wordt beschouwd als "rommelig", wat betekent dat het voorbewerking vereist voordat het geanalyseerd kan worden, omdat menselijke betrokkenheid bij dataverzameling onvermijdelijk tot fouten leidt. Het principe "garbage in = garbage out" benadrukt dat goed voorbewerkte data cruciaal is, soms zelfs belangrijker dan de analysemethoden zelf [46](#page=46) [80](#page=80).
#### 4.1.1 Data cleaning
Data cleaning richt zich op het opschonen van ruwe data en het corrigeren of verwijderen van onjuiste, incomplete of inconsistente data. Dit proces omvat het aanpakken van ontbrekende data en ruis op de data [40](#page=40) [80](#page=80).
##### 4.1.1.1 Omgaan met ontbrekende data
Ontbrekende data is een veelvoorkomend probleem dat de betrouwbaarheid van analyses kan beïnvloeden. Vaak aangeduid als NaN (Not a Number), wordt dit opgelost door ontbrekende waarden te vervangen of de records met ontbrekende waarden weg te laten. Verschillende strategieën zijn mogelijk [40](#page=40) [46](#page=46) [47](#page=47):
* **Data weglaten/verwijderen**: Het verwijderen van observaties of variabelen met missing data.
* **Vervangen door 0**: Alle missing waarden vervangen door nul.
* **Vervangen door gemiddelde of mediaan**: Missing waarden vervangen door het gemiddelde of de mediaan van de bestaande waarden in die variabele.
* **Data imputatie**: Het vervangen van missing data door een "geschatte waarde" die wordt bepaald met behulp van andere data en informatie uit de dataset. Dit voegt intelligentie toe aan het proces en vereist goed inzicht in de data en data science vaardigheden [47](#page=47).
##### 4.1.1.2 Omgaan met ruis op de data
Ruis op de data verwijst naar ongewenste variaties of fouten die de onderliggende patronen kunnen maskeren. Dit kan meetonnauwkeurigheden of meetfouten (outliers) omvatten. Mogelijke strategieën omvatten [40](#page=40) [47](#page=47):
* **Binning**: Het groeperen van data in intervallen.
* **Clustering**: Het groeperen van data met behulp van wiskundige methoden.
##### 4.1.1.3 Data cleaning voor tijdsreeksen
Data cleaning is ook cruciaal bij tijdsreeksdata, waar specifieke uitdagingen en methoden gelden [47](#page=47).
* **Sampling frequentie**: Bij tijdsreeksen is het belangrijk om te zorgen dat er data beschikbaar is op elk gewenst tijdstip. Als de tijd tussen opeenvolgende samples variabel is, maar de analyse gelijke tijdsintervallen vereist, kan interpolatie gebruikt worden [47](#page=47).
* **Downsamplen**: Wanneer de sampling frequentie te hoog is, wat resulteert in een grote hoeveelheid datapunten die de analyse vertraagt. Hierbij worden meetpunten weggelaten of aangepast aan de nieuwe, gewenste tijdstippen. Twee methoden zijn:
1. Alleen de waarden op de nieuwe tijdstippen behouden en de rest weggooien.
2. De waarde op het nieuwe tijdstip berekenen als het gemiddelde van alle waarden die weggegooid worden tussen twee nieuwe tijdstippen [47](#page=47).
* **Ruis op het signaal: Filtering in het frequentiedomein**: Ruis in tijdsreeksdata kan worden aangepakt door filtering in het frequentiedomein. Dit houdt in dat lage frequenties behouden blijven en hoge frequenties worden verwijderd (weggefilterd) . De vier meest gebruikte filtertypes zijn [47](#page=47):
* Low-pass filter: Verwijdert alle frequenties boven een bepaalde drempelwaarde.
* High-pass filter: Verwijdert alle frequenties onder een bepaalde drempelwaarde.
* Band-pass filter: Behoudt een specifiek bereik (band) van frequenties.
* Notch filter: Verwijdert een specifieke frequentie [48](#page=48).
#### 4.1.2 Data transformatie
Data transformatie is de tweede grote stap in data voorbewerking, gericht op het aanpassen van de data om de analyse te verbeteren. Dit omvat het omzetten van data naar een geschikter formaat of structuur voor analyse, zoals het normaliseren van waarden of het creëren van nieuwe features uit bestaande data [40](#page=40) [80](#page=80).
##### 4.1.2.1 Normalisatie
Normalisatie heeft tot doel de schalen van verschillende datasets gelijk te zetten. Dit is essentieel wanneer variabelen sterk uiteenlopende reeksen hebben, zodat geen enkele variabele onevenredig veel invloed heeft op de analyse of het model. Grote verschillen in schalen binnen datasets kunnen leiden tot onnauwkeurigheden in analyses, omdat veel analysetechnieken moeite hebben met dergelijke verschillen. Het doel is om data te herschalen, vaak naar een bereik tussen 0 en 1, door ze te transformeren ten opzichte van hun minimum- en maximumwaarden [40](#page=40) [48](#page=48).
Een veelgebruikte techniek is Min-Max scaling:
$$ X_{normalized} = \frac{X - X_{min}}{X_{max} - X_{min}} $$
Een andere methode is Z-score normalisatie (standaardisatie):
$$ X_{standardized} = \frac{X - \mu}{\sigma} $$
waarbij $\mu$ het gemiddelde en $\sigma$ de standaarddeviatie is [40](#page=40).
##### 4.1.2.2 Feature engineering
Feature engineering is het proces waarbij ruwe data wordt omgevormd of specifieke eigenschappen uit de data worden geëxtraheerd die relevant zijn voor verdere analyses. Een "feature" is een samenvattende eigenschap van (ruwe) data. Dit proces vereist creativiteit en domeinkennis van de data scientist, aangezien er geen standaardregels zijn. Het is sterk afhankelijk van de specifieke toepassing waarvoor de data wordt gebruikt [41](#page=41) [49](#page=49).
Het creëren van nieuwe, informatieve variabelen is een belangrijk aspect. Voorbeelden van feature engineering zijn [41](#page=41):
* **Creëren van interactie-termen**: Combineren van bestaande features om nieuwe, mogelijk meer informatieve features te creëren.
* **Polynomiale features**: Het creëren van hogere-orde termen van bestaande features.
* **Discretisatie**: Het omzetten van continue variabelen naar discrete categorieën.
* **Encoding van categorische variabelen**: Het omzetten van tekstuele categorieën naar numerieke representaties (bijvoorbeeld one-hot encoding of label encoding) ] [67](#page=67).
**Feature engineering in het tijdsdomein**: In het tijdsdomein worden vaak beschrijvende statistieken gebruikt om features te extraheren uit ruwe signalen. Veelvoorkomende features zijn [49](#page=49):
* Gemiddelde ($\bar{x}$): Vertegenwoordigt de centrale waarde van het signaal.
* Maximum / Minimum ($max(x), min(x)$): Geeft uitschieters aan.
* Standaarddeviatie ($s$): Meet de variabiliteit in de data.
* Range ($max - min$): Geeft de spreiding in de data aan.
* Root Mean Square (RMS) ($\sqrt{\frac{1}{N}\sum_{i=1}^{N}x_i^2}$): Representeert de energie van het signaal.
* Aantal (Count): Kan gebruikt worden om herhalingspatronen te detecteren.
**Voorbeeld: Sprint detecteren uit een snelheidssignaal via versnelling** : ] [49](#page=49) [50](#page=50):
De versnelling is de afgeleide van de snelheid, wat de verandering van snelheid weergeeft. Wiskundig:
$$ a(t) = \frac{dv(t)}{dt} $$
Voor discrete samples kan dit benaderd worden als het verschil tussen twee opeenvolgende snelheidsmetingen gedeeld door het tijdsverschil:
$$ a_i = \frac{v_{i+1} - v_i}{t_{i+1} - t_i} $$
In Python kan dit met `np.diff()`:
```python
v = snelheidssignaal # array met snelheidswaarden
t = tijdssignaal # array met tijdstippen
a = np.diff(v) / np.diff(t)
```
**Voorbeeld: Afstand berekenen uit een snelheidssignaal** ] [49](#page=49):
De afgelegde afstand kan berekend worden door de snelheid over tijd te integreren, wat neerkomt op de oppervlakte onder de snelheidscurve. Wiskundig:
$$ x(t) = \int v(t) dt $$
Voor discrete samples:
$$ x_i = \sum_{k=0}^{i-1} v_k \Delta t $$
In Python kan dit met `np.cumsum()`:
```python
v = snelheidssignaal
t = tijdssignaal
dt = np.diff(t)
x = np.cumsum(v[:-1 * dt)
```
**Feature engineering in het frequentiedomein**: In het frequentiedomein worden ook features geëxtraheerd, vaak door de data te transformeren met technieken zoals de Fast Fourier Transform (FFT) om frequentiecomponenten te analyseren [50](#page=50).
* **Voorbeeld: Hartritmevariabiliteit (HRV)** ] [50](#page=50):
* HF (High Frequency): Totaal vermogen in de frequentieband 0.15-0.4 Hz, gedomineerd door de parasympathische invloed.
* LF (Low Frequency): Totaal vermogen in de frequentieband 0.04-0.15 Hz, een maat voor de activatie van het sympathische systeem (stressrespons).
* LF/HF ratio: Geeft de balans van het autonome zenuwstelsel weer. Een hogere ratio duidt op stress, terwijl een lagere ratio ontspanning of herstel aangeeft [54](#page=54).
**Toepassingsvoorbeelden van feature engineering**:
* **Accelerometer data**: Kan gebruikt worden voor activiteitsherkenning. Features kunnen zijn: piekversnelling, gemiddelde versnelling, range, RMS, snelheid van verandering (afgeleide) in het tijdsdomein, en dominante frequentie (bijvoorbeeld stapfrequentie) in het frequentiedomein [55](#page=55).
* **Hartritmevariabiliteit (HRV)**: Naast frequentiedomeinfeatures zijn er ook tijdsdomeinfeatures zoals gemiddelde hartslag, RMSSD, SDNN, SDSD, en NN50 [50](#page=50) [54](#page=54).
* **GPX data van wielerwedstrijden**: Vanuit latitude, longitude en hoogte kunnen features worden gecreëerd om parcoursen te vergelijken, zoals totale stijging/daling, steilste helling, enzovoort [50](#page=50).
* **GPS data in sport (voetbal, rugby, hockey)**: Combineert GPS-data (positie, snelheid, hartslag) met IMU-data. Dit genereert een breed scala aan features, waaronder afstand, snelheid, impacten, acceleraties, hartslag, beweging, stappen, en metabolische parameters [50](#page=50) [53](#page=53).
**Voorbeeld: Specifieke GPS features in voetbal** ] [50](#page=50):
Uit GPS data (Latitude, Longitude, Snelheid, HR) kunnen specifieke features gehaald worden, zoals:
* Snelste sprint (gedefinieerd als snelheid > 20 kilometer per uur) ] [51](#page=51).
* Totale afgelegde afstand [51](#page=51).
* Gemiddelde hartslag [51](#page=51).
* Tijd in een specifieke hartslagzone (bijvoorbeeld zone 4: 140 tot 165 bpm) ] [51](#page=51).
* Aantal sprints [51](#page=51).
* Afgelegde sprintafstand [51](#page=51).
> **Tip:** De creativiteit en domeinkennis van de data scientist zijn cruciaal bij feature engineering, aangezien de relevantie van features sterk afhangt van de specifieke analyse of voorspelling [51](#page=51).
Data voorbewerking is een iteratief proces, waarbij de resultaten van analyses kunnen leiden tot aanpassingen in de voorbewerkingsstappen [41](#page=41).
#### 4.1.3 Data kwaliteit
Goede datakwaliteit vormt de basis voor betrouwbare analyses. Het is noodzakelijk om de data te inspecteren en te visualiseren om de kwaliteit en relevantie ervan voor de beoogde analyse te begrijpen. Het waarborgen van datakwaliteit is een fundamenteel aspect van preprocessing [46](#page=46) [66](#page=66).
##### 4.1.3.1 Veelvoorkomende anomalieën in data
* **Verkeerde datatypes**: Wanneer data uit verschillende bronnen wordt samengevoegd, kunnen datatypes verkeerd worden ingedeeld [46](#page=46).
* **Gemixte data waarden**: Variaties in de representatie van dezelfde categorie, zoals "man" versus "male" ] [46](#page=46).
* **Missing data**: Ontbrekende waarden, vaak aangeduid als NaN [46](#page=46).
* **Dubbele data-entries**: Herhaalde datarijen die uit de dataset moeten worden verwijderd [46](#page=46).
### 4.2 Machine learning concepten
Machine learning (ML) is een vorm van kunstmatige intelligentie (AI) die systemen in staat stelt om te leren van data zonder expliciet geprogrammeerd te zijn. In tegenstelling tot traditioneel programmeren, waar data en een programma de output bepalen, gebruikt machine learning data en output om het programma (het model) te creëren dat patronen en relaties tussen input en output probeert te vinden [81](#page=81).
#### 4.2.1 Supervised learning
Supervised learning is een methode waarbij een model wordt getraind op gelabelde data. Het doel is om patronen te leren uit de input-output paren om voorspellingen te kunnen doen op nieuwe, ongeziene data [67](#page=67).
##### 4.2.1.1 Voorbereiding van data
Voordat een model getraind kan worden, is een grondige datavoorbereiding essentieel. Dit omvat de volgende stappen [67](#page=67):
* **Data cleaning**: Het corrigeren of verwijderen van onjuiste, incomplete of inconsistente data .
* **Data labeling**: Het toekennen van labels aan de data. Twee veelvoorkomende methoden zijn:
* Label encoding: Categoriale variabelen worden omgezet naar numerieke waarden [67](#page=67).
* One-hot encoding: Creëert binaire kolommen voor elke categorie, waarbij slechts één kolom per rij actief is [67](#page=67).
* **Data normalisering**: Het schalen van numerieke features naar een uniform bereik, wat de prestaties van veel algoritmes kan verbeteren [67](#page=67).
* **Data visualisatie**: Het grafisch weergeven van data om inzichten te verwerven en patronen te ontdekken [67](#page=67).
* **Dataset splitsen**: De dataset wordt verdeeld in een training set (ongeveer 80%) voor het trainen van het model en een test set (ongeveer 20%) voor het valideren van het getrainde model. Stratificatie is hierbij belangrijk om te zorgen dat de verhouding van de verschillende klassen in beide datasets gelijk is [67](#page=67) [81](#page=81).
##### 4.2.1.2 Dataset onevenwichtigheid
Een classificatie dataset wordt als onevenwichtig beschouwd wanneer de klassenverhoudingen niet gelijk zijn. Klassen die een groot deel van de dataset uitmaken, worden meerderheidsklassen genoemd, terwijl de klassen die een kleiner deel uitmaken, minderheidsklassen zijn. Ongebalanceerde data kunnen de nauwkeurigheid en kwaliteit van het model beïnvloeden. Strategieën om deze onevenwichtigheid te corrigeren zijn beschikbaar [82](#page=82).
##### 4.2.1.3 Cross-validatie
Om de variabiliteit in de modelprestaties te verminderen, worden vaak meerdere rondes van cross-validatie uitgevoerd met verschillende dataverdelingen. De validatieresultaten van deze rondes worden gecombineerd (bijvoorbeeld via gemiddeldes) om een betrouwbare schatting te geven van de voorspellende prestaties van het model [82](#page=82).
##### 4.2.1.4 Model selectie in supervised learning
Er zijn diverse algoritmes die gebruikt kunnen worden voor supervised learning taken [67](#page=67).
* **Regressie**: Voorspelt een continue numerieke waarde (bijv. huizenprijs, temperatuur) ] [68](#page=68).
* **Lineaire regressie**: De algemene formule is $y = mx + c$, waarbij $m$ en $c$ de modelparameters zijn. Bij meervoudige lineaire regressie worden één of meerdere variabelen ($x_1, x_2, \ldots, x_n$) gebruikt om één afhankelijke variabele ($y$) te verklaren, met de formule $y = a_0 + a_1x_1 + a_2x_2 + \ldots + a_nx_n$ ] [82](#page=82).
* **Polynomiale regressie**: Gebruikt een polynomiale functie om niet-lineaire verbanden te modelleren, met de formule $y = a_0 + a_1x_1 + a_2x_1^2 + \ldots + a_mx_1^m$ ] [82](#page=82).
* **Logistische regressie**: Hoewel de naam "regressie" bevat, wordt dit gebruikt voor classificatieproblemen, met name voor het voorspellen van de kans dat iets voorkomt. De formule is $P(y=1) = \frac{1}{1+e^{-(b_0 + b_1x_1 + \ldots + b_nx_n)}}$ en kan bijvoorbeeld toegepast worden om de kans op een blessure te voorspellen [82](#page=82).
* **Classificatie**: Voorspelt een discrete klasse label (bijv. spam/geen spam, ziek/gezond) ] [68](#page=68).
* **K-NN (k nearest Neighbors classificatie)**: Een classificatiealgoritme dat voorspelt tot welke klasse een datapunt behoort op basis van de meerderheid van zijn k dichtstbijzijnde buren in de trainingsset. De verwerkingstijd complexiteit voor $N$ samples in $D$ dimensies is $O(D N^2)$ ] [68](#page=68) [83](#page=83).
* Impact van $k$: Een te kleine $k$ maakt het model erg gevoelig voor ruis, terwijl een te grote $k$ te veel punten van nabijgelegen klassen kan includeren [83](#page=83).
* Afstandmetrieken zijn belangrijk voor de keuze van de afstandsberekening tussen twee punten [83](#page=83).
* **Beslissingsboom**: Een boomstructuur waarin elke interne knoop een test op een attribuut representeert, elke tak de uitkomst van de test, en elke bladknoop een klasse-etiket representeert [68](#page=68) [83](#page=83).
* **Random forest classificatie**: Een ensemblemethode die meerdere beslissingsbomen traint en de resultaten aggregeert om de voorspellende nauwkeurigheid te verbeteren [68](#page=68) [83](#page=83).
##### 4.2.1.5 Model validatie
Na het trainen van een supervised learning model, is het cruciaal om de prestaties te evalueren met behulp van de test set. Gangbare validatiemetrieken zijn [68](#page=68):
* **Accuraatheid**: Het percentage correct geclassificeerde gevallen.
* **Precisie**: De verhouding tussen correct positieve voorspellingen en alle positieve voorspellingen.
* **Sensitiviteit (Recall)**: De verhouding tussen correct positieve voorspellingen en alle feitelijke positieve gevallen.
* **Specificiteit**: De verhouding tussen correct negatieve voorspellingen en alle feitelijke negatieve gevallen.
#### 4.2.2 Unsupervised learning
Unsupervised learning omvat technieken waarbij een model wordt getraind op ongelabelde data, met als doel patronen, structuren of relaties in de data te ontdekken zonder vooraf gedefinieerde output. In de sportcontext wordt dit vaak gebruikt om spelers of teams te classificeren op basis van hun prestaties [68](#page=68) [84](#page=84).
##### 4.2.2.1 Clusteringstechnieken
Clustering is een veelvoorkomende unsupervised learning techniek die data groepeert op basis van hun gelijkenis. Het doel is om groepen gegevenspunten (clusters) te creëren die vergelijkbare variantie vertonen en een specifieke kostenfunctie minimaliseren: de som van de kwadraten binnen de cluster [68](#page=68) [84](#page=84).
* **K-means**: Een populair clusteringalgoritme dat de dataset verdeelt in een vooraf bepaald aantal clusters, $K$ . Het doel is om de afstand tussen datapunten en hun respectievelijke clustercentra te minimaliseren [69](#page=69) [84](#page=84).
* **Stappen van K-Means clustering**:
1. Initiële centroid toewijzing: Willekeurig worden $K$ middelpunten (centroïden) toegewezen.
2. Datapunt toewijzing: De afstand tussen elk datapunt en de centroïden wordt berekend. Elk datapunt wordt toegewezen aan de dichtstbijzijnde centroïde.
3. Centroïde verplaatsing: De centroïden worden verplaatst naar het werkelijke middelpunt van de datapunten die aan hen zijn toegewezen.
4. Iteratie: Dit proces herhaalt zich totdat geen enkel element meer van cluster verandert [85](#page=85).
* **Afstandsmaten in K-Means**: Er bestaan diverse afstandsmaten die gebruikt kunnen worden in k-means clustering, vergelijkbaar met die voor kNN [85](#page=85).
* **Bepalen van de optimale K**: Het kiezen van de juiste waarde voor $K$ is cruciaal. De Elleboogmethode (Elbow Method) is een veelgebruikte techniek. Hierbij wordt de vervorming (de kostenfunctie, oftewel de som van het gekwadrateerde verschil tussen elk datapunt en het cluster middelpunt) uitgezet tegen $K$. De optimale $K$-waarde is het punt waar de grafiek een "elleboog" vormt. De kost-functie kan wiskundig worden uitgedrukt als [85](#page=85):
$$ SSE = \sum_{i=1}^{K} \sum_{x \in C_i} \|x - \mu_i\|^2 $$
waarbij $K$ het aantal clusters is, $C_i$ het $i$-de cluster, $x$ een datapunt in cluster $C_i$, en $\mu_i$ het middelpunt (centroid) van cluster $C_i$ is [69](#page=69).
> **Tip:** K-means is een algoritme voor ongesuperviseerd leren, wat betekent dat er geen gelabelde data nodig is, in tegenstelling tot methoden zoals kNN [84](#page=84).
### 4.3 Specifieke data types en toepassingen in sport
#### 4.3.1 Tijdsreeksdata
Tijdsreeksdata zijn datapunten die een specifieke volgorde hebben, waarbij deze volgorde van belang is en voorzien is van een tijdsindicatie. Het menselijk lichaam genereert dynamische, tijdsveranderlijke en individueel verschillende signalen [51](#page=51).
##### 4.3.1.1 Tijdsreeksanalyse: het frequentiedomein
Soms is het interessanter om bepaalde patronen of ritmes in plaats van de exacte timing te onderzoeken. Dit wordt gedaan door de data te representeren in het frequentiedomein, waar ritmes centraal staan in plaats van specifieke momenten. In het tijdsdomein zie je wat er gebeurt, terwijl je in het frequentiedomein ziet hoe vaak het gebeurt [52](#page=52).
* **Frequentie**: De frequentie wordt gedefinieerd als het aantal herhalingen van een patroon per seconde, uitgedrukt in Hertz (Hz). Een frequentie van 1 Hz betekent één cyclus per seconde [52](#page=52).
* **Natuurlijke ritmes in sportdata**: Sportdata bevatten vaak natuurlijke ritmes, zoals ademhaling (ongeveer 0.25 Hz), hartslag (1–2 Hz bij 60–120 bpm), de cadans van lopen of fietsen (1–3 Hz), en trillingen of impacten (hogere frequenties) ] [52](#page=52).
* **Fouriertransformatie**: De Fouriertransformatie (en specifiek de Fast Fourier Transform - FFT) is een techniek die een signaal omzet in de specifieke frequentiecomponenten ervan, wat resulteert in een spectrum. Dit spectrum toont de hoeveelheid energie of variatie die geassocieerd is met elke frequentie [52](#page=52).
* **Voordelen van het frequentiedomein**: Het analyseren van data in het frequentiedomein biedt alternatieve inzichten. Het vereenvoudigt ook technieken om specifieke frequenties te manipuleren, zoals filteren [52](#page=52).
#### 4.3.2 Geospatiale Data (GPS)
Geospatiale data, zoals die verkregen uit GPS-bestanden (GPX) of GPS-units, zijn cruciaal voor het analyseren van bewegingen en prestaties, met name in sportcontexten [52](#page=52).
##### 4.3.2.1 GPX-data voor wedstrijdvergelijking
GPX-bestanden bevatten informatie zoals breedtegraad (latitude), lengtegraad (longitude) en hoogte. Als je van vele wielerwedstrijden de GPX-bestanden hebt, kun je deze data gebruiken om parcoursen te vergelijken op hun gelijkheid door relevante features te creëren voor clustering [52](#page=52).
##### 4.3.2.2 GPS-data in teamsporten (voetbal, rugby, hockey)
GPS-units worden in teamsporten gebruikt om trainingen en wedstrijden op te nemen. Deze units verzamelen gegevens van sensoren zoals GPS (latitude, longitude, snelheid) en Inertial Measurement Units (IMU) die accelerometers, gyroscopen en magnetometers bevatten [53](#page=53).
V o o r b e e l d: Visualisatie van GPS-data in teamsporten kan helpen bij het identificeren van diverse eigenschappen en kenmerken uit de bewegingen van spelers [53](#page=53).
##### 4.3.2.3 Features uit GPS-data
GPS-data in sporten kunnen leiden tot een breed scala aan features, vaak meer dan 100 verschillende metrics. Deze kunnen worden onderverdeeld in categorieën zoals afstand, snelheid, impacten en acceleraties, hartslag, beweging en stappen, en metabolische data [53](#page=53).
#### 4.3.3 Accelerometer data
Accelerometer data, vaak gebruikt in combinatie met machine learning algoritmen zoals kNN, kan helpen bij het herkennen van activiteiten. Features die hieruit kunnen worden gehaald, zowel in het tijds- als frequentiedomein, omvatten piekversnelling, gemiddelde versnelling, range, RMS, snelheid van verandering (afgeleide) in het tijdsdomein, en dominante frequentie (wat kan corresponderen met de stapfrequentie) in het frequentiedomein [55](#page=55).
### 4.4 Data-analyse en machine learning in de praktijk
#### 4.4.1 Exploratieve data-analyse met Pandas
De eerste stap in data-analyse is het importeren en verkennen van de dataset. Hiervoor wordt de Python-bibliotheek Pandas aanbevolen, vaak binnen een Jupyter Notebook-omgeving [58](#page=58).
##### 4.4.1.1 Data importeren en basis inspectie
Na het importeren van een dataset met Pandas, is het essentieel om een eerste indruk te krijgen van de data [58](#page=58) [60](#page=60):
* Eerste rijen bekijken: De methode `.head()` toont de eerste vijf rijen van de dataset [58](#page=58).
* Dimensies van de dataset: Het aantal rijen en kolommen kan worden achterhaald met het `.shape` attribuut [58](#page=58) [60](#page=60).
* Kolomnamen: Het is nuttig om de namen van alle kolommen te kennen [58](#page=58).
* Datatypes: Het controleren van de datatypes van elke kolom is cruciaal [58](#page=58) [60](#page=60).
* Ontbrekende waardes: Voor elke kolom moet gecontroleerd worden of er ontbrekende waardes aanwezig zijn [58](#page=58) [60](#page=60).
##### 4.4.1.2 Beschrijvende statistieken en kenmerken
Om de data verder te begrijpen, worden beschrijvende statistieken berekend [58](#page=58) [60](#page=60):
* Pandas' `.describe()` methode genereert een samenvatting van de centrale tendens, spreiding en vorm van de distributie van numerieke variabelen [58](#page=58).
* Specifieke statistieken zoals gemiddelde en mediaan kunnen worden berekend [58](#page=58) [60](#page=60).
* Het minimum en maximum identificeren geeft inzicht in het bereik van de data [58](#page=58) [60](#page=60).
* Het tellen van het aantal unieke waardes in een categorische kolom kan inzicht geven in de diversiteit van de data [58](#page=58) [60](#page=60).
##### 4.4.1.3 Nieuwe kolommen creëren
Een veelvoorkomende preprocessing stap is het creëren van nieuwe features door bestaande kolommen te combineren [58](#page=58) [60](#page=60).
**Voorbeeld**: Het berekenen van de ratio tussen trainingsdata en rusthartslag en dit toevoegen als een nieuwe kolom [58](#page=58).
#### 4.4.2 Visualisaties voor data-exploratie
Visualisaties zijn onmisbaar voor het verkennen en begrijpen van datasets. Matplotlib is een populaire Python-bibliotheek voor dit doel [59](#page=59) [61](#page=61).
* **Histogrammen**: Worden gebruikt om de distributie van individuele variabelen te visualiseren [59](#page=59) [61](#page=61).
* **Scatterplots**: Worden gebruikt om de relatie tussen twee numerieke variabelen te onderzoeken [59](#page=59) [61](#page=61).
> **Tip:** Werk in Jupyter Notebooks met aparte cellen voor elke stap. Dit maakt het mogelijk om code, output en visualisaties georganiseerd te houden en iteratief te werken aan de data-analyse [59](#page=59).
> **Tip:** Visualiseer altijd eerst de data voordat je geavanceerde analyses uitvoert. Dit kan veel inzichten verschaffen en potentiële problemen met de data aan het licht brengen [59](#page=59).
#### 4.4.3 Machine learning methoden in sport
Machine learning (ML) is een tak van kunstmatige intelligentie (AI) die systemen in staat stelt om te leren van data zonder expliciet geprogrammeerd te worden .
##### 4.4.3.1 Overzicht van machine learning in sport
Machine learning heeft talloze toepassingen binnen de sportwereld, van prestatieanalyse tot blessurepreventie en tactische besluitvorming .
* **Supervised Learning**: Modellen leren van gelabelde data. Voorbeelden zijn K-Nearest Neighbors (KNN), Beslissingsbomen (Decision Trees), en Random Forests .
* **Unsupervised Learning**: Modellen ontdekken patronen in ongelabelde data. Een voorbeeld is K-Means Clustering .
##### 4.4.3.2 Werken met ruwe GPS data
Ruwe GPS-data van sporters bevatten waardevolle informatie zoals speler-ID, hartslag, snelheid, locatie (X- en Y-coördinaten) en tijd. Voorbereidende stappen omvatten vaak data-import, feature-engineering (bv. berekenen van relatieve verstreken tijd, snelheid in verschillende eenheden, afstand afgelegd), en data-visualisatie .
**Voorbeeld:** Het berekenen van de totale afstand die een speler heeft gelopen, of het identificeren van sprintafstanden door de snelheid te analyseren (snelheid > 20 km/h) . Ook het berekenen van hartslagparameters zoals de maximale en gemiddelde hartslag zijn relevante analyses .
##### 4.4.3.3 Geavanceerde analyses en visualisaties
Verdere analyses kunnen omvatten:
* **Sprintafstand berekening**: Het identificeren van perioden waarin een speler een snelheid hoger dan een bepaalde drempelwaarde heeft .
* **Heatmaps**: Visuele representaties die de dichtheid van speleractiviteit op verschillende delen van het veld tonen .
* **Tijd op de bank identificeren**: Door de inactiviteit van een speler te analyseren .
* **Startopstelling visualisatie**: Het plotten van de posities van spelers op het veld aan het begin van de wedstrijd .
### 4.5 Het prestatie model
Het prestatie model is een raamwerk dat prestaties ontleedt in deelcomponenten en kritieke succesfactoren (KSF), die vervolgens worden vertaald naar meetbare Key Performance Indicators (KPI's) . Het uiteindelijke doel van data-analyse binnen dit model is het verbeteren van prestaties [36](#page=36).
#### 4.5.1 Kerncomponenten van het prestatie model
Het model begint met het ontleden van een prestatie in verschillende deelcomponenten, zoals technisch, tactisch en fysiek. Het is cruciaal om een goed inzicht te hebben in hoe een prestatie tot stand komt [36](#page=36).
* **Deel Componenten**: Technisch, Tactisch, Fysiek [39](#page=39).
* **Kritieke Succes Factoren (KSF)**: Bijvoorbeeld Controle, Pressing, Intensiteit [39](#page=39).
* **Key Performance Indicatoren (KPI)**: Meetbare doelen zoals # baltoetsen/balbezit, # en intensiteit van pressing, # High intensity acties [39](#page=39).
* **Events & Attributen / Features**: Ruwe data-elementen zoals baltoetsen, pressure, snelheid/acceleraties [39](#page=39).
* **Meetsystemen**: Video Speler & Bal tracking, Speler Tracking [39](#page=39).
> **Tip:** De multidisciplinaire aanpak, waarbij bijvoorbeeld de hoofdcoach fungeert als manager van een team van specialisten, is essentieel omdat één persoon onmogelijk alle benodigde competenties kan bevatten [40](#page=40).
> **Tip:** Effectieve preprocessing is cruciaal voor betrouwbare en inzichtelijke data-analyse. Slechte datakwaliteit kan leiden tot misleidende resultaten [81](#page=81).
Data preprocessing is een cruciaal onderdeel voor betrouwbare analyse resultaten. Slechte data leidt tot slechte inzichten [66](#page=66).
---
# Videoanalyse en computer visie in sport
Dit onderwerp behandelt het gebruik van video voor feedback en analyse, evenals geautomatiseerde videoanalyse met computer visie technieken.
### 5.1 Toepassingen en timing van videoanalyse in sport
Videoanalyse in sport dient diverse doelen, waaronder het verstrekken van visuele feedback aan sporters, het uitvoeren van technische analyses, het monitoren van vooruitgang, en tactische scouting van tegenstanders. De timing van videoanalyse hangt af van het specifieke doel [92](#page=92).
#### 5.1.1 Visuele feedback aan de sporter
* **Gebruik:** Bij voorkeur elke training [92](#page=92).
* **Opname:** Gemakkelijk op te nemen met eenvoudige apparatuur, zelfs uit de hand [92](#page=92).
* **Feedback:** Maakt onmiddellijke feedback mogelijk [92](#page=92).
* **Kwaliteit:** De kwaliteit van de opname is van ondergeschikt belang; snelheid en gemak zijn primair [92](#page=92).
#### 5.1.2 Techniek-analyse en vooruitgang
* **Gebruik:** Enkele keren per seizoen [92](#page=92).
* **Doel:** Diepgaande analyse van bewegingen om vooruitgang te meten en technische verbeterpunten te identificeren [92](#page=92).
* **Opname:** De kwaliteit van de beelden is belangrijker. Dit vereist een duidelijke camera-opstelling, bij voorkeur vanuit een zij- of vooraanzicht, en op een statief voor een stilstaand beeld. Het inschatten van diepte in 2D-beelden kan uitdagend zijn [92](#page=92).
#### 5.1.3 Tactiek/scouting van de tegenstander
* **Gebruik:** Tijdens wedstrijdopnames, zowel live als achteraf [92](#page=92).
* **Doel:** Analyse van tactieken en scouting van tegenstanders [92](#page=92).
* **Opname:** Beeldkwaliteit is niet het allerbelangrijkste, maar de camera-opstelling moet zoveel mogelijk de actie op één beeld vangen [92](#page=92).
### 5.2 Het videoanalyseproces en praktische toepassingen
Het algemene proces van videoanalyse omvat vier stappen: video-opname, video-analyse, video-opslag en feedback. Videoanalyse biedt diverse toepassingen in de sportpraktijk, met name op het gebied van trainingsondersteuning [93](#page=93).
#### 5.2.1 Directe feedback op training
* **Gebruik:** Tijdens trainingen voor onmiddellijke visuele feedback en bijsturing [93](#page=93).
* **Kenmerken:** Snel en eenvoudig te implementeren [93](#page=93).
#### 5.2.2 Bewegingsanalyse
* **Gebruik:** Meestal thuis of na de training voor analyse van bewegingen [93](#page=93).
* **Doel:** Biedt de mogelijkheid tot feedback achteraf, wat kan leiden tot aanpassingen in het trainingsschema of doelstellingen [93](#page=93).
#### 5.2.3 Delayed feedback
* **Concept:** Apps die een beeld met een bepaalde vertraging afspelen, waardoor de sporter een beweging kan uitvoeren en vervolgens direct het beeld terug kan kijken [93](#page=93).
* **Lengte van de vertraging:** Afhankelijk van het werkgeheugen van de sporter [93](#page=93).
* **Opstelling:** Kan zonder coach worden uitgevoerd, vaak met behulp van een tablet [93](#page=93).
* **Voorbeelden van apps:** "Delay Camera – Auto Replay" (circa 8,49 euro) en "Video delay Pro" (circa 145 euro) [93](#page=93).
#### 5.2.4 Apps voor directe feedback op training
Er zijn diverse applicaties beschikbaar voor iOS en Android die het gebruik van videoanalyse op smartphones vereenvoudigen. Deze apps gebruiken de camera van de smartphone en slaan beelden direct op het apparaat of in de cloud op. Veel apps bieden ingebouwde software voor analyse, waaronder tekenen op het beeld, het maken van verslagen, stemberichten, en het vergelijken van twee video's [93](#page=93) [94](#page=94).
* **Voorbeelden van apps:**
* Dartfish mobile: Biedt tools voor directe feedback, tekenen, verslag, stembericht, en video-vergelijking. Prijs vanaf circa 5 euro per maand [94](#page=94).
* VisualEyes CoachView Slowmo: Biedt vergelijkbare functionaliteiten. Prijs circa 7 euro [94](#page=94).
* MyKineticLab: Een web-app die op smartphones werkt en AI-ondersteuning biedt voor pose-opvolging, tekenen, verslagen maken en video-vergelijking. Beschikbaar in gratis en betaalde versies (circa 5/10 euro per maand) [94](#page=94).
#### 5.2.5 Uitgebreidere analyse met software
* **Kinovea:** Een opensource software voor Windows die uitgebreidere analyse mogelijkheden biedt [94](#page=94).
* **Functies:** Video importeren, beelden knippen, afspelen op verschillende snelheden, en het synchroon plaatsen van twee beelden naast elkaar [94](#page=94).
* **Nadeel:** Alleen beschikbaar voor Windows [94](#page=94).
#### 5.2.6 Video als testinstrument
* **Myjump2:** Een app voor iOS en Android die video kan gebruiken als testinstrument [94](#page=94).
* **Prijs:** Circa 17,99 euro [94](#page=94).
* **Toepassing:** Kan bijvoorbeeld de valhoogte berekenen op basis van de tijd in de lucht, met de formule: $$h = \frac{1}{2} g t_{vlucht}^2$$ [94](#page=94).
### 5.3 Samenvatting en tips voor effectief videoanalysegebruik
* **Kies je doelstelling:** Bepaal vooraf wat je met de videoanalyse wilt bereiken [95](#page=95).
* **Laagdrempelig starten:** Gebruik bestaande apps en software. Video-opname kan eenvoudig met de camera-app van je smartphone [95](#page=95).
* **Kwaliteit van opnames:** Gebruik een statief voor kwalitatieve opnames, vooral bij bewegingsanalyse [95](#page=95).
* **Correct perspectief:** Wees voorzichtig met het interpreteren van tekeningen en metingen van hoeken; deze zijn alleen correct bij een juist perspectief [95](#page=95).
* **Bestandsdeling:** Vermijd het versturen van video's via diensten zoals WhatsApp, aangezien dit kwaliteitsverlies kan veroorzaken. Gebruik in plaats daarvan gedeelde mappen [95](#page=95).
### 5.4 Technische aspecten van video-opnames en beeldvorming
Video-opnames zijn een opeenvolging van individuele beelden die met hoge frequentie worden afgespeeld om beweging te simuleren. De kwaliteit van een video-opname wordt beïnvloed door hoe licht op de sensor wordt geregistreerd en verwerkt, met drie cruciale parameters: diafragma, sluitertijd en ISO [95](#page=95).
#### 5.4.1 Licht op de sensor beïnvloeden
* **Sensorgevoeligheid (ISO):** Een hogere ISO-waarde maakt de sensor gevoeliger voor licht, waardoor minder omgevingslicht nodig is. Een hogere ISO vermindert echter de beeldkwaliteit (meer ruis, verminderde kleurdiepgang) [95](#page=95).
* > **Tip:** In situaties met weinig licht kan een hogere ISO noodzakelijk zijn, maar wees je bewust van de mogelijke kwaliteitsafname [95](#page=95).
* **Aperture (diafragma opening):** De opening in de lens die controleert hoeveel licht de sensor bereikt. Een hogere aperture-waarde (kleinere opening) laat minder licht door, terwijl een lagere aperture-waarde (grotere opening) meer licht doorlaat. Het diafragma beïnvloedt ook de scherptediepte; een grotere opening resulteert in een kleinere scherptediepte [95](#page=95).
* > **Tip:** Het diafragma wordt uitgedrukt in F-getallen. Een lager F-getal (bv. f/1.8) betekent een grotere opening en meer licht, terwijl een hoger F-getal (bv. f/16) een kleinere opening en minder licht betekent [96](#page=96).
* **Sluitertijd:** Bepaalt hoe lang de sensor wordt blootgesteld aan licht. Een langere sluitertijd laat meer licht binnen, maar kan leiden tot bewegingsonscherpte. Een kortere sluitertijd bevriest beweging, maar vereist meer licht [96](#page=96).
* **Relatie met FPS:** Idealiter is de sluitertijd niet langer dan 1 gedeeld door tweemaal de FPS. Bij 24 FPS zou de sluitertijd maximaal 1/50e seconde moeten zijn [96](#page=96).
#### 5.4.2 Resolutie, pixels en DPI
* **Resolutie:** Het aantal pixels waaruit een foto of frame bestaat. Meer pixels betekent hogere resolutie en meer detail, maar vereist ook meer opslagruimte [96](#page=96).
* **Pixels:** De kleinste eenheden van een digitaal beeld [96](#page=96).
* **Resolutie voorbeeld:** Full HD komt overeen met 1920 x 1080 pixels, resulterend in ongeveer 2.07 megapixels (MP) [96](#page=96).
* **DPI (Dots Per Inch):** Maat voor pixeldichtheid, relevant voor print [96](#page=96).
#### 5.4.3 Zoom: analoog versus digitaal
* **Analoog (optische) zoom:** Werkt via lenzen die het beeld fysiek vergroten of verkleinen. De resolutie en kwaliteit blijven behouden [96](#page=96).
* **Digitale zoom:** Selecteert een deel uit een bestaand beeld en vergroot dit uit. Dit leidt tot vermindering van de resolutie en beeldkwaliteit, met pixelvorming en detailverlies [96](#page=96).
* > **Tip:** Gebruik waar mogelijk optische zoom. Digitale zoom dient met terughoudendheid te worden toegepast om kwaliteitsverlies te minimaliseren [96](#page=96).
#### 5.4.4 Frames per seconde (FPS)
* **Definitie:** Geeft aan hoeveel individuele beelden (foto's) er per seconde worden opgenomen en weergegeven. Cruciaal voor de perceptie van vloeiendheid in beweging [97](#page=97).
* **Standaard FPS:** Veelgebruikte waarden zijn 24, 25, 30, 50 en 60 FPS. Hogere FPS-waarden resulteren in een vloeiendere weergave van snelle bewegingen [97](#page=97).
* **High-speed camera's:** Kunnen extreem hoge FPS-waarden bereiken, waardoor zeer snelle processen zichtbaar worden gemaakt [97](#page=97).
#### 5.4.5 Vergelijking smartphone en professionele camera instellingen
* **Professionele camera:** Neigt ertoe om bij veel licht de ISO te verhogen en de sluitertijd te verkorten [97](#page=97).
* **Smartphone camera:** Neigt ertoe om bij veel licht de sluitertijd te verlengen en de ISO te verlagen [97](#page=97).
#### 5.4.6 Samenvatting van opname-elementen
De kern van goede video-opnames ligt in het begrijpen en correct toepassen van verschillende technische parameters [97](#page=97).
* **Video:** Een reeks foto's [97](#page=97).
* **Lichtinval:** Gereguleerd door ISO (sensorgevoeligheid), sluitertijd en diafragma [97](#page=97).
* **Video-parameters:** Cruciaal zijn frames per seconde (FPS) voor bewegingsvloeiendheid en resolutie (aantal pixels per frame) voor detail [97](#page=97).
* **Zoom:** Het onderscheid tussen digitaal en analoog (optisch) zoom is essentieel voor het behoud van beeldkwaliteit [97](#page=97).
### 5.5 Computer visie en geautomatiseerde videoanalyse
Computer visie (CV) stelt computers in staat om beelden te analyseren met behulp van kunstmatige intelligentie, waarbij taken worden geautomatiseerd die normaal gesproken door het menselijk oog worden uitgevoerd. Het proces begint met visuele gegevens als input (bv. 2D-foto's, video's, opnames van meerdere camera's) en levert gestructureerde informatie over het beeld als output [97](#page=97) [98](#page=98).
#### 5.5.1 Beeldvorming en uitdagingen in computer visie
Beeldvorming in het zichtbare spectrum maakt gebruik van een raster van fotoreceptoren die gevoelig zijn voor verschillende golflengten. Analoge signalen van deze receptoren worden omgezet in digitale waarden. Computervisie kan ook plaatsvinden buiten het zichtbare spectrum, zoals met infraroodcamera's [98](#page=98).
CV kent echter diverse uitdagingen [98](#page=98):
* Verlichting en schaduw: Variaties in lichtomstandigheden kunnen de beeldkwaliteit en detectie beïnvloeden [98](#page=98).
* Objectpositie en kijkrichting: Objecten kunnen vanuit verschillende hoeken worden waargenomen [98](#page=98).
* Occlusies: Deels of volledig verborgen objecten vormen een probleem [98](#page=98).
* Intraclass-variatie: Objecten binnen dezelfde klasse kunnen aanzienlijk verschillen in uiterlijk [98](#page=98).
* Objectinteracties: Complexe interacties tussen objecten kunnen de analyse bemoeilijken [98](#page=98).
* CV-systemen moeten ook snel kunnen leren en zich aanpassen aan nieuwe situaties [98](#page=98).
#### 5.5.2 Beeldverbetering (pre-processing)
Voordat beelden voor verdere analyse worden gebruikt, worden ze vaak verbeterd. Dit omvat correctie van over- en onderbelichting om de algemene beeldkwaliteit te verhogen [98](#page=98).
#### 5.5.3 Beeld histogram
Het histogram is een cruciaal hulpmiddel dat het aantal pixels voor elke intensiteitswaarde in een afbeelding weergeeft. Het biedt inzicht in de toonverdeling en kan worden gebruikt voor correcties, zoals histogram-egalisatie ($eq = cv2.equalizeHist(img)$). Histogrammen worden niet alleen voor beeldverbetering gebruikt, maar ook voor taken als tracking en herkenning [98](#page=98).
#### 5.5.4 Kleuren en kleurruimtes
Hoewel de RGB-kleurruimte (Rood, Groen, Blauw) veel wordt gebruikt in beeldverwerking, is de HSV-kleurruimte (Hue, Saturation, Value) geschikter voor kleurvergelijkingen [99](#page=99).
* **H (Hue):** De hoeveelheid kleur [99](#page=99).
* **S (Saturation):** De hoeveelheid grijs [99](#page=99).
* **V (Brightness):** De helderheid [99](#page=99).
Kleurconversies tussen deze ruimtes zijn mogelijk [99](#page=99).
### 5.6 Kernmethoden in computer visie voor videoanalyse
#### 5.6.1 Beeldsegmentatie
Beeldsegmentatie groepeert pixels die tot hetzelfde object of gebied behoren op basis van hun voorkomen (bv. kleur, textuur) of hun classificatie. Traditionele methoden omvatten kleursegmentatie en detectie van veranderingen. Meer geavanceerde methoden maken gebruik van neurale netwerken, zoals Mask RCNN en modellen zoals het Segment Anything Model [99](#page=99).
#### 5.6.2 Detectie en tracking
Het detecteren van elk object in elk frame van een video kan computationeel zeer intensief zijn. Een efficiëntere aanpak combineert detectie met tracking: nadat een object is gedetecteerd, wordt het vervolgens gevolgd in de daaropvolgende frames. Dit helpt bij tijdelijke of gedeeltelijke occlusies. Object tracking vergelijkt begrensde kaders (bounding boxes) van objecten in opeenvolgende frames om relevante objecten te selecteren, glitches te verwijderen en trajecten gladder te maken [99](#page=99).
#### 5.6.3 Hough transformatie
De Hough-transformatie is een techniek om rechte lijnen, vormen en curven in beelden te detecteren door de beeldruimte om te zetten naar een parameterruimte. Dit wordt toegepast voor de detectie van bijvoorbeeld eenvoudige vormen zoals cirkels [99](#page=99).
#### 5.6.4 Pose estimation
Pose estimation richt zich op het automatisch detecteren en volgen van lichaamsdelen en gewrichten uit video's, essentieel voor geautomatiseerde bewegingsanalyse. Populaire methoden zijn OpenPose, High-Resolution Net (HRNet), DeepCut en AlphaPose. Dit maakt geavanceerde technische analyses mogelijk, zoals het automatisch berekenen van gewrichtshoeken voor bikefit analyses [99](#page=99).
### 5.7 Toepassingen van computer visie in videoanalyse
Computer visie en AI maken het automatiseren van videoanalyse mogelijk voor diverse toepassingen [100](#page=100).
#### 5.7.1 Sportanalyse
* **Tactische analyse:** Realtime labelling van gebeurtenissen tijdens wedstrijden, met de toekomstige mogelijkheid van automatische analyse via AI. Tools zoals Hudl, Sportscode en Dartfish worden gebruikt [100](#page=100).
* **Ski-analyse:** Objectdetectie van skiërs en vlaggen, gecombineerd met tracking om de positie van skiërs te volgen en gate-tijden op te slaan. Dit resulteert in plots en heatmaps die bewegingspatronen visualiseren [100](#page=100).
* **Zwem-analyse:** Onderwater video stitching en tracking voor geautomatiseerde zwemanalyse [100](#page=100).
* **Volleybal-analyse:** 3D-registratie vanuit meerdere camera's om spelersbewegingen en interacties te analyseren [100](#page=100).
* **Padel-analyse:** Generatie van heatmaps van slagen ('stroke hit map'), interplayer afstanden en speler tracking maps voor tactische analyse en strategieontwikkeling [100](#page=100).
#### 5.7.2 Tactische analyse tools
Tools voor videoanalyse omvatten [100](#page=100):
* Side-by-side weergave: Synchroniseren en naast elkaar bekijken van twee beelden [100](#page=100).
* Referentiebeelden vergelijken: Mogelijkheid om verschillende beelden naast elkaar te analyseren [100](#page=100).
* Frame-per-frame navigatie: Scrollen door beelden op individueel frame-niveau [100](#page=100).
* Vastleggen van key moments: Markeren van belangrijke gebeurtenissen [100](#page=100).
* Tekentools: Lijnen, hoeken (met nadruk op loodrecht perspectief), tekst en klokken om analyses te verduidelijken [100](#page=100).
* Snapshots: Maken van stilstaande beelden voor analysevideo's [100](#page=100).
### 5.8 Samenvatting video computer visie
Videoanalyse kan worden geautomatiseerd door middel van computer visie, waarbij de belangrijkste uitdagingen liggen in belichting, occlusie en variaties tussen en binnen objectklassen. De kernprocessen omvatten classificatie, lokalisatie, objectdetectie en segmentatie. Voorbewerking zoals histogramcorrectie en kleurruimte-analyse (RGB, HSV) zijn essentieel. Detectiemethoden zoals de Hough-transformatie worden gebruikt voor het vinden van geometrische vormen. Object tracking volgt objecten door videoframes heen, met technieken zoals mean-shift tracking. Segmentatie kan plaatsvinden op basis van kleur, voorgrond/achtergrondscheiding of via neurale netwerken. Pose estimation maakt automatische detectie van 'stick-figure' modellen mogelijk, wat bijdraagt aan geavanceerde technische analyse. Het combineren van beelden met data is de toekomst van videoanalyse .
---
## Veelgemaakte fouten om te vermijden
- Bestudeer alle onderwerpen grondig voor examens
- Let op formules en belangrijke definities
- Oefen met de voorbeelden in elke sectie
- Memoriseer niet zonder de onderliggende concepten te begrijpen
Glossary
| Term | Definition |
|------|------------|
| Data collectie (Captatie) | Dit is de eerste en een cruciale stap in data-analyse. Het doel is om gegevens te verzamelen die relevant zijn voor de specifieke doelstellingen van de analyse, waarbij de focus ligt op het vergaren van bruikbare numerieke data. |
| Data opslag | Na de collectie worden de gegevens systematisch bewaard voor verdere verwerking en analyse, wat cruciaal is voor efficiënte toegang en bewerking van de verzamelde informatie. |
| Data analyse | In deze fase worden de verzamelde gegevens geanalyseerd om inzichten te verkrijgen, waarbij deze analyses kunnen evolueren van beschrijvend naar prescriptief om besluitvorming te ondersteunen. |
| Data feedback | De resultaten van de analyse worden teruggekoppeld om het proces te informeren en te verbeteren, wat een cyclus creëert en bijdraagt aan continue optimalisatie. |
| Geospatiale data | Dit type data betreft positionele informatie in de ruimte. Dit kan twee-dimensionaal zijn (bijvoorbeeld X,Y-coördinaten) of drie-dimensionaal (met toevoeging van hoogte), en omvat lokalisatiedata zoals GPS-coördinaten. |
| Spatio-temporele data | Spatio-temporele data combineert aspecten van zowel ruimte als tijd, waarbij data wordt verzameld over een specifieke tijdsperiode, vergelijkbaar met tijdreeksdata. |
| Radiotechnologie | Een methode voor positiebepaling die vaak gebruikmaakt van draagbare apparatuur en real-time meting van coördinaten mogelijk maakt, vaak gebaseerd op triangulatie van signaalsterkte. |
| Globale positionering (GPS) | Systemen die gebruikmaken van satellieten (zoals GPS, GLONASS, BeiDou, Galileo) om de positie op aarde te bepalen, wat cruciaal is voor outdoor tracking en analyse. |
| Lokale positionering | Richt zich op nauwkeurige positiebepaling binnen een afgebakend gebied, zoals een sportveld, en maakt vaak gebruik van technologieën als Ultra Wide Band (UWB) en het Time of Flight (ToF) principe. |
| Computervisie | Een technologie die informatie over de positie van sporters kan extraheren uit videobeelden, inclusief het detecteren van personen, ploegen en het volgen van de bal, zonder dat er sensoren op de sporters vereist zijn. |
| Inertial Measurement Units (IMU's) | Een type sensor dat bewegingsdata verzamelt en doorgaans bestaat uit een accelerometer, gyroscoop en magnetometer om versnelling, rotatiesnelheid en magnetische velden te meten. |
| Hartslagsensoren | Sensoren die de hartslag meten, een belangrijke parameter in sport. Elektrische meting wordt als accurater beschouwd dan optische methoden, en hartslagvariabiliteit (HRV) verwijst naar de variatie tussen opeenvolgende hartslagen. |
| Data-overdracht methoden | Methoden om data van apparaten naar het internet te versturen, onderverdeeld in bedrade verbindingen (betrouwbaar, hoge snelheid) en draadloze verbindingen (mobiel, kosteneffectief). |
| Databases | Georganiseerde verzamelingen van gegevens die elektronisch worden opgeslagen en geraadpleegd met behulp van een databasebeheersysteem, onderverdeeld in relationele (gestructureerde tabellen) en niet-relationele (flexibelere structuren zoals documenten). |
| CRUD-operaties | De vier basistypes van interactie met een database: Create (nieuwe records toevoegen), Read (records opvragen), Update (records wijzigen), en Delete (records verwijderen). |
| Queries | Een reeks instructies die aan een databasebeheersysteem worden gegeven om data op te vragen, te bewerken of te beheren. |
| Relationele databases (SQL) | Databases die data opslaan in tabellen met een vooraf gedefinieerde structuur en relaties tussen tabellen gebruiken om data te organiseren. Ze zijn ACID-compliant en garanderen databasetransactiebetrouwbaarheid. |
| Niet-relationele databases (NoSQL) | Databases die geen tabellen, rijen en kolommen op de traditionele manier gebruiken, maar een flexibele manier bieden om data op te slaan zonder vaste structuur, wat ze geschikt maakt voor diverse datastructuren. |
| Data warehouse | Een centraal opslagpunt voor gestructureerde data, geoptimaliseerd voor analytics en rapportage, waar data voorbereid en bewerkt wordt voordat het wordt geladen. |
| Data lake | Een opslagplaats waar alle data, zowel gestructureerd als ongestructureerd, wordt gedumpt. De data wordt later getransformeerd voor specifieke toepassingen, wat meer flexibiliteit biedt voor Big Data en AI-toepassingen. |
| ETL (Extract, Transform, Load) | Een proces waarbij data uit bronnen wordt geëxtraheerd, getransformeerd naar een geschikt formaat, en vervolgens in het doelsysteem wordt geladen. |
| ELT (Extract, Load, Transform) | Een proces waarbij data wordt geëxtraheerd en direct geladen in een data lake of warehouse, waarna de transformatie plaatsvindt binnen het doelsysteem. |
| Application Programming Interface (API) | Een interface die ervoor zorgt dat twee applicaties met elkaar kunnen communiceren en data kunnen uitwisselen, vaak gebruikt voor integratie tussen systemen. |
| REST-API | De meest gebruikte methode voor API-communicatie, die gebruikmaakt van HTTP-requests en data teruggeeft in formaten zoals JSON of platte tekst. |
| Swagger | Een framework rond de OpenAPI Specification (OAS) dat gebruikt wordt om REST API's te beschrijven, documenteren en testen, inclusief Swagger UI voor interactieve documentatie en testen. |
| Postman | Een veelgebruikte softwaretool om API's te testen en te ontwerpen door het verzenden van requests en het analyseren van responses. |
| Sport Informatiesysteem | Een centraal systeem ontworpen om diverse sportgerelateerde tools en data samen te laten werken, gericht op data-centralisatie voor betere analyse en waarde. |
| Data visualisatie | Het proces van het grafisch weergeven van data om inzichten, patronen en trends te ontdekken en te communiceren, gebruikmakend van tools zoals Matplotlib, Dash en Power BI. |
| Histogram | Een grafische weergave die de distributie van numerieke data toont door de data in 'bins' te verdelen en het aantal datapunten in elke bin weer te geven. |
| Scatterplot | Een grafiek die de relatie tussen twee numerieke variabelen onderzoekt door elk datapunt als een punt weer te geven, bepaald door de waarden op de x- en y-as. |
| Tijdsreeks | Data die over opeenvolgende tijdstippen is verzameld, met een inherente tijdscomponent die cruciaal is voor de analyse van dynamische processen. |
| Signalen | Dynamische datasets die in de loop van de tijd veranderen en vaak worden vertegenwoordigd als tijdsreeksen, zoals hartslag of bewegingsdata. |
| Digitale signaal | Een gesampled analoog signaal dat bestaat uit discrete waarden, geschikt voor opslag en verwerking in de digitale wereld. |
| Sampling frequentie (bemonsteringsfrequentie) | Het aantal metingen dat per seconde wordt gedaan om een analoog signaal te digitaliseren, uitgedrukt in Hertz (Hz), wat de hoeveelheid detail in de data bepaalt. |
| Frequentiedomein | Een representatie van data waarin de nadruk ligt op de frequentiecomponenten van een signaal, gebruikt voor analyse van ritmes en patronen, vaak verkregen via Fouriertransformatie. |
| Fouriertransformatie (FFT) | Een techniek die een signaal omzet in de specifieke frequentiecomponenten ervan, wat resulteert in een spectrum dat de energie of variatie per frequentie toont. |
| Data cleaning | Het proces van het opschonen van ruwe data door het identificeren en corrigeren van fouten, ontbrekende waarden, duplicaten en inconsistenties om de datakwaliteit te verbeteren. |
| Data transformatie | Het aanpassen van data naar een formaat dat geschikter is voor analyse, inclusief normalisatie, aggregatie en het creëren van nieuwe variabelen of features. |
| Normalisatie | Het proces van het herschalen van data naar een gelijke schaal, vaak naar een bereik tussen 0 en 1, om ongelijke invloed van variabelen op analyses te voorkomen. |
| Feature engineering | Het proces waarbij ruwe data wordt omgevormd of specifieke eigenschappen (features) uit de data worden geëxtraheerd die relevant zijn voor verdere analyses, wat creativiteit en domeinkennis vereist. |
| Supervised learning | Een methode waarbij een model wordt getraind op gelabelde data om patronen te leren en voorspellingen te kunnen doen op nieuwe, ongeziene data. |
| K-Nearest Neighbors (k-NN) | Een classificatie- of regressie-algoritme dat een nieuw datapunt toewijst aan de klasse van zijn K dichtstbijzijnde buren in de trainingsdataset. |
| Beslissingsboom | Een boomstructuur die beslissingen neemt op basis van tests op attributen om een klasse-label toe te kennen, gebruikt voor zowel classificatie als regressie. |
| Random Forest | Een ensemble-methode die meerdere beslissingsbomen combineert om de voorspellende nauwkeurigheid te verbeteren en overfitting te verminderen. |
| Model validatie | Het evalueren van de prestaties van een getraind machine learning model met behulp van een testset en metrics zoals nauwkeurigheid, precisie en sensitiviteit. |
| Classificatie | Een supervised learning taak waarbij een model een discrete klasse label voorspelt (bijv. spam/geen spam). |
| Regressie | Een supervised learning taak waarbij een model een continue numerieke waarde voorspelt (bijv. huizenprijs, temperatuur). |
| Unsupervised learning | Een methode waarbij een model patronen en structuren ontdekt in ongelabelde data zonder vooraf gedefinieerde output. |
| Clustering | Een unsupervised learning techniek die data groepeert op basis van hun gelijkenis, vaak gebruikt om spelers of teams te classificeren. |
| K-Means clustering | Een populair clusteringalgoritme dat een dataset verdeelt in K clusters door de afstand tussen datapunten en hun respectieve clustercentra te minimaliseren. |
| Computer visie (CV) | Een veld van kunstmatige intelligentie dat computers in staat stelt beelden te analyseren en te interpreteren, vergelijkbaar met menselijk zicht. |
| Beeldsegmentatie | Het proces waarbij pixels in een beeld worden gegroepeerd die tot hetzelfde object of gebied behoren, gebaseerd op hun voorkomen of classificatie. |
| Objectdetectie/-herkenning | Het identificeren en lokaliseren van specifieke objecten (zoals personen of sportuitrusting) binnen een beeld of videostream. |
| Pose estimation | Een computer visie techniek die de positie en oriëntatie van menselijke lichaamsdelen en gewrichten detecteert en volgt uit beelden, essentieel voor bewegingsanalyse. |
| Data storytelling | Het proces van het communiceren van inzichten uit data door middel van een narratief, ondersteund door visuals en data, met als doel het publiek te beïnvloeden tot actie. |
| Generatieve AI | Een type kunstmatige intelligentie dat in staat is om nieuwe content te creëren, zoals tekst, beeld, audio of code, vaak gebaseerd op transformerarchitecturen. |
| Large Language Models (LLM's) | Een type generatieve AI getraind op enorme hoeveelheden tekstdata, dat natuurlijke taal kan begrijpen en genereren, zoals ChatGPT of Claude. |
| Slim prompten (Smart Prompting) | Het formuleren van duidelijke en specifieke instructies (prompts) om het gewenste resultaat te verkrijgen van een LLM, ook wel prompt engineering genoemd. |
| Bias in algoritmen | Het onbedoeld bevoordelen of benadelen van bepaalde groepen binnen machine learning-algoritmen, vaak voortkomend uit gebiaste trainingsdata, wat kan leiden tot discriminatie. |
| Duurzame AI | Het gebruik van AI-technologieën op een energie-efficiënte en milieuvriendelijke manier, rekening houdend met de ecologische impact van het trainen en gebruiken van grote AI-modellen. |
| Wearables | Draagbare technologieapparaten (zoals smartwatches) die data verzamelen via interne en externe sensoren voor metingen zoals hartslag, locatie en beweging. |
| Interne sensoren | Sensoren die in een wearable zijn ingebouwd, zoals multi-band GNSS (GPS, GLONASS, Galileo), optische hartslagsensoren, pulsoximeters en bewegingssensoren (accelerometer, gyroscoop). |
| Externe sensoren | Sensoren die draadloos (via ANT+ of Bluetooth Low Energy) gekoppeld kunnen worden aan wearables om de dataverzamelingsmogelijkheden uit te breiden, zoals hartslagbanden of vermogensmeters. |
| Data feedback | Het proces waarbij geanalyseerde data wordt teruggekoppeld naar de gebruiker via visuele of tekstuele elementen om inzicht te geven en gedragsverandering te stimuleren. |
| UX (User Experience) Design | Het ontwerpen van de algehele ervaring die een gebruiker heeft met een product of dienst, met focus op bruikbaarheid, interactie en informatie-architectuur om de interacties zo gemakkelijk en aangenaam mogelijk te maken. |
| UI (User Interface) Design | Het ontwerpen van de interfaces waarmee gebruikers interageren, waarbij de focus ligt op visueel ontwerp, consistentie en interactie-elementen om de 'look and feel' van een product te bepalen. |
| Prestatie model | Een raamwerk dat prestaties ontleedt in deelcomponenten en kritieke succesfactoren (KSF) vertaalt naar meetbare Key Performance Indicators (KPI's) om prestaties te verbeteren. |
| Kritieke Succesfactoren (KSF) | Sportspecifieke factoren die doorslaggevend zijn voor succes, voortkomend uit de decompositie van prestaties in onderdelen. |
| Key Performance Indicatoren (KPI) | Meetbare, numerieke parameters die de kritieke succesfactoren vertalen, gebruikt om vooruitgang objectief bij te houden en targets te stellen. |
| Machine learning methoden | Algoritmen en technieken die systemen in staat stellen te leren van data zonder expliciet geprogrammeerd te zijn, onderverdeeld in supervised en unsupervised learning. |
| Dataset onevenwichtigheid | Een situatie waarin de klassenverhoudingen in een classificatie dataset niet gelijk zijn, wat de nauwkeurigheid van het model kan beïnvloeden. |
| Cross-validatie | Een techniek om de variabiliteit in modelprestaties te verminderen door de dataset meerdere keren te splitsen en te trainen, resulterend in een betrouwbaardere schatting van de voorspellende prestaties. |
| Accelerometer | Een sensor die versnellingen meet in een specifieke richting of dimensie, gebruikt in IMU's voor het detecteren van beweging en oriëntatie. |
| Gyroscoop | Een sensor die de snelheid van rotatie meet in meerdere dimensies, ook een component van IMU's. |
| Magnetometer | Een sensor die de sterkte en richting van een magnetisch veld meet, gebruikt om het lokale magnetische veld of het aardmagnetisch veld te detecteren. |
| Hartritmevariabiliteit (HRV) | De variatie tussen opeenvolgende hartslagen, een maat voor de activiteit van het autonome zenuwstelsel en een indicator van gezondheid en paraatheid. |
| RMSSD (Root Mean Square of Successive Differences) | Een veelgebruikte methode om HRV te berekenen, die de wortel van het gemiddelde van de gekwadrateerde verschillen tussen opeenvolgende hartslagintervallen weergeeft. |
| SDNN (Standard Deviation of NN intervals) | Een HRV-meetwaarde die de standaarddeviatie van de intervallen tussen opeenvolgende normale hartslagen (NN-intervallen) weergeeft. |
| HF (High Frequency) | Een frequentiecomponent in HRV-analyse die wordt geassocieerd met parasympathische activiteit. |
| LF (Low Frequency) | Een frequentiecomponent in HRV-analyse die wordt geassocieerd met sympathische activiteit en stressrespons. |
| LF/HF ratio | De verhouding tussen LF- en HF-vermogen in HRV, die de balans van het autonome zenuwstelsel weergeeft. |
| 2D/3D Pose estimation | Een computer visie techniek die de positie en oriëntatie van menselijke lichaamsdelen en gewrichten detecteert en volgt uit beelden of video's. |
| Generatieve AI | Een vorm van kunstmatige intelligentie die in staat is om nieuwe content te creëren, zoals tekst, beelden, muziek, en code. |
| LLM's (Large Language Models) | Geavanceerde taalmodellen die getraind zijn op enorme datasets en menselijke taal kunnen begrijpen en genereren, zoals ChatGPT en Claude. |
| Prompt engineering | De kunst van het formuleren van effectieve instructies (prompts) om een gewenst resultaat te verkrijgen van een generatief AI-model. |
| Data storytelling | Het proces waarbij inzichten uit data worden gecommuniceerd middels een verhaal, ondersteund door visuals en data, om het publiek te informeren en te beïnvloeden tot actie. |
| Videoanalyse | Het proces van het onderzoeken van videobeelden om informatie te extraheren voor trainingsfeedback, technische analyse, prestatieverbetering of tactische evaluatie. |
| Computervisie (CV) | Een veld binnen kunstmatige intelligentie dat computers in staat stelt beelden te "zien" en te interpreteren, vaak gebruikt voor geautomatiseerde videoanalyse. |
| Beeld histogram | Een grafische weergave die het aantal pixels voor elke intensiteitswaarde in een afbeelding toont, bruikbaar voor beeldverbetering en analyse. |
| HSV-kleurruimte | Een kleurmodel (Hue, Saturation, Value) dat geschikter is voor kleurvergelijkingen dan RGB, waarbij Hue de kleurtoon, Saturation de intensiteit, en Value de helderheid aangeeft. |
| Beeldsegmentatie | Het proces waarbij pixels in een beeld worden gegroepeerd die tot hetzelfde object of gebied behoren, op basis van hun uiterlijk of classificatie. |
| Object tracking | Het volgen van gedetecteerde objecten door opeenvolgende frames van een video, cruciaal voor het analyseren van bewegingen en het omgaan met occlusies. |
| Hough transformatie | Een techniek om geometrische vormen zoals rechte lijnen en cirkels in beelden te detecteren door de beeldruimte om te zetten naar een parameterruimte. |
| CSV (Comma Separated Values) | Een plat tekstformaat voor het opslaan van tabeldata, waarbij waarden gescheiden zijn door komma's. |
| JSON (JavaScript Object Notation) | Een lichtgewicht, mens-leesbaar data-uitwisselingsformaat, veelgebruikt voor web-API's en het organiseren van gestructureerde data in sleutel-waarde paren. |
| XLSX (Microsoft Excel Spreadsheet) | Een bestandsformaat voor spreadsheettoepassingen dat tabellen, formules en grafieken kan bevatten. |
| Relatieve verstreken tijd | De gemeten tijd vanaf het begin van een analyse of een specifiek evenement, nuttig voor het analyseren van de voortgang gedurende een wedstrijd of trainingssessie. |
| Feature-engineering | Het creëren van nieuwe, informatieve variabelen uit bestaande ruwe data, zoals het omzetten van snelheidseenheden of het berekenen van afstanden. |
| Heatmap | Een visuele representatie die de dichtheid van activiteit op verschillende locaties toont, vaak gebruikt om de ruimtelijke verspreiding van speleractiviteit op een sportveld te visualiseren. |
| Supervised learning | Een type machine learning waarbij een model leert van gelabelde data om voorspellingen te doen over nieuwe, ongeëtiketteerde data. |
| Unsupervised learning | Een type machine learning waarbij een model patronen en structuren ontdekt in ongelabelde data, zonder vooraf gedefinieerde output. |
| K-Means clustering | Een algoritme voor unsupervised learning dat data groepeert in K clusters op basis van hun gelijkenis, waarbij elk datapunt wordt toegewezen aan het dichtstbijzijnde clustergemiddelde (centroid). |
| Accuraatheid | Een metriek voor modelvalidatie die het percentage correct geclassificeerde gevallen weergeeft. |
| Precisie | Een metriek voor modelvalidatie die de verhouding van correct positieve voorspellingen tot alle positieve voorspellingen aangeeft. |
| Sensitiviteit (Recall) | Een metriek voor modelvalidatie die de verhouding van correct positieve voorspellingen tot alle feitelijke positieve gevallen weergeeft. |
| Specificiteit | Een metriek voor modelvalidatie die de verhouding van correct negatieve voorspellingen tot alle feitelijke negatieve gevallen weergeeft. |