エンジニア

なんくるないさ

「このブログはアフィリエイト広告を利用しています」

VRゴーグルを使ったアプリのアウトプット

VRゴーグルで取得できるxyzの角速度情報を使ったアプリを作ったのでそれのアウトプット

何を作ったか?

VRゴーグルの角速度情報を使って、その人が何をしているのか判別するアプリ

どういう構成

f:id:jump1268:20200411162936p:plain

  1. VRゴーグルの角速度情報を取得して、配列に保存。 (その配列で事前に学習させた深層学習モデルを作成)

  2. その配列情報をUDPpythonに送信

  3. pythonはその情報を深層学習モデルに通してラベル推定

  4. 推定したラベルをUnityにUDPで送信

  5. Unityは推定したラベルに基づいたアクションをする

方法

1.VRゴーグルで角速度情報を取得する

UnityにVRプラグイン入れるとMainカメラオブジェクトがVRゴーグル同期する
これによってVRゴーグルの角度が取得可能
あとは取得した角度から角速度を求めれば良い。

ちなみにのちに深層学習としてデータを使うので角度情報を-1~1にcosで変換しといた方が良い。
なぜかというと例えば下にうなづく動作で0度から359度の違いが大きくなってしまう。
(cos変換しておけば、ほとんど変わらないけど、そのままだと大きな差) f:id:jump1268:20200411161332p:plain

このようにして-1~1にしてから角速度情報を計算する方法が深層学習では普通ってyoutubeで学んだ。

2.配列情報をUDPpythonに送信

配列情報はカンマ区切りでstringにしてUDPで飛ばした。そんなデータも大きくもならないし充分

3.pythonUDP受信して深層学習

カンマ区切りのデータが届くので、適当に配列にほぞん。 あとは事前に学習させておいた、モデルに突っ込んで推定結果を取得する

4.5は省略。

こんな感じですね。

あとは学習データを取得しやすいようにunityでキーを押している間は角度情報を保存するスクリプト作っておけばスムーズに開発できるかも