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
将棋盤を画像認識したかった
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
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
830
RubyとJIT
naoys
0
180
Rust で乗り換え案内
naoys
0
650
疎行列と Jaccard 類似度の高速計算
naoys
1
680
有理数集合の濃度
naoys
2
160
YARVの最適化について調べた
naoys
0
160
転職会議サービスのAWS移行記録
naoys
0
92
Anonymous Recursion in C++
naoys
0
440
入門AlphaGo
naoys
5
3.8k
Other Decks in Technology
See All in Technology
Kiroで書いた 設計書 が AI レビューの 採点基準 になる
ezaki
0
140
コミットの「なぜ」を読む
ota1022
0
110
Flow 不死:AI 時代 DevOps 的不變本質
cheng_wei_chen
2
450
コミュニティの有益性 ~JAWS Days 2026 での体験を通して~ / The Benefits of a Community ~Through My Experience at JAWS Days 2026~
seike460
PRO
0
250
千葉での単身赴任からAWSをやり続け、千葉に戻ってきた話
yama3133
1
100
「軸足」は 固定しなくていい - 熱量と強みで描く、しなやかなキャリアの形
kakehashi
PRO
1
200
IaC コードを資産へ:AWS CDK 社内ライブラリと横断展開 / aws-summit-japan-2026
gotok365
10
1.5k
事業会社における 機械学習・推薦システム技術の活用事例と必要な能力 / ml-recsys-in-layerx-wantedly-2026
yuya4
0
110
[チョークトーク資料]AWS DevOps Agent を使いこなす / AWS Dev Ops Agent Chalk Talk AWS Summit Japan 2026
kinunori
3
720
【Cyber-sec+】経営層を"動かす"ための考え方
hssh2_bin
0
200
MUSUBI 田中裕一『AIと共に行う「しごとのリデザイン」- スモールバックオフィス編』AI Ops Lab #4
musubi
0
280
GitHub Copilot 最新アップデート – 「一歩先」の実践活用術
moulongzhang
5
1.6k
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
Rebuilding a faster, lazier Slack
samanthasiow
85
9.5k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Done Done
chrislema
186
16k
Exploring anti-patterns in Rails
aemeredith
3
420
Un-Boring Meetings
codingconduct
0
320
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
170
Paper Plane (Part 1)
katiecoart
PRO
0
9.2k
The Curse of the Amulet
leimatthew05
1
13k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
210
The Art of Programming - Codeland 2020
erikaheidi
57
14k
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