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)

Monday, August 21st: Problem Set 01

Monday, August 28th: Problem Set 02

Tuesday, September 5th: Problem Set 03

Monday, September 11th: Problem Set 04
                                          Correlation and Convolution Filters
                                          Writing Images to files with cv2.imwrite()

Thursday, September 14th: Edge Image Reading Questions
                                           (Email Document to Mr. Michaud)

Friday, September 15th: Camera Assignment

Monday, September 18th: Problem Set 05

Monday: October 2nd: Problem Set 06

Monday, October 16th: Problem Set 09: Particle Filters

Monday, October 23rd: Problem Set 07: Search: Breadth First, Uniform Cost, A*

Monday, October 30th: Problem Set 12: KNN Algorithms, Decision Trees, Neural networks

Tuesday, November 7th: Problem Set 13: K-Means Clustering

Monday: November 13th: 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: