カテゴリー: Today’s paper

複合オブジェクトのTemporally Coherent Sculpture.

今日読んだ論文は、 “Temporally Coherent Sculpture of Composite Objects” by Sampaio , Artur P.; Chaine , Raphaëlle; A.Vidal, Creto; Cavalcante-Neto, Joaquim B. です。

複合形状のスカルプティングについて

この研究は、以下のように、小さな部品を集めた集合体(CompEl)をリアルタイムにモデリング・変形するための手法を提案しています。

from Temporally Coherent Sculpture of Composite Objects page2

点描やtexture-bombing(テクスチャに回転や反転をかけてランダムに敷き詰める方法)などすでに小さな3Dオブジェクトの集合として表面を表現する手法はいくつか存在しています。しかし、これらは連続性を保って変形させるには、時間がかかりリアルタイムには向いていません。

研究の新規性

以下の技術を利用した、リアルタイムのCompElsのスカルプティングおよび視覚化

経験的な(物理的に正確ではない)描写

物体同士の物理的に正確な干渉を計算すると、複雑になりリアルタイムで計算するには時間がかかります。そこで、この手法では、経験的な(empirical) 描写を用いています。システムは、quasi-uniformメッシュという一様にサンプリングされたメッシュで表現された形状の、外側の層に注目します。変形した際に、メッシュ上のサンプリング点が増えれば、システムは、表面が引き伸ばされたことを検知して、新しいCompElを下の層から押し出して追加します。

quasi-uniformメッシュは、以下の閾値dとtで定義されます。
d: 2つのサンプリング点の最長距離です。点と点の距離が変形によりこの値より大きくなった場合は、エッジ分割などの処理が必要になります。
t: 2つのサンプリング点の最短距離です。この値より小さくなった場合は、エッジの崩壊などの処理が必要になります。
詳細は、 “Freestyle: Sculpting meshed with self-adaptive topology” を確認してください。

CompElsは、サンプル点に従ってメッシュの三角形上に配置されます(1対1ではありません)。それぞれのCompElは3つのパラメータを持ちます。重心の(割り当てられている三角形に対する相対的な)座標、 深さレベル、 (割り当てられている三角形に対する相対的な)回転角度の3つです。

深さレベルの制御による連続性

この研究では、視覚的な連続性が保たれています。CompElが新たに追加される際には、まず深い層で生成されて、その後内側から押し出されて表面に現れます(突然何もないところに出現するわけではありません)。また、余分なComElは、まず深い層に押し込まれ、その後削除されます。

エッジの修正に伴うCompElの移動

エッジ分割 Edge Split

エッジの長さが閾値dより長くなった場合、新たな頂点が追加され、エッジは分割されます。この場合、CompElの重心は動きませんが、割り当てられる三角形が変わるため、新たに重心が計算されます。

change of the ComEl’s barycenter in Edge split processing
© 2019 Nako

エッジの崩壊 Edge Collapse

エッジの長さが閾値tより短くなった場合、エッジ崩壊が起こります。対象のエッジとその両端が含まれている全ての面が以下のように再構成されます。そして、それぞれのCompElは新しくできた面に投影されることになります。

Edge collapse
© 2019 Nako

以下のようにとった点P, P’を用いて、元々別の三角形に割り当てられていたCompEl(青)が、新しくできた点(崩壊したエッジ上に位置するV’)を含む新しい三角形の中に含まれるよう割り当てられます。また、元々あったCompEl(赤)は移動します。

e.g.1 left side of deleted face
change of the ComEl’s barycenter in Edge collapse
© 2019 Nako
e.g. 2 right side of deleted face
© 2019 Nako

エッジ反転 Edge Flip

エッジ反転はエッジを削除したり分割することなく、点の長さを適切に保つための手法の1つです。

Edge flip
© 2019 Nako
Tchange of the ComEl’s barycenter in edge flip
© 2019 Nako

Topological genusの変更

