カメラで写した業務用端末の情報を素早く教えてくれるAI(機械学習)のプロトタイプ


小売業の困りごと「あるある」

皆様、こんにちは。小売業のシステム部門で働いているhousakoです。
今日は、画像を使った機械学習(AI)で業務端末の区別を行う仕組みを試作してみましたので紹介します。

ボタンがあるやつ?スマホみたいなやつ?

「なんか発注機の調子が悪いんだけど、どうしたらいいですか?」といった電話は頻繁にありますが、「型番がxx-xxxxという業務端末1台だけ、電源ON後の初期メニューが表示されません。」といったように、内容が具体的なことは極めて稀です。

そのため、大抵ここから「○○の発注に使う端末ですか?」「数字のボタンがついている端末ですか?」といった絞り込みに移るのですが、ハードウェアは生産終了にともなう後継機への移行のため複数の型番が混在するほか、社内システムのデバイスフリー化が進んでいて業務で利用端末が絞り込めないことも相まって、結構な時間を消費します。早く答えが欲しい店舗の担当者にとっては、苦痛な時間です。

そこで、調子が悪い機器をスマホやタブレットのカメラ(パソコンでも可)で映すだけで、瞬時に型番や保守の有無を表示するツールを試作してみました。

解決のために使うもの

・Windows-PC
・TeachableMachine
・codepen
・カメラ付きデバイス(PC/スマートフォン/タブレット)

実装手順

まず、TeachableMachineに画像を機械学習させます。
今回学習させるのは、Sharp製の業務用端末3種類です。

・RZ-1502A
・RZ-F302C
・RZ-H261

画像を識別させるにあたり、単一色で無地の背景になることは稀であるため、背景なし、人物や不要物の映り込み、といったノイズを「その他」として覚えこませたのが工夫したポイントです。図の「ニコニコマーク」には人物の顔が映りこんでいますので、加工しています。。。

機械学習が済んだら、codepenでWEBサイトを用意します。コードは下記の通りです。

See the Pen 店舗機器照会 by housako (@housako) on CodePen.

codepenは色々な画面レイアウトが用意されており、「Full Page View」を選択すればスマホやタブレットで公開できる画面になります。コードを編集しているときに使う画面と、「Full Page View」ではURLが変わるため注意が必要です。

今回は動画をアップしたかったので、iPadを使って検証しました。(Androidはバージョン11以降でないと、画面キャプチャを動画で取れないようです。。。)
ただ、iPadを使って画面を動画でキャプチャするとMP4ファイルが生成されるのですが、Qiitaにはこの形式で貼り付けることが出来なさそうなので、gifに変換しています。最大画質にしていますが、少し解像度が荒くなっています。ご容赦下さい。(何とか動作は確認出来ると思います。。。)

自己評価

簡単に試作した割には、正しく画像認識できています。試作ということで3種類の機器しか判別できないものの、もっと多くの機器を学習させることで、実際に使えるレベルに発展させることが出来そうです。
使用感の改善では、推論が出るまで画像識別を繰り返し、識別出来た結果の画面表示は維持すべきかと考えています。(結果表示をしたら、再度ボタンを押さないと次の識別を開始しないようにする。)