1 of 16

Pattern Recognition Applications for Embedded Systems

Master's Project Defense

University of California, Riverside

Bailey Herms

Advisor: Frank Vahid

2 of 16

Outline

  • Embedded Systems Explanation
  • Pattern Recognition Explanation
  • Combining Pattern Recognition and Embedded Systems
  • K-Nearest Neighbors
  • Project Description
  • Goal
  • Template
  • Code Explained
  • Applications
  • Demo
  • Conclusions

3 of 16

What are Embedded Systems?

  • A system of both software and hardware that is created to be used as a specific function within a greater system.
  • Used in almost every electronic device we use today.
  • Examples of products that have embedded systems include phones, washing machines, automobiles, and satellites.

Source: Mohammed Yusuf Ansari - CMU

4 of 16

What is Pattern Recognition?

  • Pattern recognition is a type of machine learning that works on detecting patterns in data.
  • This can be trained using data that is either labeled or unlabeled (supervised learning or unsupervised learning).
    • This system uses labeled data.

Source: K Square Inc.

5 of 16

Pattern Recognition in Embedded Systems

  • Few embedded systems developers have experience in pattern recognition systems.
  • Our framework -- Feature extraction/Classification/Actuation (FCA) -- assists embedded systems developers in creating pattern recognition systems.

6 of 16

K-Nearest Neighbors

  • The K-Nearest Neighbors algorithm is a type of supervised learning.
  • Given training data classified into groups, we can compare the testing data point to the classified data to find the testing data point's nearest neighbors.
  • Out of the nearest neighbors, the group that is the majority in the k nearest neighbors is the group that the testing data point is assigned to.

Source: Adi Bronshtein - A Medium Corporation

7 of 16

Project Description

  • This project creates a physical representation of an embedded system that uses pattern recognition showing the benefits of the FCA framework.
  • Several applications were developed using this system including box recognition, fruit recognition, and vending machine vandalism.
  • Various sensors are used to measure object features.
    • These sensors include IR break beam, distance sensor, weight sensor, color sensor, and accelerometer.
  • Created a template incorporating the FCA framework which can be used to develop new applications.

8 of 16

Goal

  • The main goal for this project is providing a template that can be used for implementing pattern recognition in embedded systems.
  • Part of this goal included creating working examples to show how this template can be manipulated for various applications.

9 of 16

Template

  • The template created for this project can be adapted to a new application in only a few hours.

10 of 16

Code Links

11 of 16

Boxes

  • 9/9 Successful trials.
  • Categories are Small, Medium, and Large.
  • Sensors used are IR break beam and 5 distance sensors.
  • 61 lines of code changed/added.
  • 2 hours to create from template.

[Add picture]

12 of 16

Cups

  • 6/6 Successful trials.
  • Categories are 11 oz Mug, 16 oz Mug, and Travel Mug.
  • Sensors used are IR break beam, weight sensor, and 3 distance sensors.
  • 68 lines of code changed/added.
  • 2 hours to create from template.
  • Challenge includes building the weight sensor scale.

[Add picture]

13 of 16

Fruits

[Add picture]

  • 19/20 Successful trials.
    • 1 pear was marked as an apple when bruised side faced color sensor.
  • Categories are Apple, Orange, Pear, and Lemon.
  • Sensors used are IR break beam, weight sensor, and color sensor.
  • 74 lines of code changed/added.
  • 3 hours to create from template.
  • Challenge includes setting up the color sensor.

14 of 16

Vending Machine

  • 17/20 Successful trials.
    • 8/10 Successful for Abnormal Shaking.
    • 9/10 Successful for Normal Shaking.
    • Could be due to human error.
  • Categories are Normal Shaking and Abnormal Shaking.
  • Sensor used is an Accelerometer.
  • 148 lines of code changed/added.
  • 4.5 hours to create from template.
  • Challenge includes setting up the accelerometer and restructuring code for application.

15 of 16

Demo Video

16 of 16

Conclusion

  • This project involved co-creating the FCA template, for Arduino, and changing the template for different pattern recognition scenarios
  • We showed there is a simple way to integrate pattern recognition into embedded systems that doesn't involve constantly reinventing the wheel.