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 | `Lecture 01 `_ | `Video 01A `_, `Video 01B `_, `Video 01C `_ | +----------+------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 01 B | Quantization | `Lecture 01B `_ | | +----------+------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 02 | Edge Detection, Segmentation | `Lecture 02 `_ | `Video 02A `_, `Video 02B `_, `Video 02C `_ | +----------+------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 03 | Applications | `Lecture 03 `_ | `Video 03A `_, `Video 03B `_, `Video 03C `_, `Video 03D `_ | +----------+------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 04 | Machine Learning | `Lecture 04 `_ | `Video 04A `_, `Video 04B `_, `Video 04C `_ | +----------+------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 05 | Modular Neural Networks | `Lecture 05 `_ | `Video 05A `_, `Video 05B `_, `Video 05C `_ | +----------+------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 06 | Review and Write Papers | `Lecture 06 `_ | `Video 06A `_, `Video 06B `_, `Video 06C `_, `Video 06D `_, `Video 06E `_ | +----------+------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 07 | Performance and Resources | `Lecture 07 `_ | `Video 07A `_, `Video 07B `_, `Video 07C `_, `Video 07D `_ | +----------+------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 07 B | Pytorch Quantization | `Lecture 07B `_ | | +----------+------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 08 | Detect and Track Objects | `Lecture 08 `_ | `Video 08A `_, `Video 08B `_, `Video 08C `_ | +----------+------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 09 | Data Bias and Privacy | `Lecture 09 `_ | `Video 09A `_, `Video 09B `_, `Video 09C `_ , `Video 09D `_ | +----------+------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 10 | Data Generation | `Lecture 10 `_ | `Video 10A `_, `Video 10B `_ | +----------+------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 11 | Neural Architecture Search | `Lecture 11 `_ | `Video 11A `_, `Video 11B `_ | +----------+------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 12 | Transformer A | `Lecture 12 `_ | `Video 12A `_, `Video 12B `_, `Video 12C `_, `Video 12D `_ | +----------+------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 13 | Transformer B | `Lecture 13 `_ | `Video 13A `_, `Video 13B `_ | +----------+------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 14 | Real-Time Scheduling | `Lecture 14 `_ | `Video 14A `_, `Video 14B `_, `Video 14C `_, `Video 14D `_, `Video 14E `_ | +----------+------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | 15 | Research Topics | `Lecture 15 `_ | `Video 15A `_, `Video 15B `_ | +----------+------------------------------+----------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ 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. |201809Team| |201803Team| .. |201809Team| image:: https://engineering.purdue.edu/HELPS/Images/201809team.jpg :width: 42% .. |201803Team| image:: https://engineering.purdue.edu/HELPS/Images/201803team.jpg :width: 49%