第3回アキハバラIoTツアーズ@おてら編

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

都心では真夏日を記録し始めた今日この頃、みなさまいかがお過ごしでしょうか。おてらです。

 

去る5月20日(土)に第3回となるアキハバラIoTツアーズが開催されましたので当日の様子を私の視点からお伝えします。

アキハバラIoTツアーズとは

まずこのイベントのおさらいですが、日本最大の電気街である秋葉原にて昨今話題になっているIoTに触れ、みんなでキャッキャウフフして刺激をもらおう!というイベントになっております。

そんなイベントも今回で3回目を迎え、会を増すごとに会場の規模も大きくなってきております。

 

また、今回は特別ゲストとしてIoT女子のみなさんにもご参加いただきました!

毎回のことですがイベントの特性上、男性メンバーが非常に多いです。今回も女性メンバーは運営スタッフとして1名、参加者としては当社の女性エンジニアが1名の合計2名と非常にオジサン率が高い中、IoT女子のみなさんが加わっていただいたおかげで随分と華やかさが増しておりました。

また次回のIoTツアーズの際もご一緒出来たら幸いです!

今回の会場はDMM.make AKIBAさん

今回の会場となったのは北野武さんが出演していたCMでお馴染みのDMM.make AKIBAさんです!

あらゆる工作の聖地と言っても過言ではないほどに工作における色々な設備が整っていて、更には集中して作業できるコワーキングスペースや、ちょっとカジュアルな雰囲気の中でも作業ができるバーカウンターエリアもあります。

我々の上司も到着するなり開口一番

上司「来週からここで働こう(ニッコリ)」

と言ってしまうほどに魅力的な場所でした。

我々のオフィスもあれくらいオシャレだったらなぁ…。

謝辞

以前まではお知り合いの企業様にお声掛けさせてもらって参加して頂いていたんですが、今回はconnpassでも参加者を募集したこともあり、今まで以上に色々な方々にご参加いただきました。
ご参加いただいたみなさま、本当にありがとうございました。

想像以上に参加者の方々のレベルが高くて終始驚きっぱなしでした。

本題

何作ろう( ◠‿◠ )

今回の秋葉原IoTツアーズのテーマは「健康」ということなんですが、IDCフロンティアさん主催のサバフェス!2016を思い出しました。(参加してました。)

サバフェス!2016の当時も結構ネタ出しに困ってたんですが、今回も例に漏れずネタ出しに困窮し、結局IoTツアーズ前日まで悩んでました。

 

IoTツアーズの前週にクラウドコンピューティングEXPO 2017 春に行ってきたんですが、IoT/M2M展にも参加しました。IoT/M2M展ではWebカメラを使って表情認識させるシステムが結構多く、トレンドな感じがしました。

そこで私は思いました。「これだ」と。

 

最終的に作ろうと考えたのは「Webカメラから表情を取得して表情認識APIに投げ、眠そうだと判断されたら寝不足と定義してSlackに寝不足であることを通知させる」というものです。

ということをIoTツアーズの前日に社内で話していたら、隣の席のがせさんもといかーみっとさんからお声が。

かーみっとさん
おてらIoTツアーズは何作るの~?

おてら
あ、表情認識させて眠そうだったら何やかアクションさせる何か作ろうかと思ってます~

かーみっとさん
え、マジで?オレも表情認識させようと思ってるんだよねー!

おてら
マネしないでください!

かーみっとさん
ちげーよ!ほんとだよ!!

おてら
あ、そうなんですねw

かーみっとさん
眠そうな人に枕投げつける装置考えてた

おてら
!?!??!?

というやり取りがあり、前日でしかもお互い何も準備できてないという共通点からチームを組むことにしました。

ハードウェア側のことについてはかーみっと氏が記事にしてくれると思うのでそちらをご参照ください。

 

これでめでたく、表情を認識して眠そうだと判断したら枕が飛んでくるIoTデバイスを作ることが決定しました!

当日

そしてDMM.make AKIBAさんでもくもくと作業開始。

 

ちなみにDMM.make AKIBAさんでWi-Fiを用意して頂いていたんですが、発表会場はめいどりーみんさんなのでラズパイをそのネットワークで設定してしまうと発表会場で使えないことになってしまいます。

なのでスマホのテザリングで設定しようと思い、ラズパイの無線LANで私のiPhoneに接続。テザリングだとSSHするには同じネットワークじゃないとダメなので自分のノートPCもテザリングでつなげたところ、よしよしちゃんとラズパイにSSHできたぞ~( ◠‿◠ )

 

ところがしばらくするとSSHが切れる。

あれ?と思いノートPCからラズパイのローカルIPへpingを飛ばすも返ってこない。モニターをつないで確認するとWi-Fiが切れている。なぜだ。仕方がないのでもう一度接続。SSH復活。

 

またしばらくするとSSHが切れる。

あれ?と思い再度pingを飛ばすも返ってこない。なぜだーとググるとネットにすらつながっていない。あれ?と思いPCのネットワークを確認するとテザリング出来ていない。ぐぬぬ。

 

PCでテザリングするとラズパイがテザリングできない、ラズパイでテザリングするとPCでテザリングできないという謎の現象に陥り、ネットワークが安定するまで午前中を丸々使ってしまいました

仕切り直し

ネットワークがようやく安定してきたところで仕切り直し。

構成としては以下のような感じをイメージ。

  1. ラズパイにUSB Webカメラを接続
  2. Python の motion というライブラリをインストールしWebカメラから画像を取得
  3. 取得した画像を表情認識APIに投げる
  4. 返ってきた結果に応じてWio NodeのAPIを叩く
  5. 枕が射出される

 

表情認識にはMicrosoft AzureのEmotion APIを利用することを考えました。

Emotion APIでは以下の項目が所得出来るようです。

  • anger (怒り)
  • contempt (軽蔑、侮辱)
  • disgust (嫌悪)
  • fear (恐怖)
  • happiness (喜び)
  • sadness (悲しみ)
  • surprise (驚き)
  • neutral (はっきりしない)

あれ、sleepy はないのか。というかよくよく考えたらsleepy は状態(State)であって感情(Emotion)じゃないな…。

他に「眠そう」という判断を下せるAPIはないかなと色々調べてみましたが、希望を叶えてくれそうなAPIはなさそうでした。

 

かーみっと氏から「Amazon Rekognition使ってみない?」と提案があったので今まで結構AWS触ってたこともありAzureではなくAWSに乗り換えることに。

構成が一気に以下のように変わりました。

  1. ラズパイにUSB Webカメラを接続
  2. Python の motion というライブラリをインストールしWebカメラから画像を取得
  3. 取得した画像をS3に保存する
  4. S3の画像をAmazon Rekognitionで判定
  5. 返ってきた結果に応じてWio NodeのAPIを叩く
  6. 枕が射出される

 

ラズパイにS3をマウントさせる方法は以下の記事を参考にさせて頂きました。

motionの画像ファイルをs3fsを使いamazon S3に保存する

ひとまずS3に接続できたので早速画像ファイルをS3にアップロードされるよう motinon の設定を変えたところ、ラズパイ側から見るとちゃんとマウント先に書き込みできていました!やったね!

そしてマネジメントコンソールから確認してみるとおやおや?JPGファイルではなく単なるオブジェクトとして認識されてしまっている?という状況に…。

利用しているIAMの権限の問題かと思い、IAMにS3に対するフルアクセス権を付与しても状況変わらず。

手詰まってきた

何だか色々と上手くいかない状況が続いて四苦八苦…。気が付けば残り時間もあとわずか…。

このままではまずい!ということでかーみっと氏は発表資料を作ることに。「発表資料はオレに任せろ!」という力強いお言葉をいただきました。

 

そこで私はそもそもラズパイで取得した画像をAmazon Rekognitionで認識させるとどうなるのか?ということを確認するために普通の表情の画像と眠そうな画像を1枚ずつ取得してアップロードしてみました。

 

その結果がこちら。

 

まずは普通の表情。ちゃんと認識していますね。すごい。

 

 

 

んん??

 

 

 

 

appears to be female 100%…だと…?

 

いやいやいや、女性に見える率100%ってAmazonさんさすがにそれは盛ったでしょう( ◠‿◠ )

まぁこんなもん偶然よ偶然!もう1回やれば結果も違ってくるわな( ◠‿◠ )

 

2回目、眠そうな表情。

 

はい!出ました! appears to be female 100% ( ◠‿◠ )

期待を裏切りませんよ!( ◠‿◠ )

ということで私は女性だったようです!(Amazon調べ)

 

ちなみに age range も先ほどは「20~38 years old」だったのに比べて「15~25 years old」に若返ってます。(実年齢28歳)

いやはや、確かに若く見られがちですがここまでとは。

 

とまぁAmazonさんから女性認定されたのはしょうがないとして、よく見ると「eyes are closed 99.9%」という結果も出ていて目を閉じているという認識はちゃんとできているようですね。

 

タイムアップ

最終的に以下のような出来に。

  1. ラズパイにUSB Webカメラを接続(OK
  2. Python の motion というライブラリをインストールしWebカメラから画像を取得(OK
  3. 取得した画像をS3に保存する(NG)(保存は出来たがJPGとして認識できず扱えなかった)
  4. S3の画像をAmazon Rekognitionで判定(NG
  5. 返ってきた結果に応じてWio NodeのAPIを叩く(NG
  6. 枕が射出される(OK

それぞれの項目において点では動いても連携の部分が完成しませんでした。また、Amazon Rekognitionで画像認識した後の最も肝となるプログラムについても全くノータッチだったので全然でした。。

かーみっと氏の方でWio Nodeを使ってサーボモータを動かし、枕を射出するデバイスの方は完成していました。さすが!

 

発表

時間が来てしまったので名残惜しくもDMM.make AKIBAさんを後にしてめいどりーみんさんに移動。

お待ちかねの発表会です!

それぞれの発表については全体のまとめ記事にお願いするとして、我々の発表はかーみっと氏が担当しました。

 

とりあえずこの画像は発表に使うよね。

 

かーみっと氏のプレゼン力は計り知れないものがあり、IoTデバイスが完成していないのに発表だけは一番ウケていたように思います。

 

終わりに

完成出来ず!という不甲斐ない結果に終わってしまったので次回こそはちゃんと完成まで持っていきます。

今回は参加者の方々のレベルが非常に高く、すぐにでもプロダクトとしてマネタイズ出来そうなものがいくつもありました!みなさんのエンジニア力の高さ半端ない。

また、ちょうど1年前にも最初のIoTツアーズを開催しましたが、この1年間での機械学習、画像認識など技術の広がり方も凄まじいと感じました。また半年後には新しい技術が世に出ているのでしょうかね。

 

 

完全に余談ですが、2013年に会社の旅行でタイに行きました。

入国審査の際に「Are you Men??」と言われて冗談なのか本気なのか分からなくて泣きそうになったことを今回のAmazon Rekognitionの一件で思い出しました(;;◠‿◠ )

男性諸君はタイに入国する際に男性であることを疑われたらはっきりと「Yes Men!!!!!!」と答えて堂々と入国しましょう。

  • このエントリーをはてなブックマークに追加
  • Pocket
  • LINEで送る

SNSでもご購読できます。

コメントを残す