処理中

しばらくお待ちください...

設定

設定

出願の表示

1. WO2020195875 - 情報処理装置、情報処理方法、及びプログラム

Document

明 細 書

発明の名称 情報処理装置、情報処理方法、及びプログラム

技術分野

0001  

背景技術

0002  

先行技術文献

特許文献

0003  

発明の概要

発明が解決しようとする課題

0004   0005  

課題を解決するための手段

0006   0007   0008   0009   0010   0011   0012   0013   0014   0015   0016   0017   0018   0019   0020   0021   0022   0023   0024   0025   0026  

図面の簡単な説明

0027  

発明を実施するための形態

0028   0029   0030   0031   0032   0033   0034   0035   0036   0037   0038   0039   0040   0041   0042   0043   0044   0045   0046   0047   0048   0049   0050   0051   0052   0053   0054   0055   0056   0057   0058   0059   0060   0061   0062   0063   0064   0065   0066   0067   0068   0069   0070   0071   0072   0073   0074   0075   0076   0077   0078   0079   0080   0081   0082   0083   0084   0085   0086   0087   0088   0089   0090   0091   0092   0093   0094   0095   0096   0097   0098   0099   0100   0101   0102   0103   0104   0105   0106   0107   0108   0109   0110   0111   0112   0113   0114   0115   0116   0117   0118   0119   0120   0121   0122   0123   0124   0125   0126   0127   0128   0129   0130   0131   0132   0133   0134   0135   0136   0137   0138   0139   0140   0141   0142   0143   0144   0145   0146   0147   0148   0149   0150   0151   0152   0153   0154   0155   0156   0157   0158   0159   0160   0161   0162   0163   0164   0165   0166   0167   0168   0169   0170   0171   0172   0173   0174   0175   0176   0177   0178   0179   0180   0181   0182   0183   0184   0185   0186   0187   0188   0189   0190   0191   0192   0193   0194   0195   0196   0197   0198   0199   0200   0201   0202   0203   0204   0205   0206   0207   0208   0209   0210   0211   0212   0213   0214   0215   0216   0217   0218   0219   0220   0221   0222   0223   0224   0225   0226   0227   0228   0229   0230   0231   0232  

符号の説明

0233  

請求の範囲

1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17   18   19   20  

図面

1   2   3   4   5   6   7   8   9   10   11   12   13   14  

明 細 書

発明の名称 : 情報処理装置、情報処理方法、及びプログラム

技術分野

[0001]
 本技術は、実世界のモデリング等に適用可能な情報処理装置、情報処理方法、及びプログラムに関する。

背景技術

[0002]
 従来、スマートフォン等の携帯端末や、ヘッドマウントディスプレイ等のウェアラブル端末等の位置及び姿勢を推定する自己位置推定技術として、SLAM(Simultaneous Localization and Mapping)が知られている。SLAMは、自己位置の推定と、環境地図の作成とを同時に行う技術であり、AR(Augmented Reality:拡張現実)やVR(Virtual Reality:仮想現実)を実現するための技術として用いられることも多い。例えば特許文献1には、ロバスト性の高い自己位置推定が可能な技術が開示されている。

先行技術文献

特許文献

[0003]
特許文献1 : 特開2016-45874号公報

発明の概要

発明が解決しようとする課題

[0004]
 SLAM等の技術を用いることで実世界をモデリングすることが可能である。例えばスマートフォン等の携帯端末を用いて、通路の幅等の2つの対象物の間の距離を簡単に精度よく測定可能となる技術が求められている。
[0005]
 以上のような事情に鑑み、本技術の目的は、2つの対象物の間の距離を簡単に精度よく測定することを可能とする情報処理装置、情報処理方法、及びプログラムを提供することにある。

課題を解決するための手段

[0006]
 上記目的を達成するため、本技術の一形態に係る情報処理装置は、出力制御部を備える。
 前記出力制御部は、実距離に関するスケール情報と、第1の撮像装置の位置及び姿勢に関する第1の位置情報と、第2の撮像装置の位置及び姿勢に関する第2の位置情報とに基づいて、前記第1の撮像装置により撮影された第1の対象物と、前記第2の撮像装置により撮影された第2の対象物との間の、前記実距離に基づいた距離情報を出力する。
[0007]
 この情報処理装置では、スケール情報と、第1の撮像装置の第1の位置情報と、第2の撮像装置の第2の位置情報とに基づいて、第1の撮像装置により撮影された第1の対象物と、第2の撮像装置により撮影された第2の対象物との間の、実距離に基づいた距離情報が生成される。これにより第1の対象物と第2の対象物との間の距離を簡単に精度よく測定することが可能となる。
[0008]
 前記第1の撮像装置及び前記第2の撮像装置は、所定の位置関係となるように配置されてもよい。この場合、前記出力制御部は、前記第1の撮像装置と前記第2の撮像装置との位置関係に関する情報に基づいて、前記距離情報を出力してもよい。
[0009]
 前記第1の撮像装置は、第1の方向を撮影方向として構成されてもよい。この場合、前記第2の撮像装置は、前記第1の方向とは異なる第2の方向を撮影方向として構成されてもよい。
[0010]
 前記第1の方向及び前記第2の方向は、交差角度が90°から180°の範囲に含まれるように設定されてもよい。
[0011]
 前記第1の位置情報は、前記第1の撮像装置により撮影された前記第1の対象物の画像に基づいて算出されてもよい。この場合、前記第2の位置情報は、前記第2の撮像装置により撮影された前記第2の対象物の画像に基づいて算出されてもよい。
[0012]
 前記スケール情報は、前記第1の撮像装置及び前記第2の撮像装置の少なくとも一方と所定の位置関係となるように配置されたモーションセンサの検出結果に基づいて取得されてもよい。
[0013]
 前記出力制御部は、前記モーションセンサの検出結果に基づいて、前記第1の位置情報及び前記第2の位置情報の少なくとも一方を算出してもよい。
[0014]
 前記スケール情報は、前記第1の撮像装置又は前記第2の撮像装置の少なくとも一方により、実距離に関する情報が関連付けられた既知対象物が撮影された画像に基づいて取得されてもよい。
[0015]
 前記スケール情報は、前記第1の撮像装置及び前記第2の撮像装置の少なくとも一方と所定の位置関係となるように配置された測距センサの検出結果に基づいて取得されてもよい。
[0016]
 前記出力制御部は、前記測距センサの検出結果に基づいて、前記第1の位置情報及び第2の位置情報の少なくとも一方を算出してもよい。
[0017]
 前記第1の撮像装置は、デジタルカメラ、又はToF(Time of Flight)センサの少なくとも一方の構成を含んでもよい。この場合、前記第2の撮像装置は、デジタルカメラ、又はToFセンサの少なくとも一方の構成を含んでもよい。
[0018]
 前記第1の対象物及び前記第2の対象物は、通路を挟んで配置される壁面であってもよい。この場合、前記距離情報は、前記通路の幅を含んでもよい。
[0019]
 前記情報処理装置は、さらに、第1の面と、前記第1の面とは反対側の第2の面と、前記第1の面の表面側に向けて配置された前記第1の撮像装置と、前記第2の面の表面側に向けて配置された前記第2の撮像装置とを備えてもよい。この場合、前記情報処理装置は、ユーザが携帯可能な携帯端末として構成されていてもよい。
[0020]
 前記情報処理装置は、さらに、前記携帯端末に搭載されているデバイスに関する情報を取得するデバイス情報取得部を備えてもよい。この場合、前記出力制御部は、前記デバイスに関する情報に基づいて、前記距離情報を出力してもよい。
[0021]
 前記出力制御部は、前記スケール情報と、前記第1の位置情報と、前記第2の位置情報とに基づいて、前記第1の対象物及び前記第2の対象物のモデリングを実行することで前記距離情報を出力してもよい。
[0022]
 前記出力制御部は、前記第1の撮像装置により撮影された第1の対象物の画像、及び前記第2の撮像装置により撮影された第2の対象物の画像に基づいて、SLAMを実行することで、前記距離情報を出力してもよい。
[0023]
 前記情報処理装置は、さらに、前記距離情報の出力が不利な状況であるか否かを判定し、前記不利な状況である場合には、ユーザにその旨を通知する通知部を備えてもよい。
[0024]
 前記通知部は、前記不利な状況である場合に、前記不利な状況を解消するための情報を通知してもよい。
[0025]
 本技術の一形態に係る情報処理方法は、コンピュータシステムにより実行される情報処理方法であって、実距離に関するスケール情報と、第1の撮像装置の位置及び姿勢に関する第1の位置情報と、第2の撮像装置の位置及び姿勢に関する第2の位置情報とに基づいて、前記第1の撮像装置により撮影された第1の対象物と、前記第2の撮像装置により撮影された第2の対象物との間の、前記実距離に基づいた距離情報を出力することを含む。
[0026]
 本技術の一形態に係るプログラムは、コンピュータシステムに以下のステップを実行させる。
 実距離に関するスケール情報と、第1の撮像装置の位置及び姿勢に関する第1の位置情報と、第2の撮像装置の位置及び姿勢に関する第2の位置情報とに基づいて、前記第1の撮像装置により撮影された第1の対象物と、前記第2の撮像装置により撮影された第2の対象物との間の、前記実距離に基づいた距離情報を出力するステップ。

図面の簡単な説明

[0027]
[図1] 本技術に係る情報処理システムの概要を説明するための模式図である。
[図2] 本技術に係る距離情報生成システムの適用例を説明するための模式図である。
[図3] 本技術に係る距離情報生成システムの適用例を説明するための模式図である。
[図4] 携帯端末の構成例を示す模式的なブロック図である。
[図5] 携帯端末のソフトウェア構成の一例を示す模式的なブロック図である。
[図6] IMUを用いた場合の距離情報の算出例を示すフローチャートである。
[図7] IMUを用いた場合の距離情報の算出例を示すフローチャートである。
[図8] 携帯端末のソフトウェア構成の一例を示す模式的なブロック図である。
[図9] 既知対象物を用いたい場合の距離情報の算出例を示すフローチャートである。
[図10] 既知対象物を用いたい場合の距離情報の算出例を示すフローチャートである。
[図11] 携帯端末のソフトウェア構成の一例を示す模式的なブロック図である。
[図12] 測距センサを用いた場合の距離情報の算出例を示すフローチャートである。
[図13] デバイスに基づいた3つの方法の切替えと、不利な状況の判定処理を含む処理例を示すフローチャートである。
[図14] 第1の撮像装置及び第2の撮像装置の撮影方向の交差角度について説明するための模式的な図である。

発明を実施するための形態

