CSE 4310: Introduction to Computer Vision
๐ฅ๐ฅ๐ฅ THIS CLASS WON'T BE EASY, BUT YOU WILL LEARN TO DO REALLY COOL STUFF! ๐ฅ๐ฅ๐ฅ
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 be difficult, but not impossible. Students achieving this honor should consider computer vision as a possible career path.
Some topics to be covered:
- Introduction to state-of-the-art computer vision techniques and applications
- Programming environment setup
- Data acquisition and display
- Image thresholding
- Morphology
- Motion detection & tracking
- Object recognition
- Optical character recognition
- Camera calibration and fiducial markers
- Depth and 3D sensing techniques and hardware
- Point clouds
- Segmentation
- Registration
- Performance considerations
- Parallel Processing
- Emerging technologies
Libraries and frameworks
- OpenCV
- Point Cloud Library
- CUDA