CS301: Introduction to Computational Perception and Cognition Spring 2013 Course Syllabus Instructor: Dr. Zhaozheng Yin, email: [email protected] Office: Computer Science Building 320 Office Hours: Tue, Thur 11:00AM - noon or by appointments Class Schedule: Tue Thur 9:30PM - 10:45PM, Class Number: 73097. Lecture Venue: Computer Science Building XXX [Egress map (emergency exit route)]. Course Description (3 credits): This course introduces foundational theories and analysis methods in computational visual perception and cognition. Topics will include image formation, camera model and geometry, description of visual features, shape analysis, stereo reconstruction, motion and video processing, and visual object recognition. Prerequisites: Good programming experience in C/C++ or Matlab, Cmp Sc 253 or equivalent, MATH 203/208 or equivalent. Familiarity with basic concepts of linear algebra / matrices. Textbooks: Computer Vision: Algorithms and Applications by Richard Szeliski. Available for free online or available for purchase. 2010 Learning OpenCV: Computer Vision with the OpenCV Library by Gary Bradski and Adrian Kaehler. O’Reilly Media. 2008. OpenCV2 Computer Vision Application Programming Cookbook by Robert Laganiere. Packt Publishing. 2011 Course Topics: students are required to understand the following concepts and achieve the ability to implement or solve sample problems in those topic areas. Each is supported by in-class lectures, programming projects and homework assignments, and tested through exams. 

Linear Filter concepts: convolution, smoothing operators, derivative operators, simple feature extraction methods (edges and corners). Sample problem: Being able to implement a simple feature detector in Matlab.



Color and Light concepts: spectral density functions, albedo, sensor response functions. Sample problem: given a spectral density function of a light source, sensor spectral response function, and the spectral albedo of two surfaces A and B, tell which surface appears brighter to the sensor.



Camera Projection concepts: perspective projection, extrinsic and intrinsic camera parameters, matrix equations for 3D-to-2D projection. Sample problem: Being able to determine the image pixel locations of 3D features in the world.



Stereo concepts: parallax, disparity versus depth, rectification, epipolar geometry, essential and fundamental matrices. Sample problem: Being able to calculate 3D location given corresponding points in two images. Sample problem: Being able to sketch the epipolar geometry specified by a given fundamental matrix.

CS 301 Spring 2013

Syllabus

1 of 4



Motion concepts: motion field versus optical flow, methods for computing optical flow (direct and feature-based), basic ideas underlying structure from motion. Sample problem: explaining the difference between motion field and optical flow, and being able to give specific examples where they are not equal, for example, where optic flow is zero but motion field is nonzero.



Video Processing concepts: change detection, tracking techniques, data association. Sample problem: discuss pro and cons of different video change detection methods. Sample problem: implement a moving object detection algorithm.



Object Recognition concepts: feature-based methods (e.g. SIFT keys), PCA-based methods (e.g. eigenfaces). Sample problem: Implement the eigenface recognition algorithm.

Course Objectives/Outcomes: Upon completion of the course, students should posses the following knowledge and skills: 

Analyze algorithms or computer code for correctness and efficiency. - Outcome is supported by the hands-on programming assignments. Each assignment involves implementing nontrivial computer vision algorithms for analyzing images/video.



Write clear and effective technical prose. - A written report is submitted with each programming project, worth fifty percent of the assignment. This report documents the goals, approach, program flow, assumptions made, results achieved, and analysis of what went right or wrong during the project.



Speak clearly and persuasively about technical subjects in large and/or small group settings, and use supporting materials effectively. - This outcome is supported by in-class discussions.



Demonstrate independent learning by using unfamiliar computer systems, test equipment, and software tools to solve technical problems. - Programming assignments are done in Matlab, which is unfamiliar to many students. - Most students are not familiar with either the mathematical analysis tools or algorithmic approaches to dealing with image or video data. - This outcome is measured through homework and programming assignments.



Be able to discuss major trends in industry and current research activities within the discipline. - This outcome is supported by the entire structure of the course, which by necessity deals with stateof-the-art research topics. - This outcome is measured via the tests, assignments and programming projects.



Demonstrate an ability to work effectively in multi-disciplinary teams. The term multi-disciplinary is used here in the broader sense to include teams of computer professionals having different skills; e.g., one team member might be familiar with web development, whereas another might have experience with microprocessor systems. - This outcome is supported by the required team-based projects. - Each project report is required to include a written description of the contribution that each team member has made to that project submission. Some teams choose to assign some members to work on the programming while others work on the report. Some teams work together on every task all the way through.

