JP6848071B2 - ニューラルネットワークを使用した繰り返しマルチスケール画像生成 - Google Patents

ニューラルネットワークを使用した繰り返しマルチスケール画像生成 Download PDF

Info

Publication number
JP6848071B2
JP6848071B2 JP2019538533A JP2019538533A JP6848071B2 JP 6848071 B2 JP6848071 B2 JP 6848071B2 JP 2019538533 A JP2019538533 A JP 2019538533A JP 2019538533 A JP2019538533 A JP 2019538533A JP 6848071 B2 JP6848071 B2 JP 6848071B2
Authority
JP
Japan
Prior art keywords
output image
version
pixels
generate
color
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2019538533A
Other languages
English (en)
Other versions
JP2020508504A (ja
Inventor
ナル・エメリッヒ・カルヒブレナー
ダニエル・ベロフ
セルヒオ・ゴメス・コルメナレホ
アーロン・ヘラルト・アントニウス・ファン・デン・オールト
ジユ・ワン
ジョアオ・フェルディナンド・ゴメス・デ・フレイタス
スコット・エリソン・リード
Original Assignee
ディープマインド テクノロジーズ リミテッド
ディープマインド テクノロジーズ リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ディープマインド テクノロジーズ リミテッド, ディープマインド テクノロジーズ リミテッド filed Critical ディープマインド テクノロジーズ リミテッド
Publication of JP2020508504A publication Critical patent/JP2020508504A/ja
Application granted granted Critical
Publication of JP6848071B2 publication Critical patent/JP6848071B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4046Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4053Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution
    • G06T3/4076Scaling of whole images or parts thereof, e.g. expanding or contracting based on super-resolution, i.e. the output image resolution being higher than the sensor resolution using the original low-resolution images to iteratively correct the high-resolution images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Molecular Biology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)
  • Color Image Communication Systems (AREA)
  • Facsimile Image Signal Circuits (AREA)

Description

