(57)【特許請求の範囲】
【請求項１】
ポートと入力デバイスとプロセッサとを備える３次元情報復元装置であって、
前記ポートは、第１の撮像装置により撮像された第１の画像と、第２の撮像装置により撮像された第２の画像と、を取得し、
前記プロセッサは、
前記第１の画像における第１の特徴点と、前記第２の画像における第２の特徴点と、が対応する第１の対応点ペアを複数検出し、
複数の前記第１の対応点ペアに基づいて、前記第１の特徴点が逆射影された３次元座標を復元し、
前記入力デバイスは、
前記第１の画像及び前記第２の画像における任意の対応点ペアを第２の対応点ペアとして、前記第２の対応点ペアの前記第１の画像及び前記第２の画像それぞれでの位置を示す位置情報と、前記第１の撮像装置から前記第２の対応点ペアまでの距離を示す距離情報と、を入力し、
前記プロセッサは、
入力された前記第２の対応点ペアの前記位置情報に基づいて、前記第２の対応点ペアの３次元座標を復元し、
復元された前記第２の対応点ペアの３次元座標と、入力された前記距離情報と、に基づいて、前記３次元座標の精度を評価し、
前記精度が所定値以下である場合、前記第１の対応点ペアを変更して３次元座標を導出するためのパラメータを再計算し、
再計算された前記パラメータに基づいて、入力された前記第２の対応点ペアの３次元座標の復元の再計算を行う、
３次元情報復元装置。
【請求項２】
請求項１に記載の３次元情報復元装置であって、更に、
前記プロセッサの制御により、前記第１の画像及び前記第２の画像の少なくとも一方に、前記複数の第１の対応点ペアに含まれる前記第２の対応点ペアの候補を表示するディスプレイを備える、３次元情報復元装置。
【請求項３】
請求項２に記載の３次元情報復元装置であって、更に、
前記ディスプレイは、前記プロセッサの制御により、前記第２の対応点ペアの位置として、前記第１の画像及び前記第２の画像の少なくとも一方において、前記第１の撮像装置からの距離が長い位置を優先して前記位置情報を入力するように促す案内情報を表示する、３次元情報復元装置。
【請求項４】
請求項２または３に記載の３次元情報復元装置であって、
前記プロセッサは、前記入力デバイスにより入力された距離情報と、前記３次元座標の復元により得られた前記第１の撮像装置から前記第２の対応点ペアまでの距離の情報と、に基づいて、前記３次元座標の復元の再計算の要否を判定する、３次元情報復元装置。
【請求項５】
請求項４に記載の３次元情報復元装置であって、更に、
前記ディスプレイは、前記プロセッサの制御により、前記入力デバイスにより入力された距離情報と、前記３次元座標の復元により得られた前記第１の撮像装置から前記第２の対応点ペアまでの距離の情報との、差分が所定値以上である場合、前記第２の対応点ペアの入力に係る警告情報を表示する、３次元情報復元装置。
【請求項６】
請求項１に記載の３次元情報復元装置であって、
前記プロセッサは、前記３次元座標の復元を含む復元処理を複数回行い、
第１の復元処理では、
前記入力デバイスにより入力された前記第２の対応点ペアの位置情報と、前記距離情報と、前記第１の復元処理において前記第１の撮像装置により撮像された前記第１の画像において前記第２の対応点ペアを含む第３の画像と、をメモリに保持し、
前記第１の復元処理に後続する第２の復元処理では、
前記第２の復元処理において前記第１の撮像装置により撮像された前記第１の画像における前記第３の画像に対応する領域を検出し、
前記領域に含まれる、前記第１の復元処理で得られた前記第２の対応点ペアに相当する対応点ペアを、前記第２の復元処理における第２の対応点ペアに設定し、
前記第２の対応点ペアの設定後、前記３次元座標の復元を再計算する、
３次元情報復元装置。
【請求項７】
請求項６に記載の３次元情報復元装置であって、更に、
ディスプレイを備え、
前記ディスプレイは、前記プロセッサの制御により、前記第２の復元処理において、前記第１の画像における前記第３の画像に対応する領域が検出されなかった場合、又は、前記メモリに保持された距離情報と前記第２の復元処理により得られた前記第１の撮像装置から前記第２の対応点ペアまでの距離の情報との差分が所定値以上である場合、前記メモリに保持された前記第２の対応点ペアの位置情報と前記第３の画像とを表示する、３次元情報復元装置。
【請求項８】
請求項７に記載の３次元情報復元装置であって、更に、
前記ディスプレイは、前記メモリに保持された前記第２の対応点ペアの位置情報と前記第３の画像とを参照して、前記第２の復元処理において前記第１の画像における前記第２の対応点ペアの位置情報を入力するように促す案内情報を表示する、３次元情報復元装置。
【請求項９】
ポートと入力デバイスとプロセッサとを備える３次元情報復元装置における３次元情報復元方法であって、
前記ポートは、第１の撮像装置により撮像された第１の画像と、第２の撮像装置により撮像された第２の画像と、を取得し、
前記プロセッサは、
前記第１の画像における第１の特徴点と、前記第２の画像における第２の特徴点と、が対応する第１の対応点ペアを複数検出し、
複数の前記第１の対応点ペアに基づいて、前記第１の特徴点が逆射影された３次元座標を復元し、
前記入力デバイスは、
前記第１の画像及び前記第２の画像における任意の対応点ペアを第２の対応点ペアとして、前記第２の対応点ペアの前記第１の画像及び前記第２の画像それぞれでの位置を示す位置情報と、前記第１の撮像装置から前記第２の対応点ペアまでの距離を示す距離情報と、を入力し、
入力された前記第２の対応点ペアの前記位置情報に基づいて、前記第２の対応点ペアの３次元座標を復元し、
復元された前記第２の対応点ペアの３次元座標と、入力された前記距離情報と、に基づいて、前記３次元座標の精度を評価し、
前記精度が所定値以下である場合、前記第１の対応点ペアを変更して３次元座標を導出するためのパラメータを再計算し、
再計算された前記パラメータに基づいて、入力された前記第２の対応点ペアの３次元座標の復元の再計算を行う、
３次元情報復元方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、３次元情報復元装置及び３次元情報復元方法に関する。
【背景技術】
【０００２】
従来、左右の撮像部で同じ被写体を撮像するように、１つの筐体に２つの撮像部が固定されたステレオカメラが知られている。ステレオカメラは、被写体を異なる複数の方向から撮像し、平面方向の情報及び奥行き方向の情報（３次元情報）を記録する。
【０００３】
３次元情報を復元する装置として、例えば、画像入力部と、対応点検出部と、基本行列計算部と、平行移動計算部と、回転計算部と、距離計算部と、を備える３次元情報復元装置が知られている（例えば、特許文献１参照）。
【０００４】
この３次元情報復元装置では、画像入力部は、３次元剛体を捉えた２画像を入力する。対応点検出部は、２画像間の対応点を検出する。基本行列計算部は、２画像間の３次元回転行列及び３次元平行移動ベクトルから基本行列を計算する。平行移動計算部は、３次元平行移動ベクトルを計算する。回転計算部は、３次元回転行列を計算する。距離計算部は、３次元空間におけるカメラと対応点との距離を計算する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０９−２３７３４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載された３次元情報復元装置では、２つの撮像装置を別々に設置してステレオカメラシステムを形成する場合、２つの撮像装置によりそれぞれ撮像された左右の画像から対象点の３次元座標を正しく復元できないことがある。
【０００７】
本開示は、上記事情に鑑みてなされたものであり、２つの撮像画像から復元される３次元座標の復元精度を向上できる３次元情報復元装置及び３次元情報復元方法を提供する。
【課題を解決するための手段】
【０００８】
本開示の３次元情報復元装置は、ポートと入力デバイスとプロセッサとを備える。ポートは、第１の撮像装置により撮像された第１の画像と、第２の撮像装置により撮像された
第２の画像と、を取得する。プロセッサは、第１の画像における第１の特徴点と、第２の画像における第２の特徴点と、が対応する第１の対応点ペアを複数検出し、複数の第１の対応点ペアに基づいて、第１の特徴点が逆射影された３次元座標を復元する。入力デバイスは、第１の画像及び第２の画像における任意の対応点ペアを第２の対応点ペアとして、第２の対応点ペアの第１の画像及び第２の画像それぞれでの位置を示す位置情報と、第１の撮像装置から第２の対応点ペアまでの距離を示す距離情報と、を入力する。プロセッサは、入力された第２の対応点ペアの位置情報に基づいて、第２の対応点ペアの３次元座標を復元し、復元された第２の対応点ペアの３次元座標と、入力された距離情報と、に基づいて、３次元座標の精度を評価し、精度が所定値以下である場合、第１の対応点ペアを変更して３次元座標を導出するためのパラメータを再計算し、再計算されたパラメータに基づいて、入力された第２の対応点ペアの３次元座標の復元の再計算を行う。
【発明の効果】
【０００９】
本開示によれば、２つの撮像画像から復元される３次元座標の復元精度を向上できる
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態におけるステレオカメラシステムの概略構成例を示す模式図
【図２】ステレオカメラシステムにおけるＰＣの構成例を示すブロック図
【図３】（Ａ），（Ｂ），（Ｃ）は、３次元座標を導出するためのパラメータの一例を説明するための模式図
【図４】ステレオカメラシステムの動作の概要の一例を説明する図
【図５】初期設定時に行われる初期キャリブレーションの一例を示すフローチャート
【図６】対応点を指定するための候補となる複数の対応点及びこれらの対応点同士を結ぶ対応線が左右の画像中に描画された画面例を示す図
【図７】図６の画面において、対応点のエラーメッセージ及びマークが追加された画面例を示す図
【図８】図６の画面において、遠方の点を対応点として指定するようにガイダンスが追加された画面例を示す図
【図９】第２の実施形態におけるＰＣの構成例を示すブロック図
【図１０】運用時に行われる再キャリブレーションの一例を示すフローチャート
【図１１】図１０に続く運用時に行われる再キャリブレーションの一例を示すフローチャート
【図１２】再キャリブレーション時にテンプレートマッチングが行われる画面例を示す図
【図１３】対応点再探索のガイダンス等が追加された画面例を示す図
【図１４】初期設定時に行われる初期キャリブレーションの他例を示すフローチャート
【図１５】運用時に行われる再キャリブレーションの他例を示すフローチャート
【発明を実施するための形態】
【００１１】
以下、適宜図面を参照しながら、実施形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になることを避け、当業者の理解を容易にするためである。尚、添付図面及び以下の説明は、当業者が本開示を十分に理解するために提供されるものであり、これらにより特許請求の範囲に記載の主題を限定することは意図されていない。
【００１２】
（第１の実施形態）
［構成等］
図１は第１の実施形態におけるステレオカメラシステム５の概略構成例を示す模式図である。ステレオカメラシステム５は、例えば、第１カメラ１０、第２カメラ１１、及びＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）２０を備える。第１カメラ１０及び第２カメラ１１は、例えば、それぞれケーブル１８Ａ、１８Ｂを介してＰＣ２０と接続される。第１カメラ１０と第２カメラ１１とは、例えば、ケーブル１８Ｃを介して接続される。
【００１３】
ステレオカメラシステム５は、３次元情報復元システムの一例である。ＰＣ２０は、３次元情報復元装置の一例である。第１カメラ１０及び第２カメラ１１は、撮像装置の一例である。
【００１４】
第１カメラ１０及び第２カメラ１１は、図示しないが、例えば、被写体を含む画像を撮像するイメージセンサ、及び、撮像された画像の画像データをＰＣ２０に送信する出力デバイス（例えば通信デバイス）を備える。撮像装置としては、例えば、監視カメラ、車載カメラ、産業用カメラ、医療用カメラ、民生用カメラが挙げられる。
【００１５】
第１カメラ１０は、例えば、ＰＣ２０からの画像取得要求に応じて、被写体を含む所定のシーンの第１画像（第１カメラ画像、例えば左側の画像）を撮像し、撮像された第１画像の画像データをＰＣ２０に転送する。
【００１６】
第２カメラ１１は、例えば、上記被写体を含む所定のシーンの第２画像（第２カメラ画像、例えば右側の画像）を、ＰＣ２０からの画像取得要求及び第１カメラ１０からの同期信号に従って撮像し、撮像された第２画像の画像データをＰＣ２０に転送する。つまり、第２カメラ１１は、第１カメラ１０とは異なる方向から同じシーンに含まれる同じ被写体を撮像する。
【００１７】
第１カメラ１０及び第２カメラ１１は、それぞれ第１の筐体１３及び第２の筐体１４を有し、例えば、天井、壁、その他の位置に固定される固定カメラである。また、第１カメラ１０及び第２カメラ１１は、パン、チルト及びズームが可能なＰＴＺカメラである。つまり、第１カメラ１０及び第２カメラ１１は、パン、チルト及びズームの少なくとも１つを動作可能なカメラであってもよいし、パン方向、チルト方向及びズーム倍率が固定された固定カメラであってもよい。
【００１８】
また、第１カメラ１０及び第２カメラ１１では、焦点距離、光軸座標、及び歪補正係数が既知である。第１カメラ１０及び第２カメラ１１は、撮像画像に対し、例えば歪補正係数に基づいて歪補正を施した画像を出力可能である。従って、第１カメラ１０及び第２カメラ１１で撮像された画像には、歪補正済みの画像が含まれてもよい。尚、焦点距離、光軸座標及び歪補正係数は、固定値でなく、可変値として変更されてもよい。
【００１９】
ＰＣ２０は、第１カメラ１０及び第２カメラ１１からそれぞれケーブル１８Ａ、１８Ｂを介して画像データを受信し、後述する各種画像処理（例えば、特徴点抽出、対応点抽出、カメラパラメータ推定、３次元座標計算、３次元座標計算の精度評価）を行う。
【００２０】
図２は、ステレオカメラシステム５におけるＰＣ２０の構成例を示すブロック図である。ＰＣ２０は、プロセッサ３０、入力デバイス２６、メモリ２７、ポート２８及びディスプレイ３１を有する。
【００２１】
入力デバイス２６は、ユーザによる対応点の指定及び奥行き情報（第１カメラ１０から指定された対応点までの距離）を入力する。入力デバイス２６は、マウス、キーボード等を含んで構成される。入力デバイス２６を介して入力された奥行き情報は、メモリ２７に記憶され、精度評価部２５に入力される。
【００２２】
メモリ２７は、各種データ、情報、プログラムを保持する。メモリ２７は、例えば、指定された対応点（以下、指定対応点ともいう）の座標、指定対応点までの距離情報、左右の指定対応点の周辺画像、対応点指定時の左右のカメラ画像（第１画像，第２画像）を記憶する。尚、対応点は、左右のカメラ画像において対応してペアで存在するので、対応点ペアとも言える。また、指定対応点は、左右のカメラ画像において対応してペアで指定されるので、指定対応点ペアとも言える。
【００２３】
メモリ２７は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）やＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）等のメモリや、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等のストレージを含んで構成される。
【００２４】
ポート２８は、第１カメラ１０及び第２カメラ１１と通信可能に接続され、第１カメラ１０及び第２カメラ１１に対して画像取得要求を送信し、また、第１カメラ１０から送信される第１画像の画像データ、及び第２カメラ１１から送信される第２画像の画像データを受信する。ポート２８は、例えば、外部装置と通信するための通信ポートや、外部装置を接続するための外部装置接続ポート、を含む。
【００２５】
ディスプレイ３１は、第１カメラ１０で撮像される第１画像及び第２カメラ１１で撮像される第２画像を表示し、これらの画像に重畳して対応点やエラーメッセージ、ガイダンス等を表示し、また、３次元復元画像を表示する。ディスプレイ３１は、液晶表示器等の表示デバイスを含んで構成される。
【００２６】
なお、入力デバイス２６及びディスプレイ３１は、別体の装置として構成されてもよいし、これらが一体化されたタッチパネルで構成されてもよい。
【００２７】
プロセッサ３０は、メモリ２７に保持されたプログラムを実行することで、特徴点抽出部２１、対応点検出部２２、カメラパラメータ推定部２３、３次元座標計算部２４、及び精度評価部２５の各機能を実現する。
【００２８】
プロセッサ３０は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、又はＧＰＵ（Ｇｒａｐｈｉｃａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を含んで構成される。
【００２９】
特徴点抽出部２１は、ポート２８から入力される第１カメラ１０により撮像された第１画像、及び第２カメラ１１により撮像された第２画像を順次取得し、解析する。
【００３０】
第１カメラ１０は、例えば、被写体に対し、左カメラ画像を撮像する、図１の左側に配置されたカメラである。第２カメラ１１は、例えば、被写体に対し、右カメラ画像を撮像する、図１の右側に配置されたカメラである。
【００３１】
特徴点抽出部２１は、画像取得部としての機能を有し、取得した左カメラ画像及び右カメラ画像に対し、特徴点（例えばエッジが強い領域にある点）を順次検出する。特徴点の検出には、例えば、画像の拡大、縮小又は回転に対して不変な局所特徴点を抽出するアルゴリズムが用いられる。このアルゴリズムは、例えば、ＳＩＦＴ（Ｓｃａｌｅ−Ｉｎｖａｒｉａｎｔ Ｆｅａｔｕｒｅ Ｔｒａｎｓｆｏｒｍ）、ＳＵＲＦ（Ｓｐｅｅｄ−Ｕｐ ｒｏｂｕｓｔ Ｆｅａｔｕｒｅｓ）、を含む。
【００３２】
図３（Ａ），（Ｂ），（Ｃ）は、３次元座標を導出するためのパラメータの一例を説明するための模式図である。この３次元座標は、第１カメラ１０の位置を原点（０，０，０）とした場合の３次元空間における座標を示す。この３次元座標は、第１画像又は第２画像に含まれる所定の点が逆射影（３次元復元）された対象点４１の座標を示す。３次元座標を導出するためのパラメータ（単にパラメータともいう）は、例えば、特徴点、対応点ペア、カメラの位置及び姿勢、を含む。
【００３３】
特徴点抽出部２１は、例えば、図３（Ａ）に示すように、第１画像ＧＺ１から特徴点ａ１〜ａ７を検出し、第２画像ＧＺ２から特徴点ｂ１〜ｂ７を検出する。特徴点ａ１〜ａ７を特に区別する必要が無い場合、単に特徴点ａと称する。同様に、特徴点ｂ１〜ｂ７を特に区別する必要が無い場合、単に特徴点ｂと称する。特徴点の数は、例えばカメラの位置や姿勢を推定する場合に考慮される。特徴点の数が多い程、第１カメラ１０に対する第２カメラ１１の位置や姿勢を推定する推定精度が高まる。
【００３４】
対応点検出部２２は、例えば、図３（Ｂ）に示すように、第１画像ＧＺ１及び第２画像ＧＺ２に含まれる類似度の高い特徴点同士を対応点ペア（対応点の一例）として順次検出し、対応点ペア情報（画像座標ペア情報）を出力する。
【００３５】
対応点ペア情報は、例えば、対応点となる第１画像ＧＺ１における特徴点と第２画像ＧＺ２における特徴点とを、対応づけ（ペアリング）した情報を含む。類似度が高いとは、例えば、対応点に含まれる第１画像ＧＺ１における特徴点、第２画像ＧＺ２における特徴点において、窓の角度が類似しており、窓の角度の差異が所定角度未満であることを含む。
【００３６】
対応点検出部２２は、例えば、公知の技術（例えば特許文献１に記載された技術）により、対応点を検出する。
【００３７】
図３（Ｂ）では、第１画像ＧＺ１に含まれる特徴点ａ１と、第２画像ＧＺ２に含まれる特徴点ｂ１と、が対応点として検出され、対応点ペア情報が出力される。また、第１画像ＧＺ１に含まれる特徴点ａ２と、第２画像ＧＺ２に含まれる特徴点ｂ２と、が対応点として検出され、対応点ペア情報として出力される。同様に、特徴点ａ３〜ａ７と特徴点ｂ３〜ｂ７とが各対応点として検出され、各対応点ペア情報が出力される。
【００３８】
これらの対応点ペア情報は、図３（Ｂ）では、特徴点ａ１〜ａ７と特徴点ｂ１〜ｂ７とをそれぞれを結ぶ線（対応線）ｃ１〜ｃ７で対応付けられる。対応点ペアの数は、例えばカメラの位置や姿勢を推定する場合に考慮される。対応点ペアの数が多い程、第１カメラ１０に対する第２カメラ１１の位置や姿勢を推定する推定精度が高まる。
【００３９】
カメラパラメータ推定部２３は、図３（Ｃ）に示すように、例えば、対応点ペア情報、第１カメラ１０の焦点距離、第２カメラ１１の焦点距離、第１カメラ１０の光軸座標、及び第２カメラ１１の光軸座標に基づいて、第１カメラ１０に対する第２カメラ１１の位置及び姿勢を順次推定する。
【００４０】
光軸座標は、撮像画像におけるレンズの中心に対応する座標を示す。第１カメラ１０に対する第２カメラ１１の位置は、例えば並進ベクトルｐにより示される。第１カメラ１０に対する第２カメラ１１の姿勢は、例えば回転行列Ｒにより示される。
【００４１】
カメラパラメータ推定部２３は、公知の技術（例えば特許文献１に記載された技術）により、カメラパラメータ（例えば並進ベクトルｐ、回転行列Ｒ）を推定する。並進ベクトルｐは、特許文献１に記載された３次元平行移動ベクトルに相当する。回転行列Ｒは、特許文献１に記載された３次元回転行列に相当する。並進ベクトルｐは、例えば（式１）で表される。
【００４２】
【数１】
0006541070.tif 000002
ｐｘ，ｐｙ，ｐｚは、それぞれＸ軸，Ｙ軸，Ｚ軸方向の並進ベクトル成分を表す。
【００４３】
回転行列Ｒは、例えば、（式２）で表される。
Ｒ＝Ｒ（θｚ）・Ｒ（θｙ）・Ｒ（θｘ） ・・・（式２）
θｚ，θｙ，θｘは、それぞれＺ軸、Ｙ軸、Ｘ軸周りの回転角（ラジアン）を表し、各軸の回転角の成分（回転成分）を表す。Ｒ（θｚ），Ｒ（θｙ），Ｒ（θｘ）は、それぞれＺ軸、Ｙ軸、Ｘ軸の回転行列Ｒの成分を表す。なお、回転角θ＝０は、第１カメラ１０と第２カメラ１１とが平行である状態を示す。
【００４４】
３次元座標計算部２４は、対応点ペア情報、第１カメラ１０の内部パラメータ及び外部パラメータ、第２カメラ１１の内部パラメータ及び外部パラメータ、並びにベースライン長６２に基づいて、対象点４１の３次元座標（Ｘ，Ｙ，Ｚ）を順次計算する（図３（Ｃ）参照）。対応点ペア情報には、ディスプレイ３１の画面に表示された第１画像ＧＺ１，第２画像ＧＺ２において指定された画面上の位置座標（ｘ，ｙ）が含まれる。また、対象点４１は、対応点ペアに含まれる第１画像ＧＺ１の特徴点が逆射影された点である。３次元座標計算部２４は、例えば、公知の技術（例えば特許文献１に記載された技術）により、対象点４１の３次元座標を計算する。
【００４５】
内部パラメータは、例えば、第１カメラ１０及び第２カメラ１１の焦点距離、光軸座標、アスペクト比、スキュー歪を含む。外部パラメータは、例えば、第１カメラ１０に対する第２カメラ１１の位置（Ｘ軸，Ｙ軸，Ｚ軸の３成分）及び姿勢（Ｘ軸，Ｙ軸，Ｚ軸に沿った３回転成分）を含む。ベースライン長６２は、第１カメラ１０及び第２カメラ１１間の距離である。内部パラメータ及び外部パラメータは、例えばカメラ毎に定まっている。
【００４６】
内部パラメータは、各カメラの図示しないメモリにより、予め保持されている。外部パラメータは、順次導出され、メモリ２７に保持される。ベースライン長６２は、例えば、第１カメラ１０及び第２カメラ１１の少なくとも一方の図示しないメモリにより、予め保持されている。内部パラメータやベースライン長６２の情報は、ポート２８を介してカメラから取得され、メモリ２７に保持される。
【００４７】
精度評価部２５は、３次元座標計算部２４によって計算された３次元座標の精度を評価する。この精度評価は、入力デバイス２６を介して、ユーザにより指定された対応点（指定対応点）のＺ座標を用いて行われる。
【００４８】
例えば、精度評価部２５は、入力デバイス２６から、指定対応点のＺ座標、つまり第１カメラ１０から指定対応点ａｍまでの距離（奥行き値）を入力する。精度評価部２５は、この入力された距離と、３次元座標計算部２４によって計算された指定対応点ａｍのＺ座標（距離）と、を比較する。精度評価部２５は、比較の結果、この誤差（差異）が指定値（例えば１０％）以下である場合、３次元座標の計算結果は成功であると判定し、指定値を超える場合、３次元座標の計算結果は失敗であると判定する。なお、指定値は、ユーザが任意の値に設定可能である。
【００４９】
また、ここでは、第１カメラ１０から指定対応点ａｍまでの距離情報として、Ｚ座標の値（奥行き値）が用いられることを例示した。この代わりに、例えば第１カメラ１０と指定対応点ａｍとが同じＺ軸上に無い場合、第１カメラ１０及び指定対応点ａｍ間の、実際の距離を距離情報として用いられてもよい。
【００５０】
３次元座標の計算結果が失敗であった場合、カメラパラメータ推定部２３は、対応点検出部２２によって検出された多くの対応点の中から、前回とは異なる所定数の対応点を再び無作為に選択する。３次元座標計算部２４は、選択された所定数の対応点を用いて、指定対応点のＺ座標を再度計算する。精度評価部２５は、再度計算された指定対応点のＺ座標値を用いて、前述した同様の判定を行う。一方、所定回数、判定結果が失敗である場合、ユーザは、別の対応点の指定及び奥行情報の入力操作を行ってもよい。
【００５１】
［動作例］
次に、ステレオカメラシステム５の動作例について説明する。
【００５２】
図４はステレオカメラシステム５の動作の概要を説明する図である。ディスプレイ３１は、第１カメラ１０で撮像された第１画像ＧＺ１及び第２カメラ１１で撮像された第２画像ＧＺ２を表示する。ディスプレイ３１の画面に表示された第１画像ＧＺ１及び第２画像ＧＺ２に対し、ユーザが入力デバイス２６を操作してカーソルＳＬを対応点近辺まで移動させた後、クリック操作すると、枠ｆｒ１，ｆｒ２で囲まれる部分が画面上で拡大表示される。
【００５３】
画面上で対応点付近の画像（以下、周辺画像という）ＧＺ１１，ＧＺ１２が拡大表示されることで、ユーザは、その画像中に含まれる対応点を指定し易くなる。例えば、ユーザは、入力デバイス２６を介して、拡大された周辺画像ＧＺ１１に含まれる対応点ａｍを指定し、拡大された周辺画像ＧＺ１２に含まれる対応点ｂｍを指定する。さらに、ユーザは、入力デバイス２６を介して、奥行き情報（第１カメラ１０から対応点ａｍまでの距離）を入力する。なお、奥行き情報は、第２カメラ１１から対応点ｂｍまでの距離でもよい。この奥行き情報は、例えば、レーザ距離計やメジャー等を用いて測定された実測値である。図４では、実測値として「１０２ｍ」が入力され、ディスプレイ３１の画面には、拡大された周辺画像ＧＺ１１に重なるように表示される。
【００５４】
ユーザが指定及び入力を終えると、プロセッサ３０は、これらの情報を元に、３次元復元処理を行う。この処理の結果、ディスプレイ３１には、３次元復元画像が表示される。
【００５５】
図５は初期設定時に行われる初期キャリブレーションの一例を示すフローチャートである。
【００５６】
初期キャリブレーションが開始すると、まず、特徴点抽出部２１は、第１カメラ１０及び第２カメラ１１に対し、ポート２８を介して画像取得要求を行い、第１カメラ１０及び第２カメラ１１からそれぞれ第１画像ＧＺ１及び第２画像ＧＺ２の画像データを取り込む（Ｓ１）。尚、画像取得要求が行われることなく、定期的に上記画像データの取り込みが行われてもよい。
【００５７】
入力デバイス２６は、Ｓ１で取り込まれた第１画像ＧＺ１及び第２画像ＧＺ２に対し、ユーザによって指定された、対応点として指定したい画像上の点を受け付ける（Ｓ２）。
【００５８】
プロセッサ３０は、ユーザによって画像上でクリック操作されると、カーソルＳＬで指定される、ディスプレイ３１に表示される画像上の点を中心に周辺画像を拡大表示させる（Ｓ３）。
【００５９】
入力デバイス２６は、拡大された周辺画像ＧＺ１１，ＧＺ１２に対し、ユーザによって指定された対応点（指定対応点）ａｍ，ｂｍを受け付ける（Ｓ４）。対応点ａｍ，ｂｍの指定により、対応点ａｍ，ｂｍの座標の情報（位置情報の一例）が得られる。尚、指定対応点は、対応点検出部２２により検出された複数の対応点に含まれる点でも含まれない点でもよい。
【００６０】
入力デバイス２６は、ユーザによって入力された、第１カメラ１０から指定対応点ａｍまでの距離情報（奥行き値）を受け付ける（Ｓ５）。
【００６１】
プロセッサ３０は、入力デバイス２６から入力された、指定対応点の座標、距離情報、周辺画像ＧＺ１１，ＧＺ１２、対応点が指定された場合の第１画像ＧＺ１及び第２画像ＧＺ２（左右のカメラ画像）を、メモリ２７に記憶（保存）させる（Ｓ６）。
【００６２】
一方、Ｓ２〜Ｓ６の処理と並行して、特徴点抽出部２１は、第１画像ＧＺ１及び第２画像ＧＺ２からそれぞれ複数の特徴点を抽出する。対応点検出部２２は、特徴点抽出部２１によって抽出された特徴点の類似度から、第１画像ＧＺ１及び第２画像ＧＺ２の対応関係を表す、複数（例えば１００個程度）の対応点を検出し、この対応関係を表す対応点ペア情報（画像座標ペア情報）を出力する（Ｓ７）。
【００６３】
図６は対応点ａｍ，ｂｍを指定するための候補となる複数の対応点ａ１１〜ａ１５，ｂ１１〜ｂ１５及びこれらの対応点同士を結ぶ対応線ｃ１１〜ｃ１５が左右の画像（第１画像ＧＺ１、第２画像ＧＺ２）中に描画された画面を示す図である。
【００６４】
ディスプレイ３１には、第１画像ＧＺ１、第２画像ＧＺ２、対応点ａ１１〜ａ１５，ｂ１１〜ｂ１５、対応線ｃ１１〜ｃ１５が表示される。
【００６５】
対応点検出部２２は、検出された複数（例えば１００個程度）の対応点の中から、所定数（例えば５個程度）の対応点を無作為に選択する（Ｓ８）。この対応点の選択では、例えば、後述する精度評価部２５による精度の評価において、誤差が指定値を超えると判断された際に用いられた対応点は除かれる。
【００６６】
カメラパラメータ推定部２３は、複数の対応点の中から選択された対応点の対応点ペア情報、第１カメラ１０の焦点距離、第２カメラ１１の焦点距離、第１カメラ１０の光軸座標、及び第２カメラ１１の光軸座標に基づいて、第１カメラ１０に対する第２カメラ１１の位置及び姿勢を推定する（Ｓ９）。
【００６７】
３次元座標計算部２４は、１つの指定された対応点（指定対応点）ａｍ，ｂｍにおける、対応点ペア情報、第１カメラ１０の内部パラメータ及び外部パラメータ、第２カメラ１１の内部パラメータ及び外部パラメータ、並びにベースライン長６２に基づいて、指定対応点ａｍに対応する、対象点の３次元座標（Ｘ，Ｙ，Ｚ）を計算し、この対象点までの奥行き値（Ｚ座標値）を求める（Ｓ１０）。この対象点は、前述したように、対応点ペアに含まれる第１画像ＧＺ１の特徴点が逆射影された点である。
【００６８】
精度評価部２５は、Ｓ１０で計算された奥行き値と、Ｓ５で入力された奥行き値とを用い、これらの差分である誤差が指定値（例えば１０％）以下であるか否かを判別する（Ｓ１１）。誤差が指定値以下である場合、精度評価部２５は、精度評価が適正であり、３次元座標の計算結果が成功であるとして、本処理を終了する。
【００６９】
一方、Ｓ１１で誤差が指定値を超える（所定値以上である）場合、精度評価部２５は、精度評価の回数が閾値を超えたか否かを判別する（Ｓ１２）。精度評価の回数が閾値を超えていない場合、プロセッサ３０は、Ｓ８の処理に戻り、新たな対応点を所定数選択し、同様の処理を繰り返す。
【００７０】
一方、精度評価の回数が閾値を超えた場合、プロセッサ３０は、ディスプレイ３１の画面に、対応点エラー、対応点の位置の確認、別の対応点の位置を入力することを促すエラーメッセージｍｓ１を表示させる（Ｓ１３）。
【００７１】
図７は図６の画面において対応点のエラーメッセージｍｓ１及びマークＭＫが追加された画面を示す図である。ディスプレイ３１の画面には、例えば、「指定した対応点の計測値が、指定誤差を超えました。対応点位置の確認か、別の対応点を指定してください。」のエラーメッセージｍｓ１（警告情報）が表示される。また、図７では、対応点ａ１１，ｂ１１が指定対応点ａｍ，ｂｍに設定されており、対応点ａｍ，ｂｍを結ぶ対応線ｃｍ上に、エラーであることを表すマークＭＫ（例えば×マーク）が表示される。
【００７２】
ここで、第１カメラ１０から遠くに離れている対象点に相当する、遠方の対応点を指定した方が３次元情報の復元の精度が向上することが発明者等によって既に確かめられている。プロセッサ３０は、この事実に基づき、ディスプレイ３１の画面に、遠方の点を指定するように促すガイダンスｍｓ２を表示する（Ｓ１４）。
【００７３】
図８は図６の画面において遠方の点を対応点として指定するようにガイダンスｍｓ２が追加された画面を示す図である。ディスプレイ３１の画面には、例えば、「なるべく遠方の点を指定してください」のガイダンスｍｓ２（案内情報）が表示される。さらに、ディスプレイ３１の画面には、遠方の対応点を囲む矩形枠ｐｆ１，ｐｆ２が表示される。
【００７４】
このように、３次元情報の復元の精度が向上すると見込まれるような、矩形枠ｐｆ１，ｐｆ２内に含まれる遠方の対応点が指定されるように促される。そのため、ユーザは、容易に、矩形枠ｐｆ１，ｐｆ２内の候補となる適切な対応点を指定できる。尚、Ｓ１４の処理は、オプションで行われる処理であり、省略可能である。この後、プロセッサ３０は、Ｓ２及びＳ７の処理に戻り、同様の処理を行う。
【００７５】
そして、精度評価が適正であると判断された場合、３次元座標計算部２４は、対応点ペア情報、第１カメラ１０の内部パラメータ及び外部パラメータ、第２カメラ１１の内部パラメータ及び外部パラメータ、並びにベースライン長６２に基づいて、対象点の３次元座標（Ｘ，Ｙ，Ｚ）を順次計算する、３次元復元処理を行う。プロセッサ３０は、３次元復元処理された対象点をディスプレイ３１の画面に表示する。
【００７６】
図５の処理によれば、Ｓ８において、検出された対応点から所定数の対応点が無作為に選択され、選択された対応点の情報を用いて、第１カメラ１０に対する第２カメラ１１の位置及び姿勢を推定するので、対応点の選択の度に、位置及び姿勢の推定結果が異なる。よって、位置及び姿勢の推定精度が異なることになる。そのため、対応点の選択によっては、３次元復元の精度が低い場合も高い場合もある。
【００７７】
これに対し、ＰＣ２０は、位置及び姿勢の推定精度が所定基準以上となる場合、つまり距離情報の実測値と計算値との誤差が所定以下（例えば最小）となる場合の対応点を用いて３次元復元することで、３次元座標の復元精度を安定して向上できる。
【００７８】
［効果等］
仮に入力デバイス２６により、複数の対応点のうちの任意の対応点の位置やカメラから上記任意の対応点までの距離情報を入力しない場合、つまり全ての対応点を自動検出し、全ての対応点に係る距離情報を演算により求める場合に、３次元復元の推定精度が低いことがある。例えば、対応点の検出ができても、対応点の距離情報の導出精度が低い場合がある。
【００７９】
これに対し、第１の実施形態のステレオカメラシステム５のＰＣ２０では、ポート２８は、第１カメラ１０により撮像された第１画像ＧＺ１と、第２カメラ１１により撮像された第２画像ＧＺ２とを取得する。プロセッサ３０は、第１画像ＧＺ１における特徴点ａと、第２画像ＧＺ２における特徴点ｂと、が対応する対応点ａｍ，ｂｍを含む対応点を複数検出する。プロセッサ３０は、複数の対応点ａｍ，ｂｍに基づいて、特徴点ａが逆射影された３次元座標を復元する。入力デバイス２６は、複数の対応点の中からユーザによって指定された対応点ａｍの座標（位置情報の一例）と、ユーザによって入力された第１カメラ１０から対応点ａｍまでの奥行き値（距離情報の一例）と、を入力する。プロセッサ３０は、対応点ａｍの座標及び奥行き値の入力後、３次元座標の復元の再計算を行う。
【００８０】
尚、入力デバイス２６により指定される対応点ａｍは、複数の検出された対応点に含まれてもよいし、含まれなくてもよい。つまり、入力デバイス２６は、第１画像ＧＺ１及び第２画像ＧＺ２における任意の対応点ペアを指定対応点ペアとし、指定対応点ペアの第１画像ＧＺ１及び第２画像での位置情報と、第１カメラ１０から指定対応点ペアまでの距離を示す距離情報と、を入力する。
【００８１】
このように、ユーザによって指定された対応点（第２の対応点の一例）の位置座標と、ユーザによって入力された第１カメラ１０から指定対応点までの奥行き値と、に基づいて、指定対応点の３次元座標の復元の再計算を行う。従って、ＰＣ２０は、復元される３次元座標の精度を評価でき、２つの撮像画像から復元される３次元座標の復元精度を向上できる。また、指定される対応点は少数（例えば１点）で済むので、ユーザ操作を煩雑にせずに、３次元座標の復元精度を向上できる。
【００８２】
また、ディスプレイ３１は、プロセッサ３０の制御により、第１画像ＧＺ１及び第２画像ＧＺ２の少なくとも一方に重ねて、複数の対応点ａ１１〜ａ１５，ｂ１１〜ｂ１５の候補を表示してもよい。
【００８３】
これにより、ユーザは、ディスプレイ３１に表示された候補となる複数の対応点の中から、対応点を指定し易くなる。従って、ＰＣ２０の操作性が向上する。
【００８４】
また、ディスプレイ３１は、プロセッサ３０の制御により、第１画像ＧＺ１及び第２画像ＧＺ２の少なくとも一方に対し、第１カメラ１０からの距離が長い位置を優先して対応点を指定するように促すガイダンス（案内情報の一例）ｍｓ２を表示してもよい。
【００８５】
これにより、ユーザは、３次元座標の復元の精度が向上すると見込まれるような、遠方の対応点を指定するように促されるので、複数の候補の中から適切な対応点を指定し易くなる。
【００８６】
また、プロセッサ３０は、入力デバイス２６により入力された奥行き値と、３次元座標の復元により得られた第１カメラ１０から指定対応点ａｍまでの距離の情報（Ｚ座標値）と、に基づいて、３次元座標の復元の再計算の要否を判定してもよい。
【００８７】
これにより、ＰＣ２０は、例えば、入力された対象点までの奥行き値と、復元された対象点までの奥行き値とが大きく異なる場合、３次元座標の復元の精度が低いと判断し、３次元座標の復元の再計算を行わずに、再計算による処理負荷を軽減できる。
【００８８】
また、ディスプレイ３１は、プロセッサ３０の制御により、入力デバイス２６により入力された奥行き値と、３次元座標の復元により得られた第１カメラ１０から指定対応点ａｍまでの距離の情報と、の差分が所定値（指定値）以上である場合、指定対応点の入力に係るエラーメッセージｍｓ１を表示する。エラーメッセージｍｓ１は、警告情報の一例である。
【００８９】
これにより、ユーザは、３次元座標の復元の低下を容易に確認でき、例えば別の対応点をスムーズに入力できる。
【００９０】
本実施形態では、図５において、ＰＣ２０は、Ｓ２〜Ｓ６の処理とＳ７〜Ｓ１０の処理とを並行して行うことを例示した。尚、Ｓ２〜Ｓ６の処理を行った後にＳ７〜Ｓ１０の処理を行ってもよいし、Ｓ７〜Ｓ１０の処理を行った後にＳ２〜Ｓ６の処理を行ってもよい。
【００９１】
（第２の実施形態）
第１の実施形態では、ステレオカメラシステムの初期設定時に行われる初期キャリブレーションを示した。第２の実施形態では、運用時に行われるキャリブレーション、つまり、ステレオカメラシステムを設置した後に行われる再キャリブレーションを示す。再キャリブレーションは、例えば、定期的に、復元される３次元画像が乱れるようになった場合、又は台風や地震等の自然災害が発生した場合、に行われる。なお、第２の実施形態においても、第１の実施形態と同様の初期キャリブレーションが既に行われているものとする。
【００９２】
第２の実施形態のステレオカメラシステムにおいて、第１の実施形態と同一の構成要素については、同一の符号を用いることで、その説明を省略又は簡略化する。
【００９３】
［構成等］
図９は第２の実施形態におけるＰＣ２０Ａの構成例を示すブロック図である。ＰＣ２０Ａは、第１の実施形態のＰＣ２０の構成を含む他、読み出し部３５及び位置探索部３６を有する。
【００９４】
プロセッサ３０Ａは、メモリ２７に保持されたプログラムを実行することで、読み出し部３５及び位置探索部３６の各機能を実現する。
【００９５】
読み出し部３５は、メモリ２７に記憶された、指定情報（例えば、指定対応点座標，距離情報）及び画像情報（例えば、第１画像ＧＺ１，第２画像ＧＺ２，周辺画像ＧＺ１１，ＧＺ１２）を読み出す。
【００９６】
位置探索部３６は、再キャリブレーション時に撮像された第１画像ＧＺ３，第２画像ＧＺ４の中に、初期設定時（又は前回キャリブレーション時）の周辺画像ＧＺ１１，ＧＺ１２があるか否かを探索する。この探索は、例えば、周辺画像ＧＺ１１，ＧＺ１２をテンプレートとし、それぞれ第１画像ＧＺ３，第２画像ＧＺ４中を移動させて、類似度の高い領域を検出する、テンプレートマッチングにより行われる。
【００９７】
［動作等］
図１０及び図１１は、運用時に行われる再キャリブレーションの一例を示すフローチャートである。
【００９８】
初期キャリブレーションにおけるＳ１の処理と同様、ポート２８は、第１カメラ１０及び第２カメラ１１から、それぞれ第１画像ＧＺ３及び第２画像ＧＺ４の画像データを取り込む（Ｓ２１）。
【００９９】
読み出し部３５は、メモリ２７に記憶された指定情報及び画像情報を読み出す（Ｓ２２）。
【０１００】
位置探索部３６は、読み出し部３５によって読み出された、周辺画像ＧＺ１１，ＧＺ１２をテンプレートとし、Ｓ２１で撮像された第１画像ＧＺ３，第２画像ＧＺ４に対し、テンプレートマッチングを行う。そして、位置探索部３６は、第１画像ＧＺ３，第２画像ＧＺ４において周辺画像ＧＺ１１，ＧＺ１２と一致する領域画像ＰＧＺ３，ＰＧＺ４（図１２参照）を探索する（Ｓ２３）。
【０１０１】
位置探索部３６は、テンプレートマッチングが成功したか否かを判別する（Ｓ２４）。
【０１０２】
図１２は再キャリブレーション時にテンプレートマッチングが行われる画面を示す図である。プロセッサ３０Ａは、テンプレートマッチング動作をディスプレイ３１の画面に表示する。テンプレートマッチングでは、周辺画像ＧＺ１１と周辺画像ＧＺ１２とが、それぞれ図中、点線枠ｇ，ｈで示すように、第１画像ＧＺ３，第２画像ＧＺ４に含まれるか否かの探索が行われる。周辺画像ＧＺ１１と周辺画像ＧＺ１２とが、それぞれ第１画像ＧＺ３に含まれる領域画像ＰＧＺ３と第２画像ＧＺ２に含まれる領域画像ＰＧＺ４とに一致するか判別される。一方しか一致しない場合あるいは両方とも一致しない場合、テンプレートマッチングが失敗したと判断される。
【０１０３】
テンプレートマッチングが成功した場合、位置探索部３６は、一致した領域画像ＰＧＺ３，領域画像ＰＧＺ４を、それぞれ新たな周辺画像ＧＺ１１，周辺画像ＧＺ１２としてメモリ２７に保存し、領域画像ＰＧＺ３の中心座標，領域画像ＰＧＺ４の中心座標を、それぞれ指定対応点ａｍ，ｂｍの座標として保存する（Ｓ２５）。
【０１０４】
一方、Ｓ２４でテンプレートマッチングに失敗した場合、プロセッサ３０Ａは、ディスプレイ３１の画面に、対応点探索エラーと対応点再入力を促す表示を行う（Ｓ２６）。
【０１０５】
図１３は対応点再探索のガイダンスｍｓ３等が追加された画面を示す図である。このディスプレイ３１の画面には、例えば、「対応点再探索エラー：  前回の対応点指定画像を参考に、再度対応点位置を入力してください。」のガイダンスｍｓ３（案内情報）が表示される。
【０１０６】
さらに、プロセッサ３０Ａは、例えばディスプレイ３１の画面の右下隅に、前回の第１画像ＧＺ１，第２画像ＧＺ２と、対応点ａｍ，ｂｍをそれぞれ含む周辺画像ＧＺ１１，周辺画像ＧＺ１２とを縮小して表示してもよい（Ｓ２７）。
【０１０７】
入力デバイス２６は、第１画像ＧＺ３及び第２画像ＧＺ４に対し、ユーザ操作によりカーソルＳＬで指定された対応点を受け付ける（Ｓ２８）。プロセッサ３０Ａは、ユーザによって画像上でクリック操作されると、カーソルＳＬで指定される、ディスプレイ３１に表示される画像上の点を中心に周辺画像を拡大表示する（Ｓ２９）。
【０１０８】
入力デバイス２６は、拡大された周辺画像ＧＺ１１，ＧＺ１２に対し、ユーザによって指定された新たな対応点を受け付ける（Ｓ３０）。なお、距離情報（奥行き値）は、初期キャリブレーション時に入力され、メモリ２７に保存されているので、奥行き値の入力操作はされなくてもよい。
【０１０９】
この後、Ｓ３１〜Ｓ３８の処理は、第１の実施形態におけるＳ７〜Ｓ１４の処理と同じであるので、以後の処理については、その説明を省略する。
【０１１０】
なお、Ｓ３７において、別の対応点位置を入力するように促すエラーメッセージを表示する場合においても、図１３と同様の表示を行ってもよい。つまり、プロセッサ３０Ａは、ディスプレイ３１の画面に、例えば、ガイダンスｍｓ３（案内情報）を表示し、ディスプレイ３１の画面の右下隅に、前回の第１画像ＧＺ３，第２画像ＧＺ４と、対応点ａｍ，ｂｍを含む周辺画像ＧＺ１１，周辺画像ＧＺ１２を縮小して表示してもよい。
【０１１１】
［効果等］
このように、第２の実施形態のステレオカメラシステム５ＡのＰＣ２０Ａでは、プロセッサ３０Ａは、３次元座標の復元を含むキャリブレーション（復元処理の一例）を複数回行う。初期キャリブレーション（第１の復元処理の一例）では、プロセッサ３０Ａは、入力デバイス２６により入力された指定対応点ａｍ，ｂｍの位置情報と、奥行き値と、初期キャリブレーションにおいて第１カメラ１０により撮像された第１画像ＧＺ１と、指定対応点ａｍを含む周辺画像ＧＺ１１と、をメモリ２７に保持しておく。
【０１１２】
運用時に行われる（初期キャリブレーションに後続する）再キャリブレーション（第２の復元処理の一例）では、プロセッサ３０Ａは、再キャリブレーションにおいて第１カメラ１０により撮像された第１画像ＧＺ３における周辺画像ＧＺ１１に対応する領域画像ＰＧＺ３を検出する。プロセッサ３０Ａは、領域画像ＰＧＺ３に含まれる、初期キャリブレーションで得られた指定対応点を、再キャリブレーションにおける指定対応点ａｍに設定する。プロセッサ３０Ａは、指定対応点ａｍの設定後、３次元座標の復元を再計算する。
【０１１３】
このように、ＰＣ２０Ａは、再キャリブレーション時に、初期キャリブレーション時の指定対応点の座標、奥行き値、テンプレート画像を用いることができる。従って、再キャリブレーションにおいて、初期キャリブレーションと同様の動作を行わなくて済み、再キャリブレーション時におけるユーザ操作やプロセッサの処理を軽減できる。よって、ＰＣ２０Ａは、１度得られた指定対応点の座標、奥行き値、テンプレート画像を有効活用でき、２つの撮像画像から復元される３次元座標の復元精度を容易に向上できる。なお、初期キャリブレーションに限らず、前回の再キャリブレーションに対して今回の再キャリブレーションが行われる場合でも同様である。
【０１１４】
また、ディスプレイ３１は、プロセッサ３０Ａの制御により、再キャリブレーションにおいて、第１画像ＧＺ１における周辺画像ＧＺ１１に対応する領域画像ＰＧＺ３が検出されなかった場合、又は、メモリ２７に保持された奥行き値と再キャリブレーションにより得られた第１カメラ１０から指定対応点ａｍまでの距離の情報との差分が指定値以上である場合、メモリ２７に保持された指定対応点ａｍの座標と周辺画像ＧＺ１１とを表示してもよい。
【０１１５】
これにより、再キャリブレーションが失敗した場合、ユーザは、ディスプレイ３１の画面に表示された、指定対応点ａｍの位置情報と周辺画像ＧＺ１１とを見ながら、再度、対応点を指定できる。従って、ＰＣ２０Ａは、３次元座標の復元精度の高い再キャリブレーションを実行できる。
【０１１６】
また、ディスプレイ３１は、メモリ２７に記憶された指定対応点ａｍの位置情報と周辺画像ＧＺ１１とを参照して、再キャリブレーションにおいて第１画像ＧＺ３における指定対応点ａｍの位置を入力するように促すガイダンスｍｓ３を表示してもよい。ガイダンスｍｓ３は、案内情報の一例である。
【０１１７】
これにより、ユーザは、対応点の指定を促すガイダンスｍｓ３に従って、再度、簡単に対応点を指定できる。従って、ＰＣ２０Ａの操作性が向上する。
【０１１８】
（他の実施形態）
以上のように、本開示における技術の例示として、第１，第２の実施形態を説明した。しかし、本開示における技術は、これに限定されず、変更、置き換え、付加、省略などを行った実施形態にも適用できる。また、各実施形態を組み合わせてもよい。
【０１１９】
第１，第２の実施形態では、図５及び図１０を用いてキャリブレーションの一例を示したが、図５及び図１０に示された処理以外の処理を含んでキャリブレーションが実施されてもよい。
【０１２０】
図１４は初期設定時に行われる初期キャリブレーションの他例を示すフローチャートである。図１５は、運用時に行われる再キャリブレーションの他例を示すフローチャートである。
【０１２１】
図１４では、Ｓ１２において、精度評価の回数が閾値を超えていない場合、プロセッサ３０は、Ｓ１に進み、第１画像ＧＺ１及び第２画像ＧＺ２の画像データを再度取り込む。また、Ｓ１４の処理後、プロセッサ３０は、Ｓ１に進み、第１画像ＧＺ１及び第２画像ＧＺ２の画像データを再度取り込む。
【０１２２】
図１５では、Ｓ３６において、精度評価の回数が閾値を超えていない場合、プロセッサ３０Ａは、Ｓ２１に進み、第１画像ＧＺ１及び第２画像ＧＺ２の画像データを再度取り込む。また、Ｓ３８の処理後、プロセッサ３０Ａは、Ｓ２１に進み、第１画像ＧＺ１及び第２画像ＧＺ２の画像データを再度取り込む。
【０１２３】
このように、ＰＣ２０，２０Ａは、画像データを再度取り込むことで、撮像時刻に差がある複数の画像データを取得できる。撮像時刻の時間差により、例えば撮像画像における明るい領域や暗い領域が変化し、各々の撮像画像における特徴点が変化する。特徴点が変化することで、対応点も変化し、姿勢推定の結果も変化する。
【０１２４】
よって、取得された複数の画像データの撮像時刻に差があることで、撮像画像において時間方向のばらつきが適度に加味される。これにより、ＰＣ２０，２０Ａは、第１カメラ１０に対する第２カメラ１１の位置や姿勢を推定する推定精度を向上できる。尚、図１４，図１５では、画像データが再度取り込みされた場合でも、指定対応点が変更されなくてもよい。
【０１２５】
第１，第２の実施形態では、プロセッサ３０，３０Ａは、１つの指定された対応点と計算された対応点とを基に、精度評価を行うことを例示した。この代わりに、プロセッサ３０，３０Ａは、複数（例えば２点あるいは３点）の指定された対応点と複数の計算された対応点とを基に、精度評価を行ってもよい。この場合、複数の対応点を用いることで、精度の評価がより正確になる。
【０１２６】
第１，第２の実施形態では、指定対応点に対応する、対象点までの距離情報として奥行き値（つまりＺ座標値）が用いられることを例示した。この代わりに、カメラから対象点までの距離情報として、Ｘ座標，Ｙ座標，Ｚ座標の値の二乗の和の平方根で表される距離を用いて、評価するようにしてもよい。これにより、例えば、カメラから対象点がＸ座標，Ｙ座標方向に大きく外れている等、対象点のＺ座標の実測値が求めにくい場合も、対処できる。
【０１２７】
第２の実施形態では、ＰＣ２０Ａは、再キャリブレーション時、第１画像及び第２画像の両方に対して、テンプレートマッチングにより指定対応点を求めることを例示した。この代わりに、例えば、明らかに第１画像及び第２画像のいずれか一方がずれていると判断できた場合、プロセッサ３０Ａは、ずれていると判断される方の画像を用いて指定対応点を求めてもよい。そして、プロセッサ３０，３０Ａは、求められた指定対応点と、初期キャリブレーション（又は前回の再キャリブレーション）における他方の画像の指定対応点と、を用いて、３次元復元処理してもよい。また、ＰＣ２０Ａは、テンプレートマッチング以外の画像処理により、指定対応点を求めてもよい。
【０１２８】
また、第１，第２の実施形態では、第１カメラ１０及び第２カメラ１１は、ＰＣ２０，２０Ａにケーブル１８Ａ、１８Ｂを介して直接に接続される構成を例示した。この代わりに、第１カメラ１０及び第２カメラ１１とＰＣ２０，２０Ａとの間に送信機及び受信機が設けられ、送信機及び受信機を用いた通信により、データ及び信号が通信される構成でもよい。これにより、遠隔地に第１カメラと第２カメラとが設置され、離れた場所に設置されたＰＣにより、３次元復元処理できる。
【０１２９】
第１の実施形態では、プロセッサは、物理的にどのように構成してもよい。また、プログラム可能なプロセッサを用いれば、プログラムの変更により処理内容を変更できるので、プロセッサの設計の自由度を高めることができる。プロセッサは、１つの半導体チップで構成してもよいし、物理的に複数の半導体チップで構成してもよい。複数の半導体チップで構成する場合、第１，第２の実施形態の各制御をそれぞれ別の半導体チップで実現してもよい。この場合、それらの複数の半導体チップで１つのプロセッサを構成すると考えることができる。また、プロセッサは、半導体チップと別の機能を有する部材（コンデンサ等）で構成してもよい。また、プロセッサが有する機能とそれ以外の機能とを実現するように、１つの半導体チップを構成してもよい。
【符号の説明】
【０１３０】
５、５Ａ  ステレオカメラシステム
１０  第１カメラ
１１  第２カメラ
１３  第１の筐体
１４  第２の筐体
１８Ａ、１８Ｂ、１８Ｃ  ケーブル
２０、２０Ａ  ＰＣ
２１  特徴点抽出部
２２  対応点検出部
２３  カメラパラメータ推定部
２４  ３次元座標計算部
２５  精度評価部
２６  入力デバイス
２７  メモリ
２８  ポート
３０、３０Ａ  プロセッサ
３１  ディスプレイ
３５  読み出し部
３６  位置探索部
４１  対象点
６２  ベースライン長
ａ１〜ａ７、ｂ１〜ｂ７  特徴点
ａ１１〜ａ１５、ｂ１１〜ｂ１５  対応点
ａｍ、ｂｍ  指定された対応点（指定対応点）
ｃ１〜ｃ７、ｃｍ  対応線
ｆｒ１、ｆｒ２  枠
ｇ，ｈ  点線枠
ＧＺ１、ＧＺ３  第１画像
ＧＺ２、ＧＺ４  第２画像
ＧＺ１１、ＧＺ１２  周辺画像
ＭＫ  マーク
ｍｓ１  エラーメッセージ
ｍｓ２、ｍｓ３  ガイダンス
ｐｆ１、ｐｆ２  矩形枠
ＰＧＺ３、ＰＧＺ４  領域画像
ＳＬ  カーソル
【図１】
0006541070.tif 000003
【図２】
0006541070.tif 000004
【図３】
0006541070.tif 000005
【図４】
0006541070.tif 000006
【図５】
0006541070.tif 000007
【図６】
0006541070.tif 000008
【図７】
0006541070.tif 000009
【図８】
0006541070.tif 000010
【図９】
0006541070.tif 000011
【図１０】
0006541070.tif 000012
【図１１】
0006541070.tif 000013
【図１２】
0006541070.tif 000014
【図１３】
0006541070.tif 000015
【図１４】
0006541070.tif 000016
【図１５】
0006541070.tif 000017