(57)【要約】【課題】簡単な構成で、全天周に存在する物体などのそれぞれについて視点からの距離を把握することができるようにする。【解決手段】撮像部２０１は、カメラ２１１とカメラ２１２を制御して、それぞれのカメラにより異なる方向から球面ミラー２２０の画像を撮像する。マッピング処理部２０２は、カメラ２１１により撮像された画像のデータから球面ミラー２２０の画像を抽出し、球面ミラー２２０の画像を仮想的な円筒にマッピングする処理を行う。解析部２０３は、マッピングされたカメラ２１１の画像とカメラ２１２の画像のペアの各画素について差分絶対値を算出する。距離推定部２０４は、各画素位置の差分絶対値の最小値を検索して、最小値に対応する半径を特定し、その半径を当該画素の被写体の球面ミラー２２０の中心からの距離として記憶する。【選択図】図８
2012190299.tif 000002
【特許請求の範囲】
【請求項１】
複数のカメラにより異なる方向から球面ミラーを撮像する撮像部と、
前記複数のカメラにより撮像された前記球面ミラーの画像のそれぞれにおける対応する画素の値に基づいて、前記球面ミラーに写った物体の距離を推定する距離推定部と
を備える画像処理装置。
【請求項２】
前記それぞれのカメラにより撮像された前記球面ミラーの画像の画素を、前記球面ミラーの中心を通る軸を有し、所定の半径を有する円筒状のスクリーンにマッピングしてマッピング画像を生成するマッピング部をさらに備え、
前記距離推定部は、
前記マッピング画像の画素に基づいて、前記球面ミラーに写った物体の距離を推定する
請求項１に記載の画像処理装置。
【請求項３】
前記マッピング部は、
前記球面ミラーの中心を原点とした３次元空間において、前記球面ミラーの表面上の点の座標と、前記カメラのレンズの中心の座標とを特定することで、前記球面ミラーの表面上の点に入射または反射する光の方向を示すベクトルを特定し、
前記特定されたベクトルに基づいて、前記前記球面ミラーの表面上の点に対応する画素を前記円筒状のスクリーンにマッピングする
請求項２に記載の画像処理装置。
【請求項４】
前記マッピング部は、
複数のカメラにより撮像された前記球面ミラーの画像のそれぞれについて、前記円筒状のスクリーンの半径の値として、複数の異なる値を設定して、前記マッピング画像を複数生成し、
前記距離推定手段は、
前記複数の半径の値毎に、前記円筒状のスクリーンにマッピングされた前記マッピング画像のそれぞれにおける対応する画素の値の差分絶対値を算出し、
前記算出された差分絶対値の最小値が得られたマッピング画像の前記半径の値を特定することで、前記球面ミラーに写った物体の距離を推定する
請求項３に記載の画像処理装置。
【請求項５】
前記球面ミラーの中心の点を重心とした正三角形の頂点に配置された３台のカメラにより、前記球面ミラーが撮像される
請求項１に記載の画像処理装置。
【請求項６】
前記マッピング画像を構成する各画素について推定された距離を、前記画素位置と対応づけて記憶し、デプスマップを生成するデプスマップ生成手段をさらに備える
請求項１に記載の画像処理装置。
【請求項７】
撮像部が、複数のカメラにより異なる方向から球面ミラーを撮像し、
距離推定部が、前記複数のカメラにより撮像された前記球面ミラーの画像のそれぞれにおける対応する画素の値に基づいて、前記球面ミラーに写った物体の距離を推定するステップ
を含む画像処理方法。
【請求項８】
コンピュータを、
複数のカメラにより異なる方向から球面ミラーを撮像する撮像部と、
前記複数のカメラにより撮像された前記球面ミラーの画像のそれぞれにおける対応する画素の値に基づいて、前記球面ミラーに写った物体の距離を推定する距離推定部とを備える画像処理装置として機能させる
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置および方法、並びにプログラムに関し、特に、簡単な構成で、全天周に存在する物体などのそれぞれについて視点からの距離を把握することができるようにする画像処理装置および方法、並びにプログラムに関する。
【背景技術】
【０００２】
近年、いわゆる３Ｄテレビなどの普及、カーナビゲーションシステムなどの高精度化、ロボットの実用化などに伴って、画像の中の被写体の位置（カメラからの距離）などを把握するニーズが高まっている。
【０００３】
例えば、画像の中の被写体の位置とカメラとの距離を特定し、いわゆるデプスマップを作成することも行われている。
【０００４】
しかしながら、従来のカーナビゲーションシステムなどに用いられる地図情報などの多くは、カメラで撮像した画像に、レーザー距離計などから得られる距離の情報を付加することにより生成されていた。このため、カメラ以外のセンサを用いることなく、被写体の距離を把握できるようにする技術が期待されている。
【０００５】
例えば、同一の被写体を異なる位置からカメラで撮像することなどにより、被写体のカメラからの距離を把握することができる。なお、複数のカメラ位置から同一の被写体を撮像することはステレオ撮像とも称されている。
【０００６】
また、実際に３Ｄ画像などを作成する際には、画像の中の各物体についてのカメラからの距離を把握する必要がある。つまり、所定の被写体とともに、その周囲の物体などのそれぞれについてもカメラからの距離を把握する必要がある。
【０００７】
例えば、２つの双曲面ミラーを上下に配置することによって上下の視差を生じさせ、全周囲のステレオ撮像が可能な構成が提案されている（例えば、非特許文献１参照）。
【０００８】
また、単一の円錐ミラーを２つの異なる距離から撮像することによって上下に視差を生じさせ、全周囲のステレオ撮像が可能な構成も提案されている（例えば、非特許文献２参照）。
【０００９】
さらに、回転する光学系を利用して全周囲のステレオ撮像を行うことも提案されている（例えば、非特許文献３参照）。
【００１０】
これらの技術によれば、簡単に所定の被写体とともに、その周囲の物体などのそれぞれについてもカメラからの距離を把握することが可能となるものの、双曲面ミラー、円錐ミラー、回転する光学系などを設ける必要がある。
【００１１】
また、比較的簡単に入手できる球面ミラーを用いたステレオ撮像を行うことも提案されている（例えば、非特許文献４参照）。
【００１２】
【非特許文献１】Construction and Presentation of a Virtual Environment Using Panoramic Stereo Images of a Real Scene and Computer Graphics Models
【非特許文献２】Axial-Cones：Modeling Spherical Catadioptric Cameras for Wide-Angle Light Field Rendering
【非特許文献３】Omnistereo video imaging with rotating optics
【非特許文献４】Axial light field for curved mirrors
【発明の開示】
【発明が解決しようとする課題】
【００１３】
しかしながら、非特許文献１乃至非特許文献３の技術では、上述したように、双曲面ミラー、円錐ミラー、回転する光学系などを設ける必要がある。双曲面ミラー、円錐ミラー、回転する光学系などは、例えば、規格品や普及品などとして流通しているものとは言えず、簡単に入手することは困難である。
【００１４】
また、非特許文献１のように、カメラと双曲面ミラーをそれぞれ上下に配置する構成は、例えば、日常の生活空間において現実的に採用しづらく、非特許文献３では、光学系として円偏光フィルムを利用しているため画質に制約があった。
【００１５】
さらに、非特許文献１乃至非特許文献４のいずれの技術を用いても、上下左右前後方向のいずれをも含む周囲（全天周と称される）の画像をステレオ撮像することはできていない。
【００１６】
本発明はこのような状況に鑑みてなされたものであり、簡単な構成で、全天周に存在する物体などのそれぞれについて視点からの距離を把握することができるようにするものである。
【課題を解決するための手段】
【００１７】
本発明の一側面は、複数のカメラにより異なる方向から球面ミラーを撮像する撮像部と、前記複数のカメラにより撮像された前記球面ミラーの画像のそれぞれにおける対応する画素の値に基づいて、前記球面ミラーに写った物体の距離を推定する距離推定部とを備える画像処理装置である。
【００１８】
前記それぞれのカメラにより撮像された前記球面ミラーの画像の画素を、前記球面ミラーの中心を通る軸を有し、所定の半径を有する円筒状のスクリーンにマッピングしてマッピング画像を生成するマッピング部をさらに備え、前記距離推定部は、前記マッピング画像の画素に基づいて、前記球面ミラーに写った物体の距離を推定するようにすることができる。
【００１９】
前記マッピング部は、前記球面ミラーの中心を原点とした３次元空間において、前記球面ミラーの表面上の点の座標と、前記カメラのレンズの中心の座標とを特定することで、前記球面ミラーの表面上の点に入射または反射する光の方向を示すベクトルを特定し、前記特定されたベクトルに基づいて、前記前記球面ミラーの表面上の点に対応する画素を前記円筒状のスクリーンにマッピングするようにすることができる。
【００２０】
前記マッピング部は、複数のカメラにより撮像された前記球面ミラーの画像のそれぞれについて、前記円筒状のスクリーンの半径の値として、複数の異なる値を設定して、前記マッピング画像を複数生成し、前記距離推定手段は、前記複数の半径の値毎に、前記円筒状のスクリーンにマッピングされた前記マッピング画像のそれぞれにおける対応する画素の値の差分絶対値を算出し、前記算出された差分絶対値の最小値が得られたマッピング画像の前記半径の値を特定することで、前記球面ミラーに写った物体の距離を推定するようにすることができる。
【００２１】
前記球面ミラーの中心の点を重心とした正三角形の頂点に配置された３台のカメラにより、前記球面ミラーが撮像されるようにすることができる。
【００２２】
前記マッピング画像を構成する各画素について推定された距離を、前記画素位置と対応づけて記憶し、デプスマップを生成するデプスマップ生成手段をさらに備えるようにすることができる。
【００２３】
本発明の一側面は、撮像部が、複数のカメラにより異なる方向から球面ミラーを撮像し、距離推定部が、前記複数のカメラにより撮像された前記球面ミラーの画像のそれぞれにおける対応する画素の値に基づいて、前記球面ミラーに写った物体の距離を推定するステップを含む画像処理方法である。
【００２４】
本発明の一側面は、コンピュータを、複数のカメラにより異なる方向から球面ミラーを撮像する撮像部と、前記複数のカメラにより撮像された前記球面ミラーの画像のそれぞれにおける対応する画素の値に基づいて、前記球面ミラーに写った物体の距離を推定する距離推定部とを備える画像処理装置として機能させるプログラムである。
【００２５】
本発明の一側面においては、複数のカメラにより異なる方向から球面ミラーが撮像され、前記複数のカメラにより撮像された前記球面ミラーの画像のそれぞれにおける対応する画素の値に基づいて、前記球面ミラーに写った物体の距離が推定される。
【発明の効果】
【００２６】
本発明によれば、簡単な構成で、全天周に存在する物体などのそれぞれについて視点からの距離を把握することができる。
【図面の簡単な説明】
【００２７】
【図１】球面ミラーをカメラで撮像する場合の例を示す図である。
【図２】図１の人物から見た球面ミラーの例を示す図である
【図３】人物が図１矢印のそれぞれの位置で球面ミラーを撮像した画像の例を示す図である。
【図４】カメラで撮像された球面ミラーの画像の例を示す図である。
【図５】図４のように撮像された球面ミラーとカメラを含む空間を３次元空間で表す図である。
【図６】図５を斜めから見た図である。
【図７】球面ミラーに写った物体の位置を特定する方式を説明する図である。
【図８】本技術を適用した画像処理装置の一実施の形態に係る構成例を示すブロック図である。
【図９】デプスマップ作成処理の例を説明するフローチャートである。
【図１０】画像マッピング処理の例を説明するフローチャートである。
【図１１】画像解析処理の例を説明するフローチャートである。
【図１２】距離推定処理の例を説明するフローチャートである。
【図１３】デプスマップ生成処理についてさらに説明する図である。
【図１４】デプスマップ生成処理についてさらに説明する図である。
【図１５】２台のカメラを用いて球面ミラーを撮像した場合の有効画角について説明する図である。
【図１６】３台のカメラを用いて球面ミラーを撮像した場合の有効画角について説明する図である。
【図１７】パーソナルコンピュータの構成例を示すブロック図である。
【発明を実施するための形態】
【００２８】
以下、図面を参照して、本発明の実施の形態について説明する。
【００２９】
最初に球面ミラーの特性について説明する。
【００３０】
例えば、双曲面ミラーなどにより反射される光は1点に集中するが、球面ミラーから反射された光は1点に集中しない。
【００３１】
例えば、図１に示されるように、球面ミラー３１に人物４１、カメラ４２、およびカメラ４３が写っている場合を考える。なお、カメラ４２とカメラ４３は、所定の距離だけ離れた位置に配置されている。
【００３２】
人物４１から球面ミラー３１を見た場合、図２に示されるように見える。図２は、人物４１がコンパクトデジタルカメラを使って球面ミラー３１を撮像した場合に得られる画像を示す図である。同図の中央には球面ミラー３１が写っており、球面ミラー３１の中央に人物４１の画像が写っており、また、球面ミラー３１の左右下側にカメラ４２とカメラ４３の画像が写っている。
【００３３】
ここで、人物４１が移動した場合、球面ミラーの表面に写る画像がどのように変化するかを考える。図３は、人物が図１の図中の矢印５１乃至矢印５３の位置から球面ミラー３１をコンパクトデジタルカメラで撮像した場合に得られる画像を示す図である。また、図３の例では、垂直方向の角度（vertical angle）を変化させて球面ミラー３１をコンパクトデジタルカメラで撮像した画像が示されている。
【００３４】
図１の紙面に表される方向が水平方向であるとした場合、図１の紙面の奥行方向が垂直方向となる。ここでは、球面ミラー３１の中心とコンパクトデジタルカメラのレンズの中心を結ぶ線（コンパクトデジタルカメラの光軸）が地面と平行となる位置を０°とした場合の角度をvertical angleと称している。
【００３５】
図３では、人物が図１の図中の矢印５１乃至矢印５３のそれぞれの位置において、vertical angleが０°、４０°、７０°となるように球面ミラー３１をコンパクトデジタルカメラで撮像した画像が示されている。つまり、コンパクトデジタルカメラの位置を、水平方向に３通り（矢印５１、矢印５２、矢印５３）、垂直方向に３通り（vertical angleが０°、４０°、７０°）変化させて得られた９枚の画像が示されている。
【００３６】
図３に示される９枚の画像のそれぞれにおいて、カメラ４２とカメラ４３は、常に、球面ミラー３１の表面上の２つの位置に写っている。つまり、どの位置から撮像しても、球面ミラー３１に写ったカメラ４２とカメラ４３の画像が重なって見えることはない。
【００３７】
このことは、２つのカメラで球面ミラーを介して被写体を撮像すれば、常に、視差を有する画像を撮像することが可能であることを意味している。
【００３８】
次に、球面ミラーに写った画像と実世界における物体の位置の関係について説明する。
【００３９】
例えば、図４に示されるように、所定の位置から球面ミラーを撮像する場合を考える。図４は、球面ミラーの中心から所定の距離だけ離れた位置からカメラで撮像した球面ミラーの画像の例を示す図である。撮像された球面ミラーの画像には、球面ミラーの周囲に配置された物体の画像が写っている。
【００４０】
いま、図５に示されるように、図４のように撮像された球面ミラーとカメラを含む空間を（ｘ，ｙ，ｚ）の３次元空間で表すこととする。いまの場合、ｚ軸は図中の水平方向の軸とされ、ｙ軸は図中の垂直方向の軸とされ、ｘ軸は図中奥行方向（紙面と垂直となる方向）の軸とされている。図５においてｚ軸上の球の中心からの距離Ｄとなる点にカメラを設置して球面ミラーを撮像するものとする。
【００４１】
図５に示されるように、ｘ軸を紙面と垂直となる方向の軸とする場合、球面ミラーの輪郭線は（ｚ，ｙ）平面上の円として表されるようにすることもできる。また、カメラの位置は、（ｚ，ｙ）平面上の座標（Ｄ，０）として表されるようにすることもできる。
【００４２】
図５に示される球面ミラーの輪郭線の円上の１点を極座標（ｒ，φ）で表すこととする。ここで、φは、球面ミラーの輪郭線の円上の１点と球面ミラーの中心点を結んだ線が（ｘ，ｙ）平面上においてなす角度を意味するものとなる。ただし、円の半径を１とし、３時の位置がφ＝０°、１２時の位置がφ＝９０°であるものとする。例えば、図５における球面ミラーの輪郭線の円上の１点である点Ｐは、φ成分が９０°であり、点Ｐと球面ミラーの中心点を結んだ線が（ｚ，ｙ）平面上においてなす角度がθとなる。
【００４３】
そうすると、球面ミラーの輪郭線の円は式（１）により表すことができる。
【００４４】
【数１】
2012190299.tif 000003
・・・（１）
【００４５】
図５における球面ミラーの輪郭線の円上の１点とカメラの位置とを結ぶ直線は、見込像高（すなわち、極座標（ｒ，φ）におけるｒ成分）が１であるとき、球面ミラーの輪郭線の円と接することになる。従って、図５における球面ミラーの輪郭線の円上の１点である点Ｐとカメラの位置である点Ｃを結ぶ直線ＰＣは、式（２）により表すことができる。
【００４６】
【数２】
2012190299.tif 000004
・・・（２）
【００４７】
式（１）と式（２）より、点Ｐの座標（ｙ，ｚ）を式（３）によって求めることができる。
【００４８】
【数３】
2012190299.tif 000005
・・・（３）
【００４９】
また、球面ミラーの表面の１点で反射する光は、球面の法線に対する角度と同じ角度で反射する。つまり、球面ミラーの表面の１点からカメラのレンズに入射する光の方向は、カメラのレンズと球面ミラーの表面の１点を結ぶ直線が球面の法線に対してなす角度を求めることができれば、自ずと定まる。すなわち、図５における直線ＣＰが図中の点線で示される法線に対してなす角度である角度γを求めれば、球面ミラーの表面の点Ｐに写っている物体の方向を特定できる。従って、球面ミラーの表面の点Ｐに写っている物体は、図中の矢印１０１で示される方向に位置していることが分かる。
【００５０】
図６は図５を斜めから見た図である。すなわち、図５においては、ｘ軸が紙面と垂直となる方向の軸とされ、図中の点として表現されていたが、図６の場合、ｘ軸が紙面と垂直ではなく、ｘ軸が直線とされている。なお、図５においては、便宜上、点Ｐにおけるφ成分が９０°であるものとされていたが、図６の場合、点Ｐにおけるφ成分が０°を超える９０°未満の所定の角度とされている。
【００５１】
また、図６においては、点Ｐで反射してカメラのレンズに入射した光により撮像された物体が点Ｓに位置していたものとされている。
【００５２】
ここで、θはarccosｚにより求めることができるので、球面ミラーの表面の１点である点Ｐを、球の極座標として式（４）のように表すことができる。
【００５３】
【数４】
2012190299.tif 000006
・・・（４）
【００５４】
また、上述したように、球面ミラーの表面の１点で反射する光は、その点における球面の法線に対する角度と同じ角度で反射する。すなわち、カメラ（のレンズ）の位置である点Ｃと点Ｐを結ぶ線が球面の法線に対してなす角度と、物体の位置である点Ｓと点Ｐを結ぶ直線が球面の法線に対してなす角度は常に等しくなる。そうすると、直線ＰＣから得られる単位長のベクトルと、直線ＰＳから得られる単位長のベクトルを加算して得られるベクトルは、常に、球の中心点Ｏと点Ｐを結ぶ直線ＯＰと平行になる。すなわち、式（５）が成立する。
【００５５】
【数５】
2012190299.tif 000007
・・・（５）
【００５６】
なお、式（５）の││は平行を意味する記号とされる。
【００５７】
式（４）、式（５）より、カメラから見た場合の点Ｐにおける光の反射方向のベクトル（すなわち、点Ｐに入射した光の方向を示すベクトル）を、式（６）により求めることができる。
【００５８】
【数６】
2012190299.tif 000008
・・・（６）
【００５９】
以上のことから、例えば、図４に示されるように撮像された球面ミラーに写っている物体が実世界において存在している方向を特定することが可能となる。ただし、カメラのレンズから球面ミラーの中心までの距離が既知であるものとする。
【００６０】
ここまでは、１台のカメラで球面ミラーを撮像して、球面ミラーに写っている物体が実世界において存在している方向を特定する方式を説明したが、２台のカメラで球面ミラーを撮像すれば、球面ミラーに写っている物体が実世界において存在している位置を特定することができる。
【００６１】
例えば、図７に示されるように、カメラ１２１とカメラ１２２により、球面ミラー１３１を別の方向から撮像する。この例では、カメラ１２１とカメラ１２２は、球面ミラー１３１の中心点からの距離がそれぞれ等しくなる位置であって、図中の水平方向の直線に対して対称となる位置に配置されている。
【００６２】
カメラ１２１により撮像された球面ミラーの画像においては、点Ｐ１に物体１３２が写っていたものとする。また、カメラ１２１により撮像された球面ミラーの画像においては、点Ｐ２に物体１３２が写っていたものとする。
【００６３】
上述したように、１台のカメラで球面ミラーを撮像して、球面ミラーに写っている物体が実世界において存在している方向を特定することができるので、点Ｐ１と点Ｐ２から各々物体１３２の方向を示すベクトルを特定することが可能である。そして、特定されたベクトルのそれぞれを延長して得られる直線が交差する点を求めれば、物体１３２が実世界において存在している位置を特定することができる。
【００６４】
本技術においては、このように複数のカメラにより球面ミラーを撮像し、撮像された球面ミラーに写っている物体の位置を特定できるようにする。
【００６５】
ただし、実際にカメラ１２１とカメラ１２２により撮像した画像のそれぞれにおいて球面ミラーに写った歪んだ画像を解析するなどして物体１３２がそれぞれどの部分に写っているのかを特定することは難しい。
【００６６】
そこで、本技術においては、球面ミラーの中心の位置を軸とした円筒形のスクリーンに球面ミラーに写った画像をマッピングして解析する。例えば、図６に示されるように、球面ミラーの周りを円筒で囲み、円筒の内側の面に球面ミラーに写った画像をマッピングしていくのである。なお、図６において図中垂直方向の２本の直線により円筒が表されており、この円筒の中心となる軸はｙ軸と一致する。なお、この円筒は、便宜上内部が透けて見えるように表現されている。
【００６７】
上述したように、図６のカメラの位置である点Ｃは既知であるから、カメラにより撮像された画像において、球面ミラーの表面の点Ｐに対応する画素を、円筒の内側の点Ｓにマッピングすることができる。つまり、撮像された球面ミラーの各画素を、式（６）により求められたベクトルに基づいて、円筒の内側に貼り付けるのである。こうすると、円筒の内側に、球面ミラーに写っていた物体の画像が表示されることになる。
【００６８】
そして、円筒を図中の垂直な直線で切り開いて、あたかも長方形（または正方形）のスクリーンとなるように展開する。そうすると、球面ミラーの各画素がマッピングされた長方形（または正方形）の画像を得ることができる。勿論、円筒は仮想的な存在であり、実際には、演算により画像を得ることができる。
【００６９】
このように、例えば、２台のカメラにより撮像された球面ミラーの画像から、２つの長方形（または正方形）の画像を得て、所定の領域の画素について各画像の差分絶対値を算出する。そして、２つの画像の差分絶対値がほぼ０となる部分の領域に表示されている物体について、その物体の球面ミラーの中心からの距離が、円筒の半径と同じ値であると推定することができる。
【００７０】
例えば、図７に示される球面ミラー１３１の中心点と同じ点を中心とする同心円１４１−１乃至１４１−５を、それぞれ円筒状のスクリーンであるとする。なお、同図の場合、それぞれの円筒は、紙面と垂直の方向に所定の高さを有するものとなる。
【００７１】
カメラ１２１により撮像された画像と、カメラ１２２により撮像された画像のそれぞれを、半径がＲである同心円１４１−３に対応する円筒に球面ミラー１３１の各画素をマッピングし、その円筒を切り開いて、長方形の画像として展開する。この場合、カメラ１２１により撮像された画像とカメラ１２２により撮像された画像のそれぞれにおいて、物体１３２が長方形の画像の中で同一の位置に表示されることになる。
【００７２】
一方、カメラ１２１により撮像された画像と、カメラ１２２により撮像された画像のそれぞれを、半径がＲより小さい同心円１４１−４に対応する円筒に球面ミラー１３１の各画素をマッピングし、その円筒を切り開いて、長方形の画像として展開する。この場合、カメラ１２１により撮像された画像においては、物体１３２は点Ｓ１に対応する位置に表示され、カメラ１２２により撮像された画像においては、物体１３２は点Ｓ２に対応する位置に表示される。
【００７３】
また、カメラ１２１により撮像された画像と、カメラ１２２により撮像された画像のそれぞれを、半径がＲより大きい同心円１４１−２に対応する円筒に球面ミラー１３１の各画素をマッピングし、その円筒を切り開いて、長方形の画像として展開する。この場合、カメラ１２１により撮像された画像においては、物体１３２は点Ｓ１１に対応する位置に表示され、カメラ１２２により撮像された画像においては、物体１３２は点Ｓ１２に対応する位置に表示される。
【００７４】
このように、円筒の半径をＲとした場合にのみ、カメラ１２１により撮像された画像とカメラ１２２により撮像された画像のそれぞれにおいて、物体１３２が長方形の画像の中で同一の位置に表示されることになる。従って、物体１３２の球面ミラー１３１の中心からの距離と等しい半径の円筒に球面ミラー１３１の各画素をマッピングした場合、物体１３２の画素の差分絶対値が０となる。
【００７５】
このことから、複数の異なる半径の円筒のそれぞれに、カメラ１２１により撮像された画像と、カメラ１２２により撮像された画像のそれぞれをマッピングさせて、２つの画像の差分絶対値を求めることにより、撮像された球面ミラーに写っている物体の位置を特定できることが分かる。換言すれば、差分絶対値と円筒の半径の値から、撮像された球面ミラーに写っている物体が球面ミラーの中心からどの程度離れた位置に存在しているのかを特定することができる。
【００７６】
また、本技術においては、球面ミラーの画像が撮像され、撮像された球面ミラーに写っている物体（被写体）の画像が解析されるようにした。球面ミラーに上下左右方向のどの方向に存在する物体も写っているので、通常のカメラを用いて、上下左右方向のどの方向に存在する被写体をもとらえることができるようになる。例えば、図７に示されるように、カメラ１２１とカメラ１２２を配置すれば、球面ミラー１３１の上下左右前後方向のいずれをも含む周囲（全天周と称される）の画像を撮像することが可能となる。
【００７７】
図８は、本技術を適用した画像処理装置の一実施の形態に係る構成例を示すブロック図である。この画像処理装置２００は、球面ミラーを用いて全天周の画像をステレオ撮像し、画像の中の被写体のデプスマップを作成するようになされている。なお、デプスマップは、被写体の画素とカメラ（または球面ミラーの中心）からの距離とを対応づけて得られるデータとされる。
【００７８】
同図に示されるように、画像処理装置２００は、撮像部２０１、マッピング処理部２０２、解析部２０３、距離推定部２０４、およびデプスマップ処理部２０５を有する構成とされている。
【００７９】
撮像部２０１は、自身に接続されたカメラ２１１とカメラ２１２を制御して、それぞれのカメラにより異なる方向から球面ミラー２２０の画像を撮像する。撮像部２０１は、カメラ２１１により撮像された画像のデータと、カメラ２１２により撮像された画像のデータのそれぞれを、マッピング処理部２０２に供給するようになされている。
【００８０】
マッピング処理部２０２は、カメラ２１１により撮像された画像のデータから球面ミラー２２０の画像を抽出し、球面ミラー２２０の画像を仮想的な円筒にマッピングする処理を行う。また、マッピング処理部２０２は、同様に、カメラ２１２により撮像された画像のデータから球面ミラー２２０の画像を抽出し、球面ミラー２２０の画像を仮想的な円筒にマッピングする処理を行う。例えば、図６、図７を参照して説明したように、撮像された球面ミラーの各画素を、式（６）により求められたベクトルに基づいて、仮想的に円筒の内側に貼り付けることで、マッピングする。
【００８１】
なお、画像処理装置２００において、球面ミラー２２０、カメラ２１１、カメラ２１２の配置などに係る情報が予め登録されているものとする。すなわち、画像処理装置２００において、球面ミラー２２０の半径、並びに球面ミラー２２０の中心を原点とした場合の、（ｘ，ｙ，ｚ）空間におけるカメラ２１１のレンズの位置の座標、およびカメラ２１１のレンズの位置の座標が既知であるので、式（６）の演算を行うことができる。
【００８２】
さらに、マッピング処理部２０２は、仮想的な円筒の半径を段階的に変更し、各半径の円筒に球面ミラー２２０の画像をマッピングする。例えば、半径がＲ１の円筒、半径がＲ２の円筒、・・・半径がＲｎの円筒にそれぞれマッピングする。そして、マッピング処理部２０２は、各半径に対応づけて、上述のようにマッピングされたカメラ２１１の画像とカメラ２１２の画像のペアを、解析部２０３に供給するようになされている。
【００８３】
解析部２０３は、マッピング処理部２０２によりマッピングされたカメラ２１１の画像とカメラ２１２の画像のペアの各画素について差分絶対値を算出するようになされている。解析部２０３は、円筒の半径（例えば、半径がＲ１、半径がＲ２、・・・半径がＲｎのそれぞれ）毎に上述したように、各画素について差分絶対値を算出する。
【００８４】
そして、解析部２０３は、半径、画素位置（例えば、画素の座標）、および差分絶対を対応付けたデータを距離推定部２０４に供給するようになされている。
【００８５】
距離推定部２０４は、解析部２０３から供給されたデータに基づいて、各画素位置の差分絶対値の最小値を検索する。そして、差分絶対値の最小値に対応する半径を特定し、その半径を当該画素の被写体の球面ミラー２２０の中心からの距離として記憶する。これにより、球面ミラー２２０に写った画像を構成する各画素について、球面ミラー２２０の中心からの距離が記憶されることになる。
【００８６】
デプスマップ処理部２０５は、距離推定部２０４の処理の結果得られたデータを用いてデプスマップを生成するようになされている。
【００８７】
次に、図９のフローチャートを参照して、図８の画像処理装置２００によるデプスマップ作成処理の例について説明する。
【００８８】
ステップＳ２１において、撮像部２０１は、複数のカメラで球面ミラー２２０の画像を撮像する。撮像部２０１は、例えば、自身に接続されたカメラ２１１とカメラ２１２を制御して、それぞれのカメラにより球面ミラー２２０の画像を撮像する。撮像部２０１は、カメラ２１１により撮像された画像のデータと、カメラ２１２により撮像された画像のデータのそれぞれを、マッピング処理部２０２に供給する。
【００８９】
ステップＳ２２において、マッピング処理部２０２は、図１０を参照して後述するマッピング処理を実行する。
【００９０】
ここで、図１０のフローチャートを参照して、図９のステップＳ２２のマッピング処理の詳細な例について説明する。
【００９１】
ステップＳ４１において、マッピング処理部２０２は、ステップＳ４４の処理で後述する円筒の半径を設定する。円筒の半径として、例えば、Ｒ１、Ｒ２、・・・Ｒｎのそれぞれが予め定められており、例えば、半径としてＲ１、Ｒ２、・・・Ｒｎのそれぞれが、１つずつ順番にセットされる。ステップＳ４１では、例えば、最初は半径がＲ１が設定される。
【００９２】
ステップＳ４２において、マッピング処理部２０２は、図９のステップＳ２１の処理で第１のカメラ（例えば、カメラ２１１）により撮像された画像のデータから球面ミラー２２０の画像を抽出する。
【００９３】
ステップＳ４３において、マッピング処理部２０２は、球面ミラーの表面の各点に対応する画素のそれぞれについて、入射する光のベクトルを求める。このとき、例えば、上述した式（６）の演算が行われ、ベクトルが求められる。
【００９４】
ステップＳ４４において、マッピング処理部２０２は、ステップＳ４３の処理で求めたベクトルに基づいて、ステップＳ４２の処理で抽出した球面ミラー２２０の画像の画素のそれぞれを、仮想的に円筒の内側に貼り付けることで、マッピングする。これにより、カメラ２１１により撮像された球面ミラー２２０の画像をマッピングした長方形（または正方形）の画像が生成されることになる。このようにして生成された画像を第１のカメラのマッピング画像と称することにする。
【００９５】
ステップＳ４５において、マッピング処理部２０２は、図９のステップＳ２１の処理で第２のカメラ（例えば、カメラ２１２）により撮像された画像のデータから球面ミラー２２０の画像を抽出する。
【００９６】
ステップＳ４６において、マッピング処理部２０２は、球面ミラーの表面の各点に対応する画素のそれぞれについて、入射する光のベクトルを求める。このとき、例えば、上述した式（６）の演算が行われ、ベクトルが求められる。
【００９７】
ステップＳ４７において、マッピング処理部２０２は、ステップＳ４６の処理で求めたベクトルに基づいて、ステップＳ４５の処理で抽出した球面ミラー２２０の画像の画素のそれぞれを、仮想的に円筒の内側に貼り付けることで、マッピングする。これにより、カメラ２１２により撮像された球面ミラー２２０の画像をマッピングした長方形（または正方形）の画像が生成されることになる。このようにして生成された画像を第２のカメラのマッピング画像と称することにする。
【００９８】
ステップＳ４８において、マッピング処理部２０２は、ステップＳ４４の処理で生成された第１のカメラのマッピング画像と、ステップＳ４７の処理で生成された第２のカメラのマッピング画像とからなるマッピング画像のペアを、ステップＳ４１の処理で設定された半径と対応づけて保存する。
【００９９】
ステップＳ４９において、マッピング処理部２０２は、円筒の半径としてＲｎが設定されているか否かを判定する。例えば、いまの場合、半径としてＲ１が設定されているので、ステップＳ４９では、半径としてＲｎが設定されていないと判定され、処理は、ステップＳ５０に進む。
【０１００】
ステップＳ５０において、半径が変更される。例えば、Ｒ１からＲ２に変更される。そして、処理は、ステップＳ４１に戻る。そして、上述した処理が、半径をＲ２、Ｒ３、・・・Ｒｎとした場合についてそれぞれ実行される。
【０１０１】
ステップＳ４９において、円筒の半径としてＲｎが設定されていると判定された場合、処理は、終了する。
【０１０２】
このようにして、画像マッピング処理が実行される。
【０１０３】
図９に戻って、ステップＳ２２の処理の後、処理は、ステップＳ２３に進む。ステップＳ２３において、解析部２０３は、図１１を参照して後述する画像解析処理を実行する。
【０１０４】
ここで、図１１のフローチャートを参照して、図９のステップＳ２３の画像解析処理の詳細な例について説明する。
【０１０５】
ステップＳ７１において、解析部２０３は、円筒の半径をセットする。例えば、半径としてＲ１、Ｒ２、・・・Ｒｎのそれぞれが、１つずつ順番にセットされる。
【０１０６】
ステップＳ７２において、解析部２０３は、ステップＳ４８の処理で保存されたマッピング画像のペアを取得する。例えば、ステップＳ７１で半径としてＲ１がセットされている場合、Ｒ１に対応付けられて保存されているマッピング画像のペアが取得される。
【０１０７】
ステップＳ７３において、解析部２０３は、ステップＳ７２の処理で取得されたマッピング画像のペアからそれぞれ対応する画素を抽出する。例えば、マッピング画像の画素を（ｘ，ｙ）座標で表現するものとし、第１のカメラのマッピング画像の座標（０，１）の画素と第２のカメラのマッピング画像の座標（０，１）の画素が、対応する画素として抽出される。
【０１０８】
ステップＳ７４において、解析部２０３は、ステップＳ７３の処理で抽出した画素の差分絶対値を演算する。
【０１０９】
ステップＳ７５において、解析部２０３は、ステップＳ７１でセットされた半径、ステップＳ７３で抽出された画素の画素位置（例えば、画素の座標）、およびステップＳ７４で演算された差分絶対を対応付けて記憶する。
【０１１０】
ステップＳ７６において、次の画素があるか否かが判定される。マッピング画像の全ての座標の画素についての差分絶対値の演算がなされていない場合、ステップＳ７６では、次の画素があると判定される。
【０１１１】
ステップＳ７６において、次の画素があると判定された場合、処理は、ステップＳ７２に戻り、それ以降の処理が繰り返し実行される。例えば、今度は、座標（０，２）の画素について差分絶対値が演算される。
【０１１２】
ステップＳ７６において、次の画素がないと判定された場合、処理は、ステップＳ７７に進む。
【０１１３】
ステップＳ７７において、解析部２０３は、円筒の半径としてＲｎが設定されているか否かを判定する。例えば、いまの場合、半径としてＲ１が設定されているので、ステップＳ７７では、半径としてＲｎが設定されていないと判定され、処理は、ステップＳ７８に進む。
【０１１４】
ステップＳ７８において、半径が変更される。例えば、Ｒ１からＲ２に変更される。そして、処理は、ステップＳ７１に戻る。そして、上述した処理が、半径をＲ２、Ｒ３、・・・Ｒｎとした場合についてそれぞれ実行される。
【０１１５】
ステップＳ７７において、円筒の半径としてＲｎが設定されていると判定された場合、処理は、終了する。
【０１１６】
このようにして、画像解析処理が実行される。
【０１１７】
なお、ここでは、１画素毎に差分絶対値が演算される例について説明したが、例えば、所定数の画素で構成される矩形の領域毎に差分絶対値和が演算され、その差分絶対値和が、当該領域の中心の座標、および半径と対応づけられて記憶されるようにしてもよい。
【０１１８】
図９に戻って、ステップＳ２３の処理の後、処理は、ステップＳ２４に進む。
【０１１９】
ステップＳ２４において、距離推定部２０４は、図１２を参照して後述する距離推定処理を実行する。
【０１２０】
ここで、図１２のフローチャートを参照して、図９のステップＳ２４の距離推定処理の詳細な例について説明する。
【０１２１】
ステップＳ９１において、距離推定部２０４は、画素位置をセットする。例えば、マッピング画像の画素を（ｘ，ｙ）座標で表現するものとし、個々の座標が１つずつ順番にセットされるようになされている。
【０１２２】
ステップＳ９２において、距離推定部２０４は、ステップＳ９１でセットされた画素位置に対応づけられて記憶されている差分絶対値の最小値を特定する。このとき、例えば、ステップＳ７５の処理で記憶されたデータが検索されて、当該画素位置における差分絶対値の最小値が特定される。
【０１２３】
ステップＳ９３において、距離推定部２０４は、ステップＳ９２の処理で特定された差分絶対値に対応づけられて記憶されている半径を特定する。
【０１２４】
ステップＳ９４において、距離推定部２０４は、ステップＳ９３の処理で特定された半径を当該画素位置の距離として記憶する。すなわち、当該画素位置の画素に対応する被写体について、実世界において球面ミラー２２０の中心からの距離が推定される。
【０１２５】
ステップＳ９５において、距離推定部２０４は、次の画素があるか否かを判定する。まだ、全ての座標の画素についての距離の推定がなされていない場合、ステップＳ９５では、次の画素があると判定される。
【０１２６】
ステップＳ９５において、次の画素があると判定された場合、処理は、ステップＳ９１に戻り、それ以降の処理が繰り返し実行される。
【０１２７】
ステップＳ９５において、次の画素がないと判定された場合、処理は、終了する。
【０１２８】
このようにして距離推定処理が実行される。
【０１２９】
なお、ここでは、１画素毎に距離が推定される例について説明したが、例えば、所定数の画素で構成される矩形の領域毎に距離が推定されるようにしてもよい。
【０１３０】
図９に戻って、ステップＳ２４の処理の後、処理は、ステップＳ２５に進む。
【０１３１】
ステップＳ２５において、デプスマップ処理部２０５は、ステップＳ２４の処理の結果得られたデータを用いてデプスマップを生成する。
【０１３２】
このようにして、デプスマップ生成処理が実行される。
【０１３３】
図１３と図１４は、デプスマップ生成処理についてさらに説明する図である。
【０１３４】
図１３に示される画像２５１と画像２５２は、図９のステップＳ２１の処理で撮像された画像であって、カメラ２１１により撮像された画像（画像２５１）と、カメラ２１２により撮像された画像（画像２５２）の例を示す図である。
【０１３５】
同図に示される画像２６１−１乃至画像２６１−３は、図１０のステップＳ４４で生成される第１のカメラのマッピング画像の例を示す図である。この例では、画像２６１−１は、円筒の半径（Ｒ）が９.０ｒとされてマッピングされた画像とされ、画像２６１−２は、円筒の半径（Ｒ）が６.６ｒとされてマッピングされた画像とされ、画像２６１−３は、円筒の半径（Ｒ）が４.８ｒとされてマッピングされた画像とされている。
【０１３６】
また、同図に示される画像２６２−１乃至画像２６２−３は、図１０のステップＳ４７で生成される第２のカメラのマッピング画像の例を示す図である。この例では、画像２６２−１は、円筒の半径（Ｒ）が９.０ｒとされてマッピングされた画像とされ、画像２６２−２は、円筒の半径（Ｒ）が６.６ｒとされてマッピングされた画像とされ、画像２６２−３は、円筒の半径（Ｒ）が４.８ｒとされてマッピングされた画像とされている。
【０１３７】
図１４は、図９のステップＳ２５の処理で生成されるデプスマップの例を示す図である。この例では、デプスマップが画像として生成されており、球面ミラー２２０の中心から近い位置の被写体に対応する画素はより白く、球面ミラー２２０の中心から遠い位置の被写体に対応する画素はより黒く表示されている。このようにすることで、例えば、各被写体の遠近感を一目で認識させることができる。
【０１３８】
図１４に示したデプスマップは、一例であり、これとは異なる方式のデプスマップが生成されるようにしてもよい。
【０１３９】
このように、本技術を適用した画像処理装置を用いれば、球面ミラーを用いて全天周のステレオ撮像を行って、デプスマップを生成することができる。
【０１４０】
例えば、入手しづらい双曲面ミラー、円錐ミラー、回転する光学系などを用いる必要がなく、一般に流通している球面ミラーがあれば足りる。また、カメラと双曲面ミラーをそれぞれ上下に配置するなど、日常の生活空間において現実的に採用しづらい構成を採用しなくとも、上下左右前後方向のいずれをも含む周囲の画像をステレオ撮像することができる。従って、カメラを適切に配置すれば、全天周のどの方向の画像でも、ステレオ撮像することができる。
【０１４１】
このように、本技術によれば、簡単な構成で、全天周に存在する物体などのそれぞれについて視点（例えば、球面ミラー）からの距離を把握することができる。
【０１４２】
ところで、以上においては、画像処理装置２００において、２台のカメラを用いて球面ミラー２２０を撮像する例について説明したが、カメラを３台以上用いる構成としてもよい。
【０１４３】
例えば、図１５に示されるように、球面ミラーの中心の点に対して点対称となる位置にカメラ２１１とカメラ２１２を配置すれば、全天周の画像を撮像することができるものの、適切に被写体の距離を推定できる範囲は限られたものとなる。すなわち、適切に被写体の距離を推定するためには、カメラ２１１により撮像された球面ミラー２２０の画像とカメラ２１２により撮像された球面ミラー２２０の画像に同一の被写体が写っている必要がある。
【０１４４】
いずれか一方のカメラにより撮像された球面ミラー２２０の画像にのみ写っている被写体の距離は適切に推定することはできない。このため、被写体の距離を推定することができるのは、図１５に示される有効画角の範囲内に被写体が位置する場合となる。図１５の有効画角の範囲外（非有効画角）に位置する被写体は適切に距離を推定することができない。なお、カメラ２１１とカメラ２１２をそれぞれ球面ミラー２２０からもっと遠ざけて配置すれば、有効画角をより大きくすることは可能であるが、非有効画角を０とすることはできない。
【０１４５】
すなわち、カメラが２台の構成の場合、全天周の画像を同時にステレオ撮像することはできない。
【０１４６】
例えば、図１６のように、３台のカメラを配置することにより、非有効画角を０とすることが可能である。図１６の例では、例えば、図８の撮像部２０１に、新たなカメラ２１３を接続し、カメラ２１１乃至カメラ２１３の３台のカメラで球面ミラー２２０の画像を撮像するようになされている。いまの場合、球面ミラーの中心の点を重心とした正三角形の各頂点にカメラ２１１乃至カメラ２１３のそれぞれが配置されている。このようにすることで、図１６に示される空間内のいずれの位置の被写体も、少なくとも２台のカメラによって撮像された球面ミラー２２０の画像のそれぞれに写っていることになる。すなわち、図１６に示される空間内のいずれの位置の被写体についても、同時にステレオ撮像することができ、適切に距離を推定することが可能となる。
【０１４７】
また、カメラを４台、５台、・・・とした構成を採用することも可能である。
【０１４８】
以上においては、画像処理装置２００によりデプスマップを生成する例について説明したが、例えば、画像処理装置２００を用いたセキュリティカメラが構成されるようにしてもよい。上述したように、画像処理装置２００を用いて全天周の画像を得ることができるので、例えば、カメラを配置しづらい場所の画像なども簡単に取得することができるからである。
【０１４９】
なお、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできる。上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば図１７に示されるような汎用のパーソナルコンピュータ７００などに、ネットワークや記録媒体からインストールされる。
【０１５０】
図１７において、ＣＰＵ（Central Processing Unit）７０１は、ＲＯＭ（Read Only Memory）７０２に記憶されているプログラム、または記憶部７０８からＲＡＭ（Random Access Memory）７０３にロードされたプログラムに従って各種の処理を実行する。ＲＡＭ７０３にはまた、ＣＰＵ７０１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０１５１】
ＣＰＵ７０１、ＲＯＭ７０２、およびＲＡＭ７０３は、バス７０４を介して相互に接続されている。このバス７０４にはまた、入出力インタフェース７０５も接続されている。
【０１５２】
入出力インタフェース７０５には、キーボード、マウスなどよりなる入力部７０６、ＬＣＤ(Liquid Crystal display)などよりなるディスプレイ、並びにスピーカなどよりなる出力部７０７、ハードディスクなどより構成される記憶部７０８、モデム、LANカードなどのネットワークインタフェースカードなどより構成される通信部７０９が接続されている。通信部７０９は、インターネットを含むネットワークを介しての通信処理を行う。
【０１５３】
入出力インタフェース７０５にはまた、必要に応じてドライブ７１０が接続され、磁気ディスク、光ディスク、光磁気ディスク、或いは半導体メモリなどのリムーバブルメディア７１１が適宜装着され、それらから読み出されたコンピュータプログラムが、必要に応じて記憶部７０８にインストールされる。
【０１５４】
上述した一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、インターネットなどのネットワークや、リムーバブルメディア７１１などからなる記録媒体からインストールされる。
【０１５５】
なお、この記録媒体は、図１７に示される、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク（フロッピディスク（登録商標）を含む）、光ディスク（CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む）、光磁気ディスク（MD（Mini-Disk）（登録商標）を含む）、もしくは半導体メモリなどよりなるリムーバブルメディア７１１により構成されるものだけでなく、装置本体に予め組み込まれた状態でユーザに配信される、プログラムが記録されているＲＯＭ７０２や、記憶部７０８に含まれるハードディスクなどで構成されるものも含む。
【０１５６】
なお、本明細書において上述した一連の処理は、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１５７】
また、本発明の実施の形態は、上述した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において種々の変更が可能である。
【符号の説明】
【０１５８】
２００  画像処理装置，  ２０１  撮像部，  ２０２  マッピング処理部，  ２０３  解析部，  ２０４  距離推定部，  ２０５  デプスマップ処理部，  ２１１  カメラ，  ２１２  カメラ，  ２２０  球面ミラー
【図１】
2012190299.tif 000009
【図２】
2012190299.tif 000010
【図３】
2012190299.tif 000011
【図４】
2012190299.tif 000012
【図５】
2012190299.tif 000013
【図６】
2012190299.tif 000014
【図７】
2012190299.tif 000015
【図８】
2012190299.tif 000016
【図９】
2012190299.tif 000017
【図１０】
2012190299.tif 000018
【図１１】
2012190299.tif 000019
【図１２】
2012190299.tif 000020
【図１３】
2012190299.tif 000021
【図１４】
2012190299.tif 000022
【図１５】
2012190299.tif 000023
【図１６】
2012190299.tif 000024
【図１７】
2012190299.tif 000025