TOP > 国内特許検索 > カメラキャリブレーション方法、カメラキャリブレーション装置及びカメラキャリブレーションプログラム > 明細書

明細書 :カメラキャリブレーション方法、カメラキャリブレーション装置及びカメラキャリブレーションプログラム

発行国 日本国特許庁(JP)
公報種別 特許公報(B2)
特許番号 特許第6355206号 (P6355206)
公開番号 特開2017-011537 (P2017-011537A)
登録日 平成30年6月22日(2018.6.22)
発行日 平成30年7月11日(2018.7.11)
公開日 平成29年1月12日(2017.1.12)
発明の名称または考案の名称 カメラキャリブレーション方法、カメラキャリブレーション装置及びカメラキャリブレーションプログラム
国際特許分類 H04N   5/232       (2006.01)
G01B  11/26        (2006.01)
G06T   1/00        (2006.01)
FI H04N 5/232 290
G01B 11/26 H
G06T 1/00 280
請求項の数または発明の数 8
全頁数 14
出願番号 特願2015-125914 (P2015-125914)
出願日 平成27年6月23日(2015.6.23)
新規性喪失の例外の表示 特許法第30条第2項適用 情報処理学会研究報告 コンピュータビジョンとイメージメディア(CVIM) Vol.2015-CVIM-196 No.8 pp.1-8 に発表
審査請求日 平成29年7月14日(2017.7.14)
特許権者または実用新案権者 【識別番号】000004226
【氏名又は名称】日本電信電話株式会社
【識別番号】504132272
【氏名又は名称】国立大学法人京都大学
発明者または考案者 【氏名】志水 信哉
【氏名】藤井 憲作
【氏名】西村 真衣
【氏名】延原 章平
【氏名】松山 隆司
個別代理人の代理人 【識別番号】110001634、【氏名又は名称】特許業務法人 志賀国際特許事務所
審査官 【審査官】▲徳▼田 賢二
参考文献・文献 特開2008-070347(JP,A)
調査した分野 H04N 5/232
G01B 11/26
G06T 1/00
特許請求の範囲 【請求項1】
屈折層を介して被写体を撮影することによって得られる画像の各画素と、前記被写体からの光線との対応付けを行うカメラキャリブレーション方法であって、
前記被写体として姿勢の異なる較正物体を撮影した画像群から、前記較正物体の姿勢ごとに、前記画素と前記較正物体上の位置との対応関係に関する情報を取得する対応関係取得ステップと、
前記姿勢の異なる較正物体が、撮影空間において交わる交線に対応する画素群を検出する交線検出ステップと、
前記交線検出ステップで検出された前記交線における前記対応関係取得ステップで取得された前記対応関係に関する情報を用いて、前記較正物体の姿勢を推定して姿勢情報を出力する姿勢推定ステップと、
前記対応関係取得ステップで取得された前記対応関係に関する情報と、前記姿勢推定ステップで推定された前記姿勢情報とを用いて、画素と前記撮影空間中の光線との対応関係を示す光線情報を取得する光線情報取得ステップとを有するカメラキャリブレーション方法。
【請求項2】
前記姿勢推定ステップにおいて、前記交線が2つの前記較正物体上で定義されることを用いて前記較正物体の姿勢を推定する請求項1に記載のカメラキャリブレーション方法。
【請求項3】
前記姿勢推定ステップにおいて、複数の前記交線が前記撮影空間上において1点で交わることを用いて前記較正物体の姿勢を推定する請求項1に記載のカメラキャリブレーション方法。
【請求項4】
前記交線検出ステップにおいて、前記異なる姿勢の較正物体を撮影した画像間で、同じ位置の画素における較正平面密度が同じ場合に、当該画素を前記交線が存在する画素として検出する請求項1から請求項3のいずれか一項に記載のカメラキャリブレーション方法。
【請求項5】
前記対応関係取得ステップで取得した前記対応関係に関する情報と、前記姿勢推定ステップで推定した前記較正物体の姿勢とを用いて、前記較正物体の姿勢の推定の評価値を取得する評価値取得ステップをさらに有する請求項1から4のいずれか一項に記載のカメラキャリブレーション方法。
【請求項6】
前記評価値取得ステップにおいて、同一画素でサンプリングされた前記較正物体上の位置から、1つの画素に対して2本以上の線分を求め、当該線分に対応する方向ベクトル間の外積を用いて、前記較正物体の姿勢の推定の評価値を取得する請求項5に記載のカメラキャリブレーション方法。
【請求項7】
屈折層を介して被写体を撮影することによって得られる画像の各画素と、前記被写体からの光線との対応付けを行うカメラキャリブレーション装置であって、
前記被写体として姿勢の異なる較正物体を撮影した画像群から、前記較正物体の姿勢ごとに、前記画素と前記較正物体上の位置との対応関係に関する情報を取得する対応関係取得部と、
前記姿勢の異なる較正物体が、撮影空間において交わる交線に対応する画素群を検出する交線検出部と、
前記交線検出部で検出された前記交線における前記対応関係取得部で取得された前記対応関係に関する情報を用いて、前記較正物体の姿勢を推定して姿勢情報を出力する姿勢推定部と、
前記対応関係取得部で取得された前記対応関係に関する情報と、前記姿勢推定部で推定された前記姿勢情報とを用いて、画素と前記撮影空間中の光線との対応関係を示す光線情報を取得する光線情報取得部とを備えるカメラキャリブレーション装置。
【請求項8】
請求項1から6のいずれか一項に記載のカメラキャリブレーション方法をコンピュータに実行させるためのカメラキャリブレーションプログラム。
発明の詳細な説明 【技術分野】
【0001】
本発明は、カメラと被写体の間に屈折層が存在する場合におけるカメラキャリブレーション方法、カメラキャリブレーション装置及びカメラキャリブレーションプログラムに関する。
【背景技術】
【0002】
従来、カメラで撮影された画像から、三次元情報として、例えば被写体の形状や、被写体とカメラとの位置関係を抽出する技術が知られている。このような技術は、ロボットビジョン、拡張現実感を提供するシステム等において、非常に重要となる技術である。このような三次元情報の抽出を行うためには、画像上の各画素と現実空間での光線の対応関係に関する情報と、複数のカメラ間の位置関係に関する情報とを取得する必要がある。そして、これらの情報を取得する処理は、カメラキャリブレーションと呼ばれている。特に、画像上の各画素と現実空間での光線の対応関係に関する情報を取得する処理は、内部キャリブレーションと呼ばれ、複数のカメラ間の位置関係に関する情報を取得する処理は、外部キャリブレーションと呼ばれている。
【0003】
一般的なカメラキャリブレーションでは、オブジェクトと画像平面の間の写像が、ピンホールカメラモデルなど透視投影カメラモデルで表現できることを前提としている。そのような透視投影カメラモデルでは、オブジェクトからの光線は、カメラの投影中心に向かって直進しながら集束することを前提としている。そのため、カメラとオブジェクトの間に屈折層がある場合は、スネルの法則に基づき屈折層の屈折をモデル化することで、カメラキャリブレーションを実現する。そして、屈折のモデル化を行うためには、屈折層の屈折率及び位置・形状に関する情報が必要となる。しかし、予めそれらの情報を得ることは、一般的に困難であるため、屈折のモデル化を行うことができないという問題がある。また、仮に、それらの情報が得られたとしても、屈折層の形状等が複雑な場合は、屈折のモデル化の処理も複雑になるという問題がある。
【0004】
透視投影カメラモデルとは異なるカメラモデルとして、非特許文献1で提案されているRaxel(ray-pixel)カメラモデルが存在する。Raxelカメラモデルでは、画像上の各画素と三次元空間における光線とを直接対応付けている。そのため、屈折層における光線の屈折をモデル化せずに、カメラキャリブレーションにおいて、画素と光線の対応付けを求める。
例えば、非特許文献2に記載の手法は、カメラとの間に屈折層を含んだ撮影対象とする空間中に、チェッカーボードなどの較正物体を設置し、画素からその較正物体平面上の点へのマッピングを表す近似関数を求めることでキャリブレーションを実現している。
【先行技術文献】
【0005】

