Many PyImageSearch readers (myself included) are quarantined or displaced from their work, school, or research lab due to COVID-19.
I understand this is a terrible time for everyone and I want to help the best I can.
As I promised I would do yesterday:
- I’ve put together learning resources, both free and paid, for PyImageSearch readers to study CV/DL during the COVID-19 quarantine.
- I’ve included my recommended free tutorials, including a basic learning plan, later in this post.
- As for my paid material, I am offering a “30% off emergency discount” on my Deep Learning for Computer Vision with Python book to everyone on the PyImageSearch blog.
- If there is enough interest in the discount, I’ll open the discount to the rest of my books and courses as well.
- UPDATE: Based on reader interest, I am now offering the same 30% discount to all of my books and courses.
We will get through this together and I’m going to do my absolute best to help you and the rest of the PyImageSearch community receive the best possible Computer Vision and Deep Learning education while you’re displaced or quarantined.
This is a longer blog post, so I’ve included the higher-level bullet points at the top so you can quickly review them, but please read the post in its entirety for context — these are very sensitive topics which I am trying to handle with tact and care due to the delicate nature of the coronavirus (including how it’s affecting various people and families in different ways).
It’s challenging to balance these nuances and I’m doing the best I can, so if something I say rubs you the wrong way, rest assured, that is not my intention. We’re all friends and family here, and most importantly, we have each others best intentions in mind.
My priorities.
I have 4 things on my mind right now:
- My family. My wife, my dog, and myself are self-quarantined in our house and doing okay.
- My teammates. We are a remote team and are so fortunate to be so. Their health, and their families’ health, is placed above all else.
- The families of my teammates. Yesterday I issued a $500 COVID-19 stipend to every member of my team. If they need to pay for anything out-of-pocket due to the coronavirus, personal, business, or otherwise, expense it to PyImageSearch and I’ll cover it.
- My PyImageSearch community. I want you to be safe, both physically and mentally. This is a scary time. Regardless if we are physically sick or not, COVID still takes a significant toll on your mental health. I respect that and want to help.
The short, concise version.
Many of you are currently displaced from your work, school, and research labs.
I respect and understand how stressful, upsetting, and emotionally taxing that is for you (especially if you are a parent home with the kids trying to manage a mandatory work from home requirement).
I also believe that it is my moral obligation to help you however I can during this trying time.
The best possible way I can help you is by creating a safe space through “distraction via education”.
For readers who are looking for a free education I have:
- 350+ free tutorials on the PyImageSearch blog — you can access them and learn from them at any time (they are never behind a paywall)
- I’ve categorized, cross-referenced, and compiled these tutorials on my “Get Started” page which covers a total of 13 popular CV/DL topics
- If you’re brand new to CV/DL, make sure you follow the “How Do I Get Started?” section
- Otherwise, I suggest you read the “Deep Learning” and “Face Applications” sections (they tend to be the most popular)
- I would also recommend the “Medical Computer Vision” tutorials as they are quite relevant to the world today
- If you’re looking for a bit more “structure” to your learning, I also have a free 17-day email crash course on Computer Vision, Deep Learning, and OpenCV
- Also don’t forget to search the blog for keywords related to topics you want to learn — I’ve written tutorials on most popular CV/DL topics
For readers who are looking to have access to my paid books and courses:
- Many readers have been requesting that I run a sale on my books and courses so they can study during their downtime/quarantine
- At first, I was a bit hesitant about it — the last thing I want is for people to think I’m somehow using the coronavirus as a scheme to “make money”
- However, I respect and understand that some readers want to use this downtime to study and learn — they need a distraction during this trying time
- Therefore, I am offering a 30% discount on my Deep Learning for Computer Vision with Python book (that’s one of the largest discounts I’ve ever publicly offered, so please, understand that I’m doing my best)
If there is enough interest in this discount, I’ll open up the discount to the rest of my books and courses as well.
UPDATE: Based on reader interest, I am now offering the same 30% discount to all of my books and courses.
I again want to stress that this discount isn’t meant for profit and it’s certainly not planned (as I mentioned yesterday, I’ve spent my entire weekend, sick, trying to put all this together) — I believe it’s something that I need to do for those who want to use this downtime to study and/or as a distraction from the rest of the world.
The longer, better contextualized version.
We are in a very scary season of life right now.
Like all seasons, it will pass, but we need to hunker down and prepare for a cold winter — it’s likely that the worst has yet to come.
To be frank, I feel incredibly depressed and isolated. I see:
- Stock markets tanking.
- Countries locking down their borders.
- Massive sporting events being cancelled.
- Some of the world’s most popular bands postponing their tours.
- And locally, my favorite restaurants and coffee shops shuttering their doors.
That’s all on the macro-level — but what about the micro-level?
What about us as individuals?
It’s too easy to get caught up in the global statistics.
We see numbers like 6,000 dead and 160,000 confirmed cases (with potentially multiple orders of magnitude more due to lack of COVID-19 testing kits and that some people are choosing to self-quarantine).
When we think in those terms we lose sight of ourselves and our loved ones. We need to take things day-by-day. We need to think at the individual level for our own mental health and sanity. We need safe spaces where we can retreat to.
When I started PyImageSearch over 5 years ago, I knew it was going to be a safe space. I set the example for what PyImageSearch was to become and I still do to this day. For this reason, I don’t allow harassment in any shape or form, including, but not limited to, racism, sexism, xenophobia, elitism, bullying, etc.
The PyImageSearch community is special. People here respect others — and if they don’t, I remove them.
Perhaps one of my favorite displays of kind, accepting, and altruistic human character came when I ran PyImageConf 2018 (a PyImageSearch conference on Computer Vision, Deep Learning, and OpenCV).
Attendees were overwhelmed with how friendly and welcoming the conference was.
Dave Snowdon, software engineer and PyImageConf attendee said:
PyImageConf was without a doubt the most friendly and welcoming conference I’ve been to. The technical content was also great too! It was privilege to meet and learn from some of the people who’ve contributed their time to build the tools that we rely on for our work (and play).
David Stone, Doctor of Engineering and professor at Virginia Commonwealth University shared the following:
Thanks for putting together PyImageConf. I also agree that it was the most friendly conference that I have attended.
Why do I say all this?
Because I know you may be scared right now.
I know you might be at your whits end (trust me, I am too).
And most importantly, because I want PyImageSearch to be your safe space.
- You might be a student home from school after your semester prematurely ended, disappointed that your education has been put on hold.
- You may be a developer, totally lost after your workplace chained its doors for the foreseeable future.
- You may be a researcher, frustrated that you can’t continue your experiments and authoring that novel paper.
- You might be a parent, trying, unsuccessfully, to juggle two kids and a mandatory “work from home” requirement.
Or, you may be like me — just trying to get through the day by learning a new skill, algorithm, or technique.
I’ve received a number of emails from PyImageSearch readers who want to use this downtime to study Computer Vision and Deep Learning rather than going stir crazy in their homes.
I respect that and I want to help, and to a degree, I believe it is my moral obligation to help how I can:
- To start, there are over 350+ free tutorials you can learn from on the PyImageSearch blog. I publish a new tutorial every Monday at 10AM EST. I’ll be continuing to do so during the quarantine.
- I’ve categorized, cross-referenced, and compiled these tutorials on my “Get Started” page.
- The most popular topics on the “Get Started” page include “Deep Learning” and “Face Applications” .
- I would also recommend you take a look at my free 17-day email crash course on Computer Vision, Deep Learning, and OpenCV
All these guides are 100% free and never behind a paywall. Use them to study and learn from.
That said, many readers have also been requesting that I run a sale on my books and courses:
Hi Adrian and Team,
I have Raspberry Pi for Computer Vision (Hacker Bundle) and am considering upgrading to the Complete Bundle. Know you have upgrade discounts on occasion, and am hoping you will cut me a deal now, nevertheless.
Have some downtime due to COVID-19 and would like to continue my journey in CV.
Many thanks and stay safe,
Bob
At first, I was a bit hesitant about running a discount — the last thing I want is for people to think I’m somehow using the coronavirus as a scheme to “make money”.
But the truth is, being a small business owner who is not only responsible for myself and my family, but the lives and families of my teammates, can be terrifying and overwhelming at times.
To that end, just like:
- Bands and performers are offering discounted “online only” shows
- Restaurants are offering home delivery
- Fitness coaches are offering training sessions online
…I’m doing the same.
That’s one of the largest discounts I’ve ever publicly offered, so please, understand that I’m doing my best.
If there is enough interest, I will open up the rest of my library of books/courses and offer the same discount.
I again want to stress that this discount isn’t meant for profit and it’s certainly not planned (I’ve spent my entire weekend, sick, trying to put all this together).
Instead, it’s discount to help people, like me (and perhaps like yourself), who are struggling to find their safe space during this mess. Let myself and PyImageSearch become your retreat.
Thank you and stay safe.
–Adrian Rosebrock
P.S. I typically only run one big discounted sale per year (Black Friday), but given how many people are requesting it, I believe it’s something that I need to do for those who want to use this downtime to study and/or as a distraction from the rest of the world.
Feel free to join in or not. It’s totally okay. We all process these tough times in our own ways.
But if you need rest, if you need a haven, if you need a retreat through education, whether through my free tutorials or paid books/courses, I’ll be here for you.
Join the PyImageSearch Newsletter and Grab My FREE 17-page Resource Guide PDF
Enter your email address below to join the PyImageSearch Newsletter and download my FREE 17-page Resource Guide PDF on Computer Vision, OpenCV, and Deep Learning.
beyondzhou
many thanks
Kevin S
Thanks, you’re a cool dude! Quick opinion question, do you think there is any benefit to learning cv coding in C++ or C as opposed to OpenCV? I’m new to the space, but I’ve read some opinions that say learning the actual code is better in the long run, less constraining, but also more time consuming. Personally, I’m interested in binocular stereo vision using a jetson nano. What are your thoughts? Thanks again for your help in the cv community!
Adrian Rosebrock
Python is by far the fastest way to learn OpenCV. It allows you to quickly learn the library and build projects. It also allows you to integrate with some of the most popular deep learning and machine learning libraries/packages, including TensorFlow, Keras, scikit-learn, etc.
Furthermore, OpenCV’s function names are near identical between Python and C++. If you learn how to implement a pipeline in Python you can implement it in C++ as well.
Therefore, most CV practitioners will use Python for rapid prototyping. In some cases their implementation is sufficient and they are done. In other cases they can port their implementation over to C++ once they are confident it is working.
Kevin Willey
Adrian, I believe KevinS was asking whether he should use OpenCV at all (regardless of the language used to build the pipeline). He had heard from “experts” that it was better to implement your own functionality (in C or C++) versus using OpenCV.
Adrian Rosebrock
Thanks for the clarification there.
I’m not sure which experts KevinS may have been speaking to, or what context the conversation took place it, but I would recommend against re-implementing the wheel.
Anyone who has taken a data structures or algorithms Computer Science course knows how hard it is to implement some of the more advanced data structures by hand. It’s a good exercise but the implementations you created during those courses wouldn’t be used in production.
The same goes for computer vision/deep learning algorithms. There are a lot of nuances in them, and yes, while implementing them by hand may be a good educational experience, you would never actually take those same implementations and deploy them.
Instead, learn about the underlying algorithms, read their original papers, and even study already implemented code (such as the code in the OpenCV library, for example), but don’t attempt to re-invent the wheel — that’s just not a good use of time.
Fred Decker
Do you recommend an IDE that works with python and offers code completion and the equivalent of “intellisense” on a Raspberry Pi? On my PC, I use Embarcadero RAD Studio, Microsoft Visual Studio, and for Arduino project, Visual Studio Code with the PlatformIO plugin. I assume I would need a Python plugin for whatever is out there. I think Geany is an option, but would love to use an interface I already know. I saw VSC can be installed on a Pi, but saw updates were breaking it. Thank You!
Adrian Rosebrock
I use PyCharm and Sublime Text often. For you, I think PyCharm would be a good option, especially since it seems you are doing remote development on a Raspberry Pi. See this tutorial for more details.