以下、本発明の実施の形態(以下実施形態という)について、図面に基づいて説明する。
図1は、実施形態である学習用データ生成システム2の概略の構成を示すブロック図である。学習用データ生成システム2は、上空から撮影した空中撮影画像に写った建物を認識する機械学習に用いる学習用データ(訓練データ)を生成する。学習用データ生成システム2は、演算処理装置4、記憶装置6、入力装置8及び出力装置10を含んで構成される。演算処理装置4として、本システムの処理を行う専用のハードウェアを作ることも可能であるが、本実施形態では演算処理装置4は、コンピュータ及び、当該コンピュータ上で実行されるプログラムを用いて構築される。
当該コンピュータのCPU(Central Processing Unit)が演算処理装置4を構成し、後述する窓画像抽出手段20、地図対応付け手段22、建物領域割合判定手段24及び学習用データ格納手段26として機能する。
記憶装置6はコンピュータシステムに内蔵されるハードディスクなどで構成される。記憶装置6は演算処理装置4を窓画像抽出手段20、地図対応付け手段22、建物領域割合判定手段24及び学習用データ格納手段26として機能させるためのプログラム及びその他のプログラムや、本システムの処理に必要な各種データを記憶する。例えば、記憶装置6は、学習用データの生成処理における入力データとして空中撮影画像30及び建物地図32を予め記憶する。また、記憶装置6は、本システムにより生成される学習用データ34を記憶する。
入力装置8はキーボード、マウスなどであり、ユーザが本システムへの操作を行うために用いる。
出力装置10は例えば、生成された学習用データをユーザに示すディスプレイ、プリンタや、学習用データを他のシステムへ出力するインターフェース装置である。
空中撮影画像30は、航空画像や衛星画像など、地表を上空から撮影した画像のデータであり、例えばオルソ画像である。空中撮影画像30は建物を認識する学習に用いる学習用データを生成するために用意され、建物が存在する領域の画像と建物が存在しない領域の画像とを含む。後述するように、学習用データは空中撮影画像30内の一部領域を切り出して生成される画像である。よって、基本的に空中撮影画像30は学習用データとする画像より広範囲を撮影した画像である。また、機械学習により生成されるモデルの精度を確保するためには多数の学習用データが必要となる。よって、空中撮影画像30として、生成する学習用データの数に応じて広い撮影面積の画像が用意される。なお、当該撮影面積は複数枚の空中撮影画像に分割することができ、本実施形態では空中撮影画像30は複数枚の空中撮影画像からなるものとする。
また、後述するように本実施形態では、建物に関する複数の種類ごとに学習用データを生成するので、空中撮影画像30を用意する際には、当該各種類の建物の画像が得られるようにすることが好適である。
建物地図32は地表における建物の存在領域が表示された地図データであり、具体的には、建物の位置及び平面形状の情報を与える。建物地図32は、教師あり学習に用いる学習用データを生成する際の正解データとして用いられる。そのため、建物地図32は基本的に、空中撮影画像30に撮影されている領域について用意される。建物地図32として既存の住宅地図等を用いることができる。また、建物に関する複数の種類ごとに学習用データを生成する場合には、建物地図32は各建物が当該複数の種類のいずれであるかを示す情報を含む。具体的には、本実施形態では、建物の複数の種類として、建物の大きさに関し「大(L)」、「中(M)」、「小(S)」の3サイズを設定することに対応し、建物地図32は各建物に当該サイズを対応付けて記憶する。なお、建物の大きさはここでは建築面積で定義するが、建物の高さや容積で定義してもよい。また、建物の種類は、木造と非木造といった建物の構造に関するものとすることもできる。
学習用データ34は、空中撮影画像30から切り出された画像である。ここで、空中撮影画像30内にて画像を切り出す領域を抽出窓と称し、当該領域から切り出される画像を窓画像と称する。つまり、学習用データ34は空中撮影画像30内に設定された抽出窓から切り出された窓画像である。また、記憶装置6は、学習用データ34として、当該窓画像に対応する位置の建物地図32を記憶する。
また、本実施形態では、学習用データ34は、Lサイズの建物用の学習用データDL、Mサイズの建物用の学習用データDM、Sサイズの建物用の学習用データDS、及び非建物領域用の学習用データDAに分類される。
窓画像抽出手段20は、記憶装置6から空中撮影画像30を読み出し、当該空中撮影画像30内に抽出窓を配置し、当該抽出窓内の画像を窓画像として切り出す。
抽出窓のサイズ、形状は予め定められる。例えば、抽出窓のサイズ、形状は、生成される学習用データ34を用いて行う機械学習に対応して設定することができる。
空中撮影画像30内にて互いに異なる複数の位置に抽出窓を設定して窓画像を切り出せば、1枚の空中撮影画像30から複数の学習用データを生成することができる。つまり、空中撮影画像30の枚数が少なくても多数の学習用データを生成できる。本実施形態では、窓画像抽出手段20は抽出窓の位置を空中撮影画像30内にてランダムに設定し、1枚の空中撮影画像30から複数の学習用データを得ることを可能にする。
地図対応付け手段22は、窓画像に建物地図32から切り出した地図データを対応付ける。ここで、切り出した当該地図データをパッチ地図と呼ぶことにする。例えば、窓画像抽出手段20にて窓画像の切り出しに用いたものと共通の抽出窓を建物地図32に設定して、窓画像と同じ位置の地図データを建物地図32から切り出しパッチ地図とする。
建物領域割合判定手段24は、地図対応付け手段22により切り出したパッチ地図を用いて、抽出窓内の所定部分における建物領域の割合を算出し、窓画像に対応する建物領域割合を求める。当該所定部分を算出対象領域と呼ぶことにすると、建物領域割合RBは算出対象領域における建物領域の面積SBを算出対象領域の面積S0で除した値(SB/S0)で定義することができる。なお、建物領域割合判定手段24はさらに、算出対象領域における建物が存在しない領域の割合(非建物領域割合)RAを算出してもよい。RAはRA=1−RBで求められる。
また、建物に関し複数の種類を設定し、建物領域割合RBは当該種類ごとに算出することができる。具体的には、本実施形態では、建物の複数の種類として、建物の大きさに関し上述のように3サイズを設定するので、建物領域割合判定手段24は、建物領域割合の算出対象領域内にてLサイズの建物が占める割合をLサイズ建物領域割合RLとして算出し、同様に、Mサイズ、Sサイズの建物についてMサイズ建物領域割合RM、Sサイズ建物領域割合RSを算出する。ここでは、建物地図32において任意の建物はL、M、Sサイズのいずれかに対応付けられているとし、従って、RL+RM+RS=RBである。
建物領域割合の算出対象領域とする抽出窓の所定部分は抽出窓の一部、全部のどちらであってもよい。例えば、CNN(Convolutional Neural Network)による機械学習の学習用データを生成する場合に、当該部分は抽出窓の中心に位置し、CNNの出力データのサイズに応じた大きさの矩形領域とすることができる。
学習用データ格納手段26は、複数切り出された窓画像を、建物領域割合に応じて予め定められた複数のクラスに分類し、記憶装置6に学習用データ34として格納する。例えば、建物領域割合判定手段24が建物の種類を区別せずに、建物領域割合として単一のRBのみを求める場合には、RBと、予め設定された閾値THBとの大小関係に基づいて、窓画像を2クラスに分類することができる。例えば、RB≧THBである窓画像は、「建物占有率が高い窓画像」というクラスに分類し、一方、RB<THB(又はRA>1−THB)である窓画像は、「建物占有率が低い窓画像」というクラスに分類することができる。
また、学習用データ格納手段26における複数のクラスは、建物領域割合判定手段24により算出される建物の種類ごとの建物領域割合に基づいて予め設定することができる。例えば、本実施形態では、建物領域割合RL,RM,RSに基づいて窓画像を4つのクラスに分類する。なお、本実施形態における具体的な分類については後述する。
学習用データ格納手段26は、クラスごとに学習用データの目標格納数を予め設定され、格納した窓画像の数が当該目標格納数に達したクラスについては窓画像の格納を停止する構成とすることができる。例えば、各クラスの目標格納数は同数とすることができる。この構成により、生成される学習用データの数についてクラス間での偏りを抑制することが可能となる。
図2は学習用データ生成システム2による学習用データの生成に関する概略の処理フロー図である。
窓画像抽出手段20は記憶装置6に記憶されている複数枚の空中撮影画像30からランダムに1枚選択する(ステップS5)。そして、窓画像抽出手段20は選択した空中撮影画像30内にてランダムな位置に抽出窓を設定し(ステップS10)、抽出窓内の画像を窓画像として切り出す(ステップS15)。一方、地図対応付け手段22は建物地図32から抽出窓に対応する位置の地図データをパッチ地図として切り出す(ステップS20)。
建物領域割合判定手段24はパッチ地図に示された建物の領域及びサイズに基づいて建物領域割合RL,RM,RSを算出する(ステップS25)。具体的には、算出対象領域の画像を構成するピクセルの数をS0とし、算出対象領域内のLMS各サイズの建物の領域のピクセル数をS0で除した値をRL,RM,RSとする。さらに、建物領域割合判定手段24は、RA=1−(RL+RM+RS)で与えられる非建物領域割合RAを算出してもよい。
ここで、算出対象領域は窓画像の一部分とすることができる。一例として、CNNへ入力される窓画像のサイズを64×64ピクセルとすると、CNNの出力のサイズはそれより小さい例えば16×16ピクセルとすることができ、建物領域割合の算出対象領域は当該出力に合わせて、パッチ地図の中心の16×16ピクセルとすることができる。
学習用データ格納手段26は、ステップS25にて算出されたRL,RM,RS,RAと、これら割合に関して予め設定された閾値THL,THM,THS,THAとを用いて、ステップS15にて抽出された窓画像を学習用データ34の4つのクラスに分類する。
まず、学習用データ格納手段26は、ステップS15にて抽出された窓画像の非建物領域割合RAが閾値THAより大きければ(ステップS30にて「YES」の場合)、当該窓画像は「建物占有率が低い窓画像」であるとし、学習用データDAとして収集するか否かを判断する(ステップS31)。学習用データ格納手段26は、学習用データDAの収集が未完了、つまり学習用データDAに既に格納されているデータ数が予め定めた目標格納数NA未満であれば(ステップS31にて「NO」の場合)、当該窓画像を学習用データDAとして記憶装置6に格納する(ステップS32)。
一方、学習用データ格納手段26は、ステップS30にて「NO」、又はステップS31にて「YES」と判定された窓画像、つまり学習用データDAに格納されなかった窓画像については、建物領域割合RSが閾値THSより大きければ(ステップS40にて「YES」の場合)、当該窓画像は「Sサイズの建物占有率が高い窓画像」であるとし、学習用データDSとして収集するか否かを判断する(ステップS41)。学習用データ格納手段26は、学習用データDSの収集が未完了、つまり学習用データDSに既に格納されているデータ数が予め定めた目標格納数NS未満であれば(ステップS41にて「NO」の場合)、当該窓画像を学習用データDSとして記憶装置6に格納する(ステップS42)。
同様に、学習用データ格納手段26は、ステップS40にて「NO」、又はステップS41にて「YES」と判定され学習用データDSに格納されなかった窓画像については、建物領域割合RMが閾値THMより大きければ(ステップS50にて「YES」の場合)、当該窓画像を学習用データDMとして収集するか否かを判断する(ステップS51)。学習用データ格納手段26は、学習用データDMの収集が未完了、つまり学習用データDMに既に格納されているデータ数が予め定めた目標格納数NM未満であれば(ステップS51にて「NO」の場合)、当該窓画像を学習用データDMとして記憶装置6に格納する(ステップS52)。
また、ステップS50にて「NO」、又はステップS51にて「YES」と判定され、学習用データDMに格納されなかった窓画像については、建物領域割合RLが閾値THLより大きければ(ステップS60にて「YES」の場合)、当該窓画像を学習用データDLとして収集するか否かを判断する(ステップS61)。学習用データDLの収集が未完了、つまり学習用データDLに既に格納されているデータ数が予め定めた目標格納数NL未満であれば(ステップS61にて「NO」の場合)、学習用データ格納手段26は当該窓画像を学習用データDLとして記憶装置6に格納する(ステップS62)。
なお、窓画像と、当該窓画像と共通の抽出窓で切り出されたパッチ地図とを対応付けて学習用データとし、記憶装置6に格納することができる。
このようにして、或る窓画像に対する学習用データ34のクラス分類が終わると、窓画像抽出手段20は、4クラスの学習用データDL,DM,DS,DAのデータ数が全てそれぞれの目標格納数NL,NM,NS,NAに達しているかを調べ、いずれかのクラスが目標格納数に達していなければ(ステップS70にて「NO」の場合)、ステップS5から処理を繰り返し、一方、全てのクラスが目標格納数に達していれば(ステップS70にて「YES」の場合)、学習用データの生成処理を終了する。
閾値THL,THM,THS,THAは、必要とされる学習用データ34の内容を考慮して設定することができる。例えば、閾値THL,THM,THS,THAは共通の値(例えば、0.2)とすることもできるし、異なる値とすることもできる。
また、建物領域割合を用いた学習用データ34の分類の仕方は上述の例には限られず、必要とされる学習用データ34の内容に応じて分類の条件、手順を設計することができる。例えば、上述の構成では窓画像が学習用データDA,DS,DM,DLの順に格納可能かを判断したが、この順序は変えることができる。また、例えば、窓画像のRL,RM,RS,RAのうち最大のものをRλ(λはL,M,S,Aのいずれか)と表すと、当該窓画像を学習用データDλに分類する構成とすることができ、また、当該窓画像を学習用データDλに格納するに際し、Rλが閾値THλより大きいことを条件として課す構成とすることもできる。
実施形態を用いて上に説明した本発明によれば、窓画像内の建物領域割合に応じて当該窓画像を複数のクラスに分類し、学習用データ34はクラスごとに振り分けて格納される。つまり、本発明によれば、学習用データの数をクラスごとに制御することができ、クラスごとに所望の数の学習用データを生成することができる。また、クラス間での学習用データの数の偏りをなくすこともできる。