ViTAL Lab Computational Behavior and Health Analytics

BMI/CS XXX - Computer Vision

The course is cross-listed in both BMIXXX and CSXXX, so please register for the one with available seats.

Instructor:

Hyeokhyen Kwon, Ph.D.
Assistant Professor
Department of Biomedical Informatics
Office: Rm 4105, 4th Floor, Emory Woodruff Memorial Research Building (101 Woodruff Cir, Atlanta, GA 30322)

Teaching Assistant: TBD (mail)

Course Overview

Computer vision is integral to many aspects of modern society, including autonomous vehicles, YouTube content analysis, mobile phone filters, and robotics. In this course, students will learn the basics of image formation, camera imaging geometry, feature detection and matching, stereo vision, motion estimation, convolutional networks, image classification, segmentation, object detection, 3D computer vision, transformers, generative computer vision, and applications in ubiquitous computing and healthcare. The course also covers multi-view geometry and both classical and advanced machine learning techniques for various computer vision applications. The primary focus is to develop students’ engineering and mathematical intuition through lectures and project assignments, equipping them with fundamental skills in computer vision.

Learning Objectives

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

Prerequisites:

No prior experience with computer vision is required, though familiarity with visual computing or signal processing is beneficial. The following skills are essential for this course:

Compute Requirements

Emory University has set minimum computing requirements for all students, which you must meet. However, the projects are quite compute-intensive, so having a faster machine will allow you to iterate more quickly. Unfortunately, the institute’s requirements do not mention GPUs. While deep learning projects can benefit from a local GPU, it is not mandatory. Since we cannot assume all students have access to GPUs, projects will utilize cloud services like Google Colab.

Course Logistics

Communication & Course Materials:

Textbook(s):

Acknowledgements

Expectations & Grading:

The final grade will be determined by a weighted average of all the graded items.

Component Weight
Participation 10%
Homeworks 40%
Midterm 20%
Project 30%

Final grades may be curved up so that the class mean falls at least in a B range. The class median, mean, and standard deviation will be announced for each assignment and exam so that you have an idea of where you stand.

University Policies and Academic Integrity

Any suspected violations of course rules or the Emory’s Honor Codes will be referred to the honor council for a hearing.
This includes but is not limited to consulting electronic or printed materials during Quizzes and plagiarism on homework or class projects.
It is your responsibility to understand the Laney Graduate School Honor Code, the Emory College Honor Code, and the Department Statement of Policy on Computer Assignments.

You are excepted to uphold and cooperate in maintaining academic integrity as a member of the Laney Graduate School. By taking this course, you affirm your commitment to the Laney Graduate School Honor Code, which you can find in the Laney Graduate School Handbook. You should ensure that you are familiar with the rights and responsibilities of members of our academic community and with policies that apply to students as members of our academic community. Any individual, when they suspect that an offense of academic misconduct has occurred, shall report this suspected breach to the appropriate Director of Graduate Studies, Program Director, or Dean of the Laney Graduate School. If an allegation is reported to a Director of Graduate Studies or a Program Director, they are in turn required to report the allegation to the Dean of Laney Graduate School.

ChatGPT (or Any other Large Language Model and Internet Resourses):

The Internet and ChatGPT can also be useful resources for learning.

DISCLAIMER: You are responsible for discerning whether the resource is reliable and correct (i.e., caveat emptor). While it is okay to look at resources for the broad topic (e.g., how decision trees work), it is not okay to look for solutions to a specific homework problem (e.g., how to implement a decision tree in Python). Please ask if you are unsure whether something is allowed. You must cite all online sources used while working on homework and projects. It is always your responsibility to learn if a source is allowed.

Apparent copies from any source, including your colleagues and internet sites, will be referred to the appropriate honor council. Every homework submission must have a README file with the following comments:

/* THIS CODE IS MY OWN WORK, IT WAS WRITTEN WITHOUT CONSULTING CODE WRITTEN BY OTHER STUDENTS OR LARGE LANGUAGE MODELS LIKE CHATGPT. Your_Name_Here */

Homework:

assignments should be completed independently. All submissions must contain only your original work and reflect your understanding of the assignment. A signed honor pledge be submitted with each homework assignment. Assignments will not be accepted without a pledge. Discussing homework assignments is not expressly forbidden. Code should not be communicated under any circumstances. Sharing and receiving codes related to homework assignments will be considered a violation of the honor code.