Topological genusの変更は2つの環の頂点間結合によって行われ、頂点の座標は移動させずに距離を適切に保つよう頂点が再接続されます。※Topological(位相の) genus(種数)の適切な日本語訳が分からないためそのまま記載しました

レンダリングに関する技術

変動性 Variability

CompElsはインスタンスベースのモデリングによって表示されます。(つまりそれぞれのCompElが1つの元のオブジェクトのインスタンスとなっています)。異なるテクスチャを使用したり低周波のノイズを使用して、各インスタンスは視覚的に異なって見えるよう微妙に変化が与えられます。

from Temporally Coherent Sculpture of Composite Objects page8

背面CompElのカリング

もしグラフィックカードにバックフェースカリング(カメラに対して背面にある見えない面を描画しないこと)の機能がない場合には、CompElの重心に最も近い位置にあるメッシュの法線ベクトルの方向とバックフェースにある視線方向を比較して、裏面にあるCompElsをビューの範囲外に移動します。

CompEl squish

CompEl squish とは、CompEl同士の視覚的な重なりをなくすための方法です。CompElをある比率でキャンバスと垂直な方向に押しつぶすことで、CompElの厚みは小さくなり、見た目には重ならなくなります。

from Temporally Coherent Sculpture of Composite Objects page9

結果

結果の画像は元の論文に記載されています。

1枚の写真からそれらしい植物を合成する

今日の論文は、 “Single-picture reconstruction and rendering of trees for plausible vegetation synthesis” by Argudo, Oscar; Chica, Antonio; Andujar, Carlosです。

DTMによる植物合成

植物は、数値地形モデル (DTM; Digital Terrain Model)においてよく見られますが、モデリングするのに手間がかかります。
植物合成の効率化を図るために、L-システム、空間移民(space colonization)アルゴリズムなどの効率を改善するいくつかの手法があります。ただし、これらのアルゴリズムには、点群、複数の写真、多くのパラメータ設定などが必要です。

研究の新規性

この研究は、1枚の写真からもっともらしい木を再構成してレンダリングするパイプラインを提案しています。

写真からクラウンを再構築する方法

クラウンとは、木の葉の塊の部分。

  1. エンベロープメッシュ合成
  2. 色合成
  3. レリーフ合成
  4. 半径距離マップ
  5. 枝と葉の生成

1, エンベロープメッシュ合成

写真から、8連結で(8近傍を基準に)木のシルエットSを取得します。

z=0平面のシルエットの点(i, j, 0)の接線をf(i, j)に維持する。次に、クラウンのメッシュCを高さマップとして取得します。この制約を実現するために、シルエットのピクセルの外側に隣接するピクセルのセットとして定義します。(i’ j’)は(i, j)から最も近いピクセルへの射影です。

from Single-picture reconstruction and rendering of trees for plausible vegetation synthesis” by Argudo, Oscar; Chica Antonio; Andujar, Carlos.

クラウンCは、C内部の重調和方程式で定義された薄板エネルギーを最小化することによって決定されます。実際の計算では、unknown(x, y, z)のそれぞれが次の方程式によって計算されます。
行列Mは、bi-Laplacianフィルタです。

from Single-picture reconstruction and rendering of trees for plausible vegetation synthesis” by Argudo, Oscar; Chica Antonio; Andujar, Carlos.
Figure 4 from Single-picture reconstruction and rendering of trees for plausible vegetation synthesis” by Argudo, Oscar; Chica Antonio; Andujar, Carlos.

2, 色合成

写真から、Image texture tools(P. Harrison, 2005) のテクスチャ合成アルゴリズムを使用して、カラーマップを作成します。その後、合成されたテクスチャから キューブマップを 作成します。

3, レリーフ合成

