(57)【要約】【課題】環境マップを応用し、実空間内で遂行すべき作業手順の直感的かつ容易な理解を可能とすること。【解決手段】１つ以上の物体の外観の特徴を表す特徴データを記憶しているデータ記憶部と、撮像装置を用いて実空間を撮影することにより得られる入力画像、及び前記データ記憶部により記憶されている前記特徴データに基づいて、前記実空間内に存在する物体の位置を表現する環境マップを構築する環境マップ構築部と、前記実空間内で遂行すべき作業の一連の手順について、各手順に関する説明と当該説明を表示すべき位置を指定する位置情報とを対応付けて定義する手順データを取得する制御部と、前記制御部により取得される前記手順データを用いて、前記一連の手順に含まれる各手順に関する説明を、前記環境マップ及び前記位置情報に基づいて決定される前記入力画像内の位置に重畳することにより、出力画像を生成する重畳部と、を備える画像処理装置を提供する。【選択図】図４
2011159162.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の物体の外観の特徴を表す特徴データを記憶しているデータ記憶部と；
撮像装置を用いて実空間を撮影することにより得られる入力画像、及び前記データ記憶部により記憶されている前記特徴データに基づいて、前記実空間内に存在する物体の位置を表現する環境マップを構築する環境マップ構築部と；
前記実空間内で遂行すべき作業の一連の手順について、各手順に関する説明と当該説明を表示すべき位置を指定する位置情報とを対応付けて定義する手順データを取得する制御部と；
前記制御部により取得される前記手順データを用いて、前記一連の手順に含まれる各手順に関する説明を、前記環境マップ及び前記位置情報に基づいて決定される前記入力画像内の位置に重畳することにより、出力画像を生成する重畳部と；
を備える画像処理装置。
【請求項２】
前記位置情報は、各手順に関する説明と関連する物体を特定することにより、前記説明を表示すべき前記環境マップ内での位置を指定する、請求項１に記載の画像処理装置。
【請求項３】
前記手順データは、各手順に関する説明と各説明の表示を進行させるための条件とをさらに対応付けて定義する、請求項１又は請求項２に記載の画像処理装置。
【請求項４】
各説明の表示を進行させるための前記条件は、環境マップにより表現される物体の位置又は姿勢に応じた条件を含む、請求項３に記載の画像処理装置。
【請求項５】
前記制御部は、前記一連の手順に含まれる各手順に関する説明の表示を前記手順データに従って制御する、請求項３又は４に記載の画像処理装置。
【請求項６】
前記画像処理装置は、前記入力画像及び前記特徴データに基づいて前記撮像装置の前記実空間内の位置を動的に検出する検出部、をさらに備え、
各手順に関する説明が重畳される前記入力画像内の位置は、前記検出部により検出される前記撮像装置の前記実空間内の位置に応じて決定される、
請求項１〜５のいずれか１項に記載の画像処理装置。
【請求項７】
１つ以上の物体の外観の特徴を表す特徴データを記憶している記憶媒体を備える画像処理装置における画像処理方法であって：
撮像装置を用いて実空間を撮影した入力画像を取得するステップと；
前記入力画像及び前記特徴データに基づいて、前記実空間内に存在する物体の位置を表現する環境マップを構築するステップと；
前記実空間内で遂行すべき作業の一連の手順について、各手順に関する説明と当該説明を表示すべき位置を指定する位置情報とを対応付けて定義する手順データを取得するステップと；
取得された前記手順データを用いて、前記一連の手順に含まれる各手順に関する説明を、前記環境マップ及び前記位置情報に基づいて決定される前記入力画像内の位置に重畳することにより、出力画像を生成するステップと；
を含む画像処理方法。
【請求項８】
１つ以上の物体の外観の特徴を表す特徴データを記憶している記憶媒体を備える画像処理装置を制御するコンピュータを：
撮像装置を用いて実空間を撮影することにより得られる入力画像、及び前記特徴データに基づいて、前記実空間内に存在する物体の位置を表現する環境マップを構築する環境マップ構築部と；
前記実空間内で遂行すべき作業の一連の手順について、各手順に関する説明と当該説明を表示すべき位置を指定する位置情報とを対応付けて定義する手順データを取得する制御部と；
前記制御部により取得される前記手順データを用いて、前記一連の手順に含まれる各手順に関する説明を、前記環境マップ及び前記位置情報に基づいて決定される前記入力画像内の位置に重畳することにより、出力画像を生成する重畳部と；
として機能させるための、プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、実空間を撮影して得られる画像を加工した上でユーザに呈示する拡張現実（ＡＲ：Augmented  Reality）と呼ばれる技術が注目されている。ＡＲ技術では、例えば、入力画像に映った実空間内の物体に関連する有用な情報が画像内に挿入され、出力画像として出力される。即ち、ＡＲ技術では、典型的には、ユーザに呈示される画像の多くの部分は実空間を映したものであり、画像の一部分が目的に応じて加工され得る。このような特徴は、出力画像の全体（又は大部分）がＣＧ（Computer  Graphics）により構成される仮想現実（Virtual  Reality）とは対照的である。ＡＲ技術を用いることで、例えば、出力画像を基にしたユーザによる実空間の状況把握の容易化や作業支援などの利点が提供され得る。
【０００３】
ＡＲ技術において、真に有用な情報をユーザに呈示するためには、コンピュータが実空間の状況を的確に把握することが重要である。そのため、ＡＲ技術の基盤となる実空間の状況の把握を目的とした技術の開発も進められている。例えば、下記特許文献１には、カメラの位置や姿勢とカメラの画像に映る特徴点の位置とを同時に推定可能なＳＬＡＭ（Simultaneous  Localization  And  Mapping）とよばれる技術を応用して、実空間内に存在する物体の３次元位置を表現する環境マップを動的に生成する手法が記載されている。なお、単眼カメラを用いたＳＬＡＭ技術の基本的な原理は、下記非特許文献１において説明されている。
【０００４】
ところで、高度な情報処理を行うことのできる情報端末が広く普及した現在において、ユーザは、情報端末を様々な情報の閲覧のために利用している。その情報の一例は、説明書（directions）である。例えば、電子機器の説明書のみならず、テーブルマナー、料理の手順、家電の操作若しくは修理方法など、実空間内で遂行すべき作業の手順を記述した様々な情報が電子化され、Ｗｅｂページ又はその他のアプリケーションを介してユーザに提供されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−３０４２６８号公報
【非特許文献】
【０００６】
【非特許文献１】Andrew  J.Davison,  “Real-Time  Simultaneous  Localization  and  Mapping  with  a  Single  Camera”,  Proceedings  of  the  9th  IEEE  International  Conference  on  Computer  Vision  Volume  2,  2003,  pp.1403-1410
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の電子化された説明書は、一般的に、紙の説明書と同様、２次元の画面上に表示されることを前提として記述されている。そのため、３次元の実空間内での作業位置に関する情報の一部が欠落することにより、作業の手順を直感的に理解することがユーザにとって困難となる場合が少なくない。特に、ユーザを取り巻く環境が動的に変化し得る実空間内での作業については、予めその環境を説明書に記述しておくことができないことから、説明書の理解は一層の困難を伴っていた。
【０００８】
これに対して、ユーザを取り巻く環境を３次元的に表現する環境マップを動的に構築し、その環境マップと関連付けられる位置に作業の各手順に関する説明を表示することができれば、作業手順の理解がユーザにとって直感的かつ容易になるものと期待される。
【０００９】
そこで、本発明は、環境マップを応用し、実空間内で遂行すべき作業手順の直感的かつ容易な理解を可能とする、新規かつ改良された画像処理装置、画像処理方法及びプログラムを提供しようとするものである。
【課題を解決するための手段】
【００１０】
本発明のある実施形態によれば、１つ以上の物体の外観の特徴を表す特徴データを記憶しているデータ記憶部と、撮像装置を用いて実空間を撮影することにより得られる入力画像、及び上記データ記憶部により記憶されている上記特徴データに基づいて、上記実空間内に存在する物体の位置を表現する環境マップを構築する環境マップ構築部と、上記実空間内で遂行すべき作業の一連の手順について、各手順に関する説明と当該説明を表示すべき位置を指定する位置情報とを対応付けて定義する手順データを取得する制御部と、上記制御部により取得される上記手順データを用いて、上記一連の手順に含まれる各手順に関する説明を、上記環境マップ及び上記位置情報に基づいて決定される上記入力画像内の位置に重畳することにより、出力画像を生成する重畳部と、を備える画像処理装置が提供される。
【００１１】
かかる構成によれば、手順データによる定義に従って、実空間内で遂行すべき作業の一連の手順に含まれる各手順に関する説明が、実空間内に存在する物体の位置を３次元的に表現する環境マップに基づいて決定される入力画像内の位置に重畳される。
【００１２】
また、上記位置情報は、各手順に関する説明と関連する物体を特定することにより、上記説明を表示すべき上記環境マップ内での位置を指定してもよい。
【００１３】
また、上記手順データは、各手順に関する説明と各説明の表示を進行させるための条件とをさらに対応付けて定義してもよい。
【００１４】
また、各説明の表示を進行させるための上記条件は、環境マップにより表現される物体の位置又は姿勢に応じた条件を含んでもよい。
【００１５】
また、上記制御部は、上記一連の手順に含まれる各手順に関する説明の表示を上記手順データに従って制御してもよい。
【００１６】
また、上記画像処理装置は、上記入力画像及び上記特徴データに基づいて上記撮像装置の上記実空間内の位置を動的に検出する検出部、をさらに備え、各手順に関する説明が重畳される上記入力画像内の位置は、上記検出部により検出される上記撮像装置の上記実空間内の位置に応じて決定されてもよい。
【００１７】
また、本発明の別の実施形態によれば、１つ以上の物体の外観の特徴を表す特徴データを記憶している記憶媒体を備える画像処理装置における画像処理方法であって、撮像装置を用いて実空間を撮影した入力画像を取得するステップと、上記入力画像及び上記特徴データに基づいて、上記実空間内に存在する物体の位置を表現する環境マップを構築するステップと、上記実空間内で遂行すべき作業の一連の手順について、各手順に関する説明と当該説明を表示すべき位置を指定する位置情報とを対応付けて定義する手順データを取得するステップと、取得された上記手順データを用いて、上記一連の手順に含まれる各手順に関する説明を、上記環境マップ及び上記位置情報に基づいて決定される上記入力画像内の位置に重畳することにより、出力画像を生成するステップと、を含む画像処理方法が提供される。
【００１８】
また、本発明の別の実施形態によれば、１つ以上の物体の外観の特徴を表す特徴データを記憶している記憶媒体を備える画像処理装置を制御するコンピュータを、撮像装置を用いて実空間を撮影することにより得られる入力画像、及び上記特徴データに基づいて、上記実空間内に存在する物体の位置を表現する環境マップを構築する環境マップ構築部と、上記実空間内で遂行すべき作業の一連の手順について、各手順に関する説明と当該説明を表示すべき位置を指定する位置情報とを対応付けて定義する手順データを取得する制御部と、上記制御部により取得される上記手順データを用いて、上記一連の手順に含まれる各手順に関する説明を、上記環境マップ及び上記位置情報に基づいて決定される上記入力画像内の位置に重畳することにより、出力画像を生成する重畳部と、として機能させるための、プログラムが提供される。
【発明の効果】
【００１９】
以上説明したように、本発明に係る画像処理装置、画像処理方法及びプログラムによれば、環境マップを応用し、実空間内で遂行すべき作業手順の直感的かつ容易な理解を可能とすることができる。
【図面の簡単な説明】
【００２０】
【図１Ａ】一実施形態に係る画像処理装置が使用され得る実環境の第１の例を示す模式図である。
【図１Ｂ】一実施形態に係る画像処理装置が使用され得る実環境の第２の例を示す模式図である。
【図２Ａ】一実施形態に係る画像処理装置について説明するための第１の説明図である。
【図２Ｂ】一実施形態に係る画像処理装置について説明するための第２の説明図である。
【図３Ａ】図１Ａに示した実環境において取得され得る入力画像の一例を示す説明図である。
【図３Ｂ】図１Ｂに示した実環境において取得され得る入力画像の一例を示す説明図である。
【図４】一実施形態に係る画像処理装置の構成の一例を示すブロック図である。
【図５】一実施形態に係る自己位置検出処理の流れの一例を示すフローチャートである。
【図６】オブジェクト上に設定される特徴点について説明するための説明図である。
【図７】特徴点の追加について説明するための説明図である。
【図８】予測モデルの一例について説明するための説明図である。
【図９】特徴データの構成の一例について説明するための説明図である。
【図１０】一実施形態に係るオブジェクト認識処理の流れの一例を示すフローチャートである。
【図１１】一実施形態において取得され得る手順データの一例を説明するための説明図である。
【図１２】一実施形態に係る手順制御処理の流れの一例を示すフローチャートである。
【図１３】一実施形態に係る手順表示処理の流れの一例を示すフローチャートである。
【図１４】一実施形態に係る画像処理装置により出力される出力画像の第１の例を示す説明図である。
【図１５】一実施形態に係る画像処理装置により出力される出力画像の第２の例を示す説明図である。
【図１６】汎用コンピュータのハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００２１】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
【００２２】
また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
１．画像処理装置の概要
２．一実施形態に係る画像処理装置の構成
２−１．撮像部
２−２．環境マップ生成部
２−３．出力画像生成部
２−４．出力画像の例
３．ハードウェア構成の例
４．まとめ
【００２３】
＜１．画像処理装置の概要＞
まず、図１Ａ〜図３Ｂを用いて、本発明の一実施形態に係る画像処理装置の概要を説明する。図１Ａ及び図１Ｂは、本発明の一実施形態に係る画像処理装置１００が使用され得る一例としての環境１ａ及び１ｂをそれぞれ示している。
【００２４】
図１Ａを参照すると、環境１ａの内部には、シンク１１、まな板１２、ボウル１３、コンロ１４、レンジ１５、及びその他の物体が存在している。即ち、環境１ａは、ユーザが料理を行う実空間であるキッチンに相当する環境である。一方、図１Ｂを参照すると、環境１ｂの内部には、テーブル１６、イス１７、皿１８、グラス１９及び２０、並びにその他の物体が存在している。即ち、環境１ｂは、ユーザが食事をする実空間であるダイニング（又はレストランの客席）に相当する環境である。
【００２５】
図２Ａ及び図２Ｂは、上述したような一例としての環境１ａ又は１ｂの内部において使用され得る画像処理装置１００について説明するための説明図である。
【００２６】
図２Ａを参照すると、ユーザにそれぞれ装着される本体１０１ａ、撮像装置１０２ａ及び表示装置１０４ａを含む画像処理装置１００ａが示されている。本体１０１ａは、後に詳しく説明する画像処理装置１００による画像処理を実行するＣＰＵ（Central  Processing  Unit）及び記憶媒体等をその内部に有する。撮像装置１０２ａは、ユーザの視線と同等の方向を向くようにユーザの頭部に装着され、環境１ａ又は１ｂの内部を撮影して一連の入力画像を生成する。画像処理装置１００ａは、撮像装置１０２ａにより生成される一連の入力画像を入力として画像処理を実行することにより、一連の出力画像を生成する。そして、画像処理装置１００ａにより生成される出力画像は、表示装置１０４ａにより表示される。表示装置１０４ａは、ユーザの頭部に装着されるヘッドマウントディスプレイである。表示装置１０４ａは、例えば、シースルー型のディスプレイであってもよい。
【００２７】
図２Ｂを参照すると、ユーザに把持される携帯電話端末である画像処理装置１００ｂが示されている。画像処理装置１００ｂは、例えば、撮像装置付きの携帯電話端末であって、撮像装置（例えば表示装置１０４ｂの背面に設けられる）及び表示装置１０４ｂを含む。画像処理装置１００ｂは、後に詳しく説明する画像処理装置１００による画像処理を実行するＣＰＵ及び記憶媒体等をその内部に有する。
【００２８】
なお、本明細書において、画像処理装置１００ａ及び１００ｂを互いに区別する必要がない場合には、符号の末尾のアルファベットを省略することにより、画像処理装置１００ａ及び１００ｂを画像処理装置１００と総称する。また、撮像装置１０２ａ及び１０２ｂ（撮像装置１０２）、表示装置１０４ａ及び１０４ｂ（表示装置１０４）並びにその他の要素についても同様とする。
【００２９】
図３Ａ及び図３Ｂは、撮像装置１０２が環境１ａ及び１ｂを撮影することにより取得される一例としての入力画像１０６ａ及び１０６ｂをそれぞれを示す説明図である。
【００３０】
図３Ａを参照すると、入力画像１０６ａには、まな板１２、コンロ１４、包丁２１、調味料入れ２２及び他の物体が映っている。入力画像１０６ａは、環境１ａにおいて料理をするユーザの視覚に映るイメージと同等の画像である。画像処理装置１００は、例えば、撮像装置１０２を用いてこのような入力画像１０６ａを含む一連の入力画像を取得し、料理の手順に関する説明を各入力画像に重畳する。
【００３１】
図３Ｂを参照すると、入力画像１０６ｂには、テーブル１６、皿１８、グラス１９及び２０、ナイフ２３、フォーク２４、ナプキン２５並びに他の物体が映っている。入力画像１０６ｂは、環境１ｂにおいて食事をするユーザの視覚に映るイメージと同等の画像である。画像処理装置１００は、例えば、撮像装置１０２を用いてこのような入力画像１０６ｂを含む一連の入力画像を取得し、食事の際のテーブルマナーに関する説明を各入力画像に重畳する。
【００３２】
このような画像処理装置１００の構成の一例について、次節より具体的に説明する。
【００３３】
＜２．一実施形態に係る画像処理装置の構成＞
図４は、本発明の一実施形態に係る画像処理装置１００の構成の一例を示すブロック図である。図４を参照すると、画像処理装置１００は、撮像部１０２、環境マップ生成部１１０、及び出力画像生成部１８０を備える。
【００３４】
［２−１．撮像部］
撮像部１０２は、例えば、ＣＣＤ（Charge  Coupled  Device）又はＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）などの撮像素子を有する撮像装置として実現され得る。撮像部１０２は、画像処理装置１００の外部に設けられてもよい。撮像部１０２は、環境１ａ又は環境１ｂなどの実空間を撮影することにより取得した画像を、入力画像として環境マップ生成部１１０及び出力画像生成部１８０へ出力する。
【００３５】
［２−２．環境マップ生成部］
環境マップ生成部１１０は、撮像部１０２から入力される入力画像、及びデータ記憶部１３０により記憶されている後述するオブジェクトの特徴データに基づいて、実空間内に存在する１つ以上の物体の位置等を表現する環境マップを生成する。図４に示しているように、本実施形態において、環境マップ生成部１１０は、自己位置検出部１２０、データ記憶部１３０、画像認識部１４０、環境マップ構築部１５０、及び環境マップ記憶部１５２を含む。
【００３６】
（１）自己位置検出部
自己位置検出部１２０は、撮像部１０２から入力される入力画像、及びデータ記憶部１３０により記憶されている特徴データに基づいて、入力画像を映した撮像装置の位置を動的に検出する。例えば、自己位置検出部１２０は、上記非特許文献１に記載されているＳＬＡＭ技術を応用することにより、撮像装置が単眼カメラを有する場合にも、当該カメラの位置及び姿勢、並びにカメラの撮像面における特徴点の位置を、フレームごとに動的に決定することができる。
【００３７】
まず、図５を用いて、自己位置検出部１２０によるＳＬＡＭ技術を応用した自己位置検出処理の全体的な流れについて説明する。次に、図６〜図８を用いて、自己位置検出処理の詳細を説明する。
【００３８】
図５は、自己位置検出部１２０によるＳＬＡＭ技術を応用した自己位置検出処理の流れの一例を示すフローチャートである。図５において、自己位置検出処理が開始すると、自己位置検出部１２０は、まず、状態変数を初期化する（ステップＳ１０２）。本実施形態において、状態変数とは、カメラの位置及び姿勢（回転角）、当該カメラの移動速度及び角速度、並びに１つ以上の特徴点の位置を要素として含むベクトルである。そして、自己位置検出部１２０は、撮像部１０２から入力画像を順次取得する（ステップＳ１１２）。ステップ１１２からステップＳ１１８までの処理は、各入力画像について（即ち毎フレーム）繰り返され得る。
【００３９】
ステップＳ１１４では、自己位置検出部１２０は、入力画像に映る特徴点を追跡する。例えば、自己位置検出部１２０は、データ記憶部１３０により予め記憶されている特徴点ごとのパッチ（例えば特徴点を中心とする３×３＝９画素の小画像）を入力画像から検出する。ここで検出されたパッチの位置、即ち特徴点の位置は、後の状態変数の更新の際に用いられる。
【００４０】
ステップＳ１１６では、自己位置検出部１２０は、所定の予測モデルに基づいて、例えば１フレーム後の状態変数の予測値を生成する。また、ステップＳ１１８では、自己位置検出部１２０は、ステップＳ１１６において生成した状態変数の予測値と、ステップＳ１１４において検出した特徴点の位置に応じた観測値とを用いて、状態変数を更新する。自己位置検出部１２０は、ステップＳ１１６及びＳ１１８における処理を、拡張カルマンフィルタの原理に基づいて実行する。
【００４１】
このような処理の結果として、毎フレーム更新される状態変数の値が出力される。以下、特徴点の追跡（ステップＳ１１４）、状態変数の予測（ステップＳ１１６）、状態変数の更新（ステップＳ１１８）の各処理の内容について、より具体的に説明する。
【００４２】
（１−１）特徴点の追跡
本実施形態において、データ記憶部１３０は、実空間内に存在し得る物体に対応するオブジェクトの特徴を表す特徴データを予め記憶している。特徴データには、例えば、各オブジェクトの外観の特徴を表す１つ以上の特徴点についての小画像、即ちパッチ（Patch）が含まれる。パッチとは、例えば、特徴点を中心とする３×３＝９画素よりなる小画像であってよい。
【００４３】
図６は、オブジェクトの２つの例、並びに各オブジェクト上に設定される特徴点（ＦＰ：Feature  Point）及びパッチの例を示している。図６の左のオブジェクトは、タンスを表すオブジェクトである（６ａ参照）。当該オブジェクト上には、特徴点ＦＰ１を含む複数の特徴点が設定されている。さらに、特徴点ＦＰ１と関連付けて、パッチＰｔｈ１が定義されている。一方、図６の右のオブジェクトは、カレンダーを表すオブジェクトである（６ｂ参照）。当該オブジェクト上には、特徴点ＦＰ２を含む複数の特徴点が設定されている。さらに、特徴点ＦＰ２と関連付けて、パッチＰｔｈ２が定義されている。
【００４４】
自己位置検出部１２０は、撮像部１０２から入力画像を取得すると、入力画像に含まれる部分画像と、データ記憶部１３０に予め記憶されている図６に例示した特徴点ごとのパッチとを照合する。そして、自己位置検出部１２０は、照合の結果として、入力画像に含まれる特徴点の位置（例えば検出されたパッチの中心画素の位置）を特定する。
【００４５】
なお、特徴点の追跡（図５のステップＳ１１４）において、追跡される全ての特徴点に関するデータが予めデータ記憶部１３０に記憶されていなくてもよい。例えば、図７の例では、時刻Ｔ＝ｔ−１において、６つの特徴点が入力画像内で検出されている（７ａ参照）。次に、時刻Ｔ＝ｔにおいてカメラの位置又は姿勢が変化すると、時刻Ｔ＝ｔ−１において入力画像に映っていた６つの特徴点のうち２つのみが入力画像内に映っている。この場合に、自己位置検出部１２０は、入力画像内で特徴的な画素のパターンを有する位置に新たに特徴点を設定し、その新たな特徴点を後のフレームにおける自己位置検出処理に用いてもよい。例えば、図７の例では、時刻Ｔ＝ｔにおいて、４つの新たな特徴点がオブジェクト上に設定されている（７ｂ参照）。かかる点は、ＳＬＡＭ技術の１つの特長であり、それにより、予め全ての特徴点を設定しておくコストを削減できると共に、追加される多数の特徴点を用いて処理の精度を高めることができる。
【００４６】
（１−２）状態変数の予測
本実施形態において、自己位置検出部１２０は、拡張カルマンフィルタを適用すべき状態変数として、次式に示す状態変数Ｘを用いる。
【００４７】
【数１】
2011159162.tif 000003
【００４８】
式（１）における状態変数Ｘの第１の要素は、次式の通り、実空間に設定される座標系である世界座標系（ｘ，ｙ，ｚ）でのカメラの３次元位置を表す。
【００４９】
【数２】
2011159162.tif 000004
【００５０】
また、状態変数の第２の要素は、カメラの姿勢を表す回転行列に対応する四元数（クォータニオン）を要素として有する４次元ベクトルωである。なお、四元数の変わりにオイラー角を用いてカメラの姿勢が表されてもよい。また、状態変数の第３及び第４の要素は、カメラの移動速度及び角速度をそれぞれ表す。
【００５１】
さらに、状態変数の第５及びそれ以降の要素は、次式の通り、世界座標系での特徴点ＦＰｉ（ｉ＝１…Ｎ）の３次元位置ｐｉをそれぞれ表す。なお、上述したように、特徴点の数Ｎは、処理の間変化し得る。
【００５２】
【数３】
2011159162.tif 000005
【００５３】
自己位置検出部１２０は、ステップＳ１０２において初期化された状態変数Ｘの値、又は前フレームにおいて更新された状態変数Ｘの値に基づいて、最新のフレームについての状態変数の予測値を生成する。状態変数の予測値は、次式に示す多次元正規分布に従った拡張カルマンフィルタの状態方程式に従って生成される。
【００５４】
【数４】
2011159162.tif 000006
【００５５】
ここで、Ｆはシステムの状態遷移に関する予測モデル、ａは予測条件である。また、ｗはガウシアンノイズであり、例えばモデル近似誤差や観測誤差等を含み得る。一般的に、ガウシアンノイズｗの平均はゼロとなる。
【００５６】
図８は、本実施形態に係る予測モデルの一例について説明するための説明図である。図８を参照すると、本実施形態に係る予測モデルにおける２つの予測条件が示されている。まず、第１の条件として、特徴点の世界座標系における３次元位置は変化しないものとする。即ち、時刻Ｔにおける特徴点ＦＰ１の３次元位置をｐＴとすると、次式の関係が成立する。
【００５７】
【数５】
2011159162.tif 000007
【００５８】
次に、第２の条件として、カメラの運動は等速運動であるものとする。即ち、時刻Ｔ＝ｔ−１から時刻Ｔ＝ｔにかけてのカメラの速度及び角速度について、次式の関係が成立する。
【００５９】
【数６】
2011159162.tif 000008
【００６０】
このような予測モデル及び式（４）に示した状態方程式に基づいて、自己位置検出部１２０は、最新のフレームについての状態変数の予測値を生成する。
【００６１】
（１−３）状態変数の更新
そして、自己位置検出部１２０は、観測方程式を用いて、例えば状態変数の予測値から予測される観測情報と、特徴点の追跡結果として得られる実際の観測情報との誤差を評価する。なお、式（８）におけるνがその誤差である。
【００６２】
【数７】
2011159162.tif 000009
【００６３】
ここで、Ｈは観測モデルを表す。例えば、特徴点ＦＰｉの撮像面（ｕ−ｖ平面）上の位置を、次式のように定義する。
【００６４】
【数８】
2011159162.tif 000010
【００６５】
ここで、カメラの位置ｘ、カメラの姿勢ω、及び特徴点ＦＰｉの３次元位置ｐｉは、いずれも状態変数Ｘの要素として与えられる。そうすると、ピンホールモデルに従い、特徴点ＦＰｉの撮像面上の位置は次式を用いて導かれる。
【００６６】
【数９】
2011159162.tif 000011
【００６７】
ここで、λは正規化のためのパラメータ、Ａはカメラ内部パラメータ、Ｒωは状態変数Ｘに含まれるカメラの姿勢を表す四元数ωに対応する回転行列である。カメラ内部パラメータＡは、入力画像を撮影する撮像装置の特性に応じて、予め次式のように与えられる。
【００６８】
【数１０】
2011159162.tif 000012
【００６９】
ここで、ｆは焦点距離、θは画像軸の直交性（理想値は９０°）、ｋｕは撮像面の縦軸のスケール（世界座標系から撮像面の座標系へのスケール変化率）、ｋｖは撮像面の横軸のスケール、（ｕｏ，ｖｏ）は撮像面の中心位置である。
【００７０】
従って、式（１１）を用いて導かれる予測される観測情報、即ち各特徴点の撮像面上の位置と、図５のステップＳ１１４における特徴点の追跡結果との間の誤差を最小にする状態変数Ｘを探索することにより、尤もらしい最新の状態変数Ｘを得ることができる。
【００７１】
【数１１】
2011159162.tif 000013
【００７２】
自己位置検出部１２０は、このようにＳＬＡＭ技術を応用して動的に更新したカメラ（撮像装置）の位置ｘ及び姿勢ωを、環境マップ構築部１５０及び出力画像生成部１８０へ出力する。
【００７３】
（２）データ記憶部
データ記憶部１３０は、ハードディスク又は半導体メモリなどの記憶媒体を用いて、実空間内に存在し得る物体に対応するオブジェクトの特徴を表す特徴データを予め記憶している。図４では、データ記憶部１３０が環境マップ生成部１１０の一部である例を示しているが、かかる例に限定されず、データ記憶部１３０は環境マップ生成部１１０の外部に設けられてもよい。図９は、特徴データの構成の一例について説明するための説明図である。
【００７４】
図９を参照すると、オブジェクトＯｂｊ１についての一例としての特徴データＦＤ１が示されている。特徴データＦＤ１は、オブジェクト名称ＦＤ１１、６方向から撮影した画像データＦＤ１２、パッチデータＤＦ１３、３次元形状データＦＤ１４、及びオントロジーデータＦＤ１５を含む。
【００７５】
オブジェクト名称ＦＤ１１は、“コーヒーカップＡ”など、対応するオブジェクトを特定することのできる名称である。
【００７６】
画像データＦＤ１２は、例えば、対応するオブジェクトを前・後・左・右・上・下の６方向からそれぞれ撮影した６つの画像データを含む。パッチデータＦＤ１３は、各オブジェクト上に設定される１つ以上の特徴点ごとの、各特徴点を中心とする小画像の集合である。画像データＦＤ１２及びパッチデータＦＤ１３は、後述する画像認識部１４０によるオブジェクト認識処理のために使用され得る。また、パッチデータＦＤ１３は、前述した自己位置検出部１２０による自己位置検出処理のために使用され得る。
【００７７】
３次元形状データＦＤ１４は、対応するオブジェクトの形状を認識するためのポリゴン情報、及び特徴点の３次元的な位置情報を含む。３次元形状データＦＤ１４は、後述する環境マップ構築部１５０による環境マップ構築処理のために使用され得る。
【００７８】
オントロジーデータＦＤ１５は、例えば、環境マップ構築部１５０による環境マップ構築処理を支援するために使用され得るデータである。図９の例では、オントロジーデータＦＤ１５は、コーヒーカップであるオブジェクトＯｂｊ１が、机又は食器洗い機に対応するオブジェクトに接する可能性が高いこと、及び本棚に対応するオブジェクトに接する可能性が低いことを表している。
【００７９】
（３）画像認識部
画像認識部１４０は、データ記憶部１３０により記憶されている上述した特徴データを用いて、入力画像に映っている物体がそれぞれどのオブジェクトに対応するかを特定する。
【００８０】
図１０は、画像認識部１４０によるオブジェクト認識処理の流れの一例を示すフローチャートである。図１０を参照すると、まず、画像認識部１４０は、撮像部１０２から入力画像を取得する（ステップＳ２１２）。次に、画像認識部１４０は、入力画像に含まれる部分画像と、特徴データに含まれる各オブジェクトの１つ以上の特徴点のパッチとを照合し、入力画像に含まれる特徴点を抽出する（ステップＳ２１４）。なお、画像認識部１４０によるオブジェクト認識処理に用いられる特徴点と、自己位置検出部１２０による自己位置検出処理に用いられる特徴点とは、必ずしも同じでなくてもよい。但し、双方の処理で用いられる特徴点が共通している場合には、画像認識部１４０は、自己位置検出部１２０による特徴点の追跡結果を再利用してもよい。
【００８１】
次に、画像認識部１４０は、特徴点の抽出結果に基づいて、入力画像に映っているオブジェクトを特定する（ステップＳ２１６）。例えば、画像認識部１４０は、ある領域内で１つのオブジェクトに属す特徴点が高い密度で抽出された場合には、当該領域にそのオブジェクトが映っていると認識し得る。そして、画像認識部１４０は、特定したオブジェクトのオブジェクト名称（又は識別子）及びそのオブジェクトに属す特徴点の撮像面上の位置を、環境マップ構築部１５０へ出力する（ステップＳ２１８）。
【００８２】
（４）環境マップ構築部
環境マップ構築部１５０は、自己位置検出部１２０から入力されるカメラの位置及び姿勢、画像認識部１４０から入力される特徴点の撮像面上の位置、及びデータ記憶部１３０に記憶されている特徴データを用いて、環境マップを構築する。本明細書において、環境マップとは、実空間内に存在する１つ以上の物体の位置（及び姿勢）を表現するデータの集合である。環境マップには、例えば、物体に対応するオブジェクト名称、当該物体に属す特徴点の３次元位置、及び当該物体の形状を構成するポリゴン情報などが含まれ得る。環境マップは、例えば、画像認識部１４０から入力される特徴点の撮像面上の位置から、上述したピンホールモデルに従って各特徴点の３次元位置を求めることにより構築され得る。
【００８３】
式（１１）に示したピンホールモデルの関係式を変形すると、特徴点ＦＰｉの世界座標系における３次元位置ｐｉは、次式により求められる。
【００８４】
【数１２】
2011159162.tif 000014
【００８５】
ここで、ｄはカメラと各特徴点との間の世界座標系における距離を表す。環境マップ構築部１５０は、かかる距離ｄを、オブジェクトごとに少なくとも４つの特徴点の撮像面上の位置、及び当該特徴点間の距離に基づいて、算出することができる。特徴点間の距離は、図９を用いて説明した特徴データに含まれる３次元形状データＦＤ１４として、予めデータ記憶部１３０により記憶されている。なお、式（１４）における距離ｄの算出処理については、上記特許文献１において詳しく説明されている。
【００８６】
距離ｄが算出されると、式（１４）における右辺の残りの変数は、自己位置検出部１２０から入力されるカメラの位置及び姿勢、並びに画像認識部１４０から入力される特徴点の撮像面上の位置であり、いずれも既知となる。そこで、環境マップ構築部１５０は、式（１４）に従って、画像認識部１４０から入力される各特徴点について、世界座標系における３次元位置を計算する。そして、環境マップ構築部１５０は、算出した特徴点ごとの３次元位置に応じて最新の環境マップを構築し、構築した環境マップを環境マップ記憶部１５２に記憶させる。なお、このとき、環境マップ構築部１５０は、図９を用いて説明した特徴データに含まれるオントロジーデータＦＤ１５を用いて、環境マップのデータの正確性を向上させてもよい。
【００８７】
環境マップ記憶部１５２は、ハードディスク又は半導体メモリなどの記憶媒体を用いて、環境マップ構築部１５０により構築される環境マップを記憶する。
【００８８】
［２−３．出力画像生成部］
出力画像生成部１８０は、実空間内で遂行すべき作業の一連の手順について、各手順に関する説明をユーザに呈示するための出力画像を生成し、生成した出力画像を表示装置１０４に表示させる。その際、出力画像生成部１８０は、環境マップ生成部１１０により生成される環境マップ内の所定の位置と各手順に関する説明とを関連付け、当該所定の位置に対応する入力画像内の位置に各手順に関する説明を重畳する。図４に示しているように、本実施形態において、出力画像生成部１８０は、手順記憶部１８４、手順制御部１８６、情報配置部１９０及び重畳部１９２を含む。
【００８９】
（１）手順記憶部
手順記憶部１８４は、ハードディスク又は半導体メモリなどの記憶媒体を用いて、実空間内で遂行すべき作業の一連の手順について、各手順に関する説明と当該説明を表示すべき位置を指定する位置情報とを対応付けて定義する手順データを記憶する。
【００９０】
図１１は、本実施形態に係る手順記憶部１８４により記憶される一例としての手順データ１８２について説明するための説明図である。図１１を参照すると、手順データ１８２は、“説明書名”、“手順ＩＤ”、“手順説明”、“関連物体”及び“進行条件”という５つのデータ項目を有する。
【００９１】
“説明書名”は、実空間内で遂行すべき作業ごとに与えられる名称である。１つの説明書名を指定することにより、１つの作業についての一連の手順に関する手順データを取得することができる。図１１の例では、手順データ１８２には、「テーブルマナー」及び「卵焼き」という２つの作業についての手順データが含まれている。
【００９２】
“手順ＩＤ”は、一連の手順に含まれる各手順を識別するための識別子である。図１１の例では、「テーブルマナー」についての手順データは、手順ＩＤ＝「Ｐ１０１」、「Ｐ１０２」及び「Ｐ１０３」である３つの手順を含む。また、「卵焼き」についての手順データは、手順ＩＤ＝「Ｐ２０１」、「Ｐ２０２」、「Ｐ２０３」及び「Ｐ２０４」である４つの手順を含む。
【００９３】
“手順説明”は、各手順に関するユーザに呈示すべき説明を表す文字列である。図１１の例では、「テーブルマナー」の手順ＩＤ＝「Ｐ１０１」の手順（以下、手順Ｐ１０１などという）の手順説明は、「イスの左側から着席しましょう」という文字列である。手順Ｐ１０２の手順説明は、「食事と飲み物をオーダーしましょう」という文字列である。手順Ｐ１０３の手順説明は、「ナプキンを膝にかけましょう」という文字列である。また、「卵焼き」の手順Ｐ２０１の手順説明は、「卵を割ってかき混ぜる」という文字列である。手順Ｐ２０２の手順説明は、「フライパンをコンロへ」という文字列である。手順Ｐ２０３の手順説明は、「フライパンに卵を流し入れる」という文字列である。手順Ｐ２０４の手順説明は、「塩と胡椒を振る」という文字列である。
【００９４】
“関連物体”は、各手順説明と関連する物体を特定するためのオブジェクト名称を用いて、各手順説明を表示すべき位置を指定する位置情報である。例えば、本実施形態において、各手順説明は、“関連物体”により特定される物体の近傍に表示される。図１１の例では、「テーブルマナー」の手順Ｐ１０１の関連物体は、「イス」である。即ち、手順Ｐ１０１の手順説明は、環境マップに含まれるイスの近傍に表示され得る。手順Ｐ１０２の関連物体は、「メニュー」である。即ち、手順Ｐ１０２の手順説明は、環境マップに含まれるメニューの近傍に表示され得る。手順Ｐ１０３の関連物体は、「ナプキン」である。即ち、手順Ｐ１０３の手順説明は、環境マップに含まれるナプキンの近傍に表示され得る。なお、例えば、いずれの物体にも関連しない手順について“関連物体”を空欄とし、当該手順については手順説明を画面中央などの特定の位置に表示することとしてもよい。
【００９５】
“進行条件”は、画像処理装置１００が一連の手順を表示する際に、各手順から次の手順へと表示処理を進行させるための条件を表す。即ち、進行条件は、各手順説明を表示すべきタイミングを指定する情報であると言うことができる。図１１の例では、進行条件は、次の３種類のパターンのいずれか又はその任意の組合せに従って定義される。
・第１のパターン：環境マップにおける物体の状態
・第２のパターン：所定の時間の経過
・第３のパターン：外部イベント
【００９６】
第１のパターンは、環境マップにより表現される物体の位置又は姿勢が所定の状態にある場合に、進行条件が満たされる（即ち、表示処理が次の手順に進む）というパターンである。例えば、手順データ１８２の手順Ｐ１０２の進行条件は、「メニューが下げられる」である。かかる進行条件は、例えば、環境マップにおいてテーブル上にメニューが存在しなくなった場合に充足され得る。また、例えば、手順データ１８２の手順Ｐ１０３の進行条件は、「ナプキンがイスの上にある」である。かかる進行条件は、例えば、環境マップにおいてナプキンがテーブルの上からイスの上方（イスに座ったユーザの膝の上など）に移動した場合に充足され得る。
【００９７】
第２のパターンは、先行する手順説明の表示又はその他のイベントの発生から所定の時間が経過した場合に、進行条件が満たされるというパターンである。例えば、手順データ１８２の手順Ｐ２０１の進行条件は、「１分経過」である。かかる進行条件は、手順Ｐ２０１の手順説明が表示された後、１分が経過した場合に充足され得る。また、例えば、手順データ１８２の手順Ｐ２０３の進行条件は、「コンロ点火から３０秒経過」である。かかる進行条件は、例えば、外部機器（コンロ）から通知されるコンロ点火というイベントから３０秒が経過した場合に充足され得る。
【００９８】
第３のパターンは、他の機器から所定のイベント通知があった場合に、進行条件が満たされるというパターンである。例えば、手順データ１８２の手順Ｐ２０２の進行条件は、「コンロ上にフライパンがある」である。かかる進行条件は、例えば、圧力センサ等を用いてフライパンが載せられたことを検知したコンロから、当該イベントが通知された場合に充足され得る。なお、「コンロ上にフライパンがある」という条件の充足は、環境マップにおける物体の状態から判別されてもよい（この場合は、第１のパターンである）。他の機器からのイベント通知は、かかる例に限定されず、例えば、撮像装置からの画像認識結果（例えば、ユーザの手の状態の認識結果など）の通知、電子機器からのユーザ操作に関する通知、又は通信装置からの信号受信に関する通知などであってもよい。
【００９９】
手順記憶部１８４は、このような一例としての手順データ１８２を記憶し、次に説明する手順制御部１８６からの要求に応じて手順データ１８２の少なくとも一部を出力する。なお、図４の例では、手順記憶部１８４は、画像処理装置１００の内部に設けられている。しかしながら、かかる例に限定されず、画像処理装置１００の外部の記憶媒体に手順データが記憶されてもよい。その場合には、画像処理装置１００は、例えば、ユーザの指示に応じて、必要な手順データを外部の記憶媒体から選択的に取得し得る。また、図１１に例示した手順データ１８２のようなシーケンシャルな手順の代わりに、ステートマシンのように相互に状態遷移する複数の手順が手順データとして定義されてもよい。
【０１００】
（２）手順制御部
手順制御部１８６は、例えば、ユーザからの指示に応じて手順記憶部１８４から所望の説明書名についての手順データを取得し、取得した手順データに従って、一連の手順に含まれる各手順に関する手順説明の表示を制御する。
【０１０１】
図１２は、本実施形態に係る手順制御部１８６による手順制御処理の流れの一例を示すフローチャートである。図１２を参照すると、まず、手順制御部１８６は、手順記憶部１８４から所望の説明書名についての手順データを取得する（ステップＳ３０２）。例えばユーザが説明書名として「テーブルマナー」を指定した場合には、手順制御部１８６は、図１１に例示した一連の手順Ｐ１０１、Ｐ１０２、Ｐ１０３…を含む「テーブルマナー」についての手順データを取得する。
【０１０２】
次に、手順制御部１８６は、取得した手順データから先頭の手順を１つ読み出す（ステップＳ３０４）。例えば、図１１に例示した一連の手順Ｐ１０１、Ｐ１０２、Ｐ１０３…を含む手順データが取得された場合には、手順制御部１８６は、最初に手順Ｐ１０１のレコードを読み出す。
【０１０３】
次に、手順制御部１８６は、読み出した手順と対応付けられている関連物体の近傍に、手順説明を表示させる（ステップＳ３０６）。より具体的には、手順制御部１８６は、例えば、読み出した手順と対応付けられている関連物体の位置を環境マップ内で特定し、当該関連物体の位置の近傍を手順説明を表示すべき３次元位置として決定する。そして、手順説明と当該手順説明を表示すべき３次元位置とを情報配置部１９０へ出力する。その後の手順表示処理については、後により具体的に説明する。
【０１０４】
次に、手順制御部１８６は、読み出した手順と対応付けられている進行条件に従って、環境マップにおける物体の状態、所定の時間の経過、又は外部イベントなどを監視する（ステップＳ３０８）。そして、監視の結果として進行条件が満たされた場合には、処理はステップＳ３１０へ進む。
【０１０５】
次に、手順制御部１８６は、表示を完了していない次の手順が残っているか否かを判定する（ステップＳ３１０）。ここで、表示を完了していない次の手順が残っている場合には、処理はステップＳ３０４へ戻り、次の手順について手順表示処理が繰り返される。一方、表示を完了していない次の手順が残っていない場合には、手順制御部１８６による手順制御処理は終了する。
【０１０６】
（４）情報配置部
情報配置部１９０は、手順制御部１８６から入力される各手順説明を表示すべき入力画像内の位置を、環境マップ生成部１１０から取得される撮像装置の位置及び姿勢を用いて、ピンホールモデルの式（１１）に従って算出する。この場合、式（１１）における右辺の特徴点ＦＰｉの３次元位置ｐｉに、手順制御部１８６から入力される３次元位置が代入される。そして、情報配置部１９０は、各手順説明を表示すべき入力画像内の位置を算出すると、各手順説明と当該手順説明を表示すべき入力画像内の位置とを、重畳部１９２へ出力する。
【０１０７】
（５）重畳部
重畳部１９２は、情報配置部１９０から入力される各手順説明を情報配置部１９０により算出される入力画像内の位置に重畳することにより、出力画像を生成する。
【０１０８】
図１３は、手順制御部１８６、情報配置部１９０及び重畳部１９２による手順表示処理の流れの一例を示すフローチャートである。なお、図１３に示した手順表示処理は、実空間内で遂行すべき作業の一連の手順に含まれる個々の手順ごとに、図１２に示した手順制御処理におけるステップＳ３０６において実行される。
【０１０９】
図１３を参照すると、まず、手順制御部１８６は、環境マップ内の関連物体の位置に基づいて、手順説明を表示すべき３次元位置を決定する（ステップＳ３２２）。例えば、ある手順についての関連物体がイスである場合には、環境マップ内の当該イスの表面又は近傍のいずれかの位置が、当該手順に関する手順説明を表示すべき３次元位置として決定される。
【０１１０】
次に、情報配置部１９０は、ステップＳ３２２において決定された３次元位置に対応する入力画像内の位置を、環境マップ生成部１１０から取得される撮像装置の位置及び姿勢を用いて、ピンホールモデルに従って算出する（ステップＳ３２４）。なお、ステップＳ３２２において決定された３次元位置に対応する撮像面上の位置が入力画像の範囲から外れている場合には、その後の処理はスキップされてもよい。
【０１１１】
次に、重畳部１９２は、情報配置部１９０により算出された入力画像内の位置に、手順説明を記述したテキストボックスなどを重畳することにより、出力画像を生成する（ステップＳ３２６）。重畳部１９２により生成される出力画像は、例えば、画像処理装置１００の表示装置１０４の画面上に表示される。
【０１１２】
［２−４．出力画像の例］
図１４及び図１５は、本実施形態において表示装置１０４の画面上に表示され得る出力画像の例をそれぞれ示している。
【０１１３】
図１４を参照すると、図１１に例示した手順Ｐ２０２についての手順説明が重畳された出力画像Ｉｍ１１が示されている。出力画像Ｉｍ１１には、「手順２：フライパンをコンロへ」という手順説明を記述したテキストボックスＴ１１が、フライパンの近傍に表示されている。ユーザは、かかる手順説明を参照することにより、料理の次の手順においてフライパンをコンロにかければよいことを直感的に認識することができる。かかるテキストボックスＴ１１は、手順Ｐ２０２の進行条件である「コンロ上にフライパンがある」という状態が環境マップにおいて実現されるまで、フライパンの近傍に表示され続ける。それにより、ユーザは、手順の対象となる物体を容易に把握することができる。
【０１１４】
図１５を参照すると、図１１に例示した手順Ｐ１０３についての手順説明が重畳された出力画像Ｉｍ２１が示されている。出力画像Ｉｍ２１には、「手順３：ナプキンを膝にかけましょう」という手順説明を記述したテキストボックスＴ２１が、ナプキンの近傍に表示されている。ユーザは、かかる手順説明を参照することにより、テーブルマナーの次の手順においてナプキンを膝にかければよいことを直感的に認識することができる。かかるテキストボックスＴ２１は、手順Ｐ１０３の進行条件である「ナプキンがイスの上にある」という状態が環境マップにおいて実現されるまで、ナプキンの近傍に表示され続ける。それにより、ユーザは、手順の対象となる物体を容易に把握することができる。
【０１１５】
なお、ここで説明した手順表示方法は一例に過ぎず、上述した実施形態以外にも様々な応用が可能である。例えば、商業施設や駅などの空間における道案内、又はレンタカー若しくはＡＴＭ（現金自動預け払い機）における操作説明などのために本発明が適用されてもよい。
【０１１６】
＜３．ハードウェア構成の例＞
なお、上述した実施形態に係る一連の処理をハードウェアで実現するかソフトウェアで実現するかは問わない。一連の処理又はその一部をソフトウェアで実行させる場合には、ソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれたコンピュータ、又は例えば図１６に示した汎用コンピュータなどを用いて実行される。
【０１１７】
図１６において、ＣＰＵ９０２は、汎用コンピュータの動作全般を制御する。ＲＯＭ（Read  Only  Memory）９０４には、一連の処理の一部又は全部を記述したプログラム又はデータが格納される。ＲＡＭ（Random  Access  Memory）９０６には、処理の実行時にＣＰＵ９０２により用いられるプログラムやデータなどが一時的に記憶される。
【０１１８】
ＣＰＵ９０２、ＲＯＭ９０４、及びＲＡＭ９０６は、バス９１０を介して相互に接続される。バス９１０にはさらに、入出力インタフェース９１２が接続される。
【０１１９】
入出力インタフェース９１２は、ＣＰＵ９０２、ＲＯＭ９０４、及びＲＡＭ９０６と、入力装置９２０、表示装置１０４、記憶装置９２４、撮像装置１０２、及びドライブ９３０とを接続するためのインタフェースである。
【０１２０】
入力装置９２０は、例えばボタン、スイッチ、レバー、マウスやキーボードなどの入力インタフェースを介して、ユーザからの指示や情報入力を受け付ける。記憶装置９２４は、例えばハードディスクドライブ又は半導体メモリなどにより構成され、プログラムやデータを記憶する。ドライブ９３０は、必要に応じて汎用コンピュータに設けられ、例えばドライブ９３０にはリムーバブルメディア９３２が装着される。
【０１２１】
一連の処理をソフトウェアで実行する場合には、例えば図１６に示したＲＯＭ９０４、記憶装置９２４、又はリムーバブルメディア９３２に格納されたプログラムが、実行時にＲＡＭ９０６に読み込まれ、ＣＰＵ９０２によって実行される。
【０１２２】
＜４．まとめ＞
ここまで、図１Ａ〜図１６を用いて、本発明の一実施形態について説明した。本実施形態によれば、実空間内で遂行すべき作業の一連の手順に含まれる各手順に関する説明が、実空間内に存在する物体の位置を３次元的に表現する環境マップに基づいて決定される位置に表示される。それにより、ユーザによる手順の直感的な理解が可能となる。特に、本実施形態によれば、ユーザを取り巻く環境が動的に変化し得る実空間内での作業においても、その環境の変化に追随して環境マップが動的に更新される。その結果、各手順に関する説明が表示される位置も環境の変化に合わせて移動するため、環境の変化に起因して説明書の理解が困難となることがない。
【０１２３】
また、本実施形態において、各手順に関する説明が表示される位置は、各手順に関する説明と関連付けられる物体の位置に応じて決定され得る。それにより、ユーザは、各手順における作業の対象とすべき物体を容易に把握することができる。また、各手順に関する説明を表示すべきタイミングが環境マップにおける物体の状態（位置又は姿勢）、所定の時間の経過、又は外部イベントなどに応じて制御されるため、ユーザによる作業の進行に合わせて適切なタイミングで説明を表示することができる。さらに、各手順に関する説明が表示される位置は、ＳＬＡＭ技術を用いて動的に検出されるカメラの位置及び姿勢に基づいて算出される。従って、位置又は姿勢が時々刻々と変化する可能性のあるカメラを用いる場合であっても、画像内の適切な位置に説明を表示することができる。
【０１２４】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０１２５】
１００    画像処理装置
１０２    撮像装置（撮像部）
１０４    表示装置
１２０    自己位置検出部
１３０    データ記憶部
１５０    環境マップ構築部
１８２    手順データ
１８６    手順制御部
１９２    重畳部
【図１Ａ】
2011159162.tif 000015
【図１Ｂ】
2011159162.tif 000016
【図２Ａ】
2011159162.tif 000017
【図２Ｂ】
2011159162.tif 000018
【図３Ａ】
2011159162.tif 000019
【図３Ｂ】
2011159162.tif 000020
【図４】
2011159162.tif 000021
【図５】
2011159162.tif 000022
【図６】
2011159162.tif 000023
【図７】
2011159162.tif 000024
【図８】
2011159162.tif 000025
【図９】
2011159162.tif 000026
【図１０】
2011159162.tif 000027
【図１１】
2011159162.tif 000028
【図１２】
2011159162.tif 000029
【図１３】
2011159162.tif 000030
【図１４】
2011159162.tif 000031
【図１５】
2011159162.tif 000032
【図１６】
2011159162.tif 000033