(58)【調査した分野】(Int.Cl.,DB名)
【発明を実施するための形態】
【0010】
以下、本発明の実施の形態を図面に基づいて説明する。
図1は、本実施形態の建物形状設定装置及びコンピュータである処理装置1の機能構成を示すブロック図である。
【0011】
処理装置1は、通常のコンピュータ(PC)であってよい。処理装置1は、制御部11と、記憶部12と、入出力インターフェイス13(I/F)と、操作受付部14と、表示部15などを備える。
【0012】
制御部11は、各種演算処理を行うプロセッサであり、例えば、CPU(Central Processing Unit)などを備える。CPUは、記憶部12からプログラムなどを読み込んで実行することで各種制御処理を行う。
【0013】
記憶部12は、各種データを記憶するメモリである。メモリには、RAMと不揮発性メモリとが含まれる。RAMは、CPUに作業用のメモリ空間を提供し、一時データを記憶する。不揮発性メモリは、プログラム、設定データ及び建物抽出結果のデータなどを記憶保持する。不揮発性メモリとしては、フラッシュメモリが含まれ、あるいは、これに代えて又は加えてHDD(Hard Disk Drive)などが含まれてもよい。また、初期制御プログラムなどは、ROM(Read Only Memory)に格納されていてもよい。プログラムには、後述の建物抽出処理に係るプログラム121、及び当該プログラム121で用いられる学習済モデル122が含まれる。
【0014】
入出力インターフェイス13は、周辺機器と接続するための接続端子131及び外部機器との間で信号の送受信を行うための通信部132などを備える。周辺機器としては、大型の補助記憶装置、例えば、データベース装置21、並びにCDROM、DVD及びBlu−ray(登録商標)などの可搬型記憶媒体(光学ディスク)を読み取る光学読取装置22などが挙げられる。また、可搬型記憶媒体に磁気テープが含まれ、この磁気テープを読み取る読取装置が周辺機器に含まれてもよい。接続端子には、USB(Universal Serial Bus)など各種規格に応じたものが含まれてよい。あるいは、LAN(Local Area Network)などのネットワーク回線を介して通信部が外部から取得するものであってもよい。データベース装置21及び/又は可搬型記憶媒体に記憶されたデータには、学習済モデル122の生成に用いられる学習データ201及び教師データ202、並びに建物形状設定処理に係るプログラム121により建物を抽出する対象の撮影画像データ203などが含まれる。
【0015】
学習データ201及び撮影画像データ203は、上空から俯瞰して(見下ろして)撮影された航空写真及び衛星写真などの可視光画像(撮影画像)のデータである。これらのデータは、オルソ補正がなされた画像(オルソ画像)であってもよい。学習データ201は、建物のサイズからその数倍程度に撮影画像データ203が一部ずつに区切られたブロックデータである。教師データ202では、学習データ201の各画素における建物の有無(建物領域の内外)がそれぞれ2値で表現されている。
【0016】
操作受付部14は、例えば、キーボードやマウスなどの入力デバイスを備え、ユーザなど外部からの入力操作を受け付ける。入力デバイスには、タッチパネル(タッチセンサ)などが含まれていてもよい。
【0017】
表示部15は、制御部11の制御により表示画面にメニュー、ステータス及び処理結果などの表示を行わせる。表示画面は、特には限られないが、例えば、液晶表示画面である。操作受付部14がタッチパネルを有する場合には、表示画面は、当該タッチパネル(タッチセンサ)と重ねて設けられる。
【0018】
次に、建物形状の設定動作について説明する。
本実施形態の処理装置1では、学習済モデル122を用いて単位範囲(画素)ごとに建物である可能性(確率)を算出し、所定の基準値に基づいて建物領域であるか否かを判別して2値化抽出したのち、各建物領域に対してもっともらしい形状の輪郭線を設定して出力する。
【0019】
図2は、建物形状の設定動作についての機能フローを示す図である。
上空からの撮影画像データ203は、建物抽出部(PR1)において、学習済モデル122により特徴量抽出及び判定がなされ、画素(単位領域)ごとに建物領域であるか否かを2値で示す2値化建物マップ251が生成、出力される(PR1)。後述の建物抽出制御処理の内容は、建物抽出部(PR1)に含まれる。
【0020】
得られた2値化建物マップ251は、建物形状設定部(PR2)において、個々の建物領域(第2形状)の抽出(PR21)、及び抽出された建物領域を所定倍した建物領域と相似形状を有する拡張領域(第1形状)の設定(PR22)がなされる。それから、抽出された建物領域の形状(設定形状)が矩形近似部(PR23)で矩形の組み合わせにより決定(設定)される。また、矩形近似部(PR23)で精度よく適切な形状が得られない場合には、形状調整部(PR24)で別途従来周知の手法を用いて近似形状を得る。矩形近似部(PR23)又は形状調整部(PR24)で得られた建物形状により、元の建物領域の形状を設定変更し(PR25)、最終的な建物マップ252を得る。この建物マップ252は、例えば、家屋図及び/又は地形図などの建物表示に用いられ得る。後述の建物形状設定処理の内容は、建物形状設定部(PR2)に含まれる。特に、建物形状設定処理で呼び出される矩形近似処理(余分領域除去処理及び不足領域追加処理を含む)の内容が矩形近似部(PR23)に含まれる。
【0021】
学習済モデル122は、学習データ201及び教師データ202を用いて学習された建物の判別に係る機械学習モデルである。機械学習アルゴリズムとしては、従来の又は適宜改良された画像認識アルゴリズム、例えば、CNN(Convolutional Neural Network)などが用いられてよい。学習データ201を学習モデルに入力して推定した建物と教師データ202に示される建物の領域とを比較し、誤りを誤差逆伝播法により畳み込みに係るフィルタの係数及び全結合層の重み付け係数などにフィードバックすることで学習済モデル122が生成される。
【0022】
図3は、本実施形態の処理装置1で実行されるモデル学習処理の制御手順を示すフローチャートである。このモデル学習処理は、学習済モデル122を生成する処理の例である。
【0023】
モデル学習処理が開始されると、制御部11は、学習データ201から各々小型建物1件分程度の範囲に区切られた学習用画像ブロックデータを取得する(ステップS201)。制御部11は、畳み込み処理など、学習済モデル122において設計(設定)されているアルゴリズムに基づいて特徴量の抽出を行う(ステップS202)。制御部11は、全結合処理など、予め設定(設計)されたアルゴリズムに基づいて特徴量から建物領域の確率分布を取得する判定処理を行う(ステップS203)。すなわち、学習用画像ブロックデータの各画素について、建物領域内である確率が各々求められる。
【0024】
制御部11は、教師データ202を取得し、ステップS203で得られた結果と比較して損失関数を算出する(ステップS204)。制御部11は、損失関数を誤差逆伝播法などにより畳み込みのフィルタに係る各係数や全結合に係る重み付け係数などにフィードバックさせて、各係数を更新する(ステップS205)。
【0025】
制御部11は、学習データ201に含まれる全ての画像ブロックデータが取得されたか否かを判別する(ステップS206)。取得されていないと判別された場合には(ステップS206で“NO”)、制御部11の処理は、ステップS201に戻る。取得されたと判別された場合には(ステップS206で“YES”)、制御部11は、学習済モデル122を確定し、記憶部12に記憶させる(ステップS207)。そして、制御部11は、モデル学習処理を終了する。
【0026】
なお、学習済モデル122は、制御部11が処理装置1内でこのモデル学習処理を実行することで生成される必要はなく、処理装置1の外部で生成されたものが取得されて記憶部12に記憶されてもよい。
【0027】
図4は、処理装置1で実行される建物抽出制御処理の制御部11による制御手順を示すフローチャートである。
建物抽出制御処理が開始されると、制御部11は、建物抽出対象の画像データを取得し、学習済モデル122に入力する(ステップS301)。画像データの対象エリアが広い場合には、エリア全体を一度に入力する必要はなく、所定の画素範囲などが設定されて順次入力されてよい。
【0028】
制御部11は、学習済モデル122で畳み込みなどの処理を行って特徴量の抽出を行う(ステップS302)。制御部11は、得られた特徴量データ(特徴マップ)に対し、全結合などによる判定処理を行い、各単位領域(画素)について建物である確率を算出した建物判定マップを生成する(ステップS303)。制御部11は、建物判定マップを所定の基準値で2値化して、2値化マップを生成する(ステップS304)。
【0029】
制御部11は、全ての画像(エリア)のデータが学習済モデル122に入力されたか否かを判別する(ステップS305)。入力されていないと判別された場合には(ステップS305で“NO”)、制御部11の処理は、ステップS301に戻る。すべての画像(エリア)のデータが入力されたと判別された場合には(ステップS305で“YES”)、制御部11は、建物抽出制御処理を終了する。
なお、この建物抽出制御処理も、処理装置1の外部で実行されて、得られた2値化データのみが処理装置1に入力されてもよい。
【0030】
このように、建物領域を特定してからその境界を定める場合、特に、学習済モデルを用いて建物の領域を抽出した場合には、影、光の反射及び樹木などの影響で、境界付近で建物である確率が漸減しやすく、所定の基準値で建物か否かを判別すると、建物の境界が不規則な曲線状となるなど、建物として不自然な形状になりやすい。処理装置1では、このような建物領域の境界を矩形の組み合わせにより表される多角形で近似(ポリゴン近似)する。
【0031】
図5及び
図6は、建物形状の矩形近似の例を示す図である。
図5(a)には、学習済モデル122により抽出された建物領域の例を示す。建物領域C1は、上述のように、不自然に曲がっていたり、特に、角が丸まっていたりする場合がある。
【0032】
この建物領域C1に外接する(応じた)矩形R1を設定形状の初期値として特定し(
図5(b))、この矩形の直交する二辺がデータ処理上の2軸、ここでは、縦軸と横軸に平行になるように回転処理される(
図5(c))。これは、以降の処理の簡素化のための処理である。
【0033】
建物領域C1(第2形状)を所定の基準で拡張(拡大)した拡張領域CE1(第1形状)を設定する(
図5(d))。拡張は、例えば、建物領域C1と拡張領域CE1のサイズの差、ここでは具体的には、重心位置を固定して外周長が、元の長さの所定の係数倍(例えば、1〜5%程度の延長)された長さとなるように、すなわち、建物領域のサイズに応じてなされる。このときに、拡張によるサイズの増加、例えば、外周長(実際の長さ)の延長距離が所定の基準値未満の場合には、当該延長が基準値となるように拡大率を変更する。すなわち、小さい建物の拡張量の絶対値が小さすぎないように拡張量の下限値が定められる。一方で、大きい建物をそのサイズに応じて拡大することで、後述の処理により当該建物の各辺が不自然に複雑な形状になるのを抑制する。
【0034】
拡張領域CE1と矩形R1(設定形状)とを比較して、矩形R1の内側かつ拡張領域CE1の外側となる領域(差異)に外接する矩形O1、O2を設定する(
図5(e);矩形により特定)。なお、このとき、矩形O1、O2の面積を算出して、下限基準面積未満の場合には、矩形の設定を解除してもよい。そして、矩形O1、O2をもとの矩形R1から除去した(取り除いた)領域R2を定める(
図5(f);第1処理)。
【0035】
次に、元のサイズの建物領域C1と領域R2(設定形状)とを比較して、領域R2の外側かつ建物領域C1の内側となる領域(差異)に外接する矩形I1、I2を設定する(
図5(g);矩形により特定)。このうち、例えば、矩形I2のサイズが下限基準面積未満の場合には、矩形I2の設定が解除されて矩形I1のみが領域R2に追加された領域R3が設定される(
図5(h);第2処理)。
【0036】
この領域R3が再び拡張領域CE1と比較されて、領域R3の内側かつ拡張領域CE1の外側の領域に外接する矩形O3が設定され、当該矩形O3が領域R3から除去された領域R4が定められる(
図6(a)、(b))。更に、領域R4と元の建物領域C1とが比較されて、領域R4の外側かつ建物領域C1の内側となる領域に外接する矩形I3が設定され、当該矩形I3が領域R4に追加されて、多角形状(ポリゴン)の建物領域R5が得られる(
図6(c))。これらの除去及び追加の処理は、ここでは交互に2回ずつ示したが、適宜な回数(複数回)、例えば、3回繰り返して行うことができる。また、固定回数の繰り返しだけでなく、対象の建物領域C1の複雑さに応じて繰り返し回数を可変としてもよい。
【0037】
得られた建物領域R5(
図6(d))は、最初の建物領域C1に対する回転角度分だけ逆回転されて(
図6(e))、最終的な(より適切な)建物外形C2の位置(向きを含む)及び形状が決定される。
【0038】
図7は、本実施形態の処理装置1で実行される建物形状設定処理の制御部11による制御手順を示すフローチャートである。
【0039】
建物形状設定処理が開始されると、制御部11は、学習済モデル122により得られた2値化データを取得する(ステップS401)。制御部11は、2値化データから未確定の建物領域を1つ抽出する(ステップS402)。
【0040】
制御部11は、後述の矩形近似処理を呼び出して実行する(ステップS403)。制御部11は、矩形近似処理で得られた建物の設定形状と、抽出された元の建物領域の形状との近似度を算出する(ステップS404)。近似度としては、ここでは例えば、IoU(Intersection over Union;Jaccard係数ともいう)が用いられる。
【0041】
制御部11は、得られた近似度が所定の基準値以上であるか否かを判別する(ステップS405)。所定の基準値以上ではない(未満である)と判別された場合には(ステップS405で“NO”)、制御部11は、他の手法で建物領域の形状(輪郭)の直線近似を行う(ステップS411)。ここでは、制御部11は、周知の方法、例えば、Douglas-Peucker法(アルゴリズム)を用いて境界をなす画素位置配列のうち細かい凹凸を削除する。それから、制御部11の処理は、ステップS406へ移行する。ステップS405の判別処理で、近似度が所定の基準値以上であると判別された場合には(ステップS405で“YES”)、制御部11の処理は、ステップS406へ移行する。
【0042】
ステップS406の処理へ移行すると、制御部11は、得られている建物形状を確定して、保持されている元の建物領域の形状から変更する(ステップS406)。制御部11は、変更確定された建物形状のデータ(大きさ、向き及び位置を含む)を建物マップデータに追加する(ステップS407)。
【0043】
制御部11は、2値化データ内のすべての建物領域の抽出が終了したか否かを判別する(ステップS408)。終了していないと判別された場合には(ステップS408で“NO”)、制御部11の処理は、ステップS402へ戻る。終了したと判別された場合には(ステップS408で“YES”)、制御部11は、建物形状設定処理を終了する。
【0044】
図8は、建物形状設定処理で呼び出される矩形近似処理の制御手順を示すフローチャートである。矩形近似処理が呼び出されると、制御部11は、抽出された建物領域の外接矩形を定め、定められた外接矩形を建物の設定形状の初期値とする(ステップS501;初期形状設定手段)。
【0045】
制御部11は、抽出されている建物領域と外接矩形とを処理上の座標系に合わせて回転させる(ステップS502)。すなわち、制御部11は、外接矩形の隣り合う2辺が直交する2軸(X軸、Y軸)にそれぞれ平行となるように回転角度を設定して回転処理させる。
【0046】
制御部11は、抽出されている建物領域の拡張領域を設定する(ステップS503;比較形状設定手段)。制御部11は、例えば、建物領域の外周長(又は所定の(最長など)対角線など)を所定倍して拡張領域(第1形状)を生成し、外周長が所定の基準値以上延長されたか否かを判別する。基準値以上延長されている場合には、生成された拡張領域がそのまま設定される。基準値以上延長されていない場合には、制御部11は、当該所定の基準値だけ延長されるように拡大率を変更して拡張領域を定める。元の建物領域はそのまま他方の比較形状(第2形状)とされる。
【0047】
制御部11は、変数iに「1」を設定する(ステップS504)。制御部11は、余分領域除去処理を呼び出して実行する(ステップS505;第1処理)。制御部11は、不足領域追加処理を呼び出して実行する(ステップS506;第2処理)。これらステップS505、S506の処理がまとめて本実施形態の処理装置1(プログラム121)における整形手段としての動作である。制御部11は、変数iの値が「3」であるか否かを判別し(ステップS507)、変数iの値が「3」ではないと判別された場合には(ステップS507で“NO”)、制御部11は、変数iに「1」を加算して処理をステップS505に戻す。
【0048】
変数iの値が「3」であると判別された場合には(ステップS507で“YES”)、制御部11は、ステップS502で回転させた分だけ反対向きに設定形状を回転させて戻す(ステップS511)。制御部11は、建物データに得られた設定形状の位置情報を記憶させる(ステップS512)。それから、制御部11は、矩形近似処理を終了して処理を建物形状設定処理に戻す。
【0049】
図9は、矩形近似処理で呼び出される(a)余分領域除去処理及び(b)不足領域追加処理の制御手順を示すフローチャートである。
【0050】
図9(a)に示すように、余分領域除去処理が開始されると、制御部11は、拡張領域と設定形状とを重ねて(ステップS561)、設定形状の内側かつ拡張領域の外側の領域の外接矩形を設定する(ステップS562)。外接矩形は一つである必要はなく、設定形状内で離隔した複数の領域に対して各々設定されてよい。
【0051】
制御部11は、設定された外接矩形の面積がそれぞれ所定の基準値(下限基準面積)未満であるか否かを判別する(ステップS563)。基準値未満であると判別された場合には(判別された外接矩形がある場合には)(ステップS563で“YES”)、制御部11は、当該基準値未満の面積の外接矩形の設定を解除する(ステップS564)。それから、制御部11の処理は、ステップS565に移行する。面積が基準値未満ではないと判別された場合には(ステップS563で“NO”)、制御部11の処理は、ステップS565に移行する。
【0052】
ステップS565の処理に移行すると、制御部11は、外接矩形として設定されている部分を設定形状から除去する(ステップS565)。そして、制御部11は、余分領域除去処理を終了して、処理を矩形近似処理に戻す。
【0053】
また、
図9(b)に示すように、不足領域追加処理が開始されると、制御部11は、建物領域と設定形状とを重ねて(ステップS571)、設定形状の外側にある建物領域の部分の外接矩形を設定する(ステップS572)。外接矩形は、設定形状の外側で離隔した複数の建物領域の部分ごとに各々設定されてよい。
【0054】
制御部11は、設定された外接矩形の面積がそれぞれ所定の基準値(下限基準面積)未満であるか否かを判別する(ステップS573)。基準値未満であると判別された場合には(判別された外接矩形がある場合には)(ステップS573で“YES”)、制御部11は、当該基準値未満の面積の外接矩形の設定を解除する(ステップS574)。それから、制御部11の処理は、ステップS575に移行する。面積が基準値未満ではないと判別された場合には(ステップS573で“NO”)、制御部11の処理は、ステップS575に移行する。
【0055】
ステップS575の処理に移行すると、制御部11は、外接矩形として設定されている部分を設定形状に追加する(ステップS575)。そして、制御部11は、不足領域追加処理を終了して、処理を矩形近似処理に戻す。
【0056】
以上のように、建物形状設定装置としての本実施形態の処理装置1は、制御部11を備える。制御部11は、初期形状設定手段として、上空からの撮影画像から抽出された建物領域に応じた矩形を建物領域の設定形状の初期値として定める。制御部11は、比較形状設定手段として、建物領域と相似の形状として、第1形状(拡張領域)及び当該第1形状よりも小さい第2形状(建物領域と同サイズ)を定める。制御部11は、整形手段として、設定形状内での第1形状との差異を当該差異部分の外接矩形により定めて、設定形状から取り除く余分領域除去処理と、設定形状外に突出した第2形状との差異を外接矩形により定めて設定形状に追加する不足領域追加処理と、により多角形状の設定形状を得る。
これにより、建物形状として不自然な曲線状の輪郭を排除し、矩形の組み合わせで建物らしいより適切な形状を容易な処理で得ることができる。
【0057】
また、制御部11は、整形手段として、余分領域除去処理及び不足領域追加処理を交互に複数回繰り返して行う。実際の建物に凹凸がある場合、一度の処理ではこれらの形状が表現しきれない。また、建物に、矩形の配置方向に対して斜めの輪郭線がある場合には、一度の処理では大雑把な凹部又は凸部になりすぎるので、複数回繰り返すことで、より適切に本来の輪郭に沿った直線的で自然な輪郭の建物形状を得ることができる。
【0058】
また、第2形状は、建物領域と同サイズであり、第1形状(拡張領域)は、建物領域を拡張した図形である。このように、画像解像度以上の範囲で画像の処理を行うことで精度を低下させることなく、縮小する場合に生じ得る本来の建物領域の外形形状の細かい構造の潰れを避けることができる。また、一方の形状は建物領域と同一でよいので処理が容易である。
【0059】
また、第1形状(拡張領域)及び第2形状(建物領域)のサイズ(外周長)の差は、建物領域のサイズに基づいて定められる。すなわち、建物領域が大きいほど第1形状と第2形状のサイズ(外周長)の差が大きくなるので、建物の輪郭の各辺の長さに比して不自然な凹凸を生じにくく、より自然かつ妥当な建物形状を得ることが可能になる。
【0060】
また、建物形状設定処理に係るプログラム121より、処理装置1(コンピュータ)の制御部11にソフトウェア的に上記処理を行わせることで、特別なハードウェアを用いず、容易な処理で多くの建物の形状をより適切に定めることができる。
【0061】
なお、本発明は、上記実施の形態に限られるものではなく、様々な変更が可能である。
例えば、上記実施の形態では、2値化建物マップで得られる建物領域及びその拡張領域を設定形状と比較して建物形状を設定したが、これに限られない。比較対象の2つの領域が建物領域と同程度の相似の形状であって互いに異なるサイズであればよい。例えば、建物領域とその縮小領域を用いて、上記よりもやや小さめの建物領域を設定したり、建物領域の拡張領域と縮小領域を用いて平均的な建物領域を設定したりしてもよい。いずれの場合でも2つの領域のサイズの差が2値化マップで得られる建物領域のサイズ(外周長)に応じて(ここでは、建物領域の外周長に対して所定の比で)定められればよい。特に、建物の輪郭にあまり細かい凹凸構造が存在しない又は考慮する必要がない場合などには、これらの比較形状が有効である。
【0062】
あるいは、2つの比較対象の領域のサイズの差(外周長の差など)は、所定の下限値で固定されてもよい。また、サイズの差は、外周長の差ではなく、最大幅又は面積(画素数)などで定められてもよい。
【0063】
また、上記実施の形態では、建物の設定形状の初期値として建物領域の外接矩形を設定したが、これに限るものではない。例えば、建物領域の内接矩形を初期形状として定めてもよい。また、このように本来の建物サイズよりも小さい初期形状を定める場合、この初期形状に不足領域を追加する処理を先に行った後に余分領域を削除する処理を行ってもよい。
【0064】
また、上記実施の形態では、機械学習により得られた学習モデルを用いて得られた建物領域の形状の設定を行う場合を例に挙げて説明したが、入力される建物領域は、学習モデルを用いて得られたものに限られない。他の方法で得られた建物領域であってもよい。また、入力される建物領域のデータは、輪郭線のみであってもよい。
【0065】
また、上記実施の形態では、余分領域の除去と不足領域の追加は、それぞれ対応する建物領域の外接矩形によって行われたが、厳密に外接矩形でなくてもよく、多少調整、変更されてもよい。
【0066】
また、上記実施の形態では、入力画像の画素単位(単位範囲ごと)で建物であるか否かが2値化され、当該2値化により得られた画像に対して矩形近似を行うこととしたが、入力画像の所定の画素数を単位範囲として、それぞれ建物有無の判別がなされてもよい。
【0067】
また、プログラム121によるソフトウェア的な処理の一部が専用のハードウェアなどによりなされてもよい。
【0068】
また、上記実施の形態では、プログラム121が記憶部12の不揮発性メモリ又はHDDなどに記憶されるものとして説明したが、これに限られない。プログラム121は、CDROM、DVD、又はBlu−rayなどの光学ディスクといった可搬型記憶媒体に記憶されてよい。また、本発明に係るプログラムのデータを通信回線を介して提供する媒体として、キャリアウェーブ(搬送波)も本発明に適用される。
その他、上記実施の形態で示した構成、処理手順及び内容などの具体的な細部は、本発明の趣旨を逸脱しない範囲において適宜変更可能である。
【解決手段】建物形状設定装置は、上空からの撮影画像から抽出された建物領域に応じた矩形を建物領域の設定形状の初期値として定める初期形状設定手段と、建物領域と相似の形状として、第1形状及び第1形状よりも小さい第2形状を定める比較形状設定手段と、設定形状と第1形状との差異を矩形により定めて設定形状から取り除く第1処理と、設定形状と第2形状との差異を矩形により定めて設定形状に追加する第2処理と、により多角形状の前記設定形状を得る整形手段と、を備える。