[0028]
 以下、本技術に係る実施形態を、図面を参照しながら説明する。
[0029]
 <本技術の概要>
 図1は、本技術に係る情報処理システムの概要を説明するための模式図である。ここでは、情報処理システムの一実施形態として距離情報生成システム100を例に挙げる。距離情報生成システム100は、第1の撮像装置5、及び第2の撮像装置6を含む。
[0030]
 本開示において、撮像装置とは、光を受光する受光素子を有し、対象物の像を含む画像を生成可能な任意の装置を含む。例えば、撮像装置として、CMOS(Complementary Metal-Oxide Semiconductor)センサやCCD(Charge Coupled Device)センサ等のイメージセンサを備えるデジタルカメラを用いることが可能である。
[0031]
 また、対象物までの距離(デプス)を取得可能なToF(Time of Flight)カメラ等が、撮像装置として用いられてもよい。その他、ステレオカメラ、単眼カメラ、赤外線カメラ、偏光カメラ等が用いられてもよい。
[0032]
 すなわち本技術に係る第1の撮像装置5及び第2の撮像装置6として、デジタルカメラ、又はToFセンサの少なくとも一方の構成を含む装置を採用することが可能である。第1の撮像装置5と第2の撮像装置6とが、互いに同じ構成を有する場合に限定されない。第1の撮像装置5と第2の撮像装置6とは、互い異なる構成を有していてもよい。
[0033]
 また、画像は、静止画像及び動画像を含む。もちろん動画像に含まれる複数のフレーム画像も、画像に含まれる。以下の説明において、撮像装置により対象物を撮影し対象物の画像を生成することを、対象物の画像を撮影すると記載する場合がある。
[0034]
 図1に示す第1の撮像装置5により撮影される対象物を第1の対象物とする。また第2の撮像装置6により撮影される対象物を第2の対象物とする。
[0035]
 典型的には、第1の撮像装置5は、第1の方向を撮影方向として構成される。第2の撮像装置6は、第1の方向とは異なる第2の方向を撮影方向として構成される。従って、第1の撮像装置5により撮影される第1の対象物は、第2の撮像装置6により撮影される第2の対象物とは、異なる撮影対象となる。
[0036]
 第1の方向及び第2の方向は、例えば、180°異なる方向にそれぞれ設定される。従って、第1の撮像装置5と第2の撮像装置6とは、互いに反対方向に向けられて設置される。もちろんこのような方向の設定に限定されず、第1の方向及び第2の方向の交差角度が、180°とは異なる角度に設定されてもよい。この点については、後に改めて説明する。
[0037]
 図1に示すように、第1の撮像装置5により撮影された第1の対象物の画像(以下、第1の画像と記載する)が取得される(ステップ101)。取得された第1の画像に基づいて、第1の撮像装置の第1の位置情報が算出される(ステップ102)。
[0038]
 また、第2の撮像装置6により撮影された第2の対象物の画像(以下、第2の画像と記載する)が取得される(ステップ103)。取得された第2の画像に基づいて、第2の撮像装置の第2の位置情報が算出される(ステップ104)
[0039]
 本開示において、位置情報は、位置及び姿勢に関する情報を意味する。例えば位置情報として、位置に関する情報のみが算出される場合もあり得るし、姿勢に関する情報のみが算出される場合もあり得る。もちろん位置に関する情報と姿勢に関する情報の両方を含む情報が算出されてもよい。その他、位置及び姿勢の変化等の、位置及び姿勢に関する任意の情報が位置情報として算出されてよい。
[0040]
 例えば、ステップ102では、第1の対象物に対する第1の撮像装置5の相対的な位置及び姿勢が算出される。ステップ104では、第2の対象物に対する第2の撮像装置6の相対的な位置及び姿勢が算出される。
[0041]
 例えば、第1の撮像装置5を基準としてXYZ座標系が設定され、当該座標系のxyz座標値を用いて、第1の対象物に対する第1の撮像装置5の相対的な位置情報を算出することが可能である。
[0042]
 同様に、第2の撮像装置6を基準としてXYZ座標系が設定され、当該座標系のxyz座標値を用いて、第2の対象物に対する第2の撮像装置6の相対的な位置情報を算出することが可能である。
[0043]
 例えば第1の対象物の動画像(複数のフレーム画像)に基づいてSLAMが実行され、第1の撮像装置5の自己位置の推定と、環境地図の作成とが実行されてもよい。この場合、自己位置の推定結果及び作成された環境地図は、本技術に係る位置情報に含まれる。
[0044]
 同様に、第2の対象物の動画像(複数のフレーム画像)に基づいてSLAMが実行され、第2の撮像装置6の自己位置の推定と、環境地図の作成とが実行されてもよい。この場合、自己位置の推定結果及び作成された環境地図は、本技術に係る位置情報に含まれる。
[0045]
 第1の画像に基づいて第1の位置情報を生成する方法、及び第2の画像に基づいて第2の位置情報を生成する方法は限定されず、任意のアルゴリズムが採用されてよい。例えばDNN(Deep Neural Network:深層ニューラルネットワーク)等を用いた任意の機械学習アルゴリズムが用いられてもよい。例えばディープラーニング(深層学習)を行うAI(人工知能)等を用いることで、第1の位置情報及び第2の位置情報の算出精度を向上させることが可能となる。
[0046]
 また距離情報生成システムでは、図1に示すように、実距離に関するスケール情報が取得される(ステップ105)。実距離に関するスケール情報は、例えばステップ102及び104にて算出される第1の位置情報及び第2の位置情報に基づいて、実距離に基づく情報を出力することが可能な任意の情報を含む。
[0047]
 例えば、第1の撮像装置5を基準として設定されたXYZ座標系の座標値により表される第1の撮像装置5の位置及び姿勢を、実距離に基づく情報として出力可能な任意の情報が含まれる。
[0048]
 同様に、第2の撮像装置6を基準として設定されたXYZ座標系の座標値により表される第2の撮像装置6の位置及び姿勢を、実距離に基づく情報として出力可能な任意の情報が含まれる。その他、実世界の物理的なスケールに関する任意の情報が含まれる。
[0049]
 スケール情報を取得する方法は限定されず、任意の方法が採用されてよい。例えばモーションセンサを用いた方法、サイズ等が予め既知である既知対象物を用いた方法、ToFセンサ等の測距センサを用いた方法等が挙げられる。もちろん他の方法が用いられてもよい。
[0050]
 図1に示すように、ステップ102にて算出された第1の位置情報、ステップ104にて算出された第2の位置情報、及びステップ105にて取得されたスケール情報に基づいて、第1の対象物と第2の対象物との間の、実距離に基づいた距離情報が生成される(ステップ106)。
[0051]
 ここで記載する「距離情報」は、第1の対象物と第2の対象物との間の距離に関する任意の情報を含む。例えば第1の対象物から第1の撮像装置5までの距離、第2の対象物から第2の撮像装置6までの距離、第1の対象物から第2の対象物までの距離等が、含まれる。また第1の対象物から第2の対象物までの距離等、最大値、最小値、分布等の統計情報等、任意の情報が含まれてよい。また「実距離に基づいた」というのは、取得されたスケール情報に基づいて算出される実距離として表現可能な情報であることを意味する。
[0052]
 例えば第1の画像及び第2の画像にSLAMを実行することで、距離情報が生成されてもよい。すなわちスケール情報と、第1の位置情報と、第2の位置情報とに基づいて、第1の対象物及び第2の対象物のモデリングが実行されてもよい。そしてそのモデリングの結果に基づいて、距離情報が生成されてもよい。これにより、例えば、第1の対象物と第2の対象物とに挟まれる空間に関する形状等の詳しい情報を生成することが可能となる。
[0053]
 例えば第1の対象物及び第2の対象物の間に通路が構成されている場合は、通路の幅や形状等の情報を簡単に精度よく生成することが可能となる。
[0054]
 距離情報を生成して出力するための方法等は限定されず、任意のアルゴリズム等が用いられてよい。また機械学習等が実行されてもよい。
[0055]
 図1に示すように、ステップ106にて生成された距離情報がユーザへ通知される(ステップ107)。通知方法は限定されず、例えばディスプレイ表示や、音声通知等が実行される。
[0056]
 <通路幅の測定への適用例>
 図2及び図3は、本技術に係る距離情報生成システムの適用例を説明するための模式図である。ここでは、本技術を通路10の幅tの測定に適用する場合を説明する。
[0057]
 図2及び図3に示すように、ユーザ1は、内向きカメラ24と外向きカメラ25とを備えた携帯端末20を利用する。例えば本技術に係るアプリケーションプログラムが起動される。そうすると、携帯端末20の主面20a側に構成されたタッチパネル27上に、通路10の幅tを測定するための方法を通知するための通知情報が表示される。
[0058]
 例えば図2及び図3に例示するように、通路10を挟んで配置された第1の壁面11及び第2の壁面12の各々に、内向きカメラ24及び外向きカメラ25が向くように、携帯端末20を保持する旨の指示が通知される。そして、携帯端末20を保持した状態で、通路10の中央を移動する旨の指示が通知される。
[0059]
 ここで、図1を参照して説明した各要素と、図2及び図3における実施例における各要素との対応付けを以下に記載する。
 内向きカメラ24…第1の撮像装置5
 外向きカメラ25…第2の撮像装置6
 内向きカメラ24の撮影方向(矢印h1)…第1の方向
 外向きカメラ25の撮影方向(矢印h2)…第2の方向
 第1の壁面11…第1の対象物
 第2の壁面12…第2の対象物
[0060]
 なお本例では、内向きカメラ24を第1の撮像装置5とし、外向きカメラ25を第2の撮像装置6に対応するものとした。もちろん、このような対応付けに限定される訳ではなく、逆の対応付けも可能である。
[0061]
 ユーザ1が携帯可能な携帯端末20は、本技術の情報処理装置の一実施形態として用いられる。携帯端末20の主面20aは第1の面に相当し、主面20aとは反対側の背面20bは第2の面に相当する。内向きカメラ24は主面20aの表面側に向けて配置され、外向きカメラ25は背面20bの表面側に向けて構成される。従って、内向きカメラ24の撮影方向及び外向きカメラ25の撮影方向の交差角度は180°となる。
[0062]
 携帯端末20により、図1に例示する各ステップが実行され、第1の壁面11と第2の壁面12との間の、実距離に基づいた距離情報が算出される。例えば、SLAM等が実行される場合には、図2に例示するように、携帯端末20の姿勢(向き)が通路の延在方向に対して傾く場合であっても、第1の壁面11及び第2の壁面12を高精度にモデリングすることが可能となる。この結果、通路10の幅等を含む距離情報を高精度に生成することが可能となる。
