説明

画像中の物体の検出及び追跡

【課題】本開示は画像処理に関し、より詳細には画像中の物体を検出することに関する。
【解決手段】一つの開示された方法によれば、特定の物体を表す画像点の三次元空間における座標値を算定する。前記空間内のモデルを表す式を提供する。前記モデルは、一つ以上の他の物体の学習用画像のセットの特性を示す。前記画像点と前記モデルとの間の距離を算定するために前記座標値を前記式に適用する。前記算定された距離に基づいて、前記特定の物体が前記一つ以上の他の物体と一致するか否かを判定する。学習用画像セットを受け取ってもよい。前記学習用画像セットに基づいて多次元空間(例えば、固有空間)を決定してもよい。前記空間に前記学習用画像セットを投影することによって画像点のセットを生成してもよい。前記画像点セットの特性を示す前記空間内のモデルを表す式を決定してもよい。

【発明の詳細な説明】
【技術分野】
【0001】
本開示は画像処理に関し、より詳細には画像中の物体を検出することに関する。
【背景技術】
【0002】
画像中の物体を検出し認識するためには、画像フィルタリングおよびパターン認識法を使用するのが一般的である。数百または数千のピクセルを含む画像中の物体を検出して認識するためには、多大な処理能力が必要となることがあり、時間が掛かることがある。よって、画像中の物体を検出して認識するために画像を処理する前に画像の次元数を減らすことが有益であることがある。データの次元を減らすための公知の技法の一つとして、主成分分析(PCA)がある。PCAは、例えば非特許文献1で説明されている。
【0003】
PCAでは、データセットの重要な特徴を表すものとしてデータセットの共分散行列の固有値および固有ベクトルを使用し、これによってデータセットの次元数を減少させる。
【0004】
ところで、人間がコンピュータと対話するのを可能にする方法および機構が数多く存在する。コンピュータビジョン技術によって、カメラによって捕捉された画像の中の物体をコンピュータが検出することできる場合がある。画像の中の物体を検出し認識できるコンピュータの場合、ユーザーが手振りを使ってそのコンピュータと対話することが可能である。
【0005】
コンピュータ・ユーザー・インタフェースが表面または画面に表示されることがある。一つ以上のカメラが表面または画面の周辺における活動を監視し、画面周辺の活動の画像を捕捉してよい。そしてそのコンピュータはこれらの画像を処理し、画像中の一つ以上の物体を検出し、ユーザーが表面または画面に表示されたコンピュータ・ユーザー・インタフェースと対話するために手振りを使用していることを感知してよい。
【0006】
ユーザーが表面または画面に表示されたコンピュータ・ユーザー・インタフェースと対話するために手振りを使用していることを感知するシステムが存在する。これらのうち幾つかのシステムは単に、画像の中の最も明るい物体を感知して、その物体を手または指として分類する。その結果これらのシステムは、手でも指でもない物体を手または指として感知してしまうことがある。
【先行技術文献】
【非特許文献】
【0007】
【非特許文献1】ジョリフ アイ.ティ.(Joliffe I.T.)著、「主成分分析(Principal Component Analysis)」、スプリンガー−ヴァーラグ(Springer-Verlag)、ニューヨーク、1986年
【発明の概要】
【課題を解決するための手段】
【0008】
画像の中の手または指をより正確に識別し、これによってコンピュータと人間との対話の効果と効率性とを向上させるために、本開示のいくつかのシステムは、(1)表面または画面に触れているかまたは近辺で動いている物体を手または指として認識し、(2)手または指のいずれとも認識されない物体を除外する。
【0009】
表面または画面に触れているかまたは近辺で動いている指を検出して認識するための方法および装置を提供する。指の存在を検出するために、および検出された指の位置を追跡するために画像を処理する。コンピュータは、例えばコンピュータのマウスポインタを制御するために指の位置を使用してもよい。提供する方法は、従来のマウスおよび/またはキーボードの使用よりも自然な方法で人間がコンピュータと対話できるようにするために有益となり得る。
【0010】
一つの実施形態では、一つ以上の方向を向いた一本以上の指のモデルを作成する。より詳細には、一本以上の指の学習用画像セットをカメラによって捕捉する。PCA法を適用して学習用画像セットのモデルを作成する。学習用画像セットの共分散行列を算定して、その共分散行列から特定の個数の固有ベクトルを選択して、学習用画像セットの固有空間を定義する。学習用画像セットの画像それぞれを、共分散行列の選択された固有ベクトルによって定義された固有空間に投影する。固有空間では、各学習用画像は一つの学習点によって表される。よって、固有空間に学習用画像それぞれを投影することによって、固有空間に学習点群が作成される。そしてその学習点群は固有空間において幾何学モデル(例えば、曲面または線など)によって近似される。
【0011】
そしてそのモデルを利用して、画像内の指を検出し認識し追跡する。一つのシステムでは、カメラと赤外線(IR)照射装置を表面または画面の背後に配置する。表面または画面に触れているかまたは近辺で動いている指が、IR照射装置によって投射されたIR放射の一部を反射する。反射されたIR放射の一部がカメラによって画像内に捕捉される。そして下記に説明するように、画像の中の指の存在および位置を検出し認識するためにその画像を処理する。
【0012】
この処理は、画像から指である可能性がある一つ以上の物体を抽出することを含む。抽出された各物体を、学習用画像セットに対して定義された固有空間に投影する。固有空間では、抽出された物体の投影点は一つの画像点によって表される。この一つの画像点の座標値を学習点群のモデルと比較して、その一つの画像点がそのモデルと一致、またはほぼ一致するか否かを判定する。その一つの画像点がそのモデルと一致、またはほぼ一致する場合、その物体を指であると判定する。その物体を指であると判定した場合、表面または画面に対する指の位置(例えば、(x,y)座標)を算出して、例えばコンピュータおよび/またはソフトウェアアプリケーションに入力する。
【0013】
概略の態様に従うと、特定の物体を表す画像点の多次元空間における座標値を算定する。一つ以上の他の物体の学習用画像セットの特性を示す前記多次元空間内のモデルを表す式を提供する。前記画像点と前記モデルとの間の距離を算定するために前記式に前記座標値を適用する。前記算定された距離に基づいて前記特定の物体が前記一つ以上の他の物体と一致するか否かを判定する。
【0014】
前記概略の態様の実施形態は以下の特徴の一つ以上を含んでいてもよい。例えば、前記特定の物体の画像を受け取ってもよい。前記画像が多数のデータ要素を有していてもよく、前記多次元空間が前記データ要素の数よりも少ない次元数を有していてもよい。前記画像点の前記座標値を算定することに、前記多次元空間に前記画像を投影して前記多次元空間に前記画像点の前記座標値を生じさせることが含まれていてもよい。
【0015】
前記モデルが、前記多次元空間における学習点のセットの近似モデルであり、前記セットの前記各学習点は一連の学習用画像のうちの一つ以上の画像に対応していてもよい。
【0016】
前記特定の物体の前記画像は受け取られる前に正規化されてもよい。前記特定の物体の前記画像を正規化することによって、明るさの変化に対処してもよい。前記物体の前記画像を正規化することは、前記特定の物体の前記画像にヒストグラム等化法を適用することを含んでもよい。
【0017】
前記式が、双曲面、円錐、線、または円錐と線との組み合わせを表してもよい。前記特定の物体は、指と、ペンと、略円筒形の物体とのうちの一つの物体であってもよい。
【0018】
前記式を提供することは、第1の学習用画像セットの特性を示す第1のモデルを表す第1式と、第2の学習用画像セットの特性を示す第2のモデルを表す第2式とから前記式を選択することを含んでもよい。
【0019】
別の概略の態様に従うと、特定の物体の画像であって、複数のデータ点を有する画像を受け取る。前記データ点の数よりも少ない次元数を有する多次元空間に前記画像を投影して、前記特定の物体を表す画像点の座標値を前記多次元空間において生じさせる。前記多次元空間における学習点セットのモデルを表す式を提供する。前記セットの各学習点は、一つ以上の他の物体の学習用画像セットのうちの一つ以上の画像に対応している。前記画像点と前記モデルとの間の距離を算定するために前記式に前記座標値を適用し、前記算定された距離に基づいて前記特定の物体が前記他の物体と一致するか否かを判定する。
【0020】
前記の概略の態様の実施形態は、以下の特徴の一つ以上を含んでいてもよい。例えば、前記式を提供することは、第1の学習用画像セットの特性を示す第1のモデルを表す第1式と、第2の学習用画像セットの特性を示す第2のモデルを表す第2式とから前記式を選択することを含んでもよい。
【0021】
別の概略の態様に従うと、システムが、カメラと、前記カメラに結合された処理装置とを有していてもよい。前記処理装置は、特定の物体を表す画像点の多次元空間における座標値を算定するように構成されている。前記処理装置はまた、一つ以上の他の物体の学習用画像のセットの特性を示す前記多次元空間内のモデルを表す式を提供するように構成されている。前記処理装置はさらに、前記画像点と前記モデルとの間の距離を算定するために前記式に前記座標値を適用し、前記算定された距離に基づいて前記特定の物体が前記一つ以上の他の物体と一致するか否かを判定するように構成されている。
【0022】
前記概略の態様の実施形態は、以下の特徴の一つ以上を含んでいてもよい。例えば、前記カメラは赤外線カメラであってもよい。前記システムは、赤外線源を有していてもよい。前記システムは、前記カメラの前に配置された画面を有していてもよい。前記画面の前記カメラと反対側に配置された物体によって反射された光が前記画面を通過して前記カメラによって受け取られるように、前記画面が少なくとも半透明であってもよい。
【0023】
別の概略の態様に従うと、特定の物体を表す特定の画像点の多次元空間における座標値を算定するためにツールが提供される。前記ツールはまた、一つ以上の他の物体の学習用画像のセットの特性を示す前記多次元空間内のモデルを表す式を提供する。前記ツールはまた、前記特定の画像点と前記モデルとの間の距離を算定し、前記算定された距離に基づいて前記特定の物体が前記一つ以上の他の物体と一致するか否かを判定するために、前記式に前記座標値を適用するためにも提供される。
【0024】
前記概略の態様の実施形態は、以下の特徴の一つ以上を含んでいてもよい。例えば、前記学習用画像セット受け取ってもよく、前記セットの画像のそれぞれが複数のデータ要素を有していてもよい。前記学習用画像セットに基づいて前記多次元空間を決定してもよく、前記多次元空間は前記データ要素の数よりも少ない次元数を有していてもよい。学習点セットを、前記多次元空間に前記学習用画像セットの各画像を投影し前記多次元空間における対応する学習点の座標値を生じさせることによって生成してもよい。前記学習用点セットの各学習点が、前記学習用画像セット内の少なくとも一つの画像に対応していてもよい。前記学習用画像セットの特性を示す前記多次元空間内のモデルを表す前記式を決定してもよい。
【0025】
前記学習用画像セットの各画像は、受け取られる前に正規化されてもよい。前記学習用画像セットの各画像を正規化することによって、明るさの変化に対処してもよい。前記学習用画像セットの各画像を正規化することは、前記学習用画像セットの各画像にヒストグラム等化法を適用することを含んでもよい。
【0026】
各種態様、実施形態、特徴は、例えば方法、装置、方法を実行するための装置またはツールまたは処理装置、プログラムまたは他の命令セット、プログラムまたは命令セットを含む装置、コンピュータ読み取り可能な媒体などのうちの一つ以上を使用して実施してもよい。コンピュータ読み取り可能な媒体は、例えば、命令群、ソフトウェア、画像、他のデータなどを含んでいてもよい。
【0027】
一つ以上の実施形態の詳細を、添付の図面と以下の記述の中で説明する。他の特徴は、以下の記述と図面と請求項から明らかとなるだろう。
【図面の簡単な説明】
【0028】
【図1】指を認識して追跡する一つのシステムを例示している。
【図2(a)】画像の中の二つの物体を例示するサンプル画像である。
【図2(b)】図2(a)のサンプル画像から抽出された二つの物体を示すサンプルシャドーマトリックスである。
【図3】画像から抽出された物体が目的の物体としては大きすぎるか否かを判定するための図である。
【図4(a)】指認識および追跡システムに学習させるための第1の処理を例示するフローチャートである。
【図4(b)】図4(a)の工程410を実行するための処理を例示するフローチャートである。
【図5】指のサンプル画像である。
【図6】三次元固有空間における学習点群を例示している。
【図7(a)】指の別のサンプル画像である。
【図7(b)】図7(a)のと同じ指のサンプル画像であるが、指の方向が異なっている。
【図8(a)】指のさらに別のサンプル画像である。
【図8(b)】図8(a)のと同じ指のサンプル画像であるが、指の方向が異なっている。
【図9(a)】三次元固有空間における学習点群を例示している。
【図9(b)】図9(a)の三次元固有空間における図8(a)および図8(b)のサンプル画像の投影点を例示している。
【図10(a)】図9(a)の学習点群と、この学習点群に対応する三次元モデルとを例示している。
【図10(b)】図10(a)をカラーで示したものである。
【図11(a)】図9(a)の学習点群に対応する切り取られたモデルを例示している。
【図11(b)】図11(a)の切り取られたモデルと、そのモデルに対応する学習点群とを例示している。
【図11(c)】図11(b)をカラーで示したものである。
【図12】図4(a)の処理によって学習したシステムを使用して画像中の指を認識するための処理を例示するフローチャートである。
【図13】指認識および追跡システムに学習させるための第2の処理を例示するフローチャートである。
【図14】三次元固有空間における別の学習点群を例示している。
【図15】図14の学習点群の、円錐形を形成している第1のサブセットを例示している。
【図16】図14の学習点群の、線状の形状を形成している第2のサブセットを例示している。
【図17(a)】図15の学習点の第1のサブセットと、学習点の第1のサブセットに対応する垂直円錐モデルとを例示している。
【図17(b)】図15の学習点の第1のサブセットと、学習点の第1のサブセットに対応する切り取られた垂直円錐モデルとを例示している。
【図17(c)】図17(a)をカラーで示したものである。
【図17(d)】図17(b)をカラーで示したものである。
【図18(a)】図16の学習点の第2のサブセットと、学習点の第2のサブセットに対応する線モデルとを例示している。
【図18(b)】図18(a)をカラーで示したものである。
【図19】図13の処理によって学習したシステムを使用して画像中の指を認識するための処理を例示するフローチャートである。
【図20】画像中の物体を認識するための別の処理を例示するフローチャートである。
【発明を実施するための形態】
【0029】
表面に触れるまたは表面の近辺で動く指を検出して認識するためのシステムおよび方法を開示する。また、これらのシステムおよび方法を、表面に触れるまたは表面の近辺で動く他の対象物を検出して認識するために使用してもよい。さらに、これらのシステムおよび方法を、表面のない視野内で対象物を検出して認識するために使用してもよい。より一般的には、これらのシステムおよび方法を、画像中の物体を検出して認識するために使用してもよい。
【0030】
図1は、一本以上の指を認識し追跡するための例示的なシステム100を図示している。表面104の後方に配置されている赤外線(IR)照射装置102は、表面104の後ろおよび前の両方に延在する領域106を照射する。IRフィルタ110を備えるカメラ108が表面104の後方に配置されて、例えば表面104およびその周辺の画像を捕捉する。カメラ108によって捕捉された画像は、データ要素(例えばピクセル)によってデジタル値で表現されてよい。表面104の後方に配置されたプロジェクタ112は、表面104の上にコンピュータ・ユーザー・インタフェースを投射する。表面104に投射されたコンピュータ・ユーザー・インタフェースは、従来のコンピュータディスプレイであってもよい。プロジェクタ112は、可視光に加えてIRを投射してもよい。よって、一つの選択肢として、プロジェクタ112には、プロジェクタ112によって投射されるIRを減らすかまたは取り除くためのIRフィルタ120が備えられてもよい。
【0031】
本開示の技法および装置によって、ユーザーが、手振りを使用してコンピュータ・ユーザー・インタフェースと対話できるようになる。
【0032】
例えば、ユーザーの指114の位置を追跡することによって、ユーザーが表面104を自分の指で触るか、または表面104の近辺で自分の指を動かすことによってコンピュータ・ユーザー・インタフェース上のマウスポインタの位置を制御できるようにしてもよい。例えばマウスポインタの所望の位置を示すために、ユーザーの指114の位置を使用することがある。ある実施形態では、ユーザーの指114の位置を正確に認識するために、ユーザーの指114をユーザーの手の平118と区別することが望ましいことがある。
【0033】
図1に例示するシステム100は一つの実施形態の一例にすぎず、他の構成も可能である。カメラ108によって捕捉された画像は、物体によって反射された光を捕捉することによって生成されてよい。光は、IR、可視光、紫外線、または任意の他の電磁放射を含んでよい。よって、IR照射装置102が必要ない場合がある。他の光源をIR照射装置の代わりに使用することがある。別の実施形態では、光源が必要ないこともある。その代わりとしてシステム100は、反射された周囲光のみを使用することがある。さらに、カメラ108が表面104の後方に配置される必要はない。例えば、カメラ108を、システム100の中の好適だと思われる任意の場所に配置してよい。さらに、システム100を、必ずしも人間−コンピュータ間の対話を容易するために使用する必要はない。その代わりに、一つの実施形態では、カメラ108によって捕捉された画像の中の物体を検出するためにシステム100を使用してもよい。このような実施形態では、表面104は必要ないことがある。
【0034】
一般的には、画像中の対象物を指として検出し認識する際には、多くの処理手順が関わる場合がある。例えば、最初にシステム100に、ある対象物を指として認識するように学習させることがある。この学習段階は、一つ以上の方向を向いた一本以上の指の学習用画像のセットを捕捉し、この学習用画像のセットのモデルを構築することを含んでいることがある。認識段階では、システム100が画像を捕捉し、捕捉された画像から物体を抽出し、抽出された物体が指か否かを判定するために抽出された物体を学習段階で作成された学習用画像セットのモデルと比較することがある。指として画像中の物体を検出して認識する際に関わる可能性のある処理は、後で詳細に説明される。
【0035】
画像の注目領域(ROI)116を、表面104を含む画像の一部として定義することがある。一本以上の指114を検出して認識するために、画像のROI116を調べることがある。カメラ108によって捕捉された画像には、IR照射装置102によって生成され、ROI116内の一本以上の指によって反射されたIRの反射が含まれていることがある。または、IRは、ROI116内の一つ以上の他の物体によって反射されることがある。例えば、表面104がIRを反射することがある。
【0036】
表面104によってまたはROI116内の他の物体によって恒常的に反射されたIRを表現するために、表面104によってまたはROI116内の他の物体によって恒常的に反射されたIRの背景モデル(BGM)を作成して、カメラ108によって捕捉された各画像から引算してよい。カメラ108によって捕捉された各画像からこのBGMを引算することによって、捕捉された画像から背景の物体によって反射されたIRを効果的に除外、または少なくとも低減できる。結果として、各画像からBGMを引算することによって、ROI116内の注目する物体と、表面104および/またはROI116内に恒常的に存在する他の物体との間のコントラストを強める場合がある。
【0037】
注目する物体が存在しない状態でROI116の複数の画像を捕捉して、そして、捕捉された画像群をピクセル単位で平均化して新しい平均画像すなわちBGMを作成することによって、該BGMを作成してもよい。そしてカメラ108によって捕捉された各画像からBGMを引算してもよい。この処理は次の式で表現することができる:
【数1】

