JP2008185417A - 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム - Google Patents

情報処理装置、および情報処理方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP2008185417A
JP2008185417A JP2007018271A JP2007018271A JP2008185417A JP 2008185417 A JP2008185417 A JP 2008185417A JP 2007018271 A JP2007018271 A JP 2007018271A JP 2007018271 A JP2007018271 A JP 2007018271A JP 2008185417 A JP2008185417 A JP 2008185417A
Authority
JP
Japan
Prior art keywords
hypothesis
pose
image
information processing
probability distribution
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
Application number
JP2007018271A
Other languages
English (en)
Other versions
JP2008185417A5 (ja
Inventor
Steven Goodman
ステフェン グットマン
Kenichiro Oi
堅一郎 多井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2007018271A priority Critical patent/JP2008185417A/ja
Publication of JP2008185417A publication Critical patent/JP2008185417A/ja
Publication of JP2008185417A5 publication Critical patent/JP2008185417A5/ja
Pending legal-status Critical Current

Links

Landscapes

  • Length Measuring Devices By Optical Means (AREA)
  • Image Processing (AREA)
  • Image Analysis (AREA)

Abstract

【課題】デバイスの位置、姿勢を推定するローカリゼーションを正しく効率的に実行する構成を実現する
【解決手段】カメラによって取得されるイメージと、参照用イメージとのイメージ・マッチングによる算出スコアに基づいて情報処理装置のポーズ候補の確率分布である候補確率分布データを算出し、算出データの変換処理により情報処理装置のポーズ仮説に対応する確率分布である仮説確率分布データを算出する。さらに、取得イメージに基づいて仮説確率分布データを更新し、より確率値の高い仮説を選択する。本構成により、逐次入力するイメージに基づいて、次第に1つの仮説の確率が高くなる収束が行われ、効率的に正しいローカリゼーションが実行される。
【選択図】図2

Description

本発明は、情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに詳細には、例えばロボットなどエージェント(移動体)において移動環境を観測し、観測状況に応じて位置や姿勢の推定処理としての自己位置もしくは自己姿勢の同定処理(ローカリゼーション)を実行する情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。
例えば、自律型ロボットのような自律制御デバイスは、周囲の外部状態やデバイス自身の内部状態に応じて自律的に動作を行うデバイスである。例えばカメラなどのセンサによって取得した環境情報に基づいて、デバイスの位置確認や方向確認などに基づくポーズ(位置姿勢)制御を行う。
例えば、自律型ロボットが歩行動作を行なう場合、予め取得された地図データを適用した処理や、外部の障害物等の検出などの環境情報を取得して障害物を回避するような行動経路を計画する手法が行なわれる。逐次取得する環境情報の分析に基づいて経路を決定するロボットは、例えば予め指定された地図データに対して、自らが取得したカメラ撮影画像などのセンサ情報に基づく更新を実行して、自己の位置を確認して最適な経路決定を行なう。
例えばロボットなどの自律制御デバイスにおいて実行される位置や方向などのポーズ(位置姿勢)追跡処理は、(自己)ポーズ(位置姿勢)同定処理あるいはローカリゼーション(Localization)と呼ばれる。
デバイスの位置や姿勢などの同定を行う代表的な手法の1つとして「ランドマーク(Landmark)」を利用した手法がある。ランドマークは、例えばロボットの置かれた環境に設定された目印である。ロボットは、例えばカメラなどのセンサによって視覚認識されたランドマークからの相対位置情報を基に自己位置を地理的に探索することができる。
このようなポーズ同定(ローカリゼーション)の方式として、例えば、パーティクル・フィルタ(particle filter)を適用したモンテカルロ・ローカリゼーション(MCL:Monte Carlo Localization)や、存在確率に関連する関数としての正規分布の確率密度関数を適用したトラッキングを実行するMHT(multi−hypotheses tracking)が知られている。
上記のMCLやMHTは、いずれもポーズ(位置姿勢)同定処理の実行対象であるロボットなどのエージェント(agent)についてのポーズの存在確率分布情報(belief)を用いてベイズフィルタ(Baysian filter)を適用した自己ポーズ(位置姿勢)同定処理(ローカリゼーション)を行なう手法である。なお、エージェント(agent)の位置や方向などのポーズ(位置姿勢)の確認として実行される自己ポーズ(位置姿勢)同定(ローカリゼーション)に併せて、エージェント(agent)周囲の地図(環境地図)の作成(mapping)を行なうことも可能であり、これらの複数の処理を並列に実行する処理はSLAM(simultaneous localization and mapping)と呼ばれる。
ローカリゼーションとマッピングを、ランドマークを用いて同時に実行する処理については、例えば特許文献1,2,3などに記載されている。さらに、ポーズ(位置姿勢)推定処理について記載した従来技術としては例えば以下の文献がある。特許文献4は、連続するイメージデータを利用したエージェントの3次元ポーズ推定処理について記載している。特許文献5は、イメージ・マッチング処理によって得られるポーズの状態変数の共分散行列(co−variance matrix)を利用したポーズ推定処理、特許文献6は、スレッショルド・フィルタを適用したポーズ推定処理、特許文献7には、パーティクル・フィルタを適用したポーズ推定処理について記載している。
基本的なローカリゼーションの方法としては、ロボットなどのエージェント(agent)がカメラを用いて定期的に周囲の画像(image)を撮影してデータベースに蓄積し、新規に取得した画像データと、データベースに蓄積済みの過去の画像データとの比較処理、すなわちイメージ・マッチングを実行して、自己位置やポーズなどを特定する方法がある。
このイメージ・マッチングを用いたローカリゼーションの具体的な処理シーケンス例について、図1のフローチャートを参照して説明する。図1に示すローカリゼーション手法は、上述のMHTを適用した手法である。まず、ステップS11でエージェント(agent)がカメラを用いて新たな画像(image)を取得する。次に、ステップS12において、S11からの取得画像と、既にエージェントで過去に取得しデータベースに格納された画像との比較を実行する。S12で利用する画像は、撮像時のエージェントのポーズ(位置姿勢)情報がリンクされている.ステップS13では、1フレーム前に推定されたエージェントのポーズ(位置姿勢)についての推定情報(仮説:hypotheses)と、新たに取得した画像に基づくデータベースより推定されるエージェントのポーズ(位置姿勢)についての推定情報とを合成する。
ステップS14において、S13で合成された推定情報から1つのユニークなエージェントのポーズが導出されたか否かを判定し、導出された場合は、ステップS15に進み、導出されたエージェントのポーズを最終的なポーズとして出力して処理を終了する。一方、ステップS14において、1つのユニークなエージェントのポーズが導出できない場合は、ステップS16に進み、さらにエージェントを移動させて、ステップS17において、エージェントの移動情報を適用してエージェントのポーズの推定情報を更新し、さらに、ステップS11に戻り、次フレームの画像情報を取得してステップS12以下の処理を繰り返し実行する。このように定期的に取得する画像データに基づくイメージ・マッチングによって、エージェントのポーズ(位置姿勢)が導出されることになる。
イメージ・マッチングを利用したローカリゼーションにおけるイメージ・マッチング処理においては、例えば以下の2つのデータが利用される。
(A)マッチングスコア(Matching score):例えば比較イメーシにおける類似する特徴点の数であり、スカラー値として取得される。
(B)変換パラメータ(Transformation):データベースに格納された過去のイメージに対して、新規に取得したイメージがどのように配列されるかを示すデータであり、例えばアフィン変換における5つのデータ、
translation(2):2方向(x,y)の平行移動、
rotation(1):回転、
scale(2):2方向における拡大縮小、
これらのデータが含まれる。
イメージ・マッチングを利用したローカリゼーションにおけるイメージ・マッチング処理においては、これらの(A)マッチングスコア(Matching score),(B)変換パラメータ(Transformation)の各データが取得される。
また、ポーズ推定(pose hypothesis)処理には、例えば以下の2つの推定情報が利用される。
(A)推定情報の確からしさ(Probability of hypothesis):推定情報が正しい情報である可能性を示す値、
(B)エージェント存在確率分布:推定情報が正しい場合に基づいて得られる実際のポーズの確率分布、
このように、イメージ・マッチングを利用したローカリゼーションにおいては、新規取得イメージとデータベースに格納された過去に取得したイメージを用いて上述したマッチングスコアや変換パラメータを算出し、これらの算出データを利用してポーズ推定処理を実行する。
例えば、具体的には図1を参照して説明したフローに従った処理を実行して、ポーズ推定が実行されることになる。図1のフローにおけるステップS14では、イメージ・マッチング処理に基づいて取得されるポーズ推定情報が1つのユニークな状態を取る場合に、エージェントの推定ポーズが正しいと判断し出力が行われるが、イメージ・マッチングが困難な場合、例えば、周囲の景色が類似している領域であるような場合は、ポーズ推定が困難になりローカリゼーションに時間を要することになる。
上述した従来技術におけるポーズ(位置姿勢)同定処理(ローカリゼーション)においては、いずれも、例えばカメラによって撮影される画像データの解析に基づく自己の位置の確認を行なう場合、連続するフレーム画像データに含まれる大量のデータについての解析を行なうことを前提としており、処理時間および処理負荷が大きくなるという問題を有する。
US公開特許2004/0167688 US特許7015831 US公開特許2006/0012493 US公開特許2004/0168148 US公開特許2004/0167670 US公開特許2004/0167667 US公開特許2004/0167669
本発明は、上述の問題点に鑑みてなされたものであり、例えば、自律走行ロボットなどの自律制御デバイスなどにおいて行なわれるデバイスの位置や姿勢を推定するポーズ(位置姿勢)同定処理(ローカリゼーション)を効率的にかつ高精度に実行することを可能とした情報処理装置、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
本発明の第1の側面は、
ローカリゼーション(同定処理)を実行する情報処理装置であり、
情報処理装置周囲のイメージ(画像)を撮影するカメラと、
前記カメラの取得した取得イメージとのマッチング処理を行なう参照用イメージを格納した記憶部と、
前記カメラの取得したイメージに基づいて情報処理装置のローカリゼーションを実行するデータ処理部を有し、
前記データ処理部は、
前記カメラの取得した取得イメージと前記参照用イメージとのイメージ・マッチング処理により、マッチング度の高い参照用イメージに対して高スコアを設定するスコア算出を実行して、算出スコアに基づいて情報処理装置のポーズ候補の確率分布である候補確率分布データを算出し、
前記候補確率分布データに基づくデータ変換処理により情報処理装置のポーズ仮説に対応する確率分布である仮説確率分布データを算出する処理を実行する構成であることを特徴とする情報処理装置にある。
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、新たに取得するイメージに基づいて、前記仮説確率分布データの更新処理を実行して、最も確率値の高いポーズ仮説を選定し、選定したポーズ仮説を情報処理装置のポーズとして出力する処理を実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、複数のポーズ仮説を設定し、前記カメラの取得したイメージに基づく前記仮説確率分布データの更新処理により、より確からしい仮説を選定する多仮説トラッキング(MHT:Multi−hypothesis Tracking)処理を実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、複数のポーズ仮説[H]の各々について、ポーズ仮説[H]をサポートするに十分なイメージ[z]に基づくポーズ候補[C]存在する場合は、ポーズ仮説確率分布データにおける前記仮説[H]が真の下で取得イメージ[z]が真であると判定される確率値P(z|H)を高くする更新を実行し、ポーズ仮説[H]をサポートするに十分なイメージ[z]に基づくポーズ候補[C]が存在しない場合は、前記確率値P(z|H)を低くする更新処理を実行し、前記確率値P(z|H)と前記仮説[H]の確率値P(H)に基づき「取得イメージ[z]が真の下で、仮説Hが真である確率値」P(H|z)を求め、それを元に前記仮説Hの確率P(H)を更新する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記候補確率分布データに基づく仮説確率分布データの算出処理をカルマン・フィルタによる仮説更新処理に従って実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記候補確率分布データに基づく仮説確率分布データの算出処理をパーティクル・フィルタによる仮説更新処理に従って実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記カメラの取得した取得イメージと前記参照用イメージとのイメージ・マッチングにより対応する特徴点情報を取得し、該対応特徴点情報に基づいてスコア算出を行なう構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、ハリスコーナーディテクター(Harris Corner Detector)を用いた特徴点抽出処理を実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、前記イメージ・マッチング処理により算出するスコアが予め定めたスコア閾値以上の参照用イメージのみを選択して、選択イメージに基づくローカリゼーション処理を実行する構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、ポーズ仮説の初期設定を実行し、取得イメージに基づいて生成される新規ポーズ仮説と、設定済みのポーズ仮説との合成処理を実行して、ポーズ仮説の更新を行なう構成であることを特徴とする。
さらに、本発明の情報処理装置の一実施態様において、前記データ処理部は、ポーズ仮説の確率値に対応する閾値を設定し、前記仮説確率分布データに含まれる最高確率のポーズ仮説と前記閾値を比較し、最高確率のポーズ仮説が閾値以上である場合、該最高確率のポーズ仮説を情報処理装置のポーズとして出力する処理を実行する構成であることを特徴とする。
さらに、本発明の第2の側面は、
情報処理装置においてローカリゼーション(ポーズ(位置姿勢)同定処理)をする情報処理方法であり、
カメラが、情報処理装置周囲のイメージ(画像)を撮影するイメージ取得ステップと、
データ処理部が、前記カメラの取得したイメージを適用して情報処理装置のローカリゼーションを実行するデータ処理ステップを有し、
前記データ処理ステップは、
前記カメラの取得した取得イメージと、参照用イメージとのイメージ・マッチング処理により、一致度の高い参照用イメージに対して高スコアを設定するスコア算出を実行して、算出スコアに基づいて情報処理装置のポーズ候補の確率分布である候補確率分布データを算出する候補確率分布データ算出処理と、
前記候補確率分布データに基づくデータ変換処理により情報処理装置のポーズ仮説に対応する確率分布である仮説確率分布データを算出する仮説確率分布データ算出処理を実行することを特徴とする情報処理方法にある。
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、さらに、新たに取得するイメージに基づいて、前記仮説確率分布データの更新処理を実行して、最も確率値の高いポーズ仮説を選定し、選定したポーズ仮説を情報処理装置のポーズとして出力する処理を実行することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、複数のポーズ仮説を設定し、前記カメラの取得したイメージに基づく前記仮説確率分布データの更新処理により、より確からしい仮説を選定する多仮説トラッキング(MHT:Multi−hypothesis Tracking)処理を実行することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、複数のポーズ仮説[H]の各々について、ポーズ仮説[H]をサポートするに十分なイメージ[z]に基づくポーズ候補[C]存在する場合は、仮説確率分布データにおける前記仮説[H]が真の下で取得イメージ[z]が真であると判定される確率値P(z|H)を高くする更新を実行し、ポーズ仮説[H]をサポートするに十分なイメージ[z]に基づくポーズ候補[C]が存在しない場合は、前記確率値P(z|H)を低くする更新処理を実行し、前記確率値P(z|H)と前記仮説[H]の確率値P(H)に基づき「取得イメージ[z]が真の下で、仮説Hが真である確率値」P(H|z)を求め、それを元に前記仮説Hの確率P(H)を更新することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、前記候補確率分布データに基づく仮説確率分布データの算出処理をカルマン・フィルタによる仮説更新処理に従って実行することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、前記候補確率分布データに基づく仮説確率分布データの算出処理をパーティクル・フィルタによる仮説更新処理に従って実行することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、前記カメラの取得した取得イメージと前記参照用イメージとのイメージ・マッチングにより対応する特徴点情報を取得し、該対応特徴点情報に基づいてスコア算出を行なうことを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、ハリスコーナーディテクター(Harris Corner Detector)を用いた特徴点抽出処理を実行することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、前記イメージ・マッチング処理により算出するスコアが予め定めたスコア閾値以上の参照用イメージのみを選択して、選択イメージに基づくローカリゼーション処理を実行することを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、ポーズ仮説の初期設定を実行し、取得イメージに基づいて生成される新規ポーズ仮説と、設定済みのポーズ仮説との合成処理を実行して、ポーズ仮説の更新を行なうことを特徴とする。
さらに、本発明の情報処理方法の一実施態様において、前記データ処理ステップは、ポーズ仮説の確率値に対応する閾値を設定し、前記仮説確率分布データに含まれる最高確率のポーズ仮説と前記閾値を比較し、最高確率のポーズ仮説が閾値以上である場合、該最高確率のポーズ仮説を情報処理装置のポーズとして出力する処理を実行することを特徴とする。
さらに、本発明の第3の側面は、
情報処理装置にローカリゼーション(同定処理)を実行させるコンピュータ・プログラムであり、
カメラに、情報処理装置周囲のイメージ(画像)を撮影させるイメージ取得ステップと、
データ処理部に、前記カメラの取得したイメージを適用して情報処理装置のローカリゼーションを実行させるデータ処理ステップを有し、
前記データ処理ステップは、
前記カメラの取得した取得イメージと、参照用イメージとのイメージ・マッチング処理により、一致度の高い参照用イメージに対して高スコアを設定するスコア算出を実行させて、算出スコアに基づいて情報処理装置のポーズ候補の確率分布である候補確率分布データを算出させる候補確率分布データ算出処理と、
前記候補確率分布データに基づくデータ変換処理により情報処理装置のポーズ仮説に対応する確率分布である仮説確率分布データを算出する仮説確率分布データ算出処理を実行させるステップであることを特徴とするコンピュータ・プログラムにある。
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータシステムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータシステム上でプログラムに応じた処理が実現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の一実施例の構成では、カメラによって取得されるイメージと、参照用イメージとのイメージ・マッチング処理により、一致度の高い参照用イメージに対して高スコアを設定するスコア算出を実行し、算出スコアに基づいて情報処理装置のポーズ候補の確率分布である候補確率分布データを算出し、さらに候補確率分布データに基づくデータ変換処理により情報処理装置のポーズ仮説に対応する確率分布である仮説確率分布データを算出し、取得イメージに基づいて仮説確率分布データを更新して、より確率値の高い仮説を選択する構成としたので、例えば同一のイメージが含まれる環境下であっても、逐次入力するイメージに基づいて、次第に1つの仮説の確率が高くなる収束が行われ、効率的に正しいローカリゼーションが実行される。
以下、図面を参照しながら本発明の実施形態に係る情報処理装置、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。
本発明の一実施例に係る情報処理装置において実行するポーズ(位置姿勢)同定処理(ローカリゼーション)のシーケンスについて図2に示すフローチャートを参照して説明する。なお、ローカリゼーションは、先に説明したようにエージェント(情報処理装置)のポーズ(位置姿勢)の算出処理である。なお、図2に示すフローチャートに従った処理は、後述する図4に示す情報処理装置のデータ処理部102において実行される処理である。
図2に示すように、本発明の実施例の情報処理装置において実行するポーズ(位置姿勢)同定処理(ローカリゼーション)は以下のステップによって行われる。
ステップS101:画像情報取得処理、
ステップS102:取得画像からの特徴点抽出処理、
ステップS103:データベースに蓄積済みの画像情報との比較処理を実行し、
*スコア(Score)
*変換パラメータ(Transformation)
を算出する。
ステップS104:スコアに基づいて、ポーズ推定情報(hypothesis)の確率(probability)としてのポーズ候補確率分布データを算出する。
ステップS105:変換パラメータに基づいて、ポーズ(位置姿勢)の各変数に対する共分散行列(co−variance)を算出し、存在確率分布としての仮説確率分布データを算出する。
これらの処理の詳細について、以下説明する。ポーズ(位置姿勢)同定処理(ローカリゼーション)の実行対象となるのは例えば自立走行ロボットなどのエージェント(agent)である。なお、エージェントは、ロボットに限らず、例えば携帯型の情報処理装置、例えば人や車などの移動オブジェクトが持つカメラを備えた端末などの装置であってもよい。
具体的には、例えば図3に示すような壁などの障害物51を避けながら自立走行する情報処理装置搭載のエージェント(例えばロボット)101であり、カメラ102を備えて、カメラ102によって定期的に周囲の画像イメージを撮影して撮影イメージに基づいて、図2に示すフローに従ったローカリゼーションを実行する。
情報処理装置101は、図4に示すように、カメラ101の他、予め定めたプログラムに従ったデータ処理を実行するデータ処理部102と、記憶部103を有する。データ処理部101は、プロセッサ(CPU)を有し、図2に示すフローに従った処理を実行する。データ処理プログラムは記憶部103に格納されている。また、記憶部103はカメラ101によって定期的に撮影される画像(イメージ)データを保存するデータベースとしても利用される。データ処理部102は、カメラ101によって撮影されたイメージと、記憶部103に格納されたイメージとの比較処理などを実行してローカリゼーションを行なう。記憶部103には予め撮影済みの環境情報とてしてのイメージデータが格納され、イメージ・マッチングに際しては、新たに取得したイメージと、記憶部(データベース)に格納されたイメージデータとの比較が実行される。
なお、記憶部103については、情報処理装置101内部に設定せず外部に設定する構成としてもよい。すなわち、情報処理装置101に通信部を構成し、通信部からネットワークを介してアクセス可能な他の装置に記憶部を設定する構成とし、必要に応じて通信部を介して外部の記憶部へのアクセスを行う構成としてもよい。また、データ処理部についても通信部を介してアクセス可能な外部装置に構成し、データ処理に必要な情報をデータ処理部を有する外部装置に送信し、データ処理結果データ、例えば図2に示すフローに従ったローカリゼーションの結果データを外部装置から受信するといった構成としてもよい。
なお、以下の実施例の説明では、図4に示す構成を持つ情報処理装置における処理として説明する。図2に示すフローにおけるステップS101の画像情報取得処理は、情報処理装置に備えたカメラ101によって情報処理装置の周囲の環境イメージを取得する処理である。取得されたイメージは記憶部102に格納される。
データ処理部102は、ステップS102において、取得画像からの特徴点抽出処理を実行し、ステップS103において、データベースに蓄積済みの画像情報との比較処理によるイメージ・マッチングを実行して、スコア(Score)と変換パラメータ(Transformation)を算出する。
この処理の詳細について、以下説明する。特徴点抽出処理からイメージ・マッチング処理における変換パラメータ算出に至る処理シーケンスは例えば以下の通りである。
1.取得イメージから特徴点を検出
2.各特徴点を含む周囲情報から特徴量(特徴点デスクリプタ)を抽出
3.取得イメージと蓄積済みイメージ間の特徴量(特徴デスクリプタ)を比較
4.イメージ間の特徴量(特徴デスクリプタ)比較結果に基づき、イメージ間においてマッチした特徴点の組を取得
5.マッチした特徴点の組の数が予め定めた閾値より少ない場合はマッチング失敗と判断
6.マッチした特徴点の組に対して幾何フィルタ(geometric filter)を適用し,イメージ間の変換パラメータ(transformation)算出
特徴点抽出処理の一例として、ハリスコーナーディテクター(Harris Corner Detector)を用いた処理例について図5を参照して説明する。情報処理装置のデータ処理部は、特徴点抽出に際して図5に示すようにカメラによって撮影された取得イメージ200から複数のハリスコーナーイメージ210〜212と、ラプラシアンイメージ220〜222を生成する。
ハリスコーナーイメージは、取得イメージに対してハリスコーナーディテクター(Harris Corner Detector)を適用して生成されるイメージデータである。これらのハリスコーナーイメージ210〜212から、例えば周囲8画素に比較して値の高い画素ポイント(maxima point)を検出点とする。さらに、取得イメージ200に対して、LoG(Laplacian of Gaussian)フィルタを適用して複数レベル(解像度)のラプラシアンイメージ220〜222を生成する。LoG(Laplacian of Gaussian)フィルタは、画像の輪郭強調のために用いられる2次微分フィルタの一種であり、人間の視覚系で網膜からの情報が外側膝状体で中継されるまでに行われている処理の近似モデルとして用いられるものである。
特徴点抽出処理は、LoGフィルタ出力画像であるラプラシアンイメージ220〜222の所定のレベル範囲内の解像度変化によって位置の変化がないかハリスコーナーイメージ210〜212から得られた検出点の位置に対応する箇所に対して調べ、変化がない点を特徴点とする。これにより、画像の拡大縮小操作に対してロバストな特徴点間のマッチングが実現できる。なお、これらの特徴点抽出処理の詳細については、例えば、特開2004−326693号公報(特願2003−124225)に記載されており、本発明における特徴点抽出処理としてこの手法の適用が可能である。
この特徴点の検出の後、特徴点毎の特徴量(特徴デスクリプタ)を抽出し、取得イメージと蓄積済みイメージ間の特徴量(特徴デスクリプタ)を比較し、イメージ間においてマッチした特徴点の組を取得する。さらに、新規に取得した画像と、蓄積済みイメージとの整合性を整えるため、取得イメージに対して幾何フィルタ(geometric filter)を適用したイメージ変換を実行する。
幾何フィルタ(geometric filter)を適用したイメージ変換は、新規に取得した画像と、蓄積済みイメージとの整合性を整える処理であり、2つのイメージの位置合わせ、回転、拡縮率の調整等を行なうための処理である。例えばアフィン変換に適用される5つのパラメータを用いた変換処理として実行される。すなわち、例えばアフィン変換における5つのパラメータ、
ローテーション(Rotation):α、
スケールファクタ(Scale factors):s,s
トランスレーション(translation):t,t
これらのパラメータである。
ローテーション(α)は回転、スケールファクタ(s,s)は直交するu方向とv方向それぞれの拡縮率であり、トランスレーション(t,t)は、u方向、v方向それぞれの平行移動を示す。u,vは、例えばカメラによって撮影される画像の横(水平)方向を(u)、縦(垂直)方向を(v)とする。
これらのパラメータを用いたイメージ変換は、
変換前のイメージ=I
変換後のイメージ=I
変換前のイメージIの画像中心座標=(c,c
として、以下の式によって示される。
なお、例えば、情報処理装置に備えたカメラが軸周りに回転しない構成とした場合は、ローテーション(α)については考慮する必要がなく、
α=0
とすることが可能であり、また、撮影画像についてx方向およびy方向におけるスケールファクタが均一なものであると仮定できる場合は、
=s=s
と設定することが可能となり、上記のイメージ変換式は、以下のように簡略化することが可能となる。
なお、スケールファクタ(s)は、カメラを備えて移動する情報処理装置の前方または後方に対する移動距離に応じた値として設定される。
また、カメラによって撮影される画像の横(水平)方向を(u)、縦(垂直)方向を(v)とした場合、縦方向の平行移動であるトランスレーション(t)は、縦方向の仰角(ピッチ)や、垂直方向の移動を表す。従ってピッチや垂直移動がない場合は、
=0
とすることができる。
また、同一高さにおいて撮影方向の回転を可能としたカメラを用いた場合であってもピッチは固定値と仮定することが可能であり、撮影高さが変更可能なカメラを利用した場合でもトランスレーション(t)の変化については無視してもよい。
また、横方向の平行移動であるトランスレーション(t)は、カメラの向き(ヨー角)の変更に対応する値であり、カメラの進行方向に対して直行する方向の動きに対応する。
取得イメージと蓄積済みイメージ間の特徴量(特徴デスクリプタ)を比較して、イメージ間においてマッチした特徴点の組を対応付けて、さらに新規取得イメージと、蓄積済みイメージとの整合性を整えるため、上述した各パラメータを適用したイメージ変換を実行する。
イメージ変換に適用するパラメータの決定に際しては、ハフ変換(Hough transformation)の適用が可能である。例えば、各イメージ(I,I)の特徴点ペア群について、スケール(s)―トランスレーション(t,t)ヒストグラムを生成する。各イメージの組は、ハフ空間(Hough space)において、1次元カーブによって対応付けられる。例えば、
スケール(s):0.5〜2(21候補)
トランスレーション(t):−width/2〜+width/2(20候補)
トランスレーション(t):−height/2〜+height/2(20候補)
として、
計21×20×20=8400セル
これらの8400セルに対応する候補を設定し、最小2乗法を適用して最もエラーの少ないヒストグラムのピークを選択する処理によって最適パラメータを決定することができる。
2つのイメージI、Iにおける特徴点情報(特徴デスクリプタ)の組のそれぞれによって、上記パラメータ、すなわち、
拡縮スケール(s):前後の移動、
トランスレーション(t):横方向の回転または移動、
トランスレーション(t):垂直方向の回転または移動、
さらに、マッチした特徴点数またはピーク数、
これらのデータが得られる。
これらのパラメータデータから直接的にカメラを備えた情報処理装置のポーズ(位置姿勢)を決定することはできないが、ポーズの推定を行なうことが可能となる。すなわち、
拡縮スケール(s):前後の移動、
トランスレーション(t):横方向の回転または移動、
トランスレーション(t):垂直方向の回転または移動、
これらのとり得る範囲を決定するために推定のエラー確率を求める。例えば、
拡縮スケール(s)のエラー確率値:e
水平方向の移動(t)のエラーの値:e
垂直方向の移動(t)のエラーの値:e
とした場合、それぞれのエラーの値は、下記のように示すことができる。
=s−1(s≧1の場合)
=s−1−1(s<1の場合)
=|t
=|t
情報処理装置のポーズ(位置、姿勢)に対応するガウス分布の共分散行列の対角行列を、
Σz=diag(σ ,σ ,σθ
とし、上記のエラー分布を情報処理装置の記憶部に保持するマップ上に展開した場合、水平方向の位置の共分散(σ )、垂直方向の位置の共分散(σ )、回転方向の共分散(σθ )は以下のように定義される。
σ =α+α+α
σ =α+α+α
σθ =α+α+α
なお、パラメータα〜αは、予め定義される。
このようなエラー確率値に基づいて、カメラを備えたロボットなどの情報処理装置のポーズについて複数仮説を設定することができる。本発明のローカリゼーションでは、この複数仮説を適用して最終的な1つのポーズを決定する処理を行う。この処理は、図2に示すステップS104、およびステップS105の処理である。このステップS104、S105の具体的な処理例について、図6、図7以下を参照して説明する。
図6、図7は、カメラを備えたロボット(情報処理装置)251が移動する場合の多仮説ローカリゼーション(Multi−hypothesis Tracking/Localization)の概要について説明する図である。例えば、図6のステップ1において、ロボット251は、壁に沿って走行し、壁に設定された1つのドアの近傍のイメージを撮影する。ドア近傍のイメージに基づいて、上述したイメージ・マッチングに基づいて算出されるスコアに従って、まず、ロボットのポーズ(位置姿勢)の候補(Candidate)、すなわちポーズ候補[C]を設定することができる。
イメージ・マッチングに利用するイメージデータは、予め取得済みの周囲環境のイメージデータであり、ロボット251が新規に取得したイメージ(z)とのイメージ・マッチングが行われる。図6に示すステップ1において、ロボット251は、ドア近傍のイメージを取得することになる。しかし、同じようなドアは壁の複数箇所に設置されているので、ロボットの位置のイメージ(z)に基づくポーズ候補Cが真である候補確率分布データは、図6のグラフ[s1−a]のデータとなる。グラフ[s1−a]の横軸は、ロボットの状態(state)でありこの例ではロボットの位置を示している。縦軸は、その位置にいると取得イメージに基づいて算出されるスコアに相当する各ポーズ候補の確からしさを示す確率である。このポーズ候補確率分布データに基づいて、図6のグラフ[s1−b]のロボットのポーズの仮説(Hypothesis)の確率分布を示す仮説確率分布データが得られる。この仮説確率分布データは、イメージデータの比較に基づくポーズ候補Cが真である確率分布を示す候補確率分布データを元にして上記のガウス分布に従った存在確率算出により得られる。
さらに、ステップ2において、ロボット251が移動して、次のイメージ取得ポイントでカメラにより取得されたイメージに基づいてポーズ推定を実行する。ステップ2において、ロボット251は、ドア近傍の撮影画像を取得する。[s2−a]のグラフはロボット251の移動情報に基づいて、[s1−b]の仮説確率分布データを更新した結果である。
ステップ2においてロボット251が撮影したイメージ(z)に基づくポーズ候補Cが真である候補確率分布データ[s2−b]が得られる。この[s2−b]のポーズ候補確率分布データは、[s1−a]のデータと同じである。すなわち、ステップ1でもステップ2でもロボットは異なる位置においてほぼ同様のドア近傍のイメージを取得しており、イメージデータのマッチング処理のみから得られる確率分布としては、ロボット251がドア近傍にいることしか把握できず、[s2−b]のデータは、[s1−a]のデータと同じとなる。
しかし、ステップ2では、先のステップ1で求めた[s1−b]の仮説確率分布データとロボット251の移動情報に基づいて更新した[s2−a]の仮説確率分布データと、[s2−b]のイメージ・マッチング処理に基づいて算出されるスコアに基づくポーズ候補確率分布データとを適用して、新たな仮説(Hypothesis)の存在確率分布データ[s2−c]を得ることができる。この新たな仮説確率分布データ[s2−c]では、[s1−b]の仮説確率分布データと、[s2−b]の候補確率分布データの双方にピークを持つ部分に、より高いピークが設定され、この部分にロボットが位置する存在確率が高いと判断される。
図7は、ロボットがさらに移動したステップ3の処理について説明している。ステップ3では、ステップ2で得られたデータを適用して、上述したステップ1からステップ2への以降処理と同様の処理を繰り返し実行する。図7に示すグラフ[s3−a]は、ステップ2で算出した、仮説確率分布データ[s2−c]をロボットの移動情報に基づいて更新したデータである。このデータと、さらにステップ3において取得したイメージに基づいて得られる新たな候補確率分布データとを適用して、新たな仮説確率分布データを取得する。このような処理を繰り返し実行することで、仮説確率分布データのピークは収束し、より正しいと判断される1つの仮説のみに強いピークが設定され、ロボット251のポーズ推定が実行される。
上述した処理は、複数仮説を設定した上で、より確からしい仮説を選定していくプロセスを持つものであり、多仮説トラッキング(MHT:Multi−hypothesis Tracking)と呼ぶ。この多仮説トラッキング(MHT)を適用したローカリゼーションの詳細処理について説明する。
ロボットなどのローカリゼーションの対象となる装置についてのポーズの複数の仮説を、

とする。
ただし、i=1・・・Nである。
各仮説Hについては、カルマン・フィルタ(Kalman Filter)を適用したトラッキング処理が実行される。いずれかの仮説も正しい仮説である(真である)可能性を有する。各仮説Hは、以下のパラメータを持つ。
P(H)は、仮説Hが正しい確率値、
バーは、ロボットのポーズ(位置姿勢)の正規分布の平均値(仮説毎に独立)、
Σは、ロボットのポーズ(位置姿勢)の正規分布の共分散行列(仮説毎に独立)、
である。
各仮説をまとめたロボット位置の存在確率分布は、以下のように示される。
上記式において
N()は、正規分布関数(Normal Distribution Function)である。
P(H)は、仮説P(H)のいずれにも該当しない確率である。
P(H)Puniform(x)は、ロボットがすべての位置(x)にいる確率が均一である場合の存在確率分布の総計値p(x)の値を示している。
まず、初期状態において、
仮説数:N=0、
全ての仮説が正解でない確率:P(H)=1
と設定する。
仮説数が0である場合は、
全ての仮説が正解でない確率:P(H)=1
であることは明らかであるが、N≧1である場合の、
全ての仮説が正解でない確率:P(H)は以下のようにして算出される。
上記式において、
p(z=outlier)は、時刻tにおいて得られた観察データ、すなわちロボットの撮影データ(イメージ):zがどの仮説にも対応しない確率を示し、
p(z=outlier|H)P(H)は、i番目の仮説Hが、取得イメージに対応しない確率[p(z=outlier|H)]と、i番目の仮説Hの確率分布データにおける確率値の乗算値である。
p(z=outlier|H)の値は、
取得イメージzが仮説Hに対応する(support)データである場合は低く設定(plow)され、仮説Hに対応しないデータである場合は高く設定(phigh)される。
いずれかの仮説H(i≧1)が取得イメージに対応している場合、
p(z=outlier|H)=1
となる。
撮影イメージに基づいて設定される複数の仮説Hが真である確率P(H)の更新処理について説明する。例えば、図6に示すステップ1の例では、撮影イメージに基づいて3つのポーズ(位置、姿勢)に対応する候補(Candidate)が設定されることになる。多くの場合、このようにロボットの撮影する1つのイメージzによって複数のロボットのポーズ(位置、姿勢)に対応する候補(Candidate)が設定される。
取得イメージzに基づいて設定されるロボットのポーズ(位置、姿勢)候補(Candidate)を、

とする。
ポーズ候補Cも、仮説Hと同様、以下のパラメータを持つ。
P(C)は、ポーズ候補Cが真である確率であり、イメージ・マッチング処理によって算出されるスコアに対応する。
バーは、ロボットのポーズ(位置姿勢)の正規分布の平均値(候補毎に独立)、
は、ロボットのポーズ(位置姿勢)の正規分布の共分散行列(候補毎に独立)、
である。
各仮説Hの更新処理に際しては、取得イメージzに基づいて設定されるポーズ候補Cから最も仮説Hをサポートするポーズ候補Cを選択する。例えば、以下の式に基づいて仮説Hをサポートするポーズ候補Cを選択する。
上記式において、
argmaxP(C|H)は、仮説Hを最もサポートするポーズ候補Cを選択出力する関数である。
さらに、仮説Hが、取得イメージ[z]に基づいて真であると判定される確率値P(z|H)を以下の式に従って実行する。
但し、上記数式中に含まれる下式
上記式は、仮説Hと候補Cとのマハラノビス距離、
gateは、仮説Hと候補Cとが同等か相違かを判断するための、予め定めた閾値である。
上記式によって得られた結果に基づいて、仮説Hが真であると判断される確率P(H)を、
とする更新処理を実行する。但し、ηは正規化因子で以下の条件を満足させた設定の元で処理を行なう。
以上の説明、すなわち[0089]〜[0091]の項目における説明はカルマン・フィルタを適用した仮説の更新処理である。
要するに、上述した仮説[H]の更新処理は、
仮説Hをサポートするに十分なイメージzに基づくポーズ候補Cが存在する場合は、仮説Hが真の下で、取得イメージ[z]が真であると判定される確率値P(z|H)を高くする更新を実行し、
仮説Hをサポートするに十分なイメージzに基づくポーズ候補Cが存在しない場合は、確率値P(z|H)を低くする更新を実行し、P(z|H)とP(H)に基づき「取得イメージ[z]が真の下で、仮説Hが真である確率値」P(H|z)を求め、それを元に前記仮説Hの確率P(H)を更新する処理である。
具体例について図8を参照して説明する。図8(a)は、あるステップにおいて得られるロボット位置の存在確率分布データであり、(b)は、取得イメージ(z)に基づくイメージ・マッチングの結果として得られるポーズ候補が真である確率分布データである。
図8(a)に示す存在確率分布データには3つのピークが示され、これらが、仮説H、H、Hに相当する。一方、図8(b)に示す取得イメージ(z)に基づくポーズ候補の確率分布データにも3つのピークが示され、これらポーズ候補C、C、Cに相当する。仮説Hには、この仮説をサポートするポーズ候補Cが存在する。ポーズ候補がサポートするかの判断は前述の数式(数式a)を利用する。仮説Hとポーズ候補Cとのピーク位置が近接し、ポーズ候補Cは仮説Hをサポートするポーズ候補となり、仮説Hが真の下で、取得イメージ[z]が真であると判定される確率値P(z|H)の値を高くする更新が実行され、前述の(数式b)の更新処理が行われる。一方、その他の仮説H、Hをサポートするポーズ候補はなく、仮説H、Hが真の下で、取得イメージ[z]が真であると判定される確率値P(z|H)、およびP(z|H)の値を低くする更新が実行され、前述の(数式b)の更新処理が行われる。この処理を実行することで、複数の仮説Hの確率値の差分が大きくなり、やがて1つの仮説のみに収束することになる。
なお、いずれの仮説Hもがいずれのポーズ候補からサポートされない場合もあり得る。このような場合は、すべての仮説の初期化処理を以下のように実行する。
また、複数の仮説Hが極めて近い場合、例えば、仮説Hと仮説Hの示すロボット位置が極めて近接した位置であるような場合は、これらの複数の仮説を1つの仮説にマージする処理を実行してもよい。マージを実行する具体的な判定は、例えば閾値[dmerge]を予め設定して、以下の条件式によって判定する。
上記式を満足する仮説H、Hが検出された場合には、
各仮説に対応する確率P(H)、P(H)を加算し、ロボットのポーズの平均・共分散行列は共分散行列の行列式が小さいほうを用いて新たな仮設の確率とする。
また、予め定めた閾値(Pmin)より低い確率を持つ仮説については、削除する処理を行ってもよい。例えば、以下の処理によって、仮説を削除する。
上述したように、本発明のローカリゼーションにおいては、
(1)情報処理装置(ロボットなど)の取得したイメージ[z]に基づくイメージ・マッチングを実行してスコア算出を実行し、
(2)算出したスコアに基づいて、ポーズ候補の確率分布を算出して候補確率分布データ(例えば図6(s1−a))を算出し、
(3)さらに、候補確率分布データの変換処理により仮説確率分布データ(例えば図6(s2−a))を算出し、
(4)さらに、新たに取得したイメージに基づいて得られる候補確率分布データ(例えば図6(s2−b))と、仮説確率分布データ(例えば図6(s2−a))とに基づいて、仮説確率分布データの更新(例えば先に説明したカルマン・フィルタを適用した仮説の更新処理)を実行して、より正しい仮説を選択する、
これらの処理によって、ポーズ推定を実行するものである。
この処理は、図2のフローに従った処理であり、図2に示すフローは、新たなイメージ取得毎に繰り返し実行する。この繰り返し処理により、仮説確率分布データに示されるピークとしての仮説[H]が収束し、より確からしい1つのポーズが決定されることになる。
なお、図2に示すフローは、本発明のローカリゼーションを実行する1つの実施例であり、図2と異なる処理シーケンスとすることも可能である。以下、図9〜図11を参照して、本発明の複数のローカリゼーション処理シーケンス例について説明する。
まず、図9に示すローカリゼーション処理フローについて説明する。図9に示すフローチャートに従った処理は、図4に示す情報処理装置のデータ処理部102において実行される処理である。
図9に示すフローチャートのステップS201とステップS202の処理は、図2に示すフローチャートのステップS101、S102の処理と同様の処理であり、情報処理装置(ロボットなど)のカメラによりイメージを取得し、特徴点を抽出する処理である。図9に示すフローでは、次にステップS203において、イメージ・マッチングによって得られるスコアの閾値であるスコア閾値を設定し、ステップS204において、スコア・マッチングによって得られたスコアがスコア閾値以上のデータ、すなわち、取得したイメージとマッチ率の高いデータベースに格納されたイメージデータのみを選択して取得する。
その後の、ステップS205では、スコアがスコア閾値以上であったデータベース格納イメージに基づいて変換パラメータ(Transformation)を算出する。ステップS206〜S207の処理は、図2に示すフローのステップS104〜S105の処理と同様の処理となる。本処理理例では、予めスコア閾値を設定して、スコア閾値以上のスコアの得られたイメージのみを対象とした処理を実行するので、処理効率が高まり、迅速な処理が可能となる。
次に、図10に示すローカリゼーション処理フローについて説明する。図10に示すフローチャートに従った処理は、図4に示す情報処理装置のデータ処理部102において実行される処理である。
図10に示すフローチャートにおけるステップS301は、ポーズ仮説(Hypothesis)の初期設定処理である。初期的には全く情報がないので、例えばロボットの位置推定を行なう場合、すべての位置における存在確率が同一値となるフラットなポーズ仮説が設定される。
その後のステップS302〜S308の処理は、図9に示すフローのステップS201〜S207の処理と同様の処理となる。
ステップS309では、設定済みのポーズ仮説と、ステップS308において取得した新たなポーズ仮説との合成処理を実行する。初期的にはステップS301において設定したフラットな初期設定のホーズ仮説と、最初の取得イメージに基づいて得られたポーズ仮説との合成処理が実行される。
次に、ステップS310において、エージェント(ロボットなどのカメラを備えた情報処理装置)の移動処理が実行され、ステップS311において移動情報に基づくポーズ仮説の更新を実行し、ステップS302に戻り新たなイメージ取得以下の処理を繰り返し実行する。
本処理例では、以前に取得されたポーズ仮説と新たなイメージによって生成されたポーズ仮説を合成してポーズ仮説を更新していくので、事前に取得された情報との連携性が維持され、取得された1つのイメージデータに基づくポーズ推定が困難な状況においても、誤りの発生を防止したポーズ推定が実現される。
次に、図11に示すローカリゼーション処理フローについて説明する。図11に示すフローチャートに従った処理は、図4に示す情報処理装置のデータ処理部102において実行される処理である。
図11に示すフローチャートにおけるステップS401は、ポーズ仮説(Hypothesis)の閾値を設定する処理である。すなわち、許容するポーズ仮説の確率値を決定し、これをポーズ仮説閾値として設定する。ステップS402〜S412の処理は、図10を参照して説明したフローのステップS301〜S311に相当する。
ステップS413の処理は、ステップS412において設定された更新されたポーズ仮説の確率分布データから最も確率値の高いポーズ仮説を選択する処理である。次に、ステップS414において選択したポーズ仮説の確率値と、ステップS401で設定したポーズ仮説閾値とを比較し、ステップS414において選択したポーズ仮説の確率値がポーズ仮説閾値以上であれば、その選択されたポーズ仮説を例えばロボットのポーズであると判定してステップ415において出力する。
ステップS414において選択したポーズ仮説の確率値がポーズ仮説閾値以上でない場合は、その選択されたポーズ仮説を出力することなく、ステップS403に戻り、さらに新たなイメージ取得を実行して、同様の処理を繰り返し行なう。この処理の繰り返しにより、イメージ取得に応じて生成されたポーズ仮説の確率分布の最大値となる仮説ポーズがポーズ仮説閾値以上となった場合に、そのポーズ仮説を最終判定ポーズとして出力する。
本処理例では、最終的に出力するポーズを閾値によって決定する構成としたので、より確実性の高いポーズを効率的に選択して出力することが可能となる。
[パーティクル・フィルタを用いた処理例]
上述したローカリゼーション処理は、カルマン・フィルタを適用した存在確率分布データを生成して仮説(Hypothesis)のの確率分布データを得る処理例として説明したが、仮説の確率分布データを取得する処理手法として、例えばパーティクル・フィルタ(Particle Filter)を適用することも可能である。
パーティクル・フィルタ(Particle Filter)を適用したローカリゼーションは、多数のパーティクル(サンプリング点)により状態分布を近似する同定処理(Localization)手法である。例えば、図12に示すように、初期的な仮説(H)は、図12(a)に示すように均一なパーティクル分布データとなる。
次に、上述した実施例と同様、イメージ取得データに基づくポーズ候補の候補確率分布データが図12(b)のデータとして取得され、この候補確率分布に基づいて、図12(a)のパーティクル分布データが更新され、図12(c)の更新された仮説確率分布データが得られる。
さらに、図13に示すようにロボットが移動して、新たな取得イメージに基づく候補確率分布データ(図13(d))と、移動情報に基づいて更新したパーティクル分布データとしての仮説確率分布データ(図13(e))が算出される。これらの候補確率分布データ(図13(d))と、仮説確率分布データ(図13(e))とに基づいて新たな仮説確率分布データ(図13(f))が生成される。
このパーティクル・フィルタを適用したローカリゼーション処理においては、
各仮説をN個のパーティクル、

ただしi=1〜N
とする。
各パーティクル[P]は、確率値に相当するウェイト[w]を有し、ポーズを示す値[x]とともに、
={w,x
として表される。
初期状態において、すべてのパーティクルのウェイトは均一であり、
=(1/N)
=random_pose()
として設定される。
パーティクル・フィルタ(Particle Filter)を適用したローカリゼーションにおけるポーズ候補Cは、以下のパラメータを持つ。
P(C)は、ポーズ候補Cが真である確率であり、イメージ・マッチング処理によって算出されるスコアに対応する。
バーは、ロボットのポーズの正規分布の平均値、
は、ロボットのポーズの正規分布の共分散行列、
である。
各仮説Hの更新処理に際しては、取得イメージzに基づいて設定されるポーズ候補Cから最も仮説Hをサポートするポーズ候補Cを選択する。例えば、以下の式に基づいて仮説Hをサポートするポーズ候補Cを選択する。
上記式において、
argmaxP(C|H)は、仮説Hを最もサポートするポーズ候補Cを選択出力する関数である。
さらに、仮説Hに対応するパーティクルのウェイト[wi]を以下の式に基づいて更新する。
なお、正規化処理としてウェイトの総計値について、以下の条件を満足させた設定の元で処理を行なう。
パーティクル・フィルタを適用したローカリゼーションのシーケンス例について、図14に示すフローチャートを参照して説明する。図14に示すフローチャートに従った処理は、図4に示す情報処理装置のデータ処理部102において実行される処理である。
まず、ステップS501において、ロボット等の情報処理装置に備えられたカメラを適用してイメージ取得処理を実行し、ステップS502において、特徴点抽出を行い、ステップS503においてイメージ・マッチングによるスコア算出を行なう。これらの処理は、先に図2のフローを参照して説明した処理と同様の処理となる。
ステップS504において、パーティクルのウェイトの更新処理を実行する。この更新処理は、上述した式、すなわち、仮説Hに対応するパーティクルのウェイト[wi]更新処理として説明した式に基づいて実行する。次に、ステップS505においてパーティクル・ウェイトの正規化処理を実行する。
次に、ステップS506において、ロボットの移動を実行し、ステップS507においてロボットの移動情報に基づくパーティクル更新処理を実行し、その後、ステップS508において、パーティクルのリサンプル(Resample)処理を実行する。これらの処理をイメージ取得毎に実行し、最もパーティクル・ウェイトが大きくなったパーティクルに対応するポーズを出力ポーズとする。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータにインストールする他、ダウンロードサイトから、コンピュータに無線転送や、LAN(Local Area Network)、インターネットといったネットワークを介して、コンピュータに有線で転送し、コンピュータでは、そのようにして転送されてくるプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本発明の一実施例の構成によれば、カメラによって取得されるイメージと、参照用イメージとのイメージ・マッチング処理により、一致度の高い参照用イメージに対して高スコアを設定するスコア算出を実行し、算出スコアに基づいて情報処理装置のポーズ候補の確率分布である候補確率分布データを算出し、さらに候補確率分布データに基づくデータ変換処理により情報処理装置のポーズ仮説に対応する確率分布である仮説確率分布データを算出し、取得イメージに基づいて仮説確率分布データを更新し、より確率値の高い仮説を選択する構成としたので、例えば同一のイメージが含まれる環境下であっても、逐次入力するイメージに基づいて、次第に1つの仮説の確率が高くなる収束が行われ、効率的に正しいローカリゼーションが実行される。
イメージ・マッチングを用いたローカリゼーションの処理シーケンス例について説明するフローチャートを示す図である。 本発明の一実施例の情報処理装置において実行する同定処理(ローカリゼーション)のシーケンスについて説明するフローチャートを示す図である。 ローカリゼーションを行なう装置の動作について説明する図である。 ローカリゼーションを行なう装置の構成例について説明する図である。 ハリス(Harris)コーナーイメージを用いた特徴点抽出処理例について説明する図である。 複数仮説を適用して最終的な1つのポーズを決定する本発明に従ったローカリゼーション処理について説明する図である。 複数仮説を適用して最終的な1つのポーズを決定する本発明に従ったローカリゼーション処理について説明する図である。 仮説に対するポーズ候補のサポートについて説明する図である。 本発明の一実施例の情報処理装置において実行する同定処理(ローカリゼーション)のシーケンスについて説明するフローチャートを示す図である。 本発明の一実施例の情報処理装置において実行する同定処理(ローカリゼーション)のシーケンスについて説明するフローチャートを示す図である。 本発明の一実施例の情報処理装置において実行する同定処理(ローカリゼーション)のシーケンスについて説明するフローチャートを示す図である。 パーティクル・フィルタ(Particle Filter)を適用したローカリゼーションについて説明する図である。 パーティクル・フィルタ(Particle Filter)を適用したローカリゼーションについて説明する図である。 パーティクル・フィルタ(Particle Filter)を適用したローカリゼーションの処理シーケンスについて説明するフローチャートを示す図である。
符号の説明
100 情報処理装置
101 カメラ
102 データ処理部
103 記憶部
200 取得イメージ
210〜212 ハリスコーナーイメージ
220〜222 ラプラシアンイメージ
251 ロボット(情報処理装置)

Claims (23)

  1. 自己位置もしくは自己姿勢の同定処理を実行する情報処理装置であり、
    情報処理装置周囲のイメージ(画像)を撮影するカメラと、
    前記カメラの取得した取得イメージとのマッチング処理を行なう参照用イメージを格納した記憶部と、
    前記カメラの取得したイメージに基づいて情報処理装置の自己位置もしくは自己姿勢の同定処理を実行するデータ処理部を有し、
    前記データ処理部は、
    前記カメラの取得した取得イメージと前記参照用イメージとのイメージ・マッチング処理により、一致度の高い参照用イメージに対して高スコアを設定するスコア算出を実行して、算出スコアに基づいて情報処理装置のポーズ候補の確率分布である候補確率分布データを算出し、
    前記候補確率分布データに基づくデータ変換処理により情報処理装置のポーズ仮説に対応する確率分布である情報処理装置の位置姿勢確率分布データを算出する処理を実行する構成であることを特徴とする情報処理装置。
  2. 前記データ処理部は、
    新たに取得するイメージに基づいて、前記仮説確率分布データの更新処理を実行して、最も確率値の高いポーズ仮説を選定し、選定したポーズ仮説を情報処理装置のポーズとして出力する処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  3. 前記データ処理部は、
    複数のポーズ仮説を設定し、前記カメラの取得したイメージに基づく前記仮説確率分布データの更新処理により、より確からしい仮説を選定する多仮説トラッキング(MHT:Multi−hypothesis Tracking)処理を実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  4. 前記データ処理部は、
    複数のポーズ仮説[H]の各々について、仮説Hをサポートするに十分なイメージ[z]に基づくポーズ候補[C]存在する場合は、ポーズ仮説確率分布データにおける前記仮説[H]が真の下で取得イメージ[z]が真であると判定される確率値P(z|H)を高くする更新を実行し、
    ポーズ仮説[H]をサポートするに十分なイメージ[z]に基づくポーズ候補[C]が存在しない場合は、前記確率値P(z|H)を低くする更新処理を実行し、
    前記確率値P(z|H)と前記仮説[H]の確率値P(H)に基づいて,取得イメージ[z]が真の下で仮説Hが真である確率値P(H|z)を求め、それを元に前記仮説Hの確率P(H)を更新する構成であることを特徴とする請求項3に記載の情報処理装置。
  5. 前記データ処理部は、
    前記候補確率分布データに基づく仮説確率分布データの算出処理をカルマン・フィルタによる仮説更新処理に従って実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  6. 前記データ処理部は、
    前記候補確率分布データに基づく仮説確率分布データの算出処理をパーティクル・フィルタによる仮説更新処理に従って実行する構成であることを特徴とする請求項1に記載の情報処理装置。
  7. 前記データ処理部は、
    前記カメラの取得した取得イメージと前記参照用イメージとのイメージ・マッチングにより対応する特徴点情報を取得し、該対応特徴点情報に基づいてスコア算出を行なう構成であることを特徴とする請求項1に記載の情報処理装置。
  8. 前記データ処理部は、
    ハリスコーナーディテクター(Harris Corner Detector)を用いた特徴点抽出処理を実行する構成であることを特徴とする請求項7に記載の情報処理装置。
  9. 前記データ処理部は、
    前記イメージ・マッチング処理により算出するスコアが予め定めたスコア閾値以上の参照用イメージのみを選択して、選択イメージに基づく自己位置もしくは自己姿勢の同定処理を実行する構成であることを特徴とする請求項1記載の情報処理装置。
  10. 前記データ処理部は、
    ポーズ仮説の初期設定を実行し、取得イメージに基づいて生成される新規ポーズ仮説と、設定済みのポーズ仮説との合成処理を実行して、ポーズ仮説の更新を行なう構成であることを特徴とする請求項1記載の情報処理装置。
  11. 前記データ処理部は、
    ポーズ仮説の確率値に対応する閾値を設定し、前記仮説確率分布データに含まれる最高確率のポーズ仮説と前記閾値とを比較し、最高確率のポーズ仮説が前記閾値より上である場合、該最高確率のポーズ仮説を情報処理装置のポーズとして出力する処理を実行する構成であることを特徴とする請求項1記載の情報処理装置。
  12. 情報処理装置において自己位置もしくは自己姿勢の同定処理を実行する情報処理方法であり、
    カメラが、情報処理装置周囲のイメージ(画像)を撮影するイメージ取得ステップと、
    データ処理部が、前記カメラの取得したイメージを適用して情報処理装置の自己位置もしくは自己姿勢の同定処理を実行するデータ処理ステップを有し、
    前記データ処理ステップは、
    前記カメラの取得した取得イメージと、参照用イメージとのイメージ・マッチング処理により、一致度の高い参照用イメージに対して高スコアを設定するスコア算出を実行して、算出スコアに基づいて情報処理装置のポーズ候補の確率分布である候補確率分布データを算出する候補確率分布データ算出処理と、
    前記候補確率分布データに基づくデータ変換処理により情報処理装置のポーズ仮説に対応する確率分布である仮説確率分布データを算出する仮説確率分布データ算出処理を実行することを特徴とする情報処理方法。
  13. 前記データ処理ステップは、さらに、
    新たに取得するイメージに基づいて、前記仮説確率分布データの更新処理を実行して、最も確率値の高いポーズ仮説を選定し、選定したポーズ仮説を情報処理装置のポーズとして出力する処理を実行することを特徴とする請求項12に記載の情報処理方法。
  14. 前記データ処理ステップは、
    複数のポーズ仮説を設定し、前記カメラの取得したイメージに基づく前記仮説確率分布データの更新処理により、より確からしい仮説を選定する多仮説トラッキング(MHT:Multi−hypothesis Tracking)処理を実行することを特徴とする請求項12に記載の情報処理方法。
  15. 前記データ処理ステップは、
    複数のポーズ仮説[H]の各々について、ポーズ仮説Hをサポートするに十分なイメージ[z]に基づくポーズ候補[C]存在する場合は、仮説確率分布データにおける前記仮説[H]が真の下で取得イメージ[z]が真であると判定される確率値P(z|H)を高くする更新を実行し、
    ポーズ仮説[H]をサポートするに十分なイメージ[z]に基づくポーズ候補[C]が存在しない場合は、前記確率値P(z|H)を低くする更新処理を実行し、
    前記確率値P(z|H)と前記仮説[H]の確率値P(H)に基づき「取得イメージ[z]が真の下で、仮説Hが真である確率値」P(H|z)を求め、それを元に前記仮説Hの確率P(H)を更新することを特徴とする請求項14に記載の情報処理方法。
  16. 前記データ処理ステップは、
    前記候補確率分布データに基づく仮説確率分布データの算出処理をカルマン・フィルタによる仮説更新処理に従って実行することを特徴とする請求項12に記載の情報処理方法。
  17. 前記データ処理ステップは、
    前記候補確率分布データに基づく仮説確率分布データの算出処理をパーティクル・フィルタによる仮説更新処理に従って実行することを特徴とする請求項12に記載の情報処理方法。
  18. 前記データ処理ステップは、
    前記カメラの取得した取得イメージと前記参照用イメージとのイメージ・マッチングにより対応する特徴点情報を取得し、該対応特徴点情報に基づいてスコア算出を行なうことを特徴とする請求項12に記載の情報処理方法。
  19. 前記データ処理ステップは、
    ハリスコーナーディテクター(Harris Corner Detector)を用いた特徴点抽出処理を実行することを特徴とする請求項18に記載の情報処理方法。
  20. 前記データ処理ステップは、
    前記イメージ・マッチング処理により算出するスコアが予め定めたスコア閾値以上の参照用イメージのみを選択して、選択イメージに基づく自己位置もしくは自己姿勢の同定処理を実行することを特徴とする請求項12記載の情報処理方法。
  21. 前記データ処理ステップは、
    ポーズ仮説の初期設定を実行し、取得イメージに基づいて生成される新規ポーズ仮説と、設定済みのポーズ仮説との合成処理を実行して、ポーズ仮説の更新を行なうことを特徴とする請求項12記載の情報処理方法。
  22. 前記データ処理ステップは、
    ポーズ仮説の確率値に対応する閾値を設定し、前記仮説確率分布データに含まれる最高確率のポーズ仮説と前記閾値を比較し、最高確率のポーズ仮説が閾値以上である場合、該最高確率のポーズ仮説を情報処理装置のポーズとして出力する処理を実行することを特徴とする請求項12記載の情報処理方法。
  23. 情報処理装置に自己位置もしくは自己姿勢の同定処理を実行させるコンピュータ・プログラムであり、
    カメラに、情報処理装置周囲のイメージ(画像)を撮影させるイメージ取得ステップと、
    データ処理部に、前記カメラの取得したイメージを適用して情報処理装置の自己位置もしくは自己姿勢の同定処理を実行させるデータ処理ステップを有し、
    前記データ処理ステップは、
    前記カメラの取得した取得イメージと、参照用イメージとのイメージ・マッチング処理により、一致度の高い参照用イメージに対して高スコアを設定するスコア算出を実行させて、算出スコアに基づいて情報処理装置のポーズ候補の確率分布である候補確率分布データを算出させる候補確率分布データ算出処理と、
    前記候補確率分布データに基づくデータ変換処理により情報処理装置のポーズ仮説に対応する確率分布である仮説確率分布データを算出する仮説確率分布データ算出処理を実行させるステップであることを特徴とするコンピュータ・プログラム。
JP2007018271A 2007-01-29 2007-01-29 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム Pending JP2008185417A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007018271A JP2008185417A (ja) 2007-01-29 2007-01-29 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007018271A JP2008185417A (ja) 2007-01-29 2007-01-29 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

Publications (2)

Publication Number Publication Date
JP2008185417A true JP2008185417A (ja) 2008-08-14
JP2008185417A5 JP2008185417A5 (ja) 2010-02-12

Family

ID=39728574

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007018271A Pending JP2008185417A (ja) 2007-01-29 2007-01-29 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP2008185417A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2372582A2 (en) 2010-03-09 2011-10-05 Sony Corporation Information processing device, map update method, program, and information processing system
JP2013186551A (ja) * 2012-03-06 2013-09-19 Nissan Motor Co Ltd 移動物体位置姿勢推定装置及び方法
JP2015513679A (ja) * 2012-03-02 2015-05-14 クアルコム,インコーポレイテッド シーン構造ベース自己姿勢推定
KR101745626B1 (ko) 2016-11-21 2017-06-09 아이씨티웨이주식회사 위치정보 연산 방법 및 이를 위한 연산 장치
JP2017519184A (ja) * 2014-03-28 2017-07-13 フィリップス ライティング ホールディング ビー ヴィ 符号化光に基づく携帯装置の位置特定
JP7506091B2 (ja) 2019-05-21 2024-06-25 マイクロソフト テクノロジー ライセンシング,エルエルシー 画像ベースの位置特定

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003166824A (ja) * 2001-11-30 2003-06-13 Sony Corp ロボットの自己位置同定システム及び自己位置同定方法
JP2006209770A (ja) * 2005-01-25 2006-08-10 Samsung Electronics Co Ltd 移動体の位置の推定及び地図の生成装置とその方法、並びにその装置を制御するコンピュータプログラムを保存するコンピュータで読み取り可能な記録媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003166824A (ja) * 2001-11-30 2003-06-13 Sony Corp ロボットの自己位置同定システム及び自己位置同定方法
JP2006209770A (ja) * 2005-01-25 2006-08-10 Samsung Electronics Co Ltd 移動体の位置の推定及び地図の生成装置とその方法、並びにその装置を制御するコンピュータプログラムを保存するコンピュータで読み取り可能な記録媒体

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2372582A2 (en) 2010-03-09 2011-10-05 Sony Corporation Information processing device, map update method, program, and information processing system
JP2015513679A (ja) * 2012-03-02 2015-05-14 クアルコム,インコーポレイテッド シーン構造ベース自己姿勢推定
KR101585521B1 (ko) 2012-03-02 2016-01-14 퀄컴 인코포레이티드 장면 구조-기반 자가-포즈 추정
JP2013186551A (ja) * 2012-03-06 2013-09-19 Nissan Motor Co Ltd 移動物体位置姿勢推定装置及び方法
JP2017519184A (ja) * 2014-03-28 2017-07-13 フィリップス ライティング ホールディング ビー ヴィ 符号化光に基づく携帯装置の位置特定
KR101745626B1 (ko) 2016-11-21 2017-06-09 아이씨티웨이주식회사 위치정보 연산 방법 및 이를 위한 연산 장치
JP7506091B2 (ja) 2019-05-21 2024-06-25 マイクロソフト テクノロジー ライセンシング,エルエルシー 画像ベースの位置特定

Similar Documents

Publication Publication Date Title
US10096129B2 (en) Three-dimensional mapping of an environment
Li et al. DeepI2P: Image-to-point cloud registration via deep classification
CN112014857B (zh) 用于智能巡检的三维激光雷达定位导航方法及巡检机器人
KR102462278B1 (ko) 어떤 대상의 자기 동작 추정을 위한 방법
KR101776621B1 (ko) 에지 기반 재조정을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법
EP2380136B1 (en) A method of estimating a motion of a multiple camera system, a multiple camera system and a computer program product
US20110169923A1 (en) Flow Separation for Stereo Visual Odometry
US8649557B2 (en) Method of mobile platform detecting and tracking dynamic objects and computer-readable medium thereof
US8457373B2 (en) System and method for robust 2D-3D image registration
US20180246515A1 (en) Vehicle Automated Parking System and Method
JP2009237845A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
Cheng et al. Improving visual localization accuracy in dynamic environments based on dynamic region removal
JP6330068B2 (ja) 画像分析システムおよび方法
CN104881029B (zh) 基于一点ransac和fast算法的移动机器人导航方法
JP4880805B2 (ja) 物体位置推定装置、物体位置推定方法、及び、物体位置推定プログラム
JP2008185417A (ja) 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム
JP2007249309A (ja) 障害物追跡装置及びその方法
WO2022021661A1 (zh) 一种基于高斯过程的视觉定位方法、系统及存储介质
CN114434123B (zh) 一种空中线夹的机械臂定位拆卸方法、装置及存储介质
Lu et al. Consensus-informed optimization over mixtures for ambiguity-aware object SLAM
Ahmadi et al. HDPV-SLAM: Hybrid depth-augmented panoramic visual SLAM for mobile mapping system with tilted LiDAR and panoramic visual camera
CN104240265B (zh) 一种基于全局约束的多目标跟踪方法和系统
Matsuo et al. Outdoor visual localization with a hand-drawn line drawing map using fastslam with pso-based mapping
CN116907477A (zh) 一种基于视觉路标辅助的高精度激光slam方法及装置
EP2245593B1 (en) A method of estimating a motion of a multiple camera system, a multiple camera system and a computer program product

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091222

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20091222

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111020

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111108

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120228