[0063]
 生成された距離情報は、例えば、経路全体をモデリングした簡易的な3Dマップ中の情報として、表示部28に表示される。表示方法としては、距離情報に基づいて、道幅の大きさに応じて色を変更して表示することや、ユーザが指定した経路幅よりも小さい値の道幅の箇所を色や文字で強調して表示することが考えられる。この場合、経路マップ全体の中での搬入する際のリスクの度合いを可視化することが可能である。
[0064]
 また携帯端末20を用いた測定時に、リアルタイムに、現在ユーザがいる地点の道幅を数値で表示することや、数値を音声情報として出力こともできる。また、ユーザが指定した道幅未満になった際に音で通知することも可能である。
[0065]
 以下、図1のステップ105に示すスケール情報を取得する方法のバリエーション例を中心に、本技術に係る距離情報の生成例をいくつか説明する。具体的には、距離情報を取得する方法として、モーションセンサを用いた方法、サイズ等が予め既知である既知対象物を用いた方法、ToFセンサ等の測距デバイスを用いた方法について順番に説明する。
[0066]
 <モーションセンサを用いた方法>
 図4は、携帯端末20の構成例を示す模式的なブロック図である。携帯端末20は、コントローラ21、スピーカ22、マイク23、内向きカメラ24、外向きカメラ25、及びセンサ部26を有する。また携帯端末20は、表示部28、操作部29、I/F(インタフェース)部30、通信部31、及び記憶部32を有する。
[0067]
 スピーカ22は、種々の音を出力可能である。スピーカ22の具体的な構成は限定されない。
[0068]
 マイク23は、周辺で発生する音声を取得することが可能である。例えば、マイク23により、ユーザが発話した音声や、周囲の環境音を検出して取得することが可能である。マイク23の具体的な構成は限定されない。
[0069]
 表示部28は、例えば液晶、EL(Electro-Luminescence)等を用いた表示デバイスであり、種々の画像や種々のGUI(Graphical User Interface)等が表示される。操作部29は、例えばキーボード、ポインティングデバイス、その他の操作装置である。
[0070]
 図3に示すように、本実施形態では、携帯端末20の主面20aにタッチパネル27が配置される。タッチパネル27は、図3に示す表示部28及び操作部29の両方の機能を有するデバイスとなる。
[0071]
 内向きカメラ24は、携帯端末20の主面20a側に配置される。内向きカメラ24は、携帯端末20から見て主面20a側の空間を撮影し、その画像(画像データ)を生成することが可能である。
[0072]
 外向きカメラ25は、携帯端末20の背面20b側に配置される。外向きカメラ25は、携帯端末20から見て背面20b側の空間を撮影し、その画像(画像データ)を生成することが可能である。
[0073]
 内向きカメラ24及び外向きカメラ25により、第1の壁面11及び第2の壁面12の画像を、同時に、共通の時系列に沿って撮影することが可能である。
[0074]
 センサ部26は、IMU(Inertial Measurement Unit:慣性計測センサユニット)33及びGPS34を含む。IMU33は、モーションセンサの1つであり、3軸における加速度と角速度とを検出することが可能である。IMU33の具体的な構成は限定されず、ジャイロセンサ、加速度センサ、コンパスセンサ等を含む任意の構成が採用されてよい。IMU33として、6軸IMUが用いられてもよいし、9軸IMUが用いられてもよい。
[0075]
 IMU33は、実距離に基づいて加速度及び角速度を算出することが可能である。すなわちIMU33の検出結果に基づいて、携帯端末20の位置及び姿勢の変化等を、実距離に基づいて検出することが可能である。
[0076]
 本実施形態では、IMU33による検出結果に基づいて、実距離に関するスケール情報を取得することが可能である。具体的には、IMU33により検出される携帯端末20の位置及び姿勢に関する位置情報が、スケール情報として用いられる。以下、実距離に関するスケール情報を物理スケールと記載する場合がある。
[0077]
 このように本実施形態では、モーションセンサとしてIMU33が用いられる。そしてモーションセンサの検出結果に基づいてスケール情報を取得する一例として、IMU33の検出結果に基づいてスケール情報を取得する場合を説明する。
[0078]
 もちろん、モーションセンサの種類はIMUに限定されない。携帯端末20の動きを検出可能な任意のセンサ用いられてよい。例えば携帯端末20の加速度、角速度、方向等を実距離に基づいて検出可能な、任意のセンサを用いることが可能である。例えばIMUを構成する、ジャイロセンサ、加速度センサ、コンパスセンサ等が、単体で、本技術に係るモーションセンサとして用いられてもよい。IMU以外のモーションセンサが用いられる場合でも、スケール情報を取得することが可能である。
[0079]
 GPS34は、携帯端末20の位置情報を出力することが可能である。GPS34の具体的な構成は限定されず、任意の構成が採用されてもよい。
[0080]
 なお、センサ部26として設けられるセンサの種類は限定されず、任意のセンサが設けられてもよい。例えばユーザ1の体温及び脈拍数等を検出可能な生体センサ等が設けられてもよい。また周囲の環境の温度や湿度等を測定可能な温度センサや湿度センサ等が設けられてもよい。なお図4に示すマイク23、内向きカメラ24、及び外向きカメラ25がセンサ部26として機能してもよい。
[0081]
 I/F部30は、USB(Universal Serial Bus)端子やHDMI(登録商標)(High-Definition Multimedia Interface)端子等の、他のデバイスや種々のケーブルが接続されるインタフェースである。
[0082]
 通信部31は、他のデバイスと通信するための通信モジュールであり、例えばWiFi等の無線LAN(Local Area Network)モジュールや、Bluetooth(登録商標)等の近距離無線通信用の通信モジュールが用いられる。
[0083]
 記憶部32は、不揮発性の記憶デバイスであり、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)等が用いられる。
[0084]
 記憶部32には、携帯端末20の全体の動作を制御するための制御プログラム35が記憶される。制御プログラム35を、携帯端末20にインストールする方法は限定されない。例えば、種々の記録媒体を介してインストールが実行されてもよいし、インターネット等を介してプログラムのインストールが実行されてもよい。
[0085]
 なお、本技術に係るプログラムが記録される記録媒体の種類等は限定されず、コンピュータが読み取り可能な任意の記録媒体が用いられてよい。例えば非一時的にデータを記録する任意の記録媒体が用いられてよい。
[0086]
 コントローラ21は、携帯端末20が有する各ブロックの動作を制御する。コントローラ21は、例えばCPU(プロセッサ)、ROM、RAM、及びHDD等のコンピュータの構成に必要なハードウェアを有する。CPUがROM等に予め記録されている本技術に係るプログラム(例えばアプリケーションプログラム)をRAMにロードして実行することにより、本技術に係る情報処理方法が実行される。
[0087]
 コントローラ21の具体的な構成は限定されず、例えばGPU、FPGA(Field Prog
rammable Gate Array)、ASIC(Application Specific Integrated Circuit)等の任
意のハードウェアが用いられてもよい。
[0088]
 携帯端末20は、例えばスマートフォン、タブレット端末、ウェアラブル装置、センサ装置等により実現することが可能である。もちろんこれに限定されず、任意のコンピュータ装置が用いられてよい。
[0089]
 図5は、携帯端末20のソフトウェア構成の一例を示す模式的なブロック図である。
[0090]
 コントローラ21のCPUが本実施形態に係るプログラム(例えばアプリケーションプログラム)を実行することで、機能ブロックとして、推定ブロック40及び41と、積分部42と、カルマンフィルタ43と、3次元再構成部44とが実現される。そしてこれらの機能ブロックにより、本実施形態に係る情報処理方法が実行される。なお各機能ブロックを実現するために、IC(集積回路)等の専用のハードウェアが適宜用いられてもよい。
[0091]
 推定ブロック40は、特徴点検出部46と、メモリ部47及び48と、動きマッチング部49と、距離推定部50と、Δポーズ推定部51とを有する。推定ブロック41は、推定ブロック40と等しい構成を有する。
[0092]
 なお、携帯端末20内において、内向きカメラ24及び外向きカメラ25は、所定の位置関係となるように配置される。また内向きカメラ24及び外向きカメラ25に対して、IMU33も、所定の位置関係となるように配置される。例えば携帯端末20自体の位置及び姿勢の変化に連動して、内向きカメラ24、外向きカメラ25、及びIMU33の位置及び姿勢も変化する。
[0093]
 例えば内向きカメラ24及び外向きカメラ25の位置及び姿勢のオフセット等の、内向きカメラ24及び外向きカメラ25の位置関係に関する情報に基づいて、距離情報を算出することも可能である。これにより距離情報の精度を向上させることが可能となる。
[0094]
 一方、内向きカメラ24及び外向きカメラ25が同じ位置にあると見做して、すなわち位置及び姿勢のオフセットを考慮せずに、本技術を適用して距離情報を生成して出力することも可能である。これにより、処理の簡素化や処理時間の短縮化を図ることが可能である。
[0095]
 IMU33に対しても同様に、内向きカメラ24、外向きカメラ25、及びIMU33間の位置及び姿勢のオフセットに関する情報に基づいて、距離情報が算出されてもよい。一方、オフセットを考慮せず、距離情報を算出することも可能である。
[0096]
 図6及び図7は、距離情報の算出例を示すフローチャートである。以下、推定ブロック40の動作を説明する。推定ブロック41の動作は、推定ブロック40と同様に実行される。
[0097]
 特徴点検出部46により、ステップ201~203のループが実行される。すなわち現在時刻の画像(以下、現在フレーム画像と記載する)が取得され、自己位置推定に利用可能な特徴的な点(以下、特徴点と記載する)が検出される。典型的には、コントラストが高く、周囲に似たような構造をもたない模様等が、特徴点として検出される。特徴点の検出及び特徴量の表現方法としては、例えばHarris等のコーナー検出やSIFT(Scale Invariant Feature Transform)等の方法が挙げられる。もちろんこれに限定されず、任意の方法が採用されてよく、機械学習等が実行されてもよい。
[0098]
 現在フレーム画像上にて検出された特徴点の情報は、メモリ部47に保存される。この特徴点情報は時間的に、次のフレーム画像が取得されたときに、過去フレーム画像上の特徴点の情報として扱われる。
[0099]
 動きマッチング部49により、ステップ204及び205が実行される。すなわちメモリ部47から「過去画像(過去フレーム画像に相当)上の特徴点」情報が取得される。そして、過去フレーム画像上の各特徴点に対して、現在フレーム画像上で対応する特徴点が探索される。以下、ステップ205にて検出された対応する特徴点を対応点と記載する。
