以下、本発明による地図画像取得装置について、実施の形態を用いて説明する。なお、以下の実施の形態において、同じ符号を付した構成要素及びステップは同一または相当するものであり、再度の説明を省略することがある。
(実施の形態1)
本発明の実施の形態1による地図画像取得装置について、図面を参照しながら説明する。本実施の形態による地図画像取得装置は、受け付けられた地名情報の地名が含まれる地図画像を取得するものである。
図1は、本実施の形態による地図画像取得装置1の構成を示すブロック図である。本実施の形態による地図画像取得装置1は、地名情報受付部11と、文字認識部12と、地名判断部13と、しきい値判断部14と、地図画像取得部15と、個数特定部16と、領域整合度算出部17と、実測地図情報取得部18と、空間整合度算出部19と、周辺テキスト取得部20と、テキスト整合度算出部21と、出力部22とを備える。
地名情報受付部11は、1以上の地名情報を受け付ける。地名情報は、地名の情報であり、地図上のいずれかの位置に対応する名称であれば、その内容を問わない。地名情報は、例えば、土地の名称(例えば、「姫路」「神戸」等)であってもよく、名所の名称(例えば、「関ヶ原合戦場」等)であってもよく、建築物の名称(例えば、「姫路城」「通天閣」等)であってもよく、交通機関に関する名称(例えば、「姫路駅」「神戸駅」等)であってもよく、施設の名称(例えば、「手柄山中央公園」「姫路市立美術館」等)であってもよい。地名情報受付部11は、1個の地名情報を受け付けてもよく、複数の地名情報を受け付けてもよい。
地名情報受付部11は、例えば、入力デバイス(例えば、キーボードやマウス、タッチパネルなど)から入力された1以上の地名情報を受け付けてもよく、有線もしくは無線の通信回線を介して送信された1以上の地名情報を受信してもよく、所定の記録媒体(例えば、光ディスクや磁気ディスク、半導体メモリなど)から読み出された1以上の地名情報を受け付けてもよい。なお、地名情報受付部11は、受け付けを行うためのデバイス(例えば、モデムやネットワークカードなど)を含んでもよく、あるいは含まなくてもよい。また、地名情報受付部11は、ハードウェアによって実現されてもよく、あるいは所定のデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
文字認識部12は、サーバで公開されている画像である公開画像に対して文字認識を行う。その公開画像は、地図画像取得部15によって取得されたものであってもよく、あるいは、他の構成要素によって取得されたものであってもよい。本実施の形態では、地図画像取得部15が公開画像の取得を行うものとする。文字認識とは、文字の画像を文字コードに変換することである。文字認識についてはすでに公知であり、その詳細な説明を省略する。文字認識部12が文字認識を行った結果である文字列(この文字列は文字コードで示されるものである)は、図示しない記録媒体において記憶されてもよい。また、その文字列に対応する文字画像の位置も、図示しない記録媒体において記憶されてもよい。
地名判断部13は、公開画像に含まれる、文字認識部12によって文字認識が行われた1以上の文字列に、地名情報受付部11が受け付けた地名情報が含まれるかどうか判断する。例えば、地名情報受付部11が地名情報「姫路」を受け付け、文字認識部12によって文字列「姫路」「明石」「加古川」が文字認識された場合には、地名判断部13は、地名情報「姫路」が文字列に含まれると判断する。なお、地名情報受付部11が複数の地名情報を受け付けた場合に、地名判断部13は、その複数の地名情報のうち、少なくとも1個の地名情報が文字認識された1以上の文字列に含まれるときに、地名情報が含まれると判断してもよく、あるいは、その複数の地名情報のすべてが、文字認識された1以上の文字列に含まれるときに、地名情報が含まれると判断してもよい。本実施の形態では、前者の場合について説明する。
しきい値判断部14は、公開画像に含まれる、文字認識部12によって文字認識が行われた文字列が地名であるかどうかを判断する。しきい値判断部14は、その判断を、地名データベースにアクセスすることによって行ってもよい。地名データベースとは、地名情報と地名情報に対応する座標とを対応付けるデータベースである。したがって、しきい値判断部14は、文字認識の行われた文字列が、地名データベースにおいて座標と対応付けられている地名情報である場合に、その文字列が地名であると判断することができる。なお、その座標は、例えば、緯度・経度であってもよく、あるいは、ある基準点を基準としたその他の座標であってもよい。また、しきい値判断部14は、公開画像に、しきい値より多くの地名が含まれるかどうかを判断する。「しきい値より多くの地名」とは、しきい値よりも多くの個数の地名であってもよく、あるいは、しきい値よりも多くの割合の地名であってもよい。前者の場合には、例えば、しきい値が「3」であり、文字認識された文字列のうち、4個の文字列が地名であると判断されると、公開画像にしきい値より多くの地名が含まれることになる。また、後者の場合には、例えば、しきい値が「0.5」であり、文字認識された文字列が7個であり、そのうちの4個の文字列が地名であると判断されると、公開画像にしきい値より多くの地名が含まれることになる。なお、「しきい値より多く」とは、しきい値を含んでもよく、あるいは、しきい値を含まなくてもよい。
地図画像取得部15は、地名情報受付部11が受け付けた地名情報が含まれる画像である地図画像を、画像を公開しているサーバから取得する。本実施の形態では、地図画像取得部15は、まず、公開画像を取得する。その公開画像は、図示しない記録媒体において記憶されてもよい。なお、周辺テキスト取得部20による周辺テキストの取得を容易にするために、地図画像取得部15は、その公開画像と共に、その公開画像の含まれるページにアクセスするための情報(例えば、そのページのURL等)を公開画像に対応付けて蓄積してもよい。そして、地図画像取得部15は、その公開画像について、地名判断部13によって地名情報受付部11が受け付けた地名情報が含まれると判断され、かつ、しきい値判断部14によってしきい値より多くの地名が含まれると判断された場合に、その公開画像である地図画像を取得するものとする。地名情報が含まれると判断された公開画像を地図画像として取得することによって、地図画像取得部15は、地名情報を含む地図画像を取得することになる。また、地名が多く含まれる画像は地図の画像であると考えられるため、しきい値より多くの地名が含まれる公開画像である地図画像を取得することによって、地図画像取得部15は、地図の公開画像を取得する可能性が高くなる。
なお、公開画像を取得する際に、地図画像取得部15は、すべての公開画像を取得してもよく、あるいは、地名情報受付部11が受け付けた1以上の地名情報を検索キーとした画像検索でヒットした公開画像を取得してもよい。画像検索については、すでに公知であり、その詳細な説明を省略する。また、公開画像は、インターネットのウェブサイトで公開されている画像であってもよく、あるいは、イントラネットやローカルのデータベースで公開されている画像であってもよい。また、地図画像を取得する処理は、例えば、その地図画像をあらかじめ決められた図示しない記録媒体に蓄積することであってもよく、あるいは、あらかじめ図示しない記録媒体で記憶されている公開画像のうち、地図画像であるものについて地図画像であることを示すフラグ等を設定することであってもよい。
個数特定部16は、地図画像取得部15が取得した地図画像に含まれる、地名情報受付部11が受け付けた1以上の地名情報の個数を特定する。個数特定部16によって特定された個数は、図示しない記録媒体で記憶されてもよい。なお、地名判断部13が、受け付けられたすべての地名情報が、文字認識された1以上の文字列に含まれるときに、地名情報が含まれると判断する場合には、個数特定部16が特定する地名情報の個数はすべて、受け付けられた地名情報の個数と等しくなる。したがって、この個数特定部16による地名情報の個数の特定を行う場合には、地名判断部13は、受け付けられた1以上の地名情報のうち、少なくとも1個の地名情報が、文字認識された1以上の文字列に含まれるときに、地名情報が含まれると判断することが好適である。
領域整合度算出部17は、地名情報受付部11が付け付けた複数の地名情報に対応する地点を含む、実測に基づいた地図における最小の領域(これを「領域A」とする)と、地図画像取得部15が取得した地図画像に対応する、実測に基づいた地図の領域(これを「領域B」とする)との重なりの程度に応じた領域整合度を算出する。なお、この場合には、地名情報受付部11が複数の地名情報を受け付けているものとする。地名情報受付部11が受け付けた複数の地名情報の集合をQとすると、領域A=MBR(Q)となる。なお、MBRは、複数の地名情報に対応する地点を含む、実測に基づいた地図における最小の領域を返す関数である。Qに含まれる各地名情報は、前述の地名データベースを用いることによって、それぞれ座標に変換することができる。そして、その各座標のすべてを含み、東西方向及び南北方向が各辺の方向である矩形の領域のうち、最も小さい領域が領域A=MBR(Q)となる。この領域Aは、地名データベースの座標に応じた座標平面上の領域である。その座標が緯度・経度である場合には、例えば、領域Aは、Qに含まれる各地名情報に対応するすべての座標のうち、最も小さい緯度と、最も大きい緯度と、最も小さい経度と、最も大きい経度に対応する4つの直線によって囲まれる矩形となる。また、領域Bに対応する地図画像をmとし、その地図画像mに含まれる地名の集合をMとすると、領域B=EBR(M、m)となる。なお、EBR(M、m)は、地図画像mに対応する、実測に基づいた地図の領域を返す関数である。通常、地図画像mには地名が含まれるため、その地図画像mにおいて、すべての地名の位置を含み、その地図画像mの縦横方向が各辺の方向である矩形の領域のうち、最も小さい領域を領域Cとする。この領域Cは、地図画像m上の領域である。なお、地名の位置は、地名の文字列の中心位置であってもよく、地名の文字列の所定の外縁の位置(例えば、左上等)であってもよく、あるいは、その地名の文字列すべてを含む最小の矩形領域であってもよい。また、関数MBRを用いて、Mに対応する領域MBR(M)を求めることができる。そして、領域Cを地図画像m全体に拡張するのと同じ割合で、領域MBR(M)を拡張した領域が領域B=EBR(M、m)となる。例えば、領域Cを上向きにα倍し、下向きにβ倍し、右向きにγ倍し、左向きにδ倍すると地図画像m全体と同じ大きさになる場合には、MBR(M)を、上向きにα倍し、下向きにβ倍し、右向きにγ倍し、左向きにδ倍すると領域Bとなる。なお、ここでは、地図画像mと座標平面とにおいて、方角が同じであるとしている。また、α、β、γ、δは、それぞれ1以上の実数である。また、ある領域Xの面積を返す関数をAS(X)とすると、領域整合度Rは、次式で示される。
領域整合度R
=AS(MBR(Q)∩EBR(M、m))/AS(MBR(Q)∪EBR(M、m))
実測地図情報取得部18は、実測に基づいた地図の情報である実測地図情報を取得する。実測に基づいた地図とは、現実世界の位置関係と同じ位置関係や、現実世界の距離関係と同じ距離関係を示す地図である。実測に基づいた地図は、実際に測量して作成した地図である測量図であってもよく、あるいは、実質的にそれと同等の地図、例えば、航空写真から作成した地図であってもよい。実測地図情報取得部18は、通常のオンライン地図の取得と同様にして実測地図情報を取得することができるため、その詳細な説明を省略する。なお、実測地図情報取得部18は、インターネット等のネットワークを介して実測地図情報を取得してもよく、あるいは、ローカルに記憶されている実測地図情報を読み出すことによって、実測地図情報を取得してもよい。実測地図情報取得部18は、地図画像取得部15が取得した地図画像に含まれる文字列のうち、前述の地名データベースを用いて地名であると判断された文字列である地名文字列が含まれる実測地図情報を取得する。実測地図情報取得部18は、例えば、1以上の地名文字列を検索キーとして検索を行うことによって、その1以上の地名文字列が含まれる実測地図情報を取得してもよい。その取得された実測地図情報は、図示しない記録媒体で記憶されてもよい。
空間整合度算出部19は、地図画像取得部15が取得した地図画像と、実測地図情報取得部18が取得した実測地図情報との整合の程度を示す空間整合度を算出する。本実施の形態では、空間整合度算出部19が、両者における距離の順序の相関に応じた空間整合度S1と、両者における地点の位置関係の一致の程度に応じた空間整合度S2とを算出する場合について説明する。
まず、地図画像と実測地図情報とにおける距離の順序の相関に応じた空間整合度S1について説明する。空間整合度算出部19は、地図画像取得部15が取得した地図画像における、一の地名文字列に対応する地点から他の地名文字列に対応する地点までの距離の順序を求める。その一の地名文字列を選択する方法は問わない。例えば、地図画像の中心付近の地名文字列を選択してもよく、地図画像における出発地である地名文字列や目的地である地名文字列を選択してもよい。なお、地図画像において、出発地の地名文字列や目的地の地名文字列を特定する方法については、次の文献1を参照されたい。
文献1:北山大輔、李龍、角谷和俊、「デフォルメ地図のための作成意図抽出に基づく信憑性分析」、DEIM2010、2010年2月
その一の地名文字列を選択すると、空間整合度算出部19は、その一の地名文字列と、他の各地名文字列との距離を算出し、その距離に応じてソートする。その結果、基準となる一の地名文字列と、他の各地名文字列との距離の順序を知ることができる。そのソートは降順でもよく、昇順でもよい。
また、空間整合度算出部19は、実測地図情報取得部18が取得した実測地図情報において、前述の一の地名文字列に対応する地点と、他の地名文字列に対応する地点との距離を算出し、その距離に応じてソートする。その結果、基準となる一の地名文字列と、他の各地名文字列との距離の順序を知ることができる。そのソートは、地図画像に関するソートと同じソートであるとする。
その後、空間整合度算出部19は、地図情報における距離の順序と、実測地図情報における距離の順序との相関を示す空間整合度S1を算出する。この空間整合度は、例えば、次式で示されるスピアマンの順位相関係数であってもよい。なお、通常、スピアマンの順位相関係数は、−1から1の値をとるが、次式では、0から1の間の値をとるようにしている。また、次式において、Dは、ある地名文字列(これは基準となる一の地名文字列ではないものとする)に関する地図情報における順序と、実測地図情報における順序との差である。また、nは、求められた距離の数である。なお、スピアマンの順位相関係数以外を用いて、空間整合度S1を算出してもよいことは言うまでもない。
次に、地図画像と実測地図情報とにおける地点の位置関係の一致の程度に応じた空間整合度S2について説明する。空間整合度算出部19は、地図画像取得部15が取得した地図画像における、第1及び第2の地名文字列に対応する地点を結ぶ直線に対する他の地名文字列に対応する地点の位置と、実測地図情報取得部18が取得した実測地図情報における、前述の第1及び第2の地名文字列に対応する地点を結ぶ直線に対する他の地名文字列に対応する地点の位置との一致の程度を示す空間整合度S2を算出することになる。具体的には、
S2=(Σic(o1、o2、oi))/k
となる。kは、第1及び第2の地名文字列以外の地名文字列の個数である。また、o1は、第1の地名文字列であり、o2は、第2の地名文字列であり、oiは、第1及び第2の地名文字列以外のi番目の地名文字列である。また、c(o1、o2、oi)は、地図画像と、実測地図情報との両方において、o1、o2のそれぞれの位置を結ぶ直線に対して、oiに対応する位置が同じ側に存在する場合には1となり、違う側に存在する場合には0となる関数である。同じ側にあるかどうかは、例えば、次のように判断してもよい。o1に対応する位置を始点としてo2に対応する位置を終点とするベクトルV1と、o1に対応する位置を始点としてoiに対応する位置を終点とするベクトルV2とについて、ベクトルV1からベクトルV2までの時計回りの角度を計算する。そして、その角度が、地図画像と、実測地図情報との両方において、0度以上180度未満の範囲にあるのであれば、c(o1、o2、oi)=1となる。また、その角度が、地図画像と、実測地図情報との両方において、180度以上360度未満の範囲にあるのであれば、c(o1、o2、oi)=1となる。また、その角度が、地図画像と実測地図情報とのうち、一方において、0度以上180度未満の範囲にあり、他方において、180度以上360度未満の範囲にあるのであれば、c(o1、o2、oi)=0となる。
なお、空間整合度算出部19が、第1及び第2の地名文字列を選択する方法は問わない。例えば、地図画像の中心に対して対向する位置関係にある2個の地名文字列を選択してもよい。また、空間整合度算出部19は、o1、o2に関するすべての組合せについて上記S2の平均をとったものを、空間整合度S2として算出してもよい。この場合には、地名文字列のすべての組が、第1及び第2の地名文字列となる。
周辺テキスト取得部20は、地図画像取得部15が取得した地図画像が含まれるページから、地図画像の周辺のテキストである周辺テキストを取得する。周辺テキストは、地図画像が含まれるページに含まれるすべてのテキストであってもよく、あるいは、地図画像から直近の見出しまでの範囲に含まれるテキストであってもよい。そのページがHTMLで記述されている場合には、周辺テキスト取得部20は、例えば、地図画像から、地図画像の手前の直近の見出しタグまでの範囲のテキストと、地図画像から、地図画像の後の直近の見出しタグまでの範囲のテキストとを周辺テキストとして取得してもよい。なお、周辺テキスト取得部20は、地図画像の手前側の見出しまでのテキストのみを周辺テキストとして取得してもよく、地図画像の後側の見出しまでのテキストのみを周辺テキストとして取得してもよい。周辺テキスト取得部20が取得した周辺テキストは、図示しない記録媒体で記憶されてもよい。
テキスト整合度算出部21は、地図画像取得部15が取得した地図画像と、周辺テキスト取得部20が取得した周辺テキストに含まれる地名とに関する整合の程度を示すテキスト整合度を算出する。本実施の形態では、テキスト整合度算出部21が、地図画像に含まれる地名文字列と、周辺テキストに含まれる地名との一致の程度に応じたテキスト整合度T1と、地図画像に対応する領域と、周辺テキストに含まれる地名に対応する地点を含む最小の領域との重なりの程度に応じたテキスト整合度T2とを算出する場合について説明する。
まず、地図画像に含まれる地名文字列と、周辺テキストに含まれる地名との一致の程度に応じたテキスト整合度T1について説明する。テキスト整合度算出部21は、地図画像取得部15が取得した地図画像に含まれる文字列のうち、前述の地名データベースを用いて地名であると判断された文字列である地名文字列を取得する。その地名文字列の集合をSP1とする。また、テキスト整合度算出部21は、周辺テキストに含まれる地名を取得する。テキスト整合度算出部21は、例えば、周辺テキストに対して形態素解析を行い、地名である固有名詞を地名として取得してもよい。例えば、MeCabで形態素解析を行った場合には、「名詞、固有名詞、地域」に分類された形態素を、地名として取得してもよい。または、テキスト整合度算出部21は、前述の地名データベースに含まれる地名と一致するものが周辺テキストに含まれる場合に、それを地名として取得してもよい。周辺テキストから取得された地名の集合をSP2とする。そして、テキスト整合度算出部21は、テキスト整合度T1を、次式によって算出してもよい。なお、CU(X)は、集合Xの要素数を返す関数である。
T1=CU(SP1∩SP2)/CU(SP2)
なお、テキスト整合度T1は、次式によって算出されてもよく、その他の、地図画像に含まれる地名文字列と、周辺テキストに含まれる地名との一致の程度に応じた値を示す式によって算出されてもよい。
T1=CU(SP1∩SP2)/CU(SP1∪SP2)
次に、地図画像に対応する領域と、周辺テキストに含まれる地名に対応する地点を含む最小の領域との重なりの程度に応じたテキスト整合度T2について説明する。テキスト整合度算出部21は、周辺テキストに含まれる地名に対応する地点を含む、実測に基づいた地図における最小の領域MBR(SP2)と、地図画像取得部15が取得した地図画像mに対応する、実測に基づいた地図の領域EBR(SP1、m)との重なりの程度に応じたテキスト整合度T2を算出する。MBRやEBRについては、前述の通りである。テキスト整合度T2は、例えば、次式で示されるものであってもよい。
T2=min(1,AS(MBR(SP2))/AS(EBR(SP1、m)))
なお、テキスト整合度T2は、次式によって算出されてもよく、その他の、地図画像に対応する領域と、周辺テキストに含まれる地名に対応する地点を含む最小の領域との重なりの程度に応じた値を示す式によって算出されてもよい。
T2=AS(MBR(SP2)∩EBR(SP1、m))/AS(MBR(SP2)∪EBR(SP1、m))
出力部22は、地図画像取得部15が取得した地図画像を出力する。なお、出力部22は、個数特定部16が特定した個数Nが多い地図画像ほど上位にランキングするように地図画像を出力する。また、出力部22は、領域整合度Rが高いほど上位にランキングするように地図画像を出力する。また、出力部22は、空間整合度S1が高いほど上位にランキングするように地図画像を出力し、空間整合度S2が高いほど上位にランキングするように地図画像を出力。また、出力部22は、テキスト整合度T1が高いほど上位にランキングするように地図画像を出力し、テキスト整合度T2が高いほど上位にランキングするように地図画像を出力する。なお、出力部22が、Xが高いほど上位にランキングするように地図画像を出力するとは、X以外の条件が同じである場合に、Xの降順となるようにランキングすることを意味する。Xは、NやR、S1、S2、T1、T2などである。そのため、出力部22は、N、R、S1、S2、T1、T2を引数とし、その各引数に対して増加関数であるスコアを算出し、そのスコアが高いほど上位にランキングするように地図画像を出力してもよい。出力部22が、Xが高いほど上位にランキングするように地図画像を出力するとは、例えば、Xが高いほど、より上の方(前の方)に表示されるように出力することであってもよく、Xが高い順に出力することであってもよく、あるいは、Xが高いほど、より高いランキングの値を対応付けて出力することであってもよい。すなわち、地図画像の出力は、例えば、ランキング順の出力であってもよく、地図画像と、その地図画像のランキングの値とを対応付けた出力であってもよい。
ここで、この出力は、例えば、表示デバイス(例えば、CRTや液晶ディスプレイなど)への表示でもよく、所定の機器への通信回線を介した送信でもよく、プリンタによる印刷でもよく、記録媒体への蓄積でもよく、他の構成要素への引き渡しでもよい。本実施の形態では、出力部22が、ランキングの順に地図画像を表示する場合について説明する。なお、出力部22は、出力を行うデバイス(例えば、表示デバイスやプリンタなど)を含んでもよく、あるいは含まなくてもよい。また、出力部22は、ハードウェアによって実現されてもよく、あるいは、それらのデバイスを駆動するドライバ等のソフトウェアによって実現されてもよい。
次に、本実施の形態による地図画像取得装置1の動作について、図2のフローチャートを用いて説明する。
(ステップS101)地名情報受付部11は、1以上の地名情報を受け付けたかどうか判断する。そして、1以上の地名情報を付けた場合にはステップS102に進み、そうでない場合には、受け付けるまでステップS101の処理を繰り返す。なお、受け付けられた1以上の地名情報は、図示しない記録媒体で記憶されてもよい。
(ステップS102)地図画像取得部15は、公開画像を取得する。前述のように、地図画像取得部15は、すべての公開画像を取得してもよく、あるいは、受け付けられた1以上の地名情報を検索キーとする画像検索を行い、ヒットした公開画像を取得してもよい。なお、ヒットした公開画像のうち、1以上の地名情報である検索キーとの一致度の高い順に、あらかじめ決められた個数(例えば、100個や1000個など)の公開画像を取得してもよい。また、その取得された公開画像は、図示しない記録媒体で記憶されてもよい。
(ステップS103)地図画像取得部15等は、地図画像を取得する処理を行う。この処理の詳細については、図3のフローチャートを用いて後述する。
(ステップS104)個数特定部16等は、地図画像に含まれる地名情報の個数の特定や、領域整合度等の算出等を行う。なお、この処理の詳細については、図4のフローチャートを用いて後述する。
(ステップS105)出力部22は、地図画像取得部15が取得した地図画像を、領域整合度等に応じてランキングして出力する。そして、ステップS101に戻る。
なお、図2のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
図3は、図2のフローチャートにおける地図画像の取得の処理(ステップS103)の詳細を示すフローチャートである。
(ステップS201)地図画像取得部15は、カウンタiを1に設定する。
(ステップS202)文字認識部12は、i番目の公開画像に対して文字認識を行い、認識結果の文字列を図示しない記録媒体に蓄積する。なお、その蓄積の際に、i番目の公開画像に対応した文字列であることが分かるように蓄積することが好適である。
(ステップS203)地名判断部13は、i番目の公開画像について文字認識部12が認識した文字列に、地名情報受付部11が受け付けた地名情報が含まれるかどうか判断する。そして、地名情報が含まれる場合には、ステップS204に進み、そうでない場合には、ステップS207に進む。なお、この判断において、例えば、一の文字列と一の地名情報とが一致する場合に、認識された文字列に地名情報が含まれると判断してもよく、あるいは、一の文字列に一の地名情報が包含される場合に、認識された文字列に地名情報が含まれると判断してもよい。
(ステップS204)しきい値判断部14は、i番目の公開画像について文字認識部12が認識した文字列に含まれる地名文字列を特定する。なお、この特定は、前述のように、文字認識された文字列を検索キーとして、地名データベースを検索し、ヒットした場合に、その文字列が地名であると判断する手法によって行ってもよい。そのヒットは、例えば、完全一致のヒットであってもよく、部分一致のヒットであってもよい。そして、地名文字列であると判断された文字列は、例えば、地名文字列の記憶される図示しない記録媒体に蓄積されてもよく、あるいは、地名文字列であることを示すフラグ等が設定されてもよい。このようにして特定された地名文字列が、後の処理(例えば、領域整合度の算出の処理等)において用いられてもよい。
(ステップS205)しきい値判断部14は、あらかじめ図示しない記録媒体で記憶されているしきい値を読み出し、i番目の公開画像にしきい値より多くの地名文字列が含まれるかどうか判断する。そして、しきい値より多くの地名文字列が含まれる場合には、ステップS206に進み、そうでない場合には、ステップS207に進む。なお、しきい値より多くとは、前述のように、個数が多いことであってもよく、割合が多いことであってもよい。
(ステップS206)地図画像取得部15は、i番目の公開画像を地図画像として取得する。この取得は、例えば、地図画像を記憶している図示しない記録媒体にi番目の公開画像を蓄積することであってもよく、あるいは、地図画像であることを示すフラグ等をi番目の公開画像に設定することであってもよい。
(ステップS207)地図画像取得部15は、カウンタiを1だけインクリメントする。
(ステップS208)地図画像取得部15は、ステップS102で取得された公開画像に、i番目の公開画像が存在するかどうか判断する。そして、存在する場合には、ステップS202に戻り、そうでない場合には、図2のフローチャートに戻る。
図4は、図2のフローチャートにおける整合度等の算出の処理(ステップS104)の詳細を示すフローチャートである。
(ステップS301)出力部22は、カウンタiを1に設定する。
(ステップS302)個数特定部16は、i番目の地図画像に含まれる、受け付けられた1以上の地名情報の個数Nを特定する。個数特定部16は、例えば、受け付けられた各地名情報を検索キーとして、i番目の地図画像について文字認識部12が文字認識した文字列を検索し、ヒットした場合には、その検索キーである地名情報がi番目の地図画像に含まれていると判断する処理をすべての地名情報に対して繰り返して実行することによって、個数Nを特定してもよい。その場合には、ヒットした回数が個数Nとなる。この特定された個数Nは、図示しない記録媒体で記憶されてもよい。
(ステップS303)領域整合度算出部17は、地名情報受付部11が2以上の地名情報を受け付けたかどうか判断する。そして、2以上の地名情報を受け付けた場合には、ステップS304に進み、そうでない場合には、ステップS305に進む。領域整合度Rの算出は、2以上の地名情報が受け付けられた場合にのみ実行することができるからである。
(ステップS304)領域整合度算出部17は、受け付けられた2以上の地名情報の集合Qに対応する領域MBR(Q)を求める。また、領域整合度算出部17は、i番目の地図画像mに対応する実測に基づいた地図の領域EBR(M、m)を求める。なお、Mは、i番目の地図画像mに含まれる地名文字列の集合である。そして、領域整合度算出部17は、領域MBR(Q)と領域EBR(M、m)とを用いて、両者の重なりの程度に応じた領域整合度Rを算出する。領域整合度Rの算出式として、前述のものを用いてもよい。この算出された領域整合度Rは、図示しない記録媒体で記憶されてもよい。
(ステップS305)実測地図情報取得部18は、i番目の地図画像に含まれる地名文字列をすべて含む実測地図情報を取得する。その取得された実測地図情報は、図示しない記録媒体で記憶されてもよい。
(ステップS306)空間整合度算出部19は、i番目の地図画像において、一の地名文字列に対応する地点から他の地名文字列に対応する地点までの距離の順序を求める。また、空間整合度算出部19は、実測地図情報取得部18が取得した実測地図情報において、その一の地名文字列に対応する地点から他の地名文字列に対応する地点までの距離の順序を求める。そして、空間整合度算出部19は、両者の順序の一致の程度を示す空間整合度S1を算出する。空間整合度S1の算出式として、前述のスピアマンの順位相関係数を用いてもよい。その算出された空間整合度S1は、図示しない記録媒体で記憶されてもよい。
(ステップS307)空間整合度算出部19は、i番目の地図画像において、第1及び第2の地名文字列に対応する地点を結ぶ直線に対する他の地名文字列に対応する地点の位置(その直線に対してどちら側であるのか)を特定する。また、空間整合度算出部19は、実測地図情報取得部18が取得した実測地図情報において、第1及び第2の地名文字列に対応する地点を結ぶ直線に対する他の地名文字列に対応する地点の位置(その直線に対してどちら側であるのか)を特定する。そして、空間整合度算出部19は、第1及び第2の地名文字列に対応する地点を結ぶ直線に対して、その他の地名文字列が、i番目の地図画像と実測地図情報とにおいて、同じ側にあるのか、あるいは、反対側にあるのかの一致の程度を示す空間整合度S2を算出する。空間整合度S2の算出式として、前述のものを用いてもよい。その算出された空間整合度S2は、図示しない記録媒体で記憶されてもよい。
(ステップS308)周辺テキスト取得部20は、i番目の地図画像が含まれるページから、そのi番目の地図画像の周辺のテキストである周辺テキストを取得する。例えば、ページがウェブページであり、i番目の地図画像に対応付けられて、そのi番目の地図画像が含まれるウェブページのURLが記憶されている場合には、周辺テキスト取得部20は、そのi番目の地図画像に対応するURLを用いることによって、i番目の地図画像が含まれるページにアクセスすることができ、そのページから周辺テキストを取得することができる。なお、取得された周辺テキストは、図示しない記録媒体で記憶されてもよい。
(ステップS309)テキスト整合度算出部21は、i番目の地図画像に対応する周辺テキストから、地名の集合SP2を取得する。そして、テキスト整合度算出部21は、i番目の地図画像に含まれる地名文字列の集合SP1と、取得した地名の集合SP2とを用いて、i番目の地図画像に含まれる地名文字列と、周辺テキストに含まれる地名との一致の程度に応じたテキスト整合度T1を算出する。そのテキスト整合度T1の算出式として、前述のものを用いてもよい。その算出されたテキスト整合度T1は、図示しない記録媒体で記憶されてもよい。
(ステップS310)テキスト整合度算出部21は、i番目の地図画像mに対応する、実測に基づいた地図の領域EBR(SP1、m)を求める。また、テキスト整合度算出部21は、i番目の地図画像に対応する周辺テキストに含まれる地名の集合SP2に含まれる各地名に対応する地点を含む、実測に基づいた地図における最小の領域MBR(SP2)を求める。そして、テキスト整合度算出部21は、領域EBR(SP1、m)と領域MBR(SP2)とを用いて、両者の重なりの程度に応じたテキスト整合度T2を算出する。そのテキスト整合度T2の算出式として、前述のものを用いてもよい。その算出されたテキスト整合度T2は、図示しない記録媒体で記憶されてもよい。
(ステップS311)出力部22は、個数N、領域整合度R、空間整合度S1,S2、テキスト整合度T1,T2を引数とする、各引数の増加関数を用いて、スコアを算出する。その算出されたスコアは、図示しない記録媒体で記憶されてもよい。なお、領域整合度Rの算出が行われなかった場合には、R=0としてスコアの算出を行ってもよい。
(ステップS312)出力部22は、カウンタiを1だけインクリメントする。
(ステップS313)出力部22は、地図画像取得部15が取得した地図画像に、i番目の地図画像が存在するかどうか判断する。そして、i番目の地図画像が存在する場合には、ステップS302に戻り、そうでない場合には、図2のフローチャートに戻る。
なお、図4のフローチャートにおいて、出力部22がカウンタiを管理する場合について説明したが、他の構成要素がカウンタiを管理してもよいことは言うまでもない。また、地図画像に3以上の地名文字列が含まれないと、有意な空間整合度S1を算出できない。また、地図画像に4以上の地名文字列が含まれないと、有意な空間整合度S2を算出できない。また、地図画像に2以上の地名文字列が含まれ、周辺テキストに2以上の地名が含まれないと、テキスト整合度T2を算出できない。したがって、有意な空間整合度S1,S2を算出できない場合や、テキスト整合度T2を算出できない場合には、それらの算出を行わなくてもよい。
次に、本実施の形態による地図画像取得装置1の動作について、具体例を用いて説明する。この具体例では、図5で示されるように、地図画像取得装置1が、インターネット500に接続されており、インターネット500を介して、ウェブサーバ2から地図画像を取得する場合について説明する。なお、地図画像取得装置1は、地名データベースを装置内部に有しているものとする。その地名データベースは、図6で示されるものであり、地名と、座標とが対応付けられている。座標は、緯度・経度であるとする。例えば、地名「神戸」には、座標(X101,Y101)が対応しているため、神戸の緯度・経度が(X101,Y101)であることが分かる。また、この地名データベースを用いることによって、例えば、神戸や明石が地名の文字列であることが分かる。
まず、ユーザが、地図画像取得装置1のキーボードやマウス等を操作することによって、地名情報「姫路」「明石」を入力したとする。すると、それらの地名情報は、地名情報受付部11で受け付けられ、図示しない記録媒体に蓄積される(ステップS101)。また、地名情報受付部11は、地名情報を受け付けた旨を地図画像取得部15に渡す。地図画像取得部15は、地名情報の受け付けられた旨を受け取ると、図示しない記録媒体から地名情報「姫路」「明石」を読み出し、それらを検索キーとして画像検索を行うことによって、公開画像を取得する(ステップS102)。それらの取得された画像は、図7で示されるように、その画像の含まれるウェブページのURLに対応付けられて図示しない記録媒体に蓄積される。図7において、レコードを識別するIDと、公開画像と、その公開画像の含まれるウェブページのURLと、文字列情報と、地図画像フラグとが対応付けられている。例えば、画像「ABC−MAP.gif」は、URLが「http://....abc−u.ac.jp」であるウェブページに含まれることが分かる。なお、画像「ABC−MAP.gif」は、図8で示されるものであるとする。また、画像「BRIDGE.jpg」は、明石海峡大橋の写真であって地図ではないとする。また、画像「XYZ−MAP.jpg」は、図9で示されるものであるとする。なお、文字列情報や地図画像フラグについては後述する。
その後、地図画像取得部15が、公開画像を取得した旨を文字認識部12等に渡すと、地図画像を取得する処理が開始される(ステップS103)。具体的には、文字認識部12は、図8で示される画像「ABC−MAP.gif」に対して文字認識を行い、文字列「神戸」「明石」「姫路」「ABC大学」「徒歩15分」を認識する(ステップS201,S202)。そして、それらの各文字列と、その文字列の地図画像における位置とを図10の文字列情報に含まれる文字列、位置で示されるように、画像「ABC−MAP.gif」に対応付けて蓄積する。なお、文字列の位置は、文字列の特定の箇所の位置である。例えば、文字列の中心の位置であってもよく、文字列の左上の位置であってもよい。また、文字列の位置は、地図画像における位置であり、例えば、地図画像の左上を基点とした右方向及び下方向のピクセル数であってもよい。
次に、地名判断部13は、地名情報受付部11が受け付けた地名情報が、認識された文字列に含まれるかどうか判断する(ステップS203)。具体的には、地名判断部13は、まず、受け付けられた地名情報「姫路」を検索キーとして、画像「ABC−MAP.gif」に対応する文字列を検索する。この場合にはヒットするため、地名判断部13は、ID1の公開画像に地名情報が含まれると判断する。その後、しきい値判断部14は、認識された各文字列を検索キーとして地名データベースを検索し、ヒットした文字列に対しては、地名フラグ「1」を設定し、ヒットしなかった文字列に対しては、地名フラグ「0」を設定する(ステップS204)。地名フラグ「1」は、その地名フラグに対応する文字列が地名文字列であることを示すフラグであり、地名フラグ「0」は、その地名フラグに対応する文字列が地名文字列でないことを示すフラグであるため、地名フラグを設定することが、地名文字列を特定する処理となる。なお、図10で示される文字列情報において、文字認識された文字列と、その文字列の画像における位置と、その文字列が地名であるかどうかを示す地名フラグとが対応付けられている。また、しきい値判断部14は、地名文字列がしきい値以上であるかどうか判断する(ステップS205)。ここで、この具体例では、しきい値が「3個」に設定されており、しきい値判断部14は、画像に3個以上の地名文字列が含まれる場合に、しきい値よりも多くの地名文字列が含まれると判断するものとする。したがって、この場合には、しきい値判断部14は、画像「ABC−MAP.gif」に対応する地名フラグが「1」である文字列の個数「3」をカウントし、それがしきい値の「3個」以上であるため、画像「ABC−MAP.gif」にしきい値以上の地名文字列が含まれると判断して、その旨を地図画像取得部15に渡す。すると、地図画像取得部15は、図11で示されるように、画像「ABC−MAP.gif」に対応する地図画像フラグを「1」に設定する(ステップS206)。ここで、地図画像フラグ「1」は、その画像が地図画像であることを示すフラグであり、地図画像フラグ「0」は、その画像が地図画像でないことを示すフラグである。したがって、この地図画像フラグ「1」を設定する処理が、地図画像を取得する処理となる。なお、地図画像取得部15は、地名情報が含まれないと判断された画像や、地名文字列がしきい値より多く含まれないと判断された画像に対しては、地図画像フラグ「0」を設定するものとする。
文字認識部12等は、同様の処理を、他の取得された画像に対しても繰り返して実行する(ステップS202〜S208)。画像「BRIDGE.jpg」は、明石海峡大橋の写真であるため、文字列は含まれておらず、地図画像フラグ「0」が設定される。また、図9で示される画像「XYZ−MAP.jpg」には、地名文字列「姫路」「加古川」等が含まれているため、地図画像フラグ「1」が設定される。その結果、文字列情報や地図画像フラグは、図12で示されるようになる。
次に、個数特定部16等は、地図画像、すなわち、地図画像フラグ「1」の設定された画像について、地名情報の個数の特定や、領域整合度等の算出等の処理を行う(ステップS104)。具体的には、個数特定部16は、1番目の地図画像に対応する文字列を、受け付けられた地名情報「姫路」「明石」のそれぞれを検索キーとして、検索する。そして、ヒット数「2」を1番目の地図画像に含まれる地名情報の個数Nとして蓄積する(ステップS301,S302)。図13のスコア情報におけるID「1」のレコードのNの値「2」は、このようにして蓄積されたものである。図13のスコア情報は、図示しない記録媒体で記憶されているものであり、IDは、レコードを識別する識別子であって、図12のIDと対応している。また、IDと、個数Nと、領域整合度Rと、空間整合度S1と、空間整合度S2と、テキスト整合度T1と、テキスト整合度T2と、スコアとが対応付けられている。個数特定部16等は、個数N等を取得するごとにスコア情報に追記していき、最終的にそれらを用いて出力部22がスコアを算出してスコア情報に追記することになる。
次に、領域整合度算出部17は、2以上の地名情報が受け付けられたと判断し(ステップS303)、その受け付けられた地名情報「姫路」「明石」に対応する緯度・経度を、地名データベースを用いて取得し、それらを用いて領域MBR({姫路、明石})を求める。具体的には、図14で示されるように、姫路と明石とを対角とする領域MBR({姫路、明石})が特定される。また、領域整合度算出部17は、1番目の地図画像「ABC−MAP.gif」に含まれる地名文字列「神戸」「明石」「姫路」を用いた、その地図画像「ABC−MAP.gif」に対応する領域EBR({神戸、明石、姫路}、ABC−MAP.gif)を求める。具体的には、領域整合度算出部17は、図14で示されるように、領域MBR({姫路、明石})と同様にして領域MBR({神戸、明石、姫路})を特定する。また、領域整合度算出部17は、図15で示されるように、1番目の地図画像「ABC−MAP.gif」において、領域MBR({神戸、明石、姫路})を特定する。なお、その際に、地名文字列「神戸」等の座標として、図12で示される文字列情報の位置(x11,y11)等が用いられる。その後、領域整合度算出部17は、地図画像における領域MBR({神戸、明石、姫路})を、図15の矢印で示されるように、地図画像全体に広げるのと同じ割合で、図14における領域MBR({神戸、明石、姫路})を拡張した領域EBR({神戸、明石、姫路}、ABC−MAP.gif)を特定する。そして、領域整合度算出部17は、前述の式を用いて、領域整合度Rを算出する。ここで、領域整合度Rは、「0.32」となったとする。すると、領域整合度算出部17は、図13で示されるように、その領域整合度R「0.32」をスコア情報のID「1」のレコードに蓄積する(ステップS304)。
次に、実測地図情報取得部18は、1番目の地図画像に含まれる地名文字列「神戸」「明石」「姫路」を含む実測地図情報を取得し、その取得した実測地図情報を図示しない記録媒体に蓄積する(ステップS305)。なお、その実測地図情報は、図14で示される実測地図情報と同じものであるとする。
次に、空間整合度算出部19は、1番目の地図画像において、画像中心に最も近い地名文字列「明石」を、基準の地名に設定する。そして、空間整合度算出部19は、その地名文字列「明石」と、地名文字列「姫路」「神戸」との距離をそれぞれ算出し、その距離の順序を求める。この場合には、(明石・神戸の距離)>(明石・姫路の距離)となり、(明石・神戸の距離)が1番、(明石・姫路の距離)が2番になったとする。なお、その距離の算出には、神戸、明石、姫路の位置(x11,y11)等を用いる。
また、空間整合度算出部19は、実測地図情報取得部18が取得した実測地図情報においても、明石の位置を基準として、神戸までの距離と、姫路までの距離とを算出し、その距離の順序を求める。この場合には、(明石・姫路の距離)>(明石・神戸の距離)となり、(明石・姫路の距離)が1番、(明石・神戸の距離)が2番になったとする。なお、その距離の算出には、神戸、明石、姫路の緯度・経度を用いる。
その後、空間整合度算出部19は、スピアマンの順位相関係数を用いて、前述のように、空間整合度S1を算出する。この場合には、地図画像と、実測地図情報とにおいて、順序が全く逆であったため、S1=0となる。すると、空間整合度算出部19は、図13で示されるように、その空間整合度S1「0」をスコア情報のID「1」のレコードに蓄積する(ステップS306)。
次に、空間整合度算出部19は、1番目の地図画像において、画像中心に対してほぼ対向する位置にある地名文字列「姫路」「神戸」を第1及び第2の地名文字列とする。そして、空間整合度算出部19は、1番目の地図画像において、地名文字列「姫路」「神戸」に対応する位置を通る直線に対して、「明石」に対応する位置が、右側か左側かを判断する。ここでの右側、左側は、神戸から姫路のほうを向いた時の右・左であるとする。したがって、図8の地図画像では、明石は左側になる。
また、空間整合度算出部19は、実測地図情報取得部18が取得した実測地図情報においても、「姫路」「神戸」に対応する位置を通る直線に対して、「明石」に対応する位置が、右側か左側かを判断する。この場合にも、右側、左側は、神戸から姫路のほうを向いた時の右・左であるとする。したがって、図14から明らかなように、明石は左側になる。
したがって、c(姫路、神戸、明石)=1となる。また、この場合には、k=1であるため、空間整合度算出部19は、空間整合度S2「1」を算出する。そして、空間整合度算出部19は、図13で示されるように、その空間整合度S2「1」をスコア情報のID「1」のレコードに蓄積する(ステップS307)。
次に、周辺テキスト取得部20は、図12において、1番目の地図画像「ABC−MAP.gif」に対応するURLを取得し、そのURLにアクセスする。そして、周辺テキスト取得部20は、そのアクセスしたページにおける、1番目の地図画像「ABC−MAP.gif」の周辺のテキストを取得し、図示しない記録媒体に蓄積する(ステップS308)。
次に、テキスト整合度算出部21は、周辺テキスト取得部20が取得した周辺テキストに対して形態素解析を行い、地名である固有名詞を取得し、図示しない記録媒体に蓄積する。この場合には、「明石」「姫路」「神戸」「三宮」「西明石」「新大阪」が取得されたとする。また、テキスト整合度算出部21は、1番目の地図画像に含まれる地域文字列と、周辺テキストに含まれる地名とに共通する地名の個数をカウントする。この場合には、「明石」「姫路」「神戸」が共通するため、その個数は「3」となる。また、テキスト整合度算出部21は、周辺テキストに含まれる地名の個数をカウントする。この場合には、その個数は「6」となる。そして、テキスト整合度算出部21は、前述の1番目の式を用いることによって、テキスト整合度T1「0.5」(≒3/6)を算出する。そして、テキスト整合度算出部21は、図13で示されるように、そのテキスト整合度T1「0.5」をスコア情報のID「1」のレコードに蓄積する(ステップS309)。
次に、テキスト整合度算出部21は、周辺テキストに含まれる地名に対応する、実測地図情報における領域MBR({明石、姫路、神戸、三宮、西明石、新大阪})を特定する。また、テキスト整合度算出部21は、1番目の地図画像に対応する、実測地図情報の領域EBR({神戸、明石、姫路}、ABC−MAP.gif)を特定する。そして、前述の2番目の式を用いることによって算出されたテキスト整合度T2は、「0.64」であったとする。すると、テキスト整合度算出部21は、図13で示されるように、そのテキスト整合度T2「0.64」をスコア情報のID「1」のレコードに蓄積する(ステップS310)。
次に、出力部22は、個数N等を用いてスコアを算出する。ここで、スコアの式は、次のものであったとする。
スコア=N+R+S1+S2+T1+T2
すると、出力部22は、1番目の地図画像のスコア「4.46」を算出し、図13で示されるように、そのスコアをID「1」のレコードに蓄積する(ステップS311)。
この後、個数特定部16等は、2番目以降の地図画像に対しても、個数Nの特定等の処理を繰り返して実行する(ステップS302〜S313)。その結果、スコア情報は、図13で示されるようになる。
そして、出力部22は、図13のスコア情報の降順となるように、スコアに対応する地図画像をディスプレイに表示する画面を生成し、図16で示されるように表示する(ステップS105)。この具体例では、地図画像「XYZ−MAP.jpg」のスコアが最も大きく、地図画像「ABC−MAP.gif」のスコアが2番目であったとしている。ユーザは、この画面を見ることによって、入力した地名情報「姫路」「明石」に対応する画像を、そのランキングの順に閲覧することができる。
以上のように、本実施の形態による地図画像取得装置1によれば、地名情報受付部11が受け付けた1以上の地名情報に対応する地図画像を取得することができる。その地名情報を検索キーとして、画像検索を行ったとしても、地図画像を取得できるとは限らないが、地図画像取得装置1では、地名判断部13による判断や、しきい値判断部14による判断を行うことによって、地図の画像である可能性の高い地図画像を取得することができるようになる。また、現実世界での地名の変更や、施設の閉鎖等に対応していない公開画像、すなわち、現在は存在していない地名を含む公開画像があったとしても、しきい値判断部14が、最新の地名データベースを用いて地名の判断を行うことによって、現在は存在していない地名の文字列を、地名文字列と判断しないようにすることができ、現実世界に対応した精度の高い地図画像の取得も可能となりうる。また、取得した地図画像を、個数Nや、領域整合度R、空間整合度S1、S2、テキスト整合度T1、T2を用いてランキングして出力するため、より適切な地図画像を上位に出力することができるようになり、ユーザの利便性が高くなる。
なお、本実施の形態では、空間整合度算出部19が、実測地図情報取得部18が取得した実測地図情報を用いて空間整合度を算出する場合について説明したが、そうでなくてもよい。空間整合度算出部19は、地名文字列に対応する、実測に基づいた地図における位置を、例えば、地名データベースを用いて取得することができる。したがって、空間整合度算出部19は、その地名データベースを用いて取得した位置(例えば、緯度・経度)を用いて、空間整合度S1、S2を算出してもよい。その場合であっても、空間整合度算出部19は、地図画像と、実測に基づいた地図との整合の程度を示す空間整合度を算出することができる。前述の空間整合度の算出の処理の説明においても、実測地図情報における位置を用いるのみであり、図形を用いていないことからも明らかである。なお、実測地図情報を用いないで空間整合度を算出する場合には、地図画像取得装置1は、実測地図情報取得部18を備えていなくてもよい。
また、本実施の形態では、テキスト整合度算出部21がテキスト整合度T2を算出する場合について説明したが、そうでなくてもよい。その場合には、出力部22は、テキスト整合度T2を用いた地図画像のランキングを行わなくてもよい。
また、本実施の形態では、テキスト整合度算出部21がテキスト整合度T1を算出する場合について説明したが、そうでなくてもよい。その場合には、出力部22は、テキスト整合度T1を用いた地図画像のランキングを行わなくてもよい。
また、本実施の形態において、テキスト整合度算出部21は、テキスト整合度T1、T2以外の、地図画像と、周辺テキストに含まれる地名とに関する整合の程度を示すテキスト整合度を算出してもよいことは言うまでもない。
また、本実施の形態において、テキスト整合度の算出を行わなくてもよい。その場合には、地図画像取得装置1は、周辺テキスト取得部20や、テキスト整合度算出部21を備えていなくてもよい。
また、本実施の形態では、空間整合度算出部19が空間整合度S2を算出する場合について説明したが、そうでなくてもよい。その場合には、出力部22は、空間整合度S2を用いた地図画像のランキングを行わなくてもよい。
また、本実施の形態では、空間整合度算出部19が空間整合度S1を算出する場合について説明したが、そうでなくてもよい。その場合には、出力部22は、空間整合度S1を用いた地図画像のランキングを行わなくてもよい。
また、本実施の形態において、空間整合度算出部19は、空間整合度S1、S2以外の、地図画像と、実測に基づいた地図との整合の程度を示す空間整合度を算出してもよいことは言うまでもない。
また、本実施の形態において、空間整合度の算出を行わなくてもよい。その場合には、地図画像取得装置1は、実測地図情報取得部18や、空間整合度算出部19を備えていなくてもよい。
また、本実施の形態では、領域整合度算出部17が領域整合度Rを算出する場合について説明したが、そうでなくてもよい。その場合には、出力部22は、領域整合度Rを用いた地図画像のランキングを行わなくてもよい。また、その場合には、地図画像取得装置1は、領域整合度算出部17を備えていなくてもよい。
また、本実施の形態では、個数特定部16が地図画像に含まれる地名情報の個数Nを特定する場合について説明したが、そうでなくてもよい。その場合には、出力部22は、個数Nを用いた地図画像のランキングを行わなくてもよい。また、その場合には、地図画像取得装置1は、個数特定部16を備えていなくてもよい。
また、本実施の形態では、しきい値より多くの地名が含まれる地図画像を取得する場合について説明したが、そうでなくてもよい。その場合には、地図画像取得装置1は、しきい値判断部14を備えていなくてもよい。その場合には、地図画像取得部15は、地名判断部13によって地名情報が含まれると判断された公開画像である地図画像を取得するものであってもよい。
また、本実施の形態では、受け付けられた地名情報が含まれるかどうかを地名判断部13が判断する場合について説明したが、そうでなくてもよい。地名判断部13による判断を行わない場合には、例えば、地図画像取得部15が、文字認識を行うことなく、公開画像に地名情報が含まれるかどうかの判断を行い、その判断結果に応じて地図画像の取得を行ってもよい。その場合には、例えば、画像のファイル名やヘッダ等に、当該画像に含まれる地名(画像の地名)に対応した地名(文字コードで記述される地名)が含まれていてもよい。そして、地図画像取得部15は、そのファイル名等の情報を用いて、公開画像が地名情報を含む地図画像であるかどうかの判断を行ってもよい。また、地名判断部13による判断を行わない場合には、地図画像取得装置1は、文字認識部12や地名判断部13を備えていなくてもよい。なお、個数特定部16等の後段の処理で文字認識の結果を用いる場合には、地名判断部13による判断を行わない場合であっても、地図画像取得装置1は、文字認識部12を備えていてもよい。
また、本実施の形態では、地図画像取得装置1について説明したが、空間整合度算出部19、周辺テキスト取得部20、テキスト整合度算出部21、出力部22等を、地図画像をランキングする装置として用いてもよい。その場合には、例えば、地図画像ランキング装置は、複数の地図画像が記憶される地図画像記憶部と、各地図画像に対するランキングのためのランキング指標(スコア)を算出する算出部と、算出部が算出したランキング指標が高いほど上位にランキングするように地図画像を出力する出力部とを備えたものであってもよい。なお、その算出部は、空間整合度算出部19、テキスト整合度算出部21のいずれか1以上と同じ機能を有するものであってもよい。なお、その算出部が、テキスト整合度算出部21と同じ機能を有する場合には、その地図画像ランキング装置は、周辺テキスト取得部20を備えていてもよい。その周辺テキストの取得を行う場合には、例えば、地図画像記憶部において、地図画像に対応付けてその地図画像が取得されたページを特定する情報が記憶されていてもよく、地図画像に対応付けてその地図画像に対応する周辺テキストそのものが記憶されていてもよい。後者の場合には、周辺テキスト取得部20は、その地図画像記憶部から周辺テキストを取得することができる。また、その出力部が、例えば、空間整合度が高いほど上位にランキングするように地図画像を出力したり、テキスト整合度が高いほど上位にランキングするように地図画像を出力したりすることは、本実施の形態と同様である。
また、上記実施の形態では、地図画像取得装置1が図5で示されるようにクライアントである場合について説明したが、地図画像取得装置1自体が、サーバ・クライアントシステムにおけるサーバ装置であってもよい。その場合には、出力部や受付部は、通信回線を介して入力を受け付けたり、情報を出力したりしてもよい。
また、上記実施の形態において、各処理または各機能は、単一の装置または単一のシステムによって集中処理されることによって実現されてもよく、あるいは、複数の装置または複数のシステムによって分散処理されることによって実現されてもよい。
また、上記実施の形態において、各構成要素が実行する処理に関係する情報、例えば、各構成要素が受け付けたり、取得したり、選択したり、生成したり、送信したり、受信したりした情報や、各構成要素が処理で用いるしきい値や数式、アドレス等の情報等は、上記説明で明記していない場合であっても、図示しない記録媒体において、一時的に、あるいは長期にわたって保持されていてもよい。また、その図示しない記録媒体への情報の蓄積を、各構成要素、あるいは、図示しない蓄積部が行ってもよい。また、その図示しない記録媒体からの情報の読み出しを、各構成要素、あるいは、図示しない読み出し部が行ってもよい。
また、上記実施の形態において、各構成要素等で用いられる情報、例えば、各構成要素が処理で用いるしきい値やアドレス、各種の設定値等の情報がユーザによって変更されてもよい場合には、上記説明で明記していない場合であっても、ユーザが適宜、それらの情報を変更できるようにしてもよく、あるいは、そうでなくてもよい。それらの情報をユーザが変更可能な場合には、その変更は、例えば、ユーザからの変更指示を受け付ける図示しない受付部と、その変更指示に応じて情報を変更する図示しない変更部とによって実現されてもよい。その図示しない受付部による変更指示の受け付けは、例えば、入力デバイスからの受け付けでもよく、通信回線を介して送信された情報の受信でもよく、所定の記録媒体から読み出された情報の受け付けでもよい。
また、上記実施の形態において、地図画像取得装置1に含まれる2以上の構成要素が通信デバイスや入力デバイス等を有する場合に、2以上の構成要素が物理的に単一のデバイスを有してもよく、あるいは、別々のデバイスを有してもよい。
また、上記実施の形態において、各構成要素は専用のハードウェアにより構成されてもよく、あるいは、ソフトウェアにより実現可能な構成要素については、プログラムを実行することによって実現されてもよい。例えば、ハードディスクや半導体メモリ等の記録媒体に記録されたソフトウェア・プログラムをCPU等のプログラム実行部が読み出して実行することによって、各構成要素が実現され得る。なお、上記実施の形態における地図画像取得装置1を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、地名の情報である1以上の地名情報を受け付ける地名情報受付部、地名情報受付部が受け付けた地名情報が含まれる画像である地図画像を、画像を公開しているサーバから取得する地図画像取得部、地図画像取得部が取得した地図画像を出力する出力部として機能させるためのプログラムである。
なお、上記プログラムにおいて、上記プログラムが実現する機能には、ハードウェアでしか実現できない機能は含まれない。例えば、情報を取得する取得部や、情報を出力する出力部などにおけるモデムやインターフェースカードなどのハードウェアでしか実現できない機能は、上記プログラムが実現する機能には少なくとも含まれない。
また、このプログラムは、サーバなどからダウンロードされることによって実行されてもよく、所定の記録媒体(例えば、CD−ROMなどの光ディスクや磁気ディスク、半導体メモリなど)に記録されたプログラムが読み出されることによって実行されてもよい。また、このプログラムは、プログラムプロダクトを構成するプログラムとして用いられてもよい。
また、このプログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
図17は、上記プログラムを実行して、上記実施の形態による地図画像取得装置1を実現するコンピュータの外観の一例を示す模式図である。上記実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムによって実現されうる。
図17において、コンピュータシステム900は、CD−ROM(Compact Disk Read Only Memory)ドライブ905、FD(Floppy(登録商標) Disk)ドライブ906を含むコンピュータ901と、キーボード902と、マウス903と、モニタ904とを備える。
図18は、コンピュータシステム900の内部構成を示す図である。図18において、コンピュータ901は、CD−ROMドライブ905、FDドライブ906に加えて、MPU(Micro Processing Unit)911と、ブートアッププログラム等のプログラムを記憶するためのROM912と、MPU911に接続され、アプリケーションプログラムの命令を一時的に記憶すると共に、一時記憶空間を提供するRAM(Random Access Memory)913と、アプリケーションプログラム、システムプログラム、及びデータを記憶するハードディスク914と、MPU911、ROM912等を相互に接続するバス915とを備える。なお、コンピュータ901は、LANへの接続を提供する図示しないネットワークカードを含んでいてもよい。
コンピュータシステム900に、上記実施の形態による地図画像取得装置1の機能を実行させるプログラムは、CD−ROM921、またはFD922に記憶されて、CD−ROMドライブ905、またはFDドライブ906に挿入され、ハードディスク914に転送されてもよい。これに代えて、そのプログラムは、図示しないネットワークを介してコンピュータ901に送信され、ハードディスク914に記憶されてもよい。プログラムは実行の際にRAM913にロードされる。なお、プログラムは、CD−ROM921やFD922、またはネットワークから直接、ロードされてもよい。
プログラムは、コンピュータ901に、上記実施の形態による地図画像取得装置1の機能を実行させるオペレーティングシステム(OS)、またはサードパーティプログラム等を必ずしも含んでいなくてもよい。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいてもよい。コンピュータシステム900がどのように動作するのかについては周知であり、詳細な説明は省略する。
また、本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。