以下、実施例を挙げて本発明をより具体的に記載する。なお、本明細書では、説明及び記載を目的として一部の実施例の以下の記載を提示する。網羅したり、開示される正確な形態に限定したりすることが意図されていない。
最近では、画像と参照画調画像の画調との融合が盛んに行われるようになってきた。画像を参照画調画像の画調と融合する技術は、クラウドコンピューティングに基づく画像処理機能、画調レンダリング、及びデジタルギャラリ機能を有する製品及びサービスにより使用され得る。
したがって、本発明は、特に、関連技術の制限及び欠点による問題点のいずれか1つ又は複数を実質的に解消することができる、畳み込みニューラルネットワークを利用したコンピュータ実現方法、合成画像生成用の装置、及びコンピュータプログラム製品を提供する。一態様では、本開示は、畳み込みニューラルネットワークを利用したコンピュータ実現方法を提供する。一部の実施例では、コンピュータ実現方法は、畳み込みニューラルネットワークにより入力画像を処理して、画調画像の画調特徴が融合された入力画像のコンテンツ特徴を含む出力画像を生成するステップを含む。任意選択的に、畳み込みニューラルネットワークは、特徴抽出サブネットワーク、融合部、及び復号サブネットワークを含む。任意選択的に、畳み込みニューラルネットワークにより入力画像を処理するプロセスは、特徴抽出サブネットワークを用いて画調画像の画調特徴を抽出して、複数の画調特徴マップを生成する段階と、特徴抽出サブネットワークを用いて入力画像のコンテンツ特徴を抽出して、複数のコンテンツ特徴マップを生成する段階と、融合部を用いて複数のコンテンツ特徴マップと複数の画調特徴マップとをそれぞれ融合させて、複数の出力特徴マップを生成する段階と、復号サブネットワークにより複数の出力特徴マップを再構成して、出力画像を生成する段階と、を含む。任意選択的に、復号サブネットワークにより複数の出力特徴マップを再構成するプロセスは、復号サブネットワークにおいて順次接続され、各々が順次接続されたN個(Nは2以上の整数)の畳み込みブロックを含むM個(Mは1以上の整数)の密集して接続される算出モジュールにより複数の出力特徴マップを処理することを含む。例えば、M個の密集して接続される算出モジュールのそれぞれのN個の畳み込みブロックのうちの任意の先行する畳み込みブロックからの出力特徴マップを、M個の密集して接続される算出モジュールのそれぞれのN個の畳み込みブロックのうちのn番目(2≦n≦N)の畳み込みブロックに入力して、n番目の出力特徴マップ群を生成し、M個の密集して接続される算出モジュールのうちのm番目(1≦m≦M)の密集して接続される算出モジュールからの出力は、m番目の密集して接続される算出モジュールのN個の畳み込みブロックのそれぞれからのN個の出力特徴マップ群を含む。
本明細書では、畳み込みニューラルネットワークを利用したコンピュータ実現方法は、任意の画調画像の画調特徴が融合された入力画像のコンテンツ特徴を含む出力画像を生成することができる。本明細書のコンピュータ実現方法は、畳み込みニューラルネットワーク内のアセンブリの数を減らすことができ、従来の開示内容と比較して、より少ない数のパラメータを用いて出力画像を生成することができる。本明細書の方法により生成される出力画像の品質は、従来の開示内容により生成される出力画像の品質と同程度に良い。畳み込みニューラルネットワークで使用されるパラメータの数が減少するため、本明細書の方法で使用される畳み込みニューラルネットワークは、より速い処理速度と短い処理時間を有する。
図1は本開示の一部の実施例に係る、畳み込みニューラルネットワークの概略図である。図1を参照すると、畳み込みニューラルネットワーク(Convolutional Neural Network、CNN)は、画像認識、顔認識、テキスト認識、動物認識、及び画像処理を含む分野に適用することができる。例えば、畳み込みニューラルネットワークが画像処理に適用される。畳み込みニューラルネットワークの入出力は画像である。畳み込みニューラルネットワークの畳み込みカーネルでスカラーの重みを置換する。一部の実施例では、図1に示される畳み込みニューラルネットワークは、3つの層のみを有する。任意選択的に、畳み込みニューラルネットワークは、入力層601、隠れ層602、及び出力層603を含む。任意選択的に、入力層601には、4つの入力621が入力される。隠れ層602からは3つの出力622が出力される。出力層603からは2つの出力623が出力される。したがって、畳み込みニューラルネットワークは、2つの出力画像(例えば、2つの出力623)を出力することができる。例えば、入力層601に入力される4つの入力621は、4つの画像、あるいは1つの画像の4種類の特徴である。隠れ層602から出力される3つの出力622は、4つの画像の3つの特徴マップであってもよいし、入力層601に入力される1つの画像の4つの特徴の3つの特徴マップであってもよい。
本明細書で使用される場合、用語「畳み込みニューラルネットワーク」は、ディープフィードフォワード人工ニューラルネットワークを指す。任意選択的に、畳み込みニューラルネットワークは、複数の畳み込み層、複数のアップサンプリング層、及び複数のダウンサンプリング層を含む。例えば、複数の畳み込み層のそれぞれは、画像を処理することができる。アップサンプリング層及びダウンサンプリング層は、入力画像のサイズをある畳み込み層に対応するサイズに変更することができる。そして、アップサンプリング層又はダウンサンプリング層からの出力は、対応するサイズの畳み込み層により処理され得る。これにより、畳み込み層が入力画像とは異なるサイズを有する特徴を追加又は抽出できるようにする。
本明細書で使用される場合、用語「畳み込みカーネル」は、畳み込みプロセスで使用される2次元マトリクスを指す。任意選択的に、2次元マトリクスの複数の項目のそれぞれ1つが特定の値を有する。
本明細書で使用される場合、用語「畳み込み」は、画像処理のプロセスを指す。畳み込みに畳み込みカーネルが用いられる。入力画像の各画素には値があり、畳み込みカーネルは入力画像の1つの画素から、入力画像内の各画素へ順次移動する。畳み込みカーネルの各位置において、畳み込みカーネルは、そのサイズに応じて画像上のいくつかの画素と重複する。畳み込みカーネルの位置において、いくつかの重複画素のうちの1つの値に畳み込みカーネルにおける対応する1つの値を乗算して、いくつかの重複画素のうちの1つの乗算値を取得する。そして、全ての重複画素の乗算値を加算して、入力画像上の畳み込みカーネルの位置に対応する合計を取得する。畳み込みカーネルを入力画像の各画素上で移動させることにより、畳み込みカーネルの全ての位置に対応する全ての合計が収集され、出力画像として出力される。一例では、畳み込みは、異なる畳み込みカーネルを用いて入力画像の異なる特徴を抽出することができる。別の例では、畳み込みプロセスは、異なる畳み込みカーネルを用いて入力画像により多くの特徴を追加することができる。
本明細書で使用される場合、用語「畳み込み層」は、畳み込みニューラルネットワーク内の層を指す。畳み込み層は、入力画像に畳み込みを実行して出力画像を得るために使用される。任意選択的に、異なる畳み込みカーネルが、同じ入力画像に対して異なる畳み込みを実行するために使用される。任意選択的に、異なる畳み込みカーネルが、同じ入力画像の異なる部分に対して畳み込みを実行するために使用される。任意選択的に、異なる畳み込みカーネルが、異なる入力画像に対して畳み込みを実行するために使用され、例えば、畳み込み層に複数の画像を入力し、対応する畳み込みカーネルが、複数の画像のうちの画像に対して畳み込みを実行するために使用される。任意選択的に、入力画像の状況に応じて異なる畳み込みカーネルが使用される。
図1を参照すると、一部の実施例では、隠れ層602は第1の隠れ畳み込み層611と第2の隠れ畳み込み層612とを含む。任意選択的に、第1の隠れ畳み込み層611及び第2の隠れ畳み込み層612のいずれも、重み
及びバイアス
を有する。重み
は畳み込みカーネルを表す。バイアス
は、畳み込み層の出力に重畳されるスカラー量である。kは、畳み込みニューラルネットワークのk番目の入力層を表す。iは、入力層のそれぞれに入力される複数の入力画像のうちのi番目の入力画像を表す。jは、複数の入力画像のそれぞれを処理して得られた複数の出力のうちのj番目の出力を表す。k、i、jは正の整数である。例えば、第1の隠れ畳み込み層611は、第1の畳み込みカーネル群(例えば、
)と第1の重み群(例えば、
)とを含む。第2の隠れ畳み込み層612は、第2の畳み込みカーネル群(例えば、
)と第2の重み群(例えば、
)とを含む。通常、各畳み込み層は、数百の畳み込みカーネルを含む。例えば、深層畳み込みニューラルネットワークでは、当該深層畳み込みニューラルネットワークの隠れ層は少なくとも5つの畳み込み層を含む。
図1を参照すると、畳み込みニューラルネットワークの隠れ層602は、第1の隠れ活性化層613と第2の隠れ活性化層614とをさらに含む。第1の隠れ活性化層613は、第1の隠れ畳み込み層611と第2の隠れ畳み込み層612との間に位置する。第2隠れ活性化層614は第2隠れ畳み込み層612の後に位置する。任意選択的に、活性化層(例えば、第1の隠れ活性化層613及び第2の隠れ活性化層614)は、活性化関数を含む。活性化関数は、畳み込みニューラルネットワークが比較的複雑な問題を効果的に解決できるように、畳み込みニューラルネットワークに非線形要素を追加するために使用される。
本明細書で使用される場合、用語「活性化層」は、畳み込みニューラルネットワーク内の層を指す。活性化層は、畳み込み層の出力からの出力信号に対して非線形マッピングを実行することができる。活性化層に、種々の関数を用いることができる。活性化層に適用される関数としては、例えば、ReLU(Rectified Linear Unit)関数、Sigmoid関数、双曲線正接関数(例えば、tanh関数)などが挙げられるが、これらに限定されない。一例では、活性化層は、畳み込み層に含まれない。別の例では、活性化層は、畳み込み層に含まれる。例えば、第1の隠れ畳み込み層611は第1の隠れ活性化層613を含む。第2の隠れ畳み込み層612は第2の隠れ活性化層614を含む。
一部の実施例では、第1の隠れ畳み込み層611において、第1の隠れ畳み込み層611から複数の出力が生成されるように、第1の畳み込みカーネル群
及び第1の重み群
は、4つの入力621のそれぞれに適用される。第1の隠れ活性化層613から複数の出力が生成されるように、第1の隠れ畳み込み層611からの複数の出力は、第1の隠れ活性化層613により処理することができる。
一部の実施例では、第2の隠れ畳み込み層612において、第2の隠れ畳み込み層612から複数の出力が生成されるように、第2の畳み込みカーネル群
及び第2の重み群
は、第1の隠れ活性化層613からの複数の出力のそれぞれに適用される。第2隠れ活性化層614の複数の出力が生成されるように、第2の隠れ畳み込み層612からの複数の出力は、第2の隠れ活性化層614により処理することができる。
一例では、第1の隠れ畳み込み層611から複数の出力のそれぞれを生成することは、第1の畳み込みカーネル群
のそれぞれを4つの入力621のそれぞれに適用して、第1の隠れ中間出力を生成し、第1の重み群
のそれぞれを中間出力に追加して、第1の隠れ層611から複数の出力のそれぞれを生成することを含む。
別の例では、第2の隠れ畳み込み層612から複数の出力のそれぞれを生成することは、第2の畳み込みカーネル群
のそれぞれを、第1の隠れ畳み込み層611からの複数の出力のそれぞれに適用して、第2の隠れ中間出力を生成し、第2の重み群
のそれぞれを第2の隠れ中間出力に追加して、第2の隠れ畳み込み層612から複数の出力のそれぞれを生成することを含む。
例えば、第1の隠れ活性化層613からの出力は、隠れ層602の3つの出力622である。第2の隠れ活性化層614からの出力は、出力層603の2つの出力623である。
一部の実施例では、畳み込み層は、畳み込みニューラルネットワークのカーネル層である。畳み込み層では、ニューロンは、直接隣接する畳み込み層のいくつかのニューロンに接続される。任意選択的に、畳み込み層は、入力画像に複数の畳み込みカーネルを適用して、入力画像から複数の特徴を抽出することができる。畳み込み層は、入力画像から1種類の特徴を抽出することができる。任意選択的に、初期化された畳み込みカーネルは、ランダムな分数マトリクスである。畳み込みニューラルネットワークの事前トレーニングプロセスにおいて、畳み込みカーネルは、学習により合理的な値を取得する。
任意選択的に、入力画像に畳み込みカーネルを適用した結果を特徴マップと呼ぶ。複数の特徴マップの数は、複数の畳み込みカーネルの数と等しい。複数の特徴マップのそれぞれは、複数の畳み込みカーネルのそれぞれに対応する。
任意選択的に、複数の特徴マップのそれぞれは、矩形状に配列されたニューロンからなる。複数の特徴マップのうちの対応する特徴マップのニューロンは、複数の畳み込みカーネルのうちの対応する畳み込みカーネルを共有する。
任意選択的に、畳み込みニューラルネットワークは複数の畳み込み層を有する。複数の畳み込み層のそれぞれから出力される特徴マップは、複数の畳み込み層のうちの下流の畳み込み層に入力される。複数の畳み込み層のうちの下流の畳み込み層は、複数の畳み込み層のそれぞれから出力される特徴マップを処理し、複数の特徴マップのうちの下流の特徴マップを出力する。
一部の実施例では、プーリング層は、2つの隣接する畳み込み層の間に位置する。一例では、計算の複雑性を単純化し、過剰適合の現象を低減するために、プーリング層は、入力画像のサイズを低減するために使用することができる。別の一例では、プーリング層は、特徴を圧縮し、入力画像の主な特徴を抽出する。任意選択的に、プーリング層は、特徴マップの数を変えることなく、それぞれの特徴マップのサイズを低減することができる。例えば、サイズ12×12の入力画像を、6×6のフィルタでサンプリングし、そして、この6×6のフィルタが、サイズ2×2の出力画像を出力する。これは、サイズ12×12の入力画像の144画素を4つの部分に分割し、それぞれの部分が36画素を有することを意味する。6×6のフィルタを用いてプーリング処理を行った後、各部分の36画素を1画素にまとめ、生成した出力画像のサイズは2×2となる。
本明細書で使用される場合、用語「プーリング」は、ダウンサンプリングの1種類を指す。プーリングは、種々の方法を用いて行うことができる。プーリングに適した方法の例は、最大プーリング、平均プーリング、アンダーサンプリング、及び逆多重化出力を含むが、これらに限定されない。本明細書で使用される場合、、用語「ダウンサンプリング」とは、入力画像の特徴を抽出し、より小さなサイズの出力画像を出力するプロセスを意味する。
図2Aは本開示の一部の実施例に係る、畳み込みニューラルネットワークを利用した画像処理のためのコンピュータ実現方法のフローチャートである。図2Aを参照すると、一部の実施例では、畳み込みニューラルネットワークを利用したコンピュータ実現方法は、畳み込みニューラルネットワークに画調画像及び入力画像を入力するステップと、畳み込みニューラルネットワークにより入力画像を処理して画調画像の画調特徴が融合された入力画像のコンテンツ特徴を含む出力画像を生成するステップとを含む。
一部の実施例では、入力画像は、任意のタイプの画像であってもよい。任意選択的に、入力画像は、デジタルカメラや携帯電話等の撮像装置で撮影された画像であってもよい。任意選択的に、入力画像は、人物画像、動物画像、植物画像、風景画像からなる群から選択されてもよい。
一部の実施例では、画調は、アーティスト画調、異なる顔料で描かれた芸術的な画調からなる群から選択されてもよい。任意選択的に、アーティストの画調は、モナ画調、ヴァンゴッホ画調、及びピカソ画調を含むが、これらに限定されない。任意選択的に、芸術的な画調としては、水墨画、油絵、スケッチを含むが、これらに限定されない。
図3は本開示の一部の実施例に係る畳み込みニューラルネットワークの概略構成図である。図3を参照すると、畳み込みニューラルネットワーク100は、特徴抽出サブネットワーク101、融合部102、及び復号サブネットワーク103を含む。任意選択的に、特徴抽出サブネットワーク101は、画調画像の画調特徴を抽出して複数の画調特徴マップを生成し、入力画像のコンテンツ特徴を抽出して複数のコンテンツ特徴マップを生成するように構成される。任意選択的に、融合部102は、複数の画調特徴マップと複数のコンテンツ特徴マップとをそれぞれ融合させて複数の出力特徴マップを生成するように構成される。任意選択的に、復号サブネットワーク103は、複数の出力特徴マップを再構成して出力画像を生成するように構成される。
図2Bは本開示の一部の実施例に係る、畳み込みニューラルネットワークにより入力画像を処理するフローチャートである。図2A、図2B及び図3を参照すると、畳み込みニューラルネットワーク100により入力画像を処理するステップは、特徴抽出サブネットワーク101を用いて、画調画像の画調特徴を抽出して、複数の画調特徴マップを生成するステップと、特徴抽出サブネットワーク101を用いて、入力画像のコンテンツ特徴を抽出して、複数のコンテンツ特徴マップを生成するステップと、融合部102を用いて、複数のコンテンツ特徴マップと複数の画調特徴マップとをそれぞれ融合させて、複数の出力特徴マップを生成するステップと、復号サブネットワーク103により、複数の出力特徴マップを再構成して、出力画像を生成するステップと、を含む。
一部の実施例では、特徴マップは、複数の画調特徴マップ、複数のコンテンツ特徴マップ、及び複数の出力特徴マップを含む。特徴マップについて、2次元マトリクスを用いて説明する。一例では、複数の画調特徴マップのそれぞれは、2次元マトリクスである。したがって、3次元マトリクスを用いて複数の画調特徴マップを記載することができる。別の例では、複数のコンテンツ特徴マップのそれぞれは、2次元マトリクスである。したがって、複数のコンテンツ特徴マップを3次元マトリクスで記載することができる。別の例では、複数の出力特徴マップのそれぞれは、2次元マトリクスである。3次元マトリクスを用いて複数の出力特徴マップを記載することができる。
一部の実施例では、復号サブネットワーク103により複数の出力特徴マップを再構成するプロセスは、復号サブネットワーク103において順次接続されたM個の密集して接続される算出モジュールにより、複数の出力特徴マップを処理する段階を含む。任意選択的に、M個の密集して接続される算出モジュールのそれぞれは、順次接続されたN個の畳み込みブロックを含み、Mは1以上の整数であり、Nは2以上の整数である。
一部の実施例では、M個の密集して接続される算出モジュールのそれぞれのN個の畳み込みブロックのうちの任意の先行する畳み込みブロックからの出力特徴マップ群を、M個の密集して接続される算出モジュールのそれぞれのN個の畳み込みブロックのうちのn番目(2≦n≦N)の畳み込みブロックに入力して、n番目の出力特徴マップ群を生成する。
任意選択的に、M個の密集して接続される算出モジュールのそれぞれの入力を、M個の密集して接続される算出モジュールのそれぞれのN個の畳み込みブロックのうちのn番目の畳み込みブロックに入力する。
一部の実施例では、M個の密集して接続される算出モジュールのうちのm番目の密集して接続される算出モジュールからの出力は、m番目(1≦m≦M)の密集して接続される算出モジュールのN個の畳み込みブロックのそれぞれからのN個の出力特徴マップ群を含む。
任意選択的に、M個の密集して接続される算出モジュールのうちのm番目の密集して接続される算出モジュールからの出力は、M個の密集して接続される算出モジュールのうちのm番目の密集して接続される算出モジュールの入力を含む。
図4Aは本開示の一部の実施例に係る、密集畳み込みネットワークの概略構成図である。図4Bは本開示の一部の実施例に係る、密集畳み込みネットワークにおける密集ブロックの概略構成図である。図4A及び図4Bを参照すると、密集畳み込みネットワークは、画像分類のために使用され得る。密集畳み込みネットワーク以外の畳み込みニューラルネットワークでは、第Nの畳み込み層からの出力は第N+1の畳み込み層の入力となる。例えば、密集畳み込みネットワーク以外の畳み込みニューラルネットワークは、L層畳み込み層を有する。密集畳み込みネットワーク以外の畳み込みニューラルネットワークは、L個の接続を有する(N及びLのいずれも正の整数であり、L>N>1である)。
密集畳み込みネットワークの場合、密集畳み込みネットワークは密集畳み込み接続を有する。密集畳み込み接続は、複数の畳み込み層のうちの任意の前段の畳み込み層からの出力を、密集畳み込みネットワーク内の複数の畳み込み層のそれぞれに入力するように構成される。例えば、密集畳み込みネットワークはL層畳み込み層を有する。L個の畳み込み層のうちの2つの畳み込み層間の接続数は、L(L+1)/2である。L個の畳み込み層のうちの2つは直列に接続される。
一部の実施例では、密集畳み込みネットワークにおいて、L個の畳み込み層のうちの1番目の畳み込み層から出力される特徴マップx
lは、下式となる。
は、特徴を抽出するプロセスを表す。任意選択的に、
は、バッチ正規化演算、活性化演算、及び畳み込み演算の群から選択される演算の組み合わせである。例えば、
は、バッチ正規化(Batch Normalization、BN)演算、活性化演算(例えば、ReLU)及び畳み込み演算(例えば、3×3畳み込みカーネルを用いた畳み込み演算)の組み合わせである。x
0は入力画像を表す。x
1,…,x
l−1は、それぞれ畳み込み層の第1層から畳み込み層の第l−1層まで出力される出力特徴マップを示す。x
1,…,x
l−1のサイズは同じである。
一部の実施例では、密集畳み込みネットワークは、複数の密集ブロック及び複数の遷移層(transition layer)を含む。任意選択的に、複数の密集ブロック及び複数の遷移層は、交互に配置される。例えば、複数の遷移層のそれぞれは、複数の密集ブロックのうちの直接隣接する2つのブロックの間に位置する。
一部の実施例では、複数の密集ブロックのそれぞれは、複数の畳み込み照合特徴マップを用いて畳み込み演算を実行して特徴マップから特徴を抽出する。
図4Aを参照すると、一部の実施例では、複数の密集ブロックは、第1密集ブロック51、第2密集ブロック52、及び第3密集ブロック53を含む。図4Bを参照すると、図4Bには、第1密集ブロック51の構成が示されている。一部の実施例では、第1密集ブロック51は、第1の畳み込み算出モジュール510、第2の畳み込み算出モジュール511、第3の畳み込み算出モジュール512、及び第4の畳み込み算出モジュール513を含む。例えば、入力画像X0を処理するために、第1畳み込み算出モジュール510は、画像X0に対して第1の特徴抽出演算H1を実行して複数の第1特徴マップX1を生成する。第2の畳み込み算出モジュール511は、入力画像X0及び複数の第1特徴マップX1に対して第2の特徴抽出演算H2を実行して、複数の第2特徴マップX2を生成する。第3の畳み込み算出モジュール512は、入力画像X0、複数の第1特徴マップX1及び複数の第2特徴マップX2に対して第3の特徴抽出演算H3を実行して、複数の第3の特徴マップX3を生成する。第4の畳み込み算出モジュール513は、入力画像X0、複数の第1特徴マップX1、複数の第2特徴マップX2、及び複数の第3の特徴マップX3に対して第4の特徴抽出演算H4を実行して、複数の第4特徴マップX4を生成する。入力画像X0、複数の第1特徴マップX1、複数の第2特徴マップX2、複数の第3の特徴マップX3、及び複数の第4特徴マップX4は、いずれも複数の遷移層のそれぞれに出力される。
一部の実施例では、複数の密集ブロックのそれぞれは1×1畳み込みカーネルをさらに含む。1×1畳み込みカーネルは、畳み込み算出モジュールにより抽出される特徴マップの数を減らし(例えば、次元削減)、特徴マップの数をさらに減らし、計算量をさらに減らすことができる。
一部の実施例では、複数の密集ブロックのそれぞれにおいて、複数の畳み込み算出モジュールのそれぞれは、1つの特徴マップ群を出力する。各特徴マップ群は、同数の特徴マップを有する。任意選択的に、ktは、当該密集畳み込みネットワークから出力される特徴マップの数を制御するための増加率を表す。密集畳み込みネットワークでは、増加率ktは比較的小さい。例えば、密集畳み込みネットワークの増加率ktは32である。
一部の実施例では、密集畳み込みネットワーク(Dense Convolutional Network、DenseNet)は、以下の利点を有する。第一に、密集畳み込みネットワークは、密集畳み込みネットワークにおけるパラメータの数を大きく低減することができる。例えば、密集畳み込みネットワークの精度が残差ニューラルネットワーク(Residual Neural Network、ResNet)の精度と等しい場合、密集畳み込みネットワーク内のパラメータの数は残差ニューラルネットワーク内のパラメータの数の半分未満である。第2に、密集畳み込みネットワークは、計算量を低減することができる。例えば、密集畳み込みネットワークの精度が残差ニューラルネットワークの精度と等しい場合、密集畳み込みネットワークの計算量は、残差ニューラルネットワークの計算量のほぼ半分である。第3に、密集畳み込みネットワークは、勾配消失の問題を効果的に解決することができる。第4に、密集畳み込みネットワークは、特徴を繰り返し利用することができるため、特徴の伝搬を強化することができる。第5に、密集畳み込みネットワークは、特に事前トレーニングプロセスのデータ欠如の場合、非常に優れた過剰適合防止性能を有する。密集畳み込みネットワークの利点に基づいて、本開示に記載の畳み込みニューラルネットワークの復号サブネットワーク103は、改良された密集畳み込みネットワークを用いて、任意の画調が融合された入力画像のコンテンツ特徴を含む出力画像を生成することができる。
一部の実施例では、特徴マップの数を減らす特徴マップの数を減らすために複数の遷移層が用いられることにより、畳み込みニューラルネットワークにおけるパラメータの数及び計算量の削減をもたらす。任意選択的に、複数の遷移層が、異なるチャネルからの特徴を組み合わせるために用いられる。任意選択的に、複数の遷移層のそれぞれは、畳み込み演算を実行するように構成される畳み込み層(例えば、1×1畳み込みカーネルを用いる畳み込み層)と、ダウンプーリング演算を実行するように構成されるプーリング層(例えば、平均プーリング層)とを含む。
任意選択的に、各遷移層のそれぞれにおいて、畳み込み層から出力される特徴マップの数は、畳み込み層に入力される特徴マップの数の半分である。図4Aを参照すると、任意選択的に、複数の遷移層は、第1の遷移層61及び第2の遷移層62を含む。任意選択的に、第1の遷移層61は、畳み込み層Cと、プーリング層Pとを含む。任意選択的に、第2の遷移層62は、畳み込み層Cと、プーリング層Pとを含む。
図5Aは本開示の一部の実施例に係る復号サブネットワークの概略構成図である。図5Aを参照すると、復号サブネットワークは、M個の密集して接続される算出モジュールを含み、Mは1以上の整数である。任意選択的に、図5Aに示す復号サブネットワークは、第1の密集して接続される算出モジュールDB1と、第2の密集して接続される算出モジュールDB2と、第3の密集して接続される算出モジュールDB3とを含む。
一部の実施例では、M個の密集して接続される算出モジュールのそれぞれは、N個の順次接続された畳み込みブロックを含み、Nは2以上の整数である。
一部の実施例では、M個の密集して接続される算出モジュールのそれぞれのN個の畳み込みブロックのうちのn番目(2≦n≦N)の畳み込みブロックは、M個の密集して接続される算出モジュールのそれぞれのN個の畳み込みブロックのうちの任意の先行する畳み込みブロックからの出力特徴マップ群を受信、処理してn番目の出力特徴マップ群を生成するように構成され、Nは整数である。
任意選択的に、M個の密集して接続される算出モジュールのそれぞれの入力は、M個の密集して接続される算出モジュールのそれぞれのN個の畳み込みブロックのうちのn番目の畳み込みブロックに入力される。
一部の実施例では、M個の密集して接続される算出モジュールのうちのm番目の密集して接続される算出モジュールからの出力は、m番目(1≦m≦M)の密集して接続される算出モジュールのN個の畳み込みブロックのそれぞれからのN個の出力特徴マップ群を含み、Mは整数である。
一部の実施例では、M個の密集して接続される算出モジュールのうちのm番目の密集して接続される算出モジュールの出力は、M個の密集して接続される算出モジュールのうちのm番目の密集して接続される算出モジュールの入力をさらに含む。
密集畳み込みネットワークの入力フォーマットは画像フォーマットであるが、復号サブネットワーク103は、畳み込みニューラルネットワークの一部として、融合部102からの出力を受信、処理するように構成される。復号サブネットワーク103の入力のフォーマットは、画像フォーマットとは異なる特徴マップフォーマットである。したがって、密集畳み込みネットワークの改善された構成を用いる復号サブネットワーク103が、特徴マップフォーマットを有する入力を受信、処理することができるように、密集畳み込みネットワークの従来の構成を改善された構成に修正すべきである。
密集畳み込みネットワークは、バッチ正規化BN演算、活性化演算(例えば、ReLU)及び畳み込み演算を実行するように構成される複数の密集ブロックを含む。例えば、複数の密集ブロックのそれぞれは、正規化層、活性化層、及び畳み込み層を有し、当該複数の密集ブロックのそれぞれの関数は、BN−ReLU−Conv(3×3)で表されてもよい。任意選択的に、畳み込み演算は、3×3畳み込みカーネルを使用する。任意選択的に、バッチ正規化BN演算は、特徴を正規化し、正規化後、事前トレーニング速度を向上させ、出力画像の品質を改善することができる。一例では、バッチ正規化BNは、インスタンス規格化INと同様である。バッチ正規化BN演算及びインスタンス正規化IN演算の両方は、入力画像を1つの所定画調のみと融合させるプロセスに用いられる。入力画像を任意の画調と融合させる(例えば、選択された画調画像の画調に依存する)ために、バッチ正規化BN演算及びインスタンス正規化IN演算は、当該プロセスを最適化せず、むしろ、バッチ正規化BN演算及びインスタンス正規化IN演算は、事前トレーニングプロセスに悪影響を及ぼすおそれがある。
一部の実施例では、本開示の畳み込みニューラルネットワークは、任意の画調画像の画調特徴が融合された入力画像のコンテンツ特徴を含む出力画像を生成することができ、これは、畳み込みニューラルネットワークが入力画像を任意の画調と融合することができることを意味する。インスタンス正規化IN演算又はバッチ正規化BN演算は、事前トレーニングプロセスに悪影響を及ぼすおそれがあるので、畳み込みニューラルネットワーク内の複数の密集ブロックのそれぞれは、正規化層を使用することができない。したがって、改善された構成を取得するために、密集畳み込みネットワークにおける複数の密集ブロックのそれぞれの通常の構成での正規化層を取り除くべきである。復号サブネットワーク103が用いる密集畳み込みネットワークの改善された構成は、それぞれが畳み込み層及び活性化層を有する複数の密集ブロックを含む。
一部の実施例では、M個の密集して接続される算出モジュールのそれぞれは、改善された密集畳み込みネットワーク構成を採用する。任意選択的に、N個の畳み込みブロックのそれぞれの関数は、密集畳み込みネットワークにおける複数の密集ブロックのそれぞれの関数と同じである。例えば、N個の畳み込みブロックのそれぞれの関数は、活性化演算(例えば、ReLU)と畳み込み演算(例えば、畳み込み演算は3×3畳み込みカーネルを用いる)とを含む。
密集畳み込みネットワークの通常の構成では、複数の遷移層のそれぞれは、複数の密集ブロックのそれぞれの後に配置される。複数の遷移層のそれぞれは、プーリング層を含む。本開示において、特徴抽出サブネットワーク101は、複数のプーリングブロックを有し、復号サブネットワーク103の構成を特徴抽出サブネットワーク101の構成に対応させるために、復号サブネットワーク103は、特徴抽出サブネットワーク101における複数のプーリングブロックに対応する複数の逆プーリングブロックを有するべきである。したがって、復号サブネットワーク103が用いる密集畳み込みネットワークの改善された構成は、密集畳み込みネットワークの通常の構成における複数のプーリングブロック(層)の代わりに、複数の逆プーリングブロック(層)を適用する。また、密集して接続される算出モジュールのそれぞれは、逆プーリングブロックのそれぞれの後に配置され、これに対し、通常の構成が有する複数のプーリングブロックのそれぞれは、複数の密集ブロックのそれぞれの後に配置される。
図5Bは本開示の一部の実施例に係る、復号サブネットワークにおける密集して接続される算出モジュールの概略構成図である。
図5Bを参照すると、一部の実施例では、M個の密集して接続される算出モジュールのうちのm番目の密集して接続される算出モジュールは、N個の畳み込みブロックを含む。任意選択的に、N個の畳み込みブロックのそれぞれは畳み込み層と活性化層とを含む。
一部の実施例では、M個の密集して接続される算出モジュールのm番目の密集して接続される算出モジュールは、2つの畳み込みブロックを含む(例えば、N個の畳み込みブロックのNは2である)。また、2つの畳み込みブロックのいずれも畳み込み層と活性化層とを有する。一部の実施例では、M個の密集して接続される算出モジュールのうちのm番目の密集して接続される算出モジュールは、3つの畳み込みブロックを含む(例えば、N個の畳み込みブロックのNは3である)。一部の実施例では、M個の密集して接続される算出モジュールのうちのm番目の密集して接続される算出モジュールは、4つの畳み込みブロックを含む(例えば、N個の畳み込みブロックのNは4である)。
一部の実施例では、M個の密集して接続される算出モジュールのそれぞれは、同数の畳み込みブロックを有する。一部の実施例では、M個の密集して接続される算出モジュールは、異なる数の畳み込みブロックを有してもよい。一例では、M個の密集して接続される算出モジュールのうちの1番目の密集して接続される算出モジュールは、N1個の畳み込みブロックを有し、M個の密集して接続される算出モジュールのうちの2番目の密集して接続される算出モジュールは、N2個の畳み込みブロックを有し、N1は、N2とは異なる。
例えば、図5Aを参照すると、第1の密集して接続される算出モジュールDB1は、2つの畳み込みブロックを含む。第2の密集して接続される算出モジュールDB2は、4つの畳み込みブロックを含む。第3の密集して接続される算出モジュールDB3は、3つの畳み込みブロックを含む。
図5Bを参照すると、一部の実施例では、M個の密集して接続される算出モジュールのうちのm番目の密集して接続される算出モジュールは、2つの畳み込みブロックを含む(例えば、N個の畳み込みブロックのNは2である)。任意選択的に、第mの密集して接続される算出モジュールに含まれる2つの畳み込みブロックは、第1の畳み込みブロック21a及び第2の畳み込みブロック21bである。任意選択的に、第1の畳み込みブロック21aは、第1の畳み込み層201及び第1の活性化層202を含む。任意選択的に、第2の畳み込みブロック21bは、第2の畳み込み層203及び第2の活性化層204を含む。任意選択的に、第1の畳み込み層201及び第2の畳み込み層203は、畳み込み演算を実行するように構成される。
一部の実施例では、第1の畳み込み層201は、複数種類の特徴をそれぞれ抽出するための複数の第1の畳み込みカーネルを含む。例えば、複数の第1の畳み込みカーネルのそれぞれは、3×3畳み込みカーネルである。任意選択的に、第2の畳み込み層203は、複数種類の特徴をそれぞれ抽出するための複数の第2の畳み込みカーネルを含む。例えば、複数の第2の畳み込みカーネルのそれぞれは、3×3畳み込みカーネルである。
一部の実施例では、N個の畳み込みブロックのそれぞれにおける畳み込み層は、同数の畳み込みカーネルを有し、これで、N個の畳み込みブロックのそれぞれから出力される出力特徴マップ群が同数の出力特徴マップを有することが保証される。一例では、第1の畳み込み層201における第1の畳み込みカーネルの数は、第2の畳み込み層203における第2の畳み込みカーネルの数と同じである。別の例では、第1の畳み込み層201は、12個の第1の畳み込みカーネルを含む。第2の畳み込み層203は12個の第2の畳み込みカーネルを含む。
一部の実施例では、M個の密集して接続される算出モジュールのそれぞれのN個の畳み込みブロックのうち、異なる畳み込みブロックにおける畳み込みカーネルの数は異なる。
一部の実施例では、M個の密集して接続される算出モジュールのそれぞれのN個の畳み込みブロックのうち、異なる畳み込みブロックの畳み込み層は異なる。一部の実施例では、M個の密集して接続される算出モジュールのそれぞれのN個の畳み込みブロックのうち、異なる畳み込みブロックにおける活性化層は異なる。例えば、第1の畳み込み層201は、第2の畳み込み層203と異なる。第1の活性化層202は、第2の活性化層204と異なる。
一部の実施例では、復号サブネットワーク103において、N個の畳み込みブロックのうちの少なくとも2つは、同じ畳み込み層及び同じ活性化層を有し、同じ畳み込み層は、同数の畳み込みカーネル及び同じパラメータを有する畳み込み層を指し、同じ活性化層は、同じパラメータを有する活性化層を指す。
一部の実施例では、第1の畳み込み層201は、複数の3×3畳み込みカーネルを含む。任意選択的に、第1の畳み込み層201は、複数の3×3畳み込みカーネルと複数の1×1畳み込みカーネルとを含む。一部の実施例では、第2の畳み込み層203は、複数の3×3畳み込みカーネルを含む。任意選択的に、第2の畳み込み層203は、複数の3×3畳み込みカーネルと複数の1×1畳み込みカーネルとを含む。
一部の実施例では、第1の活性化層202は、第1の畳み込み層201からの1番目の出力特徴マップ群に対して活性化演算を実行するように構成される。一部の実施例では、第2の活性化層204は、第2の畳み込み層203からの2番目の出力特徴マップ群に対して活性化演算を実行するように構成される。
一部の実施例では、第1の活性化層202及び第2の活性化層204のいずれも、活性化関数を有する。復号サブネットワーク103が比較的複雑な問題を効果的に解決できるように、活性化関数は、復号サブネットワーク103に非線形要素を追加するために用いられる。任意選択的に、活性化関数は、ReLU関数を含む。ReLU関数は、Leaky−ReLU関数、P−ReLU関数、及びR−ReLU関数を含む非飽和非線形関数である。一例では、第1の活性化層202で用いられる活性化関数は、第2の活性化層204で用いられる活性化関数と同じである。別の一例、第1の活性化層202で用いられる活性化関数は、第2の活性化層204で用いられる活性化関数とは異なる。
一部の実施例では、図5Aを参照すると、復号サブネットワーク103は、複数の逆プーリングブロックをさらに含む。例えば、複数の逆プーリングブロックは、第1の逆プーリングブロックT1、第2の逆プーリングブロックT2、及び第3の逆プーリングブロックT3を含む。
図5Cは本開示の一部の実施例に係る、復号サブネットワークの逆プーリングブロックの概略構成図である。図5Cを参照すると、一部の実施例では、複数の逆プーリングブロックのそれぞれは、畳み込み層、活性化層、及びアップサンプリング動作を実施するための逆プーリング層を含む。例えば、図5Cには、第1の逆プーリングブロックT1の構成が示されている。図5C及び図5Aを参照すると、第1の逆プーリングブロックT1は、第1の逆プーリング畳み込み層211、第1の逆プーリング活性化層212、及びアップサンプリング動作を実行するための第1の逆プーリング層213を含む。第2の逆プーリングブロックT2は、第2の逆プーリング畳み込み層、第2の逆プーリング活性化層、及びアップサンプリング動作を実施するための第2の逆プーリング層を含む。第3の逆プーリングブロックT3は、第3の逆プーリング畳み込み層、第3の逆プーリング活性化層、及びアップサンプリング動作を実行するための第3の逆プーリング層を含む。
一部の実施例では、N個の畳み込みブロックにおける畳み込み層は、複数の逆プーリングブロックにおける畳み込み層と異なる。一部の実施例では、N個の畳み込みブロックにおける畳み込み層の少なくとも1つは、複数の逆プーリングブロックにおける畳み込み層の1つと同じである。
一部の実施例では、N個の畳み込みブロックにおける活性化層は、複数の逆プーリングブロックにおける活性化層と異なる。一部の実施例では、N個の畳み込みブロックにおける活性化層の少なくとも1つは、複数の逆プーリングブロックにおける活性化層の1つと同じである。
一部の実施例では、第1の逆プーリング畳み込み層211は、畳み込み演算を実行するための複数の第3の畳み込みカーネルを含む。任意選択的に、複数の第3の畳み込みカーネルは、1×1畳み込みカーネルを含む。任意選択的に、第1の逆プーリング畳み込み層211は、第1の逆プーリング畳み込み層211に入力される特徴マップの数を低減するために用いられることにより、特徴マップの数を低減することができる。
一部の実施例では、第2の逆プーリングブロックT2の畳み込み層の畳み込みカーネルの数は、第3の逆プーリングブロックT3の畳み込み層の畳み込みカーネルの数と同じである。しかし、第2の逆プーリングブロックT2の畳み込み層の畳み込みカーネル数は、第1の逆プーリングブロックT1の畳み込み層の畳み込みカーネル数と異なる。例えば、第2の逆プーリングブロックT2の畳み込み層は12個の畳み込みカーネルを有する。第3の逆プーリングブロックT3の畳み込み層は12個の畳み込みカーネルを有する。第1のプーリングブロックT1の畳み込み層は、64個の畳み込みカーネルを有する。
一部の実施例では、第1の逆プーリング活性化層212は、第1の逆プーリング畳み込み層211から出力される特徴マップに対して活性化操作を実行するように構成される。任意選択的に、第1の逆プーリング活性化層212は、ReLU関数を有する。
一部の実施例では、第1の逆プーリング層213は、第1の逆プーリング活性化層212からの出力に対してアップサンプリング動作を実施するように構成される。第1の逆プーリング層213は、第1の逆プーリング層213に入力される特徴マップのデータ量を増加させることができる。復号サブネットワーク102は、第1の逆プーリング層213を用いてアップサンプリングを実行することにより、アップサンプリングの計算量を低減し、畳み込みニューラルネットワークの計算速度を向上させ、メモリ使用量を低減することができる。
一部の実施例では、第1の逆プーリングブロックT1により実行されるアップサンプリング、第2の逆プーリングブロックT2により実行されるアップサンプリング、及び第3の逆プーリングブロックT3により実行されるアップサンプリングは同じである。一部の実施例では、第1の逆プーリングブロックT1により実行されるアップサンプリング、第2の逆プーリングブロックT2により実行されるアップサンプリング、及び第3の逆プーリングブロックT3により実行されるアップサンプリングのうちの少なくとも2つは異なる。
アッププーリング層は、様々な適切な方法を用いてアップサンプリングを実行することができる。任意選択的に、第1の逆プーリング層213は、最大プーリングを用いてアップサンプリングを実行してもよい。サンプリングファクタは、2×2マトリクスである。任意選択的に、第1の逆プーリング層213は、ストライド転置畳み込み又は補間(例えば、補間、バイキュービック補間など)を用いてアップサンプリングを実行してもよい。
復号サブネットワークにおける密集して接続される算出モジュールを、密集畳み込みネットワークにおける密集ブロックと比較すると、復号サブネットワークにおける密集して接続される算出モジュールは、正規化層を含まないが、密集畳み込みネットワークにおける密集ブロックは、正規化層を含む。
密集畳み込みネットワークは、複数の遷移層を含む。復号サブネットワークにおける複数の逆プーリングブロックは、それぞれ、密集畳み込みネットワークにおける複数の遷移層に対応する。復号サブネットワークにおける複数の逆プーリングブロックを、密集畳み込みネットワークにおける複数の遷移層と比較すると、復号サブネットワークにおける複数の逆プーリングブロックは、アップサンプリングを実行するように構成され、これに対し、密集畳み込みネットワークにおける複数の遷移層は、ダウンサンプリングを実行するように構成される。
図5Dは本開示の一部の実施例に係る、復号サブネットワークにおける出力層の概略構成図である。図5A及び図5Dを参照すると、一部の実施例では、復号サブネットワーク103は出力層OPをさらに含む。任意選択的に、出力層OPは出力畳み込み層221を含む。任意選択的に、出力層OPは、第3の密集して接続される算出モジュールDB3からの特徴マップを特徴空間から画像空間へ変換して出力画像を生成するように構成される。
図5Aを参照すると、一部の実施例では、M個の密集して接続される算出モジュールは、第1の密集して接続される算出モジュールDB1、第2の密集して接続される算出モジュールDB2、及び第3の密集して接続される算出モジュールDB3を含む。複数の逆プーリングブロックは、第1の逆プーリングブロックT1、第2の逆プーリングブロックT2、及び第3の逆プーリングブロックT3を含む。
任意選択的に、第1の逆プーリングブロックT1、第1の密集して接続される算出モジュールDB1、第2の逆プーリングブロックT2、第2の密集して接続される算出モジュールDB2、第3の逆プーリングブロックT3、第3の密集して接続される算出モジュールDB3が順次接続される。一例では、第1の逆プーリングブロックT1は、第1の密集して接続される算出モジュールDB1の前に位置する。別の一例では、第2の逆プーリングブロックT2は、第1の密集して接続される算出モジュールDB1と第2の密集して接続される算出モジュールDB2との間に位置する。別の一例では、第3の逆プーリングブロックT3は、第2の密集して接続される算出モジュールDB2と第3の密集して接続される算出モジュールDB3との間に位置する。
任意選択的に、第1の密集して接続される算出モジュールDB1は、第1の逆プーリングブロックT1からの出力を受信し、第2の逆プーリングブロックT2への出力を生成するように構成される。任意選択的に、第2の密集して接続される算出モジュールDB2は、第2の逆プーリングブロックT2からの出力を受信し、第3の逆プーリングブロックT3への出力を生成するように構成される。第3の密集して接続される算出モジュールDB3は、第3の逆プーリングブロックT3からの出力を受信し、出力層OPへの出力を生成するように構成される。
図6Aは本開示の一部の実施例に係る畳み込みニューラルネットワークの概略構成図である。図2B及び図6Aを参照すると、一部の実施例では、復号サブネットワーク103により複数の出力特徴マップを再構成するプロセスは、第1の逆プーリングブロックT1により複数の出力特徴マップF1を処理して、複数の第1の逆プーリング特徴マップP1を生成する段階と、第1の密集して接続される算出モジュールDB1を用いて複数の第1の逆プーリング特徴マップP1の特徴を抽出して、複数の第1の中間復号特徴マップM1を生成する段階と、第2の逆プーリングブロックT2により複数の第1の中間復号特徴マップM1を処理して、複数の第2の逆プーリング特徴マップP2を生成する段階と、第2の密集して接続される算出モジュールDB2を用いて複数の第2の逆プーリング特徴マップP2の特徴を抽出して、複数の第2の中間復号特徴マップM2を生成する段階と、第3の逆プーリングブロックT3により複数の第2の中間復号特徴マップM2を処理して、複数の第3の逆プーリング特徴マップP3を生成する段階と、第3の密集して接続される算出モジュールDB3を用いて複数の第3の逆プーリング特徴マップP3の特徴を抽出して、複数の第3の中間復号特徴マップM3を生成する段階と、出力層OPを用いて複数の第3の中間復号特徴マップM3を特徴空間から画像空間へ変換して、出力画像F2を生成する段階とをさらに含む。
一部の実施例では、複数の出力特徴マップF1の数は512であり、複数の出力特徴マップは同じサイズ(例えば、28×28)を有する。図5C及び図6Aを参照すると、一部の実施例では、第1の逆プーリングブロックT1により複数の出力特徴マップF1を処理して複数の第1の逆プーリング特徴マップP1を生成するプロセスにおいて、第1の逆プーリングブロックT1は、複数の出力特徴マップF1に対して畳み込み演算、活性化演算、及びアップサンプリング動作を順次実行して、複数の第1の逆プーリング特徴マップP1を生成するように構成される。任意選択的に、複数の第1の逆プーリング特徴マップP1における特徴マップの数が64に低減される。複数の第1の逆プーリング特徴マップP1は、同じサイズ(例えば、56×56)を有する。
一部の実施例では、第1の密集して接続される算出モジュールDB1を用いて複数の第1の逆プーリング特徴マップP1の特徴を抽出して複数の第1の中間復号特徴マップM1を生成するプロセスにおいて、第1の密集して接続される算出モジュールDB1は、第1の畳み込みブロック21a及び第2の畳み込みブロック21bを含む。
任意選択的に、第1の密集して接続される算出モジュールDB1の第1の畳み込みブロック21aは、複数の第1の逆プーリング特徴マップP1に対して畳み込み演算及び活性化演算を順次実行して、1番目の出力特徴マップ群M11を生成するように構成される。
任意選択的に、第1の密集して接続される算出モジュールDB1の第2の畳み込みブロック21bは、複数の第1の逆プーリング特徴マップP1及び1番目の出力特徴マップ群M11に対して、畳み込み演算及び活性化演算を順次実行して、2番目の出力特徴マップ群M12を生成するように構成される。
任意選択的に、複数の第1の中間復号特徴マップM1は、複数の第1の逆プーリング特徴マップP1と、1番目の出力特徴マップ群M11と、2番目の出力特徴マップ群M12とを含む。複数の第1の逆プーリング特徴マップP1における特徴マップの数は64である。1番目の出力特徴マップ群M11における特徴マップの数は12である。2番目の出力特徴マップ群M12における特徴マップの数は12である。したがって、複数の第1の中間復号特徴マップM1における特徴マップの数は、88(例えば、64+12+12)である。複数の第1の中間復号特徴マップM1は、同じサイズ(例えば、56×56)を有する。
一部の実施例では、第2の逆プーリングブロックT2により複数の第1の中間復号特徴マップM1を処理して複数の第2の逆プーリング特徴マップP2を生成するプロセスにおいて、第2の逆プーリングブロックT2は、複数の第1の中間復号特徴マップMlに対して畳み込み演算、活性化演算、及びアップサンプリング動作を順次実行して、複数の第2の逆プーリング特徴マップP2を生成するように構成される。任意選択的に、複数の第2の逆プーリング特徴マップP2内の特徴マップの数は44に低減される。複数の第2の逆プーリング特徴マップP2は、同じサイズ(例えば、112×112)を有する。
一部の実施例では、第2の密集して接続される算出モジュールDB2を用いて複数の第2の逆プーリング特徴マップP2の特徴を抽出して複数の第2の中間復号特徴マップM2を生成するプロセスにおいて、第2の密集して接続される算出モジュールDB2は、第3の畳み込みブロック21c及び第4の畳み込みブロック21dを含む。
任意選択的に、第2の密集して接続される算出モジュールDB2の第3の畳み込みブロック21cは、複数の第2の逆プーリング特徴マップP2に対して、畳み込み演算及び活性化演算を順次実行して、3番目の出力特徴マップ群M21を生成する。
任意選択的に、第2の密集して接続される算出モジュールDB2の第4の畳み込みブロック21dは、複数の第2の逆プーリング特徴マップP2及び3番目の出力特徴マップ群M21に対して、畳み込み演算及び活性化演算を順次実行して、4番目の出力特徴マップ群M22を生成するように構成される。
任意選択的に、複数の第2の中間復号特徴マップM2は、複数の第2の逆プーリング特徴マップP2、3番目の出力特徴マップ群M21、及び4番目の出力特徴マップ群M22を含む。複数の第2逆プーリング特徴マップP2内の特徴マップの数は44である。3番目の出力特徴マップ群M21における特徴マップの数は12である。4番目の出力特徴マップ群M22における特徴マップの数は12である。したがって、複数の第2の中間復号特徴マップM2における特徴マップの数は、68(例えば、44+12+12)である。複数の第2の中間復号特徴マップM2は、同じサイズ(例えば、112×112)を有する。
一部の実施例では、第3の逆プーリングブロックT3により複数の第2の中間復号特徴マップM2を処理して複数の第3の逆プーリング特徴マップP3を生成するプロセスにおいて、第3の逆プーリングブロックT3は、複数の第2の中間復号特徴マップM2に対して畳み込み演算、活性化演算、及びアップサンプリング動作を順次実行して、複数の第3の逆プーリング特徴マップP3を生成するように構成される。任意選択的に、複数の第3の逆プーリング特徴マップP3内の特徴マップの数は34に低減される。複数の第3の逆プーリング特徴マップP3は、同じサイズ(例えば、224×224)を有する。
一部の実施例では、第3の密集して接続される算出モジュールDB3を用いて複数の第3の逆プーリング特徴マップP3の特徴を抽出して複数の第3の中間復号特徴マップM3を生成するプロセスにおいて、第3の密集して接続される算出モジュールDB3は、第5の畳み込みブロック21e及び第6の畳み込みブロック21fを含む。
任意選択的に、第3の密集して接続される算出モジュールDB3の第5の畳み込みブロック21eは、複数の第3の逆プーリング特徴マップP3に対して、畳み込み演算及び活性化演算を順次実行して、5番目の出力特徴マップ群M31を生成する。
任意選択的に、第3の密集して接続される算出モジュールDB3の第6の畳み込みブロック21fは、複数の第3の逆プーリング特徴マップP3及び5番目の出力特徴マップ群M31に対して、畳み込み演算及び活性化演算を順次実行して、6番目の出力特徴マップ群M32を生成する。
任意選択的に、複数の第3の中間復号特徴マップM3は、複数の第3の逆プーリング特徴マップP3、5番目の出力特徴マップ群M31、及び6番目の出力特徴マップ群M32を含む。複数の第3逆プーリング特徴マップP3における特徴マップの数は34である。5番目の出力特徴マップ群M31における特徴マップの数は12である。6番目の出力特徴マップ群M32における特徴マップの数は12である。したがって、複数の第3の中間復号特徴マップM3における特徴マップの数は、58(例えば、34+12+12)である。複数の第3の中間復号特徴マップM3は、同じサイズ(例えば、224×224)を有する。
一部の実施例では、出力層OPを用いて複数の第3の中間復号特徴マップM3を特徴空間から画像空間へ変換して、出力画像F2を生成するプロセスにおいて、出力層OPは、複数の第3の中間復号特徴マップM3を特徴空間から画像空間へ変換して出力画像F2を生成するように構成される。任意選択的に、出力画像F2は、3つのカラーチャンネル、例えば赤チャネルR、緑チャネルG及び青チャネルBを含む。
一部の実施例では、畳み込み層の畳み込みカーネルは異なる。一例では、特徴抽出サブネットワーク101内の畳み込み層の畳み込みカーネルは異なる。別の一例では、復号サブネットワーク103内の畳み込み層の畳み込みカーネルは異なる。一部の実施例では、畳み込み層における少なくとも2つの畳み込みカーネルは、同じである。一例では、特徴抽出サブネットワーク101の畳み込み層における少なくとも2つの畳み込みカーネルは同じである。別の一例では、復号サブネットワーク103の畳み込み層における少なくとも2つの畳み込みカーネルは、同じである。
一部の実施例では、特徴抽出サブネットワーク101は、複数のプーリングブロックを含む。任意選択的に、特徴抽出サブネットワーク101の複数のプーリングブロックは、それぞれ、復号サブネットワーク103における複数の逆プーリングブロックに対応する。図6Aを参照すると、一部の実施例では、特徴抽出サブネットワーク101は、第1のプーリングブロックPB1、第2のプーリングブロックPB2、及び第3のプーリングブロックPB3を含む。任意選択的に、第1のプーリングブロックPB1は、第1のプーリング層PL1を含む。第2のプーリングブロックPB2は、第2のプーリング層PL2を含む。第3のプーリングブロックPB3は、第3のプーリング層PL3を含む。例えば、第1のプーリングブロックPB1は、第3の逆プーリングブロックT3に対応する。第2のプーリングブロックPB2は、第3の逆プーリングブロックT2に対応する。第3のプーリングブロックPB3は、第1の逆プーリングブロックT1に対応する。
一部の実施例では、特徴抽出サブネットワーク101は、第1の畳み込み層群CP1、第2の畳み込み層群CP2、第3の畳み込み層群CP3、及び第4の畳み込み層群CP4をさらに含む。任意選択的に、第1のプーリング層PL1は、第1の畳み込み層群CP1と第2の畳み込み層群CP2との間に位置し、第2のプーリング層PL2は、第2の畳み込み層群CP2と第3の畳み込み層群CP3との間に位置し、第3のプーリング層PL3は、第3の畳み込み層群CP3と第4の畳み込み層群CP4との間に位置する。
一部の実施例では、特徴抽出サブネットワーク101は、予めトレーニングされたVGG16ネットワークの上位8層を用いることができる。任意選択的に、複数の画調特徴マップは、VGG16ネットワークの第ReLu4_1層から出力される特徴マップを含む。任意選択的に、複数のコンテンツ特徴は、VGG16ネットワークの第ReLu4_1層から出力される特徴マップを含む。
例えば、特徴抽出サブネットワーク101を用いて、画調画像から特徴を抽出することにより、複数の画調特徴マップが生成される。特徴抽出サブネットワーク101を用いて入力画像から特徴を抽出することにより、複数のコンテンツ特徴マップが生成される。
一部の実施例では、特徴抽出サブネットワーク101は、予めトレーニングされたVGG19ネットワークの上位14層を用いることができる。任意選択的に、複数の画調特徴マップは、VGG19ネットワークの第ReLu5_2層から出力される特徴マップを含む。任意選択的に、複数のコンテンツ特徴は、VGG19ネットワークの第ReLu5_2層から出力される特徴マップを含む。
本明細書で用いられる場合、用語「VGG16ネットワーク」は、「OxfordNet」とも呼ばれ、オックスフォード大学のVisual Geometry Groupにより開発された畳み込みニューラルネットワークである。VGG16ネットワークは、16個の畳み込み層を含む。同様に、VGG19ネットワークは、19個の畳み込み層を含む。
一部の実施例では、VGG16ネットワークは、1番目の畳み込み層群、第1のプーリング層、2番目の畳み込み層群、第2のプーリング層、3番目の畳み込み層群、第3のプーリング層、4番目の畳み込み層群、第4のプーリング層、及び全結合層を含む。
任意選択的に、1番目の畳み込み層群は、2つの畳み込み層と2つの活性化層とを含む。2つの畳み込み層のそれぞれにおける3×3畳み込みカーネルの数は64である。任意選択的に、2番目の畳み込み層群は、2つの畳み込み層と2つの活性化層とを含む。2つの畳み込み層のそれぞれにおける3×3畳み込みカーネルの数は128である。任意選択的に、3番目の畳み込み層群は、3つの畳み込み層と3つの活性化層とを含む。3つの畳み込み層のそれぞれにおける3×3畳み込みカーネルの数は256である。任意選択的に、4番目の畳み込み層群は、3つの畳み込み層と3つの活性化層とを含む。3つの畳み込み層のそれぞれにおける3×3畳み込みカーネルの数は512である。任意選択的に、VGG16ネットワークの第ReLu4_1層は、4番目の畳み込み層群における第1の活性化層を表す。
図2B及び図6Aを参照すると、特徴抽出サブネットワーク101において、複数の畳み込み層群は、第1の畳み込み層群CP1、第2の畳み込み層群CP2、第3の畳み込み層群CP3、及び第4の畳み込み層群CP4を含む。複数の畳み込み層群のそれぞれは、画調画像から画調特徴を抽出するように構成される。画調特徴は、畳み込みニューラルネットワークの異なる層からの特徴マップ間の関係を表す。画調特徴には、テクスチャ情報、色情報などが含まれる。例えば、テクスチャ情報(特徴マップ間の相関を示す)は、位置に依存しない。
一部の実施例では、複数の畳み込み層群のそれぞれは、入力画像のコンテンツ特徴を抽出するように構成される。コンテンツ特徴は、画像内の物体の分布を表す。例えば、コンテンツ特徴は、入力画像のコンテンツ情報を含む。
一部の実施例では、第1の畳み込み層群CP1は、2つの畳み込み層と2つの活性化層とを含み、第2の畳み込み層群CP2は、2つの畳み込み層と2つの活性化層とを含み、第3の畳み込み層群CP3は3つの畳み込み層と3つの活性化層を含み、第4の畳み込み層群は、1つの畳み込み層と1つの活性化層とを含む。
一部の実施例では、特徴抽出サブネットワーク101において、複数のプーリング層は、第1のプーリング層PL1、第2のプーリング層PL2、及び第3のプーリング層PL3を含む。複数のプーリング層は、ダウンサンプリング演算を用いて特徴マップをサンプリングすることができる。任意選択的に、複数のプーリング層のそれぞれは、複数の畳み込み層群のそれぞれからの出力に対してダウンサンプリング演算を実行するように構成される。例えば、第1のプーリング層PL1は第1の畳み込み層群CP1の出力をダウンサンプリングする。
一部の実施例では、複数のプーリング層は、特徴マップのサイズを縮小することにより特徴マップのデータ量を低減することができる。特徴マップの数は、ダウンサンプリング演算前の数と同じであるように維持される。
ダウンサンプリング演算では、様々な適切な方法を用いることができる。ダウンサンプリング演算に適した方法の例としては、最大プーリング、平均プーリング、ランダムプーリング、ダウンサンプリング(例えば、固定位置の画素のアンダーサンプリングを選択する)、及び逆多重化出力(例えば、入力画像を複数のより小さい画像に分割する)を含むが、これらに限定されない。
一部の実施例では、特徴抽出サブネットワーク101の複数のプーリングブロックが、それぞれ、復号サブネットワーク103の複数の逆プーリングブロックに対応するということは、特徴抽出サブネットワーク101の複数のプーリングブロックにおける複数のプーリング層のそれぞれのアップサンプリングファクタが、それぞれ、復号サブネットワーク103の複数の逆プーリングブロックにおける複数の逆プーリング層のそれぞれのダウンサンプリングファクタに対応することを意味する。
一部の実施例では、図6A及び図5Cを参照すると、第3のプーリングブロックPB3は、第1の逆プーリングブロックT1に対応する。第3のプーリングブロックPB3は、第3のプーリング層PL3を含み、第1の逆プーリングブロックT3は、第1の逆プーリング層213を含む。第3のプーリング層PL3は、第1の逆プーリング層213に対応する。例えば、第3のプーリング層PL3のダウンサンプリングファクタはQであり、第3のプーリング層PL3は、第3のプーリング層PL3に入力される特徴マップのデータ量をQ分の1に縮減することができる。第1の逆プーリング層213のアップサンプリング層ファクタは1/Qであり、第1の逆プーリング層213は、第1の逆プーリング層213に入力される特徴マップのデータ量をQ倍に増加させることができる。任意選択的に、第2のプーリングブロックPB2内の第2のプーリング層PL2は、第2の逆プーリングブロックT2内の第2逆プーリング層に対応する。任意選択的に、第1のプーリングブロックPB1内の第1のプーリング層PL1は、第3の逆プーリングブロックT3内の第3の逆プーリング層に対応する。
一部の実施例では、畳み込みニューラルネットワーク100からの出力画像のサイズが入力画像のサイズと同じであれば、複数のプーリング層の数と複数の逆プーリング層の数は異なってもよい。
図7は本開示の一部の実施例に係る、プーリングプロセス及び逆プーリングプロセスの概略図である。図7を参照すると、図7の左側は、プーリング演算を示し、図7の右側は、逆プーリング演算を示す。プーリング演算は、ダウンサンプリング演算を含む。逆プーリング演算は、アップサンプリング動作を含む。
図7の左の部分を参照すると、一部の実施例では、プーリング演算において、第1の入力特徴マップ701のサイズは、3×3である。第1の入力特徴マップ701の9個の画素のそれぞれは、値を有する。9個の画素のうち、最大値を有する画素の座標は(0,1)であり、当該最大値を有する画素の最大値は8である。
任意選択的に、プーリング演算は、最大プーリングを採用し、最大プーリングで採用されるダウンサンプリングファクタは、3×3マトリクスである。例えば、第1の入力特徴マップ701に対してプーリング演算を実行して、第1の出力特徴マップ702を生成する。第1の出力特徴マップ702のサイズは、1×1である。第1の出力特徴702は1画素を有し、第1の出力特徴702の当該1画素の値は8である。
図7の右側部分を参照すると、一部の実施例では、第2の入力特徴マップ703のサイズは1×1である。第2の入力特徴マップ703のサイズは、3×3に拡大され、これは、逆プーリング演算により実現され得る。
一部の実施例では、逆プーリング層は、逆プーリング演算を実行する場合、対応するプーリング層が実行するプーリング演算のパラメータを取得する必要がある。
逆プーリング演算では、アップサンプリングファクタは3×3マトリクスである。例えば、逆プーリング演算は、この前のプーリング演算に対応する。この前のプーリング演算では、最大値を有する画素の座標が取得された。逆プーリング演算では、画素のうち最大値を有する画素の座標が用いられる。例えば、画素のうち最大値を有する画素の座標は(0,1)である。座標が(0、1)である画素に最大活性化値(例えば、7.8)でパディングし、9個の画素のうち残りの画素を0でパディングすることにより、第2の出力特徴マップ704を生成し、第2の出力特徴マップ704のサイズは、3×3である。
一部の実施例では、図2B、図3及び図6Aを参照すると、特徴抽出サブネットワーク101を用いて画調画像F0の画調特徴を抽出して複数の画調特徴マップF11を生成するプロセスは、第1の畳み込み層CP1を用いて画調画像F0の画調特徴を抽出して複数の第1の中間画調特徴マップFS11を生成するステップと、第1のプーリング層PL1を用いて複数の第1の中間画調特徴マップFS11をダウンサンプリングして複数の第1のプーリング画調特徴マップPS1を生成するステップと、第2の畳み込み層CP2を用いて複数の第1のプーリング画調特徴マップPS1の画調特徴を抽出して複数の第2の中間画調特徴マップFS21を生成するステップと、第2のプーリング層PL2を用いて複数の第2の中間画調特徴マップFS21をダウンサンプリングして複数の第2のプーリング画調特徴マップPS2を生成するステップと、第3の畳み込み層CP3を用いて複数の第2のプーリング画調特徴マップPS2の画調特徴を抽出して複数の第3の中間画調特徴マップFS31を生成するステップと、第3のプーリング層PL3を用いて複数の第3の中間画調特徴マップFS31をダウンサンプリングして複数の第3のプーリング画調特徴マップPS3を生成するステップと、第4の畳み込み層CP4を用いて複数の第3のプーリング画調特徴マップPS3の画調特徴を抽出して複数の第4の中間画調特徴マップFS4を生成するステップと、を含む。任意選択的に、複数の画調特徴マップF11は複数の第4中間画調特徴マップFS4を含む。
図6Bは本開示の一部の実施例に係る畳み込みニューラルネットワークの概略構成図である。図2B、図3、及び図6Bを参照すると、特徴抽出サブネットワーク101を用いて入力画像C0のコンテンツ特徴を抽出して複数のコンテンツ特徴マップC11を生成するプロセスは、第1の畳み込み層群CP1を用いて入力画像C0のコンテンツ特徴を抽出して複数の第1の中間コンテンツ特徴マップFC11を生成するステップと、第1のプーリング層PL1を用いて複数の第1の中間コンテンツ特徴マップFC11をダウンサンプリングして複数の第1のプーリングコンテンツ特徴マップPC1を生成するステップと、第2の畳み込み層群CP2を用いて複数の第1のプーリングコンテンツ特徴マップPC1のコンテンツ特徴を抽出して複数の第2の中間コンテンツ特徴マップFC21を生成するステップと、第2のプーリング層PL2を用いて複数の第2の中間コンテンツ特徴マップFC21をダウンサンプリングして複数の第2のプーリングコンテンツ特徴マップPC2を生成するステップと、第3の畳み込み層群CP3を用いて複数の第2のプーリングコンテンツ特徴マップPC2のコンテンツ特徴を抽出して複数の第3の中間コンテンツ特徴マップFC31を生成するステップと、第3のプーリング層PL3を用いて複数の第3の中間コンテンツ特徴マップFC31をダウンサンプリングして複数の第3のプーリングコンテンツ特徴マップPC3を生成するステップと、第4の畳み込み層群CP4を用いて複数の第3のプーリングコンテンツ特徴マップPC3のコンテンツ特徴を抽出して複数の第4の中間コンテンツ特徴マップFC4を生成するステップとを含む。任意選択的に、複数のコンテンツ特徴マップC11は、複数の第4の中間コンテンツ特徴マップFC4を含む。
一部の実施例では、入力画像C0は、画調画像F0と同じサイズを有する。一例では、入力画像C0のサイズと画調画像F0のサイズのいずれも224×224である。別の一例では、入力画像C0のサイズと画調画像F0のサイズのいずれも256×256である。任意選択的に、入力画像C0のサイズと、画調画像F0のサイズとが異なる。例えば、入力画像C0のサイズは800×800であり、画調画像F0のサイズは256×256である。
一部の実施例では、画調画像F0のサイズは、224×224である。任意選択的に、画調画像F0は、3つのカラーチャンネル、例えば赤チャンネルR、緑チャンネルG及び青チャンネルBを含む。
一部の実施例では、図6Aを参照すると、第1の畳み込み層群CP1は、第1の抽出畳み込み層C11、第2の抽出畳み込み層C12、第1の抽出活性化層R11、及び第2の抽出活性化層R12を含む。任意選択的に、第1の畳み込み層群CP1の各抽出畳み込み層は、複数の3×3畳み込みカーネルを有する。第1の畳み込み層群CP1における複数の3×3畳み込みカーネルの数は64である。
一部の実施例では、第1の抽出畳み込み層C11及び第1の抽出活性化層R11は、画調画像F0の画調特徴を抽出して、複数の第5の中間画調特徴マップFS10を生成するように構成される。一部の実施例では、第2の抽出畳み込み層C12及び第2の抽出活性化層R12は、複数の第5の中間画調特徴マップFS10の画調特徴を抽出して、複数の第1の中間画調特徴マップFS11を生成するように構成される。
任意選択的に、複数の第5の中間画調特徴マップFS10の数は64である。任意選択的に、複数の第5の中間画調特徴マップFS10は、同じサイズを有し、例えば、複数の第5の中間画調特徴マップFS10のそれぞれのサイズは224×224である。任意選択的に、複数の第1の中間画調特徴マップFS11の数は64である。また、複数の第1の中間画調特徴マップFS11は同じサイズを有し、例えば、複数の第1の中間画調特徴マップFS11のそれぞれのサイズは224×224である。
一部の実施例では、第1のプーリング層PL1は、複数の第1の中間画調特徴マップFS11に対してダウンサンプリング演算を実行して、複数の第1のプーリング画調特徴マップPS1を生成するように構成される。任意選択的に、複数の第1のプーリング画調特徴マップPS1は、同じサイズを有する。
一部の実施例では、第1のプーリング層PL1のダウンサンプリングファクタは、ステップサイズが2である2×2マトリクスである。任意選択的に、複数の第1の中間画調特徴マップFS11のサイズは224×224である。ダウンサンプリング演算後に、複数の第1のプーリング画調特徴マップPS1は複数の第1の中間画調特徴マップFS11に基づいて生成され、複数の第1のプーリング画調特徴マップPS1のそれぞれのサイズは112×112である。任意選択的に、複数の第1の中間画調特徴マップFS11の数は64であり、複数の第1のプーリング画調特徴マップPS1の数も64である。例えば、複数の第1の中間画調特徴マップFS11の数は、複数の第1のプーリング画調特徴マップPS1の数と同じである。複数の第1のプーリング画調特徴マップPS1のそれぞれのサイズは、複数の第1の中間画調特徴マップFS11のそれぞれのサイズの0.25倍である。
一部の実施例では、第2の畳み込み層群CP2は、第3の抽出畳み込み層C21、第4の抽出畳み込み層C22、第3の抽出活性化層R21、及び第4の抽出活性化層R22を含む。任意選択的に、第2の畳み込み層群CP2の各抽出畳み込み層は、複数の3×3畳み込みカーネルを有する。第2の畳み込み層群CP2における複数の3×3畳み込みカーネルの数は128である。
一部の実施例では、第3の抽出畳み込み層C21及び第3の抽出活性化層R21は、複数の第1のプーリング画調特徴マップPS1の画調特徴を抽出して、複数の第6の中間画調特徴マップFS20を生成するように構成される。一部の実施例では、第4の抽出畳み込み層C22及び第4の抽出活性化層R22は、複数の第6の中間画調特徴マップFS20の画調特徴を抽出して、複数の第2の中間画調特徴マップFS21を生成するように構成される。
任意選択的に、複数の第6の中間画調特徴マップFS20の数は128である。任意選択的に、複数の第6の中間画調特徴マップFS20は、同じサイズを有し、例えば、複数の第6の中間画調特徴マップFS20のそれぞれのサイズは112×112である。任意選択的に、複数の第2の中間画調特徴マップFS21の数は128である。任意選択的に、複数の第2の中間画調特徴マップFS21は、同じサイズを有し、例えば、複数の第2の中間画調特徴マップFS21のそれぞれのサイズは112×112である。
一部の実施例では、第2のプーリング層PL2は、複数の第2の中間画調特徴マップFS21に対してダウンサンプリング演算を実行して、複数の第2のプーリング画調特徴マップPS2を生成するように構成される。任意選択的に、複数の第2のプーリング画調特徴マップPS2は、同じサイズを有する。
一部の実施例では、第2のプーリング層PL2のダウンサンプリングファクタは、ステップサイズが2である2×2マトリクスである。任意選択的に、複数の第2の中間画調特徴マップFS21のサイズは112×112である。ダウンサンプリング演算後に、複数の第2のプーリング画調特徴マップPS2は複数の第2の中間画調特徴マップFS21に基づいて生成され、複数の第2のプーリング画調特徴マップPS2のそれぞれのサイズは56×56である。任意選択的に、複数の第2の中間画調特徴マップFS21の数は128であり、複数の第2のプーリング画調特徴マップPS2の数も128である。例えば、複数の第2の中間画調特徴マップFS21の数は、複数の第2のプーリング画調特徴マップPS2の数と同じである。複数の第2のプーリング画調特徴マップPS2のそれぞれのサイズは、複数の第2の中間画調特徴マップFS21のそれぞれのサイズの0.25倍である。
一部の実施例では、第3の畳み込み層群CP3は、第5の抽出畳み込み層C31、第6の抽出畳み込み層C32、第7の抽出畳み込み層C33、第5の抽出活性化層R31、第6の抽出活性化層R32、及び第7の抽出活性化層R33を含む。任意選択的に、第3の畳み込み層群CP3の各抽出畳み込み層は、複数の3×3畳み込みカーネルを有する。第3の畳み込み層群CP3における複数の3×3畳み込みカーネルの数は256である。
一部の実施例では、第5の抽出畳み込み層C31及び第5の抽出活性化層R31は、複数の第2のプーリング画調特徴マップPS2の画調特徴を抽出して、複数の第7の中間画調特徴マップFS30を生成するように構成される。一部の実施例では、第6の抽出畳み込み層C32及び第6の抽出活性化層R32は、複数の第7の中間画調特徴マップFS30の画調特徴を抽出して、複数の第8の中間画調特徴マップFS32を生成するように構成される。一部の実施例では、第7の抽出畳み込み層C33及び第7の抽出活性化層R33は、複数の第8の中間画調特徴マップFS32の画調特徴を抽出して、複数の第3の中間画調特徴マップFS31を生成するように構成される。
任意選択的に、複数の第7の中間画調特徴マップFS30の数は256である。任意選択的に、複数の第7の中間画調特徴マップFS30は、同じサイズを有し、例えば、複数の第7の中間画調特徴マップFS30のそれぞれのサイズは56×56である。任意選択的に、複数の第3の中間画調特徴マップFS31の数は256である。任意選択的に、複数の第3中間画調特徴マップFS31は、同じサイズを有し、例えば、複数の第3の中間画調特徴マップFS31のそれぞれのサイズは56×56である。
一部の実施例では、第3のプーリング層PL3は、複数の第3の中間画調特徴マップFS31に対してダウンサンプリング演算を実行して、複数の第3のプーリング画調特徴マップPS3を生成するように構成される。任意選択的に、複数の第3のプーリング画調特徴マップPS3は、同じサイズを有する。
一部の実施例では、第3のプーリング層PL3のダウンサンプリングファクタは、ステップサイズが2である2×2マトリクスである。任意選択的に、複数の第3の中間画調特徴マップFS31のサイズは56×56である。ダウンサンプリング演算後に、複数の第3のプーリング画調特徴マップPS3は、複数の第3の中間画調特徴マップFS31に基づいて生成され、複数の第3のプーリング画調特徴マップPS3のそれぞれのサイズは28×28である。任意選択的に、複数の第3の中間画調特徴マップFS31の数は256であり、複数の第3のプーリング画調特徴マップPS3の数も256である。例えば、複数の第3の中間画調特徴マップFS31の数は、複数の第3のプーリング画調特徴マップPS3の数と同じである。複数の第3のプーリング画調特徴マップPS3のそれぞれのサイズは、複数の第3の中間画調特徴マップFS31のそれぞれのサイズの0.25倍である。
一部の実施例では、第4の畳み込み層群CP4は、第8の抽出畳み込み層C41及び第8の抽出活性化層R41を含む。任意選択的に、第4の畳み込み層群CP4の各抽出畳み込み層は、複数の3×3畳み込みカーネルを有する。第4の畳み込み層群CP4における複数の3×3畳み込みカーネルの数は512である。
一部の実施例では、第8の抽出畳み込み層C41及び第8の抽出活性化層R41は、複数の第3のプーリング画調の特徴マップPS3の画調特徴を抽出して、複数の第4の中間画調特徴マップFS4を生成するように構成される。
任意選択的に、複数の第4の中間画調特徴マップFS4の数は512である。任意選択的に、複数の第4の中間画調特徴マップFS4は、同じサイズを有し、例えば、複数の第4の中間画調特徴マップFS4のそれぞれのサイズは28×28である。
一部の実施例では、複数の画調特徴マップF11は、複数の第4の中間画調特徴マップFS4を含む。したがって、複数の画調特徴マップF11の数は512である。複数の画調特徴マップF11は同じサイズを有し、例えば、複数の画調特徴マップF11のそれぞれのサイズは28×28である。
一部の実施例では、入力画像C0のサイズは224×224である。任意選択的に、入力画像C0は、3つのカラーチャネル、例えば、赤チャネルR、緑チャネルG及び青チャネルBを含む。
一部の実施例では、図6Bを参照すると、第1の畳み込み層群CP1は、第1の抽出畳み込み層C11、第2の抽出畳み込み層C12、第1の抽出活性化層R11、及び第2の抽出活性化層R12を含む。任意選択的に、第1の畳み込み層群CP1の各抽出畳み込み層は、複数の3×3畳み込みカーネルを有する。第1の畳み込み層群CP1における複数の3×3畳み込みカーネルの数は64である。
一部の実施例では、第1の抽出畳み込み層C11及び第1の抽出活性化層R11は、入力画像C0のコンテンツ特徴を抽出して、複数の第5の中間コンテンツ特徴マップFC10を生成するように構成される。一部の実施例では、第2の抽出畳み込み層C12及び第2の抽出活性化層R12は、複数の第5の中間コンテンツ特徴マップFC10のコンテンツ特徴を抽出して、複数の第1の中間コンテンツ特徴マップFC11を生成するように構成される。
任意選択的に、複数の第5の中間コンテンツ特徴マップFC10の数は64である。任意選択的に、複数の第5の中間コンテンツ特徴マップFC10は、同じサイズを有し、例えば、複数の第5の中間コンテンツ特徴マップFC10のそれぞれのサイズは、224×224である。任意選択的に、複数の第1の中間コンテンツ特徴マップFC11の数は64である。任意選択的に、複数の第1の中間コンテンツ特徴マップFC11は、同じサイズを有し、例えば、複数の第1の中間コンテンツ特徴マップFC11のそれぞれのサイズは224×224である。
一部の実施例では、第1のプーリング層PL1は、複数の第1の中間コンテンツ特徴マップFC11に対してダウンサンプリング演算を実行して、複数の第1のプーリングコンテンツ特徴マップPC1を生成するよう構成される。任意選択的に、複数の第1のプーリングコンテンツ特徴マップPC1は、同じサイズを有する。
一部の実施例では、第1のプーリング層PL1のダウンサンプリングファクタは、ステップサイズが2である2×2マトリクスである。任意選択的に、複数の第1の中間コンテンツ特徴マップFC11のサイズは、224×224である。ダウンサンプリング演算後に、複数の第1のプーリングコンテンツ特徴マップPC1が、複数の第1の中間コンテンツ特徴マップFC11から生成され、複数の第1のプーリングコンテンツ特徴マップPC1のそれぞれのサイズは、112×112である。任意選択的に、複数の第1の中間コンテンツ特徴マップFC11の数は64であり、複数の第1のプーリングコンテンツ特徴マップPC1の数も64である。例えば、複数の第1の中間コンテンツ特徴マップFC11の数は、複数の第1のプーリングコンテンツ特徴マップPC1の数と同じである。複数の第1のプーリングコンテンツ特徴マップPC1のそれぞれのサイズは、複数の第1の中間コンテンツ特徴マップFC11のそれぞれのサイズの0.25倍である。
一部の実施例では、第2の畳み込み層群CP2は、第3の抽出畳み込み層C21、第4の抽出畳み込み層C22、第3の抽出活性化層R21、及び第4の抽出活性化層R22を含む。任意選択的に、第2の畳み込み層群CP2の各抽出畳み込み層は、複数の3×3畳み込みカーネルを有する。第2の畳み込み層群CP2における複数の3×3畳み込みカーネルの数は128である。
一部の実施例では、第3の抽出畳み込み層C21及び第3の抽出活性化層R21は、複数の第1のプーリングコンテンツ特徴マップPC1のコンテンツ特徴を抽出して、複数の第6の中間コンテンツ特徴マップFC20を生成するように構成される。一部の実施例では、第4の抽出畳み込み層C22及び第4の抽出活性化層R22は、複数の第6の中間コンテンツ特徴マップFC20のコンテンツ特徴を抽出して、複数の第2の中間コンテンツ特徴マップFC21を生成するように構成される。
任意選択的に、複数の第6の中間コンテンツ特徴マップFC20の数は128である。任意選択的に、複数の第6の中間コンテンツ特徴マップFC20は、同じサイズを有し、例えば、複数の第6の中間コンテンツ特徴マップFC20のそれぞれのサイズは、112×112である。任意選択的に、複数の第2の中間コンテンツ特徴マップFC21の数は128である。任意選択的に、複数の第2の中間コンテンツ特徴マップFC21は、同じサイズを有し、例えば、複数の第2の中間コンテンツ特徴マップFC21のそれぞれのサイズは、112×112である。
一部の実施例では、第2のプーリング層PL2は、複数の第2の中間コンテンツ特徴マップFC21に対してダウンサンプリング演算を実行して、複数の第2のプーリングコンテンツ特徴マップPC2を生成するように構成される。任意選択的に、複数の第2のプーリングコンテンツ特徴マップPC2は、同じサイズを有する。
一部の実施例では、第2のプーリング層PL2のダウンサンプリングファクタは、ステップサイズが2である2×2マトリクスである。任意選択的に、複数の第2の中間コンテンツ特徴マップFC21のサイズは、112×112である。ダウンサンプリング演算後に、複数の第2のプーリングコンテンツ特徴マップPC2が、複数の第2の中間コンテンツ特徴マップFC21に基づいて生成され、複数の第2のプーリングコンテンツ特徴マップPC2のそれぞれのサイズは、56×56である。任意選択的に、複数の第2の中間コンテンツ特徴マップFC21の数は128であり、複数の第2のプーリングコンテンツ特徴マップPC2の数も128である。例えば、複数の第2の中間コンテンツ特徴マップFC21の数は、複数の第2のプーリングコンテンツ特徴マップPC2の数と同じである。複数の第2のプーリングコンテンツ特徴マップPC2のそれぞれのサイズは、複数の第2の中間コンテンツ特徴マップFC21のそれぞれのサイズの0.25倍である。
一部の実施例では、第3の畳み込み層群CP3は、第5の抽出畳み込み層C31、第6の抽出畳み込み層C32、第7の抽出畳み込み層C33、第5の抽出活性化層R31、第6の抽出活性化層R32、及び第7の抽出活性化層R33を含む。任意選択的に、第3の畳み込み層群CP3の各抽出畳み込み層は、複数の3×3畳み込みカーネルを有する。第3の畳み込み層群CP3における複数の3×3畳み込みカーネルの数は256である。
一部の実施例では、第5の抽出畳み込み層C31及び第5の抽出活性化層R31は、複数の第2のプーリングコンテンツ特徴マップPC2のコンテンツ特徴を抽出して、複数の第7の中間コンテンツ特徴マップFC30を生成するように構成される。一部の実施例では、第6の抽出畳み込み層C32及び第6の抽出活性化層R32は、複数の第7の中間コンテンツ特徴マップFC30のコンテンツ特徴を抽出して、複数の第8の中間コンテンツ特徴マップFC32を生成するように構成される。一部の実施例では、第7の抽出畳み込み層C33及び第7の抽出活性化層R33は、複数の第8の中間コンテンツ特徴マップFC32のコンテンツ特徴を抽出して、複数の第3の中間コンテンツ特徴マップFC31を生成するように構成される。
任意選択的に、複数の第7の中間コンテンツ特徴マップFC30の数は256である。任意選択的に、複数の第7の中間コンテンツ特徴マップFC30は、同じサイズを有し、例えば、複数の第7の中間コンテンツ特徴マップFC30それぞれのサイズは、56×56である。任意選択的に、複数の第3の中間コンテンツ特徴マップFC31の数は256である。任意選択的に、複数の第3の中間コンテンツ特徴マップFC31は、同じサイズを有し、例えば、複数の第3の中間コンテンツ特徴マップFC31のそれぞれのサイズは56×56である。
一部の実施例では、第3のプーリング層PL3は、複数の第3の中間コンテンツ特徴マップFC31に対してダウンサンプリング演算を実行して複数の第3のプーリングコンテンツ特徴マップPC3を生成するように構成される。任意選択的に、複数の第3のプーリングコンテンツ特徴マップPC3は、同じサイズを有する。
一部の実施例では、第3のプーリング層PL3のダウンサンプリングファクタは、ステップサイズが2である2×2マトリクスである。任意選択的に、複数の第3の中間コンテンツ特徴マップFC31のサイズは、56×56である。ダウンサンプリング演算後に、複数の第3のプーリングコンテンツ特徴マップPC3が、複数の第3の中間コンテンツ特徴マップFC31に基づいて生成され、複数の第3のプーリングコンテンツ特徴マップPC3のそれぞれのサイズは、28×28である。任意選択的に、複数の第3の中間コンテンツ特徴マップFC31の数は256であり、複数の第3のプーリングコンテンツ特徴マップPC3の数も256である。例えば、複数の第3の中間コンテンツ特徴マップFC31の数は、複数の第3のプーリングコンテンツ特徴マップPC3の数と同じである。複数の第3のプーリングコンテンツ特徴マップPC3のそれぞれのサイズは、複数の第3の中間コンテンツ特徴マップFC31のそれぞれのサイズの0.25倍である。
一部の実施例では、第4の畳み込み層群CP4は、第8の抽出畳み込み層C41及び第8の抽出活性化層R41を含む。任意選択的に、第4の畳み込み層群CP4の各抽出畳み込み層は、複数の3×3畳み込みカーネルを有する。第4の畳み込み層群CP4における複数の3×3畳み込みカーネルの数は512である。
一部の実施例では、第8の抽出畳み込み層C41及び第8の抽出活性化層R41は、複数の第3のプーリングコンテンツ特徴マップPC3のコンテンツ特徴を抽出して、複数の第4の中間コンテンツ特徴マップFC4を生成するように構成される。
任意選択的に、複数の第4の中間コンテンツ特徴マップFC4の数は512である。任意選択的に、複数の第4の中間コンテンツ特徴マップFC4は、同じサイズを有し、例えば、複数の第4の中間コンテンツ特徴マップFC4のそれぞれのサイズは、28×28である。
一部の実施例では、複数のコンテンツ特徴マップC11は、複数の第4の中間コンテンツ特徴マップFC4を含む。したがって、複数のコンテンツ特徴マップC11の数は512である。複数のコンテンツ特徴マップC11は、同じサイズを有し、例えば、複数のコンテンツ特徴マップC11のそれぞれのサイズは、28×28である。
一部の実施例では、特徴抽出サブネットワーク101における抽出活性化層は、ReLU関数を含む。
一部の実施例では、特徴抽出サブネットワークにおいて、特徴マップは特徴チャネルを示す。例えば、複数の第4の中間画調特徴マップFS4の数は512であり、複数の第4の中間画調特徴マップFS4に対応する特徴チャンネルの数も512である。
一部の実施例では、図2B、図3、及び図6Bを参照すると、融合部102を用いて複数の画調特徴マップF11を複数のコンテンツ特徴マップC11にそれぞれ融合させて複数の出力特徴マップF1を生成するプロセスにおいて、融合部102は、複数のコンテンツ特徴マップC11のそれぞれに対して正規化演算を実行して、複数のコンテンツ特徴マップC11のそれぞれについての平均値及び分散値を生成し、複数の画調特徴マップF11のそれぞれについての平均値及び分散値を生成し、複数のコンテンツ特徴マップC11のそれぞれについての平均値及び分散値と、複数の画調特徴マップF11のそれぞれについての平均値及び分散値とをマッチングさせることで、画調画像F0の画調特徴を入力画像C0に伝送するように構成される。
一部の実施例では、複数の出力特徴マップF1は、以下の関数で表すことができる。
A(x,y)は、複数の出力特徴マップF1からなる3次元マトリクスを表し、xは、複数のコンテンツ特徴マップC11からなる3次元マトリクスを表し、yは、複数の画調特徴マップF11からなる3次元マトリクスを表し、μ(x)は、複数のコンテンツ特徴マップC11のそれぞれから導出された複数の平均値からなる3次元マトリクス(例えば、複数のコンテンツ特徴マップC11のそれぞれは、個別の平均値を有する)を表し、σ(x)は、複数のコンテンツ特徴マップC11のそれぞれから導出された複数の分散値からなる3次元マトリクス(例えば、複数のコンテンツ特徴マップC11のそれぞれは、個別の分散値を有する)を表し、μ(y)は、複数の画調特徴マップF11のそれぞれから導出された複数の平均値からなる3次元マトリクス(例えば、複数の画調特徴マップF11のそれぞれは、個別の平均値を有する)を表し、σ(y)は、複数の画調特徴マップF11のそれぞれから導出された複数の分散値からなる3次元マトリクス(例えば、複数の画調特徴マップF11のそれぞれは、個別の分散値を有する)を表す。
一部の実施例では、複数の出力特徴マップF1の数、複数のコンテンツ特徴マップC11の数、及び複数の画調特徴マップF11の数は、同一である。例えば、複数の出力特徴マップF1の数、複数のコンテンツ特徴マップC11の数、及び複数の画調特徴マップF11の数のいずれも、j0であり、j0は正の整数である。任意選択的に、A(x,y)は、[A1(x1,y1),A2(x2,y2),...,Ag(xg,yg),...,Aj0(xj0,yj0)]と表すことができ、Ag(xg,yg)は二次元マトリクスを表し、gは整数であり、j0≧g≧1である。任意選択的に、xは[x1,x2,…,xg,…,xj0]と表すことができ、xj0は2次元マトリクスを表す。任意選択的に、yは[y1,y2,…,yg,…,yj0]と表すことができ、yj0は2次元マトリクスを表す。任意選択的に、μ(x)は、[μ1(x1),μ2(x2),…,μg(xg),…,μj0(xj0)]と表すことができ、μg(xg)は2次元マトリクスを表し、μg(xg)はxgの平均値である。任意選択的に、σ(x)は、[σ1(x1),σ2(x2),…,σg(xg),…,σj0(xj0)]と表すことができ、σg(xg)は2次元マトリクスを表し、σg(xg)はxgの分散値である。任意選択的に、μ(y)は、[μ1(y1),μ2(y2),…,μg(yg),…,μj0(yj0)]と表すことができ、μg(yg)は2次元マトリクスを表し、μg(yg)はygの平均値である。任意選択的に、σ(y))は、[σ1(x1),σ2(x2),…,σg(yg),…,σj0(yj0)]と表すことができ、σg(yg)は2次元マトリクスを表し、σg(yg)はygの分散値である。
一部の実施例では、図6Aを参照すると、j0は512である。複数の出力特徴マップF1は、同じサイズを有する。例えば、複数の出力特徴マップF1のそれぞれのサイズは28×28である。一部の実施例では、複数の画調特徴マップF11は、同じサイズを有する。例えば、複数の画調特徴マップF11のそれぞれのサイズは28×28である。一部の実施例では、図6Bを参照すると、複数のコンテンツ特徴マップC11は、同じサイズを有する。例えば、複数のコンテンツ特徴マップC11のそれぞれのサイズは、28×28である。したがって、A(x,y)は、28×28×512の3次元マトリクスである。xは、28×28×512の3次元マトリクスである。yは、28×28×512の3次元マトリクスである。μ(x)は、28×28×512の3次元マトリクスである。σ(x)は、28×28×512の3次元マトリクスである。μ(y)は、28×28×512の3次元マトリクスである。σ(y)は、28×28×512の3次元マトリクスである。
一部の実施例では、融合部102は、複数のコンテンツ特徴マップC11からなる3次元マトリクスのg番目のコンテンツ特徴マップx
gを、複数の画調特徴マップF11からなる3次元マトリクスのg番目の画調特徴マップy
gと融合させて、複数の出力特徴マップF1からなる3次元マトリクスのg番目の出力特徴マップA
g(x
g,y
g)を生成することができる。したがって、A
g(x
g,y
g)は、以下の関数で表すことができる。
一部の実施例では、画調画像及び入力画像を入力する前に、畳み込みニューラルネットワークを利用したコンピュータ実現方法は、畳み込みニューラルネットワークを予めトレーニングするステップをさらに含む。
図8は本開示の一部の実施例に係る、畳み込みニューラルネットワークを予めトレーニングする方法のフローチャートである。図8を参照すると、畳み込みニューラルネットワークを予めトレーニングするステップは、トレーニングコンテンツ画像及びトレーニング画調画像を畳み込みニューラルネットワークに入力する段階と、復号サブネットワークを用いて複数のトレーニング出力画像を生成し、融合部を用いて複数のトレーニング出力特徴マップを生成する段階と、解析ネットワークを用いて複数のトレーニング出力画像の画調特徴及びコンテンツ特徴を抽出して、複数の第1のトレーニング画調特徴マップ及び複数のトレーニングコンテンツ特徴マップを生成する段階と、解析ネットワークを用いてトレーニング画調画像の画調特徴を抽出して、複数の第2のトレーニング画調特徴マップを生成する段階と、複数の第1のトレーニング画調特徴マップ、複数の第2のトレーニング画調特徴マップ、複数のトレーニングコンテンツ特徴マップ及び複数のトレーニング出力特徴マップに基づいて、損失関数を用いて復号サブネットワークのパラメータ損失を算出する段階と、損失に応じて復号サブネットワークのパラメータを調整する段階とを含む。
任意選択的に、復号サブネットワークを用いて複数のトレーニング出力画像を生成し、融合部を用いて複数のトレーニング出力特徴マップを生成するプロセスにおいて、トレーニングコンテンツ画像とトレーニング画調画像の画調とを融合させて、複数のトレーニング出力画像及び複数のトレーニング出力特徴マップを生成する。
一部の実施例では、畳み込みニューラルネットワークを予めトレーニングするステップは、損失関数が条件を満たすか否かを決定するステップをさらに含む。損失関数が条件を満たす場合、予めトレーニングされた畳み込みニューラルネットワークが得られる。損失関数が条件を満たさない場合、畳み込みニューラルネットワークを予めトレーニングするステップは、畳み込みニューラルネットワークを繰り返し予めトレーニングするステップをさらに含む。例えば、損失関数が条件を満たさない場合、トレーニングコンテンツ画像及びトレーニング画調画像が入力されるプロセスで、事前トレーニングプロセスを繰り返す。
図9は本開示の一部の実施例に係る、畳み込みニューラルネットワークを予めトレーニングする事前トレーニングネットワークの概略構成図である。図9を参照すると、一部の実施例では、事前トレーニングネットワークは、畳み込みニューラルネットワーク100、解析ネットワーク200、及び損失関数を含む。任意選択的に、損失関数は、畳み込みニューラルネットワーク100のパラメータ損失を算出するように構成される。任意選択的に、畳み込みニューラルネットワーク100のパラメータ損失に基づいて、畳み込みニューラルネットワーク100のパラメータを調整してもよい。
一部の実施例では、解析ネットワーク200及び特徴抽出サブネットワーク101は、同じ構成及び同じパラメータを含む。例えば、解析ネットワーク200として、VGG16ネットワーク又はVGG19ネットワークを用いてもよい。
一例では、事前トレーニングプロセスにおいて、解析ネットワーク200における複数の畳み込み層の一部を用いて画調特徴を抽出することができる。例えば、解析ネットワーク200内の2つ又は3つの畳み込み層を用いて画調特徴を抽出することができる。任意選択的に、複数の畳み込み層のうちの1つを用いてコンテンツ特徴を抽出してもよい。
別の一例では、事前トレーニングプロセスにおいて、解析ネットワーク200内の複数の畳み込み層のうちの1つを用いて、画調特徴を抽出することができる。任意選択的に、解析ネットワーク200内の複数の畳み込み層の一部を用いてコンテンツ特徴を抽出してもよい。
一部の実施例では、解析ネットワーク200の構成及びパラメータは、特徴抽出サブネットワーク101の構成及びパラメータとは少なくとも部分的に異なる。
一部の実施例では、解析ネットワーク200がVGG16ネットワークの複数の層を含む場合、複数のトレーニングコンテンツ特徴マップは、VGG16ネットワークの第ReLu4_1層から出力される特徴マップを含み、複数の第1のトレーニング画調特徴マップは、VGG16ネットワークの第ReLu1_1層、第ReLu2_1層、第ReLu3_1層及び第ReLu4_1層から出力される特徴マップを含み、複数の第2のトレーニング画調特徴マップは、VGG16ネットワークの第ReLu1_1層、第ReLu2_1層、第ReLu3_1層及び第ReLu4_1層から出力される特徴マップを含む。
任意選択的に、複数のトレーニングコンテンツ特徴マップは、VGG16ネットワークの第ReLu4_3層から出力される特徴マップを含む。任意選択的に、複数の第1のトレーニング画調特徴マップは、VGG16ネットワークの第ReLu1_2層、第ReLu2_2層、第ReLu3_3層及び第ReLu4_3層から出力される特徴マップを含む。任意選択的に、複数の第2のトレーニング画調特徴マップは、VGG16ネットワークの第ReLu1_2層、第ReLu2_2層、第ReLu3_3層、及び第ReLu4_3層から出力される特徴マップを含む。
一部の実施例では、解析ネットワーク200がVGG19ネットワークの複数の層を含む場合、複数のトレーニングコンテンツ特徴マップは、VGG19ネットワークの第ReLu5_2層から出力される特徴マップを含み、複数の第1のトレーニング画調特徴マップは、VGG19ネットワークの第ReLu1_1層、第ReLu2_1層、第ReLu3_2層、第ReLu4_2層、及び第ReLu5_2層から出力される特徴マップを含み、複数の第2のトレーニング画調特徴マップは、VGG19ネットワークの第ReLu1_1層、第ReLu2_1層、第ReLu3_2層、第ReLu4_2層、及び第ReLu5_2層から出力される特徴マップを含む。
一部の実施例では、特徴抽出サブネットワーク101における、コンテンツ特徴マップを出力するように構成される複数の層のそれぞれは、解析ネットワーク200における、コンテンツ特徴マップを出力するように構成される複数の層のそれぞれに対応する。例えば、特徴抽出サブネットワーク101は、第1のVGG16ネットワークの複数の層を含み、解析ネットワーク200は、第2のVGG16ネットワークの複数の層を含む。特徴抽出サブネットワーク101において、第1のVGG16ネットワークの第ReLu4_1層から出力される特徴マップは、コンテンツ特徴マップである。解析ネットワーク200において、第2のVGG16ネットワークの第ReLu4_1層から出力される特徴マップは、コンテンツ特徴マップである。したがって、融合部102が生成した複数のトレーニング出力特徴マップの数は、解析ネットワーク200が生成した複数のトレーニングコンテンツ特徴マップの数と同じである。そして、融合部102が生成した複数のトレーニング出力特徴マップのそれぞれのサイズは、解析ネットワーク200が生成した複数のトレーニングコンテンツ特徴マップのそれぞれのサイズと同じである。
一部の実施例では、事前トレーニングプロセスを繰り返すべきか否かを決定するための条件は、畳み込みニューラルネットワークを予めトレーニングした回数である。一部の実施例では、当該条件は、トレーニングコンテンツ画像及びトレーニング画調画像が入力される場合に、畳み込みニューラルネットワークの損失の最小値である。
一部の実施例では、事前トレーニングプロセスにおいて、複数のサンプル画像を用いて畳み込みニューラルネットワークを予めトレーニングすべきである。一部の実施例では、事前トレーニングを繰り返すことは、畳み込みニューラルネットワークのパラメータを調整することに寄与する。一部の実施例では、事前トレーニングプロセスは、より最適化されたパラメータを有するように、畳み込みニューラルネットワークを微調整するステップをさらに含む。
一部の実施例では、復号サブネットワーク103の初期パラメータは、乱数である。例えば、乱数はガウス分布に従う。任意選択的に、復号サブネットワーク103の初期パラメータは、ImageNetなどの画像データベース内の予めトレーニングされたパラメータを用いてもよい。
一部の実施例では、損失関数は、復号サブネットワーク103の初期パラメータに基づいて損失を算出することができる。任意選択的に、損失は、復号サブネットワーク103の出力層から復号サブネットワーク103の入力層へ1層ずつに逆伝搬されてもよい。これにより、損失を復号サブネットワーク103の各層の各要素に分散させて、復号サブネットワーク103の各要素の誤差値を取得することができる。この誤差値は、復号サブネットワーク103の各要素のパラメータを修正する基礎とされる。任意選択的に、誤差値は、各要素のパラメータに対する損失関数の偏導関数と表されてもよい。
一部の実施例では、特徴抽出サブネットワーク101は、特徴抽出サブネットワーク101内のパラメータを調整する必要なく、予めトレーニングされたVGG16ネットワークの複数の層を利用する。また、融合部102は、ネットワークのパラメータを含まないため、融合部102を予めトレーニングしておく必要がない。事前トレーニングプロセスは、復号サブネットワーク103を予めトレーニングするステップと、損失を用いて復号サブネットワーク103内のパラメータを調整するステップとのみを含む。
一部の実施例では、特徴抽出サブネットワーク101は、非事前トレーニング済みのニューラルネットワークを使用するので、事前トレーニングプロセスは、特徴抽出サブネットワーク101を予めトレーニングするステップをさらに含む。
一部の実施例では、事前トレーニングネットワークは、最適化関数をさらに含む。任意選択的に、最適化関数は、復号サブネットワーク103内のパラメータの損失に基づいて復号サブネットワーク103内のパラメータの誤差値を算出してもよい。任意選択的に、復号サブネットワーク103内のパラメータの誤差値に応じて、復号サブネットワーク103内のパラメータを調整する。最適化関数は、様々な適切なアルゴリズムを用いて、復号サブネットワーク103内のパラメータの誤差値を算出することができる。適切なアルゴリズムの例は、確率的勾配降下法(Stochastic Gradient Descent、SGD)及びバッチ勾配降下法(Batch Gradient Descent、BGD)を含むが、これらに限定されない。
一部の実施例では、トレーニングコンテンツ画像は、様々なタイプの画像からなる群から選択することができる。任意選択的に、トレーニングコンテンツ画像は、デジタルカメラや携帯電話により撮影された画像であってよい。任意選択的に、トレーニングコンテンツ画像は、人物画像、動物画像、植物画像、及び風景画像であってもよい。
一部の実施例では、トレーニング画調画像は、様々なアーティスト(例えば、モネム、ヴァンゴッホ、ピガソン等)の名画であってもよい。任意選択的に、トレーニング画調画像は、水墨画、油絵、スケッチ等であってもよい。
図8を参照すると、一部の実施例では、損失関数は、コンテンツ損失関数Lc及び画調損失関数Lsを含む。任意選択的に、コンテンツ損失関数Lcは、トレーニングコンテンツ画像と複数のトレーニング出力画像との間のコンテンツの相違を記載するように構成される。任意選択的に、画調損失関数Lsは、トレーニング画調画像と複数のトレーニング出力画像との間の画調の相違を記載するように構成される。
一部の実施例では、損失関数は、以下のように表すことができる。
Lcは、コンテンツ損失関数を表し、Lsは、画調損失関数を表し、αは、コンテンツ損失関数Lcの重みを表し、βは、画調損失関数Lsの重みを表す。
一部の実施例では、損失は、コンテンツ損失と画調損失とを含む。任意選択的に、コンテンツ損失は、複数のトレーニングコンテンツ特徴マップと複数のトレーニング出力特徴マップとの間のユークリッド距離である。任意選択的に、コンテンツ損失関数Lcは、以下のように表すことができる。
tは、トレーニングコンテンツ画像を表し、g(t)は、複数のトレーニング出力画像を表し、f
11(g(t))は、複数のトレーニングコンテンツ特徴マップからなる3次元マトリクスを表し、f
2(t)は、複数のトレーニング出力特徴マップからなる3次元マトリクスを表し、C1は、正規化を実行するための定数である。
例えば、複数のトレーニングコンテンツ特徴マップの数は、複数のトレーニング出力特徴マップの数と同じである。また、複数のトレーニングコンテンツ特徴マップのそれぞれは、複数のトレーニング出力特徴マップのそれぞれに対応する。
一部の実施例では、融合部102は、画調特徴の平均値及び分散値のみを伝送する。平均値と分散値とをマッチングすることで画調損失を算出する。任意選択的に、画調損失関数Lsは、以下のように表される。
sはトレーニング画調画像を表し、F
12(s)は複数の第2のトレーニング画調特徴マップからなる3次元マトリクスを示し、F
12(g(t))は、複数の第1のトレーニング画調特徴マップからなる3次元マトリクスを表し、μ
k(f
12(g(t)))は複数の第1のトレーニング画調特徴マップの平均値からなる3次元マトリクスを表し、μ
k(f
12(s))は複数の第2のトレーニング画調特徴マップの平均値からなる3次元マトリクスを表し、σ
k(f
12(g(t)))は複数の第1のトレーニング画調特徴マップの分散値からなる3次元マトリクスを表し、σ
k(f
12(s))は複数の第2のトレーニング画調特徴マップの分散値からなる3次元マトリクスを表し、kは整数である。
一例では、複数の第1のトレーニング画調特徴マップは、VGG16ネットワークの第ReLu1_1層から出力される1番目の第1のトレーニング画調特徴マップ群、VGG16ネットワークの第ReLu2_1層から出力される2番目の第1のトレーニング画調特徴マップ群、VGG16ネットワークの第ReLu3_1層から出力される3番目の第1のトレーニング画調特徴マップ群、及びVGG16ネットワークの第ReLu4_1層から出力される4番目の第1のトレーニング画調特徴マップ群を含む。別の一例では、複数の第2のトレーニング画調特徴マップは、VGG16ネットワークの第ReLu1_1層から出力される1番目の第2のトレーニング画調特徴マップ群、VGG16ネットワークの第ReLu2_1層から出力される2番目の第2のトレーニング画調特徴マップ群、VGG16ネットワークの第ReLu3_1層から出力される3番目の第2のトレーニング画調特徴マップ群、及びVGG16ネットワークの第ReLu4_1層から出力される4番目の第2のトレーニング画調特徴マップ群を含む。
一部の実施例では、k=1の場合、μ1(f12(g(t)))は、1番目の第1のトレーニング画調特徴マップ群の平均値からなる3次元マトリクスを表し、μ1(f12(s))は、1番目の第2のトレーニング画調特徴マップ群の平均値からなる3次元マトリクスを表し、σ1(f12(g(t)))は、1番目の第1のトレーニング画調特徴マップ群の分散値からなる3次元マトリクスを表し、σ1(f12(s))は、1番目の第2のトレーニング画調特徴マップ群の分散値からなる3次元マトリクスを表す。
一部の実施例では、k=2の場合、μ2(f12(g(t)))は、2番目の第1のトレーニング画調特徴マップ群の平均値からなる3次元マトリクスを表し、μ2(f12(s))は、2番目の第2のトレーニング画調特徴マップ群の平均値からなる3次元マトリクスを表し、σ2(f12(g(t)))は、2番目の第1のトレーニング画調特徴マップ群の分散値からなる3次元マトリクスを表し、σ2(f12(s))は、2番目の第2のトレーニング画調特徴マップ群の分散値からなる3次元マトリクスを表す。
一部の実施例では、k=3の場合、μ3(f12(g(t)))は、3番目の第1のトレーニング画調特徴マップ群の平均値からなる3次元マトリクスを表し、μ3(f12(s))は、3番目の第2のトレーニング画調特徴マップ群の平均値からなる3次元マトリクスを表し、σ3(f12(g(t)))は、3番目の第1のトレーニング画調特徴マップ群の分散値からなる3次元マトリクスを表し、σ3(f12(s))は、3番目の第2のトレーニング画調特徴マップ群の分散値からなる3次元マトリクスを表す。
一部の実施例では、k=4の場合、μ4(f12(g(t)))は、4番目の第1のトレーニング画調特徴マップ群の平均値からなる3次元マトリクスを表し、μ4(f12(s))は、4番目の第2のトレーニング画調特徴マップ群の平均値からなる3次元マトリクスを表し、σ4(f12(g(t)))は、4番目の第1のトレーニング画調特徴マップ群の分散値からなる3次元マトリクスを表し、σ4(f12(s))は、4番目の第2のトレーニング画調特徴マップ群の分散値からなる3次元マトリクスを表す。
一部の実施例では、復号サブネットワーク103のパラメータ損失を算出する段階は、複数のトレーニングコンテンツ特徴マップ及び複数のトレーニング出力特徴マップに基づいて、コンテンツ損失関数を用いて復号サブネットワーク103のパラメータのコンテンツ損失を算出することと、複数の第1のトレーニング画調特徴マップ及び複数の第2のトレーニング画調特徴マップに基づいて、画調損失関数を用いて、復号サブネットワーク103のパラメータの画調損失を算出することとを含む。
一部の実施例では、第1の畳み込みニューラルネットワークは、特徴抽出サブネットワーク、融合部、及び第1の復号サブネットワークを含む。任意選択的に、第1の復号サブネットワークは、特徴抽出サブネットワークの構成と対称な構成を有する。一部の実施例では、第2の畳み込みニューラルネットワークは、特徴抽出サブネットワークと、融合部と、復号サブネットワークとして本明細書に開示される第2の復号サブネットワークとを含む。
一部の実施例では、第1の復号サブネットワークのパラメータの数は3505000であり、第2の復号サブネットワークのパラメータの数は337000である。第2の復号サブネットワークのパラメータの数は、第1の復号サブネットワークのパラメータの数の10分の1である。同じ条件では、第1の畳み込みニューラルネットワークの事前トレーニングにかかる時間は7時間であり、第2の畳み込みニューラルネットワークの事前トレーニングにかかるは5時間である。例えば、第1及び第2の畳み込みニューラルネットワークに、同じ入力画像(サイズが800×800である)及び同じ画調画像(サイズが256×256である)が入力される。1番目の畳み込みニューラルネットワークによる入力画像及び画調画像に対する100回の処理の処理時間は0.85秒である。2回目の畳み込みニューラルネットワークによる入力画像及び画調画像に対する100回の処理の処理時間は0.52秒である。本明細書で開示される復号サブネットワークを利用する第2の畳み込みニューラルネットワークは、処理効率を向上させ、パラメータの数を低減し、事前トレーニングプロセスを短縮することができる。
他の一様態では、本開示は、合成画像生成用の第1の装置を提供する。図10は本開示の一部の実施例に係る、合成画像生成用の第1の装置の概略図である。図10を参照すると、合成画像生成用の第1の装置70は、画像取得部71と、画像処理部72とを含む。任意選択的に、画像取得部71と画像処理部72とは相互に接続される。例えば、画像取得部71と画像処理部72は、1又は複数の集積回路により相互に接続される。
一部の実施例では、画像取得部71は、画調画像及び入力画像を取得するように構成される。任意選択的に、画像取得部71は、メモリを含む。メモリには、画調画像及び入力画像が記憶される。任意選択的に、画像取得部71は、1以上のカメラを含み、入力画像及び画調画像を取得する。任意選択的に、画像取得部71は、ハードウェア、ソフトウェア、及びファームウェアからなる群から選択される構成要素の組み合わせである。
一部の実施例では、画像処理部72は、畳み込みニューラルネットワーク720を含む。当該畳み込みニューラルネットワークは、画調画像の画調特徴が融合された入力画像のコンテンツ特徴を含む出力画像を生成するように構成される。任意選択的に、畳み込みニューラルネットワーク720は、特徴抽出サブネットワーク、融合部、及び復号サブネットワークを含む。復号サブネットワークは、M個の密集して接続される算出モジュールを含み、Mは1以上の整数である。M個の密集して接続される算出モジュールのそれぞれは、順次接続されたN個の畳み込みブロックを含み、Nは2以上の整数である。任意選択的に、M個の密集して接続される算出モジュールのそれぞれのN個の畳み込みブロックのうちのn番目(2≦n≦N)の畳み込みブロックは、M個の密集して接続される算出モジュールのそれぞれのN個の畳み込みブロックのうちの任意の先行する畳み込みブロックからの出力特徴マップ群を受信、処理して、n番目の出力特徴マップ群を生成するように構成され、nは整数である。任意選択的に、M個の密集して接続される算出モジュールのうちのm番目(1≦m≦M)の密集して接続される算出モジュールからの出力は、m番目の密集して接続される算出モジュールのN個の畳み込みブロックのそれぞれからのN個の出力特徴マップ群を含み、Mは整数である。
一部の実施例では、画像処理部71は、特徴抽出サブネットワーク101を用いて画調画像の画調特徴を抽出して、複数の画調特徴マップを生成し、特徴抽出サブネットワーク101を用いて入力画像のコンテンツ特徴を抽出して、複数のコンテンツ特徴マップを生成し、融合部を用いて複数のコンテンツ特徴マップと複数の画調特徴マップとをそれぞれ融合させて、複数の出力特徴マップを生成し、復号サブネットワークにより複数の出力特徴マップを再構成して、出力画像を生成するように構成される。
一部の実施例では、画像処理部72の畳み込みニューラルネットワーク720と、本明細書に記載のコンピュータ実現方法における畳み込みニューラルネットワークとは、同じ構成及び同じ関数を有する。
一部の実施例では、合成画像生成用の第1の装置70は、事前トレーニングネットワークを含む。任意選択的に、事前トレーニングネットワークは、畳み込みニューラルネットワーク720、解析ネットワーク、及び損失関数を含む。任意選択的に、事前トレーニングネットワークは、畳み込みニューラルネットワーク70を予めトレーニングするように構成される。
図11は、本開示の一部の実施例に係る、合成画像生成装置の概略図である。図11を参照すると、一部の実施例では、本開示は、合成画像生成用の第2の装置80を提供する。合成画像生成用の第2の装置80は、メモリ82と、1つ以上のプロセッサ81とを含む。任意選択的に、メモリ82と1つ以上のプロセッサ81とが相互に接続される。一例では、メモリ82と1つ以上のプロセッサ81とは、直接的に相互に接続される。別の一例では、メモリ82と1つ以上のプロセッサ81とは、間接的に相互に接続される。
一部の実施例では、メモリ82及び1つ以上のプロセッサ81は、ネットワークを介して相互に接続される。メモリ82と1つ以上のプロセッサ81とを接続するのに適したネットワークの例は、無線ネットワーク、有線ネットワーク、無線ネットワークと有線ネットワークとの組み合わせ、ローカルエリアネットワーク、インターネット、電気通信ネットワーク、及びインターネット又は電気通信ネットワークに基づくモノのインターネットを含むが、これらに限定されない。任意選択的に、有線ネットワークは、ツイストペア線、同軸ケーブル、又は光ファイバを用いてデータを伝送してもよい。任意選択的に、無線ネットワークは、3G/4G/5G移動通信ネットワーク、ブルートゥース、Zigbee又はWiFiを用いてデータを伝送してもよい。
一部の実施例では、プロセッサ81は、データ処理能力及びプログラム実行能力を有するデバイスであり、このデバイスは、CPU、TPU、及びGPUからなる群から選択されてもよい。任意選択的に、CPUは、X86構成又はARM構成を有してもよい。
一部の実施例では、1つ以上のメモリ82は、記憶媒体を含み、1つ以上のプログラム命令を記憶する。適切な記憶媒体の例は、スマートフォンのメモリカード、タブレットの記憶アセンブリ、パーソナルコンピュータのハードディスク、ROM(Read−only Memory)、EPROM(Erasable Programmable Read Only Memory)、CD−ROM(Compact Disk Read−only Memory)、USBメモリ、又はこれらの任意の組み合わせを含むが、これらに限定されない。
任意選択的に、畳み込みニューラルネットワークにより入力画像を処理して、画調画像の画調特徴が融合された入力画像のコンテンツ特徴を含む出力画像を生成するように1つ以上のプロセッサを制御するためのコンピュータ実行可能な命令がメモリに記憶される。畳み込みニューラルネットワークは、特徴抽出サブネットワーク、融合部、及び復号サブネットワークを含む。
任意選択的に、特徴抽出サブネットワークを用いて画調画像の画調特徴を抽出して、複数の画調特徴マップを生成し、特徴抽出サブネットワークを用いて入力画像のコンテンツ特徴を抽出して、複数のコンテンツ特徴マップを生成し、融合部を用いて複数のコンテンツ特徴マップと複数の画調特徴マップとを融合させて、複数の出力特徴マップを生成し、復号サブネットワークにより複数の出力特徴マップを再構成して、出力画像を生成するように1つ以上のプロセッサを制御するためのコンピュータ実行可能な命令がメモリに記憶される。
任意選択的に、復号サブネットワークにより複数の出力特徴マップを再構成するために、メモリには、復号サブネットワークにおいて順次接続され、各々が順次接続されたN個(Nは2以上の整数)の畳み込みブロックを含むM個(Mは1以上の整数)の密集して接続される算出モジュールにより複数の出力特徴マップを処理するように1つ以上のプロセッサを制御するためのコンピュータ実行可能な命令がさらに記憶される。M個の密集して接続される算出モジュールのそれぞれは、順次接続されたN個の畳み込みブロックを含み、Mは1以上の整数であり、Nは2以上の整数である。
任意選択的に、M個の密集して接続される算出モジュールのそれぞれのN個の畳み込みブロックのうちの任意の先行する畳み込みブロックからの出力特徴マップ群を、M個の密集して接続される算出モジュールのそれぞれのN個の畳み込みブロックのうちのn番目(2≦n≦N)の畳み込みブロックに入力して、n番目の出力特徴マップ群を生成する。
任意選択的に、M個の密集して接続される算出モジュールのうちのm番目の密集して接続される算出モジュールからの出力は、m番目(1≦m≦M)の密集して接続される算出モジュールのN個の畳み込みブロックのそれぞれからのN個の出力特徴マップ群を含む。
一部の実施例では、復号サブネットワークは、複数の逆プーリングブロックをさらに含む。任意選択的に、複数の逆プーリングブロックのそれぞれは、畳み込み層、活性化層、及びアップサンプリング動作を実行するための逆プーリング層を含む。
一部の実施例では、特徴抽出サブネットワークは、復号サブネットワークにおける複数の逆プーリングブロックにそれぞれ対応する複数のプーリングブロックを含む。
一部の実施例では、復号サブネットワークは、出力層をさらに含む。任意選択的に、M個の密集して接続される算出モジュールは、第1の密集して接続される算出モジュール、第2の密集して接続される算出モジュール、及び第3の密集して接続される算出モジュールを含む。任意選択的に、複数の逆プーリングブロックは、第1の逆プーリングブロック、第2の逆プーリングブロック、及び第3の逆プーリングブロックを含む。
任意選択的に、復号サブネットワークにより複数の出力特徴マップを再構成するために、メモリには、第1の逆プーリングブロックにより複数の出力特徴マップを処理して複数の第1の逆プーリング特徴マップを生成し、第1の密集して接続される算出モジュールを用いて複数の第1の逆プーリング特徴マップの特徴を抽出して複数の第1の中間復号特徴マップを生成し、第2の逆プーリングブロックにより複数の第1の中間復号特徴マップを処理して、複数の第2の逆プーリング特徴マップを生成し、第2の密集して接続される算出モジュールにより、複数の第2の逆プーリング特徴マップの特徴を抽出して、複数の第2の中間復号特徴マップを生成し、第3の逆プーリングブロックにより複数の第2の中間復号特徴マップを処理して、複数の第3の逆プーリング特徴マップを生成し、第3の密集して接続される算出モジュールを用いて、複数の第3の逆プーリング特徴マップの特徴を抽出して、複数の第3の中間復号特徴マップを生成し、出力層を用いて、複数の第3の中間復号特徴マップを特徴空間から画像空間へ変換することにより、出力画像を生成するように1つ以上のプロセッサを制御するためのコンピュータ実行可能な命令がさらに記憶される。
一部の実施例では、特徴抽出サブネットは、第1の畳み込み層群、第2の畳み込み層群、第3の畳み込み層群、第4の畳み込み層群、第1のプーリング層、第2のプーリング層、及び第3のプーリング層を含み、第1のプーリング層が第1の畳み込み層群と第2の畳み込み層群との間に位置し、第2のプーリング層は、第2の畳み込み層群と第3の畳み込み層群との間に位置し、第3のプーリング層は、第3の畳み込み層群と第4の畳み込み層群との間に位置する。
一部の実施例では、第1の畳み込み層群は、2つの畳み込み層と2つの活性化層とを含む。任意選択的に、第2の畳み込み層群は、2つの畳み込み層と2つの活性化層とを含む。任意選択的に、第3の畳み込み層群は、3つの畳み込み層と3つの活性化層とを含む。任意選択的に、第4の畳み込み層群は、1つの畳み込み層と1つの活性化層とを含む。
一部の実施例では、特徴抽出サブネットワークを用いて画調画像の画調特徴を抽出して複数の画調特徴マップを生成するために、メモリには、第1の畳み込み層群を用いて画調画像の画調特徴を抽出して複数の第1の中間画調特徴マップを生成し、第1のプーリング層を用いて複数の第1の中間画調特徴マップをダウンサンプルして、複数の第1のプーリング画調特徴マップを生成し、第2の畳み込み層群を用いて第1のプーリング画調特徴マップの画調特徴を抽出して、複数の第2の中間画調特徴マップを生成し、第2のプーリング層を用いて複数の第2の中間画調特徴マップをダウンサンプルして、複数の第2のプーリング画調特徴マップを生成し、第3の畳み込み層群を用いて複数の第2のプーリング画調特徴マップの画調特徴を抽出して複数の第3の中間画調特徴マップを生成し、第3のプーリング層を用いて複数の第3の中間画調特徴マップをダウンサンプルして、複数の第3のプーリング画調特徴マップを生成し、第4の畳み込み層群を用いて第3のプーリング画調特徴マップの画調特徴を抽出して、複数の第4の中間画調特徴マップを生成するように1つ以上のプロセッサを制御するためのコンピュータ実行可能な命令がさらに記憶される。任意選択的に、複数の画調特徴マップは複数の第4の中間画調特徴マップを含む。
一部の実施例では、特徴抽出サブネットワークを用いて入力画像のコンテンツ特徴を抽出して複数のコンテンツ特徴マップを生成するために、メモリには、第1の畳み込み層群を用いて入力画像のコンテンツ特徴を抽出して複数の第1の中間コンテンツ特徴マップを生成し、第1のプーリング層を用いて、複数の第1の中間コンテンツ特徴マップをダウンサンプリングして、複数の第1のプーリングコンテンツ特徴マップを生成し、第2の畳み込み層群を用いて複数の第1のプーリングコンテンツ特徴マップのコンテンツ特徴を抽出して、複数の第2の中間コンテンツ特徴マップを生成し、第2のプーリング層を用いて、複数の第2の中間コンテンツ特徴マップをダウンサンプリングして、複数の第2のプーリングコンテンツ特徴マップを生成し、第3の畳み込み層群を用いて前記複数の第2のプーリングコンテンツ特徴マップのコンテンツ特徴を抽出して、複数の第3の中間コンテンツ特徴マップを生成し、第3のプーリング層を用いて複数の第3の中間コンテンツ特徴マップをダウンサンプリングして、複数の第3のプーリングコンテンツ特徴マップを生成し、第4の畳み込み層群を用いて、複数の第3のプーリングコンテンツ特徴マップのコンテンツ特徴を抽出して、複数の第4の中間コンテンツ特徴マップを生成するように1つ以上のプロセッサを制御するためのコンピュータ実行可能な命令がさらに記憶される。任意選択的に、複数のコンテンツ特徴マップは、複数の第4の中間コンテンツ特徴マップを含む。
任意選択的に、複数の出力特徴マップは下式で表される。
A(x,y)は、複数の出力特徴マップからなる3次元マトリクスを表し、xは、複数のコンテンツ特徴マップからなる3次元マトリクスを表し、yは、複数の画調特徴マップからなる3次元マトリクスを表し、μ(x)は、複数のコンテンツ特徴マップのそれぞれから導出された複数の平均値からなる3次元マトリクスを表し、σ(x)は、複数のコンテンツ特徴マップの分散値からなる3次元マトリクスを表し、μ(y)は、複数の画調特徴マップのそれぞれから導出された複数の平均値からなる3次元マトリクスを表し、σ(y)は、複数の画調特徴マップのそれぞれから導出された複数の分散値からなる3次元マトリクスを表す。
一部の実施例では、メモリには、畳み込みニューラルネットワークを予めトレーニングするように1つ以上のプロセッサを制御するためのコンピュータ実行可能な命令がさらに記憶される。任意選択的に、畳み込みニューラルネットワークを予めトレーニングするために、メモリには、トレーニングコンテンツ画像とトレーニング画調画像を畳み込みニューラルネットワークに入力し、復号サブネットワークにより複数のトレーニング出力画像を生成し、融合部を用いて複数のトレーニング出力特徴マップを生成し、解析ネットワークを用いて、複数のトレーニング出力画像の画調特徴及びコンテンツ特徴を抽出して、複数の第1のトレーニング画調特徴マップ及び複数のトレーニングコンテンツ特徴マップを生成し、解析ネットワークを用いてトレーニング画調画像の画調特徴を抽出して、複数の第2のトレーニング画調特徴マップを生成し、複数の第1のトレーニング画調特徴マップ、複数の第2のトレーニング画調特徴マップ、複数のトレーニングコンテンツ特徴マップ及び複数のトレーニング出力特徴マップに基づいて、損失関数を用いて復号サブネットワークのパラメータ損失を算出し、損失に応じて復号サブネットワークのパラメータを調整するように1つ以上のプロセッサを制御するためのコンピュータ実行可能な命令がさらに記憶される。
一部の実施例では、メモリには、畳み込みニューラルネットワークを繰り返し予めトレーニングするように1つ以上のプロセッサを制御するためのコンピュータ実行可能な命令がさらに記憶される。
任意選択的に、損失関数は、コンテンツ損失関数と画調損失関数とを含む。任意選択的に、損失は、コンテンツ損失と画調損失とを含む。
一部の実施例では、復号サブネットワークのパラメータ損失を算出するために、メモリには、複数のトレーニングコンテンツ特徴マップ及び複数のトレーニング出力特徴マップに基づいて、コンテンツ損失関数を用いて復号サブネットワークのパラメータのコンテンツ損失を算出し、複数の第1のトレーニング画調特徴マップと複数の第2のトレーニング画調特徴マップとに基づいて、画調損失関数を用いて、復号サブネットワークのパラメータの画調損失を算出するように1つ以上のプロセッサを制御するためのコンピュータ実行可能な命令がさらに記憶される。
任意選択的に、損失関数は、下式で表される。
Lcはコンテンツ損失関数を表し、Lsは、画調損失関数を表し、αはコンテンツ損失関数の重みを表し、βは、画調損失関数の重みを表す。
任意選択的に、コンテンツ損失関数Lcは下式で表される。
tはトレーニングコンテンツ画像を表し、g(t)は、複数のトレーニング出力画像を表し、F
11(g(t))は、複数のトレーニングコンテンツ特徴マップからなる3次元マトリクスを表し、F
2(t)は、複数のトレーニング出力特徴マップからなる3次元マトリクスを表し、Cは、正規化を実行するための定数である。
任意選択的に、画調損失関数Lsは、下式で表現される。
sはトレーニング画調画像を表し、f
12(s)は複数の第2のトレーニング画調特徴マップからなる3次元マトリクスを示し、f
12(g(t))は、複数の第1のトレーニング画調特徴マップからなる3次元マトリクスを表し、μ
k(f
12(g(t)))は複数の第1のトレーニング画調特徴マップの平均値からなる3次元マトリクスを表し、μ
k(f
12(s))は複数の第2のトレーニング画調特徴マップの平均値からなる3次元マトリクスを表し、σ
k(f
12(g(t)))は複数の第1のトレーニング画調特徴マップの分散値からなる3次元マトリクスを表し、σ
k(f
12(s))は複数の第2のトレーニング画調特徴マップの分散値からなる3次元マトリクスを表し、kは整数である。
任意選択的に、解析ネットワーク及び特徴抽出サブネットワークは、同じ構成及び同じパラメータを含む。
別の態様では、本開示は、コンピュータプログラム製品を提供する。一部の実施例では、コンピュータプログラム製品は、コンピュータ可読命令を有する非一時的な有形のコンピュータ可読媒体を含む。任意選択的に、コンピュータ可読命令は、プロセッサにより実行されると、プロセッサに、畳み込みニューラルネットワークにより入力画像を処理して、画調画像の画調特徴が融合された入力画像のコンテンツ特徴を含む出力画像を生成するようにさせる。任意選択的に、畳み込みニューラルネットワークは、特徴抽出サブネットワーク、融合部、及び復号サブネットワークを含む。
一部の実施例では、畳み込みニューラルネットワークにより入力画像を処理するために、コンピュータ可読命令は、プロセッサにより実行されると、プロセッサに、特徴抽出サブネットワークを用いて画調画像の画調特徴を抽出して複数の画調特徴マップを生成し、特徴抽出サブネットワークを用いて入力画像のコンテンツ特徴を抽出して複数のコンテンツ特徴マップを生成し、融合部を用いて複数のコンテンツ特徴マップと複数の画調特徴マップとをそれぞれ融合させて、複数の出力特徴マップを生成し、復号サブネットワークにより複数の出力特徴マップを再構成して、出力画像を生成するようにさせる。
一部の実施例では、復号サブネットワークにより複数の出力特徴マップを再構成するために、コンピュータ可読命令は、プロセッサにより実行されると、プロセッサに、復号サブネットワークにおいて順次接続されたM個の密集接続の算出モジュールにより、複数の出力特徴マップを処理するようにさせる。任意選択的に、M個(Mは1以上の整数)の密集して接続される算出モジュールのそれぞれは、順次接続されたN個(Nは2以上の整数)の畳み込みブロックを含む。任意選択的に、M個の密集して接続される算出モジュールのそれぞれのN個の畳み込みブロックのうちの任意の先行する畳み込みブロックからの出力特徴マップ群を、M個の密集して接続される算出モジュールのそれぞれのN個の畳み込みブロックのうちのn番目(2≦n≦N)の畳み込みブロックに入力して、n番目の出力特徴マップ群を生成する。任意選択的に、M個の密集して接続される算出モジュールのうちのm番目(1≦m≦M)の密集して接続される算出モジュールの出力は、m番目の密集して接続される算出モジュールのN個の畳み込みブロックのそれぞれからのN個の出力特徴マップ群を含む。
本発明の実施例の以上の記載は、説明及び記載を目的として行われたものであり、網羅的である、又は、本発明を開示された正確な形態又は例示的な実施例に限定することを意図するものではない。そのため、以上の記載は、限定的なものではなく例示的なものであると見なされるべきである。多くの修正及び変形は、当業者にとって明らかである。当業者が本発明の様々な実施例を理解可能なように、実施例は、本発明の原理及びその最良の態様の実際の適用を説明するために選択され記載され、それに、予期される特定の用途又は実施に適した様々な修正を備える。本発明の範囲は、添付された特許請求の範囲及びその均等物により限定されることを意図しており、別段の定めがない限り、全ての用語は、その最も広い合理的な意味で示される。したがって、「発明」、「本発明」などの用語は、必ずしも特許請求の範囲を特定の実施例に限定するものではなく、本発明の例示的な実施例への参照は、本発明を限定する意味合いはなく、このような限定を推論すべきでもない。本発明は、添付された特許請求の範囲の趣旨及び範囲のみで限定される。また、これらの請求項は、名詞又は要素の使用後の「第1の」、「第2の」などを指し得る。具体的な数字が与えられていない限り、これらの文語は、用語として理解されるべきであり、修飾される要素に対する数量限定として解釈されるべきではない。記載された利点及びメリットは、本発明のすべての実施例に合うわけではない。なお、添付された特許請求の範囲により限定される本発明の範囲から逸脱しない限り、当業者が説明する実施例では、変更可能であることを理解されたい。また、構成要素又はアセンブリが以下の特許請求の範囲に明示的に記載されているか否かにかかわらず、本開示の任意の構成要素及びアセンブリが一般向け専用のものであることが意図されていない。
本願は、2018年9月25日に出願された、出願番号が201811118522.6である中国特許出願を基礎とする優先権を主張し、その内容の全てが参照によって本明細書に組み込まれる。