【0038】
ここで、Iは画像であり、BはBGMであり、εは調節可能なしきい値(例えば調節可能な定数)であり、Jは結果の画像である。BGMを、例えばランダムに、または定期的に、または引き金となるイベントの発生時に更新することがある。
【0039】
図2(a)、図2(b)、図3を参照すると、画像中の物体の存在を検出してその物体が注目する物体であるか否かについての最初の判定を行うための処理の例が示されている。
【0040】
詳細には、図2(a)には、サンプル画像200(a)内の2つの物体202(a)と204(a)が示されている。図2(a)に示すように、物体202(a)と204(a)は、背景206(a)よりも暗く示されている。しかし、2つの物体202(a)と204(a)によって反射された光によって形成された画像200(a)では、2つの物体202(a)、204(a)は背景206(a)よりも明るいと予想される。従って、図2(a)の画像200(a)は、画像200(a)中の2つの物体202(a)、204(a)の単なる一例であり、この画像200(a)は、画像中の物体はその画像の背景よりも暗いことを示唆するものではないことを理解されたい。
【0041】
画像200(a)から物体202(a)、204(a)を抽出するために、Grassfireアルゴリズムなどのブロッブ分析アルゴリズムを使用することがある。Grassfireアルゴリズムは、例えばNew YorkのPrentice-Hall 社発刊のPitas I.著の「Digital Image Processing Algorithms」(1993)に記載されている。画像中の物体の存在を検出してその画像からその物体を抽出するためのほかのアルゴリズムを使用してもよい。
【0042】
Grassfireアルゴリズムは、画像内で物体を探し、検出した各物体のピクセル群を1つの共通ラベルで識別する。具体的には、物体によって反射された光によって形成され、その物体が背景よりも明るい画像では、Grassfireアルゴリズムは画像中の最も明るいピクセルを特定する。例えば、画像は、各ピクセルに256個の可能な値があるグレイスケール画像であってもよい。この場合、各ピクセルが0〜255のうちの一つの値を割り当てられ、ゼロは最も暗いピクセル(例えば真黒)を、255は最も明るいピクセル(例えば真白)を表す。画像の中で最も明るいピクセルが220の値を持つとする。Grassfireアルゴリズムでは、ピクセルが物体に関連するものか否かを判定するために、画像中の最も明るいピクセルから調整可能なしきい値定数を引いたものと画像中の各ピクセルを比較する。例えば、調節可能なしきい値は50であってもよい。この場合、Grassfireアルゴリズムは、最も明るいピクセルから50シェード以内に入るいずれのピクセルも物体を表していると見なすことがある。つまり、許容範囲170〜220内の値を持ついずれのピクセルも物体を表していると見なすことがある。そして、Grassfireアルゴリズムは、この許容範囲に入る隣接するピクセル群のセットが物体を構成していると見なすことがある。
【0043】
Grassfireアルゴリズムは、元の画像と同じサイズであるシャドーマトリックスと呼ばれるマトリックスを生成することがある。元の画像で物体を表すとして識別されたピクセルに対応するシャドーマトリックスの要素は、共通ラベルによって識別されてもよい。図2(b)は、図2(a)で示されているサンプル画像200(a)に対応するシャドーマトリックス200(b)の一例を示している。サンプル画像200(a)の物体202(a)は、シャドーマトリックス200(b)において物体202(b)によって表されており、物体202(b)の各要素は共通ラベル「1」で識別される。同様に、サンプル画像200(a)の物体204(a)は、シャドーマトリックス200(b)において物体204(b)によって表されており、物体204(b)の各要素は共通ラベル「2」で識別される。図2(b)に示すように、Grassfireアルゴリズムは、サンプル画像200(a)から物体202(a)と204(a)とを効果的に抽出することができる。
【0044】
再び図1を参照すると、観念的には、指114が表面104に触れているか、または表面104近辺で動いている場合、指114は画像中で最も明るい物体となる。しかし、表面104を触っているかまたは表面104近辺で動いている指114が常に画像中の最も明るい物体であるとは限らない。例えば、ユーザーが自分の指114で表面104に触れると、ユーザーの手の平118が、画像中で明るい物体として見えるのに十分なIR放射を反射することがある。また、長袖などの他の物体が、画像の中で明るい物体として見えるのに十分なIR放射を反射することもある。ユーザーの指114よりも多くのIR放射を反射する物体があり、結果として画像の中でユーザーの指114よりも明るい物体として見えることがある。
【0045】
従って、一つの実施形態では、画像中の最も明るい物体だけではなく、いくつかの物体をその画像から抽出することがある。しかし、認識のために画像中の多くの物体を処理することは、多大な処理能力が必要とし時間が掛かることがある。従って、認識のために処理される抽出物体の数を減らすための技法を適用することがある。抽出された物体は、それが指ではありそうもないような特徴を示し、そのために除外されることがある。抽出された物体を分類するために使用可能な基準の一つは大きさであることがある。例えば、抽出された物体は指としては大きすぎることがある。同様に、抽出された物体は指としては小さすぎることがある。
【0046】
図3は、画像から抽出された物体300が指としては大きすぎるか否かを判定するための処理の一例を示すために使用する図301である。抽出された物体300の中心302を取り囲む4つのサンプリング領域304、306、308、310内の一つ以上のピクセルをサンプリングしてよい。抽出された物体300の中心302とサンプリング領域304、306、308、310との間の距離は、例えば調節可能な定数である。図3に示すように、抽出された物体300の中心302を取り囲む2つのサンプリング領域304、308は、抽出された物体300の中心302を通る垂直線312上に位置していてよい。同様に、抽出された物体300の中心302を取り囲む2つのサンプリング領域306、310は、抽出された物体300の中心302を通る水平線314上に位置していてよい。
【0047】
指114の画像はテール(例えば図5を参照)を含む場合があるため、サンプリング領域304、306、308、310を対にして考察することがある。例えば、抽出された物体300の中心302を通る水平線314上に位置する2つのサンプリング領域306、310を第1ペアと見なし、同様に、抽出された物体300の中心302を通る垂直線312上に位置する2つのサンプリング領域304、308を第2ペアと見なしてよい。
【0048】
第1ペアのサンプリング領域306、310内のピクセル値の合計が許容できるしきい値レベルを超えている場合、サンプリング領域306、310は抽出された物体300の一部であると判定してよい。第1ペアのサンプリング領域306、310内のピクセル値の合計が該許容できるしきい値レベルを超えている場合、第2ペアのサンプリング領域304、308内のピクセル値の合計を該許容できるしきい値レベルと比較してよい。
【0049】
第2ペアのサンプリング領域304、308内のピクセル値の合計が該許容できるしきい値レベルを超えていれば、サンプリング領域304、308は抽出された物体300の一部であると判定してよい。第1ペアのサンプリング領域306、310内のピクセル値合計が該許容できるしきい値レベルを超えかつ、第2ペアのサンプリング領域304、308内のピクセル値合計が該許容できるしきい値レベルを超えていれば、その物体は指としては大きすぎると判定して、結果的にその物体を除外することがある。
【0050】
同様に、画像から抽出された物体が指としては小さすぎることもある。抽出された各物体を表すピクセルの数を数えてよい。物体を表すピクセルの数がしきい値定数よりも小さければ、その物体をノイズまたは何か他の物体であると判定して、結果的にその物体を除外することがある。
【0051】
画像の中の物体を指として認識することに、学習段階と認識段階とが含まれていることがある。学習段階では、認識すべき物体の多数の学習用画像のセットをシステム100に与え、その物体を認識するようシステム100に学習させることがある。その学習用画像セットは、様々な異なる向きに置かれた識別対象物体の画像を含んでよい。認識段階において、システム100は画像の中の物体を検出してその物体を該学習用画像セットと、または該学習用画像セットのモデルと比較して、その物体が識別対象物体か否かを判定することがある。
【0052】
一つの実施形態では、学習段階では、様々な異なる方向を向いた一本以上の指の多数の画像を捕捉する。該学習用画像セットの共分散行列を決定して、その共分散行列の固有ベクトル群の選択されたセットを使用して固有空間を定義する。固有空間を定義するために、任意の数の固有ベクトルを選択してよい。固有空間の次元数は、その固有空間を定義するために選択された固有ベクトルの数によって決まる。例えば、3次元の固有空間は、3つの固有ベクトル、例えば3つの最も大きい固有値に対応する固有ベクトルを選択することによって定義される。該学習用画像セットの各学習用画像を3次元固有空間に投影して、その固有空間に3次元点の集合を作成する。固有空間内の三次元点の集合を、多項式によって分析的に表現できる三次元幾何学モデル(例えば二次曲面または二次曲線など)によって近似する。例えば、学習用画像セットの投影は双曲面または円錐状曲面を形成することがある。さらに、またはその代わりに、学習用画像セットの投影は固有空間に線状の幾何学形状を形成することがある。三次元空間では、双曲面、円錐、および曲線は多項式によって分析的に表現できる。よって、固有空間において学習用画像セットを近似する幾何学形状(幾何学的モデルとも呼ぶ)を使用することがある。
【0053】
この実施形態の認識段階において、画像から抽出された物体を、学習段階において定義された固有空間に投影する。固有空間において投影された物体からモデルまでの距離を算定するために、該固有空間における投影された画像に対応する三次元点を特定する三つの座標値を、該固有空間内の該学習用画像セットのモデルを定義する多項式に適用する。投影された物体がモデルから例えば所定の距離内にある場合に、その投影された物体は指であると判定してもよい。
【0054】
図5〜図20を参照して、学習段階と認識段階の具体的な実施例を詳細に説明する。
【0055】
図4(a)は、画像の中の物体を指として認識するようにシステム100に学習させるための例示的な処理400を示すフローチャートである。処理400ではまず、表面104またはROI116に恒常的に存在する他の物体によって反射されたIRのBGMを作成する(工程402)。そして、様々な異なる方向を向いた指114の多数の入力画像をカメラ108によって捕捉する(工程404)。次に、BGMを入力画像のそれぞれから引算する(工程406)。そして、各画像から指114を表す部分を抽出して、基準n×n画像サイズに変換する(工程408)。各画像の指114を表す部分を、Grassfireアルゴリズムなどのブロッブ分析アルゴリズムを使用して抽出してもよい。または、各画像の指114を表す部分を画像の見た目に基づいて手動で抽出してもよい。指を表す画像の抽出部分には、多数のピクセルが含まれていることがある。指を表す画像の部分を処理するのに必要な計算負荷を減らすために、指を表すために使用されているピクセルの数を減らすことが望ましいことがある。従って、指を表す画像の抽出部分の解像度を下げることがある。例えば、元の画像中の指を表す部分が、64×64ピクセルであるとする。指を表す64×64の部分を画像から抽出した後、抽出された指の解像度を、16×16画像によってその指を表すよう下げることがある。
【0056】
図5は、指502の例示的なn×n画像500を示す図である。
【0057】
そして、n×n学習用画像のセットの固有空間を定義する(工程410)。図4(b)に工程410が詳細に例示されている。まず、学習用画像セットの共分散行列Cを決定する(工程410(a))。整形されたn×n画像I(n×n)をベクトルV(m)(ただし、m=n)によって表した場合、t個の学習用画像のセット{I、I、・・・It}の共分散行列Cは次のように定義できる:
C=GG (2)
【0058】
ここでGは、要素Gi,j=(Vi,j−μ)を持つt×m行列である。要素Gi,j=(Vi,j−μ)において、Vi,jは、学習用セットの整形された画像IのベクトルであるVのj番目の要素であり、μはベクトルVの平均値である。よって、共分散行列Cはm×m行列となる。そして共分散行列の固有値と固有ベクトルを決定する(工程410(b))。共分散行列の固有値と固有ベクトルは、次の式を解いて算出できる:
Δ=ΦCΦ (3)
【0059】
ここでΔは共分散行列Cの固有値のセットであり、Φは共分散行列Cの固有ベクトルのセットである。この処理は、米国特許第5,710,833号明細書に記載されている。m×m共分散行列はm個の固有値とm個の固有ベクトルを有し、各固有ベクトルは一つの固有値に対応する。よって、16×16学習用画像セットに対する256×256共分散行列は、256個の固有値と256個の対応する固有ベクトルを有することになる。さらに、各固有ベクトルは長さ256の列ベクトルである。
【0060】
共分散行列Cの固有ベクトルの全てが互いに垂直である。従って、共分散行列Cの固有ベクトルのセットを選択し、選択された各固有ベクトルを空間内の一方向(つまり次元)を定義するために使用することによって、学習用画像セットの固有空間を定義することができる(工程410(c))。共分散行列Cの最大の固有値に対応する固有ベクトルが、該学習用画像セットが最も大きな変化をする方向を示す。従って、該学習用画像セットの中に含まれているデータの大きな部分を、共分散行列Cのいくつかの最も大きな固有値に対応する固有ベクトルのセットを選択することによって表現することができる。一つの実施形態では、共分散行列Cの3つの最も大きな固有値に対応する固有ベクトルを、三次元の固有空間を定義するために選択する。
【0061】
固有空間を定義した後、該学習用画像セットの各学習用画像を固有空間に投影する(工程410(d))。各n×n画像I(n×n)をベクトルV(m)(ただし、m=n)に変換する。例えば、画像I(n×n)が16×16画像であれば、ベクトルV(m)は長さ256(m=n=16×16=256)の行ベクトルとなる。固有空間を定義するために選択された固有ベクトルの数をqとし、行列のq個の列のそれぞれが、該固有ベクトルの一つを表すm×q行列によって該固有空間を定義することがある。そして、ベクトルV(m)に該固有空間を定義するm×q行列を掛けると1×q行列、すなわち行ベクトルが得られる。この行ベクトルの各要素は該固有空間の対応する1つの座標を表す。例えば、16×16画像I(16×16)を256×1の列ベクトルV(256×1)で表すとする。学習用画像セットの固有空間を3つの固有ベクトルで定義する場合、該画像ベクトルV256×1の転置行列に該固有空間を定義する256×3行列を掛けると、三次元固有空間において投影された画像の3つの座標値を特定する1×3行ベクトルが得られる。
【0062】
従って、固有空間への画像の投影によって、画像の次元数を効果的に減らすことができる。固有空間に画像を投影すると、固有空間の次元数と同じ数の座標を持つ一つの点が得られる。例えば、三次元固有空間に画像を投影すると、三次元点が得られる(つまり、その点は3つの座標で特定される)。よって、n×n画像が三次元固有空間に投影されると、n個のピクセルによって定義されていたその画像は3つの座標によって特定される単一の点によって定義されるよう変換される。
【0063】
図6は、様々な方向を向いた一本以上の指の学習用画像セットの三次元固有空間600の一例を示している。学習用画像セットの各画像の投影点は、固有空間600における三次元点によって表される。従って、図6に示すように、固有空間600に学習用画像セットを投影することによって、固有空間600に学習点群602が作成される。学習点群602は、認識可能な幾何学形状を示すことがある。例えば、図6の学習点群602は、双曲面状または円錐状の形を示しているように見える。
学習点群602の形状が、指の特定の特徴の関数になり得る。
【0064】
指114が表面104に対して垂直であるとき、指114はカメラ108によって捕捉された画像では略円形の物体として現れることがある。ユーザーが手を回転させても、指114は、表面104に対して垂直である限りは、カメラ108によって捕捉された画像では略円形の物体として現れ続ける。言い換えると、指114が表面104に対して垂直のままである場合、カメラ108によって捕捉された一連の画像における指114の形は、たとえ手が回転しても僅かの変化しか示さないことがある。このように僅かの変化しか示さない状態は、指114がカメラ108に対して表面104上のどこを指しているかに関係なく発生することがある。
【0065】
しかし、ユーザーの指114が表面104に対して垂直ではない場合、指114は、カメラ108によって捕捉された画像内でテールを持つ明るい点として現れることがある。このテールは、指114の本体によって反射されたIRである可能性がある。結果として、手が回転するとテールの角度も回転する。
【0066】
図7(a)および図7(b)を参照して説明する。図7(a)は、テール702(a)を有する指114のn×n画像700(a)である。図7(a)では、テール702(a)は画像700(a)の左上の角の方を向いている。図7(b)は、テール702(b)を有する同じ指114のn×n画像700(b)である。図7(b)では、テール702(b)は画像700(b)の右上の角の方を向いている。テール702(a)と702(b)の方向が異なっているのは、指114が、2つの画像700(a)、700(b)においてカメラ108に対して異なる方向を向いているからであると説明できる。画像700(a)の指114と画像700(b)の指114とは、表面104に対して垂直ではない同じ大きさの角度を形成している。しかし、画像700(a)の指114と画像700(b)の指114とが表面104に垂直な平面(図示せず)に対して異なる角度を形成するように、画像700(b)の指114は、画像700(a)の指114の位置から回転している。
【0067】
2つの画像700(a)、700(b)は異なるものなので、固有空間600内の学習点群602内の異なる点によって表される。しかし、固有空間600に画像を投影する処理は線形処理であるため、ほぼ同じ長さのテールを有しているが回転角度が異なる指114の画像のセットを投影すると、固有空間600において略円形パターン状(図示せず)に整列した点セットが得られることがある。従って、2つの画像700(a)、700(b)は固有空間600において学習点群602内の異なる点によって表されるが、これらの点は、固有空間600の中で略円形パターン状に整列することがある。
【0068】
また、画像内の指のテールの長さは、固有空間600内の画像投影位置に影響を与えることがある。図7(a)、図7(b)に関連して上述したように、テールの長さがほぼ同じであるが回転角度は異なる指の画像群の投影点群は、固有空間600内で略円形パターン状に整列することがある。同じ短いテールを有しているが回転角度が異なる指114の画像群の投影点群は、同じ長いテールを有しているが回転角度が異なる指114の画像群の投影点群よりも短い半径の略円形パターン状に整列することがある。
【0069】
図6、図8(a)、図8(b)、図9(a)、図9(b)を参照して説明する。図6の学習点群602の頂点604を形成する学習点群は、テールが小さいか又はない略円形として指114が見える学習用画像に関連していることがある。対照的に、図6の学習点群602の底部606を形成する学習点群は、指114に長いテールが付いている学習用画像に関連していることがある。
【0070】
図8(a)は、指114と表面104との間の比較的小さい角度によって生じた比較的長いテール802(a)を有する指114の学習用画像800(a)を例示している。図8(b)は、指114と表面104との間の比較的大きい角度によって生じた比較的短いテール802(b)を有する指114の学習用画像800(b)を例示している。
【0071】
図9(a)および図9(b)は、三次元固有空間600における2つの画像800(a)、800(b)の投影点800(a)’、800(b)’を例示している。図9(a)に示すように、長いテール802(a)を有する指114の画像800(a)は、比較的長いテール802(a)を有するので、学習点群602の底部近くの点800(a)’上に投影される。対照的に、短いテール802(b)を有する指114の画像800(b)は、比較的短いテール802(b)を有するので、学習点群602の頂点604近くの点800(b)’上に投影される。
【0072】
図9(b)は、三次元固有空間600内の2つの画像800(a)、800(b)の投影点800(a)’、800(b)’を、学習点群602から分離して示している。図9(b)に示すように、投影点800(a)’は、比較的長い同じテールを示すが回転角度が異なる指画像群の投影点群と一緒に略円形パターン902状に整列している。同様に、投影点800(b)’は、比較的短い同じテールを示すが回転角度が異なる指画像群の投影点群と一緒に略円形パターン904状に整列している。
【0073】
学習点群602は認識可能な幾何学形状を示し、よって学習群点602は、多項式によって分析的に表現できる幾何学モデルによって近似されるように修正できる場合がある。幾何学モデルを学習点群602に合わせるのを容易にするために、Transfer-to-Centre(TTC)法として既知の技法を学習点のそれぞれに適用してもよい(工程412)。TTC法は、例えば、Shamaie A.らの「International Journal of Scientia Iranica」6(1)、(1999)に記載されている。TTC法では、データセットを固有空間の中心に移動する。すなわち、データセットの重心を固有空間の原点に移動する。
【0074】
TTC法を学習点のセットに適用した後、モデルを学習点群602に合わせる(工程414)。三次元二次曲面の一般的な式は次の通りである:
F(x, y, z) = ax2 + by2 + cz2 + dxy + exz + fyz + gx + hy + iz + 1 (4)
【0075】
点群602が完全な二次平面を形成する場合、次の式が群602の各点について成立つ:
F(x,y,z)=0 (5)
【0076】
ここでx、y、zは、点群602の各点の座標である。式4の未知のパラメータはΨ=(a,b,c,d,e,f,g,h,i)である。二次曲面を学習点群602に合わせるために、学習点群602の全ての点のセットについての誤差関数が最小となるように式4の未知のパラメータの値を決定する。この誤差関数は次の式によって定義される:
【数2】

