(57)【要約】【課題】  対象物のポーズ推定の方法とシステムを提供する。【解決手段】  対象物は人体、動物、ロボットでもよい。カメラ１１０で対象物３１０に関する奥行情報を受信し、ポーズ推定モジュール１２０で画像から対象物のポーズや行動を判定し、インタラクション・モジュール１３０で感知したポーズや行動に対する応答を出力する。ポーズ推定モジュール１２０により、対象物を含んだ画像を区分し、分類部分と未分類部分にする。区分化は k-means クラスタ法を用いてもよい。分類部分を、頭部や胴体部などの既知の対象として画像間で追跡してもよい。未分類部分をx軸とy軸に沿って走査を行い、極小値と極大値を特定する。極大値と極小値３２０からクリティカルポイントを導く。様々なクリティカルポイントを結んで潜在的な関節部を特定し、対象物の実対象に相当するのに十分な確率を有する関節部を選択し、判定済みの対象物のポーズに基づいて骨格構造を生成する。【選択図】  図３
2008537815.tif 000002
【特許請求の範囲】
【請求項１】
対象物に関する奥行き情報を含む画像を受信する手順と、
前記奥行き情報から判定した前記対象物の水平端および垂直端に対応する前記対象物の極小値と極大値とを特定し、これらの極小値と極大値からクリティカルポイントを特定する手順と、
前記対象物の領域内のクリティカルポイントを結ぶことで関節位置を形成し、この関節位置から前記対象物の骨格構造を生成する手順と、
前記骨格構造に基づいて前記対象物のポーズを判定する手順とを含む
ことを特徴とする画像中の対象物のポーズを推定する方法。
【請求項２】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記対象物の領域内にとどまる可能な関節位置のセットを決定することを含む
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記対象物の領域の中心に最も近接して延びる可能な関節位置のセットを決定することを含む
ことを特徴とする請求項１に記載の方法。
【請求項４】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、既知の人体構造を損なわない可能な関節位置のセットを決定することを含む
ことを特徴とする請求項１に記載の方法。
【請求項５】
前記骨格構造を生成する手順は、
次に続く画像を受信し、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記画像間での連続性を損なわない可能な関節位置のセットを決定することを含む
ことを特徴とする請求項１に記載の方法。
【請求項６】
前記対象物の領域をk-meansクラスタ法により空間区分する手順をさらに含み、前記極小値と極大値は空間区分内での最小値と最大値に相当する
ことを特徴とする請求項１に記載の方法。
【請求項７】
前記対象物の領域の部分を既知の人体部位として分類するとともに、前記対象物の領域の未分類部分から前記骨格構造を生成する手順をさらに含む
ことを特徴とする請求項１に記載の方法。
【請求項８】
前記骨格構造を生成する手順は、
前記骨格構造に基づいて前記対象物の領域の部分を既知の人体部位として分類することを含む
ことを特徴とする請求項１に記載の方法。
【請求項９】
前記骨格構造を生成する手順は、
次に続く画像を受信し、
次に続くクリティカルポイントを特定し、
前記クリティカルポイントとこの次に続くクリティカルポイントとの比較により次に続く骨格画像を生成することを含む
ことを特徴とする請求項１に記載の方法。
【請求項１０】
画像中の対象物のポーズを推定する方法を実行するように構成されたコンピュータプログラム生成物を記憶するコンピュータ読取可能な媒体であって、
前記方法は、
対象物に関する奥行き情報を含む画像を受信する手順と、
前記奥行き情報から判定した前記対象物の水平端および垂直端に対応する前記対象物の極小値と極大値とを特定し、これらの極小値と極大値からクリティカルポイントを特定する手順と、
前記対象物の領域内のクリティカルポイントを結ぶことで関節位置を形成し、この関節位置から前記対象物の骨格構造を生成する手順と、
前記骨格構造に基づいて前記対象物のポーズを判定する手順とを含む
ことを特徴とするコンピュータプログラム生成物を記憶するコンピュータ読取可能な媒体。
【請求項１１】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記対象物の領域内にとどまる可能な関節位置のセットを決定することを含む
ことを特徴とする請求項１０に記載のコンピュータプログラム生成物。
【請求項１２】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記対象物の領域の中心に最も近接して延びる可能な関節位置のセットを決定することを含む
ことを特徴とする請求項１に記載のコンピュータプログラム生成物。
【請求項１３】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、既知の人体構造を損なわない可能な関節位置のセットを決定することを含む
ことを特徴とする請求項１０に記載のコンピュータプログラム生成物。
【請求項１４】
前記骨格構造を生成する手順は、
次に続く画像を受信し、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記画像間での連続性を損なわない可能な関節位置のセットを決定することを含む
ことを特徴とする請求項１０に記載のコンピュータプログラム生成物。
【請求項１５】
前記対象物の領域をk-meansクラスタ法により空間区分する手順をさらに含み、
前記極小値と極大値は空間区分内での最小値と最大値に相当する
ことを特徴とする請求項１０に記載のコンピュータプログラム生成物。
【請求項１６】
前記対象物の領域の部分を既知の人体部位として分類するとともに、前記対象物の領域の未分類部分から前記骨格構造を生成する手順をさらに含む
ことを特徴とする請求項１０に記載のコンピュータプログラム生成物。
【請求項１７】
前記骨格構造を生成する手順は、
前記骨格構造に基づいて、前記対象物の領域の部分を既知の人体部位として分類することを含む
ことを特徴とする請求項１０に記載のコンピュータプログラム生成物。
【請求項１８】
前記骨格構造を生成する手順は、
次に続く画像を受信し、
次に続くクリティカルポイントを特定し、
前記クリティカルポイントとこの次に続くクリティカルポイントとの比較により次に続く骨格画像を生成することを含む
ことを特徴とする請求項１０に記載のコンピュータプログラム生成物。
【請求項１９】
画像中の対象物のポーズを推定するシステムであって、
前記対象物に関する奥行き情報を含む前記画像を受信する入力手段と、
前記入力手段に通信可能に接続され、
前記奥行き情報から判定した前記対象物の水平端および垂直端に対応する前記対象物の極小値と極大値とを特定し、これらの極小値と極大値からクリティカルポイントを特定するクリティカルポイント・モジュールと、
前記クリティカルポイント・モジュールに通信可能に接続され、
前記対象物の領域内のクリティカルポイントを結ぶことで関節位置を生成し、この関節位置から前記対象物の骨格構造を生成する骨格生成モジュールと、
前記骨格生成モジュールに通信可能に接続され、
前記骨格構造に基づいて前記対象物のポーズを判定するように構成される推定モジュールとを備える
ことを特徴とする画像中の対象物のポーズを推定するシステム。
【請求項２０】
前記骨格生成モジュールは、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記対象物の領域内にとどまる可能な関節位置のセットを決定する
ことを特徴とする請求項１９に記載のシステム。
【請求項２１】
前記骨格生成モジュールは、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記対象物の領域の中心に最も近接して延びる可能な関節位置のセットを決定する
ことを特徴とする請求項１９に記載のシステム。
【請求項２２】
前記骨格生成モジュールは、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、既知の人体構造を損なわない可能な関節位置のセットを決定する
ことを特徴とする請求項１９に記載のシステム。
【請求項２３】
前記骨格生成モジュールは、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記画像間での連続性を損なわない可能な関節位置のセットを決定する
ことを特徴とする請求項１９に記載のシステム。
【請求項２４】
前記クリティカルポイント・モジュールは、前記対象物の領域をk-meansクラスタ法により空間区分し、前記極小値と極大値は空間区分内での最小値と最大値に相当する
ことを特徴とする請求項１９に記載のシステム。
【請求項２５】
前記クリティカルポイント・モジュールは、
前記対象物領域の部分を既知の人体部位として分類するとともに、前記対象物領域の未分類部分から骨格構造を生成する
ことを特徴とする請求項１９に記載のシステム。
【請求項２６】
前記骨格生成モジュールは、前記骨格構造に基づいて前記対象物領域の部分を既知の人体部位として分類する
ことを特徴とする請求項１９に記載のシステム。
【請求項２７】
前記入力手段は次に続く画像を受信し、
前記クリティカルポイント・モジュールは、次に続くクリティカルポイントを特定し、
前記骨格生成モジュールは、前記クリティカルポイントをこの次に続くクリティカルポイントと比較することで次に続く骨格画像を生成する
ことを特徴とする請求項１９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願は、米国特許法第１１９条第ｅ項に基づく米国特許出願番号第60/663,020（出願日：２００５年３月１７日）発明の名称：「Pose Estimation Based on Critical Point Analysis」に記載の主題を請求するものであり、この出願のすべての記載をここに引用するものである。
【０００２】
本発明は、マシンビジョン（machine vision）に関し、特に、クリティカルポイント（critical point：臨界点）を利用したマシンベースのポーズ推定に関する。
【背景技術】
【０００３】
従来技術のマシンビジョンでは、ロボットやその他のマシンを使って対象の認識を行うことができる。対象の周辺をナビゲーションしたり、対象を検索したり、あるいはこの他の目的で対象を認識することができる。従来技術のポーズ推定では、人間の身体の一部など、対象物の様々な対象を検出する。さらに、ポーズ推定を利用して身体の部位の方向性を判定することも可能である。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
従来技術のポーズ推定で課題となるのは、画像情報を取得するために複雑で高価な装置を必要とする点である。例えば、３Ｄカメラシステムの場合、通常、対象物をカメラを配置した室内に閉じ込めておく必要がある。さらに、３Ｄカメラシステムは非常に高価である。マーカーシステムを使って対象物の既知の頂点にマーク付けすることで、すべての動きを追跡することもできる。しかしながら、対象物について事前の準備が必要となり、観察作業も伴ってしまう。
【０００５】
そこで求められるのが、従来の高価で複雑な技術を用いることなく対象物のポーズを推定するシステムに関する方法である。
【課題を解決するための手段】
【０００６】
本発明では、クリティカルポイント解析に基づく対象物のポーズ推定に関する方法およびシステムを提供する。１つの実施形態では、システムは、対象物に関連する奥行き情報を受信するカメラと、画像から対象物のポーズや行動を判定するポーズ推定モジュールと、感知したポーズや行動に対する応答を出力するインタラクション・モジュールとを備える。
【０００７】
１つの実施形態では、ポーズ推定モジュールにより対象物を含んだ画像を分類部分と未分類部分とに区分化する。分類部分を、頭部や胴体部などの既知の対象として画像間で追跡を行うようにしてもよい。未分類部分を、ｘ軸とｙ軸に沿って走査して極小値と極大値を特定する。この極小値と極大値からクリティカルポイントを導く。様々なクリティカルポイントを結んで潜在的な関節部を特定する。さらに、対象物の実対象に相当するのに十分な確率を有する関節部を選択する。
【０００８】
別の実施形態では、ポーズ推定モジュールは、潜在的な部位から関節部を選択する推定モジュールを備える。この推定モジュールには、潜在的な関節部に関する確率を算出する様々なルールが実装されている。例えば、どれだけのピクセルが対象物のピクセルに相当するかについて関節部の算定を行う。なお、この他のルールについても説明する。
【０００９】
さらに、このシステムは、人間から特定の行動（立ち去る、速度を上げる、止まるなど）による視覚的な合図を受けることができる特徴を有する。さらに、このシステムによれば、人間の行動や、動物、ロボットあるいはこのほかの対象物の行動を観察することができる。
【００１０】
当業者ならば、ここに記載する特徴および特長のみが包含されるのではなく、特に、図面、明細書および請求項を参照することで、さらに多くの特徴および特長が明らかとなるであろう。さらに、明細書中に用いられる言語は、主に、読みやすさや例示的な目的から選択されたものであって、本発明の請求の範囲を制限するために選択されたものではない。
【発明を実施するための最良の形態】
【００１１】
本発明の教示内容は、付属の図面に関する以下の詳細な説明を検討することで容易に理解できるであろう。なお、付属の図面中で類似する構成については類似の符号を用いた。
【００１２】
また、これらの図は本発明の各種実施形態を例示することのみを目的とする。当業者であれば、ここに記載される発明の本質から逸脱しない範囲において、以下に述べる説明から、ここに例示される構造や方法について代替の実施形態であってもよいことを理解するであろう。
【００１３】
以下に、対象物の位置を推定する方法とシステムについて述べる。対象物は、例えば、人間、動物あるいはロボットなどでよい。対象物が動作中である場合や様々な行動をしている場合には、時間経過に伴って異なるポーズを有する。１つの実施形態では、成分の頂点の解析を行ってある時点の対象物の位置を判定する。時間経過に伴う位置を追跡することで、対象物の行動の動きを判定することができる。たとえば、立ち去り、発話、立ち止まりなどの人間の視覚的な合図に対してロボットが反応することもできる。図１および図２は、ポーズ推定方法を実装したシステムを、図３から図６は、ポーズ推定方法を例示する。当業者であれば、ここに記載される内容に加えて、追加的な実施形態が可能であることを理解するであろう。
【００１４】
図１は、本発明の１つの実施形態に係わるポーズ推定を行うためのシステム１００を例示するブロック図である。システム１００は、デプスカメラ（depth camera）１１０、ポーズ推定モジュール１２０、インタラクション・モジュール１３０およびプロセッサ１４０により構成される。これらの構成要素を、例えば、ソフトウェアＡＰＩ、データバス、出入力コントローラ、プロセッサ１４０などを介して通信可能に接続してもよい。システム１００は、人間とやり取りしたり、人間を観察するようなロボットであってもよく、あるいはこの他のマシンであってもよい。以下に、システム１００内で実装される方法について述べる。
【００１５】
カメラ１１０は画像データを受信すると、ポーズ推定モジュール１２０に対して画像フレームのストリームを送信する。カメラ１１０は、例えば、（オレゴン州ポートランドの3DV Systems社製などの）パルス式カメラ、あるいは（カリフォルニア州サンバレーのCanesta社製などの）変調光カメラなどでよい。１つの実施形態では、カメラ１１０により奥行き情報を含んだ対象物の画像を取得する。奥行き情報には、カメラから対象物のそれぞれの部位までの距離が記述されている。例えば、各ピクセルには、コントラスト、彩度、輝度などの従来の値とともに奥行き値も含まれる。
【００１６】
ポーズ推定モジュール１２０は画像フレームのストリームを受信すると、推定したポーズをインタラクション・モジュール１３０へ送信する。ポーズ推定モジュール１２０とインタラクション・モジュール１３０はハードウェアかつまたはソフトウェアに実装してもよい。ポーズ推定モジュール１２０の１つの実施形態については、図２を参照しつつ以下に詳細に説明する。１つの実施形態では、ポーズ推定モジュール１２０において、成分の頂点の解析を行って各画像フレーム中の対象物のポーズを判定する。別の実施形態では、インタラクション・モジュール１３０により、現時点のメディアストリームに含まれる一連のポーズを追跡して、対象物の行動を判定する。例えば、指差しポーズは方向を示し、指振り動作は方向の角度を示すようにしてもよい。インタラクション・モジュール１３０が行動判定の処理に応答して、システム１００をある方向へ移動させたり、ある位置で回転するなどの行動を起こさせるようにしてもよい。
【００１７】
図２は、ポーズ推定モジュールをより詳細に示すものである。ポーズ推定モジュール１２０は、クリティカルポイント・モジュール２１０、骨格生成モジュール２２０および推定モジュール２３０により構成されている。
【００１８】
クリティカルポイント・モジュール２１０により、対象物領域の極大値と極小値についてのクリティカルポイントを特定してもよい。１つの実施形態では、クリティカルポイント・モジュール２１０でｘ走査を行ったり、ｘ軸に沿って両方向にスキャンする。さらに、クリティカルポイント・モジュール２１９でｙ走査とｚ走査を行ってもよい。なお、極小値あるいは極大値とは、最上点、最下点、最左点、最右点など、対象物の特定部位を指す。
【００１９】
骨格生成モジュール２２０により、関節位置から対象物の骨格構造を生成してもよい。１つの実施形態では、骨格生成モジュール２２０により、対象物の領域内のクリティカルポイントを結ぶことで関節位置を形成する。骨格生成モジュール２２０は、関節位置と骨格構造を特定する処理中に、ある一連のルールを実装してもよい。例えば、関節位置は対象物の領域内に留まっていなければならない、といったルールである。あるいは別のルールでは、関節位置は、対象物領域の局所の中心全体に延びていなければならない、などである。さらに別のルールでは、論理的な人体構成を持続することを要求してもよい。このようなルールについては以下に詳しく説明する。
【００２０】
推定モジュール２３０により、骨格構造に基づいて対象物のポーズを決定してもよい。１つの実施形態では、推定モジュール２３０により、ポスチャー基準（posture criteria）を用いて骨格構造がポーズに一致する確率を算出してもよい。推定モジュール２３０を図９に示すようなポーズのライブラリあるいは関連する骨格構造のライブラリでプレロードしてもよい。
【００２１】
図３は、本発明の１つの実施形態に係わる対象物のポーズを推定する方法３００を例示するフローチャートである。この方法３００をコンピュータシステム（例えばシステム１００）に実装してもよい。
【００２２】
カメラ（例えば、カメラ１１０）は、対象物に関する奥行き情報を含んだ画像を受信する（Ｓ３１０）。奥行き情報は、（例えば、各ピクセルやピクセルのグループに関するような）カメラと対象物の各部位との距離を提供する。奥行き情報を用いて、縦軸と横軸に基づくとともに奥行き軸にも基づいて画像を区分することができる。奥行き情報の例示として、図６の（ａ）は人間の対象物を示し、（ｂ）は距離情報を備えた場合の（ａ）を示している。パルス式カメラの場合は、物体に反射させるための照明パルスを送出して、反射波を測定する。変調光カメラの場合は、正弦波の光を放出して、返波の振幅と移相を測定する。
【００２３】
クリティカルポイント・モジュール（例えば、クリティカルポイント・モジュール１２０）を使って、図４に示すように、極大値と極小値からクリティカルポイントを特定する（Ｓ３２０）。例えば、k-meansクラスタ法等により画像を空間区分する（Ｓ４１０）。場合によっては、隣接するクラスタ同士を結合してもよい。得られた区分を可能な場合には分類する（Ｓ４２０）。対象物が人体であれば、頭や胴体部などの既知の対象として特定して区分ごとに分類する。１つの実施形態では、１つの対象を分類した後は、効率の目的から、次に続く画像間で追跡処理を行ってもよい。対象物の未分類の区分については、クリティカルポイント・モジュールによりクリティカルポイント解析を適用する。具体的には、クリティカルポイント・モジュールで断面を軸方向に走査する（Ｓ４３０）。上記の走査で判明した極小値と極大値によりクリティカルポイントが生成される（Ｓ４４０）。例えば、図７に示すように、三次元対象７１２を垂直に走査した断面７１０から極小値７１４と極大値７１６ａ、７１６ｂ、７１６ｃが判明する。さらに、三次元対象７１２を水平に走査した断面７１０から極小値７１８と極大値７２０が判明する。
【００２４】
図３に戻って、骨格生成モジュール（例えば、骨格生成モジュール１３０）により、図５に示す骨格構造に基づいて対象物のポーズを判定する（Ｓ３３０）。選択したクリティカルポイントを結んで、潜在的な関節部のセットを特定する（Ｓ５１０）。潜在的な関節部を、ポスチャー基準などを用いてテストする（Ｓ５２０）。なお、ポスチャー基準は、関節部が対象物の実対象に関係する確率を示すものである。次に、最も高い確率値を有する関節部を選択する（Ｓ５３０）。対象物の領域の分類部分と、対象の物領域の未分類部分における関節部とを結合して骨格構造を生成する（Ｓ５４０）。この骨格構造とプレロードした骨格構造とを比較してポーズを判定する（Ｓ５５０）。図７に戻って、骨格構造７２２は垂直走査の結果であり、骨格構造７２４は水平走査の結果であり、両者はクリティカルポイントから関節部を特定したものである。さらに、図１１は図１０に示す対象物から得られる骨格構造である。
【００２５】
ポスチャー基準は（式１）を使って求めることができる。
【００２６】
【数１】
2008537815.tif 000003
【００２７】
ここで、Fiは、ポスチャー基準において定義される第ｉの条件に相当する。つまり、各ルールを０から１までの確率で表すことができる。確率の積を用いて潜在的な関節部を比較する。各ルールは、（式２）により表現できる。
【００２８】
【数２】
2008537815.tif 000004
【００２９】
ここで、F1 は、ＢＬＯＢの外にあるピクセルの量を表している。
【００３０】
【数３】
2008537815.tif 000005
【００３１】
ここで、F2(h) は、関節部がどれくらい局所中心あるいは区分の中心に近接しているかを表している。
【００３２】
【数４】
2008537815.tif 000006
【００３３】
ここで、F3(h) は、クリティカルポイントがどれくらい当該関節部に近接しているかを表している。
【００３４】
【数５】
2008537815.tif 000007
【００３５】
ここで、F4(h) は、関節セグメントの適切な順序（手は腕とつながる、手は足とはつながらない、等）を保証する。
【００３６】
【数６】
2008537815.tif 000008
【００３７】
ここで、F5(h) は、画像間で時間的な継続が保たれていることを保証する。さらに、ｘ は解析中の対象物の領域内（例えば、腕）に位置するポイントの数を、ｓは対象物の領域までのサンプルされた骨格ポイントの距離を、ｆ は対象物の領域までのクリティカルポイントの距離を、DT_Hand はあるポイント（例えば、手）の距離変換値を、DT_Elbow は別の（例えば、肘上の）ポイントの距離変換値を、それぞれ表す。さらに、本実施例においてはHand は手のポイント、Elbow は肘のポイントを表しており、λ はポアソン分布のパラメータを、σはガウス分布のパラメータを、それぞれ表す。なお、ポスチャー基準は、上記以外の代替式も可能である。
【００３８】
図３に戻って、インタラクション・モジュール（例えば、インタラクション・モジュール１３０）が推定ポーズに応答する。１つの実施形態では、推定したポーズを時間的に観察して行動を判定してもよい。また、インタラクション・モジュールは、行動の推定ポーズに応答する行動を出力してもよい。
【００３９】
本発明に係わる方法のステップを実施する順序は、当然、純粋に例示されたものあって、本開示で示される以外にも、これらステップは、いかなる順序でも、あるいは、並行して実施可能である。本発明の方法は、ハードウェア、ファームウェア、ソフトウェア、あるいはこれらの組み合わせにおいて、いかなる種類の単独または複数のコンピュータ上で実施可能である。本発明を具現化するソフトウェアには、あらゆる形態のコンピュータ指令（例えば、ソースコード（source code）、オブジェクトコード（object code）、インタプリタコード（interpreted code）等）が含まれ、あらゆるコンピュータ読取可能な媒体（例えば、ＲＯＭ、ＲＡＭ、磁気媒体、コンパクトディスク、ＤＶＤ等）に記憶されていてもよい。かかるソフトウェアは、導電性媒体上を伝搬するキャリア波において具現化される電子データ信号の形態、あるいは、光ファイバーを介して伝搬する光パルスの形態であってもよい。
【００４０】
本発明の特定の実施形態を例示しつつ説明したが、当業者であれば、本発明から逸脱しない限りにおいて、より広い観点から各種の変更や修正を行うことが可能であることは明らかである。したがって、付属の特許請求の範囲は、本発明の真の精神および範囲内でのこのような変形および変更をすべて包含することを目的とする。
【００４１】
前記の記載においては、説明することを目的として、数値を用いた具体的内容は本発明を完全に理解するために記述されたものである。しかしながら、当業者には、かかる具体的内容が無い場合にも実施可能であることは明らかである。この他の場合では、発明が不明瞭にならないように、構造および装置をブロック図の形態に示されるであろう。
【００４２】
明細書中の「１つの実施形態（one embodiment）」あるいは「実施形態（an embodiment）」という記述は、当該の実施形態に関して記載された特定の特徴、構造、特性が本発明の少なくとも１つの実施形態に含まれることを意味する。明細書の随所に現れる「１つの実施形態では」という表現は、必ずしも同一の実施形態について言及するものではない。
【００４３】
詳細な記載の部分によっては、コンピュータメモリ内のデータビットの操作に関するアルゴリズムや符号の表現を使って表される。このようなアルゴリズム的な記載や表現は、データ処理技術を扱う当業者が用いる手段であり、他の当業者に仕事の実体を効果的に伝達するためのものである。ここで言う一般的なアルゴリズムとは、所望の結果を導くためのステップが自己無撞着に連続していると認識されるものである。このようなステップでは、物理量を物理的に操作することを必要とする。必ずしもではないが、通常、このような物理量は、記憶、伝送、結合、比較、もしくは処理が可能な電気信号あるいは磁気信号の形態をとる。主に一般用途の理由から、このような信号をビット、値、要素、シンボル、文字、用語、数などとして扱うことの利便性がしばしば証明されている。
【００４４】
しかしながら、留意すべきは、このような表現あるいは類似の表現は所定の物理量に関連する便宜上のラベルにすぎない点である。説明から明らかな場合を除いて、特に言及しない限り、記載全体を通じて「処理する」、「演算する」、「算出する」、「判定する」あるいは「表示する」などの表現を用いた説明では、コンピュータシステムの記録部やメモリ部に記憶された物理的（電子的）な量として表されるデータを操作して、コンピュータシステムの記録部やメモリ部、あるいはこの他の情報の記憶部、送信部あるいは表示部などに記憶された、同様に物理的な量として表される別のデータに変換するようなコンピュータシステムあるいは類似の電子演算装置の実行や処理について述べている。
【００４５】
また、本発明は、ここに記載される動作を実行する装置に関する。この装置は、必要な用途に合わせて特定の構成を備えていてもよいし、コンピュータに記憶されるコンピュータプログラムによって選択的に起動したり、再構成するような汎用コンピュータから構成されていてもよい。かかるコンピュータプログラムは、以下のようなコンピュータ読取り可能な媒体に記憶されてもよいが、これらに限定されるものではない：フレキシブルディスク、光ディスク、CD-ROM、磁気光ディスクなどを含むあらゆる種類のディスク、ROM、RAM、EPROM、EEPROM、磁気カードや光カード、あるいは電子命令（electronic instructions）の記憶に適したあらゆる種類の媒体、および各々がコンピュータシステムバスに連結されたもの。
【００４６】
ここで言うアルゴリズムおよびモジュールは、もともと、特定のコンピュータやこの他の装置のみに関しているわけではない。ここに教示される内容に応じたプログラムを用いて様々な汎用システムを利用してもよく、より特殊な装置を構成して上記方法のステップを実行するほうが利便であると判明する場合もあるだろう。このような各種システムに必要な構成は、以下の記載から明らかとなるであろう。また、本発明は、特定のプログラミング言語に関して説明するものではない。各種プログラミング言語を用いて、ここに記載される発明の教示内容を実装できることは理解されるであろう。さらに、関連技術の当業者には明らかであるように、モジュール、特徴、属性、方法論およびこの他の発明の側面を、ソフトウェア、ハードウェア、ファームウェアあるいはこれら３つのいずれかを組み合わせたものとして実装してもよい。もちろん、本発明の１つの構成をソフトウェアとして実装する場合には、この構成をスタンドアローンのプログラム、大規模プログラムの一部、個別プログラムで構成される複数のプログラム、静的または動的にリンクされるライブラリ、カーネル・ローダブル・モジュール（kernel loadable module）あるいは装置ドライバーとして、かつまたは、コンピュータプログラミングに携わる当業者が現在と将来において知り得るその他のあらゆる方法において実装可能である。さらに、本発明は、いかなる特定オペレーティングシステムまたは環境にも限定されるものではない。
【００４７】
関連技術の当業者であれば、上記記載の実装は単なる典型に過ぎず、本発明の真の精神と範囲を逸脱しない限りにおいて、各種の変更を加えることが可能であることを理解するであろう。したがって、付属の請求項は、本発明の真の精神と範囲内でのすべての変更および修正を包含することを意図したものである。
【図面の簡単な説明】
【００４８】
【図１】本発明の１つの実施形態に係わる対象物のポーズを推定するシステムのブロック図である。
【図２】本発明の１つの実施形態に係わる本システムのポーズ推定モジュールのブロック図である。
【図３】本発明の１つの実施形態に係わる対象物のポーズを推定する方法を例示するフローチャートである。
【図４】本発明の１つの実施形態に係わるクリティカルポイントを特定する方法を例示するフローチャートである。
【図５】本発明の１つの実施形態に係わる骨格構造を生成する方法を例示するフローチャートである。
【図６】（ａ）は人間を対象物とした従来の二次元画像を示す概要図であり、（ｂ）は本発明の１つの実施形に係わる態奥行き情報を備えた（ａ）を示す概要図である。
【図７】本発明の１つの実施形態に係わる水平方向と垂直方向の走査を示す概要図である。
【図８】（ａ）は奥行き情報を示す概要図であり、（ｂ）は本発明の１つの実施形態に係わる分類部分と未分類部分を備える（ａ）を示す概要図である。
【図９】本発明の１つの実施形態に係わる、プレロードされたポーズのライブラリを示す概要図である。
【図１０】本発明の１つの実施形態に係わる、極小値および極大値について対象物を走査するときに用いられる画像中の対象物と軸を例示する概要図である。
【図１１】図１０の対象物の画像から生成した、本発明の１つの実施形態に係わる骨格構造を示す概要図である。
【図１】
2008537815.tif 000009
【図２】
2008537815.tif 000010
【図３】
2008537815.tif 000011
【図４】
2008537815.tif 000012
【図５】
2008537815.tif 000013
【図６】
2008537815.tif 000014
【図７】
2008537815.tif 000015
【図８】
2008537815.tif 000016
【図９】
2008537815.tif 000017
【図１０】
2008537815.tif 000018
【図１１】
2008537815.tif 000019
【手続補正書】
【提出日】平成20年3月14日(2008.3.14)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
対象物に関する奥行き情報を含む画像を受信する手順と、
前記画像の１つ以上の部分を前記対象物の既知の部位として分類する手順と、
前記奥行き情報から前記画像の未分類部分における水平端の極小値、水平端の極大値、垂直端の極小値、垂直端の極大値を表すクリティカルポイントを特定する手順と、
前記画像の未分類部分の領域内のクリティカルポイントを結ぶことで関節位置を形成し、この関節位置から前記対象物の骨格構造を生成する手順と、
前記骨格構造に基づいて前記対象物のポーズを判定する手順とを含む
ことを特徴とする画像中の対象物のポーズを推定する方法。
【請求項２】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記画像の未分類部分の領域内にとどまる可能な関節位置のセットを決定することを含む
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記画像の未分類部分の領域の中心に最も近接して延びる可能な関節位置のセットを決定することを含む
ことを特徴とする請求項１に記載の方法。
【請求項４】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、既知の人体構造を損なわない可能な関節位置のセットを決定することを含む
ことを特徴とする請求項１に記載の方法。
【請求項５】
前記骨格構造を生成する手順は、
次に続く画像を受信し、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記画像間での連続性を損なわない可能な関節位置のセットを決定することを含む
ことを特徴とする請求項１に記載の方法。
【請求項６】
前記画像をk-meansクラスタ法により空間区分する手順をさらに含み、前記極小値と極大値は空間区分内での最小値と最大値に相当する
ことを特徴とする請求項１に記載の方法。
【請求項７】
前記骨格構造を生成する手順は、
次に続く画像を受信し、
次に続くクリティカルポイントを特定し、
前記クリティカルポイントとこの次に続くクリティカルポイントとの比較により次に続く骨格画像を生成することを含む
ことを特徴とする請求項１に記載の方法。
【請求項８】
画像中の対象物のポーズを推定する方法を実行するように構成されたコンピュータプログラム生成物を記憶するコンピュータ読取可能な媒体であって、
前記方法は、
対象物に関する奥行き情報を含む画像を受信する手順と、
前記画像の１つ以上の部分を前記対象物の既知の部位として分類する手順と、
前記奥行き情報から前記画像の未分類部分における水平端の極小値、水平端の極大値、垂直端の極小値、垂直端の極大値を表すクリティカルポイントを特定する手順と、
前記画像の未分類部分の領域内のクリティカルポイントを結ぶことで関節位置を形成し、この関節位置から前記対象物の骨格構造を生成する手順と、
前記骨格構造に基づいて前記対象物のポーズを判定する手順とを含む
ことを特徴とするコンピュータプログラム生成物を記憶するコンピュータ読取可能な媒体。
【請求項９】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記画像の未分類部分の領域内にとどまる可能な関節位置のセットを決定することを含む
ことを特徴とする請求項８に記載のコンピュータプログラム生成物。
【請求項１０】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記画像の未分類部分の領域の中心に最も近接して延びる可能な関節位置のセットを決定することを含む
ことを特徴とする請求項８に記載のコンピュータプログラム生成物。
【請求項１１】
前記骨格構造を生成する手順は、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、既知の人体構造を損なわない可能な関節位置のセットを決定することを含む
ことを特徴とする請求項８に記載のコンピュータプログラム生成物。
【請求項１２】
前記骨格構造を生成する手順は、
次に続く画像を受信し、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記画像間での連続性を損なわない可能な関節位置のセットを決定することを含む
ことを特徴とする請求項８に記載のコンピュータプログラム生成物。
【請求項１３】
前記画像をk-meansクラスタ法により空間区分する手順をさらに含み、
前記極小値と極大値は空間区分内での最小値と最大値に相当する
ことを特徴とする請求項８に記載のコンピュータプログラム生成物。
【請求項１４】
前記骨格構造を生成する手順は、
次に続く画像を受信し、
次に続くクリティカルポイントを特定し、
前記クリティカルポイントとこの次に続くクリティカルポイントとの比較により次に続く骨格画像を生成することを含む
ことを特徴とする請求項８に記載のコンピュータプログラム生成物。
【請求項１５】
画像中の対象物のポーズを推定するシステムであって、
前記対象物に関する奥行き情報を含む前記画像を受信する入力手段と、
前記入力手段に通信可能に接続され、
前記画像の１つ以上の部分を前記対象物の既知の部位として分類し、
前記奥行き情報から前記画像の未分類部分における水平端の極小値、水平端の極大値、垂直端の極小値、垂直端の極大値を表すクリティカルポイントを特定するクリティカルポイント・モジュールと、
前記クリティカルポイント・モジュールに通信可能に接続され、
前記画像の未分類部分の領域内のクリティカルポイントを結ぶことで関節位置を生成し、この関節位置から前記対象物の骨格構造を生成する骨格生成モジュールと、
前記骨格生成モジュールに通信可能に接続され、
前記骨格構造に基づいて前記対象物のポーズを判定するように構成される推定モジュールとを備える
ことを特徴とする画像中の対象物のポーズを推定するシステム。
【請求項１６】
前記骨格生成モジュールは、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記画像の未分類部分の領域内にとどまる可能な関節位置のセットを決定する
ことを特徴とする請求項１５に記載のシステム。
【請求項１７】
前記骨格生成モジュールは、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記画像の未分類部分の領域の中心に最も近接して延びる可能な関節位置のセットを決定する
ことを特徴とする請求項１５に記載のシステム。
【請求項１８】
前記骨格生成モジュールは、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、既知の人体構造を損なわない可能な関節位置のセットを決定する
ことを特徴とする請求項１５に記載のシステム。
【請求項１９】
前記骨格生成モジュールは、
クリティカルポイントの対を特定し、この対のクリティカルポイントを結んだときに、前記画像間での連続性を損なわない可能な関節位置のセットを決定する
ことを特徴とする請求項１５に記載のシステム。
【請求項２０】
前記クリティカルポイント・モジュールは、前記画像をk-meansクラスタ法により空間区分し、前記極小値と極大値は空間区分内での最小値と最大値に相当する
ことを特徴とする請求項１５に記載のシステム。
【請求項２１】
前記入力手段は次に続く画像を受信し、
前記クリティカルポイント・モジュールは、次に続くクリティカルポイントを特定し、
前記骨格生成モジュールは、前記クリティカルポイントをこの次に続くクリティカルポイントと比較することで次に続く骨格画像を生成する
ことを特徴とする請求項１５に記載のシステム。
【国際調査報告】
2008537815.tif 000020
2008537815.tif 000021