Notice: For the latest information and guidance on Purdue's response to COVID-19 please visit:

Computer Vision for Embedded Systems


Credit Hours:


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


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


ECE20875, Python for Data Science or similar

Applied / Theory:

50 / 50


4 homework assignments, 1 final project, class participation



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: