「せっかくだからラズパイを使ってなんか面白いもの作ってみよう。」
毎週火曜日の業務終了後、数人の男たちが会議室に集まり、近くのスーパーで買ったビール片手におつまみ、寿司などを食べながら話していました。目的はラズパイを使ったハッカソン。いろいろなアイディアが出てきます。
「ラズパイを使った楽器などは人目を引くよね」
「レトロなデバイスを使えないかな。昔のテープとか」
「ケーキを当分に切るためのレーザーとかどう?兄弟喧嘩起きない!」
「子供向けに、像にカメラついてて、願い事をすると、何が欲しいかを親の携帯に送る。なんてのはどうでしょう」
新しいアイディアを考え、それに乗っかりながら次のアイディアを考えていく。時には突飛な空想から現実的なアイディアまで様々です。
「ドラえもんのひみつ道具はどうだろう?」
「翻訳こんにゃくとかどう?」
「こんにゃくの中にラズパイを埋め込むのか!」
「・・・使ったこんにゃく、ちゃんと最後は食べてね」
「どこでもドアはどう?実際にどこでも行けるのはむずかしいけど、どこでも(見える)ドアなら可能なんじゃない?」
そろそろ夜も更けてきました。きょうはこのくらいで解散です。続きはFacebookのメッセージで打ち合わせです。
「先週は8/Eに向けてRasp piの案を固めていってました。 ドラえもんの道具的なものができたらいいなぁとおもってます。」
「有力候補は「どこでもドア」です。 明日に決定して、スケジュールを立てられればと。 ご都合いかがでしょうかー?」
「私は参加できます。」
「明日はダメだ。。 忙しすぎて、何にも出来ない。、ら ってかドラえもんすか? 「どこまでもドア」ではなくて?w」
「どこまでもドアw」
「自分は業務の都合次第になると思います 最近なかなか参加出来ておらず申し訳ありません‥‥。」
「Rasp piの件です。 いろいろな案がでたけど、「どこでもドア」に決定しました! あとはスケジュールと何をどんな分担でいくかですね。」
「おっー!ストリートビューについては技術問題特に見当たらなさそうですね!」
「これでどこでもドアを・・」
こんな感じでFacebookメッセージをやりとりしながら、仕様を決めていきます。それぞれ仕事が忙しい中でも自分の時間を作って調査したり、物品を買い集めたり、徐々にサンプル的なコードを作り始めます。
「じゃあ、どうやって進める?」
「どこでやる?基本、自宅でする人が多いと思う。毎週火曜日に進捗を報告しますか。」
「見た目はどこでもドアそっくりでなければ面白く無い
【タスク】
1.ストリートビュー担当
2.カメラ担当
3.音声認識多の津
4.ハード・センサ制御
5.ハード制作・外枠制作
6.購買・管理
7.ラズパイコンテスト応募用資料の作成と応募
8.応募用動画の作成、出演、Youtubeに上げる。
やりたいものがあれば手を挙げてね!」
作りたいものが決まればあとは実行するだけ!なのですが、作ってみるとなかな難しいものです。途中行き詰まったり、代替案を考えたりしながら徐々に形にしていきます。
「やっぱムズイか・・・」
「対策としては、 1.外部サーバーですべて対応 →顔の傾きや、住所を外部サーバに送信※デメリットとしては、レスポンスが遅くなる感じでしょうか・・ 2.StreetView部分はスマホアプリを利用→Socket通信等を用いて、結果をスマホに送信 ※デメリットは、スマホをつかうのかよ!?って部分ですかね。。3.そもそも地図表示をやめる・・・? ※デメリットは、時間が無い こんなところでしょうか?」
「うーん。他の案に乗り換えてもギリ間に合う時間だとは思いますが、案1.2で逃げれるなら逃げたいですね。」
「今日中に1か2に決めたいです。 どちらがいいです?」
「案1がいいかなと。根拠はないけど、できるだけスマホは使いたくない気分。」
「フェイストラッキングはどうします??」
「やりたいねー」
「いろいろ検討ありがとうございます。 flickr案もいいですが、今回はストリートビューを使う方向で進めるのもいいですね。
2でいいと思います。 でもflickrは他でも使えそうな感じ。」
全員プログラマーなのでプログラミングはお手のものです。しかし、実際に木材を組み合わせてドアを作るのにはなかなか苦労します。日曜日に集まって作業です。調度よい木材を探したりペンキ塗りをしたりとなれない作業が続きます。
「日曜日にコーナンに行こうと思います。」
「ネットでは難しそうですか?? カットまでしてくれたら、楽かな?って思って。。」
「おはようございます。 今コーナンであれこれ考えてますけど、どこでもドアのようなピンク色がありません。 あの色をだすのは至難で、ペンキもスプレーもないようです…」
「提案ですが、黄色はどうですかね…? てか、木に色を染めることに知見がある方〜?」
「なるほど。あの色は難しいんですね。」
「わたしは黄色でもいいも思います。 みんなどうやろか。 色つけるのは、コーナンの人に聞くのが確実かも。 木材の種類に合わせて選ぶペンキも変わるかもです。」
もう少しで、黄色いどこでもドアになるところです。
「ブレンダー現れました」
「まさかの混ぜ技w」
「すげー!」
実際のドアを作るのも大変ですが、音声認識APIや、画像認識に苦労します。
そうして完成したのが、こちら。「ひみつ道具 どこでも見えるドア」です!
説明しましょう。行き先を言ってからドアを開くと、その場所を訪れることが見ることができるのです!
ドアを開けると・・ あら不思議!その場所の風景が表示されます!! 顔を右に向けると右の風景、左に向けると左の風景 下から上を覗くと上の風景を見る事ができます。
どういった仕組みになっているかというと、
ディスプレイにドアを取り付けています。
ドアノブに静電センサー、ドアにリードセンサーを取り付けています。
ドアノブを触ると、音声入力を開始します
ドアが開いた時点で、音声入力を終了し、音声を解析します。 ※音声の解析は、Juliusを使用しています。
解析された情報をサーバーへ送信し、対象となる地域のストリートビューを表示します。
顔認識は、OpenCVを使用しています。 認識した顔の位置より、角度を算出した角度情報を外部のサーバーに送信します。
認識した情報は、サーバに送信されブラウザに表示されているストリートビューの角度が変わります。 一定時間以上顔が認識されなかった場合は、初期の位置に戻します。
まだまだ、改良点も多いのでラズパイコンテストへの応募後もどんどん機能改善、機能拡張を行っていきたいと思っています!