WHAT NEW IN X10.28 WED

AI collections from X · 22 collections · 58,925 posts

rokidPOST

Rokid Glasses predicts head position 100ms ahead to hide AR latency

A developer explains how Rokid Glasses compensates for 100ms camera latency by using IMU data to linearly extrapolate future head position and applying gain correction so AR models stay anchored.

こたうち さんさん
@kotauchisunsunArchived 2026.09.15Originally posted 2026.09.13
こたうち さんさん @kotauchisunsunOriginally posted 2026.09.13
Open original on X

この実装強烈にクレイジーなことをしていて、 100ms未来のヘッドトラッキングの位置を予測して描画してる という意味不明なことをしている。 どういうことかというとRokid Glassesのカメラ映像がディスプレイに着くまでに100msの遅延がある。 カメラのマーカーベースでトラッキングすると100msずれることになる。だから、光学シースルーで描画すると目には光が(近似的に)0msで来るんだけど、画像から位置推定すると100ms過去の頭位置のモデル表示になってる。そのため頭を動かしたときにARモデルの位置ズレが認知できるレベルになる。 しかし、RokidGlassesにはジャイロセンサーと加速度センサーが乗っている。これは10ms間隔で取れる。 なので、簡単には、過去の位置情報と移動速度、加速度のようなデータが取れるので、それを線形と仮定して、積分することで100ms先の頭の位置を予測できる。 で、予測して出した頭の位置とカメラベースでトラッキングした位置がずれるので、それからゲインとして推定して、次のトラッキングに合うように補正をかける。というアーキテクチャになってる。 あと一応キャリブレーションモードもあって、雑音項を収集して補正項に入れてる部分もある。 と言った形で、リアルタイムにARが動いているように見せるために100ms頭が動いた未来予測の位置ベースでAR表示してる。 えーやってみて思いました。 ARCoreってすごい。 あと光学シースルーでARやってるXREALやVITURE、Snap辺りは高速なISP無いと無理だし、めちゃめちゃすごいな。と思いました。これは特殊チップ要るわ。カメラからメモリに転送してCPUで処理してディスプレイに戻すまでに時間かかりすぎる。

This post quotes another post: x.com/kotauchisunsun/status/2099109474577592675

x.com/kotauchisunsun/status/2099141636949512438Archived 2026.09.15 17:56