From 9b835c78eefc2e4fe003d3d27d1110f9f4f4fbe5 Mon Sep 17 00:00:00 2001 From: Kshitij Sisodia Date: Wed, 12 Oct 2022 14:31:57 +0100 Subject: MLECO-3100: Added summary document of use-cases Update for use-case API and CMSIS pack. Change-Id: Ic730a80fa43ba2a6e3eaa05333b61d3e1677b04e Signed-off-by: Kshitij Sisodia --- Readme.md | 2 +- scripts/cmake/cmsis-pack-gen/use-case-api.yml | 2 +- source/application/api/use_case/readme.md | 73 ++++++++++++++++++++++++--- 3 files changed, 68 insertions(+), 9 deletions(-) diff --git a/Readme.md b/Readme.md index 69864c2..5f731b3 100644 --- a/Readme.md +++ b/Readme.md @@ -21,7 +21,7 @@ To run evaluations using this software, we suggest using: [Arm Virtual Hardware](https://www.arm.com/products/development-tools/simulation/virtual-hardware) (AVH) and [run the Fixed Virtual Platform in the cloud](./docs/sections/arm_virtual_hardware.md). > **NOTE**: While Arm® Corstone™-300 is available as an [Ecosystem FVP](https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps) - > and AVH, Arm® Corstone™-310 is available (for both Arm® Ethos™-U55 and Ethos™-U55 NPUs) only as AVH implementations. + > and AVH, Arm® Corstone™-310 is available (for both Arm® Ethos™-U55 and Ethos™-U65 NPUs) only as AVH implementations. ## Overview of the evaluation kit diff --git a/scripts/cmake/cmsis-pack-gen/use-case-api.yml b/scripts/cmake/cmsis-pack-gen/use-case-api.yml index 230e29a..3d81433 100644 --- a/scripts/cmake/cmsis-pack-gen/use-case-api.yml +++ b/scripts/cmake/cmsis-pack-gen/use-case-api.yml @@ -42,7 +42,7 @@ packs: description: "ML sample use case APIs derived from ml-embedded-eval-kit" vendor: "ARM" license: "LICENSE_APACHE_2.0.txt" - url: "https://git.mlplatform.org/ml/ethos-u/ml-embedded-evaluation-kit.git/plain/resources/cmsis-packs/" + url: "https://git.mlplatform.org/ml/ethos-u/ml-embedded-evaluation-kit.git/plain/source/application/api/use_case/readme.md" requirements: packages: diff --git a/source/application/api/use_case/readme.md b/source/application/api/use_case/readme.md index f7eb0d1..419dee0 100644 --- a/source/application/api/use_case/readme.md +++ b/source/application/api/use_case/readme.md @@ -1,11 +1,70 @@ -## Use case APIs +- [Use case APIs](#use-case-apis) + - [Anomaly detection](#anomaly-detection) + - [Automatic speech recognition](#automatic-speech-recognition) + - [Image classification](#image-classification) + - [Inference runner](#inference-runner) + - [Keyword spotting](#keyword-spotting) + - [Noise reduction](#noise-reduction) + - [Object detection](#object-detection) + - [Visual wake word](#visual-wake-word) + - [Useful links](#useful-links) + +# Use case APIs + +The directories in here are individual CMake projects to generate use case API static libraries. +These libraries are intended to be used by external projects that only want access to the +ready-to-use ML use case pipelines implemented in this repository. This can be as CMake projects, +but also in the form of CMSIS-packs. + +## Anomaly detection + +This use case takes an audio clip of a machine at work as input and indicates whether there is an +anomaly to suggest that the machine is not performing normally and might need attention. + +## Automatic speech recognition + +This use case takes in an audio clip as an input and returns a transcript of what was being said +in text format. + +## Image classification + +This use case takes an image as input and classifies it into one of the categories the neural +network model supports. For example, the default Mobilenet V2 based model will be able to +classify the images into 1000 different classes. + +## Inference runner + +The inference runner is a generic use case which can run any model. It has a bigger memory +footprint because it includes support for all possible ML operators. This use case is useful for +checking if a given neural network model can be run with TensorFlow Lite Micro. The application +can also be used to get performance metrics for executing the ML workload for a given model. + +## Keyword spotting + +This use case takes an audio clip as an input, divides it into smaller sub-clips, and indicates which +keyword has been spotted for each sub-clip. + +## Noise reduction + +This use case removes noise from an audio clip. Instead of replicating a "noisy audio in" and +"clean audio out" problem, a simpler version is defined. Given an audio clip, the use case produces +gains to be applied to the input audio to reduce the noise. + +## Object detection + +This use case takes image data as input and performs object detection on them. The default model is +set up to detect faces of size 20x20 and above. The output represents the coordinates of the +bounding boxes that encapsulate the faces. + +## Visual wake word + +This use case takes images as input and determines, with a certain probability, whether the image +contains a person. -The directories in here are individual CMake projects to generate use case API static libraries. These libraries are -intended to be used by external projects that only want access to the ready-to-use ML use case pipelines implemented in this repository. -This can be as CMake projects, but also in the form of CMSIS-packs. These libraries do not depend on the HAL layer and -are platform-agnostic to allow for easy portability. ## Useful links -* [Repository Structure](../../../../docs/documentation.md#repository-structure) -* [Reusable Software](../../../../Readme.md#reusable-software). +* [Project ReadMe](../../../../Readme.md) +* [Reusable Software](../../../../Readme.md#reusable-software) + + -- cgit v1.2.1