The module “A Face in the Crowd” is the opening module in the 12-credit, 3-semester QEA sequence. The module introduces the major ideas in linear algebra with a focus on intuition building and application in an effort to build deep understanding. The module is organized around the engineering challenging of building a facial recognition system. Rather than purely focus on the technical components of this challenge, students read about the societal issues surrounding the technology (e.g., algorithmic bias). Along the way students also see applications of linear algebra applied to different domains (e.g., neuroscience).
The full course “textbook” can be found using this link AFaceInTheCrowdSpring2020.pdf. Source files for this website and the assignments themselves can be found at https://github.com/qeacourse/AFaceInTheCrowd.
QEA is a highly interdisciplinary, integrated course for teaching technical content.
Students use MATLAB as a programming environment during this module. Use the button below to see sample code and other supporting materials.
The module introduces fundamental ideas in linear algebra through a deep dive into creating a facial recognition system.
These resources provide some of the sample code we give in an easy to download and view format along with a guide to setting up your own photo booth so one can collect a dataset of images for facial recognition from a class.
The module begins with a day 1 activity that frames the big ideas of facial recognition (both in terms of technical concepts and societal implications). Students then build their understanding of the basic entities of linear algebra and how to operate on them.
Next, students build on the basic properties of matrices and vectors and learn key concepts of Eigenvalues and Eigenvectors. Our presentation of these important concepts is heavy on visualization and intuition-building. We also provide several applications of these concepts to help students understand the power and utility of the math they are learning.
Day 4: Linear Systems of Algebraic Equations
Night 4: Facial Recognition, Image Manipulation and Decomposition
Day 5: Linear Systems of Algebraic Equations, Brain data, and Context and Ethics
Night 5: Correlation
Day 6: AI Discussion, Smile Detection and Eigenthings
Night 6: Eigenvalues and Eigenvectors
Students learn about several algorithms for matrix decomposition: Eigen Value Decomposition, Singular Value Decomposition, and Principal Components Analysis. The module culminates with a substantial project in which students build algorithms for facial recognition and processing while seriously considering the implications of their work for potential users and society in general.
Day 7: Eigen Value Decomposition and Principal Components Analysis
Night 7: Principal Components Analysis and Eigenfaces
Day 8: Eigenface Synthesis and Project Kick-Off
Night 8: Eigenfaces Paper and Project Ideation
Day 9: Project Kickoff
Project: The Context and Consequences of Feature Recognition, Detection, and Classification