【非特許文献1】Michael D. Grossbarg, Shree K. Nayar, “The Raxel Imaging Model and Ray-Based Calibration,” International Journal of Computer Vision, 61(2), pp. 119-137, 2005.
【非特許文献2】Tomohiko Yano, Shohei Nobuhara, Takashi Matsuyama, “3D Shape from Silhouettes in Water for Online Novel-View Synthesis,” 第16回 画像の認識理解シンポジウム(MIRU), 2013.
【発明の概要】
【発明が解決しようとする課題】
【0006】
しかしながら、上記非特許文献2に記載の手法は、近似関数で近似する精度の問題から屈折層の形状に制約があり、任意の屈折層に適用するのは困難であるという問題がある。さらに、キャリブレーションにおいて、カメラに対する較正物体の姿勢に関する情報が必要となる。そして、その姿勢に関する情報を取得するために、経路中に屈折層を含む空間に設置された較正物体を撮影すると同時に、屈折層を含まない空間に設置された別の較正物体を撮影する必要がある。つまり、非特許文献2に記載の手法は、本来対象とする空間をカメラの一部でしか撮影できないことになり、高精細な画像を取得することができないという問題がある。また、非特許文献2に記載の手法は、屈折層を含む空間および屈折層を含まない空間の両方の空間が撮影可能な状況でしか、使用できないという問題がある。
【0007】
上記事情に鑑み、本発明は、カメラと被写体との間に未知の屈折層または複雑な形状の屈折層が存在する場合であっても、カメラモデルのキャリブレーションを実現することができるカメラキャリブレーション方法、カメラキャリブレーション装置及びカメラキャリブレーションプログラムを提供することを目的とする。
【課題を解決するための手段】
【0008】
本発明の一態様は、屈折層を介して被写体を撮影することによって得られる画像の各画素と、前記被写体からの光線との対応付けを行うカメラキャリブレーション方法であって、前記被写体として姿勢の異なる較正物体を撮影した画像群から、前記較正物体の姿勢ごとに、前記画素と前記較正物体上の位置との対応関係に関する情報を取得する対応関係取得ステップと、前記姿勢の異なる較正物体が、撮影空間において交わる交線に対応する画素群を検出する交線検出ステップと、前記交線検出ステップで検出された前記交線における前記対応関係取得ステップで取得された前記対応関係に関する情報を用いて、前記較正物体の姿勢を推定して姿勢情報を出力する姿勢推定ステップと、前記対応関係取得ステップで取得された前記対応関係に関する情報と、前記姿勢推定ステップで推定された前記姿勢情報とを用いて、画素と前記撮影空間中の光線との対応関係を示す光線情報を取得する光線情報取得ステップとを有するカメラキャリブレーション方法である。
【0009】
本発明の一態様は、上記のカメラキャリブレーション方法であって、前記姿勢推定ステップにおいて、前記交線が2つの前記較正物体上で定義されることを用いて前記較正物体の姿勢を推定する。
【0010】
本発明の一態様は、上記のカメラキャリブレーション方法であって、前記姿勢推定ステップにおいて、複数の前記交線が前記撮影空間上において1点で交わることを用いて前記較正物体の姿勢を推定する。
【0011】
本発明の一態様は、上記のカメラキャリブレーション方法であって、前記交線検出ステップにおいて、前記異なる姿勢の較正物体を撮影した画像間で、同じ位置の画素における較正平面密度が同じ場合に、当該画素を前記交線が存在する画素として検出する。
【0012】
本発明の一態様は、上記のカメラキャリブレーション方法であって、前記対応関係取得ステップで取得した前記対応関係に関する情報と、前記姿勢推定ステップで推定した前記較正物体の姿勢とを用いて、前記較正物体の姿勢の推定の評価値を取得する評価値取得ステップをさらに有する。
【0013】
本発明の一態様は、上記のカメラキャリブレーション方法であって、前記評価値取得ステップにおいて、同一画素でサンプリングされた前記較正物体上の位置から、1つの画素に対して2本以上の線分を求め、当該線分に対応する方向ベクトル間の外積を用いて、前記較正物体の姿勢の推定の評価値を取得する。
【0014】
本発明の一態様は、屈折層を介して被写体を撮影することによって得られる画像の各画素と、前記被写体からの光線との対応付けを行うカメラキャリブレーション装置であって、前記被写体として姿勢の異なる較正物体を撮影した画像群から、前記較正物体の姿勢ごとに、前記画素と前記較正物体上の位置との対応関係に関する情報を取得する対応関係取得部と、前記姿勢の異なる較正物体が、撮影空間において交わる交線に対応する画素群を検出する交線検出部と、前記交線検出部で検出された前記交線における前記対応関係取得部で取得された前記対応関係に関する情報を用いて、前記較正物体の姿勢を推定して姿勢情報を出力する姿勢推定部と、前記対応関係取得部で取得された前記対応関係に関する情報と、前記姿勢推定部で推定された前記姿勢情報とを用いて、画素と前記撮影空間中の光線との対応関係を示す光線情報を取得する光線情報取得部とを備えるカメラキャリブレーション装置である。
【0015】
本発明の一態様は、上記カメラキャリブレーション方法をコンピュータに実行させるためのカメラキャリブレーションプログラムである。
【発明の効果】
【0016】
本発明によれば、カメラと被写体との間に未知の屈折層または複雑な形状の屈折層が存在する場合であっても、カメラモデルのキャリブレーションを実現することができる。
【図面の簡単な説明】
【0017】
【図1】本実施形態におけるカメラキャリブレーションを行う撮影空間を示す図である。
【図2】本実施形態におけるカメラキャリブレーション装置の構成を示すブロック図である。
【図3】本実施形態におけるカメラキャリブレーション装置10の動作を示すフローチャートである。
【図4】較正物体3の姿勢を推定する第1の方法を説明するための図である。
【図5】較正物体3の姿勢を推定する第2の方法を説明するための図である。
【図6】本実施形態におけるカメラキャリブレーション装置10のハードウェアの構成例を示す図である。
【発明を実施するための形態】
【0018】
以下、図面を参照して、本発明の実施形態におけるカメラキャリブレーション装置について説明する。
まず、1つのカメラにおけるキャリブレーションとして、撮影空間中の光線とカメラで撮影された画像の画素とのマッピングの処理(内部キャリブレーション)について説明する。図1は、本実施形態におけるカメラキャリブレーションが行われる撮影空間を示す図である。図1に示す通り、カメラ1と撮影空間との間に未知の屈折層2が存在し、撮影空間中に較正物体3または較正物体3’が配置されている。ここで、較正物体3’は、較正物体3と同一物体であって、較正物体3の姿勢が変更された後の状態を示すものである。なお、較正物体3として、どのような物体を用いても構わないが、後述するように、画素と較正物体3上の位置との対応関係が得られるものを使う必要がある。本実施形態においては、較正物体3として、グレイコードを表示する平面ディスプレイを用いる。

