MLECO-3802: [Maintenance] Remove Pillow warning

- Image.Resampling.BILINEAR replace deprecated Image.BILINEAR
- Trivial documentation fixes

Change-Id: Ia75af2d2bf171085d4a0a2c472f0e3f94dbdc5b9
Signed-off-by: Isabella Gottardi <isabella.gottardi@arm.com>
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 704843e..5c4ba3d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -240,7 +240,7 @@
         if (NOT TARGET ${API_TO_USE}_api)
             add_subdirectory(
                 ${SRC_PATH}/application/api/use_case/${API_TO_USE}  # Source path
-                ${CMAKE_BINARY_DIR}/api/use_case/${API_TO_USE})  # Binary path
+                ${CMAKE_BINARY_DIR}/api/use_case/${API_TO_USE})     # Binary path
         endif()
 
         # Check if the target now exists
diff --git a/Readme.md b/Readme.md
index 1525829..0c8d019 100644
--- a/Readme.md
+++ b/Readme.md
@@ -24,6 +24,7 @@
   > and AVH, Arm® Corstone™-310 is available (for both Arm® Ethos™-U55 and Ethos™-U65 NPUs) only as AVH implementations.
 
 ## Inclusive language commitment
+
 This product conforms to Arm's inclusive language policy and, to the best of our knowledge,
 does not contain any non-inclusive language. If you find something that concerns you, email terms@arm.com.
 
