CHI2016のPmomo: Projection Mapping on Movable 3D Objectをざっくり日本語訳した

#はじめに
ゼミ用にざっくり全訳したものをゼミだけで使うのはもったいないので，公開しようと思った．
これです．
http://dl.acm.org/citation.cfm?doid=2858036.2858329

# abstract

    - 動的なプロジェクションマッピングシステムであるPmomoを開発した．
    - 実世界のオブジェクトを6自由度で位置トラッキングする．
    - 3Dコンテンツを投影する．
    - リアルタイムで動くオブジェクトにプロジェクションできる．
    - 少ないポイントのクラウドでオブジェクトの構造をサンプリングし，ロバストにトラッキングできる手法を開発した．
    - それにより登録手続き(registration procedure)のための適応検索計画(adaptive searching scheme)を実現する
    - この手法は，内部と外部両方の複雑なオクルージョンを解決し，トラックポイントを失ってもすぐにトラッキングし直す事ができる．
    - プロジェクトされた仮想的なテクスチャを更にリアルにするために，面カバー手法(facet-cover method)によってオクルージョンをプロジェクションから除去することができる．
    - インタラクティブなARアプリとして構築した．
# introduction

    - 空間的なAR(SAR)として知られているプロジェクションマッピング
    - staticなプロジェクションマッピングは彫刻[1][20][30][31]や建築に対して使われている事が多い
    - 動的なプロジェクションマッピングを実現するには高速で高精度なリアルタイムの投射が必要
    - 自然で速いインタラクションはオクルージョンを生み出してしまい，それを解決する必要もある．
    - オブジェクトの幾何学特性（e.g. quasi-planar）やオブジェクトの動きに対してロバスト性が必要．
    - 変形可能で移動する表面(紙の面など)に対するプロジェクション[4][5][11][13][17][18][19][21][32][33][34]
    -  単純な3Dオブジェクトに対するプロジェクション [27][23], 3Dオブジェクトの限定的な移動に対するプロジェクション [3]
    - 本研究では，6自由度の自由でインタラクティブな動きに依る複雑な幾何学問題に対応した．
        - デプス画像に基づいた任意のオブジェクトをトラッキングする画期的なアルゴリズムと，内的，外的なオクルージョンの両方に対応するシステムを開発した．
        - 姿勢・機首基準システム(altitude heading reference system)センサーをリアルタイムで利用する際の拡張に用い，左右対象な形状の回転を検出できないデプス画像の問題も解いた．
        - また，オクルージョンカリングを実現した．図2
        - リアルな外観を実空間のオブジェクトに投射でき，移動する3Dオブジェクトにも対応，アートや教育，エンターテイメントのインタラクティブな領域にも持ち込むことができる．図1
        - まとめると
            - 1.　6自由度の移動する環境のオブジェクトにプロジェクションができる．
            - 2.　複雑な幾何学オブジェクトに対応．
            - 3. オクルージョンカリングができる．
