Education
University of Toronto
BASc. Computer Engineering; Dean's Honour List; CGPA 3.82/4.00
Toronto, Ontario, Canada
Jun 2017 - May 2022
Experience
EPSON Edge
Software Developer Intern, Machine Learning Algorithm Research
Markham, Ontario, Canada
May 2019 - Aug 2019 ; May 2020 - Present
-
Image Instance Segmentation
Tensorflow Python
Evaluated and designed state-of-the-art algorithms for image instance segmentation. Used various methods such as image augmentation and RGB-D to achieve high accuracy. Familiarized with machine learning research methodologies such as keeping detailed research logs. This was used as part of a robotics picking pipeline.
-
Robotic Bin Picking
Tensorflow Python Bash
Worked on deep learning algorithms for generating and evaluating grasping points for picking objects in occluded scenes. Designed data generation strategies with simulation software. Designed automated tools with Python and Bash scripts to evaluate the accuracy and success rate of the grasping point detection.
-
Blender Scripting
Python
Wrote scripts in Blender to deform CAD models. Edited UV mapping to add material and texture to CAD models. This was used as part of a data generation pipeline
-
Realistic Robotic Simulation
Python Lua
Developed Python and Lua scripts to realistically simulate robot grasping for training data generation with V-REP and the PyBullet physics engine.
-
Training Infrastructure Management
Bash Python
Set up Linux servers for researchers. Introduced technologies such as VNC, containerization, and disk encryption for a server group. Set up network sharing service for fast file transfer.
Centre for Applied Power Electronics
Research Assistant, Software
Toronto, Ontario, Canada
May 2018 - Aug 2018
-
Embedded Real-Time Programming
C G
Developed peak-power-shaving program on the National Instruments CompactRIO industrial controllers. The software featured intelligent battery management based on active load changes. Currently it is deployed in a community power substation.
-
Load Forecasting Algorithm
C G MATLAB
Developed an algorithm to forecast load curves based on active usage patterns and historical usage data. Designed UI for easy-to-use interface for operators to adjust parameters on site.
-
FPGA Programming
C G
Designed and implemented FPGA programs for high-speed analog and digital signal acquisition and recording. Utilized a custom-designed anti-aliasing filter for high-frequency signal acquisition. Supports external storage device with USB protocol.
Projects
Operating System From Scratch
C Assembly
Built a fully functional operating system from scratch. Included support for virtual memory, threads, synchronization primitives, and user-kernel-space separation. Used git for version control and familiarized with advanced git branching strategies.
GIS Software
C++
Created a GIS software. Built navigation features with A* graph traversal and Dijkstra's Algorithm. Used GTK to build an intuitive UI. Used git and advanced branching strategies. Led a team of three. Arranged team meetings and managed internal milestones. Utilized the Agile development methodology.
Pong and Asteroids Arcade Games
Java
Programmed a Pong game and an Asteroids game with the Java Swing library. Utilized Object Oriented Programming methodologies to build modular and readable code.
Web Image Database Management Application
PHP JavaScript JQuery HTML CSS
Created an advanced yet user-friendly database management application. Allows users to access and upload files based on their permission. Created a web portal for system administrators.
Skills
Programming
C++
C
Python
Java
Bash
Assembly
Verilog
MATLAB
G
Software
Tensorflow
Linux
git/Subversion
Docker
MATLAB
Quartus Prime
Blender
Fusion 360
Courses
Operating Systems
Algorithms and Data Structures
Machine Learning
Digital Signal Processing