CS301: Intro to Comp Perc and Cogn

63 downloads 61121 Views 111KB Size Report
CS 301 Spring 2012. Syllabus. 1 of 4. CS301: Introduction to Computational Perception and Cognition. Spring 2012 Course .... In-class Midterm Exam (1): 20 %.
CS301: Introduction to Computational Perception and Cognition Spring 2012 Course Syllabus Instructor: Dr. Zhaozheng Yin, email: [email protected] Office: Computer Science Building 320 Office Hours: TBA Class Schedule: MWF 3:00PM -- 3:50PM, Class Number: 73097. Lecture Venue: Computer Science Building 204 [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. Computer Vision: A Modern Approach, by D.Forsyth and J.Ponce, Prentice Hall, 2002. Introductory Techniques for 3-D Computer Vision by E. Trucco and A. Verri, Prentice Hall, 1998. My lectures don’t follow either book that closely, so class attendance is very important. 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.



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

CS 301 Spring 2012

Syllabus

1 of 4

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 state-of-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 multidisciplinary 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:    

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

CS 301 Spring 2012

Syllabus

2 of 4

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 are team efforts, performed in groups of two people. The deadline to form these groups is January 19. 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 a 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. 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].

CS 301 Spring 2012

Syllabus

3 of 4

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 2012

Syllabus

4 of 4