# background

    - 最近の動的なプロジェクションマッピングシステムについて紹介とくにトラッキングについて
        - 磁力トラッカーを用いた手法Bandyopadhyay et. al. [3] は，近い距離でしか使用できない．
        - high-speed vision sensorと，high-speed optical gaze controllerを使ったプロジェクタを用いた手法 ”Lumipen” [27]
            - ピンポン玉やヨーヨーに対して良いパフォーマンスを見せたが，回転に弱い．
        - 患者と用具をトラッキングするためにステレオカメラを使った外科手術のナビゲーションシステムにARをもちいた手法 Wang et. al. [35]
        - オプティカルマーカーを顔のトラッキングと，プロジェクションに使った，”Face Hacking” [2]
            - しかし，オプティカルマーカーは視覚的にじゃまになるし，多視点赤外線カメラを周囲にセットするのが複雑である．
    - カメラでプロジェクションパターンを認識する手法
        - プロジェクター内部に不可視コードを仕込んだ手法Cotting et. al. [8]
        - 微調整されたプロジェクションと視覚的歪みをインタラクティブに最小化する手法Zheng et. al. [39]
        - カメラとプロジェクターから得られたそれぞれの特徴を毎フレーム比較するトラッキング手法を用いたshader lamp systemがある． Based on the work of Yang and Welch [37] and the work by Johnson and Fuchs [15], Resch et. al. [28]
        - ライトセンサーとしてプロジェクタを使う手法での関心事は，複雑なテクスチャや早い変化があるアニメ−ションをプロジェクションできないということだ．それはオクルージョンハンドリングに問題がある．
    - デプスカメラを用いたトラッキング手法
        - デプスカメラの利点は輝度変化の影響を受けないところと，プロジェクションのじゃまにならないところにある．
        - よく使われるデプスカメラであるキネクト2.0は高解像度，高精度で，広い画角を持つ．これは入手しやすく実用的な解決策だ．
    - デプスカメラを用いたトラッキングの最新研究
        - 静的なシーンのリアルタイムな3Dの再構築をするKinectFusion [14][26]
        - 動的なシーンに拡張したDynamicFusion [25]，リアルタイムトラッキングと3Dオブジェクトのセグメンテーションができる．
        - しかし，インタラクティブなレベルまで動的な微調整されたプロジェクションを実現するためにはまだ問題がある．
            - オブジェクトが人の手に持たれていたり，人の体に重なっていたりなど本当にインタラクティブなセグメントが難しい．
            - 複雑なコンピューティングによる遅延や早くて，絶え間ない動きに依る損失が原因の１つ
                - 3Dモデルの登録手法であるICP(iterative closest point)[6] [29]はキネクトフュージョンでも用いられているコンセプトである．
                - ICPは最近点スキーム（closest point scheme）によってソースとターゲットを登録する．
                - ICPは変形の初期推定からはじまりそれを繰り返す．そしてICPではソースとターゲットの中の最近点のペアを探し，マッチング誤差を小さくするために変形ベクトルを更新する．
                - ICPを使う際の心配事は，そのアルゴリズムがかんたんに局所的な最小値に陥ってしまうことだ．
                - ICPをリアルタイムトラッキングに使う時に良い初期状態である様なシンプルなシーンでのみ使われる．
                - [12]ターゲットのみを含むシーンをトラッキングすると仮定した時，例えば，ユーザの手と透明のテーブルトップをターゲットとした時，キネクトのデプスではなくカラー画像を使うと簡単にセグメンテーションできる．そういうときはRGB画像を使ってSIFT[22]をつかいICPを使うための初期処理としてラフな姿勢を得る．
                - もう一つの有効な登録手法はCMA-ES(covariance matrix adaptation evolution strategy:共分散行列適応・進化戦略)は準大局的な最適化に効果的である．
                - 最適化手続きは，昔から繰り返し，受け継がれてきた．最近の最も良いフィルターの結果は，ガウス分布という新しい例を生み出した．
                - その進化は，最も良いフィルターの適合率がしきい値へ収束するときや，繰り返しの数が，しきい値に達した時止まる．
                - Jordt et. al. [16]は，オブジェクトの持つグリッドを用い，そのグリッドのそれぞれのポイントの最適化された位置を探すためのCMA-ESを用いるトラッキング手法を提案した．ポイントの数は，探索空間の次元を特定する．
                - その結果この手法は，変形可能なオブジェクトをサポートすることができたが，大量のグリッドポイントを持つ複雑な構造物には効果がない．
                - ”Flexpad” [33]の著者は，微調整されたプロジェクションのために，紙の変形をトラッキングする別の手法を提案した．
                - 彼らは紙の16変形モデルを構築し，変形の重み付き因子の大まかな最適解を探すためにCMA-ESを適応した．
                - オクルージョンは未だにトラッキングの大きな問題である．
                - 幾つかの先行研究[10]では，大きな差異によって得られた，確率的外的オクルージョンマップによってこの問題に挑んだ．
                - KinectFusion[14]は負荷がかなり高いがレイキャスティングの方法によってオクルージョンを解決した．
                - FlexPad[33]は，人の手によって作られた赤外線画像上の肌の顕著な光学的特徴によってオクルージョンを検出する．
                - [12]は，それぞれのユーザの肌のための構築されたカラーモデルによって手を検出する．
                - [9]のような16個のマルチカメラを用いてオクルージョンを解決する手法もある．
    - 結論として，現在のトラッキング手法は，以下のような点に脆弱性がある．
        - 移動範囲や移動スピードの限界，幾何学的な限界，オクルージョンの問題
        - また，幾つかのケースでは，ハードウエアがとても複雑であるが，低いトラッキング性能を提供している．