【0019】
図2は、本実施形態におけるカメラキャリブレーション装置の構成を示すブロック図である。図2に示すように、カメラキャリブレーション装置10は、画像入力部11と、対応関係取得部12と、交線検出部13と、姿勢推定部14と、光線情報出力部15とを備えている。図1には、示していないが、カメラキャリブレーション装置10は、カメラ1で撮影された画像を入力可能で、入力された画像に対して画像処理を行うコンピュータ端末である。

【0020】
画像入力部11は、較正物体3、3’を撮影した画像(群)を入力する。対応関係取得部12は、画像入力部11により入力された画像中の画素と較正物体3上の位置とを対応付ける情報を取得する。交線検出部13は、姿勢の異なる較正物体3と較正物体3’とが撮影空間中で構成する交線を画像上で検出する。姿勢推定部14は、複数の較正物体3、3’間の相対的な姿勢を推定する。光線情報出力部15は、対応関係取得部12で取得した情報と、姿勢推定部14で推定した複数の較正物体3、3’の姿勢に関する情報とを用いて、各画素に対して光線を対応付ける処理を行う。

【0021】
次に、図2に示すカメラキャリブレーション装置10の動作を説明する。図3は、本実施形態におけるカメラキャリブレーション装置10の動作を示すフローチャートである。
まず、画像入力部11は、較正物体3の姿勢を変化させながら撮影した画像群{In,m|n=1,…,N,m=1,…Mn}を入力する(ステップS101)。ここで、入力された画像群中に含まれる較正物体3の姿勢の数をNとし、較正物体3がn番目の姿勢である場合の画像の枚数をMnとする。ここで、Nは3以上とし、Mnは画素とn番目の姿勢の較正物体3上の位置を対応付けるのに必要な画像の枚数とする。Mnは較正物体3の種類や撮影空間の大きさなどに依存する。

