voetbalspelers met bounding boxes

Bart Aalbers

Freelance Data Scientist &
Machine Learning Engineer

Dienstverlening

Ik help bedrijven machine learning-oplossingen te ontwikkelen die in de praktijk werken: van probleemanalyse tot een productieklare pipeline.

Computer Vision

Objectdetectie, beeldsegmentatie, classificatie en multi-object tracking op beeld en video, ook in real-time.

Deep Learning op maat

Ontwerp en training van neurale netwerken, inclusief eigen loss-functies, afgestemd op jouw toepassing.

Modeloptimalisatie

Modellen sneller en kleiner maken met zo min mogelijk verlies aan nauwkeurigheid, zodat ze draaien op de beschikbare hardware.

Productieklare pipelines

Complete, werkende pipelines voor datavoorbereiding, training en evaluatie, opgeleverd zodat jouw software- en DevOps-team ze kan inzetten.

Ik werk zelfstandig of als onderdeel van je team en neem de technische verantwoordelijkheid voor het hele traject. Voorbeelden vind je onder Projecten. Benieuwd wat ik voor jouw organisatie kan betekenen? Neem contact op.

Machine Learning Engineer

Ik ontwerp, ontwikkel en optimaliseer machine learning-oplossingen voor praktijktoepassingen, met een sterke focus op computer vision en deep learning. Mijn achtergrond in wiskunde en engineering stelt me in staat om complexe technische vraagstukken te vertalen naar werkende, schaalbare oplossingen.

Expertisegebieden

  • Computer visionObjectdetectie, beeldsegmentatie, beeldclassificatie en multi-object tracking.
  • Deep learningOntwerp van neurale netwerkarchitecturen, loss-functies en trainingsstrategieën.
  • Video-analyseReal-time videoverwerking, camerakalibratie en transformatie van beeld- naar wereldcoördinaten.
  • Machine learningClassificatie, regressie, feature engineering en modelevaluatie.
  • ModeloptimalisatieVerbeteren van nauwkeurigheid, rekenefficiëntie en inferentiesnelheid.
  • Productieklare pipelinesWerkende workflows voor datavoorbereiding, training, validatie en evaluatie, opgeleverd aan jouw team.

Technologieën

  • Python
  • PyTorch
  • TensorFlow & Keras
  • TensorRT
  • ONNX / ONNX Runtime
  • OpenCV
  • Scikit Learn
  • XGBoost & LightGBM
  • Git

Ik werk nauw samen met opdrachtgevers en multidisciplinaire teams en neem de verantwoordelijkheid voor het volledige traject, van probleemanalyse tot een productieklare pipeline. Mijn focus ligt op het overbruggen van de kloof tussen machine learning-onderzoek en praktische toepassing, met solide engineering en een diepgaand begrip van de onderliggende algoritmen.

overzicht van technieken en toepassingsgebieden voor machine learning

Data Scientist

Naast machine learning engineering zet ik data science in om te bepalen welke aanpak het meest oplevert, voordat er een model wordt gebouwd. Als data scientist en lead data scientist werkte ik aan zowel voorspellende modellen als analyses die direct ondersteuning bieden bij besluitvorming.

  • Verkennende data-analyseInzicht in datasets, patronen en datakwaliteit.
  • Statistische en voorspellende modellenVan regressie en classificatie tot rangschikkingsmodellen, zoals de SciSkill Index.
  • ExperimentenFormuleren van onderzoeksvragen, selecteren van databronnen en evalueren van resultaten.
  • CommunicatieComplexe uitkomsten helder presenteren aan zowel technische als niet-technische stakeholders.
gemeten temperatuursveranderingen vanaf 1850 inclusief onzekerheid

Projecten

Hieronder staan een aantal van de projecten omschreven waar ik zelfstandig of in teamverband aan heb gewerkt in de afgelopen jaren. Het betreft hier twee sport gerelateerde data science projecten uitgevoerd voorafgaande en tijdens mijn periode bij SciSports en een selectie van de deep learning projecten uit mijn periode bij Datacadabra. Voor ieder project zijn labels toegevoegd die aangeven welke technieken hiervoor gebruikt zijn.

Football Analytics - Real-Time 2D Radar

Voor een opdrachtgever ontwikkelen we met een klein team een computer vision-systeem dat live voetbaluitzendingen omzet naar een real-time 2D-radarweergave. Hierin worden de posities van alle spelers, keepers, scheidsrechters en de bal geprojecteerd op een bovenaanzicht van het voetbalveld. Hierdoor ontstaat een compleet en actueel overzicht van het spelverloop, uitsluitend op basis van de camerabeelden van de live-uitzending.

