(57)【要約】【課題】範囲や点数に制限のない大規模点群を対象として、その対象を構成する点を、対象の種類に関わらずラベル付けする。【解決手段】３次元点群ラベル学習装置１０Ａは、３次元点群及び地面高さを入力として、地上高付３次元点群を出力する地上高算出部と、地上高付３次元点群を入力として、Intensity-RGB変換済地上高付３次元点群を出力するIntensity-RGB変換部と、Intensity-RGB変換済地上高付３次元点群、学習用点群ラベル、及びクラスタリングハイパーパラメータを入力として、正解ラベル付スーパーボクセルデータを出力するスーパーボクセルクラスタリング部と、正解ラベル付スーパーボクセルデータ及びディープニューラルネットワークハイパーパラメータを入力として、学習済ディープニューラルネットワークパラメータを出力するディープニューラルネットワーク学習部と、を備える。【選択図】図２
2019185665.tif 000002
【特許請求の範囲】
【請求項１】
各点の３次元位置及び前記各点の反射強度を示すIntensity値を含む３次元点群と、地面高さとを入力した場合、前記３次元点群の各点の地上高を算出し、算出した地上高を付与した地上高付３次元点群を出力する地上高算出部と、
前記地上高付３次元点群を入力として、前記地上高付３次元点群の各点について、前記Intensity値を、色情報を示すRGB値に変換して得られたIntensity-RGB変換済地上高付３次元点群を出力するIntensity-RGB変換部と、
前記Intensity-RGB変換済地上高付３次元点群と、前記３次元点群の各点について予め付与されたラベルを含む学習用点群ラベルと、クラスタリングハイパーパラメータとを入力として、前記３次元位置及び前記RGB値を用いて、前記Intensity-RGB変換済地上高付３次元点群を複数のスーパーボクセルにクラスタリングし、スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示す正解ラベル付スーパーボクセルデータを出力するスーパーボクセルクラスタリング部と、
前記正解ラベル付スーパーボクセルデータと、ディープニューラルネットワークハイパーパラメータとを入力として、前記スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示すスーパーボクセルデータから前記ラベルを推定するためのディープニューラルネットワークの学習済ディープニューラルネットワークパラメータを学習するディープニューラルネットワーク学習部と、
を備えた３次元点群ラベル学習装置。
【請求項２】
各点の地上高を含む３次元位置、及び前記各点の反射強度を示すIntensity値又は色情報を示すRGB値を含む３次元点群と、前記３次元点群の各点について予め付与されたラベルを含む学習用点群ラベルと、クラスタリングハイパーパラメータとを入力として、前記３次元位置を用いて、前記３次元点群を複数のスーパーボクセルにクラスタリングし、スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示す正解ラベル付スーパーボクセルデータを出力するスーパーボクセルクラスタリング部と、
前記正解ラベル付スーパーボクセルデータと、ディープニューラルネットワークハイパーパラメータとを入力として、前記スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示すスーパーボクセルデータから前記ラベルを推定するためのディープニューラルネットワークの学習済ディープニューラルネットワークパラメータを学習するディープニューラルネットワーク学習部と、
を備えた３次元点群ラベル学習装置。
【請求項３】
各点の３次元位置及び前記各点の反射強度を示すIntensity値を含む３次元点群と、地面高さとを入力した場合、前記３次元点群の各点の地上高を算出し、算出した地上高を付与した地上高付３次元点群を出力する地上高算出部と、
前記地上高付３次元点群を入力として、前記地上高付３次元点群の各点について、前記Intensity値を、色情報を示すRGB値に変換して得られたIntensity-RGB変換済地上高付３次元点群を出力するIntensity-RGB変換部と、
前記Intensity-RGB変換済地上高付３次元点群と、クラスタリングハイパーパラメータとを入力として、前記３次元位置及び前記RGB値を用いて、前記Intensity-RGB変換済地上高付３次元点群を複数のスーパーボクセルにクラスタリングし、スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示すスーパーボクセルデータを出力するスーパーボクセルクラスタリング部と、
前記スーパーボクセルデータと、ディープニューラルネットワークハイパーパラメータと、前記スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示すスーパーボクセルデータからラベルを推定するためのディープニューラルネットワークの予め学習された学習済ディープニューラルネットワークパラメータとを入力として、前記ディープニューラルネットワークを用いて、前記スーパーボクセルの各々についての推定ラベルを導出し、導出した推定ラベルを付与した推定ラベル付３次元点群を出力するディープニューラルネットワーク推定部と、
を備えた３次元点群ラベル推定装置。
【請求項４】
各点の地上高を含む３次元位置、及び前記各点の反射強度を示すIntensity値又は色情報を示すRGB値を含む３次元点群と、クラスタリングハイパーパラメータとを入力として、前記３次元位置を用いて、前記３次元点群を複数のスーパーボクセルにクラスタリングし、スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示すスーパーボクセルデータを出力するスーパーボクセルクラスタリング部と、
前記スーパーボクセルデータと、ディープニューラルネットワークハイパーパラメータと、前記スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示すスーパーボクセルデータからラベルを推定するためのディープニューラルネットワークの予め学習された学習済ディープニューラルネットワークパラメータとを入力として、前記ディープニューラルネットワークを用いて、前記スーパーボクセルの各々についての推定ラベルを導出し、導出した推定ラベルを付与した推定ラベル付３次元点群を出力するディープニューラルネットワーク推定部と、
を備えた３次元点群ラベル推定装置。
【請求項５】
地上高算出部が、各点の３次元位置及び前記各点の反射強度を示すIntensity値を含む３次元点群と、地面高さとを入力した場合、前記３次元点群の各点の地上高を算出し、算出した地上高を付与した地上高付３次元点群を出力するステップと、
Intensity-RGB変換部が、前記地上高付３次元点群を入力として、前記地上高付３次元点群の各点について、前記Intensity値を、色情報を示すRGB値に変換して得られたIntensity-RGB変換済地上高付３次元点群を出力するステップと、
スーパーボクセルクラスタリング部が、前記Intensity-RGB変換済地上高付３次元点群と、前記３次元点群の各点について予め付与されたラベルを含む学習用点群ラベルと、クラスタリングハイパーパラメータとを入力として、前記３次元位置及び前記RGB値を用いて、前記Intensity-RGB変換済地上高付３次元点群を複数のスーパーボクセルにクラスタリングし、スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示す正解ラベル付スーパーボクセルデータを出力するステップと、
ディープニューラルネットワーク学習部が、前記正解ラベル付スーパーボクセルデータと、ディープニューラルネットワークハイパーパラメータとを入力として、前記スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示すスーパーボクセルデータから前記ラベルを推定するためのディープニューラルネットワークの学習済ディープニューラルネットワークパラメータを学習するステップと、
を含む３次元点群ラベル学習方法。
【請求項６】
地上高算出部が、各点の３次元位置及び前記各点の反射強度を示すIntensity値を含む３次元点群と、地面高さとを入力した場合、前記３次元点群の各点の地上高を算出し、算出した地上高を付与した地上高付３次元点群を出力するステップと、
Intensity-RGB変換部が、前記地上高付３次元点群を入力として、前記地上高付３次元点群の各点について、前記Intensity値を、色情報を示すRGB値に変換して得られたIntensity-RGB変換済地上高付３次元点群を出力するステップと、
スーパーボクセルクラスタリング部が、前記Intensity-RGB変換済地上高付３次元点群と、クラスタリングハイパーパラメータとを入力として、前記３次元位置及び前記RGB値を用いて、前記Intensity-RGB変換済地上高付３次元点群を複数のスーパーボクセルにクラスタリングし、スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示すスーパーボクセルデータを出力するステップと、
ディープニューラルネットワーク推定部が、前記スーパーボクセルデータと、ディープニューラルネットワークハイパーパラメータと、前記スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示すスーパーボクセルデータからラベルを推定するためのディープニューラルネットワークの予め学習された学習済ディープニューラルネットワークパラメータとを入力として、前記ディープニューラルネットワークを用いて、前記スーパーボクセルの各々についての推定ラベルを導出し、導出した推定ラベルを付与した推定ラベル付３次元点群を出力するステップと、
を含む３次元点群ラベル推定方法。
【請求項７】
コンピュータを、請求項１又は２に記載の３次元点群ラベル学習装置が備える各部、又は、請求項３又は４に記載の３次元点群ラベル推定装置が備える各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元点群ラベル学習装置、３次元点群ラベル推定装置、３次元点群ラベル学習方法、３次元点群ラベル推定方法、及びプログラムに関する。
【背景技術】
【０００２】
３次元（ｘ、ｙ、ｚ）の位置情報と任意の数の属性情報を持つデータを３次元点と呼ぶ。そのような３次元点の集まりからなるデータを３次元点群と呼ぶ。３次元点群は、物体の幾何的な情報を示すデータであり、ラインセンサや、画像から３次元再構成をすることによって取得することができる。点の属性情報とは、点群の計測の際に得られた位置情報以外の情報であり、例えば、点の反射強度を示すIntensity値や、色情報を示すRGB値等がある。
【０００３】
上記の３次元点群のラベル推定技術としては、例えば、非特許文献１に記載されているように、ディープニューラルネットワーク（Deep Neural Network：ＤＮＮ）による手法がある。また、例えば、特許文献１には、スイープ形状を検出することで、その断面の形状により屋外の大規模点群中の人工物にラベルを付与する技術が記載されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】R. Q. Charles, H. Su, M. Kaichun and L. J. Guibas, "PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation," 2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), Honolulu, HI, 2017, pp. 77-85.
【特許文献】
【０００５】
【特許文献１】特開２０１６−１１８５０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記非特許文献１に記載の手法では、入力される点群に含まれる点の数を制限して学習および推定を行うため、範囲に制限のない大規模な点群を扱うことは困難である。
【０００７】
また、上記特許文献１に記載の技術では、形状がスイープ形状をなさない自然物（樹木葉等）などにラベルを付与することは困難である。
【０００８】
本発明は、上記の点に鑑みてなされたものであり、範囲や点数に制限のない大規模点群を対象として、その対象を構成する点を、対象の種類に関わらずラベル付けすることができる３次元点群ラベル学習装置、３次元点群ラベル推定装置、３次元点群ラベル学習方法、３次元点群ラベル推定方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記目的を達成するために、第１の発明に係る３次元点群ラベル学習装置は、各点の３次元位置及び前記各点の反射強度を示すIntensity値を含む３次元点群と、地面高さとを入力した場合、前記３次元点群の各点の地上高を算出し、算出した地上高を付与した地上高付３次元点群を出力する地上高算出部と、前記地上高付３次元点群を入力として、前記地上高付３次元点群の各点について、前記Intensity値を、色情報を示すRGB値に変換して得られたIntensity-RGB変換済地上高付３次元点群を出力するIntensity-RGB変換部と、前記Intensity-RGB変換済地上高付３次元点群と、前記３次元点群の各点について予め付与されたラベルを含む学習用点群ラベルと、クラスタリングハイパーパラメータとを入力として、前記３次元位置及び前記RGB値を用いて、前記Intensity-RGB変換済地上高付３次元点群を複数のスーパーボクセルにクラスタリングし、スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示す正解ラベル付スーパーボクセルデータを出力するスーパーボクセルクラスタリング部と、前記正解ラベル付スーパーボクセルデータと、ディープニューラルネットワークハイパーパラメータとを入力として、前記スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示すスーパーボクセルデータから前記ラベルを推定するためのディープニューラルネットワークの学習済ディープニューラルネットワークパラメータを学習するディープニューラルネットワーク学習部と、を備えている。
【００１０】
また、第２の発明に係る３次元点群ラベル学習装置は、各点の地上高を含む３次元位置、及び前記各点の反射強度を示すIntensity値又は色情報を示すRGB値を含む３次元点群と、前記３次元点群の各点について予め付与されたラベルを含む学習用点群ラベルと、クラスタリングハイパーパラメータとを入力として、前記３次元位置を用いて、前記３次元点群を複数のスーパーボクセルにクラスタリングし、スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示す正解ラベル付スーパーボクセルデータを出力するスーパーボクセルクラスタリング部と、前記正解ラベル付スーパーボクセルデータと、ディープニューラルネットワークハイパーパラメータとを入力として、前記スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示すスーパーボクセルデータから前記ラベルを推定するためのディープニューラルネットワークの学習済ディープニューラルネットワークパラメータを学習するディープニューラルネットワーク学習部と、を備えている。
【００１１】
一方、上記目的を達成するために、第３の発明に係る３次元点群ラベル推定装置は、各点の３次元位置及び前記各点の反射強度を示すIntensity値を含む３次元点群と、地面高さとを入力した場合、前記３次元点群の各点の地上高を算出し、算出した地上高を付与した地上高付３次元点群を出力する地上高算出部と、前記地上高付３次元点群を入力として、前記地上高付３次元点群の各点について、前記Intensity値を、色情報を示すRGB値に変換して得られたIntensity-RGB変換済地上高付３次元点群を出力するIntensity-RGB変換部と、前記Intensity-RGB変換済地上高付３次元点群と、クラスタリングハイパーパラメータとを入力として、前記３次元位置及び前記RGB値を用いて、前記Intensity-RGB変換済地上高付３次元点群を複数のスーパーボクセルにクラスタリングし、スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示すスーパーボクセルデータを出力するスーパーボクセルクラスタリング部と、前記スーパーボクセルデータと、ディープニューラルネットワークハイパーパラメータと、前記スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示すスーパーボクセルデータからラベルを推定するためのディープニューラルネットワークの予め学習された学習済ディープニューラルネットワークパラメータとを入力として、前記ディープニューラルネットワークを用いて、前記スーパーボクセルの各々についての推定ラベルを導出し、導出した推定ラベルを付与した推定ラベル付３次元点群を出力するディープニューラルネットワーク推定部と、を備えている。
【００１２】
また、第４の発明に係る３次元点群ラベル推定装置は、各点の地上高を含む３次元位置、及び前記各点の反射強度を示すIntensity値又は色情報を示すRGB値を含む３次元点群と、クラスタリングハイパーパラメータとを入力として、前記３次元位置を用いて、前記３次元点群を複数のスーパーボクセルにクラスタリングし、スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示すスーパーボクセルデータを出力するスーパーボクセルクラスタリング部と、前記スーパーボクセルデータと、ディープニューラルネットワークハイパーパラメータと、前記スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示すスーパーボクセルデータからラベルを推定するためのディープニューラルネットワークの予め学習された学習済ディープニューラルネットワークパラメータとを入力として、前記ディープニューラルネットワークを用いて、前記スーパーボクセルの各々についての推定ラベルを導出し、導出した推定ラベルを付与した推定ラベル付３次元点群を出力するディープニューラルネットワーク推定部と、を備えている。
【００１３】
一方、上記目的を達成するために、第５の発明に係る３次元点群ラベル学習方法は、地上高算出部が、各点の３次元位置及び前記各点の反射強度を示すIntensity値を含む３次元点群と、地面高さとを入力した場合、前記３次元点群の各点の地上高を算出し、算出した地上高を付与した地上高付３次元点群を出力するステップと、Intensity-RGB変換部が、前記地上高付３次元点群を入力として、前記地上高付３次元点群の各点について、前記Intensity値を、色情報を示すRGB値に変換して得られたIntensity-RGB変換済地上高付３次元点群を出力するステップと、スーパーボクセルクラスタリング部が、前記Intensity-RGB変換済地上高付３次元点群と、前記３次元点群の各点について予め付与されたラベルを含む学習用点群ラベルと、クラスタリングハイパーパラメータとを入力として、前記３次元位置及び前記RGB値を用いて、前記Intensity-RGB変換済地上高付３次元点群を複数のスーパーボクセルにクラスタリングし、スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示す正解ラベル付スーパーボクセルデータを出力するステップと、ディープニューラルネットワーク学習部が、前記正解ラベル付スーパーボクセルデータと、ディープニューラルネットワークハイパーパラメータとを入力として、前記スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示すスーパーボクセルデータから前記ラベルを推定するためのディープニューラルネットワークの学習済ディープニューラルネットワークパラメータを学習するステップと、を含んでいる。
【００１４】
一方、上記目的を達成するために、第６の発明に係る３次元点群ラベル推定方法は、地上高算出部が、各点の３次元位置及び前記各点の反射強度を示すIntensity値を含む３次元点群と、地面高さとを入力した場合、前記３次元点群の各点の地上高を算出し、算出した地上高を付与した地上高付３次元点群を出力するステップと、Intensity-RGB変換部が、前記地上高付３次元点群を入力として、前記地上高付３次元点群の各点について、前記Intensity値を、色情報を示すRGB値に変換して得られたIntensity-RGB変換済地上高付３次元点群を出力するステップと、スーパーボクセルクラスタリング部が、前記Intensity-RGB変換済地上高付３次元点群と、クラスタリングハイパーパラメータとを入力として、前記３次元位置及び前記RGB値を用いて、前記Intensity-RGB変換済地上高付３次元点群を複数のスーパーボクセルにクラスタリングし、スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示すスーパーボクセルデータを出力するステップと、ディープニューラルネットワーク推定部が、前記スーパーボクセルデータと、ディープニューラルネットワークハイパーパラメータと、前記スーパーボクセルの各々についてスーパーボクセルの構成要素の個々の点の３次元位置と属性、及びスーパーボクセルの中心位置と属性を示すスーパーボクセルデータからラベルを推定するためのディープニューラルネットワークの予め学習された学習済ディープニューラルネットワークパラメータとを入力として、前記ディープニューラルネットワークを用いて、前記スーパーボクセルの各々についての推定ラベルを導出し、導出した推定ラベルを付与した推定ラベル付３次元点群を出力するステップと、を含んでいる。
【００１５】
更に、上記目的を達成するために、第７の発明に係るプログラムは、コンピュータを、第１又は第２の発明に係る３次元点群ラベル学習装置が備える各部、又は、第４又は第５の発明に係る３次元点群ラベル推定装置が備える各部として機能させる。
【発明の効果】
【００１６】
以上説明したように、本発明に係る３次元点群ラベル学習装置、３次元点群ラベル推定装置、３次元点群ラベル学習方法、３次元点群ラベル推定方法、及びプログラムによれば、範囲や点数に制限のない大規模点群を対象として、その対象を構成する点を、対象の種類（人工物や自然物等）に関わらずラベル付けすることができる。
また、学習や推定に属性情報（Intensity,RGB等）を用いることにより、位置情報のみを用いる場合と比べ、より精度の高い推定を行うことができる。
【図面の簡単な説明】
【００１７】
【図１】実施形態に係る３次元点群ラベル学習推定装置の機能的な構成の一例を示すブロック図である。
【図２】実施形態に係る３次元点群ラベル学習装置の機能的な構成の一例を示すブロック図である。
【図３】実施形態に係る３次元点群の一例を示す図である。
【図４】実施形態に係る３次元点群ラベル学習推定処理プログラムによる学習処理ルーチンの処理の流れの一例を示すフローチャートである。
【図５】実施形態に係るスーパーボクセルデータの一例を示す図である。
【図６】実施形態に係るディープニューラルネットワークの構造の一例を示す図である。
【図７】実施形態に係るディープニューラルネットワークの一部である幾何変換ネットワークの構造の一例を示す図である。
【図８】実施形態に係る３次元点群ラベル推定装置の機能的な構成の一例を示すブロック図である。
【図９】実施形態に係る３次元点群ラベル学習推定処理プログラムによる推定処理ルーチンの処理の流れの一例を示すフローチャートである。
【図１０】実施形態に係る推定結果の一例を示す図である。
【発明を実施するための形態】
【００１８】
以下、図面を参照して、本発明を実施するための形態の一例について詳細に説明する。
【００１９】
本実施形態に係る３次元点群ラベル推定装置は、上述の３次元点群を入力として、３次元点群に含まれる各点についての位置情報及び属性情報から、それぞれの点のラベルを推定する。また、本実施形態に係る３次元点群ラベル学習装置は、この３次元点群ラベル推定装置によるラベル推定機能を実現するための学習を行う。本実施形態に係る３次元点群ラベル学習装置及び３次元点群ラベル推定装置は、後述する１つの３次元点群ラベル学習推定装置により実現される。
【００２０】
ここで、点の属性情報には、上述したように、点の反射強度を示すIntensity値や、色情報を示すRGB値等があるが、本実施形態においては特に限定されない。また、ラベルとは、各点がどのような物体に属するかを示すものである。例えば、市街地を計測した点群の場合、一例として、建物、道路、樹木、標識等を示すラベルがある。ラベルの種類については、利用者が任意に設定できるものであり、本実施形態においては特に限定されない。
【００２１】
本実施形態においては、特に点群を構成する点数や点群の空間的な範囲に制限がない大規模な点群を対象とする。例えば、市街地を計測した点群では、計測する範囲の面積を大きくすれば、際限なく点群を構成する点数や点群の空間的な範囲を大きくすることができる。本実施形態ではそのような大規模な点群を対象とする。
【００２２】
＜３次元点群ラベル学習推定装置の構成＞
【００２３】
図１は、本実施形態に係る３次元点群ラベル学習推定装置１０の機能的な構成の一例を示すブロック図である。
図１に示すように、本実施形態に係る３次元点群ラベル学習推定装置１０は、記憶部１２と、地上高算出部１４と、Intensity-RGB変換部１６と、スーパーボクセルクラスタリング部１８と、ディープニューラルネットワーク学習部２０と、ディープニューラルネットワーク推定部２２と、を備えている。
【００２４】
３次元点群ラベル学習推定装置１０は、電気的には、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、及びＲＯＭ（Read Only Memory）等を備えたコンピュータとして構成される。なお、３次元点群ラベル学習推定装置１０には、ＧＰＵ（Graphics Processing Unit）を含んでいてもよい。また、ＲＯＭには、本実施形態に係る３次元点群ラベル学習推定処理プログラムが記憶されている。この３次元点群ラベル学習推定処理プログラムにより、後述する推定処理ルーチンや学習処理ルーチンが実行される。
【００２５】
上記の３次元点群ラベル学習推定処理プログラムは、例えば、３次元点群ラベル学習推定装置１０に予めインストールされていてもよい。この３次元点群ラベル学習推定処理プログラムは、不揮発性の記憶媒体に記憶して、又は、ネットワークを介して配布して、３次元点群ラベル学習推定装置１０に適宜インストールすることで実現してもよい。なお、不揮発性の記憶媒体の例としては、ＣＤ-ＲＯＭ（Compact Disc Read Only Memory）、光磁気ディスク、ＤＶＤ-ＲＯＭ（Digital Versatile Disc Read Only Memory）、フラッシュメモリ、メモリカード等が挙げられる。
【００２６】
ＣＰＵは、ＲＯＭに記憶されている３次元点群ラベル学習推定処理プログラムを読み込んで実行することにより、上記の地上高算出部１４、Intensity-RGB変換部１６、スーパーボクセルクラスタリング部１８、ディープニューラルネットワーク学習部２０、及びディープニューラルネットワーク推定部２２として機能する。
【００２７】
また、記憶部１２には、不揮発性の記憶装置が適用される。記憶部１２には、３次元点群１２Ａ、地面高さ１２Ｂ、地上高付３次元点群１２Ｃ、Intensity-RGB変換済地上高付３次元点群１２Ｄ、学習用点群ラベル１２Ｅ、クラスタリングハイパーパラメータ１２Ｆ、スーパーボクセルデータ１２Ｇ（学習時は正解ラベル付スーパーボクセルデータ）、ディープニューラルネットワークハイパーパラメータ１２Ｈ、学習済ディープニューラルネットワークパラメータ１２Ｉ、及び推定ラベル付３次元点群１２Ｊが記憶される。
【００２８】
本実施形態に係る３次元点群ラベル学習推定装置１０は、学習時には３次元点群ラベル学習装置として機能し、推定時には３次元点群ラベル推定装置として機能する。
【００２９】
図２は、本実施形態に係る３次元点群ラベル学習装置１０Ａの機能的な構成の一例を示すブロック図である。
【００３０】
学習時における３次元点群ラベル学習装置１０Ａでは、ディープニューラルネットワーク推定部２２及び推定ラベル付３次元点群１２Ｊを用いない構成とされる。
【００３１】
本実施系形態に係る地上高算出部１４は、各点の３次元位置（x,y,z）及び各点の反射強度を示すIntensity値を含む３次元点群１２Ａと、地面高さ１２Ｂとを入力した場合、３次元点群１２Ａの各点の地上高を算出し、算出した地上高を付与した地上高付３次元点群１２Ｃを出力する。
【００３２】
ここで、図３を参照して、入力となる３次元点群１２Ａについて説明する。なお、図３は、本実施形態に係る３次元点群１２Ａの一例を示す図である。また、図３に示す３次元点群１２Ａの例は、実際にはカラー画像で示されるものであるが、本例では便宜上グレースケール画像として示している。
【００３３】
３次元点群１２Ａは、各点について、３次元位置（x,y,z）と、属性値としてIntensity値とを持つ点の集合である。本実施形態では、３次元位置について、zが点の高さを示し、x,yが点の水平位置を示すものとするが、これらx,y,zのとり方は自由である。
【００３４】
また、学習用の３次元点群データには、３次元点群１２Ａのそれぞれの点がどんな種類の物体に属するかを示すラベルである学習用点群ラベル１２Ｅが付与されている。学習用点群ラベル１２Ｅは、学習に先立って人が手作業で作成するものである。推定用の３次元点群データには、このラベルは不要であるが、前処理で一部のラベル（地面など）が付与されている場合もある。学習用の３次元点群データ及び推定用の３次元点群データに関わらず特に地面のラベルが付与されている場合は、地上高算出部１４でその情報を利用してもよい。
【００３５】
本実施形態に係るIntensity-RGB変換部１６は、地上高付３次元点群１２Ｃを入力として、地上高付３次元点群１２Ｃの各点について、Intensity値を、色情報を示すRGB値に変換して得られたIntensity-RGB変換済地上高付３次元点群１２Ｄを出力する。
【００３６】
本実施形態に係るスーパーボクセルクラスタリング部１８は、Intensity-RGB変換済地上高付３次元点群１２Ｄと、３次元点群１２Ａの各点について予め付与されたラベルを含む学習用点群ラベル１２Ｅと、クラスタリングハイパーパラメータ１２Ｆとを入力として、３次元位置及びRGB値を用いて、Intensity-RGB変換済地上高付３次元点群１２Ｄを複数のスーパーボクセルにクラスタリングし、クラスタリングしたスーパーボクセルの各々についてのIntensity値及び地上高を含む属性と点群情報とを示す正解ラベル付スーパーボクセルデータを出力する。
【００３７】
本実施形態に係るディープニューラルネットワーク学習部２０は、正解ラベル付スーパーボクセルデータと、ディープニューラルネットワークハイパーパラメータ１２Ｈとを入力として、スーパーボクセルの属性及び点群情報を示すスーパーボクセルデータ１２Ｇからラベルを推定するためのディープニューラルネットワークの学習済ディープニューラルネットワークパラメータ１２Ｉを学習する。
【００３８】
また、３次元点群１２Ａのそれぞれの点のｚ座標をそのまま地上高として扱うと共に、クラスタリングにおいてRGB値を用いない形態としてもよい。この場合、スーパーボクセルクラスタリング部１８は、各点の地上高を含む３次元位置、及び各点のIntensity値又はRGB値を含む３次元点群１２Ａと、学習用点群ラベル１２Ｅと、クラスタリングハイパーパラメータ１２Ｆとを入力として、３次元位置を用いて、３次元点群１２Ａを複数のスーパーボクセルにクラスタリングし、クラスタリングしたスーパーボクセルの各々についてのIntensity値及び地上高を含む属性と点群情報とを示す正解ラベル付スーパーボクセルデータを出力する。なお、３次元点群１２Ａが、Intensity値に代えて各点のRGB値を含む場合には、正解ラベル付スーパーボクセルデータが、属性として、Intensity値に代えてRGB値を含むようにしてもよい。また、３次元点群１２Ａが、各点のIntensity値及びRGB値の両方を含む場合には、正解ラベル付スーパーボクセルデータが、属性として、Intensity値及びRGB値の両方を含むようにしてもよい。ディープニューラルネットワーク学習部２０は、正解ラベル付スーパーボクセルデータと、ディープニューラルネットワークハイパーパラメータ１２Ｈとを入力として、スーパーボクセルの属性及び点群情報を示すスーパーボクセルデータ１２Ｇからラベルを推定するためのディープニューラルネットワークの学習済ディープニューラルネットワークパラメータ１２Ｉを学習する。つまり、この形態では、地上高算出部１４及びIntensity-RGB変換部１６を不要としてもよい。
【００３９】
次に、図４を参照して、本実施形態に係る３次元点群ラベル学習装置１０Ａの作用について説明する。なお、図４は、本実施形態に係る３次元点群ラベル学習推定処理プログラムによる学習処理ルーチンの処理の流れの一例を示すフローチャートである。
【００４０】
図４のステップ１００では、地上高算出部１４が、学習用点群としての３次元点群１２Ａと、任意の地面高さ１２Ｂとの入力を受け付ける。
【００４１】
ステップ１０２では、地上高算出部１４が、地面高さ１２Ｂを用いて、３次元点群１２Ａに含まれる各点の地上高を算出し、算出した地上高を付与した地上高付３次元点群１２Ｃを出力する。なお、地面高さ１２Ｂが与えられない場合、３次元点群１２Ａに地面の属性のラベルが事前に付与されているものとする。点群に地面の属性のラベルを付与する方法としては、例えば、ＲＡＮＳＡＣ（Random Sample Consensus）により平面を３次元点群に当てはめ、当てはめた平面からある閾値以下の距離にある点を地面とする方法を適用してもよい。
【００４２】
また、地面高さ１２Ｂが与えられている場合、３次元点群１２Ａのそれぞれの点のｚ座標から地面の高さを減じることで点の地上高を算出する。一方、３次元点群１２Ａに地面の属性のラベルが事前に付与されている場合、３次元点群１２Ａのそれぞれの点のｚ座標から、その点から最も近くにある地面のラベルが付与された点のｚ座標を減じることで地上高を算出する。いずれの場合も算出された地上高情報を、入力された３次元点群１２Ａに付与し、地上高付３次元点群１２Ｃとして出力する。
【００４３】
ステップ１０４では、Intensity-RGB変換部１６が、地上高付３次元点群１２Ｃを入力とし、地上高付３次元点群１２Ｃの各点について、Intensity値をRGB値に変換して得られたIntensity-RGB変換済地上高付３次元点群１２Ｄを出力する。なお、Intensity値をRGB値に変換する理由は、次に続くスーパーボクセルクラスタリング部１８でのクラスタリングにRGB値を利用するためである。
【００４４】
なお、３次元点群１２Ａの各点がIntensity値に代えてRGB値を属性として持っている場合には、Intensity-RGB変換を行う必要がない。このため、地上高算出部１４から出力された地上高付３次元点群１２Ｃは、スーパーボクセルクラスタリング部１８に直接入力される。つまり、この場合、Intensity-RGB変換部１６はスキップされる。
【００４５】
また、３次元点群１２Ａのそれぞれの点のｚ座標をそのまま地上高として扱い、３次元位置のみを用いる場合には、地上高を算出する必要がなく、更には、Intensity-RGB変換を行う必要もない。このため、３次元点群１２Ａは、スーパーボクセルクラスタリング部１８に直接入力される。つまり、この場合、地上高算出部１４及びIntensity-RGB変換部１６はスキップされる。
【００４６】
ここで、地上高付３次元点群１２Ｃが属性として各点のIntensity値を持つ場合、Intensity-RGB変換部１６は、各点のIntensity値をRGB値に変換する際に、以下の処理を行う。
【００４７】
地上高付３次元点群１２Ｃに含まれるそれぞれの点のIntensity値（intensity）を読み込み、最大値（max_intensity）を得る。それぞれの点のRGB値を、以下に示す式（１）を用いて導出する。
【００４８】
【数１】
2019185665.tif 000003
【００４９】
上記式（１）において、max_valueは、R,G,Bの各々の値がとりうる最大値である。例えば、R,G,Bがそれぞれ８ｂｉｔ符号無し整数型である場合は、max_value＝２５５である。R,G,Bの各々の値を算出したら、その値を入力された地上高付３次元点群１２Ｃに付与し、Intensity-RGB変換済地上高付３次元点群１２Ｄとして出力する。
【００５０】
ステップ１０６では、スーパーボクセルクラスタリング部１８が、Intensity-RGB変換済地上高付３次元点群１２Ｄと、学習用点群ラベル１２Ｅと、クラスタリングハイパーパラメータ１２Ｆとを入力として、３次元位置及びRGB値を用いて、Intensity-RGB変換済地上高付３次元点群１２Ｄを複数のスーパーボクセルにクラスタリングし、クラスタリングしたスーパーボクセルの各々についての属性及び点群情報を示す正解ラベル付スーパーボクセルデータを出力する。なお、学習用点群ラベル１２Ｅが入力されるのは学習時のみであり、推定時には入力されない。
【００５１】
スーパーボクセルクラスタリング部１８では、一例として、下記に示す非特許文献２に記載された方法を用いて、Intensity-RGB変換済地上高付３次元点群１２Ｄの分割を行う。
【００５２】
【非特許文献２】Papon, A. Abramov, M. Schoeler and F. Woergoetter, "Voxel Cloud Connectivity Segmentation - Supervoxels for Point Clouds," 2013 IEEE Conference on Computer Vision and Pattern Recognition, Portland, OR, 2013, pp. 2027-2034.
【００５３】
具体的には、以下に示す処理（Ｓ１〜Ｓ５）を実施する。
（Ｓ１）クラスタリングハイパーパラメータ１２Ｆを読み込む。クラスタリングハイパーパラメータ１２Ｆは、r_seed, r_voxel, w_c, w_s, w_nの５つのパラメータからなる。
【００５４】
（Ｓ２）Intensity-RGB変換済地上高付３次元点群１２Ｄの座標（x,y,z）に注目し、一辺の長さがr_voxelのボクセルに分割する。
【００５５】
（Ｓ３）分割されたボクセルについて、(x,y,z)方向に、距離r_seedごとにボクセルを抽出し、それをセグメンテーションの核となるボクセル（核ボクセル）を設定する。これらの核ボクセルは一つ一つ異なるスーパーボクセルに属する。ここで、点とは、xyz座標と任意の数の属性 (intensityやRGBなど)をもつデータである。ボクセルとは、xyz空間を予め定めた大きさの立方体に区切って、その立方体に含まれる点をまとめたものである。従って、点が存在しない区画にはボクセルも存在しない。それぞれのボクセルについて、xyz座標は立方体の中心、RGB値はボクセル内に存在する点のRGB値の平均、法線ベクトルはボクセル内に存在する点の法線ベクトルの平均となる。また、ボクセルの一部が核ボクセルとなる。この核ボクセルの選別は、上記のように、xyzそれぞれの方向に距離r_seedごとにボクセルを抽出することで実施する。この核ボクセルは、スーパーボクセルクラスタリング（浸潤的なクラスタリング法）をする際の起点となるボクセルである。スーパーボクセルとは、スーパーボクセルクラスタリングの出力であり、複数のボクセルの集まりである、このスーパーボクセルは、１つの核ボクセルとその核ボクセルと同じ領域にクラスタリングされたボクセルからなる。核ボクセルの数とスーパーボクセルの数は同じである。
【００５６】
（Ｓ４）それぞれの核ボクセルから始めて隣接ボクセルを浸潤的に探索し、下記に示す式（２）の距離指標Ｄによりボクセルの所属するスーパーボクセルを決定する。この処理により、各ボクセルは、式（２）の距離指標Ｄが計算されたもののうち最小であり、かつ空間的に連結している核ボクセルが属するスーパーボクセルに所属される。
【００５７】
【数２】
2019185665.tif 000004
【００５８】
上記式（２）において、w_c, w_s, w_n, r_seedは、クラスタリングハイパーパラメータ１２Ｆであり、D_c, D_s, D_nは、それぞれ注目しているボクセルと核ボクセルとのRGB値がなす距離、３次元位置がなす距離、法線がなす距離である。なお、クラスタリングにRGB値を用いない場合、D_c＝０とする。
【００５９】
（Ｓ５）複数のスーパーボクセルにクラスタリングされた点群を、一例として、図５に示すようなスーパーボクセルデータ１２Ｇとして保存する。なお、図５に示すスーパーボクセルデータ１２Ｇの例は、実際にはカラー画像で示されるものであるが、本例では便宜上グレースケール画像として示している。また、保存するスーパーボクセルデータ１２Ｇには、以下に示すデータ（Ｄ１〜Ｄ４）が含まれる。
【００６０】
（Ｄ１）center: スーパーボクセルに属する点群の（x,y,z）の平均値。
（Ｄ２）positions: 原点を上記centerとした、スーパーボクセルに属する全ての点の（x,y,z）座標。
（Ｄ３）point_attributes: スーパーボクセルに属する点群が持つ属性情報（Intensity, RGBなど）、Intensity-RGB変換部１６で変換した結果得られたRGB値は含めない。以下、point_attributesに含まれる属性数をａとする。なお、３次元点群１２Ａが、Intensity値に代えて各点のRGB値を含む場合には、このpoint_attributesに、Intensity値に代えてRGB値が含まれる。また、３次元点群１２Ａが、各点のIntensity値及びRGB値の両方を含む場合には、このpoint_attributesに、Intensity値及びRGB値の両方が含まれる。
（Ｄ４）supervoxel_attributes: スーパーボクセルに含まれる点の地上高の平均値（height）、スーパーボクセルに含まれる点数（num_of_points）、その他スーパーボクセルについて導出された任意の数の特徴量を含む。以下、supervoxel_attributesに含まれる属性数をｂとする。
【００６１】
なお、学習時に得られる正解ラベル付スーパーボクセルデータは、上記スーパーボクセルデータ１２Ｇに、以下のデータ（Ｄ５）が付与されたものである。
（Ｄ５）（学習時のみ）labels: 正解ラベル。スーパーボクセルに含まれる点が所属するラベルを、学習用点群ラベルを参照して探索し、スーパーボクセル内で所属する点が最も大きくなるラベルを設定する。ただし、スーパーボクセル内に所属する点のラベルの最大数がスーパーボクセルを構成する点数の閾値未満であれば、「その他」のラベルを付与する。閾値は例えば５０％など。その他を含めてｋ種類のラベルがあるとし、データは、0,1,...,k-1の整数である。
【００６２】
なお、このステップ１０６で生成された正解ラベル付スーパーボクセルデータはＭ個のスーパーボクセルからなるとする。また、スーパーボクセルクラスタリング部１８では、Intensity値に代えてRGB値を含む地上高付３次元点群１２Ｃと、学習用点群ラベル１２Ｅと、クラスタリングハイパーパラメータ１２Ｆとが入力された場合、３次元位置及びRGB値を用いて、地上高付３次元点群１２Ｃを複数のスーパーボクセルにクラスタリングしてもよい。また、スーパーボクセルクラスタリング部１８では、各点の地上高を含む３次元位置及びIntensity値を含む３次元点群１２Ａと、学習用点群ラベル１２Ｅと、クラスタリングハイパーパラメータ１２Ｆとが入力された場合、３次元位置を用いて、３次元点群１２Ａを複数のスーパーボクセルにクラスタリングしてもよい。
【００６３】
ステップ１０８では、ディープニューラルネットワーク学習部２０が、正解ラベル付スーパーボクセルデータと、ディープニューラルネットワークハイパーパラメータ１２Ｈとを入力として、スーパーボクセルの属性及び点群情報を示すスーパーボクセルデータ１２Ｇからラベルを推定するためのディープニューラルネットワークの学習済ディープニューラルネットワークパラメータ１２Ｉを学習して出力し、本学習処理ルーチンを終了する。
【００６４】
なお、以下、スーパーボクセルクラスタリング部１８による処理の結果得られたＭ個のスーパーボクセルをM_1個の学習データセットと、M_2の検証データセットに分割するとする。この場合、M_1 + M_2 = Mである。M_1とM_2は自由に設定してよいが、通常M_1をMの０．８から０．９倍程度の大きさとする。
【００６５】
なお、上記のディープニューラルネットワークハイパーパラメータ１２Ｈとは、以下に示す情報（１〜８）を含むディープニューラルネットワークの学習方法を定めるパラメータセットである。括弧内は変数名を表す。
【００６６】
（１）入力点数（Ｎ）： スーパーボクセル１つあたりでディープニューラルネットワークの入力として受け取る最大の点数を定める。
（２）最適化アルゴリズム（optimizer）: ディープニューラルネットワークの最適化方法を定める（Gradient Decent, Moment, Adamなど）。
（３）学習効率（learning_rate）: 初期のディープニューラルネットワークパラメータ更新の効率。
（４）学習効率減衰率（decay_rate）: 学習効率の減衰を算出する際に用いる値。
（５）学習効率減衰ステップ（decay_steps）： 学習効率の減衰を算出する際に用いる値。
（６）学習エポック数（max_epoch）: ディープニューラルネットワークパラメータの更新を実施するエポック数。
（７）バッチサイズ（batch_size）: ディープニューラルネットワークパラメータの１度の更新の際に用いるデータ（スーパーボクセル）の数。
（８）ラベル数(ｋ):「その他」を含めたラベルの総数。
【００６７】
なお、上記のディープニューラルネットワークハイパーパラメータ１２Ｈは、パラメータの入力点数（Ｎ）とラベル数（ｋ）を除いて、本実施形態に限らず一般的にディープニューラルネットワークの学習時に定めるパラメータである。本実施形態では、ディープニューラルネットワークの最適化の方法を限定するものではなく、本パラメータセットは他の公知のパラメータの組み合わせに置き換えられるものである。
【００６８】
一例として、optimizerに、Gradient Descentが選択された際のディープニューラルネットワークパラメータの更新式を式（３）に示す。
【００６９】
【数３】
2019185665.tif 000005
【００７０】
なお、上記式（３）において、batch_indexは、重み更新に用いているbatchのインデックス（0,1,..., M_1/batch_size - 1）である。なお、batch_indexは、整数であるため、M_1/batch_sizeの除算の結果は整数になるように小数点以下を切り捨てとする。current_epochは、現在のepoch数(0,1,....max_epoch-1)である。batch_lossは、batch_size個の学習データのlossの総和（lossは１つのデータについてのディープニューラルネットワークの出力とone hot encodingされた正解ラベルとの交差エントロピー）である。w_{i}は、i回目の更新後のディープニューラルネットワークパラメータである。
【００７１】
学習済ディープニューラルネットワークパラメータ１２Ｉは、ディープニューラルネットワークの各リンクの重みとバイアスの集合からなるデータである。毎エポック終了後に検証データセット全体のloss（total_loss）を評価し、total_lossが最小となった際のディープニューラルネットワークパラメータを学習済ディープニューラルネットワークパラメータ１２Ｉとして保存する。ディープニューラルネットワークパラメータの更新は、max_epoch回のエポックが終了するまで繰り返す。
【００７２】
次に、ディープニューラルネットワーク学習部２０で用いられるディープニューラルネットワークの構造について説明する。ディープニューラルネットワークは、以下に示すレイヤ（Ｌ１〜Ｌ１３）からなる。なお、「mlp」と記載しているのは、multi-layer perceptronの略称である。
【００７３】
（Ｌ１）positions 入力レイヤ
（Ｌ２）幾何変換ネットワークレイヤi
（Ｌ３）point_attributes 入力レイヤ
（Ｌ４）mlpレイヤi
（Ｌ５）幾何変換ネットワークレイヤii
（Ｌ６）mlpレイヤii
（Ｌ７）max poolingレイヤ
（Ｌ８）supervoxel_attributes 入力レイヤ
（Ｌ９）mlpレイヤiii
（Ｌ１０）softmaxレイヤ
（Ｌ１１）label入力レイヤ
（Ｌ１２）one hot encodeレイヤ
（Ｌ１３）cross entropyレイヤ
【００７４】
上記のmlpは、slp(single-layer perceptron)の処理を複数回適用する処理である。slpは、入力チャネル数と出力チャネル数で定義される処理である。なお、入力チャネル数がi、出力チャネル数がjであるslp[i,j]の処理を、式（４）に示す。なお、式（４）において、入力inputは、i次元のベクトルである。perceptron_weightは、j×iの重み行列である。perceptron_biasは、j次元のベクトルである。出力outputは、j次元ベクトルである。activate()は、活性化関数の適用を表している。
【００７５】
【数４】
2019185665.tif 000006
【００７６】
次に、図６を参照して、ディープニューラルネットワークの各層の処理について具体的に説明する。なお、図６は、本実施形態に係るディープニューラルネットワークの構造の一例を示す図である。図６に示す例では、mlpについて出力チャネル数のみを記しており、入力チャネル数は省略している。また、図６に示す例は、あくまでも具体例であり、各レイヤの構成要素であるmlpの層数やチャネル数などを変動させて本実施形態に適用してもよい。また、１つのスーパーボクセルデータについての処理を記述しているが、実際には、batch_sizeの数のスーパーボクセルデータが１度に入力され、１度に処理される。
【００７７】
図６に示すように、positions 入力レイヤ（Ｌ１）は、スーパーボクセルデータに含まれる３次元座標値であるpositionsを入力するレイヤである。スーパーボクセルにＮ以上の点が含まれる場合はＮ個で入力を打ち切り、Ｎ未満の場合は足りないデータについて（0,0,0）を入力とする。結果として本レイヤで入力されるデータpositions_inputは、Ｎ×３となる。
【００７８】
次に、幾何変換ネットワークレイヤi（Ｌ２）の具体的な処理について、図７を参照して説明する。なお、図７は、本実施形態に係るディープニューラルネットワークの一部である幾何変換ネットワークの構造の一例を示す図である。
【００７９】
図７に示すように、幾何変換ネットワークレイヤi（Ｌ２）では、入力データのチャネル数が３チャネルなので、図７におけるＫの値は３である。まず、Ｎ×３次元の入力データ（positions_input）に対して、mlp（slp[3,64], slp[64,128], slp[128,1024]）で処理し、Ｎ×１０２４次元の中間出力１を得る。中間出力１をmax pooling処理することで、１０２４次元ベクトルの中間出力２を得る。中間出力２をmlp（slp[1024, 512], slp[512, 256]）で処理することで、２５６次元の中間出力３（transform_feature_i）を得る。これに対し、３×２５６次元の重み（transform_weight_i）と、３×３次元のバイアス（transform_biases_i）とを用いて、下記に示す式（５）により行列演算を行う。これにより、３×３次元のtransform_matrix_iを得る。
【００８０】
【数５】
2019185665.tif 000007
【００８１】
次に、transform_matrix_iを用いて、式（６）により行列演算を行い、本レイヤの出力であるtransform_output_iを得る。
【００８２】
【数６】
2019185665.tif 000008
【００８３】
次に、図６に戻り、point_attributes 入力レイヤ（Ｌ３）では、スーパーボクセルデータに含まれるpoint_attributesをディープニューラルネットワークに入力する。Ｎ×３次元のtransform_output_iに、Ｎ×ａ次元のpoint_attributesを結合処理することで、Ｎ×（３＋ａ）次元のconcatenated_output_iを出力する。
【００８４】
mlpレイヤi（Ｌ４）では、Ｎ×（３＋ａ）次元のconcatenated_output_iをmlp(slp[(3+a), 64], slp[64, 64])で処理することで、Ｎ×６４次元のmlp_output_iを得る。
【００８５】
次に、図７を参照して、幾何変換ネットワークレイヤii（Ｌ５）の処理について具体的に説明する。幾何変換ネットワークレイヤii（Ｌ５）は、入力データのチャネル数が６４チャネルなので、図７におけるＫの値は６４である。まず、Ｎ×６４次元の入力データ（mlp_output_i）に対して、mlp（slp[64,64], slp[64,128], slp[128,1024]）で処理し、Ｎ×１０２４次元の中間出力１を得る。中間出力１をmax pooling処理することで、１０２４次元ベクトルの中間出力２を得る。中間出力２をmlp（slp[1024, 512], slp[512, 256]）で処理することで、２５６次元の中間出力３(transform_feature_ii)を得る。これに対し、６４×２５６次元の重み（transform_weight_ii）と、６４×６４次元のバイアス（transform_biases_ii）とを用いて、下記に示す式（７）により行列演算を行う。これにより、６４×６４次元のtransform_matrix_iiを得る。
【００８６】
【数７】
2019185665.tif 000009
【００８７】
次に、transform_matrix_iiを用いて、式（８）により行列演算を行い、本レイヤの出力であるtransform_output_iiを得る。
【００８８】
【数８】
2019185665.tif 000010
【００８９】
次に、図６に戻り、mlpレイヤii（Ｌ６）は、Ｎ×６４次元のtransform_output_iiを、mlp（slp[64, 64], slp[64, 128], slp[128, 1024]）で処理をすることで、Ｎ×１０２４次元のmlp_output_iiを得る。
【００９０】
max poolingレイヤ（Ｌ７）では、Ｎ×１０２４次元のmlp_output_iiに対して、max pooling処理を適用することで、ｌ×１０２４次元のmax_pooling_outputを得る。
【００９１】
supervoxel_attributes 入力レイヤ（Ｌ８）では、ｌ×１０２４次元のmax_pooling_outputに、ｌ×ｂ次元のsupervoxel_attributesを結合することで、ｌ×（１０２４＋ｂ）次元のconcatenated_output_iiを出力する。
【００９２】
mlpレイヤiii（Ｌ９）では、ｌ×（１０２４＋ｂ）次元のconcatenated_output_iiに対して、mlp（slp[(1024+b), 512], slp[512, 256], slp[256, k]）で処理をすることで、ｌ×ｋ次元のmlp_output_iiiを得る。
【００９３】
softmaxレイヤ（Ｌ１０）では、ｌ×ｋ次元のmlp_output_iiiに対して、softmax計算を適用することで、ｌ×ｋ次元のsoftmax_outputを出力する。
【００９４】
label入力レイヤ（Ｌ１１）では、スーパーボクセルデータに含まれるlabelsを入力する。なお、0,1,...,k-1の整数値であるそれぞれのラベル値に、one hot encodeレイヤ（Ｌ１２）で、one hot encode処理を実行し、ｌ×ｋ次元のlabel_inputを出力する。
【００９５】
cross entropyレイヤ（Ｌ１３）では、softmaxレイヤ（Ｌ１０）からのsoftmax_outputと、one hot encodeレイヤ（Ｌ１２）からのlabel_inputとの交差エントロピーを計算し、lossを算出する。
【００９６】
上記の最終層で算出されたlossを、batch_size個のスーパーボクセルについて総和をとり、batch_lossを算出する。batch_lossを用いて適用するoptimizerによるディープニューラルネットワークパラメータの更新を行う。なお、optimizerをgradient descentにした場合の更新式は、上述の式（３）に示した通りである。
【００９７】
次に、上記の３次元点群ラベル学習装置による学習結果を用いて、３次元点群のラベル推定を行う３次元点群ラベル推定装置について説明する。
【００９８】
図８は、本実施形態に係る３次元点群ラベル推定装置１０Ｂの機能的な構成の一例を示すブロック図である。
【００９９】
推定時における３次元点群ラベル推定装置１０Ｂでは、ディープニューラルネットワーク学習部２０及び学習用点群ラベル１２Ｅを用いない構成とされる。
【０１００】
本実施系形態に係る地上高算出部１４は、学習時と同様に、各点の３次元位置（x,y,z）及び各点の反射強度を示すIntensity値を含む３次元点群１２Ａと、地面高さ１２Ｂとを入力として、３次元点群１２Ａの各点の地上高を算出し、算出した地上高を付与した地上高付３次元点群１２Ｃを出力する。
【０１０１】
本実施形態に係るIntensity-RGB変換部１６は、地上高付３次元点群１２Ｃを入力として、地上高付３次元点群１２Ｃの各点について、Intensity値を、色情報を示すRGB値に変換して得られたIntensity-RGB変換済地上高付３次元点群１２Ｄを出力する。
【０１０２】
本実施形態に係るスーパーボクセルクラスタリング部１８は、Intensity-RGB変換済地上高付３次元点群１２Ｄと、クラスタリングハイパーパラメータ１２Ｆとを入力として、３次元位置及びRGB値を用いて、Intensity-RGB変換済地上高付３次元点群１２Ｄを複数のスーパーボクセルにクラスタリングし、クラスタリングしたスーパーボクセルの各々についてのIntensity値及び地上高を含む属性と点群情報とを示すスーパーボクセルデータ１２Ｇを出力する。
【０１０３】
本実施形態に係るディープニューラルネットワーク推定部２２は、スーパーボクセルデータ１２Ｇと、ディープニューラルネットワークハイパーパラメータ１２Ｈと、スーパーボクセルデータ１２Ｇからラベルを推定するためのディープニューラルネットワークの予め学習された学習済ディープニューラルネットワークパラメータ１２Ｉとを入力として、ディープニューラルネットワークを用いて、スーパーボクセルの各々についての推定ラベルを導出し、導出した推定ラベルを付与した推定ラベル付３次元点群１２Ｊを出力する。
【０１０４】
なお、学習時と同様に、３次元点群１２Ａのそれぞれの点のｚ座標をそのまま地上高として扱うと共に、クラスタリングにおいてRGB値を用いない形態としてもよい。この場合、スーパーボクセルクラスタリング部１８は、各点の地上高を含む３次元位置、及び各点のIntensity値又はRGB値を含む３次元点群１２Ａと、クラスタリングハイパーパラメータ１２Ｆとを入力として、３次元位置を用いて、３次元点群１２Ａを複数のボクセルにクラスタリングし、クラスタリングしたスーパーボクセルの各々についてのIntensity値及び地上高を含む属性と点群情報とを示すスーパーボクセルデータ１２Ｇを出力する。なお、３次元点群１２Ａが、Intensity値に代えて各点のRGB値を含む場合には、スーパーボクセルデータ１２Ｇが、属性として、Intensity値に代えてRGB値を含むようにしてもよい。また、３次元点群１２Ａが、各点のIntensity値及びRGB値の両方を含む場合には、スーパーボクセルデータ１２Ｇが、属性として、Intensity値及びRGB値の両方を含むようにしてもよい。ディープニューラルネットワーク推定部２２は、スーパーボクセルデータ１２Ｇと、ディープニューラルネットワークハイパーパラメータ１２Ｈと、学習済ディープニューラルネットワークパラメータ１２Ｉとを入力として、ディープニューラルネットワークを用いて、スーパーボクセルの各々についての推定ラベルを導出し、導出した推定ラベルを付与した推定ラベル付３次元点群１２Ｊを出力する。つまり、この形態では、地上高算出部１４及びIntensity-RGB変換部１６を不要としてもよい。
【０１０５】
次に、図９を参照して、本実施形態に係る３次元点群ラベル推定装置１０Ｂの作用について説明する。なお、図９は、本実施形態に係る３次元点群ラベル学習推定処理プログラムによる推定処理ルーチンの処理の流れの一例を示すフローチャートである。
【０１０６】
図９のステップ１１０では、地上高算出部１４が、推定用点群としての３次元点群１２Ａと、任意の地面高さ１２Ｂとの入力を受け付ける。
【０１０７】
ステップ１１２では、地上高算出部１４が、地面高さ１２Ｂを用いて、３次元点群１２Ａに含まれる各点の地上高を算出し、算出した地上高を付与した地上高付３次元点群１２Ｃを出力する。
【０１０８】
ステップ１１４では、Intensity-RGB変換部１６が、地上高付３次元点群１２Ｃを入力とし、地上高付３次元点群１２Ｃの各点について、Intensity値をRGB値に変換して得られたIntensity-RGB変換済地上高付３次元点群１２Ｄを出力する。
【０１０９】
なお、３次元点群１２Ａの各点がIntensity値に代えてRGB値を属性として持っている場合には、Intensity-RGB変換を行う必要がない。このため、地上高算出部１４から出力された地上高付３次元点群１２Ｃは、スーパーボクセルクラスタリング部１８に直接入力される。つまり、この場合、Intensity-RGB変換部１６はスキップされる。
【０１１０】
また、３次元点群１２Ａのそれぞれの点のｚ座標をそのまま地上高として扱い、３次元位置のみを用いる場合には、地上高を算出する必要がなく、更には、Intensity-RGB変換を行う必要もない。このため、３次元点群１２Ａは、スーパーボクセルクラスタリング部１８に直接入力される。つまり、この場合、地上高算出部１４及びIntensity-RGB変換部１６はスキップされる。
【０１１１】
ステップ１１６では、スーパーボクセルクラスタリング部１８が、Intensity-RGB変換済地上高付３次元点群１２Ｄと、クラスタリングハイパーパラメータ１２Ｆとを入力として、３次元位置及びRGB値を用いて、Intensity-RGB変換済地上高付３次元点群１２Ｄを複数のスーパーボクセルにクラスタリングし、クラスタリングしたスーパーボクセルの各々についての属性と点群情報とを示すスーパーボクセルデータ１２Ｇを出力する。なお、学習用点群ラベル１２Ｅは推定時には入力されない。
【０１１２】
また、スーパーボクセルクラスタリング部１８では、Intensity値に代えてRGB値を含む地上高付３次元点群１２Ｃと、クラスタリングハイパーパラメータ１２Ｆとが入力された場合、３次元位置及びRGB値を用いて、地上高付３次元点群１２Ｃを複数のスーパーボクセルにクラスタリングしてもよい。また、スーパーボクセルクラスタリング部１８では、地上高を含む３次元位置及びIntensity値を含む３次元点群１２Ａと、クラスタリングハイパーパラメータ１２Ｆとが入力された場合、３次元位置を用いて、３次元点群１２Ａを複数のスーパーボクセルにクラスタリングしてもよい。
【０１１３】
ステップ１１８では、ディープニューラルネットワーク推定部２２が、スーパーボクセルデータ１２Ｇと、ディープニューラルネットワークハイパーパラメータ１２Ｈと、学習済ディープニューラルネットワークパラメータ１２Ｉとを入力として、ディープニューラルネットワークを用いて、スーパーボクセルの各々についての推定ラベルを付与した推定ラベル付３次元点群１２Ｊを出力し、本推定処理ルーチンを終了する。
【０１１４】
次に、上述の図６を参照して、ディープニューラルネットワーク推定部２２で用いるディープニューラルネットワークの構造について説明する。ディープニューラルネットワーク推定部２２では、スーパーボクセルデータを以下に示すレイヤ（Ｌ１〜Ｌ９、Ｌ１４）からなるディープニューラルネットワークで処理をすることで推定結果ラベルを得る。なお、Ｌ１〜Ｌ９のレイヤは、上述のディープニューラルネットワーク学習部２０で説明したディープニューラルネットワークと同様のものであるので、ここでの繰り返しの説明は省略する。
【０１１５】
（Ｌ１）positions 入力レイヤ
（Ｌ２）幾何変換ネットワークレイヤi
（Ｌ３）point_attributes 入力レイヤ
（Ｌ４）mlpレイヤi
（Ｌ５）幾何変換ネットワークレイヤii
（Ｌ６）mlpレイヤii
（Ｌ７）max poolingレイヤ
（Ｌ８）supervoxel_attributes 入力レイヤ
（Ｌ９）mlpレイヤiii
（Ｌ１４）argmaxレイヤ
【０１１６】
argmaxレイヤ（Ｌ１４）では、ｌ×ｋ次元のmlp_output_iiiについて、argmax処理を適用し、値が最大となるindexを得る。このindexが推定ラベルとなる。
【０１１７】
上記のように推定ラベルが導かれたスーパーボクセルデータについて、その構成する点に推定ラベルを付与する。全てのスーパーボクセルデータについて同様の処理を行い、推定ラベルが付与された点の集合を、推定ラベル付３次元点群１２Ｊとして出力する。本実施形態に係る推定結果の一例を図１０に示す。なお、図１０に示す推定結果の例は、実際にはカラー画像で示されるものであるが、本例では便宜上グレースケール画像として示している。
【０１１８】
以上、実施形態として３次元点群ラベル学習装置及び３次元点群ラベル推定装置を例示して説明した。実施形態は、コンピュータを、３次元点群ラベル学習推定装置が備える各部として機能させるためのプログラムの形態としてもよい。実施形態は、このプログラムを記憶したコンピュータが読み取り可能な記憶媒体の形態としてもよい。
【０１１９】
その他、上記実施形態で説明した３次元点群ラベル学習推定装置の構成は、一例であり、主旨を逸脱しない範囲内において状況に応じて変更してもよい。
【０１２０】
また、上記実施形態で説明したプログラムの処理の流れも、一例であり、主旨を逸脱しない範囲内において不要なステップを削除したり、新たなステップを追加したり、処理順序を入れ替えたりしてもよい。
【０１２１】
また、上記実施形態では、プログラムを実行することにより、実施形態に係る処理がコンピュータを利用してソフトウェア構成により実現される場合について説明したが、これに限らない。実施形態は、例えば、ハードウェア構成や、ハードウェア構成とソフトウェア構成との組み合わせによって実現してもよい。
【符号の説明】
【０１２２】
１０   ３次元点群ラベル学習推定装置
１０Ａ ３次元点群ラベル学習装置
１０Ｂ ３次元点群ラベル推定装置
１２   記憶部
１２Ａ ３次元点群
１２Ｂ 地面高さ
１２Ｃ 地上高付３次元点群
１２Ｄ Intensity-RGB変換済地上高付３次元点群
１２Ｅ 学習用点群ラベル
１２Ｆ クラスタリングハイパーパラメータ
１２Ｇ スーパーボクセルデータ
１２Ｈ ディープニューラルネットワークハイパーパラメータ
１２Ｉ 学習済ディープニューラルネットワークパラメータ
１２Ｊ 推定ラベル付３次元点群
１４   地上高算出部
１６   Intensity-RGB変換部
１８   スーパーボクセルクラスタリング部
２０   ディープニューラルネットワーク学習部
２２   ディープニューラルネットワーク推定部
【図１】
2019185665.tif 000011
【図２】
2019185665.tif 000012
【図３】
2019185665.tif 000013
【図４】
2019185665.tif 000014
【図５】
2019185665.tif 000015
【図６】
2019185665.tif 000016
【図７】
2019185665.tif 000017
【図８】
2019185665.tif 000018
【図９】
2019185665.tif 000019
【図１０】
2019185665.tif 000020