様々な種類のコーヒー豆には、それぞれ個性的な風味があります。それらは焙煎の過程で強められる場合もあれば、台無しになる場合もあります。 コーヒー・メーカーが豆の種類を識別できれば、抽出パラメータを調整し、豆の種類ごとに最高の風味を引き出せるでしょう。
アプローチ
焙煎の度合いを識別するコーヒー豆データセットに基づくユース・ケースを紹介します。 このソリューションでは、公開データセットで学習済みで、STM32上で動作し、非常に高い精度が得られるモデルを提案します。
このモデルは、STM32 model zooで提供されているPythonスクリプトを使用して学習されました。
チュートリアルをお読みください)。
ここで
STM32 Model Zooプロジェクトをセットアップした後データセットをダウンロードし、適切な構造に配置します。
次に
を更新した。ファイルを更新した:
general: project_name:coffee_bean
dataset: name:coffee
class_names:[Green, Light, Medium, Dark]
training_path:datasets/train
validation_path: test_path:datasets/test
これらの設定は、ユース・ケースに応じてご自由に調整いただけます。
後は、"train.py"スクリプトを実行するだけです。
STM32 Model Zooには、独自のデータでモデルをトレーニングおよび再トレーニングするときに必要なものが、すべて揃っています。 このモデルは、リポジトリで提供されているPythonスクリプトを使用することで、STM32H747ディスカバリーキットに簡単にデプロイすることもできます(私たちの
tをお読みください。をお読みください)。
これらの手順の詳細は
ビデオでご覧いただけます。.
センサ
データ
データ集合 Coffee Bean
コーヒー豆のデータセット リサイズ (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 (Highperf) @ 400 MHz でのパフォーマンス 推論時間:
107 msフレームレート:
9.3 fps量子化されたモデルの混同行列