説明

画像処理装置および方法、記録媒体並びにプログラム

【課題】正確に3次元座標を検出できるようにする。
【解決手段】取得部が、魚眼レンズを介して撮影した画像である魚眼画像を取得し、変換部が、魚眼画像を変換して、変換画像を生成し、認識部が、変換画像から認識対象の画像を認識する。本発明は画像処理装置に適用することができる。

【発明の詳細な説明】
【技術分野】
【0001】
本技術は画像処理装置および方法、記録媒体並びにプログラムに関し、特に正確に3次元座標を検出することができるようにした画像処理装置および方法、記録媒体並びにプログラムに関する。
【背景技術】
【0002】
カメラにおいて魚眼レンズが使用される場合がある。魚眼レンズは360度の範囲の画像を撮像できるため、例えば周囲を全体的に監視するのに好適である。
【0003】
このような魚眼レンズを有するカメラをロボットの頭上に配置し、周囲を観察することが提案されている(例えば特許文献1)。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2008−210403号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、魚眼レンズを用いたカメラにより撮像された画像はひずみが大きいので、その画像から、そこに写されている被写体の3次元位置を正確に推定することは困難である。
【0006】
本技術はこのような状況に鑑みてなされたものであり、正確に3次元座標を検出できるようにする。
【課題を解決するための手段】
【0007】
本技術の一側面は、魚眼レンズを介して撮影した画像である魚眼画像を取得する取得部と、前記魚眼画像を変換して、変換画像を生成する変換部と、前記変換画像から認識対象の画像を認識する認識部とを備える画像処理装置である。
【0008】
前記変換画像は、前記魚眼画像を円筒面上に展開した展開画像とすることができる。
【0009】
前記展開画像上の前記認識対象の画像の大きさを検出する検出部をさらに備えることができる。
【0010】
前記認識対象までの距離を、前記認識対象の画像の大きさから演算する演算部をさらに備えることができる。
【0011】
前記演算部は、前記距離と大きさの関係を規定する関係式から、前記認識対象の画像の大きさに対応する前記認識対象までの距離を演算することができる。
【0012】
異なる大きさの複数の前記認識対象について用意されている複数の前記関係式から1つを選択する選択部をさらに備えることができる。
【0013】
1つの前記関係式を選択するために距離を測定する測定部をさらに備えることができる。
【0014】
1つの前記関係式を選択するために特定の前記認識対象を特定する特定部をさらに備えることができる。
【0015】
前記演算部はさらに、新たな前記関係式を演算し、追加することができる。
【0016】
前記関係式を更新する更新部をさらに備えることができる。
【0017】
前記関係式から検出された前記認識対象までの距離をパラメータとして、前記魚眼画像の座標系を、世界座標系に変換する座標変換部をさらに備えることができる。
【0018】
本技術の一側面の画像処理方法、記録媒体及びプログラムは、上述した本技術の一側面の画像処理装置に対応する画像処理方法、記録媒体及びプログラムである。
【0019】
本技術の一側面においては、魚眼レンズを介して撮影した画像である魚眼画像が取得され、魚眼画像を変換して、変換画像が生成され、変換画像から認識対象の画像が検出される。
【発明の効果】
【0020】
以上のように、本技術の一側面によれば、正確に3次元座標を検出することができる。
【図面の簡単な説明】
【0021】
【図1】本技術の画像処理装置の構成を示すブロック図である。
【図2】本技術の画像処理装置の3次元位置推定処理を説明するフローチャートである。
【図3】本技術の画像処理装置の3次元位置推定処理を説明する図である。
【図4】被写体の画像の大きさと距離の関係を説明する図である。
【図5】被写体の画像の大きさと距離の関係を示すグラフである。
【図6】魚眼画像の座標系を説明する図である。
【図7】世界座標系を説明する図である。
【図8】学習処理を説明するフローチャートである。
【図9】被写体の画像の大きさと距離の関係を表す式を説明する図である。
【図10】本技術の画像処理装置の3次元位置推定処理を説明するフローチャートである。
【図11】本技術の画像処理装置の3次元位置推定処理を説明するフローチャートである。
【図12】関係式選択処理を説明するフローチャートである。
【図13】被写体の画像の大きさから距離を求める原理を説明する図である。
【図14】関係式選択処理を説明するフローチャートである。
【図15】本技術の画像処理装置の3次元位置推定処理を説明するフローチャートである。
【図16】本技術の画像処理装置の3次元位置推定処理を説明するフローチャートである。
【図17】本技術の画像処理装置の3次元位置推定処理を説明するフローチャートである。
【図18】本技術の画像処理装置の3次元位置推定処理を説明するフローチャートである。
【図19】画像の展開を説明する図である。
【図20】パーソナルコンピュータの構成を示すブロック図である。
【発明を実施するための形態】
【0022】
以下、技術を実施するための形態(以下、実施の形態と称する)について説明する。なお、説明は以下の順序で行う。
1.第1の実施の形態
2.第2の実施の形態
3.第3の実施の形態
4.第4の実施の形態
5.変形例
6.本技術のプログラムへの適用
7.その他
【0023】
<1.第1の実施の形態>
[画像処理装置の構成]
【0024】
図1は、本技術の画像処理装置1の構成を示すブロック図である。画像処理装置1は、カメラ11、モータ12、マイクロプロセッサ13、入力部14、出力部15、通信部16、メモリ17、およびステレオカメラ18を有している。
【0025】
カメラ11は魚眼レンズ11Aを有し、所定の範囲の監視領域の被写体を撮像する。モータ12は、カメラ11を駆動し、その方向を所定の方向に指向させる。マイクロプロセッサ13は各部を制御する。入力部14はキーボード、マウス、スイッチ等により構成され、ユーザにより操作され、操作に対応する信号をマイクロプロセッサ13に出力する。出力部15は、LCD(Liquid Crystal Display)、スピーカなどにより構成され、所定の画像やメッセージを表示したり、音声を出力する。
【0026】
通信部16は、インターネットその他のネットワークを介して他の装置と通信する。メモリ17は、各種の情報やプログラムを記憶する。ステレオカメラ18は必要に応じて付加され、測距のための画像を撮像する。
【0027】
マイクロプロセッサ13は、撮像部31、画像変換部32、顔認識部33、判定部34、検出部35、演算部36、座標変換部37、指示部38、選択部39、測定部40、記憶部41、更新部42、制御部43の機能ブロックを有している。
【0028】
撮像部31は、カメラ11とステレオカメラ18により被写体を撮像する。画像変換部32は、魚眼レンズ11Aによる画像を、変換画像に変換する。顔認識部33は、変換画像から認識対象としての人の顔を認識する。判定部34は、各種の判定処理を実行する。検出部35は、顔、顔のサイズ等の検出処理を行う。演算部36は、距離、関係式、顔の特定のための演算を行う。
【0029】
座標変換部37は、座標変換の演算を行う。指示部38は、距離の変更、顔の大きさの変更などの指示を行う。選択部39は、関係式を選択する。測定部40は、距離を測定する。記憶部41は、距離と顔のサイズを記憶する。更新部42は、距離と顔のサイズの関係式を更新する。制御部43は、モータ12を駆動し、カメラ11とステレオカメラ18の向きを制御する。
【0030】
<1.第1の実施の形態>
[3次元位置推定処理1]
【0031】
次に、画像処理装置1の3次元位置推定処理を説明する。図2は、本技術の画像処理装置1の3次元位置推定処理を説明するフローチャートである。この処理は、画像処理装置1の電源をオンしたとき開始される。
【0032】
ステップS1において撮像部31は、カメラ11で撮影する。カメラ11により魚眼レンズ11Aを介して周囲の被写体が撮影され、その画像が魚眼画像として取得される。
【0033】
図3は、本技術の画像処理装置1の3次元位置推定処理を説明する図である。カメラ11による撮影処理により、図3の左上に示されている魚眼画像P1が取得される。
【0034】
ステップS2において、画像変換部32は、画像を変換する。具体的には、ステップS1で取得された魚眼画像P1が、変換画像P2に変換される。この実施の形態における変換画像P2は、魚眼画像P1を円筒面上に展開した展開画像とされている。図3の右上に、この変換画像P2が示されている。
【0035】
ステップS3において顔認識部33は、顔認識処理を実行する。すなわち、図3の右下の図に示されるように、ステップS2で得られた変換画像に含まれる人の顔の画像51が変換画像P2から認識される。この認識処理は、例えば肌色、目、口、耳、鼻などの特徴を有する領域を検索することで行うことができる。
【0036】
ステップS1の撮像処理で得られた魚眼画像P1においては、3次元空間における上方向が画像の中心となる。そのため、3次元空間における上方向が画像の上方向であることを前提としている検出器で顔を検出し、そのサイズを迅速かつ正確に検出することが困難である。そこで本実施の形態においては、変換画像P2が生成される。これにより3次元空間における上方向の検出が容易となり、その結果、顔を検出することが容易となる。つまり、図3の右下に示されているように、変換画像P2から顔の画像51が検出される。
【0037】
ステップS4において判定部34は、顔が認識されたかを判定する。顔が認識されない場合、処理はステップS1に戻り、顔が認識されるまで、ステップS1乃至S4の処理が繰り返される。
【0038】
ステップS4において顔が認識されたと判定された場合、ステップS5において検出部35は、認識された顔を魚眼画像の座標系から検出する。すなわち、図3の左側の中央に示されるように、魚眼画像P1上における顔の画像51が検出される。
【0039】
ステップS6において検出部35は、顔のサイズ、つまり大きさを検出する。具体的には、図3の左側の中央に示される魚眼画像P1上における顔の画像51の大きさが検出される。
【0040】
図4は、被写体の画像の大きさと距離の関係を説明する図である。図4に示されるように、XYZの世界座標系において、カメラ11からより遠い距離R1の位置に顔の画像51−1が存在し、より近い距離R2の位置に顔の画像51−2が存在するとする。この場合、魚眼画像P1上の顔の画像51−1と、顔の画像51−2の大きさを比較すると、距離が近い顔の画像51−2の方が、距離が遠い顔の画像51−1より大きくなる。
【0041】
図5は、被写体の画像の大きさと距離の関係を示すグラフである。図5において、横軸は顔の画像51の大きさ(すなわち、顔のサイズ)を表し、縦軸は、カメラ11と顔の距離Rを表す。図5に曲線Lで示されるように、顔のサイズSと距離Rの間には負の相関がある。つまり、距離Rが大きくなるほど、顔のサイズSは小さくなる。曲線Lは下に突の形状となる。曲線Lは、次の式で表される。
R=fs(S) (1)
【0042】
ステップS7において演算部36は、関係式に基づき、顔のサイズから距離を求める。ここで関係式とは、図5において曲線Lで表される式、すなわち顔のサイズSと距離Rの関係を表す式(1)である。ステップS6の処理で検出された顔のサイズSに対応する距離Rが、式(1)から求められる。式(1)はメモリ17に予め記憶されている。
【0043】
ステップS8において座標変換部37は、座標系を世界座標系に変換する。
【0044】
図6は、魚眼レンズ11Aにより撮像された魚眼画像の座標系を説明する図である。図6の魚眼画像の座標系xyにおいて、座標(x,y)はカメラ11が存在する座標である。rは、魚眼レンズ11Aの視野半径である。世界座標系でカメラ11から距離Rに位置する顔の画像51が、魚眼画像の座標系において、座標(x,y)に位置するものとする。座標(x,y)と座標(x,y)とを結ぶ直線の、y座標軸に対する時計回転方向の角度をθとする。そして、顔の画像51の、世界座標系のXY面上のカメラ11からの仰角、つまり水平面からの仰角をφとする。このとき、次式が成立する。
【0045】
x=x−r×cosφ×sinθ (2)
y=y+r×cosφ×cosθ (3)
【0046】
上記式(2),(3)から次式が求められる。
×cosφ=(x−x)/sinθ (4)
y=y+((x−x)/sinθ)×cosθ (5)
y=y+(x−x)/tanθ (6)
θ=tan−1((x−x)/(y−y)) (7)
×cosφ×sinθ=x−x (8)
cosφ=(x−x)/(r×sinθ) (9)
φ=cos−1((x−x)/(r×sinθ)) (10)
【0047】
上記式に基づいて、演算部36は、顔の画像51の座標(x,y)から、角度θ,φを求めることができる。
【0048】
図7は、世界座標系を説明する図である。図7(並びに、図3の左側の下の図)に示されるように、顔の画像51の世界座標系における座標(X,Y,Z)は、次式で表される。
X=Rcosφ×cosθ (11)
Y=Rcosφ×sinθ (12)
Z=Rsinφ (13)
【0049】
座標変換部37は上記式(11)乃至(13)に基づき、ステップS7の処理で求められた距離Rをパラメータとして、顔の画像51の座標(X,Y,Z)を演算することができる。角度θ,φは、上記式(7)と式(10)で演算することができる。
【0050】
ステップS9において判定部34は、推定処理を終了するかを判定する。ユーザから処理の終了が指示されていない場合、処理はステップS1に戻り、それ以降の処理が繰り返される。
【0051】
ステップS9において、ユーザから処理の終了が指示されたと判定された場合、推定処理は終了される。
【0052】
以上のようにして、1個の魚眼レンズ11Aを有する1台のカメラ11の画像から、迅速かつ正確に、世界座標を求めることができる。その結果、顔の画像51の世界座標系における移動軌跡を予測したり、顔の画像51をより認識し易い方向にカメラ11を指向させたりすることができる。
【0053】
<1.第1の実施の形態>
[学習処理]
【0054】
上述したように、図2の3次元位置推定処理を実行する場合、距離と顔のサイズの関係が予め判っている必要がある。つまり、関係式を予め求めておく必要がある。そこで次に、距離と顔のサイズの関係式を予め学習し、求めておく方法について、図8と図9を参照して説明する。なお、図8と図9の実施の形態においては、異なる大きさの複数の顔についての複数の関係式を学習するものとする。
【0055】
図8は、学習処理を説明するフローチャートである。なお、図8のステップS41,S42,S44、S45の処理は、図2のステップS1,S2,S3,S6の処理と同様の処理であり、これらの処理については繰り返しになるので簡単に説明する。
【0056】
ステップS41において撮像部31は、カメラ11で撮影する。カメラ11により魚眼レンズ11Aを介して周囲の被写体が撮影され、その画像が魚眼画像として取得される。
【0057】
ステップS42において、画像変換部32は、画像を変換する。すなわち、ステップS41で取得された魚眼画像P1が変換画像P2に変換される。
【0058】
ステップS43において検出部35は、所定の大きさの顔が配置された距離を検出する。つまり、ステレオカメラ18または別途設けられた測距装置により、顔までの距離が測定され、その結果が取得される。
【0059】
ステップS44において顔認識部33は、顔認識処理を実行する。すなわち、ステップS42で得られた変換画像に含まれる人の顔の画像が認識される。
【0060】
ステップS45において検出部35は、顔のサイズを検出する。
【0061】
次にステップS46において記憶部41は、距離と顔のサイズとの関係を記憶する。つまり、ステップS43で検出された距離と、ステップS45で検出された顔のサイズが、対応づけられてメモリ17に記憶される。
【0062】
ステップS47において判定部34は、必要な範囲を測定したかを判定する。つまり、監視する範囲についての測定が完了したかが判定される。
【0063】
まだ必要な範囲の測定が完了していない場合、ステップS48において指示部38は、距離の変更を指示する。例えば出力部15に距離の変更を指示するメッセージが表示される。ユーザはこの指示に従って、顔の位置を変更する。
【0064】
その後、処理はステップS41に戻り、新たに位置に配置された顔について、同様の処理が実行される。
【0065】
ステップS47において必要な範囲の測定が完了したと判定された場合、ステップS49において判定部34は、全ての大きさを測定したかを判定する。まだ全ての大きさの顔を測定していない場合、ステップS50において指示部38は、顔の大きさの変更を指示する。例えば、出力部15に顔の大きさの変更を指示するメッセージが表示される。ユーザはこの指示に従って、顔の大きさを変更する。
【0066】
その後、処理はステップS41に戻り、新たな大きさの顔について、同様の処理が実行される。
【0067】
ステップS49において全ての大きさの顔が測定されたと判定された場合、ステップS61において演算部36は、各サイズの顔と距離の関係式を演算する。
【0068】
図9は、被写体の画像の大きさと距離の関係を表す式を説明する図である。以上のようにして、例えばサイズが大きい顔の画像51Lについての距離と顔のサイズの関係を表す曲線L1が、最小自乗法などにより求められ、それを表す関数である関係式R=f(S)が求められる。
【0069】
同様に、サイズが中程度の大きさの顔の画像51Mについての距離と顔のサイズの関係を表す曲線L2が、最小自乗法などにより求められ、それを表す関係式R=f(S)が求められる。さらにサイズが小さい顔の画像51Sについての距離と顔のサイズの関係を表す曲線L3が、最小自乗法などにより求められ、それを表す関係式R=f(S)が求められる。
【0070】
求められた関係式は、メモリ17に記憶される。
【0071】
<2.第2の実施の形態>
[3次元位置推定処理2]
【0072】
図2の3次元位置推定処理は、関係式が1つである場合の処理であるが、関係式が複数存在する場合の処理について、図10乃至図14を参照して説明する。
【0073】
図10と図11は、本技術の画像処理装置1の3次元位置推定処理を説明するフローチャートである。なお、図10と図11のステップS81乃至S86と、ステップS88乃至S90の処理は、図2のステップS1乃至S9の処理と同様の処理であり、ステップS87と、ステップS91乃至S96の処理が、図2の3次元位置推定処理と異なっている。以下においては、主に図2における場合と異なる処理を中心に説明する。
【0074】
すなわち図2における場合と同様に、ステップS81乃至S86において、カメラ11で撮影して得られた魚眼画像が変換画像に変換され、変換画像から顔が認識され、認識された顔の魚眼画像上のサイズが検出される。
【0075】
魚眼画像上の顔のサイズが検出された後、ステップS87において関係式選択処理が実行される。この関係式選択処理の詳細について、図12のフローチャートを参照して説明する。この実施の形態の場合、魚眼レンズ11Aを有するカメラ11以外に、ステレオカメラ18が設けられている。
【0076】
図12は、関係式選択処理を説明するフローチャートである。ステップS111において測定部40は、ステレオカメラ18により距離を測定する。すなわち、ステレオカメラ18が顔を撮像し、測定部40はその画像から顔までの距離を演算する。
【0077】
ステップS112において選択部39は、距離と顔のサイズから関係式を選択する。
【0078】
図13は、被写体の画像の大きさから距離を求める原理を説明する図である。いま、図13に示されるように、3つの関係式R=f(S),R=f(S),R=f(S)が記憶されているものとする。ステップS85の処理で検出された顔のサイズをSとするとき、関係式R=f(S)上において、顔のサイズSと対応する距離はRとなる。関係式R=f(S)上において、顔のサイズSと対応する距離はRとなり、関係式R=f(S)上において、顔のサイズSと対応する距離はRとなる。
【0079】
選択部39は、距離R乃至Rのうち、ステップS111で測定された距離Rに最も近い値に対応する関係式を選択する。例えば距離Rの値が距離Rの値に最も近い場合、関係式R=f(S)が選択される。すなわち、この場合、撮影されている被写体の人物の顔のサイズは、大きいサイズであると判断される。
【0080】
以上のようにして、1つの関係式が選択されると、その後、ステップS88乃至S96において、図2のステップS7乃至S9,S1乃至S6の処理と同様の処理が実行される。すなわち、ステップS88,S89において、選択された関係式に基づいて顔のサイズから距離が求められ、さらに魚眼画像の座標系が世界座標系に変換される。
【0081】
ステップS90で、まだ推定処理の終了が指示されていないと判定された場合、ステップS91乃至S96で、ステップS81乃至S86と同様の処理が実行される。すなわち、カメラ11で新たに撮影された魚眼画像が変換画像に変換される。そして変換画像から顔が認識されるまで顔認識処理が行われ、顔が認識されると、顔のサイズが検出される。さらに検出された顔のサイズに基づいて、ステップS87で選択された関係式から距離が求められる。以下同様の処理が繰り返される。
【0082】
こように、1度関係式が選択されると、以後、その選択された関係式が使用される。複数の顔が存在する場合、検出された顔がトラッキングされ、同じ顔については同じ関係式が使用される。
【0083】
以上のようにして、この実施の形態の場合、ステレオカメラ18による測定結果に基づいて、1つの関係式が選択され、選択された関係式に基づいて、距離が求められる。
【0084】
ステレオカメラ18を用いる場合、ステップS88の距離を求める処理でも、ステレオカメラ18による測定結果をそのまま用いることが可能である。しかし、カメラ11で撮影できてもステレオカメラ18で撮影できない範囲が存在することもある。そこで、ステレオカメラ18による測定結果は関係式の選択にのみ用い、距離は関係式から検出するようにした方が、全体としてのバラツキを少なくし、統一のとれた検出を行うことが可能となる。
【0085】
図12の実施の形態の場合、ステレオカメラ18による測定結果に基づいて、1つの関係式が選択されたが、他の方法で関係式を選択することも可能である。図14を参照して、他の方法で関係式を選択する例を説明する。
【0086】
図14は、関係式選択処理を説明するフローチャートである。この処理は、図10のステップS87の関係式選択処理の他の例を表す。この実施の形態の場合、顔からその人物を特定することができ、その特定された人物の顔のサイズがメモリ17に予め登録されている。
【0087】
上述した場合と同様に、ステップS81乃至S86において、カメラ11で撮影して得られた魚眼画像が変換画像に変換され、変換画像から顔が認識され、認識された顔の魚眼画像上のサイズが検出される。
【0088】
魚眼画像上の顔のサイズが検出された後、ステップS87において、図14の関係式選択処理が実行される。
【0089】
図14のステップS131において検出部35は特定部として機能し、顔を特定する。すなわち、メモリ17には、監視対象の人物の顔とその顔のサイズが予め登録されており、ステップS83の処理で認識された顔が、予め登録されている顔と比較され、特定される。
【0090】
ステップS132において選択部39は、特定された顔のサイズに対応する関係式を選択する。例えば各人物の顔のサイズは、図13のサイズが大きい顔の画像51L、サイズが中程度の顔の画像51M、およびサイズが小さい顔の画像51Sのいずれかに分類されており、特定された人物の顔のサイズに対応する関係式が選択される。特定された顔のサイズが小さい顔の画像51Sである場合には、関係式R=f(S)が選択される。
【0091】
以上のようにして、1つの関係式が選択されると、図11のステップS88乃至S96において、上述した場合と同様の処理が実行される。
【0092】
この実施の形態の場合、ステレオカメラ18が不要なので、ステレオカメラ18を設ける場合に比べて、構成を簡略化し、低コスト化することができる。また、装置を取り付ける空間も狭くてよい。
【0093】
<3.第3の実施の形態>
[3次元位置推定処理3]
【0094】
図2の実施の形態、並びに図10と図11の実施の形態においては、関係式を予め用意しておく必要があったが、関係式を適宜追加するようにすることも可能である。以下、図15と図16を参照して、この場合の実施の形態について説明する。この実施の形態の場合にも、魚眼レンズ11Aを有するカメラ11以外に、ステレオカメラ18が設けられている。
【0095】
図15と図16は、本技術の画像処理装置1の3次元位置推定処理を説明するフローチャートである。図15と図16のステップS161乃至S166、ステップS170乃至S172の処理は、図2のステップS1乃至S9の処理と同様の処理である。ステップS167乃至S169、ステップS173乃至S181の処理が、図2における場合と異なっている。以下、主に、異なっている処理について説明する。
【0096】
ステップS161乃至S166において、カメラ11で撮影して得られた魚眼画像が変換画像に変換され、変換画像から顔が認識され、認識された魚眼画像上の顔のサイズが検出される。
【0097】
魚眼画像上の顔のサイズが検出された後、ステップS167,S168において、図12のステップS111,S112における場合と同様の処理が実行される。すなわち、ステップS167において測定部40は、ステレオカメラ18により距離を測定する。このとき、ステレオカメラ18が顔を撮像し、測定部40はその画像から顔までの距離を演算する。
【0098】
ステップS168において選択部39は、距離と顔のサイズから関係式を選択する。すなわち図13を参照して上述したように、選択部39は、距離R乃至Rのうち、ステップS166で測定された距離Rに最も近い値に対応する関係式を選択する。例えば距離Rの値が距離Rの値に最も近い場合、関係式R=f(S)が選択される。
【0099】
以上のようにして、1つの関係式が選択されると、ステップS169において判定部34は、適切な関係式があるかを判定する。つまり、ステップS168の処理で、適切な関係式が選択されたかが判定される。例えばステップS166で検出された顔のサイズと各関係式の顔のサイズとの差が、所定の閾値以内であるかが判定され、差が閾値以内である関係式が存在する場合、適切な関係式が存在すると判定される。
【0100】
ステップS169において適切な関係式が存在すると判定された場合、ステップS170乃至S172において、図2のステップS7乃至S9の処理と同様の処理が実行される。すなわち、ステップS170,S171において、選択された関係式に基づいて顔のサイズから距離が求められ、さらに魚眼画像の座標系が世界座標系に変換される。
【0101】
ステップS172において判定部34は、推定処理の終了が指示されたかを判定する。ステップS172で、まだ推定処理の終了が指示されていないと判定された場合、ステップS173乃至S178、ステップS170乃至S172の処理が実行される。ステップS173乃至S178の処理は、ステップS161乃至S166の処理と同様の処理である。
【0102】
すなわち、新たな魚眼画像が取得され、変換画像に変換される。変換画像から顔が認識されるまで顔認識処理が行われ、顔が認識されると、魚眼画像上の顔のサイズが検出される。
【0103】
ステップS170において演算部36は、ステップS168の処理で選択されている関係式に基づいて、ステップS178の処理で検出された顔のサイズに対応する距離を求める。ステップS171において座標変換部37は、座標系を世界座標系に変換する。
【0104】
ステップS172において推定処理を終了するかが判定され、まだ終了が指示されていない場合、処理はステップS173に戻り、それ以降の処理が繰り返される。
【0105】
ステップS169において、適切な関係式が存在しないと判定された場合、つまり、ステップS166で検出された顔のサイズと各関係式の顔のサイズとの差が閾値以内ではない場合、ステップS179以降の処理が実行される。ステップS179において記憶部41は、距離と顔のサイズを記憶する。すなわち、ステップS166で検出された顔のサイズと、ステップS167の処理でステレオカメラ18により測定された距離が、対応づけてメモリ17に記憶される。
【0106】
ステップS180において判定部34は、データが十分記憶されたかを判定する。距離と顔のサイズのデータが、関係式を演算するのに十分なデータであるかは、例えば次のように判定することができる。例えば、図13に示される各顔のサイズの関係式を表す曲線L乃至Lは、それぞれほぼ相似と考えることができる。この場合、所定の値の距離と顔のサイズで規定される1点の座標が決まれば、そこを通る相似の曲線は一義的に特定することができる。このように考える場合、1つのデータが十分なデータとなる。
【0107】
また、複数の座標の平均値を演算し、その平均値で表される1つの点を通る相似の曲線を求めることもできる。この場合、平均値を求めるための任意の数のデータが十分なデータとなる。
【0108】
さらに、複数のデータから最小自乗法により1つの関係式を演算する場合には、最小自乗法により1つの関係式を演算するのに必要な数のデータが、十分なデータとなる。
【0109】
ステップS180においてデータが十分記憶されたと判定された場合、ステップS181において演算部36は、所定の距離と顔のサイズの関係式を演算し、追加する。すなわち、新たな関係式がメモリ17に記憶される。
【0110】
ステップS181の処理の後、ステップS172において、推定処理の終了が指示されたかが判定され、まだ終了が指示されていない場合、処理はステップS173に進み、それ以降の処理が実行される。ステップS172において、推定処理の終了が指示されたと判定された場合、処理は終了される。
【0111】
一方、ステップS180においてまだデータが十分記憶されていないと判定された場合、ステップS181の処理をスキップし、ステップS172の処理に移行してもよい。しかしこの実施の形態においては、ステップS180でまだデータが十分記憶されていないと判定された場合、ステップS182において、最も近い関係式を選択する処理が実行される。つまり、いまの場合、ステップS166で検出された顔のサイズと各関係式の顔のサイズとの差が閾値を超えている(ステップS169でそのように判定されている)のであるが、その差が最も小さい関係式が選択される。その後、ステップS169で適切な関係式が存在すると判定された場合と同様に、処理はステップS170に進み、それ以降の処理が実行される。
【0112】
以上のようにして、この実施の形態の場合、新たな関係式が適宜追加される。
【0113】
<4.第4の実施の形態>
[3次元位置推定処理4]
【0114】
次に、図17と図18を参照して、関係式を更新する実施の形態について説明する。この実施の形態の場合にも、魚眼レンズ11Aを有するカメラ11以外に、ステレオカメラ18が設けられている。また、この実施の形態においては、メモリ17に顔のサイズが既知の特定の顔が予め記憶されている。
【0115】
図17と図18は、本技術の画像処理装置1の3次元位置推定処理を説明するフローチャートである。図17と図18のステップS201乃至S206、ステップS212乃至S214の処理は、図2のステップS1乃至S9の処理と同様の処理である。ステップS207乃至S211、ステップS215乃至S222の処理が、図2における場合と異なっている。以下、主に、異なっている処理について説明する。
【0116】
ステップS201乃至S206において、カメラ11で撮影して得られた魚眼画像が変換画像に変換され、変換画像から顔が認識され、認識された魚眼画像上の顔のサイズが検出される。
【0117】
魚眼画像上の顔のサイズが検出された後、ステップS207において、図12のステップS111における場合と同様の処理が実行される。すなわち、ステップS207において測定部40は、ステレオカメラ18により距離を測定する。このとき、ステレオカメラ18が顔を撮像し、測定部40はその画像から顔までの距離を演算する。
【0118】
ステップS208において判定部34は、ステップS203の処理で認識された顔が、特定の顔であるかを判定する。ステップS203の処理で認識された顔が、特定の顔ではない場合、ステップS211において、図12のステップS112における場合と同様の処理が実行される。すなわち、選択部39は、距離と顔のサイズから関係式を選択する。図13を参照して上述したように、選択部39は、距離R乃至Rのうち、ステップS207で測定された距離Rに最も近い値に対応する関係式を選択する。例えば距離Rの値が距離Rの値に最も近い場合、関係式R=f(S)が選択される。
【0119】
以上のようにして、1つの関係式が選択されると、ステップS212乃至S214において、図2のステップS7乃至S9の処理と同様の処理が実行される。すなわち、ステップS212乃至S214において、選択された関係式に基づいて顔のサイズから距離が求められ、さらに魚眼画像の座標系が世界座標系に変換される。
【0120】
ステップS214において判定部34は、推定処理の終了が指示されたかを判定する。ステップS214で、まだ推定処理の終了が指示されていないと判定された場合、ステップS215乃至S220、ステップS212乃至S214の処理が実行される。ステップS215乃至S220の処理は、ステップS201乃至S206の処理と同様の処理である。
【0121】
すなわち、新たな魚眼画像が取得され、変換画像に変換される。変換画像から顔が認識されるまで顔認識処理が行われ、顔が認識されると、顔のサイズが検出される。
【0122】
ステップS212において演算部36は、ステップS211の処理で選択されている関係式に基づいて、ステップS220の処理で検出された顔のサイズに対応する距離を求める。ステップS213において座標変換部37は、座標系を世界座標系に変換する。
【0123】
ステップS214において推定処理を終了するかが判定され、まだ終了が指示されていない場合、処理はステップS215に戻り、それ以降の処理が繰り返される。
【0124】
一方ステップS208において、認識された顔が予め登録されている特定の顔であると判定された場合、ステップS209において記憶部41は、距離と顔のサイズを記憶する。つまり、ステップS206で検出された顔のサイズと、ステップS207で測定された距離が、対応づけてメモリ17に記憶される。
【0125】
ステップS210において判定部34は、データが十分記憶されたかを判定する。距離と顔のサイズのデータが、関係式を演算するのに十分なデータであるかは、例えば図15のステップS180における場合と同様に判定することができる。
【0126】
すなわち、例えば、図13に示される各顔のサイズの関係式を表す曲線L乃至Lは、それぞれほぼ相似と考える場合、所定の値の距離と顔のサイズで規定される1点の座標が決まれば、そこを通る相似の曲線は一義的に特定することができる。このように考える場合、1つのデータが十分なデータとなる。
【0127】
また、複数の座標の平均値を演算し、その平均値で表される1つの点を通る相似の曲線を求めることもできる。この場合、平均値を求めるための任意の数のデータが十分なデータとなる。
【0128】
さらに、複数のデータから最小自乗法により1つの関係式を演算する場合には、最小自乗法により1つの関係式を演算するのに必要な数のデータが、十分なデータとなる。
【0129】
ステップS210においてデータが十分であると判定された場合、ステップS221において更新部42は、特定の距離と顔のサイズの関係式を演算し、更新する。特定の顔のサイズの正確な値は、メモリ17に予め登録されている。そこで、ステップS206で検出された顔のサイズが、予め登録されている顔のサイズに対応づけられる。この顔のサイズと、ステップS207においてステレオカメラ18により測定された距離とに基づいて演算を行うことで、正確な関係式を得ることができる。
【0130】
関係式が更新されると、ステップS222において選択部39は、更新した関係式を選択する。すなわちステップS221でいま更新された関係式が選択される。
【0131】
その後、処理はステップS212に進み、それ以降の処理が実行される。
【0132】
ステップS210においてデータがまだ十分記憶されていないと判定された場合、ステップS221,S222の処理はスキップされる。この場合は、ステップS211において、距離と顔のサイズから関係式が選択される。つまりこの場合には関係式は更新されず、ステップS206で検出された顔のサイズと、ステップS207で測定された距離にもとづき特定される従前の関係式が選択される。その後、処理はステップS212に進み、それ以降の処理が実行される。
【0133】
このように、この実施の形態においてはサイズが既知の顔が検出されると、関係式が更新されるので、関係式をより正確なものとし、それに基づいて正確な位置を検出することが可能になる。
【0134】
[5.変形例]
【0135】
魚眼画像の他の変換画像の例について説明する。図19は、画像の展開を説明する図である。図19の例では、1枚の魚眼画像が、その中心を通る水平方向の仮想的な線と垂直方向の仮想的な線により、左上、右上、左下、および右下の4つの領域A1乃至A4に区分される。そして1枚の魚眼画像が、左右または上下に隣接する2つの領域を含む処理対象の変換画像に変換される。つまり、領域A3と領域A4の変換画像、領域A4と領域A2の変換画像、領域A2と領域A1の変換画像、および領域A1と領域A3の変換画像に変換される。
【0136】
このように変換した変換画像から顔を認識することでも、1枚の魚眼画像自体から顔を認識する場合に比べれば、容易に顔を認識することが可能になる。
【0137】
ただしこの場合、各変換画像において、顔は最大±45度に傾斜する。そこで、顔の認識器は、±45度に傾斜する顔を認識できる性能を有する必要がある。
【0138】
以上においてはステレオカメラ18により距離を測定するようにしたが、他の測距手段を用いることも可能である。
【0139】
また、魚眼画像を平面展開することも考えられる。
【0140】
本技術は、例えば所定の空間を監視する監視装置、ロボットにより周囲を視認する装置、その他の画像処理装置に適用することができる。また認識対象は人の顔に限られない。動物、各種の物体などを認識対象とすることができる。
【0141】
[6.本技術のプログラムへの適用]
【0142】
上述した一連の処理は、ハードウエアにより実行することもできるし、ソフトウエアにより実行することもできる。一連の処理をソフトウエアにより実行する場合には、そのソフトウエアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウエアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
【0143】
図20は、上述した一連の処理をプログラムにより実行するパーソナルコンピュータの構成を示すブロック図である。
【0144】
コンピュータにおいて、CPU(Central Processing Unit)221,ROM(Read Only Memory)222,RAM(Random Access Memory)223は、バス224により相互に接続されている。
【0145】
バス224には、さらに、入出力インタフェース225が接続されている。入出力インタフェース225には、入力部226、出力部227、記憶部228、通信部229、及びドライブ230が接続されている。
【0146】
入力部226は、キーボード、マウス、マイクロフォンなどよりなる。出力部227は、ディスプレイ、スピーカなどよりなる。記憶部228は、ハードディスクや不揮発性のメモリなどよりなる。通信部229は、ネットワークインタフェースなどよりなる。ドライブ230は、磁気ディスク、光ディスク、光磁気ディスク、又は半導体メモリなどのリムーバブルメディア231を駆動する。
【0147】
以上のように構成されるコンピュータでは、CPU221が、例えば、記憶部228に記憶されているプログラムを、入出力インタフェース225及びバス224を介して、RAM223にロードして実行することにより、上述した一連の処理が行われる。
【0148】
コンピュータ(CPU221)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア231に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【0149】
コンピュータでは、プログラムは、リムーバブルメディア231をドライブ230に装着することにより、入出力インタフェース225を介して、記憶部228にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部229で受信し、記憶部228にインストールすることができる。その他、プログラムは、ROM222や記憶部228に、あらかじめインストールしておくことができる。
【0150】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【0151】
なお、本技術の実施の形態は、上述した実施の形態に限定されるものではなく、本技術の要旨を逸脱しない範囲において種々の変更が可能である。
【0152】
[7.その他]
【0153】
本技術は、以下のような構成もとることができる。
(1)
魚眼レンズを介して撮影した画像である魚眼画像を取得する取得部と、
前記魚眼画像を変換して、変換画像を生成する変換部と、
前記変換画像から認識対象の画像を認識する認識部と
を備える画像処理装置。
(2)
前記変換画像は、前記魚眼画像を円筒面上に展開した展開画像である
前記(1)に記載の画像処理装置。
(3)
前記展開画像上の前記認識対象の画像の大きさを検出する検出部をさらに備える
前記(1)または(2)に記載の画像処理装置。
(4)
前記認識対象までの距離を、前記認識対象の画像の大きさから演算する演算部をさらに備える
前記(3)に記載の画像処理装置。
(5)
前記演算部は、前記距離と大きさの関係を規定する関係式から、前記認識対象の画像の大きさに対応する前記認識対象までの距離を演算する
前記(4)に記載の画像処理装置。
(6)
異なる大きさの複数の前記認識対象について用意されている複数の前記関係式から1つを選択する選択部をさらに備える
前記(5)に記載の画像処理装置。
(7)
1つの前記関係式を選択するために距離を測定する測定部をさらに備える
前記(6)に記載の画像処理装置。
(8)
1つの前記関係式を選択するために特定の前記認識対象を特定する特定部をさらに備える
前記(6)に記載の画像処理装置。
(9)
前記演算部はさらに、新たな前記関係式を演算し、追加する
前記(5)乃至(8)のいずれかに記載の画像処理装置。
(10)
前記関係式を更新する更新部をさらに備える
前記(5)乃至(9)のいずれかに記載の画像処理装置。
(11)
前記関係式から検出された前記認識対象までの距離をパラメータとして、前記魚眼画像の座標系を、世界座標系に変換する座標変換部をさらに備える
前記(5)乃至(10)のいずれかに記載の画像処理装置。
(12)
魚眼レンズを介して撮影した画像である魚眼画像を取得する取得ステップと、
前記魚眼画像を変換して、変換画像を生成する変換ステップと、
前記変換画像から認識対象の画像を認識する認識ステップと
を含む画像処理方法。
(13)
コンピュータに、
魚眼レンズを介して撮影した画像である魚眼画像を取得する取得ステップと、
前記魚眼画像を変換して、変換画像を生成する変換ステップと、
前記変換画像から認識対象の画像を認識する認識ステップと
を実行させるプログラムが記録されているコンピュータが読み取り可能な記録媒体。
(14)
コンピュータに、
魚眼レンズを介して撮影した画像である魚眼画像を取得する取得ステップと、
前記魚眼画像を変換して、変換画像を生成する変換ステップと、
前記変換画像から認識対象の画像を認識する認識ステップと
を実行させるプログラム。
【符号の説明】
【0154】
1 画像処理装置, 11 カメラ, 11A 魚眼レンズ, 13 マイクロプロセッサ, 31 撮像部, 32 画像変換部, 33 顔認識部, 34 判定部, 35 検出部, 36 演算部, 37 座標変換部, 38 指示部, 39 選択部, 40 測定部, 41 記憶部, 42 更新部, 43 制御部

