【機能・動作比較】新たなモーキャプ技術、ARKit3ってどうなの?ミチコンPlus(VisionPose Single3D)と比べた話

シェアする?

ミチコンPlus ARkit3比較

みなさんこんにちは。ネクストシステムの田中です。

ついにARKit3が登場しましたね!

そもそもARKitって何だっけ?という方のためにおさらいをすると、
Apple社が提供する、iPhone・iPad向けのAR対応アプリのためのフレームワークです。

ARアプリを作る時に、よく使いそうな部品をAppleさん側で用意してくれていて、これらの部品を使うと1から作る必要なくて楽チン、つまりARアプリを作りやすくなるんですね。

というわけで、今回は恐れ多くもAppleさんの『ARKit3』と弊社モーキャプアプリ『ミチコンPlus』で比較検証をしたので、まとめてみました。

自社製品の比較記事を自社で書くという謎のセルフプレイをかましてますが、ARKit3を今後他の開発で利用させていただく気満々なこともあり、どっちにしろ検証しないとだったので、ついでに検証結果をご共有させていただきます。

ARKit3で何ができるの?

まずARKitが2から3になって、具体的にはこんなことができるようになりました。

  1. PeopleOcclusionという機能が実装された
    • 要するにARで人を挟むことができる。
    • ただし、8月末の時点でiPhoneはXR / XS / XS Max、 iPadはPro(第三世代)/ Air(第三世代)/ Mini(第五世代)と、新しい機種のみが対応。
  2. モーションキャプチャが可能になった。(今までは表情だけ)
  3. フロントカメラとリアカメラの映像を同時に取得できるようになった。
  4. RealityKitというフレームワークが実装され、ARにアニメーションを付与できるようになった。
  5. 複数人でのフェイストラッキングができるようになった。
    • 1台の端末で最大3人まで表情を認識できるようになった。
  6. 複数人で同時にAR空間を作成することができるようになった。
    • 今までは1人が作ったAR空間を複数人で共有していた。
  7. 立体物の認識精度が向上した。
  8. 空間の認識速度が向上した

今回、特に弊社として注目するのは、

>2.モーションキャプチャが可能になった。

というところです。

というのも、実は弊社ではARKitを利用せず、独自開発のAIエンジンを使ってスマホやタブレットだけでモーションキャプチャを実現しているアプリを2019年9月頭にリリースしています。

ARKit3のモーションキャプチャーと同機能のミチコンPlusとは?

その自社アプリというのが、『ミチコンPlus』です。
簡単に説明すると、iPhoneやiPadのカメラだけで全身の動きを捉え、リアルタイムで動きを3Dキャラクターに反映できるiOSアプリとなっています。

「ミチコンPlus」プロモーションビデオ ースマホで全身モーションキャプチャ!ー

また、ミチコンPlusは、カメラ1つだけで人間の骨格情報を検出できるAI骨格検出システム「VisionPose Single3D」という弊社システムを利用して開発しています。

このVisionPoseで、スマホだけでモーションキャプチャを実現しているんですね。

VisionPose Single3DとミチコンPlusについてはこちらをご確認ください。

▼VisionPose Single3D WEBページ

UnityとiOS/iPadOSに対応!マーカレスの簡単モーションキャプチャ。カメラ1つで骨格検出できる、姿勢推定AIエンジン「VisionPose Single3D」。

▼ミチコンPlusの詳細はこちら

スマートフォンやタブレットだけで全身をモーションキャプチャできるiOSアプリ「ミチコンPlus」の使い方についてまとめました。動画読み込みやグリーンバック・AR背景にも対応しています。

というわけで、今回はこちらのミチコンPlusとARKit3をいくつかの観点から比較してみたいと思います。

検証

検証結果をお見せする前にまず前提として、検証方法としては、簡単に説明すると以下のような形で行います。

  1. 適当に動いた動画を撮影。
  2. ディスプレイに①の動画を映す。
  3. iPadのカメラにディスプレイを映す。
  4. ARKit3とミチコンPlusを起動し、それぞれ撮影

利用する機材は、iPad mini 第5世代(iOS13.1)です。

検証環境
検証環境はこんな感じ。なんかシュール。

また、今回の比較は、

