肌微細構造の CG 表現の高速化
安江 志織

1

(指導教員：伊藤 貴之)

はじめに

3.1

まず両手法ともそれぞれに対応するマップをパターンから生成する．皮丘の高さや皮溝・毛穴の深さといった特徴量をもとにランダムに毛穴を配置し，角度依存性を持った皮溝で毛穴を接続する．このパターンを格子で覆い，各格子点での高さ・法線ベクトルを計算する．この格子点に対応する各画素に，法線マップであれば RGB を，変位マップであればグレースケールを割り当ててマップを生成する．

化粧品業界では店頭などのカウンターで，カメラや専用機で撮影した拡大画像をもとにした肌状態の分析・診断が広く実施されている．また，得られた拡大画像から肌のキメなどの微細構造を CG で表現する手法 [1]が研究されている．
我々は，多様な肌状態に応じた微細構造を画像に依存せず自在に表現したいという考えから，3 次元モデリング技術を用いて肌状態に応じた微細構造を表現し，肌質感の変化をシミュレートする研究に取り組んできた [2]．この研究では，マイクロスコープカメラで撮影した拡大画像から，毛穴・皮溝・皮丘といった微細構造を認識し各種特徴量を抽出した後，肌微細構造の 3次元形状モデルを生成している．この特徴量を調節することによって，多様な肌状態・質感の表現が可能になる．肌の微細構造をポリゴンモデルで表現し，3D の顔モデルに貼り付けることによって，顔の微細な凹凸を表現している．
しかし我々の実装では，顔全体の微細構造を表現するためのポリゴン数は約 850 万個におよび，データ量で表すと 2GB 弱にあたる．またポリゴンの生成と貼り付けに 1 時間以上かかり，ファイルの入出力にも時間がかかることから，店頭での実用化を目指す上でデータ量の削減と処理の高速化を図る必要があると考えた．
そこで本研究では，ポリゴンを廃止し新たに法線マッピングと変位マッピングという 2 つの CG 技術を利用して微細形状の凹凸を表現することで高速化を試みた．

23.2

表 1: テッセレーションの解像度z 座標z≤12 12<z≤18 18<z
解像度

3.3

導入手法

435

12

GPU による描画

結果

以上の処理によって肌の微細構造を表現した結果を，2 つの手法を比較しながら検証する．

法線マッピング

4.1

マップ

キメが整った健康的な肌・乾燥した肌・毛穴が開いた
肌の 3 つの肌状態を模倣して生成したマップが図 1 である．健康的な肌はキメにあたる三角形が比較的揃っているのが特徴である．乾燥した肌は皮丘の高さが他の状態よりも低くなるため，法線マップの色味が他の2 つと異なり，変位マップもやや暗くなった．毛穴が開いた肌は半径の大きな毛穴が目立ち，皮溝の幅もバラバラとなった．
また法線マップでは，毛穴・皮溝・皮丘で別々に法線ベクトルを計算したため不連続な部位ができてしまい，接続性の悪い不自然な法線マップとなってしまった．

変位マッピング

変位マッピングは物体表面を変位させて実際に凹凸をつける手法である．高さ情報に対応したグレースケー
ルの画像 (変位マップ) を参照することで，物体表面の頂点を変位させる．物体表面を細かいメッシュに分割する「テッセレーション」と呼ばれる処理を施すことで，微細な凹凸の表現も可能になる．法線マッピングと比べると動作が重く計算時間もかかる．

345

両手法とも GPU のシェーダーにより高速描画する．
現時点での実装では顔の各部分に対応する 600 × 600のマップを生成し，それを反復することで顔モデル全体にマッピングしている．RGB 値算出にはフォンシェーディングを採用している．

法線マッピングは物体表面の法線を擬似的に細かく変化させることで，物体表面の細かな凹凸を再現するCG 技術である．法線ベクトルに対応した RGB 画像(法線マップ) を参照することで，反射光の微細な変化を再現し，物体表面に微細な濃淡をつける．結果として，対象となる物体形状に微細な凹凸をつけずに擬似的に微細な凹凸を表現する．

2.2

テッセレーション

変位マッピングでは次に，対象オブジェクトのメッシュを細かく分割する「テッセレーション」を実行することで，微細な変位を実現し，詳細な形状変化を実現する．本研究では表 1 に示すように，顔全体を見られる遠距離では粗く，キメが認識できる近距離では細かく分割するように，解像度を事前制御した．

