トラッキング技術勉強会 https://connpass.com/event/214152/
Haritoraのような安価なIMU式モーションキャプチャの特性と考慮点について@izmスライドは後日公開予定
View Slide
挨拶● 趣味でHaritoraというプロジェクトをやってる@izmです。● フルトラ民主化しようとしたら戦国時代になってしまった…○ →選択肢がいっぱいあるのはとても良い!切磋琢磨で健全な市場になるので● 注意:本発表はHaritoraのポジショントークが含まれますHaritoraはいいぞ!↑ポジショントークの例
宣伝● Haritoraの量産後継機であるHaritoraXを株式会社Shiftallさんと業務提携して進めています。● オーダー受付中 ( https://ja.shiftall.net/archives/product_page/haritorax/ )買って!
目次● IMU式モーションキャプチャの概要と特性● Haritoraの話● 良いIMUモーキャプかどうかの見分け方全部で3個!
IMUモーキャプの概要と特性
IMUとは● 姿勢(角度)が取得できるセンサを1個以上積んだ物○ 例:加速度センサ、ジャイロセンサ、地磁気センサの組み合わせ● 位置は取得できない● ViveTrackerやOculusTouchも中にIMUが入っています● リングフィットアドベンチャーで使ってる仕組み!
Sensor Fusion● ジャイロセンサ(角速度)加速度センサ(加速度)地磁気センサ(地磁気)を組み合わせて、あるべき姿勢を導き出す○ ジャイロセンサ:角速度が取れるので積分したら角度が取れる○ 加速度センサ:静止していたら重力の9.8Gを元にお辞儀している量が分かる○ 地磁気センサ:地球の地磁気をベースに姿勢が分かる● ↑これらを組み合わせて正しそうな姿勢を求めるSensorFusion○ この説明だけで60分くらいかかるので省略
IMU式モーションキャプチャ● IMUを体のあちこちにつけて、SensorFusionにより、取り付けた関節の姿勢がわかる● Forward Kinematics(順運動学)によって人体の姿勢を求める
姿勢計算の具体例腰:(30,0,0) 左もも (90,-10,0) 左すね(10,10,0) 単位は度
いくつか気にする事● IMUが人の体に斜めに取り付けられたりするのを吸収● IMUの姿勢が電源投入時にリセットされる物の場合はこのオフセットも計算する● これらを吸収するためにユーザに幾つかのポーズを取ってもらう
2ポーズキャリブレーション全てのセンサー関節が1軸についてだけ曲がるポーズを使う
IMU式モーションキャプチャ● Rootから末端に行くにつれて、姿勢推定誤差の蓄積で誤差が出てくる● 歩いて移動した距離、を求めるのは大変(よくあるのが足の加速度を計測して歩行を推定しておく仕組み)● 市販のIMU式モーションキャプチャも絶対位置を補正する仕組みをオプションで備えがち
IMU式モーションキャプチャの利点● PC側の計算コストが軽い● 遮蔽に強い● 素朴に実装しても複雑骨折しにくい○ toBの生配信においてキャラクターが複雑骨折するとクビが飛ぶ○ とはいえ、磁気ノイズの影響で突如首がクルンと回ることもある■ トラスの上の収録とか■ あなたが手に持ったマイク、地磁気ノイズの塊ですよ!!
IMU式モーションキャプチャの欠点● 絶対位置が取れない● ドリフトが起きる○ ドリフト=時間蓄積による姿勢推定誤差○ ドリフトが起きないIMUはメチャンコ高いです○ 民生品だと大体30分-1hくらいで最低1度以上ズレるはず
IMUモーションキャプチャの人体装着方法● 誤差の蓄積によるドリフト以外に「体に取り付けたセンサがズレた」という誤差もある● 各社工夫しています● リングフィットアドベンチャーでさえ、ジャージの上から取り付けると太ももから滑り落ちます● 全身タイツが一番安定します● 人体各所に3脚のねじ穴が空いていてほしい!!!
取り付けソリューションの例全裸!
取り付けソリューションの例オシャレ!
Haritoraの話
Haritoraの仕組み● 上半身は3点トラッキングが普及している(最高)● 下半身の腰と足だけIMU式でキャプチャしたい● 3点、5点、6点、8点あたりが検討に入る
3点式● KAT Locoが実用化● 太ももと腰に取り付け● スネや足首は推定、実際違和感はある● 一方でDeep Inertia Poser,など機械学習ベースで推定する仕組みもある○ (計算コストが上がるのでトレードオフ)
5点式● 腰に1個、足に2個づつ● WalkOVRおよびHaritora,HaritoraXが採用○ 足首は諦める○ 腰と胸、みたいに2個付けた方が正確ではある(UnityのHumanoidのSpineBoneが2個以上という制約には意味がある)
6点式● Uni-motion,SlimeVRが採用● 5点式に加えて、腰またはみぞおちにもう1個追加● お辞儀をしたとき、腰はほぼまっすぐだけど、みぞおちは傾いてる、みたいな再現度が上がる
8点式● 6点に加えて両足首にもセンサーをつける● 足首の加速度センサにより歩行の足踏み検知がしやすいので、IMUだけで全身モーキャプするなら足首センサはほぼ必須● 表現力と装着コストのトレードオフ良いなあ
Haritoraの5点式● 腰センサーはみぞおちにマウントする● 6点式なら腰にあるはずのIMUの姿勢を根性で計算によって求める○ 人間の背骨Spine1とSpine2は連動してる○ なので「大体みぞおちがこの姿勢だったら腰センサーはこんな姿勢」みたいな推定が割と可能○ ver0.2.2より実装済み
良いIMUモーキャプの見分け方
IMUモーキャプ買う時注意:これだけ覚えて帰って下さい● その場から歩いているリアルタイム動画が無いものは全部ダメ● ドリフトに言及していないものは全部ダメ● 開発者にオタクがいないプロジェクトは全部ダメ(これはポジショントークです)
IMU式モーションキャプチャの大事ポイント● IMU式モーションキャプチャ「も」ソフトウェアの出来が大事● 特にセンサーファームウェアや、PC側の骨格推定アルゴリズムが大事
みんなも作ろうIMU式モーションキャプチャ● IMUをいっぱい繋げたハードウェアを作ってから先がめっちゃ面白い● ハンダ付けもめっちゃ面白い● みんなも作ってみよう
終わり