【手もトラッキングしよう】”VSeeFace”使ってみた!~Leap Motion編~ | Kibekin BLOG.

【手もトラッキングしよう】”VSeeFace”使ってみた!~Leap Motion編~

この記事の概要を簡単まとめ!

  • 前回はVSeeFaceのセットアップ作業を解説した
  • VSeeFace自体は頭の動きと表情のみをトラッキングする
  • 手もトラッキングする場合はLeap Motionが必要
  • 中古ながら状態の良いものが偶然にも入手できたので検証する
  • 前提として現サービス提供元のUltraleapへの登録が必須
  • デバイスを認識するためにGenimiのインストールを先に行う
  • Ultraleap Trackingを起動しておけばVSeeFace側でONにするだけで認識する
  • 正しいトラッキングのために、置く場所によって細かく調整する必要がある
  • 結論:トラッキング精度は多くにとって十分と言える

中古市場と日本やアメリカなどでは絶対に見れない、中国製のぶっ飛んだ製品を探すのが好きである。この2つの共通事項は「ギャンブル要素を大きく含む」ということ。はずれを引いたときには台バン不可避だが、あたりを引いたときは嬉しいもの。特に中国は普通では考えないものを作り出すことが得意で、ニッチな需要を満たすこともできる存在である。それを考えると愛国者様が「チャイナフリー」と思考停止に叫んでいることに疑問符しか出ない。中国製品に大いに依存しているのに叫ぶ姿は、現実を直視できない惨めな人間だ。

さて、PCを操作する時はキーボードとマウスが絶対必要なのは言うまでもないことである。CUIのみの昔はキーボードしかないが、今はマウスがほぼ絶対的主権を持っている。というのも、OSがソフトウェアキーボードを用意していることが多く、マウス1つさえあればキーボード入力もできてしまうためだ。ある意味PC初心者にはありがたい話ではある。

それよりもっと進んだ話が、マウスを使わず手で直接操作するということ。このとき、キーボードもタッチパネルも使わない。そんなSFのようなことができるわけがない、そう思うのは既に昔の話になっていた。旧Leap Motion社(米)、現Ultraleap社(英)が開発した非接触型ハンドトラッキングセンサ”Leap Motion”が2012年に登場した。元々は業務用、法人向けに開発されたデバイスで、Amazonでの一般販売は2013年12月16日から開始されている。これがVSeeFaceにも対応しており、これを組み合わせることで手も「再現」できる。これを偶然にも中古で入手したため、再度VSeeFaceを試すことにした。

外部デバイスの連携で、手も同時に動かす

VSeeFace解説 第2回

前提:VSeeFaceを知っているかどうか

この記事は、VSeeFaceの基本的なことを知っていることが前提となる。そのためVSeeFace未履修の人は、私自身が書いたVSeeFaceで顔と表情をトラッキングする記事を呼んで、このソフトウェアに対する理解を深めておくといい。

最近のVTuberの多くは3Dモデルを使用することが多く、その形式はVRMが多い。これはVRChatなどを除いた多くのVR-SNS及び3Dモデルを表示するアプリケーションで採用されている。だがVRMは制約が多く、改変自由度は基本的に皆無である。そのため現在でも3Dデータの形式の1つであるfbxにマテリアルデータ(テクスチャなど)を適用したものが採用されているようである。このあたりは専門家ではないので、各自で調べてほしい。

VRMを読み込んでそれを表示するソフトウェアないしツールについては、有料・無料を問わず様々なものが各企業、あるいは個人や非営利なプロジェクトグループから提供されている。実はそれぞれのソフトウェアは基本性能の部分ではあまり変わらず、サポートの有無、Live2Dにも対応するか、何かしらの固有機能が存在するかどうかという細かい部分での違いがあるくらいの差に縮まってきている。同時にそれぞれは要求スペックも異なるため、実際に使ってみて自分に合うものを探していくといい。



VSeeFace自体は頭の動きと表情のみをトラッキングする

