Projects

Wildfire Smoke Detection Model

Research Competition Computer Vision Detectron2

I participated in a 3-month machine learning research competition called ProjectX which focused on climate change related problems. As part of the UBC team, I led a group of 4 undergraduate students and together we proposed a smoke detection task on a network of firecameras spread across Western US. We demonstrated the feasibility of smoke detection in Pan-Tilt-Zoom camera data using a multi-label image classifier. We applied a gridded image approach where the model predicts the grid segments containing smoke.

Toomre Model for Galaxy Collisions

School Project Finite Difference Approximation MATLAB

The Toomre model is a simplified model to describe the dynamics of galaxy interactions. There are two major assumptions that facilitate the model complexity. First, each galaxy consists of a central point particle called a ”core” which consists of gravitating mass. Second, stars that orbit a galaxy only experience gravitational influence from cores and not from other stars. These two components make it possible to implement an effective and efficient simulation for galaxy interactions/collisions. I used a second-order centered FDA to approximate the differential equation describing N gravitating masses.

Neural Network for Vehicle Dynamics

Research Project Model Predictive Control Autonomous Vehicles ROS C++

During summer 2020, I worked under UBC Professor Ian Mitchell as a funded undergraduate student. My work focused on a sampling-based Model Predictive Control (MPC) algorithm developed by Georgia Tech. This algorithm lacked an accompanying framework to generate a system dynamics model. As a result, I built a scalable pipeline to train a feedforward neural network for a prediction model of arbitrary vehicle dynamics. I tested and successfully validated this pipeline with recorded Gazebo simulation data.

COVID-19 Classification from Chest X-Rays

School Project Computer Vision Transfer learning PyTorch

The COVID-19 classification project exposed our team to the challenges of training a model with a small (70 labeled images), imbalanced dataset. The leave-one-out cross validation technique along with data augmentations proved to be highly effective for this task. We were able to leverage what we learned throughout the machine learning course as well as our own prior experience with neural networks to develop a robust classifier. Our model predictions on the test set achieved second place in the class competition.

Tagging Hadronic Jets in the ATLAS Particle Detector using Deep Learning

Research Project Particle physics Multiclass classification Keras

My undergraduate thesis was supervised by Alison Lister and consisted of detecting displaced hadronic jets at the ATLAS particle detector using deep learning. My work was part of a broader search for long-lived particles outside of the Standard Model of particle physics. I improved model performance by augmenting the existing deep-recurrent network and found that adding 1D convolutional layers prior to the LSTMs provided global feature extraction and dimensionality reduction.

Extending a Cloud Robotics Demo Application

Research Project Robotics SLAM ROS

For 16 months I was an intern at a research lab in Zurich, Switzerland. One of my core tasks involved extending the cloud robotics demo application with additional features. I offloaded the SLAM algorithm Google cartographer to the cloud which removed the dependence of powerful on-board hardware. Additionally, I implemented a text-to-speech functionality giving users remote access and control of the speech capabilities of the robots.

Configuring a Navigation System for a Dynamic Indoor Environment

Research Project Robotics Navigation LiDAR ROS

Another contribution I made during my time in Zurich was integrating vision sensors and configuring a robust navigation system on a robot platform designed for warehouse automation. Transitioning from the simulated model to the physical one, I encountered numerous technical obstacles — for instance, the physical robot frequently had trouble clearing expired obstacles from the navigation costmap due to noisy LiDAR data. To address this, I added temporal decay to costmap obstacles and added logic to remove LaserScan points with few neighbouring points.

Obstacle Avoidance via Ultrasonic Sensor

School Project Robotics MSP430 microcontroller C

I developed and tested an emergency braking system using an ultrasonic sensor, a Texas Instrument MSP430 16-bit micro-controller, and a robot car chassis kit. The challenge in this project was programming the robot without any external libraries like the ones available for Arduino. I also implemented a simple algorithm to maneuver the robot around obstacles using data from 360-degree scans.