(57)【特許請求の範囲】
【請求項１】
各画素値が対象物までの距離を示す距離画像を生成する距離画像生成手段が、前記対象物の時系列な複数の距離画像を取得するステップと、
前記複数の距離画像のうちの２つの距離画像間で、画素値の差分データを求め、この差分データから前記対象物の動きに伴い画素値の減少した流出領域と増加した流入領域とを抽出するステップと、
前記流出領域の重心位置から前記流入領域の重心位置へのｘ軸、ｙ軸及びｚ軸方向の変化量を計算するステップと、
得られたｘ軸、ｙ軸及びｚ軸方向の変化量を基に、前記対象物の動きを認識するステップと、
を有することを特徴とする画像認識方法。
【請求項２】
各画素値が各対象物までの距離を示す距離画像を生成する距離画像生成手段が、各対象物毎に時系列な複数の距離画像を取得する第１のステップと、
前記複数の距離画像のうちの２つの距離画像中の各対象物の画像領域間で画素値の差分データを求め、各対象物に対応する差分データから、当該対象物の動きに伴い画素値の減少した流出領域と増加した流入領域とを抽出する第２のステップと、
各対象物について、前記流出領域の重心位置から前記流入領域の重心位置へのｘ軸、ｙ軸及びｚ軸方向の変化量を計算する第３のステップと、
得られた各対象物のｘ軸、ｙ軸及びｚ軸方向の変化量を基に、各対象物の動きを認識する第４のステップと、
を有することを特徴とする画像認識方法。
【請求項３】
前記第２のステップは、前記第１の距離画像中の各対象物の画像領域と重なり合う領域を有する前記第２の距離画像中の当該対象物に対応する画像領域との前記重なり合う領域以外の領域間での画素値の差分データから、前記流出領域及び前記流入領域を抽出することを特徴とする請求項３記載の画像認識方法。
【請求項４】
前記変化量のｘ方向、ｙ方向、ｚ方向の各成分値のうち、認識すべき動きに応じて選択された少なくとも１つの成分値に基づき、前記対象物の動きを認識することを特徴とする請求項１または２記載の画像認識方法。
【請求項５】
前記認識すべき動きの特徴的な動き方向に基づき、前記変化量の各成分値のうち少なくとも１つの成分値を選択することを特徴とする請求項４記載の画像認識方法。
【請求項６】
前記認識すべき動きの特徴的な動き方向と、その動き方向と相関関係のある方向とに基づき、前記変化量の各成分値のうち少なくとも１つの成分値を選択することを特徴とする請求項４記載の画像認識方法。
【請求項７】
各画素値が対象物までの距離を示す距離画像を生成する距離画像生成手段を備えた画像認識装置において、
前記距離画像生成手段で得られた、前記対象物の時系列な複数の距離画像のうちの２つの距離画像間で、画素値の差分データを計算する第１の計算手段と、
前記差分データから前記対象物の動きに伴い画素値の減少した流出領域と増加した流入領域とを抽出する抽出手段と、
前記流出領域の重心位置から前記流入領域の重心位置へのｘ軸、ｙ軸及びｚ軸方向の変化量を計算する第２の計算手段と、
得られたｘ軸、ｙ軸及びｚ軸方向の変化量を基に、前記対象物の動きを認識する認識手段と、
を具備したことを特徴とする画像認識装置。
【請求項８】
各画素値が各対象物までの距離を示す距離画像を生成する距離画像生成手段を備えた画像認識装置において、
前記距離画像生成手段で得られた、各対象物毎に時系列な複数の距離画像のうちの２つの距離画像中の各対象物の画像領域間で画素値の差分データを計算する第１の計算手段と、
各対象物に対応する差分データから、当該対象物の動きに伴い画素値の減少した流出領域と増加した流入領域とを抽出する通出手段と、
各対象物について、前記流出領域の重心位置から前記流入領域の重心位置へのｘ軸、ｙ軸及びｚ軸方向の変化量を計算する第２の計算手段と、
得られた各対象物のｘ軸、ｙ軸及びｚ軸方向の変化量を基に、各対象物の動きを認識する認識手段と、
を具備したことを特徴とする画像認識装置。
【請求項９】
前記抽出手段は、前記第１の距離画像中の各対象物の画像領域と重なり合う領域を有する前記第２の距離画像中の当該対象物に対応する画像領域との前記重なり合う領域以外の領域間での画素値の差分データから、前記流出領域及び前記流入領域を抽出することを特徴とする請求項８記載の画像認識装置。
【請求項１０】
前記変化量のｘ方向、ｙ方向、ｚ方向の各成分値のうち、認識すべき動きに応じて選択された少なくとも１つの成分値に基づき、前記対象物の動きを認識することを特徴とする請求項７または８記載の画像認識装置。
【請求項１１】
前記認識すべき動きの特徴的な動き方向に基づき、前記変化量の各成分値のうち少なくとも１つの成分値を選択することを特徴とする請求項１０記載の画像認識装置。
【請求項１２】
前記認識すべき動きの特徴的な動き方向と、その動き方向と相関関係のある方向とに基づき、前記変化量の各成分値のうち少なくとも１つの成分値を選択することを特徴とする請求項１０記載の画像認識装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えば、距離画像のような被写体の３次元情報の表れた画像から被写体の３次元的な動きを認識する画像認識方法およびそれを用いた画像認識装置に関する。
【０００２】
【従来の技術】
従来、ビデオカメラなどの撮像装置を用いて、認識対象物の動きを認識しようとした場合、以下のような方法が取られていた。
【０００３】
まず１つ目は、オプティカルフローと呼ばれる方法である。これは、所定のブロック画像に着目し、隣り合うフレーム画像間で、ある着目画像領域が平面内でどの方角に動いたかを計測し、その方向を推定するものである。次フレームにおける対象画像の移動方向を特定するには、時系列的に隣り合うフレーム間で類似度を算出する方法が代表的である。対象画像領域近傍で同じサイズのブロック画像を対象に前フレームにおける着目ブロック画像との相関係数を計算し、その係数の最も高いブロックへの方向が動きベクトルとして推定される。
【０００４】
この技術は人間の顔のトラッキングなどロボットビジョンの分野では広く利用されている。この手法は、着目ブロック画像が２次元的に大きく変化しない場合、かなりの精度で平面方向の動きを検出することが可能であるが、対象画像はビデオカメラなどで取得した２次元画像であるため、奥行き方向を含めた３次元的な動きの検出は不可能である。
【０００５】
また、別の手法としては、認識対象物の特徴点を用いて動きの推測を行う方法がある。これは、認識対象物に予め幾つかの特徴点を定めておいて、対象物の動きによって生じる特徴点どうしの位置関係の変化を用いて動きを推測する方法である。例えば、顔を左右に振っている（左右方向に回転させている）動作を認識する場合、顔の特徴点として、目や鼻など数カ所定めておき、顔の動きによって、目の位置の特徴点が右に動いた、両目の特徴点の間隔が狭くなった、右目の特徴点が消失した（右目がカメラから見えない位置に移動したため）、などといった変化から顔を右に振っているのであろうであろうと推測する。
【０００６】
しかし、この方法を用いた場合、対応点をカメラ画像内で安定して得るためには、顔の特徴点の位置にマーカーなどを貼付しなければならないため、使用できる環境が限られているなどの問題があった。マーカーを用いない実現方法もあるが、この場合は画像内から特徴点を自動的に認識する必要があり、特徴点の抽出を安定的に行えない可能性がある上に、特徴点を得るために多大な計算コストも必要としてしまう。この手法も、対象画像はビデオカメラなどで取得した２次元画像であるため、奥行き方向を含めた３次元的な動きは、２次元画像から推定するしかない。
【０００７】
また、別の方法として、運動モーメントの変化を求めることで推測する方法がある。これは、例えば、手を縦軸周りに回転させる動きの場合、手の横方向の前方投影面積が著しく変化するのに対し、縦方向はあまり変化しないというような性質を利用しており、このような場合、手の横方向の運動モーメントのみの変化が激しいことより、手を縦軸周りに回転させているのではないかと推測される。
【０００８】
この方法は、確かに３次元的な動きを推測する一手法ではあるが、認識に使用できる対象物の形状に制限があったり、平面的な別の動きとの区別がつき難いため、誤認識をする可能性があるなどの問題点があった。
【０００９】
ここで挙げた以外にも様々な方法があるであろうが、何れにしても、ビデオカメラなどの撮像装置を用いたこれらの方法では、あくまでも平面的な情報のみしか持たない２次元画像から、３次元的な動きを推測しているに過ぎず、３次元的な動きの認識を安定的に、高精度で行うことは困難である。もともと３次元的な形状の対象物をカメラで平面情報として取得した時点で、かなりの情報が欠落しているからである。
【００１０】
これらの問題を回避するために、複数のビデオカメラを用いて、数カ所から同時に撮像し、各カメラの対応点を求めることで、複数の撮像画像から立体情報を計算し、３次元画像を構成して、それを用いて動作の認識を行う方法がある。
【００１１】
この方法は、ステレオ法と呼ばれ、実際に複数の撮像画像から立体情報を構成しているため、上述したような平面情報から３次元情報を推測するという問題点は解決されるが、複数のカメラからの画像を立体的に融合するための対応点の計算に大変計算時間を必要とするため、リアルタイム処理に不向きであった。また、対応点を求めるためにカメラの位置情報を必要とするため、カメラの位置に制約があったり、カメラ位置のキャリブレーションの必要があったりした。そのため、一般ユーザが容易に使用することは困難であった。
【００１２】
また、動きを特徴づける関節などの部位にあらかじめセンサを装着し、撮像した画像からセンサ部位を抽出し、２次元的あるいは３次元的な動きを計測するモーションキャプチャと呼ばれる手法も存在する。この手法では、上記で紹介した手法に比べ、特徴点の抽出や対応づけ処理は軽くなるが、システム全体のコストが高くつき、システムを稼働する上での制約も多い。さらに煩わしい特定のセンサデバイスを装着する必要があり、とても一般ユーザが使えるものにはなっていない。
【００１３】
以上のように、従来方法では、画像から奥行き情報を含む３次元的な動きの認識を行う方法には様々な問題点があった。
【００１４】
【発明が解決しようとする課題】
従来の手法では、ビデオカメラなどを用いて認識対象物を２次元情報しかもたない画像として取得していたため、対象物の３次元的動きの認識を、２次元情報のみから行うしかなく、安定して、高精度で奥行き方向を含めた３次元的な動きの認識を行うことは困難であった。
【００１５】
そこで、本発明は、３次元的な動きを容易に、しかも安定的かつ高精度で認識できる画像認識方法およびそれを用いた画像認識装置を提供することを目的とする。
【００１６】
【課題を解決するための手段】
本発明は、被写体の３次元情報を持つ画像を取得し、取得した複数の画像の差分データを求め、この差分データから前記被写体の動きに伴い画素値の減少した領域と増加した領域とを抽出し、これらの３次元的な位置関係から前記被写体の３次元的な動きの特徴量を抽出して、この特徴量を基に前記被写体の動きを認識することにより、前記画像中の３次元的な動きを容易にしかも安定的かつ高精度に認識することができる。
【００１７】
被写体の３次元情報を持つ画像を取得し、取得した複数の画像から前記被写体の動きを検知し、動きの検知された画像領域対応の前記複数の画像の差分データから前記画像領域毎に前記被写体の動きに伴い画素値の減少した領域と増加した領域とを抽出し、これらの３次元的な位置関係から前記被写体の３次元的な動きの特徴量を抽出し、前記画像領域毎に、それぞれの画像領域から抽出された特徴量を基に前記検知された動きを認識することにより、前記画像中に複数の動きが存在する場合も、その複数の３次元的な動きのそれぞれを容易にしかも安定的かつ高精度に認識することができる。
【００１８】
好ましくは、前記３次元的な動きの特徴量のｘ方向、ｙ方向、ｚ方向の各成分値のうち、認識すべき動きに応じて選択された少なくとも１つの成分値に基づき、前記被写体の動きを認識する。その際、好ましくは、前記認識すべき動きの特徴的な動き方向に基づき、前記特徴量の各成分値のうち少なくとも１つの成分値を選択する。あるいは、前記認識すべき動きの特徴的な動き方向と、その動き方向と相関関係のある方向とに基づき、前記特徴量の各成分値のうち少なくとも１つの成分値を選択する。
【００１９】
好ましくは、前記画像として距離画像を用いる。
【００２０】
【発明の実施の形態】
以下、本発明の実施形態について、図面を参照しながら説明する。
【００２１】
（第１の実施形態）
まず、本発明の第１の実施形態について説明する。
【００２２】
図１は、第１の実施形態に係る画像認識装置の全体構成図である。本実施形態の画像認識装置は、距離画像または奥行き方向の情報を持った画像を取得するための撮像手段を備えた画像取得部１と、画像取得部１で取得された任意の２枚の奥行き方向の情報を持った画像（例えば、距離画像）の差を計算するための差分計算部２と、差分計算部２で結果得られた差分画像から特徴量を検出するための検出部３と、検出部３で得られた特徴量を基に画像内に含まれる対象物の動作を認識するための認識部４とから構成される。
【００２３】
まず、画像取得部１について説明する。
【００２４】
画像取得部１は、認識対象物体（例えば、人間の手、顔、全身など）を被写体として、所定時間毎（例えば１／３０秒毎など）に、その３次元形状を反映した奥行き方向の値を持つ画像の１つである例えば距離画像として取得するものである。例えば、距離画像は、特開平１０−１７７４４９号に開示されている手法を用いて取得することができる。
【００２５】
所定時間毎に距離画像が取得されてゆくため、これらをメモリなどを用いて、画像取得部１の内部または外部で逐次保持することで、対象物の距離画像による動画像（以降、距離画像ストリームと呼ぶ）をも得ることができる。このとき、距離画像ストリームは、距離画像の取得間隔をｔ秒としたとき、「最新の距離画像」、「最新からｔ秒前（以降、１フレーム前と呼ぶ）の距離画像」、「最新から２ｔ秒前（２フレーム前、以下同様）の距離画像」、…、といった複数フレームの距離画像の集合体として得られることになる。
【００２６】
ここで、距離画像を取得する画像取得部１（以下、距離画像を取得するための画像取得部を距離画像取得部１と呼ぶ）および距離画像について説明する。距離画像取得部１は、対象物としての人物が本装置の所定位置についたとき、当該人物の手腕や顔、全身などが撮像できるように、予め位置決めされている。
【００２７】
距離画像取得部１の外観を図２に示す。中央部には円形レンズとその後部にあるエリアセンサ（図示せず）から構成される受光部１０３が配置され、円形レンズの周囲にはその輪郭に沿って、赤外線などの光を照射するＬＥＤから構成される発光部１０１が複数個（例えば８個）等間隔に配置されている。
【００２８】
発光部１０１から照射された光が物体に反射され、受光部１０３のレンズにより集光され、レンズの後部にあるエリアセンサで受光される。エリアセンサは、例えば２５６×２５６のマトリックス状に配列されたセンサで、マトリックス中の各センサにて受光された反射光の強度がそれぞれ画素値となる。このようにして取得された画像が、図４に示すような反射光の強度分布としての距離画像である。
【００２９】
図３は、距離画像取得部１の構成例を示したもので、主に、発光部１０２、受光部１０３、反射光抽出部１０２、タイミング信号生成部１０４から構成される。
【００３０】
発光部１０１は、タイミング信号生成部１０４にて生成されたタイミング信号に従って時間的に強度変動する光を発光する。この光は発光部前方にある対象物体に照射される。
【００３１】
受光部１０３は、発光部１０１が発した光の対象物体による反射光の量を検出する。
【００３２】
反射光抽出部１０２は、受光部１０３にて受光された反射光の空間的な強度分布を抽出する。この反射光の空間的な強度分布は画像として捉えることができるので、以下、これを距離画像と呼ぶ。
【００３３】
受光部１０３は一般的に発光部１０１から発せられる光の対象物による反射光だけでなく、照明光や太陽光などの外光も同時に受光する。そこで、反射光抽出部１０２は発光部１０１が発光しているときに受光した光の量と、発光部１０１が発光していないときに受光した光の量の差をとることによって、発光部１０１からの光の対象物体による反射光成分だけを取り出す。
【００３４】
反射光抽出部１０２では、受光部１０３にて受光された反射光から、その強度分布、すなわち、図４に示すような距離画像のデータを抽出する。
【００３５】
図４では、簡単のため、２５６×２５６画素の距離画像の一部である８×８画素の距離画像のデータ場合について示している。
【００３６】
物体からの反射光は、物体の距離が大きくなるにつれ大幅に減少する。物体の表面が一様に光を錯乱する場合、距離画像１画素あたりの受光量は物体までの距離の２乗に反比例して小さくなる。
【００３７】
図４において、行列中のセルの値（画素値）は、取得した反射光の強さを２５６階調（８ビット）で示したものである。例えば、「２５５」の値があるセルは、距離画像取得部１に最も接近した状態、「０」の値があるセルは、距離画像取得部１から遠くにあり、反射光が距離画像取得部１にまで到達しないことを示している。
【００３８】
距離画像の各画素値は、その画素に対応する単位受光部で受光した反射光の量を表す。反射光は、物体の性質（光を鏡面反射する、散乱する、吸収する、など）、物体の向き、物体の距離などに影響されるが、物体全体が一様に光を錯乱する物体である場合、その反射光量は物体までの距離と密接な関係を持つ。手などは、このような性質をもつため、距離画像取得部１の前方に手を差し出した場合の距離画像は、手までの距離、手の傾き（部分的に距離が異なる）などを反映する図５に示したような３次元的なイメージを得ることができる。
【００３９】
物体からの反射光の強さは物体までの距離ｄの２乗に反比例して小さくなる。すなわち、当該物体の画像の代表画素値をＱ（ｉ、ｊ）とすると、
Ｑ（ｉ、ｊ）＝Ｋ／ｄ２…（１）
と表すことができる。
【００４０】
ここで、Ｋは、例えば、ｄ＝０．５ｍのときに、画素値Ｒ（ｉ、ｊ）の値が「２５５」になるように調整された係数である。式（１）をｄについて解くことで、距離ｄを求めることができる。
【００４１】
このように、図４に示したような反射光の強度分布を表した距離画像の各画素値は、そのまま画像取得部１からの距離（奥行き方向の値）に対応する情報である。距離画像は奥行き情報を有する３次元画像である。なお、距離画像の各画素値は、画像取得部１からの距離（奥行き方向の値）に対応する情報であるが、この画素値を上記式（１）を用いて、画像取得部１からの距離値に変換したものであってもよいし、このような絶対的な距離値に限らず、相対的な値に変換して、それを画素値としてもよい。また、画像取得部１からの距離に対応する情報は、上述したような２次元行列形式だけではなく、他の方法を取ることも可能である。
【００４２】
なお、距離画像の取得方法は、上述した特開平１０−１７７４４９号の画像取得方法に限定されるものではなく、これに準じる、あるいは別の手段を用いて取得するものでも構わない。例えば、レンジファインダと呼ばれるレーザー光を用いた距離画像取得方法や、ステレオ法と呼ばれる２台のカメラを用いて同時に撮像した２枚の画像の視差情報を用いて距離画像を取得する方法などがそれにあたる。
【００４３】
図６は、画像取得部１により取得された手の距離画像の表示イメージを示したもので、例えば、ｘ軸（横）方向６４画素、ｙ軸（縦）方向６４画素、ｚ軸（奥行き）方向２５６階調の画像になっている。図６は、距離画像の奥行き値、すなわちｚ軸方向の階調（画素値）をグレースケールで表現したもので、この場合、色が黒に近いほど距離が近く、白に近くなるほど距離が遠いことを示している。また、色が完全に白のところは、画像がない、あるいはあっても遠方でないのと同じであることを示している。
【００４４】
次に、図７に示すフローチャートを参照して、図１の画像認識装置の処理動作について説明する。
【００４５】
まず、画像取得部１は、認識対象物体の距離画像ストリームを取得し、その中に含まれる任意の２フレームの距離画像（以降、距離画像Ａ、距離画像Ｂ）を差分計算部２へ渡す（ステップＳ１）。
【００４６】
差分計算部２は、画像取得部１によって取得された認識対象物体の距離画像ストリーム中に含まれる任意の２フレームの距離画像（以降、距離画像Ａ、距離画像Ｂ）に差分処理を施し、差分画像を生成する（ステップＳ２）。
【００４７】
任意の２フレームは、リアルタイムに認識を行いたい場合は、通常、最新フレーム（時刻ｔ）の距離画像Ａ、および、それから数フレーム前（時刻ｔ−ｎ、ｎは任意の正定数）の距離画像Ｂが選択される。ここで、何フレーム前の距離画像を用いるかは、画像取得部１の距離画像取得間隔（フレームレート）や、対象物の動作速度などの情報を基に決定する。
【００４８】
それでは、差分計算部２おける差分処理の方法について具体的に説明する。
【００４９】
距離画像Ａ（時刻ｔに撮像）と距離画像Ｂ（時刻ｔ−ｎに撮像）との差分画像Ｄの計算は、全ての画素（ｉ，ｊ）に関して式（２）適用する。
【００５０】
ここで、時刻ｔにおける距離画像の各画素位置（ｉ，ｊ）の距離値をＦ（ｔ）（ｉ，ｊ）、時刻ｔにおける差分画像をＤ（ｔ）、その各画素位置（ｉ，ｊ）の値をＤ（ｔ）（ｉ，ｊ）と表現する。
【００５１】
つまり、距離画像Ａの画素位置（ｉ，ｊ）での距離値はＦ（ｔ）（ｉ，ｊ）、距離画像Ｂの画素位置（ｉ，ｊ）での距離値はＦ（ｔ−ｎ）（ｉ，ｊ）、距離画像Ａと距離画像Ｂとの差分画像Ｄ（ｔ）（ｉ、ｊ）は、式（２）から生成することができる。
【００５２】
【数１】
0003732757.tif 000002
【００５３】
差分画像について、図１４を参照して、具体的に説明する。図１４（ａ）は、距離画像Ｂの一部のデータであり、画素値が「２００」と「１５０」の２つの画素Ｐ１、Ｐ２があったとする。また、図１４（ｂ）は、距離画像Ａの図１４（ａ）に示した２つの画素Ｐ１、Ｐ２と同じ位置にある２つの画素を示したもので、画素値がそれぞれ「１５０」と「２００」であったとする。この場合、式（２）を用いることにより、距離画像Ａと距離画像Ｂとの間の画素Ｐ１、Ｐ２の画素値の変化量は、それぞれ「−５０」「５０」となり、この値が、図１４（ｃ）に示すように、差分画像上の画素Ｐ１、Ｐ２の画素値となる。すなわち、距離画像Ｂでは、画素Ｐ１の位置にあったものが、当該対象物が動作した結果、距離画像Ａでは、画素Ｐ２に移動し、その結果、差分画像上では、画素Ｐ１の画素値が「−」の値を持ち、画素Ｐ２が「＋」の値をもつこととなる。
【００５４】
差分画像で得られたものは、距離画像Ａと距離画像Ｂで変化のあった部分、つまり、時刻ｔ−ｎと時刻ｔでそれぞれの距離画像に撮像されているもののうち、変化のあった部分である。距離画像Ａと距離画像Ｂが時系列的に同じものを撮像した画像の場合、動きのあった部分のみが変化するため、差分画像によって得られるものは、撮像された対象物のうち、動きのあった部分であるといえる。
【００５５】
例えば、図８に示すように、人間の上半身が撮像されている際に、その人間が手振り動作をしている時には、距離画像Ａとしての図８（ｂ）と距離画像Ｂとしての図８（ａ）とから、実際に動いた腕の部分の領域が差分画像として得られる。図８（ｃ）は、図８（ａ）と図８（ｂ）とから生成される差分画像の表示イメージを示したものである。差分画像のデータ中「−」の値を持つ画素値の画素は、その画素値の絶対値をとって、グレースケールで表現したものである。
【００５６】
図７の説明に戻る。次に、検出部３では、差分計算部２によって生成された差分画像から対象物の動きの特徴量を検出する（図７のステップＳ３〜ステップＳ５）。
【００５７】
それでは、検出部３で実際にどのようにして特徴量の検出を行うのかを主に、図９〜図１３を参照して具体的に説明する。
【００５８】
まず、得られた差分画像から流入領域と流出領域とを抽出する（ステップＳ３）。
【００５９】
対象物の動きにより、距離画像Ｂの時点（時刻ｔ−ｎ）では物体が存在せずに、距離画像Ａの時点（時刻ｔ）で新たに物体が存在するようになった領域（以降、流入領域ＤＩＮと呼ぶ）と、逆に、距離画像Ｂの時点（時刻ｔ−ｎ）では物体が存在し、距離画像Ａの時点（時刻ｔ）で既に物体が存在しなくなった領域（以降、流出領域ＤＯＵＴと呼ぶ）が生じる。
【００６０】
例えば、図９（ａ）（ｂ）に示すように、対象物が時刻ｔ−ｎから時刻ｔの間に、移動した場合を考える。この場合、時刻ｔ−ｎに取得された距離画像Ｂと、時刻ｔに取得された距離画像Ａとの差分画像の表示イメージは、図１０（ａ）に示したようなものとなる。実際の差分画像のデータでは、図１０（ｂ）に示すように、流入領域に対応する部分の画素の画素値（ｚ軸方向の値）は「＋」の値であり、流出領域に対応する部分の画素の画素値は「−」の値である。
【００６１】
すなわち、流入領域は、差分画像中「＋」の値の画素値を持つ画素からなる領域であって、流出領域は、差分画像中「−」の値の画素値を持つ画素からなる領域であり、時刻ｔにおける流入領域ＤＩＮ（ｔ）、流出領域ＤＯＵＴ（ｔ）は、それぞれ式（３）、（４）で表すことができる。
【００６２】
【数２】
0003732757.tif 000003
【００６３】
例えば、図１４（ｃ）に示した差分画像（の一部）からは、画素値「５０」の画素Ｐ２が流入領域（の一部）として抽出され、画素値「−５０」の画素Ｐ１が流出領域の（一部）として抽出される。
【００６４】
図１０（ａ）に示した差分画像から抽出される流入領域の画像を図１１（ａ）に、流出領域の画像を図１２（ａ）に示す。なお、図１２（ａ）に示すように、流出領域の画像は、式（４）からも明らかなように、各画素値は絶対値に変換されている。
【００６５】
次に、流入領域ＤＩＮ（ｔ）、流出領域ＤＯＵＴ（ｔ）の位置を求める（ステップＳ４）。本実施形態では、両領域の位置を重心点で代表し（図１１，図１２参照）、流入領域ＤＩＮ（ｔ）の重心位置をＧＩＮ（ｔ）、流出領域ＤＯＵＴ（ｔ）の重心位置をＧＯＵＴ（ｔ）を計算する。
【００６６】
重心位置Ｇ＝（Ｇｘ，Ｇｙ，Ｇｚ）は式（５）を用いて計算する。
【００６７】
【数３】
0003732757.tif 000004
【００６８】
なお、ここに示した重心の計算方法は一例で、これに限定されるものではなく、他の定義を用いて計算することが可能である。
【００６９】
さらに、図１３に示すように、ステップＳ４で得られた重心位置ＧＯＵＴ（ｔ）からＧＩＮ（ｔ）へのベクトルＶ（ｔ）＝（Ｖ（ｔ）ｘ，Ｖ（ｔ）ｙ，Ｖ（ｔ）ｚ）を求め、これを特徴量として得る（ステップＳ５）。この特徴量を以降、ディファレンシャル・フロー（Ｄｉｆｆｅｒｅｎｔｉａｌ  Ｆｌｏｗ）と呼ぶ。時刻ｔにおけるディファレンシャル・フローは、式（６）で得られる。
【００７０】
【数４】
0003732757.tif 000005
【００７１】
なお、以上で説明したディファレンシャル・フローの計算方法は一例であり、これに限定されるものではない。また、特徴量は、ディファレンシャル・フローに限定されるものではない。
【００７２】
図７の説明に戻る。次に、認識部４は、検出部３で得られた特徴量、すなわち、ディファレンシャル・フローを基に、画像内に含まれる対象物の動きを認識する。
【００７３】
それでは、認識部４で実際にどのようにして認識処理を行うのかを人間の上半身における手振り動作の例を用いて具体的に説明する。手振り動作は、手挙げ／手下げ動作と、手の左右振りという一連の複数の動作から構成されているが、ここでは、この一連の複数の動作のうち、まず、人間の手挙げ／手下げ動作を認識する場合を例にとり説明する。なお、以下の説明では、「動作」という用語も「動き」という用語も同じ意味合いで用いている。
【００７４】
図１５に人間の手挙げ／手下げ動作の様子を示し、図１６（ａ）〜（ｃ）は、この動作中のディファレンシャル・フローＶ（ｔ）＝（Ｖ（ｔ）ｘ，Ｖ（ｔ）ｙ，Ｖ（ｔ）ｚ）の時間変化の様子を各成分毎に示したものである。なお、図１６（ａ）〜（ｃ）では、横軸方向に時間、縦軸にディファレンシャル・フローの各成分の値を示し、縦軸方向の値は、動きの大きさ（量）の大小を表すための適当な値である。
【００７５】
図１６では、実際にある（任意の）人に手挙げ／手下げ動作を行ってもらい、その際の距離画像から上記のようにして求めたファレンシャル・フローの値の時間的な変化を示したものである、図１６中、手挙げ／手下げ動作時の部分を点線で囲った。動きがあった部分は、ディファレンシャル・フローの値が大きく変化しており、それ以外の動きが無い部分（静止状態）は「０」に近い値を取っていることが分かる。このように、ディファレンシャル・フローの値を解析することで、動きの認識を行うことができる。
【００７６】
以降では、より具体的にディファレンシャル・フローの値の解析方法について説明する。
【００７７】
例えば、人間の「手挙げ」動作の場合、図１５（ａ）、（ｂ）に示すように、手を挙げるのであるから、ｙ軸方向の動きに特徴がある。さらに、「手挙げ」動作の場合、一般的に人間は腕を手前方向（ｚ軸方向）に動かしながら、手を挙げるものである。このように、ｙ軸方向とｚ軸方向の動きに特徴があれば、それらの動き量を乗算した結果には、当該「手挙げ」動作の動き量およびその動作時点がより顕著に表されている。そこで、このように、一般的な人間の「手挙げ」動作を分析した結果、人間の「手挙げ」動作は、ディファレンシャル・フローＶ（ｔ）＝（Ｖ（ｔ）ｘ，Ｖ（ｔ）ｙ，Ｖ（ｔ）ｚ）のｙ成分とｚ成分を用いて、以下に示す式（７）より認識を行うこととができる。
【００７８】
【数５】
0003732757.tif 000006
【００７９】
式（７）において、ＴＨ１は閾値で、任意の正定数である。得られたディファレンシャル・フローの成分Ｖｙ、Ｖｚが式（７）の関係を満たすとき、「手挙げ」動作が行われたと認識する。
【００８０】
図１７に｜Ｖｙ×Ｖｚ｜の変化の様子を示す。なお、図１７において、横軸方向に時間、縦軸に｜Ｖｙ×Ｖｚ｜の値を示し、縦軸方向の値は、動きの量（大きさ）の大小を表すための適当な値である。式（７）の関係を満たし、｜Ｖｙ×Ｖｚ｜の値が閾値ＴＨ１を越える時点で、「手挙げ」動作が行われたと認識するわけである。
【００８１】
このように、例えば、人間の動作を認識する場合、実際の人間の動きの３次元性を利用する。人間が手を動かす際、その平面方向（ｘｙ平面方向）の動きと、奥行き方向（ｚ方向）の動きは、独立して生じることはない。つまり、例えば、「手挙げ」動作を行うときには、単に手が上方向に動いているだけではなく、奥行き方向の値も、従属して変化している訳である。つまり、平面方向の動きの成分と奥行き方向の成分には相関関係が存在する。そこで、平面方向の成分と奥行き方向の成分を同時に見ることで、このような３次元的な動きを安定して認識することが可能であるという訳である。
【００８２】
そこで、式（７）で示したように、「手挙げ」動作の場合には、ディファレンシャル・フローの各成分のうち、その動作を特徴付ける動きの方向（例えば、ここでは、ｙ軸方向）の成分と、この動き方向と相関関係のある方向の成分とを用いて、例えば、Ｖｙ×Ｖｚというような平面方向と奥行き方向の成分の積を得ることで、「手挙げ」動作といった認識が可能となる。
【００８３】
さらに、ディファレンシャル・フローを用いた、人間の「手による否定表現（手振り）」動作の認識手法について説明する。
【００８４】
「手振り」動作は、手を何回か横方向に動かす動作と考える。図１８に示すように、最少の手振り回数は４回である。手挙げ時（図１８（ｂ）参照）に１回、横方向（図１８（ｃ）、（ｄ）参照）に２回（一往復で左右に１回ずつ）、手下げ時（図１８（ｅ）参照）に１回である。そこで、横方向に４回以上の運動があった場合、「手振り」動作であるとする。
【００８５】
このように、人間の「手振り」動作は、ｘ軸方向の動きに特に特徴があり、ｘ軸方向の動きには、必ずｚ軸方向の動きも伴う（従って、ｘ軸方向とｚ軸方向とは相関関係がある）ため、例えば、｜Ｖｘ×Ｖｚ｜の値をみることで認識を行うことができる。そこで、左右振り動作は、式（７）によって検出することができる。ここで、ＴＨ２は閾値であり、任意の正定数値をとる。
【００８６】
【数６】
0003732757.tif 000007
【００８７】
式（８）の条件を、一連の動作中に４回以上満たす場合、その動作を「手振り」動作と認識する。
【００８８】
図１９は、実際に人間が一般的に普通の早さで「手振り」動作を行った場合の、｜Ｖｘ×Ｖｚ｜の値の変化の様子を示したものである。なお、図１９において、横軸方向に時間、縦軸に｜Ｖｘ×Ｖｚ｜の値を示し、縦軸方向の値は、動き量の大小を表すための適当な値である。
【００８９】
図１９に示した例の場合、一連の動作中に６回の横方向の運動が検出され、この動作は、「手振り」動作であると認識された。
【００９０】
なお、以上に説明では、ディファレンシャル・フローの３つの成分のうち、これから認識しようとする動きの特徴的な動き方向の成分とその動き方向と相関関係のある方向の成分との２つを用いて、当該動きを認識するようになっているが、この場合に限らず、ディファレンシャル・フローの３つの成分のうち、これから認識しようとする動きの特徴的な動きの方向成分のみを用い、その成分値が予め定められた閾値を超えたとき、当該動きを認識するようにしてもよい。さらに、ディファレンシャル・フローの３つの成分全てを用い、各成分値を乗算した結果が予め定められた閾値を超えたとき、当該動きを認識するようにしてもよい。このように、認識しようとする動きの種類に応じて、ディファレンシャル・フローの３つの成分のうちの少なくとも１つを用いることにより、動きを認識することができる。その際、３つの成分のうち選択された成分は、認識しようとする動きの特徴的な動き方向の成分のみである場合か、あるいは、認識しようとする動きの特徴的な動き方向の成分とその動き方向と相関関係のある方向の成分とである場合であることが望ましい。
【００９１】
また、認識部４は、動きの種類を認識するだけでなく、その動作を行う際の動きの早さ、動きの量（大きさ）などの動きの状態も認識することができる。
【００９２】
例えば、図１９に示したような手の振り方よりも早く手を左右に振った場合の「手振り」動作の｜Ｖｘ×Ｖｚ｜の値の時間的な変化を図２０に示す。なお、図２０において、横軸方向に時間、縦軸に｜Ｖｘ×Ｖｚ｜の値を示し、縦軸方向の値は、動きの量（大きさ）の大小を表すための適当な値である。
【００９３】
図１９と図２０を比較することにより明らかなように、図２０では、動作の開始時刻と終了時刻が図１９の場合より早くなり、しかも一連の動作中に検出される、６回の横方向の運動の間隔は狭くなっていることがわかる。そこで、例えば、認識すべき動きに含まれる一連の動きの検出間隔が所定時間より短い場合には、「早い動き」であると判定するようにしてもよい。
【００９４】
また、図１９に示したような手の振り方よりも大振りで手を左右に振った場合の「手振り」動作の｜Ｖｘ×Ｖｚ｜の値は、図１９の場合よりも大きくなる。従って、｜Ｖｘ×Ｖｚ｜の値に、横方向の動きを検出するための第１の閾値（この場合、ＴＨ２）の他に、「大きな動き」であると判定するための第２の閾値を設け、例えば、この値を超えるような場合には、「大きな動き」であると判定するようにしてもよい。
【００９５】
一般的に、「手振り」動作には、「さようなら」を意味する「手振り」動作や、「ちがう、ちがう」と否定するときの「手振り」動作があるが、この両者の違いは、手を振るときの早さであろう。「ちがう、ちがう」と手を振るときの方が、「バイバイ」と手を振るときよりも手を振る動作は速くなるのが普通である。そこで、認識部４では、「手挙げ」「手下げ」あるいは、これらと「手の左右振り」とからなる「手振り」動作であるかといった動きの種類を認識するだけでなく、上記したような動きの状態をも認識することにより、例えば、早い動きの「手振り」動作が認識されたときには、「いいえ」を意味し、早き動きでない通常の「手振り」動作が認識されたときには、「さようなら」を意味していると判断することもできる。すなわち、認識された動きが表す意味も認識することができる。
【００９６】
なお、以上で述べた解析手法は、あくまでも一例であり、これに限定されるものではない。Ｖｘ、Ｖｙ、Ｖｚに関する他の計算方法を用いてもよいし、ＦＦＴやＷａｖｅｌｅｔ変換に代表されるような信号処理の手法を用いることも可能である。人工知能における知識処理的な手法でも構わない。あるいは、その他の考えられるあらゆる手法を取ることができる。
【００９７】
また、以上で述べた「手挙げ」、「手の左右振り」といった動作は、あくまでも一例であり、これに限定されることなく、あらゆる動作を解析することが可能である。動作主体も人間に限定されるものではなく、あらゆる物体に関して、本手法を適用可能である。
【００９８】
さらに、ディファレンシャル・フローを用いた解析は、一例であり、これとはことなる特徴量を解析しても構わない。
【００９９】
以上で説明したように、上記第１の実施形態では、対象物を撮影した２枚の距離画像間の差を用いることで、対象物の動きに関する３次元的な特徴量を算出し、それを利用して、対象物の動きの３次元的な認識を実現している。
【０１００】
もし、奥行き方向の情報をも表した距離画像を用いず、２次元画像から２次元的な特徴量のみで動きを認識しようとしても、例えば、人の「頭を横に向ける」といった動作の場合、２枚の２次元画像上の頭の画像領域の差分からでは、頭に動きがあったことは検出することはできるが、その動きが「横に向けた」動きでることは正確には認識することができない。しかし、上記第１の実施形態では、距離画像のように奥行き方向の情報を持たない従来の２次元画像内の２次元的な情報から、３次元的な動きを推測するといった認識手法（例えば、手のｘ軸方向（横方向）の投影面積が減少したから、手をｙ軸周りで回転したのであろうといったもの）と異なり、実際に距離画像の３次元的な性質を表す特徴量（ディファレンシャル・フロー）を用いることで認識を行っているため、従来法よりも、より確実に、より安定して３次元的な動きの認識を行うことが可能である。
【０１０１】
以下、第１の実施形態のいくつかの変形例を示す。
【０１０２】
（第１実施形態の変形例１）
画像取得部１で、所定時間毎に距離画像を取得するのではなく、任意のタイミングで距離画像を取得するようにしてもよい。動きの速い物体を撮像している際には速い間隔毎に、遅い物体を撮像している際には遅い間隔毎になどといったように、撮像物に応じて取得間隔をダイナミックに変化させてもよいし、例えば、ユーザの指示などを用いて、任意のタイミングで取得するようにしてもよい。また、それ以外の方法でも構わない。
【０１０３】
このようにすることにより、例えばユーザが開始時と終了時をスイッチで指示し、その間に特定の動きが行われたかどうかといったような任意の時間間隔内での３次元的な動き認識を行うことが可能である。また、認識したい物体の動作速度に応じて、動作認識に適した取得間隔に制御するようにしてもよい。
【０１０４】
（第１実施形態の変形例２）
差分計算部２で、最新のフレームではなく、過去の特定のフレーム（時刻ｔ（現在）よりも前の任意の時刻ｔ’）を距離画像Ａとし、そこから数フレーム前（例えば、時刻ｔ’−ｎのフレーム）を距離画像Ｂとして差分画像を生成するようにしてもよい。
【０１０５】
このようにすることにより、過去の特定の時点での３次元的な動き認識を行うことが可能である。
【０１０６】
つまり、第１の実施形態で説明したように、リアルタイムの動き認識だけではなく、任意の時点の動き認識を行うことが可能である。これにより、ビデオテープ、ハードディスクなどの記録装置に記録された距離画像ストリームのオフライン認識を行うことができる。
【０１０７】
（第１実施形態の変形例３）
第１の実施形態および上記変形例２で、差分計算部２において、距離画像Ａは、距離画像Ｂよりも時刻的に新しい画像として説明したが、これに限られるものではなく、時刻関係が逆転しても同様である。
【０１０８】
（第１実施形態の変形例４）
第１の実施形態でも説明したように、認識部４では、特徴量（一例としてディファレンシャル・フロー）の解析を行うことで、ある動きが行われているかどうかが認識するとともに、特徴量の値の大きさや、その変動幅などを解析することで、その動きがどのくらいの大きさで行われているのかをも認識することができる。
【０１０９】
例えば、第１の実施形態では、「手の左右振り」動作の認識の例で、横方向の動きを検出する際に、｜Ｖｘ×Ｖｚ｜の値がある閾値を越えたかどうかをみていたが、これを押し進めて、閾値を１つだけではなく、ＴＨ１、ＴＨ２、ＴＨ３（これらは任意の正定数で、ＴＨ１＜ＴＨ２＜ＴＨ３を満たすものとする）などと言ったように例えば３つ用意して、この値の大きさがどの閾値を超えたかによって動きの大きさを３段階に分けることができる。このように、複数の閾値を用意することで、動きが行われたかどうかだけでなく、その動きの大きさのレベルをも知ることが可能である。また、閾値処理ではなく、その値自体をアナログ量として見て、動きの大きさをアナログ量として表現することも可能である。
【０１１０】
なお、ここで説明した方法は一例であり、これに限定されるものではない。どの値を解析するかも自由に選べるし、その選んだ値からどのように動きの大きさを判別するかも、各種の方法を取ることができる。
【０１１１】
（第１実施形態の変形例５）
画像取得部１で、取得する距離画像は、第１の実施形態で表現した画像に限られない。例えば、モーションキャプチャ法により得られた物体の特徴点データと物体の３次元モデルを組み合わせることで得られた物体の３次元形状データや、ＣＧなどで用いられるために作成された３次元データなどは、通常画像と呼ばないことが多いが、データの持つ性質は、３次元的な形状を表現しているため、第１の実施形態で説明した距離画像に準じる性質を持つ。そこで、これらは本実施形態における距離画像と同等とみなすことができる。
【０１１２】
このように、通常画像と呼ばれないデータに関しても、３次元の形状データを持つものを画像取得部１で取得することで、同様に、その物体の動きの認識を行うことが可能である。
【０１１３】
（第１実施形態の変形例６）
認識部４で、動きが行われたかどうかの認識結果だけではなく、その認識に対する信頼度と併せて結果として出力することがある。信頼度は、認識を行う際、認識のための条件を満たす際の数値の差異などをもとに決定する。例えば、第１の実施形態における「手挙げ」動作を認識する場合、式（７）を用いて認識のための判別を行っているが、｜Ｖｙ×Ｖｚ｜−ＴＨ１の値（閾値との差の大きさ）や、Ｖｙの値を信頼度とすることができる。また、これらを相互用いて信頼度を算出してもよいし、これ以外の値を用いてもよい。
【０１１４】
このようにすることで、ある動きの認識がどのくらい信頼度で行われているのかを知ることができる。例えば、「手挙げ」の認識が高い信頼度で成功していれば、ユーザは、この認識結果は非常に信頼する事ができるが、信頼度が低い場合、参考程度に考えるなどということが可能となる。
【０１１５】
（第２の実施形態）
上記第１の実施形態で説明した画像認識装置およびその手法は、距離画像から対象物の３次元的な動きの特徴量（ディファレンシャル・フロー）を検出し、それを用いて距離画像内に含まれる対象物の動きを認識するものであり、距離画像内の１つの動きの特徴量を求めて、その１つの動きの認識のみを行う場合について説明した。次に、第２の実施形態では、距離画像に含まれる複数の動きのそれぞれを認識する場合について説明する。
【０１１６】
図２１は、第２の実施形態に係る画像認識装置の全体構成図である。なお、図２１において、図１と同一部分には同一符号を付し、異なる部分についてのみ説明する。すなわち、図２１の画像認識装置は、差分計算部２で得られた差分画像から、対象物の動作認識のための認識領域を抽出する領域抽出部５が新たに追加され、検出部３は、領域抽出部５で差分画像から抽出された認識領域毎に特徴量を検出するようになっている。
【０１１７】
画像取得部１および差分計算部２に関しては、第１の実施形態とまったく同様である。
【０１１８】
次に、領域抽出部５について、図２２に示すフローチャートを参照して説明する。
【０１１９】
領域抽出部５は、画像取得部１から送られてきた、例えば、図２３（ａ）（ｂ）に示したような距離画像中に複数の動きが同時に混在している場合に、図２３（ｃ）に示したように、差分画像から、各動きを認識するための複数の領域を抽出するようになっている。
【０１２０】
まず、図２３（ａ）、（ｂ）に示した距離画像Ａ（時刻ｔに撮像されたもの）、距離画像Ｂ（時刻ｔ−ｎに撮像されたもの）に含まれる対象物（動き）の領域を抽出する（ステップＳ１０１）。ここで、１つの対象物は連続する領域で占められた領域であると定義し、対象物の画像の外接矩形領域を抽出するものとする。なお、外接矩形領域に限らず、対象物の存在する領域が抽出されれば、他の形状の領域であってもよい。この場合、図２３（ａ）に示した距離画像Ａからは、図２４（ａ）に示すように、対象物の領域Ｒ１、Ｒ２が抽出される。また、図２３（ｂ）に示した距離画像Ｂからは、図２４（ｂ）に示すように、対象物の領域Ｒ１´、Ｒ２´が抽出される。
【０１２１】
次に、距離画像Ａ、Ｂ中の対応する２つの領域（好ましくは、同じ対象物が含まれる２つの領域）を合成して認識領域を生成する（ステップＳ１０２）。例えば、図２３（ａ）の距離画像Ａ中の領域Ｒ１と図２３（ｂ）の距離画像Ｂ中の領域Ｒ１´とが対応し、図２３（ａ）の距離画像Ａ中の領域Ｒ２と図２３（ｂ）の距離画像Ｂ中の領域Ｒ２´とが対応するのであれば、図２５に示したように、領域Ｒ１とＲ１´とを合成して動きを認識するための認識領域ＣＲ１が生成され、また、領域Ｒ２とＲ２´とを合成して認識領域ＣＲ２が生成される。
【０１２２】
例えば、距離画像ＡとＢとを重ね合わせたときに、領域Ｒ１とＲ１´の重なり合う領域と、それ以外の両者の全ての領域とを認識領域ＣＲ１とする。認識領域ＣＲ２も同様に、距離画像ＡとＢとを重ね合わせたときに、領域Ｒ２とＲ２´の重なり合う領域と、それ以外の両者の全ての領域とを認識領域ＣＲ２とする。
【０１２３】
ここで、対応の求め方に関しては本発明では特に限定しないが、一番近い領域同士が同じ対象物の領域であると判断し、それらを対応させても良いし、何らかの知識を用いて同じ対象物だと判別される領域を求め、それらを対応させてもよい。他の方法でも構わない。
【０１２４】
さらに、領域抽出部５は、差分計算部２で求めた差分画像から複数の認識領域を抽出する（ステップＳ１０３）。すなわち、例えば、図２３（ａ）に示した距離画像Ａと図２３（ｂ）に示した距離画像Ｂとから、差分計算部２にて、図２６（ａ）に示すような差分画像が生成されたとする。このような差分画像から図２５に示した認識領域ＣＲ１、ＣＲ２のそれぞれに対応する部分を認識領域ＣＲ１´、ＣＲ２´として抽出する。例えば、距離画像ＡとＢとを重ね合わせて認識領域ＣＲ１、ＣＲ２を生成したが、さらに、その上に差分画像を重ね合わせたときの、差分画像中の認識領域ＣＲ１、ＣＲ２のそれぞれに対応する領域を認識領域ＣＲ１´、ＣＲ２´として抽出する。
【０１２５】
なお、領域抽出部５は、ステップＳ１０１において、距離画像中から１つの対象物の領域のみが抽出されたときでも、ステップＳ１０２，ステップＳ１０３の処理を行って、距離画像Ａと距離画像Ｂ中の当該対象物の含まれる対応する領域を合成して認識領域を生成し、差分画像から当該認識領域を抽出する。
【０１２６】
次に検出部３について説明する。
【０１２７】
検出部３では、領域抽出部５で差分画像から抽出された複数の認識領域のそれぞれについて、特徴量（例えば、ここでは、ディファレンシャル・フロー）を求める（図２７参照）。
【０１２８】
特徴量の検出処理に関しては、第１の実施形態の検出部３と同様である。
【０１２９】
認識部４では、検出部３で検出された複数の認識領域毎の特徴量をそれぞれ解析し、動きの認識を行う。具体的な個々の動作の認識方法に関しては、第１の実施形態の認識部４と同様である。
【０１３０】
この際、認識のための解析は、それぞれの特徴量の値に関して独立して行ってもよいし、それぞれの値を相互参照して解析してもよい。
【０１３１】
このように、距離画像中に複数の動きが存在する場合には、差分画像から各動きの存在位置に対応する複数の認識領域を抽出して、この認識領域毎に複数の動きのそれぞれに対応した特徴量を求めて動作を認識することにより、単一の動きの認識にとどまらず、複数の動きの認識を同時に行うことが可能となり、しかも、複数の３次元的な動きのそれぞれを、安定的かつ高精度に認識することができる。
【０１３２】
なお、以上で説明した領域抽出部における差分画像からの認識領域の抽出手法は一例であり、これに限定されるものではない。
【０１３３】
（第３の実施形態）
第１の実施形態では、認識部４において、ある動きに関する認識を行っていた。第３の実施形態では、これを推し進め、複数の動きの識別を含んだ動き認識を可能とするものである。
【０１３４】
例えば、第１の実施形態では、「手振り」動作を例にとり説明したが、この「手振り」動作は、「手挙げ」「手下げ」「手の左右振り」という動きからなる。このように、１つの認識対象の動きには、複数種類の動きから構成される場合もある。そこで、第３の実施形態では、複数種類の動きをそれぞれ認識して、それらの関連性から１つの動きを識別する事も可能な画像認識装置について説明する。
【０１３５】
図２８は、第３の実施形態に係る画像認識装置の全体構成図である。なお、図２８において、図１と同一部分には、同一符号を付し、異なる部分についてのみ説明する。すなわち、図２８の画像認識装置は、検出部３で得られた特徴量（例えば、ここでは、ディファレンシャル・フロー）を基に画像内に含まれる対象物の動きを認識するための複数の（例えば、ここでは、ｘ個（ｘは、任意の整数））認識部（第１の認識部４ａ、第２の認識部４ｂ、…、第ｘの検出部４ｘ）を持ち、さらに、この複数の認識部４ａ〜４ｘで得られた認識結果をもとに、対象物の動きの識別を行う動作識別部６が新たに追加されている。
【０１３６】
画像取得部１、差分計算部２および検出部３に関しては、第１の実施形態とまったく同様である。
【０１３７】
次に、複数の認識部４ａ〜４ｘについて説明する。各認識部では、その認識部に予め定められた特定の動きを認識する。
【０１３８】
例えば、第１の認識部４ａは、「手挙げ」動作の認識を行う。認識の方法に関しては、第１の実施形態と同様である。第２の認識部４ｂでは、第１の認識部４ａとは異なる特定の動きの認識を行う。例えば、「手の左右振り」動作の認識を行う。認識の方法に関しては、第１の実施形態と同様である。
【０１３９】
以下、同様にして、第ｘの認識部４ｘでは、それ以外の認識部とは異なる特定の動きの認識を行う。例えば、「首の上下振り」動作の認識を行う。認識の方法に関しては、第１の実施形態と同様である。
【０１４０】
次に、動作識別部６について説明する。動作識別部６では、複数の認識部４ａから４ｘで得られた認識結果をもとに、対象物の動きの種類を最終的に識別（弁別）する。
【０１４１】
例えば、「首の上下振り」動作のみが認識成功の結果が得られており、他の動きに関する認識が失敗している場合、対象物の動作は、「首の上下振り」であると識別することができる。このように、複数の認識部４ａ〜４ｘのうちの１つの認識部での認識結果のみが成功している場合は、動作識別部６は、その認識された動きをそのまま識別結果として出力する。
【０１４２】
複数の認識部４ａ〜４ｘでの認識結果に複数の成功が含まれる場合の動作識別部６の処理動作について説明する。第１の実施形態で説明したように、人間が「手振り」動作を行う場合、通常、人間は手を体の前ぐらいまで挙げて、それから左右方向に手を振る。そして、最後には、手を降ろす。そこで、このような動作の場合、「手挙げ」、「手の左右振り」、「手下げ」の３つの動きの認識が成功し、この順番に動作が行われているのであれば、「手振り」という動作が識別（弁別）されることとなる。
【０１４３】
このような場合、複数の認識部４ａ〜４ｘのいずれか３つで、上記３つの動作のそれぞれを認識するようにし、人間の「手振り」動作に関する知識として、上述したような３つの動作が包含されるという知識を予め動作識別部６に記憶させておけばよい。
【０１４４】
なお、知識の表現方法、記憶方法などは、本発明では特に問わない。考えられる任意の方法をとることが可能である。また、知識は、予め記憶しておいたもので固定されているわけではなく、動作中に任意に入れ替えたり、更新したりすることも可能である。
【０１４５】
なお、上述した弁別の手法はあくまでも一例であり、これに限定されるものではない。第１の実施形態の第６の変形例の項で説明した信頼度などをもとに弁別を行ってもよいし、これ以外の方法でも構わない。
【０１４６】
また、上記第３の実施形態では、１つの対象物の動きを認識する場合を説明したが、この手法を第２の実施形態で説明した画像認識装置にも適用する事も可能である。すなわち、距離画像中に複数の動きが存在する場合には、領域抽出部５で差分画像から各動きの存在位置に対応する複数の認識領域を抽出し、検出部３で抽出された認識領域毎に、複数の動きのそれぞれに対応した特徴量を求めれば、各認識対象領域のそれぞれについて、複数の認識部４ａ〜４ｘで動きの種類を認識して、動作識別部６で最終的に各認識対象領域でどのような動作が行われていたのかを識別する。また、動作識別部６は、各認識対象領域から認識された各動きから、全体で、どのような動きが行われていたのかを識別することもできる。（第４の実施形態）
図２９は、本発明の第４の実施形態に係る画像認識装置の全体構成図である。なお、図２９において、図１と同一部分には同一符号を付し、異なる部分についてのみ説明する。すなわち、図２９に示す画像認識装置には、画像取得部１で取得された距離画像から、その画像中に含まれる動作認識の対象物の形状を認識するための形状認識部７がさらに追加されている。
【０１４７】
形状認識部７での対象物の形状の識別手法に関しては本発明では特に言及しないが、考えられるあらゆる手段を用いることができる。例えば、その一手法として、テンプレートマッチング法が挙げられる。これは、テンプレートと呼ばれる形状の雛形を多数用意し、画像に含まれる物体と一番類似しているテンプレートを検出し、そのテンプレートが表現している形状を結果として得るというものである。具体的には、丸、三角、四角、手の形状…などといったようなテンプレートを形状認識部７に予め記憶しておき、距離画像内の物体が三角のテンプレートに最も類似している場合には、距離画像内の対象物の形状は三角形状であると認識する。
【０１４８】
そのために、形状認識部７は、例えば、画像取得部１から取得した距離画像から対象物の輪郭情報を抽出するようにしてもよい。すなわち、図６に示したような距離画像から画素値が予め定められた所定値以下のセルを除き、図３０に示すような撮像された対象物の輪郭情報を抽出する。
【０１４９】
図３０のような輪郭情報を抽出するには、隣り合う画素の画素値を比較し、画素値が一定値α以上のところだけに定数値を入れて、同じ定数値が割り振られた連続した画像領域の画素を抽出すればよい。
【０１５０】
すなわち、例えば図４に示したような距離画像データのマトリックス上の座標位置（ｉ、ｊ）にある画素値をＰ（ｉ、ｊ）とし、輪郭情報の画素値をＲ（ｉ、ｊ）とすると、
・｛Ｐ（ｉ、ｊ）−Ｐ（ｉ−１、ｊ）｝＞α、かつ
｛Ｐ（ｉ、ｊ）−Ｐ（ｉ、ｊ−１）｝＞α、かつ
｛Ｐ（ｉ、ｊ）−Ｐ（ｉ＋１、ｊ）｝＞α、かつ
｛Ｐ（ｉ、ｊ）−Ｐ（ｉ、ｊ＋１）｝＞α
のとき、Ｒ（ｉ、ｊ）＝２５５
・  上記以外のとき、Ｒ（ｉ、ｊ）＝０
とすることにより、図３０のような対象物の輪郭情報を得ることができる。
【０１５１】
このようにして抽出された対象物の輪郭情報と、予め記憶されたテンプレートとを比較し、対象物の輪郭情報と一番類似しているテンプレートを検出し、そのテンプレートが表現している形状を対象物の形状の認識結果として出力すればよい。
【０１５２】
なお、上記のような輪郭を用いた対象物の形状の認識手法は、一例であって、距離画像から輪郭を求めることなく、テンプレート自体が距離画像であって、取得した距離画像をそのままテンプレートである距離画像と比較して、対象物の形状を認識するようにしてもよい。
【０１５３】
このように、対象物の動作の認識だけではなく、その形状の認識も同時に行い、対象物の動作の認識の際に、認識された形状を参照することにより、例えば、手をどのような形状にどのように動かしたかなども認識することができる。さらに、上記手法は、手話認識にも適用可能である。
【０１５４】
以上の各実施形態やその変形例は、適宜組み合わせて実施することが可能である。また、本発明の手法は、与えられた距離画像もしくはそのストリームに基づいて、動作を認識し、あるいはさらにその認識結果をもとに各種の処理を行うような装置に適用可能である。
【０１５５】
図１、図２１、図２８，図２９に示した各構成部は、画像取得部１を除いて、ソフトウェアとしても実現可能である。また、上記した本発明の手法は、コンピュータに実行させるためのプログラムを記録した機械読みとり可能な媒体として実行することもできる。
【０１５６】
本発明の実施の形態に記載した本発明の手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピーディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、半導体メモリなどの記録媒体に格納して頒布することもできる。
【０１５７】
なお、本発明は、上記実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、上記実施形態には種々の段階の発明は含まれており、開示される複数の構成用件における適宜な組み合わせにより、種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されても、発明が解決しようとする課題の欄で述べた課題（の少なくとも１つ）が解決でき、発明の効果の欄で述べられている効果（のなくとも１つ）が得られる場合には、この構成要件が削除された構成が発明として抽出され得る。
【０１５８】
【発明の効果】
以上説明したように、本発明によれば、３次元的な動きの認識を容易にしかも安定して、高精度で行うことができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態に係る画像認識装置の構成例を概略的に示す図。
【図２】距離画像を取得する画像取得部の外観の一例を示した図。
【図３】距離画像を取得する画像取得部の構成例を示した図。
【図４】反射光の強度を画素値とする距離画像の一例を示した図。
【図５】図３に示した様なマトリックス形式の距離画像を３次元的な表した図。
【図６】画像取得部により取得された手の距離画像の表示イメージを示した図。
【図７】図１の画像認識装置の処理動作を説明するためのフローチャート。
【図８】差分画像について説明するための図。
【図９】特徴量について説明するための図。
【図１０】特徴量について説明するための図で、特に、流入領域と流出領域について説明するための図。
【図１１】特徴量について説明するための図で、特に、流入領域とその代表点（ここでは、重心）について説明するための図。
【図１２】特徴量について説明するための図で、特に、流出領域とその代表点（ここでは、重心）について説明するための図。
【図１３】特徴量としてのディファレンシャル・フローについて説明するための図。
【図１４】差分画像、流入領域、流出領域の画像データについて説明するための図。
【図１５】距離画像を用いた、手挙げ／手下げ動作について説明するための図。
【図１６】特徴量（ディファレンシャル・フロー）の時間的変化の様子を示した図。
【図１７】｜Ｖｙ×Ｖｚ｜の時間的変化の様子を示した図。
【図１８】手動作における横方向の動きを説明するための図。
【図１９】｜Ｖｘ×Ｖｚ｜の時間的変化の様子を示した図。
【図２０】速い動きで手振り動作を行った場合の｜Ｖｘ×Ｖｚ｜の時間的変化の様子を示した図。
【図２１】本発明の第２の実施形態に係る画像認識装置の構成例を概略的に示す図。
【図２２】図２１の領域抽出部５の処理動作を説明するためのフローチャート。
【図２３】２枚の距離画像に複数の（例えば、ここでは、２つの）動きが存在する場合を説明するための図。
【図２４】距離画像から対象物の外接矩形を抽出する処理を説明するための図。
【図２５】動きを認識するための認識領域を生成する処理を説明するための図。
【図２６】差分画像から認識領域を抽出する処理を説明するための図。
【図２７】差分画像から抽出された認識領域から求めた特徴量（ディファレンシャル・フロー）を説明するための図。
【図２８】本発明の第３の実施形態に係る画像認識装置の構成例を概略的に示す図。
【図２９】本発明の第４の実施形態に係る画像認識装置の構成例を概略的に示す図。
【図３０】距離画像から抽出された物体の輪郭画像の一例を示した図。
【符号の説明】
１…画像取得部
２…差分計算部
３…検出部
４…認識部
４ａ…第１の認識部
４ｂ…第２の認識部
４ｘ…第ｘの認識部
５…領域抽出部
６…動作識別部
７…形状認識部
【図１】
0003732757.tif 000008
【図２】
0003732757.tif 000009
【図３】
0003732757.tif 000010
【図４】
0003732757.tif 000011
【図５】
0003732757.tif 000012
【図６】
0003732757.tif 000013
【図７】
0003732757.tif 000014
【図８】
0003732757.tif 000015
【図９】
0003732757.tif 000016
【図１０】
0003732757.tif 000017
【図１１】
0003732757.tif 000018
【図１２】
0003732757.tif 000019
【図１３】
0003732757.tif 000020
【図１４】
0003732757.tif 000021
【図１５】
0003732757.tif 000022
【図１６】
0003732757.tif 000023
【図１７】
0003732757.tif 000024
【図１８】
0003732757.tif 000025
【図１９】
0003732757.tif 000026
【図２０】
0003732757.tif 000027
【図２１】
0003732757.tif 000028
【図２２】
0003732757.tif 000029
【図２３】
0003732757.tif 000030
【図２４】
0003732757.tif 000031
【図２５】
0003732757.tif 000032
【図２６】
0003732757.tif 000033
【図２７】
0003732757.tif 000034
【図２８】
0003732757.tif 000035
【図２９】
0003732757.tif 000036
【図３０】
0003732757.tif 000037