CS-6476 - Computer Vision

Search for a Course:

    CV
    Toggle to Select Spcific Semesters

    Reviews


    Semester:

    worst experience yet in OMSCS. The course content is good, the professor is good, but the TAs are very irresponsive and you would never get timely help or suggestions from them. Only take the class if you are sure you have enough time to struggle with meaningless guess and trials (of the project questions). BTW, while the projects are not well described, TAs will never show mercy when taking off your scores.


    Semester:

    I’m presently enrolled in Computer Vision in Spring 2022. We’re now working on the last assignment, assignment 6. I am tracking towards an A but in order to achieved that I’ve had to spend more than 30 hours a week and often take days off work to do homework–which is what I’m doing today as I write this review.

    This course is completely brutal in its workload, especially for those who work full-time. Someone posted on Slack the other day that this course is like having a second fulltime job. On February 13 I started keeping track of the enrollment numbers by counting the people’s tab on Canvas. Between February 13 and the drop deadline of March 16, 20% of the students dropped the class. Given that some students had likely already dropped, the drop rate after the first week or two is likely at least 25%. The brutality of the course would be forgivable if it felt like it was rewarding, but it does not. A significant part of the workload is in trying to tweak already correct algorithm implementations so that they pass the autograder. Autograding often has specific unspecified requirements that you have to discover on your own through trial an error. It is not unusual to make 25 autograder submissions in a single assignment as you employ trial and error.

    Another large part of the workload is in customizing weak algorithms to solve a particular instance of a hard problem (for example, tracking a particular object in a particular video with occlusion). This customization does not generalize, and so the hours you spend customizing an algorithm to the particular challenge is largely useless. The workload of this course is substantially disproportionate to its learning value.

    Unlike most other courses, as other reviewers have noted, the TAs provide nearly no help. They’ll answer questions about technical requirements of an assignment, but provide almost no help to students who are having difficulty. They usually do not respond to student questions at all, but when they do I have not observed them being in any way rude or condescending as some other reviewers have suggested. However, though the TAs are not helpful, the course lecture videos from Prof. Bobick are very good. So students can resolve most conceptual issues on their own by reviewing the videos. So, it doesn’t seem like having more responsive TA’s is critical to improving the course. The main problem is just the tremendous workload that doesn’t doesn’t result a comparable level of learning.

    Like many other recent reviews, I recommend students avoid this course. Take note of the fact that considering the 20 most recent OMSCentral reviews, including this one, the mean and median hour requirements for this course are 28.7 and 30 hours. In retrospect, I expect I’ll view this course like a long illness or trauma that substantially interfered with my life but with limited redeeming value.


    Semester:

    08/05/2022 Update:

    I think PS2, PS3 and Final Project are the most difficult assignments in this course. Anyway, it is not hard to achieve a high A if you can spend 25-35 hours like a second full-time job.

    Pros

    • Good lectures covering traditional CV methods.
    • Fair Grading. TAs only focus on the requirements, especially for image results. They graded the final project generously. At least better than 21Fall DL TAs.

    Cons

    • Some content overlapped with Computational Photography. Lack of new DL methods.
    • TAs are less active and cannot reply questions in time. In most of time, they only provide the assignment criteria.
    • Prof absent.

    22/02/2022, 12:23:51 AM

    This course taught traditional CV. Good course content.


    Semester:

    I register this account to write this concise review. AVOID THIS CLASS AT ALL COST.


    Semester:

    Class rating has suffered due to lack of class management. This was my 3rd sem and compared to 4 sems(including the current), I have to say computer vision isn’t well run. TAs run the office hrs at-most once a week and when fellow students asked for more frequent office hrs before assignments due date, they weren’t too keen. Assignments get a few updates even in the 2nd week. Assignment grading is fair and material(lecture videos) is top notch. I scored an A. The only way u get off the frustration of lack of clarity or updates to your questions in piazza/ED is through student slack group. AT one point even administrative questions took 2-3 days to get answers. Things improved a little after students started giving feedback when Prof asked for in the middle of course. All in all, class recordings of study material is very interesting and one learns a good deal. Prof and TAs need to dedicate more time as you can’t hide behind the workload. If thats’ the case other 3 classes I have taken so far should have similar issues but NO.

    Anyways for future students, Computational Photography helps you to prepare for this class and so does Artificial Intelligence Techniques for Robots. Computational Photography is also an interesting and challenging class with good support from TAs unlike what I got in Computer Vision. Only exception was 6th assignment -recognition when one of the TAs was active in actually giving hints and answering student questions.

    Pros- course work, assignments and learning curve. I did learn a lot. Cons- TAs and lack of Prof involvement.


    Semester:

    Abandon all hope ye who enter here

    Easily the worst run course I have EVER taken. TAs and prof were MIA. Should’ve filed a missing persons report.

    Assignments are very difficult. Worse, they are mostly about insane amounts of parameter tuning. Not sure what’s the educational value of creating an extremely fragile solution with parameter tuning for a particular situation.

    1. you have to watch around 40 hours of video before starting an assignment, which itself takes 40-60 hours, due in two weeks. So this is a nightmare for part time students who can max spare maybe 2 hours a day after their work schedule.
    2. there is no help from TAs at all, except bullying about plagiarizing and snarky comments. They likely had less than half a dozen live office hours (2-3 days before the deadlines of assignments). The TAs seemed mostly on the defensive and provided little help in office hours. Some answers from them suggested they did not understand the assignments, let alone provide expert level guidance.
    3. There is no pseudo code provided (and if there is, it is not really pseudo, it is mostly wrong). They expect you to match the outputs of their code and they don’t tell you what pseudo code they use to get to that code. So it is endless hit and miss, in a high stress course. Any attempt to get help is likely to be stonewalled as an attempt to prevent “giving away too much”. So there is some expectation of telepathy.
    4. The TAs are prone to give misleading hints to make sure you do “real work”, and “not to give too much away”. I have specific examples. They told to use correlation for a homework, and i wasted days on getting that to work, only to realize later in the assignment that it was the wrong approach. The TAs were playing games with us. Unfortunately i only have so much time budgeted for this, and i had spent it all by then. From then on, i lost all respect for this course and its instructors.
    5. The only post from the prof was at the start, telling us not to contact the video instructor who has probably moved on.
    6. The TA from 5 years ago, in one of the youtube videos says (about a video he is demoing) - “we’ll be very disappointed to see this (copied) video in your reports”. This repeated insinuations to plagiarism is a lack of respect for the students. The OMS student is a person with a career and responsibility. They should really avoid these kind of patronizing comments as they lose the respect of someone who is honest (by accusing an honest person of being otherwise, just because they can), and focus on being productive, educational and helpful.
    7. Again this TA from 5 years ago says about the project “we want to be impressed with research level work”. In an intro type course, with 400 hours of videos, giving false hints for insanely difficult assignments, having less than half a dozen OH, providing no guidance except repeated threats to skin us alive for plagiarism, these folks expect research level output. I don’t where these guys grew up, but the gulag is a possibility.
    8. Passing the unit test is meaningless, most them might still fail the gradescope. TAs won’t answer anything. Too afraid to “give away too much”.
    9. I could give many more examples, but I would suggest this course be a case study in a degree on education, on how a course should not be taught.
    10. I really think the TAs were trying to hide from this class. They would just dump half cooked and obscenely difficult assignments and disappear, only to appear a few days before the deadline to make all kinds of changes in the code, the rubric etc.
    11. You need sincere and dedicated TAs for a course of this …. degree of torture. My feeing is that the course is so stressful that even the TAs went MIA. (Added 6 months after the course - on reading new comments i remembered that some students had mentioned getting panic attacks from the assignments in this course and having their mental health negatively impacted. I personally had a sinus infection from decades ago recur due to the insane hours I put in for the project- I had to take antibiotics for this effing course’s assignments and its TAs).
    12. This (and computer photography) are specialized courses for robotics for OMS. I would highly suggest that GAtech offer some other alternatives for these two courses for the robotics specialization. The expectation seems to be of research level and extremely stressful work here (and getting a B or higher seems not worth the damage to the health/mind). Robotics is really about engineering, not endless parameter tuning.
    13. At the end of the day, haven’t learnt much from this course, except Hough transforms and copious amounts of pedantic linear algebra for projective geometry.

    A highly avoidable course unless you have too much time at your disposal. Worse, this syllabus means the course is not useful if you are actually trying to do any CV work in robotics.

    Quite a few students in the course seemed to be repeating it. Take this as a warning. Waste your money on something else.


    Semester:

    The lectures are probably the most comprehensive out of the classes I’ve taken thus far. They don’t shy away from the math and you get a you walk away with a pretty good sense of how to implement the subjects. The downside to this is there are a lot of them, and some weeks it was a struggle to keep up.

    The homework was challenging and gratifying. Most assignments provide you with a test framework that gives you feedback on ~50% of the assignment. Each assignment also includes a report. Sometimes those are just screenshots of the results of your homework, sometime they’re actually essay style questions.

    The final exam was fine, easy enough to study for and it was open book. Nothing on it was a surprise.

    The final project was enjoyable, but sizable. I spent probably 50 hours on the Stereo project and got a B. Your milage may vary.

    I think where this class suffered most was from the administration standpoint. A few examples.

    • Contradictions within communication - We had an EDU post stating the exam would be on X date. That date contradicted another EDU post which state the exam would be open a week earlier. Finally, about two weeks before the exam it was clarified that it would be the earlier date.

    • Late Policy - I really enjoy this classes late policy. You essentially get 6 “late” days that for any assignments and it doesn’t impact your grade. The TAs released a post about a month in clarifying it, and it stated that it’s only applicable for assignments. I think lots of people (based on EDU posts and reviews) assumed that meant it was applicable to our final project but not our exam. I can see both sides on the interpretation, but that really should be explicitly called out so interpretation isn’t necessary. I think quite a few people ended up not using their late days assuming they could use it for the project.

    • Grades took quite a while to get back. Not a huge deal, but I recall being close to the withdrawal cutoff not having many grades back and thinking “well this could go either way”.

    Overall I enjoyed the class. The content was good and I will probably end up using the knowledge I learned in a couple different facets of life and work. But I would encourage everyone who takes it to take it as your only class and stay on top of the lectures, assignments and EDU posts.

    While there are real things to address to make this class, don’t let the negative reviews push you too far away. It’s difficult and at times frustrating but enjoyable.


    Semester:

    Kinda sucked but interesting subject matter. Agree with the others saying the projects were super unspecified and really half the description was to be found in obscure ed posts. (sidebar, why were we using ed but not piazza??)

    Some of the projects were really poorly designed. Like a lot of the points would come from results not produced though code you also had to run through gradescope. so you very well could have just coded up some bespoke bullshit that would never fly on GS but gets you the results they are expecting.

    Anyway, the AR project was interesting, sign detection project was interesting, motion detection project was interesting. DO NOT attempt to take this class without participating in ed or slack discussions cuz those clarifying conversations you have with your peers are critical to success in this class.

    Also, the parameter tuning was so damn annoying, and thankfully not necessary on every single project


    Semester:

    WE ARE HERE TO LEARN, NOT HERE TO AMUSE THOSE IRRESPECTFUL IRRESPONSIBLE WORST DAMN TAS.

    This is by far the worst class of OMSCS in many reasons but mostly on TA’s side which significantly brings down the quality.

    • There are lots of misconducts from TAs while the instructor does not work for GT any more. For Final exam, you can find many many online resources, which means TAs plagiarized from other universities. Seriously, you can find many same problems from the website which are literally no change word by word from your final exam.
    • TAs are very irresponsible. They will change your syllabus randomly during the course. They stated very clearly on syllabus that there is a 6 day late submission policy which could be used throughout the whole semester. But later they announced that these 6 days cannot be used on the Final project. They even did not make public announcement but just replied in an Ed discussion. A lot of us saved the late submission forgiving days for the final project but TAs ruined up everything simply because they are shortage of grading days for the final project.
    • TAs made your assignment statements VERY VERY VERY unclear. Many students spent 20+ hours guessing the intention of TAs in the project. TAs are like the mindset of “I am covering the answer, you guys take a guess”. It will be much easer if the assignment statements could be much more clear.
    • In the extra credit of the last assignment, TAs were forced to admit (in the last day before deadline) that they give the wrong problem statements which wasted students tons of hours. And they never gave an extension because of their fault.
    • In my second assignment, there is an instruction that some posts on stackoverflow are very important. I literally copied from there because of the instruction and cited the resource in my submission. The damned TA said that I plagiarized and gave me a zero because of these 8 damn lines of code. So you have to be very careful that even you are instructed to learn from somewhere, not to do literal copy, even if you cite the resource. I am not alone, many of my friends have the same experience.

    Update: My case was submitted to OSI and OSI dismissed TA’s allegation of my misconduct.

    • I am done with this course, no matter what.
    • Hopefully my review along with many other reviews could save your life.

    From the course material perspective, this course is definitely out of date and needs a refresh. Unless you are doing/will do research on CVs, this course is quite useless. Probably (>95%) you will never use anything of the course in your whole life. Or I could be wrong depending on your career path.

    Do yourself a favor, keep away from this course.


    Semester:

    First off, the TA and instructors of this semester were pretty bad. They constantly went MIA on the forum, released most projects late and had to fix various typos on their instructions, and missed every single deadline they communicated with regards to said corrections, release dates, and grading.

    Now, after that. It is very apparent why this class was so highly regarded in the past. Most of the projects are very straightforward (after deciphering the instructions) and honestly the fact that everything you do has a visual output is fun. It is very easy to show other people what you did in Computer Vision and at least pretend to be impressed by it. Also every project you do is directly related to lecture topics, this is a huge plus and makes figuring out the projects a bit easier when you are stuck.

    For the vast majority of the projects, I would say the hardest part was parameter tuning, which does kinda suck but is also a fact of life in Computer Vision and machine learning.

    If you have an interest in the topic and you generally get A’s on coding in other project heavy classes I would still recommend this class. If you tend to struggle on the coding portion of projects in other classes be prepared to work hard. I saw an earlier review that you had to be a coding/linear algebra god to pass and chuckled a bit, I did not think that was the case at all. Instead, just be willing to hit the stack/math overflow hard when needed, all the topic we hit are major ones and there are TONS of resources online. More then one time, the official docs for OpenCV showed you exactly how to do something you needed to do or explained the algorithm you need to implement well enough to follow for your own implementation of some OpenCV functionality.

    I also did not watch a single lecture for this class, surviving only off of online notes and provided lecture slides and earned an A on all projects and a solid B on the final I did not study for. Honestly, I felt like I still learned a lot though, since the project aligned a lot with the lectures and just becoming familiar with OpenCV alone was worth it.


    Semester:

    Let’s see. How to put this… don’t. Just… don’t. Walk away from this thing until the course is re-worked.

    This entire semester was both disorganized and on auto pilot at the same time.

    1) Entirely too much work for the topic.
    Way, WAY too many video lectures. And, each of the 6 problem sets had 3 weeks of work in a 2 week assignment window.

    2) Stale curriculum As of today, the Canvas page still mentions the 2021 Spring semester in many places, and still mentions Piazza (we used Ed this semester). Same for most (all) of the problem set instructions, which also had different report/code percentages than the syllabus. Clearly, the material was copied from previous semesters, and untested questions / starter code was added to each. Problem Set 3, specifically, was being changed until the day before it was due.

    3) The instructor of record (Essa) was a no-show, and the TAs were little help.
    I believe the instructor made one post in Ed this semester. Although, it was literally impossible to find all relevant posts there, so he might have made more. Regardless, he certainly was not front and center. The TA’s seemed to have little information about the topic, and were only there to answer questions about the syllabus.

    4) Grading was very, very slow. Even though we were required to use a specific Latex template for reports, ostensibly to make grading easier, they still took 4 weeks to return grades on many problem sets.

    5) Gradescope used random tests on some problem sets, with absolutely no guidance on what was being checked or how.
    If you have to guess how to pass a stochastic Gradescope test, or if you simply resubmit the code over and over until it passes, that ain’t learning. That’s gambling. This isn’t a probabilities class.

    Conclusion: While the material might be interesting, and the original video lectures are entertaining, the execution of this particular course was absolutely abysmal and completely overshadowed any learning.


    Semester:

    The subject matter in this class is very interesting and the lecture modules are very well done; however, nearly all assignments had bugs and TAs were extremely unresponsive throughout the semester. I did end up getting a solid A in the course, but I was very disappointed in how this course was conducted. All other reviews from this past semester are spot on with my feelings towards the course. Without the support from other classmates through Ed Stem or Slack, this course would’ve been nearly impossible for many of us.


    Semester:

    I have never written a review before and created an account just to write this. This is the worst class I have ever taken. I read through the reviews before I took the class and thought, eh just a couple of bad reviews. This class is not worth it, terrible TAs, conflicting instructions, unclear requirements, constantly changing assignments, and if something goes wrong, the TA’s take 5 days to respond.

    This class should be removed from OMSCS. In addition I’m bumping the review below stating this websites 1-5 rating scheme: https://omscentral.com/review/-Mq-5EBVdzlvYfox2tlZ


    Semester:

    Just finished the final project, which was the cherry on top of an awful class. As always, the requirements changed as the TA’s started to figure out what they wanted us to do. This is not acceptable for a graduate level program designed for working professionals. The TA’s are rude, unprofessional, possibly don’t understand the material or just like ghosting their students, and have released buggy/incomplete/inordinately long problem sets without giving any extensions for the entire semester. They even refused to move back deadlines for assignments that they released late (maybe 1/3rd of the assignments).

    I could write much, much more about this class but I see most people have covered it in other negative reviews. I honestly cannot believe that people are rating this class above a 1 or 2 out of 5. Nobody in the class discussion board expressed anything but disappointment and anger with the useless instruction team.

    Avoid this class at all costs. It is horribly managed and the TA’s need a lot of training (this is a vast understatement to abide by OMSCentral’s review standards, my actual thoughts are much more severe). I don’t say this as somebody who will probably be getting a poor grade or withdrawing. I am fully expecting an A. However, the work required was inordinate and the TA’s were no help.


    Semester:

    The content is interesting and the lectures are pretty good. The class is hard but feels very rewarding. If you are interested in the topic I highly recommend taking this class.

    Here are the downsides though:

    1. The few lectures that show code still use Matlab as examples but the homework are all using Python.
    2. Every single assignment had errors or outright misleading instructions. Starting the homework early seems like a waste of time since it’s better to just wait until these issues get ironed out. Unfortunately the homeworks can get time consuming with adjusting parameters so expect to spend the entire weekend before the deadline working on it if you rollow this route.
    3. Tons of lecture material. Not a bad thing, but just a lot of information thrown at you, more than you can realistically process and really understand if you’re part time.
    4. Final project is tough and takes a lot of time: we are expected to essentially learn some basic ML on our own. Again not a bad thing perse, but just time consuming.
    5. TAs at times are unresponsive and take several days to answer critical questions about assignments, combined with the point in #2 is frustrating.
    6. Getting an A is tough unless you really spend a lot of time on this class.

    This class would be a 5/5 if the assignments were actually proofread and the TAs were a bit more responsive.


    Semester:

    A worthwhile time sink if your primary goal is to learn about the foundation of CV. Not so much if you care about your GPA.


    Semester:

    What I can say about this class is that the material is extremely interesting and the lecture videos are without a doubt… world-class. However, TA’s do not respond within a reasonable timeframe, and I was consistently running low on time to complete assignments. As a data analyst working full-time that also juggles other responsibilities, the allotted time I had throughout the week was not sufficient to adequately complete these assignments. Moreover, from what I understand, they recently tacked on extra sections to each of these assignments but only gave us the same amount of time they gave us in previous semesters. Because of this, many of my homeworks were left incomplete. Additionally, the report section of these assignments often required the last sections of the working code to be complete, so if you could not finish the coding portion, you would often receive nearly 0% on the report section. To add further insult to injury, the TA’s gave us extra credit assignments this semester, but to get to the extra credit, you had to complete the coding portion of the assignment first; what is the point of the extra credit if I do not have the time to even work on it? This shows in the percentage of the class that was able to do the extra credit assignment: ~20%. I’m hoping to be able to manage a C in this class after the brutality I have experience this semester.

    Pros:

    1. Extremely interesting content
    2. World class lecture videos

    Cons:

    1. Simply too much work to get done in a short amount of time
    2. TA’s are often unresponsive
    3. Assignments are buggy and in need of fixing.
    4. I’m convinced you either need to be a full-time student or a coding God/math genius to be able to get a surefire, solid-A in this class.
    5. Autograder feedback is simply not useful and leaves me guessing as to what is wrong. Often had to jump through hoops to get local tests working for the assignment.


    Semester:

    Be mindful of how OMSCentral calculate the averages !

    • Between 2015-2019, the average rating was 4.46. Pretty darn good you think?

    • In 2020, the average rating is 3.17. Okay, maybe it got abit tougher?

    • In 2021, the average rating is 1.96. That’s too much?

    • In Fall 2021, the average rating is … you’ve guessed it! 1.00.

    What sparked such a collapse in rating ?

    So stop living in past glories, Computer Vision. Deep Learning has preceded you in so many ways.


    Semester:

    The course has been extremely disorganized this semester.

    For Problem Set 1, 2, 3, 4, 5, and 6 (yes, all 6 assignments), the instructors released the projects only to release changes/fixes a few days later. Sometimes, they changed the code on GradeScope only a few days before assignments were due.

    For PS5, the instructions said the report was worth 25%; the code 75%. After the assignment was graded, the TA’s clarified that it was a typo and the report was worth 30%.

    Another homework assignment contained a math equation where little sigma was used as a variable. Big sigma was used to represent summation. Later in the assignment, there was pseudo code with extra lines that didn’t belong in the algorithm. Clearly no one checked over the assignment as it didn’t make any sense.

    The whole semester, Canvas showed that the final project would be available October 29. By November 5, students were asking about the project. The TA team said it would be released in a few days. After students got angry, the final project was released November 5.

    Despite being released a week late, NO extra time for the final project was given.

    To add insult to injury, the final project was due on a Friday at 7pm the week after Thanksgiving. Monday before the final project was due, many students started to ask politely for an extension through the weekend. 4 days later (the night before it was due) TAs finally answered that NO extension would be given.

    Many students took PTO to finish working on the final project. Quite a few pulled all-nighters.

    We have individual assignment grades but overall grades have not been released (Note: This review was written the week before the final exam).

    This is my 9th course in OMS. I have NEVER complained about a course before. I have done so twice this semester.

    The saddest part about the class is that I absolutely do not care about learning or trying at all anymore. We are doing some really cool projects. It should be exciting. Instead, I cannot wait until is over. If someone told me I needed to retake the class to graduate, I’d quit the program.

    There are many other options available online for learning CV. Until the issues in this course are sorted out, avoid it at all costs.


    Semester:

    I would like to offer my perspective from failing this course last fall and retaking it this fall (I am aware it is not a wise financial decision). The reason I failed was my final project did not work and I had to give up in the last week for my health. Previously, I blamed myself for this failure, but I am witnessing what other students are saying this semester about the course being run poorly and having assignments reuploaded after they’re released and can confirm this was not nearly as big of a problem last fall. This semester, I am only getting good grades because I am building on last year’s ashes. The latest red flag has been the final project not releasing on time despite the date and topics being known the entire semester. The final project is open-ended and takes an entire month to complete so it’s a big deal if the TA’s mess this up.

    What I can tell you is every assignment is the same as last year except for 2-3 extra steps, making them more difficult to complete in the same 2 weeks worth of time. I noticed some of the grade weightings (code vs. report) were adjusted in a positive direction so bombing your report would not make you fail a code-heavy assignment. Every other recent negative review is telling the truth and it is easy to become emotionally frustrated in this environment making both TA’s and students aggressive. OMSCS has much better classes that you should consider taking instead for a healthier balance.

    I did not take linear algebra during my undergrad so there was a knowledge gap, but ultimately I learned what I needed during the semester and applied it, so it won’t prevent you from understanding the material completely. I enjoyed the material a lot and the quirky Professor Bobick but I am sad to learn the programming techniques we learned are now too disjointed and outdated to be applied in the industry. I have a lot of self-study ahead of me to prepare myself to break into the CV field so wish me luck :)


    Semester:

    This is my 5th class in the program and the worst experience of all time (including all my other undergrad classes). I can’t believe that this class is something that I paid for in this program. The fact that it is terribly run is just the tip of the iceberg. Assignment PDF’s are 10+ pages long with up to 8-9 mini sections, Instructions are in 4 different places, TA’s update assignments several days before the deadline without granting us extensions, they regularly post assignments late, some assignments themselves are so buggy that it has taken more time to fix the bugs than to do any coding. Most of the time, the assignment sections build on top of each other, so if you miss the first, you will get stuck and can’t move on to the next. The unit tests are complete black boxes so you have no idea where you are going wrong. The first couple of assignments, the TA’s barely responded to any forum questions so we were completely on our own. It seems like other folks who have prior knowledge and experience are doing the best in the class and helping others along. I am barely scraping by and just in the class now to survive. Oh and also we have no idea what our expected grades are because they don’t post anything in Canvas until the end! My mental health has taken a huge nosedive because of this class. Students reported to the Dean again this semester. This class needs a huge revamp (solidified assignment logistics and knowledgable TA’s) in order to feel like any meaningful learning can take place. If you want to learn CV and are a beginner in it - THIS CLASS IS NOT FOR YOU. It will make you lose any interest you have in the subject.

    Update: The final project AND the final exam were both due on a Friday night (this is very different from every Problem Set that was due on Monday night). The final project was also released about a week late. Many students were begging for an extension because this entire program should be designed for full-time folks who WORK during the week (and the weekend before was THANKSGIVING!), however, the TA’s said no extensions would be provided and “work” was not a good reason for an extension. The TA’s said they needed extra time grading so they decided to take away one of our project weekends. Due to this I did not even bother submitting my final project after spending 15 hours on it because of not getting anywhere with it and I had a work trip the week of the project being due. Many students had saved up their free extension days only to find out that they could not use it for the final project.


    Semester:

    Edit: I see many people have already signed up for this class for Spring 2022. Protip, sort these reviews only by the Fall 2021 reviews. The average rating as of 11/26/2021 is 1.0 across 8 reviews. This course has been going down the tube. Do not take it.

    I wrote another review, much longer than this one, that didn’t post, so I’ll replace it with this short summary. I write this review right now rather than at the end of the quarter to discourage people to register for it. If you take this class it may be the worst decision you make in your academic career. Honestly, it is just that bad. This is the worst class I have taken, including high school, CC, undergrad, and the rest of my grad studies. Truly awful.

    That said, the material and lectures are cool. Unfortunately, you spend a drop of time learning good stuff compared to the ocean of confusing/misleading/useless instructions from the TA’s. They have reduced this class to a logistics nightmare, where useful information is scattered all over the place. Oftentimes, students that start the homework first find tons of issues, which they post on the boards (TA’s rarely update the HW instructions). Starting the HW late, paradoxically, is the only way I have managed to keep my workload in this class down. Some people are working full time jobs just trying to catch all of the TA’s errors and start passing the incomprehensible gradescope tests. I honestly don’t know how the TA’s have gotten this far in their academic careers with this low quality of work. Just really sad.

    The TA’s have missed almost every single one of their self-imposed deadlines. They have not chosen to move assignment due dates, despite needing to change the instructions, and even the GS tests, a few days before they are due.

    The professor (likely due to student’s complaining to the dean and David Joyner) has asked how the class is going in the discussion board recently. The most-liked posts in that thread are pretty much trashing the instructors. This was his first appearance in the entire semester. How a professor can only show his face halfway into a class is beyond me. If the class were going smoother I wouldn’t be surprised to have never heard from him. All of the head TA’s, btw, are his phd students. So there is probably not going to be any serious recourse for making the class into such a trash heap.

    In summary, steer clear. I read reviews that said the same thing last quarter and ignored them. The reviews for this quarter seem to be a great deal worse. It was a bad idea that cost me a lot of time I could have spent doing things I enjoy. Please spare yourself the pain and just take something else, even if it’s not relevant to you. It will almost certainly be a better investment than this class. Georgia Tech shouldn’t put their stamp of approval on a class that so poorly represents the quality of the other courses in this program.

    Do yourself a favor and don’t take this class next quarter.


    Semester:

    This might be one of the worst classes I’ve taken, both undergrad and OMSCS. The projects are a bunch of guess-and-test nonsense, and the TAs are less useful than the students in the class that are struggling with you. The professor is nowhere to be found, and we’re using old office hours videos from four years ago.

    If you value your sanity, please, please don’t take this course. You will learn next to nothing, as you’ll burn most of your mental energy figuring out which border type to use in opencv rather than actually learning useful concepts.


    Semester:

    The content in itself isn’t difficult, but the way assignments are structured is just terrible. It honestly feels like a 1st year junior dev’s work where no one is looking after what he/she has done. Assignments have bugs and the solved bugs have further bugs and the further solved bugs have more bugs.


    Semester:

    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:

    1. 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…

    1. 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.

    1. 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.

    1. 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.


    Semester:

    The course lectures are really good and materials are well articulated, although sometimes the jokes are a little distracting. Despite I like the lectures and the course subjects, I ended up dropping this course after the third assignment (PS2). The main reason is that I really hate the assignments. First of all, the assignments had a large degree of freedoms and there were many (i.e. no obvious) approaches to arrive at a solution. Secondly, the criteria for the autograder was too strict. For example, in one project you were required to locate a sign in a photo within one pixel accuracy. I spent hours on multiple days to try different combinations of approaches, tweaking the parameters, but the best I could do was off two pixels from the solution. The approach I used was reported successful by several classmates on Ed. It all came down to tweaking the parameters to pass the tests on GradeScope. I think that this process is a waste of time and brings a lot of frustration because no matter how hard you try, how many Ed posts you read, you can’t pass the tests. Plus, I don’t think I can learn a lot from this process and this question only accounts for 30% of that particular assignment. What made things worse is that the assignment requires watching three weeks’ amount of lectures. To add to the frustration, the TAs were not really helpful. They were really slow answering questions and the only questions they answered were the administrative ones (e.g. clarification on the assignments.) They are not helpful in terms of answering the general questions about the topics.

    Although there were 6 days leniency for late submission, continuing this course became too frustrating for me and it took all the free time I had. To stay on top on this course, you really need to stick to the progress from the very beginning. I didn’t start until the second week and took a week off to travel in the middle. As a result I could never catch up again given the tight deadlines for each of the assignments. There are 7 lengthy assignments (two weeks apart) and one project and one exam! And don’t expect to be able to finish the projects on a single weekend. I’ve never seen this level of workload in other OMSCS courses I’ve taken. I won’t take this course again in the future but I will finish watching the videos and learn this subject on a slower pace.


    Semester:

    If you already have some CV background then I’m sure this class will be easier for you.

    I took this class not ready for the time involved and dropped it. The second assignment was rediculously tedious. I spent days tuning parameters just to get an extra pixel so that it would pass the auto grader.

    This is one of those classes where it’s mostly self-taught. The assignments are somewhat related to the lectures and readings, but the details need to be figured out for yourself. The TA’s are reticent about answering questions.

    Sometimes students answer questions incorrectly which throws you off. If we were all in a classroom and someone said something wrong, the instructor would surely correct them.

    Classes like this really irritate me. I’m here to learn and sometimes I just need to be pointed in the right direction. Instead we get answer like, “Think about it. Why would that happen?” Not very helpful since I’ve already thought about it. I mean, that’s why I’m asking. I’m not looking for a solution. Just something to read or study that would guide me along.

    I’ve come to the conslusion that for some classes, the TAs are mearly there to grade your work. It’s up to us to figure everything out and self-teach. This is definately one of those classes.


    Semester:

    If you have a good command over linear algebra and calculus, this course is not that difficult. I had to put in a bit of time to refresh my mathematics during the course


    Semester:

    What a banger of a class.

    Computer Vision is an absolutely fantastic course jam-packed with content. You’ll come away with a solid understanding of the core components of the field and an intuition for the myriad tricks that let computers see.

    NOTE 1: In our semester, the professor cancelled the final. (Aside: this course would be rated very difficult if we’d had a final). IMO cancelling the final was reasonable (given the COVID situation at the time) but I would have preferred having it. There’s so much course material that it’s sort-of necessary to review it aggressively at the end. Hopefully your semester will keep the final!

    NOTE 2: This course DOES NOT COVER DEEP LEARNING. Unless you choose the CNN project, you won’t do any deep learning in this class. However, after taking CV and DL concurrently I think the material in CV is super useful for DL, so even if you’re only interested in DL solutions for CV it’s still worth taking CV. Just know that the lectures don’t cover DL at all, so if that’s what you’re looking for don’t take this class.

    Suggestions

    1. Don’t fall behind on lectures. Take good notes and make sure you understand the concepts thoroughly. There is a LOT of content. It was very painful to check the schedule and realize I had 3 hours of lectures to watch before starting an assignment.

    2. Start projects early. The assignments, especially the second one, are quite challenging. I ran out of time on assignment 2, so be sure to start early.

    3. Be active on Piazza. The assignments cover a lot of ground and CV2 (computer vision library) has many ways of doing things. Check piazza frequently to avoid wasting time going down the wrong path.

    Pros

    1. Fantastic lectures. IMO world-class lecture quality. Engaging, entertaining, well-structured, and extremely informative. Watch them early, take good notes, and enjoy.

    2. Solid (and very challenging) assignments. If you’ve never used CV2 (or perhaps an equivalent computer vision package), prepare for a learning curve. The assignments will take a ton of time but you’ll come away understanding how to use real-world OOS to solve CV problems.

    3. Muscle-flex Final Project. The final project was incredibly difficult (for me at least) but I learned a ton doing it. I’m glad this class forces you to fight through a project and gives you enough time (sort of) to grind through it.

    Cons There are no cons for Computer Vision.

    TL;DR: Great class, lots of content, fantastic lectures, fair, hard.


    Semester:

    Caveat: I work in Computer Vision/Deep Learning so many of the things people struggle with (numpy, for instance) were very easy for me, however most of my previous education and current workload is Deep Learning-based so most of the projects were actually new to me.

    This was my first course in the program and I really enjoyed it. I had previously taken a similar course at TU Munich given by Daniel Cremers (very theory heavy), and I really preferred the way Prof. Bobick taught the material. He made the math very easy to understand and kept the lectures interesting with his attempts at humor (they don’t always work but I appreciate the effort).

    Workload: 6 homework assignments and 1 project. The professor waved the Final due to the covid situation in India so I cannot speak to that, but I thought the homework assignments were fun, fair, and a good introduction to Computer Vision. Homework is due every 2 weeks on Monday, and I usually started by watching the 2 weeks of lectures on Saturday, then did the assignment on Sunday in 10-12 hours, with 2-3 hours to wrap up on Monday. So for me, the typical workload was basically 18-20 hours or so every two weeks. The final project was more difficult to get working and took perhaps 30-35 hours.

    Overall: Highly recommend if you are interested in Computer Vision. Even though most of the industry is DL-based now, it is still very helpful to know the classical algorithms and you will find yourself using them now and again in industry.


    Semester:

    Pros:

    1. World-class lectures on classical computer vision from Prof. Bobick are priceless. Even though they don’t cover the latest hype in the field (deep learning etc.), but are still a very good guide for those who prefer a systematic learning of the subject.

    2. The assignments and the final project are well designed and are closely related to the course material. Going through those definitely reinforced my learning.

    3. Grading is very lenient, and the teaching team waived the final exam due to the COVID situation.

    Cons:

    1. The teaching team were not highly effective in responding to students’ questions on Piazza. Their responses were often delayed and confusing. The situation improved quite a bit into the second half of the semester but in general is still subpar.

    2. The problem sets and doc strings of the starter codes are not well written (i.e. containing many grammatical errors and confusing statements). Major overhaul is needed.

    3. No effective feedback on assignments. Most of the time we get a single word “correct”. There are no exemplary reports or peer reviews for us to further improve our understanding.

    Tips to survive / thrive in this class:

    1. Take CP & RAIT (or at least watch the lectures) prior taking CV
    2. Get a head start on CV lectures. I watched all lectures before the semester started, which allowed me to consistently stay about 1 week ahead of schedule. It has been very useful in terms of time management.
    3. problem sets get more and more challenging towards the end so you should prepare to allocate more time as the class progresses.


    Semester:

    This is one of the worst classes of OMSCS. The workload is insanely high with infinite number of videos and assignments to be completed on time. Moreover, the assignments are very old and restricts from using modern technologies. I wish the lectures to be shortened and focused more into details. TAs are not responsive. New assignments should be created and more office hours conducted to help the students better understand and implement assignments.

    Don’t merge it with another course.


    Semester:

    I agree with below reviews. This is my 7th course and my biggest mistake to enroll to this course and spend unnecessarily sleep less nights. There is no group projects. Individual projects work is actually same as group project and need to spend a lot of time. In project docs the year is marked as 2017. So its not changed since then. Videos are good. However there are too many and they too old. Its all classical computer vision and will not add any value. I feel this is one of omscs courses which is not changed since its started both assignments and videos. So its indeed waste of time. TAs are not helpful for sure. They will only try to make it difficult. This term a lot of students complained too and finally professor had apologize acknowledging it. I would also recommend to drop this course from omscs or definitely change the content and maken it more contemporary. Omscs is cheap in terms cost. However this course is money waste and time waste. So dont waste your money rather if you want learn computer vision enroll this course

    https://www.udemy.com/course/master-deep-learning-computer-visiontm-cnn-ssd-yolo-gans/

    Industry has moved from those old concepts of CV.


    Semester:

    This is a very old course. All lectures and assignments are very old and no longer relevant. Its a total time waste as most of computer vision now solved using deep learning. This course should be dropped from omscs or needs make over.

    TAs are not all helpful and only try to make it difficult for students. Very poor communication and lack empathy


    Semester:

    I personally enjoyed this course. Workload is really high, and gets a bit brutal during the final project, but if like CV and plan accordingly you can definitely handle it. The TA team and the instructor are doing their best to improve the learning experience, and they are on the right track.


    Semester:

    The lectures are really good compared to others in the program, but still may need to be supplemented because Bobick always speaks from the perspective of an expert in the field unlike for example Thrun who is of course also an expert but is able to recognize certain aha moments a student might have and put emphasis.

    Regarding the complaints this semester… Did Gen Z join the program this year? Because we sure have a whiny bunch.

    Just kidding. But really the TA’s seem to try their best but don’t seem super coordinated so they sometimes cause more confusion in their clarifications.

    If you are skilled at Piazza lurking to piece together project information you will be fine. Be prepared to spend hours parameter tuning. Overall though I really have enjoyed the mathematics exposure in this class. Definitely a lot of linear algebra concepts and definitely a think it generally through before you code type class.

    Hopefully I’m not speaking too soon since I still have to do the final project and final, but yeah, not as perfectly run as some but not the worst and definitely am learning.


    Semester:

    So, you’ll notice a handful of strongly worded reviews from this semester, and let me start by saying - those folks are not wrong. This semester has been poorly executed, to say the least. That said, I think the course itself is good and the material way less dry than other courses, and overall I’ve enjoyed THE MATERIAL, not the class. I would recommend waiting a semester or two to take this, if you have that luxury.

    If you don’t have that luxury, and still want to take the class or are just way too excited about learning CV, try not to stress yourself out a ton. Ask questions on Piazza(and answer others!) - other students have really carried a lot of us through this course. Also, I actually think the grading is quite lenient (if painfully slow). You would think from this board and our Piazza board this semester that lots of folks are failing/getting poor grades, but the mean grade on all assignments have been A’s… like mid 90’s As. Grades aren’t the whole point here, but its something to relieve a little stress.

    I still think the course material is good, and covers a lot of ground in CV. Is it totally modern and cutting edge, maybe maybe not, but I still believe its a really nice survey of topics, and what I would consider a very in-depth introduction to a wide range of CV problems. I actually wish this program had another course or two on the subject.

    If you’ve taken a couple of courses in OMSCS you know good TAs can absolutely make the course, and we didn’t have that this semester. You also know that some of the lectures are borderline sleep-aids, but here Bobick’s lectures are some of the more engaging lectures I’ve watched. The office hours videos (from previous TAs) help tremendously when it comes to applying theory to the assignments. The material is fun, projects are interesting, and they include tests to run/code against and an autograder you submit to, and that makes it a lot less ambiguous as to whether your code does what is expected and what your grade is. It took me a few assignments to realize that the best approach is to run the tests and submit to the autograder as you go, don’t try to do the whole assignment and then run those. Trust me.

    So, if you were excited about taking this course but then read these reviews, don’t sweat it as much as it would seem.

    TL;DR - Have I been frustrated? yes. Did I have some fun? yes. Did I learn a bunch about CV? yes. Are grades an issue? No. Is this a good course…..yes?


    Semester:

    Holy heck. This class is a FAR cry from what it used to be. Everyone this semester is struggling to merely understand what the TA’s want from us. I say TA, because the “professor” has not so much as pushed an email nor a pinned piazza post. Granted, the TA’s rarely push emails, neither - not for the continual changes they make to the homeworks. The docstrings in the assignments usually contradict the PDF explaining the assignment. The lectures were made in 2015 using material that was outdated then. The lectures reference MATLAB for the first 3 weeks, so I wasted time downloading that and learning the picture processing in that, only for TAs to scold us to use OpenCV, despite the lectures saying otherwise. The syllabus was wrong, and said “Challenge” questions were Extra Credit. That’s no longer the case; you have to do insanely hard challenge questions every week in order to get the last 10-20% of the assignment. Jury is still out on the grades for PS3, which was due a month ago. The lectures are dry and long and wordy, and the professor is wildly condescending to his videographer, demeaning and mansplaining to a young woman with a camera filming him.

    This is my 6th class and the one that makes my blood boil the most. Way more than ML or DVA.

    I thought ML was much more organized than this class. I was expecting this class to be better than ML due to the reviews. ML actually had weekly office hours where the TA’s curated relevant questions. This class relies on office hours recorded in 2017 by a TA who left, and clearly took all the good stuff going for this class with him. There is a place in Heaven reserved for Matt Housten, he clearly was the only reason this class ever worked.

    Example of this class’s usual mess: We had an assignment due today at 8pm. I finished it Sunday night since I’m an adult with a job on Mondays. The TAs come out of their slumber and “Resolve” the 45+ questions unanswered on the homework thread, so that they are allowed to penalize us on the homework for things they told us about on Monday afternoon. This has been the case for the past 5 assignments.

    The assignments are hard but mangeable if you are active on class Slack, but I would really love to have TA’s be able to answer the usual clarifications required of assignments with poorly explained and difficult new materials.


    Semester:

    How do I start? First let me say the material isn’t that hard. So why is the class so bad? First off the professors and TAs ghosted this class like the plague…where students struggled most, They were gone. Thank god for the office hours from 4 years ago because everyone would have failed.

    Next is the issue with the homework. You’d complete the homework in 2-3 days and spend the rest of the 2 weeks trying to get it exact down to the pixel. Naturally you want to be a master hence you enrolling for that, but no way not this class, after it you’re lucky to call yourself a beginner. If they threw away all the 7 hours of lectures on picture analysis which belongs in computational photography and not here, you might be able to hit computer vision.

    Now you’re probably wondering how much of this CV class actually had CV? Last 2 lessons, 3 hours of content…Many students resulted to everything from Piazza to Reddit, even tagging professors who never answered back (even the OMSCS director)

    Be like TAs and leave this class before it leaves you. GT OMSCS is going downhill because they have almost no real faculty they’re banking off videos created by someone long ago who no longer works here, then they put TAs in charge to sell it off.

    Why do a masters if you’re getting a MOOC?


    Semester:

    DON’T! JUST DON’T! If you are thinking of taking this course in Fall, don’t waste your time. Watch the lectures maybe. But everything in the class projects is covered in opencv tutorials online. Skipping this course can teach you more computer vision and maybe save you from hypertension at a young age.

    Summary: if you have worked with those frustrating contractors who never get anything done, but always respond nicely and carefully so you cannot pin any problem on them and you put your fist through the wall, this class TAs will make you relive it. This class should be renamed CYA instead of CV. The instructors may even have PhDs in CYA.

    As someone with a minor in education and five years of teaching experience, I can tell you these TAs are a good case study of how not to run a class. I wish I could get my tuition back from Georgia Tech. This is NOT a class in a top tier program.

    There are Reddit threads on what is wrong about this class and they are tip of the iceberg. I will not repeat those here but you should still read it. I will just talk about the TAs. There are no aggressive rude jerk TAs in this class. There are absentee TAs and there are lazy or incompetent TAs who are also polite.

    • Introduction post says you can email TAs if you don’t get a response for more than a day. TAs have actually gone AWOL for weeks.
    • Every Piazza thread says “Questions asked in separate threads (outside this thread) will NOT be answered”. Hundreds of questions asked on those threads are not answered.
    • When someone asked if we can have a single source of information for the class, a TA responded that “instructions are in the provided pdf”. Then he mentioned 4 other sources of information. Btw the last source was Piazza, which itself has information across many megathreads. TAs have cut points and claimed the information was stated on Piazza somewhere.
    • Many questions remain unanswered for different projects so students do the project based on their own assumptions. TAs respond 30 minutes before the deadline with “clarifications” that might negate everything the student did, but by then it is too late for the student to fix it. Students lose points based on these last minute comments.
    • Head TA keeps posting that they appreciate the feedback. Someone on Reddit showed that their post seeking student feedback was made private by the same TA without explanation.
    • Whenever there is any problem, TAs vanish. No apology or even announcement. Students keep asking each other if everyone faces the same issue. Weeks of frustration later, TAs post a half-a**ed apology just so we can no longer claim they didn’t apologize. Clever.
    • Head TA made an actual joke in Office Hours about dreaming up ways to torture students. I thought it was just a bad joke, but after seeing how the class is actually run it doesn’t sound funny at all.

    These aren’t the CV you’re looking for! The course is outdated anyway. The projects are nice and not that hard if there were no TA messups. Bobick and Houston are great but do you want to spend 30+ hours on lectures, 120+ hours on outdated projects, countless hours of stress dealing with bad TAs and worrying about grades? For what? To learn outdated CV? What’s the point?

    If you are still thinking of signing up, go ahead. I am starting a new meditation and stress relief app for cv students. I might buy an island or something with the cash I make.


    Semester:

    I’m in the middle of Spring 2021. Almost all TAs have disappeared and not responding. Project 3 has been left ungraded. Are they all kidnapped by aliens???


    Semester:

    Overall this is one of the better classes in the program in my opinion. The assignments are challenging but you learn a lot from completing them.

    The final project was quite time consuming.


    Semester:

    I loved this course. Videos from Professor Bobick where excellent and touched on many aspects of computer vision in the last 30 years. In reviewing for the final, it became clear that there is an additional wealth of information he touched on that you will not catch the first time through the videos. I enjoyed his sense of humor. It was light-hearted, evenly spread and without interfering with the material.

    It is not a machine learning course (which is where the field has moved in the last 10 years or so). It is a computer vision course in that it covers 30 years worth of algorithmic development in computer vision relying on some fairly sophisticated math/techniques. Much of that math, is directly applicable to machine learning; much of those techniques can be leveraged in ML pipelines. So this course will give you additional exposure to the math and computer vision theoretics required to study computer vision -as a whole-; and domain specific knowledge you can exploit (whether using algorithmic of ml-based computer vision).

    I did well in the course; I did not use George’s Notes preferring to note-take myself. The second time through the videos is where I caught the real gold in the material (having done the assignments, and seen the gestalt/corpus of computer vision assumptions/techniques).

    The material offered/covered is huge (even for a survey course). It is essentially a core-dump by a 30 year veteran in computer vision. If you are a fan of this style of content (and I am!) you will be in candy-land. There is nothing more edifying, than hearing an expert recapitulate his field in toto – especially when they take the time to add the advanced techniques as mentions rather than simply skip them.

    I found the assignments useful; there was an unexpected amount of hypertuning required for some of these classical algorithms that mirrors hypertuning requirements in an ML class. There are ways (besides randomly trying parameters) to intelligently tune - I would advise you to pursue those. The TA’s breakdown on homework assignments (autograder, faq, assignment thread) was logical, timely and appreciated. A shout-out to Mathew (for his office hours) which were well thought out, and for which his love of math and computer vision clearly shone.

    I would consider this course one of the best courses in this curriculum to date and totally worth the effort.

    I could very much envision a second course in computer vision concentrating on the last 10 years worth of CV algorithms + deep learning, covered in similar survey style/breadth as a worthy addition to GIT’s course roster.


    Semester:

    I really enjoyed this course. I have already taken a computer vision class in undergraduate and already had good background on the deep learning side of computer vision. I found this class lays very very strong foundation for classic computer vision which really enables you to look at the field as a whole and understand all the key topics. Contrary to other folks who believe that they should only learn deep learning techniques, I found learning traditional techniques a great way to reveal insights of problems and understanding different assumptions made and how we can make SOTA better.

    The lectures are the BEST IMO. I can tell that it is delivered by someone who has diligently worked in the field for 30+ years. Each individual lecture might be short but if you watch it many times, you will see that the wording are very concise and when you understand what he is really talking about, you will see how great these lectures are. I watched the lectures many times and plan to watch even more times.

    Assignments are really great and carefully designed. These assignments shed light on many fundamental problems in computer visions.

    For final project, I did the stereo correspondence problem and enjoyed it. It is not hard to implement simple SSD/normalized correlation based matching, dynamic programming based per scan line matching and graph cut and we get very good results after that.

    Office hours from Matthew Houston (recorded in 2016) are very helpful to get project started and he had some insights as well.


    Semester:

    A great course, but has a few glaring issues. I recommend this to anyone with an interest in computer vision. If you are interested in this topic, you will probably be able to put up with the issues

    Pros:

    1. A great summary of classic computer vision. You will know about a lot of concepts (Key words are “summary” and “know about”. Don’t expect a deep dive on anything here). But you can always build on the concepts you find interesting. This course lays the foundations quite strongly

    2. Assignments and project are good for the most part. They reinforce the concepts well. Translating math into code is satisfying. There is a lot of tuning which may be frustrating, but is one of they key elements of computer vision. The autograder is awesome to the point where you can start abusing it and use it as a code tester (I am not complaining though!)

    Cons:

    1. The biggest problem with this course for me was the lectures that seemed to go on forever. Nearly 80 hours of content! The sad part is all this could have been easily condensed. The professor is knowledgeable no doubt, but when it comes to teaching, he drags on and on, making a lot of irrelevant and distracting jokes. His attempt to humor the audience using the videographer as a prop are extremely annoying. I could have put up with this if the concepts were covered well, but nope! Important details are glossed over and most of the key concepts are covered in a very superficial manner. I gave up on watching the lectures about midway into the course.

    2. While the course does a great job in teaching classical techniques, the real world significance of these concepts is highly questionable. I would have preferred a slightly more modern approach with more emphasis on deep learning and the opencv library rather than tedious math equations.

    3. The instructor is non-existent. No office hours, no interaction on Piazza, nothing. TAs are okay not great. I have a feeling they are not really interested in their job. They tend to answer the easy questions and happily ignore the hard ones especially when it comes to the project. Come on GaTech - we are not paying for this course to end up watching videos and having discussions on Slack.

    Summary: I definitely recommend this course. Go for it. Give the lectures a shot. If they are unbearable, just watch some youtube videos on the concepts. Trust me - it is the same or at times even better. Get yourself a copy of George’s notes on this course. They are a life-saver especially during the exam. Throw maximum effort into the assignments and the project. They are the key to succeeding in this course. Once you have a grasp of the fundamentals, go crazy with opencv, explore the deep learning aspect and look into modern real life implementations.


    Semester:

    I wrote a very long, detailed review, but OMSCentral errored and I lost it, so I am cutting it short this time. Tip: Disable uBlock

    I wanted to like this class, and while I did well, I don’t feel like I learned what I wanted to learn, and it was more stressful than it needed to be. I guess I’d still recommend it as part of the ML spec, but it is not as good as some of the other ML classes, and it could use updated lectures that focus on fewer topics and that cover some of the massive advancements in computer vision from the past few years. TAs/professors provided very minimal help on projects, so expect to spend a lot of time on Slack talking to other students instead.

    Tips

    • Pay attention to x vs y in OpenCV vs numpy. I still don’t know which way is which, but I’m always wrong and it’s always important.
    • Pay attention to dtypes. I’ll be happy if I never have to deal with OpenCV making everything uint8 again
    • Choose final project carefully. I wish I chose EAR instead of Stereo. I also wish I could’ve chosen CNN, but they don’t teach it at all, and I knew there was not enough time to learn and implement it.
    • Stay active in the Slack channel. There are some really helpful materials in the channel pins, and there is a lot of important discussion on projects with students.
    • Stay one week ahead in the lectures. Some of the lectures are helpful for projects, but for some reason the schedule has you learning important info right before a project is due.


    Semester:

    Every assignment was the same as last semester and the TAs provided no feedback on any of the course material. Even the office hours were not taken. They provided office hours from 2017 and told us to work on it. Even after telling the TAs directly to give us solutions to figure out our mistakes to the assignments, they provided none. The way they were conducting piazza was also horrible. We were not ALLOWED to create new posts to ask questions and the information was getting lost as there were no notifications on subposts… TAs did not even correct their mistakes, when correcting the assignments they graded it wrongly. All in all nothing that the TAs or Professor did this semester were worth taking it. The lectures (recorded in may be 2015) were the best part…. TAs were completely uninterested in doing their job. Lectures were the only good part about the course, which were not even prepared this semester.

    The instructor was not even shown up once in the course. Prof. Aaron Bobick on the other hand was a great instructor of the course, as his lectures were the one which we saw.

    Everything is to be improved.

    1. Conducting office hours
    2. Giving feedback and solutions to the assignments
    3. Being normal to the students if they post questions.
    4. The instructor should atleast be there to guide TAs and to take complaints.

    YOU CANNOT JUST CREATE A COURSE BASED ON OLD LECTURES AND FORGET THAT THE COURSE EXIST. IT WAS THE WORST EXPERIENCE IN THE ENTIRE MASTERS PROGRAM I EVER HAD.


    Semester:

    • Learning CP & AI4R before taking this course is an added advantage as lot of the material gets repeated.
    • The videos are on Matlab while the course uses Python. Had to do lot of Notebook and Python to get familiar with the OpenCV version. But apart from the first few modules, you would never use code examples.
    • The autogravder can be submitted any number of times. There are no restrictions. Many people include myself used this as our testing tool

    Positives:

    • Liked how the TAs created discussion threads for each module in Piazza. Most of my questions where already on a module where already answered on the module related thread.
    • There is not much piazza activity going on as all the discussions either happens on slack or within the main piazza posts the TA’s created.
    • The Office Hours videos from Matthew were super easy to understand and steps through basics for non-math people like me. I wish they could make it as part of the main video lessons.

    Negatives:

    • The video schedule does not line up with the assignment schedules. Need to be ahead in videos and not follow the syllabus schedule.
    • After some point, the video lectures become too much to bear. Hard to hold your attention through long mathematical lectures unless you are a math geek. The videos are great but too much!
    • You still have to keep up with Slack for tips & tricks. There is so much information shared among peers. If you start your project late, you are on your own and the slack channel will become inactive by then.

    Final Project:

    • For the final project, I chose Stereo hoping it would be easy. But only take Stereo if you already know some Dynamic programming, Trees & Graph cut. Otherwise it is a learning curve.
    • People seemed to find EAR easier. If you are short on time, go for EAR.

    Final Exam:

    • The final exam was not as bad as I imagined. Discuss the study guide with peers before the exam and you should be able to achieve ~70% with just the study guide.
    • It is highly impossible to review all the videos even at 1.5x speed as their is too much of them. Either use George’s CV Notes or read Prof Bobbick’s slides.

    Overall:

    • A detailed courses that not just grazes the basics but steps through all the basic principles in lot of detail.
    • If you understand Math, the lectures are gold! Prof Bobbick explains all the equations.
    • Follow Matthew’s Office Hours videos and be active on slack, you would do fine.
    • Choose final project according to your appetite and area of expertise. Choose EAR if you want a safe option.
    • Final exam: Review the study guide. Do not over think!


    Semester:

    I took this as my 9th course and overall enjoyed it. I think there are definitely things to improve but it was a worthwhile course. This course, like ML, was a lot of TIME but I don’t think it’s as difficult as people make it out to be. So rather than difficult, it just took time. The workload estimate I gave (~15 hours/week) is probably less than what I actually spent since I worked on projects while watching TV or doing other activities.

    The general grade breakdown:

    • Final Exam (open book/note/everything but other people): 15%
    • Final Project: 15%
    • Assignments: 70%
      • P1, 5%
      • P2, 13%
      • P3, 13%
      • P4, 13%
      • P5, 13%
      • P6, 13%

    Criticisms of CV:

    • The lectures are outdated but even more so, it’s that you can TELL they are. I thought Bobick overall did a good job of explaining the material but I found a lot of his jokes to be 1. not funny, 2. rude to the videographer (i.e. Megan wouldn’t know this calculus stuff, she’s a videographer!), and 3. a waste of time. I think he thought he was a lot funnier than he was. I listened to the first half of the lectures at 1.25 speed and the latter half at 1.7 speed because Bobick talks slow and you don’t need to retain all the info. I took notes on the lectures and ended up with 200 pages (insane). The lectures were good but much too long and outdated. The lectures were a total of 30 hours which is quite a lot. I do recognize that lectures are the hardest part of a OMSCS course to change.
    • Info about the project is given in three different locations: the project writeup, an FAQ in Piazza, and comments in the code. This is really frustrating! You have to check each to make sure you aren’t missing some key requirement. It’d be a huge improvement if all the info was included in one location so you don’t have to narrow down what’s going on.
    • Overall, this class is well run and a pretty well oiled machine at this point - to a fault. This means there’s a lot of laziness in setting up this course which is frustrating. The entire semester, the Canvas class had a banner at the top of: “NOTE: This course is being set up for Spring 2020 term. Dates and other material may be wrong (as copied from Fall 2019 term). Will be fixed by the first week of class. Thanks for your patience.)” Additionally, lots of Piazza posts had the wrong dates or information because it was an obvious copy/paste. The project files, especially the report ones, had “Spring 2020” in all of them. Nothing was updated.

    Positive aspects of CV:

    • The projects were fun to me. I enjoyed detecting the stop signs, tracking people, and finding optic flow between images. Overall, I found the projects to be like puzzles and enjoyed solving them.
    • The TAs were mostly responsive on Piazza, especially if you used the designed project threads for questions, the chance of your question being answered was even greater. There were definitely a decent number of questions not responded to but I think the TAs did a decent job.
    • The community on slack was pretty great. People were willing to share their approaches at a high level and help one another.
    • There was enough time to do the projects and the assignments. You got about 2 weeks per project and 4ish weeks for the final project which is doable.
    • There is an autograder (WOOO) which helps you feel more confident in your projects. There is also a report component but the code component is autograded.
    • There were office hour videos given by Matthew Houston from 2017 that were really helpful. I’d love to have taken this course when he was a TA.
    • I got to refresh my latex skills (maybe not a plus for you :D)

    Advice:

    • Fill out the study guide for the exam. If you watch the lectures and take notes, you don’t need to prep much outside of that. I did an extra hour of “studying” by reading through some notes but don’t think it was necessary. Also, take the practice exam - especially if you’re a new student - it gives you a good practice run.
    • Start early on the projects but don’t stress too much. They aren’t as bad as they might seem at first. Some of them require tuning parameters which may take extra time.
    • Tune into slack/Piazza/etc to get some great tips and learn from your classmates.

    I think this was a pretty good course and enjoyed it. It was probably my 4th favorite course after AI4R, HCI, and ML. If you take KBAI and want to learn more about how to detect figures/images using computer vision terminology and libraries, this is a great course to try out. The projects are neat and fun to try even if you don’t love the course.


    Semester:

    I was not a fan of this course. Not because it was hard; it was, but if you give this class the level of attention you should give any Masters-level course, you can likely expect an A - the projects and the assignments are challenging, but not impossibly so. Grading is fair and criteria are clear.

    My complaint with this course is that it is just too broad. It can’t cover anything in any meaningful level of depth while trying to touch on literally every topic in Computer Vision. When there are hundreds of videos and dozens of readings, it simply isn’t possible to fully grasp one concept before moving on to the next. I took Computational Photography before this course, and I really feel that I was able to learn more about Computer Vision in that class than I learned in the Computer Vision course.

    With that in mind, if I had to knock anything specifically, it would be the Final Exam vs. the rest of the course. This is a survey class that’s tested at the level of a deep dive. I grasped the course content well enough to get a 100% on every assignment and project, but if the final hadn’t been open book, I’m not confident that I could have scored higher than a 15%. It’s like teaching a kid finger-painting and then asking for the Mona Lisa.

    My suggestion to GT? Break CV into ~3 classes, each focused on a specific corner of Computer Vision. I know this is a bit incompatible with the nature of OMSCS, but it would really be the best thing for this material.


    Semester:

    I took this class after taking Computational Photography. I felt that CP prepared me to work really efficiently with Python and Numpy, so the overall coding portions for this class were not overly difficult.

    The hardest part of this course is translating the math presented in the lectures and papers into workable code. It takes time, but the payoff is fantastic.

    I found that this class was less difficult than Computational Photography, but perhaps that’s because I already knew Numpy (and general techniques for speeding up Python) going into it.

    Take Computational Photography and then Computer Vision. You won’t regret it.


    Semester:

    Do you enjoy spending the bulk of your time for an assignment tweaking hyperparameters?

    Do you get the warm fuzzy feels when you read poorly written assignment documentation and see a header that reads: “Spring 2018”?

    Do you enjoy a class where the TAs are mostly absent on Piazza?

    Do you like it when you never hear from the professor?

    If you answered yes to the above, then CV is the course for you!


    This class isn’t as crazy difficult as many people make it out to be. You need proficiency in Numpy and should be comfortable with matrices, but the actual logic required for each of the problem sets is straightforward. I think this course gets as positive of a reputation as it does due to the intrinsically interesting subject of CV and the artifacts you create. From a teaching and operations perspective, this class is hot garbage. It’s the kind of shallow and remote experience people think of when they hear online learning. It seems as though the instructional team views this course like a crockpot–they’ve set it and now they can forget it.

    We had a student ask on Piazza at the start of the semester, “How does what we’re learning in this course tie in with all of the progress recently made in CV using deep learning?” This is a really rich question; a question that could serve as an excellent springboard into conversation with subject matter experts like TAs who are PhD students studying CV, or I don’t know, just spitballing ideas here–the professor of the course. I was so incredibly disappointed to see that the only response to that student came from another student. Even a single post along the lines of, “Hey we’ll host a special office hours session at the end of the semester to discuss this” would have been great.

    I chose to do the CNN final project which was really fun and the most enjoyable assignment in the course. The TAs botched the delivery of the final project by providing an outdated conda environment. One TA said to use the latest PyTorch/Tensorflow versions, while another TA said to use the outdated versions provided in the provided YAML file. Student questions (legitimate questions, not dumb questions about assignment specs provided in the project description) often went unanswered by TAs. Again, the instructional team doesn’t seem too interested in supporting students.

    The one shining spot for this course, though, is the former TA, Matthew. He is the best teaching TA I’ve encountered in the program. His recorded office hours are the most fantastic display of pedagogical knowledge I’ve seen in OMSCS. Seeing him teach the concepts for the problem sets was a real privilege. So when a problem set is released, the best use of your time is to immediately watch his office hours.


    Overall I found the course content to be interesting but execution to be poor. There are too many other interesting classes in OMSCS that I wish I didn’t take this one. If you’re short on classes, just do some self-study of CV on the side and take better courses.


    Semester:

    One of the better courses that I have taken in OMSCS. It’s a good bit of work and time investment, but you come away from it with a solid understanding and background in CV fundamentals. The course difficulty mainly stems from a mix of time spent ensuring that one is correctly implementing the logic of concepts covered in the lectures as well as debugging tricky matrix math. You’ll save yourself a ton of time and headache if you come into this class with a decent understanding of 3D matrix operations and numpy.


    Semester:

    See “Difficulty” and “Workload”.


    Semester:

    This is my second course in the OMSCS journey, but oh my god this course is difficult!

    Perhaps because this course requires knowledge on matrix and algebra, which I have forgotten long time ago since they are not required in the business world…

    That being said, the first few assignments are fine, except that the first shape recognition assignment take some time to develop (esp. when you new to computer vision), and the template matching (or corner detection) assignment takes a long time to run. (NOTE: The TA seems to overlook a little and set a too strict tolerance on that assignment, which causes me to switch away from Harris corner detection to template matching, which in turn takes much more time to run. The running time should be much improved by particle filter, but the course is so arranged that particle filter comes in a very late assignment.)

    Following are my other comments:

    The Office Hour videos by Matthew Houston, though dated a few years ago, are particularly useful.

    I suppose the video lectures should be updated if resources allow, as professor Bobick already left so the new instructor can shift away from his directions. I think Bobick is very clever and knowledgeable on lots of thing, but he puts too many irrelevant “jokes” into the video which disturb our study objectives. Too much math and symbols without referring to examples and goals of the formulas, which really makes me lost my track. I myself think only something inspirational or sarcastic can be considered a “joke”, otherwise please save it. Sorry Professor Bobick, I am sure you won’t mind my words.

    On the final project, you can choose from a list of topics. I choose stereo correspondence, which can be said easy or hard. It is easy that you must be able to achieve something since the basic algorithm is not that hard, but it is also difficult because a graph cut algorithm is hard to compute and be correct, meanwhile you can hardly tell if you did it right or wrong since the sharpness of the correspondence output is a bit subjective (esp. when the resolution is low in order to compensate for the computation speed). Also, probably due to China WuHan virus / COVID-19, some TAs may not response promptly, that really stuck me into the algorithms, since I suppose I did the right thing but the output quality is not good enough. That is really hard to debug since I don’t know how much I should be able to achieve when Python is running so slow. I tried a different Python implementation but it is still slow as hell. So finally I can only settle with the best that I can do within the limited time.

    The exam is not extremely difficult, provided that you understand what Bobick said. That’s why I sometimes need to scrub video to skip his jokes to avoid breaking my train of thought.

    Overall, I thought the course is good, but can be improved with more examples and less irrelevant materials.


    Semester:

    One of the best classes I’ve taken in OMSCS, but it’s a ton of work. It really made me a better engineer.

    The concepts are really interesting if you’re like me and love math, however, I think they cover too many for the course, which is why the final is kind of dumb. There’s just no way to digest that much.

    To get an A, you really have to put in the extra 10hrs/wk, but a B is very doable. Lectures are better than most as well.


    Semester:

    A very well organised class. There are 6 problem sets (70%), one project (15%) and one exam (15%)

    The problem set gets progressively tougher. Considerable amount of time is spent on parameter tuning. Parameter tuning requires a trackbar without which it is not possible to come up with a good set of parameters. The good thing is the trackbar is freely available created by former students. All you have to do is small customization for your requirements.

    There are 4 projects. Enhanced Augmented Reality, CNN Digit classification, Stereo Correspondence and Activity Classification using MHI. CNN Digit classification is the toughest but very rewarding. Do not attempt it if you don’t have a GPU locally. It takes lot of time to run and tune parameters. I did this project because I had prior experience on CNN from my BD4H class. Plus I made good use of my 2080 ti GPU without which I could have never finished this project.

    Lectures: The lectures are massive. I couldn’t finish watching all. I only could finish 80% of them. George’s notes can come in very handy but they too are massive (300+ pages).The lectures were of acceptable quality and Prof. Bobick has presented it well. But no matter what, the huge amount of lectures make it impossible to rewatch them for the Exam.

    Final Exam: Final exam was open book but don’t let that fool you. The exam was hard IMO. I did poorly in the Exam. Mainly because I did not get time to review all the class meterials. You need to have a decent understanding of the topics to even have a chance of searching and coming up with the answer. Despite doing poorly in the Exam, I eneded up with an A, Thanks to scoring almost 100 on projects and the problem sets.

    Advise: Watch the lectures early or atleast on schedule. If you fall behind, it is very difficult to play catch up. Something that happened to me. Start the Problem sets as soon as it is released. You need atleast 1.5 weeks for each one of them except the first. Finally, review all the class meterials for the exam. Keep at least one week to prepare for the exam.


    Semester:

    A particularly well-made solid course.

    Pros: {1} Predictable stable workload, everything could be done in weekends. Could be paired with other not crazy-hard courses. {2} Material is well explained. Lecturer is fun and engaging. {3} Video lectures are enough for everything, except Final Project. {4} 90% of each assignment is a stable work with clear instructions. {5} Final Project is open-ended, there is an option for every taste.

    Cons: {1} Tremendous amount of videos. Your kids will grow up, while CV lectures will still be there. {2} Tutorials in video lectures are designed for MatLab, but OpenCV is used in assignments. {3} Wording of some assignments is ambiguous or lacks finer details. Auto-grader requirements, like return values, are sometimes not clear, occasionally graded functions and files are not mentioned. {4} A lot of hp-tuning is required for last 10% of each assignment.

    Tips: {1} Pre-watch at least half of the videos. Use 1.5x all the time. {2} Don’t bother with readings, if you’re short on time. {3} Start Final Project early. EAR or Stereo could be done in 1 week, others could not. {4} Read assignment clarification threads on Piazza. {5} Use George’s CV notes to prep for exam. Will not have to rewatch videos.


    Semester:

    I have some maths and CS background but no CV knowledge.

    The lectures contain lots of content but actually are only 30 hours in total.

    The problem sets are a little challenging. They require lots of parameter tuning. Implmenting some CV algorithms from scratch is not trivial. It tests more of your problem solving skill than your understanding of the relevant topics. Discussions on Piazza and Slack are super useful and can save you lots of time.

    I chose CNN for the final project, which I feel is easier than the problem sets (I did not know anything about CNN before the project). Going through the notes for cs231n and some tutorials on Keras/Pytorch is helpful. Use Google Colab for GPU if you don’t have one.

    Final exam is very easy. Be sure to follow the study guide and have a copy of the slides and George notes for easy lookup during the exam.

    The only downside of the course is that although I managed to score close to 100% for everything, my understanding of the materials is still superficial. I feel none of the assessments really tests your deep understanding of the topics.


    Semester:

    This class is similar in difficulty to Reinforcement learning, but for different reasons. If you have experience in math and physics none of the concepts should be surprising, but it takes time and effort to dial into a good solution for the class, no big tricks that you have to suddenly get.

    I would say that this a class that has a a lot of breadth vs depth.

    If you enjoyed computational photography and want to build upon it this is the right class, but this class is a very different beast.


    Semester:

    The class is very much about breadth and not depth. If you’re looking for practical skills, it may not be for you since a lot of state-of-the art computer vision is related to machine learning and deep learning.

    The class is mostly well-run, though communication was not always the clearest. For each project, I found a frustrating amount of vital information split between different Piazza posts, embedded in comments in the code, and in the the official problem set write ups.

    Though if you know nothing about the topic of computer vision, you will certainly learn a lot, and in that regards, this class is definitely worth taking.

    For practical tips for taking the class, see my write up here


    Semester:

    Overview:

    • 6 hws (code and reports) (70%), 1 final project, (15%), 1 final exam (15%)

    Pros: (1) information is interesting (2) grading is fair

    Cons: (1) a LOT of lecture videos (2) about half of the hws require a lot of self research and are not taught from the lectures (3) final project is very time consuming and a lot of work. Nothing about it taught in the lectures (4) final exam is very tricky

    Final review:

    • I would not recommend this course unless you are working in robotics. The lectures do not fit well with the hws and have almost nothing to do with the final project. I was disappointed with this class. I would recommend CS6475 “Comp Photo” instead. Some similar information but a lot more enjoyable of a class.

    To see my full review on the course, check out my youtube channel: https://www.youtube.com/watch?v=cnQypIPaWOE


    Semester:

    This is one of the courses, I have thoroughly enjoyed, mostly because of my inclination towards computer vision. The problem sets were hard, but I have enjoyed it. Although the course content was too much, but I learned a lot of concepts from scratch. And Prof Bobick’s videos are quite fun and delightful to watch. I think the TAs can be more active in terms of conducting and recording live Office Hours or query sessions. I would appreciate a follow up course, which goes into more details in some of these areas. But I strongly suggest everyone to take up this course.


    Semester:

    Excellent course. Best video lectures I’ve seen in the program so far - very detailed and comprehensive, though this does mean there’s a huge quantity of lecture material to get through.

    Projects are well designed, interesting, and challenging. I did not so great on a couple, but they’re all very doable with the knowledge presented in the lectures. Final project is a good opportunity to do some cool work, and is graded pretty leniently. Final exam has a couple of tricky questions but overall pretty easy (open book).

    Would recommend this course to everyone in the program.


    Semester:

    Background: software engineer on generic AI/data with no CV experience. OMS Exp: DVA, AI, ML4T, ML, RLDM, AI4R

    Wanted to take this course to gain basic knowledge in CV, which, combined with ML, is a very hot area in the industry. This course was focusing mostly on traditional, math heavy method, as opposed to using ML. Except in the final project, you’ll have a change to work on CNN for number detection and recognition. There were other topics for final projects, but most people did CNN.

    The workload is higher than my expectation, due to my lack of experience in CV. But my python/numpy skill learn from other courses helped a lot. And it’s good that I learned OpenCV in this course.

    Most of the credit coming from projects: Final project 15%, 6 assignments/projects take 70% and an easy final exam takes 15%. There’s a project due every other week. Having taken AI4R can helped on 1-2 of the modules/projects.

    Overall I liked this course especially enjoyed some of the projects where you code your own algorithms to do face detection, pedestrian tracking, number detection from a real work image/video. It was exciting to see that your code can do these cool stuffs that are playing big parts in your life and today’s tech world.


    Semester:

    Excellent course that covers a wide range of computer vision methods as evolved over time. The organization of the course was excellent and builds up over time. The assignments were timely provided and helped solidify the concepts covered in the lectures. The final project (chose the CNN option) was the most time consuming part of the course (took me about 90 hours to finish) but overall helped me learn a lot. I would highly recommend this course but would not pair with another one especially if someone has no prior exposure to CV.


    Semester:

    Excellent course as a survey of CV. Projects and homework were relevant to the lectures and well timed. Assignments were very generously graded (some of the results I generated clearly were not deserving of the A’s I received in some cases). Lecture videos are numerous and dense, often requiring multiple viewings and pause / rewind. Overall, the content was incredibly relevant (despite the age of the lectures – recorded in 2014 I think?). Final project (CNN) was brutal but valuable and graded VERY generously. Strongly recommend this course for anyone with an interest in the field.


    Semester:

    Overall I enjoyed this course and learned a lot.

    • The lectures are the best I’ve seen although there are a lot of them and I was unable to watch them all with the workload from the problem sets and final project

    • The problem sets are challenging but the cadence allows for plenty of time to get them done (~2 weeks per problem set).

    • The final project workload varies by which one you choose. I choose CNN and was very overwhelmed but I learned a ton and the grading was fair.

    • The final exam is very reasonable and doesn’t require much preparation which was nice because I was so burnt out by the final project at that point.

    The single best thing you could do to prepare yourself for this course is to familiarize yourself with Numpy.


    Semester:

    I took this class with Computational Photography, which helped out considerably because there was a lot of overlap between the assignments and topics. And I think this class was more interesting than Computational Photography as well with better video lectures. There were fewer “things” graded (i.e., no peer feedback, no quizzes, no midterm, etc.), but each assignment was much more difficult and took longer to complete. There was also an “Above and Beyond” or “Challenge” section for each assignment, but they included clear instructions on what to complete for full credit. As such, it was much easier to get full marks on the assignments compared to Computational Photography with less writing / responding to questions and more coding.

    Other than the 6 assignments (spaced out with due dates every other week), there was a final project and a final exam. The final exam was hosted on Canvas and was open notes, open Internet, etc. However, there was only about an hour and thirty minutes to complete the exam (and I used all my time since the questions were a bit tricky). Despite the tricky exam though, the final project was one of the most difficult assignments I have had so far in the program (with this being my sixth class, completing DVA, HCI, ML, ML4T, and RL prior). I chose a project to perform number recognition and detection by building CNN’s using Tensorflow and quickly ran out of time for the assignment. So, I would definitely recommend starting as soon as possible on the final project because it requires a lot of research, coding, testing, compute time, etc.

    Overall, I really enjoyed the class though and gained a lot of experience using NumPy and OpenCV. So, I would definitely recommend taking CV (probably not as a first course however) if you are interested in working with images and video using Python and some machine learning!


    Semester:

    CV was my third course in this programme, after AI and RL, and it was about on par in terms of difficulty. There were 6 homework assignments, 1 project and 1 final exam. Most of the assignments were pretty cool, but the amount of hyperparameter tuning to get good results for some of them bordered on excessive, IMHO. In addition, although some assignments had questions for which you had to provide an answer in text, the quality of the grading seemed a bit dubious - I didn’t think I had very good answers to all of them, but somehow always managed to get full credit.

    The CNN final project was a lot of work, so I suggest starting early if you’re new to deep learning, and also if you don’t have a GPU with a lot of RAM (say, around 8gb) and intend to use the Google Colab GPU for free. This is because Colab restricts GPU usage if you use it for too long, which will happen as you try out different architectures and hyperparams while training and testing your CNNs. I ended up spending quite a bit of time being stuck and having to wait to be able to use the Colab GPU in order to continue working on my final project. However, the grading for the final project turned out to be quite lenient, and the final exam isn’t hard either.

    Like others have said, Prof Bobick’s lectures in this course are excellent. I consider them as good as the lectures for courses on Stanford Lagunita and MITx (edX) that I’ve taken in the past. It’s a bit of a shame that he doesn’t cover CNNs, since the lectures were produced several years ago. There was also a really good past TA (Matthew Houston), who had recordings from 2017, of easily the best TA office hours I’ve ever seen. Because of that, I didn’t feel the need to interact with the actual TAs in my semester at all.


    Semester:

    Very interesting and well-run class. All of the projects are well put together and require the full two weeks to get working. Tons of lecture videos and really not even a semester is enough time to go through all historic computer vision methods. Note - no deep learning is discussed in this class.

    I choose to do the EAR final project which was relatively easier than the CNN project (don’t do CNN unless you want to burn many hours!).

    The final test is kinda lame. Open book which means go scour the internet for answers. Other than that, would recommend!


    Semester:

    This course packs in a lot of content and most of them are rarely useful. The assignments do not focus on the material, rather puts more stress on learning python and open cv libraries. I would rather steal the code and spend time understanding the material and coming up with a report, similar to the Machine Learning course by Charles Isbell.

    Also, I hate the final exams which ask questions that are negative. For eg. “Select all that are INCORRECT about something”. Also, there are questions that are tricky and confusing which wants you to make mistakes.

    Of all the courses I took this course and Computational Photography are the worst in terms of the quality of the assignments and the projects.


    Semester:

    A great course with Prof. Bobick’s excellent short and well structured lectures. Out of all the courses, this one has the best structure for lectures. The assignments are typical of Prof. Issa’s course structure with auto graded assignments and a short report. The report has strict space and structure adherence, which is good and bad :)

    The final project is the highlight of this course. With 2-3 weeks and a spectrum heavof topics, this is where the application of the learning can be demonstrated well.

    This is a busy and heavy course, with regular assignments, papers and lectures and pairing it might not be a good idea.


    Semester:

    My favorite course in the program, and also the hardest I’ve taken. This is a survey course of foundational computer vision concepts. The projects complement the lectures by having you implement or evaluate many of these concepts in Python using OpenCV. You will develop good experience working in Numpy and OpenCV during these projects. There is a ton of linear algebra in the lectures, but as long as you can remember basic principles you can get through the projects and exam just fine. More details:

    • Lectures: There is a HUGE amount of lectures to watch, but they are clearly explained and relatively entertaining.
    • Normal Projects: There are six normal projects, each of which focuses on one concept from lecture. Each project has an auto-graded portion, and a “report” portion that is mostly just generating artifacts from your code, with a few short-answer questions. The instructions are hard to follow at first, and the report generation is annoying (all Latex based), but it’s consistent within the projects so after the first couple it’s not a big deal. The topics are:
      • Warm-up with OpenCV
      • Detecting shapes
      • Projections
      • Motion detection
      • Object tracking
      • Classification
    • Final Project: This is a relatively unstructured project that you select from a menu of 5-6 options. It must be done in Python/OpenCV, but otherwise you are free to write code how you see fit. Deliverables are a report, a video explaining the projects, code, and various artifacts. The lack of structure is a pain, because Piazza is swamped with questions and all the little details are stressful to manage. It’s also a HUGE amount of work (> 30 hours for me) but interesting. Topics were:
      • CNNs
      • Image Projection
      • Classification under adverse conditions
      • Stereo correspondence
      • Activity Classification
    • Final Exam: The final was clearly focused on encouraging you to review the lectures. Open notes, open lectures, all multiple choice concerning key facts from the lectures.


    Semester:

    The work load was very high. The lectures were awesome, although there are too much of them. There were 6 programming assignments, 5 of which consume around 20 hours and rely heavily on parameter tuning. I was able to learn a ton of concepts and gain proficiency in Python, just by coding the assignments. The constant stream of lectures and homeworks will keep you busy for the entire semester, but it is worth the effort. The class sticks to traditional approaches of solving problems in computer vision. We were provided an opportunity to implement CNN in the final project. My advice is to not put things off up until the last week of the project and start as early as possible.


    Semester:

    Solid course. Lectures are awesome. material is very dense. Projects are interesting and may take some time depending on how diligent you are. EAR final project was interesting and had a nice workload. folks who did CNN seemed overloaded though. The main instructor was 100% absent. TAs were not terrible but were not the best I’ve seen in the program. It helps to know Numpy in advance, otherwise you can pick it up as you go. Projects involve loooots of tuning. The workload ratio like 20% coding 80% tuning. Slack channel was super useful, make sure to join. Bob is a gentleman and ex-student whose advice helped students a lot.Thanks again Bob !


    Semester:

    Really loved the course, I actually used the final project to propose to my wife :)


    Semester:

    Cool course. The lectures are a little too rushed so probably you’ll need to rewind and watch them again. No group projects.


    Semester:

    This class was great. Lots of video lectures with a broad range of topics but Prof Bobick & Megan did a good job explaining them. The projects were interesting and the Slack channel kicked butts!

    Some people spent a lot of time doing the projects the “right” way, I took some shortcut to get an A with the least effort but still learned A LOT and felt comfortable with CV techniques now.


    Semester:

    Loved CV, overwhelming amount of content but very interesting


    Semester:

    Love the class, it is well organized and the assignment instruction is clear.


    Semester:

    I really liked the class. Irfan Essa the professor was not really around so the class was mostly run by the TA’s. However the lectures that were recorded by Prof. Bobick before he left GT were really well done. Those were probably the highlight of the class.


    Semester:

    You’ll learn a lot, but mostly on your own. Prof Essa is not involved and the TAs, while doing their best, are pretty perfunctory about their duties. There were no office hours, and many questions on Piazza received far more useful answers from other students than from the TAs (if they responded at all).

    The assignments are fine, though you end up having to do a lot of parameter tuning to get good results which generally count for 50% of each assignment’s grade in the form of a report. The final project offers several choices of topics; people overwhelmingly choose the CNN option to gain experience with neural nets, but be warned that it’s a LOT especially if you have no deep learning experience.

    There is a ridiculous amount of lecture videos by Prof Bobick (who’d previously taught this course). You can get away with not following all of them in-depth, especially since the final is open-book.

    I think this class is worth taking but didn’t find it particularly enjoyable. I also took it alongside AI and there was a decent amount of conceptual overlap towards the end, so you might consider pairing the two if you have the time.


    Semester:

    I really enjoyed this class. There was so much to learn. The assignments were really challenging, but the questions build off of each other. They were really fun do! I highly recommend watching all the office hours, as they helped tremendously in understanding the algorithms and formulas. I also highly recommend making use of piazza and slack to ask questions, knowledge sharing is quite liberal in this class, but you of course need to make it your own. However I will say that doing the assignments were quite intense. I took nearly the full two weeks for each assignment, and as soon as I finished one, the next one was made available. So there was no break essentially. For my final project I chose CNN, which was the toughest one of them all. I wasn’t able to delivered the desired results, but was able to get a decent grade out of it because of my report. The final felt a bit disconnected. Most of it was on concepts that you didn’t really work on for the assignments. They were concepts discussed in the lectures, but I didn’t have time to really go back and study for the final. Overall I was really happy with this course.


    Semester:

    This course covers a ridiculous amount of material. All of it seems justified, however. The assignments are difficult, but occasionally creative. Some of the assignments require a lot of parameter tuning, which isn’t really that satisfying. (You just try different values until you find one that works for mysterious reasons.) At least a few of the assignments are really well-constructed and allow you to make interesting choices about how to approach solving the problem.

    The lectures are well-done, but there are a lot of them. The quizzes on Udacity are done in Octave, but the class has been updated to use Python (thankfully). The TAs have converted the quizzes to Python and posted them to a GitHub, but it’s a bit of an annoyance compared to just being able to do them in Udacity.

    There is a big, time-consuming final project at the end. I wouldn’t pair this class with anything anyway, but if you insist on doing so, try to pair with a class that tapers off in the last couple weeks of the semester.

    The final exam is open-book and comparatively easy. Overall, this is an interesting, rewarding, and challenging course in the program. Take it!


    Semester:

    This was the most challenging and rewarding course I have taken so far. I’m not sure how much I’ll get to apply the concepts I learned, but it was at least fun. There are A LOT of topics covered and I feel like I really only got a deep understanding of the few used in problem sets.

    There are problem sets due every other week and I thought they were designed very well. The tasks seem impossible at the start, but you are provided a template and tests to make sure you are on the right track. At the end of each I always felt very proud of what I had put together. I came into this class with some python experience and I was able to complete most problem sets in one (very full) day. My advice is that if you are ever really stuck on a problem set, to go reread the piazza post or the assignment document. Almost every time the answers to my questions were in one of those places.


    Semester:

    Great class, the lectures are dense and filled with content. There is a constant stream of projects every 2 weeks however they are interesting and challenging. My favorite course in the program thusfar.


    Semester:

    This class was intense. The projects were on a medium-hard scale (already had some computer vision experience) but the lack of breaks made the overall class challenging. I would The first couple projects are fairly simple, make sure to get as high of grades there. The latter projects become more challenging. The grading on the projects are very far. If you put in the time you should be fine.

    The final project is a monster (especially if you pick CNN). Three weeks are really not enough time so make sure you start ASAP. But if you do pick CNN you will learn a lot and I think at the end you will not regret it.

    Do expect to put in a lot of time for the projects. I wouldn’t pair this class up with any other classes.

    great class though! highly recommend it!


    Semester:

    I loved the course content and the lectures (although, like all these lectures, they’re too high-level to help with the assignments very much). The assignments flowed nicely in difficulty but the organization of the staff/TAs was a bit of a mess. A lot of misinformation and conflicting reports of what was allowed (ie libraries, specific functions…). Also, assignments weren’t always released on time which was pretty annoying for those of us trying to front load the course content. Oh, and there were always typos/errors in the assignment code. Overall, I liked this class but not because it was well run but because the content and assignments were really neat. A lot of the situations were pretty contrived (like identifying traffic signs that were drawn in MS Paint…) but they really helped demonstrate pretty core concepts. Can be a lot of math. Get used to working heavily with numpy to vectorize/optimize your code. There are functions that you need to write by hand where the computation time is a factor so it may work but if it’s not optimized, it will still fail.

    The only other thing I would say is a lot of the auto-grading is a pain in the ass. There are few assignments in particular where you need to have your output formatted just so or it will fail and it’s not always clear why you are failing.

    But again, if you are interested in CV, take this class!


    Semester:

    This is one of the toughest courses in OMSCS, but very rewarding. But you are at GaTech, so it’s not going to be a stroll in the park!

    This course gives a good taste of the toughness that you’re going to expect in some of the other courses (at least in the ML specialization). Not to scare folks, but towards the end of the course, it was literally soul-wrenching for me as remarked by one of my fellow students in the Slack channel.

    If you want to have a life when taking this course:

    • Go through all the udacity lectures beforehand if possible
    • Refreshen up your probability, linear algebra, calculus (really important)
    • Get some idea of deep learning (TF/PyTorch/Keras) if you plan to do CNN based image detection for the final project.
    • Start the projects first and then try to chip in time to finish the lectures. If you haven’t accomplished the first point, don’t plan to complete all the lectures before you start the projects. You’ll be in trouble.

    The fellow students are the actual drivers of the class. The instructor for this class as mentioned on Buzzport was almost never around on Piazza, but frankly, that was not a dampener for me as we had a very active Piazza and Slack group. TAs managed the class well.

    As also mentioned in some of the other reviews, this class is more about classical CV and not the new DL based technologies that are prevalent these days. This fact should not be a hindrance to opt for this class. There are certain things that classical CV can still do better than the new DL approaches. Having a good introduction in classical CV would, in fact, be a plus when you start working with new DL based approaches.

    The projects were interesting and a good learning experience. Be warned that your solutions may not work in your first implementation itself. You would be required to do a lot of fine tuning to get your solutions working perfectly.

    I fared poorly in one of the projects. In addition to that, having no prior experience in CNN I opted for it in my final project. It was a struggle towards the end and I thought I would be getting a C. However, the final project grading seemed to be lenient and that saved my day. I managed to get a mid B.

    It was all worth it in the end.


    Semester:

    The projects were great and a lot of fun. Be prepared to do a lot of work, but not coding work mind you– tuning work. You are told from the beginning that the algorithms are not all that great at solving the problem and you’ll have to abuse your knowledge of the problem domain to tweak every parameter just right to get any kind of satisfactory results at all. It can be annoying, but you’ll wind up with a tremendous sense of accomplishment when you’re done.

    As an EE major, the lectures were too hand-wavy. It would have been nice to get into the nitty gritty detail of the math behind the algorithms, but I suppose there’s only so much information you can pack into lectures and still cover all the material. As others have said here, the slack group is mandatory, since piazza is kind of a wasteland of pointless questions. Regardless, the slack group was ever present to answer questions almost any time day or night.

    Bottom line: You will have to invest a lot of time and it ain’t a cakewalk by any stretch. You will however learn a great deal and you’ll be happy you took the course.


    Semester:

    Recommend familiarity with Python and numpy. Computational Photography is a good precursor to this class including some project work that is almost identical between the two for one of the assignments. A good class if you find imaging at all interesting. Touches upon several machine learning areas as well.


    Semester:

    Fantastic course, I enjoyed the learning with great support from TAs and lots of videos to watch (start early). Exams are fairly easy (open book) and projects are long. Very time-consuming course.


    Semester:

    This was my first OMSCS class. It was overwhelming at the beginning. But you gradually start getting used to it. It was an extremely fun class. The assignments were well structured. It helped gettings concepts clear. The project was time-consuming but depends on the one that you select. Do not combine this with other class if you have a very tight schedule. It normally demands around 20 hours per week.


    Semester:

    TLDR: Great class where you’ll learn a lot, but you’ll be putting in a LOT of time too. Helps to walk into the class as a numpy ninja (in python) with a good grasp of linear algebra.

    The number of lectures alone are pretty significant, but they’re not all necessary for completing the problem sets. A lot of the theory will probably sink in better with a good understanding of linear algebra, so preparing with Khan Academy or some other source might be beneficial if you have the time before the course starts.

    For perspective, my undergrad was Electrical Engineering five years ago, I had no exposure to numpy, little exposure to python, never messed with docker, and never did an undergrad class exclusively on linear algebra. This was my fourth class and was far more challenging than the prior 3. Having said all that, this class is still doable. I struggled, but got a B. If you are a recent CS undergrad with good knowledge of python, numpy, docker, and linear algebra, then you’ll probably have an easier time. Taking this course after Computational Photography also seems to be a good sequence. I didn’t do that myself, but people in the class who did already seemed familiar with a decent number of the concepts we covered.

    Problem sets comprise the majority of the grade and can take a significant amount of time too. Each one is 15% and there are 5 total (6 if you count the 5% starter one). The pace for the Fall semester was a relentless pattern of two weeks for each problem set. Prior to the real problem sets starting you’ll do one that counts for 5% and basically just ensures your environment works and you have some familiarity with basic concepts. Ideally work out all of your environment issues during this low-threat problem set. Last thing you want is to be stressing about your environment when you want to be focusing on problem set problems. This semester used a docker environment, so getting some familiarity with docker in advance would probably be beneficial. Alternatively you’ll probably have classmates familiar with docker who will be helpful on piazza. Python and Numpy are used extensively in the problem sets, so doing some kind of tutorials on numpy usage in python in advance would be beneficial.

    Final project and final exam are each 15%. You choose one of 5 possible projects. I did the one that intersected with convolutional neural networks. I knew nothing about CNN’s going into it, but learned a lot along the way. If you are interested in doing a machine learning heavy project then I’d recommend becoming familiar with libraries like tensorflow as well as cloud environments like AWS, Google Cloud, and/or Floydhub. The projects are fairly open ended, so they’ll force you to learn a lot about a more cutting edge Computer Vision research area. After 5 problem sets you’ll be used to allocating a lot of time to this class, so just expect the time commitments to this class to stay constant or increase when you start the project. For the test, this is where you will probably need to go back and gain some familiarity with the lectures you may have missed. Still, it is in a fairly forgiving format, so it is a lower threat gauge of your familiarity with the topics. You can get a B without knowing all the topics inside out.

    Overall I would recommend taking this class because you will learn a lot about this interesting topic, but be prepared to commit a lot of time to it.


    Semester:

    CV is a wonderful class with robust projects and content. But it is extremely hard, and that is mostly because of my lack of python, numpy, or OpenCV experience before this class. If you’re in the same boat, think hard about this decision before you do it because you will be overwhelmed and challenged. In the end, it worked out for me and I hope that it does for you as well. One thing I like to provide in reviews are the project difficulties and some tips.

    1. Every two weeks you get a project. Do not waste time in the beginning and do not misjudge PS1 – it is easy and that is the only easy project you get this semester. In order of difficulty, I would say PS2, 5, and 7 (final project) are the hardest, requiring over 30 hours of work to complete.
    2. PS2 is a monster of a project. It took me greater than 50 hours of time to complete. Get started on it as soon as possible. I think they did this to weed out people from the class. For example, my class lost a hundred students to that project. It wasn’t as bad as other semesters because we got an extra day to submit due to Bonnie troubles. I spent several long nights getting it to work and somehow got a 98 on it.
    3. The TA’s are pedantic. You need to strictly follow their rules regarding the report. You put an image outside of the box, or too big for the box, you get points off. Also, make sure to answer every facet of the question they provide to you. They are sticklers for the details.
    4. The final is open book, but don’t let this fool you. The breadth of content is staggering. Do yourself a favor and go through the lectures the week they are required. What I normally did was skimmed through non-project lectures, and took time in the project related lectures.
    5. To anyone who says the study guide isn’t a solid representation of the test is dead wrong and probably did not use it. Create your own study guide and fill in all the answers, using the shared key as a last ditch. I assure you, simply doing this will get you at least half of the questions on the exam directly.
    6. Use slack. This is a no-brainer. The TA’s are specifically instructed not to help you in most situations. Using the slack channel, I made exactly 0 requests on Piazza and ended with a 99 in the class.

    Best of luck to you and I hope you enjoy CV!


    Semester:

    Pretty good class. No complaints.


    Semester:

    This is for Fall 2018. I’ll update it when the dropdown works. :)

    This class is a fast burn and doesn’t let up. It’s worthwhile in the breadth of topics it tries to convey, but there isn’t enough time spent to get a good understanding beyond – ok, it’s implemented and now I have to twiddle a bunch of dials to get the project working and… oof, on to the next one.

    Lots of projects, lots of topics.

    The lectures are really good. The math is important and applied well (Linear Algebra, some Taylor Series, some Fourier Series, some Probability).

    Definitely a graduate-scope class.

    The final was a little disappointing (m/c) and the automated code grader was a little restrictive, but it was definitely a full plate or two from the gamut of the CV buffet from 5-10 years ago. Necessary if you want to do any image processing or CV work or modern machine learning. Still not the state-of-the-art.


    Semester:

    Are you ready to find Mitt Romney’s hand?

    The assignments will compete with your free time, especially if you lean towards being a perfectionist. Some assignments were more interesting than others. Most assignments left me with a feeling of “Eureka!” once I figured out the tough parts. The more time I sunk into them, the more rewarding it felt. Yikes.

    Finishing the final project felt fantastic but there were times I wasn’t sure if I’d make it through - there was a lot to learn independently in a very condensed amount of time.

    The bulk of the subject matter will make you “appreciate” the development of CV throughout the ages. It isn’t until the final project that you start to appreciate how neural networks have (arguably) turned the field on its head.

    It was very fun to strugglebus through this class with digital classmates on Slack.

    I will never look at Mr. Romney’s hand the same way again.


    Semester:

    This is an amazing class. The heart of the class are the numerous and long projects which you need to start early. As one person put it: most classes are about the lectures and you have to fit in time to do the projects between lectures, this class is about the projects, you need to fit in some time to do the lectures between projects.

    The lectures are very good. The projects are fun, interesting, and relevant. They are also very well set up (unlike many courses in this program). The teaching staff is helpful to some degree, but I got the best experience by watching the Spring 2018 videos by Matt Houston which the TAs shared with us. That really enhanced the class and made the projects more doable.

    There is some criticism that the material is no longer relevant in the era of Deep Learning. I disagree completely. While DL is useful for certain CV problems, CV is much more than that. Techniques like Kallman filters, Particle Filters, and general knowledge about image processing, homographies, and hough circles are as relevant today as they were in the past. In fact, this class would be good prep for a DL class.

    The workload for this class is quite considerable. Expect to find yourself working on these projects for 20-40 hours. Don’t leave the project for one weekend. Its not enough.

    Final veredict: Do this class.. the projects are great fun, you’ll learn a lot. I highly recommend it. Of all the classes of the program, this may very well be the best one

    Useful classes to take before this one: I found Computation Photography was good prep for this class. Also some topics of AI for Robotics. If you’ve ever taken a Graphics class its helpful too because of all the linear algebra.


    Semester:

    This course was amazing. If you have any interest in Computer Vision, graphics, or linear algebra, do not hesitate to take this course. Interestingly enough, project 2 was one of the hardest projects of them all - perhaps to be used as a weed-out project? - but for the most part, each project was sufficiently interesting and challenging. Overall, the class was medium to hard difficulty for me, personally. Some of the projects were harder than others. The final project was quite challenging as we only had one extra week to complete it vs. the other projects - yet the workload was significantly higher. Still, I loved every bit of this class, and I highly recommend it to anyone that’s even slightly interested.

    I would recommend taking Computational Photography first to get an intro to image processing. That helped me tremendously on some of the assignments. I would also recommend being familiar with Python and Numpy.


    Semester:

    Good class. Lots of information provided in the lectures. Assignments were difficult (mitigated by the details/hints provided in the office hours.) Open book exam was also difficult.


    Semester:

    Great first class that showed me an area of computer science I was unfamiliar with. Lectures were well-done and engaging and the projects were very cool.


    Semester:

    This course was really fun for me: watching my algorithms successfully (or not) manipulate images or videos in python was very satisfying. When I took it, there was an easy-ish 95% obtainable on each homework assignment by implementing exactly the algorithms described in the videos and a 5% “challenge” section which involved some creativity in modifying those algorithms.

    A good understanding of linear algebra would help you get the most out of this course; however blindly applying the matrix multiplications shown in the lectures will let you pass.

    I had taken the course in hopes of learning Matlab, but the assignments were all done in python when I took the course (though the lectures and quizzes were still done in Matlab).

    I wish I had held off a few semesters, I understand deep learning is briefly applied at the end of the course now.


    Semester:

    Every 2 weeks you will have assignment and you cannot front load assignments . Keep some buffer to tune parameters to get desired results . Course content spans over lot of syllabus and you need to spend good amount of time to watch lectures . Make sure you don’t miss TA hours , TA’s are very helpful in clarifying doubts and providing hints to start assignment .


    Semester:

    Class was amazing, learned a lot about Computer Vision without having a previous background. The projects were pretty intensive, I would manage to solve them the weekend before they were due (without doing much else in those weekends :) ). The obvious recommendation is to start the projects early and not do like I did. It worked out for me…


    Semester:

    Other reviews here are accurate. Lecture videos are really good, content is great, and course management was pretty terrible. Might be a symptom of switching instructors and switching to Canvas at the same time, but homework was returned obscenely late until the last couple which made gauging how you’‘re doing very tough. Piazza was astoundingly bad. Slack, the lectures, and the interesting subject matter saved this course for me. If it had been my first course, I might have wondered where my money was going.


    Semester:

    Very nice class on good old fashioned computer vision. No convolutional neural networks in this class (except for the final project, if you so desire!) but you will get to learn many of the cool insights that computer vision researchers came up with before deep learning was a thing, and that’s still quite valuable.

    Overall the assignments are very interesting and cover a wide array of CV techniques. One of them (I believe assignment 2) is a lot more time consuming than the others, but overall they are all reasonably sized. Be careful about the final project though! If you take the deep neural net project, lots of people had trouble getting it to work in the required amount of time (fortunately I managed to do it).


    Semester:

    Overall I liked the course. I had no former education in Computer Vision, and I thought all CV was basically ML, which turned out not to be true.

    The projects are good and challenging. The lectures are very entertaining and well done. That’s what saved the course for me.

    TA engagement was kinda poor, and the Prof. was absent for all the time and only showed up in the last few weeks of the semester. I owe all my learning to my fellow classmates.


    Semester:

    Content - Very dense and overwhelming. Videos are sufficient (books not needed). Engaging and tactfully glosses over the math-heavy parts so that you are not totally lost without trivializing it too much. NOT very relevant in terms of current state of technology used in the field.

    Prof and TAs - The Prof made exactly 1 appearance and TAs were not very prompt. It would have made a lot of difference if the prof and/or TAs could use office hours to augment the video content with current day relevance, or expand on difficult topics etc. Because of lack of their involvement, the experience was not very different from watching yet another MOOC video.

    Assignments - There were 6 - barring a couple, most very fairly hard. Success in this course is just a function of time you put in. Sometimes I had to watch the same lecture more than 5 times to spot what mistake I may have made in the implementation.

    Final Project - Very time consuming, but it is the only time you can work on a non-cartoon problem and get exposure to industry standard problems and solutions

    Peers - Very very helpful. I survived a couple of assignments thanks to many of their suggestions.

    Overall, if you are interested in the subject, you must take it. It does a very good job at introducing you to the fundamentals. But you need to work on your own to fill in the gaps between the state of the art in 2015 and 2018. Better administration could make this a MUCH better course.


    Semester:

    This is a good intro into CV(OpenCV will be your new friend). The material is really dense and it covers a lot of relevant topics. You could spend upwards of 6+ hours every week to really grasp the weekly lectures. There are 6 bi-weekly projects which can easily eat up your time. So you may end up paying more attention to the lectures related to the project and skim the rest. The project implementation goes hand in hand with the lectures. Everything you need are in those wonderful Bobick lectures. Aaron Bobick’s lectures are great. He keeps the topics engaging and breaks it down into understandable segments. The project topics covered a range from basics of image processing, hough transforms, homography, motion tracking, optical flow, classification, detection,etc.. One topic that was genuinely missing was deep learning methods like CNN, R-CNN (supervised learning SVM is part of the course).

    You have 5 choices for your final project. This is seriously time intensive (depending on your topic). There is a CNN topic for the final project which gives you chance to dive right in on your own. I loved it however it would have been nice to have some of the concepts being part of the course.

    Cons: The professor(Essa) was no where to be seen till week 8 or 9 after which he made a cameo appearance. All the lecture topics are slightly out dated. The TAs and their responses were mostly binary however there was a very active Slack group which kept my spirits up.


    Semester:

    This course never claims to be similar to Stanford CS231n. It mostly teaches traditional (real) computer vision with machine learning element in some topics. (So I was a bit surprised that now it is a course of ML specialization). Personally I like this aspect more. There are a lot of smart ideas which inspire my ways of thinking.

    Linear algebra (a rough idea about what’s happening) and numpy skills (vectorized operation) will help you with this course. And Be patient.

    Regarding the comment below that “He openly stated he told TAs not to help students with questions”, I think the professor means(and he did say) that he encourages discussions instead of feeding you answers directly. My observation is that if I ask “will I be punished if I use this function in my assignment”, TA will answer it very fast. But if I ask “is algorithm A/parameter A better than algorithm B/parameter B for this assignment/project”, usually I will not get an answer from the TAs directly (but usually this issue has been discussed somewhere else in the post). I understand it might be a pain if you are rushing to a deadline but I think it’s fair for effective learning. I learnt a lot by discussing problems with other classmates. But of course it would be better if TA/professor can give some conclusion remarks on some of the discussions.

    Overall after taking the course I respect computer vision more as a science. I am glad the course is not designed to be an opencv or tensorflow tutorial.


    Semester:

    The course material hasn’t been updated in a while. The current professor is reusing the old professor videos without modification. The current professor also only appeared once or twice the entire semester and when he did he was unprofessional and extremely rude. He openly stated he told TAs not to help students with questions.

    While you will learn some interesting things, none of it will be state of the art, and you won’t know whether you are even doing it the way it should be done due to non-existent teaching staff. Had this been my first class in OMSCS I would have regarded the entire program to be a scam and a joke.

    Read a book or watch youtube videos instead of taking this class - it will be less stress and more useful.


    Semester:

    The course material is old. Dont expect to learn anything state of the art. However, some concepts are important IMO.

    The worst part about this course is the professor. Prof. Irfan Essa, is one of the rudest professors I have seen in academics. His presence in the class is negligible; the course would be better off if it was none. The only time he appeared on Piazza was to let students know that “the TA’s are not supposed to answer students questions” I have seen Coursera and Community college professors more enthusiastic and involved in their courses.

    My suggestion: Wait until the prof is changed.


    Semester:

    tl;dr

    Challenging & fun course. Great material. Course management: not great but not terrible.

    Overall

    This was my first semester in OMSCS. And my first college course in 20 or so years. I found the lectures pretty engaging overall. I had no experience with CV, no linear algebra since HS, limited experience with Python, numpy, Tensorflow, and Keras, so I learned a lot in this course. The problem sets were challenging. The specifications could have been clearer. I really struggled with the second problem set and wondered if I was cut out for the class. Then I discovered the Slack channel. Saved my life. Seeing how others approached the problem sets (and how they interpreted the sometimes vague, sometimes incorrect assignments) helped me not get too far into the weeds.

    Problem sets

    A lot of the problem sets, at the heart of it, were translating formulas (and occasional algorithm flowcharts) to Python. Sometimes I understood the fundamentals, sometimes it was straight up transcription.

    Course Management & Piazza

    Piazza was pretty much a dumpster fire. Hard to believe anyone would choose it as a tool. TAs were occasionally helpful, often terse. Lots of questions went unanswered. Trying to navigate Piazza made it not worth trying to get help. Prof. Essa was in absentia until the very end when people got upset. He was also disingenuous by suggesting he told TAs not to reply so students would help each other out. I’d have believed that if it wasn’t offered as a post-hoc excuse.

    Final project

    The final project (I chose the CNN one) was very challenging. I learned a crap ton, even though my results were pretty much worthless. I thought I might have tanked it but ended up getting 100%. Probably because I documented it well in the paper. And because I did a lot of research up front and tried to base my approach on current research.

    Exam

    Exam was challenging but not terrible. Open book. Which was helpful. I spent a good half-day reviewing the lecture transcripts (helpfully put together by a fellow Slacker) and the lecture slides. Lots of ctrl-f of course. Managed to eke out a B on the final and a high B for the course. That included slacking for a week of vacation and getting a 61% on one of the problem sets.

    Advice

    1. Make sure your linear algebra and calculus fundamentals are strong. It will help you truly understand the material.
    2. Make sure you have a pretty solid basis for numpy, especially how slicing and reshaping and such works. Lean on numpy vs. for loops.
    3. Spend a few hours at the start of the course getting a high level view of the history and current topics in CV.

    note: my workload is based on actual measurements. I spent 171 hours on this course total including administrative work like registration, watching lectures, reading research papers, problem sets, peer review, final project, exam, time on Slack


    Semester:

    This was a challenging course, and a time-consuming one. I still generally liked it, however, since I ended up learning a lot.

    Dislikes

    • Lots of lectures, not all are really great. They could have better explanations.
    • Some homework felt like parameter-tuning busywork.
    • Usual gripes with unengaged professor and hit-or-miss TAs. YMMV on the TAs.
    • Final project is potentially HARD, depending on what you choose. Over this period of time I spent around 120 hours on it over 2.5 weeks, on top of working full time, and still did not end up with a product I was very proud of.

    Likes

    • Concepts were really fun. Useful for applications from robotics to search to AR, etc…
    • We did learn a lot.
    • Final project option included convolutional neural networks, which are close to the state of the art in the field. Most grad classes start with “historically important” primitive concepts that are then built up into larger, better systems, and never get to the true state of the art in the field. It was awesome to have the option to learn about these a bit.

    Bottom Line Hard class, big time commitment, learned a lot, would still take again.


    Semester:

    This course was terrible, please just take a course on Coursera instead.

    Pros:

    1. Valuable hands on experience with Numpy and OpenCV.
    2. The lack of TA support meant I met a lot of cool people via Slack.
    3. The course material has been refined over many semesters.
    4. You get to choose between several topics for the massive final project

    Cons:

    1. Prof Irfan is a joke (i.e. no interaction from the professor at all).
    2. The projects are absurdly difficult; the TAs are useless and do not answer questions.
    3. There are 40 hours of lecture videos. They could easily have condensed the content to 10 hours. There is so much irrelevant content that they waste your time with.
    4. The rubrics for each project are HIDDEN from you; you will be graded by that rubric and lose points.
    5. At the end of the day, the topics you get from this course are not very useful. Just buy a book on CV and read it.


    Semester:

    Took this as my first course in OMS. I had almost zero experience in CV, but had a lot of experience in python and numpy. There are a LOT of lectures. LOT of content to cover. The lectures were done by Prof. Bobick (who is no longer with GaTech), he makes the content interesting it by explaining concepts clearly and breaking difficult concepts into small, simple and easily digestible chunks of information.

    There are 6 assignments, 1 final project and 1 exam (worth 15% of your grade). The assignments do a good job of covering all the important and interesting concepts of the course. Some assignments are difficult in the sense that - you can get it “working” relatively well, but to get the output they expect you’d have spend A LOT (extra emphasis on lot) of time parameter tuning. The exam was open-book, but don’t let that fool you! you still need to have a good grasp of a pretty much the entire syllabus to do well in the exam!

    The final project requirements are not straightforward. There is a lot of emphases was placed on your report - you had to read papers and follow strict requirements for each project topic.

    The TAs were helpful in Piazza in the beginning, but the activity kinda fell off after the first few assignments IMHO. Prof did not interact with the class via Piazza during my term. The Slack group was a godsend. Discussions on slack with other students was what helped me through the assignments.

    Overall, it’s an interesting course. CV is a very widely-applicable subject and I suggest if you are planning on having a career or doing research in ML or similar fields, do take this subject!


    Semester:

    This class was intense and difficult, but it was also a lot of fun. Very interesting material that was presented in a clear and sometimes entertaining way. It did seem like they tried to cram a lot of lecture material into one semester. Even the projects didn’t cover the last several groups of lectures.

    Final project was very difficult but it depends on your skill level and topic you choose, I guess. I was burnt out by that time from everything else going on plus the holidays, so I bombed pretty badly near the end. Still ended up with a high B in the class since I did well on the projects up to that point. Just stay on top of your stuff and you’ll be fine.

    I loved this class and absolutely recommend it. I don’t recommend pairing it with another course and I don’t recommend it as a first OMSCS course if you’ve been away from academia for a while.


    Semester:

    I took this as my very first OMSCS course by itself, and it was the perfect choice for that.

    One of the TAs described this course as “a whirlwind tour through Computer Vision”, and I think that is a very good synopsis. It focuses on “classic” (pre-deep learning) computer vision, though there is a final project option that uses KNNs. The lectures are countless (after I completed the first one, I thought I was done for the week, but then I looked at the syllabus and realized it was only one out of five for the first week) and dense, so you get a thorough understanding how each presented method works. Not much fluff or handwaving going on here, Prof. Bobick will explain the algorithms and the math involved in detail.

    The problem sets are challenging and time consuming, but also well-designed and motivating. At the end of each of them you’ll have something quite impressive to show to your friends or co-workers. About half the problem set points are awarded by the autograder, and the other half comes from the report which mostly consists of images and/or video generated by your code. So if you get all the points from the autograder, you’re almost guaranteed to get an A. So the outcome of the course is quite binary: either you don’t “get” the material or your coding skills are insufficient and you drop half-way through, or you’re able to complete the problem sets and get an A or B (the exam being the wildcard). Speaking of the exam, it was open-everything and unproctored, but still quite challenging. The assignments are only released one at a time, so front-loading is not really possible. On the plus side, everyone is working on the same stuff, so the collaboration (on Piazza) is better.

    In terms of pre-reqs, make sure to brush up on Linear Algebra (you should at least know what a system of linear equations is, for example). A little bit of Computer Graphics knowledge is also helpful, but not required. I did Pryby’s “Linear Algebra Refresher” on Udacity in advance, which taught me Python and Linear Algebra at the same time (without numpy, which I picked up during the course).

    If you have a full-time job, I would definitely recommend not taking a second course with this one (unless maybe if you’re a numpy master who does singular value decomposition in his head for fun).


    Semester:

    Great class, I learned a ton, very difficult final project. I suggest you have a strong grasp of numpy as you will not be able to complete the projects without it.


    Semester:

    This was one of my first classes in the program (along with Computer Networks)… I learned a lot in this class… but I feel like I could’ve learned more if we had the option of sharing code with others. Without certain necessary numpy skills some projects would take hours to run.

    For my final project I spent probably 120 hours on it and got it so that each “pass” would run ~8 seconds each, but I know other students got it down to single seconds each… but we couldn’t share code.


    Semester:

    This was an excellent class; very interesting lectures and course material. Dr. Bobick’s lectures are fun to watch and he does a good job of explaining the topics. There were about 30 hours of lectures which seems like more than some of the other classes in the program. It’s important to watch them before working on assignments since the implementation steps for some of the problem sets are directly given in the lectures. The TAs were great at releasing the problem sets and grades on a regular 2 week schedule. Matthew Houston also gave well prepared office hours that he recorded weekly which were very helpful. The final project had 5 possible topics and requires a lot of work; my advice is to limit your scope initially because you may otherwise try something too ambitious and not be as pleased with your results. The open note final was pretty straightforward. Taking CP first was very helpful for me since I hadn’t touched python in a decade and I wrote more code for the traffic sign detection problem set than I did in all of CP (including my final project). The overlap in some of the topics with CP also helped me feel more comfortable in completing the CV problem sets. I really enjoyed the class and wish there were more CV classes to take.


    Semester:

    This course made me question my sanity. The assignments are So. Hard. I have a degree in computer science and 4 semesters of calculus, but still could not decipher the mathematical formulas we were given to implement our code. I easily spent 40+ hours a week, 20+ hours spent trying to decipher the assignment. Some people claimed they finished assignments (even the final!) in 3 days - I spent every spare minute on my computer from the minute assignments were released to the hour the assignment was due, and I was still lucky to get a B. The course is great, really. I loved watching the videos, and you learn some fantastic state-of-the-art stuff, like sensing road signs for self-driving cars, to how to create special effects like you see in the movies. The difficulty comes from being asked to implement these things using just the math. You’ve introduced to the topic, the theory explained, the math given and explained, and then off you go! The problem is that none of that gives you an algorithm to implement. I found it incredibly frustrating to interpret the math, and in the end had to conclude half of it was nonsense, unless that large ‘E’ symbol means something other than sum, and every time they ask you to subtract the mean (average), they are just kidding.

    In the end the only reason I passed was because I ignored the formulas, looked at code off the internet, and got the source code for the openCV functions we weren’t allowed to use, and painstakingly over several days, went line-by-line through the dense C++ code, figured out what it was doing, where it matched with the formula we were given, where it didn’t, and rewriting everything into python.

    If you don’t have a lot of time, don’t take this course. You cannot skip a lecture, and will probably end up watching all of them several times, rewinding to go over some dense explanation. If, however, you do have the time, want to learn some amazing skills, and can decipher mathematical equations with ease, you will love this course.


    Semester:

    The instructor of record is Prof Essa, but the videos were produced by Prof Bobick before he left GT. The videos and accompanying slides are really remarkable. For most of my classes, you can find better video lectures online covering the same subjects. Bobick’s material is voluminous and high quality. It represents a really unique contribution to online learning. The volume of lectures is similar to a traditional lectures class – probably 3 hours a week – and it takes some effort to keep up. There are a lot of assignments. Expect to turn in a mini-project every two weeks with a full project at the end (given three weeks to accomplish). The TAs, Matt and Pedro, are fantastic. Prof Essa only posted a few times in the forum and didn’t hold office hours. The class is really well worth the time you spend on it in my opinion. It’s the highest quality of the seven classes I’ve taken.


    Semester:

    Took this as my first OMSCS class, without prior Python or OpenCV knowledge and sketchy Linear Algebra. It’s a great class, hard but for all the right reasons. Very well organized, and a fair grading scheme. No grading on a curve so everyone cooperates on Piazza (within the ‘no sharing code’ constraint). I could feel myself learning as the course progressed. Mind blowing feeling to go from knowing nothing, to knowing, uh.. something (Prof. Bobick style joke), and as an added bonus you will develop an internal clock that always knows AoE time. What makes the course hard? The sheer volume of videos to watch and assignments to complete in a short 17 weeks. Here’s my time breakdown by week measured by Toggl, so you can schedule your accordingly: 18, 20, 24, 26, 22, 31, 32, 21, 16, 15, 24, 24, 23, 14, 50, 31, 16. That 50 is not from leaving the timer running by mistake - it’s the time I packed in attempting to do the final project which I found incredibly difficult. The week before that with only 14 hours was the one I spent flailing around, despairing of being able to do the final project. Advice for others 1. Don’t fall behind on watching the lectures! Watch them all before doing the assignments - even without taking notes and/or at 2x speed. They might seem to not be connected to the assignments, but they open up your mind to things that will help you do the assignmets - and certainly will make a big difference preparing for the exam. 2. Start assignments the minute the day they are released. Don’t procrastinate because usually success in the assignments (especially if you’re a newbie) is more a function of time than anything else. 3. Make an effort to post questions to the Office Hours, or be familiar with the assignment so you can benefit more from them - Mathew Houston’s recorded OH were extremely helpful. 4. In the assignments, strive for 100% because the final project is 5 times harder than any assignment and you have only 3 weeks to complete it (took me about 85 hours to turn in something not so great), so it’s likely to bring your grade down. Some criticism: The assignments have a lot of starter code written for you, so you can learn Python and OpenCV as you go along, however, it would have helped if the Matlab quizzes in the lectures were replaced with OpenCV ones (but Pedro the TA did provide OpenCV versions for some of them). The biggest criticism is that because of the final project, there are no assignments on the later sections and I didn’t feel like I really learnt them.


    Semester:

    Incredible class. The material is extremely interesting, and the assignments/project weren’t overly difficult and really emphasized lecture material (although they were VERY time consuming). This was my first class in the program, but this course is probably one of the best courses I’ve ever taken! Including all of my graduate-level classes as well! Very rewarding, but very time-consuming.

    There is a huge amount of material covered. It helps that Dr.Bobick’s videos are not only incredibly well laid out and clear, but also quite enjoyable to watch. They’re also very thorough, so as long as you can fit enough time to dedicate to lectures (4-6 hours a week) you’ll learn quite a bit within each topic. Assignments matched the lecture material fairly well, and were for the most part well-defined and weren’t too confusing.

    Assignment breakdown with estimated difficulty / time consumption for those that like this sort of thing: Assignment 1 – easy; ~4-8 hours Assignment 2 – hard; 40-60 hours Assignment 3 – mid; ~25-40 hours Assignment 4 – mid; ~30-40 hours Assignment 5 – mid/hard; ~30-40 hours Assignment 6 – mid; ~20-30 hours

    We had 2 weeks to complete each assignment, and they were always back-to-back so there was really no break in between. Previous offerings of the class seem to have had additional assignments, but starting this term we had a final project instead of the last (2?) assignment(s). The final project had a few selection options, to further explore more advanced and state-of-the-art algorithms for methods we used in assignments and/or other material presented in class that we didn’t work on in assignments, and we were given 3 weeks to complete it. Many people thought there were too many things required to be completed for the projects, particularly the convolutional neural network project, so it could easily take 70+ hours to complete everything. A lot of the time spent on assignments and even on the final project is parameter tweaking. Be prepared to have fairly well designed algorithms in place, but spend loads of time tweaking parameter values to achieve optimal results.

    The final exam was open-book and the study guide was very representative of what you needed to know for it. It was a fair exam. As long as you can review most, if not all, of the material beforehand, and find answers to all of the practice questions in the study guide, the exam is not difficult at all. Questions tended to be pretty base-level, focusing mainly on overall concepts and important algorithm details discussed in class.

    TAs were for the most part responsive, but as others have noted, Matthew Houston’s office hours were a huge asset in completing the assignments. The forums were very helpful for finding out where to go when you were stuck and/or for discussing the assignments.

    I highly recommend this class, but be prepared to devote a lot of time to it. It would help to review some linear algebra, and numpy if you aren’t comfortable with using it yet. If you have some time, you could try and familiarize yourself with openCV 2.4 as well, as you’ll be using this package a lot in the class. Don’t wait until the last minute to start assignments, start on them early so it doesn’t bite you when the deadlines approach!


    Semester:

    As stated by others, this class is very hard but well worth the effort. This is probably one of the best classes in the program. In my opinion, The videos are definitely the best in the OMSCS. The material is dense but Dr Bobick cuts through the math and makes it digestible. He has a great sense of humor, and even his interaction with Megan (the videographer) cracked me up several times. Even the seemingly small detail of having a black background was well thought out, and make the videos not too straining to the eye. The problem sets are hard and you need to get on them as soon as possible. Beware of the first major assignment (Road sign detection) because it is deceivingly difficult, and the video tracking assignment which was super difficult as well. The final project will easily take up the time of 3 assignments put together. Matthew Houston definitely deserves high praise for his high-quality recorded office hours. To conclude, It’s a lot of work, but you’ll be glad you did it.

    As an aside, I was looking at the table of contents of the CV books on Amazon, and was amazed that the class covered MORE THAN ENTIRE BOOKS on the subject!


    Semester:

    This was one of the most difficult yet most rewarding classes I’ve taken so far. The workload is fairly large. There are a lot of lectures to keep up with each week, along with a problem set due every two weeks. The problem sets vary in difficulty and level of effort. Some took me as much as 60 hours to finish. Nonetheless, the problem sets do a good job of reinforcing the material covered in the lectures and help you develop a deeper understanding of it. Plus, the problem sets are interesting. Many times after finishing a problem set I found myself staring at the results in amazement. How many people can say they’ve implemented an augmented reality system and facial recognition software? I cannot recommend this class more highly.


    Semester:

    The content of this course is really interesting, though it feels to me like too much for one course - 30 hours of dense lecture videos exceed any class I’ve taken so far. The six projects had two week windows (plus a 3 week final project) and typically required tremendous effort, an average of 40 to 50 hours, and a peak of 70 hours for me. They mostly started off pretty cool - the coding was fun, the outputs were impressive - but typically had was too many parts, such that by the end the joy was sucked out of them. PS2 about sign detection was particularly atrocious in this regard. It just had way too much packed in. A notable exception was PS3 on augmented reality, which had a more reasonable workload (~30 hours), which allowed it to be strictly fun. It’s my understanding that they redid a bunch of the projects this semester and it sounds like they got harder. This also meant there were frequent bugs in provided code, though I’d imagine this will be less of an issue going forward if they keep the same projects. In my opinion this course would be better off either split into two courses or with a little less depth; I was just so fatigued by the end that I really didn’t enjoy it, even though the content is fascinating.

    I am surprised by the recent review which commends the instructional staff - this course has objectively the worst instructor interaction of any of six courses I’ve taken thus far. For example, there are a combined 320 unanswered questions or unresolved followups on Piazza, roughly 10x the next worst class I’ve taken by this metric. The ratio of instructor responses to student responses is 0.642 - I’ve rarely (never?) had a class below 1.0. There were commonly bugs in project code that would be caught by students, and the instructors would not post updates or even make conspicuous announcements about the errors to save hours of pointless frustration for students on already tremendous projects. The one glaring exception to this trend were TA Matt Houston’s office hours, which were excellent. The actual instructor, Dr. Essa, was completely absent - no office hours, no Piazza, etc. In fact, one of just two times he ever showed up on Piazza was to attack some students who implied that he was absent!


    Semester:

    Tough class, but interesting content and assignments. I previously took Computational Photography and felt like that was a good boost on some of the work. The material is dense, but the projects were all interesting (and challenging), and the final exam was open book so while very technical, it wasn’t too crazy.


    Semester:

    Spectacularly well-run course. These TAs should be the golden standard for TAs everywhere. Assignment descriptions are very thorough and the starter code has plenty of helpful documentation. Matthew Houston is a godsend. His recorded office hours are incredibly helpful for understanding the assignments. I stress the recorded bit especially because it is not always convenient for everyone to watch live office hours. I have taken ML, AI, and RL before this class. RL TAs were fantastic (especially Miguel), ML was decent, and AI was not that great. Great TAs and documentation make a huge difference in the quality of a class. You do not want to spend hours trying to figure out what is being asked of you for assignments, or what the starter code is doing because there is a serious lack of comments.

    The final project involves exploring state-of-the-art methods on computer-vision related problems. It was very demanding and time-consuming but well worth the effort. There were several topics to choose from this semester, with accompanying specific instructions.

    A guide was also issued for the final exam.


    Semester:

    Best class out of the 5 courses I took so far. Project2 to Project7 are intense, have to do a couple all-nighter along with helpful peer students on Slack. Office hours are extremely helpful as well. Definitely learnt a ton and recommend to everyone in the program.

    The only critique I got is that most of the technologies covered are fundamentals for modern technology, although important, there is very little coverage on recognition, machine learning/deep learning, which is what the industry is using nowadays. I had to spend the summer after the class to self-learn these skills from online resources to get prepared for interview questions. In fact, we talked about this at the end of the semester through Pizza and I’m very glad that the instructors and TAs are open to hear our thoughts. I noticed that the Fall 17 version has allocated 1/2 of the semester to recognition&Deep Learning. Not sure if this is only for on-campus students, but I really wish we covered that in our class.


    Semester:

    This is the BEST class I took. Excellent materials and professor! You need to be very familiar with python, probability, and linear algebra. The homework focus on programming your own functions based on the algorithms discussed in class instead of using existing functions. This really helps you to better understand how these famous algorithms work. Every two weeks I had to submit my programming project, so the time was tight and painful, but l could still handle it and definitely learned so much. I recommend this class to everyone.


    Semester:

    Excellent introductory course to computer vision. The video lectures are pretty long but equally interesting. Prof. Bobick makes it so captivating. Its almost like he is telling you a story. He breaks down the hard math part pretty well. This course covers more math than many other courses so be prepared for that (ref:http://omscs. wikidot. com/courses:cs6476). The problem sets are many(1 introductory & 7 advanced… kind of) and can be pretty tough. Thanks to Pedro (TA) for breaking it down for us. I’ve completed 5 courses so far & have not come across another TA more helpful & passionate than Pedro. I’ll credit him as much as Prof. Bobick for this course. You’ll learn a lot on fundamentals of CV, it’s applications. You’ll definitely learn a lot of Numpy tricks & openCV. Overall an excellent course if you are aiming for CP&R specialization or in general curious about CV


    Semester:

    Lectures were dense and there were a lot of them. Overall the lectures were pretty good and interesting. There were 7 projects. Second and sixth project were the most time consuming in my opinion, but not necessarily the hardest. A lot of the projects involve finding the perfect parameters to make things work and not so much programming. This was weird at first, but the point of the projects is really to teach you how the parameters affect the process. One open note final exam. Basically it was just there to make sure you had a basic understanding of the lectures.

    I pretty much watched lectures Monday-Friday and worked on the projects over the weekend. 2 weeks for each project. Workload was inconsistent. Probably 12 hours a week most weeks with some scatterings of 20 hour weeks.


    Semester:

    This was some of the densest material I’ve studied. The lectures were interesting, but so packed with material that it was difficult to absorb. Grade was determined based on 8 problem sets (partially auto-graded), peer feedback, and a final exam. Thankfully, the problem sets supplemented the material quite well, and helped me to understand some of the math and concepts that were discussed in the lectures. Even so, without a fantastic TA (Pedro) who hosted office hours every week to talk about issues in the problem set, this class would have absorbed much more time. To get over a 95% on the problem sets, you had to put in some work to show going “above and beyond” what was assigned. Typically, this took the form of an additional “challenge problem” in the assignment. These problems usually were parameter-tuning extensions of the original assignment, but could take several hours to complete. I should also note that several assignments required some amount of parameter tuning, which some find tedious and boring. While this may be true, it does accurately reflect the nature of the field.

    Overall, this was an enjoyable class to take. I felt I learned a lot of applicable material, but also felt like I had not absorbed most of what was discussed in the lectures simply due to my time constraints (also took CCA and ML4T this semester). Like most classes, you get out of it what you put into it.


    Semester:

    CV is a great course - well designed, challenging, lots of materials to cover. TAs are amazingly supportive with plenty of office hours (don’t skip them), though the prof is never around. Being disciplined is a must - start all the problem sets as soon as you can and familiarize yourself with Python, Numpy, OpenCV functions.


    Semester:

    Tough but balanced class. Problem sets are very well designed to reinforce video lecture learning. TA office hours this term were superb.

    I think the workload could be smoothed out a bit, a couple problems sets are too much and some too easy. The problem set wording is thorough but a bit annoying at times, would be nice if words like ‘easily’, ‘simply’, etc were edited out of grad level problem set documents. They’re unlikely to be true for most students and don’t promote learning or good feelings after 12 hours into a tough problem.

    Video lectures and class will need updating soon, though the lattter are great and highly watchable, the field is moving fast.


    Semester:

    Lengthy video lectures and time consuming assignments ( mainly due to the need to tune parameters a lot). TAs were very helpful and course content is pretty good


    Semester:

    Loved the content and subject. But lot of effort needs to be put in for the assignments, be prepared upfront to spends your weekends on it.


    Semester:

    The professor makes the lectures great. The problem sets force students to understand the material in the lectures by having them implement the ideas shown. The results of the problem sets are visual, so its nice to see how tweaking parameters can change the way objects are detected or tracked. The p-sets are python with heavy usage in numpy and openCV. Linear algebra knowledge is key to getting things to work efficiently. The final was timed on T-Square and open notes/book/lectures. The wording of the questions were a little tricky, so make sure you take your time and really understand what the questions are asking for. Great course! Be mindful of your grades in this course, there is not really any curve. 88. 3% got me a B.


    Semester:

    About me: No CS background. No experience with Python or OpenCV (beginner experience with Java). However, I have a strong math background, and it helped me a lot.

    Lectures: There are a lot of lecture videos. Toward the end of the class (hw 7 and 8), some of them are not needed to do the hws. However, I strongly advise against skipping any videos (cause you’ll need to go through them for the final). The lectures contain a lot of mathematical proofs and derivations, so it might get a little dry. However, Professor Bobick did an excellent job of explaining them as well as the concepts and intuition behind all the math.

    Homework: There are 8 hw sets. HW1 is only 4% because it is easiest. Other hws are 11% each. In my opinion, HW2 and HW7 are the hardest (so get started early on these). In general, the difficulty of the hws is not in the coding, but it is the parameters. Getting the code to pass the autograder is not a difficult task. However, you’ll have to pick the right parameters to produce the right images for the report (the reports consist mostly images and sometimes, short discussion, not essays). Optimizing the code was also a problem for me because I had no CS background. Overall, I don’t consider the homework super-difficult.

    Other comments: Piazza and Slack are valuable resource, so take advantage of them. Most of the time, when I got stuck at something, the answer was in one of the Piazza’s posts. Also, do watch the Youtube Office Hour videos. The TA explains how to do the hws very clearly and in detailed in those videos.


    Semester:

    Community

    The students in this class were very active on piazza and slack. A couple of the TAs were extremely helpful as well. The professor basically lets the TAs run the class.

    Assignments

    Most of the assignments in this class are difficult. For instance, I spent over 30 hours on assignment 2. The remaining assignments were not usually as bad. That being said, I got A’s on every single assignment, so if you have the time to put into them, you should be able to do well. The assignments consist of both programming and a report. The reports have little writing, but it’s a TON of parameter fitting. In some cases, finding the best parameters is harder than coding the algorithms.

    Lectures

    The lectures were informative and funny. However, there are so many of them that it is easy to be overwhelmed by them. Most of them are not directly applicable to the assignment, so there is a temptation to skip those. I do not recommend that.

    Final

    The final was weird. 15% of our grade, but it was under 40 questions. Most of the questions were not that hard. The study guide given to us covered most of it (though, no collaboration on the guide was allowed). In my opinion, if you found much of the lecture content going over your head, then it is absolutely necessary to study for the exam.

    Suggestions

    To me, the #1 pre-req for this course is strong programming skills. Everything is done with Python, numpy, and OpenCV. If you don’t know Python, this course could be a struggle for you. I picked up numpy and OpenCV during this class, but any experience with those tools will help you. #2, brush up on linear algebra. Many of the assignments require it. However, you’ll find that the assignments explain much of it for you, and the TAs may help you with it during office hours.

    So far, I have also taken KBAI, ML4T, SDP, and Networks. This class was significantly harder than all of those. I got an A, but it took many hours.


    Semester:

    The best one among the 8 courses I have taken so far. Great homework projects, which really helped understanding the course concepts and givers us a chance to practice the algorithms learned in class. The course video is extensive and covers a lot of concepts, while still being clear. The instructor is very energetic and humorous, I really enjoyed watching the videos. the projects may be time consuming and difficult, though. You need to understand the algorithms, and have solid programming skill to implement it.


    Semester:

    Thought the course was good overall. I think the assignments though (value of the content vs time needed to spent on it) could be improved. Some assignments I spend like 20-30 hours just for just one question where on a different assignment, it would of taken me only 15 hours to do the whole thing. In general, way too many video lectures and content to cover in a single semester.

    I think shrinking the videos used for the course by 20% would be more fitting given the length of a semester. Great introduction to computer vision, but doesn’t go into depth into anything.

    The final is strange as the assignments don’t really prep for some of the details required to get a good grade.

    I don’t think the Peer Feedback component of the course helps at all, never read the feedback people gave me.

    The Prof is completely hands off, letting the TAs run the course. The TA quality is odd, in the sense, I found some TAs extremely involved and helpful with some almost leaving me wondering what they were doing there at all.


    Semester:

    Very interesting and useful class. I felt like the approaches to problems and techniques we learned translate well to a lot of other areas of machine learning outside of just computer vision and image/video-related domains. I feel like this area is definitely one that helped spawn a lot of the key concepts in classic machine learning.

    Python is used extensively, and you will want to learn how to effectively vectorize your code to avoid computationally expensive for-loops. Problem sets every couple weeks were generally challenging but not impossible. I felt like I learned a lot, and the class focused on the right things to get you to also focus on the concepts that matter the most. Good video lectures.


    Semester:

    Very solid all-round class. 8 HWs due generally every other week, then an open note/book/internet final. You should be comfortable using python and numpy or at least able/willing to pick them up. Some math is covered, but mostly at a pretty superficial level.

    Class was more time consuming at times than difficult. A few of the HWs took more time than others because of needing to hyper-tune parameters to get optimal results. Lectures are very good, but I wish they focused a little more on depth than breadth. This class covers a ton of material, but mostly at a pretty shallow level, but this is of course to be expected from an intro survey course.

    No involvement from the professor, but TAs were mostly very good.


    Semester:

    This course is strange. You will fall in love with it and hate it at the same time. The reason that you will love it is because you will employ mathematics like you never did before in real practice. You will hate it because you will see lot of mathematics which requires a very deep understanding of linear algebra. I mean real understanding of what matrices are, not just knowing the definitions or tricks to solve them. You will love professor Bobick and his humor during the lectures. His lectures were very useful to simplify things, and you won’t appreciate his excellent explanation unless you try to read a CV book. I must admit, I didn’t fully understand all the math behind many topics but I fully understood the intuition behind them. The beauty of this course is that you will have 8 problem sets which will teach the course literally. I enjoyed every problem set from 1 to 8. The only trivial one was PS1, but all subsequent problem sets will require many many hours of hard work. After this course, you will appreciate math and what it can do for you, appreciate ML and will strive to take any course related to it. In my opinion, this reflects the success of this course generally. If anyone want to take this course, then prepare yourself with enough Python knowledge and linear algebra since you will need them. Also, start any problem set as soon as you can and always check Piazza and slack group since you will find great community who will help and encourage you. I’m happy that I’ve taken this course as my first course since I’ve learned many great things and it also gave me enough enthusiasm energy to explore more about ML. Take this course and you won’t regret it


    Semester:

    This class is extremely well done. The lectures go in depth into many different areas of CV. Some of the projects are tough. Project 2 and 7 were the hardest for me and took 35-40 hours. The lectures are long and go into the math consistently.


    Semester:

    Generally this course is pretty good. I did struggle on some of the projects because I spent too much time on figuring out the best parameters. I learned a lot on computer vision. The lectures are cool and I found CV is really useful.


    Semester:

    I learned a lot from the lecture slides and enjoyed implementing the techniques discussed in the lectures. With a background in engineering and a handful of years in software development, I found the assignments very straight forward.


    Semester:

    The class consists of 8 projects and a final. The projects range in difficulty, from really easy, done in 5 hours, to really time consuming and param fitting, which can take 20+ hours. Then comes the report you need to submit for each project, here you will see the fruits of your labor, but will also spend hours once you are done with the coding just getting the params and nuances of the algorithms to work perfectly with your images/videos. The final was 35 multiple choice questions, if you compile all the slides back to back, and run through all the lectures once, it should be pretty easy. I studied for about 4 hours, compiled the slides, and hadn’t watched the lectures in weeks, but still managed an 82. There were a whole bunch of questions that I easily could have gotten if I spent the time to re-watch all the lectures. Overall, I really enjoyed the class and the output from the later projects is really cool. Definitely spend time getting to know python and numpy. Being able to run your code efficiently can change your runtime from hours to minutes or seconds. There is always a way to vectorize. This class is nice, in that the lectures have everything you need, and they are directly applicable to the class. You will be implemented algorithms given in the lectures.


    Semester:

    Requirements: Know some good python and numpy. So many ways to broadcast operations and indices (aka. vectorize), and you will use a lot of them. Good intuition of Linear Algebra helps a lot. Eigenvectors, projections, and so many linear tricks show up. For the first time in my life signal processing helped a bit. You might be able to get by without a background in either of these, but it’s easier to understand if you’ve got this covered already.

    The lectures are awesome, interesting, and in depth. There’s 30 hours of them, so keeping up week by week is important. Projects every 2 weeks will keep you busy. Projects 2, Hough spaces, and 7, particle filters, are the most time intensive. Looking back, my ability to write python/numpy code has improved over the semester and project 2 would take me half the time now as it did earlier on.

    Computer Vision draws from pieces of so many other topics. Kalman and particle filters are covered in AI4R, graph cut and probabilistic algorithms in CCA, and supervised and unsupervised learning from ML. All of these are used, just applied to images and video. So you may get more out of the class after taking a few other classes. But it wouldn’t be a bad first class, either, if you’ve got the time to commit to it, as the lectures explain everything you need.


    Semester:

    A very challenging class, but also really interesting. The projects really make you work to understand the coding behind computer vision and much of the difficulty with it. In the end, though, you wind up making code that tracks objects in videos which was really interesting and fun. The lectures are very informative and really fun as well.


    Semester:

    This was a very hard course actually. Learned a lot but there was a lot of work. During the course of the class, I ended up spending most of my weekends on projects. The first project was a joke, and the second project was where the real sh*t hit the fan. I think project 2 was the weeder project and after that it seemed like a lot of people dropped out of the class. I would have to say it was interesting read the feedback from peer feedback from this class to something like KBAI. The feedback was always positive and supportive even if the project wasn’t super great. I think we students struggle, they tend to try to help each other out.


    Semester:

    This is one of the most well designed classes you’ll come across during your time with OMSCS, seriously! I’ve taken a few other classes before and they all had a major disconnect between lectures and assignments – the lectures were very thin compared to what was expected and a lot of self researching was needed. Dr. Bobick really does care about teaching this subject and wants you to understand and appreciate it fully and this shows easily in his lectures, which are formatted logically and are exhaustive (well, atleast for an intro course.. ). The TAs are very knowledgeable and helpful, made good comments when assignments were returned.

    Regarding the content of the course, much of your time will be spent on parameter tuning rather than implementing concepts and algorithm (especially in problem set 2, the hardest one IMO). So it is a good idea to play with the parameters early in the course and get an understanding of how they change the results. It does get a bit math intensive towards the middle and latter part of the course so brushing up on your linear algebra would go a long way. The final was open-book and was quite easy and straightforward sticking to higher level questions than mundane specifics.

    Overall, I absolutely loved this class to bits and would easily recommend it to anyone looking to dive into this wonderful and nascent field!


    Semester:

    This course is both extremely challenging and extremely rewarding. The projects are very hard, but every one of them was something I’ve always wanted to know how to do - actually getting them implemented and learning how it all works is just incredible. The lectures cover an extremely wide range of topics, while there is sometimes more of an emphasis on the math than the intuition, you come away with a lot.

    The projects you work on in this course are some of the coolest things I’ve ever worked on. If they offered another CV course with more projects like this, I would take it in a heartbeat. Seeing the output of an algorithm that you implemented to track a hand in a video for example, that’s just awesome.

    The time requirement is very real. The 2nd project, which turned about to be the longest, took me about 60 hours to complete. The math and linear algebra can be intimidating, and if it wasn’t for the community on Piazza I don’t think I would have figured out how to do certain things. As difficult as it is, the grading is very honest and the TAs are extremely helpful - if you put in the effort you will succeed.

    This is a very challenging course but it is 100% worth it. I would HIGHLY recommend learning numpy and at least brushing up on opencv basics before taking this course. I think a better understanding of numpy and “vectorization” in particular would have saved me a ton of headache in the first half of the course. Also, I did not do this, but I wish I had taken Computational Photography first. There were a few posts on Piazza about how much that helped.


    Semester:

    Excellent course. Prof got a humor. Lectures are fun to watch, but long. Anybody interested in computer vision would enjoy this course. Only downside is that the course is LONG~~~~~~~~~ I think it’s covering too much material in one term. I would have enjoyed much more if this class could be broken down into two terms.


    Semester:

    This was an excellent course. I particularly liked the lectures, which were very entertaining in addition to the great content. The course page recommends a strong understanding of Linear Algebra, and that isn’t a joke. The assignments are far easier if you have a solid understanding of the underlying math, and can translate that into efficient code. A good understanding of Python and Numpy will definitely help, but it is possible to pick up along the way. However, the assignments that would tend to benefit most from advanced knowledge of Numpy tricks are earlier in the semester.


    Semester:

    This is a hard course without good Python, linear algebra and computer vision foundations (like the Computational Photography class) knowledge. The video lectures are interesting, funny and clear, they are truly great lectures. However, I found the TA-ing not to be involved enough or maybe the flow of information itself was not enough.

    The workload is quite heavy, there were a few assignments I spent 20+ hours on (just the coding itself). Grading is okay, though the requirements are not always 100% clear. Also the workload distribution is not even so be sure to jump into the assignments very early on, especially the first few. Another downside of the heavy workload that the TAs can’t always keep up the pace either, some assignments took quite long to return and we had to submit at least 3 assignments before we got our first feedback. All these result in a lot of noise on Piazza, you have to go through 10K+ posts on piazza during the semester if you want to keep up.

    They dropped MATLAB Fall2015, from now on you can only do your homework in Python. And unless you are good at Python (including advanced things like optimization and parallelization in NumPy), you’ll spend a few nights debugging for sneaky bugs or screaming over algorithms that run for 40 minutes.

    All in all: it is a good class but there is a room for some improvement. The material is great, the assignments are hard but rewarding.


    Semester:

    The assignments were disjointed at the start of the semester and the autograder was really fickled. TA may have been overloaded or just very not communicative. I think they were transitioning from MATLAB to Python and had a learning curve.

    The programming was hard but fair. The frustration was figuring out the assignment parameters and that consumed more time that I had available. I had too many other time commitments to pour the extreme hours to overcome the issues in assignments. Dropped course to focus on my other one.


    Semester:

    The video lectures are entertaining, although the materials are really many and can be tiring.

    The second problem set was REALLY hard, at least for me. From that point on, things had been more manageable.

    Feedback on the assignment takes some time.

    You will learn a lot from your classmates.

    I watched most of the lectures related to computations needed for the problem sets twice.

    While doing the problem sets, sometimes it feels like you’re in the dark as you can be uncertain if you are doing the right thing. Sharing resulting images on Piazza has been really very helpful for me.

    (Update) Towards the end of the course, I got really burned out I stopped trying to arrive at the best parameters. My PS grades suffered. My final grade could have recovered by performing well in the final exam, but I was really too tired. When I looked at the exam feedback, I realized most of my mistakes were just because I misread them, but I actually know the answer. Not that the questions are not worded clearly, I was really just blurring out already when I was taking the exam. Looking back, though, maybe my fallout could have been much earlier if not for my supportive classmates. I did not appreciate early on the virtue of having Piazza graded, but I guess it helped in making students vocal and more active in providing support to each other. On the other hand, just a little more push could have given me an A. So my advice to those who will take this: do not give up. It is doable. Very difficult, but doable. And allocate your energy well, you will need it until the end.


    Semester:

    This class was extremely well done, so well done in fact that I was able to get through it, and understand the material, without knowing any of the required math. The lectures were engaging and the material is fascinating. Professor Bobick explained and simplified the math so well that it didn’t matter I didn’t have the math prerequisites, I could still do the assignments well. Some bad news, you must know MATLAB or Python well or expect to spend a huge amount of time learning one of them in parallel to the class. I spent 50+ hours on the first real assignment due to struggles with MATLAB and learning to think about vectorizing code instead of writing for loops. If you can’t vectorize or do list comprehensions etc. in Python you will not be able to get some code to run fast enough to be usable on assignments. It is still hard, assignments regularly took 30 to 40 hours for me even after learning MATLAB & Python.


    Semester:

    Course lectures and projects were very entertaining and challenging. Projects are well defined. I suggest brushing up on linear algebra while taking the course as the later lectures are heavy in this area. Also be sure to comment and help in the forums, because participation actually matters. I lost 2% of my overall grade because I only made 70 comments in the forums – the top student commented hundreds of times. The final was not super challenging and was a good reprieve from the rigor of the projects.


    Semester:

    CV’s approach to problem solving is about tradeoffs. So coming in you will deal with some of the challenges head on. Learning the algorithm, writing the code, tweaking the params are just standard type of time consuming. However, because you are dealing with the ideal assumptions on which your CV algorithm model is based on, as applied to real world. This could mean needing to faster algorithm due to more tweaking. Changing your subproblem algorithms.. etc. Hours of sleep == fast runtime == optimization

    Though I think the direction of the class seems to give more structure to the algorithm model so you can start with dealing the challenge of containing problem into the ideal assumptions rather than piecing the model from scratch.

    Pay attention to the pre-req: linear algebra (eigenvalues) and some signals/ML(probability/stats)


    Semester:

    This course has a high time requirement. You spend most of your time fine-tuning the problem set algorithms to get good results. The video lectures are great and entertaining for an introduction course to Computer Vision. The questions and answers are mostly managed by students with some participation from the TAs. There is a consistent TA availability for office hours which really helps when solving the problem sets.

    This course is an easy B but a hard A. It is important to do the best you can to get a high grade in the problem sets so you have more points to spare in the final test. I strongly recommend watching all the videos even if the problem sets don’t require them. This will help you in your final as it covers more units than the PS.

    The instructor is mostly absent during the course. We got a welcome, a good-bye, and a few messages in between. However, you will learn a lot from the video lectures and the TAs. I wish we had a couple of live Q&A sessions with the professor.

    When you finish this course, you will definitely have learned a lot and feel stronger in this field.


    Semester:

    This was my favorite OMSCS class yet. The projects and material are extremely interesting. Be prepared to spend a most of your time working on problem sets and tweaking parameters to get the perfect result. Also, be prepared to have your mind warped by some of the math involved. If you are familiar with Python and Numpy, you will be in a good position when you start this class. I myself was not a Python / Numpy expert, so there was a bit of a learning curve for me there too.

    Like others have mentioned, this class was recently taken over by a new professor who did not participate on Piazza a lot. You will have to lean on your fellow classmates and TAs if you get stuck. Other than that, this class is awesome. I highly recommend it. It might be painful at times but, if you push through, you will be glad you did. I learned a ton in this class.


    Semester:

    The class is very interesting and well run with high TA involvement, however it is a challenging class. The assignments are frustrating until you understand what you are supposed to do, at which point they become really fun. You have to be comfortable with not having a set formula if you want to enjoy the class. A lot of your time will be spent tweaking parameters to fit your model. I am not a fan of the grading policy that if you do everything except the bonus you get a 90% and with the bonus 100%, however in the end as long as there is a curve to match the grade distribution they want I suppose it doesn’t affect much.


    Semester:

    First semester with a new instructor. This class looks to be run entirely by TAs. You mostly will get majority of support from fellow classmates.

    The lectures are great. Actually the best out of the 7 courses I’ve taken (IOS AOS CN KBAI CP AI4R). You can sink a lot of time if you want to fully understand all the math - I did research on my own when I fail to grasp the material as presented. But you can also just rewatch the lecture to know enough to get by (i. e. finish all the assignments and complete the final).

    So how time consuming is up to you - do you want to master the material or just to know enough to be dangerous. FYI I put in 20 hours / week for this course.

    You want to know python before you begin. You can spend a weekend or two on lynda. gatech. edu - they have some great introductory videos. In this course you’ll use a lot of numpy and opencv, it’s also a good idea to get familiar with numpy first.

    Grade breakdown: Forum Participation: 4% Exam : 15% (40 questions / 2 hr unproctored open book) Assignments: 81%

    To get an idea whether this will be too difficult for you, you can sample the assignments here:

    https://www. udacity. com/wiki/ud810?r=agpzfnVkYWNpdHl1chkLEgxXaWtpUmV2aXNpb24YgIDQ05rW7gkM

    ps1 Images as Functions (warm up)

    ps2 Edges and Lines (first serious assignment, you’ll have a good idea of how time consuming the rest of the assignments are - start early)

    ps3 Window-based Stereo Matching (very time consuming parameter tuning, lookup numpy as_strided)

    ps4 Geometry (medium difficulty)

    ps5 Harris, SIFT, RANSAC (medium difficulty)

    ps6 Optic Flow (very time consuming parameter tuning)

    ps7 Particle Tracking (one of the easier assignments)

    ps8 Motion History Images (easiest assignment)

    Here’s the TOC of the lectures to give you a high level overview of what you’ll learn in this class

    https://cs6476. wordpress. com/

    01A1 Introduction 02A1 Images as functions 02A2 Filtering 02A3 Linearity and convolution 02A4 Filters as templates 02A5 Edge detection- Gradients 02A6 Edge detection- 2D operators 02B1 Hough transform- Lines 02B2 Hough transform- Circles 02B3 Generalized Hough transform 02C1 Fourier transform 02C2 Convolution in frequency domain 02C3 Aliasing 03A1 Cameras and images 03A2 Perspective imaging 03B1 Stereo geometry 03B2 Epipolar geometry 03B3 Stereo correspondence 03C1 Extrinsic camera parameters 03C2 Instrinsic camera parameters 03C3 Calibrating cameras 03D1 Image to image projections 03D2 Homographies and mosaics 03D3 Projective geometry 03D4 Essential matrix 03D5 Fundamental matrix 04A1 Introduction to -features- 04A2 Finding corners 04A3 Scale invariance 04B1 SIFT descriptor 04B2 Matching feature points (a little) 04C1 Robust error functions 04C2 RANSAC 05A1 Photometry 05B1 Lightness 05C1 Shape from shading 06A1 Introduction to motion 06B1 Dense flow- Brightness constraint 06B2 Dense flow- Lucas and Kanade 06B3 Hierarchical LK 06B4 Motion models 07A1 Introduction to tracking 07B1 Tracking as inference 07B2 The Kalman filter 07C1 Bayes filters 07C2 Particle filters 07C3 Particle filters for localization 07C4 Particle filters for real 07D1 Tracking considerations 08A1 Introduction to recognition 08B1 Classification- Generative models 08B2 Principle Component Analysis 08B3 Appearance-based tracking 08C1 Discriminative classifiers 08C2 Boosting and face detection 08C3 Support Vector Machines 08C4 Bag of visual words 08D1 Introduction to video analysis 08D2 Activity recognition 08D3 Hidden Markov Models 09A1 Color spaces 09A2 Segmentation 09A3 Mean shift segmentation 09A4 Segmentation by graph partitioning 09B1 Binary morphology 09C1 3D perception 10A1 The retina 10B1 Vision in the brain


    Semester:

    “Pros: The lectures are detailed and very informative. They provide a solid basis that can be used to build upon more advanced CV concepts. The assignments despite being time consuming are a valuable learning experience. Cons: The class seems to be in autopilot and the professor involvement is minimal. The assignments need to be spread out a bit to balance out the workload across the semester. As mentioned above the lectures are indeed detailed but they are also lengthy. “


    Semester:

    Class is almost completely on “auto-pilot” and new instructor is like “absentee landlord”. Instructor and TA’s participation on Piazza is minimal and limited to administrative issues, if any. Lectures themselves, created by original instructor are very informative and actually entertaining. There is a lot of material to cover, and assignments are time consuming and difficult to implement, since most of time, results are vary from run to run. There are several changes coming with new instructor: all assignments are to be implemented in OpenCV Python, although examples in the lectures are in Matlab. Grades are “artificially suppressed” - 100%=90% Work is front loaded - there are four assignments coming every week in the first month or so. It is actually good part, so you can drop a class early, if it does not work out. I came with Matlab experience and mandatory use of OpenCV came as a surprise, although Python with numpy, scipy and OpenCV packages turned out quite Matlab-ish. I am glad, I stayed. Classmates are great and there is a lot of help to be found on Piazza, actually I am learning the most from my classmates.


    Semester:

    This is an awesome course and I highly recommend it. But, it’s tough, and as of now (mid-semester Spring 2015) there are still some kinks being worked out. Homework deadlines have been very much in flux, we weren’t told until mid-March whether there would be a final or not, and getting graded homeworks back is pretty slow. I suspect that things will run more smoothly when it’s not the first semester of the class, though. Assignments can be done in Matlab or Python. We get Matlab for free. Lots of linear algebra. Personally I find the homework very difficult and time-consuming but really, really interesting.


    Semester:

    A lot of the difficulty comes in implementation details. Concepts are explained well in the lectures and pdfs. (+1 @ above: Course timeline is still evolving, so there may be changes. Also, I updated difficulty from Average to Somewhat Difficult, after seeing the rest of the course)


    Semester:

    Lectures are of very high quality. All the assignments are hard but fun. I really enjoy this class.


    Semester:

    I enjoy the class a lot. There is a lot of material in the lectures but it is interesting. It is heavy in linear algebra, and some calculus, though at a basic level. In the assignments you have to implement various computer vision algorithms, which sometimes can involve careful debugging of your matrices or indices, which means sometimes the assignments can take a long time if you get stuck tracking down small errors. Overall it is a fun course and one where you can learn many things (if you aren’t already familiar with CV).


    Semester:

    The challenge with this class is the results of the assignments aren’t meant to be good. Computer vision is hard and not perfect the course works to teach you the flaws of the basic methods. The more you run into the flaws the better understanding of Computer Vision you get. This is the math heavy version whereas Computational Photography is the application side of things.


    Semester:

    This is a great course if you like applying what you’ve learned. The instructor and TAs are awesome in conveying the material and responding to questions on the forums, though sadly, it appears that our current instructor Professor Bobick will no longer be actively in the forums in future semesters since he has accepted a new position. Grade is based on projects and a final exam. Projects are done in Python, MATLAB, or Octave, (your choice) so be sure you have a good handle on one of them (preferably not Octave, since you get MATLAB for free in Georgia Tech). An important thing in this class (and in any other) is to set enough time to watch the lectures and read the materials and do the homework. I’ve learned many times during this semester that I always need to take some breaks in order to ‘get it’ and go forward to the next step of the problem. So yeah, if you put aside the time, I think you should be fine. There is also a good amount of linear algebra, but I reckon it shouldn’t be an issue if you’ve taken an undergraduate linear algebra/discrete mathematics course.


    Semester:

    So glad I took this class. The lectures are well done, but sometimes I felt myself in the dark because the math seemed way over my head. I have a minor exposure to linear algebra, and a strong exposure to calculus and I still found most of the math over my head. Some things that would be good to know ahead mathmatically: eigenvalues, gradients, sum of square differences, minor exposure to supervised and unsupervised machine learning, physic in motion and illumination, signal and frequencies, and of course the basic matrices and vector operations. The problem sets are the core of your grade and will vary in time commitment. I found ps1, ps4, ps5, ps6 to be the most time consuming having to work over 20 hours on each. The problem sets focused on creating the algorithms for the computation as well as modifying them to optimize your results, so it could get frustrating tweeking the inputs and variable of your algorithms. The professor of the lectures definitely knows his stuff when it comes to CV and a bit of his personality made the lectures very enganging. It’s important to take notes for the lectures because at the end of the course there will be an exam and it is a pain have to go back through all the lectures as it was for me. The exam seemed fair. The instructor and TAs are helpful on piazza. And of course other students were very helpful. The office hours were helpful as well, I only had one problem with an office hour where I was the only student there and the TA was very unresponsive, but that was the exception to the rule. Take this course if you want to become interested in Computer Vision because you will once you take this course. The only thing I wish they had done for this course was post solutions to the problem sets after the deadlines.


    Semester:

    Very good class, but excessive work load. Some of the algorithms they teach are outdated. For those without a background in machine vision, Computational Photography serves as a prerequisite. School needs to offer more electives in machine vision. As of today, this class is not part of an existing specialty.


    Semester:

    This is a challenging course with tons of math that I could never remember by heart, but very rewarding and learned a lot. When the website says majority of the learning would come from doing the problem sets, that’s very accurate. I highly recommend taking this course and suggest start on each problem set well in advance. If you haven’t taking Computational Photography, I would recommend taking that first. It would serve as a very good prep course.


    Semester:

    Great things to learn. Lectures are entertaining but problem sets are time consuming. Be prepared to spend a lot of time of them in order to get everything working perfectly. This sem we were not allowed to use MATLAB, only openCV was allowed, so python programming experience might help. Deadline policy is strict, and things can go out of hand if problem sets are left for the last minute. Think twice before combining it with ML or CCA.


    Semester:

    Full disclosure: I actually dropped the course at the end of sept. I enjoyed the material however, I was disappointed the class had changed from using MATLAB and I was also very disappointed in the support/grading. It was very time consuming and despite the amount of time given, I ended up with about a 40-50 average and I was not the only one struggling.


    Semester:

    (mid term review)… I really enjoy the class. Lots of great high-quality material and good projects to work on. CompPhoto is a good pre-req, but be aware that this is a lot more detailed, in depth, and time consuming. I agree with the ‘class seems to be on autopilot’ comment above. The new course instructor rarely participates in piazza, and I found TA participation unreliable and inconsistent. Lectures are good, but there is alot of material to cover. I’ve found myself skipping portions due to time constraints. With all that, I’d still recommend the class, but be aware of what you’re stepping into with respect to available time.


    Semester:

    This course was challenging, and Piazza participation was very useful for making it through the problem sets. Conceptually, it’s not terribly difficult, it’s the implementation that get’s tricky. Plus, the concepts aren’t straight forward when it comes real world implementation. Some of the problem sets took me consecutive weekends, all weekend long. It’s important to start early and stay active on Piazza.


    Semester:

    I really enjoy this course. I am taking it concurrently with computational photography, and it has helped me get the most out of CP. There are overlaps in material, but it helps to reinforce it better. Piazza is a life saver with tons of participation, but never underestimate how long the assignments will take.


    Semester:

    Very good lectures, taking CP first here helped me for sure. Assignments are tough, as they leave a lot of implementation details up to you, and you have to tweak parameters to get your algorithms to work well. Overall, awesome course with really cool material.


    Semester:

    Awesome class! It’s heavy on math but it’s a very rewarding class. Highly recommended!


    Semester:

    Awesome class, but it was a challenge for me. This was my only class for this term. Loved that I could do programming in Python and it was fairly well supported


    Semester:

    Really good and challenging class. Math heavy but appliation oriented as well. You get to see the results of what you have learnt. For instance, you detect shapes in images, track the movement of a subject in videos, identify motion etcetera. Brush up on your Linear algebra. Prior Matlab knowledge is defintely helpful, although you can complete the problem sets using python as well. Prof. Bobick and team were awesome, grading was quite liberal and I think everyone in the class was satisfied.