VSeeFaceはフリーソフトである。通常フリーソフトは廉価版の扱いをされがちで、機能も性能も据え置きということが多いが、これについては全くそういうことはなかった。必要な物はWebカメラのみ、設定できる項目はかなり細かく、低スペックPC向けの設定が存在し、言語ベースは英語だがソフト自体は日本語翻訳対応で、トラッキング精度はかなり高い。これは有料のLuppetに並ぶほど、との評価があり、それほどによくできているソフトウェアであることが分かっている。

そんなVSeeFaceであるが、トラッキングできる部分は頭と表情のみである。ソフト名に”Face”とあるのだから当然といえば当然のことで、同時に他の殆どのソフトもまたトラッキングできる範囲は頭と表情のみであることが多い。だがPCにかかる負荷の観点から考えると、あまり過剰に機能を追加しすぎたり、トラッキング範囲を増やすためにAI等の技術をマシマシにしてしまうと、同一PC上で配信もゲームも行うと考えた場合、ミドルクラスのゲーム用デスクトップPCでさえカバーしきれず、まともには使えない状態になることが簡単に予想される。そのため使用するPCに合わせて設定が弱くできるものを使う、或いはそもそもの要求スペックが小さいものを使用することが解決策となる。その意味では、「トースター級」でも使用できる設定を用意しているVSeeFaceは、誰にでも優しいソフトウェアである。

実はWebカメラ1台だけで手もトラッキングできるソフトがあり、それについては私は既に検証し、記事に仕上げている。エイベックス・テクノロジーズがβ版として提供中のRiBLA Broadcastで、5月25日にv1.0.0になり、それまで存在した問題点について修正して以降は更新は行われていない状態である。これも解決策になると思っていたのだが、認識とトラッキングでAIを使用する関係から要求されるリソースが高いのと、モデルの動きが現実に対してミラーの動きになっている1)理想の動きは、自分が右に向いたときにモデルは画面上で左を向くべきである。それが、自分が右を向いたときにモデルも画面上で右を向いてしまっている。このため、見え方がおかしくなることを検証で発見した。点で、正直解決策とはなり得なかった。ただ、少し手をかければ使えないことはないので、気になる人は下記リンクから読むといい。

手もトラッキングする場合はLeap Motionが必要

VSeeFaceはフリーソフトでありながら、特定の外部デバイスとソフトウェアとの連携が可能になっている。それによりトラッキング範囲を拡張することができる。その対象は手及び腕と全身である。ただしそれには指定した特定のデバイスないしソフトウェアが必要となる。手及び腕のトラッキングにはLeap Motion, 全身のトラッキングにはThreeDPoseTracker(TDPT, 株式会社デジタル・スタンダード提供)を導入する必要がある。後者についてはここで扱う範囲外のため割愛する。

以前にVSeeFaceを解説したとき、無能ジャップ政府のせいで円安状況下では高価すぎてLeap Motionは「入手困難」としておそらく解説することはないだろうということで、単純な使い方を解説して終了した。ただ、大量生産されているはずのそれは、中古市場にもある程度は出回るということでもあるのだが、ここ最近は全くその市場に姿を現すことはなかった。しかし運は時として私に味方し、「状態の悪くない」中古品をうまい具合に手配することができたのである。その価格は送料を含めて「発売当時の価格」に等しかった。中古の癖に実質的に値下がりなしである。

こうして偶然にも入手できたので、こうなればやるべきことは1つ。Leap Motionを使ってVSeeFaceで手もトラッキングするのを実際に試してみるということだ。ただ、単にこれをPCに接続してもすぐには認識されず、少しの前準備を行ってから接続することで認識し使用可能になる。今回はLeap Motionに初めて触れることを前提に、VSeeFaceで認識され、実際にどれくらいの認識精度であるかを確認する。




Leap Motion セットアップ編

Leap Motionは普通に生活しているとまず触れることのないデバイスである。というのも、元々は業務等で使用する法人向けのものであったためで、発表から1年後にはAmazon等で一般販売が開始された。と言っても個人レベルの開発者と新しい物好き以外は、目にも留めないものであったと思われる。2012~2013年は時代が追い付いていなかったのであろう。それも今になって「非接触型」という点で再注目され、VTuberにはハンドトラッキングデバイスとして注目を集めることとなった。

