lively-eagle-3946
Edited
• 3 Credit Hours
Key adjectives used by students — color intensity reflects sentiment
lively-eagle-3946
Edited
swift-dragon-7502
Edited
humble-quasar-8484
There was a lack of clear expectations, rubric was not giving meaning that reports often were heavily penalized for not including details despite lack of clarity in what should be included.
Edited
ready-whale-0043
Edited
patient-swan-2970
Edited
free-albatross-8751
Edited
proud-nebula-6807
Edited
creative-void-6850
Edited
fair-seal-4922
Edited
proud-meteor-8450
Edited
This course does a good job of exposing you to the fundamentals of CV. It’s not teaching you the latest techniques, but giving you the foundations on which they were built. I think it was a very good introduction class.
It was my first class in omscs, so I did not really know what to expect. The assignments being due every 2 weeks ended up functionally meaning I would relax one weekend, then cram as much in the next weekend as I could. I found each assignment took me 15-20 hours on average, with the first one being easiest. The final project took me a very long time to complete, and I did not sleep much for two weeks while working on it. But, it was graded fairly. And the final exam was very easy - multiple choice, open note, open internet.
I came into the class with experience working in python, and have used some opencv at work, but was still mostly reliant on LLM assistance for that. I come out of the class with a good foundation, I am glad I took it, and glad I wrestled with the material without relying on LLM code.
I'm a CS undergraduate and even though I'm not exactly new to computer vision (as I've already taken Deep Learning, and learnt a bit of geometric vision a few months ago) I'm far from actually knowlegeable in the subject.
My overall experience was positive. There is a ton of material and a ton of work since the assignments require knowledge about the algorithms, implementing them from scratch, and lots of tuning to make them work, at least for grading. Assignment 3 in particular was the most demanding and lengthy, and it was the only assignment where we were given a 2-day extension. I felt kinda burnt out after this assignment and "slacked" in the next two (I did everything except the extra credit sections).
The final exam was comprehensive but fairly reasonable in difficulty. It's open everything (except for direct answers, especially from LLMs) and multiple-choice. It is actually just an excuse to review the material (and they say so).
I cannot comment on TAs or the instructor as I never needed them. Everything was covered in the lectures (with an additional independent reasoning), READMEs and FAQs. I don't understand people complaining about unclear expectations, rubrics, etc. They tell you everything you need to know, and expect you to study just a bit for yourself (as should be expected). The only parts where I was not given credit where the sections I didn't answer, and the only parts where I was given partial credit were sections that I intentionally didn't want to answer more precisely (especially those requiring microscopic fine-tuning).
I did Action Recognition for the final project and it felt like an additional problem set (and it actually was an extra problem set many years ago) with an extra workload since you have to create your own (numeric) dataset out of some videos, but the algorithm itself is really straightforward.
I think that this course is only a must-take course if you're really serious about computer vision and think that deep methods can't solve everything.
The assignments were frequent and miserable. The test and final project were fine. I got an A.
I'm an experienced computer vision engineer, so I understand the material and have spent years implementing similar (or the same) software. However a single assignment could easily take me multiple full days of piecing together information across forum posts, docstrings, readmes, assignment pdfs, questionably structured python classes, and gradescope errors to figure out what I was actually supposed to do.
Stepping back, I think this class is a great example of perpetuating uninformed, misguided pedagogy. Responses from TAs seemed to indicate that working with inconsistent, incomplete, scattered instructions was a purposeful design. What a course design guru might call “Project Based Learning with problem solving under uncertainty”. However, this is lipstick on a pig, a fundamental misunderstanding of Project Based Learning and the design of useful cognitive load. Assignments consisted of submitting templated code to an auto-grader that required specific formatting and types, and submitting templated reports to a TA who graded off a specific checklist. Thus, our goal as students was to search for assignment-specific details and wait for answers on how to please this automated system. And to do so for 6 assignments each with up to 9 subassignments.
I do not recommend this course.
This course is hard, not that the algorithms to implement in the problem sets are extra hard, but you need to implement many hard algorithms that you might or not have understood during the lectures, so you will need to review what you are needed to implemented multiple times. Also, Computer Vision is not something that works or not, in the field, you are needed to do some tweaking to your algorithms, in order for them to be more robust, so you are basically never done until you say your algorithm is good enough for all scenarios (this makes it a little bit hard for passing all gradescope tests). So lets say that implementing a basic algorithm is like 2h, but then refine it and make it pass gradescope is another 10h. If you are not willing to deal with this randomness, I don't recommend this course, or either the CV field.
One of the toughest courses here. I took CV after taking AI,ML,DL and struggled significantly more with this one. The assignments are very tough however the project was easy to do and liniently evaluated. The pace is impossible to keep up with and completing all the readings is not possible as they overlap with the assignments. Theres a lot to learn and iam happy i have a good foundation but would have liked to focus more on what used in the Industry. I was able to get an A but I needed re-hab after it ended :D!
This class is intense. There's a ton of material that gets covered and the assignments do not get any easier as the semester goes on. It's challenging through and through and I probably spent 40 hours or more in some assignments, as well as the project. People who have taken DL/ML and have some sort of industry/undergrad experience of CV might have a better advantage in this class. If you know how to write efficient Python code, you're one step ahead of the learning curve because the class will require you to do that. I have neither of those experiences, and so even though I am going to finish this course with a high B or a low A, it was an extremely grueling process to keep up.
The lectures can get super mathy which is fine, but in the algorithm front it is still too high-level. While it makes the techniques taught in class more digestible, it leaves a lot of information out so you're left scratching your head on how to write the code in assignments. I personally felt the lectures didn't give me enough intuition, so I spent majority of my time asking questions in Ed and looking stuff up to learn more about it outside of the lectures.
Since there's so much material, you eventually have to watch lectures a week in advance just to be able to get an early start on the later assignments. And since the assignments can get challenging (especially PS3) you want to at least a week or two in advance. This is really unfortunate because a lot of us are full-time employees doing this program. So if you're not in a place where you can work ahead, you have no choice but to work with less time. I've heard that my classmates had to take PTO to knock some stuff out for this class. I've personally pulled all nighters and went to work with 0 sleep a lot of the semester.
For the most part, there isn't a lot of guidance and you end up wrestling with code-related problems that do not have anything to do with the core concept you're trying to implement. You're expected to do things the hard way, which I understand, but sometimes there's redundancy especially after you've written so much code and you still need to waste hours tuning parameters just to get the right looking images or else you get points docked off because subjectively it doesn't look "correct."
The assignment and project grading is split between a coding component and a report component. You would think having both puts you at an advantage in case you do badly in one or the other, but that's not really the case. For the most part, the report portion requires you to paste the images you generated from your code. So if your code sucks then so does your report.
Professor Essa is not really there. The only presence you see of him is the few videos he injects of himself demonstrating code and asking quiz questions, which appear more so in the earlier lectures. He just slowly disappears throughout the semester and it's all professor Bobick's lectures the rest of way. It's a very TA run course and though they're all active and helpful, the head IA (Bob Kerner) is the most active. As helpful as he can be, his responses can be obscure, sometimes feels condescending, and he tends to misunderstand a students' question and go on and on about something else. He also doesn't seem to know the content that is being dispersed to the students and instead of checking it for himself he will make his own assumptions and rules rules that contrast what the assignment requirements say. There were a few times this semester I pointed out typos or discrepancies in some of the documents they gave us and he could not find any issue whatsoever at the very clearly wrong documents.
All these years people have complained about how disorganized this class is and honestly it's still the same. At one point, the IA claimed that they are too busy getting everything ready and correct for the following semester, but I honestly do not see this effort. Even the report templates are marked with old semester stuff. There are typos and mismatches everywhere from documents to code, and for the most part they don't get fixed. At the beginning of the semester, the IA even asked us to help with closed captions in videos in exchange for internet karma points???
I learned a lot from the class, but more so through my own means than what was offered. You get nice hands-on experience with some cool applications that you see around you today, but it comes with a ton of pressure and effort to earn a great grade in exchange. I poured so much of myself into this course that possibly getting a B makes my efforts feel unjustified. It was insanely stressful. More than it needed to be.
This was possibly the most work I have ever done for a course ever. The lectures are so mid and the assignments were the most tedious assignments I have ever done. Each assignment took at least 20 hours, at a minimum. The hardest two assignments took 50 and 60 hours to complete. The TA's are pretty unhelpful and the course instructor also falls under that category. The fact that so much of the assignments have you implement tons of CV stuff from scratch, especially old and antiquated algorithms/techniques, just proved to be a huge waste of time. We didn't even touch on neural networks in the curriculum, where every state of the art CV technique requires such. If this class focused more on how to construct data to train neural networks for different tasks and how those specialized neural networks were trained, then I wouldn't mind the absurd hours. It just feels like such a waste of time for such a "prestigious" program here at GT to teach such old and useless stuff. Unless you want to be a computer vision engineer that works on old algorithms that no one uses, do NOT take this course, you will hate your life the entire semester. GT, do better.
It's my 7th course and by far the hardest, however I really enjoyed the material and assignments - the lectures are fun and informative, and you will learn a ton from this course. The 3rd assignment (AR and Image Mosaic) was the most brutal one, I probably spent 80 hours on it.
On the negative side, I was accused of plagiarism in this course, which I didn't do. They dropped the accusations after I presented my evidence, but I just wanted to warn everyone that even if you write the code 100% yourself you might still be accused of copying your solution because your Haar features functions look "similar" to someone else. The functions basically find indices of rows/columns and take slices of an image, how many unique creative solutions can there be lol. My advice is - make commits as often as you can, it will preserve your drafts and save you if you get in such a situation.
Generally a pretty solid course What is good: good lecture recording, detailed walk through to fundamentals, linear algebra heavy and very beneficial. Demanding assignment to keep you engaged What is bad: Not up to date, one of the example is in one of the final project where it is trying to use CNN for recognizing door number but restricted use of YOLO for reason of "it will be too easy". This model is already the state of the art model so what in any meaning is the use of a final project that correlates nothing to the modern technology set. Heavy lecture video and very short time it left to finish the assignment. I think most of us are working, I spent Mon-Fri night trying to finish all video, each time roughly 2hrs only to find out that I need to finish a major assignment that due on Monday. On average, this leads almost 25-30 hrs of workload to my life and I literally have no time for self care, my wife is in another state, visiting her during the weekend and my schedule is hell for the following several weeks. Conclusion: worth taking, you won't regret it, but definitely a hell of a burden added to your life.