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

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

▶ 日本電気株式会社の特許一覧

特許7485200画像拡張装置、制御方法、及びプログラム
<>
  • 特許-画像拡張装置、制御方法、及びプログラム 図1
  • 特許-画像拡張装置、制御方法、及びプログラム 図2
  • 特許-画像拡張装置、制御方法、及びプログラム 図3
  • 特許-画像拡張装置、制御方法、及びプログラム 図4
  • 特許-画像拡張装置、制御方法、及びプログラム 図5
  • 特許-画像拡張装置、制御方法、及びプログラム 図6
  • 特許-画像拡張装置、制御方法、及びプログラム 図7
  • 特許-画像拡張装置、制御方法、及びプログラム 図8
  • 特許-画像拡張装置、制御方法、及びプログラム 図9
  • 特許-画像拡張装置、制御方法、及びプログラム 図10
  • 特許-画像拡張装置、制御方法、及びプログラム 図11
  • 特許-画像拡張装置、制御方法、及びプログラム 図12
  • 特許-画像拡張装置、制御方法、及びプログラム 図13
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-05-08
(45)【発行日】2024-05-16
(54)【発明の名称】画像拡張装置、制御方法、及びプログラム
(51)【国際特許分類】
   G06T 1/00 20060101AFI20240509BHJP
   G06T 7/00 20170101ALI20240509BHJP
   G06V 10/82 20220101ALI20240509BHJP
