「 cycle GAN 」を用いた画風・画像変換技術とは?わかりやすく解説!

GAN&画像処理
Ganzy
Ganzy

今回は、学習した結果を用いて画風を変換する技術である「 cycle GANについてわかりやすく解説します!!ちなみにcycle GANの核となる技術である「GAN」についても別の記事で紹介しておりますので併せてごらんください!!

cycle GANの概要

はじめに「 cycle GANという技術の概要について説明します。 「 cycle GAN 」とは、画像生成技術である「GAN」の一種であり、アンペアの画像セットA、Bに対して相互に画風を変換する技術になります。例えば、うま⇔しまうま、風景画像⇒モネ絵画というように、一方からもう一方へ画像の質感(テクスチャ)を変換することができます。

また上述しているように与える画像のデータセットA、Bはペアになっている必要はありません。ですので適当なうまの画像セットと適当なシマウマの画像セットを与えてあげるだけで馬⇔しまうまという変換は概ね達成することができます。非常に画期的です!!

Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks
Image-to-image translation is a class of vision and graphics problems where the goal is to learn the mapping between an input image and an output image using a ...
Ganzy
Ganzy

cycle GANは以下の点が特徴になります。

・画風の変換が可能

・アンペアの画像で学習可能

cycle GAN の学習方法

cycle GANの概要について説明しました。では次にどのように学習しているかについて説明します。

まずcycle GANのネットワーク構造には、「Generator」と「Discriminator」が存在します。 「Generator」 とは画像を変換・生成する役割、 「Discriminator」 とは生成された画像と真の画像とを識別する役割をもっています。

この「Generator」と「Discriminator」は以下の構造で学習を行います。例えば、うまからシマウマへ変換する場合、「Generator」ではうまの画像をシマウマへ変換するように画像生成を行います。そして生成されたシマウマ画像と本物のシマウマ画像を「Discriminator」によってどちらが本物のシマウマ画像であるかを識別します。ここで「Generator」ではより「Discriminator」をだませるように画像を生成し、「Discriminator」では、本物の画像を見破れるように学習を行うことでうまからシマウマ画像を精巧に生成することができるようになります。ここまでは通常の「GAN」とほぼ同じ学習方法になります。

さてcycle GANでは2種類の画像に対して相互変換ができますのでシマウマからうま画像への変換についても学習を行います。構造は以下の通りになります。これにより、うまからシマウマへの画像変換をおこなえる「Generator」と、シマウマからうまへの画像変換を行える「Generataor」の2つが作成されます。

cycle GANではサイクルの一貫性という考え方を導入しております。これは下記の図に示すようにうまからシマウマへ画像変換を行う「Generator」で生成された画像を、シマウマからうまへ画像変換を行う 「Generator」 によってうまの画像を復元します。そして、元のうま画像と復元したうま画像とを比較し誤差を計算します。この誤差を小さくするように学習することで不必要な変換を抑制することができるのです。

Ganzy
Ganzy

cycle GANでは2種類のGeneratorを学習しサイクルの一貫性を評価することで元の画像の特徴を損なわずに画像変換することができます!

cycle GANによる画像変換例

cycle GANを用いていろいろ変換してみましたので紹介します!ちなみに学習に用いた画像はそれぞれ200枚程度と少量の枚数で学習しております。

まずネオン系画像をドット画像に変換してみた結果です。もとのネオン系の画像を特徴を残しつつテクスチャがドット絵になっていることがわかります。なかなかうまくいきました。

つぎに鬼滅の刃のアニメ画像を浮世絵風に変換した結果です。うーん、なんかびみゅーな結果です。。ただカスレ具合や色調は浮世絵風になっていることがわかるかと思います。

cycle GAN の課題

最後にcycle GANが抱えている課題について説明します。cycle GANでは一般的に画風の変換が得意な反面、形状のようなジオメトリの変形は難しいという結果が得られております。下記の写真は論文の抜粋ですが、犬から猫、猫から犬の画像がほぼ変換されていないことがわかるかと思います。このように形状の変換が伴う場合は現状難しいタスクとなっております。

Ganzy
Ganzy

画風・テクスチャ変換 〇

形状・ジオメトリ変換 ×

まとめ

cycle GANの特徴について以下にまとめす。非常に面白い技術なのでぜひ活用してみてください!!

  • cycle GANでは画風・画像変換が可能
  • アンペアの画像で学習が可能
  • サイクルの一貫性により元画像の特徴を保持
  • 比較的少量の画像枚数でも学習がうまくいく場合がある
  • 形状・ジオメトリに対する変換は難しい

コメント

タイトルとURLをコピーしました