Raspberry Pi for Computer Vision [ eBook ]
You can teach your Raspberry Pi to "see" — using Computer Vision, Deep Learning, and OpenCV. I'll show you how, inside this book.
This project will only be funded if it reaches its goal by Fri, May 10 2019 1:59 PM UTC +00:00.
Computer Vision, Deep Learning, and Internet of Things (IoT) are three of the fastest-growing industries and subjects in computer science — you will learn how to combine all three using the Raspberry Pi inside my new book.
Whether this is the first time you've worked with the Raspberry Pi, or you're a hobbyist who's been working with the Pi for years, Raspberry Pi for Computer Vision will enable you to "bring sight" to the Pi.
Inside this book you will learn how to:
- Build practical, real-world computer vision applications on the Pi
- Create computer vision and Internet of Things (IoT) projects and applications with the RPi
- Optimize your OpenCV code and algorithms on the resource constrained Pi
- Perform Deep Learning on the Raspberry Pi (including utilizing the Movidius NCS and OpenVINO toolkit)
- Create self-driving car applications with a Pi
To learn more about this book and how it can enable you to build computer vision, deep learning, and IoT projects, just keep reading.
See this page for more details on the Kickstarter stretch goals.
Raspberry Pi for Computer Vision will teach you how to apply computer vision and deep learning to the Raspberry Pi.
You will learn via practical, hands-on projects (with lots of code) so you can not only develop your own computer vision/deep learning projects on the Pi, but also feel confident while doing so.
Inside the book we will focus on:
- Getting started with computer vision on the Raspberry Pi
- Computer vision and IoT projects on the Pi
- Servos, PID, and controlling the Pi using computer vision
- Human activity, home surveillance, and facial applications
- Deep learning on the Raspberry Pi
- Fast, efficient deep learning with the Movidius NCS and OpenVINO toolkit
- Self-driving car applications on the Raspberry Pi
- Tips, suggestions, and best practices when performing computer vision and deep learning with the RPi
I have 40+ chapters planned out, with more to come!
Since this is already a huge amount of content to cover, I've decided to break the book down into three volumes called "bundles".
Each bundle includes the eBook files, source code, and pre-configured Raspbian .img file (with all the necessary computer vision and deep learning libraries/packages you need pre-installed) for a given volume.
I've included a short breakdown of the three bundles below:
- Hobbyist Bundle: A great fit if this is your first time your working with computer vision or the Raspberry Pi. Here, you'll learn basic computer vision algorithms that can easily be applied to the Pi. You'll build hands-on applications including a wildlife monitor/detector, home video surveillance, pan/tilt servo tracking, and more!
- Hacker Bundle: Perfect for readers who want to learn more advanced techniques, including deep learning, working with the Movidius NCS, OpenVINO toolkit, and self-driving car applications. You'll also learn my tips, suggestions, and best practices when applying computer vision on the Raspberry Pi.
- Complete Bundle: The full Raspberry Pi and computer vision experience. You'll have access to every chapter in the book, video tutorials, a hardcopy of the text, and access to my private community and forums for additional help and support.
Raspberry Pi for Computer Vision is more than just a book — it's your complete training program and guide.
After going through the text and code you will be able to develop computer vision, deep learning, and IoT applications of your own on the Pi — I guarantee it.
So, why buy Raspberry Pi for Computer Vision?
Why not some other book or course?
When it comes to computer vision and deep learning, my name and the PyImageSearch brand have become synonymous with super high-quality tutorials and guides.
Here are 5 reasons why this book is better than any other computer vision + Raspberry Pi book/course online today:
1. PRACTICAL, REAL-WORLD PROJECTS
When I brainstormed the initial chapter list for Raspberry Pi for Computer Vision, I asked myself a simple question for each and every chapter: "Will readers be able to use this in the real-world?"
If not, I threw out the idea.
I've made sure that every chapter will enable you to apply computer vision with the Raspberry Pi to real-world projects. Here is just a sample:
- Build and deploy a remote wildlife monitor, capable of detecting wildlife and saving clips of wildlife activity
- Create a neighborhood vehicle speed monitor that detects cars, estimates their speed, and logs driver activity
- Track your family members and pets throughout the house using multiple cameras and multiple Raspberry Pis
- Deploy your Raspberry Pi into vehicles and detect tired, drowsy drivers (and sound an alarm to wake them up)
- Perform face recognition on the Raspberry Pi
- ...and much more!
2. HANDS-ON CODING
In this book you will learn by doing. You'll roll up your sleeves and get your hands dirty with code.
Furthermore, I'll be there to code with you:
- Each and every chapter starts with an empty directory
- We then design the project structure and write the code from scratch
- Along the way I explain what the code is doing, why I'm doing it, and under what situations you would want to apply the same technique as well
The goal is to help you understand exactly what the code is doing, and why we're doing it.
Additionally, all code is organized, documented, and commented, ensuring you can take it and easily apply it to your own projects. The code/chapters can be used as a template for whatever applications YOU choose to build (you won't be restricted to just the examples in the book).
3. CLEAR, EASY-TO-FOLLOW TUTORIALS
This book won't bury you under a pile of theory or pages and pages of complex equations.
Instead, you'll learn through intuitive chapters that are super practical and present solutions to actual real-world computer vision + deep learning problems on the Raspberry Pi.
I take the time to dissect each and every example, ensuring you not only understand what is going on but why we're doing.
By the end of the book you'll be confident in your ability to apply computer vision and deep learning on the Raspberry Pi through the easy-to-follow guides.
4. UNPARALLELED SUPPORT
When was the last time you emailed a book or course author with a question?
How long did it take for them to respond? A few days? Weeks?
More than likely they never responded at all.
This book is different, and that's primarily because I hold myself and PyImageSearch to an incredibly high standard.
When you buy a book or course from me, you're not just getting the content itself — you're also getting access to me and the PyImageSearch team.
Over the past 5 years running PyImageSearch, I've personally answered 50,000+ emails and 15,000+ blog post comments, and helped 10,000s of developers, researchers, and students learn the ropes of computer vision and image processing.
I am committed to helping you learn how to apply computer vision and deep learning on the Raspberry Pi. You will not find better support anywhere else online, guaranteed.
5. EXPERT ADVICE
Inevitability, when working on your projects you'll have a question. Questions are a good thing — they mean you're pushing the boundaries of your current knowledge, and are looking to expand your understanding.
In those situations you'll need expert advice.
With our unparalleled support (detailed above) you know your question won't get left unanswered.
I'll be there to help you each step of the way.
This book is for developers, hackers, hobbyists, students, and researchers who want to build computer vision and deep learning applications with the Raspberry Pi, and have at least some programming/scripting experience.
Are you brand new to the world of computer vision, deep learning, and the Raspberry Pi?
This book assumes that you have prior programming experience (e.g., you know what a variable, function, loop, etc. are). It does not make any assumptions on your previous experiences with computer vision and deep learning.
That said, having some experience in both computer vision and deep learning can be very helpful while working through the material (especially in the more advanced chapters).
If you have little-to-no experience with computer vision and deep learning, don't worry — this book is still for you; but I would highly recommend you select a Kickstarter reward add-on that includes either Practical Python and OpenCV, the PyImageSearch Gurus course, or Deep Learning for Computer Vision with Python.
Those books and courses will help you get up to speed quickly, to ensure you get the most value out of this book.
Do you already have experience with computer vision and deep learning?
Then you'll feel right at home when working through this book!
You'll be able to immediately jump in and start applying computer vision and deep learning to the Pi.
If you need a little extra help with your computer vision or deep learning skills, make sure you select an add-on such as the PyImageSearch Gurus course or Deep Learning for Computer Vision with Python, to help you level-up your existing skills quickly.
Is this your first time working with the Raspberry Pi?
Don't worry. We'll spend a couple chapters familiarizing ourselves with the hardware, how to work with resource-constrained devices such as the Pi, and how to get every last little bit of performance out of it.
After only a few chapters, you'll have enough experience to start building practical, real-world computer vision + deep learning projects on the Raspberry Pi.
I'm Adrian Rosebrock, a Ph.D and entrepreneur, who has spent his entire adult life studying computer vision and deep learning.
Over the past 5 years alone I have:
- Started the PyImageSearch.com blog and published 300+ tutorials and articles aimed at teaching computer vision, deep learning, and OpenCV.
- Authored my first book, Practical Python and OpenCV, which was featured on the official OpenCV.org website.
- Created PyImageSearch Gurus, an actionable, real-world course on computer vision and OpenCV. This course is the most comprehensive online computer vision education today, covering 13 modules broken out into 168 lessons, with over 2,161 pages of content.
- Authored Deep Learning for Computer Vision with Python, my 900+ page magnum opus, featuring super practical walkthroughs, hands-on tutorials (with lots of code), and a no-nonsense teaching style, guaranteed to help you master computer vision and deep learning.
Teaching computer vision and deep learning is my passion, and I want to pass this passion on to you.
If applying computer vision, deep learning, and IoT to the Raspberry Pi sounds interesting to you, I hope you'll consider helping me bring this project to life.
By the time you finish going through this book, you'll be building your own Raspberry Pi and computer vision applications. I absolutely guarantee that.
See you on the other side!
The main reward for this Kickstarter campaign is the Raspberry Pi for Computer Vision eBook, offered at a discounted rate from what the price will be once the book is released to the general public in Autumn 2019.
These rates/prices are exclusive to the Kickstarter campaign and will not be available once Raspberry Pi for Computer Vision officially launches.
Since the book covers so much content, I have broken it into three volumes called "bundles", so you can decide which is most appropriate for you based on:
- How in-depth you would like to study computer vision and deep learning on the Raspberry Pi?
- Which projects/chapters in the book interest you the most?
- What is your particular budget?
- Would you would like any add-ons, including Practical Python and OpenCV, Deep Learning for Computer Vision with Python, or the PyImageSearch Gurus course? (All three of these add-ons will help you get up to speed with computer vision and deep learning before you start applying them to the Pi. I highly recommend at least one of these add-ons if you are new to computer vision or deep learning.)
Bundles will include:
- The eBook files in PDF, .mobi, and .epub format
- All source code listings, datasets, and pre-trained models so you can run the examples in the book out-of-the-box
- A downloadable pre-configured Raspbian .img file with Python, OpenCV, and all necessary machine learning + deep learning libraries pre-installed. )No need to configure your Pi, just flash the .img file to your SD card and boot — you'll be up and running in minutes)
- Video tutorials and walkthroughs for each chapter in the book (Complete Bundle only)
- Access to private Raspberry Pi + computer vision community forums, enabling you to better connect with me and other readers, and get faster, more detailed answers to your questions (Complete Bundle only)
- A hard copy edition of the book delivered to your doorstep (Complete Bundle only)
A high-level overview of what's inside each bundle is included below. Each bundle builds on top of the others, and includes all content from lower tiers.
The Hobbyist Bundle is appropriate if you are (1) new to the world of computer vision, (2) just testing the waters of the Raspberry Pi hardware, or (3) on a budget.
Inside this bundle you will learn the basics of computer vision on the Raspberry Pi by building practical, hands-on projects, including:
- a wildlife monitor
- a video surveillance system
- a method to detect tired drivers before they fall asleep at the wheel
- traffic vehicle counting
- people/footfall counting
- and much more!
While this is the lowest tier bundle, you'll still get a great education with a lot of hands-on experience.
That said, for a more in-depth treatment of computer vision on the Raspberry Pi, I would recommend either the Hacker Bundle or the Complete Bundle.
Bottom Line: The Hobbyist Bundle is a great first step toward applying computer vision to the Raspberry Pi. You'll learn basic, yet essential, algorithms that can be applied to your own projects. If you are for going with this bundle because you're new to the world of computer vision or machine learning, then you should absolutely look at the Practical Python and OpenCV and PyImageSearch Gurus add-ons below — both of these can be used to help level-up your skills quickly.
The Hacker Bundle is geared towards more advanced computer vision algorithms, and incorporates significantly more deep learning techniques, including classification, object detection, the OpenVINO toolkit, and working with the Movidius NCS.
Inside this bundle you will learn how to:
- Train and deploy a deep learning model for gesture recognition
- Utilize transfer learning to train a model for delivery truck detection and recognition
- Detect vehicles/cars and estimate speed their speed as they are driving down the road
- Utilize the Movidius NCS for classification, object detection, and face recognition
- Create self-driving car applications using the GoPiGo3, including lane/line following, detecting (and obeying) traffic lights, and driving to specific objects
- ...and much more!
The Hacker Bundle gives you the best bang for your buck — you get every chapter in the Hobbyist Bundle, along with all the chapters in the Hacker Bundle, including robotics/self-driving car applications with the Pi:
If you're even remotely serious about applying computer vision to the Raspberry Pi, you should go with this bundle.
Bottom Line: You should choose the Hacker Bundle if you want an in-depth treatment of computer vision and deep learning on the Raspberry Pi, but cannot afford the Complete Bundle.
You should also choose this bundle if you are interested in the Movidius NCS or OpenVINO toolkit. If you're new to computer vision and deep learning, I would highly suggest you also get the PyImageSearch Gurus and/or Deep Learning for Computer Vision with Python add-ons — both will teach you computer vision + deep learning quickly (so you can get more value out of the Pi book).
The Complete Bundle includes all chapters from both the Hobbyist Bundle and Hacker Bundle.
This bundle also includes:
- All bonus chapters from stretch goals during the Kickstarter campaign (including chapters that are written after the campaign has ended)
- A hard copy edition of the Raspberry Pi for Computer Vision text (this is the only bundle that includes a hard copy edition)
- Video tutorials and walkthroughs for each chapter (the other bundles do not include the video guides)
- Access to private Raspberry Pi + computer vision community forums, enabling you to better connect with myself and other readers, and get faster, more detailed answers to your questions (reminder, the other two bundles do not have access to these forums)
Bottom Line: You should go with the Complete Bundle if (1) you want to study computer vision and deep learning on the Raspberry Pi in-depth and (2) you want additional help and support along the way. When it comes to computer vision on the Raspberry Pi, you can't beat this bundle! Be sure to take a look at the additional add-ons below to boost your skills before you get started.
After choosing a bundle for Raspberry Pi for Computer Vision, you should also decide whether you would like any add-ons to help start or level-up your computer vision + deep learning education before you start the Pi book.
I highly recommend that you choose at least one of these add-ons to make the most out of Raspberry Pi for Computer Vision, and to enhance your existing knowledge.
The image below describes what topics are covered in each add-on. I've included descriptions of each add-on as well.
Along with the Raspberry Pi for Computer Vision book bundles, I'm offering a Kickstarter-exclusive printing of my first book, Practical Python and OpenCV.
This book is your guaranteed quick-start guide to learning the fundamentals of computer vision and image processing using OpenCV and Python.
Bottom Line: You should choose the Practical Python and OpenCV reward if you have zero (or minimal) experience in computer vision or OpenCV, and want to learn the basics in less than a weekend. Please see this page for more details on my book.
The PyImageSearch Gurus course is similar to a college-level survey course on computer vision, but far more detailed and much more hands-on and practical.
Inside the PyImageSearch Gurus course you'll find:
- An actionable, real-world course on computer vision and OpenCV
- The most comprehensive computer vision education online today, including 13 modules broken out into 168 lessons, with over 2,161 pages of content
- A community of like-minded developers, researchers, and students — just like yourself — who are eager to study computer vision
If you're a regular reader of the PyImageSearch blog, you know that I don't discount the PyImageSearch Gurus course (normally a one-time payment of $995).
You'll be getting a HUGE deal by going with any reward that includes this course (the cost of Raspberry Pi for Computer Vision is essentially FREE once you build in the price of the Gurus course.) You can learn more about the PyImageSearch Gurus course here.
Bottom Line: You should choose the PyImageSearch Gurus course add-on if you want to study computer vision in-depth, enabling you to better develop computer vision applications for your Raspberry Pi.
Raspberry Pi for Computer Vision will utilize deep learning significantly in both the Hacker Bundle and Complete Bundle.
If you back either of these rewards, you should absolutely consider adding my book Deep Learning for Computer Vision with Python as well.
Inside my deep learning book you'll find:
- Super practical walkthroughs that present solutions to actual, real-world image understanding problems (including image classification, object detection, and instance segmentation)
- Hands-on tutorials (with lots of code) that not only show you the algorithms behind deep learning for computer vision but their implementations as well
- A no-nonsense teaching style that is guaranteed to help you master deep learning for image understanding and visual recognition
Whether this is the first time you've worked with machine learning and neural networks, or you're already a seasoned deep learning practitioner, Deep Learning for Computer Vision with Python is engineered from the ground up to help you reach expert status.
After going through this book, you'll have a strong ability to:
- Design and create your own image datasets
- Implement custom neural network architectures
- Successfully train your networks (including image classification, object detection, and instance segmentation)
- Deploy the trained models to the Raspberry Pi
Here are just some of the reviews readers had to share after going through the book:
- "This book is a great, in-depth dive into practical deep learning for computer vision." — François Chollet, creator of Keras
- "The best Deep Learning program ever created." — Andrew Baker, Software/Hardware Engineer
- "By far, one of the most well-written, informative books that I've read on the subject. Adrian takes months, perhaps even years, of research via trial and error, and condenses it into a single, information-packed book!" — James, PyImageSearch reader
Bottom Line: You should go with this add-on if you have any interest in studying deep learning. This book has helped 1,000s of developers, researchers, and students master deep learning for computer vision. The knowledge in this book can be directly applied to your own computer vision + deep learning projects on the Pi. Best of all, Raspberry Pi for Computer Vision is essentially FREE once you build in the price of the deep learning book.
This add-on includes every single book/course I've ever written, including the three add-ons detailed above:
- Practical Python and OpenCV
- Deep Learning for Computer Vision with Python
- The PyImageSearch Gurus course
Not only will you be getting the Raspberry Pi for Computer Vision book, but you'll also be getting ~30% OFF the normal price for these three resources (compared to the list price).
This is a HUGE discount, so if you're interested in getting a complete computer vision + deep learning education, this is the add-on to go for!
Bottom Line: You should choose this add-on if you want access to my entire library of books and courses. You'll be getting ~30% OFF the normal list price — and you'll be getting the most complete, comprehensive computer vision and deep learning education available today. The knowledge gained from these books and courses will better help you to build computer vision and deep learning applications on your Raspberry Pi.
I've constructed this flowchart to help you decide which bundle and reward tier is most appropriate for you:
We'll be utilizing the Python programming language for this book. Python is an extremely easy language to learn and has a huge number of powerful packages; it is the best way to apply computer vision to the Raspberry Pi.
We'll be using OpenCV, the de facto standard library for strict computer vision and image processing applications. You'll find OpenCV easy to use, especially with the hands-on projects in the text.
When training our own custom deep learning models we'll be using Keras and TensorFlow. Using Keras makes it possible for us to more easily build our datasets, train our models, and deploy them to the Raspberry Pi.
When planning and writing the code for Raspberry Pi for Computer Vision, I tried to make sure there are no additional hardware dependencies beyond a USB webcam or a Raspberry Pi camera module.
I'll show you my suggested hardware for GPIO, servos, etc., but it's not a requirement for you to use the hardware I suggest (or even any hardware other than the Pi and camera).
I want to respect the fact that the Raspberry Pi community consists of many hackers and hobbyists. You're hear to learn the computer vision and deep learning components on the Pi. I will teach you that and provide my recommendations — you will then have the knowledge you need to acquire whatever additional hardware you would like.
The NCS and GoPiGo3 are sold separately from this book (to help keep costs down, especially for readers who are not interested in those chapters).
BUT — if you chose to back this campaign, I have arranged exclusive discounts with Dexter Industries (and hopefully Intel) for both the Movidius NCS and GoPiGo3 — after the Kickstarter campaign ends, I will provide you with a link to purchase them at the discounted rate.
Provided this Kickstarter campaign is successfully funded, I intend to 100% complete and release the Hobbyist Bundle 100% complete and released by September 2019. The Hacker Bundle will be released in October 2019. Finally the Complete Bundle will be released in November 2019.
I have included a timeline of important events below.
Given my experience authoring blog posts, tutorials, books, and courses, I am extremely comfortable with my writing abilities. I'm confident that I can deliver these three bundles by the proposed deadlines in Autumn/Winter 2019.
Risks and challenges
The Raspberry Pi for Computer Vision book is squarely in the "alpha phase". We've coded up and gathered results for ~70% of the chapters. We have a clear path to gathering the remaining 30% of results to create a publishable work as well.
Once we have all the necessary code + results, I can crank out chapter after chapter without any problem. When I was writing Deep Learning for Computer Vision with Python, there were times where I could write 2+ chapters in a single day. Given my experience and expertise in this area, I believe many of the risks and challenges have already been mitigated.
Launch timing: Every project has inherent risks and potential unforeseen circumstances that cause delays in a launch. That said, I don't expect any significant hiccups along the way and am confident I can deliver by the September 2019 deadline. If there is any type of delay in the publishing process, I'll absolutely keep you in the loop at all times.
Experience: Over the past five years running the PyImageSearch blog, I have authored 300+ blog posts/tutorials, a 275 page book, a 900+ page book, and a 2,161 page course. I have no doubt that I'll be able to deliver a high-quality book, enabling you to apply computer vision and deep learning to your Raspberry Pi.Learn about accountability on Kickstarter
- All gone!