Accommodations:

As the instructor of this course, I endeavor to provide an inclusive learning environment. I want every student to succeed. The Department of Accessibility Services (DAS) works with students who have disabilities to provide reasonable accommodations. It is your responsibility to request accommodations. In order to receive consideration for reasonable accommodations, you must register with the DAS. Accommodations cannot be retroactively applied so you need to contact DAS as early as possible and contact us as early as possible in the semester to discuss the plan for implementation of your accommodations. For additional information about accessibility and accommodations, please contact the DAS at (404) 727-9877 or accessibility@emory.edu.

Stress Management and Mental Health

As a student, you may find that personal and academic stressors in your life, including those related to illness, economic instability, and/or racial injustice, are creating barriers to learning this semester. Many students face personal and environmental challenges that can interfere with their academic success and overall wellbeing. If you are struggling with this class, please visit me during office hours or contact me via email at name@emory.edu. If you are feeling overwhelmed and think you might benefit from additional support, please know that there are people who care and offices to support you at Emory. These services – including confidential resources – are provided by staff who are respectful of students’ diverse backgrounds. For an extensive list of well-being resources on campus, please go to: http://campuslife.emory.edu/support/index.html. And keep in mind that Emory offers free, 24/7 emotional, mental health, and medical support resources via TimelyCare.

Other Emory resources include:

Getting Help

The problem sets in this course can be challenging, and you may need clarifications or guidance. Some explanations will come from lecture materials and project handouts. If you’re stuck, you can seek help from other students (within the guidelines), ask questions on Canvas (without posting code publicly), or attend TA office hours. Don’t wait until the last few days of a project to seek help, as TAs may be overwhelmed. TAs are not responsible for debugging your code. Avoid posting entire source code files on Canvas or asking TAs to fix your code directly. Their main goal is to ensure you understand the computer vision concepts needed to complete the projects. While some code-level discussions may be necessary, TAs will try to minimize these. Be prepared to show the debugging steps you’ve already taken, such as visualizing the output for specific inputs.

(Tentative) Course Schedule

Topics, homework, midterm, and project schedule can be changed. I suggest reading material listed below before the lecture to facilitate your understanding for the lecture materials.

# Date Topic Reference Assignment
1 X/X Intro + Course Logistics (Review syllabus, Overview of course topics) Szeliski 1 HW1 OUT
    Image Formation and Filtering (Szeliski chapters 2 and 3)    
2 X/X Camera Projection and Image Filtering Szeliski 2.1, especially 2.1.4  
3 X/X Thinking in Frequency Szeliski 3.2 and 3.4  
4
X/X Light, Cameras, Eyes, and Color Szeliski 2.2 and 2.3  
  Feature Detection and Matching (Szeliski chapters 7 and 8)    
5 X/X Interest point intro Szeliski 7.1.1 and 7.1.2  
6 X/X Local image features, SIFT Szeliski 7.1.3  
7 X/X Model fitting, Hough Transform Szeliski 7.4.2 and 2.1  
8 X/X RANSAC, ICP, and geometric transformations Szeliski 8.1 and 2.1  
    Multiple Views and Motion (Szeliski chapters 11 and 12)    
9 X/X Camera Calibration, Stereo intro Szeliski 12 and 11.2.1  
10 X/X Epipolar Geometry Szeliski 11.3  
11 X/X Dense Stereo Correspondence Szeliski 12  
    Recognition (Szeliski chapters 5 and 6)    
12 X/X Machine learning crash course Szeliski 5.1, 5.2, 5.3  
13 X/X Neural Networks and Convolutional Networks Szeliski 5.3 and 5.4  
14 X/X Network Visualization    
15 X/X Recognition techniques, old and new Szeliski 6.2.1  
16 X/X Big Data and Geolocalization Szeliski 6.3  
17 X/X Crowdsourcing and ResNet    
18 X/X Semantic Segmentation Szeliski 5.5  
19 X/X Self-Supervised Learning and Colorization    
20 X/X Deep Object Detection and Structured Output from Deep Networks Szeliski 5.4.7  
21 X/X 3D Point Processing    
22 X/X Transformer architectures    
23 X/X Generative Models - GANs and Diffusion    
24 X/X NeRF and Gaussian Splatting    
    Other Applications of Computer Vision    
25 X/X Cross-modality Human Activity Recognition    
26 X/X Multimodal Artificial Intelligence in Health