# method of pmomo
    - pmomoは実世界の物体の6自由度の位置をトラッキングし，プロジェクションによって仮想的な3Dテクスチャを描画する．
    - システムのワークフローは図３
    - 準備フェーズでは，ターゲットオブジェクトの3Dメッシュモデルが後々必要になる．
        - これは再構築技術による実オブジェクトのスキャニングと，直接的なデザインとデジタルモデルの3Dプリントによって得ることができる．
        - もととなる3Dメッシュモデルに基づき，トラッキングとプロジェクションのために4つのモデルを作る必要がある．
            - 一つ目がトラッキングのための低密度ポイントクラウドモデル
            - 二つ目がオクルージョンカリングのための高密度ポイントクラウドモデル．
            - この２つのポイントクラウドモデルは，それぞれのポイントの分布を得ることで構築される．
            - 三つ目は二つ目の高密度ポイントクラウドモデルから再メッシュされたメッシュモデルである．
            - ポイントファセットリストに，高密度ポイントクラウドモデルのポイントと，再メッシュモデルの高密度モデルとの隣接面のポイントの一致するものを記録する．
            - 4つめは，プロジェクションのためのテクスチャーデザインモデルである．
    - リアルタイムフェーズでは，最初のステップはターゲットオブジェクトの変換行列を得ることである．
        - このトラッキングの手続きは，準大局最適化アルゴリズムによって低密度ポイントクラウドモデルを現在のデプス画像に登録することによって得られる．
        - 次のステップは，高密度ポイントクラウドモデルとポイントファセットリストを使って，オクルージョンのための面のレイヤーを作ることである．
        - 三つ目のステップは，背景色をレンダリングして得たオクルージョンファセットでテクスチャモデルを覆うことである．そして，最初のステップから得られた変換行列によって変形させる．
        - 最後に，最終結果を実オブジェクトにプロジェクションする．
- setup and calibration

        - プロジェクションマッピングをするために，我々は仮想シーンをしっかりと実シーンに補正する必要がある．
        - 仮想シーンでは，実オブジェクトと同じ位置姿勢を共有した3Dモデルと，実際のプロジェクターと同じ画角を共有するカメラがある．
        - 仮想カメラの画角からレンダリングされた画像はプロジェクション対象を特定する．
        - Pmomoの毎フレームでは，実オブジェクトの6自由度の位置がトラッキングされ，それと一致する仮想3Dモデルは新しい位置に変形，更新される．
        - Kinect2.0のデプスカメラは実シーンをキャプチャするためと，変換ベクトルを計算するために使う．
        - AHRSセンサーは回転行列を得るために使う．
        - 我々の使うAHRSセンサーのモデルは，3DM-S10A/B from Shanghai Siyue Electronics Co., Ltdのもので，高いアプデートレート(100fps)で安定した回転角を得ることができる(±2◦ for dynamic error and ±0.5◦ for static error) ，6自由度の幅に制限が無く，コストもKinect2.0の二倍程度である．
        - Pmomoの物理的なセットアップを図４に示す．普通のデスクトップPC(Intel i7 processor, 8 GB RAM, and an NVIDIA GeForce GTX 770 graphics card)とAHRSセンサーがマウントされたオブジェクト，それぞれが棚の上で近くに置かれたキネクト2.0とプロジェクター (Panason- ic PT-BX40)によってなる．1.5×1.0×1.0mで最も良いインタラクションのパフォーマンスを発揮する．
        - キャリブレーションワークでは，AHRSセンサーをKinectのデプスカメラに合わせて補正する必要がある．
            - オブジェクトにマウントされている３軸のセンサーは，オブジェクトの座標と同調している．
            - ここでオブジェクトのデプスセンサーの座標の回転をR^kとし，センサーから得られる回転をR^sとするとR^k=R^t*R^sである．
            - R^tはデプスカメラの座標から，センサーの座標への回転である．R^tはTracking Sectionで述べられるsame registrationアルゴリズムによって得られる．
            - 最も良い登録結果を得るために，オブジェクトは外的なオクルージョン無しに，デプスカメラの画角の真ん中に置くべきである．
        - 我々はKinectRGBカメラをプロジェクターと赤外線カメラの二次的なキャリブレーションのために使う．（赤外線画像はデプス画像と同じ画角を共有する．）
            - まず， Zhang’s method [38]の手法を用いてRGBカメラと赤外線カメラの間の変換行列を得る．
            - そして，[24]と得られた変換行列を用いて，RGBカメラとプロジェクタをキャリブレーションする．
            - ２つのキャリブレーションデータを用いて，キネクトの赤外線カメラからプロジェクターへの変換行列を計算することができる．
