(58)【調査した分野】(Int.Cl.,DB名)
第1カメラ、第2カメラ、及び第3カメラを備える奥行きカメラシステムのキャリブレーションずれを検出する方法であって、前記第1カメラ、第2カメラ、及び第3カメラは、実質的に重畳する重畳視野を所定の方向に有し、前記方法は:
特徴点を前記第1カメラで撮影される第1画像中に検出し、
前記特徴点を前記第2カメラで撮影される第2画像中に検出し、
前記特徴点を前記第3カメラで撮影される第3画像中に検出し、前記第3カメラが、前記第1カメラ及び第2カメラと同一直線上には位置しておらず、
第1共役エピポーラ線を前記第2画像中に、前記第1画像中の前記特徴点の検出位置、及び複数のキャリブレーションパラメータに従って特定し、
第2共役エピポーラ線を前記第2画像中に、前記第3画像中の前記特徴点の検出位置、及び前記複数のキャリブレーションパラメータに従って特定し、
前記第2画像中の前記特徴点の検出位置と前記第1及び第2共役エピポーラ線との差異を計算し、
前記差異が閾値を上回ると、前記奥行きカメラシステムのキャリブレーションずれが発生していることを示す通知を出力する、
ことを具備する方法。
【発明を実施するための形態】
【0026】
以下の詳細な説明では、本発明の特定の好適な実施形態についてのみ、例を通して示し、説明する。当業者であれば理解できることであるが、本発明は、多くの異なる形態で具体化されてもよく、本明細書に記載される実施形態に限定されると解釈されるべきではない。同様の参照番号は、同様の構成要素を、本明細書全体を通じて指している。
【0027】
一般的に言うと、立体視奥行きカメラシステムは、2台のカメラを含むことができ、これらのカメラは、互いに離間され、高剛性フレームのような共有構造に高剛性に取り付けられる。2台のカメラで撮像されるシーン中の特徴点の奥行きを検出するために、奥行きカメラシステムは、これらのカメラで撮影される画像群の各画像中の特徴点のピクセル位置を導出する。2つの画像中の特徴点間の距離は、物体の距離又は奥行きに反比例する視差と表記される(これは、物体を片方の眼で一度に見るときに物体が「ずれる」量を比較する場合の影響である−ずれの大きさは、物体が視認者の眼からどれだけ離れているかに依存し、物体がより近くなると、ずれがより大きくなり、物体がより遠くなると、ずれがより小さくなり、所定距離だけ離れた位置にある物体は、検出可能なずれがほとんど無いか、全くない)。
【0028】
以下の説明では、奥行きカメラシステムの画像取得システムは、「マスター」カメラ及び1台以上の「スレーブ」カメラと表記することができる少なくとも2台のカメラを有していると表記することができる。一般的に言うと、推定奥行きマップ又は視差マップは、マスターカメラの視点に基づいて算出されるが、これらのカメラのいずれのカメラもマスターカメラとして使用してもよい。本明細書において使用されるように、master/slave、left/right、above/below、first/second/third、及びCAM1/CAM2/CAM3は、特に断らない限り、同じ意味に使用される。別の表現をすると、これらのカメラのうちいずれか1つのカメラは、マスターカメラ又はスレーブカメラとすることができ、カメラの右側にあるカメラを基準として左側にあるカメラに関する注意事項は、対称性により、他方の方向に当てはめることもできる。また、以下に提示される注意事項は、様々な台数のカメラに関しても有効である。
【0029】
マスターカメラとスレーブカメラとの間の視差の大きさは、奥行きカメラシステムの物理特性によって異なり、物理特性として、カメラのピクセル解像度、カメラ間の距離、及びカメラの視野を挙げることができる。したがって、正確な奥行き測定値を生成するために、奥行きカメラシステム(又は、奥行き知覚カメラシステム)のキャリブレーションは、これらの物理特性に基づいて行なわれる。
【0030】
幾つかの奥行きカメラシステムでは、これらのカメラは、カメラのイメージセンサの水平ピクセル行が略平行となるように配置することができる。画像修正技術を使用して、カメラのレンズの形状、及びカメラの向きの変化に起因する画像の歪みを吸収することができる。
【0031】
また、照合特徴点を、重畳視野を有する複数台カメラを備える奥行きカメラシステムにおいて特定する作業は、エピポーラ線の近傍の領域に対する探索範囲を狭くすることにより加速することができる。更に詳細には、第1カメラによる画像中のピクセルは、第2カメラによる画像中のエピポーラ線分に後方投影することができ、エピポーラ線分は、元の視線光線の投影像の間に延びている。したがって、1つの画像中に検出される特徴点は、第2画像へのピクセルの投影像に対応するエピポーラ線に沿って発見することができるので、照合特徴点の探索範囲を、第2画像全体に跨る探索範囲ではなく、略直線状の探索範囲に限定することができる。これらの方法は、例えば Springer, 2010, p.467 et seq. に掲載された R.Szeliski. による“Computer Vision: Algorithms and Applications”と題する論文に更に詳細に記載されている。例えば、
図1を参照すると、
図1は、3台カメラシステム又は3眼カメラシステムを示しており、エピポーラ線131−2、131−3、132−1、及び133−1が、点線で図示されている。
【0032】
図1は、空間中の所定のポイントを撮像する1つの実施形態による奥行き知覚カメラシステムの模式図である。
図1を参照するに、第1カメラCAM1、第2カメラCAM2、及び第3カメラCAM3は、3次元空間(3D空間又はx−y−z空間)中のポイントpを撮像する。これらのカメラの各カメラは、撮像平面111,112,113(例えば、イメージセンサに対応する)及び中心ポイント121,122,123を有する。ポイントpは、それぞれの位置x
1,x
2,及びx
3にある撮像平面111,112,113に投影される。カメラの中心と、これらのカメラの該当する撮像平面と、の間の仮想直線の交差ポイントには、白抜き円の記号が付されている。例えば、CAM1及びCAM2の中心121と中心122との間の直線は、これらのカメラの該当する撮像平面111及び112と、141−2及び142−1の位置で交差する。同様に、CAM1及びCAM3の中心121と中心123との間の直線は、これらのカメラの該当する撮像平面111及び113と、141−3及び143−1の位置で交差する。
【0033】
カメラのキャリブレーションが、以下に更に詳細に説明される通りに行なわれる場合、撮像平面111上の位置x
1は、3Dポイントpに対応する撮像平面112の共役エピポーラ線132−1に投影することができ、位置x
2は、共役エピポーラ線132−1上に位置する。同様に、位置x
2は、ポイントpに対応する撮像平面111の共役エピポーラ線131−2に投影することができ、位置x
1は、共役エピポーラ線131−2上に位置する。同様に、撮像平面111上の位置x
1は、ポイントpに対応する撮像平面113の共役エピポーラ線133−1に投影することができ、位置x
3は、共役エピポーラ線133−1上に位置する。位置x
3は、ポイントpに対応する撮像平面111の共役エピポーラ線131−3に投影することができ、位置x
1は、共役エピポーラ線131−2上に位置する。したがって、以下に更に詳細に説明されるように、共役エピポーラ線は、画像群の各画像中の各位置に対応して、既知のキャリブレーションパラメータに基づいて特定することができる。
【0034】
したがって、キャリブレーションが正しく行なわれると、CAM1の撮像平面111へのポイントpの投影像は、エピポーラ線131−2及び131−3の交点に位置する。
【0035】
図1はまた、pを含む3Dシーンの他の構成部が更に、画像を撮像平面111,112,及び113上に有することを示しており、ポイントp
1、及びpをp
1に連結する線分I
1に注目されたい。
【0036】
カメラキャリブレーション情報は、入力画像を修正するために必要な情報となって、同等のカメラシステムのエピポーラ線が、平行等位化を行なった後の画像の走査線に一致するようになる。このような事例では、シーン中の3Dポイントは、平行等位化を行なった後のマスター画像中及びスレーブ画像中の同じ走査線インデックスに投影される。x
1 及び x
2 を、同等のマスターカメラ及び同等のスレーブカメラのぞれぞれのカメラ内の同じ3Dポイントpの画像の走査線上の座標とし、各カメラでは、これらの座標は、原点(光軸が焦点面と交わる交点)を中心とし、かつ平行等位化を行なった後の画像の走査線と平行な横軸を有する軸座標系を基準としている。上に説明したように、差異x
1−x
2は、視差と呼ばれ、dで指示される;視差は、修正カメラを基準とする3Dポイントの直交距離(すなわち、いずれかのカメラの光軸上へのポイントの直交投影線の長さ)に反比例する。
【0037】
本発明の幾つかの実施形態では、奥行きカメラシステムは、2つの不可視光カメラと、1つの可視光カメラ又はカラーカメラと、を含み、システムは、カラーカメラの各カラーピクセルに関する奥行き推定結果を算出するように構成される。これらの実施形態では、不可視光及び可視光の両方を撮影することにより、奥行きカラー知覚カメラシステムを有効にすることができる(RGB−Dシステム又はRGB−Zシステムと表記される場合があり、RGBは「赤色緑色青色」を表わし、D又はZは、「奥行き」を表わしている)。幾つかの実施形態では、不可視光カメラは赤外線カメラとすることができる。別の表現をすると、通常の使用法では、奥行き情報をカラーカメラの視野から、奥行きカメラの視野からカラーカメラの視野に映し出される奥行き情報に「ゆがみを与える」ことにより取得する。ゆがみを与えることができるためには、カラーカメラのキャリブレーションが更に、奥行きカメラを基準にして行なわれる。また、カラーカメラは普通、不可視光カメラよりも多くのピクセル(又は、より高い解像度)を有し、追加カラー情報を奥行き計算アルゴリズムに与えて、システムの奥行き計算の全体精度を向上させることができる。更に、カラーカメラのカラー情報及び高解像度が使用される場合でも、第3カメラは、例えば2台のカメラしか使用しない場合に遮蔽される可能性があるシーンの一部の奥行きを与えることにより高精度の奥行き計算を可能にするのに役立つことができる。
【0038】
上に説明したように、複数台カメラを使用する奥行きカメラシステムのキャリブレーションは通常、制御型環境の状況において行なわれて、互いに対するカメラの物理的位置及び向きの問題を解決するようになっている。例えば、高剛性フレームに取り付けられる複数台カメラは、互いに対して様々な向きになるように、かつ互いから様々な距離に位置するように配置することができる。取り付け作業時の不正確及び変動により、カメラの最終位置が奥行きカメラシステムごとに異なってしまう。したがって、キャリブレーション作業を行なってキャリブレーションパラメータを生成することにより、正確な奥行き測定結果をカメラの実際位置に基づいて算出することができ、キャリブレーション作業では、撮像平面の各撮像平面内のピクセル群に対応する複数の共役エピポーラ線を定義する。キャリブレーション作業では通常、キャリブレーション対象物(市松模様のように見える)の1つ以上の画像を既知の幾何学を用いて撮影し、撮像平面内の一連の3Dポイント及びこれらのポイントの(サブ)ピクセル位置の投影方程式を解く。幾つかのシステムでは、このキャリブレーションは、製造時(例えば、カメラシステムを組み付けた後)に行なわれ、キャリブレーション設定を装置に、エンドユーザに供給する前に書き込むことができる。
【0039】
理想的なシナリオでは、製造時のキャリブレーションは、カメラ間の物理的関係が不変のままである環境において十分とすることができる。例えば、ビデオアーケード機の奥行きカメラシステムは、アーケードキャビネットに高剛性に取り付けることができ、アーケードキャビネットにより保護することができる。別の例として、家庭用ビデオゲームコンソールの奥行きカメラシステムは、テレビ画面に隣接して設置することができ、概して、システムの寿命全体を通じて、ほぼ静置することができる。
【0040】
実際、多くの環境では、カメラ間の物理的関係は、大きな変化を装置の寿命全体に亘って受ける可能性がある。ビデオゲームアーケード機は、プレイヤーにより頻繁に酷使され、家庭用ビデオゲームコンソールの部品は、ひっくり返される、及び/又は踏みつけられる可能性がある。別の例として、スマートフォン、タブレット、ラップトップ、及び他の携帯型コンピューティング装置のようなモバイル機器又はモバイルコンピューティング装置は普通、集積型ディスプレイを含み、頻繁に落とされ、曲げられ、大きな温度変化を受け、様々な他のやり方で間違って扱われるので、モバイル機器に組み込まれる奥行きカメラシステムは、カメラが高剛性フレームに取り付けられる場合でも、キャリブレーションがずれてしまう。
【0041】
その結果、モバイル機器に取り付けられる奥行きカメラシステム、又はスタンドアローン型ポータブル奥行きカメラシステムの複数台カメラは、必ずしも、同じ物理的関係を奥行きカメラシステムの寿命全体を通じて維持することができる訳ではない。例えば、
図4に示すように、モバイル機器の永久的湾曲のような変形により、カメラの向きに変化が生じる可能性がある。これにより、カメラシステムのキャリブレーションがずれて、奥行きカメラシステムが、正確な奥行き情報を計算しなくなる。例えば、
図4(c)に示す変形後の奥行きカメラシステムは、物体が実際に位置している位置よりもずっと遠く離れているものとして物体を計算する可能性がある。このキャリブレーションずれ、及び正確度低下により、キャリブレーションがずれている奥行きカメラシステムを使用してユーザジェスチャ入力を検出する場合の機能が低下するか、又は損なわれ、更には、ツールとして使用されて外界の物体のサイズ及び位置を測定する場合の誤差が非常に大きくなる。したがって、キャリブレーションがずれている状態を、好適には、ユーザが明示的な検証を行なうことなく検出可能になることが重要である。
【0042】
再キャリブレーション作業が難しくなってしまうが、その理由は、製品を再キャリブレーション中に使用不能にする必要があるとともに、再キャリブレーションが、膨大な計算処理リソースを必要とするからである。したがって、再キャリブレーション作業が、カメラのキャリブレーションが実際にずれている場合に行なわれることが重要である。
【0043】
これらの問題に鑑みて、本発明の実施形態は、複数台カメラを有する奥行きカメラシステムに関するものであり、これらのカメラを配置して、キャリブレーションがずれている状態を、奥行きマップの生成機能を高く維持しながら検出する。本発明の1つの実施形態は、これらの特性を有する3台カメラ(又は、3眼カメラ)システムに関するものである。
【0044】
奥行きカメラシステムは、画像処理システムに組み込むことができる。本発明の多くの実施形態による画像処理システムは、多種多様なソフトウェア構成可能なコンピューティング装置を使用して実行することができ、コンピューティング装置として、(これらには限定されないが)パーソナルコンピュータ、タブレットコンピュータ、スマートフォン、エンベデッドデバイス、拡張現実(AR)機器及び仮想現実(VR)機器(例えば、ヘッドギア)を挙げることができ、(これらには限定されないが)テレビ、ディスクプレーヤ、セットトップボックス、及びゲームコンソールのようなコンシューマ電子機器を挙げることができる。本発明の1つの実施形態による画像処理システムを
図2Aに示す。画像処理システム100は、画像信号プロセッサ(又は、カメラインタフェース)24及びディスプレイインタフェース26と通信するように構成されるプロセッサ22を含む。画像処理システムは更に、メモリ28を含み、メモリ28は、半導体記憶装置及び/又はディスク記憶装置を含む1つ以上の異なる種類のストレージの形態を採ることができる。図示の実施形態では、プロセッサ22は、メモリ28に格納されるオペレーティングシステム30を使用して構成される。
【0045】
多くの実施形態では、プロセッサは、ビデオデータフレームを、画像信号プロセッサ24を介して少なくとも1台のカメラ(例えば、カメラCAM1,CAM2,及びCAM3)から受信する。カメラインタフェースは、特定の用途の要求に適する多種多様なインタフェースのいずれかとすることができ、当該インタフェースとして(これらには限定されないが)、オレゴン州ビーバートンにあるUSB−IF社が規定するUSB2.0インタフェース規格又はUSB3.0インタフェース規格、及び非営利団体MIPI Allianceが規定するMIPI−CSI2インタフェースを挙げることができる。複数の実施形態では、受信ビデオデータフレームは、3つの色チャネルの強度値として表わされるRGBカラーモデルを使用して表わされる画像データを含む。幾つかの実施形態では、受信ビデオデータフレームは、1つの色チャネルの強度値を使用して表わされる単色画像データを含む。幾つかの実施形態では、画像データは可視光を表わす。他の実施形態では、画像データは、(これらには限定されないが)スペクトルの赤外線領域、近赤外線領域、及び紫外線領域を含むスペクトルの非可視光領域(又は、不可視光領域)の光強度を表わしている。特定の実施形態では、画像データは、これに限定されないが、超音波信号を含む、他のソースにより生成される電気信号に基づいて生成することができる。幾つかの実施形態では、受信ビデオデータフレームは、Joint Photographic Experts Group が規定する Motion JPEG ビデオフォーマット(ISO/IEC JTC1/SC29/WG10)を使用して圧縮される。複数の実施形態では、ビデオデータフレームは、ブロックベースの映像符号化方式を使用して符号化され、映像符号化方式として、(これに限定されないが)ITU-T Video Coding Experts Group(VCEG)が ISO/IEC JTC1 Motion Picture Experts Group と一体となって開発した H.264/MPEG-4 Part 10(Advanced Video Coding:最新映像符号化)規格を挙げることができる。特定の実施形態では、画像処理システムは、生の画像データ(RAW image data)を受信する。
【0046】
本発明の幾つかの実施形態では、奥行き知覚カメラシステムは、インタフェース40を含むことにより、当該システムをコンピュータのようなホストハードウェア装置に接続することができる。インタフェース40は、例えばUSB2.0接続又はUSB3.0接続とすることができる。
【0047】
本発明の幾つかの実施形態は、カメラ群のうち1台以上のカメラで検出可能なスペクトル領域で発光するように構成される能動型照明プロジェクタ18を含む。例えば、1台以上の不可視光カメラ(例えば、2台の赤外線カメラCAM1及びCAM2)を含む本発明の実施形態では、能動型照明プロジェクタは、赤外光凹凸パターンを放出するように構成することができる。幾つかの実施形態では、能動型照明プロジェクタ18は、プロジェクタが放出するスペクトルに対応する光を検出するように構成されるカメラ群の間に配置される(カメラ群と同一直線上に配置される)。例えば、能動型照明プロジェクタが、赤外光を放出するように構成される実施形態では、プロジェクタは、2台の赤外線カメラの間に配置することができる。能動型照明プロジェクタ18は、発光ダイオード(LED)又はレーザのような光源を使用して実現することができ、光源は、パターンを生成するように構成される光学系に接続することができる。このようなシステムの例が、例えば「Systems and Methods for Reducing Z-Thickness and Zero-Order Effects in Depth Cameras」と題する米国特許出願第14/743,738号明細書、及び「3D Depth Sensor and Projection System and Methods of Operating Thereof」と題する米国特許出願第14/743,742号明細書に記載されており、これらの米国特許出願は共に、米国特許商標庁に2015年6月18日に出願され、これらの米国特許出願の開示内容全体が、参照により本明細書に援用される。
【0048】
様々な実施形態では、カメラは、相補型金属酸化物半導体(CMOS)デジタルイメージセンサ又は電荷結合型素子(CCD)デジタルイメージセンサのような標準的なデジタルイメージセンサを含むことができる。また、カメラ群の各カメラは普通、入射光を個々のカメラのイメージセンサに集光させるように構成される1つ以上のレンズのような光学系を含む。幾つかの実施形態では、赤外線カメラ及びカラーカメラのセンサは、略同様とすることができるが、単にフィルタの有無の点で異なるようにすることができる(例えば、Bayerパターンに配置される赤色フィルタ、緑色フィルタ、及び青色フィルタのようなカラーフィルタ、又は赤外線領域に対応する帯域通過フィルタもしくは低域通過フィルタ)。幾つかの実施形態では、赤外線カメラは、カラーカメラよりも大きなサイズのピクセルを備えるセンサを有することができ、これらの実施形態では、赤外線カメラは、カラーカメラよりも低い解像度を有することができる。しかしながら、本発明の実施形態は、これらには限定されない。
【0049】
幾つかの実施形態では、奥行き知覚3眼カメラシステム100は、画像処理システム内で、及び/又は画像処理システムの外部で集積化することができる表示装置を駆動するように構成されるディスプレイインタフェース26を含む。複数の実施形態では、カリフォルニア州サニーベールにある HDMI Licensing,LLC 社が規定する HDMI High Definition Multimedia Interface(高精細度マルチメディアインタフェース)を利用して表示装置とのインタフェースとする。他の実施形態では、特定の用途の要求に適する多種多様なディスプレイインタフェースのいずれのディスプレイインタフェースも利用することができる。ディスプレイと一体化される本発明の幾つかの実施形態では、カメラは、ディスプレイを取り囲むベゼル領域に配置することができ、カメラ群のうち少なくとも1台のカメラは、他のカメラ群のうち少なくとも1台のカメラとは異なるディスプレイの辺縁に隣接して配置される(例えば、2台のカメラは、ディスプレイの第1辺縁に沿って配置することができ、第3カメラは、ディスプレイの第1辺縁に対向し、かつ第1辺縁に平行なディスプレイの第2辺縁に沿って配置することができる)。
【0050】
図2Bは、本発明の1つの実施形態による3台のカメラを含む奥行き知覚カメラシステムの斜視図である。
図2Bに示す実施形態では、カメラCAM1,CAM2,及びCAM3は、略同じ方向を向くように、かつ重畳視野を有するように配置される。更に、能動型照明部品18は、カメラCAM1、CAM2,及びCAM3と同じ方向を向き、CAM1及びCAM2と同一直線上に、かつCAM1とCAM2との間に配置される。外部インタフェース40を使用して、奥行き知覚カメラシステムをホスト装置に接続することができる。
【0052】
本発明の実施形態の態様について、2台の赤外線カメラ及び1台のカラーカメラがある状況として以下に説明する。しかしながら、本発明の実施形態は、これに限定されない。例えば、本発明の実施形態は、カメラ群の異なる組み合わせを使用することができ、例えば:2台のカラーカメラを1台の赤外線カメラと組み合わせて使用する;3台の赤外線カメラを使用する;又は、3台のカラーカメラを使用することができる。3台カメラ配置を本明細書では、「3眼」配置と表記するが、本発明の実施形態は、これに限定されず、幾つかの実施形態は、3台よりも多くのカメラを含むことができる。
【0053】
複数台カメラを有する奥行きカメラシステムのカメラ群の配置を設計する際の1つのファクタは、結果的に得られるシステムの設計精度である。理論的には、カメラ間の距離が長くなると、奥行き計算精度が高くなる。上に説明したように、キャリブレーションされた状態のステレオカメラペアを使用する3D空間中のポイントについての奥行き計算は、一方の(第1)カメラ内のポイントの画像と他方の(第2)カメラ内の同じポイントの画像との所謂ピクセル視差を測定し、次に三角測量法を適用することにより行なわれる。物体が遠く離れている場合(例えば、長い奥行きを有している場合)、視差はゼロになる。視差は、ポイントがカメラ(短い奥行きを有する位置)に近づくにつれて大きくなる。
【0054】
シーン中の全てのカメラ視認ポイントに関する奥行き計算を可能にするために、これらのカメラ内の3D空間中の撮像ポイント群の一致度を判断する。カメラのキャリブレーションを行なって「ピンホールカメラ」モデルに追従させる場合、これらのカメラ内の対応ポイント群は殆どが、それぞれの撮像平面内の所謂共役(関連)エピポーラ線(
図1参照)上にある。
図1では、例えば3D空間中のポイントpに対応するカメラCAM1及びカメラCAM2に関する共役エピポーラ線を参照されたい。
【0055】
カメラ群(例えば、
図2のCAM1及びCAM2)がイメージセンサのピクセル行に平行な直線に沿って配置される場合、カメラの画像を修正した後、画像のエピポーラ線はピクセル行に平行である。これにより、整合特徴点の探索を行毎の探索(キャリブレーション誤差が僅かであるので上下の行の数ピクセルの探索)に簡易化することができる。カメラ群がこのようには配置されない場合、エピポーラ線を設定し続けることになるが、エピポーラ線は、対応するセンサ行に必ずしも平行になる訳ではない。例えば、第3カメラCAM3がCAM1及びCAM2と同一直線上に位置していない場合、CAM1とCAM3との間のエピポーラ線のみならず、CAM1とCAM3との間のエピポーラ線が、画像を横切る対角線に沿って位置する。これについて、
図7及び
図8を参照して以下に更に詳細に説明する。
【0056】
一般的に言うと、高品質奥行きデータを、キャリブレーションずれの検出を可能にしながら供給することができるカメラ配置を設計する場合に少なくとも2つの競合するファクタが存在する。1つの注意事項は、遮蔽(例えば、少なくとも1台のカメラには見えるが、少なくとも1台の他のカメラには見えないシーンの一部の遮蔽)を低減させる、又は最小限に抑えることである。他の注意事項は、実際に発生すると予測される広範囲のキャリブレーションずれの可能性を検出することができることである。
【0057】
一般に、遮蔽は、カメラ群が互いに接近して配置される場合に低減する。
図3は、2台のカメラCAM1及びCAM2の間の遮蔽を示している。
図3に示すように、物体302は、カメラ(CAM1及びCAM2)と背景304との間に位置している。背景304の背景構成部分C−Dは、CAM1の視野から見えない。CAM2がCAM1から距離d
aの位置(a)に位置している場合、背景304の背景構成部分A−Dは、物体302に遮られる。したがって、背景構成部分A−Cは、CAM1には見えるが、CAM2には見えない。これとは異なり、CAM2がCAM1により近い位置(b)(CAM1から距離d
bの位置、d
b<d
a)に位置している場合、背景304のより小さな背景構成部分B−Dは、物体302に遮られる。その結果、遮蔽量は、背景構成部分A−Bのサイズだけ減少する。別の表現をすると、依然として背景構成部分B−CがCAM1に見えて、CAM2には見えないが、背景構成部分B−Cは背景構成部分A−Cよりも小さい。
【0058】
遮蔽は、対応する特徴点を画像中に特定する場合に問題となり得る。例えば、部分的に遮蔽されるシーン構成部分に検出される特徴点は、別の画像中ではなく1つの画像中に検出されることになるので、シーン中の特徴点の奥行きを求めることが不可能になる。別の例として、シーンの特徴点の色のような質感情報は、カラーカメラが撮像できないシーン構成部分について入手することもできない。
【0059】
3台以上のカメラを備える奥行きカメラシステムでは、カメラ群は必ずしも、同一直線上に位置している訳ではない。カメラ群が同一直線上に位置している場合、遮蔽は、カメラ群が形成する直線に直角な方向に沿って無くなるか、又は最小限に抑えられる。これとは異なり、遮蔽は、カメラが直線から外れると大きくなる。更に、カラーカメラを含む本発明の実施形態では、カラーカメラをマスターカメラ(例えば、結果的に得られる奥行き画像が視野に基づいて算出される場合の当該視野に対応するカメラ)により近接して配置することにより、遮蔽の影響を低減させることもできる。
【0060】
これとは異なり、以下に更に詳細に説明されるように、カメラ群のうち1台のカメラを「軸外に」配置することにより、システムは、様々な種類のキャリブレーションずれを検出する機能を向上させることができる。キャリブレーションがずれている状態又はキャリブレーションされた状態からずれた状態は、奥行き計算、及びカラー情報が奥行き情報でゆがむ場合のゆがみ計算(又は、カラー情報の融合計算)に影響を与えてしまう。具体的には、3眼配置からキャリブレーションずれが発生する場合、奥行きピクセル及びカラーピクセルが重なり合うことが正しくなくなる。重なり合うことが正しくない場合、ピクセルごとに撮像されるシーンの奥行きが正しくないか、又は同じシーンのカラーが正しくない可能性がある。この状態は、数ピクセルの誤差でも大きな誤差が生じてしまう物体のエッジにおいてかなり深刻になる。
【0061】
図4は、3台のカメラが同一直線上に位置する3眼システムの回転によるキャリブレーションずれを示している。
図4(a)は、3眼カメラシステムの正面図である。
図4(b)は、キャリブレーションずれが発生する前の3眼カメラシステムの上面図である。
図4(c)は、カメラシステムが変形した後の奥行きカメラシステムの上面図である。
図4(c)に示すように、回転による変形(例えば、カメラの取り付け先の支持体又はフレームの湾曲)により、CAM1及びCAM2が、カメラの原点軸に対してΨ度だけ回転し、互いに対して2Ψ度だけ回転している。この種類の変形は、温度、圧力、衝撃のような機械的原因により、又は他のカメラハンドリング問題に起因して起こり得る。非常に微小なキャリブレーションずれ(回転による変形)角度により巨視的な誤差が、視差測定に生じてしまい、したがって奥行き計算に生じてしまう。更に、3眼カメラシステムのカメラが同一直線上に位置する場合(例えば、
図2Aの配置の場合)、以下に更に詳細に説明するように、これらの誤差は検出するのが難しい。
【0062】
キャリブレーションされた状態からずれた状態又はキャリブレーションがずれている状態の検出
【0063】
図5Aは、平行等位化を行なった後のカメラペアのピンホールモデルの模式図である。以下の説明では、キャリブレーションされた状態のステレオカメラシステムにおけるエピポーラ線の計算について簡単に再考察する。これは、例えば Cambridge University Press (2004) に掲載された Hartley and Zisserman による「Multiple View Geometry in Computer Vision, Second Edition」と題する論文に記載されている。
【0064】
図5Aに示すように、焦点距離fを有するカメラCAM1及びCAM2は、距離Bだけ離間される。これらのカメラは、これらのカメラからz方向に沿って所定距離に位置するポイントpを含むシーンを撮像する。ポイントpを位置x
1にあるイメージセンサに、又はCAM1の撮像平面111に投影し、位置x
2にあるイメージセンサに、又はCAM2の撮像平面112に投影する。カメラペアの場合、内部キャリブレーションパラメータ及び外部キャリブレーションパラメータは、以下の通りに微調整することができる:
【数3】
【数4】
【数5】
【0065】
式中、Kは、全てがピクセル単位で測定されるf(焦点距離)、c
x及びc
y(レンズの中心と撮像平面の中心とのずれ量)を定義するカメラ内部パラメータを指し、Rは、カメラの回転量(この場合、カメラを回転させるのではないので、恒等行列I)を指し、Tは、マスターカメラに対するカメラの並進移動量(この場合、第1カメラCAM1がマスターカメラであると考えられるので、第1カメラは、第2カメラCAM2がCAM1からx方向に沿って遠ざかるように距離Bだけ並進移動している間に並進移動しない)を指している。これらのキャリブレーションパラメータは、上に説明したキャリブレーション作業中に決定することができ、組み付け後の奥行き知覚カメラシステムは、既知の状態に設定される。ステレオペアのキャリブレーション及び平行等位化が行なわれている状態のこの場合の基本行列Fは以下の通りである:
【数6】
【0066】
ポイントpが3次元空間中に以下の通りに与えられる:
【数7】
【0067】
ポイントpを、以下の式で与えられる位置x
1及びx
2にある2台のカメラに投影する:
【数8】
【数9】
【0068】
基本行列Fが与えられると、CAM2のエピポーラ線I
12の方程式を、カメラ1のポイントx
1の観測値に基づいて算出することができる:
【数10】
【0069】
これは、x
2のy座標値に対応する垂直シフト量を持って通過することによりエピポーラ線上に位置するようになる横線の方程式である。
【0070】
図5Bは、平行等位化を行なった後の、かつカメラ群のうち1台のカメラが回転を経た後のカメラペアのピンホールモデルの模式図である。以下の説明では、一般性を失うことなく、カメラ群のうち1台のみのカメラ(例えば、第2カメラCAM2)の焦点面が、キャリブレーションずれを起こす回転を経ているのに対し、基線(カメラCAM2とカメラCAM2との間の距離)は変化しておらず、他のカメラ又はカメラ群(例えば、第1カメラCAM1)の焦点面の角度は変化していないと仮定することとする。更に、奥行きカメラシステムは、ポイントpをシステムのカメラの視野内に投影する際の投影位置(空間中のポイントpの共役画像ポイントxと表記される)を、システムのキャリブレーションずれが発生する前のシステムに関するキャリブレーションパラメータに基づいて算出することができると仮定する。
【0071】
本発明の実施形態の態様は、1つ以上の照合画像ポイント(例えば、ポイントpにある特徴点に対応する撮影画像中の共役画像ポイントx)の分析結果に基づいて、奥行きカメラシステムが、キャリブレーション状態を維持することができなくなる(キャリブレーションがずれている状態になる、又はキャリブレーションされた状態からずれた状態になる)と判断するシステム及び方法に関するものである。一般的に言うと、キャリブレーションずれは、測定画像ポイントが、これらの画像ポイントが共役エピポーラ線上に発見されると予測される当該共役エピポーラ線から離れた箇所に位置している場合に検出することができる。共役画像ポイントxの位置を、共役画像ポイントがエピポーラ線上に現われると予測される当該エピポーラ線から外れるように共役画像ポイントを移動させることなく変化させてしまったキャリブレーションずれ現象は、シーン中の物体の奥行きに関する判断を妥当であるが正しくない判断にしてしまう。
【0072】
図5Bに示すように、CAM2は、Ψ度だけ回転し、その結果、ポイントpが、撮像平面又はイメージセンサ112’に、回転前の当該共役画像ポイントの位置x
2とは異なる新たな位置x^
2に投影される(イメージセンサ112で図示されるように)。この差異により、奥行きカメラシステムは、x
1とx
2との正しい視差よりもx
1とx^
2との視差が増えているので、ポイントpを、ポイントpが実際に位置する奥行きよりも長い奥行きを有するものとして間違って計算することになる。更に正式に表現すると、カメラ群のうち1台のカメラは、R(Ψ)の回転を経ている:
【数11】
更に、x^
2は、以下の通りに表現することができる:
【数12】
【0073】
図5Cは、変形を受ける前後それぞれの第1カメラCAM1の出力画像中の位置x
1、及び第2カメラCAM2の出力画像中の位置x
2及びx^
2を模式的に示している。
図5Cに示すように、位置x
1はCAM1のイメージセンサ111へのポイントpの投影点に対応する。CAM1の画像の位置x
1は、エピポーラ線132−1に沿って位置しているので、カメラCAM1及びカメラCAM2がキャリブレーション状態にある場合、CAM2のイメージセンサ112の位置x
2へのポイントpの投影点もエピポーラ線506上に位置している。
【0074】
しかしながら、
図5Cに示すように、CAM2が変形を受けた後、ポイント p は位置 x^
2 に投影される。x^
2とx
2との間のベクトルは「誤差」e(例えば、e=x^
2−x
2)と表記され、誤差eは、エピポーラ線506に平行な成分e
‖、及びエピポーラ線506と直交する成分e
⊥(又は、「エピポーラ線から外れる」成分)に分解することができる(例えば、e=e
⊥+e
‖)。
【0075】
概括すると、平行誤差e
‖は、ポイントpにある特徴点の画像が第2画像中の位置x
2にあることが普通、第1画像中の位置x
1に対応するエピポーラ線に沿ったいずれの箇所においても合理的である、又は妥当であることから殆ど検出することができないのに対し、エピポーラ線から外れる誤差e
⊥は、より容易に検出可能である。
【0076】
2台カメラシステムでは、基線に平行な軸線回りのカメラの回転、又は大きな回転成分を基線に平行な軸線回りに持つ回転のような数種類の回転により、エピポーラ線から外れる誤差e
⊥が非常に大きくなるが、これは、誤差を容易に検出して報告することができる、又は補正することができるので望ましい。
【0077】
これとは異なり、平行誤差又は「エピポーラ線上にある場合の」誤差e
‖は検出不能である可能性があり、キャリブレーションずれ現象は、e
⊥が観測されるために十分大きい場合に検出することもできる。例えば、y軸線回りの(例えば、エピポーラ線と直角な方向回りの)単純回転により、エピポーラ線と直角な方向回りの誤差e
⊥を殆ど無くすことができる。これらの種類の誤差は、取り付けボードがカメラ間の基線と直角な直線回りに湾曲する状況におけるような場合に現実的に起こり得る。
【0078】
本明細書における分析結果から分かるように、2台カメラシステムでは、キャリブレーションずれが、カメラが2台のカメラの間の基線と直角な軸線回りに回転することにより発生する場合、エピポーラ線から外れる場合の誤差e
⊥は普通、エピポーラ線上にある場合の誤差e
‖よりもずっと小さい(例えば、e
⊥≪e
‖)。したがって、この種類のキャリブレーションずれ現象が発生している状態では、ステレオシステムが、共役画像ポイントペアが現われることによりキャリブレーションずれが発生しているのを発見するのが難しい。したがって、必要なのは、キャリブレーションずれが発生している状態から大きなe
⊥誤差が生じて当該誤差を更に容易に検出可能なカメラシステムである。
【0079】
このようなことから、本発明の実施形態は、最も一般的な更に多種多様なキャリブレーションずれが発生している状況を検出することができる奥行きカメラシステムに関するものであり、奥行きカメラシステムは、同一直線上に位置していない少なくとも3台のカメラを含む。
【0080】
図6は、同一直線上に位置していない3台のカメラの異なる配置構成を有する本発明の2つの異なる実施形態を示しており、カメラ群のうち2台のカメラは、基線距離Bだけ離間される。
図6に示すように、1つの実施形態では、第3カメラCAM3は、最初の2台のカメラCAM1とCAM2との間の軸線に沿った中点からずれた位置607に位置して、3台のカメラが二等辺三角形を形成するようにし、二等辺三角形の2つの等角はαとして表わされる(また、第3角度は(180°−2α)度である)。本発明の別の実施形態では、第3カメラCAM3’は、カメラ群のうち1台のカメラ(CAM1)の「真上に」ある位置606に位置している、別の表現をすると、CAM1とCAM3’との間の基線B
1,3は、CAM1とCAM2との間の基線B
1,2に直角となって、3台のカメラが直角三角形を形成するようにし、CAM3’、CAM2と、CAM2、CAM1とがなす角度はφで表わされる。しかしながら、本発明の実施形態はこれに限定されない。例えば、CAM3は、CAM2の「真上に」配置してもよい、又はCAM2の真上の位置とCAM1の真上の位置との間の任意の位置に配置してもよい。例えば、3台のカメラCAM1、CAM2、及びCAM3が、不規則三角形を形成するようにしてもよい。第3カメラを位置CAM3に配置する理由は、キャリブレーションされた状態からずれた状態の検出性を向上させるためであり、第3カメラを位置CAM3’に配置する理由は、以下に説明されるように、CAM1とキャリブレーションされた状態からずれた状態の検出性がかなり低下している第3カメラとの間の遮蔽(
図3に示すような)を低減させるためである。
【0081】
図6に示す3台のカメラは、ほぼ重なり合う重畳視野(FOV)、又は共通視野を有する。例えば、全ての3台のカメラの向きは、シーンを撮像するために略同じ方向に設定され、3台のカメラの光軸は略平行とすることができる。
【0082】
図7は、カメラ群のうち1台のカメラのキャリブレーションずれが発生している状態の本発明の1つの実施形態による3眼カメラシステムを示している。
図7は、
図1と略同様であるので、同じである構成部分に関する説明は、ここでは繰り返さないものとする。
図7を参照するに、CAM1は、CAM1のキャリブレーションずれが発生しているものとして図示されており、カメラ中心121は、新たな位置121’にシフトしており、撮像平面111(点線で図示される)は回転して新たな位置111’(実線で図示される)に移動している。その結果、ポイントpがこの時点で、位置x^
1に投影される。また、キャリブレーションずれが発生することにより、共役エピポーラ線131−3の位置が131−3’にシフトしており、共役エピポーラ線133−1の位置が133−1’にシフトしている。キャリブレーションずれが発生している状態は、共役エピポーラ線132−1に殆どもしくは全く影響しなかったが、以下に更に詳細に説明するように、キャリブレーションずれが発生することにより生じるエピポーラ線133−1から133−1’に至るシフト量又は誤差702は大きく、検出可能である。
【0083】
本発明の実施形態による少なくとも3台のカメラを有する奥行きカメラシステムは幾つかの利点を提供し、利点は、例えば奥行きが、推論をシステム内の全てのカメラペア(例えば、3眼システム内の3つのカメラペアCAM1−CAM2,CAM1−CAM3,及びCAM2−CAM3)に由来する視差に基づいて行なうことにより算出することができること、及び更には、カラーカメラをグレースケールステレオペア又は赤外線ステレオペアに追加することにより、カラー情報を再構成後の3次元シーンに供給することができることである。
【0084】
3台のカメラを含む本発明の1つの実施形態では、カメラ群のうち2台のカメラを使用して、シーン中の様々なポイントの視差(したがって、奥行き)を算出するのに対し、第3カメラを使用してカラー情報を取得する。3つのカメラペアの各カメラペアは、複数の共役エピポーラ線で表わされるエピポーラ幾何学を定義する。更に詳細には、撮像平面111,112,及び113の各撮像平面の各位置又は各ピクセルは、他の撮像平面の対応する共役エピポーラ線に投影することができる。例えば、
図1及び
図7に示すように、位置x
1にある第1撮像平面111の位置又はピクセルを第2撮像平面112のエピポーラ線132−1に投影することができ(カメラペアCAM1−CAM2の場合)、更には、第3撮像平面113の共役エピポーラ線133−1に投影することができる(カメラペアCAM1−CAM3の場合)。同様に、第2撮像平面112の位置x
2を第1撮像平面111のエピポーラ線131−2に投影することができ、更には、第3撮像平面113の共役エピポーラ線に投影することができる。同じようにして、第3撮像平面113の位置x
3を第1撮像平面111のエピポーラ線131−3に投影することができ、更には、第2撮像平面112の共役エピポーラ線に投影することができる。
【0085】
図8は、CAM1,CAM2,及びCAM3を含む本発明の1つの実施形態による3台カメラシステムを示す平面模式図である。シーン中のポイントpを撮像し、CAM1,CAM2,及びCAM3の撮像平面の位置x
1、x
2、及びx
3にそれぞれ投影する。ペア(例えば、x
1−x
2、又はx
1−x
3、もしくはx
2−x
3)の位置の差異が視差に対応する。システムの残りの構成部材が同じ状態を保っている状態で、第2カメラCAM2のキャリブレーションずれが発生する(例えば、回転する)場合、シーンの同じポイントpはこの時点で、位置x^
2に投影される。
図5Cを参照して上に説明したように、x^
2とx
2との間の距離は、誤差eと表記される。
【0086】
図5Cに関する上の説明では、誤差eを2つの誤差成分:エピポーラ線上にある場合の誤差成分であって、エピポーラ線132−1(第1カメラCAM1と第2カメラCAM2との間のエピポーラ線)に平行な誤差成分e
‖、及びエピポーラ線から外れる場合の誤差成分であって、エピポーラ線132−1に直角な、又は直交する誤差成分e
⊥として表わすことができるのでe=e
‖+e
⊥が成り立つことに注目した。
【0087】
図5Cでは、2台のカメラCAM1及びCAM2しか考慮されていないが、エピポーラ線から外れる場合の誤差成分e
⊥は、エピポーラ線上にある場合の誤差成分e
‖よりも小さかった(例えばCAM2の向きの変化の殆どは、エピポーラ線132−1に直角な軸線回りの回転が原因であった)。幾つかの環境では、エピポーラ線から外れる場合の誤差成分e
⊥は、十分大きくはないことから検出可能ではなかった。
【0088】
しかしながら、状況は、第3カメラCAM3を追加する
図8の配置構成により変わる。CAM1とCAM2との間のエピポーラ線132−1と比較した場合の第1誤差e
1は同じままであり、e
1=e
1‖+e
1⊥ が成り立ち、e
1⊥は依然として比較的小さい(演算子+はこの場合、ベクトル加算である)。しかしながら、この環境では、CAM3とCAM2との間のエピポーラ線132−3を使用して第2誤差e
2の絶対値を導出することもでき(すなわち、eの上付き文字2であり、eの2乗ではない)、e
2=e
2‖+e
2⊥ が成り立つ(演算子+はこの場合、ベクトル加算である)。
図8から分かるように、e
2⊥ はe
1⊥もよりも遥かに大きいので、第2カメラCAM2のキャリブレーションずれが発生している状態の検出を可能にするために十分大きいのに対し、e
1⊥ は小さ過ぎて検出することができなかった。エピポーラ線から外れる場合の誤差の絶対値のこの差異は、第3カメラCAM3が他の2台のカメラCAM1及びCAM2と同一直線上に位置していないという理由で現われることにより、エピポーラ線132−3のような、2台のカメラを用いた場合のエピポーラ線が他の2台のカメラの間のエピポーラ線(例えば、CAM1とCAM2との間のエピポーラ線132−1)と平行ではなくなる。
【0089】
このように、奥行き知覚カメラシステムの少なくとも3台のカメラの配置が適正である場合、カメラの回転に起因するキャリブレーションずれ現象により、エピポーラ線から外れる場合の誤差が、システム内のカメラペア群のうち少なくとも1つのカメラペアについて顕著になる。これは、エピポーラ線から外れる場合の誤差の大きさが、キャリブレーションずれが発生しているカメラの回転軸線の方向によって異なるからである。この軸線が、1つのカメラペアの基線と直交し、かつペア中の第1カメラの焦点面に平行である場合、エピポーラ線から外れる場合の当該カメラペアについての微小な誤差e
⊥が予測される必要がある。しかしながら、幾何学から、この状況が、全てのカメラペアに同時には発生し得ないことが分かるので、少なくとも1つのカメラペアは、エピポーラ線から外れる場合の顕著な誤差e
⊥を有することになる。
【0090】
したがって、本発明の実施形態により、キャリブレーションずれ現象を、これらのキャリブレーションずれ現象を2眼カメラシステムにより発見できなかった場合でも検出することができる。3眼カメラシステムの場合、3台のカメラを正三角形に配置することにより、エピポーラ線から外れる場合のカメラペア間の誤差の絶対値をエピポーラ線上にある場合の誤差の絶対値で除算して得られる値の合計値を最大にすることができる。
【0091】
図9A及び
図9Bは、視差誤差の分析結果を、1台のカメラのキャリブレーションずれが発生している場合の、又は1台のカメラがy軸線回りに回転している場合の角度ψの関数として示すグラフである(これらの図では、視差誤差と表記される)。具体的には、
図9A及び
図9Bは、実際の視差誤差を示している、別の表現をすると、システムのキャリブレーションずれが発生しなかった場合の特徴点の予測位置xと、キャリブレーションずれが発生した後の特徴点の実際の検出位置x^との間のエピポーラ線の方向に沿ったピクセル単位の距離を示している。
【0092】
図9A及び
図9Bは更に、複数の状況におけるエピポーラ誤差(例えば、e
⊥)の上記モデルの分析結果を示している。具体的には、検出エピポーラ誤差が、2台カメラシステムに関して図示されており(
図9A及び
図9Bにおいて、「Epi err 2 views」と表記される)、2台のカメラの間の基線は、y軸線に直角なx軸線に沿って延びており、y軸線回りに、カメラ群のうち1台のカメラが回転する。
図9A及び
図9Bに更に図示されているのは、1台のカメラが基線カメラ群のうち1台の基線カメラの真上に位置するように配置される(例えば、
図6に示すような直角三角形として配置され、位置606にある第3カメラCAM3’は、
図9A及び
図9Bでは、「Epi err 3 view top master」と表記される)構成の3台カメラシステム、及び1台のカメラが、他の2台のカメラの間の中点の上方に配置される(例えば、
図6に示すような二等辺三角形として配置され、位置607にある第3カメラCAM3は、
図9A及び
図9Bでは、「Epi err 3 view middle」と表記される)構成の3台カメラシステムに関して検出されるエピポーラ誤差である。
【0093】
図9Aは、モデルシステムの分析結果を示しており、カメラ群のうち2台のカメラ(例えば、当該モデルにおいて、赤外線カメラであると仮定されるCAM1及びCAM2)の間の基線長は50.0mmであり、基線と第3カメラ(例えば、当該モデルにおいて、カラーカメラであると仮定されるCAM3)との間の距離は、位置607において43.3mmである。グラフの横軸は、スレーブカメラ(例えば、CAM2)がy軸線(例えば、基線と直角な方向に延び、かつ基線と第3カメラCAM3との間の直線に平行な軸線)回りに回転する場合の角度を表わし、縦軸は、ピクセル単位の誤差を表わしている。グラフは、実線で指示される視差誤差を含み、視差誤差は、特徴点の予測位置xとキャリブレーションずれが発生した後の特徴点の実際の位置x^との間のエピポーラ線に沿って投影される距離(例えば、|x − x^|)であり、グラフは更に、様々な点線で指示される異なる配置構成に対応するエピポーラ誤差を含み、エピポーラ誤差は、特徴点の予測位置xとキャリブレーションずれが発生した後の特徴点の実際の位置x^との間のエピポーラ線と直角な方向の投影距離(例えば、|x − x^|)である。モデルは、3Dポイント群が、カメラ群の視野をカバーする500.0〜5000.0mmの範囲の距離に位置していると仮定する。「color resolution factor(カラー分解能)」(
図9の「colorHDfact」)は、赤外線カメラCAM1及びCAM2の垂直解像度に対するカラーカメラCAM3の垂直解像度の比を指しており、この比は、当該モデルでは1.0であると仮定される(例えば、3台のカメラCAM1、CAM2、及びCAM3が同じ解像度を有していると仮定する)。予測されることであるが、スレーブカメラ又は第2カメラCAM2が回転しない(ゼロ角度である)場合、視差誤差は発生しない(ゼロピクセルである)。視差誤差は、キャリブレーションずれ角度が大きくなるにつれて大きくなる−これらの特定の状態では、視差誤差は、キャリブレーションずれ角度とともに直線的に大きくなり、
図2に示すように、25ピクセルよりも多くのピクセル誤差が、角度2度のキャリブレーションずれ、又は負の角度2度のキャリブレーションずれが発生する場合に予測される。角度2度のキャリブレーションずれは、カメラシステム幾何学の大きな変形であり、通常のカメラは、30度〜60度の範囲の視野を有することができるので、角度2度の変化により、視野に収まる物体の1/30〜1/15が変化することを理解されたい。
【0094】
しかしながら、2台カメラ配置構成では、例えば第1カメラCAM1及び第2カメラCAM2のみを用いる2台カメラ配置構成では、スレーブカメラCAM2が、角度2度と同じ程度に回転して、実際の視差誤差が25ピクセル超になる場合でも、エピポーラ線から外れる場合の誤差e
⊥は、曲線「Epi err 2 views」から分かるように非常に小さく、当該誤差が大きくなっても、角度2度のキャリブレーションずれが発生している状態で1ピクセルとなるに過ぎない。別の表現をすると、y軸線回りに2度未満の角度だけ回転することによりカメラのキャリブレーションずれが発生する場合、誤差を、対応する特徴点を探索する場合に検出することが難しくなるが、その理由は、特徴点が25ピクセル超、エピポーラ線上にある方向に沿ってシフトした場合でも、キャリブレーションずれにより特徴点が1ピクセル未満しか、エピポーラ線から外れる方向にシフトしないからである。
【0095】
本発明の幾つかの実施形態による他のカメラと同一直線上に位置していない第3カメラCAM3を追加することにより、これを大きく変えることができる。
図9Aから分かるように、第3カメラが、他の2台のカメラの間を延びる基線から43.3mmだけ外れて、かつマスターカメラ(例えば、CAM1)の真上に配置される場合、CAM2の回転は、「Epi err 3 view top master」の記号が付された曲線から分かるように、第3カメラCAM3とスレーブカメラ又は第2カメラCAM2との間のエピポーラ線から外れる場合の誤差e
⊥として検出可能である。例えば、スレーブカメラ又は第2カメラCAM2がy軸線回りに0.5度の角度だけ回転することにより、エピポーラ線から外れる場合の約4ピクセルの誤差が生じて、当該誤差をシステムが検出することができる。これとは異なり、2台カメラシステムでは、0.5度の角度だけ回転することにより、エピポーラ線から外れる場合の1ピクセル未満の誤差が生じることになって、当該誤差を検出できない可能性がある。
【0096】
幾つかの実施形態では、第3カメラCAM3が他のカメラの間の基線の中点の上方に配置される。これらの実施形態では、所定のキャリブレーションずれ角度に対応するエピポーラ誤差の大きさの増加は、「Epi err 3 view middle」の記号が付された曲線により表わされる。しかしながら、本発明の実施形態は、これに限定されない。
【0097】
図9Bは、
図9Aと同様であるが、カメラ群のうち2台のカメラの間の基線の長さを50.0mmから70.0mmに変えている。また、
図9Bに示す分析では、基線と第3カメラとの間の垂直距離を60.62mmに増やしている。
図9Bから分かるように、視差誤差の曲線「Epi err 2 views」、「Epi err 3 view top master」、及び「Epi err 3 view middle」は、
図9Aにおける曲線とほぼ同じであり、2台カメラ配置構成におけるエピポーラ線から外れる場合の誤差は、約2度の角度未満のキャリブレーションずれ現象について1ピクセル未満とすることができ、同一直線上に位置していない第3カメラは、エピポーラ線から外れる場合の誤差の大きさを大幅に増加させる。
【0098】
図9A及び
図9Bに提示されるデータは、分析方法を、上に説明した異なる装置に収容される広範囲の複数台カメラシステムの空間配置に適用することができることを示している。
キャリブレーションずれを検出する方法
【0099】
図10は、本発明の1つの実施形態による同一直線上に位置していない少なくとも3台のカメラを含む奥行きカメラシステムにおけるキャリブレーションずれ現象を検出する方法のフローチャートである。
図10を参照するに、奥行きカメラシステムのキャリブレーションずれを検出する方法1000では、特徴点(例えば、3台のカメラから見ることができるシーン中のポイントpにある特徴点)を、第1カメラ1010で撮影される第1画像中に、第2カメラ1020で撮影される第2画像中に、第3カメラ1030で撮影される第3画像中に、ほぼ同時に(例えば、同調して)検出する。
図8を参照するに、ポイントpにある特徴点は、位置x
1,x
2,及びx
3にそれぞれ現われる。
【0100】
操作1040では、第2画像中の第1共役エピポーラ線を、キャリブレーションパラメータ、及び第1画像中の特徴点の位置に基づいて特定する(例えば、
図8に示すように、第1共役エピポーラ線132−1を、第1カメラCAM1の撮像平面111内の位置x
1に基づいて特定する)。操作1050では、第2画像中の第2共役エピポーラ線を、キャリブレーションパラメータ、及び第3画像中の特徴点の位置に基づいて特定する(例えば、
図8に示すように、第2共役エピポーラ線132−3を、第3カメラCAM3の撮像平面113内の位置x
3に基づいて特定する)。共役エピポーラ線の特定では、例えば線位置を他の画像の検出特徴ポイント、及びキャリブレーションパラメータに基づいて計算することができ、これらのパラメータはキャリブレーション作業中に測定された。
【0101】
操作1060では、第2画像中の特徴点の検出位置(例えば、
図8のx^
2)と第1共役エピポーラ線(例えば、
図8のエピポーラ線132−1)との第1差異を計算する(例えば、この差異は、
図8に示すエピポーラ線から外れる場合の誤差e
⊥1に対応する)。同様に、操作1070では、第2画像中の特徴点の検出位置(この場合も
図8のx^
2と第2共役エピポーラ線(例えば、
図8のエピポーラ線132−3)との第2差異を計算する(例えば、この差異は、
図8に示すエピポーラ線から外れる場合の誤差e
⊥2に対応する)。
【0102】
操作1080では、第1差異を閾値と比較し、第2差異を閾値と比較する。第1差異及び第2差異の閾値は、同じとするか、又は異ならせることができる。これらの差異のうち少なくとも一方の差異が閾値よりも大きい場合、奥行きカメラシステム100は、カメラのキャリブレーションずれが発生していることを操作1090において検出する。しかしながら、これらの差異の両方の差異が、閾値を下回る(例えば、ゼロ)場合、奥行きカメラシステム100は、システムがキャリブレーションされた状態になっていることを操作1092において検出する。
【0103】
このような閾値は、ピクセル単位であり、カメラ解像度、特徴点検出及び照合操作に際する予測ノイズ、及び検出したいと考えられるキャリブレーション誤差量に従って設定することができる。
【0104】
本発明の他の実施形態では、キャリブレーションずれは、画像中の特徴点の予測位置に基づいて検出することができる。例えば、第1共役エピポーラ線及び第2共役エピポーラ線を操作1040及び1050において特定した後、特徴点の予測位置x
2は、第1共役エピポーラ線と第2共役エピポーラ線の交点の位置に基づいて計算することができる。次に、予測位置x
2と検出位置x^
2との差異を計算することができ、システムは、この差異が閾値を上回っていると判断すると、カメラのキャリブレーションずれが発生していると判断することができる。
【0105】
したがって、本発明の実施形態は、同一直線上に位置していない3台のカメラを含む奥行きカメラシステムのキャリブレーションずれを検出することができる。
奥行きカメラシステム内のカメラの空間配置
【0106】
本発明の実施形態では、奥行き検知カメラペア(CAM1及びCAM2で指示される)を結ぶ軸線に対してずれた位置にある第3カラーカメラ(例えば、CAM3で指示される)は、カメラ群のいずれかのカメラがキャリブレーションされた状態から、システムの残りの構成要素に対して(例えば、他の2台のカメラに対して)ずれた状態になる時点の検出も可能にしながら、シーンの融合カラー情報及び奥行き情報を略同時に取得することができる。
【0107】
図6を参照した上の説明から分かるように、3台のカメラの広範囲の空間構成が存在する。例えば、第3カメラCAM3が、第1カメラCAM1と第2カメラCAM2との間の基線の中点の上方の位置607に配置される第1構成では、基線と第3カメラCAM3と第1カメラ又は第2カメラとの間の直線とがなす角度をαと表わすことができる。別の構成では、第3カメラCAM3は位置606に配置することができ、第3カメラは、他のカメラ群のうち1台のカメラの真上に配置されて、第3カメラと第1カメラとの間の直線が、第1カメラと第2カメラとの間の基線と直角になり、第2カメラと第3カメラとの間の直線と当該基線とが角度φをなす。
【0108】
分析から、エピポーラ線から外れる場合のカメラペア間の誤差の絶対値をエピポーラ線上にある場合の誤差の絶対値で除算して得られる値の合計値は、3台のカメラが互いに等距離(例えば、正三角形)に位置する場合に最大になることが分かる。
【0109】
これとは異なり、上に説明したように、遮蔽は、これらのカメラが互いにより接近して配置される場合に低減される。
【0110】
このようなことから、キャリブレーションずれ検出機能及び遮蔽低減の両方を、同一直線上に位置していないシステムのカメラ群の配置構成を決定する際に考慮に入れる必要がある。遮蔽とキャリブレーションずれ検出性(及び/又は可能な限り大きな共通視野を有すること)のトレードオフから、多種多様なカメラ配置を、各最適化要素が与えられる場合に異なる重みを割り当てることにより想到することができる。また、最適な解決策の利点の90%又は95%をもたらす解決策のような良好であるが最適ではない配置構成を本発明の実施形態に、カメラ群の間のディスプレイ装置の配置のような他の設計制約に基づいて含めることもできる。
【0111】
図6を参照するに、カメラ群のうち2台のカメラは、互いに基線距離Bだけ離間される。1つの実施形態では、これらの2台のカメラは、赤外線カメラであり、奥行き計算を行なうために使用される。このようなことから、基線は、奥行きデータの精度を、目標物からカメラまでの距離の関数としてほぼ決定するファクタ群のうちの1つのファクタである。具体的には、奥行き精度は、以下の数式により与えられる:
【数13】
【0112】
式中、Δzは、奥行きを推定する際の精度又は統計的誤差であり、zは、目標物までの距離であり、fは、2台のカメラの焦点距離であり、Bは、2台のカメラの間の基線又は距離である。
図9A及び
図9Bのモデル化システムでは、基線長はそれぞれ50mm及び70mmであったが、本発明の実施形態は、これらには限定されない。
【0113】
平行等位化を行なった後の基線長B
1,2だけ離れたステレオペアの2台のカメラCAM1及びCAM2が、距離Z
Bにある背景(例えば、壁)を背景に、距離Z
Fにある前景の物体を観測する場合、各カメラにおける画像は、遮蔽された背景ピクセル領域(すなわち、ピクセル群のうち、1台のカメラから見えるが、他のカメラからは見えない背景の複数点の投影画素であるピクセル)を含む。各画像中の遮蔽領域(
図3参照)の面積は、前景物体の距離Z
F及び背景の距離Z
Bの関数であるのみならず、焦点距離fの関数である関数g(Z
F,Z
B,f)に基線B
1,2を乗算して得られる(便宜上、2台のカメラの焦点距離が同じ焦点距離fであると仮定する)。
【0114】
同様に、遮蔽量を、3眼システムにおいて焦点距離fを持つ第3カメラCAM3に関して計算する。例えば、第3カメラCAM3と、第1カメラCAM1で撮影される画像との間の遮蔽について考察する場合、画像上で測定される遮蔽量は、同じ関数g(Z
F,Z
B,f)に新規基線B
1,3(例えば、第1カメラCAM1と第3カメラCAM3との間の距離)を乗算して得られる値に等しい()。これらの2つの遮蔽面積(CAM1とCAM2との間の遮蔽面積、及びCAM1とCAM3との間の遮蔽面積)の比はしたがって、関数gが同じであるので、B
1,3/B
1,2に等しい。
【0115】
本発明の1つの実施形態では、第1カメラCAM1及び第2カメラCAM2は、基線距離B
1,2だけ離れ、基線距離B
1,2は、携帯電話、タブレット、又はラップトップコンピュータのようなカメラシステムを収容する物理装置のサイズのような注意事項に基づいて選択することができる。これとは異なり、第3カメラCAM3(例えば、カラーカメラ)の配置は、上の遮蔽比B
1,3/B
1,2の中のパラメータB
1,3を調整するように選択することができる。
【0116】
図11A、
図11B、
図11C、及び
図11Dは、本発明の実施形態による少なくとも3台のカメラを含む奥行きカメラシステムにおける遮蔽及びエピポーラ誤差検出の分析結果を示すグラフである。奥行きカメラシステムのカメラ群のうち2台のカメラは、基線に沿って一定距離に配置される。第3カメラは基線から離間され、グラフの横軸は、基線からの第3カメラの距離である。グラフの縦軸は、グラフで「ratio(比率)」と表記される性能指数を表わしている。
【0117】
1つの実施形態では、エピポーラ誤差検出性能指数は、エピポーラ線から外れる場合の全ての誤差の各誤差の絶対値を、エピポーラ線上にある場合の誤差の絶対値で除算して得られる値の合計値であり(「detected epi error(検出エピポーラ誤差)」の記号が付された曲線を参照)、遮蔽性能指数は、比率B
1,3/B
1,2である(「vertical/horizontal occlusion(垂直/水平遮蔽)」の記号が付された曲線を参照)。このようなことから、1つの実施形態では、エピポーラ線から外れる場合に検出される誤差、及び遮蔽量の両方を考慮に入れた性能指数は、
図11A及び
図11Bにおいて「det err-occlusion(検出誤差−遮蔽量)」の記号が付された曲線から分かるように、これらの性能指数の間の差異である。
【0118】
図11Aは、3台のカメラを備える奥行きカメラシステムの分析結果を示すグラフであり、カメラ群のうち2台のカメラは、長さ50mmの基線に沿って配置される。
図11Aに示すように、かつ上に説明したように、「detected epi error」曲線は、3台のカメラが正三角形に配置される場合、例えば第3カメラが基線から約43.3mmの距離の位置に配置される場合に最大値を有する。遮蔽指数「vertical/horizontal occlusion」は、第3カメラと他のカメラとの間の距離が最小になる場合(言い換えれば、3台のカメラが同一直線上に位置している場合)に最小になるが、これにより、「detected epi error」指数も最小になって望ましくない。このようなことから、「det err-occlusion」と表わされる2つの性能指数の差異を
図11に更に示す。この曲線は、約35.6度の角度α(
図6に図示される通りの)に対応する約17.9mmの位置に最大値を有する。
【0119】
図11Bは、3台のカメラを備える奥行きカメラシステムの分析結果を示すグラフであり、カメラ群のうち2台のカメラは、長さ70mmの基線に沿って配置される。
図11Bは、
図11Aとほぼ同様であり、基線が長いので距離に目盛りを付けているが(例えば、幾何学により、「detected epi error」の最大値は、約60.6mmに位置し、「det err-occlusion」の最大値は約25.1mmに位置している)、エピポーラ線から外れる場合に検出される誤差を大きくする、又は最大にするとともに、遮蔽量を低減させる、又は最小にすることを考慮に入れた性能指数(「det err-occlusion」)の最大値に対応する角度αは依然として、約35.6度の角度に最大値を有する。
【0120】
約35.6度の角度αが本発明の実施形態によるカメラシステムの幾つかの配置構成に最適であるが、本発明の実施形態はこれに限定されず、「det err-occlusion」指数が良好な性能範囲に収まる(例えば、約35.6度の角度に位置する最大値の75%超)範囲の角度αも含む。例えば、前記百分位数で表示される場合、角度α及び垂直基線の範囲は、以下の通りに推定することができる:75%では、αは、約19.8〜約48.9度の範囲の角度であり、垂直基線は、9.0〜28.7mmの範囲であり;80%では、αは、約21.6〜約47.6度の範囲の角度であり、垂直基線は、9.9〜27.4mmの範囲であり;85%では、αは、約23.7〜約46.1度の範囲の角度であり、垂直基線は、11.0〜26.0mmの範囲であり;90%では、αは、約26〜約44.3度の範囲の角度であり、垂直基線はそれに応じて、12.2〜24.4mmの範囲であり;95%では、αは、28.9〜41.9度の範囲の角度であり、垂直基線はそれに応じて、13.8〜22.4mmの範囲である。
図11Aに示す90%百分位数及び95%百分位数の位置の横線は、例示のためにのみ図示されており、寸法通りにはなっていない。
【0121】
本発明について特定の好適な実施形態に関連付けながら説明してきたが、本発明は開示の実施形態に限定されるのではなく、添付の特許請求の範囲、及び特許請求の範囲の均等物の趣旨及び範囲に含まれる様々な変形物及び等価な配置構成を包含するものとする。
【0122】
例えば、本発明の幾つかの実施形態が、奥行き知覚3眼(又は、3台カメラ)システムに関連して上に説明されているが、本発明の実施形態はこれに限定されず、4台以上のカメラを有する奥行き知覚システムに適用することができる。カメラの配置構成を計算により求める作業は、システム内のカメラ群の全てのカメラに関する遮蔽量及びキャリブレーションずれコストの重み付け平均に基づいて行なわれる。
【0123】
図11C及び
図11Dは、3台のカメラを備える本発明の1つの実施形態による奥行きカメラシステムの分析結果を示すグラフであり、カメラ群のうち2台のカメラは、長さ50mmの基線に沿って配置され、カメラ群のうち1台のカメラは、他の2台のカメラよりも高い解像度を有する。上の説明では、便宜上、これらのカメラは同じ解像度を有していると仮定した。しかしながら、実際には、カラーカメラは普通、赤外線カメラ(例えば、奥行き計算に使用されるカメラ)よりもずっと高い解像度(例えば、百万画素の数倍程度の解像度)を有する。
図11C及び
図11Dは、本明細書において提示される方法を、異なる解像度及び略同じ視野のカメラを備える3眼システムに適用することもできることを示している。詳細には、
図11C及び
図11Dでは、第3カメラ(例えば、CAM3)が、2.0の解像度倍率(本明細書では、幾つかの実施形態において、「カラー解像度倍率」とも表記される)を有すると仮定して、垂直方向及び水平方向の両方向に2倍の解像度を持つカメラであることを示唆しているので、他の基線カメラ(例えば、CAM1及びCAM2)の解像度の合計2x2=4倍の解像度を有することを示唆している。例えば、CAM1及びCAM2が共に、640ピクセル×480ピクセルの解像度を有し、CAM3が、1280ピクセル×960ピクセルの解像度を有する場合、解像度倍率は2.0である(例えば、1280ピクセル/640ピクセル=2.0及び960ピクセル/480ピクセル=2.0)。「color resolution factor(カラー解像度倍率)」という用語は、本明細書では、カラーカメラが他のカメラ(例えば、カラーカメラ以外のカメラ)よりも高い解像度を有することを提案示唆するために使用されるが、本発明の実施形態はこれに限定されず、より高い解像度を有するカメラは、カラーカメラである必要はなく、より低い解像度を有するカメラとは異なるスペクトル光を撮影する必要もない。例えば、全ての3台のカメラは、カラーカメラ又は可視光カメラとすることができ、全ての3台のカメラは赤外線カメラ、又はこれらの赤外線カメラの様々な組み合わせとすることができ、これらのカメラのいずれかのカメラは、他のカメラよりも高い解像度を有することができる。
【0124】
図11Cはしたがって、同じ50mmの基線長を有する
図11Aと同様であるが、第3カメラの解像度が異なっている。
図11Dは、第3カメラが、「color resolution factor(カラー解像度倍率)」=1.0(
図11Aと同じであり、字幕「color res f.=1.0」が付されている)を有する場合のエピポーラ誤差と、第3カメラが、「color resolution factor(カラー解像度倍率)」=2.0(
図11Cと同じであり、字幕「color res f.=2.0」が付されている)を有する場合のエピポーラ誤差とを、他の2台のカメラの間の基線又は軸線に対する第3カメラのmm単位の垂直位置(
図11Dのx軸に沿って図示される)の関数として比較している。この実施形態では、第3カメラ(例えば、CAM3)がより高い解像度を有することにより第3カメラを、
図11Aの実施形態(1.0のカラー解像度倍率を有する)の同じ誤差検出性能を維持しながら、他の2台のカメラ(例えば、CAM1及びCAM2)の基線軸に、カラー解像度倍率が2.0の場合に、17.9mmから9.9mmにより接近させることができる。これは、「カラー解像度倍率」1.0曲線に対応する17.9mmの最適垂直位置(
図11Dにおいて「opt vert pos, color res f.=1.0,17.9[mm]」の記号が付された点線垂直線で図示される)からカラー解像度倍率2.0曲線までの横線を辿って、同じ性能を有するカラー解像度倍率2.0曲線の対応部分を発見して、この交点が、垂直基線と水平基線とがなす角度が21.6度となる9.9mmの垂直位置に対応していることを特定することにより、当該図から明らかになる。
図3に示すように、2台のカメラの間の基線距離を短距離化することにより、不所望な遮蔽の影響を低減させることもできる。このように、
図11Dを参照して説明される実施形態は、カラー解像度倍率が1.0である実施形態と同じ誤差検出機能を、遮蔽の影響を低減させながら維持することができる。
図11Cは更に、「det err-occlusion」指数が最大値の75%以内に収まる角度αの範囲が、約38.6度の角度である本発明の1つの実施形態を示している。前記百分位数で表示される場合、角度αは、約21.4度〜約53.4度の範囲であり、垂直基線長(50.0mmの水平基線長が与えられる場合)は、9.8mm〜33.7mmの範囲である。同様の範囲を、他の実施形態について計算することができる。「det err-occlusion」指数が最大値の80%以内に収まる1つの実施形態では、角度αの範囲は、約23.4度〜約51.9度の範囲である(例えば、約10.8〜約31.9mmの範囲の垂直基線長)。「det err-occlusion」指数が最大値の85%以内に収まる1つの実施形態では、角度αの範囲は、約25.5度〜約50.3度の範囲である(例えば、約11.9〜約30.1mmの範囲の垂直基線長)。「det err-occlusion」指数が最大値の90%以内に収まる1つの実施形態では、角度αの範囲は、約28.0度〜約48.2度の範囲である(例えば、約13.3〜約28.0mmの範囲の垂直基線長)。「det err-occlusion」指数が最大値の95%以内に収まる1つの実施形態では、角度αの範囲は、約31.3度〜約45.5度の範囲である(例えば、約15.2〜約25.4mmの範囲の垂直基線長)。
【0125】
図11A、
図11B、
図11C、及び
図11Dは、本発明の幾つかの好適な実施形態を示している。例えば、
図11Aは、1.0のカラー解像度倍率を有するシステムの分析結果を示しており、
図11Cは、2.0のカラー解像度倍率を有するシステムの分析結果を示しているが、本発明の実施形態はこれらには限定されず、本発明の実施形態は、異なるカラー解像度倍率を有するシステムを包含することもできる。分析的に、キャリブレーションされた状態からずれた状態の検出性、及び本発明の垂直基線と水平基線との間の遮蔽の低減に最適な角度αは、以下の通りに表現することができる:
【数14】
式中、
【数15】
が成り立ち、r は、解像度倍率であり、argmax
α{expression} は、表現式を最大化するα値を発見する既知の関数である。また、上に説明したように、最適角度 α
optimal 近傍の角度 α の範囲は、性能が最適に近い場合の範囲として計算することができる(例えば、最適角度 α
optimal における性能の75%以上、90%以上、又は95%以上となる角度範囲)。