イメージ・翻訳モデル--pix2pix

1.はじめに


コンピュータビジョンにおける画像処理、コンピュータグラフィックスと多くの問題を考えることができる対応する出力画像への入力画像「翻訳」「翻訳」は、多くの場合、中国語と英語の翻訳などの言語、間を変換するために使用されています。しかし、画像変換手段その画像と画像の間の変換のさまざまな形態たとえば、次のシーンの画像は、図のように結果のセマンティックタグ形態を、マッピング、RGB画像、傾斜磁場、エッジマップで提示することができます。



伝統的な画像変換処理とを解決するために、特定の問題のために、特定のアルゴリズムに基づいている;しかし、これらのプロセスの性質は基づいて予測する画素(入力情報)に画素(画素の画素から予測する)、Pix2pix目標は確立することです私たちはそれぞれの機能に機能の喪失を再設計する必要がないのでことを、上記画像変換の問題のすべてを解決するための共通のアーキテクチャ。


2.核となるアイデア


画像ベースのモデリング損失の2.1構造


画像変換の問題へのイメージは、通常、解決するためにピクセルの分類や回帰に基づいています。これらの式出力空間「非構造化」は、すなわち、与えられた入力画像の場合に、各出力ピクセルは、独立して、他のすべてのピクセルの条件付きであると考えられます。学習損失の構造とは異なり、出力と標的構造との間の理論的には任意の可能なペナルティとすることができるcGANs(条件-GAN)。


2.2 C BY


これに先立ち、多くの研究者は、GAN修復を使用して、将来の状態を予測し、ユーザーガイドに限定された画像処理、移行およびスタイル超解像は、顕著な成果を達成しましたが、それぞれの方法は、特定の用途に合わせて調整されてい。枠なしPix2pix特定のアプリケーション点が異なります。それはまた、いくつかの建築の選択肢では前作と異なる識別器を生成しています。発電のために、我々は、「Uネット」アーキテクチャをベースと、識別器のため、我々は、畳み込み「PatchGAN」分類器、画像パッチ(小画像)スケール上の唯一の罰構造を使用します。


Pix2pixはcGANのアイデアを借用しています。cGANが入力される入力雑音Gネットワ​​ークは、状態(条件)を入力する場合にのみ、ネットワークGは、特定の条件によって影響を受ける偽画像を生成しました。条件として、画像、生成された偽の画像の画像間の翻訳の過程を達成するために、この条件画像との対応関係、上がもしそう。次のようにPixpix図です。



上記のようにPix2pixネットワーク構造は、発電機G U-Netの構造で使用されて、入力プロファイルが実画像にエンコードした後、復号化され、ディスクリミネータDは、それらの提案された識別器PatchGAN、判別式の用語で使用されDエフェクタプロファイルビューである画像を生成するための条件下で偽であると判定され、真の画像が真であると判定されます。


Pix2pix 2.3 cGAN比較



2.4損失関数


一般cGANs目的の機能は以下のとおりです。