- tracking

        - ロバストなトラッキングと，任意のオクルージョン下での複雑な幾何学特性を持つランダムに移動する剛体のテクスチャープロジェクションパフォーマンスを得るために，3つの主な変更を用いたトラッキングメソッドに基づくCMA-ESを用いる．
            - 1. インプットの幾何特性を一様に分散した低密度ポイントクラウドを均質化することによってトラッキングの複雑性を低下させる．
            - 2. CMA-ESの反復に自己適応的しきい値をもちいたオクルージョン検出手法を組み込む．
            - 3. わるいトラッキング状態であっても処理するために，それぞれの反復のステップサイズも自己適応的である．
        - オブジェクトトラッキングのパイプラインを図５に示す．
            - ランニングステージのそれぞれのフレームnにおいて，我々は変換行列AnとオクルージョンリストLnを保存する．
            - 初期推定として最後のフレームの結果を用い，現在のデプス画像に低密度ポイントクラウドを最も登録する変換行列Anを探す．
            - そして，現在のフレームにおいてポイントクラウドのどのポイントが，隠蔽されているかを指し示すためにオクルージョンリストを更新する．
            - トラッキング処理の最終的なアウトプットは，コンピュータ処理とデバイスのインプットによる遅延を補うための予想された変換行列である．
        - 登録の時に，変換ベクトルTnを得るためにCMA-ESの手法を用いる，回転ベクトルRnはAHRSセンサーから得る．
        - 我々のアルゴリズムは最後のフレームから変換ベクトルTで初期化する．そして，共分散行列を用いてTの幾つかの変形をランダムに得る．
        - Tの変形それぞれに対してシステムは，ポイントクラウド{p}を変形させるためにRnと一緒にそれを使う．そして，変化したポイントクラウドのポイント{P}から見えるポイントを選択する．
        - 次に，システムはデプスマップに{P}をプロジェクトし，それらの2D(u,v)の位置を得る．
        - {P}のそれぞれのポイントPiに対して，(u,v)のピクセルとそのデプスマップ上のデプス値を3D空間にバックプロジェクティングすることによってその片割れのP’iをシステムは得る．
        - 全てのポイントのペア{(P'i,Pi)}のRMS距離は適合損失として計算される．その後，最も低い適合誤差を持つベクトルT'をシステムは抽出し，T'によってTを更新する．
        - これらのステップを適合損失がしきい値に達するまで繰り返す．
        - 我々はこれによりそれぞれの変化推定について適合条件を以下式(2)のように定義する．
        - Sはサンプルポイントの集合，nはSのサイズ，Pi=Apiはデプスカメラの座標上のpiの変化した位置である．
        - P′i = φ(π(Api))はデプスマップに依るPiの片割れである．
        - デプス画像の q ∈ R^2 = (x/z,y/z)^Tを得るための p ∈ R^3 = (x,y,z)^Tの射影プロジェクションに式q = π(p)は機能する．
        - 式p = φ(q)はデプス画像のqをデプス値によるワールド座標にバックプロジェクティングする．
        - デプスカメラの見えない変化したサンプルポイントは除外される．
        - 変化した点Piの可視度は以下の２つの必要条件の満足度によって明らかになる．
            - 1. 式3
                - ベクトルnは普通のポイントPiを参照する．ベクトルpkはポイントPiからデプスカメラの中心へのベクトルを参照する．そしてAngle(ベクトルn,ベクトルpk)はベクトルnとベクトルpkの間の角度を参照する．
            - 2. piがオクルージョンリストにあるオクルージョンポイントとしてマーキングされないかどうか．
 - self-adaptive occlusion detection

            - リアルタイムのオクルージョンのために，図6で示すように，２つの連続したフレームの間のとても小さいオクルージョンされたサンプルポイントの集合の変化を検出する．
            - したがって，最後のフレームのオクルージョンリストは現在のフレームのトラッキングに役立ち，現在のAnを得た後，我々は次のフレームのためにオクルージョンリストを更新する．
            - オクルージョンリストは，以下の２つの条件をつかって毎回変化したサンプルポイントをチェックすることによって更新する．
                -  式3かどうか
                -  式4かどうか
                    - thr = max(F(An),minThr)である．
                    - minThrはトラッキングの精度によって一意に決定される．
                    - 適応的オクルージョンしきい値処理の利点は，オクルージョンポイントの大きな誤判定のためにトラッキングできなくなる可能性を減らすことである．
 - step-size control

            - 幾つかの場合，CMA-ES手法は局所的な最適解に陥ってしまうことがある．
            - 例えば，人がオブジェクトを持っている時に，アルゴリズムはオブジェクトではなく人をトラッキングしてしまうかも知れない．
            - これを解決するために，我々は新しいサンプルを生成するためにCMA−ESのための適応的なステップサイズを用いる．
            - ステップサイズσは原型と結果の間の偏差に影響する．
            - それぞれのフレームでデフォルト値ははじめσに設定される．
            - CMA-ESの繰り返しによって，一度の繰り返しの適合する変換ベクトルと，前フレームからの変換ベクトルの間のユークリッド距離がもし最大値を超えたら，我々のアルゴリズムはステップサイズσをkσに減らし，繰り返しをリスタートさせる．
            - kは減衰の大きさであり，実験に基づき0.25に設定している．
            - ステップサイズコントロール処理では，トラッキングが深刻な誤差を受けた時の特徴もシステムは取得し，前の位置の周囲も取得する．
            - この特徴は，準大局的な探索処理に結合され，リアルなインタラクションのために２つの利点を提供する．
                - 一つ目は，大きいが一瞬のオクルージョン(例えばオブジェクトとキネクトのカメラの間をひとが歩いたときとか)によってシステムがオブジェクトをトラッキングできなくなった時，トラッキングはオクルージョンがなくなった時に前の位置を持っていることで我々のシステムは，すくにトラッキングし直すことができる．
                - 二つ目に，もしシステムが間違った場所をトラッキングしてしまった時，プロジェクションの光によって示される場所にオブジェクトをユーザが動かすことによってシステムはトラッキングし直すことができる．
 - delay management

            - AHRSセンサーが無意味なインプットの遅延を取得している間，Kinectはより明らかなインプットの遅延Dkを得る，キネクト1.0で90ms，キネクト2.0で60ms程度．
            - その結果，リアルタイムなデプス画像登録の処理をするために，AHRSセンサーから得られる回転パラメータは現在のフレームより前のセンサーから得られるDk(ms)を必要とする．
            - リアルタイムプロジェクションのために，AHRSセンサーから得られる最新の回転を用い，線形モデルによる変化予想値を我々は使う． 式6
            - Dcは数値計算の遅延，Dkはキネクトの入力の遅延，fはフレームレート，Tnはn番目のフレームの推定された変換ベクトル，Tn^predictは予想された変換ベクトルである．
            - デプス画像のノイズのために，たとえモデルが止まったままだとしてもトラックされた位置がランダムに変動するかもしれない，そして，移動予測条件のノイズが増幅するかもしれない．
            - しかし，その変動は速い動きでは可視化することができない，したがって，Wang et. al. [35]のように，モデルが静止しているかゆっくり動いている時，変動を減らすためにExtended Kalman filtering(EKF)を用いて準静的な姿勢を推定する．
- model constructing
 
        - 最も良いパフォーマンスを得るために，一様に分布するポイントクラウドが本システムには必要となる．
        - 一様に分ぷしていないサンプル点については，もし密集した部分が隠蔽されていたら，残ったサンプルポイントは，トラッキングするのに満足ではない．
        - メッシュモデルから一様に分布したポイントクラウド{p}を得る処理は２つのステップがある．
            - 1. 明らかに密集している全ての面のポアソンディスクサンプルポイントを得る．[7]
            - 2.空のポイントセットとして{p}を初期化し，メッシュモデルの全てのポアソンディスクサンプルポイントを走査する．
            - もしあるポイントが（明らかにしきい値より低い）{p}のポイントと近かったら，それをドロップし，他のポイントを{p}に加える．
        - オクルージョンカリングによってポイントクラウドモデルをリメッシュする時に我々の手法はポイントファセットリストも作成する．
        - ポイントファセットリストは，ファセットが，明らかにポイントであるポイントと隣接しているということを記述するリストである．
        - ポイントpの隣接面を見つけるためのアプローチは，リメッシュされたモデルの全てのファセットを走査し，１つのエンドポイントとして明確なpであるファセットを選ぶことである．
- occlusion culling

        - Pmomoでは，オクルージョンカリングのためにfacet-coveringメソッドが使われる．
        - 描画される前の高密度ポイントクラウドモデルと，それに関連するメッシュモデルは，この手法で利用される．
        - 現在の変換行列をインプットとして用い，高密度ポイントクラウドモデルはデプス画像と結び付けられる，そして隠蔽されたサンプルポイントは，トラッキング処理での同じオクルージョン検出関数によって抽出される．
        - メッシュからポイントクラウドとしてポイントファセットリストを得るため，ポイントと関連するファセットを簡単に見つけることができ，それらをオクルージョンファセット集合についかする．
        - そして，オクルージョンファセットはテクスチャされた3Dモデルによって覆われ，プロジェクションシーンの背景色である黒によってレンダリングされる．
        - モデルの隠蔽された部分の黒い面を重畳することによって，オクルーダは最後のプロジェクション画像から得た黒を投射するだろう．
        - この手法の利点は，内的なオクルージョンの状態に対して存在する，表面で邪魔されないような，見ることができない内側の面を覆うオクルージョンファセットのような．
- computation complexity

        - トラッキング処理のコンピュータ処理の複雑性はO(NMS)にある．
            - ポイントクラウドのポイントの数を参照するN
            - 検索を繰り返す回数を参照するM
            - それぞれのCMA-ESの繰り返しによって生成された物（変換ベクトルの変形）の数を参照するS
        - したがってコンピュータ処理の複雑性はオブジェクトのサイズや形とは独立している．
        - 適合処理の内のトラッキングフェーズが最適な変換行列を発見するために最大のNMSの処理時間を繰り返し使うのとは異なり，オクルージョンファセットを生成するステップでは，オクルージョン検出関数は１回しか計算されない．
        - したがって，高密度ポイントクラウドモデルの計算は手頃である．
        - 更に，システムがオクルージョンカリングをする際にはより高密度で高精度な結果を得るだろう．
- initialization

        - オブジェクトの位置の初期推定は手動で実位置のそばにセットする．
        - そして我々のアルゴリズムは正しい位置を準大局検索し，それぞれのフレームにおいて，システムは自動的にオブジェクトに調整する．
        - 図７はリアルタイムの記録からスナップショットした自動的な補正処理である．
# evaluation
        - 動的なプロジェクションの先行研究の推定精度について述べる．
        - Flexpad[33]の著者は，紙の表面と対応するデプス画像間のRMS距離を計算し，20217フレーム以上のデータから6.47mmの平均誤差を検出した．しかし，正確に計測されたオブジェクトの移動スピードの水準が十分ではなかった．
        - [28]のシステムは，0.9mmから4.5mmの静的な状態と2.1mmから31.6mmの動的な状態からそれぞれのx,y,z軸の変化より変換誤差の実験結果を提示した．これはテクスチャプロジェクションにおいて大きな影響があった．しかし，彼らのテストに於いて，スピードとオクルージョンについては不十分であったし，推定は１つの車のモデルについてしか行われていなかった．
        - 我々の実験では，異なるスピードとオクルージョンの比率において，登録誤差を推定する．モーション予想が原因となるリアルタイムでの投射誤差を推定する．
        - 我々のシステムで三つのモデルを用いてデモをする．胸部とボウルとヨット・ボートである．
            - 胸部モデルはメッシュの様々な密度を持つ（へその部分は密集している，ももの部分では間隔がある）
            - ボウルモデルは内的なオクルージョンの比率が大きい．（図10のc1のように．内部が完全に外面によって隠蔽された時，内的オクルージョンの比率は50%に達する）
            - ヨット・ボートモデルは切り抜かれていて，くぼんだ構造を持っている，また，回転した時に，表面のエリアが急速に変化する．
        - これらの三つのモデルは全て3Dプリントで作られた．だから我々はシステムのトラッキングパフォーマンスのテストのために，３Dモデルのグランドトゥルースなデータを持っている．
        - また，Kinect2.0センサーを使ったKinectFusionによって構成された比較的低品質な3Dモデルを使ってテストをする．
        - 実験では，10人の被験者にキネクトのカメラの画角の中を自由にモデルを動かしたり，時々手やカード，テープのような物でモデルを隠蔽してもらった．
        - グランドトゥルースな3Dモデルデータを用いた，トラッキンパフォーマンスのテストについて，我々は約10万フレーム(30fps, 約56分)のトラッキングデータを記録し，それぞれのモデルについて少なくとも18分のテストの時間を費やした．
        - KinectFusionからの3Dモデルデータを用いてテストした．
 
- tracking precision

        - モデルを詳細に，独立に精度を評価するために，我々は全てのテストデータを混ぜ，移動スピード，加速度，オクルージョンの比率にクラスタリングした．
        - トラッキングの制度は，モデルと対応する式2で定義された毎フレームのデプス画像の間のRMSユークリッド距離誤差の平均によって評価する．
        - 速度Vnは式7によって計算される．
        - Tnはn番目のフレームの変化量で，fはデプス画像のアップデートレートである．
        - 加速度はAHRSセンサーから得られる．実加速度データから重力の要素を引くために以下の式を用いる．式8
        - an^sはAHRSセンサーから得られた実加速度ベクトルである．Rn^sは実回転行列である．gは重力加速度である．
        - オクルージョンの比率は，外的，内的なオクルージョンの両方に含まれる．これは，式3を満たすサンプルポイントと式3のための式4によって計算される．
        - 我々はCMS-ESの繰り返しの最大数をそれぞれのフレームに於いて18と設定し，変形の最大値を15とし，適合計算の合計を最大で270回とした．
        - トラッキングで使うサンプルポイントクラウドは270から280のポイントを持つ．
        - 実験では，それぞれのフレームでのトラッキング計算の全ての平均時間を16msとする．
        - 図8の最初の2つのテーブルは異なるカテゴリのデプスフレームの平均登録誤差を示している．
        - これは，グランドトゥルース3Dモデルデータを用いており，移動スピードが20cm/s以下，オクルージョン率が15%以下のときとても良いリアルタイム投射ができている．
        - 速度が30cm/s以上で，オクルージョン率が15%以上の時平均誤差は18mmを超えるが，システムはオブジェクトをトラッキングできている．
        - KinectFusionによって構築された3Dモデルを使う場合には，予想通り，トラッキング誤差は少し上がるが，トラッキングはできる．
        - リアルタイムでのプロジェクションのパフォーマンスについて，3つ目のテーブルに予測誤差を載せる．
        - これはTn^predict(n番目の予測)とTc+delay(遅延時間の後の次のフレームの登録)の間の平均ユークリッド距離によって，計算される．
        - 結果を見ると，加速度が急激でない時，予測誤差は明らかではない．しかし，ユーザが動きを急激に変えた時に加速度の量が増えるため，予測誤差も増える．例えばオブジェクトを振った時．完全にオブジェクトに投射できなくなる．
        - スクリーンにオクルージョンカリングのエフェクトと，トラッキングを視覚的に見せるために，仮想的なシーンを準備した．
        - 図9に見せるように，このシーンでは，デプスカメラの画角に仮想的なカメラを配置し，赤外線カメラを背景として表現し，リアルタイムで3Dモデルの位置を更新する．
        - オクルージョンファセットを生成するために我々が用いるポイントクラウドモデルの中のポイントの数は，胸部モデルで3153,ヨット・ボートモデルで5964,ボウルモデルで5800である．
        - リアルタイムトラッキングをしている時に高精度なオクルージョンカリングができていることが視覚的に分かる．
        - 例えば，ユーザの指の外観が，図9の1,2では鮮明に見えている．
        - シルエットは滑らかではないが，ポイントクラウドモデルの密度を向上させることで改善することができる．
        - 図10は実シーンでの動的なプロジェクション効果を示している．
        - この写真の3つのモデルは実際は白いが，カラフルなテクスチャによって覆われている．
        - ユーザにモデルを持ってもらい，自由に動かしたり，回転させたりして貰った．
        - 結果をみると，任意の姿勢や位置においても実モデルにキチンとプロジェクションできている．
        - オブジェクトが突然加速すると，小さな例外が起きていることが分かる(図10のa4)
- failure handling

        - とても大きなオクルージョンが起こったり，とても早いスピードで動かすとトラッキングができなくなる．
        - しかし，システムはトラッキングができなくなった時，前の正しい位置を保持するが，一瞬大きなオクルージョンが図11のように起きたときも，トラッキングし続けてしまう．
        - 準大局的なトラッキングをシステムは行うため，システムがオブジェクトをトラッキングできなくなったり，間違った場所にプロジェクションしてしまうと，被験者はオブジェクトを明るい場所に動かし，長くても15秒でトラッキングし直さなければならない．
   
# tracking without AHRS sensor

    - たいてい，我々のトラッキングアルゴリズムはAHRSセンサー無しでも動作するが，移動と回転の両方を推定するためのCMA-ESアルゴリズムでより多くの繰り返しを必要とするような場合は大きな検索範囲を必要とする．
    - 極端な例（フレーム間の全ての6自由度の変化がとても大きいとき）だと，アルゴリズムは，0.5から1.5秒必要とする．(RMS誤差を10mmぐらいに収束させる時)
    - これは著しく我々のシステムのリアルタイム投射に影響する．
    - システムにAHRSセンサーを加え，回転データを提供する事で，より良いパフォーマンスを安く得ることができる．
# conclusion

    - 動的なプロジェクションマッピングシステムとして，Pmomoは4つの強みを持つ
        - ランダムな動きに対するリアルタイム投射
        - 任意の複雑な幾何学特性
        - オクルージョンに対するロバスト性
        - 自動のオクルージョンカリング
    - オクルージョン下での複雑な形状のロバストなトラッキングを得るために，複雑性減少，自己適応オクルージョンハンドリング，自己適応ステップサイズコントロールなどの画期的な特徴を持つデプス画像ベースのトラッキングアルゴリズムを開発した．
    - そしてオクルージョンカリングの手法を開発した．
    - 実験結果より，Pmomoは高いインタラクティブ性能を持つことを示した．
    - Pmomoの技術はアートや教育，商業での画期的なARアプリとして幅広く用いることができると信じている．
    - 我々のアプローチはいくつか制限がある．
        - 1. オクルージョンを起こすものはターゲットオブジェクトに近すぎてはいけない，もしそうだったら，デプス画像で判断できなくなる．
        - 2. 大きな外的なオクルージョンはトラッキングの失敗に成るかもしれない．
            - オクルージョン率が明らかに高いと，残っている見える部分がトラッキングするには十分でない．
            - この制限はデプスカメラを追加したりして他の視点を取り入れることで解決できる．
        - 3.　変形可能なオブジェクトについて，小さな局所的な変形は許容できるが，大きな変形は許容できない．
        - 他の限界としてカメラとプロジェクターは近い場所に設置し，同じ方向に向ける必要がある．同じオクルージョンを検出するために．
    - 将来的には，
        - 1.デプスカメラだけで高速な6自由度のパフォーマンスを得るために，GPUによるトラッキングアルゴリズムの更なる最適化
        - 2. 複数のオブジェクトの同時認識．
        - 3. 複数のカメラとプロジェクタを使った方法や，操縦可能なカメラプロジェクタシステム[36]を用いた，より広いシーンや360度のプロジェクションの対応．