本章では，本研究で導入する 2 つの CG 技術について詳しく説明する．

2.1

マップ生成

4.2

レンダリング

顔全体の描画結果と，キメ一つ一つが見える距離まで拡大した描画結果を図 2 に示す．法線マッピングでは毛穴・皮溝・皮丘が独立して凹凸をなしているように見え，また金属のような反射が目立ち，肌の光反射とは似つかぬ結果となった．一方，変位マッピングでは顔全体では微細形状の細かな凹凸によって生成される光の反射と艶が表現できており，拡大した場合も皮処理手順

以上の 2 つを用いたシェーダープログラミングによって微細構造の凹凸を表現し，どちらが肌微細構造の表現に適しているかを検証する．

79

図 1: 上：法線マップ/下：変位マップ，左：健康的な肌/中央：乾燥した肌/右：毛穴が開いた肌従来

表 2: 従来の計算時間 (秒)肌の生成 顔モデルへの貼り付け

合計

4809.04834.4125.4

図 2: 上：顔全体/下：キメが見えるまで近づいた場合，左：法線マッピング/右：変位マッピング

表 3: 本研究における計算時間 (秒)マップ生成 レンダリング

合計 上げるために，あらかじめパーツごとのオブジェクト
19.56 を用意し，ズームイン時は該当パーツを呼び出すことで不必要な部分のテッセレーションを避けることを考
変位マッピング
17.72
3.25
20.97
えている．また，肌をよりリアルに表現するために表面下散乱の導入を検討している．表面下散乱とは，肌丘の凸部と毛穴・皮溝の凹部が滑らかに表現できた．
や大理石などの半透明な物体において，外部光が内部ポリゴンを生成する従来手法 [2] と変位マッピング
散乱して反射する様子を再現する手法である．ここでを比較した結果を図 3 に示す．従来の描画結果では毛表面下散乱の傾向を示す拡散プロファイルにガウス分穴の輪郭が不自然であったが，変位マッピングでは自布総和での近似が広く適用されている [3] ことから，本然な凹凸を再現できており，より実際の肌に近い表現研究でもガウシアンフィルターを使用し全体にぼかしとなった．
処理を施すことで，より現実の肌に近い表現を目指し5 計算時間たいと考えている．
従来手法 [2] および本研究の 2 つの実装における顔全参考文献
体描画の計算時間をまとめた結果を表 2,3 に示す．こ[1] K. Nagano, G. Fyﬀe, O. Alexander, J. Barbic, H.
こで表 2 における「肌の生成」は，パターンからポリLi, A. Ghosh and P Debevec, ”Skin Microstrucゴンを生成することで 2 次元平面上に微細構造を生成
ture Deformation with Displacement Map Conする処理に相当する．また，表 3 における「マップ生volution,” ACM Transactions on Graphics, 34(4),成」は 600 × 600 のマップ生成にかかった時間であり，2015.
「レンダリング」は CPU による顔モデルとマップの読法線マッピング

17.72

1.84

み込み，さらに GPU の処理全体を含んでいる．従来は顔全体の描画に約 80 分かかっていたのに対し，本研究での 2 つの手法ともに約 20 秒であった．

6[2] F. Banba, T. Itoh, M. Inomata, M. Kurokawa,N. Toyoda, H. Otaka, H. Sasamoto, MicroGeometric Skin Simulation for Face Impression
Analysis, 芸術科学会論文誌, 13(1), 2014.

まとめ

肌微細構造を高速に CG で表現するために，法線マッピングと変位マッピングを使用したシェーダープ
ログラミングによる表現を試みた．従来手法 [2] より約250 倍高速になったが，現在のマップ生成方法では法線マッピングは肌の細かな凹凸の表現には向かない結果となった．一方で，変位マッピングは従来の手法よりも実際の肌に近いレンダリング結果が得られた．しかし，変位マッピングにおいて詳細部分にズームインして表示した場合，顔全体をテッセレーションした後に必要箇所をクリッピングして投影しているため，不必要なテッセレーションが発生し，その結果負荷がかかり処理速度が遅くなってしまった．
今後はまず変位マッピングの負荷を軽くし操作性を[3] E. d’Eon, D. Luebke, and E. Enderton, ”Eﬃcient
Rendering of Human Skin,” Eurographics Symposium on Rendering, 2007.

図 3: 左：従来の手法/右：変位マッピング

80