I’m a professional Computer Vision/Deep Learning developer and researcher
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 mastery.See my books and courses
Hi there, I’m Adrian Rosebrock, PhD.
I’m a 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.
During my final semester of graduate school 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.
You can Learn Computer Vision and Deep Learning.
What most computer vision and deep learning courses and textbooks tell you simply isn’t true:
- You don’t need complicate 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 it’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.
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 friend 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, including:
- Publishing over 350 free tutorials on applying CV, DL, and OpenCV to solve real-world skills.
- Authoring 4 books and courses that are designed to help you master Computer Vision and Deep Learning.
And you know what?
My method works — 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.
- Publish novel research papers in reputable journals.
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 practical, real-world experience first is a waste of your time.
And 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.
However, I’m of the opinion that until you actually take your theoretical knowledge and implement it, you haven’t actually learned anything yet.
Transforming theory to implementation is a very different process.
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.
Frustrated with my failed attempts at implementation, I spent hours searching on Google, hunting for deep learning tutorials, only to come up empty-handed.
Back then, there weren’t many deep learning tutorials to be found.
Finally, I resorted to playing around with libraries such as 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* yet — the deep learning lightbulb was stuck in the “off” position.
To be totally honest with you, it was a painful, emotionally trying semester.
I could clearly see the value of deep learning for computer vision, but I had nothing to show for my effort, 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 thoughtfully and meticulously present CV and DL algorithms, 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:
My teaching methods work — I’m living proof of it and so are my students.