[0100]
 ここで対応点が見つかったものは、2つの異なる視点(現在フレーム画像及び過去フレーム画像)から同一のものを見たものと考えられ、見え方の違いは、カメラの時間的な位置及び姿勢の変化によるものである。
[0101]
 なお過去フレーム画像と現在フレーム画像とが、時間的に連続するフレーム画像である必要はなく、それらの間に別のフレーム画像があってもよい。すなわち撮像フレームレートより、推定ブロック40の出力レート(差分ポーズの推定レート)が低くてもよい。
[0102]
 現在フレーム画像が特徴点検出部46及び動きマッチング部49に入力される前に、光学歪み等の各種補正やゲイン調整等の事前処理が実行されてもよい。これにより特徴点の検出精度や、マッチング精度を向上させることが可能となる。
[0103]
 Δポーズ推定部51により、ステップ206及び207が実行される。すなわちメモリ部48から「過去フレーム画像上の特徴点の3次元位置」情報が取得される。そして、「過去フレーム画像上の特徴点の3次元位置」情報と、「現在フレーム画像上の対応点の2次元位置」情報との組み合わせにより、差分ポーズが推定される。
[0104]
 なお、特徴点の3次元位置とは、内向きカメラ24を基準として設定されたXYZ座標上の位置(xyz座標)である。特徴点の2次元位置は、フレーム画像上の特徴点の位置(例えばuv座標)である。差分ポーズは、過去フレーム画像の撮影時刻(以下、過去時刻と記載する)から現在フレーム画像の撮影時刻(以下、現在時刻と記載する)までの内向きカメラ24の位置及び姿勢の変化を含む情報である。
[0105]
 3次元空間上の点群(3次元位置)と、その点群に対応する(すなわち、3次元空間上の点群を2次元面に投影した)2次元平面上の点群(2次元位置)が与えられたとき、その投影面の位置及び姿勢(すなわち、内向きカメラ24の位置及び姿勢)を求める方法は、例えば各特徴点を2次元面に投影したときの画像上の誤差をコストとした最小化問題を解くことで可能である。
[0106]
 積分部42により、ステップ208及び209が実行される。すなわちIMU33から、過去時刻から現在時刻までのIMUデータ(加速度及び角速度を含むデータ)が取得される。取得されたIMUデータが積分され、積分ポーズが算出される。
[0107]
 カルマンフィルタ43により、ステップ210が実行される。すなわち推定ブロック40のΔポーズ推定部51により算出された差分ポーズと、推定ブロック41のΔポーズ推定部により算出された差分ポーズと、積分部42により算出された積分ポーズとが統合される。
[0108]
 カルマンフィルタ43には、2つの差分ポーズと、積分ポーズとが入力される。また各ポーズにあわせて、そのポーズが含み得る推定誤差の確率分布が入力される。カルマンフィルタ43とは、モデル化された誤差確率分布をもつ複数の観測を統合し、最も尤度の高い現在状態を推定するフィルタである。すなわち、カルマンフィルタ43は、入力された3つのポーズから最も尤度の高いポーズを現在状態として推定する。
[0109]
 IMU33により取得される加速度及び角速度には、バイアスと呼ばれるオフセット誤差(静止していても0を返さず、常にある値が足された値を出力する)が含まれる場合が多い。この誤差が含まれる場合には、IMU33で取得した加速度及び角速度をただ積分しただけの位置及び姿勢は、誤差を含むものとなる。
[0110]
 カルマンフィルタ43では、バイアスの影響がない内向きカメラ24及び外向きカメラ25から求めた差分ポーズと、バイアスの影響があるIMU33から求めた積分ポーズとの差分から、IMU33のバイアスを推定し、それを相殺してバイアスによる誤差が除かれた統合ポーズを求めることが可能である。
[0111]
 また、2つのカメラの差分ポーズを統合することにより、いずれか一方の差分ポーズがずれた場合でも、もう一方の差分ポーズとIMU33のポーズとによって、尤度が高い(誤差が小さい)方向へ修正される。これにより精度の高いポーズ推定を実行することが可能となる。
[0112]
 またカルマンフィルタ43では、IMU33のバイアスの他、各デバイス間の位置及び姿勢のオフセット(あるデバイスからみた他のデバイスの位置及び姿勢)を状態変数とすることで、これらを同時推定することもできる。例えば内向きカメラ24、外向きカメラ25、及びIMU33間の位置及び姿勢のオフセットを同時に推定することが可能である。
[0113]
 例えばスマートフォン等の既製品を利用する場合、内向きカメラ24や外向きカメラ25等のデバイスの配置をメカ設計値として記憶しておき、型番等のデバイスIDからそれらを読み出してカルマンフィルタ43の初期値として用いることも可能である。そうすることで、フィルタでの推定値が収束するまでの間の誤差を小さくすることができる。この結果、ポーズ推定の精度を向上させることが可能となる。
[0114]
 距離推定部50により、ステップ211及び212が実行される。すなわち運動視差によって「現在フレーム画像上の各特徴点の距離(3次元位置)」情報が算出される。ここでは、「過去フレーム画像上の特徴点の2次元位置」情報と、「現在フレーム画像上の対応点の2次元位置」情報と、それら2つのフレーム画像(過去~現在)間の差分ポーズ(カルマンフィルタ43からの統合ポーズ)とに基づいて、運動視差によって各特徴点の距離が推定される。カルマンフィルタ43により算出された統合ポーズが用いられるので、実距離に基づいた距離(3次元位置)が算出される。
[0115]
 2つのフレーム画像で対応する点(特徴点)の2次元位置と、そのフレーム画像間の差分ポーズとが与えられるとする。このとき、以下に示すように、各フレーム画像上の点を3次元空間に投影する式を連立させる(投影した点は同一の点である)ことで、3次元位置、すなわち距離を求めることが可能である。
[0116]
 現在フレーム画像上の点の3次元位置を3dCurr(x,y,z)、その点を過去フレーム画像上からみた場合の3次元位置を3dPrev(x,y,z)、2フレーム画像間のポーズ差分をcPb(並進ベクトル)及びcRb(回転行列)で表したとき、2つの3次元位置の間に次式が成り立つ。
[0117]
[数1]


[0118]
 また、各フレーム画像における各点の3次元位置3dCurr(x,y,z)及び3dPrev(x,y,z)と、その点を画像上(2次元面)に投影した2次元位置2dCurr(u,v)及び2dPrev(u,v)の間には、カメラの内部パラメタ行列をKとしたとき、次式が成り立つ。
[0119]
[数2]


[0120]
 ここで、カメラの内部行列Kは、焦点距離f(x,y)及び光学中心c(x,y)より、次式で表される。
[0121]
[数3]


[0122]
 式(数1)及び式(数2)により、以下の連立方程式が成り立つ。
[0123]
[数4]


[0124]
 式(数4)の連立方程式は、2つの変数(3dCurr.z及び3dPrev.z)に対して3つの式となる。従って連立方程式を、3dCurr.zに対して解くことにより、現在フレーム画像における各点の距離が求まる。距離3dCurr.zが求まったとき、その点の3次元位置は、式(数2)により求めることができる。
[0125]
 ステップ211にて算出された特徴点の3次元位置は、点群情報としてメモリ部48に記憶され、将来のポーズ推定時に用いられる。例えばステップ206にて、Δポーズ推定部51により取得される過去フレーム画像上の特徴点の3次元位置は、過去フレーム画像が「現在フレーム画像」であったタイミングで、ステップ212にて保存された情報である。
[0126]
 3次元再構成部44により、ステップ213が実行される。すなわちステップ211にて算出される特徴点の3次元位置を時間方向に統合することで、距離情報が算出される。具体的には、カルマンフィルタ43から出力される「各時刻における統合ポーズ」情報と、推定ブロック40から出力される「内向きカメラ24から見た第1の壁面11までの距離(各特徴点の3次元座標)」情報と、推定ブロック41から出力される「外向きカメラ25から見た第2の壁面12までの距離(各特徴点の3次元座標)」情報とが、時間方向に統合される。
[0127]
 2つのカメラc 0及びc 1が搭載されている場合、ある時刻tにおけるc 0の位置及び姿勢をPc 0[t](並進ベクトル)及びRc 0[t](回転行列)とし、カメラc 0から見たカメラc 1の位置及び姿勢のオフセットを、c 0Pc 1及びc 0Rc 1とする。このとき、カメラc 1の位置Pc 1[t]及びRc 1[t]は、以下の式により求まる。
[0128]
[数5]


[0129]
 カメラc 0から見える対象物(壁面)上の特徴点の3次元位置をc 0Px 0とし、同様にカメラc 1見える対象物の3次元位置をc 1Px 1とする。ここで、添え字にあるxは各特徴点を表し、特徴点の数だけ存在するが、簡単のため、まとめてx 0/x 1と表記する。このとき、これら各特徴点の3次元位置を固定座標系(カメラの位置姿勢の変化によらない固定された座標系)上の座標値Px 0/Px 1へ変換する式は以下となる。
[0130]
[数6]


[0131]
 このように各時刻における統合ポーズを用いて、各カメラから見た対象物の3次元位置を、ある1つの座標系へと投影していく。これにより時間方向での統合が可能となり、対象物(壁面)上にうたれた複数の特徴点より面を構成できるようになる。この面から法線を求め、その法線ベクトル(単位ベクトル)をN 0とすると、カメラc 0とその面との距離d 0は以下の式より求まる。式中の演算子「・」はベクトルの内積を表す。
[0132]
[数7]


[0133]
 なお式中にて、c 0Px 0はこの「法線ベクトルがN 0である面」を構成する特徴点x 0へのカメラc 0から見た3次元位置であり、カメラc 0からその点への並進ベクトルである。一方、カメラc 1から見えるもう一方の面については、同様に、その面の法線ベクトルをN 1とすると、カメラc 1とその面との距離d 1は以下の式より求まる。
[0134]
[数8]


[0135]
 式中にて、c 0Px 1はこの「法線ベクトルがN 1である面」を構成する特徴点x 1へのカメラc 0から見た3次元位置であり、以下の式より求まる。R Tは、回転行列Rの転置を表す。
[0136]
[数9]


[0137]
 以上より、「法線ベクトルがN 0である面」と「法線ベクトルがN 1である面」とに挟まれた通路10の幅tは、距離d 0と距離d 1との和として求めることができる。例えば距離情報として、通路の幅tの値を用途に応じてリアルタイムに出力する。あるいは、距離情報として、これまでの経路上で最も狭い箇所の幅を出力する等、利用することができる。
[0138]
 ステップ213における距離情報の算出方法は限定されず、任意のアルゴリズム等が用いられてよい。また機械学習等が実行されてもよい。
[0139]
 図4~図7に示す例では、図5に示す各ブロックが協働することで、スケール情報を取得する「取得部」及び「出力制御部」が実現される。また推定ブロック40により出力される差分ポーズ、積分ポーズ、及び統合ポーズは、第1の位置情報に含まれる。また推定ブロック41により出力される差分ポーズ、積分ポーズ、及び統合ポーズは、第2の位置情報に含まれる。すなわち積分ポーズ及び統合ポーズは、第1の位置情報及び第2の位置情報の両方に含まれる。
[0140]
 従って、本例では、内向きカメラ24により撮影された第1の画像に基づいて、第1の位置情報が算出される。また外向きカメラ25により撮影された第1の画像に基づいて、第1の位置情報が算出される。さらに、IMU33の検出結果に基づいて、第1の位置情報及び第2の位置情報が算出される。
[0141]
 また上記したように、内向きカメラ24や外向きカメラ25等のデバイスの配置をメカ設計値として記憶しておき、デバイスIDからそれらを読み出して用いるとする。この場合、読み出される情報は、内向きカメラ24と外向きカメラ25との位置関係に関する情報に相当する。また読み出される情報は、携帯端末20に搭載されているデバイスに関する情報に相当する。
[0142]
 またメカ設計値を記憶するブロックや読み出すブロックにより、デバイス情報取得部が実現される(図示は省略)。また読み出された情報をカルマンフィルタ43の初期値として用いる処理等が、内向きカメラ24と外向きカメラ25との位置関係に関する情報に基づいて距離情報を出力する処理、及びデバイスに関する情報に基づいて距離情報を出力する処理に相当する。
[0143]
 もちろんこれらは、デバイス情報取得部、デバイスに関する情報、デバイスに関する情報に基づいた距離情報の一例であり、他の任意の情報やアルゴリズムが採用されてよい。
[0144]
 <既知対象物を用いた方法>
 例えば単一のカメラを用いて自己位置(あるいは距離)推定をする場合等において、実世界の実距離に関するスケール情報(物理スケール)を取得する方法がないと、スケール不定性の問題が発生し得る。上記した例では、IMU33により取得されるIMUデータが実世界の物理スケールをもっており、これを用いることで不定性が解消されている。
[0145]
 次に、サイズが分かっている既知対象物を用いた方法を説明する。既知対象物は、既知物体やマーカー等と言うことも可能である。サイズが分かっている既知対象物は、実距離に関する情報が関連付けられた既知対象物に相当する。例えば既知対象物に含まれる特徴点間の実距離が分かっている既知対象物等が用いられてもよい。
[0146]
 既知物体の検出は、例えば機械学習を用いた画像マッチングにより実現される。また、Eコマースサイトで購入した履歴がサーバーに存在する場合、購入履歴のデータに基づいて物体認識を行うことで、既知物体を特定することも可能である。
[0147]
 既知物体の例としては、家具などのEコマースサイトで購入した製品や、規格化されている工業製品(ペットボトル、畳、コンセントの差込口、消火器等)が挙げられる。
[0148]
 図8は、携帯端末20のソフトウェア構成の一例を示す模式的なブロック図である。図5に示した例では、推定ブロック40の距離推定部50に、カルマンフィルタ43から出力された統合ポーズが入力された。本例では、図8に示すように、ポーズ推定ブロック55が構築される。そしてポーズ推定ブロック55により推定されたポーズが、距離推定部50に入力される。
[0149]
 ポーズ推定ブロック55は、特徴点検出部56と、特徴量記述部57と、特徴量マッチング部58と、メモリ部59及び60と、ポーズ推定部61とを有する。メモリ部59及び60は、コントローラ21内に構成されてもよいし、記憶部32内に構成されてもよい。
[0150]
 図9及び図10は、距離情報の算出例を示すフローチャートである。図9及び図10では、既知対象物のことを既知物体と記載している。まずステップ304、307、及び317に着目する。物理スケールが取得されている状態では、ステップ304及び307にて、YESの判定となる。この場合、ステップ317に示すように、画像間マッチングによる差分ポーズが用いられる。
[0151]
 画像間マッチングによる差分ポーズの算出は、ステップ301~303、305、306、308、及び309により実行される。この処理は、図6及び図7に示すステップ201~207と同様の処理である。すなわち推定ブロック40のΔポーズ推定部51により、「過去フレーム画像上の特徴点の3次元位置」情報と、「現在フレーム画像上の対応点の2次元位置」情報との組み合わせにより、差分ポーズが推定される。
[0152]
 カルマンフィルタ43により、推定ブロック40のΔポーズ推定部51により算出された差分ポーズと、もう一方の推定ブロック41のΔポーズ推定部51により算出された差分ポーズとが統合される。なお、カルマンフィルタ43による統合を実行することなく、いずれか一方のΔポーズ推定部51により推定された差分ポーズが用いられてもよい。
[0153]
 物理スケールが取得されていない状態の処理を説明する。すなわちステップ304及び307にて、NOの判定となる場合を説明する。
[0154]
 特徴点検出部56及び特徴量記述部57により、ステップ310が実行される。すなわち特徴点検出部56にて、撮影されたフレーム画像上から特徴点が検出される。そして検出された各特徴点に対して、特徴量記述部57にて、マッチングのための特徴量の記述が行われる。
[0155]
 ここでは、回転、拡大縮小、輝度変化等、見た目の変化に対してもマッチングができるよう、特徴点をいかに表現するかが重要となる。そのために様々な記述方法が考案されており、SIFTやORB(Oriented FAST and Rotated BRIEF)等を用いることが可能である。
[0156]
 既知物体を構成する各特徴点の特徴量や3次元位置等の情報は、データベース化されメモリ部59に記憶されている。既知物体として採用される具体的な物体は限定されず、任意の物体が採用されてよい。もちろん物体上に図示されたマーク等が採用されてもよい。
[0157]
 特徴量マッチング部58により、ステップ312が実行される。すなわち既知物体上の各特徴点に対して現在フレーム画像上で対応する点がマッチングされる。具体的には、特徴量記述部57の出力の各特徴点の特徴量と、メモリ部59内の既知物体DBから取得した特徴量とがマッチングされ、現在フレーム画像上の各特徴点に対応する既知物体上の対応点が求められる。
[0158]
 ポーズ推定部61により、ステップ313~316が実行される。既知物体上の対応点は既知物体DBから3次元位置を取得することができる。従って、3次元空間上の点群と、その点群に対応する2次元平面上の点群から、2次元平面の位置及び姿勢(すなわちカメラの位置及び姿勢)を求めることができる。なお、ここで求められるのは、既知物体に対するカメラの位置及び姿勢である。以下、「既知物体に対するカメラの位置及び姿勢」を相対ポーズと記載する。
[0159]
 現在フレーム画像の既知物体から算出された相対ポーズは、メモリ部60に保存される。差分ポーズを算出する際には、メモリ部60に保存された過去フレーム画像における、既知物体から算出された相対ポーズが取得される。そして未来の時点において同様に求めた相対ポーズとの差分が算出される。これにより2つのフレーム画像(過去~現在)間の差分ポーズを算出することが可能となる。
[0160]
 ステップ317に示すように、出力された差分ポーズは、運動視差に用いるポーズとして選択され、推定ブロック40の距離推定部50に入力される。この差分ポーズは、既知物体由来の物理スケールを有したものであり、これを移動量として距離推定部50にて用いることで、推定ブロック40の出力に、物理スケールが取り込まれる。
[0161]
 ステップ318~320の処理は、図6及び図7に示すステップ211~213と同様の処理である。
[0162]
 このように、本例では、実距離に関する情報(物理スケール)が関連付けられた既知対象物が、内向きカメラ24及び外向きカメラ25の各々で撮影された画像に基づいて、スケール情報が取得される。
[0163]
 典型的には、内向きカメラ24に対応する推定ブロック40と、外向きカメラ25に対応する推定ブロック41との各々に対して、2つのポーズ推定ブロック55が構成される。そして、内向きカメラ24及び外向きカメラ25の各々にて撮影された既知対象物の撮影画像に基づいて、スケール情報が取得される。
[0164]
 これに限定されず、いずれか一方の推定ブロックに対してにのみポーズ推定ブロック55が構成され、その推定結果が他の推定ブロックの距離推定部50に入力されてもよい。すなわち内向きカメラ24及び外向きカメラ25のいずれか一方により撮影された既知対象物の撮影画像に基づいて、スケール情報が取得されてもよい。
[0165]
 また物理スケールが取得されていないと判定された場合、既知物体の撮影を指示する旨の通知情報がユーザに通知されてもよい。
[0166]
 図8~図10に示す例では、ポーズ推定ブロック55が、スケール情報を取得する「取得部」及び「出力制御部」の一部として機能する。すなわちポーズ推定ブロック55により、実距離に関する情報が関連付けられた既知対象物を内向きカメラ24又は外向きカメラ25の少なくとも一方により撮影された画像に基づいて、スケール情報を取得することが可能である。またポーズ推定ブロック55により出力される差分ポーズは、第1の位置情報及び第2の位置情報の両方に含まれる。
[0167]
 <測距センサを用いた方法>
 次に、ToFセンサ等の測距センサを用いた方法を説明する。本例では、図2に例示するセンサ部26に、ToF等の測距センサ65(図11参照)が構成される。測距センサ65の具体的な構成は限定されず、任意の構成が採用されてよい。
[0168]
 図11は、携帯端末20のソフトウェア構成の一例を示す模式的なブロック図である。本例では、内向きカメラ24に対応して推定ブロック70が構成される。推定ブロック70は、特徴点検出部71と、メモリ部72及び73と、動きマッチング部73と、距離取得部75、Δポーズ推定部76とを有する。
[0169]
 本例では、測距センサ65により直接的に距離を算出することが可能である。従って、推定ブロック70は、図5に例示した推定ブロック40と比較し得、距離推定部50が、距離取得部75に置き換えられた構成となっている。なお、外向きカメラ25に対応して、推定ブロック70と同じ構成の推定ブロックが構築される。
[0170]
 なお、内向きカメラ24及び外向きカメラ25に対して、測距センサ65は、所定の位置関係となるように配置される。例えば携帯端末20自体の位置及び姿勢の変化に連動して、内向きカメラ24、外向きカメラ25、及び測距センサ65の位置及び姿勢も変化する。
[0171]
 図12は、距離情報の算出例を示すフローチャートである。例えば、測距センサ65としてToFセンサが用いられるとする。ToFセンサは、発光部にて発した光が、対象物に反射して受光部に返ってくるまでの所要時間を測定することにより、対象物までの物理的な距離を取得することができるデバイスである。
