• Hi!
    I'm Kareem

    A Machine Learning and Robotics Engineer

    Download CV

About Me

Who Am I?

I'm Kareem Elsawah, a Master's student (MScAC) at the University of Toronto, with a passion towards Machine Learning and Robotics. My recent interests have been generative models and Autonomous Mobile Robotics. I am also currently interested in exploring deep connections between the various machine learning algorithms currently used and the different perspectives and formulations they can be presented in.

Machine Learning

Robotics

Software

Game Development

My Specialty

My Skills

Python

90%

Deep Learning (PyTorch)

90%

Statistics

85%

Generative Modeling

75%

Reinforcement Learning

75%

Game Development (Unreal Engine)

70%
Education

Education

Expected: December 2024
Completed courses: ML in healthcare, Vision for Robotics
Ongoing courses: Algorithmic Fairness, Statistical learning Theory

July 2023
Cummulative GPA: 3.89/4.0
Ranked 1st out of 130 students
Major in Computer Engineering and Software Systems
Minor in Data Science
Thesis: Autonomous Drones for Environment Mapping in GPS-denied Environments

American Diploma
GPA: 4.0/4.0
SAT: 1540/1600
SAT Subjects:

  • Math Level 2: 800/800
  • Physics: 800/800
  • Chemistry: 800/800
  • Biology: 780/800
AP Scores:
  • Calculus BC: 5
  • Physics C, Mechanics: 5
  • Physics C, Electricity and Magnetism: 5
  • Chemistry: 5
  • Computer Science A: 5
  • Macroeconomics: 4

Experience

Work Experience

Ocado Technology icon

Ocado Technology, Robotics Software Intern May 2024 - Dec 2024

  • Developed a survival analysis model for item drop prediction using robotics data (e.g., joint states, suction pressures).
  • Designed and implemented a predictive control system fusing survival analysis, CLIP, and Model Predictive Control to increase robotic arm speed in warehouses while reducing item drop rates.
  • Achieved up to 50% reduction in drop rates in simulation without reducing speed; real-world validation showed a statistically significant reduction in applied forces, enhancing operational efficiency.
ASU Racing Team icon

ASU Racing Team, AI Team Leader Nov 2019 - Aug 2023

  • Led Formula AI and Shell AI teams for the 2021 and 2022 seasons, winning several international awards. The 2021 system is described in this research gate article.
  • Completed a full-autonomous lap using a real-life previously unseen vehicle in the Formula Student UK competition using less than a total of 6 hours for testing.
  • Developed a LiDAR-based cone detection pipeline achieving sub-centimeter accuracy at more than 100 fps.
  • Created heuristic and transformer-based planners achieving robustness to extremely noisy perception.
  • Implemented Graph-SLAM using LiDAR-based Odometry to create a map of cones in real-time.
  • Implemented Model Predictive Control for obtaining, updating, and following the optimal racing line.
  • Held a summer AI & Robotics workshop with over 200 applicants filtered to over 50 participants.
Microsoft icon

Intern at Microsoft, Advanced Technology Lab Jul 2022 - Oct 2022

  • Worked on low-resource machine translation and speech recognition.
  • Used language models to implement basic rescoring algorithms.
  • Improved the baseline by rescoring during training rather than inference (language model prior).
  • Started work on transfer learning between languages in the embedding space using contrastive learning approaches.
ARL icon

Perception Intern, Autotronics Research Lab Jan 2021 - Sep 2021

  • Worked on the perception system for a self-driving car, especially object detection and tracking.
  • Used LiDAR and RGB Cameras to detect objects in 3D using PVCNN.
  • Tracked objects in 2D and 3D using SORT, DeepSORT, and similar 3D variants.
  • Created a visualizer in Unreal Engine to view all of the cars' perceptions (surrounding cars, lanes, traffic lights, path planning, pedestrians, etc.)
  • Taught five sessions on SLAM and perception in a summer workshop.
Omdena icon

Junior ML Engineer, Omdena Aug 2021 - Oct 2021

  • Contributed to data wrangling, data analysis, and modeling on a real-world time series problem
  • Tested early baselines using SARIMAX
  • Built a Bayesian AR model using pyMC3 with a learned prior (to have few-shot learning)
Projects

Recent Projects

Scalable Latent Neural SDEs

A novel method that improves neural stochastic differential equations in terms of scalability compared to previous methods, specifically for the latent SDE model.

GANVAS

PyTorch implementation of various generative models including: Autoregressive models, Normalizing Flows, Variational Autoencoders, and Denoising Diffusion models.

Zeta

Implementation of REINFORCE, A2C, and PPO from scratch using only NumPy, including an implementation of a deep learning framework with CNNs. Trained on several OpenAI gym environments: continuous and discrete action spaces as well as some with images as inputs instead of states. We also created a 3D physics engine from scratch to create custom environments such as a walking spider and a drone to train PPO.

Why

”Why”, a causal inference library for structural causal modeling and identification. ”Why” implements a variety of algorithms, including:
  • the pc algorithm for causal discovery
  • GNN and CGNN for edge orientation
  • COM, GCOM, and TARNet estimators
  • Backdoor adjustment
  • Bounds and Sensitivity analysis

Formula AI, System

Software for autonomously driving a race car according to the Formula Student AI Rules.

BROS

Bandwidth Reduction for Online Streaming. A tool to reduce the required bandwidth for streaming lectures by removing the lecturer (while showing where he/she is pointing) and discretizing the shown board.

3D Object Tracker

A 3D bounding box tracker similar to AB3DMOT, implemented starting from 2D SORT implementation.

Self-driving using Linear Regression

Created an educational tool in Unreal Engine 4 where users can drive a car around a track to collect data. Then, they can train a simple Linear Regression model using this data to autonomously drive the car using behavior imitation. Current record model finishes the track in 176 seconds (it can drift!). Can you do better?