Book Image

Smart Internet of Things Projects

By : Agus Kurniawan
Book Image

Smart Internet of Things Projects

By: Agus Kurniawan

Overview of this book

Internet of Things (IoT) is a groundbreaking technology that involves connecting numerous physical devices to the Internet and controlling them. Creating basic IoT projects is common, but imagine building smart IoT projects that can extract data from physical devices, thereby making decisions by themselves. Our book overcomes the challenge of analyzing data from physical devices and accomplishes all that your imagination can dream up by teaching you how to build smart IoT projects. Basic statistics and various applied algorithms in data science and machine learning are introduced to accelerate your knowledge of how to integrate a decision system into a physical device. This book contains IoT projects such as building a smart temperature controller, creating your own vision machine project, building an autonomous mobile robot car, controlling IoT projects through voice commands, building IoT applications utilizing cloud technology and data science, and many more. We will also leverage a small yet powerful IoT chip, Raspberry Pi with Arduino, in order to integrate a smart decision-making system in the IoT projects.
Table of Contents (13 chapters)
Smart Internet of Things Projects
Credits
About the Author
About the Reviewer
www.PacktPub.com
Preface
Index

Introducing pattern recognition for machine vision


Pattern recognition is an important part of machine vision or computer vision, to teach a machine to understand the object in an image.

In this section, we explore a paper by Paul Viola and Michael Jones about Rapid Object Detection using a Boosted Cascade of Simple Features. This paper describes a machine learning approach for visual object detection.

In general, the Viola and Jones approach is known as Haar Cascades. Their algorithm uses AdaBoost algorithm with the following classifier:

Fortunately, the OpenCV library has implemented Viola and Jones' approach to visual object detection. Other people also contributed to data training from Haar Cascades. You can find training data files on the OpenCV source code, which is located on <opencv_source_codes>/data/haarcascades/.

You can now test detection of faces on an image using the Haar Cascades approach. You can write the following scripts:

import numpy as np
import cv2


face_cascade ...