(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B1)
(11)【特許番号】
(24)【登録日】2024-08-08
(45)【発行日】2024-08-19
(54)【発明の名称】画像生成装置および画像生成方法
(51)【国際特許分類】
G06T 3/4053 20240101AFI20240809BHJP
G06T 3/4046 20240101ALI20240809BHJP
G06T 5/60 20240101ALI20240809BHJP
G06V 10/82 20220101ALI20240809BHJP
【FI】
G06T3/4053
G06T3/4046
G06T5/60
G06V10/82
(21)【出願番号】P 2024065914
(22)【出願日】2024-04-16
【審査請求日】2024-04-16
【早期審査対象出願】
(73)【特許権者】
【識別番号】397036309
【氏名又は名称】株式会社インターネットイニシアティブ
(74)【代理人】
【識別番号】100118902
【氏名又は名称】山本 修
(74)【代理人】
【識別番号】100106208
【氏名又は名称】宮前 徹
(74)【代理人】
【識別番号】100196508
【氏名又は名称】松尾 淳一
(74)【代理人】
【識別番号】100195408
【氏名又は名称】武藤 陽子
(72)【発明者】
【氏名】柿島 純
【審査官】稲垣 良一
(56)【参考文献】
【文献】米国特許出願公開第2022/0230278(US,A1)
【文献】特開2020-24612(JP,A)
【文献】特表2024-506509(JP,A)
【文献】特開2023-75764(JP,A)
【文献】シモセラ エドガー 外1名,ディープラーニングによる画像生成,画像ラボ,日本,日本工業出版株式会社,2019年01月10日,第30巻,第1号,pp.53-56
(58)【調査した分野】(Int.Cl.,DB名)
G06T 3/4046 - 3/4076
G06T 5/60
G06T 7/00
G06V 10/82
CSDB(特許庁)
(57)【特許請求の範囲】
【請求項1】
設定された領域の全体を含む画像を第1画像の大きさに拡大した対象画像を取得するように構成された取得部と、
サイクルGANを用いて構築された、前記領域の全体を含む画像を拡大した第1ドメインの前記第1画像から、前記領域を複数に分割した分割領域の画像を統合した画像である、第2ドメインの第2画像を生成する学習済み生成器を備え、前記学習済み生成器に、前記対象画像を与えて前記第2画像を生成させるように構成された生成部と、
生成された前記第2画像を提示するように構成された提示部と
を備え、
前記第1画像と前記第2画像とは同じ画素数を有
し、
さらに、前記領域の全体を含む画像を拡大した前記第1画像の訓練データと、前記分割領域の画像を統合した前記第2画像の訓練データとに基づいて、前記サイクルGANを用いて、前記第1ドメインの前記第1画像から前記第2ドメインの前記第2画像を生成する生成器を学習するように構成された学習部を備え、
前記生成部は、前記学習部によって構築された前記学習済み生成器を用いて、前記第2画像を生成させ、
前記第1画像の訓練データは、前記領域の全体が1枚の画像に含まれるように撮影された画像を拡大した画像であり、
前記第2画像の訓練データは、前記領域の全体が1枚の画像に含まれるように撮影された画像よりも地上解像度が小さい、1つの前記分割領域が1枚の画像に含まれるように撮影された画像を統合した画像である
ことを特徴とする画像生成装置。
【請求項2】
設定された領域の全体を含む画像を第1画像の大きさに拡大した対象画像を取得する取得ステップと、
サイクルGANを用いて構築された、前記領域の全体を含む画像を拡大した第1ドメインの前記第1画像から、前記領域を複数に分割した分割領域の画像を統合した画像である、第2ドメインの第2画像を生成する学習済み生成器に、前記対象画像を与えて前記第2画像を生成させる生成ステップと、
生成された前記第2画像を提示する提示ステップと
を備え、
前記第1画像と前記第2画像とは同じ画素数を有
し、
さらに、前記領域の全体を含む画像を拡大した前記第1画像の訓練データと、前記分割領域の画像を統合した前記第2画像の訓練データとに基づいて、前記サイクルGANを用いて、前記第1ドメインの前記第1画像から前記第2ドメインの前記第2画像を生成する生成器を学習する学習ステップを備え、
前記生成ステップは、前記学習ステップで構築された前記学習済み生成器を用いて、前記第2画像を生成させ、
前記第1画像の訓練データは、前記領域の全体が1枚の画像に含まれるように撮影された画像を拡大した画像であり、
前記第2画像の訓練データは、前記領域の全体が1枚の画像に含まれるように撮影された画像よりも地上解像度が小さい、1つの前記分割領域が1枚の画像に含まれるように撮影された画像を統合した画像である
ことを特徴とする画像生成方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像生成装置および画像生成方法に関する。
【背景技術】
【0002】
従来から、画像を高解像度化する画像処理が知られている。例えば、特許文献1は、学習用の低解像度画像と高解像度画像とを用いて学習した機械学習モデルにより、未知の入力画像の超解像処理を行う技術を開示している。
【0003】
しかし、特許文献1に記載の機械学習モデルを利用した超解像処理では、機械学習モデルの推論精度を一定にするために学習用の画像が大量に必要である。ところで従来から、ドローンや航空機などによって上空から撮影された画像の超解像処理によって、インフラや農場などの管理等に役立てられている。特許文献1に記載の機械学習モデルを利用して、上空から撮影された画像を高解像度化する場合において、上空から撮影された低解像度画像と高解像度画像とのペアの学習用画像を多数用意することが困難な場合がある。
【先行技術文献】
【特許文献】
【0004】
【非特許文献】
【0005】
【文献】Jun-Yan Zhu,Taesung Park,Phillip Isola,Alexei A.Efros,“Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks”,ICCV,pages 2223-2232,2017.
【発明の概要】
【発明が解決しようとする課題】
【0006】
このように従来の技術では、より簡易に低解像度の画像から高解像度の画像を生成することが困難であった。
【0007】
本発明は、上述した課題を解決するためになされたものであり、より簡易に低解像度の画像から高解像度の画像を生成することを目的とする。
【課題を解決するための手段】
【0008】
上述した課題を解決するために、本発明に係る画像生成装置は、設定された領域の全体を含む画像を第1画像の大きさに拡大した対象画像を取得するように構成された取得部と、サイクルGANを用いて構築された、前記領域の全体を含む画像を拡大した第1ドメインの前記第1画像から、前記領域を複数に分割した分割領域の画像を統合した画像である、第2ドメインの第2画像を生成する学習済み生成器を備え、前記学習済み生成器に、前記対象画像を与えて前記第2画像を生成させるように構成された生成部と、生成された前記第2画像を提示するように構成された提示部とを備え、前記第1画像と前記第2画像とは同じ画素数を有する。
【0009】
また、本発明に係る画像生成装置において、さらに、前記サイクルGANを用いて、前記第1ドメインの前記第1画像から前記第2ドメインの前記第2画像を生成する生成器を学習するように構成された学習部を備えていてもよい。
【0010】
上述した課題を解決するために、本発明に係る画像生成方法は、設定された領域の全体を含む画像を第1画像の大きさに拡大した対象画像を取得する取得ステップと、サイクルGANを用いて構築された、前記領域の全体を含む画像を拡大した第1ドメインの前記第1画像から、前記領域を複数に分割した分割領域の画像を統合した画像である、第2ドメインの第2画像を生成する学習済み生成器に、前記対象画像を与えて前記第2画像を生成させる生成ステップと、生成された前記第2画像を提示する提示ステップとを備え、前記第1画像と前記第2画像とは同じ画素数を有する。
【0011】
また、本発明に係る画像生成方法において、さらに、前記サイクルGANを用いて、前記第1ドメインの前記第1画像から前記第2ドメインの前記第2画像を生成する生成器を学習する学習ステップを備えていてもよい。
【発明の効果】
【0012】
本発明によれば、サイクルGANを用いて構築された、領域の全体を含む画像を拡大した第1ドメインの第1画像から、領域を複数に分割した分割領域の画像を統合した画像である、第2ドメインの第2画像を生成する学習済み生成器を備え、学習済み生成器に対象画像を与えて第2画像を生成させる。そのため、より簡易に低解像度の画像から高解像度の画像を生成することができる。
【図面の簡単な説明】
【0013】
【
図1】
図1は、本発明の実施の形態に係る画像生成装置を含む画像生成システムの構成を示すブロック図である。
【
図2】
図2は、本実施の形態に係る画像生成装置の概要を説明するための図である。
【
図3】
図3は、本実施の形態に係る画像生成装置が備える学習部の構成を示すブロック図である。
【
図4】
図4は、本実施の形態に係る画像生成装置が備える学習部の構成を説明するための図である。
【
図5】
図5は、本実施の形態に係る画像生成装置が備える学習部の構成を説明するための図である。
【
図6】
図6は、本実施の形態に係る画像生成装置のハードウェア構成を示すブロック図である。
【
図7】
図7は、本実施の形態に係る画像生成装置の動作の概要を示すフローチャートである。
【
図8】
図8は、本実施の形態に係る画像生成装置による学習処理を示すフローチャートである。
【発明を実施するための形態】
【0014】
以下、本発明の好適な実施の形態について、
図1から
図8を参照して詳細に説明する。
【0015】
[画像生成システムの構成]
まず、本発明の実施の形態に係る画像生成装置1を備える画像生成システムの概要について説明する。
【0016】
図1は、本発明の実施の形態に係る画像生成装置1を備える画像生成システムの構成を示すブロック図である。本実施の形態に係る画像生成システムは、画像生成装置1およびUAV(Unmanned Aircraft Vehicle)2を備える。画像生成装置1とUAV2とは、LTE/4G、5G、6Gなどの無線通信ネットワークNWを介して互いに通信可能に接続されている。本実施の形態に係る画像生成システムは、UAV2が撮影した領域Aの全体が含まれる画像I1(対象画像)から、より高解像度の画像I2を生成する。領域Aは、例えば100×100[m]の農地であり、高解像度の画像I2を用いて、領域Aで栽培されている作物の生育管理が行われる。
【0017】
UAV2は、ドローンなどの無人飛行体であって、遠隔による無線操縦飛行を行うことができる。UAV2は、プロセッサ、主記憶装置、補助記憶装置、および通信インターフェース等を備える。また、UAV2は、ジャイロセンサ、加速度センサ、フライトコントローラ、GPS受信機、およびカメラ等を備える。
【0018】
UAV2のカメラを用いて撮影される画像の地上解像度(GSD)は、撮影高度とカメラのセンサーサイズで決定される。UAV2は、撮影高度およびカメラの視野角に応じた撮影面積を上空から撮影できる。また、カメラの性能は、説明の簡単のため100万[px]の画素数とし、縦横比1000×1000[px]の画像を撮影するものとする。
【0019】
UAV2は、
図1に示すように、撮影範囲として設定された領域Aの全体を、1枚の画像I1’として撮影する。画像I1’には、GPS座標情報が付される。例えば、画像I1’ごと、あるいは画素ごとに座標情報が含まれていてもよい。UAV2は、撮影した領域Aの画像I1’を、無線通信ネットワークNWを介して画像生成装置1に送信する。UAV2は、領域Aの全体を含む画像I1’に加えて、後述の学習部12の学習で用いられる訓練データとして画像I1’、および領域Aを分割した複数の分割領域A1の画像i2を撮影することができる。各画像i2には、GPS座標情報が付されている。
【0020】
[画像生成装置の機能ブロック]
図1に示すように、画像生成装置1は、第1取得部10、第2取得部11、学習部12、生成部13、記憶部14、および提示部15を備える。画像生成装置1は、サイクルGANによって事前に構築された学習済み生成器G1’によって、UAV2から送信された、領域Aの全体が含まれる低解像度の1枚の画像I1’から、領域Aを複数に分割した分割領域A1の画像i2を統合した画像I2を生成し、提示する。
【0021】
第1取得部10(取得部)は、設定された領域Aの全体を含む画像I1’を画像I1(第1画像)の大きさに拡大した対象画像を取得する。より具体的には、第1取得部10は、UAV2によって撮影された領域Aの画像I1’を、無線通信ネットワークNWを介して取得する。第1取得部10は、画像I1’のスケールを単に拡大した画像I1を生成する。画像I1’を拡大することで画素数が増加した画像I1が取得される。例えば、画素数が1000×1000[px]の画像I1’を100×100倍に拡大した画像I1は、画像I1’の一の画素とRGB成分が同じである画素が100×100個存在する画像I1である。第1取得部10によって取得される画像I1は、高解像度画像への変換対象の画像である。
【0022】
第2取得部11は、学習部12によるサイクルGANを用いた学習処理のための訓練データの画像を取得する。第2取得部11は、事前にUAV2によって撮影された領域Aの画像I1’を拡大した画像I1(第1画像)、および領域Aを複数に分割した分割領域A1の画像i2を統合した画像I2(第2画像)を訓練データとして取得する。第2取得部11は、UAV2が撮影した領域A全体の画像I1’および分割領域A1の画像i2を、無線通信ネットワークNWを介して取得し、さらに、画像I1’の拡大処理および画像i2を統合して訓練データの画像I1、I2を得る。
【0023】
学習部12は、サイクルGANを用いて、第1ドメインの画像I1から第2ドメインの画像I2を生成する生成器G1を学習する。
【0024】
図2は、本実施の形態に係る画像生成装置1の概要を説明するための図である。
図2の(a)は、画像I1を、
図2の(b)は、画像I2をそれぞれ模式的に示した図である。また、
図2の(c)は、UAV2によって撮影される画像I1および画像i2を示す図である。
【0025】
図2の(a)から(c)に示すように、画像I1’は、UAV2が領域Aの全体を1枚の画像として撮影した画像であり、画像I1’を拡大した画像が画像I1である。一方、画像I2は、UAV2が領域Aを分割した複数の分割領域A1を撮影した画像i2を統合した画像である。画像i2は、UAV2が画像I1’の撮影時と比較して、より低い高度で撮影した画像であり、画像I1’の地上解像度よりも小さい地上解像度を有する。
【0026】
領域Aは、前述したように、100×100[m]の面積を有する農地である。
図2の(a)に示す画像I1’の格子状の区域は、1画素を模式的に表している。また、前述したように、拡大前の画像I1’は、1,000×1,000[px]の画像である。この画像I1’を100×100倍に拡大した(1,000×100)×(1,000×100)[px]の画像I1では、元の画像I1’の情報が拡散され、画素間の詳細が失われるため作物はぼやけて見える。
【0027】
一方、
図2の(b)に示す画像I2は、UAV2が、各1×1[m]に分割された複数の分割領域A1の各々を撮影した、各1,000×1,000[px]の画像i2である。この場合、UAV2は10,000枚の画像i2を撮影する。
図2の(b)の矢印に示すように、各1,000×1,000[px]の画像i2を統合することにより、領域Aの全体を含む(1,000×100)×(1,000×100)[px]の画像I2が得られる。画像i2を統合した画像I2は地上解像度が十分小さいため、作物が鮮明に映っている。このように、分割領域A1の画像i2を統合した画像I2の解像度は、領域Aの全体を含む画像I1’を拡大した画像I1の解像度よりも高い。また、画像I1’を拡大した画像I1の大きさと、分割領域A1の画像i2を統合した画像I2の大きさは同じである。
【0028】
学習部12は、
図2の(a)および(b)に示す画像I1’を拡大した画像I1および画像I2を訓練データとして用いて、サイクルGANの学習を行う。学習部12は、
図3に示すように、2つの生成器G1、G2、および2つの識別器D1、D2を有するサイクルGANの学習を行う。サイクルGANは、GAN(Generative Adversarrial Network:敵対的生成ネットワーク)の一種であり、異なるドメイン間で画像変換を行うことができる生成モデルである(非特許文献1参照)。
【0029】
GANが1つの生成器と1つの識別器とを備えるモデルであるのに対し、サイクルGANは、2つの生成器G1、G2、および2つの識別器D1、D2で構成され、1つのドメインに対して1つの生成器と1つの識別器とで構成される。すなわち、第1ドメインに対して、生成器G1と識別器D2とが設けられ、第2ドメインに対しては、生成器G2と識別器D1とが設けられる。
【0030】
学習部12は、サイクルGANを用いて、第1ドメインの画像I1から第2ドメインの画像I2を生成する生成器G1を学習する。ドメインとは、ある特定の特徴を有するデータの集合をいう。領域Aの全体が含まれる画像I1’を拡大した画像I1と、分割領域A1の画像i2を統合した画像I2とは異なる特徴を有し、画素ごとの対応関係がない異なるドメインの画像である。
【0031】
サイクルGANは、第1ドメインの画像I1から第2ドメインの画像I2への変換を行う生成器G1と、生成器G1によって変換された画像I2の真偽を判定する識別器D1との組、および第2ドメインの画像I2を第1ドメインの画像I1に逆変換する生成器G2と、逆変換された画像I1の真偽を判定する識別器D2との組を備える。このように、サイクルGANは、第1ドメインと第2ドメインとの関係を学習するために2組の生成器G1、G2と識別器D1、D2とを使った変換と逆変換の循環構造を有する。
【0032】
図4および
図5は、学習部12が用いるサイクルGANの生成器G1、G2および識別器D1、D2のニューラルネットワーク構成を模式的に表した図である。生成器G1、G2は、入力層、隠れ層、および出力層を有するニューラルネットワークで構成される。生成器G1、G2を構成するニューラルネットワークとしてCNNやResNetを用いることができる。
【0033】
図4は、生成器G1のニューラルネットワーク構成を模式的に表した図である。
図4に示すように、生成器G1の入力ノードには、第1ドメインの画像I1を構成する各画素の画素値(x
1~x
n)が入力される。
図4の入力層側に示された小さい四角は、1×1[px]の画素を表している。生成器G1は、入力と重みパラメータの積和演算および活性化関数によるしきい値処理を経て出力データG1(x
1)~G1(x
n)を出力する。出力データG1(x
1)~G1(x
n)は、100×100[px]に対応する10,000個の要素を持つ行列であり、
図4の出力層側の四角形がこれを模式的に表している。生成器G1からの出力データは、第1ドメインの画像I1から変換された第2ドメインの画像I2である。生成器G2についても同様に、第2ドメインの画像I2を構成する画像i2ごとの画素値が入力され、入力と重みパラメータの積和演算および活性化関数によるしきい値処理を経て第1ドメインの出力データが得られる。
【0034】
一方、識別器D1、D2についても同様に、入力層、隠れ層、および出力層を有するニューラルネットワークで構成される。識別器D1、D2を構成するニューラルネットワークとしてCNNを用いることができる。
図5は、識別器D1のニューラルネットワーク構成を模式的に表した図である。識別器D1の入力ノードには、画像I2の画素値が与えられる。
図5の例では、生成器G1からの出力データG1(x
1)~G1(x
n)が識別器D1の入力ノードに与えられている。出力データG1(x
1)~G1(x
n)は、生成器G1で生成された画像I2の画素値である。
【0035】
識別器D1は、入力と重みパラメータの積和演算および活性化関数によるしきい値処理を経て、1または0の二値出力を出す。出力値1は、画像I2が本物画像であるとの判別結果を示し、出力値0は、入力された画像I2が疑似画像であるとの判別結果を示す。
【0036】
第1ドメインの識別器D2についても同様に、第1ドメインの画像I1を構成する各画素の値が入力ノードに入力され、ニューラルネットワークの演算結果として1または0を出力する。出力値1は、入力された画像I1が本物画像であるとの判別結果を示し、出力値0は、入力された画像I1が疑似画像であるとの判別結果を示す。
【0037】
ここで、学習部12は、サイクルGANを用いて第1ドメインと第2ドメインとの関係を学習するために、敵対的損失とサイクル一貫性損失とを組み合わせた目的関数を導入する。第1ドメインから第2ドメインへの画像の変換、および第2ドメインから第1ドメインへの画像の逆変換の学習においては、通常のGANと同様に敵対的損失が用いられる。この敵対的損失に加え、学習部12は、第1ドメインから第2ドメインへの画像変換を行う生成器G1と、第2ドメインから第1ドメインへの逆変換を行う生成器G2とが、変換と逆変換を繰り返す循環で一貫性を保つ関係を学習するためのサイクル一貫性損失を目的関数に反映させる。
【0038】
以下、学習部12が用いる敵対的損失について、第2ドメインから第1ドメインへの画像変換を行う生成器G2および変換画像の真偽を判定する識別器D2で構成されるネットワークを例に挙げて説明する。まずここでは、第1ドメインの画像I1の本物画像のデータをx、識別器D2による出力である予測値はyと表し、正解ラベルをtと表す。正解ラベルtは、第1ドメインの画像I1の本物画像に対して1、生成器G2で生成された画像I1の疑似画像に対して0と設定される。このとき、識別器D2は、二値分類問題として次式(1)の交差エントロピーECEで表すことができる。
【0039】
【0040】
上式(1)のブレース内の第1項が表すtnlnynにおいて、識別器D2の予測値ynが、画像I1の本物画像の正解ラベルtn=1の値に近づくことが望ましい。一方、ブレース内の第2項が表す(1-tn)ln(1-yn)においては、識別器D2の予測値ynが、疑似画像と識別する正解ラベルの値(1-tn)=0に近づくことが望ましい。このように交差エントロピーECEは、予測値が正解ラベルの値に一致している場合に最大値となる。
【0041】
ここで、サイクルGANを構成する生成器G1、G2(以下、これらを総称して「生成器G」という。)は、パラメータw
G,θ
Gを有し、関数G(w
G,θ
G)と表す。また、識別器D1、D2(以下、これらを総称して「識別器D」という。)は、パラメータw
D,θ
Dを有し、関数D(w
D,θ
D)と表す。上式(1)の交差エントロピーE
CEに基づいた生成器Gと識別器Dとを備えるモデルの敵対的損失L
GANは、次式(2)で表すことができる。
【数2】
【0042】
上式(2)の第1項が表すED(x)=1lnD(wD,θD)は、識別器Dが本物画像を本物であると識別する期待値である。上式(2)の第2項が表すED(x)=0ln(1-D(G(wG,θG),wD,θD))は、生成器Gにより生成された疑似画像を識別器Dが疑似画像であると識別する期待値である。サイクルGANの敵対的学習では、生成器Gと識別器Dとの各組の敵対的損失LGANのmin-max最適化により、生成器Gと識別器Dとを敵対的に学習する。したがって、識別器Dをだますような疑似画像を生成できるように生成器Gを学習し、生成器Gが生成した疑似画像を疑似画像であると識別するように識別器Dを学習する。
【0043】
識別器Dの敵対的学習では、本物画像が与えられた場合に、識別器Dがy=1に近い出力を出すことで、上式(2)の敵対的損失LGANの第1項を最大化する。一方、疑似画像が与えられた場合に、識別器Dがy=0に近い出力を出すことで敵対的損失LGANの第2項を最大化するように学習が行われる。
【0044】
生成器Gの敵対的学習では、上式(2)のD(G(wG,θG),wD,θD)が1に近くなるようなG(wG,θG)を出力することで、敵対的損失LGANを最小化する。学習部12は、生成器Gのパラメータと識別器Dのパラメータとを交互に更新する学習手順を用いる。
【0045】
ここで、
図3に示すように、生成器G1(w
G1,θ
G1)に画像I1の本物画像xが入力され、変換された出力をG1(x)と表し、生成器G2(w
G2,θ
G2)に画像I2の本物画像yが入力され、変換された出力をG2(y)と表す。また、識別器D1(w
D1,θ
D1)に画像I2の本物画像yが入力された場合の真偽判定の出力をD1(y)と表す。
【0046】
さらに、識別器D1(wD1,θD1)に、生成器G1(wG1,θG1)で生成された画像I2の疑似画像である出力G1(x)が入力された場合の真偽判定の出力をD1(G1(x))と表す。また、識別器D2(wD2,θD2)に画像I1の本物画像xが入力された場合の真偽判定の出力をD2(x)と表し、識別器D2(wD2,θD2)に、生成器G2(wG2,θG2)で生成された画像I1の疑似画像である出力G2(y)が入力された場合の真偽判定の出力をD2(G2(y))と表す。
【0047】
これらの定義から、上式(2)の敵対的損失LGANは、次式(3)の敵対的損失LGAN1、および次式(4)の敵対的損失LGAN2で表される。
【0048】
【0049】
上式(3)により、第1ドメインの画像I1を生成器G1で第2ドメインの画像I2に変換し、識別器D1で変換された画像I2の真偽を判定するネットワークの敵対的損失LGAN1が算出される。また、上式(4)により、第2ドメインの画像I2を生成器G2で第1ドメインの画像I1に変換し、識別器D2で変換された画像I1の真偽を判定するネットワークの敵対的損失LGAN2が算出される。
【0050】
学習部12は、生成器G1と識別器D1とに係るネットワークの上式(3)の敵対的損失LGAN1、および生成器G2と識別器D2とに係るネットワークの上式(4)の敵対的損失LGAN2をそれぞれ最適化する。
【0051】
学習部12は、さらに、次式(5)で表されるサイクル一貫性損失Lcycを用いて、入力画像を生成器Gで変換し、さらに変換された画像を他方の生成器Gで逆変換して元の画像を再構成し、変換前の入力画像と一致するように学習する。
【0052】
【0053】
上式(5)のサイクル一貫性損失Lcycは、ノルムL1を用いた期待値の形で表され、生成器Gで変換された画像を他方の生成器Gで逆変換して復元した画像と、元の入力画像とを画素ごとに比較することで損失を算出する。上式(5)の第1項は、画像I1の本物画像xを入力画像として生成器G1、G2の順に変換をかけて画像I1に戻ってくるかどうかを、変換後の出力G2(G1(x))とxの絶対値とを基準として評価する。この第1項の損失をサイクル一貫性損失Lcyc1という。第2項は、画像I2の本物画像yを入力画像として生成器G2、G1の順に変換をかけて、画像I2に戻ってくるかどうかを変換後の出力G1(G2(y))とyの絶対値とを基準として評価する。第2項の損失をサイクル一貫性損失Lcyc2という。
【0054】
学習部12は、上式(3)(4)の敵対的損失L
GAN1、L
GAN2と、上式(5)のサイクル一貫性損失L
cycとを組み合わせることで、次式(6)で表されるサイクルGANの最終的な目的関数Lを設定する。
【数5】
上式(6)の目的関数Lのmin-max最適化により、生成器G1、G2、および識別器D1、D2を学習する。学習部12による学習処理により、第1ドメインの画像I1から第2ドメインの画像I2に変換する学習済み生成器G1’が構築される。
【0055】
図1に戻り、生成部13は、サイクルGANを用いて構築された、領域Aの全体を含む1枚の画像I1’を拡大した画像である第1ドメインの画像I1(第1画像)から、領域Aを複数に分割した分割領域A1の画像i2を統合した画像である、第2ドメインの画像I2(第2画像)を生成する学習済み生成器G1’を備え、学習済み生成器G1’に対象画像である画像I1を与えて画像I2を生成させる。
【0056】
記憶部14は、学習済み生成器G1’を記憶する。また、記憶部14は、サイクルGANを構成する学習前の生成器G1、G2、および識別器D1、D2を記憶することができる。
【0057】
提示部15は、生成部13によって生成された画像I2を提示する。提示部15は、例えば、無線通信ネットワークNWを介して、高解像度の画像として生成された画像I2を、外部の農場管理者等の端末装置に送信することができる。
【0058】
[画像生成装置のハードウェア構成]
次に、上述した機能を有する画像生成装置1を実現するハードウェア構成の一例について、
図6を用いて説明する。
【0059】
図6に示すように、画像生成装置1は、例えば、バス101を介して接続されるプロセッサ102、主記憶装置103、通信インターフェース104、補助記憶装置105、入出力I/O106を備えるコンピュータと、これらのハードウェア資源を制御するプログラムによって実現することができる。また、画像生成装置1は、バス101を介して接続される表示装置107を備えることができる。
【0060】
プロセッサ102は、CPU、GPU、FPGA、ASICなどによって実現される。
【0061】
主記憶装置103には、プロセッサ102が各種制御や演算を行うためのプログラムが予め格納されている。プロセッサ102と主記憶装置103とによって、
図1に示した第1取得部10、第2取得部11、学習部12、生成部13、提示部15など画像生成装置1の各機能が実現される。
【0062】
通信インターフェース104は、画像生成装置1と各種外部電子機器との間をネットワーク接続するためのインターフェース回路である。
【0063】
補助記憶装置105は、読み書き可能な記憶媒体と、その記憶媒体に対してプログラムやデータなどの各種情報を読み書きするための駆動装置とで構成されている。補助記憶装置105には、記憶媒体としてハードディスクやフラッシュメモリなどの半導体メモリを使用することができる。
【0064】
補助記憶装置105は、画像生成装置1が実行するサイクルGANの学習プログラムおよび画像生成プログラムを格納するプログラム格納領域を有する。補助記憶装置105によって、
図1で説明した記憶部14が実現される。さらには、例えば、上述したデータやプログラムなどをバックアップするためのバックアップ領域などを有していてもよい。
【0065】
入出力I/O106は、外部機器からの信号を入力したり、外部機器へ信号を出力したりする入出力装置である。
【0066】
表示装置107は、有機ELディスプレイや液晶ディスプレイなどによって構成される。表示装置107によって、提示部15を実現することも可能である。
【0067】
[画像生成装置の動作]
次に、上述した構成を有する画像生成装置1の動作を、
図7および
図8のフローチャートを参照して説明する。
【0068】
図7は、画像生成装置1の動作を示すフローチャートである。まず、画像生成装置1の学習部12は、サイクルGANを用いて、第1ドメインの画像I1から第2ドメインの画像I2を生成する生成器G1を学習する(ステップS1)。ステップS1での学習処理の詳細は後述する。
【0069】
その後、第1取得部10は、UAV2によって撮影された、領域Aの全体が含まれる画像I1’を拡大した画像I1を対象画像として取得する(ステップS2)。次に、生成部13は、学習済み生成器G1’に、ステップS2で取得された画像I1を与えて、画像I2を生成する(ステップS3)。画像I1および生成された画像I2は、同じ画素数を有する。その後、提示部15は、ステップS3で生成された画像I2を提示する(ステップS4)。提示部15は、ステップS4で、農地管理者の外部の端末装置などに高解像度の画像である画像I2を送信することができる。
【0070】
次に、
図7のフローチャートおよび
図3の学習部12のブロック図を参照して、画像生成装置1による学習処理を説明する。
【0071】
まず、第2取得部11は、訓練データを取得する(ステップS100)。第2取得部11は、UAV2によって撮影された画像I1の本物画像x
real、および画像I2の本物画像y
realを、訓練データとして取得する。本実施の形態では、第2取得部11は、UAV2が領域Aを異なる撮影角度や異なる時間帯に撮影した画像I1’に基づく複数の画像I1を訓練データとして取得する。また、画像I2の本物画像y
realの訓練データについても、異なる撮影角度や異なる時間帯で撮影された複数の画像I2を訓練データとして取得する。これらの訓練データは、
図3の「入力x」および「入力y」にそれぞれ設定される。
【0072】
次に、学習部12は、サイクルGANを構成する2つの識別器D1、D2にそれぞれ訓練データを入力して本物画像を学習させ、識別器D1のパラメータwD1,θD1、および識別器D2のパラメータwD2,θD2をそれぞれ更新する(ステップS101)。ステップS101において、異なる角度や異なる時間帯に撮影された領域Aの全体を含む画像I1’を拡大した画像I1の複数の本物画像yrealを識別器D1に入力し、上式(1)の公差エントロピー誤差が最小となるよう誤差逆伝搬法などを用いてパラメータwD1,θD1を更新する。識別器D2についても同様に、異なる角度や異なる時間帯などで撮影された分割領域A1の画像i2を統合した複数の画像I2の本物画像xrealを入力として与え、上式(1)の公差エントロピー誤差が最小となるよう誤差逆伝搬法などを用いてパラメータwD2,θD2を更新する。
【0073】
次に、学習部12は、生成器G1と識別器D1との組のネットワークの敵対的学習、および生成器G2と識別器D2との組のネットワークの敵対的学習を以下のステップで行う。
【0074】
まず、学習部12は、上式(3)の敵対的損失L
GAN1を用いて識別器D1の学習を行う(ステップS102)。より詳細には、学習部12は、
図3に示すように、識別器D1に分割領域A1の画像i2を統合した画像I2の本物画像y
realを入力として与え、上式(3)の敵対的損失L
GAN1の勾配dL
GAN1/dw
D1,dL
GAN1/dθ
D1を算出し、誤差逆伝搬法などにより敵対的損失L
GAN1が最大となるようにパラメータw
D1,θ
D1を更新する。さらに、学習部12は、識別器D1に、生成器G1によって生成された画像I2の疑似画像y
fakeを入力として与え、同様に敵対的損失L
GAN1が最大となるようにパラメータw
D1,θ
D1を更新する。なお、識別器D1の学習は、生成器G1のパラメータw
G1,θ
G1を固定して行われる。
【0075】
次に、学習部12は、上式(3)の敵対的損失L
GAN1を用いて生成器G1の学習を行う(ステップS103)。より詳細には、学習部12は、
図3に示すように、生成器G1に領域Aの全体を含む画像I1’を拡大した画像I1の本物画像x
realを入力として与え、上式(3)の敵対的損失L
GAN1の勾配-dL
GAN1/dw
G1,-dL
GAN1/dθ
G1を算出し、誤差逆伝搬法などにより敵対的損失L
GAN1が最小となるようにパラメータw
G1,θ
G1を更新する。なお、生成器G1の学習は、識別器D1のパラメータw
D1,θ
D1を固定して行われる。
【0076】
次に、学習部12は、上式(4)の敵対的損失L
GAN2を用いて識別器D2の学習を行う(ステップS104)。より詳細には、
図3に示すように、学習部12は、識別器D2に画像I1の本物画像x
realを入力として与え、上式(4)の敵対的損失L
GAN2の勾配dL
GAN2/dw
D2,dL
GAN2/dθ
D2を算出し、誤差逆伝搬法などにより敵対的損失L
GAN2が最大となるようにパラメータw
D2,θ
D2を更新する。さらに、学習部12は、識別器D2に、生成器G2によって生成された領域A全体の画像I1’を拡大した画像I1の疑似画像y
fakeを入力として与え、同様に敵対的損失L
GAN2が最大となるようにパラメータw
D2,θ
D2を更新する。なお、識別器D2の学習は、生成器G2のパラメータw
G2,θ
G2を固定して行われる。
【0077】
次に、学習部12は、上式(4)の敵対的損失L
GAN2を用いて生成器G2の学習を行う(ステップS105)。より詳細には、学習部12は、
図3に示すように、生成器G2に分割領域A1の画像i2を統合した画像I2の本物画像y
realを入力として与え、上式(4)の敵対的損失L
GAN2の勾配-dL
GAN2/dw
G2,-dL
GAN2/dθ
G2を算出し、誤差逆伝搬法などにより敵対的損失L
GAN2が最小となるようにパラメータw
G2,θ
G2を更新する。なお、生成器G2の学習は、識別器D2のパラメータw
D2,θ
D2を固定して行われる。学習部12は、ステップS104およびステップS105の学習を行って敵対的損失L
GAN2を求める。
【0078】
次に、学習部12は、上式(5)のサイクル一貫性損失Lcycを以下のステップで求める。まず、学習部12は、領域A全体の画像I1の本物画像xrealと、再構成された領域A全体の画像I1’を拡大した画像I1の疑似画像G2(G1(x))とのサイクル一貫性損失Lcyc1を算出し、生成器G1、G2を学習する(ステップS106)。
【0079】
より詳細には、学習部12は、
図3に示すように、領域A全体の画像I1’を拡大した画像I1の本物画像x
realを生成器G1に与え、生成された、分割領域A1の画像i2を統合した画像I2の疑似画像G1(x)をさらに生成器G2に入力として与える。生成器G2によってさらに再構成された領域A全体の画像I1’を拡大した画像I1の疑似画像G2(G1(x))と、領域A全体の画像I1’を拡大した画像I1の本物画像x
realとのサイクル一貫性損失L
cyc1を上式(5)により算出する。学習部12は、元の画像である本物画像x
realと再構成された疑似画像G2(G1(x))との画素毎の比較を行い、互いの距離L
1を最小とすることで、サイクル一貫性損失L
cyc1を最小化する。
【0080】
次に、学習部12は、分割領域A1の画像i2を統合した画像I2の本物画像y
realと、再構成された分割領域A1の画像i2を統合した画像I2の疑似画像G1(G2(y))とのサイクル一貫性損失L
cyc2を算出し、生成器G1、G2を学習する(ステップS107)。より詳細には、学習部12は、
図3に示すように、分割領域A1の画像i2を統合した画像I2の本物画像y
realを生成器G2に与え、生成された領域A全体の画像I1の疑似画像G2(y)をさらに生成器G1に入力として与える。生成器G1によってさらに再構成された分割領域A1の画像i2を統合した画像I2の疑似画像G1(G2(y))と、分割領域A1の画像i2を統合した画像I2の本物画像y
realとのサイクル一貫性損失L
cyc2を上式(5)により算出する。学習部12は、元の画像である本物画像y
realと再構成された疑似画像G1(G2(y))との画素毎の比較を行い、互いの距離L
1を最小とすることで、サイクル一貫性損失L
cyc2を最小化する。
【0081】
次に、学習部12は、ステップS102からステップS107で求められた敵対的損失LGAN1、LGAN2、およびサイクル一貫性損失Lcycから、上式(6)の目的関数Lを設定し、目的関数Lが収束するまでステップS102からステップS107までの処理を繰り返す(ステップS108:NO)。学習部12は、目的関数Lが収束した際の生成器G1を学習済み生成器G1’として記憶部14に記憶する(ステップS109)。以上の学習処理によって、第1ドメインの領域A全体の画像I1を第2ドメインの分割領域A1の画像i2を統合した画像I2に変換する学習済み生成器G1’が構築される。
【0082】
以上説明したように、本実施の形態に係る画像生成装置1によれば、サイクルGANを用いて第1ドメインの、領域A全体の画像I1’を拡大した画像I1を第2ドメインの分割領域A1の画像i2を統合した画像I2に変換する生成器G1を構築するので、より簡易に低解像度の画像から高解像度の画像を生成することができる。
【0083】
また、本実施の形態に係る画像生成装置1によれば、サイクルGANを用いて構築された学習済み生成器G1’を用いて分割領域A1の画像i2を統合した画像I2を生成する。そのため、訓練データとして多数の画像I1および画像I2を入手することが困難な場合であっても生成器G1の学習が可能である。
【0084】
なお、上述した実施の形態では、学習部12は、敵対的損失LGAN、およびサイクル一貫性損失Lcycを組み合わせた目的関数Lを設定する場合について説明した。しかし、学習部12は、敵対的損失LGAN、およびサイクル一貫性損失Lcycに加え、同一性損失を有する目的関数Lを設定してもよい。同一性損失とは、例えば、生成器Gへの入力画像と、生成器Gで生成された疑似画像とが一致するように画素毎の損失を計算するものである。同一性損失をさらに導入することで、入力される領域A全体の画像I1において必要な箇所のみを変換して画像I2を生成するように生成器G1が学習されることになる。
【0085】
以上、本発明の画像生成装置および画像生成方法における実施の形態について説明したが、本発明は説明した実施の形態に限定されるものではなく、請求項に記載した発明の範囲において当業者が想定し得る各種の変形を行うことが可能である。
【符号の説明】
【0086】
1…画像生成装置、10…第1取得部、11…第2取得部、12…学習部、13…生成部、14…記憶部、15…提示部、2…UAV、101…バス、102…プロセッサ、103…主記憶装置、104…通信インターフェース、105…補助記憶装置、106…入出力I/O、107…表示装置、G、G1、G2…生成器、D、D1、D2…識別器、G1’…学習済み生成器、NW…無線通信ネットワーク。
【要約】
【課題】より簡易に低解像度の画像から高解像度の画像を生成することを目的とする。
【解決手段】
画像生成装置1は、設定された領域Aの全体を含む画像I1’を画像I1の大きさに拡大した対象画像を取得する第1取得部10と、サイクルGANを用いて構築された、領域Aの全体を含む画像を拡大した第1ドメインの画像I1から、領域Aを複数に分割した分割領域A1の画像i2を統合した画像である、第2ドメインの画像I2を生成する学習済み生成器G1’を備え、学習済み生成器G1’に、対象画像を与えて画像I2を生成させる生成部13と、生成された画像I2を提示する提示部15とを備え、画像I1と画像I2とは同じ画素数を有する。
【選択図】
図1