以下、適宜図面を参照しながら、実施形態を詳細に説明する。
(第1の実施形態)
第1の実施形態では、例えば、対象物の幾何学的形状の識別について説明する。また、例えば、ニューラルネットワークを用いた距離データの幾何学的形状への変換について説明する。また、例えば、ニューラルネットワークの機械学習について説明する。
図1は、第1の実施形態におけるデータ処理装置10に構成例を示すブロック図である。データ処理装置10は、処理部11、通信部12、記憶部13、操作部14、及び表示部15を備える。なお、データ処理装置10における構成部の一部が省略されてもよいし、他の構成部が追加されてもよい。
処理部11は、例えば、プロセッサが記憶部に保持されたプログラムを実行することで、各種機能を実現する。プロセッサは、MPU(Micro processing Unit)、CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(Graphical Processing Unit)、等を含んでよい。処理部は、データ処理装置10内の各部を制御する。処理部11は、各種処理を行う。
処理部11は、例えば、後述する入力データや教師データを用いて、ニューラルネットワークNNを機械学習させる。ニューラルネットワークNNは、実空間の対象物や仮想空間の対象物モデル30の属性を取得するためのニューラルネットワークでよい。ニューラルネットワークNNは、例えば、畳み込みニューラルネットワーク(CNN:Convolutional Neural Network)でよい。本実施形態では、ニューラルネットワークNNの機械学習するための入力データ及び教師データが工夫される。なお、CNN以外のニューラルネットワークが想定されてもよい。
通信部12は、無線又は有線を介して通信する。通信部12による通信方式は、例えば、WAN(Wide Area Network)、LAN(Local Area Network)、近距離無線通信(例えばBluetooth(登録商標)通信)、携帯電話用の通信、電力線通信、等の通信方式を含んでよい。通信部12は、各種データ、情報を通信する。通信部12は、例えば、外部のサーバやデータベースとの間で通信し、必要な情報を取得してよい。
記憶部13は、一次記憶装置(例えばRAM(Random Access Memory)やROM(Read Only Memory))を含む。記憶部は、二次記憶装置(例えばHDD(Hard Disk Drive)やSSD(Solid State Drive))や三次記憶装置(例えば光ディスク、SDカード)を含んでよい。記憶部13は、その他の記憶装置を含んでよい。
記憶部13は、各種データ、情報、プログラムを記憶する。記憶部13は、例えば、機械学習するための入力データ、教師データ、ニューラルネットワークNNの種別(例えばCNN)や各層(例えば畳込み層、プーリング層)のパラメータの情報、を記憶してよい。また、距離計測装置モデルの情報や、3Dモデル空間(仮想空間の一例)に配置される、対象物モデルの情報を記憶してよい。距離計測装置モデルは、レーザスキャナモデルを含んでよい。
操作部14は、入力デバイスを介して各種操作を受け付ける。入力デバイスは、例えば、マウス、キーボード、ボタン、タッチパネル、マイクロホン、その他の入力デバイスを広く含む。操作部は、各種データ、情報の入力を受け付ける。
表示部15は、表示デバイスを介して各種データ、情報を表示する。表示デバイスは、例えば、液晶ディスプレイ、有機ELディスプレイを含んでよい。
図2は、レーザスキャナモデル20と対象物モデル30の一例を示す模式図である。図3は、レーザスキャナモデル20と、対象物モデル30と、レーザスキャナモデル20と対象物モデル30との距離に関する距離データrと、の関係の一例を示す図である。
処理部11は、コンピュータの3Dモデル空間内において、対象物モデル30を取得する。例えば、処理部11は、操作部14により各種操作を受け付けて、対象物モデル30を生成してよい。処理部11は、記憶部13に記憶された対象物モデル30を読み出してよい。処理部11は、通信部12を介して外部装置から対象物モデル30を受信してもよい。処理部11は、取得された対象物モデル30を、3Dモデル空間内における所定の位置に配置する。
処理部11は、コンピュータの3Dモデル空間内(つまり仮想空間内)において、レーザスキャナモデル20を取得する。例えば、処理部11は、記憶部13に記憶されたレーザスキャナモデル20を読み出してよい。処理部11は、通信部12を介して外部装置からレーザスキャナモデル20を受信してもよい。処理部11は、取得されたレーザスキャナモデル20を、3Dモデル空間内における所定の位置に配置する。
対象物モデル30の形状は幾何学的形状を有している。そのため、対象物モデル30は、様々な幾何学的形状のモデルを有することができる。図2では、立方体モデル31と球体モデル32と直方体モデル33を含む。直方体モデル33は、立方体モデル31と球体モデル32とを内包してもよい。
レーザスキャナモデル20は、仮想空間におけるシミュレーションにおいて測定基準点rfを通過し射影面23を通過し測定対象点MPに到達するように、レーザビームをスキャニングしながら出射して、距離データrを取得(計測)する。
図3に示す3Dモデル空間の直交座標系xyzの原点Oは、レーザスキャナモデル20の測定基準点rfとなる。z座標軸は、レーザスキャナモデル20から対象物モデル30に向かう方向に設定されている。x座標軸は、レーザスキャナモデル20の測定基準点rfを通り、図3に示された平面においてz座標軸と直交する方向に設定される。y座標軸(図3では不図示)は、レーザスキャナモデル20の測定基準点rfを通り、z座標軸及びx座標軸と直交する方向に設定される。
図3では、αは、測定基準点rfから対象物モデル30の測定対象点MPに向かうベクトルrとyz平面とのなす角度である。β(図3では不図示)は、測定基準点rfから対象物モデル30の測定対象点MPに向かうベクトルrとxz平面とのなす角度である。ベクトルrの長さが、距離データrが示す距離に相当する。処理部11は、レーザビームのスキャニングを、α、βの角度を順次変化させることで行う。射影点opは、測定対象点MPの位置を射影面23に射影した点である。射影点opを、射影面23上の測定対象点MPとも称する。
また、測定基準点rf、測定対象点MP、及び射影点opは、それぞれ3Dモデル空間の直交座標系xyzに配置される。したがって、測定基準点rf、測定対象点MP、及び射影点opは、それぞれ3次元座標(x,y,z)で示される。
図4は、測定対象点MPの位置を射影面23に射影した一例を示す図である。スキャニングする際のα、βの角度の変化率が一定であれば、測定対象点MPは、図4のような正方格子状に配列される。処理部11は、レーザスキャナモデル20を用いて、例えば、α、βの角度をともに−8度〜+8度の間で0.3度ずつ変化させながら、65回距離を計測し、距離データrを取得する。この場合、計測の結果得られる全体のデータ数は、65*65=4225(個)となる。なお、「*」は乗算符号を示す。
処理部11は、このようにして取得された距離データrの各々に、ガウシアン分布のノイズをランダムに重畳してよい。これは、現実世界(実空間)で距離計測装置(例えばレーザスキャナ)により対象物までの距離が計測された距離データには、様々なノイズが重畳されているからである。また、ノイズを重畳した距離データrを用いて機械学習させた方が、ノイズを重畳していない距離データrで機械学習させたニューラルネットワークよりも、入力データを入力したニューラルネットワークNNから得られる出力データが、実空間における計測結果に近くなり、実態に即しているためである。なお、機械学習の具体的な方法については後述する。
処理部11は、例えば、距離データrを、ニューラルネットワークNNの機械学習用の入力データとする。なお、レーザービームをスキャンニングしながら距離データrが取得されるので、入力データは複数の距離データrを含み得る。処理部11は、例えば、対象物モデル30の属性を、ニューラルネットワークNNの機械学習用の教師データとする。
対象物モデル30の属性は、例えば、対象物モデル30の幾何学形状、対象物モデル30が有する面、対象物モデル30が有する領域、ノイズの無い対象物モデル30に関する距離データや3次元座標データ、対象物モデル30に対応するCADモデルなど、対象物モデル30に関する情報を広く含む。ここで記載した対象物モデル30の属性の一部については、他の実施形態で説明するものもある。
なお、教師データとされる対象物モデル30の属性は、仮想空間に配置される対象物モデル30の情報に付加される付加情報として、機械学習が実施される前に取得可能である。この付加情報は、対象物モデル30が生成される際に付加されてもよいし、外部装置から対象物モデル30の情報とともに取得されてもよい。
処理部11は、距離データrをニューラルネットワークNNの入力データとする場合、距離データrの最大値が1となるように、入力データ全体を規格化(例えば正規化)してよい。
処理部11は、距離データrの他のデータを、ニューラルネットワークNNの入力データとして取得してよい。処理部11は、カメラモデル20Aを用いて対象物モデル30を撮像し、画像データを取得してよい。処理部11は、距離データrを、機械学習用の入力データとしてもよいし、画像データを機械学習用の入力データとしてもよいし、距離データrと画像データとの双方を機械学習用の入力データとしてもよい。
処理部11は、画像データを取得する場合、コンピュータの3Dモデル空間内(つまり仮想空間内)において、カメラモデル20Aを取得する。例えば、処理部11は、記憶部13に記憶されたカメラモデル20Aを読み出してよい。処理部11は、通信部12を介して外部装置からカメラモデル20Aを受信してもよい。処理部11は、取得されたカメラモデル20Aを、3Dモデル空間内における所定の位置に配置する。
処理部11は、図2において、測定基準点rfを焦点rfaとし、射影面23を撮像面23aとするカメラモデル20Aを、仮想空間内に配置してよい。処理部11は、カメラモデル20Aを用いて対象物モデル30のカラー画像をシミュレーションにより撮像し、画像データを取得する。カメラモデル20Aによる撮像画像の画素位置は、レーザスキャナモデル20のスキャン位置と同じとしてよい。
図5は、カメラモデル20Aにより得られる画像データ(カラー画像)の一例を示す図である。カラー画像は、例えばRGBカラー画像である。射影面23上の測定対象点MPの位置(測定点位置)と撮像面23a上の画素PPの位置(画素位置)とは、同じ位置になるようにされてよい。
このようにして、処理部11は、距離データrと画像データとを有する計測データを作成してよい。したがって、各計測データは、距離データrの1チャネルとRGBカラー画像データの3チャンネルの合計4チャネルを有してよい。処理部11は、この計測データを、ニューラルネットワークNNの機械学習用の入力データとしてよい。
次に、処理部11は、レーザスキャナモデル20により距離データrを取得後、レーザスキャナモデル20をカメラモデル20Aと入れ替え、カメラモデル20Aにより画像データを取得してよい。また、逆に、処理部11は、シミュレーションにより、画像データを取得した後に、距離データrを取得してもよい。
また、カメラモデル20Aは、ステレオカメラモデルであってもよい。この場合、ステレオカメラモデルにより得られた画像データを基に、距離データrが算出されて得られてもよい。つまり、レーザスキャナモデルによる距離データrの取得の代わりに、ステレオカメラモデルにより得られた画像データを基に、距離データrが得られてもよい。
次に、仮想空間の対象物モデル30や実空間の対象物の幾何学的形状の識別について説明する。
処理部11は、ニューラルネットワークNNの機械学習用の教師データを、例えば、対象物モデル30の属性である幾何学的形状としてよい。処理部11は、例えば、平面の形状、円柱の形状、球体の形状、楕円球体の形状、上記以外の面形状、を幾何学的形状としてよい。
処理部11は、幾何学的形状を得るためのニューラルネットワークNNのアーキテクチャを設計する。図6は、設計されたニューラルネットワークNNのアーキテクチャの一例を示す図である。
図6では、ニューラルネットワークNNとしてのCNNが、14個の層を含んで形成される。14個の層は、入力層IL、畳み込み層又はプーリング層としての層L1〜L11、全結合層L12、及び出力層OLを含む。入力層ILは、入力データが入力される。層L1,L2、L4,L5、L7,L8,L10、L11は、畳み込み層(Convolutional層)である。層L3、L6、L9は、プーリング層である。全結合層L12は、各データが結合される。出力層OLは、出力データが出力される。
図6では、処理部11は、ニューラルネットワークNNを機械学習するための入力データとして、65画素*65画素*4チャネルのRGBDデータ(カラー画像+距離データ)を用いる。入力データは、入力層ILに入力される。
処理部11は、3画素*3画素*4チャネルの畳み込み(Convolution)を行い、65画素*65画素*32特徴マップの層L1を作成する。
処理部11は、3画素*3画素*32チャネルの畳み込みを行い、65画素*65画素*32特徴マップの層L2を作成する。
処理部11は、2画素*2画素のMax Poolingを行い、33画素*33画素*32特徴マップの層L3を作成する。なお、Max Poolingは、各領域内の最大値をとって情報を圧縮する処理である。
処理部11は、3画素*3画素*32チャネルの畳み込みを行い、33画素*33画素*64特徴マップの層L4を作成する。
処理部11は、3画素*3画素*64チャネルの畳み込みを行い、33画素*33画素*64特徴マップの層L5を作成する。
処理部11は、2画素*2画素のMax Poolingを行い、17画素*17画素*64特徴マップの層L6を作成する。
処理部11は、3画素*3画素*64チャネルの畳み込みを行い、17画素*17画素*128特徴マップの層L7を作成する。
処理部11は、3画素*3画素*128チャネルの畳み込みを行い、17画素*17画素*128特徴マップの層L8を作成する。
処理部11は、2画素*2画素のMax Poolingを行い、9画素*9画素*128特徴マップの層L9を作成する。
処理部11は、3画素*3画素*128チャネルの畳み込みを行い、9画素*9画素*256特徴マップの層L10を作成する。
処理部11は、3画素*3画素*256チャネルの畳み込みを行い、9画素*9画素*256特徴マップの層L11を作成する。
処理部11は、層L11のすべてのユニットを、200ユニットの全結合層L12に全結合する。ユニットは、ニューラルネットワークNNを構成する各ニューロンの単位である。
処理部11は、200ユニットの全結合層L12を、4ユニットの出力層OLに全結合する。つまり、処理部11は、出力層OLから、出力データを出力する。4ユニットの出力層OLには、Softmax関数が用いられてよい。
処理部11は、4ユニットの出力層OLから出力される出力データが下記になるように、ニューラルネットワークNNを機械学習させる。
平面形状の場合:1番目のユニットの出力=1、他のユニットの出力=0
円柱の場合:2番目のユニットの出力=1、他のユニットの出力=0
球体、楕円球体の場合:3番目のユニットの出力=1、他のユニットの出力=0
その他の形状の場合:4番目のユニットの出力=1、他のユニットの出力=0
つまり、上記の幾何学的形状の一例である平面形状、円柱形状、球体、その他の形状、を示すユニットの出力値が、機械学習用の教師データとされる。そして、処理部11は、入力層ILの入力データとしての距離データr及び画像データを含むRGBデータから、機械学習用の教師データが出力層OLの出力データとして得られるように、ニューラルネットワークNNを機械学習する。
図7は、対象物モデル30の計測データの一部分をニューラルネットワークNNにおける入力データとして取り込むパッチ方式を説明するための図である。図6のニューラルネットワークNNには、図7に示すパッチ方式の入力データが入力されてよい。パッチ方式は、ニューラルネットワークNNの機械学習用の入力データの入力方式として採用されてもよいし、機械学習されたニューラルネットワークNNの入力データの入力方式として採用されてもよい。
処理部11は、パッチ方式では、パッチ領域PT内の計測データ(RGBDデータ)を入力データとする。処理部11は、パッチ方式では、パッチ領域PTの中央部PC、即ちニューラルネットワークNNのパッチ領域PTに対応する領域の中央部PCに位置する対象物モデル30の幾何学的形状を分類し、出力データを出力する。そのため、処理部11は、パッチ領域PTに対応する領域の中央部PCに位置する対象物モデル30の幾何学的形状を教師データとして、ニューラルネットワークNNを機械学習させる。処理部11は、パッチ領域PTを対象物モデル30の全データ(全領域)をカバーするように順次移動させながら、例えば図7の矢印d1のように移動させながら、各データ点(各測定対象点MP、画素PPに相当)で、幾何学的形状を出力データとして出力する。処理部11は、このようにパッチ領域PTを用いて対象物モデル30の全データを処理し、対象物モデル30の全体形状を出力する。
機械学習では、幾何学的形状を示す出力データが、教師データの幾何学的形状と一致するように、機械学習される。つまり、図7では、出力データとして、パッチ領域PTの中央部PCが位置する直方体モデル33の形状(例えば直方体、平面)が出力される。
また、処理部11は、ニューラルネットワークNNの機械学習用の入力データと教師データとの組を多数作成するために、対象物モデル30として、直方体、球、円柱、楕円体をランダムに選択し、選択された対象物モデル30のサイズ、角度、位置、等をランダムに変化させて、3Dモデルを生成してよい。
これにより、データ処理装置10は、レーザスキャナモデル20によって3Dモデルに対してレーザビームを照射し、又はカメラモデル20Aによって画像データを取得することで、値がランダムに異なる多数の距離データrや画像データが得られる。よって、データ処理装置100は、機械学習に用いる入力データを、容易に多数用意することができる。
以上のような方法で、データ処理装置10は、多数の入力データと教師データの組を利用して、ニューラルネットワークNNを機械学習させることができる。したがって、データ処理装置10は、機械学習させた後のニューラルネットワークNNに、実空間に配置されたRGBDカメラにより取得された計測データを入力すると、高精度に対象物の表面形状を識別できる。
また、データ処理装置10は、パッチ方式を用いることで、対象物モデル30のサイズの大小に依存せずに、ニューラルネットワークNNのアーキテクチャをそのまま変更せずに利用できる。また、パッチ方式を用いることで、パッチ領域PTに含まれるデータ数が対象物モデル30全体と比較すると少ないことから、入力データ数が比較的少なく済み、ニューラルネットワークNNの規模も小さく済み、そのパラメータ数も少なくて済む。よって、データ処理装置10は、ニューラルネットワークNNの機械学習を比較的短い時間で完了できる。また、データ処理装置10は、パッチ領域PTを順次移動させながら、各データ点で機械学習をさせるので、図4に示すような1つの対象物モデル30から多数の入力データと教師データとの組み合わせを得ることができ、機械学習を行い易くなる。
また、処理部11は、距離データrにノイズを重畳して現実に計測された距離データに近いデータとしてニューラルネットワークの機会学習をさせたが、必ずしもノイズを重畳しなくてもよい。
また、ニューラルネットワークNNの機械学習用の入力データとして、距離データrとRGB画像データで構成された4チャネルの計測データを示したが、これ以外の計測データでもよい。例えば、RGB画像データは白黒画像でもよい。この場合、入力データや計測データは2チャネルのデータとなるので、2チャネルのデータに対応したニューラルネットワークNNのアーキテクチャに変更される。また、入力データや計測データには、画像データが必ずしも含まれなくてもなく、距離データrだけが含まれてもよい。この場合、入力データは、1チャネルの計測データであり、入力の情報が少なくなるので、画像データがある場合と比較すると、ニューラルネットワークNNのパラメータ数が少なくなる。したがって、機械学習を実施し易いシンプルなニューラルネットワークNNとなる。
また、処理部11は、距離データrを入力データとして用いることを主に例示したが、距離データrを基に対象物モデル30の点群データの3D座標データ(x,y,z)に変換して、これを入力データとして用いてもよい。この場合、図2に示すように、距離データrと3D座標データ(x,y,z)との関係は、例えば(式1)により表される。
x=r*sinα
z=r*cosα*cosβ ・・・(式1)
y=r*cosα*sinβ
処理部11は、x,y,zの3D座標の値の各々の最大値が1、最小値が0となるように規格化(例えば正規化)してよい。処理部11は、その規格化された3D座標を3チャネルの入力データとする。したがって、RGB画像データも入力データとして利用する場合は、合計6チャネルの入力データとなる。この場合、処理部11は、合計6チャネルの入力データに対応したニューラルネットワークNNのアーキテクチャに修正する。これにより、データ処理装置10は、6チャネルの入力データの場合でもニューラルネットワークNNを機械学習させることができ、機械学習されたニューラルネットワークNNを用いて、任意の入力データを基に、対象物モデル30の幾何学的形状を出力できる。
また、ニューラルネットワークNNにパッチ方式の入力データが用いられることを例示したが、第2の実施形態等と同様に、ニューラルネットワークNNにパッチ方式の入力データが用いられなくてもよい。
このように、処理部11は、3次元モデル空間(仮想空間の一例)においてレーザスキャナモデル20(距離計測装置モデルの一例)の測定基準点rfから対象物モデル30の測定対象点MP(測定点の一例)までの距離データrを、シミュレーションにより算出してよい。処理部11は、距離データr、又は、距離データrに基づく対象物モデル30の点群データの3次元座標データ(3D座標データ)、を入力データ(第1の入力データの一例)とし、対象物モデル30の属性(例えば幾何学的形状)を教師データ(第1の教師データの一例)として、ニューラルネットワークNN(第1のニューラルネットワークの一例)を機械学習させてよい。
これにより、データ処理装置10は、距離データrや点群データの3次元座標データ等の機械学習用の入力データを仮想空間上で用意するので、実測して距離データrや点群データの3次元座標データを得るよりも、容易に多数の入力データを取得できる。また、教師データは、対象物モデル30を取得して仮想空間内に配置する際に、その対象物モデル30の付加情報として容易に取得可能である。したがって、データ処理装置10は、対象物の3Dモデルやポリゴン平面を得るための対象物に関するデータ(例えば機械学習用の入力データや教師データ)を容易に多数取得できる。
また、データ処理装置10は、3Dモデル空間に現実世界(実空間)の対象物に対応する対象物モデル30を構築し、実際の距離計測と似た原理に基づくシミュレーションを行うことで、対象物モデル30までの距離データrや点群データを取得し、同時に対象物モデル30の属性を利用して、ニューラルネットワークNNの機械学習の教師データを作成できる。
また、入力データは、距離データr又は3次元座標データにノイズ(例えばランダムノイズ)を重畳したデータでよい。
これにより、データ処理装置10は、距離データrや3次元座標データとともに画像データを用いて機械学習することで、機械学習に用いるパラメータが増えるので、機械学習の学習精度を向上できる。したがって、データ処理装置10は、実空間におけるノイズを有する物体(例えば家具、インテリア、建築物)のデータを基に、機械学習されたニューラルネットワークNNを用いて、3次元モデルの表面形状を判断できる。よって、データ処理装置10は、実空間上における様々な物体(対象物)を取り込んで、その表面形状を認識して、仮想空間において、認識された表面を有する3Dモデルを用いて様々なサービスを提供することを可能とする。
また、入力データは、仮想空間において、レーザスキャナモデル20(距離計測装置モデルの一例)の測定基準点rfから対象物モデル30の測定点(画素PP)への画像撮影シミュレーションを行って得られる画像データを含んでよい。
これにより、データ処理装置10は、距離データや3次元座標データとともに画像データを用いて機械学習することで、機械学習に用いるパラメータが増えるので、機械学習の学習精度を向上できる。つまり、データ処理装置10は、対象物モデル30の距離データrや3次元座標データに基づく形状データとともに画像データに基づく色データを利用して、機械学習でき、学習精度を向上できる。
また、対象物モデル30の属性は、幾何学的形状でよい。
これにより、データ処理装置10は、入力データとしての距離データrや3次元座標データから、教師データとしての対象物モデル30の幾何学的形状が得られるように、ニューラルネットワークNNを機械学習できる。よって、データ処理装置10は、仮想空間上の様々な対象物モデルや実空間上の様々な対象物を基に、対象物モデルや対象物の形状を判断する判断精度を向上できる。そのため、データ処理装置10は、対象物モデル30や対象物の形状に基づく面の判断や面に基づく3次元モデルの生成の精度を向上できる。
(第2の実施形態)
第1の実施形態では、教師データとして対象物モデル30の幾何学的形状を利用した。第2の実施形態では、処理部11は、幾何学的形状として、平面(平面領域)であるか、非平面(非平面領域)であるかを識別することを説明する。
幾何学的形状として、平面(平面領域)であるか、非平面(非平面領域)であるかを識別する場合、出力層OLのユニット数が「2」となるニューラルネットワークNNのアーキテクチャに変更される。ニューラルネットワークNNのアーキテクチャの変更は、処理部11により行われてもよいし、他の装置で行われてもよい。
第2の実施形態のデータ処理装置10は、第1の実施形態のデータ処理装置10の構成と同様であるので、その説明を省略する。
図8Aは、平面領域と非平面領域とに分類する分類例を示す図である。つまり、図8Aは、入力データを平面領域と非平面領域とに分類する一例を示す模式図である。図8Aでは、符号FFは、平面を示し、符号NFは、非平面を示す。
処理部11は、平面領域と非平面領域とに分類するためのニューラルネットワークNNを用いて、対象物モデル30上の各測定対象点MPの距離データrを識別してよい。処理部11は、距離データrの識別により、各測定対象点MPが対象物モデル30における平面領域に属するか、非平面領域(例えば曲面領域)に属するか、を識別してよい。図8Aでは、対象物モデル30において3つの平面と一つの球面が存在する。具体的には、対象物モデル30全体が平面を有し、立方体モデル31が平面を有し、直方体モデル33が平面を有する。また、球体モデル32が球面を有する。処理部11は、3つの平面上の測定対象点MPを、全て平面上のデータとして区分する。そのため、各測定対象点MPがどの平面に属しているかは不明である。処理部11は、球面上の測定対象点MPを非平面上のデータとして区分する。
なお、ここでは、距離データrを用いて測定対象点MP毎に平面領域に属するか非平面領域に属するかを識別することを示しているが、計測データとして画像データを用いる場合には、処理部11は、カメラモデル20Aにより撮像される画素毎に平面領域に属するか非平面領域に属するかを識別してもよい。
処理部11は、平面と非平面とを分類するニューラルネットワークNNを機械学習させる。このニューラルネットワークNNでは、機械学習用の入力データとして計測データ(例えばRGBDデータ、距離データ、3次元座標データ、画像データ)が用いられる。また、機械学習用の出力データとして、対象物モデル30の対象点における面の識別結果(例えば平面、非平面)が用いられる。データ処理装置10は、平面と非平面とを分類するニューラルネットワークNNを機械学習させることで、様々な入力対象の対象物又は対象物モデル30について、高精度に各対象点が平面領域であるか非平面領域であるかを識別できる。なお、対象点は、測定点や画素を含む。
次に、画像データを入力して機械学習するニューラルネットワークNNとの組み合わせについて説明する。
図8Bは、画像領域の分割例を示す図である。つまり、図8Bは、入力データの領域を分割する一例を示す模式図である。処理部11は、平面と非平面とを分類するニューラルネットワークNNとは別に、対象物モデル30の画像領域を分割するニューラルネットワークNNを作成してよい。図8Bでは、処理部11は、対象物モデル30の領域を画素(測定対象点MP)単位で分割する。つまり、処理部11は、画素単位で各画素が平面に属するか非平面に属するかを判定する。
なお、ここでは、画素単位での分割を示しているが、計測データとして画像データを用いない場合には、処理部11は、距離データrを測定するための測定点毎に測定領域を分割してよい。
処理部11は、対象物モデル30の領域(画像領域、測定領域)を分割するニューラルネットワークNNを機械学習させる。このニューラルネットワークNNでは、機械学習用の入力データとして計測データ(例えばRGBDデータ、距離データ、3次元座標データ、画像データ)が用いられる。また、機械学習用の出力データとして、対象物モデル30の領域の分割結果(例えば平面、非平面)が用いられる。データ処理装置10は、対象物モデル30の領域を分割するニューラルネットワークNNを機械学習させることで、様々な入力対象の対象物又は対象物モデル30について、高精度に各対象点が平面領域であるか非平面領域であるかを識別できる。
図9は、画像領域分割のためのニューラルネットワークNNのアーキテクチャの一例を示す図である。
図9のニューラルネットワークNNでは、パッチ方式ではなく、対象物モデル30から取得された全画像データを一度に入力する方式に従って、入力データから出力データが得られる。処理部11は、出力データを教師データとすることで、機械学習してよい。処理部11は、図5で示した撮像面23aに対象物モデル30を投影した画像データを、機械学習用の入力データとして用いてよい。また、処理部11は、対象物モデル30に付加された付加情報が示す、対象物モデル30の各点の面の属性(例えば平面、曲面)が、教師データとして用いられてよい。
図9では、ニューラルネットワークNNにおいて、画像の処理プロセスであるPooling、Convolution、Upsampling、Softmaxの処理プロセスが示されている。つまり、処理部11は、プーリング処理(例えばMax Pooling)、畳み込み処理(Convolution)、アップサンプリング処理(Upsampling)、Softmax処理、を行う。図9では、畳み込み処理が行われる畳み込み層CL、プーリング処理が行われるプーリング層PL、アップサンプリング処理が行われるアップサンプリング層UL、等が記されている。Softmax関数を用いたSoftmax処理は、出力層OLで行われる。
処理部11は、ニューラルネットワークNNの機械学習用の入力データに対して、畳み込み処理2回とプーリング処理1回とを一まとまりの処理として、これを5回行う。次に、処理部11は、上記一まとまりの処理により得られたデータに対して、アップサンプリング処理1回と畳み込み処理2回とを一まとまりの処理として、これを5回行う。
アップサンプリング処理は、プーリング処理の逆の処理である。つまり、プーリング処理は、一定の画素領域の中から最大値を抽出し、その領域を最大値の1画素に置き換える処理である。これに対し、アップサンプリング処理は、1画素の値を、プーリング処理した画素領域の最大値を出した元の画素位置に戻す処理である。つまり、プーリング処理とアップサンプリング処理は対応関係にある。1画素は、1つの測定対象点MPに対応している。
最後に、処理部11は、Softmax処理により、各画素がどの領域に属しているかを出力する。図8Bが、各画素がどの領域に属しているか示す情報を示す。図8Bに示すように、処理部11は、対象物モデル30の各点を、領域a,b,c,dのうちいずれかの領域に分割する。
処理部11は、図8Bに示した領域分割の結果と図8Aに示した平面領域・非平面領域の分類結果とを組み合わせることで、平面領域に属するデータを、個別の平面に属するデータに分類できる。つまり、処理部11は、対象物モデル30の各対象点がどの種類の平面に属するかを識別可能となる。同様に、処理部11は、非平面領域に属するデータを、個別の非平面に属するデータに分類できる。そして、非平面が複数存在する場合でも、処理部11は、対象物モデル30の各対象点がどの種類の非平面に属するかを識別可能となる。
例えば、処理部11は、領域a,b,cを、それぞれ別の平面として数式モデルで表すことができる。係数l,m,nが同時にゼロではない係数とすると、平面の方程式は、例えば以下の(式2)により表される。
lx+my+nz=1 ・・・(式2)
処理部11は、(式2)に従って、領域aに分類された複数(例えば全て)の3D座標データを用いることで、係数l,m,nを特定してよい。この場合、処理部11は、最小二乗法を用いて係数l,m,nを特定してよい。同様に、処理部11は、領域b,cに分類された画素の3D座標データを用いて、係数l,m,n等を有する平面の方程式を導出可能である。
このようにして、データ処理装置10は、領域a,b,cに分類された各領域が平面領域であることを認識できる。また、データ処理装置10は、機械学習されたニューラルネットワークを用いて各領域を分割(分類)することで、対象物モデル30の領域を高精度に分割できる。
また、処理部11は、各平面領域の角位置にあるデータ(点群データのうちの1つのデータ)を抽出することで、最も大きなサイズのポリゴン面を作成してよい。図8Bの場合、処理部11は、例えば、領域a,b,cに属するデータに含まれるその四隅のデータを、2つの三角ポリゴンで置き換えてよい。なお、三角ポリゴンは1例であり、n角形(n≧4)のポリゴンであってもよい。
これにより、データ処理装置10は、点群データを扱う場合と比較して、ポリゴンを扱うことで、処理データ量を大幅に削減できる。また、データ処理装置10は、機械学習されたニューラルネットワークNNを用いた領域分割の結果を用いて、各平面領域をポリゴン面に変更することで、各平面領域をポリゴン面に変更する変更精度を向上できる。
また、処理部11は、非平面上に分類されたデータ(例えば領域dに属するデータ)に対して、非平面上に分類された3点のデータを用いて、平面を形成してよい。処理部11は、形成された平面からの乖離率が閾値th以下である場合、同一面内に属すると判定し、データをポリゴン面に置き換え、乖離率が閾値thより大きい場合、同一面内に属しないと判定し、データを異なるポリゴン面に置き換えてよい。この場合に、データ処理装置10は、機械学習されたニューラルネットワークNNを用いた領域分割の結果を用いて、非平面領域を1つ以上のポリゴン面に変更することで、各非平面領域をポリゴン面に変更する変更精度を向上できる。
以上のようにして、データ処理装置10は、3Dモデルの3D座標データ(点群データ)をポリゴン面に置換でき、データ量を削減できる。また、データ処理装置10は、点群データを平面のデータに置換でき、点と点の間のすき間を埋めた3Dモデルを形成できる。この場合に、データ処理装置10は、機械学習されたニューラルネットワークNNを用いることで、出力データとして得られる面の判定や領域の判定の判定精度を向上できるので、3Dモデルの生成精度を向上できる。
なお、ニューラルネットワークNNは、複数存在してよい。例えば、RGBDデータや距離データや3D座標データを入力データとし、対象物モデル30の属性を教師データとして、機械学習されるニューラルネットワークNN1と、距離データや3D座標データを含まずRGB画像データを入力データとし、対象物モデル30の属性を教師データとして、機械学習されるニューラルネットワークNN2と、が存在してよい。この場合、ニューラルネットワークNN1,NN2では、別々に機械学習が進行する。したがって、処理部11は、距離データ及び3D座標データのいずれかに基づく機会学習の結果と、距離データ及び3D座標データのいずれにも基づかない機械学習の結果とを、双方得ることができる。よって、距離データの精度が多少低い場合でも、処理部11は、それぞれの機械学習の結果を組合わせて加味することで、高精度の出力データを取得できる可能性が高くなる。
このように、幾何学的形状は、平面と非平面とを含んでよい。処理部11は、非平面に存在する点群データを、前記点群データとの乖離が一定値を越えない範囲で1つ以上の平面領域に置換し、平面及び平面領域を、平面及び平面領域の角位置にn角形(nは3以上の整数)における1つの頂点を持つn角ポリゴン面に変換してよい。
これにより、機械学習の教師データを、平面又は非平面とすることができる。したがって、データ処理装置10は、機械学習されたニューラルネットワークを用いることで、入力データとしての計測データ(例えばRGBDデータ)から、対象物モデルの各対象点が属する面や領域を、高精度に識別できる。また、対象物モデル30を表現する点群データをポリゴン面に変換することでデータ量を削減できる。また、データ処理装置10は、機械学習されたニューラルネットワークNNを用いた面や領域の識別結果を用いて、非平面を1つ以上のポリゴン面に変更することで、各非平面をポリゴン面に変更する変更精度を向上できる。
また、処理部11は、カメラモデル20Aの測定基準点rf(焦点rfa)から対象物モデル30の測定点(画素PP)への画像撮影シミュレーションを行って得られる画像データを入力データ(第2の入力データの一例)とし、対象物モデル30の属性を教師データ(第2の教師データの一例)として、ニューラルネットワークNNを機械学習させてよい。この入力データは、距離データ及び3D座標データを含まなくてよい。
これにより、データ処理装置10は、距離データ及び3D座標データを加味したニューラルネットワークNN1とともに、距離データ及び3D座標データを含まず画像データを用いて機械学習したニューラルネットワークNN2を追加して利用する。そのため、データ処理装置100は、画像認識の機能を追加でき、距離データ及び3D座標データを加味しない機械学習も行われるので、ニューラルネットワークNN1,NN2を組合わせると、機械学習の学習精度を一層向上できる。
また、対象物モデル30の属性は、対象物モデル30の領域を含んでよい。この場合、データ処理装置10は、教師データを対象物モデル30の領域として、ニューラルネットワークNNを機械学習させることができる。教師データは、対象物モデル30の付加情報として容易に取得可能である。
(第3の実施形態)
第3の実施形態では、点群データのノイズ除去に機械学習を用いることを説明する。
第3の実施形態のデータ処理装置10は、第1,第2の実施形態のデータ処理装置10の構成と同様であるので、その説明を省略する。
前述したように、レーザスキャナモデル20から対象物モデル30の測定対象点MPまでの距離データrとその3D座標データ(x,y,z)との関係は、(式1)で表される。
現実世界(実空間)で距離計測装置により対象物までの距離計測を行う場合、一般に距離方向に比較的大きなノイズが重畳される。この距離方向のノイズをdrとすると、ノイズが重畳された距離データr’は、例えば下記の(式3)のように表される。
r’=r+dr ・・・(式3)
この場合、距離データr’と3D座標データ(x’,y’,z’)との関係は、(式4)となる。
x’=r’*sinα
z’=r’*cosα*cosβ ・・・(式4)
y’=r’*cosα*sinβ
ここで、ノイズdrは、角度α,β(図3参照)が変化するごとにランダムに重畳されるガウシアン分布のノイズでよく、現実の距離計測で発生するノイズに近づけてよい。
(式3)の距離データrは、ノイズが重畳されていない理想的な値である。処理部11は、この距離データrを、ニューラルネットワークNNの機械学習の教師データとする。また、処理部11は、(式4)のノイズが重畳された距離データr’を、ニューラルネットワークNNの機械学習の入力データとする。処理部11は、ニューラルネットワークNNを機械学習させることで、ノイズを除去するデータ処理システム(データ処理手法)を獲得できる。
次に、ノイズを除去するためのニューラルネットワークNNのアーキテクチャの一例について説明する。ニューラルネットワークNNのアーキテクチャの構造は、図6と同様であり、第1の実施形態と同様であるが、入力層ILのチャネル数及び出力層OLのユニット数や、最初の畳み込み層である層L1で畳み込み処理されるチャネル数が異なる。
ニューラルネットワークNNの入力層ILに入力される入力データは、距離データrの1チャネルであり、出力層OLに出力される出力データも距離データr’の1チャネルである。処理部11は、距離データrと距離データr’の中での最大値が1となり最小値が0となるように、距離データrと距離データr’とを規格化(例えば正規化)してよい。また、層L1で畳み込み処理されるチャネル数は、1チャネルである。入力データのチャネル数が1であることで、入力データ数が少ないので、データ処理装置10は、ニューラルネットワークNNの機械学習を高速化できる。
また、処理部11は、ノイズを除去するためのニューラルネットワークNNの機械学習において、パッチ方式の入力データを用いてよい。処理部11は、パッチ領域PTを順次移動させることで、点群データ全体のノイズを除去するための機械学習を実施できる。よって、データ処理装置10は、実空間における点群データを入力した場合、機械学習後のニューラルネットワークNNを用いて、ノイズを除去した点群データを取得することができる。
また、処理部11は、ニューラルネットワークNNの機械学習用の入力データにRGB画像データを追加して、距離データrのチャネルと合わせてチャネル数を4としてもよい。この場合、出力データのユニット数も4となり、層L1で畳み込み処理されるチャネル数も4となる。この場合、データ処理装置10は、機械学習の学習精度を向上でき、ノイズ除去の性能を向上できる。
以上のような方法で、データ処理装置10は、機械学習後のニューラルネットワークNNを用いたノイズ除去では、ノイズをしっかりと除去しながら、対象物の表面形状の凹凸を忠実に再現する平滑化を行うことができる。また、データ処理装置10は、実空間で測定された点群データに対して、ニューラルネットワークNNのパッチ領域PTをスキャンさせることでノイズを除去できるので、高速かつ簡易にノイズ除去できる。
このように、対象物モデル30の属性は、ノイズを重畳していない距離データr又は点群データの3次元座標データであってよい。
これにより、データ処理装置10は、距離データや3次元座標データを基に機械学習することで、ノイズの無い対象物を得ようと最適化されていくので、例えばフィルタを用いてノイズ除去する場合と比較すると、ノイズ除去の精度を向上できる。具体的には、データ処理装置10は、平滑化処理において、ノイズが多めに除去され、対象物の形状表面の凹凸が平坦化されたり角部が丸くなったりすることを抑制できる。また、データ処理装置10は、平坦化処理においてノイズが少なめに除去されることで、対象物にノイズが残存することを抑制できる。
また、データ処理装置10は、機械学習のための入力データを生成するために、距離データや3次元座標データにノイズを重畳することを自動的に実施できる。そのため、データ処理装置10は、例えばユーザが1つ1つのノイズを重畳するための操作を行うことと比較すると、様々なノイズを高精度に重畳でき、ノイズの重畳精度を向上できる。したがって、データ処理装置10は、入力データのバリエーションを増大し、機械学習精度を向上できる。
また、データ処理装置10は、実空間における物体(例えば家具、インテリア、建築物)までのノイズを含む距離計測データからノイズの無い距離計測データを生成できるので、実空間上における様々な物体を取り込んで、仮想空間内においてそのノイズの無い物体を使用した様々なサービスを提供することを可能とする。また、ノイズとしてランダムノイズを利用する場合、データ処理装置10は、例えば乱数を用いることでランダムノイズを容易に生成でき、機械学習用の多数の入力データを簡単に生成できる。
また、入力データは、仮想空間において、カメラモデル20Aの測定基準点rf(焦点rfa)から対象物モデル30の測定点(画素PP)への画像撮影シミュレーションを行って得られる画像データを含んでよい。
これにより、データ処理装置10は、距離データや3次元座標データとともに画像データを用いて機械学習することで、画像認識の機能を追加できるので、機械学習の学習精度を向上できる。つまり、データ処理装置10は、対象物モデル30の距離データrや3次元座標データに基づく形状データとともに画像データに基づく画像認識データを利用して、機械学習でき、学習精度を向上できる。
(第4の実施形態)
第4の実施形態では、対象物モデル30の属性が、対象物モデル30の少なくとも一部のCADモデルであることを説明する。
第4の実施形態のデータ処理装置10は、第1〜3の実施形態のデータ処理装置10の構成と同様であるので、その説明を省略する。
処理部11は、画像データで対象物モデル30の領域を分割し、分割された領域(分割領域)の名称を同定し、分割領域に位置する3D座標データを基に分割領域のサイズを決定し、分割領域の点群データをCADモデル(オブジェクト)に変換する。なお、対象物モデル30の領域分割は、第2の実施形態と同様でよく、例えば図8Bに示したものと同様でよい。
前述したように、処理部11は、3Dモデル空間に、レーザスキャナモデル20と対象物モデル30を配置する。処理部11は、レーザスキャナモデル20の測定基準点rfから対象物モデル30までの距離データrをシミュレーションで取得する。処理部11は、この距離データrにランダムノイズを重畳し、現実に計測した(実空間で得られる)距離データrに近似させてよい。
次に、処理部11は、レーザスキャナモデル20の測定基準点rfをカメラの焦点rfaとして、対象物モデル30のカラー画像データ(RGB画像データ)をシミュレーションで撮像する。
処理部11は、これら距離データrとカラー画像データの4チャネルデータ(4チャネルの計測データ)を、ニューラルネットワークNNの入力データとする。このニューラルネットワークは、対象物モデル30の領域分割するためのニューラルネットワークでよい。また、処理部11は、対象物モデル30の領域(分割領域)を機械学習の教師データとする。処理部11は、この教師データを、生成されたり外部装置から取得されたりした対象物モデル30に付加された付加情報として、取得可能である。
処理部11は、入力データから教師データが得られるように、ニューラルネットワークNNを機械学習させる。このニューラルネットワークNNは、図9に示したアーキテクチャと同様の構造を持つ。つまり、パッチ方式が採用されず、パッチ領域PTが設定されなくてよい。なお、パッチ方式が採用されてもよい。
図10Aは、対象物モデル30を領域分割するためのニューラルネットワークNNの教師データ及び出力データの一例を示す図である。ここでは、対象物モデル30の各対象点が、領域a,b,c,dのいずれかにとなるように分割されている。
また、処理部11は、4チャネルデータを入力データとし、対象物モデル30の名称を教師データとして、ニューラルネットワークNNを機械学習させる。このニューラルネットワークNNは、対象物モデル30の名称を導出するためのニューラルネットワークNNでよい。このニューラルネットワークNNは、図6に示したアーキテクチャと同様の構造を持つ。つまり、パッチ方式が採用され、パッチ領域PTが設定される。よって、このニューラルネットワークNNでは、適当なサイズを有するパッチ領域PTを対象物モデル30上で移動させるパッチ方式が採用される。例えば、パッチ領域PT内で最大面積を持つ対象物60の名称が、ニューラルネットワークNNの出力データとして出力される。なお、ここでのニューラルネットワークでは、パッチ方式が採用されなくてもよい。
図10Bは、対象物モデル30の名称を導出するためのニューラルネットワークNNの教師データ及び出力データの一例を示す図である。ここでは、対象物モデル30の各対象点が、壁、窓、テレビ、ボールのいずれかであると識別され、対象物モデル30の名称として出力されている。
そして、処理部11は、ニューラルネットワークNNが出力する領域と名称を組み合わせて、対象物モデル30の領域と名称を同定する。
次に、処理部11は、対象物名称(対象物モデル30の名称)で識別される3D−CADモデルを、様々な3D−CADモデルを蓄積するデータベースから取得する。このデータベースは、記憶部13に保持されてよい。また、このデータベースは、外部サーバに保持されていてもよい。この場合、処理部11は、通信部12を介してデータベースを参照し、該当する3D−CADモデルを受信する。
そして、処理部11は、取得された3D−CADモデルを必要に応じて加工する。例えば、処理部11は、出力領域(ニューラルネットワークNNから出力された対象物モデル30の領域)に合致するように、3D−CADモデルの拡大縮小、回転、移動、等の加工を行う。加工された3D−CADモデルを、出力領域に配置する。処理部11は、ニューラルネットワークNNの出力データとして得られた名称と領域の全てに対して同様の処理を行うことで、入力データを3D−CADモデルに変換する。
以上のような方法で、データ処理装置10は、多数の入力データ(例えば4チャネルデータ)と教師データ(例えば名称、領域)の組を利用して、ニューラルネットワークNNを機械学習させることができる。したがって、データ処理装置10は、例えば点群データを、人手によって(操作部14を介して)3D−CADモデルなどに変換することが不要となり、3D−CADモデル等に変換するための作業に要する時間とコストを低減できる。つまり、データ処理装置10は、人手を介さず、自動で3D−CADモデルへの変換ができるため、3D−CADモデルの作成に際し、大幅な時間短縮とコスト削減を実現できる。
このように、前記対象物モデルの属性は、前記対象物モデルの領域又は前記対象物モデルの名称を含んでよい。
これにより、データ処理装置10は、教師データを対象物モデル30の領域又は対象物モデル30の名称として、ニューラルネットワークNNを機械学習させることができる。これらの教師データは、対象物モデル30の付加情報として容易に取得可能である。データ処理装置10は、機械学習されたニューラルネットワークNNを用いることで、入力データとしての計測データ(例えばRGBDデータ)から、対象物モデル30の各対象点が属する領域やその名称を、高精度に識別できる。
また、処理部11は、対象物モデル30の領域に、対象物モデル30の名称で識別される対象物モデル30に対応するCADモデル(3D−CADモデルの一例)を配置してよい。
これにより、データ処理装置10は、対象物モデル30を表現する点群データをCADモデルに変換することで、データ量を削減できる。また、データ処理装置10は、機械学習されたニューラルネットワークNNを用いた対象物モデル30の領域や名称の識別結果を用いて、該当する領域をCADモデルに変更することで、CADモデルに変更する変更精度を向上できる。
以上、図面を参照しながら各種の実施形態について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。
(人工知能によるデータ量削減の効果の補足)
大きな構造物や自然環境などの3D点群データは、一般にデータ量が大きい。そのため、このような3D点群データがそのままパソコン内に取り込まれ、移動や回転などの操作が行われると、演算処理に要する時間が長くなり、スムーズに操作することが困難である。そこで、3D点群データのデータ量を削減する方法がとられることがある。しかし、3D点群データのデータ量が一様に削減されると、点群データの密度が疎となるために、対象物の細かい表面形状が保持されなくなり、正確な形状を表現することが困難である。そこで、対象物の表面形状の変化率が高い領域では点群データの削減率を下げ、形状の変化率が低い領域では点群データの削減率を上げることが考えられる。しかし、形状の変化率の高低の判別は困難である。
これに対し、上記実施形態のデータ処理装置10によれば、このような事情が、人工知能を用いたデータ量削減により解消される。例えば、データ処理装置10は、機械学習によって3次元点群データのデータ量を削減するために、3次元点群データにおいて一様にデータ量減らす場合と比較すると、3次元モデルの細かな表面形状を保持し易くなり、正確な形状を表現し易くなる。また、データ処理装置10は、対象物モデル30の表面形状を高精度に判定できるので、表面形状の組み合わせにより形成される3次元モデルの復元精度も向上できる。
また、データ処理装置10は、3D点群データにノイズが重畳されている場合でも、機械学習用の入力データとしてノイズが付加されたデータが用いられることで、ノイズが計測データに付加されている場合の対象物モデル30の属性の判断を機械学習できる。よって、データ処理装置10は、機械学習されたニューラルネットワークNNを用いることで、ノイズが付加された入力データを基に、対象物モデル30の表面形状の変化かノイズかを高精度に判断できる。
(点群データの3D−CAD変換、ポリゴン変換の効果の補足)
さらに、点群データは、文字通り点の情報しか持たないデータであるため、点と点の間には情報がない。そこで、点と点を結んで平面を形成し面の情報を持たせることも多く、点群データを3D−CADモデルに置き換える方法が用いられることがある。例えば、壁や床を構成する点群が平面モデルに変換され、パイプや電柱を構成する点群が円柱モデルなどに変換される。このような3D−CADモデルへの変換は、データ量の削減にも貢献する。シンプルな形状への変換では変換が容易であるが、複雑な形状(例えば、椅子や机など)を自動で3D−CADに変換する技術は困難であり、まだ正解率が低い。そのため、人が手作業で点群データを3D−CADモデルに置き換えるケースも多いが、この作業は時間がかかり、非効率である。これに対し、上記実施形態のデータ処理装置10によれば、このような事情が解消される。
(人工知能の効果の補足)
人工知能の教師データは、人手により作成されることが多い。そのため、多数個の教師データを作成するには多大な時間がかかる。これに対し、上記実施形態のデータ処理装置10によれば、多数個の教師データを3Dモデル空間で行うことで、全てコンピュータ内(仮想空間内)で簡単に処理することができるので、飛躍的な効率アップと時間短縮を実現できる。
なお、上記の各実施形態を組合わせてもよい。