(57)【要約】【課題】センサによって取得された時系列的なセンサ画像を用いて、操作者のジェスチャを認識する新規な手法を提供する。【解決手段】オプティカルフロー算出部３は、センサ２によって時系列的に取得されたフレーム単位のセンサ画像について、オプティカルフローをフレーム毎に算出する。ヒストグラム生成部４は、オプティカルフロー中の動きベクトルの角度を階級毎に分類し、この角度の度数の分布を示すヒストグラムをフレーム毎に生成する。特徴量画像生成部６は、時系列的に連続した複数フレームのヒストグラムを時間軸方向に並べることによって、角度軸と時間軸とを含む空間として規定される特徴量画像を生成する。ジェスチャ識別部９は、特徴量画像に基づいて、操作者のジェスチャを識別する。【選択図】図１
2018124801.tif 000002
【特許請求の範囲】
【請求項１】
操作者のジェスチャを認識するジェスチャ認識装置において、
センサによって時系列的に取得されたフレーム単位のセンサ画像について、オプティカルフローをフレーム毎に算出するオプティカルフロー算出部と、
前記オプティカルフロー中の動きベクトルの角度を階級毎に分類し、当該角度の度数の分布を示すヒストグラムをフレーム毎に生成するヒストグラム生成部と、
時系列的に連続した複数フレームのヒストグラムを時間軸方向に並べることによって、角度軸と時間軸とを含む空間として規定される特徴量画像を生成する特徴量画像生成部と、
前記特徴量画像に基づいて、操作者のジェスチャを識別するジェスチャ識別部と
を有することを特徴とするジェスチャ認識装置。
【請求項２】
前記特徴量画像生成部は、時間の経過に伴い、時系列的に最も新しいヒストグラムを追加し、時系列的に最も古いヒストグラムを破棄し、かつ、それ以外のヒストグラムを時間軸方向にシフトさせた特徴量画像を生成することを特徴とする請求項１に記載されたジェスチャ認識装置。
【請求項３】
前記ジェスチャ識別部への入力に先立ち、同一のジェスチャに関する時間軸方向の長さが一致するように、前記特徴量画像を時間軸方向に伸縮するスケーリング処理部をさらに有することを特徴とする請求項１または２に記載されたジェスチャ認識装置。
【請求項４】
前記特徴量画像において、操作者のジェスチャに由来する特徴量の領域と、操作者のジェスチャに由来しない特徴量の領域とを規定したマスク画像がジェスチャ毎に予め用意されており、
前記特徴量生成部によって生成された前記特徴量画像、または、前記スケーリング処理部によって正規化された前記特徴量画像に対して、前記マスク画像のそれぞれを適用して、前記特徴量画像より、操作者のジェスチャに由来しない特徴量を除去するマスク処理部をさらに有することを特徴とする請求項１から３のいずれかに記載されたジェスチャ認識装置。
【請求項５】
前記マスク画像は、複数の特徴量画像のサンプルを用いた主成分分析により、操作者のジェスチャに由来する特徴量を抽出し、当該特徴量を重み付けすることによって生成されることを特徴とする請求項４に記載されたジェスチャ認識装置。
【請求項６】
前記ジェスチャ識別部は、
前記マスク処理部によってマスク画像が適用された特徴量画像のそれぞれが個別に入力され、個別に割り当てられたジェスチャであるか否かを識別する複数の識別器を有することを特徴とする請求項４に記載されたジェスチャ認識装置。
【請求項７】
前記識別器のそれぞれは、前記特徴量画像と、前記ジェスチャとが対応付けられた教師データを用いた学習によって、自己が有する関数の内部パラメータが調整されていることを特徴とする請求項６に記載されたジェスチャ認識装置。
【請求項８】
操作者のジェスチャを認識するジェスチャ認識プログラムにおいて、
センサによって時系列的に取得されたフレーム単位のセンサ画像について、オプティカルフローをフレーム毎に算出する第１のステップと、
前記オプティカルフロー中の動きベクトルの角度を階級毎に分類し、当該角度の度数の分布を示すヒストグラムをフレーム毎に生成する第２のステップと、
時系列的に連続した複数フレームのヒストグラムを時間軸方向に並べることによって、角度軸と時間軸とを含む空間として規定される特徴量画像を生成する第３のステップと、
前記特徴量画像に基づいて、操作者のジェスチャを識別する第４のステップと
を有する処理をコンピュータに実行させることを特徴とするジェスチャ認識プログラム。
【請求項９】
前記第３のステップは、時間の経過に伴い、時系列的に最も新しいヒストグラムを追加し、時系列的に最も古いヒストグラムを破棄し、かつ、それ以外のヒストグラムを時間軸方向にシフトさせた特徴量画像を生成するステップであることを特徴とする請求項８に記載されたジェスチャ認識プログラム。
【請求項１０】
前記第４のステップに先立ち、同一のジェスチャに関する時間軸方向の長さが一致するように、前記特徴量画像を時間軸方向に伸縮する第５のステップをさらに有することを特徴とする請求項８または９に記載されたジェスチャ認識プログラム。
【請求項１１】
前記第３のステップによって生成された前記特徴量画像、または、前記第５のステップによって正規化された前記特徴量画像に対して、ジェスチャ毎に予め用意されたマスク画像のそれぞれを適用して、前記特徴量画像より、操作者のジェスチャに由来しない特徴量を除去する第６のステップをさらに有し、
前記マスク画像は、前記特徴量画像において、操作者のジェスチャに由来する特徴量の領域と、操作者のジェスチャに由来しない特徴量の領域とを規定することを特徴とする請求項８から１０のいずれかに記載されたジェスチャ認識プログラム。
【請求項１２】
前記マスク画像は、複数の特徴量画像のサンプルを用いた主成分分析により、操作者のジェスチャに由来する特徴量を抽出し、当該特徴量を重み付けすることによって生成されることを特徴とする請求項１１に記載されたジェスチャ認識プログラム。
【請求項１３】
前記第４のステップは、
前記マスク画像が適用された特徴量画像のそれぞれが個別に入力され、個別に割り当てられたジェスチャであるか否かを並行的に識別するステップであることを特徴とする請求項１０に記載されたジェスチャ認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、操作者のジェスチャを認識するジェスチャ認識装置およびジェスチャ認識プログラムに関する。
【背景技術】
【０００２】
従来より、カメラ等のセンサによって取得された時系列的なセンサ画像を用いて、操作者のジェスチャを認識するための様々な手法が提案されている。例えば、特許文献１には、複数の時間フレームの画像から得られたオプティカルフローを用いて、動物体の行動を認識する動物体行動認識装置が開示されている。この認識装置において、動物体の行動における各動作は、画像から抽出されたオプティカルフローの方向が特徴ベクトルで表現される。すなわち、θijをメッシュ（ｉ，ｊ）のフローベクトルの平均の方向（ｘ軸とのなす角）とすると、これを並べたもの（θ00，θ01，・・・，θij，・・・，θMN）が特徴ベクトルｆθとなる。行動の時系列モデルは、各認識カテゴリに対応する確率的状態遷移モデルとして、学習データによるトレーニングによって獲得される。これらの時系列モデルについて、特徴ベクトルｆθ等を用いて、認識対象行動を生成する確率が個別に計算され、最大の尤度をもつものが認識結果として選択される。
【０００３】
また、特許文献２には、動作解析対象の運動を解析する動作解析方法が開示されている。この解析方法では、まず、動作解析対象の運動を撮像した動画像データから、方向別ヒストグラムに基づいて、第一段階の特徴データが算出される。この方向別ヒストグラムは、動画像データから抽出された動きベクトル（局所的な動き情報）を方向別にヒストグラム化したものである。つぎに、近隣の時刻間における動きベクトルの複数方向別ヒストグラムの絶対値差分和を評価値として用いて、第一段階の特徴データの時系列変化から動画像データが分割される。つぎに、第一段階の特徴データから分割区間毎に第二段階の時系列特徴データが算出され、分割区間列データが獲得される。そして、分割区間列データの類似度を閾値により評価することで、隣接する分割区間を要素動作に統合して分類した要素動作列データが獲得される。それと共に、現要素動作とその二つ前の要素動作での、積算され正規化された動きベクトル方向ヒストグラムの類似度が閾値処理によって判定される。要素動作の連続回数が閾値以上となった場合には、一動作として検出され、要素動作列を一動作に統合して分類した一動作列データが獲得される。最後に、一動作列データに基づき一動作が解析される。
【０００４】
さらに、特許文献３には、人物を撮影した映像から、人物の動作を検出する人物動作検出装置が開示されている。この検出装置では、まず、映像のフレーム画像ごとに特徴点が検出され、フレーム画像毎に特徴点の特徴量のマッチングを行うことで、特徴点の位置を時間方向に追跡した軌跡が特徴点軌跡情報として生成される。つぎに、 特徴点軌跡情報に含まれる特徴点の位置に基づいて、時間特徴量が生成される。この時間特徴量は、特徴点のフレーム画像毎の移動ベクトルの向きおよび大きさを、向きおよび大きさの取り得る範囲を予め定めた数に分割した範囲幅ごとに累計したものである。それと共に、特徴点の軌跡の特徴量が軌跡特徴量として生成される。つぎに、学習データを参照して、所定時間区間毎に、所定時間区間内に軌跡の終点が存在する複数の軌跡特徴量から、軌跡特徴量が属するクラスタを累計した分布が生成される。この学習データは、複数の軌跡特徴量を予め定めた数のクラスタにクラスタリングしておき、既知の動作を構成する複数の軌跡特徴量をクラスタ毎に累計した分布を、既知の動作ごとに対応付けたものである。最後に、識別対象となる分布が動作毎のクラスタの分布と類似するか否かにより、人物の動作が識別される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平５−０４６５８３号公報
【特許文献２】特開２００９−２０５２８２号公報
【特許文献３】特開２０１２−０８８８８１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
上述した特許文献１に係る手法では、１フレームの画像をＮ×Ｍ個のブロックに分割し、個々のブロックにおけるフロー方向の平均を全ブロックについて並べたものが特徴量として用いられており、画像全体におけるフロー方向のヒストグラムを生成するものではない。また、動物体の行動認識は１フレームで完結し、時系列の情報は状態遷移という形で取り扱われているため、まとまったフレーム数の情報からジェスチャの種類を認識するものではない。さらに、動物体（人物）が常に同じ位置にいることが前提になっており、位置の変化に対応していない。
【０００７】
また、特許文献２に係る手法では、画像全体でフロー方向のヒストグラムを生成しているものの、フロー方向のヒストグラムの時系列変化から動作の分割点を検出し、動画像データを分割した上で、分割したデータを類似度に基づき統合・分類している。すなわち、この手法は、フロー方向のヒストグラムの時系列全体を識別に用いるのではなく、あるフレームにおけるフロー方向のヒストグラム（あるいは、それを分割区間で積算したもの）を用いて分割・統合・分類を行うものである。
【０００８】
さらに、特許文献３に係る手法では、オプティカルフローではなく、特徴点の軌跡を用いて、人物動作の検出が行われる。すなわち、軌跡単位で時系列データが作成され、分類（割り当て）を行った上で、それらをすべての軌跡に関して統合（ヒストグラム化）したものに基づいて、全体の動作が識別される。特許文献３には、その記載事項として、オプティカルフローという用語が用いられているが、これは、特徴点の追跡にオプティカルフローの計算と同じ方法（Lucas-Kanade法、略して「ＬＫ法」）が使われているということであって、オプティカルフローそのものを使っているわけではない。また、この手法では、入力動画像から得られた軌跡に基づきヒストグラムを生成しているが、このヒストグラムは、フロー方向のヒストグラムではなく、クラスタのヒストグラムである。すなわち、事前に学習用の動画像から取得した軌跡をクラスタリング（分類）しておき、入力動画像から得られた軌跡を、それに近いクラスタに割り当ててヒストグラムを作成するという方式である。
【０００９】
本発明の目的は、センサによって取得された時系列的なセンサ画像を用いて、操作者のジェスチャを認識する新規な手法を提供することである。
【課題を解決するための手段】
【００１０】
かかる課題を解決すべく、第１の発明は、オプティカルフロー算出部と、ヒストグラム生成部と、特徴量画像生成部と、ジェスチャの識別部とを有し、操作者のジェスチャを認識するジェスチャ認識装置を提供する。オプティカルフロー算出部は、センサによって時系列的に取得されたフレーム単位のセンサ画像について、オプティカルフローをフレーム毎に算出する。ヒストグラム生成部は、オプティカルフロー中の動きベクトルの角度を階級毎に分類し、この角度の度数の分布を示すヒストグラムをフレーム毎に生成する。特徴量画像生成部は、時系列的に連続した複数フレームのヒストグラムを時間軸方向に並べることによって、角度軸と時間軸とを含む空間として規定される特徴量画像を生成する。ジェスチャ識別部は、特徴量画像に基づいて、操作者のジェスチャを識別する。
【００１１】
ここで、第１の発明において、上記特徴量画像生成部は、時間の経過に伴い、時系列的に最も新しいヒストグラムを追加し、時系列的に最も古いヒストグラムを破棄し、かつ、それ以外のヒストグラムを時間軸方向にシフトさせた特徴量画像を生成することが好ましい。
【００１２】
第１の発明において、スケーリング処理部を設けてもよい。このスケーリング処理部は、ジェスチャ識別部への入力に先立ち、同一のジェスチャに関する時間軸方向の長さが一致するように、特徴量画像を時間軸方向に伸縮する。また、第１の発明において、マスク処理部をさらに設けてもよい。このマスク処理部は、特徴量画像生成部によって生成された特徴量画像、または、スケーリング処理部によって正規化された特徴量画像に対して、マスク画像のそれぞれを適用して、特徴量画像より、操作者のジェスチャに由来しない特徴量を除去する。マスク画像は、ジェスチャ毎に予め用意されており、それぞれが、特徴量画像において、操作者のジェスチャに由来する特徴量の領域と、操作者のジェスチャに由来しない特徴量の領域とを規定する。また、マスク画像は、複数の特徴量画像のサンプルを用いた主成分分析により、操作者のジェスチャに由来する特徴量を抽出し、当該特徴量を重み付けすることによって生成することが好ましい。
【００１３】
第１の発明において、上記ジェスチャ識別部は、複数の識別器を有していてもよい。それぞれの識別器は、マスク画像の適用後の特徴量画像のそれぞれが個別に入力され、個別に割り当てられたジェスチャであるか否かを識別する。また、それぞれの識別器は、特徴量画像と、ジェスチャとが対応付けられた教師データを用いた学習によって、自己が有する関数の内部パラメータが調整されていることが好ましい。
【００１４】
また、第２の発明は、操作者のジェスチャを認識するジェスチャ認識プログラムを提供する。このプログラムは、センサによって時系列的に取得されたフレーム単位のセンサ画像について、オプティカルフローをフレーム毎に算出する第１のステップと、オプティカルフロー中の動きベクトルの角度を階級毎に分類し、この角度の度数の分布を示すヒストグラムをフレーム毎に生成する第２のステップと、時系列的に連続した複数フレームのヒストグラムを時間軸方向に並べることによって、角度軸と時間軸とを含む空間として規定される特徴量画像を生成する第３のステップと、特徴量画像に基づいて、操作者のジェスチャを識別する第４のステップとを有する処理をコンピュータに実行させる。
【００１５】
ここで、第２の発明において、上記第３のステップは、時間の経過に伴い、時系列的に最も新しいヒストグラムを追加し、時系列的に最も古いヒストグラムを破棄し、かつ、それ以外のヒストグラムを時間軸方向にシフトさせた特徴量画像を生成するステップであることが好ましい。
【００１６】
第２の発明において、上記第４のステップに先立ち、第５のステップを実行してもよい。第５のステップでは、同一のジェスチャに関する時間軸方向の長さが一致するように、特徴量画像を時間軸方向に伸縮する。また、第２の発明において、第６のステップをさらに実行してもよい。第６のステップでは、上記第３のステップにおいて生成された特徴量画像、または、上記第５のステップにおいて正規化された特徴量画像に対して、ジェスチャ毎に予め用意されたマスク画像のそれぞれを適用して、特徴量画像より、操作者のジェスチャに由来しない特徴量を除去する。マスク画像は、特徴量画像において、操作者のジェスチャに由来する特徴量の領域と、操作者のジェスチャに由来しない特徴量の領域とを規定する。また、マスク画像は、複数の特徴量画像のサンプルを用いた主成分分析により、操作者のジェスチャに由来する特徴量を抽出し、当該特徴量を重み付けすることによって生成することが好ましい。
【００１７】
第２の発明において、上記第４のステップは、マスク画像の適用後の特徴量画像のそれぞれが個別に入力され、個別に識別器に割り当てられたジェスチャであるか否かを並行的に識別するステップを含んでいてもよい。
【発明の効果】
【００１８】
本発明によれば、操作者のジェスチャは、時系列的に連続した複数フレームのヒストグラムを並べた特徴量画像上において、ジェスチャの動きに依存し、かつ、その位置に関して不変（invariant）な特徴量の固有なパターンとなって現れる。よって、この特徴量画像から、ジェスチャの種類を適切に識別することができる。
【図面の簡単な説明】
【００１９】
【図１】ジェスチャ認識装置のブロック構成図
【図２】ジェスチャ認識処理のフローチャート
【図３】動きベクトルの角度に関するヒストグラムの説明図
【図４】特徴量画像の説明図
【図５】手の動きの角度の説明図
【図６】「チェック（レ点）」のジェスチャ時における特徴量画像を示す図
【図７】「手のひらを回す」のジェスチャ時における特徴量画像を示す図
【図８】「進む」のジェスチャ時における特徴量画像を示す図
【図９】スケーリング処理の説明図
【図１０】マスク画像の生成手順を示す図
【図１１】次回のサイクルにおける特徴量画像の説明図
【発明を実施するための形態】
【００２０】
図１は、本実施形態に係るジェスチャ認識装置のブロック構成図である。このジェスチャ認識装置１は、操作者の手の動き、あるいは、操作者によって操作される操作子（例えば、手で動かされるポインタ）の動きを検出して、操作者のジェスチャとして認識する。本ジェスチャ認識の特徴は、手や操作子といった物体を直接認識することなく、オプティカルフローにおける動きベクトルの角度（方向）の度数分布をヒストグラムとして算出し、時系列的なヒストグラム群に基づいて、ジェスチャを認識する点にある。
【００２１】
ジェスチャ認識装置１は、センサ２と、前段の処理系３〜４と、記憶部５と、後段の処理系６〜９とを有する。センサ２は、所定のフレーム間隔でセンサ画像を時系列的に取得する。本実施形態では、センサ２として、不要なコストアップを避ける観点から、入手が容易で安価な可視光の単眼カメラを用い、このカメラによって撮像された撮像画像をセンサ画像として用いる。しかしながら、センサ２は、単眼カメラに限らず、赤外線カメラなどであってもよいし、ステレオカメラやマルチカメラを構成するカメラの一つを用いてもよい。また、カメラに代えてレーザなどを用い、レーザの反射強度の二次元的な分布を示すレーザ画像などをセンサ画像として用いてもよい。
【００２２】
前段の処理系は、オプティカルフロー算出部３と、ヒストグラム生成部４とを有する。ここでの処理としては、まず、オプティカルフロー算出部３において、センサ２によって取得されたセンサ画像について、オプティカルフローが算出される。そして、ヒストグラム生成部４において、このオプティカルフロー中における動きベクトルの角度の度数分布を示すヒストグラムが生成される。ヒストグラムの生成は、１フレームのセンサ画像全体に対して行われ、「フレーム毎」に繰り返される。ここで、「フレーム毎」とは、必ずしも１フレーム毎である必要はなく、フレームを間引いた所定のフレーム間隔も含む。
【００２３】
記憶部５は、ヒストグラム生成部４によって生成されたヒストグラムを記憶・保持する。上述したように、ジェスチャの認識は、時系列的なヒストグラム群、すなわち、連続した複数フレーム分のヒストグラムを用いて行われる。記憶部５としては、例えば、ＦＩＦＯ（Fast-In-Fast-Out）メモリのような、所定数のヒストグラムを最新のものから順に管理・記憶するものを用いてもよい。この場合、特徴量画像生成部６は、記憶部５に記憶されたヒストグラム群を時系列的な順序を保ちながら一括で読み出せばよく、自己においてヒストグラム群を管理する必要はない。もちろん、ヒストグラム群の管理は、記憶部５ではなく、特徴量画像生成部６にて行うことも可能である。
【００２４】
後段の処理系は、特徴量画像生成部６と、ジェスチャ識別部９とを主体に構成されており、ジェスチャの認識精度を高める等の観点から、スケーリング処理部７と、マスク処理部８とが付加されている。ここでの処理としては、まず、特徴量画像生成部６において、記憶部５から読み出されたヒストグラム群を用いて、後述する特徴量画像が生成される。そして、ジェスチャ識別部９において、特徴量画像に基づいて、操作者のジェスチャが識別される。識別すべきジェスチャの種類がｎ（ｎ≧２）個の場合、ジェスチャ識別部９は、並列に設けられたｎ個の識別器９1〜９nを備えている。スケーリング処理部７およびマスク処理部８は、ジェスチャ識別部９への入力に先立ち、特徴量画像生成部６によって生成された特徴量画像に対して、前処理（スケーリング処理およびマスク処理）を施す。なお、マスク処理部８において行われるマスク処理は、識別すべきジェスチャの種類毎に異なるマスク画像が用いられる関係上、並列に設けられたｎ個のマスク部８1〜８nを備えている。
【００２５】
ジェスチャ認識装置１は、ＦＰＧＡ（Field Programmable Gate Array）やＡＳＩＣ（Application Specific Integrated Circuit）などの集積回路によって、ハードウェアとして構成することができる。また、コンピュータに所定のコンピュータプログラムをインストールすることによって、ソフトウェア的に構成してもよい。後者の場合、前段の処理系３〜４および後段の処理系６〜９は、コンピュータプログラムの実行によって実現される機能的なブロックに相当する。
【００２６】
つぎに、図２に示すフローチャートを参照しつつ、ジェスチャ認識装置１において実行される処理の詳細について説明する。同図に示した一連の手順は、カメラ２によって取得された１フレームのセンサ画像を処理対象として１サイクルで実行され、所定のフレーム間隔で繰り返される。
【００２７】
まず、ステップ１において、今回のサイクルで処理対象となる１フレームのセンサ画像が入力される。センサ画像には、ジェスチャを行う操作者と、背景とが含まれている。
【００２８】
つぎに、ステップ２において、オプティカルフロー算出部３は、ステップ１で入力されたセンサ画像のオプティカルフローを算出する。オプティカルフローの算出手法には様々なものが存在するが、本実施形態では、オプティカルフローの値を良好に推定可能な手法として周知なＬＫ法（LucasKanade法）と、ブロックマッチング法とを用いる。ＬＫ法は、概略的には、最小二乗法でオプティカルフロー(移動物体の動きベクトル)を推定し、この推定解を山登り法を使って真値に近づけるものである。また、ブロックマッチング法とは、あるフレームの画像平面を二次元方向に分割して複数のブロックを定義した上で、それぞれのブロック（相関元）について、次フレームの画像平面を検索し、最も相関の高いブロック（相関先）を特定する手法である。なお、このステップ２において、操作者のジェスチャ部分（すなわち、動いている部分）だけを取得するために、フレーム間の差分の大きいところだけを使うようにしてもよい。
【００２９】
ステップ３において、ヒストグラム生成部４は、今回のサイクルで生成されたオプティカルフローに基づいて、動きベクトルの角度（方向）に関するヒストグラムを生成する。図３は、このヒストグラムの説明図である。動きベクトルが取り得る角度θである０〜３６０度の範囲は、複数の角度階級に分割される。同図は、図が複雑化するのを避けるため、８つの角度階級θ1〜θ8（以下、単に「角度θ1〜θ8」と称する。）に分割した例を示しているが、実際には、より細かな角度階級に分割されている。そして、オプティカルフローに含まれる全ての動きベクトルについて、角度θ1〜θ8のいずれかに分類・投票していく。これにより、このオプティカルフローについて、動きベクトルの角度に関する度数（出現頻度）の分布がヒストグラムとして生成される。図示したヒストグラムでは、角度θ３が高度数領域（白色領域）、すなわち最頻値であり、角度θ２，θ４が中度数領域（薄いハッチング領域）、角度θ１，θ５が低度数領域（濃いハッチング領域）、角度θ６〜θ８が極低度数領域（度数０および黒色領域）である。背景に変化がない理想的な使用環境を想定した場合、高度数領域θ３は、操作者のジェスチャの動きに由来したものと捉えることができる。なお、演算量の低減を図るために、ヒストグラムの生成に際しては、動きベクトルが０の部分は演算対象から除外してもよい。また、度数としては、単純な度数ではなく、フロー強度に応じた重み付きの度数を用いてもよい。なお、本明細書において、「ヒストグラム」とは、数値列としてコンピュータで処理可能な度数分布を意味し、図３に示した棒グラフのように視覚化されていることを要しない。
【００３０】
ステップ４において、今回のサイクルで生成されたヒストグラムが記憶部５に追加・記憶される。上述したように、記憶部５自体がヒストグラム群を時系列的に管理・記憶している場合、今回のサイクルにおける新たなヒストグラムが追加に伴い、記憶部５に記憶されているヒストグラム群のうち、最も古いものが破棄される。
【００３１】
ステップ５において、特徴量画像生成部６は、記憶部５から所定のフレーム数のヒストグラム群を読み出し、これらに基づいて特徴量画像を生成する。この特徴量画像は、時系列的に連続した複数フレームのヒストグラムを時間軸方向に並べることによって、角度軸と時間軸とを含む空間として規定される。本明細書において、「特徴量画像」という表現は、画像として表されるもの全体が特徴量であるという意味で用いている。一般に、機械学習などの分野では、単一の数量だけでなく、数量の集まりも「量」と呼ぶ。特徴量画像の生成に際しては、必要に応じて、輝度（度数）の正規化を行ってもよい。図４は、一例として、８フレーム分のヒストグラム群よりなる特徴量画像の説明図である。今回のサイクルをｔ0とすると、今回のサイクルｔ0で生成されたヒストグラムＨ(ｔ0)と、これに先立つ７サイクル分のヒストグラムＨ(ｔ-1)〜Ｈ(ｔ-7)が時間軸方向に並べられる。これにより、特徴量画像は、角度軸と時間軸とを含む空間として規定されることになる。また、この特徴量画像は、角度方向に８個、時間方向に８個の合計６４個の特徴量よりなり、それぞれの特徴量は、図３と同様の色づけで示すように、動きベクトルの角度に関する度数を示している。ここで、白色領域として示した高度数領域に着目すると、過去ｔ-7から現在ｔ0に至る時間の経過において、角度θ1から角度θ8に向かって一定の割合で変化していることが理解できる。これは、背景に変化がない理想的な使用環境を想定した場合、操作者が一定の割合で角度を変えるジェスチャを行っているものと捉えることができる。
【００３２】
操作者のジェスチャは、特徴量画像と相関性を有しており、特徴量の固有なパターンとなって現れる。このパターンは、操作者のジェスチャの動きによって変化し、その位置に関して不変（invariant）である。このことから、特徴量画像のパターンに着目することで、ジェスチャの種類を識別することが可能となる。以下、操作者のジェスチャとして手の動きに着目した具体例について説明する。手の動きの角度については、図５のように定義するものとする。
【００３３】
図６は、「チェック（レ点）」のジェスチャ時における特徴量画像を示す図である。このジェスチャは、斜め下方（315度（-45度））に直線状に動かす第１の動作と、斜め上方（45度）に直線状に動かす第２の動作とを含む。この場合、第１の動作を継続している期間（ｔ-7）〜(ｔ-4）、特徴量画像上において、白色領域（高度数領域）がθ＝315（一定）の位置に現れる。また、第２の動作を継続している期間（ｔ-4）〜(ｔ0）、白色領域がθ＝45（一定）の位置に現れる。このような特徴量のパターンは、「チェック（レ点）」のみに依存した固有性を有すると共に、センサ画像上における手の位置がどこであっても変わらない（位置不変性）。このことから、特徴量画像が図６のようなパターンである場合、操作者のジェスチャが「チェック（レ点）」であると識別できる。
【００３４】
図７は、「手のひらを回す」のジェスチャ時における特徴量画像を示す図である。このジェスチャは、一定の速度で円状（0度〜360度）に動かす動作である。この場合、円状に動かす動作を継続している期間（ｔ-7）〜(ｔ0）、特徴量画像上において、θ＝０からθ＝360に向かって、一定の傾きを有する直線状の白色領域が現れる。このような特徴量のパターンは、「手のひらを回す」のみに依存した固有性と、位置不変性とを有する。このことから、特徴量画像が図７のようなパターンである場合、操作者のジェスチャが「手のひらを回す」であると識別できる。
【００３５】
図８は、「進む」のジェスチャ時における特徴量画像を示す図である。このジェスチャは、右方向（０度／360度）に直線状に動かす第１の動作と、左方向（180度）に直線状に動かす第２の動作とを含む。この場合、第１の動作を継続している期間（ｔ-7）〜(ｔ-4）、特徴量画像上において、白色領域がθ＝0，360の２箇所に現れる。また、第２の動作を継続している期間（ｔ-4）〜(ｔ0）、白色領域がθ＝150の位置に現れる。このような特徴量のパターンは、「進む」のみに依存した固有性と、位置不変性とを有する。このことから、特徴量画像が図８のようなパターンである場合、操作者のジェスチャが「進む」であると識別できる。
【００３６】
ステップ６において、スケーリング処理部７は、ステップ５で生成された特徴量画像に対してスケーリング処理を行う。スケーリング処理では、同一のジェスチャに関する時間軸方向の長さが一致するように、特徴量画像が時間軸方向に伸縮（延長／短縮）される。例えば、図９に示すように、３つのジェスチャはいずれも「チェック（レ点）」のジェスチャだが、左側の動作が最も遅いため時間軸方向が長い（フレーム数が多い）のに対して、右側の動作が最も遅いため時間軸方向が短くなっている（フレーム数が少ない）。そこで、これらの特徴量画像を伸縮して、時間軸方向の長さが揃うように処理される。このようなスケーリング処理を行う理由は、特徴量画像における時間軸方向の長さを揃えて、以後の処理を統一するためである。なお、スケーリング処理は、複数のスケール（倍率）に対してそれぞれ行ってもよい（マルチスケール）。
【００３７】
ステップ７において、マスク処理部８は、ステップ６でスケーリング処理（正規化）が施された特徴量画像に対して、予め用意されたマスク画像を適用することによって、マスク処理を行う。マスク画像はジェスチャ毎に個別のものが用意されており、マスク処理部８を構成する各マスク部８1〜８nには、自己に割り当てられたジェスチャ用のマスク画像が格納されている。マスク画像は、特徴量画像に対応したサイズを有すると共に、操作者のジェスチャに由来する特徴量の領域と、操作者のジェスチャに由来しない特徴量の領域とを規定している。特徴量画像にマスク画像を適用することで、特徴量画像において、操作者のジェスチャに由来しない特徴量が除去され、操作者のジェスチャに由来する特徴量のみが抽出される。このようなマスク処理を行う理由は、ジェスチャの誤認識を低減するためである。本実施形態に係るジェスチャ認識手法では、手や操作子といった物体の直接的な認識は行っていないため、１フレームのオプティカルフロー全体において、動きベクトルが操作者のジェスチャに由来したものか、背景として存在する物体の動き（例えば、風による観葉植物の動き）に由来したものかを容易には区別できない。そのため、背景が変化しない使用環境下では特段問題はないとしても、使用環境が限られてしまう可能性がある。そこで、本実施形態では、ジェスチャ由来の特徴量と、非ジェスチャ（背景）由来の特徴量との切り分けを、マスク画像によって定義された領域的な区分に基づいて行う。これにより、背景の変化が生じ得る使用環境下でも、背景の動きがジェスチャとして誤って認識されることを有効に抑制できる。なお、このマスク処理については、その前処理としてのスケーリング処理（正規化）を必須とするものではなく、ステップ５で生成された特徴量画像に対して直接行ってもよい。
【００３８】
図１０は、一例として、図６に示した「チェック（レ点）」のジェスチャに対応したマスク画像の生成手順を示す図である。まず、「チェック（レ点）」のジェスチャに関する実際の特徴量画像を多数サンプルとして用意する。つぎに、これらのサンプルについて、主成分分析（Principal Component Analysis；ＰＣＡ）を行い、「チェック（レ点）」に由来する特徴量を抽出する。ここで、主成分分析とは、相関のある多数の変数から相関のない少数で全体のばらつきを最もよく表す主成分と呼ばれる変数を合成する多変量解析の一手法であり、データの特徴を抽出するのに役立つ手法として周知である。最後に、特徴量画像上において抽出された特徴量を二値化（重み付け）することによって、このジェスチャに由来する固有のマスク画像が生成される。なお、特徴量の重み付け手法としては、二値化に限らず、多値の重み付けを行ってもよい。
【００３９】
ステップ８において、ジェスチャ識別部９は、ステップ７におけるマスク処理後の特徴量画像（換言すれば、角度軸と時間軸とを含む空間（二次元空間）上における度数の分布）に基づいて、操作者のジェスチャを識別する。上述したように、ジェスチャ識別部９は、複数の識別器９1〜９nを有し、それぞれに対して、ジェスチャＪ1〜Ｊnのいずれかが割り当てられている。それぞれの識別器９1〜９nは、ジェスチャ固有のマスク処理が施された特徴量画像を入力とし、自己に割り当てられたジェスチャであると識別した場合には「１」、そうでない場合には「０」を出力する。
【００４０】
ジェスチャ識別部９としては、例えば、一般的な顔認識等でも用いられており、高速処理が可能なAdaBoostと呼ばれるアルゴリズムを用いることができる。AdaBoostでは、まず、サンプル（特徴ベクトルと教師信号であるクラスの組）への重みが、最初は１／Ｎ（Ｎはサンプル数）で初期化される。つぎに、Ｋ個の弱識別器を生成するものとし、最初に１つめの弱識別器が生成される。弱識別器の生成方法としては、重み付きのサンプルを利用して、一般的な機械学習アルゴリズムを利用した学習が行われる。つぎに、弱識別器の誤り率が算出される。誤り率は、各サンプルを見たときに、サンプルのクラスと弱識別器の出力クラスが一致しないサンプルの重みを足し合わせたものとなる。つぎに、誤り率から弱識別器の信頼度が算出される。具体的には、誤り率が小さいほど、信頼度が大きくなるように設定される。そして、サンプルへの重みが更新される。サンプルへの重みは、弱識別器が正しく識別できたサンプルについては低く、弱識別器が間違って識別したサンプルについては高くなるように更新される。最後に、サンプルの重みの総和が１になるように正規化される。以上の一連の手順を２つめの弱識別器について同様に繰り返し、Ｋ個の弱識別器の生成が完了すると、本アルゴリズムが終了する。なお、最終的な識別は、全ての弱識別器を信頼度で重み付けした上で、多数決を取ることによって行われる。
【００４１】
なお、ジェスチャ識別部９としては、AdaBoost以外に、ニューラルネットワーク、サポートベクターマシンといった機械学習（教師あり学習）を用いてもよい。
【００４２】
以上の一連の手順を経て、今回のサイクルにおける処理が終了し、次回のサイクルにおける処理の開始を待つ。これ以降のサイクルにおいても同様の処理が繰り返される。その際、ステップ５で生成される特徴量画像は経時的に更新され、操作者のジェスチャに追従して変化する。図１１は、サイクルｔ0の次のサイクルｔ1における特徴量画像の説明図である。図４に示したサイクルｔ0の特徴量画像と異なるのは、時系列的に最も新しいヒストグラムＨ（ｔ1）が追加されていること、時系列的に最も古いヒストグラムＨ（ｔ-7）が破棄されていること、および、それ以外のヒストグラムＨ（ｔ0）〜Ｈ（ｔ-6）を時間軸方向（過去）にシフトしていることである。このような特徴量画像の経時的な更新は、上述したＦＩＦＯメモリを用いることによって実現できるほか、リングバッファを用いることによって実現してもよい。また、記憶部５ではなく、特徴量画像生成部６において、特徴量画像を部分的に追加・破棄・シフトすることによって実現することも可能である。
【００４３】
このように、本実施形態によれば、操作者のジェスチャは、時系列的に連続した複数フレームのヒストグラムを並べた特徴量画像上において、位置に関して不変（invariant）な特徴量のユニークなパターンとなって現れる。よって、ジェスチャ識別部９は、特徴量画像生成部５によって生成された特徴量画像に基づき、ジェスチャの種類を適切に識別することができる。
【００４４】
また、本実施形態によれば、ジェスチャ識別部９への入力に先立ち、特徴量画像にスケーリング処理（正規化）を施すことによって、ジェスチャ認識を含む以後の処理を統一することができる。
【００４５】
さらに、本実施形態によれば、スケーリング処理が施された特徴量画像に対して、ジェスチャ毎に用意されたマスク画像を用いたマスク処理を施すことによって、特徴量画像から操作者のジェスチャに由来しない特徴量を除去することができる。これにより、背景の変化が生じ得る使用環境下であっても、ジェスチャの誤認識を有効に低減することが可能になる。
【符号の説明】
【００４６】
１  ジェスチャ認識装置
２  カメラ
３  オプティカルフロー算出部
４  ヒストグラム生成部
５  記憶部
６  特徴量画像生成部
７  スケーリング処理部
８  マスク処理部
９  識別器
【図１】
2018124801.tif 000003
【図２】
2018124801.tif 000004
【図３】
2018124801.tif 000005
【図４】
2018124801.tif 000006
【図５】
2018124801.tif 000007
【図６】
2018124801.tif 000008
【図７】
2018124801.tif 000009
【図８】
2018124801.tif 000010
【図９】
2018124801.tif 000011
【図１０】
2018124801.tif 000012
【図１１】
2018124801.tif 000013