(57)【要約】  キャリブレーション装置１０において、撮影画像取得部３０はキャリブレーション用のチャートを魚眼の撮像装置１２で撮影した画像のデータを取得する。歪み補正部３４は、撮像装置のパラメータを仮定して、射影方式を考慮した補正を行い、元のチャートの像が得られるまでパラメータを調整する。疑似画像描画部４２はチャートのモデルデータを用いて撮影画像を疑似的に描画する。視点調整部４４は疑似的な画像と撮影画像を比較し、マーカーの位置やパターンの間隔の差に応じて仮想カメラの視点位置を調整することで、撮像装置１２の位置を特定する。
2019049421.tif 000002
【特許請求の範囲】
【請求項１】
魚眼レンズを有する撮像装置から、キャリブレーション用のチャートの撮影画像のデータを取得する撮影画像取得部と、
前記魚眼レンズに対応するスクリーン上の位置と、当該位置に結像する前記チャートの面上の位置との関係に基づきレンズによる歪みを補正するとともに、補正された画像を評価することにより撮像装置に係るパラメータの値を導出し出力する補正部と、
を備えたことを特徴とするキャリブレーション装置。
【請求項２】
前記補正部は、前記撮像装置の画角を仮定して前記レンズによる歪みを補正することにより得られた画像を、前記チャートのパターンと比較することにより当該画像を評価し、その結果に基づき前記画角を導出することを特徴とする請求項１に記載のキャリブレーション装置。
【請求項３】
前記補正部はさらに、前記撮像装置の姿勢を仮定して、補正された画像を射影変換し、当該画像を前記チャートのパターンと比較することにより評価し、その結果に基づき前記姿勢を導出することを特徴とする請求項１または２に記載のキャリブレーション装置。
【請求項４】
仮想カメラと前記チャートのオブジェクトモデルを仮想３次元空間に配置し、前記仮想カメラが撮影する画像として、前記パラメータの値を用いて前記補正部と逆の処理を実施することにより、前記撮影画像を疑似的に生成する疑似画像描画部と、
前記疑似的に生成された画像と前記撮影画像とを比較することにより、前記チャートに対する前記撮像装置の位置を導出する視点調整部と、
をさらに備えたことを特徴とする請求項１から３のいずれかに記載のキャリブレーション装置。
【請求項５】
前記補正部は、前記疑似的に生成された画像に対し前記撮影画像と同じ補正を施し、
前記視点調整部は、補正された画像同士を比較することにより前記撮像装置の位置を導出することを特徴とする請求項４に記載のキャリブレーション装置。
【請求項６】
前記補正部は、撮影画像における各画素位置への視線ベクトルと光軸のなす角度に基づく補正の後、レンズ中心に対応する位置から各画素位置までの距離に基づく補正を行うことを特徴とする請求項１から５のいずれかに記載のキャリブレーション装置。
【請求項７】
前記補正部は、前記撮影画像の各画素について、前記チャートの面に平行な画像平面と前記チャートの面の垂線で定義される３次元空間における、前記撮像装置の視点を中心とする球面上の位置座標を求め、当該位置座標に対応する、前記球面の経度緯度座標に基づき、前記画像平面の空間における位置座標に変換することにより、前記レンズによる歪みを補正することを特徴とする請求項１から５のいずれかに記載のキャリブレーション装置。
【請求項８】
前記撮影画像取得部は、角度の異なる複数の面のそれぞれに表された前記チャートを一度に撮影した画像のデータを取得し、
前記補正部は、前記チャートの面ごとに、対応する３次元空間を定義することにより前記レンズによる歪みを補正して、前記パラメータの値を導出することを特徴とする請求項７に記載のキャリブレーション装置。
【請求項９】
前記補正部は、前記パラメータを調整しながら補正を行い、前記補正された画像のうち所定のサンプリング点について評価を繰り返すことにより、前記パラメータの値を決定することを特徴とする請求項１から８のいずれかに記載のキャリブレーション装置。
【請求項１０】
前記補正部は、前記撮像装置の画角の範囲によって、前記レンズによる歪みの補正を個別に行うことを特徴とする請求項１に記載のキャリブレーション装置。
【請求項１１】
前記撮影画像取得部は、画像平面の水平方向および垂直方向に伸張する複数の直線からなる格子線と、当該直線で囲まれた矩形領域のうち所定の位置の矩形領域に配された所定形状のマーカーと、を含むチャートの撮影画像のデータを取得することを特徴とする請求項１から１０のいずれかに記載のキャリブレーション装置。
【請求項１２】
前記撮影画像取得部は、上層の２次元バーコードの配列内に、下層の複数の２次元バーコードの配列が包含されてなる入れ子構造のバーコード配列を含むチャートの撮影画像のデータを取得することを特徴とする請求項１から９のいずれかに記載のキャリブレーション装置。
【請求項１３】
魚眼レンズを有する撮像装置から、キャリブレーション用のチャートの撮影画像のデータを取得する撮影画像取得部と、
前記撮像装置に係るパラメータの値を取得するパラメータ取得部と、
仮想カメラと前記チャートのオブジェクトモデルを仮想３次元空間に配置し、前記仮想カメラが撮影する画像として、前記パラメータの値を用いて前記撮影画像を疑似的に生成する疑似画像描画部と、
前記疑似的に生成された画像と前記撮影画像とを比較することにより、前記チャートに対する前記撮像装置の位置を導出する視点調整部と、
を備えたことを特徴とするキャリブレーション装置。
【請求項１４】
前記疑似画像描画部は、前記チャートの面に平行な画像平面の画素の位置座標を、当該画像平面と前記チャートの面の垂線で定義される３次元空間における、前記仮想カメラの視点を中心とする球面上のスクリーン面での位置座標に変換し、前記視点と変換後の位置座標に基づき、前記チャートの面におけるサンプリング点を前記画素ごとに取得することにより、前記撮影画像を擬似的に生成することを特徴とする請求項１３に記載のキャリブレーション装置。
【請求項１５】
前記疑似画像描画部は、前記画像平面の画素の位置座標を、前記球面の経度緯度座標に変換することにより球面上での対応する位置を求め、その結果に基づき前記３次元空間における変換後の位置座標を求めることを特徴とする請求項１４に記載のキャリブレーション装置。
【請求項１６】
前記パラメータ取得部は、前記撮像装置の姿勢に係る情報を取得し、
前記疑似画像描画部は、前記球面を前記姿勢に基づき３次元空間で回転させることにより、当該姿勢に応じた位置座標に変換することを特徴とする請求項１４または１５に記載のキャリブレーション装置。
【請求項１７】
魚眼レンズを有する撮像装置と、
請求項１から１６のいずれかに記載のキャリブレーション装置と、
を備えたことを特徴とするキャリブレーションシステム。
【請求項１８】
魚眼レンズを有する撮像装置から、キャリブレーション用のチャートの撮影画像のデータを取得するステップと、
前記魚眼レンズに対応するスクリーン上の位置と、当該位置に結像する前記チャートの面上の位置との関係に基づきレンズによる歪みを補正するステップと、
補正された画像を評価することにより撮像装置に係るパラメータの値を導出し出力するステップと、
を含むことを特徴とする、キャリブレーション装置によるキャリブレーション方法。
【請求項１９】
魚眼レンズを有する撮像装置から、キャリブレーション用のチャートの撮影画像のデータを取得する機能と、
前記魚眼レンズに対応するスクリーン上の位置と、当該位置に結像する前記チャートの面上の位置との関係に基づきレンズによる歪みを補正する機能と、
補正された画像を評価することにより撮像装置に係るパラメータの値を導出し出力する機能と、
をコンピュータに実現させることを特徴とするコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、撮像装置のキャリブレーションを実現する装置、キャリブレーションシステム、およびキャリブレーション方法に関する。
【背景技術】
【０００２】
ユーザの体やマーカーをカメラで撮影し、その像の領域を別の画像で置換してディスプレイに表示するゲームが知られている（例えば、特許文献１参照）。撮影画像における像を検出し解析することにより、被写体やカメラ自体の位置や動きを取得したり被写体の属性を認識したりする技術は、ゲーム装置や情報端末に搭載されたカメラのみならず、防犯カメラ、車載カメラ、ロボット搭載カメラなどを含むシステムにおいても広く導入されている。【０００３】
それらのシステムにおける処理精度を保障するため、撮像装置の内部パラメータ、歪み補正係数、外部パラメータ等、装置固有の情報を事前に取得するキャリブレーション処理が行なわれる。内部パラメータは、撮影画像における画素の位置座標と、光学中心を原点とし長さを単位とするカメラ座標系における位置座標との関係を規定する。歪み補正係数は、レンズによる樽型歪みや円周方向の歪みを補正するための係数である。【０００４】
外部パラメータは、カメラ座標系とワールド座標系の関係を規定し、特にステレオカメラなど多眼カメラについて同時にキャリブレーションを行うことにより、それぞれが撮影した画像の傾きを合わせるなどの目的で用いられる。キャリブレーション技術としては、チェッカーパターンの平面チャートを複数の視点から撮影し、撮影画像上での特徴点の位置と、実空間でのチャートの平面における特徴点の位置とが正しい対応関係となるようにパラメータを最適化するZhangの手法が広く知られている（非特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】欧州特許出願公開第０９９９５１８号明細書
【非特許文献】
【０００６】
【非特許文献１】Zhengyou Zhang, "A Flexible New Technique for Camera Calibration", Microsoft Research Technical Report, MSR-TR-98-71, December 2, 1998.
【発明の概要】
【発明が解決しようとする課題】
【０００７】
Zhangの手法では、いくつかの位置や姿勢で撮像装置やチャートをセッティングしたうえ、撮影を繰り返す必要があり、作業負担が大きい。また近年、魚眼レンズを用いて広角画像を撮影する技術が一般的になりつつあるが、魚眼レンズ特有の歪みを画像全体で精度よく補正するのは困難であった。【０００８】
本発明はこうした課題に鑑みてなされたものであり、その目的は、魚眼カメラのキャリブレーションを、容易かつ高精度に行うことのできる技術を提供することにある。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、本発明のある態様はキャリブレーション装置に関する。このキャリブレーション装置は、魚眼レンズを有する撮像装置から、キャリブレーション用のチャートの撮影画像のデータを取得する撮影画像取得部と、魚眼レンズに対応するスクリーン上の位置と、当該位置に結像する前記チャートの面上の位置との関係に基づきレンズによる歪みを補正するとともに、補正された画像を評価することにより撮像装置に係るパラメータの値を導出し出力する補正部と、を備えたことを特徴とする。【００１０】
本発明の別の態様もキャリブレーション装置に関する。このキャリブレーション装置は、魚眼レンズを有する撮像装置から、キャリブレーション用のチャートの撮影画像のデータを取得する撮影画像取得部と、撮像装置に係るパラメータの値を取得するパラメータ取得部と、仮想カメラとチャートのオブジェクトモデルを仮想３次元空間に配置し、仮想カメラが撮影する画像として、取得したパラメータの値を用いて撮影画像を疑似的に生成する疑似画像描画部と、疑似的に生成された画像と撮影画像とを比較することにより、チャートに対する撮像装置の位置を導出する視点調整部と、を備えたことを特徴とする。【００１１】
本発明のさらに別の態様はキャリブレーションシステムに関する。このキャリブレーションシステムは、魚眼レンズを有する撮像装置と、上記キャリブレーション装置と、を備えたことを特徴とする。【００１２】
本発明のさらに別の態様はキャリブレーション方法に関する。このキャリブレーション方法は、魚眼レンズを有する撮像装置から、キャリブレーション用のチャートの撮影画像のデータを取得するステップと、魚眼レンズに対応するスクリーン上の位置と、当該位置に結像する前記チャートの面上の位置との関係に基づきレンズによる歪みを補正するステップと、補正された画像を評価することにより撮像装置に係るパラメータの値を導出し出力するステップと、を含むことを特徴とする。【００１３】
なお、以上の構成要素の任意の組合せ、本発明の表現を方法、装置、システム、記録媒体、コンピュータプログラムなどの間で変換したものもまた、本発明の態様として有効である。
【発明の効果】
【００１４】
本発明によれば、撮像装置のキャリブレーションを、容易かつ高精度に行うことができる。
【図面の簡単な説明】
【００１５】
【図１】本実施の形態を適用できるシステムの構成を例示する図である。
【図２】一般的な撮像装置においてなされる中心射影を説明するための図である。
【図３】本実施の形態における撮像装置においてなされる等距離射影を説明するための図である。
【図４】本実施の形態におけるキャリブレーション装置の内部回路構成を示す図である。
【図５】本実施の形態におけるキャリブレーション装置の機能ブロックの構成を示す図である。
【図６】本実施の形態におけるキャリブレーション装置が撮像装置のパラメータを特定する処理手順を示すフローチャートである。
【図７】本実施の形態において実際の撮影画像が補正される様子を例示する図である。
【図８】本実施の形態の歪み補正部の補正による概念的な画像の変遷を示す図である。
【図９】本実施の形態において、歪み補正部が撮影画像を補正する処理手順を示すフローチャートである。
【図１０】図８のＳ３２における射影変換の処理を説明するための図である。
【図１１】図８のＳ３０における歪み補正の処理を説明するための図である。
【図１２】本実施の形態における拡張された中心射影のスクリーン面と魚眼レンズのスクリーン面の関係を例示する図である。
【図１３】本実施の形態におけるレンズの歪み補正の逆補正の手法を説明するための図である。
【図１４】図９のＳ４６において、補正後の画像の格子線を探索する手法の例を説明するための図である。
【図１５】本実施の形態において格子線の境界線を表す線を微調整する手法を説明するための図である。
【図１６】図９のＳ４８において、補正後の格子線の像が画像平面の水平および垂直方向と一致するように、撮像装置の姿勢の設定を調整する処理手順を示すフローチャートである。
【図１７】図９のＳ５０において、画角および歪み補正の係数を調整する処理手順を示すフローチャートである。
【図１８】本実施の形態における疑似画像描画部が疑似画像を描画する処理手順を示すフローチャートである。
【図１９】本実施の形態における疑似画像描画部が生成した実際の疑似画像を例示する図である。
【図２０】図１９で示した疑似画像の補正後の画像を示す図である。
【図２１】本実施の形態に適用できるチャートのパターンの別の例を示す図である。
【図２２】本実施の形態におけるチャートの撮影画像を例示する図である。
【図２３】運用時における広角レンズを有する撮像装置を用いた一般的な処理の体系と、本実施の形態を利用した処理の体系との差を説明するための図である。
【図２４】本実施の形態における魚眼レンズに対する位置および姿勢が異なるチャートパターンの撮影画像を例示する図である。
【図２５】本実施の形態において疑似画像を生成する手順を説明するための図である。
【図２６】本実施の形態において疑似画像を生成する手順を説明するための図である。
【図２７】本実施の形態において疑似画像を生成する手順を説明するための図である。
【図２８】本実施の形態において生成できる疑似画像の例を示す図である。
【図２９】本実施の形態において生成できる疑似画像の例を示す図である。
【図３０】本実施の形態において演算に用いるパラメータの定義を示す図である。
【図３１】本実施の形態において、画像平面における位置座標に対応する、３次元空間での位置座標を求める手順を模式的に示す図である。
【図３２】本実施の形態において、画像平面における位置座標に対応する、３次元空間での位置座標を求める手順を模式的に示す図である。
【図３３】本実施の形態における歪み補正部が、撮影画像のチャートパターンの像に歪み補正を施す処理手順を示すフローチャートである。
【図３４】本実施の形態における歪み補正部が、チャートパターンの領域を検出する処理手順を示すフローチャートである。
【図３５】本実施の形態におけるチャートパターンの直交性に基づく撮像装置の姿勢検出処理において、評価対象とするパラメータを説明するための図である。
【図３６】本実施の形態における歪み補正部が、撮影画像におけるチャートパターンの像を補正した結果を示す図である。
【図３７】本実施の形態においてチャートパターンを立方体の内部に表し、その中心を視点として撮影したことを想定した疑似画像から、各面のチャートを復元した画像を示す図である。
【図３８】本実施の形態において立方体の内部を任意の姿勢で撮影したことを想定した疑似画像から、ある面のチャートを復元した結果を示す図である。
【発明を実施するための形態】
【００１６】
実施の形態１
図１は、本実施の形態を適用できるシステムの構成を例示している。このシステムは撮像装置１２、キャリブレーション用のチャート２００、および撮像装置１２が撮影したチャート２００の画像を用いてキャリブレーションを実施するキャリブレーション装置１０を含む。キャリブレーション装置１０は、チャート２００の撮影画像を用いて撮像装置１２に係る所定のパラメータを取得する。ここで所定のパラメータとは、レンズ歪み補正係数、レンズ中心の位置、接線歪み補正係数など一般的なカメラパラメータのほか、チャート２００を撮影したときの撮像装置１２の位置、姿勢、水平／垂直画角（以後、単に「画角」と呼ぶ）を含む。
【００１７】
撮像装置１２は撮像光学系として魚眼レンズ、ＣＣＤ（Charge Coupled Device）センサやＣＭＯＳ（Complementary Metal Oxide Semiconductor）センサなどのイメージセンサ、およびデモザイク処理など一般的な画像処理を実施する機構を備え、被写空間を広角で撮影する。撮像装置１２はレンズとイメージセンサのセットを１つのみ備えた単眼カメラでもよいし、当該セットを複数有する多眼カメラとしてもよい。撮像装置１２に備えるカメラをどのような構成とするかは、撮影画像を用いて行う情報処理の内容によって決定してよい。
【００１８】
例えばユーザやコントローラなどの対象物の３次元空間における位置を撮影画像から取得して電子ゲームを実現する場合、左右に既知の間隔を設けた２つのカメラからなるステレオカメラで構成することが考えられる。また撮像装置１２の形態は図示するものに限らない。例えばキャリブレーション装置１０と一体的に実現してもよい。あるいは撮像装置１２を、ロボットやヘッドマウントディスプレイに装備させてもよい。この場合、ロボットや、ヘッドマウントディスプレイを装着したユーザの視野に対応するような画像を所定のフレームレートで撮影し、ロボットの動作に反映させたり、対応する画像をヘッドマウントディスプレイに表示させたりするのに利用することが考えられる。
【００１９】
チャート２００は所定のパターン（図柄）を表した平面状のボードや紙などの実物体である。あるいは当該図柄を表示した表示装置や、表示装置を備えた電子機器などでもよい。図示する例でチャート２００のパターンは、図の下方の正面図に示すように、白い背景に所定幅の黒い水平線、垂直線を等間隔に配置してなる格子線と、当該格子線が形成する白い矩形の２次元配列のうち所定位置、例えば中心の矩形に配したマーカー２０２で構成されている。
【００２０】
ただしチャート２００のパターンはこれに限らず、チャートの水平方向、垂直方向が所定の間隔で表される図柄と、チャート上の特定の位置を表す図柄の組み合わせであればよい。例えば、格子状に区切られてなる矩形領域のうち隣り合う矩形で白黒が逆転するようなチェッカーのパターンにマーカーを付加したものでもよいし、後に例示するバーコードなどでもよい。マーカー２０２は図示する例では黒い正方形であるが、それに限定する趣旨ではなく、格子線との区別が明らかな既知の形状や色であればよい。
【００２１】
キャリブレーション装置１０は、チャート２００を撮影した画像を入力データとして、撮像装置１２に係る上述のパラメータを取得する。ここで入力データとする撮影画像は、魚眼レンズ特有の樽型歪みを補正する前の画像とする。キャリブレーション装置１０は、そのレンズ歪みを利用することで、撮像装置１２の姿勢や補正係数などのパラメータを１枚の撮影画像から取得する。さらに、別途準備したチャートのモデルデータを利用して疑似的に撮影画像を作り出し、マーカー２０２の像の位置やサイズに基づき撮像装置１２の３次元空間での位置を導出する。
【００２２】
キャリブレーション装置１０は、得られたパラメータを内部のメモリに格納したり、図示しない外部の装置に出力したりする。あるいは得られたパラメータを用いて上述の電子ゲームなどの情報処理を実施し、図示しない出力装置に表示させる機能を備えてもよい。また撮像装置１２とともにロボットに実装し、撮影された画像を、当該パラメータを用いて解析することにより、周囲の環境地図を作成することも考えられる。これらの場合、キャリブレーション装置１０の機能を備えた情報処理装置を実現できる。
【００２３】
図２は、魚眼でない一般的な撮像装置においてなされる中心射影を説明するための図である。同図は焦点距離ｆａの撮像装置が、主点１４から距離Ｚａにある平面を撮影する様子を俯瞰した様子を示している。この撮像装置が写す画像は、主点１４から距離ｆａだけ離れたスクリーン１５へ被写体を射影した像に対応する。またセンササイズが既知のとき、焦点距離ｆａは画角θを決定づける。この場合、被写体表面の同一サイズａを有する範囲１３ａ、１３ｂは、撮影画像上での位置によらず同じサイズ（ｆａ・ａ／Ｚａ）の像１６ａ、１６ｂを形成する。
【００２４】
すなわち像のサイズは焦点距離ｆａと距離Ｚａの比率の関数となるため、当該比率が同じであれば、距離Ｚａが異なっていても像のサイズは同じになり得る。換言すれば１つの撮影画像上の像のサイズから、視点の位置と画角を同時に求めることはできない。そのため一般的な撮像装置のキャリブレーションでは、チャートを様々な方向から撮影することにより連立方程式とするか、チャートまでの距離を固定して撮影することにより、各種カメラパラメータを求める。
【００２５】
図３は、本実施の形態における撮像装置においてなされる等距離射影を説明するための図である。同図でも焦点距離ｆｂの撮像装置が、主点１８から距離Ｚｂにある平面を撮影する様子を示している。一方、本実施の形態の撮像装置１２は、魚眼レンズにより、像が射影されるスクリーン１９が球面状となる。この場合、被写体表面の同一サイズｂを有する範囲１７ａ、１７ｂの像２０ａ、２０ｂは、撮影画像上で中心から離れるほど小さくなる。
【００２６】
そして撮影画像上での中心からの距離に対する縮小率の変化は、主点の位置によらずスクリーン１９球面の曲率、すなわち焦点距離ｆｂに依存する。本実施の形態ではこれを利用し、魚眼レンズによって生じる歪みを評価することで焦点距離、ひいては画角を特定し、像の位置やサイズを評価することで撮像装置の位置を特定する。これにより、厳密な位置合わせなしにチャート２００を撮影した１枚のみの撮影画像によってキャリブレーションが可能になる。
【００２７】
図４は、キャリブレーション装置１０の内部回路構成を示している。キャリブレーション装置１０は、ＣＰＵ（Central Processing Unit）１２２、ＧＰＵ（Graphics Processing Unit)１２４、メインメモリ１２６を含む。ＣＰＵ１２２は、オペレーティングシステムやアプリケーションなどのプログラムに基づいて、装置内部の構成要素における処理や信号伝送を制御する。ＧＰＵ１２４は画像処理を行う。メインメモリ１２６はＲＡＭ（Random Access Memory）により構成され、処理に必要なプログラムやデータを記憶する。
【００２８】
これらの各部は、バス１３０を介して相互に接続されている。バス１３０にはさらに入出力インターフェース１２８が接続されている。入出力インターフェース１２８には、ＵＳＢやＩＥＥＥ１３９４などの周辺機器インターフェースや、有線又は無線ＬＡＮのネットワークインターフェースからなる通信部１３２、ハードディスクドライブや不揮発性メモリなどの記憶部１３４、図示しない表示装置、プリンタなどの出力装置へデータを出力する出力部１３６、撮像装置１２や図示しない入力装置からデータを入力する入力部１３８、磁気ディスク、光ディスクまたは半導体メモリなどのリムーバブル記録媒体を駆動する記録媒体駆動部１４０が接続される。
【００２９】
ＣＰＵ１２２は、記憶部１３４に記憶されているオペレーティングシステムを実行することにより装置の全体を制御する。ＣＰＵ１２２はまた、リムーバブル記録媒体から読み出されてメインメモリ１２６にロードされた、あるいは通信部１３２を介してダウンロードされた各種プログラムを実行する。ＧＰＵ１２４は、ジオメトリエンジンの機能とレンダリングプロセッサの機能とを有し、ＣＰＵ１２２からの描画命令に従って画像描画を行う。
【００３０】
図５はキャリブレーション装置１０の機能ブロックの構成を示している。図５に示す各機能ブロックは、ハードウェア的には、図４で示したＣＰＵ１２２、ＧＰＵ１２４、メインメモリ１２６などで実現でき、ソフトウェア的にはハードディスクや記録媒体からメインメモリにロードされたコンピュータプログラムなどで実現される。したがって、これらの機能ブロックがハードウェアのみ、ソフトウェアのみ、またはそれらの組合せによっていろいろな形で実現できることは当業者には理解されるところであり、いずれかに限定されるものではない。
【００３１】
キャリブレーション装置１０は、撮影画像のデータを取得する撮影画像取得部３０、実際の撮影画像およびモデルから生成した画像を射影変換したりレンズ歪みを補正したりする歪み補正部３４、補正した画像を格納する画像記憶部３６、補正の際に取得したパラメータを格納するパラメータ記憶部３８、チャート２００のパターンのモデルデータを格納するチャート画像記憶部４０、チャート２００のモデルデータを用いて歪みのある画像を疑似的に生成する疑似画像描画部４２、マーカーの像の位置とサイズに基づき撮像装置１２の視点位置を取得する視点調整部４４、および、撮像装置に関し求められたパラメータ、あるいはそれを用いて情報処理を行った結果を示すデータを生成し出力する出力データ生成部４６を含む。
【００３２】
撮影画像取得部３０は、チャート２００を撮影した画像のデータを撮像装置１２から取得する。撮像装置１２が多眼カメラで構成される場合、各カメラが撮影した画像のデータを全て取得する。この撮影画像におけるチャートの像は、撮像装置の姿勢に応じた傾きや、魚眼レンズによる歪みを有する。以後、撮影画像におけるこのような本来のチャートからの変形を総じて「歪み」と呼ぶことがある。
【００３３】
歪み補正部３４は撮影画像から歪みを除く補正を行う。具体的には、等距離射影方式で撮影された画像を中心射影のデータに変換し、さらに歪み補正式により詳細な補正を行う。これによりチャート２００の格子線がおよそ直線になる。さらに撮像装置１２の姿勢によるチャート２００の像の傾きを解消するように射影変換を施す。これらの処理において、撮像装置１２の画角、姿勢、レンズ歪み補正係数、レンズ中心に対応する画像上の位置（以後、「レンズ中心の位置」と呼ぶ）、接線歪み補正係数を用いている。
【００３４】
歪み補正部３４はまず、これらのパラメータを仮定して補正を行い、その結果が本来のチャートのパターンの画像となるようにパラメータ調整を行う。これにより、各パラメータを取得できる。歪み補正部３４はさらに、疑似画像描画部４２が生成した、チャートのモデルデータを用いた疑似的な撮影画像についても同じ処理を実施する。これらの補正処理により得られた補正後の画像のデータは画像記憶部３６に、パラメータはパラメータ記憶部３８に格納する。
【００３５】
疑似画像描画部４２は、チャート画像記憶部４０に格納しておいたチャート２００のモデルデータを読み出し、仮想カメラとともに仮想３次元空間に配置する。ここで仮想カメラには、実際の撮影画像から得られた撮像装置１２の姿勢を与える。撮像装置１２の位置は未知のため仮の値を設定する。そしてオブジェクトモデルとしてのチャート２００を等距離射影することにより、実際の撮像装置１２による撮影環境と同じ状態を作り出す。このとき、パラメータ記憶部３８に格納された、撮像装置１２に対し得られた画角、レンズ歪み補正係数、レンズ中心の位置、接線歪み補正係数を用いて、上述のレンズ歪みを解消する補正とは逆の補正を実施することにより、撮影画像と類似する歪みのある画像を生成する。以後、この画像を「疑似画像」と呼ぶ。
【００３６】
視点調整部４４は、撮影画像の補正後の画像におけるマーカー２０２の位置およびサイズと、疑似画像の補正後の画像におけるマーカー２０２の位置およびサイズとを比較する。疑似画像描画部４２が疑似画像を生成する際に設定した仮想カメラの位置が正しくなければそれらのパラメータに差が生じる。したがって、その差に基づき視点の位置を調整することで、撮像装置１２の実際の位置を特定する。
【００３７】
出力データ生成部４６は、パラメータ記憶部３８に格納された各種パラメータや、視点調整部４４が特定した撮影画像の位置を取得し、それを出力データとして記憶装置に格納したり外部の装置に出力したりする。あるいはそれらの情報を用いて、運用時に撮影された画像の補正に用いたり、画像解析に用いたりして所定の情報処理を実施し、表示画像などの出力データを生成、出力してもよい。例えば撮像装置１２をステレオカメラとした場合、各カメラの位置と姿勢に基づき両者の主点の間隔や姿勢の差が判明する。したがってそれらのパラメータを、運用時に得られたステレオ画像の補正に用いたり、三角測量に基づく演算に利用したりすることで、対象物の位置を正確に特定できる。
【００３８】
次に、上記構成によって実現できるキャリブレーション装置１０の動作を説明する。図６は、キャリブレーション装置１０が撮像装置のパラメータを特定する処理手順を示すフローチャートである。まず撮影画像取得部３０は、撮像装置１２からチャート２００を撮影した画像のデータを取得する（Ｓ１０）。撮像装置１２が多眼カメラの場合は、各カメラが撮影した画像のデータを取得する。このデータは、チャート２００をおよそ正面から撮影した画像でよく、撮影時に厳密な位置合わせをする必要はない。
【００３９】
姿勢・歪み補正部３４は、撮影画像を補正し元のチャートのパターンに近づけることで、撮像装置に係る上述したパラメータを取得する（Ｓ１２）。上述のとおり撮影画像の歪みには、撮像装置１２の姿勢によるものと、魚眼レンズなど撮像装置１２の構造によるものとが含まれる。したがって、補正に必要なパラメータを仮定して両者を解消する補正を順に施し、得られた補正後のデータがチャートのパターンと略同一になるまでパラメータを調整していくことで、最終的な補正後の画像とパラメータの値を取得する。ただし撮像装置１２の位置は歪みの補正には用いないため、この段階では判明しない。なお撮像装置１２の位置を求める必要がない場合、次に述べるＳ１４〜Ｓ１８の処理は省略できる。
【００４０】
次に疑似画像描画部４２は、チャート画像記憶部４０からチャート２００のモデルデータを読み出し仮想空間に配置したうえ、仮想カメラがそれを撮影した画像を疑似画像として描画する（Ｓ１４）。このとき仮想カメラの姿勢は、Ｓ１２で取得した値とし、位置については仮の値を与えておく。また当該仮想カメラも魚眼レンズとし、撮像装置１２と同じ画角、レンズ歪み補正係数、レンズ中心の位置、接線歪み補正係数を有するとする。これに従いモデル上のチャートを射影して歪みをつけることにより、Ｓ１０で取得した撮影画像に類似の画像を生成できる。
【００４１】
次に姿勢・歪み補正部３４は、Ｓ１４で描画された疑似画像を、Ｓ１２と同様に補正する（Ｓ１６）。すなわちＳ１２で得られたパラメータを用いて歪みを解消する補正を施す。これによりチャートのパターンに近い画像が得られるが、画像上でのチャートの位置や倍率は、疑似画像の描画時に設定した仮想カメラの位置に依存している。視点調整部４４は、Ｓ１２で取得した撮影画像の補正後の画像におけるマーカーの位置および格子の間隔と、Ｓ１６で取得した疑似画像の補正後の画像におけるマーカーの位置および格子の間隔が略同一になるように仮想カメラの位置を調整する（Ｓ１８）。
【００４２】
両者の差が所定のしきい値以下となったときの仮想カメラの位置を、実際の撮像装置１２の位置として取得する。出力データ生成部４６は、それまでの処理で得られたパラメータ自体や、それを用いて行った画像解析や情報処理の結果を表すデータを生成し出力する（Ｓ２０）。上述のとおり出力先は、ゲームや表示などその他の処理を実行する装置でもよいし、記憶装置でもよい。あるいは撮像装置１２自体でもよい。
【００４３】
次に、歪み補正部３４が図６のＳ１２において行う撮影画像の補正手法について説明する。図７は実際の撮影画像が補正される様子を例示している。撮影画像５０に写るチャートは、図１で説明したように、白い背景上に所定幅を有する黒い直線を格子状に表し、さらに当該格子線で囲まれた矩形のうちの１つに黒い矩形のマーカーを表したパターンを有する。撮像装置１２を魚眼レンズとすることにより、レンズの中心に対応する画像平面の略中心から離れるほど像が縮小されている。
【００４４】
歪み補正部３４は撮影画像５０を補正し、本来のチャートパターンに近い状態、すなわち黒い直線が等間隔で直交している補正後の画像５２を生成する。上述のとおり画像端に向かう像の縮小度合い、ひいては直線の曲がり具合は撮像装置１２の画角やレンズ中心の位置のずれなど、主に撮像装置１２の内部構造に依存し、画像平面の水平方向、垂直方向に対する格子の傾斜の度合いは撮像装置１２の姿勢に依存する。したがって撮影画像５０から画像５２に補正する過程でそれらのパラメータを導出できる。
【００４５】
図８は、歪み補正部３４の補正による概念的な画像の変遷を示している。当該補正は上述のとおり、撮影画像６０におけるレンズ歪みを解消して格子が直線状の画像６２を生成し（Ｓ３０）、それを射影変換することにより格子が直交する補正後の画像６４を得る処理である（Ｓ３２）。画像処理としては、撮影画像６０上の位置座標を入力して、補正後の画像６４上の位置座標を出力する処理となる。また本実施の形態では、Ｓ３０の処理により格子が直線状の画像となるように撮像装置１２の画角や補正係数等を模索し、Ｓ３２の処理により格子が直交するように撮像装置１２の元の姿勢を模索する。
【００４６】
すなわち、画像６２、６４のように目標となる画像での直線性や直交性を評価したうえ、各種パラメータを調整した場合に当該直線性や直交性がどのように改善されるかを確認する処理が含まれる。このとき評価対象の画像６２、６４上の位置座標を入力して、撮影画像６０上の元の位置座標を出力する処理経路を準備しておくと、調整処理を効率化できる。すなわち補正後の画像６４に逆の射影変換を施し（Ｓ３４）、レンズ歪みをつける（Ｓ３６）処理経路を準備する。
【００４７】
歪み補正部３４は、これらの処理を適宜使い分けることにより、補正後の画像６４を効率的に生成する。以後、Ｓ３０、Ｓ３２のように歪みのある画像からチャートパターンの画像を生成する処理経路を「順方向補正」、Ｓ３４、Ｓ３６のようにチャートパターンの画像から歪みのある画像を生成する処理経路を「逆方向補正」と呼ぶ。
【００４８】
図９は、歪み補正部３４が撮影画像を補正する処理手順を示すフローチャートである。この処理は図６のＳ１２に対応する。まず補正後の画像の平面を準備するとともに（Ｓ４０）、補正に用いるパラメータを仮に設定する（Ｓ４２）。具体的には撮像装置１２の画角、姿勢（パン角、チルト角、ロール角）、レンズ歪み補正係数、レンズ中心の位置、接線歪み補正係数を設定する。多くの場合、レンズ歪みはレンズ歪み補正係数ｋ２、ｋ４、ｋ６を用いて次式により補正される。
i' = i (1 + k2 * r2 + k4 * r4 + k6 * r6)/(1 + k2 + k4 + k6)
j' = j (1 + k2 * r2 + k4 * r4 + k6 * r6)/(1 + k2 + k4 + k6)
【００４９】
ここで（ｉ，ｊ）は歪みのある画像における位置座標、（ｉ’，ｊ’）はその補正後の位置座標、ｒは補正前の画像における位置座標（ｉ，ｊ）の、レンズ中心からの距離であり、レンズ中心の位置座標を（ｉｃ，ｊｃ）とすると次の式で定義される。
r = ((i - ic)2 + (j - jc)2)1/2
なお上記は６次までの補正を示しているが、補正の次数は限定されない。一方、接線歪みは接線歪み補正係数ｐ１、ｐ２を用いて次式により補正される。
i' = i + (2p1 * ij + p2 (r2 + 2i2))
j' = j + (p1 (r2 + 2j2) + 2p2 * ij)
すなわちこれらの式を用いると、レンズ中心からの距離のみに依存した補正がなされる。
【００５０】
なお後述するように、本実施の形態では魚眼レンズによる歪みを、まず射影方式の違いを考慮して補正し、さらに上式により補正することで補正精度を向上させる。次に、Ｓ４２で設定した仮のパラメータを用いたときの補正画像を、Ｓ４０で準備した画像平面に描画する（Ｓ４４）。この処理には、当該画像平面における各画素の位置座標を入力値として、撮影画像上の対応する位置座標を求める逆方向補正の処理経路を利用する。これにより、仮設定されたパラメータを用いて補正された、チャートパターンに近い画像が生成される。
【００５１】
次に、当該画像において、チャートパターンの格子を構成する直線を探索する（Ｓ４６）。Ｓ４２で設定した撮像装置１２の姿勢が実際と異なっている場合、それらの直線は直交しないため、直交するまで姿勢の設定を調整していく（Ｓ４８）。ただしここでは、最も外側に検出された上下左右の４直線の交点のみを監視しながら姿勢の設定を調整することにより処理効率を上げる。これにより撮像装置１２の姿勢が判明する。Ｓ４２で設定した姿勢以外のパラメータが実際と異なっている場合、Ｓ４８で生成した画像における格子線はなお、微小量歪曲していたり傾斜していたりする。したがってそれらの歪みが解消されるまで、当該パラメータの設定を調整していく（Ｓ５０）。
【００５２】
この場合も、格子線の幅を２分する点を所定間隔でサンプリングし、それらの近似直線に対する誤差のみを監視しながらパラメータの設定を調整することにより処理効率を上げる。これにより撮像装置１２の画角、補正係数、レンズ中心の位置が判明する。Ｓ４８、Ｓ５０の処理により、Ｓ４２で設定したパラメータが更新されるため、当該更新値を用いて再度、Ｓ４４と同様の描画処理を実施することにより、最終的な補正後の画像を生成する（Ｓ５２）。このとき、当該画像に対し格子線とマーカーの検出を行うことにより、格子線の間隔とマーカーのサイズも特定しておく。補正後の画像のデータは画像記憶部３６に、更新されたパラメータはパラメータ記憶部３８に、それぞれ格納する。
【００５３】
図１０は、図８のＳ３２における射影変換の処理を説明するための図である。（ａ）はチャート２００と、撮像装置１２の視点２０５および視線ベクトル２０７を含む３次元空間を示している。なおここでの視線ベクトル２０７は撮像装置の光軸が向く方向を規定する。図示する例では、視点２０５の位置座標（ｘ，ｙ，ｚ）は、チャート２００に平行なＸＺ平面とチャートの中心で垂直に交わるＹ軸がなす３次元空間で定義される。３次元空間の原点Ｏは、Ｙ軸方向を視線ベクトルとしたときにチャートパターンが視野全体に表示されるときの視点とする。換言すれば、視点が原点Ｏにあり視線ベクトルがＹ軸と重なる（撮像装置１２がチャート２００に正対する）基準状態において、図８の補正後の画像６４が得られる。
【００５４】
同図（ｂ）には、視線ベクトル２０７を拡大したうえ、撮像装置１２の姿勢を定義するパラメータを示している。視点２０５からチャート２００への垂線Ｌ（Ｙ軸方向）を基準としてパン角ｐ、チルト角ｑが定義され、視線ベクトル２０７の回転方向にロール角ｒが定義される。視点２０５と視線ベクトル２０７が標準状態へ変位するときの画像上の位置座標の変化は、これらのパラメータを用いて一般的な射影変換行列により求めることができる。
【００５５】
始点となる視点２０５および視線ベクトル２０７が既知であれば、当該射影変換により図８の補正後の画像６４が得られる。本実施の形態では視点２０５と視線ベクトル２０７が未知のため、それらを定義するパラメータを仮に設定して変換後の画像を確認し、目的とするチャートパターンの画像が得られるように設定パラメータを調整する。これにより、視点２０５と視線ベクトル２０７、ひいては撮像装置１２の位置と姿勢を特定できる。
【００５６】
図１１は、図８のＳ３０における歪み補正の処理を説明するための図である。魚眼レンズの場合は特に、上述した補正式による一般的な歪み補正では、光軸からの距離が大きい画像端部において補正量が不足し、歪みの解消が十分でない場合がある。そこで本実施の形態では、魚眼レンズ特有の歪みを、射影方式を考慮して補正したうえで、一般的な補正式を適用する。同図は、視点７４と、直線ＡＢで表される中心射影のスクリーン面７０、弧Ａ２Ｂ２で表される魚眼レンズの等距離射影のスクリーン面７２を俯瞰した状態を示している。
【００５７】
画角をθとしたときの中心射影の水平画素数Ｎｈの画像における左右の端がＡおよびＢであり、それに対応する魚眼レンズの画像における左右の端がＡ２およびＢ２である。視点７４から画像までの距離ｆは、画素を単位として次の式で表される。
f = Nh / ( 2 * (tan (q / 2))
等距離射影のスクリーン面７２上の点Ｐ（ｉ１，ｊ１）と、それに対応する中心射影のスクリーン面７０上の点Ｑ（ｉ２，ｊ２）は、それぞれの画像中心（厳密にはレンズ中心の位置）Ｃからの距離ｒ１、ｒ２と次の関係にある。
r1 =  f * atan (r2 / f)
r2 = (i2 + j2)1/2
ここでａｔａｎ（ｒ２／ｆ）は、補正前後の点Ｐ（ｉ１，ｊ１）および点Ｑ（ｉ２，ｊ２）への視線ベクトルと光軸がなす角度を表す。距離ｒ２に対する距離ｒ１の割合ｓは点Ｑ（ｉ２，ｊ２）の位置座標を用いて次のように求められる。
s = r1 / r2 = (f * atan (r2 / f)) / r2
【００５８】
中心から画像端までの長さの割合Ｒは
R =  (2f * atan( Nh/2f )) / Nh
であるから、正規化された割合ｓ’は次にようになる。
s' = s / R = ( Nh / 2r2) * ( atan (r2 / f) / atan ( Nh / 2f))
この演算は、画像中心からの距離に基づく一般的な補正式に対し、光軸に対する視線ベクトルの角度に基づいている。すなわち画像の平面上での情報のみならず、それと視点との関係を考慮した３次元での情報を用いて画像を補正できる。
【００５９】
これにより、画像上での位置によらず正確な補正を実現できる。なお割合ｓ’は補正後の点Ｑ（ｉ２，ｊ２）を既知として求められる。これは実際の処理では、中心射影のスクリーン面７０を先に準備し、当該面上の画素の位置座標に割合ｓ’を乗算することにより、補正前の魚眼レンズの画像における参照先を特定するためである。このようにして参照先の画素値を引いてくることにより、補正後の画像を生成できる。
【００６０】
このように魚眼レンズによる歪みを解消してもなお、レンズの固体差や組み付け具合による歪みが残るため、上述したレンズ中心からの距離に基づく一般的な補正式を用いて補正する。ただし魚眼レンズの歪みを上述のとおり補正した場合、レンズ歪み補正式のうち２次の項を省略する。本実施の形態ではこれらの処理をセットとして歪み補正を行うことにより、画像の端まで高い精度で歪みが解消された画像を得ることができる。この補正には、撮像装置の画角、レンズ歪み補正係数、レンズ中心の位置、接線歪み補正係数が用いられるため、一旦それらのパラメータを仮定して補正を実施し、その結果として格子線が十分な精度で直線に近づくまで調整することで、最終的なパラメータの値を決定する。
【００６１】
図示する例では、魚眼レンズの画角θを１００°程度に限定しているため、中心射影のスクリーン面７０への変換が容易である。一方、魚眼レンズを用いたカメラは、視点に対し３６０°の画角での画像が一度に得られるという利点がある。この特性を活かすため、中心射影のスクリーン面を拡張することが考えられる。図１２は、拡張された中心射影のスクリーン面と魚眼レンズのスクリーン面の関係を例示している。同図は図１１と同様、視点７４と各スクリーン面の俯瞰図であるが、画角を３６０°とすることで、魚眼レンズのスクリーン面７６が、焦点距離ｆを半径とする球面全体となる。
【００６２】
この場合、画像全体を補正するため、球面のスクリーン面７６に外接する立方体の６面の内壁を中心射影のスクリーン面とする（例えばスクリーン面７８ａ、７８ｂ、７８ｃ、７８ｄ）。そして視点７４を頂点とし内壁の各面を底面とする四角錐状に空間を領域分割し、球面のスクリーン面７６上の対象画素がどの領域に属するかによって、変換先のスクリーン面を選択する。図ではスクリーンを俯瞰しているため、視点７４周りで９０°ごとの４象限に分割されている。球面のスクリーン面７６のうち第Ｉ象限に属する画像はスクリーン面７８ａ上での画像に補正する。第ＩＩ、ＩＩＩ、ＩＶ象限に属する画像はそれぞれ、スクリーン面７８ｂ、７８ｃ、７８ｄ上での画像に補正する。
【００６３】
各象限における補正の計算は上述したのと同様でよい。チャート２００も立方体の内壁にチャートパターンを表した形態とし、その中央に撮像装置１２を配置して撮影すれば、本実施の形態のその他の処理についても象限ごとに同様に行える。これにより画角の制限なしに、魚眼レンズの画像をほぼ歪みのない画像に補正できる。画角が３６０°の場合に限らず、それより小さい任意の画角に対し適切な枚数の平面を準備すれば、同じように補正できる。また準備する平面は立方体の面に限らず、球面のスクリーン面７６に外接する多面体や、球面のスクリーン面７６に外接する円筒形などでもよい。
【００６４】
この手法は、これまで述べたような補正係数を特定する目的以外に、運用時に撮影された画像から歪みのない画像を生成し表示させる態様にも適用できる。例えばヘッドマウントディスプレイに魚眼レンズの撮像装置を設け、撮影された画像をそのまま表示したり仮想オブジェクトを描画して表示したりする場合、一旦、中心射影のスクリーン上での画像に補正する。そして各スクリーン上で必要な加工を行ったうえ、ユーザの視線に対応するビュースクリーンに射影し直すことで、歪みのない画像を効率的に表示できる。
【００６５】
これまでの説明は主に、図８におけるＳ３０、Ｓ３２の順方向補正を想定した。一方、図９のＳ４４における処理は、補正後の画像平面における画素値を決定するため、その位置座標から撮影画像の位置座標を求める逆方向補正となる。Ｓ４８において格子線が直交するように姿勢の設定を調整する処理や、Ｓ５０において歪みが解消されるように補正パラメータを調整する処理も、逆方向補正を用いることにより、仮に補正された画像上でサンプリングされた特定の画素のみを対象として調整具合を評価でき処理効率を上げられる。
【００６６】
逆方向補正のうち図８のＳ３４における射影変換は、Ｓ３２について説明した射影変換行列の逆行列を用いるなどの手段で容易に実現できる。一方、図８のＳ３６の、レンズに起因した歪み補正の逆補正については、特に補正係数による歪み補正式を用いた補正の逆処理が含まれるため工夫を要する。本実施の形態では上述のとおり、「魚眼レンズ特有の歪み補正と補正係数を用いた補正」をセットで実施している。逆補正においても当該セットをそのまま用いて、実質的に逆の補正となるようにする。
【００６７】
図１３は、レンズの歪み補正の逆補正の手法を説明するための図である。同図上段に示すように、この処理は、レンズ歪みのない画像８２上の点Ｑ（ｉ２，ｊ２）から、レンズ歪みのある画像８０における対応する点Ｐ（ｉ１，ｊ１）を求める処理である（矢印Ｂ）。レンズ歪みを解消する順方向の補正（矢印Ａ）は上述したとおりであり、逆補正においてもこれをそのまま利用する。
【００６８】
具体的には同図下段に示すように、順方向の補正を施したときの終点が点Ｑ（ｉ２，ｊ２）になるような始点を次のように探索する。まず始点の初期値Ｐ０を、目標とする点Ｑ（ｉ２，ｊ２）の位置に仮に定め、上述した順方向の補正を行う。これにより得た終点Ｑ０は当然、目標とする点Ｑ（ｉ２，ｊ２）からずれている。そこで例えば、当該ずれ量の所定割合を点Ｐ０の位置座標に乗算することで始点をずらす。当該始点Ｐ１に対し再び順方向の補正を施し、終点Ｑ１を得る。
【００６９】
そして終点Ｑ１と目標とする点Ｑ（ｉ２，ｊ２）のずれ量の所定割合を、点Ｐ１の位置座標に乗算することで、さらに始点をずらし順方向の補正を施す。この処理を、終点の位置Ｑｎが目標とする点Ｑ（ｉ２，ｊ２）から所定範囲内に収まるまで繰り返す。収束したときの始点Ｐｎを、歪みのある画像８０における逆補正の終点Ｐ（ｉ１，ｊ１）とする。
【００７０】
図１４は、歪み補正部３４が図９のＳ４６において、補正後の画像の格子線を探索する手法の例を説明するための図である。図は当該補正後の画像における中央近傍の領域を拡大して示している。当該画像領域において、例えば画像の中央８４を中心とする所定長の線分を定義したうえ、当該線分の角度と位置を変化させながらそれが通る画素値の合計を取得していく。線分全体が格子線の黒い領域に入っていれば画素値は最小になるため、そのような状態の線分８６を決定する。
【００７１】
次に、線分８６を中心８４で等分してなる２つの線分をそれぞれ、画像平面の下方向に移動させながらそれが通る画素値の合計を取得していく。線分がチャートパターンの白い矩形に入ると、画素値の合計が大きくなる。実際にはしきい値判定によりそのような状態を検出する。同図において当該状態の線分８８ａ、８８ｂを示している。ここで右の線分８８ｂは、左の線分８８ａより早く白い矩形に到達している。これにより当初の線分８６は、チャートパターンの格子線より右下がりになっていることが判明する。そこで線分８６を所定角度右上がりにしたうえ、再度それを分割してなる線分を下方向に移動させることにより白い矩形を探索し、到達するタイミングによって元の線分の角度を調整する。
【００７２】
この処理を所定回数繰り返すことにより、チャートパターンの格子線のうち横線の下端のおよその角度と位置が判明する。同様に、当該角度および位置で線分を定義し、それを分割してなる２つの線分を、画像平面の下方向にさらに移動させながら、それが通る画素値の合計を取得していく。線分がチャートパターンの黒い格子線に入ると、画素値の合計が小さくなる。実際にはしきい値判定によりそのような状態を検出する。同図において当該状態の線分９０ａ、９０ｂを示している。この場合も、どちらが早く到達したかによって角度を調整し、再度黒い格子線を探索する処理を繰り返す。これによりチャートパターンの格子線のうち横線の上端のおよその角度と位置が判明する。
【００７３】
以後は、それらの直線を基点として上方向および下方向に、角度を調整しながら探索していくことで、格子線のうち横線の上端および下端の傾きおよび位置を全て特定できる。格子線のうち縦線についても同様の処理により、左端および右端の傾きおよび位置を特定できる。図９のＳ５２において最終的な補正後の画像が生成された際も、同様の処理を実施する。この場合、さらにチャートパターンの格子線で囲まれた白い矩形領域のうち、中心が黒い領域を探索することによりマーカーの像を検出する。そしてマーカーのサイズを求めておき、格子線の間隔とともに、撮像装置１２の視点位置の取得に用いる。
【００７４】
上記のように特定した、格子線の境界線の傾きおよび位置を、広い領域で確認することにより微調整し、精度を高めてもよい。図１５は、格子線の境界線を表す線を微調整する手法を説明するための図である。同図は探索対象の画像９２において検出された、最も外側の４直線を辺とする矩形９６と、調整対象の線９４を示している。まず線９４と矩形９６の交点９８ａ、９８ｂを取得する。
【００７５】
次に交点９８ａ、９８ｂを始点として画像の中心方向に、線９４と同じ傾きで所定長さの線分１００ａ、１００ｂを定義する。そして図１４の手法と同様の原理で、線分１００ａ、１００ｂを上方向または下方向に移動させながら、それが通る画素値の合計を取得していく。これにより線分１００ａ、１００ｂが白い矩形に入るタイミングを検出し、その位置に基づき得られる直線の傾き反映させて再度線分を定義し探索を繰り返す。この処理により画像の両端に近い離れた位置で、境界線の傾きおよび位置が検出できるため、これらを結ぶことにより線９４の調整後の線とする。
【００７６】
図１６は、歪み補正部３４が図９のＳ４８において、補正後の格子線の像が画像平面の水平および垂直方向と一致するように、撮像装置１２の姿勢の設定を調整する処理手順を示すフローチャートである。まず上述のように検出された格子線の境界線のうち、図１５の矩形９６の各辺を構成する、最も外側の４直線について、画像平面の水平方向あるいは垂直方向からの傾き誤差を求める（Ｓ６０）。続いてそれらの直線の交点の位置座標を取得し、当該４点の補正前の位置座標を撮影画像上で特定する（Ｓ６２）。この処理には上述の逆方向補正を適用できる。
【００７７】
そしてＳ６０で求めた誤差を解消する方向に、撮像装置１２の姿勢の設定を調整し（Ｓ６４）、当該姿勢を仮定して４点の位置座標を補正する（Ｓ６６）。そして補正後の位置座標を頂点とする矩形の各辺について、画像平面の水平方向あるいは垂直方向からの傾き誤差を再度求める（Ｓ６８）。誤差が所定のしきい値以上の場合（Ｓ７０のＮ）、Ｓ６４からＳ６８の処理を繰り返す。誤差がしきい値より小さくなったら、設定された姿勢が正しいとして処理を終了する（Ｓ７０のＹ）。これにより、僅か４点の補正状況を追跡することにより、撮像装置１２の姿勢を正確に求めることができる。
【００７８】
図１７は、歪み補正部３４が図９のＳ５０において、画角および歪み補正の係数を調整する処理手順を示すフローチャートである。上述したように、本実施の形態では撮影画像からレンズに起因した歪みを解消するため、魚眼レンズ特有の歪み補正と補正係数を用いた補正を実施する。これらの補正には、撮像装置の画角と補正係数を用いる。一方、図９のＳ４４における処理では、仮に設定された値を用いているため、格子線が歪曲していたり傾いていたりすることがあり得る。そこで格子線の直線性を確認しながらそれらのパラメータを調整することで、正しいパラメータを導出する。
【００７９】
まず図１４、１５で説明したように検出された、チャートパターンの格子線の境界線の情報を利用して、当該格子線の幅を２等分する中点群を所定の間隔で抽出していく（Ｓ８０）。次に抽出した中点群を最小二乗法等で直線に近似したうえ、各中点から直線までの距離の合計を誤差として取得する（Ｓ８２）。さらに中点群の補正前の位置座標を、撮影画像上で特定する（Ｓ８４）。この処理には上述の逆方向補正を適用できる。そしてＳ８２で求めた誤差を解消する方向に各パラメータを調整し（Ｓ８６）、それを用いて補正したときの補正後の中点群の位置座標を求める（Ｓ８８）。
【００８０】
そしてＳ８２と同様に近似直線からの誤差を求め（Ｓ９０）、それがしきい値以上の場合（Ｓ９２のＮ）、Ｓ８６からＳ９０の処理を繰り返す。誤差がしきい値より小さくなったら、正しいパラメータが得られたと判定して処理を終了する（Ｓ９２のＹ）。この場合も、限定された数の点の補正状況のみを追跡することにより、撮像装置１２の画角を含むパラメータを効率的に求めることができる。
【００８１】
図１８は、疑似画像描画部４２が疑似画像を描画する処理手順を示すフローチャートである。この処理は図６のＳ１４に対応する。疑似画像描画部４２はまず、図１０で示したのと同様の仮想的な３次元空間にチャート２００のオブジェクトモデルを配置し、さらに図１６、１７で示したように取得した撮像装置１２の姿勢および画角で仮想カメラを配置する（Ｓ１００）。位置については仮の値を設定しておく。そして仮想カメラの画像平面を準備し（Ｓ１０２）、当該画像平面における各画素を始点として、チャート２００上の対応する位置を求める。この処理は、上述の順方向補正に対応する。
【００８２】
すなわち図８で説明したのと同様に、本来歪みのある画像が表されるべき仮想カメラの画像平面の各画素について（Ｓ１０４）、魚眼レンズ特有の歪みを補正したうえ補正係数を用いた補正を行う（Ｓ１０６）。補正には図１７で示した撮像装置１２の各パラメータの値を用いる。この時点で、レンズ歪みのない中心射影の画素配列となっているため、仮想カメラの位置と姿勢に応じた一般的な射影変換により、チャート２００のパターン上の参照先の位置座標を決定する（Ｓ１０８）。
【００８３】
そして当該参照先の位置から画素値を引いてくることにより、仮想カメラの画像平面における対象画素の画素値を決定する（Ｓ１１０）。Ｓ１０４からＳ１１０の処理を、画像平面の全ての画素について実施し（Ｓ１１２のＮ）、完了したら処理を終了させる（Ｓ１１２のＹ）。このようにして生成された、撮影画像の疑似画像は歪み補正部３４に供給される。歪み補正部３４は当該画像に対し、図９で説明したのと同じ処理を実施する。すなわち撮影画像に対する補正処理により得られた、撮像装置に係る各種パラメータを用いて補正処理を実施し、歪みのない画像を生成する。
【００８４】
この際、当該画像に対しても図１４、１５で説明したような格子線の探索を行い、さらにマーカーを検出することで、格子線の間隔とマーカーの位置を取得する。そして図９のＳ５２で取得した、撮影画像の補正画像における格子線の間隔とマーカーの位置とそれぞれ比較する。仮想カメラの位置が実際と異なっている場合、それらのパラメータは撮影画像に対し得られた値と異なっている。したがって視点調整部４４は、その差を解消するように仮想カメラの視点位置を調整する。例えば疑似画像描画部４２に、調整後の視点位置での疑似画像を再度描画させ、それを補正することで格子線の間隔とマーカーの位置が実際と合致するように調整していく。
【００８５】
一方、疑似画像の補正後の画像のみを用いて調整処理を効率化してもよい。すなわち格子線の間隔およびマーカーの位置の実際との差と、それを解消するのに必要な視点位置の移動量との関係をあらかじめ求めておく。当該関係を用いて、実際の差に基づき移動させた視点位置が、求めるべき撮像装置の位置となる。なお撮像装置１２を多眼カメラとする場合、図６で示した処理をそれぞれの撮影画像に対し行う。これにより各カメラの位置および姿勢が得られるため、一般的なカメラの外部パラメータと同等に利用できる。すなわち運用時に、各カメラで撮影された画像から対応点を抽出する際、撮影画像の補正に用いることができる。
【００８６】
図１９は、疑似画像描画部４２が生成した実際の疑似画像を例示している。すなわち仮想空間に配置したチャートを、魚眼レンズを有する仮想カメラで撮影することを想定したときの撮影画像を示している。ただし仮想カメラの位置は、視点調整部４４による調整後のものとしている。その結果、図７の撮影画像５０とほぼ同一の画像が得られることがわかる。図２０は、図１９で示した疑似画像の補正後の画像を示している。当該画像も、図７の補正後の画像５２とほぼ同一となっている。
【００８７】
厳密には、実際の撮影画像の補正後の画像５２では、画像上の位置によって歪み特性に僅かな差があるため、格子線が微妙に歪曲している場合があるが、図２０の画像ではそのような差が生じない。したがって補正処理により、格子線が直交するチャートパターンを再現できる。また実際には、疑似画像を補正して最初に得られる画像は、仮想カメラの設定位置に依存して、格子線の間隔やマーカーの位置が実際と異なっている。これが同一になるように視点の位置を調整することにより、図示するように撮影画像の補正後の画像５２とほぼ同一の画像が得られる。
【００８８】
図２１は、本実施の形態に適用できるチャート２００のパターンの別の例を示している。図示するパターンは、フラクタルバーコードと呼ばれ、米国特許第７８５７２３２号明細書に開示されている。フラクタルバーコードは最小単位の２次元バーコードを２行２列に配置し、さらにそれを２行２列に配置する、というように入れ子状の階層構造の繰り返しパターンとすることにより、埋め込む情報も階層構造にできる。また各バーコードには、全体に対する位置に係る情報が含まれる。したがって撮像装置を近づけてその一部領域のみが撮影されても必要な情報を得ることができる。
【００８９】
そこでフラクタルバーコードを本実施の形態のチャートパターンのマーカーとして用いたり、チャート全体に複数、配置したりすることにより、チャートに対する撮像装置の位置をその撮影画像からおよそ特定できる。したがって疑似画像描画部４２における仮想カメラの設定を、当初より比較的正確に行え、処理効率を向上させることができる。またチャートの一部のみを撮影しても同様の効果が得られるため、撮影時の位置合わせの必要性をさらに低くできる。例えば魚眼レンズの広い視野のうち一部にフラクタルバーコードが映り込んでいれば、キャリブレーションが可能となる。
【００９０】
図２２は、チャート２００の撮影画像を例示しており、（ａ）は格子とマーカーからなるチャートパターンを携帯端末の表示画面に表示させた場合、（ｂ）はフラクタルバーコードからなるチャートパターンをテレビ受像器に表示させた場合の撮影画像を示している。このように電子機器の画面に表示させても、チャートのパターンを鮮明に撮影することができる。また（ｂ）のフラクタルバーコードの場合、図示するように一部領域のみが写っていてもキャリブレーションが可能である。したがって一般ユーザが運用時の任意のタイミングで、自らが保有する電子機器にチャートを表示させることによりキャリブレーションを実施することも容易にできる。
【００９１】
例えば据え置き型のモニターやテレビ受像器にチャートを表示させ、ユーザ自らが装着したヘッドマウントディスプレイが備える撮像装置のキャリブレーションを行えば、モニターなどに対するヘッドマウントディスプレイの位置や姿勢が判明する。その状態を始点として、撮像装置が撮影し続ける画像を追跡していくことにより、ヘッドマウントディスプレイの動きを追跡できる。また視野に入った物とモニターとの関係が判明し、室内の環境地図を作成することが容易になる。画像を解析して周囲の環境地図を作成する技術としてＳＬＡＭ（Simultaneous Localization and Mapping)が知られている。本実施の形態はそのような画像解析技術にも適用できる。
【００９２】
図２３は、運用時における広角レンズを有する撮像装置を用いた一般的な処理の体系と、本実施の形態を利用した処理の体系との差を説明するための図である。（ａ）に示す一般的な処理では、主に画像平面上の２次元的な補正情報を利用する。図示するように撮影処理がなされたあと、平面上での補正情報が与えられ、それに応じて歪み補正等を実施することにより、画像処理を行いやすく、また表示上で違和感のない画像が得られる。そのようなことを目的とするため、キャリブレーション時にも魚眼レンズが撮影した画像を早々に、平面的な情報に変換しても構わない。
【００９３】
一方、本実施の形態では、キャリブレーション時に魚眼レンズの歪みを利用することで、撮像装置とチャートの位置や姿勢の関係といった３次元の情報が求められる。画角も、視点に対する視野を規定するという意味では３次元の情報である。したがって運用時には（ｂ）に示すように、撮影画像に対し３次元の情報が与えられるため、３次元空間における幾何学的な情報を取得できる。例えば上述のような環境地図の作成に用いることができる。その結果を用いれば、情報処理のバリエーションを格段に増やすことができる。その結果を表示する場合も、仮想現実や拡張現実などより魅力的な画像世界を精度よく表現できる。
【００９４】
以上、述べた本実施の形態によれば、魚眼レンズを用いて所定パターンのチャートを撮影することによりキャリブレーションを行う。この際、魚眼レンズによる歪みを利用して撮像装置の画角を求める。これにより、１回の撮影では切り分けが困難であった、画角と視点位置のうち一方を既知とできる。さらに得られた姿勢を用いて、仮想カメラから見たチャートのモデル上の画像を描画し、実際の画像と比較することで、視点位置も特定できる。
【００９５】
結果として、チャートと撮像装置の間隔を固定としたうえで撮影したり、撮像装置の向きを変化させて複数回の撮影を繰り返したりする手間なく、補正係数など一般的なパラメータも取得できる。またレンズ歪みを補正する際は、まず魚眼レンズの等距離射影の画像を、中心射影の画像に補正したうえで、一般的な補正式を適用する。これにより従来見られた、画像の中心から離れるほど補正精度が悪化する状況を改善できる。結果として、画像全体から情報を取得することができ、キャリブレーションやそれを用いた情報処理の精度を向上させられる。
【００９６】
撮像装置から各種パラメータを得る際は、目標とする画像が得られるまでパラメータを調整しながら補正を繰り返す。この際、目標とする画像のうち評価対象のサンプリング点のみに着目し、調整による変化を追跡することにより、効率的にパラメータの最適値へ到達することができる。本実施の形態は、魚眼レンズを用いて１枚の撮影画像から３次元情報を取得していることに他ならない。したがって、運用時にも環境地図の作成など３次元空間での幾何的な処理に利用でき、撮影画像を用いた処理のバリエーションを増やすことができる。
【００９７】
多眼カメラに適用すれば、全てのカメラの相対位置や姿勢の差を取得できるため、各カメラによる撮影画像の位置合わせに利用でき、ひいてはそれを用いた被写体の位置取得も容易になる。多眼カメラによる撮影画像を接続して表示画像とするスティッチング処理においても、各カメラの相対位置や姿勢の差を考慮して３次元空間での射影変換により微調整できるため、より精密なつなぎ合わせを実現できる。
【００９８】
また、チャートに対する撮影画像の位置や姿勢が判明するため、キャリブレーションにおいてチャートと撮像装置を厳密に位置合わせする必要がない。チャートパターンとしてフラクタルバーコードを用いると、部分領域のみの撮影でも撮像装置の位置を特定できるため、撮影に対する自由度がさらに増える。チャートは電子機器に表示させることも可能なため、時期や場所に関わらずユーザが容易にキャリブレーションを実施でき、その後の継続的な情報取得の基点とできるほか、装置の経年変化に対し最新の補正環境を提供できる。
【００９９】
以上、本発明を実施の形態をもとに説明した。上記実施の形態は例示であり、それらの各構成要素や各処理プロセスの組合せにいろいろな変形例が可能なこと、またそうした変形例も本発明の範囲にあることは当業者に理解されるところである。
【０１００】
例えば本実施の形態の歪み補正部は、パラメータを仮定してチャートの撮影画像を補正し、その像が本来のチャートパターンと同等になるまで調整することでパラメータを導出し、その過程において、射影変換の差に基づく魚眼レンズ特有の歪み補正を行った。一方、当該補正手法はキャリブレーション時に限らず、魚眼カメラで撮影されたあらゆる画像の補正にも用いることができる。
【０１０１】
すなわち魚眼カメラで撮影された屋外や屋内の画像を、図１１で示したように中心射影の画像に変換する。さらに必要に応じて補正係数を用いた一般的な補正式を適用して補正し、それを表示させたり情報処理に用いたりする。この場合も、画像全体を高精度に補正できるため、視野の広い画像では生じがちな歪みを最小限に抑えることができる。
【０１０２】
また本実施の形態では、歪み補正部が上述のとおり画角や補正係数などのパラメータを調整し、それを用いて疑似画像描画部が仮想カメラの設定を行った。一方、それらのパラメータを別の手段で取得し、疑似画像描画部はそのデータを用いて仮想カメラを設定してもよい。例えば一般的なキャリブレーション手法により補正係数を取得し、撮像装置に内蔵させたモーションセンサにより撮像装置の姿勢を取得する。その結果を用いて疑似画像を生成し、本実施の形態と同様に仮想カメラの視点を調整することで撮像装置の位置を特定してもよい。
【０１０３】
あるいは撮像装置の位置に加え姿勢も未知としてよい。この場合、仮想カメラの視点位置と視線ベクトルの双方を調整しながら結果として得られる疑似画像を確認し、撮影画像と一致するときの視点位置と視線ベクトルを、撮像装置の位置および姿勢として決定できる。撮影画像との比較には本実施の形態と同様、補正後の画像における格子線やマーカーを利用することにより、一致度を正確に評価できる。
【０１０４】
また本実施の形態における歪み補正部３４は、射影方式を変換する補正、補正係数を用いた一般的な補正、基準状態からの姿勢の差に基づく射影変換をセットとして行ったが、それらのうち１つまたは２つを省略してもよい。例えば射影方式を変換する補正のみで要求される精度が得られれば、補正係数を用いた補正を行わなくてよい。また撮像装置がチャートに正対していることが明らかな状況においては、射影変換を行わなくてよい。そのようにしても、本実施の形態と同様の効果が得られる。
【０１０５】
実施の形態２
実施の形態１では、図１１に示すように撮像装置の光軸がチャート面の垂線と一致するような位置関係において、魚眼レンズ特有の歪みを中心射影の画像に変換することを基本とした。この手法によれば、チャートパターンの歪み補正を容易な演算で実現できる一方、レンズが広角になるほど、光軸から離れた領域に写るパターンの補正精度が低下することが考えられる。そこで本実施の形態では、撮像装置１２の画角によらず、撮影画像全体で高精度な補正を行えるようにする。キャリブレーション装置１０の機能ブロックの構成やキャリブレーションの主な処理手順は、図５、６で示したものと同様である。以下、実施の形態１と異なる点に着目して説明する。
【０１０６】
図２４は、魚眼レンズに対する位置および姿勢が異なるチャートパターンの撮影画像を例示している。同図上段には、各画像を撮影した際の、スクリーン面とチャートの面の位置関係を俯瞰図で示している。（ａ）は実施形態１で想定したように、チャート面３０２ａがスクリーン面３００に正対している場合、（ｂ）はチャート面３０２ｂの垂線が光軸ｏａに対し左に４５°傾いている場合、（ｃ）はチャート面３０２ｃの垂線が光軸ｏａに対し左に９０°傾いている場合の撮影画像である。
【０１０７】
このように広角の魚眼レンズによれば、広い範囲にあるチャートを写すことができる。したがってパターンが写っている限り、チャートの位置や向きによらず同じ精度で像の補正を行えるようにすると、魚眼レンズの特性が最大限に活かせるようなキャリブレーションを一度の撮影で実現できる。このため本実施の形態の歪み補正部３４および疑似画像描画部４２は、実施の形態１とは異なる演算により、図示するような撮影画像から格子が直交するチャートパターンを復元したり、当該撮影画像の疑似画像を生成したりする。
【０１０８】
まず疑似画像描画部４２が疑似画像を生成する手法について説明する。図２５、２６、２７は、本実施の形態において疑似画像を生成する手順を説明するための図である。図１８で説明したように、疑似画像描画部４２は図１０と同様の仮想３次元空間にチャートのオブジェクトモデルと仮想カメラを配置し、仮想カメラのスクリーン面に対応する画像平面の各画素を始点として、そこに表れるチャート上の位置を求める。
【０１０９】
本実施の形態では図１８のＳ１０６におけるレンズの歪み補正において、スクリーン面が本来は球面状であることを踏まえ、３次元空間で当該スクリーン面を変形・回転させる。図２５、２６、２７に示す座標系は図１０と同様であり、チャートに平行なＸＺ平面とチャートの中心で垂直に交わるＹ軸で定義される。まず図２５における領域３１０は初期状態として、仮想カメラのスクリーン面のうちチャートパターンに正対している正方形の領域を、ＸＺ空間で表している。
【０１１０】
スクリーン面は実際にはＹ軸方向に湾曲しているが、ＸＺ空間においては、領域３１０は元のチャートパターンを正面から見た状態に対応する。以後の処理は、スクリーン面の湾曲を加味したときに、領域３１０の各画素に射影されるチャートパターン上の位置の変化を求めることに対応する。なおこの段階では視点を原点に一致させている。
【０１１１】
領域３１２は、領域３１０に対し、補正係数を用いた一般的な歪み補正の逆補正を施したものである。この処理には図１３で示した再帰的手法を利用できる。ただしここではレンズ歪み補正係数と接線歪み補正係数を用いた一般的な歪み補正計算のみを考慮する。また実施の形態１では６次までの補正式を示したが、それより大きい次数の項を含めてもよい。樽型歪みを補正する係数が与えられている場合、図示するように領域３１２は糸巻き型の形状となる。
【０１１２】
上述のとおりスクリーン面は実際には、視点を中心とする球面に貼り付いた状態となっている。したがって仮想カメラの姿勢を変化させる際、球面の状態でロール角ｒ、チルト角ｑ、パン角ｐに応じて回転させると、本来の状況を正確に反映できる。ロール方向の回転は３次元空間のＹ軸周り、すなわちＸＺ平面内の回転である。図示する例ではロール角ｒ＝１０°回転させ、領域３１４としている。撮影環境を俯瞰したときの、領域３１４のＸＹ空間での状態を下段に示している。図示するように領域３１４は、レンズの球面に貼り付いた状態として考える。
【０１１３】
図２６に移り、チルト方向の回転は３次元空間のＸ軸周りの回転である。図示する例では、図２５の領域３１４を、チルト角ｑ＝１０°で回転させた領域３１６を、俯瞰した状態で示している。パン方向の回転は３次元空間のＺ軸周りの回転である。図示する例では領域３１６を、パン角ｐ＝１０°で回転させた領域３１８を、俯瞰した状態で示している。視点が原点にない場合、球面をさらに３次元空間で平行移動させる。図示する例では２００ｍｍ、チャートの平面側に近づけた領域３２０としている。なおパン、チルト、ロールの回転や平行移動の順序は図示するものに限らない。
【０１１４】
図２７は、変換後のスクリーン面上にチャートの画像を射影する様子を示している。（ａ）は図２６で示したのと同様の、変換後のスクリーン面の領域３２０と、チャート３２２を俯瞰した状態を示している。図示した変換により、ＸＺ空間における領域３１０の各画素の、３次元空間での変位先が判明している。そこで仮想カメラの視点３２４から当該変位先へのベクトル３２６を、各画素について求める。ベクトル３２６を延長した先に、当該画素に像として表れるチャート３２２上のポイント３２８が存在する。
【０１１５】
すなわちベクトル３２６を画素ごとに求めることにより、そこに表されるチャートパターン上の位置を取得できる。（ｂ）は領域３２０に射影される、チャート３２２上の領域を示している。樽型歪みの逆補正により領域は全体として糸巻き型の形状を有する。また仮想カメラの姿勢として、正方向にパン、チルト、ロールの回転を与えた結果、図示するような非対称な歪みを有する領域が結像する。この領域の像を元の画像平面の画素として配列させれば、魚眼レンズによる撮影画像を擬似的に生成できる。
【０１１６】
以上述べた手順により、基本的には画角の制限なく疑似画像の生成が可能になる。図２８、２９は、本実施の形態において生成できる疑似画像の例を示している。これらの図は、立方体の６面の内側にそれぞれチャートパターンを表し、その中心に仮想カメラの視点を置いた状況を想定している。なお面によってチャートの色を変化させている。図２８は、水平画角１４０°の仮想カメラの姿勢を変化させたときの疑似画像を示している。
【０１１７】
このうち（ａ）は、左の俯瞰図に示すように、仮想カメラが立方体の一面３３０に正対した状態、すなわち当該面に平行な面をＸＺ平面と定義したとき、パン角、チルト角、ロール角が全て０°の状態に対し生成される疑似画像を示す。（ｂ）は、右の俯瞰図に示すように、パン角が３０°、チルト角とロール角が０°の状態、（ｃ）は、左の斜視図に示すように、チルト角が４５°パン角とロール角が０°の状態の疑似画像を示す。（ｄ）は右の斜視図に示すように、パン角６０°、チルト角２０°、ロール角４５°の状態の疑似画像を示す。
【０１１８】
図２９は、仮想カメラが立方体の一面に正対した状態で、仮想カメラの水平画角を変化させたときの疑似画像を示している。（ａ）は水平画角９０°のときであり、視点が立方体の中心にあることにより、チャートの像の横幅が撮影画像の横幅に一致している。（ｂ）は水平画角１４０°のとき、（ｃ）は水平画角１８０°のときである。（ｃ）の場合、立方体の左右の面の前方半分までが画角に入っている。（ｄ）は水平画角２７０°のとき、（ｅ）は水平画角３６０°のときである。
【０１１９】
（ｅ）の場合、立方体の６面のうち光軸と逆方向の面が視野の周縁領域に写っており、当該面上のチャートの中央にあるマーカーが視野端の円周上に表れる。このように本実施の形態の手法によれば、仮想カメラの姿勢や画角に依存した撮影画像の変化を忠実に再現できる。また樽型歪みなど一般的なレンズ歪みも反映できる。
【０１２０】
次に、スクリーン面が球面に貼り付いているときに、ＸＺ空間において定義される画素の２次元座標から、３次元空間での位置座標を取得する手法について説明する。図３０は、演算に用いるパラメータの定義を示している。同図（ａ）は３次元空間を俯瞰した状態、（ｂ）はＸＺ空間を表している。画像平面３４０は図２５の領域３１０と同様にチャートパターンが写る領域を示しており、左下を原点として各画素の位置座標を（ｉ，ｊ）で表す。
【０１２１】
画像平面３４０に写るチャート３２２の横方向および縦方向のサイズは、画像平面３４０の水平画素数ｉｍａｘと垂直画素数ｊｍａｘに対応する。また視点３２４からチャート３２２が写る水平方向の角度範囲をθとすると、水平方向の画角の１°に対応する、画像平面３４０の画素数（画素密度）Densは次のようになる。
dens = imax / (2 *θ)
【０１２２】
図３１、３２は、画像平面における位置座標（ｉ，ｊ）に対応する、３次元空間での位置座標を求める手順を模式的に示している。まず図３１の上段に示す（ａ）は、画像平面３４０上の位置座標（ｉ，ｊ）を示している。これを、画像平面３４０の中心を原点とするＸＺ空間における位置座標に換算したうえ、レンズ歪み補正の逆補正を施す。この補正は一般的なレンズ歪みおよび接線歪みの式を用いて図１３で説明したように実施する。このようにして求めた座標を（ｘ１，ｚ１）とする。
【０１２３】
ＸＺ空間の原点から（ｘ１，ｚ１）への線３４２は、ＸＺ空間では直線状となるが、３次元空間では（ａ）の右側に示すように、単位球面に沿って巻き付いている。そこで下段の（ｂ）に示すように、位置座標（ｘ１，ｚ１）を、経度と緯度の２次元空間での位置座標に変換する。Ｙ軸上のＹ＝１の点を経度緯度空間での原点とすると、変換後の経度ＰＰと緯度ＱＱは次のようになる。
PP = x1 / dens
QQ = z1 / dens
【０１２４】
（ｂ）の中央の図は単位球面における経度ＰＰと緯度ＱＱを斜視図で示している。また右端の図は、経度緯度平面における原点から座標（ＰＰ，ＱＱ）へ至る線３４２を含む平面３４４を取り出して示している。図示するように線３４２が単位球面に巻き付いている角度Ｒは、経度ＰＰと緯度ＱＱを合成した角度であり、次のように求められる。
R = ( PP2 + QQ2)1/2
【０１２５】
また経度緯度平面における、線３４２の経度軸からの角度ｔｔは、線３４２を含む平面３４４の、ＸＹ平面からの角度に対応し、次のように求められる。
tt = atan(QQ / PP)
座標（ＰＰ，ＱＱ）の、３次元空間での位置座標（ｘ３，ｙ３，ｚ３）を求めるため、図３２の上段（ａ）に示すように、まず平面３４４を角度ｔｔだけ回転させ、ＸＹ平面と一致させる。
【０１２６】
この変換により線３４２は線３４６へ変位し、経度緯度平面における位置座標（ＰＰ，ＱＱ）は、次の式によりＸＹ平面の位置座標（ｘ２，ｙ２）に変換される。
x2 = sin (Ｒ)
y2 = cos (Ｒ)
この回転によっても位置座標（ＰＰ，ＱＱ）のＸＹＺ空間におけるＹ座標は保存されているため、ｙ２は、求めるべき３次元空間での位置座標（ｘ３，ｙ３，ｚ３）のうちのＹ座標ｙ３に他ならない。
【０１２７】
さらに下段（ｂ）に示すように、そのように回転させた平面を、今度は角度ｔｔだけ逆方向に回転させ元の平面３４４（ただしＸＹＺ空間で定義される）に戻すと、位置座標（ＰＰ，ＱＱ）の、ＸＹＺ空間における位置座標（ｘ３，ｙ３，ｚ３）は結局、次のように求められる。
x3 = x2 * cos (tt)
y3 = y2
z3 = x2 * sin (tt)
【０１２８】
以上の処理を、図３０で示した画像平面３４０の全ての画素について実施することにより、画像平面を３次元空間のスクリーン面に変換できる。当該スクリーン面を、仮想カメラの姿勢（パン角ｐ、チルト角ｑ、ロール角ｒ）に応じてさらに変換する。このとき、Ｙ軸周りのロール方向の回転は、図３２の（ｂ）で示した角度ｔｔの回転と同時に実施できる。この場合の変換式は次のようになる。
x3 = x2 * cos(tt + r)
y3 = y2
z3 = x2 * sin (tt + r)
【０１２９】
さらにチルト方向に回転させたときの位置座標（ｘ４，ｙ４，ｚ４）は次の変換式により求められる。
x4 = x3
y4 = y3 * cos(q) + z3 * sin(q)
z4 = y3 * sin(q) + z3 * cos(q)
【０１３０】
さらにパン方向に回転させたときの位置座標（ｘ５，ｙ５，ｚ５）は次の変換式により求められる。
x5 = y4 * cos(p) + z4 * sin(p)
y5 = y4 * sin(p) + z4 * cos(p)
z5 = z4
【０１３１】
また視点の位置座標が原点から（Δｘ，Δｙ，Δｚ）ずれている場合はさらに、つぎのように平行移動させた位置座標（ｘ６，ｙ６，ｚ６）を求める。
x6 = x5 + Dx
y6 = y5 + Dy
z6 = z5 + Dz
以上の処理により、図２７で示した領域３２０への変換を実現できるため、視点から変換先の位置座標へのベクトル３２６により、チャート３２２上の対応するポイント３２８を特定できる。当該ポイント３２８をサンプリング点として適宜バイリニア補間などを施したうえ画素値を決定すれば、図２８、２９で示したような疑似画像を生成できる。
【０１３２】
図３１、３２で示した２次元空間から３次元空間への変換処理は可逆性を有する。すなわち、元のチャートパターンに対応する２次元空間における（ｉ，ｊ）の画素配列から３次元空間の位置座標（ｘ３，ｙ３，ｚ３）を求める手順を逆に辿れば、位置座標（ｘ３，ｙ３，ｚ３）から元のチャートパターンの画像の位置座標（ｉ，ｊ）が求められる。つまり魚眼レンズ特有の歪みを規定する３次元の情報から、歪みを取り除いた２次元の情報を生成できる。
【０１３３】
本実施の形態における歪み補正部３４はこれを利用し、疑似画像描画部４２が疑似画像を生成するのと逆の処理により撮影画像におけるチャートパターンの像を補正する。歪み補正部３４の基本的な動作は、図９で示したとおりであるが、Ｓ４４、Ｓ５０、Ｓ５２において実施する歪み補正において、図３１、３２で示した疑似画像の生成と逆の処理を実施する。上述の可逆性により、図１３で示した再帰的な変換処理は、補正係数を用いた一般的な歪み補正の逆処理のみに適用すればよくなる。
【０１３４】
図３３は、歪み補正部３４が撮影画像のチャートパターンの像に歪み補正を施す処理手順を示すフローチャートである。まず撮影画像のうち対象画素を設定し、その位置座標から３次元空間での位置座標（ｘ７，ｙ７，ｚ７）を取得する（Ｓ２００）。図２４で例示した等距離射影の撮影画像においては、画素の位置を、画像中心を原点とする極座標（ｒ，θ）で表せる。ここで画像中心からの距離ｒは、３次元空間において光軸を垂直上向きとしたときの天頂角に比例し、基準軸からの角度θは、当該３次元空間における方位角を表す。
【０１３５】
したがって撮影画像における画素の位置から、３次元空間での位置座標（ｘ７，ｙ７，ｚ７）を容易に取得できる。そして視点から対象画素へ向く単位ベクトル（ｘ８，ｙ８，ｚ８）を次のように求める（Ｓ２０２）。
x8 = x7 / (x72 + y72 + z72)1/2
y8 = y7 / (x72 + y72 + z72)1/2
z8 = z7 / (x72 + y72 + z72)1/2
【０１３６】
次に、視点を原点として図３２の（ｂ）の逆の処理を実施する。すなわち原点と位置座標（ｘ８，ｙ８，ｚ８）を結ぶ線を、ＸＹ平面上に位置するように回転させる（Ｓ２０４）。このときの回転角ｔｔａは次のように求められる。
tta = atan (z8 / x8)
また回転によって位置座標（ｘ８，ｙ８，ｚ８）は、次の位置座標（ｘ９，ｙ９，ｚ９）に変位する。
x9 = x8 / cos (tta)
y9 = y8
z9 = 0
【０１３７】
続いて図３２の（ａ）の逆の処理を実施する。すなわちＺ平面における位置座標（ｘ９，ｙ９）が単位球に巻き付いている角度Ｒａを求め（Ｓ２０６）、角度ｔｔａだけ逆方向に回転させ元に戻すことにより、経度Ｐａ１、緯度Ｑａ１を次のように求める（Ｓ２０８）。
Ra = atan (x9 / y9)
Pa1 = Ra * cos (tta)
Qa1 = Ra * sin (tta)
【０１３８】
そして図３１の（ｂ）の逆として、画角１°あたりの画素数である画素密度densを用いて、ＸＺ空間での位置座標（ｘ１０，ｚ１０）を次のように求める（Ｓ２１０）。
x10 = Pa1 * dens
z10 = Qa1 * dens
【０１３９】
さらに図３１の（ａ）の逆として、一般的なレンズ歪みおよび接線歪みの式による補正を施したうえ原点を左下に移動させることにより、元の画像平面での位置座標を得る（Ｓ２１２）。Ｓ２００からＳ２１２までの処理を、チャートパターンの像の画素ごとに実施し（Ｓ２１４のＮ）、全画素について変換先の位置座標が求められたら処理を終了する（Ｓ２１４のＹ）。以上の処理により、チャートパターンの格子がおよそ直線状の画像が得られる。図示した歪み補正を行いつつ、格子の直交性が得られる撮像装置の姿勢を探索したり、より精度の高い直線が得られる画角や補正係数を探索したりする処理は、実施の形態１と同様である。
【０１４０】
ところで本実施の形態では、チャートパターンの位置や姿勢を幅広い範囲で許容するため、図２４に示すように、撮影画像におけるチャートパターンの像の位置は様々となる。そこで好適には、歪み補正部３４はあらかじめ、撮影画像においてチャートパターンが写っているおよその領域、ひいては３次元空間におけるチャートパターンのおよその方向を探索する。
【０１４１】
図３４は、歪み補正部３４がチャートパターンの領域を検出する処理手順を示すフローチャートである。歪み補正部３４はまず、撮影画像を領域分割する（Ｓ２２０）。例えば画角を水平方向および垂直方向に所定数に分割し、各角度範囲に対応する画像上の領域に分割する。一例として、２１０°の画角の撮像装置の場合、７０°ごとに３×３の領域に分割する。次に領域の１つを対象とし、当該領域の画像を、所定の倍率で別途準備した画像平面に展開する（Ｓ２２２）。
【０１４２】
続いて、展開した部分画像に対し、チャートパターンの格子線の横線探索を実施する（Ｓ２２４）。この探索には、図１４で示した手法を利用できる。探索の結果、有効な角度や位置が得られなかった場合（Ｓ２２６のＮ）、同じ領域で画像の倍率を変化させたり次の領域を対象に設定し直したりして、横線の探索を繰り返す（Ｓ２２２、Ｓ２２４）。
【０１４３】
横線の探索で有効な結果が得られたら（Ｓ２２６のＹ）、続いて縦線を同様に探索する（Ｓ２０８）。縦線探索の結果、有効な結果が得られなかった場合（Ｓ２３０のＮ）、同じ領域で倍率を変化させたり次の領域を対象に設定し直したりして、横線の探索からやり直す（Ｓ２２２〜Ｓ２２８）。そのようにして縦線の探索でも有効な結果が得られたら（Ｓ２３０のＹ）、当該領域をチャートパターンが写っている領域と判定して（Ｓ２３２）、探索処理を終了する。
【０１４４】
以上の処理により検出されたチャートパターンの像の領域に対し、上述の歪み補正処理を実施し、およそ直線状に補正されたチャートパターンを用いて、撮像装置１２の姿勢を求める。およその処理手順は図１６で示したのと同様である。すなわち、検出された格子線のうち最も外側の４直線が画像平面の水平、垂直方向と一致するように、姿勢の調整と線の傾き取得を交互に繰り返す。
【０１４５】
図３５は、チャートパターンの直交性に基づく撮像装置の姿勢検出処理において、評価対象とするパラメータを説明するための図である。図示する矩形は画像平面を表し、内部に示した直線は、検出された格子線のうち最も外側の４直線、あるいは対向する２直線を示している。
【０１４６】
まず（ａ）は、撮像装置１２の姿勢を表すパン角、チルト角、ロール角の全てに誤差がない状態を表している。この場合、図示するように格子の像の４直線が画像平面の水平方向、垂直方向と平行になる。これに対し（ｂ）はパン角に誤差がある場合、（ｃ）はチルト角に誤差がある場合、（ｄ）はロール角に誤差がある場合の、格子線の像である。
【０１４７】
例えば（ｂ）の状態において、上下の線の傾きの差ｅｐａｎを、パン角の誤差として評価する。ｅｐａｎは例えば、図示するように右側が狭まっている状態を正とする。（ｃ）の状態において、左右の線の傾きの差ｅｔｉｌを、チルト角の誤差として評価する。ｅｔｉｌは例えば、図示するように下側が狭まっている場合を正とする。（ｄ）の状態において、上下左右の直線の傾きの平均値ｅｒｏｌを、ロール角の誤差として評価する。ｅｒｏｌは例えば、図示するように半時計回りを正とする。
【０１４８】
実施の形態１では、チャートパターンをおよそ正面から撮影することを想定していた。そのため図示するような直線の関係に基づき誤差ｅｐａｎ、ｅｔｉｌ、ｅｒｏｌを取得し、設定したパン角、チルト角、ロール角からｅｐａｎ、ｅｔｉｌ、ｅｒｏｌをそれぞれ減算していく調整により、正確なパン角、チルト角、ロール角に収束させることができる。一方、本実施の形態のように、チャートパターンが光軸と平行になるような状態を許容した場合、直線の位置関係と、誤差が生じている回転方向との対応が変化することが考えられる。
【０１４９】
例えば同図右側の俯瞰図に示すように、視点３２４から見て光軸方向に正対するようにチャート３６０ａがある場合は、矢印で示すチルト方向の回転に対し、（ｃ）に示すように、左右の直線の開き具合が変化する。一方、光軸と平行に近い状態でチャート３６０ｂが真横にある場合、同じチルト方向の回転に対し、（ｄ）に示すような、本来のロール方向の回転と同様の変化が生じる。逆に、チャート３６０ｂの状態でロール方向に回転させれば、（ｃ）に示す、本来のチルト方向の回転と同様の変化が生じる、というように、ロールとチルトで評価パラメータが入れ替わってしまう。
【０１５０】
同様に、チャートが真上や真下にある場合、ロールとパンで評価パラメータが入れ替わる。したがって場合によってはそれらの入れ替わりを考慮し、誤差ｅｐａｎ、ｅｔｉｌ、ｅｒｏｌを適宜組み合わせ、パン角ｐ、チルト角ｑ、ロール角ｒの各誤差を算出する。そしてこれらの誤差がしきい値より小さくなるまで、パン角ｐ、チルト角ｑ、ロール角ｒの設定値から誤差分を減算していくことにより、チャートの位置によらず撮像装置の姿勢を精度よく取得できる。
【０１５１】
このようにして撮像装置１２の姿勢が得られたら、図１７で示したのと同様の手順で、チャートパターンの格子の像が直線になるまで補正係数と画角を調整することにより、それらの最終値を決定する。図３６は、歪み補正部３４が撮影画像におけるチャートパターンの像を補正した結果を示している。（ａ）、（ｂ）、（ｃ）の画像は、図２４の（ａ）、（ｂ）、（ｃ）に示した撮影画像から、それぞれ生成された補正後の画像である。
【０１５２】
すなわち（ａ）はチャート面３０２ａがスクリーン面３００に正対している場合、（ｂ）はチャート面３０２ｂの垂線が光軸ｏａに対し左に４５°傾いている場合、（ｃ）はチャート面３０２ｃの垂線が光軸ｏａに対し左に９０°傾いている場合の撮影画像の補正結果である。レンズに対するチャートの位置や姿勢によらず、チャートパターンが好適に復元されていることがわかる。
【０１５３】
換言すれば、チャートを視野の中心に据えて撮影せずとも、撮像装置１２の姿勢、補正係数、画角が正確に求められる。視点調整部４４は、このようにして復元したチャートパターンと、疑似画像に対し同様の処理で復元したチャートパターンとを比較し、撮像装置１２の位置を取得する。ここで視点調整時に生成する疑似画像も、本実施の形態で上述したのと同様の手法により生成する。
【０１５４】
これまで述べた態様では、一面のチャートパターンの位置や姿勢の許容範囲を広げることを想定した。これにより、チャートパターンの一部が視野の隅に入っているような状態でキャリブレーションが可能になる。結果として、対象物を撮影してその動きに対応するようにゲームを進捗させたり、撮影画像の視野に合わせて表示画像を生成したりといった、撮影画像を用いた情報処理を、キャリブレーションと並行して行える。一方、図２８、２９で示したように、チャートパターンを複数面とすることで、全天空を撮影するような撮像装置であっても、一度の撮影で視野全体のキャリブレーションを精度よく行える。
【０１５５】
図３７は、チャートパターンを立方体の内部に表し、その中心を視点として画角２２０°で撮影したことを想定した疑似画像から、各面のチャートを復元した画像を示している。この場合、３次元空間の定義がチャートの面ごとに異なるため、各面が写る画角に対応する画像上の領域を設定し、その単位で補正処理を施す。２２０°の画角によれば（ａ）の撮影画像に示すように、正面全体と上下左右の面の一部が撮影される。これらの面に対し５つの３次元空間を設定し、それぞれに補正処理を施すと、（ｂ）に示すように５つの補正後画像を生成できる。図示するように、画像が撮影されている範囲において、全ての面のチャートパターンを復元できる。
【０１５６】
図３７に示した状況を撮影画像に置き換えると、（ａ）で示したように複数のチャートパターンを一度に撮影した画像のうち、画角に応じて切り出した領域ごとに、（ｂ）に示すように補正処理を独立に実施する。これにより、撮影画像の全領域について補正係数を正確に求めることができる。また撮影された面ごとに視点や姿勢の情報が得られるため、それらを統合することにより、撮像装置の視点、姿勢、画角をより高精度に求めることができる。
【０１５７】
図３８は、立方体の内部を任意の姿勢で撮影したことを想定した疑似画像から、ある面のチャートを復元した結果を示している。同図（ａ）は、図２８の（ｄ）で示したパン角６０°、チルト角２０°、ロール角４５°の疑似画像であり、（ｂ）はパン角０°、チルト角０°、ロール角０°のとき正面に位置するチャート面３７０の補正後の画像である。この場合も、チャートパターンのうち、視野に入っている部分のみから、元のチャートパターンの対応する部分が精度よく再現されている。
【０１５８】
図３８に示した状況を撮影画像に置き換えると、（ａ）で示した撮影画像がどのような姿勢で撮影されたものかが未知であっても、また補正係数や画角が未知であっても、（ｂ）に示したような元のチャートパターンが得られるまで調整することにより、それらのパラメータを取得できることになる。
【０１５９】
以上述べた本実施の形態によれば、魚眼レンズの特性を利用したキャリブレーションにおいて、画像平面を球面状のスクリーン面として３次元空間にマッピングすることにより、魚眼レンズ特有の歪みを正確に再現する。そして当該球面を各軸周りに回転させることにより、撮像装置の姿勢の変化を正確に、画像に反映させる。チャートパターンの像が写る領域の、球面へのマッピングには、光軸に係る拘束条件が含まれないため、チャートパターンが撮影画像のどこに写っていようと同様の処理を行える。
【０１６０】
結果として、実際の状況を再現することによる精度の向上に加え、撮影視野に対するチャートパターンの位置や姿勢の許容範囲を大幅に広げることができる。これにより、チャートパターンの一部のみ視野に入っている状態でのキャリブレーションも可能になり、本来の運用処理との並行処理によって、キャリブレーションの処理効率を向上させられるとともに、運用処理の精度も維持できる。
【０１６１】
また、画像平面から球面への変換は可逆処理であるため、到達点を設定してそれに至る初期状態を模索するような処理を最小限にすることができ、キャリブレーションの処理効率や精度を向上させられる。さらにチャートパターンの位置や姿勢の制限が少ないことを利用して、撮影画像の画角を網羅するように複数面のチャートパターンを用いれば、画角によらず一度の撮影で、高精度なキャリブレーションを実現できる。これらのことにより、実施形態１で述べたのと同様の効果を、より広い撮影環境で適用でき、汎用性、利便性を高めることができる。
【０１６２】
なお本実施の形態においても、チャートパターンは直線の格子に限らず、実施の形態１で説明したフラクタルバーコードなどその他のパターンでよい。またキャリブレーション装置の利用形態や処理の変形例については、実施の形態１で述べたのと同様である。
【符号の説明】
【０１６３】
１０  キャリブレーション装置、  １２  撮像装置、  ３０  撮影画像取得部、  ３４  歪み補正部、  ３６  画像記憶部、  ３８  パラメータ記憶部、  ４０  チャート画像記憶部、  ４４  視点調整部、  ４６  出力データ生成部、  １２２  ＣＰＵ、  １２４  ＧＰＵ、  １２６  メインメモリ、  ２００  チャート。
【産業上の利用可能性】
【０１６４】
以上のように本発明は、キャリブレーション装置、撮像装置、画像処理装置、表示装置、ロボット、パーソナルコンピュータなど各種情報処理装置や、それらのいずれかを含むシステムなどに利用可能である。
【図１】
2019049421.tif 000003
【図２】
2019049421.tif 000004
【図３】
2019049421.tif 000005
【図４】
2019049421.tif 000006
【図５】
2019049421.tif 000007
【図６】
2019049421.tif 000008
【図７】
2019049421.tif 000009
【図８】
2019049421.tif 000010
【図９】
2019049421.tif 000011
【図１０】
2019049421.tif 000012
【図１１】
2019049421.tif 000013
【図１２】
2019049421.tif 000014
【図１３】
2019049421.tif 000015
【図１４】
2019049421.tif 000016
【図１５】
2019049421.tif 000017
【図１６】
2019049421.tif 000018
【図１７】
2019049421.tif 000019
【図１８】
2019049421.tif 000020
【図１９】
2019049421.tif 000021
【図２０】
2019049421.tif 000022
【図２１】
2019049421.tif 000023
【図２２】
2019049421.tif 000024
【図２３】
2019049421.tif 000025
【図２４】
2019049421.tif 000026
【図２５】
2019049421.tif 000027
【図２６】
2019049421.tif 000028
【図２７】
2019049421.tif 000029
【図２８】
2019049421.tif 000030
【図２９】
2019049421.tif 000031
【図３０】
2019049421.tif 000032
【図３１】
2019049421.tif 000033
【図３２】
2019049421.tif 000034
【図３３】
2019049421.tif 000035
【図３４】
2019049421.tif 000036
【図３５】
2019049421.tif 000037
【図３６】
2019049421.tif 000038
【図３７】
2019049421.tif 000039
【図３８】
2019049421.tif 000040
【国際調査報告】
2019049421.tif 000041
2019049421.tif 000042
2019049421.tif 000043
2019049421.tif 000044