(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-16
(45)【発行日】2024-05-24
(54)【発明の名称】情報処理装置、プロブラムおよび情報処理方法
(51)【国際特許分類】
G06N 3/04 20230101AFI20240517BHJP
G06N 20/10 20190101ALI20240517BHJP
【FI】
G06N3/04
G06N20/10
(21)【出願番号】P 2020102504
(22)【出願日】2020-06-12
【審査請求日】2023-03-29
(73)【特許権者】
【識別番号】502324066
【氏名又は名称】株式会社デンソーアイティーラボラトリ
(74)【代理人】
【識別番号】100113549
【氏名又は名称】鈴木 守
(74)【代理人】
【識別番号】100115808
【氏名又は名称】加藤 真司
(72)【発明者】
【氏名】鈴木 哲平
(72)【発明者】
【氏名】関川 雄介
(72)【発明者】
【氏名】小澤 圭右
【審査官】真木 健彦
(56)【参考文献】
【文献】特開2019-159940(JP,A)
【文献】特開2009-098713(JP,A)
【文献】国際公開第2019/060125(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/04
G06N 3/00
G06N 20/10
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
点群データの分析を行う装置であって、
前記点群データを入力する入力部と、
複数のガウシアンカーネルを用いて前記点群データを高次元写像して、前記点群データの局所特徴ベクトルを求める高次元写像化部と、
前記点群データの局所特徴ベクトルを対称関数に適用して、前記点群データの全体特徴ベクトルを求める全体特徴算出部と、
前記全体特徴ベクトルをニューラルネットワークに適用して前記点群データの分析を行う分析部と、
を備え
、
前記分析部は、前記全体特徴ベクトルと前記局所特徴ベクトルを連結した連結特徴ベクトルをニューラルネットワークに適用して、前記点群データのセグメンテーションを行う情報処理装置。
【請求項2】
前記高次元写像化部は、ガウシアンカーネルとして混合ガウシアンカーネルを用いる請求項1に記載の情報処理装置。
【請求項3】
点群データの分析を行うためのプログラムであって、コンピュータに、
前記点群データを入力するステップと、
複数のガウシアンカーネルを用いて前記点群データを高次元写像して、前記点群データの局所特徴ベクトルを求めるステップと、
前記点群データの局所特徴ベクトルを対称関数に適用して、前記点群データの全体特徴ベクトルを求めるステップと、
前記全体特徴ベクトルをニューラルネットワークに適用して前記点群データの分析を行うステップと、
を実行させ
、
前記点群データの分析を行うステップでは、前記全体特徴ベクトルと前記局所特徴ベクトルを連結した連結特徴ベクトルをニューラルネットワークに適用して、前記点群データのセグメンテーションを行うプログラム。
【請求項4】
前記局所特徴ベクトルを求めるステップでは、ガウシアンカーネルとして混合ガウシアンカーネルを用いる請求項
3に記載のプログラム。
【請求項5】
情報処理装置によって点群データの分析を行う方法であって、
前記情報処理装置が前記点群データの入力を受け付けるステップと、
前記情報処理装置が複数のガウシアンカーネルを用いて前記点群データを高次元写像して、前記点群データの局所特徴ベクトルを求めるステップと、
前記情報処理装置が前記点群データの局所特徴ベクトルを対称関数に適用して、前記点群データの全体特徴ベクトルを求めるステップと、
前記情報処理装置が前記全体特徴ベクトルをニューラルネットワークに適用して前記点群データの分析を行うステップと、
を備え
、
前記点群データの分析を行うステップでは、前記全体特徴ベクトルと前記局所特徴ベクトルを連結した連結特徴ベクトルをニューラルネットワークに適用して、前記点群データのセグメンテーションを行う情報処理方法。
【請求項6】
前記局所特徴ベクトルを求めるステップでは、ガウシアンカーネルとして混合ガウシアンカーネルを用いる請求項5に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、点群データの分析を行う情報処理技術に関する。
【背景技術】
【0002】
自動運転システムや自己位置推定と地図作成の同時実行(SLAM)などのロボット工学アプリケーションを開発する場合、LiDARはシーン内の点群を含む3Dジオメトリをキャプチャするのに役立つセンサーであり、点群をリアルタイムで処理する方法がしばしば必要になる。LiDARは毎秒100万のオーダーの点群をキャプチャするが、点群には非構造化および点群の順序のあいまいさなどの扱いにくさがある。
【0003】
ニューラルネットワークは、点群認識タスクの顕著な結果を示す。ニューラルネットワークに基づくいくつかの方法では、点群をボクセルやメッシュなどの扱いやすい表現に変換する。ただし、これらの表現は情報の損失を引き起こすか、大量のメモリを必要とする。
【0004】
点群の順序によらず結果が不変であることを満たすための点群処理方法が提案されており、それらは情報の損失を回避することができる。この方法は、大きく2つのタイプに分けられる。1つは点ごとの埋め込みに基づいており、もう1つはグラフ畳込みに基づいている。通常、グラフ畳込みは局所形状をキャプチャできるため、グラフ畳込みは、点ごとの埋め込み方法よりも優れたパフォーマンスを実現する。ただし、点群のグラフ畳込みでは、K近傍法と畳込みのためのランダムメモリアクセスが必要なため、処理時間を要する。
【0005】
PointNetは、点ごとの埋込み方式の先駆的な研究であり(非特許文献1)、最新のGPUで毎秒100万ポイントを処理できる。
【先行技術文献】
【非特許文献】
【0006】
【文献】Charles R Qi, Hao Su, Kaichun Mo, and Leonidas J Guibas.「Pointnet: Deep learning on point sets for 3D classification and segmentation.」Proc. Computer Vision and Pattern Recognition (CVPR), IEEE, 2017
【発明の概要】
【発明が解決しようとする課題】
【0007】
PointNetは、点群データを高速に処理することができるが、高度なLiDARセンサーは毎秒400万ポイント以上を取得するため、PointNetは依然として低速である。ポイントボクセルCNN(PVCNN)は、スピードアップとパフォーマンスの向上に取り組み、PointNetの2倍のスピードとわずかに向上したパフォーマンスを実現したが、より高速な方法を開発することは、高度なセンサデータのリアルタイム処理にとって依然として重要である。
【0008】
本発明は、上記背景に鑑み、計算処理コストを軽減した点群処理の技術を提供することを目的とする。
【課題を解決するための手段】
【0009】
本発明の情報処理装置は、点群データの分析を行う装置であって、前記点群データを入力する入力部と、複数のガウシアンカーネルを用いて前記点群データを高次元写像して、前記点群データの局所特徴ベクトルを求める高次元写像化部と、前記点群データの局所特徴ベクトルを対称関数に適用して、前記点群データの全体特徴ベクトルを求める全体特徴算出部と、前記全体特徴ベクトルをニューラルネットワークに適用して前記点群データの分析を行う分析部とを備える。このようにガウシアンカーネルを用いることにより、高次元写像化に多層パーセプトロンを用いる場合に比べて計算すべきパラメータを減らし、計算コストを軽減することができる。
【0010】
本発明の情報処理装置において、前記高次元写像化部は、ガウシアンカーネルとして混合ガウシアンカーネルを用いてもよい。このように混合ガウシアンカーネルを用いることにより、指示関数としての形状の自由度を高めることができる。
【0011】
本発明の情報処理装置において、前記分析部は、前記全体特徴ベクトルと前記局所特徴ベクトルを連結した連結特徴ベクトルをニューラルネットワークに適用して、前記点群データのセグメンテーションを行ってもよい。
【0012】
本発明の情報処理装置は、前記点群データをボクセル化するボクセル化部と、ボクセル化したボクセルデータをニューラルネットワークに適用し、各ボクセルの特徴ベクトルを求めるボクセル特徴ベクトル算出部とを備え、前記分析部は、前記全体特徴ベクトルと前記ボクセルの特徴ベクトルを連結した連結特徴ベクトルをニューラルネットワークに適用して、前記点群データのセグメンテーションを行ってもよい。
【0013】
本発明のプログラムは、点群データの分析を行うためのプログラムであって、コンピュータに、前記点群データを入力するステップと、複数のガウシアンカーネルを用いて前記点群データを高次元写像して、前記点群データの局所特徴ベクトルを求めるステップと、前記点群データの局所特徴ベクトルを対称関数に適用して、前記点群データの全体特徴ベクトルを求めるステップと、前記全体特徴ベクトルをニューラルネットワークに適用して前記点群データの分析を行うステップとを実行させる。
【0014】
本発明のプログラムは、前記局所特徴ベクトルを求めるステップでは、ガウシアンカーネルとして混合ガウシアンカーネルを用いてもよい。
【0015】
本発明のプログラムは、前記点群データの分析を行うステップでは、前記全体特徴ベクトルと前記局所特徴ベクトルを連結した連結特徴ベクトルをニューラルネットワークに適用して、前記点群データのセグメンテーションを行ってもよい。
【0016】
本発明のプログラムは、前記点群データをボクセル化するステップと、ボクセル化したボクセルデータをニューラルネットワークに適用し、各ボクセルの特徴ベクトルを求めるステップとを実行させ、前記点群データの分析を行うステップでは、前記全体特徴ベクトルと前記ボクセルの特徴ベクトルを連結した連結特徴ベクトルをニューラルネットワークに適用して、前記点群データのセグメンテーションを行ってもよい。
【0017】
本発明の情報処理方法は、情報処理装置によって点群データの分析を行う方法であって、前記情報処理装置が前記点群データの入力を受け付けるステップと、前記情報処理装置が複数のガウシアンカーネルを用いて前記点群データを高次元写像して、前記点群データの局所特徴ベクトルを求めるステップと、前記情報処理装置が前記点群データの局所特徴ベクトルを対称関数に適用して、前記点群データの全体特徴ベクトルを求めるステップと、前記情報処理装置が前記全体特徴ベクトルをニューラルネットワークに適用して前記点群データの分析を行うステップとを備える。
【発明の効果】
【0018】
本発明によれば、点群データの分析の計算コストを低減することができる。
【図面の簡単な説明】
【0019】
【
図1】実施の形態の情報処理装置の構成を示す図である。
【
図2】情報処理装置で用いられるアーキテクチャの概要を示す図である。
【
図3】第1の実施の形態の情報処理装置で用いられるアーキテクチャを示す図である。
【
図4】第2の実施の形態の情報処理装置で用いられるアーキテクチャを示す図である。
【
図5】第3の実施の形態の情報処理装置で用いられるアーキテクチャを示す図である。
【
図6】第4の実施の形態の情報処理装置で用いられるアーキテクチャを示す図である。
【
図7】第5の実施の形態の情報処理装置で用いられるアーキテクチャを示す図である。
【発明を実施するための形態】
【0020】
以下、本発明の実施の形態の情報処理装置、情報処理方法およびプログラムについて、図面を参照しながら説明する。
図1は、実施の形態の情報処理装置1の構成を示す図である。情報処理装置1は、入力部10と、演算処理部11と、記憶部12と、出力部13とを有している。入力部10は、点群データを情報処理装置1に入力する機能を有し、例えば、通信インターフェースや、ユーザからの指示を入力するキーボードやマウス等である。演算処理部11は、点群データの分析処理を行う機能を有し、例えば、CPUである。演算処理部11は、例えばROM等の記憶部12から読み出したプログラムを実行することにより演算処理を行う。出力部13は、演算処理部11によって処理した結果等を出力する機能を有し、例えば、ディスプレイ、出力インターフェース、通信インターフェース等である。
【0021】
図2は、情報処理装置1にて行う処理を記載したアーキテクチャの概要を示す図である。上段は、入力された点群データが何であるかを分類する処理を行うアーキテクチャであり、下段は、上段で求めた全体特徴ベクトルを用いて、点群データのセグメンテーション(パーツセグメンテーション、セマンティックセグメンテーションの両方を含む)を行うアーキテクチャである。
【0022】
情報処理装置1に、点群データ(x
1,・・・x
N)が入力される。各点x
n(n=1,・・・N)は、少なくとも空間内における3次元座標のデータを有しており、その他の局所的あるいはグローバルな特徴のデータを有してもよい。
図2では、一般的にM次元のデータとして表現している。
【0023】
情報処理装置1は、点群データ(x
1,・・・x
N)が入力されると、入力された各点のデータをK個のガウシアンカーネルφ
k(k=1,・・・K)を用いて高次元写像化する。ここで、ガウシアンカーネルφ
kは次式で表される。次式において、μ
kは平均ベクトルを示し、Σ
kは逆分散行列を示している。平均ベクトルμ
kと逆分散行列Σ
kは、学習によって更新されるパラメータである。
【数1】
このガウシアンカーネルが、高次元写像化部に相当する。
【0024】
情報処理装置1は、ガウシアンカーネルφkで表した変数に対して、対称関数であるmax poolingを行うことで、点群データの全体特徴ベクトルを求める。具体的には、情報処理装置1は、各ガウシアンカーネルφk(k=1,・・・K)について、max{φk(x1),・・,φk(xN)}を求める。この対称関数を適用する構成が、全体特徴算出部に相当する。
【0025】
全体特徴ベクトルは、点群の順序によらない特徴ベクトルである。情報処理装置1は、全体特徴ベクトルにニューラルネットワークを適用することにより、全体特徴ベクトルが表すオブジェクトを分類する。複数のクラスのそれぞれについてスコアが求められ、スコアに基づいて点群データのクラスを決定する。
図2に示す例では、「テーブル」のクラスのスコアが最も高く、入力された点群データは「テーブル」に分類される。
【0026】
次に、セグメンテーションの処理について説明する。セグメンテーションを行う場合にも、上記した分類の処理で行ったのと同様にして、点群データの全体特徴ベクトルを求める。その一方で、入力された点群データからN×K´次元の局所特徴ベクトルを求める。以下に説明する実施の形態では、局所特徴ベクトルを求める方法として、ガウシアンカーネルを用いる方法と三次元畳込みニューラルネットワーク(Volumetric CNN)を用いる方法を例示しているが、局所特徴ベクトルを求める方法はこれらに限定されるものではない。
【0027】
情報処理装置1は、N×K´次元の局所特徴ベクトルに対して、1×K次元の全体特徴ベクトルをN回繰り返して連結する。情報処理装置1は、連結して得られたN×(K+K´)次元の特徴ベクトルに、ニューラルネットワークのニューラルネットワークを適用することにより、点群データの各点が属するクラスを求め、点群データのセグメンテーションを行う。点群データの全体特徴ベクトルおよび局所特徴ベクトルを用いて、分類処理やセグメンテーション処理を行う構成が分析部に相当する。以上、本実施の形態の情報処理装置1で用いられるアーキテクチャの概要について説明した。
【0028】
以下、実施の形態の情報処理装置について詳しく説明する。第1の実施の形態では、点群データの分類を行う情報処理装置について説明し、第2の実施の形態及び第3の実施の形態では、点群データに含まれるパーツのセグメンテーションを行う情報処理装置について説明し、第4の実施の形態及び第5の実施の形態では、点群データのセマンティックセグメンテーションを行う情報処理装置について説明する。
【0029】
(第1の実施の形態)
図3は、第1の実施の形態の情報処理装置で用いられるアーキテクチャを示す図である。第1の実施の形態の情報処理装置は、(x,y,z)の座標値を有する点群データ(すなわち、N×3次元の点群データ)の入力を受け付け、入力された点群データが示すオブジェクトを40のクラスのうちのいずれかに分類する処理を行う。
【0030】
第1の実施の形態の情報処理装置は、入力されたN×3次元の点群データを1024個のガウシアンカーネルφk(k=1,・・・,1024)を用いて高次元写像する。これにより、N×1024次元の局所特徴ベクトルが得られる。
【0031】
第1の実施の形態の情報処理装置で用いられるアーキテクチャは、N×1024次元の局所特徴ベクトルに対してmax poolingを行って、1×1024次元の全体特徴ベクトルを求め、全体特徴ベクトルをニューラルネットワークに適用して点群データの分類を行う。ここで用いるニューラルネットワークは、3層からなる多層パーセプトロンであり、各層の入出力の次元数は、それぞれ、1024次元と512次元、512次元と256次元、256次元と40次元である。全体特徴ベクトルをこのニューラルネットワークに適用することにより、40個のクラスのそれぞれに対するスコアが求められる。スコアの最も高かったクラスが、点群データに含まれるオブジェクトのクラスであると特定される。
【0032】
次に、
図3に示すアーキテクチャの学習について説明する。ガウシアンカーネルφ
kの平均ベクトルμ
kと逆分散行列Σ
kが学習によって更新されるパラメータであることを説明した。ガウシアンカーネルφ
kのパラメータに加え、全体特徴ベクトルを適用するニューラルネットワークの重み付けのパラメータも学習対象である。本実施の形態では、ガウシアンカーネルのパラメータとニューラルネットワークのパラメータをエンドツーエンド学習(End-to-End training)によって学習する。すなわち、点群データとその点群データの正解のクラスとを教師データとし、点群データを入力したときに求められる各クラスのスコアと正解のクラスのスコアとの差分に基づいて、誤差逆伝播法によって各パラメータの学習を行う。
【0033】
本実施の形態では、誤差逆伝播法によるエンドツーエンド学習ができるように、ガウシアンカーネルの逆分散行列Σ
kの半正定値性を保証する。具体的には、逆分散行列Σ
kをコレスキー分解する。ここで、Lは、三角行列である。
【数2】
【0034】
本実施の形態では、逆分散行列Σkの学習は、三角行列Lを学習することによって行う。本実施の形態では、逆分散行列Σkをコレスキー分解することにより、ガウシアンカーネルの逆分散行列Σkで取り扱うべきパラメータ数は、M2からM(M+1)/2になり、ガウシアンカーネルのパラメータ数は、K(M(M+1)/2+M)となる。なお、判正定値性を保証するために逆分散行列Σkをコレスキー分解するのは、以下に説明する実施の形態でも同じである。
【0035】
以上、第1の実施の形態の情報処理装置について説明した。第1の実施の形態の情報処理装置では、点群データの高次元写像化にガウシアンカーネルを用いたが、ガウシアンカーネルに代えて、次式に示す混合ガウシアンカーネルを用いてもよい。次式において、α
kは、複数のガウシアンカーネルのそれぞれに乗じる混合係数であり、学習対象のパラメータである。なお、本実施の形態では、α
kの総和は1とする。Lは、混合するガウシアンカーネルの個数であり、ハイパーパラメータである。
【数3】
【0036】
このように混合ガウシアンカーネルを用いることにより、ガウシアンカーネルを用いた場合よりも高次元写像によって生成する局所特徴ベクトルの表現力を高めることができる。
【0037】
(第2の実施の形態)
図4は、第2の実施の形態の情報処理装置のアーキテクチャを示す図である。第2の実施の形態の情報処理装置は、(x,y,z)の座標値を有する点群データ(すなわち、N×3次元の点群データ)の入力を受け付け、入力された点群データのパーツセグメンテーションを行う。本実施の形態では、50のパーツに関連付けられた16のカテゴリにセグメンテーションする。パーツセグメンテーションは、点群データのN個の各点を50のパーツのいずれかに分類することにより行う。
【0038】
第2の実施の形態の情報処理装置は、N×3の点群データに加えて、N×16のカテゴリラベルの入力を受け付ける。入力するカテゴリラベルは、N×3の点群データに対して、別途、カテゴリ分類用のモデルを使って推論をした結果を用いる。
【0039】
第2の実施の形態の情報処理装置は、入力されたN×3次元の点群データを2048個のガウシアンカーネルφk(k=1,・・・,2048)を用いて高次元写像し、N×2048次元の局所特徴ベクトルを得る。続いて、N×2048次元の局所特徴ベクトルに対してmax poolingを行って、1×2048次元の全体特徴ベクトルを求める。
【0040】
また、第2の実施の形態の情報処理装置は、832個の第2のガウシアンカーネルφk´(k´=1,・・・,832)を用いて入力された点群データを高次元写像し、N×832次元の局所特徴ベクトルを得る。
【0041】
情報処理装置は、入力されたN×16次元のカテゴリのラベルと、上記で求めた2つの局所特徴ベクトルとを連結し、さらに、全体特徴ベクトルをN回繰り返し連結することにより、N×4944次元の連結特徴ベクトルを生成する。情報処理装置は、生成した連結特徴ベクトルをニューラルネットワークに適用して点群データのセグメンテーションを行う。ここで用いるニューラルネットワークは、4層からなる多層パーセプトロンであり、各層の入出力の次元数はそれぞれ、4944次元と256次元、256次元と256次元、256次元と128次元、128次元と50次元である。このニューラルネットワークに連結特徴ベクトルを適用することにより、点群データの各点xnについて、50個のパーツのそれぞれに対するスコアが求められる。各点xnは、スコアの最も高かったパーツに分類される。情報処理装置は、各点のパーツの情報に基づいてクラスタリングを行うことで、点群データをパーツに分類する。
【0042】
第2の実施の形態の情報処理装置において、学習対象のパラメータは、ガウシアンカーネルφk及び第2のガウシアンカーネルφk´のパラメータと、連結特徴ベクトルを適用するニューラルネットワークの重み付けのパラメータである。第2の実施の形態では、これらのパラメータをエンドツーエンド学習(End-to-End training)によって学習する。すなわち、点群データとその点群データの正解のクラスとを教師データとし、点群データを入力したときに求められる各パーツのスコアと正解のパーツのスコアとの差分に基づいて、誤差逆伝播法によって各パラメータの学習を行う。
【0043】
(第3の実施の形態)
図5は、第3の実施の形態の情報処理装置のアーキテクチャを示す図である。第3の実施の形態の情報処理装置は、(x,y,z)の座標値を有する点群データ(すなわち、N×3次元の点群データ)の入力を受け付け、入力された点群データのパーツセグメンテーションを行う。本実施の形態では、50のパーツに関連付けられた16のカテゴリにセグメンテーションする。パーツセグメンテーションは、N個の各点を50のパーツのいずれかに分類することにより行う。最初に概要を述べると、第3の実施の形態の情報処理装置は、第2の実施の形態の情報処理装置において用いられていた第2のガウシアンカーネルに代えて、点群データの3次元畳込みを行って局所特徴ベクトルを求める。
【0044】
第3の実施の形態の情報処理装置のアーキテクチャは、N×3の点群データに加えて、N×16のカテゴリラベルの入力を受け付ける。入力するカテゴリラベルは、N×3の点群データに対して、別途、カテゴリ分類用のモデルを使って推論をした結果を用いる。
【0045】
第3の実施の形態の情報処理装置は、512個のガウシアンカーネルφk(k=1,・・・,512)を用いて入力されたN×3次元の点群データを高次元写像し、N×512次元の局所特徴ベクトルを得る。続いて、N×512次元の局所特徴ベクトルに対してmax poolingを行って、1×512次元の全体特徴ベクトルを求める。
【0046】
また、第3の実施の形態の情報処理装置は、入力された点群データをボクセル化する。具体的には、点群データを(32×32×32)×3次元のボクセルデータに変換する。(32×32×32)次元はボクセルの位置であり、3次元はボクセル内に存在する点群データの特徴ベクトル、すなわち、ボクセル内に存在する点群データのxyz座標値のそれぞれの平均値である。次に、情報処理装置は、このボクセルデータに対して畳み込み演算を行い、32×32×32×16次元の局所特徴ベクトル、16×16×16×32次元の局所特徴ベクトル、16×16×16×32次元の局所特徴ベクトル、16×16×16×128次元の局所特徴ベクトルを得る。続いて、得られた局所特徴ベクトルを逆ボクセル化して、元の座標系における位置情報を回復した局所特徴ベクトルを得る。
【0047】
情報処理装置は、入力されたN×16次元のカテゴリのラベルと、ガウシアンカーネルを用いて求めた局所特徴ベクトルを連結し、さらに、全体特徴ベクトルをN回繰り返し連結する。さらに、情報処理装置は、3次元畳込みと逆ボクセル化によって求めた局所特徴ベクトルを連結し、N×1248次元の連結特徴ベクトルを生成する。
【0048】
情報処理装置は、生成した連結特徴ベクトルをニューラルネットワークに適用して点群データのセグメンテーションを行う。ここで用いるニューラルネットワークは、4層からなる多層パーセプトロンであり、各層の入出力の次元数は、それぞれ、1248次元と64次元、64次元と64次元、64次元と32次元、32次元と50次元である。このニューラルネットワークに連結特徴ベクトルを適用することにより、点群データの各点xnについて、50個のパーツのそれぞれに対するスコアが求められる。各点xnは、スコアの最も高かったパーツに分類される。情報処理装置は、各点のパーツの情報に基づいてクラスタリングを行うことで、点群データをパーツに分類する。
【0049】
第3の実施の形態の情報処理装置において、学習対象のパラメータは、ガウシアンカーネルφkのパラメータと、連結特徴ベクトルを適用するニューラルネットワークの重み付けのパラメータと、ボクセル化した点群データに対して3次元畳込みを行うニューラルネットワークのパラメータである。第3の実施の形態では、これらのパラメータをエンドツーエンド学習(End-to-End training)によって学習する。すなわち、点群データとその点群データの正解のクラスとを教師データとし、点群データを入力したときに求められる各パーツのスコアと正解のパーツのスコアとの差分に基づいて、誤差逆伝播法によって各パラメータの学習を行う。
【0050】
(第4の実施の形態)
図6は、第4の実施の形態の情報処理装置のアーキテクチャを示す図である。第4の実施の形態の情報処理装置は、入力された点群データのセマンティックセグメンテーションを行う装置である。本実施の形態では、点群データを13のカテゴリ(椅子、テーブル、床、壁等、およびノイズ)にセグメンテーションする。セマンティックセグメンテーションは、点群データのN個の各点をカテゴリに分類することにより行う。
【0051】
情報処理装置は、点群データの入力を受け付ける。本実施の形態において、情報処理装置に入力される点群データは、9次元のデータを有する。具体的には、各点の(x,y,z)座標とRGBの情報に加え、所定の領域において正規化された座標系における位置のデータを有している。この点群データのパラメータは、非特許文献1において、セマンティックセグメンテーションの実験で用いている点群データのパラメータと同じである。
【0052】
第4の実施の形態の情報処理装置は、入力されたN×9次元の点群データを1024個のガウシアンカーネルφk(k=1,・・・,1024)を用いて高次元写像し、N×1024次元の局所特徴ベクトルを得る。続いて、N×1024次元の局所特徴ベクトルに対してmax poolingを行って、1×1024次元の全体特徴ベクトルを求める。情報処理装置は、全体特徴ベクトルをニューラルネットワークに適用して低次元化する。ここで用いるニューラルネットワークは、2層からなる多層パーセプトロンであり、各層の入出力の次元数は、それぞれ、1248次元と256次元、256次元と128次元である。
【0053】
情報処理装置は、局所特徴ベクトルに対して、低次元化された全体特徴ベクトルを繰り返し連結して、N×1152次元の連結特徴ベクトルを生成し、連結特徴ベクトルをニューラルネットワークに適用して点群データのセグメンテーションを行う。ここで用いるニューラルネットワークは、3層からなる多層パーセプトロンであり、各層の入出力の次元数は、それぞれ、1152次元と512次元、512次元と256次元、256次元と13次元である。このニューラルネットワークに連結特徴ベクトルを適用することにより、点群データの各点xnについて、13カテゴリのそれぞれに対するスコアが求められる。各点xnは、スコアの最も高かったカテゴリに分類される。
【0054】
第4の実施の形態の情報処理装置において、学習対象のパラメータは、ガウシアンカーネルφkのパラメータと全体特徴ベクトルを適用するニューラルネットワークと連結特徴ベクトルを適用するニューラルネットワークの重み付けのパラメータである。第4の実施の形態では、これらのパラメータをエンドツーエンド学習(End-to-End training)によって学習する。すなわち、点群データとその点群データの正解のクラスとを教師データとし、点群データを入力したときに求められる各カテゴリのスコアと正解のカテゴリのスコアとの差分に基づいて、誤差逆伝播法によって各パラメータの学習を行う。
【0055】
本実施の形態では、N×9次元の点群データを入力する例について説明したが、入力される点群データは、第1~第3の実施の形態と同様に、N×3次元のデータであってもよいし、また、(x,y,z)座標値に加えて、RGBのデータを有するN×6次元のデータでもよい。これらの点群データに対しても、ここで説明したのと同様に、セマンティックセグメンテーションを行える。
【0056】
(第5の実施の形態)
図7は、第5の実施の形態の情報処理装置のアーキテクチャを示す図である。第5の実施の形態の情報処理装置は、入力された点群データのセマンティックセグメンテーションを行う装置である。本実施の形態では、点群データを13のカテゴリ(椅子、テーブル、床、壁等、およびノイズ)にセグメンテーションする。セマンティックセグメンテーションは、点群データのN個の各点をカテゴリに分類することにより行う。入力される点群データは、第4の実施の形態の情報処理装置の場合と同じである。
【0057】
第5の実施の形態の情報処理装置は、入力されたN×3次元の点群データを128個のガウシアンカーネルφk(k=1,・・・,128)を用いて高次元写像し、N×128次元の局所特徴ベクトルを得る。続いて、N×128次元の局所特徴ベクトルに対してmax poolingを行って、1×128次元の全体特徴ベクトルを求める。全体特徴ベクトルをニューラルネットワークに適用し、低次元化する。ここで、用いるニューラルネットワークは、3層からなる多層パーセプトロンであり、各層の入出力の次元数は、それぞれ、128次元と32次元、32次元と16次元である。
【0058】
また、第5の実施の形態の情報処理装置は、入力された点群データをボクセル化する。具体的には、情報処理装置は、点群データを32×32×32×3次元のボクセルデータに変換する。次に、このボクセルデータに対して3次元畳込み演算を行い、32×32×32×8次元の局所特徴ベクトル、16×16×16×8次元の局所特徴ベクトル、16×16×16×8次元の局所特徴ベクトル、16×16×16×16次元の局所特徴ベクトルを得る。続いて、得られた局所特徴ベクトルを逆ボクセル化して、元の座標系における位置情報を回復したN個の局所特徴ベクトルを得る。
【0059】
情報処理装置は、局所特徴ベクトルに、低次元化した全体特徴ベクトルを繰り返し連結し、さらに、3次元畳込み及び逆ボクセル化によって求めた局所特徴ベクトルを連結して、N×184次元の連結特徴ベクトルを生成する。情報処理装置は、連結特徴ベクトルをニューラルネットワークに適用して点群データのセグメンテーションを行う。ここで用いるニューラルネットワークは、3層からなる多層パーセプトロンであり、各層の入出力の次元数は、それぞれ、184次元と64次元、64次元と32次元、32次元と13次元である。このニューラルネットワークに連結特徴ベクトルを適用することにより、点群データの各点xnについて、13カテゴリのそれぞれに対するスコアが求められる。情報処理装置は、各点xnを、スコアの最も高かったカテゴリに分類される。
【0060】
第5の実施の形態の情報処理装置において、学習対象のパラメータは、ガウシアンカーネルφkのパラメータと、全体特徴ベクトルと低次元化するニューラルネットワークの重み付けのパラメータと、ボクセル化した点群データに対して3次元畳込みを行うニューラルネットワークのパラメータと、連結特徴ベクトルを適用するニューラルネットワークの重み付けのパラメータである。第5の実施の形態では、これらのパラメータをエンドツーエンド学習(End-to-End training)によって学習する。すなわち、点群データとその点群データの正解のクラスとを教師データとし、点群データを入力したときに求められる各カテゴリのスコアと正解のカテゴリのスコアとの差分に基づいて、誤差逆伝播法によって各パラメータの学習を行う。
【0061】
本実施の形態では、N×9次元の点群データを入力する例について説明したが、入力される点群データは、第1~第3の実施の形態と同様に、N×3次元のデータであってもよいし、また、(x,y,z)座標値に加えて、RGBのデータを有するN×6次元のデータでもよい。これらの点群データに対しても、ここで説明したのと同様に、セマンティックセグメンテーションを行える。
【実施例】
【0062】
以下、本実施の形態の情報処理装置による点群データの分析処理結果と、従来法を比較する。ここで比較の対象とする従来法は、以下の3つである。なお、LUTI-MLPとPVCNNは、PointNetの高速化手法である。
・PointNet
・LUTI-MLP(Sekikawa, Y., & Suzuki, T. (2019). 「Tabulated MLP for Fast Point Feature Embedding.」arXiv preprint arXiv:1912.00790.)
・PVCNN(Liu, Z., Tang, H., Lin, Y., & Han, S. (2019). 「Point-Voxel CNN for effcient 3D deep learning. In Advances in Neural Information Processing Systems」(pp. 963-973).)
【0063】
実施例では、3次元畳込みを行う方法(第3及び第5の実施の形態)を除き、ガウシアンカーネルの平均パラメータを固定した。また、比較例と公正に比較するために、分類処理(第1の実施の形態)の実施例の場合には、TNetを用いた。
【0064】
[1]分類処理
ModelNet40を用いて分類処理の評価を行った。ModelNet40は、40のカテゴリを有する12311個のCADモデルを有する。ModelNet40のデータを、9843個のトレーニングデータ、2468個のテストデータに分けた。テストデータを用いて、第1の実施の形態の方法(表1において「GPointNet」と記載)と従来法とを比較した結果を表1に示す。表1は、ModelNet40での分類処理の精度(Accuracy)を示す。
【表1】
【0065】
なお、表中の「Input TNet」「Feature TNet」は、点群データの向きによって分析結果が変わらないようにするためのネットワークであり、入力された点群データに対して処理を行うのがInput TNet、局所特徴ベクトルに対して処理を行うのがFeature TNetである。分類問題を処理する際に、これらのネットワークによる処理を行った場合には、「レ」を付している。
【0066】
[パーツセグメンテーション]
ShapeNetを使ってパーツセグメンテーションの評価を行った。ShapeNetは、50のパーツに関連付けられた16のカテゴリを有する16881個の形状を有する。ShapeNetのデータを、12137個のトレーニングデータ、1870個のテストデータ、2874の検証データに分けた。テストデータを用いて、第2の実施の形態の方法(表2において「GPNG」と記載)および第3の実施の形態の方法(表2において「GPNC」と記載)と、従来法とを比較した結果を表2に示す。表2は、パーツセグメンテーションのmean IoUの比較結果を示す。なお、表2において、「PN」はPointNet、「LT」はLUTI-MLP、「PV」はPVCNNを示す。
【表2】
【0067】
[セマンティックセグメンテーション]
Standard 3D semantic parsing dataset(以下、「S3DIS」という)を使ってセマンティックセグメンテーションの評価を行った。S3DISは、271部屋を含む6領域の高精細3Dカメラ(米Matterport社製)でスキャンした3Dデータを含む。ここで、入力データの次元Mは、第4の実施の形態で説明した9次元に設定されている。なお、LUTI-MLPは非常に複雑なため、ここでは比較実験を行っていない。
次の表3は、Standard 3D semantic parsing datasetでのセマンティックセグメンテーションの精度とmean IoUの比較結果を示す図である。以下の表において、「GPN w/Gaussian」は、第4の実施の形態の方法を示し、「GPN w/Conv」は、第5の実施の形態の方法を示す。
【表3】
【0068】
以上の結果から、本実施の形態の情報処理装置は、従来法と遜色のない性能を有することが確認できた。
【0069】
[パラメータ数とFLOPs]
実施の形態に係るGPointNetの実装の複雑さとPointNet、LUTI-MLPの複雑さとを比較した。表4は、様々な実装モデルのパラメータ(#param)とサンプルごとのFLOPs(Floating-point operations per second)を示す。FLOPsは、Hunger, R. (2005). 「Floating point operations in matrix-vector calculus.」Munich: Munich University of Technology, Inst. for Circuit Theory and Signal Processing.に従って行った。
【0070】
PointNetについては、ModelNet40のモデルで計算した。表4において、Mは点群データの次元数、Kはガウシアンカーネルの次元数、Nは点群データのデータ数である。Dは、LUTI-MLPの離散化パラメータ、Eは、FLOPs/サンプルのexp(・)関数を示す。なお、PointNetのFLOPs/サンプルは、バッチノーマライゼーションとReLU活性化のFLOPs/サンプルを無視している。これらは、MLPのFLOPs/サンプルよりもずっと少ないからである。表4において、PointNetにおける定数は、入出力に関係しない中間レイヤのパラメータ数に相当する。
【表4】
【0071】
表5は、実験における様々な実装モデルと共通の分類器のためのパラメータ(#param)とサンプルごとのFLOPsを示す。表5において、Kは千を示し、Mは百万を示す。なお、GPointNetのFLOPs/サンプルは、実装に依存するため、exp(・)のFLOPsを無視している。比較例として、exp(・)がテーブルルックアップと4次のテイラー近似によって計算したときのFLOPs/サンプルを括弧内に示す。
【表5】
【0072】
表6は、本実施の形態の情報処理装置のFLOPs/サンプルの削減率を示す。上段は、PointNetからの削減率を示し、下段は、PVCNNからの削減率を示す。「Embedding」は全体特徴ベクトル算出部までのFLOPs/サンプルを示し、「Entire」は全体特徴ベクトルとニューラルネットワークの全体のFLOPs/サンプルを示す。LUTI-MLP、GPointNetおよびGPN w/Gaussianは、それぞれPointNetからの削減率を示している。また、GPN w/ConvはPVCNNからの削減率を示している。括弧内の割合は、表5における括弧内と同じexp(・)計算による。
【表6】
【0073】
表4に見られるように、LUTI-MLPのパラメータ数とFLOPs/サンプルは、離散化パラメータと入力の次元数に関して、指数関数のオーダーで増加する。これに対し、実施の形態に係るGPointNetでは、入力の次元数に関して二乗オーダーで増加するにとどまる。それゆえ、LUTI-MLPの複雑さは入力次元数に拠って爆発的に増えるのに対し、実施の形態の情報処理装置は、入力の次元数に対してロバストである。
【0074】
実際、セマンティックセグメンテーションモデル(M=9,K=1024,D=8,N=4096とする)を考えると、LUTI-MLPでは、表5に示すように、パラメータ数は1.4E+11、FLOPs/サンプルは2.1E+10である。この複雑さは、PointNetの複雑さよりも非常に大きい。一方で、実施の形態に係るGPointNetでは、パラメータ数は5.5E+04、FLOPs/サンプルは、>7.5E+07である。GPointNetは、規模の点で、LUTI-MLPよりも有利である。
【0075】
表6に示すように、GPN w/Gaussianは、LUTI-MLPより少ないパラメータで、LUTI-MLPに匹敵するスピードを達成している。さらに、セマンティックセグメンテーションのためのLUTI-MLPのFLOPs/サンプルおよびパラメータは、爆発的に増加するが、GPN w/Gaussianは、PointNetよりもFLOPs/サンプルとパラメータ数を抑えることができる。
【0076】
以上の結果から、本実施の形態の情報処理装置は、パラメータ数およびFLOPsを大幅に削減できることが確認できた。
【産業上の利用可能性】
【0077】
本発明は、点群データの分析を行う技術として有用である。
【符号の説明】
【0078】
1・・・情報処理装置、10・・・入力部、11・・・演算処理部、12・・・記憶部、13・・・出力部。