【0077】
ここでTSは投影された学習点のセットである。誤差関数は次のように展開できる:
【数3】

【0078】
誤差関数を、擬似ニュートン法を使用して最小化することがある。しかし、擬似ニュートン法のような線形最適化法は、誤差関数が二次式であるため、極小値におちいることがある。しかし、誤差関数を最小化する前に学習点のセットにTTC法を適用することによって、擬似ニュートン最小化法が極小値におちいる危険性が低減される。よって、誤差関数を最小化するために擬似ニュートン法を使用する前に学習点のセットにTTC法を適用した場合、誤差関数はより速く収束する可能性がある。誤差関数を最小化することによって、未知のパラメータのセットΨの値が得られる。誤差関数を最小化することによって決定されたΨの値を式4に代入して学習点群602のモデルを決定する。
【0079】
図10(a)は、学習点群602の例示的なモデル(白丸)に重なっている学習点群602(黒丸)を例示している。図10(b)は図10(a)に色を付けたものである。モデル1000は、誤差関数を最小化することによって決定されたパラメータセットΨの値を式4に代入することによって定義できる。図10(a)および10(b)に示すとおり、このモデルは第1の曲面1002と第2の曲面1004を有している。第1の曲面1002は頂点1002aを、第2の曲面1004は頂点1004aを持つ双曲面状の形状として現れており、互いに向かい合い、共通の軸(図示せず)上に位置している。一つの実施形態では、第1の曲面1002のみを使用して学習点群602を近似する。図10(a)〜(b)に示すとおり、学習点群602は第1の曲面1002を完全には覆っておらず、また、第2の曲面1004を全く覆っていない。
【0080】
図11(a)は、固有空間600において学習点群602を近似するためのモデル1000の第1の曲面1002を例示する図である。第2の曲面1004は図11(a)〜(c)には含まれていない。図11(b)は、モデル1000(白丸)の第1の曲面1002に重なっている学習点群602(黒丸)を例示している。図11(c)は図11(b)に色を付けたものである。
【0081】
図12は、処理400によって学習したシステムを使用して、画像内の物体を指として認識するための例示的な処理1200を示すフローチャートである。処理1200ではまず、表面104、またはROI116内の他の物体によって恒常的に反射されたIRのBGMを作成する(工程1202)。その後、表面104とその周辺の入力画像をカメラ108によって捕捉して(工程1204)、BGMを入力画像から引算する(工程1206)。
【0082】
図2(a)および図2(b)に関連して詳細に前述したとおり、Grassfireに類似のブロッブ分析アルゴリズムを使用して、入力画像から物体を抽出する(工程1208)。図3に関連して詳細に前述したとおり、入力画像から抽出された各物体は、指としては小さすぎるかまたは大きすぎる物体を識別して除外するために処理される(工程1210)。残った物体は全体の面積の昇順にリストに並べられる(工程1212)。
【0083】
次に、リストの中の一番目の物体をn×n画像に変換し、このサイズ変更されたn×n画像を学習用データセットの固有空間600へ投影して画像点を得る(工程1214)。学習段階400で学習点群602内の点にTTC法を適用したのと同じように、TTC法を該画像点に適用する(工程1216)。工程412で使用したのと同じTTC移動値を工程1216で使用してもよい。
【0084】
該画像点の座標を使用して、学習点群602のモデル1000を定義する二次多項式を評価する(工程1218)。該画像点がモデル1000上にあれば、該画像点の座標値を多項式に適用することによって値ゼロが得られる。対照的に、画像点がモデル1000上になければ、画像点の座標値を多項式に適用することによってゼロではない実数が得られる。画像点の座標値を多項式に適用することによって得られた値が、該画像点とモデル1000との間の距離を表す。
【0085】
固有空間600においてモデル1000に近接している画像点に対応する画像は、前記学習用画像セットを構成する画像と類似の特性を示すことがある。従って、画像点の位置がモデル1000に近ければ近いほど、その画像点に対応する画像が指である可能性が高くなることがある。よって、モデル1000上に位置する画像点に、またはモデル1000から最大しきい値距離内にある画像点に対応する画像を指であると判定することができる。
【0086】
よって、画像点の座標値を二次多項式に適用して得られた値を評価して、所定のしきい値距離より小さいか否か判定する(工程1220)。画像点の座標値を二次多項式に適用して得られた値がしきい値距離より小さい場合、その画像点に対応する物体は指であると見なす(工程1222)。画像点の座標を二次多項式に適用して得られた値が最大しきい値距離より大きい場合、その画像点に対応する画像を除外し、工程1214に進んでリストにある次の物体を処理する(工程1224)。
【0087】
固有空間に物体を投影することによって画像に捕捉された物体の次元数を減らすことによって、その物体を学習物体の画像のモデルと比較することが、捕捉された物体の各ピクセルをモデルの各ピクセルと比較する必要なく可能となる。結果として、処理能力とリソースを節約でき、および/または比較処理が速くなる。
【0088】
図13〜図19を参照して、学習段階と認識段階の別の実施形態を説明する。
【0089】
図13は、指として物体を認識するように指認識・追跡システム100に学習させるための処理1300の一例を示すフローチャートである。処理1300は、各学習用画像にヒストグラム等化法を適用する工程を含む。
【0090】
処理1300はまず、表面104またはROI116内の他の物体によって恒常的に反射されたIRのBGMを作成する(工程1302)。様々な異なる方向を向いた一本以上の指の多数の入力画像がカメラ108によって捕捉され(工程1304)、入力画像のそれぞれからBGMを引算する(工程1306)。各画像から指を表す部分が抽出され、基準n×n画像サイズに変換される(工程1308)。各n×n画像にヒストグラム等化法が適用される(工程1310)。
【0091】
照明状態の変化に対処するためにヒストグラム等化法をn×n画像に適用する。ヒストグラム等化法をn×n画像に適用することは、n×n画像内のピクセルの輝度のヒストグラムを作成することと、n×n画像の該ヒストグラムを正規化することと、正規化された画像ヒストグラムに基づいて該n×n画像内のピクセルの値を再割り当てすることとを含む。その結果、個々のピクセルの明るさの順位は維持される(例えば、他のピクセルよりも明るいまたは暗い状態が維持される)。
【0092】
指のn×n学習用画像のセットに対応する固有空間を作成し、各学習用画像を固有空間へ投影する(工程1312)。
【0093】
図14に示すとおり、投影された学習用画像群は、固有空間1400内に学習点群1402を形成する。学習点群1402の重心を固有空間1400の原点へ移動するためにTTC法を学習点群1402に適用する(工程1314)。図14に示す学習点群1402の形状は、図6に示す学習点群602の形状とは異なった様相を呈している。特に、図14の学習点群1402は、円錐形1404の頂点1408にテール1406を有している。二つの学習点群1402、602の形状の差異は、ヒストグラム等化法が照明状態の変化による学習用画像群における変化を低減するので、学習用画像セットにヒストグラム等化法を適用したことに起因している可能性がある(工程1310)。その結果、学習用画像を固有空間1400に投影すると、より一様な形状が得られる。図6の学習点群602の形状は、学習用画像のセット内の指の形状および方向の変化だけでなく照明状態の変化も反映している。一方、図14の学習点群1402の形状は、主に学習用画像のセット内の指の形状および方向の変化を反映している。
【0094】
処理1300は、移動された学習点群1402に一つ以上のモデルを合わせること(工程1316)を含む。学習点群1402のモデルを作成するために、円錐形1404を形成する学習点サブセットと、テール1406を形成する学習点サブセットを分けて考える。図15は、テール1406が除かれた円錐形1404を形成する学習点サブセットを示している。図16は、円錐形1404が除かれたテール1406を形成する学習点サブセットを示している。
【0095】
円錐形1404を形成する学習点サブセットのモデルを作成することがある。また、テール1406を形成する学習点サブセットの第2モデルを作成することがある。前述したとおり、式4が三次元二次曲面の一般式である。よって、円錐形1404を形成する学習点サブセットの点セットに関して式7の誤差関数を最小にするような式4の未知のパラメータΨを最初に特定することによって、円錐形1404を形成する学習点セットのモデルを決定することができる。誤差関数を最小にすることによって特定されたΨの値を式4に代入して学習点群1402のモデルを決定する。
【0096】
または、円錐形1404を形成する学習用画像サブセットを近似するために、垂直な円錐を使用することがある。図15に示すとおり、円錐状の学習点群1404は、固有空間1400の第1主成分を表す垂直軸1500に沿って最も大きな変化を示している。つまり、円錐状の群1404の高さの次元は、固有空間1400の第1主成分と平行である。円錐状の学習点群1404が、固有空間1400の第1主成分に沿って最大の変化を示しているという観察結果は、第1主成分に対応する共分散行列の固有ベクトルが該学習用画像のセットが最大の変化を示す方向を表していることと合致する。よって、円錐形1404を形成する学習点サブセットを近似するために垂直円錐を使用することが可能であることがある。一般的な垂直円錐は次の式で表される:
H(x,y,z)=(x−a)2/d2+(y−b)2/e2−(z−c)2/f2 (8)
【0097】
ここでxおよびyは固有空間1400の水平軸1502、1504を、zは垂直軸1500を表している。式8の未知のパラメータは、Ω=(a,b,c,d,e,f)である。円錐形1404を形成する学習用画像サブセットに垂直円錐を合わせるために、円錐形1404を形成する学習点サブセットの点セットに関して式8を最小化する未知のパラメータΩの値を決定する。式8に対する誤差関数は次の式によって定義できる:
【数4】

