(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-07-16
(45)【発行日】2024-07-24
(54)【発明の名称】地図表現データ処理装置、情報処理方法、およびプログラム
(51)【国際特許分類】
G06F 16/587 20190101AFI20240717BHJP
G06F 16/55 20190101ALI20240717BHJP
G06F 16/58 20190101ALI20240717BHJP
G06F 16/29 20190101ALI20240717BHJP
G09B 29/00 20060101ALI20240717BHJP
G01C 21/26 20060101ALI20240717BHJP
【FI】
G06F16/587
G06F16/55
G06F16/58
G06F16/29
G09B29/00 A
G01C21/26 B
(21)【出願番号】P 2021526979
(86)(22)【出願日】2020-06-22
(86)【国際出願番号】 JP2020024436
(87)【国際公開番号】W WO2020262313
(87)【国際公開日】2020-12-30
【審査請求日】2023-04-24
(31)【優先権主張番号】P 2019117259
(32)【優先日】2019-06-25
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】517044845
【氏名又は名称】株式会社Stroly
(74)【代理人】
【識別番号】100115749
【氏名又は名称】谷川 英和
(72)【発明者】
【氏名】アリアガ バレラ エンリケ ハビエル
(72)【発明者】
【氏名】高橋 徹
【審査官】松尾 真人
(56)【参考文献】
【文献】特開2012-168069(JP,A)
【文献】特開2002-169823(JP,A)
【文献】特開2011-043788(JP,A)
【文献】特開2014-032308(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G01C 21/00-21/36
G09B 29/00
(57)【特許請求の範囲】
【請求項1】
撮影された地図写真を端末装置から受信する写真受信部と、
イラスト地図、手書き地図、略地図のうちのいずれかである地図表現データにおける座標情報と位置情報との組である2以上の対応情報と地図表現データとを有する2以上のナビ情報を有するナビ情報集合
から、前記地図写真と第一条件を満たす
ほど類似する地図表現データを有するナビ情報を決定する決定部と、
前記決定部が決定した
前記ナビ情報を前記端末装置に送信するナビ情報送信部とを具備し、
前記写真受信部は、
前記端末装置の現在位置を特定する端末位置情報をも受信し、
前記決定部は、
前記第一条件を満たす地図表現データを有するナビ情報を決定できなかった場合、前記端末位置情報と第二条件を満たすほど近い位置を示す位置情報を含むナビ情報を決定する、地図表現データ処理装置。
【請求項2】
前記地図写真から1以上の文字列を取得する文字列取得部をさらに具備し、
前記決定部は、
前記1以上の各文字列を用いて、前記第一条件を満たすナビ情報を決定する請求項1
記載の地図表現データ処理装置。
【請求項3】
前記対応情報に対応付けて、地点の名称情報が格納されており、
前記決定部は、
前記1以上の各文字列と前記名称情報とが一致するか否かを判断し、前記文字列と前記名称情報との一致に関する判断結果を用いて、前記第一条件を満たすナビ情報を決定する請求項
2記載の地図表現データ処理装置。
【請求項4】
前記ナビ情報に対応付けて、当該地図表現データがカバーする領域を特定する領域特定情報が格納され、
前記文字列取得部は、
前記地図写真から3以上の文字列を取得し、
地点を特定する地点情報と当該地点の位置を特定する位置情報とを対応付ける情報である1以上の地点位置情報を有する地点辞書を用いて、前記文字列取得部が取得した3以上の各文字列である地点情報に対応する位置情報を取得する位置情報取得部と、
前記位置情報取得部が取得した3以上の位置情報を用いて、前記地図写真がカバーする領域を特定する領域特定情報を取得する領域特定情報取得部とをさらに具備し、
前記決定部は、
前記領域特定情報取得部が取得した領域特定情報と前記第一条件を満たす領域特定情報に対応するナビ情報を決定する請求項
2記載の地図表現データ処理装置。
【請求項5】
前記決定部は、
前記地図写真から地図の領域をカットし、地図カット画像を取得し、当該地図カット画像を用いて、地図表現データと、当該地図表現データにおける座標情報と位置情報との組である2以上の対応情報とを有する2以上のナビ情報を有するナビ情報集合を検索し、送信するナビ情報を決定する請求項1から請求項
4いずれか一項に記載の地図表現データ処理装置。
【請求項6】
前記決定部は、
前記地図カット画像を矩形に補正し、補正地図画像を取得し、当該補正地図画像を用いて、地図表現データと、当該地図表現データにおける座標情報と位置情報との組である2以上の対応情報とを有する2以上のナビ情報を有するナビ情報集合を検索し、送信するナビ情報を決定する請求項
5記載の地図表現データ処理装置。
【請求項7】
前記第一条件は、
前記地図写真と画像である前記地図表現データとの類似度に関する画像類似条件、前記地図写真に表出している1以上の各文字列である第一文字列集合と前記地図表現データに対応する1以上の各文字列である第二文字列集合との合致の度合いに関する文字列類似条件、前記地図写真がサポートする領域の第一範囲と前記地図表現データがサポートする領域の第二範囲との関係に関する範囲類似条件のうちの1または2以上の条件を有する、請求項1から請求項
6いずれか一項に記載の地図表現データ処理装置。
【請求項8】
前記決定部が2以上のナビ情報を決定した場合に、当該2以上の各ナビ情報が有する地図表現データまたは当該地図表現データのサムネイル画像である2以上の選択画像を前記端末装置に送信する選択画像送信部と、
選択画像を識別する画像識別子を有する選択指示を前記端末装置から受信する選択受信部とをさらに具備し、
前記ナビ情報送信部は、
前記選択指示が有する画像識別子と対になる2以上の対応情報を前記端末装置に送信する請求項1から請求項
7いずれか一項に記載の地図表現データ処理装置。
【請求項9】
前記写真受信部は、
前記端末装置の現在位置を特定する端末位置情報をも受信し、
前記地図写真から3以上の文字列を取得する文字列取得部と、
前記3以上の各文字列の座標情報を取得する座標情報取得部と、
地点を特定する地点情報と当該地点の位置を特定する位置情報とを対応付ける情報である1以上の地点位置情報を有する地点辞書を用いて、前記3以上の各文字列に対応する位置情報を取得する位置情報取得部と、
前記座標情報と前記位置情報との組である3以上の対応情報と、前記端末位置情報とを用いて、前記端末位置情報に対応する座標を特定する現在座標情報を取得する現在座標取得部とをさらに具備し、
前記ナビ情報送信部は、
ナビ情報に代えて、前記現在座標情報を端末装置に送信する請求項1から請求項
6いずれか一項に記載の地図表現データ処理装置。
【請求項10】
写真受信部と、決定部と、ナビ情報送信部とにより実現される情報処理方法であって、
前記写真受信部が、撮影された地図写真を端末装置から受信する写真受信ステップと、
前記決定部が、イラスト地図、手書き地図、略地図のうちのいずれかである地図表現データにおける座標情報と位置情報との組である2以上の対応情報と地図表現データとを有する2以上のナビ情報を有するナビ情報集合
から、前記地図写真と第一条件を満たす
ほど類似する地図表現データを有するナビ情報を決定する決定ステップと、
前記ナビ情報送信部が、前記決定部が決定した
前記ナビ情報を前記端末装置に送信するナビ情報送信ステップとを具備し、
前記写真受信ステップにおいて、
前記端末装置の現在位置を特定する端末位置情報をも受信し、
前記決定ステップにおいて、
前記第一条件を満たす地図表現データを有するナビ情報を決定できなかった場合、前記端末位置情報と第二条件を満たすほど近い位置を示す位置情報を含むナビ情報を決定する情報処理方法。
【請求項11】
コンピュータを、
撮影された地図写真を端末装置から受信する写真受信部と、
イラスト地図、手書き地図、略地図のうちのいずれかである地図表現データにおける座標情報と位置情報との組である2以上の対応情報と地図表現データとを有する2以上のナビ情報を有するナビ情報集合
から、前記地図写真と第一条件を満たす
ほど類似する地図表現データ有するナビ情報を決定する決定部と、
前記決定部が決定した
前記ナビ情報を前記端末装置に送信するナビ情報送信部として機能させるためのプログラム
であって、
前記写真受信部は、
前記端末装置の現在位置を特定する端末位置情報をも受信し、
前記決定部は、
前記第一条件を満たす地図表現データを有するナビ情報を決定できなかった場合、前記端末位置情報と第二条件を満たすほど近い位置を示す位置情報を含むナビ情報を決定するmのとして、前記コンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、地図写真を受信し、当該地図写真を用いて、1以上の地図表現データを検索し、当該1以上の地図表現データを端末装置に送信する地図表現データ処理装置等に関するものである。
【背景技術】
【0002】
従来、1以上の第一端末装置のユーザが、自身で作成したり、準備したりした手書きの地図や、イラスト地図などの地図をサーバ装置に登録し、1以上の第二端末装置のユーザが利用できる地図情報システムであり、当該地図にランドマーク等のオブジェクトの情報である地理情報を付与できる地図情報システムがあった(特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、従来技術においては、従来の地図表現データ処理装置においては、撮影された地図写真を用いて取得した地図表現データを使用したナビゲーションを実現できなかった。つまり、従来技術においては、例えば、街中に溢れている略地図等を撮影し、取得された地図写真を用いて、整備され、ナビゲーションに利用できる地図表現データを取得し、当該地図表現データを利用することがきでなかった。
【0005】
なお、ナビゲーションとは、例えば、地図表現データの上における現在位置の明示である。
【課題を解決するための手段】
【0006】
本第一の発明の地図表現データ処理装置は、撮影された地図写真を端末装置から受信する写真受信部と、イラスト地図、手書き地図、略地図のうちのいずれかである地図表現データにおける座標情報と位置情報との組である2以上の対応情報と地図表現データとを有する2以上のナビ情報を有するナビ情報集合を検索し、地図写真と第一条件を満たす関係を有するナビ情報を決定する決定部と、決定部が決定したナビ情報を端末装置に送信するナビ情報送信部とを具備する地図表現データ処理装置である。
【0007】
かかる構成により、撮影された地図写真を用いて取得した地図表現データを使用したナビゲーションを実現できる。
【0008】
また、本第二の発明の地図表現データ処理装置は、第一の発明に対して、決定部は、第一条件を満たすほど、地図写真と類似する地図表現データを決定する決定手段と、決定手段が決定した地図表現データを含むナビ情報をナビ情報集合から取得する取得手段とを具備し、ナビ情報送信部は、取得手段が取得したナビ情報を端末装置に送信する地図表現データ処理装置である。
【0009】
かかる構成により、撮影された地図写真に画像として類似する地図表現データを使用したナビゲーションを実現できる。
【0010】
また、本第三の発明の地図表現データ処理装置は、第一または第二の発明に対して、地図写真から1以上の文字列を取得する文字列取得部をさらに具備し、決定部は、1以上の各文字列を用いて、第一条件を満たすナビ情報を決定する地図表現データ処理装置である。
【0011】
かかる構成により、より適切な地図表現データを使用したナビゲーションを実現できる。
【0012】
また、本第四の発明の地図表現データ処理装置は、第三の発明に対して、対応情報に対応付けて、地点の地点情報が格納されており、決定部は、1以上の各文字列と地点情報とが一致するか否かを判断し、文字列と地点情報との一致に関する判断結果を用いて、第一条件を満たすナビ情報を決定する地図表現データ処理装置である。
【0013】
かかる構成により、より適切な地図表現データを使用したナビゲーションを実現できる。
【0014】
また、本第五の発明の地図表現データ処理装置は、第三の発明に対して、ナビ情報に対応付けて、地図表現データがカバーする領域を特定する領域特定情報が格納され、文字列取得部は、地図写真から3以上の文字列を取得し、地点を特定する地点情報と地点の位置を特定する位置情報とを対応付ける情報である1以上の地点位置情報を有する地点辞書を用いて、文字列取得部が取得した3以上の各文字列である地点情報に対応する位置情報を取得する位置情報取得部と、位置情報取得部が取得した3以上の位置情報を用いて、地図写真がカバーする領域を特定する領域特定情報を取得する領域特定情報取得部とをさらに具備し、決定部は、領域特定情報取得部が取得した領域特定情報と第一条件を満たす領域特定情報に対応するナビ情報を決定する地図表現データ処理装置である。
【0015】
かかる構成により、より適切な地図表現データを使用したナビゲーションを実現できる。
【0016】
また、本第六の発明の地図表現データ処理装置は、第一から第五いずれか1つの発明に対して、決定部は、地図写真から地図の領域をカットし、地図カット画像を取得し、地図カット画像を用いて、地図表現データと、地図表現データにおける座標情報と位置情報との組である2以上の対応情報とを有する2以上のナビ情報を有するナビ情報集合を検索し、送信するナビ情報を決定する地図表現データ処理装置である。
【0017】
かかる構成により、より適切な地図表現データを使用したナビゲーションを実現できる。
【0018】
また、本第七の発明の地図表現データ処理装置は、第六の発明に対して、決定部は、地図カット画像を矩形に補正し、補正地図画像を取得し、補正地図画像を用いて、地図表現データと、地図表現データにおける座標情報と位置情報との組である2以上の対応情報とを有する2以上のナビ情報を有するナビ情報集合を検索し、送信するナビ情報を決定する地図表現データ処理装置である。
【0019】
かかる構成により、より適切な地図表現データを使用したナビゲーションを実現できる。
【0020】
また、本第八の発明の地図表現データ処理装置は、第一から第七いずれか1つの発明に対して、写真受信部は、端末装置の現在位置を特定する端末位置情報をも受信し、決定部は、第一条件を満たすナビ情報を決定できなかった場合、端末位置情報と第二条件を満たすほど近い位置を示す位置情報を含むナビ情報を決定する地図表現データ処理装置である。
【0021】
かかる構成により、地図写真を用いて適切な地図表現データを決定できなかった場合に、位置情報を用いた適切な使用した地図表現データを決定できる。
【0022】
また、本第九の発明の地図表現データ処理装置は、第一から第八いずれか1つの発明に対して、決定部が2以上のナビ情報を決定した場合に、2以上の各ナビ情報が有する地図表現データまたは地図表現データのサムネイル画像である2以上の選択画像を端末装置に送信する選択画像送信部と、選択画像を識別する画像識別子を有する選択指示を端末装置から受信する選択受信部とをさらに具備し、ナビ情報送信部は、選択指示が有する画像識別子と対になる2以上の対応情報を端末装置に送信する地図表現データ処理装置である。
【0023】
かかる構成により、ユーザが好みに合う地図表現データを選択できる。
【0024】
また、本第十の発明の地図表現データ処理装置は、第一から第七いずれか1つの発明に対して、写真受信部は、端末装置の現在位置を特定する端末位置情報をも受信し、地図写真から3以上の文字列を取得する文字列取得部と、3以上の各文字列の座標情報を取得する座標情報取得部と、地点を特定する地点情報と地点の位置を特定する位置情報とを対応付ける情報である1以上の地点位置情報を有する地点辞書を用いて、3以上の各文字列に対応する位置情報を取得する位置情報取得部と、座標情報と位置情報との組である3以上の対応情報と、端末位置情報とを用いて、端末位置情報に対応する座標を特定する現在座標情報を取得する現在座標取得部とをさらに具備し、ナビ情報送信部は、ナビ情報に代えて、現在座標情報を端末装置に送信する地図表現データ処理装置である。
【0025】
かかる構成により、地図写真の中に現在位置を示すことができる。
【0026】
また、本第十一の発明の端末装置は、地図写真を撮影する端末撮影部と、地図写真を地図表現データ処理装置に送信する端末送信部と、地図表現データ処理装置からナビ情報を受信する端末受信部と、現在位置情報を取得する端末位置取得部と、ナビ情報が有する2以上の対応情報を用いて、現在位置情報に対応する現在座標情報を取得する端末座標取得部と、ナビ情報が有する地図表現データ上に現在座標情報が示す座標位置に現在位置を明示した現在地付加地図表現データを出力する端末出力部とを具備する端末装置である。
【0027】
かかる構成により、撮影された地図写真を用いて取得した地図表現データを使用したナビゲーションを実現できる。
【0028】
また、本第十二の発明の端末装置は、第十一の発明に対して、地図写真から地図の領域をカットし、地図カット画像を取得する端末カット部をさらに具備し、端末送信部は、地図写真に代えて、地図カット画像を地図表現データ処理装置に送信する端末装置である。
【0029】
かかる構成により、撮影された地図写真を用いて取得した地図表現データを使用したナビゲーションを実現できる。
【0030】
また、本第十三の発明の端末装置は、第十二の発明に対して、地図カット画像を矩形に補正し、補正地図画像を取得する端末補正部をさらに具備し、端末送信部は、地図カット画像に代えて、補正地図画像を地図表現データ処理装置に送信する端末装置である。
【0031】
かかる構成により、撮影された地図写真を用いて取得した地図表現データを使用したナビゲーションを実現できる。
【発明の効果】
【0032】
本発明による地図表現データ処理装置によれば、撮影された地図写真を用いて取得した地図表現データを使用したナビゲーションを実現できる。
【図面の簡単な説明】
【0033】
【
図1】実施の形態1における学習装置Aのブロック図
【
図3】学習装置Aの動作例について説明するフローチャート
【
図4】同分類装置Bの動作例について説明するフローチャート
【
図5】同学習装置Aと分類装置Bの具体的な動作例の説明図
【
図7】実施の形態2における地図表現データ処理装置Cのブロック図
【
図8】同地図表現データ処理装置Cの動作例について説明するフローチャート
【
図9】同グループ化処理の例について説明するフローチャート
【
図10】同領域特定処理の例について説明するフローチャート
【
図11】同方角取得処理の例について説明するフローチャート
【
図12】同出力処理の例について説明するフローチャート
【
図17】実施の形態3における地図表現データ処理装置Dのブロック図
【
図18】同地図表現データ処理装置Dの動作例について説明するフローチャート
【
図19】実施の形態4における地図表現データ処理装置Eのブロック図
【
図20】同地図表現データ処理装置Eを構成する処理部E3のブロック図
【
図21】同地図表現データ処理装置Eの動作例について説明するフローチャート
【
図22】同対応情報取得処理の例について説明するフローチャート
【
図23】同距離関係情報取得処理の例について説明するフローチャート
【
図24】同角度関係情報取得処理の例について説明するフローチャート
【
図25】同領域特定処理の例について説明するフローチャート
【
図26】同方角情報取得処理の例について説明するフローチャート
【
図27】同地点追加処理の例について説明するフローチャート
【
図28】同出力地図構成処理の例について説明するフローチャート
【
図29】同地図表現データ処理装置Eの具体的な処理例を示す図
【
図31】同地図表現データ処理装置Eが処理途中に取得する情報の例を示す図
【
図32】同地図表現データ処理装置Eが処理途中に取得する情報の例を示す図
【
図33】同地図表現データ処理装置Eが処理途中に取得する情報のイメージを示す図
【
図34】同地図表現データ処理装置Eが処理途中に取得する情報の例を示す図
【
図35】同地図表現データ処理装置Eが処理途中に取得する情報の例を示す図
【
図36】同地図表現データ処理装置Eが処理途中に取得する情報のイメージを示す図
【
図37】同地図表現データ処理装置Eが処理途中に取得する情報のイメージを示す図
【
図38】同地図表現データ処理装置Eが処理途中に取得する情報の例を示す図
【
図39】同地図表現データ処理装置Eが処理途中に取得する情報の例を示す図
【
図40】同地図表現データ処理装置Eの処理を説明するイメージ図
【
図41】同地図表現データ処理装置Eの処理を説明するイメージ図
【
図42】同地図表現データ処理装置Eの出力例を示す図
【
図43】同地図表現データ処理装置Eの処理を説明するイメージ図
【
図44】同地図表現データ処理装置Eの処理を説明するイメージ図
【
図45】同地図表現データ処理装置Eの処理を説明するイメージ図
【
図46】同地図表現データ処理装置Eの正確地図情報の出力例を示す図
【
図47】実施の形態5における情報システムFの概念図
【
図50】同地図表現データ処理装置Gの動作例について説明するフローチャート
【
図51】同第一決定処理の例について説明するフローチャート
【
図52】同第二決定処理の例について説明するフローチャート
【
図53】同端末装置Hの動作例について説明するフローチャート
【
図60】上記実施の形態におけるコンピュータシステムの概観図
【発明を実施するための形態】
【0034】
以下、地図表現データ処理装置等の実施形態について図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【0035】
(実施の形態1)
本実施の形態において、2以上の文字を有する文字列と、文字列を分類するためのラベルとを有する2以上の学習元情報を機械学習の技法により学習し、学習器を構成する学習装置について説明する。なお、ラベルは、地点辞書での出現回数に関するラベルであり、2または2種類以上のラベルのいずれかのラベルである。また、ラベルは、出現頻度が1、0、2以上の3種類のうちのいずれかであることは好適である。なお、機械学習の技法を用いることは、機械学習のアルゴリズムを用いることと同意義である。
【0036】
また、本実施の形態において、学習モジュールに対して、文字列を文字ごとに与え(文字列のストリームを与え)、学習させ、学習器を構成する学習装置について説明する。
【0037】
さらに、本実施の形態において、学習装置が構成した学習器を用いて、分類モジュールに文字列を与え、当該文字列に対応するラベルを取得する分類装置について説明する。なお、分類モジュールは、予測モジュールと言っても良い。
【0038】
図1は、本実施の形態における学習装置Aのブロック図である。また、
図2は、本実施の形態における分類装置Bのブロック図である。
【0039】
学習装置Aは、格納部A1、受付部A2、処理部A3、および出力部A4を備える。格納部A1は、学習元情報格納部A11、および学習器格納部A12を備える。処理部A3は、学習部A31を備える。出力部A4は、蓄積部A41を備える。
【0040】
分類装置Bは、格納部B1、受付部B2、処理部B3、および出力部B4を備える。格納部B1は、学習器格納部A12を備える。受付部B2は、文字列受付部B21を備える。処理部B3は、分類部B31を備える。出力部B4は、ラベル出力部B41を備える。
【0041】
学習装置Aを構成する格納部A1には、各種の情報が格納される。各種の情報とは、例えば、後述する学習元情報、後述する学習器、学習モジュールである。学習モジュールは、学習部A31を構成するプログラムであり、学習器を取得するためのプログラムである。学習モジュールは、例えば、fastText、tinySVM、TensorFlow等の機械学習フレームワークにおける関数や各種のrandom forest関数等である。
【0042】
学習元情報格納部A11には、2以上の学習元情報が格納される。学習元情報は、学習の対象の情報である。学習元情報は、文字列とラベルとを有する。文字列は、2以上の文字を有する。ラベルは、後述する地点辞書での出現回数に関する情報である。ラベルは、2または3種類以上のラベルのうちのいずれかの情報を採り得る。
【0043】
ラベルは、地点辞書での出現回数は1回であることを示す第一ラベル、地点辞書での出現回数が0回であることを示す第二ラベル、地点辞書での出現回数が2回以上であることを示す第三ラベルのうちのいずれかであることは好適である。つまり、ラベルは、3つのうちの情報のいずれかを採り得ることは好適である。
【0044】
地点辞書とは、地点名に関する辞書である。地点辞書は、例えば、地点名と当該地点名で特定される箇所の位置を特定する位置情報とを有する2以上の対応情報を有する。地点名とは、例えば、地名、ランドスケープ名、特定の地点の名称、都道府県名、市町村名、川や山や公園や名勝等の名前です。地点辞書は、例えば、地点名と当該地点名で特定される地点の説明の情報とを有する2以上の対応情報を有する。
【0045】
学習器格納部A12には、学習器が格納される。学習器は、分類器と言っても良い。また、学習器は、分類モデル、予測モデル等と言っても良い。学習器は、機械学習の技法を採用する学習モジュールにより取得される情報である。機械学習の技法は、深層学習、SVM、決定木、ランダムフォレスト等、問わない。機械学習の技法は、例えば、回帰型ニューラルネットワーク(RNN)を用いる技法であることは好適である。つまり、学習器は、RNNであることは好適である。
【0046】
受付部A2は、各種の情報や指示を受け付ける。ここで、受け付けとは、ユーザの入力の受け付け、外部の装置からの受信等である。ただし、受け付けにより、各種の情報や指示を取得できれば良い。各種の情報や指示の入力手段は、例えば、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
【0047】
処理部A3は、各種の処理を行う。各種の処理は、例えば、学習部A31が行う処理である。
【0048】
学習部A31は、学習元情報格納部A11の2以上の学習元情報を用いて、機械学習の技法による学習処理を行い、学習器を取得する。
【0049】
学習部A31は、例えば、学習元情報格納部A11の2以上の各学習元情報が有する文字列を構成する各文字を順番に機械学習の学習モジュールに与え、かつ文字列と対になるラベルを学習モジュールに与え、当該学習モジュールを実行し、学習器を取得する。なお、文字列を構成する各文字を順番に機械学習の学習モジュールに与える処理は、例えば、文字列のストリームを機械学習の学習モジュールに与える処理である、と言っても良い。つまり、学習部A31は、2以上の各学習元情報が有する文字列のストリームを学習する、と言っても良い。また、機械学習の学習モジュールは、例えば、格納部A1に格納されている。
【0050】
また、学習器を取得するための機械学習の技法は、例えば、深層学習、SVR、ランダムフォレスト、決定木等が使用可能である。また、機械学習の学習モジュールは、例えば、fastText、tinySVM、TensorFlow等の機械学習フレームワークにおける関数や各種のrandom forest関数等である。
【0051】
また、学習部A31が取得する学習器は、文字列を入力として、機械学習の分類モジュールに与えた場合に、ラベルを出力するための情報である。学習部A31が取得する学習器は、例えば、文字列を構成する文字を1文字ずつ、順に与えた場合に、ラベルを出力するための情報である。
【0052】
なお、学習部A31は、学習モジュールを含むと考えても、学習モジュールを含まないと考えても良い。
【0053】
出力部A4は、各種の情報を出力する。各種の情報とは、例えば、学習器である。ここで、出力とは、通常、記録媒体への蓄積であるが、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である、と考えても良い。
【0054】
蓄積部A41は、学習部A31が取得した学習器を蓄積する。蓄積部A41は、通常、学習器格納部A12に学習部A31が取得した学習器を蓄積する。ただし、蓄積部A41は、外部の図示しない装置に学習部A31が取得した学習器を送信しても良い。
【0055】
分類装置Bを構成する格納部B1には、各種の情報が格納される。各種の情報とは、例えば、学習器、機械学習の分類モジュール、地図情報である。
【0056】
機械学習の分類モジュールにおける機械学習の技法は、深層学習、SVM、決定木、ランダムフォレスト等、問わない。機械学習の技法は、例えば、回帰型ニューラルネットワークを用いる技法であることは好適である。分類モジュールは、受け付けられた文字列の分類のためのプログラムであり、例えば、fastText、tinySVM、TensorFlow等の機械学習フレームワークにおける関数や各種のrandom forest関数等である。
【0057】
地図情報は、地図に関する情報である。地図情報は、例えば、地図表現データである。地図表現データとは、表現する地理的な領域が限られている情報である。地図表現データは、地図表現データを識別する地図識別子と対応付いていることは好適である。地図識別子は、例えば、ID、地図表現データを有するファイル名、地図表現データの名称等である。地図表現データは、例えば、古地図、イラストマップ、略地図、手書き地図等であるが、その種類は問わない。地図表現データは、通常、画像データであるが、ベクトルデータ等でも良く、データ構造は問わない。地図表現データは、1または2以上の属性値に対応付けられている。1以上の属性値は、地図表現データの属性値である。属性値は、地図表現データの性質や特徴などを示す情報である。地図表現データに対応付けられている1以上の属性値は、領域特定情報を含む。領域特定情報は、地図表現データが表す領域を特定する情報である。領域は、通常、矩形であるが、三角形、八角形、円形等の、矩形以外の形状も良い。地図表現データが表す領域は、地図表現データが表現している領域と言っても良い。領域特定情報は、例えば、(緯度,経度)の集合である。また、領域特定情報は、例えば、基準点からの相対的な座標を示す情報の集合である。ただし、領域特定情報のデータ構造は問わず、領域を特定する情報であれば良い。
【0058】
地図表現データに対応付けられている1以上の属性値は、例えば、静的な属性値である静的属性値である。また、地図表現データに対応付けられている1以上の属性値は、例えば、動的に変化する動的属性値である。1以上の属性値は、1以上の静的属性値と1以上の動的属性値を含んでも良い。静的属性値は、例えば、地図表現データの地図としての縮尺率(適宜、単に「縮尺率」という)、地図表現データが示す領域の地図上での実施の面積(適宜、単に「面積」という)、地図の内容を示す内容情報である。内容情報は、地図表現データの完成度、地図表現データのテーマ、地図表現データに対応するメタデータ、キーワード等である。メタデータ、キーワードは、例えば、地図表現データの種類、地図表現データの領域に存在するランドスケープ名、地名等である。地図表現データの種類は、例えば、テーマパークの地図であることを示す「テーマパーク」、観光用の地図であることを示す「観光地図」、特定の領域(例えば、学校など)の地図であることを示す情報等である。また、1以上の静的属性値は、例えば、位置特定情報が示す位置を明示することを示すフラグ、または位置特定情報が示す位置を明示できないことを示すフラグ等でも良い。動的属性値は、例えば、位置特定情報が示す位置と地図表現データを代表する地点との距離、地図表現データに対するユーザのアクションに関するユーザアクション情報である。
【0059】
なお、地図表現データを代表する地点とは、例えば、地図表現データの重心点、地図表現データの端のいずれかの点、地図表現データの領域の境界を構成するいずれかの点である。
【0060】
地図表現データは、ファイルに含まれることは好適である。ただし、地図表現データは、データベース内のデータでも良く、そのデータフォーマット、管理方法は問わない。地図表現データがファイルに含まれる場合、当該ファイルに2以上の地図表現データが含まれていても良い。また、一の地図表現データが2以上のファイルにより実現されても良い。つまり、一つの地図表現データが2以上のファイルに分割されていても良い。
【0061】
分類装置Bを構成する学習器格納部A12には、学習装置Aが蓄積した学習器が格納される。
【0062】
受付部B2は、各種の情報や指示を受け付ける。ここで、受け付けとは、例えば、ユーザの入力の受け付け、外部の装置からの受信等である。ただし、受け付けにより、各種の情報や指示を取得できれば良い。各種の情報や指示の入力手段は、例えば、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
【0063】
文字列受付部B21は、文字列を受け付ける。ここで、受け付けとは、例えば、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。
【0064】
文字列受付部B21は、例えば、地図情報に対して、文字認識処理を行い、1以上の文字列を取得する。
【0065】
処理部B3は、各種の処理を行う。各種の処理は、例えば、分類部B31が行う処理である。
【0066】
分類部B31は、受付部B2が受け付けた文字列と学習器格納部A12の学習器とを用いて、機械学習の技法により、当該文字列に対応するラベルを取得する。
【0067】
分類部B31は、例えば、受付部B2が受け付けた文字列を構成する2以上の各文字を文字毎に順番に機械学習の分類モジュールに与え、かつ学習器格納部A12の学習器を前記分類モジュールに与え、当該分類モジュールを実行し、ラベルを取得する。
【0068】
なお、分類部B31は、分類モジュールを含むと考えても、分類モジュールを含まないと考えても良い。
【0069】
出力部B4は、各種の情報を出力する。各種の情報とは、例えば、分類部B31が取得したラベルである。
【0070】
ラベル出力部B41は、分類部B31が取得したラベルを出力する。ここで、出力とは、記録媒体への蓄積、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である、と考えても良い。
【0071】
格納部A1、学習元情報格納部A11、学習器格納部A12、格納部B1、および学習器格納部A12は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0072】
格納部A1等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部A1等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部A1等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部A1等で記憶されるようになってもよい。
【0073】
受付部A2、受付部B2、および文字列受付部B21は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0074】
処理部A3、学習部A31、蓄積部A41、処理部B3、および分類部B31は、通常、MPUやメモリ等から実現され得る。処理部A3等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0075】
出力部A4、出力部B4、およびラベル出力部B41は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部A4等は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0076】
次に、学習装置Aの動作例について、
図3のフローチャートを用いて説明する。
【0077】
(ステップS301)学習部A31は、カウンタiに1を代入する。
【0078】
(ステップS302)学習部A31は、学習元情報格納部A11にi番目の学習元情報が存在するか否かを判断する。i番目の学習元情報が存在する場合はステップS303に行き、i番目の学習元情報が存在しない場合はステップS312に行く。
【0079】
(ステップS303)学習部A31は、学習元情報格納部A11からi番目の学習元情報を取得する。
【0080】
(ステップS304)学習部A31は、カウンタjに1を代入する。
【0081】
(ステップS305)学習部A31は、ステップS303で取得したi番目の学習元情報が有する文字列の中に、j番目の文字が存在するか否かを判断する。j番目の文字が存在する場合はステップS306に行き、j番目の文字が存在しない場合はステップS309に行く。
【0082】
(ステップS306)学習部A31は、ステップS303で取得したi番目の学習元情報が有する文字列の中のj番目の文字を取得する。
【0083】
(ステップS307)学習部A31は、ステップS306で取得したj番目の文字を格納部A1の学習モジュールに与える。なお、文字を学習モジュールに与える処理は、例えば、関数またはメソッドである学習モジュールの引数として当該文字を与えること、実行モジュールである学習モジュールに当該文字を与えること等であり、学習モジュールが当該文字を使用した学習処理ができるようにすることであり、広く解釈する。
【0084】
(ステップS308)学習部A31は、カウンタjを1、インクリメントする。ステップS305に戻る。
【0085】
(ステップS309)学習部A31は、ステップS303で取得したi番目の学習元情報が有するラベルを取得する。
【0086】
(ステップS310)学習部A31は、ステップS309で取得したラベルを格納部A1の学習モジュールに与える。なお、ラベルを学習モジュールに与える処理は、例えば、関数またはメソッドである学習モジュールの引数として当該ラベルを与えること、実行モジュールである学習モジュールに当該ラベルを与えること等であり、学習モジュールが当該ラベルを使用した学習処理ができるようにすることであり、広く解釈する。
【0087】
(ステップS311)学習部A31は、カウンタiを1、インクリメントする。ステップS302に戻る。
【0088】
(ステップS312)学習部A31は、文字のストリーム、ラベルを与えられた学習モジュールを実行し、学習器を取得する。
【0089】
(ステップS313)蓄積部A41は、ステップS312で取得された学習器を学習器格納部A12に蓄積する。処理を終了する。
【0090】
次に、分類装置Bの動作例について、
図4のフローチャートを用いて説明する。
【0091】
(ステップS401)文字列受付部B21は、文字列を受け付けたか否かを判断する。文字列を受け付けた場合はステップS402に行き、文字列を受け付けなかった場合はステップS401に戻る。
【0092】
(ステップS402)分類部B31は、カウンタiに1を代入する。
【0093】
(ステップS403)分類部B31は、ステップS401で受け付けられた文字列の中に、i番目の文字が存在するか否かを判断する。i番目の文字が存在する場合はステップS404に行き、i番目の文字が存在しない場合はステップS407に行く。
【0094】
(ステップS404)分類部B31は、ステップS401で受け付けられた文字列の中のi番目の文字を取得する。
【0095】
(ステップS405)分類部B31は、ステップS404で取得したi番目の文字を格納部B1の分類モジュールに与える。なお、文字を分類モジュールに与える処理は、例えば、関数またはメソッドである分類モジュールの引数として当該文字を与えること、実行モジュールである分類モジュールに当該文字を与えること等であり、分類モジュールが当該文字を使用した分類処理ができるようにすることであり、広く解釈する。
【0096】
(ステップS406)分類部B31は、カウンタiを1、インクリメントする。ステップS403に戻る。
【0097】
(ステップS407)分類部B31は、学習器格納部A12の学習器を格納部B1の分類モジュールに与える。なお、学習器を分類モジュールに与える処理は、例えば、関数またはメソッドである分類モジュールの引数として当該学習器を与えること、実行モジュールである分類モジュールに当該学習器を与えること、関数またはメソッドである分類モジュールの引数として当該学習器へのリンク情報を与えること、実行モジュールである分類モジュールに当該学習器へのリンク情報を与えること等であり、分類モジュールが当該学習器を使用した分類処理ができるようにすることであり、広く解釈する。
【0098】
(ステップS408)分類部B31は、分類モジュールを実行し、ラベルを取得する。
【0099】
(ステップS409)ラベル出力部B41は、ステップS408で取得したラベルを出力する。ステップS401に戻る。
【0100】
なお、
図4のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0101】
以下、本実施の形態における学習装置Aと分類装置Bの具体的な動作例について、
図5を用いて説明する。学習装置Aの処理は、学習フェーズ501である。分類装置Bの処理は、分類フェーズ502である。
【0102】
今、学習装置Aの学習元情報格納部A11には、
図6に示す構造を有する多数の学習元情報が格納されている、とする。
図6において、学習元情報は、文字列とラベルを有する。ラベルは、地点辞書での出現回数は1回であることを示す第一ラベル(値は「1」)、地点辞書での出現回数が0回であることを示す第二ラベル(値は「0」)、地点辞書での出現回数が2回以上であることを示す第三ラベル(値は「2」)のうちのいずれかである。
【0103】
そして、学習装置Aは、学習フェーズ501において、
図6に記載の学習元情報をはじめ、多数の学習元情報を格納部A1の学習モジュールに与え、学習器を構成する。ここで、学習フェーズ501において、学習部A31は、学習元情報が有する文字列を構成する文字を、1文字ずつ順番に学習モジュールに与える。また、学習部A31は、学習元情報が有するラベルを学習モジュールに与える。そして、学習部A31は、学習モジュールを実行し、学習器を取得する。そして、蓄積部A41は、当該学習器504を学習器格納部A12に蓄積する。なお、ここで、学習モジュールは、例えば、503であり、ここでは、例えば、回帰型ニューラルネットワークのうちのLong short-term memory (LSTM) を用いたモジュールである。
【0104】
次に、分類フェーズ502において、分類装置Bの文字列受付部B21は、例えば、格納部B1の地図情報に対して、文字認識処理を行い、1以上の文字列を取得する。なお、画像である地図情報に対して、文字認識処理を行い、1以上の文字列を取得する処理は公知技術であるので、詳細な説明を省略する。
【0105】
そして、分類部B31は、1以上の各文字列ごとに、文字列を構成する文字を順番に分類モジュールに与え、かつ学習器504を分類モジュールに与え、当該分類モジュールを実行し、各文字列ごとに、第一ラベル、第二ラベル、第三ラベルに対応するスコアを取得する(505)。次に、分類部B31は、最も高いスコアのラベルを取得する。次に、ラベル出力部B41は、当該最も高いスコアのラベルを、文字列に対応付けて出力する(506)。
【0106】
以上、本実施の形態によれば、地点名に関する情報を適切に分類するための学習器を取得できる。
【0107】
また、本実施の形態によれば、地点名に関する情報を適切に分類できる。
【0108】
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における学習装置Aを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、2以上の文字を有する文字列と、地点辞書での出現回数に関するラベルであり、2または3種類以上のラベルのうちのいずれかのラベルとを有する2以上の学習元情報が格納される学習元情報格納部にアクセス可能なコンピュータを、前記学習元情報格納部の2以上の各学習元情報が有する文字列を構成する各文字を文字毎に順番に機械学習の学習モジュールに与え、かつ前記文字列と対になるラベルを前記学習モジュールに与え、当該学習モジュールを実行し、学習器を取得する学習部と、前記学習器を蓄積する蓄積部として機能させるためのプログラムである。
【0109】
また、本実施の形態における分類装置Bを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、学習装置Aが蓄積した学習器が格納される学習器格納部にアクセス可能なコンピュータを、文字列を受け付ける文字列受付部と、前記文字列を構成する2以上の各文字を文字毎に順番に機械学習の分類モジュールに与え、かつ前記学習器を前記分類モジュールに与え、当該分類モジュールを実行し、ラベルを取得する分類部と、前記ラベルを出力するラベル出力部として機能させるためのプログラムである。
【0110】
(実施の形態2)
本実施の形態において、地図表現データから1以上の文字列を取得し、当該1以上の各文字列と対になる位置情報(緯度,経度)を取得し、当該1以上の各文字列の地図表現データ上での座標情報を取得し、当該1以上の各文字列の座標情報と位置情報とを対応付けて蓄積する地図表現データ処理装置について説明する。
【0111】
また、本実施の形態において、地図表現データから取得した1以上の文字列から、適切な文字列を決定し、当該適切な文字列のみに対応する座標情報と位置情報とを対応付けて蓄積する地図表現データ処理装置について説明する。なお、適切な文字列の決定処理に、実施の形態1で説明した学習装置Aが取得した学習器を用いることは好適である。さらに、適切な文字列の決定処理に、実施の形態1で説明した分類装置Bにおける分類処理を用いることは好適である。
【0112】
また、本実施の形態において、地図表現データから交差点等の1以上の図形特徴点を取得し、当該1以上の各図形特徴点と対になる位置情報を取得し、当該1以上の各図形特徴点に対応する座標情報を取得し、1以上の各図形特徴点の座標情報と位置情報とを対応付けて蓄積する地図情報生成装置について説明する。なお、図形特徴点は、交差点、橋のうち1種類以上であることは好適である。
【0113】
また、本実施の形態において、地図表現データから2以上の文字列を取得し、当該2以上の各文字列と対になる位置情報が予め決められた条件を満たすほど近い位置情報の集合を取得し、当該取得した位置情報の集合に対応する文字列のみに対応する座標情報と位置情報とを対応付けて蓄積する地図表現データ処理装置について説明する。
【0114】
また、本実施の形態において、地図表現データの領域に対応する正確地図情報における領域を決定する地図表現データ処理装置について説明する。なお、かかる場合、地図表現データにおける文字列が存在しない外側の領域を考慮して、正確地図情報における領域を決定することは好適である。
【0115】
さらに、本実施の形態において、地図表現データの方角情報を取得する地図表現データ処理装置について説明する。
【0116】
図7は、本実施の形態における地図表現データ処理装置Cのブロック図である。地図表現データ処理装置Cは、格納部C1、受付部C2、処理部C3、および出力部C4を備える。
【0117】
格納部C1は、地点辞書格納部C11、地図表現データ格納部C12、正確地図情報格納部C13、学習器格納部A12、および対応情報格納部C14を備える。受付部C2は、地図表現データ受付部C21を備える。処理部C3は、文字列取得部C31、分類部C32、グループ化部C33、特徴箇所検出部C34、座標情報取得部C35、位置情報取得部C36、領域特定情報取得部C37、および方角情報取得部C38を備える。領域特定情報取得部C37は、例えば、第一領域特定情報取得手段C371、外側文字列決定手段C372、サイズ情報取得手段C373、距離情報取得手段C374、および第二領域特定情報取得手段C375を備える。出力部C4は、対応出力部C41、正確地図情報出力部C42、および方角情報出力部C43を備える。
【0118】
格納部C1には、各種の情報が格納される。各種の情報とは、例えば、後述する地点辞書、後述する地図表現データ、後述する正確地図情報、学習器、後述する対応情報、分類モジュールである。なお、格納部C1は、地点辞書格納部C11を含まなくても良い。地点辞書格納部C11は、図示しない外部の装置に存在しても良い。
【0119】
地点辞書格納部C11には、地点辞書が格納される。地点辞書は、1または2以上の地点位置情報を有する。地点位置情報は、地点を特定する地点情報と地点の位置を特定する位置情報とを対応付ける情報である。地点位置情報は、例えば、地点情報と位置情報とを有する情報である。地点位置情報は、例えば、地点情報へのポインタと位置情報へのポインタとを有する情報である。ただし、地点位置情報のデータ構造は問わない。
【0120】
また、地点情報は、例えば、地点名、地点を特定するIDである。地点名とは、例えば、地名、ランドスケープ名、特定の地点の名称、都道府県名、市町村名、川の名前や山の名前や公園の名前や名勝の名前、交差点名等の名前です。また、位置情報は、例えば、(緯度,経度)であるが、他のデータ形式でも良い。なお、地点を特定するIDは、通常、地点名に対応付いている。
【0121】
地図表現データ格納部C12には、1または2以上の地図表現データが格納される。地図表現データは、地図を表現したデータである。地図表現データは、表現する地理的な領域が限られている情報である。地図表現データは、後述する正確地図情報ではない。地図表現データは、例えば、地図として正確性を欠くデータである。地図表現データは、例えば、古地図、イラストマップ、略地図、手書き地図等であるが、その種類は問わない。地図表現データは、地図表現データを識別する地図識別子と対応付いていることは好適である。地図識別子は、例えば、ID、地図表現データを有するファイル名、地図表現データの名称等である。
【0122】
地図表現データは、通常、画像データであるが、ベクトルデータ等でも良く、データ構造は問わない。地図表現データは、地点情報の文字列を含んでも良い。また、地図表現データが画像データやベクトルデータである場合、通常、地点情報が表出したデータである。また、地図表現データは、ファイルに含まれることは好適である。地図表現データは、ファイルであっても良い。ただし、地図表現データは、データベース内のデータでも良く、そのデータフォーマット、管理方法は問わない。地図表現データがファイルに含まれる場合、当該ファイルに2以上の地図表現データが含まれていても良い。また、一の地図表現データが2以上のファイルにより実現されても良い。つまり、一つの地図表現データが2以上のファイルに分割されていても良い。また、地図表現データが一ファイルでも良いことは言うまでもない。
【0123】
正確地図情報格納部C13には、正確地図情報が格納される。正確地図情報は、正確な電子的な地図の情報である。正確地図情報により示される地図の種類や、地図情報のデータ形式などは、問わない。当該地図の種類は、例えば、地形図や、地勢図、地質図、土地利用図、住宅地図、路線図、道路地図、ガイドマップ、航空写真、衛星写真などである。また、正確地図情報のデータ形式は、例えば、ラスタデータや、ベクタデータ、KIWIフォーマットなどである。
【0124】
学習器格納部A12には、1または2以上の学習器が格納される。学習器格納部A12の学習器は、学習装置Aが取得した学習器であることは好適である。かかる場合、学習器は、上述したように、2以上の文字を有する文字列と、地点辞書での出現回数に関するラベルであり、2または3種類以上のラベルのうちのいずれかのラベルとを有する2以上の学習元情報を機械学習の学習モジュールに与え、学習モジュールを実行し、取得された情報である。ただし、学習器は、学習装置Aが取得した学習器ではなく、地名情報である1以上の正例と、地名情報ではない1以上の負例とを機械学習の技法により学習し、得られた学習器でも良い。
【0125】
対応情報格納部C14には、1または2以上の対応情報が格納される。対応情報は、座標情報と位置情報との対応を示す情報である。対応情報は、座標情報と位置情報との組の情報でも良い。また、対応情報は、座標情報へのポインタと位置情報へのポインタとの組の情報でも良い。対応情報は、地名情報に対応付いていても良いし、地名情報を有しても良い。対応情報のデータ構造は問わない。対応情報は、地図表現データを識別する地図表現データ識別子に対応付いていることは好適である。
【0126】
受付部C2は、各種の情報や指示を受け付ける。各種の情報や指示とは、例えば、地図表現データ、動作開始指示、出力指示である。動作開始指示は、地図表現データ処理装置Cの対応情報の取得動作の開始の指示である。出力指示は、地図表現データ等を出力する指示である。出力指示は、例えば、地図表現データを識別する地図表現データ識別子を有する。
【0127】
ここで、受け付けとは、ユーザの入力の受け付け、外部の装置(例えば、図示しない端末装置)からの受信等である。ただし、受け付けにより、各種の情報や指示を取得できれば良い。各種の情報や指示の入力手段は、例えば、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
【0128】
地図表現データ受付部C21は、地図表現データを受け付ける。ここで、受け付けとは、キーボードやマウス、タッチパネルなどの入力デバイスから入力された情報の受け付け、有線もしくは無線の通信回線を介して送信された情報の受信、光ディスクや磁気ディスク、半導体メモリなどの記録媒体から読み出された情報の受け付けなどを含む概念である。つまり、地図表現データ受付部C21は、地図表現データを地図表現データ格納部C12から読み出しても良い。
【0129】
処理部C3は、各種の処理を行う。各種の処理は、例えば、文字列取得部C31、分類部C32、グループ化部C33、特徴箇所検出部C34、座標情報取得部C35、位置情報取得部C36、領域特定情報取得部C37、方角情報取得部C38、第一領域特定情報取得手段C371、外側文字列決定手段C372、サイズ情報取得手段C373、距離情報取得手段C374、第二領域特定情報取得手段C375が行う処理である。
【0130】
文字列取得部C31は、地図表現データ受付部C21が受け付けた地図表現データから1または2以上の文字列を取得する。文字列取得部C31は、地図表現データから3以上の文字列を取得することが好適である。文字列取得部C31は、例えば、地図表現データから、文字認識処理により1以上の文字列を取得する。なお、文字認識処理は公知の技術であるので、詳細な説明を省略する。また、文字列取得部C31は、例えば、地図表現データに含まれる1以上の文字列を取得する。
【0131】
分類部C32は、文字列取得部C31が取得した1または2以上の各文字列が地点を特定する文字列であるか否かを判断する。
【0132】
分類部C32は、例えば、文字列取得部C31が取得した1または2以上の各文字列が、登録すべき地点を特定する文字列であるか否かを判断する。登録すべき地点を特定する文字列は、例えば、地点情報、またはユニークな地点情報である。
【0133】
分類部C32は、例えば、文字列取得部C31が取得した1または2以上の各文字列と学習器とを用いて、機械学習の技法により2以上の各文字列に対して、地点情報または非地点情報のいずれかを決める分類処理を行う。
【0134】
分類部C32は、例えば、1以上の各地点情報である文字列を正例として、かつ1以上の各非地点情報である文字列を負例として、機械学習の技法により学習処理を行い、取得された学習器を用いて、文字列取得部C31が取得した1または2以上の各文字列が地点情報または非地点情報のいずれであるかを決定する処理を行う。
【0135】
なお、機械学習の技法は、上述した通り、深層学習、SVM、決定木、ランダムフォレスト等、問わない。また、学習処理を行い、学習器を構成する学習モジュールは、例えば、fastText、tinySVM、TensorFlow等の機械学習フレームワークにおける関数や各種のrandom forest関数等である。さらに、分類部C32の決定する処理を行う分類モジュールは、例えば、fastText、tinySVM、TensorFlow等の機械学習フレームワークにおける関数や各種のrandom forest関数等である。
【0136】
分類部C32は、分類部B31と同じ処理により、文字列取得部C31が取得した1または2以上の各文字列に対応するラベルを取得することは好適である。かかる場合、分類部C32は、文字列取得部C31が取得した文字列を構成する2以上の各文字を文字毎に順番に機械学習の分類モジュールに与え、かつ学習器格納部A12の学習器を前記分類モジュールに与え、当該分類モジュールを実行し、ラベルを取得する。
【0137】
そして、分類部C32は、例えば、第一ラベルに対応する文字列のみを、地点を特定する文字列であると判断することは好適である。また、分類部C32は、例えば、第一ラベルと第三ラベルとに対応する文字列を、地点を特定する文字列であると判断しても良い。
【0138】
グループ化部C33は、位置情報取得部C36が取得した3以上の位置情報のうち、予め決められた条件を満たすほど近い位置を示す2以上の位置情報を決定する。つまり、グループ化部C33は、地図表現データの中に位置しないであろう地点の位置情報を除く処理を行う。なお、地図表現データの中に位置しないであろう地点の1以上の位置情報は、位置情報取得部C36が取得した他の位置情報に対して予め決められた条件を満たすほど遠い位置を示す情報である。
【0139】
グループ化部C33の処理は、例えば、以下の2つの処理のいずれかである。
(1)代表位置情報を用いた処理
【0140】
グループ化部C33は、例えば、位置情報取得部C36が取得した3以上の位置情報を代表する位置情報である代表位置情報を決定する。代表位置情報は、通常、位置情報取得部C36が取得した3以上の位置情報の中の中央部を示す位置情報である。
【0141】
次に、グループ化部C33は、例えば、当該代表位置情報以外の各位置情報と代表位置情報との距離を算出し、当該距離が予め決められた条件を満たすほど近い距離の位置情報であり、代表位置情報以外の位置情報を取得する。かかる1以上の位置情報と代表位置情報とが、グループ化部C33が決定した位置情報である。なお、ここで取得されなかった位置情報は、除かれた位置情報である。
【0142】
なお、代表位置情報の取得方法の例は、以下の(1-1)または(1-2)または(1-3)または(1-4)である。
(1-1)グループ化部C33は、例えば、位置情報取得部C36が取得した3以上の各位置情報のうち2つの位置情報の3以上の組み合わせの距離を算出し、当該3以上の組み合わせの距離の中の最短の距離に対応する2つの位置情報の組である最短組である2つの代表位置情報を取得する。
(1-2)グループ化部C33は、上記(1-1)で取得した最短組の中のどちらか一方を代表位置情報として取得する。
(1-3)グループ化部C33は、位置情報取得部C36が取得した3以上の位置情報を含む領域の重心点を代表位置情報として取得しても良い。
(1-4)グループ化部C33は、位置情報取得部C36が取得した3以上の位置情報が含まれる領域の中の中心点に最も近い位置の位置情報を代表位置情報として取得しても良い。
【0143】
なお、代表位置情報の取得アルゴリズムは、上記の(1-1)から(1-4)に限られない。
(2)クラスタリング処理
【0144】
グループ化部C33は、例えば、位置情報取得部C36が取得した3以上の位置情報を用いて、位置情報のクラスタリング処理を行う。そして、グループ化部C33は、クラスタリング処理により取得された2以上の位置情報を取得する。なお、クラスタリング処理は公知技術であるので、詳細な説明は省略する。
【0145】
なお、グループ化部C33が決定した位置情報に対応する対応情報が蓄積されることとなる。また、位置情報に対応する対応情報とは、例えば、位置情報を含む対応情報、位置情報へのポインタを含む対応情報である。
【0146】
特徴箇所検出部C34は、地図表現データから、予め決められた特徴的な図柄である特徴図柄が表出している箇所である特徴箇所を検出する。特徴箇所検出部C34は、例えば、画像認識技術により、地図表現データから、予め決められた特徴的な図柄である特徴図柄が表出している箇所である特徴箇所を検出する。なお、特徴図柄とは、交差点または橋のうちの1種類以上の図柄であることは好適である。
【0147】
例えば、交差点または橋等の特徴図柄が格納部C1に格納されており、特徴箇所検出部C34は、例えば、地図表現データの中の始点の画素をずらしながら、特徴図柄のサイズに合致する領域を地図表現データから切り出し、当該切り出した領域と、格納部C1の特徴図柄との類似度を算出し、当該類似度が閾値以上の領域を、特徴箇所として検出する。
【0148】
また、特徴箇所検出部C34は、例えば、地図表現データに対して、特徴図柄のオブジェクト認識の処理を行い、特徴箇所を検出する。なお、オブジェクト認識の処理は、公知技術であるので詳細な説明は省略する。
【0149】
座標情報取得部C35は、文字列取得部C31が取得した文字列に対応する座標位置を特定する情報であり、地図表現データの中の相対的な座標位置を特定する情報である座標情報(通常、(x,y))を取得する。文字列に対応する座標位置とは、地図表現データの中の文字列の領域を代表する点の座標であり、文字列の代表点である。代表点は地図表現データの中の文字列の領域の中心点、地図表現データの中の文字列の領域の左上の点、地図表現データの中の文字列の領域の右下の点などである。つまり、文字列取得部C31が取得した文字列に対応する座標位置は、当該文字列が配置された領域の中心点の座標位置でも良いし、当該文字列が配置された領域の左上隅の箇所の座標位置でも良いし、当該文字列が配置された領域の右下隅の箇所の座標位置等でも良い。
【0150】
座標情報取得部C35は、文字列取得部C31が取得した文字列のうちの、グループ化部C33が決定した位置情報に対応する文字列に対応する座標位置を特定する座標情報を取得しても良い。かかる場合も、座標情報取得部C35は、文字列取得部C31が取得した文字列に対応する座標位置を特定する座標情報を取得する、と言える。
【0151】
座標情報取得部C35は、特徴図柄に対応する座標情報を取得する。座標情報取得部C35は、特徴箇所検出部C34が検出した特徴図柄の領域の代表点の座標の情報を取得する。
【0152】
座標情報取得部C35は、特徴箇所検出部C34が検出した特徴図柄の領域のうち、例えば、当該領域の重心点の座標位置を特徴箇所として取得する。また、座標情報取得部C35は、地図表現データの中の特徴図柄の領域のうち、例えば、当該領域の左上の点の座標位置を特徴箇所として取得する。また、座標情報取得部C35は、地図表現データの中の特徴図柄の領域のうち、例えば、当該領域の右下の点の座標位置を特徴箇所として取得する。
【0153】
位置情報取得部C36は、地点辞書を用いて、文字列取得部C31が取得した文字列である地点情報に対応する位置情報を取得する。位置情報取得部C36は、文字列取得部C31が取得した文字列である地点情報と対になる位置情報を地点辞書から取得する。なお、地点辞書を用いて位置情報を取得することは、通常、地点辞書から位置情報を取得することである。
【0154】
位置情報取得部C36は、例えば、特徴図柄に対応する文字列である地点情報に対応する位置情報を地点辞書から取得する。特徴図柄に対応する文字列とは、例えば、特徴図柄の最近に配置されている文字列である。特徴図柄に対応する文字列とは、例えば、特徴図柄の最近に配置されている文字列(例えば「ABC」)と特徴図柄の名称(例えば、「交差点」)とを組み合わせた文字列(例えば「ABC交差点」)である。つまり、位置情報取得部C36は、特徴図柄の最近に配置されている文字列であり、地図表現データの上の文字列(例えば「ABC」)を取得し、特徴図柄の名称(例えば、「交差点」)を格納部C1から読み出し、当該2つの文字列を合成し、文字列(例えば「ABC交差点」)を取得し、当該文字列(例えば「ABC交差点」)と対になる位置情報を地点辞書格納部C11から取得する。なお、位置情報取得部C36は、図示しない外部の装置に存在する地点辞書格納部C11から位置情報を取得しても良い。
【0155】
位置情報取得部C36は、例えば、特徴図柄に対応する文字列(例えば、「交差点」)を格納部C1から読み出し、当該文字列を含み、特徴図柄の最近に配置されている文字列を取得し、当該文字列に対応する位置情報を地点辞書格納部C11から取得する。
【0156】
領域特定情報取得部C37は、グループ化部C33が決定した2以上の位置情報が示す位置を含む領域であり、正確地図情報の中の領域を特定する領域特定情報を取得する。
【0157】
領域特定情報取得部C37は、位置情報取得部C36が取得した2以上の位置情報が示す位置を含む領域であり、正確地図情報の中の領域を特定する領域特定情報を取得しても良い。
【0158】
領域特定情報取得部C37は、例えば、第一領域特定情報取得手段C371、外側文字列決定手段C372、サイズ情報取得手段C373、距離情報取得手段C374、第二領域特定情報取得手段C375の処理により、領域特定情報を取得する。
【0159】
第一領域特定情報取得手段C371は、グループ化部C33が決定した2以上の位置情報が示す位置を含む領域であり、正確地図情報の中の領域である第一領域を特定する第一領域特定情報を取得する。第一領域特定情報は、例えば、矩形を特定する2点の位置情報である。ただし、第一領域特定情報により特定される領域は矩形でなくても良く、多角形や円等でも良い。
【0160】
第一領域特定情報取得手段C371は、グループ化部C33が決定した2以上の位置情報が示す位置をすべて含む矩形領域である第一領域を特定する第一領域特定情報を取得することは好適である。
【0161】
第一領域特定情報取得手段C371は、グループ化部C33が決定した2以上の位置情報が示す位置をすべて含む矩形領域であり、最小の面積の第一領域を特定する第一領域特定情報を取得することは好適である。
【0162】
外側文字列決定手段C372は、位置情報取得部C36が取得した位置情報のうち、最も外側に位置する1以上の各位置情報に対応する文字列を決定する。外側文字列決定手段C372は、4方面(地図表現データ上の上下左右)の最も外側に位置する4つの各位置情報に対応する文字列を決定することは好適である。位置情報取得部C36が取得した位置情報は、位置情報取得部C36が取得したすべての位置情報でなくても良い。位置情報取得部C36が取得した位置情報は、グループ化部C33が決定した位置情報でも良い。
【0163】
サイズ情報取得手段C373は、外側文字列決定手段C372が決定した1以上の文字列の外側であり、地図表現データの隅までのサイズを特定するサイズ情報を取得する。なお、サイズ情報は、例えば、画素数である。サイズ情報は、例えば、座標上での大きさである。
【0164】
距離情報取得手段C374は、座標情報取得部C35が取得した座標情報と位置情報取得部C36が取得した位置情報との組を2組以上用いて、サイズ情報取得手段C373が取得したサイズ情報に対応する距離を特定する距離情報を取得する。距離情報は、実際の距離、現実世界での距離を特定する情報(m,km等の単位の情報)である。
【0165】
距離情報取得手段C374は、例えば、座標情報取得部C35が取得した座標情報(例えば、(x1,y1)、(x2,y2))と位置情報取得部C36が取得した位置情報(例えば、(X1,Y1)、(X2,Y2))との組を2組以上用いて、座標情報の単位量(例えば、1画素)における距離(例えば、mの単の情報)の情報である単位情報(例えば、m/画素)を取得する。つまり、例えば、距離情報取得手段C374は、(x1,y1)と(x2,y2)との間の画素数A、および(X1,Y1)と(X2,Y2)との距離Bを算出し、演算式「単位情報=距離B/画素数A」により単位情報を取得する。そして、距離情報取得手段C374は、例えば、サイズ情報取得手段C373が取得したサイズ情報(例えば、画素数)と単位情報(例えば、1画素に対する距離)とを乗算し、距離情報を取得する。距離情報取得手段C374は、例えば、4方面の距離情報を取得することは好適である。
【0166】
第二領域特定情報取得手段C375は、距離情報取得手段C374が取得した距離情報を用いて、第一領域特定情報が特定する第一領域を広げた領域である第二領域を特定する第二領域特定情報を取得する。第二領域特定情報取得手段C375は、例えば、4方面の各距離情報の分だけ、第一領域特定情報の各方面に広げた領域である第二領域を特定する第二領域特定情報を取得する。第二領域特定情報は、例えば、矩形を特定する2点の位置情報である。ただし、第一領域特定情報により特定される領域は矩形でなくても良く、多角形や円等でも良い。
【0167】
方角情報取得部C38は、領域特定情報または第二領域特定情報を用いて、地図表現データの方角に関する方角情報を取得する。領域特定情報または第二領域特定情報が矩形である場合、方角情報取得部C38は、領域特定情報または第二領域特定情報である矩形の図形と基準となる方角(例えば、真北)に対する角度である方角情報を取得することは好適である。方角情報は、例えば、真北に対する角度(0度~360度の間の情報、または180度から180度の間の情報)である。なお、方角情報は、例えば、地図表現データにおける真北の方向を特定する情報(例えば、ベクトル)、地図表現データの中心から真上の方角を示す情報である。地図表現データの中心から真上の方角を示す情報は、例えば、角度であり、例えば、中心から真上の方角が真北の場合は「0度」、中心から真上の方角が真東の場合は「-90度」または「270度」である。
【0168】
方角情報取得部C38は、例えば、位置情報取得部C36が取得した2以上の地点の位置情報からペアを取得し、当該ペアの2つの位置情報から2つの地点の実際の、基準となる方向(例えば、北)に対する角度である第一の角度を算出する。そして、方角情報取得部C38は、例えば、座標情報取得部C35が取得した当該ペアの座標情報を取得する。次に、方角情報取得部C38は、2つの座標情報から地図表現データにおける角度である第二の角度を算出する。次に、方角情報取得部C38は、第一の角度と第二の角度とを用いて、地図表現データにおける方角に関する方角情報を取得する。第一の角度が「0度」(2つの地点が真北および真南の関係にある)であり、第二の角度が「90度」(2点の座標情報のy軸の値が同じ)である場合、方角情報取得部C38は、方角情報「90度」を取得する。
【0169】
例えば、地点1と地点2のペアの各位置情報が示す位置関係が真北を示す場合、地点1と地点2との間の第一の角度を0度と算出する。そして、方角情報取得部C38は、例えば、座標情報取得部C35が取得した当該ペアの座標情報を取得する。次に、方角情報取得部C38は、2つの座標情報から地図表現データの中の真北の方向を示す方角情報(例えば、地点1から地点2へのベクトル)を取得する。
【0170】
なお、方角情報取得部C38は、例えば、3以上の地点の位置情報から2以上のペアを取得し、2以上の各ペアに対して、上記と同様の処理を行い、2以上の方角情報を取得し、当該2以上の方角情報の代表値(例えば、平均値または中央値等)を算出することは好適である。 出力部C4は、各種の情報を出力する。各種の情報とは、例えば、対応情報、地図表現データ、正確地図情報、方角情報である。
【0171】
対応出力部C41は、座標情報取得部C35が取得した座標情報と位置情報取得部C36が取得した位置情報とを対応付けて出力する。座標情報と位置情報とを対応付けて出力することは、座標情報と位置情報とを有する対応情報を出力することでも良い。ここで、出力とは、通常、記録媒体(例えば、対応情報格納部C14)への蓄積であるが、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である、と考えても良い。なお、対応出力部C41は、座標情報と位置情報とを対応する地点情報をも、座標情報と位置情報と対にして出力することは好適である。
【0172】
対応出力部C41は、分類部C32が地点を特定する文字列であると判断した文字列に対応する座標情報と位置情報とを対応付けて出力する。
【0173】
対応出力部C41は、分類部C32が地点情報に分類した文字列に対応する座標情報と位置情報とを対応付けて出力する。
【0174】
対応出力部C41は、グループ化部C33が決定した2以上の各位置情報と座標情報取得部C35が取得した2以上の各座標情報とを対応付けて出力する。
【0175】
正確地図情報出力部C42は、例えば、領域特定情報が特定する領域が分かる態様で、正確地図情報を出力する。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、記録媒体への蓄積、プリンタでの印字、音出力、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である、と考えても良い。なお、領域特定情報が特定する領域が分かる態様とは、領域特定情報が特定する領域を枠で囲うこと、領域特定情報が特定する領域の背景色を他と変えること等であるが、その態様は問わない。
【0176】
正確地図情報出力部C42は、例えば、二領域特定情報が特定する領域が分かる態様で、正確地図情報を出力することは好適である。
【0177】
方角情報出力部C43は、方角情報取得部C38が取得した方角情報を出力する。方角情報の出力態様は問わない。ここで、出力とは、ディスプレイへの表示、プロジェクターを用いた投影、記録媒体への蓄積、プリンタでの印字、音出力、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である、と考えても良い。
【0178】
格納部C1、地点辞書格納部C11、地図表現データ格納部C12、正確地図情報格納部C13、学習器格納部A12、および対応情報格納部C14は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0179】
格納部C1等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部C1等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部C1等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部C1等で記憶されるようになってもよい。
【0180】
受付部C2、および地図表現データ受付部C21は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0181】
処理部C3、文字列取得部C31、分類部C32、グループ化部C33、特徴箇所検出部C34、座標情報取得部C35、位置情報取得部C36、領域特定情報取得部C37、方角情報取得部C38、第一領域特定情報取得手段C371、外側文字列決定手段C372、サイズ情報取得手段C373、距離情報取得手段C374、および第二領域特定情報取得手段C375は、通常、MPUやメモリ等から実現され得る。処理部C3等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0182】
出力部C4、対応出力部C41、正確地図情報出力部C42、および方角情報出力部C43は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部C4は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0183】
次に、地図表現データ処理装置Cの動作例について、
図8のフローチャートを用いて説明する。
【0184】
(ステップS801)受付部C2は、動作開始指示を受け付けたか否かを判断する。動作開始指示を受け付けた場合はステップS802に行き、動作開始指示を受け付けなかった場合はステップS821に行く。
【0185】
(ステップS802)処理部C3は、カウンタiに1を代入する。
【0186】
(ステップS803)処理部C3は、i番目の地図表現データが地図表現データ格納部C12に存在するか否かを判断する。i番目の地図表現データが存在する場合はステップS804に行き、存在しない場合はステップS801に戻る。
【0187】
(ステップS804)地図表現データ受付部C21は、i番目の地図表現データを地図表現データ格納部C12から取得する。
【0188】
(ステップS805)文字列取得部C31は、ステップS804で取得したi番目の地図表現データの上に表出している1以上の文字列を取得する。文字列取得部C31は、例えば、文字認識処理により、i番目の地図表現データの上に表出している1以上の文字列を取得する。
【0189】
(ステップS806)分類部C32は、カウンタjに1を代入する。
【0190】
(ステップS807)分類部C32は、ステップS805で取得された文字列のうち、j番目の文字列が存在するか否かを判断する。j番目の文字列が存在する場合はステップS808に行き、j番目の文字列が存在しない場合はステップS813に行く。
【0191】
(ステップS808)分類部C32は、j番目の文字列に対して、分類処理を行い、ラベルを取得する。なお、分類処理は、例えば、上述した分類装置Bの処理であり、例えば、
図4のステップS402からステップS409の処理である。
【0192】
(ステップS809)座標情報取得部C35は、j番目の文字列が登録すべき地点情報であるか否かを判断する。登録すべき地点情報であればステップS810に行き、登録すべき地点情報でなければステップS812に行く。
【0193】
なお、登録すべき地点情報は、例えば、ステップS808で取得されたラベルが、文字列が登録すべき文字列であることを示すラベルであることである。また、文字列が登録すべき文字列であることを示すラベルは、例えば、第一ラベルである。
【0194】
(ステップS810)座標情報取得部C35は、j番目の文字列が配置されている領域であり、i番目の地図表現データの上の領域の代表点の座標情報を取得する。なお、代表点は、当該領域の重心点でも良いし、左上の点でも良いし、右下の点等でも良い。また、文字列が配置されている領域の情報は、地図表現データから文字列を取得する際に取得され得る、とする。
【0195】
(ステップS811)位置情報取得部C36は、j番目の文字列である地点情報と対になる位置情報を地点辞書格納部C11から取得する。そして、対応出力部C41は、当該位置情報をステップS810で取得された座標情報と対にして、図示しないバッファに、少なくとも一時蓄積する。
【0196】
(ステップS812)分類部C32は、カウンタjを1、インクリメントする。ステップS807に戻る。
【0197】
(ステップS813)グループ化部C33は、ステップS811で蓄積された2以上の位置情報に対して、グループ化処理を行う。グループ化処理の例について、
図9のフローチャートを用いて説明する。
【0198】
(ステップS814)対応出力部C41は、カウンタkに1を代入する。
【0199】
(ステップS815)対応出力部C41は、ステップS813で取得された位置情報の中に、k番目の位置情報が存在するか否かを判断する。k番目の位置情報が存在する場合はステップS816に行き、k番目の位置情報が存在しない場合はステップS818に行く。
【0200】
(ステップS816)対応出力部C41は、k番目の位置情報と対になる座標情報を図示しないバッファから取得する。そして、対応出力部C41は、k番目の位置情報と取得した座標情報とを対応付けて、かつi番目の地図表現データに対応付けて、対応情報格納部C14に蓄積する。
【0201】
(ステップS817)対応出力部C41は、カウンタkを1、インクリメントする。ステップS807に戻る。
【0202】
(ステップS818)領域特定情報取得部C37は、領域特定処理を行う。領域特定処理は、i番目の地図表現データの領域に対応する領域であり、正確地図情報の中での領域を特定する処理である。領域特定処理の例について、
図10のフローチャートを用いて説明する。
【0203】
(ステップS819)方角情報取得部C38は、方角取得処理を行う。方角取得処理は、i番目の地図表現データの方角を特定する方角情報を取得する処理である。方角取得処理の例について、
図11のフローチャートを用いて説明する。
【0204】
(ステップS820)処理部C3は、カウンタiを1、インクリメントする。ステップS803に戻る。
【0205】
(ステップS821)受付部C2は、出力指示を受け付けたか否かを判断する。出力指示を受け付けた場合はステップS822に行き、出力指示を受け付けなかった場合はステップS801に戻る。
【0206】
(ステップS822)出力部C4は、出力処理を行う。ステップS801に戻る。なお、出力処理は、出力指示に対応する地図表現データ等を出力する指示である。出力処理の例について、
図12のフローチャートを用いて説明する。
【0207】
なお、
図8のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0208】
次に、ステップS813のグループ化処理の例について、
図9のフローチャートを用いて説明する。
【0209】
(ステップS901)グループ化部C33は、カウンタiに1を代入する。
【0210】
(ステップS902)グループ化部C33は、ステップS811で取得されている2以上の位置情報の中から、i番目の2つの位置情報の組が存在するか否かを判断する。i番目の2つの位置情報の組が存在する場合はステップS903に行き、存在しない場合はステップS905に行く。
【0211】
(ステップS903)グループ化部C33は、i番目の2つの位置情報が特定する2点間の距離を算出する。
【0212】
(ステップS904)グループ化部C33は、カウンタiを1、インクリメントする。ステップS807に戻る。
【0213】
(ステップS905)グループ化部C33は、ステップS903で算出した2点間の距離のうち、最小の距離に対応する2つの位置情報を取得する。そして、グループ化部C33は、2つの位置情報のうち、任意の一の位置情報を代表位置情報として取得する。
【0214】
(ステップS906)グループ化部C33は、カウンタjに1を代入する。
【0215】
(ステップS907)グループ化部C33は、ステップS811で取得されている2以上の位置情報のうち、代表位置情報以外のj番目の位置情報が存在するか否かを判断する。j番目の位置情報が存在する場合はステップS908に行き、j番目の位置情報が存在しない場合は上位処理にリターンする。
【0216】
(ステップS908)グループ化部C33は、ステップS811で取得されている2以上の位置情報のうち、代表位置情報以外の各位置情報と、代表位置情報との距離を算出する。
【0217】
(ステップS909)グループ化部C33は、ステップS907で算出した距離が、予め決められた条件を満たすほど近い距離であるか否か(例えば、距離が閾値未満、または距離が閾値以下であるか否か)を判断する。予め決められた条件を満たすほど近い距離である場合はステップS910に行き、予め決められた条件を満たすほど近い距離ではない場合はステップS911に行く。
【0218】
(ステップS910)グループ化部C33は、j番目の位置情報を図示しないバッファに一時蓄積する。なお、バッファに一時蓄積された位置情報は、グループ化部C33が取得した位置情報である。
【0219】
(ステップS911)グループ化部C33は、カウンタjを1、インクリメントする。ステップS807に戻る。
【0220】
次に、ステップS818の領域特定処理の例について、
図10のフローチャートを用いて説明する。
【0221】
(ステップS1001)第一領域特定情報取得手段C371は、ステップS910でグループ化部C33が図示しないバッファに一時蓄積した位置情報のうち経度が最小の位置情報を取得する。
【0222】
(ステップS1002)一領域特定情報取得手段C371は、ステップS910でグループ化部C33が図示しないバッファに一時蓄積した位置情報のうち経度が最大の位置情報を取得する。
【0223】
(ステップS1003)第一領域特定情報取得手段C371は、ステップS910でグループ化部C33が図示しないバッファに一時蓄積した位置情報のうち緯度が最小の位置情報を取得する。
【0224】
(ステップS1004)第一領域特定情報取得手段C371は、ステップS910でグループ化部C33が図示しないバッファに一時蓄積した位置情報のうち緯度が最大の位置情報を取得する。
【0225】
(ステップS1005)第一領域特定情報取得手段C371は、ステップS1001からステップS1004で取得した4つの位置情報を境界に含み、グループ化部C33が取得したすべての位置情報を含む領域であり、矩形の領域を特定する角の4点の位置情報を有する領域特定情報を取得する。なお、第一領域特定情報取得手段C371は、ステップS1001からステップS1004で取得した4つの位置情報を境界に含み、グループ化部C33が取得したすべての位置情報を含む領域であり、面積が最小の矩形の領域を特定する角の4点の位置情報を有する領域特定情報を取得することは好適である。
【0226】
(ステップS1006)外側文字列決定手段C372は、領域特定情報で特定される領域の中の4方面(上下左右)の最も外側の文字列を取得する。そして、サイズ情報取得手段C373は、最も外側の4つの各文字列と地図表現データの最も外側との画素数であるサイズ情報を取得する。
【0227】
(ステップS1007)距離情報取得手段C374は、2組以上の位置情報と座標情報との組を用いて、画素単位(一の座標の単位)の距離を取得する。
【0228】
(ステップS1008)距離情報取得手段C374は、ステップS1007で取得した画素単位の距離とステップS1006で取得されている4つの各サイズ情報とを乗算し、4つの各方向への拡大の距離を算出する。なお、拡大する4つの方向は、領域特定情報により特定される矩形の4辺の各辺に垂直の方向である。
【0229】
(ステップS1009)第二領域特定情報取得手段C375は、第一領域特定情報の4方向の幅を、ステップS1008で取得された距離の分だけ広げた領域を特定する情報である第二領域特定情報を取得する。なお、第二領域特定情報は、通常、矩形領域を特定する2つの位置情報である。
【0230】
(ステップS1010)第二領域特定情報取得手段C375は、ステップS1009で取得した第二領域特定情報をi番目の地図表現データに対応付けて蓄積する。上位処理にリターンする。
【0231】
次に、ステップS819の方角取得処理の例について、
図11のフローチャートを用いて説明する。
【0232】
(ステップS1101)方角情報取得部C38は、第二領域特定情報取得手段C375が取得した第二領域特定情報を取得する。
【0233】
(ステップS1102)方角情報取得部C38は、第二領域特定情報を構成する4つの位置情報を用いて、方角情報を取得する。
【0234】
(ステップS1103)方角情報取得部C38は、ステップS1102で取得した方角情報をi番目の地図表現データに対応付けて蓄積する。上位処理にリターンする。
【0235】
次に、ステップS822の出力処理の例について、
図12のフローチャートを用いて説明する。
【0236】
(ステップS1201)出力部C4は、受け付けられた出力指示が有する地図表現データ識別子を取得する。
【0237】
(ステップS1202)出力部C4は、ステップS1201で取得した地図表現データ識別子で識別される地図表現データを地図表現データ格納部C12から取得する。
【0238】
(ステップS1203)出力部C4は、ステップS1201で取得した地図表現データ識別子と対になる1以上の座標情報を対応情報格納部C14から取得する。
【0239】
(ステップS1204)出力部C4は、ステップS1202で取得した地図表現データと対になる方角情報を取得する。
【0240】
(ステップS1205)出力部C4は、ステップS1202で取得した地図表現データの上に、1以上の各座標情報が特定する箇所を明示する地図表現データを構成し、かつステップS1204で取得した方角情報を明示する地図表現データを構成する。
【0241】
(ステップS1206)出力部C4は、ステップS1202で取得した地図表現データと対になる第二領域特定情報を取得する。
【0242】
(ステップS1207)出力部C4は、ステップS1206で取得した第二領域特定情報が特定する領域の正確地図情報を正確地図情報格納部C13から取得する。
【0243】
(ステップS1208)出力部C4は、ステップS1201で取得した地図表現データ識別子と対になる1以上の位置情報を対応情報格納部C14から取得する。
【0244】
(ステップS1209)出力部C4は、ステップS1207で取得した正確地図情報の上に、ステップS1208で取得した1以上の各位置情報が特定する箇所を明示する正確地図情報を構成する。
【0245】
(ステップS1210)出力部C4は、ステップS1205で取得した地図表現データを出力する。また、出力部C4は、ステップS1209で取得した正確地図情報を出力する。上位処理にリターンする。
【0246】
なお、
図12のフローチャートにおいて、地図表現データと正確地図情報の一方のみを出力しても良い。
【0247】
また、
図12のフローチャートにおいて、出力される地図表現データは、1以上の各座標情報が特定する箇所を明示していない地図表現データでも良い。また、
図12のフローチャートにおいて、出力される地図表現データは、方角情報を明示していない地図表現データでも良い。
【0248】
また、
図12のフローチャートにおいて、出力される正確地図情報は、第二領域特定情報を明示していない地図表現データでも良い。また、
図12のフローチャートにおいて、出力される正確地図情報は、1以上の各位置情報が特定する箇所を明示していない地図表現データでも良い。さらに、
図12のフローチャートにおいて、出力される正確地図情報は、領域特定情報を明示している地図表現データでも良い。
【0249】
以下、本実施の形態における地図表現データ処理装置Cの具体的な動作について説明する。
【0250】
今、例えば、
図13の1301の京都の五条通の地図表現データ、
図14の1401の三条通の地図表現データが地図表現データ格納部C12に格納されている、とする。そして、1301の地図表現データは、地図表現データ識別子「五条通」と対に格納されており、1401の地図表現データは、地図表現データ識別子「三条通」と対に格納されている、とする。
【0251】
また、地点辞書格納部C11には、
図15に示す地点辞書が格納されている。地点辞書には、「地点情報」と「位置情報」とを有する2以上のレコードが格納される。「地点情報」は、ここでは意味を有さない文字列であるが、通常、地点名である。また、「位置情報」は、ここでは(緯度,経度)である。
【0252】
さらに、対応情報格納部C14には、
図16に示す構造を有する対応情報管理表が格納されている。対応情報管理表は、「ID」「地図表現データ識別子」「座標情報」「位置情報」「地点情報」を有する1以上のレコードが格納される。「ID」はレコードを識別する情報である。「地図表現データ識別子」は地図表現データを識別する情報である。「座標情報」は地図表現データ上での相対的な位置を示す座標値である。「位置情報」は、ここでは(緯度,経度)である。「地点情報」は、ここでは意味を有さない文字列であるが、通常、地点名である。
【0253】
かかる状況において、ユーザは、地図表現データ処理装置Cに動作開始指示を入力した、とする。
【0254】
すると、地図表現データ処理装置Cの受付部C2は、動作開始指示を受け付ける。そして、地図表現データ処理装置Cは、「五条通」の地図表現データと、「三条通」の地図表現データとに対して、上述した処理を行い、各地図表現データに対応付けて、1以上の対応情報を対応情報管理表に蓄積する。このように蓄積されたレコードは、
図16の「ID=1,2,3,・・・,38,・・・」のレコードである。
【0255】
また、次に、ユーザは、例えば、地図表現データ識別子「五条通」を有する出力指示を地図表現データ処理装置Cに入力した、とする。
【0256】
すると、地図表現データ処理装置Cの受付部C2は、出力指示を受け付ける。次に、出力部C4は、上述した出力処理を行う。そして、
図13の1301の地図表現データと、1302の正確地図情報とが出力される。なお、
図13の13021は、領域特定情報が特定する領域である。また、13022は、第二領域特定情報が特定する領域である。また、13023は、第一ラベルに対応する位置情報を特定する図柄である。さらに、13024は、第三ラベルに対応する位置情報またはグループ化処理により除かれた位置情報を特定する図柄である。
【0257】
以上、本実施の形態によれば、地図表現データ上の地名等の座標情報と位置情報とを対応付けて自動的に取得できる。
【0258】
また、本実施の形態によれば、地図表現データ上の適切な地名等の文字列を抽出し、当該地名等の座標情報と位置情報とを対応付けて自動的に取得できる。
【0259】
また、本実施の形態によれば、地図表現データ上の適切な地名等の文字列を精度高く抽出し、当該地名等の座標情報と位置情報とを対応付けて自動的に取得できる。
【0260】
また、本実施の形態によれば、地図表現データ上の図形特徴点を取得し、当該図形特徴点の座標情報と位置情報とを対応付けて自動的に取得できる。
【0261】
また、本実施の形態によれば、地図表現データに対応する正確地図情報の範囲を明確化できる。
【0262】
また、本実施の形態によれば、地図表現データに対応する正確地図情報の適切な範囲を明確化できる。
【0263】
さらに、本実施の形態によれば、地図表現データの方角に関する方角情報を得ることができる。
【0264】
なお、本実施の形態において、必須の構成は、地点辞書格納部C11、地図表現データ受付部C21、文字列取得部C31、座標情報取得部C35、位置情報取得部C36、対応出力部C41である。地図表現データ処理装置Cを構成する他の構成要素は、存在しなくても良い。
【0265】
また、本実施の形態において、
図13以外の他の出力例は、
図14である。
【0266】
さらに、本実施の形態における地図表現データ処理装置Cを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、地点を特定する地点情報と当該地点の位置を特定する位置情報とを対応付ける情報である1以上の地点位置情報を有する地点辞書が格納される地点辞書格納部にアクセス可能なコンピュータを、イラスト地図、手書き地図、略地図のうちのいずれか1以上の種類の地図である地図表現データを受け付ける地図表現データ受付部と、前記地図表現データから文字列を取得する文字列取得部と、前記文字列取得部が取得した文字列に対応する座標位置を特定する情報であり、前記地図表現データの中の相対的な座標位置を特定する情報である座標情報を取得する座標情報取得部と、前記地点辞書を用いて、前記文字列取得部が取得した文字列である地点情報に対応する位置情報を取得する位置情報取得部と、前記座標情報取得部が取得した座標情報と前記位置情報取得部が取得した位置情報とを対応付けて出力する対応出力部として機能させるためのプログラムである。
【0267】
(実施の形態3)
本実施の形態において、実施の形態2で取得した対応情報を用いて、地図表現データ上に現在位置を明示できる地図表現データ処理装置Dについて説明する。
【0268】
図17は、本実施の形態における地図表現データ処理装置Dのブロック図である。
【0269】
地図表現データ処理装置Dは、格納部D1、受付部D2、処理部D3、および出力部D4を備える。格納部D1は、地図表現データ格納部C12、対応情報格納部C14を備える。
【0270】
処理部D3は、現在位置情報取得部D31、座標情報取得部D32、データ構成部D33を備える。出力部D4は、地図表現データ出力部D41を備える。
【0271】
格納部D1には、各種の情報が格納される。各種の情報とは、例えば、地図表現データ、対応情報である。
【0272】
地図表現データ格納部C12には、1または2以上の地図表現データが格納される。
【0273】
対応情報格納部C14には、2以上の対応情報が格納される。対応情報は、地図表現データに対応付いていることは好適である。
【0274】
受付部D2は、各種の情報や指示を受け付ける。各種の情報や指示とは、例えば、動作開始指示である。
【0275】
ここで、受け付けとは、ユーザの入力の受け付け、外部の装置(例えば、図示しない端末装置)からの受信等である。ただし、受け付けにより、各種の情報や指示を取得できれば良い。各種の情報や指示の入力手段は、例えば、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
【0276】
処理部D3は、各種の処理を行う。各種の処理は、例えば、現在位置情報取得部D31、座標情報取得部D32、データ構成部D33が行う処理である。
【0277】
現在位置情報取得部D31は、現在位置を特定する現在位置情報を取得する。現在位置情報取得部D31は、例えば、GPS受信機により実現され得る。現在位置情報取得部D31は、公知技術であるので、詳細な説明を省略する。
【0278】
座標情報取得部D32は、対象の地図表現データと対になる2以上の対応情報を用いて、現在位置情報に対応する座標情報を取得する。座標情報は、表示されている地図表現データの上の相対的な位置を特定する座標値である。
【0279】
座標情報取得部D32は、例えば、対象の地図表現データと対になる対応情報1(座標情報1(x1,y1)、位置情報1(X1,Y1))と対応情報2(座標情報2(x2,y2)、位置情報2(X2,Y2))とを対応情報格納部C14から読み出す。そして、座標情報取得部D32は、現在位置情報取得部D31が取得した現在位置情報(X3,Y3)を取得する。次に、座標情報取得部D32は、位置情報1(X1,Y1)と位置情報2(X2,Y2)とから(X1-X2)、(Y1-Y2)を算出する。また、座標情報取得部D32は、座標情報1(x1,y1)と座標情報2(x2,y2)とから(x1-x2)、(y1-y2)を算出する。次に、座標情報取得部D32は、(X1-X2)と(x1-x2)とからx軸における単位距離(例えば、100m)に対する画素数を算出する。また、座標情報取得部D32は、(Y1-Y2)と(y1-y2)とからy軸における単位距離(例えば、100m)に対する画素数を算出する。次に、座標情報取得部D32は、例えば、(X1-X3)とx軸における単位距離に対する画素数を算出し、当該画素数とx1とを加算し、現在位置情報に対するx座標(x3)を取得する。また、座標情報取得部D32は、例えば、(Y1-Y3)とy軸における単位距離に対する画素数を算出し、当該画素数とy1とを加算し、現在位置情報に対するy座標(y3)を取得する。
【0280】
データ構成部D33は、地図表現データの上に、座標情報取得部D32が取得した座標情報が示す位置が明示された地図表現データである現在地付加地図表現データを構成する。なお、座標情報が示す位置の明示の態様は問わない。データ構成部D33は、例えば、予め決められた図柄を座標情報が示す位置に配置する。
【0281】
出力部D4は、各種の情報を出力する。各種の情報とは、例えば、現在地付加地図表現データである。
【0282】
地図表現データ出力部D41は、データ構成部D33が取得した現在地付加地図表現データを出力する。
【0283】
格納部D1、地図表現データ格納部C12、および対応情報格納部C14は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0284】
格納部D1等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部D1等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部D1等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部D1等で記憶されるようになってもよい。
【0285】
受付部D2は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0286】
処理部D3、現在位置情報取得部D31、座標情報取得部D32、およびデータ構成部D33は、通常、MPUやメモリ等から実現され得る。処理部D3の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0287】
出力部D4、および地図表現データ出力部D41は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部D4は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0288】
次に、地図表現データ処理装置Dの動作例について、
図18のフローチャートを用いて説明する。
【0289】
(ステップS1801)受付部D2は、表示対象の地図表現データを地図表現データ格納部C12から取得する。
【0290】
(ステップS1802)現在位置情報取得部D31は、現在位置情報を取得する。
【0291】
(ステップS1803)座標情報取得部D32は、ステップS1801で取得した地図表現データを識別する地図表現データ識別子と対になる2以上の対応情報を対応情報格納部C14から取得する。次に、座標情報取得部D32は、当該2以上の対応情報を用いて、現在位置情報に対応する座標情報を取得する。
【0292】
(ステップS1804)データ構成部D33は、ステップS1801で取得された地図表現データの上に、ステップS1803で取得された座標情報が示す位置が明示された地図表現データである現在地付加地図表現データを構成する。
【0293】
(ステップS1805)地図表現データ出力部D41は、ステップS1804で構成された現在地付加地図表現データを出力する。処理を終了する。
【0294】
以上、本実施の形態によれば、自動取得された2以上の対応情報を用いて、地図表現データの上に現在地を示すことができる。
【0295】
なお、本実施の形態における地図表現データ処理装置Dを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、地図表現データが格納される地図表現データ格納部と、地図表現データ処理装置Cが出力した座標情報と前記位置情報取得部が取得した位置情報との組である2以上の対応情報が格納される対応情報格納部とにアクセス可能なコンピュータを、現在位置を特定する現在位置情報を取得する現在位置情報取得部と、前記2以上の対応情報を用いて、前記現在位置情報に対応する座標情報を取得する座標情報取得部と、前記地図表現データの上に、前記座標情報が示す位置が明示された地図表現データである現在地付加地図表現データを構成するデータ構成部と、前記現在地付加地図表現データを出力する地図表現データ出力部として機能させるためのプログラムである。
【0296】
(実施の形態4)
本実施の形態において、地図表現データから、3以上の地点名を取得し、当該各地点名に対応する座標情報を地図表現データから取得し、地点名に対応するリアルな位置情報を地点辞書から取得し、座標情報と位置情報とを用いて、適切な座標情報と位置情報との組である対応情報を出力する地図表現データ処理装置について説明する。
【0297】
また、本実施の形態において、2つの地点間の対応情報の間の関係に関する関係情報に基づいて、不適切な地点を決定し、当該不適切な地点に対応する不適切な対応情報を含まない2以上の対応情報を出力する地図表現データ処理装置について説明する。なお、本実施の形態において、不適切な地点を決定するために、例えば、距離に関する距離関係情報、角度に関する角度関係情報を用いる。また、不適切な地点とは、誤りと思われる対応情報に対応する地点である。
【0298】
また、本実施の形態において、地図表現データの縮尺情報を取得し、出力する地図表現データ処理装置について説明する。
【0299】
また、本実施の形態において、地図表現データの範囲を取得し、出力する地図表現データ処理装置について説明する。
【0300】
また、本実施の形態において、地図表現データの範囲に入る地点名等を地図表現データに追加する地図表現データ処理装置について説明する。
【0301】
さらに、本実施の形態において、地図表現データの方角に関する情報を取得し、出力する地図表現データ処理装置について説明する。
【0302】
図19は、本実施の形態における地図表現データ処理装置Eのブロック図である。また、
図20は、地図表現データ処理装置Eを構成する処理部E3のブロック図である。
【0303】
地図表現データ処理装置Eは、格納部C1、受付部C2、処理部E3、および出力部E4を備える。
【0304】
格納部C1は、地点辞書格納部C11、地図表現データ格納部C12、正確地図情報格納部C13、学習器格納部A12、および対応情報格納部C14を備える。受付部C2は、地図表現データ受付部C21を備える。処理部E3は、文字列取得部C31、分類部C32、特徴箇所検出部C34、座標情報取得部C35、位置情報取得部C36、関係情報取得部E31、対応情報取得部E32、縮尺取得部E33、領域特定情報取得部E34、追加地点取得部E35、追加位置取得部E36、追加座標取得部E37、地点追記部E38、および方角情報取得部E39を備える。対応情報取得部E32は、判断手段E321、および対応情報取得手段E322を備える。出力部E4は、対応出力部E41、縮尺情報出力部E42、領域特定情報出力部E43、および方角情報出力部E44を備える。
【0305】
処理部E3は、各種の処理を行う。各種の処理とは、例えば、文字列取得部C31、分類部C32、特徴箇所検出部C34、座標情報取得部C35、位置情報取得部C36、関係情報取得部E31、対応情報取得部E32、縮尺取得部E33、領域特定情報取得部E34、追加地点取得部E35、追加位置取得部E36、追加座標取得部E37、地点追記部E38、方角情報取得部E39が行う処理である。
【0306】
関係情報取得部E31は、関係情報を取得する。関係情報は、3以上の対応情報の間の関係に関する情報である。関係情報取得部E31は、3以上の対応情報を用いて、関係情報を取得する。関係情報は、例えば、後述する距離関係情報、後述する角度関係情報である。なお、対応情報は、文字列取得部C31が取得した文字列に対応する座標情報と位置情報との組である。文字列取得部C31が取得した文字列に対応する座標情報は、座標情報取得部C35が取得した情報である。文字列取得部C31が地図表現データから取得した文字列に対応する位置情報は、位置情報取得部C36が取得した情報である。なお、文字列は、通常、地点の名称である。地点は、例えば、駅、ランドスケープ、名勝、建物、都道府県、市町村、交差点、公園等である。
【0307】
関係情報取得部E31は、文字列取得部C31が取得した3以上の文字列のうちの2つの各文字列に対応する対応情報の間の相対的な関係情報を、2つの文字列の組ごとに取得することは好適である。
【0308】
関係情報取得部E31は、例えば、2つの文字列の組ごとに、2つの各文字列の対応情報を用いて、距離関係情報を取得する。距離関係情報は、2つの文字列の座標情報の差異である相対距離と2つの文字列の位置情報の差異である絶対距離との関係を示す情報である。なお、2つの文字列の組とは、文字列取得部C31が取得した3以上の文字列のうちの2つの文字列の組である。
【0309】
距離関係情報は、例えば、MPPである。MPPは、メートル・パー・ピクセル(m/pixcel)である。2つの各文字列に対応する対応情報が、対応情報1「座標情報1(x1,y1)位置情報1(X1,Y1)」、対応情報2「座標情報2(x2,y2)位置情報2(X2,Y2)」である場合、MPP=「(位置情報1と位置情報2との距離(メートル))/(座標情報1と座標情報2との間のピクセル数)」である。また、距離関係情報は、例えば、PPMである。PPMは、「PPM=(座標情報1と座標情報2との間のピクセル数)/(位置情報1と位置情報2との距離(メートル))」である。なお、位置情報1(X1,Y1)と位置情報2(X2,Y2)」との距離を算出する方法、座標情報1(x1,y1)と座標情報2(x2,y2)とのピクセル数を算出する方法は周知技術であるので、ここでの説明は省略する。
【0310】
関係情報取得部E31は、例えば、2つの文字列の組ごとに、2つの各文字列の対応情報を用いて、角度関係情報を取得する。
【0311】
角度関係情報は、相対角度と絶対角度との関係を示す情報である。相対角度は、2つの文字列の座標情報から得られる角度である。相対角度は、基準線(例えば、矩形の地図表現データの下辺の直線、または矩形の地図表現データの右辺の直線)に対して2つの座標情報を結んだ直線の角度である。また、絶対角度は、例えば、基準となる方角(例えば、東、北)の直線と2つの文字列の位置情報を結んで得られる直線との角度である。
【0312】
角度関係情報は、例えば、相対角度と絶対角度との差に関する情報(例えば、「相対角度-絶対角度」「絶対角度-相対角度」「|相対角度-絶対角度|」)である。相対角度と絶対角度との差に関する情報は、例えば、(cos(相対角度-絶対角度),sin(相対角度-絶対角度))、(cos(絶対角度-相対角度),sin(絶対角度-相対角度))等でも良い。なお、相対角度と絶対角度との差に関する情報を、適宜、Rotationと言う。
【0313】
対応情報取得部E32は、関係情報を用いて、3以上の対応情報の中で、予め決められた関係を満たす関係情報に対応する2以上の対応情報のみを取得する。
【0314】
対応情報取得部E32は、3以上の各距離関係情報が予め決められた関係を満たすか否かを判断し、文字列取得部C31が取得した3以上の各文字列に対応する対応情報の中から、予め決められた関係を満たさない距離関係情報に対応する対応情報を除き、残った2以上の対応情報のみを取得する。
【0315】
対応情報取得部E32は、3以上の各角度関係情報が予め決められた関係を満たすか否かを判断し、文字列取得部C31が取得した3以上の各文字列に対応する対応情報の中から、予め決められた関係を満たさない角度関係情報に対応する対応情報を除き、残った2以上の対応情報のみを取得する。
【0316】
対応情報取得部E32は、距離関係情報と角度関係情報の両方が予め決められた関係を満たす場合、当該距離関係情報と角度関係情報に対応する2以上の対応情報のみを取得することは好適である。
【0317】
対応情報取得部E32を構成する判断手段E321は、関係情報取得部E31が取得した3以上の関係情報をグループ化し、グループに入らない関係情報を決定する。なお、関係情報をクラスタリングするアルゴリズムとして、例えば、階層凝集クラスタリング(Hierarchical Agglomerative Clustering [HAC])が利用可能である。HACについては、インターネットURL「http://pub.ist.ac.at/~edels/Papers/1984-J-05-HierarchicalClustering.pdf」「http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.299.7703&rep=rep1&type=pdf」を参照のこと。なお、情報の集合のクラスタリングのアルゴリズムは問わない。
【0318】
対応情報取得手段E322は、文字列取得部C31が取得した3以上の各文字列に対応する対応情報の中から、グループに入らない関係情報に対応する対応情報を除き、残った2以上の対応情報のみを取得する。
【0319】
縮尺取得部E33は、3以上の距離関係情報から距離関係情報の代表値を取得し、距離関係情報の代表値を用いて、地図表現データの縮尺情報を取得する。なお、代表値は、例えば、平均値、中央値である。例えば、距離関係情報(ここでは、例えば、MPP)の代表値がαである場合、例えば、縮尺取得部E33は、縮尺情報「α」を取得する。
【0320】
領域特定情報取得部E34は、文字列取得部C31が取得した文字列に対応する座標情報と地図表現データの4辺のうちの各辺との垂直距離である相対垂直距離を取得し、相対垂直距離と縮尺情報(例えば、MPP)とを用いて、地図表現データの実世界における範囲を特定する領域特定情報を取得する。なお、実世界における範囲とは、正確地図情報の中での範囲である。
【0321】
領域特定情報取得部E34は、例えば、対応情報取得部E32が最終的に取得した2以上の各対応情報が有する座標情報と、地図表現データの各辺(上辺、下辺、左辺、右辺)との相対垂直距離を算出する。なお、点と直線との垂直距離を算出する技術は公知技術である。
【0322】
そして、領域特定情報取得部E34は、例えば、各辺ごとに、2以上の相対垂直距離の代表値(例えば、中央値、平均値)を取得する。次に、領域特定情報取得部E34は、例えば、各辺ごとに、相対垂直距離の代表値の地点に対する位置情報を取得する。次に、領域特定情報取得部E34は、例えば、各辺ごとに、「距離関係情報(MPP)×相対垂直距離の代表値」により、各辺の緯度または経度を取得する。
【0323】
追加地点取得部E35は、領域特定情報が示す範囲の地点情報を地点辞書から取得する。追加地点取得部E35は、例えば、領域特定情報が示す範囲の2以上の地点情報を地点辞書から取得し、当該取得した地点情報から、文字列取得部C31が取得した文字列を除いた地点情報を取得することは好適である。なお、使用される地点辞書は、地点辞書格納部C11の地点辞書でも、外部の図示しない装置に存在する地点辞書でも良い。
【0324】
また、追加地点取得部E35は、領域特定情報が示す範囲の地点情報と、当該地点情報の一以上の属性値(例えば、駅名、ランドスケープか否か、交差点名等)を取得し、当該予め決められた条件を満たす一以上の属性値と対になる地点情報を地点辞書から取得することは好適である。
【0325】
追加位置取得部E36は、追加地点取得部E35が取得した地点情報に対応する位置情報を地点辞書から取得する。
【0326】
追加座標取得部E37は、追加位置取得部E36が取得した位置情報に対応する座標情報を取得する。追加座標取得部E37は、例えば、一の対応情報が有する位置情報と追加位置取得部E36が取得した位置情報との差異を取得し、当該位置情報の差異と距離関係情報(MPP)とを用いて、一の対応情報が有する座標情報との差異を取得し、一の対応情報が有する座標情報と当該座標情報の差異とを用いて、追加位置取得部E36が取得した位置情報に対応する座標情報を取得する。
【0327】
地点追記部E38は、追加座標取得部E37が取得した座標情報が示す位置に、追加地点取得部E35が取得した地点情報(文字列)を配置する。なお、地点情報が追加されるのは、地図表現データの上である。
【0328】
方角情報取得部E39は、3以上の角度関係情報から角度関係情報の代表値を取得し、角度関係情報の代表値を用いて、地図表現データの方角を示す方角情報を取得する。
【0329】
角度関係情報(ここでは、例えば、「相対角度-絶対角度」)が「-30」であった場合、実世界の北が、地図表現データにおける真上から右上に30度の角度になり、方角情報取得部E39は、例えば、方角情報「30度」を得る。なお、ここでの方角情報は、地図表現データにおける真上から、時計回りの角度である、とする。なお、方角情報は、取得された角度に対応する図柄でも良い。
【0330】
出力部E4は、各種の情報を出力する。各種の情報とは、例えば、対応情報、縮尺情報、地図表現データ、正確地図情報、方角情報である。ここで出力とは、通常、記録媒体への蓄積であるが、ディスプレイへの表示、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である、と考えても良い。
【0331】
対応出力部E41は、対応情報取得部E32が取得した2以上の対応情報を蓄積する。対応出力部E41は、2以上の対応情報を表示したり、他の装置に送信したりしても良い。
【0332】
縮尺情報出力部E42は、縮尺取得部E33が取得した縮尺情報を出力する。ここでの出力は、通常、表示であるが、記録媒体への蓄積、外部の装置への送信等でも良い。
【0333】
領域特定情報出力部E43は、領域特定情報取得部E34が取得した領域特定情報を出力する。ここでの出力は、通常、表示であるが、記録媒体への蓄積、外部の装置への送信等でも良い。
【0334】
方角情報出力部Eは、方角情報取得部E39が取得した方角情報を出力する。ここでの出力は、通常、表示であるが、記録媒体への蓄積、外部の装置への送信等でも良い。
【0335】
処理部E3、文字列取得部C31、分類部C32、特徴箇所検出部C34、座標情報取得部C35、位置情報取得部C36、関係情報取得部E31、対応情報取得部E32、縮尺取得部E33、領域特定情報取得部E34、追加地点取得部E35、追加位置取得部E36、追加座標取得部E37、地点追記部E38、および方角情報取得部E39は、通常、MPUやメモリ等から実現され得る。処理部E3等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。
【0336】
出力部E4、対応出力部E41、縮尺情報出力部E42、領域特定情報出力部E43、および方角情報出力部E44は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。出力部E4等は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0337】
次に、地図表現データ処理装置Eの動作例について、
図21のフローチャートを用いて説明する。
図21のフローチャートにおいて、
図8のフローチャートと同一のステップについて、説明を省略する。なお、
図21のフローチャートにおいて、ステップS804からS812を有する。
【0338】
(ステップS2101)処理部E3は、ステップS804で取得された地図表現データを用いて、対応情報取得処理を行う。対応情報取得処理の例について、
図22のフローチャートを用いて説明する。なお、対応情報取得処理は、蓄積する1または2以上の対応情報を取得する処理である。また、処理対象の地図表現データは、通常、地図表現データ格納部C12の地図表現データであるが、外部の装置から受信された地図表現データでも良い。
【0339】
(ステップS2102)対応出力部E41は、ステップS2101で取得された1以上の対応情報を蓄積する。なお、対応情報の蓄積先は、例えば、格納部C1であるが、他の装置でも良い。対応出力部E41は、ステップS2101で取得された1以上の対応情報を、ステップS804で取得された地図表現データに対応付けて蓄積する。
【0340】
(ステップS2103)縮尺取得部E33は、ステップS2101で取得された距離関係情報の代表値(例えば、MPP)を用いて、縮尺情報を取得し、ステップS804で取得された地図表現データに対応付けて蓄積する。なお、縮尺情報の蓄積先は、例えば、格納部C1であるが、他の装置でも良い。
【0341】
(ステップS2104)領域特定情報取得部E34は、領域特定処理を行う。領域特定処理の例について、
図25のフローチャートを用いて説明する。なお、領域特定処理とは、地図表現データの地図領域に対応する実世界の領域を示す情報を取得する処理である。
【0342】
(ステップS2105)方角情報取得部E39は、方角情報取得処理を行う。方角情報取得処理の例について、
図26のフローチャートを用いて説明する。なお、方角情報取得処理とは、地図表現データの方角(傾きと言っても良い)に関する情報を取得する処理である。
【0343】
(ステップS2106)追加地点取得部E35等は、地点追加処理を行う。地点追加処理の例について、
図27のフローチャートを用いて説明する。地点追加処理とは、地図表現データに記載されていない地点情報(文字列)を付加する処理である。
【0344】
(ステップS2107)処理部E3は、出力する地図を構成する処理を行う。かかる出力地図構成処理の例について、
図28のフローチャートを用いて説明する。
【0345】
(ステップS2108)出力部E4は、ステップS2107で構成された地図表現データ、およびステップS2107で構成された正確地図情報を出力する。処理を終了する。なお、ここで、出力部E4は、地図表現データと正確地図情報のうちの一方の地図の出力を行うだけでも良い。
【0346】
次に、ステップS2101の対応情報取得処理の例について、
図22のフローチャートを用いて説明する。
【0347】
(ステップS2201)関係情報取得部E31は、距離関係情報取得処理を行う。距離関係情報取得処理の例について、
図23のフローチャートを用いて説明する。なお、距離関係情報取得処理は、2以上の対応情報の集合に対する1以上の距離関係情報を取得する処理である。
【0348】
(ステップS2202)判断手段E321は、ステップS2201で取得された3以上の距離関係情報をグループ化する。そして、判断手段E321は、距離関係情報に対する1または2以上のグループを取得する。なお、グループ化には、例えば、上述したHACを用いる。
【0349】
(ステップS2203)対応情報取得手段E322は、カウンタiに1を代入する。
【0350】
(ステップS2204)対応情報取得手段E322は、ステップS2202で取得されたi番目のグループが存在するか否かを判断する。i番目のグループが存在する場合はステップS2205に行き、i番目のグループが存在しない場合は上位処理にリターンする。
【0351】
(ステップS2205)対応情報取得手段E322は、i番目のグループが、グループ内の地点の数に関する予め決められた条件を満たすか否かを判断する。条件を満たす場合はステップS2206に行き、条件を満たさない場合はステップS2209に行く。なお、予め決められた条件は、例えば、i番目のグループに対応する地点(文字列と言っても良い)の数が閾値以上であること、i番目のグループに対応する地点の数が閾値より多いこと、i番目のグループに対応する地点の割合が閾値以上であること、i番目のグループに対応する地点の割合が閾値より大きいこと等である。なお、割合とは、「i番目のグループに対応する地点の数/いずれかのグループに属する地点の数」である。
【0352】
(ステップS2206)対応情報取得手段E322は、i番目のグループに対応する2以上の地点の対応情報を取得する。
【0353】
(ステップS2207)関係情報取得部E31は、ステップS2206で取得された2以上の地点の対応情報に対して、角度関係情報取得処理を行う。角度関係情報取得処理の例について、
図24のフローチャートを用いて説明する。
【0354】
(ステップS2208)判断手段E321は、ステップS2207で取得された3以上の角度関係情報をグループ化する。そして、判断手段E321は、角度関係情報に対する1または2以上のグループを取得する。なお、グループ化には、例えば、上述したHACを用いる。
【0355】
(ステップS2209)対応情報取得手段E322は、カウンタjに1を代入する。
【0356】
(ステップS2210)対応情報取得手段E322は、ステップS2208で取得されたグループの中に、j番目のグループが存在するか否かを判断する。j目のグループが存在する場合はステップS2211に行き、j番目のグループが存在しない場合はステップS2214に行く。
【0357】
(ステップS2211)対応情報取得手段E322は、j番目のグループが、グループ内の地点の数に関する予め決められた条件を満たすか否かを判断する。条件を満たす場合はステップS2212に行き、条件を満たさない場合はステップS2213に行く。なお、予め決められた条件は、例えば、j番目のグループに対応する地点(文字列と言っても良い)の数が閾値以上であること、j番目のグループに対応する地点の数が閾値より多いこと、j番目のグループに対応する地点の割合が閾値以上であること、j番目のグループに対応する地点の割合が閾値より大きいこと等である。なお、割合とは、「j番目のグループに対応する地点の数/いずれかのグループに属する地点の数」である。
【0358】
(ステップS2212)対応情報取得手段E322は、j番目のグループに対応する2以上の地点の対応情報を取得する。
【0359】
(ステップS2213)対応情報取得手段E322は、カウンタj1、インクリメントする。ステップS2210に戻る。
【0360】
(ステップS2214)対応情報取得手段E322は、カウンタiを1、インクリメントする。ステップS2204に戻る。
【0361】
なお、
図22のフローチャートにおいて、ステップS2202またはステップS2208で、複数のグループが検出された場合、対応情報取得手段E322は、地点の数が最も多い一のグループのみを選択しても良い。
【0362】
次に、ステップS2201の距離関係情報取得処理の例について、
図23のフローチャートを用いて説明する。
【0363】
(ステップS2301)関係情報取得部E31は、カウンタiに1を代入する。
【0364】
(ステップS2302)関係情報取得部E31は、処理対象の3以上の地点の中の、i番目の2地点の組が存在するか否かを判断する。i番目の2地点の組が存在する場合はステップS2303に行き、存在しない場合は上位処理にリターンする。
【0365】
(ステップS2303)関係情報取得部E31は、i番目の組の2つの各地点の位置情報を取得し、当該2つの位置情報から2つの地点の絶対距離を算出する。
【0366】
(ステップS2304)関係情報取得部E31は、i番目の組の2つの各地点の座標情報を取得し、当該2つの座標情報から2つの地点の相対距離を算出する。
【0367】
(ステップS2305)関係情報取得部E31は、ステップS2303で算出した絶対距離と、ステップS2304で算出した相対距離とを用いて、距離関係情報(例えば、MPP)を取得し、当該距離関係情報をi番目の組の情報に対応付けて一時蓄積する。
【0368】
(ステップS2306)関係情報取得部E31は、カウンタiを1、インクリメントする。ステップS2302に戻る。
【0369】
次に、ステップS2207の角度関係情報取得処理の例について、
図24のフローチャートを用いて説明する。
【0370】
(ステップS2401)関係情報取得部E31は、カウンタiに1を代入する。
【0371】
(ステップS2402)関係情報取得部E31は、処理対象の3以上の地点の中の、i番目の2地点の組が存在するか否かを判断する。i番目の2地点の組が存在する場合はステップS2403に行き、存在しない場合は上位処理にリターンする。
【0372】
(ステップS2403)関係情報取得部E31は、i番目の組の2つの各地点の位置情報を取得し、当該2つの位置情報から2つの地点の絶対角度を算出する。
【0373】
(ステップS2404)関係情報取得部E31は、i番目の組の2つの各地点の座標情報を取得し、当該2つの座標情報から2つの地点の相対角度を算出する。
【0374】
(ステップS2405)関係情報取得部E31は、ステップS2403で算出した絶対角度と、ステップS2404で算出した相対角度とを用いて、角度関係情報(例えば、Rotation)を取得し、当該角度関係情報をi番目の組の情報に対応付けて一時蓄積する。
【0375】
(ステップS2406)関係情報取得部E31は、カウンタiを1、インクリメントする。ステップS2402に戻る。
【0376】
次に、ステップS2104の領域特定処理の例について、
図25のフローチャートを用いて説明する。な
【0377】
(ステップS2501)領域特定情報取得部E34は、カウンタiに1を代入する。
【0378】
(ステップS2502)領域特定情報取得部E34は、i番目の処理対象の辺が存在するか否かを判断する。i番目の辺が存在する場合はステップS2503に行き、存在しない場合は上位処理にリターンする。なお、通常、地図表現データは矩形であり、処理対処の辺は、通常、上辺、下辺、左辺、右辺の4つである。
【0379】
(ステップS2503)領域特定情報取得部E34は、地図表現データのi番目の辺を特定する辺情報を取得する。なお、辺情報は、例えば、辺を構成する2つの端点の座標情報(x1,y1)(x2,y2)である。また、領域特定情報取得部E34は、例えば、地図表現データ(通常、画像ファイル)の全体を地図データであるとの前提のもと、地図表現データのファイルの辺の2つの端点の座標情報を取得する。また、領域特定情報取得部E34は、例えば、地図表現データに対して輪郭抽出処理を行い、地図以外の領域(例えば、空白の領域)と地図の領域との輪郭線の情報を取得しても良い。かかる輪郭線の情報を取得する処理は、辺情報を取得する処理である。
【0380】
(ステップS2504)領域特定情報取得部E34は、カウンタjに1を代入する。
【0381】
(ステップS2505)領域特定情報取得部E34は、処理対象のj番目の対象情報が存在するか否かを判断する。j番目の対象情報が存在する場合はステップS2506に行き、j番目の対象情報が存在しない場合はステップS2510に行く。なお、処理対象の対象情報は、地点に対応する。
【0382】
(ステップS2506)領域特定情報取得部E34は、処理対象のj番目の対象情報を取得する。
【0383】
(ステップS2507)領域特定情報取得部E34は、j番目の地点とi番目の辺との地図表現データにおける直線距離(例えば、ピクセル数)を、j番目の対象情報が有する座標情報とi番目の辺の辺情報とを用いて算出する。
【0384】
(ステップS2508)領域特定情報取得部E34は、j番目の対象情報が有する位置情報、ステップS2507で算出した直線距離、および距離関係情報の代表値(例えば、MPP)を用いて、i番目の辺の2つの各端点の位置情報を取得する。なお、かかる2つの各端点の位置情報を辺情報とする。
【0385】
(ステップS2509)領域特定情報取得部E34は、カウンタjを1、インクリメントする。ステップS2505に戻る。
【0386】
(ステップS2510)領域特定情報取得部E34は、i番目の辺に対する2以上の辺情報の代表値(例えば、中央値、平均値)を取得する。なお、かかる代表値は、代表辺情報である。代表辺情報は、例えば、2以上の辺情報の真ん中の線の情報である。代表辺情報は、例えば、2以上の各辺情報が有する2つの各端点の平均値である。例えば、2つの辺情報が、辺情報1(x11,y11)(x12,y12)、辺情報2(x21,y21)(x22,y22)である場合、平均値の代表辺情報は、((x11+x21/2),(y11+y21/2))((x12+x22/2),(y12+y22/2))である。
【0387】
(ステップS2511)領域特定情報取得部E34は、カウンタiを1、インクリメントする。ステップS2502に戻る。
【0388】
次に、ステップS2105の方角情報取得処理の例について、
図26のフローチャートを用いて説明する。
【0389】
(ステップS2601)方角情報取得部E39は、カウンタiに1を代入する。
【0390】
(ステップS2602)方角情報取得部E39は、i番目の地点の組が存在するか否かを判断する。i番目の地点の組が存在する場合はステップS2603に行き、i番目の地点の組が存在しない場合はステップS2605に行く。
【0391】
(ステップS2603)方角情報取得部E39は、i番目の地点の角度関係情報を取得する。
【0392】
(ステップS2604)方角情報取得部E39は、カウンタiを1、インクリメントする。ステップS2602に戻る。
【0393】
(ステップS2605)方角情報取得部E39は、ステップS2603で取得した2以上の角度関係情報の中の代表値(例えば、平均値、中央値)を取得する。
【0394】
(ステップS2606)方角情報取得部E39は、ステップS2605で取得した角度関係情報の中の代表値を用いて、角度情報を取得する。上位処理にリターンする。なお、方角情報取得部E39は、演算式「角度情報=f(角度関係情報の代表値)」により、角度情報を取得する。なお、演算式は、例えば、「角度情報=-1×(角度関係情報の代表値)」である。
【0395】
次に、ステップS2106の地点追加処理の例について、
図27のフローチャートを用いて説明する。
【0396】
(ステップS2701)追加地点取得部E35は、カウンタiに1を代入する。
【0397】
(ステップS2702)追加地点取得部E35は、地点辞書に、i番目の地点位置情報が存在するか否かを判断する。i番目の地点位置情報が存在する場合はステップS2703に行き、i番目の地点位置情報が存在しない場合は上位処理にリターンする。
【0398】
(ステップS2703)追加位置取得部E36は、i番目の地点位置情報が有する位置情報を地点辞書から取得する。
【0399】
(ステップS2704)追加地点取得部E35は、ステップS2703で取得した位置情報が、領域特定情報が示す領域の範囲内であるか否かを判断する。領域の範囲内である場合はステップS2705に行き、領域の範囲内でない場合はステップS2711に行く。なお、領域の範囲を示す領域特定情報が存在する場合、一の位置情報が当該領域ないの地点の位置情報であるか否かを判断する処理は公知技術である。
【0400】
(ステップS2705)追加座標取得部E37は、ステップS2703で取得された位置情報に対応する座標情報を取得する。
【0401】
(ステップS2706)追加地点取得部E35は、i番目の地点位置情報が有する地点情報を地点辞書から取得する。
【0402】
(ステップS2707)追加地点取得部E35は、ステップS2706で取得した地点情報を、地図表現データに配置するか否かを判断する。配置する場合はステップS2708に行き、配置しない場合はステップS2709に行く。なお、追加地点取得部E35は、例えば、ステップS2706で取得した地点情報に対応する1以上の属性値が予め決められた条件を満たす場合に、地図表現データに配置すると判断する。
【0403】
(ステップS2708)地点追記部E38は、地図表現データの上の位置であり、ステップS2705で取得された座標情報が示す位置に、ステップS2706で取得された地点情報の文字列を配置する。
【0404】
(ステップS2709)対応情報取得部E32は、ステップS2703で取得された対応情報とステップS2705で取得された座標情報とを有する対応情報を構成する。
【0405】
(ステップS2710)対応出力部E41は、ステップS2709で構成された対応情報を蓄積する。
【0406】
(ステップS2711)カウンタiを1、インクリメントする。ステップS2702に戻る。
【0407】
次に、ステップS2107の出力地図構成処理の例について、
図28のフローチャートを用いて説明する。
【0408】
(ステップS2801)出力部E4は、処理対象の地図表現データを取得する。なお、ここでの地図表現データは、上記の地点追加処理により、地点が追加されたデータであることは好適である。
【0409】
(ステップS2802)処理部E3は、現在位置情報を取得する。なお、処理部E3は、現在位置情報取得部D31を有しても良い。
【0410】
(ステップS2803)処理部E3は、2以上の対応情報を用いて、ステップS2802で取得された現在位置情報に対応する座標情報を取得する。なお、処理部E3は、座標情報取得部D32を有しても良い。
【0411】
(ステップS2804)処理部E3は、地図表現データの上に、ステップS2803で取得された座標情報が示す位置が明示された現在地付加地図表現データを構成する。なお、処理部E3は、データ構成部D33を有しても良い。
【0412】
(ステップS2805)処理部E3は、上記の領域特定処理により取得された領域特定情報を取得する。
【0413】
(ステップS2806)処理部E3は、ステップS2805で取得した領域特定情報が示す領域を含む正確地図情報を取得する。
【0414】
(ステップS2807)処理部E3は、領域特定情報が示す領域の範囲を明示した正確地図情報を構成する。上位処理にリターンする。
【0415】
なお、
図28のフローチャートにおいて、現在地付加地図表現データに、方角情報や縮尺情報が付加されていても良い。
【0416】
以下、本実施の形態における地図表現データ処理装置Eの具体的な動作例について説明する。
【0417】
本具体例において、地図表現データ処理装置Eは、
図29に示す処理を行う。つまり、地図表現データ処理装置Eは、(1)OCRモジュールによる動作、(2)機械学習モジュールによる動作、(3)ジオコーディングモジュールによる動作、(4)クラスタリングモジュールによる動作、(5)地図情報抽出モジュールによる動作を、順に行う。なお、
図29において、(2)の処理はオプションである。
【0418】
今、
図30の地図表現データが地図表現データ格納部C12に格納されている、とする。なお、地図表現データは、適宜、入力画像と言う。
【0419】
かかる状況において、地図表現データ受付部C21は、入力画像を地図表現データ格納部C12から読み出す、とする。
【0420】
文字列取得部C31は、入力画像に対して、文字認識処理(OCR)を行い、文字列のリスト「高津郵便局」「梶が谷駅」「2015」「川崎市民プラザ」「虎の門病院分院」「貨物ターミナル」を取得した、とする。
【0421】
また、座標情報取得部C35は、文字列取得部C31により取得された各文字列の座標情報を取得する。この座標情報は、入力画像における相対的な座標(x,y)である。座標情報取得部C35は、例えば、文字列が配置されている領域の重心点の座標情報を取得する。
【0422】
次に、分類部C32は、文字列取得部C31により取得された各文字列が、地点情報であるか否かを、機械学習の技法(ここでは、LSTM Neural Netowork)を用いて、「2015」が地点情報ではない、と判断し、地点情報フラグ「-1」を書き込む。以上の処理により、例えば、
図31の情報が得られる。なお、地点情報フラグとは、文字列が地点情報であるか否かを判断するためのフラグである。
【0423】
次に、位置情報取得部C36は、各文字列「高津郵便局」「梶が谷駅」「川崎市民プラザ」「虎の門病院分院」「貨物ターミナル」をキーとして、地点辞書を検索し、各文字列に対応する位置情報(緯度,経度)を取得する。そして、例えば、
図32の情報が得られる。
【0424】
次に、関係情報取得部E31は、以下のように、距離関係情報を用いた検査処理を行う。つまり、関係情報取得部E31は、C1「高津郵便局」、C2「梶が谷駅」、C3「川崎市民プラザ」、C4「虎の門病院分院」、C5「貨物ターミナル」の各地点のうち、2つの地点の組「C1-C2」「C1-C3」「C2-C4」「C3-C4」「C3-C5」「C4-C5」の各組に属する地点間の座標情報の差異である相対距離(ここでは、ピクセル数)を、各地点の座標情報から算出する。また、関係情報取得部E31は、2つの地点の組「C1-C2」「C1-C3」「C2-C4」「C3-C4」「C3-C5」「C4-C5」の各組に属する地点間の位置情報の差異である絶対距離(ここでは、メートル)を、各地点の位置情報から算出する。そして、関係情報取得部E31は、2つの地点の各組の距離関係情報(ここでは、MPP)を、相対距離と絶対距離とを用いて、「絶対距離/相対距離」により算出する(
図33参照)。そして、かかる処理の結果、
図34の距離関係情報の表が得られる。
【0425】
次に、対応情報取得部E32は、
図34の距離関係情報をクラスタリングし、「0.45」「0.41」「0.33」「0.41」「0.37」「0.44」のグループと、「523」「470」「941」「809」のグループに分ける。そして、対応情報取得部E32は、「0.45」「0.41」「0.33」「0.41」「0.37」「0.44」のグループに対応する地点識別子「C1」「C2」「C3」「C4」と、「523」「470」「941」「809」のグループに対応する地点識別子「C5」を得る。
【0426】
そして、対応情報取得部E32は、地点識別子の数が予め決められた条件を満たすほど多いグループの地点識別子を選択する。なお、ここでは、予め決められた条件は、例えば、「最も地点識別子の数が多いこと」「地点識別子の数が閾値(例えば、3)以上」「地点識別子の数が閾値(例えば、5)より多い」等である。そして、対応情報取得部E32は、地点識別子「C1」「C2」「C3」「C4」を取得する。つまり、対応情報取得部E32は、「高津郵便局」「梶が谷駅」「川崎市民プラザ」「虎の門病院分院」を選択し、「貨物ターミナル」を除外(削除)する。以上の処理により、
図35の距離関係情報の表が得られる。つまり、距離関係情報を用いた検査処理の結果、「貨物ターミナル」が除外された。
【0427】
次に、関係情報取得部E31は、以下のように、角度関係情報を用いた検査処理を行う。つまり、関係情報取得部E31は、C1「高津郵便局」、C2「梶が谷駅」、C3「川崎市民プラザ」、C4「虎の門病院分院」の各地点のうち、2つの地点の組「C1-C2」「C1-C3」「C2-C4」「C3-C4」の各組に属する地点間の相対角度と絶対角度とを取得する。なお、関係情報取得部E31は、組を構成する2つの地点の座標情報を用いて、当該2つの地点の相対角度を算出する。また、関係情報取得部E31は、組を構成する2つの地点の位置情報を用いて、当該2つの地点の絶対角度を算出する。また、
図36の3601は、C1とC3の間の相対角度(矩形の入力画像における底辺を基準とする角度)のイメージである。また、
図36の3602は、C1とC3の間の絶対角度(実世界での東西方向を基準とする角度)のイメージである。そして、関係情報取得部E31は、相対角度と絶対角度とを用いて、角度関係情報(Rotation)を算出する。なお、ここでは、関係情報取得部E31は、「角度関係情報=相対角度-絶対角度」により、角度関係情報を算出する。
【0428】
以上の処理により、関係情報取得部E31は、
図37に示す情報を得る。また、
図37に示す情報を表にした情報が
図38である。また、関係情報取得部E31は、
図38の角度関係情報から、(cos(角度関係情報),sin(角度関係情報))を算出し、2つの地点の組毎に、ベクトルデータを算出する(
図39参照)。なお、ベクトルデータを角度関係情報と考えても良い。
【0429】
次に、対応情報取得部E32は、
図39のベクトルをクラスタリングし、グループ1「(cos(-2),sin(-2))(cos(-1),sin(-2))」、およびグループ2「
(cos(-40),sin(-40))(cos(-24),sin(-24))(cos(-32),sin(-32))(cos(-26),sin(-26))」を取得する。そして、対応情報取得部E32は、グループ1に対応する地点識別子「C2」と、グループ2に対応する地点識別子「C1」「C3」「C4」を得る。
【0430】
そして、対応情報取得部E32は、地点識別子の数が予め決められた条件を満たすほど多いグループの地点識別子を選択する。そして、対応情報取得部E32は、地点識別子「C1」「C3」「C4」を取得した、とする。つまり、対応情報取得部E32は、「高津郵便局」「川崎市民プラザ」「虎の門病院分院」を選択し、「梶が谷駅」を除外(削除)する。
【0431】
なお、
図40に示すように、対応情報取得部E32は、例えば、グループ2の適切な値「(cos(-40),sin(-40))(cos(-24),sin(-24))(cos(-32),sin(-32))(cos(-26),sin(-26))」に対応する地点間にリンクを作成し、最も大きい閉空間の地点識別子「C1」「C3」「C4」を取得しても良い。また、対応情報取得部E32は、例えば、グループ2の適切な値に対応する地点間にリンクを作成し、閉空間では無い地点識別子「C2」を削除する処理を行っても良い。
【0432】
以上の処理により、対応情報取得部E32は、蓄積する対象の対応情報の地点として、「高津郵便局」「川崎市民プラザ」「虎の門病院分院」の3つの地点を選択したこととなる。そして、対応情報取得部E32は、3つの各地点の対応情報(座標情報,位置情報)を取得する。なお、対応情報は、文字列(地点の名称)とリンク付いていても良い。
【0433】
次に、対応出力部E41は、取得された3つの対応情報を蓄積する。なお、対応情報の蓄積先は、例えば、対応情報格納部C14、または図示しない外部の装置である。
【0434】
次に、対応情報取得部E32は、3つの地点「C1」「C3」「C4」に対応するMPP「0.41」「0.33」「0.44」を得る。次に、対応情報取得部E32は、3つのMPPの代表値(ここでは、平均値)を算出し、「0.39」を得る(
図41参照)。
【0435】
次に、縮尺取得部E33は、取得された距離関係情報の代表値(MPP「0.39」)を用いて、縮尺情報(例えば、「0.39」)を取得し、入力画像に対応付けて蓄積する。
【0436】
次に、方角情報取得部E39は、以下のように、方角情報取得処理を行う。つまり、方角情報取得部E39は、地点識別子「C1」「C3」「C4」のうちの各組の角度関係情報「-40」「-24」「-26」を取得する。次に、方角情報取得部E39は、角度関係情報の代表値(ここでは、平均値)「-30」を取得する。次に、方角情報取得部E39は、演算式「角度情報=-1×(角度関係情報の代表値)」により、「30度」を取得する。そして、方角情報取得部E39は、真北から30度、東側(時計回りで30度)に傾いた方角を示す図柄(ここでの角度情報)を取得する。そして、方角情報出力部E44は、方角を示す図柄(角度情報)を、入力画像に付加して、出力する。かかる出力例は、
図42である。
図42の4201は、角度情報の例である。
【0437】
次に、領域特定情報取得部E34は、以下のように領域特定処理を行う。例えば、まず、領域特定情報取得部E34は、輪郭抽出技術により、
図30の入力画像の地図の領域の各辺(30a,30b,30c,30d)を検知する。なお、輪郭抽出技術により領域を検知する技術は公知技術である。
【0438】
次に、領域特定情報取得部E34は、地点識別子「C1」の地点から、右辺30aまでの相対距離(ここでは、ピクセル数)「720」を取得する。なお、相対距離は、「C1」の地点から右辺30aまでの垂線のピクセル数である。次に、領域特定情報取得部E34は、MPPの代表値(0.39)とピクセル数「720」とを用いて、演算「720×0.39」により、右辺30aまでの絶対距離「280m」を算出する。次に、領域特定情報取得部E34は、「C1」の位置情報と絶対距離「280m」とを用いて、右辺30aの中の「C1」の地点の真右の位置情報[35.5918,139.6053]を取得した、とする(
図43参照)。
【0439】
同様に、領域特定情報取得部E34は、地点識別子「C3」の地点から、右辺30aまでのピクセル数「1199」を取得する。また、領域特定情報取得部E34は、ピクセル数「1199」とMPPの代表値(0.39)とを乗算し、地点識別子「C3」の地点からの右辺30aまでの絶対距離「468m」を算出する。また、領域特定情報取得部E34は、「C3」の位置情報と絶対距離「468m」とを用いて、右辺30aの中の「C3」の地点の真右の位置情報[35.5849,139.6096]を取得する(
図43参照)。また、同様に、領域特定情報取得部E34は、右辺30aの中の「C4」の地点の真右の位置情報を取得する。
【0440】
次に、領域特定情報取得部E34は、「C1」「C3」「C4」の各地点に対応する右辺上の位置情報と方角情報とを用いて、「C1」「C3」「C4」の各地点からの右辺の情報(直線の情報)[44a,44b,44c]を取得する。なお、かかる概念図は、
図44である。次に、領域特定情報取得部E34は、3つの右辺の情報から右辺の代表値(ここでは、中央値の44c)を取得する。この右辺の代表値が、正確地図情報の中の右辺の境界線として決定される。なお、右辺の代表値は、平均値でも良い。
【0441】
領域特定情報取得部E34は、正確地図情報の中の右辺の境界線の取得処理と同様の処理を行い、正確地図情報の中の下辺(45a)、左辺(45b)、および上辺(45c)の境界線の情報を取得する。次に、領域特定情報取得部E34は、4つの辺(44c,45a,45b,45c)の交点(X
1,Y
1)(X
2,Y
2)(X
3,Y
3)(X
4,Y
4)を得る(
図45参照)。なお、交点は、(緯度,経度)である。
【0442】
以上の処理により、領域特定情報取得部E34は、入力画像の中の地図の領域に対応する、正確地図情報の領域を特定する領域特定情報を得る。なお、領域特定情報は、例えば、4つの交点の情報、または2点(X1,Y1)(X3,Y3)の情報、または2点(X2,Y2)(X4,Y4)の情報である。
【0443】
次に、処理部E3は、領域特定情報により特定される領域を含む正確地図情報を読み出す。次に、処理部E3は、正確地図情報に、領域特定情報により特定される領域を明示した正確地図情報を構成する。次に、出力部E4は、領域特定情報により特定される領域が明示された正確地図情報を出力する。かかる正確地図情報の出力例は、
図46である。また、領域は矩形であり、4601である。
【0444】
次に、
図27のフローチャートによる処理により、追加地点取得部E35は、地点辞書を検索し、領域特定情報により特定される領域の中に入る1以上の地点位置情報を取得する。次に、追加地点取得部E35は、1以上の各地点位置情報が有する地点情報を取得する。次に、追加座標取得部E37は、1以上の各地点位置情報が有する位置情報に対応する座標情報を取得する。次に、地点追記部E38は、各地点位置情報に対して、取得された座標情報が示す位置に、取得された地点情報の文字列を、入力画像の上に配置する。以上の処理により、出力対象の正確地図情報が構成される。
【0445】
次に、出力部E4は、構成された正確地図情報を出力する。 以上、本実施の形態によれば、地図表現データ上の地名等の座標情報と位置情報とを対応付けた適切な対応情報を自動的に取得できる。
【0446】
また、本実施の形態によれば、地図表現データがサポートする実世界での範囲を取得できる。
【0447】
また、本実施の形態によれば、地図表現データに新たな地点情報を付加できる。
【0448】
さらに、本実施の形態によれば、地図表現データの方角情報を取得できる。
【0449】
なお、実施の形態3で説明した地図表現データ処理装置Dは、本実施の形態において自動的に取得された1または2以上の対応情報を用いて、地図表現データ上に現在位置を明示できる。
【0450】
かかる場合、地図表現データ処理装置Eにより自動取得された2以上の対応情報を用いて、地図表現データの上に現在地を示すことができる。
【0451】
さらに、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における情報処理装置を実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、イラスト地図、手書き地図、略地図のうちのいずれか1以上の種類の地図である地図表現データを受け付ける地図表現データ受付部と、前記地図表現データから3以上の文字列を取得する文字列取得部と、前記文字列取得部が取得した3以上の各文字列に対応する座標情報であり、前記地図表現データの中の座標情報を取得する座標情報取得部と、地点を特定する地点情報と当該地点の位置を特定する位置情報とを対応付ける1以上の地点位置情報を有する地点辞書を用いて、前記文字列取得部が取得した3以上の各文字列である地点情報に対応する位置情報を取得する位置情報取得部と、前記文字列取得部が取得した3以上の各文字列に対応する前記座標情報と前記位置情報との組である対応情報の間の関係に関する関係情報を取得する関係情報取得部と、前記関係情報を用いて、前記3以上の対応情報の中で、予め決められた関係を満たす関係情報に対応する2以上の対応情報のみを取得する対応情報取得部と、前記対応情報取得部が取得した2以上の対応情報を蓄積する対応出力部として機能させるためのプログラムである。
【0452】
(実施の形態5)
本実施の形態において、地図写真を受信し、当該地図写真を用いて、1以上の地図表現データを検索し、当該1以上の地図表現データを含むナビ情報を端末装置に送信する地図表現データ処理装置を具備する情報システムについて説明する。なお、地図表現データ処理装置において、地図写真と地図表現データとの画像類似、地図写真の中に表出している文字列の集合と地図表現データに対応する文字列の集合との文字列類似、または地図写真がサポートする範囲と地図表現データとがサポートする範囲と範囲類似のうちの1または2以上の類似の状況を用いた地図表現データの検索を行う。なお、サポートする範囲とは、地図の領域の範囲である。
【0453】
また、本実施の形態において、地図写真から地図の領域をカットし、地図カット画像を取得する第一前処理について説明する。また、本実施の形態において、地図カット画像を矩形に補正し、補正地図画像を取得する第二前処理について説明する。
【0454】
また、本実施の形態において、地図写真を用いて検索した結果、第一条件を満たす地図写真が見つからない場合、受信した端末装置の現在位置情報を用いて、1以上の地図表現データを検索する地図表現データ処理装置を具備する情報システムについて説明する。
【0455】
また、本実施の形態において、2以上の地図表現データが決定された場合に、端末装置で使用される地図表現データを選択するために、2以上の選択画像を送信し、選択された選択画像に対応する2以上の対応情報を送信する地図表現データ処理装置を具備する情報システムについて説明する。なお、選択画像とは、ユーザが選択する画像であり、地図表現データのサムネイル画像、または地図表現データである。
【0456】
また、本実施の形態において、地図表現データに変えて、端末装置の現在位置の座標情報を送信する地図表現データ処理装置を具備する情報システムについて説明する。なお、座標情報は、端末装置で使用される地図表現データにおける座標情報である。
【0457】
さらに、本実施の形態において、地図写真を撮影し、当該地図写真を地図表現データ処理装置に送信した後、ナビ情報を受信し、当該ナビ情報を用いて、現在地付加地図表現データを出力する端末装置について説明する。
【0458】
図47は、本実施の形態における情報システムFの概念図である。情報システムFは、地図表現データ処理装置G、1または2以上の端末装置Hを備える。地図表現データ処理装置Gは、いわゆるサーバである。サーバは、例えば、いわゆるクラウドサーバ、ASPサーバ等であり、その種類は問わない。また、端末装置Hは、例えば、いわゆるパーソナルコンピュータ、タブレット端末、スマートフォン等であり、その種類は問わない。地図表現データ処理装置Gと1以上の端末装置Hとは、インターネット等のネットワークにより、通信可能である。
【0459】
図48は、本実施の形態における情報システムFのブロック図である。
図49は、情報システムFを構成する地図表現データ処理装置Gのブロック図である。
【0460】
地図表現データ処理装置Gは、格納部G1、受信部G2、処理部G3、および送信部G4を備える。格納部G1は、地点辞書格納部C11、正確地図情報格納部C13、学習器格納部A12、およびナビ情報格納部G11を備える。なお、地点辞書格納部C11、正確地図情報格納部C13、学習器格納部A12、ナビ情報格納部G11は、図示しない外部の装置に存在していても良い。受信部G2は、写真受信部G21、および選択受信部G22を備える。処理部G3は、文字列取得部G31、位置情報取得部G32、領域特定情報取得部G33、座標情報取得部G34、現在座標取得部G35、および決定部G36を備える。決定部G36は、カット手段G361、補正手段G362、文字列判断手段G363、画像判断手段G364、領域判断手段G365、スコア取得手段G366、決定手段G367、および取得手段G368を備える。送信部G4は、選択画像送信部G41、およびナビ情報送信部G42を備える。
【0461】
なお、処理部G3は、処理部E3と同じ機能を実現できても良い。つまり、処理部G3は、さらに、分類部C32、特徴箇所検出部C34、関係情報取得部E31、対応情報取得部E32、縮尺取得部E33、追加地点取得部E35、追加位置取得部E36、追加座標取得部E37、地点追記部E38、および方角情報取得部E39のうちの1以上を有しても良い。
【0462】
端末装置Hは、端末格納部H1、端末受付部H2、端末処理部H3、端末送信部H4、端末受信部H5、および端末出力部H6を備える。端末処理部H3は、端末撮影部H31、端末カット部H32、端末補正部H33、端末位置取得部H34、および端末座標取得部H35を備える。
【0463】
地図表現データ処理装置Gを構成する格納部G1には、各種の情報が格納される。各種の情報とは、例えば、地点辞書、学習器格、後述するナビ情報である。
【0464】
ナビ情報格納部G11には、ナビ情報集合が格納される。ナビ情報集合は、2以上のナビ情報を有する。ナビ情報は、2以上の対応情報と地図表現データとを有する。対応情報は、座標情報と位置情報とを有する。座標情報は、地図表現データにおける座標を特定する情報である。位置情報は、例えば、(緯度,経度)である。
【0465】
受信部G2は、各種の情報を受信する。各種の情報は、例えば、後述する地図写真、後述する選択指示である。
【0466】
写真受信部G21は、地図写真を端末装置Hから受信する。地図写真は、撮影された地図の写真である。地図は、イラスト地図、手書き地図、略地図であることは好適である。地図は、例えば、街中の看板や壁や不動産等に描かれた地図、遊園地やテーマパークやレジャースポット等の看板に描かれた地図、パンフレットやガイドブックに描かれた地図である。ただし、撮影される地図は正確な地図でも良い。また、地図写真は、端末装置Hで撮影された写真であることは好適である。ただし、地図写真は、他の装置で撮影され、端末装置Hに格納されている写真でも良い。なお、地図写真は、通常、画像である。地図写真は、例えば、jpeg、gif、ping等であるが、そのデータ構造は問わない。
【0467】
写真受信部G21は、端末装置Hの現在位置を特定する端末位置情報をも受信することは好適である。端末位置情報は、地図写真の中に埋め込まれた情報でも良いし、地図写真とは別の情報でも良い。写真受信部G21は、例えば、地図写真と対に端末位置情報を受信する。
【0468】
選択受信部G22は、選択指示を端末装置Hから受信する。選択指示とは、端末装置Hで選択画像が選択された結果の情報である。選択指示は、選択画像を識別する画像識別子を有する。
【0469】
処理部G3は、各種の処理を行う。各種の処理は、例えば、文字列取得部G31、位置情報取得部G32、領域特定情報取得部G33、座標情報取得部G34、現在座標取得部G35、決定部G36が行う処理である。
【0470】
各種の処理は、例えば、前処理を行うか否かの判断処理である。処理部G3は、例えば、端末装置Hで、撮影された地図写真に対する前処理が行われているか否かを判断する。処理部G3は、例えば、前処理が行われていることを示すフラグが受信されたか否かを判断する。
【0471】
処理部G3は、例えば、受信された地図写真から1以上の対応情報を取得する。地図写真から1以上の対応情報を取得する処理は、実施の形態4で説明した地図表現データから対応情報を取得する処理と同じである。つまり、処理部G3は、地図写真から、1以上の地点名(文字列)を取得し、当該各地点名に対応する座標情報を地図写真から取得し、地点名に対応するリアルな位置情報を地点辞書から取得し、座標情報と位置情報とを有する1以上の対応情報を構成する。
【0472】
文字列取得部G31は、写真受信部G21が受信した地図写真から1または2以上の文字列を取得する。文字列取得部G31は、地図写真から3以上の文字列を取得することは好適である。なお、文字列取得部C31は、例えば、地図写真から、文字認識処理により1以上の文字列を取得する。文字列取得部G31は、文字列取得部C31と同様の処理を行えば良い。なお、文字列取得部G31が取得した1以上の文字列に対して、上記した分類部C32が地点を特定する文字列であるか否かを判断し、地点を特定する文字列のみを取得することは好適である。
【0473】
位置情報取得部G32は、地点辞書を用いて、文字列取得部G31が取得した3以上の各文字列である地点情報に対応する位置情報を取得する。なお、地点辞書は、格納部G1に存在していても良いし、図示しない外部の装置に存在していても良い。また、位置情報取得部G32は、位置情報取得部C36と同様の処理を行う。また、上述したグループ化部C33が、位置情報取得部G32が取得した位置情報の中から、地図写真の中に位置しないであろう地点の位置情報を除く処理を行うことは好適である。
【0474】
領域特定情報取得部G33は、位置情報取得部G32が取得した3以上の位置情報を用いて、地図写真がカバーする領域を特定する領域特定情報を取得する。領域特定情報取得部G33は、例えば、領域特定情報取得部C37と同様の処理を行う。なお、位置情報取得部G32が取得した3以上の位置情報は、グループ化部C33により、地図写真の中に位置しないであろう地点の位置情報が除かれていることは好適である。
【0475】
座標情報取得部G34は、地図写真の中に表出している3以上の各文字列の座標情報を取得する。座標情報は、地図写真の中の座標を特定する情報である。座標情報取得部G34は、座標情報取得部C35と同様の処理を行う。
【0476】
現在座標取得部G35は、3以上の対応情報と、受信された端末位置情報とを用いて、端末位置情報に対応する座標を特定する現在座標情報を取得する。現在座標取得部G35は、は、座標情報取得部D32と同様の処理を行う。なお、対応情報は、座標情報と位置情報とを有する。また、現在座標情報は、地図写真における座標を特定する情報である。
【0477】
決定部G36は、ナビ情報集合を検索し、地図写真と第一条件を満たす関係を有するナビ情報を決定する。なお、ナビ情報集合は、ナビ情報格納部G11に存在しても良いし、図示しない外部の装置に存在しても良い。
【0478】
第一条件は、画像類似条件、文字列類似条件、範囲類似条件のうちの1または2以上の条件を有する。画像類似条件は、画像の類似度合いに関する条件である。
【0479】
画像類似条件は、通常、画像である地図写真と画像である地図表現データとの類似度に関する条件である。画像類似条件は、例えば、(a)地図写真と2以上の各地図表現データとの類似度のうち、類似度が最大であること、(b)地図写真と地図表現データの2つの画像の類似度が閾値以上であること、(c)2つの画像の類似度が閾値より大きいこと、または(d)2つの画像の類似度を用いたサブスコアが条件を満たすほど大きいことである。サブスコアは、2つの画像の類似度に関するスコアであり、類似度そのものでも良いし、類似度をパラメータとする増加関数により算出される値でも良い。なお、2つ画像の類似度を算出する処理は公知技術であるので、説明を省略する。
【0480】
文字列類似条件は、地図写真に表出している1以上の各文字列である第一文字列集合と、地図表現データに対応する1以上の各文字列である第二文字列集合との合致の度合いに関する条件である。文字列類似条件は、例えば、(a)第一文字列集合と2以上の各地図表現データに対応する第二文字列集合において、一致する文字列の数または割合が最大であること、(b)第一文字列集合と第二文字列集合において、一致する文字列の数または割合が閾値以上または閾値より大きいこと、(c)第一文字列集合に含まれる文字列と第二文字列集合に含まれる文字列との一致の度合いを用いたサブスコアが条件を満たすほど大きいことである。サブスコアは、第一文字列集合に含まれる文字列と第二文字列集合に含まれる文字列とが一致する文字列の数または割合でも良いし、当該数または割合をパラメータとする増加関数により算出される値でも良い。
【0481】
なお、地図表現データに対応する1以上の各文字列である第二文字列集合は、地図表現データに表出した1以上の文字列でも良いし、地図表現データに表出した1以上の文字列および地図表現データの領域内の1以上の地点情報(通常、地点の名称)でも良い。
【0482】
範囲類似条件は、地図写真がサポートする領域の第一範囲と、地図表現データがサポートする領域の第二範囲との関係に関する条件である。範囲類似条件は、例えば、(a)第一範囲が第二範囲に含まれること、(b)第二範囲に含まれる第一範囲の割合が閾値以上または閾値より大きいこと、(c)第一範囲と第二範囲とが一致すること、(d)第一範囲と第二範囲との重なる範囲が閾値以上または閾値より大きいこと、(e)第一範囲と第二範囲との重なる範囲が最大であること、(f)第一範囲と第二範囲との重なりに関する情報を用いたサブスコアが条件を満たすほど大きいことである。サブスコアは、第二範囲に含まれる第一範囲の割合、第一範囲と第二範囲との重なる範囲の面積等の値でも良いし、当該割合または面積をパラメータとする増加関数により算出される値でも良い。
【0483】
第一条件は、画像類似条件、文字列類似条件、範囲類似条件のうちの2以上の条件を満たす度合いのサブスコアを用いた条件でも良い。サブスコアを用いた条件とは、例えば、2または3つのサブスコアを用いて取得されたスコアが予め決められた条件を満たすほど大きいこと、2以上のすべてのサブスコアが閾値より大きいまたは閾値以上であることである。なお、サブスコアを用いて取得されたスコアとは、サブスコアをパラメータとする増加関数により算出される値であり、例えば、2以上のサブスコアの合計値、2以上のサブスコアの平均値、2以上のサブスコアの重み付き平均等である。
【0484】
決定部G36は、例えば、1以上の各文字列を用いて、第一条件を満たすナビ情報を決定する。1以上の各文字列を用いることは、例えば、文字列類似条件、範囲類似条件のうちの1または2の条件を用いることである。
【0485】
決定部G36は、1以上の各文字列と地点情報とが一致するか否かを判断し、文字列と地点情報との一致に関する判断結果を用いて、第一条件を満たすナビ情報を決定する。
【0486】
決定部G36は、領域特定情報取得部G33が取得した領域特定情報と第一条件を満たす領域特定情報に対応するナビ情報を決定する。なお、領域特定情報取得部G33は、文字列取得部G31が取得した文字列を用いて、領域特定情報を取得する。
【0487】
決定部G36は、地図写真から地図の領域をカットし、地図カット画像を取得し、当該地図カット画像を用いて、ナビ情報集合を検索し、送信するナビ情報を決定することは好適である。なお、地図写真から地図の領域をカットする処理は、例えば、画像処理における輪郭抽出技術を用いて行われ、公知技術である。また、地図カット画像も地図写真の一例である。
【0488】
決定部G36は、地図カット画像を矩形に補正し、補正地図画像を取得し、当該補正地図画像を用いて、ナビ情報集合を検索し、送信するナビ情報を決定することは好適である。なお、地図カット画像は、矩形でない場合があり、かかる場合、決定部G36は、地図カット画像に対して補正処理を施し、矩形(長方形または正方形)である補正地図画像を取得する。なお、歪んだ画像を矩形の形状に補正処理することは公知技術である。また、補正地図画像も地図写真の一例である。
【0489】
決定部G36は、第一条件を満たすナビ情報を決定できなかった場合、受信された端末位置情報と第二条件を満たすほど近い位置を示す位置情報を含むナビ情報を決定することは好適である。なお、第二条件は、例えば、(a)地図表現データがサポートする領域が端末位置情報の位置を含むこと、(b)地図表現データの中心点の位置情報と端末位置情報とが予め決められた条件を満たすほど近いこと、(c)地図表現データがサポートする領域が端末位置情報の位置を含み、かつ地図表現データがサポートする領域が閾値以上の広さであること等である。
【0490】
カット手段G361は、地図写真から地図の領域をカットし、地図カット画像を取得する。
【0491】
補正手段G362は、地図カット画像を矩形に補正し、補正地図画像を取得する。
【0492】
文字列判断手段G363は、地図写真から文字列取得部G31が取得した1以上の各文字列と、地図表現データと対になる1以上の各地点情報とが一致するか否かを判断する。文字列判断手段G363は、文字列が一致するか否かの判断結果に基づいて、文字列の類似に関するスコアである文字列サブスコアを取得しても良い。なお、文字列サブスコアは、通常、一致する文字列の数または割合が大きいほど、高いスコアとなる。文字列サブスコアは、例えば、一致する文字列の数または割合をパラメータとする増加関数により算出される。
【0493】
画像判断手段G364は、画像である地図写真と画像である地図表現データとの類似度を取得する。画像判断手段G364は、画像の類似度を用いて、画像の類似に関するスコアである画像サブスコアを取得しても良い。なお、画像サブスコアは、通常、画像の類似度が大きいほど、高いスコアとなる。画像サブスコアは、例えば、画像の類似度をパラメータとする増加関数により算出される。
【0494】
領域判断手段G365は、地図写真がサポートする領域の第一範囲と、地図表現データがサポートする領域の第二範囲との関係に関する情報を取得する。関係に関する情報は、例えば、第一範囲が第二範囲に含まれるか否かを示す情報、第二範囲に含まれる第一範囲の割合、第一範囲と第二範囲とが一致するか否かを示す情報、第一範囲と第二範囲との重なる範囲を特定する情報、第一範囲と第二範囲との重なりに関する情報を用いたサブスコアである。なお、かかるサブスコアは、範囲サブスコアである。範囲サブスコアは、通常、第一範囲と第二範囲との重なる範囲が大きいほど高いスコアとなる。範囲サブスコアは、例えば、第一範囲と第二範囲との重なる範囲の値(例えば、面積)をパラメータとする増加関数により算出される。
【0495】
スコア取得手段G366は、2以上のサブスコアを用いて、上述したスコアを算出する。2以上のサブスコアは、文字列判断手段G363、画像判断手段G364、領域判断手段G365のうちの2以上の各手段が取得したサブスコアである。
【0496】
決定手段G367は、第一条件を満たすほど、地図写真と類似する地図表現データを決定する。なお、類似は、画像類似、文字列類似、領域類似のうちのいずれか1以上の類似である。また、第一条件は、例えば、スコア取得手段G366が取得したスコアが最大である、または当該スコアが閾値以上または閾値より大きいことである。また、第一条件は、例えば、格納部G1に格納されている。また、地図表現データを決定することは、ナビ情報を決定することと同じである。
【0497】
取得手段G368は、決定手段G367が決定した地図表現データを含むナビ情報をナビ情報集合から取得する。
【0498】
送信部G4は、各種の情報を送信する。各種の情報は、例えば、選択画像、ナビ情報、対応情報である。
【0499】
選択画像送信部G41は、決定部G36が2以上のナビ情報を決定した場合に、2以上の選択画像を端末装置Hに送信する。選択画像は、地図表現データまたはサムネイル画像である。サムネイル画像は、地図表現データに対応付けて、予め格納されていることは好適である。ただし、必要な時に動的に、地図表現データから構成されても良い。選択画像は、画像識別子に対応付いている。また、通常、画像識別子も一緒に送信される。
【0500】
ナビ情報送信部G42は、決定部G36が決定した1または2以上のナビ情報を端末装置Hに送信する。ナビ情報送信部G42は、例えば、取得手段G368が取得した1または2以上のナビ情報を端末装置Hに送信する。ナビ情報送信部G42は、選択指示が有する画像識別子と対になる2または3以上の対応情報を端末装置Hに送信しても良い。なお、かかる場合、ナビ情報送信部G42は、地図表現データを送信しないことは好適である。また、既に、サムネイル画像のみを送信している場合、通常、地図表現データも送信する。
【0501】
ナビ情報送信部G42は、選択指示が有する画像識別子に対応するナビ情報を端末装置Hに送信しても良い。
【0502】
ナビ情報送信部G42は、ナビ情報に代えて、現在座標情報を端末装置Hに送信しても良い。ナビ情報に代えて、現在座標情報を端末装置に送信する場合は、決定部G36がナビ情報を決定できない場合であることは好適である。また、ナビ情報に代えて、現在座標情報を端末装置に送信する場合は、端末装置Hにおいて、撮影された地図写真を用いる場合である。
【0503】
なお、送信されたナビ情報は、端末装置Hにおいて、ナビのために使用される。ナビとは、通常、現在位置の明示である。
【0504】
端末装置Hを構成する端末格納部H1には、各種の情報が格納される。各種の情報とは、例えば、地図写真、ナビ情報、対応情報である。
【0505】
端末受付部H2は、各種の指示や情報等を受け付ける。各種の指示とは、例えば、写真の撮影指示、選択指示、送信指示である。送信指示とは、地図写真を送信する指示である。
【0506】
各種の指示や情報等の入力手段は、タッチパネルやキーボードやマウスやメニュー画面によるもの等、何でも良い。
【0507】
端末処理部H3は、各種の処理を行う。各種の処理は、例えば、端末撮影部H31、端末カット部H32、端末補正部H33、端末位置取得部H34、端末座標取得部H35が行う処理である。
【0508】
各種の処理は、例えば、端末受信部H5が受信したナビ情報を端末格納部H1に蓄積する処理である。各種の処理は、例えば、受信されたナビ情報が有する地図表現データ上に取得された現在座標情報が示す座標位置に、現在位置を明示する図柄を付加した現在地付加地図表現データを構成する処理である。なお、現在地付加地図表現データを構成する処理は、データ構成部D33が行う処理と同じである。
【0509】
端末撮影部H31は、地図写真を撮影する。端末撮影部H31は、例えば、カメラにより実現される。
【0510】
端末カット部H32は、地図写真から地図の領域をカットし、地図カット画像を取得する。端末カット部H32の処理は、カット手段G361の処理と同じである。
【0511】
端末補正部H33は、地図カット画像を矩形に補正し、補正地図画像を取得する。端末補正部H33の処理は、補正手段G362の処理と同じである。
【0512】
端末位置取得部H34は、現在位置情報を取得する。端末位置取得部H34は、例えば、GPS受信機を有する。端末位置取得部H34は、携帯電話の3つ以上の基地局の電波を用いて、現在位置情報を取得しても良い。端末位置取得部H34が現在位置情報を取得するための処理は問わない。
【0513】
端末座標取得部H35は、ナビ情報が有する2以上の対応情報を用いて、現在位置情報に対応する現在座標情報を取得する。端末座標取得部H35の処理は、現在座標取得部G35の処理と同じ処理である。
【0514】
端末送信部H4は、地図写真を地図表現データ処理装置Gに送信する。なお、地図写真は、撮影したままの撮影画像でも良いし、地図カット画像、または補正地図画像でも良い。
【0515】
端末送信部H4は、地図写真に代えて、地図カット画像を地図表現データ処理装置に送信する。なお、かかる場合の地図写真は、撮影したままの撮影画像である。
【0516】
端末送信部H4は、地図カット画像に代えて、補正地図画像を地図表現データ処理装置に送信する。
【0517】
端末受信部H5は、地図表現データ処理装置Gからナビ情報を受信する。なお、受信されたナビ情報は、通常、端末格納部H1に、少なくとも一時的に蓄積される。
【0518】
端末出力部H6は、ナビ情報が有する地図表現データ上に現在座標情報が示す座標位置に現在位置を明示した現在地付加地図表現データを出力する。
【0519】
ここで、出力とは、通常、ディスプレイへの表示であるが、プロジェクターを用いた投影、プリンタでの印字、音出力、外部の装置への送信、記録媒体への蓄積、他の処理装置や他のプログラムなどへの処理結果の引渡しなどを含む概念である、と考えても良い。
【0520】
格納部G1、ナビ情報格納部G11、および端末格納部H1は、不揮発性の記録媒体が好適であるが、揮発性の記録媒体でも実現可能である。
【0521】
格納部G1等に情報が記憶される過程は問わない。例えば、記録媒体を介して情報が格納部G1等で記憶されるようになってもよく、通信回線等を介して送信された情報が格納部G1等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部G1等で記憶されるようになってもよい。
【0522】
受信部G2、写真受信部G21、選択受信部G22、および端末受信部H5は、通常、無線または有線の通信手段で実現されるが、放送を受信する手段で実現されても良い。
【0523】
処理部G3、文字列取得部G31、位置情報取得部G32、領域特定情報取得部G33、座標情報取得部G34、現在座標取得部G35、決定部G36、カット手段G361、補正手段G362、文字列判断手段G363、画像判断手段G364、領域判断手段G365、スコア取得手段G366、決定手段G367、取得手段G368、端末処理部H3、端末カット部H32、端末補正部H33、端末位置取得部H34、および端末座標取得部H35は、通常、MPUやメモリ等から実現され得る。処理部G3等の処理手順は、通常、ソフトウェアで実現され、当該ソフトウェアはROM等の記録媒体に記録されている。但し、ハードウェア(専用回路)で実現しても良い。なお、MPUに代えて、CPUやGPU等の他のプロセッサを用いても良いことは言うまでもない。
【0524】
送信部G4、選択画像送信部G41、ナビ情報送信部G42、および端末送信部H4は、通常、無線または有線の通信手段で実現されるが、放送手段で実現されても良い。
【0525】
端末受付部H2は、タッチパネルやキーボード等の入力手段のデバイスドライバーや、メニュー画面の制御ソフトウェア等で実現され得る。
【0526】
端末出力部H6は、ディスプレイやスピーカー等の出力デバイスを含むと考えても含まないと考えても良い。端末出力部H6は、出力デバイスのドライバーソフトまたは、出力デバイスのドライバーソフトと出力デバイス等で実現され得る。
【0527】
次に、情報システムFの動作について説明する。まず、地図表現データ処理装置Gの動作例について、
図50のフローチャートを用いて説明する。
【0528】
(ステップS5001)写真受信部G21は、地図写真を受信したか否かを判断する。地図写真を受信した場合はステップS5002に行き、地図写真を受信しなかった場合はステップS5017に行く。
【0529】
(ステップS5002)処理部G3は、前処理を行うか否かを判断する。前処理を行う場合はステップS5003に行き、前処理を行わない場合はステップS5005に行く。なお、処理部G3は、例えば、端末装置Hにおいて前処理が行われている場合は、前処理を行わないと判断し、端末装置Hにおいて前処理が行われていない場合は、前処理を行うと判断する。端末装置Hにおいて前処理が行われている場合、その旨を示すフラグを写真受信部G21が受信していても良い。また、端末装置Hにおいて前処理が行われた旨の情報が、受信された地図写真(例えば、ヘッダ部、フッタ部など)に含まれていても良い。また、前処理を行うか否かは、予め決められていても良い。
【0530】
(ステップS5003)カット手段G361は、ステップS5001で受信された地図写真から地図の領域をカットし、地図カット画像を取得する。
【0531】
(ステップS5004)補正手段G362は、ステップS5003で取得された地図カット画像を矩形に補正し、補正地図画像を取得する。なお、この補正地図画像も地図写真である、とする。また、地図カット画像は、補正されずに、地図写真として使用されても良い。
【0532】
(ステップS5005)決定部G36は、地図写真を用いてナビ情報を決定する処理である第一決定処理を行う。第一決定処理の例について、
図51のフローチャートを用いて説明する。
【0533】
(ステップS5006)決定部G36は、ステップS5005において、一つのナビ情報を決定したか否かを判断する。一つのナビ情報を決定した場合はステップS5007に行き、一つのナビ情報を決定しなかった場合はステップS5009に行く。
【0534】
(ステップS5007)決定部G36は、ステップS5005において決定した一つのナビ情報をナビ情報格納部G11から取得する。
【0535】
(ステップS5008)ナビ情報送信部G42は、ステップS5007で決定部G36が取得した一つのナビ情報を端末装置Hに送信する。ステップS5001に戻る。
【0536】
(ステップS5009)決定部G36は、ステップS5005において、2以上のナビ情報を決定したか否かを判断する。2以上のナビ情報を決定した場合はステップS5010に行き、ナビ情報を決定しなかった場合はステップS5012に行く。
【0537】
(ステップS5010)決定部G36は、ステップS5005において決定した2以上の各ナビ情報に含まれる地図表現データ、または当該地図表現データのサムネイル画像を取得する。なお、かかる地図表現データまたはサムネイル画像は選択画像である。
【0538】
(ステップS5011)選択画像送信部G41は、ステップS5010で取得した2以上の選択画像を端末装置Hに送信する。ステップS5001に戻る。なお、選択画像送信部G41は、通常、2以上の各選択画像に対応付けて、画像識別子をも端末装置Hに送信する。画像識別子は、選択画像を識別できる情報であれば良く、例えば、ナビ情報のID、地図表現データのID、またはサムネイル画像のIDである。
【0539】
(ステップS5012)決定部G36は、受信された地図写真を端末装置Hで使用してもらうか否かを判断する。地図写真を使用してもらう場合はステップS5013に行き、地図写真を使用してもらわない場合はステップS5015に行く。
【0540】
(ステップS5013)処理部G3は、地図写真に対応する1以上の対応情報を取得する。
【0541】
(ステップS5014)ナビ情報送信部G42は、ステップS5013で取得された1以上の対応情報を端末装置Hに送信する。ステップS5001に戻る。
【0542】
(ステップS5015)決定部G36は、現在位置情報を利用して、ナビ情報を決定するか否かを判断する。現在位置情報を利用する場合はステップS5016に行き、現在位置情報を利用しない場合はステップS5001に戻る。なお、ここで、エラーメッセージを端末装置Hに送信することは好適である。
【0543】
(ステップS5016)決定部G36は、現在位置情報を用いてナビ情報を決定する処理である第二決定処理を行う。第二決定処理の例について、
図52のフローチャートを用いて説明する。
【0544】
(ステップS5017)選択受信部G22は、選択指示を受信したか否かを判断する。選択指示を受信した場合はステップS5018に行き、選択指示を受信しなかった場合はステップS5001に戻る。
【0545】
(ステップS5018)決定部G36は、ステップS5017で受信された選択指示に含まれる画像識別子を取得する。
【0546】
(ステップS5019)決定部G36は、画像識別子に対応する1以上の対応情報をナビ情報格納部G11から取得する。なお、決定部G36は、画像識別子に対応するナビ情報をナビ情報格納部G11から取得しても良い。
【0547】
(ステップS5020)ナビ情報送信部G42は、ステップS5019で取得された1以上の対応情報を端末装置Hに送信する。ステップS5001に戻る。なお、ここで、画像識別子に対応するナビ情報を端末装置Hに送信しても良い。
【0548】
なお、
図50のフローチャートにおいて、電源オフや処理終了の割り込みにより処理は終了する。
【0549】
次に、ステップS5005の第一決定処理の例について、
図51のフローチャートを用いて説明する。
【0550】
(ステップS5101)決定部G36は、第一条件が画像類似条件を含むか否かを判断する。画像類似条件を含む場合はステップS5102に行き、画像類似条件を含まない場合はステップS5106に行く。
【0551】
(ステップS5102)決定部G36は、カウンタiに1を代入する。
【0552】
(ステップS5103)決定部G36は、i番目の地図表現データがナビ情報格納部G11に存在するか否かを判断する。i番目の地図表現データが存在する場合はステップS5104に行き、存在しない場合はステップS5106に行く。
【0553】
(ステップS5104)決定部G36は、画像である地図写真と画像であるi番目の地図表現データとの類似度である画像類似度を取得し、i番目の地図表現データに対応付けて一時蓄積する。なお、画像類似度は、画像サブスコアでも良い。
【0554】
(ステップS5105)決定部G36は、カウンタiを1、インクリメントする。ステップS5103に戻る。
【0555】
(ステップS5106)決定部G36は、第一条件が文字列類似条件を含むか否かを判断する。文字列類似条件を含む場合はステップS5107に行き、文字列類似条件を含まない場合はステップS5113に行く。
【0556】
(ステップS5107)文字列取得部G31は、地図写真に対して文字認識処理を行い、1以上の文字列の集合である文字列集合を取得する。なお、ここで、分類部C32が地点を特定する文字列であるか否かを判断し、地点を特定する文字列のみが取得されることは好適である。また、位置情報取得部G32、およびグループ化部C33が処理を行い、地図写真の中に位置しないであろう地点の位置情報に対応する文字列を除くことは好適である。
【0557】
(ステップS5108)決定部G36は、カウンタiに1を代入する。
【0558】
(ステップS5109)決定部G36は、i番目の地図表現データがナビ情報格納部G11に存在するか否かを判断する。i番目の地図表現データが存在する場合はステップS5110に行き、存在しない場合はステップS5113に行く。
【0559】
(ステップS5110)決定部G36は、i番目の地図表現データと対になる1以上の地点情報をナビ情報格納部G11から取得する。なお、1以上の地点情報は、i番目の地図表現データの文字列集合である。
【0560】
(ステップS5111)決定部G36は、地図写真の文字列集合とi番目の地図表現データの文字列集合との類似の度合いである文字列類似度を取得し、i番目の地図表現データに対応付けて一時蓄積する。なお、文字列類似度は、文字列サブスコアでも良い。
【0561】
(ステップS5112)決定部G36は、カウンタiを1、インクリメントする。ステップS5109に戻る。
【0562】
(ステップS5113)決定部G36は、第一条件が範囲類似条件を含むか否かを判断する。範囲類似条件を含む場合はステップS5114に行き、範囲類似条件を含まない場合はステップS5121に行く。
【0563】
(ステップS5114)文字列取得部G31は、地図写真に対して文字認識処理を行い、1以上の文字列の集合である文字列集合を取得する。
【0564】
(ステップS5115)領域特定情報取得部G33は、文字列集合を用いて、地図写真の領域特定情報を取得する。かかる領域特定処理は、例えば、
図10、
図25の処理である。
【0565】
(ステップS5116)決定部G36は、カウンタiに1を代入する。
【0566】
(ステップS5117)決定部G36は、i番目の地図表現データがナビ情報格納部G11に存在するか否かを判断する。i番目の地図表現データが存在する場合はステップS5118に行き、存在しない場合はステップS5121に行く。
【0567】
(ステップS5118)決定部G36は、i番目の地図表現データの領域特定情報をナビ情報格納部G11から取得する。
【0568】
(ステップS5119)決定部G36は、2つの領域特定情報の類似度を取得し、当該範囲類似度をi番目の地図表現データに対応付けて一時蓄積する。なお、範囲類似度は、範囲サブスコアでも良い。
【0569】
(ステップS5120)決定部G36は、カウンタiを1、インクリメントする。ステップS5117に戻る。
【0570】
(ステップS5121)決定部G36は、各地図表現データに対応付いている画像類似度、文字列類似度、範囲類似度を用いて、地図表現データごとに、第一条件に合致するか否かを判断し、合致する地図表現データを含むナビ情報を決定する。
【0571】
なお、図~のフローチャートにおいて、しても良い。
【0572】
次に、ステップS5016の第二決定処理の例について、
図52のフローチャートを用いて説明する。
【0573】
(ステップS5201)決定部G36は、受信された現在位置情報を取得する。
【0574】
(ステップS5202)決定部G36は、カウンタiに1を代入する。
【0575】
(ステップS5203)決定部G36は、i番目のナビ情報がナビ情報格納部G11に存在するか否かを判断する。i番目のナビ情報が存在する場合はステップS5204に行き、存在しない場合はステップS5207に行く。
【0576】
(ステップS5204)決定部G36は、i番目のナビ情報に対応する領域特定情報を取得する。
【0577】
(ステップS5205)決定部G36は、i番目のナビ情報に対応する領域特定情報と現在位置情報とを用いて、1以上の特徴量を取得し、i番目のナビ情報に対応付けて、一時蓄積する。なお、特徴量は、例えば、領域特定情報の中心点と現在位置情報との距離、領域特定情報が示す領域の中に現在位置情報が示す位置が含まれるか否か、領域特定情報が示す領域の広さ、領域特定情報が示す領域の中の現在位置情報に対応する座標情報である。
【0578】
(ステップS5206)決定部G36は、カウンタiを1、インクリメントする。ステップS5203に戻る。
【0579】
(ステップS5207)決定部G36は、ステップS5205で取得した1以上の特徴量が第二条件に合致する1以上のナビ情報を決定する。上位処理にリターンする。なお、決定部G36は、例えば、領域特定情報が示す領域の中に現在位置情報が示す位置が含まれ、かつ領域特定情報の中心点と現在位置情報との距離が閾値以下または閾値より小さい1以上のナビ情報を決定する。
【0580】
次に、端末装置Hの動作例について、
図53のフローチャートを用いて説明する。
【0581】
(ステップS5301)端末受付部H2は、撮影指示を受け付けたか否かを判断する。撮影指示を受け付けた場合はステップS5302に行き、撮影指示を受け付けなかった場合はステップS5301に戻る。
【0582】
(ステップS5302)端末撮影部H31は、写真を撮影し、地図写真を取得し、当該地図写真をバッファに一時蓄積する。
【0583】
(ステップS5303)端末受付部H2は、送信指示を受け付けたか否かを判断する。送信指示を受け付けた場合はステップS5304に行き、送信指示を受け付けなかった場合はステップS5303に戻る。
【0584】
(ステップS5304)端末位置取得部H34は、現在位置情報を取得する。
【0585】
(ステップS5305)端末カット部H32は、バッファの該地図写真から地図の領域をカットし、地図カット画像を取得する。
【0586】
(ステップS5306)端末補正部H33は、ステップS5305で取得された地図カット画像を矩形に補正し、補正地図画像を取得する。なお、この補正地図画像も、地図写真である。
【0587】
(ステップS5307)端末送信部H4は、ステップS5306で取得された地図写真と現在位置情報とを地図表現データ処理装置Gに送信する。なお、ステップS5305、ステップS5306の処理はオプションである。そして、ステップS5305、ステップS5306の処理を行わなかった場合、端末送信部H4は、ステップS5302でバッファに蓄積された地図写真と現在位置情報とを地図表現データ処理装置Gに送信する。
【0588】
(ステップS5308)端末受信部H5は、地図表現データ処理装置Gから情報を受信したか否かを判断する。情報を受信した場合はステップS5309に行き、情報を受信しなかった場合はステップS5308に戻る。
【0589】
(ステップS5309)端末処理部H3は、ステップS5308で受信された情報が、2以上の選択画像であるか否かを判断する。2以上の選択画像であればステップS5310に行き、2以上の選択画像でなければステップS5314に行く。
【0590】
(ステップS5310)端末出力部H6は、受信された2以上の選択画像を出力する。
【0591】
(ステップS5311)端末受付部H2は、一の選択画像に対する指示を受け付けたか否かを判断する。指示を受け付けた場合はステップS5312に行き、指示を受け付けなかった場合はステップS5311に戻る。
【0592】
(ステップS5312)端末処理部H3は、ステップS5311で受け付けられた指示に対応する画像識別子を含む指示であり、送信する選択指示を構成する。端末送信部H4は、画像識別子を含む選択指示を地図表現データ処理装置Gに送信する。
【0593】
(ステップS5313)端末受信部H5は、一つのナビ情報を地図表現データ処理装置Gから受信したか否かを判断する。一つのナビ情報を受信した場合はステップS5314に行き、一つのナビ情報を受信しなかった場合はステップS5313に戻る。
【0594】
(ステップS5314)端末位置取得部H34は、現在位置情報を取得する。
【0595】
(ステップS5315)端末座標取得部H35は、ステップS5313で受信されたナビ情報が有する2以上の対応情報を用いて、ステップS5314で取得された現在位置情報に対応する現在座標情報を取得する。
【0596】
(ステップS5316)端末処理部H3は、ステップS5313で受信されたナビ情報が有する地図表現データの現在座標情報が示す座標位置に、現在位置を明示する図柄を付加した現在地付加地図表現データを構成する。
【0597】
(ステップS5317)端末出力部H6は、ステップS5316で構成された現在地付加地図表現データを出力する。
【0598】
(ステップS5318)端末処理部H3は、現在地付加地図表現データの出力を終了するか否かを判断する。終了する場合はステップS5301に戻り、終了しない場合はステップS5314に戻る。なお、終了する場合は、通常、端末受付部H2が、ユーザから終了指示を受け付けた場合である。
【0599】
(ステップS5319)端末受信部H5は、一つのナビ情報を地図表現データ処理装置Gから受信したか否かを判断する。一つのナビ情報を受信した場合はステップS5314に行き、一つのナビ情報を受信しなかった場合はステップS5320に行く。
【0600】
(ステップS5320)端末受信部H5は、エラーメッセージを地図表現データ処理装置Gから受信したか否かを判断する。エラーメッセージを受信した場合はステップS5321に行き、エラーメッセージを受信しなかった場合はステップS5301に戻る。
【0601】
(ステップS5321)端末出力部H6は、受信されたエラーメッセージを出力する。ステップS5301に戻る。なお、エラーメッセージの内容は問わない。エラーメッセージは、例えば、ナビ情報を取得できなかった旨の情報である。
【0602】
以下、本実施の形態における情報システムFの具体的な動作例について説明する。情報システムFの概念図は
図47である。
【0603】
今、地図表現データ処理装置Gのナビ情報格納部G11に、
図54に示すナビ情報管理表が格納されている、とする。ナビ情報管理表は、「ID」「ナビ情報」「領域特定情報」「サムネイル画像」を有する2以上のレコードを格納している表である。「ナビ情報」は、「地図表現データ」と2または3以上の「対応情報」を有する。「対応情報」は、「座標情報」と「位置情報」とを有する。「領域特定情報」は、ここで、地図表現データがサポートする領域を特定する情報であり、矩形である地図表現データの左上の位置情報(緯度,経度)、右下の位置情報(緯度,経度)である。つまり、「ID=1」のレコードのP1(X
P1,Y
P1)は左上の位置情報であり、P2(X
P2,Y
P2)は右下の位置情報である。また、「地図表現データ」の属性値は、地図表現データのファイルまたはファイル名である。また、「サムネイル画像」は、地図表現データのサムネイル画像であり、ここでは、予め格納されている、とする。
【0604】
かかる状況において、ユーザは、観光に来ている観光地において、バズ亭に設置されていたイラスト地図(
図55の5501)を、端末装置Hの地図表現データアプリを起動し、当該アプリから端末装置Hのカメラ機能を用いて撮影した、とする。次に、端末装置Hの端末撮影部H31は、撮影し、地図写真(
図56)を取得する。また、端末装置Hの端末位置取得部H34は、端末の現在位置情報(X
t,Y
t)を取得した、とする。
【0605】
そして、撮影後、直ちに、端末送信部H4のアプリは、当該地図写真(
図56)と現在位置情報(X
t,Y
t)とを地図表現データ処理装置Gに送信する。なお、端末装置Hの端末カット部H32、端末補正部H33が前処理を行った場合には、前処理が完了していることを示すフラグをも地図表現データ処理装置Gに送信するが、ここでは、前処理を行わないこととする。
【0606】
次に、地図表現データ処理装置Gの写真受信部G21は、
図56の地図写真と現在位置情報(X
t,Y
t)とを受信する。次に、処理部G3は、前処理が完了していることを示すフラグを受信していない、と判断し、前処理を行う、と決定する。
【0607】
次に、カット手段G361は、
図56の地図写真から地図の領域をカットし、地図カット画像を取得する。また、補正手段G362は、取得された地図カット画像を矩形に補正し、
図57の補正地図画像を取得する。なお、この補正地図画像は、地図写真である、と言っても良い。
【0608】
次に、決定部G36は、前処理が施された地図写真(
図57)を用いてナビ情報を決定する処理である第一決定処理を行い、3つのナビ情報を決定した、とする。なお、第一決定処理の詳細については上述したので、ここでの説明は省略する。
【0609】
次に、決定部G36は、決定した3つの各ナビ情報に含まれるサムネイル画像である選択画像を、ナビ情報管理表(
図54)から取得する。
【0610】
次に、処理部G3は、取得した3つの選択画像を含む選択画面の情報を構成する。そして、選択画像送信部G41は、当該選択画面の情報を端末装置Hに送信する。なお、選択画面の情報は、例えば、HTML、XML等で記述されている。
【0611】
次に、端末装置Hの端末受信部H5は、選択画面の情報を受信する。そして、端末処理部H3は、受信された選択画面の情報を用いて、選択画面を構成する。次に、端末出力部H6は、
図58に示すような選択画面を出力する。
【0612】
次に、ユーザは、3つの選択画像から、一の選択画像5801を選択した、とする。すると、端末装置Hの端末受付部H2は、選択指示を受け付ける。そして、端末処理部H3は、選択画像5801の画像識別子を有する選択指示を構成する。次に、端末送信部H4は、当該選択指示を地図表現データ処理装置Gに送信する。
【0613】
次に、地図表現データ処理装置Gの選択受信部G22は、選択指示を受信する。次に、決定部G36は、受信された選択指示に含まれる画像識別子を取得する。また、決定部G36は、画像識別子に対応するナビ情報をナビ情報管理表から取得する。次に、ナビ情報送信部G42は、取得されたナビ情報を端末装置Hに送信する。
【0614】
次に、端末装置Hの端末受信部H5は、一のナビ情報を受信する。そして、端末位置取得部H34は、現在位置情報を取得する。次に、端末座標取得部H35は、受信されたナビ情報が有する2以上の対応情報を用いて、取得された現在位置情報に対応する現在座標情報を取得する。次に、端末処理部H3は、受信されたナビ情報が有する地図表現データの現在座標情報が示す座標位置に、現在位置を明示する図柄を付加した現在地付加地図表現データを構成する。次に、端末出力部H6は、構成された現在地付加地図表現データを出力する。なお、かかる出力例は
図59である。また、図柄5901は、現在位置を示す。
【0615】
以上、本実施の形態によれば、撮影された地図写真を用いて取得した地図表現データを使用したナビゲーションを実現できる。
【0616】
また、本実施の形態によれば、撮影された地図写真に対して前処理を行うことにより、精度高く適切な地図表現データを選択できる。
【0617】
また、本実施の形態によれば、撮影された地図写真に対応する2以上の地図表現データから、ユーザが好きな地図表現データを選択できる。
【0618】
さらに、本実施の形態によれば、撮影された地図写真に対応する対応情報を自動的に取得し、端末装置Hに送信することにより、撮影した地図写真を用いたナビゲーションを実現できる。
【0619】
なお、本実施の形態における処理は、ソフトウェアで実現しても良い。そして、このソフトウェアをソフトウェアダウンロード等により配布しても良い。また、このソフトウェアをCD-ROMなどの記録媒体に記録して流布しても良い。なお、このことは、本明細書における他の実施の形態においても該当する。なお、本実施の形態における地図表現データ処理装置Gを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、撮影された地図写真を端末装置から受信する写真受信部と、イラスト地図、手書き地図、略地図のうちのいずれかである地図表現データにおける座標情報と位置情報との組である2以上の対応情報と地図表現データとを有する2以上のナビ情報を有するナビ情報集合を検索し、前記地図写真と第一条件を満たす関係を有するナビ情報を決定する決定部と、前記決定部が決定したナビ情報を前記端末装置に送信するナビ情報送信部として機能させるためのプログラムである。
【0620】
また、端末装置Hを実現するソフトウェアは、以下のようなプログラムである。つまり、このプログラムは、コンピュータを、地図写真を撮影する端末撮影部と、前記地図写真を地図表現データ処理装置に送信する端末送信部と、前記地図表現データ処理装置からナビ情報を受信する端末受信部と、現在位置情報を取得する端末位置取得部と、前記ナビ情報が有する2以上の対応情報を用いて、前記現在位置情報に対応する現在座標情報を取得する端末座標取得部と、前記ナビ情報が有する地図表現データ上に前記現在座標情報が示す座標位置に現在位置を明示した現在地付加地図表現データを出力する端末出力部として機能させるためのプログラムである。
【0621】
また、
図60は、本明細書で述べたプログラムを実行して、上述した種々の実施の形態の地図表現データ処理装置C等を実現するコンピュータの外観を示す。上述の実施の形態は、コンピュータハードウェア及びその上で実行されるコンピュータプログラムで実現され得る。
図60は、このコンピュータシステム300の概観図であり、
図61は、システム300のブロック図である。
【0622】
図60において、コンピュータシステム300は、CD-ROMドライブを含むコンピュータ301と、キーボード302と、マウス303と、モニタ304とを含む。
【0623】
図61において、コンピュータ301は、CD-ROMドライブ3012に加えて、MPU3013と、CD-ROMドライブ3012等に接続されたバス3014と、ブートアッププログラム等のプログラムを記憶するためのROM3015と、MPU3013に接続され、アプリケーションプログラムの命令を一時的に記憶するとともに一時記憶空間を提供するためのRAM3016と、アプリケーションプログラム、システムプログラム、及びデータを記憶するためのハードディスク3017とを含む。ここでは、図示しないが、コンピュータ301は、さらに、LANへの接続を提供するネットワークカードを含んでも良い。
【0624】
コンピュータシステム300に、上述した実施の形態の地図表現データ処理装置G等の機能を実行させるプログラムは、CD-ROM3101に記憶されて、CD-ROMドライブ3012に挿入され、さらにハードディスク3017に転送されても良い。これに代えて、プログラムは、図示しないネットワークを介してコンピュータ301に送信され、ハードディスク3017に記憶されても良い。プログラムは実行の際にRAM3016にロードされる。プログラムは、CD-ROM3101またはネットワークから直接、ロードされても良い。
【0625】
プログラムは、コンピュータ301に、上述した実施の形態の地図表現データ処理装置G等の機能を実行させるオペレーティングシステム(OS)、またはサードパーティープログラム等は、必ずしも含まなくても良い。プログラムは、制御された態様で適切な機能(モジュール)を呼び出し、所望の結果が得られるようにする命令の部分のみを含んでいれば良い。コンピュータシステム300がどのように動作するかは周知であり、詳細な説明は省略する。
【0626】
なお、上記プログラムにおいて、情報を送信するステップや、情報を受信するステップなどでは、ハードウェアによって行われる処理、例えば、送信ステップにおけるモデムやインターフェースカードなどで行われる処理(ハードウェアでしか行われない処理)は含まれない。
【0627】
また、上記プログラムを実行するコンピュータは、単数であってもよく、複数であってもよい。すなわち、集中処理を行ってもよく、あるいは分散処理を行ってもよい。
【0628】
また、上記各実施の形態において、一の装置に存在する2以上の通信手段は、物理的に一
【0629】
また、上記各実施の形態において、各処理は、単一の装置によって集中処理されることによって実現されてもよく、あるいは、複数の装置によって分散処理されることによって実現されてもよい。つまり、地図表現データ処理装置G等は、スタンドアロンで動作しても良い。
【0630】
本発明は、以上の実施の形態に限定されることなく、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
【産業上の利用可能性】
【0631】
以上のように、本発明にかかる地図表現データ処理装置は、地図表現データ上の地名等の座標情報と位置情報とを対応付けて自動的に取得できるという効果を有し、地図表現データ処理装置等として有用である。
【符号の説明】
【0632】
A 学習装置
B 分類装置
C,D,E,G 地図表現データ処理装置
F 情報システム
H 端末装置
A1,B1,C1,D1,G1 格納部
A2,B2,C2,D2 受付部
A3,B3,C3,D3,E3、G3 処理部
A4,B4,C4,D4、E4 出力部
G2 受信部
G4 送信部
A11 学習元情報格納部
A12 学習器格納部
A31 学習部
A41 蓄積部
B21 文字列受付部
B31 分類部
B41 ラベル出力部
C11 地点辞書格納部
C12 地図表現データ格納部
C13 正確地図情報格納部
C14 対応情報格納部
C21 地図表現データ受付部
C31,G31 文字列取得部
C32 分類部
C33 グループ化部
C34 特徴箇所検出部
C35,G34 座標情報取得部
C36,G32 位置情報取得部
C37,G33 領域特定情報取得部
C38 方角情報取得部
C41 対応出力部
C42 正確地図情報出力部
C43 方角情報出力部
C371 第一領域特定情報取得手段
C372 外側文字列決定手段
C373 サイズ情報取得手段
C374 距離情報取得手段
C375 第二領域特定情報取得手段
D31,G35 現在位置情報取得部
D32 座標情報取得部
D33 データ構成部
D41 地図表現データ出力部
E31 関係情報取得部
E32 対応情報取得部
E33 縮尺取得部
E34 領域特定情報取得部
E35 追加地点取得部
E36 追加位置取得部
E37 追加座標取得部
E38 地点追記部
E39 方角情報取得部
E41 対応出力部
E42 縮尺情報出力部
E43 領域特定情報出力部
E44 方角情報出力部
E321 判断手段
E322 対応情報取得手段
G11 ナビ情報格納部
G21 写真受信部
G22 選択受信部
G36 決定部
G41 選択画像送信部
G42 ナビ情報送信部
G361 カット手段
G362 補正手段
G363 文字列判断手段
G364 画像判断手段
G365 領域判断手段G
G366 スコア取得手段
G367 決定手段
G368 取得手段
H1 端末格納部
H2 端末受付部
H3 端末処理部
H4 端末送信部
H5 端末受信部
H6 端末出力部
H31 端末撮影部
H32 端末カット部
H33 端末補正部
H34 端末位置取得部
H35 端末座標取得部