An introduction to 3D computer vision techniques. Both theory and practical applications will be covered. Major topics include image features, camera calibration, stereopsis, motion, shape from X, and recognition.
Also recommended (but not required): either MA371 or MA373.
Students who 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 |
As a reference for this course, we will use the Second Edition of Computer Vision: Algorithms and Applications, by Richard Szeliski (ISBN 3030343715). A PDF version of the book is available for free at http://szeliski.org/Book/.
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 four main programming projects for 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, with each week’s homework problems will be due for submission on Sunday night of the week they were assigned. 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.
This quarter I will be experimenting with a sort of light “ungrading” approach to these homework assignments. In this case, this means that:
This policy frees me to set some policies that will, hopefully get out of everyone’s way and help you to focus on learning:
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.
If you wish to submit late or resubmit, please submit via Canvas then send me an email to let me know that you’ve done so. I will give timely feedback on late and re-submissions on a best-effort basis.
The midterm exam will be taken in-class on Thursday 4/24 and will include material covered through the prior week. The exam will be closed-notes, closed-book, and designed to be completed in about an hour.
The final exam will be taken during the officially scheduled final exam slot.
It will be cumulative. If your final exam grade exceeds your midterm exam grade, then your midterm exam grade will be replaced by your final exam grade in the calculation of your final grade. Please note that this calculation is not built into the Moodle gradebook.
I do not release final exams. Final exam grades will be posted to Moodle. If you wish to see your final exam, you may review in in-person in my office. Email me to make an appointment.
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 written homework.
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, complete the assignment in a local copy of the repo, and submit by pushing your final changes to GitHub.
I will make all course-related announcements either in class or by email. In-class announcements will be posted at the beginning of the lecture notes on the Schedule table on the course webpage. It is your responsibility to make sure that you see email announcements promptly, and to check the in-class announcements if you miss class.
There are no TAs for this course this quarter. As such, if you’re stuck in the course your options are either:
You have five “late days” that you may use at your discretion. Late days can be used for any regular assignment. 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 on homework and projects. It is prohibited on exams.
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.
This is an upper-level course. I encourage you to experiment with LLMs on homework and projects. If they help you in this course, I’d love to hear about it! Please note that there are three bright lines you shouldn’t cross:
If you break one (or more!) of these bright-line prohibitions it will be treated as an academic integrity violation.
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.