テクスチャ合成は、小さなデジタルサンプル画像の構造コンテンツを利用して、アルゴリズム的に大きなデジタル画像を構築するプロセスです。これは、コンピュータグラフィックスの研究対象であり、デジタル画像編集、3Dコンピュータグラフィックス、映画のポストプロダクションなど、多くの分野で使用されています。
テクスチャ合成は、画像内の穴を埋めたり(インペインティングのように)、繰り返しのない大きな背景画像を作成したり、小さな画像を拡大したりするために使用できます。 [1]
手続き型テクスチャとの対比
手続き型テクスチャは、ソース マテリアルなしでテクスチャを最初から合成できる関連技術です。対照的に、テクスチャ合成は、ソース イメージの一部が一致または拡張される技術を指します。
テクスチャ
「テクスチャ」は曖昧な言葉であり、テクスチャ合成の文脈では次のいずれかの意味を持つ可能性があります。
- 日常会話では、「テクスチャ」という言葉は「表面構造」の同義語として使われます。テクスチャは、知覚心理学において、粗さ、コントラスト、方向性、線状性、粗さの5つの異なる特性によって説明されています [1]。
- 3D コンピュータ グラフィックスでは、テクスチャとは、モデルをよりリアルに見せるためにテクスチャ マッピングによって 3 次元モデルの表面に適用されるデジタル画像です。多くの場合、この画像は木目などの「実際の」テクスチャの写真です。
- 画像処理では、繰り返される要素で構成されるすべてのデジタル画像は「テクスチャ」と呼ばれます。

テクスチャは規則的なものから確率的なものまで、滑らかな遷移で繋がったスペクトルに沿って配置することができます。[2]
- 規則的なテクスチャ。これらのテクスチャは、ある程度規則的なパターンのように見えます。構造化されたテクスチャの例としては、石壁や敷石でタイル張りされた床などがあります。
- 確率的テクスチャ。確率的テクスチャのテクスチャ画像はノイズのように見えます。つまり、画像全体にランダムに散らばった色のドットで、最小および最大の明るさと平均色の属性によってほとんど指定されません。多くのテクスチャは、遠くから見ると確率的テクスチャのように見えます。確率的テクスチャの例としては、ラフキャストがあります。
ゴール
テクスチャ合成アルゴリズムは、次の要件を満たす 出力イメージを作成することを目的としています。
- 出力はユーザーが指定したサイズになるはずです。
- 出力はサンプルにできるだけ似たものになるはずです。
- 出力には、継ぎ目、ブロック、不適合なエッジなどの目に見えるアーティファクトがあってはなりません。
- 出力は繰り返されてはなりません。つまり、出力イメージ内の同じ構造が複数の場所に出現してはなりません。
ほとんどのアルゴリズムと同様に、テクスチャ合成は計算時間とメモリ使用量の点で効率的である必要があります。
方法
テクスチャ合成のために、以下の方法とアルゴリズムが研究または開発されてきました。
タイル張り
サンプル画像から大きな画像を生成する最も簡単な方法は、それをタイル化することです。つまり、サンプルの複数のコピーを単純にコピーして並べて貼り付けるだけです。満足のいく結果が得られることはほとんどありません。まれなケースを除いて、タイルの間に継ぎ目ができ、画像が非常に繰り返しの多いものになります。
確率的テクスチャ合成
確率的テクスチャ合成法は、最小の明るさ、平均色、最大コントラストなどの基本パラメータのみの影響を受け、各ピクセルの色の値をランダムに選択して画像を生成します。これらのアルゴリズムは確率的テクスチャでのみ適切に機能しますが、それ以外の場合はサンプル画像内のあらゆる種類の構造を無視するため、まったく満足のいく結果が得られません。
単一目的の構造化テクスチャ合成
このファミリーのアルゴリズムは、出力画像を作成するために固定された手順を使用します。つまり、単一の種類の構造化テクスチャに限定されます。したがって、これらのアルゴリズムは、構造化テクスチャにのみ適用でき、非常に類似した構造を持つテクスチャにのみ適用できます。たとえば、単一目的のアルゴリズムは、石垣の高品質のテクスチャ画像を作成できますが、小石を示すサンプル画像が与えられた場合、アルゴリズムが実行可能な出力を生成する可能性はほとんどありません。
カオスモザイク
この方法は、インターネット グラフィックスの Microsoft グループによって提案されたもので、タイリングの改良版であり、次の 3 つの手順を実行します。
- 出力画像はタイリングによって完全に埋められます。その結果、継ぎ目が目に見える繰り返し画像になります。
- サンプルのランダムなサイズでランダムに選択された部分が、出力イメージにランダムにコピーされ、貼り付けられます。その結果、継ぎ目が目に見える、反復性のないイメージが生まれます。
- 出力画像はエッジを滑らかにするためにフィルタリングされます。
結果として、反復が多すぎず、アーティファクトが多すぎない、許容できるテクスチャ イメージが得られます。ただし、ステップ 3 のスムージングによって出力イメージがぼやけて見えるため、この方法は不十分です。
ピクセルベースのテクスチャ合成
マルコフ場、[3]ノンパラメトリックサンプリング、[4]ツリー構造ベクトル量子化[5]および画像アナロジー[6]を使用するこれらの方法は、最も単純で最も成功した一般的なテクスチャ合成アルゴリズムの一部です。通常、これらの方法は、合成テクスチャとして最も類似したローカル近傍のピクセルを見つけてコピーすることで、スキャンライン順にテクスチャを合成します。これらの方法は、画像補完に非常に役立ちます。画像アナロジーのように、多くの興味深いタスクを実行するように制約することができます。最適なピクセルを徹底的に検索するのはやや時間がかかるため、通常は何らかの形の近似最近傍法で高速化されます。合成は、非因果ノンパラメトリックマルチスケールマルコフランダムフィールドの使用などにより、マルチ解像度で実行することもできます。[7]

