(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-11-29
(45)【発行日】2023-12-07
(54)【発明の名称】経路認識プログラム、情報処理装置および経路認識方法
(51)【国際特許分類】
G06T 7/70 20170101AFI20231130BHJP
G09B 29/00 20060101ALI20231130BHJP
G09B 29/10 20060101ALI20231130BHJP
G01C 21/36 20060101ALI20231130BHJP
【FI】
G06T7/70 Z
G09B29/00 Z
G09B29/10 A
G01C21/36
(21)【出願番号】P 2020090732
(22)【出願日】2020-05-25
【審査請求日】2023-02-09
(73)【特許権者】
【識別番号】000005223
【氏名又は名称】富士通株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】市丸 和人
【審査官】笠田 和宏
(56)【参考文献】
【文献】特開2011-112364(JP,A)
【文献】特開2008-096144(JP,A)
【文献】米国特許出願公開第2014/0314282(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/70
G09B 29/00
G09B 29/10
G01C 21/36
(57)【特許請求の範囲】
【請求項1】
コンピュータに、
実座標上での実経路を地図上でなぞった図上経路と前記実座標上での複数の通過点を前記地図上で標した複数の図上通過点とが写った地図画像から、前記図上経路の候補である候補経路と前記複数の図上通過点の候補である複数の候補点とを検出し、
前記複数の通過点の一部である複数の第1通過点それぞれに前記複数の候補点のうちの1つを対応付ける組み合わせパターンを複数生成し、
複数生成された前記組み合わせパターンそれぞれについて、前記複数の第1通過点の前記実座標における座標値と、前記複数の候補点のうちの前記複数の第1通過点に対応付けられた複数の第1候補点の前記地図画像内での座標値との一方を他方に変換する変換情報に基づいて、前記複数の通過点のうちの前記複数の第1通過点以外の1以上の第2通過点の前記実座標における座標値と、前記複数の候補点のうちの前記複数の第1候補点以外の1以上の第2候補点の前記地図画像内での座標値との一方を変換した場合の、前記1以上の第2通過点と前記1以上の第2候補点との座標値の差を算出し、
複数生成された前記組み合わせパターンそれぞれについて算出した、前記1以上の第2通過点と前記1以上の第2候補点との座標値の差に基づいて、複数生成された前記組み合わせパターンから一の組み合わせパターンを選択し、
選択した前記一の組み合わせパターンの変換情報に基づいて、前記候補経路上の点の前記地図画像内での座標値を前記実座標上の座標値に変換する、
処理を実行させる経路認識プログラム。
【請求項2】
複数生成された前記組み合わせパターンそれぞれについての前記1以上の第2通過点と前記1以上の第2候補点との座標値の差の算出では、前記複数の第1通過点それぞれの前記実座標における座標値を、対応付けられた第1候補点の前記地図画像内での座標値に変換する変換情報に基づいて、前記1以上の第2通過点の前記実座標における座標値を前記地図画像内での座標値に変換した場合の、前記1以上の第2通過点と前記1以上の第2候補点との座標値の差を算出する、
請求項1記載の経路認識プログラム。
【請求項3】
複数生成された前記組み合わせパターンそれぞれについての前記1以上の第2通過点と前記1以上の第2候補点との座標値の差の算出では、前記1以上の第2通過点の前記実座標における座標値と、前記1以上の第2候補点の前記地図画像内での座標値との一方を変換した場合の、変換した一方それぞれの他方のうちの最近傍点との座標値の差を算出する、
請求項1または2記載の経路認識プログラム。
【請求項4】
前記コンピュータに、さらに、
前記図上経路と前記複数の図上通過点と前記地図上に記された2つの十字マークとが写った入力画像から、前記2つの十字マークを示す2つの検出十字マークを検出し、
前記2つの検出十字マークそれぞれの交点と前記2つの検出十字マークそれぞれを延長した線分が交わる2つの交点とを、長方形の各頂点に変換するための他の変換情報を算出し、
前記他の変換情報に基づいて、前記入力画像を前記地図画像に変換させる、
請求項1ないし3のいずれかに記載の経路認識プログラム。
【請求項5】
前記複数の通過点には、始点と終点とが含まれ、
前記コンピュータに、さらに、
前記始点および前記終点と前記候補経路との一方を前記変換情報に基づいて変換し、
前記始点から前記終点まで、前記候補経路上を探索させ、
前記候補経路上の点の座標値の前記実座標上の座標値への変換では、前記変換情報に基づいて、前記候補経路上を探索した探索経路上の点を前記実座標上の座標値に変換する、
請求項1ないし4のいずれかに記載の経路認識プログラム。
【請求項6】
前記候補経路の検出では、前記地図画像から所定の色でサイズが所定の範囲の輪郭を抽出し、前記輪郭を細線化した前記候補経路を検出する、
請求項1ないし5のいずれかに記載の経路認識プログラム。
【請求項7】
前記複数の候補点の検出では、前記輪郭と膨張させた前記候補経路との差分に基づいて、前記複数の候補点を検出する、
請求項6記載の経路認識プログラム。
【請求項8】
複数の通過点の実座標上での座標値を記憶する記憶部と、
前記実座標上での実経路を地図上でなぞった図上経路と前記実座標上での前記複数の通過点を前記地図上で標した複数の図上通過点とが写った地図画像から、前記図上経路の候補である候補経路と前記図上通過点の候補である複数の候補点とを検出し、前記複数の通過点の一部である複数の第1通過点それぞれに前記複数の候補点のうちの1つを対応付ける組み合わせパターンを複数生成し、複数生成された前記組み合わせパターンそれぞれについて、前記複数の第1通過点の前記実座標における座標値と、前記複数の候補点のうちの前記複数の第1通過点に対応付けられた複数の第1候補点の前記地図画像内での座標値との一方を他方に変換する変換情報に基づいて、前記複数の通過点のうちの前記複数の第1通過点以外の1以上の第2通過点の前記実座標における座標値と、前記複数の候補点のうちの前記複数の第1候補点以外の1以上の第2候補点の前記地図画像内での座標値との一方を変換した場合の、前記1以上の第2通過点と前記1以上の第2候補点との座標値の差を算出し、複数生成された前記組み合わせパターンそれぞれについて算出した、前記1以上の第2通過点と前記1以上の第2候補点との座標値の差に基づいて、複数生成された前記組み合わせパターンから一の組み合わせパターンを選択し、選択した前記一の組み合わせパターンの変換情報に基づいて、前記候補経路上の点の前記地図画像内での座標値を前記実座標上の座標値に変換する処理部と、
を有する情報処理装置。
【請求項9】
コンピュータが、
実座標上での実経路を地図上でなぞった図上経路と前記実座標上での複数の通過点を前記地図上で標した複数の図上通過点とが写った地図画像から、前記図上経路の候補である候補経路と前記図上通過点の候補である複数の候補点とを検出し、
前記複数の通過点の一部である複数の第1通過点それぞれに前記複数の候補点のうちの1つを対応付ける組み合わせパターンを複数生成し、
複数生成された前記組み合わせパターンそれぞれについて、前記複数の第1通過点の前記実座標における座標値と、前記複数の候補点のうちの前記複数の第1通過点に対応付けられた複数の第1候補点の前記地図画像内での座標値との一方を他方に変換する変換情報に基づいて、前記複数の通過点のうちの前記複数の第1通過点以外の1以上の第2通過点の前記実座標における座標値と、前記複数の候補点のうちの前記複数の第1候補点以外の1以上の第2候補点の前記地図画像内での座標値との一方を変換した場合の、前記1以上の第2通過点と前記1以上の第2候補点との座標値の差を算出し、
複数生成された前記組み合わせパターンそれぞれについて算出した、前記1以上の第2通過点と前記1以上の第2候補点との座標値の差に基づいて、複数生成された前記組み合わせパターンから一の組み合わせパターンを選択し、
選択した前記一の組み合わせパターンの変換情報に基づいて、前記候補経路上の点の前記地図画像内での座標値を前記実座標上の座標値に変換する、
経路認識方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、経路認識プログラム、情報処理装置および経路認識方法に関する。
【背景技術】
【0002】
紙地図に移動経路や対象物の位置を書き入れることで情報共有をすることがある。例えば自衛隊の指揮所訓練では、部隊の移動経路が大型の紙地図に手書きで記される。紙地図に書き入れた情報を活用するため、位置情報を電子データとして管理できることが望ましい。
【0003】
そこで、紙地図上の位置情報を基に、実座標上の位置を示す実座標データを作成することがある。実座標データとしては、紙地図に記載された移動経路上の点や対象物の位置を緯度経度に変換したものなどが考えられる。これにより、例えば地図アプリケーションを用いて移動経路や対象物の位置を確認することができるようになる。
【0004】
実座標データに関する技術として、例えば目的地に到達する間、自身の現在位置情報を取得し、該現在位置情報に従って、碁盤目の交点のうち、現在位置に地理的に最も近い交点に所定のマークをプロットしていく地図データ作成装置が提案されている。またユーザが入力した地図などを利用して経路探索できる地図情報処理装置も提案されている。
【先行技術文献】
【特許文献】
【0005】
【文献】特開2005-227374号公報
【文献】特開2011-112364号公報
【発明の概要】
【発明が解決しようとする課題】
【0006】
紙地図上の経路を実座標データに変換する方法としては、紙地図を撮影した画像から経路を抽出し、紙地図上の座標と実座標との対応関係を基に、抽出した経路を実座標に変換する方法が考えられる。しかし、紙地図上の座標と実座標との対応付けは、ユーザによって行われるため、手間がかかる。
【0007】
1つの側面では、本件は、実座標データの作成を容易にすることを目的とする。
【課題を解決するための手段】
【0008】
1つの案では、以下の処理をコンピュータに実行させる経路認識プログラムが提供される。
まずコンピュータは、実座標上での実経路を地図上でなぞった図上経路と実座標上での複数の通過点を地図上で標した複数の図上通過点とが写った地図画像から、図上経路の候補である候補経路と複数の図上通過点の候補である複数の候補点とを検出する。次にコンピュータは、複数の通過点の一部である複数の第1通過点それぞれに複数の候補点のうちの1つを対応付ける組み合わせパターンを複数生成する。次にコンピュータは、複数生成された組み合わせパターンそれぞれについて、複数の第1通過点の実座標における座標値と、複数の候補点のうちの複数の第1通過点に対応付けられた複数の第1候補点の地図画像内での座標値との一方を他方に変換する変換情報に基づいて、複数の通過点のうちの複数の第1通過点以外の1以上の第2通過点の実座標における座標値と、複数の候補点のうちの複数の第1候補点以外の1以上の第2候補点の地図画像内での座標値との一方を変換した場合の、1以上の第2通過点と1以上の第2候補点との座標値の差を算出する。次にコンピュータは、複数生成された組み合わせパターンそれぞれについて算出した、1以上の第2通過点と1以上の第2候補点との座標値の差に基づいて、複数生成された組み合わせパターンから一の組み合わせパターンを選択する。そしてコンピュータは、選択した一の組み合わせパターンの変換情報に基づいて、候補経路上の点の地図画像内での座標値を実座標上の座標値に変換する。
【発明の効果】
【0009】
1態様によれば、実座標データの作成が容易になる。
【図面の簡単な説明】
【0010】
【
図1】第1の実施の形態に係る経路認識方法の一例を示す図である。
【
図4】情報処理装置のハードウェアの一構成例を示す図である。
【
図5】情報処理装置の機能例を示すブロック図である。
【
図10】候補経路の膨張処理の一例を示す図である。
【
図12】マッチング処理の一例を示す図(その1)である。
【
図13】マッチング処理の一例を示す図(その2)である。
【
図15】経路認識処理の手順の一例を示すフローチャートである。
【
図16】十字検出処理の手順の一例を示すフローチャートである。
【
図17】画像変換処理の手順の一例を示すフローチャートである。
【
図18】候補経路検出処理の手順の一例を示すフローチャートである。
【
図19】候補点検出処理の手順の一例を示すフローチャートである。
【
図20】マッチング処理の手順の一例を示すフローチャートである。
【
図21】経路変換処理の手順の一例を示すフローチャートである。
【
図22】画像上の通過点と実座標上の通過点との対応付けの一例を示す図である。
【発明を実施するための形態】
【0011】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
まず第1の実施の形態について説明する。
【0012】
図1は、第1の実施の形態に係る経路認識方法の一例を示す図である。
図1には、経路認識方法を実施する情報処理装置10が示されている。情報処理装置10は、例えば経路認識方法の処理手順が記述された経路認識プログラムを実行することにより、経路認識方法を実施することができる。
【0013】
情報処理装置10は、経路認識方法を実現するために、記憶部11と処理部12とを有する。記憶部11は、例えば情報処理装置10が有するメモリ、またはストレージ装置である。処理部12は、例えば情報処理装置10が有するプロセッサ、または演算回路である。
【0014】
記憶部11は、座標情報11aを記憶する。座標情報11aには、複数の通過点の実座標上での座標値が登録されている。実座標は、実空間上の座標である。実座標としては、例えば緯度経度やUTM(Universal Transverse Mercator)座標などがある。複数の通過点には、始点と終点とが含まれていてもよい。一例として、座標情報11aには、座標(31,133)の始点A、座標(32,131)の通過点B、座標(33,130)の終点C、座標(31,130)の始点Dおよび座標(33,132)の終点Eが登録されている。
【0015】
処理部12は、地図画像1を取得する。処理部12は、記憶部11に記憶された地図画像1を取得してもよいし、他の情報処理装置やカメラから地図画像1を取得してもよい。地図画像1は、実座標上での実経路を地図上でなぞった図上経路と実座標上での複数の通過点を地図上で標した複数の図上通過点とが写った画像である。複数の図上通過点は、例えば始点A、通過点B、終点C、始点Dおよび終点Eを示す地図上の点である。図上経路は、例えば始点A、通過点B、終点Cを順に経由する経路と始点D、終点Eを順に経由する経路とを示す地図上の線である。
【0016】
処理部12は、地図画像1から候補経路2と候補点集合3とを検出する。候補経路2は、地図画像1における図上経路の候補である。例えば処理部12は、地図画像1から所定の色でサイズが所定の範囲の輪郭を抽出する。そして処理部12は、抽出した輪郭を細線化した候補経路2を検出する。候補点集合3は、複数の図上通過点の候補である複数の候補点である。例えば処理部12は、候補経路2の検出において抽出した輪郭と膨張させた候補経路2との差分に基づいて、候補点集合3を検出する。ここでは候補点集合3として、候補点a、候補点b、候補点c、候補点dおよび候補点eが検出されたものとする。
【0017】
処理部12は、座標情報11aに登録された複数の通過点の一部である複数の第1通過点に決定する。一例として処理部12は、始点A、終点C、始点Dおよび終点Eを第1の通過点に決定する。そして処理部12は、複数の第1通過点それぞれに候補点集合3のうちの1つを対応付けるパターン4a,4b,4c,・・・を生成する。例えばパターン4aは、始点Aに候補点a、終点Cに候補点c、始点Dに候補点d、終点Eに候補点eを対応付ける組み合わせパターンである。また例えばパターン4bは、始点Aに候補点a、終点Cに候補点d、始点Dに候補点c、終点Eに候補点eを対応付ける組み合わせパターンである。また例えばパターン4cは、始点Aに候補点a、終点Cに候補点c、始点Dに候補点e、終点Eに候補点dを対応付ける組み合わせパターンである。
【0018】
処理部12は、パターン4a,4b,4c,・・・それぞれについて、次のような処理を実行する。処理部12は、複数の第1通過点の実座標における座標値と、複数の候補点のうちの複数の第1通過点に対応付けられた複数の第1候補点の地図画像1内での座標値との一方を他方に変換する変換情報を算出する。処理部12は、算出した変換情報に基づいて、複数の通過点のうちの複数の第1通過点以外の1以上の第2通過点の実座標における座標値と、複数の候補点のうちの複数の第1候補点以外の1以上の第2候補点の地図画像1内での座標値との一方を変換する。処理部12は、1以上の第2通過点と1以上の第2候補点との一方を変換した場合の、1以上の第2通過点と1以上の第2候補点との座標値の差を算出する。
【0019】
一例としてパターン4aでは、処理部12は次のような処理を実行する。処理部12は、始点Aを候補点a、終点Cを候補点c、始点Dを候補点d、終点Eを候補点eに変換するためのホモグラフィ行列を推定する。処理部12は、推定したホモグラフィ行列に基づいて、通過点Bの実座標における座標値を地図画像1内での座標値に変換する。そして処理部12は、変換した通過点Bと候補点bとの地図画像1内での距離を算出する。なお処理部12は、候補点aを始点A、候補点cを終点C、候補点dを始点D、候補点eを終点Eに変換するためのホモグラフィ行列に基づいて変換した候補点bと、通過点Bとの実座標における距離を算出してもよい。
【0020】
処理部12は、パターン4a,4b,4c,・・・それぞれについて算出した、1以上の第2通過点と1以上の第2候補点との座標値の差に基づいて、パターン4a,4b,4c,・・・から一の組み合わせパターンを選択する。例えば処理部12は、変換された第2通過点と第2候補点との地図画像1内での距離が最も小さい組み合わせパターンを選択する。ここでは一例として、処理部12は、パターン4aを選択する。
【0021】
処理部12は、選択した一の組み合わせパターンの変換情報に基づいて、候補経路2上の点の地図画像1内での座標値を実座標上の座標値である実座標データ5に変換する。例えば処理部12は、候補点aを始点A、候補点cを終点C、候補点dを始点D、候補点eを終点Eに変換するためのホモグラフィ行列に基づいて、候補経路2上の点の地図画像1内での座標値を実座標データ5に変換する。なお候補点aを始点A、候補点cを終点C、候補点dを始点D、候補点eを終点Eに変換するためのホモグラフィ行列は、例えば始点Aを候補点a、終点Cを候補点c、始点Dを候補点d、終点Eを候補点eに変換するためのホモグラフィ行列の逆行列である。
【0022】
処理部12は、始点A,Dおよび終点C,Eの実座標上の座標値を、始点Aを候補点a、終点Cを候補点c、始点Dを候補点d、終点Eを候補点eに変換するためのホモグラフィ行列に基づいて、地図画像1内での座標値に変換する。処理部12は、変換した始点Aから変換した終点Cまで、候補経路2上を探索する。ここで処理部12は、変換した始点Aから始点A,Dおよび終点C,Eと同様に変換した通過点Bまでと、変換した通過点Bから変換した終点Cまでとを探索してもよい。また処理部12は、変換した始点Dから変換した終点Eまで、候補経路2上を探索する。そして処理部12は、候補点aを始点A、候補点cを終点C、候補点dを始点D、候補点eを終点Eに変換するためのホモグラフィ行列に基づいて、候補経路2上を探索した探索経路上の点を実座標データ5に変換する。
【0023】
なお処理部12は、地図画像1内で候補経路2上を探索するのに代えて、実座標上に変換した候補経路2上を探索してもよい。例えば処理部12は、候補点aを始点A、候補点cを終点C、候補点dを始点D、候補点eを終点Eに変換するためのホモグラフィ行列に基づいて、候補経路2の地図画像1内での座標値を実座標上の座標値に変換する。処理部12は、始点A,Dから終点C,Eまで、変換した候補経路2上を探索する。そして処理部12は、変換した候補経路2上の点から探索経路以外の点を除外した実座標データ5を生成する。
【0024】
このような情報処理装置10によれば、処理部12は、複数の第1通過点それぞれに第1候補点を対応付けるパターン4a,4b,4c,・・・を生成する。処理部12は、パターン4a,4b,4c,・・・それぞれについて算出した第2通過点と第2候補点との座標値の差に基づいて、一の組み合わせパターンを選択する。そして処理部12は、選択した一の組み合わせパターンの変換情報に基づいて、候補経路2上の点の地図画像1内での座標値を実座標データ5に変換する。これにより情報処理装置10は、図上経路を実座標上の経路を示す実座標データ5に変換することができる。このとき、例えば地図上の座標と実座標との対応付けなどのユーザによる作業は行われない。よって情報処理装置10は、実座標データ5の作成を容易にすることができる。
【0025】
また処理部12は、パターン4a,4b,4c,・・・それぞれについて、複数の第1通過点それぞれを対応付けられた第1候補点に変換する変換情報に基づいて変換した第2通過点と、第2候補点との座標値の差を算出する。これにより情報処理装置10は、候補点集合3に含まれる余分な候補点を除去できる。
【0026】
また処理部12は、地図画像1内または実座標上において、始点から終点まで候補経路2上を探索した探索経路を実座標データ5に変換する。これにより情報処理装置10は、候補経路2のうち、地図画像1に写った図上経路を示す部分を特定できる。
【0027】
また処理部12は、地図画像1から所定の色でサイズが所定の範囲の輪郭を細線化した候補経路2を検出する。これにより情報処理装置10は、実座標上の点に変換しやすい候補経路2を検出できる。
【0028】
また処理部12は、候補経路2の検出において抽出した輪郭と膨張させた候補経路2との差分に基づいて、候補点集合3を検出する。このように情報処理装置10は、一度細線化した候補経路2を膨張させることによって、候補経路2から通過点を示す点を除去することができる。よって情報処理装置10は、候補経路2の検出において抽出した輪郭と膨張させた候補経路2との差分に基づいて、適切な候補点集合3を検出できる。
【0029】
なお処理部12は、第2通過点と第2候補点との座標値の差の算出では、1以上の第2通過点と1以上の第2候補点との一方を変換した場合の、変換した一方それぞれの他方のうちの最近傍点との座標値の差を算出してもよい。これにより情報処理装置10は、第2通過点と第2候補点とを適切に対応付けることができる。
【0030】
また地図画像1は、図上経路と複数の図上通過点と地図上に記された2つの十字マークとが写った入力画像を次のように補正したものであってもよい。処理部12は、入力画像から、2つの十字マークを示す2つの検出十字マークを検出する。処理部12は、2つの検出十字マークそれぞれの交点と2つの検出十字マークそれぞれを延長した線分が交わる2つの交点とを、長方形の各頂点に変換するための他の変換情報を算出する。そして処理部12は、他の変換情報に基づいて、入力画像を地図画像1に変換する。これにより情報処理装置10は、入力画像を、地図を真上から撮影したような地図画像1に変換できる。
【0031】
〔第2の実施の形態〕
次に第2の実施の形態について説明する。
図2は、第2の実施の形態の概要を示す図である。第2の実施の形態は、自衛隊の指揮所訓練において使用される地
図30に記された経路を、情報処理装置100が実座標の経路を示す実座標データに変換するものである。
【0032】
地
図30は、例えば指揮所にある机の上に広げられた紙地図である。地
図30は、ビニールなどの透明素材のオーバーレイが重ねられている。地
図30に重ねられたオーバーレイには、地
図30上の部隊の経路や始点と終点とを含む通過点などの情報がマジックペンなどで記される。なお、以下ではオーバーレイに記された情報を、地
図30に記された情報ということがある。地
図30は、カメラ28によって斜め上から(例えば、地
図30が広げられた机の外側から)撮影される。カメラ28は、スマートフォンやタブレットなどの電子機器に取り付けられたカメラであってもよい。情報処理装置100は、カメラ28が地
図30を撮影した入力画像から、地
図30に記された経路を実座標の経路を示す実座標データに変換する。
【0033】
図3は、地図および入力画像の一例を示す図である。地
図30には、十字マーク31-1,31-2、図上経路32-1,32-2および図上通過点33-1,33-2,33-3,33-4,33-5が記されている。なお十字マーク31-1,31-2、図上経路32-1,32-2および図上通過点33-1,33-2,33-3,33-4,33-5は、同じ色(例えば、黒)で地
図30に記される。地
図30には、部隊符号などがさらに記されていてもよい。
【0034】
十字マーク31-1,31-2は、地
図30上に記された十字のマークである。十字マーク31-1,31-2は、例えばオーバーレイの位置決めをするためのマークである。十字マーク31-1は、地
図30の左下に記されている。十字マーク31-2は、地
図30の右上に記されている。なお十字マーク31-1,31-2に代えて地
図30の右下と左上とに十字マークが記されていてもよい。図上経路32-1,32-2は、地
図30上の部隊の経路を示す線である。なお図上経路32-1,32-2は、それぞれ別の部隊の経路を示す。
【0035】
図上通過点33-1,33-2,33-3,33-4,33-5は、地
図30上の部隊の通過点を示す点である。図上通過点33-1は、図上経路32-1の始点を示す。図上通過点33-2は、図上経路32-1の通過点を示す。図上通過点33-3は、図上経路32-1の終点を示す。図上通過点33-4は、図上経路32-2の始点を示す。図上通過点33-5は、図上経路32-2の終点を示す。つまり地
図30は、図上経路32-1上を図上通過点33-1、図上通過点33-2、図上通過点33-3の順に通過した部隊があることを示す。また地
図30は、図上経路32-2上を図上通過点33-4、図上通過点33-5の順に通過した部隊があることを示す。
【0036】
入力画像40は、カメラ28によって地
図30を撮影した画像である。入力画像40は、十字マーク31-1,31-2、図上経路32-1,32-2および図上通過点33-1,33-2,33-3,33-4,33-5が写るように撮影された画像である。なお入力画像40は、地
図30から取り外したオーバーレイを撮影したものであってもよい。
【0037】
図4は、情報処理装置のハードウェアの一構成例を示す図である。情報処理装置100は、プロセッサ101によって装置全体が制御されている。プロセッサ101には、バス109を介してメモリ102と複数の周辺機器が接続されている。プロセッサ101は、マルチプロセッサであってもよい。プロセッサ101は、例えばCPU(Central Processing Unit)、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)である。プロセッサ101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)などの電子回路で実現してもよい。
【0038】
メモリ102は、情報処理装置100の主記憶装置として使用される。メモリ102には、プロセッサ101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ102には、プロセッサ101による処理に利用する各種データが格納される。メモリ102としては、例えばRAM(Random Access Memory)などの揮発性の半導体記憶装置が使用される。
【0039】
バス109に接続されている周辺機器としては、ストレージ装置103、グラフィック処理装置104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
【0040】
ストレージ装置103は、内蔵した記録媒体に対して、電気的または磁気的にデータの書き込みおよび読み出しを行う。ストレージ装置103は、コンピュータの補助記憶装置として使用される。ストレージ装置103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、ストレージ装置103としては、例えばHDD(Hard Disk Drive)やSSD(Solid State Drive)を使用することができる。
【0041】
グラフィック処理装置104には、モニタ21が接続されている。グラフィック処理装置104は、プロセッサ101からの命令に従って、画像をモニタ21の画面に表示させる。モニタ21としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置などがある。
【0042】
入力インタフェース105には、キーボード22とマウス23とが接続されている。入力インタフェース105は、キーボード22やマウス23から送られてくる信号をプロセッサ101に送信する。なお、マウス23は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【0043】
光学ドライブ装置106は、レーザ光などを利用して、光ディスク24に記録されたデータの読み取りを行う。光ディスク24は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク24には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)などがある。
【0044】
機器接続インタフェース107は、情報処理装置100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置25やメモリリーダライタ26を接続することができる。メモリ装置25は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ26は、メモリカード27へのデータの書き込み、またはメモリカード27からのデータの読み出しを行う装置である。メモリカード27は、カード型の記録媒体である。
【0045】
ネットワークインタフェース108は、ネットワーク20に接続されている。ネットワークインタフェース108は、ネットワーク20を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【0046】
情報処理装置100は、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。また第1の実施の形態に示した情報処理装置10も、
図4に示した情報処理装置100と同様のハードウェアにより実現することができる。
【0047】
情報処理装置100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。情報処理装置100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、情報処理装置100に実行させるプログラムをストレージ装置103に格納しておくことができる。プロセッサ101は、ストレージ装置103内のプログラムの少なくとも一部をメモリ102にロードし、プログラムを実行する。また情報処理装置100に実行させるプログラムを、光ディスク24、メモリ装置25、メモリカード27などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ101からの制御により、ストレージ装置103にインストールされた後、実行可能となる。またプロセッサ101が、可搬型記録媒体から直接プログラムを読み出して実行することも可能である。
【0048】
次に、情報処理装置100の機能について詳細に説明する。
図5は、情報処理装置の機能例を示すブロック図である。情報処理装置100は、入力記憶部110、画像変換部120、検出部130、マッチング部140、経路出力部150および結果記憶部160を有する。
【0049】
入力記憶部110は、入力画像40および実座標情報111を記憶する。実座標情報111は、部隊の通過点の実座標を示す情報である。画像変換部120は、入力画像40に写る十字マーク31-1,31-2に基づいて、入力画像40を変換する。
【0050】
画像変換部120は、入力画像40に写る十字マーク31-1,31-2を検出する。画像変換部120は、検出された十字マーク31-1,31-2(検出十字マーク)の縦線と横線との交点を算出する。また画像変換部120は、一方の検出十字マークの縦線を延長した線分と他方の検出十字マークの横線を延長した線分との交点を算出する。画像変換部120は、算出した4つの交点それぞれを長方形の各頂点(例えば、入力画像40の各頂点)に変換するためのホモグラフィ行列を推定する。画像変換部120は、推定したホモグラフィ行列に基づいて入力画像40を地図画像に変換する。
【0051】
検出部130は、画像変換部120によって入力画像40から変換された地図画像に写った、図上経路32-1,32-2の候補(候補経路)と図上通過点33-1,33-2,33-3,33-4,33-5の候補(候補点)とを検出する。例えば検出部130は、所定の色の輪郭を地図画像から抽出する。検出部130は、抽出した輪郭のうち面積、周囲長が一定範囲内の輪郭を細線化したものを候補経路として検出する。また例えば検出部130は、抽出した輪郭と候補経路を膨張させたものとの差分から複数の候補点を検出する。
【0052】
マッチング部140は、実座標情報111に示される通過点のうちの基準通過点と検出部130によって検出された候補点のうちの基準候補点とのマッチングをする。例えばマッチング部140は、実座標情報111に示される通過点のうちの4点を基準通過点に決定する。マッチング部140は、4つの基準通過点それぞれに対応する候補点(仮基準候補点)を選択する全ての組み合わせパターンについて次のような処理を実行する。
【0053】
マッチング部140は、基準通過点それぞれを対応する仮基準候補点に変換するためのホモグラフィ行列を推定する。マッチング部140は、基準通過点以外の通過点それぞれを、推定したホモグラフィ行列によって地図画像上の座標に変換する。マッチング部140は、変換した通過点それぞれと仮基準候補点以外の候補点のうちの最近傍点との距離の二乗を合計した合計二乗誤差を算出する。そしてマッチング部140は、合計二乗誤差が最小となったときの組み合わせパターンにおける仮基準候補点を基準候補点に決定する。
【0054】
経路出力部150は、マッチング部140によって決定された基準通過点と基準候補点との対応関係に基づいて、検出部130によって検出された候補経路を実座標上の経路に変換する。例えば経路出力部150は、実座標情報111に示される通過点を、基準通過点を対応する基準候補点に変換するためのホモグラフィ行列によって、地図画像上の座標に変換する。経路出力部150は、地図画像上の座標に変換した始点から地図画像上の座標に変換した終点まで候補経路上を探索する。経路出力部150は、候補経路上を探索した探索経路を、基準候補点を基準通過点に変換するためのホモグラフィ行列によって実座標上の経路に変換する。経路出力部150は、実座標上の経路を出力結果として結果記憶部160に格納する。結果記憶部160は、経路出力部150による出力結果を記憶する。
【0055】
なお、
図5に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、
図5に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
【0056】
次に入力記憶部110に格納される実座標情報111について詳細に説明する。
図6は、実座標情報の一例を示す図である。実座標情報111には、部隊、種類および実座標の欄が設けられている。部隊の欄には、通過点を通過した部隊を識別するための情報が設定されている。種類の欄には、通過点の種類が設定されている。種類の欄には、「始点」、「通過点」、「終点」のいずれかが設定されている。なお種類の欄には、対応する部隊が通過した順番を示す情報が設定されていてもよい。実座標の欄には、通過点の実座標が設定されている。
【0057】
次に画像変換部120による入力画像40の地図画像への変換について詳細に説明する。
図7は、十字マーク検出方法の一例を示す図である。画像変換部120は、十字型に交わる線分を検出することで、入力画像40に写る十字マーク31-1,31-2を検出する。
【0058】
画像変換部120は、入力画像40を二値化して二値画像41を生成する。例えば画像変換部120は、入力画像40をグレースケールとしたときに値が閾値以上となる画素の値を「1」、値が閾値未満となる画素の値を「0」とした二値画像41を生成する。
【0059】
画像変換部120は、周囲長が一定範囲で値が「1」である領域を二値画像41から抽出した二値画像42を生成する。例えば画像変換部120は、二値画像41から値が「1」である領域の輪郭を検出する。画像変換部120は、検出した輪郭それぞれの周囲長を算出する。そして画像変換部120は、二値画像41のサイズ(例えば、横幅)に対する輪郭の周囲長の割合が一定範囲内の領域の画素の値を「1」、当該領域以外の画素の値を「0」とした二値画像42を生成する。なお
図7の例では、二値画像41,42の値が「1」である画素は白、値が「0」である画素は黒で示される。
【0060】
画像変換部120は、二値画像42から線分を検出する。例えば画像変換部120は、二値画像42から値が「1」である画素が線分状になっている領域を検出する。線分集合43は、二値画像42から検出された線分の集合である。
【0061】
画像変換部120は、線分集合43から検出十字マーク44-1,44-2を検出する。例えば画像変換部120は、線分集合43の線分のペアの全ての組み合わせについて、線分のペアが交差しており、長さの差が所定値以下であり、交わる角度が所定の範囲内であるか(つまり、十字型であるか)否かを判定する。そして画像変換部120は、十字型と判定された線分のペアのうち最も右上に位置する検出十字マーク44-1を検出する。また画像変換部120は、十字型と判定された線分のペアのうち最も左下に位置する検出十字マーク44-2を検出する。
【0062】
図8は、入力画像の変換方法の一例を示す図である。画像変換部120は、検出十字マーク44-1,44-2に基づいて、入力画像40を地図画像50に変換する。
画像変換部120は、入力画像40上の交点45-1,45-2,45-3,45-4を算出する。交点45-1は、検出十字マーク44-1の縦線と横線との交点である。交点45-2は、検出十字マーク44-2の縦線と横線との交点である。交点45-3は、検出十字マーク44-1の縦線を延長した線分と検出十字マーク44-2の横線を延長した線分との交点である。交点45-4は、検出十字マーク44-2の縦線を延長した線分と検出十字マーク44-1の横線を延長した線分との交点である。
【0063】
画像変換部120は、算出された交点45-1,45-2,45-3,45-4それぞれを対応する長方形の頂点に変換するためのホモグラフィ行列を推定する。例えば画像変換部120は、交点45-1,45-2,45-3,45-4それぞれを最も近い入力画像40の頂点に対応付ける。ここで画像変換部120は、交点45-1を入力画像40の右上の頂点に対応付ける。また画像変換部120は、交点45-2を入力画像40の左下の頂点に対応付ける。また画像変換部120は、交点45-3を入力画像40の右下の頂点に対応付ける。また画像変換部120は、交点45-4を入力画像40の左上の頂点に対応付ける。そして画像変換部120は、交点45-1,45-2,45-3,45-4それぞれを、対応する入力画像40の頂点に変換するためのホモグラフィ行列HCを推定する。
【0064】
なお画像変換部120は、交点45-1,45-2,45-3,45-4を頂点とする四角形の外側についても入力画像40と同じサイズの地図画像50に変換できるようにマージンを設けてもよい。つまり画像変換部120は、交点45-1,45-2,45-3,45-4それぞれを、入力画像40を所定の割合だけ縮小した長方形の各頂点に変換するためのホモグラフィ行列HCを推定してもよい。
【0065】
画像変換部120は、ホモグラフィ行列H
Cによって、入力画像40をホモグラフィ変換する。地図画像50は、入力画像40がホモグラフィ行列H
Cによってホモグラフィ変換された画像である。これにより画像変換部120は、入力画像40を、十字マーク31-1,31-2の縦線同士と横線同士とがそれぞれ平行となるように写る地図画像50に変換できる。よって画像変換部120は、斜め上から地
図30を撮影した入力画像40を、真上から地
図30を撮影したような地図画像50に変換することができる。
【0066】
次に検出部130による候補経路の検出について詳細に説明する。
図9は、候補経路の検出方法の一例を示す図である。検出部130は、地図画像50から太さが1画素の線を候補経路として検出する。
【0067】
検出部130は、地図画像50から所定の色を抽出した経路色抽出画像51を生成する。例えば検出部130は、経路の色である地図画像50上の部分の選択を受け付ける。そして検出部130は、地図画像50において、選択された部分の色(経路色)との色差が所定値以下の画素の値を「1」、経路色との色差が所定値より大きい画素の値を「0」とした経路色抽出画像51を生成する。
【0068】
ここで図上経路32-1,32-2は、オーバーレイの上に記されている。オーバーレイに記された図上経路32-1,32-2が撮影されると、撮影された画像に写る図上経路32-1,32-2は、光の反射によって一部が白く写ることがある。すると経路色抽出画像51の図上経路32-1,32-2を示す線は中抜けする。そこで検出部130は、経路色抽出画像51にクロージング処理をすることで、経路色抽出画像52を生成する。
【0069】
検出部130は、面積および周囲長が一定範囲で値が「1」である領域を経路色抽出画像52から抽出した経路色抽出画像53を生成する。例えば検出部130は、経路色抽出画像52から値が「1」である領域の輪郭を検出する。検出部130は、検出した輪郭それぞれの周囲長と領域の面積とを算出する。そして検出部130は、経路色抽出画像52の横幅に対する輪郭の周囲長の割合および経路色抽出画像52の面積に対する面積の割合が所定の割合より大きい領域の画素の値を「1」、当該領域以外の画素の値を「0」とした経路色抽出画像53を生成する。なお
図9の例では、経路色抽出画像51,52,53の値が「1」である画素は白、値が「0」である画素は黒で示される。
【0070】
検出部130は、経路色抽出画像53を細線化することで候補経路点集合PRCを検出する。細線化の方法は、例えばT. Y. Zhang and C. Y. Suen, ”A fast parallel algorithm for thinning digital patterns”, Communications of the ACM Volume 27, Number 3. Lee94(1,2)T.-C. Lee, R.L., March 1984に示される。候補経路点集合PRCは、地図画像50上の座標である画像座標60における候補経路を示す画素の集合である。
【0071】
このように検出部130は、経路色抽出画像51を生成することで地図画像50から図上経路32-1,32-2と同じ色の部分を抽出できる。また検出部130は、経路色抽出画像52を生成することで中抜けを除去できる。さらに検出部130は、経路色抽出画像53を生成することで、地図画像50に写った図上経路32-1,32-2以外の部分(例えば、地図画像50に写った文字や十字マーク31-1,31-2)を除去することができる。そして検出部130は、候補経路点集合PRCを検出することで候補経路として太さが1画素の線を検出できる。これにより検出部130は、実座標上の点に変換しやすい候補経路を検出できる。
【0072】
なお検出部130は、経路色抽出画像53の生成によって地図画像50に写った文字や十字マーク31-1,31-2を除去しきれないことがある。つまり候補経路点集合PRCは、地図画像50に写った図上経路32-1,32-2以外の部分を含むことがある。候補経路点集合PRCに含まれる、地図画像50に写った図上経路32-1,32-2以外の部分は、後述する探索処理によって除去される。
【0073】
次に検出部130による候補点の検出について詳細に説明する。検出部130は、経路色抽出画像53と候補経路点集合PRCで示される線を膨張させた線との差分に基づいて、候補点を検出する。そこで、まず候補経路の膨張処理について説明し、その後、膨張させた候補経路を用いた候補点の検出について説明する。
【0074】
図10は、候補経路の膨張処理の一例を示す図である。検出部130は、候補経路点集合PR
Cで示される線をモルフォロジー変換によって膨張させた膨張経路画像54を生成する。例えば検出部130は、候補経路点集合PR
Cで示される線を所定の太さにした線上の画素の値が「1」、候補経路点集合PR
Cで示される線を所定の太さにした線上以外の画素が「0」となる膨張経路画像54を生成する。なお
図10の例では、膨張経路画像54の値が「1」である画素は白、値が「0」である画素は黒で示される。このように検出部130は、細線化した経路色抽出画像53を膨張させることによって、経路色抽出画像53から図上通過点33-1,33-2,33-3,33-4,33-5を示す点を除去することができる。
【0075】
図11は、候補点の検出方法の一例を示す図である。検出部130は、経路色抽出画像53と膨張経路画像54との差分である差分画像55を生成する。さらに検出部130は、差分画像55内の白の画素の領域を膨張させた膨張画像56を生成する。そして検出部130は、膨張画像56から候補点集合PP
Iを検出する。
【0076】
例えば検出部130は、膨張画像56から値が「1」である領域の輪郭を検出する。検出部130は、検出した輪郭内の領域の重心を算出する。検出部130は、算出された重心を候補点集合PPIとする。候補点集合PPIには、画像座標60上の複数の点が含まれる。ここでは一例として候補点集合PPIには、候補点P1,P2,P3,P4,P5,P6が含まれる。
【0077】
このように検出部130は、差分画像55を生成することで、経路色抽出画像53から図上経路32-1,32-2を示す部分を除去し、図上通過点33-1,33-2,33-3,33-4,33-5を示す部分を抽出することができる。ここで差分画像55上の1つの図上通過点を示す部分は、一部が欠けていることや複数に分割されていることがある。そこで検出部130は、差分画像55内の白の画素の領域を膨張させることで、近接する白の画素の領域同士を1つの領域に纏める。これにより、差分画像55において複数に分割されてしまっている図上通過点を示す領域が膨張画像では1つの領域となり、この領域の重心を算出することで候補点の位置を決定できる。なお検出部130は、実座標情報111に登録されている通過点の数より多くの候補点を検出してもよい。つまり候補点集合PPIは、余分な候補点を含んでいてもよい。
【0078】
次にマッチング部140によるマッチング処理について詳細に説明する。
図12は、マッチング処理の一例を示す図(その1)である。マッチング部140は、実通過点集合PP
Rのうちの基準通過点と候補点集合PP
Iに含まれる基準候補点とのマッチングを行う。マッチング部140は、基準通過点に対応する仮の基準候補点(仮基準候補点)を選択する全てのパターンのうち、最も適切なパターンにおける仮基準候補点を基準候補点に決定する。
【0079】
実通過点集合PPRは、実座標情報111に登録された実座標70上の通過点の集合である。実通過点集合PPRには、座標(31,133)の始点SP1、座標(32,131)の通過点PP1、座標(33,130)の終点RP1、座標(31,130)の始点SP2および座標(33,132)の終点RP2が含まれる。なお始点SP1、通過点PP1および終点RP1は同一経路上の通過点である。また始点SP2および終点RP2は、同一経路上の通過点である。
【0080】
マッチング部140は、実通過点集合PPRに含まれる通過点から4点を基準通過点に選択する。例えばマッチング部140は、実通過点集合PPRに含まれる通過点のうち、最も右上に位置する通過点と、最も右下に位置する通過点と、最も左上に位置する通過点と、最も左下に位置する通過点とを基準通過点に選択する。なおマッチング部140は、実通過点集合PPRに含まれる全ての通過点を囲む長方形の右半分に位置する通過点のうち、当該長方形の中心と右下の頂点とを結ぶ線分から最も遠い通過点を最も右上に位置する通過点に決定する。マッチング部140は、最も右下、左上、左下に位置する通過点も、最も右上に位置する通過点の決定と同様に決定できる。ここでは一例としてマッチング部140は、始点SP1、終点RP1、始点SP2および終点RP2を基準通過点に選択する。
【0081】
マッチング部140は、候補点集合PP
Iに含まれる候補点から、基準通過点それぞれに対応する仮基準候補点を選択する。
図12の例ではマッチング部140は、始点SP1に対応する仮基準候補点として候補点P
5を選択する。またマッチング部140は、終点RP1に対応する仮基準候補点として候補点P
3を選択する。またマッチング部140は、始点SP2に対応する仮基準候補点として候補点P
4を選択する。またマッチング部140は、終点RP2に対応する仮基準候補点として候補点P
2を選択する。
【0082】
マッチング部140は、実座標70上の基準通過点それぞれを対応する仮基準候補点に変換するためのホモグラフィ行列H
Pを推定する。
図12の例ではマッチング部140は、始点SP1を候補点P
5、終点RP1を候補点P
3、始点SP2を候補点P
4、終点RP2を候補点P
2に変換するためのホモグラフィ行列H
Pを推定する。
【0083】
図13は、マッチング処理の一例を示す図(その2)である。マッチング部140は、ホモグラフィ行列H
Pによって、実通過点集合PP
Rに含まれる、基準候補点以外の通過点を画像座標60に変換する。そしてマッチング部140は、変換した通過点それぞれの仮基準候補点以外の最近傍点との距離の二乗の合計(合計二乗誤差)を算出する。
【0084】
図13の例ではマッチング部140は、ホモグラフィ行列H
Pによって、実座標70上の通過点PP1を画像座標60上の通過点PP1’に変換する。マッチング部140は、通過点PP1’と仮基準候補点以外の最近傍点である候補点P
1との距離の二乗を算出する。なお
図13の例では、実通過点集合PP
Rに含まれる、基準通過点以外の通過点は通過点PP1のみであるため、通過点PP1’と候補点P
1との距離の二乗が合計二乗誤差となる。
【0085】
マッチング部140は、上記のような仮基準候補点を選択して合計二乗誤差を算出する処理を、仮基準候補点を選択する全ての組み合わせパターンについて実行する。そしてマッチング部140は、合計二乗誤差に基づいて基準通過点と基準候補点との対応関係Xを決定する。
【0086】
一例として、始点SP1に対応する仮基準候補点が候補点P6、終点RP1に対応する仮基準候補点が候補点P1、始点SP2に対応する仮基準候補点が候補点P5、終点RP2に対応する仮基準候補点が候補点P2であるパターンの合計二乗誤差が最小であったとする。するとマッチング部140は、合計二乗誤差が最小であったパターンの基準通過点と仮基準候補点との対応関係を対応関係Xに決定する。
【0087】
つまり対応関係Xは、始点SP1に対応する基準候補点が候補点P6であることを示す。また対応関係Xは、終点RP1に対応する基準候補点が候補点P1であることを示す。また対応関係Xは、始点SP2に対応する基準候補点が候補点P5であることを示す。また対応関係Xは、終点RP2に対応する基準候補点が候補点P2であることを示す。なお始点SP1を候補点P6、終点RP1を候補点P1、始点SP2を候補点P5、終点RP2を候補点P2に変換するホモグラフィ行列HP
*が適用されると、実座標70上の通過点PP1は、画像座標60上の通過点PP1*に変換される。
【0088】
このようにマッチング部140は、仮基準候補点を選択する全ての組み合わせパターンについて合計二乗誤差を算出する。ここで基準通過点と仮基準候補点との対応付けが適切であれば、マッチング部140は、ホモグラフィ行列HPによって、通過点PP1を対応する候補点P3の近傍に変換できる。よってマッチング部140は、合計二乗誤差が最小となる対応関係Xを決定することで、通過点を適切な候補点に対応付けることができる。
【0089】
なお
図12,13の例では、候補点P
4に対応する通過点はない。つまり候補点集合PP
Iは、余分な候補点を含んでいる。ここでマッチング部140が候補点P
4を基準通過点のいずれかに対応する仮基準候補点に選択したパターンでは、合計二乗誤差は大きくなる。よってマッチング部140は、候補点集合PP
Iに余分な候補点が含まれている場合であっても、通過点を適切な候補点に対応付けることができる。
【0090】
次に経路出力部150による経路変換処理について詳細に説明する。
図14は、経路変換処理の一例を示す図である。経路出力部150は、候補経路点集合PR
C上を始点から終点まで探索し、探索経路を実座標70上に変換する。
【0091】
経路出力部150は、基準通過点以外の通過点をホモグラフィ行列HP
*によって画像座標60上の通過点に変換する。例えば経路出力部150は、ホモグラフィ行列HP
*によって、通過点PP1を画像座標60上の通過点PP1*に変換する。
【0092】
経路出力部150は、始点SP1に対応する候補点P6から通過点PP1*まで候補経路点集合PRC上を探索する。経路出力部150による探索方法としては、例えば幅優先探索がある。経路出力部150は、通過点PP1*から終点RP1に対応する候補点P1まで候補経路点集合PRC上を探索する。また経路出力部150は、始点SP2に対応する候補点P5から終点RP2に対応する候補点P2まで候補経路点集合PRC上を探索する。経路出力部150は、探索経路上の点の集合を画像経路PRIに含める。
【0093】
経路出力部150は、画像経路PRIを実座標経路PRRに変換する。例えば経路出力部150は、候補点P6を始点SP1、候補点P1を終点RP1、候補点P5を始点SP2、候補点P2を終点RP2に変換するホモグラフィ行列HP
-1を推定する。なおホモグラフィ行列HP
-1は、例えばホモグラフィ行列HP
*の逆行列である。経路出力部150は、ホモグラフィ行列HP
-1によって、画像経路PRIに含まれる各点を実座標70上の点に変換する。経路出力部150は、実座標70上に変換された各点を実座標経路PRRに含める。
【0094】
このように経路出力部150は、画像座標60上に変換された通過点を辿って候補経路点集合PRC上を探索する。これにより経路出力部150は、候補経路点集合PRCに含まれる点のうち、地図画像50に写った図上経路32-1,32-2を示す点を特定できる。そして経路出力部150は、特定した画像経路PRIを実座標経路PRRに変換する。これにより経路出力部150は、地図画像50に写った図上経路32-1,32-2を実座標70上に変換できる。
【0095】
以下、経路認識処理の手順について、詳細に説明する。
図15は、経路認識処理の手順の一例を示すフローチャートである。以下、
図15に示す処理をステップ番号に沿って説明する。
【0096】
[ステップS101]画像変換部120は、入力画像40に写る十字マーク31-1,31-2を検出する。十字検出処理の詳細については後述する(
図16参照)。
[ステップS102]画像変換部120は、ステップS101で検出された十字マーク(例えば、検出十字マーク44-1,44-2)に基づいて、入力画像40を地図画像50に変換する。画像変換処理の詳細については後述する(
図17参照)。
【0097】
[ステップS103]検出部130は、ステップS102で変換された地図画像50から候補経路を検出する。候補経路検出処理の詳細については後述する(
図18参照)。
[ステップS104]検出部130は、ステップS102で変換された地図画像50から候補点を検出する。候補点検出処理の詳細については後述する(
図19参照)。
【0098】
[ステップS105]マッチング部140は、ステップS104で検出された候補点(例えば、候補点集合PP
I)と実通過点集合PP
Rとのマッチングを行う。マッチング処理の詳細については後述する(
図20参照)。
【0099】
[ステップS106]経路出力部150は、ステップS103で検出された候補経路(例えば、候補経路点集合PR
C)を、ステップS104で検出された候補点(例えば、候補点集合PP
I)およびステップS105で決定された対応関係Xに基づいて、実座標70上の経路に変換する。経路変換処理の詳細については後述する(
図21参照)。
【0100】
[ステップS107]経路出力部150は、ステップS106で変換された実座標70上の経路(例えば、実座標経路PRR)を出力する。例えば経路出力部150は、実座標経路PRRを結果記憶部160に格納する。
【0101】
このようにして、入力画像40に写る図上経路32-1,32-2が実座標経路PR
Rに変換される。これにより、地
図30の座標と実座標70との対応付けなどのユーザによる作業なしに図上経路32-1,32-2を示す実座標データが作成される。よって、実座標データの作成が容易になる。
【0102】
次に、十字検出処理の手順について、詳細に説明する。
図16は、十字検出処理の手順の一例を示すフローチャートである。以下、
図16に示す処理をステップ番号に沿って説明する。
【0103】
[ステップS111]画像変換部120は、入力画像40を二値化して二値画像41を生成する。例えば画像変換部120は、入力画像40をグレースケールとしたときに値が閾値以上となる画素の値を「1」、値が閾値未満となる画素の値を「0」とした二値画像41を生成する。
【0104】
[ステップS112]画像変換部120は、二値画像41から値が「1」である領域の輪郭を検出する。
[ステップS113]画像変換部120は、ステップS112で検出された輪郭のうちの1つの輪郭を線分の候補として選択する。
【0105】
[ステップS114]画像変換部120は、ステップS113で選択された輪郭の周囲長の二値画像41のサイズ(例えば、横幅)に対する割合が一定範囲内であるか否かを判定する。画像変換部120は、ステップS113で選択された輪郭の周囲長の二値画像41のサイズに対する割合が一定範囲内であると判定した場合、処理をステップS116に進める。また画像変換部120は、ステップS113で選択された輪郭の周囲長の二値画像41のサイズに対する割合が一定範囲外であると判定した場合、処理をステップS115に進める。
【0106】
[ステップS115]画像変換部120は、ステップS113で選択された輪郭を線分の候補から除外する。
[ステップS116]画像変換部120は、ステップS112で検出された輪郭を全て選択したか否かを判定する。画像変換部120は、ステップS112で検出された輪郭を全て選択したと判定した場合、処理をステップS117に進める。また画像変換部120は、ステップS112で検出された輪郭のうち未選択の輪郭が残っていると判定した場合、処理をステップS113に進める。
【0107】
[ステップS117]画像変換部120は、線分の候補から線分集合43を検出する。例えば画像変換部120は、線分の候補である輪郭内の領域の画素の値を「1」、当該領域以外の画素の値を「0」とした二値画像42を生成する。そして画像変換部120は、二値画像42から値が「1」である画素が線分状になっている領域を検出する。
【0108】
[ステップS118]画像変換部120は、ステップS117で検出された線分集合43から2つの線分(線分のペア)を十字マークの候補として選択する。
[ステップS119]画像変換部120は、ステップS118で選択された線分のペアが十字型であるか否かを判定する。例えば画像変換部120は、線分のペアが交差しており、長さの差が所定値以下であり、交わる角度が所定の範囲内である場合線分のペアが十字型であると判定する。画像変換部120は、ステップS118で選択された線分のペアが十字型であると判定した場合、処理をステップS121に進める。また画像変換部120は、ステップS118で選択された線分のペアが十字型でないと判定した場合、処理をステップS120に進める。
【0109】
[ステップS120]画像変換部120は、ステップS118で選択された線分のペアを十字マークの候補から除外する。
[ステップS121]画像変換部120は、全ての線分のペアの組み合わせを選択したか否かを判定する。画像変換部120は、全ての線分のペアの組み合わせを選択したと判定した場合、処理をステップS122に進める。また画像変換部120は、未選択の線分のペアの組み合わせが残っていると判定した場合、処理をステップS118に進める。
【0110】
[ステップS122]画像変換部120は、十字マークの候補のうち最も右上の線分のペアと最も左下の線分のペアとを検出する。例えば画像変換部120は、十字マークの候補のうち最も右上の線分のペアを検出十字マーク44-1として検出する。また画像変換部120は、十字マークの候補のうち最も左下の線分のペアを検出十字マーク44-2として検出する。
【0111】
このようにして画像変換部120は、入力画像40に写る十字マーク31-1,31-2として検出十字マーク44-1,44-2を検出できる。
次に、画像変換処理の手順について、詳細に説明する。
【0112】
図17は、画像変換処理の手順の一例を示すフローチャートである。以下、
図17に示す処理をステップ番号に沿って説明する。
[ステップS131]画像変換部120は、検出十字マーク44-1,44-2それぞれの交点と検出十字マーク44-1,44-2を延長した線分の交点とを算出する。例えば画像変換部120は、検出十字マーク44-1の縦線と横線との交点である交点45-1を算出する。また例えば画像変換部120は、検出十字マーク44-2の縦線と横線との交点である交点45-2を算出する。また例えば画像変換部120は、検出十字マーク44-1の縦線を延長した線分と検出十字マーク44-2の横線を延長した線分との交点である交点45-3を算出する。また例えば画像変換部120は、検出十字マーク44-2の縦線を延長した線分と検出十字マーク44-1の横線を延長した線分との交点である交点45-4を算出する。
【0113】
[ステップS132]画像変換部120は、ステップS131で算出した交点それぞれに対応する長方形の頂点を決定する。例えば画像変換部120は、交点45-1,45-2,45-3,45-4それぞれを最も近い入力画像40の頂点に対応付ける。画像変換部120は、交点45-1に対応する頂点を入力画像40の右上の頂点に決定する。また画像変換部120は、交点45-2に対応する頂点を入力画像40の左下の頂点に決定する。また画像変換部120は、交点45-3に対応する頂点を入力画像40の右下の頂点に決定する。また画像変換部120は、交点45-4に対応する頂点を入力画像40の左上の頂点に決定する。
【0114】
[ステップS133]画像変換部120は、ホモグラフィ行列推定をする。例えば画像変換部120は、交点45-1,45-2,45-3,45-4それぞれをステップS132で決定された対応する頂点に変換するためのホモグラフィ行列HCを推定する。
【0115】
[ステップS134]画像変換部120は、入力画像40をホモグラフィ変換する。例えば画像変換部120は、ステップS133で算出されたホモグラフィ行列HCによって入力画像40をホモグラフィ変換し、地図画像50を生成する。
【0116】
このように画像変換部120は、検出十字マーク44-1,44-2の交点と検出十字マーク44-1,44-2それぞれを延長した線分の交点とを入力画像40の各頂点に変換するためのホモグラフィ行列H
Cを推定する。そして画像変換部120は、ホモグラフィ行列H
Cによって入力画像40を地図画像50に変換する。すると地図画像50に写る十字マーク31-1,31-2の縦線同士と横線同士とは、それぞれ平行になる。よって画像変換部120は、斜め上から地
図30を撮影した入力画像40から、真上から地
図30を撮影したような地図画像50を生成できる。
【0117】
なお地
図30を斜め上から撮影した入力画像40では、カメラに近い部分は大きく写りカメラから遠い部分は小さく写る。よって入力画像40に写る図上経路32-1,32-2は、実際の図上経路32-1,32-2の形状と異なる。すると入力画像40に写る図上経路32-1,32-2が実座標70上に変換される場合、不適切な形状で変換される。そこで画像変換部120は、真上から地
図30を撮影したような地図画像50を生成することで、地図画像50に写る図上経路32-1,32-2の形状と実際の図上経路32-1,32-2の形状とを一致させる。これにより、図上経路32-1,32-2を実座標70上に変換する精度を向上させることができる。
【0118】
次に、候補経路検出処理の手順について、詳細に説明する。
図18は、候補経路検出処理の手順の一例を示すフローチャートである。以下、
図18に示す処理をステップ番号に沿って説明する。
【0119】
[ステップS141]検出部130は、地図画像50の各画素について経路色との差分を算出する。例えば検出部130は、地図画像50上の部分の選択を受け付け、選択された部分の色を経路色に決定する。
【0120】
[ステップS142]検出部130は、経路色との差分が一定以下の画素を抽出する。例えば検出部130は、地図画像50において、経路色との色差が所定値以下の画素の値を「1」、経路色との色差が所定値より大きい画素の値を「0」とした経路色抽出画像51を生成する。
【0121】
[ステップS143]検出部130は、経路色抽出画像51に対してクロージング処理することによって経路色抽出画像52を生成する。
[ステップS144]検出部130は、経路色抽出画像52から値が「1」である領域の輪郭を検出する。
【0122】
[ステップS145]検出部130は、面積および周囲長が一定以下である領域を除去する。例えば検出部130は、ステップS144で検出した輪郭それぞれの周囲長と輪郭内の領域の面積とを算出する。検出部130は、経路色抽出画像52の横幅に対する輪郭の周囲長の割合および経路色抽出画像52の面積に対する面積の割合が所定の割合より大きい領域の画素の値を「1」、当該領域以外の画素の値を「0」とした経路色抽出画像53を生成する。
【0123】
[ステップS146]検出部130は、経路色抽出画像53を細線化して候補経路点集合PRCを検出する。
このように検出部130は、地図画像50から図上経路32-1,32-2と同じ色の部分を抽出する。そして検出部130は、地図画像50に写った図上経路32-1,32-2の面積と周囲長として適切な範囲の領域を抽出する。これにより検出部130は、抽出した図上経路32-1,32-2と同じ色の部分から、地図画像50に写った文字や十字マーク31-1,31-2の部分を除去することができる。
【0124】
さらに検出部130は、細線化することで候補経路として太さが1画素の線を示す候補経路点集合PRCを検出する。これにより検出部130は、実座標上の点に変換しやすい候補経路を検出できる。
【0125】
次に、候補点検出処理の手順について、詳細に説明する。
図19は、候補点検出処理の手順の一例を示すフローチャートである。以下、
図19に示す処理をステップ番号に沿って説明する。
【0126】
[ステップS151]検出部130は、候補経路点集合PRCで示される線をモルフォロジー変換によって膨張させた膨張経路画像54を生成する。
[ステップS152]検出部130は、経路色抽出画像53と膨張経路画像54との差分である差分画像55を生成する。
【0127】
[ステップS153]検出部130は、差分画像55の値が「1」である領域を膨張させ、膨張画像56を生成する。
[ステップS154]検出部130は、膨張画像56から値が「1」である領域の輪郭を検出する。
【0128】
[ステップS155]検出部130は、ステップS154で膨張画像56から検出した輪郭内の領域の重心を算出する。検出部130は、算出された重心を候補点集合PPIとして検出する。
【0129】
このように検出部130は、細線化した経路色抽出画像53を膨張させることによって、経路色抽出画像53から図上通過点33-1,33-2,33-3,33-4,33-5を示す点を除去することができる。そして検出部130は、経路色抽出画像53と膨張経路画像54との差分を算出することで、膨張経路画像54を生成するときに除去した図上通過点33-1,33-2,33-3,33-4,33-5を示す部分を抽出することができる。さらに検出部130は、差分画像55の白の領域を膨張させた膨張画像56から検出した輪郭の重心を算出することで、一部が欠けていたり複数に分割されている、図上通過点33-1,33-2,33-3,33-4,33-5を示す点の位置を特定できる。
【0130】
次に、マッチング処理の手順について、詳細に説明する。
図20は、マッチング処理の手順の一例を示すフローチャートである。以下、
図20に示す処理をステップ番号に沿って説明する。
【0131】
[ステップS161]マッチング部140は、実通過点集合PPRに含まれる通過点から4点を基準通過点に選択する。例えばマッチング部140は、始点SP1、終点RP1、始点SP2および終点RP2を基準通過点に選択する。
【0132】
[ステップS162]マッチング部140は、候補点集合PPIに含まれる候補点から、ステップS161で選択した基準通過点それぞれに対応する仮基準候補点を選択する。例えばマッチング部140は、始点SP1に対応する仮基準候補点として候補点P5を選択する。またマッチング部140は、終点RP1に対応する仮基準候補点として候補点P3を選択する。またマッチング部140は、始点SP2に対応する仮基準候補点として候補点P4を選択する。またマッチング部140は、終点RP2に対応する仮基準候補点として候補点P2を選択する。
【0133】
[ステップS163]マッチング部140は、基準通過点それぞれを対応する仮基準候補点に変換するためのホモグラフィ行列HPを推定する。例えばマッチング部140は、始点SP1を候補点P5、終点RP1を候補点P3、始点SP2を候補点P4、終点RP2を候補点P2に変換するためのホモグラフィ行列HPを推定する。
【0134】
[ステップS164]マッチング部140は、基準通過点以外の通過点を画像座標60上の通過点にホモグラフィ変換する。例えばマッチング部140は、ホモグラフィ行列HPによって、実座標70上の通過点PP1を画像座標60上の通過点PP1’に変換する。
【0135】
[ステップS165]マッチング部140は、合計二乗誤差を算出する。例えばマッチング部140は、通過点PP1’と仮基準候補点以外の最近傍点である候補点P1との距離の二乗を算出する。
【0136】
[ステップS166]マッチング部140は、仮基準候補点を選択する全ての組み合わせを選択したか否かを判定する。マッチング部140は、仮基準候補点を選択する全ての組み合わせを選択したと判定した場合、処理をステップS167に進める。またマッチング部140は、未選択の仮基準候補点を選択する組み合わせが残っていると判定した場合、処理をステップS162に進める。
【0137】
[ステップS167]マッチング部140は、合計二乗誤差が最小であったときの基準通過点と仮基準候補点との対応関係を基準通過点と基準候補点との対応関係Xに決定する。またマッチング部140は、基準通過点それぞれを対応する基準候補点に変換するためのホモグラフィ行列HP
*を推定する。
【0138】
このようにマッチング部140は、仮基準候補点を選択する全ての組み合わせパターンについて合計二乗誤差を算出する。そしてマッチング部140は、合計二乗誤差が最小となるパターンにおける対応関係Xを決定する。ここで基準通過点と仮基準候補点との対応付けが適切であれば、マッチング部140は、ホモグラフィ行列HPによって、基準通過点以外の通過点を対応する候補点の近傍に変換できる。よってマッチング部140は、合計二乗誤差が最小となる対応関係Xを決定することで、通過点を適切な候補点に対応付けることができる。
【0139】
また候補点集合PPIが余分な候補点を含んでいる場合に、マッチング部140が余分な候補点を基準通過点のいずれかに対応する仮基準候補点に選択した場合、合計二乗誤差は大きくなる。よってマッチング部140は、候補点集合PPIに余分な候補点が含まれている場合であっても、通過点を適切な候補点に対応付けることができる。
【0140】
次に、経路変換処理の手順について、詳細に説明する。
図21は、経路変換処理の手順の一例を示すフローチャートである。以下、
図21に示す処理をステップ番号に沿って説明する。
【0141】
[ステップS171]経路出力部150は、実通過点集合PPRに含まれる通過点を画像座標60上の通過点に変換する。例えば経路出力部150は、実通過点集合PPRに含まれる通過点それぞれをホモグラフィ行列HP
*によって画像座標60上の通過点に変換する。なお基準通過点は対応する基準候補点が画像座標60上にあるため、経路出力部150は、基準通過点以外の通過点をホモグラフィ行列HP
*によって画像座標60上の通過点に変換すればよい。例えば経路出力部150は、ホモグラフィ行列HP
*によって、通過点PP1を通過点PP1*に変換する。
【0142】
[ステップS172]経路出力部150は、実座標情報111を参照し、部隊を選択する。
[ステップS173]経路出力部150は、実座標情報111を参照し、ステップS172で選択した部隊の始点を選択する。例えば経路出力部150は、始点SP1を選択する。
【0143】
[ステップS174]経路出力部150は、実座標情報111を参照し、ステップS172で選択した部隊の次の通過点を特定する。そして経路出力部150は、直前のステップS173またはステップS176で選択した通過点(例えば、始点SP1)から、特定した通過点まで候補経路点集合PRC上を幅優先探索する。例えば経路出力部150は、通過点PP1を特定する。そして経路出力部150は、始点SP1に対応する画像座標60上の候補点P6から通過点PP1*まで候補経路点集合PRC上を探索する。経路出力部150は、探索経路を画像経路PRIに含める。
【0144】
[ステップS175]経路出力部150は、終点に到達したか否かを判定する。例えば経路出力部150は、ステップS174で特定した次の通過点が終点であった場合、終点に到達したと判定する。経路出力部150は、終点に到達したと判定した場合、処理をステップS177に進める。また経路出力部150は、終点に到達していないと判定した場合、処理をステップS176に進める。
【0145】
[ステップS176]経路出力部150は、実座標情報111を参照し、ステップS172で選択した部隊の次の通過点を選択する。
[ステップS177]経路出力部150は、実座標情報111を参照し、全ての部隊を選択したか否かを判定する。経路出力部150は、全ての部隊を選択したと判定した場合、処理をステップS178に進める。また経路出力部150は、未選択の部隊が残っていると判定した場合、処理をステップS172に進める。
【0146】
[ステップS178]経路出力部150は、画像経路PRIを実座標経路PRRに変換する。例えば経路出力部150は、基準候補点それぞれを対応する基準通過点に変換するためのホモグラフィ行列HP
-1を推定する。経路出力部150は、ホモグラフィ行列HP
-1によって、画像経路PRIに含まれる各点を実座標70上の点に変換する。経路出力部150は、実座標70上に変換された各点を実座標経路PRRに含める。
【0147】
このように経路出力部150は、画像座標60上に変換された始点から終点まで候補経路点集合PRC上を探索する。これにより経路出力部150は、候補経路点集合PRCに含まれる点のうち、図上経路32-1,32-2を示す点を特定できる。そして経路出力部150は、特定した画像経路PRIを実座標経路PRRに変換することで図上経路32-1,32-2を実座標70上に変換できる。
【0148】
図22は、画像上の通過点と実座標上の通過点との対応付けの一例を示す図である。まず画像変換部120は、検出十字マーク44-1,44-2それぞれの交点と検出十字マーク44-1,44-2それぞれを延長した線分の交点とに基づいて、入力画像40を地図画像50に変換する。
【0149】
ここで地
図30の画像データを取得する他の方法として、地
図30をスキャナで読み込むことが考えられる。しかし地
図30が大型であった場合、地
図30をスキャナで読み込むことは困難である。また大型の地
図30の所望の範囲を真上から撮影することも困難である。これに対して第2の実施の形態によれば、地
図30を斜め上から撮影した入力画像40が真上から地
図30を撮影したような地図画像50に自動変換される。よって真上から地
図30を撮影した画像の取得が容易になる。
【0150】
次に検出部130は、地図画像50に写る図上経路32-1,32-2および図上通過点33-1,33-2,33-3,33-4,33-5の部分を抽出する。そして検出部130は、抽出した部分から、図上経路32-1,32-2の部分を除去する。これにより地図画像50に写る図上通過点33-1,33-2,33-3,33-4,33-5の候補点が自動検出される。
【0151】
そしてマッチング部140は、候補点と通過点との仮の対応付けパターンそれぞれについて、合計二乗誤差を算出し、合計二乗誤差の小さい最も適切な候補点と通過点との対応関係Xを決定する。これにより地図画像50に写る図上通過点33-1,33-2,33-3,33-4,33-5と実座標情報111に登録された通過点の実座標との対応が自動決定される。
【0152】
上記のように第2の実施の形態によれば、情報処理装置100は、入力画像40の地図画像50への変換、候補点の検出および候補点と通過点との対応付けを自動で行う。これにより実座標データを作成する際のユーザの負担が軽減する。
【0153】
次に第2の実施の形態で出力される実座標データについて説明する。
図23は、実座標データの一例を示す図である。
図23の例では、実座標80上の実経路81と認識経路82とが示される。なお実座標80の縦軸は、緯度(北緯)を示す。また実座標80の横軸は、経度(東経)を示す。実経路81は、部隊の実際の経路を示す実座標データである。実経路81は、例えばユーザが経路に沿って電子地図上をなぞることによって作成される。
【0154】
認識経路82は、第2の実施の形態によって出力される実座標データ(実座標経路PR
R)を可視化したものである。
図23に示すように認識経路82は、実座標80を示すグラフ上に可視化される。また認識経路82は、地図アプリケーションによって電子地図に重畳して表示されてもよい。認識経路82が電子地図に重畳して表示されることによって、電子地図上で図上経路32-1,32-2の確認が可能になる。
【0155】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【符号の説明】
【0156】
1 地図画像
2 候補経路
3 候補点集合
4a,4b,4c,・・・ パターン
5 実座標データ
10 情報処理装置
11 記憶部
11a 座標情報
12 処理部