ARKit3とVisionPose Single3Dに3Dモデルを当てた時の見た目の比較

となります。

モデルによって見え方は大きく変わるので、こちらを念頭に置いてご覧ください。

精度比較・速度比較

精度・速度比較としては、

  1. 純正のARKit3サンプルアプリで比較
  2. 3Dモデルを弊社バーチャルキャラクターのミチコに揃えて比較

の2パターンを用意しました。

2の検証にはAR FoundationというAPIを使って、VRMのキャラクターを表示してます。また、AR Foundationで使用しているロボットを動かす機構はミチコンとは異なります。

1. 純正のARKit3サンプルアプリで比較

2. 3Dモデルを揃えて比較

動画をみた時の弊社エンジニアの感想はこちら。

  • 遅延は共にあるけど、ARKitとミチコンでは目視でわからないぐらいの差
  • ミチコンの方が足先の角度が自然に見える。ミチコンは足先を取っていないので、FKの力か…?
  • 顔の向きはミチコンの方が追従してそう
  • ARKit3のほうが正面気を付けの姿勢で足の交差が乱れる
  • ミチコンの方は後ろ向いた状態で手を上げると顔が下を向いている(00:18~)
  • ARKitの方が二の腕が追従してくれている様にみえる。ミチコンは二の腕がほとんど動かない(0:52〜)
  • ジャンプはARKit3の方がジャンプしてる感がある。ARKit3の方が全体的に躍動感がある気がする。回転する動作はミチコンの方が滑らか。

端末温度比較

ARKit3もミチコンPlusもスペックを要求される処理をしているので、端末の温度の上昇って気になりますよね。

ということで10分間での温度の増加について調べてみました。

端末温度検証
一番熱くなりやすい、裏面のカメラ周りを測りました。
温度検証の様子
ちょっとボケましたが、こんな感じで確認していきます。

バッテリーが少ない時、充電100%で且つ常時充電状態の2パターンで比べたところこんな感じ。

端末温度比較
ARKitとミチコンPlus利用時の端末温度比較

結果をみると、ミチコンPlusもARKit3も時間経過と共に、温度は上昇しています。最大で2℃ほどの違いがありましたが、10分程度であればそこまで差はないように見えます。

考察

広報担当の考察なんて夢の国を出た後の耳くらいにはいらないと思うので、これらの検証結果から、弊社エンジニアに考察してもらいました。

ちなみにARKit3の技術についてはこちら公式の動画を見るとわかりやすいです。

ARKit 3 enables a revolutionary capability for robust integration of real people into AR scenes. Learn how apps can use live motion...

解析速度の違い

解析速度の違いについては、ARKit3は検出から解析までの速度が速い為、フレームレートを高く維持できます。厳密にはわからないのですが、おそらく処理フローはこんな感じじゃないかなとのこと。

ARKit3の処理フロー
ご注意:予想となります。

一方VisionPoseは画像から2D座標を検出するのに時間がかかってしまうため、フレームレートが下がる傾向があります。(図参照)

VisionPoseは解析結果のレスポンスを待ってる間にも入力は毎フレームされてて、受け取れない分の入力は破棄しています。

処理フロー比較


公式でリアルタイムで毎フレーム処理をしていると発表されていることを考えると、おそらくARKit3のほうが早いと推測できます。

ただ、検証動画をみると、ほとんど速度に違いはないように見えますし、真相はどうなんですかね・・・とのことでした。

精度についての違い

ARKit3は回転している時に体の一部が隠れると、3Dモデルが崩れる傾向がありました。ミチコン Plusは多少隠れても、崩れることなく表示できましたが、後ろを向いているときに頭がブレる瞬間がありました。

後ろを向くと、顔のパーツが取れなくなるので頭の向きの計算が、失敗しやすくなると推測されます。体の一部が隠れても崩れることなく表示できる件については、もともとVisionPoseが持ち合わせている特長によるものです。

気になるのが、 ARKit3が真正面を向いていないように見える点です。
何故なんでしょう・・・

姿勢によって得意・不得意がありそうなので、座り姿、寝姿、スポーツ等、いろいろな姿勢を試してみたいです。

機能としての違い

