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
pix2pixで自動着色
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Motonari
February 06, 2018
Programming
0
1.3k
pix2pixで自動着色
グレースケール化した画像をpix2pixでカラーに復元してみた。
簡単にするため、データセットはハンバーガーのみ。
Motonari
February 06, 2018
Tweet
Share
More Decks by Motonari
See All by Motonari
検索Editer
motonari728
1
560
Other Decks in Programming
See All in Programming
余白を設計しフロントエンド開発を 加速させる
tsukuha
7
2.1k
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
200
AgentCoreとHuman in the Loop
har1101
5
240
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
7
2.4k
要求定義・仕様記述・設計・検証の手引き - 理論から学ぶ明確で統一された成果物定義
orgachem
PRO
1
220
プロダクトオーナーから見たSOC2 _SOC2ゆるミートアップ#2
kekekenta
0
220
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
OCaml 5でモダンな並列プログラミングを Enjoyしよう!
haochenx
0
140
CSC307 Lecture 09
javiergs
PRO
1
840
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
AI巻き込み型コードレビューのススメ
nealle
2
1.3k
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
Leadership Guide Workshop - DevTernity 2021
reverentgeek
1
200
Mind Mapping
helmedeiros
PRO
0
90
Into the Great Unknown - MozCon
thekraken
40
2.3k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
0
150
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
61
52k
How to train your dragon (web standard)
notwaldorf
97
6.5k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.4k
sira's awesome portfolio website redesign presentation
elsirapls
0
150
Fireside Chat
paigeccino
41
3.8k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
Transcript
pix2pixで ハンバーガーの自動着色 慶應SFC 環境情報 3年 都築本成
目次 • 結果 ◦ 画像 ◦ データセット ◦ 実験の詳細 •
pix2pixとは ◦ AutoEncoder + GAN ▪ 全体画像 ◦ AutoEncoderはU-Net ◦ GANはPatchGAN •
結果 (test-data)
結果 (test-data)
データセット • Instagramからハンバーガー画像を大量に集めてくれた人がいる ◦ https://qiita.com/knok/items/5bc8386a57c157279455 • そこからさらに - ハンバーガーがメイン -
おいしそう な画像を目視で選んだ • お腹が空く • Train = 400枚 • Test = 140枚 • データは画像単位でユニークを確認。TrainとTestに重複なし • データセットを見せる
実験の詳細 • 1epoch = 400画像しかつかっていない • 200epoch • 手元のGTX1060 6Gで3時間30分
• 簡単なタスクを選んだとはいえ、GANにしては非常に安定しており、収束が速い • pix2pixすごい!
実験の詳細
結果 (test-data)
結果 • ham_test/index.htmlを見せる
さらに結果 • trainデータはハンバーガーのみ • きちんとtrainデータから学習しているかどうかを確かめるため、 ハンバーガー以外の白黒画像をGeneratorに入れてみる
結果
結果
結果 • ham_random/index.htmlを見せる
pix2pixとは • 画像の変換ができる • 色塗り、航空写真から地図、超解像にも使える • PaintsChainerもこれの亜種らしい • 2016/11がv1 •
林くんの発表と似ています
GAN
pix2pixとは cGANの亜種 - Generator: AutoEncoderが画像を変換する。Discriminatorを騙すように学習。 - Discriminator: CNNが(線画, 本物画像)を与えられた時はreal, (線画,
変換画像)を与えられた時はfakeと見分けられるように学習 GeneratorとDiscriminatorが敵対的に学習する
AutoEncoderとは - Encoder: 画像をCNNで畳み込んで、20次元程度に落とす - Decoder: 20次元からもとの(256*256)次元に復元する。 inputとoutputの画素単位の違いが少なくなるように学習すると、EndoderとDecoderの 接続点で画像の情報が圧縮される。 画素単位の誤差をL1
Lossという
U-Net AutoEncoderの亜種 skip-connection
U-Net • AutoEncoder + Skip-Connection • Skip-Connectionで詳細情報を捉え、深いEncoderで全体の情報を捉える
pix2pixとは cGANの亜種 - Generator: AutoEncoderが画像を変換する。Discriminatorを騙すように学習。 - Discriminator: CNNが(線画, 本物画像)を与えられた時はreal, (線画,
変換画像)を与えられた時はfakeと見分けられるように学習 GeneratorとDiscriminatorが敵対的に学習する
PatchGAN • モノクロ絵と生成画像をlayer方向に重ねる • 最終Mapが30*30*1になるように5回畳み込み。kerner_size4, stride2 • それぞれの場所の本物度を出力。最終出力はそれらの平均 • 最終Mapから逆にたどると、そのpixelは画像の一部しか見ていないことになる
PatchGAN • 論文だと70 * 70patchが良いとされている • patchが何を指すかは論文を読んでもよくわからない
AutoEncoder vs pix2pix • AutoEncoderはDがL1 loss (pixel誤差) • pix2pixはDがGAN
AutoEncoder vs pix2pix • pix2pixではAutoEncoderで使われていたL1 LossをGANに置き換えたと ころがキモっぽい • L1 Lossは画素ごとの誤差なので、Gが汎化するためにはぼやけた画像を
出力したほうが有利 • GANならぼやけた画像を簡単に見破り、GのLossが上がるため、Gは鮮明 な画像を出力するようになる
L1 Loss vs PatchGAN • L1+GANのLossが優秀 • あわせ技 • 今回はLoss(G)=Loss(GAN)+100*Loss(L1)
資料 • pix2pix paper [1611.07004] Image-to-Image Translation with Conditional Adversarial
Networks: https://arxiv.org/abs/1611.07004 • 使用した実装 affinelayer/pix2pix-tensorflow: https://github.com/affinelayer/pix2pix-tensorflow • ラーメンでやっている記事 Qiita: https://qiita.com/octpath/items/acaf5b4dbcb4e105a8d3