© 2021

Computer Vision with Maker Tech

Detecting People With a Raspberry Pi, a Thermal Camera, and Machine Learning


Table of contents

  1. Front Matter
    Pages i-xiii
  2. Fabio Manganiello
    Pages 1-86
  3. Fabio Manganiello
    Pages 87-158
  4. Fabio Manganiello
    Pages 159-225
  5. Back Matter
    Pages 227-234

About this book


Harness the untapped potential of combining a decentralized Internet of Things (IoT) with the ability to make predictions on real-world fuzzy data. This book covers the theory behind machine learning models and shows you how to program and assemble a voice-controlled security.

You’ll learn the differences between supervised and unsupervised learning and how the nuts-and-bolts of a neural network actually work. You’ll also learn to identify and measure the metrics that tell how well your classifier is doing. An overview of other types of machine learning techniques, such as genetic algorithms, reinforcement learning, support vector machines, and anomaly detectors will get you up and running with a familiarity of basic machine learning concepts. Chapters focus on the best practices to build models that can actually scale and are flexible enough to be embedded in multiple applications and easily reusable.

With those concepts covered, you’ll dive into the tools for setting up a network to collect and process the data points to be fed to our models by using some of the ubiquitous and cheap pieces of hardware that make up today's home automation and IoT industry, such as the RaspberryPi, Arduino, ESP8266, etc. Finally, you’ll put things together and work through a couple of practical examples. You’ll deploy models for detecting the presence of people in your house, and anomaly detectors that inform you if some sensors have measured something unusual. And you’ll add a voice assistant that uses your own model to recognize your voice. 

You will:

  • Develop a voice assistant to control your IoT devices
  • Implement Computer Vision to detect changes in an environment
  • Go beyond simple projects to also gain a grounding machine learning in general
  • See how IoT can become "smarter" with the inception of machine learning techniques
  • Build machine learning models using TensorFlow and OpenCV


machine learning computer vision Raspberry Pi Arduino ESP8266 GPIO voice assistant Jupyter TensorFlow

Authors and affiliations

  1. 1.AmsterdamThe Netherlands

About the authors

Fabio Manganiello is a 15 year veteran in machine learning and dynamic programming techniques. In his career, he has worked on natural language processing with a focus on automatically labelling and generating definitions for unknown terms in big corpora of unstructured documents; on an early voice assistant (Voxifera) developed back in 2008; on machine learning techniques for clustering, inferring correlations, and preventing the next step in complex attacks by analysing the alerts of an intrusion detection system; and several libraries to make model design and training easier. In the recent years, he has combined his passion for machine learning with IoT and distributed systems. From self-driving robots, to people detection, to anomaly detection, to data forecasting, he likes to combine the flexibility and affordability of tools such as RaspberryPi, Arduino, ESP8266, MQTT, and cheap sensors with the power of machine learning models. He's an active IEEE member and open source enthusiast, and has contributed to hundreds of open source projects over the years.

Bibliographic information