"コンピュータに、画像データから検出対象を検出させるプログラムであって、入力された画像データの各フレームに対して特徴点を抽出し、抽出した特徴点に基づいて特徴ベクトルを算出する前処理手順と、検出対象画像の特徴点の特徴ベクトルをノードとし、カテゴリ毎に当該カテゴリを代表する代表特徴ベクトルと特徴ベクトルのサンプルがメンバーであるサブツリーで接続されると共に検出対象毎のクラスにクラスタ化された木構造が登録された記憶部にアクセスし、第1段階では前記前処理手順で算出した特徴ベクトルと前記記憶部内のクラスとのマッチングを行い、第2段階ではマッチングされたクラス内の各メンバーとのマッチングを行いマッチングすると認識された検出対象のデータを出力する認識手順を前記コンピュータに実行させることを特徴とする、プログラム。前記認識手順は、前記第1段階では前記入力特徴ベクトルと前記木構造のノードとの間の距離を算出し、前記距離で前記木構造のノードを絞込み、前記入力特徴ベクトルと前記木構造のノードとの相関値から類似度を算出し、前記第2段階では前記第1段階で絞り込んだ前記木構造のノードから該当するカテゴリのサブツリーを抽出し、前記入力特徴ベクトルと抽出したサブツリーの各ノードとの距離を算出して最大距離と最小距離のノードを抽出し、前記入力特徴ベクトルと抽出されたノードとの相関値から総合的に類似度を算出することを特徴とする、請求項1記載のプログラム。前記サンプルが登録されたサブツリー、或いは、新たに作成されたサブツリーに基づいて木構造を更新して前記記憶部に格納する更新手順を前記コンピュータに更に実行させ、前記更新手順は、直前フレームの特徴点とマッチした最新フレームの特徴点、或いは、前記記憶部に登録されている特徴点とマッチした特徴点の入力特徴ベクトルをサンプルとして前記検出対象の木構造のサブツリーに登録すると共に、前記記憶部に登録されている特徴点とマッチしなかった特徴点の入力特徴ベクトルを新しいクラスの代表としてクラスを生成すると同時に当該入力特徴ベクトルをサンプルとして前記木構造のサブツリーを作成することを特徴とする、請求項1又は2記載のプログラム。前記前処理手順は、前記画像データをカメラの出力から入力し、前記認識手順により認識された検出対象のデータに基づいて前記カメラの位置を推定する推定手順を前記コンピュータに更に実行させることを特徴とする、請求項1乃至3のいずれか1項記載のプログラム。入力された画像データの各フレームに対して特徴点を抽出し、抽出した特徴点に基づいて入力特徴ベクトルを算出する前処理部と、検出対象画像の特徴点の特徴ベクトルをノードとし、カテゴリ毎に当該カテゴリを代表する代表特徴ベクトルと特徴ベクトルのサンプルがメンバーであるサブツリーで接続されると共に検出対象毎のクラスにクラスタ化された木構造が登録された記憶部と、第1段階では前記入力特徴ベクトルと前記記憶部内のクラスとのマッチングを行い、第2段階ではマッチングされたクラス内の各メンバーとのマッチングを行いマッチングすると認識された検出対象のデータを出力する認識部を備えたことを特徴とする、画像処理装置。従来の画像処理装置では、登録されている画像の撮影条件と照合する入力画像の撮影条件が異なると、画像の誤検出が発生してしまい、正確な画像照合を行うことは難しいという問題があった。そこで、本発明は、登録されている画像の撮影条件と照合する入力画像の撮影条件の違いにかかわらず正確な画像照合を行うことができるプログラム及び画像処理装置を提供することを目的とする。本発明の一観点によれば、コンピュータに、画像データから検出対象を検出させるプログラムであって、入力された画像データの各フレームに対して特徴点を抽出し、抽出した特徴点に基づいて特徴ベクトルを算出する前処理手順と、検出対象画像の特徴点の特徴ベクトルをノードとし、カテゴリ毎に当該カテゴリを代表する代表特徴ベクトルと特徴ベクトルのサンプルがメンバーであるサブツリーで接続されると共に検出対象毎のクラスにクラスタ化された木構造が登録された記憶部にアクセスし、第1段階では前記前処理手順で算出した特徴ベクトルと前記記憶部内のクラスとのマッチングを行い、第2段階ではマッチングされたクラス内の各メンバーとのマッチングを行いマッチングすると認識された検出対象のデータを出力する認識手順を前記コンピュータに実行させることを特徴とするプログラムが提供される。本発明の一観点によれば、入力された画像データの各フレームに対して特徴点を抽出し、抽出した特徴点に基づいて入力特徴ベクトルを算出する前処理部と、検出対象画像の特徴点の特徴ベクトルをノードとし、カテゴリ毎に当該カテゴリを代表する代表特徴ベクトルと特徴ベクトルのサンプルがメンバーであるサブツリーで接続されると共に検出対象毎のクラスにクラスタ化された木構造が登録された記憶部と、第1段階では前記入力特徴ベクトルと前記記憶部内のクラスとのマッチングを行い、第2段階ではマッチングされたクラス内の各メンバーとのマッチングを行いマッチングすると認識された検出対象のデータを出力する認識部を備えたことを特徴とする画像処理装置が提供される。開示のプログラム及び画像処理装置によれば、登録されている画像の撮影条件と照合する入力画像の撮影条件の違いにかかわらず正確な画像照合を行うことができる。開示のプログラム及び画像処理装置では、前処理で、入力された画像データの各フレームに対して特徴点を抽出し、抽出した特徴点に基づいて入力特徴ベクトルを算出する。記憶部には、検出対象画像の特徴点の特徴ベクトルをノードとし、カテゴリ毎に当該カテゴリを代表する代表特徴ベクトルと特徴ベクトルのサンプルがメンバーであるサブツリーで接続されると共に検出対象毎のクラスにクラスタ化された木構造が登録されている。認識処理の第1段階では入力特徴ベクトルと記憶部内のクラスとのマッチングを行い、第2段階ではマッチングされたクラス内の各メンバーとのマッチングを行いマッチングすると認識された検出対象のデータを出力する。第1の段階及び第2の段階の2段階で検出対象を検出することで、検出対象の検出時の誤りと見逃しを軽減することができる。以下に、開示のプログラム及び画像処理装置の各実施例を図面と共に説明する。ロボットシステムの構成図1は、本発明の一実施例における自律走行型のロボットの構成の一例を示す図である。ロボット1は、ナビゲーションCPUCentralProcessingUnit11、走行制御CPU12、台車13、センサ部14、入出力部15、及び記憶部16を有する。入出力部15は、利用者がロボット1に情報やコマンドを入力する入力部図示せずと、ロボット1から利用者へ情報を出力する出力部図示せずを含む。入力部は、例えばキーボード等の操作部、マイクロホン等を含む。一方、出力部は、表示部、スピーカ等を含む。CPU11,12は、単一の計算機又は、コンピュータを形成しても、別々の計算機又は、コンピュータを形成しても良い。尚、ロボット1には、周知の構成を有し周知の動作を行うロボットアーム図示せずや、外部のサーバ図示せず等と通信するためのアンテナや送受信部を含む通信部図示せずを更に有しても良い。記憶部16は、CPU11,12が実行するプログラムを含む各種プログラム、及びCPU11,12が実行する演算の中間データ、静的地図及び非静的地図のデータ等を含む各種データを格納する。記憶部16は、コンピュータ読み取り可能な記憶媒体により形成可能である。コンピュータ読み取り可能な記憶媒体は、一例として、磁気記録媒体、光記録媒体、光磁気記録媒体、ディスクを記録媒体として用いるディスク装置、RAMRandomAccessMemory、ROMReadOnlyMemory等を含む半導体記憶装置等を含む。ディスクを記録媒体として用いるディスク装置には、例えばHDDHardDiskDriveが使用可能である。又、記憶部16は、複数の記憶装置で形成されていても良く、この場合、アクセス速度の異なる記憶装置を含んでも良い。台車13は、ジャイロセンサ131、センサエンコーダ132、モータ133、及び車輪134を有する。ジャイロセンサ131は、車輪134の回転量を計測して走行制御CPU12に出力し、センサエンコーダ132は、車輪134の回転数を検出して走行制御CPU12に出力する。ジャイロセンサ131及びセンサエンコーダ132は、内的センサを形成する。モータ133は、走行制御CPU12からのコマンドに基づいて車輪134を直接、或いは、ギア機構図示せずを介して回転する。モータ133は、複数設けられていても良く、台車13の移動方向を決めるステアリング部図示せずを駆動しても良い。モータ133、ギア機構、及びステアリング部等は、ロボット1の走行を制御する走行制御系を形成する。走行制御CPU12は、台車13の移動を制御して例えばナビゲーションCPU11により指示された目標経路を追従させたり、台車13内のジャイロセンサ131の出力情報及びセンサエンコーダ132の出力情報に基づいて台車13、即ち、ロボット1の姿勢と現在位置を推定する。センサ部14は、カメラ141及び距離センサ142を有する。カメラ141は、例えば撮影画像から周知の方法で視覚的ランドマークを抽出してロボット1の3次元位置を計測するステレオカメラで形成可能である。距離センサ142は、周囲環境への距離を周知の方法で計測する例えばLRF等の計測装置で形成可能である。カメラ141及び距離センサ142は、外的センサを形成する。ナビゲーションCPU11は、内的センサジャイロセンサ131、センサエンコーダ132及び外的センサカメラ141及び距離センサ142の出力情報に基づいて、ロボット1の現在位置を推定する。又、ナビゲーションCPU11は、推定したロボット1の現在位置に基づいて、ロボット1の移動を計画する。位置推定装置は、図1に示す如きハードウェア構成を有するロボット1のナビゲーションCPU11、即ち、ナビゲーション部の一部として搭載されていても良く、ロボット1が自律移動を行う際に自己位置推定を行う。図2は、ロボットの遠隔操作を説明する図である。ロボット1は、図2に示すように、サーバ又はセンタ901と通信可能な構成を有し、サーバ901からサービスの提供タイミング等を遠隔操作により制御されるものであっても良い。サーバ901は、メモリ902、通信部903、及びCPU904を有する。サーバ901は、オペレータがサーバ901に情報やコマンドを入力する入力部図示せずと、サーバ901からオペレータへ情報を出力する出力部図示せずを含んでも良い。この場合、入力部は、例えばキーボード等の操作部で形成可能であり、出力部は、表示部等で形成可能である。図2では、説明の便宜上、ロボット1内の通信部801以外の部分の図示は省略するが、通信部801は例えば図1に示すナビゲーションCPU11及び走行制御CPU12の少なくとも一方に接続されている。上記の例では、ロボット1が自己位置推定に用いる各種データがロボット1内の記憶部16に格納されているものとしたが、少なくともデータの一部をロボット1の制御及び管理を司るサーバ901内の記憶部902に格納しても良い。この場合、ロボット1の通信部801は、例えば無線ネットワーク911を介してサーバ901の通信部903と通信することで、自己位置推定に用いる各種データを取得すれば良い。サーバ901内の記憶部902に格納可能なデータには、ランドマークのデータベース以下、ランドマークDBDataBaseに登録されるデータの他、ロボット1の記憶部16に格納されるデータを含んでも良い。又、図1に示すナビゲーションCPU11の機能の少なくとも一部、或いは、走行制御CPU12の機能の少なくとも一部をサーバ901側で実現するようにしても良い。自己位置推定に用いる各種データの少なくとも一部をサーバ901側に格納することで、ロボット1内で必要となる記憶容量を減らし、ロボット1内で必要となるデータ管理の負荷を低減可能となる。サーバ901は、画像処理装置の一例である。しかし、ロボット1内で上記サーバ901の処理を実行する場合には、ロボット1が画像処理装置を形成する。この場合、ロボット1は自律走行型に限定されず、固定型であっても良い。これは、ロボットが固定型であっても、例えば屋外に設置されていれば撮影条件が時間と共に変化するからである。データベースの作成先ず、本発明の一実施例における画像処理装置で用いるデータベースの作成方法について、図3と共に説明する。図3は、データベースの作成方法、即ち、データベースへのデータ登録時の動作を説明する機能ブロック図である。図3に示す機能ブロックの処理は、CPU等のプロセッサと記憶部を含む汎用のコンピュータにより実行可能である。この例では、説明の便宜上、図3に示す機能ブロックの処理は、図2に示すサーバ901のCPU904により実行されるものとする。図3において、入力部21は、例えばロボット1のカメラ141で撮影された画像データ又は、画像系列を通信部903を介して入力する。画像データは、例えば動画像データである。前処理部22は、画像データの各フレームに対して、特徴点を周知の手法で抽出する特徴点抽出部221と、抽出した特徴点に基づいて周知の手法で特徴ベクトルを算出する算出部222を有する。SIFTScaleInvariantFeatureTransformは、検出した特徴点に対して、画像の回転、スケール変化、照明変化等に対してロバストな特徴量を記述する、特徴点の検出と特徴量の記述を行う周知のアルゴリズムである。以下の説明では、説明の便宜上、検出される特徴点はSIFTに従って検出されたSIFT特徴点であるものとするが、特徴点はSIFT特徴点に限定されないことは言うまでもない。特徴ベクトルにSIFTを使用した場合、特徴ベクトルの長さは例えば128次元に設定しても良い。この場合、特徴ベクトルの各値を0~255の区間に正規化すると、例えば特徴ベクトルV1は01253231254...、特徴ベクトルV2は7642622126734123...の如き表現が可能となる。特徴ベクトル処理部23は、特徴ベクトルバッファ部231、フレーム間特徴点のマッチング又は、照合部232、及びID取得部233を有する。特徴ベクトルバッファ部231は、前処理部22で算出された特徴ベクトルをバッファリングし、例えば時刻t-2,t-1,tにおけるフレームの特徴ベクトルがバッファリングされて例えば記憶部902に格納される。尚、バッファリングされる特徴ベクトルは、少なくとも時刻t-1,tにおけるフレームの特徴ベクトルであれば良い。マッチング部232は、時刻tにおける最新即ち、現在のフレームの特徴点が時刻t-1における直前フレームの特徴点とマッチ即ち、一致するか否かを判定し、マッチした特徴点とマッチしなかった特徴点に分類する。ID取得部233は、マッチした特徴点については時刻t-1における直前フレームの特徴点のID番号即ち、ランドマークを識別するIDの値を継承させ、マッチしなかった特徴点についてはランドマークDB25に登録されている特徴点とマッチする特徴点とランドマークDB25に登録されている特徴点とマッチしなかった特徴点に更に分類する。ランドマークDB25は、例えばサーバ901の記憶部902に格納しても良い。DB処理部又は、DB更新部24は、時刻t-1における直前フレームの特徴点とマッチした特徴点、或いは、ランドマークDB25に登録されている特徴点とマッチした特徴点の特徴ベクトルをサンプルとしてランドマークの木構造以下、ランドマークツリーとも言うのサブツリーに登録する。ランドマークツリーは、複数のクラスを階層的に管理するものであり、サブツリーは、クラス内のメンバー即ち、クラスを形成するメンバーを階層的に管理するものである。木構造は、メンバーの検索又はメンバーに対する処理を効率良く行って処理時間を短縮するのに好適である。一方、DB処理部24は、ランドマークDB25に登録されている特徴点とマッチしなかった特徴点の特徴ベクトルを新しいクラスの代表としてクラスを生成すると共に、これと同時に特徴ベクトルをサンプルとしてランドマークツリーのサブツリーを作成する。更に、DB処理部24では、サンプルが登録されたサブツリー、或いは、作成されたサブツリーに基づいて、ランドマークツリーの木構造の更新又は最適化を行い、更新又は最適化された木構造のランドマークツリーはランドマークDB25に格納される。図4は、ランドマークDBの作成方法を説明するフローチャートである。図4において、ステップS1では、ステレオカメラ141からの画像系列の全ての画像の処理が完了したか否かを判定し、判定結果がNOであると処理はステップS2へ進み、判定結果がYESであると処理はステップS6へ進む。ステップS2では、ステレオカメラ141からの画像系列を入力部21に入力する。ステップS3では、前処理部22の特徴点抽出部221が入力部21を介して入力されるステレオカメラ141からの画像系列のうち、例えば右カメラ画像に対して特徴点抽出を行い、特徴ベクトル算出部222が抽出した特徴点の周囲領域の輝度分布特徴から特徴ベクトルを計算する。ステップS4では、特徴ベクトル処理部23の特徴ベクトルバッファ部231が特徴ベクトル算出部222から供給される特徴ベクトルをバッファリングし、マッチング部232がバッファリングされた特徴ベクトルに基づいてフレーム間の特徴点を追跡、即ち、マッチングを行う。ステップS5では、マッチング部232が未処理の特徴点数を、処理中のフレームの特徴点数に設定する。ステップS7では、マッチング232が未処理特徴点数が0であるか否かを判定し、判定結果がYESであると処理は後述するステップS16へ進み、判定結果がNOであると処理はステップS8へ進む。ステップS8では、マッチング部232が未処理の特徴点を選択する。ステップS9では、特徴ベクトル処理部23のID取得部233が追跡長さ又は、距離が一定の閾値以上であるか否かを判定し、判定結果がYESであると処理はステップS10へ進み、判定結果がNOであると処理は後述するステップS16へ進む。ステップS10では、ID取得部233が直前フレームでの対応特徴点がID番号を有するか否かを判定し、判定結果がYESであると処理はステップS13へ進み、判定結果がNOであると処理はステップS11へ進む。ステップS11では、ID取得部233がステップS10において直前フレームでの対応特徴点が有すると判定されたID番号と一致するID番号をランドマークDB25内で検索する。ステップS12では、ID取得部233が一致するID番号が検索されたか否かを判定する。一致するID番号が検索されてステップS12の判定結果がYESであると処理はステップS14へ進み、一致するID番号が検索されずNULLステップS12の判定結果がNOであると処理はステップS13へ進む。ステップS13では、DB処理部24が一致するID番号がランドマークDB25に登録されていない特徴点の特徴ベクトルをランドマークDB25内の該当するクラスのランドマークツリー中の該当するカテゴリのサブツリーに追加し、処理はステップS15へ進む。例えば、クラスは検出対象となるランドマークに対応し、各カテゴリは当該カテゴリが属するクラス、即ち、ランドマークを形成する特徴部分に相当する。ランドマークを形成する特徴部分には、例えば右角、左角、色等の情報が含まれる。ステップS14では、DB処理部24が一致するID番号を有する特徴点の特徴ベクトルをランドマークDB25内の該当するクラスのランドマークツリー中の該当するカテゴリのサブツリーに追加登録する。ステップS15では、特徴ベクトル処理部23のマッチング部232が未処理の特徴点数を1だけデクリメントし、処理はステップS7へ戻る。ステップS16では、DB処理部24がサンプルが登録されたサブツリー、或いは、作成されたサブツリーに基づいて、ランドマークツリーの木構造の更新又は最適化を行い、処理はステップS1へ戻る。ステップS7の判定結果がYESになると、ステップS6では、DB処理部24が更新又は最適化された木構造のランドマークツリーを保存するためにランドマークDB25に格納し、処理は終了する。本実施例におけるランドマークDB25への登録手順をより詳細に説明すると、次のようになる。ステップS31では、図5に示すようにフレーム0のフレーム画像I0において特徴点pを検出し、特徴ベクトルを作成する。ステップS32では、図6に示すようにフレームmm>0において特徴pmを検出して特徴ベクトルを作成し、フレームm-1で検出した特徴点pm-1との対応付けを行って図7に示す如き対応点リストを作成すると共に、対応点リストの長さcを記憶する。ステップS33では、フレームMM>m>0まで、ステップS32の処理を続ける。ステップS34では、フレームMの全ての特徴点pMをスキャンする。ステップS35では、フレームMの全ての特徴点pMのスキャンが完了した後、ランドマークDB25を最適化する。ステップS36では、フレームnn=Mj,j>0において、ステップS32と同様の処理を、mをnに変更して行う。ステップS37では、フレームnの全ての特徴点リストをスキャンして、以下に説明する処理P1と処理P2を行う。ステップS38では、フレームnの全ての特徴点pnのスキャンが完了した後、ランドマークDB25を最適化する。ステップS39では、最終フレームNまでステップS36,S37,S38を行う。ステップS40では、ランドマークDB25の内容を記憶部902に保存して、処理は終了する。ステップS38におけるランドマークDB25の最適化は、例えば次のように行うことができる。先ず、ランドマークDB25に格納されているランドマークツリーの各ノードiに対して、ステップS38-1~S38-4を実行する。ステップS38-1は、ノードiの特徴ベクトルwiを次式から計算する。ここで、KiはサブツリーSDiのノード数を表す。ステップS38-2は、サブツリーSDi中で特徴ベクトルwiとの距離L2が所定値以上のメンバーを削除する。ステップS38-3は、ステップS38-1を再度実行し、ステップS38-4は、サブツリーSDiの構造を最適化、即ち、サブツリーSDiの木構造の再構成を行う。次に、ランドマークDB25に格納されているランドマークツリーの木構造を最適化、即ち、ランドマークツリーの木構造の再構成を行う。尚、ステップS12におけるID番号の検索searchは、例えば次のように行うことができる。図8は、ランドマークDB25に格納されるランドマークツリーの木構造の一例を説明する図である。図8において、右側にランドマークDB25全体のランドマークツリーの木構造を示し、左側にこの木構造の一部分を拡大して示す。図8の左側に示す木構造の部分は、ランドマークの1番目のカテゴリC1に関するサブツリーLMC1、ランドマークの2番目のカテゴリC2に関するサブツリーLMC2、ランドマークの3番目のカテゴリC3に関するサブツリーLMC3を有する。STは、サブツリーLMC1を形成する特徴ベクトルのサンプルを示し、FRは、サブツリーLMC1中の代表特徴ベクトルを太線で囲んで示す。サブツリーLMC2,LMC3中の代表特徴ベクトルも同様に、太線で囲んで示す。ランドマークの検出次に、本発明の一実施例における画像処理装置で行うランドマーク検出方法について、図9と共に説明する。図9は、ランドマーク検出方法を説明する機能ブロック図である。図9中、図3と同一部分には同一符号を付し、その説明は省略する。図9に示す機能ブロックの処理は、サーバ901又はロボット1により実行可能である。この例では、説明の便宜上、図9に示す入力部21、前処理部22、ランドマークID認識部27、及び空間3次元位置測定部28の処理は、図2に示すサーバ901のCPU904により実行されるものとする。図9に示すように、前処理部22Aは、特徴点抽出部221及び特徴ベクトル算出部222に加え、特徴点座標記憶部223を有する。ランドマークID認識部27は、特徴ベクトルバッファ部231、フレーム間特徴点のマッチング部232、ID取得部233、及びIDリスト出力部234を有する。この例では、ランドマークDB25がランドマークID認識部27内に設けられているが、ランドマークDB25の配置は図3からもわかるように特に限定されず、サーバ901のCPU904からアクセス可能に設けられていれば良い。特徴点座標記憶部223は、カメラ141からの画像上の特徴点の座標を記憶部902に記憶し、空間3次元位置測定部28に供給する。空間3次元位置測定部28は、カメラ141の座標系における特徴点の空間3次元位置を測定する。一方、ロボット1のナビゲーションCPU11は、空間位置検索部111、計測値予測部112、仮説評価部113、仮説群生成部114、選択部115、ロボット位置姿勢推定部116、及び移動経路計画部117を有する。記憶部16には、ランドマークの空間位置のデータベース、即ち、ランドマーク地図が格納されている。空間位置検索部111は、ID番号でランドマークのワールド座標系WordCoordinateSystem又はグローバル座標系GlobalCoordinateSystemにおける空間位置を検索する。計測値予測部112は、空間位置をカメラ141の座標系、即ち、ローカル座標系LocalCoordinateSystem或いはボディ座標系BodyCoordinateSystemへ変換してID番号のランドマークをカメラ141で計測した場合の計測値を予測する。仮説評価部113は、各仮説の長さを評価し、ランドマークに対する実測値と予測値との差から尤度を計算する。仮説群生成部114は、ロボット位置又は、カメラ位置姿勢の仮説群を生成する。選択部115は、評価するべき任意の仮説例えば、カメラ位置姿勢を選択する。ロボット位置姿勢推定部116は、最良仮説、即ち、推定したロボット1の真の位置姿勢を求める。移動経路計画部117は、ロボット1が移動するべき移動経路を計画する。ランドマークの検出処理は、例えば次のようなステップS901~S921により実行可能である。先ず、ステップS901では、ステレオカメラ141からの画像系列を入力部21に入力する。ステップS902では、特徴点抽出部221が入力部21を介して入力されるステレオカメラ141からの画像系列のうち、例えば右カメラ画像に対して特徴点抽出を行う。右カメラ画像を使用するか、或いは、左カメラ画像を使用するかは、ランドマークDB25に登録されているランドマークを撮影したカメラが右カメラであるか、或いは、左カメラであるかに応じて選択しても良い。ステップS903では、特徴ベクトル算出部222が抽出した特徴点の周囲領域の輝度分布特徴から特徴ベクトルを計算する。ステップS904では、特徴点座標記憶部223が特徴点のカメラ画像上の位置を示す座標を記憶部902に記憶する。ステップS905では、特徴ベクトルバッファ部231が特徴ベクトル算出部222から供給される特徴ベクトルを記憶部902にバッファリングする。ステップS906では、特徴ベクトルバッファ部231が記憶部902にバッファリングされた特徴ベクトルに基づいて、例えば時刻tの最新フレームでの特徴点リストと時刻t-1の直前フレームでの特徴点リストを抽出してマッチング部232に供給する。ステップS907では、マッチング部232が時刻t,t-1の連続する2フレームの特徴点リスト同士を総当りでマッチングする。ステップS908では、マッチングの得点が閾値以上であるとID取得部233が連続マッチング長さをインクリメントし、これと同時に、直前フレームでの対応する特徴点がID番号を持っていればそのID番号を継承させる。直前フレームでの対応する特徴点がID番号を持っていない場合、ステップS909では、ID取得部233が連続マッチング長さが一定以上であればランドマークDB25と照合する。ステップS910では、ID取得部233がランドマークDB25とのマッチングに外れた特徴点を廃棄する。ステップS911では、IDリスト出力部234がマッチングすると認識されたランドマークとそのID番号、即ち、マッチングすると認識されたランドマークのデータを出力する。この例では、ランドマークの空間位置データベースDBが事前に取得されて記憶部16に格納されているものとする。ステップS912では、空間位置検索部111がID番号でワールド座標系におけるランドマークの空間位置を検索して出力する。ステップS912では、全てのIDに対して同様な検索を行う。ステップS913では、ロボット1の位置姿勢を推定するために、仮説群生成部114がロボット1の位置姿勢に関する仮説群を後述する評価部113から供給される尤度に基づいて生成する。ステップS914では、選択部115が仮説群から任意の仮説を選択し、選択された任意の仮説に対して評価を行う。この例では、評価は前の仮説に対する繰り返し処理である。ステップS915では、計測値予測部113が空間位置をカメラ141のローカル座標系へ変換してID番号のランドマークをカメラ141で計測した場合の計測値を予測する。これにより、空間位置検索部111で検索されたランドマークのワールド座標がカメラ141のローカル座標系へ変換される。ステップS916では、空間3次元位置測定部28がカメラ141でランドマークを計測した際の実測値を評価部113に供給する。ステップS917では、評価部113が空間3次元位置測定部28から供給される実測値と計測値予測部112で変換されたローカル座標とを比較し、比較された2つの値の一致度を表す点数を付ける。この例では、各仮説の良さを評価し、ランドマークに対する実測値と予測値の差から尤度を計算する。ステップS918では、評価部113で計算された尤度即ち、点数をロボット位置の仮説群生成部114へフィードバックする。ステップS919では、位置姿勢推定部116が最良評価の仮説を推定したロボット1の真の位置姿勢に決定する。ステップS920では、位置姿勢推定部116が推定したロボット1の真の位置姿勢を移動計画部117に供給する。ステップS921では、移動計画部117が計画した移動指示に従ってロボット1を移動させるように走行制御CPU12を制御する。これにより、図1に示すモータ133は、走行制御CPU12からのコマンドに基づいて車輪134を直接、或いは、ギア機構を介して回転し、ロボット1が計画に従って移動する。尚、図3に示す如きDB処理部24をランドマークID認識部27に接続して、ランドマークDB25を更新又は最適化可能な構成としても良いことは、言うまでもない。比較例と実施例の比較次に、従来のデータ処理装置の一例である比較例におけるランドマークDBへの登録手順を説明する。ステップS501では、図10に示すように各フレーム画像I0~I3において特徴点wを検出し、特徴ベクトルのサンプルを収集する。ステップS502では、収集した特徴ベクトルを図11に示すようにクラスタリングする。この場合、例えばカテゴリ数が既知であり3であるものとする。従って、ステップS502では収集した特徴ベクトルが3つのカテゴリC1,C2,C3にクラスタリングされる。ステップS503では、図12に太線で囲んで示すように各カテゴリC1,C2,C3の平均ベクトルw1,w2,w3を計算する。ステップS504では、図13に示すように各カテゴリC1,C2,C3の平均ベクトルw1,w2,w3、即ち、太線で囲んで示す代表特徴ベクトルをノードとしてKD木KDimensionalTreeを生成し、ランドマークDBが作成される。しかし、同一物体を撮影した画像から検出した特徴ベクトルが照明変化、視点の違い、影の違い等の影響により異なると、代表特徴ベクトルがぼけてしまう。このため、画像サンプルの数が多くなると、代表特徴ベクトルが本来同じカテゴリに属する特徴ベクトルを代表できなる可能性がある。一方、上記実施例では、第1及び第2の2段階でランドマークを検出することで、ランドマーク検出時の誤りと見逃しを軽減することができる。第1段階では、クラスとのマッチングを行うことで大まかな又は、粗いマッチングを行う。先ず、入力特徴ベクトルとランドマークDB内のランドマークツリーのノードとのマッチングを行い、入力特徴ベクトルとノード間の距離L2を算出する。次に、算出した距離L2でランドマークツリーのノードを絞込み、入力特徴ベクトルとランドマークツリーのノードとの相関値から類似度を算出する。これにより、動画像追跡を用いて、一定時間以上に連続に追跡されている比較的安定な特徴点のみが生き残り、生き残った特徴点が各クラスの代表的ベクトルと比較的甘くマッチングされる。従って、閾値を過敏に設定したことによるランドマークの検出見逃しを減らすことができる。第2段階では、第1段階でマッチングされたクラス内の各メンバーとのマッチングを行うことで精密なマッチングを行う。先ず、第1段階で絞り込んだランドマークツリーのノードから該当するカテゴリのサブツリーを抽出する。次に、入力特徴ベクトルと抽出したサブツリーの各ノードとの距離L2を算出して最大距離と最小距離のノードのID番号を抽出し、入力特徴ベクトルとこれらの抽出されたノードとの相関値から総合的に類似度を算出する。これにより、各クラスの代表特徴ベクトルとのマッチングで生き残った特徴点に対して、サブツリーで管理しているサンプルの特徴点とのマッチングを行う。これらのサンプルは、異なる地点や照明等の異なる環境下で取得したデータであり、多様性を保っているので、マッチングの得点を比較的高くすることができる。この段階で最大得点と最少得点の両方に対して比較的高い閾値を設定することで、ランドマークの検出時の誤りを減らすことができる。次に、比較例と実施例についての実験データを図14乃至図20と共に説明する。実験例では、或る建物のエントランスで、所定位置に設置されたカメラを例えば垂直軸を中心に所定角度範囲で3周回させて、毎秒5フレームで画像列を取得し、ランドマークDBを作成した。更に、ランドマークDBを作成した数時間後に同じエントランスで、前記所定位置に設置されたカメラを同様に2周回させて、画像列3000枚超を取得し、ランドマークDB25を用いて画像列からランドマーク検知を行った。図14は、比較例における照明の変化と撮影地点による検出性能への影響を説明する図であり、図15は、実施例における照明の変化と撮影地点による検出性能への影響を説明する図である。図14及び図15において、aはランドマークDB作成後に取得した例えば4フレーム目の画像を示し、bはランドマークDB作成後に取得した例えば21フレーム目の画像を示す。4フレーム目の画像と21フレーム目の画像とでは、撮影時間の違いから照明が変化している。又、図14及び図15において、○印はランドマークDBに登録されたランドマークとのマッチングが取れた箇所を示す。図14と図15の比較からもわかるように、本実施例によれば、登録されている画像の撮影条件と照合する入力画像の撮影条件の違いにかかわらず、比較例に比べてより多くのランドマークを検出可能であることが確認された。図16は、比較例における各フレームでのランドマークの検出数を説明する図であり、図17は、実施例における各フレームでのランドマークの検出数を説明する図である。図16及び図17において、縦軸はランドマーク検出数個を示し、横軸は画像フレーム番号時間軸相当を示す。図18は、図16の比較例のランドマーク検出結果を示すヒストグラムであり、図19は、図17の実施例のランドマーク検出結果を示すヒストグラムである。図18及び図19において、最も細かいハッチングがランドマーク検出回数が0回の場合、2番目に細かいハッチングがランドマーク検出階数が1回の場合、3番目に細かいハッチングがランドマーク検出階数が2回の場合、4番目に細かいハッチングがランドマーク検出階数が3回の場合、5番目に細かい即ち、最も粗いハッチングがランドマーク検出階数が4回以上の場合を示す。更に、図20は、図18及び図19のヒストグラムを表形式で示す図である。図14、図16及び図18と、図15、図17及び図19との比較、又、図20からもわかるように、本実施例によれば、登録されている画像の撮影条件と照合する入力画像の撮影条件の違いにかかわらず正確な画像照合を行うことが可能であるため、比較例に比べてより多くのランドマークを検出可能であることが確認された。尚、上記実施例では、検出対象がランドマークであるが、検出対象はランドマークに限定されるものではなく、例えば人物、人物の顔等であっても良い。検出対象が例えば特定人物の顔であれば、クラスは検出対象となる特定人物の顔に対応し、各カテゴリは当該カテゴリが属するクラス、即ち、顔を形成する特徴部分に相当する。顔を形成する特徴部分には、例えば右目、左目、鼻、口等の情報が含まれる。開示の画像処理装置及びプログラムの適用は、上記実施例の如き自律移動型のロボットに限定されるものではなく、各種自律移動型の装置、各種固定型の装置、携帯型の電子装置、例えば携帯電話、携帯端末、携帯型パーソナルコンピュータ等にも適用可能であることは言うまでもない。以上の実施例を含む実施形態に関し、更に以下の付記を開示する。付記1コンピュータに、画像データから検出対象を検出させるプログラムであって、入力された画像データの各フレームに対して特徴点を抽出し、抽出した特徴点に基づいて特徴ベクトルを算出する前処理手順と、検出対象画像の特徴点の特徴ベクトルをノードとし、カテゴリ毎に当該カテゴリを代表する代表特徴ベクトルと特徴ベクトルのサンプルがメンバーであるサブツリーで接続されると共に検出対象毎のクラスにクラスタ化された木構造が登録された記憶部にアクセスし、第1段階では前記前処理手順で算出した特徴ベクトルと前記記憶部内のクラスとのマッチングを行い、第2段階ではマッチングされたクラス内の各メンバーとのマッチングを行いマッチングすると認識された検出対象のデータを出力する認識手順を前記コンピュータに実行させることを特徴とする、プログラム。付記2前記認識手順は、前記第1段階では前記入力特徴ベクトルと前記木構造のノードとの間の距離を算出し、前記距離で前記木構造のノードを絞込み、前記入力特徴ベクトルと前記木構造のノードとの相関値から類似度を算出し、前記第2段階では前記第1段階で絞り込んだ前記木構造のノードから該当するカテゴリのサブツリーを抽出し、前記入力特徴ベクトルと抽出したサブツリーの各ノードとの距離を算出して最大距離と最小距離のノードを抽出し、前記入力特徴ベクトルと抽出されたノードとの相関値から総合的に類似度を算出することを特徴とする、付記1記載のプログラム。付記3前記サンプルが登録されたサブツリー、或いは、新たに作成されたサブツリーに基づいて木構造を更新して前記記憶部に格納する更新手順を前記コンピュータに更に実行させ、前記更新手順は、直前フレームの特徴点とマッチした最新フレームの特徴点、或いは、前記記憶部に登録されている特徴点とマッチした特徴点の入力特徴ベクトルをサンプルとして前記検出対象の木構造のサブツリーに登録すると共に、前記記憶部に登録されている特徴点とマッチしなかった特徴点の入力特徴ベクトルを新しいクラスの代表としてクラスを生成すると同時に当該入力特徴ベクトルをサンプルとして前記木構造のサブツリーを作成することを特徴とする、付記1又は2記載のプログラム。付記4前記前処理手順は、前記画像データをカメラの出力から入力し、前記認識手順により認識された検出対象のデータに基づいて前記カメラの位置を推定する推定手順を前記コンピュータに更に実行させることを特徴とする、付記1乃至3のいずれか1項記載のプログラム。付記5付記1乃至4のいずれか1項記載のプログラムが格納されたことを特徴とする、コンピュータ読み取り可能な記憶媒体。付記6入力された画像データの各フレームに対して特徴点を抽出し、抽出した特徴点に基づいて入力特徴ベクトルを算出する前処理部と、検出対象画像の特徴点の特徴ベクトルをノードとし、カテゴリ毎に当該カテゴリを代表する代表特徴ベクトルと特徴ベクトルのサンプルがメンバーであるサブツリーで接続されると共に検出対象毎のクラスにクラスタ化された木構造が登録された記憶部と、第1段階では前記入力特徴ベクトルと前記記憶部内のクラスとのマッチングを行い、第2段階ではマッチングされたクラス内の各メンバーとのマッチングを行いマッチングすると認識された検出対象のデータを出力する認識部を備えたことを特徴とする、画像処理装置。付記7前記認識部は、前記第1段階では前記入力特徴ベクトルと前記木構造のノードとの間の距離を算出し、前記距離で前記木構造のノードを絞込み、前記入力特徴ベクトルと前記木構造のノードとの相関値から類似度を算出し、前記第2段階では前記第1段階で絞り込んだ前記木構造のノードから該当するカテゴリのサブツリーを抽出し、前記入力特徴ベクトルと抽出したサブツリーの各ノードとの距離を算出して最大距離と最小距離のノードを抽出し、前記入力特徴ベクトルと抽出されたノードとの相関値から総合的に類似度を算出することを特徴とする、付記6記載の画像処理装置。付記8前記サンプルが登録されたサブツリー、或いは、新たに作成されたサブツリーに基づいて木構造を更新して前記記憶部に格納する更新部を更に備え、前記更新部は、直前フレームの特徴点とマッチした最新フレームの特徴点、或いは、前記記憶部に登録されている特徴点とマッチした特徴点の入力特徴ベクトルをサンプルとして前記検出対象の木構造のサブツリーに登録すると共に、前記記憶部に登録されている特徴点とマッチしなかった特徴点の入力特徴ベクトルを新しいクラスの代表としてクラスを生成すると同時に当該入力特徴ベクトルをサンプルとして前記木構造のサブツリーを作成することを特徴とする、付記6又は7記載の画像処理装置。付記9前記画像データを出力するカメラと、前記認識部により認識された検出対象のデータに基づいて前記カメラの位置を推定する推定部を更に備えたことを特徴とする、付記6乃至8のいずれか1項記載の画像処理装置。以上、開示のプログラム及び画像処理装置を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。"