(57)【要約】    【課題】  本発明の課題は、デジタルカメラで手軽にデータどりができ、撮影時に対象物のデータ欠如があってもモデリングが可能な３次元モデリング装置を提供することにある。    【解決手段】  本発明のモデリング装置は、カメラ１のカメラパラメータを取得する第1の手段２ｅと、複数の写真画像に撮影された円柱の稜線を指定するための稜線指定手段２ｄと、複数の写真画像に撮影された1つの円柱に対して稜線指定手段２ｄによって指定された3本以上の稜線上の点から、該円柱に対応した既算出のパラメータから作成した仮想上の円柱を前記複数の写真画像に射影した稜線上の対応点までの距離の積算値が最小になる条件より、前記複数の写真画像を撮影したカメラ１のカメラパラメータおよび前記撮影された円柱をモデリングするための円柱パラメータを算出し、該カメラパラメータおよび円柱パラメータを用いて3次元の円柱モデルを生成するモデル生成手段２ｅ、２ｆとを備える。    【選択図】  図３
2007122160.tif 000002
【特許請求の範囲】
【請求項１】
カメラの姿勢、位置、および焦点距離等のカメラパラメータを取得する第1の手段と、
複数の写真画像に撮影された円柱の稜線を指定するための稜線指定手段と、
複数の写真画像に撮影された1つの円柱に対して前記稜線指定手段によって指定された3本以上の稜線上の点から、該円柱に対応した既算出のパラメータから作成した仮想上の円柱を前記複数の写真画像に射影した稜線上の対応点までの距離の積算値が最小になる条件より、前記複数の写真画像を撮影したカメラの姿勢、位置、および焦点距離等のカメラパラメータおよび前記撮影された円柱をモデリングするための軸ベクトル、位置、および半径等の円柱パラメータを算出し、該カメラパラメータおよび円柱パラメータを用いて3次元の円柱モデルを生成するモデル生成手段と
を備えることを特徴とするモデリング装置。
【請求項２】
請求項１において、カメラパラメータを取得する第1の手段は、各写真画像間に共通に映っている8点以上の特徴点を用いるとともにカメラパラメータを未知数とする８つ以上の連立方程式を解いて、前記カメラパラメータを求めることを特徴とするモデリング装置。
【請求項３】
請求項１において、前記円柱に対応した既算出のパラメータから作成した仮想上の円柱を前記複数の写真画像に射影した稜線上の対応点までの距離の積算値と、各写真画像間に共通に映っている特徴点の既算出のパラメータから作成した仮想上の３次元点を前記複数の写真画像に射影した点の特徴点までの距離の総和を足した値が最小になる条件より、複数の写真画像を撮影したカメラの姿勢(回転)、位置、および焦点距離等のカメラパラメータおよび前記撮影された円柱をモデリングするための軸ベクトル、位置、および半径等の円柱パラメータを算出することを特徴とするモデリング装置。
【請求項４】
請求項１において、カメラパラメータを取得する第1の手段は、ロボットアーム等でカメラの位置および姿勢を制御し、該制御パラメータからカメラの位置・姿勢のパラメータを算出することを特徴とするモデリング装置。
【請求項５】
前記稜線指定手段により、前記1つの円柱に対し2枚以上の写真画像に含まれる該円柱の4本以上の稜線を指定し、
前記モデル生成手段により、前記指定した4本以上の稜線を用いて1つの3次元の円柱モデルを生成する
ことを特徴とする請求項１に記載のモデリング装置。
【請求項６】
前記稜線指定手段により、前記１つの円柱に対し2枚以上の写真画像に含まれる3本の該円柱の稜線を指定し、
前記モデル生成手段により、前記指定した3本の円柱の稜線を用いて2つの3次元の円柱モデルを生成し、
前記2つの3次元の円柱モデルの中から適切な円柱を選択するための選択手段を有する
ことを特徴とする請求項１に記載のモデリング装置。
【請求項７】
円柱の長さを決定するに際して、前記写真画像のモデリングされた円柱の指定された全ての稜線を含み、且つ、その中で最短となるように前記円柱の長さが決定される
ことを特徴とする請求項１に記載のモデリング装置。
【請求項８】
複数の写真画像に撮影された1つの円柱に対し3本以上の稜線を指定することで3次元の円柱モデルを生成する円柱モデリングにおいて、
複数の写真画像に撮影された1つの円柱に対する3本以上の稜線上の点から、該円柱に対応した既算出のパラメータから作成した仮想上の円柱を前記複数の写真画像に射影した稜線上の対応点までの距離の積算値が最小になる条件より、前記複数の写真画像を撮影したカメラの姿勢、位置、および焦点距離等のカメラパラメータを算出する
ことを特徴とするカメラパラメータの計算方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、円柱状の物体を仮想空間上にモデリングするモデリング装置およびカメラパラメータの計算方法に関する。
【背景技術】
【０００２】
従来、化学プラントなどにおいてメンテナンスを効率的に行う必要から、化学プラントにおけるパイプを中心とした部材を計測して、3次元モデルを生成することが要求されている。
【０００３】
その方式には、メジャーにより実測する方法や、レーザーを使用して3次元計測を行う方式などがある。
【０００４】
なお、本願発明に係る文献公知発明等として下記のものがある。
【特許文献１】特開２００４−１７０２７７号公報
【非特許文献１】コンピュータビジョン  −視覚の幾何学−    佐藤淳著    コロナ社
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、上述のメジャーにより実測する方法やレーザーを使用して3次元計測を行う方式は、データの収集、整理に膨大な作業量を要しモデリングが難しく、作業時間およびコストがかかるという問題がある。
【０００６】
本発明は上記実状に鑑み、デジタルカメラで手軽にデータどりができ、撮影時に対象物のデータ欠如があってもモデリングが可能な３次元モデリング装置の提供を目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するべく、本発明の請求項１に関わるモデリング装置は、カメラの姿勢、位置、および焦点距離等のカメラパラメータを取得する第1の手段と、複数の写真画像に撮影された円柱の稜線を指定するための稜線指定手段と、複数の写真画像に撮影された1つの円柱に対して前記稜線指定手段によって指定された3本以上の稜線上の点から、該円柱に対応した既算出のパラメータから作成した仮想上の円柱を前記複数の写真画像に射影した稜線上の対応点までの距離の積算値が最小になる条件より、前記複数の写真画像を撮影したカメラの姿勢、位置、および焦点距離等のカメラパラメータおよび前記撮影された円柱をモデリングするための軸ベクトル、位置および半径等の円柱パラメータを算出し、該カメラパラメータおよび円柱パラメータを用いて3次元の円柱モデルを生成するモデル生成手段とを備えることを特徴としている。
【０００８】
本発明の請求項２に関わるモデリング装置は、請求項１に記載のモデリング装置において、カメラパラメータを取得する第１の手段は、各写真画像間に共通に映っている8点以上の特徴点を用いるとともにカメラパラメータを未知数とする８つ以上の連立方程式を解いて、前記カメラパラメータを求めることを特徴としている。
【０００９】
本発明の請求項３に関わるモデリング装置は、請求項１に記載のモデリング装置において、円柱の稜線を利用してカメラパラメータを算出するときに、請求項２のカメラパラメータを取得する第１の手段として利用した特徴点を含めて最適化計算するようにしたことを特徴としている。
【００１０】
本発明の請求項４に関わるモデリング装置は、請求項１に記載のモデリング装置において、カメラパラメータを取得する第１の手段として、ロボットアーム等のカメラの位置姿勢を制御したとき、その制御パラメータからカメラの位置・姿勢のパラメータを算出することを特徴としている。
【００１１】
本発明の請求項５に関わるモデリング装置は、請求項１に記載のモデリング装置において、前記稜線指定手段により、前記1つの円柱に対し2枚以上の写真画像に含まれる該円柱の4本以上の稜線を指定し、前記モデル生成手段により、前記指定した4本以上の稜線を用いて1つの3次元の円柱モデルを生成することを特徴としている。
【００１２】
本発明の請求項６に関わるモデリング装置は、請求項１に記載のモデリング装置において、前記稜線指定手段により、前記１つの円柱に対し2枚以上の写真画像に含まれる3本の該円柱の稜線を指定し、前記モデル生成手段により、前記指定した3本の円柱の稜線を用いて2つの3次元の円柱モデルを生成し、前記2つの3次元の円柱モデルの中から適切な円柱を選択するための選択手段を有することを特徴としている。
【００１３】
本発明の請求項７に関わるモデリング装置は、請求項１に記載のモデリング装置において、円柱の長さ（両端）を決定するときに、指定された稜線全てを含む中で最短になるように決定されることを特徴としている。
【００１４】
本発明の請求項８に関わるモデリング装置は、複数の写真画像に撮影された1つの円柱に対し3本以上の稜線を指定することで3次元の円柱モデルを生成する円柱モデリングにおいて、複数の写真画像に撮影された1つの円柱に対する3本以上の稜線上の点から、該円柱に対応した既算出のパラメータから作成した仮想上の円柱を前記複数の写真画像に射影した稜線上の対応点までの距離の積算値が最小になる条件より、前記複数の写真画像を撮影したカメラの姿勢、位置、および焦点距離等のカメラパラメータを算出することを特徴としている。
【発明の効果】
【００１５】
以上、詳述した如く、本発明の請求項１〜４に関わるモデリング装置によれば、デジタルカメラで手軽にデータどりができ、モデリング時間を減少することができる。
【００１６】
また、精度の高いカメラパラメータおよび円柱パラメータを算出することが可能であり、円柱形状のモデリングを精度高く行なえる。
【００１７】
本発明の請求項５に関わるモデリング装置によれば、4本以上の稜線を指定することにより、1つの3次元の円柱モデルを特定して生成することが可能である。
【００１８】
本発明の請求項６に関わるモデリング装置によれば、2つの3次元の円柱モデルを生成でき、該2つの3次元の円柱モデルのうちから適切な円柱を選択することが可能である。
【００１９】
本発明の請求項７に関わるモデリング装置によれば、円柱の長さは、少なくとも両端１箇所づつ何れかの画像において稜線が指定されていれば決定することが可能である。
【００２０】
本発明の請求項８に関わるモデリング装置によれば、カメラパラメータの最適化計算の中に誤差評価を組み込むことにより、円柱形状のモデリングにおけるカメラパラメータを精度よく且つ安定して得ることができる。
【発明を実施するための最良の形態】
【００２１】
以下、本発明の実施形態について添付図面を参照して説明する。
【００２２】
本発明は、化学プラント工場のような大規模な設備から比較的小規模な装置までの円柱のモデリングを、写真撮影により行うモデリング装置およびその計測システムである。
【００２３】
図１は、本発明を適用したモデリングシステムの概略構成図である。図中の１は対象物を撮影するデジタルカメラ(以下、カメラと称す)であり、また、３は主なモデリング対象となる計測対象のプラントであり、プラント３は、図１に示すように、複数の位置からカメラ１により撮影される。そして２はカメラ１により撮影された画像からモデルデータを生成する画像処理・3次元計測演算部であるデータ処理用パソコンである。また、画像表示部４には、撮影した写真画像およびモデリング画像等のモデリングのための各種の表示がなされる。
【００２４】
なお、カメラ１は、ロボットアーム等で撮影の位置および姿勢を制御し、計測システムでその制御パラメータからカメラの位置・姿勢のパラメータを算出することが可能である。
【００２５】
図２は、画像処理・3次元計測演算部のデータブロック図である。図２に示すように、カメラ１などの撮像部で写真を撮影し、この画像データを画像データ管理部２ａで受け取り管理する。画像表示部４では、写真画像を拡大・縮小表示し、オペレータが特徴点や稜線を正確にキーボード(図示せず)から入力できるようにする。そして、対応点入力部２ｂにて写真画像に共通に写っている特徴点をオペレータのキーボードからの入力により設定し、対応点管理部２ｃにてこの特徴点の仮想空間上の２次元座標値の対応点の対応リストを管理する。また、円柱の稜線入力部(稜線指定手段)２ｄも同様にオペレータのキーボードからの入力により円柱の稜線をその仮想空間上の２次元ベクトル等により設定する。カメラ解析３次元座標計算部(第１の手段、モデル生成手段)２ｅでは、写真画像と対応点リストからカメラ１の外部パラメータ（位置、姿勢）と内部パラメータ（焦点距離、歪み、光軸中心）を計算する。また、カメラ解析３次元座標計算部２ｅでは、円柱モデリング部(モデル生成手段)２ｆからのデータ（円柱データと稜線データ）と先ほどの対応点データを全て使って外部パラメータおよび内部パラメータから成るカメラパラメータを計算する。円柱モデリング部２ｆでは、稜線データと算出したカメラパラメータからモデリング対象の円柱モデルを計算する。
【００２６】
そして、CADデータ変換・出力部２ｇにてIGESやCATIA、SolidWorksなど各CADソフトに対応したCADデータに変換しファイルに出力する。
【００２７】
なお、上述の画像データ管理部２ａ、対応点入力部２ｂ、対応点管理部２ｃ、稜線入力部２ｄ、カメラ解析３次元座標計算部２ｅ、円柱モデリング部２ｆ、およびCADデータ変換・出力部２ｇは、データ処理用パソコン２内に格納されている。
【００２８】
本発明では、まず、数ｍ〜５０ｍ四方のモデリング対象の装置乃至プラント設備等を全ての部材が複数の写真に写るように、様々な方向から写真撮影を行う。
【００２９】
このように撮影された写真画像は、数十枚から時には１０００枚に及ぶ。
【００３０】
これらの撮影された画像に対し、カメラ１のパラメータ(撮影位置、撮影姿勢(回転)、焦点距離等)を画像内の特徴点の対応より求め、そして、画像間に共通する部材の特徴点やエッヂ、稜線に、円柱のプリミティブモデルを当てはめることで、設備のモデリングを行い、その結果をＣＡＤなどのシステムヘ送るとともに、部材間の寸法などを算出し、コンピュータ上での計測を可能にする。
【００３１】
本モデリングにおいては、実物を撮影するカメラ１の内部パラメータ、外部パラメータ(後述)を求める作業を繰り返してパラメータの計算精度を向上させ、実物の仮想空間上へのモデリング精度を向上させて、実物を仮想空間上にモデリングする。
【００３２】
次に、モデリングの処理工程について、図３に示すフローチャートを用いて順を追って説明する。  なお、図３は、モデリングの処理工程の流れを示すフローチャートである。
【００３３】
１.  カメラ１の内部パラメータ(収差など)の事前計測(図３のステップ１)
まず、図４に示すように、撮影対象の諸条件が予め明確なキャリブレーションボードの平面チャートＣを用いて、測定に用いるカメラ１の内部パラメータ(焦点距離、画像中心、歪補正パラメータなど)の事前計測を行う。後述のカメラパラメータの計算において、カメラ１の内部パラメータを求めることも出来るが、事前にカメラ１の内部パラメータを求めておくことで後述のカメラパラメータの計算が安定して且つ精度良く計算できるようになる。
【００３４】
カメラ内部パラメータの求め方は、図４に示すように、平面チャートＣを矢印に示す複数方向からカメラ１で撮影して、このデータを基にカメラ１の内部パラメータである焦点距離、光軸中心、歪補正係数を求める。
【００３５】
なお、基本的な考え方は、「A  Flexib1e  New  Technique  for  Camera Ca1ibration」(Zhengyou Zhang 
Microsoft  Research)にある。また、この翻訳に相当する解説が「写真から作る3次元CG」(徐剛著  近代科学社)の62〜64頁にある。
【００３６】
このキャリプレーションは、計測している点が全て平面チャートＣの同一平面上にあることを利用して計算している。
【００３７】
撮影する方向は、図４に示すように、大よそ正面と上下左右に30度ほど傾いた角度の複数箇所からカメラ１で撮影を行う。  撮影方向は、あくまで様々な向きから撮影するために指定しているもので、キャリブレーションの計算の中で、正確なカメラ１の向きと位置は計算されるようになっている。
【００３８】
入カデータ、既知データ、および出カデータは、下記の通りである。
【００３９】
入カデータ  ：  異なる方向から平面チャートＣをカメラ１で撮影した5枚程度の画像
このとき、カメラ１の内部パラメータの一つである焦点距離、すなわちズームとピントは固定である。
【００４０】
既知データ  ：  平面チャートＣに描かれた円の中心の平面内での2次元座標値
出カデータ  ：  カメラ１の内部パラメータである焦点距離、画像中心、歪補正パラメータ、および外部パラメータであるカメラ１撮影位置、向き
次に、上述の出カデータを得るための計算を説明する。
【００４１】
記号としては、カメラ内部パラメータ、カメラ外部パラメータ、プロジェクションマトリックス、および基礎行列、基本行列がある。
【００４２】
ａ．  カメラ内部パラメータ
カメラ内部パラメータとは、カメラ１に固有の内部パラメータをいう。
【００４３】
具体的には、以下の焦点距離、および光軸とフィルム面とが交わる座標である光軸中心座標などをいう。
【００４４】
ｆ  :  焦点距離(どの向きにも同じとしたとき)
ｆx,ｆy  :  X軸とY軸方向の焦点距離(X軸(水平)方向とY軸(垂直)方向の焦点距離が異なる場合)
(ｕo,ｖo)  :  光軸中心座標
ｓ  :  スキュー(画像傾き)
【数１】
2007122160.tif 000003
【００４５】
ｋ1,ｋ2  ：  歪補正係数
ｂ．  カメラ外部パラメータ
カメラ外部パラメータとは、カメラ１の基準位置からの相対位置を表すパラメータをいう。この相対位置は、ｘ軸、ｙ軸、ｚ軸の各軸廻りの回転と、ｘ軸、ｙ軸、ｚ軸の各軸に沿った並進移動で表される。
【００４６】
Ｒ  ：  回転行列
ｔ  ：  並進移動ベクトル
【数２】
2007122160.tif 000004
【００４７】
ｃ．  プロジェクションマトリックス
【数３】
2007122160.tif 000005
【００４８】
【数４】
2007122160.tif 000006
【００４９】
ｄ．  基礎行列、基本行列
【数５】
2007122160.tif 000007
【００５０】
ｍ,ｍ′は3次元点Ｘを射影した点。Ｆを基礎行列(Fundamenta1Matrix)といい、こ
の式をエピポーラ方程式という。
【００５１】
【数６】
2007122160.tif 000008
【００５２】
という行列Ｔを定義したとき、
Ｅ＝ＴＲ
とし、Ｅを基本行列(Essentia1  Matrix)といい、カメラ外部パラメータで構成される。
【００５３】
Ｅの性質として、Ｘが各カメラ１に射影されたときの3次元空間座標での点をｘ′,ｘとすると
【数７】
2007122160.tif 000009
【００５４】
が成り立ち、これもエピポーラ方程式と呼ぱれる。
【００５５】
【数８】
2007122160.tif 000010
【００５６】
となる。
【００５７】
上述の記号等を用いたカメラ内部パラメータを求める計算は、以下の通りである。
【００５８】
【数９】
2007122160.tif 000011
【００５９】
【数１０】
2007122160.tif 000012
【００６０】
となる。ｎ枚の画像について(４)を積み重ねると、
【数１１】
2007122160.tif 000013
【００６１】
となり、３枚以上の画像がある場合、ｂの要素６つについて解が得られる。
【００６２】
具体的には、ＶTＶの最小固有値に対応する固有ベクトルとして求められる。Ｂが求められると、Ａの要素であるカメラ内部パラメータは以下のように求められる。
【００６３】
【数１２】
2007122160.tif 000014
【００６４】
２.設備の撮影(図３のステップ２)
(第１ステップ)で内部パラメータを求めたカメラ１を用いて、例えば、仮想空間上にモデリングする対象のプラント設備の撮影が行なわれる。
【００６５】
撮影は、求めた内部パラメータが変更されないように、上述の平面チャートＣを撮影したときと同じレンズの状態で行う。
【００６６】
撮影のポジションは、出来る限り様々な方向から撮影する。同じ部品を異なる方向から撮影する必要がある。  というのは、微小な移動で撮影しても誤差が測定値に対して相対的に大きくなるため、カメラパラメータ、3次元座標値を精度良く求めることは出来ないからである。
【００６７】
そのため、基本的には、カメラ１の位置を変更して撮影する場合に同一部品の共通に撮影できる部分を出来る限り大きく確保できる範囲で、カメラ１位置を大きく移動しながら撮影していくことになる。
【００６８】
ここで、プラント設備全体のモデリングを行うときの撮影は、共通に画像に写っているオーバーラップ部分を十分に確保し徐々に移動して行うことになる。  というのは、撮影位置の基準位置からの相対的位置、すなわち各撮影位置の外部パラメータ(後述)を把握するためである。
【００６９】
３.画像のグループ化(図３のステップ３)
大規模な設備のモデル化は、カメラ１で撮影する枚数が過大、例えば数１０ｍのプラント設備を対象とする場合には、写真の撮影枚数が１０００枚にもなる。
【００７０】
そのため、設備を部分に分け、それぞれの部分についてモデリングを行い、最後に統合処理する。これにより、複数のオペレータにより並列処理的に作業を進めることが可能となり、作業効率の向上が図れる。
【００７１】
設備を部分ごとのグループに分ける際に、重要なことは隣り合うグループは、共通の画像を保持し、2つのグループを接続するための情報が存在することである。
【００７２】
このように、部分のモデリングが十分な画像群と隣接するグループとの共通画像を持つ画像群とを加えた画像群を1つのグループとして構成し、全てのグループを合わせると設備全ての輪郭がモデリングされるようにグループを生成する。
【００７３】
以下、この画像のグループ化の過程について、図５を用いて説明する。
【００７４】
例えば、図６には画像のグループ化の例として、プロジェクト１、プロジェクト２を示している。
【００７５】
まず、カメラ１で撮影するメイン画像を設定する(図５のステップ１)。  このグループが、プロジェクト１の場合、まず、メイン画像ｇ10を設定する。
【００７６】
続いて、画像を追加する処理として、メイン画像ｇ10に写された８点以上の特徴点を共通に撮影できる画像ｇ11および画像ｇ12を撮影し追加する(ステップ２)。
【００７７】
ここで、特徴点を８点とするのは、カメラ内部パラメータとして、焦点距離ｆ(ｘ方向とｙ方向の焦点距離は同じとする)、光軸中心のｘ方向座標ｕ0、ｙ方向座標ｖ0の３つのパラメータを求め、加えて、この画像を撮影するカメラ１の位置と向きを特定するためのカメラ外部パラメータとして、ｘ軸廻りの回転角ｘθ、ｙ軸廻りの回転角ｙθ、ｚ軸廻りの回転角ｚθの３つの外部パラメータと、ｘ軸方向の平行移動ｔ1、ｙ軸方向の平行移動ｔ2の２つの外部パラメータとで５つの外部パラメータを求め、合計８つのパラメータを求めることになるので、少なくとも８つの方程式を立てる必要があるからである。
【００７８】
こうして、接続する画像の追加設定では、２つの画像間で対応する点を8個以上指定していき、該8個以上の特徴点を有するような画像を設定し接続する。
【００７９】
言い換えれば、画像を追加する接続、例えばメイン画像ｇ10と画像ｇ11との接続(またはメイン画像ｇ10と画像ｇ12との接続)、とは、２つの画像ｇ10、ｇ11(またはｇ10、ｇ12)を撮影した相対的な位置関係が計算できる対応する点については、3次元の場所の計算ができることを意味する。
【００８０】
つまり、２つの画像ｇ10、ｇ11(またはｇ10、ｇ12)間で、共通の8点以上の対応点があるときにのみカメラパラメータの計算が可能となるため、画像を追加する接続には8点以上の対応点が必要である。
【００８１】
続いて、画像をさらに追加する場合(ステップ３)には、例えば図６の画像ｇ11に画像ｇ13を接続する場合には、画像ｇ11、画像ｇ13間で(ステップ２)と同様な処理を行う。
【００８２】
すなわち、一つ前の画像ｇ11との間に共通する少なくとも８つの特徴点を有する画像を画像ｇ13とする。
【００８３】
以下、画像ｇ11、ｇ14間、或いは、画像ｇ13、ｇ14間、或いは、画像ｇ14、ｇ15間、或いは、画像ｇ14、ｇ16間も同様にして、２つの画像の接続を行うことができる。
【００８４】
こうして、画像の追加が終了する(ステップ３)と、接続した画像のグループを１つのプロジェクト、例えばプロジェクト１として、コンピュータに登録する(ステップ４)。
【００８５】
続いて、画像の新規グループを作成する(ステップ５)場合には、上述の (ステップ１)〜(ステップ４)の処理を繰り返す。
【００８６】
例えば、図６に示すように、プロジェクト２の画像のグループ化を行う場合には、図５に示すように、まず、メイン画像ｇ20 を設定し(ステップ１)、以下、上述と同様に、メイン画像ｇ20と画像ｇ21間の接続、また、メイン画像ｇ20と画像ｇ22間の接続、また、画像ｇ21と画像ｇ23間の接続、また、画像ｇ21と画像ｇ24間の接続、また、画像ｇ24と画像ｇ25間の接続、また、画像ｇ22と画像ｇ26間の接続を行う。
【００８７】
このようにして、任意の数の画像のグループ化を行うことができる。
【００８８】
こうしてグループ化した画像のグループを統合するには、例えば、図６に示すプロジェクト１の画像グループとプロジェクト２の画像グループとを統合するには、プロジェクト１の画像g12とプロジェクト２の画像g21との間に共通する少なくとも８つの特徴点が、画像g12、g21中にそれぞれ有るようにして接続し、また、プロジェクト１の画像g16とプロジェクト２の画像g25との間に共通する少なくとも８つの特徴点が、画像g16、g25中にそれぞれ有るようにして接続する。
【００８９】
４.画像の特徴点の抽出、対応付け(図３のステップ４)
次に、カメラ１で撮影したグループ化した各画像の特徴点の抽出、対応付けを行う。
【００９０】
画像における特徴点は、画像中の部品の角の部分や文字、模様などポイントが特定できる部分を選択し、撮影位置が異なる画像からも同一点と認識できるポイントを特徴点として選択する必要がある。  すなわち、画像のグループ化(図３のステップ３)において、前記のような特徴点を共通に有する画像間で画像の接続を行なう。
【００９１】
こうして、特徴点の対応付けを接続した画像間で行うが、このとき対応付ける特徴点の和は８点以上で多いほど、内部パラメータおよび外部パラメータの精度が高く求まり、仮想空間上のモデリングの精度が高くなる。
【００９２】
また、測定誤差を低くし精度を高めるため、局所的或いは同一平面上に特徴点を選択するのではなく空聞的に広範囲にとり、測定値に対する誤差を小さくすることが肝心である。
【００９３】
５.グループ化された撮影画像の特徴点の対応からのカメラパラメータの算出(図３のステップ５)
8点以上の特徴点の対応付けが行われた段階で、画像の接続関係の設定が行われる。
【００９４】
画像の接続関係は、1枚の画像を基本としたツリー構造を定義している(図６参照)。
【００９５】
基準位置からの各画像を撮影したカメラ１の回転・並進移動位置を表すカメラ外部パラメータは、まず、初期値として接続関係のある２枚の組についてその相対的な回転・並進位置が計算される。
【００９６】
そして、全ての画像のカメラ１回転・並進位置を全体での最適化を行い、基本とした画像からの相対位置で求める。これは、いわゆるバンドル調整という手法に相当する。(コンピュータビジョンー視覚の幾何学一  佐藤淳薯  参照)。
【００９７】
カメラ１のセルフキャリブレーションは、以下の図７のステップを経て計算される。(「コンピュータビジョン」  佐藤淳  著  93頁〜96頁参照)
まず、2枚の画像間において、8点以上の特徴点を対応付ける(図７のステップ１)。
【００９８】
続いて、8点対応からの基礎行列の算出(図７のステップ２)を以下のように行う。
【００９９】
基礎行列は、エピポーラ幾何から下記の式を満たすものである。
【０１００】
【数１３】
2007122160.tif 000015
【０１０１】
各要素を陽にして表すと、
【数１４】
2007122160.tif 000016
【０１０２】
さらに、
【数１５】
2007122160.tif 000017
【０１０３】
Fの未知数は9個であるが、定数倍の不定性があるため自由度は8である。1組の対応から(2)式ができるため、8個以上の対応点があれば全ての未知数が解ける。
【０１０４】
【数１６】
2007122160.tif 000018
【０１０５】
この式を
【数１７】
2007122160.tif 000019
【０１０６】
とおくと、‖f‖＝１の条件下でfは、行列ＭTＭの最小固有値に対応する固有ベクトルとして求めることができる。
【０１０７】
続いて、基礎行列から基本行列を算出する。(図７のステップ３)
【数１８】
2007122160.tif 000020
【０１０８】
あらわす。ｔとＲＸとＸ′は同一平面状にあるから、
Ｘ′TＴＲＸ＝０                          (４)
となる。内部パラメータＡを２枚の画像で共通とすると、Ｘ＝Ａ-1ｕであるから(４)式は
ｕ′TＡ-TＴＲＡ-1ｕ＝０
と表される。従って、  Ｆ＝Ａ-TＴＲＡ-1  であり  Ｅ＝ＴＲとおくと
Ｅ＝ＡTＦＡ
となる。  平面を使ったカメラキヤリブレーションによりカメラ内部パラメータは求められているので、Ａは既知である。さらに(ステップ２)により基礎行列Ｆが求まっているので、Ｅが求まる。
【０１０９】
続いて、(ステップ４)として、基本行列をカメラ内部パラメータと外部パラメータに分離し、回転行列(Ｒ)と並進行列(Ｔ)を算出する。
【０１１０】
定義より、ＥT＝ＲTＴTとなる。  さらにＴTｔ＝０であるからＲTＴTｔ＝０となり、従って、ＥTｔ＝０であるから
【数１９】
2007122160.tif 000021
【０１１１】
これを満たすｔは、ＥＥTの最小固有値に対応する固有ベクトルとして求めることができる。  tが求まればＴも求まるため、Ｅ＝ＴＲよりＲ＝Ｔ-1Ｅとして求めることができる。
【０１１２】
ただし、Ｒは回転行列であるから  ｄet(Ｒ)＝１  かつ  ＲTＲ＝Ｉとなるように修正する。
【０１１３】
これは、Ｒを次のように特異値分解し
Ｒ＝ＶΛＵT  (ただし、Ｖ、Ｕは直交行列で、Λは非負の対角要素(特異値)とならべた対角行列)とし、Ｖ、Ｕを求め、
【数２０】
2007122160.tif 000022
【０１１４】
とで回転行列Rが求まる。
【０１１５】
これらの結果より、射影行列は、Ｐ=Ａ(Ｒ│ｔ)として求められる。
【０１１６】
６. 円柱プリミティブの当て嵌め  (図３のステップ６)
円柱のあてはめは次のようにして行う。  もっとも標準的な手法は、1つの円柱の稜線が2本とも写っているカメラパラメータが図３のステップ５までに算出されている2枚の画像について、各画像の円柱の2本の稜線をそれぞれ直線で指定する。この結果、4本の稜線が指定されたことになる。
【０１１７】
このとき、求められたカメラパラメータおよび指定された4本の円柱の稜線に誤差がなければ、1つの円柱が一意に決定される。(図８参照)  このとき、カメラパラメータも指定された稜線も誤差を含んでいる。  このため、最適化法を用い、最も適切な円柱を求める。  最適化は、生成された円柱を各画像に射影したときに得られる稜線と、あらかじめ画像から指定されている撮影された稜線との比較により行う。
【０１１８】
この比較は、画像から指定されている撮影された稜線上の点から既算出のパラメータによりモデリングされた仮想モデルを該画像に射影されたときに得られる稜線までの距離の積算値により得られる。  ４本の稜線に対し同様に計算しその合計が最小になるような円柱を求めることで、最適な円柱が求められる。2枚以上が画像にわたり4本以上の稜線が得られた場合は、同様にして全ての距離の合計を最小にすることで最適な円柱を得ることができる。
【０１１９】
次に、図９に示すように、1枚の画像に1つの円柱の稜線が2本ともうひとつの画像に同じ円柱の稜線が1つのみ写っている場合について説明する。
【０１２０】
誤差がまったくない場合でも円柱は2つの可能性がある。従って、ユーザーにどちらの円柱を生成するか選択させるようにする。選択の方法には、例えば稜線の引く方向を読み取り稜線のプラスの方向に向かって右側の円柱を選択する方法などがある。そして、3本の稜線について、先述の4本の稜線と同様の計算を行い、最適な円柱を求める。3枚の画像に対し1つの稜線が1本づつ撮影されているときも同様に２つの可能性があるためユーザに選択させた上で、最適な円柱を計算することになる。
【０１２１】
以下、円柱の計算方法の一例について、図１１を用いて説明する。
【０１２２】
図１０に示すように、円柱の稜線が各画像に射影される。
【０１２３】
まず、撮影された画像上の円柱の稜線を３本以上入力する(図１１のステップ１)。
【０１２４】
続いて、次のようにして初期値となる円柱を計算する(図１１のステップ２)。
【０１２５】
円柱の稜線が各画像に射影されており、この射影稜線を含み円柱に接する平面を
ａiｘ＋ｂiｙ＋ｃiｚ＋ｄi＝０            (１) 
とすると、このとき円柱の軸の方向ベクトルをV(ｖ1  ｖ2  ｖ3)とすると、円柱に接する平面と軸は平行であるため、平面の法線(ａi  ｂi  ｃi)と軸の方向ベクトルは直交する。従って、
【数２１】
2007122160.tif 000023
【０１２６】
とすると、  ＭTＭＶ＝０となり、ＭTＭの最小固有ベクトルがVの解となる。
【０１２７】
また、円柱の軸上の点をP(ｐ1  ｐ2  ｐ3)とすると、この点から各射影円柱の稜線を含む平面までの距離は同じである。稜線を含む平面までの距離は、
ａiｐ1＋ｂiｐ2＋ｃiｐ3＋ｄi                      (３) 
となる。平面の法線ベクトルが、円柱側を向くようにした場合は、以下の式が成り立つ。
【０１２８】
【数２２】
2007122160.tif 000024
【０１２９】
それぞれK,Dとおき、Kの擬似逆行列をK-とおくとＰ＝K-Ｄとなり、最小自乗法によりPが求まる。
【０１３０】
さらに、Pから平面までの距離は、円柱の半径に相当する。従って、全ての平面までの距離の平均を円柱の半径とすることができる。
【０１３１】
続いて、初期値として計算された円柱を使用し、最適化計算(マーカート法)を用いて最適化を図る(図１１のステップ３)。
【０１３２】
円柱のパラメータは、３次元軸方向ベクトル、半径、位置、長さである。
【０１３３】
評価値は、射影画像面上でのユーザ設定稜線と仮想円柱の射影稜線の距離の積算値である。
【０１３４】
この評価値の最小化計算、すなわちマーカート法による繰り返し計算を行い、円柱のパラメータである３次元軸方向ベクトル、半径、位置、長さの最適化を図る。
【０１３５】
７. 円柱の稜線を含めたカメラパラメータの再計算  (図３のステップ７)
特徴点の対応から求められたカメラパラメータは、対応点の数が十分に、なおかつ十分に空間的に広く取られている場合には高い精度で得られているが、不十分な場合は誤差が多く含まれ精度が劣化している。
【０１３６】
精度が劣化しているカメラパラメータで円柱を求めた場合、求められた円柱もまた低い精度で求められている。
【０１３７】
そこで、カメラパラメータ：カメラ１姿勢(回転)、カメラ１位置、カメラ１の焦点距離  と、円柱のパラメータ：円柱の軸ベクトル、円柱の位置、円柱の長さ、円柱の半径  の両方を含んだ最適化計算を行う。
【０１３８】
図１２に示すように、６．において計算した円柱の最適化計算をカメラパラメータの計算に組み込み(図１２のステップ１)、より高い精度でのカメラパラメータの算出が可能になり、同時に円柱も高い精度で最適化計算が行われる。
【０１３９】
続いて、(図１２のステップ２)の処理は下記の如く行なわれる。
【０１４０】
カメラパラメータの最適化は、3次元空間中の特徴点Ｘiがj番目の画像上で得られた特徴点、すなわち撮影された画像上の特徴点をｍijとし、ｍ1jからｍinにより仮想的に求められた3次元空間中のポイントＸ′iとしたとき、このポイントを各画像に射影したときの各画像上のポイントをｍ′ijとすると、最適化は、
【数２３】
2007122160.tif 000025
【０１４１】
となり、(２)の式のＪを最小にするＰjとＸ′を求めることになる。
【０１４２】
この手法は、一般的にバンドル調整(Bundle  Adjustment)と呼ばれ、各画像を撮影したカメラパラメータＰ(すなわち、カメラ１の内部パラメータと外部パラメータ)及び３次元空間中のポイントＸ′をパラメータとする非線形の最適化問題となる。  ここで、円柱の最適化も加えると(2)式は、以下のようになる。
【０１４３】
撮影された画像に写っている円柱の稜線をｌijとしその端点をｔ1ij、ｔ2ijとすると、ｌ1jからｌinにより求められた3次元空間中の円柱をＬ′iとしたとき、この円柱を各画像に射影したときの各画像上の稜線の端点ｔ1ij、ｔ2ijからの垂線を下ろした点をｔ′1ij、ｔ′2ijとすると、
【数２４】
2007122160.tif 000026
【０１４４】
となり、(4)の式のＪを最小にするＰjとＬ′iを求めることになる。
【０１４５】
これにより、円柱を含めたカメラパラメータの再計算を行うことができ、精度の高いカメラパラメータおよび円柱パラメータを求めることができる。
【０１４６】
続いて、求めた精度の高いカメラパラメータおよび円柱パラメータで既計算のカメラパラメータと円柱パラメータを更新し、仮想空間上で再描画を行う(図１２のステップ３)。
【０１４７】
上記構成によれば、従来のプラントのモデリング手法に比べ、デジタルカメラ１で手軽にデータどりができ、撮影のとき多少のオクルージョンによる対象物のデータ欠如があっても、モデリングができるため、トータルのモデリング時間が減少できる。
【０１４８】
また、写真測量の技術を応用し、複数枚の写真から3次元モデルを生成し、計測を行う方式を採用するので、例え、円柱形状の両側の稜線が見えていなくても、複数の写真にわたって、3本以上の稜線を指定することで円柱モデルを生成できる。  また、円柱の長さの指定も指定した稜線の最大長を取るようになっており、簡単にできる。  また、生成された円柱をカメラパラメータの最適化に使用することで、カメラパラメータの計算精度、ロバスト性が向上する。
【０１４９】
従って、実空間上の円柱(既設のプラント設備の配管等)を、高い精度で仮想空間上の円柱(仮想空間上のプラント設備の配管等)としてモデリングすることができる。
【図面の簡単な説明】
【０１５０】
【図１】本発明に係る実施例のモデリングシステムを示す概略構成図。
【図２】実施例の画像処理・3次元計測演算部のデータブロック図。
【図３】本発明におけるモデリングの処理の流れを示すフローチャート。
【図４】本発明のキャリブレーションボードの平面チャートの撮影状態を示す図。
【図５】画像のグループ化の処理の流れを示すフローチャート。
【図６】画像のグループ化の１例を示す図。
【図７】セルフキャリブレーションによるカメラパラメータ算出の処理手順を示すフローチャート。
【図８】4本の円柱の稜線によって１つの円柱が一意に決定されることを示す図。
【図９】３本の円柱の稜線によって２つの円柱が一意に決定されることを示す図。
【図１０】円柱の稜線が１つの画像に射影された状態を示す図。
【図１１】円柱の当てはめ計算を示すフローチャート。
【図１２】カメラパラメータと円柱のパラメータの両方を含んだ最適化計算を示すフローチャート。
【符号の説明】
【０１５１】
１…デジタルカメラ(カメラ)、
２ｄ…稜線入力部(稜線指定手段)、
２ｅ…カメラ解析３次元座標計算部(第１の手段、モデル生成手段)、
２ｆ…円柱モデリング部(モデル生成手段)。
【図１】
2007122160.tif 000027
【図２】
2007122160.tif 000028
【図３】
2007122160.tif 000029
【図４】
2007122160.tif 000030
【図５】
2007122160.tif 000031
【図６】
2007122160.tif 000032
【図７】
2007122160.tif 000033
【図８】
2007122160.tif 000034
【図９】
2007122160.tif 000035
【図１０】
2007122160.tif 000036
【図１１】
2007122160.tif 000037
【図１２】
2007122160.tif 000038