情報処理学会 インタラクション 2015
IPSJ Interaction 2015

B74
2015/3/6

運動する人体の全周に対するリアルタイムプロジェクションマッピング
森 正樹1,a)

床井 浩平2,b)

概要：プロジェクションマッピングでは一般に映像の投影を行う対象の形状が既知である必要がある．し
たがって，不規則な運動をする人体等にプロジェクションマッピングを行うためには，何らかの方法で対象の形状を動的に取得する必要がある．本研究では複数の距離画像センサで人体の全周形状を取得し，それに対してテクスチャをマッピングした映像を投影することによって，不規則な運動をする人体に動的なプロジェクションマッピングを行う手法を開発している．本稿ではセンサ 1 台，プロジェクタ 1 台による人体へのプロジェクションマッピングを行った結果について報告する．

Real-time Projection Mappingon the Entire Moving Human Body
Mori Masaki1,a)Tokoi Kohe2,b)Abstract: In general, the shape of the projection target should be known when performing the projection
mapping. Therefore, in order to perform the projection mapping on the irregularly moving human body,needs to get the shape of the target dynamically in some way. In this research, we are developing the dynamic
projection mapping technique to the irregularly moving human body by projecting the texture mapped imageof the entire shape of the human body that is obtained from the multiple range image sensor. In this paper,
we report the results of the projection mapping on the human body using one projector and one sensor.

1. 研究動機

目を感じさせることなく映像を投影することができている．
近年では，運動する物体に映像を投影している例も見ら

現在，世界各地のテーマパーク，商業施設，有名建築物，れるようになった．Box[2] では運動するロボットアームにアート作品など，至る所でプロジェクションマッピングが取り付けたパネルに対して，動的にプロジェクションマッ実演されている．しかし，そのほとんどは建物などの静止ピングを行っている．このように運動する物体に対して，した物体の，ある一面に対してのみ映像を投影しているも遅延を生じさせることなく映像を投影するためには，一般のである．

的にロボットアームや回転台の動きに応じて投影像を変形

Rabarama360◦ [1] は一面だけでなく，物体の全周に対しさせるという手法が取られる．てプロジェクションマッピングを行っている数少ない例でこれに対して人体など，不規則な運動をする物体に対しある．こちらは静止した人物モデルの全周に対して，繋ぎてプロジェクションマッピングを行おうとする場合，投影

12a)
b)

和歌山大学大学院システム工学研究科
Graduate School of Systems Engineering, Wakayama University
和歌山大学システム工学部
Faculty of Systems Engineering, Wakayama University
s145047@sys.wakayama-u.ac.jp
tokoi@sys.wakayama-u.ac.jp© 2015 Information Processing Society of Japan

像の遅延は回避しがたい問題であり，これを実現している例は数少ない．OMOTE[3] はマーカーを用いてフェイストラッキングをすることで，運動する人物の顔面に対する動的なプロジェクションマッピングを実現している．
本研究ではこのような既存のプロジェクションマッピン

712

グを拡張し，身体に接触するマーカー類を使用せずに，運Sensor

動する人体の全身，全周に対して動的にプロジェクションマッピングを行うことを目指す．

Object人体の運動に対して柔軟に変形する投影像を生成するためには，人体の形状計測を行うと同時に，その形状を可視化することが必要であると考える．そこで本研究では，距
図 1

離画像センサを用いて，運動する人体の 3 次元形状を動的

3 台の距離画像センサを用いた撮影方法

Fig. 1 3D scanning method using 3 sensorsに復元することを考えた．

2. 3 次元形状復元の関連研究
Kanade ら [4]，冨山ら [5] は視体積交差法を用いて，多視点画像から動物体の 3 次元モデルを生成することに成功している．しかし，視体積交差法では複数のカメラから得

4. デプスマップを用いた形状復元
本研究で用いている距離画像センサは SoftKinetic 社

られる物体のシルエットから形状を求めるため，多数のカの DepthSense311 である．画像の取得は DepthSenseSDKメラが必要であり，モデルの生成をリアルタイムに行うこを用いて行う．形状処理と可視化には OpenGL を用い，とが容易ではない．

DepthSense311 から得られるデプスマップを元に形状を復Furukawa ら [6] は近赤外プロジェクタとカメラを円周上元し，同時にカラー画像をマッピングして描画する．また，に配置し，動物体の全周形状を復元している．こちらはプ

