(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-12-01
(45)【発行日】2023-12-11
(54)【発明の名称】推定装置、推定方法及びプログラム
(51)【国際特許分類】
G06T 7/00 20170101AFI20231204BHJP
【FI】
G06T7/00 350C
(21)【出願番号】P 2022197944
(22)【出願日】2022-12-12
(62)【分割の表示】P 2019158675の分割
【原出願日】2019-08-30
【審査請求日】2022-12-12
(73)【特許権者】
【識別番号】000003078
【氏名又は名称】株式会社東芝
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】中村 徳裕
(72)【発明者】
【氏名】関 晃仁
【審査官】高野 美帆子
(56)【参考文献】
【文献】特開2019-003527(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
第1点群データを取得する取得部と、
前記第1点群データから、所定の選択確率にしたがって、所定の数の観測点を選択する観測点選択部と、
前記第1点群データから、属性の推定対象として注目される注目点と、少なくとも1つの前記観測点と、が結合された第2点群データを生成する生成部と、
前記第2点群データを使用して、前記属性に属する所属確率を、前記属性毎に算出することによって、前記注目点の属性を推定する推定部と、を備え、
前記生成部は、
前記第1点群データから前記注目点を選択する注目点選択部と、
前記観測点毎に、前記観測点を表すベクトルの要素と、前記注目点を表すベクトルの要素とを結合した結合ベクトルを生成する結合部と、を備え、
前記第2点群データは、前記結合ベクトルの成分を配列したテンソルによって表される、
推定装置。
【請求項2】
前記推定部は、前記第2点群データが入力される入力層と、前記属性毎の所属確率を出力する出力層とを含むニューラルネットワークによって、前記属性毎に前記所属確率を算出する、
請求項1に記載の推定装置。
【請求項3】
前記生成部は、前記第2点群データの生成処理を所定の回数だけ繰り返し、
前記推定部は、所定の回数だけ生成された前記第2点群データ毎に、前記所属確率を算出し、
前記第2点群データ毎に算出された所属確率に基づいて、前記属性毎に統合確率を算出する統合部、
を更に備える請求項1に記載の推定装置。
【請求項4】
前記統合確率は、前記所定の回数だけ生成された第2点群データ毎に算出された複数の所属確率の平均である、
請求項3に記載の推定装置。
【請求項5】
前記統合確率がより大きい属性を、前記注目点の属性に決定する決定部、
を更に備える請求項3に記載の推定装置。
【請求項6】
前記統合確率に基づいて推定の信頼性を示す信頼度を算出する算出部を更に備え、
前記決定部は、前記信頼度が信頼度閾値以下の場合、更に所定の追加回数、前記第2点群データの生成、及び、前記所属確率の算出を繰り返すことを決定し、前記所定の追加回数だけ更に算出された所属確率に更に基づいて算出された前記統合確率によって、前記注目点の属性を決定する、
請求項5に記載の推定装置。
【請求項7】
前記統合確率に基づいて推定の信頼性を示す信頼度を算出する算出部と、
前記信頼度が信頼度閾値以下である、または、属性が決定されていない未決定注目点の属性及び信頼度を、前記未決定注目点との距離が距離閾値以下であり、かつ、前記信頼度が信頼度閾値より大きい注目点の属性及び信頼度によって補正する補正部と、
を更に備える請求項5に記載の推定装置。
【請求項8】
前記統合確率に基づいて推定の信頼性を示す信頼度を算出する算出部と、
前記信頼度に基づいて、前記注目点に対応する第1点群データの点の信頼度を示す信頼度マップの表示制御をする表示制御部と、
を更に備える請求項5に記載の推定装置。
【請求項9】
第1点群データを取得するステップと、
前記第1点群データから、所定の選択確率にしたがって、所定の数の観測点を選択するステップと、
前記第1点群データから、属性の推定対象として注目される注目点と、少なくとも1つの前記観測点と、が結合された第2点群データを生成するステップと、
前記第2点群データを使用して、前記属性に属する所属確率を、前記属性毎に算出することによって、前記注目点の属性を推定するステップと、を含み、
前記生成するステップは、
前記第1点群データから前記注目点を選択するステップと、
前記観測点毎に、前記観測点を表すベクトルの要素と、前記注目点を表すベクトルの要素とを結合した結合ベクトルを生成するステップと、を含み、
前記第2点群データは、前記結合ベクトルの成分を配列したテンソルによって表される、
推定方法。
【請求項10】
前記推定するステップは、前記第2点群データが入力される入力層と、前記属性毎の所属確率を出力する出力層とを含むニューラルネットワークによって、前記属性毎に前記所属確率を算出する、
請求項9に記載の推定方法。
【請求項11】
前記第2点群データを生成するステップは、前記第2点群データの生成処理を所定の回数だけ繰り返し、
前記推定するステップは、所定の回数だけ生成された前記第2点群データ毎に、前記所属確率を算出し、
前記第2点群データ毎に算出された所属確率に基づいて、前記属性毎に統合確率を算出するステップ、
を更に含む請求項9に記載の推定方法。
【請求項12】
前記統合確率は、前記所定の回数だけ生成された第2点群データ毎に算出された複数の所属確率の平均である、
請求項11に記載の推定方法。
【請求項13】
前記統合確率がより大きい属性を、前記注目点の属性に決定するステップ、
を更に含む請求項11に記載の推定方法。
【請求項14】
前記統合確率に基づいて推定の信頼性を示す信頼度を算出するステップを更に含み、
前記決定するステップは、前記信頼度が信頼度閾値以下の場合、更に所定の追加回数、前記第2点群データの生成、及び、前記所属確率の算出を繰り返すことを決定し、前記所定の追加回数だけ更に算出された所属確率に更に基づいて算出された前記統合確率によって、前記注目点の属性を決定する、
請求項13に記載の推定方法。
【請求項15】
前記統合確率に基づいて推定の信頼性を示す信頼度を算出するステップと、
前記信頼度が信頼度閾値以下である、または、属性が決定されていない未決定注目点の属性及び信頼度を、前記未決定注目点との距離が距離閾値以下であり、かつ、前記信頼度が信頼度閾値より大きい注目点の属性及び信頼度によって補正するステップと、
を更に含む請求項13に記載の推定方法。
【請求項16】
前記統合確率に基づいて推定の信頼性を示す信頼度を算出するステップと、
前記信頼度に基づいて、前記注目点に対応する第1点群データの点の信頼度を示す信頼度マップの表示制御をするステップと、
を更に含む請求項13に記載の推定方法。
【請求項17】
コンピュータを、
第1点群データを取得する取得部と、
前記第1点群データから、所定の選択確率にしたがって、所定の数の観測点を選択する観測点選択部と、
前記第1点群データから、属性の推定対象として注目される注目点と、少なくとも1つの前記観測点と、が結合された第2点群データを生成する生成部と、
前記第2点群データを使用して、前記属性に属する所属確率を、前記属性毎に算出することによって、前記注目点の属性を推定する推定部、として機能させ、
前記生成部は、
前記第1点群データから前記注目点を選択する注目点選択部と、
前記観測点毎に、前記観測点を表すベクトルの要素と、前記注目点を表すベクトルの要素とを結合した結合ベクトルを生成する結合部と、を備え、
前記第2点群データは、前記結合ベクトルの成分を配列したテンソルによって表される、
プログラム。
【請求項18】
前記推定部は、前記第2点群データが入力される入力層と、前記属性毎の所属確率を出力する出力層とを含むニューラルネットワークによって、前記属性毎に前記所属確率を算出する、
請求項17に記載のプログラム。
【請求項19】
前記生成部は、前記第2点群データの生成処理を所定の回数だけ繰り返し、
前記推定部は、所定の回数だけ生成された前記第2点群データ毎に、前記所属確率を算出し、
前記第2点群データ毎に算出された所属確率に基づいて、前記属性毎に統合確率を算出する統合部、
を更に備える請求項17に記載のプログラム。
【請求項20】
前記統合確率は、前記所定の回数だけ生成された第2点群データ毎に算出された複数の所属確率の平均である、
請求項19に記載のプログラム。
【請求項21】
前記統合確率がより大きい属性を、前記注目点の属性に決定する決定部、
を更に備える請求項19に記載のプログラム。
【請求項22】
前記統合確率に基づいて推定の信頼性を示す信頼度を算出する算出部を更に備え、
前記決定部は、前記信頼度が信頼度閾値以下の場合、更に所定の追加回数、前記第2点群データの生成、及び、前記所属確率の算出を繰り返すことを決定し、前記所定の追加回数だけ更に算出された所属確率に更に基づいて算出された前記統合確率によって、前記注目点の属性を決定する、
請求項21に記載のプログラム。
【請求項23】
前記統合確率に基づいて推定の信頼性を示す信頼度を算出する算出部と、
前記信頼度が信頼度閾値以下である、または、属性が決定されていない未決定注目点の属性及び信頼度を、前記未決定注目点との距離が距離閾値以下であり、かつ、前記信頼度が信頼度閾値より大きい注目点の属性及び信頼度によって補正する補正部と、
を更に備える請求項21に記載のプログラム。
【請求項24】
前記統合確率に基づいて推定の信頼性を示す信頼度を算出する算出部と、
前記信頼度に基づいて、前記注目点に対応する第1点群データの点の信頼度を示す信頼度マップの表示制御をする表示制御部と、
を更に備える請求項21に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は推定装置、推定方法及びプログラムに関する。
【背景技術】
【0002】
プラント・社会インフラの老朽化の進行に伴い、それらの維持管理、および修繕に対する要求が増加していることから、現状を計測してデジタル的に管理する試みが行われている。こういった試みは重要箇所を画像で管理するなどが主であったが、全体像の把握のしやすさや物理的な解析への適用可能性などから、近年では三次元データによる管理が行われ始めている。なかでも、レーザーレンジファインダの軽量化・低価格化などを背景に、点群データの蓄積が進んでいる。これらを実際に活用する際には、点群データを編集して不要なデータを削除したり、蓄積されたデータを元にCADで利用可能なデータを作成したりする必要がある。この作業は現在人手で行われており、非常に手間のかかる作業となっている。そこで、点群データの位置やそれに付随する色情報などから各点が何を表現するかを自動推定する技術が提案されている。
【先行技術文献】
【特許文献】
【0003】
【非特許文献】
【0004】
【文献】C. Qi et al., PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation、CVPR 2017
【文献】Y. Gal et al., Dropout as a Bayesian Approximation:Representing Model Uncertainty in Deep Learning、ICML, 2016.
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、従来の技術では、点群データの属性の推定精度を向上させることが難しかった。
【課題を解決するための手段】
【0006】
実施形態の推定装置は、取得部と観測点選択部と生成部と推定部とを備える。取得部は、第1点群データを取得する。観測点選択部は、前記第1点群データから、所定の選択確率にしたがって、所定の数の観測点を選択する。生成部は、前記第1点群データから、属性の推定対象として注目される注目点と、少なくとも1つの前記観測点と、が結合された第2点群データを生成する。推定部は、前記第2点群データを使用して、前記属性に属する所属確率を、前記属性毎に算出することによって、前記注目点の属性を推定する。前記生成部は、注目点選択部と結合部とを備える。注目点選択部は、前記第1点群データから前記注目点を選択する。結合部は、前記観測点毎に、前記観測点を表すベクトルの要素と、前記注目点を表すベクトルの要素とを結合した結合ベクトルを生成する。前記第2点群データは、前記結合ベクトルの成分を配列したテンソルによって表される。
【図面の簡単な説明】
【0007】
【
図1】第1実施形態の推定装置の機能構成の例を示す図。
【
図2】第1実施形態の第2点群データの例を示す図。
【
図3】第1実施形態の推定部の動作例を説明するための図。
【
図4】第1実施形態の推定方法の例を示すフローチャート。
【
図5】第2実施形態の推定装置の機能構成の例を示す図。
【
図6】第2実施形態の推定方法の例を示すフローチャート。
【
図7】第3実施形態の推定装置の機能構成の例を示す図。
【
図8】第3実施形態の補正部の動作例を説明するための図。
【
図9】第3実施形態の推定方法の例を示すフローチャート。
【
図10】第4実施形態の推定装置の機能構成の例を示す図。
【
図11】第4実施形態の信頼度マップの例を示す図。
【
図12】第1乃至第4実施形態の推定装置のハードウェア構成の例を示す図。
【発明を実施するための形態】
【0008】
以下に添付図面を参照して、推定装置、推定方法及びプログラムの実施形態を詳細に説明する。
【0009】
(第1実施形態)
はじめに、第1実施形態の推定装置100の機能構成の例について説明する。
【0010】
[機能構成の例]
図1は第1実施形態の推定装置100の機能構成の例を示す図である。第1実施形態の推定装置100は、取得部1、入力データ生成部2及び推定部3を備える。入力データ生成部2は、注目点選択部21、観測点選択部22及び結合部23を備える。
【0011】
図1に示す各機能は、別々の装置によって実現されていてもよい。この場合、各装置は、通信網を介して、直接的、又は間接的に通信可能な状態となっており、各装置は、点群データ等を相互に送受信することが可能である。通信網の種類は任意であり、例えば各装置は、建物内に設置されたLAN(Local Area Network)を介して、相互に通信可能な形態であってもよい。また、例えば各装置は、インターネット等のネットワーク(クラウド)を介して、相互に通信可能な形態であってもよい。
【0012】
取得部1は、外部記憶装置や3次元計測装置等から識別対象となる第1点群データXを取得する。第1点群データXは少なくとも3次元の位置座標(x,y,z)を含む。なお、第1点群データXには、計測方法によっては色情報(r,g,b)、及びレーザーの反射強度情報i等が含まれていてもよい。また、種々の方法で事前に計算された情報がある場合にはそれが含まれても良い。
【0013】
外部記憶装置としては、ハードディスクやCDなどの記憶メディアに限らず、通信網で接続されたサーバ装置が含まれる。3次元計測装置としては、レーザーレンジファインダや、ステレオカメラ等が挙げられる。ステレオカメラの場合には、画像ベースで各ピクセルの奥行を推定することで3次元点を得ることができる。
【0014】
注目点選択部21は、取得部1で取得された第1点群データXから、属性の推定対象として注目される注目点Cpを選択する。属性は、例えば注目点Cpが何を表す点であるのかを特定する情報を示す。
【0015】
説明の簡単のため、以降では注目点Cpが1点であった場合を例にして説明するが、注目点選択部21は、複数の注目点Cpを選択することも可能である。複数の注目点Cpが選択される場合には、各注目点Cpに対し、個別に処理を適用すればよい。
【0016】
観測点選択部22は、取得部1で取得された第1点群データXから、あらかじめ決められた数mだけランダムに観測点sを選択する。以降では、選択された複数の観測点sの集合を観測点群Sと呼ぶ。なお、観測点群Sの選択方法はランダムに限定されるものではなく、ある一定の確率分布(選択確率)に従って無作為に選択されていればよい。そのため、観測点群Sは、均等な選択確率以外の選択確率で選択されてもよい。
【0017】
結合部23は、注目点Cpと観測点群Sとから、注目点Cpの属性を推定するための入力データとして、第2点群データX’を生成する。
【0018】
図2は第1実施形態の第2点群データX’の例を示す図である。結合部23は、
図2に示すように、観測点群Sと注目点Cpとを結合して、第2点群データX’を1つのデータ単位として構成する。具体的には、結合部23は、観測点群Sの元si(0≦i<m,mはSに含まれる観測点の数)と注目点Cpとを結合する処理をSの全ての元について行う。図中ではchが結合される次元に対応し、結合後のchは、観測点siの要素数と注目点Cpの要素数とを合計した値となる。観測点siはm種類あるため、注目点Cp1つに対し、m種類のベクトルが得られることになる。これをテンソルの形でまとめたものが第2点群データX’となる。
【0019】
なお、
図2では、簡単のため、注目点Cpが1点の場合で説明しているが、注目点Cpがn個選択されている場合には、第2点群データX’は、n×m×chのテンソルになる。
【0020】
図1に戻り、推定部3では、結合部23で生成された第2点群データX’を入力とした深層学習により、注目点Cpの属性を推定する。
【0021】
図3は第1実施形態の推定部3の動作例を説明するための図である。F(X)は深層学習ネットワークを表現する関数である。
図3に示すように、推定部3は、第2点群データX’をn方向に分割したX’1~X’nを、ニューラルネットワーク200に入力する。ニューラルネットワーク200は、例えばDNN(Deep Neural Network)である。
【0022】
推定部3は、X’1~X’nのch方向を、ニューラルネットワーク200の全結合層により畳み込む。このとき、m方向には畳み込まないことに注意する。これにより全結合層で畳み込まれた同じ長さの特徴ベクトル群f1~fmが得られる。
【0023】
推定部3は、この特徴ベクトル群f1~fmに対して対称関数を適用し、得られた特徴ベクトル群を考慮した1つの特徴ベクトルf’を得る。具体的には、推定部3は、要素ごとに最大値をとる操作maxpoolingを行い、1つのベクトルに変換することで最終的な注目点の特徴ベクトルf’1~f’nを得る。これが、注目点CpのLogitとなる。
【0024】
推定部3が、このLogitに対し、一般的な深層学習で行われているように、softmax関数で0~1の確率で扱える値に変換することで、属性に属する確率を示す所属確率を得る。すなわち、推定部3は、第2点群データX’が入力される入力層と、属性毎の所属確率を出力する出力層とを含むニューラルネットワーク200によって、属性毎に所属確率を算出する。
【0025】
なお、f’の要素数が属性数cと一致しない場合、f’にさらに全結合層を適用し、あらかじめ想定していた属性数cと同じ長さのベクトルに調整すればよい。
【0026】
なお、深層学習による畳み込みの係数はあらかじめ学習等により決定されているものとする。例えば、第1実施形態と同様の手順で最終的に出力される所属確率を真値と比較し、そのずれに応じて係数を調整する操作を繰り返せばよい。そのほかにも、深層学習の分野で係数を学習する際に行われる種々の方法を用いて決定してよい。
【0027】
また、上記では対称関数としてmaxpoolingを用いたが、これに限定する必要はない。計算結果が特徴ベクトル群f1~fmの順序に左右されない対称関数であればよい。maxpoolingは、例えば要素ごとの合計、平均などで置き換えることが可能である。さらに、f’を第1点群データXにおける事前に計算された情報としてもよい。この場合、f’を点群データXの各点に付加した状態で前述した処理を行えばよい。
【0028】
次に第1実施形態の推定方法の例について説明する。
【0029】
[推定方法の例]
図4は第1実施形態の推定方法の例を示すフローチャートである。はじめに、取得部1が、外部記憶装置や3次元計測装置等から第1点群データを取得する(ステップS1)。次に、注目点選択部21が、ステップS1の処理によって取得された第1点群データXから、属性の推定対象として注目される注目点Cpを選択する(ステップS2)。
【0030】
次に、観測点選択部22が、ステップS1の処理のよって取得された第1点群データXから、m個の観測点si(0≦i<m)を含む観測点群Sを選択する(ステップS3)。
【0031】
次に、結合部23が、注目点Cpと観測点群Sとから、注目点Cpの属性を推定するための入力データとして、第2点群データX’を生成する(ステップS4)。concatは、観測点siの座標成分と、前記注目点Cpの座標成分とを結合したベクトルを生成する。第2点群データX’は、当該ベクトルの成分を配列したテンソルによって表される(
図2参照)。
【0032】
次に、推定部3が、ニューラルネットワーク200(DNN)に第2点群データX’を入力し、出力y’を得る(ステップS5)。出力y’は、例えば属性毎の所属確率を示す0~1の範囲の値である。
【0033】
以上説明したように、第1実施形態の推定装置100では、取得部1が、第1点群データXを取得する。入力データ生成部2が、第1点群データXから、属性の推定対象として注目される注目点Cpと、少なくとも1つの観測点sと、が結合された第2点群データX’を生成する。そして、推定部3が、第2点群データX’を使用して、属性に属する所属確率を、属性毎に算出することによって、注目点Cpの属性を推定する。
【0034】
第1実施形態の推定装置100によれば、点群データXにより表される形状全体を、リサンプリング(観測点群S)により近似し、それを注目点Cpとあわせるように構成(第2点群データX’)することで、注目点Cpの属性を決定する際に、明に計算に用いる点の選択範囲を設けず、形状全体を考慮することが可能となる。これにより第1実施形態の推定装置100によれば、点群データXの属性の推定精度を向上させることができる。
【0035】
(第2実施形態)
次に第2実施形態について説明する。第2実施形態の説明では、第1実施形態と同様の説明については省略し、第1実施形態と異なる箇所について説明する。
【0036】
上述の第1実施形態では、形状をリサンプリングして近似することにより、実用的な処理コストで形状全体を考慮する方法について説明した。第2実施形態は、リサンプリングにより失われる情報を統計的に考慮することで、より正確に形状全体を考慮する部分が第1実施形態と異なる。
【0037】
[機能構成の例]
図5は第2実施形態の推定装置100-2の機能構成の例を示す図である。第2実施形態の推定装置100-2は、取得部1、入力データ生成部2、推定部3、統合部4及び決定部5を備える。入力データ生成部2は、注目点選択部21、観測点選択部22及び結合部23を備える。
【0038】
第2実施形態では、統合部4及び決定部5が追加されている。以下に、第1実施形態と異なる処理について説明する。
【0039】
第2実施形態の観測点選択部22、結合部23及び推定部3は、所定の回数LimNだけ、上述のステップS3~ステップS5の処理を繰り返す点が第1実施形態と異なる。そのため、第2実施形態における推定部3の出力は、LimN個のc次元のベクトルとなる。
【0040】
これは新規の点xが入力された場合の出力yの予測分布をベイズ推定していることと等価と考えることができる。また、非特許文献2のドロップアウトをXに含まれる点を考慮しないことと置き換えると、同様の結論が導ける。
【0041】
ここで、上述のステップS3~ステップS5を繰り返す処理が、新規の点xが入力された場合の出力yの予測分布をベイズ推定していることと等価であることについて説明する。
【0042】
N個の入力データXと出力Yが観測されているとき、新たなデータx^(x^<xハット>はxの上に^のある記号を示す。)が与えられた場合に予測値y^(y^<yハット>はyの上に^のある記号を示す。)が従う分布は、下記式(1)で表される。
【0043】
【0044】
このときのp(w|X,Y)をそのまま求めるのは困難なため、パラメータθを持つ関数qθ(w)を代わりに定義し、上記式(2)のように、その間の距離を最小化することで近似する。
【0045】
【0046】
ここで定数項を整理し、VI(θ)を下記式(3)のように定義すると、下記式(4)が得られる。
【0047】
【0048】
【0049】
X,Yを独立と仮定し、VIを全てのデータのうちのM個だけサンプルすると仮定するとともに、qθ(w)をパラメータθを持たない分布p(γ)で置き換えると、下記式(5)が得られる。
【0050】
【0051】
上記式(5)の積分部分をモンテカルロ法で近似すると、下記式(6)が得られる。
【0052】
【0053】
ここで、観測点が入力点群Xの全ての点とし、一般的なFC(Fully Connected)を考えると、下記式(7)となる。なお、σは活性化関数である。
【0054】
【0055】
さらに、対象関数部分を考慮に入れると、下記式(8)が得られる。
【0056】
【0057】
実際にはある確率に従って観測点を選ぶので、下記式(9)のようになる。
【0058】
【0059】
Zは観測点として選択された点に対応するf以外が0になるようなテンソルであり、第2実施形態の推定部3による上記の観測点選択と等価である。さらに活性化関数σにReLUを選べば、下記式(10)により表されるため、下記式(11)が得られる。式(11)中の中括弧内は関数で用いられるパラメータを示す。また、式中のzは式(9)の観測点選択部分を個別の点x向けに書き直したものであり、選択された場合には1、それ以外の場合には0となる。
【0060】
【0061】
【0062】
g(θ,γ)を上記式(11)の{}内のパラメータを作る関数と考えると、f’がyと一致するようにW,bを学習することは、前述したVIハットを最小化するパラメータを学習することと等価といえる。
【0063】
次に、統合部4及び決定部5の動作について説明する。
【0064】
統合部4は、第2点群データX’毎に算出された所属確率に基づいて、属性毎に統合確率を算出する。例えば統合部4は、推定部3から得られたLimN個のc次元ベクトルを平均することによって、c次元ベクトルによって表された統合確率を得る。すなわち、統合確率は、例えば所定の回数だけ生成された第2点群データX’毎に算出された複数の所属確率の平均である。
【0065】
決定部5は、統合確率がより大きい属性を、注目点の属性に決定する。例えば決定部5は、統合部4から得られるc次元ベクトルの各要素(成分)のうち最大の値を持つ要素に対応する属性を、注目点の属性として出力する。
【0066】
次に第2実施形態の推定方法の例について説明する。
【0067】
[推定方法の例]
図6は第2実施形態の推定方法の例を示すフローチャートである。ステップS11~ステップS15の処理は、第1実施形態のステップS1~ステップS5の処理と同じなので、説明を省略する。
【0068】
統合部4は、y’(または第2点群データX’)が所定の回数、生成されたか否かを判定する(ステップS16)。所定の回数、y’が生成されていない場合(ステップS16,No)、ステップS13の処理に戻る。
【0069】
所定の回数、y’が生成された場合(ステップS16,Yes)、統合部4は、y’i(0≦i<LimN)を平均することによって、統合確率を算出する(ステップS17)。
【0070】
第2実施形態の推論装置100-2によれば、注目点Cpの属性を推定する際に、統計的な枠組みを用いてより詳細に第1点群データXの形状全体を考慮することが可能となる。
【0071】
(第3実施形態)
次に第3実施形態について説明する。第3実施形態の説明では、第2実施形態と同様の説明については省略し、第2実施形態と異なる箇所について説明する。
【0072】
上述の第2実施形態では、統計的な枠組みを用いて、より詳細に形状全体を考慮する方法について説明した。第3実施形態では、推定の信頼性を示す信頼度に基づいて、結果を補正する場合について説明する。
【0073】
[機能構成の例]
図7は第3実施形態の推定装置100-3の機能構成の例を示す図である。第3実施形態の推定装置100-3は、取得部1、入力データ生成部2、推定部3、統合部4、決定部5、算出部6及び補正部7を備える。入力データ生成部2は、注目点選択部21、観測点選択部22及び結合部23を備える。
【0074】
第3実施形態では、算出部6及び補正部7が追加され、決定部5の動作が第2実施形態と異なる。以下に、第2実施形態と処理が異なる機能ブロックについて説明する。
【0075】
算出部6は、統合確率に基づいて推定の信頼性を示す信頼度を算出する。例えば、算出部6は、統合部4から出力されたc次元ベクトルに基づいて信頼度を算出する。信頼度の具体的な算出には、例えば下記式(12)が用いられる。
【0076】
【0077】
上記式(12)は一般的なエントロピーであり、P(A)がc次元ベクトルに対応する。エントロピーは大きいほどそれぞれの属性に対応する確率間に差がないことを示している。そのため、実際には、算出部6は、エントロピーに-1をかけて信頼度の形に変換する。
【0078】
決定部5は、信頼度が信頼度閾値以下の場合、更に所定の追加回数、第2点群データX’の生成、及び、所属確率の算出を繰り返すことを決定し、所定の追加回数だけ更に算出された所属確率に更に基づいて算出された統合確率によって、注目点Cpの属性を決定する。
【0079】
補正部7は、未決定注目点の属性及び信頼度を、未決定注目点との距離が距離閾値以下であり、かつ、信頼度が信頼度閾値より大きい注目点の属性及び信頼度によって補正する。ここで、未決定注目点は、信頼度が信頼度閾値以下であるか、または、属性が決定されていない注目点である。補正部7の処理によって、第3実施形態の推定装置100-3は、推定結果の信頼性をより安定させることができる。
【0080】
図8は第3実施形態の補正部7の動作例を説明するための図である。
図8に示すように、補正部7は、未決定注目点(信頼度が閾値以下、または属性が未決定の点)の所属確率及び信頼度を破棄する。そして補正部7は、未決定注目点の近傍に存在し、かつ、信頼度が信頼度閾値より大きい注目点の属性によって、未決定注目点の所属確率及び信頼度を補正する。
【0081】
次に第3実施形態の推定方法の例について説明する。
【0082】
[推定方法の例]
図9は第3実施形態の推定方法の例を示すフローチャートである。ステップS21~ステップS27の処理は、第2実施形態のステップS11~ステップS17の処理と同じなので、説明を省略する。
【0083】
算出部6は、ステップS27の処理によって算出された統合確率に基づいて、推定の信頼性を示す信頼度を算出する(ステップS28)。
【0084】
次に、決定部5が、ステップS28の処理によって算出された信頼度が、信頼度閾値以下であるか否かを判定する(ステップS29)。信頼度閾値以下でない場合(ステップS29,No)、処理を終了する。
【0085】
信頼度閾値以下である場合(ステップS29,Yes)、推定装置100-3は、更に所定の追加回数α、ステップS23~ステップS25の処理を実行する(ステップS30)。次に、統合部4が、y’i(0≦i<LimN+α)を平均することによって、統合確率を算出する(ステップS31)。
【0086】
次に、算出部6が、ステップS31の処理によって算出された統合確率に基づいて、推定の信頼性を示す信頼度を算出する(ステップS32)。
【0087】
次に、決定部5が、ステップS32の処理によって算出された信頼度が、信頼度閾値以下であるか否かを判定する(ステップS33)。信頼度が、信頼度閾値以下でない場合(ステップS33,No)、処理を終了する。
【0088】
信頼度が、信頼度閾値以下である場合(ステップS33,Yes)、補正部7が、注目点Cpの属性及び信頼度を補正する(ステップS34)。具体的には、補正部7が、注目点Cpの近傍rの範囲で信頼度が信頼度閾値より大きい注目点Cpを少なくとも1つ抽出する。次に、補正部7が、例えば抽出された注目点Cpの属性のうち、最も多い属性により属性を補正し、当該属性の信頼度により信頼度を補正する。
【0089】
なお、上記では、抽出された注目点Cpの属性のうち、最も多い属性の数を基準に補正したが、これに限るものではない。近傍の情報から補正を行う種々の方法を利用可能である。例えば補正部7は、抽出された注目点Cpの属性ごとの統合確率を示すc次元ベクトルを平均し、平均されたc次元ベクトルに含まれる最も高い成分(要素)に対応する属性を、補正に用いる方法も考えられる。
【0090】
また、上述の
図9のフローチャートの処理は一例であり、適宜、処理を変更してもよい。例えば、ステップS30及びステップS34の両方の処理を実行せずに、いずれか一方の処理を実行するようにしてもよい。
【0091】
以上説明したように、第3実施形態の推定装置100-3によれば、注目点Cpごとの信頼度に基づいて推定結果を補正し、より安定性の高い属性推定を行うことが可能となる。
【0092】
(第4実施形態)
次に第4実施形態について説明する。第4実施形態の説明では、第3実施形態と同様の説明については省略し、第3実施形態と異なる箇所について説明する。
【0093】
上述の第3実施形態では、注目点Cpごとに算出された信頼度に基づいて推定結果を補正する方法について説明した。第4実施形態では、信頼度を元に推定の信頼度合いを一覧するマップの表示を制御する方法について説明する。
【0094】
[機能構成の例]
図10は第4実施形態の推定装置100-4の機能構成の例を示す図である。第4実施形態の推定装置100-4は、取得部1、入力データ生成部2、推定部3、統合部4、決定部5、算出部6、補正部7及び表示制御部8を備える。入力データ生成部2は、注目点選択部21、観測点選択部22及び結合部23を備える。
【0095】
第4実施形態では、表示制御部8が追加されている。表示制御部8は、信頼度に基づいて、注目点Cpに対応する第1点群データXの点xの信頼度を示す信頼度マップの表示制御をする。
【0096】
図11は第4実施形態の信頼度マップ300の例を示す図である。表示制御部8は、
図11に示すように第1点群データXが存在する空間を、例えば4つの小空間に分割し、それぞれの小空間に含まれる点群の信頼度を平均して小空間の信頼度を表す。信頼度の表現の仕方は任意でよい。信頼度は、例えば点xの色、または点xを含む小空間の色によって表されていてもよい。
【0097】
また、小空間の信頼度を決定する方法は平均に限られるものではなく、データ要約の種々の方法が考えられる。例えば、小空間の信頼度の決定に、中央値や分散を採用する方法も考えられる。
【0098】
第4実施形態の推定装置100-4によれば、例えば追加計測が必要な領域の判別が可能となる。第4実施形態の推定装置100-4は、例えば追加撮影や計測品質の点検などの際に、計画立案の一助として利用することができる。
【0099】
最後に第1乃至第4実施形態の推定装置100-1乃至100-4のハードウェア構成の例について説明する。以下では、第4実施形態の推定装置100-4の場合を例にして説明する。なお、第1乃至第3実施形態の推定装置100-1乃至100-3の場合も、第4実施形態の推定装置100-4と同様である。
【0100】
[ハードウェア構成の例]
図12は第1乃至第4実施形態の推定装置100-1乃至100-4のハードウェア構成の例を示す図である。以下では、第4実施形態の推定装置100-4の場合を例にして説明する。なお、第1乃至第3実施形態の推定装置100-1乃至100-3の場合も、第4実施形態の推定装置100-4と同様である。
【0101】
第4実施形態の推定装置100-4は、制御装置201、主記憶装置202、補助記憶装置203、表示装置204、入力装置205及び通信装置206を備える。制御装置201、主記憶装置202、補助記憶装置203、表示装置204、入力装置205及び通信装置206は、バス210を介して接続されている。
【0102】
制御装置201は、補助記憶装置203から主記憶装置202に読み出されたプログラムを実行する。主記憶装置202は、ROM及びRAM等のメモリである。補助記憶装置203は、HDD(Hard Disk Drive)及びメモリカード等である。
【0103】
表示装置204は、推定装置100-4によって出力される情報(例えば上述の信頼度マップ等)を表示する。表示装置204は、例えば液晶ディスプレイ等である。入力装置205は、推定装置100-4を操作するためのインタフェースである。入力装置205は、例えばキーボードやマウス等である。推定装置100-4がスマートフォン及びタブレット型端末等のスマートデバイスの場合、表示装置204及び入力装置205は、例えばタッチパネルである。
【0104】
通信装置206は、外部記憶装置や3次元計測装置等と通信するためのインタフェースである。
【0105】
第1乃至第4実施形態の推定装置100-1乃至100-4で実行されるプログラムは、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、メモリカード、CD-R及びDVD等のコンピュータで読み取り可能な記憶媒体に記録されてコンピュータ・プログラム・プロダクトとして提供される。
【0106】
また第1乃至第4実施形態の推定装置100-1乃至100-4で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また第1乃至第4実施形態の推定装置100-1乃至100-4で実行されるプログラムをダウンロードさせずにインターネット等のネットワーク経由で提供するように構成してもよい。
【0107】
また第1乃至第4実施形態の推定装置100-1乃至100-4のプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
【0108】
第1乃至第4実施形態の推定装置100-1乃至100-4で実行されるプログラムは、上述した機能ブロック(
図1,5,7及び10)のうち、プログラムによっても実現可能な機能ブロックを含むモジュール構成となっている。当該各機能ブロックは、実際のハードウェアとしては、制御装置201が記憶媒体からプログラムを読み出して実行することにより、上記各機能ブロックが主記憶装置202上にロードされる。すなわち上記各機能ブロックは主記憶装置202上に生成される。
【0109】
なお上述した各機能ブロックの一部又は全部をソフトウェアにより実現せずに、IC(Integrated Circuit)等のハードウェアにより実現してもよい。
【0110】
また複数のプロセッサを用いて各機能を実現する場合、各プロセッサは、各機能のうち1つを実現してもよいし、各機能のうち2以上を実現してもよい。
【0111】
また第1乃至第4実施形態の推定装置100-1乃至100-4の動作形態は任意でよい。第1乃至第4実施形態の推定装置100-1乃至100-4を、例えばネットワーク上のクラウドシステムとして動作させてもよい。
【0112】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0113】
1 取得部
2 生成部
3 推定部
4 統合部
5 決定部
6 算出部
7 補正部
8 表示制御部
21 注目点選択部
22 観測点選択部
23 結合部
100 推定装置
201 制御装置
202 主記憶装置
203 補助記憶装置
204 表示装置
205 入力装置
206 通信装置
210 バス