【0022】
次に、対応関係取得部12は、入力された画像群から3つの異なる姿勢の較正物体3を含む画像群を選択する(ステップS102)。ここで、対応関係取得部12は、種々の方法を用いて較正物体3と較正物体3’の姿勢の違いの有無を判断して、異なる姿勢の較正物体3を含む画像を選択可能である。対応関係取得部12は、例えば、画像中に占める較正物体3の領域の大きさが同程度で、画像中の較正物体3の領域の形状の変化が大きい画像を複数選択する構成である。そのような構成とすることで、後述の処理で検出する撮影空間中の較正物体3の交線が存在する可能性を高めることができる。以下の説明では、選択された画像における較正物体3の姿勢(未知)をΦ、Φ、Φとする。

【0023】
次に、対応関係取得部12は、較正物体3の姿勢ごとに、画素と較正物体3上の位置を対応付ける(ステップS103)。具体的には、画像平面上の座標値(画素位置)と、較正物体3上で定義された座標系における座標値を対応付ける。ここでの方法は、較正物体3の種類によって異なる。

【0024】
例えば、較正物体3が、平面ディスプレイで構成されており、かつ、較正物体3が、座標値をエンコードしたグレイコードパターンの系列を表示している場合について説明する。画像入力部11は、グレイコードパターンを表示する較正物体3を、撮影して得た画像群を入力する。対応関係取得部12は、入力された画像群から各画素で撮影された信号の系列を求め、それをデコードすることで、その画素に対応する較正物体3上の座標値を得ることができる。グレイコードを用いた画素と較正物体3の平面(較正平面)上の位置との対応付けに関しては、例えば非特許文献1に詳細が記載されている。

