クリティカルポイント解析に基づくポーズ推定
【課題】 対象物のポーズ推定の方法とシステムを提供する。
【解決手段】 対象物は人体、動物、ロボットでもよい。カメラ110で対象物310に関する奥行情報を受信し、ポーズ推定モジュール120で画像から対象物のポーズや行動を判定し、インタラクション・モジュール130で感知したポーズや行動に対する応答を出力する。ポーズ推定モジュール120により、対象物を含んだ画像を区分し、分類部分と未分類部分にする。区分化は k-means クラスタ法を用いてもよい。分類部分を、頭部や胴体部などの既知の対象として画像間で追跡してもよい。未分類部分をx軸とy軸に沿って走査を行い、極小値と極大値を特定する。極大値と極小値320からクリティカルポイントを導く。様々なクリティカルポイントを結んで潜在的な関節部を特定し、対象物の実対象に相当するのに十分な確率を有する関節部を選択し、判定済みの対象物のポーズに基づいて骨格構造を生成する。
【解決手段】 対象物は人体、動物、ロボットでもよい。カメラ110で対象物310に関する奥行情報を受信し、ポーズ推定モジュール120で画像から対象物のポーズや行動を判定し、インタラクション・モジュール130で感知したポーズや行動に対する応答を出力する。ポーズ推定モジュール120により、対象物を含んだ画像を区分し、分類部分と未分類部分にする。区分化は k-means クラスタ法を用いてもよい。分類部分を、頭部や胴体部などの既知の対象として画像間で追跡してもよい。未分類部分をx軸とy軸に沿って走査を行い、極小値と極大値を特定する。極大値と極小値320からクリティカルポイントを導く。様々なクリティカルポイントを結んで潜在的な関節部を特定し、対象物の実対象に相当するのに十分な確率を有する関節部を選択し、判定済みの対象物のポーズに基づいて骨格構造を生成する。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、米国特許法第119条第e項に基づく米国特許出願番号第60/663,020(出願日:2005年3月17日)発明の名称:「Pose Estimation Based on Critical Point Analysis」に記載の主題を請求するものであり、この出願のすべての記載をここに引用するものである。
【0002】
本発明は、マシンビジョン(machine vision)に関し、特に、クリティカルポイント(critical point:臨界点)を利用したマシンベースのポーズ推定に関する。
【背景技術】
【0003】
従来技術のマシンビジョンでは、ロボットやその他のマシンを使って対象の認識を行うことができる。対象の周辺をナビゲーションしたり、対象を検索したり、あるいはこの他の目的で対象を認識することができる。従来技術のポーズ推定では、人間の身体の一部など、対象物の様々な対象を検出する。さらに、ポーズ推定を利用して身体の部位の方向性を判定することも可能である。
【発明の開示】
【発明が解決しようとする課題】
【0004】
従来技術のポーズ推定で課題となるのは、画像情報を取得するために複雑で高価な装置を必要とする点である。例えば、3Dカメラシステムの場合、通常、対象物をカメラを配置した室内に閉じ込めておく必要がある。さらに、3Dカメラシステムは非常に高価である。マーカーシステムを使って対象物の既知の頂点にマーク付けすることで、すべての動きを追跡することもできる。しかしながら、対象物について事前の準備が必要となり、観察作業も伴ってしまう。
【0005】
そこで求められるのが、従来の高価で複雑な技術を用いることなく対象物のポーズを推定するシステムに関する方法である。
【課題を解決するための手段】
【0006】
本発明では、クリティカルポイント解析に基づく対象物のポーズ推定に関する方法およびシステムを提供する。1つの実施形態では、システムは、対象物に関連する奥行き情報を受信するカメラと、画像から対象物のポーズや行動を判定するポーズ推定モジュールと、感知したポーズや行動に対する応答を出力するインタラクション・モジュールとを備える。
【0007】
1つの実施形態では、ポーズ推定モジュールにより対象物を含んだ画像を分類部分と未分類部分とに区分化する。分類部分を、頭部や胴体部などの既知の対象として画像間で追跡を行うようにしてもよい。未分類部分を、x軸とy軸に沿って走査して極小値と極大値を特定する。この極小値と極大値からクリティカルポイントを導く。様々なクリティカルポイントを結んで潜在的な関節部を特定する。さらに、対象物の実対象に相当するのに十分な確率を有する関節部を選択する。
【0008】
別の実施形態では、ポーズ推定モジュールは、潜在的な部位から関節部を選択する推定モジュールを備える。この推定モジュールには、潜在的な関節部に関する確率を算出する様々なルールが実装されている。例えば、どれだけのピクセルが対象物のピクセルに相当するかについて関節部の算定を行う。なお、この他のルールについても説明する。
【0009】
さらに、このシステムは、人間から特定の行動(立ち去る、速度を上げる、止まるなど)による視覚的な合図を受けることができる特徴を有する。さらに、このシステムによれば、人間の行動や、動物、ロボットあるいはこのほかの対象物の行動を観察することができる。
【0010】
当業者ならば、ここに記載する特徴および特長のみが包含されるのではなく、特に、図面、明細書および請求項を参照することで、さらに多くの特徴および特長が明らかとなるであろう。さらに、明細書中に用いられる言語は、主に、読みやすさや例示的な目的から選択されたものであって、本発明の請求の範囲を制限するために選択されたものではない。
【発明を実施するための最良の形態】
【0011】
本発明の教示内容は、付属の図面に関する以下の詳細な説明を検討することで容易に理解できるであろう。なお、付属の図面中で類似する構成については類似の符号を用いた。
【0012】
また、これらの図は本発明の各種実施形態を例示することのみを目的とする。当業者であれば、ここに記載される発明の本質から逸脱しない範囲において、以下に述べる説明から、ここに例示される構造や方法について代替の実施形態であってもよいことを理解するであろう。
【0013】
以下に、対象物の位置を推定する方法とシステムについて述べる。対象物は、例えば、人間、動物あるいはロボットなどでよい。対象物が動作中である場合や様々な行動をしている場合には、時間経過に伴って異なるポーズを有する。1つの実施形態では、成分の頂点の解析を行ってある時点の対象物の位置を判定する。時間経過に伴う位置を追跡することで、対象物の行動の動きを判定することができる。たとえば、立ち去り、発話、立ち止まりなどの人間の視覚的な合図に対してロボットが反応することもできる。図1および図2は、ポーズ推定方法を実装したシステムを、図3から図6は、ポーズ推定方法を例示する。当業者であれば、ここに記載される内容に加えて、追加的な実施形態が可能であることを理解するであろう。
【0014】
図1は、本発明の1つの実施形態に係わるポーズ推定を行うためのシステム100を例示するブロック図である。システム100は、デプスカメラ(depth camera)110、ポーズ推定モジュール120、インタラクション・モジュール130およびプロセッサ140により構成される。これらの構成要素を、例えば、ソフトウェアAPI、データバス、出入力コントローラ、プロセッサ140などを介して通信可能に接続してもよい。システム100は、人間とやり取りしたり、人間を観察するようなロボットであってもよく、あるいはこの他のマシンであってもよい。以下に、システム100内で実装される方法について述べる。
【0015】
カメラ110は画像データを受信すると、ポーズ推定モジュール120に対して画像フレームのストリームを送信する。カメラ110は、例えば、(オレゴン州ポートランドの3DV Systems社製などの)パルス式カメラ、あるいは(カリフォルニア州サンバレーのCanesta社製などの)変調光カメラなどでよい。1つの実施形態では、カメラ110により奥行き情報を含んだ対象物の画像を取得する。奥行き情報には、カメラから対象物のそれぞれの部位までの距離が記述されている。例えば、各ピクセルには、コントラスト、彩度、輝度などの従来の値とともに奥行き値も含まれる。
【0016】
ポーズ推定モジュール120は画像フレームのストリームを受信すると、推定したポーズをインタラクション・モジュール130へ送信する。ポーズ推定モジュール120とインタラクション・モジュール130はハードウェアかつまたはソフトウェアに実装してもよい。ポーズ推定モジュール120の1つの実施形態については、図2を参照しつつ以下に詳細に説明する。1つの実施形態では、ポーズ推定モジュール120において、成分の頂点の解析を行って各画像フレーム中の対象物のポーズを判定する。別の実施形態では、インタラクション・モジュール130により、現時点のメディアストリームに含まれる一連のポーズを追跡して、対象物の行動を判定する。例えば、指差しポーズは方向を示し、指振り動作は方向の角度を示すようにしてもよい。インタラクション・モジュール130が行動判定の処理に応答して、システム100をある方向へ移動させたり、ある位置で回転するなどの行動を起こさせるようにしてもよい。
【0017】
図2は、ポーズ推定モジュールをより詳細に示すものである。ポーズ推定モジュール120は、クリティカルポイント・モジュール210、骨格生成モジュール220および推定モジュール230により構成されている。
【0018】
クリティカルポイント・モジュール210により、対象物領域の極大値と極小値についてのクリティカルポイントを特定してもよい。1つの実施形態では、クリティカルポイント・モジュール210でx走査を行ったり、x軸に沿って両方向にスキャンする。さらに、クリティカルポイント・モジュール219でy走査とz走査を行ってもよい。なお、極小値あるいは極大値とは、最上点、最下点、最左点、最右点など、対象物の特定部位を指す。
【0019】
骨格生成モジュール220により、関節位置から対象物の骨格構造を生成してもよい。1つの実施形態では、骨格生成モジュール220により、対象物の領域内のクリティカルポイントを結ぶことで関節位置を形成する。骨格生成モジュール220は、関節位置と骨格構造を特定する処理中に、ある一連のルールを実装してもよい。例えば、関節位置は対象物の領域内に留まっていなければならない、といったルールである。あるいは別のルールでは、関節位置は、対象物領域の局所の中心全体に延びていなければならない、などである。さらに別のルールでは、論理的な人体構成を持続することを要求してもよい。このようなルールについては以下に詳しく説明する。
【0020】
推定モジュール230により、骨格構造に基づいて対象物のポーズを決定してもよい。1つの実施形態では、推定モジュール230により、ポスチャー基準(posture criteria)を用いて骨格構造がポーズに一致する確率を算出してもよい。推定モジュール230を図9に示すようなポーズのライブラリあるいは関連する骨格構造のライブラリでプレロードしてもよい。
【0021】
図3は、本発明の1つの実施形態に係わる対象物のポーズを推定する方法300を例示するフローチャートである。この方法300をコンピュータシステム(例えばシステム100)に実装してもよい。
【0022】
カメラ(例えば、カメラ110)は、対象物に関する奥行き情報を含んだ画像を受信する(S310)。奥行き情報は、(例えば、各ピクセルやピクセルのグループに関するような)カメラと対象物の各部位との距離を提供する。奥行き情報を用いて、縦軸と横軸に基づくとともに奥行き軸にも基づいて画像を区分することができる。奥行き情報の例示として、図6の(a)は人間の対象物を示し、(b)は距離情報を備えた場合の(a)を示している。パルス式カメラの場合は、物体に反射させるための照明パルスを送出して、反射波を測定する。変調光カメラの場合は、正弦波の光を放出して、返波の振幅と移相を測定する。
【0023】
クリティカルポイント・モジュール(例えば、クリティカルポイント・モジュール120)を使って、図4に示すように、極大値と極小値からクリティカルポイントを特定する(S320)。例えば、k-meansクラスタ法等により画像を空間区分する(S410)。場合によっては、隣接するクラスタ同士を結合してもよい。得られた区分を可能な場合には分類する(S420)。対象物が人体であれば、頭や胴体部などの既知の対象として特定して区分ごとに分類する。1つの実施形態では、1つの対象を分類した後は、効率の目的から、次に続く画像間で追跡処理を行ってもよい。対象物の未分類の区分については、クリティカルポイント・モジュールによりクリティカルポイント解析を適用する。具体的には、クリティカルポイント・モジュールで断面を軸方向に走査する(S430)。上記の走査で判明した極小値と極大値によりクリティカルポイントが生成される(S440)。例えば、図7に示すように、三次元対象712を垂直に走査した断面710から極小値714と極大値716a、716b、716cが判明する。さらに、三次元対象712を水平に走査した断面710から極小値718と極大値720が判明する。
【0024】
図3に戻って、骨格生成モジュール(例えば、骨格生成モジュール130)により、図5に示す骨格構造に基づいて対象物のポーズを判定する(S330)。選択したクリティカルポイントを結んで、潜在的な関節部のセットを特定する(S510)。潜在的な関節部を、ポスチャー基準などを用いてテストする(S520)。なお、ポスチャー基準は、関節部が対象物の実対象に関係する確率を示すものである。次に、最も高い確率値を有する関節部を選択する(S530)。対象物の領域の分類部分と、対象の物領域の未分類部分における関節部とを結合して骨格構造を生成する(S540)。この骨格構造とプレロードした骨格構造とを比較してポーズを判定する(S550)。図7に戻って、骨格構造722は垂直走査の結果であり、骨格構造724は水平走査の結果であり、両者はクリティカルポイントから関節部を特定したものである。さらに、図11は図10に示す対象物から得られる骨格構造である。
【0025】
ポスチャー基準は(式1)を使って求めることができる。
【0026】
【数1】
【0027】
ここで、Fiは、ポスチャー基準において定義される第iの条件に相当する。つまり、各ルールを0から1までの確率で表すことができる。確率の積を用いて潜在的な関節部を比較する。各ルールは、(式2)により表現できる。
【0028】
【数2】
【0029】
ここで、F1 は、BLOBの外にあるピクセルの量を表している。
【0030】
【数3】
【0031】
ここで、F2(h) は、関節部がどれくらい局所中心あるいは区分の中心に近接しているかを表している。
【0032】
【数4】
【0033】
ここで、F3(h) は、クリティカルポイントがどれくらい当該関節部に近接しているかを表している。
【0034】
【数5】
【0035】
ここで、F4(h) は、関節セグメントの適切な順序(手は腕とつながる、手は足とはつながらない、等)を保証する。
【0036】
【数6】
【0037】
ここで、F5(h) は、画像間で時間的な継続が保たれていることを保証する。さらに、x は解析中の対象物の領域内(例えば、腕)に位置するポイントの数を、sは対象物の領域までのサンプルされた骨格ポイントの距離を、f は対象物の領域までのクリティカルポイントの距離を、DT_Hand はあるポイント(例えば、手)の距離変換値を、DT_Elbow は別の(例えば、肘上の)ポイントの距離変換値を、それぞれ表す。さらに、本実施例においてはHand は手のポイント、Elbow は肘のポイントを表しており、λ はポアソン分布のパラメータを、σはガウス分布のパラメータを、それぞれ表す。なお、ポスチャー基準は、上記以外の代替式も可能である。
【0038】
図3に戻って、インタラクション・モジュール(例えば、インタラクション・モジュール130)が推定ポーズに応答する。1つの実施形態では、推定したポーズを時間的に観察して行動を判定してもよい。また、インタラクション・モジュールは、行動の推定ポーズに応答する行動を出力してもよい。
【0039】
本発明に係わる方法のステップを実施する順序は、当然、純粋に例示されたものあって、本開示で示される以外にも、これらステップは、いかなる順序でも、あるいは、並行して実施可能である。本発明の方法は、ハードウェア、ファームウェア、ソフトウェア、あるいはこれらの組み合わせにおいて、いかなる種類の単独または複数のコンピュータ上で実施可能である。本発明を具現化するソフトウェアには、あらゆる形態のコンピュータ指令(例えば、ソースコード(source code)、オブジェクトコード(object code)、インタプリタコード(interpreted code)等)が含まれ、あらゆるコンピュータ読取可能な媒体(例えば、ROM、RAM、磁気媒体、コンパクトディスク、DVD等)に記憶されていてもよい。かかるソフトウェアは、導電性媒体上を伝搬するキャリア波において具現化される電子データ信号の形態、あるいは、光ファイバーを介して伝搬する光パルスの形態であってもよい。
【0040】
本発明の特定の実施形態を例示しつつ説明したが、当業者であれば、本発明から逸脱しない限りにおいて、より広い観点から各種の変更や修正を行うことが可能であることは明らかである。したがって、付属の特許請求の範囲は、本発明の真の精神および範囲内でのこのような変形および変更をすべて包含することを目的とする。
【0041】
前記の記載においては、説明することを目的として、数値を用いた具体的内容は本発明を完全に理解するために記述されたものである。しかしながら、当業者には、かかる具体的内容が無い場合にも実施可能であることは明らかである。この他の場合では、発明が不明瞭にならないように、構造および装置をブロック図の形態に示されるであろう。
【0042】
明細書中の「1つの実施形態(one embodiment)」あるいは「実施形態(an embodiment)」という記述は、当該の実施形態に関して記載された特定の特徴、構造、特性が本発明の少なくとも1つの実施形態に含まれることを意味する。明細書の随所に現れる「1つの実施形態では」という表現は、必ずしも同一の実施形態について言及するものではない。
【0043】
詳細な記載の部分によっては、コンピュータメモリ内のデータビットの操作に関するアルゴリズムや符号の表現を使って表される。このようなアルゴリズム的な記載や表現は、データ処理技術を扱う当業者が用いる手段であり、他の当業者に仕事の実体を効果的に伝達するためのものである。ここで言う一般的なアルゴリズムとは、所望の結果を導くためのステップが自己無撞着に連続していると認識されるものである。このようなステップでは、物理量を物理的に操作することを必要とする。必ずしもではないが、通常、このような物理量は、記憶、伝送、結合、比較、もしくは処理が可能な電気信号あるいは磁気信号の形態をとる。主に一般用途の理由から、このような信号をビット、値、要素、シンボル、文字、用語、数などとして扱うことの利便性がしばしば証明されている。
【0044】
しかしながら、留意すべきは、このような表現あるいは類似の表現は所定の物理量に関連する便宜上のラベルにすぎない点である。説明から明らかな場合を除いて、特に言及しない限り、記載全体を通じて「処理する」、「演算する」、「算出する」、「判定する」あるいは「表示する」などの表現を用いた説明では、コンピュータシステムの記録部やメモリ部に記憶された物理的(電子的)な量として表されるデータを操作して、コンピュータシステムの記録部やメモリ部、あるいはこの他の情報の記憶部、送信部あるいは表示部などに記憶された、同様に物理的な量として表される別のデータに変換するようなコンピュータシステムあるいは類似の電子演算装置の実行や処理について述べている。
【0045】
また、本発明は、ここに記載される動作を実行する装置に関する。この装置は、必要な用途に合わせて特定の構成を備えていてもよいし、コンピュータに記憶されるコンピュータプログラムによって選択的に起動したり、再構成するような汎用コンピュータから構成されていてもよい。かかるコンピュータプログラムは、以下のようなコンピュータ読取り可能な媒体に記憶されてもよいが、これらに限定されるものではない:フレキシブルディスク、光ディスク、CD-ROM、磁気光ディスクなどを含むあらゆる種類のディスク、ROM、RAM、EPROM、EEPROM、磁気カードや光カード、あるいは電子命令(electronic instructions)の記憶に適したあらゆる種類の媒体、および各々がコンピュータシステムバスに連結されたもの。
【0046】
ここで言うアルゴリズムおよびモジュールは、もともと、特定のコンピュータやこの他の装置のみに関しているわけではない。ここに教示される内容に応じたプログラムを用いて様々な汎用システムを利用してもよく、より特殊な装置を構成して上記方法のステップを実行するほうが利便であると判明する場合もあるだろう。このような各種システムに必要な構成は、以下の記載から明らかとなるであろう。また、本発明は、特定のプログラミング言語に関して説明するものではない。各種プログラミング言語を用いて、ここに記載される発明の教示内容を実装できることは理解されるであろう。さらに、関連技術の当業者には明らかであるように、モジュール、特徴、属性、方法論およびこの他の発明の側面を、ソフトウェア、ハードウェア、ファームウェアあるいはこれら3つのいずれかを組み合わせたものとして実装してもよい。もちろん、本発明の1つの構成をソフトウェアとして実装する場合には、この構成をスタンドアローンのプログラム、大規模プログラムの一部、個別プログラムで構成される複数のプログラム、静的または動的にリンクされるライブラリ、カーネル・ローダブル・モジュール(kernel loadable module)あるいは装置ドライバーとして、かつまたは、コンピュータプログラミングに携わる当業者が現在と将来において知り得るその他のあらゆる方法において実装可能である。さらに、本発明は、いかなる特定オペレーティングシステムまたは環境にも限定されるものではない。
【0047】
関連技術の当業者であれば、上記記載の実装は単なる典型に過ぎず、本発明の真の精神と範囲を逸脱しない限りにおいて、各種の変更を加えることが可能であることを理解するであろう。したがって、付属の請求項は、本発明の真の精神と範囲内でのすべての変更および修正を包含することを意図したものである。
【図面の簡単な説明】
【0048】
【図1】本発明の1つの実施形態に係わる対象物のポーズを推定するシステムのブロック図である。
【図2】本発明の1つの実施形態に係わる本システムのポーズ推定モジュールのブロック図である。
【図3】本発明の1つの実施形態に係わる対象物のポーズを推定する方法を例示するフローチャートである。
【図4】本発明の1つの実施形態に係わるクリティカルポイントを特定する方法を例示するフローチャートである。
【図5】本発明の1つの実施形態に係わる骨格構造を生成する方法を例示するフローチャートである。
【図6】(a)は人間を対象物とした従来の二次元画像を示す概要図であり、(b)は本発明の1つの実施形に係わる態奥行き情報を備えた(a)を示す概要図である。
【図7】本発明の1つの実施形態に係わる水平方向と垂直方向の走査を示す概要図である。
【図8】(a)は奥行き情報を示す概要図であり、(b)は本発明の1つの実施形態に係わる分類部分と未分類部分を備える(a)を示す概要図である。
【図9】本発明の1つの実施形態に係わる、プレロードされたポーズのライブラリを示す概要図である。
【図10】本発明の1つの実施形態に係わる、極小値および極大値について対象物を走査するときに用いられる画像中の対象物と軸を例示する概要図である。
【図11】図10の対象物の画像から生成した、本発明の1つの実施形態に係わる骨格構造を示す概要図である。
【技術分野】
【0001】
本願は、米国特許法第119条第e項に基づく米国特許出願番号第60/663,020(出願日:2005年3月17日)発明の名称:「Pose Estimation Based on Critical Point Analysis」に記載の主題を請求するものであり、この出願のすべての記載をここに引用するものである。
【0002】
本発明は、マシンビジョン(machine vision)に関し、特に、クリティカルポイント(critical point:臨界点)を利用したマシンベースのポーズ推定に関する。
【背景技術】
【0003】
従来技術のマシンビジョンでは、ロボットやその他のマシンを使って対象の認識を行うことができる。対象の周辺をナビゲーションしたり、対象を検索したり、あるいはこの他の目的で対象を認識することができる。従来技術のポーズ推定では、人間の身体の一部など、対象物の様々な対象を検出する。さらに、ポーズ推定を利用して身体の部位の方向性を判定することも可能である。
【発明の開示】
【発明が解決しようとする課題】
【0004】
従来技術のポーズ推定で課題となるのは、画像情報を取得するために複雑で高価な装置を必要とする点である。例えば、3Dカメラシステムの場合、通常、対象物をカメラを配置した室内に閉じ込めておく必要がある。さらに、3Dカメラシステムは非常に高価である。マーカーシステムを使って対象物の既知の頂点にマーク付けすることで、すべての動きを追跡することもできる。しかしながら、対象物について事前の準備が必要となり、観察作業も伴ってしまう。
【0005】
そこで求められるのが、従来の高価で複雑な技術を用いることなく対象物のポーズを推定するシステムに関する方法である。
【課題を解決するための手段】
【0006】
本発明では、クリティカルポイント解析に基づく対象物のポーズ推定に関する方法およびシステムを提供する。1つの実施形態では、システムは、対象物に関連する奥行き情報を受信するカメラと、画像から対象物のポーズや行動を判定するポーズ推定モジュールと、感知したポーズや行動に対する応答を出力するインタラクション・モジュールとを備える。
【0007】
1つの実施形態では、ポーズ推定モジュールにより対象物を含んだ画像を分類部分と未分類部分とに区分化する。分類部分を、頭部や胴体部などの既知の対象として画像間で追跡を行うようにしてもよい。未分類部分を、x軸とy軸に沿って走査して極小値と極大値を特定する。この極小値と極大値からクリティカルポイントを導く。様々なクリティカルポイントを結んで潜在的な関節部を特定する。さらに、対象物の実対象に相当するのに十分な確率を有する関節部を選択する。
【0008】
別の実施形態では、ポーズ推定モジュールは、潜在的な部位から関節部を選択する推定モジュールを備える。この推定モジュールには、潜在的な関節部に関する確率を算出する様々なルールが実装されている。例えば、どれだけのピクセルが対象物のピクセルに相当するかについて関節部の算定を行う。なお、この他のルールについても説明する。
【0009】
さらに、このシステムは、人間から特定の行動(立ち去る、速度を上げる、止まるなど)による視覚的な合図を受けることができる特徴を有する。さらに、このシステムによれば、人間の行動や、動物、ロボットあるいはこのほかの対象物の行動を観察することができる。
【0010】
当業者ならば、ここに記載する特徴および特長のみが包含されるのではなく、特に、図面、明細書および請求項を参照することで、さらに多くの特徴および特長が明らかとなるであろう。さらに、明細書中に用いられる言語は、主に、読みやすさや例示的な目的から選択されたものであって、本発明の請求の範囲を制限するために選択されたものではない。
【発明を実施するための最良の形態】
【0011】
本発明の教示内容は、付属の図面に関する以下の詳細な説明を検討することで容易に理解できるであろう。なお、付属の図面中で類似する構成については類似の符号を用いた。
【0012】
また、これらの図は本発明の各種実施形態を例示することのみを目的とする。当業者であれば、ここに記載される発明の本質から逸脱しない範囲において、以下に述べる説明から、ここに例示される構造や方法について代替の実施形態であってもよいことを理解するであろう。
【0013】
以下に、対象物の位置を推定する方法とシステムについて述べる。対象物は、例えば、人間、動物あるいはロボットなどでよい。対象物が動作中である場合や様々な行動をしている場合には、時間経過に伴って異なるポーズを有する。1つの実施形態では、成分の頂点の解析を行ってある時点の対象物の位置を判定する。時間経過に伴う位置を追跡することで、対象物の行動の動きを判定することができる。たとえば、立ち去り、発話、立ち止まりなどの人間の視覚的な合図に対してロボットが反応することもできる。図1および図2は、ポーズ推定方法を実装したシステムを、図3から図6は、ポーズ推定方法を例示する。当業者であれば、ここに記載される内容に加えて、追加的な実施形態が可能であることを理解するであろう。
【0014】
図1は、本発明の1つの実施形態に係わるポーズ推定を行うためのシステム100を例示するブロック図である。システム100は、デプスカメラ(depth camera)110、ポーズ推定モジュール120、インタラクション・モジュール130およびプロセッサ140により構成される。これらの構成要素を、例えば、ソフトウェアAPI、データバス、出入力コントローラ、プロセッサ140などを介して通信可能に接続してもよい。システム100は、人間とやり取りしたり、人間を観察するようなロボットであってもよく、あるいはこの他のマシンであってもよい。以下に、システム100内で実装される方法について述べる。
【0015】
カメラ110は画像データを受信すると、ポーズ推定モジュール120に対して画像フレームのストリームを送信する。カメラ110は、例えば、(オレゴン州ポートランドの3DV Systems社製などの)パルス式カメラ、あるいは(カリフォルニア州サンバレーのCanesta社製などの)変調光カメラなどでよい。1つの実施形態では、カメラ110により奥行き情報を含んだ対象物の画像を取得する。奥行き情報には、カメラから対象物のそれぞれの部位までの距離が記述されている。例えば、各ピクセルには、コントラスト、彩度、輝度などの従来の値とともに奥行き値も含まれる。
【0016】
ポーズ推定モジュール120は画像フレームのストリームを受信すると、推定したポーズをインタラクション・モジュール130へ送信する。ポーズ推定モジュール120とインタラクション・モジュール130はハードウェアかつまたはソフトウェアに実装してもよい。ポーズ推定モジュール120の1つの実施形態については、図2を参照しつつ以下に詳細に説明する。1つの実施形態では、ポーズ推定モジュール120において、成分の頂点の解析を行って各画像フレーム中の対象物のポーズを判定する。別の実施形態では、インタラクション・モジュール130により、現時点のメディアストリームに含まれる一連のポーズを追跡して、対象物の行動を判定する。例えば、指差しポーズは方向を示し、指振り動作は方向の角度を示すようにしてもよい。インタラクション・モジュール130が行動判定の処理に応答して、システム100をある方向へ移動させたり、ある位置で回転するなどの行動を起こさせるようにしてもよい。
【0017】
図2は、ポーズ推定モジュールをより詳細に示すものである。ポーズ推定モジュール120は、クリティカルポイント・モジュール210、骨格生成モジュール220および推定モジュール230により構成されている。
【0018】
クリティカルポイント・モジュール210により、対象物領域の極大値と極小値についてのクリティカルポイントを特定してもよい。1つの実施形態では、クリティカルポイント・モジュール210でx走査を行ったり、x軸に沿って両方向にスキャンする。さらに、クリティカルポイント・モジュール219でy走査とz走査を行ってもよい。なお、極小値あるいは極大値とは、最上点、最下点、最左点、最右点など、対象物の特定部位を指す。
【0019】
骨格生成モジュール220により、関節位置から対象物の骨格構造を生成してもよい。1つの実施形態では、骨格生成モジュール220により、対象物の領域内のクリティカルポイントを結ぶことで関節位置を形成する。骨格生成モジュール220は、関節位置と骨格構造を特定する処理中に、ある一連のルールを実装してもよい。例えば、関節位置は対象物の領域内に留まっていなければならない、といったルールである。あるいは別のルールでは、関節位置は、対象物領域の局所の中心全体に延びていなければならない、などである。さらに別のルールでは、論理的な人体構成を持続することを要求してもよい。このようなルールについては以下に詳しく説明する。
【0020】
推定モジュール230により、骨格構造に基づいて対象物のポーズを決定してもよい。1つの実施形態では、推定モジュール230により、ポスチャー基準(posture criteria)を用いて骨格構造がポーズに一致する確率を算出してもよい。推定モジュール230を図9に示すようなポーズのライブラリあるいは関連する骨格構造のライブラリでプレロードしてもよい。
【0021】
図3は、本発明の1つの実施形態に係わる対象物のポーズを推定する方法300を例示するフローチャートである。この方法300をコンピュータシステム(例えばシステム100)に実装してもよい。
【0022】
カメラ(例えば、カメラ110)は、対象物に関する奥行き情報を含んだ画像を受信する(S310)。奥行き情報は、(例えば、各ピクセルやピクセルのグループに関するような)カメラと対象物の各部位との距離を提供する。奥行き情報を用いて、縦軸と横軸に基づくとともに奥行き軸にも基づいて画像を区分することができる。奥行き情報の例示として、図6の(a)は人間の対象物を示し、(b)は距離情報を備えた場合の(a)を示している。パルス式カメラの場合は、物体に反射させるための照明パルスを送出して、反射波を測定する。変調光カメラの場合は、正弦波の光を放出して、返波の振幅と移相を測定する。
【0023】
クリティカルポイント・モジュール(例えば、クリティカルポイント・モジュール120)を使って、図4に示すように、極大値と極小値からクリティカルポイントを特定する(S320)。例えば、k-meansクラスタ法等により画像を空間区分する(S410)。場合によっては、隣接するクラスタ同士を結合してもよい。得られた区分を可能な場合には分類する(S420)。対象物が人体であれば、頭や胴体部などの既知の対象として特定して区分ごとに分類する。1つの実施形態では、1つの対象を分類した後は、効率の目的から、次に続く画像間で追跡処理を行ってもよい。対象物の未分類の区分については、クリティカルポイント・モジュールによりクリティカルポイント解析を適用する。具体的には、クリティカルポイント・モジュールで断面を軸方向に走査する(S430)。上記の走査で判明した極小値と極大値によりクリティカルポイントが生成される(S440)。例えば、図7に示すように、三次元対象712を垂直に走査した断面710から極小値714と極大値716a、716b、716cが判明する。さらに、三次元対象712を水平に走査した断面710から極小値718と極大値720が判明する。
【0024】
図3に戻って、骨格生成モジュール(例えば、骨格生成モジュール130)により、図5に示す骨格構造に基づいて対象物のポーズを判定する(S330)。選択したクリティカルポイントを結んで、潜在的な関節部のセットを特定する(S510)。潜在的な関節部を、ポスチャー基準などを用いてテストする(S520)。なお、ポスチャー基準は、関節部が対象物の実対象に関係する確率を示すものである。次に、最も高い確率値を有する関節部を選択する(S530)。対象物の領域の分類部分と、対象の物領域の未分類部分における関節部とを結合して骨格構造を生成する(S540)。この骨格構造とプレロードした骨格構造とを比較してポーズを判定する(S550)。図7に戻って、骨格構造722は垂直走査の結果であり、骨格構造724は水平走査の結果であり、両者はクリティカルポイントから関節部を特定したものである。さらに、図11は図10に示す対象物から得られる骨格構造である。
【0025】
ポスチャー基準は(式1)を使って求めることができる。
【0026】
【数1】
【0027】
ここで、Fiは、ポスチャー基準において定義される第iの条件に相当する。つまり、各ルールを0から1までの確率で表すことができる。確率の積を用いて潜在的な関節部を比較する。各ルールは、(式2)により表現できる。
【0028】
【数2】
【0029】
ここで、F1 は、BLOBの外にあるピクセルの量を表している。
【0030】
【数3】
【0031】
ここで、F2(h) は、関節部がどれくらい局所中心あるいは区分の中心に近接しているかを表している。
【0032】
【数4】
【0033】
ここで、F3(h) は、クリティカルポイントがどれくらい当該関節部に近接しているかを表している。
【0034】
【数5】
【0035】
ここで、F4(h) は、関節セグメントの適切な順序(手は腕とつながる、手は足とはつながらない、等)を保証する。
【0036】
【数6】
【0037】
ここで、F5(h) は、画像間で時間的な継続が保たれていることを保証する。さらに、x は解析中の対象物の領域内(例えば、腕)に位置するポイントの数を、sは対象物の領域までのサンプルされた骨格ポイントの距離を、f は対象物の領域までのクリティカルポイントの距離を、DT_Hand はあるポイント(例えば、手)の距離変換値を、DT_Elbow は別の(例えば、肘上の)ポイントの距離変換値を、それぞれ表す。さらに、本実施例においてはHand は手のポイント、Elbow は肘のポイントを表しており、λ はポアソン分布のパラメータを、σはガウス分布のパラメータを、それぞれ表す。なお、ポスチャー基準は、上記以外の代替式も可能である。
【0038】
図3に戻って、インタラクション・モジュール(例えば、インタラクション・モジュール130)が推定ポーズに応答する。1つの実施形態では、推定したポーズを時間的に観察して行動を判定してもよい。また、インタラクション・モジュールは、行動の推定ポーズに応答する行動を出力してもよい。
【0039】
本発明に係わる方法のステップを実施する順序は、当然、純粋に例示されたものあって、本開示で示される以外にも、これらステップは、いかなる順序でも、あるいは、並行して実施可能である。本発明の方法は、ハードウェア、ファームウェア、ソフトウェア、あるいはこれらの組み合わせにおいて、いかなる種類の単独または複数のコンピュータ上で実施可能である。本発明を具現化するソフトウェアには、あらゆる形態のコンピュータ指令(例えば、ソースコード(source code)、オブジェクトコード(object code)、インタプリタコード(interpreted code)等)が含まれ、あらゆるコンピュータ読取可能な媒体(例えば、ROM、RAM、磁気媒体、コンパクトディスク、DVD等)に記憶されていてもよい。かかるソフトウェアは、導電性媒体上を伝搬するキャリア波において具現化される電子データ信号の形態、あるいは、光ファイバーを介して伝搬する光パルスの形態であってもよい。
【0040】
本発明の特定の実施形態を例示しつつ説明したが、当業者であれば、本発明から逸脱しない限りにおいて、より広い観点から各種の変更や修正を行うことが可能であることは明らかである。したがって、付属の特許請求の範囲は、本発明の真の精神および範囲内でのこのような変形および変更をすべて包含することを目的とする。
【0041】
前記の記載においては、説明することを目的として、数値を用いた具体的内容は本発明を完全に理解するために記述されたものである。しかしながら、当業者には、かかる具体的内容が無い場合にも実施可能であることは明らかである。この他の場合では、発明が不明瞭にならないように、構造および装置をブロック図の形態に示されるであろう。
【0042】
明細書中の「1つの実施形態(one embodiment)」あるいは「実施形態(an embodiment)」という記述は、当該の実施形態に関して記載された特定の特徴、構造、特性が本発明の少なくとも1つの実施形態に含まれることを意味する。明細書の随所に現れる「1つの実施形態では」という表現は、必ずしも同一の実施形態について言及するものではない。
【0043】
詳細な記載の部分によっては、コンピュータメモリ内のデータビットの操作に関するアルゴリズムや符号の表現を使って表される。このようなアルゴリズム的な記載や表現は、データ処理技術を扱う当業者が用いる手段であり、他の当業者に仕事の実体を効果的に伝達するためのものである。ここで言う一般的なアルゴリズムとは、所望の結果を導くためのステップが自己無撞着に連続していると認識されるものである。このようなステップでは、物理量を物理的に操作することを必要とする。必ずしもではないが、通常、このような物理量は、記憶、伝送、結合、比較、もしくは処理が可能な電気信号あるいは磁気信号の形態をとる。主に一般用途の理由から、このような信号をビット、値、要素、シンボル、文字、用語、数などとして扱うことの利便性がしばしば証明されている。
【0044】
しかしながら、留意すべきは、このような表現あるいは類似の表現は所定の物理量に関連する便宜上のラベルにすぎない点である。説明から明らかな場合を除いて、特に言及しない限り、記載全体を通じて「処理する」、「演算する」、「算出する」、「判定する」あるいは「表示する」などの表現を用いた説明では、コンピュータシステムの記録部やメモリ部に記憶された物理的(電子的)な量として表されるデータを操作して、コンピュータシステムの記録部やメモリ部、あるいはこの他の情報の記憶部、送信部あるいは表示部などに記憶された、同様に物理的な量として表される別のデータに変換するようなコンピュータシステムあるいは類似の電子演算装置の実行や処理について述べている。
【0045】
また、本発明は、ここに記載される動作を実行する装置に関する。この装置は、必要な用途に合わせて特定の構成を備えていてもよいし、コンピュータに記憶されるコンピュータプログラムによって選択的に起動したり、再構成するような汎用コンピュータから構成されていてもよい。かかるコンピュータプログラムは、以下のようなコンピュータ読取り可能な媒体に記憶されてもよいが、これらに限定されるものではない:フレキシブルディスク、光ディスク、CD-ROM、磁気光ディスクなどを含むあらゆる種類のディスク、ROM、RAM、EPROM、EEPROM、磁気カードや光カード、あるいは電子命令(electronic instructions)の記憶に適したあらゆる種類の媒体、および各々がコンピュータシステムバスに連結されたもの。
【0046】
ここで言うアルゴリズムおよびモジュールは、もともと、特定のコンピュータやこの他の装置のみに関しているわけではない。ここに教示される内容に応じたプログラムを用いて様々な汎用システムを利用してもよく、より特殊な装置を構成して上記方法のステップを実行するほうが利便であると判明する場合もあるだろう。このような各種システムに必要な構成は、以下の記載から明らかとなるであろう。また、本発明は、特定のプログラミング言語に関して説明するものではない。各種プログラミング言語を用いて、ここに記載される発明の教示内容を実装できることは理解されるであろう。さらに、関連技術の当業者には明らかであるように、モジュール、特徴、属性、方法論およびこの他の発明の側面を、ソフトウェア、ハードウェア、ファームウェアあるいはこれら3つのいずれかを組み合わせたものとして実装してもよい。もちろん、本発明の1つの構成をソフトウェアとして実装する場合には、この構成をスタンドアローンのプログラム、大規模プログラムの一部、個別プログラムで構成される複数のプログラム、静的または動的にリンクされるライブラリ、カーネル・ローダブル・モジュール(kernel loadable module)あるいは装置ドライバーとして、かつまたは、コンピュータプログラミングに携わる当業者が現在と将来において知り得るその他のあらゆる方法において実装可能である。さらに、本発明は、いかなる特定オペレーティングシステムまたは環境にも限定されるものではない。
【0047】
関連技術の当業者であれば、上記記載の実装は単なる典型に過ぎず、本発明の真の精神と範囲を逸脱しない限りにおいて、各種の変更を加えることが可能であることを理解するであろう。したがって、付属の請求項は、本発明の真の精神と範囲内でのすべての変更および修正を包含することを意図したものである。
【図面の簡単な説明】
【0048】
【図1】本発明の1つの実施形態に係わる対象物のポーズを推定するシステムのブロック図である。
【図2】本発明の1つの実施形態に係わる本システムのポーズ推定モジュールのブロック図である。
【図3】本発明の1つの実施形態に係わる対象物のポーズを推定する方法を例示するフローチャートである。
【図4】本発明の1つの実施形態に係わるクリティカルポイントを特定する方法を例示するフローチャートである。
【図5】本発明の1つの実施形態に係わる骨格構造を生成する方法を例示するフローチャートである。
【図6】(a)は人間を対象物とした従来の二次元画像を示す概要図であり、(b)は本発明の1つの実施形に係わる態奥行き情報を備えた(a)を示す概要図である。
【図7】本発明の1つの実施形態に係わる水平方向と垂直方向の走査を示す概要図である。
【図8】(a)は奥行き情報を示す概要図であり、(b)は本発明の1つの実施形態に係わる分類部分と未分類部分を備える(a)を示す概要図である。
【図9】本発明の1つの実施形態に係わる、プレロードされたポーズのライブラリを示す概要図である。
【図10】本発明の1つの実施形態に係わる、極小値および極大値について対象物を走査するときに用いられる画像中の対象物と軸を例示する概要図である。
【図11】図10の対象物の画像から生成した、本発明の1つの実施形態に係わる骨格構造を示す概要図である。
【特許請求の範囲】
【請求項1】
対象物に関する奥行き情報を含む画像を受信する手順と、
前記奥行き情報から判定した前記対象物の水平端および垂直端に対応する前記対象物の極小値と極大値とを特定し、これらの極小値と極大値からクリティカルポイントを特定する手順と、
前記対象物の領域内のクリティカルポイントを結ぶことで関節位置を形成し、この関節位置から前記対象物の骨格構造を生成する手順と、
前記骨格構造に基づいて前記対象物のポーズを判定する手順とを含む
ことを特徴とする画像中の対象物のポーズを推定する方法。
【請求項2】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記対象物の領域内にとどまる可能な関節位置のセットを決定することを含む
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記対象物の領域の中心に最も近接して延びる可能な関節位置のセットを決定することを含む
ことを特徴とする請求項1に記載の方法。
【請求項4】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、既知の人体構造を損なわない可能な関節位置のセットを決定することを含む
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記骨格構造を生成する手順は、
次に続く画像を受信し、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記画像間での連続性を損なわない可能な関節位置のセットを決定することを含む
ことを特徴とする請求項1に記載の方法。
【請求項6】
前記対象物の領域をk-meansクラスタ法により空間区分する手順をさらに含み、前記極小値と極大値は空間区分内での最小値と最大値に相当する
ことを特徴とする請求項1に記載の方法。
【請求項7】
前記対象物の領域の部分を既知の人体部位として分類するとともに、前記対象物の領域の未分類部分から前記骨格構造を生成する手順をさらに含む
ことを特徴とする請求項1に記載の方法。
【請求項8】
前記骨格構造を生成する手順は、
前記骨格構造に基づいて前記対象物の領域の部分を既知の人体部位として分類することを含む
ことを特徴とする請求項1に記載の方法。
【請求項9】
前記骨格構造を生成する手順は、
次に続く画像を受信し、
次に続くクリティカルポイントを特定し、
前記クリティカルポイントとこの次に続くクリティカルポイントとの比較により次に続く骨格画像を生成することを含む
ことを特徴とする請求項1に記載の方法。
【請求項10】
画像中の対象物のポーズを推定する方法を実行するように構成されたコンピュータプログラム生成物を記憶するコンピュータ読取可能な媒体であって、
前記方法は、
対象物に関する奥行き情報を含む画像を受信する手順と、
前記奥行き情報から判定した前記対象物の水平端および垂直端に対応する前記対象物の極小値と極大値とを特定し、これらの極小値と極大値からクリティカルポイントを特定する手順と、
前記対象物の領域内のクリティカルポイントを結ぶことで関節位置を形成し、この関節位置から前記対象物の骨格構造を生成する手順と、
前記骨格構造に基づいて前記対象物のポーズを判定する手順とを含む
ことを特徴とするコンピュータプログラム生成物を記憶するコンピュータ読取可能な媒体。
【請求項11】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記対象物の領域内にとどまる可能な関節位置のセットを決定することを含む
ことを特徴とする請求項10に記載のコンピュータプログラム生成物。
【請求項12】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記対象物の領域の中心に最も近接して延びる可能な関節位置のセットを決定することを含む
ことを特徴とする請求項1に記載のコンピュータプログラム生成物。
【請求項13】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、既知の人体構造を損なわない可能な関節位置のセットを決定することを含む
ことを特徴とする請求項10に記載のコンピュータプログラム生成物。
【請求項14】
前記骨格構造を生成する手順は、
次に続く画像を受信し、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記画像間での連続性を損なわない可能な関節位置のセットを決定することを含む
ことを特徴とする請求項10に記載のコンピュータプログラム生成物。
【請求項15】
前記対象物の領域をk-meansクラスタ法により空間区分する手順をさらに含み、
前記極小値と極大値は空間区分内での最小値と最大値に相当する
ことを特徴とする請求項10に記載のコンピュータプログラム生成物。
【請求項16】
前記対象物の領域の部分を既知の人体部位として分類するとともに、前記対象物の領域の未分類部分から前記骨格構造を生成する手順をさらに含む
ことを特徴とする請求項10に記載のコンピュータプログラム生成物。
【請求項17】
前記骨格構造を生成する手順は、
前記骨格構造に基づいて、前記対象物の領域の部分を既知の人体部位として分類することを含む
ことを特徴とする請求項10に記載のコンピュータプログラム生成物。
【請求項18】
前記骨格構造を生成する手順は、
次に続く画像を受信し、
次に続くクリティカルポイントを特定し、
前記クリティカルポイントとこの次に続くクリティカルポイントとの比較により次に続く骨格画像を生成することを含む
ことを特徴とする請求項10に記載のコンピュータプログラム生成物。
【請求項19】
画像中の対象物のポーズを推定するシステムであって、
前記対象物に関する奥行き情報を含む前記画像を受信する入力手段と、
前記入力手段に通信可能に接続され、
前記奥行き情報から判定した前記対象物の水平端および垂直端に対応する前記対象物の極小値と極大値とを特定し、これらの極小値と極大値からクリティカルポイントを特定するクリティカルポイント・モジュールと、
前記クリティカルポイント・モジュールに通信可能に接続され、
前記対象物の領域内のクリティカルポイントを結ぶことで関節位置を生成し、この関節位置から前記対象物の骨格構造を生成する骨格生成モジュールと、
前記骨格生成モジュールに通信可能に接続され、
前記骨格構造に基づいて前記対象物のポーズを判定するように構成される推定モジュールとを備える
ことを特徴とする画像中の対象物のポーズを推定するシステム。
【請求項20】
前記骨格生成モジュールは、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記対象物の領域内にとどまる可能な関節位置のセットを決定する
ことを特徴とする請求項19に記載のシステム。
【請求項21】
前記骨格生成モジュールは、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記対象物の領域の中心に最も近接して延びる可能な関節位置のセットを決定する
ことを特徴とする請求項19に記載のシステム。
【請求項22】
前記骨格生成モジュールは、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、既知の人体構造を損なわない可能な関節位置のセットを決定する
ことを特徴とする請求項19に記載のシステム。
【請求項23】
前記骨格生成モジュールは、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記画像間での連続性を損なわない可能な関節位置のセットを決定する
ことを特徴とする請求項19に記載のシステム。
【請求項24】
前記クリティカルポイント・モジュールは、前記対象物の領域をk-meansクラスタ法により空間区分し、前記極小値と極大値は空間区分内での最小値と最大値に相当する
ことを特徴とする請求項19に記載のシステム。
【請求項25】
前記クリティカルポイント・モジュールは、
前記対象物領域の部分を既知の人体部位として分類するとともに、前記対象物領域の未分類部分から骨格構造を生成する
ことを特徴とする請求項19に記載のシステム。
【請求項26】
前記骨格生成モジュールは、前記骨格構造に基づいて前記対象物領域の部分を既知の人体部位として分類する
ことを特徴とする請求項19に記載のシステム。
【請求項27】
前記入力手段は次に続く画像を受信し、
前記クリティカルポイント・モジュールは、次に続くクリティカルポイントを特定し、
前記骨格生成モジュールは、前記クリティカルポイントをこの次に続くクリティカルポイントと比較することで次に続く骨格画像を生成する
ことを特徴とする請求項19に記載のシステム。
【請求項1】
対象物に関する奥行き情報を含む画像を受信する手順と、
前記奥行き情報から判定した前記対象物の水平端および垂直端に対応する前記対象物の極小値と極大値とを特定し、これらの極小値と極大値からクリティカルポイントを特定する手順と、
前記対象物の領域内のクリティカルポイントを結ぶことで関節位置を形成し、この関節位置から前記対象物の骨格構造を生成する手順と、
前記骨格構造に基づいて前記対象物のポーズを判定する手順とを含む
ことを特徴とする画像中の対象物のポーズを推定する方法。
【請求項2】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記対象物の領域内にとどまる可能な関節位置のセットを決定することを含む
ことを特徴とする請求項1に記載の方法。
【請求項3】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記対象物の領域の中心に最も近接して延びる可能な関節位置のセットを決定することを含む
ことを特徴とする請求項1に記載の方法。
【請求項4】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、既知の人体構造を損なわない可能な関節位置のセットを決定することを含む
ことを特徴とする請求項1に記載の方法。
【請求項5】
前記骨格構造を生成する手順は、
次に続く画像を受信し、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記画像間での連続性を損なわない可能な関節位置のセットを決定することを含む
ことを特徴とする請求項1に記載の方法。
【請求項6】
前記対象物の領域をk-meansクラスタ法により空間区分する手順をさらに含み、前記極小値と極大値は空間区分内での最小値と最大値に相当する
ことを特徴とする請求項1に記載の方法。
【請求項7】
前記対象物の領域の部分を既知の人体部位として分類するとともに、前記対象物の領域の未分類部分から前記骨格構造を生成する手順をさらに含む
ことを特徴とする請求項1に記載の方法。
【請求項8】
前記骨格構造を生成する手順は、
前記骨格構造に基づいて前記対象物の領域の部分を既知の人体部位として分類することを含む
ことを特徴とする請求項1に記載の方法。
【請求項9】
前記骨格構造を生成する手順は、
次に続く画像を受信し、
次に続くクリティカルポイントを特定し、
前記クリティカルポイントとこの次に続くクリティカルポイントとの比較により次に続く骨格画像を生成することを含む
ことを特徴とする請求項1に記載の方法。
【請求項10】
画像中の対象物のポーズを推定する方法を実行するように構成されたコンピュータプログラム生成物を記憶するコンピュータ読取可能な媒体であって、
前記方法は、
対象物に関する奥行き情報を含む画像を受信する手順と、
前記奥行き情報から判定した前記対象物の水平端および垂直端に対応する前記対象物の極小値と極大値とを特定し、これらの極小値と極大値からクリティカルポイントを特定する手順と、
前記対象物の領域内のクリティカルポイントを結ぶことで関節位置を形成し、この関節位置から前記対象物の骨格構造を生成する手順と、
前記骨格構造に基づいて前記対象物のポーズを判定する手順とを含む
ことを特徴とするコンピュータプログラム生成物を記憶するコンピュータ読取可能な媒体。
【請求項11】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記対象物の領域内にとどまる可能な関節位置のセットを決定することを含む
ことを特徴とする請求項10に記載のコンピュータプログラム生成物。
【請求項12】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記対象物の領域の中心に最も近接して延びる可能な関節位置のセットを決定することを含む
ことを特徴とする請求項1に記載のコンピュータプログラム生成物。
【請求項13】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、既知の人体構造を損なわない可能な関節位置のセットを決定することを含む
ことを特徴とする請求項10に記載のコンピュータプログラム生成物。
【請求項14】
前記骨格構造を生成する手順は、
次に続く画像を受信し、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記画像間での連続性を損なわない可能な関節位置のセットを決定することを含む
ことを特徴とする請求項10に記載のコンピュータプログラム生成物。
【請求項15】
前記対象物の領域をk-meansクラスタ法により空間区分する手順をさらに含み、
前記極小値と極大値は空間区分内での最小値と最大値に相当する
ことを特徴とする請求項10に記載のコンピュータプログラム生成物。
【請求項16】
前記対象物の領域の部分を既知の人体部位として分類するとともに、前記対象物の領域の未分類部分から前記骨格構造を生成する手順をさらに含む
ことを特徴とする請求項10に記載のコンピュータプログラム生成物。
【請求項17】
前記骨格構造を生成する手順は、
前記骨格構造に基づいて、前記対象物の領域の部分を既知の人体部位として分類することを含む
ことを特徴とする請求項10に記載のコンピュータプログラム生成物。
【請求項18】
前記骨格構造を生成する手順は、
次に続く画像を受信し、
次に続くクリティカルポイントを特定し、
前記クリティカルポイントとこの次に続くクリティカルポイントとの比較により次に続く骨格画像を生成することを含む
ことを特徴とする請求項10に記載のコンピュータプログラム生成物。
【請求項19】
画像中の対象物のポーズを推定するシステムであって、
前記対象物に関する奥行き情報を含む前記画像を受信する入力手段と、
前記入力手段に通信可能に接続され、
前記奥行き情報から判定した前記対象物の水平端および垂直端に対応する前記対象物の極小値と極大値とを特定し、これらの極小値と極大値からクリティカルポイントを特定するクリティカルポイント・モジュールと、
前記クリティカルポイント・モジュールに通信可能に接続され、
前記対象物の領域内のクリティカルポイントを結ぶことで関節位置を生成し、この関節位置から前記対象物の骨格構造を生成する骨格生成モジュールと、
前記骨格生成モジュールに通信可能に接続され、
前記骨格構造に基づいて前記対象物のポーズを判定するように構成される推定モジュールとを備える
ことを特徴とする画像中の対象物のポーズを推定するシステム。
【請求項20】
前記骨格生成モジュールは、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記対象物の領域内にとどまる可能な関節位置のセットを決定する
ことを特徴とする請求項19に記載のシステム。
【請求項21】
前記骨格生成モジュールは、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記対象物の領域の中心に最も近接して延びる可能な関節位置のセットを決定する
ことを特徴とする請求項19に記載のシステム。
【請求項22】
前記骨格生成モジュールは、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、既知の人体構造を損なわない可能な関節位置のセットを決定する
ことを特徴とする請求項19に記載のシステム。
【請求項23】
前記骨格生成モジュールは、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記画像間での連続性を損なわない可能な関節位置のセットを決定する
ことを特徴とする請求項19に記載のシステム。
【請求項24】
前記クリティカルポイント・モジュールは、前記対象物の領域をk-meansクラスタ法により空間区分し、前記極小値と極大値は空間区分内での最小値と最大値に相当する
ことを特徴とする請求項19に記載のシステム。
【請求項25】
前記クリティカルポイント・モジュールは、
前記対象物領域の部分を既知の人体部位として分類するとともに、前記対象物領域の未分類部分から骨格構造を生成する
ことを特徴とする請求項19に記載のシステム。
【請求項26】
前記骨格生成モジュールは、前記骨格構造に基づいて前記対象物領域の部分を既知の人体部位として分類する
ことを特徴とする請求項19に記載のシステム。
【請求項27】
前記入力手段は次に続く画像を受信し、
前記クリティカルポイント・モジュールは、次に続くクリティカルポイントを特定し、
前記骨格生成モジュールは、前記クリティカルポイントをこの次に続くクリティカルポイントと比較することで次に続く骨格画像を生成する
ことを特徴とする請求項19に記載のシステム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公表番号】特表2008−537815(P2008−537815A)
【公表日】平成20年9月25日(2008.9.25)
【国際特許分類】
【出願番号】特願2008−502129(P2008−502129)
【出願日】平成18年3月17日(2006.3.17)
【国際出願番号】PCT/US2006/009875
【国際公開番号】WO2006/099597
【国際公開日】平成18年9月21日(2006.9.21)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【出願人】(504325287)ザ オハイオ ステート ユニバーシティー リサーチ ファウンデーション (24)
【Fターム(参考)】
【公表日】平成20年9月25日(2008.9.25)
【国際特許分類】
【出願日】平成18年3月17日(2006.3.17)
【国際出願番号】PCT/US2006/009875
【国際公開番号】WO2006/099597
【国際公開日】平成18年9月21日(2006.9.21)
【出願人】(000005326)本田技研工業株式会社 (23,863)
【出願人】(504325287)ザ オハイオ ステート ユニバーシティー リサーチ ファウンデーション (24)
【Fターム(参考)】
[ Back to top ]