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