Learning computer vision & OpenCV used to be hard.
But not anymore.
PyImageSearch Gurus has one goal...
...to make developers, researchers, and students like yourself become awesome at solving real-world computer vision problems.
Inside PyImageSearch Gurus, you'll find:
- An actionable, real-world course on OpenCV and computer vision. Each lesson in PyImageSearch Gurus is taught in the same trademark, hands-on, easy-to-understand PyImageSearch style that you know and love. We'll be using primarily Python + OpenCV throughout the course, but expect a few other libraries to be utilized as well, including scikit-learn, scikit-image, Caffe, and Keras.
- The most comprehensive computer vision education online today. The PyImageSearch Gurus course covers 13 modules broken out into 168 lessons, with other 2,161 pages of content. You won't find a more detailed computer vision course anywhere else online, I guarantee it. See below for the full list of topics to be covered in the course.
- A community of like-minded developers, researchers, and students just like you, who are eager to learn computer vision and level-up their skills.
Sound interesting? Keep reading to learn more...
Computer vision is everywhere... whether you realize it or not.
Join PyImageSearch Gurus and uncover the algorithms powering real-world computer vision applications.
Have you been on Facebook recently? If so, you may have noticed that Facebook not only can automatically detect faces in images but also recognize and tag them as well!
Just like Facebook has seamlessly inserted face recognition into their online photo software, we can also apply computer vision to other areas of our lives: including automatic license plate identification, handwriting recognition, security, surgery, military, retail, and much more.
My goal in the PyImageSearch Gurus course is to teach you how to utilize computer vision to solve actual, real-world problems, such as the ones listed in the domains above. Join me, and give the course a try — before you know it, you'll be building (and solving) computer vision projects of your own!
What topics are covered inside PyImageSearch Gurus?
Let me show you...
Build your own Automatic License Plate Recognition system.
Interested in learning how to automatically recognize and identify license plates in images? No problem, I've got you covered — PyImageSearch Gurus has an entire module dedicated to building custom ANPR systems.
Automatic License Plate Recognition (also called Automatic Number Plate Recognition, or ANPR for short) consists of three primary steps:
- Step #1: Finding the license plate(s) in an image.
- Step #2: Segmenting each of the individual characters from the license plate.
- Step #3: Identifying and recognizing each of the characters.
Inside the Automatic License Plate Recognition module, you will learn how to solve each of these steps — and then combine them to create a full solution to license plate identification!
To discover the secrets behind ANPR (and start building your own custom ANPR system), be sure to join the PyImageSearch Gurus course!
Take a deep dive into Deep Learning and Convolutional Neural Networks.
Curious about deep learning? I'm here to help. I've created an entire module dedicated to Neural Networks, Deep Belief Networks, and Convolutional Neural Networks, allowing you to get up to speed quickly and easily.
When I first started writing the PyImageSearch Gurus course, my original working title for this module was "Deep Learning Demystified". You see, every morning when I opened my notebook and starting drafting lessons, I wanted that header in big, block letters as a constant reminder that deep learning doesn't have to be complicated.
And in truth, it doesn't have to be. Inside this module, you'll start by learning the basics of neural networks and deep learning, including activation functions, convolutional layers, pooling layers, and common network architectures.
From there, you'll apply popular deep learning libraries such as Caffe, Keras, and scikit-theano to train your own custom networks to classify the contents of images.
You'll not only understand deep learning, but also be able to apply it to your own datasets as well!
Face recognition: identify, recognize, and tag faces in images and video streams.
You've probably seen face recognition software before — remember Facebook? The real question is, how do they do it? I'll show you! And then you'll be able to apply face recognition to your own projects.
Let's play a little game — suppose I hold up a picture of your mother, best friend, or college roommate. I'm willing to bet that you'll be able to recognize the person in the image, right?
Face recognition tends to be an easy task for humans. We are able to intuitively pick out distinguishing attributes of a person's face.
But the same is not true for computers. In order for a computer to recognize people in images, we need to develop specialized techniques that can quantify facial characteristics.
Once you join the PyImageSearch Gurus course, I'll show you how to build face recognition systems of your own using both images and video streams.
Learn how to train your own custom object detectors.
You'll discover how to detect road signs, faces, cars (and nearly any other object) in images by applying the HOG + Linear SVM framework for object detection.
Training your own custom object detector using the HOG + Linear SVM method can be broken down into 6 simple steps:
- Extract HOG features from your positive training set.
- Compute HOG feature vectors from your negative training set.
- Train your Linear SVM.
- Apply hard-negative mining.
- Re-train your Linear SVM using the positive samples, negative samples, and hard-negative samples.
- Done! You can now apply your object detector to your dataset.
Using these 6 steps, you can train custom object detectors of your own.
For a detailed review of the HOG + Linear SVM framework, along with the source code implementation, be sure to join the PyImageSearch Gurus course. I'll see you inside!
The PyImageSearch Gurus course has proved to be one of the most valuable investments for me. I work in a fashion oriented company where the analytics team focuses on computer vision - and this course is just a perfect fit. A major plus is the amazing quality of the code, available to download for every lesson. If you like computer vision, this is your place.
Become the next Google...and build your own (highly scalable) image search engine.
The Bag of Visual Words model. Tf-idf weighting. Inverted indexes. Sounds complicated, right? It's not. Let me show you how building image search engines isn't magic and how you can do it too.
Content-based Image Retrieval (i.e., image search engines) is the reason why I started the PyImageSearch blog. Inside these lessons, you'll discover my special techniques for building image search engines and making collections of images visually searchable.
Plus, you'll gain access to my previously unreleased personal libraries that I've spent years crafting and perfecting. Using these resources, you'll be able to build image search engines of your own in no time.
Recognize hand gestures in video streams...
...and build applications that can detect and understand your actions in real-time.
Ever seen the movie Minority Report? It features a scene with an amazing (although fictional) hand gesture recognition system. I can't promise you that we can build that...but what I can promise is to teach you the basics of how hand gesture recognition works.
We'll start with the basics of segmentation, and how we can segment the hand region from a video stream. Then, we'll apply hand gesture recognition algorithms that can detect the number of fingers you are holding up.
From there, I'm confident that you'll be able to apply hand gesture recognition to your own applications!
Harness the power of Hadoop + big data.
Hadoop and MapReduce are normally applied to processing text and analytical data. But did you know that Hadoop can be used to process images as well? It's not as challenging as you might think...
The trick is learning how to prepare your image dataset correctly. Unlike traditional filesystems, Hadoop doesn't perform optimally when there are lots of small files on-disk. Instead, HDFS prefers larger files that contain multiple smaller files serialized together.
Serializing and concatenating text files makes sense...but how is that possible with images? I'll show you.
From there, we'll utilize MapReduce to quickly process large image datasets in bulk using my personal Hadoop + MapReduce project structure template. This is the exact same template that I use when working on my own Hadoop projects.
Utilize image classification + machine learning to recognize image contents.
No joke, back in 2012 Google built an image classification system using 16,000 processors and months of computing time to recognize cats in YouTube videos.
I'll show you the same tricks Google used to build their cat recognizer...but in a fraction of the time and CPU power.
Image classification and image understanding are currently (and will continue to be) the most popular sub-field of computer vision for the next 10 years. We'll see large companies like Google, Microsoft, and Baidu quickly snap up successful image understanding startup companies. We'll also see more consumer applications on our smartphones that can interpret the contents of an image.
In order to be prepared for this, you need to understand image classification — this is especially true if you're an entrepreneur preparing to enter the computer vision space.
Inside this module, I'll detail how to build your own image classifiers with lots of code examples. You'll be developing and deploying your own image classification systems well before the PyImageSearch Gurus course completes.
You [Adrian] have great skill in pedagoy as well as computer vision. Your writing/teaching are very clear and I like the layout of the lessons. Love everything so far and I'm so glad to be a part of it. I signed up for the instant access membership and already think it's well worth your asking price.
The PyImageSearch Gurus course is one of the best education programs I have ever attended. No matter whether you are a beginner or advanced computer vision developer, you'll definitely learn something new and valuable inside the course. I highly recommend PyImageSearch Gurus to anyone interested in learning computer vision.
Build computer vision apps for mobile devices...without writing a single line of Objective-C, Swift, or Java.
Sound too good to be true?
I've built both Chic Engine and ID My Pill using these exact same technologies!
Work with practical, hands-on Raspberry Pi projects.
Utilize computer vision, face recognition, and txt message notifications to receive alerts when suspicious activity takes place around your house.
Last winter, I went down to Mexico for a few days to get away from the unbearable frozen tundra of the north eastern United States. While I was gone, I set up a Raspberry Pi by my front door to perform both motion detection and face identification. If anything were to happen, I would receive a txt message alert to my smartphone!
Using a bit of computer vision knowledge (and the fantastic Twilio API), I was able to build such a system in less than a day!
Inside the PyImageSearch Gurus course, I'll show you how to build Raspberry Pi + computer vision applications like this one...and I have no doubt that you'll be able to extend this project using your knowledge of computer vision gained throughout the rest of the course!
Visually understand and quantify photos with image descriptors.
What's in an image? And how do you describe the contents of an image using a bunch of numbers? The trick is to apply image descriptors and feature extraction. It's easy, once you get the hang of it.
Before we can build custom object detectors, classify the contents of images, or construct large-scale image search engines, we first need to understand a critical component of computer vision — image descriptors.
Image descriptors and feature extraction govern how and what parts of an image are quantified, effectively turning a matrix of pixels into a single list of numbers used to quantify the contents of an image.
These techniques play a vital role in computer vision, so we spend lots of time dissecting and understanding feature extraction methods, including: Histogram of Oriented Gradients, Local Binary Patterns, Haralick texture, Zernike moments, SIFT, RootSIFT, SURF, ORB, BRISK, FREAK, and many more!
Study real-world solutions to actual computer vision problems.
You'll learn how to track multiple objects in a video, recognize handwriting, identify plant species, and much more.
One of the primary reasons I started the PyImageSearch blog is to create high-quality, easy-to-follow, and super hands-on computer vision tutorials. A major factor in this practicality is the ability to translate the lessons you learn on PyImageSearch to actual, real-world computer vision problems.
I'm pleased to say that this same motivation has carried over to the PyImageSearch Gurus course. Even though we'll be reviewing more advanced algorithms and topics — no worries — the same easy-to-follow explanations for every topic we review will still be there. And as always, I guarantee all examples are hands-on and practical.
Master the basics of computer vision and image processing.
The PyImageSearch Gurus course is my magnum opus on computer vision — it's for developers, researchers, and students just like yourself, who are looking for the complete computer vision experience.
We'll start with the basics of computer vision and image processing, allowing you to get started quickly (without being bogged down in lots of theory). In fact, some of our very first projects include Tetris block identification, recognizing tic-tac-toe pieces, and learning how to segment license plate characters from license plates. Not bad for your first few lessons, right?
Like I said, this is a super practical and super hands-on computer vision course.
Whether you're just getting started learning computer vision or you're a seasoned veteran in the field, this course is for you.
Get started learning instantly with the PyImageSearch Gurus virtual machine.
By using my pre-configured Ubuntu VirtualBox virtual machine, learning computer vision couldn't be easier (guaranteed to run on OSX, Linux, & Windows). Just download the virtual machine, and start learning the instant you join the PyImageSearch Gurus course.
Your downloadable Ubuntu VirtualBox virtual machine comes pre-configured and pre-installed with all the necessary computer vision, image processing, and machine learning libraries you'll need to be successful inside the PyImageSearch Gurus course.
Nope, there's no libraries, dependencies, or headaches to deal with — you'll be able to run all code examples inside the virtual machine hassle-free.
And if you want to set up your own native development environment, I've provided detailed installation instructions for both OSX and Linux.
Direct access to me.
The PyImageSearch Guru forums are my new home.
Each week I receive a ton of emails. To be honest, it's hard to keep up with them all. If you need access to me to help solve a computer vision problem or get advice in what direction to go, the PyImageSearch Gurus forum will be my new home.
I'll be checking the forums and replying to topics and questions each and every day.
Who's behind this?
Hey, I'm Adrian Rosebrock, a Ph.D and entrepreneur that has spent his entire life studying computer vision, machine learning, and image search engines. Over the past 2 years alone, I have:
- Started the PyImageSearch.com blog and published over 125+ tutorials and articles aimed at teaching computer vision, image processing, and image search engines.
- Authored Practical Python and OpenCV, which has been featured on the official OpenCV.org website.
- Ran a successful Kickstarter campaign to fund the creation of the PyImageSearch Gurus course.
- Answered 10,000+ emails helping 1,000's of developers, researchers, and students learn the ropes of computer vision and OpenCV.
If learning about computer vision and OpenCV sounds interesting or excites you, I hope you'll consider joining me inside PyImageSearch Gurus. You'll learn a ton about building practical, real-world computer vision applications — and have fun while doing it. See you on the other side!
So, why join the PyImageSearch Gurus course?
Earn your certificate. Get a job in CV.
Earn your Certificate of Completion and share it with the world.
Register for PyImageSearch Gurus. Pass the course. Show off your skills.
Upon successfully completing the PyImageSearch Gurus course, you will receive a Certificate of Completion that you can include in your resume and CV.
Display your computer vision knowledge with pride! This certificate will undoubtedly be an asset as you apply for computer vision-based jobs, research roles, and grants.
Embed your Certificate of Completion directly on your LinkedIn profile....
...and share your computer vision accomplishments with your network.
If you've ever taken an online course through popular learning platforms such as Coursera, Udemy, or edX, you'll know that after completing a course, you can directly embed your hard-earned certificate on your LinkedIn profile.
The same is true for the PyImageSearch Gurus course!
When you successfully complete the PyImageSearch Gurus course, you'll be able to embed your Certificate of Completion on your LinkedIn page to share with your network. Once embedded, the certificate will link back to the PyImageSearch Gurus site, verifying your PyImageSearch Gurus graduation.
As an example, you can find my LinkedIn page here along with my verified PyImageSearch Gurus Certificate of Completion.
Looking for a job in computer vision?
PyImageSearch Gurus can help land you your next position in the computer vision field.
As I mentioned at the top of this page, computer vision is everywhere. There are more jobs in computer vision than ever before. And it's a rapidly growing field.
One of my primary goals is to develop a PyImageSearch Jobs board that can be used to connect PyImageSearch Gurus graduates with jobs in the computer vision community.
So, if you're looking for computer vision certification AND want a job in the computer vision field, PyImageSearch Gurus is the right place for you!
You might be wondering,
"Is PyImageSearch Gurus right for me?"
You bet it is!
Regardless of whether you're just getting started in computer vision or you're already a seasoned computer vision pro, PyImageSearch Gurus has the tutorials and code for you.
Just getting started in computer vision? Don't worry! You won't be bogged down with tons of theory and complex equations. We'll start off with the basics of computer vision, image processing, and OpenCV so you have a solid foundation and understanding. You'll learn in a fun, practical manner with lots of code. Using the proven, hands-on PyImageSearch Gurus teaching method, you'll be able to graduate to the more advanced content in no time.
Already a seasoned computer vision pro? This course isn't just for beginners — there's content in here for you, too. You'll discover how to apply Deep Learning and Convolutional Neural Networks to classify the contents of images. You'll construct a framework that can be used to train your own custom object detector with minimal effort. And you'll build systems to automatically recognize license plates in images. These real-world solutions can be directly applied to your job and research.
Love the course structure and content. Makes computer vision concepts so easy that even someone without much prior knowledge can also become a guru.
I cannot say it enough: PyImageSearch Gurus is amazing. I really enjoy myself and the way you set everything up (blog, course, community, incredible response time). It tells a lot about how much you enjoy it too.
Ready to become a computer vision guru?
Just select your membership plan below...
Which membership should I buy?
This mostly depends on your budget. The instant access membership costs more upfront, but you'll get access to every lesson inside the PyImageSearch Gurus course immediately — plus, you'll save 15% in the long run. However, if budget is a concern (or if you want to try the course before committing to the instant access), then the monthly membership is still a great deal. In either case, you're still getting the best, most comprehensive computer vision education online.
I'm just starting out. Is this course right for me?
Yes, absolutely. Let me put it this way — I built PyImageSearch Gurus to be the course I wish I had when I started learning computer vision. Even though computer vision concepts seem complicated, overlapping and intertwining, I've unweaved all the complexity, leaving you with an easy-to-follow roadmap to graduating the PyImageSearch Gurus course and becoming a computer vision guru.
PyImageSearch Gurus seems expensive...
I've found that charging for the PyImageSearch Gurus course dramatically improves the quality of content and people involved. And let's be honest — free content has its limitations: (1) Myself and other PyImageSearch Gurus are willing to divulge more information in a private setting than we should share on the open web. This means you get exclusive information that you won't get anywhere else. (2) Private communities lead to better relationships and outcomes. The PyImageSearch Gurus community is a group of committed developers, researchers, and students — and I ensure that by charging a fee. (3) Finally, the simplest point of all: Not everything is free, nor should it be. Premium education, advice, and connections are valuable. If you don't see it that way, that's totally cool...but you likely won't fit in here.
If I start with the monthly membership, can I upgrade to the instant access membership?
Yes, you can absolutely start out with the monthly membership and then upgrade to the instant access membership later on — all you need to do is email me, let me know that you would like to upgrade, and I'll take care of the upgrade for you.
That said, all upgrades should take place within the first 30 days of joining the PyImageSearch Gurus course to take advantage of the 15% annual discount. So if you would like to upgrade, definitely let me know sooner rather than later!
What happens after I buy this course?
After purchasing either the instant access or monthly membership to PyImageSearch Gurus, you'll immediately be able to login to the course and access the course modules and lessons, as well as access the PyImageSearch Gurus community + forums.
If you purchase the instant access membership, you'll have access to all lessons immediately. If you go with the apprentice membership, you'll have access to the first month's content.
How many hours per week should I commit to PyImageSearch Gurus?
The number of hours you should spend per week on the PyImageSearch Gurus course varies from student to student, but in general, the more time you put into the course, the more value you'll get out of it. I recommend spending 30-60 minutes per day on the course, or a total of 5 hours per week. Think of it this way: if you can spend the time it takes you to drink your morning coffee reading the lessons inside PyImageSearch Gurus, you'll notice huge improvements in your computer vision knowledge.
Do I need any programming experience before enrolling in PyImageSearch Gurus?
Yes, in order to be successful inside PyImageSearch Gurus, basic programming experience is a requirement. Previous experience in Python is certainly recommended, but is by no means a requirement. Simply put, if you know basic control statements such as if, while, and for, you likely already have enough experience to be successful inside the course.
Do I need to know Python before joining the course?
No, you do not need to know Python before joining PyImageSearch Gurus. Experience in Python is recommended, but not a requirement. You'll find that Python is a very easy language to learn, and even if you do not have experience in Python, I'm confident that just by reviewing the code examples in the course, you'll be able to pick up the language quickly. If at any point you decide you need extra help learning Python, exclusive discounts on the excellent RealPython.com course are offered inside PyImageSearch Gurus to help you level-up your Python coding skills.
Which versions of Python + OpenCV are used in the course?
The PyImageSearch Gurus course supports OpenCV 2.4 and OpenCV 3 along with Python 2.7 and Python 3. Our most recent course update ensures that no matter which version of Python + OpenCV you are using, we have you covered, and you'll easily be able to follow along with the course.
Do you support OpenCV 3 and Python 3?
You bet! OpenCV 3 and Python 3 are supported inside the course.
Where can I learn more about you?
I have authored over 125+ blog posts about computer vision, image processing, and OpenCV over at PyImageSearch.com. Check out the posts to get a feel for my teaching and writing style. I also highly suggest that you sign up for your set of (free) PyImageSearch Gurus sample lessons using the form at the bottom-right corner of this page.
I have another question.
If you have any other questions, please send me a message, and I'll get back to you immediately.
How I'll make sure you're 100% satisfied with PyImageSearch Gurus.
PyImageSearch Gurus is the course I wish I had when I first started learning computer vision and OpenCV over 6+ years ago.
If you're interested in learning computer vision and want to equip yourself with the knowhow to solve advanced computer vision problems (and eventually land a job in the computer vision field), I designed this course for you.
I've also taken steps to ensure that each customer is accountable and enjoys their time in PyImageSearch Gurus. I don't want you to pay me and that be it. I want you to pay me and then make a significant return on your investment, so I've included a followup accountability program to help keep you on track and motivated to finish the PyImageSearch Gurus course.
Of course, I recognize that there isn't a "one-size-fits-all" solution to anything. So if you do buy my course, go through it, do the work, and feel like you haven't learned anything, then I don't want your money. Just reply to your purchase receipt email within 30 days for a full 100% money back guarantee.