(57)【要約】【課題】高い精度で幾何情報を推定する。【解決手段】情報処理装置であって、撮像装置が撮像した入力画像に基づいて幾何情報を推定するための複数の学習モデルを保持する保持部と、入力画像に写るシーンへの学習モデルの適合度を示す評価値を学習モデルごとに算出し、評価値に基づいて複数の学習モデルから学習モデルを選択する選択部と、入力画像と選択された学習モデルとを用いて第一の幾何情報を推定する推定部とを備える。【選択図】  図１
2019087229.tif 000002
【特許請求の範囲】
【請求項１】
撮像装置が撮像した入力画像に基づいて幾何情報を推定するための複数の学習モデルを保持する保持手段と、
前記入力画像に写るシーンへの学習モデルの適合度を示す評価値を前記学習モデルごとに算出し、前記評価値に基づいて前記複数の学習モデルから学習モデルを選択する選択手段と、
前記入力画像と前記選択された学習モデルとを用いて第一の幾何情報を推定する推定手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記第一の幾何情報に基づいて前記撮像装置の位置姿勢を取得する取得手段を更に備えることを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記保持手段は、各学習モデルの学習に用いた学習画像を前記学習モデルごとにさらに少なくとも１枚保持し、
前記選択手段は、前記入力画像と前記学習画像との画像の類似度を算出し、当該類似度が高いほど高い評価値となるように前記学習モデルの評価値を算出することを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記保持手段は、各学習モデルと関連付けられた物体情報を含む物体情報リストをさらに保持し、
前記選択手段は、前記入力画像から検出された物体情報と、前記物体情報リストに含まれる物体情報との一致度が高いほど高い評価値となるように前記学習モデルの評価値を算出することを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記保持手段は、各学習モデルと関連付けられた位置情報を含む位置情報リストをさらに保持し、
前記選択手段は、前記入力画像の撮像時の位置情報と、前記位置情報リストに含まれる位置情報との一致度が高いほど高い評価値となるように前記学習モデルの評価値を算出することを特徴とする請求項１乃至４の何れか１項に記載の情報処理装置。
【請求項６】
前記保持手段は、各学習モデルと関連付けられた、入力画像の見えを変えうる状況を記述した状況情報を含む状況情報リストをさらに保持し、
前記選択手段は、前記入力画像の状況情報と、前記状況情報リストに含まれる状況情報との一致度が高いほど高い評価値となるように前記学習モデルの評価値を算出することを特徴とする請求項１乃至５の何れか１項に記載の情報処理装置。
【請求項７】
前記推定手段は、前記入力画像に基づいて第二の幾何情報をさらに推定し、前記学習モデルごとに前記入力画像と前記学習モデルとに基づいて第三の幾何情報をさらに推定し、前記選択手段は、前記第二の幾何情報と前記第三の幾何情報との一致度が高いほど高い評価値となるように前記学習モデルの評価値を算出することを特徴とする請求項１に記載の情報処理装置。
【請求項８】
前記撮像装置の移動量を計測するセンサをさらに備え、
前記推定手段は、前記センサにより計測されたセンサ情報または前記センサ情報に基づいて算出した幾何情報の少なくともどちらか一方と、前記第三の幾何情報との一致度が高いほど高い評価値となるように前記学習モデルの評価値を算出することを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記推定手段は、前記学習モデルごとに前記入力画像と前記学習モデルとに基づいて第三の幾何情報をさらに推定し、
前記選択手段は、前記入力画像から検出された既知の物体のサイズ又は形状と前記第三の幾何情報とが整合するほど高い評価値となるように前記学習モデルの評価値を算出することを特徴とする請求項１に記載の情報処理装置。
【請求項１０】
前記入力画像と、前記第一の幾何情報と、前記保持手段が保持する情報と、前記評価値と、前記位置姿勢とのうち少なくとも一つに基づいて表示情報を生成する生成手段をさらに備えることを特徴とする請求項２に記載の情報処理装置。
【請求項１１】
前記生成手段は、前記第一の幾何情報に基づいて前記入力画像に仮想物体のＣＧ画像を合成して前記表示情報を生成することを特徴とする請求項１０に記載の情報処理装置。
【請求項１２】
前記推定手段は、前記学習モデルごとに前記入力画像と前記学習モデルとに基づいて第三の幾何情報をさらに推定し、
前記生成手段は、前記第三の幾何情報に基づいて前記入力画像に仮想物体のＣＧ画像を合成して前記表示情報を生成することを特徴とする請求項１０に記載の情報処理装置。
【請求項１３】
前記生成手段は、前記第一の幾何情報に基づいて、前記入力画像を撮像したシーンの三次元形状を復元して前記表示情報を生成することを特徴とする請求項１０に記載の情報処理装置。
【請求項１４】
前記推定手段は、前記学習モデルごとに前記入力画像と前記学習モデルとに基づいて第三の幾何情報をさらに推定し、
前記生成手段は、前記第三の幾何情報に基づいて、前記入力画像を撮像したシーンの三次元形状を復元して前記表示情報を生成することを特徴とする請求項１０に記載の情報処理装置。
【請求項１５】
前記表示情報を表示する表示部をさらに備えることを特徴とする請求項１０乃至１４の何れか１項に記載の情報処理装置。
【請求項１６】
前記推定手段は、前記撮像装置が前記入力画像を撮像した時刻と異なる第二の時刻に撮像した第二の入力画像に基づいて、前記第二の幾何情報と前記第三の幾何情報とを更新し、
前記選択手段は、前記更新された第二の幾何情報と前記更新された第三の幾何情報との一致度が高いほど高い評価値となるように前記学習モデルの評価値を算出し直すことを特徴とする請求項７に記載の情報処理装置。
【請求項１７】
前記推定手段は、複数時刻において前記撮像装置が撮像した複数の入力画像に基づいて、複数の第二の幾何情報と複数の第三の幾何情報とを推定し、
前記選択手段は、前記複数の第二の幾何情報と前記複数の第三の幾何情報との一致度が高いほど高い評価値となるように前記学習モデルの評価値を算出することを特徴とする請求項７に記載の情報処理装置。
【請求項１８】
第二の撮像装置が取得した第三の入力画像および第四の幾何情報を入力する第二の画像入力手段と、
前記第三の入力画像または前記第四の幾何情報に写るシーンの種別ごとに前記第三の入力画像および前記第四の幾何情報を分類する学習用データ分類手段と、
前記学習用データ分類手段が分類した結果に基づいて、前記第三の入力画像および前記第四の幾何情報を前記シーンの種別ごとに保持する学習データ保持手段と、
前記学習データ保持手段が保持する前記第三の入力画像および前記第四の幾何情報を用いて、前記シーンの種別ごとに前記複数の学習モデルを学習し、前記学習データ保持手段に保持する学習モデル生成手段と、
をさらに備えることを特徴とする請求項１乃至１７の何れか１項に記載の情報処理装置。
【請求項１９】
撮像装置が撮像した入力画像に基づいて幾何情報を推定するための複数の学習モデルを保持する保持手段を備える情報処理装置の制御方法であって、
前記入力画像に写るシーンへの学習モデルの適合度を示す評価値を前記学習モデルごとに算出し、前記評価値に基づいて前記複数の学習モデルから学習モデルを選択する選択工程と、
前記入力画像と前記選択された学習モデルとを用いて第一の幾何情報を推定する推定工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項２０】
コンピュータを、請求項１乃至１８の何れか１項に記載の情報処理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法及びプログラムに関する。
【背景技術】
【０００２】
画像情報に基づく撮像装置の位置及び姿勢の計測は、複合現実感／拡張現実感における現実空間と仮想物体の位置合わせ、ロボットや自動車の自己位置推定、物体や空間の三次元モデリングなど様々な目的で利用される。
【０００３】
非特許文献１では、事前に学習した学習モデルを用いて画像から位置姿勢を算出するための指標である幾何情報（奥行き情報）を推定し、推定した奥行き情報に基づいて位置姿勢を算出する方法が開示されている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ｋ．  Ｔａｔｅｎｏ，  Ｆ．  Ｔｏｍｂａｒｉ，  Ｉ．  Ｌａｉｎａ  ａｎｄ  Ｎ．  Ｎａｖａｂ，  "ＣＮＮ−ＳＬＡＭ：  Ｒｅａｌ−ｔｉｍｅ  ｄｅｎｓｅ  ｍｏｎｏｃｕｌａｒ  ＳＬＡＭ  ｗｉｔｈ  ｌｅａｒｎｅｄ  ｄｅｐｔｈ  ｐｒｅｄｉｃｔｉｏｎ"，  ＩＥＥＥ  Ｃｏｍｐｕｔｅｒ  Ｓｏｃｉｅｔｙ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  ａｎｄ  Ｐａｔｔｅｒｎ  Ｒｅｃｏｇｎｉｔｉｏｎ  （ＣＶＰＲ），  ２０１７
【非特許文献２】Ｚ．Ｚｈａｎｇ，"Ａ  ｆｌｅｘｉｂｌｅ  ｎｅｗ  ｔｅｃｈｎｉｑｕｅ  ｆｏｒ  ｃａｍｅｒａ  ｃａｌｉｂｒａｔｉｏｎ，"  ＩＥＥＥ  Ｔｒａｎｓ．ｏｎ  Ｐａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ，ｖｏｌ．２２，ｎｏ．１１，ｐｐ．１３３０−１３３４，２０００．
【非特許文献３】Ｊ．  Ｅｎｇｅｌ，  Ｔ．  Ｓｃｈｐｓ，  ａｎｄ  Ｄ．  Ｃｒｅｍｅｒｓ．  ＬＳＤ−ＳＬＡＭ：  Ｌａｒｇｅ−Ｓｃａｌｅ  Ｄｉｒｅｃｔ  Ｍｏｎｏｃｕｌａｒ  ＳＬＡＭ．  Ｉｎ  Ｅｕｒｏｐｅａｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  （ＥＣＣＶ），  ２０１４．
【非特許文献４】Ｅ．  Ｓｈｅｌｈａｍｅｒ，  Ｊ．  Ｌｏｎｇ  ａｎｄ  Ｔ．  Ｄａｒｒｅｌｌ，  "Ｆｕｌｌｙ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｔｗｏｒｋｓ  ｆｏｒ  Ｓｅｍａｎｔｉｃ  Ｓｅｇｍｅｎｔａｔｉｏｎ"，  Ｔｒａｎｓａｃｔｉｏｎ  ｏｎＰａｔｔｅｒｎ  Ａｎａｌｙｓｉｓ  ａｎｄ  Ｍａｃｈｉｎｅ  Ｉｎｔｅｌｌｉｇｅｎｃｅ  （ＰＡＭＩ），  Ｖｏｌ．  ３９，  ｐｐ．  ６４０−６５１，  ２０１７
【非特許文献５】Ａ．Ｋｅｎｄａｌｌ，Ｍ．Ｇｒｉｍｅｓ  ａｎｄ  Ｒ．Ｃｉｐｏｌｌａ，"ＰｏｓｅＮｅｔ：  Ａ  Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｔｗｏｒｋ  ｆｏｒＲｅａｌ−Ｔｉｍｅ  ６−ＤＯＦ  Ｃａｍｅｒａ  Ｒｅｌｏｃａｌｉｚａｔｉｏｎ"，Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ（ＩＣＣＶ），２０１５，ｐｐ．２９３８−２９４６
【非特許文献６】Ｓ．Ｈｏｌｚｅｒ，  Ｖ．  Ｌｅｐｅｔｉｔ，  Ｓ．  Ｉｌｉｃ，Ｓ．  Ｈｉｎｔｅｒｓｔｏｉｓｓｅｒ，  Ｎ．  Ｎａｖａｂ，  Ｃ．  Ｃａｇｎｉａｒｔ  ａｎｄ  Ｋ．  Ｋｏｎｏｌｉｇｅ，  "Ｍｕｌｔｉｍｏｄａｌ  Ｔｅｍｐｌａｔｅｓｆｏｒ  Ｒｅａｌ−Ｔｉｍｅ  Ｄｅｔｅｃｔｉｏｎ  ｏｆ  Ｔｅｘｔｕｒｅ−ｌｅｓｓＯｂｊｅｃｔｓ  ｉｎ  Ｈｅａｖｉｌｙ  Ｃｌｕｔｔｅｒｅｄ  Ｓｃｅｎｅｓ"  ＩｎＥｕｒｏｐｅａｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  （ＥＣＣＶ），  ２０１１．
【非特許文献７】Ｊ．  Ｅｎｇｅｌ，  Ｔ．  Ｓｃｈｐｓ，  ａｎｄ  Ｄ．  Ｃｒｅｍｅｒｓ．  ＬＳＤ−ＳＬＡＭ：  Ｌａｒｇｅ−Ｓｃａｌｅ  Ｄｉｒｅｃｔ  Ｍｏｎｏｃｕｌａｒ  ＳＬＡＭ．  Ｉｎ  Ｅｕｒｏｐｅａｎ  Ｃｏｎｆｅｒｅｎｃｅ  ｏｎ  Ｃｏｍｐｕｔｅｒ  Ｖｉｓｉｏｎ  （ＥＣＣＶ），  ２０１４．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非特許文献１では、学習モデルを学習するために使用した学習画像を撮像したシーンと、撮像装置が撮像した入力画像に写るシーンとが類似している前提がある。そのため、シーンが類似していない場合でも、幾何情報の推定の精度を向上するための解決策が求められていた。
【０００６】
本発明は、上記の課題に鑑みてなされたものであり、高精度に位置姿勢を取得するための技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成する本発明に係る情報処理装置は、
撮像装置が撮像した入力画像に基づいて幾何情報を推定するための複数の学習モデルを保持する保持手段と、
前記入力画像に写るシーンへの学習モデルの適合度を示す評価値を前記学習モデルごとに算出し、前記評価値に基づいて前記複数の学習モデルから学習モデルを選択する選択手段と、
前記入力画像と前記選択された学習モデルとを用いて第一の幾何情報を推定する推定手段と、
を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、高精度に幾何情報を推定することができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１における情報処理装置１の機能構成を示す図である。
【図２】実施形態１における学習モデル群保持部のデータ構造を示す図である。
【図３】実施形態１における情報処理装置１のハードウェア構成を示す図である。
【図４】実施形態１における処理手順を示すフローチャートである。
【図５】実施形態１におけるステップＳ１４０における処理手順を示すフローチャートである。
【図６】実施形態１におけるステップＳ１１２０における処理手順を示すフローチャートである。
【図７】実施形態２におけるステップＳ１１２０における処理手順を示すフローチャートである。
【図８】実施形態３におけるステップＳ１１２０における処理手順を示すフローチャートである。
【図９】実施形態６における学習モデルを特徴づける情報を提示するＧＵＩの一例を示す図である。
【図１０】実施形態３における情報処理装置２の機能構成を示す図である。
【図１１】実施形態５の変形例の１つにおける情報処理装置３の機能構成を示す図である。
【図１２】実施形態９における情報処理装置４の機能構成を示す図である。
【図１３】実施形態９における処理手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、図面を参照しながら実施形態を説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
【００１１】
（実施形態１）
本実施形態では、複合現実感システムにおける現実空間と仮想物体との位置合わせ、すなわち、仮想物体の描画に利用するための現実空間における撮像装置の位置及び姿勢の計測に本発明を適用した場合について説明する。複合現実感を体験するユーザはスマートフォンやタブレットに代表されるモバイル端末を把持し、モバイル端末のディスプレイを通じて仮想物体が重畳された現実空間を観察する。本実施形態ではモバイル端末には撮像装置として単眼のＲＧＢカメラが搭載されており、カメラが撮像した画像上にカメラの現実空間における位置姿勢に基づいて描画された仮想物体のＣＧ画像が重畳されてユーザに提示される。
【００１２】
撮像装置の位置姿勢の算出には、撮像装置が撮像した入力画像に基づいて学習モデルが推定した幾何情報を用いる。本実施形態における学習モデルが推定する幾何情報とは、入力画像のピクセルごとに推定した奥行き情報であるデプスマップのことである。また、学習モデルは、ＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）とする。具体的には、ある時刻ｔに撮像された画像（以下、現フレームと呼ぶ）に、現フレーム以前のある時刻ｔ'に撮像された画像（以下、前フレームと呼ぶ）を入力として学習モデルが推定した奥行き情報（以下、前デプスマップと呼ぶ）に基づいて、前フレームの各画素を現フレームに射影する。ここでいう射影とは、前フレームの画素が現フレームのどこに写るかを算出することである。具体的には、前フレームの各画素の画像座標（ｕｔ−１，ｖｔ−１）とカメラの内部パラメータ（ｆｘ、ｆｙ、ｃｘ、ｃｙ）、および前デプスマップの画素の奥行き値Ｄを用いて当該画素の前フレームのカメラ座標系における三次元座標（Ｘｔ−１，Ｙｔ−１，Ｚｔ−１）を数１により算出する。
【００１３】
【数１】
2019087229.tif 000003
【００１４】
次に、前フレームを撮影したカメラの位置に対する現フレームを撮影したカメラの位置及び姿勢であるｔ（ｔ−１）→ｔ、Ｒ（ｔ−１）→ｔを用いて現フレームのカメラ座標系における当該特徴点の三次元座標（Ｘｔ，Ｙｔ，Ｚｔ）を、数２により算出する。 
【００１５】
【数２】
2019087229.tif 000004
【００１６】
次に、数３により現フレームのカメラ座標系における当該特徴点の三次元座標（Ｘｔ，Ｙｔ，Ｚｔ）を現フレームの画像座標（ｕｔ，ｖｔ）に変換する。 
【００１７】
【数３】
2019087229.tif 000005
【００１８】
本実施形態では、数１から数３の処理を射影と呼ぶ。この前フレームの画素（ｕｔ−１，ｖｔ−１）の輝度値と、射影先の現フレームの画素（ｕｔ，ｖｔ）との輝度値との輝度差が最小となるように位置及び姿勢ｔ（ｔ−１）→ｔ、Ｒ（ｔ−１）→ｔを算出する。最後に、世界座標系に対する前フレームを撮像したカメラの位置及び姿勢ｔw→（ｔ−１)、Ｒw→（ｔ−１)を用いて、数４により世界座標系に対する現フレームを撮影したカメラの位置及び姿勢ｔw→ｔ、Ｒw→ｔを算出する。
【００１９】
【数４】
2019087229.tif 000006
【００２０】
学習モデルは、複数の画像とそれと同時刻に同視野を撮影した複数のデプスマップに基づいて、画像を入力すると対応するデプスマップが推定できるようにあらかじめ学習しておく。例えば、屋内シーンが写っている学習画像を用いて学習した学習モデルを使用すると、屋内画像を入力したときには高い精度でデプスマップを推定できる。ただし、この学習モデルに屋外画像を入力すると、出力するデプスマップの精度が低下する。そこで、本実施形態では、シーンごとに学習した複数の学習モデルの中から、入力画像を撮像したシーンにおいて高い精度で幾何情報を算出できる学習モデルを選択する方法として、学習画像が入力画像と類似している学習モデルを選択する方法について説明する。シーンとは、例えば屋内シーンや屋外シーン、日本家屋の部屋のシーンや西洋家屋の部屋のシーン、オフィスシーンや工場シーンなどである。
【００２１】
本実施形態における撮像装置の位置及び姿勢とは、現実空間中に規定された世界座標におけるカメラの位置を表す３パラメータ、及びカメラの姿勢を表す３パラメータを合わせた６パラメータのことを表すこととする。本実施形態では、とくに断りがない限りカメラの位置及び姿勢をカメラの位置姿勢と呼ぶ。また、カメラの光軸をＺ軸、画像の水平方向をＸ軸、垂直方向をＹ軸とするカメラ上に規定される三次元の座標系をカメラ座標系と呼ぶ。
【００２２】
＜情報処理装置の構成＞
図１は、本実施形態における情報処理装置１の機能構成例を示す図である。情報処理装置１は、画像入力部１１０、学習モデル選択部１２０、学習モデル群保持部１３０、幾何情報推定部１４０及び位置姿勢取得部１５０を備えている。画像入力部１１０はモバイル端末に搭載された撮像装置１１、および表示情報生成部１２と接続されている。位置姿勢取得部１５０は、表示情報生成部１２と接続されている。表示情報生成部１２は表示部１３と接続されている。ただし、図１は、機器構成の一例であり、本発明の適用範囲を限定するものではない。図１の例では表示情報生成部１２及び表示部１３は情報処理装置１の外部に構成されているが、これらを情報処理装置１に含めて構成してもよい。また、表示情報生成部１２を情報処理装置１に含め、表示部１３は情報処理装置１の外部装置として構成してもよい。
【００２３】
画像入力部１１０は、撮像装置１１が撮像するシーンの２次元画像の画像データを時系列（例えば毎秒６０フレーム）に入力し、学習モデル選択部１２０、幾何情報推定部１４０、位置姿勢取得部１５０、表示情報生成部１２に出力する。
【００２４】
学習モデル選択部１２０は、画像入力部１１０が入力した入力画像に基づいて、学習モデル群保持部１３０が保持する各学習モデルを選択し、選択結果を幾何情報推定部１４０に出力する。
【００２５】
学習モデル群保持部１３０は、複数の学習モデルを保持する。データ構造の詳細は後述する。幾何情報推定部１４０は、学習モデル選択部１２０が選択した学習モデルに画像入力部１１０が入力した入力画像を入力し、幾何情報を推定する。また、推定した幾何情報を位置姿勢取得部１５０に出力する。
【００２６】
位置姿勢取得部１５０は、画像入力部１１０が入力した入力画像と幾何情報推定部１４０が入力した幾何情報とに基づいて撮像装置の位置姿勢を算出して取得。そして、取得した位置姿勢情報を表示情報生成部１２に出力する。
【００２７】
表示情報生成部１２は、位置姿勢取得部１５０から取得した位置姿勢と不図示の保持部が保持するカメラの内部・外部パラメータとを用いて仮想物体のＣＧ画像をレンダリングする。そして、画像入力部１１０が入力した入力画像上にＣＧ画像を重畳した合成画像を生成する。また、合成画像を表示部１３に出力する。表示部１３は、モバイル端末のディスプレイであり、表示情報生成部１２が生成した合成画像を表示する。
【００２８】
なお、図２は、学習モデル群保持部１３０のデータ構造を示す図である。本実施形態においては、少なくとも２つの学習モデルを保持する。また、学習モデルごとにその学習モデルの学習のために用いた学習画像を少なくとも１枚保持ものとする。学習モデルは、例えばＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）の識別器をバイナリ形式で保存したデータファイルであるものとする。
【００２９】
図３は、情報処理装置１のハードウェア構成を示す図である。Ｈ１１はＣＰＵであり、システムバスＨ２０に接続された各種デバイスの制御を行う。Ｈ１２はＲＯＭであり、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ／Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）のプログラムやブートプログラムを記憶する。Ｈ１３はＲＡＭであり、ＣＰＵであるＨ１１の主記憶装置として使用される。Ｈ１４は外部メモリであり、情報処理装置１が処理するプログラムを格納する。入力部Ｈ１５はキーボードやマウス、ロボットコントローラであり、情報等の入力に係る処理を行う。表示部Ｈ１６はＨ１１からの指示に従って情報処理装置１の演算結果を表示装置に出力する。なお、表示装置は液晶表示装置やプロジェクタ、ＬＥＤインジケータなど、種類は問わない。また、表示部１３であってもよい。Ｈ１７は通信インターフェイスであり、ネットワークを介して情報通信を行うものであり、通信インターフェイスはイーサネット（登録商標）でもよく、ＵＳＢやシリアル通信、無線通信等種類は問わない。Ｈ１８は入出力部（Ｉ／Ｏ）であり、カメラＨ１９と接続されている。なお、カメラＨ１９は撮像装置１１に相当する。
【００３０】
＜処理＞
次に、本実施形態における処理手順について説明する。図４は、本実施形態における情報処理装置１を含む情報処理システムが実施する処理手順を示すフローチャートである。
【００３１】
ステップＳ１１０では、システムの初期化を行う。すなわち、外部メモリＨ１４からプログラムを読み込み、情報処理装置１を動作可能な状態にする。また、情報処理装置１に接続された各機器（撮像装置１１など）のパラメータや、撮像装置１１の初期位置姿勢を読み込む。撮像装置１１の内部パラメータ（焦点距離ｆｘ（画像の水平方向）、ｆｙ（画像の垂直方向）、画像中心位置ｃｘ（画像の水平方向）、ｃｙ（画像の垂直方向）、レンズ歪みパラメータ）は、非特許文献２に記載のＺｈａｎｇの方法によって事前に校正する。
【００３２】
ステップＳ１２０では、撮像装置１１がシーンの撮影を行い、画像入力部１１０に出力する。
【００３３】
ステップＳ１３０では、画像入力部１１０が、撮像装置１１が撮像したシーンを含む画像を入力画像として取得する。なお、本実施形態においては、入力画像とはＲＧＢ画像である。
【００３４】
ステップＳ１４０では、学習モデル選択部１２０が、学習モデル群保持部１３０が保持する学習画像を用いて、それぞれの学習モデルの評価値を算出し、算出した評価値に基づいて学習モデルの選択を行う。ステップＳ１４０の評価値算出処理の詳細は図５及び図６を参照して後述する。
【００３５】
ステップＳ１５０では、幾何情報推定部１４０が、ステップＳ１４０で選択された学習モデルを用いて幾何情報を推定する。具体的には、学習モデル選択部１２０が、入力画像を学習モデルに入力し、幾何情報であるデプスマップを推定する。本実施形態では、学習モデルに前フレームの画像を入力し、前デプスマップを推定する。
【００３６】
ステップＳ１６０では、位置姿勢取得部１５０が、ステップＳ１５０で算出された幾何情報（デプスマップ）を用いて撮像装置１１の位置姿勢を算出して取得する。具体的には、まず、前フレームの各画素を、学習モデルによって推定したデプスマップに基づいて現フレームに射影する。次に、射影した前フレームの画素の画素値と現フレームの画素値との輝度差が最小となるようにＥｎｇｅｌらの方法（非特許文献３）により位置及び姿勢を算出する
ステップＳ１７０では、表示情報生成部１２が、ステップＳ１６０で算出された撮像装置１１の位置姿勢を用いて、仮想物体のＣＧ画像をレンダリングし、入力画像に重畳合成した合成画像を生成して、表示部１３に入力する。また、表示部１３が、合成画像をモバイルデバイスのディスプレイである表示部に表示する。
【００３７】
ステップＳ１８０では、システムを終了するか否か判定する。具体的には、不図示の入力部によりユーザが終了コマンドを入力していれば終了し、そうでなければステップＳ１２０に戻り処理を続ける。
【００３８】
＜学習モデルの選択処理＞
ここで、図５は、本実施形態におけるＳ１４０の学習モデルの選択処理の手順を示すフローチャートである。
【００３９】
ステップＳ１１１０では、学習モデル選択部１２０が、学習モデル群保持部１３０が保持するそれぞれの学習モデルのうち、どの学習モデルを用いるか決定済みか否か判定する。使用する学習モデルが未決定の場合にはＳ１１２０へ進む。一方、使用する学習モデルが決定済の場合には処理を終了する。
【００４０】
ステップＳ１１２０では、学習モデル選択部１２０が、入力画像と学習画像との類似画像探索によって、学習モデル群保持部１３０が保持するそれぞれの学習モデルの評価値を算出する。評価値とは、撮像装置１１が撮像した入力画像と学習画像との類似度のことであり、撮像装置が撮像するシーンへの学習モデルの適合度を表す。本実施形態では、評価値は０から１の連続値であり、１となるほど適合度が高いものとする。評価値の算出処理の詳細は図６を参照して後述する。
【００４１】
ステップＳ１１３０では、学習モデル選択部１２０が、Ｓ１１２０で算出した評価値が最大となった学習画像を含む学習モデルを選択する。このとき、例えばＲＡＭであるＨ１３などの記憶部に当該学習モデルを読み込むことで、幾何情報推定部１４０が幾何情報を推定可能な状態にする。
【００４２】
＜評価値算出処理＞
続いて、図６は、本実施形態におけるＳ１１２０の学習モデルの評価値算出処理の詳細手順を示すフローチャートである。
【００４３】
ステップＳ１２１０では、学習モデル選択部１２０が、評価値を算出していない学習モデルの学習に用いた学習画像を学習モデル群保持部１３０からＲＡＭであるＨ１３にロードする。
【００４４】
ステップＳ１２２０では、学習モデル選択部１２０が、入力画像と学習画像との類似度に基づいて学習モデルの評価値を算出する。本実施形態では、画像を縮小し、画像の輝度情報に対して離散コサイン変換を施し、低周波成分のハッシュ値を算出するｐＨａｓｈ法を用いる。まず、学習モデル選択部１２０が、入力画像と学習画像のハッシュ値を算出し、それらのハミング距離を算出する。本実施形態における入力画像と学習モデルとの類似度とは、ハミング距離である。算出した各モデルのハミング距離のなかの最大値を用いて、各モデルのハミング距離を０から１に正規化した連続値を算出する。本実施形態では、この正規化した値を各学習モデルの評価値とする。
【００４５】
ステップＳ１２３０では、学習モデル選択部１２０が、すべての学習モデルの評価値が算出されたか否か判定する。全ての評価値の算出が完了していれば、処理を終了する。一方、評価値の算出が終わっていない学習モデルがあれば、ステップＳ１２１０に戻る。ただし、学習モデル群保持部１３０が保持するすべての学習モデルを評価する必要はなく、使用頻度の高い上位Ｎ（Ｎは整数）個の学習モデルのみ評価値を算出するように構成してもよい。このような場合にはステップＳ１２３０は上位Ｎ個の学習モデルの評価が完了しているかどうかを判定する。
【００４６】
＜効果＞
以上に述べたように、実施形態１では、複数の学習モデルの中から各学習モデルについて評価値を算出し、評価値の高い学習モデルを選択する。このとき、入力画像とそれぞれの学習モデルの学習時に用いた学習画像との類似度を算出し、類似度が高い各学習モデルに高い評価値をつける。そして、評価値が高い学習モデルを用い推定した幾何情報を用いて撮像装置の位置姿勢を算出する。このように、入力画像と学習画像とが類似している学習モデルを選択することで、学習モデルが高い精度で幾何情報を推定することができる。そのため、例えば、この推定した幾何情報を用いて撮像装置の位置姿勢を求める場合には、高い精度で撮像装置の位置姿勢を算出することができる。なお、推定した幾何情報の他の用途としては、例えば、後述する自動車の自動運転などにおける画像認識に用いることなどが挙げられる。
【００４７】
さらに、個別のシーンごとに学習した小規模な学習モデルを選択して用いることで、メモリ容量の小さな計算機においても幾何情報を推定することができる。これにより、モバイル端末においても撮像装置の位置姿勢を算出することができる。
【００４８】
さらに、個別のシーンごとに学習した小規模な学習モデルを選択して用いることで、大規模な学習モデルを用いる場合と比較し、少ない実行時間で幾何情報を推定することができる。これにより、短い時間で撮像装置の位置姿勢を算出することができる。
【００４９】
＜変形例＞
実施形態１においては、学習モデル群保持部１３０は、学習モデルの学習に用いた学習画像を保持していた。しかしながら、保持する画像は、学習モデルを特徴づけることができる画像であれば、学習画像そのものに限らない。例えば、学習画像を縮小した画像や一部を切り取った画像であってもよいし、学習画像と類似する画像であってもよい。
【００５０】
実施形態１においては、学習モデルの評価方法にｐＨａｓｈ法を用いていた。しかしながら、評価方法はｐＨａｓｈ法に限らず、学習モデルの学習に用いた学習画像と入力画像との類似度を算出できる方法であれば何でもよい。具体的には、入力画像と学習画像それぞれから算出したカラーヒストグラムの類似度を用いてもよい。あるいは、入力画像と学習画像それぞれの局所領域の輝度の勾配方向をヒストグラム化したＨｏｇ（Ｈｉｓｔｇｒａｍ  ｏｆ  Ｏｒｉｅｎｔｅｄ  Ｇｒａｄｉｅｎｔｓ）特徴量を算出しＨｏｇ特徴量の類似度を用いてもよい。また、画面を小領域に区切りそれら小領域に対し複数の方向・周波数のガボールフィルタをかけた応答を特徴量とするＧＩＳＴ特徴の類似度を用いてもよい。
【００５１】
また、入力画像と学習画像それぞれから検出した局所特徴の特徴量が類似する個数を評価値としてもよい。局所特徴として、例えば平滑化した画像の局所領域内の勾配方向ヒストグラムを特徴量とするＳＩＦＴ特徴点を用いてもよい。あるいは、局所画像領域内でのある２点の輝度の大小からバイナリコードを生成し特徴量とするＯＲＢ特徴点を用いてもよい。さらに、局所特徴は、Ｈａｒｒｉｓコーナー検出法によって画像中の角などの特徴的な位置を算出し、周囲の色情報を特徴量とした画像特徴量でもよいし、周囲の小領域のテンプレートを特徴量としてもよい。さらに、文字認識によって検出した文字情報を局所特徴として用いてもよい。複数種類の画像特徴を組み合わせて用いてもよい。
【００５２】
さらに、局所特徴のベクトル量子化によりヒストグラムに変換したＢａｇ−ｏｆ−Ｖｉｓｕａｌ  Ｗｏｒｄｓの類似度を評価値として用いてもよい。また、あらかじめ学習モデルごとに学習画像からＢａｇ−ｏｆ−Ｖｉｓｕａｌ  Ｗｏｒｄｓを算出しておき、それぞれの特徴量が存在する特徴空間との距離が最大となる識別境界を算出するＳＶＮ（サポートベクターマシン）を用いた識別器を利用してもよい。このとき、入力画像から算出した特徴量を入力としてＳＶＮが識別した学習モデルに投票し、投票数が最大の学習モデルを選択してもよい。事前に各モデルの学習画像に基づいてそれぞれの学習モデルに対応するラベルを出力するように学習したＳｈｅｌｈａｍｅｒらの提案したニューラルネットワーク（非特許文献４）に入力画像を入力したときの出力ラベルに対応する学習モデルを選択してもよい。
【００５３】
入力画像は１枚の画像に限らず、複数枚の画像でもよく、それぞれの入力画像と学習画像との類似度の和や最大値、最小値、平均値、中央値を評価値としてもよい。
【００５４】
実施形態１では、学習モデル群保持部１３０は学習画像を保持し、評価値算出時にハッシュ値や特徴量を算出していた。しかしながら、あらかじめ学習画像からハッシュ値や特徴量を算出し、学習モデル群保持部１３０がそれらを保持しておいてもよい。これにより、学習モデルの選択時に学習画像からのハッシュ値や特徴量の算出が必要なくなり、短時間で学習モデルを選択することができる。
【００５５】
実施形態１では、学習モデル群保持部１３０が保持する学習モデルは識別器をバイナリ形式で出力したデータファイルであった。しかしながら、幾何情報推定部１４０が幾何情報を推定できるような形式で保持していれば、ＣＮＮのネットワーク構造と重みを出力したデータファイルで保持してもよい。あるいは、あらかじめネットワーク構造を決めておきその重みのみを抽出して出力したデータファイルとして保持してもよい。重みのみ抽出することで、識別器自体をバイナリ形式で出力するよりもデータファイルの大きさを小さくすることができる。
【００５６】
実施形態１では、学習画像と入力画像の類似度合に基づいて評価値を算出していた。しかしながら、評価値の算出方法は、学習画像と入力画像を撮影したシーンが類似していれば高い評価値をつけることができる方法であれば何でもよい。例えば、学習画像と入力画像が撮像されたシーン情報を検出して、シーン情報の一致度に基づいて評価値を算出する。シーン情報とは、室内や屋外、海岸、山、道路といったシーンのカテゴリのことである。シーン情報の検出には、シーンのカテゴリを判別するシーン判別学習モデルを用いる。例えばシーン判別学習モデルは、入力した画像が当該カテゴリであれば１を、そうでなければ０を出力するようにＤｅｅｐ  Ｌｅａｒｎｉｎｇを用いて学習されたニューラルネットワークのことである。また、一つの画像から複数の局所特徴を検出し、それらの特徴量の平均や相関値を列挙したＧＬＣ特徴を算出しておく。そして、各カテゴリのＧＬＣ特徴が存在する特徴空間同士の距離が最大となる識別境界を算出するＳＶＮ（サポートベクターマシン）によってシーンのカテゴリを判別してもよい。なお、ＧＬＣとは、ｇｅｎｅｒａｌｉｚｅｄ  ｌｏｃａｌ  ｃｏｒｒｅｌａｔｉｏｎの略である。
【００５７】
実施形態１では、前フレームの各画素を幾何情報推定部１４０が学習モデルを用いて推定したデプスマップに基づいて現フレームに射影し、射影した前フレームの画素の画素値と現フレームの画素値との輝度差が最小となるように位置及び姿勢を算出していた。しかしながら、学習モデルの出力に基づいて位置姿勢取得する方法であればよい。例えば、幾何情報推定部が学習モデルを用いて前フレームと現フレームのデプスマップを推定する。そして、現デプスマップの各画素の三次元点と前デプスマップの各画素の三次元点のうち最近傍の点との距離を最小化するように繰り返し位置姿勢を算出するＩＣＰ法を用いて位置姿勢を算出する。ＩＣＰとは、Ｉｔｅｒａｔｉｖｅ  Ｃｌｏｓｅｓｔ  Ｐｏｉｎｔの略である。また、位置姿勢取得部１５０が、前フレーム、現フレームから局所特徴を算出しそれらの一致する構造を指し示す対応点を求める。そして、前フレームの局所特徴をデプスマップの奥行き値を用いて現フレームに射影したときの対応点の距離を最小化するようにＰｎＰ問題を解くことで位置姿勢を算出してもよい。なお、幾何情報推定部は、学習モデルの出力を間接的に用いる構成でもよい。すなわち、学習モデルの出力を時系列フィルタリングにより補正した幾何情報に基づいて位置姿勢を算出してもよい（非特許文献１に記載）。
【００５８】
実施形態１では、学習モデルが推定する幾何情報はデプスマップであった。しかしながら、本実施形態に適用できる学習モデルは、出力した幾何情報に基づいて撮像装置の位置姿勢を算出できるものであればよい。例えば、入力画像の中から位置姿勢取得に用いるための顕著点を幾何情報として算出する学習モデルを用いてもよい。このときは幾何情報推定部１４０が前フレームと現フレームから学習モデルを用いて顕著点を推定し、位置姿勢取得部が前フレームと現フレームで一致する構造を指し示す顕著点に基づいて５点アルゴリズム法を用いて位置姿勢を算出する。また、前フレームと現フレーム二枚の画像を入力し、幾何情報としてそれらの間の位置姿勢の６自由度を推定するように学習した学習モデル（非特許文献５）を利用してもよい。この時には、位置姿勢取得部１５０が位置姿勢を算出する代わりに、幾何情報推定部１４０が学習モデルを用いて推定した位置姿勢を直接位置姿勢取得結果として表示情報生成部１２に入力してもよい。
【００５９】
実施形態１では、複合現実感システムにおける現実空間と仮想物体との位置合わせのアプリケーションに適用した例を説明した。しかしながら、本実施形態で説明した情報処理装置１に適用可能なのは当該アプリケーションに限らず、学習モデルが出力した幾何情報、または位置姿勢取得結果を用いるものであればよい。例えば、情報処理装置１を自立移動ロボットや自動車に取り付けてロボットや自動車の自己位置を推定する自立移動システムとして用いてもよい。このときの自立移動システムには、電動モータなどの移動機構や、位置姿勢取得部１５０が算出した位置姿勢に基づいて行動を決定し移動機構を制御する制御部を備えていてもよい。また、工業用ロボットハンドの先端に取り付けてロボットハンドの位置姿勢を計測するロボットシステムとして用いてもよい。このときのロボットシステムには、ロボットアーム等のマニピュレータや、吸着ハンド等の把持装置、および位置姿勢取得部１５０が算出した位置姿勢に基づいてマニピュレータや把持装置を制御する制御部を備えていてもよい。
【００６０】
また、情報処理装置１の使用用途は位置姿勢推定に限らず、三次元再構成に用いてもよい。例えば、工業部品や建物といったＣＡＤモデルを生成するための計測システムとして用いてもよい。このときの計測システムは、幾何情報推定部１４０が推定した幾何情報から三次元モデルを生成する三次元モデル生成部をさらに備えていてもよい。また、ＲＧＢカメラや濃淡画像を取得するカメラなど、デプスマップを取得することのできないカメラから高精度にデプスマップを取得する装置として用いてもよい。
【００６１】
実施形態１では、モバイルデバイスが学習モデル選択部１２０や学習モデル群保持部１３０を有する構成を説明した。しかしながら、クラウドサーバが実施形態１で示した情報処理装置の一部の機能を有し、実行してもよい。例えば、クラウドサーバが学習モデル選択部１２０と学習モデル群保持部１３０とを有する構成であってもよい。この構成では、まずモバイル端末が入力画像を不図示の通信部を用いてクラウドサーバに転送する。次に、クラウドサーバ上の学習モデル選択部１２０が、クラウドサーバ状の学習モデル群保持部１３０の保持する学習モデルについて評価値を算出し、評価結果に基づいて学習モデルを選択する。そして、クラウドサーバが選択した学習モデルを、通信部を用いてモバイル端末に転送する。このような構成にすることで、モバイルデバイスは多数の学習モデル群を保持する必要がなく、学習モデル選択にかかる計算も実行しなくてよいため、小規模な計算機しか搭載されていないモバイルデバイスに対しても本発明を適用可能となる。
【００６２】
また、学習画像を撮像したカメラが撮像装置１１と異なる場合には、学習モデル群保持部１３０が保持する学習モデルごとに学習画像を撮像したカメラのカメラパラメータも併せて保持しておいてもよい。この場合、撮像装置１１のカメラパラメータと学習画像を撮像したカメラのカメラパラメータとに基づいて、非特許文献１のように幾何情報推定部１４０が学習モデルを用いて推定した幾何情報のスケールが撮像装置１１に一致するように、幾何情報を補正する。
【００６３】
本実施形態においては、画像を撮像する撮像装置がＲＧＢカメラである構成について説明した。ただし、ＲＧＢカメラに限るものではなく、現実空間の画像を撮像するカメラであれば何でもよく、たとえば濃淡画像を撮像するカメラでもあってもよいし、奥行き情報や距離画像、三次元点群データを撮像できるカメラであってもよい。また、単眼カメラであってもよいし、二台以上の複数のカメラやセンサを備えるカメラであってもよい。
【００６４】
（実施形態２）
実施形態１では、入力画像と学習モデルの学習に利用した学習画像との類似度を評価値として算出していた。これに対して、実施形態２では、入力画像から検出した物体の種類と、あらかじめ学習画像から検出しておいた物体の種類とを比較することで学習モデルの評価値を算出する例を説明する。
【００６５】
＜情報処理装置の構成＞
実施形態２における情報処理装置の構成は、実施形態１で説明した情報処理装置１の構成を示す図１と同一であるため省略する。学習モデル群保持部１３０が保持する情報が実施形態１と異なる。本実施形態において、学習モデル群保持部１３０は、少なくとも２つの学習モデルを保持する。さらに、学習モデルごとにそのモデルの学習のために用いた学習画像からあらかじめ検出した物体情報を記載した物体情報リストを持つものとする。本実施形態では、各学習モデルに対して物体情報リストが１つずつ関連付けられており、物体情報リストには例えば「机」や「テーブル」、「ベッド」、「椅子」といった物体情報（本実施形態では物体の種類）が保持されているものとする。
【００６６】
＜処理＞
実施形態２における処理全体の手順は、実施形態１で説明した情報処理装置１の処理手順を示す図４と同一であるため、説明を省略する。また、図４における学習モデルのステップＳ１４０の詳細は、図５と同一であるため説明を省略する。実施形態１と異なるのは、図５のステップＳ１１２０における学習モデル選択部が学習モデルの評価値を算出する評価値算出処理である。本実施形態では図６に代えて図７の処理を行う。
【００６７】
以下、図７を参照しながら、本実施形態に係る学習モデルの評価値算出処理について説明する。なお、図７のステップＳ１３４０は、図６のステップＳ１２３０と同一なので説明を省略する。
【００６８】
ステップＳ１３１０では、学習モデル選択部１２０が、入力画像から物体検出を行い、検出した物体情報を検出物体種リストに保持する。物体検出には、物体の有無を判定する物体検出学習モデルを用いる。この物体検出学習モデルは、入力した画像に対象となる物体が含まれていれば１を、含まれていなければ０を出力するようにＤｅｅｐ  Ｌｅａｒｎｉｎｇを用いて学習されたニューラルネットワークである。物体検出学習モデルを利用して入力画像から物体を検出し、対象となる物体種が含まれていれば検出物体種リストに当該物体情報を記録する。
【００６９】
ステップＳ１３２０では、学習モデル選択部１２０が、評価値を算出していない学習モデルに紐づく物体情報リストを学習モデル群保持部１３０からＲＡＭであるＨ１３にロードする。
【００７０】
ステップＳ１３３０では、学習モデル選択部１２０が、ステップＳ１３１０で検出した検出物体種リストとステップＳ１３２０でロードした物体情報リストとを比較して、物体の種類が一致している物体情報を探索する。一致している物体種が見つかった場合には、その物体が検出されていた学習モデルに投票する。具体的には、各学習モデルに整数を保持するメモリが割り当てられており、一致する物体情報があれば当該メモリ値を＋１増加させる。なお、このメモリは図４の初期化ステップＳ１１０で０に初期化されているものとする。なお、本実施形態における評価値とは、投票数である。
【００７１】
＜効果＞
以上に述べたように、実施形態２では、学習モデルの学習に使用した学習画像から検出された物体情報と、入力画像から検出された物体情報とを比較し、同じ種類の物体が写っているほど高い評価値を学習モデルに付与する。そして、評価値の大きな学習モデルを用いて推定した幾何情報を用いて撮像装置の位置姿勢を算出する。これにより、入力画像と学習画像に同じ種類の物体が写っている学習モデルを選択することができ、学習モデルが高い精度で幾何情報を推定することができ、高い精度で撮像装置の位置姿勢を取得することができる。
【００７２】
＜変形例＞
実施形態２では、学習画像と入力画像からの物体検出には、あらかじめ機械学習により学習した物体検出学習モデルを用いた。しかしながら、物体検出は物体種の有無を判定できるものであれば何でもよい。例えば、物体種ごとに局所特徴をあらかじめ算出しておき、入力画像から検出した局所特徴とマッチングした局所特徴数が所定の閾値以上であれば検出したと判定してもよい。また、あらかじめ物体の画像を切り出したテンプレート画像を保持しておき、学習画像と入力画像それぞれからテンプレートマッチングにより物体検出を行ってもよい。
【００７３】
実施形態２の物体検出処理では、物体種を検出したか否かの二値の判定結果を用いて学習モデルに評価値をつけていた。しかしながら、評価値は入力画像と学習画像に同じ種類の物体が写っていれば高くなるようなものであればよい。例えば、存在確率である０から１の連続値を出力するように学習した物体検出学習モデルを用い、これらの値に基づいて学習モデルに評価値をつけてもよい。具体的には、ステップＳ１３３０において、各学習モデルに実数を保持するメモリを割り当てておき、学習画像から検出した物体種の存在確率と入力画像から検出した物体種の存在確率との積を当該メモリ値に加算した値を評価値としてもよい。
【００７４】
（実施形態３）
実施形態１では、入力画像と学習モデルの学習に利用した学習画像との類似度を評価値として算出していた。実施形態２では、入力画像から検出した物体種と、あらかじめ学習画像から検出しておいた物体種とを比較することで学習モデルの評価値を算出していた。これに対して、実施形態３では、入力画像や学習モデルを学習した学習画像を撮影した位置情報を用いて学習モデルの評価値を算出する例を説明する。
【００７５】
＜情報処理装置の構成＞
図１０に示されるように、実施形態３における情報処理装置２は、実施形態１で説明した情報処理装置１の構成を示す図１の構成に加えて、位置情報取得部１０００を更に備える。位置情報取得部１０００は、不図示の位置情報取得センサからＧＰＳ信号やＷｉＦｉ信号などのセンサ情報を受信し、位置情報として例えば座標値やアクセスポイントの識別ＩＤを算出する。位置情報取得部１０００は、取得した位置情報を学習モデル選択部１２０に出力する。また、学習モデル群保持部１３０が保持する情報が実施形態１とは異なっている。本実施形態において、学習モデル群保持部１３０は、少なくとも２つの学習モデルと、各モデルの学習のために用いた学習画像を撮像した位置情報を記載した位置情報リストを持つものとする。
【００７６】
＜処理＞
実施形態３における処理手順は、実施形態１で説明した情報処理装置１の処理手順を示す図４と同一であるため説明を省略する。また、図４におけるステップＳ１４０の詳細は、図５と同一であるため説明を省略する。実施形態１と異なるのは、図５のステップＳ１１２０における学習モデル選択部が学習モデルの評価値を算出する評価値算出処理である。本実施形態では図６に代えて図８の処理を行う。
【００７７】
以下、図８を参照しながら、本実施形態に係る学習モデルの評価値算出処理について説明する。なお、図８のステップＳ１３４０は、図６のステップＳ１２３０と同一なので説明を省略する。
【００７８】
ステップＳ１４１０では、位置情報取得部１０００が、学習モデル群保持部１３０が保持する学習画像撮像時に位置情報取得センサから取得したＧＰＳ信号やＷｉＦｉ信号等のセンサ情報から、緯度経度やアクセスポイントの識別ＩＤなどの位置情報を取得する。
【００７９】
ステップＳ１４２０では、学習モデル選択部１２０が、評価値を算出していない学習モデルと関連付けられた位置情報リストを、学習モデル群保持部１３０からＲＡＭであるＨ１３にロードする。
【００８０】
ステップＳ１４３０では、学習モデル選択部１２０が、ステップＳ１４１０で取得した位置情報とステップＳ１４２０でロードした物体情報リストとを比較して、一致している位置情報を探索する。具体的には、位置情報としてＷｉＦｉのアクセスポイントの識別ＩＤを用いるのであれば、一致しているアクセスポイントの識別ＩＤが見つかった場合にはその位置情報が観測された学習モデルに投票する。
【００８１】
また、ＧＰＳから得た緯度経度を位置情報として用いるのであれば、ステップＳ１４１０で取得した位置情報が保持されている位置情報リストと学習モデル群保持部が保持する位置情報との距離が所定の閾値以内であるか判定する。そして、位置情報から求めた座標の国や地域が同一であれば一致している位置情報と判定し、学習モデルに投票する。各学習モデルには整数を保持するメモリが割り当てられており、一致する位置情報があれば当該メモリ値を＋１増加させることとする。このメモリは図４の初期化ステップＳ１１０で０に初期化されているものとする。なお、本実施形態における評価値とは、投票数である。
【００８２】
＜効果＞
以上に述べたように、実施形態３では、入力画像や学習モデルを学習した学習画像を撮影した位置情報が一致しているほど高い評価値を学習モデルに付与する。これにより、入力画像と学習画像とを撮影した位置情報が一致している学習モデルを選択することができるため、学習モデルが高い精度で幾何情報を推定することができ、高い精度で撮像装置の位置姿勢を算出することができる。
【００８３】
＜変形例＞
実施形態３では、位置情報としてＧＰＳから求めた緯度経度や、ＷｉＦｉアクセスポイントの識別ＩＤを例として挙げた。しかしながら、位置情報は入力画像と学習画像を撮影した位置を識別できるものであれば何でもよい。例えば、緯度経度から求めた国名、地域名、住所であってもよいし、後述するＷｉＦｉアクセスポイント以外の識別ＩＤであってもよい。
【００８４】
位置情報の計測方式としては、緯度経度はＧＰＳ信号、アクセスポイントの識別ＩＤはＷｉＦｉ信号から求める例を挙げた。しかしながら、位置情報が計測できるものであればなんでもよい。例えば、入力画像中に地名が写っていれば、地名から位置情報を算出してもよい。光学式センサを用いて赤外線ビーコンの識別ＩＤを検知して位置情報として用いてもよく、マイクを使って超音波ビーコンの識別ＩＤを検知して用いてもよい。ＢＬＥ（Ｂｌｕｅｔｏｏｔｈ（登録商標）  Ｌｏｗ  Ｅｎａｇｙ）による無線ビーコンの識別ＩＤを検出して用いてもよい。また、３Ｇや４Ｇのモバイルネットワークの基地局ＩＤを計測して位置情報として用いてもよい。さらに、例示した位置情報のうち一種類のみ使用してもよいし複数使用してもよい。
【００８５】
（実施形態４）
実施形態１では、入力画像と学習モデルの学習に利用した学習画像との類似度を評価値として算出していた。実施形態２では、入力画像から検出した物体種と、あらかじめ学習画像から検出しておいた物体種とを比較することで学習モデルの評価値を算出していた。実施形態３では、入力画像や学習モデルを学習した学習画像を撮影した位置情報を用いて学習モデルの評価値を算出していた。ただし、これまで述べてきた方法では、入力画像に写っているシーンが昼なのに反して夜に撮影した学習画像を用いて学習した学習モデルや、春なのに反して冬の雪が降っているシーンの学習画像を用いて学習した学習モデル、雨なのに反して晴れの日の学習画像で学習した学習モデルというように、同一の撮影地点でも見えが違う状況の学習画像で学習した学習モデルが選択されうる。しかしながら、見えの違う状況の学習画像で学習した学習モデルを用いてしまうと、学習モデルが推定する幾何情報の精度が低下することにより、位置姿勢を高精度に取得することが困難になる。そこで、実施形態４では、入力画像や学習モデルを学習した学習画像を撮影した日時や季節、天気といった画像の見えを変えうる状況を表す状況情報が一致するほど、学習モデルに高い評価値を算出する。
【００８６】
＜情報処理装置の構成＞
実施形態４における情報処理装置の構成は、実施形態１で説明した情報処理装置１の構成を示す図１と同一であるため省略する。学習モデル群保持部１３０が保持する情報が実施形態１と異なる。本実施形態において、学習モデル群保持部１３０は、少なくとも２つの学習モデルを保持する。さらに、学習モデルごとにそのモデルの学習のために用いた学習画像を撮像した際の画像の見えを変えうる状況を記述した状況情報を保持する。なお、本実施形態においては状況情報の具体例として、日時情報を状況情報として用いる場合を説明する。各学習モデルに対して状況情報リストが１つずつ関連付けられており、状況情報リストには状況情報として学習画像を撮影したが状況情報が保持されているものとする。また、情報処理装置は撮影時刻を取得することのできる内部時計を保有しているものとする。
【００８７】
＜処理＞
実施形態４における処理全体の手順は、実施形態１で説明した情報処理装置１の処理手順を示す図４と同一であるため、説明を省略する。また、図４における学習モデルのステップＳ１４０の詳細は、図５と同一であるため説明を省略する。実施形態１と異なるのは、図５のステップＳ１１２０における学習モデル選択部が学習モデルの評価値を算出する評価値算出処理である。
【００８８】
評価値算出処理においては、内部時計から取得した日時情報と学習モデル群保持部が保持する状況情報である日時情報の一致度合が高いほど、学習モデルに高い評価値をつける。具体的には、状況情報リストに保持された撮影時刻と入力画像の撮影時刻との時間の差が所定の時間内であり、かつ撮影した月／日が所定の日数以内であれば一致する時刻・季節に撮影された学習モデルであるとする。各学習モデルには状況情報の一致／不一致を表す二値（１：Ｔｒｕｅ／０Ｆａｌｓｅ）を保持することのできるメモリが割り当てられており、一致する時刻・季節に撮影された学習モデルと判定された場合に当該メモリを１（Ｔｒｕｅ）とする。なお、図４の初期化ステップＳ１１０で０（Ｆａｌｓｅ）として初期化されているものとする。
【００８９】
＜効果＞
以上に述べたように、実施形態４では入力画像や学習モデルを学習した学習画像の見えを変えうる状況情報が一致しているほど高い評価値を学習モデルに付与する。これにより、入力画像と学習画像の撮影状況が一致している学習モデルを選択することができるため、学習モデルが高い精度で幾何情報を推定することができ、高い精度で撮像装置の位置姿勢を算出することができる。
【００９０】
＜変形例＞
実施形態４では、状況情報として情報処理装置が保有する電子時計から取得した日時情報を用いていた。しかしながら、現在の時刻を取得できれば日時情報の取得方法は何でもよく、Ｉ／Ｆ（Ｈ１７）を介してネットワーク経由で外部サーバから取得してもよいし、キーボード等の入力手段を用いてユーザが入力してもよい。
【００９１】
実施形態４では、状況情報として日時情報を用いていた。しかしながら、状況情報は日時情報に限らず、撮像した画像の見えを変える状況を表す情報なら何でもよい。例えば、日時情報をそのまま使うのではなく、日時情報から例えば朝／昼／夕方／夜／薄明というように分類した時間のカテゴリを状況情報として用いてもよい。このとき、状況情報保持リストには学習画像を撮像した時間のカテゴリ情報が保持されており、これらが一致する学習モデルほど高い評価値を算出してもよい。また、春／夏／秋／冬といった季節情報を状況情報として用いてもよく、この時には、状況情報保持リストに学習画像を撮像した季節情報が保持されており、これらが一致する学習モデルほど高い評価値を算出してもよい。また、天気を配信するＷｅｂサイトからＩ／Ｆ（Ｈ１７）を介してネットワーク経由で取得した晴れ／曇り／雨／雪といった天気情報を状況情報として用いてもよい。このとき、状況情報保持リストには学習画像を撮像した天気情報が保持されており、これらが一致する学習モデルほど高い評価値を算出してもよい。
【００９２】
（実施形態５）
実施形態１では、入力画像と学習モデルの学習に用いた学習画像との類似度を評価値として算出していた。実施形態２では、入力画像から検出した物体種と、あらかじめ学習画像から検出しておいた物体種とを比較することで学習モデルの評価値を算出していた。実施形態３では、入力画像や学習モデルを学習した学習画像を撮影した位置情報を用いて学習モデルの評価値を算出していた。実施形態４では、撮像した画像の見えを変えうる状況情報の一致度から学習モデルの評価値を算出した。これ対して、実施形態５では、実施形態１から実施形態４を組み合わせた方式で学習モデルの評価値を算出する例を説明する。 
＜情報処理装置の構成＞
実施形態５における情報処理装置の構成は、実施形態１で説明した情報処理装置１の構成を示す図１と同一であるため説明を省略する。学習モデル群保持部１３０が保持する情報が実施形態１と異なっている。本実施形態において、学習モデル群保持部１３０は、少なくとも２つの学習モデルを持ち、さらにモデルごとに、実施形態１で説明したようにそのモデルの学習のために用いた学習画像を１枚以上保持する。また、実施形態２で説明したようにそのモデルの学習画像からあらかじめ検出した物体情報を記載した物体情報リストを保持する。実施形態３で説明したようにそのモデルの学習画像を撮像した位置情報を記載した位置情報リストを保持する。さらに、実施形態４で説明したようにそのモデルの学習画像を撮像した際の状況情報を記載した状況情報リストを保持する。
【００９３】
＜処理＞
実施形態５における処理手順は、実施形態１で説明した情報処理装置１の処理手順を示す図４と同一であるため説明を省略する。実施形態１と異なるのは、ステップＳ１４０における学習モデル選択部１２０が学習モデルを選択する手順である。
【００９４】
ステップＳ１４０では、学習モデル群保持部１３０が保持する物体情報リストを用いて、学習モデル選択部１２０がそれぞれの学習モデルの評価値を算出する。この時、実施形態１のステップＳ１２２０で説明した評価値を評価値１として算出する。次に、実施形態２、および実施形態３、実施形態４で説明した各学習モデルの投票数のうち、最大投票数で各投票数を割って正規化した０〜１の連続値を評価値２、および評価値３として算出する。
【００９５】
図５のステップＳ１１３０では、学習モデル選択部１２０が、ステップＳ１２２０、ステップＳ１３３０、およびステップＳ１４０で算出した評価値１から評価値４に基づいて使用する学習モデルを選択する。本実施形態では、評価値１から４の和が最大となる学習モデルを選択することとし、学習モデル選択部１２０が、記録部（例えばＲＡＭ：Ｈ１３）に当該学習モデルを読み込むことで、幾何情報推定部１４０が幾何情報を推定可能な状態にする。
【００９６】
＜効果＞
以上に述べたように、実施形態５では、入力画像と学習画像との類似度、入力画像と学習画像から検出した物体種の一致度、入力画像や学習画像を撮影した位置情報の一致度が高いほど高い評価値になるように学習モデルの評価値を算出する。入力画像と学習画像とが類似しており、かつ入力画像と学習画像とに同一種類の物体が撮像されており、かつ撮影した位置が一致し、かつ撮影時刻や季節、天気が一致する学習モデルを選択することで、高い精度で幾何情報を推定することができる。従って、高い精度で撮像装置の位置姿勢を算取得することができる。
【００９７】
＜変形例＞
実施形態５においては、入力画像と学習画像の類似度、入力画像と学習画像から検出した物体種の一致度、入力画像や学習画像を撮影した位置情報の一致度、撮像した画像の見えを変えうる状況情報の一致度から学習モデルの評価値を算出した。しかしながら、上記４つのうち２つを使用する構成であってもよい。また、ステップＳ１１３０における学習モデルの決定においては、例えば、評価値１から評価値３の所定の重み付き平均が最大となる学習モデルを選んでもよい。あるいは、各評価値が所定の閾値以上の中から最大の学習モデルを選んでもよいし、各評価値すべての中で最大の評価値をもつ学習モデルを選んでもよい。
【００９８】
また、各評価値に基づいて、徐々に学習モデルを絞り込んでもよい。例えば、初めに位置情報と状況情報により絞り込んでおいてから、類似する画像や物体種が写る学習画像で学習した学習モデルを選択する。具体的には、評価値３および評価値４が所定の閾値以上の学習モデルを選び出し、さらにその中から評価値１と評価値２との和が最大となるような学習モデルを選ぶ。これにより、計算量が多い類似画像探索や物体検出処理を減らすことができる。
【００９９】
また、本発明における情報処理装置を、自動車に搭載した場合には、自動運転における電動モータなどの移動機構の制御に用いてもよいし、人の運転時の加減速やハンドリング操作のアシストに用いてもよく、ナビゲーションシステムとして用いてもよい。また、自動車に搭載するのに限るのではなく、クラウド上に本情報処理装置を実装し、ネットワーク経由で処理した結果を自動車の制御や運転アシスト、ナビゲーション等に用いてもよい。
【０１００】
自動車向けに本発明における情報処理装置を用いる場合には、学習モデル選択部１２０は自動車に搭載されたカーナビゲーションシステムや各種センサ、各種制御装置から通信Ｉ／Ｆ（Ｈ１７）を介して取得した走行情報を用いて学習モデルを選択することもできる。なお、このような構成とした場合には、自動車から得られる走行情報を用いて学習モデルを選択する方法であれば何でもよい。具体的には、走行情報としてカーナビゲーションシステムの地図情報に付随したシーンのカテゴリ（市街地や山間地域、海辺地域、トンネル内、高速道路）を取得し、実施形態１で説明したようにシーンのカテゴリ情報をもとに学習モデルを選択してもよい。別の選択方法としては、走行情報として、自動車に搭載されたカメラから道路上の人や自動車、信号機、標識やそれらの数・密度、道路の状況（車線数、路面：アスファルトや土）を取得し、それらを物体情報として、実施形態２で説明したように学習モデルを選択してもよい。他には、走行情報として、カーナビゲーションシステムが算出した自動車が走行している住所情報や、自動車に搭載したカメラが撮影した交通看板から認識した地名情報、ＧＰＳやＷｉＦｉ、各種ビーコンから得たセンサ情報を取得し、これらから得た位置情報をもとに実施形態３で説明したように学習モデルを選択してもよい。さらには、カーナビゲーションシステムから得られる時刻情報、ライトの点灯の有無（昼／夜の判別に利用できる）やワイパーの動作の有無（晴れ／雨の判別に利用できる）を実施形態４で説明したよう状況情報として用いて学習モデルを選択してもよい。また、車種や自動車へのカメラの取り付け位置や取り付け向きを状況情報として用いて、同一車種、同一の位置や姿勢で取り付けられたカメラで撮影した学習モデルほど高くなるように評価値となるように算出してもよい。なお、ここでは実施形態１から４で述べた方法を自動車に適応した事例を複数例示したが、これらはどれか一つのみ利用しても、複数を組み合わせて用いてもよい。また、自車の走行情報をもとに学習モデルを選択する方法を例示したが、学習モデルの選択に用いることができる走行情報であれば何でもよく、周囲の自動車が取得した走行情報や、信号機や道路標識、道路横に設置した設置型カメラや各種センサから取得した走行情報をもとに学習モデルを選択してもよい。
【０１０１】
（実施形態６）
実施形態１から実施形態５では、入力画像と学習画像との類似度や、それらの画像から検出した物体や画像撮像時の位置情報、撮像した画像の見えを変えうる状況情報に基づいて、学習モデルを選択していた。これに対して、実施形態６では、入力画像からモーションステレオにより推定した幾何情報（第二の幾何情報）と、学習モデル群保持部が保持する各学習モデルを用いて推定した幾何情報（第三の幾何情報）とを比較することで学習モデルの評価値を算出する。なお、学習モデル選択部が選択した学習モデルが出力した幾何情報が第一の幾何情報である。
【０１０２】
すなわち、第一の幾何情報とは、選択済みの学習モデルが出力する幾何情報であって位置姿勢の取得に利用する幾何情報である。第二の幾何情報とは、モーションステレオ等で求めた幾何情報であって学習モデルの選択に利用する幾何情報である。第三の幾何情報とは、学習モデル群が出力した幾何情報であって学習モデルの選択に利用する幾何情報である。
【０１０３】
＜情報処理装置の構成＞
実施形態６における情報処理装置の構成は、実施形態１で説明した情報処理装置１の構成を示す図１と同一であるため説明を省略する。実施形態１と異なるのは、各構成の役割とそれらのデータの入出力関係である。
【０１０４】
幾何情報推定部１４０は、学習モデル選択部１２０が選択した学習モデルに画像入力部１１０が入力した入力画像を入力し、第一の幾何情報を推定する。また、幾何情報推定部１４０は、画像入力部１１０が入力した複数の画像に基づいて、第二の幾何情報を算出する。第二の幾何情報の算出法方法については後述する。さらに、幾何情報推定部１４０は、学習モデル群保持部１３０が保持する各学習モデルに入力画像を入力し、第三の幾何情報を推定する。そして、第二の幾何情報および第三の幾何情報を学習モデル選択部１２０に出力する。また、第一の幾何情報を位置姿勢取得部１５０に出力する。
【０１０５】
学習モデル選択部１２０は、画像入力部１１０が入力した入力画像と、幾何情報推定部１４０により推定された第二の幾何情報及び第三の幾何情報とに基づいて、学習モデル群保持部１３０が保持するそれぞれの学習モデルの評価値を算出する。評価値に基づいて学習モデルを選択し、幾何情報推定部１４０に出力する。学習モデル群保持部１３０は、少なくとも２つの学習モデルを保持する。
【０１０６】
＜処理＞
実施形態６における情報処理装置の処理手順は、実施形態１で説明した情報処理装置１の処理手順を説明した図４、およびステップＳ１４０における学習モデルの選択処理の詳細を説明した図５と同一であるため省略する。実施形態１と異なるのは、幾何情報推定部１４０が、さらに第二の幾何情報、第三の幾何情報を算出する点と、学習モデルの評価手順である。
【０１０７】
ステップＳ１５０では、幾何情報推定部１４０が、各学習モデルを用いて第三の幾何情報である第三のデプスマップを推定する。さらに、入力画像に基づいて第二の幾何情報を算出する。本実施形態における第二の幾何情報とは、第一の時刻ｔに撮像装置１１が撮像した第一の入力画像と、撮像装置１１を既定の移動量（例えばカメラ座標系でＸ軸方向に１０ｃｍ）動かした後の第二の時刻ｔ＋１に撮像装置１１が撮像した第二の入力画像とに基づいて、モーションステレオ法により算出した第二のデプスマップのことである。なお、前述の既定の移動量をベースライン長として奥行きのスケールを規定する。
【０１０８】
そして、学習モデル選択部１２０が、学習モデル群保持部１３０が保持する各学習モデルの評価値を算出する。学習モデル選択部１２０は、第三のデプスマップと第二のデプスマップとの各画素の奥行きの差を、画像中の全ての画素に対して加算した値の逆数を評価値として算出する。そして、学習モデル選択部１２０は、評価値が最大となる学習モデルを選択する。
【０１０９】
＜効果＞
実施形態６では、幾何情報推定部１４０が学習モデルを用いて推定した第三の幾何情報と、入力画像からモーションステレオにより推定した第二の幾何情報とを比較することで学習モデルの評価値を算出する。これにより、モーションステレオにより推定した第二の幾何情報と類似する幾何情報を出力することができる学習モデルを選択することができ、高い精度で撮像装置の位置姿勢を取得することができる。
【０１１０】
また、学習モデルが複数のシーンの学習画像を用いて学習されているといった場合や、学習モデルを特徴づける情報が保持されていない場合においても、高い精度で幾何情報を出力できる学習モデルを選択することができる。このため、高い精度で撮像装置の位置姿勢を取得することができる。
【０１１１】
＜変形例＞
実施形態６においては、画像を撮像する撮像装置１１は、ＲＧＢカメラを用いてモーションステレオ法により第二の幾何情報を算出していた。しかしながら、撮像装置１１が、奥行き情報や距離画像、三次元点群データを撮像できるカメラである場合には、それらから得られる奥行き情報を第二の幾何情報として用いてもよい。また、二台以上の複数のカメラやセンサを備えるカメラを用いる場合には、複数のカメラの画像をステレオマッチングして算出した奥行きを第二の幾何情報としてもよい。さらには、情報処理装置がＬｉＤＡＲやミリ波レーダなど奥行き情報を得ることができるセンサを更に搭載していれば、それらから得た奥行き情報を第二の幾何情報としてもよい。
【０１１２】
実施形態６では、カメラを規定量だけ移動させることでベースライン長を決定していた。しかしながら、情報処理装置１がＩＭＵといった慣性計測装置などのカメラの移動量を推定できる移動量測定センサを備えていれば、センサで取得したセンサ情報（移動量）をベースライン長として用いてスケールを規定してもよい。ＩＭＵとは、ｉｎｅｒｔｉａｌｍｅａｓｕｒｅｍｅｎｔ  ｕｎｉｔの略である。
【０１１３】
また、モーションステレオに利用した二枚の画像のベースライン長が未知のまま、学習モデル選択部１２０が、学習モデル群保持部１３０が保持する各学習モデルに評価値を付与してもよい。
【０１１４】
具体的には、まず学習モデル選択部１２０が、ベースライン長が未知のままモーションステレオにより求めたデプスマップを、例えば平均値、中央値、最大値、最小値などで正規化した第二のデプスマップを算出する。次に、学習モデル選択部１２０が、学習モデル群保持部１３０が保持する学習モデルに入力画像を入力し、得られたデプスマップの平均値、中央値、最大値または最小値などで正規化した第三のデプスマップを算出する。そして、第三のデプスマップと第二のデプスマップの奥行きの差の、画像全体の和の逆数を評価値として、評価値が最大となる学習モデルを選択する。
【０１１５】
これにより、モーションステレオのベースラインが未知であっても、第三のデプスマップと第二のデプスマップの概略構造が一致する学習モデルを選択することができ、高い精度で位置姿勢を取得することができる。
【０１１６】
実施形態６では、第三の幾何情報と第二の幾何情報とが一致する学習モデルを選択していた。しかしながら、第二の幾何情報を算出せずとも、少なくとも第三の幾何情報のみを用いて学習モデルを決定することもできる。例えば、各学習モデルが出力した第三の幾何情報に基づいて位置姿勢取得部１５０が位置姿勢を算出したときの残差に基づいて、学習モデル選択部１２０が各学習モデルに評価値をつけてもよい。具体的には、位置姿勢取得部１５０が、各学習モデルが推定した前デプスマップの各画素の奥行き値に基づいて前フレームの各画素を現フレームに射影したときの、射影前の前フレームの画素と、射影後の現フレームの画素との輝度の誤差を最小化するように位置姿勢を算出する。また、この時の輝度の誤差の残差を学習モデル選択部１２０に入力する。そして、学習モデル選択部１２０が、位置姿勢取得部１５０が入力した残差の逆数を評価値とし、評価値が最大となる学習モデルを選択する。また、位置姿勢取得部１５０が、繰り返し計算により徐々に誤差が小さくなるように位置姿勢を算出する場合には、誤差が収束するまでにかかった回数や時間を計測し、それらを学習モデル選択部１２０に入力してもよい。この時、学習モデル選択部１２０は、回数や時間の逆数を評価値としてもよく、評価値が最大となる学習モデルを選択してもよい。
【０１１７】
また、学習モデル群保持部１３０が保持するそれぞれの学習モデルが出力する第三のデプスマップを初期値として、時系列フィルタリングによりそれぞれ第二のデプスマップを算出する構成であってもよい。このときには、学習モデル選択部１２０が、時系列フィルタリングにおけるそれぞれの第二のデプスマップの奥行き値の変化量に基づいて学習モデルに評価値を付与する。具体的には、時系列フィルタリングによる各画素の奥行きの変化量の例えば平均値、中央値、最大値、最小値や和の逆数を各学習モデルの評価値として算出してもよく、この評価値が最大となる学習モデルを選択してもよい。また、時系列フィルタリングにおいて各画素の奥行きの分散値や信頼度（非特許文献１におけるＵｎｃｅｒｔａｉｎｔｙ  ｍａｐ）を求め、分散値の逆数や信頼度の例えば平均値、中央値、最大値、最小値や和が最大となる学習モデルを選択してもよい。
【０１１８】
実施形態６では、学習モデルが出力する幾何情報がデプスマップである場合について説明した。しかしながら、時刻の異なる二枚の入力画像を入力し、得られる出力の幾何情報が２枚の画像間の相対位置姿勢の６パラメータである学習モデルを用いてもよい。なお、学習モデルが出力した相対位置姿勢のことを第一の相対姿勢と呼ぶ。このような学習モデルを用いる場合には、学習モデル選択部１２０が、二枚の画像間で特徴点を検出およびマッチングし、二枚の画像で特徴量が一致した特徴点の対応関係に基づいて５点アルゴリズムを用いて第二の相対位姿勢を算出する。このとき、学習モデル選択部１２０が、第一の相対位置姿勢と第二の相対位置姿勢の６パラメータの二乗距離の逆数を評価値とし、評価値が最大となる学習モデルを選択する。
【０１１９】
実施形態６では、学習モデル選択部１２０が、モーションステレオにより算出した第二のデプスマップと、学習モデルが出力した第三のデプスマップとを比較して、学習モデルに評価値を付与していた。しかしながら、入力画像からサイズが既知の物体が検出できれば、物体のサイズと第三のデプスマップとが整合する学習モデルに高い評価値をつけてもよい。
【０１２０】
図１１に示されるように、本変形例における情報処理装置３は、実施形態１で説明した情報処理装置１の構成に加えて、物体モデル保持部１１１０と、物体検出部１１２０とをさらに備える。物体モデル保持部１１１０は、形状が既知の物体モデルを保持する。物体検出部１１２０は、入力画像から物体検出と物体モデルの位置合わせを行う。そして、物体検出部１１２０が物体を検出し、入力画像に物体モデルを位置合わせしたときに算出できる物体表面までの距離情報と、学習モデルが出力した当該領域のデプスマップ中の物体領域の奥行き値とを学習モデル選択部１２０が比較する。そして、その比較結果に基づいて学習モデルに評価値を付与する。なお、物体モデル保持部１１１０と学習モデル保持部１３０とを一体に構成してもよい。
【０１２１】
本変形例における物体モデルとは、例えば大きさや形状がおおよそ一定の一般物体である、例えば缶やペットボトル、人の手といった物体の三次元のＣＡＤデータのことである。具体的には、まず、物体検出部１１２０が入力画像から物体検出を行う。物体検出には、例えば、入力画像の微分である勾配画像とＣＡＤデータをさまざまな方向から観察したときのシルエットとの位置合わせを行うＬｉｎｅ２Ｄ法（非特許文献６）により、入力画像中に写っている物体にＣＡＤモデルを位置合わせする。なお、物体の位置合わせ方法は上記方法に限らない。次に、カメラの内部パラメータに基づいて、カメラからＣＡＤモデル表面までの距離値を算出する。最後に、学習モデル選択部１２０が、学習モデルに入力画像を入力し、得られた幾何情報であるデプスマップの物体領域の奥行き値と、ＣＡＤモデルから算出した当該領域の距離値との差を算出し、物体領域全域に渡って加算した逆数を評価値として算出する。学習モデル選択部１２０は、この評価値が最大となる学習モデルを選択する。なお、本変形例では形状の既知な一般物体を用いた場合について説明したが、一般物体ではなくとも大きさが既知な特定の模様を印刷した人工マーカや、大きさや形状が一意に定まる三次元物体を代わりに用いてもよい。
【０１２２】
これにより、入力画像に写っている大きさが既知の物体の大きさが正しく推定できる学習モデルを選択することができ、学習モデルが出力するデプスマップの精度が向上し、位置姿勢取得の精度を向上させることができる。
【０１２３】
（実施形態７）
実施形態１から実施形態６では、選択した学習モデルが入力画像に写るシーンに適しているかユーザが確認することができなかった。これに対して、実施形態７では、ユーザが確認できるように、学習モデルを特徴づける情報、学習モデルの出力に基づき仮想物体であるＣＧ画像を合成した合成画像、学習モデルの出力に基づき生成したシーンの三次元形状などを表示部に表示する例を説明する。
【０１２４】
＜情報処理装置の構成＞
実施形態７における情報処理装置の構成の一部は、実施形態１で説明した情報処理装置１の構成を示す図１と同じであるため説明を省略する。実施形態１と異なるのは、表示情報生成部１２と表示部１３とを情報処理装置１に組み込んだ点である。
【０１２５】
学習モデル群保持部１３０は、少なくとも２つの学習モデルと、学習モデルを特徴づける情報リストを保持する。学習モデルを特徴づける情報リストとは、実施形態１で説明した学習画像であってもよいし、実施形態２で説明した物体情報リストであってもよいし、実施形態３で説明した位置情報リストであってもよい。これらのリストすべてを保持しておいてもよいし、一部のみ保持しておいてもよい。本実施形態では、学習モデル群保持部１３０が、３種のリストすべてを、学習モデルを特徴づける情報リストとして保持するものとする。
【０１２６】
学習モデル選択部１２０は、学習モデル群保持部１３０が保持する学習モデルを特徴づける情報リストと、学習モデル群保持部１３０が保持するそれぞれの学習モデルに入力画像を入力して得た幾何情報とを表示情報生成部１２に出力する。
【０１２７】
表示情報生成部１２は、学習モデルを特徴づける情報リストを文字情報としてレンダリングした第１の合成画像を生成する。また、幾何情報推定部１４０により推定された幾何情報（第一の幾何情報又は第三の幾何情報）に基づいて仮想物体を合成した第２の合成画像を生成する。さらに、幾何情報推定部１４０により推定された幾何情報（第一の幾何情報又は第三の幾何情報）に基づいて作成した入力画像に写るシーンの三次元形状をレンダリングした第３の合成画像を生成する。これらの合成画像を表示情報として表示部１３に出力する。なお、これらのうち少なくとも１つを表示情報として生成してもよい。
【０１２８】
表示部１３は、例えばモバイル端末のディスプレイのウィンドウのことであり、表示情報生成部１２が入力した表示情報を提示する。
【０１２９】
図９は、本実施形態における表示部１３が提示する表示情報の一例であるＧＵＩ１００を示す図である。
【０１３０】
Ｇ１１０は学習モデルを特徴づける情報リストを提示するためのウィンドウであり、Ｇ１２０は仮想物体であるＣＧ画像を合成した合成画像を提示するためのウィンドウであり、Ｇ１３０は幾何情報や三次元形状を提示するためのウィンドウである。また、Ｇ１４０は入力画像や入力画像から検出した情報を提示するためのウィンドウである。また、Ｇ１４１０は、学習モデル選択部１２０が選択した学習モデルを示す枠である。
【０１３１】
Ｇ１１１０は、ウィンドウＧ１１０に、学習モデル群保持部１３０が保持する学習モデルのモデル名を提示した例である。また、Ｇ１１２０は、学習モデル群保持部１３０が保持する位置情報リストを提示した例である。Ｇ１１３０は、学習モデル群保持部１３０が保持する物体情報リストを提示した例である。Ｇ１１３１は、学習モデル群保持部１３０が保持する各学習モデルの学習のために用いた学習画像を提示した例である。また、Ｇ１１４０は、入力画像に写る物体種や、入力画像を撮像した位置情報をウィンドウＧ１４０に提示した例である。Ｇ１１５０は、入力画像をウィンドウＧ１４０に提示した例である。ユーザはウィンドウＧ１１０とＧ１４０とに提示された内容を比較することで、学習モデル選択部１２０が選択した学習モデルが適切であるかどうか確認することができる。
【０１３２】
Ｇ１２１０は、ウィンドウＧ１２０に、幾何情報推定部１４０により推定された幾何情報に基づいて入力画像に合成した仮想物体のＣＧ画像である。Ｇ１２２０は、入力画像に仮想物体Ｇ１２１０を合成した画像を提示した例である。また、Ｇ１２３０は、学習モデル選択部１２０が算出した各モデルの評価値を提示した例である。ここでは、ＣＧ画像として人のモデルを入力画像のベッドの上に重畳し、さらに第三の幾何情報から求めたベッドのサイズのＣＧ画像を重畳した例を示した。このとき、ユーザは入力画像とＣＧ画像とが整合しているかどうかを確認することができる。
【０１３３】
具体的には、ベッドとＣＧ画像とのスケールが一致しているか、ベッドの大きさが実物のスケールと一致しているか、ＣＧ画像がベッド面に対して正対しているかといった点から、学習モデル選択部１２０が選択した学習モデルが適切かどうか判断できる。
【０１３４】
Ｇ１３１０は、ウィンドウＧ１３０に幾何情報推定部１４０により推定された幾何情報に基づいて入力画像を撮像したシーンの三次元形状を復元した結果を提示した例である。ユーザは、提示された三次元形状が歪んでいないか、奥行きのスケールが実物と異なっていないかを確認することで、学習モデル選択部１２０が選択した学習モデルが適切であるかどうか判断できる。
【０１３５】
＜処理＞
実施形態７における全体処理の手順は実施形態１で説明した情報処理装置１の処理手順を説明した図４と同一であるため説明を省略する。実施形態１と異なる処理は、表示情報生成部１２が表示情報を生成する手順である。
【０１３６】
ステップＳ１７０では、表示情報生成部１２が、学習モデルを特徴づける情報リストを表示部１３のウィンドウＧ１１０の位置にレンダリングする。具体的には、学習モデル群保持部１３０が保持する学習モデルを学習した学習画像Ｇ１１３１や、位置情報リストＧ１１１０、物体情報リストＧ１１２０を所定の位置にレンダリングし、表示情報を生成する。また、幾何情報推定部１４０により推定された幾何情報に基づいて仮想物体のＣＧ画像を入力画像に合成する。
【０１３７】
具体的には、まず、幾何情報であるデプスマップからＲＡＮＳＡＣ法を併用した平面フィッティングを用いて主平面を求める。次に、主平面の法線方向を算出する。最後に、主平面上に仮想物体のＣＧ画像を所定の位置（例えばＧ１２０）にレンダリングし、表示情報を生成する。なお、Ｇ１２１０に示したようにデプスマップ上の任意の二点の距離をレンダリングしてもよい。さらに、幾何情報推定部１４０により推定された幾何情報に基づいて算出した、入力画像を撮像したシーンの三次元形状を復元した結果を所定の位置（例えばＧ１３０）にレンダリングし、表示情報を生成する。具体的には、入力画像の各画素を、デプスマップの各画素の奥行き値に基づいて任意の仮想カメラに射影した射影画像を生成し、表示情報に追加する。以上のようにして生成した表示情報を、表示部１３が、ディスプレイに提示する。
【０１３８】
＜効果＞
以上述べたように、実施形態７では、学習モデルを特徴づける情報、仮想物体のＣＧを合成した合成画像、学習モデルが出力した幾何情報や当該幾何情報に基づいて復元した三次元形状を提示する。これにより、各学習モデルを入力画像に写るシーンで利用したときの適合度や、正しい学習モデルを選択することができたかどうかということをユーザが確認することができる。さらに、不適切な学習モデルが選択された場合には、処理をやり直し、適切な学習モデルを選択し直すことができるようになり、高い精度で位置姿勢を取得することができるようになる。
【０１３９】
＜変形例＞
実施形態７では、学習モデルを特徴づける情報、仮想物体のＣＧを合成した合成画像、学習モデルが出力した幾何情報や幾何情報に基づいて復元した三次元形状をレンダリングした表示情報を提示する構成について説明した。しかしながら、３つの表示情報をすべて提示する必要はなく、少なくとも１つを提示する構成であってもよい。
【０１４０】
表示情報に基づいてマウスやキーボードなどの入力部を用いてユーザが入力した入力情報に基づいて、学習モデル選択部１２０が学習モデルを選択することもできる。図９のＧ１４２０はラジオボタンであり、Ｇ１４３０は入力ボタンである。ユーザはラジオボタンでチェックしたモデルを利用することを、入力ボタンを押下して情報処理装置に入力する。このような構成にすることで、学習モデルを特徴づける情報を参照してユーザが学習モデルを選択することができ、入力画像を撮像したシーンにおいて学習モデルが高い精度で幾何情報を算出することができる。従って、高い精度で位置姿勢を取得することができる。また、ユーザが、自動選択された学習モデルが不適切と判断した場合に、選択結果を修正することもできる。
【０１４１】
（実施形態８）
実施形態１から実施形態５では、最初に一度だけ学習モデルを選択していた。しかしながら、複合現実感を体験しているうちに、例えば利用者が移動することで入力画像に写るシーンが変化するような場合には対応が難しい。そこで、実施形態７では、一度学習モデルを選択した後も引き続き学習モデルについて再度評価値を算出し直す例を説明する。
【０１４２】
＜情報処理装置の構成＞
実施形態８における情報処理装置の構成は、実施形態１で説明した情報処理装置１の構成を示す図１と同じであるため説明を省略する。実施形態１と異なるのは、幾何情報推定部１４０が入力画像に基づいて第二の幾何情報を算出して学習モデル選択部１２０に出力する点と、学習モデル選択部１２０が学習モデルの評価値を算出し直す点である。
【０１４３】
幾何情報推定部１４０は、学習モデル群保持部１３０が保持する学習モデルと、画像入力部１１０が入力した入力画像とを用いてさらに第三の幾何情報を算出する。また、入力画像を用いてモーションステレオにより第二の幾何情報を算出し、学習モデル選択部１２０に出力する。
【０１４４】
学習モデル選択部１２０は、幾何情報推定部１４０が入力した、第三の幾何情報と第二の幾何情報とに基づいて、学習モデル群保持部１３０が保持するそれぞれの学習モデルの評価値を算出する。そして、評価結果を幾何情報推定部１４０に出力する。
【０１４５】
＜処理＞
実施形態８における全体処理の手順は実施形態１で説明した情報処理装置１の処理手順を説明した図４と同一であるため説明を省略する。実施形態１と異なる処理は、ステップＳ１４０において一度学習モデルを選択した後にも再度学習モデルの評価値を算出し、学習モデルを選択し直す点と、ステップＳ１５０において幾何情報推定部１４０が第二の幾何情報を算出する点である。
【０１４６】
本実施形態におけるステップＳ１４０の処理の詳細では、図５のステップＳ１１１０の処理が取り除かれる。すなわち、学習モデルが決定済みか否かに関わらず、学習モデル選択部１２０が学習モデルの評価値を算出する。
【０１４７】
図４におけるステップＳ１５０では、幾何情報推定部１４０が、学習モデルを用いて第三の幾何情報である第三のデプスマップを推定する。さらに、入力画像に基づいてモーションステレオを用いて第二の幾何情報を算出する。
【０１４８】
さらに、本実施形態に係るステップＳ１５０では、学習モデル選択部１２０が、幾何情報推定部１４０により求められた第三の幾何情報と第二の幾何情報とに基づいて学習モデルの評価値を再算出する。具体的には、学習モデル選択部１２０が、図５のステップＳ１１２０で学習モデルの評価値算出に用いた入力画像が撮像された時刻ｔ以降の任意の時刻ｔ'において幾何情報推定部１４０が推定（更新）した第三の幾何情報である第三のデプスマップと、同時刻ｔ'において幾何情報推定部１４０が推定（更新）した第二の幾何情報との奥行きの差の和の逆数を各学習モデルの評価値として再算出する。そして、学習モデル選択部１２０が、評価値が最大となる学習モデルを新たに選択する。
【０１４９】
＜効果＞
実施形態８では、一度学習モデルを選択した後にも、再度学習モデルの評価値を算出し、学習モデルを選択し直す。これにより、例えば複合現実感を体験している間に、利用者が移動して入力画像に写るシーンが変化した場合に、学習モデルを再度評価できる。再評価結果が高い学習モデルを選択することで、その時点の入力画像に写るシーンにおいて高い精度で学習モデルが幾何情報を算出でき、従って、高い精度で撮像装置の位置姿勢を取得することがきる。
【０１５０】
＜変形例＞
なお、学習モデルの評価値を再算出するタイミングは任意である。すなわち、一定の時間間隔ごとに再算出してもよいし、非特許文献１に記載のキーフレームの追加のタイミング毎に再算出してもよい。また、位置姿勢取得結果に基づいて、撮像装置１１が所定の移動量以上移動したときに再算出してもよい。また、一度選択した学習モデルの評価値が低下した場合や所定の閾値を下回った場合に、再算出してもよい。入力画像に写るシーンや物体種が変化した場合や位置情報が変化した場合（例えば新たなＷｉＦｉアクセスポイントが見つかった、ＧＰＳ位置情報が変化したといった場合）に、再算出してもよい。また、一定時刻経過した場合や、天気が変化した場合に再算出するようにしてもよい。
【０１５１】
実施形態８では、幾何情報推定部１４０がモーションステレオにより第二の幾何情報を算出していた。しかしながら、第二の幾何情報を時系列的に統合して、精度を向上させてから学習モデルの評価に用いてもよい。例えば、時刻ｔ'において幾何情報推定部１４０が推定した第三の幾何情報を初期値として、任意の時刻ｔ'＋ｉまでの入力画像から時系列フィルタリングにより第二の幾何情報を算出する（非特許文献１に記載）。また、複数の時刻ｔ'においてこのようにして算出した複数のデプスマップを統合して第二のデプスマップを算出する。ここでいう統合とは、非特許文献７に記載がある、デプスマップの生成に用いた入力画像を撮像した複数時刻ｔ'のカメラの位置姿勢をポーズグラフ最適化により算出し、得られたカメラ位置姿勢を用いてさらに複数の第二のデプスマップを平滑化することである。また、ポーズグラフ最適化時の残差を評価値として残差が最も小さい学習モデルを選択してもよし、ポーズグラフ最適化にかかる処理時間を評価値として処理時間が最も短かった学習モデルを選択してもよい。このようにすることで、最適化が進むとより評価値が正確に算出できるようになり、より適切な学習モデルが選択できるため、位置姿勢の取得精度が向上する。
【０１５２】
実施形態８では、学習モデル選択部１２０が、幾何情報推定部１４０が算出した第二の幾何情報である第二のデプスマップと、学習モデルが出力した第三のデプスマップとを比較して、各モデルについて評価値を算出し直していた。しかしながら、学習モデルの選択方法はこれに限らず、時刻ｔ'における入力画像を用いて実施形態１から実施形態７で説明した方法で各学習モデルの評価値を算出し直してもよい。
【０１５３】
実施形態８では、学習モデル選択部１２０が、幾何情報推定部１４０が算出した第二の幾何情報である第二のデプスマップと、学習モデルが出力した第三のデプスマップとを比較して、各モデルについて評価値を算出し直していた。しかしながら、複数時刻ｔ'における第三の幾何情報と第二の幾何情報との一致度に基づいて、一致度が高いほど高い評価値を付与し、当該評価値に基づいて学習モデルを選択してもよい。具体的には、学習モデル選択部１２０が、複数時刻ｔ'における第三のデプスマップと第二のデプスマップの奥行き値の差の和である第１の評価値を算出する。そして、それら第１の評価値の、例えば平均値、中央値、最大値、最小値や和の逆数を第２の評価値として算出し、第２の評価値が最大となる学習モデルを選択する。これにより、複数時刻の入力画像において高い精度で第三の幾何情報を算出することのできる学習モデルを選択できる。このため、たとえ最初に誤った学習モデルを選択したとしても、学習モデル選択部１２０が、高い精度で幾何情報を推定できる学習モデルを徐々に選択し直すことができ、高い精度で位置姿勢を取得することができる。
【０１５４】
評価値を算出し直すと、学習モデル選択部１２０が選択する学習モデルが変わることがある。このとき、幾何情報推定部１４０が幾何情報の推定に用いる学習モデルが変わるため、変更前後で学習モデルの出力が大きく変化する場合がある。これに対処するため、ステップＳ１５０において、幾何情報推定部１４０が所定の時間、二つの学習モデルが出力する幾何情報の重み付和を第三の幾何情報として算出してもよい。具体的には、モデルの切り替え期間を表す所定のフレーム数Ｎと、切り替え開始からの経過フレーム数αを用いて以下の式のようにしてデプスマップを補正する。
【０１５５】
【数５】
2019087229.tif 000007
【０１５６】
ただし、Ｄ１が変更前の学習モデルが出力したデプスマップ、Ｄ２が変更後の学習モデルが出力したデプスマップ、Ｄが補正したデプスマップである。
【０１５７】
（実施形態９）
実施形態１から８では、あらかじめ作成しておいた複数の学習モデルの中から、情報処理装置を適用するシーンにおいて精度よく幾何情報を推定することができる学習モデルを選択する方法について述べた。本実施形態では、第二の撮像装置９１であるデプスセンサが取得したＲＧＢ画像とデプスマップとに基づいて、情報処理装置が用いる学習モデルを生成する方法について説明する。特に、本実施形態では、第二の撮像装置９１が撮像したＲＧＢ画像からシーンの種別を認識し、種別ごとに学習モデルの作り分ける方法について述べる。なお、本実施形態においては、第二の撮像装置９１とはＴＯＦセンサのことであり、ＲＧＢ画像とデプスマップが取得できるものである。
【０１５８】
＜情報処理装置の構成＞
まず、図１２を参照しながら、実施形態９に係る情報処理装置４の構成を説明する。実施形態９における情報処理装置４の構成は、実施形態１で説明した情報処理装置１の構成を示す図１に加えて、第二の画像入力部９１０、学習用データ分類部９２０、学習データ保持部９３０、学習モデル生成部９４０が追加された点で実施形態１と異なる。第二の画像入力部９１０は、第二の撮像装置９１と接続されている。
【０１５９】
第二の画像入力部９１０は、第二の撮像装置９１が撮像するシーンの２次元画像の画像データ（以降、モデル学習用画像と呼ぶ）およびデプスマップ（以降、モデル学習用デプスマップと呼ぶ）を時系列（例えば毎秒６０フレーム）に入力し、学習用データ分類部９２０に出力する。なお、モデル学習用画像とモデル学習用デプスマップを合わせて学習用データと呼ぶ。
【０１６０】
学習用データ分類部９２０は、第二の画像入力部９１０が入力した学習用データに基づいてシーンの種別を認識し、種別ごとに学習用データを分類し、学習データ保持部９３０に出力する。なお、学習用データの分類方法については後述する。
【０１６１】
学習データ保持部９３０は、学習用データ分類部９２０が分類した学習用データを、シーンの種別ごとに分類して保持する。学習データ保持部９３０は例えばＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）である。シーンの種別ごとにフォルダが分けられており、学習用データ分類部９２０の分類結果に該当するフォルダに学習用データを保持する。なお、同時刻に取得したモデル学習用画像とモデル学習用デプスマップには共通ＩＤ（例えば連番や時刻）が割り振られており、対応づけられているものとする。
【０１６２】
学習モデル生成部９４０は、学習用データ分類部９２０の分類結果をもとに学習データ保持部９３０に格納された学習用データを用いて学習モデルを生成する。生成した学習モデルを学習モデル群保持部１３０に出力する。
【０１６３】
次に、図１３のフローチャートを参照して、本実施形態における処理手順について説明する。本実施形態においては、実施形態１で説明した処理手順に加え、モデル学習用画像・モデル学習用デプスマップ撮像ステップＳ９１０、モデル学習用画像・モデル学習用デプスマップ入力ステップＳ９２０、画像分類ステップＳ９３０、学習データ保持ステップＳ９４０、学習データ収集完了判定ステップＳ９５０、学習モデル生成ステップＳ９６０、学習モデル保持ステップＳ９７０が追加されている点で実施形態１と異なる。
【０１６４】
本実施形態では、まず実施形態１で説明した初期化ステップＳ１１０を実行し、システムを初期化する。次に、以降で述べるステップＳ９１０からＳ９７０までを実行し、学習モデルを生成する。そして、実施形態１で述べたステップＳ１２０以降の処理を実行し、撮像装置１１の位置姿勢を算出する。
【０１６５】
ステップＳ９１０では、第二の撮像装置９１がシーンの撮影を行い、ＲＧＢ画像およびデプスマップを第二の画像入力部９２０に出力する。次にステップＳ９２０に移行する。
【０１６６】
ステップＳ９２０では、第二の画像入力部９１０が、第二の撮像装置９１が撮像した画像およびデプスマップを、モデル学習用画像およびモデル学習用デプスマップとして取得する。次にステップＳ９３０に移行する。
【０１６７】
ステップＳ９３０では、学習用データ分類部９２０が、モデル学習用画像からシーンの種別を認識し、学習用データを分類する。本実施形態では、実施形態１の変形例で述べたシーン判別学習モデルを用いる。シーン判別学習モデルとは入力した画像が当該カテゴリであれば１を、そうでなければ０を出力するようにあらかじめ学習しておいたＤｅｅｐ  Ｌｅａｒｎｉｎｇを用いて学習されたニューラルネットワークのことである。つまり、モデル学習用画像をシーン判別学習モデルに入力し、得られたカテゴリを、学習用データの分類結果として判定する。次にステップＳ９４０に移行する。
【０１６８】
ステップＳ９４０では、ステップＳ９２０における学習用データの分類結果を基に、学習用データ分類部９２０が学習用データを学習データ保持部９３０に保持する。具体的には、分類結果に該当するフォルダにモデル学習用画像・モデル学習用デプスマップを格納する。次にステップＳ９５０に移行する。
【０１６９】
ステップＳ９５０では  学習用データの収集が完了したかどうかを判定する。ここでは、不図示の入力装置を用いてユーザが終了のコマンドを入力した際にデータの収集を完了と判定する。データ収集が完了と判定した場合にはステップＳ９６０に進む。そうでなければステップＳ９１０に進みデータ収集を続ける。
【０１７０】
ステップＳ９６０では、学習モデル生成部９４０が、学習データ保持部９３０が保持する学習用データを用いて、学習用データ分類部９２０が分類したカテゴリごとの学習モデルを生成する。つまり、学習データ保持部９３０のフォルダごとに学習モデルを生成する。具体的には、学習用画像を該当フォルダから乱数により選択し、これを入力として学習モデルが出力した幾何情報と、選択した学習用画像に対応する学習用デプスマップとの誤差が最小化するように学習モデルを学習することを繰り返す。なお、学習モデルの生成方法は非特許文献１に詳述されており、これを援用できる。
【０１７１】
学習用データ分類部９２０が分類したカテゴリごとに生成した学習モデルを、学習モデル生成部９４０が、学習モデル群保持部１３０に保持する。このとき、合わせて学習用画像を学習モデル群保持部１３０にコピーし保持しておく。
【０１７２】
＜効果＞
以上に述べたように、実施形態９では、モデル学習用画像のシーンの判別結果を基にモデル学習用画像とモデル学習用デプスマップとを分類し、それぞれのシーンの種別ごとに学習モデルを生成する。このように、シーンの種別ごとに学習モデルを生成しておき、実施形態１で説明した位置姿勢算出時には撮像画像のシーンの種別が一致する学習モデルを用いることで、高い精度で撮像装置の位置姿勢を算出することができる。
【０１７３】
＜変形例＞
実施形態９では、モデル学習用画像に写るシーン判別のために、シーン判別学習モデルを用いていた。しかしながら、モデル学習用画像に写るシーンの種別を判別するものであれば何でもよい。つまり、実施形態１で述べたように、あらかじめシーンの種別ごとにＧＬＣ特徴の特徴空間の識別境界をＳＶＮによって算出しておき、モデル学習用画像から検出したＧＬＣ特徴がどのカテゴリに位置するか判別した結果を基にシーンの種別を判別してもよい。あらかじめシーンの種別ごとにカラーヒストグラムを作成しておき、モデル学習用画像のカラーヒストグラムが最も一致するシーンの種別に分類してもよい。
【０１７４】
実施形態９では、モデル学習用画像に写るシーンを基に学習用データを分類し、学習モデルを生成していた。一方、モデル学習用画像に写る物体種に応じて学習用データを分類し、学習モデルを生成することもできる。つまり、「机」や「テーブル」、「車」、「信号機」といった物体の検出結果毎に学習用データを分類することもできる。なお、学習用画像からの物体検出については実施形態２で例示した物体検出方法を用いることができる。このようにして分類した学習データごとに学習モデルを生成する。また、あらかじめ物体の共起確率を算出しておき、これらに基づいて学習用データを分類してもよい。共起確率とは、例えば「ちゃぶ台」、「テレビ」、「ベッド」が同時に観測される確率、「机」、「椅子」、「パソコン」、「ディスプレイ」が同時に観測される確率など、物体が同時に観測される確率のことである。物体が同時に観測される確率を用いると、明示的なシーン検出はしていないものの、「ちゃぶ台」、「テレビ」、「ベッド」が観測されるシーンは日本家屋、「机」、「椅子」、「パソコン」、「ディスプレイ」が観測されるシーンはオフィスといったシーンごとの学習用データの分類ができる。
【０１７５】
学習用データを取得した位置情報を用いて学習用データを分類することもできる。位置情報とは、実施形態３で説明したように、例えば緯度経度の座標値やＷｉｆｉアクセスポイントの識別ＩＤのことである。具体的には、緯度経度を所定の間隔で分割し、学習用データを分類してもよい。また、学習用データを取得した際に観測されたＷｉｆｉアクセスポイントの識別ＩＤごとに学習用データを分類してもよい。さらには、ＧＰＳから算出した位置情報から、国や地域、海/山/道路などのカテゴリを不図示の地図情報から同定し、それらカテゴリごとに学習用データを分類してもよい。このようにして分類した学習データごとに学習モデルを生成する。
【０１７６】
学習用データを取得した日時や季節、天気といった画像の見えを変えうる状況ごとに学習用データを分類することもできる。例えば、撮影時刻の時間ごとに学習用データを分類してもよい。また、撮影時刻を朝、昼、夕、夜といったカテゴリに分割し、それらのカテゴリごとに学習用データを分類してもよい。撮影した月日ごとに分類してもよいし、月日から春／夏／秋／冬といった季節を区切り、学習用データを分類してもよい。天気を配信するＷｅｂサイトからＩ／Ｆ（Ｈ１７）を介してネットワーク経由で取得した晴れ／曇り／雨／雪といった天気のカテゴリごとに学習用データを分類してもよい。このようにして分類した学習データごとに学習モデルを生成する。
【０１７７】
モデル学習用デプスマップを基に学習用データを分類することもできる。例えば、モデル学習用デプスマップの奥行き値の平均、最大値、最小値、中央値、分散値をもとに学習用モデルを分類してもよい。モデル学習用デプスマップの凹凸度合をもとに学習モデルを分類してもよい。凹凸度合の判別には、例えばモデル学習用デプスマップに平面フィッティングにより主平面を算出し、主平面から所定の距離にあるデプスマップから算出した三次元点の個数を用いることができる。また、モデル画像用デプスマップから画素ごとに法線を算出し、周囲の画素との法線の内積が所定の距離以下を同一ラベルとしたラベリング結果の個数を凹凸度合としてもよい。
【０１７８】
また、これまで述べたシーンや物体、位置情報などをユーザが不図示の入力手段により入力し、これらをもとに学習用データを分類することもできる。また、学習モデルの利用目的ごとに学習用データを分類してもよい。つまり、学習モデルを自動運転など車載カメラにおける位置姿勢推定に用いる用途や、スマートフォンやタブレットにＣＧを重畳するためのカメラの位置姿勢に用いる用途、といった用途種別をユーザが入力し、その入力結果（用途種別）毎に学習用データを分類してもよい。このようにして分類した学習データごとに学習モデルを生成する。
【０１７９】
自動車のようにカーナビゲーションシステムが搭載された機器に第二の撮像装置９１を搭載し、学習用データを取得する場合には、カーナビゲーションシステムの地図情報に付随したシーンの種別（市街地や山間地域、海辺地域、トンネル内、高速道路）をシーン判別結果として学習用データを分類してもよい。自動車に搭載されたカメラから道路上の人や自動車、信号機、標識やそれらの数・密度、道路の状況（車線数、路面：アスファルトや土）を取得し、それらを物体情報として、学習用データを分類することもできる。カーナビゲーションシステムが算出した自動車が走行している住所情報や、自動車に搭載したカメラが撮影した交通看板から認識した地名情報、ＧＰＳやＷｉＦｉ、各種ビーコンから得たセンサ情報を取得し、これらから得た位置情報をもとに、学習用データを分類してもよい。カーナビゲーションシステムから得られる時刻情報、ライトの点灯の有無（昼／夜の判別に利用できる）やワイパーの動作の有無（晴れ／雨の判別に利用できる）をもとに学習用データを分類することもできる。車種や自動車へのカメラの取り付け位置や取り付け向きごとに学習用データを分類することもできる。このような分類結果を基に、それぞれの分類ごとに学習モデルを生成することができる。
【０１８０】
また、学習用データを取得するシーケンスごとに学習用データを分類することもできる。つまり、本情報処理装置４を起動し、終了するまでを１シーケンスとし、その間に取得したデータは同じカテゴリであるとして分類する。このようにして学習モデルを生成することもできる。
【０１８１】
ここまでで述べてきた分類法は一例であり、幾何情報が高精度に推定できる学習モデルを生成することができる分類方法であればどんな分類方法でもよい。前述の分類方法を個別に用いてもよいし、任意の数を組み合わせてもよい。
【０１８２】
実施形態９では、第二の撮像装置９１が撮像した直後に学習用データ分類部９２０が学習用データを分類し、学習データ保持部９３０に保持していた。しかしながら、あらかじめ第二の撮像装置９１がモデル学習用画像とモデル学習用デプスマップとを撮りためておき、後に学習用データ分類部９２０が学習用データを分類してもよい。一般に画像認識や学習モデルの学習は計算コストが大きい。このため、このような構成にすると、あらかじめ計算リソースの小さいハードウェアで学習用データを取得しておいて、画像認識や学習モデルの学習は大きなリソースを持つハードウェアで処理するといったことができる。
【０１８３】
また、このような構成とすることで、複数の第二の撮像装置９１で個別に撮影した学習用データを組み合わせて用いる、一度取得した学習用データに加えて後から別の学習用データを加える、といったことも可能となる。さらには、実施形態８で説明したように、求めた第二の幾何情報をデプスマップとし、それと撮像装置１１が撮像した画像とを合わせて学習用データとしてもよい。また、一度学習した学習モデルを、前述した方法で追加した学習用データを用いて、学習モデル生成部９４０が学習モデルを追加学習してもよい。
【０１８４】
実施形態９では、学習用データ分類部９２０が、第二の撮像装置９１が撮像したすべての学習用データを分類していた。しかしながら、すべての学習用データを分類する必要は無く、一部の学習用データのみ分類してもよい。第二の撮像装置９１が取得するうち、例えば６０回に１回のみ学習用データを分類し、学習データ保持部９３０に保持してもよい。また、学習用データ分類部９２０が、新たに取得した学習用データと学習データ保持部９３０に保持済みの学習データとの類似度が低いデータであれば学習データ保持部９３０に保持してもよい。ここでいう類似度とは、例えば画像の輝度の平均値や最大値、最小値、中央値、分散値の差である。また、モデル学習用画像をシーン判別学習モデルがシーン認識したときの認識尤度を使うこともできる。具体的には、シーン判別学習モデルが当該シーンか否かの０、１の出力を算出する直前の認識尤度値（各シーンの合致度合いの値）と、既に保持済みの学習用データの認識尤度値との距離のことである。このように、類似する学習データの数を減らすようにデータを収集する、学習用データの類似度の分離度合いが広がるように学習用データを収集することで、学習モデルの生成に係る時間が減るとともに、学習モデルの認識精度を向上させることができる。
【０１８５】
実施形態９では、まず学習モデルを生成した後、その学習モデルを用いて位置姿勢推定をする方法について述べた。しかしながら、学習モデルの生成と、その学習モデルを用いて位置姿勢推定とを別々の装置で行うこともできる。例えば、学習モデルの生成を第一の情報処理装置で行い、作成した学習モデルをネットワーク経由でクラウドサーバにアップロードする。そして、別の第二の情報処理装置がネットワーク経由でクラウドサーバにある学習モデルをロードし、用いて位置姿勢推定するといった方式も可能である。さらには、学習モデル生成時に、第一の情報処理装置が学習用データを取得し、取得したデータをサーバにアップロードし、画像分類ステップＳ９３０、学習モデル生成ステップＳ９６０はクラウドサーバ上の第二の情報処理装置が行うという方式も可能である。
【０１８６】
実施形態９では、ユーザが終了のコマンドを入力することで、学習用データの取得を終了した。学習に必要な学習用データが収集できていれば、学習用データの取得の終了判定方法は任意である。例えば、学習用データ分類部９２０が、所定の時間経過したら終了と判定してもよいし、所定の数の学習データが取得できたら終了と判定してもよい。さらには、各分類カテゴリの学習データ数が所定の数を上まわったら終了と判定してもよい。また、学習モデル生成部９４０が、学習モデルの学習度合を計算し、学習が収束したら学習を終了と判定してもよい。
【０１８７】
本実施形態においては、画像の分類とは、学習用データ分類部９２０が学習モデルを分類した結果を基に、学習データ保持部９３０のフォルダごとに学習用データを保持することであった。しかしながら、フォルダごとに分類する必要は無く、学習用データごとに分類結果を記録したリストを学習データ保持部９３０が保持する構成としてもよい。
【０１８８】
実施形態１から５では、学習モデル群保持部１３０は、少なくとも２つの学習モデルに加え、物体情報リスト、位置情報リスト、状況情報リストを保持する構成であった。これらリストは必要に応じて学習用データ分類部９２０が生成してもよい。つまり、モデル学習用画像から物体種を検出し物体情報リストに追加する、取得した位置情報や状況情報を位置情報リストや状況情報リストに追加する、という処理を合わせて行うことで、実施形態１から５で必要な情報を追加することができる。また、実施形態９で述べた学習用画像は学習モデル群保持部にコピーし保持する処理は、学習モデル選択時に学習用画像が必要でなければ無くてもよい。
【０１８９】
第二の撮像装置９１は、ＴＯＦセンサに限らず、画像とデプスマップを取得できるものであればよい。具体的には、パターンを投影し奥行きを推定するデプスカメラでもよい。また、２台のカメラを並べたステレオカメラ構成により、ステレオマッチングにより奥行きを算出し、デプスマップとして出力するステレオカメラであってもよい。さらには、３ＤＬｉＤＡＲ（Light Detection and Ranging）とカメラを組み合わせ、ＬｉＤＡＲが取得した奥行き値を画像座標に変換したデプスマップを出力するように構成した装置であってもよい。また、画像はＲＧＢ画像に限らずグレー画像でもよい。また、事前に第二の撮像装置９１が画像とデプスマップを取得し、不図示の記録装置に保持し、それら記録装置から画像とデプスマップを第二の入力部９１０が入力してもよい。
【０１９０】
＜各実施形態の効果＞
実施形態１では、複数の学習モデルの中の各学習モデルに評価値を付与し、評価値が高い学習モデルを選択する。このとき、入力画像とそれぞれの学習モデルの学習時に用いた学習画像との類似度を算出し、類似度が高いほど高い評価値となるように各学習モデルの評価値を算出する。そして、評価値が高い学習モデルを用いて推定した幾何情報を用いて、撮像装置の位置姿勢を算出する。このように、入力画像と学習画像が類似している学習モデルを選択することで、学習モデルが高い精度で幾何情報を推定することができ、高い精度で撮像装置の位置姿勢を算出することができる。
【０１９１】
さらに、個別のシーンごとに学習した小規模な学習モデルを選択して用いることで、メモリ容量の小さな計算機においても幾何情報を推定することができる。これにより、モバイル端末においても撮像装置の位置姿勢を算出することができる。
【０１９２】
さらに、個別のシーンごとに学習した小規模な学習モデルを選択して用いることで、大規模な学習モデルを用いる場合と比較し、少ない実行時間で幾何情報を推定することができる。これにより、短い時間で撮像装置の位置姿勢を算出することができる。
【０１９３】
実施形態２では、学習モデルの学習に使用した学習画像から検出した物体情報と、入力画像から検出された物体情報とを比較し、同じ種類の物体が写っているほど高い評価値となるように学習モデルの評価値を算出する。そして、評価値の大きな学習モデルを用いて推定した幾何情報を用いて撮像装置の位置姿勢を算出する。これにより、入力画像と学習画像に同じ種類の物体が写っている学習モデルを選択することができ、学習モデルが高い精度で幾何情報を推定することができ、高い精度で撮像装置の位置姿勢を算出することができる。
【０１９４】
実施形態３では、入力画像や学習モデルを学習した学習画像を撮影した位置情報が一致しているほど評価値が高くなるように学習モデルの評価値を算出する。これにより、入力画像と学習画像とを撮影した位置情報が一致している学習モデルを選択することができるため、学習モデルが高い精度で幾何情報を推定することができ、高い精度で撮像装置の位置姿勢を算出することができる。
【０１９５】
実施形態４では、入力画像や学習モデルを学習した学習画像の見えを変えうる状況情報が一致しているほど高い評価値を学習モデルに付与する。これにより、入力画像と学習画像の撮影状況が一致している学習モデルを選択することができるため、学習モデルが高い精度で幾何情報を推定することができ、高い精度で撮像装置の位置姿勢を算出することができる。
【０１９６】
実施形態５では、入力画像と学習画像との類似度、入力画像と学習画像から検出した物体種の一致度、入力画像や学習画像を撮影した位置情報の一致度が高いほど評価値が高くなるように学習モデルの評価値を算出する。より具体的には、力画像と学習画像とが類似しており、かつ入力画像と学習画像に同一種類の物体が撮像されており、かつ撮影した位置が一致する学習モデルを選択する。これにより、学習モデルが高い精度で幾何情報を推定することができ、高い精度で撮像装置の位置姿勢を算出することができる。
【０１９７】
実施形態６では、幾何情報推定部１４０が学習モデルを用いて推定した第三の幾何情報と、入力画像からモーションステレオにより推定した第二の幾何情報とが類似しているほど評価値が高くなるように学習モデルの評価値を算出する。これにより、モーションステレオにより推定した第二の幾何情報と類似する第三の幾何情報を出力することができる学習モデルを選択することができ、高い精度で撮像装置の位置姿勢を算出することができる。
【０１９８】
また、学習モデルが複数のシーンの学習画像を用いて学習された場合や、学習モデルを特徴づける情報が保持されていない場合においても、高い精度で幾何情報を出力できる学習モデルを選択することができる。このため、高い精度で撮像装置の位置姿勢を算出することができる。
【０１９９】
実施形態７では、学習モデルを特徴付ける情報、仮想物体のＣＧを合成した合成画像、学習モデルが出力した幾何情報や当該幾何情報に基づいて復元した三次元形状を提示する。これにより各学習モデルを入力画像に写るシーンで利用したときの適合度や、正しい学習モデルを選択することができたかどうかということをユーザが視覚的に確認することができる。さらに、表示情報に基づいてユーザが学習モデルを選択することもできる。さらに、不適切な学習モデルが選択された場合には、ユーザが処理のやり直しの判断をすることができ、適切な学習モデルを選択し直すことができる。従って、高い精度で位置姿勢を算出することができるようになる。
【０２００】
実施形態８では、一度学習モデルを選択した後にも、再度学習モデルの評価値を算出し、学習モデルを選択し直す。このようにすることで、例えば複合現実感を体験している間に利用者が移動するなどして入力画像に写るシーンが変化した場合であっても、学習モデルを再度評価できる。再評価結果が高い学習モデルを選択することで、その時点の入力画像に写るシーンにおいて高い精度で学習モデルが幾何情報を算出でき、高い精度で撮像装置の位置姿勢を算出することがきる。
【０２０１】
実施形態９では、モデル学習用画像のシーンの判別結果を基にモデル学習用画像とモデル学習用デプスマップとを分類し、それぞれのシーンの種別ごとに学習モデルを生成する。このように、シーンの種別ごとに学習モデルを生成しておき、実施形態１で説明した位置姿勢算出時には撮像画像のシーンの種別が一致する学習モデルを用いることで、高い精度で撮像装置の位置姿勢を算出することができる。
【０２０２】
＜定義＞
本発明における画像入力部は、現実空間を撮像した画像を入力するものであれば何でもよい。たとえば濃淡画像を撮像するカメラの画像を入力してもよいし、ＲＧＢ画像を入力するカメラの画像を入力してもよい。奥行き情報や距離画像、三次元点群データを撮像できるカメラの画像を入力してもよい。また、単眼カメラであってもよいし、二台以上の複数のカメラやセンサを備えるカメラが撮像した画像を入力してもよい。さらに、カメラが撮像した画像を直接入力してもよいし、ネットワークを介して入力してもよい。
【０２０３】
本発明における学習モデルとは、カメラ画像を入力としたときに幾何情報を出力するものであれば何でもよい。例えば、カメラ画像を入力したときに幾何情報を出力するようにあらかじめ学習したニューラルネットワークやＣＮＮ（Ｃｏｎｖｏｌｕｔｉｏｎａｌ  Ｎｅｕｒａｌ  Ｎｅｔｗｏｒｋ）である。また、学習モデルが推定する幾何情報とは、例えば、入力画像のピクセルごとに推定した奥行き情報であるデプスマップのことである。なお、学習モデルが推定する幾何情報は、入力画像の中から位置姿勢取得に用いるための顕著点を幾何情報として算出する学習モデルであってもよい。前フレームと現フレーム二枚の画像を入力し、幾何情報としてそれらの間の位置姿勢の６自由度を推定するように学習した学習モデルであってもよい。
【０２０４】
学習モデル群保持部は少なくとも２つの（複数の）学習モデルを保持するものであれば何でもよい。また、学習モデルに加えて、保持する学習モデルを特徴づける情報リストも合わせて保持してもよい。学習モデルを特徴づける情報とは、入力画像に写るシーンへの学習モデルの適合度を表す評価値を算出するための情報である。具体的には、学習モデルを特徴づける情報リストとは学習モデルの学習に用いた学習画像や、学習画像に写っている物体情報リスト、学習画像を撮像したときの位置情報リスト、学習画像を撮像した撮影日時や季節、その時の天気といった画像の見えを変えうる状況を記述した状況情報リストのことである。また、学習画像を撮像したカメラの内部パラメータを学習モデルごとに合わせて保持しておいてもよい。
【０２０５】
学習モデル選択部は、学習モデル群保持部が保持する学習モデルに評価値を付与するものであれば何でもよい。ここでいう評価値とは、撮像装置が撮像するシーンへの学習モデルの適合度を表す指標である。具体的には、入力画像と学習画像の類似度や、それらの画像から検出した物体種や画像撮像時の位置情報の一致度合のことである。
【０２０６】
評価値の算出方法は上記方法に限らず、学習モデルが出力した幾何情報と、入力画像から計測した幾何情報との近似度合に基づいて算出してもよい。具体的には、入力画像からモーションステレオ法により算出した第二の幾何情報と、学習モデルが出力した第三の幾何情報とを比較することで学習モデルの評価値を算出してもよい。
【０２０７】
さらに、学習モデル選択部は、評価値に基づいて学習モデルを選択する構成としてもよい。学習モデルを特徴づける情報リストをモバイルデバイス等のディスプレイに提示し、ユーザが入力した学習モデルを選択してもよい。
【０２０８】
幾何情報推定部は、入力画像を学習モデルに入力し、幾何情報を算出するものであれば何でもよい。本発明においては特に、幾何情報推定部が、学習モデル選択部が選択した学習モデルに入力画像を入力して得た出力を第一の幾何情報と呼び、位置姿勢取得部が位置姿勢取得に用いる。また、幾何情報推定部は、学習モデル選択部が評価値を算出するための指標として第三の幾何情報を推定してもよい。このときは、学習モデル群保持部が保持する各学習モデルに入力画像を入力し得られた出力を第三の幾何情報と呼び、学習モデル選択部が学習モデルの評価値算出に用いる。さらに、幾何情報推定部は入力画像に基づいてモーションステレオを用いて第二の幾何情報を算出する構成としてもよい。
【０２０９】
位置姿勢取得部は、学習モデルが出力した幾何情報を用いてカメラの位置姿勢を算出するものであれば何でもよい。例えば、前フレームの各画素を、学習モデルが出力した幾何情報を用いて現フレームに射影し、射影した前フレームの画素の画素値と現フレームの画素値との輝度差が最小となるように位置及び姿勢を算出してもよい。また、学習モデルの出力である第一の幾何情報をそのまま用いてカメラの位置姿勢を算出するのに限らず、幾何情報推定部が時系列フィルタリングにより第二の幾何情報も用いて統合した幾何情報を算出し、それ用いてカメラの位置姿勢を算出してもよい。
【０２１０】
（その他の実施形態）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【符号の説明】
【０２１１】
１：情報処理装置、１１：撮像装置、１２：表示情報生成部、１３：表示部、１１０：画像入力部、１２０：学習モデル選択部、１３０：学習モデル群保持部、１４０：幾何情報推定部、１５０：位置情報取得部
【図１】
2019087229.tif 000008
【図２】
2019087229.tif 000009
【図３】
2019087229.tif 000010
【図４】
2019087229.tif 000011
【図５】
2019087229.tif 000012
【図６】
2019087229.tif 000013
【図７】
2019087229.tif 000014
【図８】
2019087229.tif 000015
【図９】
2019087229.tif 000016
【図１０】
2019087229.tif 000017
【図１１】
2019087229.tif 000018
【図１２】
2019087229.tif 000019
【図１３】
2019087229.tif 000020