Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 8 additions & 8 deletions AnomalousVibrationDetection/README.md
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
# Anomaly Detection for Vibrating Machinery - Starter Model Project
# Anomaly Detection for Vibrating Machinery - Studio Accelerator Project

This project is designed to work exclusively with DEEPCRAFT™ Studio. Download it from [here](https://softwaretools.infineon.com/assets/com.ifx.tb.tool.deepcraftstudio)

## Use-case description

This starter model aims to provide general guidance on how to develop an **anomaly detection system** for detecting anomalous behavior in machinery based on vibration measurements.
This Accelerator project aims to provide general guidance on how to develop an **anomaly detection system** for detecting anomalous behavior in machinery based on vibration measurements.
This project will monitor a simple desktop fan, but the same concept and workflow can be easily ported to any other machinery, whether industrial or consumer.

The task is framed as a **classification project**: a type of Supervised Learning where a model learns to classify data into a discrete number of classes. For this project, only two classes will be used: normal functioning and anomalous functioning. You will need to provide both normal and anomalous data for the machinery you want to monitor to build a robust classifier.

### How can I know if this project fits my use case?

You can use this starter project if:
You can use this Accelerator project if:

- You need to monitor a machinery whose behavior can be inferred by its vibration;
- You have the possibility of collecting both normal functioning data and anomalous functioning data, either from an already faulty machine or by artificially inducing anomalies on a functioning machine.
Expand Down Expand Up @@ -41,7 +41,7 @@ This project demonstrates how to approach classification-based vibration monitor

## Sensor settings specification

This starter project requires the [PSOC™ 6 AI Evaluation Kit](https://www.infineon.com/cms/en/product/evaluation-boards/cy8ckit-062s2-ai/). This platform is equipped with PSoC™ 6 MCU and IMU sensors. The board is designed for easy prototyping and lets you collect real-life data to easily build a compelling ML product fast.
This Accelerator project requires the [PSOC™ 6 AI Evaluation Kit](https://www.infineon.com/cms/en/product/evaluation-boards/cy8ckit-062s2-ai/). This platform is equipped with PSoC™ 6 MCU and IMU sensors. The board is designed for easy prototyping and lets you collect real-life data to easily build a compelling ML product fast.

The desktop fan is optional; you may want to collect data directly from your machinery instead. However, if you want to replicate the project out-of-the-box with a small desktop fan, any inexpensive product similar to the one shown will be suitable:

Expand Down Expand Up @@ -77,7 +77,7 @@ Once you have completed data collection, you can save the sample in the `Data` f
### A note on data labeling

This project uses only one label to frame the task as a binary classification problem.
Note that Deepcraft Studio introduces an "Unlabelled data" class by default, which we will use as "Normal" behavior data.
Note that DEEPCRAFT™ Studio introduces an "Unlabelled data" class by default, which we will use as "Normal" behavior data.
The only additional label needed is "anomaly", which represents anomalous data.

**Anomaly**: This label indicates that the machinery is operating anomalously.
Expand Down Expand Up @@ -126,8 +126,8 @@ More in detail, the steps to be followed could look like this:

**3. Import your data and train the prototype model**

Import the data you collected in the "Data" tab of the .improj file in Deepcraft Studio.
You are now able to follow the standard Deepcraft Studio steps for processing, training, and deploying your Anomaly Detection model.
Import the data you collected in the "Data" tab of the .improj file in DEEPCRAFT™ Studio.
You are now able to follow the standard DEEPCRAFT™ Studio steps for processing, training, and deploying your Anomaly Detection model.
The preprocessor is already set, and some models are already defined for you, which performance is guaranteed to be in real-time on the PSOC6 AI Kit.

**4. Deploy and do a real-time test of your prototype model**
Expand All @@ -138,7 +138,7 @@ More in detail, the steps to be followed could look like this:

Last step is to move to the actual final production setup. The production system will likely have the MCU placed on a board inside the machine and the IMU sensor in a specific position, not necessarly the same one of the prorotyping phase. If you can go as close as possible to production conditions during prototyping phase, you will be able to deliver the same model also on the production board with little-to-no additional training or data needed. If this is not the case, you might need to do a new data collection step to allow the model to learn the nuances of the final setup. Follow again steps 2, 3 and 4 also for the production setup to reach a functioning application.

You may also leverage Deepcraft Studio's Transfer Learning features for fine-tuning the prototype model to production data. This could lead to better results and faster go-to-production times, but the usage of Transfer Learning is recommended only to experienced ML users.
You may also leverage DEEPCRAFT™ Studio's Transfer Learning features for fine-tuning the prototype model to production data. This could lead to better results and faster go-to-production times, but the usage of Transfer Learning is recommended only to experienced ML users.

**Note:** All subsequent ML system lifetime monitoring procedures must be defined and implemented by you according to you needs, requirements and targets.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Overview

This starter project shows you how to collect and annotate IMU data live. This can be done directly from your PSOC 6 AI Kit attached over USB-serial.
This Studio project shows you how to collect and annotate IMU data live. This can be done directly from your PSOC 6 AI Kit attached over USB-serial.


The graph that you see in the Main.imunit contains input/data source nodes representing the device connected through the serial port.
Expand Down
4 changes: 2 additions & 2 deletions BabyCryDetection/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ This project is designed to work exclusively with DEEPCRAFT™ Studio. Download

## Overview

This starter project allows you to build a baby cry detector that can be used on any supported Infineon MCU with a microphone. Everything is included to allow you to expand on the project to bring it to production on your own.
This Accelerator project allows you to build a baby cry detector that can be used on any supported Infineon MCU with a microphone. Everything is included to allow you to expand on the project to bring it to production on your own.

Below you can find code examples about how to deploy the output of this project to any supported Infineon MCU with a microphone.

Expand All @@ -28,7 +28,7 @@ The project has the following classes:

## Taking the Project Further

This project is only a starter project and as such some work is needed to further develop this project. Such as including more data from home environments as well as some data You can take the project further in a number of different ways:
This project is only an Accelerator project and as such some work is needed to further develop this project. Such as including more data from home environments as well as some data You can take the project further in a number of different ways:

1. You can add additional classes to the existing ones by adding the relevant data, for example, children talking, children playing, different ages etc.
2. Add your own recorded data to the dataset and see if you can improve the performance of the provided model.
Expand Down
4 changes: 2 additions & 2 deletions ChainsawDetection/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
This project is designed to work exclusively with DEEPCRAFT™ Studio. Download it from [here](https://softwaretools.infineon.com/assets/com.ifx.tb.tool.deepcraftstudio)

## Overview
This is a starter model that classifies if there is an actively cutting chainsaw in the vicinity; chainsaws that are stalling are defined as not cutting.
This is an Accelerator project that classifies if there is an actively cutting chainsaw in the vicinity; chainsaws that are stalling are defined as not cutting.
A fully developed model could be used to detect illegal logging or create automatic warning systems.

## Collection of Data
Expand All @@ -14,7 +14,7 @@ The data was collected at 16000Hz, and the project contains around 700 minutes o
After a preliminary evaluation, the model performed very poorly on chainsaw audio played through a speaker, making it harder to demo. As such, additional data was collected by playing chainsaw audio through a variety of speakers to supplement the dataset, after which it significantly improved on sounds played through speakers.

## Adding More Data
Adding more background noise data can be done online or by collecting microphone data of a suitable environment (i.e., forest, construction site, river). This can then be imported into the studio project.
Adding more background noise data can be done online or by collecting microphone data of a suitable environment (i.e., forest, construction site, river). This can then be imported into the Studio project.
Adding more chainsaw data ought to be done through a thorough collection. Adding variation of different types of chainsaws, different types of trees, and varying the distance from the microphone is strongly recommended, with the distances being most important.

## Steps to Production
Expand Down
8 changes: 4 additions & 4 deletions DrillMaterialDetectionIMU/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,24 @@ This project is designed to work exclusively with DEEPCRAFT™ Studio. Download

## Overview

This is a starter model that is capable of classifying the material a power drill is drilling into based on the IMU (6-axis accelerometer and gyroscope) signature and is imagined to be incorporated into smart power tools.
This is an Accelerator project that is capable of classifying the material a power drill is drilling into based on the IMU (6-axis accelerometer and gyroscope) signature and is imagined to be incorporated into smart power tools.
A similar model was developed using the audio data instead, if that is more fitting to your use case.
It is developed as a proof of concept and is not fully optimized, achieving around a 90% plastic/wood accuracy with a 50% air/none accuracy. This large fault can, however, be mitigated by adding an additional data stream stating whether the drill is on or not.
Furthermore, the current project only differentiates between wood, plastic, and air but is easily scalable to include more labels.
The preprocessor and model architectures can be used not only for a drill but for any number of motor-based projects where there is a variability in the IMU output based on the desired classification labels.

## Collection of Data
The data was collected from the built-in IMU on the AI-Eval kit (CY8CKIT-062S2-AI) taped to the left top side of a drill and streamed directly into DEEPCRAFT Studio at 50Hz.
The data was collected from the built-in IMU on the AI-Eval kit (CY8CKIT-062S2-AI) taped to the left top side of a drill and streamed directly into DEEPCRAFT Studio at 50Hz.
The drilling was mainly done straight down into an 11mm thick plank of wood and a 3mm thick piece of acrylic plastic, with around 5% of the data being horizontal drilling. Not every hole was made all the way through the material in order to have data for such cases.
Apart from drilling into air, wood, and plastic, the drill was moved around in order to create an invariance to general movement.
There are additional labels for the moment of removing the drill from the material, called wood_out and plastic_out. Further thought towards the necessity of these labels is recommended; it might be better to just train a model that classifies this as regular wood and plastic.

## Adding More Data
In order to add more data-be it similar, from another type of drill, or another material entirely-you simply need to attach an AI-eval kit (purchasable here: https://www.infineon.com/cms/en/product/evaluation-boards/cy8ckit-062s2-ai/) to a drill and stream the IMU data of drilling into DEEPCRAFT Studio and then label it appropriately.
In order to add more data-be it similar, from another type of drill, or another material entirely-you simply need to attach an AI-eval kit (purchasable here: https://www.infineon.com/cms/en/product/evaluation-boards/cy8ckit-062s2-ai/) to a drill and stream the IMU data of drilling into DEEPCRAFT Studio and then label it appropriately.
It is recommended to have a minimum of 100 seconds of data per label, preferably more.

## Steps to Production
The recommended path to production for this starter model is to identify which materials you want to differentiate from, which drill types you want this to work on, and which conditions your application will be placed in.
The recommended path to production for this Accelerator project is to identify which materials you want to differentiate from, which drill types you want this to work on, and which conditions your application will be placed in.
It is unlikely that keeping non-matching existing data worsens the model so long as your application isn't wildly different.
After obtaining the appropriate machines and materials, you should perform data collection as outlined above, making sure to collect data including all eventualities you want invariance to.
For example, if you want a model that classifies when a drill is entering a new material, you will want to collect data on many different material combinations, using many different types of drills, held by many different people, in many different settings.
Expand Down
8 changes: 4 additions & 4 deletions DrillMaterialDetectionMicrophone/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,24 +4,24 @@ This project is designed to work exclusively with DEEPCRAFT™ Studio. Download

## Overview

This is a starter model that is capable of classifying the material a power drill is drilling into based on the audio signature and is imagined to be incorporated into smart power tools.
This is an Accelerator project that is capable of classifying the material a power drill is drilling into based on the audio signature and is imagined to be incorporated into smart power tools.
A similar model was developed using the IMU data instead, if that is more fitting to your use case.
It is developed as a proof of concept and is not fully optimized, achieving around an 85% plastic/wood accuracy.
Furthermore, the current project only differentiates between wood, plastic, and air but is easily scalable to include more labels.
The preprocessor and model architectures can be used not only for a drill but for any number of motor-based projects where there is a variability in the audio signature based on the desired classification labels.

## Collection of Data
The data was collected from the built-in microphone on the AI-Eval kit (CY8CKIT-062S2-AI) taped to the left top side of a drill and streamed directly into DEEPCRAFT Studio at 16000Hz.
The data was collected from the built-in microphone on the AI-Eval kit (CY8CKIT-062S2-AI) taped to the left top side of a drill and streamed directly into DEEPCRAFT Studio at 16000Hz.
The drilling was mainly done straight down into an 11mm thick plank of wood and a 3mm thick piece of acrylic plastic, with around 5% of the data being horizontal drilling. Not every hole was made all the way through the material in order to have data for such cases.
Apart from drilling into air, wood, and plastic, the drill was moved around in order to create an invariance to general movement.
There are additional labels for the moment of removing the drill from the material, called wood_out and plastic_out. Further thought towards the necessity of these labels is recommended; it might be better to just train a model that classifies this as regular wood and plastic.

## Adding More Data
In order to add more data-be it similar, from another type of drill, or another material entirely-you simply need to attach an AI-eval kit (purchasable here: https://www.infineon.com/cms/en/product/evaluation-boards/cy8ckit-062s2-ai/) to a drill and stream the audio data of drilling into DEEPCRAFT Studio and then label it appropriately.
In order to add more data-be it similar, from another type of drill, or another material entirely-you simply need to attach an AI-eval kit (purchasable here: https://www.infineon.com/cms/en/product/evaluation-boards/cy8ckit-062s2-ai/) to a drill and stream the audio data of drilling into DEEPCRAFT Studio and then label it appropriately.
It is recommended to have a minimum of 100 seconds of data per label, preferably more.

## Steps to Production
The recommended path to production for this starter model is to identify which materials you want to differentiate from, which drill types you want this to work on, and which conditions your application will be placed in.
The recommended path to production for this Accelerator project is to identify which materials you want to differentiate from, which drill types you want this to work on, and which conditions your application will be placed in.
It is unlikely that keeping non-matching existing data worsens the model so long as your application isn't wildly different.
After obtaining the appropriate machines and materials, you should perform data collection as outlined above, making sure to collect data including all eventualities you want invariance to.
For example, if you want a model that classifies when a drill is entering a new material, you will want to collect data on many different material combinations, using many different types of drills, held by many different people, in many different settings.
Expand Down
4 changes: 2 additions & 2 deletions FallDetection/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@ This project is designed to work exclusively with DEEPCRAFT™ Studio. Download

## Overview

This starter model allows you to build models to detect a fall using an IMU (Interial Mesurement Unit - accelerometer and gyroscope) mounted on the buckle of a belt.
For that, this starter model uses data collected from 2 different IMU: a Bosh IMU and an ST-Microelectronics IMU. Both IMU sensors are set up to collect data at 50 Hz using a +- 8g for the accelerometer scale and +- 500 dps for the gyro scale.
This Accelerator project allows you to build models to detect a fall using an IMU (Interial Mesurement Unit - accelerometer and gyroscope) mounted on the buckle of a belt.
For that, this Accelerator project uses data collected from 2 different IMU: a Bosh IMU and an ST-Microelectronics IMU. Both IMU sensors are set up to collect data at 50 Hz using a +- 8g for the accelerometer scale and +- 500 dps for the gyro scale.

This project gives you the infrastructure to allow you to expand on the project by adding other events to detect or adding more data and make the model production ready.

Expand Down
Loading
Loading