An introduction to 3D computer vision, including classical techniques such as image matching and structure from motion. This course will also cover applications of deep learning to computer vision. Students will train their own deep learning models and will run recent ML-based methods for vision problems.
Prerequisites: MA 221 and CSSE 220
Also recommended (but not required): either MA371 or MA373.
Students who successfully complete this course should be able to:
The course schedule page has day-by-day information. Please bookmark this page.
| Section | Name | Office | Schedule | |
|---|---|---|---|---|
| 1 | Kyle Wilson | Moench F212 | wilsonkl@rose-hulman.edu | Weekly Calendar |
We have been unable to find an ideal computer vision textbook targeted at the undergraduate level. Please see the Resources page for assorted supplementary resouces.
Grades will be calculated as a weighted average of scores on the following course components:
Generally, 90-100% is an A, 85-89% is a B+, etc.
There will be three or four programming projects in CSSE 461. Your programs will be graded on correctness, clarity, and efficiency (in that order).
Written homework (called “Problems”) will be introduced on each class day. Due dates are indicated in the schedule. These problems will range from the level of in-class comprehension exercises to more challenging take-home problems. Some class time will be provided to work on some problems, but you can expect to spend time outside of class completing the remaining problems and writing up your solutions.
The problems for each lecture will be posted to the Schedule page by the start of each class.
Typeset your answers and submit to Gradescope in PDF format by Sunday night of the week they are assigned.
The course will end with a proposal-based final project. We’ll spend the final two class days on final project presentations. If you must miss either of those days please reach out as soon as possible to make alternate arrangements.
The Schedule page will be updated as the quarter progresses with daily topics and links to lecture materials and assignments. I suggest bookmarking this page.
We will use Moodle as a gradebook. This is also where you will find links to Gradescope upload pages and Github Classroom invite links. Other course materials will be posted on the course webpage.
We’ll use Gradescope to collect all assignments.
This course assumes that you have basic familiarity with git. Programming assignments will be completed using git repositories hosted by GitHub and orchestrated by GitHub classroom. You will receive an invitation link to create a repository for each assignment, and complete the assignment in a local copy of the repo. To submit, push your final changes to GitHub and also submit your repository on Gradescope.
I will make all course-related announcements either in class or by email. It is your responsibility to make sure that you see email announcements promptly, and to check the in-class announcements if you miss class.
If you’re stuck in this course:
You have five “late days” that you may use at your discretion. Late days can be used for any assignment other than the final project. You may use late days one at a time or together - for example, you might submit each of five assignments one day late, or submit one assignment five days late. Each late day moves the deadline by exactly 24 hours from the original deadline; if you go beyond this, you will need to use a second late day, if available. For assignments completed in groups, each group member must use a late day to extend the deadline for the whole group.
After your late days are exhausted, a penalty of
0.2 * total_assignment_points * floor(hours_late/24 + 1) -
that is, 20% of the total points per day late, will be applied.
To use late days or submit work late, send me an email. The sent time on the email must be after your final push to Github (if applicable) and will be used as the time of submission.
Collaboration is encouraged throughout this course!
When you collaborate, you must:
Working out a homework solution as a group can be acceptable collaboration if you follow the guidelines above. Each individual is responsible for understanding the entire solution. For homework, this means that once a group solution has been achieved, each collaborator must rework the problem and write up the solution independently.
If you are ever in doubt about whether some specific situation violates the policy, the best approach is to discuss it with your instructor beforehand. This is a very serious matter that we do not take lightly. Nor should you.
See the Course AI Policy for clear guidance on acceptable ways to use AI in this course.
It is critical to maintain academic integrity. It is essential for all students to cite any and all sources of help received in completing coursework. This practice not only fosters a culture of honesty and transparency but also prevents misunderstandings that might otherwise escalate to formal proceedings. Students should also be aware of what is appropriate help on homework assignments – see What Constitutes Misconduct. To ensure fairness and responsibility, any instances of suspected misconduct will be handled through the CSSE Integrity Committee.
If a case of suspected misconduct arises, it will be submitted to the CSSE Integrity Committee for review (see Policies and Procedures) and possible penalties (see IntegrityPilotPolicy). The process includes an initial review of the evidence by the committee, a time for students to explain or admit to potential misconduct, and potentially a hearing to examine the circumstances and evidence. Students are encouraged to continue their studies and engage with the course material and instructor normally throughout the investigation.
This policy can also lead to activating the Institute Academic Integrity Policy, described here.
It is expected that any work submitted for assessment represents the intellectual work of the individual(s) submitting the work. Any attempt to pass off the intellectual work of another (including the work generated by Large Language Models like ChatGPT) as their own or without proper attribution is an example of academic misconduct and is subject to the penalties described in the Rose-Hulman Academic Rules and Procedures and Student Handbook documents.