A question we frequently receive at Roboflow is, "What is the best class for learning computer vision?"
Like most questions, the answer does depend on your background and what you're aiming to learn. Below, we've compiled a few of our favorite courses for learning computer vision, machine learning, and artificial intelligence more generally.
Know Yourself and Know Your Goals
Before picking any class to start, you should ask yourself:
- What is my desired outcome? Fundamentally, are you aiming to understand the conceptual implications of using computer vision for your business problem or are you aiming to be the person implementing the code and processes to leverage computer vision at your company? Or, more simply: are you planning to write code to implement computer vision or are you predominantly focused on management of a solution? Knowing your desired skill outcome is essential to picking the right learning path.
- What is my background in artificial intelligence so far? Do you already have a background programming, but you're relatively new to computer vision specifically? Alternatively, are you acquainted with another machine learning domain (like natural language processing) but new to computer vision? Or perhaps you're non-technical and new to AI altogether? Our recommendations below are based on these ideas.
- How do I best learn? While video courses are effective for some, blog posts or textbooks are better for others. For example, we've written an in-depth guide on what is object detection and how to use it. Ultimately, we highly recommend complementing any means by which you use to learn with practical projects to test your skills. When it comes to learning, diving headfirst into a problem is one of the best ways to get ahead. (You can get started with an open source computer vision dataset.)
With this in mind, here's a few of our favorite recommendations.
Conceptual AI Fundamentals
If you're looking for a high-level introduction to artificial intelligence (of which machine learning and computer vision are subsets), check out AI for Everyone on Coursera. Andrew Ng, who started the Google Brain team and Coursera itself, gives an overview of artificial intelligence, how to build it into your company, and how it's changing society. The course is free and takes approximately six hour to complete, so it's a nice bite-sized primer to get you started.
Applied Computer Vision for Practitioners
If you're looking to implement computer vision techniques, there's a few courses that can take you deeper.
Our partner OpenCV, maintains multi-part courses that walk learners through computer vision fundamentals and computer vision applications: https://opencv.org/courses/ The courses are a bit of a larger investment (with the first unit starting at $600), but they are instructor-led, providing an adaptable learning experience.
There are lighter introductions for budding practitioners. Coursera maintains a Deep Learning Specialization, in which one unit dives deeper into computer vision: https://www.coursera.org/lecture/introduction-tensorflow/an-introduction-to-computer-vision-rGn1n
Computer Vision for those with Machine Learning Experience
Comfortable with machine learning but looking to go deeper into computer vision, specifically? It's hard to look past Stanford's CS231N, a course that leaders like Tesla Head of AI Andrej Karpathy completed. The course is available to the public via http://cs231n.stanford.edu/ and there are loads of public resources and repositories of learners publicly sharing their work.
Computer Vision Ethics
One important course we recommend regardless of background is Kaggle's Intro to AI Ethics: https://www.kaggle.com/learn/intro-to-ai-ethics The class walks through human-centered design, the potential for bias in our training data, and how to create sustainable AI systems. In machine learning, having a representative dataset isn't only about data ethics – it also produces better models.
Planning on enrolling on any of the above courses? Let us know – we're happy to pair together participants in study groups across the 20,000+ Roboflow developer community. Happy learning!