Computational Perception and Artificial Intelligence

 Description:

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.

Resources:

File Area Setup:
Google Drive Setup

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

Presentations:
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

Projects:
Project 01: Hough Lines and Circles Applications

Final Project Ideas and Requirements:
Final Project






Syllabus:

Computational Perception and Artificial Intelligence Syllabus

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

Monday, August 22nd: Problem Set 01

Tuesday, August 30th: Problem Set 02

Tuesday, September 6th: Problem Set 03

Monday, September 12th: Problem Set 04
                                          #1,2,3,4,5,6,7,8,9,10,11,12
                                          Correlation and Convolution Filters
                                          Writing Images to files with cv2.imwrite()

Friday, September 16th: Problem Set 04
                                       #13, 14, 15

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

Tuesday, September 20th: Camera Assignment

Monday, September 26th: Problem Set 05

Thursday: October 6th: Problem Set 06: #1-14

Friday, October 14th:  Problem Set 06 Complete

Monday, October 24th: Problem Set 09
                                     Code and Youtube video link

Monday, October 31st: Problem Set 10

Tuesday, November 8th: Problem Set 11

Monday, November 14th: Final Project
Downloads:

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

Links:

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: