Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
CycleGAN and InstaGAN
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kiyo
November 21, 2019
Technology
0
1.5k
CycleGAN and InstaGAN
#8【画像処理 & 機械学習】論文LT会で発表した内容です。GANを用いた画像変換手法である InstaGAN と CycleGAN の紹介です。
kiyo
November 21, 2019
Tweet
Share
More Decks by kiyo
See All by kiyo
Agent Skill Acquisition for Large Language Models via CycleQD
kiyohiro8
0
16
Active Retrieval Augmented Generation
kiyohiro8
3
900
Reinforcement Learning: An Introduction 輪読会 第5回
kiyohiro8
0
450
Reinforcement Learning: An Introduction 輪読会 第3回
kiyohiro8
0
600
TransGAN: Two Transformers Can Make One Strong GAN
kiyohiro8
0
370
Bridging_by_Word__Image-Grounded_Vocabulary_Construction_for_Visual_Captioning.pdf
kiyohiro8
0
990
Attention on Attention for Image Captioning
kiyohiro8
1
540
Progressive Growing of GANs for Improved Quality, Stability, and Variation
kiyohiro8
1
180
Graph-Based Global Reasoning Networks
kiyohiro8
0
1.4k
Other Decks in Technology
See All in Technology
AI ネイティブ組織への変革:ビジネスとITの統合が拓く未来/ AIで“はたらく”をアップデートする人材業界パーソルキャリアのリアル
techtekt
PRO
0
100
【5分でわかる】セーフィー エンジニア向け会社紹介
safie_recruit
0
44k
2026-02-25 Tokyo dbt meetup プロダクトと融合したCI/CD で実現する、堅牢なデータパイプラインの作り方
y_ken
0
160
WBCの解説は生成AIにやらせよう - 生成AIで野球解説者AI Agentを実現する / Baseball Commentator AI Agent for Gemini
shinyorke
PRO
0
320
Agentic Codingの実践とチームで導入するための工夫
lycorptech_jp
PRO
0
380
AI Agentにおける評価指標とAgent GPA
tsho
1
270
AWS Bedrock Guardrails / 機密情報の入力・出力をブロックする — Blocking Sensitive Information Input/Output
kazuhitonakayama
2
190
Digitization部 紹介資料
sansan33
PRO
1
7k
トラブルの大半は「言ってない」x「言ってない」じゃねーか!!
ichimichi
0
290
AIエンジニア Devin と歩む、自律型運用プロセスの構築
a2ito
0
600
競争優位を生み出す戦略的内製開発の実践技法
masuda220
PRO
2
530
AIエージェントで変わる開発プロセス ― レビューボトルネックからの脱却
lycorptech_jp
PRO
2
840
Featured
See All Featured
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
65
Information Architects: The Missing Link in Design Systems
soysaucechin
0
810
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
380
Introduction to Domain-Driven Design and Collaborative software design
baasie
1
620
The untapped power of vector embeddings
frankvandijk
2
1.6k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
230
New Earth Scene 8
popppiees
1
1.7k
The innovator’s Mindset - Leading Through an Era of Exponential Change - McGill University 2025
jdejongh
PRO
1
110
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
120
sira's awesome portfolio website redesign presentation
elsirapls
0
170
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Transcript
CycleGAN and InstaGAN 第8回画像処理 & 機械学習】論文LT会 2019年11月21日(木) @hrs1985
自己紹介 twitter : @hrs1985 https://qiita.com/hrs1985 https://kiyo.qrunch.io/ 機械学習エンジニアをしています。 最近転職して7月から東京で働いてます。 前々職では実験生物学やってました。 •
深層生成モデル、画像の変換 • 強化学習 • 生物学・化学への機械学習の応用 に興味があります。
紹介する論文 CycleGAN Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks (ICCV
2017) https://arxiv.org/abs/1703.10593 InstaGAN InstaGAN: Instance-aware Image-to-Image Translation (ICLR 2019) https://arxiv.org/abs/1812.10889
画像のスタイル変換 Paired 各ドメインの画像が対になっている Unpaired 各ドメインの画像が対になっていない あるドメインの画像を別のドメインへの対応する画像に変換する操作
CycleGAN による画像変換 左: CycleGAN の論文中の例、右: 自分で実験してみた例
CycleGAN 2つのGeneratorはそれぞれX→Y、Y→Xの変換を行い、 Discriminatorはそれが元々そのドメインの画像だったか Generatorによって変換された画像かを見破る。
CycleGAN の Loss Domain loss (GAN Loss) Content Loss (Cycle
Consistency Loss)
CycleGAN
CycleGAN の問題点 ・オブジェクト形状が大きく変わるような変換はできない。 ・変換するべきオブジェクトが画像のどの部分であるかを明示して変換することはできない。
InstaGAN ・CycleGAN で失敗しやすい、オブジェクト形状が変化するような変換にも対応できる。 ・該当するインスタンスのうち、一部だけを変換することもできる。
InstaGAN
Generator 1. 画像用 Encoder とマスク用 Encoder で特徴を抽出 2. マスク特徴の総和を取っておく 3.
画像用の Decoder に画像特徴とマスク特徴の総和を 入力して変換された画像を得る 4. マスク用の Decoder に画像特徴とマスク特徴の総和と マスク特徴を入力して変換されたマスクを得る
Discriminator 1. 画像用 Encoder とマスク用 Encoder で特徴を抽出 2. マスク特徴の総和を取る 3.
Classifier に画像特徴とマスク特徴の総和を入力して判 別する
InstaGAN の Loss Domain Loss (GAN Loss) Content Loss Domain
Loss: target domain っぽいかどうかを判別するための Loss Content Loss: 元画像の内容や文脈を保持するための Loss
Content Loss の中身 ドメイン X の画像を一旦 Y に変換してからもう一度 X に変換したら元画像戻って欲しいという願い
(CycleGAN の Cycle Consistency Loss と同じ) GXY/GYX はそれぞれドメイン X/Y の画像についてのみ変更してほしいという願い (元々 Y/X だった画像は変更しないでほしい ) マスク領域以外の場所は変更しないでほしいという願い
Sequential Translation 一度に全てのマスクを変換するのではなく、 各 iteration では少数のマスクだけを変換する手法を使っています。
Sequential Translation One: 全てのマスクを 1 iteration で変換 Seq: Sequential に少数ずつ変換 train時/inference時 Train
時にも Inference 時にも Sequential Translation を行った方がよいらしい (一番右)。
結果 ズボン⇔スカートの変換 CycleGANよりも綺麗です。 また、右側中段のように一人分だけ変換することもできています。
結果 ヒツジ⇔キリンの変換 ちゃんとヒツジとキリンの形になっています。 また、InstaGAN では背景部分の変化が小さいです (左側上段など)
結果 ウマ⇔車の変換 この変換の出来は微妙に見えますが論文中では上手くいってる扱いぽいです。 確かにCycleGANよりはマシに見えます。
おまけ 自分で実装してみるために参考に著者実装を見たのですが実装が酷すぎて読むのがつらいです。 各メソッドの全ての変数に selfがついているのでメソッドの中身だけ追っても処理内容が見えづらい あとPyTorchの使い方覚えてほしい
参考 CycleGAN (https://qiita.com/hrs1985/items/050acb15ce33675f07ec) CycleGANを用いたスタイル変換 (https://qiita.com/hrs1985/items/926f9c4e635aac659675) CycleGANを用いたスタイル変換 (2) リベンジ編 (https://qiita.com/hrs1985/items/820d9b0b919fe0425e46) CycleGANのPytorch実装
(https://github.com/kiyohiro8/CycleGAN-pytorch) CycleGANの実装はあまりカッコよくないので色々修正したい。 InstaGANの実装も今やっているので上手くできたら githubに上げます。