【0025】
ここで、ステップS103の結果として得られる、画素kに対する姿勢Φの較正物体3上の点Pk,iの姿勢Φの較正物体3を基準とした座標系における座標値をpk,i[i](k=1,…,numPixs,i=1,…,3)で表す。ここで、numPixsは、姿勢Φの較正物体3上の点と対応関係が得られる画素の数である。各画素と較正物体3上の座標値とを対応付けた後、交線検出部13は、姿勢の異なる較正物体3が撮影空間において交わる交線を画像上で検出する(ステップS104)。なお、姿勢の異なる較正物体3が撮影空間において交わる交線とは、姿勢の異なる較正物体3が、撮影空間中に同時に存在していると仮想して、仮想上の姿勢の異なる較正物体3の平面が交差する部分である。

【0026】
姿勢Φの較正物体3と姿勢Φの較正物体3’とで構成される交線上の画素を{Ki,j(a)|a=1,…,numPixs(i,j)}とする。numPixs(i,j)は、姿勢Φの較正物体3を撮影した画像中の姿勢Φの較正物体3と、姿勢Φの較正物体3’とで構成される交線上の画素数であり、Ki,j(a)=Kj,i(a)である。

【0027】
なお、交線検出部13は、どのような方法を用いて姿勢Φの較正物体3と、姿勢Φの較正物体3’との交線を検出しても構わない。交線検出部13は、例えば、画像上の各画素または各画素を中心とする一定の領域において、撮影された較正平面の面積が占める割合である較正平面密度を用いる方法を用いても構わない。つまり、異なる姿勢の較正物体3を撮影した画像間で、同じ位置の画素が同じ較正平面密度を持つ場合に、交線が存在するとし、そのような画素の集合を求めることで交線を検出することができる。なお、較正物体3が平面ディスプレイで構成されている場合、較正平面の面積として平面ディスプレイの画素数を用い、画像上の画素あたりの平面ディスプレイの画素の密度である画素密度を用いて交線を検出することができる。

【0028】
平面ディスプレイを較正物体3として用いる場合には、上記説明したグレイコードのように画素と較正物体上の位置との対応が取れるようなものが好ましい。また、グレイコード以外であっても、画素密度を取得しやすいパターンを撮影した画像を、平面ディスプレイに表示して、較正物体3としても構わない。また、平面ディスプレイを用いない場合においても、画像上の各画素または各画素を中心とする一定の領域で撮影される較正物体3上の面積や、較正物体3上の単位面積の領域が撮影された画像上の画素数などを検出できるものを較正物体3として用いてもよい。このような較正物体3を用いることで、交線検出部13において、交線を検出することが可能となる。

【0029】
なお、交線検出部13は、交線が十分な精度で求まらなかった場合は、交線を検出できなかったと判断する。また、交線検出部13は、交線検出の精度として、どのような尺度を用いても構わない。交線検出部13は、例えば、交線として検出した画素群に対応する較正物体3上の点群{pKi,j(a)[i],i}の直線性を用いて交線の検出精度を評価する。また、交線検出部13は、例えば、点群の直線性の評価値として、点群に対して得られる尤もらしい直線を求め、その直線と各点との距離の合計値や分散値を用いてもよい。また、交線検出部13は、点群の直線性の評価値として、直線からの距離が一定以内の点の数を用いてもよい。