【特許請求の範囲】
【請求項1】
魚眼レンズを介して撮影した画像である魚眼画像を取得する取得部と、
前記魚眼画像を変換して、変換画像を生成する変換部と、
前記変換画像から認識対象の画像を認識する認識部と
を備える画像処理装置。
【請求項2】
前記変換画像は、前記魚眼画像を円筒面上に展開した展開画像である
請求項1に記載の画像処理装置。
【請求項3】
前記展開画像上の前記認識対象の画像の大きさを検出する検出部をさらに備える
請求項2に記載の画像処理装置。
【請求項4】
前記認識対象までの距離を、前記認識対象の画像の大きさから演算する演算部をさらに備える
請求項3に記載の画像処理装置。
【請求項5】
前記演算部は、前記距離と大きさの関係を規定する関係式から、前記認識対象の画像の大きさに対応する前記認識対象までの距離を演算する
請求項4に記載の画像処理装置。
【請求項6】
異なる大きさの複数の前記認識対象について用意されている複数の前記関係式から1つを選択する選択部をさらに備える
請求項5に記載の画像処理装置。
【請求項7】
1つの前記関係式を選択するために距離を測定する測定部をさらに備える
請求項6に記載の画像処理装置。
【請求項8】
1つの前記関係式を選択するために特定の前記認識対象を特定する特定部をさらに備える
請求項6に記載の画像処理装置。
【請求項9】
前記演算部はさらに、新たな前記関係式を演算し、追加する
請求項6に記載の画像処理装置。
【請求項10】
前記関係式を更新する更新部をさらに備える
請求項6に記載の画像処理装置。
【請求項11】
前記関係式から検出された前記認識対象までの距離をパラメータとして、前記魚眼画像の座標系を、世界座標系に変換する座標変換部をさらに備える
請求項5に記載の画像処理装置。
【請求項12】
魚眼レンズを介して撮影した画像である魚眼画像を取得する取得ステップと、
前記魚眼画像を変換して、変換画像を生成する変換ステップと、
前記変換画像から認識対象の画像を認識する認識ステップと
を含む画像処理方法。
【請求項13】
コンピュータに、
魚眼レンズを介して撮影した画像である魚眼画像を取得する取得ステップと、
前記魚眼画像を変換して、変換画像を生成する変換ステップと、
前記変換画像から認識対象の画像を認識する認識ステップと
を実行させるプログラムが記録されているコンピュータが読み取り可能な記録媒体。
【請求項14】
コンピュータに、
魚眼レンズを介して撮影した画像である魚眼画像を取得する取得ステップと、
前記魚眼画像を変換して、変換画像を生成する変換ステップと、
前記変換画像から認識対象の画像を認識する認識ステップと
を実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2012−226645(P2012−226645A)
【公開日】平成24年11月15日(2012.11.15)
【国際特許分類】
【出願番号】特願2011−94938(P2011−94938)
【出願日】平成23年4月21日(2011.4.21)
【出願人】(000002185)ソニー株式会社 (34,172)
【Fターム(参考)】