LoginSignup
6
1

More than 3 years have passed since last update.

夢を叶えるインターフェイス

Last updated at Posted at 2019-05-07

無駄に未来感があるインターフェイスを作ってみました。
ntxbi-8qwsl.gif

※こちらはディープラーニングガジェット品評会のネタです。

やりたかったこと

  • 映画「マイノリティリポート」に出てくる格好いいやつを作りたかった
  • タッチパネルが使えない状況(手が汚れている等)でも使用可能なインターフェイスを作りたかった

結果

まずは、結果をご覧ください。

  • キャプチャ範囲の設定(両手を使います。)
    j7972-ppr28.gif

  • キャプチャ画像の移動・拡大
    ntxbi-8qwsl.gif

環境

  • Raspberry Pi 3
  • USB camera
  • NCS2

実はクソアプリ

このアプリ、全く使い物に立ちません。その理由は以下のとおりです。

  • もっと便利な商品がある
  • ハード代が高価(3万円弱)
  • 使うと腕が疲れる

アルゴリズム

アルゴリズムは簡単です。

まず、handtracking-OpenVINOを使って、手を検出します。
そして、検出した手が閉じていると、「入力あり」と見なしています。

ありなし.png

手の開閉は、手の検出枠(バウンディングボックス)の「縦横比」で判定しています。
縦長(手が開いている)であれば「入力なし」、それ以外であれば「入力あり」と判定しています。

ただ、縦横比をはっきりさせるために、親指を曲げて手を開いています。
お釈迦様のような手にしないといけません。

また、手のひらをカメラに向けると、手が二つあるように認識してしまい、
うまく判定ができません。

へい.png

従って、手の甲をカメラに向けています。

改善に向けて

今のところ、完成度が低いため、コードは公開しませんが、改善できたら
公開しようと思います。

少しでもクソアプリから脱却すべく、以下の項目を改善したいです。

手の認識

前述したように、手の動作に制約があります。

制約を無くすためには、DOCTripletLossを使うと、高速にかつ正確に
手の開閉を認識できるようになります。

親指を曲げて手を開く必要もないですし、手の甲を見せる必要もなくなるでしょう。

価格について

現状はハード代が高価です。

ハードをJetson Nanoに代えると、価格を一万円強に抑えることができます。
スピードは未知数ですが、10FPSくらいにはなると思います。

最後に

handtrackingは、元々普通のPCで動くように開発されたものです。(CPUで10FPS)

従って、元のリポジトリを改造すれば、普通のPCでもこのアプリを動かすことができます。
やってみたいという方がいましたら、チャレンジしてみてください!

6
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
1