Yifan Lu

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