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
Motonari
February 06, 2018
Programming
0
1.1k
pix2pixで自動着色
グレースケール化した画像をpix2pixでカラーに復元してみた。
簡単にするため、データセットはハンバーガーのみ。
Motonari
February 06, 2018
Tweet
Share
More Decks by Motonari
See All by Motonari
検索Editer
motonari728
1
530
Other Decks in Programming
See All in Programming
Netty Chicago Java User Group 2024-04-17
sullis
0
170
StoreKit2によるiOSのアプリ内課金のリニューアル
kangnux
0
110
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
170
Build Apps for iOS, Android & Desktop in 100% Kotlin With Compose Multiplatform (mDevCamp 2024)
zsmb
0
320
Elm 0.19.0 Changes
bkuhlmann
0
490
R言語の環境構築と基礎 Tokyo.R 112
bob3bob3
0
270
Behind VS Code Extensions for JavaScript / TypeScript Linnting and Formatting
unvalley
5
910
Ruby Function Composition
bkuhlmann
1
330
AWS CDKコントリビュートTIPS / aws-cdk-contribution-tips
gotok365
2
150
"config" ってなんだ? / What is "config"?
okashoi
0
240
try! Swift Tokyo 2024 参加報告 / try! Swift Tokyo 2024 Report
hironytic
0
200
Snowflakeで眠ったデータを起こそう!
estie
0
120
Featured
See All Featured
Fantastic passwords and where to find them - at NoRuKo
philnash
37
2.5k
[RailsConf 2023] Rails as a piece of cake
palkan
23
3.9k
Fashionably flexible responsive web design (full day workshop)
malarkey
398
65k
The Art of Programming - Codeland 2020
erikaheidi
42
12k
A designer walks into a library…
pauljervisheath
200
23k
Clear Off the Table
cherdarchuk
84
310k
The World Runs on Bad Software
bkeepers
PRO
61
6.7k
The Invisible Side of Design
smashingmag
294
49k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
227
16k
How To Stay Up To Date on Web Technology
chriscoyier
782
250k
Building an army of robots
kneath
300
41k
How STYLIGHT went responsive
nonsquared
92
4.8k
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