私はとあるスーパーで商品の仕入・管理の仕事をしている女性会社員です。
売場の管理については、色々な課題が生じます。
私の担当している部門では商品の「発注」は基本的に行っておらず、在庫管理まで各業者さんにおまかせする「消化仕入れ」で運用しています。
「消化仕入れ」については以下の記事(第2章 消化仕入れって?)をご参考にしてください。
1.テーマの背景として
改善が難しい課題の一つとして、商品が売れないと仕入として計上されず、納品業者さんのロスになってしまうという仕入特性があります。
よって賞味期限の短い商品は控えめの数量で納品をされてしまい、逆に賞味期限が長い商品だと在庫管理が業者さんの力量次第になるため、どちらにしても売場での「品切れ」が散見されています。
業者さんとしては納品時に、店舗従業員に声をかけないで納品することができるので、従業員とのコミュニカーション不足にもなりがちです。
店舗側としては自分たちで仕入れた買取商品の管理が忙しく、業者さんに連絡するのはひと手間がかかるので品切れ状態のままにされてしまいがちです。
そこで今回はTeachable Machine
を使ってプライスカードの画像認識を行い、Node-RED
とLINE
と連動させて品切れ時に対象業者さんへの連絡を手軽に行う仕組みを作りたいと思います。
業者さんへの連絡手段として普段活用しているemail
と今後の手軽さ重視のLINE
の両方で使えるシステムを作ることを目標とします。
品切れ通知のイメージ
2.Teachable Machine
の画像認識機能でプライスカードの情報を学習させる
まずはTeachable Machine
にログインします。
面倒な会員登録等は不要ですが、登録しない分サイト内に前回までの記録が残らないので、取得したURLは必ずどこかにメモ書きしておく必要があります。
ただし本当に手軽に機械学習させられるので、私はメモに残しておらず、その都度新しいURLを取得しました。
プライスカードに記載されている業者名を学習させました。
これでこのモデルのリンク先が簡単に取得できます。
https://teachablemachine.withgoogle.com/models/〇〇/
3.FlowFuse
の登録
こちらにアクセスしてアカウントを取得します。
残念ながらFlowFuse
のお試し期間が30日から14日間に短縮してしまったようです。今後、本格的に使おうとする場合は有料になるので、使い勝手をみて本登録を検討しようと思います。
FlowFuse
に登録が完了するとNode-RED
のプログラミングの画面になります。
今回はこちらの記事を参考に作っていきます。
Node-RED
には必要最低限のノードしか入っていないということで、先に欲しい機能をユーザー設定のパレットの管理から検索して追加します。
ノードを追加を押すと複数の候補が掲載されています。
私はここでTeachable Machine
とLINE
を追加しました。
最初につくったフローはこちら
LINE Bot
を使いたかったので、LINE DevelopersでNode-RED
用の新しいチャネル登録をしました。
しかしLINE Botとの相性が悪いようで・・・
流れはこちら
webhook
の部分でLINE上で画像認証した画像を送り
http reqest
その内容をつないでもらい、
teachable machine
で画像認証し、判定してもらいます。
ここで要求中とでたので、ここまではどうやらつながっているようですが、template
に行ったタイミングでサーバーの接続が切れましたの表示がでてしまいました。
その後、何度やっても接続が切れてしまい、LINE Bot
に返事が返ってくることはありませんでした。
おそらくLINEから画像認識を受信したことで、サーバーがダウンして接続が切れてしまったようです。
4.cameraのノードを使ってemail
にも出力できるように作り直し!
camera
スタートに変更し、出力手段もLINE
だけでなく、新たにパレットの管理から追加してemail
も選択できるようにセッティングしました。
しかし結果として
メールにもLINEにもつなげることはできませんでした。
①`LINE`とつながっている`ReplyMassage`は無反応。 ②`email`でつながっている補充依頼メールはユーザーIDとパスワードが認証されないとの結果でつながりません。(`email`の場合は参考資料がなかったためどこがNGなのか不明) ③`debug`のみ、つながりました。先程使っていたLINE
のReply message
ではLINEから送られてきたものへの返事という意味があるので、スタートをcamera
にしたのでつながらなかったようです。
そこで別の方法を検討しました。
この方法を使えば、camera
からLINE Notify
を通してLINE
にメッセージをおくることができそうです。
5.出力部分をLINE Notifyに変更
つくったフローはこちら
Node-REDに対応したLINE Notify
に新たに登録をしました。
出力部分のノードの内容のメモ
①switch
で情報を仕分けします。今回は2社なので2パターンと読み取れなかった分をdebug
にいくように設定しました。
②LINE-Notify
はTeachable machineで認識した文字をPayloadできないようなので
直接メッセージに送りたい内容を入れました。トークンはLINE-Notify
の登録時に取得できます。(メモをとっておく必要があります)
実際に届いたLINEの内容はこちら
6.まとめ
camera
を使っての画像認識はできましたが、パソコンのカメラでは文字が認識がしにくいのか、2社にも関わらず精度も正直イマイチでした。(最初のラインのカメラで送った分は認識できていました)
担当している加工品でも300社以上の業者様の登録があるので、camere
を使ったプライスカードの画像認識では判別するのは難しいのではないかと思います。ここをLINEカメラの文字認証機能をつかった方法でも試してみたいと思いました。
また今回の目標は品切れ連絡を手軽にするというのが第一目標だったのですが、「事務所に設置しているパソコン」のカメラが必要になると、手軽にとは言えないかなと思いました。
今回はTeachable Machine
を使いたかったので、連携していて扱いやすいNode-RED
で動かしてみましたが、次はLINE
と相性の良いMake
で売場の品切れを手軽に業者さんにお知らせする仕組みを作成してみたいと思いました。
最後まで読んでいただきありがとうございました。