Justin Liang

I'm currently a first year MSc student in Computer Science (Machine Learning Group) at the University of Toronto since September 2016. I am supervised by Raquel Urtasun. Prior to that I completed my BASc in Mechanical Engineering (Mechatronics Program) at the University of British Columbia (2011-2016). My research interests lie on the intersection of Computer Vision and Machine Learning. My CV is available here.

My e-mail is justinliang at cs dot toronto dot edu.


TorontoCity: Seeing the World with a Million Eyes [PDF]

Shenlong Wang, Min Bai, Gellert Mattyus, Hang Chu, Wenjie Luo, Bin Yang, Justin Liang, Joel Cheverie, Sanja Fidler, Raquel Urtasun. (submitted to ICCV 2017)

Generating Structured Building Footprints from Aerial Images

Justin Liang*, Min Bai*, Raquel Urtasun. *denotes equal contribution (submitted to ICCV 2017)


CSC2541: Topics in Machine Learning - Sport Analytics (Winter 2017)[PDF]

Gave a lecture on two activity recognition papers: End-to-end Learning of Action Detection from Frame Glimpses in Videos and Detecting Events and Key Actors in Multi-Person Videos.


Canny Edge Detector [TUTORIAL] [CODE]

Implemented a Canny edge detection algorithm using MATLAB. It uses non maximum suppression to thin edges and hysteresis thresholding to determine the real edges.

Texture Synthesis [TUTORIAL coming soon] [CODE]

Read Efros and Leung's paper on texture synthesis and implemented the algorithm in MATLAB. The algorithm grows a texture outward using a random seed from a sample texture image.

Color Extraction by HSV [TUTORIAL] [CODE]

Implemented a color extraction algorithm on MATLAB by applying HSV masks.

Template Matching [TUTORIAL coming soon] [CODE]

Implemented a simple template matching algorithm in MATLAB and Python to find the faces of my university crew by performing normalized cross correlation with a generic face template.

Personal Projects

TM4C123 Embedded Systems Programming [CODE]

Completed embedded systems course from UT Austin. Learned how to use interrupts, timers, ADC, DAC and UART on the Texas Instrument TM4C123. Implemented a traffic light controller using a state machine.

Steam Web Browser Automation Script [PDF] [CODE]

This Python script is used to automate repetitive tasks by parsing and interacting with Steam e-mails and webpages saving users hundreds of hours a month of work.

School Projects

Motor Control Using a MSP430

Designed a proportional controller and used it to control a DC motor with a MSP430 microcontroller. This was done by taking in encoder data and adjusting the timer to produce the correct PWM duty cycle.

Elevator Simulation [CODE]

Simulated an elevator system using principles of concurrent systems such as data pools, pipelines and semaphores in C++.

Trajectory Generation and Control for a Linear Motor Driven XY Table

Designed an integrator plus lead/lag controller and a pole placement controller to draw on a XY table. Developed functions to perform interpolations to draw a custom toolpath.

8 Bit CPU

Built a simple CPU in VHDL consisting of an ALU and a register file on the Altera Cyclone II FPGA.