パッチベースのテクスチャ合成
パッチベースのテクスチャ合成は、クローンツールを使用して手動でテクスチャを合成するのと同様に、さまざまなオフセットでテクスチャをコピーしてつなぎ合わせることで新しいテクスチャを作成します。イメージキルティング[8]とグラフカットテクスチャ[9]は、最もよく知られているパッチベースのテクスチャ合成アルゴリズムです。これらのアルゴリズムは、ピクセルベースのテクスチャ合成方法よりも効果的で高速になる傾向があります。
ディープラーニングとニューラルネットワークのアプローチ
最近では、ディープラーニング 手法がテクスチャ合成に対する強力で高速、データ駆動型のパラメトリックアプローチであることが示されました。Leon Gatys氏[10]の研究は画期的な成果です。彼と共著者は、識別的に訓練されたディープニューラルネットワークのフィルターが効果的なパラメトリック画像記述子として使用でき、新しいテクスチャ合成方法につながることを示しました。
最近のもう一つの開発は、テクスチャ合成のための生成モデルの使用です。Spatial GAN [11]法は、テクスチャ合成のための完全な教師なしGAN の使用を初めて示しました。その後の研究[12]では、この方法がさらに拡張され、PSGAN は単一の画像または大規模な画像データセットから、周期的画像と非周期的画像の両方を教師なしで学習できるようになりました。さらに、ノイズ空間での柔軟なサンプリングにより、潜在的に無限の出力サイズの新しいテクスチャを作成し、それらの間をスムーズに遷移することができます。これにより、テクスチャ合成方法で作成できる画像の種類に関して、PSGAN がユニークなものになります。
実装
いくつかのテクスチャ合成実装は、無料の画像エディタGimpのプラグインとして存在します。
- テクスチャ化
- リシンセサイザー
ピクセルベースのテクスチャ合成の実装:
- 並列制御テクスチャ合成
パッチベースのテクスチャ合成:
- KUVA: Graphcutテクスチャ
Lasagne + Theano を使用して Python で実装された PSGAN によるディープ ジェネレーティブ テクスチャ合成:
- https://github.com/zalandoresearch/psgan
文学
この分野で最も古く、最も参照されている論文には以下のものがあります。
- Popat、1993年 - 「テクスチャ合成、分類、圧縮のための新しいクラスターベースの確率モデル」
- Heeger-Bergen、1995 年 - 「ピラミッド ベースのテクスチャ分析/合成」。
- 1998 年の Paget-Longstaff - 「非因果的ノンパラメトリック マルチスケール マルコフ ランダム フィールドによるテクスチャ合成」
- Efros-Leung、1999年 - 「ノンパラメトリック サンプリングによるテクスチャ合成」
- 2000 年の Wei-Levoy - 「ツリー構造のベクトル量子化を使用した高速テクスチャ合成」
このテーマについては、以前にも以下のような研究がありました。
- Gagalowicz と Song De Ma による 1986 年の「3D シーンの自然なテクスチャのモデル駆動合成」
- ルイス、1984年、「デジタルペインティングのためのテクスチャ合成」。
(後者のアルゴリズムは、カオスモザイクアプローチといくつかの類似点があります)。
Efros-Leung のノンパラメトリック サンプリング アプローチは、ほとんどの種類のテクスチャを簡単に合成できる最初のアプローチであり、コンピュータ グラフィックスの分野で文字通り何百もの後続の論文に影響を与えました。それ以来、テクスチャ合成の分野は、パーソナル コンピュータ用の 3D グラフィックス アクセラレータ カードの導入により急速に拡大しました。しかし、Efros によると、この手法のパッチ ベース バージョンを GPL コードとともに初めて公開したのは、1993 年の Scott Dravesでした。
参照
参考文献
- ^ 「SIGGRAPH 2007 の例に基づくテクスチャ合成コース」
- ^ 「ほぼ正規のテクスチャ分析と操作」Yanxi Liu、Wen-Chieh Lin、James Hays。SIGGRAPH 2004
- ^ 「非因果的ノンパラメトリックマルチスケールマルコフランダムフィールドによるテクスチャ合成」Paget および Longstaff、IEEE Trans. on Image Processing、1998 年
- ^ 「ノンパラメトリックサンプリングによるテクスチャ合成」Efros and Leung、ICCV、1999
- ^ 「ツリー構造ベクトル量子化を使用した高速テクスチャ合成」Wei および Levoy SIGGRAPH 2000
- ^ 「イメージの類似性」Hertzmann 他 SIGGRAPH 2001.
- ^ 「非因果的ノンパラメトリックマルチスケールマルコフランダムフィールドによるテクスチャ合成」Paget および Longstaff、IEEE Trans. on Image Processing、1998 年
- ^ 「イメージキルティング」エフロスとフリーマン。SIGGRAPH 2001
- ^ 「グラフカットテクスチャ: グラフカットを使用した画像とビデオの合成」Kwatra 他 SIGGRAPH 2003
- ^ Gatys, Leon A.; Ecker, Alexander S.; Bethge, Matthias (2015-05-27). 「畳み込みニューラルネットワークを使用したテクスチャ合成」. arXiv : 1505.07376 [cs.CV].
- ^ Jetchev, Nikolay; Bergmann, Urs; Vollgraf, Roland (2016-11-24). 「空間生成敵対ネットワークによるテクスチャ合成」. arXiv : 1611.08207 [cs.CV].
- ^ Bergmann, Urs; Jetchev, Nikolay; Vollgraf, Roland (2017-05-18). 「周期的空間GANによるテクスチャマニホールドの学習」. arXiv : 1705.06566 [cs.CV].
外部リンク
- テクスチャ合成
- テクスチャ合成
- テクスチャムービー合成
- テクスチャ2005
- 準規則テクスチャ合成
- テクスチャーラボ
- ノンパラメトリックテクスチャ合成
- 反応拡散テクスチャの例
- Efros & Leung のアルゴリズムの実装と例
- 位相ランダム化によるマイクロテクスチャ合成、コードとオンラインデモ付き
- テクスチャ合成のための周期的空間GANの実装
