【論文読み】Neural Implicit 3D Shapes from Single Images with Spatial Patterns

# 論文情報
この記事では、2021年にarXivに投稿された[Neural Implicit 3D Shapes from Single Images with Spatial Patterns](https://arxiv.org/abs/2106.03087)の概要をまとめる。
※ 本記事の画像は上記論文から引用したもの

GitHubのリンク：[https://github.com/yixin26/SVR-SP](https://github.com/yixin26/SVR-SP)


# 概要
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1590483/c62448e8-f8e4-f5be-21a5-15d6d335bd9d.png)

* １枚の入力画像から、基底形状の見えない領域を推論するための**空間パターン事前分布**を学習した３次元再構成手法の提案
  * 各点に対して特色のある特徴を適応的に抽出する空間パターン表現   
* 形状の空間パターンの普遍性により、基底形状の見えないパーツの推論とオクルージョンの問題を大きく軽減

# 研究背景
画像内で描かれた３次元形状の異なる３次元点がオクルージョンによって区別できない場合が存在する

例）レイにそって配置された３つの点（上図(a)）
* 同じ２次元位置に投影される→類似した画像特徴のみを用いて区別することが困難

# 手法
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1590483/77def2c8-dfaa-9cee-86d9-977bf4a78ac8.png)
**入力**：１枚の画像、３次元点 $p=(x,y,z)$
**出力**：各点pにおける符号付距離関数（SDF）

## 手法の流れ
* 点 $p$ のSDF値の予測：画像から取得された大域特徴・局所特徴と $p$ から直接推論された点の特徴の活用
* 調整された戦略によって選択された関連点の２次元投影から抽出された局所特徴を集約→ ３次元点の局所特徴を調整


## 空間パターンの定義
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1590483/6aca5f67-7ac9-e7b1-9bce-e182e6c33e9f.png)
* 入力点 $p$ が椅子の背もたれと座面の交点に位置する
* 点 $p$ の相対位置を黒点などの他の位置にある基準点によって記述可能
  * このような点ベースの表現を**空間パターン**と呼ぶ
  * この空間パターンを表面上と表面外の３次元点に対して作成する

**（Ⅰ）非一様サンプリング手法（大域空間パターン）**
* 入力点 $p$（紫）の正面、左側、側面の３次元点（黒）によって形成される
  * 入力形状を単位球に正規化、原点に中心を置く 
  * ３次元空間パターン：３次元点 $p=(x,y,z)$ を他の３次元位置に写像することで生成
    * 事前定義されている関数 $ \{T_i|i=1,...,n\}$ を使用・・・写像された点は $ \{p_i=T_i(p)|i=1,...,n\}$ として定義
    * $xy, yz, xz$ の平面に対して対称な変換を行う事で、大域空間パターンを定義
    * $p$ の対称な点を $p_1=(x,y,-z)$, $p_2=(x,-y,z)$, $p_3= (-x,y,z)$ によって計算
  * 入力形状がどの面に対しても対称である必要はない・・・直交する３つの平面からの対称変換によって、レイに沿った点とその対称点の２次元投影点を簡単に分割できる
* **効果**：見えない点および隠蔽された点の両方において２次元と３次元の明確な写像を構築可能

 
**（Ⅱ）一様サンプリング手法（局所空間パターン）**
* $p$ を中心とする立方体の角にある3次元点（黒）によって形成される
* 点 $p$ の局所領域内に作られた局所空間パターン→ 形状コレクションでの一貫した局所的な形状変化がないため、大域空間パターンと比較してブレがある

### 空間パターン生成器
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1590483/4df49387-e972-68cf-5e1a-08b60d54be9e.png)
**入力**：サンプリングされた点とその周囲のn個の近傍点から初期化されたパターン
**出力**：予測されたオフセットと初期パターンの和

MLPネットワークによって各周辺点のオフセットを予測する

## 損失関数
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1590483/93d89d62-b424-9a3a-2a15-c961b07e6ba0.png)
* [DISN](https://arxiv.org/abs/1905.10711)で定義された回帰損失を参考
* ３次元形状のコレクションをGTとして、画像 $I$ から生成された暗黙の場との損失を計算
  * $SDF^{I}$：GTの画像 $I$ に対応するSDF値
  * $\omega$：$SDF^{I}(p)<\delta$ の場合 $\omega_1$、それ以外の場合 $\omega_2$

# 実験
## データセット
* ShapeNet Core データセット
   * 13カテゴリ全てにおいて学習
   * 2048点をShapeNetの３次元モデルからサンプリング
   * 137*137の24枚の画像を[3D-R2N2](https://github.com/chrischoy/3D-R2N2)でレンダリング
* Pix3Dデータセット
   * 実画像データセットとしての利用
* SDFの表面がマーチングキューブアルゴリズムで計算される

## ベースライン
従来の単一視点画像からの３次元再構成手法
* 定量評価：AtlasNet, Pixel2Mesh, 3DN, ImNet, 3DCNN, OccNet, DISN, Ladybird
* 定性評価：Mesh R-CNN, OccNet, BSP, DISN, Ladybird

## 評価指標
Chamfer Distance（CD）, Earth Mover's Distance（EMD）, IoU

## 実験結果
### 定量評価
様々な手法との比較
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1590483/c9ef69dd-d303-4e1b-eb8d-1b887cce84ec.png)

異なる空間パターンを使用した場合の比較
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1590483/ac63824f-e87f-fb43-dc28-f21fdeb87f32.png)
* $ Ours_{uniform-6p}$：サンプリング点を中心とする立方体l上の６点
* $ Ours_{non-uniform-6p}$：xy, yz, xz平面に沿った形状空間の対称位置に6点を非一様にサンプリング
* $ Ours_{non-uniform-3p}$：xy, yz, xz平面に沿った形状空間の対称位置に3点を非一様にサンプリング

### 定性評価
ShapeNetでの実験
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1590483/95d5d142-8762-e5ba-e423-29590a3660e7.png)
Pix3Dでの実験
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1590483/25ba9e20-43e3-99b5-2eb3-9e5941981f26.png)
学習した空間パターンの可視化
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1590483/366246bc-552a-c230-1918-530b92be70a3.png)


# 新規性
* 単一視点画像からの３次元再構成のボトルネックになる、見えない領域の推論に空間パターンを活用
* 空間パターンにより、カテゴリ固有のパーツ構造を考慮した特徴抽出を行う