Computational Perception and Artificial Intelligence


This class teaches the computational techniques for perception and analysis of computer vision and sound. Algorithms for artificial intelligence will also be explored. Topics include the Open Computer Vision toolset, Image Sonification, and Music Information Retrieval. Course will feature modules in computer vision and sound followed by a culminating project. Open to 10th-12th graders who have completed Computational Media and one of: Introduction to Programming in JAVA, Mobile App Design, Robotics and Engineering, Electronics I, Foundations of Computer Graphics, or AP Computer Science.


File Area Setup:
Google Drive Setup

Software Install and Setup:
Directions for Downloading and Installing Python, Numpy, OpenCV

Python Programming Elements
Python and OpenCV
Matrix Operations
Template Matching
Correlation and Convolution Filters
Image Filtering
Derivatives, Images, and Gradients
Edge Detection
Hough Parameterization
Line and Circle Detection
Particle Filter and Localization
Stereo Geometry
Feature Detection / Harris Corners
Motion / Action Detection
Applications to Sound
A* Path Finding
Artificial Neural Networks and Supervised Machine Learning

Code Samples for Computer Vision in Python and Open CV:
Image Read and Display
Reading Camera Data
Match Template with Video
Video Template Matching Exercise and Directions
Doctor Who Template Matching Exercise
1D Derivative Practice
Image Derivative Practice (PS04 #13, 14, 15)
Python and Arduino Functions for Servos

Problem Sets:
Problem Set 01
Problem Set 02
Problem Set 03
Problem Set 04
Problem Set 05
Problem Set 06
Problem Set 07
Problem Set 08
Problem Set 09
Problem Set 10
Problem Set 11

Project 01: Hough Lines and Circles Applications

Final Project Ideas and Requirements:
Final Project


Computational Perception and Artificial Intelligence Syllabus

Assignments:  (Due at the beginning of class unless otherwise noted)

Assignment 01: Problem Set 01

Assignment 02: Problem Set 02

Assignment 03: Problem Set 03

Assignment 04: Problem Set 04
                                          Correlation and Convolution Filters
                                          Writing Images to files with cv2.imwrite()

Assignment 05: Edge Image Reading Questions
                                           (Email Document to Mr. Michaud)

Assignment 06: Camera Assignment

Assignment 07: Problem Set 05

Assignment 08: Problem Set 06

Assignment 09: Problem Set 09: Particle Filters

Assignment 10: Problem Set 07: Search: Breadth First, Uniform Cost, A*
                            Presentation and Notes
                            Algorithm: Uniform Cost
                            Problem Set 07 Code

Assignment 11: Problem Set 12: KNN Algorithms, Decision Trees, Neural networks

Assignment 12 Problem Set 08: K-Means Clustering

Final Project: Final Project

Python, Numpy, Scipy, and Open CV Downloads
Textbook: OpenCV-Python Documentation and Examples
Textbook: Computer Vision: Algorithms and Applications 
Textbook: Linear Algebra
Immersive Math Interactive Linear Algebra Textbook
PyCharms IDE
Paper: A Computational Approach to Edge Detection by John Canny


Georgia Tech Computational Photography Website
Documentation: OpenCV and Python
Desmos Online Graphing Calculator
Video about Neural Learning Networks, Genetic Algorithms, and Super Mario
Emergency Lesson Plans: