JP7190842B2 - 情報処理装置、情報処理装置の制御方法及びプログラム - Google Patents

情報処理装置、情報処理装置の制御方法及びプログラム Download PDF

Info

Publication number
JP7190842B2
JP7190842B2 JP2018152718A JP2018152718A JP7190842B2 JP 7190842 B2 JP7190842 B2 JP 7190842B2 JP 2018152718 A JP2018152718 A JP 2018152718A JP 2018152718 A JP2018152718 A JP 2018152718A JP 7190842 B2 JP7190842 B2 JP 7190842B2
Authority
JP
Japan
Prior art keywords
learning model
learning
information
image
input image
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018152718A
Other languages
English (en)
Other versions
JP2019087229A5 (ja
JP2019087229A (ja
Inventor
誠 冨岡
大輔 小竹
望 糟谷
雅博 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to US16/174,458 priority Critical patent/US11144786B2/en
Publication of JP2019087229A publication Critical patent/JP2019087229A/ja
Publication of JP2019087229A5 publication Critical patent/JP2019087229A5/ja
Application granted granted Critical
Publication of JP7190842B2 publication Critical patent/JP7190842B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Analysis (AREA)

Description

本発明は、情報処理装置、情報処理装置の制御方法及びプログラムに関する。
画像情報に基づく撮像装置の位置及び姿勢の計測は、複合現実感/拡張現実感における現実空間と仮想物体の位置合わせ、ロボットや自動車の自己位置推定、物体や空間の三次元モデリングなど様々な目的で利用される。
非特許文献1では、事前に学習した学習モデルを用いて画像から位置姿勢を算出するための指標である幾何情報(奥行き情報)を推定し、推定した奥行き情報に基づいて位置姿勢を算出する方法が開示されている。
K. Tateno, F. Tombari, I. Laina and N. Navab, "CNN-SLAM: Real-time dense monocular SLAM with learned depth prediction", IEEE Computer Society Conference on Computer Vision and Pattern Recognition (CVPR), 2017 Z.Zhang,"A flexible new technique for camera calibration," IEEE Trans.on Pattern Analysis and Machine Intelligence,vol.22,no.11,pp.1330-1334,2000. J. Engel, T. Schps, and D. Cremers. LSD-SLAM: Large-Scale Direct Monocular SLAM. In European Conference on Computer Vision (ECCV), 2014. E. Shelhamer, J. Long and T. Darrell, "Fully Convolutional Networks for Semantic Segmentation", Transaction onPattern Analysis and Machine Intelligence (PAMI), Vol. 39, pp. 640-651, 2017 A.Kendall,M.Grimes and R.Cipolla,"PoseNet: A Convolutional Network forReal-Time 6-DOF Camera Relocalization",International Conference on Computer Vision(ICCV),2015,pp.2938-2946 S.Holzer, V. Lepetit, S. Ilic,S. Hinterstoisser, N. Navab, C. Cagniart and K. Konolige, "Multimodal Templatesfor Real-Time Detection of Texture-lessObjects in Heavily Cluttered Scenes" InEuropean Conference on Computer Vision (ECCV), 2011. J. Engel, T. Schps, and D. Cremers. LSD-SLAM: Large-Scale Direct Monocular SLAM. In European Conference on Computer Vision (ECCV), 2014.
非特許文献1では、学習モデルを学習するために使用した学習画像を撮像したシーンと、撮像装置が撮像した入力画像に写るシーンとが類似している前提がある。そのため、シーンが類似していない場合でも、幾何情報の推定の精度を向上するための解決策が求められていた。
本発明は、上記の課題に鑑みてなされたものであり、高精度に位置姿勢を取得するための技術を提供することを目的とする。
上記の目的を達成する本発明に係る情報処理装置は、
撮像装置で撮像された撮像画像と前記撮像画像のデプス情報とを教師データとして用いて学習され、入力画像に対応するデプス情報を推定するための複数の学習モデルを前記教師データとして用いた撮像画像の撮像位置と対応させて保持する保持手段と、
前記学習モデルと対応させて保持している撮像位置の何れか1つと前記入力画像を撮像した撮像位置との一致度から得られる評価結果に基づいて前記複数の学習モデルから前記入力画像に写るシーンに適した学習モデルを選択する選択手段と、
前記入力画像と前記選択された学習モデルとを用いて第一のデプス情報を推定する推定手段と、
を備え
前記推定手段は、モーションステレオ法により入力画像から第二のデプス情報をさらに推定し、前記学習モデルごとに前記入力画像と前記学習モデルとに基づいて第三のデプス情報をさらに推定し、前記選択手段は、前記第二のデプス情報と前記第三のデプス情報との一致度が高いほど高い評価結果となるように前記学習モデルの評価結果を算出することを特徴とする。
本発明によれば、高精度に幾何情報を推定することができる。
実施形態1における情報処理装置1の機能構成を示す図である。 実施形態1における学習モデル群保持部のデータ構造を示す図である。 実施形態1における情報処理装置1のハードウェア構成を示す図である。 実施形態1における処理手順を示すフローチャートである。 実施形態1におけるステップS140における処理手順を示すフローチャートである。 実施形態1におけるステップS1120における処理手順を示すフローチャートである。 実施形態2におけるステップS1120における処理手順を示すフローチャートである。 実施形態3におけるステップS1120における処理手順を示すフローチャートである。 実施形態6における学習モデルを特徴づける情報を提示するGUIの一例を示す図である。 実施形態3における情報処理装置2の機能構成を示す図である。 実施形態5の変形例の1つにおける情報処理装置3の機能構成を示す図である。 実施形態9における情報処理装置4の機能構成を示す図である。 実施形態9における処理手順を示すフローチャートである。
以下、図面を参照しながら実施形態を説明する。なお、以下の実施形態において示す構成は一例に過ぎず、本発明は図示された構成に限定されるものではない。
(実施形態1)
本実施形態では、複合現実感システムにおける現実空間と仮想物体との位置合わせ、すなわち、仮想物体の描画に利用するための現実空間における撮像装置の位置及び姿勢の計測に本発明を適用した場合について説明する。複合現実感を体験するユーザはスマートフォンやタブレットに代表されるモバイル端末を把持し、モバイル端末のディスプレイを通じて仮想物体が重畳された現実空間を観察する。本実施形態ではモバイル端末には撮像装置として単眼のRGBカメラが搭載されており、カメラが撮像した画像上にカメラの現実空間における位置姿勢に基づいて描画された仮想物体のCG画像が重畳されてユーザに提示される。
撮像装置の位置姿勢の算出には、撮像装置が撮像した入力画像に基づいて学習モデルが推定した幾何情報を用いる。本実施形態における学習モデルが推定する幾何情報とは、入力画像のピクセルごとに推定した奥行き情報であるデプスマップのことである。また、学習モデルは、CNN(Convolutional Neural Network)とする。具体的には、ある時刻tに撮像された画像(以下、現フレームと呼ぶ)に、現フレーム以前のある時刻t'に撮像された画像(以下、前フレームと呼ぶ)を入力として学習モデルが推定した奥行き情報(以下、前デプスマップと呼ぶ)に基づいて、前フレームの各画素を現フレームに射影する。ここでいう射影とは、前フレームの画素が現フレームのどこに写るかを算出することである。具体的には、前フレームの各画素の画像座標(ut-1,vt-1)とカメラの内部パラメータ(f、f、c、c)、および前デプスマップの画素の奥行き値Dを用いて当該画素の前フレームのカメラ座標系における三次元座標(Xt-1,Yt-1,Zt-1)を数1により算出する。
Figure 0007190842000001
次に、前フレームを撮影したカメラの位置に対する現フレームを撮影したカメラの位置及び姿勢であるt(t-1)→t、R(t-1)→tを用いて現フレームのカメラ座標系における当該特徴点の三次元座標(X,Y,Z)を、数2により算出する。
Figure 0007190842000002
次に、数3により現フレームのカメラ座標系における当該特徴点の三次元座標(X,Y,Z)を現フレームの画像座標(u,v)に変換する。
Figure 0007190842000003
本実施形態では、数1から数3の処理を射影と呼ぶ。この前フレームの画素(ut-1,vt-1)の輝度値と、射影先の現フレームの画素(u,v)との輝度値との輝度差が最小となるように位置及び姿勢t(t-1)→t、R(t-1)→tを算出する。最後に、世界座標系に対する前フレームを撮像したカメラの位置及び姿勢tw→(t-1)、Rw→(t-1)を用いて、数4により世界座標系に対する現フレームを撮影したカメラの位置及び姿勢tw→t、Rw→tを算出する。
Figure 0007190842000004
学習モデルは、複数の画像とそれと同時刻に同視野を撮影した複数のデプスマップに基づいて、画像を入力すると対応するデプスマップが推定できるようにあらかじめ学習しておく。例えば、屋内シーンが写っている学習画像を用いて学習した学習モデルを使用すると、屋内画像を入力したときには高い精度でデプスマップを推定できる。ただし、この学習モデルに屋外画像を入力すると、出力するデプスマップの精度が低下する。そこで、本実施形態では、シーンごとに学習した複数の学習モデルの中から、入力画像を撮像したシーンにおいて高い精度で幾何情報を算出できる学習モデルを選択する方法として、学習画像が入力画像と類似している学習モデルを選択する方法について説明する。シーンとは、例えば屋内シーンや屋外シーン、日本家屋の部屋のシーンや西洋家屋の部屋のシーン、オフィスシーンや工場シーンなどである。
本実施形態における撮像装置の位置及び姿勢とは、現実空間中に規定された世界座標におけるカメラの位置を表す3パラメータ、及びカメラの姿勢を表す3パラメータを合わせた6パラメータのことを表すこととする。本実施形態では、とくに断りがない限りカメラの位置及び姿勢をカメラの位置姿勢と呼ぶ。また、カメラの光軸をZ軸、画像の水平方向をX軸、垂直方向をY軸とするカメラ上に規定される三次元の座標系をカメラ座標系と呼ぶ。
<情報処理装置の構成>
図1は、本実施形態における情報処理装置1の機能構成例を示す図である。情報処理装置1は、画像入力部110、学習モデル選択部120、学習モデル群保持部130、幾何情報推定部140及び位置姿勢取得部150を備えている。画像入力部110はモバイル端末に搭載された撮像装置11、および表示情報生成部12と接続されている。位置姿勢取得部150は、表示情報生成部12と接続されている。表示情報生成部12は表示部13と接続されている。ただし、図1は、機器構成の一例であり、本発明の適用範囲を限定するものではない。図1の例では表示情報生成部12及び表示部13は情報処理装置1の外部に構成されているが、これらを情報処理装置1に含めて構成してもよい。また、表示情報生成部12を情報処理装置1に含め、表示部13は情報処理装置1の外部装置として構成してもよい。
画像入力部110は、撮像装置11が撮像するシーンの2次元画像の画像データを時系列(例えば毎秒60フレーム)に入力し、学習モデル選択部120、幾何情報推定部140、位置姿勢取得部150、表示情報生成部12に出力する。
学習モデル選択部120は、画像入力部110が入力した入力画像に基づいて、学習モデル群保持部130が保持する各学習モデルを選択し、選択結果を幾何情報推定部140に出力する。
学習モデル群保持部130は、複数の学習モデルを保持する。データ構造の詳細は後述する。幾何情報推定部140は、学習モデル選択部120が選択した学習モデルに画像入力部110が入力した入力画像を入力し、幾何情報を推定する。また、推定した幾何情報を位置姿勢取得部150に出力する。
位置姿勢取得部150は、画像入力部110が入力した入力画像と幾何情報推定部140が入力した幾何情報とに基づいて撮像装置の位置姿勢を算出して取得。そして、取得した位置姿勢情報を表示情報生成部12に出力する。
表示情報生成部12は、位置姿勢取得部150から取得した位置姿勢と不図示の保持部が保持するカメラの内部・外部パラメータとを用いて仮想物体のCG画像をレンダリングする。そして、画像入力部110が入力した入力画像上にCG画像を重畳した合成画像を生成する。また、合成画像を表示部13に出力する。表示部13は、モバイル端末のディスプレイであり、表示情報生成部12が生成した合成画像を表示する。
なお、図2は、学習モデル群保持部130のデータ構造を示す図である。本実施形態においては、少なくとも2つの学習モデルを保持する。また、学習モデルごとにその学習モデルの学習のために用いた学習画像を少なくとも1枚保持ものとする。学習モデルは、例えばCNN(Convolutional Neural Network)の識別器をバイナリ形式で保存したデータファイルであるものとする。
図3は、情報処理装置1のハードウェア構成を示す図である。H11はCPUであり、システムバスH20に接続された各種デバイスの制御を行う。H12はROMであり、BIOS(Basic Input/Output System)のプログラムやブートプログラムを記憶する。H13はRAMであり、CPUであるH11の主記憶装置として使用される。H14は外部メモリであり、情報処理装置1が処理するプログラムを格納する。入力部H15はキーボードやマウス、ロボットコントローラであり、情報等の入力に係る処理を行う。表示部H16はH11からの指示に従って情報処理装置1の演算結果を表示装置に出力する。なお、表示装置は液晶表示装置やプロジェクタ、LEDインジケータなど、種類は問わない。また、表示部13であってもよい。H17は通信インターフェイスであり、ネットワークを介して情報通信を行うものであり、通信インターフェイスはイーサネット(登録商標)でもよく、USBやシリアル通信、無線通信等種類は問わない。H18は入出力部(I/O)であり、カメラH19と接続されている。なお、カメラH19は撮像装置11に相当する。
<処理>
次に、本実施形態における処理手順について説明する。図4は、本実施形態における情報処理装置1を含む情報処理システムが実施する処理手順を示すフローチャートである。
ステップS110では、システムの初期化を行う。すなわち、外部メモリH14からプログラムを読み込み、情報処理装置1を動作可能な状態にする。また、情報処理装置1に接続された各機器(撮像装置11など)のパラメータや、撮像装置11の初期位置姿勢を読み込む。撮像装置11の内部パラメータ(焦点距離f(画像の水平方向)、f(画像の垂直方向)、画像中心位置c(画像の水平方向)、c(画像の垂直方向)、レンズ歪みパラメータ)は、非特許文献2に記載のZhangの方法によって事前に校正する。
ステップS120では、撮像装置11がシーンの撮影を行い、画像入力部110に出力する。
ステップS130では、画像入力部110が、撮像装置11が撮像したシーンを含む画像を入力画像として取得する。なお、本実施形態においては、入力画像とはRGB画像である。
ステップS140では、学習モデル選択部120が、学習モデル群保持部130が保持する学習画像を用いて、それぞれの学習モデルの評価値を算出し、算出した評価値に基づいて学習モデルの選択を行う。ステップS140の評価値算出処理の詳細は図5及び図6を参照して後述する。
ステップS150では、幾何情報推定部140が、ステップS140で選択された学習モデルを用いて幾何情報を推定する。具体的には、学習モデル選択部120が、入力画像を学習モデルに入力し、幾何情報であるデプスマップを推定する。本実施形態では、学習モデルに前フレームの画像を入力し、前デプスマップを推定する。
ステップS160では、位置姿勢取得部150が、ステップS150で算出された幾何情報(デプスマップ)を用いて撮像装置11の位置姿勢を算出して取得する。具体的には、まず、前フレームの各画素を、学習モデルによって推定したデプスマップに基づいて現フレームに射影する。次に、射影した前フレームの画素の画素値と現フレームの画素値との輝度差が最小となるようにEngelらの方法(非特許文献3)により位置及び姿勢を算出する
ステップS170では、表示情報生成部12が、ステップS160で算出された撮像装置11の位置姿勢を用いて、仮想物体のCG画像をレンダリングし、入力画像に重畳合成した合成画像を生成して、表示部13に入力する。また、表示部13が、合成画像をモバイルデバイスのディスプレイである表示部に表示する。
ステップS180では、システムを終了するか否か判定する。具体的には、不図示の入力部によりユーザが終了コマンドを入力していれば終了し、そうでなければステップS120に戻り処理を続ける。
<学習モデルの選択処理>
ここで、図5は、本実施形態におけるS140の学習モデルの選択処理の手順を示すフローチャートである。
ステップS1110では、学習モデル選択部120が、学習モデル群保持部130が保持するそれぞれの学習モデルのうち、どの学習モデルを用いるか決定済みか否か判定する。使用する学習モデルが未決定の場合にはS1120へ進む。一方、使用する学習モデルが決定済の場合には処理を終了する。
ステップS1120では、学習モデル選択部120が、入力画像と学習画像との類似画像探索によって、学習モデル群保持部130が保持するそれぞれの学習モデルの評価値を算出する。評価値とは、撮像装置11が撮像した入力画像と学習画像との類似度のことであり、撮像装置が撮像するシーンへの学習モデルの適合度を表す。本実施形態では、評価値は0から1の連続値であり、1となるほど適合度が高いものとする。評価値の算出処理の詳細は図6を参照して後述する。
ステップS1130では、学習モデル選択部120が、S1120で算出した評価値が最大となった学習画像を含む学習モデルを選択する。このとき、例えばRAMであるH13などの記憶部に当該学習モデルを読み込むことで、幾何情報推定部140が幾何情報を推定可能な状態にする。
<評価値算出処理>
続いて、図6は、本実施形態におけるS1120の学習モデルの評価値算出処理の詳細手順を示すフローチャートである。
ステップS1210では、学習モデル選択部120が、評価値を算出していない学習モデルの学習に用いた学習画像を学習モデル群保持部130からRAMであるH13にロードする。
ステップS1220では、学習モデル選択部120が、入力画像と学習画像との類似度に基づいて学習モデルの評価値を算出する。本実施形態では、画像を縮小し、画像の輝度情報に対して離散コサイン変換を施し、低周波成分のハッシュ値を算出するpHash法を用いる。まず、学習モデル選択部120が、入力画像と学習画像のハッシュ値を算出し、それらのハミング距離を算出する。本実施形態における入力画像と学習モデルとの類似度とは、ハミング距離である。算出した各モデルのハミング距離のなかの最大値を用いて、各モデルのハミング距離を0から1に正規化した連続値を算出する。本実施形態では、この正規化した値を各学習モデルの評価値とする。
ステップS1230では、学習モデル選択部120が、すべての学習モデルの評価値が算出されたか否か判定する。全ての評価値の算出が完了していれば、処理を終了する。一方、評価値の算出が終わっていない学習モデルがあれば、ステップS1210に戻る。ただし、学習モデル群保持部130が保持するすべての学習モデルを評価する必要はなく、使用頻度の高い上位N(Nは整数)個の学習モデルのみ評価値を算出するように構成してもよい。このような場合にはステップS1230は上位N個の学習モデルの評価が完了しているかどうかを判定する。
<効果>
以上に述べたように、実施形態1では、複数の学習モデルの中から各学習モデルについて評価値を算出し、評価値の高い学習モデルを選択する。このとき、入力画像とそれぞれの学習モデルの学習時に用いた学習画像との類似度を算出し、類似度が高い各学習モデルに高い評価値をつける。そして、評価値が高い学習モデルを用い推定した幾何情報を用いて撮像装置の位置姿勢を算出する。このように、入力画像と学習画像とが類似している学習モデルを選択することで、学習モデルが高い精度で幾何情報を推定することができる。そのため、例えば、この推定した幾何情報を用いて撮像装置の位置姿勢を求める場合には、高い精度で撮像装置の位置姿勢を算出することができる。なお、推定した幾何情報の他の用途としては、例えば、後述する自動車の自動運転などにおける画像認識に用いることなどが挙げられる。
さらに、個別のシーンごとに学習した小規模な学習モデルを選択して用いることで、メモリ容量の小さな計算機においても幾何情報を推定することができる。これにより、モバイル端末においても撮像装置の位置姿勢を算出することができる。
さらに、個別のシーンごとに学習した小規模な学習モデルを選択して用いることで、大規模な学習モデルを用いる場合と比較し、少ない実行時間で幾何情報を推定することができる。これにより、短い時間で撮像装置の位置姿勢を算出することができる。
<変形例>
実施形態1においては、学習モデル群保持部130は、学習モデルの学習に用いた学習画像を保持していた。しかしながら、保持する画像は、学習モデルを特徴づけることができる画像であれば、学習画像そのものに限らない。例えば、学習画像を縮小した画像や一部を切り取った画像であってもよいし、学習画像と類似する画像であってもよい。
実施形態1においては、学習モデルの評価方法にpHash法を用いていた。しかしながら、評価方法はpHash法に限らず、学習モデルの学習に用いた学習画像と入力画像との類似度を算出できる方法であれば何でもよい。具体的には、入力画像と学習画像それぞれから算出したカラーヒストグラムの類似度を用いてもよい。あるいは、入力画像と学習画像それぞれの局所領域の輝度の勾配方向をヒストグラム化したHog(Histgram of Oriented Gradients)特徴量を算出しHog特徴量の類似度を用いてもよい。また、画面を小領域に区切りそれら小領域に対し複数の方向・周波数のガボールフィルタをかけた応答を特徴量とするGIST特徴の類似度を用いてもよい。
また、入力画像と学習画像それぞれから検出した局所特徴の特徴量が類似する個数を評価値としてもよい。局所特徴として、例えば平滑化した画像の局所領域内の勾配方向ヒストグラムを特徴量とするSIFT特徴点を用いてもよい。あるいは、局所画像領域内でのある2点の輝度の大小からバイナリコードを生成し特徴量とするORB特徴点を用いてもよい。さらに、局所特徴は、Harrisコーナー検出法によって画像中の角などの特徴的な位置を算出し、周囲の色情報を特徴量とした画像特徴量でもよいし、周囲の小領域のテンプレートを特徴量としてもよい。さらに、文字認識によって検出した文字情報を局所特徴として用いてもよい。複数種類の画像特徴を組み合わせて用いてもよい。
さらに、局所特徴のベクトル量子化によりヒストグラムに変換したBag-of-Visual Wordsの類似度を評価値として用いてもよい。また、あらかじめ学習モデルごとに学習画像からBag-of-Visual Wordsを算出しておき、それぞれの特徴量が存在する特徴空間との距離が最大となる識別境界を算出するSVN(サポートベクターマシン)を用いた識別器を利用してもよい。このとき、入力画像から算出した特徴量を入力としてSVNが識別した学習モデルに投票し、投票数が最大の学習モデルを選択してもよい。事前に各モデルの学習画像に基づいてそれぞれの学習モデルに対応するラベルを出力するように学習したShelhamerらの提案したニューラルネットワーク(非特許文献4)に入力画像を入力したときの出力ラベルに対応する学習モデルを選択してもよい。
入力画像は1枚の画像に限らず、複数枚の画像でもよく、それぞれの入力画像と学習画像との類似度の和や最大値、最小値、平均値、中央値を評価値としてもよい。
実施形態1では、学習モデル群保持部130は学習画像を保持し、評価値算出時にハッシュ値や特徴量を算出していた。しかしながら、あらかじめ学習画像からハッシュ値や特徴量を算出し、学習モデル群保持部130がそれらを保持しておいてもよい。これにより、学習モデルの選択時に学習画像からのハッシュ値や特徴量の算出が必要なくなり、短時間で学習モデルを選択することができる。
実施形態1では、学習モデル群保持部130が保持する学習モデルは識別器をバイナリ形式で出力したデータファイルであった。しかしながら、幾何情報推定部140が幾何情報を推定できるような形式で保持していれば、CNNのネットワーク構造と重みを出力したデータファイルで保持してもよい。あるいは、あらかじめネットワーク構造を決めておきその重みのみを抽出して出力したデータファイルとして保持してもよい。重みのみ抽出することで、識別器自体をバイナリ形式で出力するよりもデータファイルの大きさを小さくすることができる。
実施形態1では、学習画像と入力画像の類似度合に基づいて評価値を算出していた。しかしながら、評価値の算出方法は、学習画像と入力画像を撮影したシーンが類似していれば高い評価値をつけることができる方法であれば何でもよい。例えば、学習画像と入力画像が撮像されたシーン情報を検出して、シーン情報の一致度に基づいて評価値を算出する。シーン情報とは、室内や屋外、海岸、山、道路といったシーンのカテゴリのことである。シーン情報の検出には、シーンのカテゴリを判別するシーン判別学習モデルを用いる。例えばシーン判別学習モデルは、入力した画像が当該カテゴリであれば1を、そうでなければ0を出力するようにDeep Learningを用いて学習されたニューラルネットワークのことである。また、一つの画像から複数の局所特徴を検出し、それらの特徴量の平均や相関値を列挙したGLC特徴を算出しておく。そして、各カテゴリのGLC特徴が存在する特徴空間同士の距離が最大となる識別境界を算出するSVN(サポートベクターマシン)によってシーンのカテゴリを判別してもよい。なお、GLCとは、generalized local correlationの略である。
実施形態1では、前フレームの各画素を幾何情報推定部140が学習モデルを用いて推定したデプスマップに基づいて現フレームに射影し、射影した前フレームの画素の画素値と現フレームの画素値との輝度差が最小となるように位置及び姿勢を算出していた。しかしながら、学習モデルの出力に基づいて位置姿勢取得する方法であればよい。例えば、幾何情報推定部が学習モデルを用いて前フレームと現フレームのデプスマップを推定する。そして、現デプスマップの各画素の三次元点と前デプスマップの各画素の三次元点のうち最近傍の点との距離を最小化するように繰り返し位置姿勢を算出するICP法を用いて位置姿勢を算出する。ICPとは、Iterative Closest Pointの略である。また、位置姿勢取得部150が、前フレーム、現フレームから局所特徴を算出しそれらの一致する構造を指し示す対応点を求める。そして、前フレームの局所特徴をデプスマップの奥行き値を用いて現フレームに射影したときの対応点の距離を最小化するようにPnP問題を解くことで位置姿勢を算出してもよい。なお、幾何情報推定部は、学習モデルの出力を間接的に用いる構成でもよい。すなわち、学習モデルの出力を時系列フィルタリングにより補正した幾何情報に基づいて位置姿勢を算出してもよい(非特許文献1に記載)。
実施形態1では、学習モデルが推定する幾何情報はデプスマップであった。しかしながら、本実施形態に適用できる学習モデルは、出力した幾何情報に基づいて撮像装置の位置姿勢を算出できるものであればよい。例えば、入力画像の中から位置姿勢取得に用いるための顕著点を幾何情報として算出する学習モデルを用いてもよい。このときは幾何情報推定部140が前フレームと現フレームから学習モデルを用いて顕著点を推定し、位置姿勢取得部が前フレームと現フレームで一致する構造を指し示す顕著点に基づいて5点アルゴリズム法を用いて位置姿勢を算出する。また、前フレームと現フレーム二枚の画像を入力し、幾何情報としてそれらの間の位置姿勢の6自由度を推定するように学習した学習モデル(非特許文献5)を利用してもよい。この時には、位置姿勢取得部150が位置姿勢を算出する代わりに、幾何情報推定部140が学習モデルを用いて推定した位置姿勢を直接位置姿勢取得結果として表示情報生成部12に入力してもよい。
実施形態1では、複合現実感システムにおける現実空間と仮想物体との位置合わせのアプリケーションに適用した例を説明した。しかしながら、本実施形態で説明した情報処理装置1に適用可能なのは当該アプリケーションに限らず、学習モデルが出力した幾何情報、または位置姿勢取得結果を用いるものであればよい。例えば、情報処理装置1を自立移動ロボットや自動車に取り付けてロボットや自動車の自己位置を推定する自立移動システムとして用いてもよい。このときの自立移動システムには、電動モータなどの移動機構や、位置姿勢取得部150が算出した位置姿勢に基づいて行動を決定し移動機構を制御する制御部を備えていてもよい。また、工業用ロボットハンドの先端に取り付けてロボットハンドの位置姿勢を計測するロボットシステムとして用いてもよい。このときのロボットシステムには、ロボットアーム等のマニピュレータや、吸着ハンド等の把持装置、および位置姿勢取得部150が算出した位置姿勢に基づいてマニピュレータや把持装置を制御する制御部を備えていてもよい。
また、情報処理装置1の使用用途は位置姿勢推定に限らず、三次元再構成に用いてもよい。例えば、工業部品や建物といったCADモデルを生成するための計測システムとして用いてもよい。このときの計測システムは、幾何情報推定部140が推定した幾何情報から三次元モデルを生成する三次元モデル生成部をさらに備えていてもよい。また、RGBカメラや濃淡画像を取得するカメラなど、デプスマップを取得することのできないカメラから高精度にデプスマップを取得する装置として用いてもよい。
実施形態1では、モバイルデバイスが学習モデル選択部120や学習モデル群保持部130を有する構成を説明した。しかしながら、クラウドサーバが実施形態1で示した情報処理装置の一部の機能を有し、実行してもよい。例えば、クラウドサーバが学習モデル選択部120と学習モデル群保持部130とを有する構成であってもよい。この構成では、まずモバイル端末が入力画像を不図示の通信部を用いてクラウドサーバに転送する。次に、クラウドサーバ上の学習モデル選択部120が、クラウドサーバ状の学習モデル群保持部130の保持する学習モデルについて評価値を算出し、評価結果に基づいて学習モデルを選択する。そして、クラウドサーバが選択した学習モデルを、通信部を用いてモバイル端末に転送する。このような構成にすることで、モバイルデバイスは多数の学習モデル群を保持する必要がなく、学習モデル選択にかかる計算も実行しなくてよいため、小規模な計算機しか搭載されていないモバイルデバイスに対しても本発明を適用可能となる。
また、学習画像を撮像したカメラが撮像装置11と異なる場合には、学習モデル群保持部130が保持する学習モデルごとに学習画像を撮像したカメラのカメラパラメータも併せて保持しておいてもよい。この場合、撮像装置11のカメラパラメータと学習画像を撮像したカメラのカメラパラメータとに基づいて、非特許文献1のように幾何情報推定部140が学習モデルを用いて推定した幾何情報のスケールが撮像装置11に一致するように、幾何情報を補正する。
本実施形態においては、画像を撮像する撮像装置がRGBカメラである構成について説明した。ただし、RGBカメラに限るものではなく、現実空間の画像を撮像するカメラであれば何でもよく、たとえば濃淡画像を撮像するカメラでもあってもよいし、奥行き情報や距離画像、三次元点群データを撮像できるカメラであってもよい。また、単眼カメラであってもよいし、二台以上の複数のカメラやセンサを備えるカメラであってもよい。
(実施形態2)
実施形態1では、入力画像と学習モデルの学習に利用した学習画像との類似度を評価値として算出していた。これに対して、実施形態2では、入力画像から検出した物体の種類と、あらかじめ学習画像から検出しておいた物体の種類とを比較することで学習モデルの評価値を算出する例を説明する。
<情報処理装置の構成>
実施形態2における情報処理装置の構成は、実施形態1で説明した情報処理装置1の構成を示す図1と同一であるため省略する。学習モデル群保持部130が保持する情報が実施形態1と異なる。本実施形態において、学習モデル群保持部130は、少なくとも2つの学習モデルを保持する。さらに、学習モデルごとにそのモデルの学習のために用いた学習画像からあらかじめ検出した物体情報を記載した物体情報リストを持つものとする。本実施形態では、各学習モデルに対して物体情報リストが1つずつ関連付けられており、物体情報リストには例えば「机」や「テーブル」、「ベッド」、「椅子」といった物体情報(本実施形態では物体の種類)が保持されているものとする。
<処理>
実施形態2における処理全体の手順は、実施形態1で説明した情報処理装置1の処理手順を示す図4と同一であるため、説明を省略する。また、図4における学習モデルのステップS140の詳細は、図5と同一であるため説明を省略する。実施形態1と異なるのは、図5のステップS1120における学習モデル選択部が学習モデルの評価値を算出する評価値算出処理である。本実施形態では図6に代えて図7の処理を行う。
以下、図7を参照しながら、本実施形態に係る学習モデルの評価値算出処理について説明する。なお、図7のステップS1340は、図6のステップS1230と同一なので説明を省略する。
ステップS1310では、学習モデル選択部120が、入力画像から物体検出を行い、検出した物体情報を検出物体種リストに保持する。物体検出には、物体の有無を判定する物体検出学習モデルを用いる。この物体検出学習モデルは、入力した画像に対象となる物体が含まれていれば1を、含まれていなければ0を出力するようにDeep Learningを用いて学習されたニューラルネットワークである。物体検出学習モデルを利用して入力画像から物体を検出し、対象となる物体種が含まれていれば検出物体種リストに当該物体情報を記録する。
ステップS1320では、学習モデル選択部120が、評価値を算出していない学習モデルに紐づく物体情報リストを学習モデル群保持部130からRAMであるH13にロードする。
ステップS1330では、学習モデル選択部120が、ステップS1310で検出した検出物体種リストとステップS1320でロードした物体情報リストとを比較して、物体の種類が一致している物体情報を探索する。一致している物体種が見つかった場合には、その物体が検出されていた学習モデルに投票する。具体的には、各学習モデルに整数を保持するメモリが割り当てられており、一致する物体情報があれば当該メモリ値を+1増加させる。なお、このメモリは図4の初期化ステップS110で0に初期化されているものとする。なお、本実施形態における評価値とは、投票数である。
<効果>
以上に述べたように、実施形態2では、学習モデルの学習に使用した学習画像から検出された物体情報と、入力画像から検出された物体情報とを比較し、同じ種類の物体が写っているほど高い評価値を学習モデルに付与する。そして、評価値の大きな学習モデルを用いて推定した幾何情報を用いて撮像装置の位置姿勢を算出する。これにより、入力画像と学習画像に同じ種類の物体が写っている学習モデルを選択することができ、学習モデルが高い精度で幾何情報を推定することができ、高い精度で撮像装置の位置姿勢を取得することができる。
<変形例>
実施形態2では、学習画像と入力画像からの物体検出には、あらかじめ機械学習により学習した物体検出学習モデルを用いた。しかしながら、物体検出は物体種の有無を判定できるものであれば何でもよい。例えば、物体種ごとに局所特徴をあらかじめ算出しておき、入力画像から検出した局所特徴とマッチングした局所特徴数が所定の閾値以上であれば検出したと判定してもよい。また、あらかじめ物体の画像を切り出したテンプレート画像を保持しておき、学習画像と入力画像それぞれからテンプレートマッチングにより物体検出を行ってもよい。
実施形態2の物体検出処理では、物体種を検出したか否かの二値の判定結果を用いて学習モデルに評価値をつけていた。しかしながら、評価値は入力画像と学習画像に同じ種類の物体が写っていれば高くなるようなものであればよい。例えば、存在確率である0から1の連続値を出力するように学習した物体検出学習モデルを用い、これらの値に基づいて学習モデルに評価値をつけてもよい。具体的には、ステップS1330において、各学習モデルに実数を保持するメモリを割り当てておき、学習画像から検出した物体種の存在確率と入力画像から検出した物体種の存在確率との積を当該メモリ値に加算した値を評価値としてもよい。
(実施形態3)
実施形態1では、入力画像と学習モデルの学習に利用した学習画像との類似度を評価値として算出していた。実施形態2では、入力画像から検出した物体種と、あらかじめ学習画像から検出しておいた物体種とを比較することで学習モデルの評価値を算出していた。これに対して、実施形態3では、入力画像や学習モデルを学習した学習画像を撮影した位置情報を用いて学習モデルの評価値を算出する例を説明する。
<情報処理装置の構成>
図10に示されるように、実施形態3における情報処理装置2は、実施形態1で説明した情報処理装置1の構成を示す図1の構成に加えて、位置情報取得部1000を更に備える。位置情報取得部1000は、不図示の位置情報取得センサからGPS信号やWiFi信号などのセンサ情報を受信し、位置情報として例えば座標値やアクセスポイントの識別IDを算出する。位置情報取得部1000は、取得した位置情報を学習モデル選択部120に出力する。また、学習モデル群保持部130が保持する情報が実施形態1とは異なっている。本実施形態において、学習モデル群保持部130は、少なくとも2つの学習モデルと、各モデルの学習のために用いた学習画像を撮像した位置情報を記載した位置情報リストを持つものとする。
<処理>
実施形態3における処理手順は、実施形態1で説明した情報処理装置1の処理手順を示す図4と同一であるため説明を省略する。また、図4におけるステップS140の詳細は、図5と同一であるため説明を省略する。実施形態1と異なるのは、図5のステップS1120における学習モデル選択部が学習モデルの評価値を算出する評価値算出処理である。本実施形態では図6に代えて図8の処理を行う。
以下、図8を参照しながら、本実施形態に係る学習モデルの評価値算出処理について説明する。なお、図8のステップS1340は、図6のステップS1230と同一なので説明を省略する。
ステップS1410では、位置情報取得部1000が、学習モデル群保持部130が保持する学習画像撮像時に位置情報取得センサから取得したGPS信号やWiFi信号等のセンサ情報から、緯度経度やアクセスポイントの識別IDなどの位置情報を取得する。
ステップS1420では、学習モデル選択部120が、評価値を算出していない学習モデルと関連付けられた位置情報リストを、学習モデル群保持部130からRAMであるH13にロードする。
ステップS1430では、学習モデル選択部120が、ステップS1410で取得した位置情報とステップS1420でロードした物体情報リストとを比較して、一致している位置情報を探索する。具体的には、位置情報としてWiFiのアクセスポイントの識別IDを用いるのであれば、一致しているアクセスポイントの識別IDが見つかった場合にはその位置情報が観測された学習モデルに投票する。
また、GPSから得た緯度経度を位置情報として用いるのであれば、ステップS1410で取得した位置情報が保持されている位置情報リストと学習モデル群保持部が保持する位置情報との距離が所定の閾値以内であるか判定する。そして、位置情報から求めた座標の国や地域が同一であれば一致している位置情報と判定し、学習モデルに投票する。各学習モデルには整数を保持するメモリが割り当てられており、一致する位置情報があれば当該メモリ値を+1増加させることとする。このメモリは図4の初期化ステップS110で0に初期化されているものとする。なお、本実施形態における評価値とは、投票数である。
<効果>
以上に述べたように、実施形態3では、入力画像や学習モデルを学習した学習画像を撮影した位置情報が一致しているほど高い評価値を学習モデルに付与する。これにより、入力画像と学習画像とを撮影した位置情報が一致している学習モデルを選択することができるため、学習モデルが高い精度で幾何情報を推定することができ、高い精度で撮像装置の位置姿勢を算出することができる。
<変形例>
実施形態3では、位置情報としてGPSから求めた緯度経度や、WiFiアクセスポイントの識別IDを例として挙げた。しかしながら、位置情報は入力画像と学習画像を撮影した位置を識別できるものであれば何でもよい。例えば、緯度経度から求めた国名、地域名、住所であってもよいし、後述するWiFiアクセスポイント以外の識別IDであってもよい。
位置情報の計測方式としては、緯度経度はGPS信号、アクセスポイントの識別IDはWiFi信号から求める例を挙げた。しかしながら、位置情報が計測できるものであればなんでもよい。例えば、入力画像中に地名が写っていれば、地名から位置情報を算出してもよい。光学式センサを用いて赤外線ビーコンの識別IDを検知して位置情報として用いてもよく、マイクを使って超音波ビーコンの識別IDを検知して用いてもよい。BLE(Bluetooth(登録商標) Low Enagy)による無線ビーコンの識別IDを検出して用いてもよい。また、3Gや4Gのモバイルネットワークの基地局IDを計測して位置情報として用いてもよい。さらに、例示した位置情報のうち一種類のみ使用してもよいし複数使用してもよい。
(実施形態4)
実施形態1では、入力画像と学習モデルの学習に利用した学習画像との類似度を評価値として算出していた。実施形態2では、入力画像から検出した物体種と、あらかじめ学習画像から検出しておいた物体種とを比較することで学習モデルの評価値を算出していた。実施形態3では、入力画像や学習モデルを学習した学習画像を撮影した位置情報を用いて学習モデルの評価値を算出していた。ただし、これまで述べてきた方法では、入力画像に写っているシーンが昼なのに反して夜に撮影した学習画像を用いて学習した学習モデルや、春なのに反して冬の雪が降っているシーンの学習画像を用いて学習した学習モデル、雨なのに反して晴れの日の学習画像で学習した学習モデルというように、同一の撮影地点でも見えが違う状況の学習画像で学習した学習モデルが選択されうる。しかしながら、見えの違う状況の学習画像で学習した学習モデルを用いてしまうと、学習モデルが推定する幾何情報の精度が低下することにより、位置姿勢を高精度に取得することが困難になる。そこで、実施形態4では、入力画像や学習モデルを学習した学習画像を撮影した日時や季節、天気といった画像の見えを変えうる状況を表す状況情報が一致するほど、学習モデルに高い評価値を算出する。
<情報処理装置の構成>
実施形態4における情報処理装置の構成は、実施形態1で説明した情報処理装置1の構成を示す図1と同一であるため省略する。学習モデル群保持部130が保持する情報が実施形態1と異なる。本実施形態において、学習モデル群保持部130は、少なくとも2つの学習モデルを保持する。さらに、学習モデルごとにそのモデルの学習のために用いた学習画像を撮像した際の画像の見えを変えうる状況を記述した状況情報を保持する。なお、本実施形態においては状況情報の具体例として、日時情報を状況情報として用いる場合を説明する。各学習モデルに対して状況情報リストが1つずつ関連付けられており、状況情報リストには状況情報として学習画像を撮影したが状況情報が保持されているものとする。また、情報処理装置は撮影時刻を取得することのできる内部時計を保有しているものとする。
<処理>
実施形態4における処理全体の手順は、実施形態1で説明した情報処理装置1の処理手順を示す図4と同一であるため、説明を省略する。また、図4における学習モデルのステップS140の詳細は、図5と同一であるため説明を省略する。実施形態1と異なるのは、図5のステップS1120における学習モデル選択部が学習モデルの評価値を算出する評価値算出処理である。
評価値算出処理においては、内部時計から取得した日時情報と学習モデル群保持部が保持する状況情報である日時情報の一致度合が高いほど、学習モデルに高い評価値をつける。具体的には、状況情報リストに保持された撮影時刻と入力画像の撮影時刻との時間の差が所定の時間内であり、かつ撮影した月/日が所定の日数以内であれば一致する時刻・季節に撮影された学習モデルであるとする。各学習モデルには状況情報の一致/不一致を表す二値(1:True/0False)を保持することのできるメモリが割り当てられており、一致する時刻・季節に撮影された学習モデルと判定された場合に当該メモリを1(True)とする。なお、図4の初期化ステップS110で0(False)として初期化されているものとする。
<効果>
以上に述べたように、実施形態4では入力画像や学習モデルを学習した学習画像の見えを変えうる状況情報が一致しているほど高い評価値を学習モデルに付与する。これにより、入力画像と学習画像の撮影状況が一致している学習モデルを選択することができるため、学習モデルが高い精度で幾何情報を推定することができ、高い精度で撮像装置の位置姿勢を算出することができる。
<変形例>
実施形態4では、状況情報として情報処理装置が保有する電子時計から取得した日時情報を用いていた。しかしながら、現在の時刻を取得できれば日時情報の取得方法は何でもよく、I/F(H17)を介してネットワーク経由で外部サーバから取得してもよいし、キーボード等の入力手段を用いてユーザが入力してもよい。
実施形態4では、状況情報として日時情報を用いていた。しかしながら、状況情報は日時情報に限らず、撮像した画像の見えを変える状況を表す情報なら何でもよい。例えば、日時情報をそのまま使うのではなく、日時情報から例えば朝/昼/夕方/夜/薄明というように分類した時間のカテゴリを状況情報として用いてもよい。このとき、状況情報保持リストには学習画像を撮像した時間のカテゴリ情報が保持されており、これらが一致する学習モデルほど高い評価値を算出してもよい。また、春/夏/秋/冬といった季節情報を状況情報として用いてもよく、この時には、状況情報保持リストに学習画像を撮像した季節情報が保持されており、これらが一致する学習モデルほど高い評価値を算出してもよい。また、天気を配信するWebサイトからI/F(H17)を介してネットワーク経由で取得した晴れ/曇り/雨/雪といった天気情報を状況情報として用いてもよい。このとき、状況情報保持リストには学習画像を撮像した天気情報が保持されており、これらが一致する学習モデルほど高い評価値を算出してもよい。
(実施形態5)
実施形態1では、入力画像と学習モデルの学習に用いた学習画像との類似度を評価値として算出していた。実施形態2では、入力画像から検出した物体種と、あらかじめ学習画像から検出しておいた物体種とを比較することで学習モデルの評価値を算出していた。実施形態3では、入力画像や学習モデルを学習した学習画像を撮影した位置情報を用いて学習モデルの評価値を算出していた。実施形態4では、撮像した画像の見えを変えうる状況情報の一致度から学習モデルの評価値を算出した。これ対して、実施形態5では、実施形態1から実施形態4を組み合わせた方式で学習モデルの評価値を算出する例を説明する。
<情報処理装置の構成>
実施形態5における情報処理装置の構成は、実施形態1で説明した情報処理装置1の構成を示す図1と同一であるため説明を省略する。学習モデル群保持部130が保持する情報が実施形態1と異なっている。本実施形態において、学習モデル群保持部130は、少なくとも2つの学習モデルを持ち、さらにモデルごとに、実施形態1で説明したようにそのモデルの学習のために用いた学習画像を1枚以上保持する。また、実施形態2で説明したようにそのモデルの学習画像からあらかじめ検出した物体情報を記載した物体情報リストを保持する。実施形態3で説明したようにそのモデルの学習画像を撮像した位置情報を記載した位置情報リストを保持する。さらに、実施形態4で説明したようにそのモデルの学習画像を撮像した際の状況情報を記載した状況情報リストを保持する。
<処理>
実施形態5における処理手順は、実施形態1で説明した情報処理装置1の処理手順を示す図4と同一であるため説明を省略する。実施形態1と異なるのは、ステップS140における学習モデル選択部120が学習モデルを選択する手順である。
ステップS140では、学習モデル群保持部130が保持する物体情報リストを用いて、学習モデル選択部120がそれぞれの学習モデルの評価値を算出する。この時、実施形態1のステップS1220で説明した評価値を評価値1として算出する。次に、実施形態2、および実施形態3、実施形態4で説明した各学習モデルの投票数のうち、最大投票数で各投票数を割って正規化した0~1の連続値を評価値2、および評価値3として算出する。
図5のステップS1130では、学習モデル選択部120が、ステップS1220、ステップS1330、およびステップS140で算出した評価値1から評価値4に基づいて使用する学習モデルを選択する。本実施形態では、評価値1から4の和が最大となる学習モデルを選択することとし、学習モデル選択部120が、記録部(例えばRAM:H13)に当該学習モデルを読み込むことで、幾何情報推定部140が幾何情報を推定可能な状態にする。
<効果>
以上に述べたように、実施形態5では、入力画像と学習画像との類似度、入力画像と学習画像から検出した物体種の一致度、入力画像や学習画像を撮影した位置情報の一致度が高いほど高い評価値になるように学習モデルの評価値を算出する。入力画像と学習画像とが類似しており、かつ入力画像と学習画像とに同一種類の物体が撮像されており、かつ撮影した位置が一致し、かつ撮影時刻や季節、天気が一致する学習モデルを選択することで、高い精度で幾何情報を推定することができる。従って、高い精度で撮像装置の位置姿勢を算取得することができる。
<変形例>
実施形態5においては、入力画像と学習画像の類似度、入力画像と学習画像から検出した物体種の一致度、入力画像や学習画像を撮影した位置情報の一致度、撮像した画像の見えを変えうる状況情報の一致度から学習モデルの評価値を算出した。しかしながら、上記4つのうち2つを使用する構成であってもよい。また、ステップS1130における学習モデルの決定においては、例えば、評価値1から評価値3の所定の重み付き平均が最大となる学習モデルを選んでもよい。あるいは、各評価値が所定の閾値以上の中から最大の学習モデルを選んでもよいし、各評価値すべての中で最大の評価値をもつ学習モデルを選んでもよい。
また、各評価値に基づいて、徐々に学習モデルを絞り込んでもよい。例えば、初めに位置情報と状況情報により絞り込んでおいてから、類似する画像や物体種が写る学習画像で学習した学習モデルを選択する。具体的には、評価値3および評価値4が所定の閾値以上の学習モデルを選び出し、さらにその中から評価値1と評価値2との和が最大となるような学習モデルを選ぶ。これにより、計算量が多い類似画像探索や物体検出処理を減らすことができる。
また、本発明における情報処理装置を、自動車に搭載した場合には、自動運転における電動モータなどの移動機構の制御に用いてもよいし、人の運転時の加減速やハンドリング操作のアシストに用いてもよく、ナビゲーションシステムとして用いてもよい。また、自動車に搭載するのに限るのではなく、クラウド上に本情報処理装置を実装し、ネットワーク経由で処理した結果を自動車の制御や運転アシスト、ナビゲーション等に用いてもよい。
自動車向けに本発明における情報処理装置を用いる場合には、学習モデル選択部120は自動車に搭載されたカーナビゲーションシステムや各種センサ、各種制御装置から通信I/F(H17)を介して取得した走行情報を用いて学習モデルを選択することもできる。なお、このような構成とした場合には、自動車から得られる走行情報を用いて学習モデルを選択する方法であれば何でもよい。具体的には、走行情報としてカーナビゲーションシステムの地図情報に付随したシーンのカテゴリ(市街地や山間地域、海辺地域、トンネル内、高速道路)を取得し、実施形態1で説明したようにシーンのカテゴリ情報をもとに学習モデルを選択してもよい。別の選択方法としては、走行情報として、自動車に搭載されたカメラから道路上の人や自動車、信号機、標識やそれらの数・密度、道路の状況(車線数、路面:アスファルトや土)を取得し、それらを物体情報として、実施形態2で説明したように学習モデルを選択してもよい。他には、走行情報として、カーナビゲーションシステムが算出した自動車が走行している住所情報や、自動車に搭載したカメラが撮影した交通看板から認識した地名情報、GPSやWiFi、各種ビーコンから得たセンサ情報を取得し、これらから得た位置情報をもとに実施形態3で説明したように学習モデルを選択してもよい。さらには、カーナビゲーションシステムから得られる時刻情報、ライトの点灯の有無(昼/夜の判別に利用できる)やワイパーの動作の有無(晴れ/雨の判別に利用できる)を実施形態4で説明したよう状況情報として用いて学習モデルを選択してもよい。また、車種や自動車へのカメラの取り付け位置や取り付け向きを状況情報として用いて、同一車種、同一の位置や姿勢で取り付けられたカメラで撮影した学習モデルほど高くなるように評価値となるように算出してもよい。なお、ここでは実施形態1から4で述べた方法を自動車に適応した事例を複数例示したが、これらはどれか一つのみ利用しても、複数を組み合わせて用いてもよい。また、自車の走行情報をもとに学習モデルを選択する方法を例示したが、学習モデルの選択に用いることができる走行情報であれば何でもよく、周囲の自動車が取得した走行情報や、信号機や道路標識、道路横に設置した設置型カメラや各種センサから取得した走行情報をもとに学習モデルを選択してもよい。
(実施形態6)
実施形態1から実施形態5では、入力画像と学習画像との類似度や、それらの画像から検出した物体や画像撮像時の位置情報、撮像した画像の見えを変えうる状況情報に基づいて、学習モデルを選択していた。これに対して、実施形態6では、入力画像からモーションステレオにより推定した幾何情報(第二の幾何情報)と、学習モデル群保持部が保持する各学習モデルを用いて推定した幾何情報(第三の幾何情報)とを比較することで学習モデルの評価値を算出する。なお、学習モデル選択部が選択した学習モデルが出力した幾何情報が第一の幾何情報である。
すなわち、第一の幾何情報とは、選択済みの学習モデルが出力する幾何情報であって位置姿勢の取得に利用する幾何情報である。第二の幾何情報とは、モーションステレオ等で求めた幾何情報であって学習モデルの選択に利用する幾何情報である。第三の幾何情報とは、学習モデル群が出力した幾何情報であって学習モデルの選択に利用する幾何情報である。
<情報処理装置の構成>
実施形態6における情報処理装置の構成は、実施形態1で説明した情報処理装置1の構成を示す図1と同一であるため説明を省略する。実施形態1と異なるのは、各構成の役割とそれらのデータの入出力関係である。
幾何情報推定部140は、学習モデル選択部120が選択した学習モデルに画像入力部110が入力した入力画像を入力し、第一の幾何情報を推定する。また、幾何情報推定部140は、画像入力部110が入力した複数の画像に基づいて、第二の幾何情報を算出する。第二の幾何情報の算出法方法については後述する。さらに、幾何情報推定部140は、学習モデル群保持部130が保持する各学習モデルに入力画像を入力し、第三の幾何情報を推定する。そして、第二の幾何情報および第三の幾何情報を学習モデル選択部120に出力する。また、第一の幾何情報を位置姿勢取得部150に出力する。
学習モデル選択部120は、画像入力部110が入力した入力画像と、幾何情報推定部140により推定された第二の幾何情報及び第三の幾何情報とに基づいて、学習モデル群保持部130が保持するそれぞれの学習モデルの評価値を算出する。評価値に基づいて学習モデルを選択し、幾何情報推定部140に出力する。学習モデル群保持部130は、少なくとも2つの学習モデルを保持する。
<処理>
実施形態6における情報処理装置の処理手順は、実施形態1で説明した情報処理装置1の処理手順を説明した図4、およびステップS140における学習モデルの選択処理の詳細を説明した図5と同一であるため省略する。実施形態1と異なるのは、幾何情報推定部140が、さらに第二の幾何情報、第三の幾何情報を算出する点と、学習モデルの評価手順である。
ステップS150では、幾何情報推定部140が、各学習モデルを用いて第三の幾何情報である第三のデプスマップを推定する。さらに、入力画像に基づいて第二の幾何情報を算出する。本実施形態における第二の幾何情報とは、第一の時刻tに撮像装置11が撮像した第一の入力画像と、撮像装置11を既定の移動量(例えばカメラ座標系でX軸方向に10cm)動かした後の第二の時刻t+1に撮像装置11が撮像した第二の入力画像とに基づいて、モーションステレオ法により算出した第二のデプスマップのことである。なお、前述の既定の移動量をベースライン長として奥行きのスケールを規定する。
そして、学習モデル選択部120が、学習モデル群保持部130が保持する各学習モデルの評価値を算出する。学習モデル選択部120は、第三のデプスマップと第二のデプスマップとの各画素の奥行きの差を、画像中の全ての画素に対して加算した値の逆数を評価値として算出する。そして、学習モデル選択部120は、評価値が最大となる学習モデルを選択する。
<効果>
実施形態6では、幾何情報推定部140が学習モデルを用いて推定した第三の幾何情報と、入力画像からモーションステレオにより推定した第二の幾何情報とを比較することで学習モデルの評価値を算出する。これにより、モーションステレオにより推定した第二の幾何情報と類似する幾何情報を出力することができる学習モデルを選択することができ、高い精度で撮像装置の位置姿勢を取得することができる。
また、学習モデルが複数のシーンの学習画像を用いて学習されているといった場合や、学習モデルを特徴づける情報が保持されていない場合においても、高い精度で幾何情報を出力できる学習モデルを選択することができる。このため、高い精度で撮像装置の位置姿勢を取得することができる。
<変形例>
実施形態6においては、画像を撮像する撮像装置11は、RGBカメラを用いてモーションステレオ法により第二の幾何情報を算出していた。しかしながら、撮像装置11が、奥行き情報や距離画像、三次元点群データを撮像できるカメラである場合には、それらから得られる奥行き情報を第二の幾何情報として用いてもよい。また、二台以上の複数のカメラやセンサを備えるカメラを用いる場合には、複数のカメラの画像をステレオマッチングして算出した奥行きを第二の幾何情報としてもよい。さらには、情報処理装置がLiDARやミリ波レーダなど奥行き情報を得ることができるセンサを更に搭載していれば、それらから得た奥行き情報を第二の幾何情報としてもよい。
実施形態6では、カメラを規定量だけ移動させることでベースライン長を決定していた。しかしながら、情報処理装置1がIMUといった慣性計測装置などのカメラの移動量を推定できる移動量測定センサを備えていれば、センサで取得したセンサ情報(移動量)をベースライン長として用いてスケールを規定してもよい。IMUとは、inertialmeasurement unitの略である。
また、モーションステレオに利用した二枚の画像のベースライン長が未知のまま、学習モデル選択部120が、学習モデル群保持部130が保持する各学習モデルに評価値を付与してもよい。
具体的には、まず学習モデル選択部120が、ベースライン長が未知のままモーションステレオにより求めたデプスマップを、例えば平均値、中央値、最大値、最小値などで正規化した第二のデプスマップを算出する。次に、学習モデル選択部120が、学習モデル群保持部130が保持する学習モデルに入力画像を入力し、得られたデプスマップの平均値、中央値、最大値または最小値などで正規化した第三のデプスマップを算出する。そして、第三のデプスマップと第二のデプスマップの奥行きの差の、画像全体の和の逆数を評価値として、評価値が最大となる学習モデルを選択する。
これにより、モーションステレオのベースラインが未知であっても、第三のデプスマップと第二のデプスマップの概略構造が一致する学習モデルを選択することができ、高い精度で位置姿勢を取得することができる。
実施形態6では、第三の幾何情報と第二の幾何情報とが一致する学習モデルを選択していた。しかしながら、第二の幾何情報を算出せずとも、少なくとも第三の幾何情報のみを用いて学習モデルを決定することもできる。例えば、各学習モデルが出力した第三の幾何情報に基づいて位置姿勢取得部150が位置姿勢を算出したときの残差に基づいて、学習モデル選択部120が各学習モデルに評価値をつけてもよい。具体的には、位置姿勢取得部150が、各学習モデルが推定した前デプスマップの各画素の奥行き値に基づいて前フレームの各画素を現フレームに射影したときの、射影前の前フレームの画素と、射影後の現フレームの画素との輝度の誤差を最小化するように位置姿勢を算出する。また、この時の輝度の誤差の残差を学習モデル選択部120に入力する。そして、学習モデル選択部120が、位置姿勢取得部150が入力した残差の逆数を評価値とし、評価値が最大となる学習モデルを選択する。また、位置姿勢取得部150が、繰り返し計算により徐々に誤差が小さくなるように位置姿勢を算出する場合には、誤差が収束するまでにかかった回数や時間を計測し、それらを学習モデル選択部120に入力してもよい。この時、学習モデル選択部120は、回数や時間の逆数を評価値としてもよく、評価値が最大となる学習モデルを選択してもよい。
また、学習モデル群保持部130が保持するそれぞれの学習モデルが出力する第三のデプスマップを初期値として、時系列フィルタリングによりそれぞれ第二のデプスマップを算出する構成であってもよい。このときには、学習モデル選択部120が、時系列フィルタリングにおけるそれぞれの第二のデプスマップの奥行き値の変化量に基づいて学習モデルに評価値を付与する。具体的には、時系列フィルタリングによる各画素の奥行きの変化量の例えば平均値、中央値、最大値、最小値や和の逆数を各学習モデルの評価値として算出してもよく、この評価値が最大となる学習モデルを選択してもよい。また、時系列フィルタリングにおいて各画素の奥行きの分散値や信頼度(非特許文献1におけるUncertainty map)を求め、分散値の逆数や信頼度の例えば平均値、中央値、最大値、最小値や和が最大となる学習モデルを選択してもよい。
実施形態6では、学習モデルが出力する幾何情報がデプスマップである場合について説明した。しかしながら、時刻の異なる二枚の入力画像を入力し、得られる出力の幾何情報が2枚の画像間の相対位置姿勢の6パラメータである学習モデルを用いてもよい。なお、学習モデルが出力した相対位置姿勢のことを第一の相対姿勢と呼ぶ。このような学習モデルを用いる場合には、学習モデル選択部120が、二枚の画像間で特徴点を検出およびマッチングし、二枚の画像で特徴量が一致した特徴点の対応関係に基づいて5点アルゴリズムを用いて第二の相対位姿勢を算出する。このとき、学習モデル選択部120が、第一の相対位置姿勢と第二の相対位置姿勢の6パラメータの二乗距離の逆数を評価値とし、評価値が最大となる学習モデルを選択する。
実施形態6では、学習モデル選択部120が、モーションステレオにより算出した第二のデプスマップと、学習モデルが出力した第三のデプスマップとを比較して、学習モデルに評価値を付与していた。しかしながら、入力画像からサイズが既知の物体が検出できれば、物体のサイズと第三のデプスマップとが整合する学習モデルに高い評価値をつけてもよい。
図11に示されるように、本変形例における情報処理装置3は、実施形態1で説明した情報処理装置1の構成に加えて、物体モデル保持部1110と、物体検出部1120とをさらに備える。物体モデル保持部1110は、形状が既知の物体モデルを保持する。物体検出部1120は、入力画像から物体検出と物体モデルの位置合わせを行う。そして、物体検出部1120が物体を検出し、入力画像に物体モデルを位置合わせしたときに算出できる物体表面までの距離情報と、学習モデルが出力した当該領域のデプスマップ中の物体領域の奥行き値とを学習モデル選択部120が比較する。そして、その比較結果に基づいて学習モデルに評価値を付与する。なお、物体モデル保持部1110と学習モデル保持部130とを一体に構成してもよい。
本変形例における物体モデルとは、例えば大きさや形状がおおよそ一定の一般物体である、例えば缶やペットボトル、人の手といった物体の三次元のCADデータのことである。具体的には、まず、物体検出部1120が入力画像から物体検出を行う。物体検出には、例えば、入力画像の微分である勾配画像とCADデータをさまざまな方向から観察したときのシルエットとの位置合わせを行うLine2D法(非特許文献6)により、入力画像中に写っている物体にCADモデルを位置合わせする。なお、物体の位置合わせ方法は上記方法に限らない。次に、カメラの内部パラメータに基づいて、カメラからCADモデル表面までの距離値を算出する。最後に、学習モデル選択部120が、学習モデルに入力画像を入力し、得られた幾何情報であるデプスマップの物体領域の奥行き値と、CADモデルから算出した当該領域の距離値との差を算出し、物体領域全域に渡って加算した逆数を評価値として算出する。学習モデル選択部120は、この評価値が最大となる学習モデルを選択する。なお、本変形例では形状の既知な一般物体を用いた場合について説明したが、一般物体ではなくとも大きさが既知な特定の模様を印刷した人工マーカや、大きさや形状が一意に定まる三次元物体を代わりに用いてもよい。
これにより、入力画像に写っている大きさが既知の物体の大きさが正しく推定できる学習モデルを選択することができ、学習モデルが出力するデプスマップの精度が向上し、位置姿勢取得の精度を向上させることができる。
(実施形態7)
実施形態1から実施形態6では、選択した学習モデルが入力画像に写るシーンに適しているかユーザが確認することができなかった。これに対して、実施形態7では、ユーザが確認できるように、学習モデルを特徴づける情報、学習モデルの出力に基づき仮想物体であるCG画像を合成した合成画像、学習モデルの出力に基づき生成したシーンの三次元形状などを表示部に表示する例を説明する。
<情報処理装置の構成>
実施形態7における情報処理装置の構成の一部は、実施形態1で説明した情報処理装置1の構成を示す図1と同じであるため説明を省略する。実施形態1と異なるのは、表示情報生成部12と表示部13とを情報処理装置1に組み込んだ点である。
学習モデル群保持部130は、少なくとも2つの学習モデルと、学習モデルを特徴づける情報リストを保持する。学習モデルを特徴づける情報リストとは、実施形態1で説明した学習画像であってもよいし、実施形態2で説明した物体情報リストであってもよいし、実施形態3で説明した位置情報リストであってもよい。これらのリストすべてを保持しておいてもよいし、一部のみ保持しておいてもよい。本実施形態では、学習モデル群保持部130が、3種のリストすべてを、学習モデルを特徴づける情報リストとして保持するものとする。
学習モデル選択部120は、学習モデル群保持部130が保持する学習モデルを特徴づける情報リストと、学習モデル群保持部130が保持するそれぞれの学習モデルに入力画像を入力して得た幾何情報とを表示情報生成部12に出力する。
表示情報生成部12は、学習モデルを特徴づける情報リストを文字情報としてレンダリングした第1の合成画像を生成する。また、幾何情報推定部140により推定された幾何情報(第一の幾何情報又は第三の幾何情報)に基づいて仮想物体を合成した第2の合成画像を生成する。さらに、幾何情報推定部140により推定された幾何情報(第一の幾何情報又は第三の幾何情報)に基づいて作成した入力画像に写るシーンの三次元形状をレンダリングした第3の合成画像を生成する。これらの合成画像を表示情報として表示部13に出力する。なお、これらのうち少なくとも1つを表示情報として生成してもよい。
表示部13は、例えばモバイル端末のディスプレイのウィンドウのことであり、表示情報生成部12が入力した表示情報を提示する。
図9は、本実施形態における表示部13が提示する表示情報の一例であるGUI100を示す図である。
G110は学習モデルを特徴づける情報リストを提示するためのウィンドウであり、G120は仮想物体であるCG画像を合成した合成画像を提示するためのウィンドウであり、G130は幾何情報や三次元形状を提示するためのウィンドウである。また、G140は入力画像や入力画像から検出した情報を提示するためのウィンドウである。また、G1410は、学習モデル選択部120が選択した学習モデルを示す枠である。
G1110は、ウィンドウG110に、学習モデル群保持部130が保持する学習モデルのモデル名を提示した例である。また、G1120は、学習モデル群保持部130が保持する位置情報リストを提示した例である。G1130は、学習モデル群保持部130が保持する物体情報リストを提示した例である。G1131は、学習モデル群保持部130が保持する各学習モデルの学習のために用いた学習画像を提示した例である。また、G1140は、入力画像に写る物体種や、入力画像を撮像した位置情報をウィンドウG140に提示した例である。G1150は、入力画像をウィンドウG140に提示した例である。ユーザはウィンドウG110とG140とに提示された内容を比較することで、学習モデル選択部120が選択した学習モデルが適切であるかどうか確認することができる。
G1210は、ウィンドウG120に、幾何情報推定部140により推定された幾何情報に基づいて入力画像に合成した仮想物体のCG画像である。G1220は、入力画像に仮想物体G1210を合成した画像を提示した例である。また、G1230は、学習モデル選択部120が算出した各モデルの評価値を提示した例である。ここでは、CG画像として人のモデルを入力画像のベッドの上に重畳し、さらに第三の幾何情報から求めたベッドのサイズのCG画像を重畳した例を示した。このとき、ユーザは入力画像とCG画像とが整合しているかどうかを確認することができる。
具体的には、ベッドとCG画像とのスケールが一致しているか、ベッドの大きさが実物のスケールと一致しているか、CG画像がベッド面に対して正対しているかといった点から、学習モデル選択部120が選択した学習モデルが適切かどうか判断できる。
G1310は、ウィンドウG130に幾何情報推定部140により推定された幾何情報に基づいて入力画像を撮像したシーンの三次元形状を復元した結果を提示した例である。ユーザは、提示された三次元形状が歪んでいないか、奥行きのスケールが実物と異なっていないかを確認することで、学習モデル選択部120が選択した学習モデルが適切であるかどうか判断できる。
<処理>
実施形態7における全体処理の手順は実施形態1で説明した情報処理装置1の処理手順を説明した図4と同一であるため説明を省略する。実施形態1と異なる処理は、表示情報生成部12が表示情報を生成する手順である。
ステップS170では、表示情報生成部12が、学習モデルを特徴づける情報リストを表示部13のウィンドウG110の位置にレンダリングする。具体的には、学習モデル群保持部130が保持する学習モデルを学習した学習画像G1131や、位置情報リストG1110、物体情報リストG1120を所定の位置にレンダリングし、表示情報を生成する。また、幾何情報推定部140により推定された幾何情報に基づいて仮想物体のCG画像を入力画像に合成する。
具体的には、まず、幾何情報であるデプスマップからRANSAC法を併用した平面フィッティングを用いて主平面を求める。次に、主平面の法線方向を算出する。最後に、主平面上に仮想物体のCG画像を所定の位置(例えばG120)にレンダリングし、表示情報を生成する。なお、G1210に示したようにデプスマップ上の任意の二点の距離をレンダリングしてもよい。さらに、幾何情報推定部140により推定された幾何情報に基づいて算出した、入力画像を撮像したシーンの三次元形状を復元した結果を所定の位置(例えばG130)にレンダリングし、表示情報を生成する。具体的には、入力画像の各画素を、デプスマップの各画素の奥行き値に基づいて任意の仮想カメラに射影した射影画像を生成し、表示情報に追加する。以上のようにして生成した表示情報を、表示部13が、ディスプレイに提示する。
<効果>
以上述べたように、実施形態7では、学習モデルを特徴づける情報、仮想物体のCGを合成した合成画像、学習モデルが出力した幾何情報や当該幾何情報に基づいて復元した三次元形状を提示する。これにより、各学習モデルを入力画像に写るシーンで利用したときの適合度や、正しい学習モデルを選択することができたかどうかということをユーザが確認することができる。さらに、不適切な学習モデルが選択された場合には、処理をやり直し、適切な学習モデルを選択し直すことができるようになり、高い精度で位置姿勢を取得することができるようになる。
<変形例>
実施形態7では、学習モデルを特徴づける情報、仮想物体のCGを合成した合成画像、学習モデルが出力した幾何情報や幾何情報に基づいて復元した三次元形状をレンダリングした表示情報を提示する構成について説明した。しかしながら、3つの表示情報をすべて提示する必要はなく、少なくとも1つを提示する構成であってもよい。
表示情報に基づいてマウスやキーボードなどの入力部を用いてユーザが入力した入力情報に基づいて、学習モデル選択部120が学習モデルを選択することもできる。図9のG1420はラジオボタンであり、G1430は入力ボタンである。ユーザはラジオボタンでチェックしたモデルを利用することを、入力ボタンを押下して情報処理装置に入力する。このような構成にすることで、学習モデルを特徴づける情報を参照してユーザが学習モデルを選択することができ、入力画像を撮像したシーンにおいて学習モデルが高い精度で幾何情報を算出することができる。従って、高い精度で位置姿勢を取得することができる。また、ユーザが、自動選択された学習モデルが不適切と判断した場合に、選択結果を修正することもできる。
(実施形態8)
実施形態1から実施形態5では、最初に一度だけ学習モデルを選択していた。しかしながら、複合現実感を体験しているうちに、例えば利用者が移動することで入力画像に写るシーンが変化するような場合には対応が難しい。そこで、実施形態7では、一度学習モデルを選択した後も引き続き学習モデルについて再度評価値を算出し直す例を説明する。
<情報処理装置の構成>
実施形態8における情報処理装置の構成は、実施形態1で説明した情報処理装置1の構成を示す図1と同じであるため説明を省略する。実施形態1と異なるのは、幾何情報推定部140が入力画像に基づいて第二の幾何情報を算出して学習モデル選択部120に出力する点と、学習モデル選択部120が学習モデルの評価値を算出し直す点である。
幾何情報推定部140は、学習モデル群保持部130が保持する学習モデルと、画像入力部110が入力した入力画像とを用いてさらに第三の幾何情報を算出する。また、入力画像を用いてモーションステレオにより第二の幾何情報を算出し、学習モデル選択部120に出力する。
学習モデル選択部120は、幾何情報推定部140が入力した、第三の幾何情報と第二の幾何情報とに基づいて、学習モデル群保持部130が保持するそれぞれの学習モデルの評価値を算出する。そして、評価結果を幾何情報推定部140に出力する。
<処理>
実施形態8における全体処理の手順は実施形態1で説明した情報処理装置1の処理手順を説明した図4と同一であるため説明を省略する。実施形態1と異なる処理は、ステップS140において一度学習モデルを選択した後にも再度学習モデルの評価値を算出し、学習モデルを選択し直す点と、ステップS150において幾何情報推定部140が第二の幾何情報を算出する点である。
本実施形態におけるステップS140の処理の詳細では、図5のステップS1110の処理が取り除かれる。すなわち、学習モデルが決定済みか否かに関わらず、学習モデル選択部120が学習モデルの評価値を算出する。
図4におけるステップS150では、幾何情報推定部140が、学習モデルを用いて第三の幾何情報である第三のデプスマップを推定する。さらに、入力画像に基づいてモーションステレオを用いて第二の幾何情報を算出する。
さらに、本実施形態に係るステップS150では、学習モデル選択部120が、幾何情報推定部140により求められた第三の幾何情報と第二の幾何情報とに基づいて学習モデルの評価値を再算出する。具体的には、学習モデル選択部120が、図5のステップS1120で学習モデルの評価値算出に用いた入力画像が撮像された時刻t以降の任意の時刻t'において幾何情報推定部140が推定(更新)した第三の幾何情報である第三のデプスマップと、同時刻t'において幾何情報推定部140が推定(更新)した第二の幾何情報との奥行きの差の和の逆数を各学習モデルの評価値として再算出する。そして、学習モデル選択部120が、評価値が最大となる学習モデルを新たに選択する。
<効果>
実施形態8では、一度学習モデルを選択した後にも、再度学習モデルの評価値を算出し、学習モデルを選択し直す。これにより、例えば複合現実感を体験している間に、利用者が移動して入力画像に写るシーンが変化した場合に、学習モデルを再度評価できる。再評価結果が高い学習モデルを選択することで、その時点の入力画像に写るシーンにおいて高い精度で学習モデルが幾何情報を算出でき、従って、高い精度で撮像装置の位置姿勢を取得することがきる。
<変形例>
なお、学習モデルの評価値を再算出するタイミングは任意である。すなわち、一定の時間間隔ごとに再算出してもよいし、非特許文献1に記載のキーフレームの追加のタイミング毎に再算出してもよい。また、位置姿勢取得結果に基づいて、撮像装置11が所定の移動量以上移動したときに再算出してもよい。また、一度選択した学習モデルの評価値が低下した場合や所定の閾値を下回った場合に、再算出してもよい。入力画像に写るシーンや物体種が変化した場合や位置情報が変化した場合(例えば新たなWiFiアクセスポイントが見つかった、GPS位置情報が変化したといった場合)に、再算出してもよい。また、一定時刻経過した場合や、天気が変化した場合に再算出するようにしてもよい。
実施形態8では、幾何情報推定部140がモーションステレオにより第二の幾何情報を算出していた。しかしながら、第二の幾何情報を時系列的に統合して、精度を向上させてから学習モデルの評価に用いてもよい。例えば、時刻t'において幾何情報推定部140が推定した第三の幾何情報を初期値として、任意の時刻t'+iまでの入力画像から時系列フィルタリングにより第二の幾何情報を算出する(非特許文献1に記載)。また、複数の時刻t'においてこのようにして算出した複数のデプスマップを統合して第二のデプスマップを算出する。ここでいう統合とは、非特許文献7に記載がある、デプスマップの生成に用いた入力画像を撮像した複数時刻t'のカメラの位置姿勢をポーズグラフ最適化により算出し、得られたカメラ位置姿勢を用いてさらに複数の第二のデプスマップを平滑化することである。また、ポーズグラフ最適化時の残差を評価値として残差が最も小さい学習モデルを選択してもよし、ポーズグラフ最適化にかかる処理時間を評価値として処理時間が最も短かった学習モデルを選択してもよい。このようにすることで、最適化が進むとより評価値が正確に算出できるようになり、より適切な学習モデルが選択できるため、位置姿勢の取得精度が向上する。
実施形態8では、学習モデル選択部120が、幾何情報推定部140が算出した第二の幾何情報である第二のデプスマップと、学習モデルが出力した第三のデプスマップとを比較して、各モデルについて評価値を算出し直していた。しかしながら、学習モデルの選択方法はこれに限らず、時刻t'における入力画像を用いて実施形態1から実施形態7で説明した方法で各学習モデルの評価値を算出し直してもよい。
実施形態8では、学習モデル選択部120が、幾何情報推定部140が算出した第二の幾何情報である第二のデプスマップと、学習モデルが出力した第三のデプスマップとを比較して、各モデルについて評価値を算出し直していた。しかしながら、複数時刻t'における第三の幾何情報と第二の幾何情報との一致度に基づいて、一致度が高いほど高い評価値を付与し、当該評価値に基づいて学習モデルを選択してもよい。具体的には、学習モデル選択部120が、複数時刻t'における第三のデプスマップと第二のデプスマップの奥行き値の差の和である第1の評価値を算出する。そして、それら第1の評価値の、例えば平均値、中央値、最大値、最小値や和の逆数を第2の評価値として算出し、第2の評価値が最大となる学習モデルを選択する。これにより、複数時刻の入力画像において高い精度で第三の幾何情報を算出することのできる学習モデルを選択できる。このため、たとえ最初に誤った学習モデルを選択したとしても、学習モデル選択部120が、高い精度で幾何情報を推定できる学習モデルを徐々に選択し直すことができ、高い精度で位置姿勢を取得することができる。
評価値を算出し直すと、学習モデル選択部120が選択する学習モデルが変わることがある。このとき、幾何情報推定部140が幾何情報の推定に用いる学習モデルが変わるため、変更前後で学習モデルの出力が大きく変化する場合がある。これに対処するため、ステップS150において、幾何情報推定部140が所定の時間、二つの学習モデルが出力する幾何情報の重み付和を第三の幾何情報として算出してもよい。具体的には、モデルの切り替え期間を表す所定のフレーム数Nと、切り替え開始からの経過フレーム数αを用いて以下の式のようにしてデプスマップを補正する。
Figure 0007190842000005
ただし、Dが変更前の学習モデルが出力したデプスマップ、Dが変更後の学習モデルが出力したデプスマップ、Dが補正したデプスマップである。
(実施形態9)
実施形態1から8では、あらかじめ作成しておいた複数の学習モデルの中から、情報処理装置を適用するシーンにおいて精度よく幾何情報を推定することができる学習モデルを選択する方法について述べた。本実施形態では、第二の撮像装置91であるデプスセンサが取得したRGB画像とデプスマップとに基づいて、情報処理装置が用いる学習モデルを生成する方法について説明する。特に、本実施形態では、第二の撮像装置91が撮像したRGB画像からシーンの種別を認識し、種別ごとに学習モデルの作り分ける方法について述べる。なお、本実施形態においては、第二の撮像装置91とはTOFセンサのことであり、RGB画像とデプスマップが取得できるものである。
<情報処理装置の構成>
まず、図12を参照しながら、実施形態9に係る情報処理装置4の構成を説明する。実施形態9における情報処理装置4の構成は、実施形態1で説明した情報処理装置1の構成を示す図1に加えて、第二の画像入力部910、学習用データ分類部920、学習データ保持部930、学習モデル生成部940が追加された点で実施形態1と異なる。第二の画像入力部910は、第二の撮像装置91と接続されている。
第二の画像入力部910は、第二の撮像装置91が撮像するシーンの2次元画像の画像データ(以降、モデル学習用画像と呼ぶ)およびデプスマップ(以降、モデル学習用デプスマップと呼ぶ)を時系列(例えば毎秒60フレーム)に入力し、学習用データ分類部920に出力する。なお、モデル学習用画像とモデル学習用デプスマップを合わせて学習用データと呼ぶ。
学習用データ分類部920は、第二の画像入力部910が入力した学習用データに基づいてシーンの種別を認識し、種別ごとに学習用データを分類し、学習データ保持部930に出力する。なお、学習用データの分類方法については後述する。
学習データ保持部930は、学習用データ分類部920が分類した学習用データを、シーンの種別ごとに分類して保持する。学習データ保持部930は例えばSSD(Solid State Drive)である。シーンの種別ごとにフォルダが分けられており、学習用データ分類部920の分類結果に該当するフォルダに学習用データを保持する。なお、同時刻に取得したモデル学習用画像とモデル学習用デプスマップには共通ID(例えば連番や時刻)が割り振られており、対応づけられているものとする。
学習モデル生成部940は、学習用データ分類部920の分類結果をもとに学習データ保持部930に格納された学習用データを用いて学習モデルを生成する。生成した学習モデルを学習モデル群保持部130に出力する。
次に、図13のフローチャートを参照して、本実施形態における処理手順について説明する。本実施形態においては、実施形態1で説明した処理手順に加え、モデル学習用画像・モデル学習用デプスマップ撮像ステップS910、モデル学習用画像・モデル学習用デプスマップ入力ステップS920、画像分類ステップS930、学習データ保持ステップS940、学習データ収集完了判定ステップS950、学習モデル生成ステップS960、学習モデル保持ステップS970が追加されている点で実施形態1と異なる。
本実施形態では、まず実施形態1で説明した初期化ステップS110を実行し、システムを初期化する。次に、以降で述べるステップS910からS970までを実行し、学習モデルを生成する。そして、実施形態1で述べたステップS120以降の処理を実行し、撮像装置11の位置姿勢を算出する。
ステップS910では、第二の撮像装置91がシーンの撮影を行い、RGB画像およびデプスマップを第二の画像入力部920に出力する。次にステップS920に移行する。
ステップS920では、第二の画像入力部910が、第二の撮像装置91が撮像した画像およびデプスマップを、モデル学習用画像およびモデル学習用デプスマップとして取得する。次にステップS930に移行する。
ステップS930では、学習用データ分類部920が、モデル学習用画像からシーンの種別を認識し、学習用データを分類する。本実施形態では、実施形態1の変形例で述べたシーン判別学習モデルを用いる。シーン判別学習モデルとは入力した画像が当該カテゴリであれば1を、そうでなければ0を出力するようにあらかじめ学習しておいたDeep Learningを用いて学習されたニューラルネットワークのことである。つまり、モデル学習用画像をシーン判別学習モデルに入力し、得られたカテゴリを、学習用データの分類結果として判定する。次にステップS940に移行する。
ステップS940では、ステップS920における学習用データの分類結果を基に、学習用データ分類部920が学習用データを学習データ保持部930に保持する。具体的には、分類結果に該当するフォルダにモデル学習用画像・モデル学習用デプスマップを格納する。次にステップS950に移行する。
ステップS950では 学習用データの収集が完了したかどうかを判定する。ここでは、不図示の入力装置を用いてユーザが終了のコマンドを入力した際にデータの収集を完了と判定する。データ収集が完了と判定した場合にはステップS960に進む。そうでなければステップS910に進みデータ収集を続ける。
ステップS960では、学習モデル生成部940が、学習データ保持部930が保持する学習用データを用いて、学習用データ分類部920が分類したカテゴリごとの学習モデルを生成する。つまり、学習データ保持部930のフォルダごとに学習モデルを生成する。具体的には、学習用画像を該当フォルダから乱数により選択し、これを入力として学習モデルが出力した幾何情報と、選択した学習用画像に対応する学習用デプスマップとの誤差が最小化するように学習モデルを学習することを繰り返す。なお、学習モデルの生成方法は非特許文献1に詳述されており、これを援用できる。
学習用データ分類部920が分類したカテゴリごとに生成した学習モデルを、学習モデル生成部940が、学習モデル群保持部130に保持する。このとき、合わせて学習用画像を学習モデル群保持部130にコピーし保持しておく。
<効果>
以上に述べたように、実施形態9では、モデル学習用画像のシーンの判別結果を基にモデル学習用画像とモデル学習用デプスマップとを分類し、それぞれのシーンの種別ごとに学習モデルを生成する。このように、シーンの種別ごとに学習モデルを生成しておき、実施形態1で説明した位置姿勢算出時には撮像画像のシーンの種別が一致する学習モデルを用いることで、高い精度で撮像装置の位置姿勢を算出することができる。
<変形例>
実施形態9では、モデル学習用画像に写るシーン判別のために、シーン判別学習モデルを用いていた。しかしながら、モデル学習用画像に写るシーンの種別を判別するものであれば何でもよい。つまり、実施形態1で述べたように、あらかじめシーンの種別ごとにGLC特徴の特徴空間の識別境界をSVNによって算出しておき、モデル学習用画像から検出したGLC特徴がどのカテゴリに位置するか判別した結果を基にシーンの種別を判別してもよい。あらかじめシーンの種別ごとにカラーヒストグラムを作成しておき、モデル学習用画像のカラーヒストグラムが最も一致するシーンの種別に分類してもよい。
実施形態9では、モデル学習用画像に写るシーンを基に学習用データを分類し、学習モデルを生成していた。一方、モデル学習用画像に写る物体種に応じて学習用データを分類し、学習モデルを生成することもできる。つまり、「机」や「テーブル」、「車」、「信号機」といった物体の検出結果毎に学習用データを分類することもできる。なお、学習用画像からの物体検出については実施形態2で例示した物体検出方法を用いることができる。このようにして分類した学習データごとに学習モデルを生成する。また、あらかじめ物体の共起確率を算出しておき、これらに基づいて学習用データを分類してもよい。共起確率とは、例えば「ちゃぶ台」、「テレビ」、「ベッド」が同時に観測される確率、「机」、「椅子」、「パソコン」、「ディスプレイ」が同時に観測される確率など、物体が同時に観測される確率のことである。物体が同時に観測される確率を用いると、明示的なシーン検出はしていないものの、「ちゃぶ台」、「テレビ」、「ベッド」が観測されるシーンは日本家屋、「机」、「椅子」、「パソコン」、「ディスプレイ」が観測されるシーンはオフィスといったシーンごとの学習用データの分類ができる。
学習用データを取得した位置情報を用いて学習用データを分類することもできる。位置情報とは、実施形態3で説明したように、例えば緯度経度の座標値やWifiアクセスポイントの識別IDのことである。具体的には、緯度経度を所定の間隔で分割し、学習用データを分類してもよい。また、学習用データを取得した際に観測されたWifiアクセスポイントの識別IDごとに学習用データを分類してもよい。さらには、GPSから算出した位置情報から、国や地域、海/山/道路などのカテゴリを不図示の地図情報から同定し、それらカテゴリごとに学習用データを分類してもよい。このようにして分類した学習データごとに学習モデルを生成する。
学習用データを取得した日時や季節、天気といった画像の見えを変えうる状況ごとに学習用データを分類することもできる。例えば、撮影時刻の時間ごとに学習用データを分類してもよい。また、撮影時刻を朝、昼、夕、夜といったカテゴリに分割し、それらのカテゴリごとに学習用データを分類してもよい。撮影した月日ごとに分類してもよいし、月日から春/夏/秋/冬といった季節を区切り、学習用データを分類してもよい。天気を配信するWebサイトからI/F(H17)を介してネットワーク経由で取得した晴れ/曇り/雨/雪といった天気のカテゴリごとに学習用データを分類してもよい。このようにして分類した学習データごとに学習モデルを生成する。
モデル学習用デプスマップを基に学習用データを分類することもできる。例えば、モデル学習用デプスマップの奥行き値の平均、最大値、最小値、中央値、分散値をもとに学習用モデルを分類してもよい。モデル学習用デプスマップの凹凸度合をもとに学習モデルを分類してもよい。凹凸度合の判別には、例えばモデル学習用デプスマップに平面フィッティングにより主平面を算出し、主平面から所定の距離にあるデプスマップから算出した三次元点の個数を用いることができる。また、モデル画像用デプスマップから画素ごとに法線を算出し、周囲の画素との法線の内積が所定の距離以下を同一ラベルとしたラベリング結果の個数を凹凸度合としてもよい。
また、これまで述べたシーンや物体、位置情報などをユーザが不図示の入力手段により入力し、これらをもとに学習用データを分類することもできる。また、学習モデルの利用目的ごとに学習用データを分類してもよい。つまり、学習モデルを自動運転など車載カメラにおける位置姿勢推定に用いる用途や、スマートフォンやタブレットにCGを重畳するためのカメラの位置姿勢に用いる用途、といった用途種別をユーザが入力し、その入力結果(用途種別)毎に学習用データを分類してもよい。このようにして分類した学習データごとに学習モデルを生成する。
自動車のようにカーナビゲーションシステムが搭載された機器に第二の撮像装置91を搭載し、学習用データを取得する場合には、カーナビゲーションシステムの地図情報に付随したシーンの種別(市街地や山間地域、海辺地域、トンネル内、高速道路)をシーン判別結果として学習用データを分類してもよい。自動車に搭載されたカメラから道路上の人や自動車、信号機、標識やそれらの数・密度、道路の状況(車線数、路面:アスファルトや土)を取得し、それらを物体情報として、学習用データを分類することもできる。カーナビゲーションシステムが算出した自動車が走行している住所情報や、自動車に搭載したカメラが撮影した交通看板から認識した地名情報、GPSやWiFi、各種ビーコンから得たセンサ情報を取得し、これらから得た位置情報をもとに、学習用データを分類してもよい。カーナビゲーションシステムから得られる時刻情報、ライトの点灯の有無(昼/夜の判別に利用できる)やワイパーの動作の有無(晴れ/雨の判別に利用できる)をもとに学習用データを分類することもできる。車種や自動車へのカメラの取り付け位置や取り付け向きごとに学習用データを分類することもできる。このような分類結果を基に、それぞれの分類ごとに学習モデルを生成することができる。
また、学習用データを取得するシーケンスごとに学習用データを分類することもできる。つまり、本情報処理装置4を起動し、終了するまでを1シーケンスとし、その間に取得したデータは同じカテゴリであるとして分類する。このようにして学習モデルを生成することもできる。
ここまでで述べてきた分類法は一例であり、幾何情報が高精度に推定できる学習モデルを生成することができる分類方法であればどんな分類方法でもよい。前述の分類方法を個別に用いてもよいし、任意の数を組み合わせてもよい。
実施形態9では、第二の撮像装置91が撮像した直後に学習用データ分類部920が学習用データを分類し、学習データ保持部930に保持していた。しかしながら、あらかじめ第二の撮像装置91がモデル学習用画像とモデル学習用デプスマップとを撮りためておき、後に学習用データ分類部920が学習用データを分類してもよい。一般に画像認識や学習モデルの学習は計算コストが大きい。このため、このような構成にすると、あらかじめ計算リソースの小さいハードウェアで学習用データを取得しておいて、画像認識や学習モデルの学習は大きなリソースを持つハードウェアで処理するといったことができる。
また、このような構成とすることで、複数の第二の撮像装置91で個別に撮影した学習用データを組み合わせて用いる、一度取得した学習用データに加えて後から別の学習用データを加える、といったことも可能となる。さらには、実施形態8で説明したように、求めた第二の幾何情報をデプスマップとし、それと撮像装置11が撮像した画像とを合わせて学習用データとしてもよい。また、一度学習した学習モデルを、前述した方法で追加した学習用データを用いて、学習モデル生成部940が学習モデルを追加学習してもよい。
実施形態9では、学習用データ分類部920が、第二の撮像装置91が撮像したすべての学習用データを分類していた。しかしながら、すべての学習用データを分類する必要は無く、一部の学習用データのみ分類してもよい。第二の撮像装置91が取得するうち、例えば60回に1回のみ学習用データを分類し、学習データ保持部930に保持してもよい。また、学習用データ分類部920が、新たに取得した学習用データと学習データ保持部930に保持済みの学習データとの類似度が低いデータであれば学習データ保持部930に保持してもよい。ここでいう類似度とは、例えば画像の輝度の平均値や最大値、最小値、中央値、分散値の差である。また、モデル学習用画像をシーン判別学習モデルがシーン認識したときの認識尤度を使うこともできる。具体的には、シーン判別学習モデルが当該シーンか否かの0、1の出力を算出する直前の認識尤度値(各シーンの合致度合いの値)と、既に保持済みの学習用データの認識尤度値との距離のことである。このように、類似する学習データの数を減らすようにデータを収集する、学習用データの類似度の分離度合いが広がるように学習用データを収集することで、学習モデルの生成に係る時間が減るとともに、学習モデルの認識精度を向上させることができる。
実施形態9では、まず学習モデルを生成した後、その学習モデルを用いて位置姿勢推定をする方法について述べた。しかしながら、学習モデルの生成と、その学習モデルを用いて位置姿勢推定とを別々の装置で行うこともできる。例えば、学習モデルの生成を第一の情報処理装置で行い、作成した学習モデルをネットワーク経由でクラウドサーバにアップロードする。そして、別の第二の情報処理装置がネットワーク経由でクラウドサーバにある学習モデルをロードし、用いて位置姿勢推定するといった方式も可能である。さらには、学習モデル生成時に、第一の情報処理装置が学習用データを取得し、取得したデータをサーバにアップロードし、画像分類ステップS930、学習モデル生成ステップS960はクラウドサーバ上の第二の情報処理装置が行うという方式も可能である。
実施形態9では、ユーザが終了のコマンドを入力することで、学習用データの取得を終了した。学習に必要な学習用データが収集できていれば、学習用データの取得の終了判定方法は任意である。例えば、学習用データ分類部920が、所定の時間経過したら終了と判定してもよいし、所定の数の学習データが取得できたら終了と判定してもよい。さらには、各分類カテゴリの学習データ数が所定の数を上まわったら終了と判定してもよい。また、学習モデル生成部940が、学習モデルの学習度合を計算し、学習が収束したら学習を終了と判定してもよい。
本実施形態においては、画像の分類とは、学習用データ分類部920が学習モデルを分類した結果を基に、学習データ保持部930のフォルダごとに学習用データを保持することであった。しかしながら、フォルダごとに分類する必要は無く、学習用データごとに分類結果を記録したリストを学習データ保持部930が保持する構成としてもよい。
実施形態1から5では、学習モデル群保持部130は、少なくとも2つの学習モデルに加え、物体情報リスト、位置情報リスト、状況情報リストを保持する構成であった。これらリストは必要に応じて学習用データ分類部920が生成してもよい。つまり、モデル学習用画像から物体種を検出し物体情報リストに追加する、取得した位置情報や状況情報を位置情報リストや状況情報リストに追加する、という処理を合わせて行うことで、実施形態1から5で必要な情報を追加することができる。また、実施形態9で述べた学習用画像は学習モデル群保持部にコピーし保持する処理は、学習モデル選択時に学習用画像が必要でなければ無くてもよい。
第二の撮像装置91は、TOFセンサに限らず、画像とデプスマップを取得できるものであればよい。具体的には、パターンを投影し奥行きを推定するデプスカメラでもよい。また、2台のカメラを並べたステレオカメラ構成により、ステレオマッチングにより奥行きを算出し、デプスマップとして出力するステレオカメラであってもよい。さらには、3DLiDAR(Light Detection and Ranging)とカメラを組み合わせ、LiDARが取得した奥行き値を画像座標に変換したデプスマップを出力するように構成した装置であってもよい。また、画像はRGB画像に限らずグレー画像でもよい。また、事前に第二の撮像装置91が画像とデプスマップを取得し、不図示の記録装置に保持し、それら記録装置から画像とデプスマップを第二の入力部910が入力してもよい。
<各実施形態の効果>
実施形態1では、複数の学習モデルの中の各学習モデルに評価値を付与し、評価値が高い学習モデルを選択する。このとき、入力画像とそれぞれの学習モデルの学習時に用いた学習画像との類似度を算出し、類似度が高いほど高い評価値となるように各学習モデルの評価値を算出する。そして、評価値が高い学習モデルを用いて推定した幾何情報を用いて、撮像装置の位置姿勢を算出する。このように、入力画像と学習画像が類似している学習モデルを選択することで、学習モデルが高い精度で幾何情報を推定することができ、高い精度で撮像装置の位置姿勢を算出することができる。
さらに、個別のシーンごとに学習した小規模な学習モデルを選択して用いることで、メモリ容量の小さな計算機においても幾何情報を推定することができる。これにより、モバイル端末においても撮像装置の位置姿勢を算出することができる。
さらに、個別のシーンごとに学習した小規模な学習モデルを選択して用いることで、大規模な学習モデルを用いる場合と比較し、少ない実行時間で幾何情報を推定することができる。これにより、短い時間で撮像装置の位置姿勢を算出することができる。
実施形態2では、学習モデルの学習に使用した学習画像から検出した物体情報と、入力画像から検出された物体情報とを比較し、同じ種類の物体が写っているほど高い評価値となるように学習モデルの評価値を算出する。そして、評価値の大きな学習モデルを用いて推定した幾何情報を用いて撮像装置の位置姿勢を算出する。これにより、入力画像と学習画像に同じ種類の物体が写っている学習モデルを選択することができ、学習モデルが高い精度で幾何情報を推定することができ、高い精度で撮像装置の位置姿勢を算出することができる。
実施形態3では、入力画像や学習モデルを学習した学習画像を撮影した位置情報が一致しているほど評価値が高くなるように学習モデルの評価値を算出する。これにより、入力画像と学習画像とを撮影した位置情報が一致している学習モデルを選択することができるため、学習モデルが高い精度で幾何情報を推定することができ、高い精度で撮像装置の位置姿勢を算出することができる。
実施形態4では、入力画像や学習モデルを学習した学習画像の見えを変えうる状況情報が一致しているほど高い評価値を学習モデルに付与する。これにより、入力画像と学習画像の撮影状況が一致している学習モデルを選択することができるため、学習モデルが高い精度で幾何情報を推定することができ、高い精度で撮像装置の位置姿勢を算出することができる。
実施形態5では、入力画像と学習画像との類似度、入力画像と学習画像から検出した物体種の一致度、入力画像や学習画像を撮影した位置情報の一致度が高いほど評価値が高くなるように学習モデルの評価値を算出する。より具体的には、力画像と学習画像とが類似しており、かつ入力画像と学習画像に同一種類の物体が撮像されており、かつ撮影した位置が一致する学習モデルを選択する。これにより、学習モデルが高い精度で幾何情報を推定することができ、高い精度で撮像装置の位置姿勢を算出することができる。
実施形態6では、幾何情報推定部140が学習モデルを用いて推定した第三の幾何情報と、入力画像からモーションステレオにより推定した第二の幾何情報とが類似しているほど評価値が高くなるように学習モデルの評価値を算出する。これにより、モーションステレオにより推定した第二の幾何情報と類似する第三の幾何情報を出力することができる学習モデルを選択することができ、高い精度で撮像装置の位置姿勢を算出することができる。
また、学習モデルが複数のシーンの学習画像を用いて学習された場合や、学習モデルを特徴づける情報が保持されていない場合においても、高い精度で幾何情報を出力できる学習モデルを選択することができる。このため、高い精度で撮像装置の位置姿勢を算出することができる。
実施形態7では、学習モデルを特徴付ける情報、仮想物体のCGを合成した合成画像、学習モデルが出力した幾何情報や当該幾何情報に基づいて復元した三次元形状を提示する。これにより各学習モデルを入力画像に写るシーンで利用したときの適合度や、正しい学習モデルを選択することができたかどうかということをユーザが視覚的に確認することができる。さらに、表示情報に基づいてユーザが学習モデルを選択することもできる。さらに、不適切な学習モデルが選択された場合には、ユーザが処理のやり直しの判断をすることができ、適切な学習モデルを選択し直すことができる。従って、高い精度で位置姿勢を算出することができるようになる。
実施形態8では、一度学習モデルを選択した後にも、再度学習モデルの評価値を算出し、学習モデルを選択し直す。このようにすることで、例えば複合現実感を体験している間に利用者が移動するなどして入力画像に写るシーンが変化した場合であっても、学習モデルを再度評価できる。再評価結果が高い学習モデルを選択することで、その時点の入力画像に写るシーンにおいて高い精度で学習モデルが幾何情報を算出でき、高い精度で撮像装置の位置姿勢を算出することがきる。
実施形態9では、モデル学習用画像のシーンの判別結果を基にモデル学習用画像とモデル学習用デプスマップとを分類し、それぞれのシーンの種別ごとに学習モデルを生成する。このように、シーンの種別ごとに学習モデルを生成しておき、実施形態1で説明した位置姿勢算出時には撮像画像のシーンの種別が一致する学習モデルを用いることで、高い精度で撮像装置の位置姿勢を算出することができる。
<定義>
本発明における画像入力部は、現実空間を撮像した画像を入力するものであれば何でもよい。たとえば濃淡画像を撮像するカメラの画像を入力してもよいし、RGB画像を入力するカメラの画像を入力してもよい。奥行き情報や距離画像、三次元点群データを撮像できるカメラの画像を入力してもよい。また、単眼カメラであってもよいし、二台以上の複数のカメラやセンサを備えるカメラが撮像した画像を入力してもよい。さらに、カメラが撮像した画像を直接入力してもよいし、ネットワークを介して入力してもよい。
本発明における学習モデルとは、カメラ画像を入力としたときに幾何情報を出力するものであれば何でもよい。例えば、カメラ画像を入力したときに幾何情報を出力するようにあらかじめ学習したニューラルネットワークやCNN(Convolutional Neural Network)である。また、学習モデルが推定する幾何情報とは、例えば、入力画像のピクセルごとに推定した奥行き情報であるデプスマップのことである。なお、学習モデルが推定する幾何情報は、入力画像の中から位置姿勢取得に用いるための顕著点を幾何情報として算出する学習モデルであってもよい。前フレームと現フレーム二枚の画像を入力し、幾何情報としてそれらの間の位置姿勢の6自由度を推定するように学習した学習モデルであってもよい。
学習モデル群保持部は少なくとも2つの(複数の)学習モデルを保持するものであれば何でもよい。また、学習モデルに加えて、保持する学習モデルを特徴づける情報リストも合わせて保持してもよい。学習モデルを特徴づける情報とは、入力画像に写るシーンへの学習モデルの適合度を表す評価値を算出するための情報である。具体的には、学習モデルを特徴づける情報リストとは学習モデルの学習に用いた学習画像や、学習画像に写っている物体情報リスト、学習画像を撮像したときの位置情報リスト、学習画像を撮像した撮影日時や季節、その時の天気といった画像の見えを変えうる状況を記述した状況情報リストのことである。また、学習画像を撮像したカメラの内部パラメータを学習モデルごとに合わせて保持しておいてもよい。
学習モデル選択部は、学習モデル群保持部が保持する学習モデルに評価値を付与するものであれば何でもよい。ここでいう評価値とは、撮像装置が撮像するシーンへの学習モデルの適合度を表す指標である。具体的には、入力画像と学習画像の類似度や、それらの画像から検出した物体種や画像撮像時の位置情報の一致度合のことである。
評価値の算出方法は上記方法に限らず、学習モデルが出力した幾何情報と、入力画像から計測した幾何情報との近似度合に基づいて算出してもよい。具体的には、入力画像からモーションステレオ法により算出した第二の幾何情報と、学習モデルが出力した第三の幾何情報とを比較することで学習モデルの評価値を算出してもよい。
さらに、学習モデル選択部は、評価値に基づいて学習モデルを選択する構成としてもよい。学習モデルを特徴づける情報リストをモバイルデバイス等のディスプレイに提示し、ユーザが入力した学習モデルを選択してもよい。
幾何情報推定部は、入力画像を学習モデルに入力し、幾何情報を算出するものであれば何でもよい。本発明においては特に、幾何情報推定部が、学習モデル選択部が選択した学習モデルに入力画像を入力して得た出力を第一の幾何情報と呼び、位置姿勢取得部が位置姿勢取得に用いる。また、幾何情報推定部は、学習モデル選択部が評価値を算出するための指標として第三の幾何情報を推定してもよい。このときは、学習モデル群保持部が保持する各学習モデルに入力画像を入力し得られた出力を第三の幾何情報と呼び、学習モデル選択部が学習モデルの評価値算出に用いる。さらに、幾何情報推定部は入力画像に基づいてモーションステレオを用いて第二の幾何情報を算出する構成としてもよい。
位置姿勢取得部は、学習モデルが出力した幾何情報を用いてカメラの位置姿勢を算出するものであれば何でもよい。例えば、前フレームの各画素を、学習モデルが出力した幾何情報を用いて現フレームに射影し、射影した前フレームの画素の画素値と現フレームの画素値との輝度差が最小となるように位置及び姿勢を算出してもよい。また、学習モデルの出力である第一の幾何情報をそのまま用いてカメラの位置姿勢を算出するのに限らず、幾何情報推定部が時系列フィルタリングにより第二の幾何情報も用いて統合した幾何情報を算出し、それ用いてカメラの位置姿勢を算出してもよい。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
1:情報処理装置、11:撮像装置、12:表示情報生成部、13:表示部、110:画像入力部、120:学習モデル選択部、130:学習モデル群保持部、140:幾何情報推定部、150:位置情報取得部

Claims (15)

  1. 撮像装置で撮像された撮像画像と前記撮像画像のデプス情報とを教師データとして用いて学習され、入力画像に対応するデプス情報を推定するための複数の学習モデルを前記教師データとして用いた撮像画像の撮像位置と対応させて保持する保持手段と、
    前記学習モデルと対応させて保持している撮像位置の何れか1つと前記入力画像を撮像した撮像位置との一致度から得られる評価結果に基づいて前記複数の学習モデルから前記入力画像に写るシーンに適した学習モデルを選択する選択手段と、
    前記入力画像と前記選択された学習モデルとを用いて第一のデプス情報を推定する推定手段と、
    を備え
    前記推定手段は、モーションステレオ法により入力画像から第二のデプス情報をさらに推定し、前記学習モデルごとに前記入力画像と前記学習モデルとに基づいて第三のデプス情報をさらに推定し、前記選択手段は、前記第二のデプス情報と前記第三のデプス情報との一致度が高いほど高い評価結果となるように前記学習モデルの評価結果を算出することを特徴とする情報処理装置。
  2. 前記第一のデプス情報に基づいて前記撮像装置の位置姿勢を取得する取得手段を更に備えることを特徴とする請求項1に記載の情報処理装置。
  3. 前記撮像装置の移動量を計測するセンサをさらに備え、
    前記推定手段は、前記センサにより計測されたセンサ情報または前記センサ情報に基づいて算出したデプス情報の少なくともどちらか一方と、前記第三のデプス情報との一致度が高いほど高い評価結果となるように前記学習モデルの評価結果を算出することを特徴とする請求項に記載の情報処理装置。
  4. 撮像装置で撮像された撮像画像と前記撮像画像のデプス情報とを教師データとして用いて学習され、入力画像に対応するデプス情報を推定するための複数の学習モデルを前記教師データとして用いた撮像画像の撮像位置と対応させて保持する保持手段と、
    前記学習モデルと対応させて保持している撮像位置の何れか1つと前記入力画像を撮像した撮像位置との一致度から得られる評価結果に基づいて前記複数の学習モデルから前記入力画像に写るシーンに適した学習モデルを選択する選択手段と、
    前記入力画像と前記選択された学習モデルとを用いて第一のデプス情報を推定する推定手段と、
    を備え、
    前記推定手段は、前記学習モデルごとに前記入力画像と前記学習モデルとに基づいて第三のデプス情報をさらに推定し、
    前記選択手段は、前記入力画像から検出された既知の物体のサイズ又は形状と前記第三のデプス情報とが整合するほど高い評価結果となるように前記学習モデルの評価結果を算出することを特徴とする情報処理装置。
  5. 前記入力画像と、前記第一のデプス情報と、前記保持手段が保持する情報と、前記評価結果と、前記位置姿勢とのうち少なくとも一つに基づいて表示情報を生成する生成手段をさらに備えることを特徴とする請求項2に記載の情報処理装置。
  6. 前記生成手段は、前記第一のデプス情報に基づいて前記入力画像に仮想物体のCG画像を合成して前記表示情報を生成することを特徴とする請求項に記載の情報処理装置。
  7. 前記推定手段は、前記学習モデルごとに前記入力画像と前記学習モデルとに基づいて第三のデプス情報をさらに推定し、
    前記生成手段は、前記第三のデプス情報に基づいて前記入力画像に仮想物体のCG画像を合成して前記表示情報を生成することを特徴とする請求項に記載の情報処理装置。
  8. 前記生成手段は、前記第一のデプス情報に基づいて、前記入力画像を撮像したシーンの三次元形状を復元して前記表示情報を生成することを特徴とする請求項に記載の情報処理装置。
  9. 前記推定手段は、前記学習モデルごとに前記入力画像と前記学習モデルとに基づいて第三のデプス情報をさらに推定し、
    前記生成手段は、前記第三のデプス情報に基づいて、前記入力画像を撮像したシーンの三次元形状を復元して前記表示情報を生成することを特徴とする請求項に記載の情報処理装置。
  10. 前記表示情報を表示する表示部をさらに備えることを特徴とする請求項乃至の何れか1項に記載の情報処理装置。
  11. 前記推定手段は、前記撮像装置が前記入力画像を撮像した時刻と異なる第二の時刻に撮像した第二の入力画像に基づいて、前記第二のデプス情報と前記第三のデプス情報とを更新し、
    前記選択手段は、前記更新された第二のデプス情報と前記更新された第三のデプス情報との一致度が高いほど高い評価結果となるように前記学習モデルの評価結果を算出し直すことを特徴とする請求項に記載の情報処理装置。
  12. 前記推定手段は、複数時刻において前記撮像装置が撮像した複数の入力画像に基づいて、複数の第二のデプス情報と複数の第三のデプス情報とを推定し、
    前記選択手段は、前記複数の第二のデプス情報と前記複数の第三のデプス情報との一致度が高いほど高い評価結果となるように前記学習モデルの評価結果を算出することを特徴とする請求項に記載の情報処理装置。
  13. 第二の撮像装置が取得した第三の入力画像および第四のデプス情報を入力する第二の画像入力手段と、
    前記第三の入力画像または前記第四のデプス情報に写るシーンの種別ごとに前記第三の入力画像および前記第四のデプス情報を分類する学習用データ分類手段と、
    前記学習用データ分類手段が分類した結果に基づいて、前記第三の入力画像および前記第四のデプス情報を前記シーンの種別ごとに保持する学習データ保持手段と、
    前記学習データ保持手段が保持する前記第三の入力画像および前記第四のデプス情報を用いて、前記シーンの種別ごとに前記複数の学習モデルを学習し、前記学習データ保持手段に保持する学習モデル生成手段と、
    をさらに備えることを特徴とする請求項1乃至12の何れか1項に記載の情報処理装置。
  14. 撮像装置で撮像された撮像画像と前記撮像画像のデプス情報とを教師データとして用いて学習され、入力画像に対応するデプス情報を推定するための複数の学習モデルを前記教師データとして用いた撮像画像の撮像位置と対応させて保持する保持手段を備える情報処理装置の制御方法であって、
    前記学習モデルと対応させて保持している撮像位置の何れか1つと前記入力画像を撮像した撮像位置との一致度から得られる評価結果に基づいて前記複数の学習モデルから前記入力画像に写るシーンに適した学習モデルを選択する選択工程と、
    前記入力画像と前記選択された学習モデルとを用いて第一のデプス情報を推定する推定工程と、
    を有し、
    前記推定工程では、モーションステレオ法により入力画像から第二のデプス情報をさらに推定し、前記学習モデルごとに前記入力画像と前記学習モデルとに基づいて第三のデプス情報をさらに推定し、前記選択工程では、前記第二のデプス情報と前記第三のデプス情報との一致度が高いほど高い評価結果となるように前記学習モデルの評価結果を算出することを特徴とする情報処理装置の制御方法。
  15. コンピュータを、請求項1乃至13の何れか1項に記載の情報処理装置として機能させるためのプログラム。
JP2018152718A 2017-11-02 2018-08-14 情報処理装置、情報処理装置の制御方法及びプログラム Active JP7190842B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US16/174,458 US11144786B2 (en) 2017-11-02 2018-10-30 Information processing apparatus, method for controlling information processing apparatus, and storage medium

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017213226 2017-11-02
JP2017213226 2017-11-02

Publications (3)

Publication Number Publication Date
JP2019087229A JP2019087229A (ja) 2019-06-06
JP2019087229A5 JP2019087229A5 (ja) 2021-09-24
JP7190842B2 true JP7190842B2 (ja) 2022-12-16

Family

ID=66764253

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018152718A Active JP7190842B2 (ja) 2017-11-02 2018-08-14 情報処理装置、情報処理装置の制御方法及びプログラム

Country Status (1)

Country Link
JP (1) JP7190842B2 (ja)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020006299A1 (en) 2018-06-27 2020-01-02 Niantic, Inc. Multi-sync ensemble model for device localization
WO2020090251A1 (ja) * 2018-10-30 2020-05-07 日本電気株式会社 物体認識装置、物体認識方法および物体認識プログラム
JP7313942B2 (ja) * 2019-07-17 2023-07-25 株式会社エビデント 評価支援方法、評価支援システム、プログラム
JP7398613B2 (ja) * 2019-07-31 2023-12-15 株式会社大林組 打継面粗さ評価装置及び打継面粗さ評価システム
KR102277503B1 (ko) * 2019-08-01 2021-07-15 주식회사 다비오 객체 인식 기반 실내 측위를 위한 단말장치, 서비스 서버 및 그 방법
CN110503688B (zh) * 2019-08-20 2022-07-22 上海工程技术大学 一种用于深度相机的位姿估计方法
CN111062401A (zh) * 2019-09-27 2020-04-24 商汤国际私人有限公司 堆叠物体的识别方法及装置、电子设备和存储介质
JP7150894B2 (ja) 2019-10-15 2022-10-11 ベイジン・センスタイム・テクノロジー・デベロップメント・カンパニー・リミテッド Arシーン画像処理方法及び装置、電子機器並びに記憶媒体
JP7453772B2 (ja) * 2019-11-01 2024-03-21 キヤノン株式会社 情報処理装置及びその制御方法、撮像装置システム、プログラム
JP7009527B2 (ja) * 2020-02-07 2022-01-25 ソフトバンク株式会社 情報処理装置及び端末装置
JP7452068B2 (ja) * 2020-02-17 2024-03-19 コニカミノルタ株式会社 情報処理装置、情報処理方法及びプログラム
JP7358269B2 (ja) * 2020-02-20 2023-10-10 株式会社日立製作所 物体検出装置、物体検出システム、および、物体検出方法
JP7440823B2 (ja) 2020-02-21 2024-02-29 オムロン株式会社 情報処理装置、情報処理方法及びプログラム
JP7279685B2 (ja) * 2020-04-23 2023-05-23 トヨタ自動車株式会社 情報処理システム
US20230281968A1 (en) * 2020-07-30 2023-09-07 Anaut Inc. Recording Medium, Method for Generating Learning Model, Surgical Support Device and Information Processing Method
KR102591325B1 (ko) * 2020-08-21 2023-10-20 한국전자통신연구원 휴먼 자세 추정 장치 및 방법
JP7510033B2 (ja) 2020-08-25 2024-07-03 公立大学法人会津大学 学習プログラム、学習装置及び学習方法
JP7408518B2 (ja) * 2020-09-16 2024-01-05 Lineヤフー株式会社 情報処理装置、情報処理方法、情報処理プログラム、端末装置、推論方法、及び推論プログラム
WO2022097766A1 (ko) * 2020-11-04 2022-05-12 한국전자기술연구원 가려진 영역 복원 방법 및 장치
WO2022130498A1 (ja) 2020-12-15 2022-06-23 三菱電機株式会社 類似度算出装置、類似度算出方法、及び、類似度算出プログラム
CN114663575A (zh) * 2020-12-23 2022-06-24 日本电气株式会社 图像处理的方法、设备和计算机可读存储介质
CN116868234A (zh) * 2021-02-18 2023-10-10 日本电气株式会社 图像处理设备和图像处理方法
JP2022150703A (ja) * 2021-03-26 2022-10-07 株式会社Jvcケンウッド 推定装置およびプログラム
CN113269820A (zh) * 2021-05-26 2021-08-17 北京地平线信息技术有限公司 空间几何信息估计模型的生成方法和装置
CN113566829A (zh) * 2021-07-19 2021-10-29 上海极赫信息技术有限公司 基于高精度定位技术的混合现实的导览方法、***及mr设备
CN113658117B (zh) * 2021-08-02 2023-09-15 安徽省交通控股集团有限公司 一种基于深度学习的沥青混合料中集料边界识别与划分方法
CN118159832A (zh) * 2021-10-28 2024-06-07 松下知识产权经营株式会社 学习辅助***、外观检查装置、外观检查用软件的更新装置及外观检查用模型的更新方法
JPWO2023074184A1 (ja) * 2021-10-28 2023-05-04
WO2023223386A1 (ja) * 2022-05-16 2023-11-23 三菱電機株式会社 検出装置、カメラシステム、検出方法、及び検出プログラム
WO2023248355A1 (ja) * 2022-06-21 2023-12-28 株式会社日立ハイテク 不適合検出装置、および、不適合検出方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015186284A1 (ja) 2014-06-03 2015-12-10 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
JP2016099668A (ja) 2014-11-18 2016-05-30 キヤノン株式会社 学習方法、学習装置、画像認識方法、画像認識装置及びプログラム
JP2017156162A (ja) 2016-02-29 2017-09-07 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015186284A1 (ja) 2014-06-03 2015-12-10 ソニー株式会社 画像処理装置、画像処理方法及びプログラム
JP2016099668A (ja) 2014-11-18 2016-05-30 キヤノン株式会社 学習方法、学習装置、画像認識方法、画像認識装置及びプログラム
JP2017156162A (ja) 2016-02-29 2017-09-07 キヤノン株式会社 情報処理装置、情報処理方法、及びプログラム

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Iro Laina et al.,"Deeper Depth Prediction with Fully Convolutional Residual Networks",2016 Fourth International Conference on 3DVision (3DV),米国,IEEE,2016年10月25日,pp.239-248
Keisuke Tateno et al.,"CNN-SLAM: Real-Time Dense Monocular SLAM with Learned Depth Prediction",2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR),米国,IEEE,2017年07月21日,pp.6565-6574
柳瀬 直人、外3名,"単一画像からの深度推定と幾何学的制約を利用した寸法推定",映像情報メディア学会 2017年年次大会講演予稿集,日本,一般社団法人映像情報メディア学会,2017年06月16日,pp.1-2
進藤 智則,"ディープラーニング技術が今度はSLAMに波及 キヤノンと独TUM、単眼カメラで密な3D地図",NIKKEI Robotics,日本,日経BP社,2017年06月10日,No.24,pp.5-11

Also Published As

Publication number Publication date
JP2019087229A (ja) 2019-06-06

Similar Documents

Publication Publication Date Title
JP7190842B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
US11144786B2 (en) Information processing apparatus, method for controlling information processing apparatus, and storage medium
US10417816B2 (en) System and method for digital environment reconstruction
KR102145109B1 (ko) 지도 생성 및 운동 객체 위치 결정 방법 및 장치
US10546387B2 (en) Pose determination with semantic segmentation
Maddern et al. 1 year, 1000 km: The oxford robotcar dataset
JP7326720B2 (ja) 移動***置推定システムおよび移動***置推定方法
EP2874097A2 (en) Automatic scene parsing
US20160154999A1 (en) Objection recognition in a 3d scene
JP6397379B2 (ja) 変化領域検出装置、方法、及びプログラム
EP3574450A1 (en) Method and apparatus for optimizing scan data and method and apparatus for correcting trajectory
JP2016062610A (ja) 特徴モデル生成方法及び特徴モデル生成装置
CN111143489B (zh) 基于图像的定位方法及装置、计算机设备和可读存储介质
CN111323024A (zh) 定位方法及装置、设备、存储介质
WO2024088445A1 (zh) 一种基于视觉语义矢量的车辆导引方法、***、设备和介质
JP2020153956A (ja) 移動***置推定システムおよび移動***置推定方法
CN114761997A (zh) 目标检测方法、终端设备和介质
CN113920263A (zh) 地图构建方法、装置、设备及存储介质
CN116597122A (zh) 数据标注方法、装置、电子设备及存储介质
CN104463962B (zh) 基于gps信息视频的三维场景重建方法
CN110909656A (zh) 一种雷达与摄像机融合的行人检测方法和***
CN114463713A (zh) 一种车辆在3d空间的信息检测方法、装置及电子设备
CN111833443A (zh) 自主机器应用中的地标位置重建
JP6976731B2 (ja) 情報処理装置、情報処理方法、及びプログラム
KR102249381B1 (ko) 3차원 영상 정보를 이용한 모바일 디바이스의 공간 정보 생성 시스템 및 방법

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20210103

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210812

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210812

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220829

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221025

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20221107

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20221206

R151 Written notification of patent or utility model registration

Ref document number: 7190842

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151