このことからLeap MotionはVTuberの必須デバイスの1つとなるわけだが、これを初めて持つという人も少なくないはずだ。使用可能にするにはちょっとしたセットアップ作業が必要なため、先にセットアップについて順を追って解説する。

Leap Motion、カタログデータと実物の確認

まずは入手したLeap Motionのカタログデータと実物の確認を行う。カタログデータでは以下のようになっており、実物はその下の画像である。

  • 名称:Leap Motion
  • 型番:LM-010
  • 大きさ:縦30×横80×高さ11.30(mm)
  • 重量:32g
  • 接続規格:USB 3.0 micro-B 5V/0.5A (コネクタの色は黄緑だが3.0である)
  • 検知範囲:奥行60cmまでが最適で、最大80cmまで可能
  • 視野角:140°×120° 様々な環境及び条件下でのトラッキングが可能
  • カメラ:640×240[px]の近赤外線カメラ2台を40mm間隔で配置、赤外線透過窓付き。850±25[nm]のスペクトル領域で撮影、120Hz動作、1/2000秒以内に画像の取り込みが可能
  • 動作要件:Windows 7以上, Mac OS X 10.7(ただしOSXのサポートは終了)。AMD Phenom IIまたはCore i3/i5/i7のいずれか、2GB RAMを搭載し、USB 2.0が利用可能であること。VRヘッドセットは独自の要件がある場合がある
  • 参照:Leap-Motion-Controller-Datasheet.pdf
Leap Motionの実物チェック
Leap Motionの実物をチェック。できることが凄いわりに小型のデバイスである。また、この手のデバイスでは珍しくUSB 3.0 micro-Bを採用している。

中古にしては状態は良く、micro-Bメス側の周囲に差し込み傷が少ないところを見ると、然程使っていなかったようだ。また箱裏面にはAmazonで使用される管理シールが貼られていることから、元々Amazonで販売されている新品を購入し、その後あまり使わなくなって、リサイクルショップで売ったものであると思われる。前任者はVTuberでも個人で開発する人でもなかったのであろう。今回はこれを使用していく。

セットアップ前作業:Ultraleapへサインアップ

Leap Motionを使用可能にするには、PCに接続する前にドライバ兼専用ソフトウェアのインストールが必要である。トラッキングソフトウェアは”GEMINI”という名称で、これを先にインストールして、その後でLeap Motionを接続するという手順になっている。そうと分かれば公式からそのソフトウェアのインストールをしよう、となるのが当然の流れであるが、残念ながらただではインストーラをダウンロードさせてもらえない。あらかじめUltraleapにサインアップしなければ、ダウンロードできないのである。こういう時に起こるのが、サインアップの際の面倒な情報登録とbot対策用セキュリティの通過があるかどうかだ。ということでサインアップの手順を解説する。なおここではWindowsであることを前提として話を進める。

  1. Ultraleap for Developersにアクセスし、”SET UP YOUR DEVICE”の下にある”Download Tracking Software”をクリックする。
  2. クリックした先のページの真ん中にある”DOWNLOAD GEMINI”をクリックする。サインインしていない場合はサインイン画面に移行する。ここでは登録もしていない想定で、新規登録の画面に移動する。
  3. 新規登録を行う。必要事項を記入する。このとき名前は現実の本名でなくてもよい。IDも適当で問題ない。bot対策機能はない模様。なお、Leap Motionのニュースを受けとる設定をしていない場合、特に確認のためのメールが送られてくることもなかった。
  4. 登録が完了すると、SDKに関するライセンスの規約画面になる。これは殆どの他の利用規約と変わらないので、これに同意(チェックボックスにチェック)してから”Accept”をクリックすることで、インストーラのダウンロードが開始される。