【0098】
式9の誤差関数を最小化するために擬似ニュートン法を使用することがある。式9の誤差関数を最小化することによって、未知のパラメータセットΩの値が得られる。これらの値を式8に代入して、円錐形1404を形成する学習点サブセットの垂直円錐モデルを決定する。
【0099】
図17(a)は、円錐形1404の学習点群の例示的な垂直円錐モデル(白丸)1700に重なっている円錐形の学習点群(黒い菱形)1404を示している。図17(c)は、図17(a)に色を付けたものである。図17(a)および図17(c)に示すとおり、垂直円錐モデル1700は下部曲面1702と上部曲面1704とを有している。各曲面1702、1704は円錐形を形成し、その2つの円錐形は共通の頂点1706で接合している。二つの円錐形は共通の軸(図示せず)上に存在している。円錐形1404を形成する学習点群は曲面1702を完全に覆ってはおらず、曲面1704は全く覆っていない。一つの実施形態では、円錐形の学習点群1404を近似するために、円錐1700の下部曲面1702のみを使用する。図17(b)は、円錐形の学習点群1404の例示的な垂直円錐モデル(白丸)1700の下部曲面1702に重なっている円錐形の学習点群(黒い菱形)1404を示している。図17(d)は図17(b)に色を付けたものである。
【0100】
テール1406に対する一つのモデルは垂直線である。テール1406の垂直線モデルは、水平軸1602、1604に沿ってテール1406の学習点の平均を算出することによって決定される。図18(a)は、テール1406を形成する学習点群の例示的な垂直線モデル(黒線)1800に重なっているテールの学習点群(黒丸)1406を示している。テール1406を形成する学習点群は線1800の下部1810の辺りに密集しており、線1800の上部1820に近づくにつれて徐々にほぼ線形になっている。図18(b)は図18(a)に色を付けたものである。別の実施形態では、線1800は垂直でなくてもよい。代わりに線1800は、テール1406を形成する学習点のセットに最もよく適合するような方向を向いていてよい。
【0101】
図19は、画像の指を認識するための処理1900の一例を示すフローチャートである。処理1900では、処理1300によって学習したシステムが使用される。
【0102】
処理1900はまず、表面104またはROI116内の他の物体によって恒常的に反射されたIRのBGMを作成する(工程1902)。表面104とその周辺の入力画像をカメラ108によって捕捉し(工程1904)、入力画像からBGMを引算する(工程1906)。図2(a)および図2(b)に関連して詳細に前述したとおり、Grassfireに類似のブロッブ分析アルゴリズムを使用して、入力画像から物体を抽出する(工程1908)。図3に関連して前述したとおり、指として小さすぎるまたは大きすぎる物体を識別して除外するために、入力画像から抽出された各物体を処理する(工程1910)。残った物体を、全体面積の昇順にリストに並べる(工程1912)。そして、リストの最初の物体をn×n画像に変換して(工程1914)、処理1300で適用されたのと同じヒストグラム等化法を、そのサイズ変更された画像に適用する(工程1916)。ヒストグラム等化法を画像に適用した後、その画像を学習用画像セットの固有空間に投影する。そして、学習段階1300で学習点群1402内の点にTTC法を適用したのと同じように、TTC法を画像点に適用する(工程1918)。
【0103】
前述したとおり、学習点群1402を近似するために、垂直円錐1700の下部曲面1702と垂直線1800の二つのモデルを使用する。従って、画像点の垂直座標値が、垂直円錐モデル1700の下部曲面1702の頂点1706より上にあるか下にあるかを判定する(工程1920)。
【0104】
画像点の垂直座標値が垂直円錐モデル1700の頂点1706よりも下であれば、工程1920から「N」の分岐を辿る。画像点の座標値を使用して、円錐状の学習点群1404の垂直円錐モデル1700を定義する式8を評価する(工程1922)。垂直円錐モデル1700の曲面上に投影点がある場合、投影点の座標値を式8に適用することによって値ゼロが得られる。対照的に、垂直円錐モデル1700の曲面上に画像点がない場合、その画像点の座標値を式8に適用することによって、ゼロではない実数が得られる。式8に画像点の座標値を適用することによって得られた値は、その画像点と垂直円錐モデル1700との間の距離を表す。
【0105】
固有空間1400において垂直円錐モデル1700の下部曲面1702に近接した画像点に対応する画像は、前記学習用画像セットを構成する画像のいくつかと類似の特性を示すことがある。従って、画像が垂直円錐モデル1700の下部曲面1702に近ければ近いほど、その画像点に対応する画像が指である可能性が高いことがある。垂直円錐モデル1700の下部曲面1702上に位置する画像点に、または垂直円錐モデル1700の下部曲面1702から最大しきい値距離内にある画像点に対応する画像を指であると判定することができる。
【0106】
よって、式8に画像点の座標値を適用することによって得られた値を評価して、所定のしきい値距離より小さいか否か判定する(工程1924)。画像点の座標値を式8に適用して得られた値がしきい値距離より小さい場合(工程1924からの「Y」分岐)、その画像点に対応する画像を指であると見なす(工程1926)。画像点の座標値を式8に適用して得られた値がしきい値距離より大きければ(工程1924からの「N」分岐)、その画像点に対応する画像は除外され、工程1914へ進むことによってリストにある次の物体が処理される(工程1928)。
【0107】
画像点の垂直座標が垂直円錐モデル1700の頂点1706よりも上にある場合、工程1920から「Y」分岐へ進む。画像点の座標値を使用して、垂直線モデル1800を定義する式を評価する(工程1930)。画像点が線1800上にある場合、この線を定義する式に画像点の座標値を適用することによって値ゼロが得られる。対照的に、画像点が線1800上にない場合、線1800を定義する式に画像点の座標値を適用することによって、ゼロではない実数が得られる。線1800を定義する式に画像点の座標値を適用して得られた値は、その画像点と線1800の間の距離を表す。
【0108】
固有空間1400で垂直線モデル1800に近接した画像点に対応する画像は、学習用画像セットを構成する画像のいくつかと類似の特性を示すことがある。従って、画像の位置が垂直線モデル1800に近ければ近いほど、その画像点に対応する画像が指である可能性が高いことがある。垂直線モデル1800上にある画像点に、または垂直線モデル1800から最大しきい値距離内にある画像点に対応する画像は、指であると判定してよい。
【0109】
よって、この線を定義する式に画像点の座標値を適用することによって得られた値を、しきい値距離より小さいか否か判定するために評価する(工程1932)。この線を定義する式に画像点の座標値を適用することによって得られた値がしきい値距離より小さければ(工程1932からの「Y」分岐)、その画像点に対応する画像は指であると見なす(工程1926)。この線を定義する式に画像点の座標値を適用することによって得られた値がしきい値距離より大きければ(工程1932からの「N」分岐)、その画像点に対応する画像は除外され、工程1914に進むことによってリストにある次の物体を処理する(工程1928)。
【0110】
しきい値距離を調整するために様々な技法が存在する。例えば、しきい値距離を調整するための一つの技法は、学習点群の座標値をそれら学習点のモデルに適用することを含む。一つの実施形態では、学習点群の90%を含むしきい値距離が、しきい値距離として妥当な選択であると考える。無論、他のしきい値距離またはパーセンテージを選択してもよい。
【0111】
図20は、画像内の物体を認識するための処理2000の一例を示すフローチャートである。この処理はまず、多次元空間における物体の画像点の座標値を算定する(工程2002)。一つの実施形態では、特定の物体の画像がカメラによって捕捉され、コンピュータまたはソフトウェアアプリケーションによって入力として受け取られる。画像点は、画像内の捕捉されたその特定の物体を表す。
【0112】
学習用画像群の特性を示す多次元空間における幾何学モデルを表す式が提供される(工程2004)。幾何学モデルを表す式に画像点の座標値を適用して、その画像点と幾何学モデルとの間の距離を算定する(工程2006)。
【0113】
画像点と幾何学モデルとの間の特定された距離に基づいて、その画像点によって表された物体が学習用画像と一致するか否かを判定する(工程2008)。より具体的には、その物体が学習用画像によって捕捉された任意の種類の物体と一致するか否かを判定する。
【0114】
一つの実施形態では、画像点の座標値を算定することは、異なる多次元空間にその画像を投影することを含む。多次元空間は、例えば固有空間であってもよい。そのような実施形態では、学習用画像の特性を示す幾何学モデルもその多次元空間内にある。
【0115】
いくつかの実施形態を説明したが、様々な変更が可能であることを理解されたい。例えば、コンパクトディスク(CD)、処理装置、または他のコンピュータ読み込み可能な媒体に、開示した方法のいずれかを実行するためのプログラム、命令群、またはコードセグメントを格納してもよい。さらに、開示した方法のいずれかを実行するためのツールが提供されてもよい。このツールは、例えば、コンピュータ読み込み可能な媒体、処理装置、カメラ、プロジェクタ、またはこれらとおそらく他の部品の組み合わせを含んでもよい。処理装置は、例えば、プロセッサ、コンピュータ、プログラム可能な論理装置、または集積回路などを有していてもよい。
【0116】
実施形態および特徴は、様々な装置において少なくとも部分的に実現されてよい。装置の例は、ポータブルコンピュータまたは他の処理装置を含む前述したコンピュータである。さらに、装置の例は、携帯電話、個人用デジタル補助装置、ポケットベルやポータブル電子メール装置(例えばBlackberry(登録商標))などのメッセージ装置、例えばiPod(登録商標)などの携帯音楽プレイヤー、またはその他の電子携帯メッセージ、娯楽、編集、ゲーム装置を含む。
【0117】
さらに、開示したシステムおよび方法は概ね、画像の中の物体を指として認識することに関連して説明したが、画像の中の他の物体を認識する能力も考慮されている。開示したシステムおよび方法は、例えば固有空間などの空間内の幾何学モデルによって近似可能な任意の物体を認識するために使用してよい。例えば、開示したシステムおよび方法は画像の中の物体をペンまたは缶として認識するために使用されてもよい。さらに、異なる実施形態の各要素を組み合わせたり、追加したり、変更したり、又は取り除いて別の実施形態を実現してもよい。
【0118】
開示した方法は複数の工程を含むものとして説明したが、さらなる工程を開示した方法に追加してもよい。さらに、必ずしも各工程を実行する必要はなく、幾つかの工程は省略してもよい。さらに、開示した工程を、必ずしも説明した順番に実行しなくてもよい。
【0119】
最後に、各種の技術を使用したり、組み合わせたり、変更したりして実施形態を実現してもよい。このような技術には、例えば様々なハードウェア、ソフトウェア、ファームウェア、一体化されたコンポーネント、個別のコンポーネント、処理装置、メモリまたは記憶装置、通信装置、レンズ、フィルタ、表示装置、投射装置などが含まれる。従って、他の実施形態も添付の請求項の範囲内である。
【0120】
この特許または出願ファイルには少なくとも一枚以上のカラー図面が含まれている。カラー図面付の特許公報または公開公報のコピーは、要求し必要な料金を支払えば特許庁によって提供される。
【符号の説明】
【0121】
100 システム
102 赤外線(IR)照射装置
108 カメラ
110 IRフィルタ
112 プロジェクタ
120 IRフィルタ

