(57)【特許請求の範囲】
【請求項１】
環境マップの生成処理を実行する情報処理装置であり、
画像を撮影するカメラと、
前記カメラの取得した画像に基づいてカメラの位置および姿勢を検出する自己位置検出部と、
前記カメラの取得した画像からオブジェクトを検出する画像認識処理部と、
前記自己位置検出部の検出したカメラの位置姿勢情報と、前記画像認識処理部の検出したオブジェクト情報を入力して、環境マップの生成または更新処理を実行するデータ構築部と、
オブジェクトに対応する少なくとも三次元形状データを含むオブジェクト情報を登録した辞書データを格納した辞書データ記憶部を有し、
前記画像認識処理部は、
前記辞書データを参照して前記カメラの取得した画像からオブジェクトを検出する処理を実行し、
前記データ構築部は、
前記辞書データに登録された三次元形状データを適用して環境マップへのオブジェクト配置を実行する構成であることを特徴とする情報処理装置。
【請求項２】
前記画像認識処理部は、
前記カメラの取得した画像に含まれるオブジェクトの特徴点の位置を識別し、前記データ構築部に出力する処理を実行する構成であり、
前記データ構築部は、
前記画像認識処理部から入力する特徴点情報と、前記自己位置検出部から入力するカメラの位置姿勢情報とに基づいて、オブジェクトの世界座標系における位置および姿勢を算出して環境マップに登録する処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記自己位置検出部は、
前記カメラから入力する画像内の特徴点を利用して世界座標系で表されたカメラの推定位置および姿勢情報としてのカメラ位置（Ｃｗ）、カメラの回転行列（Ｒｗ）を算出して前記データ構築部に出力する処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項４】
前記自己位置検出部は、
前記カメラから入力する画像内の特徴点の位置と、カメラの位置姿勢を併せて検出するＳＬＡＭ（ｓｉｍｕｌｔａｎｅｏｕｓ  ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  ｍａｐｐｉｎｇ）を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記情報処理装置は、さらに、
前記画像認識処理部におけるオブジェクト検出対象フレームより以前の画像フレーム中のオブジェクト中の特徴点位置を、前記画像認識処理部におけるオブジェクト検出対象フレームの画像対応の座標上に変換する座標変換部を有し、
前記画像認識処理部は、
前記座標変換部の提供する特徴点情報を前記データ構築部に出力する処理を実行する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項６】
前記自己位置検出部は、
前記カメラから入力する画像内の特徴点の位置と、カメラの位置姿勢を併せて検出するＳＬＡＭ（ｓｉｍｕｌｔａｎｅｏｕｓ  ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  ｍａｐｐｉｎｇ）を実行する構成であり、
前記情報処理装置は、さらに、
前記画像認識処理部において検出した第１の特徴点と、前記自己位置検出部が前記ＳＬＡＭの実行により検出した第２の特徴点の位置を比較し、各特徴点の位置が予め定めた閾値以内の距離にある場合に、前記第２の特徴点を特徴点データベースに記録する特徴点照合部を有し、
前記座標変換部は、前記特徴点データベースに記録された特徴点の位置を、前記画像認識処理部におけるオブジェクト検出対象フレームの画像対応の座標上に変換して画像認識処理部において利用可能とする処理を行なう構成であることを特徴とする請求項５に記載の情報処理装置。
【請求項７】
前記データ構築部は、
生成済みの環境マップを格納した環境マップデータベースと、
前記環境マップデータベースから環境マップを取得する環境情報取得部と、
前記環境情報取得部の取得した環境マップと、前記画像認識処理部から入力するオブジェクト検出情報とを比較し、比較結果を環境マップ更新部に出力する認識結果比較部と、
前記認識結果比較部から入力する比較結果に基づいて、前記環境マップデータベースに格納された環境マップの更新処理を実行する環境マップ更新部を有する構成であることを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記環境情報取得部は、
前記環境マップデータベースから環境マップを取得し、取得した環境マップに含まれる特徴点の位置を含む特徴点情報を生成する特徴点情報生成部を有し、
前記認識結果比較部は、
前記画像認識処理部から入力するオブジェクト対応の特徴点情報と、前記特徴点情報生成部の生成した特徴点情報を比較して、比較情報を前記環境マップ更新部内の画像内変更領域抽出部に出力する特徴点情報比較部を有し、
前記環境マップ更新部は、
前記特徴点情報比較部から前記比較情報を入力し、マッチした特徴点の距離が予め設定した閾値より近い領域以外を環境マップの更新領域として抽出する画像内変更領域抽出部と、
前記環境マップデータベースに格納された環境マップに対して、前記画像内変更領域抽出部の抽出した更新領域のみを更新対象として、前記画像認識処理部から入力する特徴点情報を用いた更新処理を実行する環境マップ更新部と、
を有する構成であることを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記環境情報取得部は、
前記環境マップデータベースから環境マップを取得し、取得した環境マップに含まれるオブジェクトの重心・姿勢の存在確率分布を抽出する存在確率分布抽出部を有し、
前記認識結果比較部は、
前記画像認識処理部から入力するオブジェクト認識結果を入力して、認識オブジェクトの存在確率分布を生成する存在確率分布生成部と、
前記存在確率分布抽出部が環境マップに基づいて生成した認識オブジェクトの存在確率分布と、前記存在確率分布生成部が前記画像認識処理部の認識結果に基づいて生成したオブジェクトの存在確率分布との比較を行い、比較情報を前記環境マップ更新部に出力する確率分布比較部を有し、
前記環境マップ更新部は、
前記存在確率分布比較部から入力する比較情報に基づいて環境マップの更新領域を決定し、前記環境マップデータベースに格納された環境マップに対して、前記更新領域のみを更新対象として、前記画像認識処理部から入力する特徴点情報を用いた更新処理を実行する構成であることを特徴とする請求項７に記載の情報処理装置。
【請求項１０】
前記確率分布比較部は、
前記存在確率分布抽出部が環境マップに基づいて生成した認識オブジェクトの存在確率分布と、前記存在確率分布生成部が前記画像認識処理部の認識結果に基づいて生成したオブジェクトの存在確率分布との差分を示すマハラノビス距離（ｓ）を算出して前記環境マップ更新部に出力する構成であり、
前記環境マップ更新部は、
前記マハラノビス距離（ｓ）が、予め設定した閾値より大きい場合に、前記環境マップデータベースに登録された環境マップを更新する処理を実行する構成であることを特徴とする請求項９に記載の情報処理装置。
【請求項１１】
情報処理装置において、環境マップの生成処理を実行する情報処理方法であり、
カメラが画像を撮影する画像撮影ステップと、
自己位置検出部が、前記カメラの取得した画像に基づいてカメラの位置および姿勢を検出する自己位置検出ステップと、
画像認識処理部が、前記カメラの取得した画像からオブジェクトを検出する画像認識処理ステップと、
データ構築部が、前記自己位置検出部の検出したカメラの位置姿勢情報と、前記画像認識処理部の検出したオブジェクト情報を入力して、環境マップの生成または更新処理を実行するデータ構築ステップとを有し、
前記画像認識処理ステップは、
オブジェクトに対応する少なくとも三次元形状データを含むオブジェクト情報を登録した辞書データを参照して前記カメラの取得した画像からオブジェクトを検出する処理を実行し、
前記データ構築ステップは、
前記辞書データに登録された三次元形状データを適用して環境マップへのオブジェクト配置を実行することを特徴とする情報処理方法。
【請求項１２】
前記画像認識処理ステップは、
前記カメラの取得した画像に含まれるオブジェクトの特徴点の位置を識別し、前記データ構築部に出力する処理を実行するステップであり、
前記データ構築ステップは、
前記画像認識処理部から入力する特徴点情報と、前記自己位置検出部から入力するカメラの位置姿勢情報とに基づいて、オブジェクトの世界座標系における位置および姿勢を算出して環境マップに登録する処理を実行するステップであることを特徴とする請求項１１に記載の情報処理方法。
【請求項１３】
前記自己位置検出ステップは、
前記カメラから入力する画像内の特徴点を利用して世界座標系で表されたカメラの推定位置および姿勢情報としてのカメラ位置（Ｃｗ）、カメラの回転行列（Ｒｗ）を算出して前記データ構築部に出力する処理を実行するステップであることを特徴とする請求項１１に記載の情報処理方法。
【請求項１４】
前記自己位置検出ステップは、
前記カメラから入力する画像内の特徴点の位置と、カメラの位置姿勢を併せて検出するＳＬＡＭ（ｓｉｍｕｌｔａｎｅｏｕｓ  ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  ｍａｐｐｉｎｇ）を実行するステップであることを特徴とする請求項１１に記載の情報処理方法。
【請求項１５】
前記情報処理方法は、さらに、
座標変換部が、前記画像認識処理部におけるオブジェクト検出対象フレームより以前の画像フレーム中のオブジェクト中の特徴点位置を、前記画像認識処理部におけるオブジェクト検出対象フレームの画像対応の座標上に変換する座標変換ステップを有し、
前記画像認識処理ステップは、
前記座標変換部の提供する特徴点情報を前記データ構築部に出力する処理を実行するステップであることを特徴とする請求項１１に記載の情報処理方法。
【請求項１６】
前記自己位置検出ステップは、
前記カメラから入力する画像内の特徴点の位置と、カメラの位置姿勢を併せて検出するＳＬＡＭ（ｓｉｍｕｌｔａｎｅｏｕｓ  ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  ｍａｐｐｉｎｇ）を実行するステップであり、
前記情報処理方法は、さらに、
特徴点照合部が、前記画像認識処理部において検出した第１の特徴点と、前記自己位置検出部が前記ＳＬＡＭの実行により検出した第２の特徴点の位置を比較し、各特徴点の位置が予め定めた閾値以内の距離にある場合に、前記第２の特徴点を特徴点データベースに記録する特徴点照合ステップを有し、
前記座標変換ステップは、前記特徴点データベースに記録された特徴点の位置を、前記画像認識処理部におけるオブジェクト検出対象フレームの画像対応の座標上に変換して画像認識処理部において利用可能とする処理を行なうステップであることを特徴とする請求項１５に記載の情報処理方法。
【請求項１７】
前記データ構築ステップは、
環境情報取得部が、生成済みの環境マップを環境マップデータベースから取得する環境情報取得ステップと、
認識結果比較部が、環境マップデータベースから取得した環境マップと、前記画像認識処理部から入力するオブジェクト検出情報とを比較し、比較結果を環境マップ更新部に出力する認識結果比較ステップと、
環境マップ更新部が、前記認識結果比較部から入力する比較結果に基づいて、前記環境マップデータベースに格納された環境マップの更新処理を実行する環境マップ更新ステップを有することを特徴とする請求項１１に記載の情報処理方法。
【請求項１８】
前記環境情報取得ステップは、
特徴点情報生成部が、前記環境マップデータベースから環境マップを取得し、取得した環境マップに含まれる特徴点の位置を含む特徴点情報を生成する特徴点情報生成ステップを有し、
前記認識結果比較ステップは、
特徴点情報比較部が、前記画像認識処理部から入力するオブジェクト対応の特徴点情報と、前記特徴点情報生成部の生成した特徴点情報を比較して、比較情報を前記環境マップ更新部内の画像内変更領域抽出部に出力する特徴点情報比較ステップを有し、
前記環境マップ更新ステップは、
画像内変更領域抽出部が、前記特徴点情報比較部から前記比較情報を入力し、マッチした特徴点の距離が予め設定した閾値より近い領域以外を環境マップの更新領域として抽出する画像内変更領域抽出ステップと、
環境マップ更新部が、前記環境マップデータベースに格納された環境マップに対して、前記画像内変更領域抽出部の抽出した更新領域のみを更新対象として、前記画像認識処理部から入力する特徴点情報を用いた更新処理を実行する環境マップ更新ステップと、
を有することを特徴とする請求項１７に記載の情報処理方法。
【請求項１９】
情報処理装置において、環境マップの生成処理を実行させるコンピュータ・プログラムであり、
カメラに画像を撮影させる画像撮影ステップと、
自己位置検出部に、前記カメラの取得した画像に基づいてカメラの位置および姿勢を検出させる自己位置検出ステップと、
画像認識処理部に、前記カメラの取得した画像からオブジェクトを検出させる画像認識処理ステップと、
データ構築部に、前記自己位置検出部の検出したカメラの位置姿勢情報と、前記画像認識処理部の検出したオブジェクト情報を入力して、環境マップの生成または更新処理を実行させるデータ構築ステップとを有し、
前記画像認識処理ステップは、
オブジェクトに対応する少なくとも三次元形状データを含むオブジェクト情報を登録した辞書データを参照して前記カメラの取得した画像からオブジェクトを検出するステップであり、
前記データ構築ステップは、
前記辞書データに登録された三次元形状データを適用して環境マップへのオブジェクト配置を実行するステップであることを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。さらに詳細には、カメラによって撮影された画像に基づいてカメラ周囲の地図（環境地図）の作成（ｍａｐｐｉｎｇ）、すなわち環境マップ作成処理を実行する情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。
【０００２】
本発明は、例えばカメラを備えたロボットなどのエージェント(移動体)において移動環境を観測し、観測状況に応じてエージェント周囲の地図（環境地図）の作成（ｍａｐｐｉｎｇ）、すなわち環境マップ作成処理を実行し、さらに環境マップ作成処理に併せてエージェントの位置や姿勢の推定、すなわち自己位置もしくは自己姿勢の同定処理（ローカリゼーション）を実行する情報処理装置、および情報処理方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００３】
例えばカメラを備えたロボットなどのエージェント(移動体)において移動環境を観測し、観測状況に応じてエージェント周囲の地図（環境地図）を作成する環境マップ構築処理は、車やロボットといった移動体の経路探索のために行われているものが多い。特許文献１（特開２００３−２６９９３７）には、複数のカメラによって撮影された画像から生成される距離画像（ステレオ画像）から平面を検出し、検出した平面群と撮像デバイスの位置・姿勢から床面を求め、最後に床面から障害物を認識する技術が開示されている。しかし、この特許文献１において実行する周囲環境の解析では、環境は「床」か「障害物」としか区別できない。
【０００４】
また上記手法では、複数のカメラの撮影画像を用いて距離画像を生成することが必要となる。このような距離画像を生成することなく１つのカメラ撮影画像の画像解析処理に基づいて環境マップを作成する技術についても盛んに開発されている。多くは単眼で取得した１枚の画像のみから様々な情報を認識するシステムである。しかし、これらの処理の多くは、例えばカメラの位置を原点とした座標系を世界座標系として周囲の物体の位置を計算する構成となっている。すなわちカメラを備えたロボットが周囲の物体に衝突しないように走行可能とするなどを主目的とするものであり、カメラによって撮影された画像に含まれる様々な認識対象、例えば「壁」、「テーブル」、「ソファー」などの認識結果物についての詳細な解析、具体的には各認識対象物の三次元形状の解析などを行なうものではなく、自立走行のための環境マップに過ぎないものであった。
【特許文献７】特開２００３−２６９９３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
本発明は、上述の問題点に鑑みてなされたものであり、カメラによって撮影された画像に基づく環境マップの作成を行なうものであり、撮影画像に含まれる様々なオブジェクトの解析を実行して、より詳細な情報を含む環境マップの作成を行なう情報処理装置、および情報処理方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の第１の側面は、
環境マップの生成処理を実行する情報処理装置であり、
画像を撮影するカメラと、
前記カメラの取得した画像に基づいてカメラの位置および姿勢を検出する自己位置検出部と、
前記カメラの取得した画像からオブジェクトを検出する画像認識処理部と、
前記自己位置検出部の検出したカメラの位置姿勢情報と、前記画像認識処理部の検出したオブジェクト情報を入力して、環境マップの生成または更新処理を実行するデータ構築部と、
オブジェクトに対応する少なくとも三次元形状データを含むオブジェクト情報を登録した辞書データを格納した辞書データ記憶部を有し、
前記画像認識処理部は、
前記辞書データを参照して前記カメラの取得した画像からオブジェクトを検出する処理を実行し、
前記データ構築部は、
前記辞書データに登録された三次元形状データを適用して環境マップへのオブジェクト配置を実行する構成であることを特徴とする情報処理装置にある。
【０００７】
さらに、本発明の情報処理装置の一実施態様において、前記画像認識処理部は、前記カメラの取得した画像に含まれるオブジェクトの特徴点の位置を識別し、前記データ構築部に出力する処理を実行する構成であり、前記データ構築部は、前記画像認識処理部から入力する特徴点情報と、前記自己位置検出部から入力するカメラの位置姿勢情報とに基づいて、オブジェクトの世界座標系における位置および姿勢を算出して環境マップに登録する処理を実行する構成であることを特徴とする。
【０００８】
さらに、本発明の情報処理装置の一実施態様において、前記自己位置検出部は、前記カメラから入力する画像内の特徴点を利用して世界座標系で表されたカメラの推定位置および姿勢情報としてのカメラ位置（Ｃｗ）、カメラの回転行列（Ｒｗ）を算出して前記データ構築部に出力する処理を実行する構成であることを特徴とする。
【０００９】
さらに、本発明の情報処理装置の一実施態様において、前記自己位置検出部は、前記カメラから入力する画像内の特徴点の位置と、カメラの位置姿勢を併せて検出するＳＬＡＭ（ｓｉｍｕｌｔａｎｅｏｕｓ  ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  ｍａｐｐｉｎｇ）を実行する構成であることを特徴とする。
【００１０】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、さらに、前記画像認識処理部におけるオブジェクト検出対象フレームより以前の画像フレーム中のオブジェクト中の特徴点位置を、前記画像認識処理部におけるオブジェクト検出対象フレームの画像対応の座標上に変換する座標変換部を有し、前記画像認識処理部は、前記座標変換部の提供する特徴点情報を前記データ構築部に出力する処理を実行する構成であることを特徴とする。
【００１１】
さらに、本発明の情報処理装置の一実施態様において、前記情報処理装置は、さらに、前記画像認識処理部において検出した特徴点と、前記自己位置検出部において検出した特徴点との位置が予め定めた閾値以内の距離にある場合に、この特徴点を特徴点データベースに記録する特徴点照合部を有し、前記座標変換部は、前記特徴点データベースに記録された特徴点の位置を、前記画像認識処理部におけるオブジェクト検出対象フレームの画像対応の座標上に変換して画像認識処理部において利用可能とする処理を行なう構成であることを特徴とする。
【００１２】
さらに、本発明の情報処理装置の一実施態様において、前記データ構築部は、生成済みの環境マップを格納した環境マップデータベースと、前記環境マップデータベースから環境マップを取得する環境情報取得部と、前記環境情報取得部の取得した環境マップと、前記画像認識処理部から入力するオブジェクト検出情報とを比較し、比較結果を環境マップ更新部に出力する認識結果比較部と、前記認識結果比較部から入力する比較結果に基づいて、前記環境マップデータベースに格納された環境マップの更新処理を実行する環境マップ更新部を有する構成であることを特徴とする。
【００１３】
さらに、本発明の情報処理装置の一実施態様において、前記環境情報取得部は、前記環境マップデータベースから環境マップを取得し、取得した環境マップに含まれる特徴点の位置を含む特徴点情報を生成する特徴点情報生成部を有し、前記認識結果比較部は、前記画像認識処理部から入力するオブジェクト対応の特徴点情報と、前記特徴点情報生成部の生成した特徴点情報を比較して、比較情報を前記環境マップ更新部内の画像内変更領域抽出部に出力する特徴点情報比較部を有し、前記環境マップ更新部は、前記特徴点情報比較部から前記比較情報を入力し、マッチした特徴点の距離が予め設定した閾値より近い領域以外を環境マップの更新領域として抽出する画像内変更領域抽出部と、前記環境マップデータベースに格納された環境マップに対して、前記画像内変更領域抽出部の抽出した更新領域のみを更新対象として、前記画像認識処理部から入力する特徴点情報を用いた更新処理を実行する環境マップ更新部と、を有する構成であることを特徴とする。
【００１４】
さらに、本発明の情報処理装置の一実施態様において、前記環境情報取得部は、前記環境マップデータベースから環境マップを取得し、取得した環境マップに含まれるオブジェクトの重心・姿勢の存在確率分布を抽出する存在確率分布抽出部を有し、前記認識結果比較部は、前記画像認識処理部から入力するオブジェクト認識結果を入力して、認識オブジェクトの存在確率分布を生成する存在確率分布生成部と、前記存在確率分布抽出部が環境マップに基づいて生成した認識オブジェクトの存在確率分布と、前記存在確率分布生成部が前記画像認識処理部の認識結果に基づいて生成したオブジェクトの存在確率分布との比較を行い、比較情報を前記環境マップ更新部に出力する確率分布比較部を有し、前記環境マップ更新部は、前記存在確率分布比較部から入力する比較情報に基づいて環境マップの更新領域を決定し、前記環境マップデータベースに格納された環境マップに対して、前記更新領域のみを更新対象として、前記画像認識処理部から入力する特徴点情報を用いた更新処理を実行する構成であることを特徴とする。
【００１５】
さらに、本発明の情報処理装置の一実施態様において、前記確率分布比較部は、前記存在確率分布抽出部が環境マップに基づいて生成した認識オブジェクトの存在確率分布と、前記存在確率分布生成部が前記画像認識処理部の認識結果に基づいて生成したオブジェクトの存在確率分布との差分を示すマハラノビス距離（ｓ）を算出して前記環境マップ更新部に出力する構成であり、前記環境マップ更新部は、前記マハラノビス距離（ｓ）が、予め設定した閾値より大きい場合に、前記環境マップデータベースに登録された環境マップを更新する処理を実行する構成であることを特徴とする。
【００１６】
さらに、本発明の第２の側面は、
環境マップに基づいてオブジェクト検索範囲を特定する処理を実行する情報処理装置であり、
オブジェクトの隣接領域に特定オブジェクトが存在する可能性を示すオントロジーデータ（意味情報）を格納した記憶部と、
前記オントロジーデータ（意味情報）に基づいて、特定オブジェクトの探索領域を決定する画像認識処理部と、
を有することを特徴とする情報処理装置にある。
【００１７】
さらに、本発明の第３の側面は、
情報処理装置において、環境マップの生成処理を実行する情報処理方法であり、
カメラが画像を撮影する画像撮影ステップと、
自己位置検出部が、前記カメラの取得した画像に基づいてカメラの位置および姿勢を検出する自己位置検出ステップと、
画像認識処理部が、前記カメラの取得した画像からオブジェクトを検出する画像認識処理ステップと、
データ構築部が、前記自己位置検出部の検出したカメラの位置姿勢情報と、前記画像認識処理部の検出したオブジェクト情報を入力して、環境マップの生成または更新処理を実行するデータ構築ステップとを有し、
前記画像認識処理ステップは、
オブジェクトに対応する少なくとも三次元形状データを含むオブジェクト情報を登録した辞書データを参照して前記カメラの取得した画像からオブジェクトを検出する処理を実行し、
前記データ構築ステップは、
前記辞書データに登録された三次元形状データを適用して環境マップへのオブジェクト配置を実行することを特徴とする情報処理方法にある。
【００１８】
さらに、本発明の情報処理方法の一実施態様において、前記画像認識処理ステップは、前記カメラの取得した画像に含まれるオブジェクトの特徴点の位置を識別し、前記データ構築部に出力する処理を実行するステップであり、前記データ構築ステップは、前記画像認識処理部から入力する特徴点情報と、前記自己位置検出部から入力するカメラの位置姿勢情報とに基づいて、オブジェクトの世界座標系における位置および姿勢を算出して環境マップに登録する処理を実行するステップであることを特徴とする。
【００１９】
さらに、本発明の情報処理方法の一実施態様において、前記自己位置検出ステップは、前記カメラから入力する画像内の特徴点を利用して世界座標系で表されたカメラの推定位置および姿勢情報としてのカメラ位置（Ｃｗ）、カメラの回転行列（Ｒｗ）を算出して前記データ構築部に出力する処理を実行するステップであることを特徴とする。
【００２０】
さらに、本発明の情報処理方法の一実施態様において、前記自己位置検出ステップは、前記カメラから入力する画像内の特徴点の位置と、カメラの位置姿勢を併せて検出するＳＬＡＭ（ｓｉｍｕｌｔａｎｅｏｕｓ  ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  ｍａｐｐｉｎｇ）を実行するステップであることを特徴とする。
【００２１】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、座標変換部が、前記画像認識処理部におけるオブジェクト検出対象フレームより以前の画像フレーム中のオブジェクト中の特徴点位置を、前記画像認識処理部におけるオブジェクト検出対象フレームの画像対応の座標上に変換する座標変換ステップを有し、前記画像認識処理ステップは、前記座標変換部の提供する特徴点情報を前記データ構築部に出力する処理を実行するステップであることを特徴とする。
【００２２】
さらに、本発明の情報処理方法の一実施態様において、前記情報処理方法は、さらに、特徴点照合部が、前記画像認識処理部において検出した特徴点と、前記自己位置検出部において検出した特徴点との位置が予め定めた閾値以内の距離にある場合に、この特徴点を特徴点データベースに記録する特徴点照合ステップを有し、
前記座標変換ステップは、前記特徴点データベースに記録された特徴点の位置を、前記画像認識処理部におけるオブジェクト検出対象フレームの画像対応の座標上に変換して画像認識処理部において利用可能とする処理を行なうステップであることを特徴とする。
【００２３】
さらに、本発明の情報処理方法の一実施態様において、前記データ構築ステップは、環境情報取得部が、生成済みの環境マップを環境マップデータベースから取得する環境情報取得ステップと、認識結果比較部が、環境マップデータベースから取得した環境マップと、前記画像認識処理部から入力するオブジェクト検出情報とを比較し、比較結果を環境マップ更新部に出力する認識結果比較ステップと、環境マップ更新部が、前記認識結果比較部から入力する比較結果に基づいて、前記環境マップデータベースに格納された環境マップの更新処理を実行する環境マップ更新ステップを有することを特徴とする。
【００２４】
さらに、本発明の情報処理方法の一実施態様において、前記環境情報取得ステップは、特徴点情報生成部が、前記環境マップデータベースから環境マップを取得し、取得した環境マップに含まれる特徴点の位置を含む特徴点情報を生成する特徴点情報生成ステップを有し、前記認識結果比較ステップは、特徴点情報比較部が、前記画像認識処理部から入力するオブジェクト対応の特徴点情報と、前記特徴点情報生成部の生成した特徴点情報を比較して、比較情報を前記環境マップ更新部内の画像内変更領域抽出部に出力する特徴点情報比較ステップを有し、前記環境マップ更新ステップは、画像内変更領域抽出部が、前記特徴点情報比較部から前記比較情報を入力し、マッチした特徴点の距離が予め設定した閾値より近い領域以外を環境マップの更新領域として抽出する画像内変更領域抽出ステップと、環境マップ更新部が、前記環境マップデータベースに格納された環境マップに対して、前記画像内変更領域抽出部の抽出した更新領域のみを更新対象として、前記画像認識処理部から入力する特徴点情報を用いた更新処理を実行する環境マップ更新ステップとを有することを特徴とする。
【００２７】
さらに、本発明の第４の側面は、
情報処理装置において、環境マップの生成処理を実行させるコンピュータ・プログラムであり、
カメラに画像を撮影させる画像撮影ステップと、
自己位置検出部に、前記カメラの取得した画像に基づいてカメラの位置および姿勢を検出させる自己位置検出ステップと、
画像認識処理部に、前記カメラの取得した画像からオブジェクトを検出させる画像認識処理ステップと、
データ構築部に、前記自己位置検出部の検出したカメラの位置姿勢情報と、前記画像認識処理部の検出したオブジェクト情報を入力して、環境マップの生成または更新処理を実行させるデータ構築ステップとを有し、
前記画像認識処理ステップは、
オブジェクトに対応する少なくとも三次元形状データを含むオブジェクト情報を登録した辞書データを参照して前記カメラの取得した画像からオブジェクトを検出するステップであり、
前記データ構築ステップは、
前記辞書データに登録された三次元形状データを適用して環境マップへのオブジェクト配置を実行するステップであることを特徴とするコンピュータ・プログラムにある。
【００２８】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能な汎用コンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００２９】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００３０】
本発明の一実施例の構成によれば、カメラの取得した画像に基づいてカメラの位置および姿勢を検出する自己位置検出処理と、カメラの取得画像からオブジェクトを検出する画像認識処理と、カメラの位置姿勢情報とオブジェクト情報と、オブジェクトに対応する少なくとも三次元形状データを含むオブジェクト情報を登録した辞書データを適用して環境マップの生成または更新処理を実行する構成としたので、様々なオブジェクトの三次元データを反映した環境マップを、１つのカメラによって取得した画像に基づいて効率的に生成することが可能となる。
【発明を実施するための最良の形態】
【００３１】
以下、図面を参照しながら本発明の実施形態に係る情報処理装置、および情報処理方法、並びにコンピュータ・プログラムの詳細について説明する。
【００３２】
［実施例１］
本発明の一実施形態にかかる情報処理装置の構成について図１を参照して説明する。本発明の情報処理装置は、カメラによって撮影された画像データに基づいて環境マップを構築する情報処理装置であり、図１に示すように、周囲環境を撮影するカメラ１０１と、カメラ１０１の撮影画像を入力して画像認識を行う画像認識処理部１０２と、カメラ１０１の撮影画像を入力してカメラの位置姿勢を推定する自己位置検出部１０３と、画像認識処理部１０２において生成された画像認識結果データと、自己位置検出部１０３において検出されたカメラ１０１の位置および姿勢情報を入力して、ある世界座標系で表現された環境マップの作成処理を実行するデータ構築部１１０、さらに、画像認識処理部１０２における画像認識処理や、データ構築部１１０における環境マップ作成処理に利用する辞書データを格納した辞書データ記憶部１０４を有する。
【００３３】
画像認識処理部１０２と自己位置検出部１０３には少なくとも入力としてカメラ映像を用いる。画像認識処理部１０２はカメラ１０１によって撮影される様々なオブジェクト（検出対象）の画像内の位置姿勢情報を含む認識結果をデータ構築部１１０に出力する。ただし、認識結果はカメラ座標系で表現されている。自己位置検出部１０３はカメラ１０１の位置・姿勢情報をデータ構築部１１０に出力する。データ構築部１１０では、画像認識処理部１０２から入力する認識結果と、自己位置検出部１０３から入力するカメラ位置姿勢情報に基づいて、世界座標系（環境マップの座標系）における様々なオブジェクトの位置姿勢を求め、環境マップを更新し、最新の環境マップを出力する。
【００３４】
データ構築部１１０は、画像認識処理部１０２からの認識結果と、自己位置検出部１０３からのカメラ位置姿勢情報を入力して世界座標系（環境マップの座標系）における様々なオブジェクトの位置姿勢を求め環境マップを更新する環境マップ更新１１１と、更新された環境マップを格納する環境マップデータベース１１２を有する。データ構築部１１０の生成する環境マップは、カメラ１０１によって撮影された画像に含まれる様々なオブジェクト、例えば「テーブル」、「椅子」などの様々なオブジェクトに関する詳細な情報、具体的には三次元形状や位置、姿勢情報などの詳細情報を含むデータとして構成される。
【００３５】
上記構成において、画像認識処理部１０２は、カメラ１０１の撮影画像を入力して画像認識を実行して、カメラ１０１によって撮影される様々なオブジェクト（検出対象）の画像内の位置姿勢情報を含む認識結果を生成して、認識結果をデータ構築部１１０に出力する。この画像認識処理部１０２において実行する画像認識処理は、例えば、特開２００６−１９０１９１号公報や、特開２００６−１９０１９２号公報に記載された画像認識処理をベースとした画像認識処理を実行する。具体的な処理例については後述する。
【００３６】
また、自己位置検出部１０３は、文献［Ａｎｄｒｅｗ  Ｊ．Ｄａｖｉｓｏｎ，"Ｒｅａｌ−ｔｉｍｅ  ｓｉｍｕｌｔａｎｅｏｕｓ  ｌｏｃａｌｉｓａｔｉｏｎ  ａｎｄ  ｍａｐｐｉｎｇ  ｗｉｔｈ  ａ  ｓｉｎｇｌｅ  ｃａｍｅｒａ"，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ９ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ，Ｎｉｎｔｈ，（２００３）］に記載された構成をベースに開発したものであり、カメラ１０１によって撮影される画像内の局所領域（以下、特徴点）の位置のフレーム間の変化を元に、三次元空間の特徴点の位置とカメラ位置を同時に毎フレーム推定する処理を行なう。なお、本実施例の自己位置検出部１０３の入力はカメラ１０１の映像だけの設定としているが、他のセンサを利用して自己位置推定のロバスト性を上げる構成としてもよい。
【００３７】
画像認識処理部１０２における画像認識処理や、データ構築部１１０における環境マップ作成処理に利用する辞書データを格納した辞書データ記憶部１０４の格納データについて図２を参照して説明する。
【００３８】
辞書データには、カメラ１０１によって撮影されると推定されるオブジェクト（認識対象）に関する情報が、オブジェクトごとにまとめて保存されている。１つのオブジェクト（認識対象）に対して、
（１）オブジェクト名称
（２）特徴点情報（主要な視点からの二次元情報。詳しくは図２を参照）
（３）物体形状情報（特徴点の位置情報を含む）
（４）オントロジー情報（オブジェクトの属するカテゴリ、接する可能性が高い対象、動体・静体などの情報を含む）
【００３９】
図２は、カップに関する辞書データの登録情報例を示している。
（１）オブジェクト名称：「バラ柄マグカップ」
（２）特徴点情報：上下前後左右の６方向からの視点からオブジェクトを観察した場合の特徴点情報が記録される。なお、各視点からの画像情報としてもよい。
（３）物体形状情報：オブジェクトの三次元形状情報が記録される。特徴点の位置についても記録される。
（４）オントロジー情報
（４−１）オブジェクトの属性：［食器］、
（４−２）オブジェクトに接する可能性の高いオブジェクト情報：［机］［食器洗い機］
（４−３）オブジェクトに接する可能性の低いオブジェクト情報：［本棚］
これらの各情報が記録される。
辞書データ記憶部１０４には、様々なオブジェクトに対応する上記情報が記録されている。
【００４０】
以下、図１を参照して説明した本発明の情報処理装置において実行する環境マップの生成処理の具体例について説明する。
【００４１】
図１に示す情報処理装置のカメラ１０１の撮影した画像を用いて環境マップを構築する処理例について説明する。カメラ１０１はピンホールカメラモデルにあうものを利用した。ピンホールカメラモデルは、三次元空間の点の位置とカメラ像平面の画素位置との射影変換を表しており、以下の式で表される。
【数１】
0005380789.tif 000002
【００４２】
上記式の意味について、図３、図４を参照して説明する。上記式は、カメラの撮影画像２１０に含まれるオブジェクト２１１の点（ｍ）のカメラ像平面の画素位置２１２、すなわち、カメラ座標系によって表現されている位置と、世界座標系におけるオブジェクト２００の三次元位置（Ｍ）２０１との対応関係を示す式である。
【００４３】
カメラ像平面の画素位置２１２はカメラ座標系によって表現されている。カメラ座費用系は、カメラの焦点を原点Ｃとして、像平面がＸｃ，Ｙｃの二次元平面、奥行きをＺｃとした座標系であり、カメラの動きによって原点Ｃは移動する。
【００４４】
一方、オブジェクト２００の三次元位置（Ｍ）２０１は、カメラの動きによって移動しない原点Ｏを有するＸＹＺ三軸からなる世界座標系によって示される。この異なる座標系でのオブジェクトの位置の対応関係を示す式が上述のピンホールカメラモデルとして定義される。
【００４５】
この式に含まれるλ，Ａ，Ｃｗ，Ｒｗは、図４に示すように、
λ：正規化パラメータ
Ａ：カメラ内部パラメータ、
Ｃｗ：カメラ位置、
Ｒｗ：カメラ回転行列、
を意味している。
【００４６】
カメラ内部パラメータＡには、以下の値が含まれる。
f：焦点距離
θ：画像軸の直交性（理想値は９０°）
ｋｕ：縦軸のスケール（三次元位置のスケールから二次元画像のスケールへの変換）
ｋｖ：横軸のスケール（三次元位置のスケールから二次元画像のスケールへの変換）
（ｕ０，ｖ０）：画像中心位置
【００４７】
このピンホールカメラモデル、すなわち、三次元空間の点の位置とカメラ像平面の画素位置との射影変換を表す式を用いて、図１に示すデータ構築部１１０では、カメラ１０１の撮影画像から得られるカメラ座標系の情報を世界座標系の情報に変換した環境マップを生成する。例えば、カメラ１０１をユーザ（物理エージェント）が持ち、自由に移動させて動画像を撮影して画像認識処理部１０２と、自己位置検出部１０３に撮影画像を入力する場合の処理例について説明する。
【００４８】
自己位置検出部１０３は、カメラ１０１から入力する映像内の特徴点を利用して、特徴点の位置とカメラ位置を毎フレーム修正し、自己位置検出部１０３で決めた世界座標系で表されたカメラの推定位置および姿勢情報としてのカメラの位置（Ｃｗ）およびカメラの回転行列（Ｒｗ）をデータ構築部１１０に出力する。なお、この処理は、前述の論文［Ａｎｄｒｅｗ  Ｊ．Ｄａｖｉｓｏｎ，"Ｒｅａｌ−ｔｉｍｅ  ｓｉｍｕｌｔａｎｅｏｕｓ  ｌｏｃａｌｉｓａｔｉｏｎ  ａｎｄ  ｍａｐｐｉｎｇ  ｗｉｔｈ  ａ  ｓｉｎｇｌｅ  ｃａｍｅｒａ"，Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ｔｈｅ  ９ｔｈ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ，Ｎｉｎｔｈ，（２００３）］に記載された方法を用いることができる。
【００４９】
また、カメラ１０１の撮影画像は画像認識処理部１０２にも送られる。画像認識処理部１０２では、特徴点の特徴を記述しているパラメータ（以下、特徴量）を利用して画像認識を行う。画像認識処理部１０２で得られる認識結果は、オブジェクトの属性（コップＡや椅子Ｂなど）と画像内の認識対象の位置・姿勢である。画像認識で得られた結果は、世界座標系で表現されていないため、過去の認識結果との直接的な統合は出来ない。
【００５０】
そのため、データ構築部１１０は、前述したピンホールカメラモデル、すなわち、三次元空間の点の位置とカメラ像平面の画素位置との射影変換を表す式と事前情報として取得済みのオブジェクトの形状データを含む辞書データを辞書データ記憶部１０４から取得して三次元空間へ射影変換する。
【００５１】
まず、前述の数式１から、以下の（数式２）、すなわち、カメラ１０１の撮影画像に含まれるオブジェクトのある点、すなわち特徴点（ｍ）の世界座標系での三次元位置（Ｍ）を示す式が導出される。
【数２】
0005380789.tif 000003
【００５２】
上述の式において、
ｄは、カメラとオブジェクトの特徴点との実世界における距離を表す。距離（ｄ）が求まれば、カメラ座標系内の物体の位置を求めることが出来る。なお、前述したように、（数式１）の（λ）は正規化パラメータであるが、この（λ）は、カメラとオブジェクトの距離（奥行）に全く関係の無いある正規化用変数であり、距離（ｄ）の変化に関係なく入力データにより変化する。
【００５３】
カメラ１０１からオブジェクトの特徴点との距離の算出処理について、図５を参照して説明する。図５は、オブジェクト３００をカメラ１０１によって撮影した画像３１０を示している。撮影画像３１０にはオブジェクト３００の画像であるオブジェクト画像３１１が含まれる。
【００５４】
画像認識処理部１０２は、撮影画像３１０内のオブジェクト画像３１１から図に示すようにα、β、γ、δの４つの特徴点を得る。画像認識処理部１０２は、辞書データ記憶部１０４から辞書データを抽出して、オブジェクト画像３１１と、辞書データとの照合を実行して、撮影されたオブジェクト画像３１１を特定し、その特定されたオブジェクトに対応して辞書データとして登録された特徴点情報に対応するオブジェクト画像３１１中の特徴点位置を決定する。この特徴点位置が図に示すように直方体の４つの頂点α、β、γ、δであるとする。
【００５５】
データ構築部１１０は、画像認識処理部１０２からこれらの特徴点α、β、γ、δ情報を取得し、前述したピンホールカメラモデル、すなわち、三次元空間の点の位置とカメラ像平面の画素位置との射影変換を表す式と事前情報として取得済みのオブジェクトの形状データを含む辞書データを辞書データ記憶部１０４から取得して三次元空間へ射影変換する。具体的には、カメラからの各特徴点α、β、γ、δまでの距離（奥行）を算出する。
【００５６】
辞書データには、前述したように各オブジェクトの三次元形状情報が登録されている。画像認識処理部１０２は、この三次元形状情報に基づいて以下に示す（数式３）を適用して、カメラからの各特徴点α、β、γ、δまでの距離（奥行）を算出する。
【数３】
0005380789.tif 000004
【００５７】
上記式（数式３）において、
ｄα：カメラからオブジェクト３００の特徴点αまでの距離
ｄβ：カメラからオブジェクト３００の特徴点βまでの距離
ｄγ：カメラからオブジェクト３００の特徴点γまでの距離
ｄδ：カメラからオブジェクト３００の特徴点δまでの距離
ｄｏｂｊ１：オブジェクト３００の特徴点αβ間の距離（辞書データの登録情報）
ｄｏｂｊ２：オブジェクト３００の特徴点βγ間の距離（辞書データの登録情報）
ｄｏｂｊ３：オブジェクト３００の特徴点γδ間の距離（辞書データの登録情報）
ｄｏｂｊ４：オブジェクト３００の特徴点δα間の距離（辞書データの登録情報）
である。
【００５８】
また、
Ｘα：カメラから特徴点αへのベクトル
であり以下の式（数式４）によって算出される。
【数４】
0005380789.tif 000005
【００５９】
同様に、
Ｘβ：カメラから特徴点βへのベクトル
Ｘγ：カメラから特徴点γへのベクトル
Ｘδ：カメラから特徴点δへのベクトル
これらは、いずれも画像内の各特徴点の画素位置情報（ｍ）とカメラパラメータ（Ａ）およびカメラ回転行列（Ｒ）とに基づいて算出可能な値である。
【００６０】
また、式（数式３）に含まれるε１〜ε４は計測誤差である。これらの計測誤差を表すεが最小になるように、式３に含まれる４つの未知数、すなわち、カメラからオブジェクト３００の特徴点までの距離：ｄα，ｄβ，ｄγ，ｄδを算出する。例えば最小二乗法を用いて計測誤差εが最小になるようにカメラからオブジェクト３００の特徴点までの各距離：ｄα，ｄβ，ｄγ，ｄδを算出する。
【００６１】
この処理によってカメラからオブジェクト３００の各特徴点までの距離（奥行）を計算することができ、世界座標系にオブジェクト認識結果を正確にマッピングすることが可能となる。但し、上記式（数式３）を用いた方法では、マッピングを行うには最低４点は必要となる。もし５点以上特徴点が得られた場合は、式を増やして誤差εの総和が最小になるように計算する。
【００６２】
図５を参照して説明した方法では、オブジェクト３００の全体が撮影画像３１０内に記録されている。すなわちオブジェクト画像３１１はオブジェクト３００の全体を含む設定である。オブジェクトの全体が撮影画像に含まれず一部だけが撮影されている場合、本発明の情報処理装置の構成では、カメラ位置と辞書データを利用して認識対象全体をマッピングすることが可能である。
【００６３】
すなわち、図６に示すようにオブジェクト３００の全体は撮影画像３２１に含まれず、オブジェクト画像３２１が、オブジェクト３００の一部として撮像されている場合でも、本発明の情報処理装置の構成では、カメラ位置と辞書データを利用してオブジェクト（認識対象）全体をマッピングすることが可能である。図６の例では、特徴点（Ｐ）がオブジェクト画像３２１に含まれず、オブジェクト画像３２１の上面の４頂点に対応する特徴点α，β，γ，δのみがオブジェクト画像３２１に含まれている。
【００６４】
この場合も、図５を参照して説明したように前述の式（数式３）から、カメラからオブジェクト３００の特徴点までの各距離：ｄα，ｄβ，ｄγ，ｄδを算出することが可能となり、さらに、辞書データ中のオブジェクト３００の三次元形状データに基づいて撮影されていない特徴点Ｐまでのカメラからの距離を算出することができ、世界座標系におけるオブジェクト３００のマッピングを行なうことが可能となる。
【００６５】
さらに、上述の手法は、１フレームのカメラ撮影画像のみを利用した処理として説明したが、複数のフレーム画像を適用した処理としてもよい。すなわち、過去に抽出した特徴点も利用する処理である。但し、特徴点の三次元空間の位置が必要なので、同じ特徴点を用いている自己位置検出部の特徴点の位置を利用する。
【００６６】
［実施例２］
図７を参照して、複数のフレーム画像を適用した環境マップの生成処理構成を持つ情報処理装置について説明する。本実施例の構成においても、実施例１と同様、カメラによって撮影された画像データに基づいて環境マップを構築する情報処理装置であり、図７に示すように、周囲環境を撮影するカメラ１０１と、カメラ１０１の撮影画像を入力して画像認識を行う画像認識処理部１０２と、カメラ１０１の撮影画像を入力してカメラの位置姿勢を推定する自己位置検出部１０３と、画像認識処理部１０２において生成された画像認識結果データと、自己位置検出部１０３において検出されたカメラ１０１の位置および姿勢情報を入力して、ある世界座標系で表現された環境マップの作成処理を実行するデータ構築部１１０、さらに、画像認識処理部１０２における画像認識処理や、データ構築部１１０における環境マップ作成処理に利用する辞書データを格納した辞書データ記憶部１０４を有する。データ構築部１１０は環境マップ更新部１１１、環境マップデータベース１１２を有する。これらの構成は、図１を参照して説明した実施例１の構成と同様の構成である。
【００６７】
本実施例２においては、さらに、特徴点照合部４０１、特徴点データベース４０２、座標変換部４０３を有する。自己位置検出部１０３ではカメラ１０１によって撮影された画像から得られる特徴点の三次元位置とカメラ位置を同時に求める処理を行なう。
【００６８】
エージェント（ａｇｅｎｔ）の位置や方向などのポーズ（位置姿勢）の確認として実行される自己ポーズ（位置姿勢）同定（ローカリゼーション）に併せて、エージェント（ａｇｅｎｔ）周囲の地図（環境地図）の作成（ｍａｐｐｉｎｇ）、すなわち環境マップの作成を行なう処理はＳＬＡＭ（ｓｉｍｕｌｔａｎｅｏｕｓ  ｌｏｃａｌｉｚａｔｉｏｎ  ａｎｄ  ｍａｐｐｉｎｇ）と呼ばれる。本実施例２では、このＳＬＡＭ技法をベースにしている。
【００６９】
自己位置検出部１０３は、カメラ１０１から入力する映像内の特徴点を利用して、特徴点の位置とカメラ位置を解析フレーム毎に算出し、自己位置検出部１０３で決めた世界座標系で表されたカメラの推定位置および姿勢情報としてのカメラ位置（Ｃｗ）、カメラの回転行列（Ｒｗ）をデータ構築部１１０に出力する。さらに、自己位置検出部１０３は、解析対象とするフレームに対応する特徴点の三次元位置情報を特徴点照合部４０１に出力する。なお、解析対象フレームは、カメラ１０１の撮影する画像フレームの連続する全てのフレームとしてよいし、予め設定した間隔のフレームとしてもよい。
【００７０】
特徴点照合部４０１は、画像認識処理部１０２で求めた特徴点と、自己位置検出部１０３から入力する特徴点とを撮影された画像空間の距離、例えば画素数で比較する。但し自己位置検出部１０３が、世界座標系で特徴点位置情報を算出している場合は、前述の数式（数式１）を用いて画像内の特徴点位置を求める。
【００７１】
特徴点照合部４０１では、自己位置検出部１０３があるフレーム画像から検出したある１つの特徴点位置と、画像認識処理部１０２が同じフレーム画像から検出したある１つの特徴点位置との距離が予め定めた閾値以下であるか否かを検証し、閾値以下ならば、その特徴点同士は同一のものであるとし、特徴点の特徴量と対応する自己位置検出部１０３が検出した特徴点のカメラ座標系における位置情報と識別子を特徴点データベース４０２に登録する。
【００７２】
座標変換部４０３は、特徴点データベース４０２に登録された特徴点の各々について現在のカメラ画像座標系に位置情報を変換して、画像認識処理部１０２に出力する。位置情報の変換処理には、前述の式（数式１）と、自己位置検出部１０３から入力する世界座標系で表されたカメラの推定位置および姿勢情報としてのカメラ位置Ｃｗ、カメラの回転行列（Ｒｗ）を用いる。
【００７３】
画像認識処理部１０２では、特徴点解析対象としている現フレームの特徴点位置情報に併せて、座標変換部４０３から入力する先行する過去フレームから求められた特徴点位置情報を追加して、データ構築部１１０に出力することができる。このようにして複数フレームから抽出されたより多くの特徴点情報からなる認識結果を生成してデータ構築部１１０に出力することが可能となり、データ構築部１１０ではより多くの特徴点情報に基づく正確な環境マップを生成することが可能となる。
【００７４】
図８は、過去フレームから取得した特徴点情報の利用例について示す図である。撮影画像４２０は、画像認識処理部１０２において解析中のフレームである撮影画像を示している。撮影画像４２０には、オブジェクト４００の一部のみが記録されている。特徴点Ｐは、過去のフレームにおいて検出された特徴点位置である。座標変換部４０３は、過去フレームから抽出された特徴点Ｐの位置を現在のフレームである撮影画像４２０のどの位置に対応するかを算出し、画像認識処理部１０２に提供する。画像認識処理部１０２では、撮影画像４２０に含まれるα、β、γ、δの４つの特徴点の他、過去フレームにおいて抽出された特徴点Ｐを追加して、これらの特徴点情報をデータ構築部１１０に出力することができる。このようにして複数フレームから抽出されたより多くの特徴点情報からなる認識結果を生成してデータ構築部１１０に出力することが可能となり、データ構築部１１０ではより多くの特徴点情報に基づく正確な環境マップを生成することが可能となる。
【００７５】
［実施例３］
次に、本発明の実施例３としてカメラ位置とカメラ画像の認識結果を用いて、環境マップを更新する処理例について説明する。図１に示すデータ構築部１１０では、画像認識処理部１０２から入力する特徴点情報と、事前情報として取得済みのオブジェクトの形状データを含む辞書データを辞書データ記憶部１０４から取得して、各オブジェクトを世界座標系で表される環境マップ上に配置する処理を行って環境マップを生成する。
【００７６】
環境マップを構築した後、環境の一部が変更された場合を想定する。変更された場合、過去に構築した環境マップを破棄して、新たに入力する特徴点情報に基づいて新たな環境マップを構築するという手法もあるが、この処理は非常に手間がかかる。そこで、本実施例では、過去に構築された環境マップを利用して、変更された部分を識別して識別した変更部分を更新することで新たな環境マップを生成する構成としたものである。
【００７７】
本実施例の情報処理装置の構成および処理について、図９を参照して説明する。本実施例の構成においても、実施例１と同様、カメラによって撮影された画像データに基づいて環境マップを構築する情報処理装置であり、図９に示すように、周囲環境を撮影するカメラ１０１と、カメラ１０１の撮影画像を入力して画像認識を行う画像認識処理部１０２と、カメラ１０１の撮影画像を入力してカメラの位置姿勢を推定する自己位置検出部１０３と、画像認識処理部１０２において生成された画像認識結果データと、自己位置検出部１０３において検出されたカメラ１０１の位置および姿勢情報を入力して、ある世界座標系で表現された環境マップの作成処理を実行するデータ構築部５１０、さらに、画像認識処理部１０２における画像認識処理や、データ構築部５１０における環境マップ作成処理に利用する辞書データを格納した辞書データ記憶部１０４を有する。データ構築部５１０は環境マップ更新部５１１、環境マップデータベース５１２を有する。これらの構成は、図１を参照して説明した実施例１の構成と同様の構成である。
【００７８】
さらに、本実施例の構成ではデータ構築部５１０が、環境情報取得部５１３、認識結果比較部５１４を有する。環境情報取得部５１３は、自己位置検出部１０３で得られたカメラの自己位置情報を用いて、環境マップデータベース５１２に格納済みの環境マップ（例えば過去の画像に基づいて生成された環境マップ）を利用してカメラ１０１に写ると推定される様々なオブジェクトからなる環境情報を検出する。
【００７９】
認識結果比較部５１４は、環境情報取得部５１３が、生成済みの環境マップに基づいて推定した現在のカメラ位置に応じた撮影画像から取得されると判断した環境情報（特徴点情報など）と画像認識処理部１０２において、実際の撮影画像から得られた認識結果（特徴点情報）とを比較する。
【００８０】
環境マップ更新部５１１は、この認識結果比較部５１４の比較情報を入力し、比較情報を利用して、環境マップデータベース５１２に格納済みの過去に作成された環境マップを修正してマップ更新処理を実行する。
【００８１】
本実施例で利用する各モジュールについて詳しく説明する。
環境情報取得部５１３では自己位置検出部１０３において取得されるカメラ位置姿勢情報を入力して、環境マップデータベース５１２に記録済みの環境マップのどの部分が撮影画像として取得され、その推定した撮影画像に含まれる特徴点の位置などを判断する。
【００８２】
なお、環境マップデータベース５１２に記録済みの環境マップは、各オブジェクトが世界座標系で登録されているので、前述の式（数式１）を利用して各特徴点位置をカメラ座標系に変換して撮影画像のどの位置に特徴点が現れるかを決定する。前述の（数式１）において、カメラの推定位置および姿勢情報としてのカメラ位置（Ｃｗ）、カメラの回転行列（Ｒｗ）は自己位置検出部１０３からの入力情報を適用する。（数式１）の左辺のｍが、新たに撮影され画像認識処理部において解析対象としている画像内に入っているか否かを判断する。
【００８３】
認識結果比較部５１４では、環境情報取得部５１３が生成済みの環境マップに基づいて推定した現在のカメラ位置に応じた撮影画像から取得されると判断した環境情報（特徴点情報など）と画像認識処理部１０２において、実際の撮影画像から得られた認識結果（特徴点情報）とを比較する。なお、比較情報としては、様々なパラメータがあるが本例では、
（１）特徴点同士の比較
（２）ある確率分布モデルで表現された認識対象の重心と姿勢同士の比較
これらの２通りの比較例について説明する。
【００８４】
（１）特徴点同士の比較
まず、認識結果比較部５１４において特徴点比較を行なう構成例について図１０を参照して説明する。本実施例では図１０に示すように、環境情報取得部５１３には、特徴点情報生成部５２１が設定され、認識結果比較部５１４には、特徴点情報比較部５２２が設けられ、環境マップ更新部５１１には画像内変更領域抽出部５２３、環境マップ更新部５２４が設けられている。
【００８５】
環境情報取得部５１３の特徴点情報生成部５２１は、自己位置検出部１０３において取得されるカメラ位置姿勢情報を入力して、環境マップデータベース５１２に記録済みの環境マップのどの部分が撮影画像として取得され、その推定した撮影画像に含まれる特徴点の位置などの特徴点情報を取得する。因みに特徴点情報とは、特徴点の位置と特徴量で構成される情報をさす。特徴点情報生成部５２１は、環境マップとカメラ位置姿勢と辞書データをもとに、カメラに写ると推定される特徴点全ての特徴点情報を生成する。
【００８６】
認識結果比較部５１４の特徴点比較部５２２は、特徴点情報生成部５２１が過去に蓄積された環境マップから求めた特徴点情報を入力し、さらに画像認識処理部１０２において、実際の撮影画像から得られた認識結果（特徴点情報）を入力してこれらを比較する。特徴点比較部５２２は、マッチした特徴点の位置と特徴点同士の距離を求める。これらの情報は、環境マップ更新部５１１の画像内変更領域抽出部５２３に出力される。
【００８７】
画像内変更領域抽出部５２３は、マッチした特徴点の距離が予め設定した閾値より近い領域以外を環境マップの更新領域として抽出する。この抽出領域情報は、環境マップ更新部５２４に出力される。
【００８８】
環境マップ更新部５２４は、過去に蓄積された環境マップを取得して、画像内変更領域抽出部５２３において更新領域として選択された抽出領域についてのみ、新たに画像認識処理部１０２から入力する特徴点情報を用いたマップ更新を実行し、その他の領域は、作成済みの環境マップの情報を変更せずに利用する。この処理により、効率的な環境マップ更新が可能となる。
【００８９】
（２）ある確率分布モデルで表現された認識対象の重心と姿勢同士の比較
次に認識結果比較部５１４において、ある確率分布モデルで表現された認識対象の重心と姿勢同士の比較を行なう構成例について図１１を参照して説明する。本実施例では図１１に示すように、環境情報取得部５１３には、存在確率分布抽出部５４１が設定され、認識結果比較部５１４には、存在確率分布生成部５４２、確率分布比較部５４３が設けられている。
【００９０】
認識結果比較部５１４の存在確率分布生成部５４２は、画像認識処理部１０２からの認識結果を入力して、画像認識結果にある認識オブジェクトの存在確率分布を生成する。ちなみに、存在確率分布は、平均（三次元位置とクオータニオン）共分散行列で表現された多次元正規分布に従うとする。画像認識では、存在確率分布は求まらないためユーザーが定数で与える。
【００９１】
環境情報取得部５１３の存在確率分布抽出部５４１は、環境マップデータベース５１２から取得した環境マップを利用して、カメラ１０１の撮影した画像に含まれる認識オブジェクトの重心・姿勢の存在確率分布を抽出する（平均共分散行列）。
【００９２】
認識結果比較部５１４の存在確率分布比較部５４３は、環境情報取得部５１３の存在確率分布抽出部５４１が環境マップに基づいて生成した認識オブジェクトの存在確率分布と、認識結果比較部５１４の存在確率分布生成部５４２が画像認識処理部１０２からの認識結果に基づいて生成したオブジェクトの存在確率分布との比較を行う比較には、例えば以下の式（数式５）を用いる。
【数５】
0005380789.tif 000006
【００９３】
上記式（数式５）のｓはマハラノビス距離を表しており、環境マップに基づいて生成した認識オブジェクトの存在確率分布と、画像認識処理部１０２からの認識結果に基づいて生成したオブジェクトの存在確率分布との差分に応じた値となる。認識結果比較部５１４の存在確率分布比較部５４３は、上記式（数式５）のｓの値を環境マップ更新部５１１に出力する。
【００９４】
環境マップ更新部５１１は、認識結果比較部５１４の存在確率分布比較部５４３から入力する上記式（数式５）のｓの値が予め設定した閾値より小さい場合、環境マップデータベース１１２に記録済みのオブジェクトと、新たな撮影画像に基づく画像認識結果として得られた認識オブジェクトは同一のものであると判断し、環境マップデータベースの修正は行わない。しかし、ｓが閾値より大きい場合は異なるオブジェクトが出現したものと判断して、環境マップデータベース５１２に登録された環境マップを更新する。
【００９５】
［実施例４］
上述の実施例においては、環境マップに登録される各オブジェクトは移動しない静オブジェクトであることを前提とした処理であった。移動するオブジェクトが撮影画像に含まれ、これらの移動オブジェクトを環境マップに登録する場合には、移動オブジェクト（動物体）と、静止オブジェクト（静物体）を区別した処理が必要となる。実施例４は、このような移動オブジェクト（動物体）と、静止オブジェクト（静物体）を区別した処理を行って環境マップの生成、更新を実行する処理例である。
【００９６】
本実施例について、図１２を参照して説明する。図１２に示す例は、先に図１１を参照して説明したある確率分布モデルで表現された認識対象の重心と姿勢同士の比較を行なう構成例をベースとして、動物体判定部５６１を追加した構成である。
【００９７】
図１０を参照して説明した構成との差異は、動物体判定部５６１が、画像認識処理部１０２からの認識結果を入力して、画像認識結果としてのオブジェクトが動物体かどうか判断する処理が含まれる点である。動物体判定部５６１は、辞書データ記憶部１０４の格納データに基づいて、画像認識結果としてのオブジェクトが動物体か静物体かを判断する。この処理例では、辞書データ記憶部１０４の格納データである辞書データには、各オブジェクトが動物体であるか静物体であるかを示すオブジェクト属性データが登録されているものとする。
【００９８】
画像認識処理部１０２からの認識結果に含まれるオブジェクトに動物体として認識されるオブジェクトが含まれる場合、このオブジェクト情報は、直接、環境マップ更新部５１１に出力され、環境マップ更新部５１１は、オブジェクト情報に基づいて動物体を環境マップ上に登録する。
【００９９】
画像認識処理部１０２からの認識結果に含まれるオブジェクトに静物体として認識されるオブジェクトが含まれる場合、このオブジェクト情報は、認識結果比較部５１４に出力される。この後の処理は、図１１を参照して説明したとど羽陽の処理が実行される。なお、環境マップ更新部５１１は、動物体の情報は毎フレーム自動的に消去する。
【０１００】
［実施例５］
次に、実施例５として、環境マップを用いて画像認識処理部の認識対象・探索範囲を限定する構成例について説明する。
【０１０１】
環境マップは、例えば上述した実施例１〜４のいずれかの処理によって生成、更新することが可能である。このようにして生成した環境マップを利用して、画像認識処理部において認識するオブジェクトの種類や探索範囲を限定することを可能とした構成を実施例５として説明する。
【０１０２】
事前に物体間のオントロジーデータ（意味情報）をまとめたオントロジーマップを用意し、記憶部に格納する。オントロジーデータ（意味情報）は、環境に存在する対象を体系的に分類し、その関係を記述するものである。例えば、
「椅子やテーブルは床に接している可能性が高い」、
「電源が入っているテレビのモニタの前には顔がある可能性が高い」
「トイレにテレビがある可能性は低い」
というような情報がオントロジーデータである。対象物体毎にオントロジーデータをまとめたものがオントロジーマップである。
【０１０３】
本実施例５では、このようなオントロジーマップを用いて、画像認識処理部において認識するオブジェクトの種類や探索範囲を限定する。本実施例５の情報処理装置は、環境マップに基づいてオブジェクト検索範囲を特定する処理を実行する情報処理装置であり、オブジェクトの隣接領域に特定オブジェクトが存在する可能性を示すオントロジーデータ（意味情報）を格納した記憶部と、オントロジーデータ（意味情報）に基づいて、特定オブジェクトの探索領域を決定する画像認識処理部とを有する情報処理装置である。
【０１０４】
例えば、図１３に示す環境で顔の位置を検出する場合について説明する。但し、既に環境マップは構築されているものとする。最初に、床面を検出し天井方向を推定する。地面に接している可能性が非常に高いものは（自動販売機やテーブル、車など）。図１３中では、
・テーブル
・ソファー
があげられる。環境マップより、テーブルとソファーの位置・姿勢がわかっているので、それから床の平面方程式を算出する。これで、床面が識別され、天井方向が識別される。
【０１０５】
次に、顔の位置がありそうな場所を、オントロジーマップをもとに探索する。図１３の環境では、
・［顔がある可能性が非常に高い場所］ソファーの上、テレビの前、
・［顔がある可能性が非常に低い場所］テレビの真上、本棚の中、カレンダーより向こうの壁
このように区分することが出来る。この区分を三次元空間に対応させて範囲を指定し、その範囲を前述の式（数式１）で画像に反映させる。例えば図１４に示すような区分情報７１１，７１２が設定できる。この反映結果を画像認識モジュールに渡す。この処理により、画像認識率を向上させ、画像認識の高速化を図ることが可能となる。
【０１０６】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、特許請求の範囲の欄を参酌すべきである。
【０１０７】
また、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。例えば、プログラムは記録媒体に予め記録しておくことができる。記録媒体からコンピュータにインストールする他、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）、インターネットといったネットワークを介してプログラムを受信し、内蔵するハードディスク等の記録媒体にインストールすることができる。
【０１０８】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０１０９】
以上、説明したように、本発明の一実施例の構成によれば、カメラの取得した画像に基づいてカメラの位置および姿勢を検出する自己位置検出処理と、カメラの取得画像からオブジェクトを検出する画像認識処理と、カメラの位置姿勢情報とオブジェクト情報と、オブジェクトに対応する少なくとも三次元形状データを含むオブジェクト情報を登録した辞書データを適用して環境マップの生成または更新処理を実行する構成としたので、様々なオブジェクトの三次元データを反映した環境マップを、１つのカメラによって取得した画像に基づいて効率的に生成することが可能となる。
【図面の簡単な説明】
【０１１０】
【図１】本発明の一実施例に係る情報処理装置の構成および処理について説明する図である。
【図２】辞書データ記憶部の格納データである辞書データについて説明する図である。
【図３】ピンホールカメラモデル、すなわちカメラ座標系によって表現されている位置と、世界座標系におけるオブジェクトの三次元位置との対応関係を示す式の意味について説明する図である。
【図４】ピンホールカメラモデル、すなわちカメラ座標系によって表現されている位置と、世界座標系におけるオブジェクトの三次元位置との対応関係を示す式の意味について説明する図である。
【図５】カメラからオブジェクトの特徴点との距離の算出処理について説明する図である。
【図６】オブジェクトが一部撮像されている場合におけるカメラ位置と辞書データを利用したオブジェクト（認識対象）全体のマッピング処理について説明する図である。
【図７】本発明の一実施例に係る情報処理装置の構成および処理について説明する図である。
【図８】過去フレームから取得した特徴点情報の利用例について示す図である。
【図９】本発明の一実施例に係る情報処理装置の構成および処理について説明する図である。
【図１０】本発明の一実施例に係る情報処理装置の構成および処理について説明する図である。
【図１１】本発明の一実施例に係る情報処理装置の構成および処理について説明する図である。
【図１２】本発明の一実施例に係る情報処理装置の構成および処理について説明する図である。
【図１３】顔の位置を検出する画像認識処理例について説明する図である。
【図１４】顔の位置を検出する画像認識処理例について説明する図である。
【符号の説明】
【０１１１】
１０１  カメラ
１０２  画像認識処理部
１０３  自己位置検出部
１０４  辞書データ記憶部
１１０  データ構築部
１１１  環境マップ更新部
１１２  環境マップデータベース
４０１  特徴点照合部
４０２  特徴点データベース
４０３  座標変換部
５１０  データ更新部
５１１  環境マップ更新部
５１２  環境マップデータベース
５１３  環境情報取得部
５１４  認識結果比較部
５２１  特徴点情報生成部
５２２  特徴点情報比較部
５２３  画像内変更領域抽出部
５２４  環境マップ更新部
５４１  存在確率分布抽出部
５４２  存在確率分布生成部
５４３  確率分布比較部
５６１  動物体判定部
【図３】
0005380789.tif 000007
【図４】
0005380789.tif 000008
【図１】
0005380789.tif 000009
【図２】
0005380789.tif 000010
【図５】
0005380789.tif 000011
【図６】
0005380789.tif 000012
【図７】
0005380789.tif 000013
【図８】
0005380789.tif 000014
【図９】
0005380789.tif 000015
【図１０】
0005380789.tif 000016
【図１１】
0005380789.tif 000017
【図１２】
0005380789.tif 000018
【図１３】
0005380789.tif 000019
【図１４】
0005380789.tif 000020