Courses
Graduate
ECE 595 “Online Course: Computer Vision for Embedded Systems”. Fall 2021 and 2022. This is an experimental course. This course provides an overview of running computer vision (OpenCV and PyTorch) on an embedded system. The course emphasizes the resource constraints imposed by embedded systems and examines methods (such as quantization and pruning) to reduce resource requirements. This course was offered in Spring 2022 as a Guest Lecturer (Sabbatical Visit) in “Special Topics in Machine Intelligence, Seoul National University”
The course is available to anyone worldwide for auditing (through EdX, please check the link above).
Lecture |
Topic |
Slides |
Videos |
|
---|---|---|---|---|
01 |
Introduction, OpenCV |
|||
01 B |
Quantization |
|||
02 |
Edge Detection, Segmentation |
|||
03 |
Applications |
|||
04 |
Machine Learning |
|||
05 |
Modular Neural Networks |
|||
06 |
Review and Write Papers |
|||
07 |
Performance and Resources |
|||
07 B |
Pytorch Quantization |
|||
08 |
Detect and Track Objects |
|||
09 |
Data Bias and Privacy |
|||
10 |
Data Generation |
|||
11 |
Neural Architecture Search |
|||
12 |
Transformer A |
|||
13 |
Transformer B |
|||
14 |
Real-Time Scheduling |
|||
15 |
Research Topics |
Undergraduate
Vertically Integrated Projects
Vertically Integrated Projects. VIP teams mix students from cohorts (first-year undergraduate to doctoral) and conduct research. Dr. Lu advises the following teams:
Fall 2023 “Artificial Intelligence in Music”: AI-enabled tools to support string music performers. The first tool, the Evaluator, aims to improve individual practice and performance. It analyzes a musician’s sound and compares it to digitized music scores to detect deviations in intonation, rhythm, and dynamics and suggest better posture based on sample performers’ recording with correct posture. The second tool, the Companion, plays the part of one or several instruments to replace absent musicians with matching tempo, and style of the human musicians through audio analysis of their performance while also responding in real-time to verbal instructions.
Fall 2023 “Computer Vision for Embedded Systems”: Investigate methods to improve efficiency (inference time, training time, storage space, energy consumption) of computer vision (both image and multimedia) so that computer vision can run on embedded systems. The team will evaluate how existing methods (such as quantization and pruning) can be applied to new neural architectures (such as transformers). The team will also investigate new architectures of neural networks and compare their efficiency with different levels of accuracy.
Spring 2023 and Fall 2022 “VIP Team: Computer Vision for Embedded Systems”: improve efficiency (inference time, training time, storage space, energy consumption) of computer vision (both image and multimedia) so that computer vision can run on embedded systems. The team will evaluate how existing methods (such as quantization and pruning) can be applied to new neural architectures (such as transformers). The team will also investigate new architectures of neural networks and compare their efficiency with different levels of accuracy. Advisor: Yung-Hsiang Lu.
Fall 2021 “Analyze Drone Video”: creates a dataset captured by drone (also called UAV, unmanned aerial vehicle) and a referee system that can evaluate the accuracy and performance (execution time) of different solutions. Sponsor: Facebook - Pytorch. Advisors: Qiang Qiu, Yung-Hsiang Lu, and Wei Zakharov.
Fall 2021 “Open-Source TensorFlow Software”: Creates software to be used in the TensorFlow 2 Model Garden as examples. Sponsor: Google. Advisors: James Davis and Yung-Hsiang Lu
Spring 2021 “Image Processing for Solar Sail”: Creates the software to analyze the images taken by the camera on a spacecraft using solar sail. Sponsor: NASA. Advisors: Alina Alexeenko, Anthony Cofer, Yung Hsiang Lu.
Spring 2021 “Program Analysis as a Service”: Creates an online service that analyzes computer programs to help students learn programming. Advisors: Aravind Machiry and Yung-Hsiang Lu.
ECE 264 Advanced C Programming
Fall 2023 “ECE 264 Advanced C Programming”
Spring 2023 “ECE 264 Advanced C Programming”. Topics covered: stack memory, recursion, memory management, structures, file (text and binary), dynamic structures (linked list and binary tree). Tools: gcc, gcov, Makefile, gdb, valgrind. Lecture videos are available here.
Fall 2021 “ECE 264 Advanced C Programming”. Tools: gcc, gcov, Makefile, gdb, valgrind.
Fall 2020: Video, slides, and script
ECE 270 Introduction to Digital System Design
Fall 2022 “ECE 270 Introduction to Digital System Design”, Topics: CMOS logic circuits, Switching Algebra, Verilog, state machine.