(57)【特許請求の範囲】
【請求項１】
撮像手段の視点を変えて測定対象物の画像を入力し、第１視点で測定して入力した画像の複数の特徴点を抽出し、第２視点で測定して入力した画像の前記特徴点に相当する対応点を抽出し、２視点における重力方向と重力回りの角度を入力し、２視点における重力方向と角度から各視点における撮像手段の姿勢を算出し、姿勢値と特徴点及び対応点から第１視点と第２視点における各特徴点と対応点を通る視線ベクトルを算出し、視線ベクトルと特徴点及び対応点から第１視点から第２視点までの並進運動ベクトルを算出し、並進運動ベクトルと視線ベクトルにより測定対処物の３次元形状を算出することを特徴とする３次元形状計測方法。
【請求項２】
撮像手段の視点を変えて測定対象物の画像を入力し、第１視点で測定して入力した画像の複数の特徴点を抽出し、第２視点で測定して入力した画像の前記特徴点に相当する対応点を抽出し、２視点における重力方向と重力回りの角度を入力し、２視点における重力方向と角度から各視点における撮像手段の姿勢を算出し、姿勢値と特徴点及び対応点から第１視点と第２視点における各特徴点と対応点を通る視線ベクトルを算出し、視線ベクトルと特徴点及び対応点から第１視点から第２視点までの並進運動ベクトルを算出し、並進運動ベクトル及び第１視点と第２視点における各特徴点と対応点を通る視線ベクトルとで定まるエピポーラ線に近づくように対応点の位置を修正し、修正した対応点により視線ベクトルと並進運動ベクトルを算出して対応点の位置を修正することを、対応点の位置がほぼ一定値に収束するか、あるいは修正の繰り返し演算回数が一定値になるまで繰り返してから算出した並進運動ベクトルと視線ベクトルにより測定対象物の３次元形状を算出することを特徴とする３次元形状計測方法。
【請求項３】
撮像手段の視点を変えて測定対象物の画像を入力し、第１視点で測定して入力した画像の複数の特徴点を抽出し、第２視点で測定して入力した画像の前記特徴点に相当する対応点の複数の候補を抽出し、２視点における重力方向と重力回りの角度を入力し、２視点における重力方向と角度から各視点における撮像手段の姿勢を算出し、姿勢値と特徴点及び対応点から第１視点と第２視点における各特徴点と対応点を通る視線ベクトルを算出し、視線ベクトルと特徴点及び対応点から第１視点から第２視点までの並進運動ベクトルを算出し、算出した並進運動ベクトル及び第１視点と第２視点における各特徴点と対応点を通る視線ベクトルで定まるエピポーラ線に近づくように対応点の位置を修正し、修正した対応点により視線ベクトルと並進運動ベクトルを算出して対応点の位置を修正することを、対応点の位置がほぼ一定値に収束するか、あるいは修正の繰り返し演算回数が一定値になるまで繰り返してから算出した並進運動ベクトルと視線ベクトルより測定対象物の３次元形状を算出することを特徴とする３次元形状計測方法。
【請求項４】
撮像手段の視点を変えて測定対象物の画像を入力し、第１視点で測定して入力した画像の複数の特徴点を抽出し、第２視点で測定して入力した画像の前記特徴点に相当する対応点の複数の候補を抽出し、２視点における重力方向と重力回りの角度を入力し、２視点における重力方向と角度から各視点における撮像手段の姿勢を算出し、姿勢値と特徴点及び対応点から第１視点と第２視点における各特徴点と対応点を通る視線ベクトルを算出し、視線ベクトルと特徴点及び対応点から第１視点から第２視点までの並進運動ベクトルを算出し、算出した並進運動ベクトル及び第１視点と第２視点における視線ベクトルと、あらかじめ定めた閾値により誤対応した特徴点と対応点を検出し、誤対応した特徴点と対応点を除去して並進運動ベクトルを繰返し算出し、収束した並進運動ベクトルと視線ベクトルより測定対象物の３次元形状を算出することを特徴とする３次元形状計測方法。
【請求項５】
撮像手段と対応関係抽出手段と重力方向検出手段と重力回り角度検出手段と姿勢算出手段と視線ベクトル算出手段と並進運動算出手段及び３次元形状演算手段を有し、
撮像手段は視点を変えて測定対象物の画像を入力し、
対応関係抽出手段は第１視点で測定した画像の複数の特徴点を抽出し、第２視点で測定した画像の前記特徴点に相当する対応点を抽出し、
重力方向検出手段は第１視点と第２視点における撮像手段の重力方向を検出し、
重力回り角度検出手段は２視点における撮像手段の重力回りの回転角度を検出し、
姿勢算出手段は２視点における撮像手段の重力方向と重力回りの角度から各視点における撮像手段の姿勢を算出し、
視線ベクトル算出手段は２視点の姿勢値と特徴点及び対応点より第１視点と第２視点における各特徴点と対応点を通る視線ベクトルを算出し、
並進運動算出手段は視線ベクトルと特徴点及び対応点から第１視点から第２視点までの並進運動ベクトルを算出し、
３次元形状演算手段は並進運動ベクトルと視線ベクトルより測定対象物の３次元形状を算出することを特徴とする３次元形状計測装置。
【請求項６】
撮像手段と対応関係抽出手段と重力方向検出手段と重力回り角度検出手段と姿勢算出手段と視線ベクトル算出手段と並進運動算出手段と収束信号通知手段及び３次元形状演算手段を有し、
撮像手段は視点を変えて測定対象物の画像を入力し、
対応関係抽出手段は第１視点で測定した画像の複数の特徴点を抽出し、第２視点で測定した画像の前記特徴点に相当する対応点を抽出し、
重力方向検出手段は第１視点と第２視点における撮像手段の重力方向を検出し、
重力回り角度検出手段は２視点における撮像手段の重力回りの回転角度を検出し、
姿勢算出手段は２視点における撮像手段の重力方向と重力回りの回転角度から各視点における撮像手段の姿勢を算出し、
視線ベクトル算出手段は２視点の姿勢値と特徴点及び対応点より第１視点と第２視点における各特徴点と対応点を通る視線ベクトルを算出するとともに並進運動算出手段で算出した並進運動ベクトル及び第１視点と第２視点における各特徴点と対応点を通る視線ベクトルで定まるエピポーラ線に近づくように対応点の位置を修正し、修正した対応点により視線ベクトルを算出し、
並進運動算出手段は視線ベクトルと特徴点及び対応点から第１視点から第２視点までの並進運動ベクトルを算出し、
収束信号通知手段は、視線ベクトル算出手段で算出した対応点の位置がほぼ一定値に収束するか、あるいは修正の繰り返し演算回数が一定値になったことを通知する収束信号を出力し、
３次元形状演算手段は収束信号が出力されたときの並進運動ベクトルと視線ベクトルより測定対象物の３次元形状を算出することを特徴とする３次元形状計測装置。
【請求項７】
撮像手段と対応関係抽出手段と重力方向検出手段と重力回り角度検出手段と姿勢算出手段と姿勢補正手段と視線ベクトル算出手段と並進運動算出手段と収束信号通知手段及び３次元形状演算手段を有し、
撮像手段は視点を変えて測定対象物の画像を入力し、
対応関係抽出手段は第１視点で測定した画像の複数の特徴点を抽出し、第２視点で測定した画像の前記特徴点に相当する対応点を抽出し、
重力方向検出手段は第１視点と第２視点における撮像手段の重力方向を検出し、
重力回り角度検出手段は２視点における撮像手段の重力回りの回転角度を検出し、
姿勢算出手段は２視点における撮像手段の重力方向と重力回りの回転角度から各視点における撮像手段の姿勢を算出するとともに姿勢補正手段で算出した画像の姿勢角度の補正値と第２視点の重力方向と重力回りの回転角度から第２視点における撮像手段の姿勢を算出し、
視線ベクトル算出手段は２視点の姿勢値と特徴点及び対応点より第１視点と第２視点における各特徴点と対応点を通る視線ベクトルを算出するとともに並進運動算出手段で算出した並進運動ベクトル及び第１視点と第２視点における各特徴点と対応点を通る視線ベクトルで定まるエピポーラ線に近づくように対応点の位置を修正し、各特徴点と修正した対応点を通る視線ベクトルを算出し、
姿勢補正手段は修正した対応点より第２視点の画像の姿勢角度の補正値を算出し、
並進運動算出手段は視線ベクトルと特徴点及び対応点から第１視点から第２視点までの並進運動ベクトルを算出し、
収束信号通知手段は、視線ベクトル算出手段で算出した対応点の位置がほぼ一定値に収束するか、あるいは修正の繰り返し演算回数が一定値になったことを通知する収束信号を出力し、
３次元形状演算手段は収束信号が出力されたときの並進運動ベクトルと視線ベクトルより測定対象物の３次元形状を算出することを特徴とする３次元形状計測装置。
【請求項８】
収束信号通知手段は並進運動算出手段で算出した並進運動ベクトルの変化量が一定値以下になったときに収束信号を出力する請求項６又は７記載の３次元形状計測装置。
【請求項９】
撮像手段と対応関係抽出手段と重力方向検出手段と重力回り角度検出手段と姿勢算出手段と視線ベクトル算出手段と並進運動算出手段と誤対応検出手段と誤対応除去手段と収束信号通知手段及び３次元形状演算手段を有し、
撮像手段は視点を変えて測定対象物の画像を入力し、
対応関係抽出手段は第１視点で測定した画像の複数の特徴点を抽出し、第２視点で測定した画像の前記特徴点に相当する対応点を抽出し、
重力方向検出手段は第１視点と第２視点における撮像手段の重力方向を検出し、
重力回り角度検出手段は２視点における撮像手段の重力回りの回転角度を検出し、
姿勢算出手段は２視点における撮像手段の重力方向と重力回りの回転角度から各視点における撮像手段の姿勢を算出するとともに姿勢補正手段で算出した画像の姿勢角度の補正値と第２視点の重力方向と重力回りの回転角度から第２視点における撮像手段の姿勢を算出し、
視線ベクトル算出手段は２視点の姿勢値と特徴点及び対応点より第１視点と第２視点における各特徴点と対応点を通る視線ベクトルを算出し、
並進運動算出手段は視線ベクトルと特徴点及び対応点から第１視点から第２視点までの並進運動ベクトルを繰返して算出し、
誤対応検出手段は、算出した並進運動ベクトル及び第１視点と第２視点における視線ベクトルと、あらかじめ定めた閾値により誤対応した特徴点と対応点を検出し、
誤対応除去手段は誤対応した特徴点と対応点を除去し、
収束信号通知手段は並進運動ベクトルが一定値になったことを検出して収束信号を出力し、
３次元形状演算手段は収束信号が出力されたときの並進運動ベクトルと視線ベクトルより測定対象物の３次元形状を算出することを特徴とする３次元形状計測装置。
【請求項１０】
上記収束信号通知手段は繰り返した算出した並進運動ベクトルの誤差曲線により並進運動ベクトルの収束を検出する請求項７，８又は９記載の３次元形状計測装置。
【請求項１１】
対応関係抽出手段は特徴点と対応点とともに重み値を算出し、並進運動算出手段は特徴点と対応点の重み値を考慮して並進運動ベクトルを算出する請求項５乃至１０のいずれかに記載の３次元形状計測装置。
【請求項１２】
重力方向検出手段と重力回り角度検出手段と姿勢算出手段を有し、
重力方向検出手段は、視点を変えて測定対象物の画像を撮像する撮像手段の第１視点と第２視点における重力方向を検出し、
重力回り角度検出手段は、第１視点と第２視点における撮像手段の重力方向と、重力方向に垂直な磁場成分から第１視点と第２視点で撮像する撮像手段の重力回りの回転角度を検出し、姿勢算出手段は、第１視点と第２視点の撮像手段の重力方向と重力回りの回転角度から各視点における撮像手段の姿勢を算出することを特徴とする撮像手段の姿勢検出装置。
【請求項１３】
重力方向検出手段が３軸加速度センサである請求項１２記載の撮像手段の姿勢検出装置。
【請求項１４】
重力方向検出手段が入力画像より算出する重力方向推定手段である請求項１２記載の撮像手段の姿勢検出装置。
【請求項１５】
重力回り角度検出手段が磁気センサである請求項１２，１３又は１４記載の撮像手段の姿勢検出装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は３次元物体の視覚情報により物体の位置と３次元形状を計測する３次元形状計測方法と３次元形状計測装置及び撮像手段の姿勢検出装置に関するものである。
【０００２】
【従来の技術】
測量やＣＡＤモデルの作成など各種分野で２次元撮像装置による対象物の３次元形状計測が求められている。このような３次元形状計測方法として、対象物に参照パターンなどを照射して対象物上の参照パターンの歪みを撮像することにより形状計測を行なう能動的方法がある。しかしながら、この方法は対象物に影響を与えることや環境によって参照パターンの効果が変わるなどのデメリットが存在するため適用するのに大きな制限が加わってしまう。一方、能動的方法とは異なり対象物になんらの影響を与えることなく形状計測を行なう受動的方法も採用されている。この３次元形状計測方法は基本的には位置を変えた異なる２視点で撮像した画像間の対応点を抽出し、その対応点の３次元位置を三角測量の原理で算出する方法である。この方法では２つの撮像装置を固定して２視点の画像を得たり、１つの撮像装置をレール上で決められた距離だけ移動して２視点の画像を得るように、あらかじめ２視点の位置関係や撮像装置の姿勢変化を既知情報として取り扱う場合と、撮像装置を手で保持するなどして２視点の画像を得るように、２視点の位置関係や撮像装置の姿勢変化を不確定情報として取り扱う場合がある。２視点の位置関係や撮像装置の姿勢変化を既知情報として取り扱う場合は計測装置が大掛かりなものになってしまい、やはり適用するのに制限がある。２視点の位置関係や撮像装置の姿勢変化を不確定情報として取り扱う場合は環境に影響を与えず、しかも計測装置も小規模なものにできるので、各種の用途に幅広く適用することができ、例えば特開平５−196437号公報や特開平６−129833号公報，特開平７−181024号公報，特開平７−244735号公報等に示されているように各種計測方法や計測装置が開発されている。
【０００３】
特開平５−196437号公報に示された方法は被写体上の測定点を直交投影でカメラで撮影し、そのときのカメラの姿勢をカメラに固定した３軸ジャイロで求めて３次元情報計測装置に供給して被写体の３次元情報を計測している。また、特開平６−129833号公報に示された方法は単眼カメラで撮影した動画像情報を用いてカメラの運動を求め３次元形状を算出している。特開平７−181024号公報は撮像手段で視点を変えて測定した被写体の複数の画像から画像間の動きを表すオプティカルフロ−を求め、このオプティカルフロ−に基づいて距離情報を算出する方法と画像の時間差分及び空間勾配の関係式と撮像手段の自己運動情報とから距離情報を直接算出する方法とを組み合わせて３次元形状を計測している。特開平７−244735号公報に示された装置は動画像情報から得られる距離情報とカメラの運動を時間的に融合して３次元情報を得るようにしている。
【０００４】
【発明が解決しようとする課題】
しかしながら特開平５−196437号公報や特開平７−181024号公報に示されているようにジャイロや加速度センサーの積分値を利用して位置変化や姿勢変化を求める場合は、積分値の利用のため求めた位置変化や姿勢変化の値の信頼性が低い。また、特開平６−129833号公報に示されているように画像情報のみを用いると正確な対応点を抽出することは困難である。さらに、特開平７−244735号公報に示すように、撮像装置の運動速度をセンシングし、その情報を用いて計測精度を上げるようにしても対応点の抽出や形状計測には撮像装置の姿勢変化に関する情報が重要であるが、この撮像装置の姿勢変化をセンシングしていないため、大きな計測精度の向上は期待できない。
【０００５】
この発明はかかる短所を改善し、簡単な構成で対象物の立体形状と撮像手段の運動を高精度に計測できる３次元形状計測方法と３次元形状計測装置及び撮像手段の姿勢検出装置を得ることを目的とするものである。
【０００６】
【課題を解決するための手段】
この発明に係る３次元形状計測方法は、撮像手段の視点を変えて測定対象物の画像を入力し、第１視点で測定して入力した画像の複数の特徴点を抽出し、第２視点で測定して入力した画像の前記特徴点に相当する対応点を抽出し、２視点における重力方向と重力回りの角度を入力し、２視点における重力方向と角度から各視点における撮像手段の姿勢を算出し、姿勢値と特徴点及び対応点から第１視点と第２視点における各特徴点と対応点を通る視線ベクトルを算出し、視線ベクトルと特徴点及び対応点から第１視点から第２視点までの並進運動ベクトルを算出し、並進運動ベクトルと視線ベクトルにより測定対処物の３次元形状を算出することを特徴とする。
【０００７】
この発明に係る第２の３次元形状計測方法は、撮像手段の視点を変えて測定対象物の画像を入力し、第１視点で測定して入力した画像の複数の特徴点を抽出し、第２視点で測定して入力した画像の前記特徴点に相当する対応点を抽出し、２視点における重力方向と重力回りの角度を入力し、２視点における重力方向と角度から各視点における撮像手段の姿勢を算出し、姿勢値と特徴点及び対応点から第１視点と第２視点における各特徴点と対応点を通る視線ベクトルを算出し、視線ベクトルと特徴点及び対応点から第１視点から第２視点までの並進運動ベクトルを算出し、並進運動ベクトル及び第１視点と第２視点における各特徴点と対応点を通る視線ベクトルとで定まるエピポーラ線に近づくように対応点の位置を修正し、修正した対応点により視線ベクトルと並進運動ベクトルを算出して対応点の位置を修正することを、対応点の位置がほぼ一定値に収束するか、あるいは修正の繰り返し演算回数が一定値になるまで繰り返してから算出した並進運動ベクトルと視線ベクトルにより測定対象物の３次元形状を算出することを特徴とする。
【０００８】
この発明に係る第３の３次元形状計測方法は、撮像手段の視点を変えて測定対象物の画像を入力し、第１視点で測定して入力した画像の複数の特徴点を抽出し、第２視点で測定して入力した画像の前記特徴点に相当する対応点の複数の候補を抽出し、２視点における重力方向と重力回りの角度を入力し、２視点における重力方向と角度から各視点における撮像手段の姿勢を算出し、姿勢値と特徴点及び対応点から第１視点と第２視点における各特徴点と対応点を通る視線ベクトルを算出し、視線ベクトルと特徴点及び対応点から第１視点から第２視点までの並進運動ベクトルを算出し、算出した並進運動ベクトル及び第１視点と第２視点における各特徴点と対応点を通る視線ベクトルで定まるエピポーラ線に近づくように対応点の位置を修正し、修正した対応点により視線ベクトルと並進運動ベクトルを算出して対応点の位置を修正することを、対応点の位置がほぼ一定値に収束するか、あるいは修正の繰り返し演算回数が一定値になるまで繰り返してから算出した並進運動ベクトルと視線ベクトルより測定対象物の３次元形状を算出することを特徴とする。
【０００９】
この発明に係る第４の３次元形状計測方法は、撮像手段の視点を変えて測定対象物の画像を入力し、第１視点で測定して入力した画像の複数の特徴点を抽出し、第２視点で測定して入力した画像の前記特徴点に相当する対応点の複数の候補を抽出し、２視点における重力方向と重力回りの角度を入力し、２視点における重力方向と角度から各視点における撮像手段の姿勢を算出し、姿勢値と特徴点及び対応点から第１視点と第２視点における各特徴点と対応点を通る視線ベクトルを算出し、視線ベクトルと特徴点及び対応点から第１視点から第２視点までの並進運動ベクトルを算出し、算出した並進運動ベクトル及び第１視点と第２視点における視線ベクトルと、あらかじめ定めた閾値により誤対応した特徴点と対応点を検出し、誤対応した特徴点と対応点を除去して並進運動ベクトルを繰返し算出し、収束した並進運動ベクトルと視線ベクトルより測定対象物の３次元形状を算出することを特徴とする。
【００１０】
この発明に係る３次元形状計測装置は、撮像手段と対応関係抽出手段と重力方向検出手段と重力回り角度検出手段と姿勢算出手段と視線ベクトル算出手段と並進運動算出手段及び３次元形状演算手段を有し、撮像手段は視点を変えて測定対象物の画像を入力し、対応関係抽出手段は第１視点で測定した画像の複数の特徴点を抽出し、第２視点で測定した画像の前記特徴点に相当する対応点を抽出し、重力方向検出手段は第１視点と第２視点における撮像手段の重力方向を検出し、重力回り角度検出手段は２視点における撮像手段の重力回りの回転角度を検出し、姿勢算出手段は２視点における撮像手段の重力方向と重力回りの回転角度から各視点における撮像手段の姿勢を算出し、視線ベクトル算出手段は２視点の姿勢値と特徴点及び対応点より第１視点と第２視点における各特徴点と対応点を通る視線ベクトルを算出し、並進運動算出手段は視線ベクトルと特徴点及び対応点から第１視点から第２視点までの並進運動ベクトルを算出し、３次元形状演算手段は並進運動ベクトルと視線ベクトルより測定対象物の３次元形状を算出することを特徴とする。
【００１１】
この発明に係る第２の３次元形状計測装置は、撮像手段と対応関係抽出手段と重力方向検出手段と重力回り角度検出手段と姿勢算出手段と視線ベクトル算出手段と並進運動算出手段と収束信号通知手段及び３次元形状演算手段を有し、撮像手段は視点を変えて測定対象物の画像を入力し、対応関係抽出手段は第１視点で測定した画像の複数の特徴点を抽出し、第２視点で測定した画像の前記特徴点に相当する対応点を抽出し、重力方向検出手段は第１視点と第２視点における撮像手段の重力方向を検出し、重力回り角度検出手段は２視点における撮像手段の重力回りの回転角度を検出し、姿勢算出手段は２視点における撮像手段の重力方向と重力回りの回転角度から各視点における撮像手段の姿勢を算出し、視線ベクトル算出手段は２視点の姿勢値と特徴点及び対応点より第１視点と第２視点における各特徴点と対応点を通る視線ベクトルを算出するとともに並進運動算出手段で算出した並進運動ベクトル及び第１視点と第２視点における各特徴点と対応点を通る視線ベクトルで定まるエピポーラ線に近づくように対応点の位置を修正し、修正した対応点により視線ベクトルを算出し、並進運動算出手段は視線ベクトルと特徴点及び対応点から第１視点から第２視点までの並進運動ベクトルを算出し、収束信号通知手段は、視線ベクトル算出手段で算出した対応点の位置がほぼ一定値に収束するか、あるいは修正の繰り返し演算回数が一定値になったことを通知する収束信号を出力し、３次元形状演算手段は収束信号が出力されたときの並進運動ベクトルと視線ベクトルより測定対象物の３次元形状を算出することを特徴とする。
【００１２】
この発明に係る第３の３次元形状計測装置は、撮像手段と対応関係抽出手段と重力方向検出手段と重力回り角度検出手段と姿勢算出手段と姿勢補正手段と視線ベクトル算出手段と並進運動算出手段と収束信号通知手段及び３次元形状演算手段を有し、撮像手段は視点を変えて測定対象物の画像を入力し、対応関係抽出手段は第１視点で測定した画像の複数の特徴点を抽出し、第２視点で測定した画像の前記特徴点に相当する対応点を抽出し、重力方向検出手段は第１視点と第２視点における撮像手段の重力方向を検出し、重力回り角度検出手段は２視点における撮像手段の重力回りの回転角度を検出し、姿勢算出手段は２視点における撮像手段の重力方向と重力回りの回転角度から各視点における撮像手段の姿勢を算出するとともに姿勢補正手段で算出した画像の姿勢角度の補正値と第２視点の重力方向と重力回りの回転角度から第２視点における撮像手段の姿勢を算出し、視線ベクトル算出手段は２視点の姿勢値と特徴点及び対応点より第１視点と第２視点における各特徴点と対応点を通る視線ベクトルを算出するとともに並進運動算出手段で算出した並進運動ベクトル及び第１視点と第２視点における各特徴点と対応点を通る視線ベクトルで定まるエピポーラ線に近づくように対応点の位置を修正し、各特徴点と修正した対応点を通る視線ベクトルを算出し、姿勢補正手段は修正した対応点より第２視点の画像の姿勢角度の補正値を算出し、並進運動算出手段は視線ベクトルと特徴点及び対応点から第１視点から第２視点までの並進運動ベクトルを算出し、収束信号通知手段は、視線ベクトル算出手段で算出した対応点の位置がほぼ一定値に収束するか、あるいは修正の繰り返し演算回数が一定値になったことを通知する収束信号を出力し、３次元形状演算手段は収束信号が出力されたときの並進運動ベクトルと視線ベクトルより測定対象物の３次元形状を算出することを特徴とする。
【００１３】
上記収束信号通知手段は並進運動算出手段で算出した並進運動ベクトルの変化量が一定値以下になったときに収束信号を出力するようにしても良い。
【００１４】
この発明に係る第４の３次元形状計測装置は、撮像手段と対応関係抽出手段と重力方向検出手段と重力回り角度検出手段と姿勢算出手段と視線ベクトル算出手段と並進運動算出手段と誤対応検出手段と誤対応除去手段と収束信号通知手段及び３次元形状演算手段を有し、撮像手段は視点を変えて測定対象物の画像を入力し、対応関係抽出手段は第１視点で測定した画像の複数の特徴点を抽出し、第２視点で測定した画像の前記特徴点に相当する対応点を抽出し、重力方向検出手段は第１視点と第２視点における撮像手段の重力方向を検出し、重力回り角度検出手段は２視点における撮像手段の重力回りの回転角度を検出し、姿勢算出手段は２視点における撮像手段の重力方向と重力回りの回転角度から各視点における撮像手段の姿勢を算出するとともに姿勢補正手段で算出した画像の姿勢角度の補正値と第２視点の重力方向と重力回りの回転角度から第２視点における撮像手段の姿勢を算出し、視線ベクトル算出手段は２視点の姿勢値と特徴点及び対応点より第１視点と第２視点における各特徴点と対応点を通る視線ベクトルを算出し、並進運動算出手段は視線ベクトルと特徴点及び対応点から第１視点から第２視点までの並進運動ベクトルを繰返して算出し、誤対応検出手段は、算出した並進運動ベクトル及び第１視点と第２視点における視線ベクトルと、あらかじめ定めた閾値により誤対応した特徴点と対応点を検出し、誤対応除去手段は誤対応した特徴点と対応点を除去し、収束信号通知手段は並進運動ベクトルが一定値になったことを検出して収束信号を出力し、３次元形状演算手段は収束信号が出力されたときの並進運動ベクトルと視線ベクトルより測定対象物の３次元形状を算出することを特徴とする。
【００１５】
上記収束信号通知手段は繰り返した算出した並進運動ベクトルの誤差曲線により並進運動ベクトルの収束を検出すると良い。さらに、対応関係抽出手段で特徴点と対応点とともに重み値を算出し、並進運動算出手段で特徴点と対応点の重み値を考慮して並進運動ベクトルを算出すると良い。
【００１６】
この発明の撮像手段の姿勢検出装置は、重力方向検出手段と重力回り角度検出手段と姿勢算出手段を有し、重力方向検出手段は、視点を変えて測定対象物の画像を撮像する撮像手段の第１視点と第２視点における重力方向を検出し、重力回り角度検出手段は、第１視点と第２視点における撮像手段の重力方向と、重力方向に垂直な磁場成分から第１視点と第２視点で撮像する撮像手段の重力回りの回転角度を検出し、姿勢算出手段は、第１視点と第２視点の撮像手段の重力方向と重力回りの回転角度から各視点における撮像手段の姿勢を算出することを特徴とする。
【００１７】
上記重力方向検出手段は３軸加速度センサ又は入力画像より重力方向を算出する重力方向推定手段のいずれを使用しても良い。
【００１８】
また、上記重力回り角度検出手段は磁気センサ又は磁気センサと重力方向検出手段のいずれを使用しても良い。
【００１９】
【発明の実施の形態】
この発明の３次元形状計測装置は、例えばデジタルカメラからなる単眼画像撮像部と対応関係抽出部と重力方向検出部と重力回り角度検出部と姿勢算出部と視線ベクトル算出部と並進運動算出部及び３次元形状演算部を有する。単眼画像撮像部は異なる視点である第１視点と第２視点で測定対象物を撮像して得た画像を対応関係抽出部へ送る。対応関係抽出部は送られた第１視点の画像から特徴点を抽出し、第２視点の画像から各対応点を抽出する。特徴点と対応点を抽出したら、重力方向検出部で検出した重力方向の傾きと重力回り角度検出部で検出した重力回りの角度から姿勢算出部で第１視点と第２視点における単眼画像撮像部の姿勢を算出する。この第１視点と第２視点における単眼画像撮像部の姿勢と特徴点と対応点の各データから視線ベクトル算出部で各特徴点と対応点を通る視線ベクトルを算出する。この特徴点と対応点をそれぞれ通る視線ベクトルと特徴点と対応点の各データから並進運動算出部で第１視点から第２視点までの並進運動方向ベクトルを算出する。３次元形状演算部は算出した並進運動方向ベクトルと各視線ベクトルを使用して三角測量の原理で各特徴点に相当する対象物上の各対象点３次元座標値を算出して対象物の３次元形状を出力する。このようにして重力方向情報と重力回り角度情報と２視点からの画像情報を融合することにより、精度の高い３次元形状計測を実現するとともに装置の小型化を図る。
【００２０】
また、抽出した対応点を算出した並進運動方向ベクトルで修正して並進運動方向ベクトルを算出するようにしても良い。すなわち、視線ベクトル算出部は算出した並進運動方向ベクトルを使用して対応点の位置をエピポーラ線を利用して修正し、修正した対応点の位置デ−タで新たな視線ベクトルを算出し、再び並進運動ベクトルを算出する。この対応点の修正と並進運動ベクトルの算出を対応点がほぼ一定値に収束するかあるいは修正の繰り返し回数がある値に達するまで繰り返してから並進運動算出部から出力される並進運動方向ベクトルと視線ベクトルから三角測量の原理で各特徴点に相当する対象物上の各対象点の３次元座標値を算出して対象物の３次元形状を出力する。このように並進運動ベクトルと対応点を繰り返し演算によって調整することにより、より精度の高い３次元形状計測を実現することができる。
【００２１】
さらに、対応点の候補を複数抽出して並進運動方向ベクトルの算出と対応点の修正を繰返し演算して最適な対応点を選択して並進運動方向ベクトルと対応点を繰返し演算により調整することにより、さらに精度の高い３次元形状計測を実現することができる。
【００２２】
【実施例】
この発明の実施例を説明するにあたり、まず図１，図２，図３を参照して動作原理を説明する。図１に示すように、測定対象物Ｍの画像を撮像系を移動して第１視点Ｌ１と第２視点Ｌ２の２視点で得る。測定対象物Ｍの対象点Ｏｎは第１視点Ｌ１のイメージプレーンＰ１上に特徴点Ｉ１ｎとして検出され、第２視点Ｌ２のイメージプレーンＰ２には特徴点Ｉ１ｎに対応する対応点Ｉ２ｎとして検出される。測定対象物Ｍの複数の対象点ＯｎのイメージプレーンＰ１上の特徴点Ｉ１ｎとイメージプレーンＰ２の各対応点Ｉ２ｎを図２に示すように抽出する。図２において添字ｎ＝１〜７はそれぞれイメージプレーンＰ１、Ｐ２の同じ添字ｎ＝１〜７はそれぞれ対応する点を示す。次ぎに第１視点Ｌ１と第２視点Ｌ２で各画像が撮像されたときの撮像系の直交座標軸の重力方向を座標軸の一つとする直交座標系であるワールド座標系に対する傾きを重力方向からの傾きと重力回りの回転の２成分の形で抽出する。そして例えば図３に示すように、ある視点における重力方向単位ベクトルすなわち撮像系からみた重力の方向を示すベクトルをｇ＝（ｇｘ、ｇｙ、ｇｚ）とし、重力回り回転角度をψとすると、重力方向単位ベクトルｇと撮像系の座標軸とがなす角度θ，φは、tanθ＝(ｇｚ／ｇｙ），tanφ＝(ｇｘ／ｇｙθ）で表せる。但し、ｇｙθは重力方向単位ベクトルｇをｘ軸回りに角度θだけ回転させたときの重力方向単位ベクトルｇのｙ成分である。これを第１視点Ｌ１の座標系と第２視点Ｌ２の座標系について行うと、第１視点Ｌ１の座標系とワールド座標系との姿勢変化（θ１，φ１，ψ１）及び第２視点Ｌ２の座標系とワールド座標系との姿勢変化（θ２、φ２、ψ２）すなわち第１視点Ｌ１と第２視点Ｌ２における撮像系の姿勢が求められる。したがってイメージプレーンＰ１上の特徴点Ｉ１ｎを通る視線ベクトルｖ１ｎとイメージプレーンＰ２上の対応点Ｉ２ｎを通る視線ベクトルｖ２ｎをワールド座標系で表現できる。また、撮像系の光学中心が第１視点Ｌ１から第２視点Ｌ２に移動したベクトルである撮像系の並進運動ベクトルＴは、視線ベクトルｖ１ｎ，ｖ２ｎと並進運動ベクトルＴのスカラー三重積（ｖ１ｎ×Ｔ，ｖ２ｎ）の各対応に関する和を最小化する値として決定できる。この並進ベクトルＴと視線ベクトルｖ１ｎ，ｖ２ｎから三角測量の原理で各特徴点Ｉ１ｎに相当する対象物Ｍ上の各対象点Ｏｎの３次元座標値を算出することができる。
【００２３】
上記原理に基づくこの発明の一実施例の３次元形状計測装置は、図４のブロック図に示すように、単眼画像撮像部１と対応関係抽出部２と重力方向検出部３と重力回り角度検出部４と姿勢算出部５と視線ベクトル算出部６と並進運動算出部７及び３次元形状演算部８を有する。単眼画像撮像部１は例えばデジタルカメラからなり、図１に示すように、第１視点Ｌ１と第２視点Ｌ２で測定対象物Ｍの画像を入力する。対応関係抽出部２は第１視点Ｌ１で測定した画像の複数の特徴点Ｉ１ｎを抽出し、第２視点Ｌ２で測定した画像の特徴点Ｉ１ｎに相当する対応点Ｉ２ｎを抽出する。
【００２４】
重力方向検出部３は、例えば直交する３軸の加速度を検出する加速度センサからなり、第１視点Ｌ１と第２視点Ｌ２で画像を撮像したときの単眼画像撮像部１の直交座標系の重力方向に対する傾きを検出する。この直交座標系の重力方向に対する傾きを検出するときに、図１に示すように、画像面にｘ，ｙ軸を取り、画像面に垂直な方向である光軸をｚ軸とし、各軸方向の加速度を検出するように加速度センサを配置する。この各加速度センサの信号値の比で単眼画像撮像部１に対する重力方向の方向ベクトルを示すことができる。重力回り角度検出部４は、例えば直交する３軸の磁力を測定する磁気センサを有し、重力方向に垂直な方向の磁場と重力方向から第１視点Ｌ１と第２視点Ｌ２で画像を撮像したときの単眼画像撮像部１の直交座標系の重力回りの角度を検出する。すなわち重力方向検出部３で検出した重力方向の方向ベクトルに単眼画像撮像部１のある軸が一致するような回転行列を算出する。そして、磁気センサで得られた磁場方向ベクトルにその変換を施し、変換後のベクトル間のなす角度を重力回りの回転角度として得ることができる。
【００２５】
姿勢算出部５は重力方向検出部３で検出した第１視点Ｌ１と第２視点Ｌ２の重力方向に対する傾きと重力回り角度検出部４で検出した重力回りの角度から各視点Ｌ１，Ｌ２における単眼画像撮像部１の姿勢を算出する。視線ベクトル算出部６は２視点Ｌ１，Ｌ２における姿勢値と特徴点Ｉ１ｎ及び対応点Ｉ２ｎより第１視点Ｌ１と第２視点Ｌ２における各特徴点Ｉ１ｎと対応点Ｉ２ｎを通る視線ベクトルＶ１ｎ，Ｖ２ｎを算出する。並進運動算出部７は視線ベクトルＶ１ｎ，Ｖ２ｎと特徴点Ｉ１ｎ及び対応点Ｉ２ｎから第１視点Ｌ１から第２視点Ｌ２までの並進運動ベクトルＴを算出する。３次元形状演算８は並進運動ベクトルＴと視線ベクトルＶ１ｎ，Ｖ２ｎより測定対象物Ｍの３次元形状を算出する。
【００２６】
次ぎに、上記実施例の動作を図５のフロ−チャ−トを参照して説明する。まず、単眼画像撮像部１で、図１に示すように、異なる視点である第１視点Ｌ１と第２視点Ｌ２で撮像して得た画像を対応関係抽出部２へ送る。対応関係抽出部２は送られた第１視点Ｌ１の画像から特徴点Ｉ１ｎを抽出し、第２視点の画像から各対応点Ｉ２ｎを抽出して出力する（ステップＳ１）。この特徴点Ｉ１ｎと対応点Ｉ２ｎの抽出方法は種々あるが、例えば次ぎの手順で行なう。第１視点Ｌ１の画像に２次元微分フィルタを施し、微分値が高くなる点を特徴点Ｉ１ｎとして抽出する。次ぎに、ある特徴点Ｉ１ｎを中心とした画像領域を切り出し、第２視点Ｌ２の画像中で最も似た領域を探索する。この探索方法としては相関法を用いる。相関法とは第１視点Ｌ１の画像内で切り出した特徴点近傍の第１画像領域と第２視点Ｌ２の画像内の探索領域の第２画像領域との相互相関を算出し、その値が最も高くなる第２画像領域を取り出す。このようにして得られた第２画像領域の中心を対応点とする。この処理を第１視点Ｌ１の全特徴点Ｉ１ｎに対して行なう。ただし、類似した領域が発見できないときは、その点を特徴点とはしないようにする。
【００２７】
特徴点Ｉ１ｎと対応点Ｉ２ｎを抽出したら、重力方向検出部３で検出した重力方向の傾きと重力回り角度検出部４で検出した重力回りの角度から姿勢算出部５で第１視点Ｌ１と第２視点Ｌ２における単眼画像撮像部１の姿勢を算出する（ステップＳ２）。この第１視点Ｌ１と第２視点Ｌ２における単眼画像撮像部１の姿勢と特徴点Ｉ１ｎと対応点Ｉ２ｎの各データから視線ベクトル算出部６で各特徴点Ｉ１ｎと対応点Ｉ２ｎを通る視線ベクトルＶ１ｎ，Ｖ２ｎを算出する（ステップＳ３）。この視線ベクトルＶ１ｎ，Ｖ２ｎと特徴点Ｉ１ｎと対応点Ｉ２ｎの各データから並進運動算出部７で並進運動方向ベクトルＴを算出する（ステップＳ４）。３次元形状演算部８は並進運動方向ベクトルＴと視線ベクトルＶ１ｎ，Ｖ２ｎから三角測量の原理で各特徴点Ｉ１ｎに相当する対象物Ｍ上の各対象点Ｏｎの３次元座標値を算出し、対象物Ｍの３次元形状を出力する（ステップＳ５）。
【００２８】
このようにして重力方向情報と重力回り角度情報と２視点Ｌ１，Ｌ２からの画像情報を融合することにより、精度の高い３次元形状計測を実現することができるとともに装置の小型化を図ることができる。
【００２９】
上記実施例は抽出した対応点Ｉ２ｎから並進運動方向ベクトルＴを算出した場合について説明したが、抽出した対応点Ｉ２ｎを算出した並進運動方向ベクトルＴで修正して並進運動方向ベクトルＴを算出するようにしても良い。
【００３０】
この抽出した対応点Ｉ２ｎを算出した並進運動方向ベクトルＴで修正して並進運動方向ベクトルＴを算出する第２の実施例を説明するにあたり、修正動作の原理を説明する。上記第１の実施例において、並進運動算出部７で算出した並進運動ベクトルＴと視線ベクトル算出部６で算出した視線ベクトルｖ１ｎ，ｖ２ｎから、図６に示すように、イメージプレーンＰ２上に各対応点Ｉ２ｎに相当するエピポーラ線Ｅｐｌｎを描くことができる。エピポーラ線Ｅｐｌｎは第１視点Ｌ１と第２視点Ｌ２の光学中心と対象点Ｏｎの３点を含む平面、すなわちエピポーラ面とイメージプレーンＰ２の交線であり、第１視点Ｌ１の光学中心と特徴点Ｉ１ｎを通る直線をイメージプレーンＰ２上に投影したものである。理想的には対応点Ｉ２ｎは各エピポーラ線Ｅｐｌｎ上に存在することになる。したがって各対応点Ｉ２ｎは各エピポーラ線Ｅｐｌｎ付近にあると仮定できるので、エピポーラ線Ｅｐｌｎに近づくよう対応点Ｉ２ｎを修正する。この並進運動ベクトルＴの算出と対応点Ｉ２ｎの修正処理を繰り返すことにより、最終的な対応点と並進運動ベクトルＴを得ることができる。
【００３１】
このように抽出した対応点Ｉ２ｎを算出した並進運動方向ベクトルＴで修正して並進運動方向ベクトルＴを算出する第２の実施例の３次元形状計測装置は、図７のブロック図に示すように、視線ベクトル算出部６ａと収束信号通知部９以外は図４に示した３次元形状計測装置と全く同じ構成である。視線ベクトル算出部６ａは２視点Ｌ１，Ｌ２における姿勢値と特徴点Ｉ１ｎ及び対応点Ｉ２ｎより第１視点Ｌ１と第２視点Ｌ２における各特徴点Ｉ１ｎと対応点Ｉ２ｎを通る視線ベクトルＶ１ｎ，Ｖ２ｎを算出するとともに並進運動算出部７で算出した並進運動ベクトルＴにより対応点Ｉ２ｎの位置を修正し、修正した対応点Ｉ２ｎの位置で視線ベクトルＶ２ｎを算出する。収束信号通知部９は並進運動ベクトルＴにより対応点Ｉ２ｎの位置を修正したときの変化量を算出し、対応点Ｉ２ｎの位置の変化量が一定値以下あるいは繰り返し演算回数が一定値になったことを通知する収束信号を出力する。
【００３２】
この第２の実施例の動作を図８のフロ−チャ−トを参照して説明する。異なる視点である第１視点Ｌ１と第２視点Ｌ２で撮像して得た画像を対応関係抽出部２へ送る。対応関係抽出部２は送られた第１視点Ｌ１の画像から特徴点Ｉ１ｎを抽出し、第２視点の画像から各対応点Ｉ２ｎを抽出して出力する（ステップＳ１１）。特徴点Ｉ１ｎと対応点Ｉ２ｎを抽出したら、重力方向検出部３で検出した重力方向の傾きと重力回り角度検出部４で検出した重力回りの角度から姿勢算出部５で第１視点Ｌ１と第２視点Ｌ２における単眼画像撮像部１の姿勢を算出する（ステップＳ１２）。この第１視点Ｌ１と第２視点Ｌ２における単眼画像撮像部１の姿勢と特徴点Ｉ１ｎと対応点Ｉ２ｎの各データから視線ベクトル算出部６ａで各特徴点Ｉｎと対応点Ｉ２ｎを通る視線ベクトルＶ１ｎ，Ｖ２ｎを算出する（ステップＳ１３）。この視線ベクトルＶ１ｎ，Ｖ２ｎと特徴点Ｉｎと対応点Ｉ２ｎの各データから並進運動算出部７で並進運動方向ベクトルＴを算出する（ステップＳ１４）。視線ベクトル算出部６ａは算出した並進運動方向ベクトルＴを使用して対応点Ｉ２ｎの位置を修正し、修正した対応点Ｉ２ｎの位置デ−タで新たな視線ベクトルＶ２ｎを算出する（ステップＳ１５）。この対応点Ｉ２ｎの修正方法は、図６に示すように、第２視点Ｌ２の画像上にエピポーラ線Ｅｐｌｎを描き、対応点Ｉ２ｎからエピポーラ線Ｅｐｌｎ上に降ろした垂線の足を新たな対応点としたり、エピポーラ線Ｅｐｌｎ付近で対応点を再探索する。この修正された対応点Ｉ２ｎにより再び並進運動ベクトルＴを算出する。この対応点Ｉ２ｎの修正と並進運動ベクトルＴの算出を対応点Ｉ２ｎがほぼ一定値に収束するかあるいは修正の繰り返し回数がある値に達するまで繰り返す（ステップＳ１６）。この収束制御を収束信号通知部９で行い、対応点Ｉ２ｎがほぼ一定値に収束するかあるいは修正の繰り返し回数がある値に達すると収束信号を並進運動算出部７に送る。３次元形状演算部８は収束信号が出力されたときに並進運動算出部７から出力される並進運動方向ベクトルＴと視線ベクトルＶ１ｎ，Ｖ２ｎから三角測量の原理で各特徴点Ｉ１ｎに相当する対象物Ｍ上の各対象点Ｏｎの３次元座標値を算出し、対象物Ｍの３次元形状を出力する（ステップＳ１７）。このようにして並進運動ベクトルＴと対応点Ｉ２ｎを繰り返し演算によって調整することにより、より精度の高い３次元形状計測を実現することができる。
【００３３】
上記第２の実施例は抽出した対応点Ｉ２ｎを算出した並進運動方向ベクトルＴで修正して並進運動方向ベクトルＴを算出する場合について説明したが、対応点Ｉ２ｎの候補を複数抽出して並進運動方向ベクトルＴの算出と対応点Ｉ２ｎの修正を繰返し演算して最適な対応点を選択して並進運動方向ベクトルＴと対応点Ｉ２ｎを繰返し演算により調整するようにしても良い。
【００３４】
この最適な対応点を選択して並進運動方向ベクトルＴと対応点Ｉ２ｎを調整する第３の実施例を説明するにあたり、まず動作原理を説明する。図２に示すように測定対象物Ｍの複数の対象点ＯｎのイメージプレーンＰ１上の特徴点Ｉ１ｎとイメージプレーンＰ２の各対応点Ｉ２ｎを抽出するときに、一つの特徴点Ｉ１ｎに対して対応点Ｉ２ｎの候補を複数抽出する。すなわち、対応点を探索するときに評価の高かった上位の点を対応点Ｉ２ｎの候補として保持する。そして並進運動ベクトルＴを算出してイメージプレーンＰ２上にエピポーラ線Ｅｐｌｎを描いてから、エピポーラ線Ｅｐｌｎに最も近い対応点候補が新たな対応点になるよう修正する。この並進運動ベクトルＴの算出とエピポーラ線Ｅｐｌｎの作成及び対応点Ｉ２ｎの修正処理を繰り返すことにより最適な対応点Ｉ２ｎと並進運動ベクトルＴを得ることができる。
【００３５】
このように並進運動ベクトルＴの算出とエピポーラ線Ｅｐｌｎの作成及び対応点Ｉ２ｎの修正処理を繰り返す第３の実施例の３次元形状計測装置は、図９のブロック図に示すように、単眼画像撮像部１と対応関係抽出部２と重力方向検出部３と重力回り角度検出部４と姿勢算出部５と視線ベクトル算出部６ａと並進運動算出部７と３次元形状演算部８及び姿勢補正部９を有する。対応関係抽出部２は第１視点Ｌ１と第２視点Ｌ２で撮像して得た画像から特徴点Ｉ１ｎと対応点Ｉ２ｎを抽出するときに、一つの特徴点Ｉ２ｎに対応する対応点Ｉ２ｎとして複数の対応点候補を抽出する。姿勢補正部９は対応点Ｉ２ｎとエピポーラ線Ｅｐｌｎの距離の総和が最小になるように第２視点Ｌ１における画像の姿勢角度の補正値を算出する。姿勢算出部５は重力方向検出部３で検出した第１視点Ｌ１と第２視点Ｌ２の重力方向に対する傾きと重力回り角度検出部４で検出した重力回りの角度から各視点Ｌ１，Ｌ２における単眼画像撮像部１の姿勢を算出するとともに、姿勢補正部１０で算出した姿勢角度の補正値と重力方向検出部３で検出した第２視点Ｌ２の重力方向に対する傾きと重力回り角度検出部４で検出した重力回りの角度から視点Ｌ２における単眼画像撮像部１の姿勢を補正する。
【００３６】
この第３の実施例の動作を図１０のフロ−チャ−トを参照して説明する。異なる視点である第１視点Ｌ１と第２視点Ｌ２で撮像して得た画像を対応関係抽出部２へ送る。対応関係抽出部２は送られた第１視点Ｌ１の画像から各特徴点Ｉ１ｎを抽出し、第２視点の画像から各対応点Ｉ２ｎとして複数の対応点候補を抽出して出力する。すなわち、対応点Ｉ２ｎを探索するときに評価の高かった上位の点を対応点Ｉ２ｎの候補として複数保持する。（ステップＳ２１）。特徴点Ｉ１ｎと対応点Ｉ２ｎの候補を抽出したら、重力方向検出部３で検出した重力方向の傾きと重力回り角度検出部４で検出した重力回りの角度から姿勢算出部５で第１視点Ｌ１と第２視点Ｌ２における単眼画像撮像部１の姿勢を算出する（ステップＳ２２）。視線ベクトル算出部６ａは一つの対応点候補を対応点Ｉ２ｎとして選択し、第１視点Ｌ１と第２視点Ｌ２における単眼画像撮像部１の姿勢と特徴点Ｉ１ｎと選択した対応点Ｉ２ｎの各データから各特徴点Ｉｎと対応点Ｉ２ｎを通る視線ベクトルＶ１ｎ，Ｖ２ｎを算出する（ステップＳ２３）。この視線ベクトルＶ１ｎ，Ｖ２ｎと特徴点Ｉｎと対応点Ｉ２ｎの各データから並進運動算出部７で並進運動方向ベクトルＴを算出する（ステップＳ２４）。視線ベクトル算出部６ａは算出した並進運動方向ベクトルＴを使用して対応点Ｉ２ｎの位置を修正する（ステップＳ２５）。この対応点Ｉ２ｎの修正方法は、図６に示すように、第２視点Ｌ２の画像上に算出した並進運動方向ベクトルＴを使用してエピポーラ線Ｅｐｌｎを描き、エピポーラ線Ｅｐｌｎに最も近い対応点候補を新たな対応点Ｉ２ｎとして選択する。また、第２視点Ｌ２の画像の姿勢角度を変化させると、画像上ではエピポーラ線Ｅｐｌｎが動く。そこで、姿勢補正部１０は新しい対応点Ｉ２ｎとエピポーラ線Ｅｐｌｎの距離の総和が最小になるように最急降下法などを用いて第２視点Ｌ２の画像の姿勢角度の補正値を算出する。姿勢算出部５は算出した姿勢角度の補正値と重力方向検出部３で検出した重力方向の傾きと重力回り角度検出部４で検出した重力回りの角度から第２視点Ｌ２の画像の新たな姿勢角度を算出する（ステップＳ２６）。視線ベクトル算出部６ａは新たな姿勢角度を用いて新たな視線ベクトルＶ１ｎ，Ｖ２ｎを算出し（ステップＳ２７）、並進運動算出部７は新たな視線ベクトルＶ１ｎ，Ｖ２ｎにより新たな並進運動方向ベクトルＴを算出する。この対応点候補の選択と第２視点Ｌ２の画像の姿勢角度の補正値と並進運動ベクトルＴの算出を対応点Ｉ２ｎがほぼ一定値に収束するかあるいは修正の繰り返し回数がある値に達するまで繰り返す（ステップＳ２８）。対応点Ｉ２ｎがほぼ一定値に収束するかあるいは修正の繰り返し回数がある値に達して収束信号通知部９から収束信号が出力されると、３次元形状演算部８は収束信号が出力されたときに並進運動算出部７から出力される並進運動方向ベクトルＴと視線ベクトルＶ１ｎ，Ｖ２ｎから三角測量の原理で各特徴点Ｉ１ｎに相当する対象物Ｍ上の各対象点Ｏｎの３次元座標値を算出し、対象物Ｍの３次元形状を出力する（ステップＳ２９）。
【００３７】
このように対応点Ｉ２ｎの候補を複数抽出して並進運動方向ベクトルＴの算出と対応点Ｉ２ｎの修正を繰返し演算して最適な対応点を選択して並進運動方向ベクトルＴと対応点Ｉ２ｎを繰返し演算により調整するようにしたから、さらに精度の高い３次元形状計測を実現することができる。
【００３８】
上記第２，第３の実施例においては収束信号通知部９で対応点Ｉ２ｎの収束状況を確認して収束制御信号を出力する場合について説明したが、並進運動ベクトルＴがほぼ一定値になったことを確認したら収束制御信号を出力するようにしても良い。
【００３９】
次に、抽出した特徴点Ｉ１ｎと対応点Ｉ２ｎの誤対応を除去して並進運動ベクトルＴを収束させて３次元形状を測定する第４の実施例について説明する。第４の実施例の３次元形状計測装置は、図１１のブロック図に示すように、誤対応検出部１１と誤対応除去部１２及び収束信号通知部９とを設けた以外は図４に示した３次元形状計測装置とまったく同じ構成である。誤対応検出部１１は並進運動算出部７で繰り返して算出した並進運動ベクトルＴにより第１視点Ｌ１と第２視点Ｌ２で撮像した画像から抽出した特徴点Ｉ１ｎと対応点Ｉ２ｎの誤対応を検出する。誤対応除去部１２は誤対応した特徴点と対応点を除去する。収束信号通知部９は並進運動ベクトルＴが一定値以下になったことを検出して収束信号を出力する。
【００４０】
この第４の実施例の動作を図１２のフロ−チャ−トを参照して説明する。異なる視点である第１視点Ｌ１と第２視点Ｌ２で撮像して得た画像を対応関係抽出部２へ送る。対応関係抽出部２は送られた第１視点Ｌ１の画像から各特徴点Ｉ１ｎを抽出し、第２視点の画像から各対応点Ｉ２ｎとして複数の対応点候補を抽出して出力する。すなわち、対応点Ｉ２ｎを探索するときに評価の高かった上位の点を対応点Ｉ２ｎの候補として複数保持する。（ステップＳ３１）。特徴点Ｉ１ｎと対応点Ｉ２ｎの候補を抽出したら、重力方向検出部３で検出した重力方向の傾きと重力回り角度検出部４で検出した重力回りの角度とから姿勢算出部５で第１視点Ｌ１と第２視点Ｌ２における単眼画像撮像部１の姿勢を算出する（ステップＳ３２）。この第１視点Ｌ１と第２視点Ｌ２における単眼画像撮像部１の姿勢と特徴点Ｉ１ｎと対応点Ｉ２ｎの各データから視線ベクトル算出部６で各特徴点Ｉ１ｎと対応点Ｉ２ｎを通る視線ベクトルＶ１ｎ，Ｖ２ｎを算出する（ステップＳ３３）。この視線ベクトルＶ１ｎ，Ｖ２ｎと特徴点Ｉ１ｎと対応点Ｉ２ｎの各データから並進運動算出部７で視線ベクトルｖ１ｎ，ｖ２ｎと並進運動ベクトルＴのスカラー三重積Ｓｎ＝（ｖ１ｎ×Ｔ，ｖ２ｎ）の各対応に関する和を最小化する繰返し演算を実施して並進運動方向ベクトルＴを算出する（ステップＳ３４）。この並進運動ベクトルＴの繰返し演算が一定回数に達したときに、そのときの並進運動ベクトルＴにより誤対応検出部１１は特徴点Ｉ１ｎと対応点Ｉ２ｎの誤対応を検出する。この検出した誤対応の特徴点と対応点を誤対応除去部１２で除去する（ステップＳ３５）。並進運動算出部７は誤対応の特徴点と対応点を除去した特徴点と対応点の各データと視線ベクトルから並進運動ベクトルＴを算出する（ステップＳ３６，３４）。この誤対応の特徴点と対応点の検出は、視線ベクトルｖ１ｉ，ｖ２ｉと並進運動ベクトルＴのスカラー三重積Ｓｉがあらかじめ定めたしきい値ＴＨ１より大きいときに、その特徴点Ｉ１ｉと対応点Ｉ２ｉを誤対応とする。この特徴点Ｉ１ｎと対応点Ｉ２ｎの誤対応の検出と並進運動ベクトルＴの算出を繰り返しているときに、収束信号通知部９は算出した並進運動ベクトルＴがあらかじめ定めた一定値に収束したかどうかを検出している（ステップＳ３６）。この並進運動ベクトルＴの収束の検出は、並進運動ベクトルＴの収束度Ｄ＝(Ｔn−Ｔn-1）2がしきい値ＴＨ２以上のときは収束していないとし、収束度Ｄがしきい値Ｔｈ２以下になったときに収束したとして並進運動算出部７に通知する。この収束した並進運動ベクトルＴと視線ベクトルによりより３次元形状演算部８は測定対象物Ｍの３次元形状を算出する（ステップＳ３７）。
【００４１】
このように誤対応している特徴点Ｉ１ｎと対応点Ｉ２ｎを除去して並進運動方向ベクトルＴを算出するから、特徴点Ｉ１ｎと対応点Ｉ２ｎの対応づけに誤りがある場合でも、より高精度に３次元形状を測定することができる。
【００４２】
また、上記各実施例は重力方向検出部３に直交する３軸方向の加速度を検出する加速度センサを使用した場合について説明したが、画像情報から重力方向を検出するようにしても良い。デジタルカメラ等の単眼画像撮像部１は通常大きく傾けて使用することはなく、また、人工的な測定対象物は重力方向に長い角部を有することが多い。そこで画像上のほぼ縦方向に長いエッジは重力方向に向いていると仮定することができる。このエッジが画像上で垂直になるように画像を回転させたときの回転角から重力方向の方向ベクトルを得ることもできる。
【００４３】
また、重力回り角度検出部４に直交する３軸方向の磁力を測定できる磁気センサを設け、重力方向検出部３で検出した重力方向の方向ベクトルと磁場方向ベクトルから重力回りの回転角度を検出する場合にについて説明したが、磁気センサだけを使用して重力回りの回転角度を検出するようにしても良い。この場合は、例えば画像面にｘ，ｙ軸をとり，画像面に垂直な方向をｚ軸とする。ｘｙ平面の磁力方向が検出されるよう２次元磁気センサを配置する。第１視点Ｌ１と第２視点Ｌ２間をデジタルカメラ等の単眼画像撮像部１が移動するときに大きく傾くことはなく、ｘ軸とｙ軸回りの回転は小さいとすると、２次元磁気センサが示すｘ軸，ｚ軸方向に成分を持ち、ｙ軸方向は０な方向ベクトルは北極あるいは南極方向を示すことになり、重力回りの角度はｚ軸とのベクトルがなす角度から得ることができる。
【００４４】
さらに、対応関係抽出部２は各特徴点Ｉ１ｎと各対応点Ｉ２ｎを抽出するときに、対応点Ｉ２ｎを探索するときに行った相関値を利用したりして、各点の重み値Ｗｎも同時に算出すると良い。そして、並進運動算出部７で重み値Ｗｎを含むスカラー三重積Ｓｎ＝Ｗｎ（ｖ１ｎ×Ｔ，ｖ２ｎ）の各対応に関する和を最小化する繰返し演算を実施して並進運動方向ベクトルＴを算出する。このようにしてより高精度に３次元形状やカメラ運動を計測することができる。
【００４５】
また、３次元形状演算部８で算出した３次元形状を出力するか、姿勢算出部５で算出した姿勢値と並進運動算出部７で算出した並進運動ベクトルＴを出力するかの切り替えを選択できるようにしておくと良い。このようにして姿勢値と並進運動ベクトルＴだけを出力できることにより、カメラ運動情報のみが必要な場合のメモリ量や計算時間とそれに要する消費電力を低減することができる。
【００４６】
〔具体例〕上記第１の実施例によりより対象物を測定したときの具体例を説明する。単眼画像形成装置１としてはデジタルカメラを使用し、重力方向検出部３と重力回り角度検出部３としては３軸加速センサと３軸磁気センサが搭載されたデジタルカメラにより、図１３に示すように壁１１の全面にある平板１２と人１３を対象物として第１視点Ｌ１で撮影を行なってから第２視点Ｌ２に移動して撮影した。図１３に示すように第１視点Ｌ１における壁１１と平行な方向をｘ軸とし、デジタルカメラの重力方向をｙ軸とし、光軸方向をｚ軸とすると、対象物の配置はｘ軸から壁１１までの距離Ｚ１が400ｃｍ、ｘ軸から平板１２までの距離Ｚ２が250ｃｍ、ｘ軸から人１3までの距離Ｚ３が300ｃｍのときに、第１視点Ｌ１で撮影してからデジタルカメラをｘ軸方向に40ｃｍ、ｙ軸方向に−７ｃｍだけ並進移動し、ｘ軸回りに角度−２度、ｙ軸回りに角度−８度だけ回転して第２視点に移動して、上記第１の実施例でデジタルカメラの位置と姿勢の変化量を算出した結果を下記表に示す。
【００４７】
【表１】
0003712847.tif 000002
【００４８】
また、対象物の特徴点の３次元位置を図１４に示す。上記の表と図１４から対象物の３次元形状の計測が行なえることがわかる。なお、この場合、特徴点の位置とカメラ運動は相対値のみがわかり、図１４に示す絶対値の算出は不可能である。しかし、カメラ運動の絶対移動距離や特徴点のうちの１点のカメラからの絶対距離がわかれば絶対値を求めることができる。そこで、加速度センサにより２視点の移動距離の絶対値を算出し、その絶対値を使用して各特徴点の位置の絶対値を求めた。
【００４９】
【発明の効果】
この発明は以上説明したように、重力方向情報と重力回り角度情報と２視点からの画像情報を融合するようにしたから、精度の高い３次元形状計測を実現することができるとともに装置の小型化を図ることができる。
【００５０】
また、抽出した対応点を算出した並進運動方向ベクトルで修正して並進運動方向ベクトルを算出することを繰り返えして調整することにより、より精度の高い３次元形状計測を実現することができる。
【００５１】
さらに、対応点の候補を複数抽出して並進運動方向ベクトルの算出と対応点の修正を繰返し演算して最適な対応点を選択して並進運動方向ベクトルと対応点を繰返し演算により調整することにより、さらに精度の高い３次元形状計測を実現することができる。
【００５２】
また、誤対応している特徴点と対応点を除去して並進運動方向ベクトルを算出することにより、特徴点と対応点との対応づけに誤るがある場合でも、より高精度に３次元形状を測定することができる。
【００５３】
また、対応点を算出した並進運動方向ベクトルの修正を繰り返すときに並進運動ベクトルに基づいて収束判定をすることにより、収束判定を高速に行なうことができる。
【００５４】
さらに、加速度センサや画像情報を用いて重力方向を検出したり、磁気センサで重力回りの角度を検出することにより、簡単な構成で重力方向や重力回りの角度を検出して３次元形状の計測を実現することができる。
【００５５】
また、各特徴点と各対応点を抽出するときに、各点の重み値も同時に算出し、この重み値を考慮して並進運動方向ベクトルを算出することにより、より高精度に３次元形状やカメラ運動を計測することができる。
【図面の簡単な説明】
【図１】この発明の実施例の動作原理を示す説明図である。
【図２】特徴点と対応点の対応を示す画面の表示図である。
【図３】重力方向と画像座標系との関係を示す説明図である。
【図４】この発明の実施例の構成を示すブロック図である。
【図５】上記実施例の動作を示すフロ−チャ−トである。
【図６】エピポ−ラ線を示す説明図である。
【図７】この発明の第２の実施例の構成を示すブロック図である。
【図８】上記第２の実施例の動作を示すフロ−チャ−トである。
【図９】この発明の第３の実施例の構成を示すブロック図である。
【図１０】上記第３の実施例の動作を示すフロ−チャ−トである。
【図１１】この発明の第４の実施例の構成を示すブロック図である。
【図１２】上記第４の実施例の動作を示すフロ−チャ−トである。
【図１３】この発明の具体例の配置図である。
【図１４】上記具体例における対象物の特徴点の３次元位置の配置図である。
【符号の説明】
１      単眼画像撮像部
２      対応関係抽出部
３      重力方向検出部
４      重力回り角度検出部
５      姿勢算出部
６      視線ベクトル算出部
７      並進運動算出部
８      ３次元形状演算部
９      収束信号通知部
１０    姿勢補正部
１１    誤対応検出部
１２    誤対応除去部
【図１】
0003712847.tif 000003
【図２】
0003712847.tif 000004
【図３】
0003712847.tif 000005
【図４】
0003712847.tif 000006
【図５】
0003712847.tif 000007
【図６】
0003712847.tif 000008
【図７】
0003712847.tif 000009
【図８】
0003712847.tif 000010
【図９】
0003712847.tif 000011
【図１０】
0003712847.tif 000012
【図１１】
0003712847.tif 000013
【図１２】
0003712847.tif 000014
【図１３】
0003712847.tif 000015
【図１４】
0003712847.tif 000016