次のステップは、写真の輝度からレリーフ(デプス)を推定することです。最初に、輝度を0~1の範囲に正規化します。次に、段階的に画像をぼかしたラプラシアンピラミッドを計算します。低いレベル(低周波数)の画像は重みが大きくなり、高いレベル(高周波数)の画像はレリーフに細部を追加するために使用されます。

Figure 6 from Single-picture reconstruction and rendering of trees for plausible vegetation synthesis” by Argudo, Oscar; Chica Antonio; Andujar, Carlos.

Cube map of the relief is generated from the cube map of color in this way.

このように、レリーフのキューブマップは、写真の色のキューブマップから生成されます。

Figure 5 from Single-picture reconstruction and rendering of trees for plausible vegetation synthesis” by Argudo, Oscar; Chica Antonio; Andujar, Carlos.

4, 半径距離マップ

クラウンの中心から表面までの距離を格納している半径距離マップ(RDM; radial distance map)を作成し、レリーフのキューブマップを投影することで値を設定して、凹凸をつけます。

5, 枝と葉の生成

枝は、クラウン内部の空間移民(space colonization)アルゴリズムによって作成されます。そして、葉は、簡略化のため板(billboard)の集合として表現されます。

レンダリング

木をレンダリングするには2つの方法があります。

  1. 遠くにある木のためのフラグメントベースのレリーフマッピング
  2. 近くにある木のためのRGBAテクスチャで描画された葉と枝を持つ板(billboard)の集まり

この手法によって出力されるレンダリング結果については、元の論文をご覧ください。

PointNet, 点群を扱うニューラルネットワーク

1日1本論文を読んで紹介しています。今日は、”PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation” by Charles R. Qi, Hao Su, Kaichun Mo, Leonidas J. Guibas.です。

PointNetとは?

