football players with bounding boxes

Bart Aalbers

Freelance Data Scientist &
Machine Learning Engineer

Services

I help companies build machine learning solutions that work in practice: from problem analysis to a production-ready pipeline.

Computer Vision

Object detection, image segmentation, classification and multi-object tracking on images and video, including in real time.

Custom Deep Learning

Design and training of neural networks, including custom loss functions, tailored to your application.

Model Optimization

Making models faster and smaller with as little loss of accuracy as possible, so they run on the hardware you have.

Production-Ready Pipelines

Complete, working pipelines for data preparation, training and evaluation, delivered so your software and DevOps team can put them to use.

I work independently or as part of your team and take technical ownership of the entire process. You can find examples under Projects. Curious what I can do for your organization? Get in touch.

Machine Learning Engineer

I design, develop and optimize machine learning solutions for real-world applications, with a strong focus on computer vision and deep learning. My background in mathematics and engineering allows me to translate complex technical challenges into working, scalable solutions.

Areas of expertise

  • Computer visionObject detection, image segmentation, image classification and multi-object tracking.
  • Deep learningDesign of neural network architectures, loss functions and training strategies.
  • Video analyticsReal-time video processing, camera calibration and image-to-world coordinate transformations.
  • Machine learningClassification, regression, feature engineering and model evaluation.
  • Model optimizationImproving accuracy, computational efficiency and inference speed.
  • Production-ready pipelinesWorking workflows for data preparation, training, validation and evaluation, delivered to your team.

Technologies

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

I work closely with clients and multidisciplinary teams and take ownership of the entire process, from problem analysis to a production-ready pipeline. My focus is on bridging the gap between machine learning research and real-world applications, through solid engineering and a deep understanding of the underlying algorithms.

overview of machine learning techniques and application areas

Data Scientist

Alongside machine learning engineering, I apply data science to determine which approach delivers the most value before a model is built. As a data scientist and lead data scientist, I have worked on both predictive models and analyses that directly support decision-making.

  • Exploratory data analysisUnderstanding datasets, patterns and data quality.
  • Statistical and predictive modelsFrom regression and classification to ranking models, such as the SciSkill Index.
  • ExperimentsFormulating research questions, selecting data sources and evaluating results.
  • CommunicationPresenting complex findings clearly to both technical and non-technical stakeholders.
measured temperature changes since 1850, including uncertainty

Projects

Below are descriptions of a number of the projects I have worked on, either independently or as part of a team, over the past few years. They include two sports-related data science projects carried out before and during my time at SciSports, and a selection of the deep learning projects from my time at Datacadabra. Each project is labeled with tags indicating which techniques were used.

Football Analytics - Real-Time 2D Radar

For a client, we are developing, with a small team, a computer vision system that converts live football broadcasts into a real-time 2D radar view. The positions of all players, goalkeepers, referees and the ball are projected onto a top-down view of the pitch. This produces a complete, up-to-date picture of the flow of the game, based solely on the camera footage of the live broadcast.

The system consists of several modular components that run in parallel, each performing a specific task. First, the camera viewpoint is classified in order to select suitable footage. Next, players, goalkeepers, referees and the ball are detected and tracked across consecutive frames using multi-object tracking. Through jersey number recognition and analysis of kit colors, players are identified and assigned to the correct team.

To project the positions accurately onto the pitch, the camera geometry is continuously calibrated based on the visible pitch lines. Using a homography, the pixel coordinates are then transformed into coordinates in meters on the football pitch. Finally, an agent-based system reconstructs the complete game situation. It uses not only the observed positions, but also smooths movement patterns and estimates the positions of players who are outside the camera view.

My work on this project consists of designing the system architecture and developing large parts of the pipeline end to end. I am also involved in designing model architectures and in training and evaluating the associated deep learning models. A key technical challenge is synchronizing the various parallel components at frame level while at the same time meeting the real-time processing requirements of live video. In particular, consistently tracking and identifying players in crowded situations, such as set pieces where players overlap, requires robust tracking and re-identification methods.

Deep Learning
Multi-Object Tracking (MOT)
Real-Time Processing
Image Segmentation
line segmentation used to determine the parameters for transforming coordinates to a 2D football pitch.

Line segmentation used to determine the parameters for transforming coordinates to a 2D football pitch.

Neural Network Compression

At AIminify, I contributed to the development of a library for compressing and optimizing convolutional neural networks (CNNs). The library supports both TensorFlow and PyTorch models and offers several techniques to reduce model size and improve inference speed. This allows deep learning models to be deployed more efficiently while retaining as much of their original performance as possible.

