[ARKit3][Unity3d]ARFoundation HumanBodyTracking3D の精度を検証してみた!

ITARKit, Blender, MotionCapture, Unity

AppleのARKit3を利用したUnityのARFoundation HumanBodyTracking3D は一体どれくらい人の動きを追えるのかいろんな動作を検証してみました。

ARKit3を利用したUnityのARFoundation HumanBodyTracking3D の精度を検証しました。(ヨガ、ジャンプ)

トラッキングしてますね〜時折カクカクとトラッキングがぶれてますが

ARKit3を利用したUnityのARFoundation HumanBodyTracking3D の精度を検証しました。(ボルダリング)

背面もトラッキングできてます。

ARKit3を利用したUnityのARFoundation HumanBodyTracking3D の精度を検証しました。(逆立ち)

逆立ちは、、、途中までトラッキングし、、、幽体離脱。

ARKit3を利用したUnityのARFoundation HumanBodyTracking3D の精度を検証しました。(腕立て)

腕立ては、、、あんまりトラッキングできてないですね。

ARKit3を利用したUnityのARFoundation HumanBodyTracking3D の精度を検証しました。(腹筋)

腹筋は全然だめですね。

この動画にはiPadProを使用していますが、iPhone11Proを使用しても似たようなトラッキング精度でした。

立ち姿勢はそこそこトラッキングできてますが、寝転んだり、地面に手をつくような姿勢になると、トラッキングできなくなっています。

今後、よりモーションキャプチャの学習モデルの精度が増していくと思うので、期待したいところですが、現時点ではまだまだなのかな〜という印象です。

[開発していて気づいた課題]
 ※あくまで個人で開発していて思ったことなので、参考程度に
 ・Unityをかまさずにネイティブで開発したいが、リギングした3Dモデルをusdzファイルに変換すると、階層や座標が崩れてしまい、トラッキングがおかしくなる。
 -> ネイティブで開発できれば、画像ファイルを読むようにusdzファイルを読みにいくので、いろんなことができそうです。これができるようになると大きいのですが、現状ツールや手法がネット上に見当たらず、、、何か技術的に難しいことがあるのかもしれません。ただ、animoji, mimojiも表情用にリギングしたusdzファイルを使ってるように思うので、、、

 ・Unity のサンプルはよくできていると思いますが、あくまでラッピングしてるような状態だと思うので、制限が大きい。

 ・3Dモデルのリギングが特殊でMotionCapture用のリギングをする必要がある。
 -> 左右対称でなく、しかも向きが一般的な3Dモデルのボーンと全然違います。

 ・リアルで人をトラッキングした場合とYouTubeなどディスプレイ上の人をトラッキングさせた場合とで、トラッキングの精度に差がなさそう。
 -> UnityのARFoundationSamplesでそうなのですが、差があるように見えませんでした。iPadProのカメラとiPhone11Proと比べても差がなかったので、深度を利用せず、2D上でしか人を判定してないのかもしれません。
[開発環境]
 Unity 2019.2.2f1
 Blender 2.80
 Xcode 11.0
 macOS 10.15.Beta
[撮影機器]
iPadPro
iPhone11Pro
[撮影協力]
株式会社フトワク様
http://futowaku.jp/

3Dモデルはモテコビューティのモテ美を使わせていただいております。
mb(モテコビューティー)
https://moteco-web.jp/

ありがとうございました。

以上になります。

スポンサーリンク

Posted by nobuhiro harada