[0172]
 内向きカメラ24及びToFセンサ間がキャリブレーションされていれば、内向きカメラ24により撮影されるフレーム画像上の画素と、ToF受光部上の画素とを対応づけることが可能となる。これにより、フレーム画像上から抽出した各特徴点の距離を、ToFセンサから得ることができるようになる。
[0173]
 距離取得部75では、この画素の対応づけを行い、ToFセンサから、各特徴点の距離を取得する。もちろんToFセンサ以外の測距センサが用いられる場合でも、各特徴点の距離を直接的に取得することは可能である。
[0174]
 図12のフローチャートにおいて、ステップ408及び409が、距離取得部75により実行される処理である。測距センサ65から得られる物理スケールに基づいて距離を取得することができるので、推定ブロック70の出力(各特徴点の3次元位置、及び差分ポーズ)に物理スケールが取り込まれる。
[0175]
 ステップ410では、推定ブロック70の出力に基づいて、特徴点の3次元位置が時間方向に統合され、距離情報が算出される。その他のステップについては、図5を参照して説明した処理と同様である。
[0176]
 なお、図11に示す例では、本技術に係る撮像装置として内向きカメラ24が用いられ、内向きカメラ24とは別個に測距センサ65が用いられている。例えば撮像装置として、ToFセンサの構成が採用されてもよい。例えばToFの受光部がカメラと同一となるように構成されてもよい。この場合、第1の撮像装置自体が、測距センサとしても機能する。
[0177]
 例えば、撮像装置としてToFセンサが用いられる場合には、ToFセンサを測距センサとしても機能させることが可能となるので、図11及び図12を参照して説明した処理を実行することが可能となる。
[0178]
 図11及び図12に示す例において、距離取得部75は、スケール情報を取得する「取得部」及び「出力制御部」の一部として機能する。また推定ブロック70により出力される差分ポーズは第1の位置情報に含まれる。また他方の推定ブロックにより出力される差分ポーズは、第2の位置情報に含まれる。
[0179]
 従って本例では、測距センサ65の検出結果に基づいて、スケール情報が取得される。また測距センサ65の検出結果に基づいて、第1の位置情報及び第2の位置情報が算出される。
[0180]
 <搭載されるデバイスに基づいた3つの方法の組み合わせ>
 「モーションセンサを用いた方法」「既知対象物を用いた方法」「測距センサを用いた方法」が適宜組み合わされて実行されてもよい。
[0181]
 スマートフォン等で採用されている一般的なOS(オペレーティングシステムソフトウェア)は、接続されているデバイスを利用するために、どのようなデバイスが接続されているかの情報と、それを利用するための各種APIを備えている。OSに問い合わせれば、どのようなデバイスが利用可能であるかは判別可能であり、それらをもとに本技術を実施するための構成を変更(選択)することもできる。
[0182]
 例えば、携帯端末の表側は、搭載されているToFを使用して距離を測定し、裏側はToFもIMUもないので物理スケール取得用のマーカーを利用する、等の組み合わせもできる。その他、組み合わせを決定する方法として任意の方法が採用されてもよい。ユーザにより実距離に関するスケール情報の取得方法が指定可能であってもよい。
[0183]
 例えば距離精度や、テクスチャレスな環境に対するロバスト性はToFが非常に有利であると考えられる。従ってToFが利用できる場合はそれを優先的に選択するなどの制御が実行されてもよい。
[0184]
 なお、OSに問い合わせて、デバイスに関する情報を取得するブロックは、デバイス情報取得部に相当する。またデバイスに関する情報に基づいて、スケール情報を選択する処理は、デバイスに関する情報に基づいて距離情報を出力する処理に相当する。
[0185]
 <自己位置の推定が不利な状況の通知>
 カメラの自己位置を推定するには、まず対象物被写体までの距離を推定する必要がある。しかし、この距離の推定精度は基線長の長さ(単眼カメラの場合は視線方向に垂直な向きに並進する移動量)に依存しており、カメラの視線方向に対して垂直の方向に並進する(カメラを壁面に向けた場合、壁面に沿って並進する)のが最も精度を良くする動かし方である。
[0186]
 従って、通路10幅を最も効率よくモデリングするには、図2及び図3に示すように、主面20aの内向きカメラ24、及び背面20bの外向きカメラ25がそれぞれ通路10を挟む第1の壁面11及び第2の壁面12へ向くように保持し、そのまま第1の壁面11及び第2の壁面12に沿って並進することである。
[0187]
 このように携帯端末20を保持しつつ通路10を歩いてモデリングしていくことになるが、その通路10上では、暗かったり、第1の壁面11や第2の壁面12に十分な特徴点がとれなかったり、動きが速すぎてフレーム間のオーバーラップがなくなったりといった、自己位置(あるいは距離)推定がうまくいかなくなるケースが考えられる。
[0188]
 例えば内向きカメラ24及び外向きカメラ25のうちの一方のカメラが一時的にこのような状況に陥っても、反対側を見ている他方のカメラが有効な画を撮れることで、推定精度の低下を抑えることが可能な場合もあり得る。しかしながら、状況が長く続くようだと自己位置(あるいは距離)推定に失敗する可能性が高くなる。
[0189]
 そこで、自己位置推定に不利な状況であるか否かを判定し、不利な状況である場合には、ユーザ1にその旨を通知する。そして不利な状況である場合に、不利な状況を解消するための情報を通知する。これにより、距離情報の生成を効率よく高精度に実行することが可能となる。
[0190]
 例えば、図5に例示する推定ブロック40等において、特徴点検出部46にて検出できた点、あるいは、動きマッチング部49にてマッチングできた点の点数が少なくなった場合に、推定が不利な状況であると判定する。
[0191]
 またカルマンフィルタ43にてポーズを統合する際にIMU33の積分ポーズとカメラによる差分ポーズとの差分(誤差確率分布を考慮したマハラノビス距離等)が大きくなった場合、推定が不利な状況であると判定する。
[0192]
 例えば、上記したような不利な状況(暗い、無地である、動きが速い等)等においては、マッチングに失敗したり、ポーズを推定できても誤差が大きく(IMU33の積分ポーズとの乖離が大きく)なるため、推定に不利な状況と判定することが可能である。
[0193]
 自己位置の推定が不利な状況であると判定された場合には、その旨を音、光、あるいは振動等などでユーザに通知する。例えばディスプレイ表示や音声出力等が実行されてもよい。そして、明るくしてもらったり、カメラを違う面に向けてもらったり、動きを遅めにしてもらう等の指示によりユーザを誘導することで、不利な状況が続かないようにする。これにより距離情報の生成精度を向上することが可能となる。
[0194]
 自己位置の推定が不利な状況は、距離情報の出力が不利な状況に含まれる概念である。例えば、自己位置の推定とは異なる処理の実行が不利な状況が判定され、適宜ユーザに通知することも可能である。
[0195]
 また自己位置の推定等が不利な状況であるか否かを判定するブロック、及びその旨を通知するブロックは、本技術に係る通知部に相当するブロックとなる。また明るくしてもらったり、カメラを違う面に向けてもらったり、動きを遅めにしてもらう等の指示は、不利な状況を解消するための情報の通知に相当する。もちろんこれらの通知等に限定されず、他の任意の情報が不利な状況を解消するための情報として通知されてもよい。
[0196]
 図13は、デバイスに基づいた3つの方法の切替えと、不利な状況の判定処理を含む処理例を示すフローチャートである。図13に例示する処理は、距離情報の生成のための全体の処理例とも言える。
[0197]
 OS等に問い合わせることで、利用可能なデバイスの情報が取得される(ステップ501)。デバイス情報がデータベース化されている場合には、DBが照会され、各デバイス間の位置オフセット等が既知のものは、それをカルマンフィルタ等の初期値に設定される(ステップ502)。
[0198]
 デバイス情報に基づいて、測距センサが利用可能であると判定された場合には、図11及び図12を参照して説明したような測距センサを用いた方法にて、各フレーム処理が実行される(ステップ503のYESからステップ504)。
[0199]
 測距センサが利用不可であり、IMUが利用可能な場合には、図4~図7を参照して説明したようなIMUを用いた方法にて、各フレーム処理が実行される(ステップ505のYESからステップ506)。
[0200]
 測距センサ及びIMUが利用不可である場合には、図8~図10を参照して説明したような既知対象物を用いた方法にて、各フレーム処理が実行される(ステップ505のNOからステップ507)。
[0201]
 カメラが不利な状況であると判定された場合は、その旨が音、光、あるいは振動等などでユーザに通知される(ステップ508のYESからステップ509)。カメラが不利な状況ではないと判定された場合は、通路幅等を含む距離情報が出力される(ステップ508のNOからステップ510)。
[0202]
 なお図13に示す例において、ステップ501及び502の処理を実行するブロックがデバイス情報取得部に相当する。またステップ508及び509の処理を実行するブロックが通知部に相当する。これらのブロックは、例えばコントローラ21のCPUが所定のプログラムを実行することで実現可能である。またこれらのブロックを実現するために、IC(集積回路)等の専用のハードウェアが適宜用いられてもよい。
[0203]
 <2つの撮像装置の撮影方向の向き>
 図14は、第1の撮像装置5及び第2の撮像装置6の撮影方向の交差角度について説明するための模式的な図である。
[0204]
 スマートフォン等の携帯端末20のカメラ構成として、図14Cに示すように、2つのカメラ(第1の撮像装置5及び第2の撮像装置6)が背中合わせに反対を向いている配置、すなわち2つのカメラのなす角が180°となる配置を採用している場合が多い。このカメラ配置は広く普及していて、利用可能性が高く、導入コストの面でも優れる(既存のスマートフォンがそのまま使える)。
[0205]
 なお2つのカメラのなす角は、第1の撮像装置5の撮影方向である第1の方向h1と、第2の撮像装置6の撮影方向である第2の方向h2の交差角度である。
[0206]
 2つのカメラが背中合わせに反対を向いて配置されるので、一度の動作で通路脇の両面までの距離を同時に、かつ比較的精度よく求めることができる。カメラから各壁面までの距離がわかれば、それを足し合わせることで、壁面に挟まれた通路の幅が求められる。
[0207]
 一方で、本技術の処理内容自体はこのカメラ配置に制限されたものではなく、その他の場合でも利用可能である。例えば、図14Aに例示するように、2つのカメラのなす角が90°となるような配置が挙げられる。カメラが奥行き方向に移動した場合に見た目の違いが小さいことに起因して、一般的に、カメラを用いた自己位置推定は奥行き方向の移動に感度が低い。
