Computer Vision for Embedded Systems

This course provides an overview of running computer vision (OpenCV and PyTorch) on an embedded system (Raspberry PI). The course emphasizes the resource constraints imposed by embedded systems and examines methods (such as quantization and pruning) to reduce resource requirements. Course topics:
1. Overview, image data formats, OpenCV
2. Edge detection and segmentation
3. Applications of computer vision in embedded systems
4. Datasets, bias, privacy, competitions
5. Machine learning and PyTorch
6. Performance and resources (time, memory, accuracy)
7. Object detection and motion tracking
8. Data annotation and generation
9. Quantization
10. Pruning and network architecture search
11. Tree modular networks
12. Vision in context, MobileNet
13. Real-time vision
14. Review and discussion

ECE59500

Credit Hours:

1

Learning Objective:

  1. Use computer vision to analyze images
  2. List the constraints of embedded systems
  3. Explore design space of computer vision
  4. Evaluate different methods for accuracy/time tradeoffs

Description:

This course provides an overview of running computer vision (OpenCV and PyTorch) on an embedded system (Raspberry PI). The course emphasizes the resource constraints imposed by embedded systems and examines methods (such as quantization and pruning) to reduce resource requirements. Course topics:

  1. Overview, image data formats, OpenCV
  2. Edge detection and segmentation
  3. Applications of computer vision in embedded systems
  4. Datasets, bias, privacy, competitions
  5. Machine learning and PyTorch
  6. Performance and resources (time, memory, accuracy)
  7. Object detection and motion tracking
  8. Data annotation and generation
  9. Quantization
  10. Pruning and network architecture search
  11. Tree modular networks
  12. Vision in context, MobileNet
  13. Real-time vision
  14. Review and discussion

Topics Covered:

Computer Engineering, VLSI and Circuit Design

Prerequisites:

ECE20875, Python for Data Science or similar

Applied / Theory:

50 / 50

Homework:

4 homework assignments, 1 final project, class participation

Textbooks:

None

Computer Requirements:

Other Requirements:

Reading materials (research papers) will be assigned. Students may purchase a Raspberry PI 4 for the programming assignments; Engineering students with ECN accounts will be able to access a Raspberry PI in the instructor's lab via the Internet.

ProEd Minimum Requirements:

view