【0030】
また、交線検出部13は、点群{pKi,j(a)[i],i}のうち、直線性を満たさないものを交線に対応する画素群から除外するようにしてもよい。この場合、交線検出部13は、残った画素の数が一定数以下の場合は、交線が検出できなかったと判断してもよい。

【0031】
ここで、全ての姿勢間で3つの交線が検出できなかった場合や、各交線で2点以上の交線上の点が検出できなかった場合は(ステップS105のNO)、対応関係取得部12は、別の姿勢の較正物体3を含む組み合わせの画像群を選択し(ステップS106)、ステップS103へ戻る。なお、ステップS103の較正物体3の姿勢ごとに、画素と較正物体3上の位置を対応付ける処理は、図3に示すように、異なる姿勢の組み合わせが選ばれるたびに繰り返す手順に限らず、他の手順でもよい。例えば、カメラキャリブレーション装置10内に十分な記憶領域が確保され、姿勢ごとに画素と較正物体3上の位置を対応付けた結果を、その記憶領域に蓄積した場合の手順である。カメラキャリブレーション装置10は、例えば、新たに選ばれた異なる姿勢の組み合わせの中に、既に画素と較正物体3上の位置との対応関係を求めた画像群について蓄積済みのものがあった場合は、その記憶領域から蓄積済みの画素と較正物体3上の位置を対応付けた結果を読み出すという手順を行う。

【0032】
なお、図3に示した処理手順に限らず、例えば、ステップS102の次にステップS104の処理を行う手順や、ステップS105の条件をチェックしたのちにステップS103の処理を行う手順であってもよい。ただし、上記説明した検出した交線の較正物体3上での直線性を評価する場合は、一部の画素についてはステップS104の中で、ステップS103の対応関係を求める処理を行う必要がある。

【0033】
次に、3つの交線を検出でき、かつ、各交線上で2点以上の点を検出できた場合は(ステップS105のYES)、姿勢推定部14は、検出した交線上の点の情報を用いて、較正物体3の姿勢を求める(ステップS107)。なお、姿勢推定部14は、求める較正物体3の姿勢を、どのような情報で表現してもよい。また、姿勢推定部14は、例えば、姿勢Φの較正物体3に対する座標系を、ある基準となる姿勢の較正物体3に対する座標系に変換するための回転行列Rと並進ベクトルtの形で表してもよい。

【0034】
以下の説明は、姿勢Φに対する姿勢を基準とした回転行列と並進ベクトルを用いて、較正物体3の姿勢を表現し、それら回転行列と並進ベクトルを推定する第1の方法について説明を行う。この回転行列Rと並進ベクトルtを求める処理では、検出した交線が2つの較正物体3上で定義されることを利用する。つまり、1つの交線が2つの異なる座標系で表現されることを利用する。

【0035】
以下、姿勢推定部14における較正物体3の姿勢の推定処理について具体的に説明する。
図4は、較正物体3の姿勢を推定する第1の方法を説明するための図である。図4は、交線検出部13で検出された姿勢Φ~Φである較正物体3の較正平面が交差する3つの交線の一例が示されている。図4に示すように各交線上の点P(i=1,…,6)を定義する。この時、各点Pは2つの較正物体上の点であることから次の(式1)に示す関係が成り立つ。
【数1】
JP0006355206B2_000002t.gif

【0036】
この関係から、点Pの姿勢Φjの較正物体3を基準とした座標系における座標値をpi[j]で表すとすると、次の(式2)~(式4)の関係が成り立つ。
【数2】
JP0006355206B2_000003t.gif

【0037】
また、直線Pと直線Pの内積と、直線Pと直線Pの内積について、それぞれ、次の(式5)、(式6)の関係が成り立つ。なお、直線Pとは点PとPとを結ぶ直線のことを示す。
【数3】
JP0006355206B2_000004t.gif

