(57)【要約】【課題】計測したデータから３次元モデルを生成することができる技術を提供する。【解決手段】構造体の３次元モデルと構造体の３次元の計測値とを記憶する記憶部と、３次元モデルを分割して複数のセグメントを生成するセグメント生成部と、生成されたセグメントの連結関係を特定する連結関係特定部と、複数のセグメントのうち一部のセグメントと、連結関係により特定される一部のセグメントと連結する他のセグメントとから、これらのセグメントからなる３次元モデルの形状特徴を特定する形状特徴特定部と、特定された形状特徴を規定する形状情報を特定する形状情報特定部と、特定された形状特徴及び特定された形状情報に該当する構造体と、計測値との距離に基づいて、構造体の姿勢を特定する姿勢特定部と、特定された形状特徴と、特定された形状情報と、特定された姿勢とに基づいて、３次元モデルを生成するモデル生成部とを有する。【選択図】  図１
2015084171.tif 000002
【特許請求の範囲】
【請求項１】
構造体の３次元モデルと、構造体の３次元の計測値と、を記憶する記憶部と、
前記３次元モデルを分割して複数のセグメントを生成するセグメント生成部と、
前記生成されたセグメントの連結関係を特定する連結関係特定部と、
前記複数のセグメントのうち一部のセグメントと、前記連結関係により特定される前記一部のセグメントと連結する他のセグメントとから、これらのセグメントからなる３次元モデルの形状特徴を特定する形状特徴特定部と、
前記特定された形状特徴を規定する形状情報を特定する形状情報特定部と、
前記特定された形状特徴及び前記特定された形状情報に該当する構造体と、前記計測値との距離に基づいて、前記構造体の姿勢を特定する姿勢特定部と、
前記特定された形状特徴と、前記特定された形状情報と、前記特定された姿勢とに基づいて、３次元モデルを生成するモデル生成部と、を有すること
を特徴とする３次元モデル生成装置。
【請求項２】
請求項１に記載の３次元モデル生成装置であって、
前記連結関係特定部は、セグメントの連結関係をグラフネットワークで示すこと
を特徴とする３次元モデル生成装置。
【請求項３】
請求項１に記載の３次元モデル生成装置であって、
前記形状特徴特定部は、前記一部のセグメントからなる平面と、前記他のセグメントからなる特徴部とから、形状特徴を特定すること
を特徴とする３次元モデル生成装置。
【請求項４】
請求項３に記載の３次元モデル生成装置であって、
前記特徴部は、線、他の平面、点のうち少なくとも１つであること
を特徴とする３次元モデル生成装置。
【請求項５】
請求項１に記載の３次元モデル生成装置であって、
前記生成された３次元モデルを出力する出力部、をさらに有すること
を特徴とする３次元モデル生成装置。
【請求項６】
請求項１に記載の３次元モデル生成装置であって、
前記姿勢特定部は、前記特定された形状特徴及び前記特定された形状情報に該当する構造体と、前記計測値との距離に基づいて、前記構造体に該当する計測値が有るか否か判定し、判定の結果、該当する計測値が無い場合、前記構造体に該当する３次元モデルの部分が存在しないと判定すること
を特徴とする３次元モデル生成装置。
【請求項７】
請求項１に記載の３次元モデル生成装置であって、
前記形状特徴特定部は、セグメントからなる略円形の平面が２つあり、前記２つの略円形が略平行であり、且つ、前記２つの略円形の径寸法が略同じである場合、これらのセグメントからなる３次元モデルの形状特徴は円筒であると判定すること
を特徴とする３次元モデル生成装置。
【請求項８】
請求項１に記載の３次元モデル生成装置であって、
前記形状特徴特定部は、セグメントからなる略円形の平面が２つあり、前記２つの略円形の径寸法が略同じであり、前記２つの略円形が平行でなく、前記２つの略円形のうち一方がその略円形を基準に定まるローカル座標系のz軸方向に略平行であり、且つ、前記２つの略円形のうち他方の中心が前記ローカル座標系の略x軸上に存在する場合、これらのセグメントからなる３次元モデルの形状特徴は環状であると判定すること
を特徴とする３次元モデル生成装置。
【請求項９】
請求項１に記載の３次元モデル生成装置であって、
前記形状特徴特定部は、セグメントからなる略矩形の平面が６つあり、前記６つの略矩形の各々について前記６つの略矩形のうち他の４つの略矩形の頂点を含み、前記６つの略矩形で８つの異なる頂点をなし、前記６つの略矩形の各々について前記６つの略矩形のうち隣接する略矩形の辺が略垂直である場合、これらのセグメントからなる３次元モデルの形状特徴は矩形体であると判定すること
を特徴とする３次元モデル生成装置。
【請求項１０】
請求項１に記載の３次元モデル生成装置であって、
前記形状特徴特定部は、セグメントからなる略円形の平面があり、前記略円形と連結関係を有する複数のセグメントが平面ではなく、且つ、前記略円形と連結関係を有する複数の三角のセグメントが１つの共通する頂点を有する場合、これらのセグメントからなる３次元モデルの形状特徴は円錐であると判定すること
を特徴とする３次元モデル生成装置。
【請求項１１】
３次元モデル生成装置による３次元モデル生成方法であって、
前記３次元モデル生成装置は、構造体の３次元モデルと、構造体の３次元の計測値と、を記憶する記憶部、を有し、
前記３次元モデルを分割して複数のセグメントを生成するステップと、
前記生成されたセグメントの連結関係を特定するステップと、
前記複数のセグメントのうち一部のセグメントと、前記連結関係により特定される前記一部のセグメントと連結する他のセグメントとから、これらのセグメントからなる３次元モデルの形状特徴を特定するステップと、
前記特定された形状特徴を規定する形状情報を特定するステップと、
前記特定された形状特徴及び前記特定された形状情報に該当する構造体と、前記計測値との距離に基づいて、前記構造体の姿勢を特定するステップと、
前記特定された形状特徴と、前記特定された形状情報と、前記特定された姿勢とに基づいて、３次元モデルを生成するステップと、を有すること
を特徴とする３次元モデル生成方法。
【請求項１２】
記憶装置と、演算装置とを有するコンピュータにより実行されるコンピュータ読み取り可能なプログラムであって、
前記記憶装置には、構造体の３次元モデルと、構造体の３次元の計測値と、が記憶され、
コンピュータにより実行されると、コンピュータを、
前記３次元モデルを分割して複数のセグメントを生成するセグメント生成部と、
前記生成されたセグメントの連結関係を特定する連結関係特定部と、
前記複数のセグメントのうち一部のセグメントと、前記連結関係により特定される前記一部のセグメントと連結する他のセグメントとから、これらのセグメントからなる３次元モデルの形状特徴を特定する形状特徴特定部と、
前記特定された形状特徴を規定する形状情報を特定する形状情報特定部と、
前記特定された形状特徴及び前記特定された形状情報に該当する構造体と、前記計測値との距離に基づいて、前記構造体の姿勢を特定する姿勢特定部と、
前記特定された形状特徴と、前記特定された形状情報と、前記特定された姿勢とに基づいて、３次元モデルを生成するモデル生成部と、して機能させること
を特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、３次元モデル生成技術に関する。
【背景技術】
【０００２】
特許文献１には、距離を計測できるセンサによって計測したシーンデータと、目的物体の三次元形状を表すモデルデータとを、物体の局所的な表面形状を表す特徴量について照合することにより物体の三次元位置姿勢を検出する三次元物体認識方法において、モデルを、候補となる位置姿勢に配置したとき、モデルによって遮蔽され、本来計測不可能な範囲にシーンデータが存在するか否かを算出し、この幾何学的な矛盾の有無に基づいて、モデルの位置姿勢候補の成否を検証することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開2009-129189号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１に記載の技術は、距離を計測できるセンサによって計測したシーンデータと、三次元形状を表すモデルデータとから姿勢を検出するものである。しかし、特許文献１に記載の技術では、計測したデータから３次元モデルを生成することはできない。
【０００５】
そこで、本発明は、計測したデータから３次元モデルを生成することができる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本願は、上記課題を解決するための手段を複数含んでいるが、その一例を挙げるならば、    構造体の３次元モデルと、構造体の３次元の計測値と、を記憶する記憶部と、前記３次元モデルを分割して複数のセグメントを生成するセグメント生成部と、前記生成されたセグメントの連結関係を特定する連結関係特定部と、前記複数のセグメントのうち一部のセグメントと、前記連結関係により特定される前記一部のセグメントと連結する他のセグメントとから、これらのセグメントからなる３次元モデルの形状特徴を特定する形状特徴特定部と、前記特定された形状特徴を規定する形状情報を特定する形状情報特定部と、前記特定された形状特徴及び前記特定された形状情報に該当する構造体と、前記計測値との距離に基づいて、前記構造体の姿勢を特定する姿勢特定部と、前記特定された形状特徴と、前記特定された形状情報と、前記特定された姿勢とに基づいて、３次元モデルを生成するモデル生成部と、を有することを特徴とする。
【発明の効果】
【０００７】
本発明により、計測したデータから３次元モデルを生成することが可能となる。上記以外の課題、構成および効果等は、以下の実施形態の説明により明らかにされる。
【図面の簡単な説明】
【０００８】
【図１】一実施形態の３次元モデル生成装置の構成図の一例である。
【図２】３次元モデル記憶部に記憶されているデータの一例である。
【図３】モデル生成装置のハードウェア構成例である。
【図４】モデル生成装置の動作例である。
【図５】セグメントへの分割及びその連結関係の特定を説明するための図である。
【図６】形状特徴の特定、及び、形状情報の特定の処理フローの例である。
【図７】円筒の形状特徴の判定、及び、特定する形状情報を説明するための図である。
【図８】環状の形状特徴の判定、及び、特定する形状情報を説明するための図である。
【図９】円錐の形状特徴の判定、及び、特定する形状情報を説明するための図である。
【図１０】矩形体の形状特徴の判定、及び、特定する形状情報を説明するための図である。
【図１１】計測値からの距離と、形状特徴の姿勢特定とを説明するための図である。
【図１２】出力する画面の一例である。
【図１３】詳細な情報を表示する画面例である。
【発明を実施するための形態】
【０００９】
以下、本発明の一実施形態を、図面を参照して詳細に説明する。なお、以下では、同じ構成を有するものについては同じ符号を付与して説明を省略する。
【００１０】
図１は、本実施形態の３次元モデル生成装置１００の構成図の一例である。３次元モデル生成装置１００は、制御部１１０、記憶部１２０、入力部１３０、出力部１４０、通信部１５０等を有する。
【００１１】
記憶部１２０は、３次元モデル記憶部１２１、３次元計測値記憶部１２２、ルール記憶部１２３等を有する。３次元モデル記憶部１２１には、構造体の３次元モデル等が記憶されている。
【００１２】
ここで、３次元モデル記憶部１２１に記憶されているデータの一例を説明する。
【００１３】
図２は、３次元モデル記憶部１２１に記憶されているデータの一例である。３次元モデル記憶部１２１には、構造体の３次元モデルと、その３次元モデルの識別情報とが対応づけられて記憶されている。３次元モデルの具体的な態様は限定せず、公知の３次元モデルと同じであってもよい。３次元モデルは、具体的には、例えば、構造体を構成する線、面、点等を規定するxyz座標や、任意の属性情報等の情報を含む。また、識別情報は、構造体そのものや、構造体を構成する他の構造体（例えば部品やサブアセンブリ等）を特定する名称や識別番号、或いはこれらの組み合わせでもよい。
【００１４】
なお、図２から明らかなように、３次元モデル記憶部１２１では、１つの構造体が、サブアセンブリや部品等の複数の構造体から構成されるものとしている。しかし、これに限るわけではなく、１つの構造体は１つの構造体からのみ構成されてもよい。
【００１５】
また、図２に一例を示す３次元モデル記憶部１２１のデータは説明のためのものであり、図に示すものに限るわけではない。また、３次元モデル記憶部１２１を実現するデータ構造は任意であり、上記に限るわけではない。
【００１６】
図１に戻る。３次元計測値記憶部１２２には、実際に存在する構造体を計測した３次元の計測値群等が記憶されている。具体的には、３次元計測値記憶部１２２には、構造体を、例えば対物センサ等の任意の公知技術で計測して取得したxyz座標の集合等が記憶されている。ルール記憶部１２３には、後述する形状特徴を判定するための条件等が記憶されている。
【００１７】
なお、上記から明らかなように、ここでいう構造体は立体であればよく、具体的な対象は限定しない。また、３次元モデルも、例えば３次元ＣＡＤのモデルデータ等、構造体の立体形状を示す情報であればよく、具体的な態様は限定しない。
【００１８】
制御部１１０は、セグメント生成部１１１、連結関係特定部１１２、形状特徴特定部１１３、形状情報特定部１１４、姿勢特定部１１５、モデル生成部１１６等を有する。
【００１９】
セグメント生成部１１１は、３次元モデル記憶部１２１に記憶されている３次元モデルを分割してセグメントを生成する。連結関係特定部１１２は、連結関係特定部１１２により生成されたセグメントの連結関係を特定する。形状特徴特定部１１３は、セグメントの一部と、そのセグメントと連結する他のセグメントとから、これらのセグメントからなる３次元モデルの形状特徴を特定する。形状情報特定部１１４は、形状特徴特定部１１３が特定した形状特徴に関する形状情報を特定する。この形状情報は特に限定しないが、例えば、形状特徴の位置、寸法等を示す数値等である。姿勢特定部１１５は、形状特徴に該当する３次元の計測値が有るか否かにより、その形状特徴及び形状情報に該当する３次元モデルの部分が、構造体として存在するか否か判定する。該当する構造体がある場合、姿勢特定部１１５は、３次元モデルと、３次元計測値記憶部１２２の計測値との距離に基づいて、その３次元モデルに相当する形状特徴の姿勢を特定する。モデル生成部１１６は、形状特徴と、形状情報と、姿勢等とから、構造体の３次元モデルを生成する。これらの詳細は後述する。
【００２０】
次に、３次元モデル生成装置１００を実現するハードウェア構成例について説明する。図３は、３次元モデル生成装置１００のハードウェア構成例である。
【００２１】
３次元モデル生成装置１００の各々は、演算装置３０１、メモリ３０２、外部記憶装置３０３、入力装置３０４、出力装置３０５、通信装置３０６、記憶媒体駆動装置３０７等を有する。
【００２２】
演算装置３０１は例えばＣＰＵ（Central Processing Unit）等である。メモリ３０２は揮発性及び／又は不揮発性のメモリである。外部記憶装置３０３は、例えば、ＨＤＤ（Hard Disk Drive）やＳＳＤ（Solid State Drive）等である。記憶媒体駆動装置３０７は、例えばＣＤ（Compact Disk）やＤＶＤ（Digital Versatile Disk）、その他任意の可搬性を有する記憶媒体３０８に対して情報を読み書き可能である。入力装置３０４は、キーボードやマウス、マイクロフォン等である。出力装置３０５は、例えば、ディスプレイ装置、プリンタ、スピーカ等である。通信装置３０６は、例えば、図示しない通信ネットワークに接続するためのＮＩＣ（Network Interface Card）等である。
【００２３】
制御部１１０の各部は、所定のプログラムをメモリ３０２にロードして演算装置３０１が実行することにより実現可能である。
【００２４】
この所定のプログラムは、記憶媒体駆動装置３０７を介して記憶媒体３０８から、あるいは、通信装置３０６を介して通信ネットワークから、外部記憶装置３０３にダウンロードし、そして、メモリ３０２にロードし、演算装置３０１が実行するようにしてもよい。また、記憶媒体駆動装置３０７を介して記憶媒体３０８から、あるいは、通信装置３０６を介して通信ネットワークから、メモリ３０２に直接ロードして、演算装置３０１により実行するようにしてもよい。
【００２５】
あるいは、制御部１１０の各部のうち一部又はすべてを、回路等によりハードウェアとして実現してもよい。
【００２６】
また、記憶部１２０は、メモリ３０２、外部記憶装置３０３、記憶媒体駆動装置３０７及び記憶媒体３０８等の全て又は一部により実現可能である。又は、演算装置３０１が上記プログラムの実行により、メモリ３０２、外部記憶装置３０３、記憶媒体駆動装置３０７及び記憶媒体３０８等の全て又は一部を制御することで実現してもよい。
【００２７】
また、出力部１４０は、出力装置３０５により実現可能である。又は、演算装置３０１が上記プログラムの実行により、出力装置３０５を制御することで実現してもよい。
【００２８】
また、入力部１３０は、入力装置３０４により実現可能である。又は、演算装置３０１が上記プログラムの実行により、入力装置３０４を制御することで実現してもよい。
【００２９】
また、通信部１５０は、通信装置３０６により実現可能である。又は、演算装置３０１が上記プログラムの実行により、通信装置３０６を制御することで実現してもよい。
【００３０】
また、３次元モデル生成装置１００の各部は、１つの装置により実現されてもよく、複数の装置により分散されて実現されてもよい。
【００３１】
次に、動作例を説明する。図４は、３次元モデル生成装置１００の動作例である。ここでは、３次元モデル生成装置１００は、以下の処理を、構造体毎に行うものとして説明する。
【００３２】
セグメント生成部１１１は、３次元モデル記憶部１２１から３次元モデルを読み出して、この３次元モデルをセグメントに分割する（Ｓ４０１）。セグメントとは、例えばエッジ、頂点、フェイス等の要素を有するポリゴンメッシュである。３次元モデルをセグメントに分割する技術は、特に限定しないが、例えば、ドロネー三角メッシュ法（Delaunay triangulation method）やバブルメッシュ法（Bubble mesh method）等のような任意の公知技術によりセグメントに分割してもよく、３次元モデルに含まれる任意の情報に基づいてセグメントに分割してもよい。
【００３３】
なお、以下の説明では、ポリゴンメッシュが三角メッシュであるものとして説明するが、当然ながらこれに限定するものではなく、任意の多角形をメッシュとして採用することができる。
【００３４】
連結関係特定部１１２は、連結しているセグメントを特定し、このセグメントの連結関係を示すグラフネットワークを生成する（Ｓ４０２）。
【００３５】
ここで、Ｓ４０１、Ｓ４０２について図面を参照して具体例を説明する。図５は、セグメントへの分割及びその連結関係の特定を説明するための図である。
【００３６】
矩形体５１０は、矩形体をポリゴンメッシュに分割した例である。矩形体５１０の平面５１１は、セグメント生成部１１１により、メッシュＡ１及びメッシュＡ２に分割される。同様に、平面５１２はメッシュＢ１及びメッシュＢ２に、平面５１３はメッシュＣ１及びメッシュＣ２に分割される。簡略化のため図示していない他の各平面も、上記と同様に２つのメッシュに分割される。
【００３７】
図示するように、メッシュＡ２は、メッシュＡ１、メッシュＢ１、メッシュＣ１の各々と連結している。また、メッシュＢ１は、メッシュＡ２、メッシュＢ２、メッシュＣ２の各々と連結している。
【００３８】
連結関係特定部１１２は、メッシュ毎に、どのメッシュと連結しているかを特定する。メッシュの連結関係を特定する技術は特に限定しないが、例えば、あるメッシュの頂点が、他のメッシュのエッジ上又はその近傍に位置するか否かにより判定してもよい。
【００３９】
グラフネットワーク５２０は、矩形体５１０の各メッシュの連結関係をグラフネットワークで示した例である。グラフネットワーク５２０のノードは、矩形体５１０のメッシュを示す。例えば、上記のように、メッシュＡ２はメッシュＡ１、メッシュＢ１、メッシュＣ１と連結している。メッシュＡ２を示すノード５２１は、メッシュＡ１、メッシュＢ１、メッシュＣ１の各々を示すノード５２２、ノード５２３、ノード５２４の各々と連結されている。
【００４０】
連結関係特定部１１２は、上記のようなグラフネットワークを示す情報を任意の記憶領域に記憶させる。
【００４１】
図４に戻る。形状特徴特定部１１３は、Ｓ４０２の処理で特定した連結関係を有するセグメントの形状特徴を特定し、形状情報特定部１１４はその形状特徴の形状情報を特定する（Ｓ４０３）。形状特徴とは、３次元モデルの示す形状の特徴を示し、本実施形態では、構造体は、１つ以上の形状特徴のいずれかに該当するか否かが判定される。例えば、形状特徴特定部１１３は、連結関係特定部１１２により生成されたグラフネットワークに基づいて連結するポリゴンメッシュを特定し、これを処理単位とする。次に、形状特徴特定部１１３は、処理単位のポリゴンメッシュの一部により形成される平面を特定し、その平面と、他のポリゴンメッシュからなる特徴部とから、どの形状特徴に該当するかを特定する。
【００４２】
形状特徴は、ここでは、円筒、環状、円錐、矩形体のうち少なくとも１つを含むものとする。しかし、当然ながらこれに限るわけではなく、他の任意の立体形状が形状特徴として含まれていてもよい。
【００４３】
ここで、Ｓ４０３の処理例を詳細に説明する。図６は、形状特徴の特定、及び、形状情報の特定の処理フローの例である。
【００４４】
形状特徴特定部１１３は、処理が終了したか否か判定する（Ｓ６０１）。そのために、形状特徴特定部１１３は、例えば、連結関係特定部１１２により生成されたグラフネットワークから、連結関係を有するポリゴンメッシュの全てに以下で説明する処理を行ったか否か判定する。Ｓ６０１の判定の結果、処理している場合（Ｓ６０１：Ｙｅｓ）、Ｓ４０３以降の処理に進む。
【００４５】
Ｓ６０１の判定の結果、終了していない場合（Ｓ６０１：Ｎｏ）、形状特徴特定部１１３は、連結関係を有するポリゴンメッシュの形状特徴が、円筒であるか否か判定する（Ｓ６０２）。Ｓ６０２の判定の結果、円筒でない場合（Ｓ６０２：Ｎｏ）、後述するＳ６０４の処理に移行する。一方、Ｓ６０２の判定の結果、円筒である場合（Ｓ６０２：Ｙｅｓ）、形状情報特定部１１４は、その円筒の形状情報を特定し（Ｓ６０３）、Ｓ６０１の処理に戻る。
【００４６】
形状特徴特定部１１３は、連結関係を有するセグメントの形状特徴が、環状であるか否か判定する（Ｓ６０４）。Ｓ６０４の判定の結果、環状でない場合（Ｓ６０４：Ｎｏ）、後述するＳ６０６の処理に移行する。一方、Ｓ６０４の判定の結果、環状である場合（Ｓ６０４：Ｙｅｓ）、形状情報特定部１１４は、その環状の形状情報を特定し（Ｓ６０５）、Ｓ６０１の処理に戻る。
【００４７】
形状特徴特定部１１３は、連結関係を有するセグメントの形状特徴が、円錐であるか否か判定する（Ｓ６０６）。Ｓ６０６の判定の結果、円錐でない場合（Ｓ６０６：Ｎｏ）、後述するＳ６０８の処理に移行する。一方、Ｓ６０６の判定の結果、円錐である場合（Ｓ６０６：Ｙｅｓ）、形状情報特定部１１４は、その円錐の形状情報を特定し（Ｓ６０７）、Ｓ６０１の処理に戻る。
【００４８】
形状特徴特定部１１３は、連結関係を有するセグメントの形状特徴が、矩形体であるか否か判定する（Ｓ６０８）。Ｓ６０８の判定の結果、矩形体でない場合（Ｓ６０８：Ｎｏ）、後述するＳ６１０の処理に移行する。一方、Ｓ６０８の判定の結果、矩形体である場合（Ｓ６０８：Ｙｅｓ）、形状情報特定部１１４は、その矩形体の形状情報を特定し（Ｓ６０９）、Ｓ６０１の処理に戻る。
【００４９】
形状特徴特定部１１３は、連結関係を有するセグメントの形状特徴が、円筒、環状、円錐、矩形体のいずれでもないと判定し（Ｓ６１０）、Ｓ６０１の処理に戻る。
【００５０】
ここで、形状特徴の判定、及び、特定する形状情報の例について詳細に説明する。図７は、円筒の形状特徴の判定、及び、特定する形状情報を説明するための図である。
【００５１】
形状７１０は、連結関係を有するポリゴンメッシュからなるものである。形状特徴が円筒であるか否か判定するために、形状特徴特定部１１３は、形状７１０が以下の条件を満たすか否か判定する。
【００５２】
i.  略円形の平面が２つ存在する
ii.  上記２つの略円形が略平行である
iii.   上記２つの略円形の径が略同じである
【００５３】
上記条件を全て満たす場合、形状特徴特定部１１３は、形状７１０の形状特徴は円筒であると判定する。
【００５４】
連結するポリゴンメッシュが平面を形成しているか否かを判定する技術は特に限定しないが、任意の公知技術を用いてもよい。公知技術としては、例えば、隣接するポリゴンメッシュのフェイスの法線が略同じであるか否かにより、平面が形成されているか否か判定するものがある。以下、平面を形成するポリゴンメッシュの集合をグループともいう。
【００５５】
また、グループにより形成される平面が円形であるか否かは、例えば、その平面の縁の形状、即ち、１つのグループに属するポリゴンメッシュのエッジのうち、同じグループに属する他のポリゴンメッシュのエッジ上又はその近傍に位置していないものにより形成される形状が、略円形であるか否かにより判定してもよい。
【００５６】
また、略円形の径は、例えば、略円形の直径、半径、円周等のうち少なくとも１つを用いることで、略同じか否か判定可能である。
【００５７】
形状７２０は、形状７１０の形状特徴が円筒であると判定された場合に、その円筒を規定する形状情報を説明するためのものである。形状情報特定部１１４は、円筒の形状情報として、例えば以下を特定する。
【００５８】
-  円筒の開始点
-  円筒の終了点
-  円筒の半径
【００５９】
円筒の開始点とは、上記２つの略円形のうち一方の位置を特定する情報であり、例えば、一方の略円形の中心点又はその近傍のxyz座標である。形状７２０では、円筒の開始点は、例えば中心点O1のxyz座標である。また、円筒の終了点とは、上記２つの略円形のうち他方の位置を特定する情報であり、例えば、他方の略円形の中心点又はその近傍のxyz座標である。形状７２０では、円筒の終了点は、例えば中心点O2のxyz座標である。また、円筒の半径とは、上記略円形の半径である。形状７２０では、円筒の半径は、例えば半径rの値である。
【００６０】
図８は、環状の形状特徴の判定、及び、特定する形状情報を説明するための図である。
【００６１】
形状８１０は、連結するポリゴンメッシュからなるものである。形状特徴が環状であるか否か判定するために、形状特徴特定部１１３は、形状８１０が以下の条件を満たすか否か判定する。
【００６２】
i.  略円形の平面が２つ存在する
ii.  上記２つの略円形が平行ではない
iii.   上記２つの略円形の径が略同じである
iiii.  上記２つの略円形のうち一方が、その略円形を基準に定まるローカル座標系のz軸方向に平行である
iiiii.   上記２つの略円形のうち他方の中心が上記ローカル座標系のx軸上に存在する
【００６３】
上記条件を全て満たす場合、形状特徴特定部１１３は、形状８１０の形状特徴は環状であると判定する。
【００６４】
上記判定の具体的な技術については上記と同じであるので省略する。
【００６５】
形状８２０は、形状８１０の形状特徴が環状であると判定された場合に、その環状を規定する形状情報を説明するためのものである。形状情報特定部１１４は、環状の形状情報として、例えば以下を特定する。
【００６６】
-  ローカル座標系の原点
-  環状の曲げの半径
-  筒の半径
-  環状の曲げの角度
【００６７】
ローカル座標系の原点とは、環状の位置を特定するための座標系の位置であり、例えば、環状の曲げの中心点又はその近傍のxyz座標である。形状８２０では、ローカル座標系の原点は、例えば座標系mxのxyz座標である。また、環状の曲げの半径とは、例えば、ローカル座標系から上記略円形の中心点又はその近傍までの距離である。形状８２０では、環状の曲げの半径は、例えば半径Rの値である。また、筒の半径とは、例えば、上記略円形の径である。形状８２０では、筒の半径は、例えば半径rの値である。また、環状の曲げの角度とは、例えば、上記２つの略円形で形成される角度である。形状８２０では、環状の曲げの角度は、例えば角度angの値である。
【００６８】
図９は、円錐の形状特徴の判定、及び、特定する形状情報を説明するための図である。
【００６９】
形状９１０は、連結するポリゴンメッシュからなるものである。形状特徴が円錐であるか否か判定するために、形状特徴特定部１１３は、形状９１０が以下の条件を満たすか否か判定する。
【００７０】
i.  略円形の平面が存在する
ii.  隣接するポリゴンメッシュとは平面を成さない三角メッシュが、１つの頂点を共有する
【００７１】
上記条件を全て満たす場合、形状特徴特定部１１３は、形状９１０の形状特徴は円錐であると判定する。
【００７２】
上記判定の具体的な技術については上記と同じであるので省略する。
【００７３】
形状９２０は、形状９１０の形状特徴が円錐であると判定された場合に、その円錐を規定する形状情報を説明するためのものである。形状情報特定部１１４は、円錐の形状情報として、例えば以下を特定する。
【００７４】
-  略円形の中心点
-  円錐の頂点
-  略円形の半径
【００７５】
略円形の中心点とは、例えば、上記略円形の中心点又はその近傍のxyz座標である。形状９２０では、中心点Oのxyz座標である。また、円錐の頂点とは、例えば、円錐の頂点又はその近傍のxyz座標である。形状９２０では、円錐の頂点は、例えば頂点Aのxyz座標である。また、略円形の半径は、形状９２０では、例えば半径rの値である。
【００７６】
図１０は、矩形体の形状特徴の判定、及び、特定する形状情報を説明するための図である。
【００７７】
形状１０１０は、連結するポリゴンメッシュからなるものである。形状特徴が矩形体であるか否か判定するために、形状特徴特定部１１３は、形状１０１０が以下の条件を満たすか否か判定する。
【００７８】
i.  ６つの平面が存在する
ii.  上記６つの平面の各々が、４つの角を含む
iii.  上記６つの平面の各々の角が、８つの異なる頂点を形成する
iiii.   上記６つの平面の各々は、自身と接する他の平面の辺が自身と略垂直である
【００７９】
上記条件を全て満たす場合、形状特徴特定部１１３は、形状１０１０の形状特徴は矩形体であると判定する。
【００８０】
上記判定の具体的な技術については上記と同じであるので省略する。なお、６つの平面の各々が４つの角を含むか否かについては、例えば、あるグループにおいて、隣接するポリゴンメッシュと共有する頂点が、そのグループにより形成される平面の縁上又はその近傍に存在し、このような頂点が、そのグループ内で４つ存在するか否かにより判定してもよい。
【００８１】
形状１０２０は、形状１０１０の形状特徴が矩形体であると判定された場合に、その矩形体を規定する形状情報を説明するためのものである。形状情報特定部１１４は、矩形体の形状情報として、例えば以下を特定する。
【００８２】
-  ローカル座標系の原点
-  ローカル座標系を基準とした対角の頂点
【００８３】
ローカル座標系の原点とは、矩形体の位置を特定するための座標系の位置であり、例えば、上記８つの頂点又はその近傍のうちいずれかのxyz座標である。形状１０２０では、ローカル座標系の原点は、例えば座標系mxのxyz座標である。また、ローカル座標系を基準とした対角の頂点とは、例えば、上記８つの頂点のうちローカル座標系とした頂点の対角に位置する頂点又はその近傍のxyz座標である。形状１０２０では、ローカル座標系を基準とした対角の頂点は、頂点Pのxyz座標である。
【００８４】
なお、３次元モデル記憶部１２１のデータや構造体の特徴等によっては、１つのグラフネットワークに、複数の形状特徴が含まれる場合もある。例えば、１つのグラフネットワークに、円筒と環状との両方の形状特徴が含まれる等である。このような場合、１つの形状特徴を先に特定し、特定した形状特徴に該当するデータを除いたポリゴンメッシュから、他の形状特徴を特定してもよい。複数の形状特徴が含まれるポリゴンメッシュから１つの形状特徴を特定する技術については限定しないが、例えば、ポリゴンメッシュの特徴量から特定してもよい。このような技術は公知であり、詳細な説明は省略するが、例えば、ポリゴンメッシュのエッジ、頂点、フェイス等から取得可能な点群の部分の頂点のx方向、y方向、z方向の分散、大きさ、重心距離等の特徴から特徴量を算出し、この特徴量に基づいて、１つの形状特徴を特定するポリゴンメッシュを特定してもよい。また、他の任意の技術により形状特徴を特定してもよい。
【００８５】
また、上記では、形状特徴を、円筒、環状、円錐、矩形体の順で判定するものとしたが、判定順はこれに限るわけではなく任意である。また、例えば、構造体の種別や特徴量等に応じて、判定順を異なるようにしてもよい。
【００８６】
また、本実施形態では、形状特徴を特定するための条件は、ルール記憶部１２３のデータに示されているものとし、形状特徴特定部１１３は、ルール記憶部１２３のデータに基づいて特定するものとする。しかし、これに限るわけではなく、例えば、特定するためのアルゴリズム等が予め形状特徴特定部１１３に含まれていてもよい。
【００８７】
また、形状情報特定部１１４により特定される形状情報は一例であり、上記に限るものではない。
【００８８】
図４に戻る。姿勢特定部１１５は、３次元計測値記憶部１２２から、Ｓ４０３の処理で特定した形状特徴毎に、その形状特徴の位置に該当する３次元の計測値を取得する（Ｓ４０４）。そのために、姿勢特定部１１５は、形状特徴毎に、その形状情報から、その形状特徴の位置に相当する３次元の計測値を取得する。より詳細には、Ｓ４０３で取得した形状情報の座標系原点と、３次元計測値記憶部１２２の３次元の計測値の座標系原点とを、公知の技術で整合させ、整合させた座標系に基づいて、該当する３次元の計測値を取得するとよい。
【００８９】
次に、姿勢特定部１１５は、Ｓ４０４の処理で取得した計測値と、形状特徴及び形状情報に該当する構造体との距離を算出する（Ｓ４０５）。この距離を算出するために、姿勢特定部１１５は、例えば、Ｓ４０４の処理で取得した各計測値から、Ｓ４０３の処理で特定した形状特徴及び形状情報に該当するポリゴンメッシュ又は３次元モデルまでの最短距離を算出する。
【００９０】
次に、姿勢特定部１１５は、構造体が存在しているか否か判定する（Ｓ４０６）。すなわち、姿勢特定部１１５は、形状特徴及び形状情報に該当する構造体が存在しているか否かを、３次元の計測値とその構造体との距離に基づいて判定する。この処理は、特に限定しないが、例えば、上記処理で算出した各計測値と形状特徴及び形状情報に該当する構造体との距離の合計等が、任意の閾値を超えるか否か等により判定してもよい。この閾値は、例えば、構造体の種類、体積や面積、形状特徴、計測値の精度、３次元モデルの精度等に応じて定められてもよい。姿勢特定部１１５は、各計測値に対し、形状特徴及び形状情報に該当する構造体に対応しているか否かをラベリングして記憶部１２０の任意の記憶領域に格納する。
【００９１】
あるいは、姿勢特定部１１５は、上記処理で算出した計測値と形状特徴及び形状情報に該当する構造体との距離が所定閾値を超えるものが、他の所定閾値を超えた場合に、構造体が存在していないと判定してもよい。これらの閾値は、上記と同様に、例えば、構造体の種類、体積や面積、形状特徴、計測値の精度、３次元モデルの精度等に応じて定めてもよい。
【００９２】
Ｓ４０６の判定の結果、構造体が存在している場合（Ｓ４０６：Ｙｅｓ）、姿勢特定部１１５は、Ｓ４０５で算出した距離に基づいて、形状特徴及び形状情報に該当する構造体の姿勢を特定する（Ｓ４０７）。そのために、姿勢特定部１１５は、各計測値と形状特徴及び形状情報に該当する構造体との距離の合計等を算出するための距離関数を生成し、この関数の値が最小となるような、構造体の姿勢を算出する。
【００９３】
ここで、Ｓ４０７の処理の具体例について説明する。図１１は、計測値からの距離と、構造体の姿勢特定とを説明するための図である。
【００９４】
形状１１１０は、形状特徴が円筒の構造体の例である。点群１１２０は、Ｓ４０５で取得された、形状１１１０の位置に相当する３次元の計測値群の例である。モデル生成部１１６は、点群１１２０の各々の計測点から、形状１１１０までの最短距離を算出する。一例をあげれば、姿勢特定部１１５は、計測点１１２１と形状１１１０までの最短距離ｄを算出する。姿勢特定部１１５は、この処理を、各計測点に対して行う。
【００９５】
姿勢特定部１１５は、上記のような距離の合計等が最小となるような、形状１１１０の姿勢を特定する。そのために、姿勢特定部１１５は、例えば、計測点群１１２０の各々の計測点から形状１１１０までの距離を算出するための距離関数を生成し、この関数の値が最小となるような、形状１１１０の位置及び角度等を算出する。
【００９６】
なお、姿勢特定部１１５は、さらに、Ｓ４０３で取得した形状情報の修正値を取得してもよい。そのために、例えば、姿勢特定部１１５は、各計測値と構造体との距離の合計等を算出するための距離関数の値が最小となるような、構造体に関する情報等、すなわち、径、点や座標系等の位置等を算出するとよい。
【００９７】
図４に戻る。モデル生成部１１６は、新たな３次元モデルを生成する（Ｓ４０８）。そのために、モデル生成部１１６は、例えば、Ｓ４０７で取得した姿勢と、Ｓ４０３で取得した形状特徴及びその形状情報とから、３次元モデルを生成し、記憶部１２０等の任意の記憶領域に記憶させる。なお、上記処理により形状情報の修正値を取得している場合は、モデル生成部１１６は、この修正値に従って３次元モデルを生成する。
【００９８】
また、Ｓ４０６の判定の結果、構造体が存在していない場合（Ｓ４０６：Ｙｅｓ）、その構造体に対する処理を終了する。
【００９９】
上記処理は、構造体毎に行うことができる。上記処理を行う構造体の単位は任意である。例えば、１つの構造体を構成する複数の部品（構造体）毎に上記処理を行ってもよい。また、１つの構造体が複数の構造体からなるものであっても、その１つの構造体を１つの処理単位として、上記処理を行ってもよい。
【０１００】
出力部１４０は、上記処理により生成された各情報を、任意のタイミングで出力することができる。この出力情報は、３次元モデル生成装置１００の任意の構成が生成することができる。
【０１０１】
出力部１４０が出力する情報は、上記処理により得られた情報であれば良く、限定しないが、例えば、Ｓ４０８で生成された３次元モデルや、部品が存在する/しないの判定結果等である。図１２は、出力する画面の一例である。
【０１０２】
画面１２００は、領域１２１０、領域１２２０、領域１２３１、領域１２３２、領域１２３３、領域１２３４等を含む。
【０１０３】
領域１２１０には、３次元モデル記憶部１２１の３次元モデルが表示される。領域１２２０には、Ｓ４０８で生成された３次元モデル等が表示される。また、領域１２２０には、存在しない構造体と、存在しているが元の３次元モデルとは位置及び/又は姿勢が異なる構造体と、元の３次元モデルに対応していない計測値等とが、他とは異なる表示形態で表示される。例えば、構造体１２２１は、存在しない構造体である。構造体１２２２、１２２３は、存在しているが元の３次元モデルとは位置及び/又は姿勢が異なる構造体である。点の集合１２２４は、元の３次元モデルに対応していない計測値の集合である。
【０１０４】
領域１２３１には、存在する構造体の識別情報等が表示される。領域１２３２には、存在しない構造体の識別情報等が表示される。領域１２３３には、存在しているが元の３次元モデルとは位置及び/又は姿勢が異なる構造体の識別情報及びそのずれ量等が表示される。領域１２３４には、存在しているが元の３次元モデルとは寸法等が異なる構造体の識別情報及びその寸法等が表示される。
【０１０５】
なお、存在しているが元の３次元モデルとは位置及び/又は姿勢が異なる構造体のずれ量は、Ｓ４０３の処理で取得した形状情報と、Ｓ４０７の処理で取得した姿勢とから取得した、構造体の任意の基準点におけるxyz値のずれ量等であってもよい。また、存在しているが元の３次元モデルとは寸法等が異なる構造体の寸法は、Ｓ４０３の処理で取得した形状情報と、形状情報の修正値等とから得られる値であってもよい。
【０１０６】
図１３は、詳細な情報を表示する画面例である。画面１３００は、存在しない構造体を表示する例である。
【０１０７】
画像１３００は、領域１３１０、領域１３２０等を有する。領域１３１０は、存在しない構造体の３次元モデルを表示する。領域１３２０は、存在しない構造体に関する情報、例えば、その構造体の寸法、位置、構造体の親子関係等を表示する。
【０１０８】
構造体の寸法及び位置等は、Ｓ４０３の処理で取得した形状情報等から取得できる。構造体の親子関係は、３次元モデル記憶部１２１又は他の任意の記憶部に記憶されている情報から取得できる。
【０１０９】
なお、画面１３００は存在しない構造体を表示する例であるが、これと同様に、存在する構造体、存在しているが元の３次元モデルとは位置及び/又は姿勢が異なる構造体等、他の任意の構造体を表示することができる。
【０１１０】
以上、一実施形態を説明した。上記技術により、計測したデータから３次元モデルを生成することができる。
【０１１１】
例えば、設計段階で３次元モデルを生成したが、製造、生産、施工等の過程で設計変更が生じたため、実際に製造、生産、施工等された構造体と、設計段階で生成された３次元モデルとが一致しない場合がある。このような構造体を変更、改修等する際に、作業性、強度設計等、設計段階でのシミュレーションのために３次元モデルが必要となることがある。本実施形態の３次元モデル生成装置１００によれば、そのような場合でも、元の３次元モデルと、構造体の計測値とを用いて、実際に製造、生産、施工等された構造体の３次元モデルを生成することが可能となる。
【０１１２】
また、本実施の形態では、３次元モデルには存在しているが、計測値には該当するものがない構造体を特定することができる。
【０１１３】
また、本実施の形態では、３次元モデルには存在しているが、計測値とはその位置、姿勢、寸法等のうち少なくともいずれかが異なる構造体を特定することができる。
【０１１４】
また、セグメントの連結をグラフネットワークにより定義するので、セグメントの連結関係を簡易に定義することが可能となる。
【０１１５】
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
【０１１６】
また、上記の各図において、制御線や情報線は説明上必要と考えられるものを示しており、必ずしも実装上の全ての制御線や情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
【符号の説明】
【０１１７】
１００：３次元モデル生成装置、１１０：制御部、１２０：記憶部１２０、１３０：入力部、１４０：出力部、１５０：通信部、１１１：セグメント生成部、１１２：連結関係特定部、１１３、形状特徴特定部、１１４：形状情報特定部、１１５：姿勢特定部、１１６：モデル生成部、１２１：３次元モデル記憶部、１２２：３次元計測値記憶部、１２３：ルール記憶部
【図１】
2015084171.tif 000003
【図２】
2015084171.tif 000004
【図３】
2015084171.tif 000005
【図４】
2015084171.tif 000006
【図５】
2015084171.tif 000007
【図６】
2015084171.tif 000008
【図７】
2015084171.tif 000009
【図８】
2015084171.tif 000010
【図９】
2015084171.tif 000011
【図１０】
2015084171.tif 000012
【図１１】
2015084171.tif 000013
【図１２】
2015084171.tif 000014
【図１３】
2015084171.tif 000015