関連出願の相互参照
本出願は、2017年2月24日に出願した米国仮出願第62/463,538号の優先権を主張するものである。先の出願の開示は、本出願の開示の一部と考えられ、本出願の開示に参照により組み込まれる。
本明細書は、ニューラルネットワークを使用して画像を生成することに関する。
ニューラルネットワークは、受け取られた入力に関する出力を予測するために非線形ユニットの1つまたは複数の層を使用する機械学習モデルである。一部のニューラルネットワークは、出力層に加えて1つまたは複数の隠れ層を含む。各隠れ層の出力は、ネットワーク内の次の層、すなわち、次の隠れ層または出力層への入力として使用される。ネットワークの各層は、パラメータのそれぞれの組の現在の値に従って、受け取られた入力から出力を生成する。
Van den Oordら、「Conditional Image Generation with PixelCNN Decoders」、https://arxiv.org/abs/1606.05328
本明細書は、畳み込みニューラルネットワークの複数の組を使用して出力画像を生成するためのシステムおよび方法を説明する。
概して、本明細書において説明される対象の1つの革新的な態様は、Nピクセル×Nピクセルの出力解像度を有する出力画像を生成するためのコンピュータによって実施される方法であって、出力画像の各ピクセルが複数のカラーチャンネルの各々に関するそれぞれの色値を有する、方法に具現化され得る。方法は、出力画像の低解像度バージョンを取得するステップと、以下の動作、すなわち、現在のK×Kの解像度を有する出力画像の現在のバージョンを取得する動作、および2K×2Kの解像度を有する出力画像の更新されたバージョンを生成するために現在の解像度に固有である畳み込みニューラルネットワークの組を使用して出力画像の現在のバージョンを処理する動作を繰り返し実行することによって出力解像度を有する出力画像を生成するために出力画像の低解像度バージョンをアップスケールするステップとを含む。
上述のおよびその他の実施形態は、それぞれ任意で以下の特徴のうちの1つまたは複数を単独でまたは組み合わせて含み得る。
低解像度バージョンを取得するステップは、画像生成機械学習モデルを使用して低解像度バージョンを生成することを含む可能性がある。画像生成機械学習モデルは、自己回帰画像生成機械学習モデルである可能性がある。出力画像は、入力コンテキストを条件とする可能性があり、画像生成機械学習モデルは、入力コンテキストを条件として低解像度バージョンを生成するように構成される。畳み込みニューラルネットワークの各組の中の各畳み込みニューラルネットワークは、入力コンテキストを条件とする可能性がある。
現在の解像度に固有である畳み込みニューラルネットワークの組は、解像度を4倍にするために使用される2つ以上の畳み込みニューラルネットワーク(CNN)を含むCNNの組を含む可能性がある。現在の解像度に固有である畳み込みニューラルネットワークの組は、画像の現在のバージョンを含む第1の入力を受け取り、出力画像のK×2Kバージョンからのピクセルの列を含む第1の出力画像を生成するように構成される第1の畳み込みニューラルネットワークと、出力画像のK×2Kバージョンを含む第2の入力を受け取り、出力画像の2K×2Kバージョンからのピクセルの行を含む第2の出力画像を生成するように構成される第2の畳み込みニューラルネットワークとを含む可能性がある。
更新されたバージョンを生成するために現在の解像度に固有である畳み込みニューラルネットワークの組を使用して出力画像の現在のバージョンを処理する動作は、第1の出力画像を生成するために第1の畳み込みニューラルネットワークを使用して現在のバージョンを処理することと、現在のバージョンおよび第1の出力画像をマージすることによってK×2Kバージョンを生成することと、第2の出力画像を生成するために第2の畳み込みニューラルネットワークを使用してK×2Kバージョンを処理することと、K×2Kバージョンおよび第2の出力画像をマージすることによって2K×2Kバージョンを生成することとを含む可能性がある。
現在のバージョンおよび第1の出力画像をマージすることは、現在のバージョンからのピクセルの列を第1の出力画像からのピクセルの列と互い違いにすることによって現在の画像からのピクセルのK列および第1の出力画像からのピクセルのK列を含むK×2K画像を生成することを含む可能性がある。
K×2Kバージョンおよび第2の出力画像をマージすることは、K×2Kバージョンからのピクセルの行を第2の出力画像からのピクセルの行と互い違いにすることによってK×2KバージョンからのピクセルのK行および第2の出力画像からのピクセルのK行を含む2K×2K画像を生成することを含む可能性がある。
複数のカラーチャンネルは、チャンネルの順序に従って順序付けられ、第1の畳み込みニューラルネットワークは、カラーチャンネルの各々に関して、(i)現在のバージョン、および(ii)チャンネルの順序でそのカラーチャンネルの前の任意のカラーチャンネルに関する第1の出力画像のピクセルのための色値を条件とし、(iii)チャンネルの順序でそのカラーチャンネルの後にある任意のカラーチャンネルに関する第1の出力画像のピクセルのための色値を条件とせずに第1の出力画像のピクセルのためのカラーチャンネルに関する色値を生成するように構成される。第2の畳み込みニューラルネットワークは、カラーチャンネルの各々に関して、(i)K×2Kバージョン、および(ii)チャンネルの順序でそのカラーチャンネルの前の任意のカラーチャンネルに関する第2の出力画像のピクセルのための色値を条件とし、(iii)チャンネルの順序でそのカラーチャンネルの後にある任意のカラーチャンネルに関する第2の出力画像のピクセルのための色値を条件とせずに第2の出力画像のピクセルのためのカラーチャンネルに関する色値を生成するように構成される。
第1の出力画像を生成するために第1の畳み込みニューラルネットワークを使用して現在のバージョンを処理することは、現在のバージョンと、第1の出力画像を生成するために既に生成された第1の出力画像からの色値とを繰り返し処理することを含む可能性がある。第2の出力画像を生成するために第1の畳み込みニューラルネットワークを使用してK×2Kバージョンを処理することは、K×2Kバージョンと、第2の出力画像を生成するために既に生成された第2の出力画像からの色値とを繰り返し処理することを含む可能性がある。
現在の解像度に固有である畳み込みニューラルネットワークの組は、画像の現在のバージョンを含む第1の入力を受け取り、出力画像の2K×Kバージョンからのピクセルの行を含む第1の出力画像を生成するように構成される第1の畳み込みニューラルネットワークと、出力画像の2K×Kバージョンを含む第2の入力を受け取り、出力画像の2K×2Kバージョンからのピクセルの列を含む第2の出力画像を生成するように構成される第2の畳み込みニューラルネットワークとを含む可能性がある。
更新されたバージョンを生成するために現在の解像度に固有である畳み込みニューラルネットワークの組を使用して出力画像の現在のバージョンを処理する動作は、第1の出力画像を生成するために第1の畳み込みニューラルネットワークを使用して現在のバージョンを処理することと、現在のバージョンおよび第1の出力画像をマージすることによって2K×Kバージョンを生成することと、第2の出力画像を生成するために第2の畳み込みニューラルネットワークを使用して2K×Kバージョンを処理することと、2K×Kバージョンおよび第2の出力画像をマージすることによって2K×2Kバージョンを生成することとを含む可能性がある。
現在のバージョンおよび第1の出力画像をマージすることは、現在のバージョンからのピクセルの行を第1の出力画像からのピクセルの行と互い違いにすることによって現在の画像からのピクセルのK行および第1の出力画像からのピクセルのK行を含む2K×K画像を生成することを含む可能性がある。2K×Kバージョンおよび第2の出力画像をマージすることは、2K×Kバージョンからのピクセルの列を第2の出力画像からのピクセルの列と互い違いにすることによって2K×KバージョンからのピクセルのK列および第2の出力画像からのピクセルのK列を含む2K×2K画像を生成することを含む可能性がある。
複数のカラーチャンネルは、チャンネルの順序に従って順序付けられる可能性がある。第1の畳み込みニューラルネットワークは、カラーチャンネルの各々に関して、(i)現在のバージョン、および(ii)チャンネルの順序でそのカラーチャンネルの前の任意のカラーチャンネルに関する第1の出力画像のピクセルのための色値を条件とし、(iii)チャンネルの順序でそのカラーチャンネルの後にある任意のカラーチャンネルに関する第1の出力画像のピクセルのための色値を条件とせずに第1の出力画像のピクセルのためのカラーチャンネルに関する色値を生成するように構成される。第2の畳み込みニューラルネットワークは、カラーチャンネルの各々に関して、(i)2K×Kバージョン、および(ii)チャンネルの順序でそのカラーチャンネルの前の任意のカラーチャンネルに関する第2の出力画像のピクセルのための色値を条件とし、(iii)チャンネルの順序でそのカラーチャンネルの後にある任意のカラーチャンネルに関する第2の出力画像のピクセルのための色値を条件とせずに第2の出力画像のピクセルのためのカラーチャンネルに関する色値を生成するように構成される。
関連する態様においては、出力画像のより低解像度のバージョンから出力画像を生成する方法が、画像のより低解像度のバージョンから出力画像に関するピクセルの第1のグループを決定するステップ、出力画像のためのピクセルのそれぞれの後続のグループに関する一連の値を繰り返し生成するステップであって、ピクセルの各グループに関する値が、ピクセルグループに関する前に生成された値を条件とする、ステップと、ピクセルの各グループ内で並列的に、グループ内のピクセルの値を決定するステップとを含む。ピクセルのグループ内のピクセルの値は、出力画像を定義する。
一部の実装において、ピクセルは、空間的局所性を利用するためにグループ化される。したがって、ピクセルのグループは、出力画像の2つの隣接するピクセルが同じグループ内にないように配列される可能性がある。一部の実装において、ピクセルグループに関する値は、所望の出力画像を定義する可能性がある、コンテキスト情報を提供するベクトルなどの外部入力をさらに条件として繰り返し生成される可能性がある。
本明細書に記載の対象は、以下の利点のうちの1つまたは複数を実現するために特定の実施形態に実装され得る。既存の画像生成モデルが依拠するいくつかの空間的依存関係を断ち切ることによって、本明細書において説明される自己回帰画像生成機械学習モデルを使用して出力画像を生成するために必要とされる処理時間が、出力画像の品質の劣化をほとんどまたは全く起こすことなく大幅に削減され得る。さらに、システムによって使用される畳み込みニューラルネットワークの処理が訓練中に並列化され得るので、ネットワークは、リソースおよび時間効率の良い方法で引き続き訓練され得る。加えて、本明細書において説明される自己回帰画像生成機械学習モデルは、適切な密度モデル(density model)であり、つまり、画像が、一定の原則に基づく方法においてモデルから生成され得る。したがって、本明細書において説明される自己回帰モデルを実装するシステムは、モデルの下で実際の画像の確率を計算し、モデルを評価し、モデルをその他の既存の画像生成モデルと定量的に比較することができる。
本明細書の対象の1つまたは複数の実施形態の詳細が、添付の図面および以下の説明に記載されている。対象のその他の特徴、態様、および利点は、説明、図面、および請求項から明らかになるであろう。
画像生成システムの例のブロック図である。 例示的なピクセルのグループ化および順序付け規則のブロック図である。 出力画像の更新されたバージョンを生成するために出力画像の現在のバージョンを処理するための例示的なプロセスのブロック図である。 出力画像の更新されたバージョンを生成するために出力画像の現在のバージョンを処理するための例示的なプロセスの流れ図である。
様々な図面における同様の参照番号および参照指示は、同様の要素を示す。
図1は、画像生成システム100の例を示す。システム100は、以下で説明されるシステム、構成要素、および技術が実装され得る、1つまたは複数の場所の1つまたは複数のコンピュータ上のコンピュータプログラムとして実装されたシステムの例である。概して、システム100は、自己回帰画像生成機械学習モデル102(以降、「自己回帰モデル102」と呼ばれる)を使用して出力画像110を生成するように構成される。自己回帰モデル102は、畳み込みニューラルネットワーク(CNN)の複数の組104を含む。
特に、出力画像110を生成するために、自己回帰モデル102は、まず、出力画像110の初期低解像度画像108を生成する。一部の実装において、自己回帰モデル102は、低解像度画像の組から初期低解像度画像108をランダムにサンプリングすることができる。
いくつかのその他の実装において、自己回帰モデル102は、入力コンテキスト106を条件として初期低解像度画像108を生成する。初期低解像度画像108を生成することは、通常の自己回帰モデル、たとえば、高品質の画像を生成するが、計算負荷が高いモデルを使用して実行され得る。通常の自己回帰モデルの例は、https://arxiv.org/abs/1606.05328に公開されたVan den Oordらの「Conditional Image Generation with PixelCNN Decoders」に記載されている。
概して、入力コンテキスト106は、出力画像のピクセルの色値に影響を与えるべき外部情報の表現、すなわち、テンソル、たとえば、ベクトル、行列、またはそれらよりも高次のテンソルである。場合によっては、外部情報は、テキストの記述であることが可能である。テキストの記述は、たとえば、出力画像内の物体を説明するキャプション、たとえば、「明るい緑色の頭、黄色いくちばし、およびオレンジ色の足を持った大きな茶色い鳥」であることが可能である。場合によっては、外部情報は、画像のセグメンテーションであることが可能である。画像のセグメンテーションは、出力画像内に大きな物体によってマスキングされた画像を含む可能性があり、つまり、出力画像内のフォアグラウンドのピクセルのみが含まれる。場合によっては、外部情報は、出力画像内の1つまたは複数の物体の位置または形状を明記するキーポイント(keypoint)を含む可能性がある。いくつかのその他の場合、外部情報は、1つまたは複数の前のビデオフレームを含む可能性がある。これらの場合、システム100は、画像復号デバイス、たとえば、モバイルデバイスまたは別の種類のユーザコンピュータに実装され、受け取られた符号化された画像または受け取られた符号化されたビデオフレームを復号するために使用され得る。
一部の実装においては、低解像度108を生成する代わりに、自己回帰モデル102は、低解像度バージョン108を、たとえば、別のシステムから入力として取得することができる。
出力画像110の低解像度画像108を生成または取得した後、自己回帰モデル102は、最終的な所望の出力解像度(たとえば、Nピクセル×Nピクセル)を有する出力画像110を生成するためにCNNの組104を使用して低解像度バージョン108をアップスケールする。たとえば、一部の実装において、初期低解像度画像108は、4ピクセル×4ピクセルの解像度を有し、出力画像110は、128ピクセル×128ピクセルの解像度を有する。概して、自己回帰モデル102は、「ピクセルの疎-密順序付け(coarse-to-fine ordering)」原則に従ってより高解像度の画像を生成することによって低解像度画像108をアップスケールする。それは、モデル102が前の解像度を条件として生成される、より高解像度の画像を連続的に生成することを意味する。
本明細書において説明されるようにより高解像度の画像を連続的に生成する自己回帰モデル102は、既存の画像生成モデルに優る複数の技術的利点を有する。
いくつかの以前の自己回帰画像生成モデルは、画像の結合分布をピクセル当たりの因子(per-pixel factor)に分解(factorize)する。特に、これらのモデルは、条件付分布の次の積として画像全体にわたってTピクセルの結合分布を計算し、式中、xtは、単一のピクセルである。
Figure 0006848071
これらのモデルは、条件付分布の因果構造が原因で、推論がラスタ順に1ピクセルずつ(つまり、1行ずつおよびすべての行内で1ピクセルずつ)逐次進行することを要求する。これは、多数の必要とされる完全なネットワークの評価が原因で、完全な画像を生成するためにコストがかかる、つまり、大量の計算リソースを必要とするピクセル毎の完全なネットワークの評価を必要とする。
対照的に、この説明で示される自己回帰モデル102は、画像の結合分布をピクセルグループの因子(pixel groups factor)に分解することによって計算コストを削減し、訓練および推論を速める。この手法は、ピクセル当たりの因子をマージするための方法とみなされることが可能であり、したがって、既存の自己回帰画像生成モデルが依拠するいくつかの空間的依存関係を断ち切り、並列サンプリングを可能にする。結果として、出力画像を生成するために必要とされる処理時間が、出力画像の品質の劣化をほとんどまたは全く起こすことなく大幅に削減され得る。たとえば、自己回帰モデル102は、通常の自己回帰モデルのO(N)ではなくO(log N)の時間でNピクセルの画像を処理することを可能にし得る。
特に、(他の場所で述べられるN2ではなく)画像のNピクセルがそれぞれTピクセルのG個のグループに分けられると仮定して、自己回帰モデル102は、画像全体にわたってTピクセルの結合分布を対応するG個の因子の積として計算する。
Figure 0006848071
式(2)は、グループの各々がTピクセルを含むと仮定するが、実際には、この数は、変わる可能性がある。
訓練中、システム100は、log P(x;θ)を最大化するために自己回帰モデル102のパラメータθの値を調整することによって訓練データセットに関して自己回帰モデル102を訓練する。結合分布がピクセルグループおよびスケールで分解するので、訓練は、効果的に並列化されることが可能であり、つまり、自己回帰モデル102の畳み込みニューラルネットワークの処理が、訓練中に並列化されることが可能である。したがって、モデル102の畳み込みニューラルネットワークは、リソースおよび時間効率の良い方法で訓練され得る。
訓練されると、自己回帰モデル102は、たとえば、以下の動作、すなわち、現在のK×Kの解像度を有する出力画像の現在のバージョン、すなわち、前の繰り返しからの画像のバージョンを取得することと、2K×2Kの解像度を有する出力画像の更新されたバージョンを生成するために現在の解像度に固有であるCNNの組ならびにあらかじめ定義されたグループ化および順序付け規則を使用して出力画像の現在のバージョンを処理することとを繰り返し実行することによって低解像度画像108をアップスケールする。上記の動作が、所望の解像度(たとえば、N×N)が得られるまで繰り返し実行される。
あらかじめ定義されたグループ化および順序付け規則は、各解像度における空間的局所性を利用するためにピクセルが所定の方法でどのようにしてグループ化されるかを規定し、つまり、画像の2つの隣接するピクセルは、同じグループ内にない。図2は、グループ間の自己回帰構造によって、画像が互いに共通のピクセルを含まないピクセルのグループに分割され、つまり、ピクセルの各グループがピクセルの前に生成されたグループを条件として連続的に生成され得る例示的なグループ化および順序付け規則を示す。
画像を所与のK×Kの解像度から2K×2Kの解像度にアップスケールするために、自己回帰モデル102は、所与の解像度に固有のCNNの組の中の第1のCNNおよびピクセルグループの組を使用して所与の解像度を有する現在のバージョンを処理する。ピクセルグループの組は、あらかじめ定義されたグループ化および順序付け規則に従って形成される。第1のCNNは、現在の画像に含まれる前のピクセルグループに基づいて新しいピクセルグループに対応する第1の出力画像を生成するように構成される。それから、自己回帰モデル102は、あらかじめ定義されたグループ化および順序付け規則に従って現在のバージョンおよび第1の出力画像をマージすることによって中間バージョン(たとえば、出力画像のK×2Kバージョンまたは2K×Kバージョン)を生成する。自己回帰モデル102は、同様にして第2の出力画像を生成するためにCNNの組の中の第2のCNNを使用して中間バージョンを処理する。自己回帰モデル102は、あらかじめ定義されたグループ化および順序付け規則に従って中間バージョンおよび第2の出力画像をマージすることによって2K×2Kバージョンを生成する。
一部の実装において、CNNによって生成されたより高解像度の画像(たとえば、それぞれの繰り返しの第1の出力画像および第2の出力画像)の各ピクセルは、複数のカラーチャンネルの組の中の各チャンネルに関するそれぞれの色値を有する。たとえば、カラーチャンネルの組は、{赤,緑,青}または{シアン,マゼンタ,イエロー,ブラック}を含む可能性がある。組の中のカラーチャンネルは、チャンネルの順序、たとえば、RGBの順序またはCMYKの順序に従って順序付けられる。第1のおよび第2の畳み込みネットワークは、第1の出力画像および第2の出力画像を生成するときにチャンネルの順序を考慮に入れる。第1の出力画像および第2の出力画像のピクセルのためのカラーチャンネルに関する色値を生成するためのプロセスは、図4を参照して下でより詳細に説明される。
一部の実装においては、自己回帰モデル102によって生成される初期低解像度画像108が入力コンテキスト106を条件とするとき、より高解像度の画像を生成するために使用されるCNNの各組は、入力コンテキスト106を条件とする。
出力画像の更新されたバージョンを生成するために出力画像の現在のバージョンを処理するためのプロセスは、図3を参照して下でより詳細に説明される。
説明に役立つ例として、初期低解像度が4×4であり、最終的な所望の出力解像度が128×128であるとき、モデル102は、4×4画像から8×8画像を生成するためにCNNの1つの組を使用し、8×8画像から16×16画像を生成するためにCNNの別の組を使用し、16×16画像から32×32画像を生成するためにCNNの別の組を使用し、32×32画像から64×64画像を生成するためにCNNの別の組を使用し、64×64画像から最終的な128×128画像を生成するためにCNNの別の組を使用する。
図2は、画像200に関する例示的なピクセルのグループ化および順序付け規則を示すブロック図である。
概して、画像200のピクセルは、画像200の2つの隣接するピクセルが同じグループ内にないようにしてグループ化され、したがって、隣接するピクセルが並列的に生成されることを可能にし、それは、訓練および推論中により高解像度の画像の生成を大幅に速める可能性がある。
この例において、画像200は、4ピクセル×4ピクセルの解像度を有する。画像200は、以下の規則を使用して共通のピクセルを含まないピクセルのグループに分割され得る。グループを作成するために、画像200は、2×2ブロックによってタイル化される。これらの2×2ブロックの角が、所与のスケールの4ピクセルグループ、すなわち、左上、右上、左下、および右下を形成する。特に、左上の角のピクセルは、グループ1ピクセル(202)を形成する。右上の角のピクセルは、グループ2ピクセル(204)を形成する。左下の角のピクセルは、グループ3ピクセル(206)を形成する。右下の角のピクセルは、グループ4ピクセル(208)を形成する。ピクセルの各グループは、式2の結合分布の因子に対応する。
所与のグループのピクセルは、1つまたは複数の前のグループのピクセルに依存する。明瞭にするために、図2は、すぐ隣の依存関係を示すために矢印を使用するが、前のグループのすべてのピクセルは、所与のグループのすべてのピクセルを予測する(つまり、生成する)ために使用され得る。たとえば、グループ2のすべてのピクセルが、グループ4のピクセルを予測するために使用され得る。一部の実装において、グループ1のピクセルは、より低解像度の画像に由来し得る。一部の実装において、グループ1のピクセルは、ビデオの前のフレームを所与として生成され得る。
画像200の2つの隣接するピクセルは同じグループ内にないが、各ブロック内とブロック間との両方のピクセルの一部のペアは、引き続き依存関係にあることが可能である。これらの追加的な依存関係は、局所的なテクスチャ(texture)を獲得し、境界のアーティファクトを防止することを可能にする。
図3は、出力画像の更新されたバージョン(2K×2K)を生成するために出力画像の現在のバージョン(K×K)を処理するための例示的なプロセスのブロック図である。便宜上、プロセス300は、1つまたは複数の場所に置かれた1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラミングされた画像生成システム、たとえば、図1の画像生成システム100が、プロセス300を実行し得る。
システムは、出力画像の現在のバージョン306を取得する。現在のバージョン306は、現在のK×Kの解像度を有する。場合によっては、現在のバージョン306は、システムが自己回帰画像生成機械学習モデルを使用して生成する出力画像の初期低解像度画像(たとえば、図1の初期低解像度画像108)であることが可能である。一部のその他の場合、出力画像の現在の画像306は、プロセス300の前の繰り返し中に生成された画像であることが可能である。
システムは、第1の出力画像308を生成するために第1のCNN 302を使用して現在のバージョン306を処理する。第1のCNN 302は、出力画像の現在のバージョン306を受け取り、現在のバージョン306を条件として第1の出力画像308を生成するように構成される。第1の出力画像308は、現在のバージョンよりも高い解像度を有する出力画像の後続のバージョンを生成するためにシステムによって使用されるピクセルの列またはピクセルの行を含む。
一部の実装において、第1のCNN 302は、現在のバージョン306から第1の出力画像308を直接生成するように構成される。これらの実装において、第1のCNN 302は、1つまたは複数の残差ニューラルネットワーク層(residual neural network layer)を含む可能性がある。
一部のその他の実装において、第1のCNN 302は、1つまたは複数の残差ニューラルネットワーク層および1つまたは複数の畳み込みニューラルネットワーク層を含む可能性がある。1つまたは複数の残差ニューラルネットワーク層は、特徴マップを形成するために現在のバージョンの特徴を抽出し、特徴マップを、実装においては重なり合わない空間的に連続した特徴ブロック318に分ける。それから、1つまたは複数の畳み込みニューラルネットワーク層は、第1の出力画像308を形成するために並列的に(つまり、特徴ブロック318の各々に関するそれぞれのピクセル値および/または色値を生成することによって)これらのブロックを与える。これらのブロックを与えるために使用され得る例示的なCNNは、特徴マップブロックが供給される可能性があるシャドーPixelCNNである。シャドーPixelCNNは、より深いニューラルネットワークと比較してより速いサンプリングをもたらすことができる少ない数の層(たとえば、5未満)を有する標準PixelCNN (standard PixelCNN)である。
説明に役立つ例として、現在のバージョン306は、図2のグループ1ピクセルを形成した4つの左上の角のピクセルを含む可能性がある。第1のCNN 302は、グループ2ピクセル、すなわち、4つの右上の角のピクセルを含む第1の出力画像308を生成するためにグループ1ピクセルを使用する可能性がある。第1のCNN 302は、1つまたは複数の残差ニューラルネットワーク層を含む可能性がある。
システムは、第1の出力画像308をピクセルのK個の列310に分ける。それから、システムは、現在のバージョン306からのピクセルのK個の列を第1の出力画像308からのピクセルのK個の列310と互い違いにし、それらをマージしてK×2Kバージョン312を作成する。
システムは、第2の出力画像314を生成するために第2の畳み込みニューラルネットワーク304を使用してK×2Kバージョン312を処理する。第2のCNN 304は、K×2Kバージョン312を受け取り、出力画像の2K×2Kバージョンを生成するために使用されるピクセルの行を含む第2の出力画像を生成するように構成される。第2のCNN 304は、1つまたは複数の残差ニューラルネットワーク層を含む可能性がある。
システムは、K×2Kバージョン312および第2の出力画像314をマージすることによって更新された出力画像316 (すなわち、2K×2Kバージョン)を生成する。特に、システムは、K×2Kバージョンからのピクセルの行を第2の出力画像からのピクセルの行と互い違いにすることによってK×2Kバージョン312からのピクセルのK行および第2の出力画像314からのピクセルのK行を含む2K×2K画像316を生成する。
訓練中に、システムは、目的関数を最適化するようにCNNのパラメータθの値を調整することによってCNNのすべての組を訓練する(CNNの各組がプロセス300の繰り返しのために使用される)。所与の入力に関する出力画像のNピクセルがそれぞれTピクセルのG個のグループに分割されると仮定すると、システムは、log P(x;θ)を最大化するようにCNNを訓練し、P(x,θ)は、パラメータθの値を所与として出力画像全体にわたるTピクセルの結合分布を表す。上述のように、対応するG個の因子の積としての画像全体にわたるTピクセルの結合分布は、
Figure 0006848071
である。
結合分布がピクセルグループおよびスケールで分解し、出力画像の2つの隣接するピクセルが同じグループ内にないようにして出力画像のピクセルがグループ化される可能性がある(つまり、同じグループのピクセルが互いに独立している)ので、CNNの訓練が、効果的に並列化され得る。特に、訓練時に、グループ内のピクセルのすべてに関する損失および勾配が、並列的に計算され得る。したがって、畳み込みニューラルネットワークは、リソースおよび時間効率の良い方法で訓練され得る。システムは、確率的勾配降下法または勾配降下法などの通常の訓練技術を使用してCNNを訓練することができる。
図4は、出力画像の更新されたバージョンを生成するために出力画像の現在のバージョンを処理するための例示的なプロセスの流れ図である。便宜上、プロセス400は、1つまたは複数の場所に置かれた1つまたは複数のコンピュータのシステムによって実行されるものとして説明される。たとえば、本明細書に従って適切にプログラミングされた画像生成システム、たとえば、図1の画像生成システム100が、プロセス400を実行し得る。
システムは、現在のK×Kの解像度を有する出力画像の現在のバージョンを取得する(ステップ402)。
システムは、第1の出力画像を生成するために第1のCNNを使用して現在のバージョンを処理する(ステップ404)。第1のCNNは、現在のバージョンのピクセルを条件として第1の出力画像を生成する。第1の出力画像は、現在のバージョンよりも高い解像度を有する出力画像の中間バージョンを生成するために使用されるピクセルの列またはピクセルの行を含む。
場合によっては、第1の出力画像の各ピクセルは、カラーチャンネルの組の中の各カラーチャンネル、たとえば、赤、緑、および青チャンネルに関するそれぞれの色値を有する可能性がある。組の中のカラーチャンネルは、チャンネルの順序、たとえば、RGBの順序に従って順序付けられる。これらの場合、第1のCNNは、チャンネルの順序によって定義されたカラーチャンネルの依存関係に基づいて第1の出力画像のピクセルのためのカラーチャンネルに関する色値を生成するように構成され、たとえば、緑が、赤に依存し、青が、赤および緑に依存する。特に、第1のCNNは、カラーチャンネルの各々に関して、(i)現在のバージョン、および(ii)チャンネルの順序でそのカラーチャンネルの前の任意のカラーチャンネルに関する第1の出力画像のピクセルのための色値を条件とし、(iii)チャンネルの順序でそのカラーチャンネルの後にある任意のカラーチャンネルに関する第1の出力画像のピクセルのための色値を条件とせずに第1の出力画像のピクセルのためのカラーチャンネルに関する色値を生成するように構成される。第1のCNNは、現在のバージョンと、第1の出力画像を生成するために既に生成された第1の出力画像からの色値とを繰り返し処理する。第1のCNNは、色の依存関係を獲得するためのチャンネル毎にマスクされた畳み込み(channel-wise masked convolution)を用いるCNNである。チャンネル毎にマスクされた畳み込みの数は、カラーチャンネルの組の中のカラーチャンネルの数に依存する。
たとえば、カラーチャンネルの組が3つのカラーチャンネルを有する場合、第1のCNNは、3つのカラーチャンネルを生成するために3つのチャンネル毎にマスクされた畳み込みを有する。この例において、第1のCNNは、第1のカラーチャンネルの値を生成するために出力画像の現在のバージョンを処理し、それから、第2のカラーチャンネルの値を生成するために現在のバージョンおよび第1のカラーチャンネルの値を処理し、そして、第3のカラーチャンネルの値を生成するために現在のバージョンおよび最初の2つのカラーチャンネルの値を処理する。
システムは、現在のバージョンおよび第1の出力画像をマージすることによって出力画像の中間バージョンを生成する(ステップ406)。
一部の実装において、出力画像の中間バージョンは、出力画像のK×2Kバージョンである。第1のCNNによって生成される第1の出力画像は、K×2Kバージョンを生成するために使用されるピクセルのK列を含む。システムは、現在のバージョンからのピクセルのK列を第1の出力画像からのピクセルK列と互い違いにすることによって現在のバージョンからのピクセルのK列および第1の出力画像からのピクセルのK列を含むK×2Kバージョンを生成する。
一部のその他の実装において、出力画像の中間バージョンは、出力画像の2K×Kバージョンである。これらの実装において、第1のCNNによって生成される第1の出力画像は、2K×Kバージョンを生成するために使用されるピクセルのK行を含む。システムは、現在のバージョンからのピクセルのK行を第1の出力画像からのピクセルのK行と互い違いにすることによって現在のバージョンからのピクセルのK行および第1の出力画像からのピクセルのK行を含む2K×Kバージョンを生成する。
システムは、第2の出力画像を生成するために第2のCNNを使用して中間バージョンを処理する(ステップ408)。
第2のCNNは、中間バージョンを条件として第2の出力画像を生成する。第2の出力画像は、出力画像の2K×2Kバージョンを生成するために使用されるピクセルの行またはピクセルの列を含む。
場合によっては、第2の出力画像の各ピクセルは、カラーチャンネルの上述の組の中の各カラーチャンネルに関するそれぞれの色値を有する可能性がある。第2のCNNは、カラーチャンネルの各々に関して、(i)中間バージョン、および(ii)チャンネルの順序でそのカラーチャンネルの前の任意のカラーチャンネルに関する第2の出力画像のピクセルのための色値を条件とし、(iii)チャンネルの順序でそのカラーチャンネルの後にある任意のカラーチャンネルに関する第2の出力画像のピクセルのための色値を条件とせずに第2の出力画像のピクセルのためのカラーチャンネルに関する色値を生成するように構成される。第2のCNNは、中間バージョンと、第2の出力画像を生成するために既に生成された第2の出力画像からの色値とを繰り返し処理する。第2のCNNは、色の依存関係を獲得するためのチャンネル毎にマスクされた畳み込みを用いるCNNである。チャンネル毎にマスクされた畳み込みの数は、カラーチャンネルの組の中のカラーチャンネルの数に依存する。たとえば、カラーチャンネルの組が3つのカラーチャンネルを有する場合、第2のCNNは、3つのカラーチャンネルを生成するために3つのチャンネル毎にマスクされた畳み込みを有する。
システムは、中間バージョンおよび第2の出力画像をマージすることによって2K×2Kの解像度を有する出力画像の更新されたバージョンを生成する(ステップ410)。
特に、出力画像の中間バージョンがK×2Kバージョンであるとき、システムは、K×2Kバージョンからのピクセルの行を第2の出力画像からのピクセルの行と互い違いにすることによって2K×2Kバージョンを生成する。
出力画像の中間バージョンが2K×Kバージョンであるとき、システムは、2K×Kバージョンからのピクセルの列を第2の出力画像からのピクセルの列と互い違いにすることによって2K×2Kバージョンを生成する。
本明細書は、用語「構成される」をシステムおよびコンピュータプログラムの構成要素に関連して使用する。1つまたは複数のコンピュータのシステムが特定の動作または行動を実行するように構成されることは、システムが、動作中にシステムに動作または行動を実行させるソフトウェア、ファームウェア、ハードウェア、またはそれらの組合せをそのシステム上にインストール済みであることを意味する。1つまたは複数のコンピュータプログラムが特定の動作または行動を実行するように構成されることは、1つまたは複数のプログラムが、データ処理装置によって実行されるときに装置に動作または行動を実行させる命令を含むことを意味する。
本明細書に記載の対象の実施形態および機能的動作は、本明細書で開示された構造およびそれらの構造的均等物を含むデジタル電子回路、有形で具現化されたコンピュータソフトウェアもしくはファームウェア、コンピュータハードウェア、またはそれらのうちの1つもしくは複数の組合せで実装されることが可能である。本明細書に記載の対象の実施形態は、1つまたは複数のコンピュータプログラム、すなわち、データ処理装置による実行のために、またはデータ処理装置の動作を制御するために有形の非一時的ストレージ媒体上に符号化されたコンピュータプログラム命令の1つまたは複数のモジュールとして実装されることが可能である。コンピュータストレージ媒体は、機械可読ストレージデバイス、機械可読ストレージ基板、ランダムもしくはシリアルアクセスメモリデバイス、またはそれらのうちの1つもしくは複数の組合せであることが可能である。代替的にまたは追加的に、プログラム命令は、データ処理装置による実行のために好適なレシーバ装置に送信するために情報を符号化するように生成される人為的に生成された伝播信号、たとえば、機械によって生成された電気的信号、光学的信号、または電磁的信号上に符号化されることが可能である。
用語「データ処理装置」は、データ処理ハードウェアを指し、例として、1つのプログラミング可能なプロセッサ、1台のコンピュータ、または複数のプロセッサもしくはコンピュータを含む、データを処理するためのすべての種類の装置、デバイス、およびマシンを包含する。装置は、専用の論理回路、たとえば、FPGA(フィールドプログラマブルゲートアレイ)またはASIC (特定用途向け集積回路)であることも可能であり、またはそのような専用の論理回路をさらに含むことも可能である。任意で、装置は、ハードウェアに加えて、コンピュータプログラムのための実行環境を作成するコード、たとえば、プロセッサのファームウェア、プロトコルスタック、データベース管理システム、オペレーティングシステム、またはそれらのうちの1つもしくは複数の組合せを構成するコードを含むことが可能である。
プログラム、ソフトウェア、ソフトウェアアプリケーション、アプリ、モジュール、ソフトウェアモジュール、スクリプト、またはコードと呼ばれるまたは記載される場合もあるコンピュータプログラムは、コンパイラ型言語もしくはインタープリタ型言語、または宣言型言語もしくは手続き型言語を含む任意の形態のプログラミング言語で記述されることが可能であり、独立型プログラムとしての形態、またはモジュール、コンポーネント、サブルーチン、もしくはコンピューティング環境内での使用に適したその他のユニットとしての形態を含む任意の形態で配置されることが可能である。プログラムは、ファイルシステム内のファイルに対応してもよいが、必ずそうであるとは限らない。プログラムは、その他のプログラムもしくはデータを保持するファイルの一部、たとえば、マークアップ言語のドキュメントに記憶された1つもしくは複数のスクリプト、問題にしているプログラムに専用の単一のファイル、または複数の組織されたファイル、たとえば、1つもしくは複数のモジュール、サブプログラム、もしくはコードの一部を記憶するファイルに記憶され得る。コンピュータプログラムは、1台のコンピュータ上で、または1つの場所に置かれるか、もしくは複数の場所に分散され、データ通信ネットワークによって相互に接続される複数のコンピュータ上で実行されるように配置されることが可能である。
本明細書に記載のプロセスおよび論理フローは、入力データに対して演算を行い、出力を生成することによって機能を実行するための1つまたは複数のコンピュータプログラムを1つまたは複数のプログラミング可能なコンピュータが実行することによって実行されることが可能である。また、プロセスおよび論理フローは、専用の論理回路、たとえば、FPGAもしくはASICによって、または専用の論理回路と1つまたは複数のプログラミングされたコンピュータとの組合せによって実行されることが可能である。
コンピュータプログラムの実行に好適なコンピュータは、汎用マイクロプロセッサもしくは専用マイクロプロセッサもしくはそれら両方、または任意のその他の種類の中央演算処理装置に基づくことが可能である。概して、中央演算処理装置は、読み出し専用メモリ、またはランダムアクセスメモリ、またはそれら両方から命令およびデータを受け取る。コンピュータの必須の要素は、命令を遂行または実行するための中央演算処理装置、ならびに命令およびデータを記憶するための1つまたは複数のメモリデバイスである。中央演算処理装置およびメモリは、専用の論理回路によって補完されるか、または専用の論理回路に組み込まれることが可能である。また、概してコンピュータは、データを記憶するための1つまたは複数の大容量ストレージデバイス、たとえば、磁気ディスク、光磁気ディスク、もしくは光ディスクを含むか、またはそれらの大容量ストレージデバイスからデータを受信するか、もしくはそれらの大容量ストレージデバイスにデータを転送するか、もしくはその両方を行うために動作可能なように結合される。しかし、コンピュータは、そのようなデバイスを有していなくてもよい。さらに、コンピュータは、別のデバイス、たとえば、ほんのいくつか例を挙げるとすれば、モバイル電話、携帯情報端末(PDA)、モバイルオーディオもしくはビデオプレイヤー、ゲームコンソール、全地球測位システム(GPS)レシーバ、またはポータブルストレージデバイス、たとえば、ユニバーサルシリアルバス(USB)フラッシュドライブに組み込まれることが可能である。
コンピュータプログラム命令およびデータを記憶するのに適したコンピュータ可読媒体は、例として、半導体メモリデバイス、たとえば、EPROM、EEPROM、およびフラッシュメモリデバイス、磁気ディスク、たとえば、内蔵ハードディスクまたはリムーバブルディスク、光磁気ディスク、ならびにCD-ROMディスクおよびDVD-ROMディスクを含む、すべての形態の不揮発性メモリ、媒体、およびメモリデバイスを含む。
ユーザとのインタラクションを提供するために、本明細書に記載の対象の実施形態は、ユーザに対して情報を表示するためのディスプレイデバイス、たとえば、CRT (ブラウン管)またはLCD (液晶ディスプレイ)モニタ、ならびにユーザがコンピュータに入力を与えることができるキーボードおよびポインティングデバイス、たとえば、マウスまたはトラックボールを有するコンピュータ上に実装されることが可能である。その他の種類のデバイスが、ユーザとのインタラクションを提供するためにやはり使用されることが可能であり、たとえば、ユーザに提供されるフィードバックは、任意の形態の感覚フィードバック、たとえば、視覚フィードバック、聴覚フィードバック、または触覚フィードバックであることが可能であり、ユーザからの入力は、音響、発話、または触覚による入力を含む任意の形態で受け取られることが可能である。加えて、コンピュータは、ユーザによって使用されるデバイスに文書を送信し、そのデバイスから文書を受信することによって、たとえば、ウェブブラウザから受信された要求に応答してユーザのデバイスのウェブブラウザにウェブページを送信することによってユーザとインタラクションすることができる。また、コンピュータは、メッセージングアプリケーションを実行しているパーソナルデバイス、たとえば、スマートフォンにテキストメッセージまたはその他の形態のメッセージを送信し、返報としてユーザから応答メッセージを受信することによってユーザとインタラクションすることができる。
機械学習モデルを実装するためのデータ処理装置は、たとえば、機械学習の訓練または生産、つまり、推測の作業負荷のよくある計算量の多い部分を処理するための専用ハードウェアアクセラレータユニットも含むことが可能である。
機械学習モデルは、機械学習フレームワーク、たとえば、TensorFlowフレームワーク、Microsoft Cognitive Toolkitフレームワーク、Apache Singaフレームワーク、またはApache MXNetフレームワークを使用して実装され、配置されることが可能である。
本明細書に記載の対象の実施形態は、バックエンド構成要素を、たとえば、データサーバとして含むか、またはミドルウェア構成要素、たとえば、アプリケーションサーバを含むか、またはフロントエンド構成要素、たとえば、ユーザが本明細書に記載の対象の実装とインタラクションすることができるグラフィカルユーザインターフェース、ウェブブラウザ、もしくはアプリを有するクライアントコンピュータを含むか、または1つもしくは複数のそのようなバックエンド構成要素、ミドルウェア構成要素、もしくはフロントエンド構成要素の任意の組合せを含むコンピューティングシステムに実装されることが可能である。システムの構成要素は、任意の形態または媒体のデジタルデータ通信、たとえば、通信ネットワークによって相互に接続されることが可能である。通信ネットワークの例は、ローカルエリアネットワーク(LAN)および広域ネットワーク(WAN)、たとえば、インターネットを含む。
コンピューティングシステムは、クライアントおよびサーバを含み得る。クライアントおよびサーバは、概して互いに離れており、通常は通信ネットワークを通じてインタラクションする。クライアントとサーバとの関係は、それぞれのコンピュータ上で実行されており、互いにクライアント-サーバの関係にあるコンピュータプログラムによって生じる。一部の実施形態において、サーバは、たとえば、クライアントとして働くデバイスとインタラクションするユーザに対してデータを表示し、そのようなユーザからユーザ入力を受け取る目的でユーザデバイスにデータ、たとえば、HTMLページを送信する。ユーザデバイスにおいて生成されたデータ、たとえば、ユーザインタラクションの結果が、サーバにおいてデバイスから受信されることが可能である。
本明細書は多くの特定の実装の詳細を含むが、これらは、いかなる発明の範囲または特許請求される可能性があるものの範囲に対する限定ともみなされるべきではなく、むしろ、特定の発明の特定の実施形態に特有である場合がある特徴の説明とみなされるべきである。別々の実施形態の文脈で本明細書において説明されている特定の特徴が、単一の実施形態において組み合わせて実装されることも可能である。反対に、単一の実施形態の文脈で説明されている様々な特徴が、複数の実施形態に別々にまたは任意の好適な部分的組合せで実装されることも可能である。さらに、特徴は、特定の組合せで動作するものとして上で説明されている場合があり、最初にそのように主張されてさえいる場合があるが、主張された組合せの1つまたは複数の特徴は、場合によっては組合せから削除されることが可能であり、主張された組合せは、部分的組合せ、または部分的組合せの変形を対象とする場合がある。
同様に、動作が特定の順序で図中に示され、請求項に記載されているが、これは、そのような動作が示された特定の順序でもしくは逐次的順序で実行されること、または所望の結果を達成するために示されたすべての動作が実行されることを必要とするものと理解されるべきでない。特定の状況においては、マルチタスクおよび並列処理が有利である可能性がある。さらに、上述の実施形態における様々なシステムモジュールおよびコンポーネントの分割は、すべての実施形態においてそのような分割を必要とするものと理解されるべきでなく、説明されたプログラムコンポーネントおよびシステムは、概して、単一のソフトウェア製品に一緒に統合されるか、または複数のソフトウェア製品にパッケージングされることが可能であることが理解されるべきである。
対象の特定の実施形態が、説明された。その他の実施形態は、添付の請求項の範囲内にある。たとえば、請求項に挙げられた行動は、異なる順序で実行され、それでも所望の結果を達成することができる。一例として、添付の図面に示されたプロセスは、所望の結果を達成するために、必ずしも、示された特定の順序、または逐次的順序である必要はない。場合によっては、マルチタスクおよび並列処理が有利である可能性がある。
100 画像生成システム
102 自己回帰画像生成機械学習モデル
104 畳み込みニューラルネットワーク
106 入力コンテキスト
108 初期低解像度画像
110 出力画像
200 画像
202 グループ1ピクセル
204 グループ2ピクセル
206 グループ3ピクセル
208 グループ4ピクセル
300 プロセス
302 第1のCNN
304 第2の畳み込みニューラルネットワーク
306 現在のバージョン
308 第1の出力画像
310 ピクセルのK列
312 K×2Kバージョン
314 第2の出力画像
316 2K×2K画像
318 特徴ブロック
400 プロセス

