(57)【要約】      （修正有）【課題】点群データによって構成された三次元データにスケールを付与する。【解決手段】測定対象物２０の周囲に予め大きさ及び形状が判明している複数の基準物２２ａ〜２２ｄを配置し、デジタルカメラ又は又はレーザスキャナによって複数の基準物を含めて測定対象物を様々な角度から撮影又はスキャンニングして取得した位置データ、基準物の判明している大きさ及び形状をコンピュータに入力する。コンピュータは、複数の画像データ又は複数の位置データから測定対象物及び各基準物の点群データを取得し、点群データにおいて各基準物における入力された大きさ及び形状に対して所定の誤差範囲に含まれる大きさ及び形状を有する物体を基準物として認定し、認定した各基準物が入力された大きさ及び形状となるように点群データを伸縮させ及び／又はねじれを加えることにより点群データ全体のスケールを設定する。【選択図】図１
2020161034.tif 000002
【特許請求の範囲】
【請求項１】
点群データによって構成された三次元データにスケールを付与する方法であって、
測定対象物の周囲に、予め大きさ及び形状が判明している基準物を複数個配置し、
デジタルカメラによって前記複数の基準物を含めて前記測定対象物を様々な角度から撮影した画像データ、又はレーザスキャナによって前記複数の基準物を含めて前記測定対象物を様々な角度からスキャンニングして取得した位置データをコンピュータに入力し、
各基準物の判明している大きさ及び形状をコンピュータに入力し、
前記コンピュータは、
前記複数の画像データ又は前記複数の位置データから前記測定対象物及び各前記基準物が含まれる点群データを取得し、
前記点群データにおいて、各基準物における入力された大きさ及び形状に対して所定の誤差範囲に含まれる大きさ及び形状を有する物体を基準物として認定し、
認定した各基準物が、入力された大きさ及び形状となるように点群データを伸縮させ及び／又はねじれを加えることにより、点群データ全体のスケールを設定することを特徴とする三次元データスケール付与方法。
【請求項２】
前記基準物は立方体又は直方体であることを特徴とする請求項１記載の三次元データスケール付与方法。
【請求項３】
前記基準物は、前記測定対象物の周囲に最低２個配置され、各基準物を結ぶ直線上に前記測定対象物が位置していることを特徴とする請求項１又は請求項２記載の三次元データスケール付与方法。
【請求項４】
前記測定対象物の周囲を囲むように配置した各前記基準物は、前記測定対象物が設置されている面と同一平面以下の位置に配置され、
前記測定対象物よりも上方に予め大きさ及び形状が判明している上方基準物を設置することを特徴とする請求項１〜３のうちのいずれか１項記載の三次元データスケール付与方法。
【請求項５】
コンピュータ内で点群データによって構成された三次元データにスケールを付与するプログラムであって、
測定対象物の周囲に、予め大きさ及び形状が判明している基準物を複数個配置してデジタルカメラによって前記複数の基準物を含めて前記測定対象物を様々な角度から撮影した画像データ、又は測定対象物の周囲に、予め大きさ及び形状が判明している基準物を複数個配置してレーザスキャナによって前記複数の基準物を含めて前記測定対象物をスキャンニングして取得した位置データから前記測定対象物及び各前記基準物の点群データを取得した後の点群データにおいて、各基準物における判明している大きさ及び形状に対して所定の誤差範囲に含まれる大きさ及び形状を有する物体を基準物として認定する機能と、
認定した各基準物が、入力された大きさ及び形状となるように点群データを伸縮させ及び／又はねじれを加えることにより、点群データ全体のスケールを設定する機能と、をコンピュータに実行させることを特徴とする三次元データスケール付与プログラム。
【請求項６】
前記基準物は立方体又は直方体であることを特徴とする請求項５記載の三次元データスケール付与プログラム。
【請求項７】
前記基準物は、前記測定対象物の周囲に最低２個配置され、各基準物を結ぶ直線上に前記測定対象物が位置しているこることを特徴とする請求項５又は請求項６記載の三次元データスケール付与プログラム。
【請求項８】
前記測定対象物の周囲を囲むように配置した各前記基準物は、前記測定対象物が設置されている面と同一平面以下の位置に配置され、
前記測定対象物よりも上方に予め大きさ及び形状が判明している上方基準物を設置することを特徴とする請求項５〜７のうちのいずれか１項記載の三次元データスケール付与プログラム。
【請求項９】
点群データによって構成された三次元データにスケールを付与する方法であって、
測定対象物の周囲に、予め大きさ及び形状が判明している構造物が複数設けられている場合において、デジタルカメラによって前記複数の構造物を含めて前記測定対象物を様々な角度から撮影した画像データ、又はレーザスキャナによって前記複数の構造物を含めて前記測定対象物を様々な角度からスキャンニングして取得した位置データをコンピュータに入力し、
各構造物の判明している大きさ及び形状をコンピュータに入力し、
前記コンピュータは、
前記複数の画像データ又は前記複数の位置データから前記測定対象物及び各前記構造物が含まれる点群データを取得し、
前記点群データにおいて、各構造物における入力された大きさ及び形状に対して所定の誤差範囲に含まれる大きさ及び形状を有する物体を構造物として認定し、
認定した各構造物が、入力された大きさ及び形状となるように点群データを伸縮させ及び／又はねじれを加えることにより、点群データ全体のスケールを設定することを特徴とする三次元データスケール付与方法。
【請求項１０】
コンピュータ内で点群データによって構成された三次元データにスケールを付与するプログラムであって、
測定対象物の周囲に、予め大きさ及び形状が判明している構造物が複数設けられている場合において、デジタルカメラによって前記複数の構造物を含めて前記測定対象物を様々な角度から撮影した画像データ、又は測定対象物の周囲に、予め大きさ及び形状が判明している構造物が複数設けられてレーザスキャナによって前記複数の構造物を含めて前記測定対象物をスキャンニングして取得した位置データから前記測定対象物及び各前記構造物の点群データを取得した後の点群データにおいて、各構造物における判明している大きさ及び形状に対して所定の誤差範囲に含まれる大きさ及び形状を有する物体を構造物として認定する機能と、
認定した各構造物が、入力された大きさ及び形状となるように点群データを伸縮させ及び／又はねじれを加えることにより、点群データ全体のスケールを設定する機能と、をコンピュータに実行させることを特徴とする三次元データスケール付与プログラム。
【請求項１１】
点群データによって構成された三次元データにスケールを付与する方法であって、
測定対象物の周囲に、２つの基準点が同一平面上に表示されており、該基準点の２点間の長さが判明している平面状基準物を複数配置し、
デジタルカメラによって前記複数の平面状基準物を含めて前記測定対象物を様々な角度から撮影した画像データ、又はレーザスキャナによって前記複数の平面状基準物を含めて前記測定対象物を様々な角度からスキャンニングして取得した位置データをコンピュータに入力し、
各平面状基準物における基準点間の長さをコンピュータに入力し、
前記コンピュータは、
前記複数の画像データ又は前記複数の位置データから前記測定対象物及び各前記平面状基準物が含まれる点群データを取得し、
点群データ中の各前記平面状基準物に表示されている基準点間の長さが、入力された長さとなるように点群データを伸縮させ及び／又はねじれを加えることにより、点群データ全体のスケールを設定することを特徴とする三次元データスケール付与方法。
【請求項１２】
コンピュータ内で点群データによって構成された三次元データにスケールを付与するプログラムであって、
測定対象物の周囲に、２つの基準点が同一平面上に表示されており、該基準点の２点間の長さが判明している平面状基準物が複数設けられている場合において、デジタルカメラによって前記複数の平面状基準物を含めて前記測定対象物を様々な角度から撮影した画像データ、又は測定対象物の周囲に、２つの基準点が同一平面上に表示されており、該基準点の２点間の長さが判明している平面状基準物が複数設けられてレーザスキャナによって前記複数の平面状基準物を含めて前記測定対象物をスキャンニングして取得した位置データから前記測定対象物及び各前記平面状基準物の点群データを取得した後の点群データにおいて、
点群データ中の各前記平面状基準物に表示されている基準点間の長さが、入力された長さとなるように点群データを伸縮させ及び／又はねじれを加えることにより、点群データ全体のスケールを設定する機能をコンピュータに実行させることを特徴とする三次元データスケール付与プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数枚の写真やレーザスキャンによる位置データから三次元データを生成した際に、三次元的に正確なスケールを付与する方法及びプログラムに関する。
【背景技術】
【０００２】
三次元データの生成については、特許文献１に示すように、測定対象物の周囲から複数枚の写真を撮影し、この複数枚の写真に基づいて点群データを取得する方法が知られている。
【０００３】
特許文献１の画像処理方法によれば、複数のカメラで撮影したデータから点群データを抽出するが、その際カメラの位置、姿勢、焦点距離等のパラメータをカメラパラメータとして取得し、このカメラパラメータに基づいて視点からの距離を設定し、点群データの作成をしている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１８−３６８９７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１（特開２０１８−３６８９７号公報）に示すような方法により点群データを取得したとしても、点群データに正確なスケールを与えることができない。
例えば、特許文献１では観察視点と対象物との間の距離分布を示す距離画像（デプスマップ）を作成しているが、所定の観察視点からの点群データまでの距離を設定するだけであって、取得した点群データ全体を三次元的に設定しているものではない。
このため、正確なスケールを有する三次元データを取得することができなかった。
【課題を解決するための手段】
【０００６】
そこで、本発明は上記課題を解決すべくなされ、その目的とするところは、デジタルカメラによる画像データ又はレーザスキャナによる位置データに基づいて生成された点群データに対して、三次元的に正確なスケールを付与する方法及びプログラムを提供することにある。
【０００７】
本発明にかかる三次元データスケール付与方法によれば、点群データによって構成された三次元データにスケールを付与する方法であって、測定対象物の周囲に、予め大きさ及び形状が判明している基準物を複数個配置し、デジタルカメラによって前記複数の基準物を含めて前記測定対象物を様々な角度から撮影した画像データ、又はレーザスキャナによって前記複数の基準物を含めて前記測定対象物を様々な角度からスキャンニングして取得した位置データをコンピュータに入力し、各基準物の判明している大きさ及び形状をコンピュータに入力し、前記コンピュータは、前記複数の画像データ又は前記複数の位置データから前記測定対象物及び各前記基準物が含まれる点群データを取得し、前記点群データにおいて、各基準物における入力された大きさ及び形状に対して所定の誤差範囲に含まれる大きさ及び形状を有する物体を基準物として認定し、認定した各基準物が、入力された大きさ及び形状となるように点群データを伸縮させ及び／又はねじれを加えることにより、点群データ全体のスケールを設定することを特徴としている。
この構成を採用することによって、予め大きさ及び形状が判明している基準物を複数個測定対象物の周囲に配置して、基準物を含めて測定対象物を撮影し、複数の基準物の大きさ及び形状が、それぞれ予め判明している大きさ及び形状となるように、点群データを最適化することで、点群データ全体に正確なスケールが付与され、スケールが正確な三次元データを生成することができる。
【０００８】
また、前記基準物は立方体又は直方体であることを特徴としてもよい。この構成によれば、点群データから基準物を見つけ出すことを比較的容易に行うことができる。
【０００９】
また、前記基準物は、前記測定対象物の周囲に最低２個配置され、各基準物を結ぶ直線上に前記測定対象物が位置していることを特徴としてもよい。
この構成によれば、全ての基準物に対して予め判明している大きさ及び形状となるように空間を最適化したときに、測定対象物も確実に正確なスケールが付与される。
【００１０】
また、前記測定対象物の周囲を囲むように配置した各前記基準物は、前記測定対象物が設置されている面と同一平面以下の位置に配置され、前記測定対象物よりも上方に予め大きさ及び形状が判明している上方基準物を設置することを特徴としてもよい。
この構成によれば、基準物と上方基準物の双方が正確な大きさ及び形状となるように点群データを最適化するので、測定対象物の点群データの高さ方向のスケールもさらに正確  なものとすることができる。
【００１１】
本発明にかかる三次元データスケール付与方法によれば、点群データによって構成された三次元データにスケールを付与する方法であって、測定対象物の周囲に、予め大きさ及び形状が判明している構造物が複数設けられている場合において、デジタルカメラによって前記複数の構造物を含めて前記測定対象物を様々な角度から撮影した画像データ、又はレーザスキャナによって前記複数の構造物を含めて前記測定対象物を様々な角度からスキャンニングして取得した位置データをコンピュータに入力し、各構造物の判明している大きさ及び形状をコンピュータに入力し、前記コンピュータは、前記複数の画像データ又は前記複数の位置データから前記測定対象物及び各前記構造物が含まれる点群データを取得し、前記点群データにおいて、各構造物における入力された大きさ及び形状に対して所定の誤差範囲に含まれる大きさ及び形状を有する物体を構造物として認定し、認定した各構造物が、入力された大きさ及び形状となるように点群データを伸縮させ及び／又はねじれを加えることにより、点群データ全体のスケールを設定することを特徴としている。
この構成を採用することによって、予め大きさ及び形状が判明している基準物を複数個測定対象物の周囲に配置しなくても、大きさ及び形状が判明している構造物が測定対象物の周囲に存在していれば、構造物の大きさ及び形状がそれぞれ予め判明している大きさ及び形状となるように、点群データを最適化することで、点群データ全体に正確なスケールが付与され、スケールが正確な三次元データを生成することができる。
【００１２】
本発明にかかる三次元データスケール付与方法によれば、点群データによって構成された三次元データにスケールを付与する方法であって、測定対象物の周囲に、２つの基準点が同一平面上に表示されており、該基準点の２点間の長さが判明している平面状基準物を複数配置し、デジタルカメラによって前記複数の平面状基準物を含めて前記測定対象物を様々な角度から撮影した画像データ、又はレーザスキャナによって前記複数の平面状基準物を含めて前記測定対象物を様々な角度からスキャンニングして取得した位置データをコンピュータに入力し、各平面状基準物における基準点間の長さをコンピュータに入力し、前記コンピュータは、前記複数の画像データ又は前記複数の位置データから前記測定対象物及び各前記平面状基準物が含まれる点群データを取得し、点群データ中の各前記平面状基準物に表示されている基準点間の長さが、入力された長さとなるように点群データを伸縮させ及び／又はねじれを加えることにより、点群データ全体のスケールを設定することを特徴としている。
この方法によれば、点群データ内で予め大きさ及び形状が判明している基準物を認定する必要がなく、基準点だけ認識できればよいので、入力された大きさ及び形状に対して所定の誤差範囲に含まれる大きさ及び形状を有する物体を基準物として認定する工程が不要となる。したがって、点群データへのスケール設定がより迅速に実行できる。
【発明の効果】
【００１３】
本発明の三次元データスケール付与方法及びプログラムによれば、大規模な機材を用いることなく、点群データに正確なスケールを付与することができる。
【図面の簡単な説明】
【００１４】
【図１】測定対象物を撮影する際の測定対象物と複数の基準物の配置説明図である。
【図２】図１の配置説明図の平面図である。
【図３】コンピュータの構成を示すブロック図である。
【図４】点群データ生成プログラムのフローチャートである。
【図５】三次元データスケール付与プログラムのフローチャートである。
【図６】平面推定機能の説明図である。
【図７】点群データにおける１つの基準物に対して正確なスケールを付与した場合と、正確なスケールが付与されている点群データとのずれを示す説明図である。
【図８】図７の状態から、点群データ全体に正確なスケールが付与されたとことを示す説明図である。
【図９】測定対象物の上下方向を含めた全体を包括するように複数の基準物を配置した配置説明図である。
【図１０】図９の配置説明図の平面図である。
【図１１】屋内の構造物を基準物として設定した実施形態の配置説明図である。
【図１２】平面状基準物の説明図である。
【図１３】測定対象物の周囲に複数の平面状基準物を配置した配置説明図である。
【発明を実施するための形態】
【００１５】
以下、デジタルカメラによって測定対象物を撮影し、その画像データに基づいて点群データを取得する実施形態について説明する。なお、本明細書中では点群データのことを三次元データと称する場合もある。
まず、測定対象物の撮影の方法について説明する。図１は測定対象物と基準物の配置状態を示す斜視図であり、図２は測定対象物と基準物の配置状態を示す平面図である。
【００１６】
測定対象物２０は、どのようなものであってもかまわないが、図１、図２では多面体形状を例として挙げている。
作業者は、測定対象物２０の周囲に、測定対象物２０を取り囲むように複数の基準物２２ａ〜２２ｄを設置する。図１、図２に示す例では、測定対象物２０の周囲４箇所に立方体の基準物２２ａ〜２２ｄを設置している。このことにより、点群データにおいては立方体の各基準物２２ａ〜２２ｄで囲まれた内側に測定対象物２０が配置されることになる。つまり図２に示すように、各基準物２２ａ〜２２ｄの内側（測定対象物側）の任意の点を結ぶ直線で構成される四角形の内側に測定対象物２０が配置されるよう、測定対象物２０の周囲に各基準物２２ａ〜２２ｄを配置する。
【００１７】
基準物を構成する立方体の辺の長さは予め測定されており、図１、図２の左手前の基準物２２ａの一辺の長さは２．０ｃｍ、右手前の基準物２２ｂの一辺の長さは２．１ｃｍ、左奥の基準物２２ｃの一辺の長さは２．１ｃｍ、右奥の基準物２２ｄの一辺の長さは２．３ｃｍであるとする。
ただし、複数の基準物の辺の長さはすべて同じであってもよい。例えば、複数の基準物全てが、一辺の長さが２．０ｃｍの立方体であってもよい。
【００１８】
基準物としては、その形状は立方体に限定するものではない。例えば直方体であってもよいし、他の形状であってもよい。ただし面推定などにより、点群データからその大きさ及び形状を取得できる形状であることが必要である。
【００１９】
次に、作業者はデジタルカメラで測定対象物を様々な角度から、測定対象物２０及び複数の基準物２２の全周囲をカバーできるように複数枚撮影する。また、撮影は、撮影範囲をオーバーラップさせて行うことが必要である。オーバーラップさせた部分については、後述するようにデータのマッチング処理を行う。
さらに、撮影枚数としては、正確な点群データを取得するためには多いほど良いが、コンピュータにおける処理時間との兼ね合いで作業者が適宜決定する。
【００２０】
撮影完了後、作業者は、撮影した画像データをコンピュータに取り込ませる。
また、作業者は、基準物２２ａ〜２２ｄの大きさ及び形状（本実施形態では各基準物は立方体であるので、立方体であること及び各基準物における一辺の長さ）をコンピュータに入力する作業を行う。この作業は、三次元データスケール付与プログラムの実行前であればいつでも良い。
【００２１】
次に、コンピュータ内の動作について図３に基づいて説明する。図３は、コンピュータの内部構成の概略を示すブロック図である。
コンピュータは、一般的なパーソナルコンピュータを採用することができる。コンピュータ３０としては、内部に制御部３２と記憶装置３４を有している。制御部３２は、中央処理演算装置（ＣＰＵ等）、メモリ（ＲＯＭ、ＲＡＭ）等を含み、コンピュータ３０の全体動作を制御するとともに、記憶装置３４に記憶されている各プログラムに基づく機能を実行制御する。
また、コンピュータ３０は、ＧＰＵを備えたグラフィックボードを搭載していてもよい。
【００２２】
記憶装置３４は、ハードディスクドライブやＳＳＤ等から構成されている。記憶装置３４は、撮影した画像データが記憶されるほか、点群データ生成プログラムＰ１と、三次元データスケール付与プログラムＰ２が予め記憶されている。
点群データ生成プログラムＰ１は、公知のプログラムを用いることができる。点群データ生成プログラムＰ１は、図４に示すような動作を実行する。ただし、ここで示す点群データ生成プログラムＰ１は、後述する三次元データスケール付与プログラムＰ２と一体となった１つのプログラムであってもよい。
【００２３】
コンピュータ３０は、さらにマウスやキーボード等から構成される入力装置３６と、点群データ生成プログラムＰ１によって生成された点群データを表示するモニタ３８を備えている。
【００２４】
次に点群データ生成プログラムの動作概略を図４に基づいて説明する。
点群データ生成プログラムは、実行開始されると、取り込んだ複数の画像データから複数の特徴点を抽出する（Ｓ１０１）。特徴点としては、他の箇所と色彩や形状が異なっている個所などを多く抽出する。
【００２５】
次に、点群データ生成プログラムは、複数の画像データの特徴同士をマッチングさせるマッチング処理を実行する（Ｓ１０２）。マッチング処理によって複数の画像データが点群データとして生成される。
なお、点群データ生成プログラムは、マッチング処理までの間にカメラパラメータ等の入力による行列演算により、点群データが相対的に正しい位置となるように点群データを生成してもよい。
ちなみに既存の点群データ生成プログラムとして、画像データから点群データを生成するStructure  from  Motion（ＳｆＭ）やMulti-View Stereo（ＭＶＳ）と呼ばれるソフトウェアが知られている。
【００２６】
点群データ生成後に、三次元データスケール付与プログラムが実行される。
上述したように、三次元データスケール付与プログラムの実行前までに、作業者は、基準物の大きさ及び形状をコンピュータに入力する作業を行っておく。
図１に示した視点からの例の場合では、作業者は、各基準物は全て立方体であることを入力するとともに、左手前の基準物の一辺の長さは２．０ｃｍ、右手前の基準物の一辺の長さは２．１ｃｍ、左奥の基準物の一辺の長さは２．１ｃｍ、右奥の基準物の一辺の長さは２．３ｃｍという数値を、入力しておく。
【００２７】
三次元データスケール付与プログラムの動作を、図５に基づいて説明する。
三次元データスケール付与プログラムは、最初に点群データの中から基準物を見つけ出す機能を実行する（ステップＳ２０１）。
基準物の大きさ及び形状は、上記のように予め作業者が入力しており、点群データの中から基準物を見つけ出す機能は、本実施形態では一辺２．０ｃｍ、２．１ｃｍ、２．３ｃｍの立方体を見つけ出すことになる。ただし、この時点（点群データの中から基準物を見つけ出す際）では、点群データに正確なスケールが与えられているわけではないので、基準物と思われる物体が、入力された値通りの立方体ではなく、例えば、一辺が２．０ｃｍだが他の辺が２．１ｃｍであったり、立方体の面が正方形ではなく台形であったりする。
【００２８】
そこで、三次元データスケール付与プログラムにおける、点群データの中から基準物を見つけ出す機能は、予め入力された基準物の大きさ及び形状（本実施形態では立方体の一辺の長さの値）に対する所定の誤差範囲を予め決めておき、点群データ上で誤差範囲に含まれる範囲の辺の長さを有する物体を、基準物として認定する（ステップＳ２０１）。
例えば、基準物が立方体の場合に、点群データ上での一辺の長さが、入力した実際の一辺の長さの±５〜１０％未満であれば、当該基準物として認定するようにする。
【００２９】
なお、三次元データスケール付与プログラムにおける、点群データの中から基準物を見つけ出す機能は、図６に示すように、面推定により基準物の立方体の頂点（角）を自動的に検出することにより行われる。図６に示しているのは、平面推定機能の概略説明図であり、三次元データスケール付与プログラムの一機能として平面推定機能が設けられている。平面推定機能を用いずに立方体の頂点を決定しようとする場合、図６の左図のように作業者がモニタ３８で目視に基づいて立方体の頂点を決定しようとするとどうしても正確な頂点を決定できない。
平面推定機能は、公知の技術であるが、三次元データスケール付与プログラムにおいては、多数の点群データから基準物において隣接する３つの面を求めることに応用している。
本実施形態の平面推定機能は、図６の右図に示すように点群データにおける各点が配置される平面を３面推定する。３つの平面が正確に推定できると、３つの面の交点としての頂点が正確に割り出される。そして平面推定機能は、各頂点を結ぶ直線を、基準物を構成する一辺とすることができる。そして、後述するようにこの直線の距離が、先に入力された基準物の辺の長さとなるように点群データを最適化するのである。
【００３０】
次に、三次元データスケール付与プログラムは、点群データの中から見つけ出した全ての基準物に対して、予め入力された大きさ及び形状となるように点群データを最適化する機能を実行する（ステップＳ２０２）。
具体的には、三次元データスケール付与プログラムの点群データの最適化機能は、見つけ出された全ての基準物が、実際のスケールとなるように点群データを伸縮させ、及び／又はねじれを加える機能を実行する。点群データを伸縮させ、及び／又はねじれを加える機能の具体例としては、アフィン変換を挙げることができる。アフィン変換は、コンピュータグラフィックスにおいて図形を拡大、縮小、回転、平行移動、せん断させる公知の手法である。したがって、三次元データスケール付与プログラムの点群データの最適化機能は、アフィン変換を採用して実行することができる。
【００３１】
つまり、図１に示した本実施形態のような基準物においては、左手前の基準物は一辺の長さが２．０ｃｍの立方体、右手前の基準物は一辺の長さが２．１ｃｍの立方体、左奥の基準物は一辺の長さが２．１ｃｍの立方体、右奥の基準物は一辺の長さが２．３ｃｍの立方体となるように、点群データ全体の伸縮を実行し、必要であればさらにねじれを実行する。このようにすることで点群データから構成される三次元空間全体に正確なスケールを付与することができる。
【００３２】
例として、点群データ上の所定の基準物に対してスケールを設定した例を図７の図面に示す。
図７の例では、周囲４箇所に立方体の基準物を配置し、測定対象物は中心に位置する直方体状の物体及び直方体の物体の右側に位置する細長い棒状の物体であるとする。これらの測定対象物の周囲４箇所に立方体の基準物を配置し、さらに直方体の測定対象物の上面にも立方体の基準物を配置している。つまりこの例では５つの基準物を配置している。
【００３３】
図７では、左手前の基準物に対してのみスケールを付与したが、この場合では、あくまで１個の基準物に対して正確なスケールが設定されただけであり、測定対象物及び他の基準物に対してスケールが設定されたものではない。
１個の基準物に対してスケールを設定すると、基準物及びその周辺の三次元空間は正確なスケールとなるが、スケールを設定した基準物から離れた三次元空間ではいまだ不正確なスケールとなっている。このように、正確なスケールが付与されていない測定対象物及び他の基準物に対して、図７では、色が薄い状態で示している。また、図７では、色が薄い状態の測定対象物及び他の基準物に隣接して、色が濃い状態の測定対象物及び他の基準物が表示されているが、これが本来のスケールであって比較のために図７ではあえて表示している。
【００３４】
この図７に示すように、１個の基準物にスケールを付与しただけでは、この基準物から離れた箇所では全く正確なスケールとなっていないことがわかる。
そこで、三次元データスケール付与プログラムは、点群データ内の全ての基準物に対して、予め判明しているそれぞれのスケール（予め入力された辺の長さ）を同時に設定する。言い換えると、三次元データスケール付与プログラムは、各基準物の辺の長さが全て同時に予め入力された長さとなるように、三次元空間を最適化する作業を実行する。
【００３５】
三次元空間を最適化するというのはどういうことかというと、点群データ生成プログラムによって生成された点群データにはそもそもスケールが存在しておらず、撮影された各点の位置が合成されてプロットされているだけである。
そこで、このような点群データにおいて、例えば図７のように全て（５つ）の基準物の一辺が予め判明している長さとなるように点群データの仮想空間においてスケールを設定するという作業を実行することになる。
【００３６】
このように、基準物の辺の長さが予め判明している長さとなるように三次元空間を最適化すると、図８に示すように、色が薄い状態の測定対象物及び他の基準物と、色が濃い状態の測定対象物及び他の基準物が一致し、点群データに正確なスケールが付与されたことがわかる。
【００３７】
なお、図７、図８に示した例では測定対象物の上面にも基準物（特許請求の範囲でいう上方基準物）を配置した。このことにより、測定対象物の高さ方向にも正確なスケールが付与される。
このような測定対象物の上方へ配置される基準物の実施形態について、図９、図１０に基づいて説明する。
図９、図１０では、多面体である測定対象物２５に対して、４個の立方体の基準物２６ａ、２６ｂ、２６ｃ、２６ｄによって測定対象物２５全体が包囲されるように配置している。
【００３８】
図９、図１０で示す４個の立方体の基準物２６ａ、２６ｂ、２６ｃ、２６ｄは、四面体を構成するように立体的に配置され、四面体のほぼ中心に測定対象物２５が位置している。
また、四面体を構成する基準物のうち、基準物２６ａ、２６ｂ、２６ｃは、測定対象物２５よりも下方に配置されており、基準物２６ｄは測定対象物２５よりも上方に配置されている。
【００３９】
このように、測定対象物の周囲に配置する複数の基準物のうち、いずれかを測定対象物の設置面と同一平面以下（測定対象物の設置面と同一平面か又はそれよりの下方の面）に配置し、別のいずれかを測定対象物よりも上方に配置することにより、各基準物を頂点とする空間内に測定対象物全体を位置させることができる。このため、測定対象物の縦方向、横方向だけでなく高さ方向についても正確なスケールを付与することができる。
【００４０】
ちなみに、図９、図１０では測定対象物２５及び上方の基準物２６ｄは空中に浮いた状態で図示しているが、実際には台などを設置し、台の上にこれらを設置することになる。
【００４１】
上述してきた各実施形態のように、測定対象物の周囲に配置する複数の基準物は、測定対象物を内側に包括できるのであればどのような場所、どのような角度で設置してもよい。
つまり、点群データに直交座標系の正確なスケールを付与しようとする場合、複数の基準物を完全水平面に、直交座標系のＸ軸、Ｙ軸、Ｚ軸に合わせた角度で設置し、基準物同士の距離を正確に測定する必要がある。しかし、本発明によれば、基準物の設置についてもどのように配置してもよいので、面倒な手間をかけずに正確なスケールを三次元データに付与できる。
【００４２】
（第２の実施形態）
上述してきた実施形態は、測定対象物の周囲に予め大きさ及び形状が判明している基準物を配置して点群データを取得するものであった。以下に説明する実施形態では、測定対象物の周囲に基準物を設置するのではなく、測定対象物の周囲に大きさ及び形状が判明している構造物が設けられている場合には、この構造物を基準物の代わりに用いるというものである。
【００４３】
図１１に、測定対象物の周囲に構造物が設けられている一例を示す。
ここで測定対象物２０は室内のテーブル４０の上に配置されているものとする。そして、室内には、テレビやコンピュータなどに用いるモニタ４２が設けられ、壁面には窓４４が設けられている。
テーブル４０の天板４５は長方形であるとし、その辺の長さを測定すれば、測定対象物２０の設置面と同一平面における基準として用いることができる。
また、モニタ４２は、正面から見て長方形状であり、テーブル４０の天板４５よりも上方に配置されている。このモニタ４２の辺の長さを測定すれば、測定対象物２０よりも上方の基準として用いることができる。
また、窓４４も正面から見て窓枠全体が長方形状であり、テーブル４０の天板４５よりも上方に配置されている。この窓４４の辺の長さを測定すれば、測定対象物２０よりも上方の基準として用いることができる。
【００４４】
さらに、図１１の紙面に対して垂直方向の手前側にも構造物が配置されていることが好ましい。紙面垂直方向手前側の構造物と、テーブル４０と、モニタ４２と、窓４４とを合わせて測定対象物の周囲に配置された基準物の代わりとすることができる。
なお、これらの構造物は、測定対象物２０の周囲を囲むように配置され、大きさと形状が分かるものであればどのようなものであってもよい。
例えば、構造部としては、壁面にかけられたポスターやカレンダー、壁面につけられている模様、棚、などを採用することができる。
【００４５】
本実施形態では、作業者はデジタルカメラで測定対象物を様々な角度から、測定対象物２０及び複数の構造物４０、４２、４４の全周囲をカバーできるように複数枚撮影する。また、撮影は、撮影範囲をオーバーラップさせて行うことが必要である。撮影された画像データはコンピュータに取り込み、点群データ生成プログラムによって点群データが生成される。オーバーラップさせた部分については、コンピュータにおいてデータのマッチング処理が行われ、点群データが生成される。
【００４６】
作業者は、テーブル４０、モニタ４２、窓４４の形状及び一辺の長さをコンピュータに入力する。
そして、三次元データスケール付与プログラムが、点群データの中から構造物を見つけ出す機能を実行する。
構造物の大きさ及び形状は、上記のように予め作業者が入力しており、入力されたデータに基づいて点群データの中から構造物を見つけ出す。
なお、上述した実施形態と同様に、三次元データスケール付与プログラムにおける、点群データの中から構造物を見つけ出す機能は、予め入力された構造物の大きさ及び形状に対する所定の誤差範囲を予め決めておき、点群データ上で誤差範囲に含まれる範囲の物体を、構造物として認定する。
【００４７】
なお、三次元データスケール付与プログラムにおける、点群データの中から構造物を見つけ出す機能は、上述した実施形態と同様に、面推定により基準物の立方体の頂点（角）を自動的に検出する平面推定機能を採用してもよい。
【００４８】
次に、三次元データスケール付与プログラムは、点群データの中から見つけ出した全ての構造物に対して、予め入力された大きさ及び形状となるように点群データを最適化する機能を実行する。この最適化の機能は、上述した実施形態と同様に、アフィン変換による点群データの伸縮を実行し、必要であればさらにねじれを実行する。
このように、基準物を設置しなくても、測定対象物の周囲に存在する構造物を基準とすることで点群データから構成される三次元空間全体に正確なスケールを付与することができる。
【００４９】
なお、構造物としては、図１１のように屋内の物体に限定するものではない。屋外であれば、大きさが分かる建物、ブロック塀などの構造物が測定対象物の周囲に配置されていれば、この構造物を基準物の代わりとして用いることもできる。
【００５０】
（第３の実施形態）
次に、基準物として平面状基準物を用いた実施形態について説明する。なお、上述してきた実施形態と同一の構成要素については同一の符号を付し、説明を省略する場合もある。
本実施形態では、図１２に示すような平面状基準物を採用する。図１２では、３つの平面状基準物５０を示している。この平面状基準物５０は、例えば紙やプラスチック板で構成された薄い長方形状であり、中心に白丸が形成されている黒丸が、所定距離離れて２つ形成されている。黒丸中心の白丸が基準点となる。以下、基準点が中心に形成された黒丸をマーカー５２と称して説明する。
２つのマーカー５２の基準点どうしの間の距離（白丸間の距離）は、平面状基準物５０を作成する際に予め設定しておく。例えば、基準点間距離を１０ｃｍなどに設定することができる。
【００５１】
なお、図１２に示す平面状基準物には、マーカー５２の周囲に円弧状の形状が複数形成されている。これは、マーカーであることを認識させるためと、基準物の固有番号を認識させるための両方の意味がある。以下、この円弧状の形状を識別部５４と称する。
もし、識別部５４が無い場合には、マーカー５２は単なる黒丸であり、三次元データスケール付与プログラムが、このマーカー５２の中心の白丸を基準点であると認識することが難しい場合がある。例えば、他に円形の箇所（車両のタイヤ等）があればその箇所をマーカーとして誤認識してしまう可能性もある。
そこで、マーカー５２の周囲にさらに円弧状の形状の識別部５４を配置し、この識別部５４を含む形状を基準物であるとして三次元データスケール付与プログラムに予め認識させておくことにより、点群データ生成プログラムによって生成された点群データにおいて、識別部５４を認識することでマーカー５２の中心にある白丸が基準点であるということを認識することができる。
【００５２】
また、マーカー５２のそれぞれの周囲に配置された識別部５４は、全て異なる形状にしている。
例えば、図１２には、平面状基準物５０の例を３つ記載しており、１つの平面状基準物５０には２つのマーカー５２が形成されている。１つの平面状基準物においても２箇所の識別部５４はそれぞれ異なる円弧長のものが同じ個数か又は異なる個数配置されている。
また、ある平面状基準物５０と、他の平面状基準物５０とでは、形成されている識別部５４が全て異なっている。
つまり、平面状基準物５０に形成される識別部５４は、全て異なる形状を有しており、１つ１つのマーカー５２を識別できるようにしている。
【００５３】
すなわち、測定対象物の周囲に複数の平面状基準物５０を配置し、三次元データスケール付与プログラムが、１つの平面状基準物５０内の基準点間の距離が予め入力しておいた距離となるように点群データを最適化する機能（アフィン変換）を実行する際に、複数の基準点が存在する場合にどの基準点同士を結んで、予め入力された距離を設定するのかが判別できなくなるおそれがある。
そこで、例えば図１２の一番上の平面状基準物５０の左側のマーカー５２の識別番号を１（これをマーカー１とする）、右側のマーカー５２の識別番号を２とし（これをマーカー２とする）、マーカー１の基準点とマーカー２の基準点を結ぶ直線を１０ｃｍとすれば、三次元データスケール付与プログラムは識別部５４の形状によってマーカー１とマーカー２を判別し、マーカー１とマーカー２の基準点間の距離を設定することができる。
【００５４】
また、例えば図１２の中央の平面状基準物５０の左側のマーカー５２の識別番号を３、右側のマーカー５２の識別番号を４とし、マーカー３の基準点とマーカー４の基準点を結ぶ直線を１０ｃｍとすれば、三次元データスケール付与プログラムは識別部５４の形状によってマーカー３とマーカー４を判別し、マーカー３とマーカー４の基準点間の距離を設定することができる。
【００５５】
図１３に示す実施形態では、測定対象物２０の周囲に３つの平面状基準物５０が配置されている。
作業者はデジタルカメラで測定対象物を様々な角度から、測定対象物２０及び複数の平面基準物４０の全周囲をカバーできるように複数枚撮影する。また、撮影は、撮影範囲をオーバーラップさせて行うことが必要である。撮影された画像データはコンピュータに取り込み、点群データ生成プログラムによって点群データが生成される。オーバーラップさせた部分については、コンピュータにおいてデータのマッチング処理が行われ、点群データが生成される。
【００５６】
作業者は、各マーカー５２の識別部５４を含む形状をコンピュータに読み取らせ、識別部５４の相違によって全てのマーカーに対して識別番号を付与する。そして１枚の平面状基準物５０に存在する２つのマーカー５２の基準点間の距離を入力する。基準点間の距離は、設定された識別番号同士の距離として設定する。
【００５７】
そして、三次元データスケール付与プログラムが、点群データの中から平面状基準物５０を見つけ出す機能を実行する。
平面状基準物に形成されているマーカー５２は識別部５４によってそれぞれ特有の形状として設定されているので、三次元データスケール付与プログラムは識別番号とともにマーカー５２を認識することができる。
【００５８】
次に、三次元データスケール付与プログラムは、点群データの中から見つけ出した各マーカーの基準点に対して、１つの平面状基準物５０内で対となっている基準点間の距離が予め入力された距離となるように、点群データを最適化する機能を実行する。
例えば、識別番号１〜６までのマーカー５２を三次元データスケール付与プログラムが認識したとして、作業者が予め識別番号１と２の基準点間の距離、識別番号３と４の基準点間の距離、識別番号５と６の基準点間の距離を入力していた場合には、三次元データスケール付与プログラムは識別番号１と２の基準点間の距離、識別番号３と４の基準点間の距離、識別番号５と６の基準点間の距離がそれぞれ入力した距離となるように点群データを最適化する。この最適化の機能は、上述した実施形態と同様に、アフィン変換による点群データの伸縮を実行し、必要であればさらにねじれを実行する。
【００５９】
このように、予め距離が判明している２つの基準点が形成された平面状基準物において、基準点間の距離を予め入力しておくことにより、プログラム上で面推定によって基準物の頂点を認識する作業をしなくてもよいため、プログラムの動作短縮を図ることができる。
【００６０】
なお、平面状基準物５０を、図１３に示すように測定対象物２０の周囲に存在する壁面に貼り付けることにより、測定対象物に対する高さ方向のスケールも付与することができる。
【００６１】
なお、上述してきた各実施形態では、デジタルカメラで撮影した複数の画像データに基づいて点群データを生成した例を説明した。
しかし、本発明における点群データの生成はレーザスキャナによって得られた位置データに基づいてもよい。
【符号の説明】
【００６２】
２０  測定対象物
２２ａ、２２ｂ、２２ｃ、２２ｄ  基準物
２５  測定対象物
２６ａ、２６ｂ、２６ｃ、２６ｄ  基準物
３０  コンピュータ
３２  制御部
３４  記憶装置
３６  入力装置
３８  モニタ
４０  テーブル
４２  モニタ
４４  窓
５０  平面状基準物
５２  マーカー
５４  識別部
Ｐ１  点群データ生成プログラム
Ｐ２  三次元データスケール付与プログラム
【図１】
2020161034.tif 000003
【図２】
2020161034.tif 000004
【図３】
2020161034.tif 000005
【図４】
2020161034.tif 000006
【図５】
2020161034.tif 000007
【図６】
2020161034.tif 000008
【図７】
2020161034.tif 000009
【図８】
2020161034.tif 000010
【図９】
2020161034.tif 000011
【図１０】
2020161034.tif 000012
【図１１】
2020161034.tif 000013
【図１２】
2020161034.tif 000014
【図１３】
2020161034.tif 000015