【0038】
これらをR、R、t、tについて整理すると、R、R、t、tの要素を含むベクトルxと、R、R、t、tの要素を含まない行列M及びベクトルbを用いて、Mx=bの形で表現される連立方程式が得られる。そのため、この連立方程式を解くことで回転行列R、Rと並進ベクトルt、tが求まる。なお、回転行列と並進ベクトルを求める方法は、どのような方法を用いてもよい。例えば、特異値分解を利用して回転行列と並進ベクトルを求めてもよい。

【0039】
なお、上記の回転行列と並進ベクトルを求める説明では3つの交線上の2点(合計6点)を用いたが、交線上に3点以上の点が存在する場合は、任意の方法で点を選択して、上記処理を行ってもよい。更に、複数の組み合わせを用いて推定・検証することで、ノイズに対して頑健に推定を行う方法を用いてもかまわない。そのような方法の代表的なものにRANSAC(RANdom SAmple Consensus)と呼ばれる方法がある。

【0040】
また、3つの姿勢の較正物体3が互いに並行でなく、かつ、3つの較正物体3の交線が1直線で交差していない場合、3つの姿勢の較正物体3が三角錐の各面の一部となることを利用して、回転行列Rと並進ベクトルtを求めてもよい。より具体的には、3つの交線が三角錐の頂点となる1点で交わることを利用して回転行列と並進ベクトルを求めてもよい。

【0041】
以下、回転行列と並進ベクトルを用いて較正物体3の姿勢を推定する第2の方法について具体的に説明を行う。
図5は、較正物体3の姿勢を推定する第2の方法を説明するための図である。図5に示すように、姿勢Φ~Φである較正物体3の較正平面が交差する各交線上の点P(i=1,3,5)及び、3交線の交点Oを定義する。この時、点P(i=1,3,5)については上述の説明と同じ関係が成立するのに加えて、交点Oの姿勢Φの較正物体3を基準とした座標系における座標値o[i]は、各交線を表す直線の交点を求めることで計算できる。この時、線分及び内積の等価性より、次の(式7)~(式11)の関係が成り立つ。
【数4】
JP0006355206B2_000005t.gif

【0042】
これらを回転行列R、Rについて整理すると、回転行列R、Rの要素を含むベクトルx’と、回転行列R、Rの要素を含まない行列M’及びベクトルb’を用いて、M’x’=b’の形で表現される連立方程式が得られる。そのため、この連立方程式を解くことで回転行列R、Rを求めることができる。なお、回転行列R、Rを求める方法として、どのような方法を用いてもよい。そして、回転行列R、Rが得られたら次の(式12)、(式13)によって並進ベクトルが得られる。
【数5】
JP0006355206B2_000006t.gif

【0043】
なお、上記の回転行列を求める説明では、各交線上の1点(合計3点)を用いたが、交線上に2点以上の点が存在する場合は、任意の方法で点を選択して、上記処理を行っても構わない。更に、交線上の複数の点の組み合わせを用いて推定・検証することで、ノイズに対して頑健に推定を行う方法を用いてもよい。そのような方法の代表的なものにRANSAC(RANdom SAmple Consensus)と呼ばれる手法がある。

【0044】
較正物体3の姿勢の関係が得られたら、光線情報出力部15は、各画素に対して、その画素でサンプリングされる光線を対応付けた結果を生成する(ステップS108)。生成された結果は、カメラキャリブレーション装置10の出力となる。なお、画素と光線を対応付ける表現は、どのような形式で表現してもよい。例えば、各画素をインデックスとし、光線を表す直線の式を返すルックアップテーブルを用いて表現してもよい。

【0045】
画素kでサンプリングされた光線は、較正物体3上の座標値{pk,i[i]|(i=1,2,3)}から直線を推定することで求めることができる。なお、ここでは姿勢Φの較正物体3を基準とした座標系で光線を表現するものとしたが、別の姿勢を基準とした座標系を用いても構わない。

【0046】
また、較正物体3の姿勢を推定する処理(ステップS107)が終了した後、キャリブレーションの精度、つまり較正物体3の姿勢の推定の精度を表す評価値を求めてもよい。この評価値は、較正物体3の姿勢の推定が正しく行われたか否かを表すことのできるものであれば、どのような評価値を用いてもよい。評価値の具体例1は、画素ごとに得られる較正物体3上の点で構成される2本以上の線分の外積のノルムについて、和や最大値、分散を求めて、評価値としたものである。また、評価値の具体例2は、画素ごとに得られる較正物体3上の点で構成される2本以上の線分を求めて、その線分に対応する方向ベクトルの差分ベクトルのノルムについて、和や最大値、分散を求めて、評価値としたものである。更に、評価値の具体例3は、各画素に対応付けられた光線と較正物体3上の点の距離について、和や最大値、分散を求めて、評価値としたものである。更に、評価値の具体例4は、各画素に対応付けられた光線と較正物体3上の点の較正物体3平面上での距離について、和や最大値、分散を求めて、評価値としたものである。