Claims (18)

1つまたは複数のコンピュータがNピクセル×Nピクセルの出力解像度を有する出力画像を生成する方法であって、前記出力画像の各ピクセルが、複数のカラーチャンネルの各々に関するそれぞれの色値を有し、前記方法が、
前記出力画像の低解像度バージョンを取得するステップと、
以下の動作、すなわち、
現在のK×Kの解像度を有する前記出力画像の現在のバージョンを取得する動作、および
2K×2Kの解像度を有する前記出力画像の更新されたバージョンを生成するために前記現在の解像度に固有である畳み込みニューラルネットワークの組を使用して前記出力画像の前記現在のバージョンを処理する動作
を繰り返し実行することによって前記出力解像度を有する前記出力画像を生成するために前記出力画像の前記低解像度バージョンをアップスケールするステップと
を含む、方法。
前記低解像度バージョンを取得するステップが、
画像生成機械学習モデルを使用して前記低解像度バージョンを生成することを含む請求項1に記載の方法。
前記画像生成機械学習モデルが、自己回帰画像生成機械学習モデルである請求項2に記載の方法。
前記出力画像が、入力コンテキストを条件とし、
前記画像生成機械学習モデルが、前記入力コンテキストを条件として前記低解像度バージョンを生成するように構成される請求項2に記載の方法。
畳み込みニューラルネットワークの各組の中の各畳み込みニューラルネットワークが、前記入力コンテキストを条件とする請求項4に記載の方法。
前記現在の解像度に固有である畳み込みニューラルネットワークの前記組が、
前記出力画像の前記現在のバージョンを含む第1の入力を受け取り、前記出力画像のK×2Kバージョンからのピクセルの列を含む第1の出力画像を生成するように構成される第1の畳み込みニューラルネットワークと、
前記出力画像の前記K×2Kバージョンを含む第2の入力を受け取り、前記出力画像の2K×2Kバージョンからのピクセルの行を含む第2の出力画像を生成するように構成される第2の畳み込みニューラルネットワークと
を含む請求項1に記載の方法。
前記出力画像の前記更新されたバージョンを生成するために前記現在の解像度に固有である畳み込みニューラルネットワークの前記組を使用して前記出力画像の前記現在のバージョンを処理することが、
前記第1の出力画像を生成するために前記第1の畳み込みニューラルネットワークを使用して前記出力画像の前記現在のバージョンを処理することと、
前記現在のバージョンおよび前記第1の出力画像をマージすることによって前記K×2Kバージョンを生成することと、
前記第2の出力画像を生成するために前記第2の畳み込みニューラルネットワークを使用して前記K×2Kバージョンを処理することと、
前記K×2Kバージョンおよび前記第2の出力画像をマージすることによって前記2K×2Kバージョンを生成することと
を含む請求項6に記載の方法。
前記現在のバージョンおよび前記第1の出力画像をマージすることが、
前記現在のバージョンからのピクセルの列を前記第1の出力画像からのピクセルの列と互い違いにすることによって、前記現在の画像からのピクセルのK個の列および前記第1の出力画像からのピクセルのK個の列を含むK×2K画像を生成することを含む請求項7に記載の方法。
前記K×2Kバージョンおよび前記第2の出力画像をマージすることが、
前記K×2Kバージョンからのピクセルの行を前記第2の出力画像からのピクセルの行と互い違いにすることによって、前記K×2KバージョンからのピクセルのK個の行および前記第2の出力画像からのピクセルのK個の行を含む2K×2K画像を生成することを含む請求項7に記載の方法。
前記複数のカラーチャンネルが、チャンネルの順序に従って順序付けられ、
前記第1の畳み込みニューラルネットワークが、前記カラーチャンネルの各々に関して、
(i)前記現在のバージョン、および(ii)前記チャンネルの順序で前記カラーチャンネルの前の任意のカラーチャンネルに関する前記第1の出力画像のピクセルのための色値を条件とし、かつ(iii)前記チャンネルの順序で前記カラーチャンネルの後にある任意のカラーチャンネルに関する前記第1の出力画像のピクセルのための色値を条件とせずに、前記第1の出力画像のピクセルのための前記カラーチャンネルに関する色値を生成するように構成され、
前記第2の畳み込みニューラルネットワークが、前記カラーチャンネルの各々に関して、
(i)前記K×2Kバージョン、および(ii)前記チャンネルの順序で前記カラーチャンネルの前の任意のカラーチャンネルに関する前記第2の出力画像のピクセルのための色値を条件とし、かつ(iii)前記チャンネルの順序で前記カラーチャンネルの後にある任意のカラーチャンネルに関する前記第2の出力画像のピクセルのための色値を条件とせずに、前記第2の出力画像のピクセルのための前記カラーチャンネルに関する色値を生成するように構成される請求項7に記載の方法。
前記第1の出力画像を生成するために前記第1の畳み込みニューラルネットワークを使用して前記現在のバージョンを処理することが、
前記現在のバージョンと、前記第1の出力画像を生成するために既に生成された前記第1の出力画像からの色値とを繰り返し処理することを含み、
前記第2の出力画像を生成するために前記第2の畳み込みニューラルネットワークを使用して前記K×2Kバージョンを処理することが、
前記K×2Kバージョンと、前記第2の出力画像を生成するために既に生成された前記第2の出力画像からの色値とを繰り返し処理することを含む請求項10に記載の方法。
前記現在の解像度に固有である畳み込みニューラルネットワークの前記組が、
前記出力画像の前記現在のバージョンを含む第1の入力を受け取り、前記出力画像の2K×Kバージョンからのピクセルの行を含む第1の出力画像を生成するように構成される第1の畳み込みニューラルネットワークと、
前記出力画像の前記2K×Kバージョンを含む第2の入力を受け取り、前記出力画像の2K×2Kバージョンからのピクセルの列を含む第2の出力画像を生成するように構成される第2の畳み込みニューラルネットワークと
を含む請求項1に記載の方法。
前記更新されたバージョンを生成するために前記現在の解像度に固有である畳み込みニューラルネットワークの前記組を使用して前記出力画像の前記現在のバージョンを処理することが、
前記第1の出力画像を生成するために前記第1の畳み込みニューラルネットワークを使用して前記現在のバージョンを処理することと、
前記現在のバージョンおよび前記第1の出力画像をマージすることによって前記2K×Kバージョンを生成することと、
前記第2の出力画像を生成するために前記第2の畳み込みニューラルネットワークを使用して前記2K×Kバージョンを処理することと、
前記2K×Kバージョンおよび前記第2の出力画像をマージすることによって前記2K×2Kバージョンを生成することと
を含む請求項12に記載の方法。
前記現在のバージョンおよび前記第1の出力画像をマージすることが、
前記現在のバージョンからのピクセルの行を前記第1の出力画像からのピクセルの行と互い違いにすることによって、前記現在の画像からのピクセルのK個の行および前記第1の出力画像からのピクセルのK個の行を含む2K×K画像を生成することを含む請求項13に記載の方法。
前記2K×Kバージョンおよび前記第2の出力画像をマージすることが、
前記2K×Kバージョンからのピクセルの列を前記第2の出力画像からのピクセルの列と互い違いにすることによって、前記2K×KバージョンからのピクセルのK個の列および前記第2の出力画像からのピクセルのK個の列を含む2K×2K画像を生成することを含む請求項13に記載の方法。
前記複数のカラーチャンネルが、チャンネルの順序に従って順序付けられ、
前記第1の畳み込みニューラルネットワークが、前記カラーチャンネルの各々に関して、
(i)前記現在のバージョン、および(ii)前記チャンネルの順序で前記カラーチャンネルの前の任意のカラーチャンネルに関する前記第1の出力画像のピクセルのための色値を条件とし、かつ(iii)前記チャンネルの順序で前記カラーチャンネルの後にある任意のカラーチャンネルに関する前記第1の出力画像のピクセルのための色値を条件とせずに、前記第1の出力画像のピクセルのための前記カラーチャンネルに関する色値を生成するように構成され、
前記第2の畳み込みニューラルネットワークが、前記カラーチャンネルの各々に関して、
(i)前記2K×Kバージョン、および(ii)前記チャンネルの順序で前記カラーチャンネルの前の任意のカラーチャンネルに関する前記第2の出力画像のピクセルのための色値を条件とし、(iii)前記チャンネルの順序で前記カラーチャンネルの後にある任意のカラーチャンネルに関する前記第2の出力画像のピクセルのための色値を条件とせずに、前記第2の出力画像のピクセルのための前記カラーチャンネルに関する色値を生成するように構成される請求項12に記載の方法。
前記第1の出力画像を生成するために前記第1の畳み込みニューラルネットワークを使用して前記現在のバージョンを処理することが、
前記現在のバージョンと、前記第1の出力画像を生成するために既に生成された前記第1の出力画像からの色値とを繰り返し処理することを含み、
前記第2の出力画像を生成するために前記第2の畳み込みニューラルネットワークを使用して前記2K×Kバージョンを処理することが、
前記2K×Kバージョンと、前記第2の出力画像を生成するために既に生成された前記第2の出力画像からの色値とを繰り返し処理することを含む請求項16に記載の方法。
1つまたは複数のコンピュータと、
前記1つまたは複数のコンピュータによって実行されると、前記1つまたは複数のコンピュータに、Nピクセル×Nピクセルの出力解像度を有する出力画像を生成するための動作を実行させる命令を記憶した1つまたは複数のストレージデバイスであって、
前記出力画像の各ピクセルが、複数のカラーチャンネルの各々に関するそれぞれの色値を有し、前記動作が、
前記出力画像の低解像度バージョンを取得するステップと、
以下の動作、すなわち、
現在のK×Kの解像度を有する前記出力画像の現在のバージョンを取得する動作、および
2K×2Kの解像度を有する前記出力画像の更新されたバージョンを生成するために前記現在の解像度に固有である畳み込みニューラルネットワークの組を使用して前記出力画像の前記現在のバージョンを処理する動作
を繰り返し実行することによって前記出力解像度を有する前記出力画像を生成するために前記出力画像の前記低解像度バージョンをアップスケールするステップと
を含む、ストレージデバイスと
を含むシステム。
JP2019538533A 2017-02-24 2018-02-26 ニューラルネットワークを使用した繰り返しマルチスケール画像生成 Active JP6848071B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201762463538P 2017-02-24 2017-02-24
US62/463,538 2017-02-24
PCT/EP2018/054614 WO2018154092A1 (en) 2017-02-24 2018-02-26 Multiscale image generation

