Lecture 01 — Introduction to Computer Vision

Lecture 1

Kaveh Fathian

Computer Science Department, Colorado School of Mines

Course Overview

Course Code CSCI/EENG/ROBO 437/507/517
Semester Fall 2026, August 24 – December 9
Credit Hours 3
Class Meeting Times 3:00–4:15 PM, Monday and Wednesday
Class Location CoorsTek 130
Course Repository: https://github.com/ariarobotics/cv
Course Website: https://ariarobotics.github.io/cv/

Instructor

Kaveh Fathian:

  • Computer Science Assistant Professor
  • Director of Autonomy, Robotics, & Intelligent Algorithms (ARIA) Lab
  • MS/PhD @ UT Dallas; Postdoc @ MIT
  • Preferred form of address: Please call me Kaveh.
  • Pronunciation: Kaveh — kah-VEH (/kɑːˈvɛ/)

Teaching:

  • Fall semester: “Computer Vision”
  • Spring semester: “Robotic Mapping & Localization”

Email:

ARIA Lab

Our Spot robot at Edgar mine

3D map of Mines campus

  • Mission: Develop robust algorithms for robotic perception and autonomy.
  • Research: 3D mapping, localization, and perception.
  • Student opportunities: Projects are available for students from CS, EE, ME, and related areas.
  • Learn more / join the lab: https://www.ariarobotics.com/join-us

MAILab

Course Learning Objectives

  • Explain fundamentals of image formation, representation, color, and processing.
  • Apply filtering, convolution, Fourier analysis, edge detection, and Hough methods.
  • Detect, describe, and match visual features.
  • Apply camera geometry, calibration, stereo vision, and motion estimation for 3D vision.
  • Implement classical recognition and detection methods, including SIFT and HOG.
  • Apply machine learning and deep learning to classification, detection, and segmentation.
  • Develop and evaluate computer vision pipelines using Python and OpenCV.

Computer Vision and Nearby Fields

Computer Vision

Real world
  ↓ images, videos, sensor data
Computer Vision
  ↓ information / understanding
Model of the visual world

Computer vision tries to infer useful information about the real world from images, videos, and other visual sensor data.

Computer Graphics

Model of the visual world
  ↓ rendering / simulation
Computer Graphics
  ↓ images, videos, interaction
Digital world

Computer graphics often works in the opposite direction: from models to images.

Real-world image

Rendered / digital world

Scope of Computer Vision

Computer vision uses ideas from many fields. In this course, in addition to theory, we focus on practical computer vision algorithms and tools.

CV Applications

  • Smartphones & Consumer Devices: QR codes, computational photography, panorama stitching, face detection/recognition, face filters, depth sensing, pose estimation, visual search
  • Wearables: Heart-rate estimation, gesture recognition, activity monitoring, proximity sensing
  • Security & Biometrics: Fingerprint, iris, and face recognition; access control; CCTV monitoring; identity verification
  • Web & Social Media: Image search, photo organization, image captioning, content moderation, visual recommendations, geolocalization
  • AR/VR & Virtual Worlds: Head/hand tracking, SLAM, gesture recognition, virtual try-on, digital humans, mixed reality
  • Telepresence: Virtual backgrounds, face/person tracking, gaze correction, video enhancement
  • Media & Entertainment: Visual effects, motion capture, sports replay, video editing, automatic content analysis
  • Transportation: Autonomous driving, driver monitoring, lane/object detection, traffic analysis, navigation
  • Retail & Supermarkets: Cashier-less checkout, inventory monitoring, theft detection, product recognition, automated sorting
  • Medical Imaging: CT/MRI reconstruction, assisted diagnosis, pathology, endoscopy, surgical guidance
  • Robotics & Embodied AI: Perception, localization, mapping, navigation, manipulation, human-robot interaction
  • Manufacturing: Visual inspection, defect detection, quality control, process monitoring, automation
  • Agriculture & Environment: Crop monitoring, precision agriculture, wildlife monitoring, environmental inspection
  • Remote Sensing & Geospatial: Satellite/aerial imagery, mapping, change detection, disaster response
  • Space Exploration: Planetary rovers, telescope imagery, terrain analysis, autonomous exploration
  • Accessibility: Scene description, OCR, object recognition, visual assistance for users with impairments
  • Multimodal & Generative AI: Vision-language models, visual assistants, image/video generation, editing, and understanding

Computer Vision on Smartphones

QR codes

