Software Engineer - Machine Learning and Research (Nov 2023 - Jun
2025)
Senior Software Engineer - Machine Learning and Research (Jun 2025 -
Present)
Applying state-of-the-art machine learning and computer vision research to push the boundaries of virtual production. Key projects include:
Live human matting project for Omega at Paris Olympic Games 2024: Developed and deployed an ML-based pipeline for a live activation with 300+ captures/renders per day, enabling audience to virtually race alongside Olympic athletes, captured by 4 cameras. Using machine learning, footage was aligned, segmentated, rendered and uploaded as a user shareable video. The pipeline integrates:
- Pre- and post-processing functions for precise time alignment for use with camera selection, editing, compositing and rendering.
- ML based compositing function removing background from human in video, with moving background (no green-screen) and compositing them onto pre-rendered virtual backgrounds.
Semantic segmentation and matting pipeline for virtual production: Leading the development of an automated segmentation pipeline to generate high-quality alpha mattes from raw footage for virtual production. Key achievements:
- Leveraged vision-language models such as BLIP2, GroundingDINO and SAM2 for text-to-object prompting, object detection and segmentation.
- Integrated zero-shot text-to-mask segmentation methods and refined outputs using generative AI models to create precise, production-ready alpha mattes.
- Optimised the output for compositing tools like Nuke and Resolve by creating Cryptomatte files, streamlining the post-production process.
Machine Learning Engineer (Growth Marketing & Technology - meta-bidding team) Cross-functional team maintaining & growing big data platform running ML prediction pipelines for meta bidding & business intelligence on AWS infrastructure. I was MLE on several key projects, including:
- Architecting and implementing centralised QA asset, unifying several handcrafted functions performing same algorithm on different platforms. This was also used as PoC for building out a unified meta-function store, and as the first step in breaking apart our monolithic platform application into modular form
- Migrating legacy code w/ linear process into AirFlow DAGs, enabling step tables, concurrent processing, and code quality improvements
Graduate Engineer (Nov 2020 - Apr 2021)
Software Engineer, Machine Learning Group (Apr 2021 - Jan 2022)
Participated in Arm’s graduate rotation programme, gaining hands-on experience across multiple teams and projects within the machine learning group. Proactively selected rotations to build expertise in machine learning, computer vision, and embedded systems. Promoted to Software Engineer after 8 months in recognition of strong performance.
-
ML Research team, Bayesian DeepLearning for CV: (2 months) Lead researcher, exploring and implementing Bayesian DeepLearning models for pixel level image segmentation, and optimising for Arm hardware IP.
- Explore model architectural changes for performance optimisations of DeepLabV3
- Deep dive into Bayesian DeepLearning methods with a model implementation for pixel segmentation.
-
Applied ML team, Dynamic hand gesture recognition, and visual wake words (8 months): Lead research engineer conducting a literature review of models and datasets, training and optimizing a video understanding model for gesture recognition, and implementing a data generator pipeline using OpenCV for large video datasets. Applying state-of-the-art techniques to enhance performance on low-power, IoT, and embedded Arm IP.
-
ML Tooling Team, IPSS-ML (IP Selection Sandbox for ML applications) (4 months): Part of the team developing a middle-ware application to simulate and test ML applications on accelerated (NPU) and regular (M/A class processors) Arm IP using fast- and cycle-models.
Deimos Space UK, Harwell, Oxfordshire, July – Sept 2019. Computer Vision and Machine Learning research intern - Built object detection model using neural networks for earth observation data, to detect and differentiate between biodiversity types (Python, TensorFlow and Keras)
Yobota, London, Jun – Sep 2018. Software Engineer intern - Developed PoC integration API for OpenBanking using Django / DRF / Oauth 2.0