【0047】
また、別の姿勢の較正物体3を撮影した画像を追加し、更新された画像群から異なる姿勢の較正物体3に対する画像群を選択し、ステップS103へ戻っても構わない。なお、追加する画像は、どのような姿勢の較正物体3を撮影した画像であってもよい。例えば、既に入力されている画像群と比較し、同じ較正物体3であって画像上の較正物体3の大きさが大きく異なるような画像を追加してもよい。また、同じ較正物体3であって画像上の較正物体3の大きさは同じだが形状が異なるような画像を追加してもよい。前者は、既に入力されている画像と比較して、画像を撮影したカメラから較正物体3までの距離が異なるような画像であることを意味する。以上のような異なる姿勢の較正物体3を含む画像を入力することで、より長い経路で光線の直進性を考慮したキャリブレーションが可能となる。一方、後者は、より狭い空間での光線の直進性を考慮することで、より頑健にキャリブレーションを行うことが可能となる。

【0048】
(ハードウェアの構成例)
図6は、本実施形態におけるカメラキャリブレーション装置10のハードウェアの構成例を示す図である。
図6に示すように、カメラキャリブレーション装置10を、コンピュータによって構成する場合のハードウェア構成を示すブロック図である。カメラキャリブレーション装置10は、プログラムを実行するCPU(Central Processing Unit)100と、CPU100がアクセスするプログラムやデータが格納されるRAM等のメモリ101と、カメラ等からの処理対象の画像信号を入力する画像入力部102と、カメラキャリブレーション処理をCPU100に実行させるソフトウェアプログラムであるカメラキャリブレーションプログラム105が格納されたプログラム記憶装置103と、CPU100がメモリ101にロードされたカメラキャリブレーションプログラム105を実行することにより生成された画素と光線の対応関係を出力する光線情報出力部104とが、バスで接続された構成になっている。

【0049】
なお、画像入力部102は、ディスク装置等により画像信号を記憶し、記憶した画像信号を読み出すことで画像信号を入力する記憶部で構成してもよい。また、光線情報出力部104は、ディスク装置等により画素と光線の対応関係を示す光線情報を記憶する記憶部で構成してもよい。また、バスで接続されたCPUやメモリや補助記憶装置などを備え、カメラキャリブレーションプログラムを実行することによってカメラキャリブレーションを備える装置として機能する。なお、カメラキャリブレーションの各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されてもよい。カメラキャリブレーションプログラムは、コンピュータ読み取り可能な記録媒体に記録されてもよい。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。カメラキャリブレーションプログラムは、電気通信回線を介して送信されてもよい。

【0050】
このように、本実施形態におけるカメラキャリブレーション装置10を、コンピュータで実現することができる。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、PLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されるものであってもよい。

【0051】
以上説明したように、光線が撮影空間中で直進することを利用して、複数の姿勢で同一の較正物体を撮影した画像群から、画素と光線の対応関係を生成することにより、カメラと被写体との間に任意の屈折層(未知の屈折層または複雑な形状の屈折層)を含む場合においても、カメラのキャリブレーションを実現することができる。また、カメラと被写体との間に屈折層を含まない空間を通して、被写体を撮影不可能な状況においても、カメラのキャリブレーションを実現することができる。

【0052】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【産業上の利用可能性】
【0053】
本発明のカメラキャリブレーション方法、カメラキャリブレーション装置及びカメラキャリブレーションプログラムは、カメラと被写体との間に未知の屈折層がある場合において、画素と光線とを対応付けを行うことが不可欠な用途に適用することができる。
【符号の説明】
【0054】
1…カメラ, 2…屈折層, 3、3’…較正物体, 10…カメラキャリブレーション装置, 11…画像入力部, 12…対応関係取得部, 13…交線検出部, 14…姿勢推定部, 15…光線情報出力部
図面
【図1】
0
【図2】
1
【図3】
2
【図4】
3
【図5】
4
【図6】
5