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
1
12k
Haritoraのような安価なIMUモーキャプの特性と考慮点について
トラッキング技術勉強会
https://connpass.com/event/214152/
izm
June 11, 2021
Tweet
Share
More Decks by izm
See All by izm
Face recognition for Luppet, for xR Tech Nagoya #4
izm
3
8k
Unity Networking Libraries Overview2018
izm
4
5.5k
Unity MovieTexture (VR panorama) tips
izm
6
8.7k
Other Decks in Programming
See All in Programming
AWS Summit Japan 2024と2025の比較/はじめてのKiro、今あなたは岐路に立つ
satoshi256kbyte
1
260
CLI ツールを Go ライブラリ として再実装する理由 / Why reimplement a CLI tool as a Go library
ktr_0731
3
950
DMMを支える決済基盤の技術的負債にどう立ち向かうか / Addressing Technical Debt in Payment Infrastructure
yoshiyoshifujii
5
750
Android 15以上でPDFのテキスト検索を爆速開発!
tonionagauzzi
0
180
LLMは麻雀を知らなすぎるから俺が教育してやる
po3rin
3
1.9k
MCP連携で加速するAI駆動開発/mcp integration accelerates ai-driven-development
bpstudy
0
250
11年かかって やっとVibe Codingに 時代が追いつきましたね
yimajo
1
230
Gemini CLIの"強み"を知る! Gemini CLIとClaude Codeを比較してみた!
kotahisafuru
3
920
リッチエディターを安全に開発・運用するために
unachang113
1
350
No Install CMS戦略 〜 5年先を見据えたフロントエンド開発を考える / no_install_cms
rdlabo
0
430
大規模FlutterプロジェクトのCI実行時間を約8割削減した話
teamlab
PRO
0
440
Workers を定期実行する方法は一つじゃない
rokuosan
0
140
Featured
See All Featured
Principles of Awesome APIs and How to Build Them.
keavy
126
17k
Unsuck your backbone
ammeep
671
58k
Large-scale JavaScript Application Architecture
addyosmani
512
110k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Six Lessons from altMBA
skipperchong
28
3.9k
How to Think Like a Performance Engineer
csswizardry
25
1.8k
Producing Creativity
orderedlist
PRO
346
40k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
35
2.5k
Art, The Web, and Tiny UX
lynnandtonic
301
21k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
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をいっぱい繋げたハードウェアを作ってから先が めっちゃ面白い • ハンダ付けもめっちゃ面白い • みんなも作ってみよう
終わり