[0208]
 2つのカメラのなす角が90度となる配置では、一方の奥行き方向が他方の水平(あるいは鉛直)方向となるため、互いの弱点を補うことができる利点がある。この観点では2つのカメラのなす角が90°なるのが非常に有利であると考えられ、それより鋭角になる場合も鈍角になる場合も、不利の度合いは同等であると考えらえる。
[0209]
 例えば2つのカメラの角度が鋭角である方が、2つのカメラで見る面が同一となる確率が高く、その面がテクスチャレスだった場合への耐性が低くなりがちである(鈍角であれば、テクスチャのある別の面を観測できる可能性が上がる)。従って図14A~Cに例示するように、カメラ配置としては、2つのカメラのなす角が90°から180°の範囲に含まれるような構成が望ましいと考えられる。
[0210]
 以上、本実施形態に係る距離情報生成システム100では、スケール情報と、第1の撮像装置5の第1の位置情報と、第2の撮像装置6の第2の位置情報とに基づいて、第1の撮像装置により撮影された第1の対象物と、第2の撮像装置により撮影された第2の対象物との間の、実距離に基づいた距離情報が生成される。これにより第1の対象物と第2の対象物との間の距離を簡単に精度よく測定することが可能となる。
[0211]
 例えば、大型家具を購入した場合等、それを設置場所まで搬入できるかという問題が生じる。一般的にこの問題は、入り口や曲がり角等、搬入経路上でボトルネックになりそうな箇所の通路幅を実際に巻尺などで測定することで対応されてきた。しかしながらこの方法では、経路長が長くなり、測定箇所が増えるほど負担が大きくなる。また測定していなかった箇所が実は狭かったなど、測定漏れの危険性もある。
[0212]
 例えば、SLAM等の技術により、カメラが向いている方向の面をモデリングすることは可能である。例えば1つのカメラを用いて通路幅を測定するためには、少なくとも通路の両側の2面をモデリングする必要があるので、経路を2回(それぞれ異なる面にカメラをむけて)歩く必要がある。また環境をモデリングする際にカメラの自己位置を同時推定するのだが、これがドリフトとよばれる移動量に比例する誤差をもち、モデリングする経路が長くなるほど誤差が広がり、モデリングされた結果も歪んでしまう問題がある。
[0213]
 本技術では、互いに異なる方向を向いた2つのカメラ(例えば、スマートフォンの内向きカメラ及び外向きカメラ)を用いて、通路の両側の壁面をモデリングする。従って2つのカメラを両側の壁面に向けた状態で保持しつつ搬入経路を歩くことで、その経路の幅を容易に精度よく把握することが可能となる。
[0214]
 今歩いている経路の幅をリアルタイムで知ることが可能となる他、これまでの経路で最も狭い箇所などがわかり、物品搬入の可否を容易に判断することが可能となる。また特別な道具を用意することなく、一般的なスマートフォン等で通路幅を簡易的にモデリングすることができる。またスマートフォンを保持したまま経路を歩くだけという簡便な方法であり、一般消費者でも独力で簡単に実施可能である。
[0215]
 また経路の始点から終点までを連続にモデリングできるため、一部が狭い箇所などの測定漏れを防くことが可能である。また一動作で通路の両脇をモデリングできるため、片面ずつ実施する場合に比べて負担が半分ですむ。
[0216]
 1つのカメラで片面ずつモデリングを実行する場合、推定誤差も動作ごとに発生するものが蓄積するため、精度の面でも一動作で行えるほうが有利である。また、片面ずつモデリングを実行した場合、片面ずつのモデリング結果をどのように結合するかという問題もあり、この結合も誤差の発生源となり得る。
[0217]
 通路幅を知るには、その通路を構成する両脇の壁の対応をつける必要があるが、片面ずつモデリングを実行する場合、それらを接続するための接続領域(通路の両脇の壁に対して、床や天井部分)もモデリングして1つに結合しないと、両壁を対応づけることは非常に難しい。
[0218]
 本技術では、両面のモデリングを同時に実行可能であるため、一方の壁に対応する壁の対応づけが容易であり、結合・対応づけに係るこれらの問題は生じない。また一般にカメラによる自己位置(あるいは距離)推定は、視線方向に誤差を生じやすい。互いに反対側をむいたカメラによる推定結果を統合することで、たまたまお互いが同じ方向に間違えない限り、一方の誤差が打ち消されて、精度の向上効果が期待できる。
[0219]
 <その他の実施形態>
 本技術は、以上説明した実施形態に限定されず、他の種々の実施形態を実現することができる。
[0220]
 3つ以上のカメラにより撮影された画像により複数の対象物の間の距離に関する距離情報が生成されてもよい。例えば3つのカメラが用いられて、通路を挟む2つの壁面の間の距離等が算出されてもよい。あるいは、3つ以上の対象物間の距離情報が生成されてもよい。
[0221]
 本技術は、通路幅の測定に限定されず、他の用途に用いられてもよい。例えば所定の装置のサイズ測定や、収容スペースのサイズ測定等に、本技術が適用されてもよい。
[0222]
 上記では、1つの装置に対して、第1の撮像装置及び第2の撮像装置が配置される場合を例に挙げた。これに限定されず、第1の撮像装置と第2の撮像装置とが別個に構成されてもよい。この場合でも、例えば第1の撮像装置と第2の撮像装置との位置関係に関する情報を適宜用いることで、本技術を適用することが可能である。
[0223]
 第1の撮像装置及び第2の撮像装置が別個に構成される場合、IMU(モーションセンサ)、ポーズ測定ブロック、又は測距センサ等の、実距離に関するスケール情報を取得するためのデバイスやブロックが、各撮像装置にそれぞれ搭載されてもよい。
[0224]
 例えば第1の撮像装置に対して所定の位置関係となるように、IMU(モーションセンサ)や測距センサが配置される場合や、第2の撮像装置に対して所定の位置関係となるように、IMU(モーションセンサ)や測距センサが配置される場合があり得る。すなわち第1の撮像装置又は第2の撮像装置のいずれか一方のみに対して所定の位置関係となるように、IMU(モーションセンサ)や測距センサが配置される場合もあり得る。
[0225]
 上記では、本技術に係る情報処理装置の一実施形態として、携帯端末を例に挙げた。しかしながら、携帯端末とは別に構成され、有線又は無線を介して携帯端末に接続される任意のコンピュータにより、本技術に係る情報処理装置が実現されてもよい。例えば携帯端末と他のコンピュータとが連動して、本技術に係る情報処理方法が実行されてもよい。
[0226]
 すなわち本技術に係る情報処理方法、及びプログラムは、単体のコンピュータにより構成されたコンピュータシステムのみならず、複数のコンピュータが連動して動作するコンピュータシステムにおいても実行可能である。なお本開示において、システムとは、複数の構成要素(装置、モジュール(部品)等)の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、1つの筐体の中に複数のモジュールが収納されている1つの装置は、いずれもシステムである。
[0227]
 コンピュータシステムによる本技術に係る情報処理方法、及びプログラムの実行は、例えばスケール情報の取得、第1及び第2の位置情報の算出、距離情報の算出、デバイスに関する情報の取得、不利な状況である旨の通知の実行等が、単体のコンピュータにより実行される場合、及び各処理が異なるコンピュータにより実行される場合の両方を含む。また所定のコンピュータによる各処理の実行は、当該処理の一部または全部を他のコンピュータに実行させその結果を取得することを含む。
[0228]
 すなわち本技術に係る情報処理方法及びプログラムは、1つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成にも適用することが可能である。
[0229]
 各図面を参照して説明した情報処理装置等の構成や距離情報の生成フロー等はあくまで一実施形態であり、本技術の趣旨を逸脱しない範囲で、任意に変形可能である。すなわち本技術を実施するための他の任意の構成やアルゴリズム等が採用されてよい。
[0230]
 本開示において、「等しい」「同じ」「90°」「180°」等は、「実質的に等しい」「実質的に同じ」「実質的に90°」「実質的に180°」を含む概念とする。例えば「完全に等しい」「完全に同じ」「完全に90°」「完全に180°」等を基準とした所定の範囲(例えば±10%の範囲)に含まれる状態も含まれる。
[0231]
 以上説明した本技術に係る特徴部分のうち、少なくとも2つの特徴部分を組み合わせることも可能である。すなわち各実施形態で説明した種々の特徴部分は、各実施形態の区別なく、任意に組み合わされてもよい。また上記で記載した種々の効果は、あくまで例示であって限定されるものではなく、また他の効果が発揮されてもよい。
[0232]
 なお、本技術は以下のような構成も採ることができる。
(1)実距離に関するスケール情報と、第1の撮像装置の位置及び姿勢に関する第1の位置情報と、第2の撮像装置の位置及び姿勢に関する第2の位置情報とに基づいて、前記第1の撮像装置により撮影された第1の対象物と、前記第2の撮像装置により撮影された第2の対象物との間の、前記実距離に基づいた距離情報を出力する出力制御部
 を備える情報処理装置。
(2)(1)に記載の情報処理装置であって、
 前記第1の撮像装置及び前記第2の撮像装置は、所定の位置関係となるように配置され、
 前記出力制御部は、前記第1の撮像装置と前記第2の撮像装置との位置関係に関する情報に基づいて、前記距離情報を出力する
 情報処理装置。
(3)(1)又は(2)に記載の情報処理装置であって、
 前記第1の撮像装置は、第1の方向を撮影方向として構成され、
 前記第2の撮像装置は、前記第1の方向とは異なる第2の方向を撮影方向として構成される
 情報処理装置。
(4)(3)に記載の情報処理装置であって、
 前記第1の方向及び前記第2の方向は、交差角度が90°から180°の範囲に含まれるように設定される
 情報処理装置。
(5)(1)から(4)のうちいずれか1つに記載の情報処理装置であって、
 前記第1の位置情報は、前記第1の撮像装置により撮影された前記第1の対象物の画像に基づいて算出され、
 前記第2の位置情報は、前記第2の撮像装置により撮影された前記第2の対象物の画像に基づいて算出される
 情報処理装置。
(6)(1)から(5)のうちいずれか1つに記載の情報処理装置であって、
 前記スケール情報は、前記第1の撮像装置及び前記第2の撮像装置の少なくとも一方と所定の位置関係となるように配置されたモーションセンサの検出結果に基づいて取得される
 情報処理装置。
(7)(6)に記載の情報処理装置であって、
 前記出力制御部は、前記モーションセンサの検出結果に基づいて、前記第1の位置情報及び前記第2の位置情報の少なくとも一方を算出する
 情報処理装置。