ultraleap登録手順
Ultraleapに登録し、そこからインストーラをダウンロードするまでの手順。登録時点ではセキュリティが妙にガバガバであるが、登録要求は一種の「ふるい」にかけているのだろうか。

登録自体は5分もあれば完了するもので、しかも実名でなくても問題ないようである。さらにこの手の登録にありがちなアドレス認証するためのメールも送られることがなく、「登録したら終わり」である。これでは何のためのユーザー登録なのか正直分からない。それはともかく、この手順を済ませることによってインストーラをダウンロードすることができるようになる。なお、執筆時点での最新バージョンは5.6.1であり、特にこだわりがない限りは最新バージョンにするといい。Leap Motionをトラッキングデバイスとして使用するソフトウェアが正常に認識できるようにするための対応である。




GEMINIのインストールと接続

インストーラのダウンロードが完了したら、それを起動する。ウィザード形式のため、特に難しいことはない。表示されるウィンドウの指示に従えばいいだけである。インストールの状態は以下のようになる。

GEMINIのインストール
インストーラを起動し、GEMINIをインストールする。ウィザード形式のため、特に難しいことはない。

インストール容量はディレクトリを直接確認すると347~348MBである。あまり大きくない。インストールが完了するとスタートに”Ultraleap Tracking”が追加され、同時に該当アプリが自動で起動する。起動中は通知領域アイコンが表示される。これを確認したらLeap Motionを接続する。少しの時間の後、ドライバの自動インストールが完了した通知が表示されるはずだ。これによりPCはLeap Motionを認識することができるようになる。

Leap Motionが動作しているかを確認

現在の状態は、Leap Motionを接続中でUltraleap Trackingが起動中のはずだ。Ultraleap Trackingについては起動中は常に通知領域アイコンが表示され、これをダブルクリック、またはメニューから”Open Control Panel”を選択することで”Ultraleap Control Panel”を開く。これはLeap Motionが正常に動作しているかを確認することができる、簡単な確認用ツールである。諸設定もこれで変えられるようになっている。イメージは以下である。

ucpのイメージ
Ultraleap Control Panel(UCP)のイメージ。ここで手がちゃんとトラッキングしてくれるかを確認できる。設定項目も多数存在する。

赤外線カメラなので映像も映し出せるが、プライバシーの観点からここでは写さない。ここではPCのモニタ側に、カメラが自分の方を向くように設置し、正面から手を捉えてトラッキングを行っている。カメラの検知範囲内に手が入ると、骨の手がトラッキングポイント付きで表示される。この状態がトラッキング中であることを示し、この情報が他のソフトウェア・ツールに送信される仕組みであるようだ。この情報をどう処理するかは受信する側で設定を行うものと考えられる。

使用時の注意:Leap Motionにも向きがある

Leap Motion本体を置く際に注意したいのが向きである。これを机に対して上を向くように置く場合は大して問題にならないが、PCの正面に置いて、自分の手を正面から捉える場合は向きが問題になる。Leap Motionを横にしたときの下方向が電源ランプになるように設計されているので、電源ランプを上にすると上下反転した状態になる。トラッキングは上下反転している状態では行われない。これは故障ではなく仕様であり、これを理解していないと故障と勘違いする可能性があるので、使用時は必ず向きを意識すること。つまり立てて置いたとき、micro-Bが左から出ている状態にすればOKということだ。ただ、接地面積の関係で不安定になりやすいので、倒れないように注意すること。

ちなみにUltraleapはLeap Motionを上下を反転して使用することも想定済みで、映像の上下反転させる設定も存在する。上部メニュー中央の”Camera”のプルダウンメニューをNormalからInvertedに変更することで、上下反転が行われる。これによりデバイス自体の向きが逆でもトラッキングを行ってくれるようになる。他にもPCのモニタ上に置いた場合の設定、VRデバイスのHMDにくっつけて使用する場合の設定も存在し、これは上部メニュー右の”Tracking Mode”から変更できる。使用状態またはデバイスに応じて変更できるため、もしそのような使い方をする場合はあらかじめ設定を変更するといい。

