PointNet②(Related Work 〜 Deep Learning on Point Sets )|3D Point CloudsとDeepLearning #7

f:id:lib-arts:20200310233133p:plain

[1912.12033] Deep Learning for 3D Point Clouds: A Survey

点群に対しての近年DeepLearningの導入について、#1〜#5では上記のSurveyを読み進めました。
https://lib-arts.hatenablog.com/entry/point_clouds_dl1
https://lib-arts.hatenablog.com/entry/point_clouds_dl2
https://lib-arts.hatenablog.com/entry/point_clouds_dl3
https://lib-arts.hatenablog.com/entry/point_clouds_dl4
https://lib-arts.hatenablog.com/entry/point_clouds_dl5
#6以降ではSurveyで確認した内容を踏まえて、論文の確認を行います。まず手始めとして、多くの項目において参照されていたPointNet[2016]について確認しています。
#6ではPointNetの論文のAbstractとIntroductionを確認し、概要についてつかみました。
https://lib-arts.hatenablog.com/entry/point_clouds_dl6
#7ではSection2のRelated WorkからSection4のDeep Learning on Point Setsまでを取り扱います。
以下目次になります。
1. Related Work(Section2)
2. Problem Statement(Section3)
3. Deep Learning on Point Sets(Section4)
4. まとめ


1. Related Work(Section2)
1節ではSection2のRelated Workについて取り扱います。Related Workはそれぞれ"Point Cloud Features"、"Deep Learning on 3D Data"、"Deep Learning on Unordered Sets"の三つが紹介されています。

f:id:lib-arts:20200311214504p:plain

まず1つ目の"Point Cloud Features"について確認します。上記では、多くの研究における点群の従来の特徴量は、特定のタスクに特化して構築されているとしています。いくつかの参照論文を分類すると局所特徴量(local features)と大域特徴量(global features)に分けられ、最適な特徴量の組み合わせ(optimal feature combination)を探すのは決して瑣末な問題ではないとしています。

f:id:lib-arts:20200311215326p:plain

f:id:lib-arts:20200311215345p:plain

次に2つ目の"Deep Learning on 3D Data"では、DeepLearningを用いた3D dataの取り扱いについてまとめられています。先駆的な(pioneers)研究としてColumetric CNNsが挙げられており、この手法ではvoxelを用いた3Dの畳み込みを行なっている一方で、このvoxelを用いたvolumetricな手法ではデータが疎(sparsity)である問題と3D畳み込みにかかるコストの問題による制約もあるとされています。それに対し、FPNNやVote3Dなどを始め様々な研究が提案されておりそれらについて紹介されていますが、最終文で特徴量抽出の表現力によって手法のポテンシャルが制約されていると考えるとされています。

f:id:lib-arts:20200311220216p:plain

3つ目の"Deep Learning on Unordered Sets"では、点群の特徴として、点に順番がない(unordered)ことが指摘されています。多くの系列を取り扱った音声や言語処理や、規則正しいグリッドで表現された形式である画像や動画などDeepLearningは順番がつけられたデータを取り扱うことが多かったとされています。したがって点群を取り扱う際には、それぞれの点の順番には意味がないということを意識しなければならないとここでは考えておくと良さそうです。


2. Problem Statement(Section3)
2節ではSection3のProblem Statementについて取り扱います。ここではタイトルにあるように、問題の定式化を行なっています。

f:id:lib-arts:20200311221044p:plain

第一パラグラフでは、DeepLearningのフレームワークを用いて点群(unordered point sets)を入力として直接取り扱う設計を行うにあたって、入力情報の定義を行なっています。それぞれの点を\{P_{i}|i=1,...,n\}と表現し、それぞれの点P_{i}に関して座標をベクトルの(x,y,z)と表現しています。点群には色などの情報もあるが、問題の単純化のために(x,y,z)で表した座標のみを入力として用いているとされています。

f:id:lib-arts:20200311221105p:plain

第二パラグラフでは、それぞれのタスクに対応した出力について記載されています。物体分類タスク(object classification task)では、画像分類タスクなどと同様に考えられうるkの分類クラスの候補に対応してk個のスコアを出力するとされています。また、意味的分割タスク(semantic segmentation)では、n個の点に対してm個の分類カテゴリをわりあてる場合は、n × mのスコアを出力するとされています。


3. Deep Learning on Point Sets(Section4)
3節ではSection4のDeep Learning on Point Setsについて取り扱います。モデル全体のニューラルネットワークの構造などについて解説しており、この論文で提案するモデルに関する主要な解説であると考えておくと良いと思います。

f:id:lib-arts:20200311222546p:plain

まず、冒頭部の記載では、Section4-2のネットワーク構造の記載はSection4-1の点の集合における性質(properties)に関連しているとしています。

f:id:lib-arts:20200311222602p:plain

Section4-1のProperties of Point Sets in \mathbb{R}^nの記載では、点群の入力は三つの主要な性質(property)から成り立つとされています。それぞれ、順序を持たない(Unordered)、点同士の関係性(Interaction among points)、変形による不変性(Invariance under transformations)が紹介されています。Unorderedは入力する点に順序の情報がないことで、N個の点群に対してN!通りの不変性を考慮しなければならないとされています。Interaction among pointsについては点がそれぞれ独立していないことについて記載されています。Invariance under transformationsは、回転(rotating)などの変換への不変性について記載されています。

f:id:lib-arts:20200311223406p:plain

f:id:lib-arts:20200311223445p:plain

Section4-2のPointNet Architectureでは、PointNetの全体の処理について記載されています。処理の全体像はFig2に可視化したとされています。また、3つの主要なモジュールがあるとされており、"Symmetry Function for Unordered Input"、"Local and Global Information Aggregation"、"Joint Alignment Network"についてそれぞれ後述されています。

f:id:lib-arts:20200311223730p:plain

Fig2では、PointNetのネットワーク構造について図示されています。n個の点を入力として取り、分類タスクでは、kクラス分類問題を解くにあたって、k個のスコアを出力するとしています。Segmentationを解くネットワークでは、分類問題用のネットワークの拡張とされており、図の二段目の処理がSegmentation Networkにあたるとされています。
以下、"Function for Unordered Input"、"Local and Global Information Aggregation"、"Joint Alignment Network"についてそれぞれ確認していきます。

f:id:lib-arts:20200311225653p:plain

"Function for Unordered Input"では、入力する点の情報をどのように取り扱うかについてのモジュールとされています。

f:id:lib-arts:20200311225949p:plain

様々な方法がある中、上記のようなSymmetric functionを用いたアプローチを採用しているとされています。

f:id:lib-arts:20200311230119p:plain

"Local and Global Information Aggregation"では、大域的な情報をどのように確認するかについて記載されています。解決策としては前述のFig2におけるSegmentation Networkで見ることができるとされています。

f:id:lib-arts:20200311230426p:plain
"Joint Alignment Network"では、変換による不変性を保つために、Joint Alignment Networkについて紹介しています。
Section4-3のTheoretical Analysisについては今回は省略します。


4. まとめ
#7ではPointNetの論文の、Section2のRelated WorkからSection4のDeep Learning on Point Setsまでを取り扱いました。
#8では引き続きPointNetの論文のSection5のExperimentについて確認していきます。