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
11k
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
7.3k
Unity Networking Libraries Overview2018
izm
4
5.3k
Unity MovieTexture (VR panorama) tips
izm
6
8.6k
Other Decks in Programming
See All in Programming
Outline View in SwiftUI
1024jp
1
340
3 Effective Rules for Using Signals in Angular
manfredsteyer
PRO
0
100
Figma Dev Modeで変わる!Flutterの開発体験
watanave
0
150
Tauriでネイティブアプリを作りたい
tsucchinoko
0
370
ECS Service Connectのこれまでのアップデートと今後のRoadmapを見てみる
tkikuc
2
260
よくできたテンプレート言語として TypeScript + JSX を利用する試み / Using TypeScript + JSX outside of Web Frontend #TSKaigiKansai
izumin5210
6
1.8k
CSC509 Lecture 13
javiergs
PRO
0
110
AI時代におけるSRE、 あるいはエンジニアの生存戦略
pyama86
6
1.2k
受け取る人から提供する人になるということ
little_rubyist
0
250
카카오페이는 어떻게 수천만 결제를 처리할까? 우아한 결제 분산락 노하우
kakao
PRO
0
110
watsonx.ai Dojo #4 生成AIを使ったアプリ開発、応用編
oniak3ibm
PRO
1
180
OnlineTestConf: Test Automation Friend or Foe
maaretp
0
120
Featured
See All Featured
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
16
2.1k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
131
33k
What's in a price? How to price your products and services
michaelherold
243
12k
Done Done
chrislema
181
16k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
How GitHub (no longer) Works
holman
310
140k
Designing the Hi-DPI Web
ddemaree
280
34k
The World Runs on Bad Software
bkeepers
PRO
65
11k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.3k
Large-scale JavaScript Application Architecture
addyosmani
510
110k
A Modern Web Designer's Workflow
chriscoyier
693
190k
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をいっぱい繋げたハードウェアを作ってから先が めっちゃ面白い • ハンダ付けもめっちゃ面白い • みんなも作ってみよう
終わり