The library implements several optimization techniques, including batch normalization layer folding, structural pruning and quantization. Pruning removes redundant network structures to make the model more compact, while quantization reduces the numerical precision of model weights and computations. By folding batch normalization layers into the preceding convolutional layers, the number of separate operations during inference can also be reduced.

In addition to the compression techniques, the library includes functionality for fine-tuning models again after pruning, so that any loss in model performance can be limited. It is also possible to optionally extend the training dataset with data augmentation. Furthermore, functionality was developed for automatically estimating a suitable learning rate, which further automates the fine-tuning process.

Model Compression
Pruning
Quantization
TensorFlow & PyTorch

SciSkill Index & Potential

The SciSkill Index allows football clubs to rank players based on the contribution they have made to results on the pitch. This algorithm uses only match results, player positions and minutes played, and updates each player's index individually based on the expected and the actual contribution to the final result. In this way, around 200,000 players are ranked, allowing football scouts, among others, to quickly and easily put together a shortlist of potentially interesting players.

Based on the available historical data, the SciSkill Potential was developed using a regression model. This algorithm estimates a player's potential based on the historical development of the SciSkill Index of older and former players.

Optimization
Regression
display of the SciSkill Index and potential for Higuaín

Mowhawk - Litter Detection

Litter is a major problem, both worldwide and in the Netherlands. This is one of the reasons why Datacadabra developed the Mowhawk following a tender by the Province of Overijssel. The Mowhawk is a camera system equipped with AI that is mounted on the mowers that cut the verges along roads. Within the collected footage, the system detects in real time whether litter or invasive exotic species are present, and the route of the mower is recorded. This information is then stored in a cloud environment and exported to map layers that can be loaded into the client's Geographic Information System (GIS).

In this development project, I worked on, among other things, the development of the litter detection system. Deep learning was used for this, with a pipeline set up for training the model. In preparation, a model architecture was designed and a suitable loss function was defined. Within this pipeline, the data is prepared and split into a training and validation set, the model is compiled and trained, and the final results are evaluated.

Deep Learning
Computer Vision
Classification

Litter detection based on camera footage. The value in the top left corner of each box indicates the probability with which litter is detected. If the probability is greater than 0.75, i.e. 75%, a frame is drawn around the box.

License Plate Detection

Mobile mapping is a rapidly evolving field that uses advanced technologies to capture data and collect geospatial information from moving vehicles. The imagery acquired by these systems also contains privacy-sensitive information, such as license plates and people's faces, which often still requires manual anonymization.

For a mobile mapping company, I contributed to the development of a solution for automatically detecting and anonymizing this sensitive information. As part of this solution, I worked on a deep learning-based license plate detection module and developed the associated model training pipeline.

My work included designing the model architecture and defining a suitable loss function for object detection. The approach combines a classification component, which determines whether an object is present, with a regression component that estimates the coordinates of its bounding box. The training pipeline covers data preparation, the creation of training and validation sets, model compilation and training, and the evaluation of the resulting model.

Deep Learning
Computer Vision
Object Detection
photo of a street scene in Lübeck with license plates masked

Player Roles

Over the past decades, the recruitment of players in professional football has evolved into a multibillion-dollar industry. To gain insight into the general level of their potential signings, many professional football clubs have access to extensive video material and advanced statistics. Modern professional football clubs today have a playing style of their own, often determined partly or largely by the head coach. This means that new players must not only have sufficient talent, but also fit within the club's current playing style.

To assist scouts in this search, a total of 21 player profiles were defined based on the underlying data, an extensive search of sports media and in consultation with the scouting department. Most of the player profiles describe players who excel in technical skills, football intelligence, strength, speed and/or stamina.

For the model, the data scouts at SciSports labeled part of the dataset of players. These labels were then used to train a separate classification model for each player profile. For integration into the Insight platform, a pipeline was set up that made it possible to process play-by-play event data directly into player profiles.

Classification
Feature Engineering

Surface Segmentation

Mobile mapping is an advanced technology used to collect data about the environment while a vehicle moves through an area. The vehicle is equipped with advanced sensors, such as LiDAR (Light Detection and Ranging), cameras and GPS, which capture 3D data and images of the surrounding world. As part of a team, I worked on a project in which a pipeline was developed to detect road surfaces in camera images. These detections are then converted into 2D geographic coordinates.

