Coder Social home page Coder Social logo

csc476computervision's Introduction

CSC476 Computer Vision by Prof. Bei Xiao

Instructor: Bei Xiao, American University Location: DMTI Room 110 Office: DMTI Room 204 First Class: Jan 16th

Office hour: Tuesday, 2:30-3:30pm, Friday, 2:30-3:30pm or by Appointment

General Information

Course Objective

This course is an introduction to current algorithms used in computer vision and computational photography (automatic image editing and manipulations). We will start from low-level image processing (edges), and then move to mid-level feature analysis (texture, color, motion), and eventually to high-level image and video understanding (objects, faces, scene, human activity). The topics include basic image processing and image analysis, camera models, texture synthesis, motion analysis, automatic image editing, object and scene recognition, face and pose recognition and a gentle survey of deep learning methods for computer vision. We will develop the intuitions and mathematics of the methods in class, and then learn about the difference between theory and practice in projects. We will use Python 3 as our primary programming tool in this course. Codes written in C and MATLAB might be demoed if needed. Working models of computer vision will be demoed in class and homework will be programming exercises with tools such as Numpy, SciPy, and OpenCV.

Prerequisites

Data Structure, Probability theory, Linear Algebra

Textbooks and Materials

Textbooks and references: (all books are in library reserve and in the bookstore)

  1. (Required) R. Szeliski, Computer Vision: Algorithms and Applications
available at (http://research.microsoft.com/en-us/um/people/szeliski/Book/)

  2. (Recommended) Modern Approach to computer vision. (http://cmuems.com/excap/readings/forsyth-ponce-computer-vision-a-modern-approach.pdf)

  3. OpenCV -Python tutorial (http://docs.opencv.org/trunk/doc/py_tutorials/py_tutorials.html)

Expected Learning Outcomes:

Upon completion of this course, students should be able to:

  1. Recognize and describe both the theoretical and practical aspects of computing with images. Connect issues from Computer Vision to Human Vision.
  2. Knowing how to use programming tools (Python) to process, manipulate, and make simple inferences from images.
  3. Describe the foundation of image formation and image analysis. Understand the basics of 2D Computer Vision.
  4. Become familiar with the major technical approaches involved in computer vision.
  5. Get an exposure to advanced concepts leading to object and scene categorization from images.
  6. Build simple computer vision applications with existing tools and frameworks.

Late Policy

Homework assignments are usually individual programming projects. All assignments will be submitted electronically on Blackboard and will be due at 11:59 pm on the due date. No assignments are accepted via email.

Assignments must be submitted by the due date to receive full credits.

Each late homework will receive 5% automatic reduction for each late day. No homework is accepted 5 days after the due date.

Grading

60% homework projects, 10% mid-term written exam, 15% Final project, 10% in-class quiz, 5% attendances. We sometimes offer extra credits for additional features in homework and projects.

Programming projects will be typically graded as follows: 1.10% - Did you make a reasonable effort and submit something? 2.40% - Does it compile without errors? 3.10% - Does your code have sufficient and meaningful comments? 4.20% - Did you follow the appropriate structure? 5. 20% - Does your program work correctly and generate desirable results and did you present your results with efficient graphics and plots?

Installing

Anaconda 3, Opencv

Detailed Syllabus

Syllabus

Course Schedule and lecture slides

Day Lecture Reading Homeworks
Wed, Jan 16 Lecture 1: Intro to computer vision Chapter 1 Warm-up exercises
Wed, Jan 23 Lecture 2:Linear Filtering Chapter 3, Page 89-104 Lecture 2 in-class Exercise
Wed, Jan 30 Lecture 3: Linear Algebra Appendix A Lecture 3 in-class Exercise
Wed, Feb 6 Lecture 4: Histogram Equalization, Gaussian filters Chapter 3, page 94-101 Lecture 4 in-class Exercise

Projects

csc476computervision's People

Contributors

fruittree avatar

Stargazers

bean avatar Em Bello-Pardo, Ph.D. avatar  avatar  avatar Kevin avatar Lily Donaldson avatar edu gonzalez avatar

Watchers

 avatar Kevin avatar edu gonzalez avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.