PointNetは、点群(順序なし点集合) を扱うニューラルネットワークです。アーキテクチャはシンプルですが、物体の分類((Classification)、部品への分割(part segmentation)、意味的な分割(semantic segmentation)などで高いパフォーマンスを発揮します。

研究の新規性

典型的なCNNは、点群をボクセルなどのボリュームデータや画像を集めたデータに変換して学習・推定を行います。しかし、これらの表現ではサンプリングの過程で情報の欠損が起こります。この研究では、点群をそのまま入力として 受け取ります。入力は特別な順番のないN個の点の(x,y,z)座標です。

PointNetの応用範囲

PointNetは以下の3つのタスクに利用できます。

  • 物体の分類(Classification)
  • 部品への分割(Part Segmentation)
  • シーンの意味的な分割(Semantic Segmentation in Scene)
from PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation page1

アーキテクチャについて

全体像

下の図が全体像です。各ポイントのそれぞれが同じmlp(多層パーセプトロン, Multilayer perceptron)に入力され、最後にそれらがmax-poolingによって集約されて、特徴が抽出されます。

※max-pooling: 比較範囲の中で最大のもの1つを取り出すことによる近似で、この場合は各点の特徴ベクトルの要素を比較し、最大の値をglobal featureの値とします。

from PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation page3

対称関数

このモデルの出力は、入力される点の順番に対して不変である必要があります。そのため、対称関数(symmetric function)が使用されています。対称関数とは、引数(ここでは入力される点の座標)の順序によって出力が変化しないような関数です。このモデルでは、各点に対して同じmlpを適用し、最後に全ての点についてmax-poolingを行なっているため、点の入力の順序を変えたとしても同じ出力となります。

局所的な情報と全体的な情報の集約

点の分割を行うためには、局所的な特徴(隣り合う点同士の関係など)と全体的な特徴(全体の形状など)の双方が必要です。PointNet concatenateでは、得られた全体的な特徴(全点に対するmax-poolingの結果)を、各点の局所的な特徴と連結し、それを入力としてmlpによって特徴抽出を行い、分割の結果(n:各点×m:その点が属するクラスm の行列)を出力します。

変換に対する普遍性

意味的なラベリングを行う際には、形状に対して平行移動や回転などの変換を行なっても結果が不変となる必要があります。PointNetでは、アフィン変換行列をmini-network(T-Net)によって推定します。この推定された行列を形状にかけられることで、変換の影響を無くしています。このmini-networkもまた、特徴抽出、max-pooling、全結合からなるネットワークです。

※アフィン変換行列とは、回転、平行移動、拡大縮小、せん断などの変換で、1つの3×3行列で表現することができます。(表現方法によっては4×4行列ですがこのモデルでは3×3行列を使っているようです)

視覚化

この論文を見ると、形状の表現において有用な特徴を持つ点upper-bound shape(上階形状と訳すのが適切かは分かりません)を視覚化した画像が掲載されています。これを用いて、入力形状を重要な点だけを用いて入力形状の情報を要約することができます。

アセンブリモデリングのための弱教師ありComponent Suggestions

1日1本論文を読んで紹介しています。本日は “ComplementMe: Weakly-Supervised Component Suggestions for 3D Modeling” by Sung, Minhyuk; Su, Hao; Kim, Vladimir; Chaudhuri, Siddhartha; Guibas, Leonidas です。

assembly-based modelingとは?

モデリング手法の1つで、ユーザーが部品を組み合わせて完成形を作ります。例えば、椅子を作るときには、背もたれ、座面、足、手すりなどのパーツを組み合わせてモデリングします。

漸進的インタラクティブアセンブリベースモデリング(incremental interactive assembly-based modeling)では、ユーザは1つずつパーツを選択、モデルに追加していきます。 この手法を用いるシステムでは、ユーザに適切な部品を提案することが重要であり、そのためにパーツの検索(retrieval)と配置(placement)という2つの技術的な要素が必要になります。

問題は、この次の部品の提案のためにパーツをラベリングしたり、データセットを作るのに、かなりの時間と労力がかかるというところです。

そこでこの研究では、弱教師あり学習(学習データに完全なラベリングは不要)によって、モデリングに使用する部品を提案しています。

この研究の新規性

このシステムはRetrieval(検索)ネットワーク、Embedding(埋め込み)ネットワーク、Placement(配置)ネットワークから成り立っています。

Retrieval(検索)ネットワークは、現時点での部品の集合であるXを入力とし、そのモデルを補完する部品の候補であるYのそれぞれに対して確率分布を返します。この確率分布は重み付きガウス分布として表現され、分布に対する重み、分布の平均、分布の標準偏差が出力となります。
Embedding(埋め込み)ネットワークは、部品であるYを、より低次元のベクトルにマッピングする(embedding)ためのネットワークです。
Retrieval(検索)ネットワークとEmbedding(埋め込み)ネットワークは同時に学習されます。
Placement(配置)ネットワークというのは、追加される部品Yの3次元座標(平行移動のみで回転などは考慮しない) を出力するネットワークです。

これらのアーキテクチャは全て、PointNetという、順序なし3次元座標の集合から、kクラスのクラスタリングを行うネットワークを含んでいます。

PointNet from Sung, Minhyuk; Su, H. 2017.ComplementMe:
Weakly-Supervised Component Suggestions for 3D Modeling. p4

下の図においてφは重み、μはガウス分布の平均、σは標準偏差です。

Retrieval Network, Embedding Network from Sung, Minhyuk; Su, H. 2017.ComplementMe:
Weakly-Supervised Component Suggestions for 3D Modeling. p4
Placement Network from Sung, Minhyuk; Su, H. 2017.ComplementMe:
Weakly-Supervised Component Suggestions for 3D Modeling. p4

今後の課題

この研究における今後の課題は、大きな部品の影響が、小さくても重要な部品よりおおきくなってしまうことがあるとのことでした。これは、この手法が、点データを削減するため入力の表面上からランダムに点をサンプリングするために起こる問題です。結果として、不自然に部品が浮いたり、重なったりすることがありますが、人手で修正できるレベルのものではある、と書かれています。