機能としての違いは次のようなことが挙げられます。

  • ARKit3はアンカー情報(床、テーブルなど)があるのに対し、ミチコンにはない。
  • ARKit3はiOS13以降、VisionPoseはiOS12以降の端末で動作させることができる。
  • ARKit3は全身トラッキングがインカメラではできない。VisionPoseは可能。

取得する関節の違い

骨格検出を行う内部エンジンでの比較は下記となります。

ARKit3:8ポイント~
VisionPose Single3D:17ポイント(今後30ポイントに増加予定)
※骨格検出を行う内部のエンジンでの比較

ARKit3自体が提供している関節情報としては91ポイントと発表されています。
詳細には、ARKit3に名前付きの関節が8つ定義されていて、主要ポイントにはアクセスしやすくなっています。

ARKit3での定義
ARSkeleton.JointName.root
ARSkeleton.JointName.head
ARSkeleton.JointName.leftFoot
ARSkeleton.JointName.leftHand
ARSkeleton.JointName.leftShoulder
ARSkeleton.JointName.rightFoot
ARSkeleton.JointName.rightHand
ARSkeleton.JointName.rightShoulder

ARKit3はあらかじめ用意された多くのキーポイントの中から好きなものを選んで使うことができます。

一方、ミチコンPlusに利用するVisionPose Single3Dの関節の定義は下記。
VisionPoseは自社開発なので、今後も関節数をカスタマイズすることが可能です。

Single3Dでの定義
VisionPose.Keypoint.spineBase
VisionPose.Keypoint.hipRight
VisionPose.Keypoint.kneeRight
VisionPose.Keypoint.ankleRight
VisionPose.Keypoint.hipLeft
VisionPose.Keypoint.kneeLeft
VisionPose.Keypoint.ankleLeft
VisionPose.Keypoint.spineMid
VisionPose.Keypoint.neck
VisionPose.Keypoint.nose
VisionPose.Keypoint.head
VisionPose.Keypoint.shoulderLeft
VisionPose.Keypoint.elbowLeft
VisionPose.Keypoint.wristLeft
VisionPose.Keypoint.shoulderRight
VisionPose.Keypoint.elbowRight
VisionPose.Keypoint.wristRight
VisionPose.Keypoint.spineShoulder

▼参考サイト
http://appleengine.hatenablog.com/entry/2019/06/12/034242
https://developer.apple.com/documentation/arkit/arskeleton/jointname

スマホだけでVチューバー!マーカレスでリアルタイムの全身モーションキャプチャが可能なiOSアプリ「ミチコンPlus」。VRoid HubにUPしたキャラクターに変更したり、モーションデータの書き出しも可能

まとめ

弊社エンジニアの意見を踏まえると、そもそもの機能の違いもありますが、簡単にいうと全体的な処理速度の速さはARKit3に分があり、ミチコンPlusは精度(対応できる姿勢の多さ)に分がありそうです。

▼ARKit3とミチコンPlusの比較検証結果まとめ

  ARKit3 ミチコンPlus 解説
解析速度 ARKit3の方が高い
精度
(汎化性能)
VisionPoseの方が高い
アンカー情報 × VisionPoseにはアンカー情報は無い
OS

ARKit3:iOS13以降
VisionPose:iOS12以降※VisionPoseシリーズではiOSの他に、Win、Linux、Jetson、Cloudなどでも利用可能。

関節数

ARKit3:8ポイント以上
VisionPose:17ポイント※30ポイントに増加予定

端末温度
(10分間)
そこまで変わらない

それぞれの特長を踏まえて、これからの開発に活かしたいですね。

現場からは以上です。

▼VisionPoseのWEBサイトはこちら

WEBカメラだけで3D解析を行うAI骨格検出システム「VisionPose(ビジョンポーズ)」は人間の動きを測定したい方のための唯一の国産SDKです。リアルタイム検出だけでなく動画や静止画からも骨格検出が可能。各種スポーツでのフォーム解析や監視システムへの組み込み、Vtuber配信など、さまざまなシーンでお使いいただけ...

ネクストシステムは、AI(人工知能:DeepLearning)・VR(仮想現実)・MR(複合現実)・AR(拡張現実)・iPhone・Android開発を得意とする東京・福岡のシステム開発会社です。開発のご相談はお気軽にお問い合わせください。
トップへ戻る