(57)【要約】【課題】計測したデータから３次元モデルを生成することができる技術を提供する。【解決手段】３次元モデル生成装置は、３次元の計測点群を記憶する記憶部と、３次元形状である複数のセグメントを生成して計測点群を分割するセグメント生成部と、生成されたセグメントの連結関係を特定する連結関係特定部と、連結関係にあるセグメントに属する計測点群の位置情報から、計測点群の長手軸を抽出する長手軸抽出部と、連結関係にあるセグメントに属する計測点群の位置情報から、長手軸に対する計測点群の２次元断面の形状を抽出する２次元形状抽出部と、２次元断面を長手軸方向に引き延ばすことで、３次元モデルを生成するモデル生成部と、を有する。【選択図】  図１
2017142547.tif 000002
【特許請求の範囲】
【請求項１】
３次元の計測点群を記憶する記憶部と、
３次元形状である複数のセグメントを生成して前記計測点群を分割するセグメント生成部と、
前記生成されたセグメントの連結関係を特定する連結関係特定部と、
前記連結関係にあるセグメントに属する計測点群の位置情報から、前記計測点群の長手軸を抽出する長手軸抽出部と、
前記連結関係にあるセグメントに属する計測点群の位置情報から、前記長手軸に対する計測点群の２次元断面の形状を抽出する２次元形状抽出部と、
前記２次元断面を前記長手軸方向に引き延ばすことで、３次元モデルを生成するモデル生成部と、を有すること
を特徴とする３次元モデル生成装置。
【請求項２】
請求項１に記載の３次元モデル生成装置であって、
前記連結関係特定部は、セグメントの連結関係をグラフネットワークで示すことを特徴とする３次元モデル生成装置。
【請求項３】
請求項１に記載の３次元モデル生成装置であって、
前記２次元形状抽出部は、前記長手軸に対し直角又はほぼ直角のセグメントに対し、前記グラフネットワークから最長パスを算出し、最長パスに存在するセグメントに属する計測点群の重心位置から算出した２次元の線分を、２次元断面の形状とすること
を特徴とする３次元モデル生成装置。
【請求項４】
請求項３に記載の３次元モデル生成装置であって、
前記２次元形状抽出部は、前記２次元の線分と、前記最長パスに存在するセグメントと連結するセグメントの計測点群の位置情報とから、前記２次元の線分を平滑化して２次元断面の形状を抽出すること
を特徴とする３次元モデル生成装置。
【請求項５】
請求項１に記載の３次元モデル生成装置であって、
前記長手軸算出部は、セグメントの連結関係を示すグラフネットワーク上での最長パスを算出し、前記最長パスに存在するセグメントに属する計測点群の重心位置から長手軸を抽出すること
を特徴とする３次元モデル生成装置。
【請求項６】
請求項１に記載の３次元モデル生成装置であって、
前記生成された３次元モデルを出力する出力部、をさらに有すること
を特徴とする３次元モデル生成装置。
【請求項７】
３次元モデル生成装置による３次元モデル生成方法であって、
前記３次元モデル生成装置は、３次元の計測点群を記憶する記憶部、を有し、
３次元形状である複数のセグメントを生成して前記計測点群を分割するセグメント生成ステップと、
前記生成されたセグメントの連結関係を特定する連結関係特定ステップと、
前記連結関係にあるセグメントに属する計測点群の位置情報から、前記計測点群の長手軸を抽出する長手軸抽出ステップと、
前記連結関係にあるセグメントに属する計測点群の位置情報から、前記長手軸に対する計測点群の２次元断面の形状を抽出する２次元形状抽出ステップと、
前記２次元断面を前記長手軸方向に引き延ばすことで、３次元モデルを生成するモデル生成ステップと、を有すること
を特徴とする３次元モデル生成方法。
【請求項８】
記憶装置と、演算装置とを有するコンピュータにより実行されるコンピュータ読み取り可能なプログラムであって、
前記記憶装置には、３次元の計測点群、が記憶され、コンピュータにより実行されると、コンピュータを、
３次元形状である複数のセグメントを生成して前記計測点群を分割するセグメント生成部と、
前記生成されたセグメントの連結関係を特定する連結関係特定部と、
前記連結関係にあるセグメントに属する計測点群の位置情報から、前記計測点群の長手軸を抽出する長手軸抽出部と、
前記連結関係にあるセグメントに属する計測点群の位置情報から、前記長手軸に対する計測点群の２次元断面の形状を抽出する２次元形状抽出部と、
前記２次元断面を前記長手軸方向に引き延ばすことで、３次元モデルを生成するモデル生成部と、して機能させること
を特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元モデル生成装置、３次元モデル生成方法及びプログラムに関する。
【背景技術】
【０００２】
特許文献１（特開2009-129189号公報）には、距離を計測できるセンサによって計測したシーンデータと、目的物体の三次元形状を表すモデルデータとを、物体の局所的な表面形状を表す特徴量について照合することにより物体の三次元位置姿勢を検出する三次元物体認識方法において、モデルを、候補となる位置姿勢に配置したとき、モデルによって遮蔽され、本来計測不可能な範囲にシーンデータが存在するか否かを算出し、この幾何学的な矛盾の有無に基づいて、モデルの位置姿勢候補の成否を検証することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2009-129189号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術は、距離を計測できるセンサによって計測したシーンデータと、三次元形状を表すモデルデータとから姿勢を検出するものである。しかし、特許文献１に記載の技術では、計測したデータから３次元モデルを生成することはできない。
【０００５】
そこで、本発明は、計測したデータから３次元モデルを生成することができる装置を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本願は、上記課題を解決するための手段を複数含んでいるが、その一例を挙げるならば、３次元モデル生成装置であって、３次元の計測点群を記憶する記憶部と、３次元形状である複数のセグメントを生成して前記計測点群を分割するセグメント生成部と、前記生成されたセグメントの連結関係を特定する連結関係特定部と、前記連結関係にあるセグメントに属する計測点群の位置情報から、前記計測点群の長手軸を抽出する長手軸抽出部と、前記連結関係にあるセグメントに属する計測点群の位置情報から、前記長手軸に対する計測点群の２次元断面の形状を抽出する２次元形状抽出部と、前記２次元断面を前記長手軸方向に引き延ばすことで、３次元モデルを生成するモデル生成部と、を有する。
【発明の効果】
【０００７】
本発明により、計測したデータから３次元モデルを生成することが可能となる。上記以外の課題、構成および効果等は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【０００８】
【図１】本実施形態の３次元モデル生成装置の構成図の一例である。
【図２】３次元モデル生成装置のハードウェア構成例である。
【図３】３次元モデル生成装置の動作フローの例である。
【図４】セグメント分割の一例を説明するための図である。
【図５】連結関係の一例を説明するための図である。
【図６】長手軸の抽出の一例を説明するための図である。
【図７】２次元断面図の形状を抽出する処理フローの例である。
【図８】２次元断面の形状抽出の一例を説明するための図である。
【図９】３次元モデル生成の一例を説明するための図である。
【図１０】生成された３次元モデルをディスプレイ装置に表示する画面例である。
【図１１】本実施形態を適用する構造体の他の例である。
【発明を実施するための形態】
【０００９】
以下、本発明の一実施形態を、図面を参照して詳細に説明する。なお、以下では、同じ構成を有するものについては同じ符号を付与して説明を省略する。
【００１０】
図１は、本実施形態の３次元モデル生成装置１００の構成図の一例である。３次元モデル生成装置１００は、制御部１１０、記憶部１２０、入力部１３０、出力部１４０、通信部１５０等を有する。
【００１１】
記憶部１２０には、３次元点群データ１２１が記憶されている。３次元点群データ１２１は、３次元の対象物を計測して得られた計測点の３次元位置情報であり、具体的には３次元の座標群である。
【００１２】
制御部１１０は、セグメント生成部１１１、連結関係特定部１１２、長手軸抽出部１１３、２次元形状抽出部１１４、３次元モデル生成部１１５、出力情報生成部１１６等を有する。セグメント生成部１１１は、３次元形状である複数のセグメントを生成して、３次元点群データ１２１を分割する。連結関係特定部１１２は、セグメント生成部１１１により生成されたセグメントの連結関係を特定する。長手軸抽出部１１３は、連結関係にあるセグメントに属する計測点群の位置情報から、３次元計測点群の長手軸を抽出する。２次元形状抽出部１１４は、連結関係にあるセグメントに属する計測点群の位置情報から、長手軸に対する計測点群の２次元断面の形状を抽出する。３次元モデル生成部１１５は、２次元断面を長手軸方向に引き延ばすことで、３次元モデルを生成する。出力情報生成部１１６は、生成された３次元モデルに関する情報を生成して出力する。入力部１３０は、情報の入力を受け付ける。出力部１４０は、情報を出力する。通信部１５０は、図示しない通信ネットワークを介しての情報の入出力を受け付ける。これらの詳細は後述する。
【００１３】
次に、３次元モデル生成装置１００を実現するハードウェア構成例について説明する。図２は、３次元モデル生成装置１００のハードウェア構成例である。
【００１４】
３次元モデル生成装置１００の各々は、演算装置２０１、メモリ２０２、外部記憶装置２０３、入力装置２０４、出力装置２０５、通信装置２０６、記憶媒体駆動装置２０７、記憶媒体２０８等を有する。
【００１５】
演算装置２０１は例えばＣＰＵ（Central Processing Unit）等である。メモリ２０２は揮発性及び／又は不揮発性のメモリである。外部記憶装置２０３は、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等である。記憶媒体駆動装置２０７は、例えばＣＤ（Compact Disk）やＤＶＤ（Digital Versatile Disk）、その他任意の可搬性を有する記憶媒体２０８に対して情報を読み書き可能である。入力装置２０４は、キーボードやマウス、マイクロフォン等である。出力装置２０５は、例えば、ディスプレイ装置、プリンタ、スピーカ等である。通信装置２０６は、例えば、図示しない通信ネットワークに接続するためのＮＩＣ（Network Interface Card）等である。
【００１６】
制御部１１０の各部は、所定のプログラムをメモリ２０２にロードして演算装置２０１が実行することにより実現可能である。
【００１７】
この所定のプログラムは、記憶媒体駆動装置２０７を介して記憶媒体２０８から、あるいは、通信装置２０６を介して図示しない通信ネットワークから、外部記憶装置２０３にダウンロードし、そして、メモリ２０２にロードし、演算装置２０１が実行するようにしてもよい。また、記憶媒体駆動装置２０７を介して記憶媒体２０８から、あるいは、通信装置２０６を介して通信ネットワークから、メモリ２０２に直接ロードして、演算装置２０１により実行するようにしてもよい。
【００１８】
あるいは、制御部１１０の各部のうち一部又はすべてを、回路等によりハードウェアとして実現してもよい。
【００１９】
また、記憶部１２０は、メモリ２０２、外部記憶装置２０３、記憶媒体駆動装置２０７及び記憶媒体２０８等の全て又は一部により実現可能である。又は、演算装置２０１が上記プログラムの実行により、メモリ２０２、外部記憶装置２０３、記憶媒体駆動装置２０７及び記憶媒体２０８等の全て又は一部を制御することで実現してもよい。
【００２０】
また、出力部１４０は、出力装置２０５により実現可能である。又は、演算装置２０１が上記プログラムの実行により、出力装置２０５を制御することで実現してもよい。
【００２１】
また、入力部１３０は、入力装置２０４により実現可能である。又は、演算装置２０１が上記プログラムの実行により、入力装置２０４を制御することで実現してもよい。
【００２２】
また、通信部１５０は、通信装置２０６により実現可能である。又は、演算装置２０１が上記プログラムの実行により、通信装置２０６を制御することで実現してもよい。
【００２３】
また、３次元モデル生成装置１００の各部は、１つの装置により実現されてもよく、複数の装置により分散されて実現されてもよい。
【００２４】
次に、動作例を説明する。図３は、３次元モデル生成装置１００の動作フローの例である。ここでは、３次元モデル生成装置１００は、以下の処理を、構造体毎に行うものとして説明する。ここでいう構造体とは、１つの構造体として認識されうるものをいい、例えば、計測点群のうち、最も近い計測点と所定距離以上離れていない計測点群が示す物体であるものとして説明する。ただし、後述するように、これに限定しない。
【００２５】
セグメント生成部１１１は、３次元点群データ１２１から、対象となる構造体の計測点群を読み出して、これをセグメントに分割する（Ｓ３０１）。ここでいうセグメントは、単位ユニットとして扱うことが可能な３次元形状をいい、限定しないが、例えば、３次元空間での正規格子であるボクセル（voxel）である。セグメント生成部１１１は、対象となる構造物の３次元計測点群が、いずれかのセグメント内に属するように分割する。これを実現する技術は公知であるので詳細は省略する。
【００２６】
連結関係特定部１１２は、セグメント毎に、どのセグメントと連結しているかを特定し、セグメントの連結関係を示すグラフネットワークを生成する（Ｓ３０２）。セグメントの連結関係を特定する技術は特に限定しないが、例えば、セグメントを構成する辺や面が、他のセグメントの辺や面と一致する場合に、それらのセグメントは連結していると判定してもよい。連結関係特定部１１２は、グラフネットワークを示す情報を記憶部１２０に記憶させる。
【００２７】
ここで、Ｓ３０１、Ｓ３０２について図面を参照して具体例を説明する。図４は、セグメント分割の一例を説明するための図である。図４（Ａ）の点群４０１は、構造体の３次元計測点群の例である。図４（Ｂ）のセグメント群４０２は、点群４０１をセグメントに分割した例である。図４（Ｂ）では、説明のために、３次元計測点群の一部のみを重畳して示している。
【００２８】
図示するように、任意の点を基準として、セグメントの大きさに従って空間を分割し、セグメント範囲内に計測点が位置する場合にセグメントを配置する。このようにして、構造体の３次元計測点群が、複数のセグメントに分割されるようにする。
【００２９】
なお、ここでは、説明の簡略化のために、セグメントが立方体である例を説明するが、これに限定するわけではなく、セグメントの形状は３次元形状であればよい。また、例えば三角錐及び立方体など、異なる形状のセグメントを用いてもよく、同じ形状のセグメントであっても大きさが異なるものを用いてもよい。
【００３０】
図５は、連結関係の一例を説明するための図である。図５（Ａ）のセグメント群５０１は、セグメント群の一部と、そのセグメントに属する計測点群の例である。図５（Ｂ）のグラフネットワーク５０２は、セグメント群５０１のセグメントの連結関係をグラフネットワークで示した例である。なお、図５のセグメント群５０１は、説明のために、図４（Ｂ）のセグメント群４０２において、紙面に対し最も手前のセグメント及びそれらのセグメントに属する計測点群のみを、２次元的な表記で示している。しかし、実際にはセグメントは３次元であり、また、紙面に対し最も手前のセグメントのみでなく、その奥に位置するセグメントに対しても連結関係は存在する。
【００３１】
図示するように、セグメント群５０１は、セグメントＡ１〜セグメントＡ１９から構成される。以下、セグメントＡ１１を例にして説明する。
【００３２】
グラフネットワーク５０２において、ノード５１１はセグメントＡ１１１を示し、ノード５１２はセグメントＡ４を示し、ノード５１３はセグメントＡ５を示し、ノード５１４はセグメントＡ１０を示し、ノード５１５はセグメントＡ１２を示し、ノード５１６はセグメントＡ１３を示し、ノード５１７はセグメントＡ１４を示す。
【００３３】
セグメントＡ１１はセグメントＡ４、Ａ５、Ａ１０、Ａ１２、Ａ１３、Ａ１４と連結している。従って、ノード５１１は、セグメントＡ４、Ａ５、Ａ１０、Ａ１２、Ａ１３、Ａ１４の各々を示すノード５１２〜ノード５１７の各々と連結されている。
【００３４】
図３に戻る。長手軸抽出部１１３は、長手軸を抽出する（Ｓ３０３）。そのために、長手軸抽出部１１３は、セグメントの連結関係を示すグラフネットワーク上での最長パスを算出してこれを長手軸方向とし、この最長パスに存在するセグメントに属する計測点群の重心位置から長手軸を抽出する。最長パスが複数ある場合、長手軸抽出部１１３は、所定条件に基づき、いずれか１つを選択するとよい。
【００３５】
ここでいう最長パス（longest path）とは、単純パス（始点ノードから終点ノードまでの間に同じノードを複数回通らないパス）のうち、最も長いパスのことをいう。
【００３６】
ここで、Ｓ３０３について図面を参照して具体例を説明する。図６は、長手軸の抽出の一例を説明するための図である。図６（Ａ）のセグメント群６０１は、セグメント群４０１に、長手軸６３１を重畳したものである。図６（Ｂ）は、セグメント群６０１の部位Ｐに位置する一部セグメントを抽出して方向ＰＳから見た矢視図の例である。なお、図６（Ｂ）では、セグメントを２次元的な表記で示しているが、実際にはセグメントは３次元である。
【００３７】
長手軸抽出部１１３は、まず、長手軸方向のセグメントを抽出する。セグメント群６０１では、長手軸方向のセグメントは隠れて見えない部分でもあるため、破線で示している。長手軸方向のセグメントは、セグメントをノードとした連結グラフネットワークにおける最長パスとして特定することができる。
【００３８】
ただし、連結関係にあるセグメントであっても、セグメントに属する３次元計測点が所定条件を満たしていない場合は、そのセグメントを除外してパスを構成してもよい。この所定条件は、限定はしないが、例えば、セグメントに属する３次元計測点の数が所定値以上であるか否か、セグメントに属する３次元計測点の位置とそのセグメントと連結するセグメントに属する３次元計測点の位置とが所定範囲内であるか否か、セグメント内での３次元計測点の位置などがある。
【００３９】
長手軸抽出部１１３は、抽出したセグメント毎に、そのセグメントに属する３次元計測点群の重心を求め、連結するセグメントの重心同士を線分で接続する。長手軸は、このように算出した重心位置を接続する線分により構成される。
【００４０】
長手軸の抽出について図６（Ｂ）を参照して具体的に説明する。図６（Ｂ）において、セグメントＡ２０は、紙面に対し奥側でセグメントＡ１２と連結するセグメントである。また、セグメントＡ３０は、紙面に対し奥側でセグメントＡ２０と連結するセグメントである。
【００４１】
セグメントＡ１２内に存在する３次元計測点群の重心は点６１１であり、セグメントＡ２０内に存在する３次元計測点群の重心は点６１２であり、セグメントＡ３０内に存在する３次元計測点群の重心は点６１３である。線６２１は、点６１１と点６１２とを接続して生成される。線６２２は、点６１２と点６１３とを接続して生成される。長手軸６３１は、このように生成された複数の線により構成される。
【００４２】
ただし、長手軸は直線のみから構成されるに限らず、曲線や、直線及び曲線の組み合わせであってもよい。軸を曲線とする場合、例えば、上記のように算出した重心又はその近傍を通るスプライン曲線や孤として算出してもよく、他の任意の技術により曲線を算出してもよい。
【００４３】
図３に戻る。２次元形状抽出部１１４は、Ｓ３０３で抽出された長手軸に対する、３次元計測点群の２次元断面の形状を抽出する（Ｓ３０４）。そのために、２次元形状抽出部１１４は、長手軸方向に対し直角又はほぼ直角のセグメントに対し、グラフネットワークから最長パスを算出し、この最長パスに存在するセグメントに属する計測点群の重心位置から算出した２次元の線分を、２次元断面の形状とする。
【００４４】
Ｓ３０４の処理例をより詳細に説明する。図７は、２次元断面の形状を抽出する処理フローの例である。
【００４５】
２次元形状抽出部１１４は、２次元断面を生成するセグメントを抽出する（Ｓ７０１）。そのために、２次元形状抽出部１１４は、Ｓ３０３で特定した長手軸方向のセグメントに対し直角又はほぼ直角のセグメントのうち、連結関係にあるものを抽出し、これを２次元断面を生成するセグメントとする。抽出するセグメントの位置は、長手軸方向に対し直角又はほぼ直角であればよく、特に限定しない。ここでは、Ｓ３０３で抽出した長手軸方向のセグメントの一方の端に位置するものを抽出するとして説明する。
【００４６】
２次元形状抽出部１１４は、Ｓ７０１で抽出したセグメントのうち、グラフネットワーク上での最長のパスを構成するセグメントを抽出する（Ｓ７０２）。
【００４７】
２次元形状抽出部１１４は、Ｓ７０２の処理で抽出したセグメントに属する３次元計測点群の位置情報から、その３次元計測点群の重心位置を算出する（Ｓ７０３）。
【００４８】
２次元形状抽出部１１４は、Ｓ７０３の処理で算出した重心位置を連結して多角形線分を抽出する（Ｓ７０４）。
【００４９】
２次元形状抽出部１１４は、Ｓ７０４の処理で抽出した多角形線分と、最長パスを構成するセグメントの各々の連結セグメントを特定し、連結セグメントに属する３次元計測点群の重心位置を用いて、多角形線分を平滑化する（Ｓ７０５）。そのために、２次元形状抽出部１１４は、セグメント毎に、連結セグメントに属する３次元計測点群の重心を算出し、自身における３次元計測点群の重心位置と、連結セグメントに属する３次元計測点群の重心とを接続することで平滑化する。
【００５０】
ここで、Ｓ７０２〜Ｓ７０５について図面を参照して具体例を説明する。図８は、２次元断面の形状抽出の一例を説明するための図である。
【００５１】
図８（Ａ）のセグメント群８０１は、Ｓ７０１で抽出されたセグメントと、そのセグメントに属する３次元計測点群との例である。セグメント群８０１を構成するセグメント及びその連結関係は、図５のセグメント群５０１及びグラフネットワーク５０２に示したものと同じである。
【００５２】
セグメント群８０１では、最長のパスを構成するセグメントを斜線で示している。即ち、最長のパスを構成するセグメントは、セグメントＡ６〜１０、Ａ５、Ａ１２、Ａ１４、Ａ１６〜Ａ１９である。最長のパスを構成するセグメントは、セグメントをノードとした連結グラフネットワークにおける最長パスとして特定することができる。
【００５３】
なお、連結関係にあるセグメントであっても、セグメントに属する３次元計測点が所定条件を満たしていない場合は、そのセグメントを除外してパスを構成してもよい。この所定条件は、限定はしないが、例えば、セグメントに属する３次元計測点の数が所定値以上であるか否か、セグメントに属する３次元計測点の位置とそのセグメントと連結するセグメントに属する３次元計測点の位置とが所定範囲内であるか否か、セグメント内での３次元計測点の位置などがある。
【００５４】
図８（Ｂ）のセグメント群８０２は、セグメント群８０１に加え多角形線分８１２を含む。多角形線分８１２は、セグメント群８０１のうち斜線で示したセグメントの各々に属する３次元計測点群の重心位置を接続する線分により構成される。
【００５５】
より具体的には、例えば、点８２１はセグメントＡ１０に属する３次元計測点群の重心位置であり、点８２２はセグメントＡ５に属する３次元計測点群の重心位置である。線分８３１はまた、点８２１と点８２２とを接続することにより形成される線分である。このようにして、多角形線分８１２を構成する線分の一部が構成される。
【００５６】
図８（Ｃ）のセグメント群８０３は、セグメント群８０１に加え平滑化線分８１３及び差分８１４を含む。平滑化線分８１３は、多角形線分８１２を平滑化した例である。差分８１４は、多角形線分８１２と平滑化線分８１３との差分である。
【００５７】
平滑化について、セグメントＡ１０を例として具体的に説明する。セグメントＡ１０に連結しているセグメントは、セグメントＡ９、Ａ４、Ａ５、Ａ１１、Ａ１３である。２次元形状抽出部１１４は、これらのセグメントのうち、セグメントＡ９及びセグメントＡ５については、それらの各々に属する３次元計測点群の重心とセグメントＡ１０に属する３次元計測点群の重心とを接続した線が多角形線分８１２を構成する線であるため、平滑化処理対象外とする。また、２次元形状抽出部１１４は、セグメントＡ４及びセグメントＡ１３については、それらの各々に属する３次元計測点が所定条件を満たしていないため、平滑化処理対象外とする。この所定条件は、上記最長パスを構成するセグメントの特定と同じであってもよく、異なっていてもよい。
【００５８】
２次元形状抽出部１１４は、平滑化処理対象であるセグメントＡ１１に属する３次元計測点群の重心位置を算出する。２次元形状抽出部１１４は、セグメントＡ１０に属する３次元計測点群の重心位置と、セグメントＡ１１に属する３次元計測点群の重心位置とを接続した線分を、平滑化線分８１３を構成する線分とする。
【００５９】
セグメントＡ１１に連結しているセグメントは、上記のように、セグメントＡ１０、Ａ４、Ａ５、Ａ１２、Ａ１３、Ａ１４である。２次元形状抽出部１１４は、上記と同じ判定処理により、セグメントＡ１０、Ａ４、Ａ５、Ａ１３、Ａ１４については平滑化処理対象外とする。２次元形状抽出部１１４は、セグメントＡ１１に属する３次元計測点群の重心位置と、セグメントＡ１２に属する３次元計測点群の重心位置とを接続した線分を、平滑化線分８１３を構成する線分とする。
【００６０】
上記処理により、多角形線分８１２から差分８１４が除かれ、平滑化線分８１３が生成される。
【００６１】
なお、上記のような平滑処理は、２次元断面の抽出だけでなく、長手軸の抽出のときにも行ってもよい。
【００６２】
図３に戻る。３次元モデル生成部１１５は、Ｓ３０４の処理で生成した２次元断面の形状を、Ｓ３０３の処理で抽出した長手軸に沿って引き延ばすことで３次元モデルを生成する（Ｓ３０５）。
【００６３】
ここで、Ｓ３０５について図面を参照して具体例を説明する。図９は、３次元モデル生成の一例を説明するための図である。図９（Ａ）のモデル９０１では、セグメント群４０２に、長手軸６３１と平滑化線分８１３とを重畳して示している。図９（Ｂ）のモデル９０２は、モデル９０１から３次元モデルを生成した例である。
【００６４】
図９（Ａ）において、線分９１１は長手軸を示し、線分９１２は２次元断面を示す。線分９１２を、線分９１１に沿って引き延ばすことで、モデル９０２は生成される。
【００６５】
なお、引き延ばす長さは、長手軸の一方の端又は端近傍から他方の端又は端近傍までであればよい。例えば、Ｓ３０４の処理で２次元断面を長手軸の端部で抽出しているのであれば、他方の端部まで引き延ばせばよい。また、例えば、Ｓ３０４の処理で２次元断面を、長手軸の端と端との間で抽出しているのであれば、その位置から長手軸の一方の端までと、その位置から長手軸の他方の端までとに引き延ばすと良い。
【００６６】
ここでは、引き延ばし対象が線分の例を説明しているが、引き延ばし対象は面であってもよい。そのために、例えば、Ｓ３０４の処理で生成された２次元断面を示す線分に対し与える厚さ及び厚さ方向を予め記憶部１２０に記憶させておいてもよい。３次元モデル生成部１１５は、２次元断面を示す線分を長手軸に対し厚さ分だけ離れた厚さ方向に複製し、元の線分の端と複製した線分の端とを接続することにより、面を生成してもよい。
【００６７】
なお、ここでいう「引き延ばす」とは、引き延ばし対象の線又は面を、軸を構成する各点に、その線又は面における軸の位置を変えずに複製することをいう。引き延ばし対象が面の場合、複製するものは、面そのものであってもよいが、面を構成する辺のみを複製してもよい。
【００６８】
図３に戻る。３次元モデル生成部１１５は、未処理の３次元計測点群が存在するか否か判定する（Ｓ３０６）。Ｓ３０６の判定の結果、未処理の３次元計測点群が存在する場合（Ｓ３０６：Ｙｅｓ）、Ｓ３０３の処理に移行し、未処理の３次元計測点群に対し上記処理を行う。Ｓ３０６の判定の結果、未処理の３次元計測点群が存在しない場合（Ｓ３０６：Ｎｏ）、処理を終了する。
【００６９】
上記処理は、構造体毎に行うことができる。上記処理を行う構造体の単位は任意である。例えば、１つの構造体を構成する複数の部品毎に上記処理を行ってもよい。また、１つの構造体が複数の構造体からなるものであっても、その１つの構造体を１つの処理単位として、上記処理を行ってもよい。
【００７０】
出力部１４０は、上記処理により生成された各情報を、任意のタイミングで出力することができる。この出力情報は、出力情報生成部１１６が生成することができる。あるいは、出力情報生成部１１６により生成された情報を、通信装置２０６を介して図示しない装置に出力してもよい。
【００７１】
出力例を説明する。図１０は、生成された３次元モデルをディスプレイ装置に表示する画面例である。
【００７２】
画面１０００は、領域１００１、領域１００２、領域１００３を含む。領域１００１には、構造体の３次元計測点群が表示される。領域１００２には、領域１００１に表示されている３次元計測点群をセグメントに分割したセグメント群と、そのセグメント群において抽出された長手軸及び２次元断面とが表示される。領域１００３には、領域１００２に表示されているセグメント群、長手軸及び２次元断面を用いて生成された３次元モデルが表示される。
【００７３】
領域１００１、領域１００２、領域１００３の各々に表示される３次元計測点群、セグメント群、３次元モデルの各々に対しては、ユーザが入力装置２０４を用いて、表示縮尺の変更、回転などの指示を入力することができる。出力情報生成部１１６は、入力された指示に従い、各領域への表示制御を行うとよい。
【００７４】
また、ユーザは、入力装置２０４を用いて、領域１００２を介して、長手軸方向のセグメント及び２次元断面のセグメントのうち少なくとも一方の指示を入力してもよい。画面１０００では、指示された２次元断面のセグメントを斜線部１０１１で示している。出力情報生成部１１６は、指示されたセグメントの表示形態を他セグメントとは異なるようにしてもよい。指示部１０１２が押下等されて実行指示が入力されると、３次元モデル生成装置１００は、指示されたセグメントを長手軸方向のセグメントや２次元断面のセグメントとして上記処理を再度行い、この処理で得られた長手軸及び２次元断面を領域１００２に表示するように制御してもよい。また、３次元モデル生成装置１００は、この処理で得られた３次元モデルを領域１００３に表示するように制御してもよい。
【００７５】
また、ユーザは、入力装置２０４を用いて、領域１０１２に、セグメントの粒度（セグメントの大きさ）や種別、構造体の種別などの任意の変数や条件などを入力してもよい。指示部１０１２が押下等されて実行指示が入力されると、３次元モデル生成装置１００は、入力された変数や条件で上記処理を再度行い、この処理で得られたセグメント群、長手軸及び２次元断面を領域１００２に表示するように制御してもよい。また、３次元モデル生成装置１００は、これに加え、この処理で得られた３次元モデルを領域１００３に表示するように制御してもよい。
【００７６】
以上、一実施形態を説明した。上記技術により、計測した３次元データから３次元モデルを容易に生成することができる。
【００７７】
即ち、３次元計測点群から長手軸と長手軸に対する断面形状とを特定し、これらから３次元モデルを生成することができるので、計測点群に含まれるノイズを除去し、より実際の構造物に近い３次元モデルを生成することができる。
【００７８】
また、長手軸及び断面形状を、セグメントをノードするグラフネットワークの最長パスとして算出することができる。これにより、計算負荷を低減することが可能となる。
【００７９】
また、セグメントに属する計測点群の重心から長手軸及び断面形状を特定するが、重心から得られた線分を、そのセグメントに連結するセグメントに属する重心を用いて平滑化することができる。これにより、さらにノイズを除去し、より実際の構造物に近い滑らかな３次元モデルを生成することができる。ただし、平滑化は必ずしも行う必要はない。
【００８０】
本実施の形態は、例えば形鋼（shaped steel）などのような、一方の辺の長さに対し他方の辺の長さが比較的長い構造体に好適であるが、適用する構造体はこれに限るわけではない。
【００８１】
図１１は、本実施形態を適用する構造体の他の例である。図１１（Ａ）の構造体１１０１は、一方の辺の長さに対し他方の辺の長さが比較的近い例である。即ち、矩形体である構造体１１０１は、長さｌ１、ｌ２、ｌ３の値が比較的近い。このような場合、図１１（Ｂ）に一例を示すように、例えば構造体１１０１を、構造体１１０１を構成する面Ｓ１と平行又はほぼ平行な分割面Ｓ１−１で分割し、分割された構造体である構造体Ｓ１−２１、構造体Ｓ１−２２の各々に対し、上記処理を行うとよい。或いは、構造体１１０１を、構造体１１０１を構成する面Ｓ２と平行又はほぼ平行な分割面Ｓ２−１で分割し、分割された構造体である構造体Ｓ２−２１、構造体Ｓ２−２２の各々に対し、上記処理を行うとよい。
【００８２】
一方の辺の長さに対し他方の辺の長さが比較的近い構造体であるか否かについては、例えば３次元計測点群の特徴量などにより判定可能である。特徴量については公知であるので説明は省略する。
【００８３】
分割する位置については、ユーザが入力装置２０４を用いて指示を入力してもよく、３次元モデル生成装置１００がセグメントの長さなどに基づいて所定数に分割してもよい。ユーザが入力装置２０４を用いて分割位置を指示する場合、上記画面１０００と同様のインターフェースを用いることができる。また、分割する数は特に限定しない。
【００８４】
図１１（Ｃ）は構造体１１０２の側面図、図１１（Ｄ）は構造体１１０２の正面図の例である。構造体１１０２は、一方の辺の長さに対し他方の辺の長さが比較的長い構造体ではあるが、長手軸に直角又はほぼ直角な２次元断面の形状が、長手軸の途中で変化する場合の例である。このような場合、２次元断面の形状が同じ又はほぼ同じとなるように分割し、分割した各部位に対し上記処理を行うとよい。構造体１１０２の場合、部位１１２１、部位１１２２として分割するとよい。
【００８５】
長手軸に直角又はほぼ直角な２次元断面の形状が、長手軸の途中で変化するか否かについては、例えば３次元計測点群の特徴量などにより判定可能である。特徴量については公知であるので説明は省略する。あるいは、３次元モデル生成装置１００が、上記と同じ処理により、長手軸方向に対し直角又はほぼ直角なセグメントを複数抽出して、これらのセグメント間の差異が所定範囲内であるか否かにより判定してもよい。
【００８６】
分割する位置については、ユーザが入力装置２０４を用いて指示を入力してもよい。ユーザが入力装置２０４を用いて分割位置を指示する場合、上記画面１０００と同様のインターフェースを用いることができる。あるいは、３次元モデル生成装置１００が、上記と同じ処理により、長手軸方向に対し直角又はほぼ直角なセグメントを所定間隔で抽出し、互いに隣接するセグメント間の差異が所定範囲内でなければ、そのセグメント間の位置を分割位置としてもよい。あるいは、セグメントの替わりに、上記と同じ処理により抽出された２次元断面を用いてもよい。
【００８７】
なお、上記のように、本実施形態では、長手軸及び２次元断面を抽出するための最長のパスを構成するセグメントを、セグメントをノードとした連結グラフネットワークにおける最長パスとして特定している。そこで、たとえばパイプのような、長手軸に対する２次元断面が閉じる構造体の３次元測定点群に対しては、長手軸に対し平行又はほぼ平行な面で分割し、分割した各々の３次元測定点群に対し、上記処理を行うとよい。このようにすることで、２次元断面を抽出するためのセグメントから単純パスを抽出することが可能となる。
【００８８】
分割する位置については、ユーザが入力装置２０４を用いて指示を入力してもよい。ユーザが入力装置２０４を用いて分割位置を指示する場合、上記画面１０００と同様のインターフェースを用いることができる。あるいは、３次元モデル生成装置１００が、上記と同じ処理により、長手軸方向を抽出し、これに平行又はほぼ平行な面で３次元計測点群を分割するとよい。
【００８９】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
【００９０】
また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【符号の説明】
【００９１】
１００：３次元モデル生成装置、１１０：制御部、１２０：記憶部１２０、１３０：入力部、１４０：出力部、１５０：通信部、１１１：セグメント生成部、１１２：連結関係特定部、１１３：長手軸抽出部、１１４：２次元形状抽出部、１１５：３次元モデル生成部、１１６：出力情報生成部、１２１：３次元点群データ
【図１】
2017142547.tif 000003
【図２】
2017142547.tif 000004
【図３】
2017142547.tif 000005
【図４】
2017142547.tif 000006
【図５】
2017142547.tif 000007
【図６】
2017142547.tif 000008
【図７】
2017142547.tif 000009
【図８】
2017142547.tif 000010
【図９】
2017142547.tif 000011
【図１０】
2017142547.tif 000012
【図１１】
2017142547.tif 000013