(57)【要約】【課題】人物が移動している最中に行った所定のジェスチャを適切に検出することが可能なジェスチャ検出装置を提供する。【解決手段】ジェスチャ検出装置は、複数フレーム分の撮影画像に基づいて、物体の動きについての軌跡を検出する軌跡検出手段と、軌跡検出手段によって検出された軌跡に対して周波数解析を行う周波数解析手段と、周波数解析手段による周波数解析の結果に基づいて、所定の周波数範囲において所定値以上のピークが発生している場合に、所定のジェスチャが行われたと判定するジェスチャ検出手段と、を備える。これにより、人物が移動している最中に所定のジェスチャを行った場合にも、そのようなジェスチャを適切に検出することができる。【選択図】図２
2014026566.tif 000002
【特許請求の範囲】
【請求項１】
複数フレーム分の撮影画像に基づいて、物体の動きについての軌跡を検出する軌跡検出手段と、
前記軌跡検出手段によって検出された前記軌跡に対して周波数解析を行う周波数解析手段と、
前記周波数解析手段による前記周波数解析の結果に基づいて、所定の周波数範囲において所定値以上のピークが発生している場合に、所定のジェスチャが行われたと判定するジェスチャ検出手段と、を備えることを特徴とするジェスチャ検出装置。
【請求項２】
前記周波数解析手段は、前記軌跡検出手段によって検出された前記軌跡に対して所定の関数を当てはめ、当てはめた前記所定の関数と前記軌跡との残差に対して前記周波数解析を行うことを特徴とする請求項１に記載のジェスチャ検出装置。
【請求項３】
前記周波数解析手段は、前記所定の関数と前記軌跡との残差を、前記所定のジェスチャに起因する成分が含まれている可能性があるものとして扱い、当該残差に対して前記周波数解析を行うことを特徴とする請求項２に記載のジェスチャ検出装置。
【請求項４】
前記ジェスチャ検出手段は、前記所定の周波数範囲として手振りに応じた周波数範囲を用いて、前記所定のジェスチャとして手振りを検出することを特徴とする請求項１乃至３のいずれか一項に記載のジェスチャ検出装置。
【請求項５】
前記軌跡検出手段は、前記複数フレームとして、前記手振りに応じた周波数範囲に基づいたフレーム数を用いることを特徴とする請求項４に記載のジェスチャ検出装置。
【請求項６】
前記軌跡検出手段は、前記複数フレームの各々から、前記物体の動きをオプティカルフローとして求め、前記複数フレームの各々から求められた前記オプティカルフローを追跡することで、前記軌跡を検出することを特徴とする請求項１乃至５のいずれか一項に記載のジェスチャ検出装置。
【請求項７】
前記ジェスチャ検出手段は、前記ピークに対して用いる前記所定値を、前記周波数解析の結果に応じて変更することを特徴とする請求項１乃至６のいずれか一項に記載のジェスチャ検出装置。
【請求項８】
ジェスチャ検出装置によって実行されるジェスチャ検出方法であって、
複数フレーム分の撮影画像に基づいて、物体の動きについての軌跡を検出する軌跡検出工程と、
前記軌跡検出工程によって検出された前記軌跡に対して周波数解析を行う周波数解析工程と、
前記周波数解析工程による前記周波数解析の結果に基づいて、所定の周波数範囲において所定値以上のピークが発生している場合に、所定のジェスチャが行われたと判定するジェスチャ検出工程と、を備えることを特徴とするジェスチャ検出方法。
【請求項９】
コンピュータを有するジェスチャ検出装置によって実行されるプログラムであって、
前記コンピュータを、
複数フレーム分の撮影画像に基づいて、物体の動きについての軌跡を検出する軌跡検出手段、
前記軌跡検出手段によって検出された前記軌跡に対して周波数解析を行う周波数解析手段、
前記周波数解析手段による前記周波数解析の結果に基づいて、所定の周波数範囲において所定値以上のピークが発生している場合に、所定のジェスチャが行われたと判定するジェスチャ検出手段、として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人物のジェスチャを検出する技術分野に関する。
【背景技術】
【０００２】
この種の技術が、例えば特許文献１及び２に提案されている。特許文献１には、撮影画像を複数ブロックに分割し、２つの異なる時点の同一の画像データ群の位置の変化を取得することで、複数のブロックすべての位置の変化をジェスチャの特徴とみなす技術が提案されている。特許文献２には、ユーザの特徴点を世界座標系から、ユーザ姿勢に対して一意で且つユーザのある特徴点を基準としたユーザ座標系に変換することで、ユーザの位置や姿勢に依存しないジェスチャ推定を図った技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−１９２１５０号公報
【特許文献２】特開２０００−１４９０２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、人物が移動している最中に行った所定のジェスチャを検出することができれば便宜である。上記した特許文献１及び２に記載された技術は、基本的には、人物がほぼ静止している状態で行ったジェスチャ（つまり一箇所にほぼ止まった状態で行ったジェスチャ）を検出対象としており、人物が移動している状態（例えば歩行中）で行ったジェスチャを適切に検出することは困難であった。
【０００５】
本発明が解決しようとする課題としては、上記のものが一例として挙げられる。本発明は、人物が移動している最中に行った所定のジェスチャを適切に検出することが可能なジェスチャ検出装置、ジェスチャ検出方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
請求項１に記載の発明では、ジェスチャ検出装置は、複数フレーム分の撮影画像に基づいて、物体の動きについての軌跡を検出する軌跡検出手段と、前記軌跡検出手段によって検出された前記軌跡に対して周波数解析を行う周波数解析手段と、前記周波数解析手段による前記周波数解析の結果に基づいて、所定の周波数範囲において所定値以上のピークが発生している場合に、所定のジェスチャが行われたと判定するジェスチャ検出手段と、を備えることを特徴とする。
【０００７】
請求項８に記載の発明では、ジェスチャ検出装置によって実行されるジェスチャ検出方法は、複数フレーム分の撮影画像に基づいて、物体の動きについての軌跡を検出する軌跡検出工程と、前記軌跡検出工程によって検出された前記軌跡に対して周波数解析を行う周波数解析工程と、前記周波数解析工程による前記周波数解析の結果に基づいて、所定の周波数範囲において所定値以上のピークが発生している場合に、所定のジェスチャが行われたと判定するジェスチャ検出工程と、を備えることを特徴とする。
【０００８】
請求項９に記載の発明では、コンピュータを有するジェスチャ検出装置によって実行されるプログラムは、前記コンピュータを、複数フレーム分の撮影画像に基づいて、物体の動きについての軌跡を検出する軌跡検出手段、前記軌跡検出手段によって検出された前記軌跡に対して周波数解析を行う周波数解析手段、前記周波数解析手段による前記周波数解析の結果に基づいて、所定の周波数範囲において所定値以上のピークが発生している場合に、所定のジェスチャが行われたと判定するジェスチャ検出手段、として機能させることを特徴とする。
【図面の簡単な説明】
【０００９】
【図１】本実施例の基本概念を説明するための図を示す。
【図２】本実施例に係るジェスチャ検出装置が適用されたシステムの概略構成を示す。
【図３】用いた撮影画像とフロー追跡を行った箇所の一例を示す。
【図４】フロー追跡結果の一例を示す。
【図５】関数当てはめを行った結果の一例を示す。
【図６】関数当てはめを行った結果の他の例を示す。
【図７】周波数解析結果の一例を示す。
【図８】手振り検出結果の一例を示す。
【図９】本実施例に係る処理フローを示す。
【発明を実施するための形態】
【００１０】
本発明の１つの観点では、ジェスチャ検出装置は、複数フレーム分の撮影画像に基づいて、物体の動きについての軌跡を検出する軌跡検出手段と、前記軌跡検出手段によって検出された前記軌跡に対して周波数解析を行う周波数解析手段と、前記周波数解析手段による前記周波数解析の結果に基づいて、所定の周波数範囲において所定値以上のピークが発生している場合に、所定のジェスチャが行われたと判定するジェスチャ検出手段と、を備える。
【００１１】
上記のジェスチャ検出装置は、所定の空間を撮影することで得られた撮影画像に基づいて、人物が当該所定の空間で行ったジェスチャを検出するために好適に利用される。軌跡検出手段は、複数フレーム分の撮影画像に基づいて、物体の動きについての軌跡を検出する。つまり、軌跡検出手段は、複数フレーム間に物体が移動した軌跡を検出する。周波数解析手段は、検出された軌跡に対して周波数解析を行う。具体的には、周波数解析手段は、周波数変換を行うことで、周波数ごとの強度（つまりパワースペクトル）を得る。そして、ジェスチャ検出手段は、周波数解析の結果に基づいて、所定の周波数範囲において所定値以上のピークが発生している場合に、つまり所定の周波数範囲においてパワースペクトルにおける強度が所定値以上となっている場合に、所定のジェスチャが行われたと判定する。例えば、ジェスチャ検出手段は、ある程度の周期性をもってなされる人物の動作を、所定のジェスチャとして検出する。
【００１２】
上記のジェスチャ検出装置によれば、人物が移動（例えば歩行）している最中に所定のジェスチャを行った場合にも、そのようなジェスチャを適切に検出することができる。また、ジェスチャ検出装置は、人物の姿勢解析などを行わないため、姿勢解析などを行う場合と比較して処理量を低減することができる。
【００１３】
上記のジェスチャ検出装置の一態様では、前記周波数解析手段は、前記軌跡検出手段によって検出された前記軌跡に対して所定の関数を当てはめ、当てはめた前記所定の関数と前記軌跡との残差に対して前記周波数解析を行う。
【００１４】
上記の態様では、周波数解析手段は、軌跡に対して当てはめた関数を人物の移動などに起因する成分として扱い、当てはめた関数と軌跡との残差を、所定のジェスチャに起因する成分が含まれている可能性があるものとして扱う。この態様によれば、軌跡検出手段によって検出された軌跡から、人物の移動などに起因する成分を適切に除去することができ、人物が移動している最中に行った所定のジェスチャを精度良く検出することができる。
【００１５】
上記のジェスチャ検出装置の他の一態様では、前記ジェスチャ検出手段は、前記所定の周波数範囲として手振りに応じた周波数範囲を用いて、前記所定のジェスチャとして手振りを検出する。これにより、人物が移動している最中に行った手振りを適切に検出することができる。
【００１６】
上記のジェスチャ検出装置の他の一態様では、前記軌跡検出手段は、前記複数フレームとして、前記手振りに応じた周波数範囲に基づいたフレーム数を用いる。例えば、軌跡検出手段は、少なくとも１周期分の手振りが含まれるようなフレーム数を用いることができる。
【００１７】
上記のジェスチャ検出装置において好適には、前記軌跡検出手段は、前記複数フレームの各々から、前記物体の動きをオプティカルフローとして求め、前記複数フレームの各々から求められた前記オプティカルフローを追跡することで、前記軌跡を検出する。
【００１８】
また好適には、前記ジェスチャ検出手段は、前記ピークに対して用いる前記所定値を、前記周波数解析の結果に応じて変更する。例えば、ジェスチャ検出手段は、全体的なパワースペクトルにおける強度のレベルに応じて、所定値を変更する。この例では、全体的な強度のレベルが高い場合には所定値を大きくし、全体的な強度のレベルが低い場合には所定値を小さくすることができる。
【００１９】
本発明の他の観点では、ジェスチャ検出装置によって実行されるジェスチャ検出方法は、複数フレーム分の撮影画像に基づいて、物体の動きについての軌跡を検出する軌跡検出工程と、前記軌跡検出工程によって検出された前記軌跡に対して周波数解析を行う周波数解析工程と、前記周波数解析工程による前記周波数解析の結果に基づいて、所定の周波数範囲において所定値以上のピークが発生している場合に、所定のジェスチャが行われたと判定するジェスチャ検出工程と、を備える。
【００２０】
本発明の更に他の観点では、コンピュータを有するジェスチャ検出装置によって実行されるプログラムは、前記コンピュータを、複数フレーム分の撮影画像に基づいて、物体の動きについての軌跡を検出する軌跡検出手段、前記軌跡検出手段によって検出された前記軌跡に対して周波数解析を行う周波数解析手段、前記周波数解析手段による前記周波数解析の結果に基づいて、所定の周波数範囲において所定値以上のピークが発生している場合に、所定のジェスチャが行われたと判定するジェスチャ検出手段、として機能させる。
【実施例】
【００２１】
以下、図面を参照して本発明の好適な実施例について説明する。
【００２２】
（１）基本概念
まず、図１を参照して、本実施例の基本概念について説明する。図１に示すように、本実施例では、所定の空間をカメラ２にて撮影することで得られた撮影画像（動画像）に基づいて、人物が当該所定の空間で行った所定のジェスチャを検出する。例えば、本実施例では、人物が移動中（歩行中）に行った手振りを検出することを図っている。
【００２３】
なお、本明細書では、検出対象としている「手振り」は、人物が歩行に伴って行う手の振り（歩行中に無意識に行う手の振り）を意味するのではなく、当該手の振りとは別に人物が意識的に行う手の振りを意味するものとする。
【００２４】
（２）全体構成
次に、図２を参照して、本実施例に係るジェスチャ検出装置１の構成について説明する。ここでは、ジェスチャ検出装置１が行う処理の概要について簡単に説明する。
【００２５】
図２は、本実施例に係るジェスチャ検出装置１が適用されたシステムの概略構成を示す。図２に示すように、ジェスチャ検出装置１は、主に、軌跡検出部１１と、周波数解析部１２と、ジェスチャ検出部１３と、記憶部１４と、を有する。例えば、ジェスチャ検出装置１は、パーソナルコンピュータのＣＰＵ（Central Processing Unit）によって実現される。
【００２６】
軌跡検出部１１は、カメラ２による撮影により生成された撮影画像が入力される。そして、軌跡検出部１１は、複数フレーム分の撮影画像（言い換えると所定時間内に撮影された複数枚の撮影画像）に基づいて、物体の動きについての軌跡を検出する。この場合、軌跡検出部１１は、記憶部１４に記憶された複数フレーム分の撮影画像に関するデータに基づいて、軌跡を検出する。
【００２７】
周波数解析部１２は、軌跡検出部１１によって検出された軌跡に対して、周波数解析を行う。具体的には、周波数解析部１２は、軌跡検出部１１によって検出された軌跡に対して所定の関数を当てはめ、当てはめた関数と軌跡との残差（以下では「当てはめ誤差」とも呼ぶ。）に対して周波数解析を行う。
【００２８】
ジェスチャ検出部１３は、周波数解析部１２による周波数解析の結果に基づいて、所定の周波数範囲において所定値以上のピークが発生している場合に、所定のジェスチャが行われたと判定する。具体的には、ジェスチャ検出部１３は、所定の周波数範囲として手振りに応じた周波数範囲（３〜６［Ｈｚ］程度）を用いて、所定のジェスチャとして手振りを検出する。
【００２９】
（３）具体的な処理内容
以下では、ジェスチャ検出装置１内の軌跡検出部１１、周波数解析部１２及びジェスチャ検出部１３が行う処理内容について詳細に説明する。具体的には、「オプティカルフロー算出」、「フロー追跡」、「関数当てはめ」、「周波数解析」、「手振り検出」について説明する。
【００３０】
（３−１）オプティカルフロー算出
まず、軌跡検出部１１が行うオプティカルフローの算出について説明する。
【００３１】
軌跡検出部１１は、カメラ２より入力された撮影画像から、オプティカルフローを算出する。このオプティカルフローは、画像中における物体の動きをベクトルで表したものに相当する。例えば、軌跡検出部１１は、現在入力された撮影画像（つまり現フレームの撮影画像）と、当該撮影画像の１フレーム前の撮影画像とを比較することで、オプティカルフローを算出する。軌跡検出部１１は、撮影画像を構成する全ての画素に対して、オプティカルフローを算出する処理を行う。また、軌跡検出部１１は、算出したオプティカルフローに関するデータを記憶部１４に記憶させる。つまり、軌跡検出部１１は、オプティカルフローを算出するたびに、オプティカルフローに関するデータを記憶部１４に記憶させる。これにより、記憶部１４には、複数フレームについてのオプティカルフローに関するデータが記憶されることとなる。なお、オプティカルフローの算出に当たっては、公知の種々の手法を適用することができる。
【００３２】
このように本実施例では、人物の動作解析の手がかりとして、撮影画像のオプティカルフローを用いる。これにより、人物の姿勢解析などを行わないため、処理量を低減することができる。
【００３３】
（３−２）フロー追跡
次に、軌跡検出部１１が上記したオプティカルフローの算出の後に行う、フロー追跡について説明する。
【００３４】
軌跡検出部１１は、複数フレームの各々から算出したオプティカルフローを追跡することで、物体の動きについての軌跡を検出する。具体的には、軌跡検出部１１は、記憶部１４に記憶されたオプティカルフローに関するデータを参照して、現在フレームから過去のフレームの方向に遡った所定数のフレーム分のオプティカルフローを追跡することで、物体の動きについての軌跡を求める。軌跡検出部１１は、所定数のフレーム間における画像上での位置の時間変化を軌跡として求める。例えば、軌跡は、時間軸（フレームにて規定したものでも良い）に対して画像上での座標値の変化を示したデータである。
【００３５】
また、軌跡検出部１１は、撮影画像を構成する全ての画素に対して、オプティカルフローを追跡して軌跡を求める処理を行う。この場合、軌跡検出部１１は、画像中で変化があった各画素ごとに、所定数のフレーム間において画像内を移動した軌跡を求める。
【００３６】
更に、軌跡検出部１１は、オプティカルフローを追跡する所定数のフレームとして、手振りに応じた周波数範囲（３〜６［Ｈｚ］程度）に基づいたフレーム数を用いる。具体的には、軌跡検出部１１は、少なくとも１周期分の手振り（好適な例では２〜３周期分の手振り）が含まれるようなフレーム数を用いる。以下では、３０［ｆｐｓ］で撮影を行うカメラ２を用い、所定数のフレームとして３０フレームを用いた場合（言い換えると１秒間に得られたフレーム数を用いる場合）を例に挙げる。
【００３７】
図３及び図４を参照して、上記したようなオプティカルフローの追跡結果（以下では単に「フロー追跡結果」とも呼ぶ。）の具体例について説明する。ここでは、図３に示すように、カメラ２で撮影される所定の空間内を、人物が右から左の方向に歩いた場合を例に挙げる（この例では、人物は手振りをしていないものとする）。また、人物の胴（胴体）、腕及び足についてのオプティカルフローの追跡を行った場合を例に挙げる。なお、画像の左上を基準とした横方向を「ｕ方向」とし、画像の左上を基準とした縦方向を「ｖ方向」とする（以下同様とする）。
【００３８】
図４は、図３に示したように人物が移動した際の、人物の胴（胴体）、腕及び足についてのフロー追跡結果の一例を示している。図４は、横軸にフレームを示し（３０フレーム分を示している）、縦軸にフロー追跡結果（ｐｉｘｅｌ）を示している。フレームにて規定された横軸は、時間軸に相当するものである。また、縦軸に示すフロー追跡結果の値は、画像中におけるｕ方向又はｖ方向の位置（つまり座標値）に相当し、そのような座標値の最小値を「０」にして基準としている。なお、図４における横軸及び縦軸の規定は、後述する図５及び図６でも同様である。
【００３９】
具体的には、図４では、フロー追跡結果として、３０フレーム間における胴のｕ方向及びｖ方向の軌跡と、３０フレーム間における腕のｕ方向及びｖ方向の軌跡と、３０フレーム間における足のｕ方向及びｖ方向の軌跡と、を示している。より詳しくは、胴に対応する画像中の箇所に含まれる１画素についてのｕ方向及びｖ方向の軌跡と、腕に対応する画像中の箇所に含まれる１画素についてのｕ方向及びｖ方向の軌跡と、足に対応する画像中の箇所に含まれる１画素についてのｕ方向及びｖ方向の軌跡と、を示している。
【００４０】
なお、図４に示したような胴、腕及び足についてのフロー追跡結果は、ジェスチャ検出装置１に相当するパーソナルコンピュータの使用者などが、軌跡検出部１１が求めた複数の軌跡の中から、胴、腕及び足に対応する軌跡を特定し、そのような胴、腕及び足に対応する軌跡を抽出して示したものである。ジェスチャ検出装置１（軌跡検出部１１）は、あくまでオプティカルフローを追跡して軌跡を求める処理のみを行い、そのような軌跡が人物のどの部位に対応するものかを特定する処理は行わない。このような図４を提示したのは、フロー追跡結果の説明を分かり易くするといった便宜上の理由による。ここで述べた内容は、後述する図５乃至図７についても同様に適用されるものとする。
【００４１】
（３−３）関数当てはめ
次に、周波数解析部１２が上記した軌跡検出部１１によるフロー追跡の後に行う、関数当てはめについて説明する。
【００４２】
周波数解析部１２は、軌跡検出部１１によって求められた軌跡に対して所定の関数を当てはめる。つまり、周波数解析部１２は、物体の動きについての軌跡に対して所定の関数をフィッティングする（言い換えると関数近似を行う）。そして、周波数解析部１２は、当てはめた関数と軌跡との残差に対して周波数解析を行う。周波数解析については次のセクションで詳述する。
【００４３】
このように関数当てはめを行う理由は以下の通りである。所定数のフレーム分だけオプティカルフローを追跡した場合（例えばオプティカルフローを１秒間追跡した場合）、人物の移動（歩行）などに起因する成分は、軌跡においては複雑な波形として表れない。他方で、手振りに起因する成分は、３〜６［Ｈｚ］程度の高周波として軌跡に重畳する。このことから、オプティカルフローの追跡結果に対して関数当てはめを行うと、その当てはめた関数を人物の移動などに起因する成分とみなすことができる共に、当てはめた関数と軌跡との残差を手振りに起因する成分（正確には手振りが含まれている可能性がある成分である。以下同様とする。）とみなすことができる。したがって、関数当てはめを行うことで、軌跡を、人物の移動などに起因する成分と、手振りに起因する成分とに分離することができる。言い換えると、軌跡から、人物の移動などに起因する成分を除去することができる。
【００４４】
以上述べた理由より、本実施例では、周波数解析部１２は、軌跡検出部１１によって求められた軌跡に対して所定の関数を当てはめる。なお、周波数解析部１２は、撮影画像を構成する各画素ごとに、軌跡検出部１１によって求められた軌跡に対して関数を当てはめる処理を行う。
【００４５】
図５及び図６を参照して、軌跡に対して関数当てはめを行った結果の具体例について説明する。
【００４６】
図５は、人物が手振りを行った場合の関数当てはめに関する結果の一例を示している。図５（ａ）は、オプティカルフローの追跡により得られた軌跡（つまりフロー追跡結果）の一例と、そのような軌跡に対して関数を当てはめた結果（以下では単に「当てはめ結果」とも呼ぶ。）の一例と、を示している。具体的には、図５（ａ）では、人物が移動中に手振りを行った場合の腕のｕ方向の軌跡と、当該軌跡に対して関数を当てはめた場合の当てはめ結果と、を示している。加えて、図５（ａ）では、人物が静止した状態で手振りを行った場合の腕のｕ方向の軌跡と、当該軌跡に対して関数を当てはめた場合の当てはめ結果と、を示している。なお、ここでは、三次関数を当てはめた場合の結果を示している。
【００４７】
図５（ｂ）は、図５（ａ）に示した軌跡と当てはめ結果との残差（当てはめ誤差）を示している。具体的には、図５（ｂ）では、図５（ａ）に示した、人物が移動中に手振りを行った場合の腕のｕ方向の軌跡と当該軌跡に対して当てはめた関数とについての、当てはめ誤差を示している。加えて、図５（ｂ）では、図５（ａ）に示した、人物が静止した状態で手振りを行った場合の腕のｕ方向の軌跡と当該軌跡に対して当てはめた関数とについての、当てはめ誤差を示している。図５（ｂ）より、手振りが行われた場合には、当てはめ誤差が周期的に変動するような波形になっていることがわかる。
【００４８】
図６は、人物が手振りを行わなかった場合の関数当てはめに関する結果の一例を示している。図６（ａ）は、オプティカルフローの追跡により得られた軌跡（つまりフロー追跡結果）の一例と、そのような軌跡に対して関数を当てはめた結果（当てはめ結果）の一例と、を示している。具体的には、図６（ａ）では、人物が移動中に手振りを行わなかった場合の腕のｕ方向の軌跡と、当該軌跡に対して関数を当てはめた場合の当てはめ結果と、を示している。加えて、図６（ａ）では、人物の移動中における足のｕ方向の軌跡と、当該軌跡に対して関数を当てはめた場合の当てはめ結果と、を示している。なお、ここでも、三次関数を当てはめた場合の結果を示している。
【００４９】
図６（ｂ）は、図６（ａ）に示した軌跡と当てはめ結果との残差（当てはめ誤差）を示している。具体的には、図６（ｂ）では、図６（ａ）に示した、人物が移動中に手振りを行わなかった場合の腕のｕ方向の軌跡と当該軌跡に対して当てはめた関数とについての、当てはめ誤差を示している。加えて、図６（ｂ）では、図６（ａ）に示した、人物の移動中における足のｕ方向の軌跡と当該軌跡に対して当てはめた関数とについての、当てはめ誤差を示している。図６（ｂ）より、手振りが行われなかった場合には、当てはめ誤差は、図５（ｂ）に示したような周期的に変動する波形になっていないことがわかる（足についての当てはめ誤差も同様である）。
【００５０】
なお、上記では三次関数を軌跡に当てはめる例を示したが、三次関数を用いることに限定はされず、種々の関数（例えば三角関数や指数関数など）を軌跡に当てはめる関数として用いることができる。
【００５１】
（３−４）周波数解析
次に、周波数解析部１２が上記した関数当てはめの後に行う、周波数解析について説明する。
【００５２】
周波数解析部１２は、軌跡に対して当てはめた関数と当該軌跡との残差（当てはめ誤差）に対して、周波数解析を行う。具体的には、周波数解析部１２は、当てはめ誤差に対して周波数変換を適用することで、周波数ごとの強度（つまりパワースペクトル）を得る。この場合、周波数解析部１２は、撮影画像を構成する各画素ごとに、当てはめ誤差に対して周波数解析を行う。なお、周波数解析の手法としては、公知の種々の手法を適用することができる。
【００５３】
図７は、周波数解析結果の一例を示している。図７は、横軸に周波数［Ｈｚ］を示し、縦軸に強度を示している。具体的には、人物が移動中に手振りを行った場合の腕のｕ方向についての周波数解析結果と、人物が移動中に手振りを行った場合の腕のｖ方向についての周波数解析結果と、人物の移動中における胴のｕ方向についての周波数解析結果と、人物の移動中における胴のｖ方向についての周波数解析結果と、を示している。これらの周波数解析結果は、撮影画像を構成する１つの画素について３０フレーム間に得られたデータに関する結果である。
【００５４】
図７より、人物が移動中に手振りを行った場合の腕のｕ方向について、３［Ｈｚ］においてかなり大きなピークが発生していることがわかる。他方で、腕のｖ方向や、胴のｕ方向及びｖ方向については、このような大きなピークが発生していないことがわかる。
【００５５】
（３−５）手振り検出
次に、ジェスチャ検出部１３が上記した周波数解析部１２による周波数解析の後に行う、手振り検出について説明する。ジェスチャ検出部１３は、周波数解析部１２による周波数解析によって得られたパワースペクトルに基づいて、所定の周波数範囲において所定値以上のピークが発生している場合に、手振りが行われたと判定する。具体的には、ジェスチャ検出部１３は、手振りに応じた周波数範囲（例えば３〜６［Ｈｚ］）において、パワースペクトルにおける強度が所定値以上となっている場合に、手振りが行われたと判定する。この場合、ジェスチャ検出部１３は、パワースペクトルにおける強度が所定値以上である場合に特異点が存在するものと判断し、その特異点の位置（画像上の位置）を手振りが行われた位置として検出する。つまり、ジェスチャ検出部１３は、１つの画素について得られたパワースペクトルにおいて、所定の周波数範囲で強度が所定値以上となっている場合に、当該画素は特異点であると判断する、つまり当該画素の位置を手振りが行われた位置として検出する。例えば、ジェスチャ検出部１３は、図７に示すような周波数解析結果が得られた場合には、３［Ｈｚ］においてパワースペクトルにおける強度がかなり大きくなっていることから、その周波数解析結果が得られた画像の位置を手振りが行われた位置として検出する。
【００５６】
また、ジェスチャ検出部１３は、上記のようなピークを判定するための所定値を、周波数解析結果に応じて適宜変更する。１つの例では、ジェスチャ検出部１３は、撮影画像を構成する画素全体で得られた、パワースペクトルにおける強度の大きさに応じて、ピークを判定するための所定値を変更する。この例では、ジェスチャ検出部１３は、撮影画像において全体的に強度が大きい場合には所定値を大きくし、撮影画像において全体的に強度が小さい場合には所定値を小さくする。他の例では、ジェスチャ検出部１３は、１つの画素で得られた、全周波数帯域でのパワースペクトルにおける強度の大きさに応じて、ピークを判定するための所定値を変更する。この例では、ジェスチャ検出部１３は、各周波数帯域において全体的に強度が大きい場合には所定値を大きくし、各周波数帯域において全体的に強度が小さい場合には所定値を小さくする。このように所定値を変更するのは、人物が移動した場合にはパワースペクトルにおける強度が全体的に大きくなる傾向にあり、人物が移動しなかった場合にはパワースペクトルにおける強度が全体的に小さくなる傾向にあるからである。なお、画素全体で得られたパワースペクトルにおける強度の平均値や、１つの画素で得られた全周波数帯域でのパワースペクトルにおける強度の平均値などに応じて、ピークを判定するための所定値を変更すると良い。
【００５７】
図８は、手振り検出結果の具体例を示している。図８は、ジェスチャ検出部１３によって検出された特異点の位置（手振りが検出された位置）を、撮影画像に対してハッチングした図を示している。なお、図８では、撮影画像を模式的に表している。
【００５８】
図８（ａ）は、人物が移動中に手振りを行った場合の検出結果の一例を示し、図８（ｂ）は、人物が静止した状態で手振りを行った場合の検出結果の一例を示している。図８（ａ）でハッチングした領域は、横方向（ｕ方向）の手振りが検出された箇所を示している。図８（ｂ）でハッチングした領域は、横方向（ｕ方向）の手振りが検出された箇所と、縦方向（ｖ方向）の手振りが検出された箇所と、縦横両方向（つまり斜め方向）の手振りが検出された箇所と、を示している。図８（ａ）及び（ｂ）より、人物の手振りが適切に検出できていることがわかる。
【００５９】
なお、上記した本実施例では、基本的には画素ごとに独立して手振りの検出を行うため、手振りが検出された領域が散在する傾向にある（例えば図８参照）。具体的には、比較的大きな面積を有する領域だけでなく、当該領域から若干離れた場所に位置するかなり小さな面積を有する領域が、手振りが行われた領域として決定される場合がある。したがって、他の例では、近傍領域の検出結果に応じて、手振りが行われた領域を決定しても良い。例えば、手振りが検出された画素が所定数以上まとまって存在する場合には、そのような画素によって形成される領域を、手振りが行われた領域として決定し、手振りが検出された画素が所定数以上まとまって存在しない場合には、そのような画素によって形成される領域を、手振りが行われた領域から除外することができる。
【００６０】
（４）処理フロー
次に、図９を参照して、本実施例においてジェスチャ検出装置１が行う処理フローについて説明する。なお、当該フローは、撮影画像を構成する各画素ごとに並列に実行される。
【００６１】
ステップＳ１０１では、カメラ２による撮影によって生成された撮影画像がジェスチャ検出装置１に入力される。そして、ステップＳ１０２では、ジェスチャ検出装置１内の軌跡検出部１１が、入力された撮影画像よりオプティカルフローを算出する。この後、ステップＳ１０３では、軌跡検出部１１が、記憶部１４に記憶されたオプティカルフローに関するデータを参照して、現在フレームから過去のフレームの方向に遡った所定数のフレーム分のオプティカルフローを追跡することで、物体の動きについての軌跡を求める。
【００６２】
次に、ステップＳ１０４では、ジェスチャ検出装置１内の周波数解析部１２が、軌跡検出部１１によって求められた軌跡に対して所定の関数を当てはめる。そして、ステップＳ１０５では、周波数解析部１２が、軌跡に対して当てはめた関数と当該軌跡との残差（当てはめ誤差）に対して周波数変換を適用することで、周波数ごとの強度（つまりパワースペクトル）を得る。
【００６３】
次に、ステップＳ１０６では、ジェスチャ検出装置１内のジェスチャ検出部１３が、周波数解析部１２による周波数解析によって得られたパワースペクトルに基づいて、特異点が存在するか否かを判定する。この場合、ジェスチャ検出部１３は、手振りに応じた周波数範囲（例えば３〜６［Ｈｚ］）において、パワースペクトルにおける強度が所定値以上であるか否かを判定することで、特異点が存在するか否かを判定する。
【００６４】
特異点が存在する場合（ステップＳ１０６：Ｙｅｓ）、ジェスチャ検出部１３は、その特異点の位置を手振りが行われた位置として検出する（ステップＳ１０７）。これに対して、特異点が存在しない場合（ステップＳ１０６：Ｎｏ）、処理は終了する。
【００６５】
（５）本実施例による作用効果
以上説明した本実施例によれば、人物の手振りを適切に検出することができる。具体的には、人物が移動している最中に行った手振りを適切に検出することができる。また、本実施例では、人物の動作解析の手がかりとしてオプティカルフローを用い、人物の姿勢解析などを行わないため、姿勢解析などを行う場合と比較して処理量を低減することができる。
【００６６】
ここで、本実施例と前述した特許文献１及び２に記載の技術とを比較する。特許文献１に記載された技術では、ユーザはカメラの近くに位置し、ある程度の大きさ以上でカメラに写る必要があり、また、あまり速い動きがあった場合には対応することが困難となる。これに対して、本実施例では、ユーザがある程度の大きさ以上でカメラ２に写る必要は特になく、また、ある程度の速い動きにも対応することができる。更に、特許文献１に記載された技術では、ジェスチャ認識アルゴリズムは他の手法を組み合わせる必要があるが、本実施例では、上記以外の他のジェスチャ認識アルゴリズムを組み合わせる必要はない。
【００６７】
他方で、特許文献２に記載された技術では、ユーザがマーカなどを身に付ける必要があり、また、マーカなどを用いない場合には画像からの姿勢推定を行う必要がある。これに対して、本実施例では、ユーザがマーカなどを身に付ける必要はなく、また、画像からの姿勢推定を行う必要もない。
【００６８】
（６）変形例
以下では、上記の実施例に好適な変形例について説明する。なお、下記の変形例は、任意に組み合わせて上述の実施例に適用することができる。
【００６９】
（６−１）変形例１
変形例１は、撮影画像を得るためのカメラ２に、距離画像センサを適用するものである。距離画像センサを用いた場合には、撮影画像中の人物などの距離が分かるため、人物などの位置を連続的に精度良く取得することができる。また、撮影画像において色が似ているような箇所についても、適切に動きを検出することができる。加えて、赤外カメラを更に適用した場合には、暗闇などでも適切に動きを検出することができる。
【００７０】
（６−２）変形例２
変形例２は、軌跡に対して当てはめる関数を適宜変更するものである。つまり、軌跡に対して当てはめる関数を複数用意し、状況などに応じて、用いる関数を変更することができる。また、状況などに応じて、複数の関数を組み合わせて用いることができる。例えば、カメラ２が機械的に振動しているような特殊な環境で検出を行う場合に、そのような振動成分を除去するための関数を、上記した人物の移動などに起因する成分を除去するための関数と合わせて用いることができる。
【００７１】
（６−３）変形例３
上記した実施例では、撮影画像中の物体の動きを検出する手法として、オプティカルフローを用いる手法を示したが、オプティカルフローを用いることに限定はされない。動きを検出する手法としては、公知の種々の手法を適用することができる。
【００７２】
また、画像認識と動き検出とを組み合わせて行っても良い。１つの例では、テンプレートマッチングなどを用いて、撮影画像から人物の部位を認識し、認識された部位についての動きを検出することができる。
【００７３】
（６−４）変形例４
上記では、周波数解析を行う前に関数当てはめを行う実施例を示した。つまり、実施例では、軌跡に対して所定の関数を当てはめ、当てはめた関数と軌跡との残差に対して周波数解析を行っていた。変形例４では、このような関数当てはめを行わずに、周波数解析を行う。具体的には、変形例４では、軌跡検出部１１によって求められた軌跡に対して周波数解析を直接行う。これによっても、人物が手振りを行っている場合には、手振りに応じた周波数範囲においてピークが生じるようなパワースペクトルが得られるものと考えられる。
【００７４】
（６−５）変形例５
上記では、所定のジェスチャとして手振りを検出する実施例を示したが、手振りを検出することに限定はされない。手振り以外にも、ある程度の周期性をもってなされる人物の動作を、所定のジェスチャとして検出することができる。例えば、人物の首振りなどを検出することができる。
【００７５】
（７）適用例
本発明は、テレビや、ホームＡＶや、各種の家電についての、ジェスチャ操作インタフェースとして好適に適用することができる。
【符号の説明】
【００７６】
１  ジェスチャ検出装置
２  カメラ
１１  軌跡検出部
１２  周波数解析部
１３  ジェスチャ検出部
１４  記憶部
【図１】
2014026566.tif 000003
【図２】
2014026566.tif 000004
【図３】
2014026566.tif 000005
【図４】
2014026566.tif 000006
【図５】
2014026566.tif 000007
【図６】
2014026566.tif 000008
【図７】
2014026566.tif 000009
【図８】
2014026566.tif 000010
【図９】
2014026566.tif 000011