(8)(1)から(7)のうちいずれか1つに記載の情報処理装置であって、
 前記スケール情報は、前記第1の撮像装置又は前記第2の撮像装置の少なくとも一方により、実距離に関する情報が関連付けられた既知対象物が撮影された画像に基づいて取得される
 情報処理装置。
(9)(1)から(8)のうちいずれか1つに記載の情報処理装置であって、
 前記スケール情報は、前記第1の撮像装置及び前記第2の撮像装置の少なくとも一方と所定の位置関係となるように配置された測距センサの検出結果に基づいて取得される
 情報処理装置。
(10)(9)に記載の情報処理装置であって、
 前記出力制御部は、前記測距センサの検出結果に基づいて、前記第1の位置情報及び第2の位置情報の少なくとも一方を算出する
 情報処理装置。
(11)(1)から(10)のうちいずれか1つに記載の情報処理装置であって、
 前記第1の撮像装置は、デジタルカメラ、又はToF(Time of Flight)センサの少なくとも一方の構成を含み、
 前記第2の撮像装置は、デジタルカメラ、又はToFセンサの少なくとも一方の構成を含み、
 情報処理装置。
(12)(1)から(11)のうちいずれか1つに記載の情報処理装置であって、
 前記第1の対象物及び前記第2の対象物は、通路を挟んで配置される壁面であり、
 前記距離情報は、前記通路の幅を含む
 情報処理装置。
(13)(12)に記載の情報処理装置であって、さらに、
 第1の面と、前記第1の面とは反対側の第2の面と、前記第1の面の表面側に向けて配置された前記第1の撮像装置と、前記第2の面の表面側に向けて配置された前記第2の撮像装置とを備え、
 ユーザが携帯可能な携帯端末として構成されている
 情報処理装置。
(14)(1)から(13)のうちいずれか1つに記載の情報処理装置であって、さらに、
 前記携帯端末に搭載されているデバイスに関する情報を取得するデバイス情報取得部を備え、
 前記出力制御部は、前記デバイスに関する情報に基づいて、前記距離情報を出力する
 情報処理装置。
(15)(1)から(14)のうちいずれか1つに記載の情報処理装置であって、
 前記出力制御部は、前記スケール情報と、前記第1の位置情報と、前記第2の位置情報とに基づいて、前記第1の対象物及び前記第2の対象物のモデリングを実行することで前記距離情報を出力する
 情報処理装置。
(16)(1)から(15)のうちいずれか1つに記載の情報処理装置であって、
 前記出力制御部は、前記第1の撮像装置により撮影された第1の対象物の画像、及び前記第2の撮像装置により撮影された第2の対象物の画像に基づいて、SLAMを実行することで、前記距離情報を出力する
 情報処理装置。
(17)(1)から(16)のうちいずれか1つに記載の情報処理装置であって、さらに、
 前記距離情報の出力が不利な状況であるか否かを判定し、前記不利な状況である場合には、ユーザにその旨を通知する通知部を備える
 情報処理装置。
(18)(17)に記載の情報処理装置であって、
 前記通知部は、前記不利な状況である場合に、前記不利な状況を解消するための情報を通知する
 情報処理装置。
(19)
 実距離に関するスケール情報と、第1の撮像装置の位置及び姿勢に関する第1の位置情報と、第2の撮像装置の位置及び姿勢に関する第2の位置情報とに基づいて、前記第1の撮像装置により撮影された第1の対象物と、前記第2の撮像装置により撮影された第2の対象物との間の、前記実距離に基づいた距離情報を出力する
 ことをコンピュータシステムが実行する情報処理方法。
(20)
 実距離に関するスケール情報と、第1の撮像装置の位置及び姿勢に関する第1の位置情報と、第2の撮像装置の位置及び姿勢に関する第2の位置情報とに基づいて、前記第1の撮像装置により撮影された第1の対象物と、前記第2の撮像装置により撮影された第2の対象物との間の、前記実距離に基づいた距離情報を出力するステップ
 をコンピュータシステムに実行させるプログラム。

符号の説明

[0233]
 1…ユーザ
 5…第1の撮像装置
 6…第2の撮像装置
 10…通路
 11…第1の壁面
 12…第2の壁面
 20…携帯端末
 20a…主面
 20b…背面
 21…コントローラ
 32…記憶部
 33…IMU
 40、41、70…推定ブロック
 42…積分部
 43…カルマンフィルタ
 44…3次元再構成部
 55…ポーズ推定ブロック
 65…測距センサ
 100…距離情報生成システム

請求の範囲

[請求項1]
 実距離に関するスケール情報と、第1の撮像装置の位置及び姿勢に関する第1の位置情報と、第2の撮像装置の位置及び姿勢に関する第2の位置情報とに基づいて、前記第1の撮像装置により撮影された第1の対象物と、前記第2の撮像装置により撮影された第2の対象物との間の、前記実距離に基づいた距離情報を出力する出力制御部
 を備える情報処理装置。
[請求項2]
 請求項1に記載の情報処理装置であって、
 前記第1の撮像装置及び前記第2の撮像装置は、所定の位置関係となるように配置され、
 前記出力制御部は、前記第1の撮像装置と前記第2の撮像装置との位置関係に関する情報に基づいて、前記距離情報を出力する
 情報処理装置。
[請求項3]
 請求項1に記載の情報処理装置であって、
 前記第1の撮像装置は、第1の方向を撮影方向として構成され、
 前記第2の撮像装置は、前記第1の方向とは異なる第2の方向を撮影方向として構成される
 情報処理装置。
[請求項4]
 請求項3に記載の情報処理装置であって、
 前記第1の方向及び前記第2の方向は、交差角度が90°から180°の範囲に含まれるように設定される
 情報処理装置。
[請求項5]
 請求項1に記載の情報処理装置であって、
 前記第1の位置情報は、前記第1の撮像装置により撮影された前記第1の対象物の画像に基づいて算出され、
 前記第2の位置情報は、前記第2の撮像装置により撮影された前記第2の対象物の画像に基づいて算出される
 情報処理装置。
[請求項6]
 請求項1に記載の情報処理装置であって、
 前記スケール情報は、前記第1の撮像装置及び前記第2の撮像装置の少なくとも一方と所定の位置関係となるように配置されたモーションセンサの検出結果に基づいて取得される
 情報処理装置。
[請求項7]
 請求項6に記載の情報処理装置であって、
 前記出力制御部は、前記モーションセンサの検出結果に基づいて、前記第1の位置情報及び前記第2の位置情報の少なくとも一方を算出する
 情報処理装置。
[請求項8]
 請求項1に記載の情報処理装置であって、
 前記スケール情報は、前記第1の撮像装置又は前記第2の撮像装置の少なくとも一方により、実距離に関する情報が関連付けられた既知対象物が撮影された画像に基づいて取得される
 情報処理装置。
[請求項9]
 請求項1に記載の情報処理装置であって、
 前記スケール情報は、前記第1の撮像装置及び前記第2の撮像装置の少なくとも一方と所定の位置関係となるように配置された測距センサの検出結果に基づいて取得される
 情報処理装置。
[請求項10]
 請求項9に記載の情報処理装置であって、
 前記出力制御部は、前記測距センサの検出結果に基づいて、前記第1の位置情報及び第2の位置情報の少なくとも一方を算出する
 情報処理装置。
[請求項11]
 請求項1に記載の情報処理装置であって、
 前記第1の撮像装置は、デジタルカメラ、又はToF(Time of Flight)センサの少なくとも一方の構成を含み、
 前記第2の撮像装置は、デジタルカメラ、又はToFセンサの少なくとも一方の構成を含み、
 情報処理装置。
[請求項12]
 請求項1に記載の情報処理装置であって、
 前記第1の対象物及び前記第2の対象物は、通路を挟んで配置される壁面であり、
 前記距離情報は、前記通路の幅を含む
 情報処理装置。
[請求項13]
 請求項12に記載の情報処理装置であって、さらに、
 第1の面と、前記第1の面とは反対側の第2の面と、前記第1の面の表面側に向けて配置された前記第1の撮像装置と、前記第2の面の表面側に向けて配置された前記第2の撮像装置とを備え、
 ユーザが携帯可能な携帯端末として構成されている
 情報処理装置。
[請求項14]
 請求項1に記載の情報処理装置であって、さらに、
 前記携帯端末に搭載されているデバイスに関する情報を取得するデバイス情報取得部を備え、
 前記出力制御部は、前記デバイスに関する情報に基づいて、前記距離情報を出力する
 情報処理装置。
[請求項15]
 請求項1に記載の情報処理装置であって、
 前記出力制御部は、前記スケール情報と、前記第1の位置情報と、前記第2の位置情報とに基づいて、前記第1の対象物及び前記第2の対象物のモデリングを実行することで前記距離情報を出力する
 情報処理装置。
[請求項16]
 請求項1に記載の情報処理装置であって、
 前記出力制御部は、前記第1の撮像装置により撮影された第1の対象物の画像、及び前記第2の撮像装置により撮影された第2の対象物の画像に基づいて、SLAMを実行することで、前記距離情報を出力する
 情報処理装置。
[請求項17]
 請求項1に記載の情報処理装置であって、さらに、
 前記距離情報の出力が不利な状況であるか否かを判定し、前記不利な状況である場合には、ユーザにその旨を通知する通知部を備える
 情報処理装置。
[請求項18]
 請求項17に記載の情報処理装置であって、
 前記通知部は、前記不利な状況である場合に、前記不利な状況を解消するための情報を通知する
 情報処理装置。
[請求項19]
 実距離に関するスケール情報と、第1の撮像装置の位置及び姿勢に関する第1の位置情報と、第2の撮像装置の位置及び姿勢に関する第2の位置情報とに基づいて、前記第1の撮像装置により撮影された第1の対象物と、前記第2の撮像装置により撮影された第2の対象物との間の、前記実距離に基づいた距離情報を出力する
 ことをコンピュータシステムが実行する情報処理方法。
[請求項20]
 実距離に関するスケール情報と、第1の撮像装置の位置及び姿勢に関する第1の位置情報と、第2の撮像装置の位置及び姿勢に関する第2の位置情報とに基づいて、前記第1の撮像装置により撮影された第1の対象物と、前記第2の撮像装置により撮影された第2の対象物との間の、前記実距離に基づいた距離情報を出力するステップ
 をコンピュータシステムに実行させるプログラム。

図面

[ 図 1]

[ 図 2]

[ 図 3]

[ 図 4]

[ 図 5]

[ 図 6]

[ 図 7]

[ 図 8]

[ 図 9]

[ 図 10]

[ 図 11]

[ 図 12]

[ 図 13]

[ 図 14]