IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ 株式会社エヌ・ティ・ティ・データの特許一覧

特許7616923学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム
<>
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図1
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図2
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図3
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図4
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図5
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図6
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図7
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図8
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図9
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図10
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図11
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図12
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図13
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図14
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図15
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図16
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図17
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図18
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図19
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図20
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図21
  • 特許-学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム 図22
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-01-08
(45)【発行日】2025-01-17
(54)【発明の名称】学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラム
(51)【国際特許分類】
   G06T 7/00 20170101AFI20250109BHJP
【FI】
G06T7/00 350B
【請求項の数】 11
(21)【出願番号】P 2021044224
(22)【出願日】2021-03-18
(65)【公開番号】P2022143613
(43)【公開日】2022-10-03
【審査請求日】2024-01-25
【新規性喪失の例外の表示】特許法第30条第2項適用 (1) 発行日(公開日) 令和3年2月17日 刊行物 DEIM2021 第13回データ工学と情報マネジメントに関するフォーラム(第19回日本データベース学会年次大会) 予稿集 データ工学研究専門委員会、日本データベース学会、データベースシステム研究会 発行 (Web公開URL:https://cms.deim-forum.org/deim2021/program/) <資 料> 学会予稿集掲載論文 抜粋
【新規性喪失の例外の表示】特許法第30条第2項適用 (2) 開催日(公開日) 令和3年3月1日(会期:令和3年3月1日~3月3日) 集会名 DEIM2021 第13回データ工学と情報マネジメントに関するフォーラム(第19回日本データベース学会年次大会) データ工学研究専門委員会、日本データベース学会、データベースシステム研究会 主催 開催方法 オンラインミーティングアプリケーションWebExによるオンライン開催 <資 料> 学会概要及びプログラム プリントアウト <資 料> オンライン口頭発表の発表資料
(73)【特許権者】
【識別番号】000102728
【氏名又は名称】株式会社NTTデータグループ
(74)【代理人】
【識別番号】110001634
【氏名又は名称】弁理士法人志賀国際特許事務所
(72)【発明者】
【氏名】粟野 友貴
(72)【発明者】
【氏名】西村 拓哉
【審査官】吉田 千裕
(56)【参考文献】
【文献】特開2016-110232(JP,A)
【文献】特開平11-328378(JP,A)
【文献】中国特許出願公開第112699713(CN,A)
【文献】特表2010-515135(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 7/00
H04N 23/60
H04N 7/18
(57)【特許請求の範囲】
【請求項1】
建物が撮像されている画像のデータである入力画像データと、前記入力画像データに含まれる個々の建物の外形を示す線分から選択される前記建物の領域の境界を構成する線分であって個々の建物ごとに適宜定める前記建物の下方部分に一端が属する第1の種類の線分と、前記建物の領域の境界を構成する線分であって前記下方部分に両端が属しない第2の種類の線分とを検出対象線分とし、前記検出対象線分を1つ含むように適宜定めた矩形領域の各々の前記入力画像データにおける位置を示す矩形位置データと、前記矩形領域の各々の大きさを示す矩形サイズデータと、前記矩形領域の各々に含まれる前記線分の両端点の当該矩形領域における位置を示す線分位置データと、前記検出対象線分が前記第1の種類、または、前記第2の種類のいずれであるかを示す線分種類データとを取り込む入力部と、
前記入力部が取り込んだ前記入力画像データを関数近似器に与えると、前記関数近似器が、前記入力部が取り込んだ前記矩形位置データと、前記矩形サイズデータと、前記線分位置データと、前記線分種類データとを出力する状態に近づくように前記関数近似器に適用する学習モデルデータを更新する学習処理を行う学習処理部と、
を備える学習装置。
【請求項2】
前記入力画像データに含まれる建物の外形を示す線分であって前記建物の領域の境界を構成する線分以外の線分であり、かつ前記建物を上面から見た場合の当該建物の隅に位置する線分を第3の種類の線分として前記検出対象線分に加え、
前記入力部は、
前記矩形位置データと、前記矩形サイズデータと、前記線分位置データと、前記検出対象線分が前記第1の種類、または、前記第2の種類、または、前記第3の種類のいずれであるかを示す線分種類データと、前記入力画像データとを取り込み、
前記学習処理部は、
前記入力部が取り込んだ前記入力画像データを関数近似器に与えると、前記関数近似器が、前記入力部が取り込んだ前記矩形位置データと、前記矩形サイズデータと、前記線分位置データと、前記第1の種類、または、前記第2の種類、または、前記第3の種類いずれであるかを示す前記線分種類データとを出力する状態に近づくように前記関数近似器に適用する学習モデルデータを更新する学習処理を行う、
請求項1に記載の学習装置。
【請求項3】
請求項1、または、請求項2に記載の学習装置が生成する学習済みの学習モデルデータを適用した前記関数近似器に対して、任意の画像データを与えることにより、前記画像データに含まれる線分のうち前記検出対象線分についての前記矩形位置データと、前記矩形サイズデータと、前記線分位置データと、前記線分種類データとを検出し、検出した前記検出対象線分ごとの前記矩形位置データと、前記矩形サイズデータと、前記線分位置データと、前記線分種類データとを組み合わせた線分特定データを生成する線分検出部と、
前記線分検出部が生成する前記線分特定データに基づいて、前記建物の領域の境界を構成する線分であって接続関係にある線分を選択し、選択した前記線分を接続することにより、前記画像データに含まれる個々の建物ごとの建物の領域を検出する建物領域検出部と、
を備える建物領域検出装置。
【請求項4】
前記画像データからセマンティックセグメンテーションにより建物の領域を検出するセマンティックセグメンテーション部を備え、
前記建物領域検出装置は、
検出した個々の建物ごとの前記建物の領域と、前記セマンティックセグメンテーション部が検出する前記建物の領域との重複領域を検出し、検出した前記重複領域を個々の建物ごとの建物の領域とする、
請求項3に記載の建物領域検出装置。
【請求項5】
前記画像データは、上下が予め定められており、
前記建物領域検出部は、
前記線分検出部が検出した前記線分特定データに対応する線分から前記線分種類データが前記第1の種類である線分のいずれか1つを開始線分として選択し、選択した前記開始線分に対応する前記線分特定データに基づいて、選択した前記開始線分の端点のうち上方に位置する端点の近傍範囲内に一方の端点が存在する線分であって前記線分種類データが前記第2の種類である線分を接続対象の線分として選択し、選択した前記接続対象の線分の他方の端点の近傍範囲内に一方の端点が存在する線分であって前記線分種類データが前記第1の種類、または、前記第2の種類である線分を接続対象の線分として選択することを、前記接続対象の線分の前記線分種類データが前記第1の種類になるまで繰り返し、前記開始線分に対して、選択した前記接続対象の線分を選択した順に接続することにより、前記建物の領域を検出する、
請求項3または請求項4に記載の建物領域検出装置。
【請求項6】
前記建物領域検出部は、
前記開始線分の端点のうち上方に位置する端点の位置、または、前記接続対象の線分の他方の端点の位置が、前記画像データの上の縁の位置である場合、当該位置を基準位置とし、当該基準位置から予め定められる左右いずれか一方の方向の位置であって前記画像データの上の縁の位置に、一方の端点が存在する他の線分であって前記線分種類データが前記第1の種類、または、前記第2の種類である他の線分が存在するときには、前記他の線分の中で、前記基準位置からの距離が最小になる端点を前記画像データの上の縁に有する前記他の線分を選択し、前記基準位置と前記他の線分の前記画像データの上の縁に存在する端点の位置との間を接続対象の線分に加え、前記他の線分を接続対象の線分として選択する、
請求項5に記載の建物領域検出装置。
【請求項7】
前記画像データは、矩形形状であって上下が予め定められており、
前記建物領域検出部は、
検出した前記建物の領域の境界線上に位置する任意の点から垂直方向に前記画像データの下の縁に向かって伸長した線の中で最も長い線の長さを当該建物の領域の高さとし、高さの高い前記建物の領域の方が背後になるように、検出した前記建物の領域の配置の順番を定める、
請求項3から請求項6のいずれか1つに記載の建物領域検出装置。
【請求項8】
前記画像データは、矩形形状であって左右が予め定められており、
前記建物領域検出部は、
前記線分種類データが前記第1の種類である線分であって前記画像データの左の縁との距離が最短の線分を伸長した直線と、前記画像データの左の縁との間の領域を建物の領域として検出し、前記線分種類データが前記第1の種類である線分であって前記画像データの右の縁との距離が最短の線分を伸長した直線と、前記画像データの右の縁との間の領域を建物の領域として検出する、
請求項3から請求項7のいずれか1つに記載の建物領域検出装置。
【請求項9】
請求項3から8のいずれかに記載の建物領域検出装置と、
移動体に搭載されて移動する撮像装置であって前記建物領域検出装置の処理対象の画像データを生成する撮像装置と、
前記移動体の位置を検出する位置検出装置と、
前記建物領域検出装置が検出する前記建物の領域に基づくマッチング処理を行うマッチング装置と、を備え、
前記マッチング装置は、
建物の位置を示す位置データと、前記建物の地平面上での形状を示す形状データと、前記建物の高さを示す高さデータとを含む地図データを記憶する地図データ記憶部と、
前記位置検出装置が検出する前記移動体の位置を示すデータに基づいて、前記建物領域検出装置の処理対象の画像データを生成するために前記撮像装置が撮像した際の前記移動体の進行方向を算出し、算出した前記移動体の進行方向を示すデータと、当該撮像が行われた際の前記移動体の位置を示すデータと、当該撮像が行われた際の前記撮像装置の画角を示すデータとに基づいて、前記建物の前後関係が正しくなるように、前記地図データ記憶部が記憶する前記地図データから前記撮像装置の投影面に投影される地図画像データを生成し、生成した前記地図画像データと、前記建物領域検出装置が前記画像データから検出する前記建物の領域とを重ね合わせるマッチング処理を行うマッチング処理部
を備えるマッチングシステム。
【請求項10】
建物が撮像されている画像のデータである入力画像データと、前記入力画像データに含まれる個々の建物の外形を示す線分から選択される前記建物の領域の境界を構成する線分であって個々の建物ごとに適宜定める前記建物の下方部分に一端が属する第1の種類の線分と、前記建物の領域の境界を構成する線分であって前記下方部分に両端が属しない第2の種類の線分とを検出対象線分とし、前記検出対象線分を1つ含むように適宜定めた矩形領域の各々の前記入力画像データにおける位置を示す矩形位置データと、前記矩形領域の各々の大きさを示す矩形サイズデータと、前記矩形領域の各々に含まれる前記線分の両端点の当該矩形領域における位置を示す線分位置データと、前記検出対象線分が前記第1の種類、または、前記第2の種類のいずれであるかを示す線分種類データとを取り込む入力過程と、
前記入力過程により取り込まれた前記入力画像データを関数近似器に与えると、前記関数近似器が、前記入力過程により取り込まれた前記矩形位置データと、前記矩形サイズデータと、前記線分位置データと、前記線分種類データとを出力する状態に近づくように前記関数近似器に適用する学習モデルデータを更新する学習処理を行う学習処理過程と、
を含む学習方法。
【請求項11】
コンピュータに、
建物が撮像されている画像のデータである入力画像データと、前記入力画像データに含まれる個々の建物の外形を示す線分から選択される前記建物の領域の境界を構成する線分であって個々の建物ごとに適宜定める前記建物の下方部分に一端が属する第1の種類の線分と、前記建物の領域の境界を構成する線分であって前記下方部分に両端が属しない第2の種類の線分とを検出対象線分とし、前記検出対象線分を1つ含むように適宜定めた矩形領域の各々の前記入力画像データにおける位置を示す矩形位置データと、前記矩形領域の各々の大きさを示す矩形サイズデータと、前記矩形領域の各々に含まれる前記線分の両端点の当該矩形領域における位置を示す線分位置データと、前記検出対象線分が前記第1の種類、または、前記第2の種類のいずれであるかを示す線分種類データとを取り込む入力手順、
前記入力手順により取り込まれた前記入力画像データを関数近似器に与えると、前記関数近似器が、前記入力手順により取り込まれた前記矩形位置データと、前記矩形サイズデータと、前記線分位置データと、前記線分種類データとを出力する状態に近づくように前記関数近似器に適用する学習モデルデータを更新する学習処理を行う学習処理手順、
を実行させるための学習プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラムに関する。
【背景技術】
【0002】
移動する車両に搭載したカメラを用いて街中の風景を撮像し、撮像した画像に含まれる建物を検出し、検出した建物と、2.5次元地図データ等とをマッチングすることにより、GPS(Global Positioning System)から得られる車両の位置の精度を更に向上させたり、AR(Augmented Reality)技術を用いて、適切な建物に広告を表示したりするような応用技術の検討が進められている。
【0003】
画像に含まれる立体物を検出する技術として、例えば、特許文献1に開示される画像に含まれる直方体を検出する深層機械学習システムといった技術が存在する。
【先行技術文献】
【特許文献】
【0004】
【文献】特表2019-536154号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、車両に搭載したカメラによって撮像した街中の風景の画像に含まれる建物の部分の画像の多くは、建物の1面、または、2面程度が撮像されたものであり、更に、高層ビル等では一部しか撮像されていない場合もある。このように、建物の全体が見えておらず、直方体の形状を成していない場合、特許文献1に開示される技術では、建物の部分を検出することができないという問題がある。
【0006】
また、画像に対してエッジ検出を行うことにより、建物の外形を示すエッジを検出することができる。しかし、エッジ検出により検出されるエッジは、建物の外形以外のエッジも含まれる。そのため、ベランダや窓の形状や配置などによって示される建物のテクスチャが複雑である場合、建物以外の障害物が多い場合、または、建物が隣接している場合などには、個々の建物の外形を示すエッジのみを抽出することが難しいという問題がある。
【0007】
本発明は、上記問題を解決すべくなされたもので、その目的は、画像データからエッジ検出により検出可能なエッジを示す線分の中から個々の建物の外形を示す線分を高い精度で検出し、検出した線分を用いて個々の建物の領域を検出することを可能にする学習装置、建物領域検出装置、マッチングシステム、学習方法、及び学習プログラムを提供することにある。
【課題を解決するための手段】
【0008】
上記問題を解決するために、本発明の一態様は、建物が撮像されている画像のデータである入力画像データと、前記入力画像データに含まれる個々の建物の外形を示す線分から選択される前記建物の領域の境界を構成する線分であって個々の建物ごとに適宜定める前記建物の下方部分に一端が属する第1の種類の線分と、前記建物の領域の境界を構成する線分であって前記下方部分に両端が属しない第2の種類の線分とを検出対象線分とし、前記検出対象線分を1つ含むように適宜定めた矩形領域の各々の前記入力画像データにおける位置を示す矩形位置データと、前記矩形領域の各々の大きさを示す矩形サイズデータと、前記矩形領域の各々に含まれる前記線分の両端点の当該矩形領域における位置を示す線分位置データと、前記検出対象線分が前記第1の種類、または、前記第2の種類のいずれであるかを示す線分種類データとを取り込む入力部と、前記入力部が取り込んだ前記入力画像データを関数近似器に与えると、前記関数近似器が、前記入力部が取り込んだ前記矩形位置データと、前記矩形サイズデータと、前記線分位置データと、前記線分種類データとを出力する状態に近づくように前記関数近似器に適用する学習モデルデータを更新する学習処理を行う学習処理部と、を備える学習装置である。
【0009】
また、本発明の一態様は、上記に記載の学習装置が生成する学習済みの学習モデルデータを適用した前記関数近似器に対して、任意の画像データを与えることにより、前記画像データに含まれる線分のうち前記検出対象線分についての前記矩形位置データと、前記矩形サイズデータと、前記線分位置データと、前記線分種類データとを検出し、検出した前記検出対象線分ごとの前記矩形位置データと、前記矩形サイズデータと、前記線分位置データと、前記線分種類データとを組み合わせた線分特定データを生成する線分検出部と、前記線分検出部が生成する前記線分特定データに基づいて、前記建物の領域の境界を構成する線分であって接続関係にある線分を選択し、選択した前記線分を接続することにより、前記画像データに含まれる個々の建物ごとの建物の領域を検出する建物領域検出部と、を備える建物領域検出装置である。
【0010】
また、本発明の一態様は、上記に記載の建物領域検出装置と、移動体に搭載されて移動する撮像装置であって前記建物領域検出装置の処理対象の画像データを生成する撮像装置と、前記移動体の位置を検出する位置検出装置と、前記建物領域検出装置が検出する前記建物の領域に基づくマッチング処理を行うマッチング装置と、を備え、前記マッチング装置は、建物の位置を示す位置データと、前記建物の地平面上での形状を示す形状データと、前記建物の高さを示す高さデータとを含む地図データを記憶する地図データ記憶部と、前記位置検出装置が検出する前記移動体の位置を示すデータに基づいて、前記建物領域検出装置の処理対象の画像データを生成するために前記撮像装置が撮像した際の前記移動体の進行方向を算出し、算出した前記移動体の進行方向を示すデータと、当該撮像が行われた際の前記移動体の位置を示すデータと、当該撮像が行われた際の前記撮像装置の画角を示すデータとに基づいて、前記建物の前後関係が正しくなるように、前記地図データ記憶部が記憶する前記地図データから前記撮像装置の投影面に投影される地図画像データを生成し、生成した前記地図画像データと、前記建物領域検出装置が前記画像データから検出する前記建物の領域とを重ね合わせるマッチング処理を行うマッチング処理部を備えるマッチングシステムである。
【0011】
また、本発明の一態様は、建物が撮像されている画像のデータである入力画像データと、前記入力画像データに含まれる個々の建物の外形を示す線分から選択される前記建物の領域の境界を構成する線分であって個々の建物ごとに適宜定める前記建物の下方部分に一端が属する第1の種類の線分と、前記建物の領域の境界を構成する線分であって前記下方部分に両端が属しない第2の種類の線分とを検出対象線分とし、前記検出対象線分を1つ含むように適宜定めた矩形領域の各々の前記入力画像データにおける位置を示す矩形位置データと、前記矩形領域の各々の大きさを示す矩形サイズデータと、前記矩形領域の各々に含まれる前記線分の両端点の当該矩形領域における位置を示す線分位置データと、前記検出対象線分が前記第1の種類、または、前記第2の種類のいずれであるかを示す線分種類データとを取り込む入力過程と、前記入力過程により取り込まれた前記入力画像データを関数近似器に与えると、前記関数近似器が、前記入力過程により取り込まれた前記矩形位置データと、前記矩形サイズデータと、前記線分位置データと、前記線分種類データとを出力する状態に近づくように前記関数近似器に適用する学習モデルデータを更新する学習処理を行う学習処理過程と、を含む学習方法である。
【0012】
また、本発明の一態様は、コンピュータに、建物が撮像されている画像のデータである入力画像データと、前記入力画像データに含まれる個々の建物の外形を示す線分から選択される前記建物の領域の境界を構成する線分であって個々の建物ごとに適宜定める前記建物の下方部分に一端が属する第1の種類の線分と、前記建物の領域の境界を構成する線分であって前記下方部分に両端が属しない第2の種類の線分とを検出対象線分とし、前記検出対象線分を1つ含むように適宜定めた矩形領域の各々の前記入力画像データにおける位置を示す矩形位置データと、前記矩形領域の各々の大きさを示す矩形サイズデータと、前記矩形領域の各々に含まれる前記線分の両端点の当該矩形領域における位置を示す線分位置データと、前記検出対象線分が前記第1の種類、または、前記第2の種類のいずれであるかを示す線分種類データとを取り込む入力手順、前記入力手順により取り込まれた前記入力画像データを関数近似器に与えると、前記関数近似器が、前記入力手順により取り込まれた前記矩形位置データと、前記矩形サイズデータと、前記線分位置データと、前記線分種類データとを出力する状態に近づくように前記関数近似器に適用する学習モデルデータを更新する学習処理を行う学習処理手順、を実行させるための学習プログラムである。
【発明の効果】
【0013】
この発明によれば、画像データからエッジ検出により検出可能なエッジを示す線分の中から個々の建物の外形を示す線分を高い精度で検出し、検出した線分を用いて個々の建物の領域を検出することが可能になる。
【図面の簡単な説明】
【0014】
図1】本発明の一実施形態による学習装置の構成を示すブロック図である。
図2】同実施形態の学習装置に訓練データとして与えられる画像データの一例を示す図である。
図3図2の画像データに含まれる建物の外形を示す線分から矩形位置データ、矩形サイズデータ、線分位置データ、及び線分種類データを生成する過程を示す図である。
図4】同実施形態の学習装置に訓練データとして与えられる画像データの他の例と当該画像データに含まれる建物の外形を示す線分の種類を示す図である。
図5】同実施形態の学習装置に訓練データとして与えられる画像データに階段形状の建物が含まれている場合の当該建物の外形を示す線分の種類を示す図である。
図6】同実施形態の学習装置に訓練データとして与えられる矩形位置データ、矩形サイズデータ、線分位置データを示す図である。
図7】同実施形態の学習装置が備える関数近似器の構成を示すブロック図である。
図8】同実施形態の学習装置による学習処理の流れを示すフローチャートである。
図9】本発明の一実施形態によるマッチングシステムの構成を示すブロック図である。
図10】同実施形態の建物領域検出装置の線分特定データ記憶部が記憶する線分特定データテーブルのデータ構成を示す図である。
図11】同実施形態の建物領域検出装置の建物領域特定データ記憶部が記憶する建物領域特定データテーブルのデータ構成を示す図である。
図12】同実施形態の建物領域検出装置の建物領域検出部による処理の流れを示すフローチャート(その1)である。
図13】同実施形態の建物領域検出装置の建物領域検出部による処理の流れを示すフローチャート(その2)である。
図14】実施形態の建物領域検出装置の建物領域検出部による処理の流れを示すフローチャート(その3)である。
図15】同実施形態の建物領域検出装置の建物領域検出部による処理の流れを示すフローチャート(その4)である。
図16】同実施形態の撮像装置が撮像した画像データから建物領域検出装置が建物の領域を検出する過程を示す図である。
図17】同実施形態の建物領域検出装置の建物領域検出部が行う建物の境界を構成する線分を接続する過程を示す図(その1)である。
図18】同実施形態の建物領域検出装置の建物領域検出部が行う建物の境界を構成する線分を接続する過程を示す図(その2)である。
図19】同実施形態の建物領域検出装置の建物領域検出部が行う建物の境界を構成する線分を接続する過程を示す図(その3)である。
図20】同実施形態の建物領域検出装置の建物領域検出部が行う建物の領域の配置順を定める処理の補足説明図である。
図21】同実施形態のマッチング装置のマッチング処理部による処理の流れを示すフローチャートである。
図22】同実施形態のマッチング装置のマッチング処理部による2.5次元の地図データから撮像装置の投影面における地図画像データを生成する過程を示す図である。
【発明を実施するための形態】
【0015】
(学習装置の構成)
図1は、本発明の一実施形態による学習装置1の構成を示すブロック図である。学習装置1は、入力部11、関数近似器12、学習処理部13、及び学習モデルデータ記憶部14を備える。入力部11は、入力画像データ、矩形位置データ、矩形サイズデータ、線分位置データ、及び線分種類データを1セットとする複数セットの予め準備される訓練データを取り込む。入力部11は、取り込んだ訓練データを1セットずつ選択することを繰り返し行う。入力部11は、選択した1セットに含まれる入力画像データを関数近似器12に出力し、当該セットに含まれる矩形位置データ、矩形サイズデータ、線分位置データ、及び線分種類データを学習処理部13に出力する。
【0016】
入力画像データは、例えば、図2に示す建物22、23、道路21などを含む街中の風景を撮像した画像データ20である。画像データ20に含まれる各画素の位置は、例えば、左下を原点とし、右方向に向かってXの座標値が増加するX軸方向、上方向に向かってYの座標値が増加するY軸方向が定められるXY座標系で表されるものとする。また、画像データ20は、例えば、RGBの3チャネルを有するカラー画像データである。
【0017】
図3から図6を参照しつつ、訓練データのセットに含まれる入力画像データ以外の矩形位置データ、矩形サイズデータ、線分位置データ、及び線分種類データについて説明する。図3(a)は、建物22の画像から矩形位置データ、矩形サイズデータ、線分位置データ、及び線分種類データを生成する過程を示す図である。エッジ検出の画像処理によって画像データ20からエッジを示す線分を検出する。検出した線分には、建物22の外形を示す線分以外に、建物22のベランダや窓の形状の線分も含まれていることもあるため、線分の中から建物22の外形を示す線分を選択する。
【0018】
建物22の下方部分22zを、建物22の形状に応じて適宜定める。建物22の外形を示す線分の中から建物22の下方部分22zに両端が属する線分、すなわち建物22の底辺の線分を除く全ての線分の各々に対して矩形の形状の領域である矩形領域22a,22b,22c,22d,22eを定める。矩形領域22a~22eのサイズは、1つの線分を囲むサイズにする。矩形領域22a~22eの各々に線分の全ての部分が含まれない線分は、矩形領域22a~22eの各々の対象となる線分でないものとする。例えば、矩形領域22aには、建物22の左側の縁の線分と、矩形領域22bに含まれる建物22の上側の縁の線分の一部が含まれている。これらの線分のうち、矩形領域22aが全ての部分を含んでいる線分は、建物22の左側の縁の線分である。そのため、矩形領域22aの対象となる線分は、建物22の左側の縁の線分のみになる。
【0019】
矩形領域22a~22eの各々の対象となる線分を以下のように分類する。矩形領域22a~22eの各々の対象となる線分のうち、建物22の領域の境界を構成する線分と、それ以外の線分とに分類する。図3(a)の場合、建物22の領域の境界を構成する線分は、矩形領域22a,22b,22d,22eである。矩形領域22cに含まれる線分は、建物22の領域内に存在しているため、建物22の領域の境界を構成する線分にはならない。
【0020】
建物22の領域の境界を構成する線分である矩形領域22a,22b,22d,22eに含まれる線分を、一端が下方部分22zに属する線分と、両端が下方部分22zに属しない線分とに分類する。一端が下方部分22zに属する線分は、矩形領域22a,22eに含まれる線分であり、この線分を第1の種類、すなわち視覚的に建物22の端を示す「Corner」の種類の線分とする。両端が下方部分22zに属しない線分は、矩形領域22b,22dに含まれる線分であり、この線分を第2の種類、すなわち「Top」の種類の線分とする。
【0021】
建物22の外形を示す線分であるが、建物22の領域の境界を構成する線分でない線分は、当該線分が建物22を上面からみた場合に建物22の隅に位置する線分の場合、第3の種類、すなわち「Center」の種類の線分とする。矩形領域22cに含まれる線分は、建物22を上面からみた場合に建物22の隅に位置する線分であるため、「Center」の種類の線分になる。
【0022】
図3(b)に示すように建物23に対しても、建物22の場合と同様に、矩形領域23a,23b,23c,23d,23eを定める。建物23の場合、建物22によって領域の一部が隠れているため、図3(b)に示すような下方部分23zを定めることになる。
【0023】
これにより、建物22の矩形領域22a~22eの各々の対象となる線分25a,25b,25c,25d,25eと、建物23の矩形領域23a~23eの各々の対象となる線分26a,26b,26c,26d,26eとが、図3(c)に示す種類に分類されることになる。「Corner」、「Top」、「Center」の種類が、上記した線分ごとの線分種類データになる。
【0024】
なお、図2に示す画像データ20では、建物22の高さが、建物23よりも低くなっており、建物23の上部が見えていることから、図3(c)に示す建物23における線分26cは、「Center」の種類に分類される。
【0025】
仮に、図3(c)に示す建物22における線分25eと、建物23における線分26cとが、同一線上に重なって見える状態で撮像されていた場合、線分25eは、「Corner」の種類に分類され、線分25eと重複しない上側の線分26cは、「Center」の種類に分類される。ただし、実際には、複数の線分が完全に重複した状態で撮像されることは滅多にないと考えられる。線分25eと線分26cとが重なって見える場合でも、基本的には完全に重なって認識されることはほとんどなく、少しずれた別個の線分として認識される。この結果、線分25eは、「Corner」の種類に分類され、線分26cは、「Center」の種類に分類される。
【0026】
なお、図4(a)に示す画像データ20Aのように、建物22の高さが、建物23Aよりも高い場合、建物23Aの上部は建物22の背後になる。この場合、建物23Aからエッジ検出により得られる線分は、図4(b)に示すように線分26Aa,26Ab,26Acの3つになる。この場合、線分26Aaは、建物22が存在しなければ、線分26cと同じく「Center」の種類に分類される線分であるが、建物22が存在するために、視覚的に建物23Aの端を示す線分になるため「Corner」の種類に分類されることになる。
【0027】
また、図5に示すような階段形状を有する建物24の場合の建物の外形を示す線分において、線分27fは、線分27kが存在するため、エッジ検出した場合に、2つの線分として検出されるが、複数の線分が、縦方向において直線上、または、略直線上に存在する場合、複数の線分を1つの線分27fとみなして矩形領域を定めるものとする。また、建物27のような形状の場合、線分27kは、建物27の外形を示す線分ではないが、線分27i,27jは、建物27の外形を示す線分になる。ただし、線分27i,27jは、上記した「Corner」、「Top」、「Center」のいずれの種類にも該当しない。そのため、ここでは、線分27i,27jの線分に対する矩形領域は、線分種類データが存在しないことから訓練データには含めないものとする。線分27i,27jの種類の線分も対象にする場合には、「Corner」、「Top」、「Center」以外の種類を別に定める必要がある。
【0028】
次に、図6を参照しつつ矩形位置データ、矩形サイズデータ、線分位置データについて説明する。図6は、ある1つの矩形領域31を示す図であり、矩形領域31は、上記した矩形領域22a~22e,23a~23eのように画像データ20において定められた矩形領域の1つであるとする。矩形領域31には、矩形領域31の対象となる1つの線分33が含まれている。矩形領域31の矩形位置データは、符号32によって示す位置を示すデータであり、符号32の位置は、矩形領域31の中心であり、画像データ20のXY座標系におけるX座標値とY座標値によって表されることになる。矩形領域31の矩形サイズデータは、矩形領域31の幅wと高さhの長さを示すデータであり、幅wと高さhの長さの値は、画像データ20のXY座標系における距離として算出される値である。
【0029】
矩形領域31の線分位置データは、矩形領域31に含まれる線分33の両端点の矩形領域31における相対的な位置として表される。すなわち、線分33の一方の端点34-1の矩形領域31における相対的な位置は、S/w、S/hとして表される。線分33の他方の端点34-2の矩形領域31における相対的な位置は、S/w、S/hとして表される。なお、S、S、S、Sの長さの値は、画像データ20のXY座標系における距離として算出される値である。
【0030】
これにより、図3に示した画像データ20における建物22に対する矩形領域22a~22eの各々と、建物23に対する矩形領域23a~23eの各々とに対する矩形位置データ(x,y)、矩形サイズデータ(w,h)、線分位置データ(S/w、S/h,S/w、S/h)、及び「Corner」、「Top」、「Center」のいずれかである線分種類データを生成することができる。
【0031】
画像データ20以外の複数の異なる入力画像データについても同様に、矩形位置データ、矩形サイズデータ、線分位置データ、及び線分種類データを生成し、入力画像データ、矩形位置データ、矩形サイズデータ、線分位置データ、及び線分種類データを訓練データの1セットとして、複数のセットを予め訓練データとして準備する。
【0032】
図1に戻り、学習モデルデータ記憶部14は、関数近似器12に適用される重みやバイアスなどのパラメータを含む学習モデルデータを記憶する。関数近似器12は、例えば、深層ニューラルネットワークであり、図7に示すように、ニューラルネットワーク15-1,15-2,15-3、及びパラメータ取得部16を備えている。パラメータ取得部16は、学習処理部13から取得指示信号を受けると学習モデルデータ記憶部14が記憶する学習モデルデータを読み出し、学習モデルデータに含まれるパラメータの各々を、各々に対応するニューラルネットワーク15-1,15-2,15-3に適用する。
【0033】
ニューラルネットワーク15-1は、入力部11が出力する3チャネルのカラー画像データである入力画像データを取り込む入力層を備えている。ニューラルネットワーク15-2の出力層は、N×M×3の個数のニューロンで構成される。「Corner」の線分種類データに対応する出力層が、出力層17aであり、「Top」の線分種類データに対応する出力層が、出力層17bであり、「Center」の線分種類データに対応する出力層が、出力層17cである。出力層17a~17cの各々は、N×M個のニューロンを有する。
【0034】
ニューラルネットワーク15-3の出力層は、N×M×8の個数のニューロンで構成される。ここで、矩形位置データのX座標値「x」に対応する出力層が、出力層18aであり、Y座標値「y」に対応する出力層が、出力層18bである。また、矩形サイズデータの幅「w」に対応する出力層が、出力層18cであり、高さ「h」に対応する出力層が、出力層18dである。また、線分位置データの「S/w」に対応する出力層が、出力層18eであり、「S/h」に対応する出力層が、出力層18fであり、「S/w」に対応する出力層が、出力層18gであり、「S/h」に対応する出力層が、出力層18hである。出力層18a~18hの各々は、N×M個のニューロンを有する。
【0035】
したがって、関数近似器12は、1つの入力画像データに対して、N×M×11個のデータを出力することになる。なお、図7では、一例として、N=M=8として示しているが、NとMの値は、8以外の値であってもよく、NとMが異なる値になっていてもよい。NとMの値は、大きな値になると演算量が増大するため、入力画像データの解像度と、要求される検出精度とに応じて適切な値が予め定められる。
【0036】
ニューラルネットワーク15-1の入力層と、ニューラルネットワーク15-2,15-3の出力層17a~17c,18a~18hとの間のニューラルネットワークの構成として、例えば、以下の参考文献1に開示されている物体検出に用いられるEfficientDetの深層ニューラルネットワークの構成を適用する。
【0037】
「参考文献1:M. Tan, R. Pang and Q. V. Le, EfficientDet: Scalable and Efficient Object Detection, CVPR, 2020.」
【0038】
図7では、出力層17a~17c,18a~18hの各々は、一例として、8×8=64個のニューロンを有する例を示している。64個のニューロンは、入力画像データの領域を均等な大きさになるように64個に分割した個々の分割領域に対応付けられている。学習処理部13が行う学習処理の目標とする関数近似器12の理想的な状態とは、以下のような状態である。例えば、入力画像データにおいて「Corner」の線分が複数存在しているとする。入力画像データの64個の分割領域の中で複数の「Corner」の線分の各々に対応する矩形領域の中心が存在している分割領域に対応する出力層17aのニューロンが「1.0」の値を出力し、それ以外のニューロンが「0.0」を出力する状態になることである。
【0039】
また、出力層17aにおいて「1.0」を出力するニューロンが、例えば、図7において黒色で塗りつぶした出力層17aの4行3列目のニューロン17a-4-3と、6行7列目のニューロン17a-6-7であるとする。この場合に、関数近似器12の理想的な状態とは、出力層18a~18hの各々の4行3列目のニューロンが、それぞれ4行3列目の分割領域に中心が存在する「Corner」の線分を含む矩形領域の矩形位置データの「x」,「y」の値、矩形サイズデータの「w」,「h」の値、線分位置データの「S/w」,「S/h」,「S/w」,「S/h」の値を出力する状態になることである。また、出力層18a~18hの各々の6行7列目のニューロンが、それぞれ6行7列目の分割領域に中心が存在する「Corner」の線分を含む矩形領域の矩形位置データの「x」,「y」の値、矩形サイズデータの「w」,「h」の値、線分位置データの「S/w」,「S/h」,「S/w」,「S/h」の値を出力する状態になることである。
【0040】
学習処理部13は、入力画像データが与えられることにより関数近似器12の出力層17a~17c,18a~18hの各々が出力するデータと、入力部11が出力するデータであって当該入力画像データに対応する矩形位置データ、矩形サイズデータ、線分位置データ、及び線分種類データとに基づいて、上記した関数近似器12の理想的な状態に近づくように、新たな学習モデルデータを算出する。学習処理部13は、学習モデルデータ記憶部14が記憶する学習モデルデータを、算出した新たな学習モデルデータに書き換えて更新する。また、学習処理部13は、関数近似器12のニューラルネットワーク15-1,15-2,15-3に適用するパラメータを変更するタイミングで関数近似器12のパラメータ取得部16に対して取得指示信号を出力する。
【0041】
(学習装置による処理)
図8は、学習装置1による学習処理の流れを示すフローチャートである。学習モデルデータ記憶部14は、乱数で初期化した初期値の学習モデルデータを予め記憶する。学習装置1が起動すると、関数近似器12のパラメータ取得部16は、学習モデルデータ記憶部14が記憶する初期値の学習モデルデータを読み出し、読み出した学習モデルデータに含まれるパラメータの各々を、各々に対応するニューラルネットワーク15-1,15-2,15-3に適用する。入力部11は、訓練データを取り込む(ステップSa1)。
【0042】
入力部11は、取り込んだ訓練データに含まれる複数のセットから1つずつセットを選択することを繰り返し行い。入力部11は、選択した1セットに含まれる入力画像データを関数近似器12に出力する。入力部11は、選択した1セットに含まれる矩形位置データ、矩形サイズデータ、線分位置データ、及び線分種類データを学習処理部13に出力する。関数近似器12のニューラルネットワーク15-1の入力層は、入力部11が出力する入力画像データを取り込む。ニューラルネットワーク15-1は、パラメータ取得部16がニューラルネットワーク15-1に対して適用したパラメータと、取り込んだ入力画像データとに基づいて、内部のニューロンの結合構成に応じた演算を行い、演算結果のデータをニューラルネットワーク15-2,15-3に出力する。
【0043】
ニューラルネットワーク15-2の入力層は、ニューラルネットワーク15-1が出力する演算結果のデータを取り込み、パラメータ取得部16がニューラルネットワーク15-2に対して適用したパラメータと、取り込んだ演算結果のデータとに基づいて、内部のニューロンの結合構成に応じた演算を行い、出力層17a~17cの各々が備えるニューロンが演算結果のデータを出力する。ニューラルネットワーク15-3の入力層は、ニューラルネットワーク15-1が出力する演算結果のデータを取り込み、パラメータ取得部16がニューラルネットワーク15-3に対して適用したパラメータと、取り込んだ演算結果のデータとに基づいて、内部のニューロンの結合構成に応じた演算を行い、出力層18a~18hの各々が備えるニューロンが演算結果のデータを出力する。
【0044】
学習処理部13は、入力部11が出力する矩形位置データ、矩形サイズデータ、線分位置データ、及び線分種類データを取り込む。学習処理部13は、取り込んだ矩形位置データ、矩形サイズデータ、線分位置データ、及び線分種類データと、出力層17a~17c,18a~18hの各々が備えるニューロンが出力するデータとの誤差に基づいて、上記した関数近似器12の理想的な状態に近づくように、新たな学習モデルデータを算出する。なお、学習処理部13は、入力部11が出力する1セットごとの誤差に基づいて新たな学習モデルデータを算出するオンライン学習を行ってもよいし、予め定められた数のセットごとに演算対象としたセットの各々の誤差に基づいて新たな学習モデルデータを算出するミニバッチ学習を行ってもよいし、訓練データに含まれる全てのセットごとに全てのセットの各々の誤差に基づいて新たな学習モデルデータを算出するバッチ学習を行ってもよい。
【0045】
学習処理部13は、新たな学習モデルデータを算出するごとに、学習モデルデータ記憶部14が記憶する学習モデルデータを、算出した新たな学習モデルデータに書き換えて更新する。学習処理部13は、学習モデルデータ記憶部14が記憶する学習モデルデータを更新すると、取得指示信号を関数近似器12のパラメータ取得部16に出力する。パラメータ取得部16は、学習処理部13から取得指示信号を受けると、学習モデルデータ記憶部14から学習モデルデータを読み出し、読み出した学習モデルデータに含まれるパラメータの各々を、各々に対応するニューラルネットワーク15-1,15-2,15-2に適用する(ステップSa2)。
【0046】
学習処理部13が、予め定められた回数、学習モデルデータ記憶部14が記憶する学習モデルデータを、算出した新たな学習モデルデータに書き換えて更新する処理を行うことにより、学習モデルデータ記憶部14には、学習済みの学習モデルデータが書き込まれて記憶された状態になり(ステップSa3)、学習装置1は、処理を終了する。
【0047】
なお、上記した実施形態では、矩形位置データの「x」,「y」の値は、画像データ20のXY座標系における値、すなわち絶対座標系で表される値としている。これに対して、画像データ20の領域をN×M個の均等な大きさに分割した分割領域の各々においてXY座標を定め、当該XY座標系における矩形領域の中心の位置を、矩形位置データの「x」,「y」の値とする相対座標系で表される値を、矩形位置データの「x」,「y」の値としてもよい。ただし、相対座標系で表される値を用いる場合、必要に応じて絶対座標値から相対座標値に換算する処理、及び相対座標値から絶対座標値に換算する処理を行うことになる。
【0048】
上記の実施形態による学習装置1は、入力部11と、学習処理部13とを備える。入力部11は、画像データ20と、画像データ20に含まれる検出対象線分を1つ含むように適宜定めた矩形領域を示す情報とを取り込む。検出対象線分は、第1の種類の線分である「Corner」の種類の線分、第2の種類の線分である「Top」の種類の線分である。「Corner」は、画像データ20に含まれる個々の建物22,23の外形を示す線分(25a~25e,26a~26e)から選択される建物の領域の境界を構成する線分(25a,25b,25d,25e,26a,26b,26d,26e)であって、個々の建物22,23ごとに適宜定める建物の下方部分22z,23zに一端が属する線分である。「Top」は、建物22,23の領域の境界を構成する線分であって、下方部分に両端が属しない線分である。矩形領域を示す情報は、検出対象線分を1つ含むように適宜定めた矩形領域(22a,22b,22d,22e,23a,32b,23d,23e)の各々に関する情報である。矩形領域を示す情報は、矩形領域の画像データ20における位置を示す矩形位置データと、矩形領域の大きさを示す矩形サイズデータと、矩形領域に含まれる線分の両端点の矩形領域における位置を示す線分位置データと、検出対象線分が第1の種類、または、第2の種類のいずれであるかを示す線分種類データである。学習処理部13は、学習処理を行う。学習処理は、関数近似器12に適用する学習モデルデータを更新する処理である。学習処理において、入力部11が取り込んだ画像データ20を関数近似器12に与えると、関数近似器12が、入力部11が取り込んだ矩形位置データと、矩形サイズデータと、線分位置データと、線分種類データとを出力する状態に近づくように学習モデルデータが更新される。これにより、最終的に学習済みの学習モデルデータを生成し、生成した学習済みの学習モデルデータを関数近似器12に適用することで、任意の画像データからエッジ検出により検出可能なエッジを示す線分の中から個々の建物の外形であって建物の領域の境界を構成する線分を高い精度で検出することが可能となる。
【0049】
(マッチングシステムの構成)
図9は、本発明の一実施形態によるマッチングシステム200の構成を示すブロック図である。マッチングシステム200は、建物領域検出装置50、移動体60、及びマッチング装置70を備える。移動体60は、例えば、自動車などの車両であり、撮像装置61、位置検出装置62、及び通信装置63を備える。撮像装置61は、例えば、道路を走行する移動体60の進行方向に沿った風景を一定の間隔で繰り返し撮像するカメラであり、撮像により画像データを生成する。撮像装置61は、撮像するごとに、内部に備える時計などの計時手段から時刻を示す時刻データを取得し、画像データの各々を一意に識別可能な識別情報である画像IDを生成する。撮像装置61は、取得した時刻データと、生成した画像IDと、撮像した際の画角を示すデータと、生成した画像データとを関連付けて出力する。
【0050】
位置検出装置62は、例えば、GPS衛星からの電波を受けて位置を検出するGPS端末装置であり、検出した位置を示す座標データと、検出した時刻を示す時刻データとを関連付けて出力する。通信装置63は、例えば、無線通信端末装置であり、撮像装置61が出力する画像データと、当該画像データに関連付けられている画像IDとを建物領域検出装置50に送信する。また、通信装置63は、撮像装置61が出力する画像IDと、当該画像IDに関連付けられている時刻データ及び画角を示すデータとをマッチング装置70に送信する。また、通信装置63は、位置検出装置62が出力する座標データと、当該座標データに関連付けられている時刻データとをマッチング装置70に送信する。
【0051】
建物領域検出装置50は、受信部51、学習済み学習モデルデータ記憶部52、線分検出部53、線分特定データ記憶部54、セマンティックセグメンテーション部56、建物領域検出部57、及び建物領域特定データ記憶部58を備える。建物領域検出装置50において、受信部51は、移動体60の通信装置63が送信する画像データと、当該画像データに関連付けられている画像IDとを受信する。学習済み学習モデルデータ記憶部52は、学習装置1の学習モデルデータ記憶部14に書き込まれている学習済みの学習モデルデータを予め記憶する。
【0052】
線分検出部53は、内部に学習装置1が備える関数近似器12と同一構成の関数近似器を備えている。以下、線分検出部53が備える関数近似器についても符号12を付して関数近似器12という。線分検出部53は、受信部51が受信した画像データを、学習済み学習モデルデータ記憶部52が記憶する学習済みの学習モデルデータが適用された関数近似器12に与えることにより、当該画像データから「Corner」、「Top」、「Center」の種類の検出対象線分ごとの矩形位置データ、矩形サイズデータ、線分位置データ、及び線分種類データを検出する。線分検出部53は、検出した検出対象線分ごとの矩形位置データ、矩形サイズデータ、線分位置データ、及び線分種類データの組み合わせに、受信部51が受信した画像IDを加えて、検出対象線分ごとの線分特定データを生成する。
【0053】
線分特定データ記憶部54は、図10に示すデータ形式の線分特定データテーブル55を記憶する。線分特定データテーブル55は、「画像ID」、「線分種類」、「矩形位置」、「矩形サイズ」、「線分位置」の項目を有する。「画像ID」、「線分種類」、「矩形位置」、「矩形サイズ」、「線分位置」の項目の各々には、線分検出部53が生成した線分特定データの各々に含まれる画像ID、線分種類データ、矩形位置データ、矩形サイズデータ、線分位置データが書き込まれる。
【0054】
セマンティックセグメンテーション部56は、画像データから、当該画像データに含まれる建物の領域の部分を検出させるようにする学習処理によって予め生成された学習済みの学習モデルデータが適用された深層ニューラルネットワークを内部に備えている。深層ニューラルネットワークとしては、例えば、以下の参考文献2に開示されるU-Netなどが適用される。
【0055】
「参考文献2:O. Ronneberger, P. Fischer and T. Brox, U Net: Convolutional Networks for Biomedical Image Segmentation, arXiv:1505.04597v1, 2015.」
【0056】
セマンティックセグメンテーション部56が備える深層ニューラルネットワークは、隣接している建物などの場合、個々の建物の領域を検出するのではなく、隣接している建物を一体の建物とみなして建物の領域を検出する。
【0057】
建物領域検出部57は、線分特定データ記憶部54の線分特定データテーブル55が記憶する線分特定データの中から画像IDが同一である線分特定データを選択する。建物領域検出部57は、選択した画像IDが同一である線分特定データに基づいて、建物の領域の境界を構成する線分であって接続関係にある線分を選択し、選択した線分を接続することにより、当該画像IDに対応する画像データに含まれる個々の建物の領域を検出する。また、建物領域検出部57は、検出した個々の建物ごとの建物の領域と、セマンティックセグメンテーション部56が検出した建物の領域であって建物領域検出部57が検出した建物の領域の画像IDに対応する建物の領域との重複領域を検出し、検出した重複領域を最終的な個々の建物ごとの建物の領域とする。
【0058】
また、建物領域検出部57は、検出した個々の建物ごとの建物の領域の各々に対して、建物の領域を一意に識別可能な識別情報である建物領域IDを生成する。また、建物領域検出部57は、建物の領域の範囲を特定する建物領域範囲データと、当該建物の領域に対応する建物領域IDと、当該建物の領域に対応する画像IDとを含む建物領域特定データを生成する。ここで、建物領域範囲データとは、例えば、画像データのXY座標系の座標データであって建物の領域の範囲を示す複数の座標データを接続する順に並べたデータである。また、建物領域検出部57は、画像IDが同一の建物領域特定データを選択し、選択した建物領域特定データに含まれる建物領域範囲データが示す建物の領域の高さに基づいて、高さが高い建物の領域ほど背後になるように、建物領域特定データの配置の順番を定め、定めた配置の順番を示すデータを建物領域特定データに付加する。
【0059】
建物領域特定データ記憶部58は、図11に示すデータ形式の建物領域特定データテーブル59を記憶する。建物領域特定データテーブル59は、「画像ID」、「建物領域ID」、「建物領域範囲」、「配置順」の項目を有する。「画像ID」、「建物領域ID」、「建物領域範囲」、「配置順」の項目の各々には、建物領域検出部57が生成した建物領域特定データに含まれる画像ID,建物領域ID、建物領域範囲データ、及び配置の順番を示すデータが書き込まれる。
【0060】
マッチング装置70は、マッチング処理部71、地図データ記憶部72、受信部73、及び履歴情報記憶部74を備える。受信部73は、移動体60の通信装置63が送信する画像IDと、当該画像IDに関連付けられている時刻データ及び画角を示すデータと、座標データと、当該座標データに関連付けられている時刻データとを受信する。履歴情報記憶部74は、受信部73が受信した画像IDと、当該画像IDに関連付けられている時刻データ及び画角を示すデータとを時系列順に記憶し、座標データと、当該座標データに関連付けられている時刻データとを時系列順に記憶する。地図データ記憶部72は、移動体60が走行する付近の2.5次元地図データを予め記憶する。ここで、2.5次元地図とは、例えば、XY軸平面を地面、Z軸を上空への方向とした場合に、XY軸平面上で建物の輪郭を示すデータがあり、当該輪郭が、一定の状態でZ軸方向に予め定められる高さまで高くなっており、建物表面のテクスチャ(模様)を含んでいない地図である。建物の高さは、その建物において代表となる高さ、基本的には一番高い位置に相当する高さ、とする。
【0061】
なお建物の高さを示す情報がなくても、画像内の建物と、一部の地図上の建物(画像において視覚的に最前面にある建物)をマッチングすることは可能である。建物の高さを示す情報を用いることにより、低い建物の後方にある高い建物もマッチングできるようになり、より多くの建物をマッチングすることが可能となる。
【0062】
マッチング処理部71は、建物領域検出装置50の建物領域特定データ記憶部58に接続しており、建物領域特定データ記憶部58の建物領域特定データテーブル59が記憶する建物領域特定データによって示される建物の領域と、地図データ記憶部72が記憶する2.5次元地図データから生成する地図画像データとのマッチングを行う。
【0063】
なお、マッチング処理部71と、建物領域特定データ記憶部58とは、建物領域検出装置50と、マッチング装置70とが近い位置に配置されている場合、有線の電気回線などにより接続され、建物領域検出装置50と、マッチング装置70とが離れた位置に配置されている場合、有線、または、無線の通信回線により接続される。また、図9では、建物領域検出装置50と、移動体60との間、及びマッチング装置70と、移動体60との間が無線通信回線により接続される例を示しているが、移動体60に、建物領域検出装置50、及びマッチング装置70のいずれか一方、または、両方が備えられていてもよい。この場合、移動体60と、移動体60に備えられている装置との間は、無線の通信回線ではなく、有線の電気回線により接続されていてもよい。また、移動体60に、建物領域検出装置50、及びマッチング装置70のいずれか一方が備えられている場合、マッチング処理部71と、建物領域特定データ記憶部58との間は、無線の通信回線により接続されることになる。
【0064】
(建物領域検出装置による処理)
図12から図20を参照しつつ建物領域検出装置50による処理について説明する。図12から図15は、建物領域検出装置50の建物領域検出部57による処理の流れを示すフローチャートである。図12から図15のフローチャートにおいて、「A」、「B」、「C」、「D」、「E」の文字を含む丸印の接続マークは、処理が続いていることを示している。
【0065】
図12のフローチャートが開始される前に、以下の処理が行われる。建物領域検出装置50の線分検出部53が備える関数近似器12のパラメータ取得部16は、建物領域検出装置50が起動すると、学習済み学習モデルデータ記憶部52から学習済みの学習モデルデータを読み出し、読み出した学習モデルデータに含まれるパラメータの各々を、各々に対応するニューラルネットワーク15-1,15-2,15-3に適用する。建物領域検出装置50の受信部51は、移動体60の通信装置63が送信する画像データと、当該画像データに関連付けられている画像IDとを受信する。受信部51は、受信した画像データと、画像IDとを線分検出部53と、セマンティックセグメンテーション部56とに出力する。ここで、受信部51が出力する画像データは、例えば、図16(a)に示す画像データ80であるとする。
【0066】
線分検出部53は、受信部51が出力する画像データ80と、画像データ80に関連づけられている画像IDとを取り込み、取り込んだ画像データ80を関数近似器12に与えることにより、関数近似器12が出力するデータから「Corner」、「Top」、「Center」の種類の検出対象線分ごとの線分特定データを生成する。線分検出部53が生成した線分特定データに対応する線分を表示画面に表示すると、例えば、図16(b)のような建物81,82,83ごとの線分81a~81e,82a~82e,83a~83cが表示されることになる。線分検出部53は、生成した線分特定データを線分特定データ記憶部54の線分特定データテーブル55に書き込んで記憶させる。
【0067】
セマンティックセグメンテーション部56は、受信部51が出力する画像データ80と、画像データ80に関連づけられている画像IDとを取り込み、取り込んだ画像データ80を内部に備える関数近似器に与えることにより、画像データ80に含まれる建物の領域を検出する。セマンティックセグメンテーション部56は、検出した建物の領域の範囲を示すセグメンテーションデータに、取り込んだ画像IDを関連付けて建物領域検出部57に出力する。セマンティックセグメンテーション部56が検出したセグメンテーションデータを表示画面に表示すると、例えば、図16(d)のような建物の領域90が表示されることになる。
【0068】
建物領域検出部57は、セマンティックセグメンテーション部56が出力するセグメンテーションデータと、画像IDとを取り込み、取り込んだセグメンテーションデータと、画像IDとを関連付けて内部の記憶領域に書き込んで記憶させる。建物領域検出部57は、線分特定データテーブル55が新たな画像データ80の全ての線分特定データを記憶すると、線分特定データテーブル55から新たな画像データ80に対応する画像IDの線分特定データを選択して全て読み出す。建物領域検出部57は、読み出した線分特定データに含まれる矩形位置データと、矩形サイズデータと、線分位置データとに基づいて、線分特定データの各々に対応する線分の両端点の位置を画像データ80のXY座標系の座標値で示した座標データを算出する。建物領域検出部57は、図12に示すフローチャートの処理を開始する。
【0069】
建物領域検出部57は、読み出した線分特定データに含まれる線分種類データを参照して、建物の領域の境界を構成する線分の中から接続関係にある線分を選択する処理を行う。建物の全体像が画像データに含まれている場合、建物の領域の境界を構成する線分の種類は、左側、または、右側から見て、「Corner」、少なくとも1つの「Top」、「Corner」の順番に並んでおり、この順番で接続していることになる。
【0070】
建物領域検出部57は、読み出した線分特定データに含まれる線分種類データを参照し、未処理の線分、すなわち、当該処理を行う以前に開始線分として選択されていない線分であって、かつ他の線分の接続対象として選択されていない線分の中から「Corner」の種類の線分特定データを検出する。建物領域検出部57は、検出した線分特定データの矩形位置データを参照し、XY座標系において最も左側に位置する線分を開始線分として選択する。ここでは、建物領域検出部57は、図17に示すように開始線分として、画像データ80に含まれる建物81の線分81aを選択したとする(ステップSb1)。
【0071】
建物領域検出部57は、線分81aの両端点81a-1,81a-2のうちY座標の値が大きい方の端点である端点81a-2を選択する(ステップSb2)。ここで、Y座標の値が大きい方の端点を選択している理由は、学習装置1に適用する訓練データを生成する際に「Corner」の種類の線分のY座標の値が小さい方の端点の位置は、建物の下方部分に属しており、接続する線分が存在しないことが前提になっているためである。建物領域検出部57は、端点81a-1の座標が画像データ80の縁の座標であるか否かを判定する(ステップSb3)。ここで、画像データ80の縁の座標である場合とは、X座標の値が「0」であるか、もしくは、最大値であるか、または、Y座標の値が「0」であるか、もしくは、最大値である場合である。建物領域検出部57は、端点81a-1の座標が画像データ80の縁の座標であると判定した場合(ステップSb3、Yes)、この場合は、建物の領域の境界を構成する線分が、「Corner」、少なくとも1つの「Top」、「Corner」の順に並ばないことになる。そのため、例外的な処理として、接続マークAが示すように、図13に示すフローチャートの処理が行われる。
【0072】
図17に示すように、端点81a-1の座標、画像データ80の縁の座標ではない。そのため、建物領域検出部57は、端点81a-1が画像データ80の縁の座標でないと判定し(ステップSb3、No)、次に、端点81a-1の位置を中心として、予め定められる大きさの近傍範囲101を定める(ステップSb4)。建物領域検出部57は、読み出した線分特定データを参照し、定めた近傍範囲101に未処理の「Top」の種類の線分の端点が存在するか否かを判定する(ステップSb5)。建物領域検出部57は、定めた近傍範囲101に未処理の「Top」の種類の線分の端点が存在しないと判定した場合(ステップSb5、No)、この場合は、開始線分に接続する建物81の領域の境界を構成する他の線分は存在しないため、当該開始線分に対する建物の領域を特定する処理を行わず、処理をステップSb13に進める。
【0073】
一方、建物領域検出部57は、定めた近傍範囲101に未処理の「Top」の種類の線分の端点が存在すると判定した場合(ステップSb5、Yes)、処理をステップSb6に進める。端点81a-1の場合、近傍範囲101に未処理の「Top」の種類である線分81bの端点81b-1が存在する。そのため、建物領域検出部57は、ステップSb5において、定めた近傍範囲101に未処理の「Top」の種類の線分81bの端点81b-1が存在すると判定する。なお、建物領域検出部57は、近傍範囲101において、複数の未処理の「Top」の種類の線分の端点を検出した場合、近傍範囲101の中心から最も近い端点を選択するものとする。建物領域検出部57は、線分81bを接続対象の線分として選択する(ステップSb6)。
【0074】
建物領域検出部57は、接続対象として選択した線分81bの他方の端点81b-2の位置を中心として、予め定められる大きさの近傍範囲102を定める(ステップSb7)。建物領域検出部57は、読み出した線分特定データを参照し、定めた近傍範囲102に未処理の「Top」、または、「Corner」の種類の線分の端点が存在するか否かを判定する(ステップSb8)。建物領域検出部57は、定めた近傍範囲102に未処理の「Top」、または、「Corner」の種類の線分の端点が存在すると判定した場合(ステップSb8、Yes)、処理をステップSb9に進める。端点81b-2の場合、近傍範囲102に未処理の「Top」の種類である線分81dの端点81d-1が存在する。そのため、建物領域検出部57は、ステップSb8において、定めた近傍範囲102に未処理の「Top」の種類の線分81dの端点81d-1が存在すると判定する。なお、建物領域検出部57は、近傍範囲102において、複数の未処理の「Top」または「Corner」の種類の線分の端点を検出した場合、「Corner」の種類の端点を優先して選択し、未処理の「Corner」の種類の端点を複数検出した場合、近傍範囲101の中心から最も近い「Corner」の種類の端点を選択するものとする。建物領域検出部57は、線分81dを接続対象の線分として選択する(ステップSb9)。
【0075】
一方、建物領域検出部57は、ステップSb8において、定めた近傍範囲102に未処理の「Top」及び「Corner」の種類の線分の端点が存在していない判定した場合(ステップSb8、No)、建物領域検出部57は、端点81b-2の座標が画像データ80の縁の座標であるか否かを判定する(ステップSb10)。
【0076】
建物領域検出部57は、処理対象の端点の座標が画像データ80の縁の座標であると判定した場合(ステップSb10、Yes)、この場合は、建物の領域の境界を構成する線分が「Corner」、少なくとも1つの「Top」、「Corner」の順に並ばないことになる。そのため、例外的な処理として、接続マークAが示すように、図13に示すフローチャートの処理が行われる。一方、建物領域検出部57は、処理対象の端点の座標が画像データ80の縁の座標でないと判定した場合(ステップSb10、No)、この場合は、接続対象の線分に接続する他の線分が存在せず、建物の領域を特定することができないため、それまでにステップSb6、または、ステップSb9において接続対象として選択した線分を接続対象から解除し、処理をステップSb13に進める。
【0077】
ステップSb9の処理の後、建物領域検出部57は、接続対象として選択した線分81dの線分特定データの線分種類データに基づいて、線分81dの種類が「Corner」であるか否かを判定する(ステップSb11)。線分81dの場合、線分の種類は「Top」であるため、建物領域検出部57は、線分の種類が「Corner」でないと判定し(ステップSb11、No)、処理をステップSb7に進める。再び、ステップSb7以降の処理が行われることにより、建物領域検出部57は、接続対象として、更に、図17に示す線分81eを選択することになる。線分81eの種類は「Corner」であるため、建物領域検出部57は、ステップSb11の処理において、線分81eの種類が「Corner」であると判定する(ステップSb11、Yes)。これにより、「Corner」の線分81aである開始線分からスタートして、建物領域検出部57は、接続対象の線分として、2つの「Top」の線分81b,81dと、「Corner」の線分81eとを選択することになる。
【0078】
建物領域検出部57は、「Corner」の線分81a,81eの線分を鉛直方向に画像データ80の下の縁まで伸長する。建物領域検出部57は、「Top」の線分81b,81dと、「Corner」の線分81eを伸長した線分とを、開始線分である線分81aを伸長した線分に対して選択した順に接続する。建物領域検出部57は、接続した線分によって囲まれる領域を、建物81に対応する建物の領域とする。建物領域検出部57は、当該建物の領域を囲むXY座標系の座標データを接続順に並べて建物領域範囲データを生成する。建物領域検出部57は、建物81に対する建物領域IDを生成し、画像データ80の画像IDと、生成した建物領域IDと、生成した建物領域範囲データとを含む建物領域特定データを生成し、生成した建物領域特定データを内部の記憶領域に書き込んで記憶させる(ステップSb12)。
【0079】
建物領域検出部57は、処理をステップSb13に進めて、読み出した線分特定データにおいて、未処理の線分であって「Corner」の種類の線分特定データが存在するか否かを判定する(ステップSb13)。上記したように、未処理の線分とは、開始線分として選択されていない線分であって、かつ他の線分の接続対象として選択されていない線分である。なお、他の線分の接続対象の線分として選択された後に接続対象の線分から解除された線分は、未処理の線分に含まれることになる。
【0080】
建物領域検出部57は、未処理の線分であって「Corner」の種類の線分特定データが存在すると判定した場合(ステップSb13、Yes)、再び、ステップSb1の処理を行う。一方、建物領域検出部57は、未処理の線分であって「Corner」の種類の線分特定データが存在しないと判定した場合(ステップSb13、No)、画像データ80の画像IDに対応する線分特定データに基づく、建物の領域の検出が完了したことになり、その後、接続マークBが示すように、図14に示すフローチャートの処理が行われる。
【0081】
(建物の領域が画像データの縁に接している場合の例外処理)
図13は、図12のフローチャートの接続マークAの後に行われる処理の流れを示すフローチャートである。建物領域検出部57は、処理対象の端点の位置が、画像データ80の上の縁、または、左右いずれかの縁、または、下の縁であるかを判定する(ステップSc1)。
【0082】
例えば、画像データ80において、図16(a)には図示していない建物85,86の画像が含まれているとする。当該建物85,86の線分特定データを表示画面に表示すると、図18(a)に示す状態になっているとする。図18(a)に示すように、建物85は、全体像が画像データ80の範囲内に収まっておらず、上部が見えない状態になっている。また、建物86についても、全体像が画像データ80の範囲内に収まっておらず、上部と右側が見えない状態になっている。この場合、「Corner」の線分85aと、「Top」の線分85cは、見えない他の「Top」の線分を介して接続しているものと推測することができる。また、例えば、画像データ80において、図16(a)には図示していない建物87の画像が含まれているとする。当該建物87の線分特定データを表示画面に表示すると、図18(b)に示す状態になっているとする。図18(b)に示すように、建物87は、建物85と同様に、全体像が画像データ80の範囲内に収まっておらず、上部が見えない状態になっている。この場合、「Corner」の線分87aと、「Corner」の線分87cは、見えない他の「Top」の線分を介して接続しているものと推測することができる。以下、処理対象の端点が、端点85a-2、または、端点87a-2であるとして、ステップSc1の「上の縁」の場合の処理について説明する。
【0083】
建物領域検出部57は、処理対象の端点の位置が、画像データ80の上の縁であると判定した場合(ステップSc1、上の縁)、処理対象の端点の位置を基準位置とし、当該基準位置よりも右側に位置する他の端点であって、かつ画像データ80の上の縁、すなわちY軸の座標値が最大である他の端点であり、当該他の端点の線分の種類が「Corner」、または、「Top」である他の端点が存在するかを判定する(ステップSc2)。建物領域検出部57は、上記のような他の端点が存在しないと判定した場合(ステップSc2、No)、この場合は、開始線分、または、接続対象の線分に接続する他の線分が存在せず、建物の領域を特定することができないため、それまでにステップSb6、または、ステップSb9において接続対象として選択した線分を接続対象から解除し、接続マークCが示すように、処理は、図12のステップSb13に進められる。
【0084】
処理対象の端点が、図18(a)に示す端点85a-2である場合、上記のような他の端点として端点85c-1と、端点86a-1とが存在する。また、処理対象の端点が、図18(b)に示す端点87a-2である場合、他の端点として端点87c-1が存在する。端点85b-2と、端点87b-2は、線分の種類が「Center」であるためステップSc2における他の端点にはならない。
【0085】
したがって、処理対象の端点が、端点85a-2、または、端点87a-2である場合、建物領域検出部57は、上記のような他の端点が存在すると判定し(ステップSc2、Yes)、処理対象の端点の位置である基準位置と、他の端点との間の距離が最小となる他の端点を選択する(ステップSc3)。端点87a-2の場合、他の端点は、端点87c-1のみであるため、建物領域検出部57は、端点87c-1を選択する。これに対して、端点85a-2の場合、他の端点として、端点85c-1と、端点86a-1とが存在する。そのため、建物領域検出部57は、最小の距離となる端点85c-1を選択する。
【0086】
建物領域検出部57は、処理対象の端点の位置である基準位置と、選択した端点との間を結ぶ線分を接続対象の線分に加え、選択した端点の線分を接続対象の線分として選択する(ステップSc4)。図18(a)の場合、建物領域検出部57は、端点85a-2と、端点85c-1とを結ぶ線分である線分85-addを接続対象の線分に加え、線分85cを接続対象の線分として選択する。図18(b)の場合、建物領域検出部57は、端点87a-2と、端点87c-1とを結ぶ線分である線分87-addを接続対象の線分に加え、線分87cを接続対象の線分として選択する。その後、接続マークDが示すように、図12のステップSb11の処理が行われる。
【0087】
次に、建物領域検出部57が、ステップSc1において、処理対象の端点の位置が、画像データ80の左右いずれかの縁に位置しているか、または、下の縁に位置していると判定した場合について説明する。例えば、画像データ80において、図16(a)には図示していない建物88の画像が含まれているとする。当該建物88の線分特定データを表示画面に表示すると、図19に示す状態になっているとする。図19に示すように、建物88は、全体像が画像データ80の範囲内に収まっておらず、右側の一部が切れてしまっている。この場合、線分88a,88b,88dによって囲まれる領域を、画像データ80における建物88の領域とすることができる。以下、処理対象の端点が、端点88d-2であるとして、ステップSc1の「左右の縁」の場合の処理について説明する。
【0088】
建物領域検出部57は、処理対象の端点88d-2の位置が画像データ80の右の縁であるため、処理対象の端点88d-2の位置が左右いずれかの縁であると判定する(ステップSc1、左右いずれかの縁)。建物領域検出部57は、端点88d-2の位置から鉛直方向に画像データ80の下の縁まで伸長した線分88-addを接続対象の線分に加える(ステップSc5)。
【0089】
ステップSc6の処理は、ステップSb12と同一の処理であり、図19の場合、「Corner」の線分88aを鉛直方向に画像データ80の下の縁まで伸長した線分と、「Top」の線分88b,88dと、線分88-addとによって囲まれる領域が、建物88の建物の領域となる。
【0090】
建物領域検出部57が、ステップSc1において、処理対象の端点の位置が、画像データ80の下の縁に位置していると判定する場合とは、図19において、例えば、線分88dに替えて一点鎖線で示す線分88eのような線分が存在している場合である。この場合、処理対象の端点の位置が左右いずれかの縁である場合の処理であるステップSc5と、ステップSc6の処理のうち、ステップSc5の処理を除いたステップSc6の処理を行えばよいことになる。そのため、建物領域検出部57は、処理対象の端点の位置が画像データ80の下の縁であると判定した場合(ステップSc1、下の縁)、ステップSb12及びステップSc6と同一の処理であるステップSc7の処理を行う。
【0091】
(左右の空き領域を建物の領域として加える処理)
図14は、図12のステップSb13の判定処理において、建物領域検出部57が、「No」の判定をした場合、すなわち、画像データ80の画像IDに対応する線分特定データに基づく建物の領域の検出が完了した後に行われる処理の流れを示すフローチャートである。図16(a)に示す画像データ80の場合、左右の両端の領域に建物は存在していないが、撮影の際の画角によっては、左右の縁で建物の領域が切れてしまっている画像データが存在することも想定される。図12に示したフローチャートの処理では、建物の左端の「Corner」の種類の線分が画像データに含まれていない建物については、建物の領域の検出の対象にはならない。そのため、画像データの左端の領域に建物の画像が存在しており、当該建物の左端の「Corner」の種類の線分の線分特定データが存在しない場合、建物領域検出部57は、当該建物の領域を検出できないことになる。
【0092】
また、図19に示す建物88の線分88a,88b,88c,88dの中で、線分検出部53が、線分88dを検出できなかった場合、建物領域検出部57は、建物88の建物の領域を検出することができないことになる。
【0093】
上記のような建物の領域を検出することができない場合に備えて、左右の縁に近い領域に、左右の空き領域を建物の領域に加える処理を行う。これにより、後述するセマンティックセグメンテーション部56が検出したセグメンテーションデータとの重複領域を検出することにより、建物領域検出部57が、図12及び図13に示した処理において、建物の領域を検出することができなかった建物の領域を検出することが可能になる。以下、図14に示すフローチャートにしたがって処理の流れを説明する。
【0094】
建物領域検出部57は、内部の記憶領域が記憶する建物領域特定データの建物領域範囲データを参照し、画像データ80の左の縁の上に境界が存在する建物領域特定データが存在するか否かを判定する(ステップSd1)。建物領域検出部57は、画像データ80の左の縁の上に境界が存在する建物領域特定データが存在すると判定した場合(ステップSd1、Yes)、この場合、既に画像データ80の左の縁に境界が存在する建物の領域が存在し、左の空き領域を建物の領域として加えてしまうと、左の縁に境界が存在する建物の領域が誤った建物の領域を示すことになる。そのため、建物領域検出部57は、左の空き領域を建物の領域として加えず、処理を、ステップSd4に進める。
【0095】
一方、建物領域検出部57は、画像データ80の左の縁の上に境界が存在する建物領域特定データが存在しないと判定した場合(ステップSd1、No)、線分特定データテーブル55を参照し、画像データ80の左の縁との距離が最短である「Corner」の種類の線分を検出する(ステップSd2)。ここで、線分と、画像データ80の左の縁との距離とは、画像データ80が矩形形状であることから、画像データ80の左の一辺の任意の位置から水平方向に向かって、線分の任意の位置まで伸長した線の長さが最小になる長さである。
【0096】
図16(a)に示す画像データ80の場合、建物領域検出部57は、画像データ80の左の縁との距離が最短である「Corner」の種類の線分として、図16(b)に示す線分81aを検出する。建物領域検出部57は、検出した線分81aを画像データ80の上と下の縁まで伸長し、伸長した線分と、画像データ80の左の縁との間を建物の領域とする。建物領域検出部57は、当該建物の領域の頂点のXY座標系の座標データのいずれか1つの頂点の座標データを選択し、当該1つの頂点から、右回り、または、左回りに他の頂点の座標データを並べて、建物領域範囲データを生成する。当該建物領域範囲データを表示画面に表示すると、図16(c)の建物の領域94として表示されることになる。建物領域検出部57は、建物の領域94に対する建物領域IDを生成し、画像データ80の画像IDと、生成した建物領域IDと、生成した建物領域範囲データとを含む建物領域特定データを生成し、生成した建物領域特定データを内部の記憶領域に書き込んで記憶させる(ステップSd3)。
【0097】
建物領域検出部57は、内部の記憶領域が記憶する建物領域特定データの建物領域範囲データを参照し、画像データ80の右の縁の上に境界が存在する建物領域特定データが存在するか否かを判定する(ステップSd4)。建物領域検出部57は、画像データ80の右の縁の上に境界が存在する建物領域特定データが存在すると判定した場合(ステップSd4、Yes)、この場合、既に画像データ80の右の縁に境界が存在する建物の領域が存在し、右の空き領域を建物の領域として加えてしまうと、右の縁に境界が存在する建物の領域が誤った建物の領域を示すことになる。そのため、建物領域検出部57は、右の空き領域を建物の領域として加えず、その後、接続マークEが示すように、図15のフローチャートの処理が行われる。
【0098】
一方、建物領域検出部57は、画像データ80の右の縁の上に境界が存在する建物領域特定データが存在しないと判定した場合(ステップSd4、No)、線分特定データテーブル55を参照し、画像データ80の右の縁との距離が最短である「Corner」の種類の線分を検出する(ステップSd5)。
【0099】
図16(a)に示す画像データ80の場合、建物領域検出部57は、画像データ80の右の縁との距離が最短である「Corner」の種類の線分として、図16(b)に示す線分83cを検出する。建物領域検出部57は、検出した線分83cを画像データ80の上と下の縁まで伸長し、伸長した線分と、画像データ80の右の縁との間を建物の領域とする。建物領域検出部57は、当該建物の領域の頂点のXY座標系の座標データのいずれか1つの頂点の座標データを選択し、当該1つの頂点から、右回り、または、左回りに他の頂点の座標データを並べて、建物領域範囲データを生成する。当該建物領域範囲データを表示画面に表示すると、図16(c)の建物の領域95として表示されることになる。建物領域検出部57は、建物の領域95に対する建物領域IDを生成し、画像データ80の画像IDと、生成した建物領域IDと、生成した建物領域範囲データとを含む建物領域特定データを生成し、生成した建物領域特定データを内部の記憶領域に書き込んで記憶させる(ステップSd6)、その後、処理は、接続マークEが示すように、図15のフローチャートの処理が行われる。
【0100】
なお、図14に示すフローチャートにおいて、左右の順を入れ替えてもよい。すなわち、ステップSd4,Sd5,Sd6の処理を先に行い、その後に、ステップSd1,Sd2,Sd3の処理を行い、ステップSd4において「Yes」の判定がされた場合に、ステップSd1の処理を行い、ステップSd1において「Yes」の判定がされた場合に、接続マークEが示す処理、すなわち図15に示すフローチャートの処理が行われるようにしてもよい。
【0101】
また、図14に示すフローチャートでは、ステップSd2,Sd5において、建物領域検出部57は、線分特定データテーブル55を参照し、画像データ80の左、または、右の縁との距離が最短である「Corner」の種類の線分を検出するようにしている。これに対して、建物領域特定データの建物領域範囲データが示す建物の領域の境界に含まれなかった「Corner」の種類の線分が存在する場合、言い換えると、画像データ80の左右の縁で途切れている建物の画像が存在し、建物領域検出部57が検出した建物の領域の境界に含まれなかった「Corner」の種類の線分が存在する場合のみ、ステップSd3,Sd5の処理を行うようにしてもよい。
【0102】
(配置順を定めてセグメンテーションデータとの重複領域を検出する処理)
例えば、建物領域検出部57が、図16(a)に示す画像データ80から生成した建物領域特定データの建物領域範囲データに基づいて、建物81,82,83の各々に対応する建物の領域91,92,93を、先に検出した建物の領域を背後にして並べる処理を行ったとする。この場合、「Corner」の線分を画像データ80の下の縁まで伸長しているために、図20に示すように、建物81の建物の領域91の一部が、建物82の建物の領域92によって隠されてしまう状態になる。このような状態を回避するため、建物領域検出部57は、高さの低い建物の領域が前面になるように配置の順番を定める処理を行う。
【0103】
建物領域検出部57は、内部の記憶領域が記憶する建物領域特定データの建物領域範囲データの各々から、Y座標値が最も大きい値を検出する。建物領域検出部57は、検出した値を、検出元の建物領域範囲データによって示される建物の領域の高さとする(ステップSe1)。建物領域検出部57は、建物の領域の高さが高い建物の領域が背後になるように、建物領域特定データの配置の順番を定める。建物領域検出部57は、建物領域特定データの各々に対して定めた配置の順番を示すデータの各々を、各々に対応する建物領域特定データに付加する(ステップSe2)。
【0104】
画像データ80の場合に、配置の順番を示すデータが付加された建物領域特定データに含まれる建物領域範囲データを、配置順に表示画面に表示すると、図16(c)に示す建物の領域91~95が表示されることになる。
【0105】
建物領域検出部57は、配置の順番を示すデータを付加した建物領域特定データの画像IDと同一の画像IDに関連付けられているセグメンテーションデータを内部の記憶領域から読み出す。建物領域検出部57は、読み出したセグメンテーションデータと、配置の順番を示すデータを付加した建物領域特定データの建物領域範囲データの各々との重複領域を検出する。建物領域検出部57は、検出した重複領域を新たな建物領域範囲データとし、建物領域特定データの建物領域範囲データを、新たな建物領域範囲データに書き換える。建物領域検出部57は、新たな建物領域範囲データに書き換えた建物領域特定データを建物領域特定データ記憶部58の建物領域特定データテーブル59に書き込んで記憶させ(ステップSe3)、処理を終了する。
【0106】
新たな建物領域範囲データに書き換えられた建物領域特定データに含まれる建物領域範囲データを、表示画面に表示すると、図16(e)に示す建物の領域91A,92A,93Aが表示されることになる。
【0107】
なお、上記の実施形態では、建物領域検出部57は、図12のステップSb1の処理において示したように、未処理の線分であって「Corner」の種類の線分の中でXY座標系において最も左側に位置する線分を開始線分として選択するようにしているが、未処理の線分であって「Corner」の種類の線分の中で最も右側に位置する線分を開始線分として選択するようにしてもよい。ただし、この場合、ステップSc2の処理において、建物領域検出部57は、基準位置よりも左側に位置する他の端点であって、かつ画像データ80の上の縁、すなわちY軸の座標値が最大である他の端点であり、当該他の端点の線分の種類が「Corner」、または、「Top」である他の端点が存在するか否かを判定するようにする必要がある。
【0108】
また、建物領域検出部57は、図12のステップSb1の処理において、未処理の線分であって「Corner」の種類の線分の任意の線分を開始線分としてもよい。ただし、この場合、ステップSb3とステップSb10の判定処理において「Yes」と判定され、更に、ステップSc1において「上の縁」と判定された場合に、ステップSc2の判定処理において、探索する方向を特定することができないことになる。そのため、ステップSc1において「上の縁」と判定された場合、処理対象の開始線分と、当該開始線分に対して接続対象として選択した線分のみに対して、改めて、図12図13に示す処理を行うことになる。
【0109】
また、画像データの中に円錐や角錐の形状の建物の画像が含まれている場合、「Top」の種類の線分が存在しないことになる。このような形状の建物について、建物の領域を検出する場合、図12に示した処理を、「Corner」、「Corner」の並びも考慮した処理に変更する必要がある。この場合、例えば、図12のステップSb5において、「Top」の線分に加えて「Corner」の線分も判定対象とし、建物領域検出部57が、ステップSb6において、「Corner」の線分を接続対象の線分として選択した場合には、ステップSb12の処理に進めるような処理を行う必要がある。
【0110】
また、上記の実施形態では、建物領域検出部57は、「Center」の種類の線分を建物領域特定データに含めていないが、例えば、以下のようにして、「Center」の種類の線分の線分特定データを建物領域特定データに加えるようにしてもよい。例えば、建物領域特定データ記憶部58の建物領域特定データテーブル59に「Center」の線分のデータを書き込むための項目を追加する。建物領域検出部57は、図15のステップSe3の処理において、建物領域特定データを建物領域特定データテーブル59に書き込んだ後、「建物領域範囲」の項目に書き込まれている建物領域範囲データを1つずつ選択し、選択した建物領域範囲データに対応する画像IDに関連付けられている線分特定データであって、当該線分特定データによって示される線分の位置が、建物領域範囲データが示す範囲内に存在する「Center」の種類の線分を検出する。建物領域検出部57は、検出した線分に対応する線分特定データを、選択した建物領域範囲データに対応する建物領域特定データテーブル59の「Center」の線分のデータを書き込むための項目に書き込んで記憶させる。これにより、建物領域特定データを表示画面に表示した場合、「Center」の線分も表示させることができることになり、建物の外形をより正確に示すことが可能になる。
【0111】
また、上記の実施形態では、図16(b)に示したように、線分検出部53は、建物81と建物83の間に2つの「Corner」の種類の線分81e,83aを検出している。これに対して、建物81と建物83の高さがほぼ同一である場合、線分検出部53は、誤検出により1つの「Center」の線分として検出したり、1つの「Corner」の線分として検出したりすることも想定される。線分検出部53が1つの「Center」の線分として検出してしまった場合は、建物領域検出部57は、建物81と建物83の各々の領域を1つの建物の領域として検出することになる。ただし、この場合、上記のように「Center」の種類の線分の情報を建物領域特定データに加えることで、建物81の領域と、建物83の領域とを分けて表示することができる。
【0112】
これに対して、線分検出部53が、1つの「Corner」の線分として検出した場合、図12に示した処理では、建物83の建物の領域を検出することができず、また、図14の左右の空き領域を建物の領域として加える処理を行っても、建物83の領域を検出することができないことになる。これを回避するため、例えば、図12に示したステップSb1とステップSb13の処理における未処理の「Corner」の線分の定義を、開始線分として選択されていない「Corner」の種類の線分という定義に変更する。これにより、処理回数が増加することになるが、全ての「Corner」の種類の線分が、一度は、建物領域検出部57によって開始線分として選択されることになる。そのため、線分検出部53が建物81と建物83の間を1つの「Corner」の線分として誤検出した場合であっても、ステップSb5とステップSb8の未処理の線分の定義については変更せずにそのままにしておくことで、建物領域検出部57は、建物83の建物の領域を検出することができることになる。
【0113】
このように、「Corner」の線分を開始線分と選択した場合において、選択した「Corner」に接続する「Top」の線分を特定することが困難となる可能性がある。例えば、図4(b)に示す建物22と建物23Aのように、選択した「Corner」の線分を境界とする二つの建物の高さが異なる場合である。具体的には、建物22と建物23Aの間が1本の「Corner」、例えば、長い方の線分25eとして検出された場合、線分25eから、背後にある建物23Aの「Top」の線分26Abを近傍探索で検出することが困難となる可能性がある。この対策として、探索領域の縦方向の領域を、横方向と比較して、広い領域とする。例えば、建物領域検出部57は、「Corner」の線分の全長+αを、縦方向の検索領域とする。αは任意に決定されてよい。例えば、αは「Corner」の線分の全長の1/4の長さである。この場合、建物領域検出部57は、Corner」の線分の上側の頂点+α~下側の頂点までを検索する。一方、建物領域検出部57は、横方向については、探索領域をあまり広く取らないようにする。例えば、「Corner」の線分に対応する矩形領域の横幅の長さの約2.5[%]程度を、探索領域とする。
【0114】
なお、三つ以上の建物の境界が1本の「Corner」として検出される場合もあり得る。この場合、その1本の「Corner」に複数のTopが接続する可能性がある。本実施形態では、このようなケースを許容してそれぞれの建物の領域を特定する。
【0115】
また、図13に示すフローチャートでは、建物の上部に相当する領域が画像データの縁に接している場合の例外処理について説明した。これは、建物の左右の端に相当する領域が画像データの縁に接している場合にも適用することが可能である。具体的には、画像の左右の両端を、「Corner」とする。これにより、画像データの範囲内に、建物の左右の端が収まっていない場合において、その建物の領域を検出することが可能となる。
【0116】
一方、画像が見切れておらず、画像データの範囲内に、建物の左右の端が収まっている場合には、余分に建物領域が検出されてしまうこととなる。この余分に検出されてしまうことに対する対策として、後段のセマンティックセグメンテーションにより検出された建物領域と重複する領域のみ取り出す。これにより、余分に検出された領域を、最終的に除外することが可能である。
【0117】
また、上記した実施形態では、学習装置1と線分検出部53が備える関数近似器12は、図7に示したように、3つのニューラルネットワーク15-1,15-2,15-3を備えている。これに対して、関数近似器12は、入力画像データを取り込む入力層と、上記した線分種類データに対応する3個の出力層17a~17cと、矩形位置データ、矩形サイズデータ、及び線分位置データに対応する8個の18a~18hを有する1つの深層ニューラルネットワークを備えるようにしてもよい。
【0118】
学習装置1と線分検出部53が備える関数近似器12は、上流側のニューラルネットワーク15-1で画像データにおける建物の線分に係る特徴量を抽出し、抽出した特徴量を、分類問題(線分の種別を判定する問題)を解くニューラルネットワーク15-2、及び回帰問題(線分形状算出)を解くニューラルネットワーク15-3のそれぞれに入力する。これにより、最終的な出力結果として、検出数分の線分のクラス(「Corner」、「Top」、「Center」のいずれか)、及び、その線分の形状情報を推定した結果を出力できるようにする。
【0119】
また、上記した実施形態では、学習装置1と線分検出部53が備える関数近似器12が備える3つのニューラルネットワーク15-1,15-2,15-3の構成として、EfficientDetの深層ニューラルネットワークの構成を適用するとしているが、FasterRCNN(Region-based convolutional neural network)、RetinaNetなどの他の深層ニューラルネットワークの構成を適用するようにしてもよい。また、関数近似器12が、深層ニューラルネットワーク以外の他の機械学習の手段により実現されていてもよいし、パラメータを含んだ数式で示される関数で構成されてもよい。
【0120】
また、上記の実施形態において、学習装置1の訓練データに含まれる入力画像データと、撮像装置61が撮像する画像データとは、RGBの3チャネルを有するカラー画像データであるとしているが、建物のエッジを示す線分を検出することができる画像データであれば、CMYKの4チャネルのカラー画像データや、グレースケールの画像データや、2値の画像データなど他の形式の画像データを適用するようにしてもよい。
【0121】
上記の実施形態による建物領域検出装置50は、線分検出部53と、建物領域検出部57とを備える。線分検出部53は、学習済みの学習モデルデータを用いて、画像データ80に含まれる検出対象線分に関する情報を検出し、検出した検出対象線分ごとの線分特定データを生成する。学習済みの学習モデルデータは、学習装置1が生成する学習済みの学習モデルデータを適用した関数近似器12である。線分検出部53は、係る関数近似器12に対して、任意の画像データ80を与えることにより、検出対象線分に関する情報を検出する。検出対象線分に関する情報は、矩形位置データと、矩形サイズデータと、線分位置データと、線分種類データである。特定データは、検出した検出対象線分ごとの矩形位置データと、矩形サイズデータと、線分位置データと、線分種類データとを組み合わせたデータである。建物領域検出部57は、線分検出部53が生成する線分特定データに基づいて、画像データ80に含まれる個々の建物ごとの建物の領域を検出する。建物領域検出部57は、線分特定データに基づいて、建物の領域の境界を構成する線分であって接続関係にある線分を選択する。建物領域検出部57は、選択した線分を接続することにより建物の領域を検出する。これにより、画像データ80からエッジ検出により検出可能なエッジを示す線分の中から個々の建物の外形を示す線分を高い精度で検出し、検出した線分を用いて個々の建物の領域を検出することが可能になる。
【0122】
(地図データとのマッチング処理)
次に、図21図22を参照しつつマッチング装置70による処理について説明する。図21は、マッチング装置70による処理の流れを示すフローチャートである。マッチング装置70のマッチング処理部71は、例えば、利用者の操作を受けて、利用者が指定するいずれか1つの画像IDを取り込む。マッチング処理部71は、指定された画像IDに関連付けられている時刻データ及び画角を示すデータを履歴情報記憶部74から検出する。マッチング処理部71は、検出した時刻データ及び画角を示すデータを履歴情報記憶部74から読み出す(ステップSf1)。
【0123】
マッチング処理部71は、読み出した時刻データが示す時刻、すなわち、指定された画像IDに対応する画像データの画像が撮像装置61によって撮像された時刻に一致する時刻を示す時刻データに関連付けられている座標データを履歴情報記憶部74から検出し、検出した座標データを基準位置座標データとする。マッチング処理部71は、基準位置座標データを履歴情報記憶部74から読み出すとともに、当該基準位置座標データを基準として、過去に遡る時系列順において連続した座標データであって予め定められるn個の座標データを履歴情報記憶部74から読み出す。ここで、nは、2以上の整数値である。
【0124】
マッチング処理部71は、読み出した基準位置座標データが示す位置と、移動体60における位置検出装置62と撮像装置61の移動体60における配置の位置関係とに基づいて、指定された画像IDに対応する画像データが撮像された際の撮像装置61の位置を算出する。マッチング処理部71は、読み出した基準位置座標データと、n個の座標データとに基づいて、次式(1)により移動体60の進行方向を算出する(ステップSf2)。
【0125】
【数1】
【0126】
なお、式(1)において、dが進行方向であり、sが、基準位置座標データが示す位置である。sの添え字iは、基準位置座標データの時刻から近い時刻の順にn個の座標データの各々に1~nの番号を付した場合の番号であり、位置検出装置62の測定ステップの観点でみると、sは、基準位置座標データからみてiステップ前に検出された座標データである。また、式(1)において、w(n,i)=n-i+1である。
【0127】
マッチング処理部71は、移動体60の進行方向を示すデータdと、算出した撮像装置61の位置を示すデータと、読み出した撮像装置61の画角を示すデータとに基づいて、地図データ記憶部72が記憶する2.5次元の地図データから、2.5次元の地図データに含まれる建物の前後関係にしたがって、撮像装置61の投影面における地図画像データを生成する(ステップSf3)。
【0128】
ここで、図22を参照しつつ2.5次元の地図データから、2.5次元の地図データに含まれる建物の前後関係にしたがって、撮像装置61の投影面における地図画像データを生成する手法について説明する。図22において、符号120によって示す位置が撮像装置61の位置であり、以下、撮像装置61の位置120という。撮像装置61は、水平に設置されているものと仮定している。符号122-1によって示す線と、符号122-2によって示す線との成す角が、撮像装置61の画角であり、符号123によって示す位置が、撮像装置61の投影面の位置であり、以下、投影面123という。符号121の矢印によって示す方向が移動体60の進行方向であり、以下、進行方向121という。符号131,132,133,134によって示す形状が、2.5次元の地図データに含まれている建物のXY平面上での輪郭であり、以下、建物131,132,133,134という。
【0129】
例えば、建物131のみが存在すると仮定し、撮像装置61の位置120を中心として、建物131に対して見通しのある線のうち、進行方向121の線との成す角が最大になる見通し線と、進行方向121の線との成す角が最小になる見通し線とを描くと、それぞれ点線131-1と、点線131-2になる。同様に建物132,133,134の各々のみが存在すると仮定して、進行方向121の線との成す角が最大になる見通し線と、進行方向121の線との成す角が最小になる見通し線とを描くと、建物133については、2本の点線によって示す見通し線になり、建物132と建物134の各々については、2本の一点鎖線によって示す見通し線になる。
【0130】
建物の中心位置が、撮像装置61の位置120から近い方の建物から順に、すなわち、建物132、建物134、建物131、建物133の順に、各々の2本の見通し線の間の2.5次元画像を、投影面123を左右に伸長した直線上に上書き投影していく。上書き投影した画像のうち投影面123の部分のみを切り出すことにより、図22の吹き出しの図に示すような並びの画像が得られることになり、この画像のデータが、上記した地図画像データになる。
【0131】
図22の吹き出しの図において、建物132の投影画像の部分が一点鎖線で示す画像142であり、建物134の投影画像の部分が一点鎖線で示す画像144であり、建物131の投影画像の部分が点線で示す画像141であり、建物133の投影画像の部分が点線で示す画像143である。建物131の画像141は、建物132の画像142によって一部が遮られており、建物133の画像143は、建物134の画像144によって一部が遮られている。したがって、撮像装置61の位置120から投影面を参照すると、前後関係が正しい状態の建物131~134の画像を見ることができる。これにより、2.5次元の地図データから、建物131~134の前後関係が正しい状態の地図画像データを作成することができる。また、生成した地図画像データは、撮像装置61の投影面123における画像であり、当該画像の縮尺は、撮像装置61が撮像した画像データに含まれる画像の縮尺と同一になる。
【0132】
マッチング処理部71は、指定された画像IDに対応する全ての建物領域特定データを建物領域特定データ記憶部58の建物領域特定データテーブル59から読み出す(ステップSf4)。マッチング処理部71は、生成した地図画像データに対して、読み出した建物領域特定データに含まれる建物領域範囲データを座標位置が一致するように重ね合わせるマッチング処理を行う(ステップSf5)。地図画像データに対して建物領域範囲データを重ね合わせた画像データを表示画面に表示すると、地図画像データに示されている建物の画像に対して、個々の建物の領域の画像が重ねあわされて表示されることになる。
【0133】
上記の実施形態によるマッチングシステム200は、建物領域検出装置50と、撮像装置61と、位置検出装置62と、マッチング装置70とを備える。マッチング装置70は、地図データ記憶部72と、マッチング処理部71とを備える。地図データ記憶部72は、地図データを記憶する。地図データは、建物131~134の位置を示す位置データと、建物131~134の地平面上での形状を示す形状データと、建物131~134の高さを示す高さデータとを含む。マッチング処理部71は、位置検出装置62が検出する移動体60の位置を示すデータに基づいて、マッチング処理を行う。マッチング処理部71は、マッチング処理において、建物領域検出装置50の処理対象の画像データを生成するために撮像装置61が撮像した際の移動体60の進行方向を算出する。マッチング処理部71は、地図データ記憶部72が記憶する地図データから撮像装置61の投影面に投影される地図画像データを生成する。マッチング処理部71は、移動体60の進行方向を示すデータと、当該撮像が行われた際の移動体60の位置を示すデータと、当該撮像が行われた際の撮像装置61の画角を示すデータとに基づいて、建物131~134の前後関係が正しくなるように、地図画像データを生成する。マッチング処理部71は、生成した地図画像データと、建物領域検出装置50が画像データから検出する建物131~134の建物の領域とを重ね合わせることによりマッチング処理を行う。これにより、例えば、2.5次元の地図データから建物131~134の前後関係が正しい状態で、撮像装置61の投影面の位置における地図画像データを生成することができ、生成した地図画像データ上に、建物領域検出装置50が検出した建物131~134を重ね合わせて表示することが可能になる。それにより、位置検出装置62によって得られる移動体60の位置の精度を向上させたり、AR技術を用いて建物131~134の画像の上に広告を表示する際に、正確な位置に広告を表示したりすることが可能になる。
【0134】
上述した実施形態における学習装置1、建物領域検出装置50、及びマッチング装置70をコンピュータで実現するようにしてもよい。その場合、この機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することによって実現してもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD-ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含んでもよい。また上記プログラムは、前述した機能の一部を実現するためのものであってもよく、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであってもよく、FPGA(Field Programmable Gate Array)等のプログラマブルロジックデバイスを用いて実現されるものであってもよい。
【0135】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【0136】
1…学習装置、11…入力部、12…関数近似器、13…学習処理部、14…学習モデルデータ記憶部、15-1,15-2,15-3…ニューラルネットワーク、16…パラメータ取得部、200…マッチングシステム、50…建物領域検出装置、51…受信部、52…学習済み学習モデルデータ記憶部、53…線分検出部、54…線分特定データ記憶部、55…線分特定データテーブル、56…セマンティックセグメンテーション部、57…建物領域検出部、58…建物領域特定データ記憶部、59…建物領域特定データテーブル、60…移動体、61…撮像装置、62…位置検出装置、63…通信装置、70…マッチング装置、71…マッチング処理部、72…地図データ記憶部、73…受信部、74…履歴情報記憶部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21
図22