(第一の実施形態)
以下に図面を参照して、第一の実施形態について説明する。図1は、第一の実施形態の情報処理システムのシステム構成の一例を示す図である。
本実施形態の情報処理システム100は、情報処理装置200と、端末装置400とを含む。情報処理システム100において、情報処理装置200と端末装置400とは、ネットワークを介して接続される。
また、本実施形態の情報処理システム100において、情報処理装置200は、インターネット上に存在するサーバ装置500と通信を行い、サーバ装置500からサービスの提供を受ける。
サーバ装置500が提供するサービスとは、例えば、入力された住所情報を緯度・経度に変換するサービスや、入力された緯度・経度と対応する地点から撮像した道路沿いの風景の全天球画像データを提供するサービス等である。
本実施形態の情報処理装置200は、パラメータ記憶部230、画像ファイル記憶部240、画像処理部250、出力部260を有する。
パラメータ記憶部230は、全天球画像データから抽出する平面画像データの範囲を示すパラメータが格納されている。このパラメータは、予め設定される。
画像ファイル記憶部240は、入力された住所情報と、画像処理部250の処理によって取得された画像データとを含む画像ファイルが格納される。
画像処理部250は、入力された住所情報と、パラメータ記憶部230に格納されたパラメータとをサーバ装置500に送信する。住所情報は、例えば、端末装置400等から入力されても良い。
次に、画像処理部250は、サーバ装置500から、住所情報が示す緯度・経度と対応する地点で撮像された全天球画像データから、パラメータに応じて切り出された複数の平面画像データを取得する。住所情報が示す緯度・経度と対応する地点とは、例えば、住所情報が示す緯度・経度から最も近い道路上の点である。
また、本実施形態の画像処理部250は、住所情報が示す緯度・経度と対応する地点の近傍であって、この地点とは異なる他の地点を特定する。次に、画像処理部250は、サーバ装置500から、特定された他の地点と対応する全天球画像データからパラメータに応じて切り出された複数の平面画像データを取得する。そして、画像処理部250は、住所情報と、各地点毎に取得した複数の平面画像データと、を対応付けた画像ファイルを作成し、画像ファイル記憶部240へ格納する。
つまり、本実施形態の画像処理部250は、入力された住所情報から特定される複数の地点において撮像された全天球画像データから、パラメータに応じて切り出された複数の平面画像データを取得する。
出力部260は、画像ファイル記憶部240に格納された画像ファイルを、端末装置400等に出力する。
このように、本実施形態では、住所情報と、住所情報が示す緯度・経度と対応する地点を含む複数の地点毎に取得した複数の平面画像データと、を対応付けた画像ファイルを出力することで、住所情報に基づく複数の地点で撮像された画像を提供できる。
尚、図1の例では、情報処理装置200は、パラメータ記憶部230と画像ファイル記憶部240とを有するものとしたが、これに限定されない。パラメータ記憶部230、画像ファイル記憶部240は、一部又は全部が情報処理装置200以外の装置に設けられていても良い。
以下に、本実施形態の情報処理装置200について、さらに説明する。図2は、第一の実施形態の情報処理装置のハードウェア構成の一例を示す図である。
本実施形態の情報処理装置200は、コンピュータによって構築されており、図2に示されているように、CPU201、ROM202、RAM203、HD204、HDD(Hard Disk Drive)コントローラ205、ディスプレイ206、外部機器接続I/F(Interface)208、ネットワークI/F209、データバス210、キーボード211、ポインティングデバイス212、DVD-RW(Digital Versatile Disk Rewritable)ドライブ214、メディアI/F216を備えている。
これらのうち、CPU201は、情報処理装置200全体の動作を制御する。ROM202は、IPL等のCPU201の駆動に用いられるプログラムを記憶する。RAM203は、CPU201のワークエリアとして使用される。HD204は、プログラム等の各種データを記憶する。HDDコントローラ205は、CPU201の制御にしたがってHD204に対する各種データの読み出し又は書き込みを制御する。ディスプレイ206は、カーソル、メニュー、ウィンドウ、文字、又は画像などの各種情報を表示する。
外部機器接続I/F208は、各種の外部機器を接続するためのインターフェースである。この場合の外部機器は、例えば、USB(Universal Serial Bus)メモリやプリンタ等である。ネットワークI/F209は、通信ネットワークを利用してデータ通信をするためのインターフェースである。データバス210は、図2に示されているCPU201等の各構成要素を電気的に接続するためのアドレスバスやデータバス等である。
また、キーボード211は、文字、数値、各種指示などの入力のための複数のキーを備えた入力手段の一種である。ポインティングデバイス212は、各種指示の選択や実行、処理対象の選択、カーソルの移動などを行う入力手段の一種である。DVD-RWドライブ214は、着脱可能な記録媒体の一例としてのDVD-RW213に対する各種データの読み出し又は書き込みを制御する。尚、DVD-RWに限らず、DVD-R等であってもよい。メディアI/F216は、フラッシュメモリ等の記録メディア215に対するデータの読み出し又は書き込み(記憶)を制御する。
次に、図3及び図4を参照して、本実施形態の情報処理装置200の有するパラメータ記憶部230、画像ファイル記憶部240について説明する。尚、これらの各記憶部は、HD204やROM503等の記憶装置によって実現される。
図3は、パラメータ記憶部の一例を示す図である。本実施形態のパラメータ記憶部230は、全天球画像データから、複数の平面画像データを取得する際に参照される。具体的には、本実施形態では、全天球画像データから、8つの方位毎に切り出された平面画像データを取得する。
本実施形態のパラメータ記憶部230に格納されたパラメータには、size、location、heading、pitch、fov、source、keyを含む。
sizeは、全天球画像データから取得される平面画像データのサイズを示す。本実施形態では、平面画像データのsizeは、640ピクセル×640ピクセルとする。
locationは、全天球画像データが撮像された地点の緯度・経度を示す。
headingは、方位を示す。headingの値が0の場合は北、90の場合は東、180の場合は南、270の場合は西を示す。
pitchは、水平を基準とした上下方向の角度を示す。以下の説明では、上向きの角度を仰角、下向きの角度を俯角又は伏角と呼ぶ場合がある。本実施形態では、pitchの値は上向きの15.0度である。
fov(field of view)は、画角を示す。本実施形態では、fovは、45.0である。
sourceは、撮像される対象を示す。本実施形態では、屋内の画像を除外するために、outdoor(屋外)とした。
keyは、サーバ装置500が提供するサービスを利用するためのAPI(Application Programming Interface)キーを示す。
本実施形態では、こられのパラメータを参照して、全天球画像データから8方位の平面画像データを取得する。
次に、図4を参照して、画像ファイル記憶部240について説明する。図4は、画像ファイル記憶部の一例を示す図である。
本実施形態の画像ファイル記憶部240に格納される画像ファイルリストは、情報の項目として、image_name、jpn_address、formatted_address、latitude、longitudeを有し、各項目は対応付けられている。以下の説明では、上述した各項目の値を含む情報を画像ファイルと呼ぶ。
項目「image_name」の値は、平面画像データの画像ファイル名を示す。項目「jpn_address」の値は、住所情報に含まれる住所を示す。項目「formatted_address」の値は、英語のフォーマットに変換した住所を示す。項目「latitude」の値と、項目「longitude」の値は、住所を緯度経度に変換した際の緯度と経度を示す。
画像ファイル記憶部240に格納される画像ファイルリストは、画像処理部250による処理によって作成される。
図4に示す画像ファイルリストでは、「愛知県A市NN町13-1」という住所に対して、異なる緯度・経度が対応付けられており、各緯度・経度毎に8つの平面画像データが対応付けられている。
次に、図5を参照して、本実施形態の情報処理装置200の機能について説明する。図5は、第一の実施形態の情報処理装置の機能を説明する図である。
本実施形態の情報処理装置200は、画像処理部250を有する。画像処理部250は、住所情報取得部251、緯度経度変換部252、画像取得部253、パラメータ設定部254、格納部255、位置特定部256を有する。
住所情報取得部251は、端末装置400等から入力された住所情報を取得する。緯度経度変換部252は、住所情報を、住所情報と対応する緯度・経度に変換する。具体的には、緯度経度変換部252は、サーバ装置500に対して住所情報を送信し、対応する緯度・経度を取得しても良い。
画像取得部253は、緯度経度変換部252によって変換された緯度・経度をサーバ装置500へ送信し、サーバ装置500から、この緯度・経度に基づく全天球画像データから、パラメータに基づいて切り出された画像データを取得する。具体的には、画像取得部253は、パラメータ設定部254によって設定されたパラメータを、サーバ装置500へ送信し、緯度・経度に基づく全天球画像データから、パラメータに基づいて切り出された画像データを、サーバ装置500から取得する。
尚、パラメータに基づいて全天球画像データから切り出された画像データは、全天球画像の歪みをなくした平面画像を示す平面画像データとなる。つまり、本実施形態のパラメータは、全天球画像データから切り出された画像データが、歪みのない平面画像データとなる範囲に設定されている。
また、画像取得部253は、サーバ装置500から、位置特定部256によって特定された地点と対応する全天球画像データから、パラメータに基づいて切り出された画像データを取得する。
したがって、画像取得部253は、住所情報に基づき、住所情報が示す緯度・経度と対応する地点で撮像された歪みのない平面画像データと、住所情報が示す緯度・経度と対応する地点の近傍で撮像された歪みのない平面画像データとを取得できる。
パラメータ設定部254は、パラメータ記憶部230に格納されたパラメータを読み出して画像取得部253に設定する。
格納部255は、画像取得部253が取得した平面画像データと、住所情報が示す住所と、緯度・経度とを対応付けた画像ファイルを生成し、画像ファイル記憶部240へ格納する。
位置特定部256は、住所情報が示す緯度・経度と対応する地点を特定する。また、位置特定部256は、住所情報が示す緯度・経度と対応する地点の近傍の他の地点を特定する。
次に、図6乃至図8を参照して、本実施形態の画像処理部250の処理について説明する。図6は、第一の実施形態の情報処理装置の処理を説明する第一のフローチャートである。
本実施形態の情報処理装置200において、画像処理部250は、平面画像データを格納するためのファイルを作成する(ステップS601)。
続いて、画像処理部250は、住所情報取得部251により、入力された住所情報を取得する(ステップS602)。
続いて、画像処理部250は、緯度経度変換部252により、取得した住所情報が示す場所を緯度・経度に変換する(ステップS603)。具体的には、緯度経度変換部252は、サーバ装置500が提供するAPIを起動させて住所情報を送信し、住所情報と対応する緯度・経度を取得する。
続いて、画像処理部250は、画像取得部253により、緯度・経度に基づき、複数の地点から撮像された全天球画像データから切り出された平面画像データを取得する(ステップS604)。ステップS604の処理の詳細は後述する。
続いて、出力部260は、取得した平面画像データを出力し(ステップS605)、処理を終了する。言い換えれば、出力部260は、取得した平面画像データを含む画像ファイルを出力する。
以下に、図7を参照して、図6のステップS604の処理について説明する。図7は、第一の実施形態の情報処理装置の処理を説明する第二のフローチャートである。
本実施形態の画像処理部250は、位置特定部256により、住所情報が示す緯度・経度の地点から、最も近い道路上の緯度・経度を取得する(ステップS701)。
言い換えれば、位置特定部256は、緯度経度変換部252によって住所情報から変換された緯度・経度が示す地点から、最も近い道路上の地点の緯度・経度を取得する。以下の説明では、住所情報から変換された緯度・経度を緯度・経度1と呼び、緯度・経度1が示す地点から、最も近い道路上の地点の緯度・経度を緯度・経度2と呼ぶ。
具体的には、位置特定部256は、サーバ装置500が提供する地図情報提供サービス等によって、緯度・経度1と最も近い道路上の緯度・経度2を取得しても良い。
続いて、画像処理部250は、位置特定部256により、緯度・経度1が示す地点から、緯度・経度2が示す地点までの方位を求める(ステップS702)。ここで求められる方位を、方位Aと呼ぶ。
続いて、位置特定部256は、方位Aと垂直に交わる2つの方位を取得し、緯度・経度2が示す地点を含む道路の方向を推定する(ステップS703)。ここで取得される、方位Aと垂直に交わる2つの方位を、方位B、方位Cと呼ぶ。
続いて、位置特定部256は、緯度・経度2が示す地点を含む近傍において、1Km当たりの緯度・経度の変化を算出する(ステップS704)。続いて、位置特定部256は、緯度・経度2が示す地点から、8方向に各10m移動した8つの地点の緯度経度を算出する(ステップS705)。
続いて、位置特定部256は、8つの地点のうち、方位B、方位Cのそれぞれと最も近い2つの地点を特定し、この2つの地点について、各地点から最も近い道路上の地点の緯度・経度を取得する(ステップS706)。ステップS706で取得される2つの地点の緯度・経度を、緯度・経度3、緯度・経度4と呼ぶ。
具体的には、位置特定部256は、方位B、方位Cのそれぞれと最も近い2つの地点を示す緯度・経度をサーバ装置500に通知し、サーバ装置500が提供する地図情報提供サービス等によって、緯度・経度3と緯度・経度4を取得しても良い。
続いて、画像処理部250は、緯度・経度2、緯度・経度3、緯度・経度4のそれぞれについて、画像取得部253による平面画像データを取得する処理を実行し(ステップS707)、図6のステップS605へ進む。
以下に、図8を参照して、図7のステップS707の処理の詳細について説明する。図8は、第一の実施形態の情報処理装置の処理を説明する第三のフローチャートである。
本実施形態の画像処理部250は、パラメータ設定部254により、パラメータ記憶部230を参照し、パラメータを設定する(ステップS801)。
具体的には、パラメータ設定部254は、sizeを640ピクセル×640ピクセル、locationを緯度・経度2、headingを0、pitchを上向きの15.0度、fovを45度、sourceをoutdoor、keyを、サーバ装置500が提供するサービスを利用するためのAPIに設定する。
続いて、画像処理部250は、画像取得部253により、設定されたパラメータに基づき、全天球画像データから切り出された平面画像データを取得する(ステップS802)。
具体的には、画像取得部253は、全天球画像データから、北方向を中心とした、画角45度、仰角15度の範囲で切り出された平面画像データを取得する。
続いて、画像処理部250は、格納部255により、取得した平面画像データに、画像ファイル名と、住所と、英語のフォーマットに変換した住所と、パラメータに設定された緯度・経度とを対応付けた画像ファイルを生成して画像ファイル記憶部240に格納する(ステップ803)。
続いて、画像取得部253は、位置特定部256によって特定された全ての地点について、8方位の平面画像データを取得したか否かを判定する(ステップS804)。ステップS804において、全ての地点について、8方位の平面画像データを取得していない場合、パラメータ設定部254は、パラメータを変更し(ステップS805)、ステップS802へ戻る。
具体的には、パラメータ設定部254は、パラメータのうち、headingの値に45度を追加し、ステップS802に戻る。また、1つの地点について8方位に平面画像データを取得した場合には、パラメータのうち、locationの値を緯度・経度3に変更する。
ステップS804において、各地点について、8方位の平面画像データが生成された場合、画像処理部250は、図6のステップS605へ進む。
本実施形態では、画像処理部250の処理により、住所情報が示す緯度・経度と対応する地点と、この地点の近傍の地点と、のそれぞれを中心とした8方位の平面画像データを取得することができる。
したがって、本実施形態では、緯度・経度2、緯度・経度3、緯度・経度4のそれぞれと対応する全天球画像データから、8つの平面画像を示す平面画像データ群が取得される。
以下に、図9を参照して、位置特定部256の処理について、具体的に説明する。
図9は、位置特定部の処理を説明する図である。
図9の例では、住所情報から変換される緯度・経度1を地点P1とし、緯度・経度1から最も近い道路上の地点を示す緯度・経度2を地点P2とする。
位置特定部256は、点P1と点P2を結ぶ方位Aと垂直に交わる2つの方位B、Cを特定する。このとき、位置特定部256は、方位Bから方位Cに向かう道路が存在するものと推定する。
次に、位置特定部256は、まず、地点P2を4方向に10mずつ移動させた地点を特定する。具体的には、地点P2を東方向に10m移動させた地点P11、地点P2を北に10m移動させた地点P12、地点P2を西に10m移動させた地点P13、地点P2を南に10m移動させた地点P14を特定する。
尚、本実施形態では、地点P2を10m移動させた地点を特定するものとしたが、移動させる距離は、10mに限定されない。地点P2から移動させる距離は、例えば、サーバ装置500によって提供される全天球画像データの撮像地点の間隔に応じて決定されて良い。本実施形態では、サーバ装置500によって提供される全天球画像データの撮像地点が、約10m程度であるものとする。
続いて、位置特定部256は、地点P11を北へ10m移動させた地点P15と、地点P11を南に10m移動させた地点P16と、地点P13を北へ10m移動させた地点P17と、地点P13を南に10m移動させた地点P18と、を特定する。
このように、本実施形態では、地点P2を中心とした8方位において、地点P2から所定の距離を移動させた地点を特定する。言い換えれば、位置特定部256は、地点P2を中心とした所定の領域を特定している。
続いて、位置特定部256は、地点P11から地点P18において、方位Bと方位Cに最も近い地点を特定する。つまり、本実施形態では、地点P11から地点P18において、方位Bから方位Cへ向かう道路と最も近い地点を特定している。
図9の例では、地点P15の方位が方位Bと最も近く、地点P18の方位が方位Cと最も近い。したがって、地点P15と地点P18は、方位Bから方位Cへ向かう道路と最も近い地点と推定される。
次に、位置特定部256は、地点P15、地点P18のそれぞれから最も近い道路上の地点を特定する。具体的には、位置特定部256は、地点P15と地点P18の緯度・経度を、地点P2の緯度・経度に基づき算出する。そして、位置特定部256は、地点P15の緯度・経度と、地点P18の緯度・経度とを、サーバ装置500へ通知する。
サーバ装置500は、サーバ装置500が提供する地図情報提供サービス等によって、地点P15と最も近い道路上の地点P3の緯度・経度(緯度・経度3)と、地点P16と最も近い道路上の地点P4の緯度・経度(緯度・経度4)とを取得し、位置特定部256へ返す。
そして、本実施形態の情報処理装置200において、画像処理部250は、地点P2の緯度・経度と、地点P3の緯度・経度と、地点P4の緯度・経度と、それぞれについて、図8の処理を実行すれば良い。
その結果、画像処理部250は、住所情報と対応する地点P2を中心した8方位の平面画像データに加え、地点P3を中心とした8方位の平面画像データと、地点P4を中心とした8方位の平面画像データと、を取得することができる。
したがって、本実施形態では、住所情報が示す緯度・経度と対応する地点P2において撮像された画像データと共に、地点P2から、人が数歩程度で移動できる距離だけ離れた地点P3、地点P4から撮像された画像データを提供することができる。
尚、図9の例では、地点P2を中心とする所定の領域が正方形の中心となるように、8方位の地点P11~P18を特定したが、これに限定されない。本実施形態では、所定の領域を、地点P2を中心しと、8方位へ所定の距離移動した8つの地点によって特定できれば良い。したがって、地点P2から地点P11~P18までの距離が全て等しくても良い。この場合、所定の領域は、地点P2を中心とした円形となる。
図10は、画像の撮像地点を説明する図である。図10では、例えば、入力された住所情報から変換された緯度・経度1が示す地点が、地点P51であったとする。
画像処理部250は、地点P51から最も近い道路上の地点P52を示す緯度・経度2を取得すると、位置特定部256により、地点P51から地点P52へ向かう方位Aと垂直に交わる方位Bと方位Cを特定する。
図10の例では、方位Bは南東であり、方位Cは北西である。したがって、位置特定部256は、地点P52を中心とする8方位について、地点P52を所定の距離移動させた8つの地点の中から、方位Bと最も近い方位の地点P53と、方位Cと最も近い方位の地点P54とが特定される。
そして、位置特定部256は、地点P53と最も近い道路上の地点P55の緯度・経度と、地点P54と最も近い道路上の地点P56の緯度・経度を取得し、画像取得部253に渡す。
画像取得部253は、地点P55と地点P56のそれぞれにおいて撮像された全天球画像データから、パラメータ設定部254によって設定されたパラメータが示す範囲に切り出された8方位の平面画像データを取得する。
そして、画像処理部250は、格納部255により、住所情報と、地点P52、地点P55と、地点P56のそれぞれの緯度・経度と、各地点に基づき全天球画像データから取得された8方位の画像データと、を対応付けて画像ファイル記憶部240へ格納する。
図11は、出力される平面画像データの一例を示す図である。
図11では、3つの地点について、8方位の平面画像データが取得されていることがわかる。
例えば、平面画像データ群152は、住所情報と対応する緯度・経度が示す地点P52で撮像された全天球画像データから取得された8方位の平面画像データである。
また、平面画像データ群155は、人が、地点P52から、北西に向かって数歩歩いた程度の距離を移動した地点P55で撮像された全天球画像データから取得された8方位の平面画像データである。また、平面画像データ群156は、人が、地点P52から、南東に向かって数歩歩いた程度の距離を移動した地点P56で撮像された全天球画像データから取得された8方位の平面画像データである。
本実施形態では、平面画像データ群152、155、156が、例えば、端末装置400のディスプレイや情報処理装置200のディスプレイ等において、同一画面に表示されても良い。
このように、本実施形態では、入力された住所情報に基づく複数の地点から撮像された画像データを同時に取得し、出力することができる。したがって、本実施形態では、例えば、住所情報が示す緯度・経度と対応する地点の近辺で撮像された他の全天球画像を参照する場合等に、新たに別の住所情報等を入力する必要がない。
(第二の実施形態)
以下に図面を参照して、第二の実施形態について説明する。第二の実施形態では、画像処理部によって取得された平面画像データ群から、検索対象物の画像を検索する点が、第一の実施形態と相違する。よって、以下の第二の実施形態の説明では、第一の実施形態との相違点について説明し、第一の実施形態と同様の機能構成を有するものには、第一の実施形態の説明で用いた符号と同様の符号を付与し、その説明を省略する。
図12は、第二の実施形態の情報処理システムのシステム構成の一例を示す図である。
本実施形態の情報処理システム100Aは、情報処理装置200Aと、学習装置300とを含む。情報処理システム100Aにおいて、情報処理装置200Aと学習装置300とは、ネットワークを介して接続される。
本実施形態の情報処理装置200Aは、住所情報記憶部220、パラメータ記憶部230、画像ファイル記憶部240、画像処理部250A、検索要求部270を有する。
本実施形態の情報処理装置200Aにおいて、画像処理部250Aは、住所情報記憶部220に格納された住所情報をサーバ装置500に送信する。そして、画像処理部250Aは、住所情報と対応する位置から撮像した全天球画像データから、パラメータ記憶部230に格納されたパラメータに基づく範囲を切り出した平面画像データを取得する。
尚、本実施形態の住所情報記憶部220は、検索対象物が設置されている可能性がある店舗や会社等の住所を示す住所情報が格納されている。具体的には、住所情報は、情報の項目として、店舗や会社等の名称、郵便番号、住所等を含む。
また、本実施形態のパラメータは、検索対象物に応じて予め設定される。本実施形態では、袖看板を検索対象物の一例とし、パラメータに含まれる仰角の値を15度に設定した。
袖看板とは、建築物の壁面や支柱を利用して建物の側面に垂直に突き出る形で設置する看板である。本実施形態では、仰角を15度に設定することで、水平地点から上方向を見上げた角度の画像データを取得することができる。このため、本実施形態によれば、建物の側面に垂直に突き出る形で設置された袖看板が映っている可能性が高い画像を取得することができる。
次に、画像処理部250Aは、住所情報と、それぞれの平面画像を示す画像データとを対応付けた画像ファイルリストを作成し、画像ファイル記憶部240へ格納する。
次に、情報処理装置200Aは、検索要求部270によって、画像ファイル記憶部240に格納された画像ファイルリストを学習装置300へ入力させ、検索対象物の検索要求を行う。
本実施形態の学習装置300は、学習部310を有する。学習部310は、検索対象物の画像データを正解データとして学習(例えば、教師あり学習)を行ったモデルである。学習部310は、画像ファイルリストが入力され、検索要求を受け付けると、検索対象物の画像が含まれる画像を示す画像データを検索し、検索結果を検索要求部270へ出力する。
検索要求部270は、検索によって、検索対象物が含まれる平面画像データが特定された場合、平面画像データを特定する情報を出力する。尚、平面画像データを特定する情報とは、平面画像データそのものであっても良いし、平面画像データと対応付けられた住所情報であっても良いし、平面画像データと住所情報とが対応付けられた情報であっても良い。
このように、本実施形態によれば、検索対象物が設置されている可能性のある場所の住所情報の画像データを、検索対象物の画像データを正解データとして学習した学習部310に入力し、検索対象物が含まれる画像データを特定する。したがって、本実施形態によれば、学習部310によって特定された画像データと対応する住所情報に基づき、検索対象物が設置された場所を特定することができる。
このため、本実施形態によれば、例えば、検索対象物を、撤去の対象の袖看板とした場合には、袖看板が設置されている可能性のある店舗等の住所情報を住所情報記憶部220に格納しておけば、撤去対象の袖看板が設置された場所を特定することができる。
また、検索要求部270は、住所情報が示す緯度・経度と対応する地点の全天球画像データから切り出された平面画像データに、検索対象物が含まれる平面画像データが存在しない場合、その旨を画像処理部250Aに通知する。
画像処理部250Aは、この通知を受けて、住所情報が示す緯度・経度と対応する地点とは別の複数の地点を特定し、特定された複数の地点において撮像された全天球画像データから切り出された平面画像データ群を取得し、画像ファイル記憶部240へ格納する。
言い換えれば、画像処理部250Aは、緯度・経度3、4を特定し、緯度・経度3、4が示す各地点で撮像された全天球画像データから切り出した8方位の平面画像データ群を取得する。
次に、検索要求部270は、緯度・経度3、4が示す各地点で撮像された全天球画像データから切り出した平面画像データ群を学習部310へ入力し、検索要求を行う。
このように、本実施形態では、複数の地点のそれぞれで撮像された全天球画像データから切り出した平面画像データ群に対して検索を行う。このため、本実施形態では、検索対象物の画像を含む画像データが特定される可能性を高めることができる。
図13は、第二の実施形態の情報処理装置の機能構成を説明する図である。
本実施形態の情報処理装置200Aにおいて、画像処理部250Aは、住所情報取得部251A、緯度経度変換部252、画像取得部253、パラメータ設定部254、格納部255、位置特定部256Aを有する。
住所情報取得部251Aは、住所情報記憶部220に格納された住所情報を取得する。位置特定部256Aは、住所情報が示す緯度・経度と対応する地点の全天球画像データから切り出された平面画像データに、検索対象物が含まれる平面画像データが存在しない場合に、住所情報が示す緯度・経度と対応する地点以外の地点を特定する。
検索要求部270は、リスト出力部271、結果取得部272、出力部273を有する。
リスト出力部271は、検索要求と共に、画像ファイル記憶部240に格納された画像ファイルリスト(画像ファイルの一覧)を学習装置300へ出力する。言い換えれば、検索要求部270は、住所情報と対応する全天球画像データから切り出した画像データと、住所情報とを対応付けた情報を、学習部310へ入力し、学習部310に対して検索対象物の検索を要求する。
結果取得部272は、学習部310により出力された情報を取得する。出力部273は、結果取得部272が取得した情報を端末装置400等に出力する。言い換えれば、結果取得部272は、学習部310による検索結果を取得し、出力部273は、検索結果を出力する。
図14は、第二の実施形態の情報処理装置の処理を説明する第一のフローチャートである。
本実施形態の情報処理装置200Aにおいて、画像処理部250Aは、平面画像データを格納するためのファイルを作成する(ステップS1401)。
続いて、画像処理部250Aは、住所情報取得部251により、住所情報記憶部220を参照する(ステップS1402)。
続いて、画像処理部250Aは、住所情報取得部251により、住所情報記憶部220に格納された住所情報を1レコードずつ読み込む(ステップS1403)。
続いて、画像処理部250Aは、緯度経度変換部252により、読み込んだ住所情報が示す場所を緯度・経度に変換する(ステップS1404)。
続いて、画像処理部250Aは、緯度・経度に基づき、複数の平面画像データを取得する(ステップS1405)。ステップS1405では、図8に示す処理を、ステップS1404で変換された緯度・経度に対して行えばよい。
続いて、画像処理部250Aは、住所情報記憶部220に格納された全ての住所情報に対して、ステップS1403からステップS1405の処理を繰り返し(ステップS1406)、処理を終了する。
本実施形態では、図14の処理によって、住所情報記憶部220に格納された全ての住所情報について、住所情報が示す緯度・経度と対応する地点から撮像された全天球画像データから切り出された平面画像データ群が画像ファイル記憶部240に格納される。
以下に、図15を参照して、検索要求部270の処理について説明する。図15は、第二の実施形態の情報処理装置の処理を説明する第二のフローチャートである。
本実施形態の検索要求部270は、リスト出力部271により、検索要求と共に、画像ファイル記憶部240に格納された画像ファイルリストを学習装置300へ出力する(ステップS1501)。
続いて、検索要求部270は、結果取得部272により、学習装置300から、学習部310が出力した情報を取得し(ステップS1502)、出力部273により、学習部310が出力した情報を端末装置400へ出力する(ステップS1503)。
尚、出力部273が出力する先は、端末装置400に限定されない。出力部273は、
情報処理装置200のディスプレイ206に学習部310が出力した情報を表示させても良い。また、本実施形態では、学習部310が検索結果を出力する度に、検索結果が正解であったか否かを示す情報を学習装置300に入力し、学習部310に機械学習によって学習させても良い。
図16は、出力部273による出力例を示す図である。図16(A)の例では、学習部310によって、検索対象となる袖看板が映っている平面画像データとして抽出された画像データが表示されている。
この場合、出力部273は、検索対象の袖看板が映っていた平面画像データと対応付けられた住所情報を特定し、この住所情報と対応付けられた他の平面画像データを画像ファイル記憶部240から抽出して、出力しても良い。
この場合、特定された住所情報に基づく緯度・経度を中心とした8方位の画像データが出力されることになる。
また、本実施形態では、検索対象の袖看板が映っていた平面画像データを表示させる際に、検索対象の袖看板の画像を強調するマーク101等を表示させても良い。
また、本実施形態の出力部273は、図16(B)に示すように、住所情報記憶部220に格納された住所情報のうち、平面画像データに検索対象となる袖看板が映っていた住所情報の一覧を表示させても良い。
図16(B)に示す画面111は、検索対象となる袖看板が設置されていた住所を表示していることを示すメッセージ112と、平面画像データに検索対象となる袖看板が映っていた住所情報の一覧113とが表示されている。
このように、検索結果を住所情報の一覧として表示させることで、袖看板の撤去を行う作業員等に対し、撤去対象の袖看板の設置場所を容易に把握させることができる。
次に、住所情報が示す緯度・経度と対応する地点の全天球画像データから切り出された平面画像データに、検索対象物が含まれる平面画像データが存在しない場合の情報処理装置200Aの処理について説明する。
この場合、画像処理部250Aは、位置特定部256Aにより、住所情報が示す緯度・経度と対応する地点に基づき、この地点の近傍の複数の地点を特定し、画像取得部253によって、特定された複数の地点毎に平面画像データ群を取得する。
より具体的には、画像処理部250Aは、検索要求部270の結果取得部272により、住所情報が示す緯度・経度と対応する地点の全天球画像データから切り出された平面画像データに、検索対象物が含まれる平面画像データが存在しないことを示す通知を受けて、図7の処理を実行する。
情報処理装置200Aは、画像処理部250Aによって図7の処理が実行されると、検索要求部270により、画像ファイル記憶部240に格納された画像ファイルリストを学習部310へ入力し、検索要求を行う。
本実施形態では、この3つの平面画像データ群を学習装置300の学習部310に入力とし、検索対象物となる袖看板の画像を含む画像データを検索させる。
したがって、本実施形態では、住所情報と対応する地点で撮像された全天球画像データに、検索対象物の画像が含まれなくても、他の地点で取得された全天球画像データを検索に活用することができる。
尚、本実施形態では、平面画像データは、住所情報に基づき特定された地点で撮像された全天球画像データから切り出されるものとしたが、これに限定されない。本実施形態では、例えば、住所情報に基づき特定された地点で撮像された平面画像データから、パラメータに応じた平面画像データを切り出して取得しても良い。
この場合、画像処理部250Aは、検索対象物に基づき設定されたパラメータに基づき、元の平面画像データから一部の画像データを切り出して、画像ファイル記憶部240に格納しても良い。
具体的には、例えば、検索対象物が、特定の状態の自動販売機であっとする。この場合、検索対象物は、一般的に道路上に配置されるものであるため、空の画像等は不要となる。したがって、この場合には、パラメータ記憶部230に、元となる平面画像データが示す平面画像の上部分が切り取られるようなパラメータを設定しておけば良い。また、この場合には、学習部310では、特定の状態の自動販売機の画像が含まれる画像データを正解データとした学習が予め行われる。
また、例えば、検索対象物が、マンホール等である場合について考える。この場合、元となる画像データが全天球画像データであるならば、パラメータ記憶部230に格納されるパラメータのうち、fovを下方向15度等とすれば良い。また、この場合に、元となる画像データが平面画像データであるならば、例えば、平面画像の下部分が切り出されるように、パラメータが設定されていても良い。また、この場合には、学習部310では、マンホールの画像が含まれる画像データを正解データとした学習が予め行われる。
上記で説明した実施形態の各機能は、一又は複数の処理回路によって実現することが可能である。ここで、本明細書における「処理回路」とは、電子回路により実装されるプロセッサのようにソフトウェアによって各機能を実行するようプログラミングされたプロセッサや、上記で説明した各機能を実行するよう設計されたASIC(Application Specific Integrated Circuit)、DSP(digital signal processor)、FPGA(field programmable gate array)や従来の回路モジュール等のデバイスを含むものとする。
また、上述した実施形態に記載された装置群は、本明細書に開示された実施形態を実施するための複数のコンピューティング環境のうちの1つを示すものにすぎない。ある実施形態では、第1の装置は、サーバクラスタといった複数のコンピューティングデバイスを含む。複数のコンピューティングデバイスは、ネットワークや共有メモリなどを含む任意のタイプの通信リンクを介して互いに通信するように構成されており、本明細書に開示された処理を実施する。同様に、第2の装置は、互いに通信するように構成された複数のコンピューティングデバイスを含むことができる。
さらに、第1の装置および第2の装置は、開示された処理ステップ、例えば図7を様々な組み合わせで共有するように構成できる。例えば、画像処理部250によって実行されるプロセスは、第2の装置によって実行され得る。同様に、画像処理部250の機能は、第2の装置によって実行することができる。また、第1の装置と第2の装置の各要素は、1つのサーバ装置にまとめられていても良いし、複数の装置に分けられていても良い。
また、本実施形態において、機械学習とは、コンピュータに人のような学習能力を獲得させるための技術であり、コンピュータが、データ識別等の判断に必要なアルゴリズムを、事前に取り込まれる学習データから自律的に生成し、新たなデータについてこれを適用して予測を行う技術のことをいう。機械学習のための学習方法は、教師あり学習、教師なし学習、半教師学習、強化学習、深層学習のいずれかの方法でもよく、さらに、これらの学習方法を組み合わせた学習方法でもよく、機械学習のための学習方法は問わない。
以上、各実施形態に基づき本発明の説明を行ってきたが、上記実施形態に示した要件に本発明が限定されるものではない。これらの点に関しては、本発明の主旨をそこなわない範囲で変更することができ、その応用形態に応じて適切に定めることができる。