Het systeem bestaat uit verschillende modulaire componenten die parallel draaien en ieder een specifieke taak uitvoeren. Zo wordt eerst het camerastandpunt geclassificeerd om geschikte beelden te selecteren. Vervolgens worden spelers, keepers, scheidsrechters en de bal gedetecteerd en over opeenvolgende frames gevolgd met multi-object tracking. Door middel van shirt­nummerherkenning en analyse van de tenuekleuren worden spelers geïdentificeerd en aan het juiste team toegewezen.

Om de posities nauwkeurig op het speelveld te projecteren, wordt de camerabeeldgeometrie continu gekalibreerd op basis van de zichtbare veldlijnen. Met behulp van een homografie worden de pixelcoördinaten vervolgens getransformeerd naar coördinaten in meters op het voetbalveld. Tot slot reconstrueert een agent-based systeem de volledige spelsituatie. Hierbij worden niet alleen de waargenomen posities gebruikt, maar worden ook vloeiende bewegingspatronen en schattingen gemaakt voor spelers die zich buiten het camerabeeld bevinden.

Mijn werkzaamheden binnen dit project bestaan uit het ontwerpen van de systeemarchitectuur en het end-to-end ontwikkelen van grote delen van de pipeline. Daarnaast houd ik mij bezig met het ontwerpen van modelarchitecturen en het trainen en evalueren van de bijbehorende deep learning-modellen. Een belangrijke technische uitdaging is het synchroniseren van de verschillende parallelle componenten op frameniveau, terwijl tegelijkertijd aan de real-time verwerkingseisen van live videobeelden wordt voldaan. Met name het consistent volgen en identificeren van spelers in drukke situaties, zoals standaardsituaties waarbij spelers elkaar overlappen, vraagt om robuuste tracking- en re-identificationmethoden.

Deep Learning
Multi-Object Tracking (MOT)
Real-Time Processing
Image Segmentation
lijn segmentatie ten behoeve van het bepalen van de parameters voor het transformeren van coordinaten naar een 2D voetbalveld.

lijn segmentatie ten behoeve van het bepalen van de parameters voor het transformeren van coordinaten naar een 2D voetbalveld.

Neural Network Compression