Panorama

Face and emotion detection

Smartphones: Face Filters

Security & Biometrics

Iris recognition:

Visual Search & Recognition

Google Lens: recognize objects, products, landmarks, plants, text, and other visual content

AR/VR & Spatial Computing

Virtual and mixed reality

3D Reconstruction

Recovering the 3D structure of a scene from multiple images taken from different viewpoints.

Visual Effects & Motion Capture

Dawn of the Planet of the Apes

Motion capture and computer vision algorithms transform actors into digital character.

Transportation: Autonomous Driving

Computer vision enables detection, tracking, localization, scene understanding, and navigation for automomous cars.

Medical Imaging

MRI / CT

Reconstruction, segmentation, detection, and diagnosis

Ultrasound

Imaging, measurement, diagnosis, and surgical guidance

Astronomy & Remote Sensing

Cloudy

Clear

Example application: Cloud detection in astronomical imaging

Image by Charlie Hagen (Mines alumnus): https://www.nightphotons.com/

Space Exploration: Visual Navigation

Mars 2020 mission used vision-based localizatoin during landing:

  1. Capture descent images
  2. Compare images with an orbital map
  3. Estimate location and adjust if necessary

Robotics & Embodied AI

Robots use vision for perception, localization, mapping, navigation, manipulation, and interaction with the physical world.

Vision-Language & Generative AI

“Teddy bears working on new AI research underwater with 1990s technology”

“Cats playing chess”

“A teddy bear sitting at the Colorado School of Mines”

Modern vision systems increasingly combine visual understanding, language, reasoning, and generation.

Course Structure

The course covers both classical and modern computer vision.

  • Classical CV: image formation, filtering, Fourier analysis, features, geometry, stereo, motion, and 3D vision
  • Modern CV: machine learning, image classification, object detection, segmentation, and deep learning
  • This is not a machine learning course, but we will introduce the ML/DL concepts needed for computer vision. Good follwo-up courses:
    • Deep Learning (Prof. Zibo Wang)
    • Computer Applied Computer Vision for Engineering Systems (Prof. Minghan Li)

400 vs. 500 level: There is no difference in course content. If appropriate, ask to count as 500.

Course Resources

Course Website: https://ariarobotics.github.io/cv/

  • Primary place to access the syllabus, course schedule, TA information, lectures, and other course information
  • Use this as your main entry point for the course

GitHub Repository: https://github.com/ariarobotics/cv

  • Contains course source files, code, notebooks, and downloadable materials
  • Useful when you need to clone/download code or inspect the underlying files

Lectures:

  • Are grouped by topic and may be convered over multiple class sessions

Attendance Matters

  • In-person attendance is mandatory, although will not be monitored.
  • Some material will be discussed/developed only during class.
  • Material added/discussed during class will not be recorded or posted later.
  • You are responsible for material covered during any class you miss.

Bottom line: Being physically present and engaged in class is an important part of this course.

Homework

  • Homework accounts for 60% of the regular course grade.
  • There will be up to 12 homework assignments.
  • Homework must be prepared and submitted individually.
  • You may discuss problems, help each other, and use appropriate resources, but you must understand and create your own solution.
  • Identical submissions are considered plagiarism and receive a grade of zero.
  • Homework solutions will not be posted.
  • The lowest homework grade, including one missed assignment, is automatically dropped.

Two or more missed homework assignments result in an Incomplete grade.

Late Homework

  • Homework due dates and times are on Canvas (and course schedule)

  • Homework deadlines will not normally be extended.

  • The maximum possible score decreases by 25% for each week late:

Submission Time Maximum Score
On time 100%
Up to 1 week late 75%
Up to 2 weeks late 50%
Up to 3 weeks late 25%
4+ weeks late 0%

Plan ahead and submit homework on time.

Exams

  • Exams account for 40% of the regular course grade.
  • There will be 4 exams during regular class hours.
  • Exams are around 30 minutes long and will be during the second half of the class.
  • Exam dates are posted on Canvas (and course schedule).
  • Exams are in person.
  • Exams are based on:
    • Lecture slides
    • Material discussed in class
    • Homework
  • No resources are allowed during exams, including notes, internet searches, GenAI, calculators, or smartphones.
  • The lowest exam grade, including one missed exam, is automatically dropped.

Two or more missed exams result in an Incomplete grade.