画像取得以外の形状処理全般を，GPU 上のシェーダで行

ロジェクタによって，パターン光を物体に投影して形状をうことによって高速な処理を実現している．

アクティブに計測する手法である．このような手法では，プロジェクタはカメラの数と同じだけ必要となり，こちらの研究では 6 セット用いられている．

4.1 画像の取得
DepthSenseSDK によって DepthSense311 から取得してまた，Chen ら [7] は Microsoft 社が提供している 3D ス

いるデータは解像度 QQVGA（160×120）のデプスマップキャンツールである Kinect Fusion を拡張し，大規模なシー（値は float 型），VGA（640×480）のカラーマップである．

ンの復元を行っている．しかし，こちらは１台の Kinect を尚，DepthSense からは，実座標である Vertices Floating

動かすことで 3 次元形状を復元するため，運動する物体のPoint を取得することも可能であるが，提案手法では後述動的な復元は不可能である．

するデプスマップ融合の実装上，デプス値のみを用いて3. 提案手法

いる．

物体の全周形状を復元するために，多くの関連研究では多数のカメラやプロジェクタが使われているが，本研究で4.2 実座標の計算
各センサから得られるデプスマップはデプス値を格納しは安価な距離画像センサ 3 台のみを用いて，それらから得た 2 次元のデータであり，その x，y 座標は透視投影変換られるデプスマップを元に，できる限り低コストな方法でが施された後の位置である．よって，透視投影変換の逆変3 次元形状の復元を行う．デプスマップとはそれぞれの画換を行うことにより，現実空間における座標を求める必要

素にカメラからの距離（深度）の値を格納したデータであがある．

る．これを用いれば物体の形状計測が容易にできるため，3透視投影変換されたデプスマップの画像面と，現実空間次元形状復元の研究で盛んに利用されている．池畑ら [8]，に存在する物体との垂直方向における位置関係は図 2 のよLi ら [9] はカラー画像からデプスマップを推定し，融合をうに表すことができ，実座標 y’ は次式で求めることがで行っている．しかし，近年では安価な距離画像センサが実きる．また，水平方向についても同様である．

用化されているので，本研究ではそれを利用してデプス(マップを得るため，デプスマップの推定の必要はない．撮影は図 1 のように物体の周囲にセンサを配置して行い，そy ′ = depth · y · tan

れぞれの方向からデプスマップを取得し，それらを融合す

f ovy
2)
(1)

ることによって動物体の全周形状を同時に復元する．形状以上の実座標変換は，GPU で実行されるバーテックス処理は GPU を用いることで高速化を実現し，動的な形状シェーダにおいて頂点単位で行っている．画角については復元を可能にしている．

DepthSense311 の公表値である水平方向 57.3◦ ，垂直方向42.0◦ を用いて (1) の計算を行うと，概ね正確な形状が求められる．

© 2015 Information Processing Society of Japan713

yʼ

たが，このまま描画すると物体の影にあたる部分に不必要screen

なポリゴンが生成されたり，形状同士の重なりが発生する．

1yfovy2

よって描画の際にフラグメントシェーダにおいて 3 つのデa

プスマップ全てを参照，比較し，描画する点の可視判定を行った．この処理をデプスマップ融合と呼ぶ．

hdepth

図 2

図 4 はデプスマップ融合処理の手順を y 軸上方から見た形で示したものである．シェーダには OpenCV の関数に実座標への変換 (垂直方向)

Fig. 2 Transformation to real point (Vertical direction)

よって得た，各センサの位置姿勢変換行列を転送しておく．
この変換行列をセンサごとに Ma ，Mb ，Mc とする．

4.3 形状の位置合わせ

デプスマップ融合には，シャドウマッピングの手法を応

3 台のセンサで復元した形状の位置合わせをするために用する．画面表示は対象形状のチェスボードを原点とする

は，各センサの位置姿勢を求め，それぞれの形状を OpenGL

座標値を格子点に設定したメッシュをセンサごとに作成のワールド座標系に正しく配置する必要がある．

