(57)【特許請求の範囲】
【請求項１】
第１軸〜第ｎ（ｎ≧２）軸を有する座標系で表される被写体の特定部位の位置を時系列で取得する取得部と、
時系列で取得される前記位置毎に前記特定部位の移動ベクトルを算出する算出部と、
算出される前記移動ベクトル毎に、当該移動ベクトルと前記第１軸〜前記第ｎ軸それぞれとの内積値である第１内積値〜第ｎ内積値を算出し、算出した前記第１内積値〜前記第ｎ内積値のうち絶対値が最も大きい内積値の算出に用いられた軸を主軸に選定する主軸選定部と、
前記主軸が切り替わる位置を主軸転換点及び方向転換点に設定し、前記移動ベクトルの方向が主軸成分において切り替わる位置を前記方向転換点に設定する転換点設定部と、
前記主軸転換点が存在する場合には最新の主軸転換点、前記主軸転換点が存在しない場合には最初に取得された位置である開始点を始点とし、取得された最新の位置である最新点を終点とする判定対象区間を設定し、当該判定対象区間の前記始点を終点とし、当該終点の前に前記方向転換点が存在する場合には当該終点の直前の方向転換点、当該終点の前に前記方向転換点が存在しない場合には前記開始点を始点とする直前区間を設定する区間設定部と、
前記判定対象区間の評価値と前記直前区間の評価値とを算出し、算出した前記判定対象区間の前記評価値と前記直前区間の前記評価値とを用いて、前記第１軸〜前記第ｎ軸のいずれの軸が前記判定対象区間における前記特定部位の移動に優位であるかを決定する決定部と、
決定結果に応じた提示を行う提示部と、
を備えることを特徴とする認識装置。
【請求項２】
前記区間設定部は、前記判定対象区間を設定してから所定時間が経過するまでに前記判定対象区間の前記始点の後に前記主軸転換点が存在する場合には当該始点の直後の主軸転換点、前記所定時間が経過するまでに当該始点の後に前記主軸転換点が存在しない場合には前記所定時間経過後の最新点を前記判定対象区間の前記終点に更新し、更新後の前記判定対象区間の前記終点を始点とし、当該始点の後に前記方向転換点が存在する場合には当該始点の直後の方向転換点、当該始点の後に前記最新点が存在する場合には前記所定時間経過後の前記最新点を終点とする直後区間を設定し、
前記決定部は、前記直後区間の評価値を更に算出し、算出した前記直後区間の前記評価値を更に用いて、前記第１軸〜前記第ｎ軸のいずれの軸が前記判定対象区間における前記特定部位の移動に優位であるかを決定することを特徴とする請求項１に記載の認識装置。
【請求項３】
前記決定部は、前記判定対象区間の前記評価値が前記直前区間の前記評価値を超えている場合、又は前記直前区間が存在しない場合、前記判定対象区間の主軸が前記判定対象区間における前記特定部位の移動に優位であると決定し、前記判定対象区間の前記評価値が前記直前区間の前記評価値以下の場合、前記直前区間の主軸が前記判定対象区間における前記特定部位の移動に優位であると決定することを特徴とする請求項１に記載の認識装置。
【請求項４】
前記決定部は、前記判定対象区間の前記評価値が前記直前区間の前記評価値を超えている場合、又は前記直前区間が存在しない場合、かつ前記判定対象区間の前記評価値が前記直後区間の前記評価値を超えている場合、又は前記直後区間が存在しない場合、前記判定対象区間の主軸が前記判定対象区間における前記特定部位の移動に優位であると決定し、前記判定対象区間の前記評価値が前記直前区間の前記評価値以下の場合、前記直前区間の主軸が前記判定対象区間における前記特定部位の移動に優位であると決定し、前記判定対象区間の前記評価値が前記直後区間の前記評価値以下の場合、前記直後区間の主軸が前記判定対象区間における前記特定部位の移動に優位であると決定することを特徴とする請求項２に記載の認識装置。
【請求項５】
第１軸〜第ｎ（ｎ≧２）軸を有する座標系で表される被写体の特定部位の位置を時系列で取得する取得部と、
時系列で取得される前記位置毎に前記特定部位の移動ベクトルを算出する算出部と、
算出される前記移動ベクトル毎に、当該移動ベクトルと前記第１軸〜前記第ｎ軸それぞれとの内積値である第１内積値〜第ｎ内積値を算出し、算出した前記第１内積値〜前記第ｎ内積値のうち絶対値が最も大きい内積値の算出に用いられた軸を主軸に選定する主軸選定部と、
前記主軸が切り替わる位置を主軸転換点及び方向転換点に設定し、前記移動ベクトルの方向が主軸成分において切り替わる位置を前記方向転換点に設定する転換点設定部と、
前記主軸転換点が存在する場合には最新の主軸転換点、前記主軸転換点が存在しない場合には最初に取得された位置である開始点を始点とし、当該始点を設定してから所定時間が経過するまでに当該始点の後に前記主軸転換点が存在する場合には当該始点の直後の主軸転換点、前記所定時間が経過するまでに当該始点の後に前記主軸転換点が存在しない場合には前記所定時間が経過するまでに取得された最新の位置である最新点を終点とする判定対象区間を設定し、当該判定対象区間の前記終点を始点とし、当該始点の後に前記方向転換点が存在する場合には当該始点の直後の方向転換点、当該始点の後に前記最新点が存在する場合には前記最新点を終点とする直後区間を設定する区間設定部と、
前記判定対象区間の評価値と前記直後区間の評価値とを算出し、算出した前記判定対象区間の前記評価値と前記直後区間の前記評価値とを用いて、前記第１軸〜前記第ｎ軸のいずれの軸が前記判定対象区間における前記特定部位の移動に優位であるかを決定する決定部と、
決定結果に応じた提示を行う提示部と、
を備えることを特徴とする認識装置。
【請求項６】
前記決定部は、前記判定対象区間の前記評価値が前記直後区間の前記評価値を超えている場合、又は前記直後区間が存在しない場合、前記判定対象区間の主軸が前記判定対象区間における前記特定部位の移動に優位であると決定し、前記判定対象区間の前記評価値が前記直後区間の前記評価値以下の場合、前記直後区間の主軸が前記判定対象区間における前記特定部位の移動に優位であると決定することを特徴とする請求項５に記載の認識装置。
【請求項７】
前記決定部は、前記判定対象区間における前記特定部位の移動に優位な軸を、前記所定時間以内で逐次判定し、
前記提示部は、前記所定時間以内で判定結果に応じた補助提示を更に行うことを特徴とする請求項２及び４〜６のいずれか１つに記載の認識装置。
【請求項８】
算出される移動ベクトルを用いて、前記第１軸〜前記第ｎ軸に対し、それぞれ、いずれの方向が優位であるかを判定する第１軸判定部〜第ｎ軸判定部と、
前記第１軸〜前記第ｎ軸の判定結果の中から、前記決定部により決定された前記判定対象区間における前記特定部位の移動に優位な軸の判定結果を選定する判定結果選定部と、を更に備え、
前記提示部は、前記判定結果の選定結果に応じた提示を行うことを特徴とする請求項１〜７のいずれか１つに記載の認識装置。
【請求項９】
前記第１軸判定部〜第ｎ軸判定部は、それぞれ、前記第１軸〜前記第ｎ軸の判定結果の進捗率を更に算出し、
前記判定結果選定部は、前記第１軸〜前記第ｎ軸のいずれかの軸の判定結果の前記進捗率が所定の進捗率以内であり、かつ前記いずれかの軸が前記決定部により前記判定対象区間における前記特定部位の移動に優位な軸に決定されている場合、前記進捗率が前記判定結果を確定する進捗率となり、かつ前記いずれかの軸が前記決定部により前記判定対象区間における前記特定部位の移動に優位な軸に確定されるまで、前記判定結果及び前記進捗率を選定し、
前記提示部は、前記判定結果選定部による選定が継続されている間選定結果に応じた補助提示を更に行うことを特徴とする請求項８に記載の認識装置。
【請求項１０】
前記主軸選定部は、前記第１内積値〜前記第ｎ内積値のうち前回算出された移動ベクトルの主軸を用いて算出した内積値に対して、当該内積値を増加させる補正を行うことを特徴とする請求項１〜９のいずれか１つに記載の認識装置。
【請求項１１】
前記評価値は、前記特定部位の位置又は大きさの変化量、前記特定部位の位置又は大きさの変化の速度、及び前記特定部位の位置又は大きさの変化の加速度の少なくともいずれかであることを特徴とする請求項１〜１０のいずれか１つに記載の認識装置。
【請求項１２】
取得部が、第１軸〜第ｎ（ｎ≧２）軸を有する座標系で表される被写体の特定部位の位置を時系列で取得する取得ステップと、
算出部が、時系列で取得される前記位置毎に前記特定部位の移動ベクトルを算出する算出ステップと、
主軸選定部が、算出される前記移動ベクトル毎に、当該移動ベクトルと前記第１軸〜前記第ｎ軸それぞれとの内積値である第１内積値〜第ｎ内積値を算出し、算出した前記第１内積値〜前記第ｎ内積値のうち絶対値が最も大きい内積値の算出に用いられた軸を主軸に選定する主軸選定ステップと、
転換点設定部が、前記主軸が切り替わる位置を主軸転換点及び方向転換点に設定し、前記移動ベクトルの方向が主軸成分において切り替わる位置を前記方向転換点に設定する転換点設定ステップと、
区間設定部が、前記主軸転換点が存在する場合には最新の主軸転換点、前記主軸転換点が存在しない場合には最初に取得された位置である開始点を始点とし、取得された最新の位置である最新点を終点とする判定対象区間を設定し、当該判定対象区間の前記始点を終点とし、当該終点の前に前記方向転換点が存在する場合には当該終点の直前の方向転換点、当該終点の前に前記方向転換点が存在しない場合には前記開始点を始点とする直前区間を設定する区間設定ステップと、
決定部が、前記判定対象区間の評価値と前記直前区間の評価値とを算出し、算出した前記判定対象区間の前記評価値と前記直前区間の前記評価値とを用いて、前記第１軸〜前記第ｎ軸のいずれの軸が前記判定対象区間における前記特定部位の移動に優位であるかを決定する決定ステップと、
提示部が、決定結果に応じた提示を行う提示ステップと、
を含むことを特徴とする認識方法。
【請求項１３】
取得部が、第１軸〜第ｎ（ｎ≧２）軸を有する座標系で表される被写体の特定部位の位置を時系列で取得する取得ステップと、
算出部が、時系列で取得される前記位置毎に前記特定部位の移動ベクトルを算出する算出ステップと、
主軸選定部が、算出される前記移動ベクトル毎に、当該移動ベクトルと前記第１軸〜前記第ｎ軸それぞれとの内積値である第１内積値〜第ｎ内積値を算出し、算出した前記第１内積値〜前記第ｎ内積値のうち絶対値が最も大きい内積値の算出に用いられた軸を主軸に選定する主軸選定ステップと、
転換点設定部が、前記主軸が切り替わる位置を主軸転換点及び方向転換点に設定し、前記移動ベクトルの方向が主軸成分において切り替わる位置を前記方向転換点に設定する転換点設定ステップと、
区間設定部が、前記主軸転換点が存在する場合には最新の主軸転換点、前記主軸転換点が存在しない場合には最初に取得された位置である開始点を始点とし、当該始点を設定してから所定時間が経過するまでに当該始点の後に前記主軸転換点が存在する場合には当該始点の直後の主軸転換点、前記所定時間が経過するまでに当該始点の後に前記主軸転換点が存在しない場合には前記所定時間が経過するまでに取得された最新の位置である最新点を終点とする判定対象区間を設定し、当該判定対象区間の前記終点を始点とし、当該始点の後に前記方向転換点が存在する場合には当該始点の直後の方向転換点、当該始点の後に前記最新点が存在する場合には前記最新点を終点とする直後区間を設定する区間設定ステップと、
決定部が、前記判定対象区間の評価値と前記直後区間の評価値とを算出し、算出した前記判定対象区間の前記評価値と前記直後区間の前記評価値とを用いて、前記第１軸〜前記第ｎ軸のいずれの軸が前記判定対象区間における前記特定部位の移動に優位であるかを決定する決定ステップと、
提示部が、決定結果に応じた提示を行う提示ステップと、
を含むことを特徴とする認識方法。
【請求項１４】
第１軸〜第ｎ（ｎ≧２）軸を有する座標系で表される被写体の特定部位の位置を時系列で取得する取得ステップと、
時系列で取得される前記位置毎に前記特定部位の移動ベクトルを算出する算出ステップと、
算出される前記移動ベクトル毎に、当該移動ベクトルと前記第１軸〜前記第ｎ軸それぞれとの内積値である第１内積値〜第ｎ内積値を算出し、算出した前記第１内積値〜前記第ｎ内積値のうち絶対値が最も大きい内積値の算出に用いられた軸を主軸に選定する主軸選定ステップと、
前記主軸が切り替わる位置を主軸転換点及び方向転換点に設定し、前記移動ベクトルの方向が主軸成分において切り替わる位置を前記方向転換点に設定する転換点設定ステップと、
前記主軸転換点が存在する場合には最新の主軸転換点、前記主軸転換点が存在しない場合には最初に取得された位置である開始点を始点とし、取得された最新の位置である最新点を終点とする判定対象区間を設定し、当該判定対象区間の前記始点を終点とし、当該終点の前に前記方向転換点が存在する場合には当該終点の直前の方向転換点、当該終点の前に前記方向転換点が存在しない場合には前記開始点を始点とする直前区間を設定する区間設定ステップと、
前記判定対象区間の評価値と前記直前区間の評価値とを算出し、算出した前記判定対象区間の前記評価値と前記直前区間の前記評価値とを用いて、前記第１軸〜前記第ｎ軸のいずれの軸が前記判定対象区間における前記特定部位の移動に優位であるかを決定する決定ステップと、
決定結果に応じた提示を行う提示ステップと、
をコンピュータに実行させるための認識プログラム。
【請求項１５】
第１軸〜第ｎ（ｎ≧２）軸を有する座標系で表される被写体の特定部位の位置を時系列で取得する取得ステップと、
時系列で取得される前記位置毎に前記特定部位の移動ベクトルを算出する算出ステップと、
算出される前記移動ベクトル毎に、当該移動ベクトルと前記第１軸〜前記第ｎ軸それぞれとの内積値である第１内積値〜第ｎ内積値を算出し、算出した前記第１内積値〜前記第ｎ内積値のうち絶対値が最も大きい内積値の算出に用いられた軸を主軸に選定する主軸選定ステップと、
前記主軸が切り替わる位置を主軸転換点及び方向転換点に設定し、前記移動ベクトルの方向が主軸成分において切り替わる位置を前記方向転換点に設定する転換点設定ステップと、
前記主軸転換点が存在する場合には最新の主軸転換点、前記主軸転換点が存在しない場合には最初に取得された位置である開始点を始点とし、当該始点を設定してから所定時間が経過するまでに当該始点の後に前記主軸転換点が存在する場合には当該始点の直後の主軸転換点、前記所定時間が経過するまでに当該始点の後に前記主軸転換点が存在しない場合には前記所定時間が経過するまでに取得された最新の位置である最新点を終点とする判定対象区間を設定し、当該判定対象区間の前記終点を始点とし、当該始点の後に前記方向転換点が存在する場合には当該始点の直後の方向転換点、当該始点の後に前記最新点が存在する場合には前記最新点を終点とする直後区間を設定する区間設定ステップと、
前記判定対象区間の評価値と前記直後区間の評価値とを算出し、算出した前記判定対象区間の前記評価値と前記直後区間の前記評価値とを用いて、前記第１軸〜前記第ｎ軸のいずれの軸が前記判定対象区間における前記特定部位の移動に優位であるかを決定する決定ステップと、
決定結果に応じた提示を行う提示ステップと、
をコンピュータに実行させるための認識プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、認識装置、方法及びプログラムに関する。
【背景技術】
【０００２】
ジェスチャを認識する認識装置において、被写体の特定部位の速度が閾値以上となる区間で算出した速度ベクトルの角度に応じて、当該特定部位のジェスチャ（動き）が垂直方向であるか水平方向であるかを認識する技術が知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−３５２５３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上述したような従来技術では、ジェスチャにノイズとなる動きが含まれると、認識精度が落ちてしまう。本発明が解決しようとする課題は、認識精度の低下を防止することができる認識装置、方法及びプログラムを提供することである。
【課題を解決するための手段】
【０００５】
実施形態の認識装置は、取得部と、算出部と、主軸選定部と、転換点設定部と、区間設定部と、決定部と、提示部と、を備える。取得部は、第１軸〜第ｎ（ｎ≧２）軸を有する座標系で表される被写体の特定部位の位置を時系列で取得する。算出部は、時系列で取得される前記位置毎に前記特定部位の移動ベクトルを算出する。主軸選定部は、算出される前記移動ベクトル毎に、当該移動ベクトルと前記第１軸〜前記第ｎ軸それぞれとの内積値である第１内積値〜第ｎ内積値を算出し、算出した前記第１内積値〜前記第ｎ内積値のうち絶対値が最も大きい内積値の算出に用いられた軸を主軸に選定する。転換点設定部は、前記主軸が切り替わる位置を主軸転換点及び方向転換点に設定し、前記移動ベクトルの方向が主軸成分において切り替わる位置を前記方向転換点に設定する。区間設定部は、前記主軸転換点が存在する場合には最新の主軸転換点、前記主軸転換点が存在しない場合には最初に取得された位置である開始点を始点とし、取得された最新の位置である最新点を終点とする判定対象区間を設定し、当該判定対象区間の前記始点を終点とし、当該終点の前に前記方向転換点が存在する場合には当該終点の直前の方向転換点、当該終点の前に前記方向転換点が存在しない場合には前記開始点を始点とする直前区間を設定する。決定部は、前記判定対象区間の評価値と前記直前区間の評価値とを算出し、算出した前記判定対象区間の前記評価値と前記直前区間の前記評価値とを用いて、前記第１軸〜前記第ｎ軸のいずれの軸が前記判定対象区間における前記特定部位の移動に優位であるかを決定する。提示部は、決定結果に応じた提示を行う。
【図面の簡単な説明】
【０００６】
【図１】図１は、第１実施形態の認識装置の例を示す構成図。
【図２】図２は、第１実施形態の特定部位のジェスチャの例を示す図。
【図３】図３は、第１実施形態の特定部位の位置の例を示す図。
【図４】図４は、第１実施形態の移動ベクトルの例を示す図。
【図５】図５は、第１実施形態の判定対象区間及び直前区間の設定例を示す説明図。
【図６】図６は、第１実施形態の特定部位のジェスチャの他の例を示す図。
【図７】図７は、第１実施形態の提示例を示す図。
【図８】図８は、第１実施形態の認識装置の処理例を示すフローチャート。
【図９】図９は、第１実施形態の転換点設定部の処理例を示すフローチャート。
【図１０】図１０は、第１実施形態の決定部の処理例を示すフローチャート。
【図１１】図１１は、第２実施形態の認識装置の例を示す構成図。
【図１２】図１２は、第２実施形態の特定部位のジェスチャの他の例を示す図。
【図１３】図１３は、第２実施形態の進捗率毎の優位な軸の例を示す図。
【図１４】図１４は、第２実施形態の進捗率毎の優位な軸の他の例を示す図。
【図１５】図１５は、第２実施形態の補助提示の例を示す図。
【図１６】図１６は、第２実施形態の補助提示の他の例を示す図。
【図１７】図１７は、第２実施形態の補助提示の他の例を示す図。
【図１８】図１８は、第２実施形態の認識装置の処理例を示すフローチャート。
【図１９】図１９は、第２実施形態の決定部の処理例を示すフローチャート。
【図２０】図２０は、第２実施形態の決定部の他の処理例を示すフローチャート。
【図２１】図２１は、第３実施形態の認識装置の例を示す構成図。
【図２２】図２２は、第３実施形態の第２軸方向転換点の設定例を示す図。
【図２３】図２３は、第３実施形態の進捗率毎の優位な方向の一例を示す図。
【図２４】図２４は、第３実施形態の進捗率毎の送り動作の候補の一例を示す図。
【図２５】図２５は、第３実施形態の認識装置の処理例を示すフローチャート。
【図２６】図２６は、第３実施形態の第２軸判定部の処理例を示すフローチャート。
【図２７】図２７は、第４実施形態で用いられる座標系の一例を示す図。
【図２８】図２８は、第４実施形態で用いられる座標系の他の例を示す図。
【図２９】図２９は、第１応用例のテレビ受像機の例を示す図。
【図３０】図３０は、第２応用例のパソコンの例を示す図。
【図３１】図３１は、第３応用例の情報端末の例を示す図。
【発明を実施するための形態】
【０００７】
（第１実施形態）
図１は、第１実施形態の認識装置１００の一例を示す構成図である。図１に示すように、認識装置１００は、取得部１０２と、算出部１０４と、主軸選定部１０６と、転換点設定部１０８と、区間設定部１１０と、決定部１１２と、提示部１１４とを、備える。
【０００８】
取得部１０２は、第１軸〜第２軸を有する座標系で表される被写体の特定部位の位置を時系列で取得する。取得部１０２は、例えば、イメージセンサなどの撮像素子を用いて撮像された時系列の画像に対して、パターン認識法、背景差分法、肌色抽出法、及びフレーム間差分法などの少なくともいずれかの手法を適用して、各画像から特定部位の位置を検出し、検出した特定部位の位置を取得する。特定部位の位置は、例えば、検出された特定部位の領域の重心とすることができる。
【０００９】
図２は、第１実施形態の特定部位のジェスチャの一例を示す図であり、図３は、第１実施形態の取得部１０２により時系列で取得される特定部位の位置の一例を示す図である。例えば、特定部位が図２に示すような移動軌跡をたどった場合、取得部１０２は、図３に示すように、時系列の画像からサンプリングした離散的な位置Ｐ１〜Ｐ６を特定部位の位置として時系列で取得する。
【００１０】
本実施形態では、特定部位が被写体（ユーザ）の手である場合を例に取り説明するが、特定部位は、これに限定されるものではなく、被写体の指、頭、又はレーザポインタの発光部などであってもよい。
【００１１】
また、特定部位の位置は、第１軸〜第２軸を有する座標系で表されるが、第１軸〜第２軸は、特定部位のジェスチャ（動き）の判別対象となる軸であればよい。本実施形態では、垂直（上下）方向のジェスチャと水平（左右）方向のジェスチャとを判別することを目的としているため、第１軸を垂直方向の軸とし、第２軸を水平方向の軸とし、第１軸と第２軸とが交差するものとするが、これに限定されるものではない。例えば、北西−南東方向のジェスチャと北東−南西方向のジェスチャとを判別することを目的としていれば、第１軸を北西−南東方向の軸、第２軸を北東−南西方向の軸とすればよい。また、撮像素子や距離センサから推定された奥行き情報を、第１軸〜第２軸のいずれかの軸としてもよい。
【００１２】
また、第１軸〜第２軸を有する座標系で表される特定部位の位置は、これらの軸を成分とした座標で表現してもよいし、撮像素子により撮像された画像上で規定されている座標（ピクセルの位置）で表現してもよい。また、特定部位の位置を表現する座標は、絶対座標であってもよいし、ユーザの顔の位置からの相対座標としてもよい。また、特定部位の位置は、ユーザの顔や最初に検出した特定部位のサイズから正規化された座標値としてもよい。
【００１３】
また取得部１０２は、特定部位の位置だけでなく、当該位置を取得した時刻も取得するようにしてもよい。例えば、特定部位の位置を画像上のｘ、ｙ座標で表現する場合、取得部１０２は、ｉ番目のフレームで位置（ｘｉ，ｙｉ）を取得するとともに、時刻Ｔｉを取得する。時刻は、例えば、認識装置１００の起動時、又は取得部１０２による位置取得開始時を基準とした経過時間、経過クロック数、経過フレーム数などで表現できる。ここでは取得されたフレーム毎に位置を取得する場合を例に説明するが、これに限定されない。
【００１４】
算出部１０４は、時系列で取得される位置毎に特定部位の移動ベクトルを算出する。本実施形態では、移動ベクトルが、取得部１０２により前回取得された位置からの相対ベクトルである場合を例に取り説明するが、これに限定されるものではない。
【００１５】
図４は、第１実施形態の算出部１０４により算出される移動ベクトルの一例を示す図である。算出部１０４は、例えば、取得部１０２により位置Ｐ２が取得されると、前回（前フレームで）取得された位置Ｐ１からの相対ベクトルである移動ベクトルＲ１を算出する。具体的には、位置Ｐ１の座標を（ｘ１，ｙ１）、位置Ｐ２の座標を（ｘ２，ｙ２）とすると（ここでは、第２軸をｘ軸、第１軸をｙ軸とする）、算出部１０４は、Ｒ１＝（ｘ２−ｘ１，ｙ２−ｙ１）Ｔを計算して移動ベクトルＲ１を算出する。ここで、Ｔは、転置行列を示す。
【００１６】
なお、移動ベクトルは、前回取得された位置ではなく、数回（数フレーム）前に取得された位置からの相対ベクトルであってもよいし、直前に存在する方向転換点（詳細は後述）からの相対ベクトルであってもよい。また、移動ベクトルは、前回（前フレームで）取得された位置、現在（現フレームで）取得された位置、及び次回（次フレームで）取得される位置から算出される傾きを有し、現在取得された位置を通過するようなベクトルとしてもよい。この場合の傾きは、前回取得された位置をＰ１（ｘ１，ｙ１）、現在取得された位置をＰ２（ｘ２，ｙ２）、次回取得される位置をＰ３（ｘ３，ｙ３）とすると、例えば、位置Ｐ１と位置Ｐ２とのベクトルの傾き（ｙ２−ｙ１／ｘ２−ｘ１）と位置Ｐ２と位置Ｐ３とのベクトルの傾き（ｙ３−ｙ２／ｘ３−ｘ２）との平均とすることができる。また、移動ベクトルは、撮像素子により撮像された画像上の特定部位のブラーの方向から特定部位の移動方向を推測することで算出される傾きを有し、現在取得された位置を通過するようなベクトルとしてもよい。
【００１７】
主軸選定部１０６は、算出される移動ベクトル毎に、当該移動ベクトルと第１軸〜第２軸それぞれとの内積値である第１内積値〜第２内積値を算出し、算出した第１内積値〜第２内積値のうち絶対値が最も大きい内積値の算出に用いられた軸を主軸に選定する。つまり、主軸選定部１０６は、第１軸〜第２軸のうち特定部位のジェスチャの方向が近い方の軸を主軸に選定する。
【００１８】
例えば、図４に示す例の場合、第１軸と第２軸とが直角に交差しているため、主軸選定部１０６は、第１軸に対する移動ベクトルの傾き、即ち、第１軸と移動ベクトルとの鋭角が±４５°の範囲であれば第１軸を主軸に選定し、第２軸に対する移動ベクトルの傾き、即ち、第２軸と移動ベクトルとの鋭角が±４５°の範囲であれば第２軸を主軸に選定する。この結果、主軸選定部１０６は、移動ベクトルＲ１の主軸に第１軸を選定し、移動ベクトルＲ２〜Ｒ５の主軸に第２軸を選定するため、Ｐ１〜Ｐ２時点での主軸は第１軸となり、Ｐ２〜Ｐ６時点での主軸は第２軸となる。
【００１９】
なお主軸選定部１０６は、第１内積値〜第２内積値のうち前回算出された移動ベクトルの主軸を用いて算出した内積値に対して、当該内積値を増加させる補正を行うようにしてもよい。つまり、主軸選定部１０６は、ヒステリシスを設けて主軸を選定し、例えば、前回、第１軸を主軸に選定していれば、現在においても第１軸を主軸に選定しやすいように補正をかけて、主軸を選定するようにしてもよい。
【００２０】
例えば、主軸選定部１０６は、移動ベクトルと前回主軸に選定された軸との内積値である主軸内積値と、移動ベクトルと前回主軸に選定されなかった軸との内積値である非主軸内積値とを、算出する。そして主軸選定部１０６は、主軸内積値に値を増加させるような補正関数をかけて補正し、補正後の主軸内積値と主軸内積値とを比較して絶対値の大きい方の内積値の算出に用いられた軸を主軸に選定する。補正関数は、例えば、γ（γ＞１．０）とすることができる。また例えば、第１軸と第２軸とが直角に交差しているのであれば、前回主軸に選定された軸に対する移動ベクトルの傾きが±５０°の範囲であれば当該軸を主軸に選定し、前回主軸に選定されなかった軸に対する移動ベクトルの傾きが±４０°の範囲であれば当該軸を主軸に選定するようにしてもよい。
【００２１】
転換点設定部１０８は、主軸が切り替わる位置を主軸転換点及び方向転換点に設定し、移動ベクトルの方向が主軸成分において切り替わる位置を方向転換点に設定する。例えば、図４に示す例の場合、位置Ｐ２では、主軸が第１軸から第２軸に切り替わるため、転換点設定部１０８は、位置Ｐ２を主軸転換点かつ方向転換点に設定する。また、位置Ｐ５では、主軸である第２軸成分において移動ベクトルの方向が右方向から左方向へと切り替わるため、転換点設定部１０８は、位置Ｐ２を方向転換点に設定する。
【００２２】
なお転換点設定部１０８は、主軸成分における移動ベクトルの方向の切り替わりを、移動ベクトルと主軸との内積値の符号の切り替わりで判定してもよい。また、位置Ｐ３及びＰ４では、主軸ではない第１軸成分において移動ベクトルの方向が切り替わっているが、主軸である第２軸成分において移動ベクトルの方向が切り替わっていないため、転換点設定部１０８は、位置Ｐ３及びＰ４を方向転換点に設定しない。
【００２３】
区間設定部１１０は、主軸転換点が存在する場合には最新の主軸転換点、主軸転換点が存在しない場合には最初に取得された位置である開始点を始点とし、取得された最新の位置である最新点を終点とする判定対象区間を設定する。また区間設定部１１０は、当該判定対象区間の始点を終点とし、当該終点の前に方向転換点が存在する場合には当該終点の直前の方向転換点、当該終点の前に方向転換点が存在しない場合には開始点を始点とする直前区間を設定する。判定対象区間に設定された部分のジェスチャが、第１軸方向のジェスチャであるか第２軸方向のジェスチャであるかの判定対象となり、直前区間に設定された部分のジェスチャが、判定対象区間に設定された部分のジェスチャがノイズであるか否かの判定に用いられる。ノイズとは、被写体（ユーザ）が意図するジェスチャ（手振りなど）とは無関係な、不要な情報をさす。
【００２４】
本実施形態では、区間設定部１１０は、判定対象区間及び直前区間をオンライン、即ち、リアルタイムで設定するものとするが、これに限定されるものではなく、バッチ処理、即ち、ジェスチャ終了後に設定するようにすることもできる。ここでは、説明の便宜上、判定対象区間及び直前区間をバッチ処理で設定する場合を最初に説明し、その後、リアルタイムで設定する場合について説明する。
【００２５】
図５は、第１実施形態のバッチ処理による判定対象区間及び直前区間の設定手法の一例を示す説明図である。図５に示す例では、Ｑｓは、取得部１０２により最初に取得された位置である開始点を示し、Ｑ１〜Ｑ４は、主軸転換点かつ方向転換点を示し、Ｋ１〜Ｋ２は、方向転換点を示し、Ｑｅは、取得部１０２により取得された最後の位置である終了点を示す。
【００２６】
判定対象区間及び直前区間をバッチ処理で設定する場合、区間設定部１１０は、Ｑｓ〜Ｑｅが取得された後に、順番に判定対象区間及び直前区間を設定し、設定した判定対象区間及び直前区間の情報を決定部１１２に順次出力する。設定した判定対象区間及び直前区間の情報は、判定対象区間及び直前区間を区切る両端の位置でもよいし、当該位置を取得した時刻でもよいし、当該位置のＩＤであってもよい。
【００２７】
具体的には、区間設定部１１０は、まず、Ｑｓを始点とし、Ｑ１を終点とする区間Ｑｓ〜Ｑ１を判定対象区間に設定し、設定した判定対象区間の情報を決定部１１２に出力する。この場合、区間設定部１１０は、直前区間を設定しない。続いて、区間設定部１１０は、Ｑ１を始点とし、Ｑ２を終点とする区間Ｑ１〜Ｑ２を判定対象区間に設定するとともに、Ｑｓを始点とし、Ｑ１を終点とする区間Ｑｓ〜Ｑ１を直前区間に設定し、設定した判定対象区間及び直前区間の情報を決定部１１２に出力する。以下同様に、区間設定部１１０は、区間Ｑ２〜Ｑ３、区間Ｋ２〜Ｑ２を、それぞれ判定対象区間、直前区間に設定して、決定部１１２に出力し、区間Ｑ３〜Ｑ４、区間Ｑ２〜Ｑ３を、それぞれ判定対象区間、直前区間に設定して、決定部１１２に出力し、区間Ｑ４〜Ｑｅ、区間Ｑ３〜Ｑ４を、それぞれ判定対象区間、直前区間に設定して、決定部１１２に出力する。
【００２８】
つまり、判定対象区間及び直前区間をバッチ処理で設定する場合、区間設定部１１０は、開始点又は主軸転換点を順次始点とし、始点の後に主軸転換点が存在する場合には直後の主軸転換点、始点の後に主軸転換点が存在しない場合には終了点を終点とする判定対象区間を設定する。また区間設定部１１０は、当該判定対象区間の始点を終点とし、当該終点の前に方向転換点が存在する場合には当該終点の直前の方向転換点、当該終点の前に方向転換点が存在しない場合には開始点を始点とする直前区間を設定する。
【００２９】
次に、判定対象区間及び直前区間をリアルタイムで設定する場合について説明する。判定対象区間及び直前区間をリアルタイムで設定する場合、区間設定部１１０は、取得部１０２により位置が取得される毎に、判定対象区間及び直前区間を設定し、設定した判定対象区間及び直前区間の情報を決定部１１２に出力する。
【００３０】
図４を参照しながら、具体的に説明する。まず、取得部１０２により最新の位置である最新点（開始点）Ｐ１が取得されても、区間設定部１１０は、判定対象区間及び直前区間を設定しない。
【００３１】
続いて、取得部１０２により最新点Ｐ２が取得されると、開始点Ｐ１を始点とし、最新点Ｐ２を終点とする区間Ｐ１〜Ｐ２を判定対象区間に設定し、設定した判定対象区間の情報を決定部１１２に出力する。この場合、区間設定部１１０は、直前区間を設定しない。
【００３２】
続いて、取得部１０２により最新点Ｐ３が取得されると、Ｐ２が主軸転換点となるため、最新の主軸転換点Ｐ２を始点とし、最新点Ｐ３を終点とする区間Ｐ２〜Ｐ３を判定対象区間に設定するとともに、開始点Ｐ１を始点とし、主軸転換点Ｐ２を終点とする区間Ｐ１〜Ｐ２を直前区間に設定し、設定した判定対象区間及び直前区間の情報を決定部１１２に出力する。
【００３３】
続いて、取得部１０２により最新点Ｐ４が取得されると、最新の主軸転換点Ｐ２を始点とし、最新点Ｐ４を終点とする区間Ｐ２〜Ｐ４を判定対象区間に設定するとともに、開始点Ｐ１を始点とし、主軸転換点Ｐ２を終点とする区間Ｐ１〜Ｐ２を直前区間に設定し、設定した判定対象区間及び直前区間の情報を決定部１１２に出力する。
【００３４】
続いて、取得部１０２により最新点Ｐ５が取得されると、最新の主軸転換点Ｐ２を始点とし、最新点Ｐ５を終点とする区間Ｐ２〜Ｐ５を判定対象区間に設定するとともに、開始点Ｐ１を始点とし、主軸転換点Ｐ２を終点とする区間Ｐ１〜Ｐ２を直前区間に設定し、設定した判定対象区間及び直前区間の情報を決定部１１２に出力する。
【００３５】
続いて、取得部１０２により最新点Ｐ６が取得されると、最新の主軸転換点Ｐ２を始点とし、最新点Ｐ６を終点とする区間Ｐ２〜Ｐ６を判定対象区間に設定するとともに、開始点Ｐ１を始点とし、主軸転換点Ｐ２を終点とする区間Ｐ１〜Ｐ２を直前区間に設定し、設定した判定対象区間及び直前区間の情報を決定部１１２に出力する。
【００３６】
決定部１１２は、判定対象区間の評価値と直前区間の評価値とを算出し、算出した判定対象区間の評価値と直前区間の評価値とを用いて、第１軸〜第２軸のいずれの軸が判定対象区間における特定部位の移動に優位であるかを決定する。具体的には、決定部１１２は、判定対象区間の評価値が直前区間の評価値を超えている場合、又は直前区間が存在しない場合、判定対象区間の主軸が判定対象区間における特定部位の移動に優位であると決定する。また決定部１１２は、判定対象区間の評価値が直前区間の評価値以下の場合、直前区間の主軸が判定対象区間における特定部位の移動に優位であると決定する。
【００３７】
ここで、評価値は、特定部位の位置又は大きさの変化量（移動距離）、特定部位の位置又は大きさの変化の速度（移動速度）、及び特定部位の位置又は大きさの変化の加速度（移動加速度）の少なくともいずれかであるものとする。例えば、評価値は、数式（１）に示すように、特定部位の移動距離及び移動速度を用いた関数で表現するようにしてもよいし、数式（２）に示すように、特定部位の移動距離、移動速度、及び移動加速度を用いた関数で表現するようにしてもよいし、特定部位の移動距離としてもよいし、特定部位の移動速度としてもよいし、特定部位の移動加速度としてもよい。
【００３８】
【数１】
0005547139.tif 000002
【００３９】
Ｅ＝Ｖ×Ｌ×α      …（２）
【００４０】
Ｅは評価値を示し、Ｖは移動速度を示し、Ｌは移動距離を示し、αは移動加速度を示すものとする。
【００４１】
移動距離は、判定対象区間の移動ベクトルのユークリッド距離の和としてもよいし、移動ベクトルの主軸成分（移動ベクトルと主軸との内積の絶対値）の和としてもよい。例えば、図４に示す例の場合、最新点Ｐ５が取得された時点での判定対象区間である区間Ｐ２〜Ｐ５における移動距離は、移動ベクトルＲ２〜Ｒ４の各ユークリッド距離を合計した合計距離とすることができる。
【００４２】
移動速度は、判定対象区間の移動ベクトルの速度のうちの最大速度としてもよいし、所定の閾値以上となる移動ベクトルの速度の平均値としてもよい。なお、移動ベクトルの速度は、当該移動ベクトルの両端点Ｐｂ、Ｐｃの取得時刻をそれぞれＴｂ、Ｔｃとすると、｜Ｐｂ〜Ｐｃの距離／（Ｔｂ−Ｔｃ）｜とできる。例えば、図４に示す例の場合、区間Ｐ２〜Ｐ５における移動速度は、移動ベクトルＲ２〜Ｒ４の速度のうちの最大速度とすることができる。移動ベクトルＲ２の速度は、Ｐ２、Ｐ３が取得された時刻をそれぞれＴ２、Ｔ３とすると、｜移動ベクトルＲ２のユークリッド距離／（Ｔ３−Ｔ２）｜となる。
【００４３】
なお、特定部位の移動速度の算出手法は、これに限定されるものではなく、例えば、決定部１１２は、取得部１０２により取得される特定部位の位置の周辺の各画素の速度（オプティカルフロー）を計算し、計算した各画素の速度の平均値や最頻値を特定部位の移動速度とするようにしてもよい。
【００４４】
また例えば、決定部１１２は、特定部位の画像内の位置を観測値、特定部位の位置と速度を状態変数とし、観測値と等速運動などの状態変数の運動モデルによって最適な状態を推定するカルマンフィルタなどのフィルタを用いて、特定部位の移動速度を計算するようにしてもよい。この際、決定部１１２は、観測値として、特定部位の画像内の位置の周辺の各画素の速度（オプティカルフロー）の平均値を更に用いるようにしてもよい。
【００４５】
移動加速度は、判定対象区間の移動ベクトルの加速度のうちの最大加速度としてもよいし、所定の閾値以上となる移動ベクトルの加速度の平均値としてもよい。なお、移動ベクトルの加速度は、当該移動ベクトルの両端点Ｐｂ、Ｐｃの取得時刻をそれぞれＴｂ、Ｔｃ、当該移動ベクトルの直前の移動ベクトルの両端点Ｐａ、Ｐｂの取得時刻をそれぞれＴａ、Ｔｂとすると、｜Ｐｂ〜Ｐｃの速度−Ｐａ〜Ｐｂの速度／（Ｔｂ−Ｔｃ）｜とできる。
【００４６】
ここで、図４に示す例を用いて、判定対象区間における特定部位の移動に優位な軸の決定方法を具体的に説明する。まず、区間設定部１１０により区間Ｐ１〜Ｐ２が判定対象区間に設定された場合、直前区間は存在しないため、決定部１１２は、区間Ｐ１〜Ｐ２では、主軸である第１軸が特定部位の移動に優位であると決定する。
【００４７】
続いて、区間設定部１１０により区間Ｐ２〜Ｐ３が判定対象区間に設定され、区間Ｐ１〜Ｐ２が直前区間に設定された場合、決定部１１２は、区間Ｐ２〜Ｐ３の評価値と区間Ｐ１〜Ｐ２の評価値とを算出する。ここでは、区間Ｐ２〜Ｐ３（判定対象区間）の評価値が区間Ｐ１〜Ｐ２（直前区間）の評価値以下とする。この場合、決定部１１２は、区間Ｐ２〜Ｐ３では、主軸は第２軸であるが、区間Ｐ１〜Ｐ２の主軸である第１軸が特定部位の移動に優位であると決定する。つまり、この時点では、決定部１１２は、区間Ｐ２〜Ｐ３の移動軌跡をノイズとみなしている。
【００４８】
続いて、区間設定部１１０により区間Ｐ２〜Ｐ４が判定対象区間に設定され、区間Ｐ１〜Ｐ２が直前区間に設定された場合、決定部１１２は、区間Ｐ２〜Ｐ４の評価値と区間Ｐ１〜Ｐ２の評価値とを算出する。なお、区間Ｐ１〜Ｐ２の評価値は、前回算出したものを使用してもよい。ここでは、区間Ｐ２〜Ｐ４（判定対象区間）の評価値が区間Ｐ１〜Ｐ２（直前区間）の評価値を超えているものとする。この場合、決定部１１２は、区間Ｐ２〜Ｐ４では、主軸である第２軸が特定部位の移動に優位であると決定する。つまり、この時点では、決定部１１２は、区間Ｐ２〜Ｐ４の移動軌跡をジェスチャとみなしている。
【００４９】
以降、区間Ｐ２〜Ｐ５、区間Ｐ２〜Ｐ６が判定対象区間に設定された場合においても、判定対象区間の評価値が直前区間の評価値を超え、決定部１１２は、主軸である第２軸が特定部位の移動に優位であると決定する。
【００５０】
図６は、第１実施形態の特定部位のジェスチャの他の例を示す図である。図６に示す例では、特定部位が右方向への軌跡を描いたあと（軌跡１７１、１７２）、上方向への軌跡を描いている（軌跡１７３）。なお、図６に示す例では、評価値として移動距離を用いるものとする。
【００５１】
軌跡１７１、１７２の時点では、右方向への軌跡が判定対象区間となり、直前区間は存在しないため、決定部１１２は、判定対象区間の主軸となる水平方向の軸が特定部位の移動に優位であると決定する。
【００５２】
軌跡１７３の時点では、上方向への軌跡が判定対象区間となり、右方向への軌跡が直前区間となる。決定部１１２は、上方向への軌跡の移動距離が右方向への軌跡の移動距離よりも短いため、右方向への軌跡の評価値が上方向への軌跡の評価値を超えると判定し、判定対象区間においても、直前区間の主軸である水平方向の軸が特定部位の移動に優位であると決定する。
【００５３】
これにより、垂直方向へのジェスチャはノイズとみなされ、ジェスチャ全体としては水平方向が優位と決定されることになる。
【００５４】
提示部１１４は、決定部１１２の決定結果に応じた提示を行う。提示部１１４は、例えば、ディスプレイに表示されている画面を、第１〜第２軸のうち決定部１１２により特定部位の移動に優位であると決定された軸方向に遷移する。
【００５５】
図７は、第１実施形態の提示部１１４による提示の一例を示す図である。図７に示す例では、提示部１１４は、画面１８０の左側にオブジェクト１８１、中央にオブジェクト１８２、右側にオブジェクト１８３を表示している。ここで、ユーザが、特定部位である手１８６を矢印１８７方向、即ち左方向に動かすジェスチャを行ったとする。このジェスチャは、決定部１１２により水平方向の軸が手１８６の移動に優位であると決定されるので、提示部１１４は、画面１８０において、オブジェクトを水平方向（左側）に遷移させる。この結果、提示部１１４は、画面１８０の左側にオブジェクト１８２、中央にオブジェクト１８３、右側にオブジェクト１８４を表示する。
【００５６】
なお、認識装置１００が決定部１１２の決定結果に応じてコマンドを発行するコマンド発行部を備える場合、提示部１１４は、発行されたコマンドに応じた提示を行う。
【００５７】
例えば、決定部１１２は、特定部位の移動に優位である決定した軸のＩＤをコマンド発行部に出力する。ここで、決定部１１２は、特定部位の移動に優位である決定した軸のＩＤとともに、判定対象区間の両端点のＩＤなど判定対象区間を指定する情報をコマンド発行部に出力してもよい。また、決定部１１２は、特定部位の移動に優位である決定した軸が変更した場合のみ、当該軸のＩＤをコマンド発行部に出力するようにしてもよい。
【００５８】
そして、当該軸成分での特定部位の移動速度が閾値以上であれば、コマンド発行部は当該軸方向でのコマンドを発行する。例えば、図４に示す例において、区間Ｐ２〜Ｐ３が判定対象区間である場合、判定対象区間において特定部位の移動に優位である軸は第１軸となるので、移動ベクトルＲ２の第１軸成分の速さ（移動ベクトルＲ２と第１軸との内積値の絶対値）、即ち、移動ベクトルＲ２の上方向の速度成分が閾値以上であれば、コマンド発行部は上方向のコマンドを発行する。また、区間Ｐ２〜Ｐ４が判定対象区間である場合、判定対象区間において特定部位の移動に優位である軸は第２軸となるので、移動ベクトルＲ２、Ｒ３のうち第１軸成分の速さが速い方の右方向の速度成分が閾値以上であれば、コマンド発行部は右方向のコマンドを発行する。
【００５９】
提示部１１４は、発行されたコマンドに従い、ディスプレイに表示されている画面を遷移する。
【００６０】
図８は、第１実施形態の認識装置１００で行われる処理の手順の流れの一例を示すフローチャートである。
【００６１】
まず、取得部１０２は、第１軸〜第２軸を有する座標系で表される被写体の特定部位の位置を取得する（ステップＳ１０１）。
【００６２】
続いて、算出部１０４は、取得部１０２により取得された位置に対する前回取得された位置からの相対ベクトルを特定部位の移動ベクトルとして算出する（ステップＳ１０２）。
【００６３】
続いて、主軸選定部１０６は、算出部１０４により算出された移動ベクトルと第１軸〜第２軸それぞれとの内積値である第１内積値〜第２内積値を算出し、算出した第１内積値〜第２内積値のうち絶対値が最も大きい内積値の算出に用いられた軸を主軸に選定する（ステップＳ１０３）。
【００６４】
続いて、転換点設定部１０８は、取得部１０２により前回取得された位置で主軸が切り替われば主軸転換点及び方向転換点に設定し、取得部１０２により前回取得された位置で移動ベクトルの方向が主軸成分において切り替われば方向転換点に設定する（ステップＳ１０４）。
【００６５】
続いて、区間設定部１１０は、主軸転換点が存在する場合には最新の主軸転換点、主軸転換点が存在しない場合には最初に取得された位置である開始点を始点とし、取得された最新の位置である最新点を終点とする判定対象区間を設定する。また区間設定部１１０は、当該判定対象区間の始点を終点とし、当該終点の前に方向転換点が存在する場合には当該終点の直前の方向転換点、当該終点の前に方向転換点が存在しない場合には開始点を始点とする直前区間を設定する（ステップＳ１０５）。
【００６６】
続いて、決定部１１２は、判定対象区間の評価値と直前区間の評価値とを算出し、算出した判定対象区間の評価値と直前区間の評価値とを用いて、第１軸〜第２軸のいずれの軸が判定対象区間における特定部位の移動に優位であるかを決定する（ステップＳ１０６）。
【００６７】
そして、取得部１０２により被写体の特定部位の最新の位置が取得される毎に（ステップＳ１０１）、ステップＳ１０２〜Ｓ１０６の処理が行われ、提示部１１４は、決定部１１２の決定結果に応じた提示を行う。
【００６８】
図９は、第１実施形態の認識装置１００で転換点設定部１０８により行われる処理の手順の流れの一例を示すフローチャートである。
【００６９】
まず、転換点設定部１０８は、取得部１０２から最新フレームの特定部位の位置Ｐｊを取得するとともに、主軸選定部１０６から最新フレームの主軸ＩＤを取得する（ステップＳ１２０）。最新フレームの主軸ＩＤは、位置Ｐｊに対する前回のフレームの特定部位の位置Ｐｉからの相対ベクトルである移動ベクトルＲｉの主軸の主軸ＩＤである。
【００７０】
続いて、転換点設定部１０８は、取得した位置Ｐｊが取得部１０２により特定部位の位置取得が開始されてから２フレーム以内に取得されたものか否かを判定する（ステップＳ１２１）。ここで、転換点設定部１０８が、位置Ｐｊは位置取得が開始されてから２フレーム以内に取得されたものと判定した場合（ステップＳ１２１でＹｅｓ）、処理は終了となる。これは、転換点を設定できるほど位置が取得されていないためである。
【００７１】
一方、転換点設定部１０８が、位置Ｐｊは位置取得が開始されてから２フレーム以内に取得されたものでないと判定したとする（ステップＳ１２１でＮｏ）。この場合、転換点設定部１０８は、取得部１０２から前回のフレームの特定部位の位置Ｐｉ及び前々回のフレームの特定部位の位置Ｐｈを取得するとともに、主軸選定部１０６から前回のフレームの主軸ＩＤを取得する（ステップＳ１２２）。前回のフレームの主軸ＩＤは、位置Ｐｉに対する前々回のフレームの特定部位の位置Ｐｈからの相対ベクトルである移動ベクトルＲｈの主軸の主軸ＩＤである。なお、転換点設定部１０８は、前回のフレームにおいて取得した最新フレームの主軸ＩＤを保存しておき、前回のフレームの主軸ＩＤとしてもよい。
【００７２】
続いて、転換点設定部１０８は、最新フレームの主軸ＩＤが前回のフレームの主軸ＩＤと異なるか否かを判定する（ステップＳ１２３）。
【００７３】
最新フレームの主軸ＩＤが前回のフレームの主軸ＩＤと異なる場合（ステップＳ１２３でＹｅｓ）、転換点設定部１０８は、位置Ｐｉを主軸転換点及び方向転換点に設定する（ステップＳ１２４）。これにより、処理は終了となる。
【００７４】
一方、最新フレームの主軸ＩＤが前回のフレームの主軸ＩＤと同一となる場合（ステップＳ１２３でＮｏ）、転換点設定部１０８は、位置Ｐｉにおいて特定部位の移動軌跡（移動ベクトル）が主軸成分で方向転換しているか否かを判定する（ステップＳ１２５）。具体的には、転換点設定部１０８は、移動ベクトルＲｉと最新フレームの主軸との内積値と、移動ベクトルＲｊと前回のフレームの主軸との内積値と、の符号が異なっているか否かを判定する。但し、移動ベクトルＲｊと前回のフレームの主軸との内積値が０である場合、移動ベクトルＲｊでは主軸成分に変化が無かったことになる。この場合、転換点設定部１０８は、３回前の特定部位の位置Ｐｇを取得し、位置Ｐｈに対する３回前のフレームの特定部位の位置Ｐｇからの相対ベクトルである移動ベクトルＲｇと前々回のフレームの主軸との内積値を用いる。
【００７５】
位置Ｐｉにおいて特定部位の移動軌跡（移動ベクトル）が主軸成分で方向転換している場合（ステップＳ１２５でＹｅｓ）、即ち、両内積値の符号が異なっている場合、転換点設定部１０８は、位置Ｐｉを方向転換点に設定する（ステップＳ１２６）。これにより、処理は終了となる。
【００７６】
一方、位置Ｐｉにおいて特定部位の移動軌跡（移動ベクトル）が主軸成分で方向転換していない場合（ステップＳ１２５でＮｏ）、即ち、両内積値の符号が同一である場合、処理は終了となる。
【００７７】
図１０は、第１実施形態の認識装置１００で決定部１１２により行われる処理の手順の流れの一例を示すフローチャートである。
【００７８】
まず、決定部１１２は、直前区間が存在するか否かを確認する（ステップＳ１３０）。
【００７９】
直前区間が存在する場合（ステップＳ１３０でＹｅｓ）、決定部１１２は、判定対象区間の評価値Ｅｃと直前区間の評価値Ｅｂとを算出し、評価値Ｅｃが評価値Ｅｂ以下であるか否かを判定する（ステップＳ１３１）。
【００８０】
評価値Ｅｃが評価値Ｅｂ以下である場合（ステップＳ１３１でＹｅｓ）、決定部１１２は、直前区間の主軸が判定対象区間における特定部位の移動に優位であると決定する（ステップＳ１３２）。これにより、処理は終了となる。
【００８１】
一方、直前区間が存在しない場合（ステップＳ１３０でＮｏ）、又は評価値Ｅｃが評価値Ｅｂ以下でない場合（ステップＳ１３１でＮｏ）、決定部１１２は、判定対象区間の主軸が判定対象区間における特定部位の移動に優位であると決定する（ステップＳ１３３）。これにより、処理は終了となる。
【００８２】
以上のように第１実施形態では、直前区間を利用して判定対象区間のジェスチャを認識する。このため第１実施形態によれば、判定対象区間のジェスチャがノイズであるか否かを判別できるので、ジェスチャにノイズとなる動きが含まれていても正しく認識することができ、認識精度の低下を防止することができる。
【００８３】
例えば、ジェスチャの最後にノイズとなる動きが含まれている場合には、正常なジェスチャ部分が直前区間、ノイズ部分が判定対象区間となる。そして、直前区間を利用することにより、判定対象区間のジェスチャをノイズと判別でき、直前区間の正常なジェスチャの移動方向に置き換えるので、ジェスチャにノイズとなる動きが含まれていても正しく認識することができる。
【００８４】
（第２実施形態）
第２実施形態では、直後区間を利用して判定対象区間のジェスチャを認識する例について説明する。なお以下では、第１実施形態との相違点の説明を主に行い、第１実施形態と同様の機能を有する構成要素については、第１実施形態と同様の名称・符号を付し、その説明を省略する。
【００８５】
図１１は、第２実施形態の認識装置２００の一例を示す構成図である。第２実施形態の認識装置２００では、区間設定部２１０、決定部２１２、及び提示部２１４が第１実施形態と相違する。
【００８６】
区間設定部２１０は、主軸転換点が存在する場合には最新の主軸転換点、主軸転換点が存在しない場合には最初に取得された位置である開始点を始点とし、当該始点を設定してから所定時間が経過するまでに当該始点の後に主軸転換点が存在する場合には当該始点の直後の主軸転換点、所定時間が経過するまでに当該始点の後に主軸転換点が存在しない場合には所定時間が経過するまでに取得された最新の位置である最新点を終点とする判定対象区間を設定する。また区間設定部２１０は、当該判定対象区間の終点を始点とし、当該始点の後に方向転換点が存在する場合には当該始点の直後の方向転換点、当該始点の後に最新点が存在する場合には最新点を終点とする直後区間を設定する。直後区間に設定された部分のジェスチャが、判定対象区間に設定された部分のジェスチャがノイズであるか否かの判定に用いられる。
【００８７】
本実施形態においても、区間設定部２１０は、判定対象区間及び直後区間をリアルタイムで設定するものとするが、これに限定されるものではなく、バッチ処理、即ち、ジェスチャ終了後に設定するようにすることもできる。ここでも、説明の便宜上、判定対象区間及び直後区間をバッチ処理で設定する場合を最初に説明し、その後、リアルタイムで設定する場合について説明する。
【００８８】
図５を参照しながら、判定対象区間及び直後区間をバッチ処理で設定する場合について説明する。判定対象区間及び直後区間をバッチ処理で設定する場合、区間設定部２１０は、Ｑｓ〜Ｑｅが取得された後に、順番に判定対象区間及び直後区間を設定し、設定した判定対象区間及び直後区間の情報を決定部２１２に順次出力する。設定した判定対象区間及び直後区間の情報は、判定対象区間及び直後区間を区切る両端の位置でもよいし、当該位置を取得した時刻でもよいし、当該位置のＩＤであってもよい。
【００８９】
具体的には、区間設定部２１０は、まず、Ｑｓを始点とし、Ｑ１を終点とする区間Ｑｓ〜Ｑ１を判定対象区間に設定するとともに、Ｑ１を始点とし、Ｋ１を終点とする区間Ｑ１〜Ｋ１を直後区間に設定し、設定した判定対象区間及び直後区間の情報を決定部２１２に出力する。続いて、区間設定部２１０は、Ｑ１を始点とし、Ｑ２を終点とする区間Ｑ１〜Ｑ２を判定対象区間に設定するとともに、Ｑ２を始点とし、Ｑ３を終点とする区間Ｑ２〜Ｑ３を直後区間に設定し、設定した判定対象区間及び直後区間の情報を決定部２１２に出力する。以下同様に、区間設定部２１０は、区間Ｑ２〜Ｑ３、区間Ｑ３〜Ｑ４を、それぞれ判定対象区間、直後区間に設定して、決定部２１２に出力し、区間Ｑ３〜Ｑ４、区間Ｑ４〜Ｑ５を、それぞれ判定対象区間、直後区間に設定して、決定部２１２に出力する。最後に、区間設定部２１０は、区間Ｑ４〜Ｑ５を判定対象区間に設定して、決定部２１２に出力する。この場合、区間設定部２１０は、直後区間を設定しない。
【００９０】
つまり、判定対象区間及び直後区間をバッチ処理で設定する場合、区間設定部２１０は、開始点又は主軸転換点を順次始点とし、始点の後に主軸転換点が存在する場合には直後の主軸転換点、始点の後に主軸転換点が存在しない場合には終了点を終点とする判定対象区間を設定する。また区間設定部２１０は、当該判定対象区間の終点を始点とし、当該始点の後に方向転換点が存在する場合には当該始点の直後の方向転換点、当該始点の後に方向転換点が存在しない場合には終了点を終点とする直後区間を設定する。
【００９１】
次に、判定対象区間及び直後区間をリアルタイムで設定する場合について説明する。判定対象区間及び直後区間をリアルタイムで設定する場合、区間設定部２１０は、判定対象区間の設定を開始してから判定対象区間及び直後区間を確定するまでに、最大所定時間を要する。つまり、区間設定部２１０は、時刻Ｔｉの時点で判定対象区間の設定を開始してから、所定時間Ｔ０ａ経過するまで、即ち時刻Ｔｉ＋Ｔ０ａ時点までに判定対象区間及び直後区間を確定する。このため本実施形態では、判定対象区間及び直後区間をリアルタイムで設定するが、厳密には、判定対象区間及び直後区間を設定するまでに所定時間以内の遅延が生じ、後述の決定部２１２による決定も所定時間以内の遅延が生じることになる。
【００９２】
なお本実施形態では、所定時間Ｔ０ａを０．４秒に設定しているが、これに限定されるものではない。また、区間設定部２１０は、判定対象区間での特定部位の移動速度に応じて所定時間Ｔ０ａを変更してもよく、例えば、移動速度が速くなるほど所定時間Ｔ０ａを短くするようにしてもよい。
【００９３】
図４を参照しながら、具体的に説明する。まず、取得部１０２により最新の位置である最新点（開始点）Ｐ１が取得されても、区間設定部２１０は、判定対象区間及び直後区間を設定しない。
【００９４】
続いて、取得部１０２により最新点Ｐ２が取得されると（この時点を時刻Ｔ２とする）、区間設定部２１０は、開始点Ｐ１を始点とし、時刻Ｔ２の時点では最新点Ｐ２を終点とする区間Ｐ１〜Ｐ２を判定対象区間に設定する。なお、この時点では、判定対象区間の範囲は確定しておらず、時刻Ｔ２の時点から所定時間Ｔ０ａが経過するまでに最新点が取得されれば、判定対象区間の終点が更新される場合もある。但し、図４に示す例では、Ｐ２が始点直後の主軸転換点となるため、判定対象区間の終点は、Ｐ２のままとなる。
【００９５】
例えば、時刻Ｔ２から所定時間Ｔ０ａが経過するまでに最新点Ｐ３が取得された場合、Ｐ２が始点直後の主軸転換点となるため、区間設定部２１０は、主軸転換点Ｐ２を終点とする区間Ｐ１〜Ｐ２を判定対象区間に確定する。この場合、区間設定部２１０は、主軸転換点Ｐ２を始点とし、最新点Ｐ３を終点とする区間Ｐ２〜Ｐ３を直後区間に設定し、設定（確定）した判定対象区間及び直後区間の情報を、判定対象区間の設定開始時刻がＴ２のときの情報として決定部２１２に出力する。
【００９６】
また例えば、時刻Ｔ２から所定時間Ｔ０ａが経過するまでに最新点Ｐ３〜Ｐ６までが取得された場合も、Ｐ２が始点直後の主軸転換点となるため、区間設定部２１０は、主軸転換点Ｐ２を終点とする区間Ｐ１〜Ｐ２を判定対象区間に確定する。この場合、区間設定部２１０は、主軸転換点Ｐ２を始点とし、当該始点の直後の方向転換点である方向転換点Ｐ５を終点とする区間Ｐ２〜Ｐ５を直後区間に設定し、設定（確定）した判定対象区間及び直後区間の情報を、判定対象区間の設定開始時刻がＴ２のときの情報として決定部２１２に出力する。
【００９７】
また例えば、時刻Ｔ２から所定時間Ｔ０ａが経過するまでに最新点Ｐ３が取得されなかった場合、Ｐ２が最新点となるため、区間設定部２１０は、最新点Ｐ２を終点とする区間Ｐ１〜Ｐ２を判定対象区間に確定する。この場合、区間設定部２１０は、直後区間を設定せず、確定した判定対象区間の情報を、判定対象区間の設定開始時刻がＴ２のときの情報として決定部２１２に出力する。
【００９８】
続いて、取得部１０２により最新点Ｐ３が取得されると（この時点を時刻Ｔ３とする）、区間設定部２１０は、最新の主軸転換点Ｐ２を始点とし、時刻Ｔ３の時点では最新点Ｐ３を終点とする区間Ｐ２〜Ｐ３を判定対象区間に設定する。ここで、時刻Ｔ３から所定時間Ｔ０ａが経過するまでに最新点Ｐ４が取得された場合、主軸転換点Ｐ２の後に主軸転換点が存在しないため、区間設定部２１０は、終点を最新点Ｐ４に更新し、区間Ｐ２〜Ｐ４を判定対象区間に更新する。この場合、区間設定部２１０は、直後区間を設定せず、更新した判定対象区間の情報を、判定対象区間の設定開始時刻がＴ３のときの情報として決定部２１２に出力する。
【００９９】
以下、取得部１０２により最新点Ｐ６が取得されるまで、同様な処理が行われる。
【０１００】
なお、区間設定部２１０は、判定対象区間及び直後区間を確定してから、判定対象区間及び直後区間の情報を決定部２１２に出力するのではなく、判定対象区間の設定を開始してから判定対象区間及び直後区間を確定するまでの間、判定対象区間及び直後区間の情報を逐次決定部２１２に出力してもよい。
【０１０１】
決定部２１２は、判定対象区間の評価値と直後区間の評価値とを算出し、算出した判定対象区間の評価値と直後区間の評価値とを用いて、第１軸〜第２軸のいずれの軸が判定対象区間における特定部位の移動に優位であるかを決定する。具体的には、決定部２１２は、判定対象区間の評価値が直後区間の評価値を超えている場合、又は直後区間が存在しない場合、判定対象区間の主軸が判定対象区間における特定部位の移動に優位であると決定する。また決定部２１２は、判定対象区間の評価値が直後区間の評価値以下の場合、直後区間の主軸が判定対象区間における特定部位の移動に優位であると決定する。
【０１０２】
例えば、判定希望時刻Ｔの時点での特定部位の移動に優位な軸を決定する場合、区間設定部２１０は、判定希望時刻Ｔの時点で判定対象区間の設定を開始し、判定希望時刻Ｔから所定時間Ｔ０ａが経過するまでに判定対象区間を確定する。そして決定部２１２は、この時点（判定希望時刻Ｔから所定時間Ｔ０ａが経過した時点）で、判定対象区間における時刻Ｔの時点での特定部位の移動に優位な軸を確定する。なお、判定希望時刻は、区間設定部２１０で用いられた判定対象区間の設定開始時刻となる。
【０１０３】
図１２は、第２実施形態の特定部位のジェスチャの他の例を示す図である。図１２に示す例では、特定部位が上方向への軌跡を描いたあと（軌跡１６１）、右方向への軌跡を描いている（軌跡１６２、１６３）。なお、図１２に示す例では、評価値として移動距離を用いるものとする。
【０１０４】
軌跡１６１の時点（以下、時刻Ｔ１６１と称する）では、上方向への軌跡が判定対象区間となる。ここで、軌跡は、所定時間Ｔ０ａが経過するまでに軌跡１６２を経由して軌跡１６３になったとする。この場合、判定希望時刻（判定対象区間の設定開始時刻）が時刻Ｔ１６１のときの判定対象区間及び直後区間の情報は、軌跡１６３の時点、即ち、時刻Ｔ１６１＋所定時間Ｔ０ａの時点では、上方向への軌跡が判定対象区間のままとなり、右方向への軌跡が直後区間となる。決定部２１２は、右方向への軌跡の移動距離が上方向への軌跡の移動距離よりも長いため、右方向への軌跡の評価値が上方向への軌跡の評価値よりも高いと判定し、直後区間の主軸である水平方向の軸が判定対象区間において特定部位の移動に優位であると決定する。これにより、垂直方向へのジェスチャはノイズとみなされ、ジェスチャ全体としては水平方向が優位と決定されることになる。
【０１０５】
なお決定部２１２は、区間設定部２１０から判定対象区間及び直後区間の情報が逐次出力される場合には、判定対象区間における特定部位の移動に優位な軸を、所定時間以内、即ち、判定対象区間及び直後区間が確定するまで逐次判定するようにしてもよい。この際、決定部２１２は、所定時間の進捗率を算出してもよい。進捗率は、判定対象区間の設定を開始する時点である時刻Ｔｉを０、所定時間Ｔ０ａが経過する時点である時刻Ｔｉ＋Ｔ０ａを１、時刻Ｔｉ〜時刻Ｔｉ＋Ｔ０ａの期間を線形に補間した値とすることができる。この場合、時刻ｔ（Ｔｉ≦ｔ≦Ｔｉ＋Ｔ０ａ）の進捗率は、（ｔ−Ｔｉ）／Ｔ０ａとなる。
【０１０６】
図１３は、第２実施形態の決定部２１２により判定された進捗率毎の優位な軸の一例を示す図である。図１３に示す例では、判定希望時刻が時刻Ｔｉのときの判定対象区間における特定部位の移動に優位な軸は、時刻Ｔｉ〜時刻Ｔｉ＋２０（進捗率０〜０．３０）の時点では、第１軸となっており、時刻Ｔｉ＋３０〜時刻Ｔｉ＋７０（進捗率０．４５〜１．００）の時点では、第２軸となっている。この結果、判定希望時刻が時刻Ｔｉのときの判定対象区間における特定部位の移動に優位な軸は、第２軸に確定している。
【０１０７】
なお、進捗率は、取得部１０２により取得されたそれぞれの位置の取得時刻からの進捗率としてもよい。また決定部２１２は、特定の判定対象区間における特定部位の移動に優位な軸を決定する場合のみ、優位な軸を逐次判定するとともに所定時間の進捗率を算出するようにしてもよい。ここで、特定の判定対象区間とは、例えば、優位な軸が確定した直後に優位な軸の決定を開始する判定対象区間や移動ベクトルが閾値以上の速度や移動距離となる判定対象区間などが該当する。
【０１０８】
図１４は、第２実施形態の決定部２１２により判定された進捗率毎の優位な軸の他の例を示す図である。図１４は、優位な軸が確定した直後に優位な軸の決定を開始する判定対象区間において特定部位の移動に優位な軸を決定する場合のみ、優位な軸を逐次判定するとともに所定時間の進捗率を算出する例を示している。
【０１０９】
時刻Ｔｉ〜時刻Ｔｉ＋７０（進捗率０〜１．００）については、図１３と同様である。時刻Ｔｉの時点において優位な軸の決定を開始した判定対象区間の優位な軸は、時刻Ｔｉ＋７０の時点で第２軸に確定する。このため、決定部２１２は、時刻Ｔｉ＋８０の時点において優位な軸の決定を開始する判定対象区間については、優位な軸を逐次判定するとともに所定時間の進捗率を算出する。
【０１１０】
時刻Ｔｉ＋８０〜時刻Ｔｉ＋１５０（進捗率０〜１．００）の時点での判定対象区間における特定部位の移動に優位な軸は、第２軸となっている。この結果、時刻Ｔｉ＋８０の時点において優位な軸の決定を開始した判定対象区間における特定部位の移動に優位な軸は、第２軸に確定する。
【０１１１】
時刻Ｔｉ＋８０の時点において優位な軸の決定を開始した判定対象区間の優位な軸は、時刻Ｔｉ＋１５０の時点で第２軸に確定するため、決定部２１２は、時刻Ｔｉ＋１６０の時点において優位な軸の決定を開始する判定対象区間についても、優位な軸を逐次判定するとともに所定時間の進捗率を算出する。
【０１１２】
提示部２１４は、決定部２１２により判定対象区間における特定部位の移動に優位な軸が所定時間以内で逐次判定される場合には、所定時間以内、即ち、判定対象区間及び直後区間が確定するまで決定結果に応じた補助提示を更に行うようにしてもよい。第２実施形態では、時刻Ｔｉの時点で判定対象区間の設定を開始する場合、時刻Ｔｉ＋Ｔ０ａの時点までに、当該判定対象区間における特定部位の移動に優位な軸が確定する。このため、提示部２１４は、時刻Ｔｉ〜Ｔｉ＋Ｔ０ａの間の決定部２１２の判定結果に応じた補助提示を行う。なお、特定部位の移動に優位な軸が確定する時刻Ｔｉ＋Ｔ０ａ以後の提示は、第１実施形態と同様である。
【０１１３】
図１５は、第２実施形態の提示部２１４による補助提示の一例を示す図である。例えば、図１３に示す例において、時刻Ｔｉ＋３０の時点において、時刻Ｔｉの時点で設定を開始した判定対象区間における特定部位の移動に優位な軸は、第１軸から第２軸に切り替わっている。提示部２１４は、この時点で、図７に示す例において、左側にオブジェクト１８１、中央にオブジェクト１８２、右側にオブジェクト１８３が表示されている画面１８０を、図１５に示すように、オブジェクト１８１〜１８３を水平方向（左方向）に傾けた画面２８０としてもよい。そして、時刻Ｔｉ＋７０の時点において、時刻Ｔｉの時点で設定を開始した判定対象区間における特定部位の移動に優位な軸が第２軸に確定すると、提示部２１４は、画面２８０を、図７に示す例において、左側にオブジェクト１８２、中央にオブジェクト１８３、右側にオブジェクト１８４が表示されている画面１８０とする。これにより、ユーザにどちらの軸が優位と決定されつつあるかを知らせることができる。
【０１１４】
図１６及び図１７は、第２実施形態の提示部２１４による補助提示の他の例を示す図である。提示部２１４は、図７に示す例において、左側にオブジェクト１８１、中央にオブジェクト１８２、右側にオブジェクト１８３が表示されている画面１８０を、図１５に示す画面２８０ではなく、オブジェクト１８１〜１８３を水平方向（左方向）に回転させた画面２８１や水平方向（左方向）への矢印２８３を更に表示させた画面２８２としてもよい。
【０１１５】
図１８は、第２実施形態の認識装置２００で行われる処理の手順の流れの一例を示すフローチャートである。
【０１１６】
ステップＳ２０１〜Ｓ２０４までの処理は、図８に示すフローチャートのステップＳ１０１〜Ｓ１０４までの処理と同様である。
【０１１７】
続いて、区間設定部２１０は、主軸転換点が存在する場合には最新の主軸転換点、主軸転換点が存在しない場合には最初に取得された位置である開始点を始点とし、当該始点を設定してから所定時間が経過するまでに当該始点の後に主軸転換点が存在する場合には当該始点の直後の主軸転換点、所定時間が経過するまでに当該始点の後に主軸転換点が存在しない場合には所定時間が経過するまでに取得された最新の位置である最新点を終点とする判定対象区間を設定する。また区間設定部２１０は、当該判定対象区間の終点を始点とし、当該始点の後に方向転換点が存在する場合には当該始点の直後の方向転換点、当該始点の後に最新点が存在する場合には最新点を終点とする直後区間を設定する（ステップＳ２０５）。
【０１１８】
続いて、決定部２１２は、判定対象区間の評価値と直後区間の評価値とを算出し、算出した判定対象区間の評価値と直後区間の評価値とを用いて、第１軸〜第２軸のいずれの軸が判定対象区間における特定部位の移動に優位であるかを決定する（ステップＳ２０６）。
【０１１９】
そして、取得部１０２により被写体の特定部位の最新の位置が取得される毎に（ステップＳ２０１）、ステップＳ２０２〜Ｓ２０６の処理が行われ、提示部２１４は、決定部２１２の決定結果に応じた提示を行う。
【０１２０】
図１９は、第２実施形態の認識装置２００で決定部２１２により行われる処理の手順の流れの一例を示すフローチャートである。
【０１２１】
まず、決定部２１２は、直後区間が存在するか否かを確認する（ステップＳ２３０）。
【０１２２】
直後区間が存在する場合（ステップＳ２３０でＹｅｓ）、決定部２１２は、判定対象区間の評価値Ｅｃと直後区間の評価値Ｅａとを算出し、評価値Ｅｃが評価値Ｅａ以下であるか否かを判定する（ステップＳ２３１）。
【０１２３】
評価値Ｅｃが評価値Ｅａ以下である場合（ステップＳ２３１でＹｅｓ）、決定部２１２は、直後区間の主軸が判定対象区間における特定部位の移動に優位であると決定する（ステップＳ２３２）。これにより、処理は終了となる。
【０１２４】
一方、直後区間が存在しない場合（ステップＳ２３０でＮｏ）、又は評価値Ｅｃが評価値Ｅａ以下でない場合（ステップＳ２３１でＮｏ）、決定部２１２は、判定対象区間の主軸が判定対象区間における特定部位の移動に優位であると決定する（ステップＳ２３３）。これにより、処理は終了となる。
【０１２５】
なお認識装置２００では、判定対象区間の設定が開始されてから所定時間が経過する前に判定対象区間及び直後区間が確定し、所定時間が経過する前に判定対象区間における特定部位の移動に優位な軸が確定する場合がある。例えば、判定対象区間の設定が開始されてから所定時間が経過する前に、判定対象区間の始点の後に主軸転換点が存在し、主軸転換点の後に方向転換点が存在すれば、所定時間が経過する前に判定対象区間及び直後区間が確定する。また、判定対象区間の設定が開始されてから所定時間が経過する前に、直後区間の評価値が判定対象区間の評価値を超えてしまえば、判定対象区間における特定部位の移動に優位な軸は、直後区間の主軸に確定するため、所定時間の経過を待つ必要がない。このため、決定部２１２は、これらを考慮して処理を行ってもよい。
【０１２６】
図２０は、第２実施形態の認識装置２００で決定部２１２により行われる処理の手順の流れの他の例を示すフローチャートである。
【０１２７】
まず、決定部２１２は、現在の時刻Ｔと判定対象区間の設定を開始した時刻である判定希望時刻Ｔｃとの差を計算し（ステップＳ２４１）、判定希望時刻Ｔｃから所定時間Ｔ０ａが経過したか否かを確認する（ステップＳ２４２）。
【０１２８】
判定希望時刻Ｔｃから所定時間Ｔ０ａが経過していない場合（ステップＳ２４２でＮｏ）、決定部２１２は、直後区間が存在しているか否かを確認する（ステップＳ２４３）。直後区間が存在していない場合は（ステップＳ２４３でＮｏ）、ステップＳ２４１に戻る。
【０１２９】
直後区間が存在している場合（ステップＳ２４３でＹｅｓ）、決定部２１２は、判定対象区間の評価値Ｅｃと直後区間の評価値Ｅａとを算出し、評価値Ｅａが評価値Ｅｃを超えているか否かを判定する（ステップＳ２４４）。
【０１３０】
評価値Ｅａが評価値Ｅｃを越えている場合（ステップＳ２４４でＹｅｓ）、決定部２１２は、直後区間の主軸が判定対象区間における特定部位の移動に優位であると決定する（ステップＳ２４７）。これにより、処理は終了となる。
【０１３１】
一方、評価値Ｅａが評価値Ｅｃを越えていない場合（ステップＳ２４４でＮｏ）、決定部２１２は、直後区間が確定しているか否かを確認する（ステップＳ２４５）。具体的には、決定部２１２は、直後区間の終点が方向転換点であるか否かを確認する。
【０１３２】
ここで、直後区間が確定している場合（ステップＳ２４５でＹｅｓ）、即ち、直後区間の終点が方向転換点である場合、評価値Ｅａが評価値Ｅｃを越えないため、決定部２１２は、判定対象区間の主軸が判定対象区間における特定部位の移動に優位であると決定する（ステップＳ２４６）。これにより、処理は終了となる。
【０１３３】
一方、直後区間が確定していない場合（ステップＳ２４５でＮｏ）、即ち、直後区間の終点が方向転換点でない場合は、ステップＳ２４１に戻る。
【０１３４】
この結果、判定希望時刻Ｔｃから所定時間Ｔ０ａが経過している場合（ステップＳ２４２でＹｅｓ）、直後区間が存在しないか、評価値Ｅａが評価値Ｅｃを越えないかのいずれかとなるため、決定部２１２は、判定対象区間の主軸が判定対象区間における特定部位の移動に優位であると決定する（ステップＳ２４６）。これにより、処理は終了となる。
【０１３５】
なお、直後区間が存在している場合は（ステップＳ２４３でＹｅｓ）、判定対象区間が確定していることになるため、以降は、算出済みの評価値Ｅｃを利用すればよく、再度評価値Ｅｃを算出する必要はない。
【０１３６】
以上のように第２実施形態では、直後区間を利用して判定対象区間のジェスチャを認識する。このため第２実施形態によれば、判定対象区間のジェスチャがノイズであるか否かを判別できるので、ジェスチャにノイズとなる動きが含まれていても正しく認識することができ、認識精度の低下を防止することができる。
【０１３７】
例えば、ジェスチャの最初にノイズとなる動きが含まれている場合には、ノイズ部分が判定対象区間、正常なジェスチャ部分が直後区間となる。そして、直後区間を利用することにより、判定対象区間のジェスチャをノイズと判別でき、直後区間の正常なジェスチャの移動方向に置き換えるので、ジェスチャにノイズとなる動きが含まれていても正しく認識することができる。
【０１３８】
（第３実施形態）
第３実施形態では、直前区間及び直後区間を利用して判定対象区間のジェスチャを認識し、判定対象区間における特定部位の移動に優位な軸のいずれの方向が指示されているかを認識する例について説明する。なお以下では、第１実施形態との相違点の説明を主に行い、第１実施形態と同様の機能を有する構成要素については、第１実施形態と同様の名称・符号を付し、その説明を省略する。
【０１３９】
図２１は、第３実施形態の認識装置３００の一例を示す構成図である。第３実施形態の認識装置３００では、区間設定部３１０、決定部３１２、及び提示部３１４が第１実施形態と相違し、更に、第１軸判定部３１６、第２軸判定部３１８、及び判定結果選定部３２０を更に備える。
【０１４０】
区間設定部３１０は、第１実施形態の区間設定部１１０と第２実施形態の区間設定部２１０とを合わせた機能を有する。
【０１４１】
つまり、区間設定部３１０は、主軸転換点が存在する場合には最新の主軸転換点、主軸転換点が存在しない場合には最初に取得された位置である開始点を始点とし、取得された最新の位置である最新点を終点とする判定対象区間を設定する。また区間設定部３１０は、当該判定対象区間の始点を終点とし、当該終点の前に方向転換点が存在する場合には当該終点の直前の方向転換点、当該終点の前に方向転換点が存在しない場合には開始点を始点とする直前区間を設定する。なお、この時点で、直前区間は確定するが、判定対象区間はまだ確定しない。
【０１４２】
そして区間設定部３１０は、判定対象区間を設定してから所定時間が経過するまでに判定対象区間の始点の後に主軸転換点が存在する場合には当該始点の直後の主軸転換点、所定時間が経過するまでに当該始点の後に主軸転換点が存在しない場合には所定時間経過後の最新点を判定対象区間の終点に更新する。また区間設定部３１０は、更新後の判定対象区間の終点を始点とし、当該始点の後に方向転換点が存在する場合には当該始点の直後の方向転換点、当該始点の後に最新点が存在する場合には所定時間経過後の最新点を終点とする直後区間を設定する。
【０１４３】
決定部３１２は、第１実施形態の決定部１１２と第２実施形態の決定部２１２とを合わせた機能を有する。つまり、決定部３１２は、判定対象区間の評価値、直前区間の評価値、及び直後区間の評価値を算出し、算出した判定対象区間の評価値、直前区間の評価値、及び直後区間の評価値を用いて、第１軸〜第２軸のいずれの軸が判定対象区間における特定部位の移動に優位であるかを決定する。
【０１４４】
具体的には、決定部３１２は、判定対象区間の評価値が直前区間の評価値を超えている場合、又は直前区間が存在しない場合、かつ判定対象区間の評価値が直後区間の評価値を超えている場合、又は直後区間が存在しない場合、判定対象区間の主軸が判定対象区間における特定部位の移動に優位であると決定する。
【０１４５】
また決定部３１２は、判定対象区間の評価値が直前区間の評価値以下の場合、直前区間の主軸が判定対象区間における特定部位の移動に優位であると決定する。これにより、所定時間の経過を待たずに、判定対象区間における特定部位の移動に優位な軸を直前区間の主軸に決定できる。
【０１４６】
また決定部３１２は、判定対象区間の評価値が直後区間の評価値以下の場合、直後区間の主軸が判定対象区間における特定部位の移動に優位であると決定する。
【０１４７】
第１軸判定部３１６、第２軸判定部３１８は、それぞれ、第１軸、第２軸に対し、算出部１０４により算出される移動ベクトルを用いて、いずれの方向が優位であるか否かを判定する。これにより、第１軸判定部３１６は、第１軸のいずれの方向が指示されているかを判定し、第２軸判定部３１８は、第２軸のいずれの方向が指示されているかを判定する。例えば、第１軸が垂直方向の軸であれば、第１軸判定部３１６は、上、下のいずれの方向が指示されているかを判定し、第２軸が水平方向の軸であれば、第２軸判定部３１８は、右、左のいずれの方向が指示されているかを判定する。なお以下では、軸のいずれかの方向を指示することを「送り動作」と称する。送り動作とは、ユーザが手などの特定部位を振る動作であり、振った方向を指示するものとする。
【０１４８】
第２軸判定部３１８は、第２軸のいずれの方向に送り動作が行われたかを、以下で説明する判定方法を用いて判定すればよい。ここでは、第２軸判定部３１８を例に取り説明するが、第１軸判定部３１６についても同様である。
【０１４９】
第２軸判定部３１８は、算出部１０４により算出された移動ベクトルの第２軸成分の速度（移動ベクトルと第２軸との内積値）が閾値以上となった場合に、第２軸における当該移動ベクトルの方向に送り動作が行われたと判定する。
【０１５０】
ここで、移動ベクトルＲｓの始点であり、時刻Ｔｓの時点で取得部１０２により取得された位置Ｐｓの座標を（ｘｓ，ｙｓ）、移動ベクトルＲｓの終点であり、時刻Ｔｓ＋１の時点で取得部１０２により取得された位置Ｐｓ＋１の座標を（ｘｓ＋１，ｙｓ＋１）とする。この場合、移動ベクトルＲｓの第２軸成分（ｘ軸成分）は、ｘｓ＋１−ｘｓとなり、単位時間あたりの移動ベクトルＲｓの第２軸成分Ｓｓは、Ｓｓ＝（ｘｓ＋１−ｘｓ）／（Ｔｓ＋１−Ｔｓ）となる。
【０１５１】
そして、移動ベクトルＲｓの第２軸成分の速度Ｖｓは、Ｖｓ＝｜Ｓｓ｜と表現され、移動ベクトルＲｓの第２軸成分の方向は、Ｓｓの符号が正であれば正方向、Ｓｓの符号が負であれば負方向となる。このため、第２軸判定部３１８は、Ｖｓが閾値以上となった場合に、Ｓｓの符号が正であれば第２軸の正方向に送り動作が行われたと判定し、Ｓｓの符号が負であれば第２軸の負方向に送り動作が行われたと判定する。
【０１５２】
なお第２軸判定部３１８は、一度送り動作が行われたと判定すれば、移動ベクトルの第２軸成分の方向が切り替わるまで判定を中止し、この判定結果を利用すればよい。第２軸判定部３１８は、Ｓｓの符号が切り替わった場合に、移動ベクトルの第２軸成分の方向が切り替わったと判断する。ここで第２軸判定部３１８は、Ｓｓの符号が切り替わるまでに０を挟んでいてもよい。例えば、Ｓｓ−２の符号が正、Ｓｓ−１の値が０、Ｓｓの符号が負である場合、第２軸判定部３１８は、Ｓｓ−１の時点で移動ベクトルの第２軸成分の方向が切り替わったと判断せず、Ｓｓの時点で移動ベクトルの第２軸成分の方向が切り替わったと判断する。
【０１５３】
また第２軸判定部３１８は、送り動作が行われたと判定した後に、逆方向への送り動作（以下、「復帰動作」と称する）が行われたと判定しないようにするため、送り動作が行われたと判定した直後の復帰動作を無視するようにしてもよい。
【０１５４】
更に第２軸判定部３１８は、送り動作が行われたと判定する前に、逆方向への送り動作（以下、「振りかぶり動作」と称する）が行われたと判定しないようにするとともに、送り動作が行われたと判定した後に、逆方向への送り動作（以下、「復帰動作」と称する）が行われたと判定しないようにしてもよい。この場合、第２軸判定部３１８は、判定対象とする操作区間の直前区間及び直後区間を用いて、当該操作区間で送り動作が行われたか否かを判定する。なお、操作区間とは、移動ベクトルの第２軸成分の方向が切り替わる第２軸方向転換点が存在する場合には最新の第２軸方向転換点、第２軸方向転換点が存在しない場合には最初に取得された位置である開始点を始点とし、始点の後に第２軸方向転換点が存在する場合には直後の第２軸方向転換点、始点の後に第２軸方向転換点が存在しない場合には最後に取得された位置である終了点を終点とする区間である。
【０１５５】
具体的に説明すると、まず、第２軸判定部３１８は、算出部１０４により算出されたベクトルの第２軸方向転換点を設定する。なお本実施形態では、第２軸判定部３１８は、操作区間において送り動作が行われたか否かをリアルタイムで判定するものとするが、これに限定されるものではなく、バッチ処理、即ち、ジェスチャ終了後に判定するようにすることもできる。ここでは、説明の便宜上、操作区間において送り動作が行われたか否かをバッチ処理で判定する場合を説明し、リアルタイムで判定する場合については後述する。
【０１５６】
図２２は、第３実施形態の第２軸判定部３１８による第２軸方向転換点の設定例を示す図である。図２２に示す例では、Ｕｓは、取得部１０２により最初に取得された位置である開始点を示し、Ｕ１、Ｕ２は、第２軸方向転換点を示し、Ｕｅは、取得部１０２により取得された最後の位置である終了点を示す。この場合、第２軸判定部３１８は、区間Ｕｓ〜Ｕ１、区間Ｕ１〜Ｕ２、区間Ｕ２〜Ｕｅを順番に操作区間に設定し、それぞれの操作区間において送り動作が行われたか否かを判定する。
【０１５７】
具体的には、第２軸判定部３１８は、区間Ｕｓ〜Ｕ１を操作区間に設定した場合、区間Ｕ１〜Ｕ２を直後区間に設定し、操作区間の評価値と直後区間の評価値とを算出し、操作区間である区間Ｕｓ〜Ｕ１において送り動作が行われたか否かを判定する。同様に、第２軸判定部３１８は、区間Ｕ１〜Ｕ２を操作区間に設定した場合、区間Ｕｓ〜Ｕ１を直前区間、区間Ｕ２〜Ｕｅを直後区間に設定し、操作区間の評価値と直前区間の評価値と直後区間の評価値とを算出し、操作区間である区間Ｕ１〜Ｕ２において送り動作が行われたか否かを判定する。同様に、第２軸判定部３１８は、区間Ｕ２〜Ｕｅを操作区間に設定した場合、区間Ｕ１〜Ｕ２を直前区間に設定し、操作区間の評価値と直前区間の評価値とを算出し、操作区間である区間Ｕ２〜Ｕｅにおいて送り動作が行われたか否かを判定する。
【０１５８】
ここで、操作区間で送り動作が発生したと判定するための条件は、操作区間の評価値Ｅｎが閾値以上であり、かつ直前区間の評価値Ｅｍ及び直後区間の評価値Ｅｌを超えていることとする。なお、評価値については、決定部３１２が用いる評価値と同様である。但し、ここでは、移動距離は、操作区間の移動ベクトルの第１軸成分（移動ベクトルと第１軸との内積の絶対値）の和としてもよい。また移動速度は、操作区間の移動ベクトルの第１軸成分の速度のうちの最大速度としてもよいし、所定の閾値以上となる移動ベクトルの速度の平均値としてもよい。また移動加速度は、操作区間の移動ベクトルの第１軸成分の加速度のうちの最大加速度としてもよいし、所定の閾値以上となる移動ベクトルの加速度の平均値としてもよい。なお、直前区間が存在しない場合には評価値Ｅｍの値は０となり、直後区間が存在しない場合には評価値Ｅｌの値は０となる。
【０１５９】
第２軸判定部３１８は、区間Ｕｓ〜Ｕ１を操作区間に設定した場合、直前区間を設定せず、区間Ｕ１〜Ｕ２を直後区間に設定する。この場合、第２軸判定部３１８は、直前区間が存在せず、また、評価値Ｅｎが評価値Ｅｌを越えるため、操作区間が優位とし、評価値Ｅｎが閾値以上であれば、操作区間である区間Ｕｓ〜Ｕ１において送り動作が行われたと判定する。なお第２軸判定部３１８は、区間Ｕ１〜Ｕ２の操作は、区間Ｕｓ〜Ｕ１の復帰動作であると判定する。
【０１６０】
また第２軸判定部３１８は、区間Ｕ１〜Ｕ２を操作区間、区間Ｕｓ〜Ｕ１を直前区間、区間Ｕ２〜Ｕｅを直後区間に設定した場合、評価値Ｅｎが評価値Ｅｍ及び評価値Ｅｌ以下となるため、操作区間である区間Ｕ１〜Ｕ２において送り動作が行われなかったと判定する。つまり、第２軸判定部３１８は、区間Ｕ１〜Ｕ２の操作は、区間Ｕｓ〜Ｕ１の復帰動作であると判定する。
【０１６１】
また第２軸判定部３１８は、区間Ｕ２〜Ｕｅを操作区間に設定した場合、区間Ｕ１〜Ｕ２を直前区間に設定し、直後区間を設定しない。この場合、第２軸判定部３１８は、評価値Ｅｎが評価値Ｅｍを越え、また、直後区間が存在しないため、操作区間が優位とし、評価値Ｅｎが閾値以上であれば、操作区間である区間Ｕ２〜Ｕｅにおいて送り動作が行われたと判定する。なお第２軸判定部３１８は、区間Ｕ１〜Ｕ２の操作は、区間Ｕ２〜Ｕｅの振りかぶり動作であると判定する。
【０１６２】
上記のように、操作区間において送り動作が行われたか否かをバッチ処理で判定する場合について説明したが、リアルタイムで判定する場合には、直後区間の設定の関係上、操作区間において送り動作が行われたか否かの判定に所定時間の遅延が生じることになる。なお、所定時間は、例えば、０．６秒とすることができる。また、操作区間での特定部位の移動速度に応じて所定時間を変更してもよく、例えば、移動速度が速くなるほど所定時間を短くするようにしてもよい。この場合、第２軸判定部３１８は、所定時間以内で、即ち、操作区間における優位な方向が確定するまでの間、操作区間における優位な方向を逐次判定するとともに、操作区間における優位な方向が確定するまでの進捗率を算出するようにしてもよい。なお進捗率は、決定部３１２が算出する進捗率と同様に表現することができる。また第２軸判定部３１８は、操作区間で優位と判定されている方向が切り替わった場合だけ優位な方向（判定結果）を出力するようにしてもよい。ここでは、第２軸判定部３１８を例に取り説明するが、第１軸判定部３１６についても同様である。
【０１６３】
図２３は、第３実施形態の第２軸判定部３１８により判定された進捗率毎の優位な方向の一例を示す図である。時刻Ｔｉ〜時刻Ｔｉ＋１０の時点では、操作区間の評価値が、閾値未満、又は直前区間の評価値以下であるため、進捗率は算出されず、操作区間における優位な方向も判定されていない。
【０１６４】
また、時刻Ｔｉ＋２０〜時刻Ｔｉ＋８０（進捗率０〜０．９０）の時点では、操作区間が直前区間よりも優位となり、操作区間における優位な方向は、左となっている。また、時刻Ｔｉ＋９０（進捗率１．００）の時点では、操作区間が直前区間及び直後区間よりも優位となり、操作区間における優位な方向は、左に確定する。これにより、第２軸判定部３１８は、操作区間において左方向への送り動作が行われたと判定する。
【０１６５】
また、時刻Ｔｉ＋１００〜時刻Ｔｉ＋１３０の時点では、送り動作発生後も操作区間がそのまま続いている状態、若しくは操作区間の評価値が、閾値未満、又は直前区間の評価値以下であるため、進捗率は算出されず、操作区間における優位な方向も判定されていない。
【０１６６】
また、時刻Ｔｉ＋１４０〜時刻Ｔｉ＋１５０（進捗率０〜０．１５）の時点では、操作区間が直前区間よりも優位となり、操作区間における優位な方向は、右となっている。
【０１６７】
また、時刻Ｔｉ＋１６０〜Ｔｉ＋２２０（進捗率０〜０．９０）の時点では、操作区間が直前区間よりも優位となり、操作区間における優位な方向は、左となっている。また、時刻Ｔｉ＋２３０（進捗率１．００）の時点では、操作区間が直前区間及び直後区間よりも優位となり、操作区間における優位な方向は、左に確定する。これにより、第２軸判定部３１８は、操作区間において左方向への送り動作が行われたと判定する。
【０１６８】
判定結果選定部３２０は、第１軸〜第２軸の判定結果の中から、決定部３１２により決定された判定対象区間における特定部位の移動に優位な軸の判定結果を選定する。
【０１６９】
例えば、決定部３１２により決定された優位な軸が図１４に示すとおりであり、第２軸判定部３１８が時刻Ｔｉの時点で左方向の送り動作が行われたと判定（確定）し、第１軸判定部３１６が時刻Ｔｉの時点で上方向の送り動作が行われたと判定（確定）したとする。この場合、判定結果選定部３２０の選定結果は、以下のようになる。
【０１７０】
決定部３１２は、時刻Ｔｉの時点で決定を開始した判定対象区間における特定部位の移動に優位な軸を、時刻Ｔｉ＋７０の時点で第２軸に確定する。このため判定結果選定部３２０は、時刻Ｔｉ＋７０の時点で、時刻Ｔｉの時点での第２軸判定部３１８の判定結果を選定し、時刻Ｔｉの時点では第２軸において左方向の送り動作が行われたとする。
【０１７１】
なお判定結果選定部３２０は、時刻Ｔｉ〜時刻Ｔｉ＋２０の時点で、時刻Ｔｉの時点での第１軸判定部３１６の判定結果を選定し、時刻Ｔｉ＋３０〜時刻Ｔｉ＋６０の時点で、時刻Ｔｉの時点での第２軸判定部３１８の判定結果を選定するようにしてもよい。つまり、判定結果選定部３２０は、時刻Ｔｉ〜時刻Ｔｉ＋２０の時点では、時刻Ｔｉの時点での送り動作の候補を第１軸における上方向の送り動作とし、時刻Ｔｉ＋３０〜時刻Ｔｉ＋６０の時点では、時刻Ｔｉの時点での送り動作の候補を左方向の送り動作としてもよい。また、送り動作の候補は、送り動作の方向及び進捗率としてもよい。送り動作の方向は、該当時刻において決定部３１２により優位な軸と決定されている軸における送り動作の方向とすればよく、進捗率は、決定部３１２の進捗率とすればよい。
【０１７２】
図２４は、第３実施形態の判定結果選定部３２０により選定された進捗率毎の送り動作の候補の一例を示す図である。時刻Ｔｉ〜時刻Ｔｉ＋２０（進捗率０〜０．３０）の時点では、時刻Ｔｉの時点での送り動作の候補は左方向の送り動作となっている。また、時刻Ｔｉ＋３０〜時刻Ｔｉ＋６０（進捗率０．４５〜０．９０）の時点では、時刻Ｔｉの時点での送り動作の候補は上方向の送り動作となっている。そして、時刻Ｔｉ＋７０（進捗率１．００）の時点では、時刻Ｔｉの時点での送り動作は上方向の送り動作に確定している。
【０１７３】
なお、第１軸判定部３１６及び第２軸判定部３１８が操作区間における優位な方向を、進捗率を算出しながら逐次判定する場合には、判定結果選定部３２０は、第１軸〜第２軸の判定結果の中から、決定部３１２により決定された判定対象区間における特定部位の移動に優位な軸の判定結果及びその進捗率を選定するようにしてもよい。
【０１７４】
ここでは、判定結果選定部３２０が、決定部３１２により決定された判定対象区間における特定部位の移動に優位な軸の判定結果として第２軸の判定結果及びその進捗率を選定する場合を例に取り説明するが、判定結果選定部３２０が、第１軸の判定結果及びその進捗率を選定する場合についても同様である。
【０１７５】
この場合、第２軸判定部３１８が進捗率を算出しだすと、決定部３１２も進捗率を算出しだすようにする。つまり、第２軸判定部３１８が時刻Ｔｉの時点で進捗率を算出しだすと、決定部３１２も時刻Ｔｉの時点で進捗率を算出しだし、しばらくの間進捗率の算出が継続される。
【０１７６】
ここでは、説明を簡略化するため、決定部３１２が算出する進捗率が０．００〜０．９９の時点で決定部３１２が判定対象区間における特定部位の移動に優位な軸を第２軸に決定している場合には、決定部３１２は、第２軸が優位な軸の候補である旨を出力するものとする。また決定部３１２が算出する進捗率が１．００の時点で決定部３１２が判定対象区間における特定部位の移動に優位な軸を第２軸に決定している場合には、決定部３１２は、第２軸が優位な軸に確定した旨を出力するものとする。また、上記以外の場合、即ち、決定部３１２が算出する進捗率が０．００〜１．００の時点で決定部３１２が判定対象区間における特定部位の移動に優位な軸を第１軸に決定している場合には、決定部３１２は、出力を行わないものとする。
【０１７７】
この場合、判定結果選定部３２０は、第２軸判定部３１８が算出する進捗率が所定の進捗率（例えば、０．００〜０．２５）の時点で、決定部３１２により第２軸が優位な軸の候補である旨、又は第２軸が優位な軸に確定した旨が出力されると、この時点を開始時刻として、第２軸判定部３１８の判定結果及びその進捗率の選定を開始する。なお、これ以外の場合、判定結果選定部３２０は、第２軸判定部３１８の判定結果及びその進捗率を選定しない。
【０１７８】
そして判定結果選定部３２０は、選定を開始した開始時刻から第２軸判定部３１８により算出される進捗率が１．００となる時刻までに、決定部３１２が出力を行わなくなった場合、決定部３１２が出力を行わなくなった時点で選定を中止する。
【０１７９】
また、選定を開始した開始時刻から第２軸判定部３１８により算出される進捗率が１．００となる時刻までに、決定部３１２が出力を行わなくなることなく第２軸が優位な軸に確定した旨が出力されたとする。この場合、判定結果選定部３２０は、その後の第２軸判定部３１８の判定結果に関わらず第２軸判定部３１８により算出される進捗率を選定し続け、当該進捗率が１．００となった時点で、第２軸判定部３１８の判定結果が示す方向への送り動作が発生したことを確定する。
【０１８０】
また、選定を開始した開始時刻から第２軸判定部３１８により算出される進捗率が１．００となる時刻になっても、決定部３１２により第２軸が優位な軸の候補である旨が出力されているとする。この場合、判定結果選定部３２０は、決定部３１２により第２軸が優位な軸に確定した旨が出力されるまで、第２軸判定部３１８により算出される進捗率を０．９９にして選定し続ける。そして判定結果選定部３２０は、決定部３１２により第２軸が優位な軸に確定した旨が出力されると、当該進捗率を１．００とし、第２軸判定部３１８の判定結果が示す方向への送り動作が発生したことを確定する。但し、判定結果選定部３２０は、第２軸判定部３１８により算出される進捗率を０．９９にしている間に、決定部３１２が出力を行わなくなった場合、決定部３１２が出力を行わなくなった時点で選定を中止する。
【０１８１】
提示部３１４は、判定結果選定部３２０による判定結果の選定結果に応じた提示を行う。なお、判定結果選定部３２０が、第１軸〜第２軸の判定結果の中から、決定部３１２により決定された判定対象区間における特定部位の移動に優位な軸の判定結果及びその進捗率を選定する場合には、提示部３１４は、選定結果が確定するまで、即ち選定が継続している間は、第２実施形態で説明したような補助提示を行うようにしてもよい。なお、選定結果が確定した後の提示は、第１実施形態と同様である。
【０１８２】
図２５は、第３実施形態の認識装置３００で行われる処理の手順の流れの一例を示すフローチャートである。
【０１８３】
ステップＳ３０１〜Ｓ３０４までの処理は、図８に示すフローチャートのステップＳ１０１〜Ｓ１０４までの処理と同様である。
【０１８４】
続いて、区間設定部３１０は、主軸転換点が存在する場合には最新の主軸転換点、主軸転換点が存在しない場合には最初に取得された位置である開始点を始点とし、取得された最新の位置である最新点を終点とする判定対象区間を設定する。また区間設定部３１０は、当該判定対象区間の始点を終点とし、当該終点の前に方向転換点が存在する場合には当該終点の直前の方向転換点、当該終点の前に方向転換点が存在しない場合には開始点を始点とする直前区間を設定する。そして区間設定部３１０は、判定対象区間を設定してから所定時間が経過するまでに判定対象区間の始点の後に主軸転換点が存在する場合には当該始点の直後の主軸転換点、所定時間が経過するまでに当該始点の後に主軸転換点が存在しない場合には所定時間経過後の最新点を判定対象区間の終点に更新する。また区間設定部３１０は、更新後の判定対象区間の終点を始点とし、当該始点の後に方向転換点が存在する場合には当該始点の直後の方向転換点、当該始点の後に最新点が存在する場合には所定時間経過後の最新点を終点とする直後区間を設定する（ステップＳ３０５）。
【０１８５】
続いて、決定部３１２は、判定対象区間の評価値、直前区間の評価値、及び直後区間の評価値を算出し、算出した判定対象区間の評価値、直前区間の評価値、及び直後区間の評価値を用いて、第１軸〜第２軸のいずれの軸が判定対象区間における特定部位の移動に優位であるかを決定する（ステップＳ３０６）。
【０１８６】
また、第１軸判定部３１６は、算出部１０４により算出される移動ベクトルを用いて、第１軸におけるいずれの方向が優位であるかを判定する（ステップＳ３０７）。
【０１８７】
また、第２軸判定部３１８は、算出部１０４により算出される移動ベクトルを用いて、第２軸におけるいずれの方向が優位であるかを判定する（ステップＳ３０８）。
【０１８８】
続いて、判定結果選定部３２０は、第１軸〜第２軸の判定結果の中から、決定部３１２により決定された判定対象区間における特定部位の移動に優位な軸の判定結果を選定する（ステップＳ３１０）。
【０１８９】
そして、取得部１０２により被写体の特定部位の最新の位置が取得される毎に（ステップＳ３０１）、ステップＳ３０２〜Ｓ３１０の処理が行われ、提示部３１４は、判定結果選定部３２０の選定結果に応じた提示を行う。
【０１９０】
次に、決定部３１２の処理の手順の流れの一例について説明する。決定部３１２の処理の手順の流れは、図１０に示すフローチャートと図２０に示すフローチャートとを合成したものとなる。具体的には、図１０に示すフローチャートにおいて、評価値Ｅｃが評価値Ｅｂ以下でない場合（ステップＳ１３１でＮｏ）、ステップＳ１３３に進まずに、図２０に示すフローチャートのステップＳ２４１に進むようにすればよい。
【０１９１】
図２６は、第３実施形態の認識装置３００で第２軸判定部３１８により行われる処理の手順の流れの一例を示すフローチャートである。なお、説明は省略するが、第１軸判定部３１６についても同様である。また、図２６では、操作区間において送り動作が行われたか否かをリアルタイムで判定する例を示している。
【０１９２】
まず、第２軸判定部３１８は、判定対象区間として、移動ベクトルの第２軸成分の方向が切り替わる第２軸方向転換点が存在する場合には最新の第２軸方向転換点、第２軸方向転換点が存在しない場合には最初に取得された位置である開始点を始点とし、取得された最新の位置である最新点を終点とする操作区間を設定する。そして第２軸判定部３１８は、操作区間の評価値を算出し、閾値以上であるか否かを確認する（ステップＳ３５１）。
【０１９３】
操作区間の評価値が閾値以上である場合（ステップＳ３５１でＹｅｓ）、第２軸判定部３１８は、操作区間が直前の状況よりも優位であるか否かを確認する（ステップＳ３５２）。具体的には、第２軸判定部３１８は、操作区間の始点を終点とし、当該終点の前に第２軸方向転換点が存在する場合には当該終点の直前の第２軸方向転換点、当該終点の前に第２軸方向転換点が存在しない場合には開始点を始点とする直前区間を設定する。そして第２軸判定部３１８は、直前区間の評価値を算出し、操作区間の評価値が直前区間の評価値を超えているか否かを確認する。
【０１９４】
操作区間が直前の状況よりも優位である場合（ステップＳ３５２でＹｅｓ）、即ち、操作区間の評価値が直前区間の評価値を超えている場合、第２軸判定部３１８は、操作区間が直後の状況よりも優位であるか否かを確認する（ステップＳ３５３）。具体的には、第２軸判定部３１８は、操作区間を設定してから所定時間が経過するまでに操作区間の始点の後に第２軸方向転換点が存在する場合には当該始点の直後の第２軸方向転換点、所定時間が経過するまでに当該始点の後に第２軸方向転換点が存在しない場合には所定時間経過後の最新点を操作区間の終点に更新する。また第２軸判定部３１８は、更新後の操作区間の終点を始点とし、当該始点の後に第２軸方向転換点が存在する場合には当該始点の直後の第２軸方向転換点、当該始点の後に最新点が存在する場合には所定時間経過後の最新点を終点とする直後区間を設定する。そして第２軸判定部３１８は、直後区間の評価値を算出し、操作区間の評価値が直後区間の評価値を超えているか否かを確認する。
【０１９５】
操作区間が直後の状況よりも優位である場合（ステップＳ３５３でＹｅｓ）、即ち、操作区間の評価値が直後区間の評価値を超えている場合、第２軸判定部３１８は、操作区間において第２軸における移動ベクトルの方向に送り動作が行われたと決定する（ステップＳ３５４）。
【０１９６】
一方、操作区間の評価値が閾値未満である場合（ステップＳ３５１でＮｏ）、操作区間が直前の状況よりも優位でない場合（ステップＳ３５２でＮｏ）、又は操作区間が直後の状況よりも優位でない場合（ステップＳ３５３でＮｏ）、第２軸判定部３１８は、操作区間において行われた動作は送り動作でないと決定する（ステップＳ３５５）。
【０１９７】
以上のように第３実施形態では、直前区間及び直後区間を利用して判定対象区間のジェスチャを認識する。このため第３実施形態によれば、判定対象区間のジェスチャがノイズであるか否かを判別できるので、ジェスチャにノイズとなる動きが含まれていても正しく認識することができ、認識精度の低下を防止することができる。例えば、ジェスチャの最初と最後にノイズとなる動きが含まれていても、正しく認識することができる。また第３実施形態では、各軸のいずれの方向が指示されているかを認識することもできる。
【０１９８】
（第４実施形態）
上記第１〜第３実施形態では、被写体の特定部位の位置を表す座標系が有する軸、即ち、特定部位のジェスチャの判別対象となる軸が２軸である場合を例に取り説明したが、第４実施形態では、被写体の特定部位の位置を表す座標系が有する軸が３軸以上であってもよい。但し、各軸は１点で交差するものとする。
【０１９９】
図２７は、第４実施形態で用いられる座標系の一例を示す図である。図２７に示す例では、３次元空間を規定する互いに独立なｙ、ｘ、ｚに対応した第１軸〜第３軸が設定された座標系となっており、上下・左右・前後の判定が可能となっている。
【０２００】
図２８は、第４実施形態で用いられる座標系の他の例を示す図である。図２８に示す例では、同一平面上での異なる３方向に対応した軸（例えば、同一平面上で１２０度ずつ回転させて設定した３つの軸）が可能となっている。
【０２０１】
主軸選定部１０６は、算出される移動ベクトル毎に、当該移動ベクトルと第１軸〜第３軸それぞれとの内積値である第１内積値〜第３内積値を算出し、算出した第１内積値〜第３内積値のうち絶対値が最も大きい内積値の算出に用いられた軸を主軸に選定する。
【０２０２】
なお、絶対値が最も大きい内積値が複数存在する場合には、主軸選定部１０６は、絶対値が最も大きい内積値の算出に用いられた軸の中に直前の主軸が存在すれば、当該直前の主軸を主軸に選定する。一方、主軸選定部１０６は、絶対値が最も大きい内積値の算出に用いられた軸の中に直前の主軸が存在しなければ、絶対値が最も大きい内積値の算出に用いられた任意の軸を主軸に選定する。
【０２０３】
（応用例）
上記各実施形態の認識装置の応用例について説明する。なお、以下で説明する応用例は、あくまでも例示であり、認識装置を他の機器に応用してもよい。
【０２０４】
（第１応用例）
図２９は、第１応用例のテレビ受像機４００の一例を示す図である。図２９に示すテレビ受像機４００には、上記各実施形態のいずれかの認識装置が適用されており、チャンネル操作がジェスチャで行われる。
【０２０５】
テレビ受像機４００には、カメラ４０２が取り付けられており、視聴者を撮影している。テレビ受像機４００は、視聴者の手４０４を特定部位として検出追跡し、送り動作を認識する。テレビ画面４０６には現在チャンネル４が表示されている。視聴者は手４０４を左にすばやく動かす送り動作を行うことによりチャンネル３に変更でき、右に送り動作を行うことによりチャンネル５に変更できる。
【０２０６】
（第２応用例）
図３０は、第２応用例のパソコン５００の一例を示す図である。図３０に示すパソコン５００には、上記各実施形態のいずれかの認識装置が適用されており、画面５０６のウィンドウ５０８内に表示されたウェブコンテンツや文書を、手５０４のジェスチャによってスクロールさせる。
【０２０７】
まず、パソコン５００には、カメラ５０２が取り付けられており、ユーザを撮影している。パソコン５００は、ユーザの手５０４を特定部位として検出追跡して送り動作を認識し、パソコン５００に対して検出された送り動作の方向へのスクロールのコマンドを実行する。このとき、スクロールバー５１０で示されるスクロール量は予め定めておいた一定量でもよいし、速い送り動作ならスクロール量を大きくするなど、送り動作の速度に応じて変化させてもよい。
【０２０８】
これにより、ユーザは、送り動作を行った方向に、ウィンドウ５０８内の表示内容をスクロールさせて、ウェブコンテンツや文書などを閲覧することができる。
【０２０９】
（第３応用例）
図３１は、第３応用例の医療用の情報端末６００の一例を示す図である。図３１に示す情報端末６００は、上記各実施形態のいずれかの認識装置が適用されており、手術中の医者への情報提供に用いられる。
【０２１０】
手術中の医者は手６０４を清潔に保つ必要があるため、医者に患者のモニタリング情報や検査結果等の情報提供を行う情報端末６００を手６０４で直接触って操作することができない。
【０２１１】
そこで、情報端末６００に上記各実施形態のいずれかの認識装置を適用することにより、医者が手６０４のジェスチャによって非接触で情報端末６００を操作できる。
【０２１２】
情報端末６００にはカメラ６０２が取り付けられており、医者を撮影している。情報端末６００は、医者の手６０４を特定部位として検出追跡して送り動作を認識し、情報端末６００に対して検出された送り動作の方向へのスクロールコマンドや、表示情報の変更コマンドを実行する。
【０２１３】
（変形例）
本発明は上記各実施形態に限らず、その主旨を逸脱しない限り種々に変形することができる。
【０２１４】
例えば、上記第１実施形態と上記第２実施形態とを組み合わせるようにしてもよい。この場合、区間設定部、決定部、及び提示部の動作は、上記第３実施形態と同様となる。また上記第３実施形態では、区間設定部３１０は、直前区間及び直後区間の両区間を設定したが、上記第１実施形態や上記第２実施形態のように、いずれか一方のみを設定するようにしてもよい。
【０２１５】
また、上記応用例として、テレビ受像機４００、パソコン５００、医療用の情報端末６００を例に取り説明したが、これに限らず、ゲーム機器などの他の機器に適用することもできる。つまり、ユーザがリモートコントローラ、センサ、マーカなどを持ったり、身に付けたりすることなく、機器を容易に操作するジェスチャインターフェースに関し、機器制御のためのメニュや機器に表示されたコンテンツ等の送り操作を行うことができる機器に応用できる。
【０２１６】
上記各実施形態及び上記各変形例の認識装置は、ＣＰＵ（Central  Processing  Unit）などの制御装置と、ＲＯＭやＲＡＭなどの記憶装置と、ＨＤＤやＳＳＤなどの外部記憶装置と、ディスプレイなどの表示装置と、マウスやキーボードなどの入力装置と、通信Ｉ／Ｆなどの通信装置とを備えており、通常のコンピュータを利用したハードウェア構成となっている。
【０２１７】
上記各実施形態及び上記各変形例の認識装置で実行される認識プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、ＣＤ−Ｒ、メモリカード、ＤＶＤ、フレキシブルディスク（ＦＤ）等のコンピュータで読み取り可能な記憶媒体に記憶されて提供される。
【０２１８】
また、上記各実施形態及び上記各変形例の認識装置で実行される認識プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するようにしてもよい。また、上記各実施形態及び上記各変形例の認識装置で実行される認識プログラムを、インターネット等のネットワーク経由で提供または配布するようにしてもよい。また、上記各実施形態及び上記各変形例の認識装置で実行される認識プログラムを、ＲＯＭ等に予め組み込んで提供するようにしてもよい。
【０２１９】
上記各実施形態及び上記各変形例の認識装置で実行される認識プログラムは、上述した各部をコンピュータ上で実現させるためのモジュール構成となっている。実際のハードウェアとしては、例えば、ＣＰＵがＨＤＤからプログラムをＲＡＭ上に読み出して実行することにより、上記各部がコンピュータ上で実現されるようになっている。
【０２２０】
なお、本発明は、上記実施の形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化することができる。また、上記実施の形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成することができる。例えば、実施の形態に示される全構成要素からいくつかの構成要素を削除してもよい。さらに、異なる実施の形態にわたる構成要素を適宜組み合わせても良い。
【０２２１】
以上のように、上記各実施形態及び上記各変形例の認識装置によれば、認識精度の低下を防止することができる。
【符号の説明】
【０２２２】
１００、２００、３００  認識装置
１０２  取得部
１０４  算出部
１０６  主軸選定部
１０８  転換点設定部
１１０、２１０、３１０  区間設定部
１１２、２１２、３１２  決定部
１１４、２１４、３１４  提示部
３１６  第１軸判定部
３１８  第２軸判定部
３２０  判定結果選定部
【図１】
0005547139.tif 000003
【図２】
0005547139.tif 000004
【図３】
0005547139.tif 000005
【図４】
0005547139.tif 000006
【図５】
0005547139.tif 000007
【図６】
0005547139.tif 000008
【図７】
0005547139.tif 000009
【図８】
0005547139.tif 000010
【図９】
0005547139.tif 000011
【図１０】
0005547139.tif 000012
【図１１】
0005547139.tif 000013
【図１２】
0005547139.tif 000014
【図１３】
0005547139.tif 000015
【図１４】
0005547139.tif 000016
【図１５】
0005547139.tif 000017
【図１６】
0005547139.tif 000018
【図１７】
0005547139.tif 000019
【図１８】
0005547139.tif 000020
【図１９】
0005547139.tif 000021
【図２０】
0005547139.tif 000022
【図２１】
0005547139.tif 000023
【図２２】
0005547139.tif 000024
【図２３】
0005547139.tif 000025
【図２４】
0005547139.tif 000026
【図２５】
0005547139.tif 000027
【図２６】
0005547139.tif 000028
【図２７】
0005547139.tif 000029
【図２８】
0005547139.tif 000030
【図２９】
0005547139.tif 000031
【図３０】
0005547139.tif 000032
【図３１】
0005547139.tif 000033