(57)【特許請求の範囲】
【請求項１】
表面近くに投射した電磁放射を用いて前記表面に接している物体を検知することと、
前記検知した物体の外観に基づいて前記検知した物体が所定の種類の物体であるか否かを判断するように訓練されている学習認識モデルを用いて、前記検知した物体が前記所定の種類の物体であるか否かを判定することと、
前記検知した物体が前記所定の種類の物体であると判定した場合に、前記検知した物体に基づいてコンピュータアプリケーションへのユーザ入力を生成することと、を含み、
前記学習認識モデルは、多次元固有空間における学習点のセットを表す多項式を有し、前記多項式は、円錐を定義し、前記円錐は、多次元固有空間における学習点の前記セットを表すコンピュータで実行される方法。
【請求項２】
表面近くに投射した電磁放射を用いて、前記表面に近接した少なくとも第一および第二の物体を検知することと、
前記第一および第二の物体の外観に基づいて前記第一および第二の物体を認識するように訓練されている学習認識モデルを用いて、前記第一および第二の物体を認識することと、
前記第一および第二の物体を認識したことに基づいて、前記少なくとも第一および第二の物体のいずれかを制御対象物として指定することと、
前記制御対象物を用いてコンピュータアプリケーションへのユーザ入力を生成することと、を含み、
前記学習認識モデルは、多次元固有空間における学習点のセットを表す多項式を有し、前記多項式は、円錐を定義し、前記円錐は、多次元固有空間における学習点の前記セットを表すコンピュータで実行される方法。
【請求項３】
表面近くに投射した電磁放射を用いて、前記表面の周辺の少なくとも第一および第二の物体を検知することと、
前記第一および第二の物体の外観に基づいて前記第一および第二の物体を認識するように訓練されている学習認識モデルを用いて、前記第一および第二の物体を認識することと、
前記認識した第一および第二の物体に基づいてコンピュータアプリケーションへのユーザ入力を生成することと、を含み、
前記学習認識モデルは、多次元固有空間における学習点のセットを表す多項式を有し、前記多項式は、円錐を定義し、前記円錐は、多次元固有空間における学習点の前記セットを表すコンピュータで実行される方法。
【請求項４】
表面近くに投射した電磁放射を用いて、前記表面に接している少なくとも第一および第二の物体を検知することと、
前記少なくとも第一および第二の物体の外観に基づいて制御対象物を特定するように訓練されている学習認識モデルを用いて、前記第一および第二の物体を制御対象物として認識することと、
前記制御対象物を用いてコンピュータアプリケーションへのユーザ入力を生成することと、を含み、
前記学習認識モデルは、多次元固有空間における学習点のセットを表す多項式を有し、前記多項式は、円錐を定義し、前記円錐は、多次元固有空間における学習点の前記セットを表すコンピュータで実行される方法。
【請求項５】
表面近くに投射した電磁放射を用いて、前記表面に接している入力対象物体を検知することと、
前記入力対象物体を、制御対象物体の訓練画像の固有空間内の円錐とテールとしてモデル化された入力セットと比較することと、
前記入力対象物体と前記モデル化された円錐とテールとの比較に基づいて、前記検知した物体が前記制御対象物体であるか否かを判定することと、
前記検知した物体が前記制御対象物体であると判定した場合に、前記検知した物体に基づいてコンピュータアプリケーションへのユーザ入力を生成することと、を含み、
訓練画像の前記モデル化された入力セットは、多項式によって表されるコンピュータで実行される方法。
【請求項６】
表面近くに投射した電磁放射を用いて前記表面に接している入力対象物体を検知することと、
前記入力対象物体を、制御対象物体の訓練画像の三次元二次曲面の一般式を用いて固有空間内で円錐としてモデル化された入力セットと比較することと、
前記入力対象物体と前記モデル化された入力セットとの比較に基づいて、前記検知した物体が前記制御対象物体であるか否かを判定することと、
前記検知した物体が前記制御対象物体であると判定した場合に、前記検知した物体に基づいてコンピュータアプリケーションへのユーザ入力を生成することと、を含み、
訓練画像の前記モデル化された入力セットは、多項式によって表されるコンピュータで実行される方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は画像処理に関し、より詳細には画像中の物体を検出することに関する。
【背景技術】
【０００２】
画像中の物体を検出し認識するためには、画像フィルタリングおよびパターン認識法を使用するのが一般的である。数百または数千のピクセルを含む画像中の物体を検出して認識するためには、多大な処理能力が必要となることがあり、時間が掛かることがある。よって、画像中の物体を検出して認識するために画像を処理する前に画像の次元数を減らすことが有益であることがある。データの次元を減らすための公知の技法の一つとして、主成分分析（ＰＣＡ）がある。ＰＣＡは、例えば非特許文献１で説明されている。
【０００３】
ＰＣＡでは、データセットの重要な特徴を表すものとしてデータセットの共分散行列の固有値および固有ベクトルを使用し、これによってデータセットの次元数を減少させる。
【０００４】
ところで、人間がコンピュータと対話するのを可能にする方法および機構が数多く存在する。コンピュータビジョン技術によって、カメラによって捕捉された画像の中の物体をコンピュータが検出することできる場合がある。画像の中の物体を検出し認識できるコンピュータの場合、ユーザーが手振りを使ってそのコンピュータと対話することが可能である。
【０００５】
コンピュータ・ユーザー・インタフェースが表面または画面に表示されることがある。一つ以上のカメラが表面または画面の周辺における活動を監視し、画面周辺の活動の画像を捕捉してよい。そしてそのコンピュータはこれらの画像を処理し、画像中の一つ以上の物体を検出し、ユーザーが表面または画面に表示されたコンピュータ・ユーザー・インタフェースと対話するために手振りを使用していることを感知してよい。
【０００６】
ユーザーが表面または画面に表示されたコンピュータ・ユーザー・インタフェースと対話するために手振りを使用していることを感知するシステムが存在する。これらのうち幾つかのシステムは単に、画像の中の最も明るい物体を感知して、その物体を手または指として分類する。その結果これらのシステムは、手でも指でもない物体を手または指として感知してしまうことがある。
【先行技術文献】
【非特許文献】
【０００７】
【非特許文献１】ジョリフ  アイ．ティ．（Joliffe I.T.）著、「主成分分析（Principal Component Analysis）」、スプリンガー−ヴァーラグ（Springer-Verlag）、ニューヨーク、１９８６年
【発明の概要】
【課題を解決するための手段】
【０００８】
画像の中の手または指をより正確に識別し、これによってコンピュータと人間との対話の効果と効率性とを向上させるために、本開示のいくつかのシステムは、（１）表面または画面に触れているかまたは近辺で動いている物体を手または指として認識し、（２）手または指のいずれとも認識されない物体を除外する。
【０００９】
表面または画面に触れているかまたは近辺で動いている指を検出して認識するための方法および装置を提供する。指の存在を検出するために、および検出された指の位置を追跡するために画像を処理する。コンピュータは、例えばコンピュータのマウスポインタを制御するために指の位置を使用してもよい。提供する方法は、従来のマウスおよび／またはキーボードの使用よりも自然な方法で人間がコンピュータと対話できるようにするために有益となり得る。
【００１０】
一つの実施形態では、一つ以上の方向を向いた一本以上の指のモデルを作成する。より詳細には、一本以上の指の学習用画像セットをカメラによって捕捉する。ＰＣＡ法を適用して学習用画像セットのモデルを作成する。学習用画像セットの共分散行列を算定して、その共分散行列から特定の個数の固有ベクトルを選択して、学習用画像セットの固有空間を定義する。学習用画像セットの画像それぞれを、共分散行列の選択された固有ベクトルによって定義された固有空間に投影する。固有空間では、各学習用画像は一つの学習点によって表される。よって、固有空間に学習用画像それぞれを投影することによって、固有空間に学習点群が作成される。そしてその学習点群は固有空間において幾何学モデル（例えば、曲面または線など）によって近似される。
【００１１】
そしてそのモデルを利用して、画像内の指を検出し認識し追跡する。一つのシステムでは、カメラと赤外線（ＩＲ）照射装置を表面または画面の背後に配置する。表面または画面に触れているかまたは近辺で動いている指が、ＩＲ照射装置によって投射されたＩＲ放射の一部を反射する。反射されたＩＲ放射の一部がカメラによって画像内に捕捉される。そして下記に説明するように、画像の中の指の存在および位置を検出し認識するためにその画像を処理する。
【００１２】
この処理は、画像から指である可能性がある一つ以上の物体を抽出することを含む。抽出された各物体を、学習用画像セットに対して定義された固有空間に投影する。固有空間では、抽出された物体の投影点は一つの画像点によって表される。この一つの画像点の座標値を学習点群のモデルと比較して、その一つの画像点がそのモデルと一致、またはほぼ一致するか否かを判定する。その一つの画像点がそのモデルと一致、またはほぼ一致する場合、その物体を指であると判定する。その物体を指であると判定した場合、表面または画面に対する指の位置（例えば、（ｘ，ｙ）座標）を算出して、例えばコンピュータおよび／またはソフトウェアアプリケーションに入力する。
【００１３】
概略の態様に従うと、特定の物体を表す画像点の多次元空間における座標値を算定する。一つ以上の他の物体の学習用画像セットの特性を示す前記多次元空間内のモデルを表す式を提供する。前記画像点と前記モデルとの間の距離を算定するために前記式に前記座標値を適用する。前記算定された距離に基づいて前記特定の物体が前記一つ以上の他の物体と一致するか否かを判定する。
【００１４】
前記概略の態様の実施形態は以下の特徴の一つ以上を含んでいてもよい。例えば、前記特定の物体の画像を受け取ってもよい。前記画像が多数のデータ要素を有していてもよく、前記多次元空間が前記データ要素の数よりも少ない次元数を有していてもよい。前記画像点の前記座標値を算定することに、前記多次元空間に前記画像を投影して前記多次元空間に前記画像点の前記座標値を生じさせることが含まれていてもよい。
【００１５】
前記モデルが、前記多次元空間における学習点のセットの近似モデルであり、前記セットの前記各学習点は一連の学習用画像のうちの一つ以上の画像に対応していてもよい。
【００１６】
前記特定の物体の前記画像は受け取られる前に正規化されてもよい。前記特定の物体の前記画像を正規化することによって、明るさの変化に対処してもよい。前記物体の前記画像を正規化することは、前記特定の物体の前記画像にヒストグラム等化法を適用することを含んでもよい。
【００１７】
前記式が、双曲面、円錐、線、または円錐と線との組み合わせを表してもよい。前記特定の物体は、指と、ペンと、略円筒形の物体とのうちの一つの物体であってもよい。
【００１８】
前記式を提供することは、第１の学習用画像セットの特性を示す第１のモデルを表す第１式と、第２の学習用画像セットの特性を示す第２のモデルを表す第２式とから前記式を選択することを含んでもよい。
【００１９】
別の概略の態様に従うと、特定の物体の画像であって、複数のデータ点を有する画像を受け取る。前記データ点の数よりも少ない次元数を有する多次元空間に前記画像を投影して、前記特定の物体を表す画像点の座標値を前記多次元空間において生じさせる。前記多次元空間における学習点セットのモデルを表す式を提供する。前記セットの各学習点は、一つ以上の他の物体の学習用画像セットのうちの一つ以上の画像に対応している。前記画像点と前記モデルとの間の距離を算定するために前記式に前記座標値を適用し、前記算定された距離に基づいて前記特定の物体が前記他の物体と一致するか否かを判定する。
【００２０】
前記の概略の態様の実施形態は、以下の特徴の一つ以上を含んでいてもよい。例えば、前記式を提供することは、第１の学習用画像セットの特性を示す第１のモデルを表す第１式と、第２の学習用画像セットの特性を示す第２のモデルを表す第２式とから前記式を選択することを含んでもよい。
【００２１】
別の概略の態様に従うと、システムが、カメラと、前記カメラに結合された処理装置とを有していてもよい。前記処理装置は、特定の物体を表す画像点の多次元空間における座標値を算定するように構成されている。前記処理装置はまた、一つ以上の他の物体の学習用画像のセットの特性を示す前記多次元空間内のモデルを表す式を提供するように構成されている。前記処理装置はさらに、前記画像点と前記モデルとの間の距離を算定するために前記式に前記座標値を適用し、前記算定された距離に基づいて前記特定の物体が前記一つ以上の他の物体と一致するか否かを判定するように構成されている。
【００２２】
前記概略の態様の実施形態は、以下の特徴の一つ以上を含んでいてもよい。例えば、前記カメラは赤外線カメラであってもよい。前記システムは、赤外線源を有していてもよい。前記システムは、前記カメラの前に配置された画面を有していてもよい。前記画面の前記カメラと反対側に配置された物体によって反射された光が前記画面を通過して前記カメラによって受け取られるように、前記画面が少なくとも半透明であってもよい。
【００２３】
別の概略の態様に従うと、特定の物体を表す特定の画像点の多次元空間における座標値を算定するためにツールが提供される。前記ツールはまた、一つ以上の他の物体の学習用画像のセットの特性を示す前記多次元空間内のモデルを表す式を提供する。前記ツールはまた、前記特定の画像点と前記モデルとの間の距離を算定し、前記算定された距離に基づいて前記特定の物体が前記一つ以上の他の物体と一致するか否かを判定するために、前記式に前記座標値を適用するためにも提供される。
【００２４】
前記概略の態様の実施形態は、以下の特徴の一つ以上を含んでいてもよい。例えば、前記学習用画像セット受け取ってもよく、前記セットの画像のそれぞれが複数のデータ要素を有していてもよい。前記学習用画像セットに基づいて前記多次元空間を決定してもよく、前記多次元空間は前記データ要素の数よりも少ない次元数を有していてもよい。学習点セットを、前記多次元空間に前記学習用画像セットの各画像を投影し前記多次元空間における対応する学習点の座標値を生じさせることによって生成してもよい。前記学習用点セットの各学習点が、前記学習用画像セット内の少なくとも一つの画像に対応していてもよい。前記学習用画像セットの特性を示す前記多次元空間内のモデルを表す前記式を決定してもよい。
【００２５】
前記学習用画像セットの各画像は、受け取られる前に正規化されてもよい。前記学習用画像セットの各画像を正規化することによって、明るさの変化に対処してもよい。前記学習用画像セットの各画像を正規化することは、前記学習用画像セットの各画像にヒストグラム等化法を適用することを含んでもよい。
【００２６】
各種態様、実施形態、特徴は、例えば方法、装置、方法を実行するための装置またはツールまたは処理装置、プログラムまたは他の命令セット、プログラムまたは命令セットを含む装置、コンピュータ読み取り可能な媒体などのうちの一つ以上を使用して実施してもよい。コンピュータ読み取り可能な媒体は、例えば、命令群、ソフトウェア、画像、他のデータなどを含んでいてもよい。
【００２７】
一つ以上の実施形態の詳細を、添付の図面と以下の記述の中で説明する。他の特徴は、以下の記述と図面と請求項から明らかとなるだろう。
【図面の簡単な説明】
【００２８】
【図１】指を認識して追跡する一つのシステムを例示している。
【図２（ａ）】画像の中の二つの物体を例示するサンプル画像である。
【図２（ｂ）】図２（ａ）のサンプル画像から抽出された二つの物体を示すサンプルシャドーマトリックスである。
【図３】画像から抽出された物体が目的の物体としては大きすぎるか否かを判定するための図である。
【図４（ａ）】指認識および追跡システムに学習させるための第１の処理を例示するフローチャートである。
【図４（ｂ）】図４（ａ）の工程４１０を実行するための処理を例示するフローチャートである。
【図５】指のサンプル画像である。
【図６】三次元固有空間における学習点群を例示している。
【図７（ａ）】指の別のサンプル画像である。
【図７（ｂ）】図７（ａ）のと同じ指のサンプル画像であるが、指の方向が異なっている。
【図８（ａ）】指のさらに別のサンプル画像である。
【図８（ｂ）】図８（ａ）のと同じ指のサンプル画像であるが、指の方向が異なっている。
【図９（ａ）】三次元固有空間における学習点群を例示している。
【図９（ｂ）】図９（ａ）の三次元固有空間における図８（ａ）および図８（ｂ）のサンプル画像の投影点を例示している。
【図１０（ａ）】図９（ａ）の学習点群と、この学習点群に対応する三次元モデルとを例示している。
【図１０（ｂ）】図１０（ａ）をカラーで示したものである。
【図１１（ａ）】図９（ａ）の学習点群に対応する切り取られたモデルを例示している。
【図１１（ｂ）】図１１（ａ）の切り取られたモデルと、そのモデルに対応する学習点群とを例示している。
【図１１（ｃ）】図１１（ｂ）をカラーで示したものである。
【図１２】図４（ａ）の処理によって学習したシステムを使用して画像中の指を認識するための処理を例示するフローチャートである。
【図１３】指認識および追跡システムに学習させるための第２の処理を例示するフローチャートである。
【図１４】三次元固有空間における別の学習点群を例示している。
【図１５】図１４の学習点群の、円錐形を形成している第１のサブセットを例示している。
【図１６】図１４の学習点群の、線状の形状を形成している第２のサブセットを例示している。
【図１７（ａ）】図１５の学習点の第１のサブセットと、学習点の第１のサブセットに対応する垂直円錐モデルとを例示している。
【図１７（ｂ）】図１５の学習点の第１のサブセットと、学習点の第１のサブセットに対応する切り取られた垂直円錐モデルとを例示している。
【図１７（ｃ）】図１７（ａ）をカラーで示したものである。
【図１７（ｄ）】図１７（ｂ）をカラーで示したものである。
【図１８（ａ）】図１６の学習点の第２のサブセットと、学習点の第２のサブセットに対応する線モデルとを例示している。
【図１８（ｂ）】図１８（ａ）をカラーで示したものである。
【図１９】図１３の処理によって学習したシステムを使用して画像中の指を認識するための処理を例示するフローチャートである。
【図２０】画像中の物体を認識するための別の処理を例示するフローチャートである。
【発明を実施するための形態】
【００２９】
表面に触れるまたは表面の近辺で動く指を検出して認識するためのシステムおよび方法を開示する。また、これらのシステムおよび方法を、表面に触れるまたは表面の近辺で動く他の対象物を検出して認識するために使用してもよい。さらに、これらのシステムおよび方法を、表面のない視野内で対象物を検出して認識するために使用してもよい。より一般的には、これらのシステムおよび方法を、画像中の物体を検出して認識するために使用してもよい。
【００３０】
図１は、一本以上の指を認識し追跡するための例示的なシステム１００を図示している。表面１０４の後方に配置されている赤外線（ＩＲ）照射装置１０２は、表面１０４の後ろおよび前の両方に延在する領域１０６を照射する。ＩＲフィルタ１１０を備えるカメラ１０８が表面１０４の後方に配置されて、例えば表面１０４およびその周辺の画像を捕捉する。カメラ１０８によって捕捉された画像は、データ要素（例えばピクセル）によってデジタル値で表現されてよい。表面１０４の後方に配置されたプロジェクタ１１２は、表面１０４の上にコンピュータ・ユーザー・インタフェースを投射する。表面１０４に投射されたコンピュータ・ユーザー・インタフェースは、従来のコンピュータディスプレイであってもよい。プロジェクタ１１２は、可視光に加えてＩＲを投射してもよい。よって、一つの選択肢として、プロジェクタ１１２には、プロジェクタ１１２によって投射されるＩＲを減らすかまたは取り除くためのＩＲフィルタ１２０が備えられてもよい。
【００３１】
本開示の技法および装置によって、ユーザーが、手振りを使用してコンピュータ・ユーザー・インタフェースと対話できるようになる。
【００３２】
例えば、ユーザーの指１１４の位置を追跡することによって、ユーザーが表面１０４を自分の指で触るか、または表面１０４の近辺で自分の指を動かすことによってコンピュータ・ユーザー・インタフェース上のマウスポインタの位置を制御できるようにしてもよい。例えばマウスポインタの所望の位置を示すために、ユーザーの指１１４の位置を使用することがある。ある実施形態では、ユーザーの指１１４の位置を正確に認識するために、ユーザーの指１１４をユーザーの手の平１１８と区別することが望ましいことがある。
【００３３】
図１に例示するシステム１００は一つの実施形態の一例にすぎず、他の構成も可能である。カメラ１０８によって捕捉された画像は、物体によって反射された光を捕捉することによって生成されてよい。光は、ＩＲ、可視光、紫外線、または任意の他の電磁放射を含んでよい。よって、ＩＲ照射装置１０２が必要ない場合がある。他の光源をＩＲ照射装置の代わりに使用することがある。別の実施形態では、光源が必要ないこともある。その代わりとしてシステム１００は、反射された周囲光のみを使用することがある。さらに、カメラ１０８が表面１０４の後方に配置される必要はない。例えば、カメラ１０８を、システム１００の中の好適だと思われる任意の場所に配置してよい。さらに、システム１００を、必ずしも人間−コンピュータ間の対話を容易するために使用する必要はない。その代わりに、一つの実施形態では、カメラ１０８によって捕捉された画像の中の物体を検出するためにシステム１００を使用してもよい。このような実施形態では、表面１０４は必要ないことがある。
【００３４】
一般的には、画像中の対象物を指として検出し認識する際には、多くの処理手順が関わる場合がある。例えば、最初にシステム１００に、ある対象物を指として認識するように学習させることがある。この学習段階は、一つ以上の方向を向いた一本以上の指の学習用画像のセットを捕捉し、この学習用画像のセットのモデルを構築することを含んでいることがある。認識段階では、システム１００が画像を捕捉し、捕捉された画像から物体を抽出し、抽出された物体が指か否かを判定するために抽出された物体を学習段階で作成された学習用画像セットのモデルと比較することがある。指として画像中の物体を検出して認識する際に関わる可能性のある処理は、後で詳細に説明される。
【００３５】
画像の注目領域（ＲＯＩ）１１６を、表面１０４を含む画像の一部として定義することがある。一本以上の指１１４を検出して認識するために、画像のＲＯＩ１１６を調べることがある。カメラ１０８によって捕捉された画像には、ＩＲ照射装置１０２によって生成され、ＲＯＩ１１６内の一本以上の指によって反射されたＩＲの反射が含まれていることがある。または、ＩＲは、ＲＯＩ１１６内の一つ以上の他の物体によって反射されることがある。例えば、表面１０４がＩＲを反射することがある。
【００３６】
表面１０４によってまたはＲＯＩ１１６内の他の物体によって恒常的に反射されたＩＲを表現するために、表面１０４によってまたはＲＯＩ１１６内の他の物体によって恒常的に反射されたＩＲの背景モデル（ＢＧＭ）を作成して、カメラ１０８によって捕捉された各画像から引算してよい。カメラ１０８によって捕捉された各画像からこのＢＧＭを引算することによって、捕捉された画像から背景の物体によって反射されたＩＲを効果的に除外、または少なくとも低減できる。結果として、各画像からＢＧＭを引算することによって、ＲＯＩ１１６内の注目する物体と、表面１０４および／またはＲＯＩ１１６内に恒常的に存在する他の物体との間のコントラストを強める場合がある。
【００３７】
注目する物体が存在しない状態でＲＯＩ１１６の複数の画像を捕捉して、そして、捕捉された画像群をピクセル単位で平均化して新しい平均画像すなわちＢＧＭを作成することによって、該ＢＧＭを作成してもよい。そしてカメラ１０８によって捕捉された各画像からＢＧＭを引算してもよい。この処理は次の式で表現することができる：
【数１】
0005777582.tif 000002
【００３８】
ここで、Ｉは画像であり、ＢはＢＧＭであり、εは調節可能なしきい値（例えば調節可能な定数）であり、Ｊは結果の画像である。ＢＧＭを、例えばランダムに、または定期的に、または引き金となるイベントの発生時に更新することがある。
【００３９】
図２（ａ）、図２（ｂ）、図３を参照すると、画像中の物体の存在を検出してその物体が注目する物体であるか否かについての最初の判定を行うための処理の例が示されている。
【００４０】
詳細には、図２（ａ）には、サンプル画像２００（ａ）内の２つの物体２０２（ａ）と２０４（ａ）が示されている。図２（ａ）に示すように、物体２０２（ａ）と２０４（ａ）は、背景２０６（ａ）よりも暗く示されている。しかし、２つの物体２０２（ａ）と２０４（ａ）によって反射された光によって形成された画像２００（ａ）では、２つの物体２０２（ａ）、２０４（ａ）は背景２０６（ａ）よりも明るいと予想される。従って、図２（ａ）の画像２００（ａ）は、画像２００（ａ）中の２つの物体２０２（ａ）、２０４（ａ）の単なる一例であり、この画像２００（ａ）は、画像中の物体はその画像の背景よりも暗いことを示唆するものではないことを理解されたい。
【００４１】
画像２００（ａ）から物体２０２（ａ）、２０４（ａ）を抽出するために、Grassfireアルゴリズムなどのブロッブ分析アルゴリズムを使用することがある。Grassfireアルゴリズムは、例えばNew YorkのPrentice-Hall 社発刊のPitas I.著の「Digital Image Processing Algorithms」（1993）に記載されている。画像中の物体の存在を検出してその画像からその物体を抽出するためのほかのアルゴリズムを使用してもよい。
【００４２】
Grassfireアルゴリズムは、画像内で物体を探し、検出した各物体のピクセル群を１つの共通ラベルで識別する。具体的には、物体によって反射された光によって形成され、その物体が背景よりも明るい画像では、Grassfireアルゴリズムは画像中の最も明るいピクセルを特定する。例えば、画像は、各ピクセルに２５６個の可能な値があるグレイスケール画像であってもよい。この場合、各ピクセルが０〜２５５のうちの一つの値を割り当てられ、ゼロは最も暗いピクセル（例えば真黒）を、２５５は最も明るいピクセル（例えば真白）を表す。画像の中で最も明るいピクセルが２２０の値を持つとする。Grassfireアルゴリズムでは、ピクセルが物体に関連するものか否かを判定するために、画像中の最も明るいピクセルから調整可能なしきい値定数を引いたものと画像中の各ピクセルを比較する。例えば、調節可能なしきい値は５０であってもよい。この場合、Grassfireアルゴリズムは、最も明るいピクセルから５０シェード以内に入るいずれのピクセルも物体を表していると見なすことがある。つまり、許容範囲１７０〜２２０内の値を持ついずれのピクセルも物体を表していると見なすことがある。そして、Grassfireアルゴリズムは、この許容範囲に入る隣接するピクセル群のセットが物体を構成していると見なすことがある。
【００４３】
Grassfireアルゴリズムは、元の画像と同じサイズであるシャドーマトリックスと呼ばれるマトリックスを生成することがある。元の画像で物体を表すとして識別されたピクセルに対応するシャドーマトリックスの要素は、共通ラベルによって識別されてもよい。図２（ｂ）は、図２（ａ）で示されているサンプル画像２００（ａ）に対応するシャドーマトリックス２００（ｂ）の一例を示している。サンプル画像２００（ａ）の物体２０２（ａ）は、シャドーマトリックス２００（ｂ）において物体２０２（ｂ）によって表されており、物体２０２（ｂ）の各要素は共通ラベル「１」で識別される。同様に、サンプル画像２００（ａ）の物体２０４（ａ）は、シャドーマトリックス２００（ｂ）において物体２０４（ｂ）によって表されており、物体２０４（ｂ）の各要素は共通ラベル「２」で識別される。図２（ｂ）に示すように、Grassfireアルゴリズムは、サンプル画像２００（ａ）から物体２０２（ａ）と２０４（ａ）とを効果的に抽出することができる。
【００４４】
再び図１を参照すると、観念的には、指１１４が表面１０４に触れているか、または表面１０４近辺で動いている場合、指１１４は画像中で最も明るい物体となる。しかし、表面１０４を触っているかまたは表面１０４近辺で動いている指１１４が常に画像中の最も明るい物体であるとは限らない。例えば、ユーザーが自分の指１１４で表面１０４に触れると、ユーザーの手の平１１８が、画像中で明るい物体として見えるのに十分なＩＲ放射を反射することがある。また、長袖などの他の物体が、画像の中で明るい物体として見えるのに十分なＩＲ放射を反射することもある。ユーザーの指１１４よりも多くのＩＲ放射を反射する物体があり、結果として画像の中でユーザーの指１１４よりも明るい物体として見えることがある。
【００４５】
従って、一つの実施形態では、画像中の最も明るい物体だけではなく、いくつかの物体をその画像から抽出することがある。しかし、認識のために画像中の多くの物体を処理することは、多大な処理能力が必要とし時間が掛かることがある。従って、認識のために処理される抽出物体の数を減らすための技法を適用することがある。抽出された物体は、それが指ではありそうもないような特徴を示し、そのために除外されることがある。抽出された物体を分類するために使用可能な基準の一つは大きさであることがある。例えば、抽出された物体は指としては大きすぎることがある。同様に、抽出された物体は指としては小さすぎることがある。
【００４６】
図３は、画像から抽出された物体３００が指としては大きすぎるか否かを判定するための処理の一例を示すために使用する図３０１である。抽出された物体３００の中心３０２を取り囲む４つのサンプリング領域３０４、３０６、３０８、３１０内の一つ以上のピクセルをサンプリングしてよい。抽出された物体３００の中心３０２とサンプリング領域３０４、３０６、３０８、３１０との間の距離は、例えば調節可能な定数である。図３に示すように、抽出された物体３００の中心３０２を取り囲む２つのサンプリング領域３０４、３０８は、抽出された物体３００の中心３０２を通る垂直線３１２上に位置していてよい。同様に、抽出された物体３００の中心３０２を取り囲む２つのサンプリング領域３０６、３１０は、抽出された物体３００の中心３０２を通る水平線３１４上に位置していてよい。
【００４７】
指１１４の画像はテール（例えば図５を参照）を含む場合があるため、サンプリング領域３０４、３０６、３０８、３１０を対にして考察することがある。例えば、抽出された物体３００の中心３０２を通る水平線３１４上に位置する２つのサンプリング領域３０６、３１０を第１ペアと見なし、同様に、抽出された物体３００の中心３０２を通る垂直線３１２上に位置する２つのサンプリング領域３０４、３０８を第２ペアと見なしてよい。
【００４８】
第１ペアのサンプリング領域３０６、３１０内のピクセル値の合計が許容できるしきい値レベルを超えている場合、サンプリング領域３０６、３１０は抽出された物体３００の一部であると判定してよい。第１ペアのサンプリング領域３０６、３１０内のピクセル値の合計が該許容できるしきい値レベルを超えている場合、第２ペアのサンプリング領域３０４、３０８内のピクセル値の合計を該許容できるしきい値レベルと比較してよい。
【００４９】
第２ペアのサンプリング領域３０４、３０８内のピクセル値の合計が該許容できるしきい値レベルを超えていれば、サンプリング領域３０４、３０８は抽出された物体３００の一部であると判定してよい。第１ペアのサンプリング領域３０６、３１０内のピクセル値合計が該許容できるしきい値レベルを超えかつ、第２ペアのサンプリング領域３０４、３０８内のピクセル値合計が該許容できるしきい値レベルを超えていれば、その物体は指としては大きすぎると判定して、結果的にその物体を除外することがある。
【００５０】
同様に、画像から抽出された物体が指としては小さすぎることもある。抽出された各物体を表すピクセルの数を数えてよい。物体を表すピクセルの数がしきい値定数よりも小さければ、その物体をノイズまたは何か他の物体であると判定して、結果的にその物体を除外することがある。
【００５１】
画像の中の物体を指として認識することに、学習段階と認識段階とが含まれていることがある。学習段階では、認識すべき物体の多数の学習用画像のセットをシステム１００に与え、その物体を認識するようシステム１００に学習させることがある。その学習用画像セットは、様々な異なる向きに置かれた識別対象物体の画像を含んでよい。認識段階において、システム１００は画像の中の物体を検出してその物体を該学習用画像セットと、または該学習用画像セットのモデルと比較して、その物体が識別対象物体か否かを判定することがある。
【００５２】
一つの実施形態では、学習段階では、様々な異なる方向を向いた一本以上の指の多数の画像を捕捉する。該学習用画像セットの共分散行列を決定して、その共分散行列の固有ベクトル群の選択されたセットを使用して固有空間を定義する。固有空間を定義するために、任意の数の固有ベクトルを選択してよい。固有空間の次元数は、その固有空間を定義するために選択された固有ベクトルの数によって決まる。例えば、３次元の固有空間は、３つの固有ベクトル、例えば３つの最も大きい固有値に対応する固有ベクトルを選択することによって定義される。該学習用画像セットの各学習用画像を３次元固有空間に投影して、その固有空間に３次元点の集合を作成する。固有空間内の三次元点の集合を、多項式によって分析的に表現できる三次元幾何学モデル（例えば二次曲面または二次曲線など）によって近似する。例えば、学習用画像セットの投影は双曲面または円錐状曲面を形成することがある。さらに、またはその代わりに、学習用画像セットの投影は固有空間に線状の幾何学形状を形成することがある。三次元空間では、双曲面、円錐、および曲線は多項式によって分析的に表現できる。よって、固有空間において学習用画像セットを近似する幾何学形状（幾何学的モデルとも呼ぶ）を使用することがある。
【００５３】
この実施形態の認識段階において、画像から抽出された物体を、学習段階において定義された固有空間に投影する。固有空間において投影された物体からモデルまでの距離を算定するために、該固有空間における投影された画像に対応する三次元点を特定する三つの座標値を、該固有空間内の該学習用画像セットのモデルを定義する多項式に適用する。投影された物体がモデルから例えば所定の距離内にある場合に、その投影された物体は指であると判定してもよい。
【００５４】
図５〜図２０を参照して、学習段階と認識段階の具体的な実施例を詳細に説明する。
【００５５】
図４（ａ）は、画像の中の物体を指として認識するようにシステム１００に学習させるための例示的な処理４００を示すフローチャートである。処理４００ではまず、表面１０４またはＲＯＩ１１６に恒常的に存在する他の物体によって反射されたＩＲのＢＧＭを作成する（工程４０２）。そして、様々な異なる方向を向いた指１１４の多数の入力画像をカメラ１０８によって捕捉する（工程４０４）。次に、ＢＧＭを入力画像のそれぞれから引算する（工程４０６）。そして、各画像から指１１４を表す部分を抽出して、基準ｎ×ｎ画像サイズに変換する（工程４０８）。各画像の指１１４を表す部分を、Grassfireアルゴリズムなどのブロッブ分析アルゴリズムを使用して抽出してもよい。または、各画像の指１１４を表す部分を画像の見た目に基づいて手動で抽出してもよい。指を表す画像の抽出部分には、多数のピクセルが含まれていることがある。指を表す画像の部分を処理するのに必要な計算負荷を減らすために、指を表すために使用されているピクセルの数を減らすことが望ましいことがある。従って、指を表す画像の抽出部分の解像度を下げることがある。例えば、元の画像中の指を表す部分が、６４×６４ピクセルであるとする。指を表す６４×６４の部分を画像から抽出した後、抽出された指の解像度を、１６×１６画像によってその指を表すよう下げることがある。
【００５６】
図５は、指５０２の例示的なｎ×ｎ画像５００を示す図である。
【００５７】
そして、ｎ×ｎ学習用画像のセットの固有空間を定義する（工程４１０）。図４（ｂ）に工程４１０が詳細に例示されている。まず、学習用画像セットの共分散行列Ｃを決定する（工程４１０（ａ））。整形されたｎ×ｎ画像Ｉ（ｎ×ｎ）をベクトルＶ（ｍ）（ただし、ｍ＝ｎ２）によって表した場合、ｔ個の学習用画像のセット｛Ｉ１、Ｉ２、・・・Ｉｔ｝の共分散行列Ｃは次のように定義できる：
Ｃ＝ＧＴＧ                  （２）
【００５８】
ここでＧは、要素Ｇｉ，ｊ＝（Ｖｉ，ｊ−μｉ）を持つｔ×ｍ行列である。要素Ｇｉ，ｊ＝（Ｖｉ，ｊ−μｉ）において、Ｖｉ，ｊは、学習用セットの整形された画像ＩｉのベクトルであるＶｉのｊ番目の要素であり、μｉはベクトルＶｉの平均値である。よって、共分散行列Ｃはｍ×ｍ行列となる。そして共分散行列の固有値と固有ベクトルを決定する（工程４１０（ｂ））。共分散行列の固有値と固有ベクトルは、次の式を解いて算出できる：
Δ＝ΦＴＣΦ                （３）
【００５９】
ここでΔは共分散行列Ｃの固有値のセットであり、Φは共分散行列Ｃの固有ベクトルのセットである。この処理は、米国特許第５，７１０，８３３号明細書に記載されている。ｍ×ｍ共分散行列はｍ個の固有値とｍ個の固有ベクトルを有し、各固有ベクトルは一つの固有値に対応する。よって、１６×１６学習用画像セットに対する２５６×２５６共分散行列は、２５６個の固有値と２５６個の対応する固有ベクトルを有することになる。さらに、各固有ベクトルは長さ２５６の列ベクトルである。
【００６０】
共分散行列Ｃの固有ベクトルの全てが互いに垂直である。従って、共分散行列Ｃの固有ベクトルのセットを選択し、選択された各固有ベクトルを空間内の一方向（つまり次元）を定義するために使用することによって、学習用画像セットの固有空間を定義することができる（工程４１０（ｃ））。共分散行列Ｃの最大の固有値に対応する固有ベクトルが、該学習用画像セットが最も大きな変化をする方向を示す。従って、該学習用画像セットの中に含まれているデータの大きな部分を、共分散行列Ｃのいくつかの最も大きな固有値に対応する固有ベクトルのセットを選択することによって表現することができる。一つの実施形態では、共分散行列Ｃの３つの最も大きな固有値に対応する固有ベクトルを、三次元の固有空間を定義するために選択する。
【００６１】
固有空間を定義した後、該学習用画像セットの各学習用画像を固有空間に投影する（工程４１０（ｄ））。各ｎ×ｎ画像Ｉ（ｎ×ｎ）をベクトルＶ（ｍ）（ただし、ｍ＝ｎ２）に変換する。例えば、画像Ｉ（ｎ×ｎ）が１６×１６画像であれば、ベクトルＶ（ｍ）は長さ２５６（ｍ＝ｎ２＝１６×１６＝２５６）の行ベクトルとなる。固有空間を定義するために選択された固有ベクトルの数をｑとし、行列のｑ個の列のそれぞれが、該固有ベクトルの一つを表すｍ×ｑ行列によって該固有空間を定義することがある。そして、ベクトルＶ（ｍ）に該固有空間を定義するｍ×ｑ行列を掛けると１×ｑ行列、すなわち行ベクトルが得られる。この行ベクトルの各要素は該固有空間の対応する１つの座標を表す。例えば、１６×１６画像Ｉ（１６×１６）を２５６×１の列ベクトルＶ（２５６×１）で表すとする。学習用画像セットの固有空間を３つの固有ベクトルで定義する場合、該画像ベクトルＶ２５６×１の転置行列に該固有空間を定義する２５６×３行列を掛けると、三次元固有空間において投影された画像の３つの座標値を特定する１×３行ベクトルが得られる。
【００６２】
従って、固有空間への画像の投影によって、画像の次元数を効果的に減らすことができる。固有空間に画像を投影すると、固有空間の次元数と同じ数の座標を持つ一つの点が得られる。例えば、三次元固有空間に画像を投影すると、三次元点が得られる（つまり、その点は３つの座標で特定される）。よって、ｎ×ｎ画像が三次元固有空間に投影されると、ｎ２個のピクセルによって定義されていたその画像は３つの座標によって特定される単一の点によって定義されるよう変換される。
【００６３】
図６は、様々な方向を向いた一本以上の指の学習用画像セットの三次元固有空間６００の一例を示している。学習用画像セットの各画像の投影点は、固有空間６００における三次元点によって表される。従って、図６に示すように、固有空間６００に学習用画像セットを投影することによって、固有空間６００に学習点群６０２が作成される。学習点群６０２は、認識可能な幾何学形状を示すことがある。例えば、図６の学習点群６０２は、双曲面状または円錐状の形を示しているように見える。
学習点群６０２の形状が、指の特定の特徴の関数になり得る。
【００６４】
指１１４が表面１０４に対して垂直であるとき、指１１４はカメラ１０８によって捕捉された画像では略円形の物体として現れることがある。ユーザーが手を回転させても、指１１４は、表面１０４に対して垂直である限りは、カメラ１０８によって捕捉された画像では略円形の物体として現れ続ける。言い換えると、指１１４が表面１０４に対して垂直のままである場合、カメラ１０８によって捕捉された一連の画像における指１１４の形は、たとえ手が回転しても僅かの変化しか示さないことがある。このように僅かの変化しか示さない状態は、指１１４がカメラ１０８に対して表面１０４上のどこを指しているかに関係なく発生することがある。
【００６５】
しかし、ユーザーの指１１４が表面１０４に対して垂直ではない場合、指１１４は、カメラ１０８によって捕捉された画像内でテールを持つ明るい点として現れることがある。このテールは、指１１４の本体によって反射されたＩＲである可能性がある。結果として、手が回転するとテールの角度も回転する。
【００６６】
図７（ａ）および図７（ｂ）を参照して説明する。図７（ａ）は、テール７０２（ａ）を有する指１１４のｎ×ｎ画像７００（ａ）である。図７（ａ）では、テール７０２（ａ）は画像７００（ａ）の左上の角の方を向いている。図７（ｂ）は、テール７０２（ｂ）を有する同じ指１１４のｎ×ｎ画像７００（ｂ）である。図７（ｂ）では、テール７０２（ｂ）は画像７００（ｂ）の右上の角の方を向いている。テール７０２（ａ）と７０２（ｂ）の方向が異なっているのは、指１１４が、２つの画像７００（ａ）、７００（ｂ）においてカメラ１０８に対して異なる方向を向いているからであると説明できる。画像７００（ａ）の指１１４と画像７００（ｂ）の指１１４とは、表面１０４に対して垂直ではない同じ大きさの角度を形成している。しかし、画像７００（ａ）の指１１４と画像７００（ｂ）の指１１４とが表面１０４に垂直な平面（図示せず）に対して異なる角度を形成するように、画像７００（ｂ）の指１１４は、画像７００（ａ）の指１１４の位置から回転している。
【００６７】
２つの画像７００（ａ）、７００（ｂ）は異なるものなので、固有空間６００内の学習点群６０２内の異なる点によって表される。しかし、固有空間６００に画像を投影する処理は線形処理であるため、ほぼ同じ長さのテールを有しているが回転角度が異なる指１１４の画像のセットを投影すると、固有空間６００において略円形パターン状（図示せず）に整列した点セットが得られることがある。従って、２つの画像７００（ａ）、７００（ｂ）は固有空間６００において学習点群６０２内の異なる点によって表されるが、これらの点は、固有空間６００の中で略円形パターン状に整列することがある。
【００６８】
また、画像内の指のテールの長さは、固有空間６００内の画像投影位置に影響を与えることがある。図７（ａ）、図７（ｂ）に関連して上述したように、テールの長さがほぼ同じであるが回転角度は異なる指の画像群の投影点群は、固有空間６００内で略円形パターン状に整列することがある。同じ短いテールを有しているが回転角度が異なる指１１４の画像群の投影点群は、同じ長いテールを有しているが回転角度が異なる指１１４の画像群の投影点群よりも短い半径の略円形パターン状に整列することがある。
【００６９】
図６、図８（ａ）、図８（ｂ）、図９（ａ）、図９（ｂ）を参照して説明する。図６の学習点群６０２の頂点６０４を形成する学習点群は、テールが小さいか又はない略円形として指１１４が見える学習用画像に関連していることがある。対照的に、図６の学習点群６０２の底部６０６を形成する学習点群は、指１１４に長いテールが付いている学習用画像に関連していることがある。
【００７０】
図８（ａ）は、指１１４と表面１０４との間の比較的小さい角度によって生じた比較的長いテール８０２（ａ）を有する指１１４の学習用画像８００（ａ）を例示している。図８（ｂ）は、指１１４と表面１０４との間の比較的大きい角度によって生じた比較的短いテール８０２（ｂ）を有する指１１４の学習用画像８００（ｂ）を例示している。
【００７１】
図９（ａ）および図９（ｂ）は、三次元固有空間６００における２つの画像８００（ａ）、８００（ｂ）の投影点８００（ａ）’、８００（ｂ）’を例示している。図９（ａ）に示すように、長いテール８０２（ａ）を有する指１１４の画像８００（ａ）は、比較的長いテール８０２（ａ）を有するので、学習点群６０２の底部近くの点８００（ａ）’上に投影される。対照的に、短いテール８０２（ｂ）を有する指１１４の画像８００（ｂ）は、比較的短いテール８０２（ｂ）を有するので、学習点群６０２の頂点６０４近くの点８００（ｂ）’上に投影される。
【００７２】
図９（ｂ）は、三次元固有空間６００内の２つの画像８００（ａ）、８００（ｂ）の投影点８００（ａ）’、８００（ｂ）’を、学習点群６０２から分離して示している。図９（ｂ）に示すように、投影点８００（ａ）’は、比較的長い同じテールを示すが回転角度が異なる指画像群の投影点群と一緒に略円形パターン９０２状に整列している。同様に、投影点８００（ｂ）’は、比較的短い同じテールを示すが回転角度が異なる指画像群の投影点群と一緒に略円形パターン９０４状に整列している。
【００７３】
学習点群６０２は認識可能な幾何学形状を示し、よって学習群点６０２は、多項式によって分析的に表現できる幾何学モデルによって近似されるように修正できる場合がある。幾何学モデルを学習点群６０２に合わせるのを容易にするために、Transfer-to-Centre（ＴＴＣ）法として既知の技法を学習点のそれぞれに適用してもよい（工程４１２）。ＴＴＣ法は、例えば、Shamaie A.らの「International Journal of Scientia Iranica」６（１）、（１９９９）に記載されている。ＴＴＣ法では、データセットを固有空間の中心に移動する。すなわち、データセットの重心を固有空間の原点に移動する。
【００７４】
ＴＴＣ法を学習点のセットに適用した後、モデルを学習点群６０２に合わせる（工程４１４）。三次元二次曲面の一般的な式は次の通りである：
F(x, y, z) = ax2 + by2 + cz2 + dxy + exz + fyz + gx + hy + iz + 1   （４）
【００７５】
点群６０２が完全な二次平面を形成する場合、次の式が群６０２の各点について成立つ：
Ｆ（ｘ，ｙ，ｚ）＝０          （５）
【００７６】
ここでｘ、ｙ、ｚは、点群６０２の各点の座標である。式４の未知のパラメータはΨ＝（ａ，ｂ，ｃ，ｄ，ｅ，ｆ，ｇ，ｈ，ｉ）である。二次曲面を学習点群６０２に合わせるために、学習点群６０２の全ての点のセットについての誤差関数が最小となるように式４の未知のパラメータの値を決定する。この誤差関数は次の式によって定義される：
【数２】
0005777582.tif 000003
【００７７】
ここでＴＳは投影された学習点のセットである。誤差関数は次のように展開できる：
【数３】
0005777582.tif 000004
【００７８】
誤差関数を、擬似ニュートン法を使用して最小化することがある。しかし、擬似ニュートン法のような線形最適化法は、誤差関数が二次式であるため、極小値におちいることがある。しかし、誤差関数を最小化する前に学習点のセットにＴＴＣ法を適用することによって、擬似ニュートン最小化法が極小値におちいる危険性が低減される。よって、誤差関数を最小化するために擬似ニュートン法を使用する前に学習点のセットにＴＴＣ法を適用した場合、誤差関数はより速く収束する可能性がある。誤差関数を最小化することによって、未知のパラメータのセットΨの値が得られる。誤差関数を最小化することによって決定されたΨの値を式４に代入して学習点群６０２のモデルを決定する。
【００７９】
図１０（ａ）は、学習点群６０２の例示的なモデル（白丸）に重なっている学習点群６０２（黒丸）を例示している。図１０（ｂ）は図１０（ａ）に色を付けたものである。モデル１０００は、誤差関数を最小化することによって決定されたパラメータセットΨの値を式４に代入することによって定義できる。図１０（ａ）および１０（ｂ）に示すとおり、このモデルは第１の曲面１００２と第２の曲面１００４を有している。第１の曲面１００２は頂点１００２ａを、第２の曲面１００４は頂点１００４ａを持つ双曲面状の形状として現れており、互いに向かい合い、共通の軸（図示せず）上に位置している。一つの実施形態では、第１の曲面１００２のみを使用して学習点群６０２を近似する。図１０（ａ）〜（ｂ）に示すとおり、学習点群６０２は第１の曲面１００２を完全には覆っておらず、また、第２の曲面１００４を全く覆っていない。
【００８０】
図１１（ａ）は、固有空間６００において学習点群６０２を近似するためのモデル１０００の第１の曲面１００２を例示する図である。第２の曲面１００４は図１１（ａ）〜（ｃ）には含まれていない。図１１（ｂ）は、モデル１０００（白丸）の第１の曲面１００２に重なっている学習点群６０２（黒丸）を例示している。図１１（ｃ）は図１１（ｂ）に色を付けたものである。
【００８１】
図１２は、処理４００によって学習したシステムを使用して、画像内の物体を指として認識するための例示的な処理１２００を示すフローチャートである。処理１２００ではまず、表面１０４、またはＲＯＩ１１６内の他の物体によって恒常的に反射されたＩＲのＢＧＭを作成する（工程１２０２）。その後、表面１０４とその周辺の入力画像をカメラ１０８によって捕捉して（工程１２０４）、ＢＧＭを入力画像から引算する（工程１２０６）。
【００８２】
図２（ａ）および図２（ｂ）に関連して詳細に前述したとおり、Grassfireに類似のブロッブ分析アルゴリズムを使用して、入力画像から物体を抽出する（工程１２０８）。図３に関連して詳細に前述したとおり、入力画像から抽出された各物体は、指としては小さすぎるかまたは大きすぎる物体を識別して除外するために処理される（工程１２１０）。残った物体は全体の面積の昇順にリストに並べられる（工程１２１２）。
【００８３】
次に、リストの中の一番目の物体をｎ×ｎ画像に変換し、このサイズ変更されたｎ×ｎ画像を学習用データセットの固有空間６００へ投影して画像点を得る（工程１２１４）。学習段階４００で学習点群６０２内の点にＴＴＣ法を適用したのと同じように、ＴＴＣ法を該画像点に適用する（工程１２１６）。工程４１２で使用したのと同じＴＴＣ移動値を工程１２１６で使用してもよい。
【００８４】
該画像点の座標を使用して、学習点群６０２のモデル１０００を定義する二次多項式を評価する（工程１２１８）。該画像点がモデル１０００上にあれば、該画像点の座標値を多項式に適用することによって値ゼロが得られる。対照的に、画像点がモデル１０００上になければ、画像点の座標値を多項式に適用することによってゼロではない実数が得られる。画像点の座標値を多項式に適用することによって得られた値が、該画像点とモデル１０００との間の距離を表す。
【００８５】
固有空間６００においてモデル１０００に近接している画像点に対応する画像は、前記学習用画像セットを構成する画像と類似の特性を示すことがある。従って、画像点の位置がモデル１０００に近ければ近いほど、その画像点に対応する画像が指である可能性が高くなることがある。よって、モデル１０００上に位置する画像点に、またはモデル１０００から最大しきい値距離内にある画像点に対応する画像を指であると判定することができる。
【００８６】
よって、画像点の座標値を二次多項式に適用して得られた値を評価して、所定のしきい値距離より小さいか否か判定する（工程１２２０）。画像点の座標値を二次多項式に適用して得られた値がしきい値距離より小さい場合、その画像点に対応する物体は指であると見なす（工程１２２２）。画像点の座標を二次多項式に適用して得られた値が最大しきい値距離より大きい場合、その画像点に対応する画像を除外し、工程１２１４に進んでリストにある次の物体を処理する（工程１２２４）。
【００８７】
固有空間に物体を投影することによって画像に捕捉された物体の次元数を減らすことによって、その物体を学習物体の画像のモデルと比較することが、捕捉された物体の各ピクセルをモデルの各ピクセルと比較する必要なく可能となる。結果として、処理能力とリソースを節約でき、および／または比較処理が速くなる。
【００８８】
図１３〜図１９を参照して、学習段階と認識段階の別の実施形態を説明する。
【００８９】
図１３は、指として物体を認識するように指認識・追跡システム１００に学習させるための処理１３００の一例を示すフローチャートである。処理１３００は、各学習用画像にヒストグラム等化法を適用する工程を含む。
【００９０】
処理１３００はまず、表面１０４またはＲＯＩ１１６内の他の物体によって恒常的に反射されたＩＲのＢＧＭを作成する（工程１３０２）。様々な異なる方向を向いた一本以上の指の多数の入力画像がカメラ１０８によって捕捉され（工程１３０４）、入力画像のそれぞれからＢＧＭを引算する（工程１３０６）。各画像から指を表す部分が抽出され、基準ｎ×ｎ画像サイズに変換される（工程１３０８）。各ｎ×ｎ画像にヒストグラム等化法が適用される（工程１３１０）。
【００９１】
照明状態の変化に対処するためにヒストグラム等化法をｎ×ｎ画像に適用する。ヒストグラム等化法をｎ×ｎ画像に適用することは、ｎ×ｎ画像内のピクセルの輝度のヒストグラムを作成することと、ｎ×ｎ画像の該ヒストグラムを正規化することと、正規化された画像ヒストグラムに基づいて該ｎ×ｎ画像内のピクセルの値を再割り当てすることとを含む。その結果、個々のピクセルの明るさの順位は維持される（例えば、他のピクセルよりも明るいまたは暗い状態が維持される）。
【００９２】
指のｎ×ｎ学習用画像のセットに対応する固有空間を作成し、各学習用画像を固有空間へ投影する（工程１３１２）。
【００９３】
図１４に示すとおり、投影された学習用画像群は、固有空間１４００内に学習点群１４０２を形成する。学習点群１４０２の重心を固有空間１４００の原点へ移動するためにＴＴＣ法を学習点群１４０２に適用する（工程１３１４）。図１４に示す学習点群１４０２の形状は、図６に示す学習点群６０２の形状とは異なった様相を呈している。特に、図１４の学習点群１４０２は、円錐形１４０４の頂点１４０８にテール１４０６を有している。二つの学習点群１４０２、６０２の形状の差異は、ヒストグラム等化法が照明状態の変化による学習用画像群における変化を低減するので、学習用画像セットにヒストグラム等化法を適用したことに起因している可能性がある（工程１３１０）。その結果、学習用画像を固有空間１４００に投影すると、より一様な形状が得られる。図６の学習点群６０２の形状は、学習用画像のセット内の指の形状および方向の変化だけでなく照明状態の変化も反映している。一方、図１４の学習点群１４０２の形状は、主に学習用画像のセット内の指の形状および方向の変化を反映している。
【００９４】
処理１３００は、移動された学習点群１４０２に一つ以上のモデルを合わせること（工程１３１６）を含む。学習点群１４０２のモデルを作成するために、円錐形１４０４を形成する学習点サブセットと、テール１４０６を形成する学習点サブセットを分けて考える。図１５は、テール１４０６が除かれた円錐形１４０４を形成する学習点サブセットを示している。図１６は、円錐形１４０４が除かれたテール１４０６を形成する学習点サブセットを示している。
【００９５】
円錐形１４０４を形成する学習点サブセットのモデルを作成することがある。また、テール１４０６を形成する学習点サブセットの第２モデルを作成することがある。前述したとおり、式４が三次元二次曲面の一般式である。よって、円錐形１４０４を形成する学習点サブセットの点セットに関して式７の誤差関数を最小にするような式４の未知のパラメータΨを最初に特定することによって、円錐形１４０４を形成する学習点セットのモデルを決定することができる。誤差関数を最小にすることによって特定されたΨの値を式４に代入して学習点群１４０２のモデルを決定する。
【００９６】
または、円錐形１４０４を形成する学習用画像サブセットを近似するために、垂直な円錐を使用することがある。図１５に示すとおり、円錐状の学習点群１４０４は、固有空間１４００の第１主成分を表す垂直軸１５００に沿って最も大きな変化を示している。つまり、円錐状の群１４０４の高さの次元は、固有空間１４００の第１主成分と平行である。円錐状の学習点群１４０４が、固有空間１４００の第１主成分に沿って最大の変化を示しているという観察結果は、第１主成分に対応する共分散行列の固有ベクトルが該学習用画像のセットが最大の変化を示す方向を表していることと合致する。よって、円錐形１４０４を形成する学習点サブセットを近似するために垂直円錐を使用することが可能であることがある。一般的な垂直円錐は次の式で表される：
Ｈ（ｘ，ｙ，ｚ）＝（ｘ−ａ）2／ｄ2＋（ｙ−ｂ）2／ｅ2−（ｚ−ｃ）2／ｆ2  （８）
【００９７】
ここでｘおよびｙは固有空間１４００の水平軸１５０２、１５０４を、ｚは垂直軸１５００を表している。式８の未知のパラメータは、Ω＝（ａ，ｂ，ｃ，ｄ，ｅ，ｆ）である。円錐形１４０４を形成する学習用画像サブセットに垂直円錐を合わせるために、円錐形１４０４を形成する学習点サブセットの点セットに関して式８を最小化する未知のパラメータΩの値を決定する。式８に対する誤差関数は次の式によって定義できる：
【数４】
0005777582.tif 000005
【００９８】
式９の誤差関数を最小化するために擬似ニュートン法を使用することがある。式９の誤差関数を最小化することによって、未知のパラメータセットΩの値が得られる。これらの値を式８に代入して、円錐形１４０４を形成する学習点サブセットの垂直円錐モデルを決定する。
【００９９】
図１７（ａ）は、円錐形１４０４の学習点群の例示的な垂直円錐モデル（白丸）１７００に重なっている円錐形の学習点群（黒い菱形）１４０４を示している。図１７（ｃ）は、図１７（ａ）に色を付けたものである。図１７（ａ）および図１７（ｃ）に示すとおり、垂直円錐モデル１７００は下部曲面１７０２と上部曲面１７０４とを有している。各曲面１７０２、１７０４は円錐形を形成し、その２つの円錐形は共通の頂点１７０６で接合している。二つの円錐形は共通の軸（図示せず）上に存在している。円錐形１４０４を形成する学習点群は曲面１７０２を完全に覆ってはおらず、曲面１７０４は全く覆っていない。一つの実施形態では、円錐形の学習点群１４０４を近似するために、円錐１７００の下部曲面１７０２のみを使用する。図１７（ｂ）は、円錐形の学習点群１４０４の例示的な垂直円錐モデル（白丸）１７００の下部曲面１７０２に重なっている円錐形の学習点群（黒い菱形）１４０４を示している。図１７（ｄ）は図１７（ｂ）に色を付けたものである。
【０１００】
テール１４０６に対する一つのモデルは垂直線である。テール１４０６の垂直線モデルは、水平軸１６０２、１６０４に沿ってテール１４０６の学習点の平均を算出することによって決定される。図１８（ａ）は、テール１４０６を形成する学習点群の例示的な垂直線モデル（黒線）１８００に重なっているテールの学習点群（黒丸）１４０６を示している。テール１４０６を形成する学習点群は線１８００の下部１８１０の辺りに密集しており、線１８００の上部１８２０に近づくにつれて徐々にほぼ線形になっている。図１８（ｂ）は図１８（ａ）に色を付けたものである。別の実施形態では、線１８００は垂直でなくてもよい。代わりに線１８００は、テール１４０６を形成する学習点のセットに最もよく適合するような方向を向いていてよい。
【０１０１】
図１９は、画像の指を認識するための処理１９００の一例を示すフローチャートである。処理１９００では、処理１３００によって学習したシステムが使用される。
【０１０２】
処理１９００はまず、表面１０４またはＲＯＩ１１６内の他の物体によって恒常的に反射されたＩＲのＢＧＭを作成する（工程１９０２）。表面１０４とその周辺の入力画像をカメラ１０８によって捕捉し（工程１９０４）、入力画像からＢＧＭを引算する（工程１９０６）。図２（ａ）および図２（ｂ）に関連して詳細に前述したとおり、Grassfireに類似のブロッブ分析アルゴリズムを使用して、入力画像から物体を抽出する（工程１９０８）。図３に関連して前述したとおり、指として小さすぎるまたは大きすぎる物体を識別して除外するために、入力画像から抽出された各物体を処理する（工程１９１０）。残った物体を、全体面積の昇順にリストに並べる（工程１９１２）。そして、リストの最初の物体をｎ×ｎ画像に変換して（工程１９１４）、処理１３００で適用されたのと同じヒストグラム等化法を、そのサイズ変更された画像に適用する（工程１９１６）。ヒストグラム等化法を画像に適用した後、その画像を学習用画像セットの固有空間に投影する。そして、学習段階１３００で学習点群１４０２内の点にＴＴＣ法を適用したのと同じように、ＴＴＣ法を画像点に適用する（工程１９１８）。
【０１０３】
前述したとおり、学習点群１４０２を近似するために、垂直円錐１７００の下部曲面１７０２と垂直線１８００の二つのモデルを使用する。従って、画像点の垂直座標値が、垂直円錐モデル１７００の下部曲面１７０２の頂点１７０６より上にあるか下にあるかを判定する（工程１９２０）。
【０１０４】
画像点の垂直座標値が垂直円錐モデル１７００の頂点１７０６よりも下であれば、工程１９２０から「Ｎ」の分岐を辿る。画像点の座標値を使用して、円錐状の学習点群１４０４の垂直円錐モデル１７００を定義する式８を評価する（工程１９２２）。垂直円錐モデル１７００の曲面上に投影点がある場合、投影点の座標値を式８に適用することによって値ゼロが得られる。対照的に、垂直円錐モデル１７００の曲面上に画像点がない場合、その画像点の座標値を式８に適用することによって、ゼロではない実数が得られる。式８に画像点の座標値を適用することによって得られた値は、その画像点と垂直円錐モデル１７００との間の距離を表す。
【０１０５】
固有空間１４００において垂直円錐モデル１７００の下部曲面１７０２に近接した画像点に対応する画像は、前記学習用画像セットを構成する画像のいくつかと類似の特性を示すことがある。従って、画像が垂直円錐モデル１７００の下部曲面１７０２に近ければ近いほど、その画像点に対応する画像が指である可能性が高いことがある。垂直円錐モデル１７００の下部曲面１７０２上に位置する画像点に、または垂直円錐モデル１７００の下部曲面１７０２から最大しきい値距離内にある画像点に対応する画像を指であると判定することができる。
【０１０６】
よって、式８に画像点の座標値を適用することによって得られた値を評価して、所定のしきい値距離より小さいか否か判定する（工程１９２４）。画像点の座標値を式８に適用して得られた値がしきい値距離より小さい場合（工程１９２４からの「Ｙ」分岐）、その画像点に対応する画像を指であると見なす（工程１９２６）。画像点の座標値を式８に適用して得られた値がしきい値距離より大きければ（工程１９２４からの「Ｎ」分岐）、その画像点に対応する画像は除外され、工程１９１４へ進むことによってリストにある次の物体が処理される（工程１９２８）。
【０１０７】
画像点の垂直座標が垂直円錐モデル１７００の頂点１７０６よりも上にある場合、工程１９２０から「Ｙ」分岐へ進む。画像点の座標値を使用して、垂直線モデル１８００を定義する式を評価する（工程１９３０）。画像点が線１８００上にある場合、この線を定義する式に画像点の座標値を適用することによって値ゼロが得られる。対照的に、画像点が線１８００上にない場合、線１８００を定義する式に画像点の座標値を適用することによって、ゼロではない実数が得られる。線１８００を定義する式に画像点の座標値を適用して得られた値は、その画像点と線１８００の間の距離を表す。
【０１０８】
固有空間１４００で垂直線モデル１８００に近接した画像点に対応する画像は、学習用画像セットを構成する画像のいくつかと類似の特性を示すことがある。従って、画像の位置が垂直線モデル１８００に近ければ近いほど、その画像点に対応する画像が指である可能性が高いことがある。垂直線モデル１８００上にある画像点に、または垂直線モデル１８００から最大しきい値距離内にある画像点に対応する画像は、指であると判定してよい。
【０１０９】
よって、この線を定義する式に画像点の座標値を適用することによって得られた値を、しきい値距離より小さいか否か判定するために評価する（工程１９３２）。この線を定義する式に画像点の座標値を適用することによって得られた値がしきい値距離より小さければ（工程１９３２からの「Ｙ」分岐）、その画像点に対応する画像は指であると見なす（工程１９２６）。この線を定義する式に画像点の座標値を適用することによって得られた値がしきい値距離より大きければ（工程１９３２からの「Ｎ」分岐）、その画像点に対応する画像は除外され、工程１９１４に進むことによってリストにある次の物体を処理する（工程１９２８）。
【０１１０】
しきい値距離を調整するために様々な技法が存在する。例えば、しきい値距離を調整するための一つの技法は、学習点群の座標値をそれら学習点のモデルに適用することを含む。一つの実施形態では、学習点群の９０％を含むしきい値距離が、しきい値距離として妥当な選択であると考える。無論、他のしきい値距離またはパーセンテージを選択してもよい。
【０１１１】
図２０は、画像内の物体を認識するための処理２０００の一例を示すフローチャートである。この処理はまず、多次元空間における物体の画像点の座標値を算定する（工程２００２）。一つの実施形態では、特定の物体の画像がカメラによって捕捉され、コンピュータまたはソフトウェアアプリケーションによって入力として受け取られる。画像点は、画像内の捕捉されたその特定の物体を表す。
【０１１２】
学習用画像群の特性を示す多次元空間における幾何学モデルを表す式が提供される（工程２００４）。幾何学モデルを表す式に画像点の座標値を適用して、その画像点と幾何学モデルとの間の距離を算定する（工程２００６）。
【０１１３】
画像点と幾何学モデルとの間の特定された距離に基づいて、その画像点によって表された物体が学習用画像と一致するか否かを判定する（工程２００８）。より具体的には、その物体が学習用画像によって捕捉された任意の種類の物体と一致するか否かを判定する。
【０１１４】
一つの実施形態では、画像点の座標値を算定することは、異なる多次元空間にその画像を投影することを含む。多次元空間は、例えば固有空間であってもよい。そのような実施形態では、学習用画像の特性を示す幾何学モデルもその多次元空間内にある。
【０１１５】
いくつかの実施形態を説明したが、様々な変更が可能であることを理解されたい。例えば、コンパクトディスク（ＣＤ）、処理装置、または他のコンピュータ読み込み可能な媒体に、開示した方法のいずれかを実行するためのプログラム、命令群、またはコードセグメントを格納してもよい。さらに、開示した方法のいずれかを実行するためのツールが提供されてもよい。このツールは、例えば、コンピュータ読み込み可能な媒体、処理装置、カメラ、プロジェクタ、またはこれらとおそらく他の部品の組み合わせを含んでもよい。処理装置は、例えば、プロセッサ、コンピュータ、プログラム可能な論理装置、または集積回路などを有していてもよい。
【０１１６】
実施形態および特徴は、様々な装置において少なくとも部分的に実現されてよい。装置の例は、ポータブルコンピュータまたは他の処理装置を含む前述したコンピュータである。さらに、装置の例は、携帯電話、個人用デジタル補助装置、ポケットベルやポータブル電子メール装置（例えばBlackberry（登録商標））などのメッセージ装置、例えばiPod（登録商標）などの携帯音楽プレイヤー、またはその他の電子携帯メッセージ、娯楽、編集、ゲーム装置を含む。
【０１１７】
さらに、開示したシステムおよび方法は概ね、画像の中の物体を指として認識することに関連して説明したが、画像の中の他の物体を認識する能力も考慮されている。開示したシステムおよび方法は、例えば固有空間などの空間内の幾何学モデルによって近似可能な任意の物体を認識するために使用してよい。例えば、開示したシステムおよび方法は画像の中の物体をペンまたは缶として認識するために使用されてもよい。さらに、異なる実施形態の各要素を組み合わせたり、追加したり、変更したり、又は取り除いて別の実施形態を実現してもよい。
【０１１８】
開示した方法は複数の工程を含むものとして説明したが、さらなる工程を開示した方法に追加してもよい。さらに、必ずしも各工程を実行する必要はなく、幾つかの工程は省略してもよい。さらに、開示した工程を、必ずしも説明した順番に実行しなくてもよい。
【０１１９】
最後に、各種の技術を使用したり、組み合わせたり、変更したりして実施形態を実現してもよい。このような技術には、例えば様々なハードウェア、ソフトウェア、ファームウェア、一体化されたコンポーネント、個別のコンポーネント、処理装置、メモリまたは記憶装置、通信装置、レンズ、フィルタ、表示装置、投射装置などが含まれる。従って、他の実施形態も添付の請求項の範囲内である。
【０１２０】
この特許または出願ファイルには少なくとも一枚以上のカラー図面が含まれている。カラー図面付の特許公報または公開公報のコピーは、要求し必要な料金を支払えば特許庁によって提供される。
【符号の説明】
【０１２１】
１００  システム
１０２  赤外線（ＩＲ）照射装置
１０８  カメラ
１１０  ＩＲフィルタ
１１２  プロジェクタ
１２０  ＩＲフィルタ
【図１】
0005777582.tif 000006
【図２（ａ）】
0005777582.tif 000007
【図２（ｂ）】
0005777582.tif 000008
【図３】
0005777582.tif 000009
【図４（ａ）】
0005777582.tif 000010
【図４（ｂ）】
0005777582.tif 000011
【図５】
0005777582.tif 000012
【図６】
0005777582.tif 000013
【図７（ａ）】
0005777582.tif 000014
【図７（ｂ）】
0005777582.tif 000015
【図８（ａ）】
0005777582.tif 000016
【図８（ｂ）】
0005777582.tif 000017
【図９（ａ）】
0005777582.tif 000018
【図９（ｂ）】
0005777582.tif 000019
【図１０（ａ）】
0005777582.tif 000020
【図１０（ｂ）】
0005777582.tif 000021
【図１１（ａ）】
0005777582.tif 000022
【図１１（ｂ）】
0005777582.tif 000023
【図１１（ｃ）】
0005777582.tif 000024
【図１２】
0005777582.tif 000025
【図１３】
0005777582.tif 000026
【図１４】
0005777582.tif 000027
【図１５】
0005777582.tif 000028
【図１６】
0005777582.tif 000029
【図１７（ａ）】
0005777582.tif 000030
【図１７（ｂ）】
0005777582.tif 000031
【図１７（ｃ）】
0005777582.tif 000032
【図１７（ｄ）】
0005777582.tif 000033
【図１８（ａ）】
0005777582.tif 000034
【図１８（ｂ）】
0005777582.tif 000035
【図１９】
0005777582.tif 000036
【図２０】
0005777582.tif 000037