【特許請求の範囲】
【請求項1】
表面近くに投射した電磁放射を用いて前記表面に接している物体を検知することと、
前記検知した物体の外観に基づいて前記検知した物体が所定の種類の物体であるか否かを判断するように訓練されている学習認識モデルを用いて、前記検知した物体が前記所定の種類の物体であるか否かを判定することと、
前記検知した物体が前記所定の種類の物体であると判定した場合に、前記検知した物体に基づいてコンピュータアプリケーションへのユーザ入力を生成することと、を含むコンピュータで実行される方法。
【請求項2】
表面近くに投射した電磁放射を用いて、前記表面に近接した少なくとも第一および第二の物体を検知することと、
前記第一および第二の物体の概観に基づいて前記第一および第二の物体を認識するように訓練されている学習認識モデルを用いて、前記第一および第二の物体を認識することと、
前記第一および第二の物体を認識したことに基づいて、前記少なくとも第一および第二の物体のいずれかを制御対象物として指定することと、
前記制御対象物を用いてコンピュータアプリケーションへのユーザ入力を生成することと、を含むコンピュータで実行される方法。
【請求項3】
表面近くに投射した電磁放射を用いて、前記表面の周辺の少なくとも第一および第二の物体を検知することと、
前記第一および第二の物体の概観に基づいて前記第一および第二の物体を認識するように訓練されている学習認識モデルを用いて、前記第一および第二の物体を認識することと、
前記認識した第一および第二の物体に基づいてコンピュータアプリケーションへのユーザ入力を生成することと、を含むコンピュータで実行される方法。
【請求項4】
表面近くに投射した電磁放射を用いて、前記表面に接している少なくとも第一および第二の物体を検知することと、
前記少なくとも第一および第二の物体の概観に基づいて制御対象物を特定するように訓練されている学習認識モデルを用いて、前記第一および第二の物体を制御対象物として認識することと、
前記制御対象物を用いてコンピュータアプリケーションへのユーザ入力を生成することと、を含むコンピュータで実行される方法。
【請求項5】
表面近くに投射した電磁放射を用いて、前記表面に接している入力対象物体を検知することと、
前記入力対象物体を、制御物体の訓練画像の固有空間内の円錐とテールとしてモデル化された入力セットと比較することと、
前記入力対象物と前記モデル化された円錐とテールとの比較に基づいて、前記検知した物体が前記制御対物体であるか否かを判定することと、
前記検知した物体が前記制御対象物体であると判定した場合に、前記検知した物体に基づいてコンピュータアプリケーションへのユーザ入力を生成することと、を含むコンピュータで実行される方法。
【請求項6】
表面近くに投射した電磁放射を用いて前記表面に接している入力対象物体を検知することと、
前記入力対象物体を、制御物体の訓練画像の三次元二次曲面の一般式を用いて固有空間内でモデル化された入力セットと比較することと、
前記入力対象物と前記モデル化された入力セットとの比較に基づいて、前記検知した物体が前記制御対物体であるか否かを判定することと、
前記検知した物体が前記制御対象物体であると判定した場合に、前記検知した物体に基づいてコンピュータアプリケーションへのユーザ入力を生成することと、を含むコンピュータで実行される方法。

【図1】
image rotate

【図2(a)】
image rotate

【図2(b)】
image rotate

【図3】
image rotate

【図4(a)】
image rotate

【図4(b)】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7(a)】
image rotate

【図7(b)】
image rotate

【図8(a)】
image rotate

【図8(b)】
image rotate

【図9(a)】
image rotate

【図9(b)】
image rotate

【図10(a)】
image rotate

【図10(b)】
image rotate

【図11(a)】
image rotate

【図11(b)】
image rotate

【図11(c)】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17(a)】
image rotate

【図17(b)】
image rotate

【図17(c)】
image rotate

【図17(d)】
image rotate

【図18(a)】
image rotate

【図18(b)】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2013−50949(P2013−50949A)
【公開日】平成25年3月14日(2013.3.14)
【国際特許分類】
【出願番号】特願2012−179249(P2012−179249)
【出願日】平成24年8月13日(2012.8.13)
【分割の表示】特願2007−550455(P2007−550455)の分割
【原出願日】平成18年1月6日(2006.1.6)
【出願人】(507364838)クアルコム,インコーポレイテッド (446)
【Fターム(参考)】