【FI】
G06T1/00 285
G06T7/00 640
G06V10/82
【請求項の数】 10
(21)【出願番号】P 2023507352
(86)(22)【出願日】2020-08-13
(65)【公表番号】
(43)【公表日】2023-10-24
(86)【国際出願番号】 JP2020030813
(87)【国際公開番号】W WO2022034678
(87)【国際公開日】2022-02-17
【審査請求日】2023-02-01
(73)【特許権者】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】100103894
【弁理士】
【氏名又は名称】家入 健
(72)【発明者】
【氏名】ロドリゲス ロイストン
(72)【発明者】
【氏名】谷 真宏
【審査官】橋爪 正樹
(56)【参考文献】
【文献】特開2016-062524(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06T 1/00
G06T 7/00- 7/90
G06V 10/82
(57)【特許請求の範囲】
【請求項1】
上画像と空撮画像が含まれるオリジナル訓練データセットを取得する第1取得手段と
円形又は正多角形の対象領域が前記空撮画像からクロップされるクロップ処理と前記空撮画像が回転される回転処理が含まれる画像拡張を前記空撮画像に対して実行することで拡張空撮画像を生成する生成手段と
前記地上画像と前記拡張空撮画像が含まれる拡張訓練データセットを取得する第2取得手段と、を有し、
前記対象領域の形状が正多角形である場合、前記回転の角度は前記対象領域の中心角の倍数である、画像拡張装置。
【請求項2】
前記画像拡張は、形状がそれぞれ異なる複数の対象領域をクロップすることで複数の前記拡張空撮画像を生成することをさらに含み、
前記拡張訓練データセットの出力は、前記拡張空撮画像がそれぞれ異なる複数の前記拡張訓練データセットを出力することを含む、請求項1に記載の画像拡張装置。
【請求項3】
前記画像拡張は、回転の角度がそれぞれ異なる複数の前記拡張空撮画像を生成することをさらに含み、
前記拡張訓練データセットの出力は、前記拡張空撮画像がそれぞれ異なる複数の前記拡張訓練データセットを出力することを含む、請求項1又は2に記載の画像拡張装置。
【請求項4】
前記画像拡張は、前記クロップ処理及び前記回転処理の後、削除されたピクセルを画像インペインティングによって補うことで、前記空撮画像と同じサイズの前記拡張空撮画像を生成することをさらに含む、請求項1から3いずれか一項に記載の画像拡張装置。
【請求項5】
前記画像拡張は、前記地上画像に対してサークルシフトを実行することで、拡張地上画像を生成することをさらに含み、
前記拡張訓練データセットは、前記拡張地上画像と前記拡張空撮画像を含む、請求項1から4いずれか一項に記載の画像拡張装置。
【請求項6】
地上画像と空撮画像が含まれるオリジナル訓練データセットを取得し、
円形又は正多角形の対象領域が前記空撮画像からクロップされるクロップ処理と前記空撮画像が回転される回転処理が含まれる画像拡張を前記空撮画像に対して実行することで拡張空撮画像を生成し、
記地上画像と前記拡張空撮画像が含まれる拡張訓練データセットを取得すること、を含
前記対象領域の形状が正多角形である場合、前記回転の角度は前記対象領域の中心角の倍数である、コンピュータによって実行される制御方法。
【請求項7】
前記画像拡張は、形状がそれぞれ異なる複数の対象領域をクロップすることで複数の前記拡張空撮画像を生成することをさらに含み、
前記拡張訓練データセットの出力は、前記拡張空撮画像がそれぞれ異なる複数の前記拡張訓練データセットを出力することを含む、請求項6に記載の制御方法。
【請求項8】
前記画像拡張は、回転の角度がそれぞれ異なる複数の前記拡張空撮画像を生成することをさらに含み、
前記拡張訓練データセットの出力は、前記拡張空撮画像がそれぞれ異なる複数の前記拡張訓練データセットを出力することを含む、請求項6又は7に記載の制御方法。
【請求項9】
前記画像拡張は、前記クロップ処理及び前記回転処理の後、削除されたピクセルを画像インペインティングによって補うことで、前記空撮画像と同じサイズの前記拡張空撮画像を生成することをさらに含む、請求項6から8いずれか一項に記載の制御方法。
【請求項10】
地上画像と空撮画像が含まれるオリジナル訓練データセットを取得し、
円形又は正多角形の対象領域が前記空撮画像からクロップされるクロップ処理と前記空撮画像が回転される回転処理が含まれる画像拡張を前記空撮画像に対して実行することで拡張空撮画像を生成し、
記地上画像と前記拡張空撮画像が含まれる拡張訓練データセットを取得すること、をコンピュータに実行させ、
前記対象領域の形状が正多角形である場合、前記回転の角度は前記対象領域の中心角の倍数である、プログラム
【発明の詳細な説明】
【技術分野】
【0001】
本開示は全体として、画像マッチング、特に、地上画像と空撮画像とのマッチングに関する。
【背景技術】
【0002】
グラウンド・トゥー・エアリアル・クロスビューマッチング(地上画像と空撮画像のマッチング)を行うシステムが開発されている。例えば、非特許文献1は、比較すべき地上画像と空撮画像から特徴量を抽出するための CNN(Convolutional Neural Network)のセットを開示している。具体的には、一つの CNN が、地上画像とそれに対応する方向情報を取得して、地上画像と方向情報が含まれる混合信号から結合特徴量を算出する。他方の CNN が、空撮画像とそれに対応する方向情報を取得して、空撮画像と方向情報が含まれる混合信号から結合特徴量を算出する。そして、算出された結合特徴量に基づいて、地上画像が空撮画像とマッチするか否かを判定する。
【0003】
正確なグラウンド・トゥー・エアリアル・クロスビューマッチングを行うために、識別器には、多くの訓練データセットで訓練されることが求められる。画像拡張は、訓練データセットの数を増やす一つの方法である。非特許文献2は、空撮画像の数を増やす技術を開示しており、その中では、オリジナルの空撮画像を回転させることで拡張空撮画像が生成される。
【先行技術文献】
【非特許文献】
【0004】
【文献】Liu Liu 及び Hongdong Li、「Lending Orientation to Neural Networks for Cross-view Geo-localization」、Computer Research Repository、arXiv:1903.12351、2019年3月29日
【文献】Sijie Zhu、Taojiannan Yang、及び Chen Chen、「Revisiting Street-to-Aerial View Image Geo-localization and Orientation Estimation」、Computer Research Repository、arXiv:2005.11592、2020年5月23日
【発明の概要】
【発明が解決しようとする課題】
【0005】
非特許文献2において、拡張空撮画像は、元の空撮画像の視認可能な辺を含む。これらの視認可能な辺は、元の方向を推測するために利用できる。そのため、非特許文献2に開示されている画像拡張方法によって拡張空撮画像が生成された場合、拡張空撮画像に含まれる元の空撮画像の視認可能な辺を利用するように識別器が訓練される可能性があり、拡張訓練データにオーバーフィットしてしまう結果となる。非特許文献1は、画像拡張について言及していない。
【0006】
本開示の目的は、識別器が拡張訓練データにオーバーフィットすることを避けつつ、識別器の訓練のために空撮画像の数を増やす技術を提供することである。
【課題を解決するための手段】
【0007】
本開示の画像拡張装置は、少なくとも一つのプロセッサと、命令が格納されている記憶要素とを有する。前記少なくとも一つのプロセッサは、前記命令を実行することにより、地上画像とオリジナル空撮画像が含まれるオリジナル訓練データセットを取得し、クロップ処理と回転処理が含まれる画像拡張を前記オリジナル空撮画像に対して実行することで拡張空撮画像を生成し、前記クロップ処理は、円形又は正多角形の対象領域が前記オリジナル空撮画像からクロップされる処理であり、前記回転処理は、前記オリジナル空撮画像が回転される処理であり、前記対象領域の形状が正多角形である場合、前記回転の角度は前記対象領域の中心角の倍数であり、前記地上画像と前記拡張空撮画像が含まれる拡張訓練データセットを取得する。
【0008】
本開示の制御方法は、コンピュータによって実行される。当該制御方法は、地上画像とオリジナル空撮画像が含まれるオリジナル訓練データセットを取得し、クロップ処理と回転処理が含まれる画像拡張を前記オリジナル空撮画像に対して実行することで拡張空撮画像を生成し、前記クロップ処理は、円形又は正多角形の対象領域が前記オリジナル空撮画像からクロップされる処理であり、前記回転処理は、前記オリジナル空撮画像が回転される処理であり、前記対象領域の形状が正多角形である場合、前記回転の角度は前記対象領域の中心角の倍数であり、前記地上画像と前記拡張空撮画像が含まれる拡張訓練データセットを取得すること、を含む。
【0009】
本開示の非一時的なコンピュータ可読媒体は、プログラムを格納している。当該プログラムは、地上画像とオリジナル空撮画像が含まれるオリジナル訓練データセットを取得し、クロップ処理と回転処理が含まれる画像拡張を前記オリジナル空撮画像に対して実行することで拡張空撮画像を生成し、前記クロップ処理は、円形又は正多角形の対象領域が前記オリジナル空撮画像からクロップされる処理であり、前記回転処理は、前記オリジナル空撮画像が回転される処理であり、前記対象領域の形状が正多角形である場合、前記回転の角度は前記対象領域の中心角の倍数であり、前記地上画像と前記拡張空撮画像が含まれる拡張訓練データセットを取得すること、をコンピュータに実行させる。
【発明の効果】
【0010】
本開示によれば、識別器が拡張訓練データにオーバーフィットすることを避けつつ、識別器の訓練のために空撮画像の数を増やす技術を提供することができる。
【図面の簡単な説明】
【0011】
図1図1は、実施形態1の画像拡張装置によって生成される訓練データを利用して訓練される識別器を表す図である。
図2図2は、実施形態1の画像拡張装置の概要を表す図である。
図3図3は、クロップせずにオリジナル空撮画像を回転させることで新たな空撮画像が生成されるケースを表す。
図4図4は、円形の対象領域を回転させることで拡張空撮画像が生成されるケースを表す。
図5図5は、正多角形の対象領域を回転させることで拡張空撮画像が生成されるケースを表す。
図6図6は、実施形態1の画像拡張装置の機能構成の例を表すブロック図である。
図7図7は、画像拡張装置を実現するコンピュータのハードウエア構成の例を示すブロック図である。
図8図8は、実施形態1の画像拡張装置によって実行される処理の流れの例を表すフローチャートである。
図9図9は、画像処理部によって実行される画像拡張の流れの例を表すフローチャートである。
図10図10は、ニューラルネットワークで実装される識別器の基本的な構造を表す。
図11図11は、識別器が含まれるジオローカライゼーションシステムを示す。
図12図12は、拡張空撮画像を生成するための画像インペインティングを表す。
図13図13は、地上画像に対して行われるサークルシフトを例示する図である。
【発明を実施するための形態】
【0012】
以下、本開示に係る実施形態について、図面を参照しながら説明する。複数の図を通して同じ要素には同じ符号が付され、冗長な説明は必要に応じて省略される。
【0013】
実施形態1
<概要>
実施形態1の画像拡張装置は、識別器の訓練に用いられる訓練データセットを生成する。図1は、実施形態1の画像拡張装置2000によって生成される訓練データを利用して訓練される識別器を表す図である。識別器10は、地上画像と空撮画像との間のマッチング(いわゆる、グラウンド・トゥー・エアリアル・クロスビューマッチング)を行う。地上画像は、或る場所のグラウンドビューを含む画像である。例えば、地上画像は、歩行者や車から撮像される。地上画像は、パノラマ(360°の画角)であってもよいし、限られた画角(360°未満)であってもよい。空撮画像は、或る場所の平面視が含まれる画像である。例えば、空撮画像は、ドローン、飛行機、又は人工衛星などから撮像される。具体的には、識別器10は、地上画像と空撮画像を取得し、取得した地上画像と取得した空撮画像とがマッチするか否かを判定する。ここで、「地上画像と空撮画像とがマッチする」とは、地上画像の撮像が行われた場所が空撮画像に含まれていることを意味する。
【0014】
図2は、実施形態1の画像拡張装置2000の概要を表す図である。画像拡張装置2000は、地上画像42とオリジナル空撮画像44を含むオリジナル訓練データセット40を取得する。次に、画像拡張装置2000は、オリジナル空撮画像44に対して画像拡張を行い、拡張空撮画像54を生成する。さらに、画像拡張装置2000は、地上画像52と拡張空撮画像54を含む新たな訓練データセット(以下、拡張訓練データセット50)を生成し、拡張訓練データセット50を出力する。地上画像52は地上画像42と同じである。すなわち、地上画像42がそのまま地上画像52として利用されるか、又は、地上画像42をコピーすることで地上画像52が生成される。上述した画像拡張手法により、画像拡張装置2000は、識別器10の訓練のための訓練データセットの数を増加させる。
【0015】
オリジナル空撮画像44に対する画像拡張は、次の2つの処理を含む。1)クロップ処理と、2)回転処理である。ここで、これら2つの処理の実行順序は任意である。
【0016】
クロップ処理において、画像拡張装置2000は、オリジナル空撮画像44から対象領域をクロップする。対象領域の形状は、円又は正多角形(正方形、正五角形、又は正六角形など)であることが好ましい。回転処理において、画像拡張装置2000は、オリジナル空撮画像44を或る角度回転させる。以下、拡張空撮画像54を生成するためにオリジナル空撮画像44が回転される角度は、「回転角度」と表現される。ここで、回転処理の前にクロップ処理が行われる場合、画像拡張装置2000は、オリジナル空撮画像44の対象領域を回転させてもよい。
【0017】
対象領域の形状が円又は正多角形であることが好ましい理由は、拡張空撮画像54において視認できるオリジナル空撮画像44の辺を、元の方向(オリジナル空撮画像44の方向)の推測に利用するように、識別器10が訓練されることを避けるためである。図3は、クロップせずにオリジナル空撮画像44を回転させることで新たな空撮画像が生成されるケースを表す。この場合、オリジナル空撮画像44の辺が、新たな空撮画像に含まれている。そのため、それらの辺に基づいて元の方向を推測できる。
【0018】
一方、円形の対象領域を回転させることで拡張空撮画像54が生成される場合、円は辺を持たないため、識別器10にとって、元の方向を推測することが難しい。図4は、円形の対象領域を回転させることで拡張空撮画像54が生成されるケースを表す。この場合、回転角度にかかわらず、元の方向を推測することが難しい。そのため、画像拡張装置2000は、対象角度を任意の角度回転させうる。
【0019】
正多角形の対象領域を回転させることで拡張空撮画像54が生成される場合、回転角度は正多角形の種類に依存する。具体的には、回転角度は、対象領域の中心角の倍数となる。例えば、N個の頂点を持つ対象領域(すなわち、正N角形)の回転角度θは、以下の式を満たす必要がある。
【数1】
【0020】
図5は、正多角形の対象領域を回転させることで拡張空撮画像54が生成されるケースを表す。図5に示されるように、回転角度が、正多角形の対象領域の中心角の倍数である場合、拡張空撮画像54において視認できるオリジナル空撮画像44の辺に基づいて、空撮画像の方向の変化を把握することはできない。そのため、拡張空撮画像54において視認できるオリジナル空撮画像44の辺を、元の方向の推測に利用するように、識別器10が訓練されることを回避することができる。
【0021】
画像拡張装置2000は、識別器10の訓練に拡張訓練データセット50を利用できる態様で、拡張訓練データセット50を出力する。例えば、識別器10の訓練に利用される訓練データセットが格納される記憶装置に、拡張訓練データセット50が格納される。
【0022】
<作用効果の例>
実施形態1の画像拡張装置2000によれば、クロップ処理と回転処理によって拡張空撮画像が生成される。オリジナル空撮画像44からクロップされる対象領域が円形又は正多角形であるため、拡張空撮画像54は、元の方向を推測できる手がかりを含まない。よって、識別器10が拡張訓練データにオーバーフィットすることを防ぐことができる。
【0023】
以下、画像拡張装置2000についてより詳細な説明が記載される。
【0024】
<機能構成の例>
図6は、実施形態1の画像拡張装置2000の機能構成の例を表すブロック図である。画像拡張装置2000は、取得部2020、画像処理部2040、及び出力部2060を有する。取得部はオリジナル訓練データセット40を取得する。画像処理部2040は、オリジナル空撮画像44に対して画像拡張処理を実行する。画像拡張処理は、1)円形又は正多角形の対象領域がオリジナル空撮画像44からクロップされるクロップ処理と、2)オリジナル空撮画像44が回転される回転処理とを含む。対象領域の形状が正多角形である場合、回転角度は対象領域の中心角の倍数である。出力部2060は、拡張訓練データセット50を出力する。
【0025】
<画像拡張装置2000のハードウエア構成の例>
画像拡張装置2000は、1つ以上のコンピュータで実現されうる。それら1つ以上のコンピュータのそれぞれは、画像拡張装置2000を実現するために作成された専用のコンピュータであってもよいし、パーソナルコンピュータ(PC: Personal Computer)、サーバマシン又はモバイルデバイスなどの汎用のコンピュータであってもよい。画像拡張装置2000は、コンピュータにアプリケーションをインストールすることで実現されうる。そのアプリケーションは、コンピュータを画像拡張装置2000として機能させるプログラムで実現される。言い換えれば、そのプログラムは、画像拡張装置2000の機能構成部を実装したものである。
【0026】
図7は、画像拡張装置2000を実現するコンピュータ1000のハードウエア構成の例を示すブロック図である。図7において、コンピュータ1000は、バス1020、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120を有する。
【0027】
バス1020は、プロセッサ1040、メモリ1060、ストレージデバイス1080、入出力インタフェース1100、及びネットワークインタフェース1120が相互にデータの送信及び受信をするためのデータ通信路である。プロセッサ1040は、CPU(Central Processing Unit)、GPU(Graphics Processing Unit)、又は FPGA(Field-Programmable Gate Array)などといったプロセッサである。メモリ1060は、RAM(Random Access Memory)又は ROM(Read Only Memory)などの主記憶要素である。ストレージデバイス1080は、ハードディスク、SSD(Solid State Drive)、又はメモリカードなどの補助記憶要素である。入出力インタフェース1100は、コンピュータ1000と周辺デバイス(キーボード、マウス、又はディスプレイデバイスなど)との間のインタフェースである。ネットワークインタフェース1120は、コンピュータ1000とネットワークとの間のインタフェースである。ネットワークは、LAN(Local Area Network)でもよいし、WAN(Wide Area Network)でもよい。
【0028】
ストレージデバイス1080は、前述したプログラムを格納しうる。プロセッサ1040は、訓練装置2000の各機能構成部を実現するためにそのプログラムを実行する。さらに、ストレージデバイス1080はオリジナル訓練データセット40を格納しうる。
【0029】
コンピュータ1000のハードウエア構成は、図7に示される構成に限定されない。
例えば、前述したように、画像拡張装置2000は複数のコンピュータで実現されうる。この場合、それらのコンピュータは、ネットワークを介して互いに接続されうる。
【0030】
<処理の流れ>
図8は、実施形態1の画像拡張装置2000によって実行される処理の流れの例を表すフローチャートである。取得部2020はオリジナル訓練データセット40を取得する(S102)。画像処理部2040はオリジナル空撮画像44に対して画像拡張を行って、拡張空撮画像54を生成する(S104)。出力部2060は拡張訓練データセット50を出力する(S106)。
【0031】
図9は、画像処理部2040によって実行される画像拡張の流れの例を表すフローチャートである。画像処理部2040は、オリジナル空撮画像44に対してクロップ処理を行って、対象領域を得る(S202)。画像処理部2040は、対象領域に対して回転処理を行う(S204)。上記2つのステップの結果として、回転された対象領域が、拡張空撮画像54として得られる。なお、前述した通り、回転処理の後にクロップ処理が行われてもよい。さらに、後に詳述するように、クロップ処理と回転処理の後に何らかの後処理が行われてもよい。
【0032】
<識別器10の詳細>
識別器10は、地上画像と空撮画像を取得して、地上画像と空撮画像とがマッチするか否かを判定する。この判定は様々な態様で実現されうる。例えば、識別器10は、地上画像の特徴量と空撮画像の特徴量とを抽出し、地上画像の特徴量と空撮画像の特徴量との類似度を算出する。算出された類似度が高い(例えば、所定の閾値以上である)場合、地上画像と空撮画像がマッチすると判定される。一方、算出された類似度が低い(例えば、所定の閾値未満である)場合、地上画像と空撮画像がマッチしないと判定される。
【0033】
識別器10の実装には様々なものがありうる。例えば識別器10は、1つ以上のニューラルネットワークで構成されうる。識別器10の具体的な実装の例としては、非特許文献1に開示されているシャムネットワークが利用されうる。
【0034】
図10は、ニューラルネットワークで実装される識別器10の基本的な構造を表す。識別器10は、抽出ネットワーク12、抽出ネットワーク14、及び判定ネットワーク16を有する。抽出ネットワーク12は、地上画像を取得し、地上画像について1つ以上の特徴マップを生成し(すなわち、地上画像の特徴量を抽出し)、生成された特徴マップを出力するニューラルネットワークである。抽出ネットワーク14は、空撮画像を取得し、空撮画像について1つ以上の特徴マップを生成し(すなわち、空撮画像の特徴量を抽出し)、生成された特徴マップを出力するニューラルネットワークである。
【0035】
地上画像の特徴マップと空撮画像の特徴マップは、判定ネットワーク16に入力される。判定ネットワーク16は、入力された特徴マップを解析し、地上画像と空撮画像がマッチするか否かを表すデータ(例えばフラグ)を出力する。
【0036】
<<識別器10のアプリケーションの例>>
識別器10のアプリケーションには様々なものがある。例えば識別器10は、画像ジオローカライゼーションを行うシステム(以下、ジオローカライゼーションシステム)の一部として利用することができる。画像ジオローカライゼーションは、入力された画像の撮像場所を特定する技術である。ここで、ジオローカライゼーションシステムはあくまで、識別器10のアプリケーションの一例であり、識別器10のアプリケーションは、ジオローカライゼーションシステムの中で利用されるものに限定されない。
【0037】
図11は、識別器10が含まれるジオローカライゼーションシステム20を示す。ジオローカライゼーションシステム20は、識別器10及び位置データベース30を含む。位置データベース30は、それぞれに位置情報が付加された複数の空撮画像を含む。位置情報の例は、対応する空撮画像の撮像場所の GPS(Global Positioning System)座標でありうる。
【0038】
ジオローカライゼーションシステム20は、クライアント(例えばユーザ端末)から地上画像を含むクエリを受信し、受信したクエリに含まれる地上画像とマッチする空撮画像を位置データベース30から探索し、これによって地上画像の撮像場所を特定する。具体的には、クエリに含まれる地上画像にマッチする空撮画像が検出されるまで、ジオローカライゼーションシステム20は、「位置データベース30から空撮画像を1つ取得し、地上画像と取得した空撮画像を識別器10に入力し、識別器10からの出力が、地上画像と空撮画像とがマッチすることを示しているか否かを判定する。」という処理を繰り返すこうする。こうすることで、ジオローカライゼーションシステム20は、地上画像の撮像場所が含まれる空撮画像を見つけることができる。検出された空撮画像が GPS 座標などの位置情報に対応づけられているため、ジオローカライゼーションシステム20は、地上画像の撮像場所が、地上画像にマッチする空撮画像に対応づけられている位置情報によって示されている場所であると把握できる。
【0039】
なお、ジオローカライゼーションシステム20は、図7に示されているコンピュータなどのような任意の1つ以上のコンピュータで実現されうる。
【0040】
<訓練データの取得:S102>
取得部2020は、オリジナル訓練データセット40を取得する(S102)。前述したように、オリジナル訓練データセットは、地上画像42及びオリジナル空撮画像44を含む。以下、訓練データセットを取得する方法の例が説明される。
【0041】
オリジナル訓練データセットは、正例であってもよいし、負例であってもよい。前者は、地上画像42とオリジナル空撮画像44がマッチするデータセットであり、後者は、地上画像42とオリジナル空撮画像44がマッチしないデータセットである。
【0042】
例えば取得部2020は、取得部2020からアクセス可能な記憶装置(以下、画像記憶装置)から、地上画像と空撮画像を取得し、取得した地上画像と取得した空撮画像が含まれるオリジナル訓練データセット40を生成する。例えば、画像記憶装置は、複数の地上画像と空撮画像を予め格納している。画像記憶装置内の各画像は、その画像の撮像場所の位置情報と対応づけられている。前述したように、位置情報の例は GPS 座標である。
【0043】
画像拡張装置2000は、画像記憶装置から任意の地上画像を取得する。取得部2020が正例を生成する場合、取得部2020は、取得した地上画像の位置情報によって表される場所と同じ又は十分に近い場所を表す位置情報を持つ空撮画像を取得する。なお、「或る場所が他の場所と十分に近い」とは、それらの場所(GPS 座標など)の間の距離が所定の閾値以下であることを意味する。そして、取得部2020は、取得した地上画像と取得した空撮画像が含まれるオリジナル訓練データセット40を生成する。
【0044】
一方で、取得部2020が負例を生成する場合、取得部2020は、取得した地上画像の位置情報によって表される場所とは異なる場所を表す位置情報を持つ空撮画像を取得する。なお、「或る場所が他の場所とは異なる」とは、それらの場所(GPS 座標など)が同一でないか、又は、それらの場所の間の距離が所定の閾値より大きいことを意味する。そして、取得部2020は、取得した地上画像と、取得した空撮画像と、地上画像と空撮画像がマッチしないことを表す情報(例えばフラグ)とが含まれるオリジナル訓練データセット40を生成する。
【0045】
取得部2020は、画像記憶装置に格納されている地上画像と空撮画像との可能なペアそれぞれについて、オリジナル訓練データセット40を生成しうる。そして、取得したオリジナル訓練データセット40それぞれについて、拡張訓練データセット50が生成される。しかしながら、取得部2020は、画像記憶装置に格納されている画像の全てを利用する必要はない。
【0046】
なお、オリジナル訓練データセット40が正例と負例のどちらであるのかを把握できるように、オリジナル訓練データセット40は、地上画像42とオリジナル空撮画像44がマッチするか否かを表すラベルをさらに含むことが好ましい。
【0047】
取得部2020は、必ずしもオリジナル訓練データセット40を生成する必要はなく、オリジナル訓練データセットは、画像記憶装置に予め用意されていてもよい。この場合、取得部2020は、1つ以上のオリジナル訓練データセット40を画像記憶装置から取得する。そして、取得された各オリジナル訓練データセット40について拡張訓練データセット50が生成される。
【0048】
<クロップ処理:S202>
画像処理部2040は、オリジナル空撮画像44から対象領域をクロップする(S202)。対象領域の形状は、予め定義されうる。例えば、画像処理部2040は、対象領域の形状が指定されている形状情報を取得し、形状情報で指定されている形状の対象領域をオリジナル空撮画像44からクロップする。なお、オリジナル空撮画像44の中に含まれ、かつ、指定された形状を持つ最も大きい領域を、対象領域としてクロップすることが好ましい。これにより、識別器10の訓練に、オリジナル空撮画像44の特徴を可能な限り多く利用することができる。
【0049】
形状情報は、複数の形状を指定しうる。この場合、画像処理部2040は、形状情報で指定される各形状について対象領域をクロップする。例えば、形状情報が「円形」と「正五角形」を示す場合、画像処理部2040は、オリジナル空撮画像44から、円形の対象領域と五角形の対象領域をクロップする。
【0050】
<回転処理:S204>
画像処理部2040は回転処理を実行する(S204)。以下、対象領域が円形であるケースと、対象領域が正多角形であるケースについて、回転処理の詳細が説明される。
【0051】
<<円形の対象領域>>
対象領域の形状が円形である場合、画像処理部2040は、対象領域の任意の角度回転させうる。例えば、画像処理部2040は、0より大きく360より小さいランダムな角度を取得し、対象領域を当該ランダムな角度回転させる。言い換えれば、0より大きく360より小さいランダムな数が、回転角度として利用される。その他にも例えば、画像処理部2040は、回転角度を指定する情報(以下、角度情報)を取得する。この場合、画像処理部2040は、対象領域を、角度情報で指定される角度回転させる。
【0052】
画像処理部2040は、1つの対象領域を用いて、回転角度がそれぞれ異なる複数の拡張空撮画像54を生成しうる。例えば画像処理部2040は、対象領域を90°、180°、及び270°それぞれ回転させることにより、拡張空撮画像A1、A2、及びA3を生成しうる。画像処理部2040がランダムな角度を利用する場合、画像処理部2040は、生成されるべき拡張空撮画像44の数を指定する情報を取得し、当該指定された数のランダムな角度を取得し、取得したランダムな角度のそれぞれに基づいて拡張空撮画像54を生成しうる。一方、画像処理部2040が角度情報を利用する場合、画像処理部2040は、複数の回転角度を指定する角度情報を取得し、指定された回転角度のそれぞれについて拡張空撮画像54を生成しうる。
【0053】
<<正多角形の対象領域>>
対象領域の形状が正多角形である場合、回転角度は式(1)を満たす。例えば画像処理部2040は、ランダムな整数rを取得し、rを式(1)のMに入力する。これにより、回転角度θが得られる。rは、1以上かつ対象領域の頂点の数より小さい。そして、画像処理部2040は、対象領域を、取得した回転角度θ回転させる。その他にも例えば、画像処理部2040は、回転角度を指定する角度情報を取得する。角度情報は、式(1)を満たす回転角度を指定するように予め生成される。
【0054】
前述したように、画像処理部2040は、1つの対象領域を用いて、回転角度がそれぞれ異なる複数の拡張空撮画像54を生成しうる。画像処理部2040がランダムな数を利用する場合、画像処理部2040は、生成されるべき拡張空撮画像54の数を示す情報を取得し、指定された数だけ、1以上かつ対象領域の頂点の数より小さいランダムな数を取得し、ランダムな数をそれぞれ式(1)に入力する。これにより、指定された数の回転角度が得られる。画像処理部2040が角度情報を利用する場合、画像処理部2040は、それぞれが式(1)を満たす複数の角度を指定する角度情報を取得しうる。
【0055】
<後処理>
画像処理部2040は、拡張空撮画像54を生成するためにクロップ処理と回転処理を行った後、何らかの後処理をしうる。例えば、画像処理部2040は、回転された対象領域に対してパディング処理を行うことで、オリジナル空撮画像44と同数のピクセルを持つ拡張空撮画像54を生成しうる。例えば、図3から図6において、クロップ処理と回転処理の結果としてピクセルが削除された空撮画像の一部分は、黒のピクセルで埋められている。なお、図示を容易にするため、図3から図6は、黒のピクセルで埋められた領域をドット模様で表している。また、ピクセルが削除された空撮画像の一部分のピクセルの色は、黒に限定されない。
【0056】
負例が生成される場合、画像処理部2040は、オリジナル空撮画像44と同数のピクセルを持つ拡張空撮画像54を生成するために、前述したパディング処理の代わりに画像インペインティングを実行しうる。図12は、拡張空撮画像54を生成するための画像インペインティングを表す。この場合、画像処理部2040は、回転された対象領域の周囲の部分を画像インペインティングで生成する。
【0057】
<拡張訓練データセットの出力:S106>
画像拡張装置2000は、拡張訓練データセット50を出力する(S106)。出力部2060が正例のオリジナル訓練データセット40から拡張訓練データセット50を生成する場合、出力部2060は、地上画像42、拡張空撮画像54、及び地上画像と空撮画像がマッチすることを表すラベルが含まれる拡張訓練データセット50を生成する。一方、出力部2060が負例のオリジナル訓練データセット40から拡張訓練データセット50を生成する場合、出力部2060は、地上画像42、拡張空撮画像54、及び地上画像と空撮画像がマッチしないことを表すラベルが含まれる拡張訓練データセット50を生成する。なお、複数の拡張空撮画像54が生成される場合、出力部2060は、複数の拡張空撮画像54のそれぞれについて拡張訓練データセット50を生成する。
【0058】
拡張訓練データセット50は、任意の態様で出力されうる。例えば、出力部2060は、拡張訓練データセット50を記憶装置に格納したり、識別器10を訓練する装置へ拡張訓練データセット50を送信したりしうる。
【0059】
<さらなる特徴>
画像処理部2040は、オリジナル空撮画像44だけでなく、地上画像42に対しても画像処理を行いうる。例えば、地上画像42が360°の画角を持つ場合、出力部2060は、地上画像42に対してサークルシフト処理を行いうる。図13は、地上画像に対して行われるサークルシフトを例示する図である。この場合、出力部2060は、地上画像42を90°左へサークルシフトする。これにより、地上画像42とは方向が異なる地上画像52が生成される。
【0060】
サークルシフトの角度が回転処理の回転角度と同一である必要があるか否かは、識別器10によって行われるグラウンド・トゥー・エアリアル・クロスビューマッチングの種類に依存する。具体的には、グラウンド・トゥー・エアリアル・クロスビューマッチングは2種類に分類される。第1の種類のグラウンド・トゥー・エアリアル・クロスビューマッチングでは、地上画像と空撮画像の位置と方向の双方が同一である場合のみ、地上画像と空撮画像がマッチすると判定される。第2の種類のグラウンド・トゥー・エアリアル・クロスビューマッチングでは、地上画像と空撮画像の位置が同じであれば、それらの方向にかかわらず、地上画像と空撮画像がマッチすると判定される。
【0061】
第1の種類のグラウンド・トゥー・エアリアル・クロスビューマッチングが実行されるように識別器10を訓練すべきである場合、正例の訓練データセットは、互いの方向が同一である地上画像と空撮画像を含まなければならない。そのため、正例の訓練データセットが生成される場合、サークルシフトの角度は回転処理の回転角度と同一でなければならない。一方、第2の種類のグラウンド・トゥー・エアリアル・クロスビューマッチングが実行されるように識別器10を訓練すべきである場合、正例の訓練データセットは、互いの方向が異なる地上画像と空撮画像を含むことが許容される。そのため、正例の訓練データセットが生成される場合であっても、サークルシフトの角度は、回転処理の回転角度と同一である必要がない。
【0062】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体(non-transitory computer readable medium)を用いて格納され、コンピュータに提供することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体(tangible storage medium)を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体(例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ)、光磁気記録媒体(例えば、光磁気ディスク)、CD-ROM、CD-R、CD-R/W、半導体メモリ(例えば、マスク ROM、PROM(Programmable ROM)、EPROM(Erasable PROM)、フラッシュROM、RAM)を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体(transitory computer readable medium)によってコンピュータに提供されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【0063】
実施形態を参照して本開示について説明されているが、本開示は上述した実施形態に限定されない。発明の範囲内で、当業者が理解できる種々の変形を本開示の構成や詳細に対して行うことができる。
【0064】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
(付記1)
少なくとも一つのプロセッサと、命令が格納されている記憶要素とを有し、
前記少なくとも一つのプロセッサは、前記命令を実行することにより、
地上画像とオリジナル空撮画像が含まれるオリジナル訓練データセットを取得し、
クロップ処理と回転処理が含まれる画像拡張を前記オリジナル空撮画像に対して実行することで拡張空撮画像を生成し、前記クロップ処理は、円形又は正多角形の対象領域が前記オリジナル空撮画像からクロップされる処理であり、前記回転処理は、前記オリジナル空撮画像が回転される処理であり、前記対象領域の形状が正多角形である場合、前記回転の角度は前記対象領域の中心角の倍数であり、
前記地上画像と前記拡張空撮画像が含まれる拡張訓練データセットを取得する、画像拡張装置。
(付記2)
前記画像拡張は、形状がそれぞれ異なる複数の対象領域をクロップすることで複数の前記拡張空撮画像を生成することをさらに含み、
前記拡張訓練データセットの出力は、拡張空撮画像がそれぞれ異なる複数の前記拡張訓練データセットを出力することを含む、付記1に記載の画像拡張装置。
(付記3)
前記画像拡張は、回転の角度がそれぞれ異なる複数の前記拡張空撮画像を生成することをさらに含み、
前記拡張訓練データセットの出力は、拡張空撮画像がそれぞれ異なる複数の前記拡張訓練データセットを出力することを含む、付記1又は2に記載の画像拡張装置。
(付記4)
前記画像拡張は、前記クロップ処理及び前記回転処理の後、削除されたピクセルを画像インペインティングによって補うことで、前記オリジナル空撮画像と同じサイズの前記拡張空撮画像を生成することをさらに含む、付記1から3いずれか一項に記載の画像拡張装置。
(付記5)
前記画像拡張は、前記オリジナル地上画像に対してサークルシフトを実行することで、拡張地上画像を生成することをさらに含み、
前記拡張訓練データセットは、前記拡張地上画像と前記拡張空撮画像を含む、付記1から4いずれか一項に記載の画像拡張装置。
(付記6)
地上画像とオリジナル空撮画像が含まれるオリジナル訓練データセットを取得し、
クロップ処理と回転処理が含まれる画像拡張を前記オリジナル空撮画像に対して実行することで拡張空撮画像を生成し、前記クロップ処理は、円形又は正多角形の対象領域が前記オリジナル空撮画像からクロップされる処理であり、前記回転処理は、前記オリジナル空撮画像が回転される処理であり、前記対象領域の形状が正多角形である場合、前記回転の角度は前記対象領域の中心角の倍数であり、
前記地上画像と前記拡張空撮画像が含まれる拡張訓練データセットを取得すること、を含む、コンピュータによって実行される制御方法。
(付記7)
前記画像拡張は、形状がそれぞれ異なる複数の対象領域をクロップすることで複数の前記拡張空撮画像を生成することをさらに含み、
前記拡張訓練データセットの出力は、拡張空撮画像がそれぞれ異なる複数の前記拡張訓練データセットを出力することを含む、付記6に記載の制御方法。
(付記8)
前記画像拡張は、回転の角度がそれぞれ異なる複数の前記拡張空撮画像を生成することをさらに含み、
前記拡張訓練データセットの出力は、拡張空撮画像がそれぞれ異なる複数の前記拡張訓練データセットを出力することを含む、付記6又は7に記載の制御方法。
(付記9)
前記画像拡張は、前記クロップ処理及び前記回転処理の後、削除されたピクセルを画像インペインティングによって補うことで、前記オリジナル空撮画像と同じサイズの前記拡張空撮画像を生成することをさらに含む、付記6から8いずれか一項に記載の制御方法。
(付記10)
前記画像拡張は、前記オリジナル地上画像に対してサークルシフトを実行することで、拡張地上画像を生成することをさらに含み、
前記拡張訓練データセットは、前記拡張地上画像と前記拡張空撮画像を含む、付記6から9いずれか一項に記載の制御方法。
(付記11)
地上画像とオリジナル空撮画像が含まれるオリジナル訓練データセットを取得し、
クロップ処理と回転処理が含まれる画像拡張を前記オリジナル空撮画像に対して実行することで拡張空撮画像を生成し、前記クロップ処理は、円形又は正多角形の対象領域が前記オリジナル空撮画像からクロップされる処理であり、前記回転処理は、前記オリジナル空撮画像が回転される処理であり、前記対象領域の形状が正多角形である場合、前記回転の角度は前記対象領域の中心角の倍数であり、
前記地上画像と前記拡張空撮画像が含まれる拡張訓練データセットを取得すること、をコンピュータに実行させるプログラムが格納されている、非一時的なコンピュータ可読記憶媒体。
(付記12)
前記画像拡張は、形状がそれぞれ異なる複数の対象領域をクロップすることで複数の前記拡張空撮画像を生成することをさらに含み、
前記拡張訓練データセットの出力は、拡張空撮画像がそれぞれ異なる複数の前記拡張訓練データセットを出力することを含む、付記11に記載の記憶媒体。
(付記13)
前記画像拡張は、回転の角度がそれぞれ異なる複数の前記拡張空撮画像を生成することをさらに含み、
前記拡張訓練データセットの出力は、拡張空撮画像がそれぞれ異なる複数の前記拡張訓練データセットを出力することを含む、付記11又は12に記載の記憶媒体。
(付記14)
前記画像拡張は、前記クロップ処理及び前記回転処理の後、削除されたピクセルを画像インペインティングによって補うことで、前記オリジナル空撮画像と同じサイズの前記拡張空撮画像を生成することをさらに含む、付記11から13いずれか一項に記載の記憶媒体。
(付記15)
前記画像拡張は、前記オリジナル地上画像に対してサークルシフトを実行することで、拡張地上画像を生成することをさらに含み、
前記拡張訓練データセットは、前記拡張地上画像と前記拡張空撮画像を含む、付記11から14いずれか一項に記載の記憶媒体。
【符号の説明】
【0065】
10 識別器
12 抽出ネットワーク
14 抽出ネットワーク
16 判定ネットワーク
20 ジオローカライゼーションシステム
30 位置データベース
40 オリジナル訓練データセット
42 地上画像
44 オリジナル空撮画像
50 拡張訓練データセット
52 地上画像
54 拡張空撮画像
1000 コンピュータ
1020 バス
1040 プロセッサ
1060 メモリ
1080 ストレージデバイス
1100 入出力インタフェース
1120 ネットワークインタフェース
2000 画像拡張装置
2020 取得部
2040 画像処理部
2060 出力部
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10
図11
図12
図13