Teachable Machineでパン屋さんの画像認識レジシステムを作ってみた
私、かつてはレジ(スーパーとかコンビニにあるあれ)のソフトウェアを開発していたのですが、元レジ屋として前からやってみたかった「パン屋さんの画像認識レジシステム」を作ってみました。
参考)トレイの上のパンを識別して合計金額を計算するシステムBakeryScan
ちょっと精度が低かったので、次はモデルデータを増やして精度アップに挑戦してみたいと思います。天気が悪くて周囲が暗かったのも影響したかもしれません。
画像認識にはGoogleのTeachable Machine、プログラム作成はStretch3を使いました。
動いている様子
ちょっとだけ解説
実際の画像認識レジシステムでは、トレイに置かれたパンひとつひとつを別々に識別しています。これは「オブジェクト認識」と言われる技術で、スマートフォンのカメラなどで人を写した時に顔の部分に四角い枠が表示されるのと同じです。スマートフォンのカメラが「顔」がどこにあるのかを認識するように画像認識レジシステムも「パン」がどこにあるかを認識した上でパンの種類を判断しています。
Teachable Machineでは、このオブジェクト認識まではできずあくまでも画像全体をひとつのパターンとして認識しています。したがって、ここで作ったプログラムも、1個のパターン、2個のパターン、3個のパターンのすべての組み合わせでトレイに乗っている状態の画像を学習させ、今どの組み合わせになっているかを判断し、パターンごとにあらかじめ計算した金額を表示しています。
実際のパン屋さんでは、商品のすべての組み合わせ(個数のパターンも含む)を学習させるのは不可能なので、この方法で本物のレジシステムを作ることはできません (>_<) 。
使ったもの
- Teachable Machine
- Stretch3
- ドーナツ型の消しゴム
使っているドーナツは消しゴムです。ダイソーで購入したものですが、ダイソーは商品の入れ替わりが速いので同じものは見つからないかもしれません。同じようなものは他でも買えますので、色んなバリエーションを楽しんでみてください。 - 木製のトレイ
こちらもなんでもかまいません、パン屋さんのトレイの雰囲気を出したかったので使ってみました。
参考データ
- Stretch3プロジェクトデータ
ご自身で作成したモデルデータに応じて作りかえてください(つまり、ほぼ作りかえになります笑)
このあとどうなる?
シュークリームが入った時の認識精度が低いので、データを取り直して精度を上げたいですね。
#ボケ防止プログラミング #AI #人工知能 #画像認識 #TeachableMachine #Stretch3