Hi there, I’m Adrian Rosebrock, PhD.
I started the PyImageSearch community to help fellow developers, students, and researchers:
- Get started with Computer Vision and OpenCV (without a decade of mathematics and theory).
- Learn how to successfully apply Computer Vision, Deep Learning, and OpenCV to their own projects/research.
- Avoid the same mistakes and pitfalls I made when studying Computer Vision and Deep Learning.
All too often I see developers, students, and researchers:
- Wasting their time
- Spinning their wheels
- Studying the wrong things
- And generally struggling to get started with Computer Vision and Deep Learning
Does that sound like you?
Trust me, getting started with Computer Vision and Deep Learning is easier than you think.
I created this website to show you what I believe is the best possible way to get your start.
Follow me and I promise you’ll find your way to Computer Vision, Deep Learning, and OpenCV enlightenment.
A little about me.
I’m a husband, proud dog parent, and professional Computer Vision/Deep Learning developer and researcher.
I earned my PhD in Computer Science from the University of Maryland, Baltimore County (UMBC) in 2014.
Previously, my company has consulted with the National Cancer Institute and National Institute of Health to develop image processing and machine learning algorithms to automatically analyze breast histology images for cancer risk factors.
I now run PyImageSearch, a blog dedicated to helping you learn Computer Vision, Deep Learning, and OpenCV.
You can Learn Computer Vision and Deep Learning.
What most computer vision and deep learning courses and textbooks will tell you simply isn’t true:
- You don’t need complicated theory.
- You don’t need pages of complex math equations.
- And you certainly don’t need a degree in computer science or mathematics.
All you need is basic programming experience and a willingness to learn.
Now, don’t get me wrong, having a degree in computer science or mathematics won’t hurt anything.
And yes, there is a time and place for theory — but that’s certainly not when you’re first getting started.
You’re stuck. So was I.
I first started playing guitar twenty years ago, back when I was in middle school. I wasn’t very good and I gave it up only a couple years after I started.
Looking back, I strongly believe the reason I quit was because I wasn’t learning in a practical, hands-on manner.
Instead, my music teacher kept trying to drill theory into my head — but as an eleven year old kid, I was just trying to figure out whether I even liked playing guitar, let alone if I wanted to study the theory behind music in general.
How does this relate to Computer Vision and Deep Learning? I’m getting to that…
About a year and a half ago, I decided to start taking guitar lessons again.
This time, I took care to find a teacher who could blend theory and practice together, showing me how to play songs or riffs while at the same time learning a particular theoretical technique.
My finger speed is now faster than ever, my rhythm is on point, and I can annoy my wife to no end rocking Guns N’ Roses’ Sweet Child of Mine on my Les Paul.
My point is this:
Whenever you’re learning a new skill, whether it’s computer vision, deep learning, or even playing the guitar, one of the fastest, fool-proof methods to pick up the technique is to design, small real-world projects around the skill and try to solve it.
For the guitar, that meant I needed to learn short riffs that not only taught me parts of an actual song, but more importantly, gave me a valuable technique.
Computer Vision, Deep Learning, and OpenCV are no different — you need to learn skills, techniques, and algorithms through actual real-world projects.
Learn by Doing and Skip the Theory.
Over the past 5 years running the PyImageSearch community I’ve taken a super practical, hands-on approach to mastering Computer Vision and Deep Learning:
- Publishing over 350 free tutorials on applying CV, DL, and OpenCV to solve real-world skills.
- Authoring 3 books that are designed to help you master Computer Vision and Deep Learning.
- Creating PyImageSearch Gurus, the most complete, comprehensive Computer Vision course online today.
And you know what?
My methods work — and here’s the proof.
Readers who have worked through PyImageSearch tutorials have gone on to:
- Completely change their careers from developer to CV/DL researcher and land jobs at high profile R&D companies.
- Land $30,000+ in grant funding for computer vision research and go to publish novel papers in reputable journals.
- Win Kaggle’s most competitive image classification of all time — and not to mention, the $25,000 1st place prize.
- Go from developer all the way to CTO of a Computer Vision company with over $2M in funding…in only two years.
Don’t get me wrong — there is a time and place for theory, and if you decide you want to study CV and DL in more depth, I encourage you to pick up a textbook.
But for now…stop! Put the textbook down.
Trying to read such a book without having some practical, real-world experience first is a waste of your time.
I know this from experience.
You’re struggling (I struggled too).
Toward the end of my graduate school career (2013-2014), I wanted to start wrapping my head around this whole “deep learning” thing.
I was in a very unique situation. My dissertation was essentially wrapped up. Each of my PhD committee members had signed off on it; however, due to department regulations, I still had an extra semester I needed to “hang around” for before I could officially defend my dissertation and graduate.
That left me with an entire semester to kill — it was an excellent time to start studying deep learning.
My first stop, as is true for most academics and researchers, was to read through all the recent publications on deep learning.
Due to my machine learning background, it didn’t take me long to grasp the actual theoretical foundations of deep learning.
Yet transforming theory to implementation is a very different process.
Until you actually take your theoretical knowledge and implement it, you haven’t actually learned anything yet.
And that’s exactly what the problem was for me.
After reading those deep learning publications, I was left scratching my head. Trying (unsuccessfully) to take what I learned from the papers and implement the actual algorithms, let alone (1) reproduce the results or (2) do any novel research of my own, felt impossible.
Frustrated with my failed attempts at implementation, I spent hours searching on Google, hunting for deep learning tutorials.
Back then, there weren’t many deep learning tutorials to be found.
Finally, I resorted to playing around with libraries like Caffe, Theano, and Torch, blindly following poorly written blog posts (with mixed results, to say the least).
I wanted to get started, but nothing had actually *clicked* — the deep learning lightbulb was stuck in the “off” position.
To be totally honest with you, it was a painful, emotionally exhausting semester.
I could clearly see the value of deep learning for computer vision, but I had nothing to show for my efforts; except for a stack of deep learning papers on my desk that I understood but struggled to implement.
During the last month of the semester, I finally found my way to deep learning success through hundreds of trial-and-error experiments, countless late nights, and a lot of heartache and perseverance.
In the long run, those four months made a massive impact on my life, my research path, and how I understand and work with deep learning today…
…but I would not advise you to make the same mistakes and follow the same path I did!
Learn from My Mistakes.
If you take anything away from my personal experience, it should be this:
- You don’t need a decade of theory to get started with Computer Vision, Deep Learning, or OpenCV.
- You don’t need pages and pages of equations.
- You don’t need a degree in computer science.
I thought that way once, and let me tell you, I was dead wrong.
You can Apply Computer Vision and Deep Learning.
To get started all you need is a set of tutorials that not only present CV and DL algorithms thoughtfully and meticulously, but also provides implementations of them.
Sounds perfect, right?
If someone would just explain the algorithms in code rather than pages of equations, it would totally *click* for you — the lightbulb would flip “on” and you would finally see the path to CV and DL enlightenment.
If that sounds like you, I’ve got good news.
That’s exactly what you’ll find in:
- Each of the 350+ free tutorials on the PyImageSearch blog
- My free 17-crash course on Computer Vision and OpenCV
- All four of my (paid) books and courses
My teaching methods work — I’m living proof of it, and so are my students.
Your First Step.
Now I want to help you get the same results. The first step is simple.
Signup for my FREE 17-day email Crash Course on Computer Vision, Deep Learning, and OpenCV.
Inside the course you’ll:
- Learn by doing.
- Get your hands dirty with code and implementations.
- And most importantly, you won’t get bogged down with complex theory and equations.
You don’t need a degree in computer science or mathematics to take this course.
Just click the button below and enter your email address to join — you’ll receive your first lesson via email immediately.
I did deeplearning.ai, Udacity AI Nanodegree, and bunch of other courses…but for the last month I have always started the day by first finishing one day of your course. The projects are not too overwhelming but each project gets a key thing done, so they are super useful. I keep on finding myself getting back and looking at the source code from your projects, much more than I do from other courses. — Igor Marjanovic, Researcher and business owner