You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A 5 by 5 grid of face images with labels of whether each of them are smiling.
Computational Platform
Students use MATLAB as a programming environment during this module. Use the button below to see sample code and other supporting materials.
#supporting-resources
Supporting Resources
btn--primary
image_path
alt
title
excerpt
url
btn_label
btn_class
website_graphics/eigface1_stretched.jpg
A sample Eigenface calculated from the class dataset.
Module Overview
The module introduces fundamental ideas in linear algebra through a deep dive into creating a facial recognition system.
#module-details
Module Details
btn--primary
image_path
alt
excerpt
website_graphics/faces_collage.png
A 5 by 5 grid of face images with labels of whether each of them are smiling.
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.
### Sample MATLAB Code
* [Sample Code](Sample_code/sample_code)
### Teaching Team Documentation
* [How to run the Photo Booth](How to/photo_booth)
image_path
alt
excerpt
website_graphics/RGBArrayWithSlice.png
A schematic of the representation of a red, green, and blue image as a matrix
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.
### Schedule and Supporting Documents
* [Day 1: Facial Recognition: The Big Picture](Chapters/M1_Day1.pdf)
* [Night 1: Introduction to Matrices](Chapters/M1_Night1.pdf)
* [Day 2: Matrix Transformations](Chapters/M1_Day2.pdf)
* [Night 2: Matrix Operations](Chapters/M1_Night2.pdf)
* [Day 3: Linear Independence, Span, Basis, and Decomposition](Chapters/M1_Day3.pdf)
* [Night 3: Linear Systems of Algebraic Equations](Chapters/M1_Night3.pdf)
image_path
alt
excerpt
website_graphics/covariancedirections.png
A 3D scatter plot showing the relationship between the temperature in 3 cities along with the principal directions of variance shown as vectos.
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.
### Schedule and Supporting Documents
* [Day 4: Linear Systems of Algebraic Equations](Chapters/M1_Day4.pdf)
* [Night 4: Facial Recognition, Image Manipulation and Decomposition](Chapters/M1_Night4.pdf)
* [Day 5: Linear Systems of Algebraic Equations, Brain data, and Context and Ethics](Chapters/M1_Day5.pdf)
* [Night 5: Correlation](Chapters/M1_Night5.pdf)
* [Day 6: AI Discussion, Smile Detection and Eigenthings](Chapters/M1_Day6.pdf)
* [Night 6: Eigenvalues and Eigenvectors](Chapters/M1_Night6.pdf)
image_path
alt
excerpt
website_graphics/eigface1.jpg
An image of an Eigenface computed using principal components analysis
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.
### Schedule and Supporting Documents
* [Day 7: Eigen Value Decomposition and Principal Components Analysis](Chapters/M1_Day7.pdf)
* [Night 7: Principal Components Analysis and Eigenfaces](Chapters/M1_Night7.pdf)
* [Day 8: Eigenface Synthesis and Project Kick-Off](Chapters/M1_Day8.pdf)
* [Night 8: Eigenfaces Paper and Project Ideation](Chapters/M1_Night8.pdf)
* [Day 9: Project Kickoff](Chapters/M1_Day9.pdf)
* [Project: The Context and Consequences of Feature Recognition, Detection, and Classification](Chapters/M1_Project.pdf)
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).
{% include feature_row id="feature_row_linalg_basics" type="right" %}
Eigenthings and Applications of Linear Algebra
{% include feature_row id="feature_row_eigenthings_and_applications_of_linalg" type="left" %}
Matrix Decomposition with Applications in a Project
{% include feature_row id="feature_matrix_decomposition_and_project" type="right" %}
Conclusion and Learning More
The module "A Face in the Crowd" is a deep dive into the linear algebra and its myriad applications. The module builds towards the creation of algorithms for face processing and recognition, but along the way many other applications of the powerful ideas in linear algebra are shown. We have found that this approach to teaching linear algebra gives a high degree of intuition and understanding of the most important concepts while keeping "turning the crank" (e.g., doing repetitive calculations by hand) to a minimum.
Despite the fact that the module is successful at Olin, we realize that everyone's institutional context is different. To connect with folks at Olin College to learn more about this module or determine how you might build off of this at your own institution, e-mail [email protected] to start the conversation.