夢広がる！野望果てなし！Teachable Machine、Node-RED、Makeで、笑顔判定！

大きなタイトルをつけましたが、超初心者（やっとTwitterXのハッシュタグをつけるのに慣れてきたレベル）のアラフィフおばさんが、自分が笑顔かどうか判定メッセージをラインで受け取るものを作りました。

![笑顔　表紙.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3509688/ad81844a-818d-509b-7e0e-e374855afa98.jpeg)

# 1. 今業務で、何が課題か
## (1) 永遠の課題、笑顔
小売やホテルなど、接客業の方はご経験があると思います。
<font color="Red">**「笑顔でお客さまと接すことができるか。」**</font>
これはシンプルだけど奥が深い、おそらくどこの会社様もお困りと思われる（うちだけではない…と思いたい…）、接客業の永遠の課題と思います。
指導も、しづらいです。計算ミスや、巻き寿司の切り方の悪さ~~が悪さ~~などなら指摘もしやすいですが、なぜか笑顔については「あなた、笑顔、できてませんよ」と従業員どうしも言いづらいものがあります。
今は、店の教育担当者が「はいっ、挨拶の練習です！笑顔を作りましょう！」と言って、研修を行ってくれています。
 
接客業でない方のために：
「笑う」や「笑顔」ができない人は、ほとんどいないと思います。
ですがそれを、どんな状況でも、とっさに、相手に伝わる笑顔で（お客さまは家族ではありません！はっきり笑顔でないと伝わりません！）、勤務時間中常時できるかと言われると、思うほど簡単ではないのです。
忙しいと、ついつい作業に集中してしまい、悪気なく真顔（＝お客さまにとっては「不愛想」「怖い」「感じ悪い」となる）になるのです。


## (2) 笑顔判定機は実用化されています
すでに笑顔判定機は実用化されいます。
弊社でも、<font color="Red">**「笑顔判定機」**</font>の導入を検討しています。
体温判定みたいに、その機械の前で笑うと「笑顔です」と教えてくれるもの~~やつ~~です。
他社さまでも、すでに活用されているところも多々あるようです。
ところが弊社だと、コスト的にもスペース的にも、導入できたとしてもおそらく1店舗1台がやっとと想定しています。
従業員入口当りに置くのでしょうが、そこを通るのは1日2回、出勤時と退勤時だけ。
実際に勤務開始となると、せっかく「笑顔です」と言われても、忘れてしまいそう…。
<font color="Red">**やっぱり笑顔は、「慣れ」と「トレーニング」。**</font>
しつこいぐらい、繰り返しやること。顔面筋肉痛になるぐらい頻度高く行うこと。
そうしないと、売場で笑顔はできないんですよ。

# 2. こんな「笑顔判定」が欲しい！作りました
## (1) こんな、笑顔判定ができるものがほしい！
そこで、「笑顔判定機」といっても、
・　売場とバックヤード（従業員しか入らないスペース）の境目のあちこちにあり、
・　勤務中に誰でもすぐに使え、
・　低コストで導入もランニングも済み、
・　笑顔なら褒めて、私たち従業員のモチベーションを上げてくれるもの！
そんなものが欲しいと思っておりました。
もちろん、今回はその全ては無理ですが、<font color="Red">**第一歩を踏み出した感じです。**</font>

## (2) できあがり
パソコンのカメラで笑うと（ここでは笑顔の写真を写しています）…
Node-REDの冒頭は前の写真が残っており、それを削除して再度撮影しています、すみません。

![MakeからNode-REDへ　動画.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3509688/4c5d1f89-e976-f0be-ab7f-055a2cd45ef3.gif)


このように、「あなたは「真顔」です」とLINEが来ました！
（見づらいですが、最後に3時31分がピコッと出るのです！）

![LINE動画　笑顔.gif](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3509688/8eff6bf3-36c3-fb98-82b2-f12bca21c65f.gif)

あれ、笑顔のお姉さんが「あなたは真顔です」と言われてしまった…