ここまで設定が完了すれば、いよいよVSeeFaceで使用する準備が整う。設定後はControl Panelは閉じて、Ultraleap Tracking自体は起動したままにしておくこと。

VSeeFace×Leap Motion解説編

VSeeFaceは既に初期設定を完了しているものとして、基本手順は省略する。ここでは主にLeap Motionに関わる部分を解説する。

VSeeFaceでLeap Motionを有効にする

まずはVSeeFaceでLeap Motionを有効にする。といっても最初から連携することを前提に設計されているこれは非常に簡単に連携できるようにしている。任意のモデルを選択して開始後の左メニューの一番下、”Leap Motionトラッキング”というボタンがある。これをクリックすると緑色になる。これでVSeeFaceでの手のトラッキングが有効になる。イメージは以下である。

VSeeFace(Leap MotionをON)
Leap Motionトラッキングを有効にした状態。後述の設定変更により、現実の手の動きがかなり高い精度でVSeeFaceで再現される。

初めてLeap Motionを使用した場合、実はすぐに手を動かせるわけではなく、後述のLeap Motionの位置・向きを調整することによって正しく認識することができるようになる。解説前のテストの段階で動きがおかしくならないように調整したため、画像中の左側にあるLeap Motionの各パラメータは初期値ではない。よって初めてこの部分を調整する場合は画像の通りではないことに注意していただきたい。




手が正しくトラッキングできるようにする設定の調整

トラッキングを行えるようになったら、次は調整である。調整メニューを呼び出すには「設定/Leap Motion設定」をクリックする。これにより画面左側に設定が表示される。これらの設定について、項目別に見ていくこととする。

Leap Motionトラッキングホットキー

Leap Motionによるトラッキングを有効/無効にするためのホットキーを設定する。デフォルトでCtrl+Shift+F7のコマンドがセットされている。もっともトラッキングについては一度起動したら異常対処などを行うなどでない限りはホットキーを操作することもないであろう。この部分は完全にお好みである。

平滑化

平滑化とは、滑らかにすることである。3Dモデルは動きが滑らかな程いいというのは言うまでもないはず。しかし滑らかにしようとする場合、要求されるリソースは高いものになる。低スペックPCでは平滑化以前に動かすのがやっとであるので、その場合はマイナス方向に下げることで多少の動作は確保される。逆に石油王ならプラス方向にすることで強くなるというわけだ。値の範囲は0.00~1.00で、0に近いほど滑らかになる。ここでの滑らかは、現実の手の動きに対する遅延率とも関係する。

ここで注意したいのが、マイナス方向の値である。マイナス方向は0.80以上は推奨しない設定であるようで、それ以上の値に仕様とすると動きが目に見えて遅くなるほかにスライダー自体が赤くなり、警告される。また、1.00にした場合は手の動きが停止する。この時手をトラッキングして動かしている状態だと、1.00にした瞬間にその状態を維持する。手の位置を固定することができることを意味するが、VSeeFaceでそもそもこの機能を使うことはまずないはずだ。主な目的が配信や動画でリアルタイムに動いているのを見せるためで、少なくとも撮影用ではない。そのため、平滑化については特に用事がない限りはそのままで問題ないであろう。

位置・回転・スケール

Leap Motionを置く、或いは身に付ける位置によって、VSeeFace上で細かい調整が必要になる。これらの細かい部分について詳しく見ていく。

  • 位置(アタッチメント含む)

位置は左右、高さ、前方(奥行き)を数値で決定でき、設置位置またはアタッチメントによって左下にあるプルダウンメニューから次のものが選択できる。

  • 机上:デフォルトの設定。モニタの下側に置く場合もこれで設定する。
  • 胸:スマホホルダー等を利用してLeap Motion自体を首掛けして胸の位置に置く場合に選択する。
  • 頭またはHMD:VR向けの設定。別売りのVRマウントキットなどを使用する。
  • 胸(動きに合わせない):胸につけるが動きに合わせない場合はこちらで。
  • 画面の上(V5のみ):Ultraleapはv5系のみ、モニタ上に設置した場合の設定ができる。モニタ上に置く場合はこれを選択する。もちろんUltraleap側の設定変更も忘れずに。

