(57)【要約】【課題】デバイスの位置、姿勢を推定するローカリゼーションを正しく効率的に実行する構成を実現する【解決手段】カメラによって取得されるイメージと、参照用イメージとのイメージ・マッチングによる算出スコアに基づいて情報処理装置のポーズ候補の確率分布である候補確率分布データを算出し、算出データの変換処理により情報処理装置のポーズ仮説に対応する確率分布である仮説確率分布データを算出する。さらに、取得イメージに基づいて仮説確率分布データを更新し、より確率値の高い仮説を選択する。本構成により、逐次入力するイメージに基づいて、次第に１つの仮説の確率が高くなる収束が行われ、効率的に正しいローカリゼーションが実行される。【選択図】図２
2008185417.tif 000002
【特許請求の範囲】
【請求項１】
自己位置もしくは自己姿勢の同定処理を実行する情報処理装置であり、
情報処理装置周囲のイメージ（画像）を撮影するカメラと、
前記カメラの取得した取得イメージとのマッチング処理を行なう参照用イメージを格納した記憶部と、
前記カメラの取得したイメージに基づいて情報処理装置の自己位置もしくは自己姿勢の同定処理を実行するデータ処理部を有し、
前記データ処理部は、
前記カメラの取得した取得イメージと前記参照用イメージとのイメージ・マッチング処理により、一致度の高い参照用イメージに対して高スコアを設定するスコア算出を実行して、算出スコアに基づいて情報処理装置のポーズ候補の確率分布である候補確率分布データを算出し、
前記候補確率分布データに基づくデータ変換処理により情報処理装置のポーズ仮説に対応する確率分布である情報処理装置の位置姿勢確率分布データを算出する処理を実行する構成であることを特徴とする情報処理装置。
【請求項２】
前記データ処理部は、
新たに取得するイメージに基づいて、前記仮説確率分布データの更新処理を実行して、最も確率値の高いポーズ仮説を選定し、選定したポーズ仮説を情報処理装置のポーズとして出力する処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記データ処理部は、
複数のポーズ仮説を設定し、前記カメラの取得したイメージに基づく前記仮説確率分布データの更新処理により、より確からしい仮説を選定する多仮説トラッキング（ＭＨＴ：Ｍｕｌｔｉ−ｈｙｐｏｔｈｅｓｉｓ  Ｔｒａｃｋｉｎｇ）処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記データ処理部は、
複数のポーズ仮説［Ｈｉ］の各々について、仮説Ｈｉをサポートするに十分なイメージ［ｚ］に基づくポーズ候補［Ｃｊ］存在する場合は、ポーズ仮説確率分布データにおける前記仮説［Ｈｉ］が真の下で取得イメージ［ｚ］が真であると判定される確率値Ｐ（ｚ｜Ｈｉ）を高くする更新を実行し、
ポーズ仮説［Ｈｉ］をサポートするに十分なイメージ［ｚ］に基づくポーズ候補［Ｃｊ］が存在しない場合は、前記確率値Ｐ（ｚ｜Ｈｉ）を低くする更新処理を実行し、
前記確率値Ｐ（ｚ｜Ｈｉ）と前記仮説［Ｈｉ］の確率値Ｐ（Ｈｉ）に基づいて，取得イメージ［ｚ］が真の下で仮説Ｈｉが真である確率値Ｐ（Ｈｉ｜ｚ）を求め、それを元に前記仮説Ｈｉの確率Ｐ（Ｈｉ）を更新する構成であることを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記データ処理部は、
前記候補確率分布データに基づく仮説確率分布データの算出処理をカルマン・フィルタによる仮説更新処理に従って実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記データ処理部は、
前記候補確率分布データに基づく仮説確率分布データの算出処理をパーティクル・フィルタによる仮説更新処理に従って実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項７】
前記データ処理部は、
前記カメラの取得した取得イメージと前記参照用イメージとのイメージ・マッチングにより対応する特徴点情報を取得し、該対応特徴点情報に基づいてスコア算出を行なう構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記データ処理部は、
ハリスコーナーディテクター（Ｈａｒｒｉｓ  Ｃｏｒｎｅｒ  Ｄｅｔｅｃｔｏｒ）を用いた特徴点抽出処理を実行する構成であることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記データ処理部は、
前記イメージ・マッチング処理により算出するスコアが予め定めたスコア閾値以上の参照用イメージのみを選択して、選択イメージに基づく自己位置もしくは自己姿勢の同定処理を実行する構成であることを特徴とする請求項１記載の情報処理装置。
【請求項１０】
前記データ処理部は、
ポーズ仮説の初期設定を実行し、取得イメージに基づいて生成される新規ポーズ仮説と、設定済みのポーズ仮説との合成処理を実行して、ポーズ仮説の更新を行なう構成であることを特徴とする請求項１記載の情報処理装置。
【請求項１１】
前記データ処理部は、
ポーズ仮説の確率値に対応する閾値を設定し、前記仮説確率分布データに含まれる最高確率のポーズ仮説と前記閾値とを比較し、最高確率のポーズ仮説が前記閾値より上である場合、該最高確率のポーズ仮説を情報処理装置のポーズとして出力する処理を実行する構成であることを特徴とする請求項１記載の情報処理装置。
【請求項１２】
情報処理装置において自己位置もしくは自己姿勢の同定処理を実行する情報処理方法であり、
カメラが、情報処理装置周囲のイメージ（画像）を撮影するイメージ取得ステップと、
データ処理部が、前記カメラの取得したイメージを適用して情報処理装置の自己位置もしくは自己姿勢の同定処理を実行するデータ処理ステップを有し、
前記データ処理ステップは、
前記カメラの取得した取得イメージと、参照用イメージとのイメージ・マッチング処理により、一致度の高い参照用イメージに対して高スコアを設定するスコア算出を実行して、算出スコアに基づいて情報処理装置のポーズ候補の確率分布である候補確率分布データを算出する候補確率分布データ算出処理と、
前記候補確率分布データに基づくデータ変換処理により情報処理装置のポーズ仮説に対応する確率分布である仮説確率分布データを算出する仮説確率分布データ算出処理を実行することを特徴とする情報処理方法。
【請求項１３】
前記データ処理ステップは、さらに、
新たに取得するイメージに基づいて、前記仮説確率分布データの更新処理を実行して、最も確率値の高いポーズ仮説を選定し、選定したポーズ仮説を情報処理装置のポーズとして出力する処理を実行することを特徴とする請求項１２に記載の情報処理方法。
【請求項１４】
前記データ処理ステップは、
複数のポーズ仮説を設定し、前記カメラの取得したイメージに基づく前記仮説確率分布データの更新処理により、より確からしい仮説を選定する多仮説トラッキング（ＭＨＴ：Ｍｕｌｔｉ−ｈｙｐｏｔｈｅｓｉｓ  Ｔｒａｃｋｉｎｇ）処理を実行することを特徴とする請求項１２に記載の情報処理方法。
【請求項１５】
前記データ処理ステップは、
複数のポーズ仮説［Ｈｉ］の各々について、ポーズ仮説Ｈｉをサポートするに十分なイメージ［ｚ］に基づくポーズ候補［Ｃｊ］存在する場合は、仮説確率分布データにおける前記仮説［Ｈｉ］が真の下で取得イメージ［ｚ］が真であると判定される確率値Ｐ（ｚ｜Ｈｉ）を高くする更新を実行し、
ポーズ仮説［Ｈｉ］をサポートするに十分なイメージ［ｚ］に基づくポーズ候補［Ｃｊ］が存在しない場合は、前記確率値Ｐ（ｚ｜Ｈｉ）を低くする更新処理を実行し、
前記確率値Ｐ（ｚ｜Ｈｉ）と前記仮説［Ｈｉ］の確率値Ｐ（Ｈｉ）に基づき「取得イメージ［ｚ］が真の下で、仮説Ｈｉが真である確率値」Ｐ（Ｈｉ｜ｚ）を求め、それを元に前記仮説Ｈｉの確率Ｐ（Ｈｉ）を更新することを特徴とする請求項１４に記載の情報処理方法。
【請求項１６】
前記データ処理ステップは、
前記候補確率分布データに基づく仮説確率分布データの算出処理をカルマン・フィルタによる仮説更新処理に従って実行することを特徴とする請求項１２に記載の情報処理方法。
【請求項１７】
前記データ処理ステップは、
前記候補確率分布データに基づく仮説確率分布データの算出処理をパーティクル・フィルタによる仮説更新処理に従って実行することを特徴とする請求項１２に記載の情報処理方法。
【請求項１８】
前記データ処理ステップは、
前記カメラの取得した取得イメージと前記参照用イメージとのイメージ・マッチングにより対応する特徴点情報を取得し、該対応特徴点情報に基づいてスコア算出を行なうことを特徴とする請求項１２に記載の情報処理方法。
【請求項１９】
前記データ処理ステップは、
ハリスコーナーディテクター（Ｈａｒｒｉｓ  Ｃｏｒｎｅｒ  Ｄｅｔｅｃｔｏｒ）を用いた特徴点抽出処理を実行することを特徴とする請求項１８に記載の情報処理方法。
【請求項２０】
前記データ処理ステップは、
前記イメージ・マッチング処理により算出するスコアが予め定めたスコア閾値以上の参照用イメージのみを選択して、選択イメージに基づく自己位置もしくは自己姿勢の同定処理を実行することを特徴とする請求項１２記載の情報処理方法。
【請求項２１】
前記データ処理ステップは、
ポーズ仮説の初期設定を実行し、取得イメージに基づいて生成される新規ポーズ仮説と、設定済みのポーズ仮説との合成処理を実行して、ポーズ仮説の更新を行なうことを特徴とする請求項１２記載の情報処理方法。
【請求項２２】
前記データ処理ステップは、
ポーズ仮説の確率値に対応する閾値を設定し、前記仮説確率分布データに含まれる最高確率のポーズ仮説と前記閾値を比較し、最高確率のポーズ仮説が閾値以上である場合、該最高確率のポーズ仮説を情報処理装置のポーズとして出力する処理を実行することを特徴とする請求項１２記載の情報処理方法。
【請求項２３】
情報処理装置に自己位置もしくは自己姿勢の同定処理を実行させるコンピュータ・プログラムであり、
カメラに、情報処理装置周囲のイメージ（画像）を撮影させるイメージ取得ステップと、
データ処理部に、前記カメラの取得したイメージを適用して情報処理装置の自己位置もしくは自己姿勢の同定処理を実行させるデータ処理ステップを有し、
前記データ処理ステップは、
前記カメラの取得した取得イメージと、参照用イメージとのイメージ・マッチング処理により、一致度の高い参照用イメージに対して高スコアを設定するスコア算出を実行させて、算出スコアに基づいて情報処理装置のポーズ候補の確率分布である候補確率分布データを算出させる候補確率分布データ算出処理と、
前記候補確率分布データに基づくデータ変換処理により情報処理装置のポーズ仮説に対応する確率分布である仮説確率分布データを算出する仮説確率分布データ算出処理を実行させるステップであることを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに詳細には、例えばロボットなどエージェント(移動体)において移動環境を観測し、観測状況に応じて位置や姿勢の推定処理としての自己位置もしくは自己姿勢の同定処理（ローカリゼーション）を実行する情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００２】
例えば、自律型ロボットのような自律制御デバイスは、周囲の外部状態やデバイス自身の内部状態に応じて自律的に動作を行うデバイスである。例えばカメラなどのセンサによって取得した環境情報に基づいて、デバイスの位置確認や方向確認などに基づくポーズ(位置姿勢)制御を行う。
【０００３】
例えば、自律型ロボットが歩行動作を行なう場合、予め取得された地図データを適用した処理や、外部の障害物等の検出などの環境情報を取得して障害物を回避するような行動経路を計画する手法が行なわれる。逐次取得する環境情報の分析に基づいて経路を決定するロボットは、例えば予め指定された地図データに対して、自らが取得したカメラ撮影画像などのセンサ情報に基づく更新を実行して、自己の位置を確認して最適な経路決定を行なう。
【０００４】
例えばロボットなどの自律制御デバイスにおいて実行される位置や方向などのポーズ(位置姿勢)追跡処理は、（自己）ポーズ（位置姿勢）同定処理あるいはローカリゼーション（Ｌｏｃａｌｉｚａｔｉｏｎ）と呼ばれる。
【０００５】
デバイスの位置や姿勢などの同定を行う代表的な手法の１つとして「ランドマーク（Ｌａｎｄｍａｒｋ）」を利用した手法がある。ランドマークは、例えばロボットの置かれた環境に設定された目印である。ロボットは、例えばカメラなどのセンサによって視覚認識されたランドマークからの相対位置情報を基に自己位置を地理的に探索することができる。
【０００６】
このようなポーズ同定（ローカリゼーション）の方式として、例えば、パーティクル・フィルタ（ｐａｒｔｉｃｌｅ  ｆｉｌｔｅｒ）を適用したモンテカルロ・ローカリゼーション（ＭＣＬ：Ｍｏｎｔｅ  Ｃａｒｌｏ  Ｌｏｃａｌｉｚａｔｉｏｎ）や、存在確率に関連する関数としての正規分布の確率密度関数を適用したトラッキングを実行するＭＨＴ（ｍｕｌｔｉ−ｈｙｐｏｔｈｅｓｅｓ  ｔｒａｃｋｉｎｇ）が知られている。
【０００７】
上記のＭＣＬやＭＨＴは、いずれもポーズ（位置姿勢）同定処理の実行対象であるロボットなどのエージェント（ａｇｅｎｔ）についてのポーズの存在確率分布情報（ｂｅｌｉｅｆ）を用いてベイズフィルタ（Ｂａｙｓｉａｎ  ｆｉｌｔｅｒ）を適用した自己ポーズ（位置姿勢）同定処理（ローカリゼーション）を行なう手法である。なお、エージェント（ａｇｅｎｔ）の位置や方向などのポーズ（位置姿勢）の確認として実行される自己ポーズ（位置姿勢）同定（ローカリゼーション）に併せて、エージェント（ａｇｅｎｔ）周囲の地図（環境地図）の作成（ｍａｐｐｉｎｇ）を行なうことも可能であり、これらの複数の処理を並列に実行する処理はＳＬＡＭ（ｓｉｍｕｌｔａｎｅｏｕｓ  ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  ｍａｐｐｉｎｇ）と呼ばれる。
【０００８】
ローカリゼーションとマッピングを、ランドマークを用いて同時に実行する処理については、例えば特許文献１，２，３などに記載されている。さらに、ポーズ（位置姿勢）推定処理について記載した従来技術としては例えば以下の文献がある。特許文献４は、連続するイメージデータを利用したエージェントの３次元ポーズ推定処理について記載している。特許文献５は、イメージ・マッチング処理によって得られるポーズの状態変数の共分散行列（ｃｏ−ｖａｒｉａｎｃｅ  ｍａｔｒｉｘ）を利用したポーズ推定処理、特許文献６は、スレッショルド・フィルタを適用したポーズ推定処理、特許文献７には、パーティクル・フィルタを適用したポーズ推定処理について記載している。
【０００９】
基本的なローカリゼーションの方法としては、ロボットなどのエージェント（ａｇｅｎｔ）がカメラを用いて定期的に周囲の画像（ｉｍａｇｅ）を撮影してデータベースに蓄積し、新規に取得した画像データと、データベースに蓄積済みの過去の画像データとの比較処理、すなわちイメージ・マッチングを実行して、自己位置やポーズなどを特定する方法がある。
【００１０】
このイメージ・マッチングを用いたローカリゼーションの具体的な処理シーケンス例について、図１のフローチャートを参照して説明する。図１に示すローカリゼーション手法は、上述のＭＨＴを適用した手法である。まず、ステップＳ１１でエージェント（ａｇｅｎｔ）がカメラを用いて新たな画像（ｉｍａｇｅ）を取得する。次に、ステップＳ１２において、Ｓ１１からの取得画像と、既にエージェントで過去に取得しデータベースに格納された画像との比較を実行する。Ｓ１２で利用する画像は、撮像時のエージェントのポーズ（位置姿勢）情報がリンクされている．ステップＳ１３では、1フレーム前に推定されたエージェントのポーズ（位置姿勢）についての推定情報（仮説：ｈｙｐｏｔｈｅｓｅｓ）と、新たに取得した画像に基づくデータベースより推定されるエージェントのポーズ（位置姿勢）についての推定情報とを合成する。
【００１１】
ステップＳ１４において、Ｓ１３で合成された推定情報から１つのユニークなエージェントのポーズが導出されたか否かを判定し、導出された場合は、ステップＳ１５に進み、導出されたエージェントのポーズを最終的なポーズとして出力して処理を終了する。一方、ステップＳ１４において、１つのユニークなエージェントのポーズが導出できない場合は、ステップＳ１６に進み、さらにエージェントを移動させて、ステップＳ１７において、エージェントの移動情報を適用してエージェントのポーズの推定情報を更新し、さらに、ステップＳ１１に戻り、次フレームの画像情報を取得してステップＳ１２以下の処理を繰り返し実行する。このように定期的に取得する画像データに基づくイメージ・マッチングによって、エージェントのポーズ（位置姿勢）が導出されることになる。
【００１２】
イメージ・マッチングを利用したローカリゼーションにおけるイメージ・マッチング処理においては、例えば以下の２つのデータが利用される。
（Ａ）マッチングスコア（Ｍａｔｃｈｉｎｇ  ｓｃｏｒｅ）：例えば比較イメーシにおける類似する特徴点の数であり、スカラー値として取得される。
（Ｂ）変換パラメータ（Ｔｒａｎｓｆｏｒｍａｔｉｏｎ）：データベースに格納された過去のイメージに対して、新規に取得したイメージがどのように配列されるかを示すデータであり、例えばアフィン変換における５つのデータ、
ｔｒａｎｓｌａｔｉｏｎ（２）：２方向（ｘ，ｙ）の平行移動、
ｒｏｔａｔｉｏｎ（１）：回転、
ｓｃａｌｅ（２）：２方向における拡大縮小、
これらのデータが含まれる。
【００１３】
イメージ・マッチングを利用したローカリゼーションにおけるイメージ・マッチング処理においては、これらの（Ａ）マッチングスコア（Ｍａｔｃｈｉｎｇ  ｓｃｏｒｅ），（Ｂ）変換パラメータ（Ｔｒａｎｓｆｏｒｍａｔｉｏｎ）の各データが取得される。
【００１４】
また、ポーズ推定（ｐｏｓｅ  ｈｙｐｏｔｈｅｓｉｓ）処理には、例えば以下の２つの推定情報が利用される。
（Ａ）推定情報の確からしさ（Ｐｒｏｂａｂｉｌｉｔｙ  ｏｆ  ｈｙｐｏｔｈｅｓｉｓ）：推定情報が正しい情報である可能性を示す値、
（Ｂ）エージェント存在確率分布：推定情報が正しい場合に基づいて得られる実際のポーズの確率分布、
【００１５】
このように、イメージ・マッチングを利用したローカリゼーションにおいては、新規取得イメージとデータベースに格納された過去に取得したイメージを用いて上述したマッチングスコアや変換パラメータを算出し、これらの算出データを利用してポーズ推定処理を実行する。
【００１６】
例えば、具体的には図１を参照して説明したフローに従った処理を実行して、ポーズ推定が実行されることになる。図１のフローにおけるステップＳ１４では、イメージ・マッチング処理に基づいて取得されるポーズ推定情報が１つのユニークな状態を取る場合に、エージェントの推定ポーズが正しいと判断し出力が行われるが、イメージ・マッチングが困難な場合、例えば、周囲の景色が類似している領域であるような場合は、ポーズ推定が困難になりローカリゼーションに時間を要することになる。
【００１７】
上述した従来技術におけるポーズ（位置姿勢）同定処理（ローカリゼーション）においては、いずれも、例えばカメラによって撮影される画像データの解析に基づく自己の位置の確認を行なう場合、連続するフレーム画像データに含まれる大量のデータについての解析を行なうことを前提としており、処理時間および処理負荷が大きくなるという問題を有する。
【特許文献１】ＵＳ公開特許２００４／０１６７６８８
【特許文献２】ＵＳ特許７０１５８３１
【特許文献３】ＵＳ公開特許２００６／００１２４９３
【特許文献４】ＵＳ公開特許２００４／０１６８１４８
【特許文献５】ＵＳ公開特許２００４／０１６７６７０
【特許文献６】ＵＳ公開特許２００４／０１６７６６７
【特許文献７】ＵＳ公開特許２００４／０１６７６６９
【発明の開示】
【発明が解決しようとする課題】
【００１８】
本発明は、上述の問題点に鑑みてなされたものであり、例えば、自律走行ロボットなどの自律制御デバイスなどにおいて行なわれるデバイスの位置や姿勢を推定するポーズ（位置姿勢）同定処理（ローカリゼーション）を効率的にかつ高精度に実行することを可能とした情報処理装置、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明の第１の側面は、
ローカリゼーション（同定処理）を実行する情報処理装置であり、
情報処理装置周囲のイメージ（画像）を撮影するカメラと、
前記カメラの取得した取得イメージとのマッチング処理を行なう参照用イメージを格納した記憶部と、
前記カメラの取得したイメージに基づいて情報処理装置のローカリゼーションを実行するデータ処理部を有し、
前記データ処理部は、
前記カメラの取得した取得イメージと前記参照用イメージとのイメージ・マッチング処理により、マッチング度の高い参照用イメージに対して高スコアを設定するスコア算出を実行して、算出スコアに基づいて情報処理装置のポーズ候補の確率分布である候補確率分布データを算出し、
前記候補確率分布データに基づくデータ変換処理により情報処理装置のポーズ仮説に対応する確率分布である仮説確率分布データを算出する処理を実行する構成であることを特徴とする情報処理装置にある。
【００２０】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、新たに取得するイメージに基づいて、前記仮説確率分布データの更新処理を実行して、最も確率値の高いポーズ仮説を選定し、選定したポーズ仮説を情報処理装置のポーズとして出力する処理を実行する構成であることを特徴とする。
【００２１】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、複数のポーズ仮説を設定し、前記カメラの取得したイメージに基づく前記仮説確率分布データの更新処理により、より確からしい仮説を選定する多仮説トラッキング（ＭＨＴ：Ｍｕｌｔｉ−ｈｙｐｏｔｈｅｓｉｓ  Ｔｒａｃｋｉｎｇ）処理を実行する構成であることを特徴とする。
【００２２】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、複数のポーズ仮説［Ｈｉ］の各々について、ポーズ仮説［Ｈｉ］をサポートするに十分なイメージ［ｚ］に基づくポーズ候補［Ｃｊ］存在する場合は、ポーズ仮説確率分布データにおける前記仮説［Ｈｉ］が真の下で取得イメージ［ｚ］が真であると判定される確率値Ｐ（ｚ｜Ｈｉ）を高くする更新を実行し、ポーズ仮説［Ｈｉ］をサポートするに十分なイメージ［ｚ］に基づくポーズ候補［Ｃｊ］が存在しない場合は、前記確率値Ｐ（ｚ｜Ｈｉ）を低くする更新処理を実行し、前記確率値Ｐ（ｚ｜Ｈｉ）と前記仮説［Ｈｉ］の確率値Ｐ（Ｈｉ）に基づき「取得イメージ［ｚ］が真の下で、仮説Ｈｉが真である確率値」Ｐ（Ｈｉ｜ｚ）を求め、それを元に前記仮説Ｈｉの確率Ｐ（Ｈｉ）を更新する構成であることを特徴とする。
【００２３】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記候補確率分布データに基づく仮説確率分布データの算出処理をカルマン・フィルタによる仮説更新処理に従って実行する構成であることを特徴とする。
【００２４】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記候補確率分布データに基づく仮説確率分布データの算出処理をパーティクル・フィルタによる仮説更新処理に従って実行する構成であることを特徴とする。
【００２５】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記カメラの取得した取得イメージと前記参照用イメージとのイメージ・マッチングにより対応する特徴点情報を取得し、該対応特徴点情報に基づいてスコア算出を行なう構成であることを特徴とする。
【００２６】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、ハリスコーナーディテクター（Ｈａｒｒｉｓ  Ｃｏｒｎｅｒ  Ｄｅｔｅｃｔｏｒ）を用いた特徴点抽出処理を実行する構成であることを特徴とする。
【００２７】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記イメージ・マッチング処理により算出するスコアが予め定めたスコア閾値以上の参照用イメージのみを選択して、選択イメージに基づくローカリゼーション処理を実行する構成であることを特徴とする。
【００２８】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、ポーズ仮説の初期設定を実行し、取得イメージに基づいて生成される新規ポーズ仮説と、設定済みのポーズ仮説との合成処理を実行して、ポーズ仮説の更新を行なう構成であることを特徴とする。
【００２９】
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、ポーズ仮説の確率値に対応する閾値を設定し、前記仮説確率分布データに含まれる最高確率のポーズ仮説と前記閾値を比較し、最高確率のポーズ仮説が閾値以上である場合、該最高確率のポーズ仮説を情報処理装置のポーズとして出力する処理を実行する構成であることを特徴とする。
【００３０】
さらに、本発明の第２の側面は、
情報処理装置においてローカリゼーション（ポーズ（位置姿勢）同定処理）をする情報処理方法であり、
カメラが、情報処理装置周囲のイメージ（画像）を撮影するイメージ取得ステップと、
データ処理部が、前記カメラの取得したイメージを適用して情報処理装置のローカリゼーションを実行するデータ処理ステップを有し、
前記データ処理ステップは、
前記カメラの取得した取得イメージと、参照用イメージとのイメージ・マッチング処理により、一致度の高い参照用イメージに対して高スコアを設定するスコア算出を実行して、算出スコアに基づいて情報処理装置のポーズ候補の確率分布である候補確率分布データを算出する候補確率分布データ算出処理と、
前記候補確率分布データに基づくデータ変換処理により情報処理装置のポーズ仮説に対応する確率分布である仮説確率分布データを算出する仮説確率分布データ算出処理を実行することを特徴とする情報処理方法にある。
【００３１】
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、さらに、新たに取得するイメージに基づいて、前記仮説確率分布データの更新処理を実行して、最も確率値の高いポーズ仮説を選定し、選定したポーズ仮説を情報処理装置のポーズとして出力する処理を実行することを特徴とする。
【００３２】
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、複数のポーズ仮説を設定し、前記カメラの取得したイメージに基づく前記仮説確率分布データの更新処理により、より確からしい仮説を選定する多仮説トラッキング（ＭＨＴ：Ｍｕｌｔｉ−ｈｙｐｏｔｈｅｓｉｓ  Ｔｒａｃｋｉｎｇ）処理を実行することを特徴とする。
【００３３】
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、複数のポーズ仮説［Ｈｉ］の各々について、ポーズ仮説［Ｈｉ］をサポートするに十分なイメージ［ｚ］に基づくポーズ候補［Ｃｊ］存在する場合は、仮説確率分布データにおける前記仮説［Ｈｉ］が真の下で取得イメージ［ｚ］が真であると判定される確率値Ｐ（ｚ｜Ｈｉ）を高くする更新を実行し、ポーズ仮説［Ｈｉ］をサポートするに十分なイメージ［ｚ］に基づくポーズ候補［Ｃｊ］が存在しない場合は、前記確率値Ｐ（ｚ｜Ｈｉ）を低くする更新処理を実行し、前記確率値Ｐ（ｚ｜Ｈｉ）と前記仮説［Ｈｉ］の確率値Ｐ（Ｈｉ）に基づき「取得イメージ［ｚ］が真の下で、仮説Ｈｉが真である確率値」Ｐ（Ｈｉ｜ｚ）を求め、それを元に前記仮説Ｈｉの確率Ｐ（Ｈｉ）を更新することを特徴とする。
【００３４】
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、前記候補確率分布データに基づく仮説確率分布データの算出処理をカルマン・フィルタによる仮説更新処理に従って実行することを特徴とする。
【００３５】
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、前記候補確率分布データに基づく仮説確率分布データの算出処理をパーティクル・フィルタによる仮説更新処理に従って実行することを特徴とする。
【００３６】
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、前記カメラの取得した取得イメージと前記参照用イメージとのイメージ・マッチングにより対応する特徴点情報を取得し、該対応特徴点情報に基づいてスコア算出を行なうことを特徴とする。
【００３７】
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、ハリスコーナーディテクター（Ｈａｒｒｉｓ  Ｃｏｒｎｅｒ  Ｄｅｔｅｃｔｏｒ）を用いた特徴点抽出処理を実行することを特徴とする。
【００３８】
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、前記イメージ・マッチング処理により算出するスコアが予め定めたスコア閾値以上の参照用イメージのみを選択して、選択イメージに基づくローカリゼーション処理を実行することを特徴とする。
【００３９】
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、ポーズ仮説の初期設定を実行し、取得イメージに基づいて生成される新規ポーズ仮説と、設定済みのポーズ仮説との合成処理を実行して、ポーズ仮説の更新を行なうことを特徴とする。
【００４０】
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、ポーズ仮説の確率値に対応する閾値を設定し、前記仮説確率分布データに含まれる最高確率のポーズ仮説と前記閾値を比較し、最高確率のポーズ仮説が閾値以上である場合、該最高確率のポーズ仮説を情報処理装置のポーズとして出力する処理を実行することを特徴とする。
【００４１】
さらに、本発明の第３の側面は、
情報処理装置にローカリゼーション（同定処理）を実行させるコンピュータ・プログラムであり、
カメラに、情報処理装置周囲のイメージ（画像）を撮影させるイメージ取得ステップと、
データ処理部に、前記カメラの取得したイメージを適用して情報処理装置のローカリゼーションを実行させるデータ処理ステップを有し、
前記データ処理ステップは、
前記カメラの取得した取得イメージと、参照用イメージとのイメージ・マッチング処理により、一致度の高い参照用イメージに対して高スコアを設定するスコア算出を実行させて、算出スコアに基づいて情報処理装置のポーズ候補の確率分布である候補確率分布データを算出させる候補確率分布データ算出処理と、
前記候補確率分布データに基づくデータ変換処理により情報処理装置のポーズ仮説に対応する確率分布である仮説確率分布データを算出する仮説確率分布データ算出処理を実行させるステップであることを特徴とするコンピュータ・プログラムにある。
【００４２】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータシステムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータシステム上でプログラムに応じた処理が実現される。
【００４３】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００４４】
本発明の一実施例の構成では、カメラによって取得されるイメージと、参照用イメージとのイメージ・マッチング処理により、一致度の高い参照用イメージに対して高スコアを設定するスコア算出を実行し、算出スコアに基づいて情報処理装置のポーズ候補の確率分布である候補確率分布データを算出し、さらに候補確率分布データに基づくデータ変換処理により情報処理装置のポーズ仮説に対応する確率分布である仮説確率分布データを算出し、取得イメージに基づいて仮説確率分布データを更新して、より確率値の高い仮説を選択する構成としたので、例えば同一のイメージが含まれる環境下であっても、逐次入力するイメージに基づいて、次第に１つの仮説の確率が高くなる収束が行われ、効率的に正しいローカリゼーションが実行される。
【発明を実施するための最良の形態】
【００４５】
以下、図面を参照しながら本発明の実施形態に係る情報処理装置、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。
【００４６】
本発明の一実施例に係る情報処理装置において実行するポーズ（位置姿勢）同定処理（ローカリゼーション）のシーケンスについて図２に示すフローチャートを参照して説明する。なお、ローカリゼーションは、先に説明したようにエージェント（情報処理装置）のポーズ（位置姿勢）の算出処理である。なお、図２に示すフローチャートに従った処理は、後述する図４に示す情報処理装置のデータ処理部１０２において実行される処理である。
【００４７】
図２に示すように、本発明の実施例の情報処理装置において実行するポーズ（位置姿勢）同定処理（ローカリゼーション）は以下のステップによって行われる。
ステップＳ１０１：画像情報取得処理、
ステップＳ１０２：取得画像からの特徴点抽出処理、
ステップＳ１０３：データベースに蓄積済みの画像情報との比較処理を実行し、
＊スコア（Ｓｃｏｒｅ）
＊変換パラメータ（Ｔｒａｎｓｆｏｒｍａｔｉｏｎ）
を算出する。
ステップＳ１０４：スコアに基づいて、ポーズ推定情報（ｈｙｐｏｔｈｅｓｉｓ）の確率（ｐｒｏｂａｂｉｌｉｔｙ）としてのポーズ候補確率分布データを算出する。
ステップＳ１０５：変換パラメータに基づいて、ポーズ（位置姿勢）の各変数に対する共分散行列（ｃｏ−ｖａｒｉａｎｃｅ）を算出し、存在確率分布としての仮説確率分布データを算出する。
【００４８】
これらの処理の詳細について、以下説明する。ポーズ（位置姿勢）同定処理（ローカリゼーション）の実行対象となるのは例えば自立走行ロボットなどのエージェント（ａｇｅｎｔ）である。なお、エージェントは、ロボットに限らず、例えば携帯型の情報処理装置、例えば人や車などの移動オブジェクトが持つカメラを備えた端末などの装置であってもよい。
【００４９】
具体的には、例えば図３に示すような壁などの障害物５１を避けながら自立走行する情報処理装置搭載のエージェント（例えばロボット）１０１であり、カメラ１０２を備えて、カメラ１０２によって定期的に周囲の画像イメージを撮影して撮影イメージに基づいて、図２に示すフローに従ったローカリゼーションを実行する。
【００５０】
情報処理装置１０１は、図４に示すように、カメラ１０１の他、予め定めたプログラムに従ったデータ処理を実行するデータ処理部１０２と、記憶部１０３を有する。データ処理部１０１は、プロセッサ（ＣＰＵ）を有し、図２に示すフローに従った処理を実行する。データ処理プログラムは記憶部１０３に格納されている。また、記憶部１０３はカメラ１０１によって定期的に撮影される画像（イメージ）データを保存するデータベースとしても利用される。データ処理部１０２は、カメラ１０１によって撮影されたイメージと、記憶部１０３に格納されたイメージとの比較処理などを実行してローカリゼーションを行なう。記憶部１０３には予め撮影済みの環境情報とてしてのイメージデータが格納され、イメージ・マッチングに際しては、新たに取得したイメージと、記憶部（データベース）に格納されたイメージデータとの比較が実行される。
【００５１】
なお、記憶部１０３については、情報処理装置１０１内部に設定せず外部に設定する構成としてもよい。すなわち、情報処理装置１０１に通信部を構成し、通信部からネットワークを介してアクセス可能な他の装置に記憶部を設定する構成とし、必要に応じて通信部を介して外部の記憶部へのアクセスを行う構成としてもよい。また、データ処理部についても通信部を介してアクセス可能な外部装置に構成し、データ処理に必要な情報をデータ処理部を有する外部装置に送信し、データ処理結果データ、例えば図２に示すフローに従ったローカリゼーションの結果データを外部装置から受信するといった構成としてもよい。
【００５２】
なお、以下の実施例の説明では、図４に示す構成を持つ情報処理装置における処理として説明する。図２に示すフローにおけるステップＳ１０１の画像情報取得処理は、情報処理装置に備えたカメラ１０１によって情報処理装置の周囲の環境イメージを取得する処理である。取得されたイメージは記憶部１０２に格納される。
【００５３】
データ処理部１０２は、ステップＳ１０２において、取得画像からの特徴点抽出処理を実行し、ステップＳ１０３において、データベースに蓄積済みの画像情報との比較処理によるイメージ・マッチングを実行して、スコア（Ｓｃｏｒｅ）と変換パラメータ（Ｔｒａｎｓｆｏｒｍａｔｉｏｎ）を算出する。
【００５４】
この処理の詳細について、以下説明する。特徴点抽出処理からイメージ・マッチング処理における変換パラメータ算出に至る処理シーケンスは例えば以下の通りである。
１．取得イメージから特徴点を検出
２．各特徴点を含む周囲情報から特徴量（特徴点デスクリプタ）を抽出
３．取得イメージと蓄積済みイメージ間の特徴量（特徴デスクリプタ）を比較
４．イメージ間の特徴量（特徴デスクリプタ）比較結果に基づき、イメージ間においてマッチした特徴点の組を取得
５．マッチした特徴点の組の数が予め定めた閾値より少ない場合はマッチング失敗と判断
６．マッチした特徴点の組に対して幾何フィルタ（ｇｅｏｍｅｔｒｉｃ  ｆｉｌｔｅｒ）を適用し，イメージ間の変換パラメータ（ｔｒａｎｓｆｏｒｍａｔｉｏｎ）算出
【００５５】
特徴点抽出処理の一例として、ハリスコーナーディテクター（Ｈａｒｒｉｓ  Ｃｏｒｎｅｒ  Ｄｅｔｅｃｔｏｒ）を用いた処理例について図５を参照して説明する。情報処理装置のデータ処理部は、特徴点抽出に際して図５に示すようにカメラによって撮影された取得イメージ２００から複数のハリスコーナーイメージ２１０〜２１２と、ラプラシアンイメージ２２０〜２２２を生成する。
【００５６】
ハリスコーナーイメージは、取得イメージに対してハリスコーナーディテクター（Ｈａｒｒｉｓ  Ｃｏｒｎｅｒ  Ｄｅｔｅｃｔｏｒ）を適用して生成されるイメージデータである。これらのハリスコーナーイメージ２１０〜２１２から、例えば周囲８画素に比較して値の高い画素ポイント（ｍａｘｉｍａ  ｐｏｉｎｔ）を検出点とする。さらに、取得イメージ２００に対して、ＬｏＧ（Ｌａｐｌａｃｉａｎ  ｏｆ  Ｇａｕｓｓｉａｎ）フィルタを適用して複数レベル（解像度）のラプラシアンイメージ２２０〜２２２を生成する。ＬｏＧ（Ｌａｐｌａｃｉａｎ  ｏｆ  Ｇａｕｓｓｉａｎ）フィルタは、画像の輪郭強調のために用いられる２次微分フィルタの一種であり、人間の視覚系で網膜からの情報が外側膝状体で中継されるまでに行われている処理の近似モデルとして用いられるものである。
【００５７】
特徴点抽出処理は、ＬｏＧフィルタ出力画像であるラプラシアンイメージ２２０〜２２２の所定のレベル範囲内の解像度変化によって位置の変化がないかハリスコーナーイメージ２１０〜２１２から得られた検出点の位置に対応する箇所に対して調べ、変化がない点を特徴点とする。これにより、画像の拡大縮小操作に対してロバストな特徴点間のマッチングが実現できる。なお、これらの特徴点抽出処理の詳細については、例えば、特開２００４−３２６６９３号公報（特願２００３−１２４２２５）に記載されており、本発明における特徴点抽出処理としてこの手法の適用が可能である。
【００５８】
この特徴点の検出の後、特徴点毎の特徴量（特徴デスクリプタ）を抽出し、取得イメージと蓄積済みイメージ間の特徴量（特徴デスクリプタ）を比較し、イメージ間においてマッチした特徴点の組を取得する。さらに、新規に取得した画像と、蓄積済みイメージとの整合性を整えるため、取得イメージに対して幾何フィルタ（ｇｅｏｍｅｔｒｉｃ  ｆｉｌｔｅｒ）を適用したイメージ変換を実行する。
【００５９】
幾何フィルタ（ｇｅｏｍｅｔｒｉｃ  ｆｉｌｔｅｒ）を適用したイメージ変換は、新規に取得した画像と、蓄積済みイメージとの整合性を整える処理であり、２つのイメージの位置合わせ、回転、拡縮率の調整等を行なうための処理である。例えばアフィン変換に適用される５つのパラメータを用いた変換処理として実行される。すなわち、例えばアフィン変換における５つのパラメータ、
ローテーション（Ｒｏｔａｔｉｏｎ）：α、
スケールファクタ（Ｓｃａｌｅ  ｆａｃｔｏｒｓ）：ｓｕ，ｓｖ、
トランスレーション（ｔｒａｎｓｌａｔｉｏｎ）：ｔｕ，ｔｖ、
これらのパラメータである。
ローテーション（α）は回転、スケールファクタ（ｓｕ，ｓｖ）は直交するｕ方向とｖ方向それぞれの拡縮率であり、トランスレーション（ｔｕ，ｔｖ）は、ｕ方向、ｖ方向それぞれの平行移動を示す。ｕ，ｖは、例えばカメラによって撮影される画像の横（水平）方向を（ｕ）、縦（垂直）方向を（ｖ）とする。
【００６０】
これらのパラメータを用いたイメージ変換は、
変換前のイメージ＝Ｉ１、
変換後のイメージ＝Ｉ２、
変換前のイメージＩ１の画像中心座標＝（ｃｕ，ｃｖ）
として、以下の式によって示される。
【数１】
2008185417.tif 000003
【００６１】
なお、例えば、情報処理装置に備えたカメラが軸周りに回転しない構成とした場合は、ローテーション（α）については考慮する必要がなく、
α＝０
とすることが可能であり、また、撮影画像についてｘ方向およびｙ方向におけるスケールファクタが均一なものであると仮定できる場合は、
ｓｕ＝ｓｖ＝ｓ
と設定することが可能となり、上記のイメージ変換式は、以下のように簡略化することが可能となる。
【数２】
2008185417.tif 000004
【００６２】
なお、スケールファクタ（ｓ）は、カメラを備えて移動する情報処理装置の前方または後方に対する移動距離に応じた値として設定される。
また、カメラによって撮影される画像の横（水平）方向を（ｕ）、縦（垂直）方向を（ｖ）とした場合、縦方向の平行移動であるトランスレーション（ｔｖ）は、縦方向の仰角（ピッチ）や、垂直方向の移動を表す。従ってピッチや垂直移動がない場合は、
ｔｖ＝０
とすることができる。
また、同一高さにおいて撮影方向の回転を可能としたカメラを用いた場合であってもピッチは固定値と仮定することが可能であり、撮影高さが変更可能なカメラを利用した場合でもトランスレーション（ｔｖ）の変化については無視してもよい。
また、横方向の平行移動であるトランスレーション（ｔｕ）は、カメラの向き（ヨー角）の変更に対応する値であり、カメラの進行方向に対して直行する方向の動きに対応する。
【００６３】
取得イメージと蓄積済みイメージ間の特徴量（特徴デスクリプタ）を比較して、イメージ間においてマッチした特徴点の組を対応付けて、さらに新規取得イメージと、蓄積済みイメージとの整合性を整えるため、上述した各パラメータを適用したイメージ変換を実行する。
【００６４】
イメージ変換に適用するパラメータの決定に際しては、ハフ変換（Ｈｏｕｇｈ  ｔｒａｎｓｆｏｒｍａｔｉｏｎ）の適用が可能である。例えば、各イメージ（Ｉ１，Ｉ２）の特徴点ペア群について、スケール（ｓ）―トランスレーション（ｔｕ，ｔｖ）ヒストグラムを生成する。各イメージの組は、ハフ空間（Ｈｏｕｇｈ  ｓｐａｃｅ）において、１次元カーブによって対応付けられる。例えば、
スケール（ｓ）：０．５〜２（２１候補）
トランスレーション（ｔｕ）：−ｗｉｄｔｈ／２〜＋ｗｉｄｔｈ／２（２０候補）
トランスレーション（ｔｖ）：−ｈｅｉｇｈｔ／２〜＋ｈｅｉｇｈｔ／２（２０候補）
として、
計２１×２０×２０＝８４００セル
これらの８４００セルに対応する候補を設定し、最小２乗法を適用して最もエラーの少ないヒストグラムのピークを選択する処理によって最適パラメータを決定することができる。
【００６５】
２つのイメージＩ１、Ｉ２における特徴点情報（特徴デスクリプタ）の組のそれぞれによって、上記パラメータ、すなわち、
拡縮スケール（ｓ）：前後の移動、
トランスレーション（ｔｕ）：横方向の回転または移動、
トランスレーション（ｔｖ）：垂直方向の回転または移動、
さらに、マッチした特徴点数またはピーク数、
これらのデータが得られる。
【００６６】
これらのパラメータデータから直接的にカメラを備えた情報処理装置のポーズ（位置姿勢）を決定することはできないが、ポーズの推定を行なうことが可能となる。すなわち、
拡縮スケール（ｓ）：前後の移動、
トランスレーション（ｔｕ）：横方向の回転または移動、
トランスレーション（ｔｖ）：垂直方向の回転または移動、
これらのとり得る範囲を決定するために推定のエラー確率を求める。例えば、
拡縮スケール（ｓ）のエラー確率値：ｅｓ、
水平方向の移動（ｔｕ）のエラーの値：ｅｕ、
垂直方向の移動（ｔｖ）のエラーの値：ｅｖ、
とした場合、それぞれのエラーの値は、下記のように示すことができる。
ｅｓ＝ｓ−１（ｓ≧１の場合）
ｅｓ＝ｓ−１−１（ｓ＜１の場合）
ｅｕ＝｜ｔｕ｜
ｅｖ＝｜ｔｖ｜
【００６７】
情報処理装置のポーズ（位置、姿勢）に対応するガウス分布の共分散行列の対角行列を、
Σｚ＝ｄｉａｇ（σｘ２，σｙ２，σθ２）
とし、上記のエラー分布を情報処理装置の記憶部に保持するマップ上に展開した場合、水平方向の位置の共分散（σｘ２）、垂直方向の位置の共分散（σｙ２）、回転方向の共分散（σθ２）は以下のように定義される。
σｘ２＝α１＋α２ｅｖ＋α３ｅｓ、
σｙ２＝α１＋α２ｅｖ＋α４ｅｕ、
σθ２＝α５＋α６ｅｖ＋α７ｅｓ、
なお、パラメータα１〜α７は、予め定義される。
【００６８】
このようなエラー確率値に基づいて、カメラを備えたロボットなどの情報処理装置のポーズについて複数仮説を設定することができる。本発明のローカリゼーションでは、この複数仮説を適用して最終的な１つのポーズを決定する処理を行う。この処理は、図２に示すステップＳ１０４、およびステップＳ１０５の処理である。このステップＳ１０４、Ｓ１０５の具体的な処理例について、図６、図７以下を参照して説明する。
【００６９】
図６、図７は、カメラを備えたロボット（情報処理装置）２５１が移動する場合の多仮説ローカリゼーション（Ｍｕｌｔｉ−ｈｙｐｏｔｈｅｓｉｓ  Ｔｒａｃｋｉｎｇ／Ｌｏｃａｌｉｚａｔｉｏｎ）の概要について説明する図である。例えば、図６のステップ１において、ロボット２５１は、壁に沿って走行し、壁に設定された１つのドアの近傍のイメージを撮影する。ドア近傍のイメージに基づいて、上述したイメージ・マッチングに基づいて算出されるスコアに従って、まず、ロボットのポーズ（位置姿勢）の候補（Ｃａｎｄｉｄａｔｅ）、すなわちポーズ候補［Ｃｊ］を設定することができる。
【００７０】
イメージ・マッチングに利用するイメージデータは、予め取得済みの周囲環境のイメージデータであり、ロボット２５１が新規に取得したイメージ（ｚ１）とのイメージ・マッチングが行われる。図６に示すステップ１において、ロボット２５１は、ドア近傍のイメージを取得することになる。しかし、同じようなドアは壁の複数箇所に設置されているので、ロボットの位置のイメージ（ｚ１）に基づくポーズ候補Ｃｊが真である候補確率分布データは、図６のグラフ［ｓ１−ａ］のデータとなる。グラフ［ｓ１−ａ］の横軸は、ロボットの状態（ｓｔａｔｅ）でありこの例ではロボットの位置を示している。縦軸は、その位置にいると取得イメージに基づいて算出されるスコアに相当する各ポーズ候補の確からしさを示す確率である。このポーズ候補確率分布データに基づいて、図６のグラフ［ｓ１−ｂ］のロボットのポーズの仮説（Ｈｙｐｏｔｈｅｓｉｓ）の確率分布を示す仮説確率分布データが得られる。この仮説確率分布データは、イメージデータの比較に基づくポーズ候補Ｃｊが真である確率分布を示す候補確率分布データを元にして上記のガウス分布に従った存在確率算出により得られる。
【００７１】
さらに、ステップ２において、ロボット２５１が移動して、次のイメージ取得ポイントでカメラにより取得されたイメージに基づいてポーズ推定を実行する。ステップ２において、ロボット２５１は、ドア近傍の撮影画像を取得する。［ｓ２−ａ］のグラフはロボット２５１の移動情報に基づいて、［ｓ１−ｂ］の仮説確率分布データを更新した結果である。
【００７２】
ステップ２においてロボット２５１が撮影したイメージ（ｚ２）に基づくポーズ候補Ｃｊが真である候補確率分布データ［ｓ２−ｂ］が得られる。この［ｓ２−ｂ］のポーズ候補確率分布データは、［ｓ１−ａ］のデータと同じである。すなわち、ステップ１でもステップ２でもロボットは異なる位置においてほぼ同様のドア近傍のイメージを取得しており、イメージデータのマッチング処理のみから得られる確率分布としては、ロボット２５１がドア近傍にいることしか把握できず、［ｓ２−ｂ］のデータは、［ｓ１−ａ］のデータと同じとなる。
【００７３】
しかし、ステップ２では、先のステップ１で求めた［ｓ１−ｂ］の仮説確率分布データとロボット２５１の移動情報に基づいて更新した［ｓ２−ａ］の仮説確率分布データと、［ｓ２−ｂ］のイメージ・マッチング処理に基づいて算出されるスコアに基づくポーズ候補確率分布データとを適用して、新たな仮説（Ｈｙｐｏｔｈｅｓｉｓ）の存在確率分布データ［ｓ２−ｃ］を得ることができる。この新たな仮説確率分布データ［ｓ２−ｃ］では、［ｓ１−ｂ］の仮説確率分布データと、［ｓ２−ｂ］の候補確率分布データの双方にピークを持つ部分に、より高いピークが設定され、この部分にロボットが位置する存在確率が高いと判断される。
【００７４】
図７は、ロボットがさらに移動したステップ３の処理について説明している。ステップ３では、ステップ２で得られたデータを適用して、上述したステップ１からステップ２への以降処理と同様の処理を繰り返し実行する。図７に示すグラフ［ｓ３−ａ］は、ステップ２で算出した、仮説確率分布データ［ｓ２−ｃ］をロボットの移動情報に基づいて更新したデータである。このデータと、さらにステップ３において取得したイメージに基づいて得られる新たな候補確率分布データとを適用して、新たな仮説確率分布データを取得する。このような処理を繰り返し実行することで、仮説確率分布データのピークは収束し、より正しいと判断される１つの仮説のみに強いピークが設定され、ロボット２５１のポーズ推定が実行される。
【００７５】
上述した処理は、複数仮説を設定した上で、より確からしい仮説を選定していくプロセスを持つものであり、多仮説トラッキング（ＭＨＴ：Ｍｕｌｔｉ−ｈｙｐｏｔｈｅｓｉｓ  Ｔｒａｃｋｉｎｇ）と呼ぶ。この多仮説トラッキング（ＭＨＴ）を適用したローカリゼーションの詳細処理について説明する。
ロボットなどのローカリゼーションの対象となる装置についてのポーズの複数の仮説を、
Ｈｉ
とする。
ただし、ｉ＝１・・・Ｎである。
【００７６】
各仮説Ｈｉについては、カルマン・フィルタ（Ｋａｌｍａｎ  Ｆｉｌｔｅｒ）を適用したトラッキング処理が実行される。いずれかの仮説も正しい仮説である（真である）可能性を有する。各仮説Ｈｉは、以下のパラメータを持つ。
【数３】
2008185417.tif 000005
【００７７】
Ｐ（Ｈｉ）は、仮説Ｈｉが正しい確率値、
ｘｉバーは、ロボットのポーズ（位置姿勢）の正規分布の平均値（仮説毎に独立）、
Σｉは、ロボットのポーズ（位置姿勢）の正規分布の共分散行列（仮説毎に独立）、
である。
【００７８】
各仮説をまとめたロボット位置の存在確率分布は、以下のように示される。
【数４】
2008185417.tif 000006
【００７９】
上記式において
Ｎ（）は、正規分布関数（Ｎｏｒｍａｌ  Ｄｉｓｔｒｉｂｕｔｉｏｎ  Ｆｕｎｃｔｉｏｎ）である。
Ｐ（Ｈ０）は、仮説Ｐ（Ｈｉ）のいずれにも該当しない確率である。
Ｐ（Ｈ０）Ｐｕｎｉｆｏｒｍ（ｘ）は、ロボットがすべての位置（ｘ）にいる確率が均一である場合の存在確率分布の総計値ｐ（ｘ）の値を示している。
【００８０】
まず、初期状態において、
仮説数：Ｎ＝０、
全ての仮説が正解でない確率：Ｐ（Ｈ０）＝１
と設定する。
【００８１】
仮説数が０である場合は、
全ての仮説が正解でない確率：Ｐ（Ｈ０）＝１
であることは明らかであるが、Ｎ≧１である場合の、
全ての仮説が正解でない確率：Ｐ（Ｈ０）は以下のようにして算出される。
【数５】
2008185417.tif 000007
【００８２】
上記式において、
ｐ（ｚｔ＝ｏｕｔｌｉｅｒ）は、時刻ｔにおいて得られた観察データ、すなわちロボットの撮影データ（イメージ）：ｚｔがどの仮説にも対応しない確率を示し、
ｐ（ｚ＝ｏｕｔｌｉｅｒ｜Ｈｉ）Ｐ（Ｈｉ）は、ｉ番目の仮説Ｈｉが、取得イメージに対応しない確率［ｐ（ｚｔ＝ｏｕｔｌｉｅｒ｜Ｈｉ）］と、ｉ番目の仮説Ｈｉの確率分布データにおける確率値の乗算値である。
ｐ（ｚ＝ｏｕｔｌｉｅｒ｜Ｈｉ）の値は、
取得イメージｚｔが仮説Ｈｉに対応する（ｓｕｐｐｏｒｔ）データである場合は低く設定（ｐｌｏｗ）され、仮説Ｈｉに対応しないデータである場合は高く設定（ｐｈｉｇｈ）される。
いずれかの仮説Ｈｉ（ｉ≧１）が取得イメージに対応している場合、
ｐ（ｚ＝ｏｕｔｌｉｅｒ｜Ｈ０）＝１
となる。
【００８３】
撮影イメージに基づいて設定される複数の仮説Ｈｉが真である確率Ｐ（Ｈｉ）の更新処理について説明する。例えば、図６に示すステップ１の例では、撮影イメージに基づいて３つのポーズ（位置、姿勢）に対応する候補（Ｃａｎｄｉｄａｔｅ）が設定されることになる。多くの場合、このようにロボットの撮影する１つのイメージｚによって複数のロボットのポーズ（位置、姿勢）に対応する候補（Ｃａｎｄｉｄａｔｅ）が設定される。
【００８４】
取得イメージｚに基づいて設定されるロボットのポーズ（位置、姿勢）候補（Ｃａｎｄｉｄａｔｅ）を、
Ｃｊ、
とする。
【００８５】
ポーズ候補Ｃｊも、仮説Ｈｉと同様、以下のパラメータを持つ。
【数６】
2008185417.tif 000008
【００８６】
Ｐ（Ｃｉ）は、ポーズ候補Ｃｉが真である確率であり、イメージ・マッチング処理によって算出されるスコアに対応する。
ｃｉバーは、ロボットのポーズ（位置姿勢）の正規分布の平均値（候補毎に独立）、
Ｒｉは、ロボットのポーズ（位置姿勢）の正規分布の共分散行列（候補毎に独立）、
である。
【００８７】
各仮説Ｈｉの更新処理に際しては、取得イメージｚに基づいて設定されるポーズ候補Ｃｊから最も仮説Ｈｉをサポートするポーズ候補Ｃｊを選択する。例えば、以下の式に基づいて仮説Ｈｉをサポートするポーズ候補Ｃｊを選択する。
【数７】
2008185417.tif 000009
【００８８】
上記式において、
ａｒｇｍａｘＰ（Ｃｊ｜Ｈｉ）は、仮説Ｈｉを最もサポートするポーズ候補Ｃｊを選択出力する関数である。
【００８９】
さらに、仮説Ｈｉが、取得イメージ［ｚ］に基づいて真であると判定される確率値Ｐ（ｚ｜Ｈｉ）を以下の式に従って実行する。
【数８】
2008185417.tif 000010
【００９０】
但し、上記数式中に含まれる下式
【数９】
2008185417.tif 000011
上記式は、仮説Ｈｉと候補Ｃｊとのマハラノビス距離、
ｄｇａｔｅは、仮説Ｈｉと候補Ｃｊとが同等か相違かを判断するための、予め定めた閾値である。
【００９１】
上記式によって得られた結果に基づいて、仮説Ｈｉが真であると判断される確率Ｐ（Ｈｉ）を、
【数１０】
2008185417.tif 000012
とする更新処理を実行する。但し、ηは正規化因子で以下の条件を満足させた設定の元で処理を行なう。
【数１１】
2008185417.tif 000013
以上の説明、すなわち［００８９］〜［００９１］の項目における説明はカルマン・フィルタを適用した仮説の更新処理である。
【００９２】
要するに、上述した仮説［Ｈｉ］の更新処理は、
仮説Ｈｉをサポートするに十分なイメージｚに基づくポーズ候補Ｃｊが存在する場合は、仮説Ｈｉが真の下で、取得イメージ［ｚ］が真であると判定される確率値Ｐ（ｚ｜Ｈｉ）を高くする更新を実行し、
仮説Ｈｉをサポートするに十分なイメージｚに基づくポーズ候補Ｃｊが存在しない場合は、確率値Ｐ（ｚ｜Ｈｉ）を低くする更新を実行し、Ｐ（ｚ｜Ｈｉ）とＰ（Ｈｉ）に基づき「取得イメージ［ｚ］が真の下で、仮説Ｈｉが真である確率値」Ｐ（Ｈｉ｜ｚ）を求め、それを元に前記仮説Ｈｉの確率Ｐ（Ｈｉ）を更新する処理である。
【００９３】
具体例について図８を参照して説明する。図８（ａ）は、あるステップにおいて得られるロボット位置の存在確率分布データであり、（ｂ）は、取得イメージ（ｚ）に基づくイメージ・マッチングの結果として得られるポーズ候補が真である確率分布データである。
【００９４】
図８（ａ）に示す存在確率分布データには３つのピークが示され、これらが、仮説Ｈ１、Ｈ２、Ｈ３に相当する。一方、図８（ｂ）に示す取得イメージ（ｚ）に基づくポーズ候補の確率分布データにも３つのピークが示され、これらポーズ候補Ｃ１、Ｃ２、Ｃ３に相当する。仮説Ｈ１には、この仮説をサポートするポーズ候補Ｃ２が存在する。ポーズ候補がサポートするかの判断は前述の数式（数式ａ）を利用する。仮説Ｈ２とポーズ候補Ｃ２とのピーク位置が近接し、ポーズ候補Ｃ２は仮説Ｈ１をサポートするポーズ候補となり、仮説Ｈ１が真の下で、取得イメージ［ｚ］が真であると判定される確率値Ｐ（ｚ｜Ｈ１）の値を高くする更新が実行され、前述の（数式ｂ）の更新処理が行われる。一方、その他の仮説Ｈ１、Ｈ３をサポートするポーズ候補はなく、仮説Ｈ２、Ｈ３が真の下で、取得イメージ［ｚ］が真であると判定される確率値Ｐ（ｚ｜Ｈ２）、およびＰ（ｚ｜Ｈ３）の値を低くする更新が実行され、前述の（数式ｂ）の更新処理が行われる。この処理を実行することで、複数の仮説Ｈｉの確率値の差分が大きくなり、やがて１つの仮説のみに収束することになる。
【００９５】
なお、いずれの仮説Ｈｉもがいずれのポーズ候補からサポートされない場合もあり得る。このような場合は、すべての仮説の初期化処理を以下のように実行する。
【数１２】
2008185417.tif 000014
【００９６】
また、複数の仮説Ｈｉが極めて近い場合、例えば、仮説Ｈ１と仮説Ｈ２の示すロボット位置が極めて近接した位置であるような場合は、これらの複数の仮説を１つの仮説にマージする処理を実行してもよい。マージを実行する具体的な判定は、例えば閾値［ｄｍｅｒｇｅ］を予め設定して、以下の条件式によって判定する。
【数１３】
2008185417.tif 000015
【００９７】
上記式を満足する仮説Ｈｉ、Ｈｊが検出された場合には、
各仮説に対応する確率Ｐ（Ｈｉ）、Ｐ（Ｈｊ）を加算し、ロボットのポーズの平均・共分散行列は共分散行列の行列式が小さいほうを用いて新たな仮設の確率とする。
【００９８】
また、予め定めた閾値（Ｐｍｉｎ）より低い確率を持つ仮説については、削除する処理を行ってもよい。例えば、以下の処理によって、仮説を削除する。
【数１４】
2008185417.tif 000016
【００９９】
上述したように、本発明のローカリゼーションにおいては、
（１）情報処理装置（ロボットなど）の取得したイメージ［ｚ］に基づくイメージ・マッチングを実行してスコア算出を実行し、
（２）算出したスコアに基づいて、ポーズ候補の確率分布を算出して候補確率分布データ（例えば図６（ｓ１−ａ））を算出し、
（３）さらに、候補確率分布データの変換処理により仮説確率分布データ（例えば図６（ｓ２−ａ））を算出し、
（４）さらに、新たに取得したイメージに基づいて得られる候補確率分布データ（例えば図６（ｓ２−ｂ））と、仮説確率分布データ（例えば図６（ｓ２−ａ））とに基づいて、仮説確率分布データの更新（例えば先に説明したカルマン・フィルタを適用した仮説の更新処理）を実行して、より正しい仮説を選択する、
これらの処理によって、ポーズ推定を実行するものである。
【０１００】
この処理は、図２のフローに従った処理であり、図２に示すフローは、新たなイメージ取得毎に繰り返し実行する。この繰り返し処理により、仮説確率分布データに示されるピークとしての仮説［Ｈｊ］が収束し、より確からしい１つのポーズが決定されることになる。
【０１０１】
なお、図２に示すフローは、本発明のローカリゼーションを実行する１つの実施例であり、図２と異なる処理シーケンスとすることも可能である。以下、図９〜図１１を参照して、本発明の複数のローカリゼーション処理シーケンス例について説明する。
【０１０２】
まず、図９に示すローカリゼーション処理フローについて説明する。図９に示すフローチャートに従った処理は、図４に示す情報処理装置のデータ処理部１０２において実行される処理である。
【０１０３】
図９に示すフローチャートのステップＳ２０１とステップＳ２０２の処理は、図２に示すフローチャートのステップＳ１０１、Ｓ１０２の処理と同様の処理であり、情報処理装置（ロボットなど）のカメラによりイメージを取得し、特徴点を抽出する処理である。図９に示すフローでは、次にステップＳ２０３において、イメージ・マッチングによって得られるスコアの閾値であるスコア閾値を設定し、ステップＳ２０４において、スコア・マッチングによって得られたスコアがスコア閾値以上のデータ、すなわち、取得したイメージとマッチ率の高いデータベースに格納されたイメージデータのみを選択して取得する。
【０１０４】
その後の、ステップＳ２０５では、スコアがスコア閾値以上であったデータベース格納イメージに基づいて変換パラメータ（Ｔｒａｎｓｆｏｒｍａｔｉｏｎ）を算出する。ステップＳ２０６〜Ｓ２０７の処理は、図２に示すフローのステップＳ１０４〜Ｓ１０５の処理と同様の処理となる。本処理理例では、予めスコア閾値を設定して、スコア閾値以上のスコアの得られたイメージのみを対象とした処理を実行するので、処理効率が高まり、迅速な処理が可能となる。
【０１０５】
次に、図１０に示すローカリゼーション処理フローについて説明する。図１０に示すフローチャートに従った処理は、図４に示す情報処理装置のデータ処理部１０２において実行される処理である。
【０１０６】
図１０に示すフローチャートにおけるステップＳ３０１は、ポーズ仮説（Ｈｙｐｏｔｈｅｓｉｓ）の初期設定処理である。初期的には全く情報がないので、例えばロボットの位置推定を行なう場合、すべての位置における存在確率が同一値となるフラットなポーズ仮説が設定される。
【０１０７】
その後のステップＳ３０２〜Ｓ３０８の処理は、図９に示すフローのステップＳ２０１〜Ｓ２０７の処理と同様の処理となる。
【０１０８】
ステップＳ３０９では、設定済みのポーズ仮説と、ステップＳ３０８において取得した新たなポーズ仮説との合成処理を実行する。初期的にはステップＳ３０１において設定したフラットな初期設定のホーズ仮説と、最初の取得イメージに基づいて得られたポーズ仮説との合成処理が実行される。
【０１０９】
次に、ステップＳ３１０において、エージェント（ロボットなどのカメラを備えた情報処理装置）の移動処理が実行され、ステップＳ３１１において移動情報に基づくポーズ仮説の更新を実行し、ステップＳ３０２に戻り新たなイメージ取得以下の処理を繰り返し実行する。
【０１１０】
本処理例では、以前に取得されたポーズ仮説と新たなイメージによって生成されたポーズ仮説を合成してポーズ仮説を更新していくので、事前に取得された情報との連携性が維持され、取得された１つのイメージデータに基づくポーズ推定が困難な状況においても、誤りの発生を防止したポーズ推定が実現される。
【０１１１】
次に、図１１に示すローカリゼーション処理フローについて説明する。図１１に示すフローチャートに従った処理は、図４に示す情報処理装置のデータ処理部１０２において実行される処理である。
【０１１２】
図１１に示すフローチャートにおけるステップＳ４０１は、ポーズ仮説（Ｈｙｐｏｔｈｅｓｉｓ）の閾値を設定する処理である。すなわち、許容するポーズ仮説の確率値を決定し、これをポーズ仮説閾値として設定する。ステップＳ４０２〜Ｓ４１２の処理は、図１０を参照して説明したフローのステップＳ３０１〜Ｓ３１１に相当する。
【０１１３】
ステップＳ４１３の処理は、ステップＳ４１２において設定された更新されたポーズ仮説の確率分布データから最も確率値の高いポーズ仮説を選択する処理である。次に、ステップＳ４１４において選択したポーズ仮説の確率値と、ステップＳ４０１で設定したポーズ仮説閾値とを比較し、ステップＳ４１４において選択したポーズ仮説の確率値がポーズ仮説閾値以上であれば、その選択されたポーズ仮説を例えばロボットのポーズであると判定してステップ４１５において出力する。
【０１１４】
ステップＳ４１４において選択したポーズ仮説の確率値がポーズ仮説閾値以上でない場合は、その選択されたポーズ仮説を出力することなく、ステップＳ４０３に戻り、さらに新たなイメージ取得を実行して、同様の処理を繰り返し行なう。この処理の繰り返しにより、イメージ取得に応じて生成されたポーズ仮説の確率分布の最大値となる仮説ポーズがポーズ仮説閾値以上となった場合に、そのポーズ仮説を最終判定ポーズとして出力する。
【０１１５】
本処理例では、最終的に出力するポーズを閾値によって決定する構成としたので、より確実性の高いポーズを効率的に選択して出力することが可能となる。
【０１１６】
［パーティクル・フィルタを用いた処理例］
上述したローカリゼーション処理は、カルマン・フィルタを適用した存在確率分布データを生成して仮説（Ｈｙｐｏｔｈｅｓｉｓ）のの確率分布データを得る処理例として説明したが、仮説の確率分布データを取得する処理手法として、例えばパーティクル・フィルタ（Ｐａｒｔｉｃｌｅ  Ｆｉｌｔｅｒ）を適用することも可能である。
【０１１７】
パーティクル・フィルタ（Ｐａｒｔｉｃｌｅ  Ｆｉｌｔｅｒ）を適用したローカリゼーションは、多数のパーティクル（サンプリング点）により状態分布を近似する同定処理（Ｌｏｃａｌｉｚａｔｉｏｎ）手法である。例えば、図１２に示すように、初期的な仮説（Ｈ）は、図１２（ａ）に示すように均一なパーティクル分布データとなる。
【０１１８】
次に、上述した実施例と同様、イメージ取得データに基づくポーズ候補の候補確率分布データが図１２（ｂ）のデータとして取得され、この候補確率分布に基づいて、図１２（ａ）のパーティクル分布データが更新され、図１２（ｃ）の更新された仮説確率分布データが得られる。
【０１１９】
さらに、図１３に示すようにロボットが移動して、新たな取得イメージに基づく候補確率分布データ（図１３（ｄ））と、移動情報に基づいて更新したパーティクル分布データとしての仮説確率分布データ（図１３（ｅ））が算出される。これらの候補確率分布データ（図１３（ｄ））と、仮説確率分布データ（図１３（ｅ））とに基づいて新たな仮説確率分布データ（図１３（ｆ））が生成される。
【０１２０】
このパーティクル・フィルタを適用したローカリゼーション処理においては、
各仮説をＮ個のパーティクル、
Ｐｉ
ただしｉ＝１〜Ｎ
とする。
【０１２１】
各パーティクル［Ｐｉ］は、確率値に相当するウェイト［ｗｉ］を有し、ポーズを示す値［ｘｉ］とともに、
ｐｉ＝｛ｗｉ，ｘｉ｝
として表される。
【０１２２】
初期状態において、すべてのパーティクルのウェイトは均一であり、
ｗｉ＝（１／Ｎ）
ｘｉ＝ｒａｎｄｏｍ＿ｐｏｓｅ（）
として設定される。
【０１２３】
パーティクル・フィルタ（Ｐａｒｔｉｃｌｅ  Ｆｉｌｔｅｒ）を適用したローカリゼーションにおけるポーズ候補Ｃｊは、以下のパラメータを持つ。
【数１５】
2008185417.tif 000017
【０１２４】
Ｐ（Ｃｉ）は、ポーズ候補Ｃｉが真である確率であり、イメージ・マッチング処理によって算出されるスコアに対応する。
ｃｉバーは、ロボットのポーズの正規分布の平均値、
Ｒｉは、ロボットのポーズの正規分布の共分散行列、
である。
【０１２５】
各仮説Ｈｉの更新処理に際しては、取得イメージｚに基づいて設定されるポーズ候補Ｃｊから最も仮説Ｈｉをサポートするポーズ候補Ｃｊを選択する。例えば、以下の式に基づいて仮説Ｈｉをサポートするポーズ候補Ｃｊを選択する。
【数１６】
2008185417.tif 000018
【０１２６】
上記式において、
ａｒｇｍａｘＰ（Ｃｊ｜Ｈｉ）は、仮説Ｈｉを最もサポートするポーズ候補Ｃｊを選択出力する関数である。
【０１２７】
さらに、仮説Ｈｉに対応するパーティクルのウェイト［ｗｉ］を以下の式に基づいて更新する。
【数１７】
2008185417.tif 000019
【０１２８】
なお、正規化処理としてウェイトの総計値について、以下の条件を満足させた設定の元で処理を行なう。
【数１８】
2008185417.tif 000020
【０１２９】
パーティクル・フィルタを適用したローカリゼーションのシーケンス例について、図１４に示すフローチャートを参照して説明する。図１４に示すフローチャートに従った処理は、図４に示す情報処理装置のデータ処理部１０２において実行される処理である。
【０１３０】
まず、ステップＳ５０１において、ロボット等の情報処理装置に備えられたカメラを適用してイメージ取得処理を実行し、ステップＳ５０２において、特徴点抽出を行い、ステップＳ５０３においてイメージ・マッチングによるスコア算出を行なう。これらの処理は、先に図２のフローを参照して説明した処理と同様の処理となる。
【０１３１】
ステップＳ５０４において、パーティクルのウェイトの更新処理を実行する。この更新処理は、上述した式、すなわち、仮説Ｈｉに対応するパーティクルのウェイト［ｗｉ］更新処理として説明した式に基づいて実行する。次に、ステップＳ５０５においてパーティクル・ウェイトの正規化処理を実行する。
【０１３２】
次に、ステップＳ５０６において、ロボットの移動を実行し、ステップＳ５０７においてロボットの移動情報に基づくパーティクル更新処理を実行し、その後、ステップＳ５０８において、パーティクルのリサンプル（Ｒｅｓａｍｐｌｅ）処理を実行する。これらの処理をイメージ取得毎に実行し、最もパーティクル・ウェイトが大きくなったパーティクルに対応するポーズを出力ポーズとする。
【０１３３】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０１３４】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０１３５】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ  Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ），ＭＯ（Ｍａｇｎｅｔｏ  ｏｐｔｉｃａｌ）ディスク，ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【０１３６】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送や、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１３７】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０１３８】
以上、説明したように、本発明の一実施例の構成によれば、カメラによって取得されるイメージと、参照用イメージとのイメージ・マッチング処理により、一致度の高い参照用イメージに対して高スコアを設定するスコア算出を実行し、算出スコアに基づいて情報処理装置のポーズ候補の確率分布である候補確率分布データを算出し、さらに候補確率分布データに基づくデータ変換処理により情報処理装置のポーズ仮説に対応する確率分布である仮説確率分布データを算出し、取得イメージに基づいて仮説確率分布データを更新し、より確率値の高い仮説を選択する構成としたので、例えば同一のイメージが含まれる環境下であっても、逐次入力するイメージに基づいて、次第に１つの仮説の確率が高くなる収束が行われ、効率的に正しいローカリゼーションが実行される。
【図面の簡単な説明】
【０１３９】
【図１】イメージ・マッチングを用いたローカリゼーションの処理シーケンス例について説明するフローチャートを示す図である。
【図２】本発明の一実施例の情報処理装置において実行する同定処理（ローカリゼーション）のシーケンスについて説明するフローチャートを示す図である。
【図３】ローカリゼーションを行なう装置の動作について説明する図である。
【図４】ローカリゼーションを行なう装置の構成例について説明する図である。
【図５】ハリス（Ｈａｒｒｉｓ）コーナーイメージを用いた特徴点抽出処理例について説明する図である。
【図６】複数仮説を適用して最終的な１つのポーズを決定する本発明に従ったローカリゼーション処理について説明する図である。
【図７】複数仮説を適用して最終的な１つのポーズを決定する本発明に従ったローカリゼーション処理について説明する図である。
【図８】仮説に対するポーズ候補のサポートについて説明する図である。
【図９】本発明の一実施例の情報処理装置において実行する同定処理（ローカリゼーション）のシーケンスについて説明するフローチャートを示す図である。
【図１０】本発明の一実施例の情報処理装置において実行する同定処理（ローカリゼーション）のシーケンスについて説明するフローチャートを示す図である。
【図１１】本発明の一実施例の情報処理装置において実行する同定処理（ローカリゼーション）のシーケンスについて説明するフローチャートを示す図である。
【図１２】パーティクル・フィルタ（Ｐａｒｔｉｃｌｅ  Ｆｉｌｔｅｒ）を適用したローカリゼーションについて説明する図である。
【図１３】パーティクル・フィルタ（Ｐａｒｔｉｃｌｅ  Ｆｉｌｔｅｒ）を適用したローカリゼーションについて説明する図である。
【図１４】パーティクル・フィルタ（Ｐａｒｔｉｃｌｅ  Ｆｉｌｔｅｒ）を適用したローカリゼーションの処理シーケンスについて説明するフローチャートを示す図である。
【符号の説明】
【０１４０】
１００  情報処理装置
１０１  カメラ
１０２  データ処理部
１０３  記憶部
２００  取得イメージ
２１０〜２１２  ハリスコーナーイメージ
２２０〜２２２  ラプラシアンイメージ
２５１  ロボット（情報処理装置）
【図１】
2008185417.tif 000021
【図２】
2008185417.tif 000022
【図４】
2008185417.tif 000023
【図９】
2008185417.tif 000024
【図１０】
2008185417.tif 000025
【図１１】
2008185417.tif 000026
【図１４】
2008185417.tif 000027
【図３】
2008185417.tif 000028
【図５】
2008185417.tif 000029
【図６】
2008185417.tif 000030
【図７】
2008185417.tif 000031
【図８】
2008185417.tif 000032
【図１２】
2008185417.tif 000033
【図１３】
2008185417.tif 000034