Grading:

CS 301 Spring 2013

Syllabus

2 of 4

   

Homework Assignments (2): 20% Project Assignments (4): 40% In-class Midterm Exam (1): 20% In-class Final Exam (1): 20%

Homework Assignments: Homework assignments must be done individually and are due at the start of class on the date specified. No late credit will be given, as we may go over the answers in class, and answers will be posted after class. Absolutely no submission will be accepted after this time. Submissions by email are not allowed unless the instructor agrees in advance. Homework will be a combination of math problems and short programming problems. Use of Matlab is strongly encouraged for programming (it is faster for you to develop and for us to evaluate). Project Assignments: 







There will be four computer projects due during the semester. These are much more serious programming efforts than the homeworks, and involve implementing end-to-end vision algorithms with several components. Projects can be team efforts, performed in groups of two people. The deadline to form these groups is January 31. Students not belonging to a group will be assigned one by alphabetical order. From past experience, things seem to work out better when you form your own group, rather than being assigned to one, even if it means you have to take the initiative to introduce yourself to someone you don’t know (yikes!). For some reason, working in assigned groups for the projects seems to be a considerable source of angst each semester. Please heed my call, and make a serious effort to put your own teams together. Each group submits code, a written report, and a short description of what each member of the group contributed to the project. Typically, all members of the team receive the same grade for the submission, but a member who clearly is not contributing will receive a lower grade. Projects are to be submitted in Blackboard, by the specified date and time. Your code must be in running order, and adhere to input and output formats that will be specified. We are going to run your code on new input data! If it doesn’t work, the grade will reflect that. In addition, 50% of the grade of the projects will be based on the written report, which will include a problem statement, description of solution approach, rationale for any design decisions that were made, description of user-defined parameter settings, pictures of results produced, and a discussion of the results, including explanation of any deficiencies observed.

Exams Schedule: There will be one in-class midterms, and one in-class final exam. All exams are closed book, but calculators are allowed. In addition, you may bring one 8 1/2 x 11 cheat sheet to each exam (yes, you can write on both sides). Academic Alert System The purpose of the Academic Alert System is to improve the overall academic success of students by improving communication among students, instructors and advisors; reducing the time required for students to be informed of their academic status; and informing students of actions necessary by them in order to meet the academic requirements in their courses.

CS 301 Spring 2013

Syllabus

3 of 4

Disabilities If you have a documented disability and anticipate needing accommodations in this course, you are strongly encouraged to meet with the instructor as early as possible in the semester. You will need to request that the Disability Support Services staff send a letter to the instructor verifying your disability and specifying the accommodation you will need before the instructor can arrange your accommodation. Disability Support Services is located in 204 Norwood Hall, their phone number is 341-4211, and their E-mail is [email protected]. Academic Dishonesty Every student enrolled in this course is expected to be familiar with Missouri S&T's Student Academic Regulations, including the section on Conduct of Students which on pages 30-31 defines several forms of Academic Dishonesty such as cheating, plagiarism, and sabotage. Incidences of Academic Dishonesty will typically result in zero grades for the respective course components, notification of the student's advisor, the student's department chair, and the campus undergraduate studies office, and further academic sanctions may be imposed as well in accordance with the regulations. Note that those who allow others to copy their work are just as guilty of plagiarism and will be treated in the same manner. Although you are encouraged to talk to each other to understand the course material and assignment instructions, when it comes time to doing the assignments, every student (or group in the case of group programming assignments) is expected to submit their own original work. For programming, standard and publicly available code libraries may be used after seeking consent of the course instructor.

CS 301 Spring 2013

Syllabus

4 of 4

CS301: Intro to Comp Perc and Cogn

Office: Computer Science Building 320. Office Hours: Tue, Thur 11:00AM - noon or by appointments. Class Schedule: Tue Thur 9:30PM - 10:45PM, Class ...

113KB Sizes 1 Downloads 110 Views

Recommend Documents

CS301: Intro to Comp Perc and Cogn
Learning from Data. Yaser S. Abu-Mostaffa, et al. AMLBook, 2012. * Machine Learning. Tom Mitchell. McGraw-Hill Education, 1997. * The Elements of Statistical Learning: Data Mining, Inference, and Prediction. Trevor Hastie, et al. Springer, 7th printi