Publications (2)

Publication Number Publication Date
JP2020508504A JP2020508504A (ja) 2020-03-19
JP6848071B2 true JP6848071B2 (ja) 2021-03-24

Family

ID=61386851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019538533A Active JP6848071B2 (ja) 2017-02-24 2018-02-26 ニューラルネットワークを使用した繰り返しマルチスケール画像生成

Country Status (6)

Country Link
US (2) US11361403B2 (ja)
EP (1) EP3526765B1 (ja)
JP (1) JP6848071B2 (ja)
KR (1) KR102253627B1 (ja)
CN (1) CN109997168B (ja)
WO (1) WO2018154092A1 (ja)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11966839B2 (en) * 2017-10-25 2024-04-23 Deepmind Technologies Limited Auto-regressive neural network systems with a soft attention mechanism using support data patches
EP3857514A1 (en) 2018-09-27 2021-08-04 DeepMind Technologies Limited Image generation using subscaling and depth up-scaling
US11301640B2 (en) * 2018-10-24 2022-04-12 International Business Machines Corporation Cognitive assistant for co-generating creative content
KR20210004702A (ko) * 2019-07-05 2021-01-13 삼성전자주식회사 Ai 프로세서 및 이의 신경망 연산 수행 방법
KR102676093B1 (ko) 2019-11-28 2024-06-19 삼성전자주식회사 전자 장치 및 그 제어 방법
KR102141319B1 (ko) * 2019-12-09 2020-08-04 이화여자대학교 산학협력단 다시점 360도 영상의 초해상화 방법 및 영상처리장치
US11494875B2 (en) * 2020-03-25 2022-11-08 Nintendo Co., Ltd. Systems and methods for machine learned image conversion
US11379951B2 (en) 2020-03-25 2022-07-05 Nintendo Co., Ltd. Systems and methods for machine learned image conversion
CN115668273A (zh) 2020-09-15 2023-01-31 三星电子株式会社 电子装置、其控制方法和电子***
KR20220036061A (ko) * 2020-09-15 2022-03-22 삼성전자주식회사 전자 장치, 그 제어 방법 및 전자 시스템
WO2022074878A1 (ja) * 2020-10-08 2022-04-14 パナソニックIpマネジメント株式会社 処理方法およびそれを利用した処理装置
US11893710B2 (en) * 2020-11-16 2024-02-06 Boe Technology Group Co., Ltd. Image reconstruction method, electronic device and computer-readable storage medium
KR20220102420A (ko) * 2021-01-13 2022-07-20 삼성전자주식회사 이미지를 업스케일하는 전자 장치 및 이의 제어 방법
KR20240109381A (ko) * 2023-01-04 2024-07-11 삼성전자주식회사 이미지를 업스케일링하기 위한 전자 장치 및 그 제어 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002281294A (ja) 2001-03-21 2002-09-27 Matsushita Electric Ind Co Ltd 画像処理装置および方法
JP4692401B2 (ja) 2006-06-09 2011-06-01 日本ビクター株式会社 画像処理装置及び画像処理プログラム
KR101070981B1 (ko) * 2009-11-05 2011-10-06 홍익대학교 산학협력단 경계선 성분 분류 기반 신경회로망 모델을 이용한 영상 화질 개선방법
KR20130001213A (ko) * 2010-01-28 2013-01-03 이섬 리서치 디벨러프먼트 컴파니 오브 더 히브루 유니버시티 오브 예루살렘 엘티디. 입력 이미지로부터 증가된 픽셀 해상도의 출력 이미지를 생성하는 방법 및 시스템
JP5891702B2 (ja) 2011-10-19 2016-03-23 沖電気工業株式会社 画像処理装置及びプログラム
US9734558B2 (en) 2014-03-20 2017-08-15 Mitsubishi Electric Research Laboratories, Inc. Method for generating high-resolution images using regression patterns
WO2017015649A1 (en) 2015-07-23 2017-01-26 Mireplica Technology, Llc Performance enhancement for two-dimensional array processor
CN107124609A (zh) * 2017-04-27 2017-09-01 京东方科技集团股份有限公司 一种视频图像的处理***、其处理方法及显示装置
CN108259997B (zh) * 2018-04-02 2019-08-23 腾讯科技(深圳)有限公司 图像相关处理方法及装置、智能终端、服务器、存储介质
CN112907449B (zh) * 2021-02-22 2023-06-09 西南大学 一种基于深度卷积稀疏编码的图像超分辨率重建方法