アタッチメントの位置を決めたら、位置を調整する。ここでは机上とする。位置については、Leap Motionを実際に配置している位置に合わせるように調整する。私の場合、次の場所に設置して使用している。

Leap Motionの実際の設置例
Leap Motionの実際の設置例。メジャーを使用しているのは、この後設定する「位置: 前方」での調整時におおよその距離をそこに当てはめるためである。

ここで実際の距離をチェックし、その上で位置のスライダーを調整する。その各項目は以下のようになっている。

  • 右/左:左右の調整を行う。通常は自分の中央に来るはずなので、その場合は変える必要がない。中央の位置が違う場合に調整する。範囲は-0.50~0.50。
  • 高さ:現実との高さが一致するように調整する。Leap Motionに向かって手を突き出してみるとおおよその高さを推定しやすい。範囲は-0.60~2.40。
  • 前方:「奥行き」といった方がわかりやすい。実際のLeap Motionとの距離に合わせてここで調整する。範囲は-0.50~2.50。机上であればマイナス値にはならないはずだ。机上以外の設定でもおかしくならないように範囲を広めているものと考えられる。

これらを現実の状態と同じにすることによって、トラッキングをモデルに反映したときに手の動きがおかしくならないようになる。ただ、カメラを自分に向けて使用する場合、もう少し調整が必要になる。

  • 回転

Leap Motionのカメラを天井に向けず、自分に向けたり、胸にかけてモニタに向けて使う場合はVSeeFace上でもそれを回転させて、正しい向きにする必要がある。回転はX/Y/Zの3軸で、いずれも0°~360°の範囲で回転できる。VSeeFaceでは左右=X、前方=Y、高さ=Zである。机上の場合の初期状態は天井にカメラを向けている状態で、もしカメラを自分に向けているのであれば、X軸回転させてカメラがモデルを向くようにすれば、後1つの調整でトラッキングは完璧になる。もちろん、机上以外でも回転させて、現実と正しい向きにすることが重要である。

  • スケール

要するに大きさである。前方の調整を行うと遠近法によって大きさが変わるので、その場合の調整を行うものである。範囲は0.00~3.00だが、0.50以下及び1.50以上は非推奨で、赤くなり警告される。これをなんかいい感じに調整することによって、トラッキングは完璧になる。それでも違和感を感じる場合は、その都度調整を行うといい。

なお、これらの設定を保存する方法は今のところ存在しないようで、全てのアタッチメントで共通の値となってしまう。つまりアタッチメントを変更した場合、これらの値を調整し直さなければならないという面倒さがある。配信内容によってはLeap Motionをどこに置くか、身に付けるかということは変わってくるはずなので、アタッチメント別でこれらの設定を保存する機能が搭載されることが望まれる。

スポンサーリンク




スポンサーリンク

移行時間と検出範囲

Leap Motionが検知した結果をVSeeFaceで受信し、それをモデルに反映する。その反映スピードは、早ければ早いほどいい、と考えるのが一般的だ。ここでは手を検知した瞬間または手を検知できなくなった瞬間に、どれくらいの早さでそれを反映して手を上げたり下げたりするか、また下げる場合はどれくらい早く下げるかを決めることができる。また、検出できる範囲を調整することもできる。各項目については以下の通りとなる。

  • 移行時間: アップ:手を検知した場合に手を上げるまでの時間を決定する。範囲は0~2秒。以下、ダウンと手を下ろすまでの時間も0~2秒の範囲となる。
  • 移行時間: ダウン:手を検知できなくなった場合に手を下げるまでの時間を決定する。
  • 手を下ろすまでの時間:手を下げ始めてから完全に下ろすまでの時間を決定する。0秒にするとすぐに下ろし、2秒にするとゆっくり下ろす。