$ L {cGAN}(G、D)= E {X、Y} [ログD(X、Y)] + E_ {X、Z} [ログ(1 - D(X、G(X、Z))] $


前記G及びD目的を最小限にしようとする目標を最大にすることである、すなわち:$ \ RM G ^ * = argに、min_G; max_D、L_ {cGAN}(G、D)$


ある普通のGANを、トレーニングに行くと同時に、比較を行うために、唯一のDは、実際の画像かどうかを判断することができます。


$ \のRM L {cGAN}(G、D)= E_y [D(y)をログ] + E {X、Z} [ログ(1 - D(G(X、Z))] $


画像変換タスクについて、入力と出力との間にGは、実際にはそのようなサイド情報の入力と出力との間で共有画像の色タスクなど、多くの情報を共有します。したがって、入力画像と出力画像との類似度だけでなく、追加L1損失ことを確実にするために:


$ \ RM L {L1}(G)= E {X、Y、Z} [|| Y - G(X、Z)|| _1] $


すなわち、L1が生成実数と偽画像イメージとの間の距離である実、(IMGB 'とIMGB)は、入力と出力の画像の類似性を確実にします。


最終損失関数:


$ \ RM G ^ * = argに; \ underset {G} {分}; \ underset {D} {最大}。L {cGAN}(G、D)+λL {L1}(G)$


3.ネットワークアーキテクチャ(ネットワークアーキテクチャ)


そして、弁別器モジュールを生成する畳み込みBatchNorm-ReLuを使用しています


G 3.1ネットワークを生成します


画像変換の問題を定義する特徴画像は、それらが、高解像度の出力グリッドに高解像度の入力グリッドマップであるということです。また、当社は、入力と出力の異なる表面外観の問題を考えるが、両方は、いくつかの情報を共有する必要があります。したがって、入力および出力構造体の構造は、実質的に整列されます。我々は、これらの世代のアーキテクチャ周りのデザインを考えます。



U-Netの構造エンコーダ・デコーダモデル、エンコーダおよびデコーダ対称構造。U-Netは、i番目の層と第2層とでは異なるが、層の総数であるN NIを、接続され、この接続はスキップされ、コネクタ(接続をスキップ)と呼ばれます。I-NI番目の層と画像サイズと同じ層であり、それらは同様の情報を搬送すると考えることができます。


3.2ネットワークDを決定します


損失の画像再構成関数L1とL2、すなわちL1とL2はよく画像の高周波数部分(画像エッジなど)が復元されていない、ぼやけているが、良好な画像(画像の低周波部分を回復することができ色のブロック)。


高周波画像、画像の位置メソッド間の強度変化の測定値である低周波成分:全サブピクチャの強度のメイン統合尺度。高周波成分:画像の主エッジおよび輪郭の尺度です。一方の画像の各位置の強度の大きさが等しい場合、低周波成分のみの画像が存在し、スペクトルから見た画像が、そこに唯一のピークであり、周波数ゼロの位置に配置します。だけでなく、低周波成分画像それぞれの画像の位置の強度変化激しい場合、またビューのスペクトル画像点から、多くの高周波成分があり、隣接する複数のピークもある、唯一の主要なピークが存在します。


部分画像の判定を行うことが良くなるために、固定された真のサイズのパッチ、および偽に複数の画像を言うことであるpatchGAN構造決意を用いPix2pixネットワークは、それぞれ、パッチのそれぞれについて決定され、最終的に最後はDとして平均化出力。この利点:


  • 入力Dは、少ない計算量、高速トレーニングスピード小さいです。
  • G自体は、完全なコンボリューション、画像のないサイズの制限があるためです。パッチおよびDは、画像処理による場合は、画像サイズに制限はありません。これは、拡張フレームワークを高め、画像のサイズに制限フレームワーク全体Pix2pixを行いません。


スタイルの損失または損失の別の形態として、紙の質感でPatchGAN。特定の実験では、異なるサイズのパッチでは、サイズ70x70がより適切見つかりました。


3.3と推論の最適化


;および使用minibatch SGDとアダムオプティマイザ代替訓練DおよびG:標準的な方法を使用して訓練します。


推論するとき、我々はトレーニングフェーズ・ジェネレータを実行するのと同じ方法を使用します。我々は列車のバッチではなく、統計試験バッチを使用してテストフェーズでの使用のドロップアウトとバッチの正規化。


4.コードの解釈


:この部分は、給紙元読んでいるhttps://github.com/junyanz/pytorch-CycleGAN-and-pix2pixを



  • ファイル列車:


一般的なトレーニングスクリプトが、あなたは異なるトレーニングモデルと異なるデータセットを指定するパラメータを渡すことができます。


--model:例えば、pix2pixcyclegancolorization


--dataset_mode:例えばalignedunalignedsinglecolorization


  • ファイルのテスト:


負荷質量参加モデルを介して共通テストスクリプト-- checkpoints_dirの出力結果の保存、--results_dir


4.1フォルダのデータ:


データの読み込みや処理を含むディレクトリ内のファイル、およびユーザーが独自のデータセットを作成することができます。ファイルデータの以下の詳細な説明:


  • __init__.pyパッケージと電車の間のインターフェイスの実装、テストスクリプト。train.pyとtest.pyは、転送パッケージオプト与えられたオプションに応じて、データセットを作成するfrom data import create_datasetと、dataset = create_dataset(opt)
  • base_dataset.py継承クラスとデータセット抽象基底クラスのトーチ、文書はまた、次のサブクラスを容易にするために使用されるいくつかの一般的な画像変換方法を含みます。
  • image_folder.py現在のディレクトリとサブディレクトリからイメージを読み込むことができ、公式pytorchコードフォルダの画像を変更します。
  • template_dataset.pyコメントのいくつかを詳細に独自のデータセットを、作るためのテンプレートと参照を提供します。
  • aligned_dataset.pyそしてunaligned_dataset.py違いは、前者がフォルダからロードされることである二つの異なるフォルダからロードされたピクチャ{A、B}、の同じ対は、{A}、{B}であるています。
  • single_dataset.py指定したパスでのみ画像を読み込みます。
  • colorization_dataset.py画像をロードし、Lab色空間のRGB(L、AB)に変換し、pix2pixは、カラーモデルを描画するために使用されます。


4.2フォルダのモデル:


含まれるモジュールのモデルがあります:目的関数、最適化、ネットワークアーキテクチャ。モデル内のファイルの以下の詳細な説明:


  • __init__.pyパッケージや電車、テストスクリプトとの間のインターフェイスを実現するために。train.pyそして、test.pyオプションパッケージオプト与えチューンに基づいてモデルを作成するfrom models import create_modelmodel = create_model(opt)
  • base_model.py:継承された抽象クラスだけでなく、他の一般的に使用される関数の数は:setup、、 、testupdate_learning_rate それはサブクラスで使用されます。save_networksload_networks
  • template_model.py:いくつかの詳細をコメントテンプレート独自のモデルを実装しています。
  • pix2pix_model.py: モデルのトレーニングデータセットをpix2pixモデルを達成するために--dataset_mode aligned、デフォルトでは、--netG unet256 --netD basic弁別(PatchGAN)。--gan_mode vanillaGAN損失(標準クロスエントロピー)。
  • colorization_model.py:モデルに対して行われた継承pix2pix_modelは、次のとおり白黒イメージマップは、カラー画像です。-dataset_model colorizationデータセット。デフォルトでは、colorizationデータセットが自動的に設定されている--input_nc 1--output_nc 2
  • cycle_gan_model.py: cycleganモデルを実現します。--dataset_mode unalignedデータセット、--netG resnet_9blocksResNetジェネレータ、--netD basic識別器(pix2pixによって導入PatchGAN)最小二乗Aガンズ目的--gan_mode lsgan
  • networks.py:ネットワークアーキテクチャと識別器生成、正規化層、初期化方法、構造最適化(GAN目的関数(レート政策を学習)を含みますvanillalsganwgangp)。
  • test_model.py:結果をcyclegan生成するために使用されるが、モデルが自動的に設定されています--dataset_mode single


4.3フォルダオプション:


これは、テストモジュールを設定し、トレーニングモジュールが含まれてTrainOptions和TestOptionsいるBaseOptionsサブクラス。詳細オプションの下のファイル。


  • __init__.py:ファイル果たしPythonインタプリタは、に対処するためのパッケージオプションとしてフォルダを作成します。
  • base_options.py:トレーニングに加えて、テストがオプションを使用している、いくつかのヘルパーメソッドがあります。オプションの保存、印刷、解析します。
  • train_options.py:オプションのニーズを訓練。
  • test_options.py:テストに必要なオプション。


4.4フォルダutilsの:


主にそのような視覚的なデータとして、いくつかの便利なツールが含まれています。utilsの下に詳細なドキュメント:


  • __init__.py:ファイル果たしPythonインタプリタは、utilsのは、に対処するためのパッケージとしてフォルダようになります。
  • get_data.py:スクリプトのデータセットをダウンロードします。
  • html.py:保存HTMLで書かれた絵。ベースのDOM APIをDiminate。
  • image_pool.py:店の写真にバッファの前世代を達成します。
  • visualizer.py:保存写真、ショーの写真。
  • utils.py: tensor2numpy変換、MKDIR診断ネットワーク勾配:いくつかのヘルパー関数が含まれています。


5.まとめと展望


5.1 pix2pixの長所と短所


Pix2pixモデルがあるとの1対1のマッピングに1真→図にデコード対応するベクトルに介して入力プロファイル→UNETコーデック:pix2pixはグランドトゥルースの再構築である、と言うことです。この1は、アプリケーションマッピングの非常に限られた範囲で、トレーニングセットにおける我々の入力データとデータのギャップが、結果はおそらく生成するための大きいされている場合、データセットの様々なタイプをカバーしようとする私たちを必要とする意味が、ことはありません。


この記事では、以下を含むPix2Pixの論文が出て表明しているすべてのポイント、次のようになります。


  • cGAN、入力画像の代わりにランダムベクトル
  • U-Netは、スキップ接続を使用すると、より多くの情報を共有します
  • ペアは、Dへの入力を確実にするためにマップします
  • 計算を向上させる効果を低減するためのパッチ-D
  • L1損失関数は、入力と出力との間の一貫性を確保するために添加されます


5.2概要


現在、あなたはできMoはアプリケーションセンターのプラットフォームを見つけるpix2pixGANを、あなたはすぐに、紙ラベルのイメージ構築→写真(建築ラベル→写真)の実験の一部を体験することができ、あなたの心のキャビンとして生成された建築画像のスケッチを描きます学習過程におけるあなた、困難または当社のミスを発見し、あなたはいつでも私達に連絡することができます。


この記事では、ネットワークアーキテクチャと実装の原則Pix2pixモデルの予備的な理解だけでなく、コードのキーパーツの初期実現する必要があります。あなたが理解し、より良い深さtensorflowを学べば、参照とすることができるtensorflow版はPix2pixを達成し、あなたがpytorchフレームに精通している場合は、参照することができpytorchがPix2pixを達成し、あなたがstarGAN原理を理解する上で、深さより知りたい場合は、を参照することができた紙


6.参考:


1.ペーパー:https://arxiv.org/pdf/1611.07004.pdf


2.Pix2pix公式サイト:https://phillipi.github.io/pix2pix/


3.コードPyTorchバージョン:https://github.com/phillipi/pix2pix


4.コードtensorflowバージョン:https://github.com/yenchenlin/pix2pix-tensorflow


5.コードtensorflowバージョン:https://github.com/affinelayer/pix2pix-tensorflow


6.ノウハウほとんど:https://zhuanlan.zhihu.com/p/38411618


7.ノウハウほとんど:https://zhuanlan.zhihu.com/p/55059359


8.ブログ:https://blog.csdn.net/qq_16137569/article/details/79950092


9.ブログ:https://blog.csdn.net/infinita_LV/article/details/85679195


10.ブログ:https://blog.csdn.net/weixin_36474809/article/details/89004841


我々について

Mo(URL:momodel.cnは)のPythonのサポートである人工知能オンラインモデリングプラットフォームを迅速に開発を支援することができ、トレーニングと展開モデル。


MoのAIクラブは、クラブのしきい値を減らすために開発と利用の人工知能に取り組んサイトのR&Dと製品設計チームが主催しています。ビッグデータの処理や分析、可視化と経験をモデル化したデータを持つチームは、フロントエンドに下から軒並み設計と開発力で、学際的知能プロジェクトを実施してきました。大規模データ分析の管理のための主要な研究の方向と人工知能技術、およびデータ駆動型の科学的な研究を推進するためです。


現在、クラブは随時共有記事や学術交流に、毎週の杭州のラインの下に活動をテーマにした6機械学習技術サロンを開催しました。すべての収束に期待しては、交流を育てる人工知能の民主化を促進し、普及していき、人工知能興味の友人に生活を歩きます。

image.png


公開された36元の記事 ウォンの賞賛4 ビュー10000 +

おすすめ

転載: blog.csdn.net/weixin_44015907/article/details/92418827