Edited at

真の「うんこなう」判定機を作った~機械学習を使って本当にトイレ(しかも個室)にいるのか調べる~

みなさん、クリスマスイブを前日に控えた今日、いかがお過ごしでしょうか。

クソアプリ Advent Calendar 2018、23日目の担当、nabettuです。お手柔らかにお願いします。


何を作ったか

Twitterで「〜なう」というつぶやき、たくさん見たことがあると思います。流行語大賞にもなりましたし。

その中でも「うんこなう」とつぶやく際に、本当に「うんこなう」なのかどうかを判定するWebサイトを作りました。

それがこちら。"真の「うんこなう」判定機" です。

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

https://kusoapp2018.netlify.com/

↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

トイレに行ってから、サイトにアクセスしてみてください。

PCでも一応動きますが、PCをトイレの個室に持ち込むのは怪しいので、誰かに目撃されてあらぬ疑いをかけられても私は何も保証しません。

ogp.png


どんなサイトか


  1. アクセスし「カメラをON」にすると、端末のカメラを許可するかどうか出ます。あらぬ疑いをかけられないように周りに注意しながらONにします。


  2. すると、画面にカメラで写している映像が表示されます。


  3. 次にカメラで「トイレットペーパー」を写してみてください。あなたが本当にトイレに居るならトイレットペーパー、ありますよね?もし個室に入っているのにトイレットペーパーが無い状況だったら、スマホなんかいじってないで紙を探してください。そんな状況では💩が出来ないので「うんこなう」とはつぶやけません。一大事です。qiita見てる場合じゃねぇ!

    Image from iOS (1).png


  4. 無事にトイレットペーパーをカメラに写すと、「うんこなう」とつぶやけるツイートボタンが表示されるはずです。栄光の「うんこなう」をつぶやきましょう。


Image from iOS (2).png


どうやって判別しているか

tensorflow.jsを利用して、カメラの映像に何が写っているかを判別しています。

TensorFlowはGoogleがオープンソースで開発している、機械学習ライブラリです。

今回は事前に機械学習を行なっておいた学習データを、tensorflow.jsを使う事でブラウザ上で利用して、カメラに何が写っているか判別しています。

学習データはemoji-scavenger-huntという、googleがtensorflowのデモとして公開しているサイトの学習データをそのまま利用させてもらっています。

サイトのソースはこちら↓で、parcelでその辺りのデータを全部ドン!っとまとめています。

https://github.com/nabettu/kusoapp2018

また、スマホブラウザでのカメラの利用はiOSだと11から出来るようになっていて、その辺りはuserMedia APIを利用しています。


まとめ

AIを使えば本当に「うんこなう」なのかどうかもわかるぞ。すごい。AIに仕事が奪われる未来が見えてきましたね。うんうん。

明日のアドベントカレンダー担当はK_M95さんです。よろしくお願いします。

これでワイもAIエンジニアやガッハッハ

こんなクソ記事を最後まで読んでいただきありがとうございます。また来年もクソアプリアドベントカレンダーでお会いしましょう。良いお年を。