Within this project, my focus was mainly on the part of the pipeline that processes images and segments surfaces. I designed and elaborated a model architecture and developed a custom loss function. These elements were integrated into a pipeline for training the model, in which images are prepared and split into a training and validation set. The model is compiled, trained and evaluated.

In addition, I set up a pipeline for processing new images with the trained model, and this pipeline was integrated into the graphical user interface (GUI) to make it user-friendly. The end result is an effective and efficient method for automatically detecting and locating surfaces in mobile mapping images, which provides valuable information for various applications, such as urban planning, infrastructure development and traffic analysis.

Deep Learning
Computer Vision
Image Segmentation
segmentation model that detects asphalt as a surface

Livup - National Housing Index

Livup is an innovative data-driven housing platform that intelligently integrates public data sources. By leveraging these data sources, a specific housing profile is compiled for every home in the Netherlands, enabling users to find their ideal home within the Netherlands' extensive housing stock.

At Livup, I worked, among other things, on the development of the National Housing Index (NHI), a measure that assesses the quality of homes. This index makes it possible to rank all homes in the available listings, with the unique aspect that the index is insensitive to price changes.

The NHI is derived from a specific subset of property values that were recorded within a short time frame. This derived value serves as the target variable, for which a model was created that approximates this target variable as accurately as possible based on public data on each home. To achieve this, regression was used and an advanced pipeline was set up for training the model and fine-tuning hyperparameters. Within this pipeline, the data is prepared, the model is trained using cross-validation, and the final results are thoroughly evaluated.

Regression
Feature Engineering
mobile and desktop view of the Livup platform

Mowhawk - Invasive Species Detection

Because of globalization and climate change, the Netherlands has a growing problem with the spread of invasive exotic plants and animals. Besides displacing native species, some of these invasive species cause damage to infrastructure, roads and waterways. To tackle this challenge, the Mowhawk was developed as an advanced camera system, equipped with artificial intelligence, that is installed on the mowers that maintain the verges along roads.

A key goal of the Mowhawk is to detect, in real time, the presence of invasive plant species, such as Japanese knotweed and/or giant hogweed, within the collected footage. This valuable information is then stored in a cloud environment and exported to map layers that can be integrated into the client's Geographic Information System (GIS).

Within this development project, I worked on the development of the detection system for invasive species. For this task, I used deep learning techniques, with which we set up a solid pipeline for training the model. I was responsible for designing the model architecture and defining a suitable loss function to optimize the learning process. To prepare the model, we carefully preprocessed the relevant data and then split it into a training and validation set. The model was compiled and trained, and finally we evaluated the end results extensively to ensure that the system is accurate and reliable in its detection capabilities.

Deep Learning
Computer Vision
Multiclass Multilabel Classification

Detection of invasive species based on camera footage. The value in the top left corner of each box indicates the probability and the type of invasive species detected. If the probability is greater than 0.75, i.e. 75%, a frame is drawn around the box.

Background

My name is Bart Aalbers and since September 2023 I have been working as a freelance data scientist and machine learning engineer. I graduated in 2007 as a mechanical engineer from the University of Twente, specializing in biomedical engineering. During my studies I delved deeper into data analysis, and for my graduation research I worked with a tracking measurement system for recording and analyzing human gait.

I started my career at the engineering consultancy DGMR. Within the vibration engineering and low-noise design group, I worked on, among other things, the dynamic behavior of buildings, control of building services noise, and vibration-isolating mountings for equipment. I also got to work on some more exotic projects, such as carrying out in situ wind pressure measurements on high-rise buildings in the center of The Hague. During these 8 years I learned a lot about data analysis, which contributed to my decision to move into my first role as a data scientist.

At SciSports I was able to combine my hobby, football, with my work as a data scientist. In that period I switched from Matlab to Python and trained further in machine learning by taking various courses. During that time I developed, among other things, the SciSkill Index, which many clubs still gratefully use today. I worked there for a total of 4 years with great pleasure, and in that time the company grew from 5 to more than 50 employees.

From 2019 I worked as lead data scientist at Datacadabra. Like SciSports in its early stage, this is a small startup at the University of Twente that develops AI applications for companies and governments. During this period I was able to broaden my knowledge in the field of deep learning and computer vision. I also led a small team of data scientists within multidisciplinary projects.

After several years as a lead data scientist, I decided in June 2023 to start as a freelancer, which is a logical step for me after 8 years of working in startups. I look forward to collaborating on exciting new projects and solving challenging problems. If you are looking for an enthusiastic, experienced and dedicated data scientist, please feel free to contact me. Let's see together whether we can transform your data into valuable knowledge and insights.

Contact