Fusicでは開発合宿というイベントがあります
今回、苑田くんとペアを組んで参加しました
以前にも、hololensを使ってスカウターチックなものを作りたいと思って取り組んだことがあるのですが、Hololensに対する理解と、Unity, C#やMSお作法がわからなすぎてうまくいってませんでした。
そんな中、苑田くんは研究室でHololens 2を使った開発や研究の経験があるということで、協力を依頼して今回の合宿に参加することにしました。
作りたかったもの
ドラゴンボールであるようなスカウターが作るのが今回の目標です。
技術的構成としてはこんな感じです
- 任意のタイミングで撮影を行いサーバに画像をpost
- サーバ側で写っている人物を特定する(機械学習)
- 特定した人物に関する情報をHololensに返す
http通信が行えるので、ここまで具体化してしまえばそこまで不思議なものではなくなってきましたね。
サーバ側は顔認識を行う機械学習モデルの推論するAPIを作れば良くて、Hololensはちょっとレアなタイプのフロントエンドとも考えられます。
サーバ側
顔認証にはfacenetというモデルを利用してみました
以前も僕はこのモデルを使って遊んでみたことがありますがその時はローカルで一発動かす用のお遊びでしたが、今回はAPI化するところまでやりました。
認識した人物に関する情報は会社のメンバーページのデータを使いました
facenetの学習ではtriplet lossを利用していて同じ人物の顔であれば近いベクトルに、違う人物の顔なら遠いベクトルになるように学習を進めるので非常に汎用性の高いモデルとなっています。
facenetの論文 fig.3を引用 : https://arxiv.org/pdf/1503.03832.pdf
Hololens側
苑田くんが頑張ってくれました
実際に動作している様子はこちらの動画をご覧ください
まとめ
実際動くものができて、動かしてみたときにはテンションが上がりました
ヘッドセットつけて、こういう感じにフォォンって出てくる系のUIってなんか近未来的な感じがしてテンション上がりますよねw
刺激的な開発合宿でした!