Also Published As

Publication number Publication date
EP3526765A1 (en) 2019-08-21
WO2018154092A1 (en) 2018-08-30
EP3526765B1 (en) 2024-04-17
US20220284546A1 (en) 2022-09-08
CN109997168B (zh) 2023-09-12
KR102253627B1 (ko) 2021-05-18
CN109997168A (zh) 2019-07-09
WO2018154092A8 (en) 2019-05-16
US20210027425A1 (en) 2021-01-28
US11361403B2 (en) 2022-06-14
US11734797B2 (en) 2023-08-22
KR20190097205A (ko) 2019-08-20
JP2020508504A (ja) 2020-03-19

Similar Documents

Publication Publication Date Title
JP6848071B2 (ja) ニューラルネットワークを使用した繰り返しマルチスケール画像生成
US11462034B2 (en) Generating images using neural networks
US11144782B2 (en) Generating video frames using neural networks
CN112771578B (zh) 使用细分缩放和深度上缩放的图像生成
US11514694B2 (en) Teaching GAN (generative adversarial networks) to generate per-pixel annotation
US20200250528A1 (en) Auto-regressive neural network systems with a soft attention mechanism using support data patches
CN108701249B (zh) 使用神经网络生成图像
JP7403638B2 (ja) 高速なスパースニューラルネットワーク
AU2021354030B2 (en) Processing images using self-attention based neural networks
KR20200132682A (ko) 이미지 최적화 방법, 장치, 디바이스 및 저장 매체
JP7337937B2 (ja) 拡大画像の取得およびストレージ
CN112419216A (zh) 图像去干扰方法、装置、电子设备及计算机可读存储介质
CN112861846B (zh) 处理张量数据的方法和装置
US20230124075A1 (en) Methods, systems, and media for computer vision using 2d convolution of 4d video data tensors
WO2023225340A1 (en) Performing computer vision tasks using guiding code sequences
CN114764806A (zh) 基于搜索空间的图像分割模型生成方法、分割方法及装置
CN110826713A (zh) 一种获取专用卷积核的方法及装置

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190910

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190910

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200923

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201222

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210201

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210303

R150 Certificate of patent or registration of utility model

Ref document number: 6848071

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250