(57)【特許請求の範囲】
【請求項１】
入力画像から、この画像内における対象物の位置を検出する検出手段と、
前記検出手段によって検出した検出結果と、一つ前に前記対象物が存在する確率が高いと評価された位置をピークとする確率分布関数を用いて、画像内における前記対象物が存在する確率を求める演算手段と、
前記確率に基づいて、前記対象物が存在する確率が最も高い位置を求める判定手段と、  を具備することを特徴とする情報処理装置。
【請求項２】
前記判定手段は、検出結果から求めた前記対象物が存在する確率が高い位置および求めた確率と、以前に求めた位置および確率から前記対象物の位置にかかる変位量を調節することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
映像を撮影するカメラをさらに備え、
前記検出手段は、前記カメラから取り込んだ画像データを前記入力画像とすることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
情報処理装置で用いられるプログラムであって、
入力画像から、この画像内における対象物の位置を検出する検出手順と、
検出した検出結果と、一つ前に前記対象物が存在する確率が高いと評価された位置をピークとする確率分布関数を用いて、画像内における前記対象物が存在する確率を求める手順と、
前記確率に基づいて、前記対象物が存在する確率が最も高い位置を求める手順と、
をコンピュータに実行させるためのプログラム。
【請求項５】
前記位置を求める手順は、検出結果から求めた前記対象物が存在する確率が高い位置および確率と、以前に判定した位置および確率から前記対象物の位置にかかる変位量を調整することを特徴とする請求項４に記載のプログラム。
【請求項６】
前記検出手順は、前記入力画像をカメラから取り込む手順をさらに有することを特徴とする請求項４に記載のプログラム。
【請求項７】
入力画像から、この画像内におけるその対象物の位置を検出し、
検出した検出結果と、一つ前に前記対象物が存在する確率が高いと評価された位置をピークとする確率分布関数を用いて、画像内における前記対象物が存在する確率を求め、
前記確率に基づいて、前記対象物が存在する確率が最も高い位置を求めることを特徴とする情報処理方法。
【請求項８】
前記位置を求めるは、検出結果から求めた前記対象物が存在する確率が高い位置および求めた確率と、以前に求めた位置および前記確率から前記対象物の位置に係わる変位量を調整することを特徴とする請求項７に記載の情報処理方法。
【請求項９】
前記対象物の位置を検出する前に、前記入力画像をカメラから取り込む手順をさらに有することを特徴とする請求項７に記載の情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は一般に、情報処理装置、プログラム及び情報処理方法に関し、特に、ユーザのジェスチャを認識し、認識されたジェスチャに基づいた制御を行うことができる情報処理装置、プログラム及び情報処理方法に関する。
【背景技術】
【０００２】
従来から、テレビ又はパーソナルコンピュータ等の情報処理装置をユーザがジェスチャにより指示を与えることで操作する方法が提案されている。このような方法によれば、マウス、キーボード、又はリモートコントローラといった入力装置を使用せずに、情報処理装置を遠隔操作することができる。
【０００３】
ジェスチャなどの動きを捕らえる技術として、例えば、被写体の動作や移動の状態を判別する技術が提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００３−３２３６０４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載された方法はあくまで被写体が移動したことを検出するものであるが、検出した位置にそのままカーソルを表示させるとカーソルが手の動きに追従できなくなるなど、返ってジェスチャによる操作の妨げになる場合がある。
【０００６】
そこで、本発明は、容易な構成で対象物の位置を検出する情報処理装置、プログラム及び情報処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した課題を解決するために、本発明の一態様によれば、入力画像から、この画像内における対象物の位置を検出する検出手段と、前記検出手段によって検出した検出結果と、一つ前に前記対象物が存在する確率が高いと評価された位置をピークとする確率分布関数を用いて、画像内における前記対象物が存在する確率を求める演算手段と、前記確率に基づいて、前記対象物が存在する確率が最も高い位置を求める判定手段と、を具備することを特徴とする情報処理装置が提供される。
【０００８】
また、情報処理装置で用いられるプログラムであって、入力画像から、この画像内における対象物の位置を検出する検出手順と、検出した検出結果と、一つ前に前記対象物が存在する確率が高いと評価された位置をピークとする確率分布関数を用いて、画像内における前記対象物が存在する確率を求める手順と、前記確率に基づいて、前記対象物が存在する確率が最も高い位置を求める手順と、をコンピュータに実行させるためのプログラムが提供される。
【０００９】
さらに、入力画像から、この画像内におけるその対象物の位置を検出し、検出した検出結果と、一つ前に前記対象物が存在する確率が高いと評価された位置をピークとする確率分布関数を用いて、画像内における前記対象物が存在する確率を求め、前記確率に基づいて、前記対象物が存在する確率が最も高い位置を求めることを特徴とする情報処理方法が提供される。
【図面の簡単な説明】
【００１０】
【図１】本発明の一実施形態に係る情報処理装置の構成例を概略的に示すブロック図。
【図２】情報処理装置の構成の一部を示すブロック図。
【図３】情報処理装置の機能構成を示すブロック図。
【図４】Q(n,x),W(n,x)の効果を示した概念図。
【図５】本発明の実施形態に係る情報処理装置を適用した情報処理方法について示した処理フローの概念図。
【図６】Q(n,p(n-1))が遠い場合を示した概念図。
【図７】Q(n,p(n-1))が近い場合を示した概念図。
【図８】本発明の実施形態に係る情報処理装置を適用した情報処理方法について示した処理フローの概念図。
【発明を実施するための形態】
【００１１】
以下、本発明の実施形態について図面を参照しながら説明する。
【００１２】
なお、本発明の実施形態では、カメラ１２６で撮影した画像からユーザの手の位置を検出し、画像上の手の位置に対応した位置にカーソル等のポインタを移動させることで操作する。手の位置検出の精度の低さや、誤判定を招くノイズに対しても高い操作性を実現するポインタの制御方法を提供する。
【００１３】
また、検出された手の位置は実際の位置とは異なると判断されるノイズ情報を含むため、手の検出位置にそのままポインタを表示させると、ポインタが指す位置に誤差が生じてしまう。するとユーザの意図する指示が認識されず、結果的に操作性を損なうことがある。また、ローパスフィルタなどを用いてノイズの除去を行った場合、ノイズ除去量を増やすほどポインタの表示位置の変化が手の位置の変化に追従できなくなり、同様に操作性を損なうことがある。
【００１４】
このため、本発明では、手の位置の変化が小さいときはポインタが表示される位置の誤差を減らし、手の位置の変化が大きいときには手の動きに追従させることができる制御方法を提供する。
【００１５】
まず、図１を参照しつつ、本発明の第１の実施形態に係る情報処理装置について説明する。
【００１６】
図１は、本発明の第１の実施形態に係る情報処理装置の構成を概略的に示すブロック図である。この実施形態に係る情報処理装置は、例えば、ノートブック型のパーソナルコンピュータとして実現されている。
【００１７】
図１に示されるように、パーソナルコンピュータ１００は、ＣＰＵ１１１、主メモリ１１２、ノースブリッジ１１３、グラフィクスコントローラ（表示部）１１４、ディスプレイ１１５、サウスブリッジ１１６、ハードディスクドライブ（ＨＤＤ）１１７、副プロセッサ１１８、ＢＩＯＳ−ＲＯＭ１１９、エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）１２０、電源回路１２１、バッテリ１２２、ＡＣアダプタ１２３、タッチパッド１２４、キーボード（ＫＢ）１２５、カメラ１２６、及び電源ボタン２１等を備える。
【００１８】
ＣＰＵ１１１は、パーソナルコンピュータ１００の動作を制御するプロセッサである。ＣＰＵ１１１は、ＨＤＤ１１７から主メモリ１１２にロードされる、オペレーティングシステム（ＯＳ）及び各種のアプリケーションプログラムを実行する。また、ＣＰＵ１１１は、ＢＩＯＳ−ＲＯＭ１１９に格納されたＢＩＯＳ（Basic Input/Output System）も実行する。ＢＩＯＳは、周辺デバイスを制御するためのプログラムである。ＢＩＯＳは、パーソナルコンピュータ１００の電源投入時に最初に実行される。
【００１９】
ノースブリッジ１１３は、ＣＰＵ１１１のローカルバスとサウスブリッジ１１６との間を接続するブリッジデバイスである。ノースブリッジ１１３は、ＡＧＰ（Accelerated Graphics Port）バスなどを介してグラフィクスコントローラ１１４との通信を実行する機能を有している。
【００２０】
グラフィクスコントローラ１１４は、パーソナルコンピュータ１００のディスプレイ１１５を制御する表示コントローラである。グラフィクスコントローラ１１４は、ＯＳ又はアプリケーションプログラムによってＶＲＡＭ（図示せず）に書き込まれた表示データから、ディスプレイ１１５に出力すべき表示信号を生成する。ディスプレイ１１５は、例えば、液晶ディスプレイ（ＬＣＤ）である。
【００２１】
サウスブリッジ１１６には、ＨＤＤ１１７、副プロセッサ１１８、ＢＩＯＳ−ＲＯＭ１１９、カメラ１２６、及びＥＣ／ＫＢＣ１２０が接続されている。また、サウスブリッジ１１６は、ＨＤＤ１１７及び副プロセッサ１１８を制御するためのＩＤＥ（Integrated Drive Electronics）コントローラも備えている。
【００２２】
ＥＣ／ＫＢＣ１２０は、電力管理のためのエンベデッドコントローラ（ＥＣ）と、タッチパッド１２４及びキーボード（ＫＢ）１２５を制御するためのキーボードコントローラ（ＫＢＣ）とが集積された、１チップマイクロコンピュータである。ＥＣ／ＫＢＣ１２０は、例えば、電源ボタン２１が操作されたときに、電源回路１２１と共同してパーソナルコンピュータ１００の電源をオンにする。パーソナルコンピュータ１００は、ＡＣアダプタ１２３を介して外部電源が供給される場合、外部電源によって駆動される。外部電源が供給されない場合、パーソナルコンピュータ１００は、バッテリ１２４によって駆動される。
【００２３】
カメラ１２６は、例えばＵＳＢカメラである。カメラ１２６のＵＳＢコネクタは、パーソナルコンピュータ１００の本体に設けられたＵＳＢポート（図示せず）に接続される。カメラ１２６によって撮影された画像（手の位置等）は、ＨＤＤ１１７等にフレームデータとして記憶される。また、パーソナルコンピュータ１００のディスプレイ１１５に表示することができる。カメラ１２６によって供給される画像のフレームレートは、例えば、１５フレーム／秒である。カメラ１２６は、外付けのカメラであっても、パーソナルコンピュータ１００の内蔵カメラであってもよい。
【００２４】
副プロセッサ１１８は、カメラ２６から取り込まれた動画の処理等を行う。
【００２５】
図２は、パーソナルコンピュータ１００の構成の一部を、より詳細に示すブロック図である。
【００２６】
図２に示されるように、パーソナルコンピュータ１００は、ＵＳＢカメラ１２６から取り込まれた画像データをＵＳＢ  Ｈｏｓｔ２００を経由して認識エンジン２０１に送信する。認識エンジン２０１は、受信した画像データに基づいて、ユーザの手の位置等を認識する。この手の位置等を認識する認識エンジン２０１は、従来から用いられている種々の技術を用いるものとする（例えば、特表２００２−５０４７２２等）。
【００２７】
そして、認識エンジン２０１により認識された手の位置情報をフィルタ２０２によって演算、補正を行い、実際の手の位置に近づくように精度を向上させる。フィルタ２０２によって手の位置が算出されると、ディスプレイ１１５上のマウスポインタ等２０３を算出された位置まで移動させる。
【００２８】
次に、図３は、パーソナルコンピュータ１００の機能構成の一部を示すブロック図である。制御部１１、記憶部１２、検出部１３、および表示部１４を備えている。制御部１１は、カメラ１２６から取り込まれた動画像の処理を行う。記憶部１２は、動画像の判別（手であるかどうか、手の位置はどこか等）に用いる各種の数式、閾値等を記憶する。検出部１３は、カメラ１２６から取り込まれた動画像（手の位置等）の検出を行う。表示部１４は、検出部１３で検出された手の位置に応じたマウスカーソルの移動等の処理を表示する。
【００２９】
次に、検出された手の位置から実際の手の位置に近づける処理について図４〜図８を参照して詳細に説明する。なお、図５、図８は、本発明の実施形態に係る情報処理装置を適用した情報処理方法について示した処理フローの概念図である。
【００３０】
検出された手の位置は真の手の位置を中心とする正規分布を取ると仮定し、真の（実際の）手の位置が存在する確率の高い点に近づくようにポインタを移動させる。
【００３１】
まず、カメラ１２６で取り込まれた画像フレームデータを記憶部１２に記憶する。記憶部１２から過去の画像フレームデータを取り出して利用することができる。
【００３２】
このとき、図４に示すように、n番目のフレームで検出された手の位置をh(n)、ポインタ位置をp(n)とする。検出位置がh(n)のときに点xが真の手の位置である確率P(n,x)は、
【数１】
0005242755.tif 000002
【００３３】
と表される（Ｓ１０３：図５参照）。
【００３４】
f(x,μ,σ)は正規分布の確率密度関数であり、平均μ、標準偏差σとして以下で表される。
【数２】
0005242755.tif 000003
【００３５】
点xが真の手の位置である確率の高さを表す数値Q(n,x)を以下のように定義する（Ｓ１０１：図５参照）
【数３】
0005242755.tif 000004
【００３６】
αは0<α≦1の値をとる減衰係数。
【００３７】
W(n,x)は過去の履歴の重みであり、以下のように定義する（Ｓ１０２：図５参照）
【数４】
0005242755.tif 000005
【００３８】
なお、Q(n-1,x)は、記憶部１２に記憶された過去の画像フレームデータである。また、αは、過去の画像フレームデータを反映させる量の値として用いている。
【００３９】
この式は、x=h(x)のとき1となるようにf(x,h(x),σ)を修正したものである。
【００４０】
(f(h(n),h(n),σ)は、P(n,x)ピーク値)
W(n,x)がない場合は、Q(n,x)は減衰係数αによって過去の履歴を反映させた手の存在確率となる。また、W(n,x)（h(n)がピークになるようにした関数）を導入することにより、h(n)に近い点では緩やかに現在の値に近づき、離れている点では急激に減少するという特性を持たせることができる（Ｓ１０４：図５参照）
次に、フレームnにおいて、前回の結果データをp(n-1)とする（Ｓ２０１：図８）。そして、Q(n,p(n-1))の値により重み付けを行う。近いほど重みがあるものとする（Ｓ２０２：図８）。そして、最もQ(n,x)の高いxをM(n)とし（Ｓ２０３：図８）、ポインタ位置p (n)を以下の式により求める（Ｓ２０４：図８）。
【数５】
0005242755.tif 000006
【００４１】
現在の最大確率点と前回のポインタ位置を、それぞれの点の現在の確率を重みとして平均を取る形とする。
【００４２】
M(n)が前回のポインタ位置に近い場合は、Q(n,p(n-1))もQ(n,M(n))に近い値となるため、ディスプレイ１１５に表示されたポインタはゆるやかに移動する（図７参照）。
【００４３】
一方、M(n)が前回のポインタ位置と大きく異なる場合は、式(1)により前回の値であるQ (n,p(n-1))は大幅に小さい値となるため、ほとんど反映されすに、p(n)はM(n)に急速に近づく（図６参照）。このため、手の位置を大きく動かしたときは、ポインタを現在の手の位置にすばやく近づけることができる。
【００４４】
また、ポインタ位置の変更速度を制御するパラメータβを導入して、
【数６】
0005242755.tif 000007
【００４５】
とすることにより、ポインタの移動速度を調節することもできる。
【００４６】
以上、本実施形態により、手の位置を動かしていないときは検出位置のノイズを大幅に除去してポインタのぶれを抑えることができる。さらに、手の位置を大きく動かしたとき（図６参照）は、ポインタを現在の手の位置にすばやく近づけることができる。
【００４７】
なお、本発明は、上述した実施形態そのままに限定されるものではない。本発明は、実施段階では、その要旨を逸脱しない範囲で構成要素を変更して具現化できる。
【００４８】
また、上述した実施形態に開示されている複数の構成要素を適宜に組み合わせることで、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。更に、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００４９】
以下に、原出願の当初の特許請求の範囲に記載された発明を付記する。  
［１］表示装置に表示されたポインタにより操作指示が可能な情報処理装置であって、  
手が写った入力画像から、この画像内におけるその手の位置を検出する検出手段と、  
前記検出手段によって検出した最新の検出結果と、一つ前に前記手が存在する確率が高いと評価された位置をピークとする確率分布関数の値を用いて、画像内における前記手が存在する確率を求める演算手段と、  
前記確率から求めた評価値に基づいて、前記手が存在する確率が最も高い位置に前記ポインタを移動表示させるポインタ表示手段と、  
を具備することを特徴とする情報処理装置。  
［２］前記ポインタ表示手段は、最新の検出結果から求めた前記手が存在する確率が高い位置および評価値と、一つ前に求めた位置および評価値から前記ポインタを移動表示させる際の移動量を調節することを特徴とする［１］に記載の情報処理装置。  
［３］映像を撮影するカメラをさらに備え、  
前記検出手段は、前記カメラから取り込んだ画像データを前記入力画像とすることを特徴とする［１］に記載の情報処理装置。  
［４］表示装置に表示されたポインタにより操作指示可能な情報処理装置で用いられるプログラムであって、  
手が写った入力画像から、この画像内におけるその手の位置を検出する検出手順と、  
検出した最新の検出結果と、一つ前に前記手が存在する確率が高いと評価された位置をピークとする確率分布関数の値を用いて、画像内における前記手が存在する確率を求める手順と、  
前記確率から求めた評価値に基づいて、前記手が存在する確率が最も高い位置に前記ポインタを移動表示させる手順と、  
をコンピュータに実行させるためのプログラム。  
［５］前記移動表示させる手順は、最新の検出結果から求めた前記手が存在する確率が高い位置および評価値と、一つ前に求めた位置および評価値から前記ポインタを移動表示させる際の移動量を調整することを特徴とする［４］に記載のプログラム。  
［６］前記検出手順は、前記入力画像をカメラから取り込む手順をさらに有することを特徴とする［４］に記載のプログラム。  
［７］表示装置に表示されたポインタを手の動きで操作するための情報処理方法であって、  
手が写った入力画像から、この画像内におけるその手の位置を検出し、  
検出した最新の検出結果と、一つ前に前記手が存在する確率が高いと評価された位置をピークとする確率分布関数の値を用いて、画像内における前記手が存在する確率を求め、  
前記確率から求めた評価値に基づいて、前記手が存在する確率が最も高い位置に前記ポインタを移動表示させることを特徴とする情報処理方法。  
［８］前記ポインタの移動表示は、最新の検出結果から求めた前記手が存在する確率が高い位置および評価値と、一つ前に求めた位置および評価値から移動表示の際の移動量を求めることで、前記ポインタの移動後の表示位置を調整することを特徴とする［７］に記載の情報処理方法。  
［９］前記手の位置を検出する前に、前記入力画像をカメラから取り込む手順をさらに有することを特徴とする［７］に記載の情報処理方法。
【符号の説明】
【００５０】
１１…制御部、１２…記憶部、１３…検出部、１４…表示部、２１…電源ボタン、１００…ポータブルコンピュータ、１１１…ＣＰＵ，１１２…主メモリ、１１３…ノースブリッジ、１１４…グラフィクスコントローラ、１１５…ディスプレイ、１１６…サウスブリッジ、１１７…ハードディスクドライブ（ＨＤＤ）、１１８…副プロセッサ、１１９…ＢＩＯＳ−ＲＯＭ、１２０…エンベデッドコントローラ／キーボードコントローラＩＣ（ＥＣ／ＫＢＣ）、１２１…電源回路、１２２…バッテリ、１２３…ＡＣアダプタ、１２４…タッチパッド、１２５…キーボード（ＫＢ）、１２６…カメラ
【図１】
0005242755.tif 000008
【図２】
0005242755.tif 000009
【図３】
0005242755.tif 000010
【図４】
0005242755.tif 000011
【図５】
0005242755.tif 000012
【図６】
0005242755.tif 000013
【図７】
0005242755.tif 000014
【図８】
0005242755.tif 000015