# 3. 作る過程
## (1) 使ったもの
- Teachable Machine 　[Teachable Machine](https://teachablemachine.withgoogle.com/)
- Node-RED　 [Node-RED](https://nodered.org/)
- Make  [Make](https://www.make.com/en)

## (2) 作る過程
①　Teachable Machineに「笑顔」と「真顔」を学習させた
Teachable Machineをたちあげ、「画像プロジェクト」を選びます。
「クラス」とよばれる、判定で出したい名前をつけて、写真を撮ります。
1枚1枚アップロードより、ウェブカメラで一気に撮影すると早いです。
今回は、私の「笑顔」と「真顔」を覚えてもらいました。
そして「トレーニング」して、「モデルをエクスポート」で、この覚えたもののURL①を取得します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3509688/7b52f481-2e1d-f88c-4325-4ef55308ea33.png)


②Node-REDで、以下のようにつなぎます。
ここでTeachable Machineをダブルクリックしてノードを開き、先ほどのTeachable MachineのURLをペタっとはります。
そしてこの情報をMakeに送るために、[http request]のノードに、MakeのURL（後で作ります）を入れます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3509688/7b27ff81-b50e-eb7d-dd21-cb4f7d9fa1c0.png)


③Makeで、Node-REDからの情報を受け、LINEに送る
はじめにWebhookのアドレスに「?egao=笑顔」をつけて覚えてもらいます。このURL（?以前の、もとからあったURL）をNode-REDの[http request]のノードにはります。
LINEは、Send a Notificationを選び、お返事ではなくプッシュ通知型にしました。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3509688/3bfa6740-0c52-0484-bbe4-de0463b162f6.png)


完成です！

# 4. 完成までに、引っかかったポイント
## (1) Teachable Machineを「ポーズプロジェクト」にしたら、Node-REDが動かなかった
　当初、ポーズプロジェクトを使って別のアイデアを実施しようと思いました。
　すると、Teachable Machineの中では上手くいったのですが、そのURLをNode-REDに入れると、以下のように途中でネットワークが切れてしまい、再度Node-REDが自動的に立ち上がる、となってしまいました。
一からやり直したり、再起動したりしたのですがどうにも直らず…。
そこで今回の「笑顔」にしたら、上手くいったのです。

## (2) Teachable Machineの笑顔と、Node-REDに入れた後の笑顔判断が違う？
今回、笑顔の写真を「真顔」とLINEにきました。
Node-REDでも「真顔」とされているので、そこのつなぎ方は合っていると思います。
ところが、私がパソコンのカメラで笑顔で笑っても、やっぱり「真顔」とされます。
いや、私の笑顔を読ませたのですが…。
そこで、Teachable Machineに戻ってみると、笑顔は笑顔で判定するではありませんか。
これはどういうこと？
実用には、この辺も原因を探らないとなりません。

## (3) Makeの、WebhookのURLが「Accepted」にならなかった
これも原因はわかりませんでした。①に記載した通り、当初別のTeachable Machineでやっていたので、混同したのかもしれません。
そこで、前回LINE Botを作った時の教訓、「エラーは原因を探るな！捨てろ！」を思い出し、最初からやり直したら、今度は「Accepted」してくれました。やり直しは大事ですね。

# 5. 野望果てなく・・・これからやりたいこと
このTeachable Machineの凄さを知ってから、やりたいことが次々と浮かびます。
夢を聞いてやってください。

## (1) 姿勢判定をしたい！
個人的難易度★★

当初考えていた、姿勢判定。
教育担当者は人前で話すことも多く、立つ、歩く、は基本です。
今回、私たちの「立ち姿」の良し悪しをTeachable Machineで判定してもらおうと、同僚男女4人に協力いただき、横から立ち姿を「良い」「悪い」の2パターン読み込ませ、Teachable Machineでは判定も上手くいきました。
なぜNode-REDだとダメだったか、もう少し調べます。

## (2) 「笑顔判定人」をバージョンアップさせたい！
個人的難易度★★★★

笑顔を作るにはトレーニング、トレーニングは回数。
ということで、受け取るLINEの「あなたは笑顔です」メッセージが、ポイントになったら面白くないですか！？
スマイルポイント。笑顔の練習をすればするほどポイントが貯まる…（その後、売場でできなければ意味ないですが…）
現在は、業務時間中の私用スマホは持ち込み禁止なので難しいのですが、楽しみながら、ゲーム感覚で笑顔トレーニングができるものがあると良いと思います。


## (3) 動画をiPadから送りたい 
個人的難易度★★★★★★？

今回、Teachable Machineの写真はパソコンから入れましたが、本当はiPadから写真を送れると使い勝手が飛躍的に向上します。
きっと方法はあるハズです。これも今後の宿題にしたいです。

# 6. おわりに
この記事を書く前に、今回の笑顔判定がLINEに来るところを上司に見てもらいました。
上司曰く、「すごっ！なにこれっ！」。
そうなのです、少しの技術を知ると、こんなにできそうだと思えることが増えるとは…。
こんなのもできそう、あんなのもやってみたい、と夢広がります。
忘れないよう、メモしておきます。いつかできる日が来ますように…。

最後までお読みいただきありがとうございました。