Binnen AIminify heb ik meegewerkt aan de ontwikkeling van een library voor het comprimeren en optimaliseren van convolutionele neurale netwerken (CNN's). De library ondersteunt zowel TensorFlow- als PyTorch-modellen en biedt verschillende technieken om de modelgrootte te verkleinen en de inferentiesnelheid te verbeteren. Hiermee kunnen deep learning-modellen efficiënter worden ingezet, met behoud van zoveel mogelijk van hun oorspronkelijke prestaties.

De library implementeert verschillende optimalisatietechnieken, waaronder batch normalization layer folding, structural pruning en quantization. Bij pruning worden overbodige netwerkstructuren verwijderd om het model compacter te maken, terwijl quantization de numerieke precisie van modelgewichten en berekeningen reduceert. Door batch normalization-lagen te combineren met voorgaande convolutielagen kan bovendien het aantal afzonderlijke bewerkingen tijdens inferentie worden beperkt.

Naast de compressietechnieken bevat de library functionaliteiten om modellen na pruning opnieuw te finetunen, zodat eventueel verlies in modelprestaties kan worden beperkt. Ook is het mogelijk om de trainingsdataset optioneel uit te breiden met data augmentation. Daarnaast is een functionaliteit ontwikkeld voor het automatisch inschatten van een geschikte learning rate, waarmee het fine-tuningproces verder wordt geautomatiseerd.

Model Compression
Pruning
Quantization
TensorFlow & PyTorch

SciSkill Index & Potential

De SciSkill Index geeft voetbalclubs de mogelijkheid om spelers te rangschikken op basis van de bijdrage die ze hebben geleverd aan het resultaat op het veld. Dit algoritme maakt gebruik van enkel wedstrijduitslagen, spelersposities en speelminuten en update de index van iedere speler afzonderlijk op basis van de vooraf verwachte en de daadwerkelijke bijdrage aan het eindresultaat resultaat. Op deze manier worden circa 200.000 spelers gerangschikt, waarmee onder andere voetbalscouts snel en eenvoudig een shortlist kunnen maken van potentieel interessante spelers.

Op basis van de beschikbare historische data is met behulp van een regressiemodel de SciSkill Potential ontwikkeld. Dit algoritme maakt een inschatting van het potentieel van een speler op basis van het historisch verloop van de SciSkill Index van oudere en oud spelers.

Optimization
Regression
weergave van de Sciskill Index en potentieel voor Higuaín

Mowhawk - Zwerfvuil Detectie

Zwerfvuil is een groot probleem zowel wereldwijd als ook in Nederland. Mede om die reden heeft Datacadabra via een aanbesteding van de Provincie Overijssel de Mowhawk ontwikkeld. De Mowhawk is een met AI uitgerust camerasysteem dat wordt bevestigd op de maaimachines die de bermen langs de wegen maaien. Binnen het verzamelde beeldmateriaal wordt real-time gedetecteerd of er vuil of invasieve exoten aanwezig zijn en wordt de route van de maaimachine geregistreerd. Deze informatie wordt vervolgens opgeslagen in een cloudomgeving en geëxporteerd naar kaartlagen die in te lezen zijn in het Geo-informatiesysteem (GIS) van de klant.

In dit ontwikkeltraject heb ik mij onder andere beziggehouden met de ontwikkeling van het detectiesysteem voor vuil. Hiervoor is gebruikgemaakt van deep learning, waarbij een pipeline is opgezet voor het trainen van het model. Ter voorbereiding is hiervoor een model architectuur ontworpen en een geschikte ‘loss’ functie gedefinieerd. Binnen deze pipeline wordt de data geprepareerd, opgesplitst in een training en validatie set, wordt het model gecompileerd, getraind en worden de eindresultaten geëvalueerd.

Deep Learning
Computer Vision
Classification

Zwerfvuil detectie op basis van camerabeelden. De waarde in de hoek links boven in ieder vak geeft de waarschijnlijkheid aan waarmee vuil wordt gedetecteerd. Bij een waarschijnlijkheid groter dan 0.75, ofwel 75%, wordt een kader om het vak getekend.

Nummerplaat Detectie

Mobile mapping is een snel ontwikkelend vakgebied waarbij geavanceerde technologieën worden ingezet om gegevens vast te leggen en geografische informatie te verzamelen vanuit bewegende voertuigen. Het beeldmateriaal dat met deze systemen wordt verzameld, bevat ook privacygevoelige informatie, zoals kentekenplaten en gezichten van personen. Het anonimiseren van deze informatie gebeurt in de praktijk nog regelmatig handmatig.

Voor een bedrijf gespecialiseerd in mobile mapping heb ik bijgedragen aan de ontwikkeling van een oplossing om deze privacygevoelige informatie automatisch te detecteren en te anonimiseren. Als onderdeel hiervan heb ik gewerkt aan een op deep learning gebaseerde module voor kentekendetectie en de bijbehorende trainingspipeline ontwikkeld.

Mijn werkzaamheden omvatten onder andere het ontwerpen van de modelarchitectuur en het definiëren van een geschikte loss-functie voor objectdetectie. De aanpak combineert een classificatiecomponent, die bepaalt of een object aanwezig is, met een regressiecomponent die de coördinaten van de bijbehorende bounding box schat. De trainingspipeline omvat de datavoorbereiding, het samenstellen van trainings- en validatiesets, het compileren en trainen van het model en het evalueren van de uiteindelijke modelprestaties.

Deep Learning
Computer Vision
Object Detection
foto van het straatbeeld van Lubeck met nummerplaten maskering

Player Roles

In de afgelopen decennia is het wervingsproces van spelers in het professionele voetbal geëvolueerd tot een miljardenindustrie. Om inzicht te krijgen in het algemene niveau van hun potentiële versterkingen, hebben veel professionele voetbalclubs toegang tot uitgebreid videomateriaal en geavanceerde statistieken. De moderne professionele voetbalclubs hebben tegenwoordig een geheel eigen speelstijl, vaak gedeeltelijk of grotendeels bepaald door de hoofdtrainer. Dit betekent dat nieuwe spelers niet alleen moeten beschikken over voldoende talent, maar ook moeten passen binnen de huidige speelstijl van een club.

Om scouts te assisteren in deze zoektocht zijn er op basis van onderliggende data, een uitgebreide zoektocht in sportmedia en in samenspraak met de scouting afdeling in totaal 21 spelersprofielen gedefinieerd. De meeste spelersprofielen beschrijven spelers die uitblinken in technische vaardigheden, voetbalintelligentie, kracht, snelheid en/of uithoudingsvermogen.

Voor het model hebben de data scouts bij SciSports een deel van de dataset met spelers voorzien van labels. Deze labels zijn vervolgens gebruikt om voor ieder spelersprofiel een apart classificatiemodel te trainen. Voor de integratie in het Insight platform is hiervoor een pipeline opgezet, waarmee het mogelijk werd om play-by-play event data direct te verwerken tot spelersprofielen.

Classification
Feature Engineering

Ondergronden Segmentatie

Mobile mapping is een geavanceerde technologie die wordt ingezet om gegevens van de omgeving te verzamelen tijdens de verplaatsing van een voertuig door een bepaald gebied. Het voertuig is voorzien van geavanceerde sensoren, zoals LiDAR (Light Detection and Ranging), camera's en GPS, waarmee 3D-gegevens en beelden worden vastgelegd van de omringende wereld. Als onderdeel van een team heb ik gewerkt aan een project waarin een pipeline is ontwikkeld om ondergronden te detecteren binnen de camerabeelden. Deze detecties worden vervolgens omgezet in 2D-geografische coördinaten.

Binnen dit project lag mijn focus voornamelijk op het onderdeel van de pipeline dat beelden verwerkt en ondergronden segmenteert. Daarbij heb ik een model architectuur ontworpen en uitgewerkt en een aangepaste 'loss'-functie ontwikkeld. Deze elementen zijn geïntegreerd in een pipeline voor het trainen van het model, waarbij beelden worden voorbereid en opgedeeld in een training- en validatieset. Het model wordt gecompileerd, getraind en geëvalueerd.

Daarnaast heb ik een pipeline opgezet om nieuwe beelden te verwerken met behulp van het getrainde model, en deze pipeline is geïntegreerd in de gebruikersinterface (GUI) om het gebruiksvriendelijk te maken. Het uiteindelijke resultaat is een effectieve en efficiënte methode om ondergronden automatisch te detecteren en te lokaliseren in mobile mapping beelden, wat waardevolle informatie oplevert voor verschillende toepassingen, zoals stadsplanning, infrastructuurontwikkeling en verkeersanalyse.

Deep Learning
Computer Vision
Image Segmentation
segmentatiemodel dat asfalt als ondergrond detecteert

Livup - Nationale Woning Index

Livup is een innovatief datagedreven woningplatform dat openbare databronnen op een intelligente wijze integreert. Door deze databronnen te benutten, wordt voor elke woning in Nederland een specifiek woningprofiel samengesteld, waardoor gebruikers de mogelijkheid krijgen om hun ideale huis te vinden binnen het uitgebreide woningbestand van Nederland.

Binnen Livup heb ik onder andere gewerkt aan de ontwikkeling van de Nationale Woning Index (NWI), een maatstaf die de kwaliteit van woningen beoordeelt. Deze index biedt de mogelijkheid om alle woningen in het beschikbare aanbod te rangschikken, waarbij het unieke aspect is dat de index ongevoelig is voor prijsveranderingen.

De NWI is afgeleid van een specifieke subset van woningwaarden die binnen een kort tijdsbestek zijn geregistreerd. Deze afgeleide dient als de doelvariabele, waarvoor een model is gecreëerd dat op basis van openbare gegevens van elke woning deze doelvariabele zo nauwkeurig mogelijk benadert. Om dit te bereiken, is er gebruikgemaakt van regressie en is er een geavanceerde pipeline opgezet voor het trainen van het model en het fine-tunen van hyperparameters. Binnen deze pipeline wordt de data voorbereid, wordt het model getraind middels cross-validation, en worden de eindresultaten grondig geëvalueerd.

Regression
Feature Engineering
mobiele en desktop weergave voor het Livup platform

Mowhawk - Exoten Detectie

Door globalisering en klimaatverandering heeft Nederland een groeiend probleem met de verspreiding van invasieve exotische planten en dieren. Naast het verdringen van inheemse soorten, veroorzaken sommige van deze invasieve soorten schade aan de infrastructuur, wegen en waterwegen. Om deze uitdaging aan te pakken, is de Mowhawk ontwikkeld als een geavanceerd camerasysteem, voorzien van kunstmatige intelligentie, dat wordt geïnstalleerd op de maaimachines die de bermen langs de wegen onderhouden.

Een belangrijk doel van de Mowhawk is om in real-time de aanwezigheid van invasieve plantensoorten, zoals de Japanse Duizendknoop en/of Reuzenberenklauw, te detecteren binnen het verzamelde beeldmateriaal. Deze waardevolle informatie wordt vervolgens opgeslagen in een cloudomgeving en geëxporteerd naar kaartlagen die kunnen worden geïntegreerd in het Geo-informatiesysteem (GIS) van de klant.

Binnen dit ontwikkeltraject heb ik gewerkt aan de ontwikkeling van het detectiesysteem voor invasieve exoten. Voor deze taak heb ik gebruikgemaakt van deep learning-technieken, waarbij we een solide pipeline hebben opgezet voor het trainen van het model. Ik was verantwoordelijk voor het ontwerpen van de model architectuur en het definiëren van een geschikte 'loss'-functie om het leerproces te optimaliseren. Om het model voor te bereiden, hebben we de relevante data zorgvuldig voorbewerkt en vervolgens opgesplitst in een training- en validatieset. Het model is gecompileerd en getraind, en ten slotte hebben we de eindresultaten uitgebreid geëvalueerd om te verzekeren dat het systeem nauwkeurig en betrouwbaar is in zijn detectiemogelijkheden.

Deep Learning
Computer Vision
Multiclass Multilabel Classification

Detectie van invasieve exoten op basis van camerabeelden. De waarde in de hoek links boven in ieder vak geeft de waarschijnlijkheid en het type invasieve exoot dat wordt gedetecteerd. Bij een waarschijnlijkheid groter dan 0.75, ofwel 75%, wordt een kader om het vak getekend.

Achtergrond

Mijn naam is Bart Aalbers en ik ben sinds september 2023 werkzaam als freelance data scientist en machine learning engineer. Ik ben in 2007 als werktuigbouwkundige afgestudeerd aan de Universiteit Twente in de biomedische richting. Tijdens mijn studie heb ik me meer verdiept in data-analyse en heb tijdens mijn afstudeeronderzoek gewerkt met een tracking meetsysteem voor het registreren en analyseren van de menselijke loopbeweging.

Mijn carrière ben ik begonnen bij het ingenieursbureau DGMR. Binnen de vakgroep trillingstechniek en geluidarm construeren heb ik me onder andere bezig gehouden met dynamisch gedrag van gebouwen, beheersing van installatiegeluid binnen gebouwen en trillingsisolerende opstellingen van apparaten. Daarnaast mocht ik werken aan enkele meer exotische projecten, zoals het in situ uitvoeren van winddrukmetingen aan de hoogbouw in het centrum van Den Haag. In deze periode van 8 jaar heb ik veel geleerd op het gebied van data-analyse en dit heeft er mede aan bijgedragen dat ik de overstap heb gemaakt naar mijn eerste functie als data scientist.

Bij SciSports heb ik mijn hobby voetbal kunnen combineren met mijn werk als data scientist. Daarbij ben ik van Matlab overgestapt op Python en heb ik mij bijgeschoold op het gebied van machine learning door diverse cursussen te volgen. Ik heb in die periode onder andere de SciSkill Index ontwikkeld waar nog steeds veel clubs dankbaar gebruik van maken. Ik heb hier in totaal 4 jaar met veel plezier gewerkt en in die tijd is het bedrijf uitgegroeid van 5 naar meer dan 50 werknemers.

Vanaf 2019 heb ik gewerkt als lead data scientist bij Datacadabra. Dit is net als SciSports in de beginfase een kleine startup op de Universiteit Twente die AI toepassingen ontwikkelt voor bedrijven en overheden. In deze periode heb ik mijn kennis meer kunnen verbreden op het gebied van deep learning en computer vision. Daarnaast heb ik leiding gegeven aan een klein team van data scientists binnen de multidisciplinaire projecten.

Na enkele jaren te hebben gewerkt als lead data scientist heb ik in juni 2023 besloten om te gaan starten als freelancer, wat voor mij een logische stap is na 8 jaar werken in startups. Ik kijk er naar uit om samen te werken aan mooie nieuwe projecten en uitdagende problemen op te lossen. Als je op zoek bent naar een enthousiaste, ervaren en betrokken data scientist, neem dan gerust contact met me op. Laten we samen kijken of we jouw data kunnen transformeren in waardevolle kennis en inzichten.

Contact