し，それらをレンダリングすることにより行う．その際，そこで，本研究では OpenCV のカメラキャリブレーション関数を用いて，センサの位置姿勢を取得し，位置合わせを行った．OpenCV の solvePnP 関数によって，チェスボードの最初のコーナーを原点としたときの，カメラの回転ベクトルと並進ベクトルを求めることができる．しかし，OpenCV のカメラ座標系と DepthSense311 のカメラ座標系は y 軸の向きが異なっているため，それぞれの y 成分の符号を反転する．その後，回転ベクトルを回転行列に変換し並進ベクトルと組み合わせることで，下記の 4 ×４の位置姿勢変換行列 M ができる．ここでさらに，solvePnP 関数で取得する位置姿勢の基準である，チェスボードの座標系と OpenGL のワールド座標系が図 3 のように異なっているため，変換行列を変形して M′ とする．

M =

−r3−tx r7r8r9tt−r4−r5−r6−t10001r3tx 

r4r5r6tr7r8r9000y ′ 
M = 
z

座標値が得られる．これに先程の変換行列の逆行列 M−1a ，−1M−1b ，Mc を乗じて，そのフラグメントのそれぞれのセンサを原点とする座標系における座標値を求める．この座標値の xy 成分を用いて対応するセンサのデプスマップをサンプリングし，その値が z 成分より大きければ，そのフラグメントを破棄する．以上の処理により，すべてのセンサのデプスマップの交差部分にあるフラグメントが表示される．
図 5 は以上の処理を行い，復元した形状を描画したもの

−r2r2

これにより，フラグメントシェーダにおいて処理対象のフラグメントのチェスボードを原点とする座標系におけるである．

−r1r1

同じ座標値を格子点のテクスチャ座標にも設定しておく．

z 
y

center of marker

(C)

(A)

(2)
(A)

(B)

(B)

(C)
depth map

この変換行列 M′ を先述の処理でデプス値から求めた実座標に乗じることによって，それぞれの形状が同一の座標

Ma

M b-1cM -1系に配置され，これによって正確な位置合わせができてdiscardいる．
ᵡᶆᶃᶑᶑᴾᵠᶍᵿᶐᶂ

図 4ᵭᶎᶃᶌᵥᵪΈῈ

デプスマップの融合

Fig. 4 Depth map fusion

Ὲ

ῇ

Έ

図 3ῇ

ワールド座標系の違い

Fig. 3 Diﬀerence of world coordinate system

