As many previous reviews mention, the quality of this class has dropped over the past few years.
Between 2015-2019, the average rating was 4.45.
In 2020, the average rating is 3.18.
In 2021, the average rating is 2.23 (and dropping)
REVIEW:
The three main points that made me drop this class:
- The time it took to complete the assignment vs the amount of learning done:
-A lot of the assignments revolve around coding the methods that already exist in the CV2 Python Library. However, for learning purposes, you are to build these methods from scratch and are not allowed to use the ones built in to the CV2 Library. Although this can be a great way to learn and understand these methods, there is very little to no guidance on the TA/Instructor side on how to implement these from scratch.
Most of the time I've spent in this class were debugging the edge cases for the methods implemented to pass the Autograder. Rather than the Instructors/TA vague instructions on how to implement these methods, I figured most of them out by reading several students posting on Ed about their high level approach. Many of them mentioned how it took them several days "banging their heads against their desks" figuring out these edge cases to past the Autograder. I cannot say enough how frustrating it is to get a whole section wrong due to your answer being 0.0001 off...
- Outdated and Lack of Structure of Lectures:
In short, lectures are taught in Matlab while assignments are assigned in Python/CV2 (with no option to do Matlab). This wasn't as big of a deal as the first point. However, if the assignments are in Python/CV2, the lectures should be as well.
- Loss of Interest (Opinion):
I ended taking this class because I had a lot of fun taking Deep Learning the previous semester. I though Computer Vision would be a great next class as several concepts, such as convolution and image recognition overlap.
In theory, the assignments for this class, in my opinion, are very interesting (e.g. being able to recognize things objects in an image and being able to filter an image in many different ways). However, the way this class structures these assignments and lectures ruins my interest.
I don't mind assignments being time-consuming (to a certain extent) as long as I'm learning and interested in the subject. But the fact that I lack both of these made me come the conclusion to drop this class.
- Conclusion:
If you wish to learn something similar, I recommend Deep Learning (if you haven't taken it already) as it is much better organized. In that class, my group and I chose Food Recognition for our final assignment where we taught a computer how to recognize dishes from images.
I don't usually do reviews, but I felt like people need know what they're getting themselves into. I hope this class does make changes and live up to the positive reviews it had in the previous years. However, I cannot recommend this class at it's current state.