(57)【特許請求の範囲】
【請求項１】
撮影装置により得られた撮影画像と、前記撮影装置の位置及び姿勢の導出に用いられる指標情報と、前記撮影装置の位置及び姿勢と、に基づいて、前記撮影画像に対応する撮影範囲の環境の変化を検出する検出手段と、
動作モードを選択する選択手段と、
前記変化が検出され、かつ第１の動作モードが選択された場合に、変化の前の状態に戻す指示情報を出力する出力手段と、
前記変化が検出され、かつ第２の動作モードが選択された場合に、前記変化の後の状態に基づいて、前記指標情報を更新する更新手段と
を有することを特徴とする情報処理装置。
【請求項２】
前記変化の前の状態に戻すための作業コストを予測する第１の予測手段をさらに有し、
前記選択手段は、前記第１の予測手段により予測された前記作業コストに基づいて、前記動作モードを選択することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記指標情報を更新するための作業コストを予測する第２の予測手段をさらに有し、
前記選択手段は、前記第２の予測手段により予測された前記作業コストに基づいて、前記動作モードを選択することを特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記選択手段は、前記検出手段により検出された変化の内容に基づいて、前記動作モードを選択することを特徴とする請求項１に記載の情報処理装置。
【請求項５】
前記選択手段は、前記変化の前後それぞれの状態に対応する前記指標情報を用いた、前記撮影装置の位置及び姿勢の推定精度に基づいて、前記動作モードを選択することを特徴とする請求項１に記載の情報処理装置。
【請求項６】
撮影装置により得られた撮影画像と、前記撮影装置の位置及び姿勢の導出に用いられる指標情報と、前記撮影装置の位置及び姿勢と、に基づいて、前記撮影画像に対応する撮影範囲の環境の変化として、前記撮影範囲に存在する物体の配置の変化を検出する検出手段と、
前記検出手段により検出された変化と、前記指標情報と、に基づいて、前記変化の前の状態に戻す方法として、前記物体の移動方向及び移動量のうち少なくとも１つを特定する特定手段と、
前記特定手段により特定された方法を含む指示情報を生成する生成手段と、
前記変化が検出された場合に、前記生成手段により生成された、変化の前の状態に戻す指示情報を出力する出力手段と
を有することを特徴とする情報処理装置。
【請求項７】
前記検出手段は、前記変化として、前記撮影範囲において新たに検出された物体、前記撮影範囲において検出されなくなった物体をさらに検出し、
前記特定手段は、前記検出手段により検出された変化と、前記指標情報と、に基づいて、前記変化の前の状態に戻す方法として、前記変化に係る物体を特定することを特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記出力手段は、前記変化に係る物体を示す情報をさらに出力することを特徴とする請求項６又は７に記載の情報処理装置。
【請求項９】
前記出力手段は、前記変化が検出された領域を示す画像をさらに出力することを特徴とする請求項６乃至８何れか１項に記載の情報処理装置。
【請求項１０】
請求項１乃至９何れか１項に記載の情報処理装置と、撮影部と、表示部とを備えることを特徴とする情報処理システム。
【請求項１１】
情報処理装置が実行する情報処理方法であって、
撮影装置により得られた撮影画像と、前記撮影装置の位置及び姿勢の導出に用いられる指標情報と、前記撮影装置の位置及び姿勢と、に基づいて、前記撮影画像に対応する撮影範囲の環境の変化を検出する検出ステップと、
動作モードを選択する選択ステップと、
前記変化が検出され、かつ第１の動作モードが選択された場合に、変化の前の状態に戻す指示情報を出力する出力ステップと、
前記変化が検出され、かつ第２の動作モードが選択された場合に、前記変化の後の状態に基づいて、前記指標情報を更新する更新ステップと
を含むことを特徴とする情報処理方法。
【請求項１２】
撮影装置により得られた撮影画像と、前記撮影装置の位置及び姿勢の導出に用いられる指標情報と、前記撮影装置の位置及び姿勢と、に基づいて、前記撮影画像に対応する撮影範囲の環境の変化として、前記撮影範囲に存在する物体の配置の変化を検出する検出ステップと、
前記検出ステップにより検出された変化と、前記指標情報と、に基づいて、前記変化の前の状態に戻す方法として、前記物体の移動方向及び移動量のうち少なくとも１つを特定する特定ステップと、
前記特定ステップにより特定された方法を含む指示情報を生成する生成ステップと、
前記変化が検出された場合に、前記生成ステップにより生成された、変化の前の状態に戻す指示情報を出力する出力ステップと
を含むことを特徴とする情報処理方法。
【請求項１３】
コンピュータを、請求項１乃至９何れか１項に記載の情報処理装置の各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理方法、情報処理システム及びプログラムに関する。
【背景技術】
【０００２】
従来、カメラ周囲に存在する複数の指標の配置が記述された地図（以下、指標マップと称する）と、カメラで撮像された画像と、に基づいて、カメラの位置姿勢を算出する技術が知られている。カメラの位置姿勢を算出する技術は、Ｍｉｘｅｄ  Ｒｅａｌｉｔｙ（ＭＲ）、Ａｕｇｍｅｎｔｅｄ  Ｒｅａｌｉｔｙ（ＡＲ）等で広く用いられている。カメラの位置姿勢の安定性を維持するためには、指標の配置が変化した時に、指標マップを実際の指標の配置と一致させるように更新する必要がある。
【０００３】
特許文献１には、撮影画像から検出される特徴点やオブジェクトの情報と、指標マップの情報とを比較することで、指標の配置が変化した領域を特定し、特定した領域の指標マップを撮影画像に基づいて更新する方法が開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−３０４２６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、指標の配置状況に応じてカメラの位置姿勢推定の精度が変動するため、指標の配置が変化したことで精度が低下する可能性がある。
【０００６】
本発明はこのような問題点に鑑みなされたもので、撮影装置の位置及び姿勢の推定を安定して行うことを目的とする。
【課題を解決するための手段】
【０００７】
そこで、本発明は、情報処理装置であって、撮影装置により得られた撮影画像と、前記撮影装置の位置及び姿勢の導出に用いられる指標情報と、前記撮影装置の位置及び姿勢と、に基づいて、前記撮影画像に対応する撮影範囲の環境の変化を検出する検出手段と、動作モードを選択する選択手段と、前記変化が検出され、かつ第１の動作モードが選択された場合に、変化の前の状態に戻す指示情報を出力する出力手段と、前記変化が検出され、かつ第２の動作モードが選択された場合に、前記変化の後の状態に基づいて、前記指標情報を更新する更新手段とを有することを特徴とする。
【発明の効果】
【０００８】
本発明によれば、撮影装置の位置及び姿勢の推定を安定して行うことができる。
【図面の簡単な説明】
【０００９】
【図１】情報処理装置のハードウェア構成を示す図である。
【図２】情報処理装置のソフトウェア構成を示す図である。
【図３】情報処理を示すフローチャートである。
【図４】画面例を示す図である。
【図５】第１の実施形態の第６の変更例に係る画面例を示す図である。
【図６】第２の実施形態に係る情報処理を示すフローチャートである。
【図７】第２の実施形態に係る画面例を示す図である。
【図８】第３の実施形態に係る情報処理を示すフローチャートである。
【図９】第３の実施形態に係る表示例を示す図である。
【図１０】第４の実施形態に係る情報処理を示すフローチャートである。
【図１１】第４の実施形態の第４の変更例に係る表示例を示す図である。
【図１２】第４の実施形態の第５の変更例に係る表示例を示す図である。
【図１３】第５の実施形態に係る情報処理装置のソフトウェア構成を示す図である。
【図１４】第５の実施形態に係る情報処理を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面に基づいて説明する。
【００１１】
（第１の実施形態）
図１は、第１の実施形態にかかる情報処理装置のハードウェア構成を示す図である。情報処理装置１００は、ＣＰＵ１０１と、ＲＯＭ１０２と、ＲＡＭ１０３と、ＨＤＤ１０４と、表示部１０５と、入力部１０６と、通信部１０７とを有している。ＣＰＵ１０１は、ＲＯＭ１０２に記憶された制御プログラムを読み出して各種処理を実行する。ＲＡＭ１０３は、ＣＰＵ１０１の主メモリ、ワークエリア等の一時記憶領域として用いられる。ＨＤＤ１０４は、画像データや各種プログラム等各種情報を記憶する。表示部１０５は、例えばＨＭＤ（Ｈｅａｄ  Ｍｏｕｎｔｅｄ  Ｄｉｓｐｌａｙ）に備えられたディスプレイから構成され、ユーザに対して各種情報を表示する。入力部１０６は、キーボードやマウスを有し、ユーザによる各種操作を受け付ける。通信部１０７は、ネットワークを介してカメラ等の外部装置との通信処理を行う。なお、後述する情報処理装置１００の機能や処理は、ＣＰＵ１０１がＲＯＭ１０２又はＨＤＤ１０４に格納されているプログラムを読み出し、このプログラムを実行することにより実現されるものである。
【００１２】
図２は、情報処理装置１００のソフトウェア構成を示す図である。情報処理装置１００は、撮影装置としてのカメラにより撮影された撮影画像と、情報処理装置に記憶された指標マップとを比較することにより、撮影画像に対応する撮影範囲における環境変化を検出する。そして、環境変化が検出された領域を特定し、ユーザに通知する。図２に示す各部の処理により、以上の処理が実現される。ここで、環境変化とは、環境中に存在する物体の配置や模様の変化等である。なお、指標マップについては後述する。
【００１３】
情報処理装置１００は、ソフトウェア構成として、取得部２０１と、記憶部２０２と、検出部２０３と、生成部２０４と、表示処理部２０５と、を有している。取得部２０１は、撮影装置（撮影部）としてのカメラ２１０から撮影画像を取得する。なお、カメラ２１０は表示部１０５のＨＭＤに備え付けられている。すなわち、情報処理装置１００とカメラ２１０は、情報処理システムとして機能する。ここで、撮影画像は、濃淡画像であるものとする。記憶部２０２は、指標マップを記憶している。ここで、指標マップは、撮影範囲に存在する物体等の複数の指標の配置が記述された地図情報である。本実施形態においては、記憶部２０２は、指標マップとして、カメラ２１０により撮影された所定の撮影範囲の撮影画像（以下、キーフレームと称する）を複数記憶している。ここで、キーフレームは濃淡画像である。さらに、指標マップにおいて、各キーフレームを撮影した時のカメラ２１０の位置及び姿勢（以下、位置姿勢と称する）を示す情報が、キーフレームに対応付けて記憶されている。ここで、キーフレームは、基準画像の一例である。また、指標マップは、基準画像に関する指標情報、すなわち撮影装置の位置及び姿勢の導出に用いられる指標情報の一例である。
【００１４】
検出部２０３は、処理対象の撮影画像において環境の変化を検出する。ここで、環境の変化とは、指標マップとしてのキーフレームに示される環境を基準とした、基準となる状態からの変化である。そして、検出部２０３は、撮影画像において、環境の変化が検出された領域を特定する。検出部２０３は、このとき、処理対象の撮影画像の撮影時のカメラ２１０の位置及び姿勢と、記憶部２０２に記憶されている指標マップと、を参照する。ここで、カメラ２１０の位置及び姿勢は、情報処理装置１００の外部装置の算出部２２０により算出されるものとする。生成部２０４は、情報を生成する。表示処理部２０５は、生成部２０４により生成された情報を表示部１０５に表示するよう制御する。
【００１５】
算出部２２０は、処理対象の撮影画像（濃淡画像）と、指標マップと、に基づいて、カメラ２１０の位置及び姿勢の推定値を算出する。カメラ２１０の位置及び姿勢の推定値を算出する処理については、特許第４６８９３８０号公報を参照することができる。
【００１６】
図３は、情報処理装置１００による情報処理を示すフローチャートである。Ｓ３００において、取得部２０１は、カメラ２１０から撮影画像である濃淡画像を取得する。Ｓ３００において取得部２０１が取得した濃淡画像が以下の処理の処理対象となる。以下、Ｓ３００において取得した濃淡画像を対象画像と称する。
【００１７】
次に、Ｓ３０１において、検出部２０３は、算出部２２０からカメラ２１０の位置姿勢を取得する。さらに、検出部２０３は、記憶部２０２に記憶されている複数のキーフレームの中から、算出部２２０から取得した位置姿勢と最も近い位置姿勢に対応するキーフレームを選択する。そして、検出部２０３は、選択されたキーフレーム及び対象画像、それぞれを複数の領域に分割し、各分割領域の両画像の類似度を算出する。検出部２０３での類似度の計算には、輝度値を用いた正規化相互相関を適用する。そして、検出部２０３は、類似度が予め定められた範囲を超える領域を抽出し、抽出した１つまたは複数の領域を包含する領域を環境が変化した領域として検出する。
【００１８】
次に、Ｓ３０２において、生成部２０４は、環境が変化したことをユーザに通知する通知情報を生成する。次に、Ｓ３０３において、表示処理部２０５は、Ｓ３０２において生成された通知情報を、対象画像に重畳して表示部１０５に表示する。ここで、通知情報を表示するＳ３０３の処理は、通知情報を出力する出力処理の一例である。
【００１９】
図４は、Ｓ３０３において表示部１０５に表示される画面例を示す図である。表示部１０５には、対象画像４００が表示されている。対象画像４００において、物体４０１が環境変化に係る物体であり、物体４０１の移動が検出されたものとする。この場合、物体４０１の周囲に囲み線４０２が重畳表示される。さらに、対象画像４００の左上に「環境変化あり」というように、ユーザに環境の変化が検出された旨を通知する通知情報４０３が重畳表示される。ここで、囲み線４０２は、変化が検出された領域を示す画像の一例である。囲み線４０２は、通知情報４０３と共に、ユーザに環境変化を通知する情報であり、すなわち通知情報の一例である。
【００２０】
以上のように、第１の実施形態に係る情報処理装置１００は、環境の変化が検出された場合に、環境変化があった旨の通知情報を表示することができる。こうすることで、ユーザに対して環境を変化する前の状態に戻すことを促すことが出来る。一方で、情報処理装置１００は、環境の変化が検出される度に、指標マップを更新することがないため、更新に係る手間を省くことができる。また、情報処理装置１００の位置及び姿勢の推定精度を補償できる環境を維持することができる。このため、指標マップを用いた情報処理装置１００の位置及び姿勢の推定を安定して行うことができる。
【００２１】
なお、第１の実施形態の第１の変更例としては、処理対象の撮影画像は、カメラ２１０により撮影され、カメラ２１０から入力された画像に限定されるものではない。他の例としては、取得部２０１は、自装置又は他の装置の記憶部に記憶されている撮影画像を取得してもよい。
【００２２】
また、第２の変更例としては、通知情報の出力形態は、実施形態に限定されるものではない。例えば、情報処理装置１００は、不図示のスピーカを有する場合には、環境の変化が検出された場合に通知情報として音声を出力してもよい。
【００２３】
また、第３の変更例としては、カメラに加えて距離センサを備え、記憶部２０２は、濃淡画像と距離画像の両方を指標マップとして記憶してもよい。また、他の例としては、記憶部２０２は、濃淡画像に替えて、濃淡画像に含まれるエッジ特徴やコーナー点等の画像特徴を基準画像に関する指標マップとして記憶していてもよい。また、他の例として、ステレオカメラもしくは距離センサにより環境中に存在する物体等の形状を表す距離点群を求め、記憶部２０２は、距離点群を指標マップとして記憶してもよい。この場合、指標マップは基準画像ではなく、環境中に存在する物体等の形状を表す距離点群そのものとなる。そしてＳ３０１において、検出部２０３は、記憶部２０２に記憶されている距離点群の中から算出部２２０から取得した位置姿勢で観察出来る距離点群を選択する。さらに検出部２０３は、選択された距離点群の各点とステレオカメラもしくは距離センサにより得られた距離点群の各点とで最も近い点間の距離を求め、複数に分割した領域のうち予め定めた距離内にない点が一定割合以上ある領域を求める。そして、検出部２０３は、求めた１つまたは複数の領域を包含する領域を環境が変化した領域として検出する。
【００２４】
また、他の例としては、記憶部２０２は、基準画像に含まれる物体の３次元モデルとその配置情報を指標マップとして記憶していてもよい。物体の３次元モデルは、物体の幾何形状と表面特性を示すものであればよく、詳細は特に限定されない。記憶部２０２は、例えば、３次元点群とその接続関係で表現されるポリゴンモデルを記憶し、さらに表面特性として反射特性を記憶してもよい。この場合には、検出部２０３は、カメラの位置姿勢に基づいて、３次元モデルを２次元に投影した画像を生成する。そして、検出部２０３は、生成した画像と対象画像との類似度を用いることで、環境の変化を検出する。
【００２５】
また、第４の変更例としては、取得部２０１は、濃淡画像に替えて、距離画像を撮影画像として取得し、これを処理対象としてもよい。この場合、Ｓ３０１において、検出部２０３は、距離値を用いた正規化相互相関を適用して、類似度を算出する。また、他の例としては、取得部２０１は、濃淡画像及び距離画像の両方を撮影画像として取得し、これらを処理対象としてもよい。この場合には、Ｓ３０１において、検出部２０３は、輝度値を用いた類似度及び距離値を用いた類似度の何れか一方が予め定められた閾値を超える領域を環境が変化した領域として検出すればよい。
【００２６】
また、他の例としては、取得部２０１は、濃淡画像と共に画像特徴を取得してもよい。なお、画像特徴は、例えばカメラ２１０等情報処理装置１００の外部の装置において撮影画像から抽出されるものとする。画像特徴としてコーナー点を取得する場合には、Ｓ３０１において、検出部２０３は、対象画像中のコーナー点とキーフレームのコーナー点の対応関係を特定し、両コーナー点の画像上での距離が閾値を超えるものを抽出する。そして、検出部２０３は、抽出したコーナー点が含まれる対象画像上の領域を環境が変化した領域として検出する。
【００２７】
第５の変更例について説明する。本実施形態に係る検出部２０３は、環境が変化した領域として対象画像上の領域を検出した。ただし、取得部２０１が撮影画像として距離画像を取得する場合には、検出部２０３は、環境が変化した領域として３次元領域を検出してもよい。具体的には、検出部２０３は、変化が検出された画像領域の各画素が保持する距離値を内包する３次元領域を求め、求めた３次元領域を変化した領域として検出する。この場合、例えば図５の５１２のように、囲み線も３次元形状の囲み線を示してもよい。
【００２８】
第６の変更例について説明する。表示部１０５が通知情報として表示部１０５に表示される内容は実施形態に限定されるものではない。例えば、生成部２０４は、図５（ａ）に示すように、対象画像５１０と、キーフレーム５２０とを並べた画像を通知情報として生成し、表示処理部２０５はこれを表示してもよい。なお、図５（ａ）は、キーフレーム５２０の物体５２１が、対象画像５１０において消失した場合の表示例である。この場合、撮影画像５１０には、変化が検出された領域を示す囲み線５１２が示され、キーフレーム５２０には、環境変化に係る物体５２１の周囲に、変化が検出された領域を示す囲み線５２２が表示されている。また、例えば、生成部２０４は、図５（ｂ）に示すように、対象画像５３０において、変化が検出された領域に、対応するキーフレームの画像を重畳した画像を通知情報として生成してもよい。また、例えば、生成部２０４は、対象画像５３０の中に縮小したキーフレーム画像を合成した画像を通知情報としてもよい。
【００２９】
（第２の実施形態）
次に、第２の実施形態に係る情報処理装置１００について説明する。第２の実施形態に係る情報処理装置１００は、環境の変化として、撮影画像中の物体の配置の変化を検出する。以下、第２の実施形態に係る情報処理装置１００について、第１の実施形態に係る情報処理装置１００と異なる点について説明する。第２の実施形態に係る情報処理装置１００においては、記憶部２０２は、第１の実施形態に係る記憶部２０２と同様に、複数のキーフレームと、各キーフレームに対応するカメラ２１０の位置姿勢を記憶する。記憶部２０２はさらに、各キーフレームに含まれる物体を示す各物体領域と、物体を識別するための識別子とを対応付けた情報を記憶している。
【００３０】
なお、本実施形態においては、物体の識別子は、一の物体を他の物体と識別する情報であるものとする。すなわち、形の異なる２つの机に対しては異なる識別子が割り当てられる。また、他の例としては、物体の識別子は、物体の種類を識別するものであってもよい。すなわち、この場合には、形の異なる２つの机に対しては、机を示す同一の識別子が割り当てられる。また、第２の実施形態においては、生成部２０４は、記憶部２０２を参照して、通知情報を生成する。
【００３１】
図６は、第２の実施形態に係る情報処理装置１００による情報処理を示すフローチャートである。Ｓ６００において、取得部２０１は、撮影画像としての濃淡画像をカメラ２１０から取得する。次に、Ｓ６０１において、検出部２０３は、撮影画像に含まれる物体の配置変化を検出する。具体的には、検出部２０３は、記憶部２０２に記憶されている複数のキーフレームの中から、処理対象の撮影画像（対象画像）に対応するカメラ２１０の位置姿勢と最も近い位置姿勢に対応付けられているキーフレームを選択する。そして、検出部２０３は、選択したキーフレームの分割領域毎に、キーフレームと対象画像との類似度を算出し、類似度が予め定められた範囲を超える分割領域を物体の配置が変化した領域として検出する。検出部２０３での類似度の計算には、輝度値を用いた正規化相互相関を適用する。
【００３２】
次に、Ｓ６０２において、検出部２０３は、検出した分割領域に設定されている識別子を参照することで、配置が変化した物体を特定する。次に、Ｓ６０３において、生成部２０４は、配置が変化した物体の識別子を含む通知情報を生成する。なお、他の例としては、記憶部２０２は、物体の識別子に対応付けて、物体名を記憶し、生成部２０４は、物体の識別子に対応付けられている物体名を含む通知情報を生成する。次に、Ｓ６０４において、表示処理部２０５は、通知情報を表示部１０５に表示するよう制御する。
【００３３】
図７は、Ｓ６０４において表示部１０５に表示される画面例を示す図である。表示部１０５には、対象画像７００が表示されている。対象画像７００において、物体７０１は、配置が変化した係る物体である。物体７０１の周囲には、囲み線７０２が重畳表示されている。さらに、対象画像７００の左上に「箱の配置が変化しました」というように、物体の名称又は識別子と共に、ユーザに物体の配置変化が検出された旨を通知する通知情報７０３が重畳表示される。なお、第２の実施形態に係る情報処理装置１００のこれ以外の構成及び処理は、第１の実施形態に係る情報処理装置１００の構成及び処理と同様である。
【００３４】
以上のように、第２の実施形態に係る情報処理装置１００は、物体の配置変化が検出された場合に、配置変化があった旨と配置変化に係る物体とを通知する通知情報を表示することができる。一方で、情報処理装置１００は、環境の変化が検出される度に、指標マップを更新することがないため、更新に係る手間を省くことができる。また、情報処理装置１００の位置及び姿勢の推定精度を補償できる環境を維持することができる。このため、指標マップを用いた情報処理装置１００の位置及び姿勢の推定を安定して行うことができる。
【００３５】
第２の実施形態の変更例としては、物体の配置変化を検出するための方法は、実施形態に限定されるものではない。検出部２０３は、例えば、対象画像に含まれる物体の位置姿勢を推定することで、物体の配置が変化したか否かを判定してもよい。この場合、記憶部２０２は、指標マップとして、撮影対象となる物体の３次元環境モデルを記憶する。３次元環境モデルは、環境に存在する複数の物体の３次元モデルとそれらの配置情報を含む。さらに各３次元モデルには、物体を示す識別子が付与されている。３次元モデルは、３次元点群とその接続関係で表現されるポリゴンモデルとする。
【００３６】
そして、検出部２０３は、対象画像に対応するカメラ２１０の位置姿勢と、記憶部２０２に記憶されている複数の物体それぞれの３次元モデルとに基づいて、対象画像に含まれ得る物体を抽出する。具体的には、以下の処理を行う。すなわち、検出部２０３は、各３次元モデルの全ての３次元点をカメラ２１０の位置姿勢に基づいて、画像上に投影する。そして、検出部２０３は、投影位置の全て又は一部が、対象画像の画像領域内にあると判定された物体を対象画像に含まれ得る物体として抽出する。（式１）は、３次元点（Ｘ、Ｙ、Ｚ）をカメラの位置姿勢Ｍに基づいて画像上に投影し、画像上での画素位置（ｕ、ｖ）を求めるための計算式である。（式１）のＫは、カメラ２１０の内部パラメータであり、カメラ２１０の焦点距離や主点位置などで表現される。
【００３７】
【数１】
0006719945.tif 000002
【００３８】
次に、検出部２０３は、入力された濃淡画像に含まれ得ると判定された物体の位置姿勢を算出する。位置姿勢の算出の方法については、以下の文献に記載された手法を参照することができる。
「２次元距離場を用いた２Ｄ−３Ｄ  レジストレーション」  倉爪亮ら  画像の認識・理解シンポジウム、ＭＩＲＵ２００５
検出部２０３は、処理対象の濃淡画像の輪郭線から求めた２次元距離場と２次元画像に投影した３次元モデルのシルエット画像を用い、物体の位置姿勢を決定する。そして、検出部２０３は、記憶部２０２に記憶されている物体の位置姿勢と、算出した物体の位置姿勢との差が所定の範囲を超えた場合には、該物体の配置が変化したと判定する。
【００３９】
（第３の実施形態）
次に、第３の実施形態に係る情報処理装置１００について説明する。第３の実施形態に係る情報処理装置１００は、環境の変化として、対象画像に新たに現れた物体及び撮影画像から消えた物体を検出する。以下、第３の実施形態に係る情報処理装置１００について、他の実施形態に係る情報処理装置１００と異なる点について説明する。第３の実施形態に係る記憶部２０２は、複数のキーフレームと、各キーフレームに対応するカメラ２１０の位置姿勢と、各キーフレームに含まれる物体を示す各物体領域と、物体を識別するための識別子とを対応付けた情報と、を記憶している。
【００４０】
図８は、第３の実施形態に係る情報処理装置１００による情報処理を示すフローチャートである。Ｓ８００において、取得部２０１は、撮影画像としての濃淡画像をカメラ２１０から取得する。次に、Ｓ８０１において、検出部２０３は、Ｓ８００において取得した撮影画像を処理対象（対象画像）とし、対象画像において新たに現れた物体及び対象画像から消えた物体を検出する。検出方法は以下の通りである。すなわち、検出部２０３は、記憶部２０２に記憶されている複数のキーフレームの中から、処理対象の撮影画像（対象画像）に対応するカメラ２１０の位置姿勢と最も近い位置姿勢に対応付けられているキーフレームを選択する。そして、検出部２０３は、対象画像に対してグラフカットの手法を用いることで、物体毎に画像領域を分割する。
【００４１】
次に、検出部２０３は、選択したキーフレーム群の各分割領域（以下、分割領域Ａと称する）と、対象画像の分割領域（分割領域Ｂと称する）との類似度を算出する。類似度の計算には、輝度値を用いた正規化相互相関を適用する。検出部２０３は、いずれの分割領域Ｂに対しても、類似度が所定の範囲内とならない分割領域Ａが存在する場合には、分割領域Ａに設定した物体が消えたと判定する。また、検出部２０３は、いずれの分割領域Ａに対しても、類似度が所定の範囲内とならない分割領域Ｂが存在する場合には、分割領域Ｂに含まれる物体が新たに現れたと判定する。
【００４２】
次に、Ｓ８０２において、検出部２０３は、新たに現れた物体又は消えた物体に対応する分割領域に設定されている識別子を参照することで、新たに現れた物体又は消えた物体を特定する。次に、Ｓ８０３において、生成部２０４は、配置が変化した物体の識別子を含む通知情報を生成する。なお、他の例としては、記憶部２０２は、物体の識別子に対応付けて、物体名を記憶し、生成部２０４は、物体の識別子に対応付けられている物体名を含む通知情報を生成する。次に、Ｓ８０４において、表示処理部２０５は、通知情報を表示部１０５に表示するよう制御する。
【００４３】
図９は、Ｓ８０４において表示部１０５に表示される画面例を示す図である。表示部１０５には、対象画像９００が表示されている。物体９０１は、対象画像９００において消えた物体であり、物体９０４は、対象画像９００において新たに現れた物体である。なお、物体９０１は、キーフレームから抽出され、対象画像９００に重畳された画像である。物体９０１及び物体９０４の周囲には、それぞれ囲み線９０２、９０５が重畳表示されている。もちろん物体９０１を重畳せず、前に存在していた位置を囲み線９０２で知らせるだけであってもよい。
【００４４】
さらに、変化に係る物体９０１に対応付けて「箱が除去されました」というように、物体の名称等と共に、ユーザに物体が消えた旨を通知する通知情報９０３が重畳表示される。また、変化に係る物体９０４に対応付けて「ポスターが追加されました」というように、物体の名称等と共に、ユーザに物体が新たに現れた旨を通知する通知情報９０６が重畳表示される。なお、第３の実施形態に係る情報処理装置１００のこれ以外の構成及び処理は、他の実施形態に係る情報処理装置１００の構成及び処理と同様である。
【００４５】
以上のように、第３の実施形態に係る情報処理装置１００は、対象画像に新たに現れた物体及び撮影画像から消えた物体が検出された場合に、変化があった旨と変化に係る物体とを通知する通知情報を表示することができる。一方で、情報処理装置１００は、環境の変化が検出される度に、指標マップを更新することがないため、更新に係る手間を省くことができる。また、情報処理装置１００の位置及び姿勢の推定精度を補償できる環境を維持することができる。このため、指標マップを用いた情報処理装置１００の位置及び姿勢の推定を安定して行うことができる。
【００４６】
（第４の実施形態）
次に、第４の実施形態に係る情報処理装置１００について説明する。第４の実施形態に係る情報処理装置１００は、対象画像において環境の変化が検出された場合に、対象画像に対応する実空間の環境を、変化前の状態に戻すことを促す指示情報を出力する。図１０は、第４の実施形態に係る情報処理装置１００による情報処理を示すフローチャートである。Ｓ１０００及びＳ１００１の処理は、図３を参照しつつ説明した第１の実施形態に係るＳ３００及びＳ３０１の処理と同様である。Ｓ１００１の処理の後、ＣＰＵ１０１は、処理をＳ１００２へ進める。
【００４７】
Ｓ１００２において、生成部２０４は、「元の状態に戻して下さい」というように、変化の前の状態に戻すことを促す情報を指示情報として生成する。次に、Ｓ１００３において、表示処理部２０５は、指示情報を表示部１０５に表示するよう制御する。なお、第４の実施形態に係る情報処理装置１００のこれ以外の構成及び処理は、他の実施形態に係る情報処理装置１００の構成及び処理と同様である。
【００４８】
以上のように、第４の実施形態に係る情報処理装置１００は、環境の変化が検出された場合に、変化前の状態に戻す情報を指示情報として表示することができる。このため、情報処理装置１００は、環境の変化が検出される度に、指標マップを更新することがないため、更新に係る手間を省くことができる。また、情報処理装置１００の位置及び姿勢の推定精度を補償できる環境を維持することができる。このため、指標マップを用いた情報処理装置１００の位置及び姿勢の推定を安定して行うことができる。
【００４９】
第４の実施形態の第１の変更例としては、表示処理部２０５は、指示情報だけでなく、第１〜第３の実施形態において説明した通知情報を表示（出力）してもよい。
【００５０】
第２の変更例としては、指示情報の出力形態は、実施形態に限定されるものではない。例えば、情報処理装置１００は、不図示のスピーカを有する場合には、環境の変化が検出された場合に指示情報として音声を出力してもよい。
【００５１】
第３の変更例としては、情報処理装置１００は、環境が指標マップに係る環境と等しくなるまで、上述の情報処理を繰り返してもよい。
【００５２】
第４の変更例としては、第２の実施形態において説明したのと同様に、検出部２０３は、環境の変化として、物体の配置の変化を検出してもよい。この場合、図１０に示す情報処理のＳ１００１において、検出部２０３は、環境変化として物体の配置変化を検出し、さらに配置が変化した物体を特定する。本処理は、図６を参照しつつ説明した第２の実施形態に係るＳ６０１及びＳ６０２の処理と同様である。
【００５３】
さらに、本変更例においては、生成部２０４は、指標マップに基づいて、変化前の状態に戻す方法を特定する。具体的には、生成部２０４は、変化前の状態に戻すための、変化に係る物体の移動方向及び移動量を特定する。生成部２０４は、対象画像に対応するカメラ２１０の位置姿勢と、指標マップに示されるカメラ２１０の位置及び姿勢との差に基づいて、移動方向及び移動量を特定する。なお、移動は、並進移動及び回転移動のうち少なくとも一方で表現される。そして、生成部２０４は、特定した方法を含む指示情報を生成する。
【００５４】
図１１は、第４の変更例に係る表示部１０５により表示される画面例を示す図である。表示部１０５には、対象画像１１００が表示されている。図１１（ａ）に示す対象画像１１００において、物体１１０１は、配置変化に係る物体である。さらに、対象画像１１００には、物体１１０１の変化前の状態における物体１１０１の位置１１０２が表示されている。また、対象画像１１００には、物体１１０１の移動方向及び移動量を示す矢印１１０３が表示されている。ここで、矢印１１０３は、物体を変化前の状態に戻す方法と、変化前の状態に戻すことを促す情報とを含む指示情報の一例である。なお、３次元モデルを用いて物体の配置変化を検出する場合には、位置１１０２に３次元モデルのＣＧ画像を重畳表示してもよい。また、図１１（ｂ）の１１１１に示すように、物体の名称等を指示情報として併せて表示してもよい。
【００５５】
第５の変更例としては、第３の実施形態において説明したのと同様に、検出部２０３は、環境の変化として、対象画像に新たに現れた物体及び撮影画像から消えた物体を検出してもよい。この場合、図１０に示す情報処理のＳ１００１において、検出部２０３は、環境変化として対象画像に新たに現れた物体及び撮影画像から消えた物体を検出し、さらに変化に係る物体を特定する。本処理は、図８を参照しつつ説明した第３の実施形態に係るＳ８０１及びＳ８０２の処理と同様である。さらに、本変更例においては、生成部２０４は、指標マップに基づいて、変化前の状態に戻す方法を特定する。具体的には、生成部２０４は、変化前の状態に戻すための、変化に係る物体を特定する。そして、生成部２０４は、指示情報として、特定した物体の追加又は削除により変化前の状態に戻すことを促す情報を生成する。
【００５６】
図１２は、第５の変更例に係る表示部１０５により表示される画面例を示す図である。表示部１０５には、対象画像１２００が表示されている。物体１２０１は、対象画像１２００において消えた物体であり、物体１２０４は、対象画像１２００において新たに現れた物体である。物体１２０１は、キーフレームから抽出され、対象画像１２００に重畳された画像である。物体１２０１、１２０４の周囲には、それぞれ囲み線１２０２、１２０５が重畳表示されている。さらに、変化に係る物体１２０１に対応付けて「箱を追加して下さい」というように、物体の名称等と共に、元の状態に戻す方法を示す指示情報１２０３が重畳表示される。また、変化に係る物体１２０４に対応付けて「ポスターを除去して下さい」という指示情報１２０６が重畳表示される。
【００５７】
（第５の実施形態）
次に、第５の実施形態に係る情報処理装置１００について説明する。第５の実施形態に係る情報処理装置１００は、環境変化が検出された場合に、環境を指標マップに合わせるか、指標マップを環境変化に合わせて更新するか、いずれか一方を動作モードに応じて選択する。以下、第５の実施形態に係る情報処理装置１００について、他の実施形態に係る情報処理装置１００と異なる点について説明する。
【００５８】
図１３は、第５の実施形態に係る情報処理装置１００のソフトウェア構成を示す図である。第５の実施形態に係る情報処理装置１００のソフトウェア構成は、第４の実施形態に係る情報処理装置１００のソフトウェア構成とほぼ同様である。ただし、第５の実施形態に係る情報処理装置１００は、第４の実施形態に係る情報処理装置１００の構成に加えて、選択部１３０１と、更新部１３０２と、を有している。
【００５９】
選択部１３０１は、入力部１０６を介して行われたユーザ操作に応じて、動作モードを選択する。なお、本実施形態においては、動作モードとして、第１のモード及び第２のモードがあるものとする。ここで、第１のモードは、環境の変化が検出された場合に、環境を変化前の状態に戻すための指標マップを表示する動作モードである。第２のモードは、環境の変化が検出された場合に、変化後の環境に合わせて、記憶部２０２に記憶されている指標マップを更新する動作モードである。更新部１３０２は、環境の変化が検出された場合に、検出された変化後の環境に応じて、指標マップを更新する。
【００６０】
図１４は、第５の実施形態に係る情報処理装置１００の情報処理を示すフローチャートである。Ｓ１４００及びＳ１４０１の処理は、第４の実施形態において参照する第１の実施形態のＳ３００及びＳ３０１の処理（図３）と同様である。Ｓ１４０１の処理の後、ＣＰＵ１０１は、処理をＳ１４０２へ進める。Ｓ１４０２において、選択部１３０１は、ユーザ操作に応じて第１のモード又は第２のモードを選択する。
【００６１】
次に、Ｓ１４０３において、ＣＰＵ１０１は、動作モードを確認する。ＣＰＵ１０１は、動作モードとして第１のモードが選択された場合には（Ｓ１４０３でＹｅｓ）、処理をＳ１４０４へ進める。ＣＰＵ１０１は、動作モードとして第２のモードが選択された場合には（Ｓ１４０３でＮｏ）、処理をＳ１４０６へ進める。なお、ユーザが動作モードを選択するタイミングは、実施形態に限定されるものではない。選択部１３０１は、情報処理の開始前にユーザ操作を受け付け、これに従い動作モードを選択しておいてもよい。
【００６２】
Ｓ１４０４において、生成部２０４は、指示情報を生成し、その後、Ｓ１４０５において、表示処理部２０５は、指示情報を表示部１０５に表示するよう制御する。なお、Ｓ１４０４及びＳ１４０５の処理は、図１０を参照しつつ説明した第４の実施形態のＳ１００２及びＳ１００３の処理と同様である。
【００６３】
一方で、Ｓ１４０６において、更新部１３０２は、記憶部２０２に記憶されている指標マップを、変化後の環境に合わせて更新する。本処理については、例えば、特許文献１を参照することができる。以上で、情報処理が終了する。なお、第５の実施形態に係る情報処理装置１００のこれ以外の構成及び処理は、他の実施形態に係る情報処理装置１００の構成及び処理と同様である。
【００６４】
以上のように、第４の実施形態に係る情報処理装置１００は、環境の変化が検出された場合に、ユーザは、状況に応じて所望の処理を選択することができる。このため、情報処理装置１００は、環境の変化が検出される度に、指標マップを更新することがないため、更新に係る手間を省くことができる。また、情報処理装置１００の位置及び姿勢の推定精度を補償できる環境を維持することができる。このため、指標マップを用いた情報処理装置１００の位置及び姿勢の推定を安定して行うことができる。
【００６５】
第５の実施形態の第１の変更例としては、選択部１３０１は、対象画像において、環境が変化した領域が複数検出された場合には、領域毎に動作モードを選択してもよい。また、環境の変化が物体に係るものである場合には、選択部１３０１は、物体毎に動作モードを選択してもよい。
【００６６】
第２の変更例としては、選択部１３０１は、検出部２０３が検出した変化の内容に応じて、動作モードを選択してもよい。選択部１３０１は、例えば、対象画像に新たな物体が現れたことが検出された場合には、第１のモードを選択し、対象画像から物体が消えたことが検出された場合及び物体の配置変化が検出された場合には、第２のモードを選択してもよい。これにより、例えば、配置を元に戻しやすいような環境変化に対し第１のモードを割り当てることにより、より利便性を向上させることができる。
【００６７】
第３の変更例としては、選択部１３０１は、検出部２０３が変化を検出した物体に応じて、動作モードを選択してもよい。この場合、記憶部２０２は、第２の実施形態において説明した記憶部２０２と同様に、物体領域と物体の識別子とを対応付けた情報を記憶しているものとする。そして、本変更例においては、記憶部２０２はさらに、物体の識別子に対応付けて、動作モードを記憶しているものとする。または、第２の実施形態の変更例に係る記憶部２０２と同様に、物体の３次元環境モデルと、識別子とを対応付けて記憶してもよい。この場合も同様に、記憶部２０２は、識別子に対応付けて、動作モードを記憶する。そして、検出部２０３は、検出された物体の識別子に対応付けられている動作モードを選択する。なお、第２の実施形態において説明したように、物体の識別子は、物体の種類を識別するものであってもよい。これにより、例えば、配置を元に戻しやすい物体に対して第１のモードを割り当てることにより、より利便性を向上させることができる。
【００６８】
第４の変更例としては、選択部１３０１は、指標マップを、変化後の環境に合わせて更新するために必要な、ユーザの作業コストを推定し、作業コストに基づいて、動作モードを選択してもよい。具体的には、選択部１３０１は、作業コストが予め定めた基準値を超えた場合に第１のモードを選択し、基準以下の場合に第２のモードを選択する。作業コストは、指標マップとして記憶部２０２に記憶されているキーフレームのうち、環境の変化が特定された領域を含む画像の数とする。環境の変化が特定された領域を含む画像の数が多いほど、更新が必要な画像の数が多くなり、ユーザが画像を再撮影する作業量が増加するためである。
【００６９】
なお、作業コストは、指標マップを、変化後の環境に合わせて更新するために必要な、ユーザの手間や時間を示す指標値であればよく上記の例に限定されるものではない。例えば、選択部１３０１は、環境が変化した領域や物体のサイズに基づいて、作業コストを推定してもよい。環境が変化した領域や物体のサイズが大きいほど、指標マップを更新するために必要な撮影枚数が多いことが予測される。このため、選択部１３０１は、領域や物体のサイズが大きい程大きくなるような作業コストを推定すればよい。
【００７０】
第５の変更例としては、選択部１３０１は、変化後の環境を指標マップに示される変化前の状態に戻すために必要な、ユーザの作業コストを推定し、この作業コストに基づいて、動作モードを選択してもよい。そして、選択部１３０１は、作業コストが予め定めた基準以下の場合に第１のモードを選択し、基準を超えた場合に第２のモードを選択する。作業コストは、環境変化に係る物体の数としてもよい。物体の数が多いほど、ユーザの作業量が増加するためである。なお、環境変化を変化前の状態に戻すための作業コストは、ユーザが物体の配置を変更するために必要となる時間や手間を示す指標であればよく、上記の例に限定されるものではない。また、選択部１３０１は、第４の変更例において説明した作業コストと、第５の変更例において説明した作業コストとに基づいて、動作モードを選択してもよい。
【００７１】
第６の変更例としては、選択部１３０１は、指標マップを用いた、カメラ２１０の位置姿勢の推定精度を算出し、算出した推定精度に基づいて、動作モードを選択してもよい。選択部１３０１は、指標マップに合わせて物体の配置を変更した場合と、指標マップを変化後の環境に合わせて更新した場合のそれぞれにおける、指標マップを用いた、カメラ２１０の位置姿勢の推定精度を算出する。そして、選択部１３０１は、前者の推定精度が高い場合には、第１のモードを選択し、後者の推定精度が高い場合には、第２のモードを選択する。本処理は、変化の前後それぞれの状態に対応する指標情報を用いた、カメラ２１０の位置姿勢の推定精度を算出する算出処理の一例である。
【００７２】
選択部１３０１は、画像に含まれる特徴や距離値の空間的な分布の広がりに基づいて、位置姿勢の推定精度を算出する。画像に含まれる特徴は、コーナー点とする。空間的な分布の広がりは、次のようにして求める。まず、各コーナー点の画素位置または各距離点の３次元位置をベクトルとした主成分分析を行い、それぞれ２軸及び３軸の寄与率を算出する。そして、最小寄与率の値を最大寄与率の値で除した値を、空間的な分布の広がりとして求める。これにより、カメラ２１０の位置姿勢推定の精度低下を防ぐことができる。
【００７３】
なお、上記の例では、位置姿勢推定の精度を示す指標として、エッジ特徴や距離値の空間的な分布の広がりを用いることとした。しかし、位置姿勢の推定精度の算出に用いられる情報は、上記の例に限定されるものではない。例えば、コーナー点の数を指標としてもよい。あるいは、コーナー点の検出精度や距離値の精度を指標としてもよい。
【００７４】
以上、上述した各実施形態によれば、撮影装置の位置及び姿勢の推定を安定して行うことができる。
【００７５】
以上、本発明の好ましい実施形態について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００７６】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【００７７】
１００  情報処理装置
２０２  記憶部
２０３  検出部
２０５  表示処理部
２１０  カメラ
【図１】
0006719945.tif 000003
【図２】
0006719945.tif 000004
【図３】
0006719945.tif 000005
【図４】
0006719945.tif 000006
【図５】
0006719945.tif 000007
【図６】
0006719945.tif 000008
【図７】
0006719945.tif 000009
【図８】
0006719945.tif 000010
【図９】
0006719945.tif 000011
【図１０】
0006719945.tif 000012
【図１１】
0006719945.tif 000013
【図１２】
0006719945.tif 000014
【図１３】
0006719945.tif 000015
【図１４】
0006719945.tif 000016