Missed Exams & Excused Absences

  • Any missed exam receives a grade of zero before the lowest-exam grade is dropped.
  • A make-up exam may be considered only under extraordinary circumstances for excused-absence.
  • Appropriate documentation must be provided when requesting an exception.
  • Students are responsible for submitting excused-absence requests through the appropriate Mines process.

Do not assume that an excused absence automatically means a make-up exam.

Grading

Regular course grade:

  • Homework: 60 points
  • Exams: 40 points
  • Total: 100 points

Optional bonus assignments/projects may be offered at the instructor’s discretion.

\[ \text{Amended Final Grade} = \text{Final Grade} + \text{Bonus Points} \]

  • Maximum bonus: 10 points
  • Amended grades above 100 are capped at 100.
  • Letter grades are based on the amended final grade; see the syllabus.

Prior Grade Distribution

  • You can get a good grade by completing homework on time, keeping up with the material, and preparing for the exams.

Generative AI: Use It Carefully

Generative AI can be useful, but do not use it to solve your homework for you.

  • Good use: help remembering syntax, understanding an error message, or explaining a programming concept
  • Bad use: asking GenAI to solve the problem and copy-pasting the generated code into your submission
  • If AI writes your code, you will complete the assignment without actually learning how to program.
  • You are responsible for understanding every line of code you submit.
  • During exams, GenAI use is prohibited.

You need to be able to code without AI.

  • Many robotics, research, industrial, secure, and field environments have limited or no internet access.
  • Companies hire you to solve problems that GenAI cannot solve.
  • Use GenAI as a learning aid, not as a replacement for learning.

Academic Integrity

Academic dishonesty will be taken very seriously.

Examples include:

  • Copying another student’s homework
  • Using prohibited resources during an exam
  • Misrepresenting or abusing an excused absence

You may collaborate and discuss homework, but the work you submit must be your own.

Communication: Ed Discussion

Ed Discussion is the primary communication channel for this course.

Use Ed Discussion for:

  • Announcements
  • Course/technical questions
  • Homework clarification
  • Questions that may also help other students

Do not use Canvas messages or email for routine course questions.

Plan ahead: Do not expect responses after normal working hours or during weekends. Ask questions early rather than waiting until shortly before a deadline.

Office Hours & TAs

Instructor office hours

  • Monday/Wednesday, 4:15–5:00 PM — immediately after class
  • Brown 280-N

Teaching Assistants

  • TA names, office hours, and contact information are available on the Course Website
  • TA information/schedule may change, so check the website or Ed Discussion announcements for the current information.

Note:

  • TAs are instructed not to pre-grade homework.
  • Do not ask them if your solution is correct or expect them to provide the answer.
  • Use office hours to ask questions about concepts or course material that you do not understand.

Getting Help

This is a large class, so please use the following process when you need help:

  1. Try the problem yourself first (search course resources or online for 30 minutes).
  2. Ask classmates / post the question on Ed Discussion.
  3. Ask the TAs, preferably through Ed Discussion when the question may help others.
  4. Ask the instructor or come to office hours.

When asking for help:

  • Explain what you are trying to do.
  • Show what you have already tried.
  • Include relevant error messages/code when appropriate.

Ask early. Waiting until the deadline makes it much harder for us to help you.

Computers & Programming

  • You are expected to have access to a computer for programming and in-class activities.
  • Classroom computers are available if needed.
  • Loaner laptops may also be available through the library.
  • The only programming language used for this course is Python (OpenCV and PyTorch libraries).
  • We will not use other languages (C++, MATLAB, etc.) because this will complicate TA help and grading.

Expected Workload

Expect this course to require approximately 10 hours per week on average, including:

  • Attending class
  • Reviewing lecture material
  • Programming
  • Completing homework
  • Preparing for exams

Some students will need substantially more time, particularly if they are less comfortable with:

  • Python/programming
  • Calculus
  • Linear algebra (matrix computations)

Do not fall behind early.

Key Things to Remember

  • Attend class — important material may only be presented in person.
  • Complete every homework assignment.
  • Two missed homework assignments → Incomplete
  • Two missed exams → Incomplete
  • Late homework loses 25% of the maximum score per week.
  • Use GenAI to learn, not to avoid learning how to code.
  • Use Ed Discussion and ask questions early.
  • Check the course website regularly for the schedule, lectures, and updates.
  • Academic dishonesty is taken very seriously.
  • Be professional, be kind.

Most importantly: keep up with the course and ask for help before small problems become large ones.