JP2016071547A - 情報処理装置とその制御方法、プログラム、記憶媒体 - Google Patents
情報処理装置とその制御方法、プログラム、記憶媒体 Download PDFInfo
- Publication number
- JP2016071547A JP2016071547A JP2014199182A JP2014199182A JP2016071547A JP 2016071547 A JP2016071547 A JP 2016071547A JP 2014199182 A JP2014199182 A JP 2014199182A JP 2014199182 A JP2014199182 A JP 2014199182A JP 2016071547 A JP2016071547 A JP 2016071547A
- Authority
- JP
- Japan
- Prior art keywords
- image
- acquired
- hand
- pose
- person
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
- G06T7/74—Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/42—Global feature extraction by analysis of the whole pattern, e.g. using frequency domain transformations or autocorrelation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/69—Microscopic objects, e.g. biological cells or cellular parts
- G06V20/693—Acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/69—Microscopic objects, e.g. biological cells or cellular parts
- G06V20/695—Preprocessing, e.g. image segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/69—Microscopic objects, e.g. biological cells or cellular parts
- G06V20/698—Matching; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/03—Recognition of patterns in medical or anatomical images
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Computer Interaction (AREA)
- Image Analysis (AREA)
Abstract
【課題】 本発明は上記課題に鑑みてなされたものであり、入力画像と辞書データのマッチングに基づいて、複数の方向から差し伸べられる人の手のポーズを認識する処理をより効率化することを主な目的とする。【解決手段】 本発明は、上記課題を解決するため、人が腕を挿入可能な空間を撮像した画像を取得する画像取得部と、前記画像のうち、前記人の腕が写る領域の輪郭を示す位置を示す情報を取得する輪郭取得部と、前記情報処理装置に対する前記人の位置を示す情報を取得する位置取得部と、前記輪郭の位置を示す情報と、前記人の位置を示す情報とに基づいて、前記人の腕が写る領域内で、前記人の腕のうち手部分に相当する領域の基準点を特定する基準点特定部と、前記特定された基準点と、前記輪郭の位置を示す情報とから、前記前記人の腕のうち手部分に相当する領域の特徴量を取得する特徴量取得部、を備える。【選択図】 図2
Description
本発明は、ユーザの手のポーズを認識する技術に関する。
ジェスチャによる入力が可能なユーザインタフェース(UI)においては、ユーザである人の手のポーズを識別することで、ポーズと移動軌跡の組み合わせによる多彩なジェスチャコマンドを認識可能になる。なおポーズとは例えば、所定数の指だけを伸ばした状態や、全ての指を握り込んだ状態などを区別したそれぞれの状態のことをいう。特許文献1は、撮像画像から手のポーズを認識する技術を開示する。特許文献1では、楕円近似によって撮像画像から腕が写る領域(腕領域)を抽出し、楕円の長軸方向かつ胴体から遠い領域を指先であるとして特定した上で、指先の幾何学的位置関係から手のポーズを認識している。
一方、マシンビジョン(以下、MV)と呼ばれる技術では、機械部品など特定の形状の物体をRGBカメラや距離画像センサを用いて撮像した画像と、辞書データとのマッチングに基づいて、物体の姿勢を認識することがある。特許文献2には、画像から物体の輪郭を抽出し、物体の重心から輪郭までの距離を特徴量とし、辞書データを回転させながら入力画像の特徴量と辞書データの特徴量の類似度が高い回転角度を特定する技術が開示されている。
ジェスチャによる入力は、物理ボタンやタッチパネルに対する接触を必要とする入力に比べ、入力を行う位置や方向の自由度が高いことが利点の1つである。しかしながら、任意方向からのジェスチャ入力を可能とする場合、特許文献1のように、撮像画像から指先を特定してその位置関係をもとに手のポーズを認識するには、あらゆる方向からみた指先の位置関係を予め記憶している多大な辞書データが必要となる。さらに、多くの場合、人を撮像した画像から抽出された腕領域にはポーズの識別に関わらない部位が含まれ、形状には偏りがある。従って、特許文献2のように、辞書データを回転させることでユーザの手が回転角度を有する場合のマッチングに対応するためには、辞書データを回転させる中心を適切に定める必要がある。
本発明は上記課題に鑑みてなされたものであり、入力画像と辞書データのマッチングに基づいて、複数の方向から差し伸べられる人の手のポーズを認識する処理をより効率化することを主な目的とする。
本発明は、上記課題を解決するため、情報処理装置であって、人が腕を挿入可能な空間を撮像した画像を取得する画像取得手段と、前記画像取得手段が取得した画像のうち、前記人の腕が写る領域の輪郭を示す位置を示す情報を取得する輪郭取得手段と、前記情報処理装置に対する前記人の位置を示す情報を取得する位置取得手段と、前記輪郭取得手段によって取得された輪郭の位置を示す情報と、前記位置取得手段によって取得された前記人の位置を示す情報とに基づいて、前記人の腕が写る領域内で、前記人の腕のうち手部分に相当する領域の基準点を特定する基準点特定手段と、前記基準点特定手段によって特定された基準点と、前記輪郭取得手段によって取得された輪郭の位置を示す情報とから、前記前記人の腕のうち手部分に相当する領域の特徴量を取得する特徴量取得手段、を備える。
本発明によれば、入力画像と辞書データのマッチングに基づいて、複数の方向から差し伸べられる人の手のポーズを認識する処理をより効率化することができる。
以下に、図面を参照して本発明の実施形態を詳細に説明する。なお、以下で説明する実施形態は、本発明を具体的に実施した場合の一例を示すものであり、これに限るものではない。
(第1の実施形態)
図1は、本実施形態で説明する情報処理装置100を設置したテーブルトップシステムの外観の一例を示している。情報処理装置100は、プロジェクタの投影光照射部105から投影光を照射することにより、テーブル上や壁面など、任意の平面を操作面として設定できる。図1に示すテーブルトップシステムの場合は、情報処理装置100をテーブル面101上に設置し、テーブル面上に表示画像を投影する。ここで円形画像102は、プロジェクタによってテーブル面上に投影されたUI部品である。以下では、プロジェクタによってテーブル面上に投影されるUI部品や写真などの各種画像など全てを総称して表示アイテムという。
図1は、本実施形態で説明する情報処理装置100を設置したテーブルトップシステムの外観の一例を示している。情報処理装置100は、プロジェクタの投影光照射部105から投影光を照射することにより、テーブル上や壁面など、任意の平面を操作面として設定できる。図1に示すテーブルトップシステムの場合は、情報処理装置100をテーブル面101上に設置し、テーブル面上に表示画像を投影する。ここで円形画像102は、プロジェクタによってテーブル面上に投影されたUI部品である。以下では、プロジェクタによってテーブル面上に投影されるUI部品や写真などの各種画像など全てを総称して表示アイテムという。
また、受光部106は、赤外パターン投影方式の距離画像センサ115が得る距離画像の視点を示す。本実施形態では、受光部106は、操作面に対して上方から見下ろす画角で撮像する位置に設置される。従って、距離画像センサによって得られた距離画像の各画素には、受光部106から被写体までの距離が反映される。なお、距離画像の取得方法は、一例として環境光やテーブル面の表示の影響が小さい赤外パターン投影方式を基に説明するが、用途に応じて視差方式や赤外光反射時間方式などを利用することも可能である。ここで操作面104のうち、プロジェクタによる投影が可能な範囲と、距離画像センサの視野範囲は一致しているものとし、以下では、当該範囲を操作領域104という。ただし、操作面を上方からみた画像が得られる構成であれば、必ずしも距離受光部106は上方に設置されている必要はなく、例えばミラーを用いて反射光を受光するように構成しても構わない。
本実施形態では、ユーザが腕103aや腕103bなどに示すように複数の方向から、操作面104と距離画像センサ115の受光部106の間の空間に腕を挿入可能である。ユーザは手を使って、テーブルトップシステムに対して、前記表示アイテムを操作対象とするジェスチャ操作を入力する。ただし、本実施形態は、表示アイテムがテーブル101に投影される場合だけでなく、例えば壁面に投影光が照射される場合や、投影面が平面でない場合であっても適用可能である。なお、本実施形態では、図1に示されるように操作面104に対して平行な二次元平面にx軸とy軸、操作面104に直交する高さ方向にz軸を設定し三次元位置情報を座標値として扱う。ただし、操作面が平面でない場合やユーザと操作面との位置関係によっては、必ずしも操作面に平行あるいは直交の関係の座標軸ではなくてもよい。その場合も、z軸は認識対象と操作面との近接関係(両者の間の距離の大きさの程度)を検出する方向、z軸と交わる方向にx軸とy軸とが設定される。
図2(A)は、本実施形態における情報処理装置100のハードウェア構成の一例を示すブロック図である。同図において、CPU110は、バス113を介して接続する各デバイスを統括的に制御する。オペレーティングシステム(OS)をはじめ、後述するフローチャートに示されるような本発明に係る各処理プログラム、デバイスドライバ等はROM112に記憶されており、RAM111に一時記憶され、CPU110によって適宜実行される。RAM111は、高速にアクセス可能なCPU110の主メモリ、ワークエリア等の一時記憶領域として用いられる。ここでOSおよび各処理プログラム等は外部の記憶装置116に記憶されていてもよく、その場合は電源投入時に必要な情報がRAM111に適宜読み込まれる。また、ディスプレイI/F117は、情報処理装置100内部で生成される表示アイテム(表示画像)をプロジェクタ118が処理可能な信号に変換する。入出力I/F114は、距離画像センサ115から距離情報を取得し、情報処理装置100が処理可能な情報に変換するとともに、記憶装置116と情報処理装置100間で相互にデータの変換を行う。
本実施形態では、情報処理装置100で投影するデジタルデータは記憶装置116に格納されているものとする。記憶装置116としては、ディスクデバイスやフラッシュメモリ、ネットワークやUSBなどの各種の入出力I/F114を介して接続される記憶装置116を使用する。本実施形態において、距離画像センサ115は、操作領域104上の情報を取得するために用いられる撮像部である。距離画像センサ115によって取得された画像は入力画像としてRAM111で一時保存され、CPU110によって適宜処理され、破棄されるが、適宜必要なデータは記憶装置116に蓄積しても構わない。
図2(B)は、本実施形態における情報処理装置100の機能構成の一例を示すブロック図である。情報処理装置100は、画像取得部120、輪郭取得部121、位置取得部122、特徴量取得部124、特徴量取得部124、生成部125、ポーズ特定部126から構成される。これらの各機能部は、CPU110が、ROM112に格納されたプログラムをRAM111に展開し、後述する各フローチャートに従った処理を実行することで実現されている。また例えば、CPU110を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。また保持部127は、ROM112あるいは、記憶装置116のいずれかに対応する機能部であり、生成部125によって生成された辞書データや、プロジェクタ118に出力される画像の基となる画像データを保持する。
画像取得部120は距離画像センサ115によって撮像された距離画像を示す情報を、入力画像の情報として一定時間毎に取得し、RAM111に随時保持する。取得した情報によって示される距離画像の各画素の位置は、図1に示されている(x、y)座標で表現され、各画素の画素値は、z方向の座標値に対応する。なお、画像取得部120が取得し、各機能部とやりとりするのは実際には画像データに対応する信号であるが、以下では単に「距離画像を取得する」として説明する。 輪郭取得部121は、画像取得部120によって取得された距離画像から人の腕が写る領域(腕領域)を抽出し、その輪郭を示す位置情報を取得し、RAM111にその情報を保持する。ここで人の腕とは、人の肩から指先にかけての部位の全てを指し、撮像画像のうち、人の腕に該当する部分が一部写る領域が、腕領域である。また本実施形態において手とは、腕のうち、手首から先の全てを差す。手には、5指、掌、甲が含まれる。輪郭取得部121の実際の処理としては、取得した距離画像の各画素が示すz方向の座標値に対して閾値処理を行うことで、テーブルよりも高さが高い座標値を持ち、かつ画像端と接触している領域を、腕領域として抽出する。ただし、腕領域の抽出方法はこれに限られず、例えば別途撮像された操作領域104のRGB画像における肌色領域に対応する部分を抽出する等してもよい。また、本実施形態の輪郭取得部121は、腕領域が抽出された入力画像に微分フィルタを適用することに基づいて、輪郭線の座標を取得する。
位置取得部122は、入力画像から、情報処理装置100に対するユーザの位置を示す情報を取得する。本実施形態では、入力画像の画像端と腕領域が交差する部分の位置に基づいて、情報処理装置100に対するユーザの位置を推定する。
基準点特定部123は、抽出された腕領域内の基準点の位置を特定し、その位置情報をRAM111に保持する。特定される基準点は、手のポーズを特定するための辞書データの生成、及び入力画像と辞書データのマッチング処理に利用される。
特徴量取得部124は、取得された腕領域のうち、手部分の特徴量を取得する。本実施形態では、特定された基準点を利用して、手が写る手領域を、回転対称な形状の部分領域に分割し、それぞれから得られる複数の特徴量を得る。回転対称な形状の部分領域を利用した特徴量の処理は後で詳述する。
生成部125は、取得された手領域の特徴量に基づいて、情報処理装置100が識別する複数の手のポーズのそれぞれに対応する辞書データを生成する。特に、回転対称な形状の部分領域から得られた複数の特徴量を1つの辞書データとして生成する。
ポーズ特定部126は、入力画像から得られる特徴量と、予め生成された辞書データの特徴量とのマッチング処理に基づいて、入力画像が撮像された時点でのユーザの手のポーズを特定し、特定結果をRAM111に保持する。本実施形態では、回転対称な形状の部分領域から得られた複数の特徴量を1つの辞書データを利用して、回転させながらマッチング処理を行う。
この他、入力画像からユーザが指先で指示する位置座標を検出する検出部や、ジェスチャ動作の認識部、プロジェクタ118に出力される画像を制御する表示制御部等、情報処理装置100の使用目的やアプリケーションに応じた機能部を構成することができる。
本実施形態に係る情報処理装置100の処理を詳細に記載する前に、特許文献2のようにMVで用いられる方法で、所定の形状の物体の姿勢(向き)を認識する方法を説明する。ここでは、物体が操作面104に載置された状態を仮定し、距離画像センサ115によって得られた距離画像の解析に基づいて、物体に生じているxy平面内での回転について、回転量を求める例を説明する。
図3(A)は、距離画像から抽出される、認識対象となる物体の形状を輪郭線で示したものである。図3(B)は、この物体について生成される辞書データの内容を模式的に表す図である。ここで辞書データとは、認識対象となる物体が、既知の、ある角度で操作面104に載置された状態のときに距離画像から抽出される形状の情報から算出された特徴量データである。
図3(B)で示す特徴量は、以下の処理で算出される。まず、物体の形状に基づいて重心200の位置を特徴量算出処理の基準点と定める。そして、重心200を中心とし、物体を包含する仮想的な円形領域を設定する。設定した円をN個の扇形に等分に分割することで、物体を回転対称なN個の領域に分割する。ここで、Nは2以上の自然数とする。図3(B)の場合、実線で示されているのが、円形領域と、それを分割することで得られた8個の扇形(N=8)である。図3(B)では、各扇形を識別するため、内部に0〜7の識別番号が示されている。さらに、各扇形について、内部に含まれる物体の輪郭を示す各点のxy座標と、基準点200のxy座標との距離を求め、求められた距離のうち最大の距離を、当該扇形における物体の特徴量とする。図3(B)では、基準点200と物体の輸郭を結ぶ破線で示されているのが、各扇形について得られる特徴量である。8個の扇形から得られる8個の特徴量データのセットが、1つの辞書データを構成する。図4は、辞書データとして記憶されるデータの形式の一例を示す。辞書データとして記憶される情報は、特微量データのセットのみであり、輪郭線の情報は含まれていない。
次に、上記のような辞書データと、入力として得られた距離画像(以下、単に入力画像という)とのマッチング処理に基づいて、物体の姿勢を特定する方法を説明する。図3(D)は、図3(A)で示したのと同じ物体に回転が加わった状態で撮像された入力画像から、物体の輪郭を抽出した状態を示す。マッチング処理は以下のような手順で行われる。まず、入力画像について、辞書データと同じように重心を基準点として定め、特微量を算出する。
そして、辞書データの扇形0〜7と、入力画像の扇形0〜7のそれぞれについて、特微量同士の類似度(マッチングスコア)を算出する。例えば、二乗誤差の和の逆数を求め、回転角0の場合のマッチングスコアとして保持する。次に、辞書データを時計回りに2π/N、つまり扇形1つ分回転させて、再び対応する位置にある扇形の特微量同士のマッチングスコアを求め、その値を回転角2π/Nの場合のマッチングスコアとして保持する。このように、2π/Nずつ回転させてマッチングスコアを求める処理をN−1回繰り返すと、辞書データ1回転分のマッチングスコアが得られることになる。入力画像から抽出される物体が、辞書データを生成したときと同一の姿勢である時、入力画像から得る物体の特徴量と辞書データの特微量のマッチングスコアは最も高くなる。例えば、図3(E)は、回転角0の辞書データ(薄く示した部分)と、図3(D)に示された入力とのマッチング処理を行った場合を表し図3(F)は、辞書データを2π/8×3だけ回転させた段階で入力とのマッチング処理を行った場合を示す。この場合、図3(F)が最も高いマッチングスコアを得られる状態であり、以上の処理によって、物体の回転角が2π/8×3であることが特定される。上述したのは、予め形状が既知である1種類の物体について、1つの辞書データを使って物体の姿勢を特定する処理であった。さらに、複数種類の物体のそれぞれに対応する複数の辞書データを予め保持すれば、入力画像に含まれる物体がどの種類の物体かを特定し、かつ、その姿勢を特定することが可能となる。具体的には、入力画像に含まれる対象物体の形状について、複数の辞書データのそれぞれを回転させながらマッチングスコアを求める処理を行う。これにより、対象物体は、最も高いスコアが得られた辞書データに対応する種類の物体であると特定される。このように、辞書データを回転させながら段階的にマッチングスコアを求めることで、回転が加わった物体に対してロバストな認識処理を行うことが可能となる。さらに、複数の辞書データのそれぞれを回転させながら算出したマッチングスコアが所定の闘値を超えない場合に、該物体は予め辞書データが用意されていない未知の物体である、と判断することができる。
ここまで説明した例において、認識の対象となる物体は、機械部品のように、その大きさが操作面自体よりも小さく、操作面上に単独で載置されることが可能な物体であることが前提となる。このような物体は、入力画像において、画像の端と接触することなく、孤立した状態で存在する領域として抽出されることから、以下では孤立物体と称す。孤立物体は、距離画像センサ115によって検出可能な輪郭のすべての部分に、その形状や姿勢の特定に寄与する意味がある。一方、孤立物体の形状や姿勢を特定する方法を、本実施形態のように、人の手のポーズを特定することを目的とする処理に適用しようとすると、いくつかの課題を解決する必要が生じる。以下、その課題と解決方法について段階的に説明する。
なお、本実施形態において、手のポーズとは、5指と掌、甲を含む手の部分の形状のことである。ユーザは、主に指の曲げ方を変えることによってポーズを異ならせることができる。各ポーズは、例えば、曲げられている指の本数の違いによって識別される。以下では例えば、人差し指だけを伸ばし、残りの指をまげて掌の内側に収めたポーズを「指差しポーズ」という。また、5指の全てを伸ばして手を広げた状態を、じゃんけんの手に見立てて、「パーのポーズ」という。また、5指の全てを曲げて掌の内側に納めた状態を同じく「グーのポーズ」という。
<特微量の取得>
ここで、図5を参照して、人の手を撮像した画像に基づいて、人の手のポーズを特定する処理を行うために必要となる、腕領域の基準点の特定処理を説明する。上述したように、認識対象が孤立物体の場合は、重心を基準点として、辞書データを生成し、該辞書データを、重心を中心に回転させながら入力画像とのマッチング処理を行うことができる。しかしながら、人の手を撮像した画像が入力画像である場合、腕領域を抽出すると、一般的には手(手首から先の部分)だけでなく、手首や、ひじ等の部位を含んだ腕の全てが抽出されることになる。例えば、図5(A)は、入力画像のうち、腕領域として抽出される部分を拡大したものである。図5(A)の場合、画像端305から、腕300が侵入している。本実施形態では、画像端305と交差する物体が検出された場合、その交差部分に相当する画素を示す座標値の平均が示す座標位置を、侵入位置の座標として特定する。図5(A)において、侵入位置は点304に相当する。なお、侵入位置の定義は、これに限らない。例えば、物体と画像端が接触している座標のうち所定の条件を満たす代表点としたり、物体と操作面の端部が交差している部分の平均座標としたりすることができる。なお侵入位置とは、本実施形態において、情報処理装置100に対するユーザの位置(立ち位置)に対応する位置情報である。本実施形態の情報処理装置100は、操作面104に向けて設置された距離画像センサ115によって入力画像を得るため、入力画像中の腕と画像端に基づいて推定されるユーザの位置として、上述したような侵入位置の概念を利用する。しかし、別のデバイスによって情報処理装置100に対するユーザの立ち位置を検出可能であれば、その位置情報をxy平面上の画像に変換して利用することができる。例えば、天井に設置されたカメラやセンサを利用してもよい。
ここで、図5を参照して、人の手を撮像した画像に基づいて、人の手のポーズを特定する処理を行うために必要となる、腕領域の基準点の特定処理を説明する。上述したように、認識対象が孤立物体の場合は、重心を基準点として、辞書データを生成し、該辞書データを、重心を中心に回転させながら入力画像とのマッチング処理を行うことができる。しかしながら、人の手を撮像した画像が入力画像である場合、腕領域を抽出すると、一般的には手(手首から先の部分)だけでなく、手首や、ひじ等の部位を含んだ腕の全てが抽出されることになる。例えば、図5(A)は、入力画像のうち、腕領域として抽出される部分を拡大したものである。図5(A)の場合、画像端305から、腕300が侵入している。本実施形態では、画像端305と交差する物体が検出された場合、その交差部分に相当する画素を示す座標値の平均が示す座標位置を、侵入位置の座標として特定する。図5(A)において、侵入位置は点304に相当する。なお、侵入位置の定義は、これに限らない。例えば、物体と画像端が接触している座標のうち所定の条件を満たす代表点としたり、物体と操作面の端部が交差している部分の平均座標としたりすることができる。なお侵入位置とは、本実施形態において、情報処理装置100に対するユーザの位置(立ち位置)に対応する位置情報である。本実施形態の情報処理装置100は、操作面104に向けて設置された距離画像センサ115によって入力画像を得るため、入力画像中の腕と画像端に基づいて推定されるユーザの位置として、上述したような侵入位置の概念を利用する。しかし、別のデバイスによって情報処理装置100に対するユーザの立ち位置を検出可能であれば、その位置情報をxy平面上の画像に変換して利用することができる。例えば、天井に設置されたカメラやセンサを利用してもよい。
腕領域のうち、手首やひじは、手部分のポーズに寄らず、さまざまな形状をなす。従って、腕領域の重心を基準点と定義した場合、1つの辞書データだけを重心を中心に回転させるマッチング方法では、手部分のポーズを特定することはできない。また、手首やひじの状態が異なる複数パターンの辞書データを用意することは、保持すべきデータ量が増大してしまうため現実的ではない。例えば、図5(A)において、点302bは、手首およびひじが伸びた状態で入力画像に写っている腕領域の重心を示す。手部分の面積に対して、手首から肩にかけての部位の部分の面積の方が大きいため、重心の位置は手から大きくずれている。従って、点302bを中心として、手の大きさに合わせた円形領域302aを設定しても、その内部に手部分は含まれない。つまり、辞書データを、基準点を中心に回転させながら、入力画像とマッチングする方法を用いて手のポーズを特定するためには、回転の中心として用いるための適切な基準点を設定する必要がある。
ここで、重心とは異なる基準点の求め方として、入力画像のうち物体が写る領域内の注目画素から、該物体の輪郭の画素との最小距離が最も大きくなる点を特定するという方法が知られている。具体的には、まず、画像領域内部のある内部画素に着目し、該領域の輪郭の各画素(輪郭画素は多数ある)からの距離を求める。そのうち、最小の距離値で前記着目した内部画素の値を置き換える。全ての内部画素について上記の置き換えを行った後、画素値が最大になる点を探す、というものである。この方法は、直感的には、物体が最も太い部分を探索するものである。しかしながら腕領域の中で最も太い部分は、距離画像センサ115と腕との角度や距離に応じて、手部分であったり腕部分であったりする可能性がある。例えば、入力画像において、腕が、肩側の端に最も太い部分が存在するように写った場合に、このような方法で求められる基準点が、点303bである。点303bを中心として、手の大きさに合わせた円形領域303aを設定しても、手部分は含まれない。従って、単に、物体が最も太い部分を探索することによって、手のポーズを特定するマッチング処理のための適切な基準点を定めることは困難である。
以上説明した従来知られた方法に対して、本実施形態における基準点特定処理を、図5(B)を参照して説明する。辞書データを回転させながら入力画像とマッチングするという方法で手のポーズを特定するためには、基準点は点301bのように取得され、その周囲の円形領域を分割することで特徴量が特定されるのが最も効率がよい。点30lbは、腕領域のうち、手の中央である。ここで、腕領域の中で、手として認識されるべき部分には、手首から肩側に伸びる部分は含まれない。つまり、手は、腕領域のうち、侵入位置から比較的遠くに存在するといえる。一方、手の中央とは、手首から先の部分の中では最も太い部分の中心であるといえる。従って、本実施形態では、腕領域内の各画素について、侵入位置からの距離と、輪郭からの最小距離を取得する。そして、それらに基づいて特定されるスコアが最大になる画素の位置を、辞書データを回転させながら入力画像とマッチングするという方法で手のポーズを特定するための基準点の位置として特定する。図5(B)では、矢印306が、侵入位置304から基準点301bまでのユークリッド距離を示し、破線矢印307が、輪郭と基準点301bとの間の最小マンハッタン距離を示す。
図9(A)は、上述した基準点特定処理の流れを示すフローチャートである。なお、基準点特定処理は、手のポーズを特定するための辞書データを作成する処理や、手のポーズを特定する処理において、特徴量取得処理の前に実行される。
ステップS100において、特徴量取得部124は、RAM111に保持された腕領域に含まれる各画素の位置について侵入位置からの距離を取得し、RAM111に保持する。距離としては本実施形態ではユークリッド距離を用いるが、それ以外の距離尺度を用いてもよい。ステップS101において、特徴量取得部124は、RAM111に保持された腕領域に距離変換を適用し、RAM111に保持する。距離としては本実施形態ではマンハッタン距離を用いるが、それ以外の距離尺度を用いてもよい。ステップS102において、特徴量取得部124は、RAM111に保持された各画素の位置の、侵入位置からの距離と各画素の距離変換した値を用いて、各画素のスコアを算出する。スコアとしては例えば以下の式1を用いることができる。最後に、スコアが最大の画素を手の基準点として選択し、RAM111に保持する。
スコア=侵入位置からの距離*輪郭までの最少距離・・・(式1)
以上が、本実施形態において、手のポーズを特定する処理において、辞書データを回転させながら入力画像とのマッチング処理を行うための、腕領域の基準点を特定する処理である。
スコア=侵入位置からの距離*輪郭までの最少距離・・・(式1)
以上が、本実施形態において、手のポーズを特定する処理において、辞書データを回転させながら入力画像とのマッチング処理を行うための、腕領域の基準点を特定する処理である。
次に、距離画像センサ115によって得られた入力画像について、上記処理によって特定された基準点に基づいて、手の形状の特徴量を取得する処理について説明する。図10(B)のフローチャートは、本実施形態にける特徴量取得処理の流れの一例を示す。なおこの処理は、手のポーズの辞書データを作成する処理や、手のポーズを特定する処理において、基準点特定処理の後に実行される。
まず、ステップS110において、特徴量取得部124は、RAM111に保持された手の輪郭点を、あらかじめ指定した半径を持ち基準点を中心とした複数の扇形に含まれる集合に分割し、RAM111に保持する。ステップS111において、特徴量取得部124は、はRAM111に保持された扇形から一つを選択する。ステップS112において特徴量取得部124はステップS111で選択された扇形について、特徴量を取得する。本実施形態では、選択された扇形に含まれる輪郭点の各位置について、基準点までの距離を算出し、その中で最大の値を、その扇形の特徴量としてRAM111に保持する。ステップS113において、特徴量取得部124は、全ての扇形について特徴量を算出したかを判定する。未処理の扇形が残っている場合(ステップS113でNo)はステップS111に戻って、全ての扇形について処理を終えるまで繰り返す。一方、全ての扇形について特徴量を算出していれば、特徴量取得処理を終了する。
以上説明したように、本実施形態では、距離画像センサ115によって得られた画像から、腕領域を抽出し、その中でも、手に特に注目するための基準点を定める。さらに、基準点を中心に設定した円形領域を複数の扇形に分割し、各扇形を単位として、特徴量を取得する。これにより、手首やひじの状態によらずに利用可能な効率のよい辞書データの生成とマッチング処理が可能となる。
<辞書の作成>
次に、本実施形態において、手のポーズを特定する処理に用いるために、予め辞書データを生成する処理の詳細を説明する。ここで、認識対象となる物体が孤立物体である場合は、その輪郭の全てが、物体の姿勢を特定するための意味を持つのに対し、認識対象が手である場合は必ずしもそうではない。例えば、図5(B)で示した基準点301bを中心とし、予め決められた半径の円形領域の内部に含まれる腕領域を、このときのユーザの手領域として取得する場合を考える。本実施形態では、上述した処理で、基準点301bの周囲に設定した複数の扇形を単位として、特徴量を取得する。このとき、手領域のうち、手首の部分の形状は、ユーザの手がどのようなポーズをとっていたとしても変化がない。このように、ポーズを識別するにあたって意味をもたない部分の特徴量を、辞書データに含んでしまうと、実際にはポーズが異なる場合でも、算出されるマッチングスコアが高くなる可能性がある。すなわち、誤認識が発生しやすくなってしまう。そこで、本実施形態では、辞書データとしては、複数の扇形毎に取得された特徴量のうち、手のポーズの特徴が現われる扇形に対応する特徴量のみが選択される。言い換えれば、本実施形態では、手のポーズの識別に関わらない非特徴部分は、辞書データには含まない。一例として、「指差しポーズ」と「グーのポーズ」を区別して認識するための辞書データを生成する場合を説明する。この2つのポーズは、人差し指部分の形状の違いのみに依存して識別され、その部分以外の輪郭の形状はほぼ一致する。従って、本実施形態では、「指差しポーズ」であれば、少なくとも、人差し指部分に相当する部分の特徴量を、各ポーズに対応する辞書データとして登録する。図6(A)は、手が「指差しポーズ」をとる場合の手400を写した入力画像を表す。この場合、指差しポーズの特微が現われるのは、扇形2と扇形3の部分であるため、少なくともこの部分の特徴量が「指差しポーズ」の辞書データとされる。これにより、「指差しポーズ」を「グーのポーズ」と区別するために必要な最低限の特徴量が辞書データとして予め用意されることとなる。
次に、本実施形態において、手のポーズを特定する処理に用いるために、予め辞書データを生成する処理の詳細を説明する。ここで、認識対象となる物体が孤立物体である場合は、その輪郭の全てが、物体の姿勢を特定するための意味を持つのに対し、認識対象が手である場合は必ずしもそうではない。例えば、図5(B)で示した基準点301bを中心とし、予め決められた半径の円形領域の内部に含まれる腕領域を、このときのユーザの手領域として取得する場合を考える。本実施形態では、上述した処理で、基準点301bの周囲に設定した複数の扇形を単位として、特徴量を取得する。このとき、手領域のうち、手首の部分の形状は、ユーザの手がどのようなポーズをとっていたとしても変化がない。このように、ポーズを識別するにあたって意味をもたない部分の特徴量を、辞書データに含んでしまうと、実際にはポーズが異なる場合でも、算出されるマッチングスコアが高くなる可能性がある。すなわち、誤認識が発生しやすくなってしまう。そこで、本実施形態では、辞書データとしては、複数の扇形毎に取得された特徴量のうち、手のポーズの特徴が現われる扇形に対応する特徴量のみが選択される。言い換えれば、本実施形態では、手のポーズの識別に関わらない非特徴部分は、辞書データには含まない。一例として、「指差しポーズ」と「グーのポーズ」を区別して認識するための辞書データを生成する場合を説明する。この2つのポーズは、人差し指部分の形状の違いのみに依存して識別され、その部分以外の輪郭の形状はほぼ一致する。従って、本実施形態では、「指差しポーズ」であれば、少なくとも、人差し指部分に相当する部分の特徴量を、各ポーズに対応する辞書データとして登録する。図6(A)は、手が「指差しポーズ」をとる場合の手400を写した入力画像を表す。この場合、指差しポーズの特微が現われるのは、扇形2と扇形3の部分であるため、少なくともこの部分の特徴量が「指差しポーズ」の辞書データとされる。これにより、「指差しポーズ」を「グーのポーズ」と区別するために必要な最低限の特徴量が辞書データとして予め用意されることとなる。
次に、図10(A)のフローチャートを参照して、本実施形態における辞書作成処理の詳細を説明する。図10(A)のフローチャートは、情報処理装置100の初期設定を行う時点、あるいは、設計時点において、実行される処理である。
ステップS300において、画像取得部120は、距離画像センサ115から入力画像として距離画像の情報を取得し、RAM111に保持する。ステップS301において、輪郭取得部121は、RAM111に保持された距離画像に基づいて、腕領域を取得する。例えば、操作面104の高さより高い位置に存在する画素のまとまりであって、少なくとも一部が画像端に接している領域を、腕領域(腕領域)として抽出する。そして、抽出された領域を、識別のためのラベルと関連付けてRAM111に保持する。
ステップS302において、特徴量取得部124は、RAM111に保持された腕領域に基づいて、腕領域の侵入位置と侵入方向を取得し、RAM111に保持する。本実施形態では、侵入方向とは、侵入位置から手先を向く方向だと定義する。腕領域に含まれる画素の位置を示すxy座標と、侵入位置のxy座標の差分に基づいて、腕領域に含まれる画素のうち、侵入位置から最も遠い点を特定する。そして、座標値がより大きい座標軸に沿った方向で、かつ、侵入位置から指先に向かう方向を、侵入方向とする。ただし、侵入方向の定義はこれに限らない。
ステップS303において、輪郭取得部121は、RAM111に保持された腕領域に基づいて、腕領域の輪郭を取得する。例えば、腕領域が抽出された入力画像に微分フィルタを適用することで、腕領域の輪郭を取得できる。取得した輪郭はRAM111に保持される。なお、腕領域に含まれる画素のうち、侵入位置から最も遠い点は、通常輪郭に含まれるので、ステップS302の処理とステップS303の処理の順序を逆として、輪郭点の中から侵入方向の根拠とする点を探索しても構わない。
ステップS304において、特徴量取得部124は、RAM111に保持された輪郭及び侵入位置に基づいて、特徴量取得に用いる基準点を取得し、RAM111に保持する。具体的には図9(A)のフローチャートが実行される。ステップS305において、特徴量取得部124は、RAM111に保持された輪郭の位置と基準点の位置に基づいて、手領域を取得し、RAM111に保持する。例えば、基準点を中心とした半径閾値以内にある輪郭点の内側を手領域とする。ステップS306において、特徴量取得部124、はRAM111に保持された手領域と基準点に基づいて、特徴量を取得し、RAM111に保持する。具体的には図9(B)のフローチャートが実行される。
ステップS307において、特徴量取得部124は、RAM111に保持された手の特徴量に基づいて、手領域が分割された扇形の部分領域のうち、手のポーズの特徴が最も顕著に現れた部分領域を特定する。ステップS308において、特徴量取得部124は、辞書データを登録するポーズの識別情報を取得する。例えば、情報処理装置100のユーザ、あるいは設計者によって、辞書作成処理の開始時に入力されたポーズの名称や識別番号を取得する。そして、ステップS309において、特微量取得部122は、ステップS107において特定された特徴部分と、ステップS308で取得したポーズの識別情報と、ステップS102で取得した侵入方向とを対応付けて、辞書データとして保持部127に保持させる。従って、本実施形態において、辞書データは、手のポーズの種類1つに対して1つ生成される。以上の辞書データ作成処理は、情報処理装置100の使用環境に合わせ、少なくとも、区別して特定すべきポーズの数だけ繰り返される。また必要に応じて、同一のポーズに対して、ユーザの姿勢が異なる場合や、距離画像センサ115の設置状況が異なる場合に対応付けて複数の辞書データを用意してもよい。本実施形態では、同一のポーズに対して、侵入方向が異なる複数の辞書データを生成するものとする。
以上説明したように、本実施形態では、手の画像を部分領域に分割し少なくとも、識別すべきポーズのそれぞれについて特微が顕著に現わる部分領域の特微量を選択して辞書データとして保持する。これにより、手のポーズの寄らず、必ず手の画像に含まれてしまう手首部分等の影響による、ポーズの特定処理の誤認識の発生を低減することができる。
<手のポーズの特定>
次に、本実施形態において、手のポーズを特定する処理の詳細を説明する。本実施形態では、図1に示したように、距離画像センサ115の受光部106は、操作面に対して上方から見下ろす画角で撮像を行うように設置される。また、さらに斜めの角度を持つように設置される可能性がある。それらに起因して、ユーザの手のポーズが同一であっても手の侵入方向や侵入位置などユーザ側の姿勢が異なれば、入力画像に変化が生じる。つまり、手領域の輪郭の形状が異なったものとなりそこから得られる特徴量も異なるものとなる。例えば、図7は、が距離画像センサ115の正面方向から侵入した腕の手が「指差しポーズ」をとった場合と、距離画像センサ115に向かって右側から侵入した腕の手が、「指差しポーズ」をとった場合に距離画像から得られる輪郭の違いを示す。そこで、本実施形態では、ユーザの姿勢によらず、手のポーズを特定可能とするために、複数のポーズのそれぞれに関して、侵入方向が異なる複数の辞書データを予め生成する。ただし、ポーズの特定において、予め生成された全ての辞書データを用いた場合、以下のような理由から、返って特定処理の精度が低下する可能性がある。即ち、第1の侵入方向に関して、手が第1のポーズをとる場合の距離画像上の特徴が、第2の侵入方向に関して、手が第2のポーズをとる場合の距離画像上の特徴と類似してしまい、ポーズ自体の識別能力が低下してしまう場合がある。従って、本実施形態では、手のポーズ特定処理においては、ユーザの腕の侵入方向に基づいてマッチングに用いる辞書データを選択する。
次に、本実施形態において、手のポーズを特定する処理の詳細を説明する。本実施形態では、図1に示したように、距離画像センサ115の受光部106は、操作面に対して上方から見下ろす画角で撮像を行うように設置される。また、さらに斜めの角度を持つように設置される可能性がある。それらに起因して、ユーザの手のポーズが同一であっても手の侵入方向や侵入位置などユーザ側の姿勢が異なれば、入力画像に変化が生じる。つまり、手領域の輪郭の形状が異なったものとなりそこから得られる特徴量も異なるものとなる。例えば、図7は、が距離画像センサ115の正面方向から侵入した腕の手が「指差しポーズ」をとった場合と、距離画像センサ115に向かって右側から侵入した腕の手が、「指差しポーズ」をとった場合に距離画像から得られる輪郭の違いを示す。そこで、本実施形態では、ユーザの姿勢によらず、手のポーズを特定可能とするために、複数のポーズのそれぞれに関して、侵入方向が異なる複数の辞書データを予め生成する。ただし、ポーズの特定において、予め生成された全ての辞書データを用いた場合、以下のような理由から、返って特定処理の精度が低下する可能性がある。即ち、第1の侵入方向に関して、手が第1のポーズをとる場合の距離画像上の特徴が、第2の侵入方向に関して、手が第2のポーズをとる場合の距離画像上の特徴と類似してしまい、ポーズ自体の識別能力が低下してしまう場合がある。従って、本実施形態では、手のポーズ特定処理においては、ユーザの腕の侵入方向に基づいてマッチングに用いる辞書データを選択する。
また、本実施形態では、辞書作成処理において、手のうちポーズの識別に関して意味を持たない部分領域の特微を、辞書データから除外した。同様に、ポーズを特定する処理においても、ポーズの識別に関わらない部分を予め特定し、辞書データとのマッチングを行わないように制御を加える。この点について、図8を参照して詳細を述べる。図8(A)において、腕500aは手が「指差しポーズ」をとる場合、腕500bは手が「パーのポーズ」をとる場合を模式的に示している。また、点501a及び点501bは、それぞれ基準点特定処理によって特定された基準点である。腕500aと腕500bのそれぞれは、手が異なるポーズをとるにも関わらず、扇形0と扇形7の部分、すなわち手首部分の輪郭の形状とそれに応じた特徴量はほぼ一致する。辞書データに用いる部分領域を限定したのと同様、本実施形態では、辞書データと回転させながら行うマッチング処理においても、ポーズの識別に関わらない部分は除外する。具体的には、侵入方向に基づいて、手領域のうち手首部分である可能性が高い部分を特定する。図8(B)は、操作面を上方から見た場合を示し、距離画像センサ115によって得られる距離画像に相当する。ただし、プロジェクタの投影画像、表示アイテム102は、省略されている。矢印502aおよび矢印502bは、腕103aおよび腕103bの侵入方向を示す。また、特微量の単位に対応する扇形の境界は破線で示され、扇形のうち、マッチングに利用される部分が実践で囲われている。ここでは手首部分に相当する扇形が除外されていることが示される。手103aの場合、侵入方向は矢印502aが示すようにx軸の正方向であるので、手首部分を含む扇形は、x軸の負方向に存在する扇形1および扇形2であると推定可能である。従って、辞書データを回転させながら行うマッチング処理には、扇形3、4、5、6、7、0が用いられる。また、手103bの場合、侵入方向は矢印502bが示すようにy軸の負方向であるので、手首部分を含む扇形は、y軸の正方向に存在する扇形0および扇形7であると推定可能である。従って、マッチング処理には、扇形1、2、3、4、5、6が用いられる。
次に、図10(B)は、本実施形態において実行される手のポーズ特定処理の流れを示すフローチャートである。ただし、ステップS300からステップS306までの一連の処理は、図10(A)における同番号の処理と共通するため、詳細な説明を省く。ただし、辞書データ作成処理において取得される入力画像では、ユーザ(あるいは設計者)の手のポーズは情報処理装置100にとって既知であるのに対して、手のポーズ特定処理で取得される入力画像は、ユーザの手のポーズは未知である。手のポーズ特定処理では、ステップS306において特徴量が抽出されると、処理はステップS310に進む。ステップS310では、ポーズ特定部126が、入力画像と辞書データのマッチングにより、入力画像のうち手部分の形状からそのポーズを識別する処理を実行する。
ここで、図11は、ステップS310の内容を詳細に示すフローチャートである。ステップS400において、ポーズ特定部126は、侵入方向に応じた辞書データ群を選択する。具体的には、保持部127から辞書データを読み込み、RAM111に保持された情報のうち、ステップS102に取得された手の侵入方向の情報を取得する。そして、辞書データから、取得された侵入方向に対応付けて記憶された辞書データ群を選択する。詳細は後述する。ステップS401において、ポーズ特定部126は、RAM111に保持された手の侵入方向に基づいて、手領域の中で、マッチングを行う範囲を制限する。詳細は後述する。ステップS402において、ポーズ特定部126は、RAM111に保持されているステップS402で選択された辞書から一つを選択する。ステップS403において、ポーズ特定部126は、ステップS402で選択された辞書データを回転させながら入力とマッチングを行い、各回転量に対応したスコアを取得する。ステップS404において、ポーズ特定部126は、ステップS403で取得したスコアのうち最大の値を、第1最大スコアとして取得する。
ステップS405において、ポーズ特定部126は、ステップS402で選択された辞書データを反転させた特徴量データを取得する。辞書データを反転させる処理については後述する。ステップS406において、ポーズ特定部126は、ステップS405の反転によって得られた特徴量データを反回転させながら入力とマッチングを行い、各回転量に対応したスコアを取得する。ステップS407において、ポーズ特定部126は、ステップS406で取得したスコアのうち最大の値を、第2最大スコアとして取得する。
ステップS408において、ポーズ特定部126は、ステップS404で取得したスコアとステップS407で取得したスコアのうち大きい方を選択する。そして辞書に対応した正規化定数で正規化しRAM111に保持する。ステップS409において、ポーズ特定部126は、ステップS400で選択された辞書データの全てについて、マッチングを行ったか否かを判定する。未処理の辞書データがあると判定された場合(ステップS409でNo)、ステップS402に戻り、全ての辞書データを処理するまでステップS402からステップS409までの処理が繰り返される。一方、全ての辞書データについて、処理が完了したと判定された場合(ステップS409でYes)は、ステップS410に進む。
ステップS410において、ポーズ特定部126は、ステップS407で得られた正規化スコアの最大値、及び、対応する辞書データを取得する。次に、ステップS411において、ポーズ特定部126は、ステップS410で得られた正規化スコアの最大値が、予め定められた閾値以上か否かを判定する。正規化スコアの最大値が閾値以上であると判定された場合(ステップS411でYes)、処理はステップS412に進む。一方、正規化スコアの最大値が閾値以上ではないと判定された場合(ステップS411でNo)、処理はステップS414に進む。
ステップS412において、ポーズ特定部126は、取得された辞書データから、正規化スコアの最大値に対応するポーズを特定し、その情報を特定結果の情報としてRAM111に保持する。ステップS413では、ポーズ特定部126が、表示制御部やアプリケーションの各機能を制御する制御部に対して、特定結果を出力する。一方、ステップS414では、ポーズ特定部126が、表示制御部やアプリケーションの各機能を制御する制御部に対して、手のポーズは未登録のポーズであるという特定結果を出力する。また、設定に従って、必要な場合は特定結果をRAM111に保持する。
なお、図8等で示したように、本実施形態では、扇形に付与する識別番号を、腕の侵入方向に寄らず、6時の方向から時計回りにインクリメントするように付与し、それを元に扇形を限定した上でマッチング処理を行うとした。しかしながら、手の侵入方向に応じて扇形の識別番号を揃え常に特定の識別番号の扇形が、マッチング処理から除外されるとしてもよい。例えば、腕の侵入位置に近い部分から時計回りにインクリメントするように識別番号を付与すれば、常に扇形0と扇形7とが手首部分を含むとみなせるため、これらをマッチング処理から除外するようにすればよい。また、本実施形態では、全ての扇形について特徴量を求めた上でマッチングを行う番号を制限しているが、特徴量取得部124において侵入方向によって特徴量を取得する扇形を制限してもよい。
ここで、ステップS405において辞書データを反転させた上で、さらにマッチング処理を繰り返す処理について詳細を述べる。
手のポーズは、ユーザが右手を使った場合と、左手を使った場合で対称な形状となることが多い。一方で、全ての侵入方向、及び、全てのポーズに対して、左右両方の辞書データを生成することは辞書作成の負荷と、辞書データのデータ量を増大させてしまう。そこで本実施形態では、左右いずれかの画像に基づいて得られた辞書データを、左右反転させた上で、左右共通の基準点を中心とする回転を加えてマッチング処理を行う。これにより、左右いずれの手が用いられたかによらず、ポーズの特定を精度よく行うことが可能となる。
例えば、図6(B)は手103b(右手)で「指差しポーズ」をとった際に生成された辞書データを利用して、手103bだけでなく左手600のマッチングを行う処理を模式的に示すものである。本実施形態では、「指差しポーズ」の辞書データとしては、人差し指部分に相当する扇形の特微量が保持されるため、手103bに関して扇形2および扇形3の特徴量が辞書データとされる。なお図6(B)では、反転後も同じ識別番号によって扇形を示す。本実施形態では、図11のステップS402〜ステップS404において、ユーザの手が右手であることを想定して、扇形2、扇形3の特徴量に対して、矢印601で示す時計回りの回転を加えながらマッチング処理を行う。さらに、ステップS405で辞書データを反転させ、ステップS406〜ステップS408において、ユーザの手が左手である可能性を考慮して、扇形2・扇形3の特徴量に対して、矢印602で示す反時計回りの回転を加えながらマッチング処理を行う。そして、一連の処理の中で最も高いスコアが得られた場合の辞書データに基づいてポーズが特定される。これにより、左右いずれの手を使ってジェスチャ操作が行われていた場合でも、ポーズの特定が可能となる。
以上説明したように、本実施形態では、入力画像から抽出された手の画像を部分画像に分割し、辞書データとのマッチングを行う部分画像を限定する。これにより、不要な処理負荷をかけず、かつ、速やかに特定処理の結果を得ることができる。
<アプリケーションにおける利用例>
ここまで説明したような処理によって、情報処理装置100において、手のポーズを特定することを利用したさまざまなアプリケーションが設計可能となる。例えば、図12は、表示アイテムに対して行われるタッチ操作を有効とするか否かを、手のポーズが「指差しポーズ」であるか否かに応じて切り替える例を示す。図12(A)は、ユーザの手701が「指差しポーズ」であるので、人差し指の指先位置を追跡し、表示アイテム700aに対してタッチが行われたかを判定する。タッチされた場合は、表示アイテム700aに対応付けられたコマンドを発行するとともに、表示アイテム700bに置き換えることで、タッチ操作が認識されたことをフィードバックする。一方で、図12(B)の場合は、ユーザの手が「指差しポーズ」をとってはいないため、例えユーザの人差し指が表示アイテム700aに接触したとしても、コマンドの発行や表示の切り替えは行わない。このように、タッチ操作に対する応答を、ユーザの意図に沿ったものとし、また、解り易いユーザフィードバックを行うために、手のポーズの特定が利用可能である。
ここまで説明したような処理によって、情報処理装置100において、手のポーズを特定することを利用したさまざまなアプリケーションが設計可能となる。例えば、図12は、表示アイテムに対して行われるタッチ操作を有効とするか否かを、手のポーズが「指差しポーズ」であるか否かに応じて切り替える例を示す。図12(A)は、ユーザの手701が「指差しポーズ」であるので、人差し指の指先位置を追跡し、表示アイテム700aに対してタッチが行われたかを判定する。タッチされた場合は、表示アイテム700aに対応付けられたコマンドを発行するとともに、表示アイテム700bに置き換えることで、タッチ操作が認識されたことをフィードバックする。一方で、図12(B)の場合は、ユーザの手が「指差しポーズ」をとってはいないため、例えユーザの人差し指が表示アイテム700aに接触したとしても、コマンドの発行や表示の切り替えは行わない。このように、タッチ操作に対する応答を、ユーザの意図に沿ったものとし、また、解り易いユーザフィードバックを行うために、手のポーズの特定が利用可能である。
また、図13では、2つの手を使って操作面104上のドキュメント800に対して操作を行う様子を示す。ドキュメント800は紙に文字列が印刷された物体であるとする。ここでは、「指差しポーズ」をとった状態の右手801bの人差し指で、ドキュメントをなぞると、その位置に基づいてドキュメント内の矩形範囲802が選択される機能を実行する場合を説明する。ユーザは、人差し指での選択操作を容易とするため、もう片方の左手801aでドキュメントを動かないように押さえること可能性がある。本実施形態によれば、手のポーズを特定して追跡することにより、選択操作を行う「指差しポーズ」の手801bと、ただドキュメントが動かないようにおさえるだけの手801aを区別可能となる。従って、ユーザは、より自然で自由度の高い動作でアプリケーションを利用可能となる。
なお、上述した実施形態では、単一の情報処理装置100において、辞書データの作成、及び、手のポーズの特定の両方を実行可能としたが、いずれかに特化した装置を構成することも可能である。例えば、辞書作成装置によって作成された辞書データを、サーバなどの外部記憶装置や記憶媒体を介して取得し、入力画像とのマッチング処理に利用する認識装置を構成することもできる。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
120 画像取得部
121 輪郭取得部
122 位置取得部
123 基準点特定部
124 特徴量取得部
125 生成部
126 ポーズ特定部
121 輪郭取得部
122 位置取得部
123 基準点特定部
124 特徴量取得部
125 生成部
126 ポーズ特定部
Claims (18)
- 情報処理装置であって、
人が腕を挿入可能な空間を撮像した画像を取得する画像取得手段と、
前記画像取得手段が取得した画像のうち、前記人の腕が写る領域の輪郭を示す位置を示す情報を取得する輪郭取得手段と、
前記情報処理装置に対する前記人の位置を示す情報を取得する位置取得手段と、
前記輪郭取得手段によって取得された輪郭の位置を示す情報と、前記位置取得手段によって取得された前記人の位置を示す情報とに基づいて、
前記人の腕が写る領域内で、前記人の腕のうち手部分に相当する領域の基準点を特定する基準点特定手段と、
前記基準点特定手段によって特定された基準点と、前記輪郭取得手段によって取得された輪郭の位置を示す情報とから、前記前記人の腕のうち手部分に相当する領域の特徴量を取得する特徴量取得手段、
とを備えることを特徴とする情報処理装置。 - 前記画像取得手段は、前記空間を上方から見下ろす画角で撮像された画像であることを特徴とする請求項1に記載の情報処理装置。
- 前記位置取得手段は、前記画像取得手段が取得した画像のうち、前記人の腕が写る領域と前記画像の端部が交差する部分を示す位置を、前記人の位置を示す情報として取得する
ことを特徴とする請求項1又は2に記載の情報処理装置。 - 前記特徴量取得手段は、前記人の腕が写る領域のうち、前記特定手段によって特定された基準点を中心とし、予め定められた半径の円形領域に含まれる部分を、前記人の腕のうち手部分に相当する領域であるとみなすことを特徴とする請求項1又は2に記載の情報処理装置。
- 前記特徴量取得手段は、前記特定手段によって特定された基準点を中心とし、予め定められた半径の円形領域を、N個(Nは2以上の自然数)の扇形に等分することで、前記人の腕のうち手部分に相当する領域を部分領域に分割し、各扇形に対応する部分領域の特徴量を取得することを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
- さらに、前記特徴量取得手段によって取得された特徴量に基づいて、前記画像取得手段によって前記画像が取得された時点における前記手のポーズに対応する辞書データを生成する生成手段を備えることを特徴とする請求項1乃至4のいずれか1項に記載の情報処理装置。
- 前記特徴量取得手段は、前記人の腕のうち手部分に相当する領域の複数の部分領域のそれぞれから特徴量を取得し、前記生成手段は、前記取得された複数の特徴量によって、前記画像取得手段によって前記画像が取得された時点における前記手のポーズに対応する辞書データを生成することを特徴とする請求項6に記載の情報処理装置。
- 前記生成手段は、前記複数の部分領域から取得された複数の特徴量のうち、少なくとも、前記画像取得手段によって前記画像が取得された時点における前記手のポーズの特徴が最も表れた部分領域から取得された特徴量を、前記手のポーズに対応する辞書データとして保持することを特徴とする請求項7に記載の情報処理装置。
- さらに、前記特徴量取得手段によって取得された特徴量に基づいて、前記画像取得手段によって前記画像が取得された時点における前記手のポーズに対応する辞書データを生成する生成手段を備え、
前記生成手段は、前記画像取得手段によって前記画像が取得された時点における前記手のポーズの識別情報を取得し、
前記N個の扇形のそれぞれから取得したN個の特徴量を、前記画像取得手段によって前記画像が取得された時点における前記手のポーズに対応する辞書データとして保持することを特徴とする請求項5に記載の情報処理装置。 - さらに、前記特徴量取得手段によって取得された特徴量に基づいて、前記画像取得手段によって前記画像が取得された時点における前記手のポーズを特定するポーズ特定手段を備えることを特徴とする請求項1乃至9のいずれか1項に記載の情報処理装置。
- 前記ポーズ特定手段は、所定の手のポーズに対応する辞書データに含まれる特徴量と、前記特徴量取得手段によって取得された特徴量の類似度に基づいて、前記画像が取得された時点における前記手のポーズを特定することを特徴とする請求項10に記載の情報処理装置。
- 前記ポーズ特定手段は、さらに、所定の手のポーズに対応する辞書データに含まれる特徴量を、所定の角度ずつ回転させた場合の、前記特徴量取得手段によって取得された特徴量との類似度に基づいて、前記画像が取得された時点における前記手のポーズを特定することを特徴とする請求項11に記載の情報処理装置。
- 前記ポーズ特定手段は、前記位置取得手段によって取得された情報が示す前記人の位置から、前記人の腕の指先に向かう方向に基づいて、予め保持された辞書データのうち、前記画像が取得された時点における前記手のポーズを特定するために用いる辞書データを選択することを特徴とする請求項10乃至12のいずれか1項に記載の情報処理装置。
- 前記生成手段は、前記位置取得手段によって取得された情報が示す前記人の位置から、前記人の腕の指先に向かう方向を、前記特徴量取得手段によって取得された特徴量に対応づけて保持することを特徴とする請求項6乃至9のいずれか1項に記載の情報処理装置。
- 前記基準点特定手段は、前記輪郭取得手段によって取得された輪郭の位置からの最小距離がより大きく、かつ、前記位置取得手段によって取得された前記人の位置からの距離がより大きい点を、前記人の腕が写る領域内で、前記人の腕のうち手部分に相当する領域の基準点として特定する請求項1乃至14のいずれか1項に記載の情報処理装置。
- 情報処理装置の制御方法であって、
画像取得手段により、人が腕を挿入可能な空間を撮像した画像を取得する画像取得工程と、
輪郭取得手段により、前記画像取得手段が取得した画像のうち、前記人の腕が写る領域の輪郭を示す位置を示す情報を取得する輪郭取得工程と、
位置取得手段により、前記情報処理装置に対する前記人の位置を示す情報を取得する位置取得工程と、
基準点特定手段により、前記輪郭取得工程において取得された輪郭の位置を示す情報と、前記位置取得工程において取得された前記人の位置を示す情報とに基づいて、前記人の腕が写る領域内で、前記人の腕のうち手部分に相当する領域の基準点を特定する基準点特定工程と、
特徴量取得手段により、前記基準点特定工程において特定された基準点と、前記輪郭取得工程において取得された輪郭の位置を示す情報とから、前記前記人の腕のうち手部分に相当する領域の特徴量を取得する特徴量取得工程、
とを有することを特徴とする情報処理装置の制御方法。 - コンピュータに読み込ませ実行させることによって、前記コンピュータに、請求項16に記載された情報処理装置の制御方法を実行させるプログラム。
- 請求項17に記載されたプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014199182A JP2016071547A (ja) | 2014-09-29 | 2014-09-29 | 情報処理装置とその制御方法、プログラム、記憶媒体 |
US14/863,179 US20160093055A1 (en) | 2014-09-29 | 2015-09-23 | Information processing apparatus, method for controlling same, and storage medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014199182A JP2016071547A (ja) | 2014-09-29 | 2014-09-29 | 情報処理装置とその制御方法、プログラム、記憶媒体 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2016071547A true JP2016071547A (ja) | 2016-05-09 |
Family
ID=55585011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014199182A Pending JP2016071547A (ja) | 2014-09-29 | 2014-09-29 | 情報処理装置とその制御方法、プログラム、記憶媒体 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20160093055A1 (ja) |
JP (1) | JP2016071547A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019171944A1 (ja) * | 2018-03-06 | 2019-09-12 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
CN113358172A (zh) * | 2021-06-02 | 2021-09-07 | 三川智慧科技股份有限公司 | 一种水表自动设置机电同步的方法、装置、设备和介质 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170193290A1 (en) * | 2016-01-06 | 2017-07-06 | Toshiba Tec Kabushiki Kaisha | Commodity registration apparatus and commodity registration method |
DE102017210317A1 (de) * | 2017-06-20 | 2018-12-20 | Volkswagen Aktiengesellschaft | Verfahren und Vorrichtung zum Erfassen einer Nutzereingabe anhand einer Geste |
WO2019157989A1 (zh) * | 2018-02-14 | 2019-08-22 | 左忠斌 | 生物特征3d数据采集方法和生物特征3d数据识别方法 |
-
2014
- 2014-09-29 JP JP2014199182A patent/JP2016071547A/ja active Pending
-
2015
- 2015-09-23 US US14/863,179 patent/US20160093055A1/en not_active Abandoned
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019171944A1 (ja) * | 2018-03-06 | 2019-09-12 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
JPWO2019171944A1 (ja) * | 2018-03-06 | 2021-02-18 | ソニー株式会社 | 情報処理装置、情報処理方法、およびプログラム |
US11393124B2 (en) | 2018-03-06 | 2022-07-19 | Sony Corporation | Information processing apparatus, information processing method, and program |
JP7207396B2 (ja) | 2018-03-06 | 2023-01-18 | ソニーグループ株式会社 | 情報処理装置、情報処理方法、およびプログラム |
CN113358172A (zh) * | 2021-06-02 | 2021-09-07 | 三川智慧科技股份有限公司 | 一种水表自动设置机电同步的方法、装置、设备和介质 |
Also Published As
Publication number | Publication date |
---|---|
US20160093055A1 (en) | 2016-03-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8994652B2 (en) | Model-based multi-hypothesis target tracker | |
Sarkar et al. | Hand gesture recognition systems: a survey | |
JP5160235B2 (ja) | 画像中の物体の検出及び追跡 | |
US10234941B2 (en) | Wearable sensor for tracking articulated body-parts | |
US9916043B2 (en) | Information processing apparatus for recognizing user operation based on an image | |
JP6562752B2 (ja) | 情報処理装置とその制御方法、プログラム、記憶媒体 | |
JP2016071547A (ja) | 情報処理装置とその制御方法、プログラム、記憶媒体 | |
JP2016091457A (ja) | 入力装置、指先位置検出方法及び指先位置検出用コンピュータプログラム | |
JPWO2017029749A1 (ja) | 情報処理装置、その制御方法、プログラム、及び記憶媒体 | |
JP2016103137A (ja) | ユーザインタフェース装置、画像処理装置及び制御用プログラム | |
JP2015184054A (ja) | 同定装置、方法及びプログラム | |
JP2021000694A (ja) | ロボット教示装置及びロボットシステム | |
CN113220125A (zh) | 手指交互方法、装置、电子设备及计算机存储介质 | |
JP2017219942A (ja) | 接触検出装置、プロジェクタ装置、電子黒板装置、デジタルサイネージ装置、プロジェクタシステム、接触検出方法、プログラム及び記憶媒体。 | |
JP2017084307A (ja) | 情報処理装置、その制御方法、プログラム、及び記憶媒体 | |
Ukita et al. | Wearable virtual tablet: fingertip drawing on a portable plane-object using an active-infrared camera | |
JP2018116397A (ja) | 画像処理装置、画像処理システム、画像処理プログラム、及び画像処理方法 | |
JP6618301B2 (ja) | 情報処理装置、その制御方法、プログラム、及び記憶媒体 | |
JP2015114762A (ja) | 手指動作検出装置、手指動作検出方法、手指動作検出プログラム、及び仮想物体処理システム | |
JP2018185563A (ja) | 情報処理装置、情報処理方法、コンピュータプログラム、及び記憶媒体 | |
JP6643825B2 (ja) | 装置及び方法 | |
JP2014182662A (ja) | 操作装置及び操作方法 | |
JP6570376B2 (ja) | 情報処理装置、その制御方法、プログラム、記憶媒体 | |
JP2018181169A (ja) | 情報処理装置、及び、情報処理装置の制御方法、コンピュータプログラム、記憶媒体 | |
JP2017049661A (ja) | 情報処理装置とその制御方法、プログラム、記憶媒体 |