以下に、本願に係る生成装置、生成方法、および生成プログラムを実施するための形態(以下、「実施形態」と呼ぶ)について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る生成装置、生成方法、および生成プログラムが限定されるものではない。また、各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略される。
[実施形態]
〔1.情報提供システムについて〕
まず、図1を用いて、生成装置の一例である情報提供装置10や端末装置100を有し、利用者を案内するための案内情報を提供する情報提供システム1の一例について説明する。図1は、実施形態に係る情報提供システムの一例を示す図である。図1に示すように、情報提供システム1は、情報提供装置10と、複数の端末装置101、102(以下、「端末装置100」と総称する場合がある。)を有する。
情報提供装置10は、インターネット等の所定のネットワークN(例えば、図7を参照。)を介して、端末装置100と通信可能な情報処理装置であり、例えば、サーバ装置やクラウドシステム等により実現される。なお、情報提供装置10は、ネットワークNを介して、任意の数の端末装置100と通信可能であってもよく、図示しない各種の外部サーバや外部システムと通信可能であってもよい。
端末装置100は、利用者が利用する端末装置であり、例えば、PC(Personal Computer)やサーバ装置、各種のスマートデバイス等により実現される。また、端末装置100は、各種の被写体を撮影可能なカメラを有するとともに、カメラを用いて撮影された静止画像や動画像等の撮影画像を情報提供装置10に送信する機能を有する。また、端末装置100は、後述する生成処理により情報提供装置10が生成した案内情報を受信すると、受信した案内情報を画面上に表示することで、利用者の案内を行う機能を有するものとする。
なお、以下の説明では、端末装置101は、利用者U1により利用される端末装置であり、端末装置102は、利用者U2により利用される端末装置であるものとする。また、た、以下の説明では、1つの情報提供装置10により各端末装置101、102に個別の案内情報を提供する処理の一例について説明するが、実施形態は、これに限定されるものではない。例えば、情報提供システム1は、複数の情報提供装置10を有し、各情報提供装置10がそれぞれ個別に生成処理を実行してもよい。また、以下に説明する生成処理は、例えば、端末装置100がスタンドアローン形式で実現してもよい。
〔1−1.利用者の案内について〕
ここで、利用者を目的地まで適切に案内するための案内情報について説明する。例えば、GPS(Global Positioning System)等の衛星を用いた各種の測位システムを用いて、利用者の位置を測定し、測定した位置を示す情報を提供した場合、利用者がどこにいるかを示すことができる。また、地図上に、その地図が設置された位置を示す情報を記載することでも、利用者の現在位置を示すことができる。
しかしながら、利用者が現在位置とは異なる目的地へと移動しようとしている場合、利用者は、自身が向いている方向を特定し、その後、目的地の方向へと移動することとなる。このため、利用者に現在位置を示す情報を提供しただけでは、利用者が目的地とは異なる方向に移動してしまう恐れがある。また、利用者に現在位置を示す情報を提供しただけでは、自身が向いている方向を特定する手間を省くことができない。
より具体的な例を説明する。例えば、利用者の位置を示すアイコンを地図上に重ねて提供した場合、利用者がどこにいるかを示すことができる。しかしながら、利用者が目的地へと移動する場合、利用者は、周囲の状況と地図上の情報とを突き合わせることで、自身が向いている方向を特定し、特定した方向を基準として、目的地への方向を特定する。このように、利用者の位置のみを示した場合は、自身が向いている方向を特定する際の手間を軽減することができない。また、自身が向いている方向を誤って特定した場合には、利用者が誤った方向へと移動する可能性が高い。
このように、利用者を案内する場合には、利用者の向きを示す情報が重要となる場合がある。そこで、利用者の位置のみならず、利用者の向きを示す情報を提供するといった態様が考えられる。例えば、測位システムを用いて、利用者の位置や向きを測定し、測定した位置を示すアイコンや向きを示すアイコンを地図上に重畳して表示するといった手法が考えられる。しかしながら、地下街や地下鉄の駅のホーム、デパートやショッピングモール、屋内型の駐車場等、各種閉鎖的な領域内(以下、単に「領域」と総称する。)においては、衛星から送信される測位信号が受信できなくなる可能性がある。
このような領域内において利用者を案内するため、例えば、地磁気を用いた案内やビーコン等の無線信号を用いた案内を行う手法が提案されている。しかしながら、地磁気を用いて利用者の位置を推定する場合、予め領域内における地磁気を詳細に測定する必要があるため、手間がかかる。また、領域内に設置された線路や電線、各種の配線等から生じる磁力が変化した場合、端末装置が測定する磁力が変化するため、精度良く案内を行うことができない恐れがある。
一方、ビーコン等の無線信号を用いて利用者の位置を推定する場合、利用者の位置を精度よく推定しているとは言えない場合がある。例えば、異なる位置に所在する複数の端末装置が、同一のビーコンから送信された無線信号を受信した場合、同一の位置に所在していると推定されてしまう恐れがある。また、無線信号を用いた場合、利用者の向きを推定することができない。
〔1−2.生成処理について〕
そこで、情報提供装置10は、以下に説明する生成処理を実行し、生成処理により生成された案内情報を提供することで、利用者の手間を軽減し、案内を実現する。
例えば、情報提供装置10は、所定の領域内に予め設置された対象物が撮影された撮影画像を取得する。続いて、情報提供装置10は、撮影画像に基づいて、撮影画像を撮影した撮影装置の対象物に対する位置である相対位置と、撮影装置の対象物に対する向きである相対向きとを推定する。そして、情報提供装置10は、相対位置および相対向きに基づいて、所定の領域内における撮影装置の位置と向きとを示す案内情報を生成する。
例えば、情報提供装置10は、対象物として、所定の領域内に設置された図面であって、領域を模式的に示す図面が撮影された撮影画像を取得する。より具体的には、情報提供装置10は、駅やビル等の施設内部に設置された施設内の図面(例えば、構内図)、街角等に設置された地図等、各種の領域内の移動経路や各種の施設、区間等を概念的に示す図面が撮影された撮影画像を取得する。
続いて、情報提供装置10は、撮影画像に含まれる図面の像を用いて、図面を基準とした撮影装置の位置である相対位置と、図面を基準とした撮影装置の向きである相対向きとを推定する。例えば、情報提供装置10は、撮影画像に含まれる地図の像から、各種のカメラキャリブレーション技術を用いて、相対位置と相対向きとの推定を行う。
そして、情報提供装置10は、撮影画像に含まれる図面に、撮影画像を撮影した撮影装置の領域内における位置を示す情報を重畳した案内情報を生成する。例えば、情報提供装置10は、撮影画像に含まれる図面と同一図面のデータを取得し、取得した図面上に、撮影装置の位置と向きとを示すアイコンを重畳した案内情報を生成してもよい。また、情報提供装置10は、撮影画像に含まれる図面を、正面から見た図面に変換し、変換後の図面上に、撮影装置の位置と向きとを示すアイコンを重畳した案内情報を生成してもよい。
そして、情報提供装置10は、生成した案内情報を利用者に対して提供する。このような処理の結果、情報提供装置10は、利用者に対し、利用者の現在位置と利用者の向きとを示す情報を提供することができるので、利用者が自身の現在の向きを特定する手間を省くことができる。この結果、利用者は、すぐに目的地への移動を開始することができる。
また、情報提供装置10は、撮影した図面上に利用者の現在位置を示す情報を重畳した案内情報を提供するので、利用者が閲覧してる図面との同一性を保った情報を提供することができる。この結果、情報提供装置10は、利用者がどの向きを向いているかを容易に認識させることができる結果、利用者の案内を適切に行うことができる。
〔1−3.生成処理の一例について〕
以下、図1を用いて、情報提供装置10が実行する生成処理の一例について説明する。なお、以下の説明では、情報提供装置10が実行する生成処理の流れの概要について説明し、その後、生成処理を実現するための詳細な手段について説明する。例えば、図1に示す例では、ショッピングモール等の領域内に、ショッピングモールの通路や店舗の情報を示す図面Mが設置されているものとする。また、図面Mには、図面Mの設置位置MPが示されているものとする。
このような場合、情報提供装置10は、準備段階として、図面Mの特徴を基準特徴とし、図面の設置位置と図面を撮影した撮影装置の位置(以下、「リファレンス撮影位置」、若しくは単に「リファレンス」と記載する場合がある。)とに紐付けて保持する(ステップS1)。例えば、情報提供装置10は、カメラやスマートフォン等、所定の撮影装置を用いて、図面Mを正面から撮影した画像を取得する。このような場合、情報提供装置10は、各種の特徴量抽出技術を用いて、撮影された画像から特徴的な点である特徴点を抽出し、抽出した特徴点の座標(以下、「特徴点座標」と記載する。)と、特徴点の周囲における画像の特徴を示す特徴量とを抽出する。
なお、上述した特徴量は、GIST(http://ilab.usc.edu/siagian/Research/Gist/Gist.html)、カラーヒストグラム、色分布などの広域特徴量やSIFT(Scale-Invariant Feature Transform)、SURF(Speed-Up Robust Features)、局所特徴量等、画像が有する特徴量を取得する任意の技術が採用可能である。なお、ニューラルネットで生成される特徴量も利用可能である。また、情報提供装置10は、これら既存の特徴量抽出技術以外にも、各種任意の特徴量抽出技術を用いてもよい。
また、情報提供装置10は、領域内において図面Mの設置位置MPと、図面Mの正面が向いている方向(すなわち、図面の向き)とを示す情報を取得する。そして、情報提供装置10は、抽出した特徴点座標と特徴量と、図面の設置位置と、リファレンス撮影位置とを対応付けて所定の記録装置に登録しておく。なお、以下の説明では、予め抽出された特徴点を基準特徴点とし、基準特徴点の特徴点座標を基準座標とし、基準特徴点の特徴量を基準特徴量と総称する。また、以下の説明では、基準特徴点、基準座標、および基準特徴量を基準情報と総称する場合がある。
続いて、利用者U1は、自身の端末装置101を用いて、図面Mを撮影する(ステップS2)。例えば、利用者U1は、図面Mの正面から時計回りにずれた方向から、図面Mを斜めに撮影したものとする。このような場合、端末装置101は、図面Mを撮影した撮影画像を情報提供装置10へと送信する(ステップS3)。
一方、利用者U2は、端末装置102を用いて、図面Mの正面から反時計回りにずれた方向から、図面Mを斜めに撮影したものとする(ステップS4)。このような場合、端末装置102は、図面Mを撮影した撮影画像を情報提供装置10へと送信する(ステップS5)。
このような場合、情報提供装置10は、各端末装置100から受信した撮影画像を用いて、図面に対する利用者U1、U2の相対的な位置と向きとをそれぞれ推定する。より具体的には、情報提供装置10は、記憶装置に登録されている基準情報と、撮影画像の特徴との比較結果に基づいて、図面Mに対する撮影装置(すなわち、端末装置100)の相対的な位置と向きとを推定する(ステップS6)。すなわち、情報提供装置10は、対象物を所定の位置から撮影した画像である基準画像に基づく基準情報を記憶するとともに、撮影画像に基づく画像情報と、記憶された基準情報との比較結果に基づいて、相対位置と相対向きとを推定する。より具体的には、情報提供装置10は、基準画像に含まれる特徴点に関する情報と、撮影画像から抽出された特徴点に関する情報とを用いて、相対位置と相対向きとを推定する。
例えば、情報提供装置10は、基準情報を抽出した際と同様のアルゴリズムを用いて、端末装置100が撮影した撮影画像から特徴点を比較特徴点として抽出する。また、情報提供装置10は、比較特徴点における特徴量を比較特徴量として抽出するとともに、比較特徴点の座標を比較座標として抽出する。
続いて、情報提供装置10は、比較特徴量と、基準特徴量とを相互に比較し、特徴量が相互に類似する比較特徴点と基準特徴点との組を特定する。なお、以下の説明では、基準特徴点のいずれかと類似する比較特徴点を類似比較特徴点とし、比較特徴点のいずれかと類似する基準特徴点を類似基準特徴点と記載する。また、以下の説明では、撮影画像からは、類似比較特徴点が複数(所定数以上)抽出されているものとする。そして、情報提供装置10は、類似比較特徴点の特徴点座標を、類似基準特徴点の特徴点座標へと変換する変換行列を生成する。
このような変換行列は、リファレンス撮影位置(すなわち、図面Mの正面)に対して、撮影装置となる端末装置101がどれくらい平行移動し、リファレンス撮影位置から図面Mを基準としてどれくらい回転しているかを示す指標となる。そこで、情報提供装置10は、変換行列に基づいて、端末装置101の図面Mに対する位置と向き、すなわち、相対位置と相対向きとを推定する。同様に、情報提供装置10は、端末装置102から受付けた撮影画像から、図面Mの正面に対する端末装置102の相対位置および相対向きとを推定する。なお、変換行列の生成および相対位置と相対向きとを推定する詳細な手法については、後述する。
そして、情報提供装置10は、特定した相対位置と相対向きとを示す情報を、各端末装置100が撮影した撮影画像に含まれる図面Mに重畳した案内情報を生成する(ステップS7)。例えば、情報提供装置10は、上述した変換行列を用いて、各端末装置101、102が撮影した撮影画像に含まれる図面Mの像を、図面Mを正面からみた場合の像へと変換する。なお、以下の説明では、変換後の図面Mの像を補正図面と総称する。また、このような画像変換については、各種公知の画像変換技術が採用可能である。
続いて、情報提供装置10は、補正図面上における図面Mの設置位置を特定する。例えば、情報提供装置10は、予め登録された図面Mから、設置位置MPを示す図面M上の位置である投影設置位置を特定する。なお、このような投影設置位置の特定は、画像に含まれる所定の像(例えば、設置位置MPを示す所定のアイコンや文字)を特定する画像特定技術により実現されてもよく、例えば、図面Mの画像を登録する際に、人手により行われてもよい。続いて、情報提供装置10は、あらかじめ登録された図面M上における投影設置位置を補正図面上における投影設置位置へと変換する。
そして、情報提供装置10は、補正図面上における投影設置位置と、推定された相対位置および相対向きに基づいて、補正図面上における端末装置100の位置と向きとを特定する。例えば、情報提供装置10は、補正図面上における投影設置位置を基準として、補正図面上における相対位置および相対向きを特定する。そして、情報提供装置10は、補正図面上における相対位置に丸型のアイコンを配置するとともに、補正図面上における相対向きを示す矢印、扇形若しくは三角形のアイコンを配置した案内情報を生成する。
このように、情報提供装置10は、図面を所定の方向から撮影したように撮影画像に含まれる図面を補正した補正図面を生成し、生成した補正図面に撮影装置の位置を示す情報を重畳した案内情報を生成する。例えば、情報提供装置10は、所定の領域内において対象物が設置された位置と、相対位置とに基づいて、所定の領域内における撮影装置の位置を推定し、推定した位置を示す案内情報を生成する。また、情報提供装置10は、所定の領域内における対象物の向きと、相対向きとに基づいて、所定の領域内における撮影装置の向きを推定し、推定した位置を示す案内情報を生成する。また、情報提供装置10は、相対位置と相対向きとに基づいて、撮影装置の位置と向きとを図面上の座標に変換し、変換後の座標を用いて、案内図面を生成する。
その後、情報提供装置10は、生成した案内情報を端末装置101、102へと送信する(ステップS8、9)。この結果、端末装置101は、図面Mの正面から時計回りに回転した位置から図面Mの方向を向いている旨を示すアイコンUI1が配置された案内情報DM1を表示することとなる。一方、端末装置102は、図面Mの正面から反時計回りに回転した位置から図面Mの方向を向いている旨を示すアイコンUI2が配置された案内情報DM2を表示することとなる。
例えば、図2は、実施形態に係る生成処理の効果の一例を示す図である。例えば、図2に示す例では、施設内に配置された看板MBに、図面Mが配置されている。また、図2に示す例では、図面Mの正面から、図面M(若しくは看板MB)を中心として時計回りに移動した所に利用者U1が所在し、図面M(若しくは看板MB)を中心として半時計回りに移動した所に利用者U2が所在している。また、利用者U1、U2は、それぞれ看板MBから所定の範囲NA内に位置するものとする。
ここで、看板MBに図面Mが設置されておらず、例えば、位置を示す無線信号をビーコンで送信した場合、利用者U1が利用する端末装置101および利用者U2が利用する端末装置102は、同一の無線信号を受信することとなる。このため、端末装置101、102は、それぞれ異なる位置に所在しているにも関わらず、同一の位置にいる旨を示す案内情報を出力してしまうこととなる。
一方、利用者U1が撮影した撮影画像と、利用者U2が撮影した撮影画像とには、図面Mが異なる態様で撮影されていると考えられる。すなわち、撮影画像には、図面Mの像が、図面Mに対する撮影装置の相対位置および相対向きに応じて異なる態様で含まれていると考えられる。そこで、実施形態に係る情報提供装置10は、利用者U1、U2がそれぞれ異なる位置から撮影した図面Mの撮影画像から、各利用者U1、U2の位置および向きを示す案内情報を生成する。
このような処理の結果、例えば、端末装置101は、利用者U1が、図面Mの正面から図面M(若しくは看板MB)を中心として時計回りに移動した所に利用者U1が所在するとともに、利用者U1が図面Mの方向を向いている旨を示す案内情報DM1を提供することができる。また、端末装置102は、利用者U2が、図面Mの正面から図面M(若しくは看板MB)を中心として反時計回りに移動した所に利用者U2が所在するとともに、利用者U2が図面Mの方向を向いている旨を示す案内情報DM2を提供することができる。
ここで、端末装置100は、生成処理により生成された案内情報を提供するだけでも良いが、その後、利用者を案内するための情報をさらに表示させてもよい。
例えば、端末装置100は、GPS等の測位システムやビーコン等を用いて、利用者の移動や向きの変化を検知した場合は、図面上におけるアイコンUI1、UI2(以下、「アイコンUI」と総称する。)の位置を移動させてもよく、回転させてもよい。また、端末装置100は、加速度センサやジャイロセンサ、振動センサ等を用いて、利用者の移動や向きの変化を検知し、検知した移動や向きの変化をアイコンUIの位置や向きに適用してもよい。なお、このような処理は、例えば、案内情報と共に、図面上における位置と実際の距離との関係性を示す情報(例えば、図面や地図の縮尺を示す情報)を提供することで、実現可能である。
また、端末装置100や情報提供装置10は、利用者の目的地があらかじめ設定されている場合、目的地までの案内方向を示す案内情報を提供してもよい。例えば、端末装置100は、目的地までの案内経路を示す実線や点線、目的地の方向を示す矢印等を図面上に重畳した案内情報を提供してもよい。
また、これら以外にも、情報提供装置10や端末装置100は、利用者の案内に関する各種の公知技術を組み合わせることで、利用者を目的地まで案内するための情報を提供してもよい。
〔1−4.ランドマークを用いた位置および向きの更新について〕
ここで、移動後における利用者の位置や向きを図面上に重畳した場合、位置や向きの検出精度によっては、利用者の位置や向きを正しく示すことができなくなる恐れがある。例えば、利用者が通路を移動しているにもかかわらず利用者の位置が店舗内に位置したり、利用者の向きが正しい向きとは異なってしまうといった事態が想定されうる。
そこで、情報提供装置10は、領域内に設置された看板やドア、店舗やオブジェといった各種任意の設備を撮影した撮影画像を用いて、利用者の位置や向きを補正した案内情報の生成を行ってもよい。例えば、情報提供装置10は、案内情報が提供された後に、新たな対象物が撮影された撮影画像を取得し、撮影装置の新たな対象物に対する相対位置と相対向きとを推定し、新たな対象物に対する相対位置と相対向きとに基づいて、所定の領域内における撮影装置の位置と向きとを補正した新たな案内情報を生成してもよい。より具体的な例を挙げると、情報提供装置10は、新たな対象物として、所定の領域内に設置された所定の設備が撮影された撮影画像を取得し、所定の設備に対する相対位置と相対向きとに基づいた補正を行ってもよい。
以下、図3を用いて、所定の設備に対する相対位置と相対向きとに基づいて、利用者の位置と向きとを補正した案内情報を生成する処理の一例について説明する。図3は、実施形態に係る情報提供システムが位置と向きとを補正する処理の一例を示す図である。なお、図2に示す例では、施設内に設置されたドアLMの撮影画像を用いて、利用者U1の位置と向きとを補正する処理の一例について記載した。また、以下の説明では、補正に用いられる各種の設備をランドマークと総称する。
例えば、情報提供装置10は、ランドマークを撮影した画像の特徴を基準情報として、ランドマークを撮影した撮影装置の地図上の位置と、ランドマークの設置位置とリファレンス撮影位置とを紐付けて保持する(ステップS10)。続いて、利用者U1は、図1に示す生成処理により生成された案内情報DM1を受付けた後で、通路上を移動したものとする(ステップS11)。このような場合、端末装置101は、各種のセンサ情報を用いて、現在位置や向きを更新する(ステップS12)。
ここで、端末装置101が現在位置や向きを誤って推定し、店舗内に移動してしまった旨を示す案内情報DM3を表示したものとする。このような場合、利用者U1は、端末装置101を用いてランドマークを撮影し(ステップS13)、撮影画像を情報提供装置10へと送信する(ステップS14)。
このような場合、情報提供装置10は、図1に示す生成処理と同様の処理を行うことにより、ランドマークに対する利用者の相対位置と相対向きとを推定し、新たな案内情報を提供してもよい。しかしながら、地図とは異なり、ランドマークとなる設備は、立体物であることが多い。このような立体物に対する相対位置と相対向きとを精度良く推定するため、情報提供装置10は、補正時においては、以下の処理を実行する。
例えば、情報提供装置10は、推定結果から、利用者の相対位置と相対向きとを推定する(ステップS15)。例えば、情報提供装置10は、カメラキャリブレーションの技術を用いて、ステップS10にてランドマークを撮影したリファレンス撮影位置を、ステップS13にてランドマークを撮影した位置へと変換する基本行列を生成する。
続いて、情報提供装置10は、2次元画像から撮影されている対象物の3次元形状を復元(推定)する各種の公知技術を用いて、撮影画像からランドマークの立体形状を推定する(ステップS16)。例えば、情報提供装置10は、推定されたランドマークの立体形状のうち、所定の条件を満たす点(例えば、立体形状の中心や重心、立体形状のうち撮影装置の視線と最初に交叉する点等)を特定し、特定した点に対する撮影装置の相対位置および相対向きを推定する。
そして、情報提供装置10は、推定した相対位置および相対向きに基づいて、施設内における利用者の位置と向きとを補正した案内情報を生成し(ステップS17)、生成した案内情報を送信する(ステップS18)。例えば、情報提供装置10は、相対位置と相対向きとを、送信済みの案内情報DM1の図面上における位置および向きに変換し、変換後の位置および向きを示す情報を端末装置101に送信する。この結果、端末装置101は、利用者の位置および向きを正しく補正した案内情報DM4を表示することができる。
〔1−5.図面を用いた推定とランドマークを用いた推定との関係について〕
上述した例では、初期段階において、施設等の領域内を模式的に示す図面の撮影画像から利用者の相対位置および相対向きを推定し、推定した相対位置および相対向きに基づいて、領域内における利用者の位置および向きを示す情報を提供した。一方、補正時においては、ランドマークの撮影画像から、利用者の相対位置および相対向きを推定し、推定した相対位置および相対向きに基づいて、案内情報における利用者の位置および向きを補正した。しかしながら、実施形態は、これに限定されるものではない。
例えば、情報提供装置10は、初期段階においてランドマークの撮影画像を取得した場合、取得した撮影画像からランドマークの立体形状を推定し、推定した立体形状に基づいて、ランドマークに対する利用者の相対位置および相対向きを推定し、推定した相対位置および相対向きに基づいて、利用者の位置および向きを示す案内情報を生成してもよい。また、情報提供装置10は、図面の撮影画像から、図面に対する相対位置および相対向きを推定し、推定した相対位置および相対向きに基づいて、案内情報における利用者の位置および向きを補正してもよい。
すなわち、情報提供装置10は、対象物が図面等の2次元的な物体であっても、各種施設といった3次元的な物体であっても、対象物の撮影画像から、対象物と撮影装置との相対位置および相対向きを推定し、推定した相対位置および相対向きに基づいて、領域内における撮影装置の位置および向きを示す案内情報を提供することができるのであれば、任意の対象物の撮影装置から、案内情報の生成や補正を行ってよい。
なお、後述するように、図面を用いた処理においては、推定精度を向上させるため、基準情報を取得する際に図面のサイズやアスペクト比を利用することとなる。しかしながら、ドアや店舗等、ランドマークとなる各種設備についてこのようなアスペクト比を取得するのは手間がかかる。そこで、情報提供装置10は、撮影画像からランドマークの立体形状を推定し、推定した立体形状における注視点が基準情報取得時と撮影画像取得時とで同一であると見做すことで、ランドマークに対する撮影装置の相対位置および相対向きを推定する。このような処理の結果、情報提供装置10は、ランドマークのアスペクト比を取得せずとも、精度よく撮影装置の相対位置および相対向きを推定することができる。
また、補正が可能となる機会を担保するには、補正に利用可能なランドマークを多く準備した方がよいが、施設内において多くの図面を設置するのは、現実的ではない。しかしながら、情報提供装置10は、撮影画像からランドマークの立体形状を推定し、立体形状に基づいた相対位置よび相対向きの推定を行うので、例えば、ランドマークとなる施設の写真を撮影し、撮影位置を登録するだけで、案内情報を補正可能な位置を追加することができる。
なお、上述した例では、情報提供装置10は、基準情報を取得する際にランドマークを撮影した撮影装置の位置を取得していたが、実施形態は、これに限定されるものではない。例えば、情報提供装置10は、ランドマークを予め定められた方向から、予め定められた距離で撮影した画像を取得することで、基準情報を収集する際の撮影装置の位置を登録する手間を削減してもよい。
このように、情報提供装置10は、初期段階においては、図面を用いた案内情報の生成を行い、補正段階においては、ランドマークの撮影画像を用いて案内情報の補正を行う。このため、情報提供装置10は、生成処理を実現するための準備の手間を抑えつつ、利用者の現在位置や向きを精度良く提供することができる。
〔1−6.図面を用いた推定の詳細な処理の流れについて〕
次に、図4を用いて、図面を用いた相対位置及び相対向きの推定を行う処理の詳細な流れの一例について説明する。図4は、実施形態に関する情報提供装置が実行する処理の流れの一例を示す第1の図である。
まず、図面の基準情報を取得する準備段階の処理について説明する。まず、情報提供装置10は、所定の距離から図面を撮影した撮影画像を取得する。ここで、図面には、所定の施設の通路や店舗が所定の縮尺で記載されているものとする。
ここで、撮影画像は、図面の正面(例えば、図面の中心を通り、図面に対して垂直な線上)から撮影された画像であることが望ましい。しかしながら、人手で画像を撮影した場合、図面を完全な正面から撮影することが難しい。そこで、情報提供装置10は、図面を撮影した撮影画像と、図面のアスペクト比(縦横比)を示す情報とを取得する。そして、情報提供装置10は、アスペクト比を示す情報に基づいて、図面を正面から撮影した画像である正面画像に補正する。例えば、情報提供装置10は、撮影画像のうち図面が撮影されている範囲を特定し、特定した範囲のアスペクト比が、取得したアスペクト比と一致するように、撮影画像の補正を行う。
また、情報提供装置10は、生成した正面画像から、特徴点座標と特徴量とを抽出する。そして、情報提供装置10は、特徴点座標と、特徴量と、施設内における図面の設置位置を示す情報と、リファレンス撮影位置とを示す情報を基準情報として記憶する。例えば、情報提供装置10は、撮影した図面上に撮影装置の位置や向きを示すアイコンを重畳する場合は、図面上における図面の設置位置と、リファレンス撮影位置とを示す情報を取得する。なお、情報提供装置10は、撮影された図面とは異なる図面上にアイコンを重畳する場合は、例えば、図面の設置位置およびリファレンス撮影位置を示す緯度および経度を設置位置として保持してもよい。
続いて、生成処理の段階においては、情報提供装置10は、撮影画像を取得する。このような場合、情報提供装置10は、撮影画像から特徴情報として、特徴点座標と特徴量とを取得する。そして、情報提供装置10は、抽出した特徴情報と基準情報とを比較し、ホモグラフィー行列の生成を行う。例えば、情報提供装置10は、類似比較特徴点の特徴点座標と、類似基準特徴点の特徴点座標とを相互に変換する行列をホモグラフィー行列を生成する。すなわち、情報提供装置10は、基準画像に含まれる特徴点の位置を示す情報と、特徴点における特徴を示す特徴量とを記憶する。そして、情報提供装置10は、撮影画像に含まれる特徴点の位置を、基準画像に含まれる特徴点のうち特徴量が類似する特徴点の位置へと変換する変換行列を生成する。
このようなホモグラフィー行列は、撮影画像を撮影した際の撮影装置の位置と、図面の正面との相対的な位置関係、および、撮影画像を撮影した際の撮影装置の向きと図面の正面方向との相対的な向き関係(回転関係)が反映されることとなる。そこで、情報提供装置10は、生成した変換行列、すなわち、ホモグラフィー行列に基づいて、相対位置と相対向きとを推定する。
例えば、情報提供装置10は、ホモグラフィー行列を、撮影画像を撮影した際の撮影装置の位置と、図面の正面との位置関係とを変換する平行行列(第1行列)、および、撮影画像を撮影した際の撮影装置の向きと図面の正面方向とを変換する回転行列を生成する。そして、情報提供装置10は、生成した平行行列から相対位置を推定し、生成した回転行列から相対向きを推定する。
一方、情報提供装置10は、撮影画像から、図面を正面から撮影した場合の補正図面を生成する。例えば、情報提供装置10は、ホモグラフィー行列(若しくはその逆行列)を用いて、撮影画像を図面を正面から撮影した場合の撮影画像へと変換する。また、情報提供装置10は、各種の画像認識技術を用いて、変換後の撮影画像のうち図面が含まれる範囲を補正図面として抽出する。
そして、情報提供装置10は、基準情報となる設置位置と、リファレンス撮影位置と、推定した相対位置および相対向きから、案内情報を生成する。例えば、情報提供装置10は、推定した相対位置と基準情報となる設置位置とリファレンス撮影位置とに基づいて、正面画像上における撮影装置の位置および向きを特定する。
例えば、情報提供装置10は、設置位置と相対位置とに基づいて、領域内における撮影装置の位置を特定する。また、情報提供装置10は、リファレンス撮影位置と設置位置と相対向きとに基づいて、領域内における撮影位置の向きを推定する。そして、情報提供装置10は、推定した撮影位置および向きに基づいて、正面画面上における撮影装置の設置位置および向きを推定する。なお、情報提供装置10は、正面画像上における図面の設置位置と、正面図面上におけるリファレンス撮影位置と、正面図面上における相対位置および相対向きに基づいて、正面図面上における撮影装置の向きを推定してもよい。
また、情報提供装置10は、相対位置に基づいて、処理段階において図面を撮影した際の撮影装置と図面との距離を推定し、推定した距離と基準段階において図面を撮影した際の距離とに基づいて、補正図面と正面図面との縮尺関係を推定する。そして、情報提供装置10は、推定した縮尺関係に基づいて、正面図面上における撮影装置の位置と向きとを、補正図面上における撮影装置の位置と向きとに変換する。その後、情報提供装置10は、補正図面上に、撮影装置の位置と向きとを示すアイコンを重畳した案内情報を生成する。
なお、情報提供装置10は、準備段階において図面を撮影した際の撮影装置の図面に対する位置を基準位置とし、向きを基準向きとして、基準位置および基準向きを示す情報を保持しておく。そして、情報提供装置10は、処理段階において取得した撮影画像の特徴情報と、準備段階で取得した図面の特徴情報とを比較することで、基準位置および基準向きに対する相対位置および相対向きを推定する。そして、情報提供装置10は、表示する図面の縮尺と、図面の設置位置およびリファレンス撮影位置と、相対位置および相対向きとに基づいて、表示する図面上における撮影装置の位置および向きを特定してもよい。
すなわち、情報提供装置10は、準備段階において図面の設置位置や設置方向を基準位置および基準向きとして採用してよく、このような基準位置および基準向きに対する相対位置および相対向きから、撮影装置の位置および向きを特定してもよい。また、情報提供装置10は、予め、若しくは、撮影画像から取得可能な任意の情報(例えば、図面の縮尺や撮影装置と図面との距離等)に基づいて、準備段階において撮影された撮影画像における図面上の座標と、処理段階において撮影された撮影画像における図面上の座標との関係を特定し、特定した関係に基づいて、特定した撮影装置の位置および向きを示す情報を表示すればよい。
〔1−7.ランドマークを用いた補正の詳細な処理の流れについて〕
次に、図5を用いて、ランドマークを用いた案内情報の補正を行う処理の詳細な流れの一例について説明する。図5は、実施形態に関する情報提供装置が実行する処理の流れの一例を示す第2の図である。
上述したように、ランドマークを用いた補正を行う場合、ランドマークとなる設備ごとにアスペクト比の登録を行うのは、手間がかかる。そこで、情報提供装置10は、準備段階においては、ランドマークを撮影した撮影画像として、可能な限りランドマークの中心部分を注視点とした画像を撮影画像として取得する。そして、情報提供装置10は、特徴点の情報を抽出するとともに、ランドマークの設置位置およびリファレンス撮影位置を示す情報を基準情報として保持しておく。
続いて、情報提供装置10は、案内情報の補正を行う補正段階において、可能な限りランドマークの中心部分を注視点とした画像を撮影画像として取得する。そして、情報提供装置10は、撮影画像から、特徴点の特徴情報を抽出し、基準情報との比較を行い、準備段階においてランドマークを撮影した際の撮影装置の位置と向きとを、補正段階においてランドマークを撮影した際の撮影装置の位置と向きとに変換する基本行列を生成する。
例えば、情報提供装置10は、準備段階においてランドマークを撮影した撮影装置のカメラの内部パラメータを取得するとともに、補正段階においてランドマークを撮影した撮影装置のカメラの内部パラメータを取得する。そして、情報提供装置10は、類似基準特徴点座標の位置と、類似比較特徴点座標の位置と、各撮影装置の内部パラメータとを用いて、基本行列を推定し、基本行列を回転と平行移動の外部パラメータに分解する。そして、情報提供装置10は、外部パラメータを用いて、ランドマークの3次元形状を復元する。
なお、基本行列の具体的な生成手法については、エピポーラ幾何を用いた生成手法等、既知の生成技術(例えば、“視覚の幾何学3 カメラキャリブレーション” 呉海元 和歌山大学 インターネット<http://web.wakayama-u.ac.jp/~wuhy/CV11.pdf> 令和1年8月26日検索)が採用可能であるものとして、詳細な説明を省略する。また、3次元形状の復元手法については、既知の復元技術(例えば、“写真画像から形状復元した3次元点群データによる構造物の変形把握” 一井 康二 広島大学 インターネット<http://www.jacic.or.jp/josei/pdf/2014_01.pdf> 令和1年8月26日検索や、各種ディープラーニングを用いた技術等)が採用可能であるものとして、詳細な説明を省略する。
続いて、情報提供装置10は、生成されたランドマークの3次元形状から、ランドマークの中心点を特定する。例えば、情報提供装置10は、補正段階における撮影画像から撮影装置の視線方向を推定し、推定した視線方向とランドマークの3次元形状とが交わる位置をランドマークの中心点とする。そして、情報提供装置10は、中心点に対する撮影装置の相対位置と相対向きとを推定する。すなわち、情報提供装置10は、準備段階と補正段階とで、撮影者が中心点としたランドマークの位置がほぼ同じであるものとして、ランドマークの中心点を基準とした相対位置と相対向きとを推定する。
例えば、情報提供装置10は、リファレンス撮影位置とランドマークの中心点の距離を基準として、基本行列に基づき、準備段階における撮影装置とランドマークの中心点との距離のスケールを推定する。また、情報提供装置10、リファレンス撮影位置とランドマークの中心点とを結ぶ線と、補正段階における撮影装置とランドマークの中心点とを結ぶ線との間の角度を算出する。そして、情報提供装置10は、算出した距離および角度から、準備段階の撮影位置を基準として、補正段階における撮影装置の相対位置と相対向きとを推定する。
例えば、図6は、実施形態に係る情報提供装置が案内情報の補正時において実行する処理の概要を示す図である。例えば、準備段階においてランドマークの撮影を行う撮影者が、位置PUから、ランドマークLMの中心と思われる位置を注視点とした画像を撮影する。続いて、補正段階において、利用者U1が、位置APから、ランドマークLMの中心と思われる位置を注視点とした画像を撮影する。
ここで、各画像において注視点となる位置が同一の位置CPである場合、生成される基本行列は、位置PPと位置APとを変換するとともに、位置CPを中心として、位置PPから位置CPへの向きと、位置APから位置CPへの向きとと変換させる行列と見做すことができる。そこで、情報提供装置10は、位置APから撮影された撮影画像から、中心となる位置CPを推定する。そして、情報提供装置10は、準備段階においても補正段階においても、位置CPが同一の位置であると仮定して、基本行列から、位置PPを基準とした位置APの相対位置、および、位置PPから位置CPへの向きを基準とした位置APから位置CPへの相対向きを推定する。
ここで、情報提供装置10は、地面に対して垂直な方向をY軸方向とし、地面に対して平行な面をXZ平面とした場合に、基本行列のうちY軸方向の情報を削減し、XZ平面上における相対位置と相対向きとを推定することで、計算量をさらに削減してもよい。すなわち、情報提供装置10は、準備段階と補正段階といて、撮影装置の地面に対する高さがほぼ同一であるものとして、相対位置と相対向きとの推定を行ってもよい。
図5に戻り、説明を続ける。情報提供装置10は、ランドマークの設置位置と、リファレンス撮影位置と、推定した相対位置および相対向きから、ランドマークの中心を基準とした端末装置100の位置および向きを推定する。例えば、情報提供装置10は、リファレンス撮影位置と、推定した相対位置および相対向きから、ランドマークの中心を基準とした端末装置100の位置および向きを推定する。
なお、例えば、情報提供装置10は、準備段階において撮影装置がランドマークに対して所定の位置から所定の向きでランドマークを撮影したものとして、推定した相対位置および相対向きから、ランドマークの中心を基準とした端末装置100の位置および向きを推定してもよい。すなわち、情報提供装置10は、位置PPを基準とした位置APの相対位置、および、位置PPから位置CPへの向きを基準とした位置APから位置CPへの相対向きを、ランドマークの中心を基準とした相対位置および相対向きへと変換する。
そして、情報提供装置10は、変換後の相対位置および相対向きと、基準情報における設置位置とリファレンス撮影位置とに基づいて、処理段階において提供した図面上における撮影装置の位置と向きとを特定し、特定した図面上における位置と向きとを提供する。このような処理の結果、端末装置100は、補正された案内情報を提供することができる。
なお、上述した例では、情報提供装置10は、ランドマークの中心を注視点とした画像を取得していたが、実施形態は、これに限定されるものではない。例えば、ランドマークとなる対象物に、注視点とするよう予め報知されている物体(例えば、シール等のガイドや、ドアノブ等の物体)が存在している場合は、これらを注視点とした画像を撮影画像として取得すればよい。
〔1−8.生成処理のバリエーションについて〕
上述した例では、情報提供装置10は、撮影画像を用いた撮影装置の位置および向きの提供を行った。ここで、上述した説明は、あくまで一例であり、実施形態は、これに限定されるものではない。以下、情報提供装置10が実行する処理のバリエーションについて説明する。
〔1−8−1.処理の自動判定〕
上述した説明では、情報提供装置10は、初期状態、すなわち、案内を開始する際に図面を撮影した撮影画像を取得し、補正時において、ランドマークを撮影した画像を取得した。ここで、情報提供装置10は、撮影画像に図面若しくはランドマークのいずれかが含まれているかを判定し、判定結果に応じて、上述した処理のうち実行対象とする処理を変更してもよい。
例えば、端末装置100は、図面を撮影する際とランドマークを撮影する際とで異なる撮影用ボタン等のUI(User Interface)を表示し、利用者が撮影に用いたUIに応じて、撮影画像に図面が撮影されているか、ランドマークが撮影されているかを情報提供装置10に通知してもよい。そして、情報提供装置10は、撮影画像に図面が撮影されている旨の通知を受付けた場合は、基準情報として図面から抽出された特徴点の情報と、撮影画像から抽出された特徴点の情報から、ホモグラフィー行列を生成し、生成したホモグラフィー行列を用いて、利用者の位置および向きを示す案内情報を生成してもよい。また、情報提供装置10は、撮影画像にランドマークが撮影されている旨の通知を受付けた場合は、基準情報として図面から抽出された特徴点の情報と、撮影画像から抽出された特徴点の情報から、基本行列を生成し、生成した基本行列を用いて、利用者の位置および向きを示す案内情報を生成してもよい。
また、情報提供装置10は、撮影画像に含まれる特徴点を、図面から抽出された特徴点およびランドマークから抽出された特徴点と比較することで、撮影画像に図面が撮影されているか、ランドマークが撮影されているかを判定してもよい。例えば、情報提供装置10は、図面およびランドマークから予め抽出された特徴点のうち、撮影画像に含まれる特徴点と特徴量が最も類似する特徴点を検索する。そして、情報提供装置10は、最も多くの特徴量が類似すると判定された図面若しくはランドマークを、撮影画像に含まれる対象としてもよい。すなわち、情報提供装置10撮影画像に撮影された対象物が、所定の領域内に設置された図面であって、所定の領域を模式的に示す図面であるか、所定の領域内に設置された所定の設備であるかを判定し、対象物が図面であると判定された場合は、所定の領域内における撮影装置の位置と向きとを示す案内情報を生成し、対象物が所定の設備であると判定された場合は、所定の領域内における撮影装置の位置と向きとを補正した新たな案内情報を生成してもよい。
また、情報提供装置10は、対象物が、図面および所定の設備以外の対象であるかをさらに判定し、対象物が図面および所定の設備以外の対象であると判定された場合は、図面若しくは所定の設備の撮影を示唆する示唆情報を生成してもよい。例えば、情報提供装置10は、あらかじめデータベースに登録された図面およびランドマークの特徴量のうち、撮影画像から抽出された特徴量と最も類似する特徴量を類似特徴量として検索する。続いて、情報提供装置10は、あらかじめデータベースに登録された図面およびランドマークごとに、類似特徴量の数を計数する。そして、情報提供装置10は、類似特徴量の数が所定の閾値を超える図面若しくはランドマークが存在しない場合は、対象物が図面および所定の設備以外の対象であると判定してもよい。また、情報提供装置10は、例えば、各図面およびランドマークから抽出された類似特徴量の数の分散を算出し、算出した分散が所定の閾値を超える場合は、対象物が図面および所定の設備以外の対象であると判定してもよい。
このような場合、情報提供装置10は、例えば、「図面もしくはランドマークとなる対象物を撮影してください」といったメッセージを端末装置100に表示させてもよい。また、情報提供装置10は、ランドマークとなる対象物の名称(例えば、「看板」や「ドア」等)を示すメッセージを端末装置100に表示させてもよい。
〔1−8−2.図面について〕
上述した例では、情報提供装置10は、撮影画像に含まれる図面上に、撮影装置の位置および向きを示す情報を重畳した案内情報を提供した。しかしながら、実施形態は、これに限定されるものではない。
例えば、情報提供装置10は、撮影装置の位置および向きを示すテキストメッセージを生成し、生成したテキストメッセージを配信してもよい。例えば、情報提供装置10は、相対位置および相対向きから、撮影装置の緯度や経度、撮影装置の向きとなる方角を特定し、特定した情報を端末装置100に表示させてもよい。
また、情報提供装置10は、利用者の位置から利用者の近傍に所在する店舗や施設を特定するとともに、利用者の向きに所在する店舗や施設を特定する。そして、情報提供装置10は、例えば、「現在、映画館の近傍で、キャンディーショップの方向を向いています」といったテキストや音声を出力させてもよい。
また、情報提供装置10は、撮影した図面ではなく、予め登録された図面上に、撮影装置の位置と向きとを模式的に示す情報を重畳した案内情報を生成してもよい。例えば、情報提供装置10は、基準情報として、予め登録された図面上における対象物の設置位置およびリファレンス撮影位置の座標や図面の縮尺を保持しておく。そして、情報提供装置10は、撮影画像から撮影装置の相対位置および相対向きを推定し、推定した相対位置および相対向きと、図面の縮尺とから、予め登録された図面上における撮影装置の位置および向きを特定し、予め登録された図面上に特定した位置および向きを示す情報を重畳した案内情報を配信してもよい。
なお、予め登録される図面は、対象物として設置された図面と同一の図面であってもよく、異なる図面であってもよい。例えば、情報提供装置10は、地下鉄の構内図等、領域を3次元的に示す図面(例えば、鳥瞰図、俯瞰図、パノラマ図、投影図等。以下「3次元図面」と総称する。)の撮影画像を取得した際に、領域を上方から2次元的に模式的に示した図面(例えば、上面図等。以下「2次元図面」と総称する。)上に撮影装置の位置および向きを重畳した案内情報を提供してもよい。
例えば、情報提供装置10は、3次元図面から抽出された特徴点と、表示対象となる2次元図面上における3次元図面の設置位置およびリファレンス撮影位置を示す基準情報を保持する。続いて、情報提供装置10は、3次元図面が撮影された撮影画像を受付けると、撮影画像から相対位置および相対向きを推定し、推定した相対位置および相対向きと、基準情報の設置位置およびリファレンス撮影位置から、表示対象となる2次元図面上における撮影装置の位置および向きを推定する。そして、情報提供装置10は、2次元図面上に、撮影装置の位置および向きを示す情報を重畳した案内情報を提供する。なお、情報提供装置10は、2次元図面が撮影した撮影画像を受付けた場合に、3次元図面上に、撮影装置の位置および向きを示す情報を重畳した情報を提供してもよい。
すなわち、情報提供装置10は、撮影対象となる対象物の特徴点に関する情報と、表示対象となる図面上における対象物の設置位置よびリファレンス撮影位置を示す情報とを基準情報として保持する。そして、情報提供装置10は、撮影画像から抽出された特徴点と基準情報の特徴点との比較結果から、撮影装置の相対位置および相対向きを推定し、推定した相対位置および相対向きと、基準情報の設置位置およびリファレンス撮影位置から、表示対象となる図面上における撮影装置の位置および向きを推定してもよい。
なお、情報提供装置10は、設置位置およびリファレンス撮影位置として、緯度、経度、および方位が登録されている場合、相対位置および相対向きから、撮影装置の緯度、経度、および方向を特定する。そして、情報提供装置10は、例えば、地図や、図面上に、撮影装置の緯度、経度および方向を示す情報を重畳して表示してもよい。
また、列車や地下鉄のホームにおいては、駅の構内図が設置されていることが多いが、利用者によっては、駅の構外に所在する施設の情報を知りたい場合があると考えられる。例えば、地下鉄の駅において、東口と西口とが所在するが、地上のある施設に向かう際に、東口と西口とのいずれの方向へと向かえばよいかを知りたいといった要望が考えられる。そこで、情報提供装置10は、対象物として、地下に所在する施設の図面が撮影された画像を撮影画像として取得し、施設と同じ領域に所在する施設であって、地上に所在する施設の図面上に、撮影装置の位置と向きとを模式的に示す情報を重畳した案内情報を生成してもよい。
なお、情報提供装置10は、設置位置およびリファレンス撮影位置として、対象物が設置された緯度、経度を保持する。また、情報提供装置10は、表示対象となる図面として、地上の施設を模式的に示す図面と共に、図面の各位置における緯度、経度および方向を示す情報を保持する。続いて、情報提供装置10は、地下の構内図を撮影した撮影画像から、撮影装置の相対位置および相対向きを推定し、推定した相対位置および相対向きと、設置位置およびリファレンス撮影位置に基づいて、撮影装置の緯度、経度および方向を推定する。そして、情報提供装置10は、地上の施設を模式的に示す図面上に、撮影装置の緯度、経度および方向を示す情報を重畳した案内情報を提供してもよい。
また、情報提供装置10は、例えば、撮影された図面とはフロア違いの図面上に、撮影装置の位置および向きを示す情報を重畳して表示してもよい。例えば、情報提供装置10は、施設の1階に設置された図面の撮影画像を受付けるとともに、利用者が目的とする店舗の情報を受付ける。このような場合、情報提供装置10は、利用者が目的とする店舗の所在フロアを特定し、特定したフロアの図面上に、撮影装置の位置および向きを示す情報を重畳した案内情報を表示してもよい。
なお、情報提供装置10は、撮影された図面を表示する場合、特徴点を用いて撮影された図面のトリミングを行ってもよく、表示サイズの変更を行ってもよい。また、情報提供装置10は、撮影された図面が鳥瞰図である場合、各方向の縮尺等を適宜修正してもよい。このような図面の各種補正は、例えば、準備段階において撮影された図面の情報に対し、補正内容や補正手法を示す情報を対応付けて記憶しておき、図面が撮影された際に、対応付けられた補正内容や補正手法を適用することで実現することができる。
〔1−8−3.撮影図面を用いる場合の処理〕
なお、情報提供装置10は、撮影画像に含まれる図面を表示する場合、利用者の相対位置および相対向きに基づいた処理を実行せずともよい。例えば、情報提供装置10は、撮影画像から抽出した特徴点と、基準情報の特徴点とを比較することで、ホモグラフィー行列を生成し、生成したホモグラフィー行列を用いて、撮影画像に含まれる図面を補正図面へと変更する。そして、情報提供装置10は、GPS等を用いて特定した利用者の位置および向きを示す情報を、補正図面上に重ねて表示してもよい。
すなわち、情報提供装置10は、撮影された画像に含まれる図面を正面から見たように補正し、補正した図面上に現在位置を重畳することできるのであれば、撮影画像から利用者の位置の推定等を行わずともよい。すなわち、情報提供装置10は、撮影された写真における地図領域を射影変換させてまるで地図データかのような画像を生成し、表示してもよい。
また、例えば、情報提供装置10は、撮影画像に含まれる特徴量と基準情報の特徴量(すなわち、予め撮影された図面の特徴量)との比較結果に基づいて、撮影画像に図面が含まれているか否かを判定し、含まれていると判定した場合は、撮影画像に含まれる図面若しくはその補正図面を表示するとともに、各種測位システムで測位した利用者の位置や向きを示す情報を重畳して表示してもよい。また、情報提供装置10は、利用者の位置を示す情報のみを重畳して表示してもよい。
〔1−8−4.適用対象〕
上述した例では、情報提供装置10は、各種施設内に設置された対象物の撮影画像から、相対位置及び相対向きの推定を行った。しかしながら、実施形態は、これに限定されるものではない。
例えば、情報提供装置10は、ショッピングモール等の施設のみならず、例えば、立体駐車場や平屋型のパーキング等に設置された対象物の撮影画像から、相対位置及び相対向きの推定を行ってもよい。また、情報提供装置10は、例えば、ナビゲーションシステムやドライブレコーダー等の車載装置が撮影した撮影画像から、車載装置の相対位置および向きを推定し、地図上における車載装置の位置および向きを示す情報を表示させてもよい。
また、情報提供装置10は、例えば、各種のナビゲーションシステムを用いた案内中に、撮影された撮影画像に基づいて、撮影装置の位置および向きを補正する処理を実行してもよい。すなわち、情報提供装置10は、対象物を用いた利用者の位置および向きの推定のみを行ってもよく、位置および向きの補正のみを行ってもよい。
〔1−8−5.案内について〕
なお、情報提供装置10は、撮影装置の位置および向きを示す案内情報を提供した後に、GPS等を用いた利用者の案内を行ってもよい。この際、情報提供装置10は、撮影された図面や補正図面を用いて、利用者の案内を行ってもよい。このような処理は、例えば、予め撮影された図面上の位置と実際の位置との対応を示す情報と、予め撮影された図面と撮影画像から抽出された図面との対応関係とを用いることで、実現可能である。
なお、例えば、情報提供装置10は、利用者が階段の位置まで移動した場合、異なるフロアの画像を表示するようにしてもよい。例えば、情報提供装置10は、撮影画像から抽出した図面若しくは補正図面を用いて、案内を行うとともに、利用者が階段まで移動した場合は、予め準備された異なるフロアの図面を表示するといった処理を実行してもよい。
〔1−8−6.対象物について〕
上述した例では、図面若しくはランドマークを用いて、利用者の相対位置や向きを推定していた。ここで、情報提供装置10は、ある1つの対象物を複数の方向から撮影した画像の情報をそれぞれ個別の基準情報として管理することで、立体物を用いた相対位置および相対向きの推定を行ってもよい。
例えば、情報提供装置10は、ある物体を北側から撮影した画像を第1正面画像とし、特徴点の情報と、設置位置と共に、物体の北側となるリファレンス撮影位置を対応付けて記憶する。また、情報提供装置10は、ある物体を南側から撮影した画像を第2正面画像とし、特徴点の情報と、設置位置と共に、物体の南側となるリファレンス撮影位置を対応付けて記憶する。このような情報が登録されている場合、情報提供装置10は、ある物体を北側から撮影した撮影画像を受付けた場合は、撮影装置が物体の北側に所在するとともに、南側を向いていると推定し、ある物体を南側から撮影した撮影画像を受付けた場合は、撮影装置が物体の南側に所在するとともに、北側を向いていると推定することができる。
〔1−8−7.その他〕
なお、上述した各種行列を用いた処理は、あくまで一例であり、情報提供装置10は、上述した手法以外にも、各種カメラキャリブレーション等の技術を用いて、撮影図面から撮影装置の相対位置および相対向きの推定を行ってもよい。また、情報提供装置10は、施設内のみならず、屋外等の任意の空間において撮影された撮影画像から上述した各種の処理を実行してもよい。
また、情報提供装置10は、準備段階および処理段階や補正段階において撮影された撮影画像のうち、対象物が撮影された範囲の特徴点のみならず、背景として撮影された対象物の特徴点を用いた処理を行ってもよい。すなわち、情報提供装置10は、撮影された画像のうち、特徴点の抽出元となる範囲を、対象物が含まれる範囲に限定する必要はなく、背景を含めた特徴点の抽出および比較を行い、これらの比較結果に基づいて、相対位置や相対向きの推定を行ってもよい。
このように、情報提供装置10は、事前に取得されたデータと、撮影された画像から、撮影端末と空間の位置関係を算出し、撮影装置の位置を取得する。例えば、情報提供装置10は、事前に撮影された任意の空間画像から、局所特徴量算出によって得られた多次元ベクトルデータと空間基準点の位置を紐づけた参照データを保持する。また、情報提供装置10は、重畳対象となる地図の実寸サイズと縮尺率を保持する。そして、情報提供装置10は、相対位置および相対向きと、撮影された地図画像における地図設置座標と、事前に撮影した任意の空間の撮影された場所における地図画像上の座標から、撮影装置の位置および向きの推定を行えばよい。
〔2.情報提供装置の構成〕
以下、上記した情報提供装置10が有する機能構成の一例について説明する。図7は、実施形態に係る情報提供装置の構成例を示す図である。図7に示すように、情報提供装置10は、通信部20、記憶部30、および制御部40を有する。
通信部20は、例えば、NIC(Network Interface Card)等によって実現される。そして、通信部20は、ネットワークNと有線または無線で接続され、端末装置100との間で情報の送受信を行う。
記憶部30は、対象物を所定の位置から撮影した画像である基準画像に基づく基準情報を記憶する。例えば、記憶部30は、RAM(Random Access Memory)、フラッシュメモリ(Flash Memory)等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。また、記憶部30は、図面データベース31およびランドマークデータベース32を記憶する。なお、図面データベース31およびランドマークデータベース32に登録される情報は、例えば、対象物データベースとして同一のデータベース上に統合された状態で記憶されていてもよい。
以下、図8、9を用いて、記憶部30に登録される情報の一例を説明する。図面データベース31には、予め撮影された図面の特徴点に関する情報や、図面の設置位置等といった各種の基準情報が登録される。例えば、図8は、実施形態に係る図面データベースに登録される情報の一例を示す図である。図8に示すように、図面データベース31には、「領域ID(Identifier)」、「領域情報」、「図面ID」、「設置位置」、「リファレンス」、「特徴点座標」、および「特徴量」といった情報が対応付けて登録されている。
ここで、「領域ID」とは、図面が設置された施設等の領域を識別するための識別子である。また、「領域情報」とは、図面が設置された領域の名称等といった情報である。また、「図面ID」とは、図面を識別するための識別子である。また、「設置位置」とは、図面の設置位置を示す情報である。また、「リファレンス」とは、図面のリファレンス撮影位置を示す情報である。また、「特徴点座標」とは、図面を撮影した画像から抽出された特徴点の座標を示す情報である。また、「特徴量」とは、特徴点に対応する特徴量を示す情報である。
例えば、図8に示す例では、図面データベース31には、領域ID「AID#1」、領域情報「領域#1」、図面ID「M#1」、設置位置「位置#M1」、リファレンス「リファレンス#M2」、特徴点座標「MFC#1−1」、および特徴量「MC#1−1」といった情報が登録されている。このような情報は、領域ID「AID#1」が示す領域の情報が「領域#1」であり、図面ID「M#1」が示す図面が、設置位置「位置#M1」が示す位置に、リファレンス「リファレンス#M2」が示す向きで設置されている旨を示す。また、このような情報は、予め図面が撮影された画像のうち特徴点座標「MFC#1−1」が示す位置から特徴量「MC#1−1」が示す特徴量が抽出される旨を示す。
ランドマークデータベース32には、予め撮影されたランドマークの特徴点に関する情報や、ランドマークの設置位置等といった各種の基準情報が登録される。例えば、図9は、実施形態に係るランドマークデータベースに登録される情報の一例を示す図である。図9に示すように、ランドマークデータベース32には、「領域ID」、「領域情報」、「設備ID」、「設置位置」、「リファレンス」、「特徴点座標」、および「特徴量」といった情報が対応付けて登録されている。なお、「設備ID」とは、ランドマークを識別するための識別子である。
なお、図8、9に示す例では、「領域#1」、「位置#M1」、「リファレンス位置#M2」、「MFC#1−1」、「MC#1−1」といった概念的な値を記載したが、実際には、領域の名称を示す文字列、設置位置やリファレンス撮影位置となる緯度や経度を示す数値若しくは設置位置やリファレンス撮影位置となる図面上の座標、特徴点の座標となる数値、および特徴量となる多次元量(ベクトル)等が登録されることとなる。また、図面IDや設備IDを「対象物ID」として統合することで、図面データベース31およびランドマークデータベース32は、統合可能である。
図7に戻り、説明を続ける。制御部40は、コントローラ(controller)であり、例えば、CPU(Central Processing Unit)、MPU(Micro Processing Unit)等のプロセッサによって、情報提供装置10内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部40は、コントローラ(controller)であり、例えば、ASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の集積回路により実現されてもよい。
図7に示すように、制御部40は、受付部41、補正部42、登録部43、取得部44、判定部45、推定部46、生成部47、および提供部48を有する。受付部41は、事前に登録される対象物を撮影した画像を受付ける。例えば、受付部41は、図面を正面から撮影した画像と、図面のサイズやアスペクト比を示す情報を受付ける。また、受付部41は、ランドマークを撮影した画像を受付ける。また、受付部41は、対象物の設置位置やリファレンス撮影位置を示す情報、および、上述した各種の処理を実行するために必要な情報(例えば、図面の縮尺等)の登録を受付ける。
補正部42は、対象物を撮影した画像を対象物を所定の位置から撮影した画像に補正する。例えば、補正部42は、対象物の縦横比を示す情報に基づいて、対象物を撮影した画像を補正する。より具体的には、補正部42は、画像から図面が撮影されている範囲を特定し、特定した範囲の形状と、図面のアスペクト比を示す情報とに基づいて、図面を正面から撮影したように、画像の補正を行う。
登録部43は、対象物を撮影した画像の特徴量を登録する。例えば、登録部43は、補正部42により補正された画像、若しくは、ランドマークが撮影された画像(以下、「基準画像」と記載する。)から複数の特徴点を抽出し、抽出した特徴点ごとに、特徴点座標と特徴量とを抽出する。そして、登録部43は、抽出した特徴点座標および特徴量と、対象物が設置された設置位置およびリファレンス撮影位置を対応付けて図面データベース31もしくはランドマークデータベース32に登録する。
取得部44は、所定の領域内に予め設置された対象物が撮影された撮影画像を取得する。例えば、取得部44は、撮影画像として、地下に所在する施設の図面等、所定の領域内に設置された図面であって、所定の領域を模式的に示す図面を対象物として撮影した撮影画像を取得する。また、取得部44は、撮影装置の位置や向きを補正する際には、案内情報が提供された後に、新たな対象物が撮影された撮影画像を取得することとなる。例えば、取得部44は、所定の領域内に設置された所定の設備、すなわち、ランドマークが撮影された撮影画像を取得する。
判定部45は、撮影画像に撮影された対象物が、所定の領域内に設置された図面であって、所定の領域を模式的に示す図面であるか、所定の領域内に設置された所定の設備であるかを判定する。例えば、判定部45は、端末装置100から、撮影画像と共に、図面を撮影した撮影画像であるか、ランドマークを撮影した画像(すなわち、位置と向きとの補正に用いる画像であるか)の情報を受付けた場合、受付けられた情報に基づいて、撮影画像に図面が撮影されているか、ランドマークが撮影されているかを判定してもよい。
また、例えば、判定部45は、撮影画像から特徴点座標および特徴量を抽出し、抽出した特徴量と、各データベース31、32に登録された特徴量との比較を行う。そして、判定部45は、対象物のうち、類似特徴量の数が最も多い対象物を、撮影対象であると判定してもよい。また、判定部45は、類似特徴量の数が所定の閾値を超えた対象物が存在しない場合や、分散が所定の閾値を超えた場合は、撮影された対象物が、図面若しくはランドマークではないと判定してもよい。
推定部46は、撮影画像に基づいて、撮影画像を撮影した撮影装置の対象物に対する位置である相対位置と、撮影装置の対象物に対する向きである相対向きとを推定する。例えば、推定部46は、撮影画像から抽出された特徴点に関する情報と、記憶部30に記憶された情報とを用いて、相対位置と相対向きとを推定する。すなわち、推定部46は、撮影画像に基づく画像情報と、記憶部30に記憶された基準画像の情報との比較結果に基づいて、相対位置と相対向きとを推定する。
例えば、推定部46は、判定部45により撮影対象が図面であると判定された場合は、以下の処理を実行する。まず、推定部46は、撮影画像から複数の特徴点を抽出し、抽出した特徴点の特徴点座標と特徴量とを抽出する。続いて、推定部46は、抽出した特徴量と図面データベース31に登録された特徴量との比較結果に基づいて、撮影画像に撮影された図面を推定する。なお、撮影画像に撮影された図面を推定する処理は、例えば、判定部45による判定時の結果を用いて実現されてもよい。
続いて、推定部46は、撮影対象と推定された図面の基準画像から抽出された特徴量と、撮影画像における特徴量とを比較し、特徴量が相互に類似する類似特徴点を抽出する。なお、推定部46は、撮影図面が撮影された画像から抽出された特徴量であって、図面が撮影された範囲から抽出された特徴量のみならず、背景が撮影された特徴量を比較対象としてもよい。そして、推定部46は、基準画像における類似特徴点の位置関係と、撮影画像における類似特徴点との位置関係とに基づいて、ホモグラフィー行列を生成する。すなわち、推定部46は、撮影画像に含まれる特徴点の位置を、基準画像に含まれる特徴点のうち特徴量が類似する特徴点の位置へと変換する変換行列を生成する。
そして、推定部46は、生成したホモグラフィー行列に基づいて、相対位置と相対向きとを推定する。例えば、推定部46は、ホモグラフィー行列から、図面の設置位置を相対位置に変換する第1行列と、図面の正面を相対向きに変換する第2行列とを生成する。そして、推定部46は、生成した第1行列と第2行列とから、相対位置と相対向きとを推定する。
一方、推定部46は、判定部45により撮影対象がランドマークであると判定された場合は、以下の処理を実行する。まず、推定部46は、撮影画像から複数の特徴点を抽出し、抽出した特徴点の特徴点座標と特徴量とを抽出する。続いて、推定部46は、抽出した特徴量とランドマークデータベース32に登録された特徴量との比較結果に基づいて、撮影画像に撮影されたランドマークを推定する。なお、撮影画像に撮影されたランドマークを推定する処理は、例えば、判定部45による判定時の結果を用いて実現されてもよい。
続いて、推定部46は、撮影対象と推定されたランドマークの基準画像から抽出された特徴量と、撮影画像における特徴量とを比較し、特徴量が相互に類似する類似特徴点を抽出する。そして、推定部46は、基準画像における類似特徴点の位置関係と、撮影画像における類似特徴点との位置関係とに基づいて、基本行列を生成し、生成した基本行列に基づいて、ランドマークの立体形状を復元する。
続いて、推定部46は、撮影画像における注視線と、ランドマークの立体形状との交点、例えば、ランドマークの中心点を特定し、特定したランドマークの中心点に対する相対位置と相対向きとを推定する。より具体的には、推定部46は、ランドマークの中心点と基本行列とを用いて、基準画像を撮影した撮影位置基準の相対的な位置と、基準画像を撮影した撮影向き基準の相対的な向きとを推定する。そして、推定部46は、基準画像を撮影した際の撮影位置および撮影向きと、基準画像を撮影した撮影位置基準の相対的な位置と、基準画像を撮影した撮影向き基準の相対的な向きとに基づいて、ランドマークの中心基準の相対位置および相対向きを推定する。なお、推定部46は、基準画像を撮影した際の撮影位置および撮影向きとについては、実測値ではなく、推定若しくは想定されうる情報を採用してもよい。
すなわち、推定部46は、対象物が撮影された撮影画像に基づいて、新たな対象物の三次元形状を復元し、復元した三次元形状を用いて、相対位置と相対向きとを推定する。例えば、推定部46は、復元された対象物の三次元形状のうち所定の位置を基準とした撮影装置の位置と向きとを相対位置と相対向きとして推定する。
生成部47は、相対位置および相対向きに基づいて、所定の領域内における撮影装置の位置と向きとを示す案内情報を生成する。例えば、生成部47は、所定の領域内において対象物が設置された位置と、相対位置とに基づいて、所定の領域内における撮影装置の位置を推定し、推定した位置を示す案内情報を生成する。また、生成部47は、リファレンス撮影位置と、相対向きとに基づいて、所定の領域内における撮影装置の向きを推定し、推定した位置を示す案内情報を生成する。ここで、所定の領域内における撮影装置の位置や向きとは、緯度、経度若しくは方位といった情報以外にも、例えば、表示対象となる図面上における位置や向きを含む概念である。
例えば、生成部47は、推定部46により推定された相対位置および相対向きと、撮影対象となった図面の設置位置およびリファレンス撮影位置とに基づいて、表示対象となる地図上における撮影装置の位置および向きを特定する。そして、生成部47は、図面上に撮影装置の位置と向きとを模式的に示す情報を重畳した案内情報を生成する。
なお、生成部47は、撮影画像に含まれる図面上に、撮影装置の位置と向きとを模式的に示す情報を重畳した案内情報を生成してもよい。例えば、生成部47は、図面を所定の方向から撮影したように撮影画像に含まれる図面を補正した補正図面を生成する。
より具体的な例を挙げると、生成部47は、図面を所定の位置から撮影した画像である基準画像から抽出された特徴量と、撮影画像から抽出された特徴量との比較結果に基づいて、ホモグラフィー行列を生成し、生成したホモグラフィー行列を用いて、補正図面を生成してもよい。すなわち、生成部47は、図面データベース31に登録された情報と、撮影画像に基づく情報との比較結果に基づいて、補正図面を生成してもよい。なお、生成部47は、例えば、推定された相対位置および相対向きに基づいて、補正図面を生成してもよい。
また、生成部47は、推定された相対位置と相対向きとに基づいて、撮影装置の位置と向きとを補正図面上の座標に変換する。そして、生成部47は、補正図面上に、撮影装置の位置と向きとを模式的に示す情報を重畳した案内情報を生成してもよい。
なお、生成部47は、撮影画像に含まれる図面とは異なる図面上に、撮影装置の位置と向きとを模式的に示す情報を重畳した案内情報を生成してもよい。例えば、生成部47は、予め登録された図面上に撮影装置の位置と向きとを模式的に示す情報を重畳した案内情報を生成してもよい。
また、例えば、生成部47は、撮影画像に含まれる図面が所定の領域を上方から模式的に示した図面ではない場合は、所定の領域を上方から模式的に示す図面上に、撮影装置の位置と向きとを模式的に示す情報を重畳した案内情報を生成してもよい。また、生成部47は、施設と同じ領域に所在する施設であって、地上に所在する施設の図面上に、撮影装置の位置と向きとを模式的に示す情報を重畳した案内情報を生成してもよい。また、生成部47は、撮影装置の位置と向きとともに、撮影装置を利用する利用者が予め設定した目的地までの案内方向を示す案内情報を生成してもよい。
また、生成部47は、ランドマークに対する相対位置と相対向きとに基づいて、所定の領域内における撮影装置の位置と向きとを補正した新たな案内情報を生成してもよい。例えば、生成部47は、ランドマークに対する相対位置と相対向きとに基づいて、配信済みの図面上における撮影装置の位置および向きを特定し、特定した位置および向きを示す情報を案内情報として生成してもよい。
なお、生成部47は、対象物が図面および所定の設備以外の対象であると判定された場合は、図面若しくは所定の設備の撮影を示唆する示唆情報を生成する。例えば、生成部47は、「図面若しくはランドマークを撮影してください。」といったメッセージを含む示唆情報を生成してもよい。
提供部48は、生成された案内情報や示唆情報を端末装置100へと提供する。このような処理の結果、提供部48は、利用者の位置や向きを示す案内情報を端末装置100に表示させることができる。
〔3.端末装置の構成〕
次に、図10を用いて、端末装置100の構成の一例について説明する。図10は、実施形態に係る端末装置の構成例を示す図である。図10に示すように、端末装置100は、通信部120、記憶部130、カメラ140、画面150、GPSアンテナ160、センサ170、および制御部180を有する。
通信部120は、例えば、NIC等によって実現され、ネットワークNと有線または無線で接続され、情報提供装置10との間で情報の送受信を行う。記憶部130は、RAM、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現され、端末装置100が実行する各種のアプリケーションのデータや、アプリケーションに用いられる各種のデータが登録される。
カメラ140は、所謂撮影装置であり、各種の半導体受光素子を用いたデジタルカメラ等により実現される。画面150は、各種の情報を表示可能な画面であり、例えば、各種液晶ディスプレイにより実現される。なお、画面150がタッチパネルにより実現される場合、画面150は、利用者からの操作を受付ける入力装置としても動作することとなる。GPSアンテナ160は、GPS信号を受信するためのアンテナである。また、センサ170は、加速度センサやジャイロセンサ等、各種のセンサ装置である。
制御部180は、コントローラであり、例えば、CPU、MPU等のプロセッサによって、端末装置100内部の記憶装置に記憶されている各種プログラムがRAM等を作業領域として実行されることにより実現される。また、制御部180は、コントローラであり、例えば、ASICやFPGA等の集積回路により実現されてもよい。
ここで、制御部180は、複数のアプリケーションを実行することにより、端末装置100に関する各種機能を実現することとなる。例えば、図10に示す例では、制御部180は、第1アプリケーション181や第2アプリケーション182を実行している。なお、制御部180は、図10に示すアプリケーション以外にも、任意の機能を発揮するための任意の数のアプリケーションを実行して良い。例えば、制御部180は、端末装置100に対する操作の入力を受付けたり、画面150に各種の情報を表示するためのアプリケーションとして、所謂OS(Operating System)と呼ばれるアプリケーションを実行してもよい。また、制御部180は、各種サービスを提供するためのアプリケーションを実行してもよい。
ここで、制御部180は、上述した生成処理により生成された案内情報を表示したり、案内情報の更新を行うためのアプリケーションとして、案内アプリケーション183を実行する。例えば、案内アプリケーション183を実行した場合、制御部180は、撮影部184、表示制御部185、位置特定部186、および更新部187といった機能を有することとなる。
撮影部184は、カメラ140を用いて、図面やランドマーク等の対象物を撮影した撮影画像を撮影する。例えば、撮影部184は、アプリケーションの起動時等において、画面150にカメラ140が撮影している対象物を表示するとともに、撮影ボタンを表示させる。そして、撮影部184は、利用者が撮影ボタンを選択した場合は、カメラ140に画像を撮影させ、撮影された画像を撮影画像として情報提供装置10へと送信するとともに、対象物が図面である旨の通知を送信する。
なお、撮影部184は、例えば、画面150に表示された更新ボタンを利用者が選択した場合は、図面を撮影した際と同様の処理を行う。そして、撮影部184は、利用者が撮影ボタンを選択した場合は、カメラ140に画像を撮影させ、撮影された画像を撮影画像として情報提供装置10へと送信するとともに、対象物がランドマークである旨の通知を送信する。
表示制御部185は、各種の表示制御を行う。例えば、表示制御部185は、撮影ボタンの表示や、カメラ140が撮影している対象物の画像等を画面150に表示させる。また、表示制御部185は、情報提供装置10から案内情報を受付けた場合は、受付けた案内情報を画面150に表示させるとともに、位置特定部186や更新部187から通知される位置や向きに応じて、撮影装置(すなわち、端末装置100)の位置や向きを示す情報の更新を行う。すなわち、表示制御部185は、図面に重畳されたアイコンの位置や向きを更新する。
位置特定部186は、端末装置100の位置や向きを特定する。例えば、位置特定部186は、センサ170が検出した加速度や向き等に応じて、端末装置100が移動した方向や移動距離、端末装置100の向き等を推定し、推定した情報を表示制御部185に通知する。このような場合、表示制御部185は、受信した情報に基づいて、図面に重畳されたアイコンの位置や向きを更新する。なお、このような処理は、例えば、地図上における端末装置100の位置や向きを測位信号や各種センサ170のセンシング結果に基づいて更新する各種の公知技術が採用可能であるものとする。
更新部187は、更新処理により更新された端末装置100の位置や向きを取得する。例えば、更新部187は、情報提供装置10がランドマークとの相対位置および相対向きに基づいて推定した端末装置100の位置および向きを取得する。このような場合、更新部187は、取得した位置および向きを表示制御部185に通知し、図面に重畳されたアイコンの位置や向きを更新させる。
ここで、図11を用いて、案内アプリケーション183が端末装置100の画面150に表示させるコンテンツの一例について説明する。図11は、実施形態に係る端末装置が表示する画面の一例を示す図である。例えば、端末装置100は、図面の撮影を行う撮影段階においては、カメラ140が撮影している画像(例えば、対象物である図面や図面が配置された看板の像)と共に、撮影ボタンSBを表示する。続いて、端末装置100は、撮影ボタンSBがタップされた場合は、カメラ140が撮影している画像を撮影画像として情報提供装置10へと送信し、撮影された図面上における端末装置100の位置および向きを示す案内情報を取得する。
そして、端末装置100は、利用者の案内を行う案内段階においては、受信した案内情報を表示することで、端末装置100の位置および向きを利用者に示す。また、端末装置100は、測位信号や各種のセンシング結果に基づいて、図面に重畳されたアイコンの位置や向きを更新することで、端末装置100の位置および向きを逐次利用者に示す。
ここで、端末装置100は、案内段階においては、案内情報と共に、端末装置100の位置および向きを更新するための更新ボタンUBを表示する。そして、端末装置100は、利用者が更新ボタンUBを選択した場合は、端末装置100の位置および向きを更新する更新段階へと移行する。より具体的には、端末装置100は、撮影段階と同様に、カメラ140が撮影している画像(例えば、ランドマークとなるドアの画像)と共に、撮影ボタンSBを表示する。そして、端末装置100は、利用者が撮影ボタンSBを選択した場合は、撮影画像を情報提供装置10へと送信するとともに、更新された端末装置100の位置および向きの情報を取得する。その後、端末装置100は、案内段階へと移行し、図面上に重畳されたアイコンの位置や向きを、更新された端末装置100の位置および向きの情報に従って、更新する。
〔4.情報提供装置が実行する処理の流れの一例〕
続いて、図12を用いて、情報提供装置10が実行する処理の流れについて説明する。図12は、実施形態に係る情報提供装置が実行する処理の流れの一例を示すフローチャートである。
まず、情報提供装置10は、端末装置100から撮影画像を取得したか否かを判定し(ステップS101)、取得していない場合は(ステップS101:No)、取得するまで待機する。そして、情報提供装置10は、撮影画像を取得した場合は(ステップS101:Yes)、撮影画像に図面が含まれるか否かを判定する(ステップS102)。
続いて、情報提供装置10は、撮影画像に図面が含まれる場合は(ステップS102:Yes)、撮影画像の特徴量と、基本情報の特徴量との比較結果に基づいて、図面に対する撮影装置の相対位置と相対向きとを推定する(ステップS103)。また、情報提供装置10は、撮影画像に含まれる図面を正面から見た図面に補正する(ステップS104)。そして、情報提供装置10は、補正図面上に、撮影装置の位置と向きとを示す情報を重ねた案内情報を生成する(ステップS105)。なお、情報提供装置10は、ステップS103、S104を任意の順で実行して良い。そして、情報提供装置10は、生成した案内情報を端末装置100に提供し(ステップS106)、処理を終了する。
一方、情報提供装置10は、撮影画像に図面が含まれない場合は(ステップS102:No)、撮影画像の特徴量と、基本情報の特徴量との比較結果に基づいて、ランドマークに対する撮影装置の相対位置と相対向きとを推定する(ステップS107)。そして、情報提供装置10は、地図上における撮影装置の位置と向きとを補正した新たな案内情報を生成し(ステップS108)、ステップS106を実行する。
〔5.変形例〕
上記では、情報提供装置10による処理の一例について説明した。しかしながら、実施形態は、これに限定されるものではない。以下、情報提供装置10が実行する処理のバリエーションについて説明する。
〔5−1.実行主体〕
上述した例では、情報提供装置10は、端末装置100から取得した撮影画像を用いて、生成処理を実行した。しかしながら、実施形態は、これに限定されるものではない。例えば、上述した生成処理は、端末装置100がスタンドアローンで実行してもよい。例えば、端末装置100は、図10に示す記憶部130内に、図7に示す図面データベース31およびランドマークデータベース32を有し、図10に示す案内アプリケーション183を実行することで、図7に示す取得部44、判定部45、推定部46、生成部47と同様の機能を発揮してもよい。
〔5−2.その他〕
また、情報提供装置10は、リファレンス撮影位置に代えて、対象物の向き(例えば、図面に対して垂直な方向である図面の向きや、ランドマークの向き等)を示す情報を基準情報としてもよい。また、情報提供装置10は、準備段階において対象物の正面から対象物を撮影するのであれば、リファレンス撮影位置と対象物の設置位置とから、対象物の向きを推定し、推定した向きから、撮影装置の向きおよび位置を推定してもよい。
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、逆に、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
また、上記してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
〔5−3.プログラム〕
また、上述した実施形態に係る情報提供装置10は、例えば図13に示すような構成のコンピュータ1000によって実現される。図13は、ハードウェア構成の一例を示す図である。コンピュータ1000は、出力装置1010、入力装置1020と接続され、演算装置1030、一次記憶装置1040、二次記憶装置1050、出力IF(Interface)1060、入力IF1070、ネットワークIF1080がバス1090により接続された形態を有する。
演算装置1030は、一次記憶装置1040や二次記憶装置1050に格納されたプログラムや入力装置1020から読み出したプログラム等に基づいて動作し、各種の処理を実行する。一次記憶装置1040は、RAM等、演算装置1030が各種の演算に用いるデータを一次的に記憶するメモリ装置である。また、二次記憶装置1050は、演算装置1030が各種の演算に用いるデータや、各種のデータベースが登録される記憶装置であり、ROM(Read Only Memory)、HDD(Hard Disk Drive)、フラッシュメモリ等により実現される。
出力IF1060は、モニタやプリンタといった各種の情報を出力する出力装置1010に対し、出力対象となる情報を送信するためのインタフェースであり、例えば、USB(Universal Serial Bus)やDVI(Digital Visual Interface)、HDMI(登録商標)(High Definition Multimedia Interface)といった規格のコネクタにより実現される。また、入力IF1070は、マウス、キーボード、およびスキャナ等といった各種の入力装置1020から情報を受信するためのインタフェースであり、例えば、USB等により実現される。
なお、入力装置1020は、例えば、CD(Compact Disc)、DVD(Digital Versatile Disc)、PD(Phase change rewritable Disk)等の光学記録媒体、MO(Magneto-Optical disk)等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等から情報を読み出す装置であってもよい。また、入力装置1020は、USBメモリ等の外付け記憶媒体であってもよい。
ネットワークIF1080は、ネットワークNを介して他の機器からデータを受信して演算装置1030へ送り、また、ネットワークNを介して演算装置1030が生成したデータを他の機器へ送信する。
演算装置1030は、出力IF1060や入力IF1070を介して、出力装置1010や入力装置1020の制御を行う。例えば、演算装置1030は、入力装置1020や二次記憶装置1050からプログラムを一次記憶装置1040上にロードし、ロードしたプログラムを実行する。
例えば、コンピュータ1000が情報提供装置10として機能する場合、コンピュータ1000の演算装置1030は、一次記憶装置1040上にロードされたプログラムを実行することにより、制御部40の機能を実現する。
〔6.効果〕
上述したように、情報提供装置10は、所定の領域内に予め設置された対象物(例えば、地図等の各種図面や設備等のランドマーク)が撮影された撮影画像を取得する。なお、情報提供装置10は、図面やランドマーク以外にも、床や天井、対象物の遠方に配置された木々等の背景が含まれる撮影画像を取得してもよい。このような場合、情報提供装置10は、撮影画像に基づいて、撮影画像を撮影した撮影装置の対象物に対する位置である相対位置と、撮影装置の対象物に対する向きである相対向きとを推定する。例えば、情報提供装置10は、各種のカメラキャリブレーションの手法を用いて、相対位置および相対向きを推定する。そして、情報提供装置10は、相対位置および相対向きに基づいて、所定の領域内における撮影装置の位置と向きとを示す案内情報を生成する。
例えば、情報提供装置10は、所定の領域内において対象物が設置された位置と、相対位置とに基づいて、所定の領域内における撮影装置の位置を推定し、推定した位置を示す案内情報を生成する。また、情報提供装置10は、所定の領域内における対象物を予め撮影した撮影装置の位置と、相対向きとに基づいて、所定の領域内における撮影装置の向きを推定し、推定した位置を示す案内情報を生成する。
このような処理の結果、情報提供装置10は、対象物を撮影するだけで、端末装置100等の撮影装置、ひいては撮影装置を利用する利用者の位置および向きを推定し、推定した位置および向きを提供することができる。このため、情報提供装置10は、利用者の現在位置のみならず、現在の利用者の向きを高精度で推定し、推定した位置および向きを示すことができるので、利用者を適切に案内することができる。
また、一般に、地下鉄のホームやショッピングモール内において、案内を行うためのアプリケーションを立ち上げるといった習慣が利用者に無くとも、情報提供装置10は、端末装置100を用いて図面等の対象物を撮影するだけで、利用者の位置および向きを示すことができるので、利用者の手間を削減することができる。さらに、情報提供装置10は、利用者に現在の向きを示すことで、利用者に目的地までの方向を示唆することができるので、例えば、端末装置100を見続けながらホームを移動するといった行為を防ぐことができるので、利用者の安全性を確保することができる。
また、情報提供装置10は、対象物を所定の位置から撮影した画像である基準画像に基づく基準情報を記憶し、撮影画像に基づく画像情報と、記憶部に記憶された基準情報との比較結果に基づいて、相対位置と相対向きとを推定する。このため、情報提供装置10は、高精度に利用者の相対位置および相対向きの推定を行うことができるとともに、これら相対位置および相対向きから推定される撮影装置の位置および向きの精度を向上させることができる。
また、情報提供装置10は、対象物を撮影した画像を対象物を所定の位置から撮影した画像に補正し、基準情報として、補正部により補正された画像に基づく情報を記憶する。例えば、情報提供装置10は、対象物の縦横比を示す情報に基づいて、対象物を撮影した画像を補正する。このため、情報提供装置10は、相対位置と相対向きとの推定精度をさらに向上させることができる。
また、情報提供装置10は、基準情報として、基準画像に含まれる特徴点に関する情報を記憶し、撮影画像から抽出された特徴点に関する情報と、記憶部に記憶された情報とを用いて、相対位置と相対向きとを推定する。例えば、情報提供装置10は、基準画像に含まれる特徴点の位置を示す情報と、各特徴点における特徴を示す特徴量とを記憶し、撮影画像に含まれる特徴点の位置を、基準画像に含まれる特徴点のうち特徴量が類似する特徴点の位置へと変換する変換行列を生成し、生成した変換行列に基づいて、相対位置と相対向きとを推定する。例えば、情報提供装置10は、変換行列から、所定の位置を相対位置に変換する第1行列と、所定の位置から対象物への向きを相対向きに変換する第2行列とを生成し、第1行列と第2行列とから、相対位置と相対向きとを推定する。
このように、情報提供装置10は、画像から抽出される特徴量を用いたカメラキャリブレーションの技術を用いて、撮影装置の相対位置および相対向きを推定する。このため、情報提供装置10は、適切に相対位置および相対向きを推定することができる。
また、情報提供装置10は、撮影画像として、所定の領域内に設置された図面であって、所定の領域を模式的に示す図面を対象物として撮影した画像を取得し、撮影装置の図面に対する相対位置と相対向きとを推定する。このため、情報提供装置10は、例えば、各種の施設に設置された施設の構内図や地図を撮影するだけで、利用者の施設における位置および向きを示すことができる。
また、情報提供装置10は、案内情報が提供された後に、新たな対象物が撮影された撮影画像を取得し、撮影装置の新たな対象物に対する相対位置と相対向きとを推定し、新たな対象物に対する相対位置と相対向きとに基づいて、所定の領域内における撮影装置の位置と向きとを補正した新たな案内情報を生成する。例えば、情報提供装置10は、新たな対象物として、所定の領域内に設置されたドア等の所定の設備が撮影された撮影画像を取得する。このため、情報提供装置10は、新たな対象物を用いた利用者の位置および向きの補正を実現することができる。
また、情報提供装置10は、新たな対象物が撮影された撮影画像に基づいて、新たな対象物の三次元形状を復元し、復元した三次元形状を用いて、相対位置と相対向きとを推定する。そして、情報提供装置10は、復元された新たな対象物の三次元形状のうち所定の位置を基準とした撮影装置の位置と向きを相対位置と相対向きとして推定する。このため、情報提供装置10は、例えば、施設内において補正に用いる対象物を所定の位置から撮影した撮影画像を収集するだけで、利用者の位置および向きを補正可能な地点を増やすことができる。
また、情報提供装置10は、撮影画像に撮影された対象物が、所定の領域内に設置された図面であって、所定の領域を模式的に示す図面であるか、所定の領域内に設置された所定の設備であるかを判定し、対象物が図面であると判定された場合は、所定の領域内における撮影装置の位置と向きとを示す案内情報を生成し、対象物が所定の設備であると判定された場合は、所定の領域内における撮影装置の位置と向きとを補正した新たな案内情報を生成してもよい。このような処理の結果、情報提供装置10は、撮影対象に応じて、案内情報の新規生成、若しくは、案内情報の更新のうち、適切な処理を自動的に実行することができる。
また、情報提供装置10は、対象物が、図面および所定の設備以外の対象であるかをさらに判定し、対象物が図面および所定の設備以外の対象であると判定された場合は、図面若しくは所定の設備の撮影を示唆する示唆情報を生成する。このため、情報提供装置10は、撮影画像に図面やランドマーク等の対象物が適切に撮影されていない場合に、利用者に対し、対象物を撮影するように促すことができる。
また、情報提供装置10は、所定の領域を模式的に示す図面上に、撮影装置の位置と向きとを模式的に示す情報を重畳した案内情報を生成してもよい。また、情報提供装置10は、対象物として、所定の領域を模式的に示す図面が撮影された画像を撮影画像として取得し、撮影画像に含まれる図面上に、撮影装置の位置と向きとを模式的に示す情報を重畳した案内情報を生成してもよい。また、情報提供装置10は、対象物として、所定の領域を模式的に示す図面が撮影された画像を撮影画像として取得し、撮影画像に含まれる図面とは異なる図面上に、撮影装置の位置と向きとを模式的に示す情報を重畳した案内情報を生成してもよい。
例えば、情報提供装置10は、撮影画像に含まれる図面が所定の領域を上方から模式的に示した図面ではない場合は、所定の領域を上方から模式的に示す図面上に、撮影装置の位置と向きとを模式的に示す情報を重畳した案内情報を生成してもよい。また、情報提供装置10は、対象物として、地下に所在する施設の図面が撮影された画像を撮影画像として取得し、施設と同じ領域に所在する施設であって、地上に所在する施設の図面上に、撮影装置の位置と向きとを模式的に示す情報を重畳した案内情報を生成してもよい。
このように、情報提供装置10は、利用者の状況に応じて、案内する際に適切であると推定されうる各種の図面上に、利用者の位置および向きを示す情報を重畳して提供することができるので、利用者を適切に案内することができる。
また、情報提供装置10は、撮影装置の位置と向きとともに、撮影装置を利用する利用者が予め設定した目的地までの案内方向を示す案内情報を生成してもよい。このような処理の結果、情報提供装置10は、利用者を目的地まで適切に案内することができる。
また、情報提供装置10は、所定の領域内に設置された図面であって、領域を模式的に示す図面が撮影された撮影画像を取得し、撮影画像に含まれる図面に、撮影画像を撮影した撮影装置の領域内における位置を示す情報を重畳した案内情報を生成する。このような処理の結果、情報提供装置10は、利用者が閲覧し、撮影した図面上に、利用者の位置を示す情報を重畳して提供することができるので、容易に利用者の現在位置を認識させることができる。また、このような図面上に利用者の位置を示す情報を重畳した場合、利用者は、任意のタイミングで配信されるような地図や図面よりも容易に自身の向きを特定することができる。このため、情報提供装置10は、利用者を適切に案内することができる。
また、上述したように、情報提供装置10は、撮影装置の領域内における位置と向きとを示す情報を重畳した案内情報を生成する。また、情報提供装置10は、図面を所定の方向から撮影したように撮影画像に含まれる図面を補正した補正図面を生成し、生成した補正図面に撮影装置の位置を示す情報を重畳した案内情報を生成する。また、情報提供装置10は、図面を所定の位置から撮影した画像である基準画像に基づく基準情報を記憶し、撮影画像に含まれる図面に基づく画像情報と、記憶部に記憶された基準情報との比較結果に基づいて、補正図面を生成する。
また、情報提供装置10は、対象物を撮影した画像を対象物を所定の位置から撮影した画像に補正し、基準情報として、補正部により補正された画像に基づく情報を記憶する。また、情報提供装置10は、対象物の縦横比を示す情報に基づいて、対象物を撮影した画像を補正する。また、情報提供装置10は、画像情報と、基準情報との比較結果に基づいて、撮影画像を撮影した撮影装置の図面に対する位置である相対位置と、撮影装置の図面に対する向きである相対向きとを推定し、相対位置と相対向きとに基づいて、補正図面を生成する。また、情報提供装置10は、相対位置と相対向きとに基づいて、撮影装置の位置と向きとを図面上の座標に変換し、変換後の座標を用いて、案内図面を生成する。
このような各処理の結果、情報提供装置10は、撮影対象となる図面を適切な態様で提供するとともに、このような図面上における利用者の位置や向きを示すことができるので、利用者を適切に案内することができる。
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
また、上記してきた「部(section、module、unit)」は、「手段」や「回路」などに読み替えることができる。例えば、付与部は、特定手段や特定回路に読み替えることができる。