COLL/COMP COMP - ACS COMP Division
electrochemically active galena mineral .... Energy. Sponsored by MPPG, Cosponsored by ANYL, BIOL, COMP and ...... solar energy conversion devices: New.

Intro to Webapp - GitHub
The Public Data Availability panel ... Let's look at data availability for this cohort ... To start an analysis, we're going to select our cohort and click the New ...

Intro to Design and Entrepreneurship.pdf
Page 3 of 12. Define the Problem. What is missing from the market? Why do people need your solution to fill that void? Example: Airbnb wanted to offer local experiences at cheaper rates than hotels for travelers. Uber provides a more reliable, effici

COLL/COMP COMP - ACS COMP Division
Using the open source project, DataWarrior, for ... Relevance in Renewable Energy. & Environmental ... 2-dimensional organic frameworks for. CO2 capture.

Intro to Solubility
How do you determine the state of the products? • Use the solubility rules to decide whether a product of an ionic reaction is insoluble in water and will thus form a precipitate ( an insoluble compound formed during a chemical reaction in solution

Intro to Google Cloud - GitHub
Now that you know your way around the Google Cloud Console, you're ready to start exploring further! The ISB-CGC platform includes an interactive Web App, ...

Intro to Webapp SeqPeek - GitHub
brought to you by. The ISB Cancer Genomics Cloud. An Introduction to the ISB-CGC Web App SeqPeek. Page 2. https://isb-cgc.appspot.com. Main Landing ...

Intro to Sociology
+. Norms: □ Expectations about how people should behave. □ Eg. : □ At concerts people yell, scream, cheer. □ In the library, people whisper to keep quiet ...

Intro to Webapp IGV - GitHub
Home Page or the IGV Github Repository. We are grateful to the IGV team for their assistance in integrating the IGV into the ISB-CGC web application.

Intro to Google Cloud - GitHub
The Cloud Datalab web UI has two main sections: Notebooks and Sessions. ... When you click on an ipynb file in GitHub, you see it rendered (as HTML).

Intro to Email.pdf
Page 1 of 25. INTRO TO EMAIL. MATERI PEMBELAJARAN ONLINE. DARI. WWW.DIGITALLEARN.ORG. DITERJEMAHKAN OLEH : MUCHAMAD EKI S. A. ...

Intro to Robotics -
Arduino. • Making the robot move. • Connecting Ultrasonic Sensor. • Control speed using ... Connections for LCD Display, I2C and Serial Communications ports ... Example NewPing library sketch that does a ping about 20 times per second.

Intro to Electrostatics
Intro to Electrostatics. Forces at a Distance. So far in our exploration of forces at a distance, you have read about lightning and how charges between objects (for example, clouds and the ground) can lead to dangerous and exciting results. Now, you

Intro to Google Cloud - GitHub
known as “Application Default Credentials” are now created automatically. You don't really need to click on the “Go to. Credentials”, but in case you do the next ...

lecture 3: more statistics and intro to data modeling - GitHub
have more parameters than needed by the data: posteriors can be ... Modern statistical methods (Bayesian or not) .... Bayesian data analysis, Gelman et al.

A Brief Intro to Guyanese Culture and History.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. A Brief Intro to ...

Trig2_ Dividing Complex Numbers and Intro to ...
Trig2_ Dividing Complex Numbers and Intro to Radicals_mod1_3.notebook. 1. October 03, 2011. Oct 37:00 AM. Warm-up. 10/3/11 a.) b.) c.) Page 2. Trig2_ Dividing Complex Numbers and Intro to Radicals_mod1_3.notebook. 2. October 03, 2011. Oct 37:05 AM. P

Handouts - intro to ipad and skype, inc camera & web browser ...
Handouts - intro to ipad and skype, inc camera & web browser - complete (michael chalk, dec15) .pdf. Handouts - intro to ipad and skype, inc camera & web ...

Comp Catalog 2011 UPDATE NEW.indd - COMP Cams
First requirement when installing a steel roller cam. • Stock cast iron gears are not compatible with steel camshafts. • AMPCO-45 extruded aluminum bronze with ...

Intro to Model UN.pdf
anggamunclub.wordpress.com. [email protected]. @unairforhnmun. Airlangga Model United Nations 2013. Universitas Airlangga. 1. Introduction to ...

01 Intro to Apache Spark.pdf
Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. 01 Intro to Apache Spark.pdf. 01 Intro to Apache Spark.pdf. Open.

Intro to Titration Notes Blank.pdf
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item. Intro to Titration ...