様々な種類のコーヒー豆には、それぞれ個性的な風味があります。それらは焙煎の過程で強められる場合もあれば、台無しになる場合もあります。コーヒー・メーカーが豆の種類を識別できれば、抽出パラメータを調整し、豆の種類ごとに最高の風味を引き出せるでしょう。

アプローチ

焙煎の度合いを識別するコーヒー豆データセットに基づくユースケースを紹介します。このソリューションでは、公開データセットで学習済みで、STM32上で動作し、非常に高い精度が得られるモデルを提案します。
このモデルの学習には、STM32 Model Zooで提供中のPythonスクリプトを使用しました(詳細は、STの「トレーニングに関するチュートリアル」をご覧ください)。
ここでは、STM32 Model Zooのプロジェクトを設定した後、データセットをダウンロードして適切な構造で配置しました。
次にyamlファイルを更新しました。このファイルは次の設定によりトレーニングを構成するために使用します。
全般:
project_name(プロジェクト名): coffee_bean
データセット:
name(データセット名):coffee
class_names(クラス名):[Green(生豆)、Light(浅煎り)、Medium(中煎り)、Dark(深煎り)]
training_path(トレーニング・パス):datasets/train
validation_path(検証パス):
test_path(テスト・パス):datasets/test
これらの設定は、ユースケースに応じてご自由に調整いただけます。
後は、"train.py"スクリプトを実行するだけです。

train.py_python_script train.py_python_script train.py_python_script

STM32 Model Zooには、独自のデータでモデルをトレーニングおよび再トレーニングするときに必要なものが、すべて揃っています。モデルは、リポジトリで提供中のPythonスクリプトによってSTM32H747ディスカバリ・キットに簡単に導入できます(詳細は、STの「導入に関するチュートリアル」をお読みください)。
これらの手順の詳細は、STの入門ビデオで、すべて解説しています。

センサ

画像:カメラ・モジュール・バンドル(リファレンス・ボード:B-CAMS-OMV

データ

データセット:「Coffee Bean Dataset Resized (224 X 224)(サイズ変更(224 x 224)されたコーヒー豆データセット)」(ライセンス:CC BY-SA 4.0)
データ・フォーマット:
焙煎には4つのレベルがあります。生豆つまり未焙煎のコーヒー豆、浅煎りのコーヒー豆、中煎りのコーヒー豆、深煎りのコーヒー豆の4つです。写真を撮影する際、カメラは対象の経路に平行な面上に配置されます。合計4,800枚の写真を、焙煎の4つのレベルに分類し、224 x 224の解像度になるようにサイズを変更します。レベルことに、1,200枚の画像があります。

結果

モデル:MobileNetV2 alpha 0.35
入力サイズ:128 x 128 x 3
量子化されたモデルのメモリ使用量:
使用RAM(合計):260KB

  • RAM(有効化):224KB
  • RAM(実行時):36KB


使用Flashメモリ(合計):528KB

  • Flashメモリ重み:406KB
  • Flashメモリのコード推定サイズ:122KB


精度:
浮動小数点モデル:97.75%
量子化モデル:97.25%
性能(高性能マイコンSTM32H747 @ 400MHz使用時)
推論時間:107ms
フレーム・レート:9.3fps

use-case-stm32-cube-ai-confusion-matrix-coffee-bean-recognition use-case-stm32-cube-ai-confusion-matrix-coffee-bean-recognition use-case-stm32-cube-ai-confusion-matrix-coffee-bean-recognition

量子化されたモデルの混同行列

モデル・リポジトリ

ST Edge AI Model Zoo

ST Edge AI Model Zoo
最適化ツール

STM32Cube.AI

STM32Cube.AI
対応製品

STM32H7シリーズ

STM32H7シリーズ

リソース 

モデル・リポジトリ ST Edge AI Model Zoo

STデバイスでの実行に最適化されたリファレンスAIモデルと関連実装スクリプトをまとめたものです。組み込みアプリケーションに組み込みAI機能を追加する際に貴重なリソースとなります。

ST Edge AI Model Zoo ST Edge AI Model Zoo ST Edge AI Model Zoo

STM32Cube.AIで最適化

STM32Cubeの無料の拡張パッケージX-CUBE-AIを使用すると、ニューラル・ネットワークや機械学習モデルなどの学習済みAIアルゴリズムを、STM32用の最適化されたCコードに自動変換できます。

STM32Cube.AI STM32Cube.AI STM32Cube.AI

STM32H7シリーズと互換性あり

Arm® Cortex®‑Mプロセッサをベースとする32bit汎用マイクロコントローラのSTM32ファミリは、より柔軟かつ自由なアプリケーション開発を実現します。高性能、リアルタイムの処理能力、デジタル信号処理(DSP)、低消費電力 / 低電圧動作、コネクティビティなどのさまざまな機能を集積した製品により、開発をサポートします。

STM32H7シリーズ STM32H7シリーズ STM32H7シリーズ
You might also be interested by

産業機器 | 生活家電 | スマート・シティ | 画像 | STM32Cube.AI | STM32 AI MCU | パートナー | ビデオ

コンピュータ・ビジョンでスマート・ストアを変革するには

STM32N6マイコンと組み込みAIを使って商品をリアルタイムで検出し、その個数を把握します。クラウドでの処理は不要です。

パートナー | スマート・シティ | 輸送 物流 | 画像 | STM32Cube.AI | STM32 AI MCU | ビデオ

Irida LabsのビジョンAIに基づくナンバープレート識別(ANPR)

スマート・シティ・アプリケーション向けに自動ナンバープレート識別(ANPR)を実現する、STM32マイコン上のビジョンAIで動作するソリューション

エンターテインメント | 画像認識 | 画像 | STM32Cube.AI | デモ | チュートリアル | GitHub | ビデオ

フィットネス用のスマート・ミラー:姿勢推定および複数人物トラッキング

STM32N6は、ユーザの身体の動きを28 FPSで追跡および分析して、エクササイズに関するフィードバックを提供します。