@@ -105,7 +106,7 @@
 To run an ML application on the Cortex-M and Ethos-U NPU, please, follow these steps:
 
 1. Set up your environment by installing [the required prerequisites](./docs/sections/building.md#Build-prerequisites).
-> **NOTE**: A Docker image built from the `Dockerfile` provided will have all the required packages installed.
+   > **NOTE**: A Docker image built from the `Dockerfile` provided will have all the required packages installed.
 2. Generate an optimized neural network model for Ethos-U with a Vela compiler by following instructions [here](./docs/sections/building.md#Add-custom-model).
 3. [Configure the build system](./docs/sections/building.md#Build-process).
 4. [Compile the project](./docs/sections/building.md#Building-the-configured-project) with a `make` command.
diff --git a/docs/documentation.md b/docs/documentation.md
index 6e016e6..7d8fc4a 100644
--- a/docs/documentation.md
+++ b/docs/documentation.md
@@ -170,14 +170,14 @@
         contains a class for a generic KWS neural network model and the "processing" API give user an easier way to drive
         the MFCC calculations.
 
-> **NOTE:** The API here is also used to export a CMSIS-pack from this repository and therefore, it is imperative to
-> that the sources here do not depend on any HAL component or drive any platform dependent logic. If you are looking to
-> reuse components from this repository for your application level logic, this directory should be the prime candidate.
+     > **NOTE:** The API here is also used to export a CMSIS-pack from this repository and therefore, it is imperative to
+     > that the sources here do not depend on any HAL component or drive any platform dependent logic. If you are looking to
+     > reuse components from this repository for your application level logic, this directory should be the prime candidate.
 
   - `hal`: Contains Hardware Abstraction Layer (HAL) sources, providing a platform-agnostic API to access hardware
     platform-specific functions.
 
-> **Note:** Common code related to the `Arm Ethos-U NPU` software framework resides in *hal/components* sub-folder.
+    > **Note:** Common code related to the `Arm Ethos-U NPU` software framework resides in *hal/components* sub-folder.
 
   - `log`: Common to all code logging macros managing log levels.
 
diff --git a/docs/sections/building.md b/docs/sections/building.md
index a7a894a..bf7ca4d 100644
--- a/docs/sections/building.md
+++ b/docs/sections/building.md
@@ -198,10 +198,11 @@
   `dependencies/core-driver` git submodule. Repository is hosted here:
   [ethos-u-core-driver](https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ethos-u-core-driver).
 
-- `CMSIS_SRC_PATH`, `CMSIS_DSP_SRC_PATH`: Paths to the CMSIS sources to be used to build TensorFlow Lite Micro library.
+- `CMSIS_SRC_PATH`, `CMSIS_DSP_SRC_PATH`, `CMSIS_NN_SRC_PATH`: Paths to the CMSIS sources to be used to build TensorFlow Lite Micro library.
   These parameters are optional and are only valid for Arm® *Cortex®-M* CPU targeted configurations.  The default values
-  points to the `dependencies/cmsis` and `dependencies/cmsis-dsp` git submodules.  Repositories are hosted here:
-  [CMSIS-5](https://github.com/ARM-software/CMSIS_5.git) and [CMSIS-DPS](https://github.com/ARM-software/CMSIS-DSP).
+  points to the `dependencies/cmsis`, `dependencies/cmsis-dsp` and `dependencies/cmsis-nn` git submodules.
+  Repositories are hosted here: [CMSIS-5](https://github.com/ARM-software/CMSIS_5.git),
+  [CMSIS-DPS](https://github.com/ARM-software/CMSIS-DSP) and [CMSIS-NN](https://github.com/ARM-software/CMSIS-NN.git).
 
 - `ETHOS_U_NPU_ENABLED`: Sets whether the use of *Ethos-U* NPU is available for the deployment target. By default, this
   is set and therefore application is built with *Ethos-U* NPU supported.
@@ -317,8 +318,10 @@
 
 1. [TensorFlow Lite Micro repository](https://github.com/tensorflow/tensorflow)
 2. [Ethos-U NPU core driver repository](https://review.mlplatform.org/admin/repos/ml/ethos-u/ethos-u-core-driver)
-3. [CMSIS-5](https://github.com/ARM-software/CMSIS_5.git)
-4. [Ethos-U NPU core driver repository](https://review.mlplatform.org/admin/repos/ml/ethos-u/ethos-u-core-platform)
+3. [Ethos-U NPU core platform repository](https://review.mlplatform.org/admin/repos/ml/ethos-u/ethos-u-core-platform)
+4. [CMSIS-5](https://github.com/ARM-software/CMSIS_5.git)
+5. [CMSIS-DSP](https://github.com/ARM-software/CMSIS-DSP.git)
+6. [CMSIS-NN](https://github.com/ARM-software/CMSIS-NN.git)
 
 > **Note:** If you are using non git project sources, run `python3 ./download_dependencies.py` and ignore further git
 > instructions. Proceed to [Fetching resource files](./building.md#fetching-resource-files) section.
@@ -334,6 +337,8 @@
 ```tree
 dependencies
     ├── cmsis
+    ├── cmsis-dsp
+    ├── cmsis-nn
     ├── core-driver
     ├── core-platform
     └── tensorflow
@@ -341,7 +346,7 @@
 
 > **Note:** The default source paths for the `TPIP` sources assume the above directory structure. However, all of the
 > relevant paths can be overridden by CMake configuration arguments `TENSORFLOW_SRC_PATH` `ETHOS_U_NPU_DRIVER_SRC_PATH`,
-> and `CMSIS_SRC_PATH`.
+> `CMSIS_SRC_PATH`, `CMSIS_DSP_SRC_PATH`and `CMSIS_NN_SRC_PATH`.
 
 #### Fetching resource files
 
@@ -545,7 +550,6 @@
 > **Note:** If re-building with changed parameters values, we recommend that you clean the build directory and re-run
 > the CMake command.
 
-
 ### Configuring the build for MPS3 SSE-310
 
 On Linux, execute the following command to build the application for target platform `mps3` and subsystem `sse-310`,
@@ -626,7 +630,7 @@
 - `ethos-u-<use-case name>.axf`: The built application binary for an ML use-case.
 
 - `ethos-u-<use-case name>.map`: Information from building the application. For example: Libraries used, what was
-  optimized, and location of objects).
+  optimized, and location of objects.
 
 - `ethos-u-<use-case name>.htm`: Human readable file containing the call graph of application functions.
 
diff --git a/docs/sections/testing_benchmarking.md b/docs/sections/testing_benchmarking.md
index 41ac8df..54d3930 100644
--- a/docs/sections/testing_benchmarking.md
+++ b/docs/sections/testing_benchmarking.md
@@ -38,11 +38,15 @@
 ├── ethos-u-<usecase1>
 └── ethos-u-<usecase1>
 ```
+
 To view all the available tests to run, use the following command in the `<build folder>`:
+
 ```commandline
 ctest -N
 ```
+
 Sample output:
+
 ```commandline
 Test #1: ad-tests
 Test #2: asr-tests
@@ -69,6 +73,7 @@
 ```
 
 Sample output:
+
 ```log
 Start 1: ad-tests
 1/8 Test #1: ad-tests .........................   Passed    0.17 sec
diff --git a/scripts/py/gen_rgb_cpp.py b/scripts/py/gen_rgb_cpp.py
index 85ae071..b8d85ee 100644
--- a/scripts/py/gen_rgb_cpp.py
+++ b/scripts/py/gen_rgb_cpp.py
@@ -1,4 +1,4 @@
-#  SPDX-FileCopyrightText: Copyright 2021 Arm Limited and/or its affiliates <open-source-office@arm.com>
+#  SPDX-FileCopyrightText: Copyright 2021-2023 Arm Limited and/or its affiliates <open-source-office@arm.com>
 #  SPDX-License-Identifier: Apache-2.0
 #
 #  Licensed under the Apache License, Version 2.0 (the "License");
@@ -78,7 +78,7 @@
     scale_ratio = (float)(max(ifm_width, ifm_height)) / (float)(min(original_image.size[0], original_image.size[1]))
     resized_width = (int)(original_image.size[0] * scale_ratio)
     resized_height = (int)(original_image.size[1] * scale_ratio)
-    resized_image = original_image.resize([resized_width,resized_height], Image.BILINEAR)
+    resized_image = original_image.resize([resized_width,resized_height], Image.Resampling.BILINEAR)
 
     # Crop the center of the image
     resized_image = resized_image.crop((
diff --git a/source/application/api/common/readme.md b/source/application/api/common/readme.md
index fbb1d76..6ae8780 100644
--- a/source/application/api/common/readme.md
+++ b/source/application/api/common/readme.md
@@ -1,4 +1,4 @@
-## API: Common
+# API: Common
 
 This module contains utilities that can be re-used by all ML use case API. These include (but not limited to):
 
diff --git a/source/application/api/use_case/readme.md b/source/application/api/use_case/readme.md
index 419dee0..b8fdfc7 100644
--- a/source/application/api/use_case/readme.md
+++ b/source/application/api/use_case/readme.md
@@ -1,3 +1,5 @@
+# Use case APIs
+
 - [Use case APIs](#use-case-apis)
   - [Anomaly detection](#anomaly-detection)
   - [Automatic speech recognition](#automatic-speech-recognition)
@@ -9,8 +11,6 @@
   - [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,
@@ -61,10 +61,7 @@
 This use case takes images as input and determines, with a certain probability, whether the image
 contains a person.
 
-
 ## Useful links
 
-* [Project ReadMe](../../../../Readme.md)
-* [Reusable Software](../../../../Readme.md#reusable-software)
-
-
+- [Project ReadMe](../../../../Readme.md)
+- [Reusable Software](../../../../Readme.md#reusable-software)
diff --git a/source/hal/readme.md b/source/hal/readme.md
index 1757d5b..d0562e1 100644
--- a/source/hal/readme.md
+++ b/source/hal/readme.md
@@ -1,4 +1,4 @@
-## HAL project
+# HAL project
 
 This directory is the root of `Hardware Abstraction Layer` (HAL) library for this repo. The intention is for this layer
 to service higher layers to seamlessly use platform specific functionality via a single abstraction layer. HAL provides
diff --git a/source/log/readme.md b/source/log/readme.md
index 9b2c137..29cb467 100644
--- a/source/log/readme.md
+++ b/source/log/readme.md
@@ -1,4 +1,4 @@
-## Log
+# Log
 
 This is a CMake interface library that exposes helper macros related to logging. This component is used by almost all
 the others in this repository directly or transitively.
diff --git a/source/math/readme.md b/source/math/readme.md
index bee889d..3c77cbb 100644
--- a/source/math/readme.md
+++ b/source/math/readme.md
@@ -1,4 +1,4 @@
-## Math
+# Math
 
 This is a CMake static library that allows application level code and ML use case APIs to use basic mathematical
 functions on scalars and vectors. This library calls the standard C/C++ math functions when being compiled for
diff --git a/source/profiler/readme.md b/source/profiler/readme.md
index 92b7c2f..48bb35b 100644
--- a/source/profiler/readme.md
+++ b/source/profiler/readme.md
@@ -1,4 +1,4 @@
-## Profiler
+# Profiler
 
 This is a CMake static library that exposes a C++ API for a very simple logging based profiler implementation. It
 depends on the hardware abstraction layer's platform drivers to get performance measurement counters (PMU) from the
diff --git a/source/use_case/readme.md b/source/use_case/readme.md
index 24b0c4e..9e32dfb 100644
--- a/source/use_case/readme.md
+++ b/source/use_case/readme.md
@@ -1,4 +1,4 @@
-## ML Use case examples
+# ML Use case examples
 
 This directory contains several ML example use case implementations. Sources here sit at the highest level in the
 hierarchy. See [Building](../../docs/documentation.md#building) and