Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
将棋盤を画像認識したかった
Search
na-o-ys
April 26, 2017
Technology
1.6k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
将棋盤を画像認識したかった
na-o-ys
April 26, 2017
More Decks by na-o-ys
See All by na-o-ys
IoTと監視
naoys
1
840
RubyとJIT
naoys
0
190
Rust で乗り換え案内
naoys
0
660
疎行列と Jaccard 類似度の高速計算
naoys
1
690
有理数集合の濃度
naoys
2
160
YARVの最適化について調べた
naoys
0
170
転職会議サービスのAWS移行記録
naoys
0
95
Anonymous Recursion in C++
naoys
0
450
入門AlphaGo
naoys
5
3.8k
Other Decks in Technology
See All in Technology
自律型 AI をセキュアに実装!Gemini と MIG で作る動的コード実行環境
recruitengineers
PRO
1
230
継続的なAIコスト最適化
bgpat
1
220
メルペイ 会計システム概要と歴史
mewuto
0
190
生成AIを使って「人が」考える技術 ― AI時代の人機共想と実践ノウハウ|UNITT AC2026
ishiirikie
0
560
ミイダス株式会社 テックチームのご紹介 / MIIDAS Tech Team
miidas
0
170
分析AIエージェントを育てる、動く環境を育てる
codatum
0
300
購入ドメインでの課題と取り組み
ykagano
0
150
20260930_Gemma4_Hands-on
tsho
0
240
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
140
FOSS4Gを活用した自治体業務DXの試み
470715
0
120
freeeらしさをAIとともに作る / Creating the freee Experience with AI
ymrl
0
210
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
570
Featured
See All Featured
Side Projects
sachag
456
43k
New Earth Scene 8
popppiees
4
2.7k
We Are The Robots
honzajavorek
0
390
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
540
Six Lessons from altMBA
skipperchong
29
4.5k
The World Runs on Bad Software
bkeepers
PRO
72
12k
We Have a Design System, Now What?
morganepeng
55
8.4k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
570
How to Think Like a Performance Engineer
csswizardry
28
2.9k
Building the Perfect Custom Keyboard
takai
2
900
Build your cross-platform service in a week with App Engine
jlugia
234
19k
Why Our Code Smells
bkeepers
PRO
340
58k
Transcript
কع൫Λ ը૾ೝ͔ࣝͨͬͨ͠ 0x64ޠreboot ୈ2ʮػցֶशʯ @na_o_ys
Γ͍ͨ͜ͱ 9 8 7 6 5 4 3 2 1
+---------------------------+ |v香v桂 ・ ・ ・ ・ ・ ・ ・|一 | ・ ・ ・ 馬 ・ ・ 龍 ・ ・|二 | ・ ・v玉 ・v歩 ・ ・ ・ ・|三 |v歩 ・ ・ ・v金 ・ ・ ・ ・|四 | ・ ・v銀 ・ ・ ・v歩 ・ ・|五 | ・ ・ ・ ・ 玉 ・ ・ ・ ・|六 | 歩 歩 ・ 歩 歩v歩 歩 ・ 歩|七 | ・ ・ ・ ・ ・ ・ ・ ・ ・|八 | 香 桂v金 ・v金 ・ ・ 桂 香|九 +---------------------------+ Input Output
ྲྀΕ • 1. Ϛεຖͷը૾Λநग़͢Δ • ը૾ॲཧ • 2. Ϛεͷ༰ (ۭ
or ۨͷใ) Λਪఆ͢Δ • ػցֶश
1. Ϛεຖͷը૾Λநग़͢Δ
Ϛεຖͷը૾Λநग़͢Δ • ·ͣɺকع൫ͷ࠲ඪऔಘ -> ͦͯ͠ɺਖ਼໘ਤʹม -> ࠷ޙʹɺϚεຖʹը૾ׂ
࢛۱ͷ࠲ඪΛಛఆͰ͖Εউͪ • ʮ؆୯Ͱ͠ΐʁʯ -> ͔ͬͨ͠…
͍ΖΜͳಛݕग़ख๏ (OpenCV) Τοξݕग़ ྠֲݕग़ ઢݕग़
ख๏ • ྠֲݕग़ + ઢݕग़ + ম͖ͳ·͠๏
ྠֲݕग़ • ݕग़͞Εͨྠֲͷू߹ʹରͯ͠ɺ (ਖ਼ํܗͬΆ͞ && ໘ੵͷେ͖͞) Ͱ͖͍͠Λઃ͚Εɺ େࡶͳྠֲ͕औΕΔ • ͽͬͨΓʹͳΒͳ͍ͷͰɺ͔͜͜Βম͖ͳ·͠๏ͰͽͬͨΓΛ୳͢
ম͖ͳ·͠๏ • ઢݕग़ͷ݁ՌΛ͏ • ܩઢ͕Α͘औΕͯΔͷͰ • ίετؔ f Λ༻ҙ͢Δ •
f (࢛۱ͷ࠲ඪީิ, ઢݕग़݁Ռ) = ܩઢͷͽͬͨΓ۩߹ • ࠲ඪΛৼಈͤ͞ͳ͕Βίετؔͷ࠷খΛ୳͢ • scipy ͷম͖ͳ·͠๏Ϟδϡʔϧ
(DEMO)
2. Ϛεͷ༰Λਪఆ͢Δ
Ϛεͷ༰Λਪఆ͢Δ • DeepLearning ͠·͢! • ڭࢣσʔλΛूΊΔ -> χϡʔϥϧωοτϫʔΫΛఆٛ͢Δ -> ֶशͤ͞Δ
ڭࢣσʔλΛूΊΔ • Google ը૾ݕࡧ ʮকعɹۨʯ
ۨຖʹτϦϛϯάʢྗʣ
ڭࢣσʔλ֦ு • 700ຕ͘Β͍͔͠ू·Βͳ͔ͬͨ • Γͳ͍ͷͰֶश࣌ʹϊΠζΛՃ͑ͯσʔλΛ૿͢ 700ຕ ճస/֦େ/ॖখ 700 * N
ຕ૬
χϡʔϥϧωοτϫʔΫΛఆٛ ͢Δ • CNN (ΈࠐΈ3 + શ݁߹2) • ϋΠύʔύϥϝʔλͷৄࡉɺखॻ͖ࣈೝࣝ 98.5
% ͷͭΛਅࣅ͢Δ https://github.com/KyotoSunshine/CNN-for-handwritten-kanji ը૾ग़య: http://personal.ie.cuhk.edu.hk/~ccloy/project_target_code/index.html
NNఆٛͷιʔε model = Sequential() model.add(Conv2D(32, kernel_size=(3, 3), activation='relu', input_shape=input_shape)) model.add(MaxPooling2D(pool_size=(2,
2))) model.add(Dropout(0.2)) model.add(Conv2D(64, kernel_size=(3, 3), activation='relu', input_shape=input_shape)) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Dropout(0.3)) model.add(Conv2D(128, kernel_size=(3, 3), activation='relu', input_shape=input_shape)) model.add(MaxPooling2D(pool_size=(2, 2))) model.add(Dropout(0.4)) model.add(Flatten()) model.add(Dense(256, activation='relu')) model.add(Dropout(0.5)) model.add(Dense(256, activation='relu')) model.add(Dropout(0.5)) model.add(Dense(num_classes, activation='softmax')) model.summary() • Keras Λͬͨ
ֶशͤ͞Δ • ڭࢣσʔλ: 700 ຕ (+ σʔλ֦ு) • ΤϙοΫ: 80
• Πϯελϯε: p2.xlarge (1 GPU, 4 CPU, 61 GB RAM) • -> ֶश࣌ؒ 15 ͘Β͍
(DEMO) • ςετσʔλ(ֶशʹ༻͍͍ͯͳ͍ۨछ)ʹΑΔݕূ: ਖ਼ղ 95.8 % ޭ ࣦഊ యܕతͳσβΠϯͷۜɾܡ ผՄೳ
ಠಛͳϑΥϯτผՄೳ (൚ԽͰ͖͍ͯΔ) σβΠϯʹΑͬͯۜɾܡɾۚͷ ผ͕Ͱ͖ͳ͍ʢਖ਼ղۜʣ ่Ε͗ͨ͢ϑΥϯτผͰ͖ͳ͍ ʢਖ਼ղ߳ʣ
·ͱΊ • ൫໘ݕग़: ྠֲݕग़ + ઢݕग़ + ম͖ͳ·͠๏ • ম͖ͳ·͠ʹ10ඵ͔͔Δͷ͕ωοΫ
• Ϛε༰ਪఆ: CNN • ςετσʔλͰ 95 % ఔ • 99.9 % ·ͩԕ͍
λεΫ1 ۜ/ܡ/ۚͷࣝผ • ୯Ұͷۨը૾͚͔ͩΒࣝผ͢ΔͷʢਓؒͰʣෆՄೳ • ਓؒ൫্ʹݟ͑Δଞͷ͔ۨΒɺσβΠϯͷΛਪఆ͍ͯ͠Δʁ • ͚ۨͩͰͳ͘ɺ(ۨ, [ώϯτۨ]) Λೖྗͱ͢Δ
NN Λߏங͢ΕՄೳʁ ۚʁۜʁܡʁ -> σβΠϯʹΑͬͯͲͪΒ͋Γ͑Δ
λεΫ2 ࣋ͪۨͷݕग़ • ࣋ͪۨྖҬΛఆٛ: • ઌख: ൫໘ͷӈ/Լ • ޙख: ൫໘ͷࠨ/্
• ҙͷҐஔʹ͋Δۨͷݕग़ٕज़͕ ඞཁ • Object Detection