図 5 復元した形状の描画．(イスに乗せた箱）

4.4 デプスマップ融合

Fig. 5 Drawing of the reconstructed model (box on the chair)

前節の処理によって復元された形状の位置合わせができ© 2015 Information Processing Society of Japan714

5. ノイズの除去
描画した形状を見ると，depth 方向にノイズが発生して6. 運動する人体に対するプロジェクションマッピングおり，形状を精密に復元できているとは言えない．この原

プロジェクションマッピングの投影像は，以上の処理に因として，まずセンサ固有の計測誤差が考えられる．図よって復元した 3 次元形状に対して動的にエフェクトを加

6 は，静止物体のある点のデプス値を，DepthSense311 のえることで作成する．すなわち，DepthSense から取得し遠距離モード (1.50m -4.5m) で 1000 フレーム分記録したたカラー画像を形状にマッピングする代わりに，その他のものである．このデータより，センサ単体で標準偏差約テクスチャをマッピングすることとなる．投影像はデプス0.0043m の計測誤差が発生していることがわかった．また，マップ融合した形状をプロジェクタの数だけ用意し，これ近距離モード (0.15m -1.0m) ではほとんど起こらないが，をそれぞれのプロジェクタから物体の形状に合わせて投影

遠距離モードの場合センサ同士の干渉が起きて，ノイズがすることで，全周に対するプロジェクションマッピングを発生する．図 7 は，遠距離モードで計測した静止物体のあ行う．

る点のデプス値を，同じ方向を向くセンサの有無によって比較したものである．センサが複数ある場合，標準偏差が約 0.062m に増大した．

6.1 テクスチャマッピング手法復元した 3 次元形状へのテクスチャマッピングの手法として，現在環境マッピングの手法を用いている．環境マッ

2.2

mul! sensor
2.5

depth value [m]2.18

depth value [m]ピングとは，描画する形状の各頂点で映り込みを計算し，2.6

2.19

2.17
2.16
2.15
2.14
2.13
2.12

2.4

single sensor

ングする手法である．これによって復元した３次元形状に2.3

くまなくテクスチャマッピングすることが可能となる．

2.2
2.1

環境マッピングの具体的な手法としては，以下の 2 つを2考えている．2 つの手法はどちらも視点の位置を任意に設

1.9

2.11
1.8

2.1

1 101 201 301 401 501 601 701 801 901

1 101 201 301 401 501 601 701 801 901

計測誤差

定できるという特徴を持っているため，プロジェクション

frame

frame

図 6

用意した周囲環境のテクスチャ（環境マップ）をサンプリ

マッピングの観測者の位置に応じてテクスチャのサンプリ
図 7

センサ同士の干渉

Fig. 7 Interference

Fig. 6 Measurement error

ングが行えるという利点がある．

6.1.1 キューブマッピング
キューブマッピングとは，六面体に貼り付けたテクスチャを使って環境マッピングを行う手法である．図 9 のように描画する形状が六面体のキューブマップの内部にある

5.1 特異値を除いた平滑化
ノイズへの対処として，3×3 の Mean filter を用いた空として，形状への映り込みを表現する．

間方向の平滑化を行った．シェーダ上に送られてくるデプ処理の流れは，まず視線ベクトル E と各頂点の法線ベクスマップを参照し，処理点の近傍の値の平均値を取ったが，トル N を計算し，下記の式で反射ベクトル R を算出する．

微小な値は含めないようにした．また，平均値が 0 になった点については，大きな値を与えてポリゴンを無限遠に伸ばし，デプスマップ融合で破棄することで対処した．図 8
は Mean filter の適用前後を比較したものである．

R = −E + 2(N · E)N(3)そして，求めた反射ベクトル R を用いて，フラグメントシェーダでキューブマップをサンプリングすることで，反射方向のピクセルをマッピングすることができる．

none

Mean ﬁlter

図 8 平滑化フィルター適用結果（人物）Fig. 8 Application of the smoothing filter (human)

図 9キューブマッピング

Fig. 9 Cube mapping© 2015 Information Processing Society of Japan

715

られた．

6.1.2 放物面マッピング

そこで，それぞれ次の 1000 フレーム分の標準偏差も求込みの特性を用いた環境マッピングである．テクスチャ座

めると，表 1 のように，逆にプロジェクタ光無しの場合の標の算出方法としてはまず，キューブマッピングと同様に標準偏差が大きくなったため，これはプロジェクタ光の有復元した形状の各頂点の反射ベクトル r = (rx , ry , rz ) を求無に関係しない誤差の範囲であると考えた．よって，プロめる．そして，r の始点を図 11 のように放物面の焦点に置ジェクタ光によるデプス値計測への影響は無いと考えらいた時に，以下の式でテクスチャ座標 (s, t) を求める．

れる．

(4)

rz+ 0.52(1 + ry )

(5)

y1.9
1.88
1.86
1.84
1.82
1.8
1.78
1.76
1.74
1.721.7

テクスチャには魚眼レンズを搭載したカメラでビデオキャプチャしたものを用いる．これによってその場で撮影している周囲の環境を人体に映りこませるということが可

160
119
178
237
296355
414
473
532
591
650
709
768
827
886
945

160
119
178
237
296
355
414
473
532
591
650
709
768
827
886
945


 t=

1.9
1.88
1.86
1.84
1.82
1.8
1.78
1.76
1.74
1.72
1.7

depth value[m]rx s = 2(1 + r ) − 0.5

depth value[m]放物面マッピングとは，図 10 のような放物面への映り

frameframe

図 12

プロジェクタ光無し

Fig. 12 Projector light OFF

図 13

プロジェクタ光有り

Fig. 13 Projector light ON

能となる．

表 1

デプス値計測結果

Table 1 Result of mesuring the depth value

図 10

フレーム

標準偏差（プロジェクタ光無）標準偏差（プロジェクタ光有）

1 〜1000

約 0.0053m

約 0.0056m

1001 〜 2000

約 0.0059m

約 0.0054m

放物面への映り込み

Fig. 10 Reflection of the paraboloid

6.2 実験
運動する人体に対するプロジェクションマッピングの実験として，まずセンサ１台で復元した形状を，プロジェクy(rx, ry, rz)y

タ１台から人物に投影する実験を行った．図 14 がその様子である．テクスチャマッピングの手法はキューブマッピン

rrグを用いた．実験した結果，人体の運動に対してほぼ遅延することなく投影像も変形していることが確認できた．現

図 11

テクスチャ座標の算出

Fig. 11 Calculation of texture coordinates在，環境マッピングの際に視線ベクトルの始点を OpenGLのワールド座標系の原点に設定しているが，今後は実際の観測者の位置をトラッキングして視線ベクトルを求めるこ

6.1.3 プロジェクタ光の影響とで，観測者の位置に応じたサンプリングの実装を行う．

プロジェクションマッピングを行う際，距離画像センサからの赤外線光照射による計測と同時に，プロジェクタによる投影を行うことになる．よって，プロジェクタ光がセンサの計測に支障をきたす恐れがあった．
そこで，プロジェクタ光の有無の違いによるデプス値の比較実験を行った．図 12，13 はそれぞれ，対象物体にプロジェクタ光を投影している場合，投影していない場合でのデプス値の計測結果（連続した 1000 フレーム間，ある1 点のデプス値を計測したもの）である．その結果，プロジェクタ光無しの場合標準偏差が約 0.0053m，プロジェクタ光有りの場合標準偏差が約 0.0056m となり，プロジェク

図 14

運動する人体に対するプロジェクションマッピング

Fig. 14 Projection mapping on the moving human body

タ光有りの場合に標準偏差が少し増加するという結果が得© 2015 Information Processing Society of Japan716

7. おわりに本研究の提案手法により 3 台の距離画像センサを用いて，運動する物体の全周形状を動的に復元することができた．
そして，センサとプロジェクタを 1 台ずつ使って，運動する人体の 1 面に対して，動的にプロジェクションマッピングをすることができた．今後は，センサ 3 台でデプスマップ融合した形状を，プロジェクタ 3 台で人物の全周に対して投影する実験を行う．
また，現在は人物全体にテクスチャを映り込ませる環境マッピングを行っているが，衣服のテクスチャなど人物の部位単位のテクスチャを使用したプロジェクションマッピングの例も多く存在する．現段階ではそういったテクスチャを人物の動きに合わせて変形させることができない．
これに対しては，センサから得られる骨格情報を用いるか，頂点群の時間的変化を見て変形させる方法を検討する．
参考文献
[1]

[2]

[3]

[4]

[5]

[6]

[7]

[8]

[9]

DrawLight.net：Rabarama 360° Full 3D Mapping Projection，入手先 ⟨http://www.drawlight.net/en/projectdetails/items/rabarama-360-full-3d-mappingprojection.html⟩ (参照 2014.12.10).
the creators project, BOX,
入手先 ⟨http://thecreatorsproject.vice.com/show/projectionmapping -and-robots-combine-in-bot–dollys-new-film⟩(参照 2014.12.10).
Nobumichi Asai, OMOTE,
入手先 ⟨http://www.nobumichiasai.com/jp/omote.html⟩(参照 2014.12.10).
T.Kanade, P.J.Narayanan and P.W.Rander, Virtu-alized
reality:consepts and early results, Proc. ofIEEE Workshop on Representation of Visual Scenes, pp.69-76, 1995.
冨山仁博, 片山美和, 岩舘祐一, 今泉浩幸 : 視体積交差法とステレオマッチング法を用いた多視点画像からの 3 次元動オブジェクト生成手法, 映像情報メディア学会誌, Vol.
58, No. 6, pp. 797-806, 2004.
R Furukawa, R. Sagawa, H. Kawasaki, K. Sakashita,
Y. Yagi, N. Asada : one-shot entire shape acquisition
method using multiple projectors and cameras, Fourth
Pacific-Rim Symposium on Image and Video Technology, IEEE Computer Society, pp. 107-114, 2010.
Jiawen Chen, Dennis Bautembach, Shahram Izadi : Scalable Real-time Volumetric Surface Reconstruction, ACM
Transactions on Graphics (TOG) 32.4 (2013): 113.
池畑諭 , 山崎俊彦, 相澤清晴 : 多視点ステレオのための信頼度に基づく高精度デプスマップの推定と融合, 画像の認識・理解シンポジウム（MIRU 2011）, pp. 1405-1412,2011.
Jianguo Li , Eric Li, Yurong Chen, Lin Xu, Yimin Zhang: Bundled depth-map merging for multi-view stereo,
IEEE Computer Vision and Pattern Recognition, pp.
2769-2776, 2010.

© 2015 Information Processing Society of Japan717