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
Deep Learningと超解像
Search
kmt-t
September 04, 2019
Programming
0
22
Deep Learningと超解像
kmt-t
September 04, 2019
Tweet
Share
More Decks by kmt-t
See All by kmt-t
組込エンジニアのための深層学習
kmt_t
1
18
Design by Contractとホーア論理
kmt_t
0
37
GCPと機械学習
kmt_t
1
47
進化するART
kmt_t
0
24
Other Decks in Programming
See All in Programming
RDoc meets YARD
okuramasafumi
4
170
Improving my own Ruby thereafter
sisshiki1969
1
160
ユーザーも開発者も悩ませない TV アプリ開発 ~Compose の内部実装から学ぶフォーカス制御~
taked137
0
190
Processing Gem ベースの、2D レトロゲームエンジンの開発
tokujiros
2
130
Reading Rails 1.0 Source Code
okuramasafumi
0
250
ProxyによるWindow間RPC機構の構築
syumai
3
1.2k
個人軟體時代
ethanhuang13
0
330
テストカバレッジ100%を10年続けて得られた学びと品質
mottyzzz
2
610
今だからこそ入門する Server-Sent Events (SSE)
nearme_tech
PRO
3
250
Design Foundational Data Engineering Observability
sucitw
3
200
デザイナーが Androidエンジニアに 挑戦してみた
874wokiite
0
550
JSONataを使ってみよう Step Functionsが楽しくなる実践テクニック #devio2025
dafujii
1
640
Featured
See All Featured
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Navigating Team Friction
lara
189
15k
RailsConf 2023
tenderlove
30
1.2k
Docker and Python
trallard
46
3.6k
We Have a Design System, Now What?
morganepeng
53
7.8k
Testing 201, or: Great Expectations
jmmastey
45
7.7k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.5k
Done Done
chrislema
185
16k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
Transcript
Deep Learningͱղ૾ ൃදऀ দӬ 1/57
ࣗݾհ • ໊લ : দӬ (kmt_t) • ৬ۀ :
ϓϩάϥϚ • ஶॻ : AndroidͷԾϚγϯ 2/57
ࣗݾհ • ઐ • ը૾ॲཧ (ओʹ࠷దԽ) • ίϯϐϡʔλάϥϑΟοΫε • ϑΝΠϧγεςϜ
• ԾϚγϯ • σΟʔϓϥʔχϯάͷࣄͨ·ʹͬͯ·͢ 3/57
σΟʔϓϥʔχϯά؆୯ͩʂ 4/57
ൃදͷҙࣄ߲ • ൃදऀ͕ࠐ։ൃऀͳͷͰࠐલఏͰ͠·͢ • ࣜɺܭࢉ΄ͱΜͲলུ͠·͢ • ಠࣗͷղऍɺཧతཪ͚ͷബ͍༰ؚ͕·Ε·͢ • εϥΠυͷຕ͕ଟ͍ͷͰएׯૣ͍ਐߦʹͳΓ·͢ 5/57
ൃදͷΞτϥΠϯ • લఏࣝ • σΟʔϓϥʔχϯάʁ • SRCNN • ೋޡࠩ •
ίϯϘϦϡʔγϣϯ 6/57
ൃදͷΞτϥΠϯ • վળ • ܭࢉྔͷ࠷దԽ • ͞ΒͳΔը࣭ͷվળ • ͱԠ༻ •
ੑೳධՁ 7/57
લఏࣝ 8/57
σΟʔϓϥʔχϯάʁ • ز͔ͭͷ͕͋Γɺ֊ʹͳ͍ͬͯΔ • ʹϊʔυ͕ͨ͘͞Μ͋Δ • Լͷͱͻͱ্ͭͷͷͯ͢ͷϊʔ υଓ͞Ε͍ͯΔ (શ݁߹) 9/57
σΟʔϓϥʔχϯάʁ • ଓॏΈΛ࣋ͪɺೖྗͷϊʔυͷ׆ ੑʹॏΈΛ͔͚ͨͷ͕ग़ྗͷϊʔυ ʹՃࢉ͞ΕΔ • ଓͷॏΈֶशʹΑΓௐ͞Εɺҙ ຯͷ͋Δग़ྗ͕ಘΒΕΔΑ͏ʹ͢Δ • ͜ΕΛχϡʔϥϧωοτϫʔΫͱݺͼɺ
֊͕ਂ͍ͷΛʮσΟʔϓϥʔχϯ άʯͱݺͿ 10/57
σΟʔϓϥʔχϯάͷֶश • ωοτϫʔΫͷग़ྗͱಘ͍ͨ݁ՌͷࠩΛʮޡࠩʯͱݺͿ • ޡ͕ࠩগͳ͘ͳΔΑ͏ʹωοτϫʔΫʹൖͤ͞ɺௐ͢Δ • ͜ͷௐΛʮόοΫϓϩύήʔγϣϯʯͱݺͿ 11/57
SRCNN 12/57
SRCNNͷհ • SRCNNχϡʔϥϧωοτϫʔΫΛͬͨղ૾ٕज़ • จʮImage Super-Resolution Using Deep Convolutional Networksʯ
• http://arxiv.org/abs/1501.00092 ※ waifu2xͰരൃతʹ༗໊ʹͳͬͨख๏ ※ waifu2x @ultraist ࢯ͕࡞ͬͨιϑτΣΞͰ͢ʂ 13/57
SRCNNͷޮՌ 14/57
SRCNNͷޮՌ 15/57
SRCNNจཁ ʮίϯϘϦϡʔγϣϯͯ͠ೋޡࠩΛͱΔͱղ૾Ͱ͖ΔΑʯ • ೋޡࠩͬͯʁ • ίϯϘϦϡʔγϣϯͬͯʁ 16/57
ೋޡࠩ • ೋޡࠩඪσʔλͱωοτϫʔΫͷग़ྗσʔλͷࠩͷೋ • ೋޡࠩͰͲΕ͙Β͍ඪͱҧ͏͔ܭࢉͰ͖Δ • ޡ͕ࠩখ͘͞ͳΔΑ͏ʹόοΫϓϩύήʔγϣϯͰֶश͢Δ • ༗໊ͳʮΦʔτΤϯίʔμʯೋޡࠩΛ͔ͭͬͯωοτϫʔ Ϋͷग़ྗ͔Βೖྗ͕෮ݩͰ͖ΔΑ͏ʹֶश͢Δ
17/57
ೋޡࠩΛֶͬͨशͷԠ༻ • ղ૾ • ϊΠζϦμΫγϣϯ • ৭ਂϋΠϏοτԽ • ௨ৗը૾ͷHDRԽ •
ϞϊΫϩը૾ͷϑϧΧϥʔԽ • ըॲཧҎ֎Ͱෆશͳσʔλ͔Βશͳσʔλ͕༧ଌͰ͖Δ 18/57
ίϯϘϦϡʔγϣϯ • ίϯϘϦϡʔγϣϯͱपลͷըૉʹ ॏΈΛ͔͚ͯ͢ • ݫີͳίϯϘϦϡʔγϣϯͷܭࢉํ ๏ޙͰઆ໌ • ੵܭࢉ͢Δը૾ͷൣғΛΟϯυ ͱݺͿ
• ίϯϘϦϡʔγϣϯσδλϧϑΟϧλ • ϑΟϧλͷ (ॏΈ) ΛόοΫϓϩ ύήʔγϣϯͰֶश͢Δ 19/57
SRCNNΞϧΰϦζϜ (ֶश) 1.ཧը૾ͱαΠζΛʹͯ͠2ഒʹֶͨ͠शը૾Λ༻ҙ 2.ֶशը૾ΛωοτϫʔΫͰͻͨ͢ΒίϯϘϦϡʔγϣϯ 3.ίϯϘϦϡʔγϣϯͨ͠ը૾ͱཧը૾ͷೋޡࠩΛͱΔ 4.όοΫϓϩύήʔγϣϯͰޡࠩௐ 20/57
SRCNNΞϧΰϦζϜ (ղ૾) 1.֦େ͍ͨ͠ը૾ͷαΠζΛ2ഒʹ͢Δ 2.ݩը૾Λֶशͨ͠ωοτϫʔΫͰͻΒ͢ΒίϯϘϦϡʔγϣϯ 3.͓ΘΓ 21/57
SRCNNͷΈ • ཧͷը૾ • ը૾ΛྼԽͤ͞Δؔ • Ϩϯζͷ৭ऩࠩ • ϞΞϨࢭ༻ͷϩʔύεϑΟϧλ •
JPEGϊΠζ • ྼԽͨ͠ը૾ 22/57
SRCNNͷΈ • ྼԽͨ͠ը૾Λݩʹ͢ ٯؔ • ͕͋Ε Λ ʹ͢͜ͱ͕Ͱ͖Δ • 23/57
SRCNNͷΈ • ٯؔ ͳΜͯଘࡏ͢Δͷ͔ʁܭࢉग़དྷΔͷ͔ʁ • ΛχϡʔϥϧωοτϫʔΫͰۙࣅ͢Δ • ΛٻΊΔͷʹԿͷςΫχοΫ͍Βͳ͍SRCNN • ٯؔ
ΛٻΊΔղ૾ͷख๏ଞʹ͋Δ 24/57
ܭࢉྔͷ࠷దԽ 25/57
ίϯϘϦϡʔγϣϯͷ ܭࢉྔ Οϯυ෯ ɹɹɹɹ× Οϯυ෯ ɹɹɹɹ× ೖྗνϟϯωϧ ɹɹɹɹ× ग़ྗνϟϯωϧ ɹɹɹɹʹ
1ϐΫηϧ͋ͨΓͷੵܭࢉճ 26/57
SRCNNܭࢉྔͷݮΒ͠ํ • ίϯϘϦϡʔγϣϯͷܭࢉྔΛܶతʹݮΒ͢ʹɺ • Οϯυ෯Λখ͘͢͞Δ (Ұ൪ޮՌ͋Γ) • ೖྗνϟϯωϧΛߜΔ • ग़ྗνϟϯωϧΛߜΔ
• ࠷ѱͳͷͯ͢ͷύϥϝʔλ͕େ͖͍έʔε • ܭࢉྔΛؾʹ͢ΔͳΒ͍ͣΕ͔ͷύϥϝʔλΛߜΔ 27/57
SRCNN࠷దԽ • ίϯϘϦϡʔγϣϯϑΟϧλͷՄࢹԽ • νϟωϧؒͷ݁߹ͷධՁ 28/57
SRCNN࠷దԽͷίπ • ֊͕ઙ͍΄͏͕ޡ͕ࠩೖྗଆͷ·Ͱ͏·͘ൖ͢Δ • ग़ྗଆͷνϟϯωϧ͕ଟ͗͢Δͱೖྗଆʹޡ͕ࠩ͠ͳ͍ • ೖྗଆ·ͰޡࠩΛൖͤ͞ΔʹֶशճΛ૿͢ • ೖྗଆͷΟϯυ͍ํ͕͍͍͕͗͢Δͱֶशࠔ •
࣍ͷʹࢀর͞Εͳ͍νϟϯωϧ͕͋Δͱνϟϯωϧ͕ଟ͗͢ 29/57
waifu2xͷωοτϫʔΫઃܭ • ܭࢉྔͷ߹ܭʹ • ͨͩ͠ը૾Λ2ഒʹ͢Δ߹ܭࢉྔ͕΄΅1/4 30/57
࠷దԽޙͷωοτϫʔΫߏ • 7͔Β4ʹมߋ • PSNRྼԽ͢Δ͕ࢹ֮తʹڐ༰ൣғ (ओ؍ʹΑΔ) 31/57
ܭࢉྔ͕۩ମతʹΠϝʔδग़དྷͳ͍ • 1TFLOPSͷܭࢉػͰϑϧHDը૾Λॲཧ͢ΔͱԿඵʁ • GeForce GTX 480 ͩͱ 1.345TFLOPS •
ͻͱੲલͷGPU͕ͩͦΕͰࠓͷΈࠐΈDSPͳͲΑΓڧྗ 32/57
ܭࢉྔ͕۩ମతʹΠϝʔδग़དྷͳ͍ • waifu2x • 54ສੵܭࢉ/ϐΫηϧ • 1920x1080ϐΫηϧ/1133ms@1TFLOPS • ࠷దԽޙ •
2.3ສੵܭࢉ/ϐΫηϧ • 1920x1080ϐΫηϧ/48ms@1TFLOPS 33/57
ͦΕͰଟ͗͢Δܭࢉྔ • ࠷దԽޙͰΈࠐΈʹΈࠐΉʹͭΒ͍ܭࢉྔ • ͱ͍͏ͷͷϥϯμϜΞΫηεͳ͠ɺ͔ͭฒྻԽ૬؆୯ 34/57
ΈࠐΈ։ൃͷԠ༻ͷ՝ • ଳҬͳϝϞϦ͕ͳ͍ͱͭΒ͍ • ղ૾ΑΓ؆୯ͳλεΫͳΒܭࢉྔ·ͩݮΒͤΔ • ؆୯ͳλεΫʹ৭ௐิਖ਼ɺϊΠζআڈɺϋΠϏοτԽ͋ͨΓ • ϓϩάϥϜ։ൃඇৗʹ؆୯ͳͷͰͳ͍ 35/57
͞ΒͳΔը࣭ͷվળ 36/57
ࣝผϞσϧͱੜϞσϧ • ࣝผϞσϧ • ର͕Կ͔Λྨɺࣝผ͢ΔͨΊͷϞσϧ • ੜϞσϧ • ༩͑ΒΕͨύϥϝʔλ͔ΒσʔλΛੜ͢Δ •
ҰൠతʹࣝผϞσϧΛ͔ͭͬͨԠ༻͕ଟ͍ • ࣮ੜϞσϧ͕͍ʂ 37/57
Generative Adversarial Networks • GANͰ༩͑ΒΕͨύϥϝʔλ͔Βը૾ Λੜ͢Δ • ύϥϝʔλ͝ͱʹҙຯ͕͋Γɺੜ͞ ΕΔը૾ͷ੍ޚՄೳ •
http://qiita.com/rezoolab/ items/5cc96b6d31153e0c86bc 38/57
GANͷΞϧΰϦζϜ • ύϥϝʔλ͔ΒσʔλΛੜ͢Δੜث • σʔλͷຊͬΆ͞Λఆ͢Δࣝผث 39/57
GANͷΞϧΰϦζϜ 1.ੜث༩͑ΒΕͨύϥϝʔλ͔ΒσʔλΛੜ͢Δ 2.ࣝผثੜ͞ΕͨσʔλͷຊͬΆ͞Λఆ͢Δ 3.ຊͬΆ͘ͳ͍߹͍Λޡࠩͱͯ͠ੜثʹֶशͤ͞Δ 4.ࣝผثಉ࣌ʹຊͬΆ͞ͷఆΛֶश͢Δ Ҏ্Λ܁Γฦ͢ͱͦΕͬΆ͍σʔλ͕ੜ͞ΕΔ 40/57
ੜϞσϧͷԠ༻ • ఏҊख๏ : SRCNNʴੜϞσϧ • ࣮ͳ༧ʴΑΓߴͳωοτϫʔΫ͔ΒͷΞυόΠε • ΞϧΰϦζϜ •
SRCNNͷޡࠩʹࣝผثͷఆΛՃࢉ͢Δ 41/57
SRCNNʴGANͷޮՌ • SRCNNݻ༗ͷบ͕Ωϟϯηϧ͞ΕΔ • ਓͷ͔Βݟͨࣗવ͞ͷվળ • पಛੑͷվળ • ୯ମͷωοτϫʔΫͰࠔͳֶश͕Մೳ •
ωοτϫʔΫͷදݱྗͷݶքΛҾ͖ग़͢ 42/57
SRCNNʴGANͷ • ֶशʹ͕͔͔࣌ؒ͘͢͝Δ • ࣝผثͷֶशͷ΄͏͕ॏ͍ • ࣝผثͷஅͰੜث͕ߟ͑͜ΉͷͰऩଋͮ͠Β͍ • ࣝผثͷੑೳͰը࣭ͷ͕ܾ·Δ •
ղ૾ʹ͔͔Δ࣌ؒΛֶशʹసՇ͍ͯ͠Δ 43/57
SRCNNʴGANͷޮՌ 44/57
SRCNNʴGANͷޮՌ 45/57
SRCNNʴGANͷ෭࡞༻ • ߴपΛେ෯ʹΔͨΊɺϦοϓϧ͕ൃੜ͍͢͠ • ϦοϓϧܰݮʹࣝผثʹϦοϓϧΛݟഁΒͤ͞Δ • ࣝผثੜثΑΓݡ͘͢Δ • ࣝผثֶशϑΣʔζʹ͔͠ΘΕͳ͍ •
ࣝผثͷॲཧ͕ͯ͘ղ૾ॲཧʹແؔ 46/57
ͱԠ༻ 47/57
SRCNNͷ • ωοτϫʔΫ͕ಛఆͷλεΫɺը૾δϟϯϧʹґଘ͢Δ • ΠϥετͰֶशͨ͠ωοτϫʔΫΛࣸਅͰ͏ͱഁ͢Δ • ը૾δϟϯϧ͝ͱʹωοτϫʔΫΛมߋ͢Δඞཁ͋Δ 48/57
SRCNNͷ • ΠϥετϨʔγϣϯͱࣸਅͷҧ͍ • Πϥετཧঢ়ଶͷը૾Λ༻ҙ͢Δͷ͕ඇৗʹ༰қ • ͦͷͨΊSRCNNͷαϯϓϧը૾Πϥετ͕ଟ͍ • ཧͷը૾ΛࡱӨͰ͖ΔΧϝϥ࣮ࡏ͠ͳ͍ 49/57
ࣸਅͷԠ༻ • ཧͷࣸਅը૾࡞ • ΧϝϥϝʔΧʔͰͳ͚Εແཧ • झຯͰΔ͜ͱͰͳ͍ • ࣗఘΊͨ 50/57
ࣸਅͷԠ༻ • ཧը૾ΛྼԽͤͯ͞ղ૾લը૾ͱ͢Δ • ཧը૾Λղ૾લͷը૾ʹม͢Δ • JPEGͰྼԽͤ͞Δ • ϊΠζΛՃ͢Δ 51/57
ࣸਅͷԠ༻ • पಛੑΛσδλϧϑΟϧλͰྼԽͤ͞Δ • ϨϯζͳͲΧϝϥͷಛੑʹґଘ͢Δ • ղ૾͍ͨ͠ΧϝϥͷϨϯζಛੑΛܭଌ͢Δ • ଌఆͨ͠ಛੑΛσδλϧϑΟϧλͰ࠶ݱ͢Δ •
ۚଐεϦοτࡱӨʁ • ϗϫΠτϊΠζࡱӨʁ 52/57
ੑೳධՁ 53/57
ൃදख๏ͷੑೳධՁ 54/57
ൃදख๏ͷੑೳධՁ • ը࣭ධՁʹPSNR͕Α͘ΘΕΔ • ࠷େըૉʹରͯ͠ޡ͕ࠩͲΕ͙Β͍͋Δ͔ • ͕େ͖͍΄Ͳը࣭͕Α͍ • • 55/57
ൃදख๏ͷੑೳධՁ • SRCNN+GANఆྔతͳੑೳత͕ѱ͍ • SRCNN+GANੜϞσϧͳͷͰৄࡉ Ͷͭ 56/57
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠ Կ͔࣭ʁ 57/57