手のトラッキングについては、コントローラー等の手に持って使用するものを使用中は手がそれに隠れてしまうため、どうしてもトラッキングが途切れやすくなる。Leap Motionに採用されている近赤外線カメラの性能は特段良いわけではないので、この点についてはどうしても仕方ないところがある。ただ、一旦認識できなくなっても再度認識されれば手はちゃんと動くので、ダウン時間をあえて遅くして、手をトラッキングし続けるというのもありだ。このあたりはお好みである。

また、検出範囲を設定することができる。これはチェックボックス式になっており、チェックすると検出範囲を設定できる。範囲は0.30~1mである。ただ0.50mより小さくすると赤くなり警告される。逆に拡張する方に制限はない。しかし仕様では60cmが最適値で最大80cmであるため、1mまで拡張してもそこまで検出することはできないであろう。ここは自分がPCやモニタから離れる場合、その距離に応じて調整するといい。変える必要がないと感じたら、チェックを外せば問題ない。

その他:ミラーモード

ミラーモードはその名の通り、右手と左手を逆にすることである。この設定は通常使われるものではなく、見え方もおかしくなるため使用は推奨しない。デフォルトでOFFである。何故この機能があるのかは、正直分からない。

手の動きを実際にテストする

ここまで到達すれば準備は完了だ。実際に動かして、どこまで手の動きが「再現」されているかを確認する。確認の際は実際の配信に近付けた状態で行う。よって、多くの配信に必須となるソフトウェア・ツールを同時に使用している状態で、さらにOBSはソフトウェアエンコードで処理しているものとする。このとき、ゆかNEOはv1.9592で音声認識にはgumbek氏のものをEdge経由で使用、わんコメは3.2.6である。また、Voidol→恋声を経由した音声出力、裏でNode.jsのnpxを実行し、SIREN風のクロックを動作させて、その上で実際にテストした動画が以下である。

 

相変わらずの、配信するにはおおよそ向いていない、3DCG向けである8570wを無理矢理使っている関係で、エンコード飛びが見事に発生した。負荷もかなりかかっており、まともには録画出ていない。それはともかく、Leap Motionによる手の認識結果が正しくVSeeFaceに伝達されており、VSeeFace側での調整も正しく行った結果、モデル側の手も違和感のない位置及び動きをしていることが分かるはずだ。今回の場合は特にコントローラーやマウスを持って何かするわけではないので、手はほぼ完璧にトラッキングしている。マウスについてはPCよりも下にあってLeap Motionのカメラの死角に入るので、これを操作する時は、現状ではどうしてもトラッキングが中断されがちになる。手を正面から捉える場合、障害物や高さについて意識する必要があると分かる。

逆に、トラッキングする時の課題が目に見えてわかりやすいのもLeap Motionを使用する場合の優れている点と言える。Leap Motion自体は仕様の変更がなく、近赤外線カメラの性能と検出範囲も公開されている。これを利用し、手を上から映せる場所に設置すれば、正面から検知した場合と比較して障害物による影響を受けずに手をトラッキングできるはずである。問題はUltraleapのソフトウェアのバージョンが5以上という制約だが、これは普通に更新していればまず遭遇しない制約である。モニタ上か机上でも三脚や高さを調整できる台を併用すれば、これは関単に実現できるはずだ。



結論:トラッキング精度は多くにとって十分と言える

VSeeFaceは当初、Leap Motionがないのと、高額商品の仲間入りを果たしているということで、将来的に解説する予定はないと書いたのが約1カ月前。それがどういうわけか、偶然にもいい感じの中古品を発見し、それを私のものとした。考えてみればLeap Motionの製造数は多いはずで、それゆえ時間を置けば誰かが不要だと思い、売りに出す。それを私が偶然にも目撃し、価格的にもちょうどよかったので、買って導入したのである。結局のところ、この手の物は運要素が絡んでいるようである。

