最近、スマホのセンサーを使って何かディープラーニングができないかと考え、色々情報収集をしていました。よるジェスチャー認識プログラムのプレゼンがありました。この内容が大変素晴らしく、特に、実際作った10個のデータを10,570個にデータ拡張するとか、可変長データを固定長データに自在に変換するとか、マウスでジェスチャーしている最中に連続して推論実行するとか、とてもエキサイティングなものでした。発表されるそうなので、詳しい話はできませんが)この件が大きな刺激となり、自分もジェスチャー認識プログラムを作ってみたくなりました。神谷さんのプレゼンの様な高度なことはできませんが、シンプルな識別だけなら出来ると思います。やるなら、ジェスチャーに使うデバイスは、マウスではなくてスマホにしてみようかと。いうことで、今回は前編と後編の2部構成で進めます。前編は、スマホに内蔵されている加速度センサーを使ってジェスチャーデータを作成するためのプログラムを作ります。Xcodeを使ってのプログラム開発でした。プログラム開発に関する情報を色々物色したのですが、ほとんどの情報はAndroidの中で自己完結するプログラムばかりで(まあ当たり前と言えば当たり前ですが)思うようなプログラムは見つかりません。いう興味深いサイトに巡り合いました。(ホームページの冒頭から抜粋)スマホの加速度センサーをリアルタイムに収集、結果を外部ファイルとして保存できるページを作ってみました。コンセプトとしてスマホ側では完全にデータ収集に徹し、分析はCSVファイルを使ってPCのExcelなどで行いましょうというものです。最初、全然意味が分かりませんでした。わけですが、その後が「ページを作ってみました」になっている。それ何処にあるの?だいぶ経ってから、同じページをスマホで見ていて、何気なく測定ページへは以下のリンクからのURLをクリックしたら、やっと意味が分かりました。なんと、スマホでURLをクリックした瞬間に、スマホがセンサーレコーダーに変身したのです。左側の画面が現れます。「測定開始」ボタンを押すと右側の画面になり、加速度(重力加速度なし)、加速度、回転の各センサーの値が目にも止まらぬ速さで記録されて行きます。適当なところで「停止」ボタンを押して「データ・ダウンロード」ボタンを押せば、測定データがCSVファイルで保存できます。いいじゃないですか!*ちなみに、実際にはダウンロードはしてなくて、ローカルに保存したデータをCSVファイルに書き出しています。)の中に、スマホのセンサーの値を読み込んだり、ファイルに保存したり、という命令が書いてあり、スマホのブラウザがそれを読み込んで実行しているんです。こんな力があるなんて知らなかった。ソースコードを見てみると、プログラムは次の4つで構成されていることが分かりました。(ホームページの装飾)1)がホームページで、ここから2)~4)を呼び出しています.。3)がセンサーの値を読みだしたり、ファイルに保存したりする、メインプログラムの様です。1)~4)のソースコードをエディターにコピペし、4つのプログラムをPCに保存しました。4つのプログラムが1個所に置いておけるように、1)を修正しておきます。href="css/sensor.css">1)のプログラムの冒頭部分です。