CAP4453 - Robot Vision


Dr. Gonzalo Vaca-Castano

(Please put [CAP4453] in the subject line when you email me)

Class Schedule:

Tuesday and Thursday 3:00PM - 4:15PM


MSB 360

Office hours:

Tuesday 7PM. Via Zoom. By appointment only

The study of mechanical vision is one of the few areas of science which blends one’s intuition with formal methods. Vision (whether in humans or machines) is fundamentally a computational process. Visual processes for machines must be able to deliver the kinds of capabilities that humans have: scene recognition, motion processing, navigational abilities, and so forth. This course will begin by examining some of the elementary concepts in machine vision. Subprocesses to be examined include: edge detection, methods for obtaining shape information from images, object detection, and motion analysis. The student will also be exposed to unsolved problems in these topics, the solutions to which have very high technological pay-offs. The workload consists of interesting reading, programming, and tests. This class is suitable for undergraduate students in Computer Science and Engineering disciplines, and anyone else who wishes an introduction to machine vision..

Course contents

A tentative list of topics to be covered in this course,

  1. Introduction
  2. Image Filtering
  3. Edge Detection
  4. Feature extraction
  5. Optical Flow
  6. Image segmentation
  7. Object detection
  8. Neural networks


Weekly homework 

Every week a small homework will be assigned.  There are two types of homeworks: 

 a) paper based homework

 b) programming assignments to be delivered as a colab notes.


Programming mini-projects

Two programming projects will have to be implemented by the students.  


NOTE: The classes is currently scheduled for face-to-face lectures.

Please take the time to familiarize yourself with Zoom by visiting the UCF Zoom Guides at <>. You may choose to use Zoom on your mobile device (phone or tablet).

Things to Know About Zoom:

Pre-requisites: COP 3503C and MAC 2312, or C.I, Basic Probability/Statistics, a good working knowledge of any programming language (Python, C/C++, or Java), Linear algebra, Vector calculus.

Python will be main programming environment for the assignments. Following book (Python programming samples for computer vision tasks) is freely available.
Python for Computer Vision. A tutorial will be given in the class on PyTorch for deep learning.

Students are free to discuss ideas and technical concepts. However, students must submit original work for all assignments, projects and exams, and abide by UCF Golden Rule.

Cheating is not tolerated!



This schedule is preliminary and will be updated as we progress

Course Material



There is no text book for this class.

Suggested reference books are

Programming book

Leading Journals and Conferences in Computer Vision


Grading Policy:

Programming assignments should include explanatory/clear comments as well as a short report describing the approach, detailed analysis, and discussion/conclusion.



Statement on Academic Integrity:

The UCF Golden Rule will be observed in the class. Plagiarism and Cheating of any kind on an examination, quiz, or assignment will result at least in an “F” for that assignment (and may, depending on the severity of the case, lead to an “F” for the entire course) and may be subject to appropriate referral to the Office of Student Conduct for further action. I will assume for this course that you will adhere to the academic creed of this University and will maintain the highest standards of academic integrity. In other words, don’t cheat by giving answers to others or taking them from anyone else. I will also adhere to the highest standards of academic integrity, so please do not ask me to change (or expect me to change) your grade illegitimately or to bend or break rules for one person that will not apply to everyone.

Receiving a work product (e.g., a homework paper or code submitted in response to an assignment) from other individuals (other students in the course, former students, tutors, etc.) is considered “Unauthorized assistance”. Giving such a work product to other individuals, either willfully or through negligence, is considered “Helping another violate academic behavior standards.” Copying a work product from submissions from past semesters, or copying from an online repository is considered “Plagiarism.” You are allowed to discuss class materials and high level concepts related to the assignment with others. However, you must work individually when creating the work product. For programming assignments, you must design algorithms, data structures, and develop code individually. Any violation to the above is  considered Academic Integrity Violation. Students found to be in violation of academic integrity will be reported to the Office of Integrity and Ethical Development, in addition to receiving a zero grade on their assignments. Following the report, The Office may conduct hearing, and if found in violation, a student may receive penalties, up to and including dismissal from the university.

Unless stated explicitly as team/group assignments, students should assume that assignments are to be performed individually, or ask the instructor for explicit clarification.




University-Wide Face Covering Policy for Common Spaces and Face-to-Face Classes

To protect members of our community, everyone is required to wear a facial covering inside all common spaces including classrooms ( Students who choose not to wear facial coverings will be asked to leave the classroom by the instructor. If they refuse to leave the classroom or put on a facial covering, they may be considered disruptive (please see the Golden Rule for student behavior expectations). Faculty have the right to cancel class if the safety and well-being of class members are in jeopardy. Students will be responsible for the material that would have been covered in class as provided by the instructor.

Notifications in Case of Changes to Course Modality

Depending on the course of the pandemic during the semester, the university may make changes to the way classes are offered. If that happens, please look for announcements or messages in Webcourses@UCF or Knights email about changes specific to this course.

COVID-19 and Illness Notification

Students who believe they may have a COVID-19 diagnosis should contact UCF Student Health Services (407-823-2509) so proper contact tracing procedures can take place.

Students should not come to campus if they are ill, are experiencing any symptoms of COVID-19, have tested positive for COVID, or if anyone living in their residence has tested positive or is sick with COVID-19 symptoms. CDC guidance for COVID-19 symptoms is located here: (

Students should contact their instructor(s) as soon as possible if they miss class for any illness reason to discuss reasonable adjustments that might need to be made. When possible, students should contact their instructor(s) before missing class.

In Case of Faculty Illness

If the instructor falls ill during the semester, there may be changes to this course, including having a backup instructor take over the course. Please look for announcements or mail in Webcourses@UCF or Knights email for any alterations to this course.

Course Accessibility and Disability COVID-19 Supplemental Statement

Accommodations may need to be added or adjusted should this course shift from an on-campus to a remote format. Students with disabilities should speak with their instructor and should contact to discuss specific accommodations for this or other courses.