,

Transfer learning applied to flower recognition 

Contact us Fork on GitHub Read the Wiki

Data collection and annotation are often tedious and time-consuming to achieve satisfactory results in image classification. The transfer learning technique enables to overcome this challenge by reducing the number of images and the training time needed to add a new class. It is applied here to flower classification, but it can be extended to many other use cases. 

Approach

– The tutorial presents how to use a technique called “Transfer learning” to quickly train a deep learning model to classify images.
– The tutorial is based on the computer vision function pack FP-AI-VISION1

Sensor

Vision: Camera module bundle (reference: B-CAMS-OMV)

Data

Dataset: Dataset for flower recognition (License CC BY 2.0)
Data format:
5 classes of flowers: daisy, dandelion, rose, sunflower, tulip 
RGB color images 

Results

Model: MobileNetV2 alpha 0.35 

Input size: 128x128x3

Memory footprint:
407 KB Flash for weights
225 KB RAM for activations

Accuracy:
Float model: 87%
Quantized model: 88% 

Performance on STM32H747 (High-perf) @ 400 MHz 
Inference time: 112 ms
Frame rate: 8.9 fps

STM32Cube.ai use-case results illustration - Flower recognition
Confusion matrix