(57)【特許請求の範囲】
【請求項１】
複数の指の先端側から該複数の指を撮影する撮像部から得た、該複数の指が写った画像から、該複数の指が含まれる手領域を検出する手領域検出部と、
前記手領域内の高さ方向の所定位置よりも上側の領域を含む第１の領域を所定の第１のサイズを持つ複数の第１のセルに分割し、該複数の第１のセルのそれぞれから、前記撮像部に対する奥行き方向における前記複数の指のうちの何れかの指の位置に関する特徴を表す第１の特徴量を抽出する第１方向特徴量抽出部と、
前記手領域内の前記所定位置以下の領域を含む第２の領域を前記第１のサイズよりも小さい第２のサイズを持つ複数の第２のセルに分割し、該複数の第２のセルのそれぞれから、前記複数の指が並ぶ方向における前記複数の指のうちの何れかの指の位置に関する特徴を表す第２の特徴量を抽出する第２方向特徴量抽出部と、
前記第１の特徴量と前記奥行き方向における指の位置との関係を表す第１の識別器を有し、該第１の識別器に前記第１の特徴量を入力することによって前記奥行き方向における指の位置を検出する第１方向位置検出部と、
前記第２の特徴量と前記複数の指が並ぶ方向における指の位置との関係を表す第２の識別器を有し、該第２の識別器に前記第２の特徴量を入力することによって前記複数の指が並ぶ方向における指の位置を検出する第２方向位置検出部と、
を有する指位置検出装置。
【請求項２】
前記第１方向特徴量抽出部は、前記手領域内の高さ方向の前記所定位置よりも上側の領域を前記第１の領域とし、一方、前記第２方向特徴量抽出部は、前記手領域内の前記所定位置以下の領域を前記第２の領域とする、請求項１に記載の指位置検出装置。
【請求項３】
複数の指の先端側から該複数の指を撮影する撮像部から得た、該複数の指が写った画像から、該複数の指が含まれる手領域を検出し、
前記手領域内の高さ方向の所定位置よりも上側の領域を含む第１の領域を所定の第１のサイズを持つ複数の第１のセルに分割し、該複数の第１のセルのそれぞれから、前記撮像部に対する奥行き方向における前記複数の指のうちの何れかの指の位置に関する特徴を表す第１の特徴量を抽出し、
前記手領域内の前記所定位置以下の領域を含む第２の領域を前記第１のサイズよりも小さい第２のサイズを持つ複数の第２のセルに分割し、該複数の第２のセルのそれぞれから、前記複数の指が並ぶ方向における前記複数の指のうちの何れかの指の位置に関する特徴を表す第２の特徴量を抽出し、
前記第１の特徴量と前記奥行き方向における指の位置との関係を表す第１の識別器を有し、該第１の識別器に前記第１の特徴量を入力することによって前記奥行き方向における指の位置を検出し、
前記第２の特徴量と前記複数の指が並ぶ方向における指の位置との関係を表す第２の識別器を有し、該第２の識別器に前記第２の特徴量を入力することによって前記複数の指が並ぶ方向における指の位置を検出する、
ことを含む指位置検出方法。
【請求項４】
複数の指の先端側から該複数の指を撮影する撮像部から得た、該複数の指が写った画像から、該複数の指が含まれる手領域を検出し、
前記手領域内の高さ方向の所定位置よりも上側の領域を含む第１の領域を所定の第１のサイズを持つ複数の第１のセルに分割し、該複数の第１のセルのそれぞれから、前記撮像部に対する奥行き方向における前記複数の指のうちの何れかの指の位置に関する特徴を表す第１の特徴量を抽出し、
前記手領域内の前記所定位置以下の領域を含む第２の領域を前記第１のサイズよりも小さい第２のサイズを持つ複数の第２のセルに分割し、該複数の第２のセルのそれぞれから、前記複数の指が並ぶ方向における前記複数の指のうちの何れかの指の位置に関する特徴を表す第２の特徴量を抽出し、
前記第１の特徴量と前記奥行き方向における指の位置との関係を表す第１の識別器を有し、該第１の識別器に前記第１の特徴量を入力することによって前記奥行き方向における指の位置を検出し、
前記第２の特徴量と前記複数の指が並ぶ方向における指の位置との関係を表す第２の識別器を有し、該第２の識別器に前記第２の特徴量を入力することによって前記複数の指が並ぶ方向における指の位置を検出する、
ことをコンピュータに実行させる指位置検出用コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、特定の方向から指を撮影した画像を解析することにより、指の位置を検出する指位置検出装置、指位置検出方法及び指位置検出用コンピュータプログラムに関する。
【背景技術】
【０００２】
従来より、ユーザが所望の情報を入力するための入力装置として、複数のキーを有するキーボードが用いられている。キーボードは、ユーザが所望の情報を入力するための利便性に優れるものの、ユーザが操作可能なサイズの複数のキーを有するために、ある程度の大きさを持たざるを得ない。例えば、いわゆるQWERTY型のキー配置を持つキーボードは、個々のアルファベットに対応する26個のキーを少なくとも持つ。しかし、いわゆるスマートフォンのような携帯端末では、入力装置を実装可能なスペースが限定されているので、入力装置は小型であることが好ましい。そこで、これらの携帯端末では、入力装置を小さくするために、あるいは、入力装置と表示装置とが一体化されたタッチパネルにおいて情報を表示する領域をできるだけ広くするために、同時に操作可能なキーの数を少なくしている。しかし、キーの数を減らすほど、一つのキーが複数の入力情報に対応することになるので、所定の情報を入力するためにユーザがキーを押下する回数も増加する。その結果として、ユーザの操作性が低下する。
【０００３】
一方、予め定められているキー配列で仮想キーが配置された仮想キーボードを操作する操作者の指先の位置を検出して、その指先の位置に対応する仮想キーに対応するキーコードを発生させる入力装置が提案されている（例えば、特許文献１を参照）。この入力装置では、指先の位置を検出するために、操作者の指先を上方から撮影するデジタルビデオカメラと、指先をその正面から撮影するデジタルビデオカメラとが用いられる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−２８８１５６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、指の位置を検出するために利用される、指先を互いに異なる２方向から撮影した２枚の画像を生成するためには、各方向に対応するカメラを設置する機構または場所が必要となる。しかし、携帯端末のサイズは限られているので、このような二つのカメラをともに携帯端末に実装することは困難である。特に、上方から指先を撮影するカメラを設置するためには、携帯端末とは別個にそのカメラを支持する機構が必要となる。このような機構を、上記のような携帯端末に搭載することは困難である。
【０００６】
そこで本明細書は、複数の指をその先端側から撮影する一つのカメラにより生成された画像に基づいて、そのカメラに対する奥行き方向及び指の並び方向における指の位置を検出可能な指位置検出装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
一つの実施形態によれば、指位置検出装置が提供される。この指位置検出装置は、複数の指の先端側から複数の指を撮影する撮像部から得た、複数の指が写った画像から、複数の指が含まれる手領域を抽出する手領域検出部と、手領域の少なくとも一部である第１の領域を所定の第１のサイズを持つ複数の第１のセルに分割し、複数の第１のセルのそれぞれから、撮像部に対する奥行き方向における複数の指のうちの何れかの指の位置に関する特徴を表す第１の特徴量を抽出する第１方向特徴量抽出部と、手領域の少なくとも一部である第２の領域を第１のサイズよりも小さい第２のサイズを持つ複数の第２のセルに分割し、複数の第２のセルのそれぞれから、複数の指が並ぶ方向における複数の指のうちの何れかの指の位置に関する特徴を表す第２の特徴量を抽出する第２方向特徴量抽出部と、第１の特徴量と奥行き方向における指の位置との関係を表す第１の識別器を有し、その第１の識別器に第１の特徴量を入力することによって奥行き方向における指の位置を検出する第１方向位置検出部と、第２の特徴量と複数の指が並ぶ方向における指の位置との関係を表す第２の識別器を有し、その第２の識別器に第２の特徴量を入力することによって複数の指が並ぶ方向における指の位置を検出する第２方向位置検出部とを有する。
【０００８】
本発明の目的及び利点は、請求項において特に指摘されたエレメント及び組み合わせにより実現され、かつ達成される。
上記の一般的な記述及び下記の詳細な記述の何れも、例示的かつ説明的なものであり、請求項のように、本発明を限定するものではないことを理解されたい。
【発明の効果】
【０００９】
本明細書に開示された指位置検出装置は、複数の指をその先端側から撮影する一つのカメラにより生成された画像に基づいて、そのカメラに対する奥行き方向及び指の並び方向における指の位置を検出できる。
【図面の簡単な説明】
【００１０】
【図１】指位置検出装置を実装した、仮想キーボードを用いた入力装置の一例である携帯端末のハードウェア構成図である。
【図２】仮想キーボードのキー配列の一例を示す図である。
【図３】携帯端末１と、検出対象となる指との位置関係の一例を示す図である。
【図４】指位置検出処理に関する制御部の機能ブロック図である。
【図５】手領域の一例を示す図である。
【図６】（ａ）は、ユーザが仮想キーを押下していないときの手画像の一例を示す図であり、（ｂ）は、ユーザが仮想キーを押下しているときの手画像の一例を示す図である。
【図７】指位置検出処理の動作フローチャートである。
【図８】（ａ）〜（ｃ）は、それぞれ、奥行き方向位置検出部が有する、奥側から順に１番目〜３番目のキー列に対応する識別器が利用する、手画像中のHOG特徴量の分布を示す図である。
【図９】（ａ）〜（ｅ）は、それぞれ、水平方向位置検出部が有する、右端から順に１番目〜５番目の仮想キーの位置に対応する識別器が利用する、手画像中のHOG特徴量の分布を示す図である。
【図１０】手画像と第１及び第２の部分領域の位置関係を示す図である。
【図１１】第２の実施形態による指位置検出処理に関する制御部の機能ブロック図である。
【発明を実施するための形態】
【００１１】
以下、図を参照しつつ、一つの実施形態による指位置検出装置について説明する。この指位置検出装置は、複数の指をその先端側から撮影する撮像部により生成された一枚の画像を解析することにより、撮像部に対する奥行き方向及び複数の指が並ぶ方向における、その複数の指のうちの何れかの指の位置を検出する。そのために、この指位置検出装置は、その画像で複数の指が写っている手領域を複数の第１のセルに分割し、第１のセルのそれぞれから奥行き方向における指の位置に関係する特徴量を抽出する。またこの指位置検出装置は、手領域を複数の第２のセルに分割し、第２のセルのそれぞれから複数の指が並ぶ方向における指の位置に関係する特徴量を抽出する。また第２のセルのサイズは第１のセルのサイズよりも小さく設定される。そしてこの指位置検出装置は、奥行き方向における指の位置を識別する識別器に奥行き方向における指の位置に関する特徴量を入力することで奥行き方向における指の位置を推定する。一方、指位置検出装置は、複数の指が並ぶ方向における指の位置を識別する識別器にその方向における指の位置に関する特徴量を入力することで複数の指が並ぶ方向における指の位置を推定する。
なお、以下の実施形態では、撮像部により撮影される手は伏せて置かれることを想定している。そのため、複数の指が並ぶ方向は、奥行き方向と略直交し、かつ、水平となる。そこで以下では、複数の指が並ぶ方向を単に水平方向と呼ぶ。
【００１２】
図１は、指位置検出装置を実装した、仮想キーボードを用いた入力装置の一例である携帯端末のハードウェア構成図である。携帯端末１は、表示部２と、撮像部３と、記憶媒体アクセス装置４と、記憶部５と、制御部６とを有する。表示部２、撮像部３、記憶媒体アクセス装置４、記憶部５、及び制御部６は、筐体７内に配置される。なお、携帯端末１は、例えば、携帯電話機、携帯情報端末またはタブレット型コンピュータである。さらに携帯端末１は、携帯端末１を他の機器に接続するための通信インターフェース回路（図示せず）を有していてもよい。なお図１は、携帯端末１が有する構成要素を説明するための図であり、携帯端末１の各構成要素の実際の配置を表した図ではないことに留意されたい。
【００１３】
携帯端末１は、仮想キーボードが有する複数の仮想キーの何れかを押下する指の位置を、撮像部３が撮影したユーザの手の画像を制御部６が解析することによって検出し、その指の位置に対応する仮想キーを特定する。そして携帯端末１は、特定された仮想キーに対応するキーコードが入力されたと判定する。
【００１４】
図２は、本実施形態において使用される仮想キーボードのキー配列の一例を示す図である。仮想キーボード２００は、いわゆるQWERTY型キーボードであり、左手入力用、右手入力用それぞれに、奥行き方向に沿って携帯端末１に近い方から順に3列のキー列２０１〜２０３が配置される。そして各キー列は、水平方向に沿って5個の仮想キー２１０を有する。したがって、この仮想キーボードは、30個の仮想キーを有する。また矩形領域２２０は、左手により押下される仮想キーのグループを表し、一方、矩形領域２２１は、右手により押下される仮想キーのグループを表す。
【００１５】
表示部２は、例えば、液晶ディスプレイ、あるいは有機エレクトロルミネッセンスディスプレイを有し、表示部２の表示画面が、筺体７の正面に対向するユーザを向くように配置される。そして表示部２は、ユーザに様々な情報を表示する。また表示部２は、タッチパネルディスプレイを有してもよい。この場合、表示部２は、例えば、仮想キーボードを用いて入力された情報に応じて選択された様々なアイコンまたは操作ボタンを、制御部６からの制御信号に応じて表示する。また表示部２は、表示されたアイコンの位置にユーザが触れた場合に、その位置に応じた操作信号を生成し、その操作信号を制御部６へ出力する。
【００１６】
撮像部３は、例えば、２次元アレイ状に配置された固体撮像素子を有するイメージセンサと、そのイメージセンサ上に被写体の像を結像する撮像光学系とを有する。
【００１７】
図３は、携帯端末１と、検出対象となる指との位置関係の一例を示す図である。図３に示されるように、携帯端末１の表示部２がユーザを向くように携帯端末１が机上に立てて置かれた場合に、撮像部３は、筐体７の正面７ａにおいて表示部２の下方に位置し、机上に置かれたユーザの手の指先３００と対向する。そのため、撮像部３は、ユーザの指を指先側から撮影可能であり、その指先を含むユーザの手が写った画像を生成する。この例では、矢印zで示される奥行き方向は、撮像部３の光軸に対して略平行となり、矢印xで示される水平方向は、その光軸と直交する面に対して略平行となる。
【００１８】
撮像部３は、一定周期ごとにユーザの指を含む手全体を撮影することで、その一定周期ごとに画像を生成する。そして撮像部３は、画像を生成する度に、生成した画像を制御部６へ出力する。なお、一定周期は、例えば、ユーザが一回キーを押下するのに要する期間よりも短い周期、例えば、50msec〜100msecに設定されることが好ましい。
【００１９】
記憶媒体アクセス装置４は、例えば、磁気ディスクまたは半導体メモリカードといった記憶媒体８にアクセスする装置である。記憶媒体アクセス装置４は、例えば、記憶媒体８に記憶された制御部６上で実行されるコンピュータプログラムを読み込み、制御部６に渡す。また、後述するように、制御部６が指位置検出装置としての機能を実現するコンピュータプログラムを実行する場合には、記憶媒体アクセス装置４は、記憶媒体８から指位置検出用コンピュータプログラムを読み込んで、制御部６に渡してもよい。
【００２０】
記憶部５は、例えば、読み書き可能な不揮発性の半導体メモリと、読み書き可能な揮発性の半導体メモリとを有する。そして記憶部５は、制御部６上で実行される各種のアプリケーションプログラム及び各種のデータを記憶する。また記憶部５は、指位置検出処理に利用される各種のデータ、例えば、指の位置を検出するために用いられる複数の識別器を表すパラメータを記憶してもよい。さらに記憶部５は、右手または左手を表す手の識別情報と関連付けて、右手用及び左手用のキーテーブルを記憶してもよい。キーテーブルは、その識別情報に対応する手が押下する可能性のある各仮想キーごとに、その仮想キーと奥行き方向における指の位置と水平方向における指の位置との組み合わせとの対応を表す参照テーブルの一例である。
【００２１】
制御部６は、一つまたは複数のプロセッサ及びその周辺回路を有する。そして制御部６は、携帯端末１の各部と信号線を介して接続されており、携帯端末１全体を制御する。
また制御部６は、指位置検出装置の一例であり、撮像部３から受け取った画像を解析することにより、仮想キーボードの何れかの仮想キーを押下した指を検出する。そして制御部６は、その指の奥行き方向の位置及び水平方向の位置を検出し、検出した位置に対応する仮想キーを特定する。そして制御部６は、仮想キーに対応するキーコードが入力されたと判定して、そのキーコードと実行中のアプリケーションプログラムに応じた処理を実行する。
【００２２】
以下、制御部６により実行される指位置検出処理に関する構成要素の詳細について説明する。
図４は、指位置検出処理に関する制御部６の機能ブロック図である。制御部６は、手領域検出部１１と、押下判定部１２と、奥行き方向特徴量抽出部１３と、水平方向特徴量抽出部１４と、奥行き方向位置検出部１５と、水平方向位置検出部１６と、押下キー特定部１７とを有する。
制御部６が有するこれらの各部は、例えば、制御部６が有するプロセッサ上で実行されるコンピュータプログラムによって実現される機能モジュールとして実装されてもよい。なお、これらの各部は、それぞれ、別個の回路として、制御部６とは別個に携帯端末１に実装されてもよく、あるいはこれらの各部の機能を実現する一つの集積回路として、制御部６とは別個に携帯端末１に実装されてもよい。
【００２３】
手領域検出部１１は、撮像部３から受け取った画像上でユーザの少なくとも１本の指が写っている領域である手領域を抽出する。本実施形態では、左手及び右手の全ての指が仮想キーの押下に利用される可能性があるので、手領域検出部１１は、左手及び右手のそれぞれごとに、全ての指を含む領域を手領域として抽出する。
【００２４】
そのために、手領域検出部１１は、例えば、画像がRGB表色系で表現されるカラー画像である場合、各画素の表色系をHSV表色系またはHLS表色系に変換する。そして手領域検出部１１は、画像上の各画素のうち、色相の値が肌色に相当する範囲（例えば、0°〜30°）内に含まれる画素を手候補画素として抽出する。そして手領域検出部１１は、手候補画素に対してラベリング処理を行って、互いに隣接する複数の手候補画素を一つの手候補領域に含めることにより、複数の手候補領域を求める。さらに、手領域検出部１１は、複数の手候補領域の中から、面積が大きい方から順に二つの手候補領域を選択し、選択した二つの手候補領域のそれぞれの外接矩形を、それぞれ手領域として抽出する。また、手領域検出部１１は、複数の手候補領域のうち、高さ方向の重心の位置の差が、キーボードを利用する際の右手と左手の配置から想定される範囲内に含まれる二つの手候補領域を、それぞれ手領域として抽出してもよい。
【００２５】
なお、手領域検出部１１は、他の手領域抽出方法に従って手領域を抽出してもよい。例えば、手領域検出部１１は、手が写った複数の正解サンプル画像と手が写っていない複数の非正解サンプル画像とを用いて予め作成された手領域検出用の検出器を用いて、手領域を検出してもよい。このような検出器は、例えば、画像から抽出されるHaar-like特徴を入力とするAdaBoost検出器とすることができる。この場合、AdaBoost検出器は、複数の弱識別器と一つの強識別器とを有する。各弱識別器は、一つのHaar-like特徴を入力とし、手領域か否かの判定結果を表す判定値を出力する。各弱識別器に入力されるHaar-like特徴は、互いに異なり、学習の結果として、手領域か否かの判定に有効なHaar-like特徴が予め決定される。強識別器は、各弱識別器の判定値を入力として、その判定値を、弱識別器ごとに予め定められた重み係数を用いて加重加算した値と閾値との比較結果により、手領域か否かを判定する。また、複数のAdaBoost検出器がカスケード接続されたものが検出器として用いられてもよい。そして手領域検出部１１は、手領域か否かの判定対象となる画像上の部分領域ごとに、各弱識別器で用いられるHaar-like特徴を抽出し、そのHaar-like特徴を、それぞれ、対応する弱識別器に入力することにより、手領域か否かを判定する。
【００２６】
図５は、手領域の一例を示す図である。図５に示された画像５００において、二つの矩形領域５０１、５０２が、それぞれ、手領域を表す。各手領域内には、それぞれ、右手または左手のそれぞれの指が含まれる。そしてユーザが実際のキーボードを利用するときと同様に、ユーザは何れかの指の指先を下方へ移動させることで、仮想キーボードの何れかの仮想キーが押下されたと判定されるので、ユーザは手を伏せる。そのため、各手領域の下側に指先が写り、一方、各手領域の上側には、指の付け根側が写っている。
【００２７】
手領域検出部１１は、画像から各手領域を切り出す。そして手領域検出部１１は、各手領域の水平方向の画素数が予め設定された所定数となるように、各手領域のサイズを正規化してもよい。所定数は、正規化された手領域において各指が判別可能な画素数、例えば、150〜300画素に設定される。また垂直方向に関しても、手領域検出部１１は、元の手領域の水平方向の画素数Nhoに対する正規化された手領域の水平方向の画素数Nhnの比(Nhn/Nho)を元の手領域の垂直方向の画素数に乗じた画素数になるように、各手領域を正規化する。以下では、正規化された手領域を手画像と呼ぶ。
手領域検出部１１は、左手に対応する手画像及び右手に対応する手画像を押下判定部１２へ渡す。
【００２８】
押下判定部１２は、ユーザが何れかの仮想キーを押下したか否かを判定する。そのために、押下判定部１２は、例えば、左手及び右手に対応する二つの手画像のそれぞれについて、手画像の上端から手画像の下端までの距離である手画像の高さと所定の距離Mとを比較する。そして押下判定部１２は、距離Mよりも手画像が高ければ、ユーザは、その手画像に対応する手が押下可能な何れかの仮想キーを押下したと判定する。一方、何れの手画像についても、手画像の高さが距離M以下であれば、押下判定部１２は、何れの仮想キーも押下されていないと判定する。なお、距離Mは、例えば、予め実験的に定められ、例えば、手画像の上端から携帯端末１が置かれる机の表面までの距離に相当する値に設定される。あるいは、距離Mは、何れかの仮想キーを押下した手が写った複数の手画像のサンプルから求められた手画像の高さの平均値と、何れの仮想キーも押下していない手が写った複数の手画像のサンプルから求められた手画像の高さの平均値との間の中点に設定される。あるいは、距離Mからそれら平均値までのマハラノビス距離が等しくなるように、押下時の手画像のサンプルの高さの分布と未押下時の手画像のサンプルの高さの分布とに基づいて、距離Mは設定されてもよい。
【００２９】
図６（ａ）は、ユーザが仮想キーを押下していないときの手画像の一例を示す図であり、図６（ｂ）は、ユーザが仮想キーを押下しているときの手画像の一例を示す図である。図６（ａ）では、手画像６０１の下端が手画像６０１の上端からの距離Mに相当する位置よりも上方に位置している。そのため、この例では、押下判定部１２は、何れの仮想キーも押下されていないと判定する。一方、図６（ｂ）では、手画像６０２の下端が手画像６０２の上端からの距離Mに相当する位置よりも下方に位置している。そのため、この例では、押下判定部１２は、仮想キーの何れかが押下されたと判定する。
あるいは、押下判定部１２は、手画像の幅（すなわち、手画像の左端と右端間の距離）に対する手画像の高さの比が所定の閾値より高ければ、ユーザはその手画像に対応する何れかの仮想キーを押下したと判定してもよい。
【００３０】
あるいは、押下判定部１２は、手画像の上端ではなく、撮像部３により生成された画像の上端からの距離M'と、撮像部３により生成された画像の上端から各手領域の下端までの距離yを比較してもよい。そして押下判定部１２は、何れかの手領域についての距離yが距離M'よりも長ければ、何れかの仮想キーが押下されたと判定し、一方、何れの手領域についての距離yも距離M'以下であれば、何れの仮想キーも押下されていないと判定してもよい。この場合、距離M'は、例えば、携帯端末１が机上に置かれたときの撮像部３の光軸方向とその机の表面とがなす角、携帯端末１から指の先端までの想定距離、撮像部３の撮像光学系の焦点距離及びイメージセンサの画素数に基づいて、理論的に決定されてもよい。あるいは、距離M'は、何れかの仮想キーを押下した手が写った複数の画像のサンプルから求められた距離yの平均値と、何れの仮想キーも押下していない手が写った複数の画像のサンプルから求められた距離yの平均値とから、実験的に求められてもよい。さらにまた、距離M'は、図示しないタッチパネルなどを介して、予めユーザにより設定されてもよい。
【００３１】
押下判定部１２は、仮想キーが押下されたと判定された場合、その仮想キーを押下したと判定した手に対応する手画像を奥行き方向特徴量抽出部１３及び水平方向特徴量抽出部１４に渡す。また押下判定部１２は、仮想キーを押下したと判定した手を表す識別情報を押下キー特定部１７に通知する。一方、押下判定部１２は、何れの仮想キーも押下されていないと判定した場合、各手画像を廃棄する。
【００３２】
奥行き方向特徴量抽出部１３は、押下判定部１２から受け取った手画像を所定のサイズを持つ複数の第１のセルに分割し、第１のセルのそれぞれについて、奥行き方向における仮想キーを押下した指の位置に関する特徴を表す奥行き特徴量を抽出する。
本実施形態では、奥行き方向特徴量抽出部１３は、奥行き特徴量として、Histograms of Oriented Gradients(HOG)特徴量を算出する。HOGは、第１のセルごとの複数の角度方向のそれぞれごとの輝度勾配の累積値を表す。
【００３３】
本実施形態では、奥行き方向特徴量抽出部１３は、第１のセルについての水平方向の画素数×垂直方向の画素数を、例えば、10×10または20×20画素に設定する。
【００３４】
奥行き方向特徴量抽出部１３は、第１のセルごとに、その第１のセルに含まれる各画素について次式に従って勾配強度m(x,y)及び勾配方向θ(x,y)を算出する。
【数１】
0005799817.tif 000002
ここで、(x,y)は、注目する画素の水平方向座標及び垂直方向座標である。またL(x,y)は、画素(x,y)の輝度を表す。
奥行き方向特徴量抽出部１３は、0°〜360°の範囲を複数の部分角度範囲に分割し、部分角度範囲ごとに、その部分角度範囲内に勾配方向θ(x,y)が含まれる画素についての勾配強度m(x,y)の総和を算出する。第１のセルごとの一つの部分角度範囲についての勾配強度の総和が一つのHOG特徴量となる。部分角度範囲は、例えば、20°、30°または45°に設定される。また、奥行き方向特徴量抽出部１３は、勾配方向の絶対値だけを考慮してもよい。この場合には、奥行き方向特徴量抽出部１３は、0°〜180°の範囲を複数の部分角度範囲に分割し、部分角度範囲ごとに勾配強度m(x,y)の総和を求めればよい。
【００３５】
また、奥行き方向特徴量抽出部１３は、複数の第１のセルを含むブロック単位で、HOG特徴量の総和を求め、その総和で各HOG特徴量を除することにより、各HOG特徴量を正規化してもよい。
【００３６】
奥行き方向特徴量抽出部１３は、各HOG特徴量を、奥行き特徴量として奥行き方向位置検出部１５へ出力する。
【００３７】
水平方向特徴量抽出部１４は、押下判定部１２から受け取った手画像を所定のサイズを持つ複数の第２のセルに分割し、各第２のセルから、水平方向における仮想キーを押下した指の位置に関する特徴を表す水平特徴量を抽出する。
【００３８】
ただし、発明者は、仮想キーを押下した指の水平方向の位置に関する特徴は、奥行きに関する特徴よりも小さい形状に影響されるという知見を得た。この理由は以下の通りである。奥行き方向における仮想キーを押下した指の位置は、その指を含む手全体の形状に影響するため、ノイズに影響され難い比較的大きな形状の特徴を奥行き特徴量として用いることが好ましい。これに対し、水平方向における仮想キーを押下した指の位置は、仮想キーを押下した指の先端との関連性が高いため、指を検出するために有用な比較的小さな形状の特徴を水平特徴量として用いることが好ましいためである。そこで、第２のセルのサイズは、第１のセルのサイズよりも小さく設定される。例えば、第２のセルについての水平方向の画素数×垂直方向の画素数は、例えば、4×4または6×6画素に設定される。
【００３９】
水平方向特徴量抽出部１４は、奥行き方向特徴量抽出部１３と同様に、第２のセルのそれぞれから、HOG特徴量を算出する。また、水平方向特徴量抽出部１４は、複数の第２のセルを含むブロック単位で、HOG特徴量の総和を求め、その総和で各HOG特徴量を除することにより、各HOG特徴量を正規化してもよい。そして水平方向特徴量抽出部１４は、各HOG特徴量を、水平特徴量として水平方向位置検出部１６へ出力する。
【００４０】
奥行き方向位置検出部１５は、奥行き特徴量に基づいて、奥行き方向における仮想キーを押下した指の位置を検出する。本実施形態では、仮想キーボードが、奥行き方向に沿って３列のキー列を有するので、奥行き方向位置検出部１５は、それぞれのキー列に対応する３個の識別器を有する。
【００４１】
本実施形態では、各識別器は、ブースティング型識別器、例えば、AdaBoost識別器あるいはRealAdaBoost識別器とすることができる。あるいは、各識別器は、サポートベクターマシンであってもよい。以下では、識別器がRealAdaBoost識別器であるとして説明する。
【００４２】
RealAdaBoost識別器は、AdaBoost識別器と同様に、複数の弱識別器と一つの強識別器とを有する２クラス識別器である。各弱識別器は、複数の第１のセルのうちの何れかのセルにおける、何れかの部分角度範囲のHOG特徴量を入力とし、そのRealAdaBoost識別器に対応する奥行き位置に指が位置する確率を表す信頼度を出力する。強識別器は、各弱識別器から出力された信頼度の総和を閾値λと比較し、その信頼度の総和が閾値λよりも大きければ、そのRealAdaBoost識別器に対応するキー列に相当する奥行き方向の位置に指が位置していると判定し、正の値（例えば、+1）を出力する。一方、信頼度の総和が閾値λ以下であれば、強識別器は、そのRealAdaBoost識別器に対応するキー列に相当する奥行き方向の位置に指が位置していないと判定し、負の値（例えば、-1）を出力する。なお、閾値λは、例えば、0に設定される。
【００４３】
各弱識別器に入力されるHOG特徴量及びその弱識別器が出力する信頼度は、複数の正解サンプル画像と複数の非正解サンプル画像とを用いて以下の学習処理を行うことにより決定される。正解サンプル画像は、その弱識別器を有するRealAdaBoost識別器に対応する奥行き方向の位置に存在する指が写った画像であり、一方、非正解サンプル画像は、その奥行き方向の位置とは異なる位置に存在する指が写った画像である。なお、学習処理は、制御部６が予め実行してもよく、あるいは、他の機器、例えば、識別器学習用のコンピュータが実行してもよい。以下の説明では、識別器学習用のコンピュータ（図示せず）が学習処理を実行するものとして説明する。
【００４４】
ステップ１：まず、コンピュータは、各正解サンプル画像及び各非正解サンプル画像について、複数の第１のセルごとにHOG特徴量を算出する。
ステップ２：コンピュータは、各正解サンプル画像及び各非正解サンプル画像に対する重み係数を初期化する。例えば、正解サンプル画像がNp個有り、非正解サンプル画像がNn個ある場合、i番目の正解サンプル画像に対する重み係数D1(i)(i=1,2,...,Np)が1/Npに設定され、j番目の非正解サンプル画像に対する重み係数D1(j)(j=1,2,...,Nn)が1/Nnに設定される。
ステップ３：コンピュータは、各第１のセルのそれぞれの部分角度範囲について、HOG特徴量、すなわち、勾配強度の累積値の取り得る範囲をB等分することにより、その値の範囲であるBINj(j=1,2,...,B)を設定する。なおBは、例えば、64に設定される。そしてコンピュータは、BINjごとに、そのBINjに含まれる正解サンプル画像に対応する重み係数D1(i)の総和を出現確率W+j、そのBINjに含まれる非正解サンプル画像に対応する重み係数D1(i)の総和を出現確率W-jとして集計する。例えば、k番目の第１のセルのl番目の部分角度範囲について、BINjに対応するHOG特徴量を持つ正解サンプル画像がα個有り、BINjに対応するHOG特徴量を持つ非正解サンプル画像がβ個有る場合、W+j=αD1(i)、W-j=βD1(i)となる。
ステップ４：コンピュータは、全ての第１のセルの全ての部分角度範囲について、評価値zを、次式のようにBhattacharyya距離に基づいて算出する。
【数２】
0005799817.tif 000003
評価値zは、正解サンプル画像のHOG特徴量の分布と非正解サンプル画像のHOG特徴量の分布との相違度を表す。評価値zが大きいほど相違度が大きいので、その評価値zに対応する第１のセルの部分角度範囲のHOG特徴量は、奥行き方向の指の位置を検出するために有用である。
ステップ５：コンピュータは、評価値が最大となる第１のセル内の部分角度範囲のHOG特徴量を、一つの弱識別器に入力される特徴量として選択する。その際、その弱識別器が出力する信頼度は次式で表される。
【数３】
0005799817.tif 000004
ここでhm(x)は信頼度である。mは弱識別器の識別番号(m=1,2,...,M、ただしMはRealAdaBoost識別器が有する弱識別器の総数)を表す。またxは、評価値が最大となった第１のセルの部分角度範囲を表す識別番号である。例えば、k番目の第１のセル(k=1,2,...,K、ただしKは、手画像に含まれる第１のセルの数)における、l番目の部分角度範囲（l=1,2,...,L、ただしLは、一つの第１のセルに設定される部分角度範囲の数）について評価値が最大である場合、x=(k-1)*L+lである。またεは、（３）式の右辺の自然対数ln(a)におけるaの値が0及び無限大にならないようにするための定数であり、例えば、ε=0.0000001に設定される。W+j、W-jは、上記のように、BINjごとに求められる、正解サンプル画像及び非正解サンプル画像の出現確率を表す。例えば、識別番号xに対応する第１のセルの部分角度範囲について、奥行き方向特徴量抽出部１３により算出されたHOG特徴量の値が3番目のBINpに含まれる場合、m番目の弱識別器は、信頼度hm(x)として、1/2ln(W+3+ε/W-3+ε)を出力する。
ステップ６：コンピュータは、既に選択された特徴量を入力とする弱識別器から出力された信頼度の総和に基づいて、各正解サンプル画像及び非正解サンプル画像のそれぞれに対して、指の位置の判定結果が正しいか否か判定する。そしてその判定結果が誤っている正解サンプル画像及び非正解サンプル画像のそれぞれについての重み係数を大きくする。その後、正解サンプル画像及び非正解サンプル画像に対する正答率が所定値に達するまで、コンピュータは、ステップ３以降の処理を繰り返す。
【００４５】
奥行き方向位置検出部１５は、各キー列に対応する３個の識別器のそれぞれに、その識別器で用いられる奥行き特徴量を入力する。そして奥行き方向位置検出部１５は、３個の識別器のうち、正の値を出力した識別器に対応するキー列に指が位置すると判定する。
また、複数の識別器が正の値を出力する場合、奥行き方向位置検出部１５は、その正の値を出力する識別器のうちで、信頼度の総和が最大となる識別器に対応するキー列に指が位置すると判定してもよい。そして奥行き方向位置検出部１５は、そのキー列を表す奥行き方向位置情報を、押下キー特定部１７へ出力する。
【００４６】
水平方向位置検出部１６は、水平特徴量に基づいて、仮想キーを押下した指の水平方向の位置を検出する。本実施形態では、仮想キーボードが、キー列ごとに、水平方向に沿って５個の仮想キーを有するので、水平方向位置検出部１６は、それぞれの仮想キーの位置に対応する５個の識別器を有する。
【００４７】
水平方向位置検出部１６が有する各識別器も、奥行き方向位置検出部１５と同様に、ブースティング型識別器、あるいは、サポートベクターマシンとすることができる。本実施形態では、水平方向位置検出部１６が有する各識別器も、RealAdaBoost識別器である。
【００４８】
水平方向位置検出部１６は、各仮想キーの位置に対応する５個の識別器のそれぞれに、その識別器で用いられる水平特徴量を入力する。そして水平方向位置検出部１６は、５個の識別器のうち、正の値を出力した識別器に対応する水平方向の位置に指が位置すると判定する。
また、複数の識別器が正の値を出力する場合、水平方向位置検出部１６は、その正の値を出力する識別器のうちで、信頼度の総和が最大となる識別器に対応する水平方向の位置に指が位置すると判定してもよい。そして水平方向位置検出部１６は、その水平方向の位置を表す水平方向位置情報を、押下キー特定部１７へ出力する。
【００４９】
押下キー特定部１７は、手の識別情報と、奥行き方向位置情報及び水平方向位置情報に基づいて、押下された仮想キーを特定する。例えば、押下キー特定部１７は、手の識別情報に応じて、その識別情報と関連付けられたキーテーブルを記憶部５から読み込む。そして押下キー特定部１７は、キーテーブルを参照して、奥行き方向位置情報に示された奥行き方向における、仮想キーを押下した指の位置及び水平方向位置情報に示された水平方向における仮想キーを押下した指の位置に対応する仮想キーを特定する。例えば、手の識別情報が左手を表しており、水平方向位置が左から２番目であり、奥行き方向位置が一番手前であれば、図２に示されるように、押下キー特定部１７は、仮想キー'E'が押下されたと判定する。また、手の識別情報が右手を表しており、水平方向位置が左から３番目であり、奥行き方向位置が手前側から２番目であれば、図２に示されるように、押下キー特定部１７は、仮想キー'K'が押下されたと判定する。
【００５０】
押下キー特定部１７は、記憶部５に記憶された、仮想キーとキーコードとの対応を表すキーコードテーブルを参照して、押下されたと判定した仮想キーに対応するキーコードを、入力された情報として決定する。そして押下キー特定部１７は、そのキーコードを制御部６に返す。
【００５１】
図７は、制御部６により実行される、指位置検出処理の動作フローチャートである。なお、制御部６は、撮像部３から複数の指が写った画像を受け取る度に、指位置検出処理を実行する。
手領域検出部１１は、撮像部３から受け取った画像から左手が写っている手領域及び右手が写っている手領域をそれぞれ検出する（ステップＳ１０１）。そして手領域検出部１１は、画像から各手領域を切り出して、その手領域のサイズを正規化することで左手の手画像及び右手の手画像を生成する（ステップＳ１０２）。手領域検出部１１は、各手画像を押下判定部１２へ渡す。
【００５２】
押下判定部１２は、各手画像の高さに基づいて、何れかの仮想キーが押下されたか否か判定する（ステップＳ１０３）。何れの仮想キーも押下されていない場合（ステップＳ１０３−Ｎｏ）、押下判定部１２は、各手画像を廃棄する。そして制御部６は指位置検出処理を終了する。
一方、何れかの仮想キーが押下されている場合（ステップＳ１０３−Ｙｅｓ）、押下判定部１２は、押下された仮想キーに対応する手の識別情報を押下キー特定部１７へ通知するとともに、その手についての手画像を奥行き方向特徴量抽出部１３及び水平方向特徴量抽出部１４へ渡す。
【００５３】
奥行き方向特徴量抽出部１３は、仮想キーを押下した手に対応する手画像を複数の第１のセルに分割し、第１のセルのそれぞれから奥行き特徴量を抽出する（ステップＳ１０４）。奥行き方向特徴量抽出部１３は、奥行き特徴量を奥行き方向位置検出部１５へ渡す。また水平方向特徴量抽出部１４は、仮想キーを押下した手に対応する手画像を複数の第２のセルに分割し、第２のセルのそれぞれから水平特徴量を抽出する（ステップＳ１０５）。なお、第２のセルのサイズは第１のセルのサイズよりも小さい。水平方向特徴量抽出部１４は、水平特徴量を水平方向位置検出部１６へ渡す。
【００５４】
奥行き方向位置検出部１５は、仮想キーボードが有する複数のキー列のそれぞれに対応する識別器に奥行き特徴量を入力することにより、奥行き方向における仮想キーを押下した指の位置を検出する（ステップＳ１０６）。奥行き方向位置検出部１５は、奥行き方向における指の位置を表す奥行き位置情報を押下キー特定部１７へ渡す。一方、水平方向位置検出部１６は、一つのキー列が有する複数の仮想キーのそれぞれの位置に対応する識別器に水平特徴量を入力することにより、水平方向における仮想キーを押下した指の位置を検出する（ステップＳ１０７）。水平方向位置検出部１６は、水平方向における指の位置を表す水平位置情報を押下キー特定部１７へ渡す。
【００５５】
押下キー特定部１７は、押下判定部１２から受け取った手の識別情報に対応する参照テーブルを参照して、奥行き位置情報に表される奥行き方向の指の位置及び水平位置情報に表される水平方向の指の位置に対応する仮想キーを特定する（ステップＳ１０８）。そして押下キー特定部１７は、特定した仮想キーに対応するキーコードを制御部６に返す。その後、制御部６は指位置検出処理を終了する。
【００５６】
以上に説明してきたように、指位置検出装置を実装する携帯端末は、指先側からユーザの手を撮影した画像に基づいて、水平方向位置及び奥行き方向における仮想キーを押下した指の位置を検出できる。
【００５７】
なお、変形例によれば、奥行き方向特徴量抽出部１３と水平方向特徴量抽出部１４とは、押下判定部１２により仮想キーを押下したと判定された指に対応する手領域のうちの互いに異なる部分領域から、それぞれ、奥行き特徴量及び水平特徴量を抽出してもよい。
【００５８】
図８（ａ）〜（ｃ）は、それぞれ、奥行き方向位置検出部１５が有する、奥側から順に１番目〜３番目のキー列に対応する識別器が利用する、手画像中のHOG特徴量の分布を示す図である。手画像８００のうちの各矩形領域８０１は、それぞれ、一つの第１のセルに対応する。そして第１のセル８０１の濃度は、そのセルから利用されたHOG特徴量の数を表し、セルが黒いほど、そのセルから抽出されたHOG特徴量が多数利用されていることを表す。図８（ａ）〜図８（ｃ）に示されるように、手画像８００の一番下端のセルに含まれるHOG特徴量は殆ど利用されておらず、一方、下から２番目のセルの列以上のセルに含まれるHOG特徴量が奥行き特徴量として多数利用されていることが分かる。
【００５９】
図９（ａ）〜（ｅ）は、それぞれ、水平方向位置検出部１６が有する、右端から順に１番目〜５番目の仮想キーの位置に対応する識別器が利用する、手画像中のHOG特徴量の分布を示す図である。手画像９００のうちの各矩形領域９０１は、それぞれ、一つの第２のセルに対応する。そして第２のセル９０１の濃度は、そのセルから利用されたHOG特徴量の数を表し、セルが黒いほど、そのセルから抽出されたHOG特徴量が多数利用されていることを表す。図９（ａ）〜図９（ｅ）に示されるように、手画像９００の下端近傍のセルに含まれるHOG特徴量が水平特徴量として多数利用されており、一方、手画像９００の中央より上側のセルに含まれるHOG特徴量は殆ど利用されていないことが分かる。
【００６０】
このように、手画像中で、奥行き特徴量が多数抽出される位置と水平特徴量が多数抽出される位置とは異なっている。そこで、奥行き方向特徴量抽出部１３は、手画像の高さ方向の所定位置よりも上側である第１の部分領域のみを複数の第１のセルに分割して、各第１のセルから奥行き特徴量を抽出してもよい。
また、水平方向特徴量抽出部１４は、手画像の高さ方向の所定位置以下である第２の部分領域のみを複数の第２のセルに分割して、各第２のセルから水平特徴量を抽出してもよい。
【００６１】
図１０は、手画像と第１及び第２の部分領域の位置関係を示す図である。図１０に示されるように、手画像１０００は、所定の高さHにおける水平方向の線を基準として第１の部分領域１００１と第２の部分領域１００２とに上下方向に２分割される。そして第１の部分領域１００１から奥行き特徴量が抽出され、第２の部分領域１００２から水平特徴量が抽出される。
なお、所定の高さHは、例えば、奥行き位置を検出する各識別器が利用するHOG特徴量の総数に対する、高さH以上の部分領域に含まれるHOG特徴量の数の比と、水平位置を検出する各識別器が利用するHOG特徴量の総数に対する、高さH以下の部分領域に含まれるHOG特徴量の数の比とが等しくなる高さ、例えば、手画像の下端から20画素の位置に設定される。
【００６２】
このように、奥行き特徴量を抽出する領域及び水平特徴量を抽出する領域を限定することにより、指位置検出処理に要する演算量が削減される。例えば、手画像全体から奥行き特徴量及び水平特徴量が算出される場合、セルの総数Num0は、Num0=S/x+S/yとなる。なお、Sは、手画像が有する画素の総数であり、yは第１のセルに含まれる画素数であり、xは第２のセルに含まれる画素数である。これに対して、第１の部分領域に含まれる画素数と第２の部分領域に含まれる画素数の割合がn:mであれば、この変形例では、奥行き特徴量及び水平特徴量が算出されるセルの総数Num1は、Num1={(S*m)/x+(S*n)/y}となる。したがって、セルの総数Num0に対するNum1の比rは(m/x+n/y)/(1/x+1/y)となる。この比rに応じた演算量が削減される。
【００６３】
さらに他の変形例によれば、奥行き方向特徴量抽出部１３は、複数の第１のセルのそれぞれから、HOG特徴量の代わりにEdge of Orientation Histograms(EOH)特徴量を抽出してもよい。そして、奥行き方向位置検出部１５は、各第１のセルから抽出されたEOH特徴量に基づいて奥行き方向における指の位置を検出してもよい。同様に、水平方向特徴量抽出部１４は、複数の第２のセルのそれぞれから、HOG特徴量の代わりにEOH特徴量を抽出し、水平方向位置検出部１６は、各第２のセルから抽出されたEOH特徴量に基づいて水平方向における指の位置を検出してもよい。
【００６４】
また制御部は、奥行き方向位置検出部１５が有する識別器または水平方向位置検出部１６が有する識別器を更新するための学習部を有してもよい。
【００６５】
図１１は、第２の実施形態による指位置検出処理に関する制御部６の機能ブロック図である。制御部６は、手領域検出部１１と、押下判定部１２と、奥行き方向特徴量抽出部１３と、水平方向特徴量抽出部１４と、奥行き方向位置検出部１５と、水平方向位置検出部１６と、押下キー特定部１７と、学習部１８とを有する。
第２の実施形態は、第１の実施形態と比較して、制御部６が学習部１８を有する点で異なる。そこで以下では、学習部１８及びその関連部分について説明する。
【００６６】
この実施形態では、携帯端末１の記憶部５は、識別器ごとに、複数の正解サンプル画像及び複数の非正解サンプル画像を記憶する。
学習部１８は、例えば、携帯端末１の電源がオフにされる操作が行なわれた場合、あるいは、携帯端末１の電源がオンにされた場合に、各識別器を学習する。学習部１８は、例えば、各識別器がRealAdaBoost識別器であれば、上記の学習処理のステップ１〜ステップ６を、更新しようとする識別器ごとに実行する。そして学習部１８は、識別器の識別番号とともに、その識別器を規定する複数のパラメータ、例えば、各弱識別器に入力される特徴量が含まれるセルの識別番号及び部分角度範囲の識別番号と、出現確率W+j、W-jなどを記憶部５に記憶させる。
【００６７】
また、制御部６は、キーが押下されたと判定された時の手画像をそのときの指の水平方向位置に対応する識別器及び指の奥行き方向位置に対応する識別器の正解サンプル画像として記憶部５に記憶させてもよい。さらに制御部６は、キーが押下されたと判定された時の手画像を、そのときの指の水平方向位置と異なる水平方向位置に対応する識別器の非正解サンプル画像として記憶部５に記憶させてもよい。同様に、制御部６は、その手画像を、そのときの指の奥行き方向位置と異なる奥行き方向位置に対応する識別器の非正解サンプル画像として記憶部５に記憶させてもよい。
このように、制御部６は、正解サンプル画像と非正解サンプル画像とを追加することにより、携帯端末１のユーザに応じて各識別器を更新できる。
【００６８】
なお、制御部６により実行される指位置検出処理は、仮想キーボードを用いた入力装置以外の用途において利用されてもよい。例えば、一定周期でユーザの手を撮影することで生成された複数の画像のそれぞれから、制御部６が指位置検出処理によって、特定の指の水平方向位置及び奥行き方向位置を検出してもよい。そして制御部６は、その水平方向位置と奥行き方向位置の時間的な遷移に応じて、入力される情報を特定してもよい。例えば、その時間的な遷移が所定の文字の書き順に沿っている場合、制御部６は、その所定の文字が入力されたと判定してもよい。この場合には、指の水平方向位置と奥行き方向位置の時間的な遷移と入力される情報とを関連付ける参照テーブルが予め作成され、記憶部５に記憶される。そして制御部６は、その参照テーブルを参照することにより、検出された指の水平方向位置と奥行き方向位置の時間的な遷移に対応する情報を特定できる。
【００６９】
また、指位置検出装置は、携帯端末以外の、カメラを有する様々な装置に実装されてもよい。
【００７０】
さらに、上記の各実施形態またはその変形例による携帯端末が有する制御部による指位置検出処理に関する各機能をコンピュータに実現させるコンピュータプログラムは、磁気記録媒体あるいは光記録媒体といった、コンピュータによって読み取り可能な媒体に記録された形で提供されてもよい。
【００７１】
ここに挙げられた全ての例及び特定の用語は、読者が、本発明及び当該技術の促進に対する本発明者により寄与された概念を理解することを助ける、教示的な目的において意図されたものであり、本発明の優位性及び劣等性を示すことに関する、本明細書の如何なる例の構成、そのような特定の挙げられた例及び条件に限定しないように解釈されるべきものである。本発明の実施形態は詳細に説明されているが、本発明の精神及び範囲から外れることなく、様々な変更、置換及び修正をこれに加えることが可能であることを理解されたい。
【００７２】
以上説明した実施形態及びその変形例に関し、更に以下の付記を開示する。
（付記１）
複数の指の先端側から該複数の指を撮影する撮像部から得た、該複数の指が写った画像から、該複数の指が含まれる手領域を検出する手領域検出部と、
前記手領域の少なくとも一部である第１の領域を所定の第１のサイズを持つ複数の第１のセルに分割し、該複数の第１のセルのそれぞれから、前記撮像部に対する奥行き方向における前記複数の指のうちの何れかの指の位置に関する特徴を表す第１の特徴量を抽出する第１方向特徴量抽出部と、
前記手領域の少なくとも一部である第２の領域を前記第１のサイズよりも小さい第２のサイズを持つ複数の第２のセルに分割し、該複数の第２のセルのそれぞれから、前記複数の指が並ぶ方向における前記複数の指のうちの何れかの指の位置に関する特徴を表す第２の特徴量を抽出する第２方向特徴量抽出部と、
前記第１の特徴量と前記奥行き方向における指の位置との関係を表す第１の識別器を有し、該第１の識別器に前記第１の特徴量を入力することによって前記奥行き方向における指の位置を検出する第１方向位置検出部と、
前記第２の特徴量と前記複数の指が並ぶ方向における指の位置との関係を表す第２の識別器を有し、該第２の識別器に前記第２の特徴量を入力することによって前記複数の指が並ぶ方向における指の位置を検出する第２方向位置検出部と、
を有する指位置検出装置。
（付記２）
前記第１方向特徴量抽出部は、前記手領域内の高さ方向の所定位置よりも上側の領域を前記第１の領域とし、一方、前記第２方向特徴量抽出部は、前記手領域内の前記所定位置以下の領域を前記第２の領域とする、付記１に記載の指位置検出装置。
（付記３）
前記第１の特徴量は、前記複数の第１のセルのそれぞれにおける輝度勾配の複数の方向のそれぞれごとの累積値である、付記１または２に記載の視線検出装置。
（付記４）
前記第２の特徴量は、前記複数の第２のセルのそれぞれにおける輝度勾配の複数の方向のそれぞれごとの累積値である、付記１〜３の何れか一項に記載の視線検出装置。
（付記５）
前記第１及び第２の識別器はブースティング型識別器である、付記１〜４の何れか一項に記載の視線検出装置。
（付記６）
複数の指の先端側から該複数の指を撮影する撮像部から得た、該複数の指が写った画像から、該複数の指が含まれる手領域を検出し、
前記手領域の少なくとも一部である第１の領域を所定の第１のサイズを持つ複数の第１のセルに分割し、該複数の第１のセルのそれぞれから、前記撮像部に対する奥行き方向における前記複数の指のうちの何れかの指の位置に関する特徴を表す第１の特徴量を抽出し、
前記手領域の少なくとも一部である第２の領域を前記第１のサイズよりも小さい第２のサイズを持つ複数の第２のセルに分割し、該複数の第２のセルのそれぞれから、前記複数の指が並ぶ方向における前記複数の指のうちの何れかの指の位置に関する特徴を表す第２の特徴量を抽出し、
前記第１の特徴量と前記奥行き方向における指の位置との関係を表す第１の識別器を有し、該第１の識別器に前記第１の特徴量を入力することによって前記奥行き方向における指の位置を検出し、
前記第２の特徴量と前記複数の指が並ぶ方向における指の位置との関係を表す第２の識別器を有し、該第２の識別器に前記第２の特徴量を入力することによって前記複数の指が並ぶ方向における指の位置を検出する、
ことを含む指位置検出方法。
（付記７）
前記手領域内の高さ方向の所定位置よりも上側の領域を前記第１の領域とし、一方、前記手領域内の前記所定位置以下の領域を前記第２の領域とする、付記６に記載の指位置検出方法。
（付記８）
複数の指の先端側から該複数の指を撮影する撮像部から得た、該複数の指が写った画像から、該複数の指が含まれる手領域を検出し、
前記手領域の少なくとも一部である第１の領域を所定の第１のサイズを持つ複数の第１のセルに分割し、該複数の第１のセルのそれぞれから、前記撮像部に対する奥行き方向における前記複数の指のうちの何れかの指の位置に関する特徴を表す第１の特徴量を抽出し、
前記手領域の少なくとも一部である第２の領域を前記第１のサイズよりも小さい第２のサイズを持つ複数の第２のセルに分割し、該複数の第２のセルのそれぞれから、前記複数の指が並ぶ方向における前記複数の指のうちの何れかの指の位置に関する特徴を表す第２の特徴量を抽出し、
前記第１の特徴量と前記奥行き方向における指の位置との関係を表す第１の識別器を有し、該第１の識別器に前記第１の特徴量を入力することによって前記奥行き方向における指の位置を検出し、
前記第２の特徴量と前記複数の指が並ぶ方向における指の位置との関係を表す第２の識別器を有し、該第２の識別器に前記第２の特徴量を入力することによって前記複数の指が並ぶ方向における指の位置を検出する、
ことをコンピュータに実行させる指位置検出用コンピュータプログラム。
（付記９）
前記手領域内の高さ方向の所定位置よりも上側の領域を前記第１の領域とし、一方、前記手領域内の前記所定位置以下の領域を前記第２の領域とする、付記８に記載の指位置検出用コンピュータプログラム。
（付記１０）
複数の仮想キーを用いた入力装置であって、
複数の指の先端側から該複数の指を撮影し、当該複数の指が写った画像を生成する撮像部と、
前記複数の仮想キーのそれぞれごとに、該仮想キーに対応する前記撮像部に対する奥行き方向における前記複数の指のうちの何れかの指の位置と前記複数の指が並ぶ方向における当該指の位置との組み合わせとの対応を表す参照テーブルを記憶する記憶部と、
前記画像から、該複数の指が含まれる手領域を検出する手領域検出部と、
前記手領域の高さ方向のサイズに基づいて、前記複数の指の何れかが前記複数の仮想キーの何れかを押下したか否かを判定する押下判定部と、
前記押下判定部により、前記複数の指のうちの何れかが前記複数の仮想キーの何れかを押下したと判定された場合、前記手領域の少なくとも一部である第１の領域を所定の第１のサイズを持つ複数の第１のセルに分割し、該複数の第１のセルのそれぞれから、前記撮像部に対する奥行き方向における当該仮想キーを押下した指の位置に関する特徴を表す第１の特徴量を抽出する第１方向特徴量抽出部と、
前記押下判定部により、前記複数の指のうちの何れかが前記複数の仮想キーの何れかを押下したと判定された場合、前記手領域の少なくとも一部である第２の領域を前記第１のサイズよりも小さい第２のサイズを持つ複数の第２のセルに分割し、該複数の第２のセルのそれぞれから、前記複数の指が並ぶ方向における当該仮想キーを押下した指の位置に関する特徴を表す第２の特徴量を抽出する第２方向特徴量抽出部と、
前記第１の特徴量と前記奥行き方向における指の位置との関係を表す第１の識別器を有し、該第１の識別器に前記第１の特徴量を入力することによって前記奥行き方向における前記仮想キーを押下した指の位置を検出する第１方向位置検出部と、
前記第２の特徴量と前記複数の指が並ぶ方向における指の位置との関係を表す第２の識別器を有し、該第２の識別器に前記第２の特徴量を入力することによって前記複数の指が並ぶ方向における前記仮想キーを押下した指の位置を検出する第２方向位置検出部と、
前記参照テーブルを参照することにより、前記複数の仮想キーのうち、前記奥行き方向における前記仮想キーを押下した指の位置と前記複数の指が並ぶ方向における前記仮想キーを押下した指の位置との組み合わせに対応する仮想キーを特定し、該特定された仮想キーに対応する入力情報が入力されたと判定する押下キー特定部と、
を有する入力装置。
【符号の説明】
【００７３】
１    携帯端末（入力装置）
２    表示部
３    撮像部
４    記憶媒体アクセス装置
５    記憶部
６    制御部（指位置検出装置）
７    筺体
８    記憶媒体
１１    手領域検出部
１２    押下判定部
１３    奥行き方向特徴量抽出部
１４    水平方向特徴量抽出部
１５    奥行き方向位置検出部
１６    水平方向位置検出部
１７    押下キー特定部
１８    学習部
【図１】
0005799817.tif 000005
【図２】
0005799817.tif 000006
【図３】
0005799817.tif 000007
【図４】
0005799817.tif 000008
【図５】
0005799817.tif 000009
【図６】
0005799817.tif 000010
【図７】
0005799817.tif 000011
【図１０】
0005799817.tif 000012
【図１１】
0005799817.tif 000013
【図８】
0005799817.tif 000014
【図９】
0005799817.tif 000015