以下、本発明の実施形態について図面に基づいて説明する。
<実施形態1>
図1は、情報処理システムのシステム構成の一例を示す図である。情報処理システムは、携帯端末100と、サーバ120と、を含む。携帯端末100と、サーバ120とは、ネットワーク110を介して通信可能となっている。
図2は、サーバ120のハードウェア構成の一例を示す図である。サーバ120は、ハードウェア構成として、CPU201と、記憶部202と、表示部203と、入力部204と、通信部205と、を含む。CPU201は、サーバ120の全体の処理を制御する。記憶部202は、プログラムと、携帯端末100から送られてきたデータと、CPU201がプログラムに基づき処理を実行する際に用いるデータと、を記憶する。表示部203は、CPU201の処理の結果等を表示する。入力部204は、ユーザの操作指示をCPU201に入力する。通信部205は、サーバ120をネットワーク110に接続する。CPU201が記憶部202に記憶されているプログラムに基づき処理を実行することにより、サーバ120の機能及び後述する図4、図6、図10−図14、図16のフローチャートの処理が実現される。記憶部202は、記憶媒体の一例である。
携帯端末100のハードウェア構成もサーバ120のハードウェア構成と同様である。携帯端末100のCPUが携帯端末100の記憶部に記憶されているプログラムに基づき処理を実行することにより、携帯端末100の機能が実現される。
図3は、実施形態1の処理の概要を説明する図である。大規模な屋内では確立されたユーザの位置把握技術が存在しない。そこで、実施形態1では、図3の〇で示されるように、屋内において所定の撮影場所(撮影ポイント)が設けられており、情報処理システムは、それぞれの撮影ポイントで撮影された複数の撮影画像をユーザの位置の推定に用いる登録画像としてその撮影ポイントの情報(撮影場所情報)と共に事前に登録しておく。撮影場所情報は、緯度経度情報等でもよいし、「ビル3階区画A」のようにユーザが認識可能な情報でもよい。そして、情報処理システムは、移動体であるユーザの位置を認識する際にはユーザから撮影画像が送られてくると、複数の登録画像の中から撮影画像に類似する登録画像を検索し、検索した登録画像と共に登録されている撮影場所情報で示される撮影ポイントにユーザがいると推定し、推定結果を出力する。
図4は、画像登録処理の一例を示すフローチャートである。電源が投入されると、CPU201は、画像登録処理を開始する。ここで、携帯端末100のユーザは、撮影ポイントで撮影し、登録用に撮影場所情報を入力する。なお、撮影場所情報は、緯度経度情報を取得してこの緯度経度情報を自動的に入力してもよく、又は撮影された画像内に上記のような「ビル3階区画A」のような場所を示す情報が移りこんでいれば文字認識技術等を用いて文字を抽出して自動入力してもよい。携帯端末100は、入力された撮影場所情報及び撮影画像をサーバ120に送信する。S401において、CPU201は、携帯端末100より撮影場所情報及び撮影画像を受信したか否を判定する。CPU201は、携帯端末100より撮影場所情報及び撮影画像を受信したと判定すると、S402に進み、携帯端末100より撮影場所情報及び撮影画像を受信していないと判定すると、S401の処理を繰り返す。S402において、CPU201は、撮影画像より特徴量を抽出する。実施形態1では、CPU201は、撮影画像よりAKAZE特徴量を抽出する。より具体的に説明すると、CPU201は、撮影画像より撮影画像の特徴的な場所(特徴点)を複数、抽出し、それぞれの特徴点が保持している局所特徴量を取得する。S403において、CPU201は、携帯端末100より受信した撮影場所情報に関連付けてS402で抽出した特徴量をインデックス化する。図5(a)は、特徴量のインデックス化の一例を示す図である。S402において、CPU201は、例えば、撮影場所Aの一つの撮影画像から複数の特徴量を抽出する。そして、S403において、CPU201は、撮影場所Aの一つの撮影画像から抽出した複数の特徴量をインデックス化された特徴量空間へマッピングする。図5では、特徴量空間を2次元で表しているがAKAZE特徴量の場合であれば例えば64次元である。サーバ120は、携帯端末100より登録要求を受信する度に、S402及びS403の処理を繰り返す。インデックス化された特徴量は、記憶部202に記憶される。図5(b)は各特徴量と撮影場所情報との関連付けを示す図である。「〇」印は「撮影場所A」に関連付けられ、「△」印は「撮影場所B」に関連付けられ、「□」印は「撮影場所C」と関連付けられている。上述のように、関連付けられる撮影場所情報は緯度経度等でもよい。このように、画像登録処理では、複数の撮影ポイントにおいて、撮影された画像から特徴量を抽出してインデックス化して記憶部202に記憶しておくが、各撮影ポイントにおいては、撮影する画像は1つには限らない。同じ撮影ポイントでいくつかの方向を撮影してそれぞれインデックス化しておいてもよい。更には、撮影する画像は、360度カメラ画像や全天球カメラ画像であってもよい。
図6は、位置推定処理の一例を示すフローチャートである。電源が投入されると、CPU201は、位置推定処理を開始する。ここで、携帯端末100のユーザは、例えば、定期的に周りの風景を撮影し、撮影画像をサーバ120に送信する。S601において、CPU201は、携帯端末100より撮影画像を受信したか否かを判定する。CPU201は、携帯端末100より撮影画像を受信したと判定すると、S602に進み、撮影画像を受信していないと判定すると、S601の処理を繰り返す。S602において、CPU201は、撮影画像(検索用の撮影画像)より特徴量を抽出する。実施形態1では、CPU201は、検索用の撮影画像よりAKAZE特徴量を抽出する。S603において、CPU201は、インデックス化され記憶部202に記憶された特徴量(登録済み特徴量)からS602で抽出した検索用の撮影画像の特徴量に似た特徴量を検索する。S604において、CPU201は、S603の検索結果からユーザが各撮影場所にいる確率を計算する。図7は、S603及びS604の処理を説明する図である。S603において、CPU201は、検索用の撮影画像の特徴量ごとに、インデックス化された登録済み特徴量の中から最も距離が近い特徴量を検索する。S604において、CPU201は、検索用の撮影画像の複数の特徴量のそれぞれに類似する登録済み特徴量がどの撮影場所の登録済み特徴量かを求め、求めた撮影場所の内、同じ撮影場所の数の和を、全体の撮影場所の数の和で除することで、各撮影場所にユーザがいる確率として求める。例えば、図7の例では、CPU201は、検索用の撮影画像から3つの特徴量を抽出している。CPU201は、検索の結果、3つの特徴量のうち、1つの特徴量が撮影場所Aの登録済み特徴量に近く、2つの特徴量が撮影場所Bの登録済み特徴量に近いと判断する。CPU201は、求めた撮影場所の内、撮影場所Aの数の和である1を全体の撮影場所の数の和である3で除することで、撮影場所Aにユーザがいる確率として約33%を求める。また、CPU201は、求めた撮影場所の内、撮影場所Bの数の和である2を全体の撮影場所の数の和である3で除することで、撮影場所Bにユーザがいる確率として約66%を求める。
図6の説明に戻る。S605において、CPU201は、ユーザが現在いると推定した場所について補正する。図8は、撮影場所にいる確率の補正について説明する図である。CPU201は、S604で求めた各撮影場所にいる確率を、直前にユーザがいたと推定した場所に基づき、補正する。より具体的に説明すると、CPU201は、ユーザがいると推定した場所であっても、屋内の地図情報等に基づき、直前にユーザがいたと推定した場所から物理的に移動が不可能な場合、ユーザがいる確率を低く補正する。図8では、CPU201が、S604の処理の結果、撮影場所Eにいる確率を40%と求めている。しかし、直前にユーザがいたと推定した場所が、撮影場所Bであり、撮影場所Bと撮影場所Eとの間には、所定の大きさ以上の部屋があり、通り抜けできないことが地図情報に基づき判断した場合、撮影場所Eにいる確率を40%から低く補正する。推定した確率より低く補正すればよく、所定の式を適用して例えば確率10%等に算出する。なお、図8では四角マーク内に示した40%が今回算出された確率を示しており、丸マークの内に示した確率の値は、その前に算出された時の各撮影場所での確率の値を示している。図8の場合は上述の通り撮影場所Bは確率が66%で最も高いため、ユーザは直前に撮影場所Bにいたと推定できる。このように撮影画像を用いて繰り返し処理が行われる。また、CPU201は、S604で求めた各撮影場所にいる確率を、直前にユーザがいる場所を推定してからの経過時間に基づき、補正する。より具体的に説明すると、CPU201は、ユーザがいると推定した場所であっても、直前にユーザがいる場所を推定してからの経過時間に基づき、前回、ユーザがいると推定した場所から物理的に移動が不可能な場合、ユーザがいる確率を低く補正する。CPU201は、S604で求めた各撮影場所にいる確率を、前回、ユーザがいると推定した場所と、前回、ユーザがいる場所を推定してからの経過時間と、に基づき、補正してもよい。なお、補正については低くするだけでなく一定のルールで高く補正するようにしてもよい。
図6の説明に戻る。S606において、CPU201は、補正した結果、複数の撮影場所のうち、ユーザがいる確率が一番高い撮影場所のユーザがいる確率が閾値以上か否かを判定する。CPU201は、複数の撮影場所のうち、ユーザがいる確率が一番高い撮影場所のユーザがいる確率が閾値以上の場合は、S607に進み、ユーザがいる確率が一番高い撮影場所のユーザがいる確率が閾値未満の場合は、S608に進む。S607において、CPU201は、ユーザがいる確率が一番高い撮影場所を、ユーザの推定位置として出力する。例えば、CPU201は、撮影画像を送信してきた携帯端末100を識別する識別情報と共に、携帯端末100のユーザの推定位置を表示部203に表示する。S608において、CPU201は、ユーザの位置推定が不能である旨を出力する。例えば、CPU201は、撮影画像を送信してきた携帯端末100を識別する識別情報と共に、携帯端末100のユーザの位置推定が不能である旨を表示部203に表示する。
以上、実施形態1の情報処理システムによれば、特定の対象物(特許文献1では照明器具)を常に最低1個カメラの視野に入るように設置しなくてもユーザの位置を推定することができる。即ち、自由度高く、ユーザの位置を推定することができる。
実施形態1の変形例1を説明する。図1では、情報処理システムに含まれる携帯端末100は1台を例に説明を行ったが、携帯端末は1台に限られない。複数の携帯端末が情報処理システムに含まれてもよい。以下の実施形態2及び実施形態3でも同様である。
実施形態1の変形例2を説明する。サーバ120のハードウェア構成として、表示部203及び入力部204は必須の構成要素ではない。例えば、表示部203がない場合、S607において、CPU201は、撮影画像を送信してきた携帯端末100を識別する識別情報と共に、携帯端末100のユーザの推定位置を所定の管理者端末、又は携帯端末100に送信する。なお、CPU201は、表示部203がある場合であっても、設定に応じて、撮影画像を送信してきた携帯端末100を識別する識別情報と共に、携帯端末100のユーザの推定位置を所定の管理者端末に送信、又は携帯端末100に送信してもよい。携帯端末100を識別する識別情報と共に、携帯端末100のユーザの推定位置を受信した、管理者端末、又は携帯端末100は、自装置の表示部に携帯端末100を識別する識別情報と共に、携帯端末100のユーザの推定位置を表示する。すなわち、表示部203と、所定の管理者端末の表示部と、携帯端末100の表示部とは、ユーザの推定位置を出力する手段の例であり、ユーザの推定位置を出力できる手段を備えていればどのようなものでもよい。
実施形態1の変形例3を説明する。サーバ120は、単体の装置で構成されていなくてもよい。すなわち、サーバ120の機能を提供できれば、サーバ120は、複数のサーバ、いわゆるクラウドサーバ、で構成されていてもよい。以下の実施形態2及び実施形態3でも同様である。
実施形態1の変形例4を説明する。上述したフローチャートの処理の一部、又はすべては携帯端末100のCPUが行ってもよい。例えば、図4のフローチャートにおいて、携帯端末100のCPUは、撮影を行い、撮影画像から特徴量を抽出し、抽出した特徴量と撮影場所情報をサーバ120に送信してもよい。この場合、携帯端末100からサーバ120に送信するデータ量は削減される。以下の実施形態2及び実施形態3でも同様である。
実施形態1の変形例5を説明する。撮影画像から抽出する特徴量は、AKAZE特徴量に限られず、例えば、SIFT特徴量であってもよい。すなわち、類似画像の検索に利用される特徴量であればどのような特徴量であってもよい。なお、SIFT特徴量の場合、特徴量空間は128次元となる。以下の実施形態2及び実施形態3でも同様である。
実施形態1の変形例6を説明する。S603において、CPU201は、検索用の撮影画像の特徴量ごとに、インデックス化された登録済み特徴量の中から最も距離が近い登録済み特徴量を検索する際に、その特徴量間の距離も求める。そして、S604において、CPU201は、CPU201は、検索用の撮影画像の複数の特徴量のそれぞれに類似する登録済み特徴量がどの撮影場所の登録済み特徴量かを求め、求めた撮影場所の内、同じ撮影場所の数の和を、全体の撮影場所の数の和で除することで、各撮影場所にユーザがいる確率として求める。この際、CPU201は、S603で求めた距離に基づき、インデックス化された特徴量空間の登録済み特徴量と検索用の撮影画像の特徴量との距離が近いほど確率が高くなるよう重みづけを行い、各撮影場所にユーザがいる確率を求める。
実施形態1の変形例7を説明する。時間帯毎に撮影画像を用意して、図4に示した画像登録処理を、時間帯毎に行ってもよい。この場合、図6の位置推定処理に関して、携帯端末100は、撮影画像と共に、時間帯の情報をサーバ120に送信する。このような構成とすることで、時間帯毎に日の当たり方等で風景が異なる場合も、ユーザの位置をより正確に推定することができる。
実施形態1の変形例8を説明する。屋内ではなく、屋外におけるユーザの位置推定に上述した技術を利用してもよい。以下の実施形態2及び実施形態3でも同様である。
<実施形態2>
実施形態2では、実施形態1と異なる点について主に説明する。図9は、実施形態2の処理の概要を説明する図である。実施形態2では、屋内にビーコン端末が複数設定されている(図9の例では、ビーコン端末90、91、92、93)。複数のビーコン端末それぞれは、それぞれの固有情報を含むビーコン信号を設定された範囲内に発信する。なお、図示しないが、各ビーコンが設置されている場所と該当するビーコンの固有情報とは別途その対応関係が記憶部に記憶され、適宜参照される。
図10は、更新タイミング出力処理の一例を示すフローチャートである。電源が投入されると、CPU201は、更新タイミング出力処理を開始する。ここで、携帯端末100は、撮影画像をサーバ120に送信する際に、ビーコン端末からビーコン信号を受信していた場合、ビーコン信号情報も共にサーバ120に送信する。S1001において、CPU201は、更新タイミング検知処理を実行する。
図11は、更新タイミング検知処理の一例を示すフローチャートである。S1101において、CPU201は、携帯端末100から送信されてきたデータの中に、ビーコン信号情報が含まれているか否かを判定する。CPU201は、ビーコン信号情報が含まれていると判定した場合、S1102に進み、ビーコン信号情報が含まれていないと判定した場合、S1107に進む。S1102において、CPU201は、撮影場所情報に対応する画像が登録画像として登録されているか否かを判定する。より具体的に説明すると、CPU201は、携帯端末100から送信されてきたデータの中の撮影画像からAKAZE特徴量を抽出し、抽出した撮影画像の特徴量が、事前に撮影されインデックス化して登録された登録済み特徴量として存在するか、検索する。CPU201は、撮影場所情報に対応する画像が登録画像として登録されていると判定した場合、S1103に進み、撮影場所情報に対応する画像が登録画像として登録されていないと判定した場合、S1107に進む。なお、検索する際には抽出した撮影画像の特徴量と登録済み特徴量とが一致している必要はなく、所定の類似範囲に入っていればよい。
S1103において、CPU201は、S1102の検索の結果、見つけた特徴量と、携帯端末100から送信されてきたデータの中の撮影画像から抽出した特徴量と、を照合する。S1104において、CPU201は、照合の結果に基づき、特徴量同士の一致率を求める。S1105において、CPU201は、一致率が閾値未満か否かを判定する。CPU201は、一致率が閾値未満であると判定した場合、S1106に進み、一致率が閾値以上であると判定した場合、S1107に進む。S1106において、CPU201は、登録画像の更新のタイミングを検知したことを返す。S1107において、CPU201は、登録画像の更新のタイミングを検知していないことを返す。特徴量同士の一致率は、画像の類似度の一例である。
図10の説明に戻る。S1002において、CPU201は、登録画像の更新のタイミングを検知したか否かを判定する。CPU201は、更新タイミング検知処理の結果、登録画像の更新のタイミングを検知したことが返ってきた場合、登録画像の更新のタイミングを検知したと判定し、登録画像の更新のタイミングを検知していないことが返ってきた場合、登録画像の更新のタイミングを検知していないと判定する。CPU201は、登録画像の更新のタイミングを検知したと判定した場合、S1003に進み、登録画像の更新のタイミングを検知していないと判定した場合、S1001に戻る。S1003において、CPU201は、撮影場所情報と共に、撮影場所情報に対応して登録されている画像を撮り直す旨を出力する。例えば、CPU201は、撮影場所情報と共に、撮影場所情報に対応して登録されている画像を撮り直す旨の情報を表示部203に表示する。S1003の処理は、登録画像の更新のタイミングを出力する処理の一例である。
以上、実施形態2の情報処理システムによれば、登録画像の更新のタイミングを出力することができる。
実施形態2の変形例1を説明する。携帯端末100は、ビーコン端末が発信するビーコン信号から撮影場所情報を取得せず、撮影場所に設定された所定の端末が送信するUWB(Ultra Wide Band)から撮影場所情報を取得してもよい。また、携帯端末100は、屋内であっても、GPS(Global Positioning System)等からの衛星信号が取得できる場合、GPS等から撮影場所を特定し、特定した撮影場所を示す撮影場所情報を取得してもよい。すなわち、ビーコン信号情報等は、撮影場所情報を取得する例であり、携帯端末100は、撮影場所情報を取得できればどのような手段でもよい。以下の実施形態3でも同様である。
実施形態2の変形例2を説明する。S1104において、CPU201は、特徴量同士の一致率を求めたが、撮影画像と、撮影場所情報に対応する登録画像との画像同士を比較してもよい。そして、S1105において、CPU201は、画像同士の比較の結果に基づき、画像同士の類似度が閾値未満か否かを判定してもよい。すなわち、CPU201が、特徴量の一致率を求め、一致率が閾値未満か否かを判定する処理や、画像同士の類似度を求め、類似度が閾値未満か否かを判定する処理等は、例えば、経年変化により撮影場所のポスターが剥がれたりポスターが色あせたりして、撮影場所の風景等が変化していないかを判定する処理の例である。CPU201が、撮影場所の風景等が変化したことを検知、又は判定することができればどのような処理であってもよい。以下の実施形態3でも同様である。
実施形態2の変形例3を説明する。変形例3は、撮影場所の風景等が変化したことを検知、又は判定する処理の例である。画像の一致率が閾値未満であった場合、CPU201は、撮影場所情報と、画像の一致率が閾値未満であった旨の情報と、を関連付けて記憶部202に記憶してもよい。ユーザが通るルート及び撮影場所が決まっている場合、CPU201は、一致率が閾値未満とはならないであろう撮影場所情報を特定できる。CPU201は、特定した撮影場所情報に基づき、記憶部202を検索し、撮影場所情報に対応して、画像の一致率が閾値未満であった旨の情報が記憶されていた場合、撮影場所の風景等が変化したことを検知したとして、登録する画像を撮り直す旨を出力するようにしてもよい。同様に、画像の一致率が閾値以上であった場合、CPU201は、撮影場所情報と、画像の一致率が閾値以上であった旨の情報と、を関連付けて記憶部202に記憶してもよい。ユーザが通るルート及び撮影場所が決まっている場合、CPU201は、一致率が閾値未満とはならないであろう撮影場所情報を特定できる。CPU201は、特定した撮影場所情報に基づき、記憶部202を検索し、撮影場所情報に対応して、画像の一致率が閾値以上であった旨の情報が記憶されていない場合、撮影場所の風景等が変化したことを検知したとして、登録する画像を撮り直す旨を出力するようにしてもよい。
実施形態2の変形例4を説明する。変形例4は、撮影場所の風景が変更したことを検知、又は判定する処理の例である。画像の一致率が閾値未満であった場合、CPU201は、撮影場所情報と、画像の一致率が閾値未満であった旨の情報と、を関連付けて記憶部202に記憶してもよい。ユーザが通るルート及び撮影場所が決まっている場合、CPU201は、ユーザが通るルートにおける複数の撮影場所情報のうち、記憶部202に画像の一致率が閾値未満であった旨の情報と関連付けて記憶されている撮影場所情報の数をカウントする。そして、CPU201は、カウントした数を、ユーザが通るルートの複数の撮影場所情報の数で除した値を求め、求めた値が閾値以上となったか否かを判定する。CPU201は、求めた値が閾値以上となったと判定した場合、撮影場所の風景等が変化したことを検知したとして、登録する画像を撮り直す旨を出力するようにしてもよい。同様に、画像の一致率が閾値以上であった場合、CPU201は、撮影場所情報と、画像の一致率が閾値以上であった旨の情報と、を関連付けて記憶部202に記憶してもよい。ユーザが通るルート及び撮影場所が決まっている場合、CPU201は、ユーザが通るルートにおける複数の撮影場所情報のうち、記憶部202に画像の一致率が閾値以上であった旨の情報と関連付けて記憶されている撮影場所情報の数をカウントする。そして、CPU201は、カウントした数を、ユーザが通るルートの複数の撮影場所情報の数で除した値を求め、求めた値が閾値未満となったか否かを判定する。CPU201は、求めた値が閾値未満となったと判定した場合、撮影場所の風景等が変化したことを検知したとして、登録する画像を撮り直す旨を出力するようにしてもよい。
実施形態2の変形例5を説明する。S1003において、CPU201は、撮影場所情報と共に、撮影場所情報に対応して登録されている画像を撮り直す旨を、所定の管理者端末、又は携帯端末100に送信するようにしてもよい。撮影場所情報と共に、撮影場所情報に対応して登録されている画像を撮り直す旨を受信した、管理者端末、又は携帯端末100は、自装置の表示部に撮影場所情報と共に、撮影場所情報に対応して登録されている画像を撮り直す旨を表示する。すなわち、表示部203と、所定の管理者端末の表示部と、携帯端末100の表示部とは、撮影場所情報と撮影場所情報に対応して登録されている画像を撮り直す旨とを出力する手段の例であり、撮影場所情報と撮影場所情報に対応して登録されている画像を撮り直す旨とを出力できる手段を備えていればどのようなものでもよい。
<実施形態3>
実施形態3では、実施形態1及び実施形態2と異なる点について主に説明する。図12及び図13は、登録画像更新処理の一例を示すフローチャートである。ここで、携帯端末100は、撮影画像をサーバ120に送信する際に、ビーコン端末からビーコン信号を受信していた場合、ビーコン信号の情報も共にサーバ120に送信する。また、携帯端末100は、ビーコン信号を受信していない場合、撮影画像のみをサーバ120に送信する。S1201において、CPU201は、携帯端末100から送信されてきたデータの中に、ビーコン信号情報が含まれているか否かを判定する。CPU201は、ビーコン信号情報が含まれていると判定した場合、S1202に進み、ビーコン信号情報が含まれていないと判定した場合、S1301に進む。S1202からS1205までの処理は、実施形態2の図11のS1102からS1105までの処理と同様であるため、説明を省略する。S1205において、CPU201は、一致率が閾値未満か否かを判定する。CPU201は、一致率が閾値以上であると判定した場合、S1206に進み、一致率が閾値未満であると判定した場合、S1201に戻る。S1206において、CPU201は、撮影画像を撮影場所情報に対応する登録画像として追加する。S1206の処理が終了すると、CPU201は、S1201に戻る。
図13を説明する。S1301からS1303までの処理は、実施形態1の図6のS602からS604までの処理と同様であるため、説明を省略する。S1304において、CPU201は、S1303で求めた確率を補正する。CPU201は、S1303で求めた各撮影場所にいる確率を、前回、ユーザがいると推定した場所に基づき、補正する。より具体的に説明すると、CPU201は、ユーザがいると推定した場所であっても、屋内の地図情報等に基づき、前回、ユーザがいると推定した場所から物理的に移動が不可能な場合、ユーザがいる確率を低く補正する。また、CPU201は、S1303で求めた各撮影場所にいる確率を、前回、ユーザがいる場所を推定してからの経過時間に基づき、補正する。より具体的に説明すると、CPU201は、ユーザがいると推定した場所であっても、前回、ユーザがいる場所を推定してからの経過時間に基づき、前回、ユーザがいると推定した場所から物理的に移動が不可能な場合、ユーザがいる確率を低く補正する。CPU201は、S1303で求めた各撮影場所にいる確率を、前回、ユーザがいると推定した場所と、前回、ユーザがいる場所を推定してからの経過時間と、に基づき、実施形態2と同様に補正してもよい。
S1305において、CPU201は、補正した結果、複数の撮影場所のうち、ユーザがいる確率が一番高い撮影場所の確率が閾値以上か否かを判定する。CPU201は、複数の撮影場所のうち、ユーザがいる確率が一番高い撮影場所のユーザがいる確率が閾値以上の場合は、S1306に進み、ユーザがいる確率が一番高い撮影場所のユーザがいる確率が閾値未満の場合は、S1201に戻る。S1306において、CPU201は、撮影画像を、ユーザがいる確率が一番高い撮影場所の登録画像として追加する。
図14及び図16は、登録画像更新処理の他の例を示すフローチャートである。S1401からS1405までの処理は、図12のS1201からS1205までの処理と同様であるため、説明を省略する。S1405において、CPU201は、一致率が閾値未満か否かを判定する。CPU201は、一致率が閾値以上であると判定した場合、S1406に進み、一致率が閾値未満であると判定した場合、S1401に戻る。S1406において、CPU201は、ユーザによって撮影された撮影画像を、撮影場所情報で示される撮影場所に対応させて表示すると共に、この撮影画像を撮影場所情報で示される撮影場所の登録画像として追加するか否かをユーザに確認させる確認画面1501を表示部203に表示する。図15は、確認画面1501を表示する一例を示す図である。図15の例では、屋内の撮影場所情報で示される撮影場所として撮影場所(1)で撮影された撮影画像が確認画面1501に表示されている。また、確認画面1501には、この撮影画像を登録画像として追加する場合に、ユーザが選択するYESボタン1502と、この撮影画像を登録画像として追加しない場合に、ユーザが選択するNOボタン1503と、が表示されている。S1407において、CPU201は、撮影画像を撮影場所情報で示される撮影場所の登録画像として追加すると判定すると、S1408に進み、撮影画像を撮影場所情報で示される撮影場所の登録画像として追加しないと判定すると、S1401に戻る。CPU201は、確認画面1501において、YESボタン1502が選択されると、撮影画像を撮影場所情報で示される撮影場所の登録画像として追加すると判定する。CPU201は、確認画面1501において、NOボタン1503が選択されると、撮影画像を撮影場所情報で示される撮影場所の登録画像として追加しないと判定する。S1408において、CPU201は、撮影画像を撮影場所情報で示される撮影場所の登録画像として追加する。
図16を説明する。S1601からS1605までの処理は、S1301からS1305までの処理と同様であるため、説明を省略する。S1605において、CPU201は、補正した結果、複数の撮影場所のうち、ユーザがいる確率が一番高い撮影場所の確率が閾値以上か否かを判定する。CPU201は、複数の撮影場所のうち、ユーザがいる確率が一番高い撮影場所のユーザがいる確率が閾値以上の場合は、S1606に進み、ユーザがいる確率が一番高い撮影場所のユーザがいる確率が閾値未満の場合は、S1401に戻る。S1606において、CPU201は、ユーザによって撮影された撮影画像を、ユーザがいる確率が一番高い撮影場所に対応させて表示すると共に、この撮影画像をユーザがいる確率が一番高い撮影場所の登録画像として追加するか否かをユーザに確認させる確認画面1501を表示部203に表示する。S1607において、CPU201は、撮影画像をユーザがいる確率が一番高い撮影場所の登録画像として追加すると判定すると、S1608に進み、撮影画像をユーザがいる確率が一番高い撮影場所の登録画像として追加ないと判定すると、S1401に戻る。CPU201は、確認画面1501において、YESボタン1502が選択されると、撮影画像をユーザがいる確率が一番高い撮影場所の登録画像として追加すると判定する。CPU201は、確認画面1501において、NOボタン1503が選択されると、撮影画像をユーザがいる確率が一番高い撮影場所の登録画像として追加しないと判定する。S1608において、CPU201は、撮影画像を、ユーザがいる確率が一番高い撮影場所の登録画像として追加する。
以上、実施形態3の情報処理システムによれば、ユーザが移動中に撮影した撮影画像で登録画像を更新することができる。
実施形態3の変形例1を説明する。S1304において、CPU201は、S1303で求めた各撮影場所にいる確率を、ユーザがいると推定した複数の場所の順序性に基づき、補正するようにしてもよい。図8を用いてより具体的に説明すると、CPU201は、t0の時刻でユーザが撮影場所Aにいると判定し、t0から時間が進んだ次のt1の時刻でユーザが撮影場所Gにいると判定し、t1から時間が進んだ次のt2の時刻でユーザが撮影場所Cにいると判定した場合、屋内の地図情報に基づき、t1のときにいたのは撮影場所Bであると修正し、撮影場所Gの登録画像として追加した撮影画像を削除し、撮影場所Bの登録画像として撮影画像を追加する。
実施形態3の変形例2を説明する。S1304において、CPU201は、S1303で求めた各撮影場所にいる確率を、撮影場所情報から判断できる撮影場所からの移動距離に基づき、補正するようにしてもよい。より具体的には、CPU201は、ビーコン端末が発信するビーコン信号等から取得した撮影場所情報から判断できる撮影場所からPDR(Pedestrian Dead Reckoning)技術を用いて、撮影場所からの移動距離を取得するようにしてもよい。そして、CPU201は、S1303で求めた各撮影場所にいる確率を、撮影場所情報から判断できる撮影場所からの移動距離に基づき、補正する。
実施形態3の変形例3を説明する。S1406において、CPU201は、確認画面1501を表示部203に表示したが、これに限られない。CPU201は、確認画面1501を所定の管理者端末に送信、又は携帯端末100に送信してもよい。確認画面1501を受信した、所定の管理者端末、又は携帯端末100は、確認画面1501を各々の端末に表示し、ユーザによってYESボタン1502が選択されたか、NOボタン1503が選択されたかの情報をサーバ120に送信する。CPU201は、所定の管理者端末、又は携帯端末100から受信した情報に基づき、撮影画像を撮影場所情報で示される撮影場所の登録画像として追加するか否かを判定するようにしてもよい。また、問い合わせの手段は、確認画面1501に限られない。サーバ120が音声出力部を有していれば、CPU201は、音声出力部を介して、音声によって、撮影画像を該当する撮影場所の登録画像として追加するか否か、問い合わせてもよい。すなわち、問い合わせは、ユーザがいると推定された場所の登録画像として、撮影画像を追加するかを問い合わせできればどのようなものであってもよい。同様に、YES、NOの選択も、ボタンに限られない。サーバ120が音声入力部を有していれば、CPU201は、音声入力部を介して入力された選択に係る音声に基づいて、YESなのか、NOなのかを判定するようにしてもよい。すなわち、YES、NOの選択は、ユーザがいると推定された場所の登録画像として、撮影画像を追加するか否か、どちらが選択されたか判別できるものであればどのようなものであってもよい。S1606の確認画面表示においても同様である。
<その他の実施形態>
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給する。そして、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサーがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
以上、本発明の実施形態の一例について詳述したが、本発明は係る特定の実施形態に限定されるものではない。例えば、任意の実施形態及び変形例を任意に組み合わせて実施してもよい。