手もトラッキングできる3Dモデル表示ソフトにはRiBLA Broadcastが存在するが、AIを駆使しWebカメラ1つで手もトラッキングしようとする関係で、どうしても負荷が高くなり、またそのソフト自体が抱える欠陥として、デフォルトでミラーモードであり、見え方がそもそもおかしい。設計段階でこれに気付けなかったのかは疑問である。それはともかく、あまりに負荷が高いとOBSのエンコードでソフトウェアエンコードを使用する場合に支障が発生することや、他のソフトウェアやツールで遅延や何らかのエラーを発生させる原因にもなる。これはリソースが限定された、一般品質でプレイする場合のゲーミングデスクトップないしラップトップを使用する場合に厄介なことで、それを抑えるにはハードウェアベースで処理がある程度できた方がいいというもの。と言っても、そこまで変わらない可能性はあるが。

そんな中でLeap Motionという、元々は業務用、企業向けに開発・販売されていたデバイス。その7年後の2020年頃、VTuberの台頭と共に「手の動きを再現できる」ところで再注目され、そしてフリーソフトであるVSeeFaceで対応するようになった。現在Leap Motionに対応している3Dモデルを動かすソフトで認知しているのはそれ以外には3teneとLuppetが共に対応している。ただ、これらは有料のものになる。それぞれに特徴と出来る/出来ないがはっきりしているので、自分にとって何が必要かを判断した上で選択していくといいだろう。

肝心のトラッキング精度であるが、環境、PCのスペック、VSeeFaceでの設定に依存するが、ほぼ良好である、と考える。完璧なものを求める人には物足りないかもしれないが、そもそも完全なトラッキングは不可能であることは前提である。その上で考えた場合、多くの人が満足するようなトラッキング精度であることは間違いない。フリーでありながらここまでよくできるものだと、私も驚くくらいである。まずLeap Motionを手に入れることが難しいが、スペックと設定変更に余力があるならVSeeFaceでは是非とも腕もついでにトラッキングするようにしてみるといいだろう。案外手軽にトラッキングできて、満足することであろう。

 

以上、”VSeeFace”使ってみた!~Leap Motion編~、であった。次は何の記事で会おうかな?

 

KIBEKIN at 00:00 Aug. 24th, 2022


スポンサーリンク



脚注

脚注
本文へ1 理想の動きは、自分が右に向いたときにモデルは画面上で左を向くべきである。それが、自分が右を向いたときにモデルも画面上で右を向いてしまっている。このため、見え方がおかしくなることを検証で発見した。
KIBEKIN
会社員という働き方が合わないのに会社員になってしまってから、半ば自分からリタイア後ブログクリエイターとなり活動してきた社会不適合者。VRやVTuberに触れる機会が増え、今後はリスペクトだけではなく自分を作る意味を込め、VTuberならぬVBlogCreator"KIBEKIN"として新しいスタートを切る。


コメントを残す

メールアドレスが公開されることはありません。
名前は必須項目となります。記入をお願いいたします。

CAPTCHA


日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

Ads Blocker Image Powered by Code Help Pro

広告ブロックを検知しました。 | Ad block detected.

ブラウザのアドオン、及びブラウザに内蔵されているアドブロック機能により、広告ブロックが行われていることが検知されました。
本ブログは広告収入により運営されており、広告ブロックは正当な理由の下で配信されている広告をも阻害することとなり、運営が非常に困難になります。
この表示は広告ブロック機能の無効化、あるいはホワイトリストへの追加を行った上で、更新を行うことで消すことができます。または、広告ブロック機能のないブラウザで閲覧ください。
広告で嫌な思いをしたことがあるとは思いますが、一律に広告をブロックすることで失われるコンテンツも存在します。そのことへのご理解とご協力をお願いします。

We have detected that ad-blocking is being performed by browser add-ons and the browser’s built-in ad-blocking function.
This blog is operated by advertising revenue, and ad blocking will interfere with advertisements that are also being served under legitimate reasons, making it very difficult to operate.
This display can be removed by disabling the ad-blocking function or adding it to the white list and then updating it. Alternatively, please view the site with a browser that does not have an ad-blocking function.
We understand that you may have had bad experiences with advertisements, but there are some contents that are lost by uniformly blocking advertisements. We ask for your understanding and cooperation in this matter.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock