SampleNet: Differentiable Point Cloud Samplingを読んだのでメモ
はじめに
SampleNet: Differentiable Point Cloud Samplingを読んだのでメモ. Neural Netに組み込んでend-to-endで学習可能な点群のサンプリングを提案.
Method
全体の構造はFig. 3の通り. 課題として点の三次元入力から点をサンプリングする.
提案するSampleNetはを入力とし,PointNet構造でより小さい点群集合を生成する(これはサンプリングではなく生成). 生成されたと元の点群を使って,に対して尤もらしい点群を得るsoft projectionという演算からなる.
目的関数としては以下を最小化する.
はサンプリングとは関係のない,真に解きたい課題(分類やセグメンテーション)の損失,は生成された点群との距離,は前述のsoft projectionの損失を表す.
Simplify
点群から次を満たす部分集合を選び出すというのがここでのサンプリングの気持ち.
はあるタスクに対するモデルを表しており,はタスクの目的関数. 要は解きたい課題に対する損失を最小化する部分集合を見つけたいということ.
ここではPointNet構造のニューラルネットでの代わりに適当な部分集合を生成する. 尤もらしいを生成するため,まず次のneareest neighbor lossを定義する.
さらに,次のmaximal nearest neighbor lossを定義.
これらを使ってを次のように定義する.
これによりがという関係を満たすことを期待する. さらに,タスクに対する損失最小化の気持ちを入れるため,を生成するモデル(simplification network)は次の損失により学習される.
Project
はどうしても生成された点なのでからのサンプルになることはできないため,少しでもに近づけるため,soft projectionを行う.
やり方は非常に単純での各点に対しにおける nearest neighborを計算.それら nearest neighborの点群の線形和で新たな点を生成する. 重みは次のように計算する.
では学習可能な温度パラメータ(二乗は非負にするため). これは温度が0に近づけば,最近傍の点を選ぶことになるため,極限においてはの部分集合をサンプリングすることに等しい. そのため,soft projectionに関する損失はとなる.
まとめ
simplifyの部分は2019年のCVPRで提案されたものなので,本質的にはそっちの論文が重要.