cmcmurrough / cse4310

CSE 4310: Introduction to Computer Vision

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

CSE 4310: Introduction to Computer Vision

Learn to make this

Overview

As the title implies, this course provides an introduction to computer vision. Honestly, a better title would be "Introduction to Computer Vision Programming", because I emphasize practical coding examples over rigorous theory. The outcome for this course is that all students should have a general understanding of how to combine common computer vision algorithms into more advanced processing pipelines of enhanced capability.

Programming skills

This class will involve regular, fairly intensive programming assignments. Roughly 50% of the assignments will require C++ OR Python skills, while the other 50% will require explicitly C++. All notes and example code will be written within the context of C++. In order to take this course, you must either be confident in your current C++ abilities or your ability to teach yourself a new language quickly.

The programming assignments will require time, focus, and dedication to complete. As your instructor, I promise that you will learn valuable skills while solving the problems that I assign, however, I do expect you to spend a significant amount of work hours in a relatively short calendar period on programming.

Grading

My goal as the instructor of this class is to instill as many computer/machine vision & perception skills in you as possible in a relatively short mount of time. I will grade you on the design of your solutions and the quality of your submitted code (formatting, adherence to standards, commenting, etc.). Class attendance will not be recorded, but absences will very likely negatively affect your performance on assignments.

Earning a grade of "A" in the class will require functional, quality code submissions on each assignment. A thorough specificaion of requirements, along with the corresponding grading weights, is provided with each assignment.

Some topics to be covered:

  1. Introduction to state-of-the-art computer vision techniques and applications
  2. Programming environment setup
  3. Data acquisition and display
  4. Image thresholding, morphology
  5. Edges, lines, RANSAC
  6. Motion detection & tracking
  7. Feature detection & object recognition
  8. Optical character recognition
  9. Camera calibration & fiducial markers
  10. Depth and 3D sensing techniques and hardware
  11. Point clouds
  12. Segmentation
  13. Registration
  14. Performance considerations
  15. Parallel Processing
  16. Emerging technologies

Libraries and frameworks

  1. OpenCV
  2. Point Cloud Library
  3. CUDA

About

CSE 4310: Introduction to Computer Vision


Languages

Language:C++ 96.7%Language:CMake 1.7%Language:Python 1.4%Language:Shell 0.2%