Artificial Intelligence (AI) and computer vision function pack for STM32Cube
(food recognition, person presence detection,
STM32_AI_Runtime
STM32_AI_UtilitiesSTM32_USB
Middleware level
Drivers
Hardware components
Development boards
Applications
USB webcam)
STM32_Image
FatFSSTM32_Fs
HALBSP
STM32LCDCamera
STM32H747I-DISCOB-CAMS-OMV
Product status link
FP-AI-VISION1
Features
•Complete firmware to develop a computer vision application on STM32
microcontroller
•Image pre-processing library (STM32_Image)
•Neural Network library optimized for STM32 (STM32_AI_Runtime) generated by
means of the X-CUBE-AI Expansion Package for STM32CubeMX
•Food recognition application based on Convolutional Neural Network
•Person presence detection application based on Convolutional Neural Network
•USB webcam application enabling the STM32H747I-DISCO board to act as a
USB video camera (UVC) device when connected to a host
•Integration examples based on float and quantized models
•Libraries enabling the test, debug and validation of the embedded application
•Support for camera frame capture to enable image dataset collection
•Sample implementations available for the STM32H747I-DISCO Discovery board
connected to the B-CAMS-OMV camera module bundle
•Free and user-friendly license terms
Description
FP-AI-VISION1 is an STM32Cube function pack featuring examples of computer
vision applications based on Convolutional Neural Network (CNN).
FP-AI-VISION1 is composed of software components generated by the X-CUBEAI Expansion Package complemented with application software components
dedicated to the AI-based computer vision application.
The application examples provided in the function pack are food recognition
(recognizing among 18 classes of common food), and person presence detection
(identifying whether a person is present in the image or not).
FP-AI-VISION1 implements advanced computer vision application using
STM32_AI_Runtime Neural Networks libraries. Libraries are based on pre-trained
models and are generated with the X-CUBE-AI Expansion Package for the
STM32CubeMX tool.
The function pack demonstrates the integration of two types of Neural Network
model: 32-bit floating-point model and 8-bit quantized model. It also demonstrates
model integration in different memory configurations (relying only on MCU internal
memory or using also external memories).
The FP-AI-VISION1 function pack features an image library, STM32_Image, that can
be used to develop specific computer vision applications, together with the suggested
combination of hardware boards. It includes various processing functions to process
the content of the frame buffer.
The FP-AI-VISION1 function pack also includes the drivers for the camera as well as
the framework for capturing images into the frame buffer, preprocessing the content
of the frame buffer, and running the Neural Network inference.
The FP-AI-VISION1 function pack features a USB webcam application, which can
be used to create image and video datasets as well as to perform live testing on
the host. The FP-AI-VISION1 runs on the STM32H747I-DISCO Discovery board
connected to the B-CAMS-OMV camera module bundle (advised) or STM32F4DISCAM camera daughterboard (legacy only).
DB3962 - Rev 4 - February 2021
For further information contact your local STMicroelectronics sales office.
www.st.com
1General information
The FP-AI-VISION1 function pack runs on STM32 microcontrollers based on Arm® cores.
Note:Arm is a registered trademark of Arm Limited (or its subsidiaries) in the US and/or elsewhere.
1.1Ordering information
FP-AI-VISION1 is available for free download from the www.st.com website.
1.2What is STM32Cube?
STM32Cube is an STMicroelectronics original initiative to significantly improve designer's productivity by reducing
development effort, time, and cost. STM32Cube covers the whole STM32 portfolio.
STM32Cube includes:
•A set of user-friendly software development tools to cover project development from conception to
realization, among which are:
–STM32CubeMX, a graphical software configuration tool that allows the automatic generation of C
initialization code using graphical wizards
–STM32CubeIDE, an all-in-one development tool with peripheral configuration, code generation, code
compilation, and debug features
–STM32CubeProgrammer (STM32CubeProg), a programming tool available in graphical and command-
STM32CubeMonUCPD) powerful monitoring tools to fine-tune the behavior and performance of STM32
applications in real-time
•STM32Cube MCU and MPU Packages, comprehensive embedded-software platforms specific to each
microcontroller and microprocessor series (such as STM32CubeH7 for the STM32H7 Series), which include:
–STM32Cube hardware abstraction layer (HAL), ensuring maximized portability across the STM32
portfolio
–STM32Cube low-layer APIs, ensuring the best performance and footprints with a high degree of user
control over hardware
–A consistent set of middleware components such as RTOS, USB, TCP/IP, FAT file system, audio, and
graphics
–All embedded software utilities with full sets of peripheral and applicative examples
•STM32Cube Expansion Packages, which contain embedded software components that complement the
functionalities of the STM32Cube MCU and MPU Packages with:
–Middleware extensions and applicative layers
–Examples running on some specific STMicroelectronics development boards
FP-AI-VISION1
General information
DB3962 - Rev 4
page 2/6
2Global architecture
The top-level architecture of the FP-AI-VISION1 function pack usage is shown in Figure 1.
(food recognition, person presence detection, USB webcam)
FP-AI-VISION1
Global architecture
Figure 1. FP-AI-VISION1 architecture
Applications
STM32_AI_Runtime
(Neural Network runtime library)
STM32_AI_Utilities
(Optimized routines)
STM32_Fs
(FatFS abstraction)
Middleware level
Board support package
(BSP)
Drivers
STM32_Image
(Image processing library)
STM32_USB
(Device library)
FatFS
(Light FAT file system)
Hardware abstraction layer
(HAL)
DB3962 - Rev 4
STM32LCDCamera sensor
Hardware components
STM32H747I-DISCOB-CAMS-OMV
Development boards
page 3/6
3License
FP-AI-VISION1 is delivered under the Mix Ultimate Liberty+OSS+3rd-party V1 software license agreement
(SLA0048).
The software components provided in this package come with different license schemes as shown in Table 1.
Board support package (BSP)STMicroelectronicsBSD-3-Clause
Added the support for the debug and validation of the embedded application
24-Dec-20192
23-Jul-20203
17-Feb-20214
and for camera frame capture in Features and Description.
Updated figures and Software component license agreements for the FAT file
system.
Added person presence detection: updated Features, Description, License
and top-level architecture views.
Updated What is STM32Cube?
Added the USB webcam application and the use of the B-CAMS-OMV camera
module bundle: updated Features, Description, License and the top-level
architecture views.
FP-AI-VISION1
DB3962 - Rev 4
page 5/6
FP-AI-VISION1
IMPORTANT NOTICE – PLEASE READ CAREFULLY
STMicroelectronics NV and its subsidiaries (“ST”) reserve the right to make changes, corrections, enhancements, modifications, and improvements to ST
products and/or to this document at any time without notice. Purchasers should obtain the latest relevant information on ST products before placing orders. ST
products are sold pursuant to ST’s terms and conditions of sale in place at the time of order acknowledgement.
Purchasers are solely responsible for the choice, selection, and use of ST products and ST assumes no liability for application assistance or the design of
Purchasers’ products.
No license, express or implied, to any intellectual property right is granted by ST herein.
Resale of ST products with provisions different from the information set forth herein shall void any warranty granted by ST for such product.
ST and the ST logo are trademarks of ST. For additional information about ST trademarks, please refer to www.st.com/trademarks. All other product or service
names are the property of their respective owners.
Information in this document supersedes and replaces information previously supplied in any prior versions of this document.