Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Haritoraのような安価なIMUモーキャプの特性と考慮点について
Search
izm
June 11, 2021
Programming
13k
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Haritoraのような安価なIMUモーキャプの特性と考慮点について
トラッキング技術勉強会
https://connpass.com/event/214152/
izm
June 11, 2021
More Decks by izm
See All by izm
Face recognition for Luppet, for xR Tech Nagoya #4
izm
3
8.4k
Unity Networking Libraries Overview2018
izm
4
5.7k
Unity MovieTexture (VR panorama) tips
izm
6
8.8k
Other Decks in Programming
See All in Programming
エージェンティックRAGにAWSで入門しよう!
har1101
8
1.5k
Webフレームワークの ベンチマークについて
yusukebe
0
160
Semantic Version 単位で戦略を柔軟に変えて、パッケージアップデートを自動化する
daitasu
0
230
「エンジニアインターン、どうやって取った?」準備のリアルを語るLT会 Progate BAR
akiomatic
0
130
ローカルLLMでどこまでコードが書けるか -拡張版 / How much code can be written on a local LLM Extended
kishida
10
3.6k
AIで効率化できた業務・日常
ochtum
0
130
New "Type" system on PicoRuby
pocke
1
850
These Five Tricks Can Make Your Apps Greener, Cheaper, & Nicer
hollycummins
0
280
不変条件と整合性境界—ビジネスが決める設計判断と実現パターン / Invariants and Consistency Boundaries
nrslib
13
3.7k
並列実装の現場、2ヶ月間実務でAIを使い倒したAIもPCも私も限界が近い
ming_ayami
0
130
キャリア迷子上等 ─ "ない道"は自分で作ればいい
16bitidol
3
2k
依存関係から依存物へ―Dependencyという言葉の歴史をひも解く
j_lee
0
110
Featured
See All Featured
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
Designing for humans not robots
tammielis
254
26k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.4k
How to train your dragon (web standard)
notwaldorf
97
6.7k
How To Speak Unicorn (iThemes Webinar)
marktimemedia
1
480
Building the Perfect Custom Keyboard
takai
2
790
Agile that works and the tools we love
rasmusluckow
331
21k
Scaling GitHub
holman
464
140k
The Curse of the Amulet
leimatthew05
1
13k
Are puppies a ranking factor?
jonoalderson
1
3.5k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
770
Git: the NoSQL Database
bkeepers
PRO
432
67k
Transcript
Haritoraのような安価なIMU式 モーションキャプチャの特性と考慮点について @izm スライドは後日公開予定
挨拶 • 趣味で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より実装済み
None
良いIMUモーキャプの見分け方
IMUモーキャプ買う時注意:これだけ覚えて帰って下さい • その場から歩いているリアルタイム動画が無いものは全 部ダメ • ドリフトに言及していないものは全部ダメ • 開発者にオタクがいないプロジェクトは全部ダメ(これ はポジショントークです)
IMU式モーションキャプチャの大事ポイント • IMU式モーションキャプチャ「も」ソフトウェアの出来 が大事 • 特にセンサーファームウェアや、PC側の骨格推定アルゴ リズムが大事
みんなも作ろうIMU式モーションキャプチャ • IMUをいっぱい繋げたハードウェアを作ってから先が めっちゃ面白い • ハンダ付けもめっちゃ面白い • みんなも作ってみよう
終わり