(57)【要約】【課題】重畳表示データをユーザの視野内に重畳して得られる重畳画像を閲覧しやすくする。【解決手段】画像処理装置１００は、環境マップに基づいて、入力画像内に写っている物体のうち所定の平面または曲面を有する物体の位置を決定する重畳表示位置決定部と、重畳表示位置決定部により決定された物体の位置に重畳表示データを設定することで重畳表示画像を生成する重畳表示画像生成部と、ユーザの視野内に重畳表示画像を重畳して表示部に表示させる画像重畳部と、を備える。【選択図】図３
2011203824.tif 000002
【特許請求の範囲】
【請求項１】
物体の外観の特徴を表す特徴データを記憶している特徴データ記憶部と、
ユーザの視野内に重畳される画像のもとになる重畳表示データを記憶している重畳表示データ記憶部と、
撮像装置を用いて実空間を撮影することにより得られる入力画像、及び前記特徴データ記憶部により記憶されている前記特徴データに基づいて、前記実空間内に存在する１つ以上の物体の位置を表現する環境マップを生成する環境マップ生成部と、
前記環境マップに基づいて、前記入力画像内に写っている物体のうち所定の平面または曲面を有する物体の位置を決定する重畳表示位置決定部と、
前記重畳表示位置決定部により決定された物体の位置に前記重畳表示データを設定することで重畳表示画像を生成する重畳表示画像生成部と、
前記ユーザの視野内に前記重畳表示画像を重畳して表示部に表示させる画像重畳部と、を備える、画像処理装置。
【請求項２】
前記画像重畳部は、
前記撮像装置を頭部に装着したユーザが所定値を超える傾きで下方向に前記頭部を傾けたことを、前記撮像装置の傾きを検出するセンサにより検出した場合には、前記表示部に前記重畳表示画像を表示させ、前記撮像装置の傾きを検出するセンサにより検出していない場合には、前記表示部による前記重畳表示画像の表示を制限する、
請求項１に記載の画像処理装置。
【請求項３】
前記画像処理装置は、
前記入力画像及び前記特徴データに基づいて自装置の位置を動的に検出する自己位置検出部、をさらに備え、
前記画像重畳部は、
前記自己位置検出部により検出された自装置の位置と前記重畳表示位置決定部により決定された物体の位置との距離が所定値を超えている場合には、前記表示部による前記重畳表示画像の表示を制限する、
請求項２に記載の画像処理装置。
【請求項４】
前記重畳表示位置決定部は、
前記所定の平面または曲面を有する物体の位置として、略水平方向に広がる平面を有する物体の位置を決定する、
請求項１に記載の画像処理装置。
【請求項５】
前記重畳表示位置決定部は、
略水平方向に広がる平面を有する物体の位置として、床面、テーブル面、及び階段のうち少なくともいずれか１つの位置を決定する、
請求項４に記載の画像処理装置。
【請求項６】
前記重畳表示画像生成部は、
前記撮像装置を頭部に装着したユーザが略水平方向に前記頭部を回転させたことを、前記撮像装置の回転を検出するセンサにより検出した場合には、当該回転の度合いに応じて前記重畳表示データの設定位置を変更することで前記重畳表示画像に設定される前記重畳表示データを移動させる、
請求項１に記載の画像処理装置。
【請求項７】
前記画像処理装置は、
前記環境マップにより表現される物体の表面上の点の位置に基づいて、前記実空間の床面又は壁面の位置を推定する位置推定部、をさらに備え、
前記重畳表示位置決定部は、
前記位置推定部により推定される前記実空間の床面又は壁面の位置にさらに基づいて、床面の位置を前記物体の位置として決定する、
請求項１に記載の画像処理装置。
【請求項８】
前記特徴データは、
各物体の表面上の１つ以上の点について当該点が前記実空間の床面又は壁面と接する可能性が高いか否かを表すデータを含み、
前記位置推定部は、
前記特徴データにさらに基づいて、前記実空間の床面又は壁面の位置を推定する、
請求項７に記載の画像処理装置。
【請求項９】
物体の外観の特徴を表す特徴データを記憶している特徴データ記憶部と、ユーザの視野内に重畳される画像のもとになる重畳表示データを記憶している重畳表示データ記憶部と、環境マップ生成部と、重畳表示位置決定部と、重畳表示画像生成部と、画像重畳部と、を備える、画像処理装置の前記環境マップ生成部により、撮像装置を用いて実空間を撮影することにより得られる入力画像、及び前記特徴データ記憶部により記憶されている前記特徴データに基づいて、前記実空間内に存在する１つ以上の物体の位置を表現する環境マップを生成するステップと、
前記重畳表示位置決定部により、前記環境マップに基づいて、前記入力画像内に写っている物体のうち所定の平面または曲面を有する物体の位置を決定するステップと、
前記重畳表示画像生成部により、前記重畳表示位置決定部により決定された物体の位置に前記重畳表示データを設定することで重畳表示画像を生成するステップと、
前記画像重畳部により、前記ユーザの視野内に前記重畳表示画像を重畳して表示部に表示させるステップと、
を含む、画像処理方法。
【請求項１０】
コンピュータを、
物体の外観の特徴を表す特徴データを記憶している特徴データ記憶部と、
ユーザの視野内に重畳される画像のもとになる重畳表示データを記憶している重畳表示データ記憶部と、
撮像装置を用いて実空間を撮影することにより得られる入力画像、及び前記特徴データ記憶部により記憶されている前記特徴データに基づいて、前記実空間内に存在する１つ以上の物体の位置を表現する環境マップを生成する環境マップ生成部と、
前記環境マップに基づいて、前記入力画像内に写っている物体のうち所定の平面または曲面を有する物体の位置を決定する重畳表示位置決定部と、
前記重畳表示位置決定部により決定された物体の位置に前記重畳表示データを設定することで重畳表示画像を生成する重畳表示画像生成部と、
前記ユーザの視野内に前記重畳表示画像を重畳して表示部に表示させる画像重畳部と、
を備える、画像処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、画像処理装置、画像処理方法及びプログラムに関する。
【背景技術】
【０００２】
近年、実空間を撮影して得られる画像を加工した上でユーザに呈示する拡張現実（ＡＲ：Augmented  Reality）と呼ばれる技術が注目されている。ＡＲ技術では、例えば、入力画像に映った実空間内の物体に関連する有用な情報が画像内に挿入され、出力画像として出力される。即ち、ＡＲ技術では、典型的には、ユーザに呈示される画像の多くの部分は実空間を映したものであり、画像の一部分が目的に応じて加工され得る。このような特徴は、出力画像の全体（又は大部分）がＣＧ（Computer  Graphics）により構成される仮想現実（Virtual  Reality）とは対照的である。ＡＲ技術を用いることで、例えば、出力画像を基にしたユーザによる実空間の状況把握の容易化や作業支援などの利点が提供され得る。
【０００３】
また、ＡＲ技術には、実空間を撮影して得られる画像に実空間の物体に関連する有用な情報を挿入する手法の他に、実空間を見ているユーザの視野に実空間の物体に関連する有用な情報を重ねてユーザに呈示する手法も存在する。この手法では、実空間の物体に関連する有用な情報が、実空間を見ているユーザの視野にハーフミラーなどを用いて光学的に合成されて呈示されることになる。このようなＡＲ技術を用いた場合にも、例えば、ユーザによる実空間の状況把握の容易化や作業支援などの利点が提供され得る。
【０００４】
ＡＲ技術において、真に有用な情報をユーザに呈示するためには、コンピュータが実空間の状況を的確に把握することが重要である。そのため、ＡＲ技術の基盤となる実空間の状況の把握を目的とした技術の開発も進められている。例えば、下記特許文献１には、カメラの位置や姿勢とカメラの画像に映る特徴点の位置とを同時に推定可能なＳＬＡＭ（Simultaneous  Localization  And  Mapping）とよばれる技術を応用して、実空間内に存在する物体の３次元位置を表現する環境マップを動的に生成する手法が記載されている。なお、単眼カメラを用いたＳＬＡＭ技術の基本的な原理は、下記非特許文献１において説明されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−３０４２６８号公報
【非特許文献】
【０００６】
【非特許文献１】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
【発明の概要】
【発明が解決しようとする課題】
【０００７】
ところで、従来、頭部に装着する小型のディスプレイ装置として、ＨＭＤ（Head Mounted Display）が普及してきている。カメラ付きのＨＭＤを用いた技術としては、例えば、カメラによって撮影された画像に対して画像処理装置によってＡＲ技術を用いた加工を施し、ＨＭＤによって加工後の画像を表示してユーザに閲覧させるものがある。このようなＨＭＤが有する機能は、例えば、ビデオ透過型のＨＭＤによって実現される。また、例えば、カメラによって撮影された画像を元に画像処理装置によってＡＲ技術を用いた付加情報画像の生成を行い、生成された付加情報画像をハーフミラーなどにより視野内に光学的に合成してユーザに閲覧させるものもある。このようなＨＭＤが有する機能は、例えば、光学透過型のＨＭＤによって実現される。ユーザは、このような技術を使用すれば、実空間の状況を容易に把握しつつ、作業支援などを享受することができる。撮影画像に対して施される加工技術としては、例えば、撮影画像に写っている建物にその建物に関する情報を重畳する技術などが挙げられる。
【０００８】
ここで、撮影画像の正面付近には建物などの物体が写っているのが一般的であり、これに伴って、ＨＭＤに表示される出力画像の正面付近には建物に関連する情報などといった物体に関連する情報が重畳されることが一般的である。したがって、撮影画像の正面付近に、メニューや広告、スケジュール、メモなどといった、撮影画像に写っている物体に直接的に依存しないデータ（以下、「重畳表示データ」と言う。）を重畳してしまうと、重畳表示データと撮像画像に写っている物体に関連する情報とが重なり合ってしまったり接近してしまったりすることが起こり得る。このようなことが起こると、ユーザは、撮影画像に重畳表示データを重畳して得られる重畳画像を閲覧しづらくなるという問題があった。
【０００９】
そこで、本発明は、重畳表示データをユーザの視野内に重畳して得られる重畳画像を閲覧しやすくすることが可能な、新規かつ改良された画像処理装置、画像処理方法及びプログラムを提供しようとするものである。
【課題を解決するための手段】
【００１０】
本発明のある実施形態によれば、物体の外観の特徴を表す特徴データを記憶している特徴データ記憶部と、ユーザの視野内に重畳される画像のもとになる重畳表示データを記憶している重畳表示データ記憶部と、撮像装置を用いて実空間を撮影することにより得られる入力画像、及び上記特徴データ記憶部により記憶されている上記特徴データに基づいて、上記実空間内に存在する１つ以上の物体の位置を表現する環境マップを生成する環境マップ生成部と、上記環境マップに基づいて、上記入力画像内に写っている物体のうち所定の平面または曲面を有する物体の位置を決定する重畳表示位置決定部と、上記重畳表示位置決定部により決定された物体の位置に上記重畳表示データを設定することで重畳表示画像を生成する重畳表示画像生成部と、上記ユーザの視野内に上記重畳表示画像を重畳して表示部に表示させる画像重畳部と、を備える、画像処理装置が提供される。
【００１１】
上記画像重畳部は、上記撮像装置を頭部に装着したユーザが所定値を超える傾きで下方向に上記頭部を傾けたことを、上記撮像装置の傾きを検出するセンサにより検出した場合には、上記表示部に上記重畳表示画像を表示させ、上記撮像装置の傾きを検出するセンサにより検出していない場合には、上記表示部による上記重畳表示画像の表示を制限することとしてもよい。
【００１２】
上記画像処理装置は、上記入力画像及び上記特徴データに基づいて自装置の位置を動的に検出する自己位置検出部、をさらに備え、上記画像重畳部は、上記自己位置検出部により検出された自装置の位置と上記重畳表示位置決定部により決定された物体の位置との距離が所定値を超えている場合には、上記表示部による上記重畳表示画像の表示を制限することとしてもよい。
【００１３】
上記重畳表示位置決定部は、上記所定の平面または曲面を有する物体の位置として、略水平方向に広がる平面を有する物体の位置を決定することとしてもよい。
【００１４】
上記重畳表示位置決定部は、略水平方向に広がる平面を有する物体の位置として、床面、テーブル面、及び階段のうち少なくともいずれか１つの位置を決定することとしてもよい。
【００１５】
上記重畳表示画像生成部は、上記撮像装置を頭部に装着したユーザが略水平方向に上記頭部を回転させたことを、上記撮像装置の回転を検出するセンサにより検出した場合には、当該回転の度合いに応じて上記重畳表示データの設定位置を変更することで上記重畳表示画像に設定される上記重畳表示データを移動させることとしてもよい。
【００１６】
上記画像処理装置は、上記環境マップにより表現される物体の表面上の点の位置に基づいて、上記実空間の床面又は壁面の位置を推定する位置推定部、をさらに備え、上記重畳表示位置決定部は、上記位置推定部により推定される上記実空間の床面又は壁面の位置にさらに基づいて、床面の位置を上記物体の位置として決定することとしてもよい。
【００１７】
上記特徴データは、各物体の表面上の１つ以上の点について当該点が上記実空間の床面又は壁面と接する可能性が高いか否かを表すデータを含み、上記位置推定部は、上記特徴データにさらに基づいて、上記実空間の床面又は壁面の位置を推定することとしてもよい。
【００１８】
また、本発明の別の実施形態によれば、物体の外観の特徴を表す特徴データを記憶している特徴データ記憶部と、ユーザの視野内に重畳される画像のもとになる重畳表示データを記憶している重畳表示データ記憶部と、環境マップ生成部と、重畳表示位置決定部と、重畳表示画像生成部と、画像重畳部と、を備える、画像処理装置の上記環境マップ生成部により、撮像装置を用いて実空間を撮影することにより得られる入力画像、及び上記特徴データ記憶部により記憶されている上記特徴データに基づいて、上記実空間内に存在する１つ以上の物体の位置を表現する環境マップを生成するステップと、上記重畳表示位置決定部により、上記環境マップに基づいて、上記入力画像内に写っている物体のうち所定の平面または曲面を有する物体の位置を決定するステップと、上記重畳表示画像生成部により、上記重畳表示位置決定部により決定された物体の位置に上記重畳表示データを設定することで重畳表示画像を生成するステップと、上記画像重畳部により、上記ユーザの視野内に上記重畳表示画像を重畳して表示部に表示させるステップと、を含む、画像処理方法が提供される。
【００１９】
また、本発明の別の実施形態によれば、コンピュータを、物体の外観の特徴を表す特徴データを記憶している特徴データ記憶部と、ユーザの視野内に重畳される画像のもとになる重畳表示データを記憶している重畳表示データ記憶部と、撮像装置を用いて実空間を撮影することにより得られる入力画像、及び上記特徴データ記憶部により記憶されている上記特徴データに基づいて、上記実空間内に存在する１つ以上の物体の位置を表現する環境マップを生成する環境マップ生成部と、上記環境マップに基づいて、上記入力画像内に写っている物体のうち所定の平面または曲面を有する物体の位置を決定する重畳表示位置決定部と、上記重畳表示位置決定部により決定された物体の位置に上記重畳表示データを設定することで重畳表示画像を生成する重畳表示画像生成部と、上記ユーザの視野内に上記重畳表示画像を重畳して表示部に表示させる画像重畳部と、を備える、画像処理装置として機能させるためのプログラムが提供される。
【発明の効果】
【００２０】
以上説明したように、本発明に係る画像処理装置、画像処理方法及びプログラムによれば、重畳表示データをユーザの視野内に重畳して得られる重畳画像を閲覧しやすくすることができる。
【図面の簡単な説明】
【００２１】
【図１】一実施形態に係る画像処理装置について説明するための模式図である。
【図２】一実施形態に係る画像処理のための入力画像の一例を示す説明図である。
【図３】第１の実施形態に係る画像処理装置の構成の一例を示すブロック図である。
【図４】第１の実施形態に係る自己位置検出処理の流れの一例を示すフローチャートである。
【図５】オブジェクト上に設定される特徴点について説明するための説明図である。
【図６】特徴点の追加について説明するための説明図である。
【図７】予測モデルの一例について説明するための説明図である。
【図８】特徴データの構成の一例について説明するための説明図である。
【図９】第１の実施形態に係るオブジェクト認識処理の流れの一例を示すフローチャートである。
【図１０Ａ】撮像装置を装着したユーザが正面を向いているときに画像処理装置によって生成される出力画像の一例を示す図である。
【図１０Ｂ】ユーザが下を向いたときに生成される出力画像の一例を示す図である。
【図１０Ｃ】１階層目の項目選択によって生成される出力画像の一例を示す図である。
【図１０Ｄ】２階層目の項目が選択される直前の出力画像の一例を示す図である。
【図１０Ｅ】２階層目の項目選択によって生成される出力画像の一例を示す図である。
【図１１】第１の実施形態に係る重畳表示データ記憶部により記憶されているデータの一例を示す図である。
【図１２】第１の実施形態に係る出力画像生成処理の流れの一例を示すフローチャートである。
【図１３】第１の実施形態に係る項目選択処理の流れの一例を示すフローチャートである。
【図１４】第２の実施形態に係る画像処理装置の構成の一例を示すブロック図である。
【図１５】特徴データの構成の他の例について説明するための説明図である。
【図１６】図１５に示した特徴データに関連するポリゴンの例について説明するための説明図である。
【図１７】汎用コンピュータのハードウェア構成の一例を示すブロック図である。
【発明を実施するための形態】
【００２２】
以下に添付図面を参照しながら、本発明の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付すことにより重複説明を省略する。
【００２３】
また、以下の順序にしたがって当該「発明を実施するための形態」を説明する。
１．一実施形態に係る画像処理装置の概要
２．第１の実施形態
２−１．撮像部
２−２．環境マップ生成部
２−３．出力画像生成部
２−４．第１の実施形態のまとめ
３．第２の実施形態
３−１．環境マップ生成部
３−２．出力画像生成部
３−３．第２の実施形態のまとめ
４．ハードウェア構成
【００２４】
＜１．一実施形態に係る画像処理装置の概要＞
図１は、本発明の一実施形態に係る画像処理装置について説明するための模式図である。図１には、本発明の一実施形態に係る画像処理装置１００を頭部に装着するユーザが存在する環境１が示されている。
【００２５】
図１を参照すると、環境１の内部には、３つの物体Ｏｂｊ０１、Ｏｂｊ０２及びＯｂｊ０３、壁面Ｗ０１及びＷ０２、並びに床面Ｆ０が存在する。物体Ｏｂｊ０１は、壁面Ｗ０１とＷ０２との角に配置されている。さらに、壁面Ｗ０１に沿って、物体Ｏｂｊ０１の隣りに物体Ｏｂｊ０２、物体Ｏｂｊ０２の隣りに物体Ｏｂｊ０３がそれぞれ配置されている。環境１が住居の一室である場合には、物体Ｏｂｊ０１、Ｏｂｊ０２及びＯｂｊ０３は、例えばタンスなどの家具に相当する。
【００２６】
画像処理装置１００は、実空間である環境１の内部を撮影し、後に説明する本実施形態に係る画像処理を実行する。図１では、画像処理装置１００の一例として、ユーザの頭部に装着されたカメラを備え、カメラによって撮影された画像を加工してＨＭＤ（Head Mounted Display）などといったディスプレイ装置Ｄに出力する装置を示しているが、画像処理装置１００はかかる例に限定されない。例えば、画像処理装置１００は、ビデオカメラなどの撮像装置から映像を取得することのできる、ＰＣ（Personal  Computer）、携帯端末又はデジタル家電機器などの情報処理装置であってもよい。また、画像処理装置１００は、ユーザの頭部に装着されたカメラを内蔵していなくてもよい。すなわち、カメラはユーザに保持されている必要があるが、画像処理装置１００が備えるカメラ以外の構成については、必ずしも図１に示したようにユーザに保持されていなくてもよい。さらに、環境１は、図１の例に限定されず、屋内の環境であっても屋外の環境であってもよい。
【００２７】
図２は、図１の環境１において画像処理装置１００により撮影される一例としての入力画像Ｉｍ０１を示している。入力画像Ｉｍ０１には、図１に示した３つの物体Ｏｂｊ０１、Ｏｂｊ０２及びＯｂｊ０３、壁面Ｗ０１及びＷ０２、並びに床面Ｆ０が映っている。画像処理装置１００は、例えばこのような入力画像を取得し、入力画像に写っている物体に直接的に依存しないデータ（以下、「重畳表示データ」と言う。）を入力画像に重畳して出力画像を生成する。重畳表示データの例としては、メニューや、広告、スケジュール、メモなどといったデータが想定される。
【００２８】
入力画像の正面付近には建物などの物体が写っているのが一般的であり、これに伴って、ディスプレイ装置Ｄに表示される出力画像の正面付近には建物に関連する情報などといった物体に関連する情報が重畳されることが一般的である。したがって、撮影画像の正面付近に、重畳表示データを重畳してしまうと、重畳表示データと撮像画像に写っている物体に関連する情報とが重なり合ってしまったり接近してしまったりすることが起こり得る。このようなことが起こると、ユーザは、入力画像に重畳表示データを重畳して得られる出力画像を閲覧しづらくなる。本明細書では、入力画像に重畳表示データを重畳して得られる出力画像を閲覧しやすくするために、例えば、入力画像から床面の位置を認識し、入力画像における床面の位置に重畳表示データを重畳する技術について詳細に説明する。床面は、至る場所に存在する上に、物体に関連する情報が重畳される可能性が低いため、出力画像を閲覧しづらくなるという状況を改善することができる。
【００２９】
また、ユーザによる操作入力の手間を省略することがＨＭＤを使用する利点として挙げられるが、操作を入力するための装置として、例えば、キーボードやマウスなどの入力装置を使用すると、ユーザに操作を入力するための手間を掛けさせてしまう。これにより、ＨＭＤを使用する利点が薄れてしまうこととなる。本明細書では、ユーザが画像処理装置１００に実行させたい処理を容易に選択することを可能とするために、例えば、ユーザが重畳表示データを閲覧しながら所望の項目の位置に足部を合わせると、画像処理装置１００が、入力画像に基づいて足部が合わせられた項目に対応する処理を実行する技術について詳細に説明する。このような技術によりユーザに掛かる操作を入力するための手間を軽減させることができる。
【００３０】
また、重畳表示データをユーザの視野内に光学的に合成することによって現実空間に重畳表示データを重畳して表示する画像処理装置１００に対してこのような技術を適用することも可能である。このような場合にも、ユーザが合成画像を閲覧しやすくなるという効果、及びユーザに掛かる操作を入力するための手間を軽減させることができるという効果を奏することは言うまでもない。以下では、入力画像に重畳表示データを重畳して得られる出力画像を表示する画像処理装置を例として説明する。
【００３１】
＜２．第１の実施形態＞
図３は、第１の実施形態に係る画像処理装置１００の構成の一例を示すブロック図である。図３を参照すると、画像処理装置１００は、撮像部１０２、環境マップ生成部１１０、及び出力画像生成部１８０を備える。
【００３２】
［２−１．撮像部］
撮像部１０２は、例えば、ＣＣＤ（Charge  Coupled  Device）又はＣＭＯＳ（Complementary  Metal  Oxide  Semiconductor）などの撮像素子を有する撮像装置として実現され得る。撮像部１０２は、本実施形態では画像処理装置１００の一部として構成されるが、撮像部１０２は画像処理装置１００の外部に設けられてもよい。撮像部１０２は、図１に例示した環境１などの実空間を撮影することにより生成した画像を、入力画像として環境マップ生成部１１０及び出力画像生成部１８０へ出力する。
【００３３】
［２−２．環境マップ生成部］
環境マップ生成部１１０は、撮像部１０２から入力される入力画像、及び特徴データ記憶部１３０により記憶されている後述するオブジェクトの特徴データに基づいて、実空間内に存在する１つ以上の物体の位置等を表現する環境マップを生成する。図３に示しているように、本実施形態において、環境マップ生成部１１０は、自己位置検出部１２０、特徴データ記憶部１３０、画像認識部１４０、環境マップ構築部１５０、及び環境マップ記憶部１５２を含む。
【００３４】
（１）自己位置検出部
自己位置検出部１２０は、撮像部１０２から入力される入力画像、及び特徴データ記憶部１３０により記憶されている特徴データに基づいて、入力画像を映した撮像装置の位置を動的に検出する。例えば、自己位置検出部１２０は、上記非特許文献１に記載されているＳＬＡＭ技術を応用することにより、撮像装置が単眼カメラを有する場合にも、当該カメラの位置及び姿勢、並びにカメラの撮像面における特徴点の位置を、フレームごとに動的に決定することができる。
【００３５】
まず、図４を用いて、自己位置検出部１２０によるＳＬＡＭ技術を応用した自己位置検出処理の全体的な流れについて説明する。次に、図５〜図７を用いて、自己位置検出処理の詳細を説明する。
【００３６】
図４は、自己位置検出部１２０によるＳＬＡＭ技術を応用した自己位置検出処理の流れの一例を示すフローチャートである。図４において、自己位置検出処理が開始すると、自己位置検出部１２０は、まず、状態変数を初期化する（ステップＳ１０２）。本実施形態において、状態変数とは、カメラの位置及び姿勢（回転角）、当該カメラの移動速度及び角速度、並びに１つ以上の特徴点の位置を要素として含むベクトルである。そして、自己位置検出部１２０は、撮像部１０２から入力画像を順次取得する（ステップＳ１１２）。ステップ１１２からステップＳ１１８までの処理は、各入力画像について（即ち毎フレーム）繰り返され得る。
【００３７】
ステップＳ１１４では、自己位置検出部１２０は、入力画像に映る特徴点を追跡する。例えば、自己位置検出部１２０は、特徴データ記憶部１３０により予め記憶されている特徴点ごとのパッチ（例えば特徴点を中心とする３×３＝９画素の小画像）を入力画像から検出する。ここで検出されたパッチの位置、即ち特徴点の位置は、後の状態変数の更新の際に用いられる。
【００３８】
ステップＳ１１６では、自己位置検出部１２０は、所定の予測モデルに基づいて、例えば１フレーム後の状態変数の予測値を生成する。また、ステップＳ１１８では、自己位置検出部１２０は、ステップＳ１１６において生成した状態変数の予測値と、ステップＳ１１４において検出した特徴点の位置に応じた観測値とを用いて、状態変数を更新する。自己位置検出部１２０は、ステップＳ１１６及びＳ１１８における処理を、拡張カルマンフィルタの原理に基づいて実行する。
【００３９】
このような処理の結果として、毎フレーム更新される状態変数の値が出力される。以下、特徴点の追跡（ステップＳ１１４）、状態変数の予測（ステップＳ１１６）、状態変数の更新（ステップＳ１１８）の各処理の内容について、より具体的に説明する。
【００４０】
（１−１）特徴点の追跡
本実施形態において、特徴データ記憶部１３０は、実空間内に存在し得る物体に対応するオブジェクトの特徴を表す特徴データを予め記憶している。特徴データには、例えば、各オブジェクトの外観の特徴を表す１つ以上の特徴点についての小画像、即ちパッチ（Patch）が含まれる。パッチとは、例えば、特徴点を中心とする３×３＝９画素よりなる小画像であってよい。
【００４１】
図５は、オブジェクトの２つの例、並びに各オブジェクト上に設定される特徴点（ＦＰ：Feature  Point）及びパッチの例を示している。図５の左のオブジェクトは、タンスを表すオブジェクトである（６ａ参照）。当該オブジェクト上には、特徴点ＦＰ１を含む複数の特徴点が設定されている。さらに、特徴点ＦＰ１と関連付けて、パッチＰｔｈ１が定義されている。一方、図５の右のオブジェクトは、カレンダーを表すオブジェクトである（６ｂ参照）。当該オブジェクト上には、特徴点ＦＰ２を含む複数の特徴点が設定されている。さらに、特徴点ＦＰ２と関連付けて、パッチＰｔｈ２が定義されている。
【００４２】
自己位置検出部１２０は、撮像部１０２から入力画像を取得すると、入力画像に含まれる部分画像と、特徴データ記憶部１３０に予め記憶されている図６に例示した特徴点ごとのパッチとを照合する。そして、自己位置検出部１２０は、照合の結果として、入力画像に含まれる特徴点の位置（例えば検出されたパッチの中心画素の位置）を特定する。
【００４３】
なお、特徴点の追跡（図４のステップＳ１１４）において、追跡される全ての特徴点に関するデータが予め特徴データ記憶部１３０に記憶されていなくてもよい。例えば、図６の例では、時刻Ｔ＝ｔ−１において、６つの特徴点が入力画像内で検出されている（７ａ参照）。次に、時刻Ｔ＝ｔにおいてカメラの位置又は姿勢が変化すると、時刻Ｔ＝ｔ−１において入力画像に映っていた６つの特徴点のうち２つのみが入力画像内に映っている。この場合に、自己位置検出部１２０は、入力画像内で特徴的な画素のパターンを有する位置に新たに特徴点を設定し、その新たな特徴点を後のフレームにおける自己位置検出処理に用いてもよい。例えば、図６の例では、時刻Ｔ＝ｔにおいて、４つの新たな特徴点がオブジェクト上に設定されている（７ａ参照）。かかる点は、ＳＬＡＭ技術の１つの特長であり、それにより、予め全ての特徴点を設定しておくコストを削減できると共に、追加される多数の特徴点を用いて処理の精度を高めることができる。
【００４４】
（１−２）状態変数の予測
本実施形態において、自己位置検出部１２０は、拡張カルマンフィルタを適用すべき状態変数として、次式に示す状態変数Ｘを用いる。
【００４５】
【数１】
2011203824.tif 000003
（１）
【００４６】
式（１）における状態変数Ｘの第１の要素は、次式の通り、実空間に設定される座標系である世界座標系（ｘ，ｙ，ｚ）でのカメラの３次元位置を表す。
【００４７】
【数２】
2011203824.tif 000004
（２）
【００４８】
また、状態変数の第２の要素は、カメラの姿勢を表す回転行列に対応する四元数（クォータニオン）を要素として有する４次元ベクトルωである。なお、四元数の変わりにオイラー角を用いてカメラの姿勢が表されてもよい。また、状態変数の第３及び第４の要素は、カメラの移動速度及び角速度をそれぞれ表す。
【００４９】
さらに、状態変数の第５及びそれ以降の要素は、次式の通り、世界座標系での特徴点ＦＰｉ（ｉ＝１…Ｎ）の３次元位置ｐｉをそれぞれ表す。なお、上述したように、特徴点の数Ｎは、処理の間変化し得る。
【００５０】
【数３】
2011203824.tif 000005
（３）
【００５１】
自己位置検出部１２０は、ステップＳ１０２において初期化された状態変数Ｘの値、又は前フレームにおいて更新された状態変数Ｘの値に基づいて、最新のフレームについての状態変数の予測値を生成する。状態変数の予測値は、次式に示す多次元正規分布に従った拡張カルマンフィルタの状態方程式に従って生成される。
【００５２】
【数４】
2011203824.tif 000006
【００５３】
ここで、Ｆはシステムの状態遷移に関する予測モデル、ａは予測条件である。また、ｗはガウシアンノイズであり、例えばモデル近似誤差や観測誤差等を含み得る。一般的に、ガウシアンノイズｗの平均はゼロとなる。
【００５４】
図６は、本実施形態に係る予測モデルの一例について説明するための説明図である。図６を参照すると、本実施形態に係る予測モデルにおける２つの予測条件が示されている。まず、第１の条件として、特徴点の世界座標系における３次元位置は変化しないものとする。即ち、時刻Ｔにおける特徴点ＦＰ１の３次元位置をｐＴとすると、次式の関係が成立する。
【００５５】
【数５】
2011203824.tif 000007
（５）
【００５６】
次に、第２の条件として、カメラの運動は等速運動であるものとする。即ち、時刻Ｔ＝ｔ−１から時刻Ｔ＝ｔにかけてのカメラの速度及び角速度について、次式の関係が成立する。
【００５７】
【数６】
2011203824.tif 000008
（６）
2011203824.tif 000009
（７）
【００５８】
このような予測モデル及び式（４）に示した状態方程式に基づいて、自己位置検出部１２０は、最新のフレームについての状態変数の予測値を生成する。
【００５９】
（１−３）状態変数の更新
そして、自己位置検出部１２０は、観測方程式を用いて、例えば状態変数の予測値から予測される観測情報と、特徴点の追跡結果として得られる実際の観測情報との誤差を評価する。なお、式（８）におけるνがその誤差である。
【００６０】
【数７】
2011203824.tif 000010
【００６１】
ここで、Ｈは観測モデルを表す。例えば、特徴点ＦＰｉの撮像面（ｕ−ｖ平面）上の位置を、次式のように定義する。
【００６２】
【数８】
2011203824.tif 000011
【００６３】
ここで、カメラの位置ｘ、カメラの姿勢ω、及び特徴点ＦＰｉの３次元位置ｐｉは、いずれも状態変数Ｘの要素として与えられる。そうすると、ピンホールモデルに従い、特徴点ＦＰｉの撮像面上の位置は次式を用いて導かれる。
【００６４】
【数９】
2011203824.tif 000012
（１１）
【００６５】
ここで、λは正規化のためのパラメータ、Ａはカメラ内部パラメータ、Ｒωは状態変数Ｘに含まれるカメラの姿勢を表す四元数ωに対応する回転行列である。カメラ内部パラメータＡは、入力画像を撮影する撮像装置の特性に応じて、予め次式のように与えられる。
【００６６】
【数１０】
2011203824.tif 000013
（１２）
【００６７】
ここで、ｆは焦点距離、θは画像軸の直交性（理想値は９０°）、ｋｕは撮像面の縦軸のスケール（世界座標系から撮像面の座標系へのスケール変化率）、ｋｖは撮像面の横軸のスケール、（ｕｏ，ｖｏ）は撮像面の中心位置である。
【００６８】
従って、式（１１）を用いて導かれる予測される観測情報、即ち各特徴点の撮像面上の位置と、図４のステップＳ１１４における特徴点の追跡結果との間の誤差を最小にする状態変数Ｘを探索することにより、尤もらしい最新の状態変数Ｘを得ることができる。
【００６９】
【数１１】
2011203824.tif 000014
【００７０】
自己位置検出部１２０は、このようにＳＬＡＭ技術を応用して動的に更新したカメラ（撮像装置）の位置ｘ及び姿勢ωを、環境マップ構築部１５０及び出力画像生成部１８０へ出力する。
【００７１】
（２）特徴データ記憶部
特徴データ記憶部１３０は、ハードディスク又は半導体メモリなどの記憶媒体を用いて、実空間内に存在し得る物体に対応するオブジェクトの特徴を表す特徴データを予め記憶している。図３では、特徴データ記憶部１３０が環境マップ生成部１１０の一部である例を示しているが、かかる例に限定されず、特徴データ記憶部１３０は環境マップ生成部１１０の外部に設けられてもよい。図８は、特徴データの構成の一例について説明するための説明図である。
【００７２】
図８を参照すると、オブジェクトＯｂｊ１についての一例としての特徴データＦＤ１が示されている。特徴データＦＤ１は、オブジェクト名称ＦＤ１１、６方向から撮影した画像データＦＤ１２、パッチデータＤＦ１３、３次元形状データＦＤ１４、及びオントロジーデータＦＤ１５を含む。
【００７３】
オブジェクト名称ＦＤ１１は、“コーヒーカップＡ”など、対応するオブジェクトを特定することのできる名称である。
【００７４】
画像データＦＤ１２は、例えば、対応するオブジェクトを前・後・左・右・上・下の６方向からそれぞれ撮影した６つの画像データを含む。パッチデータＦＤ１３は、各オブジェクト上に設定される１つ以上の特徴点ごとの、各特徴点を中心とする小画像の集合である。画像データＦＤ１２及びパッチデータＦＤ１３は、後述する画像認識部１４０によるオブジェクト認識処理のために使用され得る。また、パッチデータＦＤ１３は、前述した自己位置検出部１２０による自己位置検出処理のために使用され得る。
【００７５】
３次元形状データＦＤ１４は、対応するオブジェクトの形状を認識するためのポリゴン情報、及び特徴点の３次元的な位置情報を含む。３次元形状データＦＤ１４は、後述する環境マップ構築部１５０による環境マップ構築処理、及び各オブジェクトについてのＣＧ画像生成処理のために使用され得る。
【００７６】
オントロジーデータＦＤ１５は、例えば、環境マップ構築部１５０による環境マップ構築処理を支援するために使用され得るデータである。図８の例では、オントロジーデータＦＤ１５は、コーヒーカップであるオブジェクトＯｂｊ１が、机又は食器洗い機に対応するオブジェクトに接する可能性が高いこと、及び本棚に対応するオブジェクトに接する可能性が低いことを表している。
【００７７】
（３）画像認識部
画像認識部１４０は、特徴データ記憶部１３０により記憶されている上述した特徴データを用いて、入力画像に映っている物体がそれぞれどのオブジェクトに対応するかを特定する。
【００７８】
図９は、画像認識部１４０によるオブジェクト認識処理の流れの一例を示すフローチャートである。図９を参照すると、まず、画像認識部１４０は、撮像部１０２から入力画像を取得する（ステップＳ２１２）。次に、画像認識部１４０は、入力画像に含まれる部分画像と、特徴データに含まれる各オブジェクトの１つ以上の特徴点のパッチとを照合し、入力画像に含まれる特徴点を抽出する（ステップＳ２１４）。なお、画像認識部１４０によるオブジェクト認識処理に用いられる特徴点と、自己位置検出部１２０による自己位置検出処理に用いられる特徴点とは、必ずしも同じでなくてもよい。但し、双方の処理で用いられる特徴点が共通している場合には、画像認識部１４０は、自己位置検出部１２０による特徴点の追跡結果を再利用してもよい。
【００７９】
次に、画像認識部１４０は、特徴点の抽出結果に基づいて、入力画像に映っているオブジェクトを特定する（ステップＳ２１６）。例えば、画像認識部１４０は、ある領域内で１つのオブジェクトに属す特徴点が高い密度で抽出された場合には、当該領域にそのオブジェクトが映っていると認識し得る。そして、画像認識部１４０は、特定したオブジェクトのオブジェクト名称（又は識別子）及びそのオブジェクトに属す特徴点の撮像面上の位置を、環境マップ構築部１５０へ出力する（ステップＳ２１８）。
【００８０】
（４）環境マップ構築部
環境マップ構築部１５０は、自己位置検出部１２０から入力されるカメラの位置及び姿勢、画像認識部１４０から入力される特徴点の撮像面上の位置、及び特徴データ記憶部１３０に記憶されている特徴データを用いて、環境マップを生成する。本明細書において、環境マップとは、実空間内に存在する１つ以上の物体の位置（及び姿勢）を表現するデータの集合である。環境マップには、例えば、物体に対応するオブジェクト名称、当該物体に属す特徴点の３次元位置、及び当該物体の形状を構成するポリゴン情報などが含まれ得る。環境マップは、例えば、画像認識部１４０から入力される特徴点の撮像面上の位置から、上述したピンホールモデルに従って各特徴点の３次元位置を求めることにより構築され得る。
【００８１】
式（１１）に示したピンホールモデルの関係式を変形すると、特徴点ＦＰｉの世界座標系における３次元位置ｐｉは、次式により求められる。
【００８２】
【数１２】
2011203824.tif 000015
（１４）
【００８３】
ここで、ｄはカメラと各特徴点との間の世界座標系における距離を表す。環境マップ構築部１５０は、かかる距離ｄを、オブジェクトごとに少なくとも４つの特徴点の撮像面上の位置、及び当該特徴点間の距離に基づいて、算出することができる。特徴点間の距離は、図８を用いて説明した特徴データに含まれる３次元形状データＦＤ１４として、予め特徴データ記憶部１３０により記憶されている。なお、式（１４）における距離ｄの算出処理については、上記特許文献１において詳しく説明されている。
【００８４】
距離ｄが算出されると、式（１４）における右辺の残りの変数は、自己位置検出部１２０から入力されるカメラの位置及び姿勢、並びに画像認識部１４０から入力される特徴点の撮像面上の位置であり、いずれも既知となる。そこで、環境マップ構築部１５０は、式（１４）に従って、画像認識部１４０から入力される各特徴点について、世界座標系における３次元位置を計算する。そして、環境マップ構築部１５０は、算出した特徴点ごとの３次元位置に応じて最新の環境マップを構築し、構築した環境マップを環境マップ記憶部１５２に記憶させる。なお、このとき、環境マップ構築部１５０は、図８を用いて説明した特徴データに含まれるオントロジーデータＦＤ１５を用いて、環境マップのデータの正確性を向上させてもよい。
【００８５】
環境マップ記憶部１５２は、ハードディスク又は半導体メモリなどの記憶媒体を用いて、環境マップ構築部１５０により構築される環境マップを記憶する。
【００８６】
［２−３．出力画像生成部］
出力画像生成部１８０は、環境マップに基づいて、入力画像内に写っている物体のうち所定の平面または曲面を有する物体の位置に重畳表示データを設定することで重畳表示画像を生成して、入力画像に重畳表示画像を重畳して出力画像を生成する。図３に示しているように、本実施形態において、出力画像生成部１８０は、重畳表示データ記憶部１８１、処理実行部１８２、操作体認識部１８３、重畳表示画像生成部１８４、重畳表示位置決定部１８６、及び画像重畳部１８８を含む。
【００８７】
図１０Ａは、撮像装置を装着したユーザが正面を向いているときに画像処理装置１００によって生成される出力画像の一例を示す図である。図１０Ｂは、ユーザが下を向いたときに生成される出力画像の一例を示す図である。図１０Ｃは、１階層目の項目選択によって生成される出力画像の一例を示す図である。図１０Ｄは、２階層目の項目が選択される直前の出力画像の一例を示す図である。図１０Ｅは、２階層目の項目選択によって生成される出力画像の一例を示す図である。図１０Ａ〜図１０Ｅを用いて、出力画像生成部１８０を構成する各ブロックの機能について説明する。
【００８８】
（１）重畳表示データ記憶部
重畳表示データ記憶部１８１は、ハードディスク又は半導体メモリなどの記憶媒体を用いて、入力画像に重畳される画像のもとになる重畳表示データと重畳表示データを構成する項目の位置である項目位置とを記憶している。重畳表示データ記憶部１８１によって記憶されている各種データの構成例については、図１１を参照して後述する。
【００８９】
（２）重畳表示位置決定部
重畳表示位置決定部１８６は、環境マップ記憶部１５２により記憶されている環境マップに基づいて、入力画像内に写っている物体のうち所定の平面または曲面を有する物体の位置を決定する。重畳表示位置決定部１８６は、所定の平面または曲面を有する物体の位置として、例えば、略水平方向に広がる平面を有する物体の位置を決定する。図１０Ａに示すように、本実施形態では、重畳表示位置決定部１８６が、略水平方向に広がる平面を有する物体の位置として、床面Ｆ０の位置を決定することとするが、略水平方向に広がる平面を有する物体はこれに限定されるものではなく、テーブル面や、階段などであってもよい。なお、図１０Ａに示した出力画像Ｉｍａには、略水平方向に広がる平面の一例としての床面Ｆ０が境界Ｂ０を境目として広がっている。重畳表示位置決定部１８６は、決定した位置を、重畳表示画像生成部１８４へ出力する。
【００９０】
（３）重畳表示画像生成部
重畳表示画像生成部１８４は、重畳表示位置決定部１８６により決定された物体の位置に重畳表示データを設定することで重畳表示画像を生成する。重畳表示画像生成部１８４は、例えば、重畳表示位置決定部１８６によって決定された物体の位置が床面Ｆ０の位置である場合に、重畳表示画像生成部１８４がその床面Ｆ０の位置に重畳表示データを設定することで重畳表示画像を生成する。重畳表示画像生成部１８４によって生成された重畳表示画像は、出力画像の生成に使用されるため、重畳表示画像生成部１８４は、生成した重畳表示画像を画像重畳部１８８へ出力する。
【００９１】
（４）画像重畳部
画像重畳部１８８は、入力画像に重畳表示画像を重畳して出力画像を生成する。図１０Ｂに示した出力画像Ｉｍｂは、「メール」「ナビ」「ゲーム」などの画像が含まれた重畳表示画像を床面Ｆ０の画像などが含まれる入力画像に重畳して得たものである。図１０Ｂに示した出力画像Ｉｍｂには、ユーザ自身の操作体ＯＰの例として足部の画像が含まれている。画像重畳部１８８は、このように生成した出力画像を、画像処理装置１００による処理の結果として、ディスプレイ装置Ｄ（又は必要に応じて他の機能部）へ出力する。ディスプレイ装置Ｄは、表示部の一例であり、出力画像を表示する。
【００９２】
画像重畳部１８８は、ユーザが所定値を超える傾きで下を向いたことを検出した段階で出力画像を出力することとしてもよい。すなわち、画像重畳部１８８は、撮像装置を頭部に装着したユーザが所定値を超える傾きで下方向に頭部を傾けたことを、撮像装置の傾きを検出するセンサにより検出した場合に、生成した出力画像をディスプレイ装置Ｄに表示させればよい。また、画像重畳部１８８は、撮像装置を頭部に装着したユーザが所定値を超える傾きで下方向に頭部を傾けたことを、撮像装置の傾きを検出するセンサにより検出していない場合に、生成した出力画像のディスプレイ装置Ｄによる表示を制限すればよい。より具体的には、画像重畳部１８８は、撮像装置を頭部に装着したユーザが所定値を超える傾きで下方向に頭部を傾けたことを、撮像装置の傾きを検出するセンサにより検出していない場合には、生成した出力画像をディスプレイ装置Ｄに表示させずに入力画像をディスプレイ装置Ｄに表示させればよい。このようにすれば、例えば、ユーザが正面を向いており、重畳表示データを閲覧する意志がないときにまで、重畳表示データが重畳された出力画像を生成することがなくなる。
【００９３】
重畳先の平面（床面Ｆ０など）がユーザの頭部から遠い場合には、重畳先の平面に重畳表示データを重畳しても重畳表示データが小さくなってしまうことが想定されるため、頂上先の平面に重畳表示データを重畳しなくてもよいことがある。したがって、例えば、画像重畳部１８８は、自己位置検出部１２０により検出された自装置の位置と重畳表示位置決定部１８６により決定された物体の位置との距離が所定値を超えている場合には、出力画像のディスプレイ装置Ｄによる表示を制限すればよい。より具体的には、画像重畳部１８８は、自己位置検出部１２０により検出された自装置の位置と重畳表示位置決定部１８６により決定された物体の位置との距離が所定値を超えている場合には、出力画像をディスプレイ装置Ｄに表示させずに入力画像をディスプレイ装置Ｄに表示させるなどといった制御を行えばよい。
【００９４】
図１１は、重畳表示データ記憶部１８１により記憶されているデータの一例を示す図である。図１１に示すように、重畳表示データ記憶部１８１は、重畳表示データの他に、重畳表示データを構成する各項目の位置を示す項目位置情報と当該項目が選択された場合に実行される処理の内容を示す処理内容との組み合わせが１または複数組、重畳表示データに対応付けられる形式で記憶している。
【００９５】
図１２は、出力画像生成部１８０による出力画像生成処理の流れの一例を示すフローチャートである。図１２において、出力画像生成処理が開始すると、重畳表示位置決定部１８６は、まず、環境マップ構築部１５０から環境マップを取得する（ステップＳ３０２）。そして、重畳表示位置決定部１８６は、表示モードへの移行操作を検出したか否かを判断する（ステップＳ３０４）。表示モードへの移行操作は、上述した例では、撮像装置を装着したユーザが下を向くことであったが、例えば、ユーザが入力装置などに対して入力を行うものであってもよい。ステップ３０２からステップＳ３１４までの処理は、各入力画像について（即ち毎フレーム）繰り返され得る。
【００９６】
重畳表示位置決定部１８６は、表示モードへの移行操作を検出しない場合には（ステップＳ３０４で「Ｎｏ」）、ステップＳ３１４に進み、表示モードへの移行操作を検出した場合には（ステップＳ３０４で「Ｙｅｓ」）、取得した環境マップ内に重畳表示が可能な平面が存在するか否かを判断する（ステップＳ３０６）。取得した環境マップ内に重畳表示が可能な平面が存在するか否かを判断することとするが、上述したように、取得した環境マップ内に重畳表示が可能な曲面が存在するか否かを判断してもよい。
【００９７】
重畳表示位置決定部１８６は、取得した環境マップ内に重畳表示が可能な平面が存在しないと判断した場合には（ステップＳ３０６で「Ｎｏ」）、ステップＳ３１４に進み、取得した環境マップ内に重畳表示が可能な平面が存在すると判断した場合には（ステップＳ３０６で「Ｙｅｓ」）、重畳表示が可能な平面の面積が閾値を超えたか否かを判断する（ステップＳ３０８）。重畳表示位置決定部１８６は、重畳表示が可能な平面の面積が閾値を超えたと判断した場合には（ステップＳ３０８で「Ｎｏ」）、ステップＳ３１４に進み、重畳表示が可能な平面の面積が閾値を超えたと判断していない場合には（ステップＳ３０８で「Ｙｅｓ」）、ステップＳ３１０に進む。
【００９８】
ステップＳ３１０では、重畳表示画像生成部１８４は、重畳表示データ記憶部１８１から重畳表示データを取得し、画像重畳部１８８は、入力画像に重畳表示データを重畳することで出力画像を生成して（ステップＳ３１２）、出力画像生成処理を終了する。ステップＳ３１４では、入力画像を出力画像として（ステップＳ３１４）、出力画像生成処理を終了する。
【００９９】
（５）操作体認識部
操作体認識部１８３は、入力画像内に写っているユーザ自身の操作体ＯＰを認識する。本実施形態では、操作体認識部１８３は、ユーザ自身の操作体ＯＰの一例として、入力画像内に写っている足部をユーザ自身の操作体ＯＰとして認識することとするが、足部以外の部分をユーザ自身の操作体ＯＰとして認識することとしてもよい。例えば、重畳表示位置決定部１８６が、略水平方向に広がる平面を有する物体の位置として、テーブル面の位置を決定する場合などには、操作体認識部１８３は、入力画像内に写っている手部をユーザ自身の操作体ＯＰとして認識することとしてもよい。入力画像内にテーブル面が写っているのであれば、ユーザはそのテーブル面の上に手部を容易に乗せることができると想定されるからである。
【０１００】
この他に、操作体認識部１８３が入力画像内に写っているユーザ自身の操作体ＯＰを認識する手法としては様々なものが想定される。例えば、操作体認識部１８３は、あらかじめ登録されている靴の画像である靴登録画像と入力画像とのマッチングを行い、靴登録画像にマッチする靴が入力画像に写っていると判断した場合に、その靴をユーザ自身の操作体として認識することとしてもよい。
【０１０１】
また、操作体認識部１８３は、ユーザが撮像装置を頭部に装着している場合に、入力画像内に写っている足部が入力画像を構成する各辺のうちでユーザに最も近い辺から延びているか否かを判断してもよい。図１０Ｂに示した出力画像Ｉｍｂには、入力画像内に写っている足部（操作体ＯＰの一例）が入力画像を構成する各辺のうちでユーザに最も近い辺（図１０Ｂの下方向にある辺）から延びている状態が写されている。操作体認識部１８３は、足部がユーザに最も近い辺から延びていると判断した場合に、その足部をユーザ自身の操作体ＯＰとして認識することとすればよい。
【０１０２】
また、操作体認識部１８３は、あらかじめ所定のマーキングを施してあるマーキング付きの靴が入力画像内に写っているか否かを判断することとしてもよい。操作体認識部１８３は、マーキング付きの靴が入力画像に写っていると判断した場合に、その靴をユーザ自身の操作体ＯＰとして認識することとすればよい。
【０１０３】
操作体認識部１８３は、例えば、一般的な画像認識技術を用いてユーザ自身の操作体ＯＰを認識すればよい。操作体認識部１８３は、ユーザ自身の操作体ＯＰを認識するとユーザ自身の操作体ＯＰの位置を把握することができる。すなわち、操作体認識部１８３は、ユーザ自身の操作体ＯＰを認識した結果として、ユーザ自身の操作体ＯＰの位置を処理実行部１８２へ出力する。
【０１０４】
（６）処理実行部
処理実行部１８２は、操作体認識部１８３により認識された操作体ＯＰの位置に基づいて選択される項目に応じた処理を実行する。項目は、重畳表示データを構成するものであり、図１０Ｂに示した出力画像Ｉｍｂでは、「メール」「ナビ」「ゲーム」などのそれぞれが項目に相当する。項目の位置を示す項目位置情報は、図１１に示すように、項目位置情報として重畳表示データ記憶部１８１によって記憶されており、出力画像内においては、重畳表示データの位置から項目位置情報が示す位置だけ変位させた位置に各項目が存在する。処理実行部１８２は、このように存在する項目の中から、操作体ＯＰの位置と一致する項目を選択する。図１０Ｃに示した出力画像Ｉｍｃは、ユーザが自身の操作体ＯＰを項目「ナビ」の位置に合わせると、項目「ナビ」に対応する処理として、処理実行部１８２によって、「最寄駅」「コンビニ」などの項目を選択するための重畳表示データを入力画像に重畳する処理が行われて得られるものである。
【０１０５】
処理実行部１８２が処理を実行するタイミングとしても、様々なものが想定される。処理実行部１８２は、ユーザが操作体ＯＰとして足部を使用する場合に、足部に設けられた接触センサによって接触が検出されたか否かを判断することとしてもよい。その場合には、処理実行部１８２は、例えば、接触センサによって接触が検出された場合に、足部の位置に基づいて選択される項目に応じた処理を実行すればよい。
【０１０６】
また、処理実行部１８２は、操作体認識部１８３により認識された操作体ＯＰが略同一の位置に所定時間止まったか否かを判断することとしてもよい。その場合には、処理実行部１８２は、例えば、操作体ＯＰが略同一の位置に所定時間止まったと判断した場合に、操作体ＯＰの位置に基づいて選択される項目に応じた処理を実行すればよい。また、処理実行部１８２は、操作体認識部１８３により認識された操作体ＯＰが項目に対応して設けられた所定領域に存在するか否かを判断することとしてもよい。その場合には、処理実行部１８２は、例えば、操作体ＯＰが所定領域に存在すると判断した場合に、その所定領域に対応する項目に応じた処理を実行すればよい。
【０１０７】
図１０Ｂに示した出力画像Ｉｍｂには、１階層目の重畳表示データ（「メール」「ナビ」「ゲーム」などの項目を含むもの）が重畳され、図１０Ｃに示した出力画像Ｉｍｃには、２階層目の重畳表示データ（「コンビニ」「最寄駅」などの項目を含むもの）が重畳されている。このように、重畳表示データは、階層的に入力画像に重畳されることとしてもよい。その場合には、重畳表示データ記憶部１８１は、重畳表示データに続いて表示される他の重畳表示データを記憶しており、重畳表示画像生成部１８４は、処理実行部１８２により項目が選択されると他の重畳表示データをさらに設定することで新たな重畳表示画像を生成する。そして、画像重畳部１８８は、処理実行部１８２により項目が選択されると新たな重畳表示画像に他の重畳表示データをさらに重畳して新たな出力画像を生成する。
【０１０８】
図１０Ｄに示した出力画像Ｉｍｄは、ユーザが自身の操作体ＯＰを項目「最寄駅」の位置に合わせると、項目「最寄駅」に対応する処理として、処理実行部１８２によって「最寄駅」までのルートを検索するためのアプリケーションを実行する処理が行われて得られるものである。図１０Ｅに示した出力画像Ｉｍｅは、検索結果の例を示すものである。
【０１０９】
その他、重畳表示データを構成する項目がすべて出力画像に収まらない場合も想定される。そのような場合には、重畳表示データの一部を出力画像に重畳し、ユーザが略水平方向に頭部を回転させた場合に、重畳表示データの続きを出力画像に重畳するようにしてもよい。すなわち、例えば、重畳表示画像生成部１８４は、撮像装置を頭部に装着したユーザが略水平方向に頭部を回転させたことを、撮像装置の回転を検出するセンサにより検出した場合には、当該回転の度合いに応じて重畳表示データの設定位置を変更すればよい。これによって、重畳表示画像生成部１８４は、重畳表示画像に設定される重畳表示データを移動させることができる。
【０１１０】
図１３は、出力画像生成部１８０による項目選択処理の流れの一例を示すフローチャートである。図１３において、項目選択処理が開始すると、操作体認識部１８３は、まず、操作体ＯＰを認識する（ステップＳ４０２）。そして、操作体認識部１８３は、その操作体ＯＰがユーザ自身の操作体ＯＰか否かを判断する（ステップＳ４０４）。ステップ４０２からステップＳ４１０までの処理は、各入力画像について（即ち毎フレーム）繰り返され得る。
【０１１１】
操作体認識部１８３は、認識した操作体ＯＰがユーザ自身の操作体ＯＰか否かを判断する（ステップＳ４０４）。操作体認識部１８３は、認識した操作体ＯＰがユーザ自身の操作体ＯＰではないと判断した場合には（ステップＳ４０４で「Ｎｏ」）、ステップＳ４０２に戻る。操作体認識部１８３は、認識した操作体ＯＰがユーザ自身の操作体ＯＰであると判断した場合には（ステップＳ４０４で「Ｙｅｓ」）、操作体ＯＰの位置を特定する（ステップＳ４０６）。
【０１１２】
続いて、処理実行部１８２は、操作体ＯＰによる項目の選択操作が行われたか否かを判断する（ステップＳ４０８）。処理実行部１８２は、操作体ＯＰによる項目の選択操作が行われていないと判断した場合には（ステップＳ４０８で「Ｎｏ」）、ステップＳ４０６に戻る。処理実行部１８２は、操作体ＯＰによる項目の選択操作が行われたと判断した場合には（ステップＳ４０８で「Ｙｅｓ」）、選択された項目に対応する処理を実行し（ステップＳ４１０）、項目選択処理を終了する。
【０１１３】
［２−４．第１の実施形態のまとめ］
本実施形態に係る画像処理装置１００によれば、実空間内に存在する物体の３次元位置を表現する環境マップに基づいて入力画像の適切な位置に重畳表示データが重畳された出力画像が生成される。それにより、ユーザが閲覧しやすい出力画像を生成することが可能となる。
【０１１４】
また、本実施形態によれば、ユーザ自身の操作体ＯＰの位置を認識して、認識した位置に基づいて、入力画像に重畳されている重畳表示データを構成する項目を選択することができる。それにより、撮影画像に対してＡＲ技術を用いて加工を施してＨＭＤによって表示する形態においてユーザによる操作の入力を簡便化することが可能となる。
【０１１５】
＜３．第２の実施形態＞
第１の実施形態では、実空間内の壁面及び床面もオブジェクトとして認識される例について説明した。これに対し、壁面又は床面に対応する特徴データが予め定義されていない場合には、壁面又は床面が環境マップに含まれないため、消去した物体の背後に表示すべき適切な画素値を構成できない可能性がある。その場合、追加的に壁面又は床面を認識し、その認識結果に応じて出力画像を生成するのが好適である。そこで、本節では、本発明の第２の実施形態として、壁面又は床面が環境マップに含まれない場合に追加的に壁面又は床面を認識することのできる画像処理装置の構成の一例について説明する。
【０１１６】
図１４は、第２の実施形態に係る画像処理装置２００の構成の一例を示すブロック図である。図１４を参照すると、画像処理装置２００は、撮像部１０２、環境マップ生成部２１０、及び出力画像生成部２８０を備える。
【０１１７】
［３−１．環境マップ生成部］
本実施形態において、環境マップ生成部２１０は、自己位置検出部１２０、特徴データ記憶部２３０、画像認識部１４０、環境マップ構築部１５０、及び環境マップ記憶部１５２を含む。
【０１１８】
（１）特徴データ記憶部
特徴データ記憶部２３０は、ハードディスク又は半導体メモリなどの記憶媒体を用いて、実空間内に存在し得る物体に対応するオブジェクトの特徴を表す特徴データを予め記憶している。本実施形態において、特徴データは、図８に例示したデータの他に、各オブジェクトのポリゴンを構成する頂点がそれぞれ床面又は壁面と接する可能性が高いか低いかを示す追加的なデータを含む。図１５は、そのような特徴データの構成の一例について説明するための説明図である。
【０１１９】
図１５を参照すると、一例としての特徴データＦＤ２は、オブジェクト名称ＦＤ２１、６方向から撮影した画像データＦＤ２２、パッチデータＤＦ２３、３次元形状データＦＤ２４、オントロジーデータＦＤ２５、及び追加データＦＤ２６を含む。
【０１２０】
追加データＦＤ２６は、３次元形状データＦＤ２４に含まれるポリゴン情報により定義される各オブジェクトのポリゴンの頂点ごとに、当該頂点が床面に接する可能性が高いか否か、及び当該頂点が壁面に接する可能性が高いか否か、を示す２つのフラグを有する。例えば、図１５の例において、追加データＦＤ２６は、特徴データＦＤ２に対応するオブジェクトのポリゴンの頂点Ａが、床面に接する可能性は高く、壁面に接する可能性は低いことを示している。また、追加データＦＤ２６は、特徴データＦＤ２に対応するオブジェクトのポリゴンの頂点Ｂが、床面に接する可能性は低く、壁面に接する可能性は高いことを示している。なお、これらポリゴンの頂点は、自己位置検出部１２０又は画像認識部１４０による上述した処理に使用される特徴点であってもよく、当該特徴点ではなくてもよい。
【０１２１】
図１６は、図１５に示した特徴データに関連するポリゴンの例について説明するための説明図である。図１６を参照すると、３つの物体Ｏｂｊ２１、Ｏｂｊ２２及びＯｂｊ２３が示されている。このうち、物体Ｏｂｊ２１はイスを表している。そして、物体Ｏｂｊ２１に対応するポリゴンの頂点のうち、イスの脚の部分の６つの頂点は、床面に接する可能性が高い。また、物体Ｏｂｊ２２はカレンダーを表している。そして、物体Ｏｂｊ２２に対応するポリゴンの頂点のうち、８つの頂点は、壁面に接する可能性が高い。また、物体Ｏｂｊ２３はタンスを表している。そして、物体Ｏｂｊ２３に対応するポリゴンの頂点のうち、タンスの底面に位置する４つの頂点は、床面に接する可能性が高い。また、物体Ｏｂｊ２３に対応するポリゴンの頂点のうち、タンスの背面に位置する４つの頂点は、壁面に接する可能性が高い。図１５に例示した追加データＦＤ２６は、このような各頂点の属性を定義する。
【０１２２】
本実施形態において、環境マップ生成部２１０の特徴データ記憶部２３０は、上述した追加データを含む特徴データを記憶しており、当該追加データを位置推定部２８１からの要求に応じて出力する。
【０１２３】
［３−２．出力画像生成部］
図１４に示しているように、本実施形態において、出力画像生成部２８０は、位置推定部２８１、重畳表示データ記憶部１８１、処理実行部１８２、操作体認識部１８３、重畳表示画像生成部１８４、重畳表示位置決定部１８６、及び画像重畳部１８８を含む。
【０１２４】
（１）位置推定部
位置推定部２８１は、環境マップにより表現される物体の表面上の点の位置及び上述した特徴データに基づいて、実空間の床面又は壁面の位置を推定する。本実施形態において、物体の表面上の点とは、上述した各物体に対応するポリゴンの頂点であってよい。
【０１２５】
より具体的には、位置推定部２８１は、例えば、環境マップ構築部１５０から入力される環境マップに含まれるオブジェクトのポリゴンの頂点群のうち、上述した特徴データにより床面と接する可能性が高いことが示されている頂点群を抽出する。そして、位置推定部２８１は、抽出した頂点群の世界座標系における３次元位置に基づいて、床面に相当する平面を推定する。位置推定部２８１は、例えば、公知のハフ変換の手法を用いて、頂点群の３次元位置からそれら頂点群を含み得る尤もらしい平面を推定することができる。
【０１２６】
同様に、位置推定部２８１は、例えば、環境マップ構築部１５０から入力される環境マップに含まれるオブジェクトのポリゴンの頂点群のうち、上述した特徴データにより壁面と接する可能性が高いことが示されている頂点群を抽出する。そして、位置推定部２８１は、抽出した頂点群の世界座標系における３次元位置に基づいて、壁面に相当する平面を推定する。なお、実空間内に２つ以上の壁面が存在する可能性がある場合には、位置推定部２８１は、頂点群をその３次元位置に応じて２つ以上の集合に分けた上で、各集合について壁面に相当する平面を推定してもよい。
【０１２７】
位置推定部２８１は、このように推定した床面及び／又は壁面の位置を、重畳表示位置決定部１８６へ出力する。
【０１２８】
［３−３．第２の実施形態のまとめ］
本実施形態に係る画像処理装置２００によれば、実空間内に存在する物体の３次元位置を表現する環境マップに基づいて重畳表示データが重畳された出力画像が生成される。その際、環境マップに含まれる物体の表面上の点のうち、床面又は壁面に接する可能性の高い点の位置に基づいて、床面又は壁面の位置が推定される。また、消去すべき物体の背後の床面又は壁面のテクスチャは、入力画像のうち床面又は壁面が映っていると推定される領域の画像に応じて選択され得る。そのため、壁面又は床面が環境マップに含まれない場合であっても、消去した物体の背後に空白部分の無い適切な出力画像を生成することができる。
【０１２９】
＜４．ハードウェア構成＞
なお、上述した第１〜第２の実施形態に係る一連の処理をハードウェアで実現するかソフトウェアで実現するかは問わない。一連の処理又はその一部をソフトウェアで実行させる場合には、ソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれたコンピュータ、又は例えば図１７に示した汎用コンピュータなどを用いて実行される。
【０１３０】
図１７において、ＣＰＵ（Central  Processing  Unit）９０２は、汎用コンピュータの動作全般を制御する。ＲＯＭ（Read  Only  Memory）９０４には、一連の処理の一部又は全部を記述したプログラム又はデータが格納される。ＲＡＭ（Random  Access  Memory）９０６には、処理の実行時にＣＰＵ９０２により用いられるプログラムやデータなどが一時的に記憶される。
【０１３１】
ＣＰＵ９０２、ＲＯＭ９０４、及びＲＡＭ９０６は、バス９１０を介して相互に接続される。バス９１０にはさらに、入出力インタフェース９１２が接続される。
【０１３２】
入出力インタフェース９１２は、ＣＰＵ９０２、ＲＯＭ９０４、及びＲＡＭ９０６と、入力装置９２０、表示装置９２２、記憶装置９２４、撮像装置９２６、及びドライブ９３０とを接続するためのインタフェースである。
【０１３３】
入力装置９２０は、例えばボタン、スイッチ、レバー、マウスやキーボードなどの入力インタフェースを介して、ユーザからの指示や情報入力を受け付ける。ただし、撮像装置９２６が存在すれば入力装置９２０は存在しなくてもよい。表示装置９２２は、例えばＣＲＴ（Cathode  Ray  Tube）、液晶ディスプレイ、ＯＬＥＤ（Organic  Light  Emitting  Diode）などを用いて構成され、その画面上に画像を表示させる。上記した実施形態においては、ＨＭＤが備える表示部が表示装置９２２に相当する。
【０１３４】
記憶装置９２４は、例えばハードディスクドライブ又は半導体メモリなどにより構成され、プログラムやデータを記憶する。撮像装置９２６は、上述した撮像部１０２のハードウェアに相当し、ＣＣＤ又はＣＭＯＳなどの撮像素子を用いて、実空間を撮影する。ドライブ９３０は、必要に応じて汎用コンピュータに設けられ、例えばドライブ９３０にはリムーバブルメディア９３２が装着される。
【０１３５】
第１〜第２の実施形態に係る一連の処理をソフトウェアで実行する場合には、例えば図１７に示したＲＯＭ９０４、記憶装置９２４、又はリムーバブルメディア９３２に格納されたプログラムが、実行時にＲＡＭ９０６に読み込まれ、ＣＰＵ９０２によって実行される。
【０１３６】
以上、添付図面を参照しながら本発明の好適な実施形態について詳細に説明したが、本発明はかかる例に限定されない。本発明の属する技術の分野における通常の知識を有する者であれば、特許請求の範囲に記載された技術的思想の範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、これらについても、当然に本発明の技術的範囲に属するものと了解される。
【符号の説明】
【０１３７】
１００，２００            画像処理装置
１０２                    撮像部
１１０，２１０            環境マップ生成部
１２０                    自己位置検出部
１３０，２３０            特徴データ記憶部
１４０                    画像認識部
１５０                    環境マップ構築部
１８０，２８０            出力画像生成部
１８１                    重畳表示データ記憶部
１８２                    処理実行部
１８３                    操作体認識部
１８４                    重畳表示画像生成部
１８６                    重畳表示位置決定部
１８８                    画像重畳部
２８１                    位置推定部
【図１】
2011203824.tif 000016
【図２】
2011203824.tif 000017
【図３】
2011203824.tif 000018
【図４】
2011203824.tif 000019
【図５】
2011203824.tif 000020
【図６】
2011203824.tif 000021
【図７】
2011203824.tif 000022
【図８】
2011203824.tif 000023
【図９】
2011203824.tif 000024
【図１０Ａ】
2011203824.tif 000025
【図１０Ｂ】
2011203824.tif 000026
【図１０Ｃ】
2011203824.tif 000027
【図１０Ｄ】
2011203824.tif 000028
【図１０Ｅ】
2011203824.tif 000029
【図１１】
2011203824.tif 000030
【図１２】
2011203824.tif 000031
【図１３】
2011203824.tif 000032
【図１４】
2011203824.tif 000033
【図１５】
2011203824.tif 000034
【図１６】
2011203824.tif 000035
【図１７】
2011203824.tif 000036